<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/thread_native.h, branch v2_1_5</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>* thread_native.h: add rb_nativethread_self() which returns</title>
<updated>2013-07-23T10:46:37+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-07-23T10:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b2bcef7294d1a65363773cfc97ade6bd286ee63a'/>
<id>b2bcef7294d1a65363773cfc97ade6bd286ee63a</id>
<content type='text'>
  current running native thread identifier.
* thread_[pthread|win32].c: implement rb_nativethread_self().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  current running native thread identifier.
* thread_[pthread|win32].c: implement rb_nativethread_self().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_native.h: added.</title>
<updated>2013-07-23T09:53:14+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-07-23T09:53:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bd058912da6ffef92a50fe759b1bae210ec82ea4'/>
<id>bd058912da6ffef92a50fe759b1bae210ec82ea4</id>
<content type='text'>
  Move native thread related lines from vm_core.h.
  And declare several functions "rb_nativethread_lock_*",
  manipulate locking.
* common.mk: add thread_native.h.
* thread.c: add functions "rb_nativethread_lock_*".
* thraed.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t
  to rb_nativethread_lock_t to make it clear that this lock is for
  native thraeds, not for ruby threads.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Move native thread related lines from vm_core.h.
  And declare several functions "rb_nativethread_lock_*",
  manipulate locking.
* common.mk: add thread_native.h.
* thread.c: add functions "rb_nativethread_lock_*".
* thraed.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t
  to rb_nativethread_lock_t to make it clear that this lock is for
  native thraeds, not for ruby threads.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
pe='hidden' name='h' value='v1_8_6_preview2'/><input type='hidden' name='id2' value='298180f0450df6e975057cc7e90b3ae3248586fc'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='h' value='v1_8_6_preview2'/><input type='hidden' name='id2' value='298180f0450df6e975057cc7e90b3ae3248586fc'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><div class='diffstat-header'><a href='/ruby.git/diff/?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>Diffstat</a></div><table summary='diffstat' class='diffstat'><tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.cvsignore</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.document</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.editorconfig?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.editorconfig</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.gdbinit?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.gdbinit</a></td><td class='right'>1346</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.gitattributes?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.gitattributes</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.gitignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.gitignore</a></td><td class='right'>212</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.indent.pro?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.indent.pro</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.travis.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>.travis.yml</a></td><td class='right'>412</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/BSDL?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>BSDL</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/CONTRIBUTING.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>CONTRIBUTING.md</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/COPYING?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>COPYING</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/COPYING.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>COPYING.ja</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ChangeLog?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ChangeLog</a></td><td class='right'>18831</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 20.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 79.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/GPL?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>GPL</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/KNOWNBUGS.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>KNOWNBUGS.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/LEGAL?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>LEGAL</a></td><td class='right'>833</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/LGPL?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>LGPL</a></td><td class='right'>504</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/Makefile.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>Makefile.in</a></td><td class='right'>601</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/NEWS?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>NEWS</a></td><td class='right'>612</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>README</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/README.EXT?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>README.EXT</a></td><td class='right'>1160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/README.EXT.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>README.EXT.ja</a></td><td class='right'>1259</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/README.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>README.ja</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/README.ja.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>README.ja.md</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>README.md</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ToDo?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ToDo</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/aclocal.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>aclocal.m4</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/addr2line.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>addr2line.c</a></td><td class='right'>2650</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.9%;'/><td class='none' style='width: 97.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/addr2line.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>addr2line.h</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/appveyor.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>appveyor.yml</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/array.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>array.c</a></td><td class='right'>6988</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.7%;'/><td class='rem' style='width: 5.8%;'/><td class='none' style='width: 92.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ast.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ast.c</a></td><td class='right'>757</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/basictest/runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>basictest/runner.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/basictest/test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>basictest/test.rb</a></td><td class='right'>2367</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.6%;'/><td class='none' style='width: 97.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bcc32/Makefile.sub?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bcc32/Makefile.sub</a></td><td class='right'>499</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bcc32/README.bcc32?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bcc32/README.bcc32</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/bcc32/configure.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bcc32/configure.bat</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/bcc32/mkexports.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bcc32/mkexports.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bcc32/setup.mak?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bcc32/setup.mak</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/README.md</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_answer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_answer.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_aobench.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_aobench.rb</a></td><td class='right'>291</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_erb.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_erb.yml</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_factorial.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_factorial.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_fib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_fib.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_lc_fizzbuzz.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_lc_fizzbuzz.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_mandelbrot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_mandelbrot.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_pentomino.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_pentomino.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_raise.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_raise.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_strconcat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_strconcat.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_tak.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_tak.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_tarai.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_tarai.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/app_uri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_uri.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k_10.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k_10.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k_11.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k_11.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k__100.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k__100.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k__1k.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k__1k.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k__6k.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k__6k.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k___10k.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k___10k.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sample_100k___50k.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k___50k.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_shift.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_shift.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_small_and.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_small_and.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_small_diff.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_small_diff.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_small_or.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_small_or.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sort_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sort_block.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_sort_float.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sort_float.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_values_at_int.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_values_at_int.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/array_values_at_range.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_values_at_range.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/bighash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/bighash.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/dir_empty_p.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/dir_empty_p.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/enum_lazy_grep_v_100.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_grep_v_100.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/enum_lazy_grep_v_20.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_grep_v_20.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/enum_lazy_grep_v_50.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_grep_v_50.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/enum_lazy_uniq_100.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_uniq_100.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/enum_lazy_uniq_20.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_uniq_20.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/enum_lazy_uniq_50.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_uniq_50.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/erb_render.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/erb_render.yml</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/benchmark/fiber_chain.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/fiber_chain.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/file_chmod.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/file_chmod.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/file_rename.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/file_rename.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/aobench.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/aobench.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/binary_trees.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/binary_trees.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/gcbench.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/gcbench.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/hash1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/hash1.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/hash2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/hash2.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/null.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/null.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/pentomino.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/pentomino.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/rdoc.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/redblack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/redblack.rb</a></td><td class='right'>366</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/gc/ring.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/ring.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_dsym.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_dsym.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_dsym_long.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_dsym_long.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_fix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_fix.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_flo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_flo.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_miss.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_miss.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_str.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_str.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_sym.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_sym.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_aref_sym_long.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_sym_long.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_flatten.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_flatten.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_ident_flo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_flo.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_ident_num.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_num.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_ident_obj.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_obj.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_ident_str.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_str.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_ident_sym.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_sym.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_keys.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_keys.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_literal_small2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_literal_small2.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_literal_small4.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_literal_small4.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_literal_small8.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_literal_small8.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_long.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_long.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_shift.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_shift_u16.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift_u16.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_shift_u24.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift_u24.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_shift_u32.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift_u32.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_small2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_small2.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_small4.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_small4.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_small8.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_small8.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_to_proc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_to_proc.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/hash_values.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_values.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/int_quo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/int_quo.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_copy_stream_write.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_copy_stream_write.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_copy_stream_write_socket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_copy_stream_write_socket.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_file_create.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_file_create.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_file_read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_file_read.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_file_write.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_file_write.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_nonblock_noex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_nonblock_noex.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_nonblock_noex2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_nonblock_noex2.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_pipe_rw.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_pipe_rw.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_select.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_select2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_select2.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/io_select3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_select3.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/output/driver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/output/driver.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/cstime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/cstime.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/cutime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/cutime.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/peak.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/peak.rb</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/size.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/stime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/stime.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/total.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/total.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/utime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/utime.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/benchmark/lib/load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/load.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/loop_for.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_for.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/loop_generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_generator.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/loop_times.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_times.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/loop_whileloop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_whileloop.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/loop_whileloop2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_whileloop2.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/marshal_dump_flo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/marshal_dump_flo.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/marshal_dump_load_geniv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/marshal_dump_load_geniv.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/marshal_dump_load_time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/marshal_dump_load_time.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/ack.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.pl</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/ack.py?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.py</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/ack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/ack.scm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.scm</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/eval.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fact.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.pl</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fact.py?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.py</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fact.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fact.scm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.scm</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fib.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.pl</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fib.py?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.py</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/fib.scm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.scm</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/loop.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.pl</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/loop.py?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.py</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/loop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/loop.scm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.scm</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/loop2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop2.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/tak.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.pl</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/tak.py?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.py</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/tak.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/other-lang/tak.scm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.scm</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/require.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/require.yml</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/require_thread.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/require_thread.yml</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/securerandom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/securerandom.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_ackermann.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_ackermann.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_array.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_array.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_binary_trees.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_binary_trees.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_concatenate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_concatenate.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_count_words.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_count_words.yml</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_exception.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_fannkuch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_fannkuch.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_fasta.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_fasta.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_k_nucleotide.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_k_nucleotide.yml</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_lists.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_lists.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_mandelbrot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_mandelbrot.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_matrix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_matrix.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_meteor_contest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_meteor_contest.rb</a></td><td class='right'>563</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_nbody.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nbody.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_nested_loop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nested_loop.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_nsieve.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nsieve.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_nsieve_bits.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nsieve_bits.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_object.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_partial_sums.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_partial_sums.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_pidigits.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_pidigits.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_random.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_random.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_reverse_complement.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_reverse_complement.yml</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_sieve.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_sieve.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/so_spectralnorm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_spectralnorm.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/string_index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/string_index.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/string_scan_re.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/string_scan_re.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/string_scan_str.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/string_scan_str.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/time_subsec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/time_subsec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_attr_ivar.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_attr_ivar.yml</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_attr_ivar_set.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_attr_ivar_set.yml</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_block.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_block.yml</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_blockparam.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_blockparam_call.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam_call.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_blockparam_pass.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam_pass.yml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_blockparam_yield.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam_yield.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_const.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_const.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_ensure.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_ensure.yml</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_float_simple.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_float_simple.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_short_lived.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_lived.yml</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_short_with_complex_long.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_with_complex_long.yml</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_short_with_long.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_with_long.yml</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_short_with_symbol.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_with_symbol.yml</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_wb_ary.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_ary.yml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_wb_ary_promoted.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_ary_promoted.yml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_wb_obj.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_obj.yml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_gc_wb_obj_promoted.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_obj_promoted.yml</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_ivar.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_ivar.yml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_ivar_set.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_ivar_set.yml</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_length.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_length.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_lvar_init.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_lvar_init.yml</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_lvar_set.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_lvar_set.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_neq.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_neq.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_not.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_not.yml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_rescue.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_rescue.yml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_simplereturn.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_simplereturn.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_swap.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_swap.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm1_yield.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_yield.yml</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_array.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_array.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_bigarray.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_bigarray.yml</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_bighash.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_bighash.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_case.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_case.yml</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_case_lit.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_case_lit.yml</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_defined_method.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_defined_method.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_dstr.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_dstr.yml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_eval.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_eval.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_fiber_switch.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_fiber_switch.yml</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_freezestring.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_freezestring.yml</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_method.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_method.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_method_missing.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_method_missing.yml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_method_with_block.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_method_with_block.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_module_ann_const_set.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_module_ann_const_set.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_module_const_set.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_module_const_set.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_mutex.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_mutex.yml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_newlambda.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_newlambda.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_poly_method.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_poly_method.yml</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_poly_method_ov.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_poly_method_ov.yml</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_poly_singleton.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_poly_singleton.yml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_proc.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_proc.yml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_raise1.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_raise1.yml</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_raise2.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_raise2.yml</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_regexp.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_regexp.yml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_send.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_send.yml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_string_literal.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_string_literal.yml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_big_aref_hi.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_aref_hi.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_big_aref_lo.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_aref_lo.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_big_aset.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_aset.yml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_big_href_hi.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_href_hi.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_big_href_lo.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_href_lo.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_big_hset.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_hset.yml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_small_aref.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_aref.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_small_aset.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_aset.yml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_small_href.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_href.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_struct_small_hset.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_hset.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_super.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_super.yml</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_unif1.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_unif1.yml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm2_zsuper.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_zsuper.yml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm3_backtrace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_backtrace.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm3_clearmethodcache.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_clearmethodcache.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm3_gc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm3_gc_old_full.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc_old_full.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm3_gc_old_immediate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc_old_immediate.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm3_gc_old_lazy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc_old_lazy.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_symbol_block_pass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_symbol_block_pass.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_alive_check1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_alive_check1.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_close.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_close.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_condvar1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_condvar1.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_condvar2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_condvar2.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_create_join.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_create_join.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_mutex1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_mutex1.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_mutex2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_mutex2.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_mutex3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_mutex3.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_pass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_pass.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_pass_flood.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_pass_flood.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_pipe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_pipe.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_queue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_queue.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue2.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue3.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue4.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue4.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/bignum.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bignum.c</a></td><td class='right'>7860</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 7.0%;'/><td class='none' style='width: 91.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/bin/bundle?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/bundle</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/bin/bundler?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/bundler</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/bin/erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/erb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/bin/gem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/gem</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/bin/irb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/irb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/bin/rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/rdoc</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/bin/ri?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/ri</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/bin/testrb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/testrb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/pending.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/pending.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/bootstraptest/runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/runner.rb</a></td><td class='right'>519</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_attr.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_autoload.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_block.rb</a></td><td class='right'>613</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_class.rb</a></td><td class='right'>169</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_env.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_env.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_eval.rb</a></td><td class='right'>324</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_exception.rb</a></td><td class='right'>432</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_finalizer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_finalizer.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_flip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_flip.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_flow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_flow.rb</a></td><td class='right'>601</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_fork.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_fork.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_gc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_gc.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_insns.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_insns.rb</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_io.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_io.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_jump.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_jump.rb</a></td><td class='right'>308</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_literal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_literal.rb</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_literal_suffix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_literal_suffix.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_load.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_marshal.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_massign.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_massign.rb</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_method.rb</a></td><td class='right'>1192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_objectspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_objectspace.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_proc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_proc.rb</a></td><td class='right'>483</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_string.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_struct.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_syntax.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_syntax.rb</a></td><td class='right'>904</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/bootstraptest/test_thread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_thread.rb</a></td><td class='right'>484</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/build_assert/build_assert.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/build_assert/build_assert.h</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/check_type/check_type.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/check_type/check_type.h</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/container_of/container_of.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/container_of/container_of.h</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/licenses/BSD-MIT?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/licenses/BSD-MIT</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/licenses/CC0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/licenses/CC0</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/list/list.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/list/list.h</a></td><td class='right'>788</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ccan/str/str.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/str/str.h</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/class.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>class.c</a></td><td class='right'>2064</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 1.7%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/common.mk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>common.mk</a></td><td class='right'>3228</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 3.2%;'/><td class='none' style='width: 96.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/compar.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>compar.c</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/compile.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>compile.c</a></td><td class='right'>10125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 10.9%;'/><td class='none' style='width: 89.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/complex.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>complex.c</a></td><td class='right'>2300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.5%;'/><td class='none' style='width: 97.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/config.guess?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>config.guess</a></td><td class='right'>1459</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/config.sub?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>config.sub</a></td><td class='right'>1537</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/configure.ac?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>configure.ac</a></td><td class='right'>4060</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.4%;'/><td class='none' style='width: 95.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/configure.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>configure.in</a></td><td class='right'>1655</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/constant.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>constant.h</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/cont.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>cont.c</a></td><td class='right'>2140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 97.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/amd64/Context.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/amd64/Context.S</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/amd64/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/amd64/Context.h</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/arm32/Context.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm32/Context.S</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/arm32/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm32/Context.h</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/arm64/Context.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm64/Context.S</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/arm64/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm64/Context.h</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/ppc64le/Context.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/ppc64le/Context.S</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/ppc64le/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/ppc64le/Context.h</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/win32/Context.asm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win32/Context.asm</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/win32/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win32/Context.h</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/win64/Context.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win64/Context.S</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/win64/Context.asm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win64/Context.asm</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/win64/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win64/Context.h</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/x86/Context.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/x86/Context.S</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coroutine/x86/Context.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/x86/Context.h</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/coverage/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>coverage/README</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/cygwin/GNUmakefile.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>cygwin/GNUmakefile.in</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/debug.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>debug.c</a></td><td class='right'>227</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/debug_counter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>debug_counter.c</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/debug_counter.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>debug_counter.h</a></td><td class='right'>283</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/defines.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defines.h</a></td><td class='right'>259</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/gmake.mk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/gmake.mk</a></td><td class='right'>205</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/id.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/id.def</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/keywords?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/keywords</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/known_errors.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/known_errors.def</a></td><td class='right'>157</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/lex.c.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/lex.c.src</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/opt_insn_unif.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/opt_insn_unif.def</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/opt_operand.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/opt_operand.def</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/separated_version.mk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/separated_version.mk</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/defs/universal.mk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/universal.mk</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/dir.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dir.c</a></td><td class='right'>2876</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 96.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/djgpp/GNUmakefile.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>djgpp/GNUmakefile.in</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/djgpp/README.djgpp?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>djgpp/README.djgpp</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/djgpp/config.hin?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>djgpp/config.hin</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/djgpp/config.sed?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>djgpp/config.sed</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/djgpp/configure.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>djgpp/configure.bat</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/djgpp/mkver.sed?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>djgpp/mkver.sed</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/dln.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dln.c</a></td><td class='right'>948</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/dln.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dln.h</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/dln_find.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dln_find.c</a></td><td class='right'>290</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/dmydln.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dmydln.c</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/dmyenc.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dmyenc.c</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/dmyext.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>dmyext.c</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/.document</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-0.06_to_0.52?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-0.06_to_0.52</a></td><td class='right'>1147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-0.50_to_0.60?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-0.50_to_0.60</a></td><td class='right'>462</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-0.60_to_1.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-0.60_to_1.1</a></td><td class='right'>3955</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.3%;'/><td class='none' style='width: 95.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/doc/ChangeLog-1.8.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-1.8.0</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-1.9.3?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-1.9.3</a></td><td class='right'>92772</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 100.0%;'/><td class='none' style='width: 0.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-2.0.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.0.0</a></td><td class='right'>24015</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 25.9%;'/><td class='none' style='width: 74.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-2.1.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.1.0</a></td><td class='right'>18060</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 19.5%;'/><td class='none' style='width: 80.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-2.2.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.2.0</a></td><td class='right'>12157</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 13.1%;'/><td class='none' style='width: 86.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-2.3.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.3.0</a></td><td class='right'>12187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 13.1%;'/><td class='none' style='width: 86.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-2.4.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.4.0</a></td><td class='right'>9492</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 10.2%;'/><td class='none' style='width: 89.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-2016?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2016</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/ChangeLog-YARV?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-YARV</a></td><td class='right'>6917</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.5%;'/><td class='none' style='width: 92.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/NEWS?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS</a></td><td class='right'>837</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-1.8.7?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.8.7</a></td><td class='right'>669</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-1.9.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.9.1</a></td><td class='right'>429</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-1.9.2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.9.2</a></td><td class='right'>509</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-1.9.3?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.9.3</a></td><td class='right'>341</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-2.0.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.0.0</a></td><td class='right'>530</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-2.1.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.1.0</a></td><td class='right'>376</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-2.2.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.2.0</a></td><td class='right'>361</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-2.3.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.3.0</a></td><td class='right'>404</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-2.4.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.4.0</a></td><td class='right'>397</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/NEWS-2.5.0?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.5.0</a></td><td class='right'>567</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/contributing.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/contributing.rdoc</a></td><td class='right'>459</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/contributors.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/contributors.rdoc</a></td><td class='right'>793</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/dtrace_probes.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/dtrace_probes.rdoc</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/etc.rd.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/etc.rd.ja</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/extension.ja.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/extension.ja.rdoc</a></td><td class='right'>1833</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.0%;'/><td class='none' style='width: 98.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/extension.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/extension.rdoc</a></td><td class='right'>1959</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/forwardable.rd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/forwardable.rd</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/doc/forwardable.rd.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/forwardable.rd.ja</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/globals.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/globals.rdoc</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/images/boottime-classes.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/images/boottime-classes.png</a></td><td class='right'>bin</td><td class='graph'>28677 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/doc/irb/irb-tools.rd.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/irb/irb-tools.rd.ja</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/irb/irb.rd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/irb/irb.rd</a></td><td class='right'>392</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/doc/irb/irb.rd.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/irb/irb.rd.ja</a></td><td class='right'>378</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/keywords.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/keywords.rdoc</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/maintainers.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/maintainers.rdoc</a></td><td class='right'>296</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/marshal.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/marshal.rdoc</a></td><td class='right'>313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/pty/README.expect.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/pty/README.expect.ja</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/pty/README.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/pty/README.ja</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/regexp.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/regexp.rdoc</a></td><td class='right'>709</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/security.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/security.rdoc</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/shell.rd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/shell.rd</a></td><td class='right'>348</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/doc/shell.rd.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/shell.rd.ja</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/signals.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/signals.rdoc</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/standard_library.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/standard_library.rdoc</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax.rdoc</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/assignment.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/assignment.rdoc</a></td><td class='right'>454</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/calling_methods.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/calling_methods.rdoc</a></td><td class='right'>371</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/control_expressions.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/control_expressions.rdoc</a></td><td class='right'>499</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/exceptions.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/exceptions.rdoc</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/literals.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/literals.rdoc</a></td><td class='right'>396</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/methods.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/methods.rdoc</a></td><td class='right'>459</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/miscellaneous.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/miscellaneous.rdoc</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/modules_and_classes.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/modules_and_classes.rdoc</a></td><td class='right'>344</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/precedence.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/precedence.rdoc</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/syntax/refinements.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/syntax/refinements.rdoc</a></td><td class='right'>285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/yarvarch.en?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/yarvarch.en</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/doc/yarvarch.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/yarvarch.ja</a></td><td class='right'>454</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/Makefile.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/Makefile.in</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/ascii.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/ascii.c</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/big5.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/big5.c</a></td><td class='right'>376</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/cp949.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/cp949.c</a></td><td class='right'>222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/depend</a></td><td class='right'>758</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/ebcdic.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/ebcdic.h</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/emacs_mule.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/emacs_mule.c</a></td><td class='right'>342</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/encdb.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/encdb.c</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/encinit.c.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/encinit.c.erb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/euc_jp.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/euc_jp.c</a></td><td class='right'>616</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/euc_kr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/euc_kr.c</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/euc_tw.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/euc_tw.c</a></td><td class='right'>228</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/gb18030.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/gb18030.c</a></td><td class='right'>603</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/gb2312.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/gb2312.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/gbk.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/gbk.c</a></td><td class='right'>225</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_2022_jp.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_2022_jp.h</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859.h</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_1.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_1.c</a></td><td class='right'>322</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_10.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_10.c</a></td><td class='right'>294</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_11.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_11.c</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_13.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_13.c</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_14.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_14.c</a></td><td class='right'>305</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_15.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_15.c</a></td><td class='right'>296</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_16.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_16.c</a></td><td class='right'>300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_2.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_2.c</a></td><td class='right'>291</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_3.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_3.c</a></td><td class='right'>301</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_4.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_4.c</a></td><td class='right'>297</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_5.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_5.c</a></td><td class='right'>265</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_6.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_6.c</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_7.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_7.c</a></td><td class='right'>284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_8.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_8.c</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/iso_8859_9.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/iso_8859_9.c</a></td><td class='right'>290</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/jis/props.h.blt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/jis/props.h.blt</a></td><td class='right'>217</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/jis/props.kwd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/jis/props.kwd</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/jis/props.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/jis/props.src</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/koi8_r.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/koi8_r.c</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/koi8_u.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/koi8_u.c</a></td><td class='right'>224</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/enc/make_encmake.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/make_encmake.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/mktable.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/mktable.c</a></td><td class='right'>1184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/shift_jis.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/shift_jis.c</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/shift_jis.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/shift_jis.h</a></td><td class='right'>546</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/CP/CP932UDA%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/CP/CP932UDA%UCS.src</a></td><td class='right'>1912</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/CP/CP932VDC@IBM%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/CP/CP932VDC@IBM%UCS.src</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/CP/CP932VDC@NEC_IBM%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/CP/CP932VDC@NEC_IBM%UCS.src</a></td><td class='right'>406</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/CP/UCS%25CP932UDA.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/CP/UCS%CP932UDA.src</a></td><td class='right'>1912</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/CP/UCS%25CP932VDC@IBM.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/CP/UCS%CP932VDC@IBM.src</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/CP/UCS%25CP932VDC@NEC_IBM.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/CP/UCS%CP932VDC@NEC_IBM.src</a></td><td class='right'>406</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/EMOJI_ISO-2022-JP-KDDI%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/EMOJI_ISO-2022-JP-KDDI%UCS.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/EMOJI_SHIFT_JIS-DOCOMO%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/EMOJI_SHIFT_JIS-DOCOMO%UCS.src</a></td><td class='right'>293</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI%UCS.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI-UNDOC%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI-UNDOC%UCS.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/EMOJI_SHIFT_JIS-SOFTBANK%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/EMOJI_SHIFT_JIS-SOFTBANK%UCS.src</a></td><td class='right'>496</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/UCS%25EMOJI_ISO-2022-JP-KDDI-UNDOC.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/UCS%EMOJI_ISO-2022-JP-KDDI-UNDOC.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/UCS%25EMOJI_ISO-2022-JP-KDDI.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/UCS%EMOJI_ISO-2022-JP-KDDI.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-DOCOMO.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-DOCOMO.src</a></td><td class='right'>293</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-KDDI-UNDOC.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-KDDI-UNDOC.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-KDDI.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-KDDI.src</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-SOFTBANK.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-SOFTBANK.src</a></td><td class='right'>496</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/GB/GB12345%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/GB/GB12345%UCS.src</a></td><td class='right'>7567</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 8.2%;'/><td class='none' style='width: 91.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/GB/GB2312%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/GB/GB2312%UCS.src</a></td><td class='right'>7470</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 8.1%;'/><td class='none' style='width: 91.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/GB/UCS%25GB12345.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/GB/UCS%GB12345.src</a></td><td class='right'>7569</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 8.2%;'/><td class='none' style='width: 91.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/GB/UCS%25GB2312.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/GB/UCS%GB2312.src</a></td><td class='right'>7466</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 8.0%;'/><td class='none' style='width: 92.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0201-KANA%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0201-KANA%UCS.src</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0208@1990%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0208@1990%UCS.src</a></td><td class='right'>6964</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.5%;'/><td class='none' style='width: 92.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0208@MS%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0208@MS%UCS.src</a></td><td class='right'>6893</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.4%;'/><td class='none' style='width: 92.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0208UDC%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0208UDC%UCS.src</a></td><td class='right'>954</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0208VDC@NEC%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0208VDC@NEC%UCS.src</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0212%UCS.src</a></td><td class='right'>6159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 6.6%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212@MS%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0212@MS%UCS.src</a></td><td class='right'>6081</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 6.6%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212UDC%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0212UDC%UCS.src</a></td><td class='right'>954</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212VDC@IBM%25UCS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0212VDC@IBM%UCS.src</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0213-1%25UCS@BMP.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0213-1%UCS@BMP.src</a></td><td class='right'>1926</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0213-1%25UCS@SIP.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0213-1%UCS@SIP.src</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0213-2%25UCS@BMP.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0213-2%UCS@BMP.src</a></td><td class='right'>2193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/JISX0213-2%25UCS@SIP.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/JISX0213-2%UCS@SIP.src</a></td><td class='right'>311</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0201-KANA.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0201-KANA.src</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0208@1990.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0208@1990.src</a></td><td class='right'>6965</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.5%;'/><td class='none' style='width: 92.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0208@MS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0208@MS.src</a></td><td class='right'>6894</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.4%;'/><td class='none' style='width: 92.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0208UDC.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0208UDC.src</a></td><td class='right'>955</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0208VDC@NEC.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0208VDC@NEC.src</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0212.src</a></td><td class='right'>6163</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 6.6%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212@MS.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0212@MS.src</a></td><td class='right'>6082</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 6.6%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212UDC.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0212UDC.src</a></td><td class='right'>955</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212VDC@IBM.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS%JISX0212VDC@IBM.src</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS@BMP%25JISX0213-1.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS@BMP%JISX0213-1.src</a></td><td class='right'>1922</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS@BMP%25JISX0213-2.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS@BMP%JISX0213-2.src</a></td><td class='right'>2189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS@SIP%25JISX0213-1.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS@SIP%JISX0213-1.src</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/JIS/UCS@SIP%25JISX0213-2.src?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/JIS/UCS@SIP%JISX0213-2.src</a></td><td class='right'>307</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/big5-hkscs-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/big5-hkscs-tbl.rb</a></td><td class='right'>37302</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 40.2%;'/><td class='none' style='width: 59.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/big5-uao-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/big5-uao-tbl.rb</a></td><td class='right'>19784</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 21.3%;'/><td class='none' style='width: 78.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/big5.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/big5.trans</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/chinese.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/chinese.trans</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/cp850-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/cp850-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/cp852-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/cp852-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/cp855-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/cp855-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/cp949-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/cp949-tbl.rb</a></td><td class='right'>8831</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 9.5%;'/><td class='none' style='width: 90.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ebcdic.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ebcdic.trans</a></td><td class='right'>278</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/emoji-exchange-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/emoji-exchange-tbl.rb</a></td><td class='right'>8407</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 9.1%;'/><td class='none' style='width: 90.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/emoji.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/emoji.trans</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/emoji_iso2022_kddi.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/emoji_iso2022_kddi.trans</a></td><td class='right'>216</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/emoji_sjis_docomo.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/emoji_sjis_docomo.trans</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/emoji_sjis_kddi.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/emoji_sjis_kddi.trans</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/emoji_sjis_softbank.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/emoji_sjis_softbank.trans</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/escape.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/escape.trans</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/euckr-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/euckr-tbl.rb</a></td><td class='right'>8230</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 8.9%;'/><td class='none' style='width: 91.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/gb18030-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/gb18030-tbl.rb</a></td><td class='right'>63362</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 68.3%;'/><td class='none' style='width: 31.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/gb18030.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/gb18030.trans</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/gbk-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/gbk-tbl.rb</a></td><td class='right'>21794</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 23.5%;'/><td class='none' style='width: 76.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/gbk.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/gbk.trans</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm437-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm437-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm737-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm737-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm775-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm775-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm852-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm852-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm855-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm855-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm857-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm857-tbl.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm860-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm860-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm861-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm861-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm862-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm862-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm863-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm863-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm865-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm865-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm866-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm866-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ibm869-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ibm869-tbl.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-1-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-1-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-10-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-10-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-11-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-11-tbl.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-13-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-13-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-14-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-14-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-15-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-15-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-16-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-16-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-2-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-2-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-3-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-3-tbl.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-4-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-4-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-5-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-5-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-6-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-6-tbl.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-7-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-7-tbl.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-8-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-8-tbl.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso-8859-9-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso-8859-9-tbl.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/iso2022.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/iso2022.trans</a></td><td class='right'>567</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/japanese.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/japanese.trans</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/japanese_euc.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/japanese_euc.trans</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/japanese_sjis.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/japanese_sjis.trans</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/koi8-r-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/koi8-r-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/koi8-u-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/koi8-u-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/korean.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/korean.trans</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/maccroatian-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/maccroatian-tbl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/maccyrillic-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/maccyrillic-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/macgreek-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/macgreek-tbl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/maciceland-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/maciceland-tbl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/macroman-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/macroman-tbl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/macromania-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/macromania-tbl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/macturkish-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/macturkish-tbl.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/macukraine-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/macukraine-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/newline.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/newline.trans</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/single_byte.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/single_byte.trans</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/tis-620-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/tis-620-tbl.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/transdb.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/transdb.c</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ucm/glibc-BIG5-2.3.3.ucm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ucm/glibc-BIG5-2.3.3.ucm</a></td><td class='right'>14087</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 15.2%;'/><td class='none' style='width: 84.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ucm/glibc-BIG5HKSCS-2.3.3.ucm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ucm/glibc-BIG5HKSCS-2.3.3.ucm</a></td><td class='right'>18332</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 19.8%;'/><td class='none' style='width: 80.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ucm/windows-950-2000.ucm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ucm/windows-950-2000.ucm</a></td><td class='right'>20379</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 22.0%;'/><td class='none' style='width: 78.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/ucm/windows-950_hkscs-2001.ucm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/ucm/windows-950_hkscs-2001.ucm</a></td><td class='right'>23446</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 25.3%;'/><td class='none' style='width: 74.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/utf8_mac-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/utf8_mac-tbl.rb</a></td><td class='right'>23154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 25.0%;'/><td class='none' style='width: 75.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/utf8_mac.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/utf8_mac.trans</a></td><td class='right'>256</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/utf_16_32.trans?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/utf_16_32.trans</a></td><td class='right'>556</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1250-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1250-tbl.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1251-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1251-tbl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1252-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1252-tbl.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1253-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1253-tbl.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1254-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1254-tbl.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1255-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1255-tbl.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1256-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1256-tbl.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-1257-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-1257-tbl.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/trans/windows-874-tbl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/trans/windows-874-tbl.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/unicode.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/unicode.c</a></td><td class='right'>816</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/unicode/11.0.0/casefold.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/unicode/11.0.0/casefold.h</a></td><td class='right'>7485</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 8.1%;'/><td class='none' style='width: 91.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/unicode/11.0.0/name2ctype.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/unicode/11.0.0/name2ctype.h</a></td><td class='right'>39943</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 43.1%;'/><td class='none' style='width: 56.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/enc/unicode/case-folding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/unicode/case-folding.rb</a></td><td class='right'>418</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/us_ascii.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/us_ascii.c</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_16_32.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_16_32.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_16be.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_16be.c</a></td><td class='right'>256</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_16le.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_16le.c</a></td><td class='right'>248</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_32be.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_32be.c</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_32le.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_32le.c</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_7.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_7.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/utf_8.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/utf_8.c</a></td><td class='right'>449</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_1250.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_1250.c</a></td><td class='right'>271</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_1251.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_1251.c</a></td><td class='right'>253</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_1252.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_1252.c</a></td><td class='right'>260</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_1253.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_1253.c</a></td><td class='right'>297</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_1254.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_1254.c</a></td><td class='right'>302</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_1257.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_1257.c</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/windows_31j.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/windows_31j.c</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enc/x_emoji.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enc/x_emoji.h</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/encindex.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>encindex.h</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/encoding.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>encoding.c</a></td><td class='right'>1984</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/enum.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enum.c</a></td><td class='right'>4109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 3.9%;'/><td class='none' style='width: 95.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/enumerator.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>enumerator.c</a></td><td class='right'>3330</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.6%;'/><td class='none' style='width: 96.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/env.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>env.h</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/error.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>error.c</a></td><td class='right'>3158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 96.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/eval.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>eval.c</a></td><td class='right'>13617</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 13.4%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 85.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/eval_error.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>eval_error.c</a></td><td class='right'>438</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/eval_intern.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>eval_intern.h</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/eval_jump.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>eval_jump.c</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/arith_seq/extract/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/arith_seq/extract/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/arith_seq/extract/extract.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/arith_seq/extract/extract.c</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/array/resize/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/array/resize/depend</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/array/resize/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/array/resize/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/array/resize/resize.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/array/resize/resize.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/auto_ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/auto_ext.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/big2str.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/big2str.c</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/bigzero.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/bigzero.c</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/depend</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/div.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/div.c</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/intpack.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/intpack.c</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/mul.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/mul.c</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bignum/str2big.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bignum/str2big.c</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bug-3571/bug.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bug-3571/bug.c</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bug-3571/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bug-3571/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bug-5832/bug.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bug-5832/bug.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bug-5832/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bug-5832/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bug_reporter/bug_reporter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bug_reporter/bug_reporter.c</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/bug_reporter/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/bug_reporter/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/class/class2name.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/class/class2name.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/class/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/class/depend</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/class/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/class/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/class/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/class/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/debug/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/debug/depend</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/debug/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/debug/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/debug/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/debug/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/debug/inspector.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/debug/inspector.c</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/debug/profile_frames.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/debug/profile_frames.c</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/dln/empty/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/dln/empty/depend</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/dln/empty/empty.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/dln/empty/empty.c</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/dln/empty/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/dln/empty/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/exception/dataerror.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/exception/dataerror.c</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/exception/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/exception/depend</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/exception/enc_raise.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/exception/enc_raise.c</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/exception/ensured.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/exception/ensured.c</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/exception/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/exception/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/exception/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/exception/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/fatal/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/fatal/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/fatal/rb_fatal.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/fatal/rb_fatal.c</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/file/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/file/depend</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/file/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/file/extconf.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/file/fs.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/file/fs.c</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/file/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/file/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/file/stat.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/file/stat.c</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/float/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/float/depend</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/float/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/float/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/float/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/float/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/float/nextafter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/float/nextafter.c</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/funcall/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/funcall/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/funcall/funcall.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/funcall/funcall.c</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/gvl/call_without_gvl/call_without_gvl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/gvl/call_without_gvl/call_without_gvl.c</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/gvl/call_without_gvl/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/gvl/call_without_gvl/depend</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/gvl/call_without_gvl/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/gvl/call_without_gvl/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/hash/delete.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/hash/delete.c</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/hash/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/hash/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/hash/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/hash/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/integer/core_ext.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/integer/core_ext.c</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/integer/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/integer/depend</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/integer/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/integer/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/integer/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/integer/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/integer/my_integer.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/integer/my_integer.c</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/iseq_load/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/iseq_load/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/iseq_load/iseq_load.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/iseq_load/iseq_load.c</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/iter/break.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/iter/break.c</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/iter/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/iter/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/iter/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/iter/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/iter/yield.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/iter/yield.c</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/load/dot.dot/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/load/dot.dot/depend</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/load/dot.dot/dot.dot.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/load/dot.dot/dot.dot.c</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/load/dot.dot/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/load/dot.dot/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/load/protect/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/load/protect/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/load/protect/protect.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/load/protect/protect.c</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/marshal/compat/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/marshal/compat/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/marshal/compat/usrcompat.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/marshal/compat/usrcompat.c</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/marshal/internal_ivar/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/marshal/internal_ivar/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/marshal/internal_ivar/internal_ivar.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/marshal/internal_ivar/internal_ivar.c</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/marshal/usr/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/marshal/usr/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/marshal/usr/usrmarshal.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/marshal/usr/usrmarshal.c</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/memory_status/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/memory_status/extconf.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/memory_status/memory_status.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/memory_status/memory_status.c</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/method/arity.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/method/arity.c</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/method/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/method/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/method/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/method/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/notimplement/bug.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/notimplement/bug.c</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/notimplement/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/notimplement/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/num2int/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/num2int/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/num2int/num2int.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/num2int/num2int.c</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/path_to_class/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/path_to_class/extconf.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/path_to_class/path_to_class.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/path_to_class/path_to_class.c</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/popen_deadlock/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/popen_deadlock/extconf.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/popen_deadlock/infinite_loop_dlsym.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/popen_deadlock/infinite_loop_dlsym.c</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/postponed_job/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/postponed_job/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/postponed_job/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/postponed_job/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/postponed_job/postponed_job.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/postponed_job/postponed_job.c</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/printf/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/printf/depend</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/printf/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/printf/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/printf/printf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/printf/printf.c</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/proc/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/proc/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/proc/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/proc/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/proc/receiver.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/proc/receiver.c</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/proc/super.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/proc/super.c</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/rational/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/rational/depend</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/rational/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/rational/extconf.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/rational/rat.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/rational/rat.c</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/recursion/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/recursion/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/recursion/recursion.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/recursion/recursion.c</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/regexp/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/regexp/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/regexp/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/regexp/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/regexp/parse_depth_limit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/regexp/parse_depth_limit.c</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/-test-/scan_args/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/scan_args/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/scan_args/scan_args.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/scan_args/scan_args.c</a></td><td class='right'>286</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/st/foreach/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/st/foreach/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/st/foreach/foreach.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/st/foreach/foreach.c</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/st/numhash/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/st/numhash/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/st/numhash/numhash.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/st/numhash/numhash.c</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/st/update/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/st/update/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/st/update/update.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/st/update/update.c</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/capacity.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/capacity.c</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/coderange.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/coderange.c</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/cstr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/cstr.c</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/depend</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/ellipsize.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/ellipsize.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/enc_associate.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/enc_associate.c</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/enc_str_buf_cat.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/enc_str_buf_cat.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/fstring.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/fstring.c</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/modify.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/modify.c</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/new.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/new.c</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/nofree.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/nofree.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/normalize.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/normalize.c</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/qsort.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/qsort.c</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/string/set_len.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/string/set_len.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/struct/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/struct/depend</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/struct/duplicate.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/struct/duplicate.c</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/struct/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/struct/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/struct/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/struct/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/struct/len.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/struct/len.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/struct/member.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/struct/member.c</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/symbol/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/symbol/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/symbol/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/symbol/init.c</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/symbol/type.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/symbol/type.c</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/thread_fd_close/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/thread_fd_close/depend</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/thread_fd_close/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/thread_fd_close/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/thread_fd_close/thread_fd_close.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/thread_fd_close/thread_fd_close.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/time/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/time/depend</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/time/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/time/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/time/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/time/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/time/leap_second.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/time/leap_second.c</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/time/new.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/time/new.c</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/tracepoint/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/tracepoint/depend</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/tracepoint/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/tracepoint/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/tracepoint/gc_hook.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/tracepoint/gc_hook.c</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/tracepoint/tracepoint.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/tracepoint/tracepoint.c</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/typeddata/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/typeddata/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/typeddata/typeddata.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/typeddata/typeddata.c</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/vm/at_exit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/vm/at_exit.c</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/vm/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/vm/depend</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/vm/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/vm/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/wait_for_single_fd/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/wait_for_single_fd/depend</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/wait_for_single_fd/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/wait_for_single_fd/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/wait_for_single_fd/wait_for_single_fd.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/wait_for_single_fd/wait_for_single_fd.c</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/console/attribute.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/console/attribute.c</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/console/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/console/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/console/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/console/extconf.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/console/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/console/init.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/dln/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/dln/depend</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/dln/dlntest.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/dln/dlntest.c</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/dln/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/dln/extconf.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/dln/libdlntest.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/dln/libdlntest.c</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/dln/libdlntest.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/dln/libdlntest.def</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/fd_setsize/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/fd_setsize/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/fd_setsize/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/fd_setsize/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/-test-/win32/fd_setsize/fd_setsize.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/-test-/win32/fd_setsize/fd_setsize.c</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/.cvsignore</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/.document</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/Setup?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Setup</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/Setup.atheos?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Setup.atheos</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Setup.dj?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Setup.dj</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Setup.emx?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Setup.emx</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/Setup.nt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Setup.nt</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Setup.x68?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Setup.x68</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/Win32API.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/Win32API.c</a></td><td class='right'>215</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/extconf.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/getch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/getch.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/lib/win32/registry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/lib/win32/registry.rb</a></td><td class='right'>831</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/lib/win32/resolv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/lib/win32/resolv.rb</a></td><td class='right'>366</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/Win32API/point.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/Win32API/point.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/bigdecimal/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/bigdecimal/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/README</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/bigdecimal.c</a></td><td class='right'>7384</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.0%;'/><td class='rem' style='width: 5.0%;'/><td class='none' style='width: 92.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/bigdecimal.def</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/bigdecimal.gemspec</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/bigdecimal.h</a></td><td class='right'>310</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal_en.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/bigdecimal_en.html</a></td><td class='right'>796</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal_ja.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/bigdecimal_ja.html</a></td><td class='right'>799</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/depend</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/extconf.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/bigdecimal/lib/bigdecimal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/lib/bigdecimal.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/lib/bigdecimal/jacobian.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/lib/bigdecimal/jacobian.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/lib/bigdecimal/ludcmp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/lib/bigdecimal/ludcmp.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/lib/bigdecimal/math.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/lib/bigdecimal/math.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/lib/bigdecimal/newton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/lib/bigdecimal/newton.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/lib/bigdecimal/util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/lib/bigdecimal/util.rb</a></td><td class='right'>171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/sample/linear.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/sample/linear.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/sample/nlsolve.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/sample/nlsolve.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/bigdecimal/sample/pi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/sample/pi.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/bigdecimal/util/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/util/extconf.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/bigdecimal/util/util.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/bigdecimal/util/util.c</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/cgi/escape/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/cgi/escape/depend</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/cgi/escape/escape.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/cgi/escape/escape.c</a></td><td class='right'>422</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/cgi/escape/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/cgi/escape/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/continuation/continuation.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/continuation/continuation.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/continuation/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/continuation/depend</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/continuation/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/continuation/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/coverage/coverage.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/coverage/coverage.c</a></td><td class='right'>341</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/coverage/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/coverage/depend</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/coverage/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/coverage/extconf.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/coverage/lib/coverage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/coverage/lib/coverage.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/curses.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/curses.c</a></td><td class='right'>2101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/extconf.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/hello.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/hello.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/mouse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/mouse.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/rain.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/rain.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/view.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/view.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/curses/view2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/curses/view2.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/date.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/date.gemspec</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/date_core.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/date_core.c</a></td><td class='right'>9686</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 10.4%;'/><td class='none' style='width: 89.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/date_parse.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/date_parse.c</a></td><td class='right'>3014</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.2%;'/><td class='none' style='width: 96.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/date_strftime.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/date_strftime.c</a></td><td class='right'>638</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/date_strptime.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/date_strptime.c</a></td><td class='right'>704</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/date_tmx.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/date_tmx.h</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/depend</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/extconf.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/lib/date.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/lib/date.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/prereq.mk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/prereq.mk</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/zonetab.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/zonetab.h</a></td><td class='right'>895</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/date/zonetab.list?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/date/zonetab.list</a></td><td class='right'>181</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dbm/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dbm/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/dbm/dbm.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dbm/dbm.c</a></td><td class='right'>771</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/dbm/dbm.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dbm/dbm.gemspec</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/dbm/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dbm/depend</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/dbm/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dbm/extconf.rb</a></td><td class='right'>287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/bubblebabble/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/bubblebabble/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/bubblebabble/bubblebabble.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/bubblebabble/bubblebabble.c</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/bubblebabble/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/bubblebabble/depend</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/bubblebabble/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/bubblebabble/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/defs.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/defs.h</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/depend</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/digest.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/digest.c</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/digest.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/digest.h</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/digest/digest_conf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/digest_conf.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/lib/digest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/lib/digest.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/lib/md5.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/lib/md5.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/lib/sha1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/lib/sha1.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/md5/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/md5/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/depend</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/md5/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/extconf.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/md5/md5.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/md5.c</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/md5/md5.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/md5.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/digest/md5/md5cc.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/md5cc.h</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/md5/md5init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/md5init.c</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/md5/md5ossl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/md5ossl.c</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/md5/md5ossl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/md5/md5ossl.h</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/rmd160/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/rmd160/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/depend</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/rmd160/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/extconf.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/rmd160/rmd160.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/rmd160.c</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/rmd160/rmd160.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/rmd160.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/rmd160/rmd160init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/rmd160init.c</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/rmd160/rmd160ossl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/rmd160ossl.c</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/rmd160/rmd160ossl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/rmd160/rmd160ossl.h</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/sha1/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha1/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/depend</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha1/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/extconf.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha1/sha1.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/sha1.c</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha1/sha1.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/sha1.h</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/digest/sha1/sha1cc.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/sha1cc.h</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha1/sha1init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/sha1init.c</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/sha1/sha1ossl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/sha1ossl.c</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha1/sha1ossl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha1/sha1ossl.h</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/digest/sha2/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha2/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/depend</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha2/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/extconf.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha2/lib/sha2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/lib/sha2.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha2/sha2.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/sha2.c</a></td><td class='right'>312</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha2/sha2.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/sha2.h</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/digest/sha2/sha2cc.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/sha2cc.h</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/digest/sha2/sha2init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/sha2init.c</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/digest/sha2/sha2ossl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/digest/sha2/sha2ossl.h</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/.cvsignore</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/depend</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/dl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/dl.c</a></td><td class='right'>728</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/dl.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/dl.def</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/dl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/dl.h</a></td><td class='right'>313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/doc/dl.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/doc/dl.txt</a></td><td class='right'>266</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/extconf.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/h2rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/h2rb</a></td><td class='right'>500</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/handle.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/handle.c</a></td><td class='right'>215</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/install.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/install.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/lib/dl/import.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/lib/dl/import.rb</a></td><td class='right'>225</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/lib/dl/struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/lib/dl/struct.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/lib/dl/types.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/lib/dl/types.rb</a></td><td class='right'>245</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/lib/dl/win32.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/lib/dl/win32.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/mkcall.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/mkcall.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/mkcallback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/mkcallback.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/mkcbtable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/mkcbtable.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/ptr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/ptr.c</a></td><td class='right'>1067</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/c++sample.C?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/c++sample.C</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/c++sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/c++sample.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/drives.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/drives.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/getch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/getch.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/libc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/libc.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/msgbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/msgbox.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/msgbox2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/msgbox2.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sample/stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sample/stream.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/sym.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/sym.c</a></td><td class='right'>992</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/test/libtest.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/test/libtest.def</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/test/test.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/test/test.c</a></td><td class='right'>247</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/test/test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/test/test.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/dl/type.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/dl/type.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/enumerator/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/enumerator/.cvsignore</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/enumerator/enumerator.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/enumerator/enumerator.c</a></td><td class='right'>298</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/enumerator/enumerator.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/enumerator/enumerator.txt</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/enumerator/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/enumerator/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/etc/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/etc/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/depend</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/etc/etc.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/etc.c</a></td><td class='right'>1057</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/etc/etc.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/etc.gemspec</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/etc/etc.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/etc.txt</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/etc/etc.txt.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/etc.txt.ja</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/etc/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/extconf.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/etc/mkconstants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/etc/mkconstants.rb</a></td><td class='right'>340</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/ext/extmk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/extmk.rb</a></td><td class='right'>648</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fcntl/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fcntl/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/fcntl/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fcntl/depend</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/fcntl/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fcntl/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/fcntl/fcntl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fcntl/fcntl.c</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fcntl/fcntl.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fcntl/fcntl.gemspec</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiber/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiber/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiber/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiber/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiber/fiber.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiber/fiber.c</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/closure.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/closure.c</a></td><td class='right'>345</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/closure.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/closure.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/conversions.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/conversions.c</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/conversions.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/conversions.h</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/depend</a></td><td class='right'>156</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/extconf.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/extlibs?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/extlibs</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/fiddle.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/fiddle.c</a></td><td class='right'>454</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/fiddle.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/fiddle.gemspec</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/fiddle.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/fiddle.h</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/function.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/function.c</a></td><td class='right'>315</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/function.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/function.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/handle.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/handle.c</a></td><td class='right'>479</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/closure.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/closure.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/cparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/cparser.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/function.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/function.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/import.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/import.rb</a></td><td class='right'>322</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/pack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/pack.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/struct.rb</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/types.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/types.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/lib/fiddle/value.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/pointer.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/pointer.c</a></td><td class='right'>722</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/win32/fficonfig.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/win32/fficonfig.h</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/win32/libffi-3.2.1-mswin.patch?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/win32/libffi-3.2.1-mswin.patch</a></td><td class='right'>191</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/win32/libffi-config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/win32/libffi-config.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/fiddle/win32/libffi.mk.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/fiddle/win32/libffi.mk.tmpl</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/gdbm/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/gdbm/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/gdbm/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/gdbm/depend</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/gdbm/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/gdbm/extconf.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/gdbm/gdbm.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/gdbm/gdbm.c</a></td><td class='right'>551</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/gdbm/gdbm.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/gdbm/gdbm.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/iconv/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/iconv/.cvsignore</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/iconv/charset_alias.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/iconv/charset_alias.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/iconv/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/iconv/depend</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/iconv/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/iconv/extconf.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/iconv/iconv.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/iconv/iconv.c</a></td><td class='right'>910</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/io/console/buildgem.sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/buildgem.sh</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/console.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/console.c</a></td><td class='right'>1002</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/depend</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/extconf.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/io-console.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/io-console.gemspec</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/lib/console/size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/lib/console/size.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/win32_vk.chksum?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/win32_vk.chksum</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/win32_vk.inc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/win32_vk.inc</a></td><td class='right'>1391</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/console/win32_vk.list?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/console/win32_vk.list</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/nonblock/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/nonblock/depend</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/nonblock/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/nonblock/extconf.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/nonblock/nonblock.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/nonblock/nonblock.c</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/io/wait/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/wait/.cvsignore</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/io/wait/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/wait/depend</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/io/wait/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/wait/extconf.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/io/wait/lib/nonblock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/wait/lib/nonblock.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/io/wait/wait.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/io/wait/wait.c</a></td><td class='right'>248</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/fbuffer/fbuffer.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/fbuffer/fbuffer.h</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/generator/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/generator/depend</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/generator/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/generator/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/generator/generator.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/generator/generator.c</a></td><td class='right'>1444</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/generator/generator.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/generator/generator.h</a></td><td class='right'>171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/json.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/json.gemspec</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/bigdecimal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/bigdecimal.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/complex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/complex.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/core.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/core.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/date.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/date.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/date_time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/date_time.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/exception.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/ostruct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/ostruct.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/range.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/range.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/rational.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/rational.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/regexp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/regexp.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/struct.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/symbol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/symbol.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/add/time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/add/time.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/common.rb</a></td><td class='right'>456</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/ext.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/generic_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/generic_object.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/lib/json/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/lib/json/version.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/parser/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/parser/depend</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/parser/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/parser/extconf.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/parser/parser.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/parser/parser.c</a></td><td class='right'>2131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 97.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/parser/parser.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/parser/parser.h</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/parser/parser.rl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/parser/parser.rl</a></td><td class='right'>891</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/json/parser/prereq.mk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/json/parser/prereq.mk</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/nkf/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/depend</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/lib/kconv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/lib/kconv.rb</a></td><td class='right'>286</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/config.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/nkf-utf8/config.h</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/nkf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/nkf-utf8/nkf.c</a></td><td class='right'>10013</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.8%;'/><td class='rem' style='width: 6.0%;'/><td class='none' style='width: 89.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/nkf.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/nkf-utf8/nkf.h</a></td><td class='right'>189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/utf8tbl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/nkf-utf8/utf8tbl.c</a></td><td class='right'>7356</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 7.3%;'/><td class='none' style='width: 92.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/utf8tbl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/nkf-utf8/utf8tbl.h</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/nkf/nkf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/nkf/nkf.c</a></td><td class='right'>402</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/objspace/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/objspace/depend</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/objspace/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/objspace/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/objspace/object_tracing.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/objspace/object_tracing.c</a></td><td class='right'>500</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/objspace/objspace.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/objspace/objspace.c</a></td><td class='right'>977</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/objspace/objspace.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/objspace/objspace.h</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/objspace/objspace_dump.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/objspace/objspace_dump.c</a></td><td class='right'>517</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/openssl/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/.cvsignore</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/History.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/History.md</a></td><td class='right'>339</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/depend</a></td><td class='right'>1154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/deprecation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/deprecation.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/extconf.rb</a></td><td class='right'>222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/openssl/lib/net/ftptls.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/net/ftptls.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/openssl/lib/net/telnets.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/net/telnets.rb</a></td><td class='right'>248</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl/bn.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/bn.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl/buffering.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/buffering.rb</a></td><td class='right'>298</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl/cipher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/cipher.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/lib/openssl/config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/config.rb</a></td><td class='right'>474</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl/digest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/digest.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/lib/openssl/pkcs5.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/pkcs5.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/lib/openssl/pkey.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/pkey.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl/ssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/ssl.rb</a></td><td class='right'>453</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/lib/openssl/x509.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/lib/openssl/x509.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/openssl.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/openssl.gemspec</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/openssl_missing.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/openssl_missing.c</a></td><td class='right'>371</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/openssl_missing.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/openssl_missing.h</a></td><td class='right'>242</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl.c</a></td><td class='right'>1239</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl.h</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_asn1.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_asn1.c</a></td><td class='right'>1587</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_asn1.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_asn1.h</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_bio.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_bio.c</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_bio.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_bio.h</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_bn.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_bn.c</a></td><td class='right'>733</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_bn.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_bn.h</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_cipher.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_cipher.c</a></td><td class='right'>884</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_cipher.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_cipher.h</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_config.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_config.c</a></td><td class='right'>448</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_config.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_config.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_digest.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_digest.c</a></td><td class='right'>458</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_digest.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_digest.h</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_engine.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_engine.c</a></td><td class='right'>388</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_engine.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_engine.h</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_hmac.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_hmac.c</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_hmac.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_hmac.h</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/ossl_kdf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_kdf.c</a></td><td class='right'>319</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/ossl_kdf.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_kdf.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_ns_spki.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ns_spki.c</a></td><td class='right'>256</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_ns_spki.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ns_spki.h</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_ocsp.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ocsp.c</a></td><td class='right'>1647</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_ocsp.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ocsp.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkcs12.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkcs12.c</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkcs12.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkcs12.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkcs7.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkcs7.c</a></td><td class='right'>361</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkcs7.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkcs7.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkey.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkey.c</a></td><td class='right'>427</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkey.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkey.h</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkey_dh.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkey_dh.c</a></td><td class='right'>520</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkey_dsa.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkey_dsa.c</a></td><td class='right'>473</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/ossl_pkey_ec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkey_ec.c</a></td><td class='right'>1798</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.9%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_pkey_rsa.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_pkey_rsa.c</a></td><td class='right'>749</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_rand.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_rand.c</a></td><td class='right'>198</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_rand.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_rand.h</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_ssl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ssl.c</a></td><td class='right'>2925</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 2.7%;'/><td class='none' style='width: 96.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_ssl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ssl.h</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/openssl/ossl_ssl_session.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_ssl_session.c</a></td><td class='right'>332</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_version.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_version.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509.c</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509.h</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509attr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509attr.c</a></td><td class='right'>227</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509cert.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509cert.c</a></td><td class='right'>539</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509crl.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509crl.c</a></td><td class='right'>269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509ext.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509ext.c</a></td><td class='right'>259</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509name.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509name.c</a></td><td class='right'>386</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509req.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509req.c</a></td><td class='right'>231</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509revoked.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509revoked.c</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ossl_x509store.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ossl_x509store.c</a></td><td class='right'>598</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/openssl/ruby_missing.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/openssl/ruby_missing.h</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/pathname/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pathname/depend</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/pathname/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pathname/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/pathname/lib/pathname.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pathname/lib/pathname.rb</a></td><td class='right'>593</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/pathname/pathname.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pathname/pathname.c</a></td><td class='right'>1675</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/depend</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/extconf.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych.rb</a></td><td class='right'>641</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/class_loader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/class_loader.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/coder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/coder.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/core_ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/core_ext.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/exception.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/handler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/handler.rb</a></td><td class='right'>255</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/handlers/document_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/handlers/document_stream.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/handlers/recorder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/handlers/recorder.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/json/ruby_events.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/json/ruby_events.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/json/stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/json/stream.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/json/tree_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/json/tree_builder.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/json/yaml_events.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/json/yaml_events.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/alias.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/alias.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/document.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/mapping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/mapping.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/node.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/node.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/scalar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/scalar.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/sequence.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/sequence.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/nodes/stream.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/omap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/omap.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/parser.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/scalar_scanner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/scalar_scanner.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/set.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/stream.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/streaming.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/streaming.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/syntax_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/syntax_error.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/tree_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/tree_builder.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/versions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/versions.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/depth_first.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors/depth_first.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/emitter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors/emitter.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/json_tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors/json_tree.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/to_ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors/to_ruby.rb</a></td><td class='right'>401</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/visitor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors/visitor.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/yaml_tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/visitors/yaml_tree.rb</a></td><td class='right'>551</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/lib/psych/y.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/lib/psych/y.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych.c</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych.gemspec</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych.h</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_emitter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_emitter.c</a></td><td class='right'>555</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_emitter.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_emitter.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_parser.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_parser.c</a></td><td class='right'>592</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_parser.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_parser.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_to_ruby.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_to_ruby.c</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_to_ruby.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_to_ruby.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_yaml_tree.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_yaml_tree.c</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/psych_yaml_tree.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/psych_yaml_tree.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/api.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/api.c</a></td><td class='right'>1393</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/config.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/config.h</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/dumper.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/dumper.c</a></td><td class='right'>394</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/emitter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/emitter.c</a></td><td class='right'>2324</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.5%;'/><td class='none' style='width: 97.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/loader.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/loader.c</a></td><td class='right'>444</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/parser.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/parser.c</a></td><td class='right'>1370</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/reader.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/reader.c</a></td><td class='right'>469</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/scanner.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/scanner.c</a></td><td class='right'>3578</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.9%;'/><td class='none' style='width: 96.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/writer.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/writer.c</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/yaml.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/yaml.h</a></td><td class='right'>1971</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/psych/yaml/yaml_private.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/psych/yaml/yaml_private.h</a></td><td class='right'>688</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/README</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/README.expect?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/README.expect</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/README.expect.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/README.expect.ja</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/README.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/README.ja</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/pty/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/depend</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/expect_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/expect_sample.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/pty/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/extconf.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/pty/lib/expect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/lib/expect.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/pty/pty.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/pty.c</a></td><td class='right'>857</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/script.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/script.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/pty/shl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/pty/shl.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/racc/cparse/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/racc/cparse/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/racc/cparse/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/racc/cparse/README</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/racc/cparse/cparse.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/racc/cparse/cparse.c</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/racc/cparse/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/racc/cparse/depend</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/racc/cparse/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/racc/cparse/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/rbconfig/sizeof/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/rbconfig/sizeof/depend</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/rbconfig/sizeof/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/rbconfig/sizeof/extconf.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/readline/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/readline/.gitignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/.gitignore</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/readline/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/README</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/readline/README.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/README.ja</a></td><td class='right'>393</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/readline/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/depend</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/readline/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/extconf.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/readline/readline.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/readline/readline.c</a></td><td class='right'>2074</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/README</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/depend</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/eventids2.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/eventids2.c</a></td><td class='right'>307</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/extconf.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/lib/ripper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/lib/ripper.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/lib/ripper/core.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/lib/ripper/core.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/lib/ripper/filter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/lib/ripper/filter.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/lib/ripper/lexer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/lib/ripper/lexer.rb</a></td><td class='right'>245</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/lib/ripper/sexp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/lib/ripper/sexp.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/ripper/tools/dsl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/tools/dsl.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/ripper/tools/generate-param-macros.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/tools/generate-param-macros.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/ripper/tools/generate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/tools/generate.rb</a></td><td class='right'>171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/ripper/tools/preproc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/tools/preproc.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/ext/ripper/tools/strip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/ripper/tools/strip.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/rubyvm/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/rubyvm/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/rubyvm/lib/forwardable/impl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/rubyvm/lib/forwardable/impl.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/sdbm/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/sdbm/_sdbm.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/_sdbm.c</a></td><td class='right'>285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/sdbm/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/depend</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/sdbm/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/sdbm/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/init.c</a></td><td class='right'>767</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/sdbm/sdbm.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/sdbm.gemspec</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/sdbm/sdbm.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/sdbm/sdbm.h</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/socket/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/.document</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/addrinfo.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/addrinfo.h</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/ancdata.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/ancdata.c</a></td><td class='right'>1734</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.9%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/basicsocket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/basicsocket.c</a></td><td class='right'>757</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/constants.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/constants.c</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/depend</a></td><td class='right'>332</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/extconf.rb</a></td><td class='right'>703</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/getaddrinfo.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/getaddrinfo.c</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/getnameinfo.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/getnameinfo.c</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/ifaddr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/ifaddr.c</a></td><td class='right'>477</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/init.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/init.c</a></td><td class='right'>847</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/ipsocket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/ipsocket.c</a></td><td class='right'>381</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/lib/socket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/lib/socket.rb</a></td><td class='right'>1356</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/mkconstants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/mkconstants.rb</a></td><td class='right'>813</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/option.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/option.c</a></td><td class='right'>1477</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/raddrinfo.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/raddrinfo.c</a></td><td class='right'>2627</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.8%;'/><td class='none' style='width: 97.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/rubysocket.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/rubysocket.h</a></td><td class='right'>452</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/socket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/socket.c</a></td><td class='right'>5223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.2%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 94.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/socket/sockport.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/sockport.h</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/sockssocket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/sockssocket.c</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/tcpserver.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/tcpserver.c</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/tcpsocket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/tcpsocket.c</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/udpsocket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/udpsocket.c</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/unixserver.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/unixserver.c</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/socket/unixsocket.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/socket/unixsocket.c</a></td><td class='right'>596</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/stringio/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/stringio/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/README</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/stringio/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/README.md</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/stringio/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/depend</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/stringio/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/stringio/stringio.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/stringio.c</a></td><td class='right'>1273</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/stringio/stringio.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/stringio/stringio.gemspec</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/strscan/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/strscan/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/strscan/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/strscan/depend</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/strscan/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/strscan/extconf.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/strscan/strscan.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/strscan/strscan.c</a></td><td class='right'>499</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/strscan/strscan.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/strscan/strscan.gemspec</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/bytecode.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/bytecode.c</a></td><td class='right'>1166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/depend</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/emitter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/emitter.c</a></td><td class='right'>1242</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/extconf.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/gram.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/gram.c</a></td><td class='right'>1894</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/gram.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/gram.h</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/handler.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/handler.c</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/implicit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/implicit.c</a></td><td class='right'>2990</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/node.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/node.c</a></td><td class='right'>408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/rubyext.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/rubyext.c</a></td><td class='right'>2367</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/syck.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/syck.c</a></td><td class='right'>504</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/syck.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/syck.h</a></td><td class='right'>456</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/token.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/token.c</a></td><td class='right'>2725</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/yaml2byte.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/yaml2byte.c</a></td><td class='right'>257</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syck/yamlbyte.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syck/yamlbyte.h</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syslog/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/syslog/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/depend</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/syslog/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/extconf.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/syslog/lib/syslog/logger.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/lib/syslog/logger.rb</a></td><td class='right'>209</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/syslog/syslog.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/syslog.c</a></td><td class='right'>399</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/syslog/syslog.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/syslog.txt</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/syslog/test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/syslog/test.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/thread/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/thread/extconf.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/thread/lib/thread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/thread/lib/thread.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/thread/thread.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/thread/thread.c</a></td><td class='right'>1190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/ChangeLog.tkextlib?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/ChangeLog.tkextlib</a></td><td class='right'>909</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/MANUAL_tcltklib.eng?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/MANUAL_tcltklib.eng</a></td><td class='right'>445</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/MANUAL_tcltklib.eucj?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/MANUAL_tcltklib.eucj</a></td><td class='right'>557</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/README.1st?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/README.1st</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/README.ActiveTcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/README.ActiveTcl</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/README.fork?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/README.fork</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/README.macosx-aqua?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/README.macosx-aqua</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/README.tcltklib?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/README.tcltklib</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/depend</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/extconf.rb</a></td><td class='right'>312</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/README</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/multi-tk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/multi-tk.rb</a></td><td class='right'>3233</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/remote-tk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/remote-tk.rb</a></td><td class='right'>526</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tcltk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tcltk.rb</a></td><td class='right'>367</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk.rb</a></td><td class='right'>4617</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 5.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/after.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/after.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/autoload.rb</a></td><td class='right'>196</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/bgerror.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/bgerror.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/bindtag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/bindtag.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/button.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/button.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/canvas.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/canvas.rb</a></td><td class='right'>759</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/canvastag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/canvastag.rb</a></td><td class='right'>375</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/checkbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/checkbutton.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/clipboard.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/clipboard.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/clock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/clock.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/composite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/composite.rb</a></td><td class='right'>394</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/console.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/console.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/dialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/dialog.rb</a></td><td class='right'>326</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/encodedstr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/encodedstr.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/entry.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/event.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/event.rb</a></td><td class='right'>488</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/font.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/font.rb</a></td><td class='right'>1762</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/frame.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/frame.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/grid.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/grid.rb</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/image.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/image.rb</a></td><td class='right'>237</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/itemconfig.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/itemconfig.rb</a></td><td class='right'>1061</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/itemfont.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/itemfont.rb</a></td><td class='right'>300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/kinput.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/kinput.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/label.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/labelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/labelframe.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/listbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/listbox.rb</a></td><td class='right'>279</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/macpkg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/macpkg.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/menu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/menu.rb</a></td><td class='right'>632</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/menubar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/menubar.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/menuspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/menuspec.rb</a></td><td class='right'>269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/message.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/message.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/mngfocus.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/mngfocus.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/msgcat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/msgcat.rb</a></td><td class='right'>292</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/namespace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/namespace.rb</a></td><td class='right'>500</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/optiondb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/optiondb.rb</a></td><td class='right'>371</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/optionobj.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/optionobj.rb</a></td><td class='right'>212</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/pack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/pack.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/package.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/package.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/palette.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/palette.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/panedwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/panedwindow.rb</a></td><td class='right'>232</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/place.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/place.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/radiobutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/radiobutton.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/root.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/root.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/scale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/scale.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/scrollable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/scrollable.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/scrollbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/scrollbar.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/scrollbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/scrollbox.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/selection.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/selection.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/spinbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/spinbox.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/tagfont.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/tagfont.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/text.rb</a></td><td class='right'>1550</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/textimage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/textimage.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/textmark.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/textmark.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/texttag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/texttag.rb</a></td><td class='right'>279</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/textwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/textwindow.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/timer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/timer.rb</a></td><td class='right'>634</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/toplevel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/toplevel.rb</a></td><td class='right'>257</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/txtwin_abst.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/txtwin_abst.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/validation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/validation.rb</a></td><td class='right'>376</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/variable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/variable.rb</a></td><td class='right'>1651</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/virtevent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/virtevent.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/winfo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/winfo.rb</a></td><td class='right'>392</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/winpkg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/winpkg.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/wm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/wm.rb</a></td><td class='right'>360</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tk/xim.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tk/xim.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkafter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkafter.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkbgerror.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkbgerror.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkcanvas.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkcanvas.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkclass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkclass.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkconsole.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkconsole.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkdialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkdialog.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkentry.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/ICONS.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/ICONS.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/ICONS/icons.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/ICONS/icons.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/ICONS/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/ICONS/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/SUPPORT_STATUS?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/SUPPORT_STATUS</a></td><td class='right'>196</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/barchart.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/barchart.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/bitmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/bitmap.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/busy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/busy.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/component.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/component.rb</a></td><td class='right'>1835</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/container.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/container.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/cutbuffer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/cutbuffer.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/dragdrop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/dragdrop.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/eps.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/eps.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/graph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/graph.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/htext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/htext.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/spline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/spline.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/stripchart.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/stripchart.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/table.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/table.rb</a></td><td class='right'>386</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tabnotebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tabnotebook.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tabset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tabset.rb</a></td><td class='right'>401</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/ted.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/ted.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/button.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/button.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/checkbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/checkbutton.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/frame.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/frame.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/label.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/radiobutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/radiobutton.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/scrollbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/scrollbar.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tile/toplevel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tile/toplevel.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/tree.rb</a></td><td class='right'>923</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/treeview.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/treeview.rb</a></td><td class='right'>1146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/unix_dnd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/unix_dnd.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/vector.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/vector.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/watch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/watch.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/win_printer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/win_printer.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/blt/winop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/blt/winop.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget.rb</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/arrowbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/arrowbutton.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/bitmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/bitmap.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/button.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/button.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/buttonbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/buttonbox.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/combobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/combobox.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/dialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/dialog.rb</a></td><td class='right'>157</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/dragsite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/dragsite.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/dropsite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/dropsite.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/dynamichelp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/dynamichelp.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/entry.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/label.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/labelentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/labelentry.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/labelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/labelframe.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/listbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/listbox.rb</a></td><td class='right'>339</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/mainframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/mainframe.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/messagedlg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/messagedlg.rb</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/notebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/notebook.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/pagesmanager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/pagesmanager.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/panedwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/panedwindow.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/panelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/panelframe.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/passwddlg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/passwddlg.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/progressbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/progressbar.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/progressdlg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/progressdlg.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/scrollableframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/scrollableframe.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/scrolledwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/scrolledwindow.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/scrollview.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/scrollview.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/selectcolor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/selectcolor.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/selectfont.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/selectfont.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/separator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/separator.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/spinbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/spinbox.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/statusbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/statusbar.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/titleframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/titleframe.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/tree.rb</a></td><td class='right'>434</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/bwidget/widget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/bwidget/widget.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/itcl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/itcl.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/itcl/incr_tcl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/itcl/incr_tcl.rb</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/itcl/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/itcl/setup.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/itk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/itk.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/itk/incr_tk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/itk/incr_tk.rb</a></td><td class='right'>428</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/itk/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/itk/setup.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/buttonbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/buttonbox.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/calendar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/calendar.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/canvasprintbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/canvasprintbox.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/canvasprintdialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/canvasprintdialog.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/checkbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/checkbox.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/combobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/combobox.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/dateentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/dateentry.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/datefield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/datefield.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/dialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/dialog.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/dialogshell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/dialogshell.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/disjointlistbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/disjointlistbox.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/entryfield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/entryfield.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/extbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/extbutton.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/extfileselectionbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/extfileselectionbox.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/extfileselectiondialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/extfileselectiondialog.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/feedback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/feedback.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/fileselectionbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/fileselectionbox.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/fileselectiondialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/fileselectiondialog.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/finddialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/finddialog.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/hierarchy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/hierarchy.rb</a></td><td class='right'>309</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/hyperhelp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/hyperhelp.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/labeledframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/labeledframe.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/mainwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/mainwindow.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/menubar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/menubar.rb</a></td><td class='right'>210</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/messagebox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/messagebox.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/messagedialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/messagedialog.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/notebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/notebook.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/optionmenu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/optionmenu.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/panedwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/panedwindow.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/promptdialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/promptdialog.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/pushbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/pushbutton.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/radiobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/radiobox.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scopedobject.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scopedobject.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb</a></td><td class='right'>347</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scrolledframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scrolledframe.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scrolledhtml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scrolledhtml.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb</a></td><td class='right'>538</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/scrolledwidget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/scrolledwidget.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/selectionbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/selectionbox.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/selectiondialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/selectiondialog.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/shell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/shell.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/spindate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/spindate.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/spinint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/spinint.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/spinner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/spinner.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/spintime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/spintime.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/tabnotebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/tabnotebook.rb</a></td><td class='right'>169</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/tabset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/tabset.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/timeentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/timeentry.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/timefield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/timefield.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/toolbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/toolbar.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/iwidgets/watch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/iwidgets/watch.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/pkg_checker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/pkg_checker.rb</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/README</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/autoscroll.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/autoscroll.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/ctext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/ctext.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/cursor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/cursor.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/datefield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/datefield.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/dialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/dialog.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/getstring.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/getstring.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/history.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/history.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/ico.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/ico.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/ip_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/ip_entry.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/panelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/panelframe.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/plotchart.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/plotchart.rb</a></td><td class='right'>865</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/ruler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/ruler.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/screenruler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/screenruler.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/scrollwin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/scrollwin.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/style.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/style.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/superframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/superframe.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/swaplist.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/swaplist.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/tablelist.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/tablelist.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/tablelist_core.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/tablelist_core.rb</a></td><td class='right'>770</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/tkpiechart.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/tkpiechart.rb</a></td><td class='right'>308</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/tooltip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/tooltip.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tcllib/widget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tcllib/widget.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tclx.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tclx.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tclx/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tclx/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tclx/tclx.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tclx/tclx.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile.rb</a></td><td class='right'>230</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/dialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/dialog.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/sizegrip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/sizegrip.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/style.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/style.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tbutton.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tcheckbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tcheckbutton.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tcombobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tcombobox.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tentry.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tframe.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tlabel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tlabel.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tlabelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tlabelframe.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tmenubutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tmenubutton.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tnotebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tnotebook.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tpaned.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tpaned.rb</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tprogressbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tprogressbar.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tradiobutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tradiobutton.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/treeview.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/treeview.rb</a></td><td class='right'>1133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tscale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tscale.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tscrollbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tscrollbar.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tseparator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tseparator.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tile/tsquare.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tile/tsquare.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkDND.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkDND.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkDND/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkDND/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkDND/shape.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkDND/shape.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkDND/tkdnd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkDND/tkdnd.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkHTML.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkHTML.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkHTML/htmlwidget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkHTML/htmlwidget.rb</a></td><td class='right'>444</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkHTML/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkHTML/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/README</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/bmp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/bmp.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/gif.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/gif.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/ico.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/ico.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/jpeg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/jpeg.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/pcx.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/pcx.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/pixmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/pixmap.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/png.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/png.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/ppm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/ppm.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/ps.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/ps.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/sgi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/sgi.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/sun.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/sun.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/tga.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/tga.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/tiff.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/tiff.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/window.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/window.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/xbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/xbm.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tkimg/xpm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tkimg/xpm.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tktable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tktable.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tktable/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tktable/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tktable/tktable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tktable/tktable.rb</a></td><td class='right'>839</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tktrans.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tktrans.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tktrans/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tktrans/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/tktrans/tktrans.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/tktrans/tktrans.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/treectrl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/treectrl.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/treectrl/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/treectrl/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/treectrl/tktreectrl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/treectrl/tktreectrl.rb</a></td><td class='right'>2311</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/trofs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/trofs.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/trofs/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/trofs/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/trofs/trofs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/trofs/trofs.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/version.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu/bargraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu/bargraph.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu/charts.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu/charts.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu/dial.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu/dial.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu/pie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu/pie.rb</a></td><td class='right'>235</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/vu/spinbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/vu/spinbox.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/winico.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/winico.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/winico/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/winico/setup.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkextlib/winico/winico.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkextlib/winico/winico.rb</a></td><td class='right'>189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkfont.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkfont.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkmacpkg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkmacpkg.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkmenubar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkmenubar.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkmngfocus.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkmngfocus.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkpalette.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkpalette.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkscrollbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkscrollbox.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tktext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tktext.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkvirtevent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkvirtevent.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/lib/tkwinpkg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/lib/tkwinpkg.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/old-README.tcltklib.eucj?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/old-README.tcltklib.eucj</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/24hr_clock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/24hr_clock.rb</a></td><td class='right'>286</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/binding_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/binding_sample.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/bindtag_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/bindtag_sample.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/binstr_usage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/binstr_usage.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/btn_with_frame.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/btn_with_frame.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/cd_timer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/cd_timer.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/cmd_res_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/cmd_res_test.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/cmd_resource?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/cmd_resource</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/ChangeLog?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/ChangeLog</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/ChangeLog.prev?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/ChangeLog.prev</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/README</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/README.1st?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/README.1st</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/README.tkencoding?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/README.tkencoding</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/anilabel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/anilabel.rb</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/aniwave.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/aniwave.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/arrow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/arrow.rb</a></td><td class='right'>239</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/bind.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/bind.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/bitmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/bitmap.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/browse1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/browse1</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/browse2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/browse2</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/button.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/button.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/check.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/check.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/check2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/check2.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/clrpick.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/clrpick.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/colors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/colors.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/cscroll.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/cscroll.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/ctext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/ctext.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/dialog1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/dialog1.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/dialog2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/dialog2.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/doc.org/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/doc.org/README</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/doc.org/README.JP?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/doc.org/README.JP</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/doc.org/README.tk80?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/doc.org/README.tk80</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/doc.org/license.terms?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/doc.org/license.terms</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/doc.org/license.terms.tk80?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/doc.org/license.terms.tk80</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/entry1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/entry1.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/entry2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/entry2.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/entry3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/entry3.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/filebox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/filebox.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/floor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/floor.rb</a></td><td class='right'>1721</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/floor2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/floor2.rb</a></td><td class='right'>1720</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/form.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/form.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/goldberg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/goldberg.rb</a></td><td class='right'>1999</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/hello?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/hello</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/hscale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/hscale.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/icon.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/icon.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/image1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/image1.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/image2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/image2.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/image3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/image3.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/items.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/items.rb</a></td><td class='right'>374</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/ixset?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/ixset</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/ixset2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/ixset2</a></td><td class='right'>367</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/label.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/labelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/labelframe.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/menu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/menu.rb</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/menu84.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/menu84.rb</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/menubu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/menubu.rb</a></td><td class='right'>235</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/msgbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/msgbox.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/paned1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/paned1.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/paned2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/paned2.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/patch_1.1c1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/patch_1.1c1</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/pendulum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/pendulum.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/plot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/plot.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/puzzle.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/puzzle.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/radio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/radio.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/radio2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/radio2.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/radio3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/radio3.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/rmt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/rmt</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/rolodex?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/rolodex</a></td><td class='right'>320</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/rolodex-j?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/rolodex-j</a></td><td class='right'>323</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/ruler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/ruler.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/sayings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/sayings.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/search.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/search.rb</a></td><td class='right'>180</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/spin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/spin.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/square?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/square</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/states.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/states.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/style.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/style.rb</a></td><td class='right'>211</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/tcolor?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/tcolor</a></td><td class='right'>526</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/text.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/timer?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/timer</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/tkencoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/tkencoding.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/twind.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/twind.rb</a></td><td class='right'>285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/twind2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/twind2.rb</a></td><td class='right'>382</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/unicodeout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/unicodeout.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/vscale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/vscale.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-en/widget?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-en/widget</a></td><td class='right'>944</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/README</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/README.1st?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/README.1st</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/anilabel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/anilabel.rb</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/aniwave.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/aniwave.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/arrow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/arrow.rb</a></td><td class='right'>236</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/bind.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/bind.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/bitmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/bitmap.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/browse1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/browse1</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/browse2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/browse2</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/button.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/button.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/check.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/check.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/check2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/check2.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/clrpick.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/clrpick.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/colors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/colors.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/cscroll.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/cscroll.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/ctext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/ctext.rb</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/dialog1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/dialog1.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/dialog2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/dialog2.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/doc.org/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/doc.org/README</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/doc.org/README.JP?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/doc.org/README.JP</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/doc.org/README.tk80?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/doc.org/README.tk80</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/doc.org/license.terms?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/doc.org/license.terms</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/doc.org/license.terms.tk80?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/doc.org/license.terms.tk80</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/entry1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/entry1.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/entry2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/entry2.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/entry3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/entry3.rb</a></td><td class='right'>204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/filebox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/filebox.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/floor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/floor.rb</a></td><td class='right'>1718</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/floor2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/floor2.rb</a></td><td class='right'>1716</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/form.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/form.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/goldberg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/goldberg.rb</a></td><td class='right'>2003</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/hello?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/hello</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/hscale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/hscale.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/icon.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/icon.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/image1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/image1.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/image2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/image2.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/image3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/image3.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/items.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/items.rb</a></td><td class='right'>371</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/ixset?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/ixset</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/ixset2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/ixset2</a></td><td class='right'>368</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/label.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/labelframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/labelframe.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/menu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/menu.rb</a></td><td class='right'>196</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/menu84.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/menu84.rb</a></td><td class='right'>210</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/menu8x.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/menu8x.rb</a></td><td class='right'>230</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/menubu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/menubu.rb</a></td><td class='right'>235</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/msgbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/msgbox.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/paned1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/paned1.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/paned2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/paned2.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/pendulum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/pendulum.rb</a></td><td class='right'>224</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/plot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/plot.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/puzzle.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/puzzle.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/radio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/radio.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/radio2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/radio2.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/radio3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/radio3.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/rmt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/rmt</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/rolodex?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/rolodex</a></td><td class='right'>320</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/rolodex-j?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/rolodex-j</a></td><td class='right'>299</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/ruler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/ruler.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/sayings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/sayings.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/search.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/search.rb</a></td><td class='right'>176</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/spin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/spin.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/square?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/square</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/states.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/states.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/style.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/style.rb</a></td><td class='right'>248</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/tcolor?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/tcolor</a></td><td class='right'>533</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/text.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/timer?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/timer</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/twind.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/twind.rb</a></td><td class='right'>285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/twind2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/twind2.rb</a></td><td class='right'>381</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/unicodeout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/unicodeout.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/vscale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/vscale.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/demos-jp/widget?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/demos-jp/widget</a></td><td class='right'>973</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/editable_listbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/editable_listbox.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/encstr_usage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/encstr_usage.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/earth.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/earth.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 51712 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/earthris.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/earthris.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 6343 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/face.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/face.xbm</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/flagdown.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/flagdown.xbm</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/flagup.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/flagup.xbm</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/gray25.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/gray25.xbm</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/grey.25?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/grey.25</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/grey.5?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/grey.5</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/letters.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/letters.xbm</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/noletter.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/noletter.xbm</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/pattern.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/pattern.xbm</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/tcllogo.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/tcllogo.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 2341 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/images/teapot.ppm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/images/teapot.ppm</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/irbtk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/irbtk.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/irbtkw.rbw?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/irbtkw.rbw</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/iso2022-kr.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/iso2022-kr.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/menubar1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/menubar1.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/menubar2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/menubar2.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/README</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/cs.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/cs.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/de.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/de.msg</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/el.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/el.msg</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/en.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/en.msg</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/en_gb.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/en_gb.msg</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/eo.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/eo.msg</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/es.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/es.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/fr.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/fr.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/it.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/it.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/ja.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/ja.msg</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/nl.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/nl.msg</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/pl.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/pl.msg</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb/ru.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb/ru.msg</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb2/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb2/README</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb2/de.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb2/de.msg</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_rb2/ja.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_rb2/ja.msg</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/README</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/cs.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/cs.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/de.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/de.msg</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/el.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/el.msg</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/en.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/en.msg</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/en_gb.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/en_gb.msg</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/eo.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/eo.msg</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/es.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/es.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/fr.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/fr.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/it.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/it.msg</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/ja.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/ja.msg</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/license.terms?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/license.terms</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/nl.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/nl.msg</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/pl.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/pl.msg</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/msgs_tk/ru.msg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/msgs_tk/ru.msg</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/multi-ip_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/multi-ip_sample.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/multi-ip_sample2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/multi-ip_sample2.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/optobj_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/optobj_sample.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/propagate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/propagate.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/remote-ip_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/remote-ip_sample.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/remote-ip_sample2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/remote-ip_sample2.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/resource.en?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/resource.en</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/resource.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/resource.ja</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/safe-tk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/safe-tk.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/scrollframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/scrollframe.rb</a></td><td class='right'>237</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/batsu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/batsu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 538 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/lines0.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/lines0.tcl</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/lines1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/lines1.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/lines2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/lines2.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/lines3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/lines3.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/lines4.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/lines4.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/maru.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/maru.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 481 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/safeTk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/safeTk.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/sample0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/sample0.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/sample1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/sample1.rb</a></td><td class='right'>634</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tcltklib/sample2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tcltklib/sample2.rb</a></td><td class='right'>451</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkalignbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkalignbox.rb</a></td><td class='right'>225</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkballoonhelp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkballoonhelp.rb</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkbiff.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkbiff.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkbrowse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkbrowse.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkcombobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkcombobox.rb</a></td><td class='right'>426</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkdialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkdialog.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/ICONS/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/ICONS/Orig_LICENSE.txt</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/ICONS/tkIcons?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/ICONS/tkIcons</a></td><td class='right'>195</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/ICONS/tkIcons-sample.kde?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/ICONS/tkIcons-sample.kde</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/ICONS/tkIcons.kde?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/ICONS/tkIcons.kde</a></td><td class='right'>195</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/ICONS/viewIcons.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/ICONS/viewIcons.rb</a></td><td class='right'>329</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/barchart5.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/barchart5.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/calendar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/calendar.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/graph6.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/graph6.rb</a></td><td class='right'>2222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/graph7.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/graph7.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/graph7a.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/graph7a.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/graph7b.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/graph7b.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/graph7c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/graph7c.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/images/buckskin.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/images/buckskin.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 7561 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/images/chalk.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/images/chalk.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 4378 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/images/qv100.t.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/images/qv100.t.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 2694 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/images/rain.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/images/rain.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 3785 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/images/sample.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/images/sample.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 186103 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/pareto.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/pareto.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/plot1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/plot1.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/plot1b.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/plot1b.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/readme.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/readme.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/scripts/stipples.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/scripts/stipples.rb</a></td><td class='right'>156</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/winop1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/winop1.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/blt/winop2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/blt/winop2.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/Orig_LICENSE.txt</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/basic.rb</a></td><td class='right'>198</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/bwidget.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/bwidget.xbm</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/demo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/demo.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/dnd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/dnd.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/manager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/manager.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/select.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/tmpldlg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/tmpldlg.rb</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/tree.rb</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/bwidget/x1.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/bwidget/x1.xbm</a></td><td class='right'>2258</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/Orig_LICENSE.txt</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/box.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/box.xbm</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/clear.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/clear.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 279 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/close.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/close.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 249 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/copy.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/copy.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 269 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/cut.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/cut.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 179 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/exit.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/exit.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 396 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/find.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/find.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 386 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/help.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/help.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 591 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/line.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/line.xbm</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/mag.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/mag.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 183 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/new.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/new.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 212 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/open.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/open.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 258 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/oval.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/oval.xbm</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/paste.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/paste.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 376 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/points.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/points.xbm</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/poly.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/poly.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 141 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/print.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/print.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 263 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/ruler.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/ruler.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 174 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/save.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/save.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 270 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/select.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/select.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 124 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/text.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/catalog_demo/images/text.xbm</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/shell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/shell.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/iwidgets/sample/watch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/iwidgets/sample/watch.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tcllib/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tcllib/Orig_LICENSE.txt</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tcllib/datefield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tcllib/datefield.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tcllib/plotdemos1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tcllib/plotdemos1.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tcllib/plotdemos2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tcllib/plotdemos2.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tcllib/plotdemos3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tcllib/plotdemos3.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tcllib/xyplot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tcllib/xyplot.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/Orig_LICENSE.txt</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/demo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/demo.rb</a></td><td class='right'>972</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/iconlib.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/iconlib.tcl</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/readme.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/readme.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/repeater.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/repeater.tcl</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowdown-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowdown-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 315 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowdown-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowdown-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 312 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowdown.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowdown.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 313 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowleft-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowleft-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 329 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowleft-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowleft-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 327 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowleft.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowleft.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 323 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowright-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowright-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 330 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowright-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowright-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 327 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowright.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowright.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 324 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowup-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowup-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 309 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowup-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowup-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 313 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowup.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/arrowup.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 314 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/button-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/button-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 696 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/button-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/button-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 770 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/button-n.xcf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/button-n.xcf</a></td><td class='right'>bin</td><td class='graph'>0 -> 1942 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/button-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/button-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 769 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/check-hc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/check-hc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 254 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/check-hu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/check-hu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 234 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/check-nc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/check-nc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 249 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/check-nu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/check-nu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 229 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-hc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-hc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 1098 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-hu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-hu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 626 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-nc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-nc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 389 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-nu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/radio-nu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 401 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-thumb-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-thumb-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 343 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-thumb.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-thumb.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 316 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-vthumb-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-vthumb-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 333 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-vthumb.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/sb-vthumb.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 308 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/slider-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/slider-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 182 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/slider.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/slider.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 182 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/vslider-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/vslider-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 183 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/blue/vslider.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/blue/vslider.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 283 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/blue/pkgIndex.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/blue/pkgIndex.tcl</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowdown-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowdown-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 273 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowdown-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowdown-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 258 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowleft-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowleft-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 292 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowleft-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowleft-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 272 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowright-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowright-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 274 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowright-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowright-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 258 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowup-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowup-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 286 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowup-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/arrowup-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 271 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-d.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-d.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 1266 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 896 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 881 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 625 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-s.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/button-s.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 859 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/check-c.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/check-c.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 434 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/check-u.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/check-u.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 423 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/hsb-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/hsb-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 401 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/hsb-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/hsb-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 395 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/hslider-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/hslider-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 592 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-a.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-a.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 1116 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-arrow-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-arrow-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 61 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-d.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-d.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 1057 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/mbut-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 1095 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/radio-c.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/radio-c.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 695 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/radio-u.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/radio-u.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 686 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tab-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tab-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 383 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tab-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tab-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 878 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tbar-a.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tbar-a.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 907 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tbar-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tbar-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 238 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tbar-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/tbar-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 927 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/vsb-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/vsb-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 405 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/vsb-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/vsb-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 399 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/keramik/vslider-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/keramik/vslider-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 587 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl</a></td><td class='right'>163</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/button-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/button-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 522 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/button-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/button-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 554 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/button-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/button-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 548 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-hc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-hc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 281 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-hu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-hu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 273 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-nc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-nc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 303 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-nu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/check-nu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 294 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-hc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-hc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 652 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-hu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-hu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 644 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-nc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-nc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 632 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-nu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/kroc/radio-nu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 621 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik.tcl</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowdown-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowdown-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 362 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowdown-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowdown-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 250 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowleft-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowleft-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 378 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowleft-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowleft-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 267 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowright-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowright-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 379 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowright-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowright-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 266 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowup-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowup-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 363 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowup-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/arrowup-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 251 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/button-h.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/button-h.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 439 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/button-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/button-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 443 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/button-p.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/button-p.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 302 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-hc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-hc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 169 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-hu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-hu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 170 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-nc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-nc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 235 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-nu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-nu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 226 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-pc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/check-pc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 169 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/hsb-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/hsb-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 269 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/hslider-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/hslider-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 342 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-hc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-hc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 178 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-hu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-hu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 179 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-nc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-nc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 236 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-nu.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-nu.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 178 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-pc.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/radio-pc.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 178 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/vsb-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/vsb-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 366 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/themes/plastik/plastik/vslider-n.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/themes/plastik/plastik/vslider-n.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 336 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tile/toolbutton.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tile/toolbutton.tcl</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/Orig_COPYRIGHT.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/Orig_COPYRIGHT.txt</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/README</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/hv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/hv.rb</a></td><td class='right'>313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image1</a></td><td class='right'>bin</td><td class='graph'>0 -> 8995 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image10?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image10</a></td><td class='right'>bin</td><td class='graph'>0 -> 3095 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image11?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image11</a></td><td class='right'>bin</td><td class='graph'>0 -> 1425 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image12?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image12</a></td><td class='right'>bin</td><td class='graph'>0 -> 2468 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image13?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image13</a></td><td class='right'>bin</td><td class='graph'>0 -> 4073 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image14?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image14</a></td><td class='right'>bin</td><td class='graph'>0 -> 53 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image2</a></td><td class='right'>bin</td><td class='graph'>0 -> 42 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image3?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image3</a></td><td class='right'>bin</td><td class='graph'>0 -> 3473 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image4</a></td><td class='right'>bin</td><td class='graph'>0 -> 1988 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image5?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image5</a></td><td class='right'>bin</td><td class='graph'>0 -> 973 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image6?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image6</a></td><td class='right'>bin</td><td class='graph'>0 -> 2184 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image7?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image7</a></td><td class='right'>bin</td><td class='graph'>0 -> 2022 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image8?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image8</a></td><td class='right'>bin</td><td class='graph'>0 -> 1186 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/image9?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/image9</a></td><td class='right'>bin</td><td class='graph'>0 -> 139 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page1/index.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page1/index.html</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image1</a></td><td class='right'>bin</td><td class='graph'>0 -> 1966 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image10?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image10</a></td><td class='right'>bin</td><td class='graph'>0 -> 255 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image11?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image11</a></td><td class='right'>bin</td><td class='graph'>0 -> 590 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image12?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image12</a></td><td class='right'>bin</td><td class='graph'>0 -> 254 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image13?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image13</a></td><td class='right'>bin</td><td class='graph'>0 -> 493 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image14?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image14</a></td><td class='right'>bin</td><td class='graph'>0 -> 195 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image15?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image15</a></td><td class='right'>bin</td><td class='graph'>0 -> 68 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image16?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image16</a></td><td class='right'>bin</td><td class='graph'>0 -> 157 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image17?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image17</a></td><td class='right'>bin</td><td class='graph'>0 -> 81 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image18?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image18</a></td><td class='right'>bin</td><td class='graph'>0 -> 545 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image19?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image19</a></td><td class='right'>bin</td><td class='graph'>0 -> 53 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image2</a></td><td class='right'>bin</td><td class='graph'>0 -> 49 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image20?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image20</a></td><td class='right'>bin</td><td class='graph'>0 -> 533 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image21?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image21</a></td><td class='right'>bin</td><td class='graph'>0 -> 564 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image22?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image22</a></td><td class='right'>bin</td><td class='graph'>0 -> 81 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image23?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image23</a></td><td class='right'>bin</td><td class='graph'>0 -> 539 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image24?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image24</a></td><td class='right'>bin</td><td class='graph'>0 -> 151 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image25?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image25</a></td><td class='right'>bin</td><td class='graph'>0 -> 453 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image26?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image26</a></td><td class='right'>bin</td><td class='graph'>0 -> 520 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image27?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image27</a></td><td class='right'>bin</td><td class='graph'>0 -> 565 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image28?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image28</a></td><td class='right'>bin</td><td class='graph'>0 -> 416 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image29?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image29</a></td><td class='right'>bin</td><td class='graph'>0 -> 121 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image3?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image3</a></td><td class='right'>bin</td><td class='graph'>0 -> 10835 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image30?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image30</a></td><td class='right'>bin</td><td class='graph'>0 -> 663 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image31?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image31</a></td><td class='right'>bin</td><td class='graph'>0 -> 78 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image32?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image32</a></td><td class='right'>bin</td><td class='graph'>0 -> 556 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image33?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image33</a></td><td class='right'>bin</td><td class='graph'>0 -> 598 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image34?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image34</a></td><td class='right'>bin</td><td class='graph'>0 -> 496 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image35?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image35</a></td><td class='right'>bin</td><td class='graph'>0 -> 724 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image36?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image36</a></td><td class='right'>bin</td><td class='graph'>0 -> 404 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image37?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image37</a></td><td class='right'>bin</td><td class='graph'>0 -> 124 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image38?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image38</a></td><td class='right'>bin</td><td class='graph'>0 -> 8330 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image39?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image39</a></td><td class='right'>bin</td><td class='graph'>0 -> 369 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image4</a></td><td class='right'>bin</td><td class='graph'>0 -> 268 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image5?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image5</a></td><td class='right'>bin</td><td class='graph'>0 -> 492 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image6?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image6</a></td><td class='right'>bin</td><td class='graph'>0 -> 246 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image7?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image7</a></td><td class='right'>bin</td><td class='graph'>0 -> 551 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image8?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image8</a></td><td class='right'>bin</td><td class='graph'>0 -> 497 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/image9?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/image9</a></td><td class='right'>bin</td><td class='graph'>0 -> 492 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page2/index.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page2/index.html</a></td><td class='right'>433</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image1</a></td><td class='right'>bin</td><td class='graph'>0 -> 113 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image10?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image10</a></td><td class='right'>bin</td><td class='graph'>0 -> 5088 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image11?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image11</a></td><td class='right'>bin</td><td class='graph'>0 -> 4485 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image12?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image12</a></td><td class='right'>bin</td><td class='graph'>0 -> 3579 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image13?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image13</a></td><td class='right'>bin</td><td class='graph'>0 -> 5119 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image14?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image14</a></td><td class='right'>bin</td><td class='graph'>0 -> 3603 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image2</a></td><td class='right'>bin</td><td class='graph'>0 -> 74 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image3?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image3</a></td><td class='right'>bin</td><td class='graph'>0 -> 681 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image4</a></td><td class='right'>bin</td><td class='graph'>0 -> 3056 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image5?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image5</a></td><td class='right'>bin</td><td class='graph'>0 -> 2297 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image6?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image6</a></td><td class='right'>bin</td><td class='graph'>0 -> 79 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image7?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image7</a></td><td class='right'>bin</td><td class='graph'>0 -> 1613 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image8?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image8</a></td><td class='right'>bin</td><td class='graph'>0 -> 864 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/image9?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/image9</a></td><td class='right'>bin</td><td class='graph'>0 -> 2379 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page3/index.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page3/index.html</a></td><td class='right'>2787</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image1</a></td><td class='right'>bin</td><td class='graph'>0 -> 42 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image2?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image2</a></td><td class='right'>bin</td><td class='graph'>0 -> 14343 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image3?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image3</a></td><td class='right'>bin</td><td class='graph'>0 -> 17750 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image4</a></td><td class='right'>bin</td><td class='graph'>0 -> 61 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image5?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image5</a></td><td class='right'>bin</td><td class='graph'>0 -> 201 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image6?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image6</a></td><td class='right'>bin</td><td class='graph'>0 -> 214 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image7?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image7</a></td><td class='right'>bin</td><td class='graph'>0 -> 149 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image8?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image8</a></td><td class='right'>bin</td><td class='graph'>0 -> 203 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/image9?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/image9</a></td><td class='right'>bin</td><td class='graph'>0 -> 1504 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/page4/index.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/page4/index.html</a></td><td class='right'>768</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkHTML/ss.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkHTML/ss.rb</a></td><td class='right'>436</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkimg/demo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkimg/demo.rb</a></td><td class='right'>1478</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tkimg/readme.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tkimg/readme.txt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/Orig_LICENSE.txt</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/basic.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/buttons.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/buttons.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/command.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/debug.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/debug.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/dynarows.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/dynarows.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/maxsize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/maxsize.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/spreadsheet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/spreadsheet.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/tcllogo.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/tcllogo.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 2341 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/tktable/valid.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/tktable/valid.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/bitmaps.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/bitmaps.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/demo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/demo.rb</a></td><td class='right'>1310</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/explorer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/explorer.rb</a></td><td class='right'>430</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/help.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/help.rb</a></td><td class='right'>404</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/imovie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/imovie.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/layout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/layout.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/mailwasher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/mailwasher.rb</a></td><td class='right'>269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/outlook-folders.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/outlook-folders.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb</a></td><td class='right'>448</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/big-dll.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/big-dll.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 437 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/big-exe.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/big-exe.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 368 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/big-file.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/big-file.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 466 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/big-folder.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/big-folder.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 459 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/big-txt.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/big-txt.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 392 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/checked.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/checked.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 78 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/file.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/file.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 279 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/folder-closed.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/folder-closed.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 111 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/folder-open.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/folder-open.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 120 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/help-book-closed.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/help-book-closed.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 115 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/help-book-open.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/help-book-open.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 128 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/help-page.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/help-page.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 132 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-01.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-01.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 5406 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-02.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-02.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 5912 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-03.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-03.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 4696 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-04.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-04.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 5783 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-05.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-05.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 3238 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-06.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-06.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 3509 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/imovie-07.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/imovie-07.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 2091 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-check-off.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-check-off.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 70 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-check-on.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-check-on.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 76 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-print.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-print.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 124 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-radio-off.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-radio-off.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 68 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-radio-on.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-radio-on.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 71 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-search.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-search.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 114 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/internet-security.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/internet-security.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 108 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/mac-collapse.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/mac-collapse.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 275 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/mac-expand.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/mac-expand.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 277 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-arrow.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-arrow.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 73 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-clip.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-clip.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 73 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-deleted.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-deleted.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 138 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-draft.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-draft.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 134 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-folder.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-folder.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 133 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-group.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-group.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 144 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-inbox.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-inbox.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 133 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-local.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-local.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 146 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-main.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-main.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 174 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-outbox.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-outbox.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 136 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-read-2.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-read-2.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 343 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-read.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-read.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 304 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-sent.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-sent.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 132 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-server.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-server.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 163 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-unread.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-unread.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 303 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/outlook-watch.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/outlook-watch.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 98 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/sky.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/sky.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 6454 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/small-dll.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/small-dll.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 311 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/small-exe.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/small-exe.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 115 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/small-file.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/small-file.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 338 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/small-folder.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/small-folder.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 307 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/small-txt.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/small-txt.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 302 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/pics/unchecked.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/pics/unchecked.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 72 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/random.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/random.rb</a></td><td class='right'>508</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/readme.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/readme.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/treectrl/www-options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/treectrl/www-options.rb</a></td><td class='right'>303</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/Orig_LICENSE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/Orig_LICENSE.txt</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/README.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/README.txt</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/canvItems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/canvItems.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/canvSticker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/canvSticker.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/canvSticker2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/canvSticker2.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/dial_demo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/dial_demo.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/m128_000.xbm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/m128_000.xbm</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/oscilloscope.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/oscilloscope.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/pie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/pie.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkextlib/vu/vu_demo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkextlib/vu/vu_demo.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkfrom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkfrom.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkhello.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkhello.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkline.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmenubutton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmenubutton.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmsgcat-load_rb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmsgcat-load_rb.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmsgcat-load_rb2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmsgcat-load_rb2.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmsgcat-load_tk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmsgcat-load_tk.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmulticolumnlist.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmulticolumnlist.rb</a></td><td class='right'>743</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmultilistbox.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmultilistbox.rb</a></td><td class='right'>654</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkmultilistframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkmultilistframe.rb</a></td><td class='right'>940</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkoptdb-safeTk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkoptdb-safeTk.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkoptdb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkoptdb.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tkrttimer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tkrttimer.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktextframe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktextframe.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktextio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktextio.rb</a></td><td class='right'>1050</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktimer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktimer.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktimer2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktimer2.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktimer3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktimer3.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktree.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/sample/tktree.tcl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/sample/tktree.tcl</a></td><td class='right'>305</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/stubs.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/stubs.c</a></td><td class='right'>516</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/stubs.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/stubs.h</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/tcltklib.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/tcltklib.c</a></td><td class='right'>8155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 8.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 91.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/tkutil/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/tkutil/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/tkutil/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/tkutil/depend</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/tkutil/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/tkutil/extconf.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/tk/tkutil/tkutil.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/tk/tkutil/tkutil.c</a></td><td class='right'>1639</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/extconf.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/lib/Win32API.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/lib/Win32API.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/lib/win32/importer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/lib/win32/importer.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/lib/win32/registry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/lib/win32/registry.rb</a></td><td class='right'>913</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/lib/win32/resolv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/lib/win32/resolv.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/lib/win32/resolv9x.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/lib/win32/resolv9x.rb</a></td><td class='right'>253</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/lib/win32/sspi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/lib/win32/sspi.rb</a></td><td class='right'>331</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/resolv/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/resolv/extconf.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32/resolv/resolv.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32/resolv/resolv.c</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/.cvsignore</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/depend</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/doc/win32ole.rd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/doc/win32ole.rd</a></td><td class='right'>294</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/extconf.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/lib/win32ole.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/lib/win32ole.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/lib/win32ole/property.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/lib/win32ole/property.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/excel1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/excel1.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/excel2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/excel2.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/excel3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/excel3.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/ie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/ie.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/ieconst.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/ieconst.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/ienavi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/ienavi.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/sample/ienavi2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/ienavi2.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/oledirs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/oledirs.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/olegen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/olegen.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/sample/xml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/sample/xml.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/oleserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/oleserver.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testNIL2VTEMPTY.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testNIL2VTEMPTY.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testOLEEVENT.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testOLEEVENT.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testOLEMETHOD.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testOLEMETHOD.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testOLEPARAM.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testOLEPARAM.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testOLETYPE.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testOLETYPE.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testOLEVARIABLE.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testOLEVARIABLE.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testVARIANT.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testVARIANT.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testWIN32OLE.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testWIN32OLE.rb</a></td><td class='right'>372</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/test_ole_methods.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/test_ole_methods.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/test_propertyputref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/test_propertyputref.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/test_word.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/test_word.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/tests/testall.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/tests/testall.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/win32ole/win32ole.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole.c</a></td><td class='right'>6512</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.6%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 93.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole.h</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_error.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_error.c</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_error.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_error.h</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_event.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_event.c</a></td><td class='right'>1281</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_event.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_event.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_method.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_method.c</a></td><td class='right'>950</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_method.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_method.h</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_param.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_param.c</a></td><td class='right'>438</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_param.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_param.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_record.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_record.c</a></td><td class='right'>604</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_record.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_record.h</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_type.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_type.c</a></td><td class='right'>915</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_type.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_type.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_typelib.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_typelib.c</a></td><td class='right'>844</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_typelib.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_typelib.h</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_variable.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_variable.c</a></td><td class='right'>380</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_variable.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_variable.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_variant.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_variant.c</a></td><td class='right'>733</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_variant.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_variant.h</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_variant_m.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_variant_m.c</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/win32ole/win32ole_variant_m.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/win32ole/win32ole_variant_m.h</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/zlib/.cvsignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/.cvsignore</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/zlib/.gitignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/.gitignore</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/zlib/depend?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/depend</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/zlib/doc/zlib.rd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/doc/zlib.rd</a></td><td class='right'>911</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/zlib/extconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/extconf.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ext/zlib/zlib.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/zlib.c</a></td><td class='right'>3351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 2.5%;'/><td class='none' style='width: 96.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/zlib/zlib.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ext/zlib/zlib.gemspec</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/file.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>file.c</a></td><td class='right'>5402</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 3.9%;'/><td class='none' style='width: 94.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/gc.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>gc.c</a></td><td class='right'>10939</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 10.3%;'/><td class='none' style='width: 88.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/gc.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>gc.h</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/gem_prelude.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>gem_prelude.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/gems/bundled_gems?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>gems/bundled_gems</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/golf_prelude.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>golf_prelude.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/goruby.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>goruby.c</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/hash.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>hash.c</a></td><td class='right'>5665</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 4.9%;'/><td class='none' style='width: 93.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/hrtime.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>hrtime.h</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ia64.S?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ia64.S</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ia64.s?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ia64.s</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/id_table.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>id_table.c</a></td><td class='right'>303</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/id_table.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>id_table.h</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby.h</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/backward.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/backward.h</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/backward/classext.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/backward/classext.h</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/backward/rubyio.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/backward/rubyio.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/backward/rubysig.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/backward/rubysig.h</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/backward/st.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/backward/st.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/backward/util.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/backward/util.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/debug.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/debug.h</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/defines.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/defines.h</a></td><td class='right'>515</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/encoding.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/encoding.h</a></td><td class='right'>429</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/intern.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/intern.h</a></td><td class='right'>1003</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/io.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/io.h</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/missing.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/missing.h</a></td><td class='right'>278</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/onigmo.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/onigmo.h</a></td><td class='right'>935</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/oniguruma.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/oniguruma.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/re.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/re.h</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/regex.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/regex.h</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/ruby.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/ruby.h</a></td><td class='right'>2690</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.9%;'/><td class='none' style='width: 97.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/st.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/st.h</a></td><td class='right'>157</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/subst.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/subst.h</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/thread.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/thread.h</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/thread_native.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/thread_native.h</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/util.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/util.h</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/version.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/version.h</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/vm.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/vm.h</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/include/ruby/win32.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>include/ruby/win32.h</a></td><td class='right'>824</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/inits.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>inits.c</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/insns.def?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>insns.def</a></td><td class='right'>1453</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='mov'><a href='/ruby.git/diff/install-sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>install-sh</a> (renamed from lib/rdoc/generator/template/darkfish/.document)</td><td class='right'>0</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/instruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>instruby.rb</a></td><td class='right'>355</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/intern.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>intern.h</a></td><td class='right'>504</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/internal.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>internal.h</a></td><td class='right'>2463</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.7%;'/><td class='none' style='width: 97.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/io.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>io.c</a></td><td class='right'>13591</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.3%;'/><td class='rem' style='width: 11.3%;'/><td class='none' style='width: 85.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/iseq.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>iseq.c</a></td><td class='right'>3434</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.7%;'/><td class='none' style='width: 96.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/iseq.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>iseq.h</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/keywords?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>keywords</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lex.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lex.c</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lex.c.blt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lex.c.blt</a></td><td class='right'>303</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/.document</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/English.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/English.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/Env.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/Env.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/README</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/abbrev.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/abbrev.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/base64.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/base64.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/benchmark.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/benchmark.rb</a></td><td class='right'>488</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler.gemspec</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler.rb</a></td><td class='right'>567</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/build_metadata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/build_metadata.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/capistrano.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/capistrano.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli.rb</a></td><td class='right'>790</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/add.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/add.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/binstubs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/binstubs.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/cache.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/cache.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/check.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/check.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/clean.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/clean.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/common.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/config.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/console.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/console.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/doctor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/doctor.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/exec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/exec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/gem.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/gem.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/info.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/info.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/init.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/init.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/inject.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/inject.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/install.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/install.rb</a></td><td class='right'>217</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/issue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/issue.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/list.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/lock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/lock.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/open.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/open.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/outdated.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/outdated.rb</a></td><td class='right'>266</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/package.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/package.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/platform.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/platform.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/plugin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/plugin.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/pristine.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/pristine.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/remove.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/remove.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/show.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/show.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/update.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/cli/viz.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/cli/viz.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/compact_index_client.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/compact_index_client.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/compact_index_client/cache.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/compact_index_client/cache.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/compact_index_client/updater.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/compact_index_client/updater.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/compatibility_guard.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/compatibility_guard.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/constants.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/current_ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/current_ruby.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/definition.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/definition.rb</a></td><td class='right'>993</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/dep_proxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/dep_proxy.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/dependency.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/dependency.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/deployment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/deployment.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/deprecate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/deprecate.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/dsl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/dsl.rb</a></td><td class='right'>615</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/endpoint_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/endpoint_specification.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/env.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/env.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/environment_preserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/environment_preserver.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/errors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/errors.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/feature_flag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/feature_flag.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/fetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/fetcher.rb</a></td><td class='right'>312</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/fetcher/base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/fetcher/base.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/fetcher/compact_index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/fetcher/compact_index.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/fetcher/dependency.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/fetcher/dependency.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/fetcher/downloader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/fetcher/downloader.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/fetcher/index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/fetcher/index.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/friendly_errors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/friendly_errors.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/gem_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/gem_helper.rb</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/gem_helpers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/gem_helpers.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/gem_remote_fetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/gem_remote_fetcher.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/gem_tasks.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/gem_tasks.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/gem_version_promoter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/gem_version_promoter.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/gemdeps.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/gemdeps.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/graph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/graph.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/index.rb</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/injector.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/injector.rb</a></td><td class='right'>253</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/inline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/inline.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/installer.rb</a></td><td class='right'>318</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/installer/gem_installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/installer/gem_installer.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/installer/parallel_installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/installer/parallel_installer.rb</a></td><td class='right'>233</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/installer/standalone.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/installer/standalone.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/lazy_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/lazy_specification.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/lockfile_generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/lockfile_generator.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/lockfile_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/lockfile_parser.rb</a></td><td class='right'>256</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/match_platform.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/match_platform.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/mirror.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/mirror.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin.rb</a></td><td class='right'>292</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/api.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/api.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/api/source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/api/source.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/dsl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/dsl.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/events.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/events.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/index.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/installer.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/installer/git.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/installer/git.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/installer/rubygems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/installer/rubygems.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/plugin/source_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/plugin/source_list.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/process_lock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/process_lock.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/psyched_yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/psyched_yaml.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/remote_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/remote_specification.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/resolver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/resolver.rb</a></td><td class='right'>373</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/resolver/spec_group.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/resolver/spec_group.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/retry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/retry.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ruby_dsl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ruby_dsl.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ruby_version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ruby_version.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/rubygems_ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/rubygems_ext.rb</a></td><td class='right'>210</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/rubygems_gem_installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/rubygems_gem_installer.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/rubygems_integration.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/rubygems_integration.rb</a></td><td class='right'>898</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/runtime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/runtime.rb</a></td><td class='right'>322</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/settings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/settings.rb</a></td><td class='right'>463</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/settings/validator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/settings/validator.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/setup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/setup.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/shared_helpers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/shared_helpers.rb</a></td><td class='right'>384</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/similarity_detector.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/similarity_detector.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/gemspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/gemspec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/git.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/git.rb</a></td><td class='right'>329</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/git/git_proxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/git/git_proxy.rb</a></td><td class='right'>262</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/metadata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/metadata.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/path.rb</a></td><td class='right'>249</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/path/installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/path/installer.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/rubygems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/rubygems.rb</a></td><td class='right'>539</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source/rubygems/remote.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source/rubygems/remote.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/source_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/source_list.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/spec_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/spec_set.rb</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ssl_certs/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ssl_certs/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ssl_certs/certificate_manager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ssl_certs/certificate_manager.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/stub_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/stub_specification.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/Executable?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/Executable</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/Executable.bundler?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/Executable.bundler</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/Executable.standalone?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/Executable.standalone</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/Gemfile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/Gemfile</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/gems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/gems.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/Gemfile.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/Gemfile.tt</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/LICENSE.txt.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/LICENSE.txt.tt</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/README.md.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/README.md.tt</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/Rakefile.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/Rakefile.tt</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/bin/console.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/bin/console.tt</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/bin/setup.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/bin/setup.tt</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/exe/newgem.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/exe/newgem.tt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/ext/newgem/newgem.c.tt</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/ext/newgem/newgem.h.tt</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/gitignore.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/gitignore.tt</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/lib/newgem.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/lib/newgem.rb.tt</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/lib/newgem/version.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/lib/newgem/version.rb.tt</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/newgem.gemspec.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/newgem.gemspec.tt</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/rspec.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/rspec.tt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/spec/newgem_spec.rb.tt</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/spec/spec_helper.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/spec/spec_helper.rb.tt</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/test/newgem_test.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/test/newgem_test.rb.tt</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/test/test_helper.rb.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/test/test_helper.rb.tt</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/templates/newgem/travis.yml.tt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/templates/newgem/travis.yml.tt</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ui.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ui.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ui/rg_proxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ui/rg_proxy.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ui/shell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ui/shell.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/ui/silent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/ui/silent.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/uri_credentials_filter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/uri_credentials_filter.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/fileutils/lib/fileutils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/fileutils/lib/fileutils.rb</a></td><td class='right'>1638</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/errors.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb</a></td><td class='right'>837</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/state.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/molinillo/lib/molinillo/state.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb</a></td><td class='right'>1233</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor.rb</a></td><td class='right'>509</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions.rb</a></td><td class='right'>321</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions/create_file.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions/create_link.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions/directory.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions/directory.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb</a></td><td class='right'>364</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/base.rb</a></td><td class='right'>679</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/command.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/error.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/group.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/group.rb</a></td><td class='right'>281</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/invocation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/invocation.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/line_editor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/line_editor.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/parser.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/parser/argument.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/parser/argument.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/parser/arguments.rb</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/parser/option.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/parser/option.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/parser/options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/parser/options.rb</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/rake_compat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/rake_compat.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/runner.rb</a></td><td class='right'>324</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/shell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/shell.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/shell/basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/shell/basic.rb</a></td><td class='right'>437</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/shell/color.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/shell/color.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/shell/html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/shell/html.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/util.rb</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendor/thor/lib/thor/version.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendored_fileutils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendored_fileutils.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendored_molinillo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendored_molinillo.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendored_persistent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendored_persistent.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vendored_thor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vendored_thor.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/version.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/version_ranges.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/version_ranges.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/vlad.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/vlad.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/worker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/worker.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/bundler/yaml_serializer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/bundler/yaml_serializer.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/cgi-lib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi-lib.rb</a></td><td class='right'>272</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/cgi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi.rb</a></td><td class='right'>2211</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.3%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/cgi/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/.document</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/cgi/cookie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/cookie.rb</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/cgi/core.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/core.rb</a></td><td class='right'>888</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/cgi/html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/html.rb</a></td><td class='right'>1035</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/cgi/session.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/session.rb</a></td><td class='right'>302</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/cgi/session/pstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/session/pstore.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/cgi/util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cgi/util.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/cmath.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cmath.gemspec</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/cmath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/cmath.rb</a></td><td class='right'>435</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/complex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/complex.rb</a></td><td class='right'>631</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/csv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv.rb</a></td><td class='right'>2492</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 97.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/csv/core_ext/array.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv/core_ext/array.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/csv/core_ext/string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv/core_ext/string.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/csv/csv.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv/csv.gemspec</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/csv/row.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv/row.rb</a></td><td class='right'>393</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/csv/table.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv/table.rb</a></td><td class='right'>378</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/csv/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/csv/version.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/date.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/date.rb</a></td><td class='right'>1708</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/date/format.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/date/format.rb</a></td><td class='right'>1088</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/date2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/date2.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/debug.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/debug.rb</a></td><td class='right'>1730</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/delegate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/delegate.rb</a></td><td class='right'>555</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/acl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/acl.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/drb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/drb.rb</a></td><td class='right'>780</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/eq.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/eq.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/extserv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/extserv.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/extservm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/extservm.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/gw.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/gw.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/invokemethod.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/invokemethod.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/observer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/observer.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/ssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/ssl.rb</a></td><td class='right'>346</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/timeridconv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/timeridconv.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/drb/unix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/drb/unix.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/e2mmap.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/e2mmap.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/e2mmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/e2mmap.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/e2mmap/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/e2mmap/version.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/erb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/erb.rb</a></td><td class='right'>996</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/eregex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/eregex.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/fileutils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/fileutils.rb</a></td><td class='right'>1230</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/fileutils/fileutils.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/fileutils/fileutils.gemspec</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/fileutils/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/fileutils/version.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/finalize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/finalize.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/find.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/find.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/forwardable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/forwardable.rb</a></td><td class='right'>331</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/forwardable/forwardable.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/forwardable/forwardable.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/forwardable/impl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/forwardable/impl.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/ftools.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/ftools.rb</a></td><td class='right'>261</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/generator.rb</a></td><td class='right'>380</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/getoptlong.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/getoptlong.rb</a></td><td class='right'>312</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/getopts.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/getopts.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/gserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/gserver.rb</a></td><td class='right'>253</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/importenv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/importenv.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/ipaddr.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/ipaddr.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/ipaddr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/ipaddr.rb</a></td><td class='right'>774</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb.rb</a></td><td class='right'>804</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/chws.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/chws.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/fork.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/fork.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/help.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/help.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/load.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/nop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/nop.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/pushws.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/pushws.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/cmd/subirb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/cmd/subirb.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/completion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/completion.rb</a></td><td class='right'>353</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/context.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/context.rb</a></td><td class='right'>336</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/change-ws.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/change-ws.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/history.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/history.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/loader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/loader.rb</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/irb/ext/math-mode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/math-mode.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/multi-irb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/multi-irb.rb</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/save-history.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/save-history.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/tracer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/tracer.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/use-loader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/use-loader.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ext/workspaces.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ext/workspaces.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/extend-command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/extend-command.rb</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/frame.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/frame.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/help.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/help.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/init.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/init.rb</a></td><td class='right'>265</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/input-method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/input-method.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/irb/inspector.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/inspector.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/irb/irb.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/irb.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/irb/lc/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/lc/.document</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/lc/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/lc/error.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/lc/help-message?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/lc/help-message</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/irb/lc/ja/encoding_aliases.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/lc/ja/encoding_aliases.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/lc/ja/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/lc/ja/error.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/lc/ja/help-message?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/lc/ja/help-message</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/locale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/locale.rb</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/irb/magic-file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/magic-file.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/notifier.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/notifier.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/output-method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/output-method.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ruby-lex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ruby-lex.rb</a></td><td class='right'>835</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ruby-token.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ruby-token.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/slex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/slex.rb</a></td><td class='right'>313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/irb/src_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/src_encoding.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/version.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/workspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/workspace.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/ws-for-case-2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/ws-for-case-2.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/irb/xmp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/irb/xmp.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/jcode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/jcode.rb</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/logger.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/logger.gemspec</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/logger.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/logger.rb</a></td><td class='right'>714</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/mailread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/mailread.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/mathn.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/mathn.rb</a></td><td class='right'>308</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/matrix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/matrix.rb</a></td><td class='right'>2336</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 1.9%;'/><td class='none' style='width: 97.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/matrix/eigenvalue_decomposition.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/matrix/eigenvalue_decomposition.rb</a></td><td class='right'>882</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/matrix/lup_decomposition.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/matrix/lup_decomposition.rb</a></td><td class='right'>219</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/matrix/matrix.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/matrix/matrix.gemspec</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/mkmf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/mkmf.rb</a></td><td class='right'>3670</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 2.6%;'/><td class='none' style='width: 96.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/monitor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/monitor.rb</a></td><td class='right'>388</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/mutex_m.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/mutex_m.gemspec</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/mutex_m.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/mutex_m.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/ftp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/ftp.rb</a></td><td class='right'>1436</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/http.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http.rb</a></td><td class='right'>2770</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 97.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/backward.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/backward.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/exceptions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/exceptions.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/generic_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/generic_request.rb</a></td><td class='right'>339</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/header.rb</a></td><td class='right'>496</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/proxy_delta.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/proxy_delta.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/request.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/requests.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/requests.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/response.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/response.rb</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/responses.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/responses.rb</a></td><td class='right'>307</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/net/http/status.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/http/status.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/https.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/https.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/imap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/imap.rb</a></td><td class='right'>1766</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/pop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/pop.rb</a></td><td class='right'>393</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/protocol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/protocol.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/net/smtp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/smtp.rb</a></td><td class='right'>849</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/net/telnet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/net/telnet.rb</a></td><td class='right'>742</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/observer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/observer.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/open-uri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/open-uri.rb</a></td><td class='right'>489</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/open3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/open3.rb</a></td><td class='right'>773</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/optionparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optionparser.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/optparse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse.rb</a></td><td class='right'>859</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/optparse/ac.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/ac.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/optparse/date.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/date.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/optparse/kwargs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/kwargs.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/optparse/shellwords.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/shellwords.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/optparse/time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/time.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/optparse/uri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/uri.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/optparse/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/optparse/version.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/ostruct.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/ostruct.gemspec</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/ostruct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/ostruct.rb</a></td><td class='right'>355</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/parsearg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/parsearg.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/parsedate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/parsedate.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/pathname.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/pathname.rb</a></td><td class='right'>1062</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/ping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/ping.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/pp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/pp.rb</a></td><td class='right'>510</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/prettyprint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/prettyprint.rb</a></td><td class='right'>780</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/prime.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/prime.gemspec</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/prime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/prime.rb</a></td><td class='right'>463</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/profile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/profile.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/profiler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/profiler.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/pstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/pstore.rb</a></td><td class='right'>404</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/racc/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/racc/parser.rb</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/racc/rdoc/grammar.en.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/racc/rdoc/grammar.en.rdoc</a></td><td class='right'>219</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rational.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rational.rb</a></td><td class='right'>530</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc.rb</a></td><td class='right'>180</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/README</a></td><td class='right'>489</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/alias.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/alias.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/anon_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/anon_class.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/any_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/any_method.rb</a></td><td class='right'>316</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/attr.rb</a></td><td class='right'>176</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/class_module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/class_module.rb</a></td><td class='right'>802</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/code_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/code_object.rb</a></td><td class='right'>421</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rdoc/code_objects.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/code_objects.rb</a></td><td class='right'>767</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/comment.rb</a></td><td class='right'>239</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/constant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/constant.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/context.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/context.rb</a></td><td class='right'>1258</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/context/section.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/context/section.rb</a></td><td class='right'>245</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/cross_reference.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/cross_reference.rb</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/diagram.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/diagram.rb</a></td><td class='right'>335</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/dot/dot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/dot/dot.rb</a></td><td class='right'>255</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/encoding.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/erb_partial.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/erb_partial.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/erbio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/erbio.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/extend.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/extend.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/darkfish.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/darkfish.rb</a></td><td class='right'>790</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/json_index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/json_index.rb</a></td><td class='right'>300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/markup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/markup.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/pot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/pot.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/pot/message_extractor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/pot/message_extractor.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/pot/po.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/pot/po.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/pot/po_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/pot/po_entry.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/ri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/ri.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_footer.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_footer.rhtml</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_head.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_head.rhtml</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/class.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/class.rhtml</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/css/fonts.css?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/css/fonts.css</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/css/rdoc.css?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/css/rdoc.css</a></td><td class='right'>590</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf</a></td><td class='right'>bin</td><td class='graph'>94668 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf</a></td><td class='right'>bin</td><td class='graph'>94196 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf</a></td><td class='right'>bin</td><td class='graph'>96184 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf</a></td><td class='right'>bin</td><td class='graph'>95316 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf</a></td><td class='right'>bin</td><td class='graph'>71200 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf</a></td><td class='right'>bin</td><td class='graph'>71692 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/add.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/add.png</a></td><td class='right'>bin</td><td class='graph'>733 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/arrow_up.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/arrow_up.png</a></td><td class='right'>bin</td><td class='graph'>372 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/brick.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/brick.png</a></td><td class='right'>bin</td><td class='graph'>452 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/brick_link.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/brick_link.png</a></td><td class='right'>bin</td><td class='graph'>764 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bug.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/bug.png</a></td><td class='right'>bin</td><td class='graph'>774 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bullet_black.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/bullet_black.png</a></td><td class='right'>bin</td><td class='graph'>211 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png</a></td><td class='right'>bin</td><td class='graph'>207 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png</a></td><td class='right'>bin</td><td class='graph'>209 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/date.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/date.png</a></td><td class='right'>bin</td><td class='graph'>626 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/delete.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/delete.png</a></td><td class='right'>bin</td><td class='graph'>715 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/find.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/find.png</a></td><td class='right'>bin</td><td class='graph'>659 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif</a></td><td class='right'>bin</td><td class='graph'>5886 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/macFFBgHack.png</a></td><td class='right'>bin</td><td class='graph'>207 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/package.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/package.png</a></td><td class='right'>bin</td><td class='graph'>853 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/page_green.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/page_green.png</a></td><td class='right'>bin</td><td class='graph'>621 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/page_white_text.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/page_white_text.png</a></td><td class='right'>bin</td><td class='graph'>342 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/page_white_width.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/page_white_width.png</a></td><td class='right'>bin</td><td class='graph'>309 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/plugin.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/plugin.png</a></td><td class='right'>bin</td><td class='graph'>591 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/ruby.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/ruby.png</a></td><td class='right'>bin</td><td class='graph'>592 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/tag_blue.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/tag_blue.png</a></td><td class='right'>bin</td><td class='graph'>1880 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/tag_green.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/tag_green.png</a></td><td class='right'>bin</td><td class='graph'>613 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/transparent.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/transparent.png</a></td><td class='right'>bin</td><td class='graph'>97 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/wrench.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/wrench.png</a></td><td class='right'>bin</td><td class='graph'>610 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/wrench_orange.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/wrench_orange.png</a></td><td class='right'>bin</td><td class='graph'>584 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/zoom.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/images/zoom.png</a></td><td class='right'>bin</td><td class='graph'>692 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/index.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/index.rhtml</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/js/darkfish.js?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/js/darkfish.js</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/js/jquery.js?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/js/jquery.js</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/js/search.js?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/js/search.js</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/page.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/page.rhtml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/servlet_root.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/servlet_root.rhtml</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/darkfish/table_of_contents.rhtml</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/json_index/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/json_index/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/json_index/js/navigation.js?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/json_index/js/navigation.js</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/generator/template/json_index/js/searcher.js?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generator/template/json_index/js/searcher.js</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/chm_generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/chm_generator.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/html_generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/html_generator.rb</a></td><td class='right'>1509</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/ri_generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/ri_generator.rb</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/chm/chm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/chm/chm.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/html/hefss.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/html/hefss.rb</a></td><td class='right'>418</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/html/html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/html/html.rb</a></td><td class='right'>711</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/html/kilmer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/html/kilmer.rb</a></td><td class='right'>435</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/html/old_html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/html/old_html.rb</a></td><td class='right'>728</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/html/one_page_html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/html/one_page_html.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/xml/rdf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/xml/rdf.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/template/xml/xml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/template/xml/xml.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generators/xml_generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/generators/xml_generator.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ghost_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ghost_method.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/i18n.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/i18n.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/i18n/locale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/i18n/locale.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/i18n/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/i18n/text.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/include.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/known_classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/known_classes.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markdown.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markdown.rb</a></td><td class='right'>16287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 17.6%;'/><td class='none' style='width: 82.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markdown/entities.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markdown/entities.rb</a></td><td class='right'>2132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 97.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markdown/literals.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markdown/literals.rb</a></td><td class='right'>417</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup.rb</a></td><td class='right'>868</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/.document</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/attr_changer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/attr_changer.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/attr_span.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/attr_span.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/attribute_manager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/attribute_manager.rb</a></td><td class='right'>344</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/attributes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/attributes.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/blank_line.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/blank_line.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/block_quote.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/block_quote.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/document.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/formatter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/formatter.rb</a></td><td class='right'>266</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/formatter_test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/formatter_test_case.rb</a></td><td class='right'>764</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/hard_break.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/hard_break.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/heading.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/heading.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/include.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/indented_paragraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/indented_paragraph.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/list.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/list_item.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/list_item.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/paragraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/paragraph.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/parser.rb</a></td><td class='right'>559</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/pre_process.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/pre_process.rb</a></td><td class='right'>296</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/raw.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/raw.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/regexp_handling.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/regexp_handling.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/rule.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/rule.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/sample/rdoc2latex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/sample/rdoc2latex.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/sample/sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/sample/sample.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup.rb</a></td><td class='right'>476</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/fragments.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/fragments.rb</a></td><td class='right'>328</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/inline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/inline.rb</a></td><td class='right'>340</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/lines.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/lines.rb</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/preprocess.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/preprocess.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/to_flow.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/to_flow.rb</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/to_html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/to_html.rb</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/simple_markup/to_latex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/simple_markup/to_latex.rb</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/test/AllTests.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/test/AllTests.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/test/TestInline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/test/TestInline.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markup/test/TestParse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/test/TestParse.rb</a></td><td class='right'>503</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/text_formatter_test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/text_formatter_test_case.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_ansi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_ansi.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_bs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_bs.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_html.rb</a></td><td class='right'>404</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_html_crossref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_html_crossref.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_html_snippet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_html_snippet.rb</a></td><td class='right'>285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_joined_paragraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_joined_paragraph.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_label.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_markdown.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_markdown.rb</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_rdoc.rb</a></td><td class='right'>334</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_table_of_contents.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_table_of_contents.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_test.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/to_tt_only.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/to_tt_only.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/markup/verbatim.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/markup/verbatim.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/meta_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/meta_method.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/method_attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/method_attr.rb</a></td><td class='right'>419</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/mixin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/mixin.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/normal_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/normal_class.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/normal_module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/normal_module.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rdoc/options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/options.rb</a></td><td class='right'>1649</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser.rb</a></td><td class='right'>277</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/c.rb</a></td><td class='right'>1269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/changelog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/changelog.rb</a></td><td class='right'>204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/markdown.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/markdown.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/rd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/rd.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/ripper_state_lex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/ripper_state_lex.rb</a></td><td class='right'>589</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/ruby.rb</a></td><td class='right'>2317</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.5%;'/><td class='none' style='width: 97.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/ruby_tools.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/ruby_tools.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/simple.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/simple.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/parser/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parser/text.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/parsers/parse_c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parsers/parse_c.rb</a></td><td class='right'>773</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/parsers/parse_f95.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parsers/parse_f95.rb</a></td><td class='right'>1841</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/parsers/parse_rb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parsers/parse_rb.rb</a></td><td class='right'>2605</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/parsers/parse_simple.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parsers/parse_simple.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/parsers/parserfactory.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/parsers/parserfactory.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/rd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rd.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/rd/block_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rd/block_parser.rb</a></td><td class='right'>1056</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/rd/inline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rd/inline.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/rd/inline_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rd/inline_parser.rb</a></td><td class='right'>1208</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/rdoc.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rdoc.gemspec</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rdoc/rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rdoc.rb</a></td><td class='right'>724</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/require.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ri/driver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/driver.rb</a></td><td class='right'>1568</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.7%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ri/formatter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/formatter.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ri/paths.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/paths.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_cache.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_cache.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_descriptions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_descriptions.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_display.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_display.rb</a></td><td class='right'>255</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_driver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_driver.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_formatter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_formatter.rb</a></td><td class='right'>672</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_options.rb</a></td><td class='right'>313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_paths.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_paths.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_reader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_reader.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_util.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/ri/ri_writer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/ri_writer.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ri/store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/store.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/ri/task.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/ri/task.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/rubygems_hook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/rubygems_hook.rb</a></td><td class='right'>246</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/servlet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/servlet.rb</a></td><td class='right'>443</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/single_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/single_class.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/stats.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/stats.rb</a></td><td class='right'>462</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/stats/normal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/stats/normal.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/stats/quiet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/stats/quiet.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/stats/verbose.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/stats/verbose.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/store.rb</a></td><td class='right'>987</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/task.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/task.rb</a></td><td class='right'>329</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/template.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/template.rb</a></td><td class='right'>234</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/text.rb</a></td><td class='right'>298</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/token_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/token_stream.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/tokenstream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/tokenstream.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/tom_doc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/tom_doc.rb</a></td><td class='right'>264</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/top_level.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/top_level.rb</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/usage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/usage.rb</a></td><td class='right'>210</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rdoc/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rdoc/version.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/readbytes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/readbytes.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/resolv-replace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/resolv-replace.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/resolv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/resolv.rb</a></td><td class='right'>2024</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/attlistdecl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/attlistdecl.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/attribute.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/attribute.rb</a></td><td class='right'>315</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/cdata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/cdata.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/child.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/child.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/comment.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/doctype.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/doctype.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/document.rb</a></td><td class='right'>416</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/dtd/attlistdecl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/dtd/attlistdecl.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/dtd/dtd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/dtd/dtd.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/dtd/elementdecl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/dtd/elementdecl.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/dtd/entitydecl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/dtd/entitydecl.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/dtd/notationdecl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/dtd/notationdecl.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/element.rb</a></td><td class='right'>2340</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 97.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encoding.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/CP-1252.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/CP-1252.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/EUC-JP.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/EUC-JP.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/ICONV.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/ICONV.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/ISO-8859-1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/ISO-8859-1.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/ISO-8859-15.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/ISO-8859-15.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/SHIFT-JIS.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/SHIFT-JIS.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/SHIFT_JIS.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/SHIFT_JIS.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/UNILE.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/UNILE.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/US-ASCII.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/US-ASCII.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/UTF-16.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/UTF-16.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rexml/encodings/UTF-8.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/encodings/UTF-8.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/entity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/entity.rb</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rexml/formatters/default.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/formatters/default.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rexml/formatters/pretty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/formatters/pretty.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rexml/formatters/transitive.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/formatters/transitive.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/functions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/functions.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/instruction.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/instruction.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/light/node.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/light/node.rb</a></td><td class='right'>384</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/namespace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/namespace.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/node.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/node.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/output.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/output.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parent.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parseexception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parseexception.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/baseparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/baseparser.rb</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/lightparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/lightparser.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/pullparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/pullparser.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/sax2parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/sax2parser.rb</a></td><td class='right'>443</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/streamparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/streamparser.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/treeparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/treeparser.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/ultralightparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/ultralightparser.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/parsers/xpathparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/parsers/xpathparser.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/quickpath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/quickpath.rb</a></td><td class='right'>500</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rexml/rexml.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/rexml.gemspec</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/rexml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/rexml.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/sax2listener.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/sax2listener.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rexml/security.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/security.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/source.rb</a></td><td class='right'>455</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/streamlistener.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/streamlistener.rb</a></td><td class='right'>181</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/syncenumerator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/syncenumerator.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/text.rb</a></td><td class='right'>265</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rexml/undefinednamespaceexception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/undefinednamespaceexception.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/validation/relaxng.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/validation/relaxng.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/validation/validation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/validation/validation.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/validation/validationexception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/validation/validationexception.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/xmldecl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/xmldecl.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/xmltokens.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/xmltokens.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/xpath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/xpath.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rexml/xpath_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rexml/xpath_parser.rb</a></td><td class='right'>955</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rinda/rinda.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rinda/rinda.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rinda/ring.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rinda/ring.rb</a></td><td class='right'>369</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rinda/tuplespace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rinda/tuplespace.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/0.9.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/0.9.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/1.0.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/2.0.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/atom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/atom.rb</a></td><td class='right'>1025</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/content.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/content.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/content/1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/content/1.0.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/content/2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/content/2.0.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/converter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/converter.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/dublincore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/dublincore.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/dublincore/1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/dublincore/1.0.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/dublincore/2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/dublincore/2.0.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/dublincore/atom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/dublincore/atom.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/image.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/image.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/itunes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/itunes.rb</a></td><td class='right'>413</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/0.9.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/0.9.rb</a></td><td class='right'>455</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/1.0.rb</a></td><td class='right'>348</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/2.0.rb</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/maker/atom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/atom.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/base.rb</a></td><td class='right'>971</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/content.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/content.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/dublincore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/dublincore.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/maker/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/entry.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/maker/feed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/feed.rb</a></td><td class='right'>427</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/image.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/image.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/maker/itunes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/itunes.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/maker/slash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/slash.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/syndication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/syndication.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/taxonomy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/taxonomy.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/maker/trackback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/maker/trackback.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/parser.rb</a></td><td class='right'>251</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/rexmlparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/rexmlparser.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/rss.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/rss.gemspec</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/rss.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/rss.rb</a></td><td class='right'>821</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/slash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/slash.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/syndication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/syndication.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/taxonomy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/taxonomy.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/trackback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/trackback.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/utils.rb</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/xml-stylesheet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/xml-stylesheet.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rss/xml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/xml.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/xmlparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/xmlparser.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/rss/xmlscanner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rss/xmlscanner.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems.rb</a></td><td class='right'>1397</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/available_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/available_set.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/basic_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/basic_specification.rb</a></td><td class='right'>332</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/bundler_version_finder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/bundler_version_finder.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/command.rb</a></td><td class='right'>609</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/command_manager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/command_manager.rb</a></td><td class='right'>232</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/build_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/build_command.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/cert_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/cert_command.rb</a></td><td class='right'>323</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/check_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/check_command.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/cleanup_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/cleanup_command.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/contents_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/contents_command.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/dependency_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/dependency_command.rb</a></td><td class='right'>218</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/environment_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/environment_command.rb</a></td><td class='right'>179</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/fetch_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/fetch_command.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/generate_index_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/generate_index_command.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/help_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/help_command.rb</a></td><td class='right'>374</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/info_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/info_command.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/install_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/install_command.rb</a></td><td class='right'>314</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/list_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/list_command.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/lock_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/lock_command.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/mirror_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/mirror_command.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/open_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/open_command.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/outdated_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/outdated_command.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/owner_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/owner_command.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/pristine_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/pristine_command.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/push_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/push_command.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/query_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/query_command.rb</a></td><td class='right'>359</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/rdoc_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/rdoc_command.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/search_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/search_command.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/server_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/server_command.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/setup_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/setup_command.rb</a></td><td class='right'>629</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/signin_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/signin_command.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/signout_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/signout_command.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/sources_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/sources_command.rb</a></td><td class='right'>210</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/specification_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/specification_command.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/stale_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/stale_command.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/uninstall_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/uninstall_command.rb</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/unpack_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/unpack_command.rb</a></td><td class='right'>204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/update_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/update_command.rb</a></td><td class='right'>284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/which_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/which_command.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/commands/yank_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/commands/yank_command.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/compatibility.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/compatibility.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/config_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/config_file.rb</a></td><td class='right'>487</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/core_ext/kernel_gem.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/core_ext/kernel_gem.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/core_ext/kernel_require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/core_ext/kernel_require.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/core_ext/kernel_warn.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/core_ext/kernel_warn.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/defaults.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/defaults.rb</a></td><td class='right'>215</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/dependency.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/dependency.rb</a></td><td class='right'>336</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/dependency_installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/dependency_installer.rb</a></td><td class='right'>495</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/dependency_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/dependency_list.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/deprecate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/deprecate.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/doctor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/doctor.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/errors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/errors.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/exceptions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/exceptions.rb</a></td><td class='right'>287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext/build_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext/build_error.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext/builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext/builder.rb</a></td><td class='right'>248</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext/cmake_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext/cmake_builder.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext/configure_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext/configure_builder.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext/ext_conf_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext/ext_conf_builder.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ext/rake_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ext/rake_builder.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/gem_runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/gem_runner.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/gemcutter_utilities.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/gemcutter_utilities.rb</a></td><td class='right'>198</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/indexer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/indexer.rb</a></td><td class='right'>442</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/install_default_message.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/install_default_message.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/install_message.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/install_message.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/install_update_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/install_update_options.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/installer.rb</a></td><td class='right'>929</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/installer_test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/installer_test_case.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/local_remote_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/local_remote_options.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/mock_gem_ui.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/mock_gem_ui.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/name_tuple.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/name_tuple.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package.rb</a></td><td class='right'>693</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/digest_io.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/digest_io.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/file_source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/file_source.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/io_source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/io_source.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/old.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/old.rb</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/source.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/tar_header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/tar_header.rb</a></td><td class='right'>236</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/tar_reader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/tar_reader.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/tar_reader/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/tar_reader/entry.rb</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/tar_test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/tar_test_case.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package/tar_writer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package/tar_writer.rb</a></td><td class='right'>338</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/package_task.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/package_task.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/path_support.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/path_support.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/platform.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/platform.rb</a></td><td class='right'>205</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/psych_additions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/psych_additions.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/psych_tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/psych_tree.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/rdoc.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/remote_fetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/remote_fetcher.rb</a></td><td class='right'>405</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request.rb</a></td><td class='right'>294</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request/connection_pools.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request/connection_pools.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request/http_pool.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request/http_pool.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request/https_pool.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request/https_pool.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request_set.rb</a></td><td class='right'>479</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request_set/gem_dependency_api.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request_set/gem_dependency_api.rb</a></td><td class='right'>845</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request_set/lockfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request_set/lockfile.rb</a></td><td class='right'>238</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request_set/lockfile/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request_set/lockfile/parser.rb</a></td><td class='right'>343</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/request_set/lockfile/tokenizer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/request_set/lockfile/tokenizer.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/requirement.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/requirement.rb</a></td><td class='right'>300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver.rb</a></td><td class='right'>343</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/activation_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/activation_request.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/api_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/api_set.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/api_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/api_specification.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/best_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/best_set.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/composed_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/composed_set.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/conflict.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/conflict.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/current_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/current_set.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/dependency_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/dependency_request.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/git_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/git_set.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/git_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/git_specification.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/index_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/index_set.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/index_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/index_specification.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/installed_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/installed_specification.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/installer_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/installer_set.rb</a></td><td class='right'>227</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/local_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/local_specification.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/lock_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/lock_set.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/lock_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/lock_specification.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb</a></td><td class='right'>222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb</a></td><td class='right'>494</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/molinillo/lib/molinillo/state.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/requirement_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/requirement_list.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/set.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/source_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/source_set.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/spec_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/spec_specification.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/specification.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/stats.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/stats.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/vendor_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/vendor_set.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/resolver/vendor_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/resolver/vendor_specification.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/safe_yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/safe_yaml.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/security.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/security.rb</a></td><td class='right'>607</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/security/policies.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/security/policies.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/security/policy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/security/policy.rb</a></td><td class='right'>295</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/security/signer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/security/signer.rb</a></td><td class='right'>205</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/security/trust_dir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/security/trust_dir.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/security_option.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/security_option.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/server.rb</a></td><td class='right'>878</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source.rb</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source/git.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source/git.rb</a></td><td class='right'>241</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source/installed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source/installed.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source/local.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source/local.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source/lock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source/lock.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source/specific_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source/specific_file.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source/vendor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source/vendor.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source_list.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source_local.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source_local.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/source_specific_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/source_specific_file.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/spec_fetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/spec_fetcher.rb</a></td><td class='right'>273</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/specification.rb</a></td><td class='right'>2750</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.0%;'/><td class='none' style='width: 97.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/specification_policy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/specification_policy.rb</a></td><td class='right'>407</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ssl_certs/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ssl_certs/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/stub_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/stub_specification.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/syck_hack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/syck_hack.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/test_case.rb</a></td><td class='right'>1631</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/test_utilities.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/test_utilities.rb</a></td><td class='right'>369</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/text.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/uninstaller.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/uninstaller.rb</a></td><td class='right'>357</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/uri_formatter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/uri_formatter.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/user_interaction.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/user_interaction.rb</a></td><td class='right'>654</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/util.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/util/licenses.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/util/licenses.rb</a></td><td class='right'>437</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/util/list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/util/list.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/validator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/validator.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/version.rb</a></td><td class='right'>398</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/rubygems/version_option.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubygems/version_option.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rubyunit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/rubyunit.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/assert.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/assert.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/cui/testrunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/cui/testrunner.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/error.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/testcase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/testcase.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/testresult.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/testresult.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/testsuite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/testsuite.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/runit/topublic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/runit/topublic.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/scanf.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/scanf.gemspec</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/scanf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/scanf.rb</a></td><td class='right'>784</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/securerandom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/securerandom.rb</a></td><td class='right'>314</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/set.rb</a></td><td class='right'>1410</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell.rb</a></td><td class='right'>327</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/builtin-command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/builtin-command.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/command-processor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/command-processor.rb</a></td><td class='right'>732</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/error.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/filter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/filter.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/process-controller.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/process-controller.rb</a></td><td class='right'>347</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/shell/shell.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/shell.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/system-command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/system-command.rb</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shell/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shell/version.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/shellwords.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/shellwords.rb</a></td><td class='right'>251</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/singleton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/singleton.rb</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/attachment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/attachment.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/baseData.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/baseData.rb</a></td><td class='right'>942</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/element.rb</a></td><td class='right'>258</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/encodingstyle/aspDotNetHandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/encodingstyle/aspDotNetHandler.rb</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/encodingstyle/handler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/encodingstyle/handler.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/encodingstyle/literalHandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/encodingstyle/literalHandler.rb</a></td><td class='right'>226</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/encodingstyle/soapHandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/encodingstyle/soapHandler.rb</a></td><td class='right'>582</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/generator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/generator.rb</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/header/handler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/header/handler.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/header/handlerset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/header/handlerset.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/header/simplehandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/header/simplehandler.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/httpconfigloader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/httpconfigloader.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/factory.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/factory.rb</a></td><td class='right'>355</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/mapping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/mapping.rb</a></td><td class='right'>381</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/registry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/registry.rb</a></td><td class='right'>541</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/rubytypeFactory.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/rubytypeFactory.rb</a></td><td class='right'>475</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/typeMap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/typeMap.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/wsdlencodedregistry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/wsdlencodedregistry.rb</a></td><td class='right'>280</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mapping/wsdlliteralregistry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mapping/wsdlliteralregistry.rb</a></td><td class='right'>418</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/marshal.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/mimemessage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/mimemessage.rb</a></td><td class='right'>240</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/netHttpClient.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/netHttpClient.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/parser.rb</a></td><td class='right'>251</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/processor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/processor.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/property.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/property.rb</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/cgistub.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/cgistub.rb</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/driver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/driver.rb</a></td><td class='right'>254</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/element.rb</a></td><td class='right'>325</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/httpserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/httpserver.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/proxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/proxy.rb</a></td><td class='right'>497</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/router.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/router.rb</a></td><td class='right'>594</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/rpc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/rpc.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/soaplet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/soaplet.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/rpc/standaloneServer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/rpc/standaloneServer.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/soap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/soap.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/streamHandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/streamHandler.rb</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/soap/wsdlDriver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/soap/wsdlDriver.rb</a></td><td class='right'>575</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/sync.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/sync.gemspec</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/sync.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/sync.rb</a></td><td class='right'>349</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/tempfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/tempfile.rb</a></td><td class='right'>407</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit.rb</a></td><td class='right'>280</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/assertionfailederror.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/assertionfailederror.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/assertions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/assertions.rb</a></td><td class='right'>622</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/autorunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/autorunner.rb</a></td><td class='right'>219</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/collector.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/collector.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/collector/dir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/collector/dir.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/collector/objectspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/collector/objectspace.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/error.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/failure.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/failure.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/testcase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/testcase.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/testresult.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/testresult.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/testsuite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/testsuite.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/console/testrunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/console/testrunner.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/fox/testrunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/fox/testrunner.rb</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/gtk/testrunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/gtk/testrunner.rb</a></td><td class='right'>416</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/gtk2/testrunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/gtk2/testrunner.rb</a></td><td class='right'>465</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/testrunnermediator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/testrunnermediator.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/testrunnerutilities.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/testrunnerutilities.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/ui/tk/testrunner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/ui/tk/testrunner.rb</a></td><td class='right'>260</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/util/backtracefilter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/util/backtracefilter.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/util/observable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/util/observable.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/test/unit/util/procwrapper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/test/unit/util/procwrapper.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/thread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/thread.rb</a></td><td class='right'>479</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/thwait.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/thwait.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/thwait/thwait.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/thwait/thwait.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/thwait/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/thwait/version.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/time.rb</a></td><td class='right'>882</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/timeout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/timeout.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/tmpdir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/tmpdir.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/tracer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/tracer.rb</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/tracer/tracer.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/tracer/tracer.gemspec</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/tracer/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/tracer/version.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/tsort.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/tsort.rb</a></td><td class='right'>318</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/un.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/un.rb</a></td><td class='right'>255</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/unicode_normalize/normalize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/unicode_normalize/normalize.rb</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/unicode_normalize/tables.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/unicode_normalize/tables.rb</a></td><td class='right'>1174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/common.rb</a></td><td class='right'>875</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/uri/file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/file.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/ftp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/ftp.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/generic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/generic.rb</a></td><td class='right'>1168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/http.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/http.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/https.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/https.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/ldap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/ldap.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/uri/ldaps.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/ldaps.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/uri/mailto.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/mailto.rb</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/uri/rfc2396_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/rfc2396_parser.rb</a></td><td class='right'>546</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/uri/rfc3986_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/uri/rfc3986_parser.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/weakref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/weakref.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick.rb</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/webrick/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/.document</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/accesslog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/accesslog.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/cgi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/cgi.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/compat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/compat.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/config.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/cookie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/cookie.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/htmlutils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/htmlutils.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/authenticator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/authenticator.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/basicauth.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/basicauth.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/digestauth.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/digestauth.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/htdigest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/htdigest.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/htgroup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/htgroup.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/htpasswd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/htpasswd.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpauth/userdb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpauth/userdb.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpproxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpproxy.rb</a></td><td class='right'>340</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httprequest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httprequest.rb</a></td><td class='right'>381</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpresponse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpresponse.rb</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/https.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/https.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpserver.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet/abstract.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet/abstract.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet/cgi_runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet/cgi_runner.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet/cgihandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet/cgihandler.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet/erbhandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet/erbhandler.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet/filehandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet/filehandler.rb</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpservlet/prochandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpservlet/prochandler.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpstatus.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpstatus.rb</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httputils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httputils.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/httpversion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/httpversion.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/log.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/log.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/server.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/ssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/ssl.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/utils.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/webrick/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/version.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/webrick/webrick.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/webrick/webrick.gemspec</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/binding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/binding.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/data.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/definitions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/definitions.rb</a></td><td class='right'>250</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/documentation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/documentation.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/import.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/import.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/importer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/importer.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/info.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/info.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/message.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/message.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/operation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/operation.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/operationBinding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/operationBinding.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/param.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/param.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/parser.rb</a></td><td class='right'>163</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/part.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/part.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/port.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/port.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/portType.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/portType.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/service.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/service.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/address.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/address.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/binding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/binding.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/body.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/body.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/cgiStubCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/cgiStubCreator.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/classDefCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/classDefCreator.rb</a></td><td class='right'>314</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/classDefCreatorSupport.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/classDefCreatorSupport.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/clientSkeltonCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/clientSkeltonCreator.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/complexType.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/complexType.rb</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/data.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/definitions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/definitions.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/driverCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/driverCreator.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/element.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/fault.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/fault.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/header.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/headerfault.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/headerfault.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/mappingRegistryCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/mappingRegistryCreator.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/methodDefCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/methodDefCreator.rb</a></td><td class='right'>228</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/operation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/operation.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/servantSkeltonCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/servantSkeltonCreator.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/standaloneServerStubCreator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/standaloneServerStubCreator.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/soap/wsdl2ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/soap/wsdl2ruby.rb</a></td><td class='right'>176</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/types.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/types.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/wsdl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/wsdl.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/all.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/all.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/annotation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/annotation.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/any.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/any.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/attribute.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/attribute.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/choice.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/choice.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/complexContent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/complexContent.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/complexType.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/complexType.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/content.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/content.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/data.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/element.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/enumeration.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/enumeration.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/import.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/import.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/importer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/importer.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/include.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/length.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/parser.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/pattern.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/pattern.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/schema.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/schema.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/sequence.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/sequence.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/simpleContent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/simpleContent.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/simpleExtension.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/simpleExtension.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/simpleRestriction.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/simpleRestriction.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/simpleType.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/simpleType.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/unique.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/unique.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/wsdl/xmlSchema/xsd2ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/wsdl/xmlSchema/xsd2ruby.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/README.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/README.txt</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/base64.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/base64.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/client.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/client.rb</a></td><td class='right'>616</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/config.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/create.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/create.rb</a></td><td class='right'>290</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/datetime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/datetime.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/httpserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/httpserver.rb</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/marshal.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/parser.rb</a></td><td class='right'>813</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/server.rb</a></td><td class='right'>780</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xmlrpc/utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xmlrpc/utils.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/charset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/charset.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/codegen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/codegen.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/codegen/classdef.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/codegen/classdef.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/codegen/commentdef.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/codegen/commentdef.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/codegen/gensupport.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/codegen/gensupport.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/codegen/methoddef.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/codegen/methoddef.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/codegen/moduledef.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/codegen/moduledef.rb</a></td><td class='right'>191</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/datatypes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/datatypes.rb</a></td><td class='right'>1269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/datatypes1999.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/datatypes1999.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/iconvcharset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/iconvcharset.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/mapping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/mapping.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/namedelements.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/namedelements.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/ns.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/ns.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/qname.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/qname.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/xmlparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/xmlparser.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/xmlparser/parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/xmlparser/parser.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/xmlparser/rexmlparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/xmlparser/rexmlparser.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/xmlparser/xmlparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/xmlparser/xmlparser.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/xsd/xmlparser/xmlscanner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/xsd/xmlparser/xmlscanner.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml.rb</a></td><td class='right'>467</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/baseemitter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/baseemitter.rb</a></td><td class='right'>247</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/basenode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/basenode.rb</a></td><td class='right'>216</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/constants.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/yaml/dbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/dbm.rb</a></td><td class='right'>201</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/encoding.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/error.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/loader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/loader.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/rubytypes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/rubytypes.rb</a></td><td class='right'>408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/lib/yaml/store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/store.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/stream.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/stringio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/stringio.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/syck.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/syck.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/tag.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/types.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/types.rb</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/yamlnode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/yamlnode.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/yaml/ypath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>lib/yaml/ypath.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/libexec/bundle?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>libexec/bundle</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/libexec/bundle_ruby?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>libexec/bundle_ruby</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/libexec/bundler?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>libexec/bundler</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/libexec/irb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>libexec/irb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/libexec/rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>libexec/rdoc</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/libexec/ri?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>libexec/ri</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/load.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>load.c</a></td><td class='right'>1244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/loadpath.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>loadpath.c</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/localeinit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>localeinit.c</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/main.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>main.c</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-add.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-add.1</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-add.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-add.1.txt</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-add.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-add.ronn</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-binstubs.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-binstubs.1</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-binstubs.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-binstubs.1.txt</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-binstubs.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-binstubs.ronn</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-check.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-check.1</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-check.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-check.1.txt</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-check.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-check.ronn</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-clean.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-clean.1</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-clean.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-clean.1.txt</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-clean.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-clean.ronn</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-config.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-config.1</a></td><td class='right'>497</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-config.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-config.1.txt</a></td><td class='right'>529</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-config.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-config.ronn</a></td><td class='right'>397</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-doctor.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-doctor.1</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-doctor.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-doctor.1.txt</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-doctor.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-doctor.ronn</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-exec.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-exec.1</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-exec.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-exec.1.txt</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-exec.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-exec.ronn</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-gem.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-gem.1</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-gem.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-gem.1.txt</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-gem.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-gem.ronn</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-info.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-info.1</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-info.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-info.1.txt</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-info.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-info.ronn</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-init.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-init.1</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-init.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-init.1.txt</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-init.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-init.ronn</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-inject.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-inject.1</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-inject.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-inject.1.txt</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-inject.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-inject.ronn</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-install.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-install.1</a></td><td class='right'>308</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-install.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-install.1.txt</a></td><td class='right'>396</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-install.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-install.ronn</a></td><td class='right'>378</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-list.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-list.1</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-list.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-list.1.txt</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-list.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-list.ronn</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-lock.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-lock.1</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-lock.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-lock.1.txt</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-lock.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-lock.ronn</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-open.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-open.1</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-open.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-open.1.txt</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-open.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-open.ronn</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-outdated.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-outdated.1</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-outdated.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-outdated.1.txt</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-outdated.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-outdated.ronn</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-package.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-package.1</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-package.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-package.1.txt</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-package.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-package.ronn</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-platform.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-platform.1</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-platform.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-platform.1.txt</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-platform.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-platform.ronn</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-pristine.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-pristine.1</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-pristine.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-pristine.1.txt</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-pristine.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-pristine.ronn</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-remove.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-remove.1</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-remove.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-remove.1.txt</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-remove.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-remove.ronn</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-show.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-show.1</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-show.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-show.1.txt</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-show.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-show.ronn</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-update.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-update.1</a></td><td class='right'>394</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-update.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-update.1.txt</a></td><td class='right'>391</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-update.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-update.ronn</a></td><td class='right'>350</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-viz.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-viz.1</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-viz.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-viz.1.txt</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle-viz.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle-viz.ronn</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle.1</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle.1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle.1.txt</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/bundle.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/bundle.ronn</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/erb.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/erb.1</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/gemfile.5?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/gemfile.5</a></td><td class='right'>689</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/gemfile.5.ronn?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/gemfile.5.ronn</a></td><td class='right'>521</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/gemfile.5.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/gemfile.5.txt</a></td><td class='right'>653</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/goruby.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/goruby.1</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/irb.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/irb.1</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/ri.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/ri.1</a></td><td class='right'>247</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/man/ruby.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>man/ruby.1</a></td><td class='right'>664</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/marshal.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>marshal.c</a></td><td class='right'>2011</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/math.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>math.c</a></td><td class='right'>976</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/mdoc2man.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>mdoc2man.rb</a></td><td class='right'>465</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/method.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>method.h</a></td><td class='right'>228</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/miniinit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>miniinit.c</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/misc/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/README</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/misc/inf-ruby.el?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/inf-ruby.el</a></td><td class='right'>409</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/misc/lldb_cruby.py?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/lldb_cruby.py</a></td><td class='right'>257</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/misc/rb_optparse.bash?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/rb_optparse.bash</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/misc/rb_optparse.zsh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/rb_optparse.zsh</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/misc/ruby-electric.el?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/ruby-electric.el</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/misc/ruby-mode.el?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/ruby-mode.el</a></td><td class='right'>1206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/misc/ruby-style.el?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/ruby-style.el</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/misc/rubydb2x.el?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/rubydb2x.el</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/misc/rubydb3x.el?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/rubydb3x.el</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/misc/test_lldb_cruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>misc/test_lldb_cruby.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing.h</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/acosh.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/acosh.c</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/alloca.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/alloca.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/cbrt.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/cbrt.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/close.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/close.c</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/crt_externs.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/crt_externs.h</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/crypt.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/crypt.c</a></td><td class='right'>651</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/crypt.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/crypt.h</a></td><td class='right'>248</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/des_tables.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/des_tables.c</a></td><td class='right'>1616</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.7%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/dup2.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/dup2.c</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/erf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/erf.c</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/explicit_bzero.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/explicit_bzero.c</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/ffs.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/ffs.c</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/file.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/file.h</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/finite.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/finite.c</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/flock.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/flock.c</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/hypot.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/hypot.c</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/isinf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/isinf.c</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/isnan.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/isnan.c</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/langinfo.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/langinfo.c</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/lgamma_r.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/lgamma_r.c</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/memcmp.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/memcmp.c</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/memmove.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/memmove.c</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/nan.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/nan.c</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/nextafter.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/nextafter.c</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/os2.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/os2.c</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/setproctitle.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/setproctitle.c</a></td><td class='right'>176</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/signbit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/signbit.c</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/stdbool.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/stdbool.h</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/strcasecmp.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strcasecmp.c</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/strchr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strchr.c</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/strerror.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strerror.c</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/strftime.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strftime.c</a></td><td class='right'>907</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/strlcat.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strlcat.c</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/strlcpy.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strlcpy.c</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/strncasecmp.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strncasecmp.c</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/missing/strstr.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strstr.c</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/strtod.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strtod.c</a></td><td class='right'>271</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/strtol.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strtol.c</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/strtoul.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/strtoul.c</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/tgamma.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/tgamma.c</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/vsnprintf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/vsnprintf.c</a></td><td class='right'>1135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/missing/x68.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/x68.c</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/missing/x86_64-chkstk.s?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>missing/x86_64-chkstk.s</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/mjit.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>mjit.c</a></td><td class='right'>877</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/mjit.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>mjit.h</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/mjit_compile.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>mjit_compile.c</a></td><td class='right'>254</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/mjit_worker.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>mjit_worker.c</a></td><td class='right'>1253</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/mkconfig.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>mkconfig.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/node.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>node.c</a></td><td class='right'>1148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/node.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>node.h</a></td><td class='right'>541</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/numeric.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>numeric.c</a></td><td class='right'>5715</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.6%;'/><td class='rem' style='width: 4.6%;'/><td class='none' style='width: 93.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/object.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>object.c</a></td><td class='right'>4254</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 3.1%;'/><td class='none' style='width: 95.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/pack.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>pack.c</a></td><td class='right'>2160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.2%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 97.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/parse.y?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>parse.y</a></td><td class='right'>12865</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.1%;'/><td class='rem' style='width: 9.8%;'/><td class='none' style='width: 86.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/prec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>prec.c</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/prelude.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>prelude.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/probes.d?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>probes.d</a></td><td class='right'>234</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/probes_helper.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>probes_helper.h</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/proc.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>proc.c</a></td><td class='right'>3568</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.8%;'/><td class='none' style='width: 96.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/process.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>process.c</a></td><td class='right'>7566</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 6.7%;'/><td class='none' style='width: 91.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/random.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>random.c</a></td><td class='right'>1769</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/range.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>range.c</a></td><td class='right'>1651</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/rational.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>rational.c</a></td><td class='right'>2805</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.0%;'/><td class='none' style='width: 97.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/re.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>re.c</a></td><td class='right'>4195</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 3.2%;'/><td class='none' style='width: 95.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/re.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>re.h</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regcomp.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regcomp.c</a></td><td class='right'>6743</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.3%;'/><td class='none' style='width: 92.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regenc.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regenc.c</a></td><td class='right'>1012</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regenc.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regenc.h</a></td><td class='right'>254</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regerror.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regerror.c</a></td><td class='right'>386</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/regex.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regex.c</a></td><td class='right'>4648</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 5.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/regex.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regex.h</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regexec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regexec.c</a></td><td class='right'>4619</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 5.0%;'/><td class='none' style='width: 95.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regint.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regint.h</a></td><td class='right'>938</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regparse.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regparse.c</a></td><td class='right'>6637</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.2%;'/><td class='none' style='width: 92.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regparse.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regparse.h</a></td><td class='right'>370</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/regsyntax.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>regsyntax.c</a></td><td class='right'>388</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ruby-runner.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ruby-runner.c</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ruby.1?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ruby.1</a></td><td class='right'>351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/ruby.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ruby.c</a></td><td class='right'>2655</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ruby.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ruby.h</a></td><td class='right'>759</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ruby_assert.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ruby_assert.h</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ruby_atomic.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>ruby_atomic.h</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/rubyio.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>rubyio.h</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/rubysig.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>rubysig.h</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/rubystub.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>rubystub.c</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/rubytest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>rubytest.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/runruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>runruby.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/safe.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>safe.c</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/README</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/benchmark.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/benchmark.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/biorhythm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/biorhythm.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/cal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/cal.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/cbreak.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/cbreak.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/cgi-session-pstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/cgi-session-pstore.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/coverage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/coverage.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/dbmtest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/dbmtest.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/delegate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/delegate.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/dir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/dir.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/drb/README.ja.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/README.ja.rdoc</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/drb/README.rd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/README.rd</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/drb/README.rd.ja?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/README.rd.ja</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/drb/README.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/README.rdoc</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/drb/acl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/acl.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/darray.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/darray.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/darrayc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/darrayc.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dbiff.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dbiff.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dchatc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dchatc.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dchats.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dchats.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dhasen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dhasen.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dhasenc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dhasenc.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dlogc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dlogc.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dlogd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dlogd.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dqin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dqin.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dqout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dqout.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/dqueue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/dqueue.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/drbc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/drbc.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/drbch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/drbch.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/drbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/drbm.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/drbmc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/drbmc.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/drbs-acl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/drbs-acl.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/drbs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/drbs.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/extserv_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/extserv_test.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/gw_cu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/gw_cu.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/holderc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/holderc.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/holders.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/holders.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/http0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/http0.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/http0serv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/http0serv.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/name.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/namec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/namec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/old_tuplespace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/old_tuplespace.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/ring_echo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/ring_echo.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/ring_place.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/ring_place.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/simpletuple.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/simpletuple.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/speedc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/speedc.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/drb/speeds.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/drb/speeds.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/dualstack-fetch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/dualstack-fetch.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/dualstack-httpd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/dualstack-httpd.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/eval.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/export.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/export.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/exyacc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/exyacc.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/fib.awk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/fib.awk</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/fib.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/fib.pl</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/fib.scm?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/fib.scm</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/freq.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/freq.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/from.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/from.rb</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/fullpath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/fullpath.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/getopts.test?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/getopts.test</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/goodfriday.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/goodfriday.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/iseq_loader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/iseq_loader.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/list.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/list2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/list2.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/list3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/list3.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/logger/app.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/logger/app.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/sample/mine.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/mine.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/mkproto.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/mkproto.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/mrshtest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/mrshtest.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/net-imap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/net-imap.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/observ.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/observ.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/occur.pl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/occur.pl</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/occur.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/occur.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/occur2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/occur2.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/open3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/open3.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/c_rehash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/c_rehash.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/openssl/cert_store_view.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/cert_store_view.rb</a></td><td class='right'>911</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/certstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/certstore.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/cipher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/cipher.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/crlstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/crlstore.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/echo_cli.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/echo_cli.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/echo_svr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/echo_svr.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/gen_csr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/gen_csr.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/smime_read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/smime_read.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/smime_write.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/smime_write.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/openssl/wget.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/openssl/wget.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/sample/optparse/opttest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/optparse/opttest.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/philos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/philos.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/pstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/pstore.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/pty/expect_sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/pty/expect_sample.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/pty/script.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/pty/script.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/pty/shl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/pty/shl.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/rcs.awk?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rcs.awk</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/rdoc/markup/rdoc2latex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rdoc/markup/rdoc2latex.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/rdoc/markup/sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rdoc/markup/sample.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/regx.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/regx.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/rinda-ring.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rinda-ring.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/ripper/ruby2html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/ripper/ruby2html.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/ripper/strip-comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/ripper/strip-comment.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/sample/rss/blend.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rss/blend.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/sample/rss/convert.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rss/convert.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/sample/rss/list_description.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rss/list_description.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/sample/rss/re_read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rss/re_read.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/sample/rss/rss_recent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/rss/rss_recent.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/simple-bench.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/simple-bench.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/svr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/svr.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/tempfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/tempfile.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--<span class='modechange'>[-rwxr-xr-x]</span></td><td class='upd'><a href='/ruby.git/diff/sample/test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/test.rb</a></td><td class='right'>2038</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/time.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/timeout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/timeout.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/README.md</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/kinaba/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/kinaba/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/kinaba/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/kinaba/entry.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/kinaba/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/kinaba/remarks.markdown</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/mame/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/mame/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/mame/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/mame/entry.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/mame/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/mame/remarks.markdown</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/shinh/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/shinh/authors.markdown</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/shinh/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/shinh/entry.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/shinh/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/shinh/remarks.markdown</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/yhara/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/yhara/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/yhara/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/yhara/entry.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/yhara/remarks.en.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/yhara/remarks.en.markdown</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2013/yhara/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2013/yhara/remarks.markdown</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/README.md</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/eregon/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/eregon/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/eregon/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/eregon/entry.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/eregon/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/eregon/remarks.markdown</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/kinaba/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/kinaba/authors.markdown</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/kinaba/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/kinaba/entry.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/kinaba/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/kinaba/remarks.markdown</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_1/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_1/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_1/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_1/entry.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_1/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_1/remarks.markdown</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/abnormal.cnf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/abnormal.cnf</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/entry.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/quinn.cnf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/quinn.cnf</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/remarks.markdown</a></td><td class='right'>204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/sample.cnf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/sample.cnf</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/uf20-01.cnf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/uf20-01.cnf</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/ksk_2/unsat.cnf?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/ksk_2/unsat.cnf</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/monae/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/monae/authors.markdown</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/monae/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/monae/entry.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2015/monae/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2015/monae/remarks.markdown</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/01-kinaba/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/01-kinaba/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/01-kinaba/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/01-kinaba/entry.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/01-kinaba/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/01-kinaba/remarks.markdown</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/02-mame/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/02-mame/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/02-mame/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/02-mame/entry.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/02-mame/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/02-mame/remarks.markdown</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/Gemfile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/Gemfile</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/Gemfile.lock?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/Gemfile.lock</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/entry.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/output.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/output.txt</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/remarks.markdown</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/03-tompng/trick.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/03-tompng/trick.png</a></td><td class='right'>bin</td><td class='graph'>5661 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/04-colin/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/04-colin/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/04-colin/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/04-colin/entry.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/04-colin/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/04-colin/remarks.markdown</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/05-tompng/authors.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/05-tompng/authors.markdown</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/05-tompng/entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/05-tompng/entry.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/05-tompng/preview_of_output.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/05-tompng/preview_of_output.png</a></td><td class='right'>bin</td><td class='graph'>66800 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/05-tompng/remarks.markdown?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/05-tompng/remarks.markdown</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/trick2018/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trick2018/README.md</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/trojan.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/trojan.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/tsvr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/tsvr.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sample/weakref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/weakref.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sample/webrick/httpproxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sample/webrick/httpproxy.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/signal.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>signal.c</a></td><td class='right'>1711</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/siphash.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>siphash.c</a></td><td class='right'>482</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/siphash.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>siphash.h</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/sparc.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sparc.c</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/README.md</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/bundler_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/bundler_spec.rb</a></td><td class='right'>490</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/cli_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/cli_spec.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/compact_index_client/updater_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/compact_index_client/updater_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/definition_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/definition_spec.rb</a></td><td class='right'>360</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/dep_proxy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/dep_proxy_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/dsl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/dsl_spec.rb</a></td><td class='right'>305</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/endpoint_specification_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/endpoint_specification_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/env_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/env_spec.rb</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/environment_preserver_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/environment_preserver_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/base_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/fetcher/base_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/compact_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/fetcher/compact_index_spec.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/dependency_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/fetcher/dependency_spec.rb</a></td><td class='right'>287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/downloader_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/fetcher/downloader_spec.rb</a></td><td class='right'>250</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/fetcher/index_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/fetcher_spec.rb</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/friendly_errors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/friendly_errors_spec.rb</a></td><td class='right'>270</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/gem_helper_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/gem_helper_spec.rb</a></td><td class='right'>351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/gem_version_promoter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/gem_version_promoter_spec.rb</a></td><td class='right'>179</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/index_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/installer/gem_installer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/installer/gem_installer_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/installer/parallel_installer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/installer/parallel_installer_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/installer/spec_installation_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/installer/spec_installation_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/lockfile_parser_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/lockfile_parser_spec.rb</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/mirror_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/mirror_spec.rb</a></td><td class='right'>329</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/api/source_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/api/source_spec.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/api_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/api_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/dsl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/dsl_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/events_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/events_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/index_spec.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/installer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/installer_spec.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/source_list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin/source_list_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/plugin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/plugin_spec.rb</a></td><td class='right'>309</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/psyched_yaml_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/psyched_yaml_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/remote_specification_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/remote_specification_spec.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/retry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/retry_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/ruby_dsl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/ruby_dsl_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/ruby_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/ruby_version_spec.rb</a></td><td class='right'>524</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/rubygems_integration_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/rubygems_integration_spec.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/settings/validator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/settings/validator_spec.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/settings_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/settings_spec.rb</a></td><td class='right'>326</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/shared_helpers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/shared_helpers_spec.rb</a></td><td class='right'>504</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source/git/git_proxy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source/git/git_proxy_spec.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source/git_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source/git_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source/path_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source/rubygems/remote_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source/rubygems/remote_spec.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source/rubygems_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source/rubygems_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source_list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source_list_spec.rb</a></td><td class='right'>463</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/source_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/source_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/spec_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/spec_set_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/ssl_certs/certificate_manager_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/ssl_certs/certificate_manager_spec.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/stub_specification_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/stub_specification_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/ui/shell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/ui/shell_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/ui_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/ui_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/uri_credentials_filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/uri_credentials_filter_spec.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/vendored_persistent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/vendored_persistent_spec.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/version_ranges_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/version_ranges_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/worker_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/worker_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/bundler/yaml_serializer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/bundler/yaml_serializer_spec.rb</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/cache/cache_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/cache/cache_path_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/cache/gems_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/cache/gems_spec.rb</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/cache/git_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/cache/git_spec.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/cache/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/cache/path_spec.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/cache/platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/cache/platform_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/add_spec.rb</a></td><td class='right'>217</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/binstubs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/binstubs_spec.rb</a></td><td class='right'>453</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/check_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/check_spec.rb</a></td><td class='right'>354</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/clean_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/clean_spec.rb</a></td><td class='right'>771</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/config_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/config_spec.rb</a></td><td class='right'>384</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/console_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/console_spec.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/doctor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/doctor_spec.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/exec_spec.rb</a></td><td class='right'>858</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/help_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/help_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/info_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/info_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/init_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/init_spec.rb</a></td><td class='right'>181</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/inject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/inject_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/install_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/install_spec.rb</a></td><td class='right'>587</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/issue_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/issue_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/licenses_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/licenses_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/list_spec.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/lock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/lock_spec.rb</a></td><td class='right'>322</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/newgem_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/newgem_spec.rb</a></td><td class='right'>912</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/open_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/outdated_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/outdated_spec.rb</a></td><td class='right'>782</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/package_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/package_spec.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/pristine_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/pristine_spec.rb</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/remove_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/remove_spec.rb</a></td><td class='right'>583</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/show_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/show_spec.rb</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/update_spec.rb</a></td><td class='right'>943</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/version_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/commands/viz_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/commands/viz_spec.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/allow_offline_install_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/allow_offline_install_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/binstubs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/binstubs_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/bundler_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/bundler_spec.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/deploy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/deploy_spec.rb</a></td><td class='right'>423</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/failure_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/failure_spec.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/eval_gemfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/eval_gemfile_spec.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/gemspec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/gemspec_spec.rb</a></td><td class='right'>672</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/git_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/git_spec.rb</a></td><td class='right'>1351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/groups_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/groups_spec.rb</a></td><td class='right'>384</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/install_if.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/install_if.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/lockfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/lockfile_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/path_spec.rb</a></td><td class='right'>630</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/platform_spec.rb</a></td><td class='right'>426</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/ruby_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/ruby_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/sources_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/sources_spec.rb</a></td><td class='right'>619</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile/specific_platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile/specific_platform_spec.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemfile_spec.rb</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/compact_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/compact_index_spec.rb</a></td><td class='right'>940</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/dependency_api_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/dependency_api_spec.rb</a></td><td class='right'>760</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/env_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/env_spec.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/flex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/flex_spec.rb</a></td><td class='right'>351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/mirror_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/mirror_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/native_extensions_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/native_extensions_spec.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/post_install_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/post_install_spec.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/resolving_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/resolving_spec.rb</a></td><td class='right'>195</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/standalone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/standalone_spec.rb</a></td><td class='right'>337</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/sudo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/sudo_spec.rb</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gems/win32_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gems/win32_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/gemspecs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/gemspecs_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/git_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/git_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/global_cache_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/global_cache_spec.rb</a></td><td class='right'>235</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/path_spec.rb</a></td><td class='right'>256</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/post_bundle_message_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/post_bundle_message_spec.rb</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/prereleases_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/prereleases_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/process_lock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/process_lock_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/redownload_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/redownload_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/security_policy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/security_policy_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/install/yanked_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/install/yanked_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/lock/git_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/lock/git_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/lock/lockfile_bundler_1_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/lock/lockfile_bundler_1_spec.rb</a></td><td class='right'>1386</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/lock/lockfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/lock/lockfile_spec.rb</a></td><td class='right'>1425</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/bundle_ruby_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/bundle_ruby_spec.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/cli_dispatch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/cli_dispatch_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/compatibility_guard_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/compatibility_guard_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/ext_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/ext_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/major_deprecation_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/major_deprecation_spec.rb</a></td><td class='right'>282</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/platform_spec.rb</a></td><td class='right'>1312</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/other/ssl_cert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/other/ssl_cert_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/plugins/command_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/plugins/command_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/plugins/hook_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/plugins/hook_spec.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/plugins/install_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/plugins/install_spec.rb</a></td><td class='right'>257</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/plugins/source/example_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/plugins/source/example_spec.rb</a></td><td class='right'>505</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/plugins/source_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/plugins/source_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/quality_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/quality_spec.rb</a></td><td class='right'>266</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/realworld/dependency_api_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/realworld/dependency_api_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/realworld/double_check_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/realworld/double_check_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/realworld/edgecases_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/realworld/edgecases_spec.rb</a></td><td class='right'>382</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/realworld/gemfile_source_header_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/realworld/gemfile_source_header_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/realworld/mirror_probe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/realworld/mirror_probe_spec.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/realworld/parallel_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/realworld/parallel_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/resolver/basic_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/resolver/basic_spec.rb</a></td><td class='right'>308</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/resolver/platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/resolver/platform_spec.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/executable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/executable_spec.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/gem_tasks_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/gem_tasks_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/inline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/inline_spec.rb</a></td><td class='right'>266</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/load_spec.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/platform_spec.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/require_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/require_spec.rb</a></td><td class='right'>452</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/setup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/setup_spec.rb</a></td><td class='right'>1445</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/runtime/with_clean_env_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/runtime/with_clean_env_spec.rb</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/spec_helper.rb</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_api_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_api_missing.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_basic_authentication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_basic_authentication.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_checksum_mismatch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_checksum_mismatch.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_concurrent_download.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_concurrent_download.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_creds_diff_host.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_creds_diff_host.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_extra.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra_api.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_extra_api.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra_api_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_extra_api_missing.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_extra_missing.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_forbidden.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_forbidden.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_host_redirect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_host_redirect.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_no_gem.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_no_gem.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_partial_update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_partial_update.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_range_not_satisfiable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_range_not_satisfiable.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_redirects.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_redirects.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_strict_basic_authentication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_strict_basic_authentication.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_wrong_dependencies.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_wrong_dependencies.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_wrong_gem_checksum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/compact_index_wrong_gem_checksum.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endopint_marshal_fail_basic_authentication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endopint_marshal_fail_basic_authentication.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_500.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_500.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_api_forbidden.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_api_forbidden.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_api_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_api_missing.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_basic_authentication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_basic_authentication.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_creds_diff_host.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_creds_diff_host.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_extra.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_extra.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_extra_api.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_extra_api.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_extra_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_extra_missing.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_fallback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_fallback.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_host_redirect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_host_redirect.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_marshal_fail.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_marshal_fail.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_mirror_source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_mirror_source.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_redirect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_redirect.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_strict_basic_authentication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_strict_basic_authentication.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_timeout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/endpoint_timeout.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/fail.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/fail.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/vcr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/vcr.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/artifice/windows.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/artifice/windows.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/builders.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/builders.rb</a></td><td class='right'>819</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/code_climate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/code_climate.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/command_execution.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/command_execution.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/hax.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/hax.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/helpers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/helpers.rb</a></td><td class='right'>600</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/indexes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/indexes.rb</a></td><td class='right'>421</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/less_than_proc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/less_than_proc.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/manpages.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/manpages.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/matchers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/matchers.rb</a></td><td class='right'>246</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/path.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/permissions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/permissions.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/platforms.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/platforms.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/rubygems_ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/rubygems_ext.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/silent_logger.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/silent_logger.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/sometimes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/sometimes.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/streams.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/streams.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/sudo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/sudo.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/support/the_bundle.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/support/the_bundle.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/update/gemfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/update/gemfile_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/update/gems/post_install_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/update/gems/post_install_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/update/git_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/update/git_spec.rb</a></td><td class='right'>374</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/update/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/update/path_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/bundler/update/redownload_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/bundler/update/redownload_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/default.mspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/default.mspec</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/Gemfile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/Gemfile</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/Gemfile.lock?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/Gemfile.lock</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/LICENSE?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/LICENSE</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/README.md</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/Rakefile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/Rakefile</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mkspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mkspec</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mkspec.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mkspec.bat</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec-ci?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec-ci</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec-ci.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec-ci.bat</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec-run?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec-run</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec-run.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec-run.bat</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec-tag?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec-tag</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec-tag.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec-tag.bat</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/bin/mspec.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/bin/mspec.bat</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/commands/mkspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/commands/mkspec.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/commands/mspec-ci.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/commands/mspec-ci.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/commands/mspec-run.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/commands/mspec-run.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/commands/mspec-tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/commands/mspec-tag.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/commands/mspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/commands/mspec.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/expectations.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/expectations.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/expectations/expectations.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/expectations/expectations.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/expectations/should.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/expectations/should.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/block_device.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/block_device.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/bug.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/bug.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/conflict.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/conflict.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/endian.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/endian.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/feature.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/feature.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/guard.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/guard.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/platform.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/platform.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/quarantine.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/quarantine.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/superuser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/superuser.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/support.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/support.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/guards/version.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/argf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/argf.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/argv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/argv.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/datetime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/datetime.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/fixture.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/flunk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/flunk.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/frozen_error_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/frozen_error_class.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/fs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/fs.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/io.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/io.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/mock_to_path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/mock_to_path.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/numeric.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/numeric.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/ruby_exe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/ruby_exe.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/scratch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/scratch.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/tmp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/tmp.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/warning.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/helpers/warning.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/base.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_an_instance_of.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_an_instance_of.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_ancestor_of.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_ancestor_of.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_close.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_close.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_computed_by.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_computed_by.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_empty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_empty.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_false.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_false.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_kind_of.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_kind_of.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_nan.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_nan.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_nil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_nil.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_true.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_true.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_true_or_false.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/be_true_or_false.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/block_caller.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/block_caller.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/complain.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/complain.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/eql.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/equal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/equal.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/equal_element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/equal_element.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_class_variable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_class_variable.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_constant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_constant.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_instance_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_instance_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_instance_variable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_instance_variable.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_private_instance_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_private_instance_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_private_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_private_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_protected_instance_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_protected_instance_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_public_instance_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_public_instance_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_singleton_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/have_singleton_method.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/include.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/include_any_of.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/include_any_of.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/infinity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/infinity.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/match_yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/match_yaml.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/method.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/output.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/output.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/output_to_fd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/output_to_fd.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/raise_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/raise_error.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/respond_to.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/respond_to.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/signed_zero.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/signed_zero.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/variable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/matchers/variable.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/mocks.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks/mock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/mocks/mock.rb</a></td><td class='right'>212</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks/object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/mocks/object.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks/proxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/mocks/proxy.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/filter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/filter.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/leakchecker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/leakchecker.rb</a></td><td class='right'>301</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/tag.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/taglist.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/taglist.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/tagpurge.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/tagpurge.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/tally.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/tally.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/timer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/actions/timer.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/context.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/context.rb</a></td><td class='right'>239</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/evaluate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/evaluate.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/example.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/example.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/exception.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/filters.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/match.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/filters/match.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/profile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/filters/profile.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/regexp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/filters/regexp.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/filters/tag.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/describe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/describe.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/dotted.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/dotted.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/file.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/html.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/junit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/junit.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/method.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/multi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/multi.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/profile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/profile.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/specdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/specdoc.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/spinner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/spinner.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/summary.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/summary.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/unit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/unit.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/formatters/yaml.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/mspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/mspec.rb</a></td><td class='right'>408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/object.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/parallel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/parallel.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/shared.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/shared.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/tag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/runner/tag.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/deprecate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/utils/deprecate.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/name_map.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/utils/name_map.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/utils/options.rb</a></td><td class='right'>481</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/script.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/utils/script.rb</a></td><td class='right'>278</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/utils/version.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/warnings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/utils/warnings.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/lib/mspec/version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/lib/mspec/version.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/level2/three_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/fixtures/level2/three_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/one_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/fixtures/one_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/three.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/fixtures/three.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/two_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/fixtures/two_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/mkspec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/mkspec_spec.rb</a></td><td class='right'>363</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/mspec_ci_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/mspec_ci_spec.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/mspec_run_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/mspec_run_spec.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/mspec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/mspec_spec.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/commands/mspec_tag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/commands/mspec_tag_spec.rb</a></td><td class='right'>414</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/expectations/expectations_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/expectations/expectations_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/expectations/should.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/expectations/should.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/expectations/should_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/expectations/should_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/a_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/b_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/b_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/chatty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/chatty_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/config.mspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/config.mspec</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/die_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/die_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/my_ruby?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/my_ruby</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/object_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/object_methods_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/print_interpreter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/print_interpreter_spec.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/tagging_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/fixtures/tagging_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/block_device_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/block_device_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/bug_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/bug_spec.rb</a></td><td class='right'>151</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/conflict_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/conflict_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/endian_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/endian_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/feature_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/feature_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/guard_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/guard_spec.rb</a></td><td class='right'>421</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/platform_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/platform_spec.rb</a></td><td class='right'>328</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/quarantine_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/quarantine_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/superuser_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/superuser_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/support_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/support_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/user_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/user_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/guards/version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/guards/version_spec.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/argf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/argf_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/argv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/argv_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/datetime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/datetime_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/fixture_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/fixture_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/flunk_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/flunk_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/fs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/fs_spec.rb</a></td><td class='right'>195</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/io_spec.rb</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/mock_to_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/mock_to_path_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/numeric_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/numeric_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/ruby_exe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/ruby_exe_spec.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/scratch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/scratch_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/suppress_warning_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/suppress_warning_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/helpers/tmp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/helpers/tmp_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/integration/interpreter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/integration/interpreter_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/integration/object_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/integration/object_methods_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/integration/run_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/integration/run_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/integration/tag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/integration/tag_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/base_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/base_spec.rb</a></td><td class='right'>225</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_an_instance_of_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_an_instance_of_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_ancestor_of_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_ancestor_of_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_close_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_computed_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_computed_by_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_empty_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_false_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_false_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_kind_of_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_kind_of_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_nan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_nan_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_nil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_nil_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_true_or_false_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_true_or_false_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_true_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/be_true_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/block_caller_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/block_caller_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/complain_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/complain_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/eql_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/equal_element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/equal_element_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/equal_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_class_variable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_class_variable_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_constant_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_constant_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_instance_method_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_instance_variable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_instance_variable_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_method_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_private_instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_private_instance_method_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_private_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_private_method_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_protected_instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_protected_instance_method_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_public_instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_public_instance_method_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_singleton_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/have_singleton_method_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/include_any_of_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/include_any_of_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/include_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/infinity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/infinity_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/match_yaml_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/match_yaml_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/output_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/output_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/output_to_fd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/output_to_fd_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/raise_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/raise_error_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/respond_to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/respond_to_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/matchers/signed_zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/matchers/signed_zero_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/mocks/mock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/mocks/mock_spec.rb</a></td><td class='right'>530</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/mocks/proxy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/mocks/proxy_spec.rb</a></td><td class='right'>405</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/actions/filter_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/tag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/actions/tag_spec.rb</a></td><td class='right'>315</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/taglist_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/actions/taglist_spec.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/tagpurge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/actions/tagpurge_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/tally_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/actions/tally_spec.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/timer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/actions/timer_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/context_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/context_spec.rb</a></td><td class='right'>1041</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/example_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/example_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/exception_spec.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/a.yaml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/filters/a.yaml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/b.yaml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/filters/b.yaml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/filters/match_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/profile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/filters/profile_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/regexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/filters/regexp_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/tag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/filters/tag_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/describe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/describe_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/dotted_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/dotted_spec.rb</a></td><td class='right'>285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/file_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/html_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/html_spec.rb</a></td><td class='right'>216</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/junit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/junit_spec.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/method_spec.rb</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/multi_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/multi_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/specdoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/specdoc_spec.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/spinner_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/spinner_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/summary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/summary_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/unit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/unit_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/yaml_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/formatters/yaml_spec.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/mspec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/mspec_spec.rb</a></td><td class='right'>595</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/shared_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/shared_spec.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/tag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/tag_spec.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/runner/tags.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/runner/tags.txt</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/spec_helper.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/utils/deprecate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/utils/deprecate_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/utils/name_map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/utils/name_map_spec.rb</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/utils/options_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/utils/options_spec.rb</a></td><td class='right'>1285</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/utils/script_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/utils/script_spec.rb</a></td><td class='right'>475</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/spec/utils/version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/spec/utils/version_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/tool/find.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/tool/find.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/mspec/tool/pull-latest-mspec-spec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/tool/pull-latest-mspec-spec</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/tool/remove_old_guards.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/tool/remove_old_guards.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/tool/sync/.gitignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/tool/sync/.gitignore</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/mspec/tool/sync/sync-rubyspec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/mspec/tool/sync/sync-rubyspec.rb</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/.gitignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/.gitignore</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/.rubocop.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/.rubocop.yml</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/.rubocop_todo.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/.rubocop_todo.yml</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/.travis.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/.travis.yml</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/CHANGES.before-2008-05-10?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/CHANGES.before-2008-05-10</a></td><td class='right'>17796</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 19.2%;'/><td class='none' style='width: 80.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/CONTRIBUTING.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/CONTRIBUTING.md</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/LICENSE?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/LICENSE</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/README.md?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/README.md</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/TODO?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/TODO</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/appveyor.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/appveyor.yml</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_a_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_c_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_d_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_d_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_e_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_e_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_encoding_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_external_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_external_encoding_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_internal_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_internal_encoding_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_n_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_n_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_p_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_p_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_r_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_s_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_c_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_e_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_e_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_f_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_i_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_k_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_k_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_s_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_u_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_u_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_w_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_upper_w_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_v_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_v_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_w_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_w_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/dash_x_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/dash_x_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/error_message_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/error_message_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bad_syntax.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/bad_syntax.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/bad_embedded_ruby.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/bin/bad_embedded_ruby.txt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/dash_s_fail?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/bin/dash_s_fail</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/embedded_ruby.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/bin/embedded_ruby.txt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/hybrid_launcher.sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/bin/hybrid_launcher.sh</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/launcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/bin/launcher.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/conditional_range.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/conditional_range.txt</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/dash_s_script.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/dash_s_script.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/dash_upper_c_script.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/dash_upper_c_script.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/debug.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/debug.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/debug_info.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/debug_info.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_across_files.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/freeze_flag_across_files.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_across_files_diff_enc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/freeze_flag_across_files_diff_enc.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_one_literal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/freeze_flag_one_literal.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_required.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/freeze_flag_required.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_required_diff_enc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/freeze_flag_required_diff_enc.rb</a></td><td class='right'>bin</td><td class='graph'>121 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_two_literals.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/freeze_flag_two_literals.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/full_names.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/full_names.txt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/loadpath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/loadpath.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/names.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/names.txt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/passwd_file.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/passwd_file.txt</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/require.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/rubyopt.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/rubyopt.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/test_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/test_file.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/verbose.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/fixtures/verbose.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/frozen_strings_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/frozen_strings_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/rubylib_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/rubylib_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/rubyopt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/rubyopt_spec.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/shared/verbose.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/shared/verbose.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/command_line/syntax_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/command_line/syntax_error_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/argf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/argf_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/argv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/argv_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/binmode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/binmode_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/bytes_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/chars_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/chars_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/close_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/closed_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/codepoints_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/codepoints_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/each_byte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/each_byte_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/each_char_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/each_char_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/each_codepoint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/each_codepoint_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/each_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/each_line_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/each_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/eof_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/eof_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/file_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/filename_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/filename_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fileno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fileno_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/bin_file.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/bin_file.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/file1.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/file1.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/file2.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/file2.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/filename.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/filename.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/lineno.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/lineno.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/rewind.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/rewind.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/stdin.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/fixtures/stdin.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/getc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/getc_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/gets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/gets_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/lineno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/lineno_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/lines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/lines_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/path_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/pos_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/read_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/read_nonblock_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/read_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/readchar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/readchar_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/readline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/readline_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/readlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/readlines_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/readpartial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/readpartial_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/rewind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/rewind_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/seek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/seek_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/set_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/set_encoding_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_byte.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/each_byte.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_char.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/each_char.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_codepoint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/each_codepoint.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_line.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/each_line.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/eof.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/eof.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/filename.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/filename.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/fileno.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/fileno.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/getc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/getc.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/gets.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/gets.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/pos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/pos.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/read.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/readlines.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/shared/readlines.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/skip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/skip_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/tell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/tell_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/to_a_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/to_i_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/to_io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/to_io_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/argf/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/argf/to_s_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/allocate_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/any_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/any_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/append_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/array_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/array_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/assoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/assoc_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/at_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/bsearch_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/bsearch_index_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/bsearch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/bsearch_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/clear_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/clone_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/collect_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/combination_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/combination_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/compact_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/compact_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/comparison_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/concat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/concat_spec.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/constructor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/constructor_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/count_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/count_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/cycle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/cycle_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/delete_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/delete_at_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/delete_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/delete_if_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/delete_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/dig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/dig_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/drop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/drop_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/drop_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/drop_while_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/dup_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/each_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/each_index_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/each_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/element_reference_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/element_set_spec.rb</a></td><td class='right'>436</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/empty_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/eql_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/equal_value_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/fetch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/fetch_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/fill_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/fill_spec.rb</a></td><td class='right'>317</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/filter_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/find_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/find_index_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/first_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/first_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/fixtures/classes.rb</a></td><td class='right'>522</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/fixtures/encoded_strings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/fixtures/encoded_strings.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/flatten_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/flatten_spec.rb</a></td><td class='right'>284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/frozen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/frozen_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/hash_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/include_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/index_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/initialize_spec.rb</a></td><td class='right'>156</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/insert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/insert_spec.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/intersection_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/intersection_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/join_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/join_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/keep_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/keep_if_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/last_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/last_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/map_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/max_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/max_spec.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/min_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/min_spec.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/minus_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/multiply_spec.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/new_spec.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/a_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/at_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/b_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/b_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/buffer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/buffer_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/c_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/comment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/comment_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/d_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/d_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/e_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/e_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/empty_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/f_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/g_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/g_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/h_spec.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/i_spec.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/j_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/j_spec.rb</a></td><td class='right'>217</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/l_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/l_spec.rb</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/m_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/m_spec.rb</a></td><td class='right'>309</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/n_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/n_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/p_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/p_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/percent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/percent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/q_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/q_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/s_spec.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/basic.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/encodings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/encodings.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/float.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/float.rb</a></td><td class='right'>249</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/integer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/integer.rb</a></td><td class='right'>381</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/numeric_basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/numeric_basic.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/string.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/taint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/taint.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/unicode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/shared/unicode.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/u_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/u_spec.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/v_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/v_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/w_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/w_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/x_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/x_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pack/z_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pack/z_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/partition_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/partition_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/permutation_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/permutation_spec.rb</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/plus_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/pop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/pop_spec.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/prepend_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/prepend_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/product_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/product_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/push_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/push_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/rassoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/rassoc_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/reject_spec.rb</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/repeated_combination_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/repeated_combination_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/repeated_permutation_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/repeated_permutation_spec.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/replace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/replace_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/reverse_each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/reverse_each_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/reverse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/reverse_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/rindex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/rindex_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/rotate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/rotate_spec.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/sample_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/sample_spec.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/select_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/clone.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/clone.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/collect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/collect.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/delete_if.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/delete_if.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/enumeratorize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/enumeratorize.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/eql.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/index.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/inspect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/inspect.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/join.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/join.rb</a></td><td class='right'>161</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/keep_if.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/keep_if.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/length.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/push.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/push.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/replace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/replace.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/select.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/slice.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/slice.rb</a></td><td class='right'>459</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shared/unshift.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shared/unshift.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shift_spec.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/shuffle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/shuffle_spec.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/slice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/slice_spec.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/sort_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/sort_by_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/sort_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/sort_spec.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/sum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/sum_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/take_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/take_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/take_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/take_while_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/to_a_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/to_ary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/to_ary_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/to_h_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/to_s_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/transpose_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/transpose_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/try_convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/try_convert_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/union_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/union_spec.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/uniq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/uniq_spec.rb</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/unshift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/unshift_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/values_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/values_at_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/array/zip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/array/zip_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/__id__spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/__id__spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/__send___spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/__send___spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/basicobject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/basicobject_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/equal_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/equal_value_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/fixtures/classes.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/fixtures/common.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/remove_method_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/fixtures/remove_method_missing.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/singleton_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/fixtures/singleton_method.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/initialize_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/instance_eval_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/instance_eval_spec.rb</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/instance_exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/instance_exec_spec.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/method_missing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/method_missing_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/not_equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/not_equal_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/not_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/not_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/singleton_method_added_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/singleton_method_added_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/singleton_method_removed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/singleton_method_removed_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/basicobject/singleton_method_undefined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/basicobject/singleton_method_undefined_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/clone_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/dup_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/eval_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/eval_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/fixtures/classes.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variable_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/local_variable_defined_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variable_get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/local_variable_get_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variable_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/local_variable_set_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/local_variables_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/receiver_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/receiver_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/binding/shared/clone.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/binding/shared/clone.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/builtin_constants/builtin_constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/builtin_constants/builtin_constants_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/allocate_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/dup_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/fixtures/classes.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/inherited_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/inherited_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/initialize_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/new_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/superclass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/superclass_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/class/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/class/to_s_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/between_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/between_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/clamp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/clamp_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/equal_value_spec.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/fixtures/classes.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/gt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/gt_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/gte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/gte_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/lt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/lt_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/comparable/lte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/comparable/lte_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/abs2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/abs2_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/abs_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/angle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/angle_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/arg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/arg_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/coerce_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/conj_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/conj_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/conjugate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/conjugate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/constants_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/denominator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/denominator_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/divide_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/eql_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/equal_value_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/exponent_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/fdiv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/fdiv_spec.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/finite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/finite_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/hash_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/imag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/imag_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/imaginary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/imaginary_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/infinite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/infinite_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/inspect_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/integer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/integer_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/magnitude_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/magnitude_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/marshal_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/marshal_dump_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/minus_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/multiply_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/negative_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/negative_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/numerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/numerator_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/phase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/phase_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/plus_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/polar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/polar_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/positive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/positive_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/quo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/quo_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/rationalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/rationalize_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/real_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/rect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/rect_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/rectangular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/rectangular_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/abs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/shared/abs.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/arg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/shared/arg.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/conjugate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/shared/conjugate.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/divide.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/shared/divide.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/image.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/shared/image.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/rect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/shared/rect.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/to_f_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/to_i_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/to_r_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/to_s_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/complex/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/complex/uminus_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/chdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/chdir_spec.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/children_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/children_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/chroot_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/chroot_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/close_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/delete_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/dir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/dir_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/each_child_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/each_child_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/each_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/element_reference_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/empty_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/entries_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/entries_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/exist_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/exist_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/exists_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/exists_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/fileno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/fileno_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/fixtures/common.rb</a></td><td class='right'>169</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/foreach_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/foreach_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/getwd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/getwd_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/glob_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/glob_spec.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/home_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/home_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/initialize_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/inspect_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/mkdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/mkdir_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/open_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/path_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/pos_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/pwd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/pwd_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/read_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/rewind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/rewind_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/rmdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/rmdir_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/seek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/seek_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/chroot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/chroot.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/closed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/closed.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/delete.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/delete.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/exist.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/exist.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/glob.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/glob.rb</a></td><td class='right'>411</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/open.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/open.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/path.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/pos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/pos.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/pwd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/shared/pwd.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/tell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/tell_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/to_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/to_path_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/dir/unlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/dir/unlink_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/_dump_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/_load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/_load_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/aliases_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/aliases_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/ascii_compatible_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/ascii_compatible_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/compatible_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/compatible_spec.rb</a></td><td class='right'>381</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/asciicompat_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/asciicompat_encoding_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/constants_spec.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/convert_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/convpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/convpath_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/destination_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/destination_encoding_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/finish_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/finish_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/insert_output_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/insert_output_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/inspect_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/last_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/last_error_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/new_spec.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/primitive_convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/primitive_convert_spec.rb</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/primitive_errinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/primitive_errinfo_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/putback_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/putback_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/replacement_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/replacement_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/search_convpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/search_convpath_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/source_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/converter/source_encoding_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/default_external_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/default_external_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/default_internal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/default_internal_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/dummy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/dummy_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/find_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/find_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/fixtures/classes.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/inspect_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_name_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/error_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/error_bytes_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/incomplete_input_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/incomplete_input_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/readagain_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/readagain_bytes_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_name_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/list_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/locale_charmap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/locale_charmap_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/name_list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/name_list_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/name_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/names_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/names_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/replicate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/replicate_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/shared/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/shared/name.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_name_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/error_char_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/undefined_conversion_error/error_char_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/source_encoding_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/undefined_conversion_error/source_encoding_name_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/source_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/encoding/undefined_conversion_error/source_encoding_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/all_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/all_spec.rb</a></td><td class='right'>201</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/any_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/any_spec.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/chunk_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/chunk_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/chunk_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/chunk_while_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/collect_concat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/collect_concat_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/collect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/count_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/count_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/cycle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/cycle_spec.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/detect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/detect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/drop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/drop_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/drop_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/drop_while_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_cons_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/each_cons_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_entry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/each_entry_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_slice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/each_slice_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_with_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/each_with_index_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_with_object_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/each_with_object_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/entries_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/entries_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/filter_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/find_all_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/find_all_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/find_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/find_index_spec.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/find_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/find_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/first_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/first_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/fixtures/classes.rb</a></td><td class='right'>345</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/flat_map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/flat_map_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/grep_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/grep_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/grep_v_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/grep_v_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/group_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/group_by_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/include_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/inject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/inject_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/lazy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/lazy_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/map_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/max_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/max_by_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/max_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/max_spec.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/member_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/member_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/min_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/min_by_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/min_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/min_spec.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/minmax_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/minmax_by_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/minmax_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/minmax_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/none_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/none_spec.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/one_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/one_spec.rb</a></td><td class='right'>169</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/partition_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/partition_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/reduce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/reduce_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/reject_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/reverse_each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/reverse_each_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/select_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/collect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/collect.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/collect_concat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/collect_concat.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/entries.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/entries.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/enumerable_enumeratorized.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/enumerable_enumeratorized.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/enumeratorized.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/enumeratorized.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/find.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/find.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/find_all.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/find_all.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/include.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/inject.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/inject.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/take.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/shared/take.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/slice_after_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/slice_after_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/slice_before_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/slice_before_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/slice_when_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/slice_when_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/sort_by_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/sort_by_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/sort_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/sort_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/sum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/sum_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/take_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/take_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/take_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/take_while_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/to_a_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/to_h_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/uniq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/uniq_spec.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerable/zip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerable/zip_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/each_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/each_with_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/each_with_index_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/each_with_object_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/each_with_object_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/enum_for_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/enum_for_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/enumerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/enumerator_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/feed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/feed_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/first_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/first_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/fixtures/common.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/generator/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/generator/each_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/generator/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/generator/initialize_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/initialize_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/inject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/inject_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/inspect_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/chunk_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/chunk_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/collect_concat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/collect_concat_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/collect_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/drop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/drop_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/drop_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/drop_while_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/enum_for_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/enum_for_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/find_all_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/find_all_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/fixtures/classes.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/flat_map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/flat_map_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/force_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/force_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/grep_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/grep_spec.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/grep_v_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/grep_v_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/initialize_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/lazy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/lazy_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/map_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/reject_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/select_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/shared/collect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/shared/collect.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/shared/collect_concat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/shared/collect_concat.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/shared/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/shared/select.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/shared/to_enum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/shared/to_enum.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/take_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/take_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/take_while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/take_while_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/to_enum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/to_enum_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/uniq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/uniq_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/zip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/lazy/zip_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/new_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/next_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/next_values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/next_values_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/peek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/peek_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/peek_values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/peek_values_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/rewind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/rewind_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/size_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/to_enum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/to_enum_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/with_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/with_index_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/with_object_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/with_object_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/yielder/append_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/yielder/initialize_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/yield_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/enumerator/yielder/yield_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/assoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/assoc_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/clear_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/delete_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/delete_if_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/delete_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/each_key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/each_key_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/each_pair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/each_pair_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/each_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/each_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/each_value_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/element_reference_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/element_set_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/empty_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/fetch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/fetch_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/has_key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/has_key_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/has_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/has_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/include_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/index_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/indexes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/indexes_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/indices_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/indices_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/inspect_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/invert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/invert_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/keep_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/keep_if_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/key_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/keys_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/keys_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/length_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/member_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/member_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/rassoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/rassoc_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/rehash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/rehash_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/reject_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/replace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/replace_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/select_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/each.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/include.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/key.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/key.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/length.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/store.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/to_hash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/to_hash.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shared/value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shared/value.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/shift_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/size_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/store_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/store_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/to_a_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/to_h_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/to_hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/to_hash_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/update_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/values_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/values_at_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/env/values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/env/values_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/args_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/args_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/arguments_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/arguments_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/backtrace_locations_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/backtrace_locations_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/backtrace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/backtrace_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/case_compare_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/cause_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/cause_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/destination_encoding_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/destination_encoding_name_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/destination_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/destination_encoding_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/dup_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/equal_value_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/errno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/errno_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/error_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/error_bytes_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/error_char_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/error_char_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/exception_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/exit_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/exit_value_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/fixtures/common.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/full_message_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/full_message_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/incomplete_input_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/incomplete_input_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/initialize_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/inspect_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/interrupt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/interrupt_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/io_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/io_error_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/load_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/load_error_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/message_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/message_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/name_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/name_error_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/name_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/new_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/no_method_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/no_method_error_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/range_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/range_error_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/readagain_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/readagain_bytes_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/reason_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/reason_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/receiver_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/receiver_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/result_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/result_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/script_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/script_error_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/set_backtrace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/set_backtrace_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/shared/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/shared/new.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/signal_exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/signal_exception_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/signm_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/signm_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/signo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/signo_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/source_encoding_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/source_encoding_name_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/source_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/source_encoding_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/standard_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/standard_error_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/status_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/status_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/success_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/success_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/system_call_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/system_call_error_spec.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/system_stack_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/system_stack_error_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/to_s_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/exception/uncaught_throw_error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/exception/uncaught_throw_error_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/and_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/and_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/dup_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/falseclass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/falseclass_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/or_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/or_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/false/xor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/false/xor_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/fiber/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/fiber/new_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/fiber/resume_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/fiber/resume_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/fiber/yield_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/fiber/yield_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/absolute_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/absolute_path_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/atime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/atime_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/basename_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/basename_spec.rb</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/birthtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/birthtime_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/blockdev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/blockdev_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/chardev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/chardev_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/chmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/chmod_spec.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/chown_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/chown_spec.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/constants/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/constants/constants_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/constants_spec.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/ctime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/ctime_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/delete_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/directory_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/directory_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/dirname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/dirname_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/empty_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/executable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/executable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/executable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/executable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/exist_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/exist_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/exists_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/exists_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/expand_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/expand_path_spec.rb</a></td><td class='right'>261</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/extname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/extname_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/file_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/fixtures/common.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/fixtures/do_not_remove?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/fixtures/do_not_remove</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/fixtures/file_types.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/fixtures/file_types.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/flock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/flock_spec.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/fnmatch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/fnmatch_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/ftype_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/ftype_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/grpowned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/grpowned_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/identical_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/identical_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/initialize_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/inspect_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/join_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/join_spec.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/lchmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/lchmod_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/lchown_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/lchown_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/link_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/link_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/lstat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/lstat_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/mkfifo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/mkfifo_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/mtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/mtime_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/new_spec.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/null_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/null_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/open_spec.rb</a></td><td class='right'>680</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/owned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/owned_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/path_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/pipe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/pipe_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/printf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/printf_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/read_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/readable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/readable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/readable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/readable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/readlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/readlink_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/realdirpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/realdirpath_spec.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/realpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/realpath_spec.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/rename_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/rename_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/reopen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/reopen_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/setgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/setgid_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/setuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/setuid_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/shared/fnmatch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/shared/fnmatch.rb</a></td><td class='right'>241</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/shared/open.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/shared/open.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/shared/path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/shared/path.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/shared/read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/shared/read.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/shared/stat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/shared/stat.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/shared/unlink.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/shared/unlink.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/size_spec.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/socket_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/socket_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/split_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/split_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/atime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/atime_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/birthtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/birthtime_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/blksize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/blksize_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/blockdev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/blockdev_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/blocks_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/blocks_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/chardev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/chardev_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/comparison_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/ctime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/ctime_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/dev_major_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/dev_major_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/dev_minor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/dev_minor_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/dev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/dev_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/directory_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/directory_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/executable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/executable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/executable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/executable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/file_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/fixtures/classes.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/ftype_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/ftype_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/gid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/gid_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/grpowned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/grpowned_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/ino_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/ino_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/inspect_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/mode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/mode_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/mtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/mtime_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/new_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/nlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/nlink_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/owned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/owned_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/pipe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/pipe_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/rdev_major_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/rdev_major_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/rdev_minor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/rdev_minor_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/rdev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/rdev_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/readable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/readable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/readable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/readable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/setgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/setgid_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/setuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/setuid_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/size_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/socket_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/socket_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/sticky_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/sticky_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/symlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/symlink_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/uid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/uid_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/world_readable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/world_readable_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/world_writable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/world_writable_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/writable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/writable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/writable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/writable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat/zero_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/stat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/stat_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/sticky_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/sticky_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/symlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/symlink_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/to_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/to_path_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/truncate_spec.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/umask_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/umask_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/unlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/unlink_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/utime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/utime_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/world_readable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/world_readable_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/world_writable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/world_writable_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/writable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/writable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/writable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/writable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/file/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/file/zero_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/blockdev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/blockdev_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/chardev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/chardev_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/directory_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/directory_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/executable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/executable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/executable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/executable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/exist_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/exist_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/exists_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/exists_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/file_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/grpowned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/grpowned_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/identical_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/identical_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/owned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/owned_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/pipe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/pipe_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/readable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/readable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/readable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/readable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/setgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/setgid_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/setuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/setuid_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/size_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/socket_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/socket_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/sticky_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/sticky_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/symlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/symlink_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/world_readable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/world_readable_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/world_writable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/world_writable_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/writable_real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/writable_real_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/writable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/writable_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/filetest/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/filetest/zero_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/abs_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/angle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/angle_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/arg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/arg_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/case_compare_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/ceil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/ceil_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/coerce_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/comparison_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/constants_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/denominator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/denominator_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/divide_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/divmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/divmod_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/dup_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/eql_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/exponent_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/fdiv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/fdiv_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/finite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/finite_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/fixtures/classes.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/fixtures/coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/fixtures/coerce.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/float_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/float_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/floor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/floor_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/gt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/gt_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/gte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/gte_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/hash_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/infinite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/infinite_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/lt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/lt_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/lte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/lte_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/magnitude_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/magnitude_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/minus_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/modulo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/modulo_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/multiply_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/nan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/nan_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/next_float_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/next_float_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/numerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/numerator_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/phase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/phase_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/plus_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/prev_float_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/prev_float_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/quo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/quo_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/rationalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/rationalize_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/round_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/abs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/abs.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/arg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/arg.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/arithmetic_exception_in_coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/arithmetic_exception_in_coerce.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/comparison_exception_in_coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/comparison_exception_in_coerce.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/equal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/equal.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/modulo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/modulo.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/quo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/quo.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/shared/to_i.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/shared/to_i.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/to_f_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/to_i_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/to_int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/to_int_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/to_r_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/to_s_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/truncate_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/uminus_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/uplus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/uplus_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/float/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/float/zero_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/count_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/count_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/disable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/disable_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/enable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/enable_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/garbage_collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/garbage_collect_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/clear_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/disable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/disable_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/enable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/enable_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/enabled_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/enabled_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/report_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/report_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/result_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/result_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/total_time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/profiler/total_time_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/start_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/gc/stress_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/gc/stress_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/allocate_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/any_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/any_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/assoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/assoc_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/clear_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/clone_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/compact_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/compact_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/compare_by_identity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/compare_by_identity_spec.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/constructor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/constructor_spec.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/default_proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/default_proc_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/default_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/default_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/delete_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/delete_if_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/delete_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/dig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/dig_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/each_key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/each_key_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/each_pair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/each_pair_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/each_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/each_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/each_value_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/element_reference_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/element_set_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/empty_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/eql_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/equal_value_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/fetch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/fetch_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/fetch_values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/fetch_values_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/filter_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/fixtures/classes.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/flatten_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/flatten_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/gt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/gt_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/gte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/gte_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/has_key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/has_key_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/has_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/has_value_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/hash_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/include_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/index_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/initialize_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/invert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/invert_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/keep_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/keep_if_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/key_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/keys_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/keys_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/lt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/lt_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/lte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/lte_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/member_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/member_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/merge_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/new_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/rassoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/rassoc_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/rehash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/rehash_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/reject_spec.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/replace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/replace_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/select_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/comparison.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/comparison.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/each.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/eql.rb</a></td><td class='right'>216</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/equal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/equal.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/greater_than.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/greater_than.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/index.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/iteration.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/iteration.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/key.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/key.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/length.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/less_than.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/less_than.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/replace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/replace.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/select.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/store.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/to_s.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/update.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/value.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/values_at.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shared/values_at.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/shift_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/slice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/slice_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/sort_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/sort_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/store_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/store_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/to_a_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/to_h_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/to_hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/to_hash_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/to_proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/to_proc_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/transform_keys_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/transform_keys_spec.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/transform_values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/transform_values_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/try_convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/try_convert_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/update_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/value_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/values_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/values_at_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/hash/values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/hash/values_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/abs_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/allbits_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/allbits_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/anybits_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/anybits_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_and_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/bit_and_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/bit_length_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_or_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/bit_or_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_xor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/bit_xor_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/case_compare_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/ceil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/ceil_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/chr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/chr_spec.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/coerce_spec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/comparison_spec.rb</a></td><td class='right'>189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/complement_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/complement_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/denominator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/denominator_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/digits_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/digits_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/div_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/div_spec.rb</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/divide_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/divmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/divmod_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/downto_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/downto_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/dup_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/element_reference_spec.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/even_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/even_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/exponent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/fdiv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/fdiv_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/fixtures/classes.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/floor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/floor_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/gcd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/gcd_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/gcdlcm_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/gcdlcm_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/gt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/gt_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/gte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/gte_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/integer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/integer_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/lcm_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/lcm_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/left_shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/left_shift_spec.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/lt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/lt_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/lte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/lte_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/magnitude_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/magnitude_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/minus_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/modulo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/modulo_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/multiply_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/next_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/nobits_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/nobits_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/numerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/numerator_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/odd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/odd_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/ord_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/ord_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/plus_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/pow_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/pow_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/pred_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/pred_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/rationalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/rationalize_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/remainder_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/remainder_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/right_shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/right_shift_spec.rb</a></td><td class='right'>191</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/round_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/abs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/abs.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/arithmetic_coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/arithmetic_coerce.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/comparison_coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/comparison_coerce.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/equal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/equal.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/exponent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/exponent.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/integer_rounding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/integer_rounding.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/modulo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/modulo.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/next.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/next.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/to_i.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/shared/to_i.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/size_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/sqrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/sqrt_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/succ_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/succ_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/times_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/times_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/to_f_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/to_i_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/to_int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/to_int_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/to_r_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/to_s_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/truncate_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/uminus_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/integer/upto_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/integer/upto_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/advise_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/advise_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/binmode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/binmode_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/binread_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/binread_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/binwrite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/binwrite_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/bytes_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/chars_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/chars_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/close_on_exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/close_on_exec_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/close_read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/close_read_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/close_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/close_write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/close_write_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/closed_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/codepoints_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/codepoints_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/constants_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/copy_stream_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/copy_stream_spec.rb</a></td><td class='right'>282</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/dup_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/each_byte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/each_byte_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/each_char_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/each_char_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/each_codepoint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/each_codepoint_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/each_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/each_line_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/each_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/eof_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/eof_spec.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/external_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/external_encoding_spec.rb</a></td><td class='right'>218</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fcntl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fcntl_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fdatasync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fdatasync_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fileno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fileno_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-16BE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/bom_UTF-16BE.txt</a></td><td class='right'>bin</td><td class='graph'>20 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-16LE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/bom_UTF-16LE.txt</a></td><td class='right'>bin</td><td class='graph'>20 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-32BE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/bom_UTF-32BE.txt</a></td><td class='right'>bin</td><td class='graph'>40 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-32LE.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/bom_UTF-32LE.txt</a></td><td class='right'>bin</td><td class='graph'>40 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-8.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/bom_UTF-8.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/classes.rb</a></td><td class='right'>189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/copy_stream.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/copy_stream.txt</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/incomplete.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/incomplete.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/lines.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/lines.txt</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/no_bom_UTF-8.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/no_bom_UTF-8.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/numbered_lines.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/numbered_lines.txt</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/one_byte.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/one_byte.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/read_binary.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/read_binary.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/read_euc_jp.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/read_euc_jp.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/read_text.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/read_text.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/reopen_stdout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fixtures/reopen_stdout.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/flush_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/flush_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/for_fd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/for_fd_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/foreach_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/foreach_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/fsync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/fsync_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/getbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/getbyte_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/getc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/getc_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/gets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/gets_spec.rb</a></td><td class='right'>321</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/initialize_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/inspect_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/internal_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/internal_encoding_spec.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/io_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/ioctl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/ioctl_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/isatty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/isatty_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/lineno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/lineno_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/lines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/lines_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/new_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/open_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/output_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/output_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/pid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/pid_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/pipe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/pipe_spec.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/popen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/popen_spec.rb</a></td><td class='right'>286</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/pos_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/pread_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/pread_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/print_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/printf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/printf_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/putc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/putc_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/puts_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/puts_spec.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/pwrite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/pwrite_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/read_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/read_nonblock_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/read_spec.rb</a></td><td class='right'>620</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/readbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/readbyte_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/readchar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/readchar_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/readline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/readline_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/readlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/readlines_spec.rb</a></td><td class='right'>210</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/readpartial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/readpartial_spec.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/reopen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/reopen_spec.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/rewind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/rewind_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/seek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/seek_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/select_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/set_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/set_encoding_spec.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/binwrite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/binwrite.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/chars.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/chars.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/codepoints.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/codepoints.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/each.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/gets_ascii.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/gets_ascii.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/new.rb</a></td><td class='right'>378</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/pos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/pos.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/readlines.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/readlines.rb</a></td><td class='right'>211</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/tty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/tty.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/shared/write.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/shared/write.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/stat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/stat_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/sync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/sync_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/sysopen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/sysopen_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/sysread_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/sysread_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/sysseek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/sysseek_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/syswrite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/syswrite_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/tell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/tell_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/to_i_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/to_io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/to_io_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/try_convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/try_convert_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/tty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/tty_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/ungetbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/ungetbyte_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/ungetc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/ungetc_spec.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/write_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/write_nonblock_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/io/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/io/write_spec.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/Array_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/Array_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/Complex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/Complex_spec.rb</a></td><td class='right'>141</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/Float_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/Float_spec.rb</a></td><td class='right'>316</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/Hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/Hash_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/Integer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/Integer_spec.rb</a></td><td class='right'>715</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/Rational_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/Rational_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/String_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/String_spec.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/__callee___spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/__callee___spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/__dir___spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/__dir___spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/__method___spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/__method___spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/abort_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/abort_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/at_exit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/at_exit_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/autoload_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/autoload_spec.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/backtick_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/backtick_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/binding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/binding_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/block_given_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/block_given_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/caller_locations_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/caller_locations_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/caller_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/caller_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/case_compare_spec.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/catch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/catch_spec.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/chomp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/chomp_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/chop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/chop_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/class_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/clone_spec.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/comparison_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/define_singleton_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/define_singleton_method_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/display_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/display_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/dup_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/enum_for_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/enum_for_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/eql_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/equal_value_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/eval_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/eval_spec.rb</a></td><td class='right'>345</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/exec_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/exit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/exit_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/extend_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/extend_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fail_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fail_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/__callee__.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/__callee__.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/__method__.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/__method__.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_b.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/autoload_b.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_d.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/autoload_d.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_from_included_module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/autoload_from_included_module.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_from_included_module2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/autoload_from_included_module2.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_frozen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/autoload_frozen.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/caller.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/caller.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/caller_at_exit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/caller_at_exit.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/caller_locations.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/caller_locations.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chomp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/chomp.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chomp_f.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/chomp_f.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/chop.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chop_f.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/chop_f.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/classes.rb</a></td><td class='right'>465</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/eval_locals.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/eval_locals.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/eval_return_with_lambda.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/eval_return_with_lambda.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/eval_return_without_lambda.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/eval_return_without_lambda.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/singleton_methods.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/singleton_methods.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fixtures/test.rb</a></td><td class='right'>362</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/fork_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/fork_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/format_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/format_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/freeze_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/freeze_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/frozen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/frozen_spec.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/gets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/gets_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/global_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/global_variables_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/gsub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/gsub_spec.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/inspect_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_of_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/instance_of_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variable_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/instance_variable_defined_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variable_get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/instance_variable_get_spec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variable_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/instance_variable_set_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/instance_variables_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/is_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/is_a_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/iterator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/iterator_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/itself_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/itself_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/kind_of_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/kind_of_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/lambda_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/lambda_spec.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/load_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/local_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/local_variables_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/loop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/loop_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/match_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/method_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/methods_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/nil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/nil_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/not_match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/not_match_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/object_id_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/object_id_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/open_spec.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/p_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/p_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/print_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/printf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/printf_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/private_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/private_methods_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/proc_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/protected_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/protected_methods_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/public_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/public_method_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/public_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/public_methods_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/public_send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/public_send_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/putc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/putc_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/puts_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/puts_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/raise_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/raise_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/rand_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/rand_spec.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/readline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/readline_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/readlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/readlines_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/remove_instance_variable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/remove_instance_variable_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/require_relative_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/require_relative_spec.rb</a></td><td class='right'>431</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/require_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/require_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/respond_to_missing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/respond_to_missing_spec.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/respond_to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/respond_to_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/select_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/send_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/set_trace_func_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/set_trace_func_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/dup_clone.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/dup_clone.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/kind_of.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/kind_of.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/lambda.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/lambda.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/load.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/method.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/require.rb</a></td><td class='right'>765</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/sprintf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/sprintf.rb</a></td><td class='right'>877</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/sprintf_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/sprintf_encoding.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/then.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/shared/then.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/singleton_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/singleton_class_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/singleton_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/singleton_method_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/singleton_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/singleton_methods_spec.rb</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/sleep_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/sleep_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/spawn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/spawn_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/sprintf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/sprintf_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/srand_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/srand_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/sub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/sub_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/syscall_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/syscall_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/system_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/system_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/taint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/taint_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/tainted_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/tainted_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/tap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/tap_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/test_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/test_spec.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/then_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/then_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/throw_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/throw_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/to_enum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/to_enum_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/to_s_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/trace_var_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/trace_var_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/trap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/trap_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/trust_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/trust_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/untaint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/untaint_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/untrace_var_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/untrace_var_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/untrust_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/untrust_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/untrusted_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/untrusted_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/warn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/warn_spec.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/kernel/yield_self_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/kernel/yield_self_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/define_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/define_method_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/fixtures/classes.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/string_refinement.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/fixtures/string_refinement.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/string_refinement_user.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/fixtures/string_refinement_user.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/wrapped_include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/fixtures/wrapped_include.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/include_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/private_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/private_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/public_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/public_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/main/using_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/main/using_spec.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/dump_spec.rb</a></td><td class='right'>597</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/fixtures/marshal_data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/fixtures/marshal_data.rb</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/fixtures/random.dump?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/fixtures/random.dump</a></td><td class='right'>bin</td><td class='graph'>2520 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/float_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/float_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/load_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/major_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/major_version_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/minor_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/minor_version_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/restore_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/restore_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/marshal/shared/load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/marshal/shared/load.rb</a></td><td class='right'>830</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/begin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/begin_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/captures_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/captures_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/element_reference_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/end_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/end_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/eql_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/hash_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/inspect_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/length_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/named_captures_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/named_captures_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/names_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/names_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/offset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/offset_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/post_match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/post_match_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/pre_match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/pre_match_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/regexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/regexp_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/shared/eql.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/shared/length.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/size_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/string_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/to_a_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/matchdata/values_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/matchdata/values_at_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/acos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/acos_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/acosh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/acosh_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/asin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/asin_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/asinh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/asinh_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/atan2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/atan2_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/atan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/atan_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/atanh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/atanh_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/cbrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/cbrt_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/constants_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/cos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/cos_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/cosh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/cosh_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/erf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/erf_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/erfc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/erfc_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/exp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/exp_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/fixtures/classes.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/frexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/frexp_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/gamma_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/gamma_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/hypot_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/hypot_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/ldexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/ldexp_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/lgamma_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/lgamma_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/log10_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/log10_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/log2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/log2_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/log_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/log_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/sin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/sin_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/sinh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/sinh_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/sqrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/sqrt_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/tan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/tan_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/math/tanh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/math/tanh_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/arity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/arity_spec.rb</a></td><td class='right'>222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/call_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/call_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/case_compare_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/clone_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/curry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/curry_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/element_reference_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/eql_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/fixtures/classes.rb</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/hash_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/inspect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/name_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/owner_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/owner_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/parameters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/parameters_spec.rb</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/receiver_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/receiver_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/shared/call.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/shared/call.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/shared/eql.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/shared/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/shared/to_s.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/source_location_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/source_location_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/super_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/super_method_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/to_proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/to_proc_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/method/unbind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/method/unbind_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/alias_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/alias_method_spec.rb</a></td><td class='right'>157</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/allocate_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/ancestors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/ancestors_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/append_features_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/append_features_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/attr_accessor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/attr_accessor_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/attr_reader_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/attr_reader_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/attr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/attr_spec.rb</a></td><td class='right'>156</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/attr_writer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/attr_writer_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/autoload_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/autoload_spec.rb</a></td><td class='right'>829</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/case_compare_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/class_eval_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/class_eval_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/class_exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/class_exec_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/class_variable_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/class_variable_defined_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/class_variable_get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/class_variable_get_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/class_variable_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/class_variable_set_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/class_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/class_variables_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/comparison_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/const_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/const_defined_spec.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/const_get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/const_get_spec.rb</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/const_missing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/const_missing_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/const_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/const_set_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/constants_spec.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/define_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/define_method_spec.rb</a></td><td class='right'>656</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/define_singleton_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/define_singleton_method_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/deprecate_constant_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/deprecate_constant_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/eql_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/equal_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/equal_value_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/extend_object_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/extend_object_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/extended_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/extended_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_abc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_abc.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_c.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_callback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_callback.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_concur.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_concur.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_d.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_d.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_during_autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_during_autoload.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_during_require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_during_require.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_e.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_e.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_empty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_empty.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_ex1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_ex1.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_exception.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_f.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_f.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_g.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_g.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_h.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_h.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_i.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_i.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_j.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_j.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_k.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_k.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_lm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_lm.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_nested.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_nested.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_never_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_never_set.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_o.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_o.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_r.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_r.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_raise.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_raise.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_required_directly.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_required_directly.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_required_directly_nested.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_required_directly_nested.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_s.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_subclass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_subclass.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_t.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_t.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_v.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_v.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_w.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_w.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_w2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_w2.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_x.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_x.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_z.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/autoload_z.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/classes.rb</a></td><td class='right'>605</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constant_unicode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/constant_unicode.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/constants_autoload.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_a.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/constants_autoload_a.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_b.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/constants_autoload_b.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/constants_autoload_c.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_d.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/constants_autoload_d.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/module.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/name.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/path1/load_path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/path1/load_path.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/path2/load_path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/path2/load_path.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/refine.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/refine.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/repeated_concurrent_autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/fixtures/repeated_concurrent_autoload.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/freeze_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/freeze_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/gt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/gt_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/gte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/gte_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/include_spec.rb</a></td><td class='right'>270</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/included_modules_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/included_modules_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/included_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/included_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/initialize_copy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/initialize_copy_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/initialize_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/instance_method_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/instance_methods_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/lt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/lt_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/lte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/lte_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/method_added_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/method_added_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/method_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/method_defined_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/method_removed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/method_removed_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/method_undefined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/method_undefined_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/module_eval_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/module_eval_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/module_exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/module_exec_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/module_function_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/module_function_spec.rb</a></td><td class='right'>269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/name_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/nesting_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/nesting_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/new_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/prepend_features_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/prepend_features_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/prepend_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/prepend_spec.rb</a></td><td class='right'>373</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/prepended_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/prepended_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/private_class_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/private_class_method_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/private_constant_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/private_constant_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/private_instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/private_instance_methods_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/private_method_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/private_method_defined_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/private_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/private_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/protected_instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/protected_instance_methods_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/protected_method_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/protected_method_defined_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/protected_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/protected_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/public_class_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/public_class_method_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/public_constant_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/public_constant_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/public_instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/public_instance_method_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/public_instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/public_instance_methods_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/public_method_defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/public_method_defined_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/public_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/public_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/refine_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/refine_spec.rb</a></td><td class='right'>735</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/remove_class_variable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/remove_class_variable_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/remove_const_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/remove_const_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/remove_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/remove_method_spec.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/shared/class_eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/shared/class_eval.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/shared/class_exec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/shared/class_exec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/shared/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/shared/equal_value.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/shared/set_visibility.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/shared/set_visibility.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/singleton_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/singleton_class_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/to_s_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/undef_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/undef_method_spec.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/module/using_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/module/using_spec.rb</a></td><td class='right'>287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/lock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/lock_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/locked_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/locked_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/owned_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/owned_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/sleep_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/sleep_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/synchronize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/synchronize_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/try_lock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/try_lock_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/mutex/unlock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/mutex/unlock_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/and_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/and_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/dup_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/nil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/nil_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/nilclass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/nilclass_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/or_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/or_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/rationalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/rationalize_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_a_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_c_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_f_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_h_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_i_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_r_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/nil/xor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/nil/xor_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/abs2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/abs2_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/abs_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/angle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/angle_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/arg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/arg_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/ceil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/ceil_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/coerce_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/comparison_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/conj_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/conj_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/conjugate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/conjugate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/denominator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/denominator_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/div_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/div_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/divmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/divmod_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/eql_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/fdiv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/fdiv_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/finite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/finite_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/fixtures/classes.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/floor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/floor_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/i_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/imag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/imag_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/imaginary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/imaginary_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/infinite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/infinite_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/integer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/integer_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/magnitude_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/magnitude_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/modulo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/modulo_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/negative_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/negative_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/nonzero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/nonzero_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/numerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/numerator_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/numeric_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/numeric_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/phase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/phase_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/polar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/polar_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/positive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/positive_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/quo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/quo_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/real_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/rect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/rect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/rectangular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/rectangular_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/remainder_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/remainder_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/round_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/abs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/abs.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/arg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/arg.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/conj.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/conj.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/imag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/imag.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/quo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/quo.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/rect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/rect.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/step.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/shared/step.rb</a></td><td class='right'>430</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/singleton_method_added_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/singleton_method_added_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/step_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/step_spec.rb</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/to_c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/to_c_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/to_int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/to_int_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/truncate_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/uminus_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/uplus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/uplus_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/numeric/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/numeric/zero_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/_id2ref_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/_id2ref_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/add_finalizer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/add_finalizer_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/call_finalizer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/call_finalizer_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/count_objects_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/count_objects_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/define_finalizer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/define_finalizer_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/each_object_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/each_object_spec.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/finalizers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/finalizers_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/fixtures/classes.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/garbage_collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/garbage_collect_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/remove_finalizer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/remove_finalizer_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/objectspace/undefine_finalizer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/objectspace/undefine_finalizer_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/allocate_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/arity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/arity_spec.rb</a></td><td class='right'>640</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/binding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/binding_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/block_pass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/block_pass_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/call_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/call_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/case_compare_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/clone_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/curry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/curry_spec.rb</a></td><td class='right'>180</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/dup_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/element_reference_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/eql_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/fixtures/common.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/proc_aref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/fixtures/proc_aref.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/proc_aref_frozen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/fixtures/proc_aref_frozen.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/source_location.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/fixtures/source_location.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/hash_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/inspect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/lambda_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/lambda_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/new_spec.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/parameters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/parameters_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/call.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/shared/call.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/call_arguments.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/shared/call_arguments.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/dup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/shared/dup.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/equal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/shared/equal.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/shared/to_s.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/source_location_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/source_location_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/to_proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/to_proc_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/proc/yield_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/proc/yield_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/abort_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/abort_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/clock_gettime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/clock_gettime_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/constants_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/daemon_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/daemon_spec.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/detach_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/detach_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/egid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/egid_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/euid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/euid_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/exec_spec.rb</a></td><td class='right'>218</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/exit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/exit_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/fixtures/common.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/daemon.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/fixtures/daemon.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/kill.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/fixtures/kill.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/map_fd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/fixtures/map_fd.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/setpriority.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/fixtures/setpriority.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/fork_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/fork_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/getpgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/getpgid_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/getpgrp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/getpgrp_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/getpriority_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/getpriority_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/getrlimit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/getrlimit_spec.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/change_privilege_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/change_privilege_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/eid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/eid_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/grant_privilege_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/grant_privilege_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/re_exchange_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/re_exchange_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/re_exchangeable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/re_exchangeable_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/rid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/rid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/sid_available_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/sid_available_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid/switch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid/switch_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/gid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/gid_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/groups_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/groups_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/initgroups_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/initgroups_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/kill_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/kill_spec.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/last_status_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/last_status_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/maxgroups_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/maxgroups_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/pid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/pid_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/ppid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/ppid_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/set_proctitle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/set_proctitle_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/setpgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/setpgid_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/setpgrp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/setpgrp_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/setpriority_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/setpriority_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/setrlimit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/setrlimit_spec.rb</a></td><td class='right'>232</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/setsid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/setsid_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/spawn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/spawn_spec.rb</a></td><td class='right'>636</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/bit_and_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/bit_and_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/coredump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/coredump_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/equal_value_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/exited_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/exited_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/exitstatus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/exitstatus_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/inspect_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/pid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/pid_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/right_shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/right_shift_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/signaled_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/signaled_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/stopped_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/stopped_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/stopsig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/stopsig_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/success_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/success_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/termsig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/termsig_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/to_i_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/to_int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/to_int_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/status/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/status/to_s_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/getegid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/getegid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/geteuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/geteuid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/getgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/getgid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/getuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/getuid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/issetugid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/issetugid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setegid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setegid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/seteuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/seteuid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setgid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setregid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setregid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setresgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setresgid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setresuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setresuid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setreuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setreuid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setrgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setrgid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setruid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setruid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/sys/setuid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/times_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/times_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/cstime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/cstime_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/cutime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/cutime_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/element_reference_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/members_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/members_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/new_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/stime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/stime_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/tms/utime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/tms/utime_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/change_privilege_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/change_privilege_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/eid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/eid_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/grant_privilege_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/grant_privilege_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/re_exchange_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/re_exchange_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/re_exchangeable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/re_exchangeable_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/rid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/rid_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/sid_available_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/sid_available_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid/switch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid/switch_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/uid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/uid_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/wait2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/wait2_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/wait_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/wait_spec.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/waitall_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/waitall_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/waitpid2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/waitpid2_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/process/waitpid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/process/waitpid_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/append_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/clear_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/close_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/closed_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/deq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/deq_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/empty_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/enq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/enq_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/length_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/num_waiting_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/num_waiting_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/pop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/pop_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/push_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/push_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/shift_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/queue/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/queue/size_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/bytes_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/default_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/default_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/equal_value_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/new_seed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/new_seed_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/new_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/rand_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/rand_spec.rb</a></td><td class='right'>216</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/raw_seed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/raw_seed_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/seed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/seed_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/shared/bytes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/shared/bytes.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/shared/urandom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/shared/urandom.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/srand_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/srand_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/random/urandom_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/random/urandom_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/begin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/begin_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/bsearch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/bsearch_spec.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/case_compare_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/cover_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/cover_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/dup_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/each_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/end_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/end_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/eql_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/equal_value_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/exclude_end_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/exclude_end_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/first_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/first_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/fixtures/classes.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/hash_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/include_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/initialize_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/inspect_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/last_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/last_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/max_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/max_spec.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/member_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/member_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/min_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/min_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/new_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/range_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/range_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/shared/begin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/shared/begin.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/shared/cover.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/shared/cover.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/shared/cover_and_include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/shared/cover_and_include.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/shared/end.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/shared/end.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/shared/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/shared/equal_value.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/shared/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/shared/include.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/size_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/step_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/step_spec.rb</a></td><td class='right'>368</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/to_a_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/range/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/range/to_s_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/abs_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/ceil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/ceil_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/coerce_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/comparison_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/denominator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/denominator_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/div_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/div_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/divide_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/divmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/divmod_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/equal_value_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/exponent_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/fdiv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/fdiv_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/floor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/floor_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/hash_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/inspect_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/integer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/integer_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/magnitude_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/magnitude_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/marshal_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/marshal_dump_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/minus_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/modulo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/modulo_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/multiply_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/numerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/numerator_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/plus_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/quo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/quo_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/rational_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/rational_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/rationalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/rationalize_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/remainder_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/remainder_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/round_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/to_f_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/to_i_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/to_r_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/to_s_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/truncate_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/rational/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/rational/zero_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/case_compare_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/casefold_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/casefold_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/compile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/compile_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/encoding_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/eql_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/escape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/escape_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/fixed_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/fixed_encoding_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/hash_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/initialize_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/inspect_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/last_match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/last_match_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/match_spec.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/named_captures_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/named_captures_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/names_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/names_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/new_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/options_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/options_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/quote_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/quote_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/shared/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/shared/equal_value.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/shared/new_ascii.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/shared/new_ascii.rb</a></td><td class='right'>464</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/shared/new_ascii_8bit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/shared/new_ascii_8bit.rb</a></td><td class='right'>553</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/shared/quote.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/shared/quote.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/source_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/source_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/to_s_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/try_convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/try_convert_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/regexp/union_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/regexp/union_spec.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/signal/fixtures/trap_all.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/signal/fixtures/trap_all.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/signal/list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/signal/list_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/signal/signame_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/signal/signame_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/signal/trap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/signal/trap_spec.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/append_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/clear_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/close_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/closed_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/deq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/deq_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/empty_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/enq_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/enq_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/length_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/max_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/max_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/new_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/num_waiting_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/num_waiting_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/pop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/pop_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/push_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/push_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/shift_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/sizedqueue/size_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/allocate_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/append_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/ascii_only_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/ascii_only_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/b_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/b_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/bytes_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/bytesize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/bytesize_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/byteslice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/byteslice_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/capitalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/capitalize_spec.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/case_compare_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/casecmp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/casecmp_spec.rb</a></td><td class='right'>216</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/center_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/center_spec.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/chars_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/chars_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/chomp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/chomp_spec.rb</a></td><td class='right'>387</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/chop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/chop_spec.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/chr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/chr_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/clear_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/clone_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/codepoints_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/codepoints_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/comparison_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/concat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/concat_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/count_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/count_spec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/crypt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/crypt_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/delete_prefix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/delete_prefix_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/delete_spec.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/delete_suffix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/delete_suffix_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/downcase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/downcase_spec.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/dump_spec.rb</a></td><td class='right'>439</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/dup_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/each_byte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/each_byte_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/each_char_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/each_char_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/each_codepoint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/each_codepoint_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/each_grapheme_cluster_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/each_grapheme_cluster_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/each_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/each_line_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/element_reference_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/element_set_spec.rb</a></td><td class='right'>612</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/empty_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/encode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/encode_spec.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/encoding_spec.rb</a></td><td class='right'>189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/end_with_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/end_with_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/eql_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/equal_value_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/fixtures/classes.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/freeze_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/fixtures/freeze_magic_comment.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/iso-8859-9-encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/fixtures/iso-8859-9-encoding.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/utf-8-encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/fixtures/utf-8-encoding.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/force_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/force_encoding_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/freeze_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/freeze_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/getbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/getbyte_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/grapheme_clusters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/grapheme_clusters_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/gsub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/gsub_spec.rb</a></td><td class='right'>696</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/hash_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/hex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/hex_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/include_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/index_spec.rb</a></td><td class='right'>316</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/initialize_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/insert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/insert_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/inspect_spec.rb</a></td><td class='right'>492</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/intern_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/intern_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/lines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/lines_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/ljust_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/ljust_spec.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/lstrip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/lstrip_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/match_spec.rb</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/modulo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/modulo_spec.rb</a></td><td class='right'>807</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/multiply_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/new_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/next_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/oct_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/oct_spec.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/ord_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/ord_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/partition_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/partition_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/percent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/percent_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/plus_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/prepend_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/prepend_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/replace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/replace_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/reverse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/reverse_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/rindex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/rindex_spec.rb</a></td><td class='right'>368</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/rjust_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/rjust_spec.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/rpartition_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/rpartition_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/rstrip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/rstrip_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/scan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/scan_spec.rb</a></td><td class='right'>192</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/scrub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/scrub_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/setbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/setbyte_spec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/chars.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/chars.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/codepoints.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/codepoints.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/concat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/concat.rb</a></td><td class='right'>160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/each_char_without_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/each_char_without_block.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/each_codepoint_without_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/each_codepoint_without_block.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/each_line.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/each_line.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/each_line_without_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/each_line_without_block.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/encode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/encode.rb</a></td><td class='right'>247</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/eql.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/equal_value.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/grapheme_clusters.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/grapheme_clusters.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/length.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/replace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/replace.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/slice.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/slice.rb</a></td><td class='right'>557</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/succ.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/succ.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/to_a.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/to_a.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/to_s.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/shared/to_sym.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/shared/to_sym.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/slice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/slice_spec.rb</a></td><td class='right'>476</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/split_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/split_spec.rb</a></td><td class='right'>415</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/squeeze_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/squeeze_spec.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/start_with_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/start_with_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/string_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/strip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/strip_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/sub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/sub_spec.rb</a></td><td class='right'>571</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/succ_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/succ_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/sum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/sum_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/swapcase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/swapcase_spec.rb</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_c_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_f_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_i_spec.rb</a></td><td class='right'>337</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_r_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_str_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_str_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/to_sym_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/to_sym_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/tr_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/tr_s_spec.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/tr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/tr_spec.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/try_convert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/try_convert_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/uminus_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/undump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/undump_spec.rb</a></td><td class='right'>451</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unicode_normalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unicode_normalize_spec.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unicode_normalized_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unicode_normalized_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/a_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/at_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/b_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/b_spec.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/c_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/c_spec.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/comment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/comment_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/d_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/d_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/e_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/e_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/f_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/g_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/g_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/h_spec.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/i_spec.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/j_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/j_spec.rb</a></td><td class='right'>272</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/l_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/l_spec.rb</a></td><td class='right'>265</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/m_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/m_spec.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/n_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/n_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/p_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/p_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/percent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/percent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/q_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/q_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/s_spec.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/basic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/shared/basic.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/float.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/shared/float.rb</a></td><td class='right'>271</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/integer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/shared/integer.rb</a></td><td class='right'>339</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/shared/string.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/taint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/shared/taint.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/unicode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/shared/unicode.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/u_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/u_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/v_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/v_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/w_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/w_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/x_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/x_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/z_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack/z_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/unpack1_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/unpack1_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/upcase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/upcase_spec.rb</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/uplus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/uplus_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/upto_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/upto_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/string/valid_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/string/valid_encoding_spec.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/dig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/dig_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/dup_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/each_pair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/each_pair_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/each_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/element_reference_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/element_set_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/eql_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/equal_value_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/filter_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/fixtures/classes.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/hash_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/initialize_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/inspect_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/instance_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/instance_variables_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/length_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/members_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/members_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/new_spec.rb</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/select_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/accessor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/shared/accessor.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/shared/equal_value.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/inspect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/shared/inspect.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/shared/select.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/size_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/struct_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/struct_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/to_a_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/to_h_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/to_s_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/values_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/values_at_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/struct/values_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/struct/values_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/all_symbols_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/all_symbols_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/capitalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/capitalize_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/case_compare_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/casecmp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/casecmp_spec.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/comparison_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/downcase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/downcase_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/dup_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/element_reference_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/empty_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/encoding_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/equal_value_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/fixtures/classes.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/id2name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/id2name_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/inspect_spec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/intern_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/intern_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/length_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/match_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/next_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/id2name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/shared/id2name.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/shared/length.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/slice.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/shared/slice.rb</a></td><td class='right'>278</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/succ.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/shared/succ.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/size_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/slice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/slice_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/succ_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/succ_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/swapcase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/swapcase_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/symbol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/symbol_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/to_proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/to_proc_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/to_sym_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/to_sym_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/symbol/upcase_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/symbol/upcase_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/systemexit/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/systemexit/initialize_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/systemexit/success_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/systemexit/success_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/abort_on_exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/abort_on_exception_spec.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/add_trace_func_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/add_trace_func_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/alive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/alive_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/allocate_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/absolute_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/absolute_path_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/base_label_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/base_label_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/absolute_path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/fixtures/absolute_path.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/absolute_path_method_added.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/fixtures/absolute_path_method_added.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/fixtures/classes.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/main.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/fixtures/main.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/inspect_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/label_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/label_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/lineno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/lineno_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/path_spec.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace/location/to_s_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/backtrace_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/current_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/current_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/element_reference_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/element_set_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/exclusive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/exclusive_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/exit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/exit_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/fetch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/fetch_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/fixtures/classes.rb</a></td><td class='right'>303</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/fork_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/fork_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/group_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/group_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/initialize_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/inspect_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/join_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/join_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/key_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/keys_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/keys_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/kill_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/kill_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/list_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/main_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/main_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/name_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/new_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/pass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/pass_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/priority_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/priority_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/raise_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/raise_spec.rb</a></td><td class='right'>205</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/report_on_exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/report_on_exception_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/run_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/run_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/set_trace_func_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/set_trace_func_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/shared/exit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/shared/exit.rb</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/shared/start.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/shared/start.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/shared/wakeup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/shared/wakeup.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/start_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/status_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/status_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/stop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/stop_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/terminate_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variable_get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/thread_variable_get_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variable_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/thread_variable_set_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/thread_variable_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/thread_variables_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/value_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/thread/wakeup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/thread/wakeup_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/threadgroup/add_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/default_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/threadgroup/default_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/enclose_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/threadgroup/enclose_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/enclosed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/threadgroup/enclosed_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/threadgroup/fixtures/classes.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/threadgroup/list_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/_dump_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/_load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/_load_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/asctime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/asctime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/at_spec.rb</a></td><td class='right'>201</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/comparison_spec.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/ctime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/ctime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/day_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/day_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/dst_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/dst_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/dup_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/eql_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/fixtures/classes.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/friday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/friday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/getgm_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/getgm_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/getlocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/getlocal_spec.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/getutc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/getutc_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/gm_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/gm_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/gmt_offset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/gmt_offset_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/gmt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/gmt_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/gmtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/gmtime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/gmtoff_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/gmtoff_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/hash_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/hour_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/hour_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/inspect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/isdst_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/isdst_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/local_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/local_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/localtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/localtime_spec.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/mday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/mday_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/min_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/min_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/minus_spec.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/mktime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/mktime_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/mon_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/mon_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/monday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/monday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/month_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/month_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/new_spec.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/now_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/now_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/nsec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/nsec_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/plus_spec.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/round_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/saturday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/saturday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/sec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/sec_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/asctime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/asctime.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/day.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/day.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/getgm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/getgm.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/gm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/gm.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/gmt_offset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/gmt_offset.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/gmtime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/gmtime.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/inspect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/inspect.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/isdst.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/isdst.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/local.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/local.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/month.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/month.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/now.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/now.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/time_params.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/time_params.rb</a></td><td class='right'>262</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/shared/to_i.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/shared/to_i.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/strftime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/strftime_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/subsec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/subsec_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/succ_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/succ_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/sunday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/sunday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/thursday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/thursday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/time_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/to_a_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/to_f_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/to_i_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/to_r_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/tuesday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/tuesday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/tv_nsec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/tv_nsec_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/tv_sec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/tv_sec_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/tv_usec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/tv_usec_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/usec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/usec_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/utc_offset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/utc_offset_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/utc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/utc_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/wday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/wday_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/wednesday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/wednesday_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/yday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/yday_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/year_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/year_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/time/zone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/time/zone_spec.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/binding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/binding_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/callee_id_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/callee_id_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/defined_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/defined_class_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/disable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/disable_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/enable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/enable_spec.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/enabled_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/enabled_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/event_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/event_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/fixtures/classes.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/inspect_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/lineno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/lineno_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/method_id_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/method_id_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/new_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/parameters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/parameters_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/path_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/raised_exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/raised_exception_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/return_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/return_value_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/self_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/self_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/trace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/tracepoint/trace_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/and_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/and_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/dup_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/or_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/or_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/trueclass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/trueclass_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/true/xor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/true/xor_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/arity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/arity_spec.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/bind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/bind_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/clone_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/eql_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/equal_value_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/fixtures/classes.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/hash_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/name_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/owner_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/owner_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/parameters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/parameters_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/shared/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/shared/to_s.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/source_location_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/source_location_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/super_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/super_method_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/unboundmethod/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/core/warning/warn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/core/warning/warn_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/default.mspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/default.mspec</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/basicobject/method_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/basicobject/method_missing.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/class.rb</a></td><td class='right'>136</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/class_variables.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/class_variables.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/a/load_fixture.bundle?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/a/load_fixture.bundle</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/a/load_fixture.dll?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/a/load_fixture.dll</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/a/load_fixture.so?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/a/load_fixture.so</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/b/load_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/b/load_fixture.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/concurrent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/concurrent.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/concurrent2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/concurrent2.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/concurrent3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/concurrent3.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/file_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/file_fixture.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/gem/load_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/gem/load_fixture.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/line_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/line_fixture.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_ext_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_ext_fixture.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.bundle?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.bundle</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.dll?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.dll</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.ext</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.bundle?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.ext.bundle</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.dll?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.ext.dll</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.ext.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.so?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.ext.so</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.so?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture.so</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture_and__FILE__.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_fixture_and__FILE__.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_wrap_method_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/load_wrap_method_fixture.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/methods_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/methods_fixture.rb</a></td><td class='right'>364</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/raise_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/raise_fixture.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/recursive_load_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/recursive_load_fixture.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/recursive_require_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/recursive_require_fixture.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/symlink/symlink1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/symlink/symlink1.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/symlink/symlink2/symlink2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/symlink/symlink2/symlink2.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code/wrap_fixture.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code/wrap_fixture.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/code_loading.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/code_loading.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/constants.rb</a></td><td class='right'>288</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/enumerator/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/enumerator/classes.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/math/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/math/common.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/rational.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/rational.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/fixtures/reflection.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/fixtures/reflection.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/BEGIN_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/BEGIN_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/README</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/alias_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/alias_spec.rb</a></td><td class='right'>246</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/and_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/and_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/array_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/array_spec.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/block_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/block_spec.rb</a></td><td class='right'>860</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/break_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/break_spec.rb</a></td><td class='right'>365</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/case_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/case_spec.rb</a></td><td class='right'>427</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/class_spec.rb</a></td><td class='right'>328</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/class_variable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/class_variable_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/constants_spec.rb</a></td><td class='right'>715</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/def_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/def_spec.rb</a></td><td class='right'>761</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/defined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/defined_spec.rb</a></td><td class='right'>1132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/encoding_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/ensure_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/ensure_spec.rb</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/execution_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/execution_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/file_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/argv_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/argv_encoding.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/array.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/array.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/begin_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/begin_file.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/binary_symbol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/binary_symbol.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/block.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/break.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/break.rb</a></td><td class='right'>291</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/break_lambda_toplevel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/break_lambda_toplevel.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/break_lambda_toplevel_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/break_lambda_toplevel_block.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/break_lambda_toplevel_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/break_lambda_toplevel_method.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/bytes_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/bytes_magic_comment.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/case_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/case_magic_comment.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/classes.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/coding_us_ascii.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/coding_us_ascii.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/coding_utf_8.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/coding_utf_8.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/constant_visibility.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/constant_visibility.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/constants_sclass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/constants_sclass.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/def.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/def.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/defined.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/defined.rb</a></td><td class='right'>303</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/dollar_zero.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/dollar_zero.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/emacs_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/emacs_magic_comment.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/ensure.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/ensure.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/file.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_across_files.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_across_files.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_across_files_diff_enc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_across_files_diff_enc.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_across_files_no_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_across_files_no_comment.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_one_literal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_one_literal.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_required.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_required.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_required_diff_enc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_required_diff_enc.rb</a></td><td class='right'>bin</td><td class='graph'>181 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_required_no_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_required_no_comment.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_two_literals.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/freeze_magic_comment_two_literals.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/hash_strings_ascii8bit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/hash_strings_ascii8bit.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/hash_strings_usascii.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/hash_strings_usascii.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/hash_strings_utf8.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/hash_strings_utf8.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/magic_comment.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/match_operators.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/match_operators.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/metaclass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/metaclass.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/module.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/next.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/next.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/no_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/no_magic_comment.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/precedence.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/precedence.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/print_magic_comment_result_at_exit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/print_magic_comment_result_at_exit.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/private.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/private.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/rescue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/rescue.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/return.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/return.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/second_line_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/second_line_magic_comment.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/second_token_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/second_token_magic_comment.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/send.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/send.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/shebang_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/shebang_magic_comment.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/squiggly_heredoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/squiggly_heredoc.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/super.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/super.rb</a></td><td class='right'>696</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf16-be-nobom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/utf16-be-nobom.rb</a></td><td class='right'>bin</td><td class='graph'>68 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf16-le-nobom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/utf16-le-nobom.rb</a></td><td class='right'>bin</td><td class='graph'>69 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf8-bom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/utf8-bom.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf8-nobom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/utf8-nobom.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/variables.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/variables.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/vim_magic_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/vim_magic_comment.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/fixtures/yield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/fixtures/yield.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/for_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/for_spec.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/hash_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/heredoc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/heredoc_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/if_spec.rb</a></td><td class='right'>376</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/lambda_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/lambda_spec.rb</a></td><td class='right'>573</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/line_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/loop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/loop_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/magic_comment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/magic_comment_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/match_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/metaclass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/metaclass_spec.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/method_spec.rb</a></td><td class='right'>1387</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/module_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/module_spec.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/next_spec.rb</a></td><td class='right'>410</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/not_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/not_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/numbers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/numbers_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/optional_assignments_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/optional_assignments_spec.rb</a></td><td class='right'>298</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/or_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/or_spec.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/order_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/order_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/precedence_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/precedence_spec.rb</a></td><td class='right'>449</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/data_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data1.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data2.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data3.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data4.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data4.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data5.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data5.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data_offset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data_offset.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data_only.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/data_only.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/empty_data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/empty_data.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/print_data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/print_data.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_dynamic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_dynamic.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_dynamic_required.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_dynamic_required.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_id.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_id.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_id_required.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_id_required.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_required_before.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_required_before.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_values.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_values.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_variables.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_variables.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_variables_required.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/fixtures/toplevel_binding_variables_required.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined/toplevel_binding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined/toplevel_binding_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/predefined_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/predefined_spec.rb</a></td><td class='right'>1267</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/private_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/private_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/proc_spec.rb</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/redo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/redo_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/anchors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/anchors_spec.rb</a></td><td class='right'>179</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/back-references_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/back-references_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/character_classes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/character_classes_spec.rb</a></td><td class='right'>633</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/encoding_spec.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/escapes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/escapes_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/grouping_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/grouping_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/interpolation_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/interpolation_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/modifiers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/modifiers_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp/repetition_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp/repetition_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/regexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/regexp_spec.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/rescue_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/rescue_spec.rb</a></td><td class='right'>493</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/retry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/retry_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/return_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/return_spec.rb</a></td><td class='right'>483</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/safe_navigator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/safe_navigator_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/safe_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/safe_spec.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/send_spec.rb</a></td><td class='right'>552</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/shared/__FILE__.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/shared/__FILE__.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/shared/__LINE__.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/shared/__LINE__.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/singleton_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/singleton_class_spec.rb</a></td><td class='right'>293</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/source_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/source_encoding_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/string_spec.rb</a></td><td class='right'>289</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/super_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/super_spec.rb</a></td><td class='right'>369</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/symbol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/symbol_spec.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/throw_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/throw_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/undef_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/undef_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/unless_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/unless_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/until_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/until_spec.rb</a></td><td class='right'>234</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/variables_spec.rb</a></td><td class='right'>760</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/while_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/while_spec.rb</a></td><td class='right'>344</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/language/yield_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/language/yield_spec.rb</a></td><td class='right'>179</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/English/English_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/English/English_spec.rb</a></td><td class='right'>171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/abbrev/abbrev_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/abbrev/abbrev_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/base64/decode64_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/base64/decode64_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/base64/encode64_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/base64/encode64_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/base64/urlsafe_decode64_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/base64/urlsafe_decode64_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/base64/urlsafe_encode64_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/base64/urlsafe_encode64_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/BigDecimal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/BigDecimal_spec.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/abs_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/add_spec.rb</a></td><td class='right'>179</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/case_compare_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/ceil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/ceil_spec.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/coerce_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/comparison_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/div_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/div_spec.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/divide_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/divmod_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/divmod_spec.rb</a></td><td class='right'>180</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/double_fig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/double_fig_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/eql_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/equal_value_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/exponent_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/finite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/finite_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/fix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/fix_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/fixtures/classes.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/floor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/floor_spec.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/frac_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/frac_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/gt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/gt_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/gte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/gte_spec.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/infinite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/infinite_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/inspect_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/limit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/limit_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/lt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/lt_spec.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/lte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/lte_spec.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/minus_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/mode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/mode_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/modulo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/modulo_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/mult_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/mult_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/multiply_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/nan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/nan_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/nonzero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/nonzero_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/plus_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/power_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/power_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/precs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/precs_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/quo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/quo_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/remainder_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/remainder_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/round_spec.rb</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/shared/eql.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/modulo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/shared/modulo.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/mult.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/shared/mult.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/power.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/shared/power.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/quo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/shared/quo.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/to_int.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/shared/to_int.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/sign_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/sign_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/split_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/split_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/sqrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/sqrt_spec.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/sub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/sub_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_f_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/to_f_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_i_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/to_i_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/to_int_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/to_r_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/to_s_spec.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/truncate_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/uminus_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/uplus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/uplus_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigdecimal/zero_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/bigmath/log_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/bigmath/log_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/domain_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/domain_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/expires_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/expires_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/initialize_spec.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/name_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/parse_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/path_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/secure_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/secure_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/to_s_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/cookie/value_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/escapeElement_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/escapeElement_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/escapeHTML_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/escapeHTML_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/escape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/escape_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/a_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/base_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/base_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/blockquote_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/blockquote_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/br_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/br_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/caption_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/caption_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/checkbox_group_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/checkbox_group_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/checkbox_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/checkbox_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/doctype_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/doctype_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/file_field_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/file_field_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/fixtures/common.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/form_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/form_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/frame_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/frame_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/frameset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/frameset_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/hidden_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/hidden_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/html_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/html_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/image_button_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/image_button_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/img_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/img_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/multipart_form_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/multipart_form_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/password_field_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/password_field_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/popup_menu_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/popup_menu_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/radio_button_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/radio_button_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/radio_group_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/radio_group_spec.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/reset_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/scrolling_list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/scrolling_list_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/shared/popup_menu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/shared/popup_menu.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/submit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/submit_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/text_field_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/text_field_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/textarea_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/htmlextension/textarea_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/http_header_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/http_header_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/initialize_spec.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/out_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/out_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/parse_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/pretty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/pretty_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/print_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_charset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/accept_charset_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/accept_encoding_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_language_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/accept_language_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/accept_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/auth_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/auth_type_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/cache_control_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/cache_control_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/content_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/content_length_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/content_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/content_type_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/cookies_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/cookies_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/element_reference_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/from_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/from_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/gateway_interface_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/gateway_interface_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/has_key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/has_key_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/host_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/host_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/include_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/key_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/keys_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/keys_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/multipart_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/multipart_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/negotiate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/negotiate_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/params_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/params_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/path_info_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/path_info_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/path_translated_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/path_translated_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/pragma_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/pragma_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/query_string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/query_string_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/raw_cookie2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/raw_cookie2_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/raw_cookie_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/raw_cookie_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/referer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/referer_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_addr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/remote_addr_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_host_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/remote_host_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_ident_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/remote_ident_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_user_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/remote_user_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/request_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/request_method_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/script_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/script_name_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/server_name_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/server_port_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_protocol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/server_protocol_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_software_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/server_software_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/shared/has_key.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/shared/has_key.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/user_agent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/queryextension/user_agent_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/rfc1123_date_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/rfc1123_date_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/shared/http_header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/shared/http_header.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/unescapeElement_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/unescapeElement_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/unescapeHTML_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/unescapeHTML_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/cgi/unescape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/cgi/unescape_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/acos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/acos_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/acosh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/acosh_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/asin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/asin_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/asinh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/asinh_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/atan2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/atan2_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/atan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/atan_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/atanh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/atanh_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/cos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/cos_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/cosh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/cosh_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/exp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/exp_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/fixtures/classes.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/log10_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/log10_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/log_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/log_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/acos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/acos.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/acosh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/acosh.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/asin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/asin.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/asinh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/asinh.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/atan.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/atan.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/atan2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/atan2.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/atanh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/atanh.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/cos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/cos.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/cosh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/cosh.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/exp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/exp.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/log.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/log.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/log10.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/log10.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/sin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/sin.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/sinh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/sinh.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/sqrt.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/sqrt.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/tan.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/tan.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/shared/tanh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/shared/tanh.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/sin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/sin_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/sinh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/sinh_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/sqrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/sqrt_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/tan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/tan_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/math/tanh_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/math/tanh_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/complex/numeric/im_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/complex/numeric/im_spec.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/broadcast_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/conditionvariable/broadcast_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/marshal_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/conditionvariable/marshal_dump_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/signal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/conditionvariable/signal_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/wait_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/conditionvariable/wait_spec.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/fixtures/second_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/fixtures/second_class.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/fixtures/some_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/fixtures/some_class.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/fixtures/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/fixtures/spec_helper.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/fixtures/start_coverage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/fixtures/start_coverage.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/peek_result_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/peek_result_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/result_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/result_spec.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/coverage/start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/coverage/start_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/basicwriter/close_on_terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/basicwriter/close_on_terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/basicwriter/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/basicwriter/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/basicwriter/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/basicwriter/terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/cell/data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/cell/data_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/cell/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/cell/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/fixtures/one_line.csv?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/fixtures/one_line.csv</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/foreach_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/foreach_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/generate_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/generate_line_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/generate_row_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/generate_row_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/generate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/generate_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/iobuf/close_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/iobuf/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/iobuf/read_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/iobuf/terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/close_on_terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/ioreader/close_on_terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/get_row_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/ioreader/get_row_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/ioreader/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/ioreader/terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/liberal_parsing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/liberal_parsing_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/open_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/parse_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/read_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/readlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/readlines_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/add_buf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/add_buf_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/buf_size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/buf_size_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/drop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/drop_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/element_reference_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/get_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/idx_is_eos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/idx_is_eos_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/is_eos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/is_eos_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/read_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/rel_buf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/rel_buf_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/streambuf/terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/stringreader/get_row_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/stringreader/get_row_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/stringreader/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/stringreader/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/add_row_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/add_row_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/append_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/close_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/create_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/create_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/generate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/generate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/csv/writer/terminate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/accessor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/accessor_spec.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/add_month_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/add_month_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/add_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ajd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ajd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ajd_to_amjd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ajd_to_amjd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ajd_to_jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ajd_to_jd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/amjd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/amjd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/amjd_to_ajd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/amjd_to_ajd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/append_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/asctime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/asctime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/boat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/boat_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/case_compare_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/civil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/civil_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/commercial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/commercial_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/commercial_to_jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/commercial_to_jd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/comparison_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/constants_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/conversions_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/conversions_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ctime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ctime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/cwday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/cwday_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/cweek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/cweek_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/cwyear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/cwyear_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/day_fraction_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/day_fraction_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/day_fraction_to_time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/day_fraction_to_time_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/day_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/day_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/downto_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/downto_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/england_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/england_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/eql_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/format/bag/method_missing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/format/bag/method_missing_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/format/bag/to_hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/format/bag/to_hash_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/friday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/friday_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/gregorian_leap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/gregorian_leap_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/gregorian_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/gregorian_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/hash_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/abs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/abs_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/coerce_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/comparison_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/d_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/d_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/finite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/finite_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/infinite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/infinite_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/nan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/nan_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/uminus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/uminus_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/uplus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/uplus_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity/zero_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/infinity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/infinity_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/inspect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/iso8601_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/iso8601_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/italy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/italy_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_ajd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_ajd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_civil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_civil_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_commercial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_commercial_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_ld_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_ld_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_mjd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_mjd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_ordinal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_ordinal_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_wday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/jd_to_wday_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/julian_leap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/julian_leap_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/julian_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/julian_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ld_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ld_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ld_to_jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ld_to_jd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/leap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/leap_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/mday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/mday_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/minus_month_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/minus_month_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/minus_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/mjd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/mjd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/mjd_to_jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/mjd_to_jd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/mon_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/mon_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/monday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/monday_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/month_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/month_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/new_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/new_start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/new_start_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/next_day_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/next_day_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/next_month_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/next_month_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/next_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/next_year_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/next_year_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ordinal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ordinal_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/ordinal_to_jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/ordinal_to_jd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/parse_spec.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/plus_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/prev_day_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/prev_day_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/prev_month_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/prev_month_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/prev_year_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/prev_year_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/relationship_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/relationship_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/right_shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/right_shift_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/saturday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/saturday_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/civil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/civil.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/commercial.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/commercial.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/jd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/jd.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/new_bang.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/new_bang.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/ordinal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/ordinal.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/parse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/parse.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/parse_eu.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/parse_eu.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/parse_us.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/parse_us.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_civil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/valid_civil.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_commercial.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/valid_commercial.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_jd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/valid_jd.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_ordinal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/shared/valid_ordinal.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/start_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/step_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/step_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/strftime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/strftime_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/strptime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/strptime_spec.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/succ_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/succ_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/sunday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/sunday_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/thursday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/thursday_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/time_to_day_fraction_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/time_to_day_fraction_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/today_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/today_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/tuesday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/tuesday_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/upto_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/upto_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/valid_civil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/valid_civil_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/valid_commercial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/valid_commercial_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/valid_date_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/valid_date_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/valid_jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/valid_jd_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/valid_ordinal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/valid_ordinal_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/valid_time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/valid_time_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/wday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/wday_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/wednesday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/wednesday_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/yday_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/yday_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/year_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/year_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/date/zone_to_diff_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/date/zone_to_diff_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/_strptime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/_strptime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/add_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/civil_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/civil_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/commercial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/commercial_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/hour_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/hour_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/httpdate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/httpdate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/iso8601_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/iso8601_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/jd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/jd_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/jisx0301_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/jisx0301_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/min_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/min_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/minute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/minute_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/new_offset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/new_offset_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/new_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/now_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/now_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/offset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/offset_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/ordinal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/ordinal_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/parse_spec.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/rfc2822_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/rfc2822_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/rfc3339_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/rfc3339_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/rfc822_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/rfc822_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/sec_fraction_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/sec_fraction_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/sec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/sec_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/second_fraction_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/second_fraction_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/second_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/second_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/shared/min.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/shared/min.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/shared/sec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/shared/sec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/strftime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/strftime_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/strptime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/strptime_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/subtract_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/subtract_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_date_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/to_date_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_datetime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/to_datetime_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/to_s_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/to_time_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/xmlschema_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/xmlschema_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/datetime/zone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/datetime/zone_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/instance_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegate_class/instance_method_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegate_class/instance_methods_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/private_instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegate_class/private_instance_methods_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/protected_instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegate_class/protected_instance_methods_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/public_instance_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegate_class/public_instance_methods_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/respond_to_missing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegate_class/respond_to_missing_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/case_compare_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/compare_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/complement_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/complement_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/eql_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/equal_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/equal_value_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/frozen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/frozen_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/hash_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/marshal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/marshal_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/method_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/methods_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/not_equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/not_equal_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/not_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/not_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/private_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/private_methods_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/protected_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/protected_methods_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/public_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/public_methods_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/send_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/taint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/taint_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/tap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/tap_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/trust_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/trust_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/untaint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/untaint_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/untrust_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/delegator/untrust_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/delegate/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/delegate/fixtures/classes.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/bubblebabble_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/bubblebabble_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/hexencode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/hexencode_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/block_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/block_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/digest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/digest_bang_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/digest_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/digest_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/digest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/digest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/equal_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/file_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/hexdigest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/hexdigest_bang_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/hexdigest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/hexdigest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/inspect_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/reset_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/shared/constants.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/shared/length.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/sample.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/shared/sample.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/shared/update.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/to_s_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/md5/update_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha1/digest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha1/digest_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha1/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha1/file_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha1/shared/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha1/shared/constants.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/block_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/block_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/digest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/digest_bang_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/digest_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/digest_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/digest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/digest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/equal_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/file_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/hexdigest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/hexdigest_bang_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/hexdigest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/hexdigest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/inspect_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/reset_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/shared/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/shared/constants.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/shared/length.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/shared/update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/shared/update.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/to_s_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha256/update_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/block_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/block_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/digest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/digest_bang_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/digest_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/digest_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/digest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/digest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/equal_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/file_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/hexdigest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/hexdigest_bang_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/hexdigest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/hexdigest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/inspect_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/reset_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/shared/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/shared/constants.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/shared/length.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/shared/update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/shared/update.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/to_s_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha384/update_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/block_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/block_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/digest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/digest_bang_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/digest_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/digest_length_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/digest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/digest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/equal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/equal_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/file_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/hexdigest_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/hexdigest_bang_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/hexdigest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/hexdigest_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/inspect_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/reset_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/shared/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/shared/constants.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/shared/length.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/shared/update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/shared/update.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/to_s_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/update_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/digest/sha512/update_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/drb/fixtures/test_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/drb/fixtures/test_server.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/drb/start_service_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/drb/start_service_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/def_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/def_class_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/def_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/def_method_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/def_module_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/def_module_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/defmethod/def_erb_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/defmethod/def_erb_method_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/filename_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/filename_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/fixtures/classes.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/new_spec.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/result_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/result_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/run_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/run_spec.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/src_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/src_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/util/h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/util/h_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/util/html_escape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/util/html_escape_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/util/shared/html_escape.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/util/shared/html_escape.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/util/shared/url_encode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/util/shared/url_encode.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/util/u_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/util/u_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/erb/util/url_encode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/erb/util/url_encode_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/confstr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/confstr_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/endgrent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/endgrent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/endpwent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/endpwent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getgrent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getgrent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getgrgid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getgrgid_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getgrnam_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getgrnam_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getlogin_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getlogin_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getpwent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getpwent_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getpwnam_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getpwnam_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/getpwuid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/getpwuid_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/group_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/group_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/nprocessors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/nprocessors_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/passwd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/passwd_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/shared/windows.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/shared/windows.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/struct_group_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/struct_group_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/struct_passwd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/struct_passwd_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/sysconf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/sysconf_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/sysconfdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/sysconfdir_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/etc/systmpdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/etc/systmpdir_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/expect/expect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/expect/expect_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/fiber/alive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/fiber/alive_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/fiber/current_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/fiber/current_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/fiber/resume_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/fiber/resume_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/fiber/transfer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/fiber/transfer_spec.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/find/find_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/find/find_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/find/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/find/fixtures/common.rb</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/find/prune_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/find/prune_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/each_option_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/each_option_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/each_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/error_message_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/error_message_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/get_option_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/get_option_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/get_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/initialize_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/ordering_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/ordering_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/set_options_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/set_options_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/shared/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/shared/each.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/shared/get.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/shared/get.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/terminate_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/terminated_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/getoptlong/terminated_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/hton_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/ipaddr/hton_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/ipv4_conversion_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/ipaddr/ipv4_conversion_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/ipaddr/new_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/operator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/ipaddr/operator_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/reverse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/ipaddr/reverse_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/ipaddr/to_s_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/device/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/device/close_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/device/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/device/new_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/device/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/device/write_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/fixtures/common.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/add_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/close_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/datetime_format_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/datetime_format_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/debug_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/debug_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/error_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/fatal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/fatal_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/info_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/info_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/new_spec.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/unknown_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/unknown_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/warn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/logger/warn_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/logger/severity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/logger/severity_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/bignum/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/bignum/exponent_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/complex/Complex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/complex/Complex_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/fixnum/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/fixnum/exponent_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/float/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/float/exponent_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/integer/from_prime_division_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/integer/from_prime_division_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/integer/prime_division_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/integer/prime_division_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/math/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/math/fixtures/classes.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/math/rsqrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/math/rsqrt_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/math/shared/rsqrt.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/math/shared/rsqrt.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/math/shared/sqrt.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/math/shared/sqrt.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/math/sqrt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/math/sqrt_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/mathn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/mathn_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/rational/Rational_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/rational/Rational_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/mathn/rational/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/mathn/rational/inspect_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/I_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/I_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/antisymmetric_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/antisymmetric_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/build_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/build_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/clone_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/coerce_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/collect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/column_size_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/column_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_vector_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/column_vector_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_vectors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/column_vectors_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/columns_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/columns_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/conj_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/conj_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/conjugate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/conjugate_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/constructor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/constructor_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/det_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/det_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/determinant_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/determinant_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/diagonal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/diagonal_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/divide_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/each_spec.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/each_with_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/each_with_index_spec.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalue_matrix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalue_matrix_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalues_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalues_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvector_matrix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eigenvalue_decomposition/eigenvector_matrix_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvectors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eigenvalue_decomposition/eigenvectors_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eigenvalue_decomposition/initialize_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eigenvalue_decomposition/to_a_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/element_reference_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/empty_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/eql_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/equal_value_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/exponent_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/find_index_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/find_index_spec.rb</a></td><td class='right'>146</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/fixtures/classes.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/hash_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/hermitian_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/hermitian_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/identity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/identity_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/imag_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/imag_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/imaginary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/imaginary_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/inspect_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/inv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/inv_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/inverse_from_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/inverse_from_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/inverse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/inverse_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lower_triangular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lower_triangular_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/determinant_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/determinant_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/initialize_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/l_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/l_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/p_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/p_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/solve_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/solve_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/to_a_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/u_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/lup_decomposition/u_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/map_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/minor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/minor_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/minus_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/multiply_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/new_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/normal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/normal_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/orthogonal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/orthogonal_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/permutation_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/permutation_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/plus_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/rank_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/rank_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/real_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/real_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/rect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/rect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/rectangular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/rectangular_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/regular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/regular_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/round_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/round_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/row_size_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/row_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_vector_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/row_vector_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_vectors_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/row_vectors_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/rows_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/rows_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/Fail_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/Fail_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/Raise_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/Raise_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/divide_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/exponent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/exponent_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/included_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/included_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/initialize_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/minus_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/multiply_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/multiply_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar/plus_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/scalar_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/collect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/collect.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/conjugate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/conjugate.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/determinant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/determinant.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/equal_value.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/identity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/identity.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/imaginary.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/imaginary.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/inverse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/inverse.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/rectangular.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/rectangular.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/trace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/trace.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/transpose.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/shared/transpose.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/singular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/singular_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/spec_helper.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/square_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/square_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/symmetric_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/symmetric_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/t_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/t_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/to_a_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/tr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/tr_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/trace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/trace_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/transpose_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/transpose_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/unit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/unit_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/unitary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/unitary_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/upper_triangular_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/upper_triangular_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/cross_product_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/vector/cross_product_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/each2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/vector/each2_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/vector/eql_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/inner_product_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/vector/inner_product_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/normalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/vector/normalize_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/matrix/zero_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/matrix/zero_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/monitor/mon_initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/monitor/mon_initialize_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/FTPError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/FTPError_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/FTPPermError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/FTPPermError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/FTPProtoError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/FTPProtoError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/FTPReplyError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/FTPReplyError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/FTPTempError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/FTPTempError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/abort_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/abort_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/acct_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/acct_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/binary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/binary_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/chdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/chdir_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/close_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/closed_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/connect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/connect_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/debug_mode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/debug_mode_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/default_passive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/default_passive_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/delete_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/dir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/dir_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/default_passive.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/fixtures/default_passive.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/passive.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/fixtures/passive.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/putbinaryfile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/fixtures/putbinaryfile</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/puttextfile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/fixtures/puttextfile</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/fixtures/server.rb</a></td><td class='right'>277</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/get_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/getbinaryfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/getbinaryfile_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/getdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/getdir_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/gettextfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/gettextfile_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/help_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/help_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/initialize_spec.rb</a></td><td class='right'>409</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/last_response_code_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/last_response_code_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/last_response_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/last_response_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/lastresp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/lastresp_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/list_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/login_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/login_spec.rb</a></td><td class='right'>195</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/ls_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/ls_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/mdtm_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/mdtm_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/mkdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/mkdir_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/mtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/mtime_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/nlst_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/nlst_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/noop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/noop_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/open_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/passive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/passive_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/put_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/put_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/putbinaryfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/putbinaryfile_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/puttextfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/puttextfile_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/pwd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/pwd_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/quit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/quit_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/rename_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/rename_spec.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/resume_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/resume_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/retrbinary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/retrbinary_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/retrlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/retrlines_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/return_code_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/return_code_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/rmdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/rmdir_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/sendcmd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/sendcmd_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/set_socket_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/set_socket_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/getbinaryfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/getbinaryfile.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/gettextfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/gettextfile.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/last_response_code.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/last_response_code.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/list.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/putbinaryfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/putbinaryfile.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/puttextfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/puttextfile.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/pwd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/shared/pwd.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/site_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/site_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/size_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/spec_helper.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/status_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/status_spec.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/storbinary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/storbinary_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/storlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/storlines_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/system_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/system_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/voidcmd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/voidcmd_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/welcome_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/ftp/welcome_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPBadResponse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPBadResponse_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPClientExcepton_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPClientExcepton_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPFatalError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPFatalError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPHeaderSyntaxError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPHeaderSyntaxError_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPRetriableError_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPRetriableError_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPServerException_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/HTTPServerException_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/Proxy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/Proxy_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/active_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/active_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/address_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/close_on_empty_response_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/close_on_empty_response_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/copy_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/copy_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/default_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/default_port_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/delete_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/finish_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/finish_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/fixtures/http_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/fixtures/http_server.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/get2_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get_print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/get_print_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get_response_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/get_response_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/get_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/head2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/head2_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/head_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/head_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/http_default_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/http_default_port_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/https_default_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/https_default_port_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/initialize_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/inspect_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/is_version_1_1_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/is_version_1_1_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/is_version_1_2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/is_version_1_2_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/lock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/lock_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/mkcol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/mkcol_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/move_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/move_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/new_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/newobj_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/newobj_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/open_timeout_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/open_timeout_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/options_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/options_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/port_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/post2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/post2_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/post_form_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/post_form_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/post_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/post_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/propfind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/propfind_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proppatch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/proppatch_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/proxy_address_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/proxy_class_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_pass_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/proxy_pass_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/proxy_port_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_user_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/proxy_user_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/put2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/put2_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/put_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/put_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/read_timeout_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/read_timeout_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_get_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/request_get_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_head_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/request_head_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_post_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/request_post_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_put_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/request_put_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/request_spec.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_types_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/request_types_spec.rb</a></td><td class='right'>254</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/send_request_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/send_request_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/set_debug_output_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/set_debug_output_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_get.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/request_get.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_head.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/request_head.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_post.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/request_post.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_put.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/request_put.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/started.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/started.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/version_1_1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/version_1_1.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/version_1_2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/shared/version_1_2.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/socket_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/socket_type_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/start_spec.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/started_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/started_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/trace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/trace_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/unlock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/unlock_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/use_ssl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/use_ssl_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/version_1_1_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/version_1_1_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/version_1_2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/http/version_1_2_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpexceptions/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpexceptions/fixtures/classes.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpexceptions/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpexceptions/initialize_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpexceptions/response_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpexceptions/response_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/body_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/body_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/body_stream_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/body_stream_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/exec_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/exec_spec.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/inspect_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/method_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/path_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/request_body_permitted_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/request_body_permitted_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/response_body_permitted_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/response_body_permitted_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/set_body_internal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpgenericrequest/set_body_internal_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/add_field_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/add_field_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/basic_auth_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/basic_auth_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/canonical_each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/canonical_each_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/chunked_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/chunked_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/content_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/content_length_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/content_range_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/content_range_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/content_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/content_type_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/delete_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_capitalized_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_capitalized_name_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_capitalized_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_capitalized_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_header_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_header_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_key_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_name_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/each_value_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/element_reference_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/element_set_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/fetch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/fetch_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/fixtures/classes.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/form_data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/form_data_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/get_fields_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/get_fields_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/key_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/key_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/length_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/main_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/main_type_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/proxy_basic_auth_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/proxy_basic_auth_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/range_length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/range_length_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/range_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/range_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/set_content_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/set_content_type_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/set_form_data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/set_form_data_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/set_range_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/set_range_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/each_capitalized.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/each_capitalized.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/each_header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/each_header.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/each_name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/each_name.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/set_content_type.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/set_content_type.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/set_form_data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/set_form_data.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/set_range.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/set_range.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/shared/size.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/size_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/sub_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/sub_type_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/to_hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/to_hash_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/type_params_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpheader/type_params_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httprequest/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httprequest/initialize_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/body_permitted_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/body_permitted_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/body_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/body_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/code_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/code_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/code_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/code_type_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/entity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/entity_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/error_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/error_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/error_type_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/exception_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/exception_type_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/header_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/header_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/http_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/http_version_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/initialize_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/inspect_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/message_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/message_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/msg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/msg_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/read_body_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/read_body_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/read_header_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/read_header_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/read_new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/read_new_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/reading_body_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/reading_body_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/response_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/response_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/shared/body.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/shared/body.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/net/http/httpresponse/value_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/observer/add_observer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/observer/add_observer_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/observer/count_observers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/observer/count_observers_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/observer/delete_observer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/observer/delete_observer_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/observer/delete_observers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/observer/delete_observers_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/observer/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/observer/fixtures/classes.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/observer/notify_observers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/observer/notify_observers_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/capture2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/capture2_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/capture2e_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/capture2e_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/capture3_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/capture3_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_r_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/pipeline_r_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_rw_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/pipeline_rw_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/pipeline_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_start_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/pipeline_start_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_w_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/pipeline_w_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/popen2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/popen2_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/popen2e_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/popen2e_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/open3/popen3_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/open3/popen3_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/cipher_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/cipher_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/config/freeze_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/config/freeze_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/hmac/digest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/hmac/digest_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/hmac/hexdigest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/hmac/hexdigest_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/random/pseudo_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/random/pseudo_bytes_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/random/random_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/random/random_bytes_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/random/shared/random_bytes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/random/shared/random_bytes.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/shared/constants.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/shared/constants.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openssl/x509/name/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openssl/x509/name/parse_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/delete_field_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/delete_field_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/element_reference_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/element_set_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/equal_value_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/fixtures/classes.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/frozen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/frozen_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/initialize_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/inspect_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/marshal_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/marshal_dump_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/marshal_load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/marshal_load_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/method_missing_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/method_missing_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/new_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/shared/inspect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/shared/inspect.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/to_h_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/to_h_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/openstruct/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/openstruct/to_s_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/optionparser/order_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/optionparser/order_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/optionparser/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/optionparser/parse_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/absolute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/absolute_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/empty_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/equal_value_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/hash_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/join_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/join_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/new_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/parent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/parent_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/realdirpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/realdirpath_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/realpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/realpath_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/relative_path_from_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/relative_path_from_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/relative_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/relative_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/root_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/root_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pathname/sub_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pathname/sub_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/pp/pp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/pp/pp_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/each_spec.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/instance_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/instance_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/int_from_prime_division_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/int_from_prime_division_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/each_prime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/integer/each_prime_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/from_prime_division_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/integer/from_prime_division_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/prime_division_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/integer/prime_division_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/prime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/integer/prime_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/next_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/next_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/prime_division_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/prime_division_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/prime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/prime_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/shared/next.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/shared/next.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/prime/succ_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/prime/succ_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/rbconfig_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rbconfig/rbconfig_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/basic_quote_characters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/basic_quote_characters_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/basic_word_break_characters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/basic_word_break_characters_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/completer_quote_characters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/completer_quote_characters_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/completer_word_break_characters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/completer_word_break_characters_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/completion_append_character_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/completion_append_character_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/completion_case_fold_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/completion_case_fold_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/completion_proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/completion_proc_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/constants_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/emacs_editing_mode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/emacs_editing_mode_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/filename_quote_characters_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/filename_quote_characters_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/append_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/delete_at_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/delete_at_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/each_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/element_reference_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/element_set_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/empty_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/history_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/history_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/length_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/pop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/pop_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/push_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/push_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/shared/size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/shared/size.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/shift_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/shift_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/size_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/history/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/history/to_s_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/readline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/readline_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/spec_helper.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/readline/vi_editing_mode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/readline/vi_editing_mode_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/resolv/get_address_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_addresses_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/resolv/get_addresses_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/resolv/get_name_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_names_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/resolv/get_names_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/clone_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/element_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/equal_value_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/hash_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/initialize_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/inspect_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/namespace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/namespace_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/node_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/node_type_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/prefix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/prefix_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/remove_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/remove_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/to_s_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/to_string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/to_string_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/value_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/write_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/xpath_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attribute/xpath_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/add_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/delete_all_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/delete_all_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/delete_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/each_attribute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/each_attribute_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/each_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/element_reference_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/element_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/element_set_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/get_attribute_ns_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/get_attribute_ns_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/get_attribute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/get_attribute_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/initialize_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/namespaces_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/namespaces_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/prefixes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/prefixes_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/shared/add.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/shared/add.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/shared/length.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/attributes/to_a_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/cdata/clone_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/cdata/initialize_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/shared/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/cdata/shared/to_s.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/cdata/to_s_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/cdata/value_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/add_element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/add_element_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/add_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/clone_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/doctype_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/doctype_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/encoding_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/expanded_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/expanded_name_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/new_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/node_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/node_type_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/root_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/root_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/stand_alone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/stand_alone_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/version_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/write_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/xml_decl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/document/xml_decl_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_attribute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/add_attribute_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_attributes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/add_attributes_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/add_element_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_namespace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/add_namespace_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/add_text_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/attribute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/attribute_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/attributes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/attributes_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/cdatas_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/cdatas_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/clone_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/comments_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/comments_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/delete_attribute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/delete_attribute_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/delete_element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/delete_element_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/delete_namespace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/delete_namespace_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/document_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/document_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/each_element_with_text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/each_element_with_text_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/element_reference_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/get_text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/get_text_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/has_attributes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/has_attributes_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/has_elements_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/has_elements_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/has_text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/has_text_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/inspect_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/instructions_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/instructions_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/namespace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/namespace_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/namespaces_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/namespaces_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/new_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/next_element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/next_element_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/node_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/node_type_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/prefixes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/prefixes_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/previous_element_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/previous_element_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/raw_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/raw_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/root_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/root_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/text_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/texts_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/texts_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/whitespace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/element/whitespace_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/each_recursive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/node/each_recursive_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/find_first_recursive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/node/find_first_recursive_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/index_in_parent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/node/index_in_parent_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/next_sibling_node_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/node/next_sibling_node_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/parent_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/node/parent_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/previous_sibling_node_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/node/previous_sibling_node_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/shared/each_element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/shared/each_element.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/shared/elements_to_a.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/shared/elements_to_a.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/append_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/clone_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/comparison_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/comparison_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/empty_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/indent_text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/indent_text_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/inspect_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/new_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/node_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/node_type_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/normalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/normalize_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/read_with_substitution_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/read_with_substitution_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/to_s_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/unnormalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/unnormalize_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/value_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/wrap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/wrap_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/write_with_substitution_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/rexml/text/write_with_substitution_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/block_scanf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/io/block_scanf_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/fixtures/date.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/io/fixtures/date.txt</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/fixtures/helloworld.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/io/fixtures/helloworld.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/scanf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/io/scanf_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/shared/block_scanf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/io/shared/block_scanf.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/string/block_scanf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/string/block_scanf_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/string/scanf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/string/scanf_spec.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/scanf/string/shared/block_scanf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/scanf/string/shared/block_scanf.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/securerandom/base64_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/securerandom/base64_spec.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/securerandom/hex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/securerandom/hex_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/securerandom/random_bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/securerandom/random_bytes_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/securerandom/random_number_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/securerandom/random_number_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/add_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/case_compare_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/case_compare_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/case_equality_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/case_equality_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/classify_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/classify_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/clear_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/collect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/compare_by_identity_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/compare_by_identity_spec.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/constructor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/constructor_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/delete_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/delete_if_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/delete_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/difference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/difference_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/divide_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/each_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/empty_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/enumerable/to_set_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/enumerable/to_set_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/eql_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/equal_value_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/exclusion_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/exclusion_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/filter_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/flatten_merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/flatten_merge_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/flatten_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/flatten_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/hash_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/include_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/initialize_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/inspect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/intersection_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/intersection_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/keep_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/keep_if_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/map_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/member_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/member_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/merge_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/minus_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/plus_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/pretty_print_cycle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/pretty_print_cycle_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/pretty_print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/pretty_print_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/proper_subset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/proper_subset_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/proper_superset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/proper_superset_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/reject_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/replace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/replace_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/select_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/add.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/add.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/collect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/collect.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/difference.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/difference.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/include.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/inspect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/inspect.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/intersection.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/intersection.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/length.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/select.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/shared/union.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/shared/union.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/add_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/add_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/append_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/case_equality_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/case_equality_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/classify_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/classify_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/clear_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/collect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/collect_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/constructor_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/constructor_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/delete_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/delete_if_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/delete_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/difference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/difference_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/divide_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/divide_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/each_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/empty_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/eql_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/equal_value_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/exclusion_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/exclusion_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/filter_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/flatten_merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/flatten_merge_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/flatten_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/flatten_spec.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/hash_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/include_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/include_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/initialize_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/inspect_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/intersection_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/intersection_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/keep_if_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/keep_if_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/map_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/map_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/member_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/member_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/merge_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/minus_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/plus_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/pretty_print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/pretty_print_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/proper_subset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/proper_subset_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/proper_superset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/proper_superset_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/reject_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/reject_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/replace_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/replace_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/select_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/add.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/add.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/collect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/collect.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/difference.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/difference.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/include.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/intersection.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/intersection.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/length.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/select.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/select.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/union.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/shared/union.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/subset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/subset_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/subtract_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/subtract_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/superset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/superset_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/to_a_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/union_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/sortedset/union_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/subset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/subset_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/subtract_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/subtract_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/superset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/superset_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/to_a_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/to_a_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/to_s_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/set/union_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/set/union_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/shellwords/shellwords_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/shellwords/shellwords_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/allocate_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/clone_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/clone_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/dump_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/dup_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/fixtures/classes.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/instance_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/instance_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/load_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/singleton/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/singleton/new_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/afamily_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/afamily_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/bind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/bind_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/canonname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/canonname_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/connect_from_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/connect_from_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/connect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/connect_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/connect_to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/connect_to_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/family_addrinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/family_addrinfo_spec.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/foreach_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/foreach_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/getaddrinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/getaddrinfo_spec.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/getnameinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/getnameinfo_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/initialize_spec.rb</a></td><td class='right'>587</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/inspect_sockaddr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/inspect_sockaddr_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/inspect_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ip_address_spec.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ip_port_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ip_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_unpack_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ip_unpack_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_loopback_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv4_loopback_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_multicast_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv4_multicast_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_private_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv4_private_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv4_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_loopback_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_loopback_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_global_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_mc_global_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_linklocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_mc_linklocal_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_nodelocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_mc_nodelocal_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_orglocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_mc_orglocal_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_sitelocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_mc_sitelocal_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_multicast_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_multicast_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_unique_local_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_unique_local_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_unspecified_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_unspecified_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_v4compat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_v4compat_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_v4mapped_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/ipv6_v4mapped_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/listen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/listen_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/marshal_dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/marshal_dump_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/marshal_load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/marshal_load_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/pfamily_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/pfamily_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/protocol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/protocol_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/socktype_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/socktype_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/tcp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/tcp_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/to_sockaddr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/to_sockaddr_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/udp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/udp_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/unix_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/unix_path_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/unix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/addrinfo/unix_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/cmsg_is_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/cmsg_is_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/data_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/family_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/family_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/initialize_spec.rb</a></td><td class='right'>284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/int_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ip_pktinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/ip_pktinfo_spec.rb</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_addr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_addr_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_ifindex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_ifindex_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_spec.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/level_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/level_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/type_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/unix_rights_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ancillarydata/unix_rights_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/close_read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/close_read_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/close_write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/close_write_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/connect_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/connect_address_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/do_not_reverse_lookup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/do_not_reverse_lookup_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/for_fd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/for_fd_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getpeereid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/getpeereid_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getpeername_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/getpeername_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getsockname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/getsockname_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getsockopt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/getsockopt_spec.rb</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/ioctl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/ioctl_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/recv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/recv_spec.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb</a></td><td class='right'>205</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/recvmsg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/recvmsg_spec.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/send_spec.rb</a></td><td class='right'>212</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/sendmsg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/sendmsg_spec.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/setsockopt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/setsockopt_spec.rb</a></td><td class='right'>336</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/shutdown_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/basicsocket/shutdown_spec.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/constants/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/constants/constants_spec.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/fixtures/classes.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/fixtures/send_io.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/fixtures/send_io.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/addr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ipsocket/addr_spec.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/getaddress_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ipsocket/getaddress_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/peeraddr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ipsocket/peeraddr_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/recvfrom_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/ipsocket/recvfrom_spec.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/option/bool_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/option/bool_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/option/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/option/initialize_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/option/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/option/inspect_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/option/int_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/option/int_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/option/linger_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/option/linger_spec.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/option/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/option/new_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/shared/pack_sockaddr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/shared/pack_sockaddr.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/shared/partially_closable_sockets.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/shared/partially_closable_sockets.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/shared/socketpair.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/shared/socketpair.rb</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/accept_loop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/accept_loop_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/accept_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/accept_nonblock_spec.rb</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/accept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/accept_spec.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/bind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/bind_spec.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/connect_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/connect_nonblock_spec.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/connect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/connect_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/for_fd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/for_fd_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getaddrinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/getaddrinfo_spec.rb</a></td><td class='right'>373</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/gethostbyaddr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/gethostbyaddr_spec.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/gethostbyname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/gethostbyname_spec.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/gethostname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/gethostname_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getifaddrs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/getifaddrs_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getnameinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/getnameinfo_spec.rb</a></td><td class='right'>147</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getservbyname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/getservbyname_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getservbyport_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/getservbyport_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/initialize_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/ip_address_list_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/ip_address_list_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/ipv6only_bang_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/ipv6only_bang_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/listen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/listen_spec.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/local_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/local_address_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/new_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/pack_sockaddr_in_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/pack_sockaddr_in_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/pack_sockaddr_un_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/pack_sockaddr_un_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/pair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/pair_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/recvfrom_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/recvfrom_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/remote_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/remote_address_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/sockaddr_in_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/sockaddr_in_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/sockaddr_un_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/sockaddr_un_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/socket_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/socket_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/socketpair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/socketpair_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/sysaccept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/sysaccept_spec.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/tcp_server_loop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/tcp_server_loop_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/tcp_server_sockets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/tcp_server_sockets_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/tcp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/tcp_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_loop_on_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/udp_server_loop_on_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_loop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/udp_server_loop_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_recv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/udp_server_recv_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_sockets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/udp_server_sockets_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unix_server_loop_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/unix_server_loop_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unix_server_socket_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/unix_server_socket_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unix_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/unix_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unpack_sockaddr_in_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/unpack_sockaddr_in_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unpack_sockaddr_un_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/socket/unpack_sockaddr_un_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/spec_helper.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/accept_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/accept_nonblock_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/accept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/accept_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/gets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/gets_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/initialize_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/listen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/listen_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/new_spec.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/sysaccept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpserver/sysaccept_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/gethostbyname_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/gethostbyname_spec.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/initialize_spec.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/local_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/local_address_spec.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/new_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/open_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/partially_closable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/partially_closable_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/recv_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/recv_nonblock_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/recv_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/recv_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/remote_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/remote_address_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/setsockopt_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/setsockopt_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/shared/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/tcpsocket/shared/new.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/bind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/bind_spec.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/connect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/connect_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/initialize_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/inspect_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/local_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/local_address_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/new_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/open_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/remote_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/remote_address_spec.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/send_spec.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/udpsocket/write_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/accept_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/accept_nonblock_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/accept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/accept_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/for_fd_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/for_fd_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/initialize_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/listen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/listen_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/new_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/open_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/shared/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/shared/new.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/sysaccept_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixserver/sysaccept_spec.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/addr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/addr_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/initialize_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/inspect_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/local_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/local_address_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/new_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/open_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/pair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/pair_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/partially_closable_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/partially_closable_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/path_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/peeraddr_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/peeraddr_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/recv_io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/recv_io_spec.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/recvfrom_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/recvfrom_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/remote_address_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/remote_address_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/send_io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/send_io_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/shared/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/shared/new.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/socketpair_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/socket/unixsocket/socketpair_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/append_spec.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/binmode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/binmode_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/bytes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/bytes_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/chars_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/chars_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/close_read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/close_read_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/close_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/close_write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/close_write_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/closed_read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/closed_read_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/closed_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/closed_write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/closed_write_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/codepoints_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/codepoints_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_byte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/each_byte_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_char_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/each_char_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_codepoint_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/each_codepoint_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/each_line_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/each_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/eof_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/eof_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/external_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/external_encoding_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/fcntl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/fcntl_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/fileno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/fileno_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/fixtures/classes.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/flush_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/flush_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/fsync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/fsync_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/getbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/getbyte_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/getc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/getc_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/getch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/getch_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/gets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/gets_spec.rb</a></td><td class='right'>247</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/initialize_spec.rb</a></td><td class='right'>185</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/internal_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/internal_encoding_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/isatty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/isatty_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/lineno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/lineno_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/lines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/lines_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/open_spec.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/path_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/pid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/pid_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/pos_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/print_spec.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/printf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/printf_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/putc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/putc_spec.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/puts_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/puts_spec.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/read_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/read_nonblock_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/read_spec.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/readbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/readbyte_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/readchar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/readchar_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/readline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/readline_spec.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/readlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/readlines_spec.rb</a></td><td class='right'>101</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/readpartial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/readpartial_spec.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/reopen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/reopen_spec.rb</a></td><td class='right'>288</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/rewind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/rewind_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/seek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/seek_spec.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/set_encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/set_encoding_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/codepoints.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/codepoints.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/each.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/each_byte.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/each_byte.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/each_char.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/each_char.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/eof.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/eof.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/getc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/getc.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/isatty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/isatty.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/length.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/read.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/read.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/readchar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/readchar.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/sysread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/sysread.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/tell.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/tell.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/write.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/shared/write.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/string_spec.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/stringio_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/stringio_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/sync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/sync_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/sysread_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/sysread_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/syswrite_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/syswrite_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/tell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/tell_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/truncate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/truncate_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/tty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/tty_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/ungetbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/ungetbyte_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/ungetc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/ungetc_spec.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/write_nonblock_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/write_nonblock_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringio/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringio/write_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/append_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/beginning_of_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/beginning_of_line_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/bol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/bol_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/check_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/check_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/check_until_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/check_until_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/clear_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/clear_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/concat_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/concat_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/dup_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/dup_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/element_reference_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/element_reference_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/empty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/empty_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/eos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/eos_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/exist_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/exist_spec.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/get_byte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/get_byte_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/getbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/getbyte_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/getch_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/getch_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/initialize_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/inspect_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/match_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/matched_size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/matched_size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/matched_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/matched_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/must_C_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/must_C_version_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/peek_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/peek_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/peep_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/peep_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/pointer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/pointer_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/pos_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/post_match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/post_match_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/pre_match_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/pre_match_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/reset_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/rest_size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/rest_size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/rest_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/rest_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/restsize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/restsize_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/scan_full_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/scan_full_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/scan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/scan_spec.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/scan_until_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/scan_until_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/search_full_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/search_full_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/bol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/bol.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/concat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/concat.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/eos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/eos.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/extract_range.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/extract_range.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/extract_range_matched.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/extract_range_matched.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/get_byte.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/get_byte.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/matched_size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/matched_size.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/peek.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/peek.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/pos.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/pos.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/rest_size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/rest_size.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/terminate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/shared/terminate.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/skip_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/skip_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/skip_until_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/skip_until_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/string_spec.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/terminate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/terminate_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/unscan_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/stringscanner/unscan_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/alert_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/alert_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/close_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/constants_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/crit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/crit_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/debug_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/debug_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/emerg_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/emerg_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/err_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/err_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/facility_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/facility_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/ident_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/ident_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/info_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/info_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/inspect_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/instance_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/instance_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/log_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/log_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/mask_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/mask_spec.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/notice_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/notice_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/open_spec.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/opened_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/opened_spec.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/options_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/options_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/reopen_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/reopen_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/shared/log.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/shared/log.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/shared/reopen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/shared/reopen.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/syslog/warning_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/syslog/warning_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/_close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/_close_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/callback_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/callback_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/close_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/delete_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/delete_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/initialize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/initialize_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/length_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/length_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/open_spec.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/path_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/shared/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/shared/length.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/shared/unlink.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/shared/unlink.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/size_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/size_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tempfile/unlink_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tempfile/unlink_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/thread/queue_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/thread/queue_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/thread/sizedqueue_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/thread/sizedqueue_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/httpdate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/httpdate_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/iso8601_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/iso8601_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/rfc2822_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/rfc2822_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/rfc822_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/rfc822_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/shared/rfc2822.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/shared/rfc2822.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/shared/xmlschema.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/shared/xmlschema.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/to_date_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/to_date_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/to_datetime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/to_datetime_spec.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/to_time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/to_time_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/time/xmlschema_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/time/xmlschema_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/timeout/error_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/timeout/error_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/timeout/timeout_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/timeout/timeout_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tmpdir/dir/mktmpdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tmpdir/dir/mktmpdir_spec.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/tmpdir/dir/tmpdir_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/tmpdir/dir/tmpdir_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/decode_www_form_component_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/decode_www_form_component_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/decode_www_form_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/decode_www_form_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/encode_www_form_component_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/encode_www_form_component_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/encode_www_form_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/encode_www_form_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/eql_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/equality_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/equality_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/decode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/escape/decode_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/encode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/escape/encode_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/escape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/escape/escape_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/unescape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/escape/unescape_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/extract_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/extract_spec.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/fixtures/classes.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/fixtures/normalization.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/fixtures/normalization.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/build_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/build_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/merge_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/new2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/new2_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/path_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/set_typecode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/set_typecode_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/to_s_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/typecode_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ftp/typecode_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/absolute_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/absolute_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/build2_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/build2_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/build_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/build_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/coerce_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/coerce_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/component_ary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/component_ary_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/component_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/component_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/default_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/default_port_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/eql_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/eql_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/equal_value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/equal_value_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/fragment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/fragment_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/hash_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/hierarchical_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/hierarchical_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/host_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/host_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/inspect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/merge_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/minus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/minus_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/normalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/normalize_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/opaque_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/opaque_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/password_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/password_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/path_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/plus_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/port_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/query_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/query_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/registry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/registry_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/relative_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/relative_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/route_from_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/route_from_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/route_to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/route_to_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/scheme_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/scheme_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/select_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_fragment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_fragment_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_host_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_host_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_opaque_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_opaque_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_password_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_password_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_path_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_path_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_port_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_port_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_query_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_query_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_registry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_registry_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_scheme_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_scheme_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_user_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_user_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_userinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/set_userinfo_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/use_registry_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/use_registry_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/user_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/user_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/userinfo_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/generic/userinfo_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/http/build_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/http/build_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/http/request_uri_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/http/request_uri_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/join_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/join_spec.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/attributes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/attributes_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/build_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/build_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/dn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/dn_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/extensions_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/extensions_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/filter_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/hierarchical_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/hierarchical_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/scope_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/scope_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_attributes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/set_attributes_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_dn_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/set_dn_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_extensions_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/set_extensions_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_filter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/set_filter_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_scope_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/ldap/set_scope_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/build_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/build_spec.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/headers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/headers_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/set_headers_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/set_headers_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/set_to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/set_to_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_mailtext_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/to_mailtext_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_rfc822text_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/to_rfc822text_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/to_s_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/mailto/to_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/merge_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/merge_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/normalize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/normalize_spec.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parse_spec.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/escape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/escape_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/extract_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/extract_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/inspect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/inspect_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/join_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/join_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/make_regexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/make_regexp_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/parse_spec.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/split_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/split_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/unescape_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/parser/unescape_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/plus_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/plus_spec.rb</a></td><td class='right'>459</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/regexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/regexp_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/route_from_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/route_from_spec.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/route_to_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/route_to_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/select_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/select_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/set_component_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/set_component_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/eql.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/shared/eql.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/extract.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/shared/extract.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/join.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/shared/join.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/parse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/shared/parse.rb</a></td><td class='right'>199</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/split_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/split_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/uri_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/uri_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/uri/util/make_components_hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/uri/util/make_components_hash_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/weakref/__getobj___spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/weakref/__getobj___spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/weakref/allocate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/weakref/allocate_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/weakref/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/weakref/fixtures/classes.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/weakref/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/weakref/new_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/weakref/send_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/weakref/send_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/weakref/weakref_alive_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/weakref/weakref_alive_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/fixtures/classes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/fixtures/classes.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/fixtures/event.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/fixtures/event.xml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/_getproperty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/_getproperty_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/_invoke_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/_invoke_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/codepage_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/codepage_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/connect_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/connect_spec.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/const_load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/const_load_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/constants_spec.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/create_guid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/create_guid_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/invoke_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/invoke_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/locale_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/locale_spec.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/new_spec.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_get_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_get_methods_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_method_help_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_method_help_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_method_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_method_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_methods_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_obj_help_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_obj_help_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_put_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/ole_put_methods_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/setproperty_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/setproperty_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/shared/ole_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/shared/ole_method.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/shared/setproperty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole/shared/setproperty.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_event/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_event/new_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_event/on_event_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_event/on_event_spec.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/dispid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/dispid_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/event_interface_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/event_interface_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/event_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/event_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/helpcontext_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/helpcontext_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/helpfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/helpfile_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/helpstring_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/helpstring_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/invkind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/invkind_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/invoke_kind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/invoke_kind_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/name_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/new_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/offset_vtbl_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/offset_vtbl_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/params_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/params_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/return_type_detail_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/return_type_detail_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/return_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/return_type_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/return_vtype_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/return_vtype_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/shared/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/shared/name.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/size_opt_params_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/size_opt_params_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/size_params_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/size_params_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/to_s_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/visible_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_method/visible_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/default_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/default_spec.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/input_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/input_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/name_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/ole_type_detail_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/ole_type_detail_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/ole_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/ole_type_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/optional_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/optional_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/retval_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/retval_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/shared/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/shared/name.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_param/to_s_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/guid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/guid_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/helpcontext_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/helpcontext_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/helpfile_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/helpfile_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/helpstring_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/helpstring_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/major_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/major_version_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/minor_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/minor_version_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/name_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/new_spec.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/ole_classes_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/ole_classes_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/ole_methods_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/ole_methods_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/ole_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/ole_type_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/progid_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/progid_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/progids_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/progids_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/shared/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/shared/name.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/src_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/src_type_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/to_s_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/typekind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/typekind_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/typelibs_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/typelibs_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/variables_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/variables_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/visible_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_type/visible_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/name_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/ole_type_detail_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/ole_type_detail_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/ole_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/ole_type_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/shared/name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/shared/name.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/to_s_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/to_s_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/value_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/value_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/variable_kind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/variable_kind_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/varkind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/varkind_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/visible_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/win32ole/win32ole_variable/visible_spec.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/add_builtin_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/add_builtin_type_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/add_domain_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/add_domain_type_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/add_private_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/add_private_type_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/add_ruby_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/add_ruby_type_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/detect_implicit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/detect_implicit_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/dump_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/dump_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/dump_stream_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/dump_stream_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/each_node_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/each_node_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/emitter_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/emitter_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/fixtures/common.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/example_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/fixtures/example_class.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/strings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/fixtures/strings.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/test_yaml.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/fixtures/test_yaml.yml</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/generic_parser_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/generic_parser_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_documents_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/load_documents_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/load_file_spec.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/load_spec.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_stream_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/load_stream_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/object_maker_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/object_maker_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/parse_documents_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/parse_documents_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/parse_file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/parse_file_spec.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/parse_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/parse_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/parser_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/parser_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/quick_emit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/quick_emit_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/read_type_class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/read_type_class_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/shared/each_document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/shared/each_document.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/tagurize_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/tagurize_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/to_yaml_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/to_yaml_spec.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/transfer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/transfer_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/yaml/try_implicit_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/yaml/try_implicit_spec.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/adler32_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/adler32_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/crc32_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/crc32_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/crc_table_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/crc_table_spec.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate/append_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/deflate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate/deflate_spec.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/flush_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate/flush_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate/new_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/params_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate/params_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/set_dictionary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate/set_dictionary_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/deflate_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/close_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/closed_spec.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/comment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/comment_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/crc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/crc_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/finish_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/finish_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/level_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/level_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/mtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/mtime_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/orig_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/orig_name_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/os_code_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/os_code_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/sync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/sync_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/to_io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/to_io_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/wrap_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipfile/wrap_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/each_byte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/each_byte_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/each_line_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/each_line_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/each_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/each_spec.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/eof_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/eof_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/getc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/getc_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/gets_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/gets_spec.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/lineno_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/lineno_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/new_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/open_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/pos_spec.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/read_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/read_spec.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/readchar_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/readchar_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/readline_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/readline_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/readlines_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/readlines_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/readpartial_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/readpartial_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/rewind_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/rewind_spec.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/shared/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/shared/each.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/tell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/tell_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/ungetbyte_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/ungetbyte_spec.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/ungetc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/ungetc_spec.rb</a></td><td class='right'>292</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/unused_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipreader/unused_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/append_spec.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/comment_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/comment_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/flush_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/flush_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/mtime_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/mtime_spec.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/new_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/open_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/open_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/orig_name_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/orig_name_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/pos_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/pos_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/print_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/print_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/printf_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/printf_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/putc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/putc_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/puts_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/puts_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/tell_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/tell_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/write_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/gzipwriter/write_spec.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/append_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/append_spec.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/finish_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/finish_spec.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/inflate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/inflate_spec.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/new_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/new_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/set_dictionary_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/set_dictionary_spec.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/sync_point_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/sync_point_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/sync_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate/sync_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/inflate_spec.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zlib_version_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zlib_version_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/adler_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/adler_spec.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/avail_in_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/avail_in_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/avail_out_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/avail_out_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/close_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/close_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/closed_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/closed_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/data_type_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/data_type_spec.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/end_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/end_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/ended_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/ended_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/finish_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/finish_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/finished_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/finished_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/flush_next_in_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/flush_next_in_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/flush_next_out_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/flush_next_out_spec.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/reset_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/reset_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/stream_end_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/stream_end_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/total_in_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/total_in_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/total_out_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/library/zlib/zstream/total_out_spec.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/README</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/array_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/array_spec.rb</a></td><td class='right'>463</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/bignum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/bignum_spec.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/boolean_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/boolean_spec.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/class_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/class_spec.rb</a></td><td class='right'>376</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/complex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/complex_spec.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/constants_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/constants_spec.rb</a></td><td class='right'>270</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/data_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/encoding_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/encoding_spec.rb</a></td><td class='right'>479</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/enumerator_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/enumerator_spec.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/exception_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/exception_spec.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/.gitignore?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/.gitignore</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/array_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/array_spec.c</a></td><td class='right'>452</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/bignum_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/bignum_spec.c</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/boolean_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/boolean_spec.c</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/class_id_under_autoload_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/class_id_under_autoload_spec.c</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/class_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/class_spec.c</a></td><td class='right'>261</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/class_under_autoload_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/class_under_autoload_spec.c</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/complex_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/complex_spec.c</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/constants_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/constants_spec.c</a></td><td class='right'>646</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/data_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/data_spec.c</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/encoding_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/encoding_spec.c</a></td><td class='right'>417</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/enumerator_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/enumerator_spec.c</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/exception_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/exception_spec.c</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/file_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/file_spec.c</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/fixnum_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/fixnum_spec.c</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/float_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/float_spec.c</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/gc_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/gc_spec.c</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/globals_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/globals_spec.c</a></td><td class='right'>199</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/hash_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/hash_spec.c</a></td><td class='right'>218</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/integer_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/integer_spec.c</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/io_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/io_spec.c</a></td><td class='right'>327</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/kernel_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/kernel_spec.c</a></td><td class='right'>461</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/marshal_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/marshal_spec.c</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/module_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/module_spec.c</a></td><td class='right'>262</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/module_under_autoload_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/module_under_autoload_spec.c</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/mutex_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/mutex_spec.c</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/numeric_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/numeric_spec.c</a></td><td class='right'>217</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/object_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/object_spec.c</a></td><td class='right'>646</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/proc_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/proc_spec.c</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/range_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/range_spec.c</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/rational_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/rational_spec.c</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/regexp_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/regexp_spec.c</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/rubyspec.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/rubyspec.h</a></td><td class='right'>624</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/st_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/st_spec.c</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/string_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/string_spec.c</a></td><td class='right'>750</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/struct_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/struct_spec.c</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/symbol_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/symbol_spec.c</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/thread_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/thread_spec.c</a></td><td class='right'>188</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/time_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/time_spec.c</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/typed_data_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/typed_data_spec.c</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/util_spec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/ext/util_spec.c</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/file_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/file_spec.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixnum_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixnum_spec.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/class.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/const_get.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get_at.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/const_get_at.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get_from.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/const_get_from.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/const_get_object.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/encoding.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/foo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/foo.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/module.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/module_autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/module_autoload.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/path_to_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/path_to_class.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/proc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/fixtures/proc.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/float_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/float_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/gc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/gc_spec.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/globals_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/globals_spec.rb</a></td><td class='right'>224</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/hash_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/hash_spec.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/integer_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/integer_spec.rb</a></td><td class='right'>275</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/io_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/io_spec.rb</a></td><td class='right'>347</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/kernel_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/kernel_spec.rb</a></td><td class='right'>539</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/marshal_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/marshal_spec.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/module_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/module_spec.rb</a></td><td class='right'>373</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/mutex_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/mutex_spec.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/numeric_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/numeric_spec.rb</a></td><td class='right'>489</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/object_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/object_spec.rb</a></td><td class='right'>857</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/proc_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/proc_spec.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/rake_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/rake_helper.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/range_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/range_spec.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/rational_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/rational_spec.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/regexp_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/regexp_spec.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/spec_helper.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/st_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/st_spec.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/string_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/string_spec.rb</a></td><td class='right'>887</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/struct_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/struct_spec.rb</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/symbol_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/symbol_spec.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/thread_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/thread_spec.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/time_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/time_spec.rb</a></td><td class='right'>300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/typed_data_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/typed_data_spec.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/optional/capi/util_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/optional/capi/util_spec.rb</a></td><td class='right'>201</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2010_1330_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2010_1330_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2011_4815_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2011_4815_spec.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2013_4164_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2013_4164_spec.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2014_8080_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2014_8080_spec.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2017_17742_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2017_17742_spec.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_16396_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2018_16396_spec.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_6914_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2018_6914_spec.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_8778_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2018_8778_spec.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_8779_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2018_8779_spec.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_8780_spec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/security/cve_2018_8780_spec.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/basicobject/method_missing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/basicobject/method_missing.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/basicobject/send.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/basicobject/send.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/each.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/each.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/enum_cons.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/enum_cons.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/enum_for.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/enum_for.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/new.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/next.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/next.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/rewind.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/rewind.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/with_index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/with_index.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/enumerator/with_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/enumerator/with_object.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/fiber/resume.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/fiber/resume.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/blockdev.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/blockdev.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/chardev.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/chardev.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/directory.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/directory.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/executable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/executable.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/executable_real.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/executable_real.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/exist.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/exist.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/file.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/grpowned.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/grpowned.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/identical.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/identical.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/owned.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/owned.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/pipe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/pipe.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/readable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/readable.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/readable_real.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/readable_real.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/setgid.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/setgid.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/setuid.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/setuid.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/size.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/size.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/socket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/socket.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/sticky.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/sticky.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/symlink.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/symlink.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/world_readable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/world_readable.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/world_writable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/world_writable.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/writable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/writable.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/writable_real.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/writable_real.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/file/zero.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/file/zero.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/hash/key_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/hash/key_error.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/io/putc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/io/putc.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/kernel/equal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/kernel/equal.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/kernel/object_id.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/kernel/object_id.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/kernel/raise.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/kernel/raise.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/math/atanh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/math/atanh.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/process/abort.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/process/abort.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/process/exit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/process/exit.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/process/fork.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/process/fork.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/clear.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/clear.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/close.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/close.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/closed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/closed.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/deque.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/deque.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/empty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/empty.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/enque.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/enque.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/length.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/length.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/queue/num_waiting.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/queue/num_waiting.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/Rational.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/Rational.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/abs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/abs.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/arithmetic_exception_in_coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/arithmetic_exception_in_coerce.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/ceil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/ceil.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/coerce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/coerce.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/comparison.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/comparison.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/denominator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/denominator.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/div.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/div.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/divide.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/divide.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/divmod.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/divmod.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/equal_value.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/equal_value.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/exponent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/exponent.rb</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/fdiv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/fdiv.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/floor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/floor.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/hash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/hash.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/inspect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/inspect.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/marshal_dump.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/marshal_dump.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/marshal_load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/marshal_load.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/minus.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/minus.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/modulo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/modulo.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/multiply.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/multiply.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/numerator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/numerator.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/plus.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/plus.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/quo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/quo.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/remainder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/remainder.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/round.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/round.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_f.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/to_f.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_i.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/to_i.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_r.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/to_r.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/to_s.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/rational/truncate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/rational/truncate.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/enque.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/sizedqueue/enque.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/max.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/sizedqueue/max.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/sizedqueue/new.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/num_waiting.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/sizedqueue/num_waiting.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/string/times.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/string/times.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/time/strftime_for_date.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/time/strftime_for_date.rb</a></td><td class='right'>275</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/shared/time/strftime_for_time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/shared/time/strftime_for_time.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/spec/ruby/spec_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>spec/ruby/spec_helper.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/sprintf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>sprintf.c</a></td><td class='right'>1537</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/st.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>st.c</a></td><td class='right'>2546</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 97.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/st.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>st.h</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/strftime.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>strftime.c</a></td><td class='right'>1271</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/string.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>string.c</a></td><td class='right'>11393</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.7%;'/><td class='rem' style='width: 9.6%;'/><td class='none' style='width: 87.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/struct.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>struct.c</a></td><td class='right'>1449</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/symbol.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>symbol.c</a></td><td class='right'>1170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/symbol.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>symbol.h</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/Doxyfile.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/Doxyfile.tmpl</a></td><td class='right'>265</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/GNUmakefile.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/GNUmakefile.in</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/configure-ext.mk.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/configure-ext.mk.tmpl</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/encdb.h.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/encdb.h.tmpl</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/extinit.c.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/extinit.c.tmpl</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/exts.mk.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/exts.mk.tmpl</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/fake.rb.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/fake.rb.in</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/id.c.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/id.c.tmpl</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/id.h.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/id.h.tmpl</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/known_errors.inc.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/known_errors.inc.tmpl</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/limits.c.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/limits.c.tmpl</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/prelude.c.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/prelude.c.tmpl</a></td><td class='right'>235</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/ruby-runner.h.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/ruby-runner.h.in</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/ruby.pc.in?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/ruby.pc.in</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/sizes.c.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/sizes.c.tmpl</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/transdb.h.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/transdb.h.tmpl</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/unicode_norm_gen.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/unicode_norm_gen.tmpl</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/template/verconf.h.tmpl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>template/verconf.h.tmpl</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/arith_seq/test_arith_seq_extract.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/arith_seq/test_arith_seq_extract.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/array/test_resize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/array/test_resize.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bignum/test_big2str.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bignum/test_big2str.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bignum/test_bigzero.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bignum/test_bigzero.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bignum/test_div.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bignum/test_div.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bignum/test_mul.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bignum/test_mul.rb</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bignum/test_pack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bignum/test_pack.rb</a></td><td class='right'>399</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bignum/test_str2big.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bignum/test_str2big.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/bug_reporter/test_bug_reporter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/bug_reporter/test_bug_reporter.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/class/test_class2name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/class/test_class2name.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/debug/test_debug.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/debug/test_debug.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/debug/test_profile_frames.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/debug/test_profile_frames.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/exception/test_data_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/exception/test_data_error.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/exception/test_enc_raise.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/exception/test_enc_raise.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/exception/test_ensured.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/exception/test_ensured.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/exception/test_exception_at_throwing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/exception/test_exception_at_throwing.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/file/test_stat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/file/test_stat.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/float/test_nextafter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/float/test_nextafter.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/funcall/test_funcall.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/funcall/test_funcall.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/funcall/test_passing_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/funcall/test_passing_block.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/gvl/test_last_thread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/gvl/test_last_thread.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/hash/test_delete.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/hash/test_delete.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/integer/test_integer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/integer/test_integer.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/integer/test_my_integer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/integer/test_my_integer.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/iseq_load/test_iseq_load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/iseq_load/test_iseq_load.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/iter/test_iter_break.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/iter/test_iter_break.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/iter/test_yield_block.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/iter/test_yield_block.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/load/script.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/load/script.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/load/test_dot_dot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/load/test_dot_dot.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/load/test_protect.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/load/test_protect.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/marshal/test_internal_ivar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/marshal/test_internal_ivar.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/marshal/test_usrmarshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/marshal/test_usrmarshal.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/method/test_arity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/method/test_arity.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/num2int/test_num2int.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/num2int/test_num2int.rb</a></td><td class='right'>265</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/path_to_class/test_path_to_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/path_to_class/test_path_to_class.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/popen_deadlock/test_popen_deadlock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/popen_deadlock/test_popen_deadlock.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/postponed_job/test_postponed_job.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/postponed_job/test_postponed_job.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/proc/test_bmethod.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/proc/test_bmethod.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/rational/test_rat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/rational/test_rat.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/st/test_foreach.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/st/test_foreach.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/st/test_numhash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/st/test_numhash.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/st/test_update.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/st/test_update.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_capacity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_capacity.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_coderange.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_coderange.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_cstr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_cstr.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_ellipsize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_ellipsize.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_enc_associate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_enc_associate.rb</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_enc_str_buf_cat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_enc_str_buf_cat.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_external_new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_external_new.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_fstring.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_fstring.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_modify_expand.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_modify_expand.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_nofree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_nofree.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_normalize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_normalize.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_qsort.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_qsort.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/string/test_set_len.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/string/test_set_len.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/struct/test_duplicate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/struct/test_duplicate.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/struct/test_len.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/struct/test_len.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/struct/test_member.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/struct/test_member.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/symbol/noninterned_name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/symbol/noninterned_name.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/symbol/test_inadvertent_creation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/symbol/test_inadvertent_creation.rb</a></td><td class='right'>494</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/symbol/test_type.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/symbol/test_type.rb</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/test_bug-3571.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/test_bug-3571.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/test_bug-5832.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/test_bug-5832.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/test_notimplement.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/test_notimplement.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/test_printf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/test_printf.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/test_recursion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/test_recursion.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/test_scan_args.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/test_scan_args.rb</a></td><td class='right'>231</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/thread_fd_close/test_thread_fd_close.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/thread_fd_close/test_thread_fd_close.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/time/test_new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/time/test_new.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/tracepoint/test_tracepoint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/tracepoint/test_tracepoint.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/typeddata/test_typeddata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/typeddata/test_typeddata.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/vm/test_at_exit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/vm/test_at_exit.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/win32/test_console_attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/win32/test_console_attr.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/win32/test_dln.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/win32/test_dln.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/-ext-/win32/test_fd_setsize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/-ext-/win32/test_fd_setsize.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/base64/test_base64.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/base64/test_base64.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/benchmark/test_benchmark.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/benchmark/test_benchmark.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/bigdecimal/test_bigdecimal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/bigdecimal/test_bigdecimal.rb</a></td><td class='right'>1883</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.0%;'/><td class='none' style='width: 98.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/bigdecimal/test_bigdecimal_util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/bigdecimal/test_bigdecimal_util.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/bigdecimal/test_bigmath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/bigdecimal/test_bigmath.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/bigdecimal/testbase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/bigdecimal/testbase.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_cookie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_cookie.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_core.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_core.rb</a></td><td class='right'>303</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_header.rb</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_modruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_modruby.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_multipart.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_multipart.rb</a></td><td class='right'>386</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_session.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_session.rb</a></td><td class='right'>169</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_tag_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_tag_helper.rb</a></td><td class='right'>355</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/test_cgi_util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/test_cgi_util.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/testdata/file1.html?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/testdata/file1.html</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/testdata/large.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/testdata/large.png</a></td><td class='right'>bin</td><td class='graph'>156414 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/testdata/small.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/testdata/small.png</a></td><td class='right'>bin</td><td class='graph'>82 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/cgi/update_env.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/cgi/update_env.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/colors?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/colors</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/coverage/test_coverage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/coverage/test_coverage.rb</a></td><td class='right'>678</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/csv/base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/base.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/csv/line_endings.gz?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/line_endings.gz</a></td><td class='right'>bin</td><td class='graph'>59 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/csv/test_csv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_csv.rb</a></td><td class='right'>1753</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_csv_parsing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_csv_parsing.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_csv_writing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_csv_writing.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_data_converters.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_data_converters.rb</a></td><td class='right'>330</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_encodings.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_encodings.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_features.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_features.rb</a></td><td class='right'>378</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_headers.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_headers.rb</a></td><td class='right'>318</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_interface.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_interface.rb</a></td><td class='right'>443</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_row.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_row.rb</a></td><td class='right'>430</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/test/csv/test_table.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/test_table.rb</a></td><td class='right'>597</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/csv/ts_all.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/csv/ts_all.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date.rb</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_arith.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_arith.rb</a></td><td class='right'>292</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_attr.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_compat.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_compat.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_conv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_conv.rb</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_marshal.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_new.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_new.rb</a></td><td class='right'>278</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_parse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_parse.rb</a></td><td class='right'>1125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_strftime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_strftime.rb</a></td><td class='right'>431</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_date_strptime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_date_strptime.rb</a></td><td class='right'>513</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/date/test_switch_hitter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/date/test_switch_hitter.rb</a></td><td class='right'>658</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/dbm/test_dbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dbm/test_dbm.rb</a></td><td class='right'>224</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/digest/digest/foo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/digest/digest/foo.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/digest/test_digest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/digest/test_digest.rb</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/digest/test_digest_extend.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/digest/test_digest_extend.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/drbtest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/drbtest.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ignore_test_drb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ignore_test_drb.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/test_acl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/test_acl.rb</a></td><td class='right'>106</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/test_drb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/test_drb.rb</a></td><td class='right'>201</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/test_drbssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/test_drbssl.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/test_drbunix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/test_drbunix.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_array.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_array.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_array_drbssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_array_drbssl.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_array_drbunix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_array_drbunix.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_drb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_drb.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_drb_drbssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_drb_drbssl.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_drb_drbunix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_drb_drbunix.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/drb/ut_eq.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_eq.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/drb/ut_eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_eval.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_large.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_large.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_port.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_port.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_safe1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_safe1.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/drb/ut_timerholder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/drb/ut_timerholder.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/dummy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/dummy.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/helper.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_array_create.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_array_create.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_cmethod.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_cmethod.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_function_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_function_entry.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_gc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_gc.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_hash_create.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_hash_create.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_load.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_method_cache.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_method_cache.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_object_create_start.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_object_create_start.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_raise.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_raise.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_require.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_singleton_function.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_singleton_function.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/dtrace/test_string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/dtrace/test_string.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/erb/hello.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/erb/hello.erb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/erb/test_erb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/erb/test_erb.rb</a></td><td class='right'>669</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/erb/test_erb_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/erb/test_erb_command.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/erb/test_erb_m17n.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/erb/test_erb_m17n.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/etc/test_etc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/etc/test_etc.rb</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/TestException.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/TestException.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/TestIO_Console.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/TestIO_Console.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/TestISeq.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/TestISeq.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/TestThread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/TestThread.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_appveyor/TestArray.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_appveyor/TestArray.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_travis/osx/IMAPTest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_travis/osx/IMAPTest.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_travis/osx/TestGemRemoteFetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_travis/osx/TestGemRemoteFetcher.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_travis/osx/TestWEBrickUtils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_travis/osx/TestWEBrickUtils.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_wercker/jit-wait/TestDelegateClass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_wercker/jit-wait/TestDelegateClass.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_wercker/jit-wait/TestParallel/TestParallel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_wercker/jit-wait/TestParallel/TestParallel.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_wercker/jit-wait/TestThreadQueue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_wercker/jit-wait/TestThreadQueue.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/excludes/_wercker/jit/TestThreadQueue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/excludes/_wercker/jit/TestThreadQueue.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/helper.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_c_struct_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_c_struct_entry.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_c_union_entity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_c_union_entity.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_closure.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_closure.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_cparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_cparser.rb</a></td><td class='right'>217</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_fiddle.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_fiddle.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_func.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_func.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_function.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_function.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_handle.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_handle.rb</a></td><td class='right'>198</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_import.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_import.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fiddle/test_pointer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fiddle/test_pointer.rb</a></td><td class='right'>232</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fileutils/clobber.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/clobber.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/fileutils/fileasserts.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/fileasserts.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/fileutils/test_dryrun.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/test_dryrun.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/fileutils/test_fileutils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/test_fileutils.rb</a></td><td class='right'>998</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/fileutils/test_nowrite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/test_nowrite.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/fileutils/test_verbose.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/test_verbose.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/fileutils/visibility_tests.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/fileutils/visibility_tests.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/gdbm/test_gdbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/gdbm/test_gdbm.rb</a></td><td class='right'>280</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/io/console/test_io_console.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/io/console/test_io_console.rb</a></td><td class='right'>436</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/io/nonblock/test_flush.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/io/nonblock/test_flush.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/io/wait/test_io_wait.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/io/wait/test_io_wait.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/io/wait/test_io_wait_uncommon.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/io/wait/test_io_wait_uncommon.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_completion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_completion.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_context.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_context.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_init.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_init.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_option.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_option.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_raise_no_backtrace_exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_raise_no_backtrace_exception.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_ruby-lex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_ruby-lex.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/irb/test_workspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/irb/test_workspace.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail10.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail10.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail11.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail11.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail12.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail12.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail13.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail13.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail14.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail14.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail18.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail18.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail19.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail19.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail2.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail2.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail20.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail20.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail21.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail21.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail22.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail22.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail23.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail23.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail24.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail24.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail25.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail25.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail27.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail27.json</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail28.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail28.json</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail3.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail3.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail4.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail4.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail5.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail5.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail6.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail6.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail7.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail7.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail8.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail8.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/fail9.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/fail9.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/obsolete_fail1.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/obsolete_fail1.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass1.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass1.json</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass15.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass15.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass16.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass16.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass17.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass17.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass2.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass2.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass26.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass26.json</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/fixtures/pass3.json?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/fixtures/pass3.json</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_addition_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_addition_test.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_common_interface_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_common_interface_test.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_encoding_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_encoding_test.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_ext_parser_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_ext_parser_test.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_fixtures_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_fixtures_test.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_generator_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_generator_test.rb</a></td><td class='right'>377</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_generic_object_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_generic_object_test.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_parser_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_parser_test.rb</a></td><td class='right'>472</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/json_string_matching_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/json_string_matching_test.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/json/test_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/json/test_helper.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/-test-/integer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/-test-/integer.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/envutil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/envutil.rb</a></td><td class='right'>298</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/find_executable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/find_executable.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/iseq_loader_checker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/iseq_loader_checker.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/jit_support.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/jit_support.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/leakchecker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/leakchecker.rb</a></td><td class='right'>240</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/memory_status.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/memory_status.rb</a></td><td class='right'>149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/minitest/README.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/minitest/README.txt</a></td><td class='right'>457</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/minitest/autorun.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/minitest/autorun.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/minitest/benchmark.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/minitest/benchmark.rb</a></td><td class='right'>418</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/minitest/mock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/minitest/mock.rb</a></td><td class='right'>196</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/minitest/unit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/minitest/unit.rb</a></td><td class='right'>1424</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/profile_test_all.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/profile_test_all.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/test/unit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/test/unit.rb</a></td><td class='right'>1189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/test/unit/assertions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/test/unit/assertions.rb</a></td><td class='right'>958</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/test/unit/parallel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/test/unit/parallel.rb</a></td><td class='right'>208</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/test/unit/testcase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/test/unit/testcase.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/tracepointchecker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/tracepointchecker.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/with_different_ofs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/with_different_ofs.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/lib/zombie_hunter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/lib/zombie_hunter.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/logger/test_logdevice.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/logger/test_logdevice.rb</a></td><td class='right'>838</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/logger/test_logger.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/logger/test_logger.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/logger/test_severity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/logger/test_severity.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/matrix/test_matrix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/matrix/test_matrix.rb</a></td><td class='right'>790</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/matrix/test_vector.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/matrix/test_vector.rb</a></td><td class='right'>335</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/minitest/metametameta.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/minitest/metametameta.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/minitest/test_minitest_benchmark.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/minitest/test_minitest_benchmark.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/minitest/test_minitest_mock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/minitest/test_minitest_mock.rb</a></td><td class='right'>404</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/minitest/test_minitest_unit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/minitest/test_minitest_unit.rb</a></td><td class='right'>1781</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.9%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/misc/test_ruby_mode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/misc/test_ruby_mode.rb</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/base.rb</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_config.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_constant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_constant.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_convertible.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_convertible.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_find_executable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_find_executable.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_flags.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_flags.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_framework.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_framework.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_have_func.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_have_func.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_have_library.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_have_library.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_have_macro.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_have_macro.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_libs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_libs.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_signedness.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_signedness.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/mkmf/test_sizeof.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/mkmf/test_sizeof.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/monitor/test_monitor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/monitor/test_monitor.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/fixtures/cacert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/fixtures/cacert.pem</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/fixtures/dhparams.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/fixtures/dhparams.pem</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/fixtures/server.crt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/fixtures/server.crt</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/fixtures/server.key?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/fixtures/server.key</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/ftp/test_buffered_socket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/ftp/test_buffered_socket.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/ftp/test_ftp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/ftp/test_ftp.rb</a></td><td class='right'>2471</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.7%;'/><td class='none' style='width: 97.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/ftp/test_mlsx_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/ftp/test_mlsx_entry.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/test_buffered_io.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_buffered_io.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/test_http.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_http.rb</a></td><td class='right'>1208</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/test_http_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_http_request.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/net/http/test_httpheader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_httpheader.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/test_httpresponse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_httpresponse.rb</a></td><td class='right'>467</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/test_httpresponses.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_httpresponses.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/test_https.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_https.rb</a></td><td class='right'>215</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/net/http/test_https_proxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/test_https_proxy.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/http/utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/http/utils.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/imap/Makefile?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/imap/Makefile</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/net/imap/test_imap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/imap/test_imap.rb</a></td><td class='right'>771</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/imap/test_imap_response_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/imap/test_imap_response_parser.rb</a></td><td class='right'>324</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/pop/test_pop.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/pop/test_pop.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/protocol/test_protocol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/protocol/test_protocol.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/smtp/test_response.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/smtp/test_response.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/smtp/test_smtp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/smtp/test_smtp.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/net/smtp/test_ssl_socket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/net/smtp/test_ssl_socket.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/nkf/test_kconv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/nkf/test_kconv.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/nkf/test_nkf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/nkf/test_nkf.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/objspace/test_objspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/objspace/test_objspace.rb</a></td><td class='right'>502</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/open-uri/test_open-uri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/open-uri/test_open-uri.rb</a></td><td class='right'>900</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/open-uri/test_ssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/open-uri/test_ssl.rb</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dh1024.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/dh1024.pem</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dsa1024.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/dsa1024.pem</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dsa256.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/dsa256.pem</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dsa512.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/dsa512.pem</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/p256.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/p256.pem</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/rsa1024.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/rsa1024.pem</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/rsa2048.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/fixtures/pkey/rsa2048.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/openssl/ssl_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/ssl_server.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_asn1.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_asn1.rb</a></td><td class='right'>520</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_bn.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_bn.rb</a></td><td class='right'>277</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_buffering.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_buffering.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_cipher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_cipher.rb</a></td><td class='right'>358</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_config.rb</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_digest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_digest.rb</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_engine.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_engine.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_fips.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_fips.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_hmac.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_hmac.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_kdf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_kdf.rb</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_ns_spki.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_ns_spki.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_ocsp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_ocsp.rb</a></td><td class='right'>310</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_pair.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pair.rb</a></td><td class='right'>506</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_pkcs12.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pkcs12.rb</a></td><td class='right'>313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_pkcs7.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pkcs7.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_pkey_dh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pkey_dh.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_pkey_dsa.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pkey_dsa.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_pkey_ec.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pkey_ec.rb</a></td><td class='right'>347</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_pkey_rsa.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_pkey_rsa.rb</a></td><td class='right'>277</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_random.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_random.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_ssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_ssl.rb</a></td><td class='right'>1678</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_ssl_session.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_ssl_session.rb</a></td><td class='right'>400</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/test_x509attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509attr.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_x509cert.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509cert.rb</a></td><td class='right'>196</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_x509crl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509crl.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_x509ext.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509ext.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_x509name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509name.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_x509req.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509req.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/test_x509store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/test_x509store.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/openssl/ut_eof.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/ut_eof.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/openssl/utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/openssl/utils.rb</a></td><td class='right'>341</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_acceptable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_acceptable.rb</a></td><td class='right'>199</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_autoconf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_autoconf.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_bash_completion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_bash_completion.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_cclass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_cclass.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/optparse/test_getopts.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_getopts.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_kwargs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_kwargs.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/optparse/test_noarg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_noarg.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/optparse/test_optarg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_optarg.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/optparse/test_optparse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_optparse.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/optparse/test_placearg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_placearg.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/optparse/test_reqarg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_reqarg.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_summary.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_summary.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/optparse/test_zsh_completion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/optparse/test_zsh_completion.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ostruct/test_ostruct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ostruct/test_ostruct.rb</a></td><td class='right'>199</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/pathname/test_pathname.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/pathname/test_pathname.rb</a></td><td class='right'>1048</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/handlers/test_recorder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/handlers/test_recorder.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/helper.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/json/test_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/json/test_stream.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/nodes/test_enumerable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/nodes/test_enumerable.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_alias_and_anchor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_alias_and_anchor.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_array.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_array.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_boolean.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_boolean.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_class.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_coder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_coder.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_date_time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_date_time.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_deprecated.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_deprecated.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_document.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_emitter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_emitter.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_encoding.rb</a></td><td class='right'>281</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_exception.rb</a></td><td class='right'>169</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_hash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_hash.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_json_tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_json_tree.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_marshalable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_marshalable.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_merge_keys.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_merge_keys.rb</a></td><td class='right'>181</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_nil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_nil.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_null.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_null.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_numeric.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_numeric.rb</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_object.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_object_references.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_object_references.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_omap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_omap.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_parser.rb</a></td><td class='right'>392</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_psych.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_psych.rb</a></td><td class='right'>328</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_safe_load.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_safe_load.rb</a></td><td class='right'>171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_scalar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_scalar.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_scalar_scanner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_scalar_scanner.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_serialize_subclasses.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_serialize_subclasses.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_set.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_stream.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_string.rb</a></td><td class='right'>231</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_struct.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_symbol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_symbol.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_tainted.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_tainted.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_tree_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_tree_builder.rb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_yaml.rb</a></td><td class='right'>1293</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_yaml_special_cases.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_yaml_special_cases.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_yamldbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_yamldbm.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/test_yamlstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/test_yamlstore.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/visitors/test_depth_first.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/visitors/test_depth_first.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/visitors/test_emitter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/visitors/test_emitter.rb</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/visitors/test_to_ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/visitors/test_to_ruby.rb</a></td><td class='right'>332</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/psych/visitors/test_yaml_tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/psych/visitors/test_yaml_tree.rb</a></td><td class='right'>197</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Amps%20and%20angle%20encoding.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Amps and angle encoding.text</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Auto%20links.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Auto links.text</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Backslash%20escapes.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Backslash escapes.text</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Blockquotes%20with%20code%20blocks.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Blockquotes with code blocks.text</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Code%20Blocks.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Code Blocks.text</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Code%20Spans.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Code Spans.text</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Hard-wrapped%20paragraphs%20with%20list-like%20lines.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Horizontal%20rules.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Horizontal rules.text</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Inline%20HTML%20(Advanced).text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Inline HTML (Advanced).text</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Inline%20HTML%20(Simple).text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Inline HTML (Simple).text</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Inline%20HTML%20comments.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Inline HTML comments.text</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Links,%20inline%20style.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Links, inline style.text</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Links,%20reference%20style.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Links, reference style.text</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Links,%20shortcut%20references.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Links, shortcut references.text</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Literal%20quotes%20in%20titles.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Literal quotes in titles.text</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Markdown%20Documentation%20-%20Basics.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Markdown Documentation - Basics.text</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Markdown%20Documentation%20-%20Syntax.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text</a></td><td class='right'>888</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Nested%20blockquotes.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Nested blockquotes.text</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Ordered%20and%20unordered%20lists.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Ordered and unordered lists.text</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Strong%20and%20em%20together.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Strong and em together.text</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Tabs.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Tabs.text</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Tidyness.text?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/MarkdownTest_1.0.3/Tidyness.text</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/README</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/binary.dat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/binary.dat</a></td><td class='right'>bin</td><td class='graph'>1024 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/hidden.zip.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/hidden.zip.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/minitest_helper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/minitest_helper.rb</a></td><td class='right'>204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/rdoc/parsers/test_parse_c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/parsers/test_parse_c.rb</a></td><td class='right'>261</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test.ja.largedoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test.ja.largedoc</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test.ja.rdoc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test.ja.rdoc</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test.ja.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test.ja.txt</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test.txt</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_alias.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_alias.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_any_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_any_method.rb</a></td><td class='right'>509</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_attr.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_class_module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_class_module.rb</a></td><td class='right'>1499</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_code_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_code_object.rb</a></td><td class='right'>440</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_comment.rb</a></td><td class='right'>496</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_constant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_constant.rb</a></td><td class='right'>182</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_context.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_context.rb</a></td><td class='right'>965</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_context_section.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_context_section.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_cross_reference.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_cross_reference.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_encoding.rb</a></td><td class='right'>184</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_extend.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_extend.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_darkfish.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_darkfish.rb</a></td><td class='right'>246</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_json_index.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_json_index.rb</a></td><td class='right'>349</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_markup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_markup.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_pot.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_pot.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_pot_po.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_pot_po.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_pot_po_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_pot_po_entry.rb</a></td><td class='right'>140</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_generator_ri.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_generator_ri.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_i18n_locale.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_i18n_locale.rb</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_i18n_text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_i18n_text.rb</a></td><td class='right'>124</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_include.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markdown.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markdown.rb</a></td><td class='right'>1018</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markdown_test.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markdown_test.rb</a></td><td class='right'>1883</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.0%;'/><td class='none' style='width: 98.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_attribute_manager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_attribute_manager.rb</a></td><td class='right'>373</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_attributes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_attributes.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_document.rb</a></td><td class='right'>208</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_formatter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_formatter.rb</a></td><td class='right'>175</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_hard_break.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_hard_break.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_heading.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_heading.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_include.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_include.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_indented_paragraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_indented_paragraph.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_paragraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_paragraph.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_parser.rb</a></td><td class='right'>1703</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_pre_process.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_pre_process.rb</a></td><td class='right'>467</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_raw.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_raw.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_ansi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_ansi.rb</a></td><td class='right'>370</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_bs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_bs.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_html.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_html.rb</a></td><td class='right'>809</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_html_crossref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_html_crossref.rb</a></td><td class='right'>237</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_html_snippet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_html_snippet.rb</a></td><td class='right'>709</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_joined_paragraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_joined_paragraph.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_label.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_label.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_markdown.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_markdown.rb</a></td><td class='right'>390</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_rdoc.rb</a></td><td class='right'>378</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_table_of_contents.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_table_of_contents.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_tt_only.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_to_tt_only.rb</a></td><td class='right'>247</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_verbatim.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_markup_verbatim.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_method_attr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_method_attr.rb</a></td><td class='right'>194</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_normal_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_normal_class.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_normal_module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_normal_module.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_options.rb</a></td><td class='right'>759</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser.rb</a></td><td class='right'>323</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser_c.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser_c.rb</a></td><td class='right'>1973</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser_changelog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser_changelog.rb</a></td><td class='right'>316</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser_markdown.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser_markdown.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser_rd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser_rd.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser_ruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser_ruby.rb</a></td><td class='right'>4272</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.6%;'/><td class='none' style='width: 95.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_parser_simple.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_parser_simple.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_rd.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rd_block_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_rd_block_parser.rb</a></td><td class='right'>536</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rd_inline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_rd_inline.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rd_inline_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_rd_inline_parser.rb</a></td><td class='right'>178</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_rdoc.rb</a></td><td class='right'>558</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_require.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_ri_driver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_ri_driver.rb</a></td><td class='right'>1557</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.7%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_ri_paths.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_ri_paths.rb</a></td><td class='right'>156</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rubygems_hook.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_rubygems_hook.rb</a></td><td class='right'>246</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_servlet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_servlet.rb</a></td><td class='right'>537</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_single_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_single_class.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_stats.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_stats.rb</a></td><td class='right'>723</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_store.rb</a></td><td class='right'>998</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_task.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_task.rb</a></td><td class='right'>174</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_text.rb</a></td><td class='right'>566</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_token_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_token_stream.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_tom_doc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_tom_doc.rb</a></td><td class='right'>579</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/test_rdoc_top_level.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/test_rdoc_top_level.rb</a></td><td class='right'>288</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/xref_data.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/xref_data.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rdoc/xref_test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rdoc/xref_test_case.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/readline/test_readline.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/readline/test_readline.rb</a></td><td class='right'>679</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/readline/test_readline_history.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/readline/test_readline_history.rb</a></td><td class='right'>293</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/resolv/test_addr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/resolv/test_addr.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/resolv/test_dns.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/resolv/test_dns.rb</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/resolv/test_mdns.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/resolv/test_mdns.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/resolv/test_resource.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/resolv/test_resource.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/LostineRiver.kml.gz?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/LostineRiver.kml.gz</a></td><td class='right'>bin</td><td class='graph'>50154 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/ProductionSupport.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/ProductionSupport.xml</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/axis.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/axis.xml</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/bad.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/bad.xml</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/basic.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/basic.xml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/basicupdate.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/basicupdate.xml</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/broken.rss?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/broken.rss</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/contents.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/contents.xml</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/dash.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/dash.xml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/defaultNamespace.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/defaultNamespace.xml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/doctype_test.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/doctype_test.xml</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/documentation.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/documentation.xml</a></td><td class='right'>542</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/euc.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/euc.xml</a></td><td class='right'>296</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/evaluate.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/evaluate.xml</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/fibo.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/fibo.xml</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/foo.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/foo.xml</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/google.2.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/google.2.xml</a></td><td class='right'>156</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/id.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/id.xml</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/iso8859-1.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/iso8859-1.xml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/jaxen24.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/jaxen24.xml</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/jaxen3.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/jaxen3.xml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/lang.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/lang.xml</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/lang0.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/lang0.xml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/message.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/message.xml</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/moreover.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/moreover.xml</a></td><td class='right'>244</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/much_ado.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/much_ado.xml</a></td><td class='right'>6850</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 7.4%;'/><td class='none' style='width: 92.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/namespaces.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/namespaces.xml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/nitf.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/nitf.xml</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/numbers.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/numbers.xml</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/ofbiz-issues-full-177.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/ofbiz-issues-full-177.xml</a></td><td class='right'>13971</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 15.1%;'/><td class='none' style='width: 84.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/pi.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/pi.xml</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/pi2.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/pi2.xml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/project.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/project.xml</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/simple.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/simple.xml</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/stream_accents.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/stream_accents.xml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/t63-1.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/t63-1.xml</a></td><td class='right'>bin</td><td class='graph'>161690 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/t63-2.svg?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/t63-2.svg</a></td><td class='right'>2828</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.0%;'/><td class='none' style='width: 97.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/t75.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/t75.xml</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/test/tests.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/test/tests.xml</a></td><td class='right'>683</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/test/tests.xsl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/test/tests.xsl</a></td><td class='right'>369</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/testNamespaces.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/testNamespaces.xml</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/testsrc.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/testsrc.xml</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/text.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/text.xml</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/ticket_61.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/ticket_61.xml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/ticket_68.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/ticket_68.xml</a></td><td class='right'>590</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/tutorial.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/tutorial.xml</a></td><td class='right'>678</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/underscore.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/underscore.xml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/utf16.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/utf16.xml</a></td><td class='right'>bin</td><td class='graph'>207464 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/web.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/web.xml</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/web2.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/web2.xml</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/working.rss?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/working.rss</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/xmlfile-bug.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/xmlfile-bug.xml</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/xp.tst?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/xp.tst</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/data/yahoo.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/data/yahoo.xml</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/listener.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/listener.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/parse/test_document_type_declaration.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/parse/test_document_type_declaration.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/parse/test_notation_declaration.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/parse/test_notation_declaration.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/parser/test_sax2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/parser/test_sax2.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/parser/test_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/parser/test_stream.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/parser/test_tree.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/parser/test_tree.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/parser/test_ultra_light.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/parser/test_ultra_light.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/rexml_test_utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/rexml_test_utils.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_attributes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_attributes.rb</a></td><td class='right'>223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_attributes_mixin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_attributes_mixin.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_changing_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_changing_encoding.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_comment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_comment.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_contrib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_contrib.rb</a></td><td class='right'>585</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_core.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_core.rb</a></td><td class='right'>1468</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_doctype.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_doctype.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_document.rb</a></td><td class='right'>416</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_element.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_element.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_elements.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_elements.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_encoding.rb</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_entity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_entity.rb</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_functions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_functions.rb</a></td><td class='right'>238</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_functions_number.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_functions_number.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_jaxen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_jaxen.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_light.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_light.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_lightparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_lightparser.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_listener.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_listener.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_martin_fowler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_martin_fowler.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_namespace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_namespace.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_order.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_order.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_preceding_sibling.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_preceding_sibling.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_pullparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_pullparser.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_rexml_issuezilla.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_rexml_issuezilla.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_sax.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_sax.rb</a></td><td class='right'>287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_stream.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_stream.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_text.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_ticket_80.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_ticket_80.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_validation_rng.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_validation_rng.rb</a></td><td class='right'>793</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/test_xml_declaration.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/test_xml_declaration.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/xpath/test_attribute.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/xpath/test_attribute.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/xpath/test_axis_preceding_sibling.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/xpath/test_axis_preceding_sibling.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/xpath/test_base.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/xpath/test_base.rb</a></td><td class='right'>1121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/xpath/test_node.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/xpath/test_node.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/xpath/test_predicate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/xpath/test_predicate.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rexml/xpath/test_text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rexml/xpath/test_text.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rinda/test_rinda.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rinda/test_rinda.rb</a></td><td class='right'>707</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rinda/test_tuplebag.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rinda/test_tuplebag.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/dummyparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/dummyparser.rb</a></td><td class='right'>284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_files.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_files.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_filter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_filter.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_lexer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_lexer.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_parser_events.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_parser_events.rb</a></td><td class='right'>1501</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_ripper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_ripper.rb</a></td><td class='right'>142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_scanner_events.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_scanner_events.rb</a></td><td class='right'>938</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ripper/test_sexp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ripper/test_sexp.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/dot.png?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/dot.png</a></td><td class='right'>bin</td><td class='graph'>111 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/rss-assertions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/rss-assertions.rb</a></td><td class='right'>1945</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 1.9%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/rss-testcase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/rss-testcase.rb</a></td><td class='right'>219</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_1.0.rb</a></td><td class='right'>213</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_2.0.rb</a></td><td class='right'>148</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_accessor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_accessor.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_atom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_atom.rb</a></td><td class='right'>684</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_content.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_content.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_dublincore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_dublincore.rb</a></td><td class='right'>321</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_image.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_image.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_inherit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_inherit.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_itunes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_itunes.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_0.9.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_0.9.rb</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_1.0.rb</a></td><td class='right'>286</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_2.0.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_maker_atom_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_atom_entry.rb</a></td><td class='right'>394</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_maker_atom_feed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_atom_feed.rb</a></td><td class='right'>455</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_content.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_content.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_dc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_dc.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_image.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_image.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_maker_itunes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_itunes.rb</a></td><td class='right'>480</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_maker_slash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_slash.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_sy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_sy.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_taxo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_taxo.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_trackback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_trackback.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_maker_xml-stylesheet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_maker_xml-stylesheet.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_parser.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_parser_1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_parser_1.0.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_parser_2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_parser_2.0.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_parser_atom_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_parser_atom_entry.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_parser_atom_feed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_parser_atom_feed.rb</a></td><td class='right'>277</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_setup_maker_0.9.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_0.9.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_setup_maker_1.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_1.0.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_setup_maker_2.0.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_2.0.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_setup_maker_atom_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_atom_entry.rb</a></td><td class='right'>410</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_setup_maker_atom_feed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_atom_feed.rb</a></td><td class='right'>446</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_setup_maker_itunes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_itunes.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_setup_maker_slash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_setup_maker_slash.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rss/test_slash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_slash.rb</a></td><td class='right'>65</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_syndication.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_syndication.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_taxonomy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_taxonomy.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_to_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_to_s.rb</a></td><td class='right'>295</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_trackback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_trackback.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_version.rb</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/rss/test_xml-stylesheet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rss/test_xml-stylesheet.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/allpairs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/allpairs.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/beginmainend.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/beginmainend.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/bug-11928.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/bug-11928.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/bug-13526.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/bug-13526.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_big5.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_big5.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_case_comprehensive.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_case_comprehensive.rb</a></td><td class='right'>307</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_case_mapping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_case_mapping.rb</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_case_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_case_options.rb</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_cp949.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_cp949.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_emoji.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_emoji.rb</a></td><td class='right'>443</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_emoji_breaks.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_emoji_breaks.rb</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_euc_jp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_euc_jp.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_euc_kr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_euc_kr.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_euc_tw.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_euc_tw.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_gb18030.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_gb18030.rb</a></td><td class='right'>127</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_gbk.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_gbk.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_grapheme_breaks.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_grapheme_breaks.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_iso_8859.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_iso_8859.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_koi8.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_koi8.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_regex_casefold.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_regex_casefold.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_shift_jis.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_shift_jis.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_utf16.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_utf16.rb</a></td><td class='right'>397</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_utf32.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_utf32.rb</a></td><td class='right'>162</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_windows_1251.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_windows_1251.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/enc/test_windows_1252.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/enc/test_windows_1252.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/ruby/endblockwarn.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/endblockwarn.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/ruby/envutil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/envutil.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/lbtest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/lbtest.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/marshaltestlib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/marshaltestlib.rb</a></td><td class='right'>191</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/sentence.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/sentence.rb</a></td><td class='right'>669</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_alias.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_alias.rb</a></td><td class='right'>228</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_argf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_argf.rb</a></td><td class='right'>1077</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_arithmetic_sequence.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_arithmetic_sequence.rb</a></td><td class='right'>419</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_arity.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_arity.rb</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_array.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_array.rb</a></td><td class='right'>2976</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.2%;'/><td class='none' style='width: 96.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_assignment.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_assignment.rb</a></td><td class='right'>798</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_ast.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_ast.rb</a></td><td class='right'>252</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_autoload.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_autoload.rb</a></td><td class='right'>359</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_backtrace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_backtrace.rb</a></td><td class='right'>332</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_basicinstructions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_basicinstructions.rb</a></td><td class='right'>722</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_beginendblock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_beginendblock.rb</a></td><td class='right'>172</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_bignum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_bignum.rb</a></td><td class='right'>720</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_call.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_call.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_case.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_case.rb</a></td><td class='right'>97</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_class.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_class.rb</a></td><td class='right'>628</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_clone.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_clone.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_comparable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_comparable.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_complex.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_complex.rb</a></td><td class='right'>1019</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_complex2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_complex2.rb</a></td><td class='right'>736</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_complexrational.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_complexrational.rb</a></td><td class='right'>408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_condition.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_condition.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_const.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_const.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_continuation.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_continuation.rb</a></td><td class='right'>145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_default_gems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_default_gems.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_defined.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_defined.rb</a></td><td class='right'>221</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_dir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_dir.rb</a></td><td class='right'>436</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_dir_m17n.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_dir_m17n.rb</a></td><td class='right'>449</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_econv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_econv.rb</a></td><td class='right'>924</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_encoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_encoding.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_enum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_enum.rb</a></td><td class='right'>1133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_enumerator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_enumerator.rb</a></td><td class='right'>788</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_env.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_env.rb</a></td><td class='right'>539</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_eval.rb</a></td><td class='right'>496</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_exception.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_exception.rb</a></td><td class='right'>1243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_fiber.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_fiber.rb</a></td><td class='right'>411</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_file.rb</a></td><td class='right'>550</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_file_exhaustive.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_file_exhaustive.rb</a></td><td class='right'>1711</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_fixnum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_fixnum.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_flip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_flip.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_float.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_float.rb</a></td><td class='right'>887</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_fnmatch.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_fnmatch.rb</a></td><td class='right'>132</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_gc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_gc.rb</a></td><td class='right'>421</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_hash.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_hash.rb</a></td><td class='right'>1672</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_ifunless.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_ifunless.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_integer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_integer.rb</a></td><td class='right'>605</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_integer_comb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_integer_comb.rb</a></td><td class='right'>634</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_io.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_io.rb</a></td><td class='right'>3844</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.1%;'/><td class='none' style='width: 95.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_io_m17n.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_io_m17n.rb</a></td><td class='right'>2706</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.9%;'/><td class='none' style='width: 97.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_iseq.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_iseq.rb</a></td><td class='right'>539</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_iterator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_iterator.rb</a></td><td class='right'>171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_jit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_jit.rb</a></td><td class='right'>968</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_key_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_key_error.rb</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_keyword.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_keyword.rb</a></td><td class='right'>754</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_lambda.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_lambda.rb</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_lazy_enumerator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_lazy_enumerator.rb</a></td><td class='right'>581</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_literal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_literal.rb</a></td><td class='right'>584</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_m17n.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_m17n.rb</a></td><td class='right'>1707</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_m17n_comb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_m17n_comb.rb</a></td><td class='right'>1644</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.8%;'/><td class='none' style='width: 98.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_marshal.rb</a></td><td class='right'>770</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_math.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_math.rb</a></td><td class='right'>343</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_metaclass.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_metaclass.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_method.rb</a></td><td class='right'>1052</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_mixed_unicode_escapes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_mixed_unicode_escapes.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_module.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_module.rb</a></td><td class='right'>2367</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.6%;'/><td class='none' style='width: 97.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_not.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_not.rb</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_notimp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_notimp.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_numeric.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_numeric.rb</a></td><td class='right'>417</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_object.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_object.rb</a></td><td class='right'>949</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_objectspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_objectspace.rb</a></td><td class='right'>170</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_optimization.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_optimization.rb</a></td><td class='right'>812</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_pack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_pack.rb</a></td><td class='right'>846</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_parse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_parse.rb</a></td><td class='right'>1206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_path.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_path.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_pipe.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_pipe.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_primitive.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_primitive.rb</a></td><td class='right'>424</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_proc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_proc.rb</a></td><td class='right'>1419</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_process.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_process.rb</a></td><td class='right'>2408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.6%;'/><td class='none' style='width: 97.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_rand.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_rand.rb</a></td><td class='right'>622</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_range.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_range.rb</a></td><td class='right'>863</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_rational.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_rational.rb</a></td><td class='right'>1050</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_rational2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_rational2.rb</a></td><td class='right'>1387</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_readpartial.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_readpartial.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_refinement.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_refinement.rb</a></td><td class='right'>2231</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_regexp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_regexp.rb</a></td><td class='right'>1284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_require.rb</a></td><td class='right'>900</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_rubyoptions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_rubyoptions.rb</a></td><td class='right'>1074</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_rubyvm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_rubyvm.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_rubyvm_mjit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_rubyvm_mjit.rb</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_settracefunc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_settracefunc.rb</a></td><td class='right'>2222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_signal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_signal.rb</a></td><td class='right'>408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_sleep.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_sleep.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_sprintf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_sprintf.rb</a></td><td class='right'>546</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_sprintf_comb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_sprintf_comb.rb</a></td><td class='right'>554</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_string.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_string.rb</a></td><td class='right'>3149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.4%;'/><td class='none' style='width: 96.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_stringchar.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_stringchar.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_struct.rb</a></td><td class='right'>410</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_super.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_super.rb</a></td><td class='right'>439</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_symbol.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_symbol.rb</a></td><td class='right'>481</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_syntax.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_syntax.rb</a></td><td class='right'>1319</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_system.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_system.rb</a></td><td class='right'>220</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_thread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_thread.rb</a></td><td class='right'>1384</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.5%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_thread_cv.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_thread_cv.rb</a></td><td class='right'>245</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_thread_queue.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_thread_queue.rb</a></td><td class='right'>619</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_threadgroup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_threadgroup.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_time.rb</a></td><td class='right'>1112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_time_tz.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_time_tz.rb</a></td><td class='right'>673</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_trace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_trace.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_transcode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_transcode.rb</a></td><td class='right'>2231</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_undef.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_undef.rb</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_unicode_escape.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_unicode_escape.rb</a></td><td class='right'>272</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_variable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_variable.rb</a></td><td class='right'>120</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_vm_dump.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_vm_dump.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_weakmap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_weakmap.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/test_whileuntil.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_whileuntil.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/ruby/test_yield.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/test_yield.rb</a></td><td class='right'>425</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/ruby/ut_eof.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/ruby/ut_eof.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/alternate_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/alternate_cert.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/alternate_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/alternate_cert_32.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/alternate_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/alternate_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/bad_rake.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/bad_rake.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/bogussources.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/bogussources.rb</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/ca_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/ca_cert.pem</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/child_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/child_cert.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/child_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/child_cert_32.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/child_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/child_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/client.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/client.pem</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/data/gem-private_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/data/gem-private_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/data/gem-public_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/data/gem-public_cert.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/data/null-type.gemspec.rz?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/data/null-type.gemspec.rz</a></td><td class='right'>bin</td><td class='graph'>554 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/encrypted_private_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/encrypted_private_key.pem</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/expired_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/expired_cert.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/fake_certlib/openssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/fake_certlib/openssl.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/foo/discover.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/foo/discover.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/future_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/future_cert.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/future_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/future_cert_32.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/good_rake.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/good_rake.rb</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/grandchild_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/grandchild_cert.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/grandchild_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/grandchild_cert_32.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/grandchild_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/grandchild_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalid_client.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalid_client.pem</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalid_issuer_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalid_issuer_cert.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalid_issuer_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalid_issuer_cert_32.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalid_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalid_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalid_signer_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalid_signer_cert.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalid_signer_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalid_signer_cert_32.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalidchild_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalidchild_cert.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalidchild_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalidchild_cert_32.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/invalidchild_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/invalidchild_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/plugin/exception/rubygems_plugin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/plugin/exception/rubygems_plugin.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/plugin/load/rubygems_plugin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/plugin/load/rubygems_plugin.rb</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/plugin/standarderror/rubygems_plugin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/plugin/standarderror/rubygems_plugin.rb</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/private3072_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/private3072_key.pem</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/private_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/private_key.pem</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/public3072_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/public3072_cert.pem</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/public_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/public_cert.pem</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/public_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/public_cert_32.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/public_key.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/public_key.pem</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/rubygems/commands/crash_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/rubygems/commands/crash_command.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/rubygems_plugin.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/rubygems_plugin.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/sff/discover.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/sff/discover.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/simple_gem.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/simple_gem.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/specifications/bar-0.0.2.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/specifications/bar-0.0.2.gemspec</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec</a></td><td class='right'>bin</td><td class='graph'>269 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_bundled_ca.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_bundled_ca.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_config.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_deprecate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_deprecate.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem.rb</a></td><td class='right'>1933</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_available_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_available_set.rb</a></td><td class='right'>130</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_bundler_version_finder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_bundler_version_finder.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_command.rb</a></td><td class='right'>253</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_command_manager.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_command_manager.rb</a></td><td class='right'>269</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_build_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_build_command.rb</a></td><td class='right'>353</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_cert_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_cert_command.rb</a></td><td class='right'>796</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_check_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_check_command.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_cleanup_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_cleanup_command.rb</a></td><td class='right'>266</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_contents_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_contents_command.rb</a></td><td class='right'>239</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_dependency_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_dependency_command.rb</a></td><td class='right'>229</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_environment_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_environment_command.rb</a></td><td class='right'>155</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_fetch_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_fetch_command.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_generate_index_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_generate_index_command.rb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_help_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_help_command.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_info_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_info_command.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_install_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_install_command.rb</a></td><td class='right'>1145</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_list_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_list_command.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_lock_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_lock_command.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_mirror.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_mirror.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_open_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_open_command.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_outdated_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_outdated_command.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_owner_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_owner_command.rb</a></td><td class='right'>273</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_pristine_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_pristine_command.rb</a></td><td class='right'>526</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_push_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_push_command.rb</a></td><td class='right'>389</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_query_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_query_command.rb</a></td><td class='right'>832</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_search_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_search_command.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_server_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_server_command.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_setup_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_setup_command.rb</a></td><td class='right'>295</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_signin_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_signin_command.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_signout_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_signout_command.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_sources_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_sources_command.rb</a></td><td class='right'>300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_specification_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_specification_command.rb</a></td><td class='right'>250</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_stale_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_stale_command.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_uninstall_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_uninstall_command.rb</a></td><td class='right'>369</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_unpack_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_unpack_command.rb</a></td><td class='right'>225</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_update_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_update_command.rb</a></td><td class='right'>525</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_which_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_which_command.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_yank_command.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_commands_yank_command.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_config_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_config_file.rb</a></td><td class='right'>492</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_dependency.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_dependency.rb</a></td><td class='right'>389</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_dependency_installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_dependency_installer.rb</a></td><td class='right'>1238</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_dependency_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_dependency_list.rb</a></td><td class='right'>259</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_dependency_resolution_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_dependency_resolution_error.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_doctor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_doctor.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_ext_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_ext_builder.rb</a></td><td class='right'>328</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_ext_cmake_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_ext_cmake_builder.rb</a></td><td class='right'>88</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_ext_configure_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_ext_configure_builder.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_ext_ext_conf_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_ext_ext_conf_builder.rb</a></td><td class='right'>233</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_ext_rake_builder.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_ext_rake_builder.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_gem_runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_gem_runner.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_gemcutter_utilities.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_gemcutter_utilities.rb</a></td><td class='right'>261</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_impossible_dependencies_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_impossible_dependencies_error.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_indexer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_indexer.rb</a></td><td class='right'>365</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_install_update_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_install_update_options.rb</a></td><td class='right'>183</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_installer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_installer.rb</a></td><td class='right'>1771</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.9%;'/><td class='none' style='width: 98.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_local_remote_options.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_local_remote_options.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_name_tuple.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_name_tuple.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package.rb</a></td><td class='right'>1048</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package_old.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package_old.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package_tar_header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package_tar_header.rb</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package_tar_reader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package_tar_reader.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package_tar_reader_entry.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package_tar_reader_entry.rb</a></td><td class='right'>153</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package_tar_writer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package_tar_writer.rb</a></td><td class='right'>321</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_package_task.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_package_task.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_path_support.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_path_support.rb</a></td><td class='right'>138</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_platform.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_platform.rb</a></td><td class='right'>307</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_rdoc.rb</a></td><td class='right'>271</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_remote_fetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_remote_fetcher.rb</a></td><td class='right'>1039</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request.rb</a></td><td class='right'>498</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request_connection_pools.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request_connection_pools.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request_set.rb</a></td><td class='right'>595</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request_set_gem_dependency_api.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request_set_gem_dependency_api.rb</a></td><td class='right'>826</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request_set_lockfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request_set_lockfile.rb</a></td><td class='right'>469</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request_set_lockfile_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request_set_lockfile_parser.rb</a></td><td class='right'>544</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_request_set_lockfile_tokenizer.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_requirement.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_requirement.rb</a></td><td class='right'>413</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver.rb</a></td><td class='right'>749</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_activation_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_activation_request.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_api_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_api_set.rb</a></td><td class='right'>208</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_api_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_api_specification.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_best_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_best_set.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_composed_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_composed_set.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_conflict.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_conflict.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_dependency_request.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_dependency_request.rb</a></td><td class='right'>84</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_git_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_git_set.rb</a></td><td class='right'>189</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_git_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_git_specification.rb</a></td><td class='right'>113</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_index_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_index_set.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_index_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_index_specification.rb</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_installed_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_installed_specification.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_installer_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_installer_set.rb</a></td><td class='right'>257</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_local_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_local_specification.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_lock_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_lock_set.rb</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_lock_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_lock_specification.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_requirement_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_requirement_list.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_specification.rb</a></td><td class='right'>64</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_vendor_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_vendor_set.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_resolver_vendor_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_resolver_vendor_specification.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_security.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_security.rb</a></td><td class='right'>310</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_security_policy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_security_policy.rb</a></td><td class='right'>540</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_security_signer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_security_signer.rb</a></td><td class='right'>218</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_security_trust_dir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_security_trust_dir.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_server.rb</a></td><td class='right'>607</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_silent_ui.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_silent_ui.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source.rb</a></td><td class='right'>238</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_fetch_problem.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_fetch_problem.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_git.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_git.rb</a></td><td class='right'>308</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_installed.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_installed.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_list.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_list.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_local.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_local.rb</a></td><td class='right'>107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_lock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_lock.rb</a></td><td class='right'>114</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_specific_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_specific_file.rb</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_source_vendor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_source_vendor.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_spec_fetcher.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_spec_fetcher.rb</a></td><td class='right'>330</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_specification.rb</a></td><td class='right'>3811</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.1%;'/><td class='none' style='width: 95.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_stream_ui.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_stream_ui.rb</a></td><td class='right'>222</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_stub_specification.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_stub_specification.rb</a></td><td class='right'>294</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_text.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_text.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_uninstaller.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_uninstaller.rb</a></td><td class='right'>505</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_unsatisfiable_dependency_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_unsatisfiable_dependency_error.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_uri_formatter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_uri_formatter.rb</a></td><td class='right'>28</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_util.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_util.rb</a></td><td class='right'>61</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_validator.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_validator.rb</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_version.rb</a></td><td class='right'>287</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_gem_version_option.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_gem_version_option.rb</a></td><td class='right'>166</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_kernel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_kernel.rb</a></td><td class='right'>123</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_remote_fetch_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_remote_fetch_error.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/test_require.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/test_require.rb</a></td><td class='right'>439</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/wrong_key_cert.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/wrong_key_cert.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/rubygems/wrong_key_cert_32.pem?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/rubygems/wrong_key_cert_32.pem</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/runner.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/scanf/data.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/scanf/data.txt</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/scanf/test_scanf.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/scanf/test_scanf.rb</a></td><td class='right'>305</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/scanf/test_scanfblocks.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/scanf/test_scanfblocks.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/scanf/test_scanfio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/scanf/test_scanfio.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/sdbm/test_sdbm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/sdbm/test_sdbm.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/shell/test_command_processor.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/shell/test_command_processor.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/asp.net/hello.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/asp.net/hello.wsdl</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/asp.net/test_aspdotnet.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/asp.net/test_aspdotnet.rb</a></td><td class='right'>111</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/calc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/calc.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/calc2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/calc2.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/server.cgi?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/server.cgi</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/server.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/server2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/server2.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/test_calc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/test_calc.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/test_calc2.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/test_calc2.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/calc/test_calc_cgi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/calc/test_calc_cgi.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/fault/test_customfault.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/fault/test_customfault.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/header/server.cgi?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/header/server.cgi</a></td><td class='right'>119</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/header/test_authheader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/header/test_authheader.rb</a></td><td class='right'>240</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/header/test_authheader_cgi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/header/test_authheader_cgi.rb</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/header/test_simplehandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/header/test_simplehandler.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/helloworld/hw_s.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/helloworld/hw_s.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/helloworld/test_helloworld.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/helloworld/test_helloworld.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/marshal/test_digraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/marshal/test_digraph.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/marshal/test_marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/marshal/test_marshal.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/marshal/test_struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/marshal/test_struct.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/README?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/README</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/ca.cert?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/ca.cert</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/client.cert?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/client.cert</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/client.key?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/client.key</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='mov'><a href='/ruby.git/diff/test/soap/ssl/server.cert?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/server.cert</a> (renamed from test/rubygems/ssl_cert.pem)</td><td class='right'>0</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='mov'><a href='/ruby.git/diff/test/soap/ssl/server.key?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/server.key</a> (renamed from test/rubygems/ssl_key.pem)</td><td class='right'>0</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/sslsvr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/sslsvr.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/subca.cert?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/subca.cert</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/ssl/test_ssl.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/ssl/test_ssl.rb</a></td><td class='right'>204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/struct/test_struct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/struct/test_struct.rb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/swa/test_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/swa/test_file.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_basetype.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_basetype.rb</a></td><td class='right'>970</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_envelopenamespace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_envelopenamespace.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_httpconfigloader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_httpconfigloader.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_mapping.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_mapping.rb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_no_indent.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_no_indent.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_property.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_property.rb</a></td><td class='right'>424</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_soapelement.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_soapelement.rb</a></td><td class='right'>122</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_streamhandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_streamhandler.rb</a></td><td class='right'>209</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/test_styleuse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/test_styleuse.rb</a></td><td class='right'>333</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/README.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/README.txt</a></td><td class='right'>2</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/calc.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/calc.wsdl</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/document.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/document.wsdl</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/echo_version.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/echo_version.rb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/simpletype.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/simpletype.wsdl</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/test_calc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/test_calc.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/test_document.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/test_document.rb</a></td><td class='right'>78</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/soap/wsdlDriver/test_simpletype.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/soap/wsdlDriver/test_simpletype.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/socket/test_addrinfo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_addrinfo.rb</a></td><td class='right'>692</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/socket/test_ancdata.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_ancdata.rb</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/socket/test_basicsocket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_basicsocket.rb</a></td><td class='right'>230</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/socket/test_nonblock.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_nonblock.rb</a></td><td class='right'>276</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/socket/test_socket.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_socket.rb</a></td><td class='right'>763</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/socket/test_sockopt.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_sockopt.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/socket/test_tcp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_tcp.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/socket/test_udp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_udp.rb</a></td><td class='right'>116</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/socket/test_unix.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/socket/test_unix.rb</a></td><td class='right'>606</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/stringio/test_stringio.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/stringio/test_stringio.rb</a></td><td class='right'>762</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/strscan/test_stringscanner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/strscan/test_stringscanner.rb</a></td><td class='right'>306</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/syslog/test_syslog_logger.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/syslog/test_syslog_logger.rb</a></td><td class='right'>573</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_abbrev.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_abbrev.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_cmath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_cmath.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_delegate.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_delegate.rb</a></td><td class='right'>261</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_extlibs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_extlibs.rb</a></td><td class='right'>83</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_find.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_find.rb</a></td><td class='right'>334</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_forwardable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_forwardable.rb</a></td><td class='right'>347</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_ipaddr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_ipaddr.rb</a></td><td class='right'>385</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_mutex_m.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_mutex_m.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_observer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_observer.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_open3.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_open3.rb</a></td><td class='right'>324</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_pp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_pp.rb</a></td><td class='right'>206</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_prettyprint.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_prettyprint.rb</a></td><td class='right'>521</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_prime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_prime.rb</a></td><td class='right'>279</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_pstore.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_pstore.rb</a></td><td class='right'>150</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_pty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_pty.rb</a></td><td class='right'>239</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_rbconfig.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_rbconfig.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_securerandom.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_securerandom.rb</a></td><td class='right'>187</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_set.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_set.rb</a></td><td class='right'>927</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_shellwords.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_shellwords.rb</a></td><td class='right'>126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_singleton.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_singleton.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_sync.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_sync.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_syslog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_syslog.rb</a></td><td class='right'>190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_tempfile.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_tempfile.rb</a></td><td class='right'>408</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_time.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_time.rb</a></td><td class='right'>545</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_timeout.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_timeout.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_tmpdir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_tmpdir.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_tracer.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_tracer.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_tsort.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_tsort.rb</a></td><td class='right'>115</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_unicode_normalize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_unicode_normalize.rb</a></td><td class='right'>208</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_weakref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_weakref.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/test_win32api.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/test_win32api.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/collector/test_dir.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/collector/test_dir.rb</a></td><td class='right'>406</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/collector/test_objectspace.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/collector/test_objectspace.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/runit/test_assert.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/runit/test_assert.rb</a></td><td class='right'>402</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/runit/test_testcase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/runit/test_testcase.rb</a></td><td class='right'>91</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/runit/test_testresult.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/runit/test_testresult.rb</a></td><td class='right'>144</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/runit/test_testsuite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/runit/test_testsuite.rb</a></td><td class='right'>49</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test4test_hideskip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test4test_hideskip.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test4test_redefinition.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test4test_redefinition.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test4test_sorting.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test4test_sorting.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test_assertion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_assertion.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/test_assertions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_assertions.rb</a></td><td class='right'>528</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/test_error.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_error.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/test_failure.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_failure.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test_hideskip.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_hideskip.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test_parallel.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_parallel.rb</a></td><td class='right'>203</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test_redefinition.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_redefinition.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/test_sorting.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_sorting.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/test_testcase.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_testcase.rb</a></td><td class='right'>275</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/test_testresult.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_testresult.rb</a></td><td class='right'>104</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/test_testsuite.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/test_testsuite.rb</a></td><td class='right'>129</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/tests_for_parallel/ptest_first.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/tests_for_parallel/ptest_first.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/tests_for_parallel/ptest_forth.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/tests_for_parallel/ptest_forth.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/tests_for_parallel/ptest_second.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/tests_for_parallel/ptest_second.rb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/tests_for_parallel/ptest_third.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/tests_for_parallel/ptest_third.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/testunit/tests_for_parallel/runner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/tests_for_parallel/runner.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/util/test_backtracefilter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/util/test_backtracefilter.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/util/test_observable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/util/test_observable.rb</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/testunit/util/test_procwrapper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/testunit/util/test_procwrapper.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/uri/test_common.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_common.rb</a></td><td class='right'>173</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/uri/test_file.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_file.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/uri/test_ftp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_ftp.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/uri/test_generic.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_generic.rb</a></td><td class='right'>508</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/uri/test_http.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_http.rb</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/uri/test_ldap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_ldap.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/uri/test_mailto.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_mailto.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/uri/test_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/uri/test_parser.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/.htaccess?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/.htaccess</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_cgi.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_cgi.rb</a></td><td class='right'>152</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_config.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_cookie.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_cookie.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_do_not_reverse_lookup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_do_not_reverse_lookup.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_filehandler.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_filehandler.rb</a></td><td class='right'>304</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_htgroup.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_htgroup.rb</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_htmlutils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_htmlutils.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_httpauth.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httpauth.rb</a></td><td class='right'>351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_httpproxy.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httpproxy.rb</a></td><td class='right'>427</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_httprequest.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httprequest.rb</a></td><td class='right'>168</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_httpresponse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httpresponse.rb</a></td><td class='right'>226</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_https.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_https.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_httpserver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httpserver.rb</a></td><td class='right'>323</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_httputils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httputils.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_httpversion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_httpversion.rb</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/test_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_server.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_ssl_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_ssl_server.rb</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/test_utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/test_utils.rb</a></td><td class='right'>110</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/utils.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/utils.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/webrick/webrick.cgi?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/webrick.cgi</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/webrick.rhtml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/webrick.rhtml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/webrick/webrick_long_filename.cgi?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/webrick/webrick_long_filename.cgi</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/available_ole.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/available_ole.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/err_in_callback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/err_in_callback.rb</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/orig_data.csv?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/orig_data.csv</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_err_in_callback.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_err_in_callback.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_folderitem2_invokeverb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_folderitem2_invokeverb.rb</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_nil2vtempty.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_nil2vtempty.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_ole_methods.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_ole_methods.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_propertyputref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_propertyputref.rb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_thread.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_thread.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole.rb</a></td><td class='right'>583</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_event.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_event.rb</a></td><td class='right'>436</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_method.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_method.rb</a></td><td class='right'>134</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_method_event.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_method_event.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_param.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_param.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_param_event.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_param_event.rb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_record.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_record.rb</a></td><td class='right'>209</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_type.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_type.rb</a></td><td class='right'>200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_type_event.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_type_event.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_typelib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_typelib.rb</a></td><td class='right'>117</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_variable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_variable.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_variant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_variant.rb</a></td><td class='right'>722</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_variant_m.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_variant_m.rb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_win32ole_variant_outarg.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_win32ole_variant_outarg.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/win32ole/test_word.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/win32ole/test_word.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/any/any.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/any/any.wsdl</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/any/expectedDriver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/any/expectedDriver.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/any/expectedEcho.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/any/expectedEcho.rb</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/any/expectedService.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/any/expectedService.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/any/test_any.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/any/test_any.rb</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/axisArray/axisArray.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/axisArray/axisArray.wsdl</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/axisArray/itemList.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/axisArray/itemList.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/axisArray/test_axisarray.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/axisArray/test_axisarray.rb</a></td><td class='right'>69</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/datetime/DatetimeService.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/datetime/DatetimeService.rb</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='mov'><a href='/ruby.git/diff/test/wsdl/datetime/datetime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/datetime/datetime.rb</a> (renamed from spec/mspec/spec/commands/fixtures/four.txt)</td><td class='right'>0</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/datetime/datetime.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/datetime/datetime.wsdl</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/datetime/datetimeServant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/datetime/datetimeServant.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/datetime/test_datetime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/datetime/test_datetime.rb</a></td><td class='right'>82</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/document.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/document.wsdl</a></td><td class='right'>74</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/echo.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/echo.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/number.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/number.wsdl</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/ping_nosoapaction.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/ping_nosoapaction.wsdl</a></td><td class='right'>66</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/test_nosoapaction.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/test_nosoapaction.rb</a></td><td class='right'>109</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/test_number.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/test_number.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/document/test_rpc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/document/test_rpc.rb</a></td><td class='right'>177</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/emptycomplextype.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/emptycomplextype.wsdl</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/map/map.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/map/map.wsdl</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/map/map.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/map/map.xml</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/map/test_map.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/map/test_map.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/marshal/person.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/marshal/person.wsdl</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/marshal/person_org.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/marshal/person_org.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/marshal/test_wsdlmarshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/marshal/test_wsdlmarshal.rb</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/multiplefault.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/multiplefault.wsdl</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='mov'><a href='/ruby.git/diff/test/wsdl/qualified/lp.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/qualified/lp.rb</a> (renamed from spec/ruby/core/io/fixtures/empty.txt)</td><td class='right'>0</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/qualified/lp.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/qualified/lp.wsdl</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/qualified/lp.xsd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/qualified/lp.xsd</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/qualified/np.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/qualified/np.wsdl</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/qualified/test_qualified.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/qualified/test_qualified.rb</a></td><td class='right'>154</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/qualified/test_unqualified.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/qualified/test_unqualified.rb</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/RAA.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/RAA.rb</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/RAAServant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/RAAServant.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/RAAService.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/RAAService.rb</a></td><td class='right'>100</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/README.txt?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/README.txt</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/raa.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/raa.wsdl</a></td><td class='right'>264</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/server.rb</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/raa/test_raa.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/raa/test_raa.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/ref/expectedProduct.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/ref/expectedProduct.rb</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/ref/product.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/ref/product.wsdl</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/ref/test_ref.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/ref/test_ref.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/echoDriver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/echoDriver.rb</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/echo_serviceClient.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/echo_serviceClient.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/rpc.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/rpc.wsdl</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/test-rpc-lit.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/test-rpc-lit.wsdl</a></td><td class='right'>364</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/test-rpc-lit12.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/test-rpc-lit12.wsdl</a></td><td class='right'>455</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/test_rpc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/test_rpc.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/rpc/test_rpc_lit.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/rpc/test_rpc_lit.rb</a></td><td class='right'>399</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/expectedClient.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/expectedClient.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/expectedDriver.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/expectedDriver.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/expectedEchoVersion.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/expectedEchoVersion.rb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/expectedServant.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/expectedServant.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/expectedService.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/expectedService.rb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/rpc.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/rpc.wsdl</a></td><td class='right'>80</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/rpc/test_rpc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/rpc/test_rpc.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/simpletype.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/simpletype.wsdl</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/simpletype/test_simpletype.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/simpletype/test_simpletype.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/soap/soapbodyparts.wsdl?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/soap/soapbodyparts.wsdl</a></td><td class='right'>103</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/soap/test_soapbodyparts.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/soap/test_soapbodyparts.rb</a></td><td class='right'>79</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/test_emptycomplextype.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/test_emptycomplextype.rb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/test_fault.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/test_fault.rb</a></td><td class='right'>51</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/wsdl/test_multiplefault.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/wsdl/test_multiplefault.rb</a></td><td class='right'>39</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/bug_bool.expected?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/bug_bool.expected</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/bug_bool.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/bug_bool.xml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/bug_cdata.expected?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/bug_cdata.expected</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/bug_cdata.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/bug_cdata.xml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/bug_covert.expected?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/bug_covert.expected</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/bug_covert.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/bug_covert.xml</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/datetime_iso8601.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/datetime_iso8601.xml</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/fault.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/fault.xml</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/value.expected?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/value.expected</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/value.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/value.xml</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/xml1.expected?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/xml1.expected</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/data/xml1.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/data/xml1.xml</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/test_datetime.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/test_datetime.rb</a></td><td class='right'>159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/test_features.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/test_features.rb</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/test_marshal.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/test_marshal.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/test_parser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/test_parser.rb</a></td><td class='right'>85</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/test_webrick_server.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/test_webrick_server.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xmlrpc/webrick_testing.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xmlrpc/webrick_testing.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xsd/codegen/test_classdef.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xsd/codegen/test_classdef.rb</a></td><td class='right'>214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xsd/noencoding.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xsd/noencoding.xml</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xsd/test_noencoding.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xsd/test_noencoding.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xsd/test_xmlschemaparser.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xsd/test_xmlschemaparser.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xsd/test_xsd.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xsd/test_xsd.rb</a></td><td class='right'>1511</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/xsd/xmlschema.xml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/xsd/xmlschema.xml</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/test/yaml/test_store.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/yaml/test_store.rb</a></td><td class='right'>180</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/yaml/test_yaml.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/yaml/test_yaml.rb</a></td><td class='right'>1284</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/test/zlib/test_zlib.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>test/zlib/test_zlib.rb</a></td><td class='right'>1204</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.3%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/thread.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>thread.c</a></td><td class='right'>5491</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 5.9%;'/><td class='none' style='width: 94.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/thread_pthread.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>thread_pthread.c</a></td><td class='right'>2143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.3%;'/><td class='none' style='width: 97.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/thread_pthread.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>thread_pthread.h</a></td><td class='right'>75</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/thread_sync.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>thread_sync.c</a></td><td class='right'>1550</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.7%;'/><td class='none' style='width: 98.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/thread_win32.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>thread_win32.c</a></td><td class='right'>839</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/thread_win32.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>thread_win32.h</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/time.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>time.c</a></td><td class='right'>6105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.4%;'/><td class='rem' style='width: 5.2%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/timev.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>timev.h</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/asm_parse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/asm_parse.rb</a></td><td class='right'>53</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/bisect.sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/bisect.sh</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/build-transcode?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/build-transcode</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/change_maker.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/change_maker.rb</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/checksum.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/checksum.rb</a></td><td class='right'>72</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/colorize.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/colorize.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/darwin-cc?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/darwin-cc</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/downloader.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/downloader.rb</a></td><td class='right'>352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/enc-emoji-citrus-gen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/enc-emoji-citrus-gen.rb</a></td><td class='right'>131</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/enc-emoji4unicode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/enc-emoji4unicode.rb</a></td><td class='right'>133</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/enc-unicode.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/enc-unicode.rb</a></td><td class='right'>577</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/eval.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/eval.rb</a></td><td class='right'>158</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/expand-config.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/expand-config.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/extlibs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/extlibs.rb</a></td><td class='right'>186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/fake.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/fake.rb</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/fetch-bundled_gems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/fetch-bundled_gems.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/file2lastrev.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/file2lastrev.rb</a></td><td class='right'>98</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/gem-unpack.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/gem-unpack.rb</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/gen_dummy_probes.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/gen_dummy_probes.rb</a></td><td class='right'>32</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/gen_ruby_tapset.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/gen_ruby_tapset.rb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/generate-backport-changelog.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/generate-backport-changelog.rb</a></td><td class='right'>99</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/generic_erb.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/generic_erb.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/git-refresh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/git-refresh</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/gperf.sed?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/gperf.sed</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/id2token.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/id2token.rb</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/ifchange?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ifchange</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/insns2vm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/insns2vm.rb</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/install-sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/install-sh</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/jisx0208.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/jisx0208.rb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/_colorize_result_prepare.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/_colorize_result_prepare.m4</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ac_msg_result.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ac_msg_result.m4</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/colorize_result.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/colorize_result.m4</a></td><td class='right'>9</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_append_option.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_append_option.m4</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_append_options.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_append_options.m4</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_builtin_func.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_builtin_func.m4</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_builtin_setjmp.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_builtin_setjmp.m4</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_printf_prefix.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_printf_prefix.m4</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_setjmp.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_setjmp.m4</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_signedness.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_signedness.m4</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_sizeof.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_sizeof.m4</a></td><td class='right'>108</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_check_sysconf.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_check_sysconf.m4</a></td><td class='right'>13</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_cppoutfile.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_cppoutfile.m4</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_decl_attribute.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_decl_attribute.m4</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_default_arch.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_default_arch.m4</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_define_if.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_define_if.m4</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_defint.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_defint.m4</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_dtrace_available.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_dtrace_available.m4</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_dtrace_postprocess.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_dtrace_postprocess.m4</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_func_attribute.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_func_attribute.m4</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_mingw32.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_mingw32.m4</a></td><td class='right'>24</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_prepend_option.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_prepend_option.m4</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_prog_gnu_ld.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_prog_gnu_ld.m4</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_replace_type.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_replace_type.m4</a></td><td class='right'>58</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_rm_recursive.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_rm_recursive.m4</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_setjmp_type.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_setjmp_type.m4</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_stack_grow_direction.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_stack_grow_direction.m4</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_try_cflags.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_try_cflags.m4</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_try_ldflags.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_try_ldflags.m4</a></td><td class='right'>15</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_type_attribute.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_type_attribute.m4</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_universal_arch.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_universal_arch.m4</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/m4/ruby_werror_flag.m4?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/m4/ruby_werror_flag.m4</a></td><td class='right'>18</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/make-snapshot?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/make-snapshot</a></td><td class='right'>526</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/make_hgraph.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/make_hgraph.rb</a></td><td class='right'>95</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/mdoc2man.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/mdoc2man.rb</a></td><td class='right'>505</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.5%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/merger.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/merger.rb</a></td><td class='right'>310</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/mjit_archflag.sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/mjit_archflag.sh</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/mk_call_iseq_optimized.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/mk_call_iseq_optimized.rb</a></td><td class='right'>73</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/mkconfig.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/mkconfig.rb</a></td><td class='right'>363</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/mkrunnable.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/mkrunnable.rb</a></td><td class='right'>135</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/node_name.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/node_name.rb</a></td><td class='right'>8</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/parse.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/parse.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/prereq.status?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/prereq.status</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/probes_to_wiki.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/probes_to_wiki.rb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/rbinstall.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/rbinstall.rb</a></td><td class='right'>884</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/rbuninstall.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/rbuninstall.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/redmine-backporter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/redmine-backporter.rb</a></td><td class='right'>609</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/release.sh?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/release.sh</a></td><td class='right'>38</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/rmdirs?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/rmdirs</a></td><td class='right'>14</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/controllers/application_controller.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/controllers/application_controller.rb</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/helpers/c_escape.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/helpers/c_escape.rb</a></td><td class='right'>128</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/helpers/dumper.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/helpers/dumper.rb</a></td><td class='right'>112</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/helpers/scanner.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/helpers/scanner.rb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/loaders/insns_def.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/loaders/insns_def.rb</a></td><td class='right'>92</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/loaders/opt_insn_unif_def.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/loaders/opt_insn_unif_def.rb</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/loaders/opt_operand_def.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/loaders/opt_operand_def.rb</a></td><td class='right'>56</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/loaders/vm_opts_h.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/loaders/vm_opts_h.rb</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/attribute.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/attribute.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/bare_instructions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/bare_instructions.rb</a></td><td class='right'>207</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/c_expr.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/c_expr.rb</a></td><td class='right'>41</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/instructions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/instructions.rb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/instructions_unifications.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/instructions_unifications.rb</a></td><td class='right'>43</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/operands_unifications.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/operands_unifications.rb</a></td><td class='right'>137</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/trace_instructions.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/trace_instructions.rb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/models/typemap.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/models/typemap.rb</a></td><td class='right'>62</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/scripts/converter.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/scripts/converter.rb</a></td><td class='right'>29</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/scripts/insns2vm.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/scripts/insns2vm.rb</a></td><td class='right'>93</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/tests/.gitkeep?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/tests/.gitkeep</a></td><td class='right'>0</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_attributes.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_attributes.erb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_c_expr.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_c_expr.erb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_copyright.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_copyright.erb</a></td><td class='right'>31</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_entry.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_insn_entry.erb</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_len_info.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_insn_len_info.erb</a></td><td class='right'>23</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_name_info.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_insn_name_info.erb</a></td><td class='right'>50</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_operand_info.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_insn_operand_info.erb</a></td><td class='right'>59</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_stack_increase.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_insn_stack_increase.erb</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_type_chars.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_insn_type_chars.erb</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_leaf_helpers.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_leaf_helpers.erb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_mjit_compile_insn.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_mjit_compile_insn.erb</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_mjit_compile_insn_body.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_mjit_compile_insn_body.erb</a></td><td class='right'>105</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_mjit_compile_ivar.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_mjit_compile_ivar.erb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_mjit_compile_send.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_mjit_compile_send.erb</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_notice.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_notice.erb</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/_trace_instruction.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/_trace_instruction.erb</a></td><td class='right'>16</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/insns.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/insns.inc.erb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/insns_info.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/insns_info.inc.erb</a></td><td class='right'>20</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/mjit_compile.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/mjit_compile.inc.erb</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/opt_sc.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/opt_sc.inc.erb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/optinsn.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/optinsn.inc.erb</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/optunifs.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/optunifs.inc.erb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/vm.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/vm.inc.erb</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/ruby_vm/views/vmtc.inc.erb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ruby_vm/views/vmtc.inc.erb</a></td><td class='right'>21</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/run-gcov.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/run-gcov.rb</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/run-lcov.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/run-lcov.rb</a></td><td class='right'>164</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/runruby.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/runruby.rb</a></td><td class='right'>165</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/strip-rdoc.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/strip-rdoc.rb</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/sync_default_gems.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/sync_default_gems.rb</a></td><td class='right'>258</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/test-coverage.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/test-coverage.rb</a></td><td class='right'>118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/test/test_jisx0208.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/test/test_jisx0208.rb</a></td><td class='right'>40</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/transcode-tblgen.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/transcode-tblgen.rb</a></td><td class='right'>1118</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/transform_mjit_header.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/transform_mjit_header.rb</a></td><td class='right'>298</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/update-deps?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/update-deps</a></td><td class='right'>632</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 99.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/vcs.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/vcs.rb</a></td><td class='right'>534</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/vpath.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/vpath.rb</a></td><td class='right'>87</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/tool/vtlh.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/vtlh.rb</a></td><td class='right'>17</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/tool/ytab.sed?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>tool/ytab.sed</a></td><td class='right'>77</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/transcode.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>transcode.c</a></td><td class='right'>4583</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.9%;'/><td class='none' style='width: 95.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/transcode_data.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>transcode_data.h</a></td><td class='right'>139</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/transient_heap.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>transient_heap.c</a></td><td class='right'>872</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 99.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/transient_heap.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>transient_heap.h</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/util.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>util.c</a></td><td class='right'>4277</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 4.0%;'/><td class='none' style='width: 95.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/util.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>util.h</a></td><td class='right'>67</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/variable.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>variable.c</a></td><td class='right'>3365</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 2.6%;'/><td class='none' style='width: 96.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/version.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>version.c</a></td><td class='right'>125</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/version.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>version.h</a></td><td class='right'>90</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm.c</a></td><td class='right'>3502</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 3.8%;'/><td class='none' style='width: 96.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_args.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_args.c</a></td><td class='right'>915</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 99.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_backtrace.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_backtrace.c</a></td><td class='right'>1474</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 98.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_core.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_core.h</a></td><td class='right'>1902</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 97.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_debug.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_debug.h</a></td><td class='right'>37</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_dump.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_dump.c</a></td><td class='right'>1102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.2%;'/><td class='none' style='width: 98.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_eval.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_eval.c</a></td><td class='right'>2186</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_exec.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_exec.c</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_exec.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_exec.h</a></td><td class='right'>202</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_insnhelper.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_insnhelper.c</a></td><td class='right'>3974</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 4.3%;'/><td class='none' style='width: 95.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_insnhelper.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_insnhelper.h</a></td><td class='right'>316</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_method.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_method.c</a></td><td class='right'>2190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.4%;'/><td class='none' style='width: 97.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_opts.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_opts.h</a></td><td class='right'>70</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vm_trace.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vm_trace.c</a></td><td class='right'>2002</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 2.2%;'/><td class='none' style='width: 97.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/vms/config.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vms/config.h</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/vms/vms.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vms/vms.h</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/vms/vmsruby_private.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vms/vmsruby_private.c</a></td><td class='right'>52</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/vms/vmsruby_private.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vms/vmsruby_private.h</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/vsnprintf.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>vsnprintf.c</a></td><td class='right'>1313</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 1.4%;'/><td class='none' style='width: 98.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/wercker.yml?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wercker.yml</a></td><td class='right'>282</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.3%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/win32/.document?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/.document</a></td><td class='right'>1</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/win32/Makefile.sub?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/Makefile.sub</a></td><td class='right'>1209</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 1.1%;'/><td class='none' style='width: 98.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/win32/README.win32?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/README.win32</a></td><td class='right'>86</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/win32/configure.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/configure.bat</a></td><td class='right'>243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/win32/dir.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/dir.h</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/win32/enc-setup.mak?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/enc-setup.mak</a></td><td class='right'>10</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/win32/file.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/file.c</a></td><td class='right'>712</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 99.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/win32/file.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/file.h</a></td><td class='right'>48</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/win32/ifchange.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/ifchange.bat</a></td><td class='right'>94</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/win32/makedirs.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/makedirs.bat</a></td><td class='right'>3</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/win32/mkexports.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/mkexports.rb</a></td><td class='right'>193</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/win32/resource.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/resource.rb</a></td><td class='right'>33</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='upd'><a href='/ruby.git/diff/win32/rm.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/rm.bat</a></td><td class='right'>12</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/win32/rmdirs.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/rmdirs.bat</a></td><td class='right'>30</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/win32/rtname.cmd?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/rtname.cmd</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/win32/setup.mak?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/setup.mak</a></td><td class='right'>268</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/win32/win32.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/win32.c</a></td><td class='right'>7753</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 6.5%;'/><td class='none' style='width: 91.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/win32/win32.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/win32.h</a></td><td class='right'>558</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/win32/winmain.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>win32/winmain.c</a></td><td class='right'>4</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/Makefile.sub?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/Makefile.sub</a></td><td class='right'>505</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/README.wince?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/README.wince</a></td><td class='right'>121</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/assert.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/assert.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/assert.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/assert.h</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/wince/configure.bat?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/configure.bat</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/direct.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/direct.c</a></td><td class='right'>54</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/direct.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/direct.h</a></td><td class='right'>22</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/errno.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/errno.c</a></td><td class='right'>11</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/errno.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/errno.h</a></td><td class='right'>55</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/fcntl.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/fcntl.h</a></td><td class='right'>42</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/io.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/io.h</a></td><td class='right'>76</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/io_wce.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/io_wce.c</a></td><td class='right'>230</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/mkconfig_wce.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/mkconfig_wce.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/mkexports.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/mkexports.rb</a></td><td class='right'>35</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/process.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/process.h</a></td><td class='right'>46</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/process_wce.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/process_wce.c</a></td><td class='right'>47</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/resource.rb?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/resource.rb</a></td><td class='right'>96</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/setup.mak?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/setup.mak</a></td><td class='right'>245</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/signal.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/signal.h</a></td><td class='right'>71</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/signal_wce.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/signal_wce.c</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/stddef.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/stddef.h</a></td><td class='right'>5</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/stdio.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/stdio.c</a></td><td class='right'>36</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/stdlib.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/stdlib.c</a></td><td class='right'>57</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/string_wce.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/string_wce.c</a></td><td class='right'>89</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/stat.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/stat.c</a></td><td class='right'>102</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/stat.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/stat.h</a></td><td class='right'>68</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/timeb.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/timeb.c</a></td><td class='right'>25</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/timeb.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/timeb.h</a></td><td class='right'>26</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/types.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/types.h</a></td><td class='right'>60</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/utime.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/utime.c</a></td><td class='right'>44</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/sys/utime.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/sys/utime.h</a></td><td class='right'>27</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/time.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/time.h</a></td><td class='right'>63</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/time_wce.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/time_wce.c</a></td><td class='right'>301</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/varargs.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/varargs.h</a></td><td class='right'>34</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/wince.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/wince.c</a></td><td class='right'>583</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/wince.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/wince.h</a></td><td class='right'>191</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/wincemain.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/wincemain.c</a></td><td class='right'>19</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/wincon.h?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/wincon.h</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/wince/winsock2.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>wince/winsock2.c</a></td><td class='right'>338</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/x68/_dtos18.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>x68/_dtos18.c</a></td><td class='right'>250</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/x68/_round.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>x68/_round.c</a></td><td class='right'>45</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/x68/fconvert.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>x68/fconvert.c</a></td><td class='right'>81</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/x68/select.c?h=v1_8_6_preview2&amp;id2=298180f0450df6e975057cc7e90b3ae3248586fc'>x68/select.c</a></td><td class='right'>167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
</table><div class='diffstat-summary'>10639 files changed, 403062 insertions, 1822721 deletions</div><table summary='diff' class='diff'><tr><td><div class='head'>diff --git a/.cvsignore b/.cvsignore<br/>new file mode 100644<br/>index 0000000000..a72211d03f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.cvsignore?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>.cvsignore</a></div><div class='hunk'>@@ -0,0 +1,48 @@</div><div class='add'>+*.bak</div><div class='add'>+*.orig</div><div class='add'>+*.rej</div><div class='add'>+*.sav</div><div class='add'>+*~</div><div class='add'>+.*.list</div><div class='add'>+.*.time</div><div class='add'>+.ccmalloc</div><div class='add'>+.ppack</div><div class='add'>+.ext</div><div class='add'>+.git</div><div class='add'>+.svn</div><div class='add'>+.pc</div><div class='add'>+COPYING.LIB</div><div class='add'>+ChangeLog.pre-alpha</div><div class='add'>+ChangeLog.pre1_1</div><div class='add'>+Makefile</div><div class='add'>+README.fat-patch</div><div class='add'>+README.v6</div><div class='add'>+README.atheos</div><div class='add'>+archive</div><div class='add'>+autom4te*.cache</div><div class='add'>+automake</div><div class='add'>+beos</div><div class='add'>+config.cache</div><div class='add'>+config.h</div><div class='add'>+config.h.in</div><div class='add'>+config.log</div><div class='add'>+config.status</div><div class='add'>+configure</div><div class='add'>+libruby.so.*</div><div class='add'>+miniruby</div><div class='add'>+newdate.rb</div><div class='add'>+newver.rb</div><div class='add'>+parse.c</div><div class='add'>+patches</div><div class='add'>+ppack</div><div class='add'>+preview</div><div class='add'>+rbconfig.rb</div><div class='add'>+repack</div><div class='add'>+riscos</div><div class='add'>+rubicon</div><div class='add'>+ruby</div><div class='add'>+ruby-man.rd.gz</div><div class='add'>+tmp</div><div class='add'>+web</div><div class='add'>+y.output</div><div class='add'>+y.tab.c</div><div class='head'>diff --git a/.document b/.document<br/>index 2116ca6d26..230c50e387 100644<br/>--- a/<a href='/ruby.git/tree/.document?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.document</a><br/>+++ b/<a href='/ruby.git/tree/.document?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>.document</a></div><div class='hunk'>@@ -5,32 +5,12 @@</div><div class='ctx'> </div><div class='ctx'> # Process all the C source files</div><div class='ctx'> *.c</div><div class='del'>-*.y</div><div class='del'>-</div><div class='del'>-# prelude</div><div class='del'>-prelude.rb</div><div class='del'>-</div><div class='del'>-rbconfig.rb</div><div class='ctx'> </div><div class='ctx'> # the lib/ directory (which has its own .document file)</div><div class='del'>-lib</div><div class='del'>-</div><div class='del'>-# and some of the ext/ directory (which has its own .document file)</div><div class='del'>-ext</div><div class='ctx'> </div><div class='del'>-# rdoc files</div><div class='del'>-NEWS</div><div class='del'>-</div><div class='del'>-README.md</div><div class='del'>-README.ja.md</div><div class='del'>-</div><div class='del'>-COPYING</div><div class='del'>-COPYING.ja</div><div class='del'>-CONTRIBUTING.md</div><div class='add'>+lib</div><div class='ctx'> </div><div class='del'>-LEGAL</div><div class='ctx'> </div><div class='del'>-# win32/README.win32 linked from README.md</div><div class='del'>-win32</div><div class='add'>+# and some of the ext/ directory (which has its own .document file)</div><div class='ctx'> </div><div class='del'>-doc</div><div class='add'>+ext</div><div class='head'>diff --git a/.editorconfig b/.editorconfig<br/>deleted file mode 100644<br/>index cb2729fff9..0000000000<br/>--- a/<a href='/ruby.git/tree/.editorconfig?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.editorconfig</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,27 +0,0 @@</div><div class='del'>-root = true</div><div class='del'>-</div><div class='del'>-[*]</div><div class='del'>-end_of_line = lf</div><div class='del'>-indent_size = 4</div><div class='del'>-indent_style = space</div><div class='del'>-insert_final_newline = true</div><div class='del'>-tab_width = 8</div><div class='del'>-trim_trailing_whitespace = true</div><div class='del'>-</div><div class='del'>-[*.bat]</div><div class='del'>-end_of_line = crlf</div><div class='del'>-</div><div class='del'>-[*.gemspec]</div><div class='del'>-indent_size = 2</div><div class='del'>-</div><div class='del'>-[*.rb]</div><div class='del'>-indent_size = 2</div><div class='del'>-</div><div class='del'>-[*.yml]</div><div class='del'>-indent_size = 2</div><div class='del'>-</div><div class='del'>-[{*[Mm]akefile*,*.mak,*.mk,depend}]</div><div class='del'>-indent_style = tab</div><div class='del'>-</div><div class='del'>-[reg*.[ch]]</div><div class='del'>-indent_size = 2</div><div class='head'>diff --git a/.gdbinit b/.gdbinit<br/>deleted file mode 100644<br/>index 1806196a42..0000000000<br/>--- a/<a href='/ruby.git/tree/.gdbinit?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.gdbinit</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,1346 +0,0 @@</div><div class='del'>-set startup-with-shell off</div><div class='del'>-</div><div class='del'>-define hook-run</div><div class='del'>-  set $color_type = 0</div><div class='del'>-  set $color_highlite = 0</div><div class='del'>-  set $color_end = 0</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define ruby_gdb_init</div><div class='del'>-  if !$color_type</div><div class='del'>-    set $color_type = "\033[31m"</div><div class='del'>-  end</div><div class='del'>-  if !$color_highlite</div><div class='del'>-    set $color_highlite = "\033[36m"</div><div class='del'>-  end</div><div class='del'>-  if !$color_end</div><div class='del'>-    set $color_end = "\033[m"</div><div class='del'>-  end</div><div class='del'>-  if ruby_dummy_gdb_enums.special_consts</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# set prompt \033[36m(gdb)\033[m\040</div><div class='del'>-</div><div class='del'>-define rp</div><div class='del'>-  ruby_gdb_init</div><div class='del'>-  if (VALUE)($arg0) &amp; RUBY_FIXNUM_FLAG</div><div class='del'>-    printf "FIXNUM: %ld\n", (long)($arg0) &gt;&gt; 1</div><div class='del'>-  else</div><div class='del'>-  if ((VALUE)($arg0) &amp; ~(~(VALUE)0&lt;&lt;RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG</div><div class='del'>-    set $id = (($arg0) &gt;&gt; RUBY_SPECIAL_SHIFT)</div><div class='del'>-    printf "%sSYMBOL%s: ", $color_type, $color_end</div><div class='del'>-    rp_id $id</div><div class='del'>-  else</div><div class='del'>-  if ($arg0) == RUBY_Qfalse</div><div class='del'>-    echo false\n</div><div class='del'>-  else</div><div class='del'>-  if ($arg0) == RUBY_Qtrue</div><div class='del'>-    echo true\n</div><div class='del'>-  else</div><div class='del'>-  if ($arg0) == RUBY_Qnil</div><div class='del'>-    echo nil\n</div><div class='del'>-  else</div><div class='del'>-  if ($arg0) == RUBY_Qundef</div><div class='del'>-    echo undef\n</div><div class='del'>-  else</div><div class='del'>-  if (VALUE)($arg0) &amp; RUBY_IMMEDIATE_MASK</div><div class='del'>-    if ((VALUE)($arg0) &amp; RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG</div><div class='del'>-      printf "%sFLONUM%s: %g\n", $color_type, $color_end, (double)rb_float_value($arg0)</div><div class='del'>-    else</div><div class='del'>-      echo immediate\n</div><div class='del'>-    end</div><div class='del'>-  else</div><div class='del'>-  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='del'>-  if ($flags &amp; RUBY_FL_PROMOTED) == RUBY_FL_PROMOTED</div><div class='del'>-    printf "[PROMOTED] "</div><div class='del'>-  end</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_NONE</div><div class='del'>-    printf "%sT_NONE%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_NIL</div><div class='del'>-    printf "%sT_NIL%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_OBJECT</div><div class='del'>-    printf "%sT_OBJECT%s: ", $color_type, $color_end</div><div class='del'>-    print ((struct RObject *)($arg0))-&gt;basic</div><div class='del'>-    if ($flags &amp; ROBJECT_EMBED)</div><div class='del'>-      print/x *((VALUE*)((struct RObject*)($arg0))-&gt;as.ary) @ (ROBJECT_EMBED_LEN_MAX+0)</div><div class='del'>-    else</div><div class='del'>-      print (((struct RObject *)($arg0))-&gt;as.heap)</div><div class='del'>-      if (((struct RObject*)($arg0))-&gt;as.heap.numiv) &gt; 0</div><div class='del'>-        print/x *(((struct RObject*)($arg0))-&gt;as.heap.ivptr) @ (((struct RObject*)($arg0))-&gt;as.heap.numiv)</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_CLASS</div><div class='del'>-    printf "%sT_CLASS%s%s: ", $color_type, ($flags &amp; RUBY_FL_SINGLETON) ? "*" : "", $color_end</div><div class='del'>-    rp_class $arg0</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ICLASS</div><div class='del'>-    printf "%sT_ICLASS%s: ", $color_type, $color_end</div><div class='del'>-    rp_class $arg0</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_MODULE</div><div class='del'>-    printf "%sT_MODULE%s: ", $color_type, $color_end</div><div class='del'>-    rp_class $arg0</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FLOAT</div><div class='del'>-    printf "%sT_FLOAT%s: %.16g ", $color_type, $color_end, (((struct RFloat*)($arg0))-&gt;float_value)</div><div class='del'>-    print (struct RFloat *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_STRING</div><div class='del'>-    printf "%sT_STRING%s: ", $color_type, $color_end</div><div class='del'>-    rp_string $arg0 $flags</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_REGEXP</div><div class='del'>-    set $regsrc = ((struct RRegexp*)($arg0))-&gt;src</div><div class='del'>-    set $rsflags = ((struct RBasic*)$regsrc)-&gt;flags</div><div class='del'>-    printf "%sT_REGEXP%s: ", $color_type, $color_end</div><div class='del'>-    set $len = ($rsflags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-            ((struct RString*)$regsrc)-&gt;as.heap.len : \</div><div class='del'>-            (($rsflags &amp; (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|RUBY_FL_USER5|RUBY_FL_USER6)) &gt;&gt; RUBY_FL_USHIFT+2)</div><div class='del'>-    set print address off</div><div class='del'>-    output *(char *)(($rsflags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-	    ((struct RString*)$regsrc)-&gt;as.heap.ptr : \</div><div class='del'>-	    ((struct RString*)$regsrc)-&gt;as.ary) @ $len</div><div class='del'>-    set print address on</div><div class='del'>-    printf " len:%ld ", $len</div><div class='del'>-    if $flags &amp; RUBY_FL_USER6</div><div class='del'>-      printf "(none) "</div><div class='del'>-    end</div><div class='del'>-    if $flags &amp; RUBY_FL_USER5</div><div class='del'>-      printf "(literal) "</div><div class='del'>-    end</div><div class='del'>-    if $flags &amp; RUBY_FL_USER4</div><div class='del'>-      printf "(fixed) "</div><div class='del'>-    end</div><div class='del'>-    printf "encoding:%d ", ($flags &amp; RUBY_ENCODING_MASK) &gt;&gt; RUBY_ENCODING_SHIFT</div><div class='del'>-    print (struct RRegexp *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ARRAY</div><div class='del'>-    if ($flags &amp; RUBY_FL_USER1)</div><div class='del'>-      set $len = (($flags &amp; (RUBY_FL_USER3|RUBY_FL_USER4)) &gt;&gt; (RUBY_FL_USHIFT+3))</div><div class='del'>-      printf "%sT_ARRAY%s: len=%ld ", $color_type, $color_end, $len</div><div class='del'>-      printf "(embed) "</div><div class='del'>-      if ($len == 0)</div><div class='del'>-	printf "{(empty)} "</div><div class='del'>-      else</div><div class='del'>-	print/x *((VALUE*)((struct RArray*)($arg0))-&gt;as.ary) @ $len</div><div class='del'>-	printf " "</div><div class='del'>-      end</div><div class='del'>-    else</div><div class='del'>-      set $len = ((struct RArray*)($arg0))-&gt;as.heap.len</div><div class='del'>-      printf "%sT_ARRAY%s: len=%ld ", $color_type, $color_end, $len</div><div class='del'>-      if ($flags &amp; RUBY_FL_USER2)</div><div class='del'>-	printf "(shared) shared="</div><div class='del'>-	output/x ((struct RArray*)($arg0))-&gt;as.heap.aux.shared</div><div class='del'>-	printf " "</div><div class='del'>-      else</div><div class='del'>-	printf "(ownership) capa=%ld ", ((struct RArray*)($arg0))-&gt;as.heap.aux.capa</div><div class='del'>-      end</div><div class='del'>-      if ($len == 0)</div><div class='del'>-	printf "{(empty)} "</div><div class='del'>-      else</div><div class='del'>-	print/x *((VALUE*)((struct RArray*)($arg0))-&gt;as.heap.ptr) @ $len</div><div class='del'>-	printf " "</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    print (struct RArray *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FIXNUM</div><div class='del'>-    printf "%sT_FIXNUM%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_HASH</div><div class='del'>-    printf "%sT_HASH%s: ", $color_type, $color_end,</div><div class='del'>-    if (((struct RHash *)($arg0))-&gt;basic-&gt;flags &amp; RHASH_ST_TABLE_FLAG)</div><div class='del'>-      printf "st len=%ld ", ((struct RHash *)($arg0))-&gt;as.st-&gt;num_entries</div><div class='del'>-    else</div><div class='del'>-      printf "li len=%ld bound=%ld ", \</div><div class='del'>-        ((((struct RHash *)($arg0))-&gt;basic-&gt;flags &amp; RHASH_ARRAY_LEN_MASK) &gt;&gt; RHASH_ARRAY_LEN_SHIFT), \</div><div class='del'>-        ((((struct RHash *)($arg0))-&gt;basic-&gt;flags &amp; RHASH_ARRAY_BOUND_MASK) &gt;&gt; RHASH_ARRAY_BOUND_SHIFT)</div><div class='del'>-    end</div><div class='del'>-    print (struct RHash *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_STRUCT</div><div class='del'>-    set $len = (($flags &amp; (RUBY_FL_USER1|RUBY_FL_USER2)) ? \</div><div class='del'>-       ($flags &amp; (RUBY_FL_USER1|RUBY_FL_USER2)) &gt;&gt; (RUBY_FL_USHIFT+1) : \</div><div class='del'>-       ((struct RStruct *)($arg0))-&gt;as.heap.len)</div><div class='del'>-    printf "%sT_STRUCT%s: len=%ld ", $color_type, $color_end, $len</div><div class='del'>-    print (struct RStruct *)($arg0)</div><div class='del'>-    output/x *(($flags &amp; (RUBY_FL_USER1|RUBY_FL_USER2)) ? \</div><div class='del'>-              ((struct RStruct *)($arg0))-&gt;as.ary : \</div><div class='del'>-              ((struct RStruct *)($arg0))-&gt;as.heap.ptr) @ $len</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_BIGNUM</div><div class='del'>-    rp_bignum $arg0</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_RATIONAL</div><div class='del'>-    printf "%sT_RATIONAL%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RRational *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_COMPLEX</div><div class='del'>-    printf "%sT_COMPLEX%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RComplex *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FILE</div><div class='del'>-    printf "%sT_FILE%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RFile *)($arg0)</div><div class='del'>-    output *((struct RFile *)($arg0))-&gt;fptr</div><div class='del'>-    printf "\n"</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_TRUE</div><div class='del'>-    printf "%sT_TRUE%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FALSE</div><div class='del'>-    printf "%sT_FALSE%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_DATA</div><div class='del'>-    if ((struct RTypedData *)($arg0))-&gt;typed_flag == 1</div><div class='del'>-      printf "%sT_DATA%s(%s): ", $color_type, $color_end, ((struct RTypedData *)($arg0))-&gt;type-&gt;wrap_struct_name</div><div class='del'>-      print (struct RTypedData *)($arg0)</div><div class='del'>-    else</div><div class='del'>-      printf "%sT_DATA%s: ", $color_type, $color_end</div><div class='del'>-      print (struct RData *)($arg0)</div><div class='del'>-    end</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_MATCH</div><div class='del'>-    printf "%sT_MATCH%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RMatch *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_SYMBOL</div><div class='del'>-    printf "%sT_SYMBOL%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RSymbol *)($arg0)</div><div class='del'>-    set $id_type = ((struct RSymbol *)($arg0))-&gt;id &amp; RUBY_ID_SCOPE_MASK</div><div class='del'>-    if $id_type == RUBY_ID_LOCAL</div><div class='del'>-      printf "l"</div><div class='del'>-    else</div><div class='del'>-    if $id_type == RUBY_ID_INSTANCE</div><div class='del'>-      printf "i"</div><div class='del'>-    else</div><div class='del'>-    if $id_type == RUBY_ID_GLOBAL</div><div class='del'>-      printf "G"</div><div class='del'>-    else</div><div class='del'>-    if $id_type == RUBY_ID_ATTRSET</div><div class='del'>-      printf "a"</div><div class='del'>-    else</div><div class='del'>-    if $id_type == RUBY_ID_CONST</div><div class='del'>-      printf "C"</div><div class='del'>-    else</div><div class='del'>-    if $id_type == RUBY_ID_CLASS</div><div class='del'>-      printf "c"</div><div class='del'>-    else</div><div class='del'>-      printf "j"</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    set $id_fstr = ((struct RSymbol *)($arg0))-&gt;fstr</div><div class='del'>-    rp_string $id_fstr</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_UNDEF</div><div class='del'>-    printf "%sT_UNDEF%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_IMEMO</div><div class='del'>-    printf "%sT_IMEMO%s(", $color_type, $color_end</div><div class='del'>-    output (enum imemo_type)(($flags&gt;&gt;RUBY_FL_USHIFT)&amp;RUBY_IMEMO_MASK)</div><div class='del'>-    printf "): "</div><div class='del'>-    rp_imemo $arg0</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_NODE</div><div class='del'>-    printf "%sT_NODE%s(", $color_type, $color_end</div><div class='del'>-    output (enum node_type)(($flags&amp;RUBY_NODE_TYPEMASK)&gt;&gt;RUBY_NODE_TYPESHIFT)</div><div class='del'>-    printf "): "</div><div class='del'>-    print *(NODE *)($arg0)</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ZOMBIE</div><div class='del'>-    printf "%sT_ZOMBIE%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RData *)($arg0)</div><div class='del'>-  else</div><div class='del'>-    printf "%sunknown%s: ", $color_type, $color_end</div><div class='del'>-    print (struct RBasic *)($arg0)</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-document rp</div><div class='del'>-  Print a Ruby's VALUE.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rp_id</div><div class='del'>-  set $id = (ID)$arg0</div><div class='del'>-  if $id == '!' || $id == '+' || $id == '-' || $id == '*' || $id == '/' || $id == '%' || $id == '&lt;' || $id == '&gt;' || $id == '`'</div><div class='del'>-    printf "(:%c)\n", $id</div><div class='del'>-  else</div><div class='del'>-  if $id == idDot2</div><div class='del'>-    printf "(:..)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idDot3</div><div class='del'>-    printf "(:...)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idUPlus</div><div class='del'>-    printf "(:+@)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idUMinus</div><div class='del'>-    printf "(:-@)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idPow</div><div class='del'>-    printf "(:**)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idCmp</div><div class='del'>-    printf "(:&lt;=&gt;)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idLTLT</div><div class='del'>-    printf "(:&lt;&lt;)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idGTGT</div><div class='del'>-    printf "(:&gt;&gt;)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idLE</div><div class='del'>-    printf "(:&lt;=)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idGE</div><div class='del'>-    printf "(:&gt;=)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idEq</div><div class='del'>-    printf "(:==)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idEqq</div><div class='del'>-    printf "(:===)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idNeq</div><div class='del'>-    printf "(:!=)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idEqTilde</div><div class='del'>-    printf "(:=~)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idNeqTilde</div><div class='del'>-    printf "(:!~)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idAREF</div><div class='del'>-    printf "(:[])\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idASET</div><div class='del'>-    printf "(:[]=)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idCOLON2</div><div class='del'>-    printf "(:'::')\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idANDOP</div><div class='del'>-    printf "(:&amp;&amp;)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idOROP</div><div class='del'>-    printf "(:||)\n"</div><div class='del'>-  else</div><div class='del'>-  if $id == idANDDOT</div><div class='del'>-    printf "(:&amp;.)\n"</div><div class='del'>-  else</div><div class='del'>-    if $id &lt;= tLAST_OP_ID</div><div class='del'>-      printf "O"</div><div class='del'>-    else</div><div class='del'>-      set $id_type = $id &amp; RUBY_ID_SCOPE_MASK</div><div class='del'>-      if $id_type == RUBY_ID_LOCAL</div><div class='del'>-        printf "l"</div><div class='del'>-      else</div><div class='del'>-      if $id_type == RUBY_ID_INSTANCE</div><div class='del'>-        printf "i"</div><div class='del'>-      else</div><div class='del'>-      if $id_type == RUBY_ID_GLOBAL</div><div class='del'>-        printf "G"</div><div class='del'>-      else</div><div class='del'>-      if $id_type == RUBY_ID_ATTRSET</div><div class='del'>-        printf "a"</div><div class='del'>-      else</div><div class='del'>-      if $id_type == RUBY_ID_CONST</div><div class='del'>-        printf "C"</div><div class='del'>-      else</div><div class='del'>-      if $id_type == RUBY_ID_CLASS</div><div class='del'>-        printf "c"</div><div class='del'>-      else</div><div class='del'>-        printf "j"</div><div class='del'>-      end</div><div class='del'>-      end</div><div class='del'>-      end</div><div class='del'>-      end</div><div class='del'>-      end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    printf "(%ld): ", $id</div><div class='del'>-    print_id $id</div><div class='del'>-    echo \n</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-document rp_id</div><div class='del'>-  Print an ID.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define output_string</div><div class='del'>-  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='del'>-  set $len = ($flags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-          ((struct RString*)($arg0))-&gt;as.heap.len : \</div><div class='del'>-          (($flags &amp; (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|RUBY_FL_USER5|RUBY_FL_USER6)) &gt;&gt; RUBY_FL_USHIFT+2)</div><div class='del'>-  if $len &gt; 0</div><div class='del'>-    output *(char *)(($flags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-	    ((struct RString*)($arg0))-&gt;as.heap.ptr : \</div><div class='del'>-	    ((struct RString*)($arg0))-&gt;as.ary) @ $len</div><div class='del'>-  else</div><div class='del'>-    output ""</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define print_string</div><div class='del'>-  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='del'>-  set $len = ($flags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-          ((struct RString*)($arg0))-&gt;as.heap.len : \</div><div class='del'>-          (($flags &amp; (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|RUBY_FL_USER5|RUBY_FL_USER6)) &gt;&gt; RUBY_FL_USHIFT+2)</div><div class='del'>-  if $len &gt; 0</div><div class='del'>-    printf "%s", *(char *)(($flags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-	    ((struct RString*)($arg0))-&gt;as.heap.ptr : \</div><div class='del'>-	    ((struct RString*)($arg0))-&gt;as.ary) @ $len</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rp_string</div><div class='del'>-  output_string $arg0</div><div class='del'>-  printf " bytesize:%ld ", $len</div><div class='del'>-  if !($flags &amp; RUBY_FL_USER1)</div><div class='del'>-    printf "(embed) "</div><div class='del'>-  else</div><div class='del'>-    if ($flags &amp; RUBY_FL_USER2)</div><div class='del'>-      printf "(shared) "</div><div class='del'>-    end</div><div class='del'>-    if ($flags &amp; RUBY_FL_USER3)</div><div class='del'>-      printf "(assoc) "</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  printf "encoding:%d ", ($flags &amp; RUBY_ENCODING_MASK) &gt;&gt; RUBY_ENCODING_SHIFT</div><div class='del'>-  if ($flags &amp; RUBY_ENC_CODERANGE_MASK) == 0</div><div class='del'>-    printf "coderange:unknown "</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_ENC_CODERANGE_MASK) == RUBY_ENC_CODERANGE_7BIT</div><div class='del'>-    printf "coderange:7bit "</div><div class='del'>-  else</div><div class='del'>-  if ($flags &amp; RUBY_ENC_CODERANGE_MASK) == RUBY_ENC_CODERANGE_VALID</div><div class='del'>-    printf "coderange:valid "</div><div class='del'>-  else</div><div class='del'>-    printf "coderange:broken "</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  print (struct RString *)($arg0)</div><div class='del'>-end</div><div class='del'>-document rp_string</div><div class='del'>-  Print the content of a String.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rp_bignum</div><div class='del'>-  set $flags = ((struct RBignum*)($arg0))-&gt;basic.flags</div><div class='del'>-  set $len = (($flags &amp; RUBY_FL_USER2) ? \</div><div class='del'>-       ($flags &amp; (RUBY_FL_USER5|RUBY_FL_USER4|RUBY_FL_USER3)) &gt;&gt; (RUBY_FL_USHIFT+3) : \</div><div class='del'>-       ((struct RBignum*)($arg0))-&gt;as.heap.len)</div><div class='del'>-  printf "%sT_BIGNUM%s: sign=%d len=%ld ", $color_type, $color_end, \</div><div class='del'>-         (($flags &amp; RUBY_FL_USER1) != 0), $len</div><div class='del'>-  if $flags &amp; RUBY_FL_USER2</div><div class='del'>-    printf "(embed) "</div><div class='del'>-  end</div><div class='del'>-  print (struct RBignum *)($arg0)</div><div class='del'>-  set $ptr = (($flags &amp; RUBY_FL_USER2) ? \</div><div class='del'>-              ((struct RBignum*)($arg0))-&gt;as.ary : \</div><div class='del'>-              ((struct RBignum*)($arg0))-&gt;as.heap.digits)</div><div class='del'>-  set $len = $len-1</div><div class='del'>-  printf "0x%x", $ptr[$len]</div><div class='del'>-  while $len &gt; 0</div><div class='del'>-    set $len = $len-1</div><div class='del'>-    set $val = $ptr[$len]</div><div class='del'>-    set $w = sizeof($ptr[0])</div><div class='del'>-    printf "_"</div><div class='del'>-    if $w &gt; 8</div><div class='del'>-      printf "%.32x", $val</div><div class='del'>-    else</div><div class='del'>-    if $w &gt; 4</div><div class='del'>-      printf "%.16x", $val</div><div class='del'>-    else</div><div class='del'>-    if $w &gt; 2</div><div class='del'>-      printf "%.8x", $val</div><div class='del'>-    else</div><div class='del'>-    if $w &gt; 1</div><div class='del'>-      printf "%.4x", $val</div><div class='del'>-    else</div><div class='del'>-      printf "%.2x", $val</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  printf "\n"</div><div class='del'>-end</div><div class='del'>-document rp_bignum</div><div class='del'>-  Print the content of a Bignum.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rp_class</div><div class='del'>-  printf "(struct RClass *) %p", (void*)$arg0</div><div class='del'>-  if ((struct RClass *)($arg0))-&gt;ptr.origin_ != $arg0</div><div class='del'>-    printf " -&gt; %p", ((struct RClass *)($arg0))-&gt;ptr.origin_</div><div class='del'>-  end</div><div class='del'>-  printf "\n"</div><div class='del'>-  rb_classname $arg0</div><div class='del'>-  print/x *(struct RClass *)($arg0)</div><div class='del'>-  print *((struct RClass *)($arg0))-&gt;ptr</div><div class='del'>-end</div><div class='del'>-document rp_class</div><div class='del'>-  Print the content of a Class/Module.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rp_imemo</div><div class='del'>-  set $flags = (enum imemo_type)((((struct RBasic *)($arg0))-&gt;flags &gt;&gt; RUBY_FL_USHIFT) &amp; RUBY_IMEMO_MASK)</div><div class='del'>-  if $flags == imemo_cref</div><div class='del'>-    printf "(rb_cref_t *) %p\n", (void*)$arg0</div><div class='del'>-    print *(rb_cref_t *)$arg0</div><div class='del'>-  else</div><div class='del'>-  if $flags == imemo_svar</div><div class='del'>-    printf "(struct vm_svar *) %p\n", (void*)$arg0</div><div class='del'>-    print *(struct vm_svar *)$arg0</div><div class='del'>-  else</div><div class='del'>-  if $flags == imemo_throw_data</div><div class='del'>-    printf "(struct vm_throw_data *) %p\n", (void*)$arg0</div><div class='del'>-    print *(struct vm_throw_data *)$arg0</div><div class='del'>-  else</div><div class='del'>-  if $flags == imemo_ifunc</div><div class='del'>-    printf "(struct vm_ifunc *) %p\n", (void*)$arg0</div><div class='del'>-    print *(struct vm_ifunc *)$arg0</div><div class='del'>-  else</div><div class='del'>-  if $flags == imemo_memo</div><div class='del'>-    printf "(struct MEMO *) %p\n", (void*)$arg0</div><div class='del'>-    print *(struct MEMO *)$arg0</div><div class='del'>-  else</div><div class='del'>-  if $flags == imemo_ment</div><div class='del'>-    printf "(rb_method_entry_t *) %p\n", (void*)$arg0</div><div class='del'>-    print *(rb_method_entry_t *)$arg0</div><div class='del'>-  else</div><div class='del'>-  if $flags == imemo_iseq</div><div class='del'>-    printf "(rb_iseq_t *) %p\n", (void*)$arg0</div><div class='del'>-    print *(rb_iseq_t *)$arg0</div><div class='del'>-  else</div><div class='del'>-    printf "(struct RIMemo *) %p\n", (void*)$arg0</div><div class='del'>-    print *(struct RIMemo *)$arg0</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-document rp_imemo</div><div class='del'>-  Print the content of a memo</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_type</div><div class='del'>-  print (enum node_type)((((NODE*)($arg0))-&gt;flags&amp;RUBY_NODE_TYPEMASK)&gt;&gt;RUBY_NODE_TYPESHIFT)</div><div class='del'>-end</div><div class='del'>-document nd_type</div><div class='del'>-  Print a Ruby' node type.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_file</div><div class='del'>-  print ((NODE*)($arg0))-&gt;nd_file</div><div class='del'>-end</div><div class='del'>-document nd_file</div><div class='del'>-  Print the source file name of a node.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_line</div><div class='del'>-  print ((unsigned int)((((NODE*)($arg0))-&gt;flags&gt;&gt;RUBY_NODE_LSHIFT)&amp;RUBY_NODE_LMASK))</div><div class='del'>-end</div><div class='del'>-document nd_line</div><div class='del'>-  Print the source line number of a node.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# Print members of ruby node.</div><div class='del'>-</div><div class='del'>-define nd_head</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_alen</div><div class='del'>-  printf "%su2.argc%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u2.argc</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_next</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_cond</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_body</div><div class='del'>-  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_else</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_orig</div><div class='del'>-  printf "%su3.value%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_resq</div><div class='del'>-  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_ensr</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_1st</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_2nd</div><div class='del'>-  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_stts</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_entry</div><div class='del'>-  printf "%su3.entry%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u3.entry</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_vid</div><div class='del'>-  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u1.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_cflag</div><div class='del'>-  printf "%su2.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u2.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_cval</div><div class='del'>-  printf "%su3.value%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_tbl</div><div class='del'>-  printf "%su1.tbl%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u1.tbl</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_var</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_ibdy</div><div class='del'>-  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_iter</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_value</div><div class='del'>-  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_aid</div><div class='del'>-  printf "%su3.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u3.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_lit</div><div class='del'>-  printf "%su1.value%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_rest</div><div class='del'>-  printf "%su2.argc%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u2.argc</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_opt</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_recv</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_mid</div><div class='del'>-  printf "%su2.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u2.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_args</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_defn</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_old</div><div class='del'>-  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u1.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_new</div><div class='del'>-  printf "%su2.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u2.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_cname</div><div class='del'>-  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u1.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_super</div><div class='del'>-  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u3.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_modl</div><div class='del'>-  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u1.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_clss</div><div class='del'>-  printf "%su1.value%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_beg</div><div class='del'>-  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u1.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_end</div><div class='del'>-  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.node</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_state</div><div class='del'>-  printf "%su3.state%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u3.state</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_rval</div><div class='del'>-  printf "%su2.value%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_nth</div><div class='del'>-  printf "%su2.argc%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u2.argc</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-define nd_tag</div><div class='del'>-  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='del'>-  p ($arg0).u1.id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_tval</div><div class='del'>-  printf "%su2.value%s: ", $color_highlite, $color_end</div><div class='del'>-  rp ($arg0).u2.value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define nd_tree</div><div class='del'>-  set $buf = (struct RString *)rb_str_buf_new(0)</div><div class='del'>-  call dump_node((VALUE)($buf), rb_str_tmp_new(0), 0, ($arg0))</div><div class='del'>-  printf "%s\n", $buf-&gt;as.heap.ptr</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_p</div><div class='del'>-  call rb_p($arg0)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_numtable_entry</div><div class='del'>-  set $rb_numtable_tbl = $arg0</div><div class='del'>-  set $rb_numtable_id = (st_data_t)$arg1</div><div class='del'>-  set $rb_numtable_key = 0</div><div class='del'>-  set $rb_numtable_rec = 0</div><div class='del'>-  if $rb_numtable_tbl-&gt;entries_packed</div><div class='del'>-    set $rb_numtable_p = $rb_numtable_tbl-&gt;as.packed.bins</div><div class='del'>-    while $rb_numtable_p &amp;&amp; $rb_numtable_p &lt; $rb_numtable_tbl-&gt;as.packed.bins+$rb_numtable_tbl-&gt;num_entries</div><div class='del'>-      if $rb_numtable_p.k == $rb_numtable_id</div><div class='del'>-	set $rb_numtable_key = $rb_numtable_p.k</div><div class='del'>-	set $rb_numtable_rec = $rb_numtable_p.v</div><div class='del'>-	set $rb_numtable_p = 0</div><div class='del'>-      else</div><div class='del'>-	set $rb_numtable_p = $rb_numtable_p + 1</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  else</div><div class='del'>-    set $rb_numtable_p = $rb_numtable_tbl-&gt;as.big.bins[st_numhash($rb_numtable_id) % $rb_numtable_tbl-&gt;num_bins]</div><div class='del'>-    while $rb_numtable_p</div><div class='del'>-      if $rb_numtable_p-&gt;key == $rb_numtable_id</div><div class='del'>-	set $rb_numtable_key = $rb_numtable_p-&gt;key</div><div class='del'>-	set $rb_numtable_rec = $rb_numtable_p-&gt;record</div><div class='del'>-	set $rb_numtable_p = 0</div><div class='del'>-      else</div><div class='del'>-	set $rb_numtable_p = $rb_numtable_p-&gt;next</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_id2name</div><div class='del'>-  ruby_gdb_init</div><div class='del'>-  printf "%sID%s: ", $color_type, $color_end</div><div class='del'>-  rp_id $arg0</div><div class='del'>-end</div><div class='del'>-document rb_id2name</div><div class='del'>-  Print the name of id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_method_entry</div><div class='del'>-  set $rb_method_entry_klass = (struct RClass *)$arg0</div><div class='del'>-  set $rb_method_entry_id = (ID)$arg1</div><div class='del'>-  set $rb_method_entry_me = (rb_method_entry_t *)0</div><div class='del'>-  while !$rb_method_entry_me &amp;&amp; $rb_method_entry_klass</div><div class='del'>-    rb_numtable_entry $rb_method_entry_klass-&gt;m_tbl_wrapper-&gt;tbl $rb_method_entry_id</div><div class='del'>-    set $rb_method_entry_me = (rb_method_entry_t *)$rb_numtable_rec</div><div class='del'>-    if !$rb_method_entry_me</div><div class='del'>-      set $rb_method_entry_klass = (struct RClass *)RCLASS_SUPER($rb_method_entry_klass)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  if $rb_method_entry_me</div><div class='del'>-    print *$rb_method_entry_klass</div><div class='del'>-    print *$rb_method_entry_me</div><div class='del'>-  else</div><div class='del'>-    echo method not found\n</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-document rb_method_entry</div><div class='del'>-  Search method entry by class and id</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_classname</div><div class='del'>-  # up to 128bit int</div><div class='del'>-  set $rb_classname = rb_mod_name($arg0)</div><div class='del'>-  if $rb_classname != RUBY_Qnil</div><div class='del'>-    rp $rb_classname</div><div class='del'>-  else</div><div class='del'>-    echo anonymous class/module\n</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_ancestors</div><div class='del'>-  set $rb_ancestors_module = $arg0</div><div class='del'>-  while $rb_ancestors_module</div><div class='del'>-    rp_class $rb_ancestors_module</div><div class='del'>-    set $rb_ancestors_module = RCLASS_SUPER($rb_ancestors_module)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-document rb_ancestors</div><div class='del'>-  Print ancestors.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_backtrace</div><div class='del'>-  call rb_backtrace()</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define iseq</div><div class='del'>-  if ruby_dummy_gdb_enums.special_consts</div><div class='del'>-  end</div><div class='del'>-  if ($arg0)-&gt;type == ISEQ_ELEMENT_NONE</div><div class='del'>-    echo [none]\n</div><div class='del'>-  end</div><div class='del'>-  if ($arg0)-&gt;type == ISEQ_ELEMENT_LABEL</div><div class='del'>-    print *(LABEL*)($arg0)</div><div class='del'>-  end</div><div class='del'>-  if ($arg0)-&gt;type == ISEQ_ELEMENT_INSN</div><div class='del'>-    print *(INSN*)($arg0)</div><div class='del'>-    if ((INSN*)($arg0))-&gt;insn_id != YARVINSN_jump</div><div class='del'>-      set $i = 0</div><div class='del'>-      set $operand_size = ((INSN*)($arg0))-&gt;operand_size</div><div class='del'>-      set $operands = ((INSN*)($arg0))-&gt;operands</div><div class='del'>-      while $i &lt; $operand_size</div><div class='del'>-	rp $operands[$i++]</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  if ($arg0)-&gt;type == ISEQ_ELEMENT_ADJUST</div><div class='del'>-    print *(ADJUST*)($arg0)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_ps</div><div class='del'>-  rb_ps_vm ruby_current_vm_ptr</div><div class='del'>-end</div><div class='del'>-document rb_ps</div><div class='del'>-Dump all threads and their callstacks</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_ps_vm</div><div class='del'>-  print $ps_vm = (rb_vm_t*)$arg0</div><div class='del'>-  set $ps_thread_ln = $ps_vm-&gt;living_threads.n.next</div><div class='del'>-  set $ps_thread_ln_last = $ps_vm-&gt;living_threads.n.prev</div><div class='del'>-  while 1</div><div class='del'>-    set $ps_thread_th = (rb_thread_t *)$ps_thread_ln</div><div class='del'>-    set $ps_thread = (VALUE)($ps_thread_th-&gt;self)</div><div class='del'>-    rb_ps_thread $ps_thread</div><div class='del'>-    if $ps_thread_ln == $ps_thread_ln_last</div><div class='del'>-      loop_break</div><div class='del'>-    end</div><div class='del'>-    set $ps_thread_ln = $ps_thread_ln-&gt;next</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-document rb_ps_vm</div><div class='del'>-Dump all threads in a (rb_vm_t*) and their callstacks</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define print_lineno</div><div class='del'>-  set $cfp = $arg0</div><div class='del'>-  set $iseq = $cfp-&gt;iseq</div><div class='del'>-  set $pos = $cfp-&gt;pc - $iseq-&gt;body-&gt;iseq_encoded</div><div class='del'>-  if $pos != 0</div><div class='del'>-    set $pos = $pos - 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  set $index = 0</div><div class='del'>-  set $size = $iseq-&gt;body-&gt;insns_info.size</div><div class='del'>-  set $table = $iseq-&gt;body-&gt;insns_info.body</div><div class='del'>-  set $positions = $iseq-&gt;body-&gt;insns_info.positions</div><div class='del'>-  #printf "size: %d\n", $size</div><div class='del'>-  if $size == 0</div><div class='del'>-  else</div><div class='del'>-  if $size == 1</div><div class='del'>-    printf "%d", $table[0].line_no</div><div class='del'>-  else</div><div class='del'>-    if $positions</div><div class='del'>-      # get_insn_info_linear_search</div><div class='del'>-      set $index = 1</div><div class='del'>-      while $index &lt; $size</div><div class='del'>-        #printf "table[%d]: position: %d, line: %d, pos: %d\n", $i, $positions[$i], $table[$i].line_no, $pos</div><div class='del'>-        if $positions[$index] &gt; $pos</div><div class='del'>-          loop_break</div><div class='del'>-        end</div><div class='del'>-        set $index = $index + 1</div><div class='del'>-        if $positions[$index] == $pos</div><div class='del'>-          loop_break</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    else</div><div class='del'>-      # get_insn_info_succinct_bitvector</div><div class='del'>-      set $sd = $iseq-&gt;body-&gt;insns_info.succ_index_table</div><div class='del'>-      set $immediate_table_size = sizeof($sd-&gt;imm_part) / sizeof(uint64_t) * 9</div><div class='del'>-      if $pos &lt; $immediate_table_size</div><div class='del'>-        set $i = $pos / 9</div><div class='del'>-        set $j = $pos % 9</div><div class='del'>-        set $index = ((int)($sd-&gt;imm_part[$i] &gt;&gt; ($j * 7))) &amp; 0x7f</div><div class='del'>-      else</div><div class='del'>-        set $block_index = ($pos - $immediate_table_size) / 512</div><div class='del'>-        set $block = &amp;$sd-&gt;succ_part[$block_index]</div><div class='del'>-        set $block_bit_index = ($pos - $immediate_table_size) % 512</div><div class='del'>-        set $small_block_index = $block_bit_index / 64</div><div class='del'>-        set $small_block_popcount = $small_block_index == 0 ? 0 : (((int)($block-&gt;small_block_ranks &gt;&gt; (($small_block_index - 1) * 9))) &amp; 0x1ff)</div><div class='del'>-        set $x = $block-&gt;bits[$small_block_index] &lt;&lt; (63 - $block_bit_index % 64)</div><div class='del'>-        set $x = ($x &amp; 0x5555555555555555) + ($x &gt;&gt; 1 &amp; 0x5555555555555555)</div><div class='del'>-        set $x = ($x &amp; 0x3333333333333333) + ($x &gt;&gt; 2 &amp; 0x3333333333333333)</div><div class='del'>-        set $x = ($x &amp; 0x0707070707070707) + ($x &gt;&gt; 4 &amp; 0x0707070707070707)</div><div class='del'>-        set $x = ($x &amp; 0x001f001f001f001f) + ($x &gt;&gt; 8 &amp; 0x001f001f001f001f)</div><div class='del'>-        set $x = ($x &amp; 0x0000003f0000003f) + ($x &gt;&gt;16 &amp; 0x0000003f0000003f)</div><div class='del'>-        set $popcnt = ($x &amp; 0x7f) + ($x &gt;&gt;32 &amp; 0x7f)</div><div class='del'>-        set $index = $block-&gt;rank + $small_block_popcount + $popcnt</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    printf "%d", $table[$index-1].line_no</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define check_method_entry</div><div class='del'>-  set $imemo = (struct RBasic *)$arg0</div><div class='del'>-  if $imemo != RUBY_Qfalse</div><div class='del'>-    set $type = ($imemo-&gt;flags &gt;&gt; 12) &amp; 0x07</div><div class='del'>-    if $type == imemo_ment</div><div class='del'>-      set $me = (rb_callable_method_entry_t *)$imemo</div><div class='del'>-    else</div><div class='del'>-    if $type == imemo_svar</div><div class='del'>-      set $imemo = ((struct vm_svar *)$imemo)-&gt;cref_or_me</div><div class='del'>-      check_method_entry $imemo</div><div class='del'>-    end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define print_id</div><div class='del'>-  set $id = $arg0</div><div class='del'>-  # rb_id_to_serial</div><div class='del'>-  if $id &gt; tLAST_OP_ID</div><div class='del'>-    set $serial = (rb_id_serial_t)($id &gt;&gt; RUBY_ID_SCOPE_SHIFT)</div><div class='del'>-  else</div><div class='del'>-    set $serial = (rb_id_serial_t)$id</div><div class='del'>-  end</div><div class='del'>-  if $serial &amp;&amp; $serial &lt;= global_symbols.last_id</div><div class='del'>-    set $idx = $serial / ID_ENTRY_UNIT</div><div class='del'>-    set $ids = (struct RArray *)global_symbols.ids</div><div class='del'>-    set $flags = $ids-&gt;basic.flags</div><div class='del'>-    if ($flags &amp; RUBY_FL_USER1)</div><div class='del'>-      set $idsptr = $ids-&gt;as.ary</div><div class='del'>-      set $idslen = (($flags &amp; (RUBY_FL_USER3|RUBY_FL_USER4)) &gt;&gt; (RUBY_FL_USHIFT+3))</div><div class='del'>-    else</div><div class='del'>-      set $idsptr = $ids-&gt;as.heap.ptr</div><div class='del'>-      set $idslen = $ids-&gt;as.heap.len</div><div class='del'>-    end</div><div class='del'>-    if $idx &lt; $idslen</div><div class='del'>-      set $t = 0</div><div class='del'>-      set $ary = (struct RArray *)$idsptr[$idx]</div><div class='del'>-      if $ary != RUBY_Qnil</div><div class='del'>-        set $flags = $ary-&gt;basic.flags</div><div class='del'>-        if ($flags &amp; RUBY_FL_USER1)</div><div class='del'>-          set $aryptr = $ary-&gt;as.ary</div><div class='del'>-          set $arylen = (($flags &amp; (RUBY_FL_USER3|RUBY_FL_USER4)) &gt;&gt; (RUBY_FL_USHIFT+3))</div><div class='del'>-        else</div><div class='del'>-          set $aryptr = $ary-&gt;as.heap.ptr</div><div class='del'>-          set $arylen = $ary-&gt;as.heap.len</div><div class='del'>-        end</div><div class='del'>-        set $result = $aryptr[($serial % ID_ENTRY_UNIT) * ID_ENTRY_SIZE + $t]</div><div class='del'>-	if $result != RUBY_Qnil</div><div class='del'>-          print_string $result</div><div class='del'>-	else</div><div class='del'>-	  echo undef</div><div class='del'>-	end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define print_pathobj</div><div class='del'>-  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_STRING</div><div class='del'>-    print_string $arg0</div><div class='del'>-  end</div><div class='del'>-  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ARRAY</div><div class='del'>-    if $flags &amp; RUBY_FL_USER1</div><div class='del'>-      set $str = ((struct RArray*)($arg0))-&gt;as.ary[0]</div><div class='del'>-    else</div><div class='del'>-      set $str = ((struct RArray*)($arg0))-&gt;as.heap.ptr[0]</div><div class='del'>-    end</div><div class='del'>-    print_string $str</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_ps_thread</div><div class='del'>-  set $ps_thread = (struct RTypedData*)$arg0</div><div class='del'>-  set $ps_thread_th = (rb_thread_t*)$ps_thread-&gt;data</div><div class='del'>-  printf "* #&lt;Thread:%p rb_thread_t:%p native_thread:%p&gt;\n", \</div><div class='del'>-    $ps_thread, $ps_thread_th, $ps_thread_th-&gt;thread_id</div><div class='del'>-  set $cfp = $ps_thread_th-&gt;ec-&gt;cfp</div><div class='del'>-  set $cfpend = (rb_control_frame_t *)($ps_thread_th-&gt;ec-&gt;vm_stack + $ps_thread_th-&gt;ec-&gt;vm_stack_size)-1</div><div class='del'>-  while $cfp &lt; $cfpend</div><div class='del'>-    if $cfp-&gt;iseq</div><div class='del'>-      if !((VALUE)$cfp-&gt;iseq &amp; RUBY_IMMEDIATE_MASK) &amp;&amp; (((imemo_ifunc &lt;&lt; RUBY_FL_USHIFT) | RUBY_T_IMEMO)==$cfp-&gt;iseq-&gt;flags &amp; ((RUBY_IMEMO_MASK &lt;&lt; RUBY_FL_USHIFT) | RUBY_T_MASK))</div><div class='del'>-        printf "%d:ifunc ", $cfpend-$cfp</div><div class='del'>-        set print symbol-filename on</div><div class='del'>-        output/a $cfp-&gt;iseq.body</div><div class='del'>-        set print symbol-filename off</div><div class='del'>-        printf "\n"</div><div class='del'>-      else</div><div class='del'>-      if $cfp-&gt;pc</div><div class='del'>-        set $location = $cfp-&gt;iseq-&gt;body-&gt;location</div><div class='del'>-        printf "%d:", $cfpend-$cfp</div><div class='del'>-        print_pathobj $location.pathobj</div><div class='del'>-        printf ":"</div><div class='del'>-        print_lineno $cfp</div><div class='del'>-        printf ":in `"</div><div class='del'>-        print_string $location.label</div><div class='del'>-        printf "'\n"</div><div class='del'>-      else</div><div class='del'>-        printf "%d: ???.rb:???:in `???'\n", $cfpend-$cfp</div><div class='del'>-      end</div><div class='del'>-      end</div><div class='del'>-    else</div><div class='del'>-      # if VM_FRAME_TYPE($cfp-&gt;flag) == VM_FRAME_MAGIC_CFUNC</div><div class='del'>-      set $ep = $cfp-&gt;ep</div><div class='del'>-      if ($ep[0] &amp; 0xffff0001) == 0x55550001</div><div class='del'>-        #define VM_ENV_FLAG_LOCAL 0x02</div><div class='del'>-        #define VM_ENV_PREV_EP(ep)   GC_GUARDED_PTR_REF(ep[VM_ENV_DATA_INDEX_SPECVAL])</div><div class='del'>-        set $me = 0</div><div class='del'>-        set $env_specval = $ep[-1]</div><div class='del'>-        set $env_me_cref = $ep[-2]</div><div class='del'>-        while ($env_specval &amp; 0x02) != 0</div><div class='del'>-          check_method_entry $env_me_cref</div><div class='del'>-          if $me != 0</div><div class='del'>-            loop_break</div><div class='del'>-          end</div><div class='del'>-          set $ep = $ep[0]</div><div class='del'>-          set $env_specval = $ep[-1]</div><div class='del'>-          set $env_me_cref = $ep[-2]</div><div class='del'>-        end</div><div class='del'>-        if $me == 0</div><div class='del'>-          check_method_entry $env_me_cref</div><div class='del'>-        end</div><div class='del'>-        printf "%d:", $cfpend-$cfp</div><div class='del'>-        set print symbol-filename on</div><div class='del'>-        output/a $me-&gt;def-&gt;body.cfunc.func</div><div class='del'>-        set print symbol-filename off</div><div class='del'>-        set $mid = $me-&gt;def-&gt;original_id</div><div class='del'>-        printf ":in `"</div><div class='del'>-        print_id $mid</div><div class='del'>-        printf "'\n"</div><div class='del'>-      else</div><div class='del'>-        printf "%d:unknown_frame:???:in `???'\n", $cfpend-$cfp</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    set $cfp = $cfp + 1</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rb_count_objects</div><div class='del'>-  set $objspace = ruby_current_vm_ptr-&gt;objspace</div><div class='del'>-  set $counts_00 = 0</div><div class='del'>-  set $counts_01 = 0</div><div class='del'>-  set $counts_02 = 0</div><div class='del'>-  set $counts_03 = 0</div><div class='del'>-  set $counts_04 = 0</div><div class='del'>-  set $counts_05 = 0</div><div class='del'>-  set $counts_06 = 0</div><div class='del'>-  set $counts_07 = 0</div><div class='del'>-  set $counts_08 = 0</div><div class='del'>-  set $counts_09 = 0</div><div class='del'>-  set $counts_0a = 0</div><div class='del'>-  set $counts_0b = 0</div><div class='del'>-  set $counts_0c = 0</div><div class='del'>-  set $counts_0d = 0</div><div class='del'>-  set $counts_0e = 0</div><div class='del'>-  set $counts_0f = 0</div><div class='del'>-  set $counts_10 = 0</div><div class='del'>-  set $counts_11 = 0</div><div class='del'>-  set $counts_12 = 0</div><div class='del'>-  set $counts_13 = 0</div><div class='del'>-  set $counts_14 = 0</div><div class='del'>-  set $counts_15 = 0</div><div class='del'>-  set $counts_16 = 0</div><div class='del'>-  set $counts_17 = 0</div><div class='del'>-  set $counts_18 = 0</div><div class='del'>-  set $counts_19 = 0</div><div class='del'>-  set $counts_1a = 0</div><div class='del'>-  set $counts_1b = 0</div><div class='del'>-  set $counts_1c = 0</div><div class='del'>-  set $counts_1d = 0</div><div class='del'>-  set $counts_1e = 0</div><div class='del'>-  set $counts_1f = 0</div><div class='del'>-  set $total = 0</div><div class='del'>-  set $i = 0</div><div class='del'>-  while $i &lt; $objspace-&gt;heap_pages.allocated_pages</div><div class='del'>-    printf "\rcounting... %d/%d", $i, $objspace-&gt;heap_pages.allocated_pages</div><div class='del'>-    set $page = $objspace-&gt;heap_pages.sorted[$i]</div><div class='del'>-    set $p = $page-&gt;start</div><div class='del'>-    set $pend = $p + $page-&gt;total_slots</div><div class='del'>-    while $p &lt; $pend</div><div class='del'>-      set $flags = $p-&gt;as.basic.flags &amp; 0x1f</div><div class='del'>-      eval "set $counts_%02x = $counts_%02x + 1", $flags, $flags</div><div class='del'>-      set $p = $p + 1</div><div class='del'>-    end</div><div class='del'>-    set $total = $total + $page-&gt;total_slots</div><div class='del'>-    set $i = $i + 1</div><div class='del'>-  end</div><div class='del'>-  printf "\rTOTAL: %d, FREE: %d\n", $total, $counts_00</div><div class='del'>-  printf "T_OBJECT: %d\n", $counts_01</div><div class='del'>-  printf "T_CLASS: %d\n", $counts_02</div><div class='del'>-  printf "T_MODULE: %d\n", $counts_03</div><div class='del'>-  printf "T_FLOAT: %d\n", $counts_04</div><div class='del'>-  printf "T_STRING: %d\n", $counts_05</div><div class='del'>-  printf "T_REGEXP: %d\n", $counts_06</div><div class='del'>-  printf "T_ARRAY: %d\n", $counts_07</div><div class='del'>-  printf "T_HASH: %d\n", $counts_08</div><div class='del'>-  printf "T_STRUCT: %d\n", $counts_09</div><div class='del'>-  printf "T_BIGNUM: %d\n", $counts_0a</div><div class='del'>-  printf "T_FILE: %d\n", $counts_0b</div><div class='del'>-  printf "T_DATA: %d\n", $counts_0c</div><div class='del'>-  printf "T_MATCH: %d\n", $counts_0d</div><div class='del'>-  printf "T_COMPLEX: %d\n", $counts_0e</div><div class='del'>-  printf "T_RATIONAL: %d\n", $counts_0f</div><div class='del'>-  #printf "UNKNOWN_10: %d\n", $counts_10</div><div class='del'>-  printf "T_NIL: %d\n", $counts_11</div><div class='del'>-  printf "T_TRUE: %d\n", $counts_12</div><div class='del'>-  printf "T_FALSE: %d\n", $counts_13</div><div class='del'>-  printf "T_SYMBOL: %d\n", $counts_14</div><div class='del'>-  printf "T_FIXNUM: %d\n", $counts_15</div><div class='del'>-  printf "T_UNDEF: %d\n", $counts_16</div><div class='del'>-  #printf "UNKNOWN_17: %d\n", $counts_17</div><div class='del'>-  #printf "UNKNOWN_18: %d\n", $counts_18</div><div class='del'>-  #printf "UNKNOWN_19: %d\n", $counts_19</div><div class='del'>-  printf "T_IMEMO: %d\n", $counts_1a</div><div class='del'>-  printf "T_NODE: %d\n", $counts_1b</div><div class='del'>-  printf "T_ICLASS: %d\n", $counts_1c</div><div class='del'>-  printf "T_ZOMBIE: %d\n", $counts_1d</div><div class='del'>-  #printf "UNKNOWN_1E: %d\n", $counts_1e</div><div class='del'>-  printf "T_MASK: %d\n", $counts_1f</div><div class='del'>-end</div><div class='del'>-document rb_count_objects</div><div class='del'>-  Counts all objects grouped by type.</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# Details: https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/MachineInstructionsTraceWithGDB</div><div class='del'>-define trace_machine_instructions</div><div class='del'>-  set logging on</div><div class='del'>-  set height 0</div><div class='del'>-  set width 0</div><div class='del'>-  display/i $pc</div><div class='del'>-  while !$exit_code</div><div class='del'>-    info line *$pc</div><div class='del'>-    si</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define SDR</div><div class='del'>-  call rb_vmdebug_stack_dump_raw_current()</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define rbi</div><div class='del'>-  if ((LINK_ELEMENT*)$arg0)-&gt;type == ISEQ_ELEMENT_LABEL</div><div class='del'>-    p *(LABEL*)$arg0</div><div class='del'>-  else</div><div class='del'>-  if ((LINK_ELEMENT*)$arg0)-&gt;type == ISEQ_ELEMENT_INSN</div><div class='del'>-    p *(INSN*)$arg0</div><div class='del'>-  else</div><div class='del'>-  if ((LINK_ELEMENT*)$arg0)-&gt;type == ISEQ_ELEMENT_ADJUST</div><div class='del'>-    p *(ADJUST*)$arg0</div><div class='del'>-  else</div><div class='del'>-    print *$arg0</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define dump_node</div><div class='del'>-  set $str = rb_parser_dump_tree($arg0, 0)</div><div class='del'>-  set $flags = ((struct RBasic*)($str))-&gt;flags</div><div class='del'>-  printf "%s", (char *)(($flags &amp; RUBY_FL_USER1) ? \</div><div class='del'>-                        ((struct RString*)$str)-&gt;as.heap.ptr : \</div><div class='del'>-                        ((struct RString*)$str)-&gt;as.ary)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-define print_flags</div><div class='del'>-  printf "RUBY_FL_WB_PROTECTED: %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_WB_PROTECTED ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_PROMOTED0   : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_PROMOTED0 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_PROMOTED1   : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_PROMOTED1 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_FINALIZE    : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_FINALIZE ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_TAINT       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_TAINT ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_UNTRUSTED   : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_UNTRUSTED ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_EXIVAR      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_EXIVAR ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_FREEZE      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_FREEZE ? "1" : "0"</div><div class='del'>-</div><div class='del'>-  printf "RUBY_FL_USER0       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER0 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER1       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER1 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER2       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER2 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER3       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER3 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER4       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER4 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER5       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER5 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER6       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER6 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER7       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER7 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER8       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER8 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER9       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER9 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER10      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER10 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER11      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER11 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER12      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER12 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER13      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER13 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER14      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER14 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER15      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER15 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER16      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER16 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER17      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER17 ? "1" : "0"</div><div class='del'>-  printf "RUBY_FL_USER18      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER18 ? "1" : "0"</div><div class='del'>-end</div><div class='head'>diff --git a/.gitattributes b/.gitattributes<br/>deleted file mode 100644<br/>index 6ca2f89462..0000000000<br/>--- a/<a href='/ruby.git/tree/.gitattributes?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.gitattributes</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-*.gemspec diff=ruby</div><div class='del'>-*.rb diff=ruby</div><div class='del'>-bin svn-properties=svn:ignore=ruby</div><div class='del'>-bin/* diff=ruby</div><div class='del'>-tool/update-deps diff=ruby</div><div class='del'>-tool/make-snapshot diff=ruby</div><div class='head'>diff --git a/.gitignore b/.gitignore<br/>deleted file mode 100644<br/>index 50bf27f28a..0000000000<br/>--- a/<a href='/ruby.git/tree/.gitignore?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.gitignore</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,212 +0,0 @@</div><div class='del'>-*-*-*.def</div><div class='del'>-*-*-*.exp</div><div class='del'>-*-*-*.lib</div><div class='del'>-*.a</div><div class='del'>-*.bak</div><div class='del'>-*.bc</div><div class='del'>-*.bundle</div><div class='del'>-*.dSYM</div><div class='del'>-*.dmyh</div><div class='del'>-*.dylib</div><div class='del'>-*.elc</div><div class='del'>-*.i</div><div class='del'>-*.inc</div><div class='del'>-*.log</div><div class='del'>-*.o</div><div class='del'>-*.obj</div><div class='del'>-*.old</div><div class='del'>-*.orig</div><div class='del'>-*.pch</div><div class='del'>-*.pdb</div><div class='del'>-*.rej</div><div class='del'>-*.s</div><div class='del'>-*.sav</div><div class='del'>-*.sl</div><div class='del'>-*.so</div><div class='del'>-*.swp</div><div class='del'>-*.yarb</div><div class='del'>-*~</div><div class='del'>-.*-*</div><div class='del'>-.*.list</div><div class='del'>-.*.time</div><div class='del'>-.DS_Store</div><div class='del'>-.bundle</div><div class='del'>-.ccmalloc</div><div class='del'>-.ext</div><div class='del'>-.pc</div><div class='del'>-.ppack</div><div class='del'>-.svn</div><div class='del'>-Makefile</div><div class='del'>-cygruby*.def</div><div class='del'>-extconf.h</div><div class='del'>-y.output</div><div class='del'>-y.tab.c</div><div class='del'>-*.gcda</div><div class='del'>-*.gcno</div><div class='del'>-*.gcov</div><div class='del'>-lcov*.info</div><div class='del'>-</div><div class='del'>-# /</div><div class='del'>-/*-fake.rb</div><div class='del'>-/*.dll</div><div class='del'>-/*.exe</div><div class='del'>-/*.res</div><div class='del'>-/*.pc</div><div class='del'>-/*.rc</div><div class='del'>-/*_prelude.c</div><div class='del'>-/COPYING.LIB</div><div class='del'>-/Doxyfile</div><div class='del'>-/GNUmakefile</div><div class='del'>-/README.atheos</div><div class='del'>-/README.fat-patch</div><div class='del'>-/README.v6</div><div class='del'>-/TAGS</div><div class='del'>-/archive</div><div class='del'>-/autom4te*.cache</div><div class='del'>-/automake</div><div class='del'>-/benchmark/benchmark-driver</div><div class='del'>-/beos</div><div class='del'>-/bmlog-*</div><div class='del'>-/breakpoints.gdb</div><div class='del'>-/config.cache</div><div class='del'>-/config.h</div><div class='del'>-/config.h.in</div><div class='del'>-/config.status</div><div class='del'>-/config.status.lineno</div><div class='del'>-/configure</div><div class='del'>-/coverage/simplecov</div><div class='del'>-/coverage/simplecov-html</div><div class='del'>-/coverage/doclie</div><div class='del'>-/coverage/.last_run.json</div><div class='del'>-/coverage/.resultset.json*</div><div class='del'>-/coverage/assets</div><div class='del'>-/coverage/index.html</div><div class='del'>-/doc/capi</div><div class='del'>-/enc.mk</div><div class='del'>-/encdb.h</div><div class='del'>-/exts.mk</div><div class='del'>-/goruby</div><div class='del'>-/id.[ch]</div><div class='del'>-/largefile.h</div><div class='del'>-/lcov-c-out</div><div class='del'>-/lcov-rb-out</div><div class='del'>-/lcov-out</div><div class='del'>-/lex.c</div><div class='del'>-/libruby*.*</div><div class='del'>-/miniprelude.c</div><div class='del'>-/miniruby</div><div class='del'>-/newdate.rb</div><div class='del'>-/newline.c</div><div class='del'>-/newver.rb</div><div class='del'>-/parse.c</div><div class='del'>-/parse.h</div><div class='del'>-/patches</div><div class='del'>-/patches-master</div><div class='del'>-/pitest.rb</div><div class='del'>-/ppack</div><div class='del'>-/prelude.c</div><div class='del'>-/preview</div><div class='del'>-/probes.dmyh</div><div class='del'>-/probes.h</div><div class='del'>-/rbconfig.rb</div><div class='del'>-/rename2.h</div><div class='del'>-/repack</div><div class='del'>-/revision.h</div><div class='del'>-/riscos</div><div class='del'>-/rubicon</div><div class='del'>-/ruby</div><div class='del'>-/ruby-runner</div><div class='del'>-/ruby-runner.h</div><div class='del'>-/ruby-man.rd.gz</div><div class='del'>-/run.gdb</div><div class='del'>-/sizes.c</div><div class='del'>-/test.rb</div><div class='del'>-/test-coverage.dat</div><div class='del'>-/tmp</div><div class='del'>-/transdb.h</div><div class='del'>-/uncommon.mk</div><div class='del'>-/verconf.h</div><div class='del'>-/verconf.mk</div><div class='del'>-/web</div><div class='del'>-/yasmdata.rb</div><div class='del'>-</div><div class='del'>-# /benchmark/</div><div class='del'>-/benchmark/bm_require.data</div><div class='del'>-/benchmark/bmx_*.rb</div><div class='del'>-/benchmark/fasta.output.*</div><div class='del'>-/benchmark/wc.input</div><div class='del'>-</div><div class='del'>-/enc/*.def</div><div class='del'>-/enc/*.exp</div><div class='del'>-/enc/*.lib</div><div class='del'>-/enc/jis/props.h</div><div class='del'>-/enc/unicode/data</div><div class='del'>-</div><div class='del'>-# /coroutine/</div><div class='del'>-!/coroutine/**/*.s</div><div class='del'>-/coroutine/**/.time</div><div class='del'>-</div><div class='del'>-# /enc/trans/</div><div class='del'>-/enc/trans/*.c</div><div class='del'>-/enc/trans/*.def</div><div class='del'>-/enc/trans/*.exp</div><div class='del'>-/enc/trans/*.lib</div><div class='del'>-/enc/trans/.time</div><div class='del'>-</div><div class='del'>-# /exe/</div><div class='del'>-/exe/goruby</div><div class='del'>-/exe/ruby</div><div class='del'>-/exe/.time</div><div class='del'>-</div><div class='del'>-# /ext/</div><div class='del'>-/ext/extinit.c</div><div class='del'>-/ext/configure-ext.mk</div><div class='del'>-/ext/*/exts.mk</div><div class='del'>-</div><div class='del'>-# /ext/-test-/win32/dln/</div><div class='del'>-/ext/-test-/win32/dln/dlntest.dll</div><div class='del'>-/ext/-test-/win32/dln/dlntest.exp</div><div class='del'>-/ext/-test-/win32/dln/dlntest.lib</div><div class='del'>-</div><div class='del'>-# /ext/etc/</div><div class='del'>-/ext/etc/constdefs.h</div><div class='del'>-</div><div class='del'>-# /ext/fiddle/</div><div class='del'>-/ext/fiddle/libffi-*</div><div class='del'>-</div><div class='del'>-# /ext/rbconfig/</div><div class='del'>-/ext/rbconfig/sizeof/sizes.c</div><div class='del'>-/ext/rbconfig/sizeof/limits.c</div><div class='del'>-</div><div class='del'>-# /ext/ripper/</div><div class='del'>-/ext/ripper/eventids1.c</div><div class='del'>-/ext/ripper/eventids2table.c</div><div class='del'>-/ext/ripper/ripper.*</div><div class='del'>-/ext/ripper/ids1</div><div class='del'>-/ext/ripper/ids2</div><div class='del'>-</div><div class='del'>-# /ext/socket/</div><div class='del'>-/ext/socket/constants.h</div><div class='del'>-/ext/socket/constdefs.h</div><div class='del'>-/ext/socket/constdefs.c</div><div class='del'>-</div><div class='del'>-# /gems</div><div class='del'>-/gems/*.gem</div><div class='del'>-/gems/src</div><div class='del'>-/gems/*-*</div><div class='del'>-</div><div class='del'>-# /spec/bundler</div><div class='del'>-/.rspec_status</div><div class='del'>-</div><div class='del'>-# /tool/</div><div class='del'>-/tool/config.guess</div><div class='del'>-/tool/config.sub</div><div class='del'>-</div><div class='del'>-# /win32/</div><div class='del'>-/win32/*.ico</div><div class='del'>-/win32/.time</div><div class='del'>-</div><div class='del'>-# MJIT</div><div class='del'>-/rb_mjit_header.h</div><div class='del'>-/mjit_config.h</div><div class='del'>-/include/ruby-*/*/rb_mjit_min_header-*.h</div><div class='head'>diff --git a/.indent.pro b/.indent.pro<br/>deleted file mode 100644<br/>index 6a207a0554..0000000000<br/>--- a/<a href='/ruby.git/tree/.indent.pro?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.indent.pro</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>--bap</div><div class='del'>--nbbb</div><div class='del'>--nbc</div><div class='del'>--br</div><div class='del'>--nbs</div><div class='del'>--ncdb</div><div class='del'>--ce</div><div class='del'>--cli0.5</div><div class='del'>--ndj</div><div class='del'>--ei</div><div class='del'>--nfc1</div><div class='del'>--i4</div><div class='del'>--l120</div><div class='del'>--lp</div><div class='del'>--npcs</div><div class='del'>--psl</div><div class='del'>--sc</div><div class='del'>--sob</div><div class='del'>-</div><div class='del'>--TID</div><div class='del'>--TVALUE</div><div class='head'>diff --git a/.travis.yml b/.travis.yml<br/>deleted file mode 100644<br/>index 6004cf50db..0000000000<br/>--- a/<a href='/ruby.git/tree/.travis.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>.travis.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,412 +0,0 @@</div><div class='del'>-# Copyright (C) 2011 Urabe, Shyouhei.  All rights reserved.</div><div class='del'>-#</div><div class='del'>-# This file is  a part of the programming language  Ruby.  Permission is hereby</div><div class='del'>-# granted,  to either  redistribute  or  modify this  file,  provided that  the</div><div class='del'>-# conditions  mentioned in  the file  COPYING are  met.  Consult  the  file for</div><div class='del'>-# details.</div><div class='del'>-</div><div class='del'>-# This is  a Travis-CI  build configuration file.   The list  of configurations</div><div class='del'>-# available is located in</div><div class='del'>-#</div><div class='del'>-#     http://about.travis-ci.org/docs/user/build-configuration/</div><div class='del'>-#</div><div class='del'>-# and as Ruby itself is a project written in C language,</div><div class='del'>-#</div><div class='del'>-#     http://about.travis-ci.org/docs/user/languages/c/</div><div class='del'>-#</div><div class='del'>-# is also a good place to look at.</div><div class='del'>-</div><div class='del'>-language: c</div><div class='del'>-</div><div class='del'>-dist: xenial</div><div class='del'>-</div><div class='del'>-osx_image: xcode10.1</div><div class='del'>-</div><div class='del'>-sudo: false</div><div class='del'>-</div><div class='del'>-git:</div><div class='del'>-  quiet: true</div><div class='del'>-</div><div class='del'>-addons:</div><div class='del'>-  apt:</div><div class='del'>-    config:</div><div class='del'>-      retries: true</div><div class='del'>-    update: true</div><div class='del'>-    sources:</div><div class='del'>-      - ubuntu-toolchain-r-test</div><div class='del'>-    packages:</div><div class='del'>-      - gcc-8</div><div class='del'>-      - libffi-dev</div><div class='del'>-      - libgdbm-dev</div><div class='del'>-      - libgmp-dev</div><div class='del'>-      - libjemalloc-dev</div><div class='del'>-      - libncurses5-dev</div><div class='del'>-      - libncursesw5-dev</div><div class='del'>-      - libreadline6-dev</div><div class='del'>-      - libssl-dev</div><div class='del'>-      - libyaml-dev</div><div class='del'>-      - openssl</div><div class='del'>-      - valgrind</div><div class='del'>-      - zlib1g-dev</div><div class='del'>-  homebrew:</div><div class='del'>-    packages:</div><div class='del'>-      - gdbm</div><div class='del'>-      - gmp</div><div class='del'>-      - libffi</div><div class='del'>-      - openssl@1.1</div><div class='del'>-      - zlib</div><div class='del'>-      - ccache</div><div class='del'>-</div><div class='del'>-cache:</div><div class='del'>-  ccache: true</div><div class='del'>-  directories:</div><div class='del'>-    - $HOME/config_2nd</div><div class='del'>-    - $HOME/.downloaded-cache</div><div class='del'>-</div><div class='del'>-env:</div><div class='del'>-  global:</div><div class='del'>-    - CONFIGURE_TTY=no</div><div class='del'>-    - CCACHE_COMPILERCHECK=none</div><div class='del'>-    - CCACHE_NOCOMPRESS=1</div><div class='del'>-    - CCACHE_MAXSIZE=512Mi</div><div class='del'>-    - &gt;-</div><div class='del'>-      NPROC="`case ${TRAVIS_OS_NAME} in</div><div class='del'>-      osx)   sysctl -n hw.activecpu ;;</div><div class='del'>-      linux) nproc ;;</div><div class='del'>-      esac`"</div><div class='del'>-    # JOBS and SETARCH are overridden when necessary; see below.</div><div class='del'>-    - JOBS=-j$((1+${NPROC}))</div><div class='del'>-    - SETARCH=</div><div class='del'>-    - RUBY_PREFIX=/tmp/ruby-prefix</div><div class='del'>-    - GEMS_FOR_TEST='timezone tzinfo'</div><div class='del'>-</div><div class='del'>-.org.ruby-lang.ci.matrix-definitions:</div><div class='del'>-</div><div class='del'>-  - &amp;cron-only</div><div class='del'>-    if: (type = cron) AND (branch = trunk) AND (fork = false)</div><div class='del'>-</div><div class='del'>-  - &amp;make-test-only</div><div class='del'>-    script:</div><div class='del'>-      - $SETARCH make -s test TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"</div><div class='del'>-</div><div class='del'>-  - &amp;linux</div><div class='del'>-    os: linux</div><div class='del'>-    compiler: gcc-8</div><div class='del'>-</div><div class='del'>-  - &amp;osx</div><div class='del'>-    os: osx</div><div class='del'>-    compiler: clang</div><div class='del'>-    before_install:</div><div class='del'>-      - /usr/local/opt/openssl@1.1/bin/openssl version</div><div class='del'>-</div><div class='del'>-  # --------</div><div class='del'>-</div><div class='del'>-  - &amp;x86_64-linux</div><div class='del'>-    name: x86_64-linux</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-</div><div class='del'>-  - &amp;jemalloc</div><div class='del'>-    name: --with-jemalloc</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    env:</div><div class='del'>-      - CONFIG_FLAG='--with-gmp --with-jemalloc --with-valgrind'</div><div class='del'>-</div><div class='del'>-  - &amp;VM_CHECK_MODE</div><div class='del'>-    name: VM_CHECK_MODE=3</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    env:</div><div class='del'>-      - cppflags=-DVM_CHECK_MODE=0x0003</div><div class='del'>-</div><div class='del'>-  - &amp;FIBER_USE_sjlj</div><div class='del'>-    name: FIBER_USE_NATIVE=0</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    env:</div><div class='del'>-      - cppflags=-DFIBER_USE_NATIVE=0</div><div class='del'>-</div><div class='del'>-  - &amp;TOKEN_THREADED_CODE</div><div class='del'>-    name: TOKEN_THREADED_CODE</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    env:</div><div class='del'>-      - cppflags=-DOPT_THREADED_CODE=1</div><div class='del'>-</div><div class='del'>-  - &amp;CALL_THREADED_CODE</div><div class='del'>-    name: CALL_THREADED_CODE</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    env:</div><div class='del'>-      - cppflags=-DOPT_THREADED_CODE=2</div><div class='del'>-</div><div class='del'>-  - &amp;NO_THREADED_CODE</div><div class='del'>-    name: NO_THREADED_CODE</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    env:</div><div class='del'>-      - cppflags=-DOPT_THREADED_CODE=3</div><div class='del'>-</div><div class='del'>-  - &amp;ASAN</div><div class='del'>-    name: -fsanitize=address</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    #&lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    compiler: clang</div><div class='del'>-    env:</div><div class='del'>-      - ASAN_OPTIONS=detect_leaks=0</div><div class='del'>-      - cflags='-march=native -fsanitize=address -fno-omit-frame-pointer'</div><div class='del'>-      - debugflags=-ggdb3</div><div class='del'>-      - optflags=-O1</div><div class='del'>-      - LD=clang</div><div class='del'>-      - LDFLAGS=-fsanitize=address</div><div class='del'>-</div><div class='del'>-  - &amp;MSAN</div><div class='del'>-    name: -fsanitize=memory</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    #&lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    compiler: clang</div><div class='del'>-    env:</div><div class='del'>-      - cflags='-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer'</div><div class='del'>-      - optflags=-O1</div><div class='del'>-      - LD=clang</div><div class='del'>-      - LDFLAGS=-fsanitize=memory</div><div class='del'>-      - CONFIG_FLAG=--with-out-ext=openssl</div><div class='del'>-</div><div class='del'>-  - &amp;UBSAN</div><div class='del'>-    name: -fsanitize=undefined</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    #&lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    compiler: clang</div><div class='del'>-    env:</div><div class='del'>-      - cflags='-fsanitize=undefined,integer,nullability -fno-omit-frame-pointer'</div><div class='del'>-      - cppflags=-DUNALIGNED_WORD_ACCESS=0</div><div class='del'>-      - debugflags=-ggdb3</div><div class='del'>-      - optflags='-O1 -march=native'</div><div class='del'>-      - LD=clang</div><div class='del'>-      - LDFLAGS=-fsanitize=undefined,integer,nullability</div><div class='del'>-</div><div class='del'>-  - &amp;i686-linux</div><div class='del'>-    name: i686-linux</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    sudo: required</div><div class='del'>-    env:</div><div class='del'>-      - GCC_FLAGS=-m32</div><div class='del'>-      - debugflags=-g0</div><div class='del'>-      - SETARCH='setarch i686 --verbose --3gb'</div><div class='del'>-    addons:</div><div class='del'>-      apt:</div><div class='del'>-        config:</div><div class='del'>-          retries: true</div><div class='del'>-        update: true</div><div class='del'>-        sources:</div><div class='del'>-          - ubuntu-toolchain-r-test</div><div class='del'>-        packages:</div><div class='del'>-          - gcc-8-multilib</div><div class='del'>-          - libffi-dev:i386</div><div class='del'>-          - libffi6:i386</div><div class='del'>-          - libgdbm-dev:i386</div><div class='del'>-          - libgdbm3:i386</div><div class='del'>-          - libncurses5-dev:i386</div><div class='del'>-          - libncurses5:i386</div><div class='del'>-          - libncursesw5-dev:i386</div><div class='del'>-          - libreadline6-dev:i386</div><div class='del'>-          - libreadline6:i386</div><div class='del'>-          - libssl-dev:i386</div><div class='del'>-          - libssl1.0.0:i386</div><div class='del'>-          - linux-libc-dev:i386</div><div class='del'>-          - zlib1g-dev:i386</div><div class='del'>-          - zlib1g:i386</div><div class='del'>-</div><div class='del'>-  - &amp;pedanticism</div><div class='del'>-    name: -ansi -pedantic</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    compiler: clang</div><div class='del'>-    env:</div><div class='del'>-      - GCC_FLAGS='-ansi -Werror=pedantic -pedantic-errors -std=iso9899:1990'</div><div class='del'>-      - CONFIG_FLAG=</div><div class='del'>-      - JOBS=</div><div class='del'>-      - &gt;-</div><div class='del'>-        warnflags='</div><div class='del'>-        -Wall</div><div class='del'>-        -Wextra</div><div class='del'>-        -Werror=declaration-after-statement</div><div class='del'>-        -Werror=deprecated-declarations</div><div class='del'>-        -Werror=division-by-zero</div><div class='del'>-        -Werror=extra-tokens</div><div class='del'>-        -Werror=implicit-function-declaration</div><div class='del'>-        -Werror=implicit-int</div><div class='del'>-        -Werror=long-long</div><div class='del'>-        -Werror=pointer-arith</div><div class='del'>-        -Werror=shorten-64-to-32</div><div class='del'>-        -Werror=write-strings</div><div class='del'>-        -Wmissing-noreturn</div><div class='del'>-        -Wno-constant-logical-operand</div><div class='del'>-        -Wno-missing-field-initializers</div><div class='del'>-        -Wno-overlength-strings</div><div class='del'>-        -Wno-parentheses-equality</div><div class='del'>-        -Wno-self-assign</div><div class='del'>-        -Wno-tautological-compare</div><div class='del'>-        -Wno-unused-local-typedef</div><div class='del'>-        -Wno-unused-parameter</div><div class='del'>-        -Wunused-variable</div><div class='del'>-        '</div><div class='del'>-      - LDFLAGS=-Wno-unused-command-line-argument</div><div class='del'>-</div><div class='del'>-  - &amp;rubyspec</div><div class='del'>-    name: ruby/spec on Ruby 2.3 # to ensure version guards are correctly added</div><div class='del'>-    &lt;&lt;: *linux</div><div class='del'>-    language: ruby</div><div class='del'>-    rvm: 2.3.8</div><div class='del'>-    addons:</div><div class='del'>-      apt:</div><div class='del'>-        packages:</div><div class='del'>-    before_install:</div><div class='del'>-    install:</div><div class='del'>-    before_script: chmod -R u+w spec/ruby</div><div class='del'>-    # -j randomly hangs. Using -fs to make sure we can know problematic spec on failure.</div><div class='del'>-    script: ruby -C spec/ruby ../mspec/bin/mspec -fs .</div><div class='del'>-</div><div class='del'>-  - &amp;x86_64-darwin17</div><div class='del'>-    name: x86_64-darwin17</div><div class='del'>-    &lt;&lt;: *osx</div><div class='del'>-    env:</div><div class='del'>-      - CONFIG_FLAG=--with-opt-dir=/usr/local/opt/openssl@1.1:/usr/local/opt/zlib</div><div class='del'>-      - TEST_ALL_OPTS="$JOBS -q --tty=no --excludes=\$(TESTSDIR)/excludes/_travis/osx"</div><div class='del'>-</div><div class='del'>-  - &amp;universal-darwin17</div><div class='del'>-    name: uinversal.x86_64h-darwin17</div><div class='del'>-    &lt;&lt;: *osx</div><div class='del'>-    &lt;&lt;: *cron-only</div><div class='del'>-    &lt;&lt;: *make-test-only</div><div class='del'>-    env:</div><div class='del'>-      - CONFIG_FLAG=--with-arch=x86_64h,x86_64,i386</div><div class='del'>-      - TEST_ALL_OPTS="$JOBS -q --tty=no --excludes=\$(TESTSDIR)/excludes/_travis/osx"</div><div class='del'>-</div><div class='del'>-matrix:</div><div class='del'>-  include:</div><div class='del'>-    # to reduce time for finishing all jobs, run the slowest osx build first.</div><div class='del'>-    - &lt;&lt;: *x86_64-darwin17</div><div class='del'>-    - &lt;&lt;: *x86_64-linux</div><div class='del'>-    - &lt;&lt;: *i686-linux</div><div class='del'>-    - &lt;&lt;: *jemalloc</div><div class='del'>-    - &lt;&lt;: *pedanticism</div><div class='del'>-    - &lt;&lt;: *ASAN</div><div class='del'>-    - &lt;&lt;: *MSAN</div><div class='del'>-    - &lt;&lt;: *UBSAN</div><div class='del'>-    - &lt;&lt;: *VM_CHECK_MODE</div><div class='del'>-    - &lt;&lt;: *FIBER_USE_sjlj</div><div class='del'>-    - &lt;&lt;: *TOKEN_THREADED_CODE</div><div class='del'>-    - &lt;&lt;: *CALL_THREADED_CODE</div><div class='del'>-    - &lt;&lt;: *NO_THREADED_CODE</div><div class='del'>-    - &lt;&lt;: *rubyspec</div><div class='del'>-  allow_failures:</div><div class='del'>-    - name: uinversal.x86_64h-darwin17</div><div class='del'>-    - name: -fsanitize=address</div><div class='del'>-    - name: -fsanitize=memory</div><div class='del'>-    - name: -fsanitize=undefined</div><div class='del'>-  fast_finish: true</div><div class='del'>-</div><div class='del'>-before_script:</div><div class='del'>-  - echo JOBS=${JOBS} SETARCH=${SETARCH}</div><div class='del'>-  - $SETARCH uname -a</div><div class='del'>-  - $SETARCH uname -r</div><div class='del'>-  - rm -fr .ext autom4te.cache</div><div class='del'>-  - echo $TERM</div><div class='del'>-  - |-</div><div class='del'>-    [ -d ~/.downloaded-cache ] ||</div><div class='del'>-    mkdir ~/.downloaded-cache</div><div class='del'>-  - ln -s ~/.downloaded-cache</div><div class='del'>-  - "&gt; config.status"</div><div class='del'>-  - sed -f tool/prereq.status Makefile.in common.mk &gt; Makefile</div><div class='del'>-  - make -s $JOBS update-download</div><div class='del'>-  - make -s $JOBS srcs</div><div class='del'>-  - rm config.status Makefile rbconfig.rb .rbconfig.time</div><div class='del'>-  - |-</div><div class='del'>-    if [ -d ~/config_2nd ]; then</div><div class='del'>-      cp -pr ~/config_2nd build</div><div class='del'>-    else</div><div class='del'>-      mkdir build</div><div class='del'>-    fi</div><div class='del'>-  - mkdir config_1st config_2nd</div><div class='del'>-  - chmod -R a-w .</div><div class='del'>-  - chmod -R u+w build config_1st config_2nd</div><div class='del'>-  - cd build</div><div class='del'>-  - ccache --show-stats</div><div class='del'>-  - |-</div><div class='del'>-    case "$CC" in</div><div class='del'>-    gcc*)   CC="ccache $CC${GCC_FLAGS:+ }$GCC_FLAGS -fno-diagnostics-color";;</div><div class='del'>-    clang*) CC="ccache $CC${GCC_FLAGS:+ }$GCC_FLAGS -fno-color-diagnostics";;</div><div class='del'>-    esac</div><div class='del'>-  - |-</div><div class='del'>-    [ ! -f config.cache ] ||</div><div class='del'>-    [ "$CC" = "`sed -n s/^ac_cv_prog_CC=//p config.cache`" ] ||</div><div class='del'>-    (set -x; exec rm config.cache)</div><div class='del'>-  - $SETARCH ../configure -C --disable-install-doc --prefix=$RUBY_PREFIX $CONFIG_FLAG</div><div class='del'>-  - cp -pr config.cache config.status .ext/include ../config_1st</div><div class='del'>-  - $SETARCH make reconfig</div><div class='del'>-  - cp -pr config.cache config.status .ext/include ../config_2nd</div><div class='del'>-  - (cd .. &amp;&amp; exec diff -ru config_1st config_2nd)</div><div class='del'>-  - chmod u+w ..</div><div class='del'>-  - rm -rf ~/config_2nd</div><div class='del'>-  - mv ../config_2nd ~</div><div class='del'>-  - chmod u-w ..</div><div class='del'>-  - $SETARCH make -s $JOBS &amp;&amp; make install</div><div class='del'>-  - ccache --show-stats</div><div class='del'>-  - |-</div><div class='del'>-    [ -z "${GEMS_FOR_TEST}" ] ||</div><div class='del'>-    $RUBY_PREFIX/bin/gem install --no-document $GEMS_FOR_TEST</div><div class='del'>-</div><div class='del'>-script:</div><div class='del'>-  - $SETARCH make -s test TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"</div><div class='del'>-  - $SETARCH make -s test-all -o exts TESTOPTS="${TEST_ALL_OPTS=$TESTOPTS}"</div><div class='del'>-  - $SETARCH make -s test-spec MSPECOPT=-ff # not using `-j` because sometimes `mspec -j` silently dies</div><div class='del'>-</div><div class='del'>-# Branch matrix.  Not all branches are Travis-ready so we limit branches here.</div><div class='del'>-branches:</div><div class='del'>-  only:</div><div class='del'>-    - trunk</div><div class='del'>-    - ruby_2_3</div><div class='del'>-    - ruby_2_4</div><div class='del'>-    - ruby_2_5</div><div class='del'>-    - /^feature\//</div><div class='del'>-    - /^bug\//</div><div class='del'>-    - /^travis-/</div><div class='del'>-</div><div class='del'>-# We want to be notified when something happens.</div><div class='del'>-notifications:</div><div class='del'>-  irc:</div><div class='del'>-    channels:</div><div class='del'>-      - "chat.freenode.net#ruby-core"</div><div class='del'>-      - "chat.freenode.net#ruby-ja"</div><div class='del'>-    on_success: change # [always|never|change] # default: always</div><div class='del'>-    on_failure: always # [always|never|change] # default: always</div><div class='del'>-    template:</div><div class='del'>-      - "%{message} by @%{author}: See %{build_url}"</div><div class='del'>-</div><div class='del'>-  slack:</div><div class='del'>-    rooms:</div><div class='del'>-      - secure: i1GLETSKye85ea6dGNA3MxI/5myChmMFiZtBd5C69xK+s1sBFqEgOSbaSf9KHc0CYrHVyNhQMaZRruieV7xS+6Pfs0Zvxf1DO6QQTWC2KhkqwFDLvZncAzjoyASdR90hbr+iRPOngQ+HJuE94zemALAwEqNAinzA74PMiJXktqY= # ruby:&lt;token&gt;#commits</div><div class='del'>-      - secure: ah7UEHBvncXT7bM5mvYIQAO+tIyV/wl7nXLb7wQD16dO2v8Gragy0mWjB79Q09hrrMGmp6H9bCDpdGS80boIA5EHaHoG4QaP0i9bsSt8U2AMWgZtfyIgQKJ4H2kXkGlrjO+AXTgnIkP7LNjdgAVUUTGQPb26T3QmoN2Splt+fIQ= # ruby:&lt;token&gt;#alerts</div><div class='del'>-    on_pull_requests: false</div><div class='del'>-    on_success: change</div><div class='del'>-    on_failure: always</div><div class='del'>-</div><div class='del'>-  email:</div><div class='del'>-    - ko1c-failure@atdot.net</div><div class='del'>-</div><div class='del'>-# Local Variables:</div><div class='del'>-# mode: YAML</div><div class='del'>-# coding: utf-8-unix</div><div class='del'>-# indent-tabs-mode: nil</div><div class='del'>-# tab-width: 4</div><div class='del'>-# fill-column: 79</div><div class='del'>-# default-justification: full</div><div class='del'>-# End:</div><div class='head'>diff --git a/BSDL b/BSDL<br/>deleted file mode 100644<br/>index a009caefea..0000000000<br/>--- a/<a href='/ruby.git/tree/BSDL?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>BSDL</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.</div><div class='del'>-</div><div class='del'>-Redistribution and use in source and binary forms, with or without</div><div class='del'>-modification, are permitted provided that the following conditions</div><div class='del'>-are met:</div><div class='del'>-1. Redistributions of source code must retain the above copyright</div><div class='del'>-notice, this list of conditions and the following disclaimer.</div><div class='del'>-2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-notice, this list of conditions and the following disclaimer in the</div><div class='del'>-documentation and/or other materials provided with the distribution.</div><div class='del'>-</div><div class='del'>-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='del'>-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-SUCH DAMAGE.</div><div class='head'>diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md<br/>deleted file mode 100644<br/>index ffdf2dd4b8..0000000000<br/>--- a/<a href='/ruby.git/tree/CONTRIBUTING.md?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>CONTRIBUTING.md</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-Please see the [official issue tracker] and wiki [HowToContribute].</div><div class='del'>-</div><div class='del'>-[official issue tracker]: https://bugs.ruby-lang.org</div><div class='del'>-[HowToContribute]: https://bugs.ruby-lang.org/projects/ruby/wiki/HowToContribute</div><div class='head'>diff --git a/COPYING b/COPYING<br/>index f06056fb45..9043404a83 100644<br/>--- a/<a href='/ruby.git/tree/COPYING?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>COPYING</a><br/>+++ b/<a href='/ruby.git/tree/COPYING?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>COPYING</a></div><div class='hunk'>@@ -1,6 +1,6 @@</div><div class='ctx'> Ruby is copyrighted free software by Yukihiro Matsumoto &lt;matz@netlab.jp&gt;.</div><div class='del'>-You can redistribute it and/or modify it under either the terms of the</div><div class='del'>-2-clause BSDL (see the file BSDL), or the conditions below:</div><div class='add'>+You can redistribute it and/or modify it under either the terms of the GPL</div><div class='add'>+version 2 (see the file GPL), or the conditions below:</div><div class='ctx'> </div><div class='ctx'>   1. You may make and give away verbatim copies of the source form of the</div><div class='ctx'>      software without restriction, provided that you duplicate all of the</div><div class='hunk'>@@ -11,8 +11,8 @@ You can redistribute it and/or modify it under either the terms of the</div><div class='ctx'> </div><div class='ctx'>        a) place your modifications in the Public Domain or otherwise</div><div class='ctx'>           make them Freely Available, such as by posting said</div><div class='del'>-          modifications to Usenet or an equivalent medium, or by allowing</div><div class='del'>-          the author to include your modifications in the software.</div><div class='add'>+	  modifications to Usenet or an equivalent medium, or by allowing</div><div class='add'>+	  the author to include your modifications in the software.</div><div class='ctx'> </div><div class='ctx'>        b) use the modified software only within your corporation or</div><div class='ctx'>           organization.</div><div class='hunk'>@@ -26,11 +26,11 @@ You can redistribute it and/or modify it under either the terms of the</div><div class='ctx'>      provided that you do at least ONE of the following:</div><div class='ctx'> </div><div class='ctx'>        a) distribute the binaries and library files of the software,</div><div class='del'>-          together with instructions (in the manual page or equivalent)</div><div class='del'>-          on where to get the original distribution.</div><div class='add'>+	  together with instructions (in the manual page or equivalent)</div><div class='add'>+	  on where to get the original distribution.</div><div class='ctx'> </div><div class='ctx'>        b) accompany the distribution with the machine-readable source of</div><div class='del'>-          the software.</div><div class='add'>+	  the software.</div><div class='ctx'> </div><div class='ctx'>        c) give non-standard binaries non-standard names, with</div><div class='ctx'>           instructions on where to get the original software distribution.</div><div class='hunk'>@@ -44,9 +44,9 @@ You can redistribute it and/or modify it under either the terms of the</div><div class='ctx'>      For the list of those files and their copying conditions, see the</div><div class='ctx'>      file LEGAL.</div><div class='ctx'> </div><div class='del'>-  5. The scripts and library files supplied as input to or produced as</div><div class='add'>+  5. The scripts and library files supplied as input to or produced as </div><div class='ctx'>      output from the software do not automatically fall under the</div><div class='del'>-     copyright of the software, but belong to whomever generated them,</div><div class='add'>+     copyright of the software, but belong to whomever generated them, </div><div class='ctx'>      and may be sold commercially, and may be aggregated with this</div><div class='ctx'>      software.</div><div class='ctx'> </div><div class='head'>diff --git a/COPYING.ja b/COPYING.ja<br/>index e50d01c8d1..933cc7cb9a 100644<br/>--- a/<a href='/ruby.git/tree/COPYING.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>COPYING.ja</a><br/>+++ b/<a href='/ruby.git/tree/COPYING.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>COPYING.ja</a></div><div class='hunk'>@@ -1,51 +1,51 @@</div><div class='del'>-本プログラムはフリーソフトウェアです．2-clause BSDL</div><div class='del'>-または以下に示す条件で本プログラムを再配布できます</div><div class='del'>-2-clause BSDLについてはBSDLファイルを参照して下さい．</div><div class='add'>+$BK\%W%m%0%i%`$O%U%j!&lt;%=%U%H%&amp;%'%"$G$9!%(BGPL(the GNU General</div><div class='add'>+Public License)$B$^$?$O0J2&lt;$K&lt;($9&gt;r7o$GK\%W%m%0%i%`$r:FG[I[$G(B</div><div class='add'>+$B$-$^$9!%(BGPL$B$K$D$$$F$O(BGPL$B%U%!%$%k$r;2&gt;H$7$F2&lt;$5$$!%(B</div><div class='ctx'> </div><div class='del'>-  1. 複製は制限なく自由です．</div><div class='add'>+  1. $BJ#@=$O@)8B$J$/&lt;+M3$G$9!%(B</div><div class='ctx'> </div><div class='del'>-  2. 以下の条件のいずれかを満たす時に本プログラムのソースを</div><div class='del'>-     自由に変更できます．</div><div class='add'>+  2. $B0J2&lt;$N&gt;r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$N%=!&lt;%9$r(B</div><div class='add'>+     $B&lt;+M3$KJQ99$G$-$^$9!%(B</div><div class='ctx'> </div><div class='del'>-     (a) ネットニューズにポストしたり，作者に変更を送付する</div><div class='del'>-         などの方法で，変更を公開する．</div><div class='add'>+     (a) $B%M%C%H%K%e!&lt;%:$K%]%9%H$7$?$j!$:n&lt;T$KJQ99$rAwIU$9$k(B</div><div class='add'>+         $B$J$I$NJ}K!$G!$JQ99$r8x3+$9$k!%(B</div><div class='ctx'> </div><div class='del'>-     (b) 変更した本プログラムを自分の所属する組織内部だけで</div><div class='del'>-         使う．</div><div class='add'>+     (b) $BJQ99$7$?K\%W%m%0%i%`$r&lt;+J,$N=jB0$9$kAH?%FbIt$@$1$G(B</div><div class='add'>+         $B;H$&amp;!%(B</div><div class='ctx'> </div><div class='del'>-     (c) 変更点を明示したうえ，ソフトウェアの名前を変更する．</div><div class='del'>-         そのソフトウェアを配布する時には変更前の本プログラ</div><div class='del'>-         ムも同時に配布する．または変更前の本プログラムのソー</div><div class='del'>-         スの入手法を明示する．</div><div class='add'>+     (c) $BJQ99E@$rL@&lt;($7$?$&amp;$(!$%=%U%H%&amp;%'%"$NL&gt;A0$rJQ99$9$k!%(B</div><div class='add'>+         $B$=$N%=%U%H%&amp;%'%"$rG[I[$9$k;~$K$OJQ99A0$NK\%W%m%0%i(B</div><div class='add'>+         $B%`$bF1;~$KG[I[$9$k!%$^$?$OJQ99A0$NK\%W%m%0%i%`$N%=!&lt;(B</div><div class='add'>+         $B%9$NF~&lt;jK!$rL@&lt;($9$k!%(B</div><div class='ctx'> </div><div class='del'>-     (d) その他の変更条件を作者と合意する．</div><div class='add'>+     (d) $B$=$NB&gt;$NJQ99&gt;r7o$r:n&lt;T$H9g0U$9$k!%(B</div><div class='ctx'> </div><div class='del'>-  3. 以下の条件のいずれかを満たす時に本プログラムをコンパイ</div><div class='del'>-     ルしたオブジェクトコードや実行形式でも配布できます．</div><div class='add'>+  3. $B0J2&lt;$N&gt;r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$r%3%s%Q%$(B</div><div class='add'>+     $B%k$7$?%*%V%8%'%/%H%3!&lt;%I$d&lt;B9T7A&lt;0$G$bG[I[$G$-$^$9!%(B</div><div class='ctx'> </div><div class='del'>-     (a) バイナリを受け取った人がソースを入手できるように，</div><div class='del'>-         ソースの入手法を明示する．</div><div class='add'>+     (a) $B%P%$%J%j$r&lt;u$1&lt;h$C$??M$,%=!&lt;%9$rF~&lt;j$G$-$k$h$&amp;$K!$(B</div><div class='add'>+         $B%=!&lt;%9$NF~&lt;jK!$rL@&lt;($9$k!%(B</div><div class='ctx'> </div><div class='del'>-     (b) 機械可読なソースコードを添付する．</div><div class='add'>+     (b) $B5!3#2DFI$J%=!&lt;%9%3!&lt;%I$rE:IU$9$k!%(B</div><div class='ctx'> </div><div class='del'>-     (c) 変更を行ったバイナリは名前を変更したうえ，オリジナ</div><div class='del'>-         ルのソースコードの入手法を明示する．</div><div class='add'>+     (c) $BJQ99$r9T$C$?%P%$%J%j$OL&gt;A0$rJQ99$7$?$&amp;$(!$%*%j%8%J(B</div><div class='add'>+         $B%k$N%=!&lt;%9%3!&lt;%I$NF~&lt;jK!$rL@&lt;($9$k!%(B</div><div class='ctx'> </div><div class='del'>-     (d) その他の配布条件を作者と合意する．</div><div class='add'>+     (d) $B$=$NB&gt;$NG[I[&gt;r7o$r:n&lt;T$H9g0U$9$k!%(B</div><div class='ctx'> </div><div class='del'>-  4. 他のプログラムへの引用はいかなる目的であれ自由です．た</div><div class='del'>-     だし，本プログラムに含まれる他の作者によるコードは，そ</div><div class='del'>-     れぞれの作者の意向による制限が加えられる場合があります．</div><div class='add'>+  4. $BB&gt;$N%W%m%0%i%`$X$N0zMQ$O$$$+$J$kL\E*$G$"$l&lt;+M3$G$9!%$?(B</div><div class='add'>+     $B$@$7!$K\%W%m%0%i%`$K4^$^$l$kB&gt;$N:n&lt;T$K$h$k%3!&lt;%I$O!$$=(B</div><div class='add'>+     $B$l$&gt;$l$N:n&lt;T$N0U8~$K$h$k@)8B$,2C$($i$l$k&gt;l9g$,$"$j$^$9!%(B</div><div class='ctx'> </div><div class='del'>-     それらファイルの一覧とそれぞれの配布条件などに付いては</div><div class='del'>-     LEGALファイルを参照してください．</div><div class='add'>+     $B$=$l$i%U%!%$%k$N0lMw$H$=$l$&gt;$l$NG[I[&gt;r7o$J$I$KIU$$$F$O(B</div><div class='add'>+     LEGAL$B%U%!%$%k$r;2&gt;H$7$F$/$@$5$$!%(B</div><div class='ctx'> </div><div class='del'>-  5. 本プログラムへの入力となるスクリプトおよび，本プログラ</div><div class='del'>-     ムからの出力の権利は本プログラムの作者ではなく，それぞ</div><div class='del'>-     れの入出力を生成した人に属します．また，本プログラムに</div><div class='del'>-     組み込まれるための拡張ライブラリについても同様です．</div><div class='add'>+  5. $BK\%W%m%0%i%`$X$NF~NO$H$J$k%9%/%j%W%H$*$h$S!$K\%W%m%0%i(B</div><div class='add'>+     $B%`$+$i$N=PNO$N8"Mx$OK\%W%m%0%i%`$N:n&lt;T$G$O$J$/!$$=$l$&gt;(B</div><div class='add'>+     $B$l$NF~=PNO$r@8@.$7$??M$KB0$7$^$9!%$^$?!$K\%W%m%0%i%`$K(B</div><div class='add'>+     $BAH$_9~$^$l$k$?$a$N3HD%%i%$%V%i%j$K$D$$$F$bF1MM$G$9!%(B</div><div class='ctx'> </div><div class='del'>-  6. 本プログラムは無保証です．作者は本プログラムをサポート</div><div class='del'>-     する意志はありますが，プログラム自身のバグあるいは本プ</div><div class='del'>-     ログラムの実行などから発生するいかなる損害に対しても責</div><div class='del'>-     任を持ちません．</div><div class='add'>+  6. $BK\%W%m%0%i%`$OL5J]&gt;Z$G$9!%:n&lt;T$OK\%W%m%0%i%`$r%5%]!&lt;%H(B</div><div class='add'>+     $B$9$k0U;V$O$"$j$^$9$,!$%W%m%0%i%`&lt;+?H$N%P%0$"$k$$$OK\%W(B</div><div class='add'>+     $B%m%0%i%`$N&lt;B9T$J$I$+$iH/@8$9$k$$$+$J$kB;32$KBP$7$F$b@U(B</div><div class='add'>+     $BG$$r;}$A$^$;$s!%(B</div><div class='head'>diff --git a/ChangeLog b/ChangeLog<br/>new file mode 100644<br/>index 0000000000..4d3870d21c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ChangeLog?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>ChangeLog</a></div><div class='hunk'>@@ -0,0 +1,18831 @@</div><div class='add'>+Sat Feb 24 17:04:01 2007   Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb: updated based on date2 4.0.3.</div><div class='add'>+</div><div class='add'>+Sat Feb 24 17:01:02 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c (cparse_params_mark): remove useless</div><div class='add'>+	  rb_gc_mark.  Thanks Tomoyuki Chikanaga. [ruby-dev:30405]</div><div class='add'>+</div><div class='add'>+Sat Feb 24 16:53:09 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (sighandler): need to tell to be interrupted to main</div><div class='add'>+	  context when handler is installed.</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (rb_win32_interrupted): new function to listen</div><div class='add'>+	  interrupt.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (set_pioinfo_extra): new function for VC++8 SP1</div><div class='add'>+	  workaround. [ruby-core:10259]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (NtInitialize): call above function.</div><div class='add'>+</div><div class='add'>+Fri Feb 23 13:04:43 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_cmp, fix_equal): Remove FIX2LONG() to optimize.</div><div class='add'>+	  suggested in</div><div class='add'>+	  http://t-a-w.blogspot.com/2007/02/making-ruby-faster.html.</div><div class='add'>+	  [ruby-talk:240223]</div><div class='add'>+</div><div class='add'>+Fri Feb 23 12:47:13 2007  James Edward Gray II  &lt;james@grayproductions.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): Make the</div><div class='add'>+	  Content-Length parameter optional for responses in</div><div class='add'>+	  xmlrpc/client.rb; suggested by Daniel Berger</div><div class='add'>+	  &lt;Daniel.Berger@qwest.com&gt; and approved by the maintainer.</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Add DateTime</div><div class='add'>+	  support to xmlrpc; approved by the maintainer.</div><div class='add'>+</div><div class='add'>+Mon Feb 19 18:33:30 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (unix_peeraddr): wrong syscall name in error</div><div class='add'>+	  message for #peeraddr. a patch from Sam Roberts</div><div class='add'>+	  &lt;sroberts at uniserve.com&gt;.  [ruby-core:10366]</div><div class='add'>+</div><div class='add'>+Mon Feb 19 18:27:42 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, defines.h, eval.c (rb_feature_p, rb_provided,</div><div class='add'>+	  load_wait, search_required, rb_require_safe), ext/extmk.rb: Fix</div><div class='add'>+	  a bug where a statically linked extension cannot be autoloaded.</div><div class='add'>+	  [ruby-dev:30023] / [ruby-dev:30239]</div><div class='add'>+</div><div class='add'>+Thu Feb 15 20:31:07 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+ </div><div class='add'>+	* lib/uri/ftp.rb: Revert the previous change pending discussion.</div><div class='add'>+ </div><div class='add'>+Fri Feb 16 11:18:21 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/.document: Apply patch for irb, e2mmap and README by Hugh Sasse</div><div class='add'>+	&lt;hgs at dmu.ac.uk&gt; from [ruby-core:10135]</div><div class='add'>+</div><div class='add'>+	* lib/prettyprint.rb: Suppress RDoc for PrettyPrint test suite.</div><div class='add'>+</div><div class='add'>+Thu Feb 15 18:10:09 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (glob_helper): Fix the function declaration.</div><div class='add'>+</div><div class='add'>+Thu Feb 15 16:55:33 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* version.h: Branch off ruby_1_8_6 from ruby_1_8 in preparation</div><div class='add'>+	  for the forthcoming 1.8.6 release.</div><div class='add'>+</div><div class='add'>+Thu Feb 15 16:44:14 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic::userinfo): Considering how</div><div class='add'>+	  `scheme://user:@...', `scheme://:password@...' and</div><div class='add'>+	  `scheme://:@...' are parsed, an empty user name or password</div><div class='add'>+	  should be allowed and represented as it is.</div><div class='add'>+</div><div class='add'>+Thu Feb 15 11:46:05 2007  KIMURA Koichi  &lt;hogemuta@gmail.com&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c, win32/win32.c, win32/dir.h, ruby.h, intern.h: Bring</div><div class='add'>+	  encoding aware globbing support in from trunk.  Dir.[] and</div><div class='add'>+	  Dir.glob() can now take many patterns in an array.  Minor fixes</div><div class='add'>+	  will follow.</div><div class='add'>+</div><div class='add'>+Thu Feb 15 11:00:26 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic::userinfo): should support</div><div class='add'>+	  empty password.  [ruby-core:10290]</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic::set_password): password can be</div><div class='add'>+	  cleared by nil.  [ruby-core:10290]</div><div class='add'>+</div><div class='add'>+	* lib/uri/common.rb (escape): regard second string argument as a</div><div class='add'>+	  character set properly. [ruby-dev:27692]</div><div class='add'>+</div><div class='add'>+	* lib/uri/ftp.rb: Attempt to conform to RFC 1738 with regard to</div><div class='add'>+	  relative/absolute paths.</div><div class='add'>+</div><div class='add'>+	* lib/uri: Lovely RDOC patches from mathew (metaATpoboxDOTcom).</div><div class='add'>+</div><div class='add'>+Thu Feb 15 10:57:38 2007  Tietew  &lt;tietew@tietew.net&gt;&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::unescapeHTML): invalid decoding for single</div><div class='add'>+	  unescaped ampersand.  a patch from Tietew</div><div class='add'>+	  &lt;tietew+ruby-dev at tietew.net&gt; in [ruby-dev:30292].</div><div class='add'>+	  fixed: [ruby-dev:30289]</div><div class='add'>+</div><div class='add'>+Thu Feb 15 10:48:40 2007  MenTaLguY  &lt;mental@rydia.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread/thread.c: Handle interrupted waits correctly.</div><div class='add'>+	  [ruby-bugs:PR#8663]</div><div class='add'>+</div><div class='add'>+Wed Feb 14 19:22:15 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/lib/digest.rb (Digest::self.const_missing): Drop</div><div class='add'>+	  autoloads for sha2 classes in favor of handling in</div><div class='add'>+	  const_missing(), to work around a problem exposed on OS X.</div><div class='add'>+</div><div class='add'>+Tue Feb 13 02:21:12 2007  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_syscall): Fix buffer overflow with syscall</div><div class='add'>+	  arguments.  [ruby-bugs:PR#8541]</div><div class='add'>+</div><div class='add'>+Sun Feb 11 07:46:45 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::read_multipart): Properly parse</div><div class='add'>+	  a quoted-string in a Content-Disposition value.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 06:27:54 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, ext/thread/extconf.rb, lib/thread.rb: Add a</div><div class='add'>+	  configure option `--disable-fastthread', to choose the original,</div><div class='add'>+	  pure ruby version of the "thread" library instead of the new,</div><div class='add'>+	  much faster implementation in ext/thread.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 06:22:20 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/Setup: Add thread except for platforms without threads</div><div class='add'>+	  support.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 06:15:16 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread/lib/thread.rb: Add a replacement of thread.rb that</div><div class='add'>+	  loads this extension.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 05:39:47 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/thread.rb: Remove an ineffective part of the code.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 05:32:54 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread/thread.c (rb_thread_exclusive): Implement</div><div class='add'>+	  Thread.exclusive.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 05:26:51 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread/thread.c: Get rid of use of a dummy function.</div><div class='add'>+</div><div class='add'>+Sun Feb 11 01:45:31 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread/thread.c (Init_thread): Define missing aliases:</div><div class='add'>+	  Queue#enq and SizedQueue#enq.</div><div class='add'>+</div><div class='add'>+Sat Feb 10 09:27:35 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_variant2val): fix compile error</div><div class='add'>+	  on VC++.</div><div class='add'>+</div><div class='add'>+Sat Feb 10 07:41:52 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_variant2val): fix the bug when</div><div class='add'>+	  SAFEARRAY pointer is NULL.</div><div class='add'>+</div><div class='add'>+Sat Feb 10 00:13:11 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: fix typo (TkConfigMethod::__confinfo_cmd, </div><div class='add'>+	  __conv_keyonly_opts).</div><div class='add'>+</div><div class='add'>+Fri Feb  9 20:44:53 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread: Make style fixes (mostly de-K&amp;R'ism) to match the</div><div class='add'>+	  rest of the source code.</div><div class='add'>+</div><div class='add'>+	* ext/thread: Make USE_MEM_POOLS an extconf option.</div><div class='add'>+</div><div class='add'>+Fri Feb  9 20:43:01 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/thread: Import the "fastthread" implementation by MenTaLguY</div><div class='add'>+	  in the original form.  This module is not hooked into the build</div><div class='add'>+	  yet since it needs some style fixes and adjustments.</div><div class='add'>+</div><div class='add'>+Fri Feb  9 15:46:09 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal: Synchronize with trunk.  Better function</div><div class='add'>+	  prototypes, removal of a useless method `!=', and document</div><div class='add'>+	  updates.</div><div class='add'>+</div><div class='add'>+Tue Feb 06 22:06:45 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+        * ext/nkf/nkf-utf8/{nkf.c,utf8tbl.c}:</div><div class='add'>+          imported nkf 2007-01-28.</div><div class='add'>+          * Fixed: can't decode MIME encode JIS string.</div><div class='add'>+          * Fixed: Fullwitdh-halfwidth conversion.</div><div class='add'>+          * Support DoCoMo's and Softbank's EMOJI</div><div class='add'>+          * Support CP932, CP5022x, eucJP-ms UDC</div><div class='add'>+          * Support UTF-32 encoding</div><div class='add'>+          * Support beyond BMP</div><div class='add'>+          [ruby-dev:29700] [ruby-dev:29922] [ruby-dev:30144]</div><div class='add'>+</div><div class='add'>+Wed Jan 31 14:52:09 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_iterate): need to PUSH_ITER in proper order.</div><div class='add'>+	  [ruby-core:10125]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_iterator.rb (TestIterator::test_block_given_within_iterator):</div><div class='add'>+	  add new test.  [ruby-core:10125]</div><div class='add'>+</div><div class='add'>+Tue Jan 30 14:58:51 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sub_bang): calling rb_str_modify() should be just</div><div class='add'>+	  before actually modifying the string.</div><div class='add'>+	  fixed: [ruby-dev:30211] (originally reported by zunda)</div><div class='add'>+</div><div class='add'>+Tue Jan 30 12:05:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: autoconf 2.61 support.  [ruby-core:10016]</div><div class='add'>+</div><div class='add'>+Sat Jan 27 15:20:11 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (dyna_var_lookup): should not alter dvar-&gt;val not to</div><div class='add'>+	  destroy living value.  [ruby-core:10076]</div><div class='add'>+</div><div class='add'>+	* parse.y (dyna_init): ditto.</div><div class='add'>+</div><div class='add'>+Fri Jan 26 12:03:39 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (TkConfigMethod#__confinfo_cmd,</div><div class='add'>+	  __conv_keyonly_optkeys): make them private [ruby-dev:30074].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/txtwin_abst.rb: fix typo [ruby-dev:30073].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb (TkCanvas#scan_dragto): lack of an argument.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: clarify the including module name</div><div class='add'>+	  [ruby-dev:30080].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/scrollable.rb: change primary name of modules</div><div class='add'>+	  [ruby-dev:30080].</div><div class='add'>+</div><div class='add'>+Wed Jan 24 18:05:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix</div><div class='add'>+	  regexp font-lock bug.  [ruby-talk:235758]</div><div class='add'>+</div><div class='add'>+Tue Jan 23 11:02:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+ </div><div class='add'>+ 	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest::read_line):</div><div class='add'>+</div><div class='add'>+Tue Jan 23 18:26:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::read_multipart): use == instead</div><div class='add'>+	  of ===.  [ruby-dev:30176]</div><div class='add'>+</div><div class='add'>+Tue Jan 23 10:48:17 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c: added documentation for Hash about how it uses eql? and</div><div class='add'>+	  hash methods for the keys.  [ruby-core:09995]</div><div class='add'>+</div><div class='add'>+Mon Jan 22 14:57:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: fix errors in socket sample code.</div><div class='add'>+	  [ruby-core:09992]</div><div class='add'>+</div><div class='add'>+Sat Jan 13 23:54:48 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_free, ole_type_free, </div><div class='add'>+	  olemethod_free, olevariable_free, oleparam_free, </div><div class='add'>+	  ole_event_free): fix memory leak.  [ruby-core:09846]</div><div class='add'>+</div><div class='add'>+Fri Jan 12 11:13:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (etc_getpwuid, etc_getgrgid): fix to correctly</div><div class='add'>+	  convert uid/gid from VALUE. (backport of r11521)</div><div class='add'>+</div><div class='add'>+Wed Jan 10 18:57:57 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c (strscan_do_scan): should set kcode option</div><div class='add'>+	  before match. [ruby-dev:29914]</div><div class='add'>+</div><div class='add'>+	* test/strscan/test_stringscanner.rb: test it.</div><div class='add'>+</div><div class='add'>+	* re.c: export kcode_set_option and kcode_reset_option (with "rb_"</div><div class='add'>+	  prefix).</div><div class='add'>+</div><div class='add'>+	* intern.h: ditto.</div><div class='add'>+</div><div class='add'>+Tue Jan  9 17:45:17 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_find_file): should not call fpath_check() with NULL.</div><div class='add'>+	  fixed: [ruby-core:09867]</div><div class='add'>+</div><div class='add'>+Tue Jan  9 03:54:38 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_upto): String#upto from empty string makes</div><div class='add'>+	  inifinite loop.  [ruby-core:09864]</div><div class='add'>+</div><div class='add'>+Sun Jan  7 12:13:26 2007  Eric Hodel  &lt;drbrain@segment7.net&gt; </div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment):</div><div class='add'>+	  Look for class and module comments above rb_define_class and</div><div class='add'>+	  rb_define_module.  Patch by Daniel Berger &lt;djberg96 at gmail.com&gt;</div><div class='add'>+</div><div class='add'>+Sun Jan  7 10:32:12 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constants):</div><div class='add'>+	  Properly handle escaping of : in comments.</div><div class='add'>+	* test/rdoc/parsers/test_parse_c.rb:</div><div class='add'>+	  Test RDoc::C_Parser#do_classes and Rdoc::C_Parser#find_class_comment.</div><div class='add'>+</div><div class='add'>+Sun Jan  7 09:33:02 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb: updated based on date2 4.0.1.</div><div class='add'>+</div><div class='add'>+Wed Jan  3 11:36:51 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (ruby_dup): start GC on ENOMEM as well.</div><div class='add'>+</div><div class='add'>+Mon Jan  1 06:13:11 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/c_parser.rb: Make Rdoc accessible.  Update constant</div><div class='add'>+	value information.</div><div class='add'>+</div><div class='add'>+Mon Jan  1 06:13:11 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c: Update constant comments to provide</div><div class='add'>+	values for RDoc.</div><div class='add'>+</div><div class='add'>+Mon Jan  1 06:05:55 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constansts):</div><div class='add'>+	Allow RDoc comment to give friendly value for rb_define_const.  Patch</div><div class='add'>+	by Daniel Berger &lt;djberg96 at gmail.com&gt;, [ruby-patches-7499].</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constansts): Fix</div><div class='add'>+	whitespace handling in constant comments.</div><div class='add'>+</div><div class='add'>+Sun Dec 31 00:31:16 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 4.0.</div><div class='add'>+</div><div class='add'>+Thu Dec 14 18:29:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/readline.c: NetBSD editline does not have</div><div class='add'>+	  rl_username_completion_function() and rl_completion_matches().</div><div class='add'>+	  a patch from Takahiro Kambe &lt;taca at back-street.net&gt;.</div><div class='add'>+	  [ruby-dev:30008]</div><div class='add'>+</div><div class='add'>+Thu Dec 14 18:20:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/locale.rb (IRB::Locale::puts): typo fixed.  a patch from</div><div class='add'>+	  NAKAMURA Usaku &lt;usa@ruby-lang.org&gt;.  [ruby-dev:30012]</div><div class='add'>+</div><div class='add'>+Mon Dec 11 11:58:36 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/sha2/lib/sha2.rb: Moved one level up from under</div><div class='add'>+	  the superfluous subdirectory digest/.</div><div class='add'>+</div><div class='add'>+Mon Dec 11 11:46:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_define_const): typo fixed.</div><div class='add'>+</div><div class='add'>+Mon Dec 11 09:36:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_aset): index double decode problem.</div><div class='add'>+	  [ruby-core:09695]</div><div class='add'>+</div><div class='add'>+Sat Dec  9 21:39:24 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_cleanup): keep the exception till after END blocks.</div><div class='add'>+	  [ruby-core:09675]</div><div class='add'>+</div><div class='add'>+Sat Dec  9 11:22:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/locale.rb (IRB::Locale::search_file): ues File.exist?</div><div class='add'>+	  instead of File.exists?.  a patch from Yutaka Kanemoto</div><div class='add'>+	  &lt;kinpoco at gmail.com&gt; in [ruby-dev:30000].</div><div class='add'>+</div><div class='add'>+Thu Dec  7 09:29:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/weakref.rb (WeakRef::__setobj__): should support</div><div class='add'>+	  marshaling.  [ruby-talk:228508]</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (Delegator::marshal_load): need to call</div><div class='add'>+	  __setobj__.</div><div class='add'>+</div><div class='add'>+Wed Dec  6 23:56:14 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, common.mk (NULLCMD): moved for platforms that empty</div><div class='add'>+	  command does not run.  fixed: [ruby-dev:29994]</div><div class='add'>+</div><div class='add'>+Wed Dec  6 17:17:26 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (SITE_DIR): fixed to emtpy RUBY_SITE_LIB in config.h on</div><div class='add'>+	  NetBSD.  fixed: [ruby-dev:29358]</div><div class='add'>+</div><div class='add'>+Tue Dec  5 00:59:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-parse-partial): need to parse "/=" as</div><div class='add'>+	  self assignment operator, not regex.  [ruby-talk:227324]</div><div class='add'>+</div><div class='add'>+Mon Dec  4 10:48:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h (OFFT2NUM): use LONG2NUM() if sizeof(long) equals to</div><div class='add'>+	  sizeof(off_t).</div><div class='add'>+</div><div class='add'>+Mon Dec  4 10:43:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (dyna_init_gen): dvar initialization only if dvar is</div><div class='add'>+	  assigned inner block.  [ruby-talk:227402]</div><div class='add'>+</div><div class='add'>+Mon Dec  4 08:32:49 2006  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::read_multipart): should quote</div><div class='add'>+	  boundary. JVN#84798830</div><div class='add'>+</div><div class='add'>+Sat Dec  2 07:09:04 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ocsp.c: OpenSSL::OCSP::OSCPError should be</div><div class='add'>+	  subclass of OpenSSL::OpenSSLError. [ruby-dev:29980]</div><div class='add'>+</div><div class='add'>+Fri Dec  1 17:01:49 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (ruby_init_stack): decrease "stack level too deep" in Windows.</div><div class='add'>+	  merge from trunk.</div><div class='add'>+</div><div class='add'>+Fri Dec  1 16:31:53 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: shouldn't run the killed thread at callback.</div><div class='add'>+	  [ruby-talk: 227408]</div><div class='add'>+</div><div class='add'>+Mon Nov 27 17:18:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): need not to truncate string if no</div><div class='add'>+	  width specifier given for %s.  [ruby-dev:29952]</div><div class='add'>+</div><div class='add'>+Sun Nov 26 16:36:46 2006  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* version.h: addition of RUBY_PATCHLEVEL.</div><div class='add'>+	* version.c: ditto.</div><div class='add'>+</div><div class='add'>+Fri Nov 24 10:17:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (bignorm): avoid segmentation.  a patch from Hiroyuki</div><div class='add'>+	  Ito &lt;ZXB01226@nifty.com&gt;.  [ruby-list:43012]</div><div class='add'>+</div><div class='add'>+Thu Nov 23 10:38:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_mod_define_method): set implicit visibility only when</div><div class='add'>+	  it's called for the target class (ruby_cbase).</div><div class='add'>+</div><div class='add'>+Wed Nov 22 16:00:49 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/extconf.rb: support --with-X11/--without-X11 option.</div><div class='add'>+</div><div class='add'>+	* ext/tk/README.tcltklib: add description about --with-X11-* option</div><div class='add'>+	  [ruby-talk:225166] and --with-X11/--without-X11 option.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil/extconf.rb: able to be called manually</div><div class='add'>+	  [ruby-talk:225950].</div><div class='add'>+</div><div class='add'>+Wed Nov 15 23:22:54 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (test_grpowned, rb_stat_grpowned): should honor</div><div class='add'>+	  supplementary group IDs.  [ruby-core:09546]</div><div class='add'>+</div><div class='add'>+Thu Nov  9 03:15:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (BEGIN_CALLARGS): ruby_block may be NULL even when</div><div class='add'>+	  ITER_PRE.</div><div class='add'>+</div><div class='add'>+Tue Nov  7 18:34:34 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/lib/digest/hmac.rb: Keep this out of the 1.8 tree</div><div class='add'>+	  until we reach a consensus that HMAC should be put under Digest.</div><div class='add'>+</div><div class='add'>+Tue Nov  7 18:05:01 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb: minor bug fix.</div><div class='add'>+</div><div class='add'>+Mon Nov  6 20:11:20 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb (RSS::Rss): removed needless include.</div><div class='add'>+</div><div class='add'>+Mon Nov  6 15:41:55 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb: ext/tk/lib/tk/itemconfig.rb: bug</div><div class='add'>+	  fix on 'itemconfiginfo' method, and modify to make it easy to</div><div class='add'>+	  override 'itemconfiginfo' method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tile/treeview.rb : support Tile 0.7.8.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/version.rb : [new] add Tk::Tkextlib_RELEASE_DATE</div><div class='add'>+	  to get the information from scripts.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: load 'tkextlib/version.rb', and update RELEASE_DATE</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/SUPPORT_STATUS: update.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/editable_listbox.rb: [new] the listbox with editable</div><div class='add'>+	  items. It's one of the example about usage of Place geometry manager.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tktextio.rb: improve the functions of TkTextIO class.</div><div class='add'>+	  Those are required by 'irbtkw.rbw'.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/irbtkw.rbw: [new] IRB on Ruby/Tk. It doesn't need any</div><div class='add'>+	  real console. IRB works on a text widget without I/O blocking. That</div><div class='add'>+	  is, thread switching on IRB will work properly, even if on Windows.</div><div class='add'>+</div><div class='add'>+Sun Nov  5 19:53:49 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb: updated based on date2 3.9.7.</div><div class='add'>+</div><div class='add'>+Sat Nov  4 13:13:57 2006  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb: accept NOMODSEQ. [ruby-core:9002]</div><div class='add'>+	  (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Fri Nov  3 00:16:37 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_getnameinfo__aix): AF_INET6 workaround</div><div class='add'>+	  for AIX.  a patch from Yutaka Kanemoto &lt;kinpoco AT gmail.com&gt;.</div><div class='add'>+	  [ruby-dev:29744]</div><div class='add'>+</div><div class='add'>+Thu Nov  2 15:43:39 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (primary): should set NODE even when compstmt is NULL.</div><div class='add'>+	  merge from trunk. fixed: [ruby-dev:29732]</div><div class='add'>+</div><div class='add'>+Thu Nov  2 14:48:30 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/set.rb (Set#^): Fix XOR operation against a container that</div><div class='add'>+	  holds duplicate values. [issue: #6444]</div><div class='add'>+</div><div class='add'>+Wed Nov  1 02:41:38 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/lib/digest/hmac.rb (Digest::HMAC::update): Minor</div><div class='add'>+	  optimization.</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c (rb_digest_instance_equal): Allow comparing</div><div class='add'>+	  a digest instance with another of a different class.</div><div class='add'>+</div><div class='add'>+Wed Nov  1 01:05:13 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): fixed bug of zsuper with both of opt and rest.</div><div class='add'>+	  fixed: [ruby-list:42928]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_super.rb: add tests to check above bug.</div><div class='add'>+</div><div class='add'>+Tue Oct 31 17:03:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_dup): duplicate the class of original time.</div><div class='add'>+	  [ruby-core:09357]</div><div class='add'>+</div><div class='add'>+	* lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate):</div><div class='add'>+	  should respect subclasses.  [ruby-core:09357]</div><div class='add'>+</div><div class='add'>+Mon Oct 30 23:40:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in (miniruby): add XLDFLAGS.</div><div class='add'>+</div><div class='add'>+	* configure.in (aix): use -bE option for miniruby.  [ruby-dev:29698]</div><div class='add'>+</div><div class='add'>+	* dir.c (glob_helper): get rid of possible memory leak.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (cmdglob, rb_w32_cmdvector, rb_w32_opendir,</div><div class='add'>+	  rb_w32_get_environ): not to use GC before initialization.</div><div class='add'>+</div><div class='add'>+Mon Oct 30 19:29:20 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big2str0): use better approximation.</div><div class='add'>+</div><div class='add'>+Mon Oct 30 18:35:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big2str0): wrong allocation length.  a patch from</div><div class='add'>+	  U.Nakamura &lt;usa at garbagecollect.jp&gt; [ruby-dev:29710]</div><div class='add'>+</div><div class='add'>+Mon Oct 30 12:34:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): fix commit miss.  [ruby-dev:29707]</div><div class='add'>+</div><div class='add'>+Mon Oct 30 12:20:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big2str0): a bug in length adjustment.</div><div class='add'>+</div><div class='add'>+Mon Oct 30 11:15:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_str_format): should preserve leading zero</div><div class='add'>+	  information for negative %b and %x.  [ruby-talk:221347]</div><div class='add'>+</div><div class='add'>+Thu Oct 26 21:05:58 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): should clear error.</div><div class='add'>+	  (fix http://bugs.debian.org/394336)</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.</div><div class='add'>+</div><div class='add'>+Thu Oct 26 15:21:10 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c (Init_digest): typo.</div><div class='add'>+</div><div class='add'>+Wed Oct 25 17:23:28 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest, test/digest/test_digest.rb: Merge from trunk:</div><div class='add'>+	  - Introduce versioning in Digest::Base API, and prefix C</div><div class='add'>+	    constants with RUBY_ and C type names with rb_ to avoid name</div><div class='add'>+	    clash in writing extensions.</div><div class='add'>+	  - Introduce Digest::Class and Digest::Instance for ease of</div><div class='add'>+	    implementing subclasses and add-ons.</div><div class='add'>+	  - Digest::Instance module requires and assumes that any instance</div><div class='add'>+	    be resettable and clonable.  An instance method #new() is</div><div class='add'>+	    added so digest instances work just like digest classes.</div><div class='add'>+	  - The constructor does no longer take an initial string to feed;</div><div class='add'>+	    digest() and hexdigest() now do, instead.  This allows digest</div><div class='add'>+	    classes to take their own hashing parameters.</div><div class='add'>+	  - Make some changes to digest() and hexdigest() class methods,</div><div class='add'>+	    which now take extra arguments, which are passed through to</div><div class='add'>+	    the constructor in an internal call.</div><div class='add'>+	  - Add #digest_length/size/length() and #block_length(),</div><div class='add'>+	  - Add the Digest::SHA2 class to wrap up SHA2 variants: SHA256,</div><div class='add'>+	    SHA384 and SHA512, hoping this module would make a decent</div><div class='add'>+	    example of a digest subclass written in Ruby.</div><div class='add'>+	  - Rip BubbleBabble support out of the base class and have a</div><div class='add'>+	    separate module named digest/bubblebabble.</div><div class='add'>+	  - Remove RD documents in favor of newly written and embedded</div><div class='add'>+	    RDoc documentation.</div><div class='add'>+</div><div class='add'>+Wed Oct 25 08:03:23 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb: updated based on date2 3.9.6.</div><div class='add'>+	  [ruby-core:09323]</div><div class='add'>+</div><div class='add'>+Sun Oct 22 14:48:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (ruby_signal): don't set SA_RESTART.  a backport from</div><div class='add'>+	  the HEAD.  [ruby-talk:220937]  [ruby-talk:147220]</div><div class='add'>+</div><div class='add'>+	* signal.c (Init_signal): avoid duplicated installation of SIGCHLD</div><div class='add'>+	  handler.</div><div class='add'>+</div><div class='add'>+Sun Oct 22 16:47:56 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_substr): should be infected with only original</div><div class='add'>+	  string, but not the shared string.  fixed: [ruby-core:09152]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_new4): keep shared string untainted when orignal</div><div class='add'>+	  string is tainted.  fixed: [ruby-dev:29672]</div><div class='add'>+</div><div class='add'>+Sun Oct 22 05:20:34 2006  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: alloca is broken; use C_ALLOCA instead.</div><div class='add'>+	  [ruby-dev:29416]</div><div class='add'>+</div><div class='add'>+Fri Oct 20 10:47:43 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: fixed the bug of handling COMMON_MACROS.</div><div class='add'>+</div><div class='add'>+Fri Oct 20 08:42:38 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (NULLCMD): dummy command.</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (post-install-*): Borland make cannot ignore</div><div class='add'>+	  command-less double-colon rules.  [ruby-dev:29676]</div><div class='add'>+</div><div class='add'>+Fri Oct 20 00:37:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub ($(LIBRUBY_SO)): execute pre-link hook.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: workaround for Borland make.</div><div class='add'>+</div><div class='add'>+Wed Oct 18 23:02:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_shift): shorten copy size.  fixed: [ruby-list:42907]</div><div class='add'>+</div><div class='add'>+	* signal.c (Init_signal): handle SIGTERM.  fixed: [ruby-list:42895]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_utime): allow NULL to set the current time.</div><div class='add'>+	  [ruby-talk:219248]</div><div class='add'>+</div><div class='add'>+Wed Oct 18 00:55:33 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (parser_yylex): use particular enums.  [ruby-core:09221]</div><div class='add'>+</div><div class='add'>+Mon Oct 16 08:30:43 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: *OBJS are not needed for extension libraries.</div><div class='add'>+</div><div class='add'>+	* {bcc32,wince,win32}/Makefile.sub (config.status): fixed typo,</div><div class='add'>+	  missing comma.</div><div class='add'>+</div><div class='add'>+Sun Oct 15 01:03:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Collector::Dir#collect): append base</div><div class='add'>+	  directory but not prepend.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): do not</div><div class='add'>+	  join with dot.  fixed: [ruby-core:09179]</div><div class='add'>+</div><div class='add'>+Sat Oct 14 23:39:50 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (singleton): no need to re-create NODE_SELF() again.</div><div class='add'>+	  [ruby-core:09177]</div><div class='add'>+</div><div class='add'>+Sat Oct 14 23:25:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (parser_warning, parser_warn): some error message may</div><div class='add'>+	  contain format specifiers.  a patch from Akinori MUSHA &lt;knu at</div><div class='add'>+	  iDaemons.org&gt;.  [ruby-dev:29657]</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c (VpException): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/dl/handle.c (rb_dlhandle_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/gdbm/gdbm.c (rb_gdbm_fatal): ditto.</div><div class='add'>+</div><div class='add'>+Sat Oct 14 08:24:45 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/lib/digest/hmac: Back out the addition of digest/hmac</div><div class='add'>+	  for now because the API is too premature for a stable branch.</div><div class='add'>+</div><div class='add'>+Sat Oct 14 00:55:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (post-install-ext): no longer needed.</div><div class='add'>+</div><div class='add'>+	* bcc32/configure.bat: get rid of a quirk of Borland make, which</div><div class='add'>+	  sets empty macro in command line to "1".</div><div class='add'>+</div><div class='add'>+Fri Oct 13 22:50:43 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb: updated based on date2 3.9.5.</div><div class='add'>+</div><div class='add'>+Fri Oct 13 22:33:28 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (FileUtils.cp_r): dereference_root=true is</div><div class='add'>+	  default in Ruby 1.8.  This line is wrongly removed in last commit.</div><div class='add'>+</div><div class='add'>+Fri Oct 13 18:19:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c: Class#inherited RDoc added.  a patch from Daniel</div><div class='add'>+	  Berger &lt;djberg96 at gmail.com&gt;  [ruby-core:08942]</div><div class='add'>+</div><div class='add'>+Fri Oct 13 02:30:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Collector::Dir#collect): prepend</div><div class='add'>+	  base directory to load path.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): should</div><div class='add'>+	  use the given File-like interface, but not File directly.</div><div class='add'>+</div><div class='add'>+	* test/testunit/collector/test_dir.rb (TestDir::FileSystem): implement</div><div class='add'>+	  File-like methods correctly.</div><div class='add'>+</div><div class='add'>+Fri Oct 13 01:48:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb (Date::self.complete_hash): need to check if g is</div><div class='add'>+	  nil before dereference.  [ruby-core:09116]</div><div class='add'>+</div><div class='add'>+Fri Oct 13 00:34:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_cvar_defined): wrong id check.  a patch from</div><div class='add'>+	  Mauricio Fernandez &lt;mfp at acm.org&gt;.  [ruby-core:09158]</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_cvar_get): typo fixed.  [ruby-core:09168]</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_cvar_set): ditto.</div><div class='add'>+</div><div class='add'>+Wed Oct 11 22:21:41 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest: Merge from trunk; metadata location changed,</div><div class='add'>+	  Digest::Base#reset() added, Digest::Base#equal() changed, and</div><div class='add'>+	  digest/hmac added with some modifications made for ruby 1.8.</div><div class='add'>+</div><div class='add'>+Tue Oct 10 17:24:12 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (config.status): shouldn't use</div><div class='add'>+	  copy command instead of install. use -run install.</div><div class='add'>+</div><div class='add'>+Tue Oct 10 16:49:16 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c (hexdigest_str_new, bubblebabble_str_new):</div><div class='add'>+	  Perform StringValue() checks properly.</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c: Use RSTRING_{PTR,LEN} macros.</div><div class='add'>+</div><div class='add'>+Tue Oct 10 13:49:53 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest: Merge from trunk; apply all changes since the</div><div class='add'>+	  initial import, except for the removal of compatibility stub</div><div class='add'>+	  libraries (md5.rb and sha1.rb).</div><div class='add'>+</div><div class='add'>+Mon Oct  9 23:46:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/parsedate.rb: documentation patch from Konrad Meyer</div><div class='add'>+	  &lt;konrad.meyer@gmail.com&gt;.  [ruby-doc:1238]</div><div class='add'>+</div><div class='add'>+	* lib/open3.rb, lib/ping.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Oct  9 22:56:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/encoding.rb (REXML::Encoding::check_encoding): spaces</div><div class='add'>+	  are allowed around equal sign.  [ruby-core:09032]</div><div class='add'>+</div><div class='add'>+	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): ditto.</div><div class='add'>+</div><div class='add'>+Sat Oct  7 23:53:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_scan): small documentation fix.</div><div class='add'>+	  [ruby-core:09007]</div><div class='add'>+</div><div class='add'>+Sat Oct  7 23:44:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_rshift): a bug in right shift of negative</div><div class='add'>+	  bignums.  [ruby-core:09020]</div><div class='add'>+</div><div class='add'>+Sat Oct  7 00:27:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* class.c (rb_include_module): remove unnecessary check.</div><div class='add'>+	  [ruby-talk:218402]</div><div class='add'>+</div><div class='add'>+Fri Oct  6 04:30:30 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/openssl/c_rehash.rb: Use digest/md5 instead of obsolete md5.</div><div class='add'>+</div><div class='add'>+Wed Oct  4 18:47:25 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: bugfix and update</div><div class='add'>+	  (see ext/tk/ChangeLog.tkextlib).</div><div class='add'>+</div><div class='add'>+Wed Oct  4 17:25:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call): check protected visibility based on real self,</div><div class='add'>+	  not ruby_frame-&gt;self.  [ruby-talk:217822]</div><div class='add'>+</div><div class='add'>+Wed Oct  4 08:52:30 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/optparse/test_getopts.rb: changed the class name of test case</div><div class='add'>+	  to get rid of conflict with test_optparse.rb.</div><div class='add'>+</div><div class='add'>+Tue Oct  3 23:32:27 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testcase.rb (Test::Unit::TestCase.suite): test name</div><div class='add'>+	  must be string.  fixed: [ruby-core:08978]</div><div class='add'>+</div><div class='add'>+Mon Oct  2 23:47:55 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::COLLECTORS):</div><div class='add'>+	  base directory should be lower precedence.  fixed: [ruby-dev:29622]</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): typo.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):</div><div class='add'>+	  load expanded path.  fixed: [ruby-dev:29621]</div><div class='add'>+</div><div class='add'>+Mon Oct  2 15:49:19 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb: batfile should be CRLF'ed.</div><div class='add'>+</div><div class='add'>+Mon Oct  2 01:24:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (test-all): separate directory where running test cases</div><div class='add'>+	  from source tree.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (options): added --basedir, --workdir</div><div class='add'>+	  and --load-path options.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (recursive_collect, collect_file):</div><div class='add'>+	  base directory support.</div><div class='add'>+</div><div class='add'>+Sun Oct  1 23:56:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, common.mk, ext/extmk.rb, win{32,ce}/Makefile.in: keep</div><div class='add'>+	  LIBRUBY_SO unless need to be removed.</div><div class='add'>+</div><div class='add'>+Sun Oct  1 23:12:19 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#make_switch): pass arguments directly.</div><div class='add'>+</div><div class='add'>+Sat Sep 30 15:12:25 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.4.</div><div class='add'>+</div><div class='add'>+Fri Sep 29 12:11:04 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* jcode.rb (succ!): call original succ! if $KCODE == 'n'.</div><div class='add'>+	  fixed: [ruby-talk:216845]</div><div class='add'>+</div><div class='add'>+Fri Sep 29 11:43:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (try_func): revert fallback checking undeclared function.</div><div class='add'>+	  fixed: [ruby-core:08949]</div><div class='add'>+</div><div class='add'>+Fri Sep 29 09:56:56 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: extout is needed for also clean.</div><div class='add'>+	  fixed: [ruby-core:08944]</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Switch#conv_arg): unsplat by</div><div class='add'>+	  Proc#call if no conversion is given.</div><div class='add'>+</div><div class='add'>+Thu Sep 28 23:59:31 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* node.h (struct thread): declare win32_exception_list on cygwin and</div><div class='add'>+	  win32 regardless if it is implemented.  Provisional fix for</div><div class='add'>+	  [ruby-core:08917].</div><div class='add'>+</div><div class='add'>+Thu Sep 28 20:53:16 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tmpdir.rb: use return value of getdir.call for length.</div><div class='add'>+</div><div class='add'>+Wed Sep 27 01:04:49 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (try_func): check function pointer first and macro next.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_type): simplified with typedef and sizeof.</div><div class='add'>+</div><div class='add'>+Tue Sep 26 23:57:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#getopts): use strings as key.</div><div class='add'>+	  fixed: [ruby-dev:29614]</div><div class='add'>+</div><div class='add'>+Tue Sep 26 15:31:26 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {win32,wince}/Makefile.sub (CPP): check predefined value.</div><div class='add'>+</div><div class='add'>+Tue Sep 26 07:55:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_shift): should not move memory region if array</div><div class='add'>+	  body is shared.  a patch from Kent Sibilev &lt;ksruby at gmail.com&gt;.</div><div class='add'>+	  [ruby-core:08922]</div><div class='add'>+</div><div class='add'>+Mon Sep 25 22:26:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_path_end): skip root directory.  fixed: [ruby-core:08913]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (init_mkmf): set default $LDFLAGS.  Patch by Michal</div><div class='add'>+	  Suchanek &lt;hramrach at centrum.cz&gt;.  [ruby-talk:216256]</div><div class='add'>+</div><div class='add'>+Mon Sep 25 08:14:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_shift): should clear shifting top element.</div><div class='add'>+	  [ruby-talk:216055]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_shift): avoid creating shared object if array</div><div class='add'>+	  size is small.</div><div class='add'>+</div><div class='add'>+Mon Sep 25 08:11:35 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (rb_f_rand): RDoc typo fix.  a patch from Frederick</div><div class='add'>+	  Cheung &lt;fred at 82ask.com&gt;.  [ruby-talk:216047]</div><div class='add'>+</div><div class='add'>+Sun Sep 24 22:28:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* runruby.rb: extension library scripts moved into common directory.</div><div class='add'>+</div><div class='add'>+Sun Sep 24 14:59:50 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* node.h (struct thread): ia64 support is broken by sandbox patch.</div><div class='add'>+</div><div class='add'>+Sun Sep 24 12:11:16 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.3.</div><div class='add'>+</div><div class='add'>+Sat Sep 23 23:24:57 2006  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_save_context, rb_thread_restore_context):</div><div class='add'>+	  sandbox hook to save and restore sandbox state.</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_kill_bang): Thread#kill! uses the above flag</div><div class='add'>+	  to circumvent ensure, in order to prevent endless loops.</div><div class='add'>+	  [ruby-core:08768]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_kill): fix Thread#kill docs, which returns</div><div class='add'>+	  the thread object in all cases.</div><div class='add'>+</div><div class='add'>+	* node.h: expose the rb_jmpbuf_t and rb_thread_t structs, along</div><div class='add'>+	  with the thread flags.  used by the sandbox extension.</div><div class='add'>+</div><div class='add'>+	* ruby.h: extern rb_eThreadError, so sandbox can swap it.</div><div class='add'>+</div><div class='add'>+Sat Sep 23 21:34:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::read_multipart): CGI content</div><div class='add'>+	  may be empty.  a patch from Jamis Buck &lt;jamis at 37signals.com&gt;.</div><div class='add'>+</div><div class='add'>+Sat Sep 23 08:35:53 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb: prevent NameError.  [ruby-dev:29597]</div><div class='add'>+</div><div class='add'>+Sat Sep 23 01:04:20 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.2.</div><div class='add'>+</div><div class='add'>+Fri Sep 22 02:06:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* .cvsignore: ignore timestamp files and installed list file.</div><div class='add'>+</div><div class='add'>+Fri Sep 22 01:36:34 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb: include FileUtils unconditionally.</div><div class='add'>+</div><div class='add'>+Thu Sep 21 22:56:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (no-install): not install rdoc actually.</div><div class='add'>+</div><div class='add'>+	* common.mk (install-doc, no-install-doc): use instruby.rb.</div><div class='add'>+</div><div class='add'>+	* instruby.rb: rdoc installation.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: expand ruby executable names.</div><div class='add'>+</div><div class='add'>+Thu Sep 21 13:55:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (etc_getpwuid): uid integer should be wraped in</div><div class='add'>+	  uid_t value.  [ruby-core:08897]</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (etc_getpwuid): uid_t may be bigger than plain</div><div class='add'>+	  'int' type.</div><div class='add'>+</div><div class='add'>+Wed Sep 20 23:17:41 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (pre-install-doc): create data directory before install.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (dir_re): fixed typo.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (install_dirs): remove extra slash.</div><div class='add'>+</div><div class='add'>+Wed Sep 20 09:53:38 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define</div><div class='add'>+	  this macro to install.</div><div class='add'>+</div><div class='add'>+Wed Sep 20 09:43:10 2006  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb: allow extra spaces in responses.</div><div class='add'>+	  Thanks, Tom Soderlund. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Wed Sep 20 09:25:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/gdbm/gdbm.c: add RDoc documentation. a patch from Peter</div><div class='add'>+	  Adolphs &lt;futzilogik at users dot sourceforge dot net&gt;.</div><div class='add'>+	  [ruby-doc:1223]</div><div class='add'>+</div><div class='add'>+Tue Sep 19 01:28:00 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: backport from HEAD (rev 1.71).</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (FileUtils.cp_r): new option</div><div class='add'>+	  :remove_destination.</div><div class='add'>+</div><div class='add'>+Tue Sep 19 00:42:15 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_obj_ivar_defined, rb_mod_cvar_defined): new methods,</div><div class='add'>+	  Kernel#instance_variable_defined? and Module#class_variable_defined?.</div><div class='add'>+	  [ruby-dev:29587]</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb (Date::Bag#method_missing): use new method,</div><div class='add'>+	  instance_variable_defined? to check if an instance variable is</div><div class='add'>+	  defined.  fixed: [ruby-dev:29554]</div><div class='add'>+	  -- This didn't fix anything.</div><div class='add'>+</div><div class='add'>+Sun Sep 17 23:44:58 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb (RDoc::RDoc#document): scan only files modified</div><div class='add'>+	  after the previous generation.</div><div class='add'>+</div><div class='add'>+Sun Sep 17 17:42:13 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (install-doc): reverted.</div><div class='add'>+</div><div class='add'>+	* instruby.rb: stores file name list without destdir prefix.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/ri_generator.rb: do not chdir twice.</div><div class='add'>+</div><div class='add'>+Sat Sep 16 23:14:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (establishShell): remove remaining unused line.</div><div class='add'>+</div><div class='add'>+Sat Sep 16 16:40:44 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb:</div><div class='add'>+	  use instruby.rb to install extensions instead of ext/extmk.rb.</div><div class='add'>+</div><div class='add'>+	* instruby.rb: store installed list into the file.</div><div class='add'>+</div><div class='add'>+	* ext/dbm/extconf.rb: allow multiple candidates for dbm-type.</div><div class='add'>+</div><div class='add'>+	* ext/io/wait/extconf.rb: suspicious checking_for.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (establishShell): parent pid is not used.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (freeDevice): not used.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (get_device_once): removed garbage right brace.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (checking_for): improved the messages.</div><div class='add'>+</div><div class='add'>+Thu Sep 14 16:11:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_intern): raise SecurityError only when $SAFE</div><div class='add'>+	  level is greater than zero.  [ruby-core:08862]</div><div class='add'>+</div><div class='add'>+	* parse.y (rb_interned_p): new function to check if a string is</div><div class='add'>+	  already interned.</div><div class='add'>+</div><div class='add'>+	* object.c (str_to_id): use rb_str_intern().</div><div class='add'>+</div><div class='add'>+Wed Sep 13 18:43:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* README.EXT: English adjustment.  [ruby-core:08851] and</div><div class='add'>+	  [ruby-core:08852]</div><div class='add'>+</div><div class='add'>+Wed Sep 13 18:25:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-parse-partial): better here-doc support.</div><div class='add'>+	  a patch from Marshall T. Vandegrift &lt;llasram at gmail.com&gt;.</div><div class='add'>+	  [ruby-core:08804]</div><div class='add'>+</div><div class='add'>+Wed Sep 13 16:43:36 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_intern): prohibit interning tainted string.</div><div class='add'>+</div><div class='add'>+Wed Sep 13 01:14:21 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#getopts): works with pre-registered</div><div class='add'>+	  options.  [ruby-core:08826]</div><div class='add'>+</div><div class='add'>+Sun Sep 10 20:27:13 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.1.</div><div class='add'>+</div><div class='add'>+Tue Jan 10 09:18:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (stack_extend): fixed prototype.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_require_safe): prevent extension from loading twice.</div><div class='add'>+	  fixed: [ruby-dev:29523]</div><div class='add'>+</div><div class='add'>+Sat Sep  9 23:50:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_mul0): bignum multiplication without</div><div class='add'>+	  normalization.</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_pow): use rb_big_mul0().  [ruby-dev:29547]</div><div class='add'>+</div><div class='add'>+Sat Sep  9 14:08:38 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testcase.rb (Test::Unit::TestCase#run): Rescue</div><div class='add'>+	  Exception in Test::Unit::TestCase#run.  [ruby-core:08783]</div><div class='add'>+</div><div class='add'>+Sat Sep  9 04:55:59 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb: open all in binary mode, and get rid of the quirk of</div><div class='add'>+	  msvcrt.  fixed: [ruby-dev:29518]</div><div class='add'>+</div><div class='add'>+Sat Sep  9 04:54:42 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT.</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb, ext/extmk.rb, lib/mkmf.rb, win32/mkexports.rb: suppress</div><div class='add'>+	  warnings with $VERBOSE.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: Proc#call does not pass the block in 1.8.</div><div class='add'>+</div><div class='add'>+	* win32/resource.rb: add more info.</div><div class='add'>+</div><div class='add'>+Fri Sep  8 10:03:59 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookies): new</div><div class='add'>+	  method to parse multiple cookies per Set-Cookie header.</div><div class='add'>+	  Thanks to Aaron Patterson &lt;aaron_patterson at speakeasy.net&gt;.</div><div class='add'>+	  [ruby-core:08802]</div><div class='add'>+</div><div class='add'>+Fri Sep  8 08:59:30 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub, win32/configure.bat win32/setup.mak: program</div><div class='add'>+	  name transform.</div><div class='add'>+</div><div class='add'>+Fri Sep  8 01:33:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h (RSTRING_PTR): add migration macro.</div><div class='add'>+</div><div class='add'>+	* ruby.h (RARRAY_PTR): ditto.</div><div class='add'>+</div><div class='add'>+Thu Sep  7 23:27:05 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (path_check_0, fpath_check): disable path check on cygwin.</div><div class='add'>+	  [ruby-talk:213074]</div><div class='add'>+</div><div class='add'>+Wed Sep 06 12:05:19 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): fix regexp for euc-jp</div><div class='add'>+	  [ruby-dev:29344]</div><div class='add'>+</div><div class='add'>+	* ext/nkf/lib/kconv.rb (Kconv::toeuc): remove -m0 [ruby-dev:29505]</div><div class='add'>+</div><div class='add'>+Tue Sep  5 06:47:22 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_to_s): variable declaration after an execution</div><div class='add'>+	  statement.</div><div class='add'>+</div><div class='add'>+Tue Sep  5 05:56:51 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_hash): improve collision.  fixed: [ruby-dev:29352]</div><div class='add'>+</div><div class='add'>+Tue Sep  5 05:49:41 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (path_check_0): check if sticky bit is set on parent</div><div class='add'>+	  directories for executable path.  fixed: [ruby-dev:29415]</div><div class='add'>+</div><div class='add'>+Tue Sep  5 05:03:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_plus): addition in Fixnum will never overflow</div><div class='add'>+	  long.  a patch from Ondrej Bilka &lt;neleai at seznam.cz&gt;.</div><div class='add'>+	  [ruby-core:08794]</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_minus): ditto.</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_pow): eagerly truncate resulting bignum.</div><div class='add'>+	  [ruby-core:08794]</div><div class='add'>+</div><div class='add'>+Mon Sep  4 23:15:34 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_to_s): make it conform to RFC2822 date format.</div><div class='add'>+	  [ruby-dev:29467]</div><div class='add'>+</div><div class='add'>+Mon Sep  4 21:43:57 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dbm/extconf.rb: create makefile according to the result of check</div><div class='add'>+	  for dbm header.  fixed: [ruby-dev:29445]</div><div class='add'>+</div><div class='add'>+Mon Sep  4 21:42:35 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.</div><div class='add'>+</div><div class='add'>+Mon Sep  4 21:14:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_strftime): include nul character.  fixed: [ruby-dev:29422]</div><div class='add'>+</div><div class='add'>+Mon Sep  4 16:29:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::out): specify -m0 -x option for nkf.</div><div class='add'>+	  [ruby-dev:29284]</div><div class='add'>+</div><div class='add'>+Mon Sep  4 16:13:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (pipe_open): command name should not contain null bytes.</div><div class='add'>+	  [ruby-dev:29421]</div><div class='add'>+</div><div class='add'>+	* process.c (proc_spawn): ditto.</div><div class='add'>+</div><div class='add'>+	* process.c (proc_spawn_n): ditto.</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_system): ditto.</div><div class='add'>+</div><div class='add'>+Sun Sep  3 15:32:44 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: get rid of nil.to_s.</div><div class='add'>+</div><div class='add'>+Sun Sep  3 06:24:38 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_connect): sockerrlen should be socklen_t.</div><div class='add'>+</div><div class='add'>+Sun Sep  3 04:40:42 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: check arpa/inet.h for ntohs.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: include arpa/inet.h if available.</div><div class='add'>+</div><div class='add'>+Sun Sep  3 02:34:55 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/unix.rb (DRbUNIXSocket#close): don't get path if client mode.</div><div class='add'>+	  [ruby-dev:29417]</div><div class='add'>+</div><div class='add'>+Sun Sep  3 01:45:17 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/acl.rb (ACLEntry#initialize): examine whether '*' is</div><div class='add'>+	  included before IPAddr.new. [ruby-dev:29406]</div><div class='add'>+</div><div class='add'>+Sat Sep  2 13:23:01 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (ia64.o): use the compiler driver to assemble ia64.s</div><div class='add'>+	  to use appropriate ABI.</div><div class='add'>+</div><div class='add'>+Sat Sep  2 03:36:22 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk, configure.in, defines.h, eval.c, gc.c, main.c,</div><div class='add'>+	  numeric.c, ruby.h, ia64.s: backport IA64 HP-UX support.</div><div class='add'>+</div><div class='add'>+Fri Sep  1 13:52:57 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work</div><div class='add'>+	  on Tcl/Tk8.x.</div><div class='add'>+</div><div class='add'>+Thu Aug 31 12:46:55 2006  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_init): rename top_cref to ruby_top_cref and export,</div><div class='add'>+	  along with ruby_cref, for use by the sandbox. [ruby-core:08762]</div><div class='add'>+</div><div class='add'>+	* node.h: ditto.</div><div class='add'>+</div><div class='add'>+Tue Aug 29 19:10:10 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_s_create): fixed memory leak, based on the patch</div><div class='add'>+	  by Kent Sibilev &lt;ksruby at gmail.com&gt;.  fixed: [ruby-talk:211233]</div><div class='add'>+</div><div class='add'>+Mon Aug 28 11:36:02 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: Fix typo.  Submitted by</div><div class='add'>+	  &lt;calamitas at gmail.com&gt;.  [ruby-core:08724]</div><div class='add'>+</div><div class='add'>+Mon Aug 28 07:53:44 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb: Don't unescape HTML in HtmlFormatter.</div><div class='add'>+	  Submitted by Kent Sibilev &lt;ksruby at gmail.com&gt;.  [ruby-core:08392].</div><div class='add'>+</div><div class='add'>+Mon Aug 28 07:25:45 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (File#size?): Fix documentation submitted by Rick Ohnemus.</div><div class='add'>+	  ruby-Bugs-5529.  [ruby-core:08725]</div><div class='add'>+</div><div class='add'>+Sat Aug 26 08:07:13 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: updated based on date2 3.8.2.</div><div class='add'>+</div><div class='add'>+Fri Aug 25 22:32:04 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/source.rb (REXML::IOSource#initialize): encoding have to</div><div class='add'>+	  be set with the accessor.  fixed: [ruby-list:42737]</div><div class='add'>+</div><div class='add'>+Fri Aug 25 17:15:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* stable version 1.8.5 released.</div><div class='add'>+</div><div class='add'>+Fri Aug 25 17:02:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_sweep): typo fixed.</div><div class='add'>+</div><div class='add'>+Tue Aug 22 18:47:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::handle_method):</div><div class='add'>+	  rdoc documents C module methods as instance methods. a patch in</div><div class='add'>+	  [ruby-core:08536].</div><div class='add'>+</div><div class='add'>+Sat Aug 19 14:15:02 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (config.status): include winsock2.h instead of</div><div class='add'>+	  winsock.h when --with-winsock2 is specified.</div><div class='add'>+	  fixed: [ruby-dev:29296]</div><div class='add'>+</div><div class='add'>+Sat Aug 19 11:28:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_rename): use errno if set properly.</div><div class='add'>+	  fixed: [ruby-dev:29293]</div><div class='add'>+</div><div class='add'>+Sat Aug 19 11:09:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (then): remove semicolon warning.  [ruby-dev:29299]</div><div class='add'>+</div><div class='add'>+Thu Aug 17 19:15:16 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_stat_[rRwWxX]): check for super user.</div><div class='add'>+	  fixed: [ruby-core:08616]</div><div class='add'>+</div><div class='add'>+Thu Aug 17 14:47:06 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: added rdoc by Daniel Berger.  [ruby-core:08177]</div><div class='add'>+</div><div class='add'>+Thu Aug 17 00:39:05 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/ring.rb (do_reply): Fix for RingServer fails to find a</div><div class='add'>+	  TupleSpace when TupleSpace resides in the same ruby process with</div><div class='add'>+	  RingServer. a patch from Kent Sibilev. [ruby-core:08453]</div><div class='add'>+</div><div class='add'>+Wed Aug 16 11:45:36 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (proc_setuid, proc_setgid, proc_seteuid, proc_setegid):</div><div class='add'>+	  get rid of bogus implementations on Mac OS X.</div><div class='add'>+</div><div class='add'>+Tue Aug 15 19:10:18 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment): Fix</div><div class='add'>+	  broken class-level documentation.</div><div class='add'>+</div><div class='add'>+Wed Aug 16 11:09:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c (set_arg0): fill argv other than the first with an empty</div><div class='add'>+	  string instead of NULL.</div><div class='add'>+</div><div class='add'>+Wed Aug 16 11:08:00 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h: removed an excess macro.  fixed: [ruby-dev:29258]</div><div class='add'>+</div><div class='add'>+Tue Aug  8 23:49:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/extend-command.rb (IRB::ExtendCommandBundle): pacify</div><div class='add'>+	  RDoc.  a patch from Eric Hodel &lt;drbrain at segment7.net&gt;.</div><div class='add'>+	  [ruby-core:08522]</div><div class='add'>+</div><div class='add'>+Tue Aug  8 11:32:54 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, common.mk, configure.in: fix for platforms without</div><div class='add'>+	  rm. patches from Yutaka kanemoto &lt;kinpoco at gmail.com&gt;.</div><div class='add'>+	  [ruby-dev:29215]</div><div class='add'>+</div><div class='add'>+Mon Aug  7 17:56:59 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c, ext/digest/rmd160/rmd160ossl.c,</div><div class='add'>+	  ext/digest/sha1/sha1ossl.c, ext/readline/readline.c: move</div><div class='add'>+	  incluion of config.h to pacify AIX.  a patch from Yutaka</div><div class='add'>+	  Kanemoto &lt;kinpoco at gmail.com&gt;.  [ruby-dev:29197]</div><div class='add'>+</div><div class='add'>+Mon Aug  7 15:55:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c (syck_move_tokens): should avoid negative</div><div class='add'>+	  memmove.  [ruby-list:42625]</div><div class='add'>+</div><div class='add'>+Mon Aug  7 14:37:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, common.mk: AIX link issue.  a patch from Yutaka</div><div class='add'>+	  Kanemoto &lt;kinpoco at gmail.com&gt;.  [ruby-dev:29190]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: AIX socket support.  [ruby-dev:29190]</div><div class='add'>+</div><div class='add'>+Mon Aug  7 12:05:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dln.c, eval.c, gc.c, regex.c, ruby.h: shut up AIX alloca</div><div class='add'>+	  warning.  a patch from Yutaka Kanemoto &lt;kinpoco at gmail.com&gt;.</div><div class='add'>+	  [ruby-dev:29191]</div><div class='add'>+</div><div class='add'>+Sun Aug  6 20:40:41 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb (str[fp]time): %[EO]U didn't denote %U.</div><div class='add'>+</div><div class='add'>+Sat Aug  5 17:07:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (top_local_setup): local_vars[-1] should point</div><div class='add'>+	  ruby_scope itself to protect local_tbl from garbage collection.</div><div class='add'>+	  [ruby-dev:29049]</div><div class='add'>+</div><div class='add'>+Sat Aug  5 13:54:03 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb (str[fp]time): "%\n" means "\n".</div><div class='add'>+</div><div class='add'>+Fri Aug  4 15:21:00 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib: Merge RDoc and .document from HEAD.</div><div class='add'>+	* lib/drb/ssl.rb: Close socket on SSLError [ruby-core:7197]</div><div class='add'>+</div><div class='add'>+Fri Aug  4 19:13:41 2006  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/{init.rb,ruby-lex.rb,slex.rb}: can't input '\c' for</div><div class='add'>+	  [ruby-core: 7122].</div><div class='add'>+</div><div class='add'>+Fri Aug  4 14:02:14 2006  James Edward Gray II  &lt;james@grayproductions.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb (__strptime, strftime): allow multi-line patterns</div><div class='add'>+	  in Date#strftime the same as Time#strftime accepts.</div><div class='add'>+	  fixed: [ruby-core:08466]</div><div class='add'>+</div><div class='add'>+Fri Aug  4 13:56:51 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): check argument overrun for 'P'.  based on a</div><div class='add'>+	  patch by rucila &lt;rucila at yahoo.cojp&gt;.  fixed: [ruby-dev:29182]</div><div class='add'>+</div><div class='add'>+Tue Aug  1 17:44:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (init_stdhandle): assign standard file handles.</div><div class='add'>+</div><div class='add'>+Tue Aug  1 12:24:58 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_Binding): fix old commit miss.</div><div class='add'>+</div><div class='add'>+Mon Jul 31 17:08:20 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (exit_handler): new function; release winsock and</div><div class='add'>+	  environment work area.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (NTInitialize): setup exit_handler.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (StartSockets): use exit_handler.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_getenv): use GetEnvironmentStrings() instead</div><div class='add'>+	  of GetEnvironmentVariable(), because the latter cannot distinguish</div><div class='add'>+	  wheather a null environment variable exists or not.</div><div class='add'>+	  fixed: [ruby-talk:205123]</div><div class='add'>+</div><div class='add'>+Mon Jul 31 16:15:13 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_process.rb (TestProcess#test_rlimit_nofile):</div><div class='add'>+	  setrlimit may fail with EINVAL.</div><div class='add'>+	  reported by MIYAMUKO Katsuyuki.  [ruby-dev:29174]</div><div class='add'>+</div><div class='add'>+Mon Jul 31 13:38:22 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (WEBrick::HTTPReuqest#parse_uri): improve</div><div class='add'>+	  for the value of IPv6 address in the Host: header field.</div><div class='add'>+</div><div class='add'>+Mon Jul 31 09:22:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h: use ifdef (or defined) for macro constants that may or</div><div class='add'>+	  may not be defined to shut up gcc's -Wundef warnings.</div><div class='add'>+	  [ruby-core:08447]</div><div class='add'>+</div><div class='add'>+Sun Jul 30 23:26:22 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): trace call/return of method defined from block.</div><div class='add'>+	  fixed: [ruby-core:08329]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_trap_eval): make the current thread runnable to deal with</div><div class='add'>+	  exceptions which occurred within the trap.  fixed: [ruby-dev:27729]</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb, lib/cgi/session/pstore.rb: suppress warnings.</div><div class='add'>+	  fixed: [ruby-talk:204896]</div><div class='add'>+</div><div class='add'>+Sat Jul 29 06:12:06 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: freeze ip_name for security reason.</div><div class='add'>+</div><div class='add'>+Sat Jul 29 01:23:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: improves the amount of documentation that Rdoc</div><div class='add'>+	  picks up when processing logger.rb by moving the require</div><div class='add'>+	  statement back before the comment block.  a patch from Hugh</div><div class='add'>+	  Sasse &lt;hgs at dmu.ac.uk&gt;.  [ruby-core:08422]</div><div class='add'>+</div><div class='add'>+Thu Jul 27 22:21:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_to_s): fixed format mismatch.</div><div class='add'>+</div><div class='add'>+Thu Jul 27 21:19:54 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* math.c (domain_check): a new function to check domain error</div><div class='add'>+	  explicitly for systems that return NaN like FreeBSD.</div><div class='add'>+	  [ruby-core:07019]</div><div class='add'>+</div><div class='add'>+	* math.c (math_acos, math_asin, math_acosh, math_atanh, math_log,</div><div class='add'>+	  math_log10, math_sqrt): use domain_check().</div><div class='add'>+</div><div class='add'>+	* math.c (math_sqrt): fix documentation flaw.</div><div class='add'>+</div><div class='add'>+Thu Jul 27 18:12:12 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c: need to declare time_utc_offset.</div><div class='add'>+</div><div class='add'>+Thu Jul 27 17:01:01 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_close): always calls "close" method of the receiver.</div><div class='add'>+	  [ruby-core:6911] [ruby-core:8112]</div><div class='add'>+</div><div class='add'>+Thu Jul 27 16:49:01 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_to_s): use +0900 style timezone string for local time.</div><div class='add'>+	  [ruby-dev:29143]</div><div class='add'>+</div><div class='add'>+Thu Jul 27 16:41:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: move &lt;ruby.h&gt; inclusion point to shut up</div><div class='add'>+	  Solaris compiler.  [ruby-core:08114]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 22:20:59 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: add support for as and ASFLAGS.  [ruby-dev:29138]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 22:13:45 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: sync with HEAD (rev 1.132).</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (Net::HTTP#post, request_post, request): should</div><div class='add'>+	  set Content-Type: x-www-form-urlencoded by default.</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (Net::HTTPHeader#content_type): should return</div><div class='add'>+	  nil when there's no Content-Type.</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (Net::HTTPHeader#sub_type): should return nil</div><div class='add'>+	  when there's no sub Content-Type (e.g. "Content-Type: text").</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (Net::HTTPHeader#type_params): wrongly failed</div><div class='add'>+	  when there's no Content-Type.</div><div class='add'>+</div><div class='add'>+Wed Jul 26 18:35:38 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: sync with HEAD (rev 1.25).</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c (strscan_do_scan):</div><div class='add'>+	  StringScanner.new("").scan(//) should return "". [ruby-Bugs:4361]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 18:14:19 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (getDevice): retry once after GC on failure.</div><div class='add'>+	  [ruby-core:08282]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 17:28:16 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): prepend ".." to %u for negative bignum,</div><div class='add'>+	  but not "-".  fixed: [ruby-core:08167]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 16:39:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_scan): add string modification check.</div><div class='add'>+	  [ruby-core:7216]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 16:06:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::read_multipart): check</div><div class='add'>+	  multipart boundary end.  a patch from Fujioka &lt;fuj at rabbix.jp&gt;</div><div class='add'>+	  [ruby-dev:28470]</div><div class='add'>+</div><div class='add'>+Wed Jul 26 01:02:59 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: suppress warnings by automake 1.8 or later.</div><div class='add'>+</div><div class='add'>+Tue Jul 25 00:30:06 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/prettyprint.rb: RD to RDoc conversion by Hugh Sasse.</div><div class='add'>+</div><div class='add'>+Tue Jul 25 14:49:51 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration): typo.</div><div class='add'>+</div><div class='add'>+Tue Jul 25 13:14:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_proc_times): rename hz to hertz to avoid name</div><div class='add'>+	  crash on AIX.  [ruby-dev:29126]</div><div class='add'>+</div><div class='add'>+Mon Jul 24 22:03:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (backtrace): skip frames successive on node and method name.</div><div class='add'>+</div><div class='add'>+Mon Jul 24 17:55:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_system): add security check.  [ruby-talk:202947]</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_system): move signal right before fork to avoid</div><div class='add'>+	  signal handler intervention.</div><div class='add'>+</div><div class='add'>+Mon Jul 24 15:51:52 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/readline.c (readline_readline): rl_deprep_term_function</div><div class='add'>+	  may be NULL with libedit.  reported by Ryan Davis.  [ruby-dev:29070]</div><div class='add'>+</div><div class='add'>+Mon Jul 24 15:19:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): revert last change.  [ruby-dev:29112]</div><div class='add'>+	  [ruby-core:08374]</div><div class='add'>+</div><div class='add'>+Sun Jul 23 22:59:49 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/socket/test_unix.rb: disabled on cygwin.</div><div class='add'>+	  reported by Kouhei Yanagita.  [ruby-dev:29080]</div><div class='add'>+</div><div class='add'>+Fri Jul 21 21:21:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): include funcalled methods in caller list.</div><div class='add'>+	  fixed: [ruby-core:08290]</div><div class='add'>+</div><div class='add'>+Fri Jul 21 12:11:00 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb, lib/mkmf.rb (with_destdir): remove drive letter before</div><div class='add'>+	  prepending destdir on DOSISH.</div><div class='add'>+</div><div class='add'>+Thu Jul 20 15:07:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h: export classes/modules to implement sandbox.</div><div class='add'>+	  [ruby-core:08283]</div><div class='add'>+</div><div class='add'>+Thu Jul 20 00:06:29 2006  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/completion.rb: support for completion of numeric</div><div class='add'>+    	  number. [ruby-dev: 29038]</div><div class='add'>+</div><div class='add'>+Wed Jul 19 23:53:05 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb, lib/rss/utils.rb: added documents.</div><div class='add'>+</div><div class='add'>+Tue Jul 18 22:10:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_system): block SIGCHLD during the process</div><div class='add'>+	  execution, like glibc system(3) does.  [ruby-talk:202361]</div><div class='add'>+</div><div class='add'>+Tue Jul 18 23:12:14 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (open_ifs_socket): should not use plain malloc.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_opendir): should not use plain realloc.</div><div class='add'>+</div><div class='add'>+Tue Jul 18 18:05:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_float.rb (TestFloat::test_strtod): update test to</div><div class='add'>+	  conform strtod change.</div><div class='add'>+</div><div class='add'>+Tue Jul 18 15:49:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): propagate association array to copied</div><div class='add'>+	  string.  [ruby-core:08223]</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): return referenced string itself if it has</div><div class='add'>+	  same length as specified.  a patch from &lt;nobu at ruby-lang.org&gt;</div><div class='add'>+	  in [ruby-core:08225].</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): taint 'p' packed strings.</div><div class='add'>+</div><div class='add'>+Tue Jul 18 14:03:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (WEBrick::HTTPServer::unmount): remove</div><div class='add'>+	  inpect argument from sprintf.  [ruby-dev:29039]</div><div class='add'>+</div><div class='add'>+Tue Jul 18 10:53:37 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_cstr_to_dbl): limit out-of-range message.</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): return end pointer even if ERANGE occurred.</div><div class='add'>+	  fixed: [ruby-dev:29041]</div><div class='add'>+</div><div class='add'>+Mon Jul 18 00:43:05 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): stop at dot not followed by digits.</div><div class='add'>+	  fixed: [ruby-dev:29035]</div><div class='add'>+</div><div class='add'>+Tue Jul 18 00:01:27 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: remove LIBRUBY_SO if static linked extensions exist.</div><div class='add'>+</div><div class='add'>+Mon Jul 17 23:30:46 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (rb_cv_msvcrt): defaulted to msvcrt.  Workaround for a</div><div class='add'>+	  bug of cygwin 1.5.20.</div><div class='add'>+</div><div class='add'>+Mon Jul 17 13:43:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (define_swapx): should not use plain malloc.</div><div class='add'>+</div><div class='add'>+Mon Jul 17 12:58:41 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: should use ac_cv_lib_dl_dlopen=no on MinGW.</div><div class='add'>+</div><div class='add'>+Sat Jul 15 23:50:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_require_safe): wait for another thread requiring the same</div><div class='add'>+	  feature.  fixed: [ruby-core:08229]</div><div class='add'>+</div><div class='add'>+Sat Jul 15 01:27:13 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (has_magic): glob names contain alphabets to enable case fold</div><div class='add'>+	  search also for directories.  fixed: [ruby-talk:201917]</div><div class='add'>+</div><div class='add'>+Sat Jul 15 01:09:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* st.c (malloc): use xmalloc/xcalloc instead of plain</div><div class='add'>+	  malloc/calloc, to detect memory allocation failure.  see</div><div class='add'>+	  &lt;http://www.nongnu.org/failmalloc/&gt;.</div><div class='add'>+</div><div class='add'>+	* gc.c (rb_memerror): should not raise empty nomem_error.</div><div class='add'>+</div><div class='add'>+Fri Jul 14 13:08:13 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add methods for new features of latest Tcl/Tk8.5.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Jul 14 02:30:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/monitor.rb: document patch from Hugh Sasse &lt;hgs at dmu.ac.uk&gt;.</div><div class='add'>+	  [ruby-core:08205]</div><div class='add'>+</div><div class='add'>+Fri Jul 14 01:09:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (then): error in warning action.</div><div class='add'>+</div><div class='add'>+Fri Jul 14 00:10:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_pop): may cause realloc oscillation.  a patch</div><div class='add'>+	  from MORITA Naoyuki &lt;mlgetter at kidou.sakura.ne.jp&gt;.</div><div class='add'>+	  [ruby-dev:29028]</div><div class='add'>+</div><div class='add'>+Thu Jul 13 22:23:56 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/composite.rb: improve handling of the classname on the</div><div class='add'>+	  option database for the widget class which includes TkComposite.</div><div class='add'>+</div><div class='add'>+Thu Jul 13 20:32:19 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: updated documents by a patch from</div><div class='add'>+	Hugh Sasse &lt;hgs at dmu.ac.uk&gt;. [ruby-core:8194]</div><div class='add'>+</div><div class='add'>+Wed Jul 12 13:54:09 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (then): we'd like to reserve colon here for the future.</div><div class='add'>+	  warning added.</div><div class='add'>+</div><div class='add'>+Tue Jul 11 20:58:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h: export rb_cMethod.  [ruby-talk:201259]</div><div class='add'>+</div><div class='add'>+Tue Jul 11 19:13:33 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: remove restriction on the class of</div><div class='add'>+	  pseudo-toplevel.</div><div class='add'>+</div><div class='add'>+Tue Jul 11 18:00:57 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: security fix.</div><div class='add'>+</div><div class='add'>+Tue Jul 11 17:33:39 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_dump): need to extend len for \b.</div><div class='add'>+</div><div class='add'>+Mon Jul 10 22:00:00 2006  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c: Allows '_' to appear within</div><div class='add'>+	  digits.  [ruby-dev:28872]</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/util.rb: Bug in to_r reported by</div><div class='add'>+	  [ruby-list:42533] fixed.</div><div class='add'>+</div><div class='add'>+Mon Jul 10 19:22:19 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_sweep): expand heap earlier.</div><div class='add'>+	  reported by MORITA Naoyuki.  [ruby-dev:28960]</div><div class='add'>+</div><div class='add'>+Mon Jul 10 18:59:34 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: sorry. mistaken to patch.</div><div class='add'>+</div><div class='add'>+Mon Jul 10 18:46:52 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: make SEGV risk lower at exit.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fail to call function-style methods on slave</div><div class='add'>+	  interpreters. The strategy (MultiTkIp_PseudoToplevel_Evaluable) to</div><div class='add'>+	  fix the problem is a little tricky. You may have to take care of</div><div class='add'>+	  conflicting with it.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: a little change for the pseudo-toplevel strategy.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/itk/incr_tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/widget: fail to call function-style methods</div><div class='add'>+	  on sample scripts. To fix it, a strategy which similar to the way</div><div class='add'>+	  on MultiTiIp is used. Please take care when re-write and re-run a</div><div class='add'>+	  demo script on the Widget-Demo code viewer.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/widget: ditto.</div><div class='add'>+</div><div class='add'>+Mon Jul 10 13:58:40 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (ruby_nativethread_signal, posix_nativethread_signal,</div><div class='add'>+	  sigsend_to_ruby_thread, install_nativethread_sighandler):</div><div class='add'>+	  nativethread-support on signal handler. RE-backport from 1.9.</div><div class='add'>+</div><div class='add'>+	* ruby.h (HAVE_NATIVETHREAD_KILL): ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_native_thread_kill): ditto.</div><div class='add'>+</div><div class='add'>+Mon Jul 10 10:54:14 2006  Ryan Davis  &lt;ryand@zenspider.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_f95.rb: massive overhaul from Yasuhiro</div><div class='add'>+	  Morikawa including new file suffixes, function support, public</div><div class='add'>+	  variables and constants, derived-types, defined operators and</div><div class='add'>+	  assignments, namelists, and subroutine and function</div><div class='add'>+	  arguments. Truly massive.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/diagram.rb: diagrams are now cached.</div><div class='add'>+</div><div class='add'>+	* lib/irb/completion.rb: fixed a crasher when completing against</div><div class='add'>+	  an unnamed class/module.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb: private comment (--/++) support in</div><div class='add'>+	  C-file rdoc.</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb: minor clarification in help.</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb: minor clarification on exception.</div><div class='add'>+</div><div class='add'>+Mon Jul 10 09:29:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_clear_cache_for_undef): clear entries for included</div><div class='add'>+	  module.  fixed: [ruby-core:08180]</div><div class='add'>+</div><div class='add'>+Mon Jul 10 01:48:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* st.h (st_data_t): use pointer sized integer for st_data_t.</div><div class='add'>+	  [ruby-dev:28988]</div><div class='add'>+</div><div class='add'>+Sun Jul  9 18:06:47 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (try_constant): fix for value 1 at cross compiling.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): prevent substitution of macro</div><div class='add'>+	  definition.  fixed: http://www.yotabanana.com/lab/20060624.html#p02</div><div class='add'>+</div><div class='add'>+Sun Jul  9 00:54:34 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (next_jump): deal with destination of next.</div><div class='add'>+	  fixed: [ruby-core:08169]</div><div class='add'>+</div><div class='add'>+Fri Jul  7 00:38:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_default): should not call default procedure if</div><div class='add'>+	  no key is given.  [ruby-list:42541]</div><div class='add'>+</div><div class='add'>+Fri Jul  7 00:29:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_mload): a patch from Daniel Berger</div><div class='add'>+	  &lt;Daniel.Berger at qwest.com&gt;.  [ruby-core:08128]</div><div class='add'>+</div><div class='add'>+Thu Jul  6 22:21:57 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to</div><div class='add'>+	  HZ and CLK_TCK.  fixed: [ruby-talk:200293]</div><div class='add'>+</div><div class='add'>+Thu Jul  6 22:17:21 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c: sync with original code, rev 1.8.</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c: should mark CparseParams objects.</div><div class='add'>+</div><div class='add'>+	* lib/racc/parser.rb: sync with original code, rev 1.8.</div><div class='add'>+</div><div class='add'>+	* lib/racc/parser.rb: update coding style.</div><div class='add'>+</div><div class='add'>+Mon Jul  3 19:04:38 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c (ip_make_menu_embeddable): help to make a menu</div><div class='add'>+	  widget embeddable (pack, grid, and so on) like as a general widget.</div><div class='add'>+	  However, an embeddable menu may require to be definied some event</div><div class='add'>+	  bindings for general use.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: [bug fix] Tk.callback_break and</div><div class='add'>+	  Tk.callback_continue don't work on MultiTkIp.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: lack of Tk.callback_return.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb: improve creating clone menus.</div><div class='add'>+</div><div class='add'>+Mon Jul  3 14:42:06 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/extconf.rb (PW_UID2VAL, PW_GID2VAL): defaulted to conversion</div><div class='add'>+	  from int, and sys/types.h needs to be included before grp.h.</div><div class='add'>+	  fixed: [ruby-dev:28938]</div><div class='add'>+</div><div class='add'>+Mon Jul  3 01:14:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_inspect): encode \b (\010) for escape.</div><div class='add'>+	  [ruby-dev:28927]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_dump): ditto.</div><div class='add'>+</div><div class='add'>+Sun Jul  2 19:17:56 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c: sync with original code (rev 1.7).</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c: use rb_catch instead of rb_iterate.</div><div class='add'>+	  Giving a block to a Ruby-level method by rb_iterate is obsolete on</div><div class='add'>+	  Ruby 1.9.  Note that current cparse.c still includes one</div><div class='add'>+	  rb_iterate call on Ruby 1.8, but it is not a problem (at least</div><div class='add'>+	  just now).</div><div class='add'>+</div><div class='add'>+Sat Jul  1 15:15:49 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/socket/test_nonblock.rb: add timeout to send/receive</div><div class='add'>+	  an empty UDP packet.</div><div class='add'>+	  [ruby-dev:28820]</div><div class='add'>+</div><div class='add'>+Fri Jun 30 23:46:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: should test isinf for Solaris with GCC compiler.</div><div class='add'>+	  a patch from &lt;ville.mattila at stonesoft.com&gt;.  [ruby-core:07791]</div><div class='add'>+</div><div class='add'>+	* configure.in: -shared patch from Andrew Morrow</div><div class='add'>+	  &lt;andrew.c.morrow at gmail.com&gt;.  [ruby-core:08100]</div><div class='add'>+</div><div class='add'>+Thu Jun 29 18:58:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c (BigDecimal_version): fix patch</div><div class='add'>+	  failure.</div><div class='add'>+</div><div class='add'>+Thu Jun 29 18:00:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c: add RDoc document.  a patch from</div><div class='add'>+	  mathew &lt;meta at pobox.com&gt;.   [ruby-core:07050]</div><div class='add'>+</div><div class='add'>+Wed Jun 28 15:47:14 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb: RDoc patch from Robin Stocker &lt;robin@nibor.org&gt;</div><div class='add'>+	  [ruby-core:08087]</div><div class='add'>+</div><div class='add'>+Wed Jun 28 19:04:34 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/socket/test_unix.rb: test_seqpacket_pair removed.</div><div class='add'>+	  [ruby-dev:28846]</div><div class='add'>+</div><div class='add'>+Tue Jun 27 23:03:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c: RDoc update for =~ method.  a patch from Alex Young</div><div class='add'>+	  &lt;alex at blackkettle.org&gt;.  [ruby-core:08068]</div><div class='add'>+</div><div class='add'>+Tue Jun 27 22:47:18 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: forgot to update TCLTKLIB_RELEASE_DATE.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (tk_tcl2ruby): [bug fix] sometimes fail to convert</div><div class='add'>+	  a tcl string to a ruby object if the tcl string includes "\n".</div><div class='add'>+</div><div class='add'>+Tue Jun 27 16:04:05 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h: define isascii on MinGW for msvcrt compatibility.</div><div class='add'>+</div><div class='add'>+	* configure.in: set ac_cv_header_sys_time_h=no on MinGW</div><div class='add'>+	  for msvcrt compatibility.</div><div class='add'>+</div><div class='add'>+Tue Jun 27 11:36:02 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (setup_passwd, setup_group): allow bignum uid, gid and</div><div class='add'>+	  so on.  [ruby-talk:199102]</div><div class='add'>+</div><div class='add'>+Mon Jun 26 13:37:27 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc: Merge from HEAD.</div><div class='add'>+	  Add options to limit the ri search path.</div><div class='add'>+</div><div class='add'>+Tue Jun 27 00:54:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (powersOf10): constified.</div><div class='add'>+</div><div class='add'>+Mon Jun 26 18:37:44 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c (ip_delete): fix SEGV when a slave-ip is</div><div class='add'>+	  deleted on callback.</div><div class='add'>+</div><div class='add'>+Mon Jun 26 10:47:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (pipe_open): avoid closing uninitialized file descriptors.</div><div class='add'>+	  a patch from &lt;tommy at tmtm.org&gt; [ruby-dev:28600]</div><div class='add'>+</div><div class='add'>+Mon Jun 26 09:56:22 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (rb_w32_send, rb_w32_sendto): constified.</div><div class='add'>+</div><div class='add'>+Sun Jun 25 23:02:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, mkconfig.rb: catch-up for latest autoconf.</div><div class='add'>+</div><div class='add'>+Sat Jun 24 06:35:00 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c: revert last change.</div><div class='add'>+</div><div class='add'>+	* ruby.h: ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c: ditto.</div><div class='add'>+</div><div class='add'>+Thu Jun 22 11:52:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (Net::HTTPResponse): duplicated error 501;</div><div class='add'>+	  HTTPInternalServerError should be error 500.  [ruby-core:08037]</div><div class='add'>+</div><div class='add'>+Thu Jun 22 05:15:58 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_socketpair): try GC only once.</div><div class='add'>+	  [ruby-dev:28778]</div><div class='add'>+</div><div class='add'>+Wed Jun 21 21:28:32 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb (jd_to_commercial): now works fine even if in</div><div class='add'>+	  mathn-ized context.</div><div class='add'>+</div><div class='add'>+Wed Jun 21 17:32:31 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (ruby_nativethread_signal, posix_nativethread_signal,</div><div class='add'>+	  sigsend_to_ruby_thread, install_nativethread_sighandler):</div><div class='add'>+	  nativethread-support on signal handler (backport from 1.9).</div><div class='add'>+</div><div class='add'>+	* ruby.h (HAVE_NATIVETHREAD_KILL): ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_native_thread_kill): ditto.</div><div class='add'>+</div><div class='add'>+Wed Jun 21 08:39:54 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): merge Date</div><div class='add'>+	  and Time processing.  [ruby-core:08033]</div><div class='add'>+</div><div class='add'>+Wed Jun 21 01:40:25 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (yylex, reswords): modifier token is no longer returned in</div><div class='add'>+	  fname state.  [ruby-dev:28775]</div><div class='add'>+</div><div class='add'>+Wed Jun 21 01:12:46 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: RSS::Element.def_corresponded_attr_writer</div><div class='add'>+	  supported date type.</div><div class='add'>+</div><div class='add'>+Tue Jun 20 22:08:36 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/rss/test_parser.rb: split parser tests into ...</div><div class='add'>+	* test/rss/test_parser_1.0.rb: ... RSS 1.0 parsing tests and ...</div><div class='add'>+	* test/rss/test_parser_2.0.rb: ... RSS 2.0 parsing tests.</div><div class='add'>+</div><div class='add'>+Tue Jun 20 21:19:06 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: provided default RSS::Element#children.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: used default RSS::Element#children.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Jun 20 21:04:33 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: provided default RSS::Element#_tags.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: used default RSS::Element#_tags.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Jun 20 20:47:07 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: hide RSS::Element.install_model.</div><div class='add'>+	  (RSS::Element.install_have_child_element,</div><div class='add'>+	   RSS::Element.install_have_children_element,</div><div class='add'>+	   RSS::Element.install_text_element,</div><div class='add'>+	   RSS::Element.install_date_element): call</div><div class='add'>+	  RSS::Element.install_model internally.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: followed new API.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/content.rb: ditto.</div><div class='add'>+	* lib/rss/dublincore.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/syndication.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Jun 20 20:18:05 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: add check for OBJ_NAME_do_all_sorted.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_s_ciphers): new method</div><div class='add'>+	  OpenSSL::Cipher.ciphers. it returns all the cipher names.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/cipher.rb:</div><div class='add'>+	  - add constants AES128, AES192, AES256. [ruby-dev:28610]</div><div class='add'>+	  - reimplement without eval()</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/digest.rb: reimplement without eval().</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_cipher.rb, test_digest: fix about reimplemented</div><div class='add'>+	  features.</div><div class='add'>+</div><div class='add'>+	* sample/openssl/cipher.rb: rewrite all.</div><div class='add'>+</div><div class='add'>+Sat Jun 19 11:21:46 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: Merge RDoc from HEAD.</div><div class='add'>+</div><div class='add'>+Tue Jun 20 01:06:57 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb:</div><div class='add'>+	  - cleanup validation mechanism. Now, #XXX_validation is</div><div class='add'>+	    needless.</div><div class='add'>+	  - changed internal variable name RSS::Element::MODEL to</div><div class='add'>+	    RSS::Element::MODELS.</div><div class='add'>+	  - RSS::Element.install_model requires uri.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: followed new validation API.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/content.rb: ditto.</div><div class='add'>+	* lib/rss/dublincore.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/syndication.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Jun 19 23:40:59 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/lib/kconv.rb: remove default -m0 and fix document.</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-8/{nkf.c, config.h, utf8tbl.c, utf8tbl.h}:</div><div class='add'>+	  imported nkf 2.0.7.</div><div class='add'>+</div><div class='add'>+Mon Jun 19 22:31:59 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb:</div><div class='add'>+	  - provided default #to_s as RSS::Element#to_s.</div><div class='add'>+	  - removed RSS::Element#other_element.</div><div class='add'>+	  - RSS::Element#tag requires attributes as Hash instead of Array.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: removed #to_s to use RSS::Element#to_s.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/2.0.rb: removed #other_element.</div><div class='add'>+</div><div class='add'>+Mon Jun 19 22:09:16 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c(ole_invoke): support some kind of</div><div class='add'>+	  method of word. [ruby-Bugs#3237]</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/test_word.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/testall.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Jun 19 00:02:17 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: automatically detected attributes.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: removed #_attrs.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: followed new internal API.</div><div class='add'>+</div><div class='add'>+Mon Jun 19 00:00:17 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fix bug: initialize improper tables.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 22:36:13 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: RSS::Element#initialize accepts initial</div><div class='add'>+	  attributes.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/dublincore.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/utils.rb: added Utils.element_initialize_arguments? to</div><div class='add'>+	  detect backward compatibility initial arguments.</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: user initial attributes to initialize</div><div class='add'>+	  RSS::Element.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 18:24:42 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/converter.rb: use NKF for Uconv fallback.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 18:22:04 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/rss/test_image.rb: shared name space configuration.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 18:13:25 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: improved ignore_unknown_element</div><div class='add'>+	  handling. RSS::NotExpectedTagError provides tag URI.</div><div class='add'>+	* lib/rss/parser.rb: ditto.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/content.rb: ditto.</div><div class='add'>+	* lib/rss/dublincore.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/syndication.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/rss-assertions.rb: checked URI of not expected tag too.</div><div class='add'>+	* test/rss/test_parser.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 18:08:36 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: changed empty namespace URI representation to ""</div><div class='add'>+	  from nil.</div><div class='add'>+	* lib/rss/parser.rb: ditto.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 18:03:50 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: removed a guard for requiring open-uri.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 18:01:26 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: fixed typo: except -&gt; expect</div><div class='add'>+	* lib/rss/parser.rb: ditto.</div><div class='add'>+	* test/rss/rss-assertions.rb: ditto.</div><div class='add'>+	* test/rss/test_parser.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 17:52:39 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: RSS::Element#calc_indent became to be deprecated.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_1.0.rb: removed RSS::Element.indent_size tests.</div><div class='add'>+	* test/rss/test_2.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Jun 18 00:49:11 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (bsock_recv_nonblock): new method</div><div class='add'>+	  BasicSocket#recv_nonblock.</div><div class='add'>+	  (udp_recvfrom_nonblock): renamed from ip_recvfrom_nonblock.</div><div class='add'>+	  IPSocket#recvfrom_nonblock is moved to UDPSocket#recvfrom_nonblock.</div><div class='add'>+	  (unix_recvfrom_nonblock): removed.</div><div class='add'>+	  UNIXSocket#recvfrom_nonblock is removed.</div><div class='add'>+</div><div class='add'>+Sat Jun 17 22:17:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mathn.rb (Integer::prime_division): raise ZeroDivisionError</div><div class='add'>+	  on zeros.  [ruby-dev:28739]</div><div class='add'>+</div><div class='add'>+Sat Jun 17 14:53:32 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb: backport from 1.9.</div><div class='add'>+	  (Kernel#Pathname): new method.</div><div class='add'>+</div><div class='add'>+Sat Jun 17 10:30:41 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (Hash#merge, Enumerable#sort_by): removed.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::RootElementMixin#to_xml): added.</div><div class='add'>+	  [ruby-talk:197284]</div><div class='add'>+</div><div class='add'>+	  We can convert RSS version easily like the following:</div><div class='add'>+	    rss10 = RSS::Parser.parse(File.read("1.0.rdf"))</div><div class='add'>+	    File.open("2.0.rss", "w") {|f| f.print(rss10.to_xml("2.0"))}</div><div class='add'>+</div><div class='add'>+	* test/rss/test_1.0.rb: added #to_xml test.</div><div class='add'>+	* test/rss/test_2.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/rss-testcase.rb: added some helper methods that</div><div class='add'>+	  generates sample RSS 2.0.</div><div class='add'>+</div><div class='add'>+	* sample/rss/convert.rb: added a sample script to convert RSS format.</div><div class='add'>+</div><div class='add'>+Sat Jun 17 10:23:22 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (Kernel#funcall): removed.</div><div class='add'>+	* lib/rss/parser.rb (Kernel.URI): removed.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/: supported</div><div class='add'>+	    xxx.new_yyy do |yyy|</div><div class='add'>+	      yyy.zzz = zzz</div><div class='add'>+	      ...</div><div class='add'>+	    end</div><div class='add'>+	  style and this style became the style of the recommendation.</div><div class='add'>+</div><div class='add'>+	  Old style</div><div class='add'>+	    yyy = xxx.new_yyy</div><div class='add'>+	    yyy.zzz = zzz</div><div class='add'>+	    ...</div><div class='add'>+	  is supported too but this style isn't recommended.</div><div class='add'>+	  [ruby-talk:197284]</div><div class='add'>+</div><div class='add'>+	* test/rss/test_*maker*.rb: used new recommended style.</div><div class='add'>+</div><div class='add'>+Sat Jun 17 09:03:47 2006  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss, test/rss: backported from trunk. (2005-11-16 - now)</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::VERSION): 0.1.5 -&gt; 0.1.6.</div><div class='add'>+	* test/rss/test_version.rb (RSS::TestVersion#test_version): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/trackback.rb: added TrackBack prefix.</div><div class='add'>+	* lib/rss/maker/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb : removed needless argument 'prefix'.</div><div class='add'>+	* lib/rss/parser.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/1.0.rb: added rdf:Bag.</div><div class='add'>+</div><div class='add'>+	* lib/rss/taxonomy.rb: implemented taxonomy module.</div><div class='add'>+	* test/rss/test_taxonomy.rb: added tests for taxonomy support.</div><div class='add'>+</div><div class='add'>+	* lib/rss/1.0.rb: added convenience method 'resources'.</div><div class='add'>+	* lib/rss/taxonomy.rb: ditto.</div><div class='add'>+	* test/rss/rss-assertions.rb: added test for 'resources'.</div><div class='add'>+	* test/rss/test_taxonomy.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: fixed a indentation bug.</div><div class='add'>+	* lib/rss/taxonomy.rb: fixed &lt;taxo:topic&gt; #to_s bug.</div><div class='add'>+	* test/rss/test_taxonomy.rb: added a #to_s test.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/taxonomy.rb: implemented taxonomy module for RSS</div><div class='add'>+	  Maker.</div><div class='add'>+	* lib/rss/taxonomy.rb: supported RSS Maker.</div><div class='add'>+	* lib/rss/maker.rb: added taxonomy module support.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: adjusted to other element API.</div><div class='add'>+	* lib/rss/1.0.rb: adjusted to other element API but backward</div><div class='add'>+	  compatibility is reserved.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_maker_taxo.rb: added test case for taxonomy module</div><div class='add'>+	  for RSS Maker.</div><div class='add'>+	* test/rss/test_setup_maker_1.0.rb: added tests for taxo:topic.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_setup_maker_1.0.rb: added backward compatibility</div><div class='add'>+	  test.</div><div class='add'>+	* test/rss/test_setup_maker_0.9.rb: ditto.</div><div class='add'>+	* test/rss/test_setup_maker_2.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/rss-testcase.rb: added convenience method for setting</div><div class='add'>+	  up taxo:topic.</div><div class='add'>+	* test/rss/rss-assertions.rb: added assertion for taxo:topic.</div><div class='add'>+</div><div class='add'>+	* sample/rss/blend.rb: followed new API.</div><div class='add'>+</div><div class='add'>+	* lib/rss/taxonomy.rb: changed class or module prefix to</div><div class='add'>+	  Taxonomy from Taxo.</div><div class='add'>+	* lib/rss/maker/taxonomy.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_taxonomy.rb: use #reject directory.</div><div class='add'>+</div><div class='add'>+	* lib/rss/: use #__send__ instead of #send.</div><div class='add'>+	* test/rss/: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: added entity handling type predicate.</div><div class='add'>+	* lib/rss/rexmlparser.rb: ditto.</div><div class='add'>+	* lib/rss/xmlparser.rb: ditto.</div><div class='add'>+	* lib/rss/xmlscanner.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/xmlscanner.rb: more robust entity handling.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_parser.rb: added an entity handling test.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_2.0.rb: added RSS 2.0 tests.</div><div class='add'>+	* test/rss/rss-assertions.rb: extended XML stylesheet assertion.</div><div class='add'>+	* lib/rss/0.9.rb: added initialize method.</div><div class='add'>+	* test/rss/test_1.0.rb: cleanup.</div><div class='add'>+</div><div class='add'>+	* lib/rss/image.rb: added Image prefix.</div><div class='add'>+	* lib/rss/maker/image.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: improved type conversion.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/syndication.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_2.0.rb: added type conversion tests.</div><div class='add'>+	* test/rss/test_accessor.rb: ditto.</div><div class='add'>+	* test/rss/test_to_s.rb: ditto.</div><div class='add'>+	* test/rss/test_syndication.rb: ditto.</div><div class='add'>+	* test/rss/test_setup_maker_2.0.rb: ditto.</div><div class='add'>+	* test/rss/test_setup_maker_1.0.rb: ditto.</div><div class='add'>+	* test/rss/test_setup_maker_0.9.rb: ditto.</div><div class='add'>+	* test/rss/test_maker_sy.rb: ditto.</div><div class='add'>+	* test/rss/test_maker_image.rb: ditto.</div><div class='add'>+	* test/rss/test_maker_2.0.rb: ditto.</div><div class='add'>+	* test/rss/test_maker_0.9.rb: ditto.</div><div class='add'>+	* test/rss/test_image.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_maker_1.0.rb: use assert instead of assert_equal.</div><div class='add'>+</div><div class='add'>+	* test/rss/rss-assertions.rb: improved type conversion assertions.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: added backward compatibility codes.</div><div class='add'>+	* lib/rss/parser.rb: ditto.</div><div class='add'>+	* test/rss/test_parser.rb: ditto.</div><div class='add'>+	* test/rss/test_2.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Jun 17 02:01:00 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed</div><div class='add'>+	  string.</div><div class='add'>+</div><div class='add'>+Sat Jun 17 00:23:58 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (reswords): kDO_BLOCK was missing.  fixed: [ruby-core:7995]</div><div class='add'>+</div><div class='add'>+Sat Jun 17 00:02:15 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_propertyput): support</div><div class='add'>+	  PROPERTYPUTREF. [ruby-talk:183042]</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/test_propertyputref.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Jun 15 23:02:47 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (fole_methods): The return value</div><div class='add'>+	  of WIN32OLE#ole_methods should include PROPERTYPUTREF methods.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (fole_put_methods): The return value</div><div class='add'>+	  of WIN32OLE#ole_put_methods should include PROPERTYPUTREF methods.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/test_ole_methods.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/testall.rb : ditto.</div><div class='add'>+</div><div class='add'>+Wed Jun 14 18:23:28 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_any): Documentation typo.</div><div class='add'>+</div><div class='add'>+Wed Jun 14 15:01:09 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser#warn): Don't print</div><div class='add'>+	  warnings when -q is set.</div><div class='add'>+</div><div class='add'>+Wed Jun 14 23:03:53 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: check sizeof(rlim_t).</div><div class='add'>+	  check setrlimit.</div><div class='add'>+</div><div class='add'>+	* process.c (proc_getrlimit): new method Process.getrlimit.</div><div class='add'>+	  (proc_setrlimit): new method Process.setrlimit.</div><div class='add'>+</div><div class='add'>+	* ruby.h (NUM2ULL): new macro.</div><div class='add'>+</div><div class='add'>+Mon Jun 12 22:25:09 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): adjust precision length to prevent</div><div class='add'>+	  splitting multi-byte characters.  [ruby-list:42389]</div><div class='add'>+</div><div class='add'>+Sun Jun 11 23:20:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Arguable#getopts): pass self to the</div><div class='add'>+	  parser.</div><div class='add'>+</div><div class='add'>+Sun Jun 11 10:00:57 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h (write): not need to define on bcc.</div><div class='add'>+</div><div class='add'>+Sun Jun 11 08:30:33 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#getopts): new methods.</div><div class='add'>+</div><div class='add'>+Sat Jun 10 18:02:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/newton.rb (Newton::nlsolve): typo</div><div class='add'>+	  fixed: raize -&gt; raise.  [ruby-talk:196608]</div><div class='add'>+</div><div class='add'>+Thu Jun  8 14:19:17 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (rb_w32_read, rb_w32_write): new functions.</div><div class='add'>+	  use recv() and send() when fd is socket. fixed: [ruby-dev:28694]</div><div class='add'>+</div><div class='add'>+Wed Jun  7 16:22:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tempfile.rb (Tempfile::make_tmpname): put dot between</div><div class='add'>+	  basename and pid.  [ruby-talk:196272]</div><div class='add'>+</div><div class='add'>+Wed Jun  7 14:53:04 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (errmap): add some winsock errors.</div><div class='add'>+</div><div class='add'>+Wed Jun  7 11:34:38 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: add new configure option `--with-winsock2' for mingw.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (config.h): define USE_WINSOCK2 in config.h</div><div class='add'>+	  instead of in CPPFLAGS.</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: determine whether to use winsock2 or not</div><div class='add'>+	  by using with_config.</div><div class='add'>+</div><div class='add'>+Wed Jun  7 10:45:10 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/{configure.bat, setup.mak, Makefile.sub, win32.h}: add</div><div class='add'>+	  new configure option `--with-winsock2'.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (StartSockets): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (open_ifs_socket): new function.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket()</div><div class='add'>+	  instead of socket().</div><div class='add'>+	  ifs socket support is backported from trunk.</div><div class='add'>+</div><div class='add'>+Wed Jun  7 09:14:44 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): binding for the return event hook should have</div><div class='add'>+	  consistent scope.  [ruby-core:07928]</div><div class='add'>+</div><div class='add'>+	* eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from</div><div class='add'>+	  event_hooks.	no guarantee for arbitrary hook deletion.</div><div class='add'>+	  [ruby-dev:28632]</div><div class='add'>+</div><div class='add'>+Mon Jun  5 18:12:12 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_unpack_sockaddr_in): reject</div><div class='add'>+	  non-AF_INET/AF_INET6 sockaddr.</div><div class='add'>+	  (sock_s_unpack_sockaddr_un): reject non-AF_UNIX sockaddr.</div><div class='add'>+	  [ruby-dev:28691]</div><div class='add'>+</div><div class='add'>+Sun Jun  4 20:40:19 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: fix sockaddr_un handling.</div><div class='add'>+	  [ruby-dev:28677]</div><div class='add'>+</div><div class='add'>+Fri Jun  2 22:08:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/forwardable.rb: RDoc typo fix from Jan Svitok</div><div class='add'>+	  &lt;jan.svitok at gmail.com&gt;.  [ruby-core:07943]</div><div class='add'>+</div><div class='add'>+Fri Jun  2 19:02:09 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: use create_header.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h, ext/openssl/openssl_missing.h:</div><div class='add'>+	  include RUBY_EXTCONF_H.</div><div class='add'>+</div><div class='add'>+Fri Jun  2 17:16:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (CLEANINGS): remove extconf.h by distclean if created.</div><div class='add'>+</div><div class='add'>+Fri Jun  2 00:11:19 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (s_recvfrom): alen may be zero with UNIXSocket</div><div class='add'>+	  too.  (tested on NetBSD 3.0)</div><div class='add'>+	  (s_recvfrom_nonblock): extracted from sock_recvfrom_nonblock.</div><div class='add'>+	  (sock_recvfrom_nonblock): use s_recvfrom_nonblock.</div><div class='add'>+	  (ip_recvfrom_nonblock): new method: IPSocket#recvfrom_nonblock</div><div class='add'>+	  (unix_recvfrom_nonblock): new method: UNIXSocket#recvfrom_nonblock</div><div class='add'>+	  (s_accept_nonblock): extracted from sock_accept_nonblock.</div><div class='add'>+	  (sock_accept_nonblock): use s_accept_nonblock.</div><div class='add'>+	  (tcp_accept_nonblock): new method: TCPServer#accept_nonblock</div><div class='add'>+	  (unix_accept_nonblock): new method: UNIXServer#accept_nonblock</div><div class='add'>+</div><div class='add'>+Thu Jun  1 19:12:37 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_cmdvector): backslashes inside single-quotes</div><div class='add'>+	  no longer has special meanings.  fixed: [ruby-list:42311]</div><div class='add'>+</div><div class='add'>+Thu Jun  1 16:14:41 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_getcwd): runtime's getcwd() will not success</div><div class='add'>+	  if the length of the cwd is longer than MAX_PATH.</div><div class='add'>+	  fixed [ruby-list:42335]</div><div class='add'>+</div><div class='add'>+Thu Jun  1 11:29:14 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_getcwd): set errno if not set.</div><div class='add'>+	  fixed [ruby-list:42346]</div><div class='add'>+</div><div class='add'>+Sat May 27 11:29:46 2006  nobuyoshi nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): remove extinit files if no statically linked</div><div class='add'>+	  extensions.</div><div class='add'>+</div><div class='add'>+Fri May 26 09:05:11 2006  nobuyoshi nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h, lib/mkmf.rb (create_header): clear command line options for</div><div class='add'>+	  macros moved to extconf.h.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and</div><div class='add'>+	  EXTSTATIC permanent.</div><div class='add'>+</div><div class='add'>+	* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added</div><div class='add'>+	  $(INCFLAGS).</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration): add $defs unless extconf.h was created.</div><div class='add'>+</div><div class='add'>+Thu May 25 01:52:07 2006  nobuyoshi nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (pkg_config): particular config commands support.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: deal with $static set in extconf.rb.</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: merge multiple entries to an entry with multiple lines.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: allow a series of commands to link.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub: embed manifests.</div><div class='add'>+</div><div class='add'>+	* win32/setup.mak: suffix OS name by runtime version.</div><div class='add'>+</div><div class='add'>+Wed May 24 23:52:11 2006  nobuyoshi nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (ac_install_sh): ignore dummy install-sh.</div><div class='add'>+	  [ruby-talk:193876]</div><div class='add'>+</div><div class='add'>+Wed May 24 03:10:48 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb</div><div class='add'>+	  (OpenSSL::SSL::SocketForwarder#setsockopt,getsockopt): typo fixed.</div><div class='add'>+</div><div class='add'>+Mon May 22 17:54:12 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_recvfrom_nonblock): use rb_read_pending</div><div class='add'>+	  instead of rb_io_read_pending.</div><div class='add'>+	  [ruby-dev:28663]</div><div class='add'>+</div><div class='add'>+Mon May 22 17:30:04 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubyio.h (rb_io_set_nonblock): declared.</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_set_nonblock): new function.</div><div class='add'>+	  (io_getpartial): nonblocking read support.</div><div class='add'>+	  (io_read_nonblock): new method: IO#read_nonblock.</div><div class='add'>+	  (io_write_nonblock): new method: IO#write_nonblock.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c</div><div class='add'>+	  (sock_connect_nonblock): new method: Socket#connect_nonblock.</div><div class='add'>+	  (sock_accept_nonblock): new method: Socket#accept_nonblock.</div><div class='add'>+	  (sock_recvfrom_nonblock): new method: Socket#recvfrom_nonblock.</div><div class='add'>+</div><div class='add'>+	  [ruby-core:7917]</div><div class='add'>+</div><div class='add'>+Mon May 22 15:57:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (umethod_bind): should not update original class.</div><div class='add'>+	  [ruby-dev:28636]</div><div class='add'>+</div><div class='add'>+Mon May 22 13:38:57 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ev_const_get): should support constant access from</div><div class='add'>+	  within instance_eval().  [ruby-dev:28327]</div><div class='add'>+</div><div class='add'>+Thu May 18 17:51:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_timeval): should round for usec floating</div><div class='add'>+	  number.  [ruby-core:07896]</div><div class='add'>+</div><div class='add'>+	* time.c (time_add): ditto.</div><div class='add'>+</div><div class='add'>+Thu May 18 17:11:45 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::out): support utf-8.  a patch from Fujioka</div><div class='add'>+	  &lt;fuj at rabbix.jp&gt;.  [ruby-dev:28649]</div><div class='add'>+</div><div class='add'>+Thu May 18 00:42:12 2006  nobuyoshi nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb, lib/mkmf.rb: use BUILD_FILE_SEPARATOR in Makefiles.</div><div class='add'>+</div><div class='add'>+Wed May 17 17:55:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (sys_warning): should not call a vararg function</div><div class='add'>+	  rb_sys_warning() indirectly.  [ruby-core:07886]</div><div class='add'>+</div><div class='add'>+Wed May 17 08:17:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): try to reduce errors using powersOf10</div><div class='add'>+	  table.  [ruby-dev:28644]</div><div class='add'>+</div><div class='add'>+Tue May 16 15:34:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (rb_reg_initialize): should not allow modifying literal</div><div class='add'>+	  regexps.  frozen check moved from rb_reg_initialize_m as well.</div><div class='add'>+</div><div class='add'>+Tue May 16 09:20:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (rb_reg_initialize): should not modify untainted objects in</div><div class='add'>+	  safe levels higher than 3.</div><div class='add'>+</div><div class='add'>+	* re.c (rb_memcmp): type change from char* to const void*.</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_close): should not close untainted dir stream.</div><div class='add'>+</div><div class='add'>+	* dir.c (GetDIR): add tainted/frozen check for each dir operation.</div><div class='add'>+</div><div class='add'>+Mon May 15 17:42:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):</div><div class='add'>+	  typo fixed.  a patch from Florian Gross &lt;florg at florg.net&gt;.</div><div class='add'>+</div><div class='add'>+Sat May 13 16:14:05 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (PP.mcall): new method.</div><div class='add'>+	  (Struct#pretty_print): call Kernel#class and Struct#members even if</div><div class='add'>+	  overridden.</div><div class='add'>+	  (Struct#pretty_print_cycle): ditto.</div><div class='add'>+	  [ruby-core:7865]</div><div class='add'>+</div><div class='add'>+Thu May 11 19:57:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): differ addition to minimize error.</div><div class='add'>+	  [ruby-dev:28619]</div><div class='add'>+</div><div class='add'>+Fri Aug 11 15:39:25 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/tag.rb: Replace nodoc with stopdoc so Module methods get</div><div class='add'>+	  documented.</div><div class='add'>+</div><div class='add'>+Thu May 11 18:10:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): should not raise ERANGE when the input</div><div class='add'>+	  string does not have any digits.  [ruby-dev:28629]</div><div class='add'>+</div><div class='add'>+Sun May  7 03:09:51 2006  Stephan Maka  &lt;stephan@spaceboyz.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP#initialize):</div><div class='add'>+	  Use AF_INET6 for nameservers containing colons.</div><div class='add'>+</div><div class='add'>+Sat May  6 00:38:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (trap): sig should be less then NSIG.  Coverity found</div><div class='add'>+	  this bug.  a patch from Kevin Tew &lt;tewk at tewk.com&gt;.</div><div class='add'>+	  [ruby-core:07823]</div><div class='add'>+</div><div class='add'>+Thu May  4 02:24:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_scan_scalar): avoid accessing</div><div class='add'>+	  uninitialized array element.  a patch from Pat Eyler</div><div class='add'>+	  &lt;rubypate at gmail.com&gt;.  [ruby-core:07809]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): initialize local variables first.  a</div><div class='add'>+	  patch from Pat Eyler &lt;rubypate at gmail.com&gt;.  [ruby-core:07810]</div><div class='add'>+</div><div class='add'>+	* ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free</div><div class='add'>+	  type_tag.  a patch from Pat Eyler &lt;rubypate at gmail.com&gt;.</div><div class='add'>+	  [ruby-core:07808]</div><div class='add'>+</div><div class='add'>+Wed May  3 02:12:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (make_hostent_internal): accept ai_family</div><div class='add'>+	  check from Sam Roberts &lt;sroberts at uniserve.com&gt;.</div><div class='add'>+	  [ruby-core:07691]</div><div class='add'>+</div><div class='add'>+Mon May  1 12:23:19 2006    &lt;sinara@blade.nagaokaut.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (num_div): use floor rather than rb_Integer().</div><div class='add'>+	  [ruby-dev:28589]</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_divmod): the first element of Float#divmod should</div><div class='add'>+	  be an integer. [ruby-dev:28589]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.</div><div class='add'>+</div><div class='add'>+Sat Apr 29 22:42:08 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_decode0): should initialize</div><div class='add'>+	  flag. [ruby-core:07785]</div><div class='add'>+</div><div class='add'>+Fri Apr 28 10:53:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): should not cut off 18 digits for no</div><div class='add'>+	  reason.  [ruby-core:07796]</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): fixed wrong conversion.</div><div class='add'>+</div><div class='add'>+Thu Apr 27 01:38:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): internalize local variable "beg" to</div><div class='add'>+	  pacify Coverity.  [ruby-core:07770]</div><div class='add'>+</div><div class='add'>+Wed Apr 26 16:59:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): now supports CRLF newlines.  a patch from</div><div class='add'>+	  &lt;tommy at tmtm.org&gt;.  [ruby-dev:28601]</div><div class='add'>+</div><div class='add'>+Tue Apr 25 18:00:05 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c (delete_slaves): maybe increment the reference</div><div class='add'>+	  count of a NULL Tcl_Obj [ruby-core:07759].</div><div class='add'>+</div><div class='add'>+Tue Apr 25 07:55:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/jcode.rb (String::tr_s): should have translated non</div><div class='add'>+	  squeezing character sequence (i.e. a character) as well.  thanks</div><div class='add'>+	  to Hiroshi Ichikawa &lt;gimite at gimite.ddo.jp&gt; [ruby-list:42090]</div><div class='add'>+</div><div class='add'>+Tue Apr 25 00:08:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* regex.c (re_compile_pattern): should check if c is not a</div><div class='add'>+	  multibyte character.  a patch from KIMURA Koichi</div><div class='add'>+	  &lt;kimura.koichi at canon.co.jp&gt;.  [ruby-dev:28598]</div><div class='add'>+</div><div class='add'>+Fri Apr 21 15:19:13 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c (lib_eventloop_ensure): refer freed pointer</div><div class='add'>+	  [ruby-core:07744] and memory leak.</div><div class='add'>+</div><div class='add'>+Fri Apr 21 12:14:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: document update patch from Sam Roberts</div><div class='add'>+	  &lt;sroberts at uniserve.com&gt;.  [ruby-core:07701]</div><div class='add'>+</div><div class='add'>+Wed Apr 19 13:55:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (arg): too much NEW_LIST()</div><div class='add'>+</div><div class='add'>+	* eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.</div><div class='add'>+</div><div class='add'>+Wed Apr 19 11:57:04 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.</div><div class='add'>+	  [ruby-dev:28585]</div><div class='add'>+</div><div class='add'>+	* parse.y (list_concat): revert last change.</div><div class='add'>+</div><div class='add'>+	* parse.y (arg): use NODE_ARGSCAT for placeholder.</div><div class='add'>+</div><div class='add'>+Wed Apr 19 11:13:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/getoptlong.rb (GetoptLong::get): RDoc update patch from</div><div class='add'>+	  mathew &lt;meta at pobox.com&gt;.  [ruby-core:07738]</div><div class='add'>+</div><div class='add'>+Wed Apr 19 10:13:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_const_set): raise error when no target klass is</div><div class='add'>+	  supplied.  [ruby-dev:28582]</div><div class='add'>+</div><div class='add'>+Wed Apr 19 09:49:36 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (list_concat): should not modify nodes other than</div><div class='add'>+	  NODE_ARRAY.  [ruby-dev:28583]</div><div class='add'>+</div><div class='add'>+Tue Apr 18 17:40:37 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: update RELEASE_DATE.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: forget to reset a Tcl interpreter.</div><div class='add'>+</div><div class='add'>+	* ext/tk/stubs.c: fix potential bugs about handling rb_argv0.</div><div class='add'>+</div><div class='add'>+Tue Apr 18 00:11:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: block_unique should be 1, not frame_unique.</div><div class='add'>+	  [ruby-dev:28577]</div><div class='add'>+</div><div class='add'>+Fri Aug 11 15:39:25 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_body): Make RDoc</div><div class='add'>+	  ignore C function prototypes.  Patch by Tilman Sauerbeck</div><div class='add'>+	  &lt;tilman at code-monkey.de&gt;.  [ruby-core:8574]</div><div class='add'>+	* lib/yaml/tag.rb: Replace nodoc with stopdoc so Module methods get</div><div class='add'>+	  documented.</div><div class='add'>+</div><div class='add'>+Mon Apr 10 01:03:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* prec.c (prec_prec_f): documentation patch from</div><div class='add'>+	  &lt;gerardo.santana at gmail.com&gt;.  [ruby-core:07689]</div><div class='add'>+</div><div class='add'>+Sat Apr  8 02:34:34 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_pow): second operand may be too big even if</div><div class='add'>+	  it's a Fixnum.  [ruby-talk:187984]</div><div class='add'>+</div><div class='add'>+Sat Apr  8 02:12:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* README.EXT: update symbol description.  [ruby-talk:188104]</div><div class='add'>+</div><div class='add'>+Thu Apr  6 23:28:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* COPYING: explicitly note GPLv2.  [ruby-talk:187922]</div><div class='add'>+</div><div class='add'>+Thu Apr  6 11:18:37 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/panedwindow.rb: lack of arguments. [ruby-core:7681]</div><div class='add'>+</div><div class='add'>+Thu Apr  6 01:04:47 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: fix SEGV when embedding to an application.</div><div class='add'>+	  [ruby-core:7600]</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: fix SEGV at exit. [ruby-talk:186489]</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil/tkutil.c: follow to changing specification of</div><div class='add'>+	  instance_eval on ruby-1.9.x.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: remove warning about redefinition of methods.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: remove warning about unseting Tcl</div><div class='add'>+	  variables.</div><div class='add'>+</div><div class='add'>+Wed Mar 29 20:54:44 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (fole_getproperty): WIN32OLE#[] should accept</div><div class='add'>+	  multi arguments.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/testWIN32OLE.rb (test_setproperty_bracket): ditto.</div><div class='add'>+</div><div class='add'>+Wed Mar 29 10:07:44 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c (nkf_each_char_to_hex, encode_fallback_subchar,</div><div class='add'>+	  e2w_conv): support C90 compiler.</div><div class='add'>+</div><div class='add'>+Wed Mar 29 06:48:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (backtrace): reports aliased method names in a generated</div><div class='add'>+	  backtrace.  a patch from "U.Nakamura" &lt;usa at garbagecollect.jp&gt;.</div><div class='add'>+	  [ruby-dev:28471]</div><div class='add'>+</div><div class='add'>+Mon Mar 27 22:19:09 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/{nkf.c, utf8tbl.c, config.h}: imported nkf 2.0.6.</div><div class='add'>+	  * Add --ic / --oc option and mapping tables.</div><div class='add'>+	  * Add fallback option.</div><div class='add'>+	  * Add --no-best-fit-chars option.</div><div class='add'>+	  * Fix some bugs.</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf.c (nkf_split_options): added for parse option string.</div><div class='add'>+</div><div class='add'>+	* ext/nkf/lib/kconv.rb (Kconv.to*): add -m0.</div><div class='add'>+	  Note that Kconv.to* still imply -X.</div><div class='add'>+</div><div class='add'>+Mon Mar 27 03:17:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): insecure calling should be checked for non</div><div class='add'>+	  NODE_SCOPE method invocations too.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_alias): should preserve the current safe level as</div><div class='add'>+	  well as method definition.</div><div class='add'>+</div><div class='add'>+Fri Mar 24 23:14:30 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (yield_under_i): pass self again for instance_eval().</div><div class='add'>+	  [ruby-dev:28466]</div><div class='add'>+</div><div class='add'>+Fri Mar 24 17:20:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_sleep): remove description about SIGALRM which</div><div class='add'>+	  is not valid on the current implementation.  [ruby-dev:28464]</div><div class='add'>+</div><div class='add'>+Thu Mar 23 10:47:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (method_missing): should support argument splat in</div><div class='add'>+	  super.  [ruby-talk:185438]</div><div class='add'>+</div><div class='add'>+Mon Mar 20 12:05:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: Solaris SunPro compiler -rapth patch from</div><div class='add'>+	  &lt;kuwa at labs.fujitsu.com&gt;.  [ruby-dev:28443]</div><div class='add'>+</div><div class='add'>+Mon Mar 20 09:40:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: remove enable_rpath=no for Solaris.</div><div class='add'>+	  [ruby-dev:28440]</div><div class='add'>+</div><div class='add'>+Fri Mar 17 19:08:49 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: fix typo.</div><div class='add'>+	  [ruby-core:07571]</div><div class='add'>+</div><div class='add'>+Wed Mar 15 16:54:21 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): support libraries without *.so.</div><div class='add'>+</div><div class='add'>+Wed Mar 15 16:35:43 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: should use</div><div class='add'>+	  "rb_str_new(0, 0)" to make empty string.</div><div class='add'>+</div><div class='add'>+Sat Mar 11 14:24:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::wrap): removed</div><div class='add'>+	  space before argument parenthesis.  [ruby-talk:183630]</div><div class='add'>+</div><div class='add'>+	* ruby.1: a clarification patch from David Lutterkort</div><div class='add'>+	  &lt;dlutter at redhat.com&gt;.  [ruby-core:7508]</div><div class='add'>+</div><div class='add'>+Sat Mar  4 15:26:40 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (id2ref): fix symbol test.</div><div class='add'>+</div><div class='add'>+Sat Mar  4 01:08:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_paths.rb (RI::Paths): adding paths from rubygems</div><div class='add'>+	  directories.  a patch from Eric Hodel &lt;drbrain at segment7.net&gt;.</div><div class='add'>+	  [ruby-core:07423]</div><div class='add'>+</div><div class='add'>+Thu Mar  2 19:44:18 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c: align VALUE with sizeof(RVALUE) globally.</div><div class='add'>+	  (is_pointer_to_heap): check alignment out of loop.</div><div class='add'>+	  (id2ref): avoid collision between symbols and objects.</div><div class='add'>+	  (rb_obj_id): ditto.  moved from object.c.</div><div class='add'>+	  [ruby-talk:178364] [ruby-core:7305]</div><div class='add'>+</div><div class='add'>+Thu Mar  2 18:58:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_fd_writable): should not re-schedule output</div><div class='add'>+	  from KILLED thread (must be error printing).</div><div class='add'>+</div><div class='add'>+Thu Mar  2 17:57:49 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c: commited magic for reducing RVALUE size on windows. (24-&gt;20byte)</div><div class='add'>+	  [ruby-core:7474]</div><div class='add'>+</div><div class='add'>+Thu Mar  2 12:59:14 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (filetime_to_unixtime): should set tm_isdst to -1.</div><div class='add'>+	  stat() didn't treat daylight saving time property on WinNT.</div><div class='add'>+	  [ruby-talk:182100]</div><div class='add'>+</div><div class='add'>+Thu Mar  2 08:02:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (add_heap): heap_slots may overflow.  a patch from Stefan</div><div class='add'>+	  Weil &lt;weil at mail.berlios.de&gt;.</div><div class='add'>+</div><div class='add'>+Wed Mar  1 00:24:31 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (read_escape): could not handle /\^/.</div><div class='add'>+	  merged Mr. Ishizuka's lib/irb/ruby-lex.rb 's patch rev 1.29.</div><div class='add'>+	  [ruby-talk:181631] [ruby-dev:28404]</div><div class='add'>+</div><div class='add'>+Tue Feb 28 09:32:17 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/extservm.rb (invoke_service_command): cannot invoke command</div><div class='add'>+	  if command name is quoted on mswin32. [ruby-dev:28400]</div><div class='add'>+</div><div class='add'>+Mon Feb 27 00:19:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h (SYM2ID): should not cast to signed long.</div><div class='add'>+	  [ruby-core:07414]</div><div class='add'>+</div><div class='add'>+Fri Feb 24 20:07:23 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb (add_service_command): quote pathnames in the</div><div class='add'>+	  server's command line for space contained directory names.</div><div class='add'>+	  Thanks, arton. [ruby-dev:28386]</div><div class='add'>+</div><div class='add'>+Fri Feb 24 12:11:08 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb: install *.exe.manifest and *.dll.manifest if exist.</div><div class='add'>+	  It's for VC++8.</div><div class='add'>+</div><div class='add'>+Fri Feb 24 11:33:52 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (HAVE_HYPOT): bcc32 has hypot().</div><div class='add'>+</div><div class='add'>+Fri Feb 24 11:19:58 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_new_internal): add prototype to tell the compiler</div><div class='add'>+	  arugments types.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (NtInitialize): need to set a handler for VC++8.</div><div class='add'>+</div><div class='add'>+Fri Feb 24 08:19:16 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test.rb: Removed.  Obsolete by test/nkf.</div><div class='add'>+</div><div class='add'>+	* ext/.document: enabled documents in nkf and kconv</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf.c ext/nkf/lib/kconv.rb: Add rdoc.</div><div class='add'>+</div><div class='add'>+Thu Feb 23 22:39:59 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: use borlndmm.dll if possible. bcc32's RTL internal</div><div class='add'>+	  memory manager cannot handle large memory block properly.</div><div class='add'>+	  ex: 10000.times { "" &lt;&lt; "." * 529671; GC.start } # crash</div><div class='add'>+	  [ruby-dev:28230]</div><div class='add'>+</div><div class='add'>+Thu Feb 23 13:20:28 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (SETUP_ARGS0): fixed memory corruption. [ruby-dev:28360]</div><div class='add'>+</div><div class='add'>+Tue Feb 21 02:18:46 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (mingw): have link.  [ruby-list:41838]</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (config.h): ditto.</div><div class='add'>+</div><div class='add'>+Tue Feb 21 02:07:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (f_arglist): should set command_start = Qtrue for</div><div class='add'>+	  command body.  [ruby-talk:180648]</div><div class='add'>+</div><div class='add'>+Mon Feb 20 17:37:26 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: alias RbConfig for Config.</div><div class='add'>+</div><div class='add'>+Mon Feb 20 12:27:53 2006  Kent Sibilev  &lt;ksruby@gmail.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rational.rb (Integer::gcd): small typo fix.</div><div class='add'>+	  [ruby-core:07395]</div><div class='add'>+</div><div class='add'>+Mon Feb 20 01:05:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rational.rb (Integer::gcd): replaced by gcd4 in</div><div class='add'>+	  [ruby-core:07390].  [ruby-core:07377]</div><div class='add'>+</div><div class='add'>+Mon Feb 20 00:57:02 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h (OSSL_Debug): should not use __func__.</div><div class='add'>+	  [ruby-dev:28339]</div><div class='add'>+</div><div class='add'>+Sun Feb 19 04:46:29 2006  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: initial value for block_unique must be 1.</div><div class='add'>+	  [ruby-talk:180420]</div><div class='add'>+</div><div class='add'>+Sat Feb 18 23:58:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tracer.rb (Tracer::Tracer.add_filter): turn on tracer mode</div><div class='add'>+	  only when caller() level size is one.  [ruby-core:07389]</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: need not to require "tracer".</div><div class='add'>+	  [ruby-core:07389]</div><div class='add'>+</div><div class='add'>+	* sample/rtags.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Feb 18 12:18:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (FileUtils::fu_world_writable): make it</div><div class='add'>+	  private.  [ruby-core:07383]</div><div class='add'>+</div><div class='add'>+Sat Feb 18 00:22:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tracer.rb: merged a minor clarification patch from Daniel</div><div class='add'>+	  Berger &lt;Daniel.Berger at qwest.com&gt;.  [ruby-core:07376]</div><div class='add'>+</div><div class='add'>+Fri Feb 17 11:18:42 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): Float("1e") should fail. [ruby-core:7330]</div><div class='add'>+</div><div class='add'>+	* pack.c (EXTEND32): unpack("l") did not work where sizeof(long) != 4.</div><div class='add'>+	  [ruby-talk:180024]</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): fixed integer overflow on template "w".</div><div class='add'>+	  [ruby-talk:180126]</div><div class='add'>+</div><div class='add'>+Fri Feb 17 09:39:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_wait_for): sleep should always sleep for</div><div class='add'>+	  specified amount of time.  [ruby-talk:180067]</div><div class='add'>+</div><div class='add'>+Thu Feb 16 01:10:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (backtrace): frame-&gt;orig_func may not be initialized.</div><div class='add'>+	  [ruby-core:07367]</div><div class='add'>+</div><div class='add'>+Wed Feb 15 16:52:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): NODE_OP_ASGN1 should allow splat in its</div><div class='add'>+	  argument list.  [ruby-core:07366]</div><div class='add'>+</div><div class='add'>+	* parse.y (arg): avoid unnecessary extra argument.</div><div class='add'>+	  [ruby-core:07366]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): honor visibility on OP_ASGN1 and</div><div class='add'>+	  OP_ASGN2. [ruby-core:07366]</div><div class='add'>+</div><div class='add'>+Wed Feb 15 10:09:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (yield_under_i): should not pass self as an argument to</div><div class='add'>+	  the block for instance_eval.  [ruby-core:07364]</div><div class='add'>+</div><div class='add'>+Wed Feb 15 09:20:35 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_obj_instance_eval): should be no singleton classes for</div><div class='add'>+	  true, false, and nil.  [ruby-dev:28186]</div><div class='add'>+</div><div class='add'>+Tue Feb 14 18:48:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (DMETHOD_P): accessing wrong frame.  [ruby-dev:28181]</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): preserve FRAME_DMETH flag.</div><div class='add'>+</div><div class='add'>+Tue Feb 14 15:13:51 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c: supress warning on test/zlib. [ruby-dev:28323]</div><div class='add'>+</div><div class='add'>+Tue Feb 14 14:01:17 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (search_time_t): support non 32bit time_t environments.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (config.h): VC++8 has ``long long'' type.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (config.h): VC++8's time_t is 64bit value.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_utime): drop read-only attribute before</div><div class='add'>+	  changing file time.</div><div class='add'>+</div><div class='add'>+	  all changes are backported from CVS HEAD.</div><div class='add'>+</div><div class='add'>+Tue Feb 14 11:21:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (argf_forward): should not use frame-&gt;argv.</div><div class='add'>+	  [ruby-core:07358]</div><div class='add'>+</div><div class='add'>+Mon Feb 13 18:08:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): argument update propagation.  [ruby-dev:28044]</div><div class='add'>+</div><div class='add'>+	* env.h: remove argv member from struct FRAME.</div><div class='add'>+</div><div class='add'>+Mon Feb 13 13:27:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): should push class from binding if supplied.</div><div class='add'>+	  [ruby-core:07347]</div><div class='add'>+</div><div class='add'>+Mon Feb 13 00:04:00 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/erb.rb (ERB::Compiler): add instance variable @insert_cmd to</div><div class='add'>+	  change &lt;%='s behavior. (backported 1.15 - 1.16)</div><div class='add'>+</div><div class='add'>+Sat Feb 11 02:04:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): no need to push ruby_class.  [ruby-dev:28176]</div><div class='add'>+</div><div class='add'>+Sat Feb 11 01:57:44 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_autoload): check if ruby_cbase is nil (during</div><div class='add'>+	  instance_eval for objects cannot have singleton classes,</div><div class='add'>+	  e.g. fixnums and symbols).  [ruby-dev:28178]</div><div class='add'>+</div><div class='add'>+Tue Feb  7 23:03:24 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c: should not access ruby objects in finalizer.</div><div class='add'>+	  [ruby-dev:28286]</div><div class='add'>+</div><div class='add'>+Mon Feb  6 16:02:51 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.</div><div class='add'>+	  In such situation, flock() should return 0.</div><div class='add'>+</div><div class='add'>+Mon Feb  6 00:41:08 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h (RSTRUCT_LEN, RSTRUCT_PTR): defined for source level</div><div class='add'>+	  compatibility with ruby 1.9.</div><div class='add'>+</div><div class='add'>+Sun Feb  5 21:05:34 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_to_s): removed workaround for radix 2. Historically,</div><div class='add'>+	  rb_fix2str could only handle radix 8, 10, 16. (Rev1.37) But for now,</div><div class='add'>+	  it can handle radix 2..36. [ruby-Bugs#3438] [ruby-core:7300]</div><div class='add'>+</div><div class='add'>+Sun Feb  5 18:55:08 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: imported from trunk, rev 1.129</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (add_field, get_fields): keep 1.8.2 backward</div><div class='add'>+	  compatibility.</div><div class='add'>+</div><div class='add'>+	* lib/net/https.rb: imported from trunk, rev 1.3.</div><div class='add'>+</div><div class='add'>+	* lib/net/https.rb: #use_ssl? definition moved from net/http.rb.</div><div class='add'>+</div><div class='add'>+Sun Feb  5 14:22:15 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb: should return default value if name is not found.</div><div class='add'>+	  [ruby-core:7304]</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb: should raise PStore::Error if not in transaction.</div><div class='add'>+</div><div class='add'>+Sat Feb  4 22:51:43 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: apply the FreeBSD getcontext/setcontext workaround</div><div class='add'>+	  only before FreeBSD 7-CURRENT.</div><div class='add'>+</div><div class='add'>+Sat Feb  4 21:19:23 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (LK_ERR): ERROR_NOT_LOCKED is not an error.</div><div class='add'>+	  In such situation, flock() should return 0.</div><div class='add'>+</div><div class='add'>+Sat Feb  4 15:56:37 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where</div><div class='add'>+	  sizeof(int) == 4 &lt; sizeof(long). [ruby-core:7300]</div><div class='add'>+</div><div class='add'>+Fri Feb  3 15:06:50 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c (syck_move_tokens): should reset p-&gt;cursor or etc</div><div class='add'>+	  even if skip == 0. This causes buffer overrun.</div><div class='add'>+	  (ex: YAML.load('--- "..' + '\x82\xA0' * 511 + '"'))</div><div class='add'>+</div><div class='add'>+Thu Feb  2 23:51:18 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_emitter_write): should not set '\0' on</div><div class='add'>+	  emitter's marker. if marker points to the end of buffer, this causes</div><div class='add'>+	  buffer overrun. (ex: YAML.dump("." * 12288))</div><div class='add'>+</div><div class='add'>+Thu Feb  2 16:01:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): need not to protect $SAFE value.</div><div class='add'>+	  [ruby-core:07177]</div><div class='add'>+</div><div class='add'>+Thu Feb  2 14:45:53 2006  Ville Mattila  &lt;ville.mattila@stonesoft.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: The isinf is not regognized by autoconf</div><div class='add'>+	  library guesser on solaris 10. [ruby-core:7138]</div><div class='add'>+</div><div class='add'>+Wed Feb  1 22:01:47 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, hash.c (ruby_setenv): use setenv(3) and unsetenv(3)</div><div class='add'>+	  where they are supported. modifing environ variable seems to</div><div class='add'>+	  segfault solaris 10. [ruby-core:7276] [ruby-dev:28270]</div><div class='add'>+</div><div class='add'>+	* ruby.c (set_arg0): if use setenv(3), environ space cannot be used</div><div class='add'>+	  for altering argv[0].</div><div class='add'>+</div><div class='add'>+Tue Jan 31 14:46:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c (rb_struct_select): update RDoc description.</div><div class='add'>+	  [ruby-core:7254]</div><div class='add'>+</div><div class='add'>+Tue Jan 31 11:58:51 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add MultiTkIp#eval and bg_eval.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: TkNamespace#eval was enbugged at the</div><div class='add'>+	  last commit. Now it will return a proper object.</div><div class='add'>+</div><div class='add'>+Tue Jan 31 00:10:26 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV.</div><div class='add'>+	  ex: ruby -ryaml -e 'YAML.load("!map:B {}")' [ruby-core:7217]</div><div class='add'>+</div><div class='add'>+Sat Jan 28 07:56:57 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/usage.rb: support "a:0:33" style caller[-1]. In this case</div><div class='add'>+	  file name is "a:0". I don't know this really happens though...</div><div class='add'>+	  [ruby-Bugs:3344]</div><div class='add'>+</div><div class='add'>+Wed Jan 25 22:29:04 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use</div><div class='add'>+	  system routine if provided.  fixed: [ruby-core:07195]</div><div class='add'>+</div><div class='add'>+Sun Jan 22 23:27:13 2006  Go Noguchi  &lt;gonoguti@yahoo.co.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (process_args): ignore arguments after</div><div class='add'>+	  '--' so that test scripts can handle them.  fixed: [ruby-dev:28258]</div><div class='add'>+</div><div class='add'>+Sun Jan 22 22:09:52 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (POST_GETCONTEXT): define separately from PRE_GETCONTEXT on</div><div class='add'>+	  IA64 to avoid reusing variable address.</div><div class='add'>+</div><div class='add'>+Sun Jan 22 20:03:35 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_setjmp): define PRE_GETCONTEXT and POST_GETCONTEXT</div><div class='add'>+	  instead of FUNCTION_CALL_MAY_RETURN_TWICE.</div><div class='add'>+	  define PRE_GETCONTEXT to clear carry flag for workaround of</div><div class='add'>+	  FreeBSD/i386 getcontext/setcontext bug.</div><div class='add'>+	  [ruby-dev:28263]</div><div class='add'>+</div><div class='add'>+Sat Jan 21 00:36:47 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): use only on SPARC and IA64</div><div class='add'>+	  before gcc 4.0.3.</div><div class='add'>+	  [ruby-dev:28247]</div><div class='add'>+</div><div class='add'>+Thu Jan 19 22:21:23 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mv): should remove file after copying.</div><div class='add'>+	  [ruby-dev:28223]</div><div class='add'>+</div><div class='add'>+Wed Jan 18 23:37:06 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): don't clobber %l7 of SPARC</div><div class='add'>+	  if enable-shared.</div><div class='add'>+	  (ruby_setjmp): call FUNCTION_CALL_MAY_RETURN_TWICE after getcontext</div><div class='add'>+	  too.</div><div class='add'>+	  reported by Pav Lucistnik and Marius Strobl.</div><div class='add'>+	  http://lists.freebsd.org/pipermail/freebsd-sparc64/2006-January/003739.html</div><div class='add'>+</div><div class='add'>+Tue Jan 17 11:32:46 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/setup.mak (MAKE): workaround for nmake 8.</div><div class='add'>+</div><div class='add'>+Tue Jan 17 11:10:21 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/{Makefile.sub,setup.mak}: invoke .bat via shell. workaround</div><div class='add'>+	  for nmake 8.</div><div class='add'>+</div><div class='add'>+Mon Jan 16 10:26:23 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_emit_seq, syck_emit_map, syck_emit_item):</div><div class='add'>+	  should output complex key mark even if map's key is empty seq/map.</div><div class='add'>+	  [ruby-core:7129]</div><div class='add'>+</div><div class='add'>+Sat Jan 14 05:37:06 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (READ_DATA_PENDING, READ_DATA_PENDING_COUNT): defined</div><div class='add'>+	  for DragonFly BSD 1.4.0.</div><div class='add'>+</div><div class='add'>+Sat Jan 14 03:43:24 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_chmod): avoid warning where sizeof(int) !=</div><div class='add'>+	  sizeof(void*).</div><div class='add'>+</div><div class='add'>+Fri Jan 13 19:14:56 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/diagram.rb:</div><div class='add'>+	    - properly quote bare element attributes</div><div class='add'>+	    - terminates dangling elements (e.g. &lt;img&gt;, &lt;br&gt;, &lt;link&gt;, etc)</div><div class='add'>+	    - converts "CVS" to the more HTML-friendly acronym element</div><div class='add'>+	    - adds missing type attributes to style elements</div><div class='add'>+</div><div class='add'>+	  based on Paul Duncan's patch &lt;pabs@pablotron.org&gt; [ruby-core:7028]</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: ditto.</div><div class='add'>+	* lib/rdoc/generators/template/html/hefss.rb: ditto.</div><div class='add'>+	* lib/rdoc/generators/template/html/html.rb: ditto.</div><div class='add'>+	* lib/rdoc/generators/template/html/kilmer.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Jan 12 11:53:08 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkballoonhelp.rb: [bug fix] couldn't add to a widget</div><div class='add'>+	  which is constructed with TkComposite module.</div><div class='add'>+	  [new feature] support 'command' option which is called just before</div><div class='add'>+	  popping up the balloon help.</div><div class='add'>+</div><div class='add'>+Wed Jan 11 15:00:00 2006  Ville Mattila  &lt;mulperi@iki.fi&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (READ_PENDING*): Support solaris 64-bit environments.</div><div class='add'>+	  Solaris defines a opaque FILE struct when compiling 64 bit</div><div class='add'>+	  binaries. This means that we dont have access to _ptr etc.</div><div class='add'>+	  members anymore. The solution by Steven Lumos is to define</div><div class='add'>+	  FILE64 that has needed members available. I've modified</div><div class='add'>+	  the origanal patch a bit so that it compiles both with gcc</div><div class='add'>+	  and now free sun studio 11 compiler and both amd64 and sparc.</div><div class='add'>+	  NOTE! We have to 64 bit solaris FILE structure time to time</div><div class='add'>+	  otherwise we'll get breakage.</div><div class='add'>+	  [ruby-core:7106]</div><div class='add'>+</div><div class='add'>+Tue Jan 10 19:42:33 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (garbage_collect): mark ruby_current_node.</div><div class='add'>+	  if an exception is raised in a finalizer called written in C by</div><div class='add'>+	  rb_gc_call_finalizer_at_exit, ruby_set_current_source may use</div><div class='add'>+	  collected ruby_current_node and mark_source_filename may corrupt</div><div class='add'>+	  memory.</div><div class='add'>+</div><div class='add'>+Tue Jan 10 13:30:34 2006  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_resolver_transfer): should be able to load</div><div class='add'>+	  !ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159]</div><div class='add'>+</div><div class='add'>+Tue Jan 10 12:47:41 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in</div><div class='add'>+	  ruby 1.8.3/1.8.4. [ruby-core:6115]</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (Numeric): Subclass of Numeric could not</div><div class='add'>+	  be dumped properly. [ruby-core:7047]</div><div class='add'>+</div><div class='add'>+Tue Jan 10 12:00:48 2006  Aaron Schrab  &lt;aaron @nospam@ schrab.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted</div><div class='add'>+	  Symbols broken. [ruby-Bugs:2535]</div><div class='add'>+</div><div class='add'>+Mon Jan  9 19:54:35 2006  arton  &lt;artonx@yahoo.co.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by</div><div class='add'>+	  http://www.zlib.net/ has zdll.lib. [ruby-dev:28209]</div><div class='add'>+</div><div class='add'>+Mon Jan  9 14:17:12 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,</div><div class='add'>+	  (VisualC++6) so use -O2b2xg- if  $(MSC_VER) &lt; 1400. [ruby-core:7040]</div><div class='add'>+</div><div class='add'>+Mon Jan  9 14:17:12 2006  Kero van Gelder  &lt;rubyforge @nospam@ kero.tmfweb.nl&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb: fixed typo. [ruby-core:7075]</div><div class='add'>+</div><div class='add'>+Sat Jan  7 15:40:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (singleton): get rid of segfault on syntax error.</div><div class='add'>+	  fixed: [ruby-core:07070]</div><div class='add'>+</div><div class='add'>+Fri Jan  6 10:16:20 2006  Steven Lumos  &lt;steven@lumos.us&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (READ_DATA_PENDING): defined for 64bit Solaris on SPARC.</div><div class='add'>+	  [ruby-core:7057]</div><div class='add'>+	  (READ_DATA_PENDING_COUNT): ditto.</div><div class='add'>+	  (READ_DATA_PENDING_PTR): ditto.</div><div class='add'>+</div><div class='add'>+Sun Jan  1 17:07:59 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_seekdir): should not segfault even if passed</div><div class='add'>+	  the location which rb_w32_telldir didn't return. [ruby-core:7035]</div><div class='add'>+	  (I think HEAD implementation is better. but binary compatibility)</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_dir.rb: added.</div><div class='add'>+</div><div class='add'>+Sat Dec 31 22:57:00 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_save_context): should not recycle scope object used</div><div class='add'>+	  in a thread.  fixed: [ruby-dev:28177]</div><div class='add'>+</div><div class='add'>+Fri Dec 30 18:22:42 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (garbage_collect): mark objects refered from aborting threads.</div><div class='add'>+	  [ruby-dev:28190]</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub: VC++8 support.</div><div class='add'>+</div><div class='add'>+Fri Dec 30 14:24:53 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (glob_helper): do not use TRUE for djgpp.</div><div class='add'>+</div><div class='add'>+Fri Dec 30 04:54:40 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (eaccess): workaround for VC++8 runtime.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (ioinfo): VC++8 support.</div><div class='add'>+</div><div class='add'>+Thu Dec 29 23:59:37 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_gc_mark_threads): leave unmarked threads which won't wake</div><div class='add'>+	  up alone, and mark threads in the loading table.  [ruby-dev:28154]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked</div><div class='add'>+	  threads.  [ruby-dev:28172]</div><div class='add'>+</div><div class='add'>+Thu Dec 29 17:02:07 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of</div><div class='add'>+	  "miniruby".  [ruby-dev:28140]</div><div class='add'>+</div><div class='add'>+Tue Dec 27 16:59:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb (DRbService::self.ext_service): increase</div><div class='add'>+	  timeout limit.  a patch from Kazuhiro NISHIYAMA</div><div class='add'>+	  &lt;zn at mbf.nifty.com&gt;. [ruby-dev:28132]</div><div class='add'>+</div><div class='add'>+Tue Dec 27 08:29:18 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):</div><div class='add'>+	  treat wildcard character in commonName. [ruby-dev:28121]</div><div class='add'>+</div><div class='add'>+Mon Dec 26 22:32:47 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS,</div><div class='add'>+	  NEW_VALIAS), parse.y (fitem): allow dynamic symbols to</div><div class='add'>+	  NODE_UNDEF and NODE_ALIAS.</div><div class='add'>+	  backported from trunk.  fixed: [ruby-dev:28105]</div><div class='add'>+</div><div class='add'>+Mon Dec 26 08:50:36 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ev_const_get): fixed a bug in constant reference during</div><div class='add'>+	  instance_eval.  [yarv-dev:707]</div><div class='add'>+</div><div class='add'>+	* eval.c (ev_const_defined): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb (YAML::add_domain_type): typo fixed.  a patch from</div><div class='add'>+	  Joel VanderWerf &lt;vjoel at path.berkeley.edu&gt;.</div><div class='add'>+	  [ruby-talk:165285] [ruby-core:6995]</div><div class='add'>+</div><div class='add'>+Sat Dec 24 18:58:14 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* stable version 1.8.4 released.</div><div class='add'>+</div><div class='add'>+Fri Dec 23 10:30:23 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/sha2/sha2.c (ULL): support AIX C.  a patch from</div><div class='add'>+	  Kailden &lt;kailden at gmail.com&gt;.  [ruby-core:06984]</div><div class='add'>+</div><div class='add'>+Wed Dec 21 16:53:06 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (w32_io_info): should return handle because FileIndex is</div><div class='add'>+	  valid only while file is open. [ruby-dev:28088]</div><div class='add'>+</div><div class='add'>+Wed Dec 21 14:53:26 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (test_kernel_open): use File.identical?.</div><div class='add'>+	  [ruby-talk:171804]</div><div class='add'>+</div><div class='add'>+Tue Dec 20 22:41:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval_under_i): evaluate source in caller's frame.</div><div class='add'>+	  [ruby-dev:28076]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call_super): use original method name on exception.</div><div class='add'>+	  [ruby-dev:28078]</div><div class='add'>+</div><div class='add'>+Tue Dec 20 13:11:59 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62)</div><div class='add'>+	  [ruby-dev:27839]</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is</div><div class='add'>+	  NULL or not before S_FREE.</div><div class='add'>+</div><div class='add'>+	* st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert</div><div class='add'>+	  in gram.c to insert node from rb_syck_bad_anchor_handler into</div><div class='add'>+	  SyckParser's hash table. if GC occurs in st_insert, it's not under</div><div class='add'>+	  SyckParser's mark system yet. so RString can be released wrongly.</div><div class='add'>+	  [ruby-dev:28057]</div><div class='add'>+</div><div class='add'>+Tue Dec 20 12:53:23 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility</div><div class='add'>+	  with previous Ruby versions, documents are no longer headless.</div><div class='add'>+</div><div class='add'>+Tue Dec 20 01:46:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_backquote): fix a GC problem on</div><div class='add'>+	  IA64 with gcc 4.0.3 20051216 (prerelease) -O3.</div><div class='add'>+</div><div class='add'>+Mon Dec 19 23:32:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (rb_symname_p): fixed wrong validation.  [ruby-dev:28047]</div><div class='add'>+</div><div class='add'>+Sat Dec 17 03:57:01 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_rshift): fix a GC problem on</div><div class='add'>+	  IA64 with gcc 4.0.3 20051216 (prerelease).</div><div class='add'>+</div><div class='add'>+Sat Dec 17 03:30:23 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (bmcall): fix a GC problem by tail call on</div><div class='add'>+	  IA64 with gcc 4.0.3 20051216 (prerelease).</div><div class='add'>+</div><div class='add'>+Fri Dec 16 00:54:06 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (Init_signal): revert C++ style comment.</div><div class='add'>+	  [ruby-dev:28041]</div><div class='add'>+</div><div class='add'>+Thu Dec 15 12:35:14 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tmpdir.rb: merged RDoc patch from Eric Hodel &lt;drbrain at</div><div class='add'>+	  segment7.net&gt;.  [ruby-core:06894]</div><div class='add'>+</div><div class='add'>+Thu Dec 15 01:33:31 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on</div><div class='add'>+	  x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)</div><div class='add'>+</div><div class='add'>+Wed Dec 14 12:11:46 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/gdbm/test_gdbm.rb: specify pid for the argument of</div><div class='add'>+	  Process.wait.  workaround for Cygwin.</div><div class='add'>+</div><div class='add'>+Wed Dec 14 12:01:26 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_object0): fix a GC problem for reading a bignum on</div><div class='add'>+	  IA64 with gcc 3.3.5 (Debian 1:3.3.5-13).</div><div class='add'>+</div><div class='add'>+Tue Dec 13 12:23:47 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (rb_reg_regcomp): fix a GC problem on x86_64 with</div><div class='add'>+	  gcc 3.3.5 (Debian 1:3.3.5-13).</div><div class='add'>+</div><div class='add'>+Tue Dec 13 01:44:16 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_diff): fix a GC problem on IA64 with</div><div class='add'>+	  gcc 3.3.5 (Debian 1:3.3.5-13).</div><div class='add'>+	  When rb_ary_push is called, there was no register which contains</div><div class='add'>+	  `hash' but `&amp;RHASH(hash)-&gt;tbl' instead.</div><div class='add'>+</div><div class='add'>+Tue Dec 13 00:08:09 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_str_format): fix a GC problem.</div><div class='add'>+	  [ruby-dev:28001]</div><div class='add'>+</div><div class='add'>+Mon Dec 12 15:54:56 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_ssl.rb (test_parallel): call GC.start to close</div><div class='add'>+	  unused files. [ruby-dev:27981]</div><div class='add'>+</div><div class='add'>+Mon Dec 12 00:33:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c (rb_digest_base_s_digest): add volatile to</div><div class='add'>+	  protect temporary context object.  [ruby-dev:27979]</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should</div><div class='add'>+	  be called before actual variable initialization.</div><div class='add'>+	  [ruby-dev:27986]</div><div class='add'>+</div><div class='add'>+Fri Dec  9 23:31:02 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/encoding.rb (encoding=): give priority to particular</div><div class='add'>+	  conversion to iconv.  [ruby-core:06520]</div><div class='add'>+</div><div class='add'>+Thu Dec  8 02:07:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (umethod_bind): adjust invoking class for module method.</div><div class='add'>+	  [ruby-dev:27964]</div><div class='add'>+</div><div class='add'>+Thu Dec  8 00:40:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (call_trace_func): klass parameter should be a</div><div class='add'>+	  class/module that defines calling method.  [ruby-talk:169307]</div><div class='add'>+</div><div class='add'>+Wed Dec  7 17:10:27 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): [ruby-dev:27967]</div><div class='add'>+</div><div class='add'>+Wed Dec  7 15:31:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_str_format): integer overflow check added.</div><div class='add'>+</div><div class='add'>+	* sprintf.c (GETASTER): ditto.</div><div class='add'>+</div><div class='add'>+Wed Dec  7 01:02:04 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/README.macosx-aqua: [new document] tips to avoid the known</div><div class='add'>+	  bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: fix bug on switching threads and waiting on the</div><div class='add'>+	  deleted interpreter on vwait and tkwait command.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk</div><div class='add'>+	  interpreter.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/image3.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/menu8x.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/menu.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Dec  6 16:37:57 2005  Yuya Nishida  &lt;yuya@j96.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (exec_under): avoid accessing ruby_frame-&gt;prev.</div><div class='add'>+	  [ruby-dev:27948]</div><div class='add'>+</div><div class='add'>+Thu Dec  1 00:50:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_funcall2): allow to call protected methods.</div><div class='add'>+	  fixed: [ruby-dev:27890]</div><div class='add'>+</div><div class='add'>+Wed Nov 30 23:52:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (NEWHEAP, ADD2HEAP): set count after pointer was set.</div><div class='add'>+	  fixed: [ruby-dev:27896]</div><div class='add'>+</div><div class='add'>+Wed Nov 30 13:43:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-expr-beg): support $! at the end of</div><div class='add'>+	  expression.   [ruby-dev:27868]</div><div class='add'>+</div><div class='add'>+Mon Nov 28 18:55:43 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (init_inetsock_internal): remove setting</div><div class='add'>+	  SO_REUSEADDR option on server socket on Cygwin.</div><div class='add'>+	  fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ])</div><div class='add'>+</div><div class='add'>+Mon Nov 28 13:08:54 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken</div><div class='add'>+	  error message on bccwin32 + winsock)</div><div class='add'>+</div><div class='add'>+Mon Nov 28 09:21:49 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): should not change sodir with</div><div class='add'>+	  dir.gsub!. (bccwin32 failed to install third party exntesions)</div><div class='add'>+	  [ruby-dev:27834]</div><div class='add'>+</div><div class='add'>+Sun Nov 27 00:56:13 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/xmlSchema/complexContent.rb: missing</div><div class='add'>+	  ComplexContent#elementformdefault method.</div><div class='add'>+</div><div class='add'>+Sat Nov 26 19:57:45 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dln.c (conv_to_posix_path): should initialize posix.</div><div class='add'>+</div><div class='add'>+Thu Nov 24 21:05:58 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (AC_CHECK_FUNCS): need to check link().</div><div class='add'>+	  fixed: [ruby-dev:27814]</div><div class='add'>+</div><div class='add'>+Thu Nov 24 01:22:25 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (w32_io_info): CreateFile failed on Win9x if file was already</div><div class='add'>+	  opened. (FILE_SHARE_READ was needed, but actually I don't understand</div><div class='add'>+	  the flags of CreateFile well...)</div><div class='add'>+</div><div class='add'>+Wed Nov 23 20:59:01 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get</div><div class='add'>+	  [Tk8.5 feature].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: supports new indices modifires on a Text</div><div class='add'>+	  widget [Tk8.5 feature].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/autoload.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5</div><div class='add'>+	  feature].</div><div class='add'>+</div><div class='add'>+Wed Nov 23 18:55:31 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (w32_io_info): should not call GetFileInformationByHandle</div><div class='add'>+	  for pipe.</div><div class='add'>+</div><div class='add'>+	* file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.</div><div class='add'>+</div><div class='add'>+	* file.c (w32_io_info): now can identify directory on WinNT.</div><div class='add'>+</div><div class='add'>+Wed Nov 23 03:40:49 2005  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (KR_REHASH): should cast to unsigned for 64bit CPU.</div><div class='add'>+	  [ruby-core:06721]</div><div class='add'>+</div><div class='add'>+Wed Nov 23 11:01:33 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* intern.h, file.c: failed to compile on windows.</div><div class='add'>+</div><div class='add'>+Wed Nov 23 07:26:44 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use</div><div class='add'>+	  OPENSSL_malloc to allocate X509V3_CTX.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use</div><div class='add'>+	  X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which</div><div class='add'>+	  values are placed in separate section).</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_x509ext.rb: new file.</div><div class='add'>+</div><div class='add'>+Wed Nov 23 01:22:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (test_identical): test if two files are identical.</div><div class='add'>+</div><div class='add'>+	* file.c (rb_f_test): support DOSISH systems where st_ino is not</div><div class='add'>+	  reliable.  fixed: [ruby-core:06672]</div><div class='add'>+</div><div class='add'>+	* win32.h, win32.c (rb_w32_osid): check the running platform.</div><div class='add'>+</div><div class='add'>+Tue Nov 22 23:52:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb: match incomplete (in current enconding) multibyte</div><div class='add'>+	  string.  http://inamode6.tokuhirom.dnsalias.org/show/1551</div><div class='add'>+</div><div class='add'>+Tue Nov 22 18:36:11 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (winnt_stat): set mapped errno instead of ENOENT.</div><div class='add'>+</div><div class='add'>+Tue Nov 22 14:46:57 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_basename): skip slashes just after UNC top slashes.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_path.rb (test_dirname, test_basename): follow new</div><div class='add'>+	  spec. and add new tests.</div><div class='add'>+</div><div class='add'>+Tue Nov 22 13:18:32 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_stat): Dir.chdir('//server/shared');</div><div class='add'>+	  p Dir.glob('*') should work on WinNT. (implemented our own</div><div class='add'>+	  stat(2) on WinNT) [ruby-list:41552] [ruby-dev:27711]</div><div class='add'>+</div><div class='add'>+Tue Nov 22 02:31:53 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tile.rb: bug fix (Tk::Tile::USE_TTK_NAMESPACE</div><div class='add'>+	  is not defined).</div><div class='add'>+</div><div class='add'>+Tue Nov 22 01:45:21 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but</div><div class='add'>+	  DOSISH is not.  fixed: [ruby-dev:27797]</div><div class='add'>+</div><div class='add'>+Mon Nov 21 22:50:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path</div><div class='add'>+	  should not be splitted.  fixed: [ruby-dev:27776] [ruby-dev:27786]</div><div class='add'>+</div><div class='add'>+	* parse.y (dsym): prohibit empty symbol literal by interpolation.</div><div class='add'>+	  fixed: [ruby-talk:166529]</div><div class='add'>+</div><div class='add'>+Mon Nov 21 16:03:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/setup.mk: findstr doesn't exist on win9x.</div><div class='add'>+	  fixed: [ruby-dev:27756]</div><div class='add'>+</div><div class='add'>+Sun Nov 20 22:34:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (rb_symname_p): [ not followed by ] is not valid symbol.</div><div class='add'>+	  fixed: [ruby-talk:166520]</div><div class='add'>+</div><div class='add'>+Sat Nov 19 19:57:54 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (FileUtils::ln): ln documentation fix.</div><div class='add'>+	  [ruby-core:06661]</div><div class='add'>+</div><div class='add'>+Sat Nov 19 07:34:32 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8</div><div class='add'>+	  or 1.9).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Nov 18 17:57:08 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_dirname): should use skipprefix for UNC path.</div><div class='add'>+	  pointed out by nobu ([ruby-dev:27744]). fixed: [ruby-core:5076]</div><div class='add'>+</div><div class='add'>+Fri Nov 18 17:35:09 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add restriction to access the entried</div><div class='add'>+	  command table and manipulate other IPs (for reason of security).</div><div class='add'>+	  Now, a IP object can be controlled by only its master IP or the</div><div class='add'>+	  default IP.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: add restriction to manipulate.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)</div><div class='add'>+	  to check manipulability.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Nov 18 17:26:06 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_dirname): added checks for some patterns with drive</div><div class='add'>+	  letter. fixed: [ruby-dev:27738]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_path.rb (test_dirname): added tests for above</div><div class='add'>+	  patterns.</div><div class='add'>+</div><div class='add'>+Fri Nov 18 12:18:02 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h (S_IFIFO): r,w = IO.pipe; r.stat.pipe? now</div><div class='add'>+	  returns true on VisualC++6.</div><div class='add'>+</div><div class='add'>+Wed Nov 16 23:24:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (static-ruby): overridable.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (parse_args): force to link extensions statically only</div><div class='add'>+	  if static is given for extstatic.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (RUBY, RUBYW): overridable.</div><div class='add'>+</div><div class='add'>+Tue Nov 15 23:46:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/find.rb (Find::find): should not ignore symbolic links to</div><div class='add'>+	  non-existing files.  [ruby-talk:165866]</div><div class='add'>+</div><div class='add'>+Tue Nov 15 16:23:26 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): previous commit disabled this usage:</div><div class='add'>+</div><div class='add'>+	    a = [0,1,2,3,4,5,6,7,8,9]</div><div class='add'>+	    a.fill {|i| a[i] * 10} #=&gt; [nil, nil, ...., nil]</div><div class='add'>+</div><div class='add'>+	  previous commit has the advantage of early garbage collection, but</div><div class='add'>+	  potensially this would break some script. so I reverted behavior.</div><div class='add'>+</div><div class='add'>+Tue Nov 15 16:04:10 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): tail elements were vanished when the middle</div><div class='add'>+	  part of array was filled. (ie: [0,1,2,3,4].fill(-1,2,1) =&gt; [0,1,-1])</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_array.rb (test_fill): added.</div><div class='add'>+</div><div class='add'>+Tue Nov 15 14:39:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): should adjust array length correctly when</div><div class='add'>+	  an array is expanded in the fill process.  [ruby-core:06625]</div><div class='add'>+</div><div class='add'>+Mon Nov 14 23:49:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.</div><div class='add'>+	  [ruby-dev:27699]</div><div class='add'>+</div><div class='add'>+Mon Nov 14 17:36:22 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_first): RDoc update from Daniel Berger</div><div class='add'>+	  &lt;djberg96@yahoo.com&gt;.  [ruby-core:06577].</div><div class='add'>+</div><div class='add'>+Fri Nov 11 10:31:44 2005  Zach Dennis  &lt;zdennis@mktec.com&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: Socket Documentation. [ruby-core:6552]</div><div class='add'>+</div><div class='add'>+Fri Nov 11 08:20:56 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in (OUTFLAG): keep trailing spaces.  [ruby-dev:27666]</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: substitution refereces added.</div><div class='add'>+</div><div class='add'>+Fri Nov 11 07:44:18 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: undef HAVE_LINK on BeOS. (link(2) always returns</div><div class='add'>+	  EINVAL, and this causes error in test/fileutils.)</div><div class='add'>+</div><div class='add'>+	* file.c: overwride chown(2) and fchown(2) on BeOS. (these functions</div><div class='add'>+	  should not change user/group id if -1 is passed as corresponding</div><div class='add'>+	  argument, and this causes error in test/fileutils too)</div><div class='add'>+	  [ruby-dev:27672]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_link): checks HAVE_LINK.</div><div class='add'>+</div><div class='add'>+Tue Nov  8 15:32:27 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/ssl.rb (DRb::SSLConfig#accept): fixed typo.</div><div class='add'>+	  [ruby-dev:27560] [ruby-core:4627]</div><div class='add'>+</div><div class='add'>+Mon Nov  7 13:43:51 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/stubs.c (_nativethread_consistency_check): use simpler</div><div class='add'>+	  (low cost) way to check whether the Tcl interpreter was compiled</div><div class='add'>+	  with threads enabled of not.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: reduce warnings.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil/tkutil.c: ditto.</div><div class='add'>+</div><div class='add'>+Mon Nov  7 00:06:58 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb: removed :nodoc: to generate Kernel doc. [ruby-core:6324]</div><div class='add'>+</div><div class='add'>+Sun Nov  6 23:39:13 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a</div><div class='add'>+	  bug of underlying library.</div><div class='add'>+</div><div class='add'>+Sun Nov  6 21:46:59 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/stubs.c (ruby_tcl_create_ip_and_stubs_init): should touch</div><div class='add'>+	  interpreter after initialization is done. [ruby-dev:27638]</div><div class='add'>+</div><div class='add'>+Sun Nov  6 20:13:27 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if</div><div class='add'>+	  buffer size is less than required.  fixed: [ruby-dev:27634]</div><div class='add'>+</div><div class='add'>+Wed Nov  2 20:25:28 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/extconf.rb: ext/tk/extconf.rb: change the check parameter</div><div class='add'>+	  for Win32.</div><div class='add'>+</div><div class='add'>+Wed Nov  2 20:14:53 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib: merge into ext/tk and remove.</div><div class='add'>+</div><div class='add'>+Wed Nov  2 19:03:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_rbUpdateObjCmd,</div><div class='add'>+	  ip_rb_threadUpdateObjCmd): passed improper flags to DoOneEvent().</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: use rb_obj_respond_to() instead of rb_respond_to().</div><div class='add'>+</div><div class='add'>+Tue Nov  1 14:20:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call_super): should call method_missing if super is</div><div class='add'>+	  called from Kernel method.</div><div class='add'>+</div><div class='add'>+	* eval.c (exec_under): frame during eval should preserve external</div><div class='add'>+	  information.</div><div class='add'>+</div><div class='add'>+Tue Nov  1 10:50:17 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: should check ERR_peek_last_error().</div><div class='add'>+	  [ruby-dev:27597]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_raise): ditto.</div><div class='add'>+</div><div class='add'>+Mon Oct 31 17:34:46 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: use proper option for Sun linker. A patch from</div><div class='add'>+	  Shinya Kuwamura &lt;kuwa at labs.fujitsu.com&gt;.  [ruby-dev:27603]</div><div class='add'>+</div><div class='add'>+Mon Oct 31 11:27:22 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb (test_s_open_error):</div><div class='add'>+	  skip on Win32/DOS platforms.</div><div class='add'>+</div><div class='add'>+Mon Oct 31 05:49:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must</div><div class='add'>+	  not be empty. [ruby-talk:161220]</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_cipher.rb: add test for Cipher#update("").</div><div class='add'>+</div><div class='add'>+Mon Oct 31 05:37:20 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/cgihandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::CGIHandler#do_GET): the value of Set-Cookie:</div><div class='add'>+	  header field should be splited into each cookie.  [ruby-Bugs:2199]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method</div><div class='add'>+	  to parse the value of Set-Cookie: header field.</div><div class='add'>+</div><div class='add'>+	* test/webrick/test_cookie.rb, test/webrick/test_cgi.rb,</div><div class='add'>+	  test/webrick/webrick.cgi: add some test for cookie.</div><div class='add'>+</div><div class='add'>+Mon Oct 31 03:19:36 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/readline.c (readline_readline): type check.</div><div class='add'>+	  [ruby-core:6089]</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_rshift): RDoc fix.  [ruby-core:6351]</div><div class='add'>+</div><div class='add'>+	* util.h (strtod): add #undef for platforms defines strtod()</div><div class='add'>+	  macro.   [ruby-dev:27563]</div><div class='add'>+</div><div class='add'>+Mon Oct 31 02:35:59 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_float.rb (test_precision): test by assert_in_delta.</div><div class='add'>+	  [ruby-dev:27575]</div><div class='add'>+</div><div class='add'>+Sat Oct 29 01:58:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c: document update from mathew &lt;meta@pobox.com&gt;.</div><div class='add'>+	  [ruby-core:06473]</div><div class='add'>+</div><div class='add'>+	* ext/fcntl/fcntl.c: ditto.</div><div class='add'>+</div><div class='add'>+Thu Oct 27 16:45:31 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (scan_once): wrong condition to use mbclen2().</div><div class='add'>+	  [ruby-dev:27535]</div><div class='add'>+</div><div class='add'>+Wed Oct 26 09:27:27 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/implicit.c (syck_type_id_to_uri): should return</div><div class='add'>+	  newly allocated memory. otherwise, type_id will be freed</div><div class='add'>+	  twice. [ruby-dev:27384] [ruby-core:6385]</div><div class='add'>+</div><div class='add'>+Wed Oct 26 09:04:51 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate</div><div class='add'>+	  values have VALUE type. there is an environment where sizeof(VALUE)</div><div class='add'>+	  != sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS</div><div class='add'>+	  and received by 64bit integer (VALUE), upper bits may have garbage value.</div><div class='add'>+	  [ruby-dev:27513]</div><div class='add'>+</div><div class='add'>+Wed Oct 26 01:58:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (RUBY_EXTERN): macro to export symbols in shared</div><div class='add'>+	  library.  [ruby-core:05528]</div><div class='add'>+</div><div class='add'>+	* defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to</div><div class='add'>+	  configuration pass.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.</div><div class='add'>+</div><div class='add'>+Tue Oct 25 15:32:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rational.rb: applied documentation patch from Gavin Sinclair</div><div class='add'>+	  &lt;gsinclair@gmail.com&gt;.  [ruby-core:06364]</div><div class='add'>+</div><div class='add'>+	* lib/irb.rb (IRB::Irb::eval_input): handle prompts with newlines</div><div class='add'>+	  in irb auto-indentation mode.  [ruby-core:06358]</div><div class='add'>+</div><div class='add'>+Tue Oct 25 02:12:08 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::LABEL_LIST_RE):</div><div class='add'>+	  reduce redundant backtrack.  [ruby-talk:161771]</div><div class='add'>+</div><div class='add'>+Tue Oct 25 00:27:35 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/*: RDoc documentation from Eric Hodel</div><div class='add'>+	  &lt;drbrain@segment7.net&gt; added.</div><div class='add'>+</div><div class='add'>+Mon Oct 24 21:14:29 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, io.c: use sys/syscall.h if syscall.h is not available.</div><div class='add'>+	  [ruby-core:06247]</div><div class='add'>+</div><div class='add'>+Mon Oct 24 20:49:45 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/Win32API/lib/win32/resolv.rb (get_info): support multiple DNS.</div><div class='add'>+	  fixed: [ruby-list:40058], [ruby-dev:27479]</div><div class='add'>+</div><div class='add'>+Mon Oct 24 07:57:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys):</div><div class='add'>+	  typo fixed.  [ruby-talk:162187]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb (TkMenuEntryConfig::__item_val2ruby_optkeys):</div><div class='add'>+	  ditto.  [ruby-core:06359]</div><div class='add'>+</div><div class='add'>+Sun Oct 23 21:50:15 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/enumerator/enumerator.c: applied documentation patch from</div><div class='add'>+	  James Edward Gray II &lt;james@grayproductions.net&gt;.</div><div class='add'>+	  [ruby-core:06348]</div><div class='add'>+</div><div class='add'>+Sun Oct 23 07:11:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: improve messages [ruby-core:06325].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb, ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/entry.rb,</div><div class='add'>+	  ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/image.rb,</div><div class='add'>+	  ext/tk/lib/tk/itemconfig.rb, ext/tk/lib/tk/labelframe.rb,</div><div class='add'>+	  ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/menu.rb,</div><div class='add'>+	  ext/tk/lib/tk/radiobutton.rb, ext/tk/lib/tk/scale.rb,</div><div class='add'>+	  ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tk/text.rb,</div><div class='add'>+	  ext/tk/lib/tk/toplevel.rb: improve conversion of option values.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/vu/*: support vu 2.3.0.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3).</div><div class='add'>+</div><div class='add'>+Sat Oct 22 23:54:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension</div><div class='add'>+	  options.  [ruby-dev:27449]</div><div class='add'>+</div><div class='add'>+Sat Oct 22 13:26:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check</div><div class='add'>+	  if valid as a symbol name more strictly.  [ruby-dev:27478]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_symbol.rb: tests for [ruby-core:03573].</div><div class='add'>+</div><div class='add'>+	* time.c (rb_strftime): removed meaningless volatile modifiers, and</div><div class='add'>+	  concatenate successive nul characters at once.  [ruby-dev:27472]</div><div class='add'>+</div><div class='add'>+Fri Oct 21 19:21:56 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* rubysig.h (CHECK_INTS): fixed typo. (I believe bit-or is improper)</div><div class='add'>+</div><div class='add'>+Fri Oct 21 17:49:32 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bin/erb (ERB::Main::run): typo fixed.  [ruby-core:06337]</div><div class='add'>+</div><div class='add'>+Fri Oct 21 15:27:17 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (bignew_1): convertion from `int' to `char' discards</div><div class='add'>+	  upper bits, (ie. (char)0xff00 -&gt; 0) so it's better to test if</div><div class='add'>+	  nonzero and set 0 or 1 instead of simply casting ... as a flag usage.</div><div class='add'>+	  (but I believe this won't cause actual bug in current implementation)</div><div class='add'>+	  [ruby-dev:27055]</div><div class='add'>+</div><div class='add'>+	* time.c: should use LONG_LONG instead of `long long'.</div><div class='add'>+</div><div class='add'>+Thu Oct 20 09:37:15 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): Borland make seems not to allow</div><div class='add'>+	  empty dependency list. If this change is not good, please correct</div><div class='add'>+	  it.</div><div class='add'>+</div><div class='add'>+Thu Oct 20 07:55:09 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): get rid of a restriction</div><div class='add'>+	  of Borland make.  fixed: [ruby-dev:27460]</div><div class='add'>+</div><div class='add'>+Thu Oct 20 00:13:18 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubysig.h (CHECK_INTS): fix typo.</div><div class='add'>+</div><div class='add'>+Wed Oct 19 23:58:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): do not create unnecessary empty</div><div class='add'>+	  directories.  fixed: [ruby-dev:27451]</div><div class='add'>+</div><div class='add'>+Wed Oct 19 19:26:15 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (rb_gc_mark_parser): get rid of segfault with old yacc.</div><div class='add'>+	  fixed: [ruby-dev:27439]</div><div class='add'>+</div><div class='add'>+Wed Oct 19 08:28:32 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_join): elements may contain null pointer strings.</div><div class='add'>+	  report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]</div><div class='add'>+</div><div class='add'>+Wed Oct 19 02:34:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c, gc.c, time.c: made internal symbols static.  [ruby-dev:27435]</div><div class='add'>+</div><div class='add'>+Wed Oct 19 01:27:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* regex.c (re_compile_pattern): numeric literal inside character class</div><div class='add'>+	  disabled succeeding backtrack.  fixed: [ruby-list:41328]</div><div class='add'>+</div><div class='add'>+Mon Oct 17 21:18:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (parser_heap): byacc never free parser stack.</div><div class='add'>+	  fixed: [ruby-dev:27428]</div><div class='add'>+</div><div class='add'>+Mon Oct 17 16:04:47 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (chmod_internal, lchmod_internal): fixed type of 2nd argument.</div><div class='add'>+</div><div class='add'>+Sun Oct 16 22:16:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: omit non-existing directories.</div><div class='add'>+</div><div class='add'>+Sun Oct 16 14:30:05 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/rinda.rb (Rinda::Tuple#initialize): check remote hash</div><div class='add'>+	  tuple. fixed: [ruby-list:41227]</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: test it.</div><div class='add'>+</div><div class='add'>+Sun Oct 16 03:38:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubysig.h (CHECK_INTS): prevent signal handler to run during</div><div class='add'>+	  critical section.  [ruby-core:04039]</div><div class='add'>+</div><div class='add'>+	* eval.c (load_wait): need not to call rb_thread_schedule()</div><div class='add'>+	  explicitly.  [ruby-core:04039]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_schedule): clear rb_thread_critical.</div><div class='add'>+	  [ruby-core:04039]</div><div class='add'>+</div><div class='add'>+Sat Oct 15 19:56:38 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bin/erb: typo fixed, again. thanks, Doug Kearns.</div><div class='add'>+</div><div class='add'>+Fri Oct 14 22:08:26 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (ioctl): should set errno.</div><div class='add'>+</div><div class='add'>+Fri Oct 14 16:57:32 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/config.rb (Config::FileHandler): :UserDir should be nil.</div><div class='add'>+	  It is harmful to permit the access to ~/public_html by default.</div><div class='add'>+	  suggested by Hiroyuki Iwatsuki.</div><div class='add'>+</div><div class='add'>+Thu Oct 13 23:29:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (HEAPCNT): bison allocates indivisible size.</div><div class='add'>+	  fixed: [ruby-core:06261]</div><div class='add'>+</div><div class='add'>+	* io.c, pack.c, ext/syck/rubyext.c, ext/syck/syck.h, missing/isinf.c:</div><div class='add'>+	  get rid of warnings.  fixed: [ruby-core:06247]</div><div class='add'>+</div><div class='add'>+Wed Oct 12 12:52:57 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (Init_openssl): should call</div><div class='add'>+	  OpenSSL_add_ssl_algorithms().</div><div class='add'>+</div><div class='add'>+Wed Oct 12 11:08:54 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_f_test): typo in RDoc comments.</div><div class='add'>+</div><div class='add'>+Tue Oct 11 21:41:58 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_obj_respond_to): check if obj responds to the given</div><div class='add'>+	  method with the given visibility.  [ruby-dev:27408]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_respond_to): conform to Object#respond_to?.  [ruby-dev:27411]</div><div class='add'>+</div><div class='add'>+Tue Oct 11 00:01:21 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* st.c (st_free_table): do not call free() but xfree().</div><div class='add'>+	  [ruby-core:06205]</div><div class='add'>+</div><div class='add'>+Sat Oct  8 20:04:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_Binding): add Binding#dup method.  [yarv-dev:666]</div><div class='add'>+</div><div class='add'>+	* parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on</div><div class='add'>+	  heap.  [ruby-list:41199]</div><div class='add'>+</div><div class='add'>+	* ext/iconv/charset_alias.rb: parse config.charset_alias file directly.</div><div class='add'>+</div><div class='add'>+Fri Oct  7 09:54:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::Cookie::parse): Cookies from Nokia devices may</div><div class='add'>+	  not be parsed correctly.  A patch from August Z. Flatby</div><div class='add'>+	  (augustzf) in [ruby-Patches-2595].  [ruby-core:06183]</div><div class='add'>+</div><div class='add'>+Thu Oct  6 20:12:16 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c (strscan_free): remove useless code.</div><div class='add'>+	  [ruby-dev:26368] [ruby-dev:27389]</div><div class='add'>+	  (backported from trunk, rev 1.22)</div><div class='add'>+</div><div class='add'>+Wed Oct  5 04:42:38 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb (XMLRPC::Server#initialize): should mount the</div><div class='add'>+	  servlet on "/".</div><div class='add'>+</div><div class='add'>+Wed Oct  5 03:59:09 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb (XMLRPC::Server#serve): delete wrong call</div><div class='add'>+	  of "join".</div><div class='add'>+</div><div class='add'>+Mon Oct  3 00:04:00 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (EXTEND16): [ruby-dev:27383]</div><div class='add'>+</div><div class='add'>+Thu Sep 29 10:26:18 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dl/dl.c (rb_io_to_ptr): abolish sizeof(FILE).</div><div class='add'>+	  [ruby-dev:27317]</div><div class='add'>+</div><div class='add'>+Thu Sep 29 07:22:05 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* evalc. (rb_f_send): underscores need to be escaped.</div><div class='add'>+	  fixed by Doug Kearns.  [ruby-core:06053]</div><div class='add'>+</div><div class='add'>+Thu Sep 29 00:57:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when</div><div class='add'>+	  autoload succeeded.</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_autoload_load): now return true if autoload</div><div class='add'>+	  succeeded.  fixed: [ruby-dev:27331]</div><div class='add'>+</div><div class='add'>+Wed Sep 28 23:42:15 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (apply2files): add prototype.</div><div class='add'>+</div><div class='add'>+	* file.c (rb_stat_inspect): constified.</div><div class='add'>+</div><div class='add'>+	* class.c (rb_mod_init_copy, rb_class_init_copy), file.c (rb_stat_init_copy),</div><div class='add'>+	  numeric.c (num_init_copy), object.c (rb_obj_init_copy, Init_Object),</div><div class='add'>+	  re.c (match_init_copy, rb_reg_init_copy), time.c (time_init_copy):</div><div class='add'>+	  undocumented.</div><div class='add'>+</div><div class='add'>+Wed Sep 28 23:09:23 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb: document update from James Edward Gray II</div><div class='add'>+	  &lt;james@grayproductions.net&gt;.  [ruby-core:06027]</div><div class='add'>+</div><div class='add'>+Wed Sep 28 15:14:19 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should</div><div class='add'>+	  refer the value of QUERY_STRING. [ruby-list:41186]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=):</div><div class='add'>+	  add new method.</div><div class='add'>+</div><div class='add'>+Wed Sep 28 10:45:44 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: cannot compile with Tcl/Tk8.0.x</div><div class='add'>+	  [ruby-dev:27335].</div><div class='add'>+</div><div class='add'>+Wed Sep 28 08:12:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_buffered_data): check if reached EOF.  fixed: [ruby-dev:27334]</div><div class='add'>+</div><div class='add'>+Wed Sep 28 07:56:52 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/basenode.rb (YAML::BaseNode::match_segment): fix typo.</div><div class='add'>+	  [ruby-dev:27237], [ruby-core:05854]</div><div class='add'>+</div><div class='add'>+	* lib/yaml/tag.rb (Module#yaml_as): suppress warnings.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/types.rb (YAML::PrivateType, YAML::DomainType): ditto.</div><div class='add'>+</div><div class='add'>+Wed Sep 28 03:23:35 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubysig.h: fixed build problem with --enable-pthread on platforms</div><div class='add'>+	  which don't have setitimer().</div><div class='add'>+</div><div class='add'>+Mon Sep 26 22:32:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (set_trace_func): add rb_secure(4) to prevent adding</div><div class='add'>+	  tracing function.</div><div class='add'>+</div><div class='add'>+Sun Sep 25 12:05:10 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bin/erb: typo fixed.</div><div class='add'>+</div><div class='add'>+Sun Sep 25 01:46:43 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-calculate-indent): arrange deep-indent</div><div class='add'>+	  closing parenthesis at same column as the opening.</div><div class='add'>+</div><div class='add'>+Sun Sep 25 00:42:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-expr-beg): deal with heredoc separately.</div><div class='add'>+	  fixed: [ruby-list:41168]</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-calculate-indent): not to deepen indent</div><div class='add'>+	  level for continuous line inside parentheses.</div><div class='add'>+	  http://nabeken.tdiary.net/20050915.html#p02</div><div class='add'>+</div><div class='add'>+Sun Sep 25 00:18:11 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (unknown_node): show more information.  [ruby-dev:26196]</div><div class='add'>+</div><div class='add'>+Sat Sep 24 08:56:01 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cd): no longer accept :noop option, related</div><div class='add'>+	  code is useless (backported from trunk, rev 1.67).</div><div class='add'>+	  [ruby-core:05858] [ruby-Bugs:2494]</div><div class='add'>+</div><div class='add'>+Sat Sep 24 08:38:07 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose,</div><div class='add'>+	  DryRun (backported from trunk, rev 1.66). [ruby-core:05954]</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_nowrite.rb: test it.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_dryrun.rb: new file.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_verbose.rb: new file.</div><div class='add'>+</div><div class='add'>+Sat Sep 24 02:40:20 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb: document update from James Edward Gray II</div><div class='add'>+	  &lt;james@grayproductions.net&gt;.  [ruby-core:05942]</div><div class='add'>+</div><div class='add'>+Thu Sep 22 23:36:24 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (find_executable0): default path if environment is not</div><div class='add'>+	  set.  [ruby-dev:27281]</div><div class='add'>+</div><div class='add'>+Thu Sep 22 16:33:12 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/readline/test_readline.rb (TestReadline::replace_stdio):</div><div class='add'>+	  merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223].</div><div class='add'>+</div><div class='add'>+Wed Sep 21 23:30:44 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration): generalized nmake dependent code.</div><div class='add'>+</div><div class='add'>+Wed Sep 21 09:07:55 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* stable version 1.8.3 released.</div><div class='add'>+</div><div class='add'>+Wed Sep 21 08:52:25 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: correctly compute identation of a block</div><div class='add'>+	  scalar's parent node. [ruby-talk:150620]</div><div class='add'>+</div><div class='add'>+Wed Sep 21 08:20:24 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* README.EXT, README.EXT.ja: add new features.</div><div class='add'>+</div><div class='add'>+Wed Sep 21 07:43:58 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (default_argv, Arguable#options): defaults strings</div><div class='add'>+	  to be parsed to Arguable instance.</div><div class='add'>+</div><div class='add'>+Wed Sep 21 02:44:09 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (path_check_0): disallow sticky world writable directory</div><div class='add'>+	  in PATH (and $LOAD_PATH).  [ruby-dev:27226]</div><div class='add'>+</div><div class='add'>+	* file.c (fpath_check): typo fixed.</div><div class='add'>+</div><div class='add'>+Tue Sep 20 22:29:49 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/wsdl/simpletype/rpc/test_rpc.rb, test/wsdl/ref/test_ref.rb,</div><div class='add'>+	  test/wsdl/any/test_any.rb test/soap/wsdlDriver/test_calc.rb:</div><div class='add'>+	  suppress deliberate warnings with $VERBOSE = nil.</div><div class='add'>+</div><div class='add'>+Tue Sep 20 21:26:23 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/io/wait/lib/nonblock.rb: disable on platforms non-blocking flag</div><div class='add'>+	  is not available.  fixed: [ruby-dev:27187]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 18:23:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_mark): mark th-&gt;last_status.  [ruby-dev:27179]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 18:20:33 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb: require 'yaml/constants'.  [ruby-core:5776]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 17:48:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset</div><div class='add'>+	  information to content-type header.[ruby-core:5127]</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb (CGIServer::serve): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.</div><div class='add'>+</div><div class='add'>+Tue Sep 20 17:34:46 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/webrick/test_cgi.rb: set ENV["PATH"] to CGIEnvPath on</div><div class='add'>+	  windows. bcc32's runtime is not installed into system directory,</div><div class='add'>+	  so it cannot be found without this setting. [ruby-dev:27166]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 17:10:38 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove</div><div class='add'>+	  test_s_open_error test to detect duplicate open.</div><div class='add'>+	  [ruby-dev:27202]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 17:08:31 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* io.c: PIPE_BUF is not defined on BeOS. use _POSIX_PIPE_BUF instead.</div><div class='add'>+	  [ruby-dev:27185]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 16:53:53 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/readline/test_readline.rb (TestReadline::replace_stdio):</div><div class='add'>+	  BSD seek support from [ruby-dev:25223].  fixed: [ruby-dev:27150]</div><div class='add'>+</div><div class='add'>+Tue Sep 20 15:39:40 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_scan_scalar): prevent indicators from</div><div class='add'>+	  appearing alone or at the end of plain scalars. [ruby-core:5826]</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes</div><div class='add'>+	  as complex keys.</div><div class='add'>+</div><div class='add'>+	* lib/syck.h: version 0.60.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during</div><div class='add'>+	  key searches.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: loading of binary-typed nodes.  prevent</div><div class='add'>+	  emission of plain strings that look like symbols, but which aren't.</div><div class='add'>+</div><div class='add'>+Tue Sep 20 05:50:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/xmlrpc/test_webrick_server.rb (setup_http_server):</div><div class='add'>+	  should not include 'webrick/https' unless 'use_ssl' because</div><div class='add'>+	  it fails where openssl is not installed.</div><div class='add'>+</div><div class='add'>+Tue Sep 20 00:34:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_close): call rb_io_close() directly if io is a T_FILE</div><div class='add'>+	  object.  [ruby-dev:27156]</div><div class='add'>+</div><div class='add'>+Mon Sep 19 19:09:08 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_chown): should accept nil. [ruby-dev:27171]</div><div class='add'>+	  (backport from trunk, rev 1.208)</div><div class='add'>+</div><div class='add'>+Mon Sep 19 18:35:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dl/dl.c (rb_io_to_ptr): fix DragonFlyBSD support.</div><div class='add'>+	  [ruby-dev:27151]</div><div class='add'>+</div><div class='add'>+Mon Sep 19 14:17:04 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_emit): passing an int* value to the</div><div class='add'>+	  long* parameter causes unaligned access on LP64 systems.</div><div class='add'>+	  [ruby-dev:27161]</div><div class='add'>+</div><div class='add'>+Mon Sep 19 13:44:03 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c: avoid core dump with WIN32OLE_EVENT.</div><div class='add'>+	  [ruby-dev:27133]</div><div class='add'>+</div><div class='add'>+Mon Sep 19 10:36:06 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cp_r): default is :dereference_root=&gt;true for</div><div class='add'>+	  backward compatibility. [ruby-dev:27145]</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_cp_r): test it.</div><div class='add'>+</div><div class='add'>+Mon Sep 19 09:57:39 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: backported from trunk (1.36).</div><div class='add'>+	  (again) [ruby-dev:27145]</div><div class='add'>+</div><div class='add'>+Mon Sep 19 07:45:37 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey.h, ossl_pkey_rsa.c, ossl_pkey_dsa.c:</div><div class='add'>+	  an instance variable "private" is added to OpenSSL::PKey class.</div><div class='add'>+	  this ivar is a flag that shows whether there is a private key</div><div class='add'>+	  in the instance.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private</div><div class='add'>+	  key flag.</div><div class='add'>+</div><div class='add'>+Mon Sep 19 06:41:32 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: backported from trunk (rev 1.65):</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (rm_r): new option :secure.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (rm_rf): new option :secure.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method #remove_entry_secure.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cd): remove option :noop.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cp_r): new option :dereference_root.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cp_r): new option :dereference_root.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method #remove_entry.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method #chmod_R.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method #chown.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method #chown_R.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method .commands.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method .options.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method .have_option?.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method .options_of.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new method .collect_method.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: use module_function instead of single extend.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: backported from trunk (1.36).</div><div class='add'>+</div><div class='add'>+Mon Sep 19 03:17:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_thread_flock): wrap the flock system call by</div><div class='add'>+	  TRAP_BEG/TRAP_END to enable signals.  [ruby-dev:27122]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (bsock_send): wrap the sendto and send system</div><div class='add'>+	  call by TRAP_BEG/TRAP_END to enable signals when writing to a socket</div><div class='add'>+	  which is full.  [ruby-dev:27132]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_syswrite): wrap the write system call by</div><div class='add'>+	  TRAP_BEG/TRAP_END to enable signals when writing to a pipe which is</div><div class='add'>+	  full.  [ruby-dev:27134]</div><div class='add'>+</div><div class='add'>+Mon Sep 19 03:02:08 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fwrite): wrap the write system call by TRAP_BEG/TRAP_END to</div><div class='add'>+	  enable signals when writing to a pipe which is full.</div><div class='add'>+</div><div class='add'>+Sun Sep 18 02:10:47 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: remove comments that are bungling up</div><div class='add'>+	  the rdoc and ri output.  output symbols as plain scalars.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_emitter_reset): emit headless</div><div class='add'>+	  documents always.</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_scan_scalar): quote scalars with any</div><div class='add'>+	  kind of surrounding line space, tabs or spaces alike.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: accept tabs as whitespace, not for indentation,</div><div class='add'>+	  but strip from plain scalars.</div><div class='add'>+</div><div class='add'>+	* test/yaml/test_yaml.rb: remove outdated tests.</div><div class='add'>+</div><div class='add'>+Sat Sep 17 23:25:04 2005  sheepman  &lt;sheepman@sheepman.sakura.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mathn.rb (Rational::inspect): should preserve original</div><div class='add'>+	  operand.  [ruby-core:05806]</div><div class='add'>+</div><div class='add'>+Sat Sep 17 23:20:27 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::Cookie): should handle multiple values for a</div><div class='add'>+	  cookie name.  [ruby-talk:156140]</div><div class='add'>+</div><div class='add'>+Sat Sep 17 10:42:13 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string</div><div class='add'>+	  should call Kernel.eval on caller's safe-level instead of slave's</div><div class='add'>+	  safe-level (Of course, the given script should be evaluated on</div><div class='add'>+	  slave's safe-level).</div><div class='add'>+</div><div class='add'>+Sat Sep 17 09:45:26 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_substr): should propagate taintness even for</div><div class='add'>+	  empty strings.  [ruby-dev:27121]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_aref): should infect result if range argument</div><div class='add'>+	  is tainted.  [ruby-dev:27121]</div><div class='add'>+</div><div class='add'>+Sat Sep 17 08:35:39 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/base.rb (RSS::Maker::ItemsBase#normalize): fixed</div><div class='add'>+	strange RSS::Maker::Item#max_size behavior.</div><div class='add'>+	Thanks to Kazuhiko &lt;kazuhiko@fdiary.net&gt;.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_maker_1.0.rb (RSS::TestMaker10#test_items): ditto.</div><div class='add'>+</div><div class='add'>+Fri Sep 16 23:09:20 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_search_event_at): bug fix</div><div class='add'>+	  in ext/win32ole/sample/ienavi.rb.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole/tests/testOLEEVENT.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Sep 16 22:41:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_extname): empty string for path name ending with a</div><div class='add'>+	  period.  fixed: [ruby-core:05651]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_join): smarter behavior at edge cases.</div><div class='add'>+	  fixed: [ruby-core:05706]</div><div class='add'>+</div><div class='add'>+Fri Sep 16 18:34:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/node.c (syck_replace_str): was using return from the</div><div class='add'>+	  void function.  a patch from MIYAMUKO Katsuyuki</div><div class='add'>+	  &lt;miyamuko at mtb.biglobe.ne.jp&gt;.  [ruby-dev:27111]</div><div class='add'>+</div><div class='add'>+Fri Sep 16 14:48:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string</div><div class='add'>+</div><div class='add'>+Fri Sep 16 12:02:12 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_resolver_transfer): remove C++ style</div><div class='add'>+	  comment (//).  [ruby-core:05793]</div><div class='add'>+</div><div class='add'>+Fri Sep 16 00:14:14 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: unintentionally overwritten changes by</div><div class='add'>+	  Usa.  reverted.</div><div class='add'>+</div><div class='add'>+Fri Sep 16 00:06:18 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#initialize): should set</div><div class='add'>+	  $stdout.binmode.</div><div class='add'>+</div><div class='add'>+Thu Sep 15 23:25:21 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.5.</div><div class='add'>+</div><div class='add'>+	  #nnn is a ticket number at http://dev.ctor.org/soap4r</div><div class='add'>+</div><div class='add'>+	  * SOAP</div><div class='add'>+</div><div class='add'>+	    * allow to configure an envelope namespace of SOAP request. (#124)</div><div class='add'>+	   	TemporaryNamespace = 'http://www.w3.org/2003/05/soap-envelope'</div><div class='add'>+	  	@client.options["soap.envelope.requestnamespace"] =</div><div class='add'>+		  TemporaryNamespace</div><div class='add'>+	 	@client.options["soap.envelope.responsenamespace"] =</div><div class='add'>+		  TemporaryNamespace</div><div class='add'>+		@client.do_proc(...)</div><div class='add'>+</div><div class='add'>+	    * let SOAP request XML indent space configuable.  see</div><div class='add'>+	      "soap.envelope.no_indent" option. (#130)</div><div class='add'>+</div><div class='add'>+	    * let external CES configuable.</div><div class='add'>+	      ex. client["soap.mapping.external_ces"] = 'SJIS'.  $KCODE is used</div><div class='add'>+	      by default. (#133)</div><div class='add'>+		external CES ::= CES used in Ruby object of client and server</div><div class='add'>+		internal CES ::= CES used in SOAP/OM</div><div class='add'>+</div><div class='add'>+	    * add iso-8859-1 external CES support. (#106)</div><div class='add'>+</div><div class='add'>+	    * fixed illegal 'qualified' handling of elements.  it caused</div><div class='add'>+	      ASP.NET inteoperability problem. (#144)</div><div class='add'>+</div><div class='add'>+	    * added 'soap.envelope.use_numeric_character_reference' (boolean)</div><div class='add'>+	      option to let query XML use numeric character reference in XML,</div><div class='add'>+	      not plain UTF-8 character.  !GoogleSearch server seems to not</div><div class='add'>+	      allow plain UTF-8 character since 2005-08-15 update. (#147)</div><div class='add'>+</div><div class='add'>+	    * SOAP::Header::SimpleHeader (de)serialization throws an exception</div><div class='add'>+	      on !SimpleHeader.on_(in|out)bound when header is a String.  so we</div><div class='add'>+	      could not use a simple single element headerItem.  fixed.  thanks</div><div class='add'>+	      to emil. (#129)</div><div class='add'>+</div><div class='add'>+	    * out parameter of rpc operation did not work.  (#132)</div><div class='add'>+</div><div class='add'>+	    * follow HTTP redirect only if using http-access2.  (#125) (#145)</div><div class='add'>+</div><div class='add'>+	    * add a workaround for importing an WSDL whose path begins with</div><div class='add'>+	      drive letter.  (#115)</div><div class='add'>+</div><div class='add'>+	  * WSDL</div><div class='add'>+</div><div class='add'>+	    * SOAP Data which is defined as a simpletype was not mapped</div><div class='add'>+	      correctly to Ruby obj when using wsdl2ruby.rb generated classdef</div><div class='add'>+	      file. (#123)</div><div class='add'>+</div><div class='add'>+	    * rpc/literal support. (#118)</div><div class='add'>+</div><div class='add'>+	    * re-implemented local element qualify/unqualify control.  handles</div><div class='add'>+	      elementFormDefault and form in WSDL.  (#119)</div><div class='add'>+</div><div class='add'>+	    * Array of an element which has simpleType causes a crash. (#128)</div><div class='add'>+</div><div class='add'>+	    * prarmeterOrder may not contain return part so it can be shorter</div><div class='add'>+	      than parts size.  Thanks to Hugh.  (#139)</div><div class='add'>+</div><div class='add'>+	  * Samples</div><div class='add'>+</div><div class='add'>+	    * added !BasicAuth client sample. (#117)</div><div class='add'>+</div><div class='add'>+	    * added Base64 client/server sample.</div><div class='add'>+</div><div class='add'>+	    * added Flickr SOAP interface client sample. (#122)</div><div class='add'>+</div><div class='add'>+	    * added !SalesForce client sample. (#135)</div><div class='add'>+</div><div class='add'>+	    * updated Thawte CA certificate for !GoogleAdWords sample.</div><div class='add'>+</div><div class='add'>+	    * updated a client script with the newer version made by Johan.</div><div class='add'>+	      thanks!</div><div class='add'>+</div><div class='add'>+	    * shortened long file names. (#120)</div><div class='add'>+</div><div class='add'>+	    * fixed typo in authheader sample. (#129)</div><div class='add'>+</div><div class='add'>+	    * updated deprecated method usage.  (#138)</div><div class='add'>+</div><div class='add'>+Thu Sep 15 23:02:57 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h (rb_w32_stat): added prototype.</div><div class='add'>+</div><div class='add'>+Thu Sep 15 22:35:55 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_signal.rb (test_exit_action): skip the test using</div><div class='add'>+	  fork on fork-less platforms.</div><div class='add'>+</div><div class='add'>+Thu Sep 15 11:39:18 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,</div><div class='add'>+	  TkDialogObj#name raises an exception. [ruby-talk:156109]</div><div class='add'>+</div><div class='add'>+Thu Sep 15 01:39:19 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/tuplespace.rb (Rinda::TemplateEntry::initialize): pull</div><div class='add'>+	  up method. Tabs converted to spaces.</div><div class='add'>+</div><div class='add'>+Thu Sep 15 00:18:24 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/telnet.rb (Net::Telnet::waitfor): replace sysread with</div><div class='add'>+	  readpartial.  [ruby-talk:127641]</div><div class='add'>+</div><div class='add'>+Wed Sep 14 22:40:26 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (ruby_glob): glob function not using ruby exception system.</div><div class='add'>+</div><div class='add'>+Wed Sep 14 01:26:03 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/https.rb: backported from trunk, rev 1.3.</div><div class='add'>+	  [ruby-dev:25673] (again), [ruby-dev:26617] (again),</div><div class='add'>+	  [ruby-dev:27062]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/https.rb: removed.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/protocols.rb: removed.</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.</div><div class='add'>+</div><div class='add'>+Tue Sep 13 22:09:40 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb (Logger): added formatter accessor to logger for</div><div class='add'>+	  dictating the way in which the logger should format the messages it</div><div class='add'>+	  displays.  Thanks to Nicholas Seckar (cf. [ruby-talk:153391]) and</div><div class='add'>+	  Daniel Berger.</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb (Logger): added VERSION constant.</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: removed document for LogDevice. It is an</div><div class='add'>+	  implementation detail and is not a public interface.</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: added tests.</div><div class='add'>+</div><div class='add'>+Tue Sep 13 21:47:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (BEGIN_CALLARGS): pop halfly pushed status.</div><div class='add'>+	  fixed: [ruby-dev:26881]</div><div class='add'>+</div><div class='add'>+Tue Sep 13 16:26:45 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: backported from trunk, rev 1.128.</div><div class='add'>+	  [ruby-dev:25673] [ruby-dev:26617]</div><div class='add'>+</div><div class='add'>+	* lib/net/protocol.rb: backported from trunk, rev 1.78.</div><div class='add'>+</div><div class='add'>+	* lib/net/protocol.rb: new method #old_open to support net/smtp</div><div class='add'>+	  and net/pop.</div><div class='add'>+</div><div class='add'>+	* lib/net/smtp.rb: use #old_open.</div><div class='add'>+</div><div class='add'>+	* lib/net/pop.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Sep 13 12:33:05 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb: reworking YAML::Stream to use the new</div><div class='add'>+	  emitter.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/stream.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: added Object#yaml_new.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/tag.rb: the tag_subclasses? method now</div><div class='add'>+	  shows up in the class.  allow taguri to be set using an accessor.</div><div class='add'>+	  continue support of Object#to_yaml_type.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: new emitter code.  yaml_new and yaml_initialize</div><div class='add'>+	  get called, should they be present.  consolidated all the diaspora of internal</div><div class='add'>+	  node types into the family below YAML::Syck::Node -- Map,</div><div class='add'>+	  Seq, Scalar -- all of whom are SyckNode structs pointing to</div><div class='add'>+	  Ruby data.  moved Object#yaml_new into the node_import and made it the</div><div class='add'>+	  default behavior.  the target_class is always called wih yaml_new, prepended</div><div class='add'>+	  a parameter, which is the klass.  loaded nodes through GenericResolver show their style.</div><div class='add'>+	  new Resolver#tagurize converts type ids to taguris.</div><div class='add'>+</div><div class='add'>+	* ext/syck/implicit.re: were 'y' and 'n' seriously omitted??</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c: renovated emitter, walks the tree in advance.</div><div class='add'>+	  consolidated redundant block_styles struct into</div><div class='add'>+	  the scalar_style struct.  (this means loaded nodes can now</div><div class='add'>+	  be sent back to emitter and preserve at least its very basic</div><div class='add'>+	  formatting.)</div><div class='add'>+</div><div class='add'>+	* ext/syck/gram.c: headless documents of any kind allowed.</div><div class='add'>+</div><div class='add'>+	* ext/syck/node.c: new syck_replace_str methods and syck_empty_*</div><div class='add'>+	  methods for rewriting node contents, while keeping the ID</div><div class='add'>+	  and other setup info.  added syck_seq_assign.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: reflect block_styles and new node functions.</div><div class='add'>+</div><div class='add'>+Mon Sep 12 20:53:06 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_pkcs7.rb (test_enveloped): skip this test</div><div class='add'>+	  to avoid a bug of PKCS7_enctypt() (only if ext/openssl is</div><div class='add'>+	  compiled with OpenSSL-0.9.7d or earlier versions).</div><div class='add'>+	  http://www.mail-archive.com/openssl-dev@openssl.org/msg17376.html</div><div class='add'>+</div><div class='add'>+Mon Sep 12 14:03:33 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/dbm/test_dbm.rb: remove locking test, which may not be</div><div class='add'>+	  supported on some platforms.  [ruby-dev:27030]</div><div class='add'>+</div><div class='add'>+Mon Sep 12 10:45:58 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dl/dl.c (rb_io_to_ptr): merged a patch for DragonFly BSD</div><div class='add'>+	  from Takahiro Kambe &lt;taca at back-street.net&gt;.  [ruby-dev:27023]</div><div class='add'>+</div><div class='add'>+Sun Sep 11 22:05:51 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bin/erb (ERB::Main#run): set ERB#filename so that it is used</div><div class='add'>+	  when reporting syntax/runtime errors. Tabs converted to spaces.</div><div class='add'>+</div><div class='add'>+Sat Sep 10 10:17:03 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c (ossl_engine_s_by_id):</div><div class='add'>+	  OpenSSL::Engine.by_id calls given block before calling</div><div class='add'>+	  ENGINE_init (block parameter is the return value of this method</div><div class='add'>+	  itself).  this functionality is useful to load dynamic shared</div><div class='add'>+	  engines. the following code is a sample of loading a key using</div><div class='add'>+	  OpenSC PKCS #11 module.</div><div class='add'>+</div><div class='add'>+		require "openssl"</div><div class='add'>+		pkcs11 = OpenSSL::Engine.by_id("dynamic"){|e|</div><div class='add'>+		  e.ctrl_cmd("SO_PATH", "/usr/lib/opensc/engine_pkcs11.so")</div><div class='add'>+		  e.ctrl_cmd("LIST_ADD", "1")</div><div class='add'>+		  e.ctrl_cmd("LOAD")</div><div class='add'>+		}</div><div class='add'>+		pkcs11.ctrl_cmd("PIN", "secret")</div><div class='add'>+		key = pkcs11.load_private_key</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method</div><div class='add'>+	  OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method</div><div class='add'>+	  OpenSSL::Engine#cmds. it returms engine command definitions.</div><div class='add'>+</div><div class='add'>+Sat Sep 10 10:09:47 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (asn1str_to_str): new function.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.</div><div class='add'>+	  this class wraps PKCS7_RECIP_INFO struct.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to</div><div class='add'>+	  OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of</div><div class='add'>+	  SignerInfo.)</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_pkcs7.rb: new file.</div><div class='add'>+</div><div class='add'>+Sat Sep 10 10:05:51 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): assume that</div><div class='add'>+	  the argument is a DER string if Base64 decoding failed.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_ns_spki.rb: add new file.</div><div class='add'>+</div><div class='add'>+Sat Sep 10 09:56:24 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512.</div><div class='add'>+	  these features are enabled if this library is compiled with</div><div class='add'>+	  OpenSSL 0.9.8 or later.</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_digest.rb: add test for new digests.</div><div class='add'>+</div><div class='add'>+Sat Sep 10 09:51:30 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_raise): should use ERR_peek_last_error</div><div class='add'>+	  to get last error on the current thread. And should report</div><div class='add'>+	  errors on the stack while OpenSSL.debug is true.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_get_errors): new method for debugging</div><div class='add'>+	  this library.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid</div><div class='add'>+	  of unused variable.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should</div><div class='add'>+	  set @time to avoid warning.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths,</div><div class='add'>+	  X509_STORE_add_cert, X509_STORE_add_crl): should raise error if</div><div class='add'>+	  wrapped functions failed.</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_x509store.rb: add test for errors.</div><div class='add'>+</div><div class='add'>+Fri Sep  9 22:13:19 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): prohibit calling tainted method (&gt;2) when</div><div class='add'>+	  $SAFE == 0.</div><div class='add'>+</div><div class='add'>+Fri Sep  9 16:45:25 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_times): make empty strings to keep taintness,</div><div class='add'>+	  and a little improvement.  [ruby-dev:26900]</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_try), ext/iconv/extconf.rb: get rid of meta</div><div class='add'>+	  characters in command line option.  fixed: [ruby-talk:155369]</div><div class='add'>+</div><div class='add'>+Thu Sep  8 14:58:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* merged a patch from Takahiro Kambe &lt;taca at back-street.net&gt; to</div><div class='add'>+	  support DragonFly BSD.  [ruby-dev:26984]</div><div class='add'>+</div><div class='add'>+Wed Sep  7 12:55:08 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb: abolish mod === tempfile to avoid a problem</div><div class='add'>+	  [ruby-dev:26967].</div><div class='add'>+</div><div class='add'>+Wed Sep  7 10:45:15 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_switch): convert all exceptions to</div><div class='add'>+	  SystemExit.  fixed: [ruby-core:05724]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_terminated): show backtrace before propagate</div><div class='add'>+	  exceptions to main thread.</div><div class='add'>+</div><div class='add'>+Wed Sep  7 08:35:04 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load</div><div class='add'>+	  extension libraries.</div><div class='add'>+</div><div class='add'>+	* bignum.c (bignew_1, bigadd): K&amp;R style argument actually can't be</div><div class='add'>+	  defined as char.</div><div class='add'>+</div><div class='add'>+	* missing/vsnprintf.c: ANSI compiler supports const keyword.</div><div class='add'>+</div><div class='add'>+	* ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h</div><div class='add'>+	  but no 64bit integer.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (what_type?): guesstimate type.</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be</div><div class='add'>+	  char*.  fixed: [ruby-core:05470]</div><div class='add'>+</div><div class='add'>+Wed Sep  7 08:32:47 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_cvar_get, rb_mod_cvar_set): document fix from</div><div class='add'>+	  sheepman &lt;sheepman@sheepman.sakura.ne.jp&gt;; a bug in visibility</div><div class='add'>+	  description.  [ruby-dev:26965]</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): warn "too many argument" on verbose</div><div class='add'>+	  mode (-v/-w); backported from 1.9.  [ruby-dev:26963]</div><div class='add'>+</div><div class='add'>+Mon Sep  5 17:03:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb: a patch from Florian Gross &lt;florgro at gmail.com&gt;</div><div class='add'>+	  merged to allow recursive inspect (and to_s) for OpenStruct.</div><div class='add'>+	  [ruby-core:05532]</div><div class='add'>+</div><div class='add'>+Mon Sep  5 07:01:12 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):</div><div class='add'>+	  should clear data from the buffer which already been output.</div><div class='add'>+</div><div class='add'>+Fri Sep  2 23:51:54 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib: do not use __send__ to access private methods.  [ruby-dev:26935]</div><div class='add'>+</div><div class='add'>+Fri Sep  2 03:29:00 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/init.rb: make IRB -I option that is same befavior for ruby.</div><div class='add'>+	  [ruby-dev:26872], [ruby-dev: 26920]</div><div class='add'>+</div><div class='add'>+	* lib/irb/locale.rb: support to print help message when OS locale is</div><div class='add'>+	  ja_JP.utf-8. [ruby-dev:26872]</div><div class='add'>+</div><div class='add'>+Thu Sep  1 17:11:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): wrong condition for $SAFE restoration.</div><div class='add'>+</div><div class='add'>+Thu Sep  1 14:12:45 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't</div><div class='add'>+	  work (gives wrong order of arguments).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace</div><div class='add'>+	  to support '-namespace' option of 'interp invokehidden' command</div><div class='add'>+	  on Tcl8.5.</div><div class='add'>+</div><div class='add'>+Wed Aug 31 14:43:15 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (OPTFLAGS): default global optimization to</div><div class='add'>+	  disabled for all VC++ versions.  fixed: [ruby-dev:26897]</div><div class='add'>+</div><div class='add'>+Wed Aug 31 11:35:43 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/gdbm/test_gdbm.rb (teardown): should remove GDBM temporary</div><div class='add'>+	  file.</div><div class='add'>+</div><div class='add'>+Wed Aug 31 10:30:56 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (proc_detach, proc_setmaxgroups): missing argument type</div><div class='add'>+	  declaration. (I recommend ANSI-style function)</div><div class='add'>+</div><div class='add'>+Tue Aug 30 23:20:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_rescue2): initialization miss.  fixed: [ruby-dev:26917]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (xsystem, xpopen): no longer expand by Config.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (link_command, cc_command, cpp_command): expand</div><div class='add'>+	  variables at once, and quote hdrdir.  fixed: [ruby-core:05680]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (libpathflag): quote paths.</div><div class='add'>+</div><div class='add'>+Tue Aug 30 19:34:27 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/md5/md5ossl.h, ext/digest/rmd160/rmd160ossl.h,</div><div class='add'>+	  ext/digest/sha1/sha1ossl.h: include &lt;stddef.h&gt; to avoid</div><div class='add'>+	  error in compilation with OpenSSL-0.9.8. [ruby-list:41068]</div><div class='add'>+</div><div class='add'>+Mon Aug 29 19:54:21 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/usage.rb: improper exceptions. [ruby-dev:26870]</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/usage.rb: support the case when non-ruby code exists before</div><div class='add'>+	  shebang. (this is needed when ri.bat is executed on windows)</div><div class='add'>+</div><div class='add'>+Mon Aug 29 17:48:17 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (method_arity): should return proper arity value.</div><div class='add'>+	  [ruby-dev:26390]</div><div class='add'>+</div><div class='add'>+Mon Aug 29 01:19:57 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/time.rb (Time.parse): extract fractional seconds using</div><div class='add'>+	  Date._parse.  [ruby-talk:153859]</div><div class='add'>+</div><div class='add'>+Sat Aug 27 20:20:01 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c ({curses,window}_clrtoeol): added. suggested</div><div class='add'>+	  by Reyn Vlietstra.</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c: chtype in curses is not `char', rahter `long'.</div><div class='add'>+	  [ruby-Bugs:2298]</div><div class='add'>+</div><div class='add'>+	* ext/curses/view.rb: String =~ String is deprecated.</div><div class='add'>+</div><div class='add'>+Wed Aug 24 10:53:28 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb (test_shifting_size): should close log</div><div class='add'>+	  device before unlink, since some platform cannot unlink opened</div><div class='add'>+	  file.</div><div class='add'>+</div><div class='add'>+Sun Aug 21 00:13:27 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/xmlSchema/importer.rb (WSDL::XMLSchema::Importer#fetch): add</div><div class='add'>+	  a workaround for importing an WSDL whose path begins with drive</div><div class='add'>+	  letter.  [ruby-dev:26242]</div><div class='add'>+</div><div class='add'>+Sat Aug 20 22:37:13 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb (write, shift_log?, shift_log): file shifting race</div><div class='add'>+	  condition bug fixed.  [ruby-dev:26764]</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: tests.</div><div class='add'>+</div><div class='add'>+Fri Aug 19 18:13:39 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/time.rb (Time.apply_offset): fix a problem with last day of</div><div class='add'>+	  month.  reported by Lucas Nussbaum.  [ruby-talk:152866]</div><div class='add'>+</div><div class='add'>+Thu Aug 18 12:46:28 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (COMMON_HEADERS): reverted 1.42.2.24.</div><div class='add'>+	  I misunderstood, bccwin32 on ruby_1_8 uses winsock2 originally.</div><div class='add'>+	  [ruby-dev:26806]</div><div class='add'>+</div><div class='add'>+	* win32/win32.h: include winsock2.h instead of winsock.h. (bcc32)</div><div class='add'>+</div><div class='add'>+Wed Aug 17 23:58:05 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_to_integer): argument constified.</div><div class='add'>+</div><div class='add'>+	* eval.c (terminate_process): take String message.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_switch): propagate the exception caused thread</div><div class='add'>+	  termination directly.  fixed: [ruby-core:05552]</div><div class='add'>+</div><div class='add'>+Wed Aug 17 00:05:46 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_add_method): preserve safe level in the environment</div><div class='add'>+	  where a method is defined .</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): restore preserved safe level in the method</div><div class='add'>+	  execution.</div><div class='add'>+</div><div class='add'>+Mon Aug 15 00:38:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.</div><div class='add'>+	  [ruby-dev:26800]</div><div class='add'>+</div><div class='add'>+	* range.c (range_check, range_init): reduce useless exceptions.</div><div class='add'>+</div><div class='add'>+Sat Aug 13 18:51:26 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_block_pass): distinguish current block from others.</div><div class='add'>+	  fixed: [ruby-dev:26274]</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_set_string): disallow nil.</div><div class='add'>+	  http://www.rubyist.net/~nobu/t/20050811.html#c05</div><div class='add'>+</div><div class='add'>+Thu Aug 11 23:29:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c: keep holding string after closed.</div><div class='add'>+</div><div class='add'>+Thu Aug 11 13:01:48 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss: fixed sort bug. [ruby-list:41018]</div><div class='add'>+</div><div class='add'>+	* lib/rss/1.0.rb (RSS::RDF::Channel#setup_maker_attributes):</div><div class='add'>+	  removed self.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/base.rb (RSS::Maker::ItemsBase#&lt;=&gt;): use #date</div><div class='add'>+	  instead of @date.</div><div class='add'>+	  (RSS::Maker::Base::self.def_array_element): added #size.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/1.0.rb</div><div class='add'>+	  (RSS::Maker::RSS10::Channel#to_rss,</div><div class='add'>+	   RSS::Maker::RSS10::Items::Item#to_rss): cleared dc_dates set</div><div class='add'>+	  upped by using #date.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/dublincore.rb</div><div class='add'>+	  (RSS::Maker::ChannelBase, RSS::Maker::ItemsBase::ItemBase):</div><div class='add'>+	  fixed opposite alias.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_setup_maker_1.0.rb</div><div class='add'>+	  (RSS::TestSetupMaker10::test_setup_maker_items_sort): added some</div><div class='add'>+	  tests for RSS::Maker::ItemsBase#do_sort.</div><div class='add'>+</div><div class='add'>+Wed Aug 10 10:29:40 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb: fix bug on handling</div><div class='add'>+	  __item_ruby2val_optkeys().</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/blt/component.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Aug  9 15:12:04 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: remove dangerous 'rb_jump_tag's.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to</div><div class='add'>+	  help to convert option values between ruby and tcl.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and</div><div class='add'>+	  __item_ruby2val_optkeys to help to convert option values between</div><div class='add'>+	    ruby and tcl.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'</div><div class='add'>+	  option (for the reason of backward compatibility).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/composite.rb: clarify the arguments of super().</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/spinbox.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/validation.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: support to treat tkvariable-type</div><div class='add'>+	  configure options.</div><div class='add'>+</div><div class='add'>+Tue Aug  9 20:30:19 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_coerce): allow bignum x bignum coercing.</div><div class='add'>+	  [ruby-dev:26778]</div><div class='add'>+</div><div class='add'>+Mon Aug  8 20:43:02 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_method.rb: added.  [ruby-dev:26761]</div><div class='add'>+</div><div class='add'>+Sun Aug  7 23:50:14 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_super.rb: added from HEAD. [ruby-dev:26743]</div><div class='add'>+</div><div class='add'>+Sun Aug  7 01:31:15 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (WIN32OLE_EVENT#on_event): should set</div><div class='add'>+	  only one event handler.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/testOLEEVENT.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/tests/testOLEPARAM.rb: remove re-defined</div><div class='add'>+	  test_ole_type_detail method.</div><div class='add'>+</div><div class='add'>+Sat Aug  6 12:35:24 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates</div><div class='add'>+	  TkVariable if key name is 'variable' or 'textvariable'</div><div class='add'>+	  by default. [ruby-dev:26749]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/{label,radiobutton}.rb: removed its own</div><div class='add'>+	  {variable,textvariable} function.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: retains backward conpatibility.</div><div class='add'>+</div><div class='add'>+Fri Aug  5 12:50:32 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fixed memory leak when tk_funcall raised</div><div class='add'>+	  exception. (copies argv into heap in tk_funcall instead of</div><div class='add'>+	  caller)</div><div class='add'>+</div><div class='add'>+Fri Aug  5 12:42:57 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): need to convert path separetor</div><div class='add'>+	  before invoking install command.</div><div class='add'>+</div><div class='add'>+Fri Aug  5 00:27:04 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: refactoring - extract ruby string &lt;-&gt;</div><div class='add'>+	  tcl object conversion as get_str_from_obj and get_obj_from_str.</div><div class='add'>+</div><div class='add'>+Fri Aug  5 00:19:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* extmk.rb (extmake): needs to be wrapped in an Array.</div><div class='add'>+</div><div class='add'>+Thu Aug  4 18:38:36 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add nativethread consistency check.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/stubs.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=</div><div class='add'>+	  when Tcl is 7.6 or 8.0.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/wm.rb: support to make some methods as options of</div><div class='add'>+	  root or toplevel widget. [ruby-talk:150336]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/root.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/toplevel.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/SUPPRT_STATUS: update RELEASE_DATE</div><div class='add'>+</div><div class='add'>+Thu Aug  4 08:03:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): should not modify $mflags for each</div><div class='add'>+	  extentions.</div><div class='add'>+</div><div class='add'>+Thu Aug  4 00:25:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated</div><div class='add'>+	  macro definitions.</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.</div><div class='add'>+</div><div class='add'>+	* {win32,wince}/Makefile.sub: separate config.h for compiler versions.</div><div class='add'>+</div><div class='add'>+Wed Aug  3 21:59:16 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: TkVariable#trace didn't work on</div><div class='add'>+	  TkVariable retrived from TkVariable.new_hash.ref. [ruby-dev:26721]</div><div class='add'>+</div><div class='add'>+Wed Aug  3 08:22:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_connect): revert [ruby-talk:111654]</div><div class='add'>+	  changes at 2004-09-07.  [ruby-dev:26656]</div><div class='add'>+</div><div class='add'>+Tue Aug  2 10:20:54 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: use Tcl_[GS]etVar2Ex instead of</div><div class='add'>+	  Tcl_Obj[GS]etVar2. (avoid Tcl_NewStringObj on supported platforms)</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: use ip_{get,set,unset}_variable2_core from</div><div class='add'>+	  ip_{get,set,unset}_variable.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: replaced Tcl_Panic with rb_bug.</div><div class='add'>+</div><div class='add'>+Tue Aug  2 01:41:28 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ping.rb (Ping.pingecho): should rescue StandardError.</div><div class='add'>+	  [ruby-dev:26677]</div><div class='add'>+</div><div class='add'>+Mon Aug  1 19:09:41 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: refactoring - replaced rb_ivar_defined &amp;</div><div class='add'>+	  rb_ivar_get with single rb_attr_get call.</div><div class='add'>+</div><div class='add'>+Mon Aug  1 18:45:07 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (Tcl_GetStringResult): refactoring - define</div><div class='add'>+	  alternative macro on Tcl7.x or earlier.</div><div class='add'>+</div><div class='add'>+Mon Aug  1 13:57:35 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (deleted_ip): refactoring - interpreter</div><div class='add'>+	  deletion check. [ruby-dev:26664]</div><div class='add'>+</div><div class='add'>+Mon Aug  1 01:17:40 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (check_insecure_method): use private_methods and</div><div class='add'>+	  protected_methods instead of respond_to? to check method visibility.</div><div class='add'>+	  [ruby-dev:26616]</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_drb.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Aug  1 00:07:32 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='add'>+	* lib/irb/context.rb: fix `irb --readline` option. [ruby-list:40955]</div><div class='add'>+</div><div class='add'>+Fri Jul 29 09:59:38 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): push yielded node instead of yielding.</div><div class='add'>+	  fixed: [yarv-dev:549]</div><div class='add'>+</div><div class='add'>+Thu Jul 28 18:09:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/stubs.c: When --enable-tcltk-stubs, the initialize</div><div class='add'>+	  routine creates a Tcl/Tk interpreter and deletes it. However,</div><div class='add'>+	  init cost of Tk's MainWindow is not so small. And that makes it</div><div class='add'>+	  impossible to use libraries written with Tcl functions only on</div><div class='add'>+	  an environment without a graphical display. This changes support</div><div class='add'>+	  delaying initalization of Tk_Stubs until the script needs Tk.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/stubs.h: New file. Define prototypes and return</div><div class='add'>+	  codes of functions on stubs.c.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: Support delaying initalization of</div><div class='add'>+	  Tk_Stubs until the script needs Tk.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: Show friendly error messages for errors</div><div class='add'>+	  on initialization.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: Avoid SEGV on ip_finalize() when ruby is</div><div class='add'>+	  exiting and $DEBUG is true. (Not fix. If you know the reason of</div><div class='add'>+	  why, please fix it.)</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (ary2list, ary2list2): bug fix on handling of</div><div class='add'>+	  encoding.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string</div><div class='add'>+	  don't work propery.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: Forget extending Tk::Encoding module to Tk.</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: TkVarAccess fails to initialize the</div><div class='add'>+	  object for an element of a Tcl's array variable.</div><div class='add'>+</div><div class='add'>+Wed Jul 27 23:23:54 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (obj_free): make message format consistent with one from</div><div class='add'>+	  gc_mark().  [ruby-talk:149668]</div><div class='add'>+</div><div class='add'>+Wed Jul 27 22:11:37 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin: removed. because the plugin</div><div class='add'>+	  is imported in the tDiary plugin packages.</div><div class='add'>+</div><div class='add'>+Wed Jul 27 10:59:02 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_each): rewinddir(3) before iteration.</div><div class='add'>+	  [ruby-talk:149628]</div><div class='add'>+</div><div class='add'>+Tue Jul 26 12:57:49 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl_missin.c: include &lt;openssl/engine.h&gt; before</div><div class='add'>+	  &lt;openssl/x509_vfy.h&gt; to avoid compilation error of mswin32.</div><div class='add'>+	  suggested by NAKAMURA Usaku.</div><div class='add'>+</div><div class='add'>+Mon Jul 25 21:30:46 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub: moved CPPFLAGS only for ruby</div><div class='add'>+	  source to XCFLAGS.</div><div class='add'>+</div><div class='add'>+Mon Jul 25 13:45:18 2005  NAJIMA Hiroki  &lt;najima@mickey.ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* io.c: check HAVE_SYS_IOCTL_H before including the header.</div><div class='add'>+	  [ruby-dev:26610]</div><div class='add'>+</div><div class='add'>+Mon Jul 25 14:10:02 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fix en-bugged part in the last commit.</div><div class='add'>+</div><div class='add'>+Sat Jul 23 16:49:04 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c (ossl_engine_s_load): should check</div><div class='add'>+	  OPENSSL_NO_STATIC_ENGINE.</div><div class='add'>+</div><div class='add'>+Fri Jul 22 21:06:08 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_eq): reduce isnan().  [ruby-dev:26600]</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le): ditto.</div><div class='add'>+</div><div class='add'>+Fri Jul 22 15:02:39 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: moved copyright description to lib/rss.rb.</div><div class='add'>+</div><div class='add'>+	* lib/rss.rb: added for convenience.</div><div class='add'>+</div><div class='add'>+	* sample/rss/re_read.rb: added #to_s sample.</div><div class='add'>+</div><div class='add'>+	* sample/rss/blend.rb: use 'require "rss"' instead of</div><div class='add'>+	  'require "rss/*"'.</div><div class='add'>+	* sample/rss/list_description.rb: ditto.</div><div class='add'>+	* sample/rss/rss_recent.rb: ditto.</div><div class='add'>+	* sample/rss/tdiary-plugin/rss-recent.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary-plugin/rss-recent.rb: 0.0.6 -&gt; 0.0.7.</div><div class='add'>+</div><div class='add'>+Fri Jul 22 14:37:43 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb (RSS::Parser#initialize): accept HTTP/FTP</div><div class='add'>+	  URI and local file path too.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_parser.rb (RSS::TestParser#test_parse): test</div><div class='add'>+	  for the above.</div><div class='add'>+</div><div class='add'>+Fri Jul 22 07:01:42 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (tk_conv_args): forget to revert thread_critical</div><div class='add'>+	  and gc_disable when raise ArgumentError.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: RemoteTkIp doesn't need to include TkUtil.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add TclTkIp#has_mainwindow? method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add Tk.has_mainwindow? method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to</div><div class='add'>+	  avoid access from external.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs'</div><div class='add'>+	  mainloop.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP</div><div class='add'>+	  with $SAFE==4.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work</div><div class='add'>+	  properly.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add MultiTkIp#set_cb_error(proc) and</div><div class='add'>+	  cb_error(exc) to log errors at callbacks on safe slave IPs.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fail to get an available slave IP object</div><div class='add'>+	  when call Tk.mainloop in the block which is given to new_* method,</div><div class='add'>+	    because cannot finish initialize while the root widget is alive.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop</div><div class='add'>+	  runs on the IP.</div><div class='add'>+</div><div class='add'>+Wed Jul 20 19:20:37 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (S_ISREG): need to define S_ISREG before it is used first.</div><div class='add'>+</div><div class='add'>+Wed Jul 20 18:40:50 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (wsplit_p): patch for the environment where</div><div class='add'>+	  fcntl(F_GETFL, O_NONBLOCK) is not supported. in that case,</div><div class='add'>+	  set FMODE_WSPLIT without fcntl check. [ruby-dev:26566]</div><div class='add'>+</div><div class='add'>+Wed Jul 20 18:07:11 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT</div><div class='add'>+	  by F_SETFL.</div><div class='add'>+</div><div class='add'>+Wed Jul 20 10:04:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_class_path): need to adjust snprintf() len for</div><div class='add'>+	  teminating NUL.  [ruby-dev:26581]</div><div class='add'>+</div><div class='add'>+Wed Jul 20 04:01:55 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: sorry, BeOS also uses HAVE_CLOSESOCKET,</div><div class='add'>+	  so reverted.</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: should not define HAVE_CLOSESOCKET</div><div class='add'>+	  on windows.</div><div class='add'>+</div><div class='add'>+Wed Jul 20 03:16:43 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: should not undef close() on win32.</div><div class='add'>+	  it's defined to rb_w32_close(), otherwise handle leaks.</div><div class='add'>+	  [ruby-Bugs-2131]</div><div class='add'>+</div><div class='add'>+Wed Jul 20 00:48:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (syserr_initialize): don't use str before StringValue()</div><div class='add'>+	  check.  [ruby-dev:26579]</div><div class='add'>+</div><div class='add'>+Tue Jul 19 22:47:29 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (syserr_initialize): add 1 byte for snprintf() size for</div><div class='add'>+	  NUL at the end.  [ruby-dev:26574]</div><div class='add'>+</div><div class='add'>+Tue Jul 19 16:39:46 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_inspect): replace sprintf() with "%s" format all</div><div class='add'>+	  over the place by snprintf() to avoid integer overflow.</div><div class='add'>+</div><div class='add'>+Tue Jul 19 14:08:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: rbtk_eventloop_depth is used as int.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: rbtk_pending_exception is tested with</div><div class='add'>+	  NIL_P, so should assign Qnil instead of 0 (Qfalse).</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_invoke_real): fixed memory leak when</div><div class='add'>+	  ip is deleted.</div><div class='add'>+</div><div class='add'>+Tue Jul 19 13:19:46 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: For symmetry, add TkVariable#string. It</div><div class='add'>+	  returns a string even if the default value type of the TkVariable</div><div class='add'>+	  object is not "string".</div><div class='add'>+</div><div class='add'>+Mon Jul 18 21:40:20 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): make the pointer to NODE volatile</div><div class='add'>+	  instead of NODE itself.</div><div class='add'>+</div><div class='add'>+Mon Jul 18 14:32:21 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): make body volatile to avoid optimization problem.</div><div class='add'>+	  [ruby-dev:26195]</div><div class='add'>+</div><div class='add'>+Mon Jul 18 12:23:27 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/io/wait/wait.c: wrong backport from trunk.  fixed: [ruby-dev:26562]</div><div class='add'>+</div><div class='add'>+Mon Jul 18 09:36:25 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant.</div><div class='add'>+</div><div class='add'>+	* io.c (wsplit_p): new function.</div><div class='add'>+	  (io_fwrite): split writing data by PIPE_BUF if wsplit_p is true in</div><div class='add'>+	  multi-threaded mode.</div><div class='add'>+	  [ruby-dev:26540]</div><div class='add'>+</div><div class='add'>+Sun Jul 17 13:46:54 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/io/wait/extconf.rb, ext/io/wait/wait.c: Win32 platforms support.</div><div class='add'>+</div><div class='add'>+Fri Jul 15 23:59:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (handle_class_module): handle a</div><div class='add'>+	  module enclosed in a built-in module.  fixed: [ruby-talk:148239]</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (find_body): allow macros as methods.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (find_call_seq): allow :nodoc: modifier</div><div class='add'>+	  in C.  [ruby-core:04572]</div><div class='add'>+</div><div class='add'>+Fri Jul 15 18:00:01 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (COMMON_HEADERS): ruby_1_8 is using winsock.h.</div><div class='add'>+	  failed to compile ext/socket on bcc5.6.4. [ruby-dev:26193]</div><div class='add'>+</div><div class='add'>+Fri Jul 15 07:58:56 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::GenericServer#accept_client):</div><div class='add'>+	  sockets should be non-blocking mode. [ruby-dev:26405]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/utils.rb (WEBrick::Utils.set_non_blocking): new method.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_chunked):</div><div class='add'>+	  should call sock.read repeatedly until the preferred size data</div><div class='add'>+	  is obtained.</div><div class='add'>+</div><div class='add'>+Thu Jul 14 18:27:16 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_strerror): should return correct message</div><div class='add'>+	  for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.</div><div class='add'>+	  (bcc32) [ruby-dev:26533]</div><div class='add'>+</div><div class='add'>+Thu Jul 14 00:45:42 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8.</div><div class='add'>+</div><div class='add'>+Wed Jul 13 19:37:47 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_mkdir): should set EEXIST (not EACCES)</div><div class='add'>+	  if file or directory already exists. (bcc32) [ruby-dev:26508]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)</div><div class='add'>+	  if it is not directory. (bcc32, win32)</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore</div><div class='add'>+	  FILE_ATTRIBUTE_READONLY flag on function failure.</div><div class='add'>+</div><div class='add'>+Wed Jul 13 12:40:00 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: TclTkLib.do_one_event doesn't work.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: Tk.thread_update is available.</div><div class='add'>+</div><div class='add'>+Tue Jul 12 23:32:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: keep curdir unexpanded.</div><div class='add'>+</div><div class='add'>+Mon Jul 11 08:31:29 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* regex.c (read_special): fix parsing backslashes following \c in</div><div class='add'>+	  regexp.  fixed: [ruby-dev:26500]</div><div class='add'>+</div><div class='add'>+Mon Jul 11 02:53:00 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):</div><div class='add'>+	  mistook in merging the patch of [ruby-dev:26235] at</div><div class='add'>+	  revision 1.4.2.6.</div><div class='add'>+</div><div class='add'>+Sun Jul 10 23:58:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#unlink): try Dir.unlink first to</div><div class='add'>+	  avoid unlink a directory by root.</div><div class='add'>+	  cf. [ruby-dev:26237]</div><div class='add'>+</div><div class='add'>+Sun Jul 11 05:18:17 2005  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb (XMLRPC::Server): Switch from GServer over to</div><div class='add'>+	  WEBrick. This makes file lib/xmlrpc/httpserver.rb obsolete (at least it is</div><div class='add'>+		no further used by the XML-RPC library).</div><div class='add'>+</div><div class='add'>+Sun Jul 10 12:47:01 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb (debug_command): added a deficient format specifier.</div><div class='add'>+	  fixed: [ruby-core:05419]</div><div class='add'>+</div><div class='add'>+Sat Jul  9 21:28:46 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_method_dispid): convert dispid</div><div class='add'>+	  in Ruby and C by INT2NUM and NUM2INT.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_invoke2): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/test/testWIN32OLE.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/test/testOLEMETHOD.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Jul  8 15:45:04 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::VERSION): 0.1.4 -&gt; 0.1.5.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_version.rb (RSS::TestVersion#test_version):</div><div class='add'>+	  ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb (RSS::Rss::Channel::Item::Category):</div><div class='add'>+	  domain attribute of &lt;category&gt; is optional. Thanks to</div><div class='add'>+	  Chris Lee &lt;clee@kde.org&gt;.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_parser.rb (RSS::TestParser#test_category20):</div><div class='add'>+	  adjusted test case.</div><div class='add'>+</div><div class='add'>+Tue Jul  5 23:44:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb: expand source library path.</div><div class='add'>+</div><div class='add'>+Tue Jul  5 23:27:14 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (sort_2): get rid of yet another bcc's bug.</div><div class='add'>+	  fixed: [ruby-core:05152]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_save_context): must not switch contexts during</div><div class='add'>+	  re-allocating stack.  fixed: [ruby-core:05219]</div><div class='add'>+</div><div class='add'>+Tue Jul  5 15:15:10 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: fix typo.</div><div class='add'>+</div><div class='add'>+Tue Jul  5 14:51:35 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: bug fix on treating Unicode strings.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add methods to treat encoding mode.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/MANUAL.eng: add description of TclTkLib#encoding,</div><div class='add'>+	  encoding_system, and so on.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/MANUAL.euc: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: fail to create a Tcl's list string from an</div><div class='add'>+	  array including multiple kind of encoded strings.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to</div><div class='add'>+	  use TkCore::INTERP.encoding and encoding=.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check</div><div class='add'>+	  DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and</div><div class='add'>+	  Tk.encoding_system. Tk.encoding has higher priority.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/optiondb.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/spinbox.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/validation.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist</div><div class='add'>+	  should be UTF-8 strings.</div><div class='add'>+</div><div class='add'>+Mon Jul  4 14:35:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/svr.rb: service can be stopped by ill-behaved client; use</div><div class='add'>+	  tsvr.rb instead.</div><div class='add'>+</div><div class='add'>+Mon Jul  4 13:25:21 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/erf.c: original erf.c by prof. Okumura is confirmed to</div><div class='add'>+	  be public domain.  reverted BSD implementation.</div><div class='add'>+</div><div class='add'>+Mon Jul  4 11:15:37 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/{dbm,gdbm,sdbm}/test_{dbm,gdbm,sdbm}.rb: skip some tests</div><div class='add'>+	  which using fork on fork-less platforms.</div><div class='add'>+</div><div class='add'>+Sun Jul  3 23:26:30 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/wsdl/document/test_rpc.rb: compare formatted time string of</div><div class='add'>+	  Time objects instead of comparing Time objects itself to avoid</div><div class='add'>+	  unintended conflict of usec part.  [ruby-dev:26220]</div><div class='add'>+</div><div class='add'>+Sat Jul  2 22:41:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (unix_send_io, unix_recv_io): support x86-64 and</div><div class='add'>+	  IA64.</div><div class='add'>+</div><div class='add'>+Sat Jul  2 17:06:23 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.</div><div class='add'>+	  (flush_register_windows): declare flush_register_windows.</div><div class='add'>+</div><div class='add'>+	* eval.c (flush_register_windows): new function.</div><div class='add'>+</div><div class='add'>+Fri Jul  1 17:48:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (get2comp): revert all prior changes, and calculate</div><div class='add'>+	  proper 2's complement for negative numbers.  backported from</div><div class='add'>+	  HEAD.</div><div class='add'>+</div><div class='add'>+Fri Jul  1 15:50:12 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/erf.c: need to include some headers for some platforms.</div><div class='add'>+</div><div class='add'>+	* win32/win32.h (copysign, scalb): define for compatibility with</div><div class='add'>+	  other platforms. [ruby-dev:26430]</div><div class='add'>+</div><div class='add'>+Fri Jul  1 15:37:42 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/crypt.c: modified to make it compilable on platforms</div><div class='add'>+	  other than BSD.  [ruby-dev:26430]</div><div class='add'>+</div><div class='add'>+	* missing/erf.c: ditto.  code from &lt;exp.c&gt; merged.</div><div class='add'>+</div><div class='add'>+Fri Jul  1 12:44:56 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (OpenURI.open_http): refine post_connection_check</div><div class='add'>+	  call.</div><div class='add'>+</div><div class='add'>+Fri Jul  1 11:34:08 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/crypt.c: replaced with 4.4BSD version.</div><div class='add'>+</div><div class='add'>+	* missing/erf.c: ditto.</div><div class='add'>+</div><div class='add'>+	* missing/vsnprintf.c: removed the third provision from the old</div><div class='add'>+	  BSD license.  [ruby-core:05177]</div><div class='add'>+</div><div class='add'>+Fri Jul  1 01:45:21 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_min, enum_max): must not return Qundef.</div><div class='add'>+	  fixed: [ruby-core:05299]</div><div class='add'>+</div><div class='add'>+Fri Jul  1 00:18:40 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (Delegator::respond_to): respond_to? must check</div><div class='add'>+	  destination object.  [ruby-talk:146894]</div><div class='add'>+</div><div class='add'>+Thu Jun 30 19:00:21 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='add'>+	* lib/irb/ruby-lex.rb (RubyLex::identify_number): alternative implements</div><div class='add'>+	  for [ruby-dev:26410]. And support a numeric form of 0d99999.</div><div class='add'>+</div><div class='add'>+Thu Jun 30 17:28:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/ruby-lex.rb (RubyLex::identify_number): should not treat</div><div class='add'>+	  plain zero as an octal number.  [ruby-dev:26410]</div><div class='add'>+</div><div class='add'>+Thu Jun 30 15:13:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): pre-evaluate argument for unambiguous</div><div class='add'>+	  evaluation order.  [ruby-dev:26383]</div><div class='add'>+</div><div class='add'>+Thu Jun 30 09:53:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (Delegator::method_missing): forward unknown</div><div class='add'>+	  method to the destination.  suggested by</div><div class='add'>+	  &lt;christophe.poucet@gmail.com&gt;.  [ruby-talk:146776]</div><div class='add'>+</div><div class='add'>+Tue Jun 28 21:59:29 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c, eval.c, hash.c, process.c, ruby.c: avoid warning "unused</div><div class='add'>+	  variable" [ruby-dev:26387]</div><div class='add'>+</div><div class='add'>+Sat Jun 25 17:15:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_query): should</div><div class='add'>+	  discard if key=val pair is empty. patch from Gary Wright.</div><div class='add'>+</div><div class='add'>+Sat Jun 25 23:30:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (detach_process_watcher): terminate process watcher</div><div class='add'>+	  thread right after rb_waitpid() succeed.  [ruby-talk:146430]</div><div class='add'>+</div><div class='add'>+Sat Jun 25 15:49:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_min, enum_max): do not ignore nil as the first element.</div><div class='add'>+</div><div class='add'>+Sat Jun 25 14:40:17 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/sdbm/init.c (fsdbm_select): SDBM#select had returned the array</div><div class='add'>+	  which contained each elements twice. [ruby-dev:26358]</div><div class='add'>+</div><div class='add'>+Fri Jun 25 05:06:47 2005  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/*, test/xmlrpc/*: backported changes from HEAD into 1.8</div><div class='add'>+</div><div class='add'>+Fri Jun 24 17:00:00 2005  Shigeo Kobayashi  &lt;shigeo@tinyforest.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c: patch from "NATORI Shin"</div><div class='add'>+	  (u-tokyo.ac.jp) applied to fix rounding bug.</div><div class='add'>+</div><div class='add'>+Fri Jun 24 13:06:45 2005  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/common.rb, lib/uri/generic.rb: fixed typo in documents and</div><div class='add'>+	  replaced some existent domain name with "example.com".</div><div class='add'>+</div><div class='add'>+Fri Jun 24 12:23:19 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: fix typo on Tk.grid_propagate.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: Tk.event_generate and TkWindow#event_generate</div><div class='add'>+	  accept TkEvent::Event object as context argument.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: add TkEvent::Event#valid_fields and</div><div class='add'>+	  valid_for_generate to get field parameters of event_generate.</div><div class='add'>+</div><div class='add'>+Thu Jun 23 23:55:59 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* runruby.rb: should load built rbconfig.rb.</div><div class='add'>+</div><div class='add'>+Thu Jun 23 16:53:15 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvastag.rb: TkcGroup.new cannot include given items.</div><div class='add'>+	  TkcGroup#exclude calls wrong method.</div><div class='add'>+	  Add alias TkcGroup#add [ruby-talk:146049].</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: TkCanvas#dtag and some subcommands of</div><div class='add'>+	  TkCanvas#addtag fail to treat a TkcTag argument.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: add TkEvent::Event#generate to help to send</div><div class='add'>+	  current event to other widgets.</div><div class='add'>+</div><div class='add'>+Mon Jun 20 18:44:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): DUMMY_SETJMP is replaced</div><div class='add'>+	  because setjmp is not enough to fix getcontext and SPARC register</div><div class='add'>+	  window problem.</div><div class='add'>+</div><div class='add'>+Mon Jun 20 16:48:36 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dbm/dbm.c (fdbm_closed): new method DBM#closed?</div><div class='add'>+</div><div class='add'>+	* ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?</div><div class='add'>+</div><div class='add'>+	* ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?</div><div class='add'>+</div><div class='add'>+	* test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb</div><div class='add'>+	  (teardown): close all db objects before deleting data files.</div><div class='add'>+</div><div class='add'>+	* win32/win32.{ch} (unlink): hook runtime function to change</div><div class='add'>+	  file attribute before unlinking.</div><div class='add'>+	  fixed: [ruby-dev:26360]</div><div class='add'>+</div><div class='add'>+Mon Jun 20 02:15:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (define_final): document fix: finalizers never get called</div><div class='add'>+	  before target object is destroyed.</div><div class='add'>+</div><div class='add'>+Mon Jun 20 01:26:49 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl_missing.c, ext/openssl/ossl.h,</div><div class='add'>+	  ext/openssl/ossl_asn1.c, ext/openssl/ossl_bio.c,</div><div class='add'>+	  ext/openssl/ossl_pkcs12.h, ext/openssl/ossl_x509req.c: avoid</div><div class='add'>+	  compiler warnings. suggested by Michal Rokos.</div><div class='add'>+</div><div class='add'>+Sun Jun 19 14:09:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (run_final): reduce unnecessary object allocation during</div><div class='add'>+	  finalization.</div><div class='add'>+</div><div class='add'>+	* gc.c (rb_gc_call_finalizer_at_exit): deferred finalizers list should</div><div class='add'>+	  be cleared before calling them.  fixed: [ruby-talk:145790]</div><div class='add'>+</div><div class='add'>+Fri Jun 17 13:01:40 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/time.rb (Time.parse): fix previous leap seconds support.</div><div class='add'>+	  (Time.rfc2822): ditto.</div><div class='add'>+	  (Time.xmlschema): ditto.</div><div class='add'>+</div><div class='add'>+Thu Jun 16 15:06:55 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_rb_threadVwaitCommand): Tcl_Release</div><div class='add'>+	  was missing.</div><div class='add'>+</div><div class='add'>+Thu Jun 16 13:34:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add Tk.getMultiple{Open|Save}File() which return</div><div class='add'>+	  an Array of selected files.</div><div class='add'>+</div><div class='add'>+Thu Jun 16 12:53:24 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/time.rb (Time.parse): "Fri Jan  1 08:59:60 +0900 1999" was</div><div class='add'>+	  parsed as "Fri Jan 01 09:00:00 JST 1999" even on an environment</div><div class='add'>+	  which supports leap seconds.</div><div class='add'>+	  (Time.rfc2822): ditto.</div><div class='add'>+	  (Time.xmlschema): ditto.</div><div class='add'>+</div><div class='add'>+Thu Jun 16 08:29:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dl/sym.c (rb_dlsym_call): needs FREE_ARGS before return.</div><div class='add'>+	  fixed memory leak. [ruby-Bugs-2034]</div><div class='add'>+</div><div class='add'>+Wed Jun 15 18:26:39 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: support "tk inactive" sub-command [for Tcl/Tk8.5a3]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: support "namespace path" sub-command and</div><div class='add'>+	  'namespace ensemble' sub-command [for Tcl/Tk8.5a3]</div><div class='add'>+</div><div class='add'>+Tue Jun 14 02:02:43 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: add TkUtil::CallbackSubst.subst_arg(m, ...) &amp;</div><div class='add'>+	  _define_attribute_aliases(hash) to get substitution-argument from</div><div class='add'>+	  attributes (e.g. subst_arg(:x,:y,:num,:button) --&gt; "%x %y %b %b ").</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: use _define_attribute_aliases().</div><div class='add'>+</div><div class='add'>+Mon Jun 13 13:01:05 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (ruby_setenv): fixed SEGV. [ruby-dev:26186]</div><div class='add'>+</div><div class='add'>+Mon Jun 13 01:54:20 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (sigexit): call rb_thread_signal_exit() instead of</div><div class='add'>+	  rb_exit().  [ruby-dev:26347]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_signal_exit): a new function to exit on main</div><div class='add'>+	  thread.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_switch): exit status should be retrieved from</div><div class='add'>+	  ruby_errinfo.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_exit): ensure exit(0) should call</div><div class='add'>+	  exit(EXIT_SUCCESS).</div><div class='add'>+</div><div class='add'>+Mon Jun 13 01:20:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_gc_mark_threads): curr_thread may not be part of the</div><div class='add'>+	  thread list.  [ruby-dev:26312]</div><div class='add'>+</div><div class='add'>+Fri Jun 10 23:35:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/mkdir.c: remove. [ruby-core:05177]</div><div class='add'>+</div><div class='add'>+Fri Jun 10 22:54:26 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing.h: fd_set stuffs need sys/types.h.  fixed: [ruby-core:05179]</div><div class='add'>+</div><div class='add'>+Thu Jun  9 23:58:12 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/Win32API/Win32API.c (Win32API_Call): disable global</div><div class='add'>+	  optimization. fixed: [ruby-core:05143]</div><div class='add'>+</div><div class='add'>+Thu Jun  9 23:35:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_inject): default the result value to Qundef to use</div><div class='add'>+	  first element as initial value if not given.</div><div class='add'>+</div><div class='add'>+Thu Jun  9 19:55:41 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_longjmp): new macro to call longjmp, setcontext, etc.</div><div class='add'>+	  (ruby_setjmp): new macro to call setjmp, getcontext, etc.</div><div class='add'>+	  (ruby_setjmp): call setjmp before getcontext to avoid IA64 register</div><div class='add'>+	  stack problem.</div><div class='add'>+	  [ruby-talk:144939]</div><div class='add'>+</div><div class='add'>+	* gc.c (Init_stack): remove IA64_MAGIC_STACK_LIMIT.</div><div class='add'>+</div><div class='add'>+Thu Jun  9 11:55:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (SimpleDelegator::__setobj__): need check for</div><div class='add'>+	  recursive delegation.  [ruby-core:04940]</div><div class='add'>+</div><div class='add'>+Wed Jun  8 18:47:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.</div><div class='add'>+</div><div class='add'>+Wed Jun  8 11:11:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (get2comp): calculate proper 2's complement for</div><div class='add'>+	  negative numbers.  a bug in normalizing negative numbers</div><div class='add'>+	  reported from Honda Hiroki &lt;hhonda@ipflex.com&gt;.</div><div class='add'>+</div><div class='add'>+Wed Jun  8 08:33:10 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_min_by, enum_max_by): return nil if no iteration.</div><div class='add'>+	  fixed: [ruby-dev:26245]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_need_block): ensure a block is given.</div><div class='add'>+</div><div class='add'>+	* eval.c (backtrace): skip successive frames sharing same node.</div><div class='add'>+</div><div class='add'>+Wed Jun  8 00:15:08 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_getaddrinfo__aix): merged a patch from</div><div class='add'>+	  KUBO Takehiro &lt;kubo at jiubao.org&gt; to support AIX.  [ruby-list:40832]</div><div class='add'>+</div><div class='add'>+Wed Jun  8 00:09:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (Array::to_yaml): merged a patch from</div><div class='add'>+	  Tilman Sauerbeck &lt;tilman at code-monkey.de&gt;.  [ruby-core:05055]</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (Hash::to_yaml): ditto.</div><div class='add'>+</div><div class='add'>+Wed Jun  8 00:00:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (curses_insertln): merged a patch from</div><div class='add'>+	  TAKAHASHI Tamotsu &lt;ttakah at lapis.plala.or.jp&gt;.  [ruby-ext:02305]</div><div class='add'>+</div><div class='add'>+Tue Jun  7 19:34:15 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/init.rb (IRB::IRB.rc_file_generators): more flexible</div><div class='add'>+	  IRB.rc_file_generators.  [ruby-core:05163]</div><div class='add'>+</div><div class='add'>+Tue Jun  7 18:39:31 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/thread.rb: RDoc documentation from Eric Hodel</div><div class='add'>+	  &lt;drbrain at segment7.net&gt; added.  [ruby-core:05148]</div><div class='add'>+</div><div class='add'>+Tue Jun  7 18:30:04 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.</div><div class='add'>+	  fixed: [ruby-dev:26294]</div><div class='add'>+</div><div class='add'>+Tue Jun  7 17:39:54 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_cvar_get): Module#class_variable_get(): back</div><div class='add'>+	  ported from CVS HEAD.  [ruby-talk:144741]</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_cvar_set): Module#class_variable_set().</div><div class='add'>+	  [ruby-talk:144741]</div><div class='add'>+</div><div class='add'>+Tue Jun  7 16:32:53 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): raise exception on debug mode (-d),</div><div class='add'>+	  not verbose mode (-v/-w).  [ruby-core:05123]</div><div class='add'>+</div><div class='add'>+Tue Jun  7 10:30:49 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures</div><div class='add'>+	  delegated by master-ip.</div><div class='add'>+</div><div class='add'>+Sun Jun  5 23:00:35 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/console.rb: create console when required</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkextlib/tile/demo.rb: fix TypeError &amp; create Console</div><div class='add'>+</div><div class='add'>+Sat Jun  4 14:55:18 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/dbm/test_dbm.rb: merged from ext/dbm/testdbm.rb.</div><div class='add'>+</div><div class='add'>+	* test/gdbm/test_gdbm.rb: merged from ext/gdbm/testgdbm.rb.</div><div class='add'>+</div><div class='add'>+	* test/sdbm/test_sdbm.rb: renamed from ext/sdbm/testsdbm.rb with</div><div class='add'>+	  modification to use test/unit.</div><div class='add'>+</div><div class='add'>+Fri Jun  3 14:06:12 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fix typo.</div><div class='add'>+</div><div class='add'>+Wed Jun  1 11:32:42 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: can use single quote character in DESTDIR.</div><div class='add'>+	  [ruby-dev:26205]</div><div class='add'>+</div><div class='add'>+Mon May 30 23:48:29 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/macpkg.rb: add PACKAGE_NAME information of Tcl/Tk</div><div class='add'>+	  Extension.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/winpkg.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: ditto.</div><div class='add'>+</div><div class='add'>+Sat May 28 16:40:15 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_x509store.rb: add test for expired CRL</div><div class='add'>+	  and refine some assertions.</div><div class='add'>+</div><div class='add'>+Sat May 28 05:15:51 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509store.c (ossl_x509stctx_set_time): should</div><div class='add'>+	  not set internal flag directry.</div><div class='add'>+</div><div class='add'>+Sat May 28 02:00:11 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):</div><div class='add'>+	  ENV["REQUEST_URI"] is better to get correct Request-URI</div><div class='add'>+	  than ENV["SCRIPT_NAME"] + ENV["PATH_INFO"].  [ruby-dev:26235]</div><div class='add'>+</div><div class='add'>+Fri May 27 16:32:04 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: use the semicolon as the path separator</div><div class='add'>+	  in the environment of MSYS.  fixed: [ruby-dev:26232]</div><div class='add'>+</div><div class='add'>+Thu May 26 06:08:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add shortcut-methods of tk_call + tk_split_list</div><div class='add'>+</div><div class='add'>+Wed May 25 22:52:42 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/input-method.rb: do not use Readline::HISTORY.pop.</div><div class='add'>+	  (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Wed May 25 21:55:40 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/readline.c: supported libedit. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+	* ext/readline/extconf.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/readline/test_readline.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed May 25 20:06:27 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: TkComm#tk_split_*list fail to split a kind of SJIS</div><div class='add'>+	  strings. To avoid the trouble, add arguments to control converting</div><div class='add'>+	  encoding, and do split on a UTF8 string.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: modify to attend encoding.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/listbox.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/panedwindow.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textmark.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/texttag.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/winfo.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkWindow#lower_window/raise_window and</div><div class='add'>+	  Tk#lower_window/raise_window by reason of method-name conflict</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: bug fix on TkCanvas#delete when given</div><div class='add'>+	  non-TkcItem arguments.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed May 25 12:59:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (OpenURI::Meta::RE_QUOTED_STRING): a content of</div><div class='add'>+	  quoted-string should be zero or more characters.</div><div class='add'>+</div><div class='add'>+Tue May 24 23:42:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (fix_pow): support Fixnum ** Float case directly</div><div class='add'>+	  without coercing.  [ruby-talk:142697] [ruby-talk:143054]</div><div class='add'>+</div><div class='add'>+Tue May 24 16:57:24 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c (require_libraries): caused SEGV when continuation jumped</div><div class='add'>+	  in to the required library code.</div><div class='add'>+</div><div class='add'>+Tue May 24 11:56:25 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/getopts.rb: should warn only if verbose mode.</div><div class='add'>+	  fixed: [ruby-dev:26201]</div><div class='add'>+</div><div class='add'>+Tue May 24 06:45:31 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): string</div><div class='add'>+	  literals to be matched non-greedy.</div><div class='add'>+</div><div class='add'>+Tue May 24 00:34:32 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/calc: method name 'set' was able to crash with a class Set.</div><div class='add'>+	  [ruby-dev:26210]</div><div class='add'>+</div><div class='add'>+	* test/wsdl/document/test_rpc.rb: dateTime comparison failed under</div><div class='add'>+	  TZ=right/Asia/Tokyo (with leap second.) [ruby-dev:26208]</div><div class='add'>+</div><div class='add'>+Mon May 23 16:24:05 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: Framework support on MacOS X Tiger.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/README.1st: add description of Framework support options.</div><div class='add'>+</div><div class='add'>+Mon May 23 12:21:37 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (make_regexp): should not return junk address during</div><div class='add'>+	  compile time.  [ruby-dev:26206]</div><div class='add'>+</div><div class='add'>+Sun May 22 21:54:06 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.</div><div class='add'>+</div><div class='add'>+	  == SOAP client and server ==</div><div class='add'>+</div><div class='add'>+	  === for both client side and server side ===</div><div class='add'>+</div><div class='add'>+	  * improved document/literal service support.</div><div class='add'>+	    style(rpc,document)/use(encoding, literal) combination are all</div><div class='add'>+	    supported.  for the detail about combination, see</div><div class='add'>+	    test/soap/test_style.rb.</div><div class='add'>+</div><div class='add'>+	  * let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to</div><div class='add'>+	    WSDL as well as obj2soap.  closes #70.</div><div class='add'>+</div><div class='add'>+	  * let SOAP::Mapping::Object handle XML attribute for doc/lit service.</div><div class='add'>+	    you can set/get XML attribute via accessor methods which as a name</div><div class='add'>+	    'xmlattr_' prefixed (&lt;foo name="bar"/&gt; -&gt; Foo#xmlattr_name).</div><div class='add'>+</div><div class='add'>+	  === client side ===</div><div class='add'>+</div><div class='add'>+	  * WSDLDriver capitalized name operation bug fixed.  from</div><div class='add'>+	    1.5.3-ruby1.8.2, operation which has capitalized name (such as</div><div class='add'>+	    KeywordSearchRequest in AWS) is defined as a method having</div><div class='add'>+	    uncapitalized name. (converted with GenSupport.safemethodname</div><div class='add'>+	    to handle operation name 'foo-bar').  it introduced serious</div><div class='add'>+	    incompatibility; in the past, it was defined as a capitalized.</div><div class='add'>+	    define capitalized method as well under that circumstance.</div><div class='add'>+</div><div class='add'>+	  * added new factory interface 'WSDLDriverFactory#create_rpc_driver'</div><div class='add'>+	    to create RPC::Driver, not WSDLDriver (RPC::Driver and WSDLDriver</div><div class='add'>+	    are merged).  'WSDLDriverFactory#create_driver' still creates</div><div class='add'>+	    WSDLDriver for compatibility but it warns that the method is</div><div class='add'>+	    deprecated.  please use create_rpc_driver instead of create_driver.</div><div class='add'>+</div><div class='add'>+	  * allow to use an URI object as an endpoint_url even with net/http,</div><div class='add'>+	    not http-access2.</div><div class='add'>+</div><div class='add'>+	  === server side ===</div><div class='add'>+</div><div class='add'>+	  * added mod_ruby support to SOAP::CGIStub.  rename a CGI script</div><div class='add'>+	    server.cgi to server.rb and let mod_ruby's RubyHandler handles the</div><div class='add'>+	    script.  CGIStub detects if it's running under mod_ruby environment</div><div class='add'>+	    or not.</div><div class='add'>+</div><div class='add'>+	  * added fcgi support to SOAP::CGIStub.  see the sample at</div><div class='add'>+	    sample/soap/calc/server.fcgi.  (almost same as server.cgi but has</div><div class='add'>+	    fcgi handler at the bottom.)</div><div class='add'>+</div><div class='add'>+	  * allow to return a SOAPFault object to respond customized SOAP fault.</div><div class='add'>+</div><div class='add'>+	  * added the interface 'generate_explicit_type' for server side</div><div class='add'>+	    (CGIStub, HTTPServer).  call 'self.generate_explicit_type = true'</div><div class='add'>+	    if you want to return simplified XML even if it's rpc/encoded</div><div class='add'>+	    service.</div><div class='add'>+</div><div class='add'>+	  == WSDL ==</div><div class='add'>+</div><div class='add'>+	  === WSDL definition ===</div><div class='add'>+</div><div class='add'>+	  * improved XML Schema support such as extension, restriction,</div><div class='add'>+	    simpleType, complexType + simpleContent, ref, length, import,</div><div class='add'>+	    include.</div><div class='add'>+</div><div class='add'>+	  * reduced "unknown element/attribute" warnings (warn only 1 time for</div><div class='add'>+	    each QName).</div><div class='add'>+</div><div class='add'>+	  * importing XSD file at schemaLocation with xsd:import.</div><div class='add'>+</div><div class='add'>+	  === code generation from WSDL ===</div><div class='add'>+</div><div class='add'>+	  * generator crashed when there's '-' in defined element/attribute</div><div class='add'>+	    name.</div><div class='add'>+</div><div class='add'>+	  * added ApacheMap WSDL definition.</div><div class='add'>+</div><div class='add'>+	* sample/{soap,wsdl}: removed.</div><div class='add'>+</div><div class='add'>+Sun May 22 19:11:35 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#intialize):</div><div class='add'>+	  should initialize session id context. [ruby-core:4663]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.</div><div class='add'>+</div><div class='add'>+Sat May 21 10:24:21 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: tds files were not deleted when DESTDIR</div><div class='add'>+	  included '\' path delimiter. [ruby-dev:26193]</div><div class='add'>+</div><div class='add'>+Thu May 19 19:04:29 2005  speakillof  &lt;speakillof@yahoo.co.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/encodings/SHIFT-JIS.rb: encoding and decoding were</div><div class='add'>+	  swapped. [ruby-core:4772]</div><div class='add'>+</div><div class='add'>+Wed May 18 23:42:25 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (exc_exception): reverted to call Exception#initialize</div><div class='add'>+	  directly.  fixed: [ruby-dev:26177]</div><div class='add'>+</div><div class='add'>+Wed May 18 23:39:09 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (glob_helper): get rid of using String.  [ruby-dev:26180]</div><div class='add'>+</div><div class='add'>+	* dir.c (push_braces): should skip balanced braces.</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_options), win32/win32.c (NtInitialize): move argument</div><div class='add'>+	  intialization back.  [ruby-dev:26180]</div><div class='add'>+</div><div class='add'>+Tue May 17 15:31:31 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should</div><div class='add'>+	  break the loop if the socket reached to EOF. [ruby-talk:142285]</div><div class='add'>+</div><div class='add'>+Tue May 17 11:52:18 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (unixtime_to_filetime): use localtime() instead of</div><div class='add'>+	  gmtime() when using FileLocalTimeToFileTime().</div><div class='add'>+</div><div class='add'>+Mon May 16 22:28:43 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h, {bcc32,win32,wince}/Makefile.sub: moved rb_[ugp]id_t</div><div class='add'>+	  to get rid of redefinition warnings on mingw.</div><div class='add'>+</div><div class='add'>+	* class.c (rb_class_init_copy): singleton class is disallowed to copy,</div><div class='add'>+	  from its definition.  fixed: [ruby-talk:142749]</div><div class='add'>+</div><div class='add'>+Mon May 16 08:52:29 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.{h,c}: define rb_[pgu]id_t.</div><div class='add'>+</div><div class='add'>+Mon May 16 00:21:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#unlink): use SystemCallError instead of</div><div class='add'>+	  Errno::EISDIR because EISDIR is not portable.</div><div class='add'>+	  [ruby-core:5001]</div><div class='add'>+</div><div class='add'>+Sun May 15 22:11:33 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRbObject#method_missing): use raise(exception).</div><div class='add'>+	  [ruby-dev:26164]</div><div class='add'>+</div><div class='add'>+Sun May 15 18:56:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, ruby.h: define rb_[pgu]id_t macros instead of typedefs</div><div class='add'>+	  to get rid of types which might not be defined yet.  [ruby-dev:26165]</div><div class='add'>+</div><div class='add'>+Sun May 15 14:35:46 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#unlink): unlink a symlink to a directory</div><div class='add'>+	  was failed.  [ruby-core:4992]</div><div class='add'>+</div><div class='add'>+Sun May 15 09:57:30 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (unixtime_to_filetime): deal with DST.</div><div class='add'>+	  [ruby-talk:141817]</div><div class='add'>+</div><div class='add'>+Sat May 14 23:59:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (exc_exception, {exit,name_err,syserr}_initialize): call</div><div class='add'>+	  Execption#initialize.  fixed: [ruby-talk:142593]</div><div class='add'>+</div><div class='add'>+Sat May 14 23:57:26 2005  Erik Huelsmann  &lt;ehuels@gmail.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: Check for the availability of pid_t, gid_t and uid_t and</div><div class='add'>+	  remove AC_TYPE_UID_T.  fixed: [ruby-core:04745]</div><div class='add'>+</div><div class='add'>+	* defines.h: Remove pid_t typedef.</div><div class='add'>+</div><div class='add'>+	* ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with</div><div class='add'>+	 the available system types.</div><div class='add'>+</div><div class='add'>+	* process.c: Change instances of pid_t and gid_t to their rb_*</div><div class='add'>+	 counterparts.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c: Change pid_t to rb_pid_t.</div><div class='add'>+</div><div class='add'>+	* vms/config.h: Define HAVE_{P,G,U}ID_T to 1.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub: Remove #define for {g,u}id_t.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c: Change pid_t to rb_pid_t.</div><div class='add'>+</div><div class='add'>+	* wince/Makefile.sub: Remove #define for {g,u}id_t.</div><div class='add'>+</div><div class='add'>+	* wince/sys/types.h: Remove definitions of {p,g,u}id_t.</div><div class='add'>+</div><div class='add'>+Fri May 13 23:44:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: keep srcdir unexpanded.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.</div><div class='add'>+	  fixed: [ruby-core:04932]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make</div><div class='add'>+	  also INSTALL_PROG and INSTALL_DATA system dependent.</div><div class='add'>+	  fixed: [ruby-core:04931]</div><div class='add'>+</div><div class='add'>+Fri May 13 17:54:39 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (generic_ivar_get): rb_attr_get should not warn.</div><div class='add'>+	  [ruby-dev:26010]</div><div class='add'>+</div><div class='add'>+Fri May 13 12:28:43 2005  Daniel Berger  &lt;djberge@qwest.com&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_select): can remove argc check. [ruby-core:4911]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_array.rb: add test for find_all.</div><div class='add'>+</div><div class='add'>+Fri May 13 11:29:00 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (unknown_node): add volatile directive to prototype.</div><div class='add'>+</div><div class='add'>+Thu May 12 17:08:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_eof, remain_size, read_all, io_read, appendline)</div><div class='add'>+	  (swallow, rb_io_each_byte, rb_io_getc): revert previous change.</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_eof, io_fread, appendline, swallow, rb_io_each_byte)</div><div class='add'>+	  (rb_io_getc, rb_getc): call clearerr before getc to avoid</div><div class='add'>+	  stdio incompatibility.</div><div class='add'>+</div><div class='add'>+Thu May 12 16:52:20 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb: more readability for mixing</div><div class='add'>+	  progress "c..." and warning message.</div><div class='add'>+</div><div class='add'>+Thu May 12 16:31:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c: follow nkf 2.0.5</div><div class='add'>+</div><div class='add'>+Thu May 12 16:15:01 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_eof, remain_size, read_all, io_read, appendline)</div><div class='add'>+	  (swallow, rb_io_each_byte, rb_io_getc): don't rely EOF flag.</div><div class='add'>+	  [ruby-talk:141527]</div><div class='add'>+</div><div class='add'>+Thu May 12 15:56:20 2005  Tilman Sauerbeck  &lt;tilman@code-monkey.de&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb: show parsing progress for C files.</div><div class='add'>+	  [ruby-core:4341]</div><div class='add'>+</div><div class='add'>+Thu May 12 13:47:56 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb{ssl,unix}.rb: can test drb</div><div class='add'>+	  before install. (backported from HEAD) [ruby-dev:26146]</div><div class='add'>+</div><div class='add'>+Thu May 12 09:53:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* version.c (ruby_show_version): flush for non-tty stdout.</div><div class='add'>+</div><div class='add'>+Thu May 12 09:07:07 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/envutil.rb, test/drb/drbtest.rb: can test drb</div><div class='add'>+	  before install. (backported from HEAD) [ruby-Bugs-1672]</div><div class='add'>+</div><div class='add'>+Thu May 12 01:23:55 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at</div><div class='add'>+	  parser.  fixed: [ruby-dev:26113]</div><div class='add'>+</div><div class='add'>+	* eval.c (unknown_node): ignore broken NODE to get rid of accessing</div><div class='add'>+	  possibly inaccessible address.  fixed: [ruby-dev:26122]</div><div class='add'>+	  should emit more useful information like [ruby-dev:26126], though.</div><div class='add'>+</div><div class='add'>+Wed May 11 16:20:01 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#logger</div><div class='add'>+	  and WEBrick::CGI#config. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should</div><div class='add'>+	  not use String#split("/"). (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Wed May 11 15:58:39 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (break_jump): break should not cross functions.</div><div class='add'>+	  [ruby-list:40818]</div><div class='add'>+</div><div class='add'>+Wed May 11 10:39:37 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tempfile.rb (Tempfile#unlink): fixed typo.</div><div class='add'>+</div><div class='add'>+Wed May 11 01:03:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (TMP_ALLOC): use macro NEW_NODE() to get rid of warnings on</div><div class='add'>+	  platforms which have no alloca().  fixed: [ruby-talk:141301]</div><div class='add'>+</div><div class='add'>+Sun May  8 23:17:47 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: fix typo.</div><div class='add'>+</div><div class='add'>+Sun May  8 16:52:56 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/profiler.rb: fixed "undefined method `[]' for nil:NilClass"</div><div class='add'>+	  [ruby-core:4775] [ruby-talk:140401] [ruby-dev:26118]</div><div class='add'>+</div><div class='add'>+Sat May  7 22:58:00 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_var): no libs argument is given.</div><div class='add'>+</div><div class='add'>+Sun May  1 09:58:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c (process_sflag): replace '-' in variable names with '_'.</div><div class='add'>+	  [ruby-dev:26107]</div><div class='add'>+</div><div class='add'>+	* ruby.c (set_arg0): use also environment variable space for setting</div><div class='add'>+	  $0.  [ruby-core:04774]</div><div class='add'>+</div><div class='add'>+Wed Apr 27 23:42:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (OPTFLAGS): default global optimization to</div><div class='add'>+	  disabled only for VC++6.</div><div class='add'>+</div><div class='add'>+Tue Apr 26 22:58:00 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_invoke_core): call Tcl's "::unknown"</div><div class='add'>+	  command when can't get information of target command.</div><div class='add'>+</div><div class='add'>+Mon Apr 25 01:18:43 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* regex.c: declare rb_warn to have variadic argument.  [ruby-core:4751]</div><div class='add'>+</div><div class='add'>+Sat Apr 23 19:45:59 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_RubyExitCommand): exit with status code</div><div class='add'>+	  via TclTkIp#_eval didn't work. [ruby-talk:139390]</div><div class='add'>+</div><div class='add'>+Fri Apr 22 16:41:50 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_set_exc_message): fixed memory leak.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: eTkCallbackReturn was not initialized.</div><div class='add'>+</div><div class='add'>+Thu Apr 21 00:07:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): support platforms have file separator</div><div class='add'>+	  other than /.</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator</div><div class='add'>+	  of building platform.</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.</div><div class='add'>+</div><div class='add'>+Wed Apr 20 23:22:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, common.mk: miniruby depens on MINIOBJS.</div><div class='add'>+</div><div class='add'>+	* dmydln.c (dln_load): dummy function to raise LoadError.</div><div class='add'>+</div><div class='add'>+	* cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby</div><div class='add'>+	  can't load extensions on Windows.</div><div class='add'>+</div><div class='add'>+Wed Apr 20 23:01:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/ifchange.bat: delete testing files.</div><div class='add'>+</div><div class='add'>+Wed Apr 20 07:27:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/configure.bat, {bcc32,win32,wince}/setup.mak:</div><div class='add'>+	  add extout option.</div><div class='add'>+</div><div class='add'>+	* bcc32/setup.mak: make configuration variables overridable.</div><div class='add'>+</div><div class='add'>+Wed Apr 20 04:15:27 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb.rb lib/irb/* doc/irb: IRB 0.9.5</div><div class='add'>+</div><div class='add'>+Tue Apr 19 23:37:09 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ftools.rb (File.safe_unlink): do not modify a symlinked file.</div><div class='add'>+</div><div class='add'>+Tue Apr 19 00:06:20 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: expand path for ext/**/extconf.rb.</div><div class='add'>+</div><div class='add'>+Mon Apr 18 11:25:14 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_run): fixed SEGV. [ruby-core:4712]</div><div class='add'>+</div><div class='add'>+Sun Apr 17 23:57:49 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake, parse_args): do not expand destdir.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (relative_from): treat mere drive letter as an absolute</div><div class='add'>+	  path.</div><div class='add'>+</div><div class='add'>+Sat Apr 16 17:01:16 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin/rss-recent.rb (rss_recent_cache_rss):</div><div class='add'>+	  use the first date information of items as site date information</div><div class='add'>+	  if channel doesn't have date information.</div><div class='add'>+</div><div class='add'>+Sat Apr 16 15:27:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (RUBY_PROG_INSTALL): not add -p option to INSTALL.</div><div class='add'>+	  files need timestamps to be kept are only ar-archive on a few</div><div class='add'>+	  platforms, and be installed by instruby.rb but not INSTALL.</div><div class='add'>+	  fixed: [ruby-core:04721]</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: purge autoconf value variables.</div><div class='add'>+</div><div class='add'>+Sat Apr 16 10:36:01 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: quick hack... prepend DESTDIR.</div><div class='add'>+	  still have restriction on DESTDIR ("", "/", "e:")</div><div class='add'>+</div><div class='add'>+Sat Apr 16 03:59:42 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: check for OPENSSL_cleanse.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl_missing.h: ditto.</div><div class='add'>+</div><div class='add'>+Thu Apr 14 19:18:30 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (remove_file): ignore exceptions caused by</div><div class='add'>+	  chmod.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (remove_dir): try to get rights to rmdir.</div><div class='add'>+	  [ruby-Bugs:1502] (2 items backportted from HEAD, rev 1.53-54)</div><div class='add'>+</div><div class='add'>+Thu Apr 14 16:57:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: failed to remove debug information files.</div><div class='add'>+	  fixed: [ruby-dev:26034]</div><div class='add'>+</div><div class='add'>+Wed Apr 13 23:40:21 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::VERSION): 0.1.3 -&gt; 0.1.4.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::Element#converter): fixed converter</div><div class='add'>+	  transmission bug.</div><div class='add'>+</div><div class='add'>+Wed Apr 13 21:20:35 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (mingw32): extract msvcr*.dll from objdump result.</div><div class='add'>+</div><div class='add'>+Wed Apr 13 20:24:30 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (mingw32): use actual runtime DLL name as ruby DLL</div><div class='add'>+	  name and default load path.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub, win32/setup.mak: ditto.</div><div class='add'>+</div><div class='add'>+Tue Apr 12 15:33:09 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_finalize): better modification than the</div><div class='add'>+	  previous commit [ruby-dev:26029].</div><div class='add'>+</div><div class='add'>+Tue Apr 12 12:38:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_finalize): fix SEGV when Tcl_GlobalEval()</div><div class='add'>+	  modifies the argument string to eval.</div><div class='add'>+</div><div class='add'>+Tue Apr 12 02:21:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_finalize): add existence check of</div><div class='add'>+	  Tcl commands before calling Tcl_GlobalEval().</div><div class='add'>+</div><div class='add'>+Mon Apr 11 23:47:21 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: [druby-ja:123] fix: When reference of my object is</div><div class='add'>+	  loaded, the object is tainted.</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Apr 11 22:18:23 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c, file.c (lstat): avoid warnings for mingw.</div><div class='add'>+</div><div class='add'>+Mon Apr 11 20:11:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_finalize): adhoc patch to avoid SEGV</div><div class='add'>+	  when exit on Tcl/Tk8.3.x.</div><div class='add'>+</div><div class='add'>+Mon Apr 11 15:26:25 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration): shouldn't output hdrdir twice.</div><div class='add'>+</div><div class='add'>+Mon Apr 11 12:09:05 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub: ri data was not installed</div><div class='add'>+	  into correct path. [ruby-dev:26011]</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: defaulted install-nodoc. [ruby-dev:26011]</div><div class='add'>+</div><div class='add'>+Sun Apr 10 10:12:42 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c(ole_invoke): retry after converting Qnil</div><div class='add'>+	  to VT_EMPTY.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole/tests/testWIN32OLE.rb: correct error</div><div class='add'>+	  message string "Unknown" =&gt; "unknown".</div><div class='add'>+</div><div class='add'>+Sat Apr  9 18:20:31 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/image.rb: support to create TkImage object without</div><div class='add'>+	  creating a new image object on Tk.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString</div><div class='add'>+	  from (x, y) coords.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tile/: add demo and update support status.</div><div class='add'>+</div><div class='add'>+Sat Apr  9 14:42:29 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin/rss-recent.rb: supported configuration</div><div class='add'>+	  via Web browser.</div><div class='add'>+</div><div class='add'>+Sat Apr  9 11:59:57 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss: backoported from HEAD.</div><div class='add'>+</div><div class='add'>+	* lib/rss: refactored.</div><div class='add'>+	  - gave a name to 'x'.</div><div class='add'>+	  - undef_method -&gt; remove_method for avoiding a warning in ruby 1.6.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: @@setter -&gt; @@setters.</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb</div><div class='add'>+	  (RSS::BaseListener.register_uri)</div><div class='add'>+	  (RSS::BaseListener.uri_registered?)</div><div class='add'>+	  (RSS::BaseListener.install_get_text_element):</div><div class='add'>+	  swapped the first argument and the second argument.</div><div class='add'>+</div><div class='add'>+	* lib/rss/taxonomy.rb: swapped the first argument and the second</div><div class='add'>+	  argument for RSS::BaseListener.install_get_text_element.</div><div class='add'>+	* lib/rss/image.rb: ditto.</div><div class='add'>+	* lib/rss/syndication.rb: ditto.</div><div class='add'>+	* lib/rss/dublincore.rb: ditto.</div><div class='add'>+	* lib/rss/parser.rb: ditto.</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+	* lib/rss/content.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb</div><div class='add'>+	  (RSS::BaseListener.install_setter)</div><div class='add'>+	  (RSS::BaseListener.register_uri): changed fallback way.</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb: added class name registry for complex model</div><div class='add'>+	  elements. (ex. have childlen elements, have some attributes and</div><div class='add'>+	  a child element and so on.)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* lib/rss/dublincore.rb: supported multiple Dublin Core items.</div><div class='add'>+	* lib/rss/maker/dublincore.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/image.rb: supproted new Dublin Core API.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/base.rb: added default current_element implementation.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* lib/rss/trackback.rb (RSS::TrackBackUtils.new_with_value_if_need):</div><div class='add'>+	  moved to RSS::Utils.</div><div class='add'>+</div><div class='add'>+	* lib/rss/utils.rb (RSS::Utils.new_with_value_if_need):</div><div class='add'>+	  moved from RSS::TrackBackUtils.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/image.rb: fixed invalid argument of</div><div class='add'>+	  add_need_initialize_variable bug.</div><div class='add'>+	* lib/rss/maker/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (Hash#merge): added for ruby 1.6.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::BaseModel.date_writer): changed to accept nil</div><div class='add'>+	  for date value.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* test/test_dublincore.rb: added tests for plural accessor and</div><div class='add'>+	  multiple Dublin Core items.</div><div class='add'>+</div><div class='add'>+	* test/test_setup_maker_1.0.rb: fixed swapped actual and expected</div><div class='add'>+	  values.</div><div class='add'>+</div><div class='add'>+	* test/rss/rss-assertions.rb (assert_multiple_dublin_core): added</div><div class='add'>+	  an assertion for testing multiple Dublin Core items.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_maker_dc.rb (test_rss10_multiple): added a test</div><div class='add'>+	  for making multiple Dublin Core items.</div><div class='add'>+</div><div class='add'>+	* test/rss/test_maker_dc.rb (test_date): added a test for #date=</div><div class='add'>+	  and #dc_date=.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin/rss-recent.rb:</div><div class='add'>+	  new option: @options['rss-recent.use-image-link']:</div><div class='add'>+	  use image as link instread of text if available.</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin/rss-recent.rb (RSS_RECENT_VERSION):</div><div class='add'>+	  0.0.5 -&gt; 0.0.6.</div><div class='add'>+</div><div class='add'>+Fri Apr  8 20:17:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): hdrdir needs to be defined also in</div><div class='add'>+	  Config::CONFIG.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration, create_makefile): get rid of recursive</div><div class='add'>+	  macro reference.</div><div class='add'>+</div><div class='add'>+Fri Apr  8 18:26:56 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c: add callbacks to OpenSSL::SSL::SSLContexts.</div><div class='add'>+	  - SSLContext#client_cert_cb=(aProc). it is called when a client</div><div class='add'>+	    certificate is requested by a server and no certificate was not</div><div class='add'>+	    set for the SSLContext. it must return an Array which includes</div><div class='add'>+	    OpenSSL::X509::Certificate and OpenSSL::PKey::RSA/DSA objects.</div><div class='add'>+	  - SSLContext#tmp_dh_callback=(aProc). it is called in key</div><div class='add'>+	    exchange with DH algorithm. it must return an OpenSSL::PKey::DH</div><div class='add'>+	    object.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): ignore the</div><div class='add'>+	  argument if it's nil.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey.c</div><div class='add'>+	  (GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.</div><div class='add'>+	  (DupPrivPKeyPtr): new function.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dh.c: add default DH parameters.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey.h: ditto.</div><div class='add'>+</div><div class='add'>+Fri Apr  8 01:55:20 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-{en,jp}/goldberg.rb: reduced window size.</div><div class='add'>+	  [ruby-dev:25992]</div><div class='add'>+</div><div class='add'>+Thu Apr  7 23:58:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): keep directory names in Makefile as macros.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration, create_makefile): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (CXX_EXT): separate C++ extensions.</div><div class='add'>+</div><div class='add'>+Thu Apr  7 17:43:25 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): "return" event hook should be always executed</div><div class='add'>+	  if event_hooks is set.  fixed: [ruby-core:04662]</div><div class='add'>+	  (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Mon Apr  4 23:17:52 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (TkComm#array2tk_list): accept enc-mode argument to</div><div class='add'>+	  decide whether convert encoding of each element or not.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb (TkVariable#value=): fail to convert the</div><div class='add'>+	  encoding of array elements when assign an array to an TkVariable</div><div class='add'>+	  object.</div><div class='add'>+</div><div class='add'>+Mon Apr  4 10:26:48 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: fixed typo.</div><div class='add'>+</div><div class='add'>+Sun Apr  3 17:16:33 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.{h,c} (rb_w32_fdopen): avoid warning on bcc32.</div><div class='add'>+	  (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Sat Apr  2 23:38:54 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (CP, INSTALL): get rid of less portable options.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration, create_makefile): correct configuration</div><div class='add'>+	  variable.</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/{Makefile.sub,setup.mak}: leave prefix empty in</div><div class='add'>+	  config.status for backward compatibility.  fixed: [ruby-core:04649]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): ensure library directories get made</div><div class='add'>+	  before copying libraries there.</div><div class='add'>+</div><div class='add'>+Sat Apr  2 16:59:46 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: forgot to update RELEASE_DATE</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: fix namespace trouble when autoloading</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/palette.rb: define Tcl variable 'tkPalette' as global</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: use array2tk_list method when calling</div><div class='add'>+	  Tk.ip_eval.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/autoload.rb: add autoload entry 'TkDialogObj' and</div><div class='add'>+	  'TkWarningObj'</div><div class='add'>+</div><div class='add'>+Sat Apr  2 02:19:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (TkWindow.initialize): accept 'without_creating'</div><div class='add'>+	  option without 'widgetname' option to allow creating a widget object</div><div class='add'>+	  which is used as an argument of Tcl/Tk's widget allocation commands.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/image.rb (TkImage.initialize): accept 'imagename'</div><div class='add'>+	  option to create a image object by the given name.</div><div class='add'>+</div><div class='add'>+Thu Mar 31 22:23:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case</div><div class='add'>+	  insensitive file system platforms.</div><div class='add'>+</div><div class='add'>+	* README.EXT, README.EXT.ja (Appendix C): utility functions.</div><div class='add'>+</div><div class='add'>+Thu Mar 31 14:15:44 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c (ossl_engine_s_load): should return</div><div class='add'>+	  value. [ruby-dev:25971]</div><div class='add'>+</div><div class='add'>+Thu Mar 31 08:25:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* common.mk (RUBYOPT): clear for the environment RubyGems installed.</div><div class='add'>+</div><div class='add'>+	* common.mk (clean-local): keep $(PREP) files till distclean.</div><div class='add'>+</div><div class='add'>+	* common.mk (check): do all tests.</div><div class='add'>+</div><div class='add'>+Thu Mar 31 06:00:20 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c (ossl_engine_s_load): should not raise</div><div class='add'>+	  error even if the specified engine could not be loaded. (Dynamic</div><div class='add'>+	  engines don't have fixed name to load.)</div><div class='add'>+</div><div class='add'>+Thu Mar 31 00:18:27 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/ifchange.bat, win32/rm.bat: backported from HEAD.</div><div class='add'>+</div><div class='add'>+Wed Mar 30 23:44:50 2005  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in, */Makefile.sub, */configure.bat,</div><div class='add'>+	  cygwin/GNUmakefile.in, common.mk, configure.in, ext/extmk.rb,</div><div class='add'>+	  lib/mkmf.rb, instruby.rb, runruby.rb: backport extout.</div><div class='add'>+	  [ruby-dev:25963]</div><div class='add'>+</div><div class='add'>+Wed Mar 30 17:41:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add TclTkIp#_create_console() method to</div><div class='add'>+	  create a Tcl/Tk's console window.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: support TclTkIp#_create_console() method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/console.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: update RELEASE_DATE</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demo-*/check2.rb: use 'return' in the Proc object.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkextlib/**: ditto.</div><div class='add'>+</div><div class='add'>+Tue Mar 29 22:11:56 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: use DRbObject.new_with instead of reinit.</div><div class='add'>+	  [ruby-dev:25961]</div><div class='add'>+</div><div class='add'>+Mon Mar 28 23:40:40 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: move method DRbObject#reinit to DRbObject.new_with.</div><div class='add'>+	  extract method DRbObject.prepare_backtrace. add DRb.regist_server,</div><div class='add'>+	  remove_server, fetch_server. change server in thread variable if</div><div class='add'>+	  in-proc server. [druby-ja:113]</div><div class='add'>+</div><div class='add'>+	* lib/drb/gw.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Mar 28 20:43:34 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: get rid of warnings caused by a bug of VC.</div><div class='add'>+</div><div class='add'>+Mon Mar 28 08:39:49 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_create): Iconv::Failure requires 3</div><div class='add'>+	  arguments.  (pointed out by NaHi)</div><div class='add'>+</div><div class='add'>+Sat Mar 26 22:51:33 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (_callback_entry_class?): add for checking whether</div><div class='add'>+	  a class is available for a callback entry.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (after_cancel): add Tk.after_cancel(afterID) method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (array2tk_list): change from private module method</div><div class='add'>+	  of TkComm to public module method.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (cget): add check that slot argument is not</div><div class='add'>+	  empty string.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (configinfo): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb (itemcget): add check that slot argument</div><div class='add'>+	  is not empty string.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/itemconfig.rb (itemconfiginfo): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/entry.rb: add TkEntry#icursor and icursor= (alias of</div><div class='add'>+	  cursor and cursor= method).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: improve font treatment when the font name is</div><div class='add'>+	  empty string.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: add :variable, :window and :procedure</div><div class='add'>+	  type.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: improve treatment of array-type</div><div class='add'>+	  tkvariable.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/blt.rb: add commands for zooming.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/blt/*: bug fix.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and add methods</div><div class='add'>+	  to call TreeCtrl commands for bindings.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkextlib/blt/*: new sample scripts.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkextlib/treectrl/*: ditto.</div><div class='add'>+</div><div class='add'>+Fri Mar 25 10:53:16 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (WIN32_LEAN_AND_MEAN): removed because a lot of</div><div class='add'>+	  troubles.  [ruby-list:40721]</div><div class='add'>+</div><div class='add'>+Thu Mar 24 23:10:44 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (macro_defined?): try to compile for an old compiler</div><div class='add'>+	  which doesn't bail out at #error directive.  [ruby-dev:25818]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (check_sizeof): refine logging messages.</div><div class='add'>+</div><div class='add'>+Thu Mar 24 03:57:48 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/utils.rb (WEBrick::Utils.create_listeners):</div><div class='add'>+	  - should raise ArgumentError if no port is specified.</div><div class='add'>+	  - even if the specified port is 0, all TCPServers should be</div><div class='add'>+	  initialized with the port given to the first one.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::GenericServer#initialize): if :Port</div><div class='add'>+	  parameter is 0, it should be updated with the port number which</div><div class='add'>+	  actually listened.</div><div class='add'>+</div><div class='add'>+Wed Mar 23 00:35:10 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_settracefunc.rb (test_event): added tests for</div><div class='add'>+	  "class" and "end" and "raise".</div><div class='add'>+</div><div class='add'>+Tue Mar 22 22:40:18 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): check event_hooks instead of trace_func.</div><div class='add'>+</div><div class='add'>+Tue Mar 22 17:30:44 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_add_event_hook): new function to add a hook function for</div><div class='add'>+	  interpreter events. (backported form HEAD)</div><div class='add'>+</div><div class='add'>+Sun Mar 20 22:51:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (mkmf_failed): check if Makefile is created without</div><div class='add'>+	  create_makefile.</div><div class='add'>+</div><div class='add'>+Sat Mar 19 23:48:10 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-expr-beg): returned true always.</div><div class='add'>+	  fixed: [ruby-list:40683]</div><div class='add'>+</div><div class='add'>+Sat Mar 19 00:41:02 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: add some TkFont class methods to get font</div><div class='add'>+	  information without creating a TkFont object.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and define some</div><div class='add'>+	  classes for components of Tk::TreeCtrl</div><div class='add'>+</div><div class='add'>+Thu Mar 17 17:42:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c (make_struct): allow non local-id field</div><div class='add'>+	  names. [ruby-core:04575]</div><div class='add'>+</div><div class='add'>+	* struct.c (inspect_struct): ditto.</div><div class='add'>+</div><div class='add'>+Wed Mar 16 23:36:02 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): call_cfunc() should be protected.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_settracefunc.rb: added test for c-return.</div><div class='add'>+</div><div class='add'>+Wed Mar 16 22:20:25 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (str_to_id): fixed typo.</div><div class='add'>+</div><div class='add'>+Wed Mar 16 18:08:32 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): reorganize "return" event post.</div><div class='add'>+</div><div class='add'>+Tue Mar 15 23:49:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (Init_iconv): InvalidEncoding also should include</div><div class='add'>+	  Iconv::Failure.</div><div class='add'>+</div><div class='add'>+Tue Mar 15 16:38:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (ary2list): give wrong arguments to hash2kv()</div><div class='add'>+</div><div class='add'>+Mon Mar 14 19:39:33 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value</div><div class='add'>+	  when restarting</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/sample/cd_timer.rb: new sample of TkRTTimer</div><div class='add'>+</div><div class='add'>+Mon Mar 14 12:21:03 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb (TkRTTimer): forgot to reset the callback</div><div class='add'>+	  time. So, 'continue' do all callbacks between 'stop' and 'continue'.</div><div class='add'>+</div><div class='add'>+Mon Mar 14 08:14:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (str_to_id): warn for NUL containing strings.</div><div class='add'>+</div><div class='add'>+Mon Mar 14 00:13:49 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb (TkRTTimer): correct calculation of offset</div><div class='add'>+	  value. get a little better accuracy.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/widget: use a binding with no local variables</div><div class='add'>+	  when eval a sample script.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/bind.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/tcolor: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/widget: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/bind.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/tcolor: ditto.</div><div class='add'>+</div><div class='add'>+Sun Mar 13 10:04:17 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: remove test_gc. [ruby-dev:25871]</div><div class='add'>+</div><div class='add'>+Thu Mar 10 19:12:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (lib_eventloop_ensure): mis-delete a timer</div><div class='add'>+	  handler when exit from a recursive called eventloop</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: new TkRTTimer class, which can works for a</div><div class='add'>+	  realtime operation</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkrttimer.rb: sample of TkRTTimer class</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textmark.rb: move  TkTextMark#+ and TkTextMark#- to</div><div class='add'>+	  TkText::IndexModMethods</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: improve TkTextMark#+ and TkTextMark#-, and</div><div class='add'>+	  add them to TkText::IndexModMethods module</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tktextio.rb: add test part of "seek by text index</div><div class='add'>+	  modifiers"</div><div class='add'>+</div><div class='add'>+Thu Mar 10 08:10:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (make_regexp): need to free internal regexp structure when</div><div class='add'>+	  compilation fails.  [ruby-talk:133228]</div><div class='add'>+</div><div class='add'>+Wed Mar  9 20:25:58 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_write): call</div><div class='add'>+	  rb_sys_fail if errno isn't 0. [ruby-dev:25831]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]</div><div class='add'>+</div><div class='add'>+Wed Mar  9 15:46:35 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::GenericServer#start): should</div><div class='add'>+	  restore @token if accept failure. suggested by Dominique Brezinski.</div><div class='add'>+	  [ruby-core:04518]</div><div class='add'>+</div><div class='add'>+Wed Mar  9 13:37:57 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tktextio.rb: fix bug of handling 'end' position.</div><div class='add'>+	  support initial text, overwrite setting and pos_gravity control.</div><div class='add'>+</div><div class='add'>+Tue Mar  8 18:16:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tktextio.rb: New sample script. TkTextIO class in this</div><div class='add'>+	  sample supports to use a text widget as if it is a I/O stream (such</div><div class='add'>+	  like as StringIO class).</div><div class='add'>+</div><div class='add'>+Tue Mar  8 13:54:40 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: workaround for some of 4.4BSD-Lite derived OSs.</div><div class='add'>+</div><div class='add'>+Tue Mar  8 12:36:17 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: document from Sam Roberts</div><div class='add'>+	  &lt;sroberts@uniserve.com&gt; for getsockopt and setsockopt is merged.</div><div class='add'>+	  [ruby-doc:824]</div><div class='add'>+</div><div class='add'>+Tue Mar  8 01:27:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.66</div><div class='add'>+	  fixed: [ruby-dev:25828]</div><div class='add'>+</div><div class='add'>+Mon Mar  7 21:35:02 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/webrick/httpsd.rb: fix typo in comment. suggested by</div><div class='add'>+	  Kazuhiko Shiozaki.</div><div class='add'>+</div><div class='add'>+Mon Mar  7 14:55:43 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (block_pass): should not push unique number if a block is</div><div class='add'>+	  not an orphan.  [ruby-dev:25808]</div><div class='add'>+</div><div class='add'>+Wed Feb 16 02:55:21 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_read,</div><div class='add'>+	  ossl_ssl_write):</div><div class='add'>+	  - need to set errno on Win32 platform.</div><div class='add'>+	  - should call rb_sys_fail instead of rasing SSLError if</div><div class='add'>+	    SSL_ERROR_SYSCALL occured.</div><div class='add'>+	  - should wait for that the underlying IO become readable or</div><div class='add'>+	    writable if the error was SSL_ERROR_WANT_READ or</div><div class='add'>+	    SSL_ERROR_WANT_WRITE. [ruby-dev:25795]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb</div><div class='add'>+	  (Buffering#initialize): should set @eof and @rbuffer.</div><div class='add'>+	  (Buffering#fill_rbuff): should rescue Errno::EAGAIN.</div><div class='add'>+	  (Buffering#consume_rbuf): pointless eof flag resetting is deleted.</div><div class='add'>+	  (Buffering#read): should return an empty string if the specified</div><div class='add'>+	  size is zero.</div><div class='add'>+	  (Buffering#readpartial): new method.</div><div class='add'>+	  (Buffering#readline): fix typo.</div><div class='add'>+	  (Buffering#getc): return the first character of string correctly.</div><div class='add'>+	  (Buffering#each): fix typo.  suggested by Brian Ollenberger.</div><div class='add'>+	  (Buffering#readchar): fix typo.</div><div class='add'>+	  (Buffering#eof?): should read again it the input buffer is empty.</div><div class='add'>+	  (Buffering#do_write): should rescue Errno::EAGAIN.</div><div class='add'>+	  (Buffering#puts): use "\n" as the output field separator.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the</div><div class='add'>+	  underlying IO.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: get rid of GNUmakefile generation.</div><div class='add'>+</div><div class='add'>+	* text/openssl/test_pair.rb: test for IO like methods.</div><div class='add'>+</div><div class='add'>+	* test/ruby/ut_eof.rb: test about empty file.</div><div class='add'>+</div><div class='add'>+Mon Mar  7 10:22:06 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/un.rb: should use OptionParser. (backported form HEAD)</div><div class='add'>+</div><div class='add'>+Mon Mar  7 09:18:42 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_cmp_m): should not return false but nil.</div><div class='add'>+	  fixed: [ruby-dev:25811]</div><div class='add'>+</div><div class='add'>+Mon Mar  7 01:22:14 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: remove the some codes which depend on the</div><div class='add'>+	  difference between Ruby1.8 and 1.9, because st.c on Ruby1.9</div><div class='add'>+	  was changed.</div><div class='add'>+</div><div class='add'>+Mon Mar  7 00:01:04 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fail to call TclTkLib.mainloop when $SAFE==4</div><div class='add'>+</div><div class='add'>+Sun Mar  6 16:41:33 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: HTTPHeader holds its header fields as an array</div><div class='add'>+	  (backport from CVS HEAD rev 1.112-1.123). [ruby-list:40629]</div><div class='add'>+</div><div class='add'>+	* test/net/http/test_httpheader.rb: new file.</div><div class='add'>+</div><div class='add'>+Sun Mar  6 11:47:10 2005  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb: rdoced.  [ruby-core:4490]</div><div class='add'>+</div><div class='add'>+Sun Mar  6 11:36:37 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (File::Stat#pretty_print): Etc.getpwuid and Etc.getgrgid</div><div class='add'>+	  may return nil.  [ruby-talk:129826]</div><div class='add'>+	  reported by Daniel Berger.</div><div class='add'>+</div><div class='add'>+Sat Mar  5 18:06:21 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (fnmatch): removed unnecessary code. (ruby_1_8 didn't have</div><div class='add'>+	  String#clear, so [ruby-dev:24749] didn't affect it)</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (NtInitialize): ditto. (by numeric.c 1.101.2.14)</div><div class='add'>+</div><div class='add'>+Sat Mar  5 16:29:26 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: freeze callback-entry objects</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tile.rb: support tile-0.6</div><div class='add'>+</div><div class='add'>+Fri Mar  4 19:39:28 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#do_includes): replace</div><div class='add'>+	  also locally defined modules.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c: backport Iconv::InvalidEncoding from CVS HEAD.</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: moved misplaced rdoc.</div><div class='add'>+</div><div class='add'>+Fri Mar  4 15:58:12 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi-lib.rb: add deprecation warning. [ruby-dev:25499]</div><div class='add'>+	  getopts.rb, parsearg.rb, importenv.rb as well.</div><div class='add'>+</div><div class='add'>+Fri Mar  4 11:17:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_rbUpdateCommand): get rid of</div><div class='add'>+	  warnings with Tcl/Tk 8.3 or former (backport from CVS_HEAD).</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_rb_threadUpdateCommand): ditto.</div><div class='add'>+</div><div class='add'>+Fri Mar  4 10:15:30 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/set.rb (SortedSet::setup): a hack to shut up warning.</div><div class='add'>+	  [ruby-talk:132866]</div><div class='add'>+</div><div class='add'>+Fri Mar  4 07:07:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63</div><div class='add'>+</div><div class='add'>+Thu Mar  3 23:49:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.62</div><div class='add'>+</div><div class='add'>+Thu Mar  3 11:49:51 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin/rss-recent.rb: added site information.</div><div class='add'>+</div><div class='add'>+Wed Mar  2 19:53:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (parse_args): add DESTDIR only when not directed</div><div class='add'>+	  already.  fixed: [ruby-dev:25781]</div><div class='add'>+</div><div class='add'>+Wed Mar  2 17:14:18 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (lib_eventloop_core): fix typo</div><div class='add'>+</div><div class='add'>+Wed Mar  2 16:00:02 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: enforce thread-check and exception-handling</div><div class='add'>+	  to avoid SEGV trouble.</div><div class='add'>+	  [KNOWN BUG] When supports pthread and running multiple Tk</div><div class='add'>+	  interpreters, an interrupt signal causes SEGV frequently. That</div><div class='add'>+	  may be a trouble of Ruby's signal handler.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil/tkutil.c; fix a bug on converting a SJIS string array</div><div class='add'>+	  to a Tcl's list string.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to</div><div class='add'>+	  protect from namespace crash.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: enforce exception-handling.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/tcltklib.c: add TclTkLib.mainloop_thread?</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/clock.rb: fix 'no method error'.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/variable.rb: be able to set default_value_type; :numeric,</div><div class='add'>+	  :bool, :string, :symbol, :list, :numlist or nil (default; same to</div><div class='add'>+	  :string). If set a type, TkVariable#value returns a value of the</div><div class='add'>+	  type.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the</div><div class='add'>+	  risk of using TclX extension's 'signal' command.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/irbtk.rb: irb with Ruby/Tk.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code'</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-*/pendulum.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-*/goldberg.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-*/widget: add entries of animation demos.</div><div class='add'>+</div><div class='add'>+Tue Mar  1 00:47:43 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: backport from CVS_HEAD. use</div><div class='add'>+	  MockClock.sleep instead of Kernel.sleep [ruby-dev:25387]</div><div class='add'>+</div><div class='add'>+Tue Mar  1 00:34:24 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/tuplespace.rb (Rinda::TupleSpace): improved keeper thread.</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Feb 28 11:42:23 2005  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='add'>+</div><div class='add'>+	* exception error messages updated.  [ruby-core:04497]</div><div class='add'>+</div><div class='add'>+Mon Feb 28 09:03:09 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (Init_socket): add bunch of Socket</div><div class='add'>+	  constants.  Patch from Sam Roberts &lt;sroberts@uniserve.com&gt;.</div><div class='add'>+	  [ruby-core:04409]</div><div class='add'>+</div><div class='add'>+Wed Feb 23 15:04:32 2005  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (split_userinfo): should split ":pass" into ""</div><div class='add'>+	  and "pass".  [ruby-dev:25667]</div><div class='add'>+</div><div class='add'>+Wed Feb 23 08:00:18 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_s_create): no need for negative argc check.</div><div class='add'>+	  [ruby-core:04463]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_unshift_m): ditto.</div><div class='add'>+</div><div class='add'>+Wed Feb 23 01:57:46 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (initialize): handle certs correctly. Thanks,</div><div class='add'>+	  NABEYA Kenichi. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Tue Feb 22 07:25:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (parser_yylex): identfier after dot must not be a variable.</div><div class='add'>+</div><div class='add'>+Mon Feb 21 10:04:49 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (fcntl): ditto.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_connect): support nonblocking mode.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (wait_connectable, ruby_connect): support</div><div class='add'>+	  nonblocking connect on various platforms.</div><div class='add'>+	  all changes are backported from CVS HEAD. [ruby-core:3154],</div><div class='add'>+	  [ruby-core:4364].</div><div class='add'>+</div><div class='add'>+Sun Feb 20 00:48:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::FTP#buffer_open): access mechanism</div><div class='add'>+	  re-implemented according to RFC 1738.</div><div class='add'>+	  reported by Guillaume Marcais.  [ruby-talk:131650]</div><div class='add'>+</div><div class='add'>+Sat Feb 19 18:11:47 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRbObject#respond_to?): take two arguments.</div><div class='add'>+	  [ruby-dev:25722]</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Feb 19 13:52:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb: call OpenSSL::SSL::SSLSocket#post_connection_check</div><div class='add'>+	  after connection is made.</div><div class='add'>+</div><div class='add'>+Sat Feb 19 01:32:03 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/newton.rb: resolved LoadError.</div><div class='add'>+	  [ruby-dev:25685]</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/sample/linear.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/sample/nlsolve.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/nlsolve.rb: removed because this file</div><div class='add'>+	  is sample script and same file exists in ext/bigdecimal/sample.</div><div class='add'>+</div><div class='add'>+Fri Feb 18 17:14:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass</div><div class='add'>+	  of StandardError class, not Exception class.  [ruby-core:04429]</div><div class='add'>+</div><div class='add'>+Thu Feb 17 20:11:18 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRbServer.default_safe_level): fix typo.</div><div class='add'>+</div><div class='add'>+Thu Feb 17 20:11:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/digest/test_digest.rb: separate test case for each algorithms.</div><div class='add'>+	  [ruby-dev:25412]</div><div class='add'>+</div><div class='add'>+Thu Feb 17 11:54:00 2005  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector.rb (collect_file): now deletes paths added</div><div class='add'>+	  to $LOAD_PATH instead of restoring it verbatim.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (AutoRunner.run): fixed so that</div><div class='add'>+	  'ruby -rtest/unit -rtest1 -rtest2 -e0' will use the objectspace</div><div class='add'>+	  collector again. Also tried to simplify the calling convention.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: adjusted for new AutoRunner semantics.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Feb 17 04:21:47 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.</div><div class='add'>+	  fixed: [ruby-core:04444]</div><div class='add'>+</div><div class='add'>+Thu Feb 17 00:09:45 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/ignore_test_drb.rb: move TestDRbReusePort to new file</div><div class='add'>+	  [ruby-dev:25238]</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb.rb: add method DRbService.ext_service, move</div><div class='add'>+	  TestDRbReusePort to new file [ruby-dev:25238]</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drbssl.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drbunix.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_drb.rb: reduce sleep.</div><div class='add'>+</div><div class='add'>+Thu Feb 17 00:02:27 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (is_defined): NODE_IASGN is an assignment.</div><div class='add'>+</div><div class='add'>+Wed Feb 16 23:34:30 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: add lazy stop_service. ([druby-ja:109])</div><div class='add'>+</div><div class='add'>+	* lib/drb/extserv.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed Feb 16 17:07:57 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: Follow the change of st.c (st_foreach)</div><div class='add'>+	  [ruby-list:40623].</div><div class='add'>+	  Sometimes mis-convert from a Ruby's Array of SJIS Strings, which</div><div class='add'>+	  includes some kind of SJIS characters, to a Tcl's UTF8 list string.</div><div class='add'>+</div><div class='add'>+Mon Feb 14 23:58:17 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/parser.rb (RSS::ListenerMixin::tag_end):</div><div class='add'>+	  fixed invalid namespace handling bug.</div><div class='add'>+</div><div class='add'>+Mon Feb 14 13:12:38 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb</div><div class='add'>+	 (OpenSSL::SSL::SSLSocket#post_connection_check): new method.</div><div class='add'>+</div><div class='add'>+Mon Feb 14 00:40:49 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (InvokeMethod.perform): pass DRb info to sub thread.</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb.rb (test_01_safe1_safe4_eval): fix test case.</div><div class='add'>+</div><div class='add'>+Sun Feb 13 23:13:46 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/dublincore.rb (RSS::DublicCoreModel#date{,=}): added</div><div class='add'>+	  convenient methods.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb (RSS::Rss::Channel#date{,=}): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/2.0.rb (RSS::Rss::Channel::Item#date{,=}): ditto.</div><div class='add'>+</div><div class='add'>+	* test/rss/: added tests for the convenient methods.</div><div class='add'>+</div><div class='add'>+Sun Feb 13 22:43:03 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRbServer): add default_safe_level, safe_level,</div><div class='add'>+	  config[:safe_level] ([druby-ja:120])</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb.rb, ut_eval.rb, ut_safe1.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Feb 13 16:56:52 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrase</div><div class='add'>+	  to the value of status header field. ([ruby-dev:40617])</div><div class='add'>+</div><div class='add'>+Sun Feb 13 00:52:33 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/erb.rb (ERB::Util.h, u): make it module_function.</div><div class='add'>+</div><div class='add'>+Sat Feb 12 17:29:19 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (OpenURI.open_loop): send authentication only for</div><div class='add'>+	  the URI directly specified.</div><div class='add'>+</div><div class='add'>+Sat Feb 12 15:07:23 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (rand_init): suppress warning.</div><div class='add'>+</div><div class='add'>+Sat Feb 12 13:54:03 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb: support https if the platform provides CA</div><div class='add'>+	  certificates.</div><div class='add'>+</div><div class='add'>+Sat Feb 12 06:18:28 2005  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check.</div><div class='add'>+	  [ruby-dev:25675]</div><div class='add'>+</div><div class='add'>+Fri Feb 11 17:40:42 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):</div><div class='add'>+	  new method OpenSSL::X509::Store#set_default_paths.</div><div class='add'>+</div><div class='add'>+Fri Feb 11 11:33:53 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::HTTP#proxy_open): new option supported:</div><div class='add'>+	  :http_basic_authentication.</div><div class='add'>+	  suggested by Kent Sibilev.  [ruby-core:4392]</div><div class='add'>+</div><div class='add'>+Fri Feb 11 06:30:07 2005  George Ogata  &lt;g_ogata@optushome.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el: ignore parenthesis inside heredoc.</div><div class='add'>+	  [ruby-core:04415]</div><div class='add'>+</div><div class='add'>+Fri Feb 11 04:54:13 2005  Tilman Sauerbeck  &lt;tilman@code-monkey.de&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/ri_generator.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Feb 10 11:14:17 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (COMMON_HEADERS): shouldn't include winsock2.h.</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb (sockaddr_storage): remove workaround for</div><div class='add'>+	  mswin32.</div><div class='add'>+</div><div class='add'>+Thu Feb 10 10:29:16 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c: don't need to check HAVE_WCOLOR_SET excluding</div><div class='add'>+	  window_color_set().</div><div class='add'>+</div><div class='add'>+Thu Feb 10 00:47:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c (make_struct): fixed: [ruby-core:04402]</div><div class='add'>+</div><div class='add'>+Wed Feb  9 08:07:08 2005  Paul Duncan  &lt;pabs@pablotron.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (window_color_set): [ruby-core:04393]</div><div class='add'>+</div><div class='add'>+Tue Feb  8 23:51:47 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: reject :instance_eval, :class_eval, :module_eval</div><div class='add'>+	  [druby-ja:117]</div><div class='add'>+</div><div class='add'>+Tue Feb  8 13:06:12 2005  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.</div><div class='add'>+	  [ruby-talk:130092]</div><div class='add'>+</div><div class='add'>+Tue Feb  8 09:30:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::Cookie): [ruby-talk:130040]</div><div class='add'>+</div><div class='add'>+Tue Feb  8 00:19:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Name#subdomain_of?): new method.</div><div class='add'>+	  (Resolv::DNS::Name#inspect): ditto.</div><div class='add'>+	  Suggested by Sam Roberts.  [ruby-talk:129086]</div><div class='add'>+</div><div class='add'>+Mon Feb  7 10:06:30 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c: [ruby-doc:818]</div><div class='add'>+</div><div class='add'>+Mon Feb  7 01:56:20 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb, rubytest.rb (srcdir): no longer embed srcdir into</div><div class='add'>+	  rbconfig.rb. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb (sockaddr_storage): winsock2.h have the</div><div class='add'>+	  definition of struct sockaddr_storage, but socket.c doesn't</div><div class='add'>+	  include it because this version of ruby still has binary level</div><div class='add'>+	  compatibility with winsock1.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): should support header files in</div><div class='add'>+	  depend file.</div><div class='add'>+</div><div class='add'>+Mon Feb  7 01:21:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: check if getaddrinfo() works fine only when</div><div class='add'>+	  wide-getaddrinfo option is not given.  fixed: [ruby-dev:25422]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb ($extmk): check if under ext directory.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (Logging.postpone): allow recursive operation.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (try_constant): make sure if really a constant, reduce</div><div class='add'>+	  the number of times of compile.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_macro, have_var, byte_order): new functions.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (find_library): allow directory list with separators.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (arg_config): manage provided configuration options.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (dir_config): accept arrays of directory names as</div><div class='add'>+	  default values.</div><div class='add'>+</div><div class='add'>+	* mkconfig.rb: no longer embed srcdir and compile_dir into</div><div class='add'>+	  rbconfig.rb.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): fix unbalanced parens.</div><div class='add'>+</div><div class='add'>+Sun Feb  6 19:23:01 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (stack_extend): add prototype because VC++8 doesn't</div><div class='add'>+	  accept __declspec(noinline) with K&amp;R style function definitions.</div><div class='add'>+	  (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Sun Feb  6 14:14:26 2005  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb (new_with_hash): changed messages of exception.</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb (str[fp]time): undocumented conversion</div><div class='add'>+	  specifications %[1-3] are now deprecated.</div><div class='add'>+</div><div class='add'>+Sun Feb  6 12:20:11 2005  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big2ulong_pack): One too many arguments are passed</div><div class='add'>+	  to big2ulong().</div><div class='add'>+</div><div class='add'>+	* re.c (rb_reg_init_copy, rb_reg_initialize_m): One too many</div><div class='add'>+	  arguments are passed to rb_reg_initialize().</div><div class='add'>+</div><div class='add'>+Sun Feb  6 03:24:20 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Resource::TXT): multiple strings was not</div><div class='add'>+	  handled.</div><div class='add'>+	  (Resolv::DNS::Resource::TXT#strings): new method to return all</div><div class='add'>+	  strings.</div><div class='add'>+	  (Resolv::DNS::Message::MessageEncoder#put_string_list): new method.</div><div class='add'>+	  (Resolv::DNS::Message::MessageDecoder#get_string_list): ditto.</div><div class='add'>+	  based on [ruby-talk:129732] by Sam Roberts.</div><div class='add'>+</div><div class='add'>+Fri Feb  4 00:30:45 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss: supported Image module.</div><div class='add'>+	  http://web.resource.org/rss/1.0/modules/image/</div><div class='add'>+</div><div class='add'>+Thu Feb  3 23:42:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_close, strio_close_read, strio_close_write):</div><div class='add'>+	  should return nil instead of self as well as IO.  [ruby-dev:25623]</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_extend, strio_putc): fill with zero</div><div class='add'>+	  extended portion.  [ruby-dev:25626]</div><div class='add'>+</div><div class='add'>+Wed Feb  2 23:52:53 2005  sheepman  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_truncate): should MEMZERO an extended</div><div class='add'>+	  part.  [ruby-dev:25618]</div><div class='add'>+</div><div class='add'>+Wed Feb  2 21:56:01 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::Element#convert): added.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: convert -&gt; need_convert.</div><div class='add'>+</div><div class='add'>+	* lib/rss/1.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/2.0.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/rss/trackback.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Feb  1 22:48:48 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRb::DRbObject#respond_to?): check marshal_dump and</div><div class='add'>+	_dump.</div><div class='add'>+</div><div class='add'>+Tue Feb  1 00:20:23 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (aix): fix linker flags on AIX.  [ruby-talk:125460]</div><div class='add'>+</div><div class='add'>+Mon Jan 31 13:33:21 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add invalid namespace check</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add invalid_namespace? method</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: ditto</div><div class='add'>+</div><div class='add'>+Mon Jan 31 10:29:18 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]</div><div class='add'>+</div><div class='add'>+Sat Jan 29 09:42:12 2005  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Resource::IN::SRV): Added RFC2782 SRV</div><div class='add'>+	  resource record for specifying location of services.</div><div class='add'>+</div><div class='add'>+Fri Jan 28 17:16:55 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf):</div><div class='add'>+	  parse options line for ndots option.</div><div class='add'>+	  (Resolv::Hosts#lazy_initialize): return self.</div><div class='add'>+	  (Resolv::DNS#lazy_initialize): ditto.</div><div class='add'>+	  (Resolv::DNS::Config#lazy_initialize): ditto.</div><div class='add'>+	  Suggested by Sam Roberts.</div><div class='add'>+</div><div class='add'>+Thu Jan 27 13:18:03 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* st.c (st_foreach): report success/failure by return value.</div><div class='add'>+	  [ruby-Bugs-1396]</div><div class='add'>+</div><div class='add'>+Thu Jan 27 00:15:29 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (setup): support BSD-style</div><div class='add'>+	  directory group inheritance. (backport from HEAD, rev 1.32)</div><div class='add'>+</div><div class='add'>+	* test/fileutils/fileasserts.rb (assert_same_entry): show entry</div><div class='add'>+	  difference. (backport from HEAD, rev 1.4)</div><div class='add'>+</div><div class='add'>+Wed Jan 26 23:09:11 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/protocol.rb (WriteAdapter#puts): should append \n, not</div><div class='add'>+	  prepend. [ruby-talk:128302] (backport from HEAD, rev 1.75)</div><div class='add'>+</div><div class='add'>+Wed Jan 26 10:51:50 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (flock_winnt, flock_win95): unlock file even if</div><div class='add'>+	  LOCK_NB is specified. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Tue Jan 25 17:11:51 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c (proc_options): correct -T option in RUBYOPT. (backported</div><div class='add'>+	  from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Tue Jan 25 14:05:52 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix SEGV bug; trouble on canceling remained</div><div class='add'>+	  after scripts [ruby-dev:25479]: NULL current namespace when deleting</div><div class='add'>+	    Tk interpreter [ruby-talk:126225]</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted</div><div class='add'>+	  [ruby-talk:126360]</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: add yet another native-thread check</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize</div><div class='add'>+	  Ruby interpreter</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag</div><div class='add'>+	  doesn't return the created object [ruby-dev:25479]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for</div><div class='add'>+	  a command argument [ruby-dev:25479]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/*.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/anilabel.rb: new demo script</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/anilabel.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix</div><div class='add'>+	  [ruby-dev:25479]</div><div class='add'>+</div><div class='add'>+Mon Jan 24 15:44:25 2005  Tilman Sauerbeck  &lt;tilman@code-monkey.de&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb: allow whitespace after function names.</div><div class='add'>+	  [ruby-core:4296]</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_simple.rb: adds support for private comments</div><div class='add'>+	  in the "simple" parser. [ruby-core:4301]</div><div class='add'>+</div><div class='add'>+Mon Jan 24 15:44:25 2005  Charles Mills  &lt;cmills@freeshell.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb: adds support for constants</div><div class='add'>+	  (rb_define_const), accessors (rb_define_attr), and makes a</div><div class='add'>+	  couple fixes. [ruby-core:4307]</div><div class='add'>+</div><div class='add'>+Mon Jan 24 15:44:25 2005  Florian Gro  &lt;florgro@gmail.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: Logic for def Builtin.method() end</div><div class='add'>+	  [ruby-core:4302]</div><div class='add'>+</div><div class='add'>+Mon Jan 24 15:44:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* document updates - [ruby-core:04296], [ruby-core:04301],</div><div class='add'>+	  [ruby-core:04302], [ruby-core:04307]</div><div class='add'>+</div><div class='add'>+Sun Jan 23 12:41:16 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/wsdlDriver.rb: from 1.5.3-ruby1.8.2, operation which has</div><div class='add'>+	  capitalized name (such as KeywordSearchRequest in AWS) is defined as</div><div class='add'>+	  a method having uncapitalized name. (converted with</div><div class='add'>+	  GenSupport.safemethodname to handle operation name 'foo-bar').  it</div><div class='add'>+	  introduced serious incompatibility; in the past, it was defined as a</div><div class='add'>+	  capitalized.</div><div class='add'>+</div><div class='add'>+	  define capitalized method as well under that circumstance.</div><div class='add'>+</div><div class='add'>+Sun Jan 23 05:24:42 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_to_der): should call</div><div class='add'>+	  GetOCSPReq at first.</div><div class='add'>+</div><div class='add'>+Sat Jan 22 23:09:47 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/ssl.rb (accept): rescue SSLError. [druby-ja:110]</div><div class='add'>+</div><div class='add'>+Sat Jan 22 22:35:03 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/unix.rb: fail if UNIXFileOwner is set. [druby-ja:111]</div><div class='add'>+</div><div class='add'>+Fri Jan 21 23:58:42 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_set_pos): clear EOF flag.</div><div class='add'>+	  [ruby-talk:127511]</div><div class='add'>+</div><div class='add'>+Fri Jan 21 20:07:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Config.resolv): don't raise ResolvError.</div><div class='add'>+	  reported by Sam Roberts.  [ruby-talk:127133]</div><div class='add'>+</div><div class='add'>+Fri Jan 21 16:58:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_push_glob): should work for NUL delimited patterns.</div><div class='add'>+</div><div class='add'>+Fri Jan 21 13:58:37 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (u8tou16): fixed typo. fixed: [ruby-list:40546]</div><div class='add'>+	  (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Fri Jan 21 09:30:16 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubyio.h (rb_eof_error): should mark as NORETURN. (backported</div><div class='add'>+	  from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Fri Jan 21 00:31:36 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_parser_bufsize_set): avoid VC++ warning</div><div class='add'>+	  "local variable 'size' used without having been initialized".</div><div class='add'>+</div><div class='add'>+Thu Jan 20 19:03:24 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): shouldn't set $extflags on mswin32.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (LIBRUBY_SO): should use $DLDOBJS instead of</div><div class='add'>+	  $EXTOBJS.</div><div class='add'>+	  fixed: [ruby-core:04290] (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Thu Jan 20 11:42:02 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_new4): should propagate taintedness.</div><div class='add'>+</div><div class='add'>+	* struct.c (rb_struct_set): use original method name, not callee</div><div class='add'>+	  name, to retrieve member slot.  [ruby-core:04268]</div><div class='add'>+</div><div class='add'>+	* time.c (time_strftime): protect from format modification from GC</div><div class='add'>+	  finalizers.</div><div class='add'>+</div><div class='add'>+Wed Jan 19 18:06:40 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ipaddr.rb (to_s, test_to_s): too many colons with some cases.</div><div class='add'>+	  (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Wed Jan 19 01:16:30 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf): ignore</div><div class='add'>+	  domain and search directive without an argument.</div><div class='add'>+	  reported by Sam Roberts.  [ruby-talk:126781]</div><div class='add'>+</div><div class='add'>+Tue Jan 18 15:03:05 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value</div><div class='add'>+	  of :SSLEnable is false.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio</div><div class='add'>+	  don't allow changing its mode.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):</div><div class='add'>+	  should delete trailing LF from the result of pack("m*").</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):</div><div class='add'>+	  - should delete trailing LF from the result of pack("m*").</div><div class='add'>+	  - clear Request-Line not to send the response by HTTPServer#run.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues):</div><div class='add'>+	  refine regexp (and change the name of a local variable).</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add</div><div class='add'>+	  new method to escape URI path component.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): should</div><div class='add'>+	  escape SCRIPT_NAME and PATH_INFO before being parsed as a URI.</div><div class='add'>+</div><div class='add'>+	* test/webrick/*, sample/webrick/httpproxy.rb: add new file.</div><div class='add'>+</div><div class='add'>+Mon Jan 17 23:33:46 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (aix): fix typo.  [ruby-talk:126401]</div><div class='add'>+</div><div class='add'>+Mon Jan 17 07:08:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/readline.c: suppress warnings.</div><div class='add'>+</div><div class='add'>+	* lib/irb/extend-command.rb (IRB::ContextExtender.def_extend_command):</div><div class='add'>+	  ditto.</div><div class='add'>+</div><div class='add'>+	* lib/irb/ext/history.rb (IRB::Context::set_last_value): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/irb/ext/history.rb (IRB::Context::eval_history): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/irb/locale.rb (IRB::Locale::real_load): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/irb/slex.rb (SLex::Node::create_subnode): remove garbage.</div><div class='add'>+</div><div class='add'>+Mon Jan 17 00:09:42 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/common.rb (PORT): typo fix. fixed: [ruby-core:04256]</div><div class='add'>+</div><div class='add'>+Sat Jan 15 14:57:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c (proc_options): ignore trailing CRs at the end of short</div><div class='add'>+	  options as well as long options.  fixed: [ruby-core:04232]</div><div class='add'>+</div><div class='add'>+Sat Jan 15 13:35:16 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb (RSS::VERSION): 0.1.2 -&gt; 0.1.3.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: accept inheritance. [ruby-talk:126104]</div><div class='add'>+</div><div class='add'>+Thu Jan 13 04:48:53 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fread): don't warn nonblocking behavior by default.</div><div class='add'>+</div><div class='add'>+Wed Jan 12 00:36:29 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_class_superclass): superclass of singleton class also</div><div class='add'>+	  should be a singleton class.  fixed: [ruby-list:40519]</div><div class='add'>+</div><div class='add'>+Tue Jan 11 09:44:40 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (Init_Numeric): turn off floating point exceptions</div><div class='add'>+	  on bcc32. "1e300".to_f had crashed by overflow.</div><div class='add'>+</div><div class='add'>+Tue Jan 11 03:10:10 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (copy_entry): could not copy symbolic link.</div><div class='add'>+	  [ruby-talk:125733]</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (copy_stream): use read/write instead of</div><div class='add'>+	  sysread/syswrite.</div><div class='add'>+</div><div class='add'>+Mon Jan 10 23:08:15 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_autoload): hide internal data from ruby level.</div><div class='add'>+	  fixed: [ruby-dev:25435], [ruby-list:40498]</div><div class='add'>+</div><div class='add'>+Mon Jan 10 01:22:55 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (rb_data_object_alloc): klass may be NULL.</div><div class='add'>+	  [ruby-list:40498]</div><div class='add'>+</div><div class='add'>+Sun Jan  9 03:12:58 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fread): warn nonblocking behavior.</div><div class='add'>+	  (io_readpartial): new method IO#readpartial.</div><div class='add'>+</div><div class='add'>+Sat Jan  8 04:38:47 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb: Kernel#y requires an argument.</div><div class='add'>+</div><div class='add'>+Fri Jan  7 21:12:29 2005  TAMURA Takashi  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (rand_init): use ALLOC_N instead of ALLOCA_N</div><div class='add'>+	  [ruby-dev:25426]</div><div class='add'>+</div><div class='add'>+Fri Jan  7 18:03:35 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (mark_locations_array): avoid core dump with -O3.</div><div class='add'>+	  [ruby-dev:25424]</div><div class='add'>+</div><div class='add'>+Thu Jan  6 20:31:07 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_end): should return value. (backported</div><div class='add'>+	  from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Thu Jan  6 19:55:13 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_close): didn't close socket handle.</div><div class='add'>+	  [ruby-dev:25414]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_open_osfhandle): bcc32's _open_osfhandle</div><div class='add'>+	  never set EMFILE.</div><div class='add'>+</div><div class='add'>+Thu Jan  6 17:14:31 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (random_seed): O_NONBLOCK isn't defined on some</div><div class='add'>+	  platforms. [ruby-dev:25417]</div><div class='add'>+</div><div class='add'>+Thu Jan  6 13:45:35 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/time.rb: recognize +00:00 and GMT as a localtime.</div><div class='add'>+</div><div class='add'>+Thu Jan  6 07:58:28 2005  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/usage.rb (RDoc::RDoc.usage_no_exit): Allow for colons</div><div class='add'>+	  in path names on DOS machines. (thanks to Johan Nilsson)</div><div class='add'>+</div><div class='add'>+Wed Jan  5 20:16:32 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (limited_big_rand): didn't work if SIZEOF_BDIGITS == 2.</div><div class='add'>+	  [ruby-dev:25408]</div><div class='add'>+</div><div class='add'>+	* random.c (random_seed): refined.</div><div class='add'>+</div><div class='add'>+Wed Jan  5 12:49:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_initialize): Thread objects cannot be initialized</div><div class='add'>+	  again.  fixed: [ruby-core:04067]</div><div class='add'>+</div><div class='add'>+Wed Jan  5 10:48:16 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_s_mkdir): win32 special processing doesn't need any</div><div class='add'>+	  longer. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible</div><div class='add'>+	  interface. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (rb_w32_rmdir): new function. (backported from CVS</div><div class='add'>+	  HEAD)</div><div class='add'>+</div><div class='add'>+Wed Jan  5 02:30:11 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (init_by_array): imported from mt19937ar-cok.tgz.</div><div class='add'>+	  (genrand_int32): ditto.</div><div class='add'>+	  (genrand_real): replaced with genrand_res53 in mt19937ar-cok.</div><div class='add'>+	  (rand_init): support bignum for longer seed.</div><div class='add'>+	  (random_seed): generate longer seed.</div><div class='add'>+	  (make_mask): new function.</div><div class='add'>+	  (limited_rand): ditto.</div><div class='add'>+	  (limited_big_rand): ditto.</div><div class='add'>+	  (rb_f_rand): call limited_rand and limited_big_rand.</div><div class='add'>+	  [ruby-dev:25403]</div><div class='add'>+</div><div class='add'>+Tue Jan  4 23:25:29 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_rand): should return positive random number.</div><div class='add'>+	  [ruby-dev:25401]</div><div class='add'>+</div><div class='add'>+Tue Jan  4 11:15:29 2005  TAMURA Takashi  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_rand): do not use rb_big_modulo to generate</div><div class='add'>+	  random bignums.  [ruby-dev:25396]</div><div class='add'>+</div><div class='add'>+Mon Jan  3 14:01:54 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (random_seed): don't use /dev/urandom if it is not</div><div class='add'>+	  character device.</div><div class='add'>+</div><div class='add'>+Mon Jan  3 11:37:42 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* random.c (random_seed): use /dev/urandom if available.</div><div class='add'>+	  [ruby-dev:25392]</div><div class='add'>+</div><div class='add'>+Mon Jan  3 07:46:42 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpauth/htpasswd.rb (WEBrick::Htpasswd#reload):</div><div class='add'>+	  raise NotImplementedError if password is encrypted by digest</div><div class='add'>+	  algorithms. This patch is contributed by sheepman. [ruby-list:40467]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpauth/digestauth.rb</div><div class='add'>+	  (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation.</div><div class='add'>+	  This patch is contributed by sheepman. [ruby-list:40482]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/{httpauth.rb,httpauth/basicauth.rb,httpproxy.rb}: use</div><div class='add'>+	  pack/unpack-template char "m" instead of lib/base64.rb to do base64</div><div class='add'>+	  encoding/decoding. fixed: [ruby-dev:25336]</div><div class='add'>+</div><div class='add'>+	* test/webrick/test_httpauth.rb: new file.</div><div class='add'>+</div><div class='add'>+Sat Jan  1 04:20:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ns_spki.c (ossl_spki_set_challenge): should call</div><div class='add'>+	  StringValue before GetSPKI. fixed: [ruby-dev:25359].</div><div class='add'>+</div><div class='add'>+Sat Jan  1 01:13:28 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_autoload): [ruby-dev:25373]</div><div class='add'>+</div><div class='add'>+Fri Dec 31 14:10:43 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item): Fix problem</div><div class='add'>+	  if heading contains formatting.</div><div class='add'>+</div><div class='add'>+Thu Dec 30 00:41:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (svalue_to_avalue): [ruby-dev:25366]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_justify): [ruby-dev:25367]</div><div class='add'>+</div><div class='add'>+Wed Dec 29 11:07:07 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/html/kilmer.rb: Update to use new</div><div class='add'>+	  sections.</div><div class='add'>+</div><div class='add'>+Tue Dec 28 22:31:46 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_justify): create buffer string after argument type</div><div class='add'>+	  conversion.  fixed: [ruby-dev:25341]</div><div class='add'>+</div><div class='add'>+Tue Dec 28 15:41:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c (reinit): should initialize all static</div><div class='add'>+	  variables.  fixed: [ruby-list:40445]</div><div class='add'>+</div><div class='add'>+Tue Dec 28 15:25:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): second byte is up to</div><div class='add'>+	  0xfe.</div><div class='add'>+</div><div class='add'>+	* ext/nkf/lib/kconv.rb (Kconv#kconv): should handle UTF8 and UTF16</div><div class='add'>+	  properly.</div><div class='add'>+</div><div class='add'>+Tue Dec 28 13:35:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): ensure</div><div class='add'>+	  freeing internal zstreams.  fixed: [ruby-dev:25309]</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (rb_deflate_init_copy): replace rb_deflate_clone.</div><div class='add'>+</div><div class='add'>+Tue Dec 28 12:26:45 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub, win32/setup.mak (RDOCTARGET, install,</div><div class='add'>+	  install-nodoc, install-doc): rdoc support for mswin32.</div><div class='add'>+</div><div class='add'>+	* win32/configure.bat (--enable-install-doc, --disable-install-doc):</div><div class='add'>+	  ditto.</div><div class='add'>+</div><div class='add'>+Mon Dec 27 20:02:14 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto</div><div class='add'>+</div><div class='add'>+Mon Dec 27 16:55:17 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (Init_ossl_x509name): should use</div><div class='add'>+	  rb_hash_new to get exactly a Hash. fix [ruby-dev:25325].</div><div class='add'>+</div><div class='add'>+Mon Dec 27 16:29:56 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_justify): [ruby-dev:25341]</div><div class='add'>+</div><div class='add'>+Mon Dec 27 15:47:48 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/fileasserts.rb: sync with HEAD.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_nowrite.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Dec 27 15:21:07 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mv): should raise error when moving a</div><div class='add'>+	  directory to the (empty) directory. [ruby-talk:124368]</div><div class='add'>+	  (backport from HEAD 1.48)</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mv): wrongly did not overwrite file on Win32</div><div class='add'>+	  platforms. (backport from HEAD 1.48)</div><div class='add'>+</div><div class='add'>+Sat Dec 25 11:11:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* stable version 1.8.2 released.</div><div class='add'>+</div><div class='add'>+Sat Dec 25 04:23:49 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mkdir, mkdir_p): should ensure directory</div><div class='add'>+	  permission. (backportted from HEAD, 1.47)</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (traverse, remove_dir): untaint trasted</div><div class='add'>+	  objects. (backportted from HEAD, 1.46)</div><div class='add'>+</div><div class='add'>+Sat Dec 25 01:28:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c: cancel io_reopen() change on Dec. 24th.</div><div class='add'>+</div><div class='add'>+	* dln.c: use &lt;dlfcn.h&gt; for NetBSD.  [ruby-dev:25313]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_select): IO list could be altered.  [ruby-dev:25312]</div><div class='add'>+</div><div class='add'>+Fri Dec 24 23:51:48 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: bcc32 should use RTL dll (backport from HEAD)</div><div class='add'>+	  [ruby-dev:25306]</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch]: ditto.</div><div class='add'>+</div><div class='add'>+Fri Dec 24 23:27:18 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/image.rb: TkPhotoImage#cget bug fix</div><div class='add'>+</div><div class='add'>+Fri Dec 24 18:39:25 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch]: failed to compile on bcc32 (and probably wince)</div><div class='add'>+	  [ruby-dev:25306]</div><div class='add'>+</div><div class='add'>+Fri Dec 24 02:52:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_reopen, rb_io_reopen): prohibit to change access mode for</div><div class='add'>+	  special IO ports.  [ruby-dev:25225]</div><div class='add'>+</div><div class='add'>+Fri Dec 24 02:22:53 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_loader_transfer): check type conversion.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_parser_assign_io, rb_new_syck_node): duck</div><div class='add'>+	  typing.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_parser_s_alloc, syck_parser_initialize):</div><div class='add'>+	  allocation framework.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_emitter_s_alloc, syck_emitter_initialize):</div><div class='add'>+	  ditto.</div><div class='add'>+</div><div class='add'>+Fri Dec 24 01:21:00 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/blt.rb: add BLT extension support</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/blt/*.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/blt/tile/*.rb: ditto</div><div class='add'>+</div><div class='add'>+Thu Dec 23 23:36:28 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (proc_setgroups): check if the argument lenght is</div><div class='add'>+	  modified.  fixed: [ruby-dev:25285]</div><div class='add'>+</div><div class='add'>+Thu Dec 23 13:13:33 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and</div><div class='add'>+	  RELEASE_DATE</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: define TkUtil::RELEASE_DATE</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: define Tk::RELEASE_DATE</div><div class='add'>+</div><div class='add'>+Thu Dec 23 09:38:31 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_reopen): restore exact mode.  fixed: [ruby-core:04003]</div><div class='add'>+</div><div class='add'>+Thu Dec 23 00:16:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (bsdi): use $(CC) for LDSHARED.  fixed [ruby-dev:25270]</div><div class='add'>+</div><div class='add'>+Wed Dec 22 11:14:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.</div><div class='add'>+	  fixed: [ruby-dev:25273]</div><div class='add'>+</div><div class='add'>+Wed Dec 22 08:34:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dl/sym.c (rb_dlsym_initialize): extract internal pointers after</div><div class='add'>+	  all argument conversion.  fixed: [ruby-dev:25271]</div><div class='add'>+</div><div class='add'>+Wed Dec 22 00:08:01 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.</div><div class='add'>+</div><div class='add'>+Tue Dec 21 22:07:33 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,</div><div class='add'>+	  ossl_asn1_decode_all): temporary value should be marked volatile.</div><div class='add'>+</div><div class='add'>+Tue Dec 21 14:40:02 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,</div><div class='add'>+	  ossl_asn1_decode_all): use rb_str_new4 to avoid SEGV.</div><div class='add'>+	  fix [ruby-dev:25261]</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_asn1.rb: add tests for OpenSSL::ASN1.</div><div class='add'>+</div><div class='add'>+Tue Dec 21 12:22:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_reopen): keep duplex pipe in correct mode for exception</div><div class='add'>+	  safeness.  fixed: [ruby-dev:25152]</div><div class='add'>+</div><div class='add'>+Tue Dec 21 12:10:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/grid.rb: rescue bug of 'grid configure' on Tcl/Tk8.3-</div><div class='add'>+</div><div class='add'>+Tue Dec 21 00:53:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse): [ruby-dev:25261]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_decode_all): ditto.</div><div class='add'>+</div><div class='add'>+Mon Dec 20 23:22:26 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* added files:</div><div class='add'>+	  * lib/soap/mapping/wsdl*.rb</div><div class='add'>+	  * lib/wsdl/soap/element.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/simpleContent.rb</div><div class='add'>+</div><div class='add'>+	* modified files:</div><div class='add'>+	  * lib/soap/*</div><div class='add'>+	  * lib/wsdl/*</div><div class='add'>+	  * lib/xsd/*</div><div class='add'>+	  * test/soap/*</div><div class='add'>+	  * test/wsdl/*</div><div class='add'>+	  * test/xsd/*</div><div class='add'>+	  * sample/soap/*</div><div class='add'>+	  * sample/sdl/*</div><div class='add'>+</div><div class='add'>+	* summary</div><div class='add'>+	  * imported from the soap4r repository.  Version: 1.5.3-ruby1.8.2</div><div class='add'>+</div><div class='add'>+	  * added several XSD basetype support: nonPositiveInteger,</div><div class='add'>+	    negativeInteger, nonNegativeInteger, unsignedLong, unsignedInt,</div><div class='add'>+	    unsignedShort, unsignedByte, positiveInteger</div><div class='add'>+</div><div class='add'>+	  * HTTP client connection/send/receive timeout support.</div><div class='add'>+</div><div class='add'>+	  * HTTP client/server gzipped content encoding support.</div><div class='add'>+</div><div class='add'>+	  * improved WSDL schema definition support; still is far from</div><div class='add'>+	    complete, but is making step by step improovement.</div><div class='add'>+</div><div class='add'>+Mon Dec 20 22:56:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (stack_end_address): gcc noinline attribute is available since</div><div class='add'>+	  gcc-3.1.</div><div class='add'>+</div><div class='add'>+Mon Dec 20 14:07:02 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: supports new features of Tcl/Tk8.5a2</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/clock.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/panedwindow.rb: ditto</div><div class='add'>+</div><div class='add'>+Mon Dec 20 12:47:13 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/https.rb,protocols.rb,telnets.rb: delete</div><div class='add'>+	  doc and code about SSLContext#{key_file,cert_file}.</div><div class='add'>+	  fixed: [ruby-dev:25243]</div><div class='add'>+</div><div class='add'>+Mon Dec 20 12:42:17 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fwrite): workaround for MSVCRT's bug.</div><div class='add'>+	  fixed: [ruby-core:03982]</div><div class='add'>+</div><div class='add'>+Mon Dec 20 11:21:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_eof): check if closed before clearerr().</div><div class='add'>+	  fixed: [ruby-dev:25251]</div><div class='add'>+</div><div class='add'>+Mon Dec 20 03:30:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session#initialize): empty session id was</div><div class='add'>+	  used if request had no session key.  fixed: [ruby-core:03981]</div><div class='add'>+</div><div class='add'>+Mon Dec 20 01:51:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c (make_struct): [ruby-dev:25249]</div><div class='add'>+</div><div class='add'>+Mon Dec 20 00:28:20 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/encodings/SHIFT-JIS.rb: backported from CVS HEAD.</div><div class='add'>+</div><div class='add'>+	* lib/rexml/encodings/SHIFT_JIS.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Dec 19 17:19:48 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509store.c</div><div class='add'>+	  (ossl_x509store_set_time): add OpenSSL::X509::Store#time=.</div><div class='add'>+	  (ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.</div><div class='add'>+</div><div class='add'>+	* test/openssl/ossl_x509store.rb: test certificate validity times.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional</div><div class='add'>+	  second argument to specify the output format (see also</div><div class='add'>+	  X509_NAME_print_ex).</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:</div><div class='add'>+	  OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,</div><div class='add'>+	  OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):</div><div class='add'>+	  new module to provide the parse for RFC2253 DN format.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):</div><div class='add'>+	  new method to parse RFC2253 DN format.</div><div class='add'>+</div><div class='add'>+	* test/openssl/ossl_x509name.rb: add tests about RFC2253 DN.</div><div class='add'>+</div><div class='add'>+	* text/openssl/ssl_server.rb: try to listen ports from 20443 to 20542</div><div class='add'>+	  while EADDRINUSE is raised.</div><div class='add'>+</div><div class='add'>+	* all changes in this entry are backport from 1.9.</div><div class='add'>+</div><div class='add'>+Sun Dec 19 17:24:59 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (enable_rpath): use rpath flag to embed the library</div><div class='add'>+	  path into extensions on ELF environment.  [ruby-dev:25035]</div><div class='add'>+</div><div class='add'>+Sun Dec 19 11:01:25 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: use standalone runner for -e.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept</div><div class='add'>+	  multiple -p and -x options.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect):</div><div class='add'>+	  ditto.</div><div class='add'>+</div><div class='add'>+Sat Dec 18 16:36:23 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate):</div><div class='add'>+	  disallow interrupt by type conversion.  fixed: [ruby-dev:25226]</div><div class='add'>+</div><div class='add'>+Sat Dec 18 15:16:41 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpauth.rb,</div><div class='add'>+	  lib/webrick/httpauth/{basicauth.rb,digestauth.rb}: use</div><div class='add'>+	  pack/unpack-template char "m" instead of lib/base64.rb to do base64</div><div class='add'>+	  encoding/decoding.</div><div class='add'>+</div><div class='add'>+Sat Dec 18 10:51:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_open_dir): new function.  [ruby-dev:25242]</div><div class='add'>+</div><div class='add'>+Fri Dec 17 18:07:01 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/readline/test_readline.rb: fix for BSD. Thanks, GOTOU Yuuzou.</div><div class='add'>+	  fixed: [ruby-dev:25218]</div><div class='add'>+</div><div class='add'>+Fri Dec 17 16:28:12 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: fix bug on setting up system encoding</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: fix error on require process</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: fix abnormal termination error on Windows</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/virtevent.rb: TkVirtualEvent::PreDefVirtEvent.new()</div><div class='add'>+	  accepts event-sequence arguments</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: fail to dump embedded images</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: tag_nextrange and tag_prevrange returns wrong</div><div class='add'>+	  types of values</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/texttag.rb: nextrange and prevrange returns wrong</div><div class='add'>+	  types of values</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: add TkText::IndexModMethods module and</div><div class='add'>+	  TkText::IndexString class to treat text index modifiers</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/texttag.rb: use TkText::IndexModMethods module</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textmark.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textimage.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textwindow.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textimage.rb: wrong gravity of text mark for embedded</div><div class='add'>+	  image</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textwindow.rb: wrong gravity of text mark for</div><div class='add'>+	  embedded window</div><div class='add'>+</div><div class='add'>+Fri Dec 17 13:50:00 2004  Akiyoshi, Masamichi  &lt;akiyoshi@hp.com&gt;</div><div class='add'>+</div><div class='add'>+	* vms/vmsruby_private.c, vms/vmsruby_private.h: private routines</div><div class='add'>+	  for VMS port are added.</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_init): change to call VMS private intialization routine.</div><div class='add'>+</div><div class='add'>+Fri Dec 17 13:33:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session#initialize): control adding</div><div class='add'>+	  session_id hidden fields.  fixed: [ruby-talk:123850]</div><div class='add'>+</div><div class='add'>+Thu Dec 16 23:25:25 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb, lib/drb/ssl.rb: backported from CVS HEAD.</div><div class='add'>+	  [druby-ja:101]</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drb.rb: adjust and reduce sleep (backported from</div><div class='add'>+	  CVS HEAD.)</div><div class='add'>+</div><div class='add'>+Thu Dec 16 18:44:58 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should wait</div><div class='add'>+	  for reading request till data arrive. [ruby-talk:121068]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::GenericServer#start_thread):</div><div class='add'>+	  should log about all accepted socket. [ruby-core:03962]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/accesslog.rb (WEBrick::AccessLog#setup_params):</div><div class='add'>+	  "%%" and "%u" are supported. [webricken:135]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::FileHandler#check_filename):</div><div class='add'>+	  :NondisclosureName is acceptable if it is Enumerable.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/config.rb (WEBrick::Config::FileHandler):</div><div class='add'>+	  default value of :NondisclosureName is [".ht*", "*~"].</div><div class='add'>+</div><div class='add'>+Thu Dec 16 18:36:52 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_raise): refine message format.</div><div class='add'>+</div><div class='add'>+Thu Dec 16 16:29:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/widget: modify version check for</div><div class='add'>+	  supporting features</div><div class='add'>+</div><div class='add'>+Thu Dec 16 16:03:50 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: accept :idle for the interval argument</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkComm._callback_entry?()</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: add MultiTkIp.cb_entry_class</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: use TkComm._callback_entry?()</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvastag.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/optiondb.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/texttag.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textwindow.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/validation.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: ditto</div><div class='add'>+</div><div class='add'>+Thu Dec 16 03:14:28 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (basic_encode): return value of pack('m') may</div><div class='add'>+	  include multiple CR/LFs.  Backported from main trunk (rev 1.112).</div><div class='add'>+	  [ruby-dev:25212]</div><div class='add'>+</div><div class='add'>+Thu Dec 16 00:33:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (Init_Hash): remove custom "hash" and "eql?".</div><div class='add'>+</div><div class='add'>+Wed Dec 15 18:57:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/set.rb (Set::eql): wrong definition.  [ruby-dev:25207]</div><div class='add'>+</div><div class='add'>+Wed Dec 15 18:48:42 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (window_subwin): call NUM2INT() before</div><div class='add'>+	GetWINDOW(). (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Wed Dec 15 17:03:50 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.[ch] (rb_w32_isatty): new function to replace MSVCRT's</div><div class='add'>+	  isatty because it never sets errno. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Wed Dec 15 15:39:32 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_to_a): avoid SEGV</div><div class='add'>+	  (rollback the previous commit).</div><div class='add'>+</div><div class='add'>+Wed Dec 15 16:10:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_obj_id_obsolete): warn always.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_enable_super): ditto.</div><div class='add'>+</div><div class='add'>+Wed Dec 15 15:31:02 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/set.rb (Set#==): [ruby-dev:25206]</div><div class='add'>+</div><div class='add'>+Wed Dec 15 14:22:10 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_fdisset): check whether the handle is valid.</div><div class='add'>+	  fixed: [ruby-core:03959]</div><div class='add'>+</div><div class='add'>+Wed Dec 15 10:30:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_digest.c (ossl_digest_initialize): [ruby-dev:25198]</div><div class='add'>+</div><div class='add'>+Tue Dec 14 17:10:09 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_close): need to reset osfhnd().</div><div class='add'>+</div><div class='add'>+Tue Dec 14 14:03:57 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_raise): avoid buffer overrun.</div><div class='add'>+	  [ruby-dev:25187]</div><div class='add'>+</div><div class='add'>+Tue Dec 14 12:36:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session::initialize): generate new</div><div class='add'>+	  session if given session_id does not exist.  [ruby-list:40368]</div><div class='add'>+</div><div class='add'>+Mon Dec 13 18:13:52 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (stack_end_address): new function to obtain stack end address.</div><div class='add'>+	  stack_end_address calls __builtin_frame_address(0) to obtain the</div><div class='add'>+	  frame pointer of a stack frame of stack_end_address.  The address</div><div class='add'>+	  is the stack pointer of the caller's stack frame.</div><div class='add'>+	  (SET_STACK_END): use stack_end_address.</div><div class='add'>+	  This makes the conservative garbage collector to scan a stack frame</div><div class='add'>+	  of the garbage_collect function itself.  This is required because</div><div class='add'>+	  callee-save registers may be stored in the frame.</div><div class='add'>+	  [ruby-dev:25158]</div><div class='add'>+</div><div class='add'>+Mon Dec 13 00:58:02 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (cleanpath_aggressive): make it private.</div><div class='add'>+	  (cleanpath_conservative): ditto.</div><div class='add'>+	  Suggested by Daniel Berger.  [ruby-core:3914]</div><div class='add'>+</div><div class='add'>+Sun Dec 12 20:06:38 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: backported from CVS HEAD.</div><div class='add'>+</div><div class='add'>+Sun Dec 12 10:35:10 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/html/html.rb (RDoc::Page): Don't</div><div class='add'>+	  show an accessor's r/w flag if none was specified</div><div class='add'>+</div><div class='add'>+Sun Dec 12 10:14:03 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb (RDoc::RDoc::parse_files): Never exclude files</div><div class='add'>+	  explicitly given on the command line.</div><div class='add'>+</div><div class='add'>+Sun Dec 11 23:54:07 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/*: update to support libraries in ActiveTcl8.4.12.0</div><div class='add'>+	  (see ext/tk/ChangeLog.tkextlib).</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/scrollframe.rb: add a new sample.</div><div class='add'>+</div><div class='add'>+Sat Dec 11 20:12:21 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: add DRbRemoteError. [ruby-list:40348],</div><div class='add'>+	  [ruby-list:40390]</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_drb.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Dec 11 15:38:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/jcode.rb (String::succ): [ruby-dev:25156]</div><div class='add'>+</div><div class='add'>+Sat Dec 11 12:41:55 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (run_trap_eval): prototype; avoid VC++ warnings.</div><div class='add'>+</div><div class='add'>+	* ext/socket/getaddrinfo.c: fix typo. fixed: [ruby-core:03947]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c: need to include dln.h.</div><div class='add'>+</div><div class='add'>+Sat Dec 11 00:10:18 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_reopen): [ruby-dev:25150]</div><div class='add'>+</div><div class='add'>+Fri Dec 10 08:39:27 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_listen): get OpenFile just before calling</div><div class='add'>+	  listen(2).  fixed: [ruby-dev:25149]</div><div class='add'>+</div><div class='add'>+Thu Dec  9 17:00:00 2004  Akiyoshi, Masamichi  &lt;akiyoshi@hp.com&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c, ext/socket/getaddrinfo.c: port to VMS</div><div class='add'>+</div><div class='add'>+Thu Dec  9 16:31:02 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/sdbm/init.c (GetDBM): typo.</div><div class='add'>+</div><div class='add'>+Thu Dec  9 16:05:00 2004  Akiyoshi, Masamichi  &lt;akiyoshi@hp.com&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h: change path of vms.h</div><div class='add'>+	* vms/vms.h: delete reference for snprintf()</div><div class='add'>+	* vms/config.h: new file</div><div class='add'>+	* vms/config.h_in: deleted</div><div class='add'>+</div><div class='add'>+Thu Dec  9 14:38:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_inspect): escape # which starts an expression</div><div class='add'>+	  substitution.  fixed: [ruby-core:03922]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_dump): not escape # which isn't a substitution.</div><div class='add'>+</div><div class='add'>+Thu Dec  9 10:54:36 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dbm/dbm.c (fdbm_select): [ruby-dev:25132]</div><div class='add'>+</div><div class='add'>+	* ext/sdbm/init.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/gdbm/gdbm.c: ditto.</div><div class='add'>+</div><div class='add'>+Thu Dec  9 03:08:36 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_init): set root-win title to "ruby" when</div><div class='add'>+	  the running script is '-e one-liner' or '-' (stdin).</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for</div><div class='add'>+	  stub libs</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor</div><div class='add'>+	  have a wrong parent class.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: rename TkDialog2 --&gt; TkDialogObj and</div><div class='add'>+	  TkWarning2 --&gt; TkWarningObj (old names are changed to alias names)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command'</div><div class='add'>+	  option and hashes for configuration</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the</div><div class='add'>+	  button name</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==&gt;</div><div class='add'>+	  get_value() and value=(val) ==&gt; set_value(val).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton,</div><div class='add'>+	  TkOptionMenuButton = TkOptionMenubutton)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: new method aliases (same as option keys of</div><div class='add'>+	  event_generate) for Event object</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: configinfo returns proper types of values</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bind methods accept subst_args + block</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvastag.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/frame.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/texttag.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/toplevel.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: ditto and bug fix</div><div class='add'>+</div><div class='add'>+Wed Dec  8 23:54:29 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/html/html.rb (RDoc::Page): Typo</div><div class='add'>+	  meant that h2 tag was invisible.</div><div class='add'>+</div><div class='add'>+Wed Dec  8 21:56:31 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss, test/rss, sample/rss: backported from CVS HEAD.</div><div class='add'>+</div><div class='add'>+Wed Dec  8 14:31:36 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fwrite): change dereference for cosmetic reason.</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): [ruby-dev:25104]</div><div class='add'>+</div><div class='add'>+Tue Dec  7 19:08:00 2004  Akiyoshi, Masamichi  &lt;akiyoshi@hp.com&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fwrite): fix offset incrementation (for VMS and Human68k)</div><div class='add'>+</div><div class='add'>+Tue Dec  7 00:27:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (proc_setgroups): [ruby-dev:25081]</div><div class='add'>+</div><div class='add'>+Mon Dec  6 18:08:10 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (rb_reg_eqq): document fix.  [ruby-talk:122541]</div><div class='add'>+</div><div class='add'>+Mon Dec  6 17:19:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* rubysig.h (TRAP_BEG, TRAP_END): safe errno around CHECK_INTS.</div><div class='add'>+	  (backported from CVS HEAD)  [ruby-dev:24993]</div><div class='add'>+</div><div class='add'>+Mon Dec  6 10:18:17 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in):</div><div class='add'>+	  Oops - 1.8 doesn't have String#clear</div><div class='add'>+</div><div class='add'>+Mon Dec  6 09:59:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_connect): use rb_str_new4().</div><div class='add'>+	  [ruby-dev:25052]</div><div class='add'>+</div><div class='add'>+Mon Dec  6 01:42:08 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,</div><div class='add'>+	  ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,</div><div class='add'>+	  ossl_rsa_private_decrypt): should take an optional argument</div><div class='add'>+	  to specify padding mode. [ruby-talk:122539]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): add new constants</div><div class='add'>+	  PKCS1_PADDING, SSLV23_PADDING, NO_PADDING and PKCS1_OAEP_PADDING</div><div class='add'>+	  under OpenSSL::PKey::RSA.</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_pkey_rsa.rb: new file.</div><div class='add'>+</div><div class='add'>+Sun Dec  5 19:39:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Completion#complete): new parameter</div><div class='add'>+	  to direct case insensitiveness.</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#order!): ignore case only for long</div><div class='add'>+	  option.  [ruby-dev:25048]</div><div class='add'>+</div><div class='add'>+Sat Dec  4 22:54:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_write): remove rb_str_locktmp().  [ruby-dev:25050]</div><div class='add'>+</div><div class='add'>+	* io.c (io_fwrite): takes VALUE string as an argument.</div><div class='add'>+	  [ruby-dev:25050]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_connect): remove rb_str_locktmp().</div><div class='add'>+	  [ruby-dev:25050]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (udp_connect): [ruby-dev:25045]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (udp_bind): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (udp_send): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (bsock_send): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (s_recvfrom): ditto.</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_hash): should provide "hash" method where "eql?"</div><div class='add'>+	  is redefined.  [ruby-talk:122482]</div><div class='add'>+</div><div class='add'>+Sat Dec  4 14:54:52 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): use volatile `tmp' rather than `args'.</div><div class='add'>+	  [ruby-core:03882]</div><div class='add'>+</div><div class='add'>+Sat Dec  4 14:28:56 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::Context::Section::set_comment):</div><div class='add'>+	  Section comments may now be bracketed by lines which are</div><div class='add'>+	  ignored. You can now write</div><div class='add'>+	      # -----------</div><div class='add'>+	      # :section: Dave's Section</div><div class='add'>+	      # comment material</div><div class='add'>+	      # -----------</div><div class='add'>+	   The lines before :section: are removed, and identical lines at the end are</div><div class='add'>+	   also removed if present.</div><div class='add'>+</div><div class='add'>+Sat Dec  4 03:33:45 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/readline.c: check $SAFE. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+	* test/readline/test_readline.rb: added tests for readline.</div><div class='add'>+	  (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Sat Dec  4 02:24:00 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf.c: add constant NKF::VERSION</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf.c(guess): this becomes an alias of guess2</div><div class='add'>+</div><div class='add'>+	* ext/nkf/test.rb(mime_out2): add --no-cp932</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c: original nkf2 revision 1.47</div><div class='add'>+</div><div class='add'>+Sat Dec  4 00:35:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]</div><div class='add'>+</div><div class='add'>+Fri Dec  3 18:57:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb: 1.9 marshaling support back-ported.</div><div class='add'>+	  [ruby-core:03871]</div><div class='add'>+</div><div class='add'>+Fri Dec  3 13:45:20 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): copy arguments to frame.argv.</div><div class='add'>+	  [ruby-core:03861]</div><div class='add'>+</div><div class='add'>+Fri Dec  3 12:25:41 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* st.h: fix prototypes.</div><div class='add'>+</div><div class='add'>+Fri Dec  3 00:21:05 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (convert_type): use rb_respond_to() again.</div><div class='add'>+	  [ruby-dev:25021]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_respond_to): funcall respond_to? if it's redefined.</div><div class='add'>+	  [ruby-dev:25021]</div><div class='add'>+</div><div class='add'>+Fri Dec  3 01:55:24 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: widget configuration by TkWindow#method_missing</div><div class='add'>+	  returns proper object. "widget.option = val" returns val, and</div><div class='add'>+	  "widget.option(val)" returns self.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/font.rb: TkFont#replace accepts only one font argument.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/radiobutton.rb: add TkRadiobutton#value and</div><div class='add'>+	  TkRadiobutton#value=(val).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/spinbox.rb: callback substitution support on</div><div class='add'>+	  command option.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/widget: bug fix (wrong image height)</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-jp/widget: ditto.</div><div class='add'>+</div><div class='add'>+Fri Dec  3 00:11:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_file_initialize): [ruby-dev:25032]</div><div class='add'>+</div><div class='add'>+Thu Dec  2 16:41:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_protect): prevent continuations created inside from being</div><div class='add'>+	  called from the outside.  [ruby-dev:25003]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_callcc, rb_cont_call): prohibit calling from different</div><div class='add'>+	  signal contexts.  [ruby-dev:25022]</div><div class='add'>+</div><div class='add'>+Thu Dec  2 09:57:24 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb (OpenStruct::Marshaler): OpenStruct can be</div><div class='add'>+	  marshaled again.  [ruby-core:03862]</div><div class='add'>+</div><div class='add'>+Thu Dec  2 09:30:06 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_mark): mark thread group.  [ruby-dev:25020]</div><div class='add'>+</div><div class='add'>+	* eval.c (thgroup_add): check whether the argument is really a Thread.</div><div class='add'>+</div><div class='add'>+Thu Dec  2 07:57:16 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_ctl): [ruby-dev:25019]</div><div class='add'>+</div><div class='add'>+Wed Dec  1 02:21:02 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (sighandler): call handler immediately only for default</div><div class='add'>+	  handlers.  [ruby-dev:25003]</div><div class='add'>+</div><div class='add'>+Tue Nov 30 23:38:18 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fread): need not to null terminate.  [ruby-dev:24998]</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): remove unnecessary rb_str_resize().</div><div class='add'>+	  [ruby-dev:24996]  (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+	* io.c (io_readpartial): ditto.</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): ditto.</div><div class='add'>+</div><div class='add'>+Tue Nov 30 16:18:50 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fread): need not to null terminate.  [ruby-dev:24998]</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): remove unnecessary rb_str_resize().</div><div class='add'>+	  [ruby-dev:24996]</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): ditto.</div><div class='add'>+</div><div class='add'>+Tue Nov 30 00:49:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_sysread): use temporary lock.  [ruby-dev:24992]</div><div class='add'>+</div><div class='add'>+Mon Nov 29 16:06:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_write): insufficiently filled string</div><div class='add'>+	  being extended when overwriting.  [ruby-core:03836]</div><div class='add'>+</div><div class='add'>+Mon Nov 29 15:59:05 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb (OpenStruct::method_missing): check method</div><div class='add'>+	  duplication for -d.</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb (OpenStruct::initialize): ditto.</div><div class='add'>+</div><div class='add'>+Mon Nov 29 15:22:28 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/io/nonblock/test_flush.rb: abandon tests when io/nonblock is</div><div class='add'>+	  not supported.</div><div class='add'>+</div><div class='add'>+Mon Nov 29 03:08:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (convert_type): direct call conversion methods for the</div><div class='add'>+	  performance.  [ruby-core:03845]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_funcall_rescue): new function.</div><div class='add'>+</div><div class='add'>+	* object.c (rb_Array): avoid using rb_respond_to().</div><div class='add'>+</div><div class='add'>+	* object.c (rb_Integer): ditto.</div><div class='add'>+</div><div class='add'>+	* parse.y (reduce_nodes): empty body should return nil.</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_aset): the original string should not be</div><div class='add'>+	  affected by modifying duplicated string.  [ruby-dev:24981]</div><div class='add'>+</div><div class='add'>+Mon Nov 29 13:57:38 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (CreateChild): search executable file if no program</div><div class='add'>+	  name given. (backported from CVS HEAD)</div><div class='add'>+</div><div class='add'>+Mon Nov 29 13:37:54 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (fptr_finalize): must not use FILE after fclose().</div><div class='add'>+	  [ruby-dev:24985]</div><div class='add'>+</div><div class='add'>+Mon Nov 29 13:16:31 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (CreateChild): push back the last space before next</div><div class='add'>+	  loop because CharNext() eats it.</div><div class='add'>+</div><div class='add'>+Mon Nov 29 01:18:18 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_check_writable): call io_seek regardless of</div><div class='add'>+	  NEED_IO_SEEK_BETWEEN_RW.  [ruby-dev:24986]</div><div class='add'>+</div><div class='add'>+Sat Nov 27 21:43:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c: avoid data lost with nonblocking fd and</div><div class='add'>+	  stdio buffering in sync mode.  [ruby-dev:24966]</div><div class='add'>+	  based on matz's patch [ruby-dev:24967]</div><div class='add'>+	  (io_fwrite): new primitive writing function which writes</div><div class='add'>+	  directly if sync mode.</div><div class='add'>+	  (rb_io_fwrite): wrapper for io_fwrite now.</div><div class='add'>+	  (io_write): call io_fwrite instead of rb_io_fwrite.</div><div class='add'>+</div><div class='add'>+Sat Nov 27 14:44:15 2004  Kent Sibilev  &lt;ksibilev@bellsouth.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session::initialize): create_new_id is</div><div class='add'>+	  now a instance method.  [ruby-core:03832]</div><div class='add'>+</div><div class='add'>+Sat Nov 27 09:41:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_fread): old rb_io_fread with file closing checking.</div><div class='add'>+	  (rb_io_fread): wrapper for io_fread now.</div><div class='add'>+	  [ruby-dev:24964]</div><div class='add'>+</div><div class='add'>+Fri Nov 26 18:02:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/image.rb: bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath</div><div class='add'>+</div><div class='add'>+Fri Nov 26 13:49:06 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (method_missing): raise TypeError for classes do not</div><div class='add'>+	  have allocators.  [ruby-core:03752]</div><div class='add'>+</div><div class='add'>+	* lib/erb.rb: add RDoc by James Edward Gray II.  [ruby-core:03786]</div><div class='add'>+</div><div class='add'>+Fri Nov 26 13:29:02 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in): Break</div><div class='add'>+	  out of preprocessing when we find a :section: directive (previously cleared out the</div><div class='add'>+	  comment, but this apparently now generates an error in gsub!)</div><div class='add'>+</div><div class='add'>+Fri Nov 26 00:17:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): move StringValue() check before GetOpenFile().</div><div class='add'>+	  [ruby-dev:24959]</div><div class='add'>+</div><div class='add'>+Thu Nov 25 20:14:57 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/thwait.rb (ThreadsWait#join_nowait): abnormally terminated</div><div class='add'>+	  threads should be also processed.  [ruby-talk:121320]</div><div class='add'>+</div><div class='add'>+Thu Nov 25 10:14:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (push_braces): do not reuse buffer strings.  [ruby-core:03806]</div><div class='add'>+</div><div class='add'>+Thu Nov 25 07:59:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): stringify non-nil buffer argument, and always</div><div class='add'>+	  taint the result.  [ruby-dev:24955]</div><div class='add'>+</div><div class='add'>+Wed Nov 24 01:01:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): integer conversion should be prior to</div><div class='add'>+	  GetOpenFile().  [ruby-dev:24952]</div><div class='add'>+</div><div class='add'>+	* configure.in, io.c: cancel [ ruby-Patches-1074 ].</div><div class='add'>+</div><div class='add'>+Tue Nov 23 08:09:50 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb: improve usability of TkOptionMenubutton</div><div class='add'>+</div><div class='add'>+Tue Nov 23 02:00:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_chown): integer conversion should be prior to</div><div class='add'>+	  GetOpenFile().  [ruby-dev:24949]</div><div class='add'>+</div><div class='add'>+Tue Nov 23 00:10:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_chown): integer conversion should be prior to</div><div class='add'>+	  GetOpenFile().  [ruby-dev:24947]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_truncate): ditto.</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_truncate): ditto.</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_seek): use NUM2OFFT().</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-non-block-do-re): should not match words</div><div class='add'>+	  start with block keyword and underscore.  [ruby-core:03719]</div><div class='add'>+</div><div class='add'>+Mon Nov 22 22:33:02 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Don't use names</div><div class='add'>+	  of variables or constants when oarsing 'require'</div><div class='add'>+</div><div class='add'>+Mon Nov 22 00:13:35 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_seek): should retrieve dir_data after NUM2INT().</div><div class='add'>+	  [ruby-dev:24941]</div><div class='add'>+</div><div class='add'>+Sat Nov 20 23:57:33 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/README (et al): Add a new directive, :section:, and</div><div class='add'>+	  change the output format to accomodate. :section: allows to to</div><div class='add'>+	  group together methods, attributes, constants, etc under</div><div class='add'>+	  headings in the output. If used, a table of contents is</div><div class='add'>+	  generated.</div><div class='add'>+</div><div class='add'>+Sat Nov 20 23:56:54 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/options.rb (Options::parse): Force --inline-source if</div><div class='add'>+	  --one-file option given</div><div class='add'>+</div><div class='add'>+Sat Nov 20 23:55:19 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_splice): should place index wrapping after</div><div class='add'>+	  possible modification.  [ruby-dev:24940]</div><div class='add'>+</div><div class='add'>+Sat Nov 20 13:26:03 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/utf8tbl.c: original revision 1.7</div><div class='add'>+</div><div class='add'>+Sat Nov 20 05:34:24 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf-utf8/nkf.c: original nkf.c rev:1.40</div><div class='add'>+</div><div class='add'>+	* ext/nkf/test.rb: add test for mime encode/decode</div><div class='add'>+</div><div class='add'>+Sat Nov 20 01:37:34 2004  Johan Holmberg  &lt;holmberg@iar.se&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (error_print): nicer traceback at interrupt.</div><div class='add'>+	  [ruby-core:03774]</div><div class='add'>+</div><div class='add'>+Sat Nov 20 00:07:16 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): internal buffer should not be listed by</div><div class='add'>+	  ObjectSpace.each_object() by String#gsub.  [ruby-dev:24931]</div><div class='add'>+</div><div class='add'>+Fri Nov 19 01:20:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise</div><div class='add'>+	  exception if data corresponding to session specified from the</div><div class='add'>+	  client does not exist.</div><div class='add'>+</div><div class='add'>+Fri Nov 19 00:59:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): internal buffer should not be listed by</div><div class='add'>+	  ObjectSpace.each_object().  [ruby-dev:24919]</div><div class='add'>+</div><div class='add'>+Thu Nov 18 18:41:08 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_stringchar.rb (test_bang): added.</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_upcase_bang, rb_str_capitalize_bang)</div><div class='add'>+	(rb_str_swapcase_bang): missing rb_str_modify().  [ruby-dev:24915]</div><div class='add'>+</div><div class='add'>+Thu Nov 18 00:21:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (proc_getpgrp): prohibit for $SAFE=2.</div><div class='add'>+	  [ruby-dev:24899]</div><div class='add'>+</div><div class='add'>+	* process.c (get_pid): ditto.  [ruby-dev:24904]</div><div class='add'>+</div><div class='add'>+	* process.c (get_ppid): ditto.</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_delete): defer rb_ary_modify() until actual</div><div class='add'>+	  modification.  [ruby-dev:24901]</div><div class='add'>+</div><div class='add'>+Thu Nov 18 10:10:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c, rubyio.h (rb_io_modenum_flags): exported.</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_initialize): allow Fixnum as mode as</div><div class='add'>+	  well as IO.new does.  [ruby-dev:24896]</div><div class='add'>+</div><div class='add'>+Wed Nov 17 23:42:40 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_settracefunc.rb: added.  [ruby-dev:24884]</div><div class='add'>+</div><div class='add'>+Wed Nov 17 13:56:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (newline_node): should not use FL_SET. [ruby-dev:24874]</div><div class='add'>+</div><div class='add'>+	* parse.y (string_content): should not use FL_UNSET.</div><div class='add'>+</div><div class='add'>+	* node.h (NODE_NEWLINE): remove unused bit to utilize flag field</div><div class='add'>+	  in nodes.</div><div class='add'>+</div><div class='add'>+Wed Nov 17 13:09:40 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (test): should build ruby.exe</div><div class='add'>+	  before running test. [ruby-core:03756]</div><div class='add'>+</div><div class='add'>+Wed Nov 17 04:33:01 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c: all features are backport from 1.9. [ruby-dev:24826]</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big2ulong_pack): new function to pack Bignums.</div><div class='add'>+</div><div class='add'>+Wed Nov 17 03:42:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_splice): move rb_str_modify() after</div><div class='add'>+	  StringValue(), which may alter the receiver.  [ruby-dev:24878]</div><div class='add'>+</div><div class='add'>+Tue Nov 16 23:45:07 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_divmod): protect float values from GC by</div><div class='add'>+	  assignment to local variables.  [ruby-dev:24873]</div><div class='add'>+</div><div class='add'>+Tue Nov 16 16:30:21 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/setup.mak (-epilogue-): remove config.h and</div><div class='add'>+	  config.status to force updating them.</div><div class='add'>+</div><div class='add'>+Tue Nov 16 16:20:45 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): position was ignored when a</div><div class='add'>+	  buffer was passed.  http://www.yo.rim.or.jp/~nov/d/?date=20041116#p03</div><div class='add'>+</div><div class='add'>+Tue Nov 16 11:19:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::options): use</div><div class='add'>+	  Regexp conversion.</div><div class='add'>+</div><div class='add'>+Tue Nov 16 01:41:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_mod_check): frozen check should be separated.</div><div class='add'>+	  [ruby-core:3742]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_update): pedantic check to detect</div><div class='add'>+	  rb_ary_to_ary() to modify the receiver.  [ruby-dev:24861]</div><div class='add'>+</div><div class='add'>+Mon Nov 15 13:50:52 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_justify): typo fixed.  [ruby-dev:24851]</div><div class='add'>+</div><div class='add'>+Mon Nov 15 11:50:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle</div><div class='add'>+	  operator symbols.  [ruby-talk:120177]</div><div class='add'>+</div><div class='add'>+Sun Nov 14 13:27:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (PP#object_address_group): remove odd number of 'f'</div><div class='add'>+	  prefixed to negative address.</div><div class='add'>+</div><div class='add'>+Sun Nov 14 08:51:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: Logger just expects</div><div class='add'>+	  Logger#datetime_format to be used for Time#strftime independently of</div><div class='add'>+	  locale. [ruby-dev:24828]</div><div class='add'>+</div><div class='add'>+Fri Nov 12 15:03:26 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_options): now we cannot call rb_glob() before</div><div class='add'>+	  ruby_init(), so call rb_w32_cmdvector() at ruby_options().</div><div class='add'>+</div><div class='add'>+	* win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and</div><div class='add'>+	  export it.</div><div class='add'>+</div><div class='add'>+Fri Nov 12 14:08:01 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/event.rb: remove $LOADED_FEATURES trick</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: ditto</div><div class='add'>+</div><div class='add'>+Fri Nov 12 00:31:05 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string</div><div class='add'>+	  pointer.  [ruby-dev:24783]</div><div class='add'>+</div><div class='add'>+Thu Nov 11 17:36:12 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_globi): also should call back via rb_glob_caller().</div><div class='add'>+	  [ruby-dev:24775]</div><div class='add'>+</div><div class='add'>+Thu Nov 11 16:47:21 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_file.rb (test_truncate_wbuf): we want to test</div><div class='add'>+	  only File#truncate, not behaviour of seek(2).</div><div class='add'>+</div><div class='add'>+Thu Nov 11 09:41:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (push_braces): was confusing VALUE and char*.</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_push_glob): Dir.glob should have called its block.</div><div class='add'>+</div><div class='add'>+Thu Nov 11 01:52:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (syserr_initialize): use stringified object.</div><div class='add'>+	  [ruby-dev:24768]</div><div class='add'>+</div><div class='add'>+Wed Nov 10 22:49:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (SimpleDelegator::dup): wrong number of</div><div class='add'>+	  arguments.</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (DelegateClass::dup): ditto.</div><div class='add'>+</div><div class='add'>+Wed Nov 10 12:31:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* README.EXT (Example): extconf.rb is indispensable now.</div><div class='add'>+</div><div class='add'>+Wed Nov 10 03:33:36 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x</div><div class='add'>+	  or older</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tile/style.rb: bug fix</div><div class='add'>+</div><div class='add'>+Tue Nov  9 14:27:18 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Officious): moved from DefaultList.</div><div class='add'>+</div><div class='add'>+Tue Nov  9 01:05:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_glob2): do not allocate buffer from heap to avoid</div><div class='add'>+	  memory leaks.  use string object for buffering instead.</div><div class='add'>+	  [ruby-dev:24738]</div><div class='add'>+</div><div class='add'>+	* dir.c (join_path): ditto.</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): external input buffer may be modified even after</div><div class='add'>+	  rb_str_locktmp().  [ruby-dev:24735]</div><div class='add'>+</div><div class='add'>+	* dir.c (fnmatch): p or s may be NULL.  [ruby-dev:24749]</div><div class='add'>+</div><div class='add'>+Tue Nov  9 00:53:53 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* regex.c (slow_match): avoid GCC 3.4.x warnings.</div><div class='add'>+</div><div class='add'>+Tue Nov  9 00:50:06 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb: Change version numbering of RDoc and ri</div><div class='add'>+</div><div class='add'>+Mon Nov  8 23:38:35 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/extservm.rb: add DRb::ExtServManager#uri=.</div><div class='add'>+	  [ruby-dev:24743]</div><div class='add'>+</div><div class='add'>+Mon Nov  8 22:20:19 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):</div><div class='add'>+	  Fix bug where parent class wasn't being detected if the</div><div class='add'>+	  child class was defined using the A::B notation.</div><div class='add'>+</div><div class='add'>+Mon Nov  8 00:14:13 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: add setup for mignw32 cross compiling.</div><div class='add'>+	  [ruby-talk:119413]</div><div class='add'>+</div><div class='add'>+Sun Nov  7 23:49:26 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bind-event methods accept multi substitution</div><div class='add'>+	  arguments.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvastag.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/texttag.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib: ditto.</div><div class='add'>+</div><div class='add'>+Sat Nov  6 14:58:44 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::HTTPServer#start): remove</div><div class='add'>+	  :DoNotReverseLookup option. (Socket#do_not_reverse_lookup is a</div><div class='add'>+	  ruby 1.9 feature)</div><div class='add'>+</div><div class='add'>+Sat Nov  6 11:31:04 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb (_parse): checks whether zone was given.</div><div class='add'>+</div><div class='add'>+Sat Nov  6 00:46:27 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_locktmp): check STR_TMPLOCK flag before</div><div class='add'>+	  locking.  [ruby-dev:24727]</div><div class='add'>+</div><div class='add'>+Fri Nov  5 18:12:42 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/scrollable.rb: divide Scrollable module into</div><div class='add'>+	  X_Scrollable and Y_Scrollable</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/entry.rb: include X_Scrollable instead of Scrollable</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/autoload.rb: define autoload for X_Scrollable and</div><div class='add'>+	  Y_Scrollable</div><div class='add'>+</div><div class='add'>+Fri Nov  5 16:05:32 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: TkComm._at() supprts both of "@x,y" and "@x"</div><div class='add'>+</div><div class='add'>+Fri Nov  5 13:22:58 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: sorry. bug fix again.</div><div class='add'>+</div><div class='add'>+Fri Nov  5 13:17:54 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: bug fix</div><div class='add'>+</div><div class='add'>+Fri Nov  5 08:52:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_mark): stricter GC stack check.</div><div class='add'>+</div><div class='add'>+Fri Nov  5 08:52:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_mark): stricter GC stack check.</div><div class='add'>+</div><div class='add'>+Fri Nov  5 08:34:43 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): should have removed rb_str_unlocktmp(str).</div><div class='add'>+	  [ruby-dev:24708]</div><div class='add'>+</div><div class='add'>+Thu Nov  4 21:25:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): string modify check no longer based on</div><div class='add'>+	  tmplock.  [ruby-dev:24706]</div><div class='add'>+</div><div class='add'>+Thu Nov  4 19:27:46 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_open): fix typo.</div><div class='add'>+</div><div class='add'>+Thu Nov  4 15:02:14 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: forget to initialize instance_variables</div><div class='add'>+	  of TkVarAccess objects</div><div class='add'>+</div><div class='add'>+Thu Nov  4 09:11:35 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_mark): enable GC stack checking.</div><div class='add'>+</div><div class='add'>+Thu Nov  4 03:11:33 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): lock strings temporarily.  [ruby-dev:24687]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (s_recvfrom): tmplock input buffer.</div><div class='add'>+	  [ruby-dev:24705]</div><div class='add'>+</div><div class='add'>+Wed Nov  3 22:32:12 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c: On NetBSD don't use setruid() and setrgid().</div><div class='add'>+</div><div class='add'>+Wed Nov  3 22:24:17 2004  Daigo Moriwaki  &lt;techml@sgtpepper.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpauth/digestauth.rb: use Base64.encode64 to</div><div class='add'>+	  avoid warnings.</div><div class='add'>+</div><div class='add'>+Wed Nov  3 17:19:59 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_uniq_bang): do not push frozen string from hash</div><div class='add'>+	  table.  [ruby-dev:24695]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_and): ditto.</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_or): ditto.</div><div class='add'>+</div><div class='add'>+Wed Nov  3 17:13:02 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (pipe_open): fix compile error</div><div class='add'>+</div><div class='add'>+Wed Nov  3 16:58:07 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: support to use different Tcl commands between</div><div class='add'>+	  configure and configinfo</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/font.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/itemconfig.rb: support to use different Tcl commands</div><div class='add'>+	  between item_configure and item_configinfo</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/itemfont.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/extconf.rb: install SUPPORT_STATUS</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib: some bug fixes (see ext/tk/ChangeLog.tkextlib)</div><div class='add'>+</div><div class='add'>+Wed Nov  3 16:30:41 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf: follow nkf 2.0.4</div><div class='add'>+</div><div class='add'>+Wed Nov  3 15:53:34 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/rss/test_maker_*.rb: added tests for RSS Maker.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker.rb: added RSS Maker.</div><div class='add'>+</div><div class='add'>+	* lib/rss/maker/*.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Nov  2 16:35:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/enumerator/enumerator.c (each_cons_i): pass copy of an</div><div class='add'>+	  internal consequent array.  [ruby-talk:118691]</div><div class='add'>+</div><div class='add'>+Tue Nov  2 16:05:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_fork): need to flush stdout and stderr before</div><div class='add'>+	  fork(2).  [ruby-talk:117715]</div><div class='add'>+</div><div class='add'>+Tue Nov  2 01:20:09 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): nail down dyna_var node when Proc object</div><div class='add'>+	  or continuation is created.  [ruby-dev:24671]</div><div class='add'>+</div><div class='add'>+Mon Nov  1 13:59:28 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.</div><div class='add'>+</div><div class='add'>+	* ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,</div><div class='add'>+	  ext/stringio/extconf.rb: added.</div><div class='add'>+</div><div class='add'>+	* MANIFEST, ext/**/MANIFEST: removed.</div><div class='add'>+</div><div class='add'>+	* README.EXT, README.EXT.ja: remove MANIFEST stuff.</div><div class='add'>+</div><div class='add'>+Mon Nov  1 01:14:52 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_open): create copy of popen specifier.  [ruby-dev:24656]</div><div class='add'>+</div><div class='add'>+Mon Nov  1 00:36:48 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* main.c (_stklen): move to gc.c.</div><div class='add'>+</div><div class='add'>+Sun Oct 31 00:22:28 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_locktmp): lock string temporarily.</div><div class='add'>+</div><div class='add'>+	* string.c (str_independent): add tmplock check.</div><div class='add'>+</div><div class='add'>+	* io.c (io_write): lock output string temporarily.</div><div class='add'>+	  [ruby-dev:24649]</div><div class='add'>+</div><div class='add'>+	* io.c (io_write): use rb_str_locktmp().</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): ditto.</div><div class='add'>+</div><div class='add'>+Sat Oct 30 06:53:24 2004  Peter Vanbroekhoven  &lt;peter.vanbroekhoven@cs.kuleuven.ac.be&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): NODE_XSTR should pass copy of literal string.</div><div class='add'>+</div><div class='add'>+Sat Oct 30 00:19:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): protect continuation jump in.</div><div class='add'>+	  [ruby-dev:24642]</div><div class='add'>+</div><div class='add'>+Fri Oct 29 21:27:51 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_check_initialized): new function to check uninitialized</div><div class='add'>+	  object.  [ruby-talk:118234]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_path), io.c (rb_io_closed): check if initialized.</div><div class='add'>+</div><div class='add'>+Fri Oct 29 10:00:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_start_0): forget to free some memory chunks.</div><div class='add'>+	  [ruby-core:03611]</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_cleanup): ruby_finalize_1 may cause exception,</div><div class='add'>+	  should be wrapped by PUSH_TAG/POP_TAG().  [ruby-dev:24627]</div><div class='add'>+</div><div class='add'>+Thu Oct 28 08:42:02 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (argf_forward): use ANSI style.</div><div class='add'>+	  (argf_read): call argf_forward with argv argument.</div><div class='add'>+	  [ruby-dev:24624]</div><div class='add'>+</div><div class='add'>+Thu Oct 28 23:32:54 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_detach_input): resets klass of z-&gt;input if</div><div class='add'>+	  z-&gt;input isn't nil.</div><div class='add'>+</div><div class='add'>+Thu Oct 28 23:19:31 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: prefer relative path.  [ruby-talk:93037]</div><div class='add'>+</div><div class='add'>+Wed Oct 27 18:49:11 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c: prototype; rb_io_fptr_finalize() doesn't return any value</div><div class='add'>+	  at this version.</div><div class='add'>+</div><div class='add'>+Wed Oct 27 17:27:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_sweep): recover ruby_in_compile variable.</div><div class='add'>+</div><div class='add'>+Wed Oct 27 09:17:30 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): use a string object for exception safeness.</div><div class='add'>+	  [ruby-dev:24601]</div><div class='add'>+</div><div class='add'>+Tue Oct 26 23:52:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_getline): rs modification check should not interfere in the loop.</div><div class='add'>+</div><div class='add'>+Tue Oct 26 23:30:39 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::Context::add_class_or_module):</div><div class='add'>+	  Restore correct :nopdoc: behavior with nested classes and modules.</div><div class='add'>+</div><div class='add'>+Tue Oct 26 18:21:29 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (RESIZE_CAPA): check string attribute before modifying</div><div class='add'>+	  capacity member of string structure.  [ruby-dev:24594]</div><div class='add'>+</div><div class='add'>+Tue Oct 26 11:33:26 2004  David G. Andersen  &lt;dga@lcs.mit.edu&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain</div><div class='add'>+	  performance.  [ruby-talk:117701]</div><div class='add'>+</div><div class='add'>+Tue Oct 26 10:56:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): raise ArgumentError for extra</div><div class='add'>+	  arguments, unless (digit)$ style used.</div><div class='add'>+</div><div class='add'>+Tue Oct 26 11:33:26 2004  David G. Andersen  &lt;dga@lcs.mit.edu&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain</div><div class='add'>+	  performance.  [ruby-talk:117701]</div><div class='add'>+</div><div class='add'>+Tue Oct 26 10:56:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): raise ArgumentError for extra</div><div class='add'>+	  arguments, unless (digit)$ style used.</div><div class='add'>+</div><div class='add'>+Mon Oct 25 18:35:39 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (isUNCRoot): should check NUL after '.'.</div><div class='add'>+	  [ruby-dev:24590]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (isUNCRoot): fixed buffer overrun.</div><div class='add'>+</div><div class='add'>+Mon Oct 25 08:03:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (get_backtrace): ignore illegal backtrace.  [ruby-dev:24587]</div><div class='add'>+</div><div class='add'>+Sun Oct 24 00:41:09 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_load, search_required, rb_require_safe, rb_require): use</div><div class='add'>+	  frozen shared string to avoid outside modification.  [ruby-dev:24580]</div><div class='add'>+</div><div class='add'>+Sat Oct 23 22:18:32 2004  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (frame_free): Guy Decoux solved the leak problem.</div><div class='add'>+	  Thanks.  [ruby-core:03549]</div><div class='add'>+</div><div class='add'>+Sat Oct 23 00:20:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_append_input): clear klass for z-&gt;input</div><div class='add'>+	  to avoid potential vulnerability.</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_run): always use zstream_append_input()</div><div class='add'>+	  to avoid SEGV.  [ruby-dev:24568]</div><div class='add'>+</div><div class='add'>+Fri Oct 22 12:02:28 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_alias): was warning for wrong condition.</div><div class='add'>+	  [ruby-dev:24565]</div><div class='add'>+</div><div class='add'>+Fri Oct 22 10:36:37 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):</div><div class='add'>+	  should check if path_info is not nil.</div><div class='add'>+</div><div class='add'>+Fri Oct 22 00:22:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_shift_buffer): should restore class</div><div class='add'>+	  field of a buffer.  [ruby-dev:24562]</div><div class='add'>+</div><div class='add'>+Fri Oct 22 00:20:33 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_include): should not treat char as negative value.</div><div class='add'>+	  [ruby-dev:24558]</div><div class='add'>+</div><div class='add'>+Thu Oct 21 21:32:30 2004  IWATSUKI Hiroyuki  &lt;don@na.rim.or.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb (PStore#transaction): Use the empty content when a</div><div class='add'>+	  file is not found.  [ruby-dev:24561]</div><div class='add'>+</div><div class='add'>+Thu Oct 21 19:06:15 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):</div><div class='add'>+	  ensure to close @body. (http://bugs.debian.org/277520)</div><div class='add'>+</div><div class='add'>+Thu Oct 21 00:36:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_alias): should warn on method discarding.</div><div class='add'>+	  [ruby-dev:24546]</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_expand_buffer_into): hide internal</div><div class='add'>+	  string buffer by clearing klass.  [ruby-dev:24548]</div><div class='add'>+</div><div class='add'>+Wed Oct 20 19:45:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_gsub): 	reentrant check.  [ruby-dev:24432]</div><div class='add'>+</div><div class='add'>+	* backport all SEGV bug fixes from CVS HEAD.  [ruby-dev:24536]</div><div class='add'>+</div><div class='add'>+Wed Oct 20 04:17:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dbm/dbm.c (fdbm_delete_if): should check if deleting element</div><div class='add'>+	  is a string.  [ruby-dev:24490]</div><div class='add'>+</div><div class='add'>+	* ext/sdbm/init.c (fsdbm_delete_if): ditto.</div><div class='add'>+</div><div class='add'>+Wed Oct 20 01:37:18 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_times): Array#* should return an instance of</div><div class='add'>+	  the class of right operand.  [ruby-dev:24526]</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_detach_buffer): should not expose</div><div class='add'>+	  class-less object to Ruby world. [ruby-dev:24530]</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_dup): provide Proc#dup as well.  [ruby-talk:116915]</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_exec): stack marking position may be higher than</div><div class='add'>+	  expected.  thanks to Guy Decoux.  [ruby-core:03527]</div><div class='add'>+</div><div class='add'>+Tue Oct 19 22:43:12 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_attr): If</div><div class='add'>+	  we come across 'attr' in a context where it isn't</div><div class='add'>+	  followed by a symbol, just issue a warning.</div><div class='add'>+</div><div class='add'>+Tue Oct 19 20:41:37 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole.c(ole_invoke): retrieve the result value when</div><div class='add'>+	  retrying the IDispatch::invoke.</div><div class='add'>+</div><div class='add'>+Tue Oct 19 17:24:11 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): block string buffer modification during</div><div class='add'>+	  rb_io_fread() by freezing it temporarily. [ruby-dev:24479]</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_push_glob): block call at once the end of method.</div><div class='add'>+	  [ruby-dev:24487]</div><div class='add'>+</div><div class='add'>+	* ext/enumerator/enumerator.c (enum_each_slice): remove</div><div class='add'>+	  rb_gc_force_recycle() to prevent potential SEGV.</div><div class='add'>+	  [ruby-dev:24499]</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (zstream_expand_buffer): hide internal string</div><div class='add'>+	  buffer by clearing klass.  [ruby-dev:24510]</div><div class='add'>+</div><div class='add'>+Tue Oct 19 16:12:18 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: backport from CVS HEAD</div><div class='add'>+</div><div class='add'>+Tue Oct 19 08:54:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* intern.h, object.c (rb_class_inherited_p): export.</div><div class='add'>+</div><div class='add'>+Tue Oct 19 08:46:57 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_upto): method result must be checked.  [ruby-dev:24504]</div><div class='add'>+</div><div class='add'>+	* eval.c (error_print): ditto.  [ruby-dev:24519]</div><div class='add'>+</div><div class='add'>+Mon Oct 18 23:37:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_object0): check inheritance by the internal function.</div><div class='add'>+	  [ruby-dev:24515]</div><div class='add'>+</div><div class='add'>+Mon Oct 18 15:58:01 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* range.c (range_step, range_each): need cast.</div><div class='add'>+</div><div class='add'>+Fri Oct 29 16:34:19 2004  Daiki Ueno  &lt;ueno@unixuser.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-parse-partial): Parse the rest of the</div><div class='add'>+	line after opening heredoc identifier.  [ruby-dev:24635]</div><div class='add'>+</div><div class='add'>+Mon Oct 18 07:26:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_truncate): discard read buffer before truncation.</div><div class='add'>+	  [ruby-dev:24197]</div><div class='add'>+</div><div class='add'>+Mon Oct 18 02:11:21 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/config.rb (WEBrick::Config::General): add default values:</div><div class='add'>+	  - WEBrick::Config[:DoNotReverseLookup]</div><div class='add'>+	  - WEBrick::Config[:RequestCallback] (it used as an alias of</div><div class='add'>+	    :RequestHandler in WEBrick::HTTPServer#run)</div><div class='add'>+	  - WEBrick::Config::FileHandler[:AcceptableLanguages]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::FileHandler#set_filename): search files</div><div class='add'>+	  having suffix of language-name which Accept-Language header field</div><div class='add'>+	  includes if :AcceptableLanguages options is present.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to</div><div class='add'>+	  search servlet correspond to the suffix of filename.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb: add attributes access methods: accept,</div><div class='add'>+	  accept_charset, accept_encoding, accept_language, content_length</div><div class='add'>+	  and content_type.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpresponse.rb: add attribute access methods:</div><div class='add'>+	  content_length, content_length=, content_type and content_type=.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types):</div><div class='add'>+	  use the second suffix to detect media type. (the first suffix</div><div class='add'>+	  may be a language name.)</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_qvalues):</div><div class='add'>+	  add method to parse Accept header field. it returns an Array of</div><div class='add'>+	  values sorted by the qvalues.</div><div class='add'>+</div><div class='add'>+Mon Oct 18 02:04:11 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host): new</div><div class='add'>+	  method to register virtual hosting servers.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (WEBrick::GenericServer#accept): call</div><div class='add'>+	  do_not_reverse_lookup for each socket if :DoNotReverseLookup</div><div class='add'>+	  is set.  [ruby-core:02357]</div><div class='add'>+</div><div class='add'>+Mon Oct 18 00:42:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_getservbyaname): protocol string</div><div class='add'>+	  might be altered.  [ruby-dev:24503]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_upto): check if return value from succ is a</div><div class='add'>+	  string.  [ruby-dev:24504]</div><div class='add'>+</div><div class='add'>+Sun Oct 17 23:03:48 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block</div><div class='add'>+</div><div class='add'>+Sun Oct 17 13:05:04 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (fole_func_methods): correct argument mismatch.</div><div class='add'>+	* ext/win32ole/win32ole.c (fole_get_methods): ditto.</div><div class='add'>+	* ext/win32ole/win32ole.c (fole_put_methods): ditto.</div><div class='add'>+	* ext/win32ole/tests/testWIN32OLE.rb: add test for WIN32OLE#ole_func_methods</div><div class='add'>+	  WIN32OLE#ole_get_methods, WIN32OLE#ole_put_methods</div><div class='add'>+</div><div class='add'>+Sat Oct 16 14:45:28 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/0.9.rb (RSS::Rss#to_s): removed garbage.</div><div class='add'>+</div><div class='add'>+Sat Oct 16 13:42:49 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/: untabified.</div><div class='add'>+	* test/rss/: untabified.</div><div class='add'>+	* lib/rss/0.9.rb (RSS::Rss#to_s): inent -&gt; indent.</div><div class='add'>+</div><div class='add'>+Sat Oct 16 13:34:56 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss: supported prety print.</div><div class='add'>+	* test/rss/test_1.0.rb: added test for calculating default indent size.</div><div class='add'>+</div><div class='add'>+Fri Oct 15 18:04:35 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is</div><div class='add'>+	  acceptable. Add TkTimer.start ( == new + start ).</div><div class='add'>+</div><div class='add'>+Fri Oct 15 12:43:09 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_stack): make prototype declaration consistent with</div><div class='add'>+	  the definition in gc.c.</div><div class='add'>+</div><div class='add'>+Thu Oct 14 14:34:01 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (MODE_BINMODE, MODE_BINARY): fixed reversed condition.</div><div class='add'>+</div><div class='add'>+Thu Oct 14 13:33:59 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: added link to Tutorial.</div><div class='add'>+</div><div class='add'>+Mon Oct 11 13:48:20 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/*: untabify</div><div class='add'>+</div><div class='add'>+Sun Oct 10 12:32:08 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Allow 'require'</div><div class='add'>+	  to be used as a variable name</div><div class='add'>+</div><div class='add'>+Sat Oct  9 21:23:37 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/converter.rb: changed to try to use Iconv for default</div><div class='add'>+	  conversion.</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: 0.0.9 -&gt; 0.1.0.</div><div class='add'>+</div><div class='add'>+Sat Oct  9 19:50:36 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_getline): should not treat char as negative value.</div><div class='add'>+	  [ruby-dev:24460]</div><div class='add'>+</div><div class='add'>+Fri Oct  8 09:49:32 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): pointer modification check before each</div><div class='add'>+	  iteration.  [ruby-dev:24445]</div><div class='add'>+</div><div class='add'>+Fri Oct  8 01:13:05 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/optiondb.rb: make it more secure</div><div class='add'>+</div><div class='add'>+Thu Oct  7 23:47:57 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/scrollbar.rb: When 'set' operation, a scrollbar</div><div class='add'>+	  cannot propagate view port information from the source widget</div><div class='add'>+	  (that calls 'set') to other assigned widgets.</div><div class='add'>+</div><div class='add'>+Thu Oct  7 17:36:25 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: When CHILDKILLED and so on, Tk.errorCode returns</div><div class='add'>+	  a Fixnum for 2nd element (it's pid) of the return value.</div><div class='add'>+</div><div class='add'>+Thu Oct  7 12:55:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): should freeze buffer before thread context</div><div class='add'>+	  switch. [ruby-dev:24442]</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): string conversion should at the top of the</div><div class='add'>+	  method.  [ruby-dev:24439]</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): buffer should be frozen only after the length</div><div class='add'>+	  check.  [ruby-dev:24440]</div><div class='add'>+</div><div class='add'>+Thu Oct  7 02:56:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c: use FMODE_APPEND.</div><div class='add'>+</div><div class='add'>+Thu Oct  7 01:05:33 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode</div><div class='add'>+</div><div class='add'>+Thu Oct  7 00:08:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_s_sysopen): preserve path in the buffer allocated by</div><div class='add'>+	  ALLOCA_N() to prevent modification.  [ruby-dev:24438]</div><div class='add'>+</div><div class='add'>+Wed Oct  6 09:21:00 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_mode_flags): preserve append mode flag.</div><div class='add'>+	  [ruby-dev:24436]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_modenum_mode): do not use external output buffer.</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_justify): differ pointer retrieval to prevent</div><div class='add'>+	  padding string modification.  [ruby-dev:24434]</div><div class='add'>+</div><div class='add'>+	* range.c (range_each_func): allow func to terminate loop by</div><div class='add'>+	  returning RANGE_EACH_BREAK.</div><div class='add'>+</div><div class='add'>+	* range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]</div><div class='add'>+</div><div class='add'>+Mon Oct  4 14:04:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_file_open_internal, rb_io_reopen): fname might be altered</div><div class='add'>+	  while GC.  [ruby-dev:24408]</div><div class='add'>+</div><div class='add'>+Mon Oct  4 12:53:45 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/optiondb.rb: support definition of command</div><div class='add'>+	  resources on widgets</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/image.rb: bug fix</div><div class='add'>+</div><div class='add'>+Sun Oct  3 21:20:03 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (TEXT_REGEXP): allow 8-bit characters for the german</div><div class='add'>+	version of Microsoft Exchange Server. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (RTEXT_REGEXP): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (CTEXT_REGEXP): ditto.</div><div class='add'>+</div><div class='add'>+Sat Oct  2 20:34:22 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* node.h (NEW_DVAR): extra semicolon.</div><div class='add'>+</div><div class='add'>+Sat Oct  2 00:42:20 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_byte): retrieve pointer from string value for each</div><div class='add'>+	  time.  [ruby-dev:24404]</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_bytes0): ditto.</div><div class='add'>+</div><div class='add'>+	* enum.c (sort_by_i): re-entrance check added.  [ruby-dev:24399]</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): should freeze all reading buffer.</div><div class='add'>+	  [ruby-dev:24400]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): should use bignums when bits is greater</div><div class='add'>+	  than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]</div><div class='add'>+</div><div class='add'>+	* eval.c (specific_eval): defer pointer retrieval to prevent</div><div class='add'>+	  unsafe sourcefile string modification.  [ruby-dev:24382]</div><div class='add'>+</div><div class='add'>+	* eval.c (specific_eval): defer pointer retrieval to prevent</div><div class='add'>+	  unsafe sourcefile string modification.  [ruby-dev:24382]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): wrong cast caused wrong result.</div><div class='add'>+	  [ruby-dev:24385]</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): hide temporary array from</div><div class='add'>+	  ObjectSpace.each_object.  [ruby-dev:24386]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): check was done with false pointer.</div><div class='add'>+	  [ruby-dev:24383]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): string may be altered.  [ruby-dev:24381]</div><div class='add'>+</div><div class='add'>+Mon Oct 11 17:51:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_popen): get mode string via rb_io_flags_mode() to</div><div class='add'>+	  avoid mode string modification.  [ruby-dev:24454]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_getline_fast): should take delim as unsigned char to</div><div class='add'>+	  distinguish EOF and '\377'.  [ruby-dev:24460]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_getline): add check for RS modification.</div><div class='add'>+	  [ruby-dev:24461]</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): use qsort() directly instead using</div><div class='add'>+	  rb_iterate().  [ruby-dev:24462]</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_each_with_index): remove rb_gc_force_recycle() to</div><div class='add'>+	  prevent access to recycled object (via continuation for</div><div class='add'>+	  example).  [ruby-dev:24463]</div><div class='add'>+</div><div class='add'>+Fri Oct  1 11:40:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe</div><div class='add'>+	  sourcefile string modification.  [ruby-dev:24373]</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): block string buffer modification during</div><div class='add'>+	  rb_io_fread() by freezing it temporarily. [ruby-dev:24366]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_s_popen): mode argument may be altered.</div><div class='add'>+	  [ruby-dev:24375]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_basename): ext argument may be altered.</div><div class='add'>+	  [ruby-dev:24377]</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): use NODE instead of 2 element arrays.</div><div class='add'>+	  [ruby-dev:24378]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_chomp_bang): StringValue() may change the</div><div class='add'>+	  receiver.  [ruby-dev:24371]</div><div class='add'>+</div><div class='add'>+Fri Oct  1 11:25:20 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/grid.rb: revive TkGrid.grid</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/pack.rb: revive TkPack.pack</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/place.rb: revive TkPlace.place</div><div class='add'>+</div><div class='add'>+Thu Sep 30 00:50:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_init): bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a</div><div class='add'>+	  matting pattern argument</div><div class='add'>+</div><div class='add'>+Wed Sep 29 10:58:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (sort_by_i): internally used object must not be changed</div><div class='add'>+	  outside.  [ruby-dev:24368]</div><div class='add'>+</div><div class='add'>+Mon Sep 27 13:46:45 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* intern.h, struct.c (rb_struct_s_members, rb_struct_members): public</div><div class='add'>+	  accessors.  [ruby-dev:24342]</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object, r_object0): use accessors.</div><div class='add'>+</div><div class='add'>+Mon Sep 27 09:14:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.</div><div class='add'>+	  [ruby-talk:113807]</div><div class='add'>+</div><div class='add'>+Fri Sep 24 16:09:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): propagate DVAR_DONT_RECYCLE on termination</div><div class='add'>+	  to avoid double call to rb_gc_force_recycle(). [ruby-dev:24311]</div><div class='add'>+</div><div class='add'>+Fri Sep 24 08:29:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_subseq): original object might be modified after</div><div class='add'>+	  sharing data creation.  [ruby-dev:24327]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_replace): ditto.</div><div class='add'>+</div><div class='add'>+	* array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]</div><div class='add'>+</div><div class='add'>+	* struct.c (struct_members): always check struct size and size of</div><div class='add'>+	  members list in the class.  [ruby-dev:24320]</div><div class='add'>+</div><div class='add'>+Thu Sep 23 09:29:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sub_bang): check if string is not modified</div><div class='add'>+	  during iteration.  [ruby-dev:24315]</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_rehash): replace st_foreach() by its deep</div><div class='add'>+	  checking counterpart.  [ruby-dev:24310]</div><div class='add'>+</div><div class='add'>+Wed Sep 22 13:38:12 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_rehash): add iteration check.  [ruby-dev:24301]</div><div class='add'>+</div><div class='add'>+	* st.c (st_foreach): add deep check.</div><div class='add'>+</div><div class='add'>+Wed Sep 22 13:06:14 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_call_handler): workaround for Ctrl-C.</div><div class='add'>+	  merge from HEAD.</div><div class='add'>+</div><div class='add'>+Wed Sep 22 00:11:12 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* process.c: Add documentation for fork()</div><div class='add'>+</div><div class='add'>+Wed Sep 22 09:04:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_collect_bang): element size might change during</div><div class='add'>+	  comparison.  [ruby-dev:24300]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_reject_bang): ditto. [ruby-dev:24300]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_eql): ditto. [ruby-dev:24300]</div><div class='add'>+</div><div class='add'>+Tue Sep 21 18:29:49 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_equal): merge miss.</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_uniq_bang): element size might change during</div><div class='add'>+	  comparison.  [ruby-dev:24298]</div><div class='add'>+</div><div class='add'>+Mon Sep 20 00:24:19 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): do not use qsort directly.  use</div><div class='add'>+	  rb_ary_sort_bang() instead.  [ruby-dev:24291]</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): pedantic type check added.</div><div class='add'>+	  [ruby-dev:24291]</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_foreach_iter): check iter_lev after each</div><div class='add'>+	  iteration.  [ruby-dev:24289]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_and): element size might change during</div><div class='add'>+	  comparison.  [ruby-dev:24290]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_or): ditto. [ruby-dev:24292]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]</div><div class='add'>+</div><div class='add'>+Sat Sep 18 15:02:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_equal): element size might change during</div><div class='add'>+	  comparison.  [ruby-dev:24254]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_diff): ditto. [ruby-dev:24274]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_select): ditto. [ruby-dev:24278]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_delete): ditto. [ruby-dev:24283]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_rindex): ditto. [ruby-dev:24275]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_initialize): element size might change during</div><div class='add'>+	  initializing block.  [ruby-dev:24284]</div><div class='add'>+</div><div class='add'>+Sat Sep 18 14:10:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_s_chdir): avoid memory leak and unnecessary chdir to</div><div class='add'>+	  the original directory when exception has caused in changing</div><div class='add'>+	  direcotry or within block.  thanks to Johan Holmberg</div><div class='add'>+	  &lt;holmberg@iar.se&gt; [ruby-core:03446]</div><div class='add'>+</div><div class='add'>+Fri Sep 17 20:20:27 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mkdir_p): backport from CVS HEAD 1.45. [ruby-core:03420]</div><div class='add'>+</div><div class='add'>+Fri Sep 17 17:11:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_delete): element comparison might change array</div><div class='add'>+	  size. [ruby-dev:24273]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_truncate): clear stdio buffer before truncating</div><div class='add'>+	  the file.  [ruby-dev:24191]</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF</div><div class='add'>+	  which might return singleton class.  [ruby-dev:24202]</div><div class='add'>+</div><div class='add'>+Fri Sep 17 16:07:09 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: improve exit operation</div><div class='add'>+</div><div class='add'>+Fri Sep 17 15:01:57 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or</div><div class='add'>+	  (thread_)tkwait</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add alias wait_window to wait_destroy</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: support calling 'mainloop' on slave</div><div class='add'>+	  interpreters (however, the 'real' eventloop must be run on the</div><div class='add'>+	  Default Master IP)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/remote-ip_sample2.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkoptdb-safeTk.rb: ditto</div><div class='add'>+</div><div class='add'>+Thu Sep 16 18:12:32 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USER</div><div class='add'>+	  to request.user attribute.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::FileHandler#initialize): should expand</div><div class='add'>+	  the pathname of document root directory.</div><div class='add'>+</div><div class='add'>+Thu Sep 16 15:49:28 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_intern): protect string argument from GC.</div><div class='add'>+	  [ruby-core:03411]</div><div class='add'>+</div><div class='add'>+Wed Sep 15 20:22:23 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkoptdb-safeTk.rb: fix a bug depend on the changes</div><div class='add'>+	  of MultiTkIp</div><div class='add'>+</div><div class='add'>+Tue Sep 14 23:54:11 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by</div><div class='add'>+	  the previous changes.</div><div class='add'>+</div><div class='add'>+Tue Sep 14 23:45:44 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::TextFormatter.for):</div><div class='add'>+	  Add Eric Hodel's simpleformatter.</div><div class='add'>+</div><div class='add'>+Tue Sep 14 16:59:37 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix SEGV</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/safe-tk.rb: new sample script</div><div class='add'>+</div><div class='add'>+Tue Sep 14 00:15:15 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c: backported from HEAD.</div><div class='add'>+</div><div class='add'>+Mon Sep 13 19:16:33 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (blk_copy_prev): need frame_dup().  [ruby-dev:24103]</div><div class='add'>+</div><div class='add'>+Mon Sep 13 16:23:27 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept</div><div class='add'>+	  safe-level value argument</div><div class='add'>+</div><div class='add'>+Mon Sep 13 10:20:45 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (nil_inspect): fix typo.</div><div class='add'>+</div><div class='add'>+Mon Sep 13 01:03:02 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkip</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: store original 'exit' command</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: fix(?) SEGV</div><div class='add'>+</div><div class='add'>+Sun Sep 12 23:46:23 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strdup): remove unnecessary code. (xmalloc never</div><div class='add'>+	  returns NULL.)</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_getcwd): fix memory leak on failure.</div><div class='add'>+</div><div class='add'>+Sun Sep 12 02:41:58 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and</div><div class='add'>+	  allow_ruby_exit=</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/MANUAL.euc: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/MANUAL.eng: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix some reasons of SEGV</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Sep 11 16:09:46 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: Fix up cross-file class merging.</div><div class='add'>+</div><div class='add'>+Fri Sep 10 20:20:53 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (lib_merge_tklist): fix suspicious</div><div class='add'>+	  pointer conversion.</div><div class='add'>+</div><div class='add'>+Fri Sep 10 02:43:54 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/kilmer.rb: James Buck's</div><div class='add'>+	  patch for call-seq.</div><div class='add'>+</div><div class='add'>+Thu Sep  9 13:58:56 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_init): change flag value for setting</div><div class='add'>+	  'argv' and 'argv0' variable</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: follow changes of multi-tk.rb</div><div class='add'>+</div><div class='add'>+Thu Sep  9 11:46:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_classes): Allow</div><div class='add'>+	  spaces aroun parameter to define_method_under (James Buck)</div><div class='add'>+</div><div class='add'>+Wed Sep  8 18:44:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_write): zero fill a gap if exsts.</div><div class='add'>+	  [ruby-dev:24190]</div><div class='add'>+</div><div class='add'>+Wed Sep  8 15:19:49 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_init): cannot create a IP at level 4</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: improve 'exit' operation, security check,</div><div class='add'>+	  and error treatment</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: allow a trusted slave IP to create slave IPs</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/listbox.rb: add TkListbox#value, value=, clear,	and</div><div class='add'>+	  erase</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: add TkText#clear and erase</div><div class='add'>+</div><div class='add'>+Tue Sep  7 15:17:49 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_connect): break immediately if a</div><div class='add'>+	  socket is non-blocking.  [ruby-talk:111654]</div><div class='add'>+</div><div class='add'>+Mon Sep  6 11:08:50 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menu.rb(TkOptionMenubutton#insert): call correct method</div><div class='add'>+</div><div class='add'>+Mon Sep  6 11:00:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (dir_s_chdir): the patch to shut up false warning when</div><div class='add'>+	  exception occurred within a block.  a patch was given from Johan</div><div class='add'>+	  Holmberg &lt;holmberg at iar.se&gt;.  [ruby-core:03292]</div><div class='add'>+</div><div class='add'>+Mon Sep  6 07:51:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (cvar_cbase): singletons should refer outer cvar scope.</div><div class='add'>+	  [ruby-dev:24223]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_load): should preserve previous ruby_wrapper value.</div><div class='add'>+	  [ruby-dev:24226]</div><div class='add'>+</div><div class='add'>+Sat Sep  4 01:14:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (cvar_cbase): class variables cause SEGV in</div><div class='add'>+	  instance_eval() for fixnums and symbols. [ruby-dev:24213]</div><div class='add'>+</div><div class='add'>+Fri Sep  3 17:47:58 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c (make_struct): remove redefining constant when</div><div class='add'>+	  conflict.  [ruby-dev:24210]</div><div class='add'>+</div><div class='add'>+Fri Sep  3 11:31:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: Tk.after makes TkCore::INTERP.tk_cmd_tbl grow</div><div class='add'>+	  [ruby-dev:24207]</div><div class='add'>+</div><div class='add'>+Fri Sep  3 02:12:48 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix typo [ruby-talk:111266]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: fix typo</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: improve safe-level treatment on slave IPs</div><div class='add'>+</div><div class='add'>+Fri Sep  3 01:54:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: already built-in libraries satisfy dependencies.</div><div class='add'>+	  [ruby-dev:24028]</div><div class='add'>+</div><div class='add'>+Thu Sep  2 11:36:20 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_obj_instance_eval): backported from HEAD.</div><div class='add'>+</div><div class='add'>+Wed Sep  1 21:18:25 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/spinbox.rb: fix typo</div><div class='add'>+</div><div class='add'>+Tue Aug 31 18:24:04 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (cbsubst_init): fix memory leak</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV</div><div class='add'>+</div><div class='add'>+Tue Aug 31 16:04:22 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_delete): when a tcltkip is deleted,</div><div class='add'>+	  destroy its root widget</div><div class='add'>+</div><div class='add'>+Tue Aug 31 12:30:36 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (del_root): fix SEGV</div><div class='add'>+</div><div class='add'>+Mon Aug 30 23:11:06 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_driver.rb (and others): ri now merges documentation</div><div class='add'>+	  if it finds the same class in multiple places.</div><div class='add'>+</div><div class='add'>+Mon Aug 30 22:40:30 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: 'restart' method accepts arguments</div><div class='add'>+</div><div class='add'>+Mon Aug 30 21:50:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* object.c: Add RDoc for Module.included.</div><div class='add'>+</div><div class='add'>+Mon Aug 30 15:10:46 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (GNU/k*BSD): fixed FTBFS on GNU/k*BSD. [ruby-dev:24051]</div><div class='add'>+</div><div class='add'>+Mon Aug 30 11:29:35 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (CreateChild): strip trailing spaces. [ruby-dev:24143]</div><div class='add'>+	  merge from HEAD.</div><div class='add'>+</div><div class='add'>+Sun Aug 29 14:08:56 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: compile error on bcc32 [ruby-dev:24081]</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string does not work</div><div class='add'>+</div><div class='add'>+Sat Aug 28 23:04:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_and): protect parameters from GC.</div><div class='add'>+	  [ruby-talk:110664]</div><div class='add'>+</div><div class='add'>+Thu Aug 26 04:38:29 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (return_jump): Minor typo in error message. Now reads</div><div class='add'>+	  "return can't jump across threads".</div><div class='add'>+</div><div class='add'>+Tue Aug 24 17:30:00 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session::FileStore#initialize): do not</div><div class='add'>+	  use a session id as a filename. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): use</div><div class='add'>+	  Dir::tmpdir. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Tue Aug 24 14:40:16 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session::FileStore#initialize): untaint</div><div class='add'>+	  session id after check. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Tue Aug 24 09:09:01 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): d2i</div><div class='add'>+	  functions may replace the pointer indicated by the first argument.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.</div><div class='add'>+</div><div class='add'>+Mon Aug 23 14:04:51 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_read):</div><div class='add'>+	  - should return an empty string if specified length to read is 0.</div><div class='add'>+	  - should check for pending data and wait for fd before reading.</div><div class='add'>+	  - call underlying IO's sysread if SSL session is not started.</div><div class='add'>+	  [ruby-dev:24072], [ruby-dev:24075]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_write):</div><div class='add'>+	  - call underlying IO's syswrite if SSL session is not started.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_pending): new method</div><div class='add'>+	  OpenSSL::SSL#pending.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb: should not use select.</div><div class='add'>+</div><div class='add'>+Mon Aug 23 12:40:56 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Config.default_config_hash): when multiple domains</div><div class='add'>+	  are set, Win32::Resolv.get_resolv_info returns Array.</div><div class='add'>+</div><div class='add'>+Sun Aug 22 01:15:31 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):</div><div class='add'>+	  should call :ProxyContentHandler before finishing CONNECT.</div><div class='add'>+</div><div class='add'>+Sat Aug 21 06:41:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'</div><div class='add'>+	  uniformly.  [ruby-dev:24118]</div><div class='add'>+</div><div class='add'>+Thu Aug 19 16:29:45 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: Fail to treat a hash value of 'font' option.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bindinfo cannot return '%' substiturion infomation.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/menu.rb: typo bug.</div><div class='add'>+</div><div class='add'>+Thu Aug 19 15:15:24 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (free_dir): fix memory leak.  reported by yamamoto</div><div class='add'>+	  madoka.</div><div class='add'>+</div><div class='add'>+Thu Aug 19 11:00:00 2004  Akiyoshi, Masamichi  &lt;masamichi.akiyoshi@hp.com&gt;</div><div class='add'>+</div><div class='add'>+	* dln.c (dln_load): Modify to call lib$find_image_symbol for VMS.</div><div class='add'>+	* io.c (rb_io_fwrite): Use fputc() for VMS non-stream file.</div><div class='add'>+</div><div class='add'>+Thu Aug 19 06:07:45 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: re2c no longer compiled with bit vectors.  caused</div><div class='add'>+	  problems for non-ascii characters. [ruby-core:03280]</div><div class='add'>+	* ext/syck/implicit.c: ditto.</div><div class='add'>+	* ext/syck/bytecode.c: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/baseemitter.rb: folding now handles double-quoted strings,</div><div class='add'>+	  fixed problem with extra line feeds at end of folding, whitespace</div><div class='add'>+	  opening scalar blocks.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: subtelties in handling strings with</div><div class='add'>+	  non-printable characters and odd whitespace patterns.</div><div class='add'>+</div><div class='add'>+Wed Aug 18 23:41:33 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/protocol.rb (rbuf_fill): OpenSSL::SSL::SSLSocket has its own</div><div class='add'>+	  buffer, select(2) might not work. [ruby-dev:24072]</div><div class='add'>+</div><div class='add'>+Wed Aug 18 17:10:12 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/stubs.c (ruby_tcltk_stubs): need to call</div><div class='add'>+	  Tcl_FindExecutable() for Tcl/Tk 8.4.</div><div class='add'>+</div><div class='add'>+Wed Aug 18 12:52:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_obj_instance_eval): evaluates under special singleton</div><div class='add'>+	  classes as for special constants.</div><div class='add'>+</div><div class='add'>+Tue Aug 17 17:20:59 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_reopen): should clear allocated OpenFile.  pointed</div><div class='add'>+	  out by Guy Decoux. [ruby-core:03288]</div><div class='add'>+</div><div class='add'>+Tue Aug 17 01:36:32 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/usage.rb: Remove extra indent. Tidy 'ri' option</div><div class='add'>+	  parsing so RDoc::usage plays better with OptionParser.</div><div class='add'>+</div><div class='add'>+Sat Aug 14 13:09:10 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: backport from CVS HEAD (rev1.44).</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: cp_r should copy symlink itself, except cp_r</div><div class='add'>+	  root.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new option mv :force.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: new module FileUtils::DryRun.</div><div class='add'>+</div><div class='add'>+Sat Aug 14 02:48:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/usage.rb: Added. Allows command line programs</div><div class='add'>+	  to report usage using their initial RDoc comment.</div><div class='add'>+</div><div class='add'>+Fri Aug 13 13:23:17 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):</div><div class='add'>+	  fix regex for range-spec.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content):</div><div class='add'>+	  multipart/byteranges response was broken.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/erbhandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type</div><div class='add'>+	  by suffix of script filename.</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/server.rb: refine example code.</div><div class='add'>+</div><div class='add'>+Wed Aug 11 17:17:50 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.</div><div class='add'>+</div><div class='add'>+Sun Aug  8 00:43:31 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/implicit.c: added sexagecimal float#base60.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (yaml_org_handler): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/token.c: indentation absolutely ignored when processing flow</div><div class='add'>+	  collections.  plain scalars are trimmed if indentation follows in</div><div class='add'>+	  an ambiguous flow collection.</div><div class='add'>+</div><div class='add'>+Sat Aug  7 00:50:01 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c: Zlib::GzipReader#read(0) returns "" instead of nil.</div><div class='add'>+</div><div class='add'>+Tue Aug  3 13:49:20 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/namespace.rb: bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: add Tk::TreeCtrl.loupe</div><div class='add'>+</div><div class='add'>+Mon Aug  2 18:04:21 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/msgcat.rb (set_translation): bug fix (fail to set</div><div class='add'>+	  trans_str to the same as src_str when trans_str is not given.)</div><div class='add'>+</div><div class='add'>+Mon Aug  2 11:53:06 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): Fix infinite recursion</div><div class='add'>+	  looking up some top level symbols (batsman)</div><div class='add'>+</div><div class='add'>+Mon Aug  2 11:48:29 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Allow '.'s in</div><div class='add'>+	  variable names to support SWIG generated files (Hans Fugal)</div><div class='add'>+</div><div class='add'>+Sat Jul 31 17:40:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial,</div><div class='add'>+	  ruby-calculate-indent, ruby-move-to-block, ruby-forward-sexp,</div><div class='add'>+	  ruby-backward-sexp): keywords must match word-wise.</div><div class='add'>+</div><div class='add'>+Sat Jul 31 05:47:37 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb (YAML::load_file, YAML::parse_file): added.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: exceptions were using an older</div><div class='add'>+	  YAML.object_maker. [ruby-core:03080]</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c (sycklex_yaml_utf8): using newline_len to</div><div class='add'>+	  handline CR-LFs.  "\000" was showing up on folded blocks which</div><div class='add'>+	  stopped at EOF.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: re2c compiled with bit vectors now.</div><div class='add'>+	* ext/syck/implicit.c: ditto.</div><div class='add'>+	* ext/syck/bytecode.c: ditto.</div><div class='add'>+</div><div class='add'>+Fri Jul 30 16:10:54 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (lib_fromUTF8_core): raise ArgumentError when</div><div class='add'>+	  the unknown encoding name is given.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (lib_toUTF8_core): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertfrom): bug fix.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertto): ditto.</div><div class='add'>+</div><div class='add'>+Wed Jul 28 18:59:17 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::initialize): remove at_exit code for CGI_PARAMS</div><div class='add'>+	  and CGI_COOKIES.  they will no longer be used.</div><div class='add'>+</div><div class='add'>+Wed Jul 28 01:04:44 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (run_final): wrong order of data. [ruby-dev:23984]</div><div class='add'>+</div><div class='add'>+Tue Jul 27 07:05:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): copy on write for argument local variable</div><div class='add'>+	  assignment.</div><div class='add'>+</div><div class='add'>+	* eval.c (assign): ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): update ruby_frame-&gt;argv with the default</div><div class='add'>+	  value used for the optional arguments.</div><div class='add'>+</div><div class='add'>+	* object.c (Init_Object): "===" calls rb_obj_equal() directly.</div><div class='add'>+	  [ruby-list:39937]</div><div class='add'>+</div><div class='add'>+Mon Jul 26 11:22:55 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape): should</div><div class='add'>+	  escape space.</div><div class='add'>+</div><div class='add'>+Sun Jul 25 11:05:21 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.{h,c} (rb_w32_{f,fd,fs}open): workaround for bcc32's</div><div class='add'>+	  {f,fd,fs}open bug. set errno EMFILE and EBADF. [ruby-dev:23963]</div><div class='add'>+</div><div class='add'>+Sat Jul 24 13:32:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* range.c (rb_range_beg_len): returns Qnil only when "beg" points</div><div class='add'>+	  outside of a range.  No boundary check for "end".</div><div class='add'>+</div><div class='add'>+Fri Jul 23 16:40:25 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (define_final): should not disclose NODE* to Ruby world.</div><div class='add'>+	  [ruby-dev:23957]</div><div class='add'>+</div><div class='add'>+Fri Jul 23 09:03:16 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (disconnected?): new method. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Thu Jul 22 16:41:54 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb (CGI::Session::FileStore#update): sets the</div><div class='add'>+	 permission of the session data file to 0600.</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session/pstore.rb (CGI::Session::Pstore#initialize):</div><div class='add'>+	  ditto.</div><div class='add'>+</div><div class='add'>+Thu Jul 22 00:02:21 2004  Masahiro Kitajima  &lt;katonbo@katontech.com&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_system): not need to call last_status_set() any</div><div class='add'>+	  longer on _WIN32.</div><div class='add'>+</div><div class='add'>+Tue Jul 20 09:15:17 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: File.link raises EINVAL on BeOS.</div><div class='add'>+</div><div class='add'>+Mon Jul 19 01:15:07 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/cgihandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::CGIhandler#do_GET): set SystemRoot environment</div><div class='add'>+	  variable to CGI process on Windows native platforms. [ruby-dev:23936]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/cgihandler.rb</div><div class='add'>+	  (WEBrick::HTTPServlet::CGIhandler#do_GET): use $?.exitstatus and</div><div class='add'>+	  refine log message.</div><div class='add'>+</div><div class='add'>+Sun Jul 18 16:14:29 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/msgcat.rb (TkMsgCatalog.callback): bug fix</div><div class='add'>+	  ( wrong number of argument )</div><div class='add'>+</div><div class='add'>+Sun Jul 18 08:13:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): remove extra sign digit.</div><div class='add'>+</div><div class='add'>+Sun Jul 18 03:21:42 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (range): use NULL instead of 0.</div><div class='add'>+</div><div class='add'>+	* dir.c (range): get rid of a gcc 3.4 warning.</div><div class='add'>+</div><div class='add'>+Sun Jul 18 03:12:11 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (receive_responses): return if a LOGOUT response</div><div class='add'>+	received. (backported from HEAD)</div><div class='add'>+	* lib/net/imap.rb (send_string_data): wait command continuation</div><div class='add'>+	requests before sending octet data of literals. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Sat Jul 17 23:54:59 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: TkVariable#ref returns a TkVariable object</div><div class='add'>+</div><div class='add'>+Sat Jul 17 22:04:44 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/ldap.rb: method hierarchical? should be in URI::LDAP.</div><div class='add'>+</div><div class='add'>+Sat Jul 17 18:29:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (stmt): not to show same error messages twice.</div><div class='add'>+</div><div class='add'>+Sat Jul 17 13:13:32 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/ruby-lex.rb (RubyLex::identify_string): %s string do not</div><div class='add'>+	  process expression interpolation.  [ruby-talk:106691]</div><div class='add'>+</div><div class='add'>+Sat Jul 17 05:26:27 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/diagram.rb: Incorporate Micheal Neuman's</div><div class='add'>+	  client-side imagemao patch</div><div class='add'>+</div><div class='add'>+Sat Jul 17 01:57:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (THREAD_ALLOC): th-&gt;thread should be initialized to NULL.</div><div class='add'>+	  [ruby-talk:106657]  The solution was found by Guy Decoux.</div><div class='add'>+</div><div class='add'>+Fri Jul 16 22:30:28 2004  Michael Neumann  &lt;mneumann@ntecs.de&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_stat_dev_major): new methods File::Stat#dev_major and</div><div class='add'>+	  #dev_minor. [ruby-core:03195]</div><div class='add'>+</div><div class='add'>+Fri Jul 16 15:23:53 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (return_jump, break_jump): raise unexpceted local jump</div><div class='add'>+	  exception directly.  [ruby-dev:23740]</div><div class='add'>+</div><div class='add'>+	* lib/base64.rb (Deprecated): super in bound method calls original</div><div class='add'>+	  name method in stable version.  [ruby-dev:23916]</div><div class='add'>+</div><div class='add'>+Fri Jul 16 11:31:49 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/{fox,gtk,gtk2}/testrunner.rb: remove</div><div class='add'>+	  garbage (patch from akira yamada) [ruby-dev:23911]</div><div class='add'>+</div><div class='add'>+Fri Jul 16 11:20:00 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): fix output of NaN, Inf and -Inf with</div><div class='add'>+	  "%f" or etc on MSVCRT platforms. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Fri Jul 16 11:17:38 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (exit_initialize): use EXIT_SUCCESS instead of 0.</div><div class='add'>+	  [ruby-dev:23913]</div><div class='add'>+</div><div class='add'>+	* error.c (exit_success_p): new method SystemExit#success?.</div><div class='add'>+	  [ruby-dev:23912]</div><div class='add'>+</div><div class='add'>+	* error.c (syserr_initialize): initialization for subclasses.</div><div class='add'>+	  [ruby-dev:23912]</div><div class='add'>+</div><div class='add'>+Thu Jul 15 23:53:38 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#warn, OptionParser#abort): Exception</div><div class='add'>+	  no longer has to_str method.</div><div class='add'>+</div><div class='add'>+Thu Jul 15 22:59:48 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/readline/extconf.rb: added dir_config for curses, ncurses,</div><div class='add'>+	termcap. (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Thu Jul 15 20:29:15 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* class.c, error.c, eval.c, intern.h, object.c, variable.c:</div><div class='add'>+	  do not set path if it is a singleton class.  [ruby-dev:22588]</div><div class='add'>+	  (backport from 1.9)</div><div class='add'>+</div><div class='add'>+Thu Jul 15 10:15:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/, ext/tcltklib/: bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: better operation for SIGINT when processing</div><div class='add'>+	  callbacks.</div><div class='add'>+	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: ditto.</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd</div><div class='add'>+	  to define validatecommand methods easier</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext</div><div class='add'>+	  classes</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type</div><div class='add'>+	  check for items (e.g. canvas items; depends on the class) to</div><div class='add'>+	  avoid some troubles on Tk extension widget class definition.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+Wed Jul 14 18:08:37 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1cons_to_der): fix type of</div><div class='add'>+	  argument. [ruby-dev:23891]</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_x509store.rb: prune tests for CRL checking</div><div class='add'>+	  unless X509::V_FLAG_CRL_CHECK is defined.</div><div class='add'>+</div><div class='add'>+Wed Jul 14 12:29:07 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): should not convert string in the form of</div><div class='add'>+	  "-I.FE-X" which both "I" and "F" are ommitted. [ruby-dev:23883]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_float.rb (test_strtod): add test for bug fix.</div><div class='add'>+</div><div class='add'>+Wed Jul 14 00:31:15 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* array.c: rdoc patch. merged patch from Johan Holmberg</div><div class='add'>+	  &lt;holmberg@iar.se&gt; [ruby-core:3170]</div><div class='add'>+</div><div class='add'>+Tue Jul 13 19:39:12 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic#merge_path):</div><div class='add'>+	  "URI('http://www.example.com/foo/..') + './'" should return</div><div class='add'>+	  "URI('http://www.example.com/')".  [ruby-list:39838]</div><div class='add'>+	  "URI('http://www.example.com/') + './foo/bar/..'" should return</div><div class='add'>+	  "URI('http://www.example.com/foo/')".  [ruby-list:39844]</div><div class='add'>+</div><div class='add'>+	* test/uri/test_generic.rb (TestGeneric#test_merge): added tests.</div><div class='add'>+</div><div class='add'>+Tue Jul 13 15:51:45 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (init_mkmf): Do not add $(libdir) to $LIBPATH in</div><div class='add'>+	   extmk mode.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (dir_config): Prepend a new library path instead of</div><div class='add'>+	  appending so it is tried first.</div><div class='add'>+</div><div class='add'>+Tue Jul 13 00:50:48 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: Support call-seq: for Ruby files.</div><div class='add'>+</div><div class='add'>+Mon Jul 12 21:20:36 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* html_generator.rb: Support hyperlinks of the form {any text}[xxx]</div><div class='add'>+	  as well as stuff[xxx]</div><div class='add'>+</div><div class='add'>+Sat Jul 10 09:30:24 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/test_struct.rb: use qualified build-tin class name</div><div class='add'>+	  (::Struct) to avoid name crash.</div><div class='add'>+</div><div class='add'>+Sat Jul 10 04:21:56 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: better operation for SIGINT when processing</div><div class='add'>+	  callbacks.</div><div class='add'>+	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='add'>+	* ext/tk/lib/tk/variable.rb: ditto.</div><div class='add'>+	* ext/tk/lib/tk/timer.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/validation.rb (__def_validcmd):  add a module</div><div class='add'>+	  function of Tk::ValidateConfigure to define validatecommand</div><div class='add'>+	  methods easier</div><div class='add'>+</div><div class='add'>+Fri Jul  9 22:36:36 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* array.c, enum.c, pack.c: rdoc patch from Johan Holmberg</div><div class='add'>+	  &lt;holmberg@iar.se&gt; [ruby-core:3132] [ruby-core:3136]</div><div class='add'>+</div><div class='add'>+	* numeric.c: rdoc patch.</div><div class='add'>+</div><div class='add'>+Fri Jul  9 19:26:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::HTTPS#proxy_open): raise ArgumentError to</div><div class='add'>+	  notice https is not supported.</div><div class='add'>+</div><div class='add'>+Fri Jul  9 14:28:54 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_raise): accept third argument as well as</div><div class='add'>+	  Kernel#raise, and evaluate the arguments to create an exception in</div><div class='add'>+	  the caller's context.  [ruby-talk:105507]</div><div class='add'>+</div><div class='add'>+Fri Jul  9 01:47:08 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib : bug fix</div><div class='add'>+	* ext/tk/lib/tkextlib/itcl : add [incr Tcl] support</div><div class='add'>+	* ext/tk/lib/tkextlib/itk  : add [incr Tk] support</div><div class='add'>+	* ext/tk/lib/tkextlib/iwidgets : midway point of [incr Widgets] support</div><div class='add'>+	* ext/tk/sample/tkextlib/iwidgets : very simple examples of</div><div class='add'>+	  [incr Widgets]</div><div class='add'>+</div><div class='add'>+Thu Jul  8 22:52:19 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/{rss,parser,0.9,1.0,2.0}.rb: supported RSS 0.9x/2.0</div><div class='add'>+	  validation and validation which disregard order of elements.</div><div class='add'>+	* test/rss/test_parser.rb: added tests for RSS 0.9x/2.0</div><div class='add'>+	  validation.</div><div class='add'>+	* test/rss/{test_trackback,rss-testcase}.rb: fixed no good method</div><div class='add'>+	  name.</div><div class='add'>+</div><div class='add'>+Thu Jul  8 00:05:23 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tempfile.rb (Tempfile::initialize): got out code of</div><div class='add'>+	  generating tmpname.  [ruby-dev:23832][ruby-dev:23837]</div><div class='add'>+</div><div class='add'>+Wed Jul  7 15:53:14 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_match): raise TypeError when both arguments are</div><div class='add'>+	  strings. [ruby-dev:22869] (backported from HEAD)</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_match2): removed.</div><div class='add'>+</div><div class='add'>+	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,</div><div class='add'>+	  wince/Makefile.sub (string.c): now not depend on version.h.</div><div class='add'>+</div><div class='add'>+Wed Jul  7 00:48:34 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tktrans.rb,</div><div class='add'>+	  ext/tk/lib/tkextlib/treectrl.rb: fix syntax errors.</div><div class='add'>+</div><div class='add'>+Tue Jul  6 18:38:45 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib : improve framework of developping Tcl/Tk extension</div><div class='add'>+	  wrappers</div><div class='add'>+</div><div class='add'>+Mon Jul  5 23:56:42 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/{trackback,syndication,dublincore,content}.rb: worked</div><div class='add'>+	  with ruby 1.6 again.</div><div class='add'>+</div><div class='add'>+	* test/rss/rss-assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Jul  5 22:54:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/common.rb (Kernel#URI): new global method for parsing URIs.</div><div class='add'>+</div><div class='add'>+Mon Jul  5 09:02:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_yield, rb_f_catch): 4th argument to rb_yield_0()</div><div class='add'>+	  is a set of bit flags.  [ruby-dev:23859]</div><div class='add'>+</div><div class='add'>+Mon Jul  5 01:27:32 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb(DRbConn self.open): If socket pool is full, close</div><div class='add'>+	  the socket whose last-access-time is oldest. (and add new one)</div><div class='add'>+	  [ruby-dev:23860]</div><div class='add'>+</div><div class='add'>+Sun Jul  4 12:24:50 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rss/rss.rb: added copyright header.</div><div class='add'>+</div><div class='add'>+Sun Jul  4 00:24:40 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* added files</div><div class='add'>+	  * lib/soap/attachment.rb</div><div class='add'>+	  * lib/soap/header</div><div class='add'>+	  * lib/soap/mimemessage.rb</div><div class='add'>+	  * lib/soap/rpc/httpserver.rb</div><div class='add'>+	  * lib/wsdl/soap/cgiStubCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/classDefCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/classDefCreatorSupport.rb</div><div class='add'>+	  * lib/wsdl/soap/clientSkeltonCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/driverCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/mappingRegistryCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/methodDefCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/servantSkeltonCreator.rb</div><div class='add'>+	  * lib/wsdl/soap/standaloneServerStubCreator.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/enumeration.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/simpleRestriction.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/simpleType.rb</div><div class='add'>+	  * lib/xsd/codegen</div><div class='add'>+	  * lib/xsd/codegen.rb</div><div class='add'>+	  * sample/soap/authheader</div><div class='add'>+	  * sample/soap/raa2.4</div><div class='add'>+	  * sample/soap/ssl</div><div class='add'>+	  * sample/soap/swa</div><div class='add'>+	  * sample/soap/whois.rb</div><div class='add'>+	  * sample/soap/calc/samplehttpd.conf</div><div class='add'>+	  * sample/soap/exchange/samplehttpd.conf</div><div class='add'>+	  * sample/soap/sampleStruct/samplehttpd.conf</div><div class='add'>+	  * sample/wsdl/raa2.4</div><div class='add'>+	  * sample/wsdl/googleSearch/samplehttpd.conf</div><div class='add'>+	  * test/openssl/_test_ssl.rb</div><div class='add'>+	  * test/soap/header</div><div class='add'>+	  * test/soap/ssl</div><div class='add'>+	  * test/soap/struct</div><div class='add'>+	  * test/soap/swa</div><div class='add'>+	  * test/soap/wsdlDriver</div><div class='add'>+	  * test/wsdl/multiplefault.wsdl</div><div class='add'>+	  * test/wsdl/simpletype</div><div class='add'>+	  * test/wsdl/test_multiplefault.rb</div><div class='add'>+</div><div class='add'>+	* modified files</div><div class='add'>+	  * lib/soap/baseData.rb</div><div class='add'>+	  * lib/soap/element.rb</div><div class='add'>+	  * lib/soap/generator.rb</div><div class='add'>+	  * lib/soap/marshal.rb</div><div class='add'>+	  * lib/soap/netHttpClient.rb</div><div class='add'>+	  * lib/soap/parser.rb</div><div class='add'>+	  * lib/soap/processor.rb</div><div class='add'>+	  * lib/soap/property.rb</div><div class='add'>+	  * lib/soap/soap.rb</div><div class='add'>+	  * lib/soap/streamHandler.rb</div><div class='add'>+	  * lib/soap/wsdlDriver.rb</div><div class='add'>+	  * lib/soap/encodingstyle/handler.rb</div><div class='add'>+	  * lib/soap/encodingstyle/literalHandler.rb</div><div class='add'>+	  * lib/soap/encodingstyle/soapHandler.rb</div><div class='add'>+	  * lib/soap/mapping/factory.rb</div><div class='add'>+	  * lib/soap/mapping/mapping.rb</div><div class='add'>+	  * lib/soap/mapping/registry.rb</div><div class='add'>+	  * lib/soap/mapping/rubytypeFactory.rb</div><div class='add'>+	  * lib/soap/mapping/wsdlRegistry.rb</div><div class='add'>+	  * lib/soap/rpc/cgistub.rb</div><div class='add'>+	  * lib/soap/rpc/driver.rb</div><div class='add'>+	  * lib/soap/rpc/element.rb</div><div class='add'>+	  * lib/soap/rpc/proxy.rb</div><div class='add'>+	  * lib/soap/rpc/router.rb</div><div class='add'>+	  * lib/soap/rpc/soaplet.rb</div><div class='add'>+	  * lib/soap/rpc/standaloneServer.rb</div><div class='add'>+	  * lib/wsdl/data.rb</div><div class='add'>+	  * lib/wsdl/definitions.rb</div><div class='add'>+	  * lib/wsdl/operation.rb</div><div class='add'>+	  * lib/wsdl/parser.rb</div><div class='add'>+	  * lib/wsdl/soap/definitions.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/complexContent.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/complexType.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/data.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/parser.rb</div><div class='add'>+	  * lib/wsdl/xmlSchema/schema.rb</div><div class='add'>+	  * lib/xsd/datatypes.rb</div><div class='add'>+	  * lib/xsd/qname.rb</div><div class='add'>+	  * sample/soap/calc/httpd.rb</div><div class='add'>+	  * sample/soap/exchange/httpd.rb</div><div class='add'>+	  * sample/soap/sampleStruct/httpd.rb</div><div class='add'>+	  * sample/soap/sampleStruct/server.rb</div><div class='add'>+	  * sample/wsdl/amazon/AmazonSearch.rb</div><div class='add'>+	  * sample/wsdl/amazon/AmazonSearchDriver.rb</div><div class='add'>+	  * sample/wsdl/googleSearch/httpd.rb</div><div class='add'>+	  * test/soap/test_basetype.rb</div><div class='add'>+	  * test/soap/test_property.rb</div><div class='add'>+	  * test/soap/test_streamhandler.rb</div><div class='add'>+	  * test/soap/calc/test_calc.rb</div><div class='add'>+	  * test/soap/calc/test_calc2.rb</div><div class='add'>+	  * test/soap/calc/test_calc_cgi.rb</div><div class='add'>+	  * test/soap/helloworld/test_helloworld.rb</div><div class='add'>+	  * test/wsdl/test_emptycomplextype.rb</div><div class='add'>+	  * test/wsdl/axisArray/test_axisarray.rb</div><div class='add'>+	  * test/wsdl/datetime/test_datetime.rb</div><div class='add'>+	  * test/wsdl/raa/test_raa.rb</div><div class='add'>+	  * test/xsd/test_xmlschemaparser.rb</div><div class='add'>+	  * test/xsd/test_xsd.rb</div><div class='add'>+</div><div class='add'>+	* summary</div><div class='add'>+	  * add SOAP Header mustUnderstand support.</div><div class='add'>+</div><div class='add'>+	  * add HTTP client SSL configuration and Cookies support (works</div><div class='add'>+	    completely with http-access2).</div><div class='add'>+</div><div class='add'>+	  * add header handler for handling sending/receiving SOAP Header.</div><div class='add'>+</div><div class='add'>+	  * map Ruby's anonymous Struct to common SOAP Struct in SOAP Object</div><div class='add'>+	    Model.  it caused error.</div><div class='add'>+</div><div class='add'>+	  * add WSDL simpleType support to restrict lexical value space.</div><div class='add'>+</div><div class='add'>+	  * add SOAP with Attachment support.</div><div class='add'>+</div><div class='add'>+Sat Jul  3 17:19:44 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkextlib/tkDND.rb: fix syntax error.</div><div class='add'>+</div><div class='add'>+Thu Jul  1 23:15:29 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb (transaction): safer backup scheme.  [ruby-list:39102]</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb (commit_new): use FileUtils.copy_stream for Cygwin.</div><div class='add'>+	  [ruby-dev:23157]</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb (transaction): allow overriding dump and load.</div><div class='add'>+	  [ruby-dev:23567]</div><div class='add'>+</div><div class='add'>+	* lib/pstore.rb (PStore#transaction): get rid of opening in write mode</div><div class='add'>+	  when read only transaction.  [ruby-dev:23842]</div><div class='add'>+</div><div class='add'>+	* lib/yaml/store.rb: follow lib/pstore.rb's change.</div><div class='add'>+</div><div class='add'>+Thu Jul  1 18:36:08 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tcltklib : bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries</div><div class='add'>+</div><div class='add'>+Thu Jul  1 11:59:45 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: check for EVP_CIPHER_CTX_copy, ENGINE_add,</div><div class='add'>+	  EVP_CIPHER_CTX_set_padding, EVP_CipherFinal_ex, EVP_CipherInit_ex,</div><div class='add'>+	  EVP_DigestFinal_ex and EVP_DigestInit_ex.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl_missing.c (EVP_CIPHER_CTX_copy): new function.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl_missing.h (EVP_DigestInit_ex, EVP_DigestFinal_ex,</div><div class='add'>+	  EVP_CipherInit_ex, EVP_CipherFinal_ex, HMAC_Init_ex): new macro for</div><div class='add'>+	  OpenSSL 0.9.6.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_cipher_encrypt, ossl_cipher_decrypt):</div><div class='add'>+	  re-implemnt (the arguments for this method is ).</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_cipher_pkcs5_keyivgen): new method</div><div class='add'>+	  OpenSSL::Cipher::Cipher#pkcs5_keyivgen. it calls EVP_BytesToKey().</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_cipher_alloc, ossl_cipher_initialize,</div><div class='add'>+	  ossl_cipher_copy, ossl_cipher_reset ossl_cipher_final,</div><div class='add'>+	  ossl_cipher_set_key, ossl_cipher_set_iv): replace all EVP_CipherInit</div><div class='add'>+	  and EVP_CipherFinal into EVP_CipherInit_ex and EVP_CipherFinal_ex.</div><div class='add'>+	  and EVP_CIPHER_CTX_init should only be called once.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_cipher_set_key_length): new method</div><div class='add'>+	  OpenSSL::Cipher::Cipher#key_len=.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c (ossl_cipher_init_deprecated): new</div><div class='add'>+	  finction; print warning for Cipher#&lt;&lt;.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_digest.c: replace all EVP_DigestInit and</div><div class='add'>+	  EVP_DigestFinal into EVP_DigestInit_ex and EVP_DigestFinal_ex.</div><div class='add'>+	  and EVP_MD_CTX_init should only be called once.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_digest.c (digest_final): should call</div><div class='add'>+	  EVP_MD_CTX_cleanup to avoid memory leak.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_hmac.c (ossl_hmac_initialize): repalce HMAC_init</div><div class='add'>+	  into HMAC_init_ex. and HMAC_CTX_init is moved to ossl_hmac_alloc.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_hmac.c (hmac_final): should call</div><div class='add'>+	  HMAC_CTX_cleanup to avoid memory leak.</div><div class='add'>+</div><div class='add'>+	* test/openssl/test_cipher.rb, test/openssl/test_digest.rb,</div><div class='add'>+	  test/openssl/test_hmac.rb: new file.</div><div class='add'>+</div><div class='add'>+Thu Jul  1 04:08:30 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_i2d_ASN1_TYPE, ossl_ASN1_TYPE_free):</div><div class='add'>+	  workaround for the versions earlier than OpenSSL-0.9.7.</div><div class='add'>+</div><div class='add'>+Thu Jul  1 03:33:55 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): should create</div><div class='add'>+	  empty pkey object if no argument is passed. [ruby-talk:103328]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dh.c: add new methods: OpenSSL::PKey::DH#p,</div><div class='add'>+	  OpenSSL::PKey::DH#p=, OpenSSL::PKey::DH#g, OpenSSL::PKey::DH#g=,</div><div class='add'>+	  OpenSSL::PKey::DH#pub_key, OpenSSL::PKey::DH#pub_key=,</div><div class='add'>+	  OpenSSL::PKey::DH#priv_key and OpenSSL::PKey::DH#priv_key=.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dsa.c: add new methods: OpenSSL::PKey::DSA#p,</div><div class='add'>+	  OpenSSL::PKey::DSA#p=, OpenSSL::PKey::DSA#q, OpenSSL::PKey::DSA#q=,</div><div class='add'>+	  OpenSSL::PKey::DSA#g, OpenSSL::PKey::DSA#g=,</div><div class='add'>+	  OpenSSL::PKey::DSA#pub_key, OpenSSL::PKey::DSA#pub_key=,</div><div class='add'>+	  OpenSSL::PKey::DSA#priv_key and OpenSSL::PKey::DSA#priv_key=.</div><div class='add'>+</div><div class='add'>+Thu Jul  1 03:16:09 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_read): take optional second argument</div><div class='add'>+	  to specify a string to be written.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#read):</div><div class='add'>+	  take optional second argument to specify a string to be written.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#gets):</div><div class='add'>+	  refine regexp for end-of-line.</div><div class='add'>+</div><div class='add'>+	* ext/opnessl/lib/openssl/ssl.rb</div><div class='add'>+	  (OpenSSL::SSL::SocketForwarder#listen): fix typo.</div><div class='add'>+</div><div class='add'>+Wed Jun 30 11:38:51 2004  Mikael Brockman  &lt;phubuh@phubuh.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (primary): should not be NULL.  [ruby-core:03098]</div><div class='add'>+</div><div class='add'>+Wed Jun 30 02:53:24 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_emitter_new): set buffer after</div><div class='add'>+	  Data_Wrap_Struct to avoid possible GC. [ruby-talk:104835]</div><div class='add'>+</div><div class='add'>+Tue Jun 29 10:31:19 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.</div><div class='add'>+</div><div class='add'>+	* gc.c (define_final, run_final): preserve and restore safe level for</div><div class='add'>+	  finalizers.  [ruby-core:03058]</div><div class='add'>+</div><div class='add'>+	* signal.c (signal_exec, rb_trap_exit, trap): preserve and restore</div><div class='add'>+	  safe level for signal handlers.  [ruby-dev:23829]</div><div class='add'>+</div><div class='add'>+Mon Jun 28 14:57:56 2004  Jeff Mitchell  &lt;quixoticsycophant@yahoo.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to</div><div class='add'>+	  DOSISH compilers.  [ruby-core:03107]</div><div class='add'>+</div><div class='add'>+Mon Jun 28 00:30:19 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* sample/drb/*.rb: using 'DRb.thread.join' instead of 'gets'</div><div class='add'>+</div><div class='add'>+Sun Jun 27 22:39:51 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/rss/tdiary_plugin/rss-recent.rb: supported Hiki.</div><div class='add'>+</div><div class='add'>+Sun Jun 27 12:19:46 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='add'>+</div><div class='add'>+	* {lib,sample,test}/rss: added RSS Parser. [ruby-dev:23780]</div><div class='add'>+</div><div class='add'>+Sat Jun 26 11:07:30 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (aix): -b must come at the start of the command line,</div><div class='add'>+	  and -e must not appear while testing libraries.  [ruby-talk:104501]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (dir_config): quote directory names if necessary.</div><div class='add'>+	  [ruby-talk:104505]</div><div class='add'>+</div><div class='add'>+Fri Jun 25 15:33:19 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/extconf.rb: check stricter.  [ruby-talk:104501]</div><div class='add'>+</div><div class='add'>+	* ext/iconv/extconf.rb: include iconv.h for libiconv.  [ruby-dev:22715]</div><div class='add'>+</div><div class='add'>+Fri Jun 25 08:31:29 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_atfork): remove "fork terminates thread"</div><div class='add'>+	  warning.  [ruby-dev:23768]</div><div class='add'>+</div><div class='add'>+	* object.c (rb_obj_clone): backport FL_FINALIZE patch from 1.9.</div><div class='add'>+	  [ruby-core:02786][ruby-core:03067]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_sockaddr): Socket#gethostbyname()</div><div class='add'>+	  should give us packed address, not struct sockaddr.</div><div class='add'>+	  [ruby-core:03053]</div><div class='add'>+</div><div class='add'>+Fri Jun 25 02:04:23 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/setup.mak: remove RUBY_EXTERN lines when</div><div class='add'>+	  including version.h. [ruby-talk:104456] (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Thu Jun 24 14:23:29 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_fread): return already read data when system call is</div><div class='add'>+	  interrupted.  [ruby-talk:97206]</div><div class='add'>+</div><div class='add'>+Thu Jun 24 01:32:43 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* version.h: added declarations of ruby_version,</div><div class='add'>+	  ruby_release_date, ruby_platform.</div><div class='add'>+	  (backported from HEAD)</div><div class='add'>+</div><div class='add'>+Wed Jun 23 22:23:37 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_gethostbyaddr): Work around problem</div><div class='add'>+	  with OS X not returning 'from' parameter to recvfrom for</div><div class='add'>+	  connection-oriented sockets.</div><div class='add'>+</div><div class='add'>+Wed Jun 23 01:45:27 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_quotation):</div><div class='add'>+	  Fix problem with the 'r' being dropped from %r{xxx}</div><div class='add'>+</div><div class='add'>+Wed Jun 23 00:20:20 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing</div><div class='add'>+	  CRs and LFs. (doesn't depend on CR+LF) [ruby-dev:23749]</div><div class='add'>+</div><div class='add'>+Wed Jun 23 00:00:25 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_initialize): should check fcntl result.  [ruby-dev:23742]</div><div class='add'>+</div><div class='add'>+Tue Jun 22 21:11:36 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (OLE_FREE): should not call CoFreeUnuse-</div><div class='add'>+	  dLibraries().</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_event_free): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_hresult2msg): truncate error message</div><div class='add'>+	  before CR.</div><div class='add'>+</div><div class='add'>+Tue Jun 22 16:47:42 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/ftp.rb (MDTM_REGEXP): fix for demon's ftp server.</div><div class='add'>+	Thanks, Rutger Nijlunsing.</div><div class='add'>+</div><div class='add'>+Mon Jun 21 10:19:23 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_opendir): use FindFirstFile()/FindNextFile()/</div><div class='add'>+	  FindClose() instead of _findfirst()/_findnext()/_findclose().</div><div class='add'>+	  merge from HEAD.</div><div class='add'>+</div><div class='add'>+Sat Jun 19 13:24:15 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (method_call): allow changing $SAFE.  [ruby-dev:23713]</div><div class='add'>+</div><div class='add'>+Fri Jun 18 23:12:22 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limit</div><div class='add'>+	  safe level.</div><div class='add'>+</div><div class='add'>+Wed Jun 16 23:05:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_freeze): prepare string representation before</div><div class='add'>+	  freezing. [ruby-talk:103646]</div><div class='add'>+</div><div class='add'>+Wed Jun 16 16:04:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_mod_le): singleton class inherits Class rather than its</div><div class='add'>+	  object's class.  [ruby-dev:23690]</div><div class='add'>+</div><div class='add'>+Wed Jun 16 16:01:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (stack_grow_direction): memoize the direction.</div><div class='add'>+</div><div class='add'>+	* gc.c (Init_stack): should always move to end of VALUE.</div><div class='add'>+</div><div class='add'>+Tue Jun 15 12:10:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix (TkWindow#grab)</div><div class='add'>+</div><div class='add'>+Mon Jun 14 18:23:27 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: bug fix</div><div class='add'>+</div><div class='add'>+Sun Jun 13 00:23:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) support</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix thread trouble on callback proc, and</div><div class='add'>+	  eliminate warning about instance variable access</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menubar.rb: improve supported menu_spec</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/menuspec.rb: [add] menu_spec support library</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/root.rb: add menu_spec support</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/text.rb: bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/toplevel.rb: add menu_spec support</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/menubar?.rb: [add] sample of menu_spec usage</div><div class='add'>+</div><div class='add'>+Sat Jun 12 11:15:53 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (target_os): strip -gnu suffix on Linux.</div><div class='add'>+</div><div class='add'>+Fri Jun 11 17:08:21 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* config.guess: Restore a wrongly removed hyphen.</div><div class='add'>+</div><div class='add'>+Fri Jun 11 14:30:08 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* config.guess: Attempt to avoid system name change on</div><div class='add'>+	  Darwin platforms also.</div><div class='add'>+</div><div class='add'>+Fri Jun 11 14:22:45 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* config.guess, config.sub: Attempt to avoid system name change on</div><div class='add'>+	  Linux platforms.  We have been using "linux" instead of</div><div class='add'>+	  "linux-gnu" on this branch.</div><div class='add'>+</div><div class='add'>+Thu Jun 10 19:19:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/sdbm/init.c (fsdbm_store): sdbm should use StringValue().</div><div class='add'>+	  [ruby-talk:103062]</div><div class='add'>+</div><div class='add'>+Wed Jun  9 18:04:14 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic::merge,</div><div class='add'>+	  URI::Generic::route_from): accepts non-hierarchical URI.</div><div class='add'>+	  [ruby-dev:23631]</div><div class='add'>+</div><div class='add'>+	* test/uri/test_generic.rb (TestGeneric::test_route,</div><div class='add'>+	  TestGeneric::test_merge): added tests for above changes.</div><div class='add'>+</div><div class='add'>+Wed Jun  9 17:39:37 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* config.guess, config.sub: Update to a more recent version as of</div><div class='add'>+	  2004-01-20.</div><div class='add'>+</div><div class='add'>+	* configure.in: Add support for DragonFly BSD.</div><div class='add'>+</div><div class='add'>+Wed Jun  2 20:16:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_new4): should share shared instance if it already</div><div class='add'>+	  exists.  [ruby-dev:23665]</div><div class='add'>+</div><div class='add'>+Wed Jun  2 12:41:53 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_gets_m): set lastline ($_) even when read line is</div><div class='add'>+	  nil.  [ruby-dev:23663]</div><div class='add'>+</div><div class='add'>+Fri May 28 11:20:31 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): bad influence on frame node.</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): reverted wrongly removed condition.  [ruby-dev:23638]</div><div class='add'>+</div><div class='add'>+Thu May 27 23:15:18 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: leading 0 padding of timestamp usec part.</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb (CSV.parse): [CAUTION] behavior changed.  in the past,</div><div class='add'>+	  CSV.parse accepts a filename to be read-opened (it was just a</div><div class='add'>+	  shortcut of CSV.open(filename, 'r')).  now CSV.parse accepts a</div><div class='add'>+	  string or a stream to be parsed e.g.</div><div class='add'>+	  CSV.parse("1,2\n3,r") #=&gt; [['1', '2'], ['3', '4']]</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: CSV::Row and CSV::Cell are deprecated.  these classes</div><div class='add'>+	  are removed in the future.  in the new csv.rb, row is represented</div><div class='add'>+	  as just an Array.  since CSV::Row was a subclass of Array, it won't</div><div class='add'>+	  hurt almost all programs except one which depended CSV::Row#match.</div><div class='add'>+	  and a cell is represented as just a String or nil(NULL).  this</div><div class='add'>+	  change will cause widespread destruction.</div><div class='add'>+</div><div class='add'>+	      CSV.open("foo.csv", "r") do |row|</div><div class='add'>+		row.each do |cell|</div><div class='add'>+		  if cell.is_null       # using Cell#is_null</div><div class='add'>+		    p "(NULL)"</div><div class='add'>+		  else</div><div class='add'>+		    p cell.data         # using Cell#data</div><div class='add'>+		  end</div><div class='add'>+		end</div><div class='add'>+	      end</div><div class='add'>+</div><div class='add'>+	    must be just;</div><div class='add'>+</div><div class='add'>+	      CSV.open("foo.csv", "r") do |row|</div><div class='add'>+		row.each do |cell|</div><div class='add'>+		  if cell.nil?</div><div class='add'>+		    p "(NULL)"</div><div class='add'>+		  else</div><div class='add'>+		    p cell</div><div class='add'>+		  end</div><div class='add'>+		end</div><div class='add'>+	      end</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: [CAUTION] record separator(CR, LF, CR+LF) behavior</div><div class='add'>+	  change.  CSV.open, CSV.parse, and CSV,generate now do not force</div><div class='add'>+	  opened file binmode.  formerly it set binmode explicitly.</div><div class='add'>+</div><div class='add'>+	  with CSV.open, binmode of opened file depends the given mode</div><div class='add'>+	  parameter "r", "w", "rb", and "wb".  CSV.parse and CSV.generate open</div><div class='add'>+	  file with "r" and "w".</div><div class='add'>+</div><div class='add'>+	  setting mode properly is user's responsibility now.</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: accepts String as a fs (field separator/column separator)</div><div class='add'>+	  and rs (record separator/row separator)</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb (CSV.read, CSV.readlines): added.  works as IO.read and</div><div class='add'>+	  IO.readlines in CSV format.</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: added CSV.foreach(path, rs = nil, &amp;block).  CSV.foreach</div><div class='add'>+	  now does not handle "| cmd" as a path different from IO.foreach.</div><div class='add'>+	  needed?</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: updated.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_float.rb: added test_strtod to test Float("0").</div><div class='add'>+</div><div class='add'>+Thu May 27 21:37:50 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#initialize): refine pathname initialization</div><div class='add'>+	  by pathname.</div><div class='add'>+</div><div class='add'>+Thu May 27 20:22:05 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_fwrite): check all case errno != 0 [ruby-dev:23648]</div><div class='add'>+</div><div class='add'>+Thu May 27 14:53:13 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_fwrite): workaround for bcc32's fwrite bug.</div><div class='add'>+	  add errno checking.  [ruby-dev:23627]</div><div class='add'>+</div><div class='add'>+Wed May 26 14:19:42 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval, eval): make line number consistent on eval with</div><div class='add'>+	  Proc.  [ruby-talk:101253]</div><div class='add'>+</div><div class='add'>+Wed May 26 13:59:17 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::skip_for_variable): Allow for</div><div class='add'>+	  'do' after for statement</div><div class='add'>+</div><div class='add'>+Wed May 26 13:56:03 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb (Generators::MarkUp::style_url): Fix</div><div class='add'>+	  relative path to code CSS file</div><div class='add'>+</div><div class='add'>+Wed May 26 13:14:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_init_copy): copy also positions.  [ruby-talk:100910]</div><div class='add'>+</div><div class='add'>+Wed May 26 00:00:00 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c (syck_new_parser): clear parser on init.</div><div class='add'>+	  thanks, ts. [ruby-core:02931]</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c (sycklex_yaml_utf8): buffer underflow.</div><div class='add'>+	  thanks, ts. [ruby-core:02929]</div><div class='add'>+</div><div class='add'>+	* lib/yaml/baseemitter.rb (indent_text): simpler flow block code.</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb: added rdoc to beginning of lib.</div><div class='add'>+</div><div class='add'>+Mon May 24 10:46:26 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/html/html.rb: SYSTEM identifiers</div><div class='add'>+	  must be absolute URIs</div><div class='add'>+</div><div class='add'>+Sat May 22 12:00:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add new encodings in rexml.</div><div class='add'>+</div><div class='add'>+	* ext/tk/MANIFEST: add recent files.</div><div class='add'>+</div><div class='add'>+Sat May 22 05:37:11 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/remote-tk.rb: (NEW library) controll Tk interpreters</div><div class='add'>+	  on the other processes by Tcl/Tk's 'send' command</div><div class='add'>+</div><div class='add'>+Fri May 21 09:22:05 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_parameters):</div><div class='add'>+	  Add ()'s around parameters that don't have them</div><div class='add'>+</div><div class='add'>+Thu May 20 17:02:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (check_sizeof): define result size.  [ruby-core:02911]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_header): macro name should not include equal</div><div class='add'>+	  sign.</div><div class='add'>+</div><div class='add'>+Thu May 20 15:59:50 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: fix SEGV. [ruby-dev:23550]</div><div class='add'>+</div><div class='add'>+Thu May 20 14:35:52 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: check SCM_RIGHTS macro addition to</div><div class='add'>+	  the msg_control field to test existence of file descriptor passing</div><div class='add'>+	  by msg_control.</div><div class='add'>+</div><div class='add'>+Thu May 20 12:38:06 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_eq): always check if operands are NaN.</div><div class='add'>+	  [ruby-list:39685]</div><div class='add'>+</div><div class='add'>+Thu May 20 12:34:39 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_visibility):</div><div class='add'>+	  At Ryan Davis' suggestion, honor visibility modifers if guarded by a</div><div class='add'>+	  statement modifier</div><div class='add'>+</div><div class='add'>+Thu May 20 12:22:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_type): do not check pointer to incomplete type,</div><div class='add'>+	  which always get compiled.  [ruby-list:39683]</div><div class='add'>+</div><div class='add'>+Wed May 19 11:09:00 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: change permition of TkObject#tk_send from</div><div class='add'>+	  private to public</div><div class='add'>+</div><div class='add'>+Tue May 18 14:00:46 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* node.h (NEW_DSTR): adjust list length.</div><div class='add'>+</div><div class='add'>+	* parse.y (literal_concat): ditto.</div><div class='add'>+</div><div class='add'>+Mon May 17 16:14:25 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_to_s): it's preferable that "p 0.0" outputs "0.0"</div><div class='add'>+	  instead of "0.0e+00". [ruby-dev:23480]</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_to_s): it's preferable that "p 0.00000000000000000001"</div><div class='add'>+	  outputs "1.0e-20" instead of "9.999999999999999e-21". (the precision</div><div class='add'>+	  is considered, but there is assumption DBL_DIG == 15 in current</div><div class='add'>+	  implementation)</div><div class='add'>+</div><div class='add'>+Mon May 17 10:13:33 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (setup_domain_and_type): honor duck typing.</div><div class='add'>+	  [ruby-dev:23522]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_getnameinfo): ditto.</div><div class='add'>+</div><div class='add'>+Mon May 17 01:15:23 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb: removed fallback to pure Ruby parser.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/baseemitter.rb (indent_text): was forcing a mod value</div><div class='add'>+	  of zero at times, which kept some blocks from getting indentation.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/baseemitter.rb (node_text): rewriting folded scalars.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: reports style of scalars now, be they plain, block</div><div class='add'>+	  single-, or double-quoted.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/gram.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/node.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (yaml_org_handler): symbols loaded only</div><div class='add'>+	  if scalar style is plain.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (yaml_org_handler): some empty strings were</div><div class='add'>+	  loaded as symbols.</div><div class='add'>+</div><div class='add'>+	* test/yaml/test_yaml.rb (test_perl_regexp): updated test to</div><div class='add'>+	  match new regexp serialization.</div><div class='add'>+</div><div class='add'>+Mon May 17 00:03:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: Cosmetic documentation changes.</div><div class='add'>+</div><div class='add'>+Sun May 16 22:36:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: Removed :nodoc: directive (it prevented effective</div><div class='add'>+	  RDoc operation), and added file-level comment.</div><div class='add'>+</div><div class='add'>+Sun May 16 20:55:49 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dbm/dbm.c (fdbm_initialize): accept optional 3rd argument to</div><div class='add'>+	  specify an open flag.</div><div class='add'>+	  (Init_dbm): define open flags: DBM::READER, DBM::WRITER, DBM::WRCREAT</div><div class='add'>+	  and DBM::NEWDB.</div><div class='add'>+</div><div class='add'>+Sun May 16 13:10:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/**/*.rb: Removed :nodoc: directives (many were</div><div class='add'>+	  generating warnings, many were on private methods).</div><div class='add'>+</div><div class='add'>+Sat May 15 01:41:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): forgot to restore $SAFE value before evaluating</div><div class='add'>+	  compiled node.  [ruby-core:02872]</div><div class='add'>+</div><div class='add'>+Sat May 15 01:33:12 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* range.c (range_each_func): terminates loop if generating value</div><div class='add'>+	  is same to @end.  [ruby-talk:100269]</div><div class='add'>+</div><div class='add'>+Fri May 14 22:08:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_new4): should not reuse frozen shared string if</div><div class='add'>+	  the original is not an instance of String. [ruby-talk:100193]</div><div class='add'>+</div><div class='add'>+Fri May 14 18:39:25 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/canvas.rb: improve coords support for canvas items.</div><div class='add'>+	  Now, supports all of the followings.</div><div class='add'>+	    TkcLine.new(c, 0, 0, 100, 100, :fill=&gt;'red')</div><div class='add'>+	    TkcLine.new(c, [0, 0, 100, 100], :fill=&gt;'red')</div><div class='add'>+	    TkcLine.new(c, [0, 0], [100, 100], :fill=&gt;'red')</div><div class='add'>+	    TkcLine.new(c, [[0, 0], [100, 100]], :fill=&gt;'red')</div><div class='add'>+	    TkcLine.new(c, :coords=&gt;[0, 0, 100, 100], :fill=&gt;'red')</div><div class='add'>+	    TkcLine.new(c, :coords=&gt;[[0, 0], [100, 100]], :fill=&gt;'red')</div><div class='add'>+</div><div class='add'>+Fri May 14 12:11:43 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): strtod("0", &amp;end); =&gt; end should point '\0'.</div><div class='add'>+	 [ruby-dev:23498]</div><div class='add'>+</div><div class='add'>+Thu May 13 15:47:30 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/telnet.rb (Net::Telnet::login): "options" can specify</div><div class='add'>+	  regexps for login prompt and/or password prompt.</div><div class='add'>+</div><div class='add'>+Thu May 13 14:23:45 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (delete_if_i): use st_delete_safe() (via</div><div class='add'>+	  rb_hash_delete()) instead of returning ST_DELETE.</div><div class='add'>+	  backport from HEAD.  [ruby-dev:23487]</div><div class='add'>+</div><div class='add'>+Thu May 13 13:01:30 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/mailto.rb (URI::MailTo::to_s): should include fragment.</div><div class='add'>+</div><div class='add'>+Thu May 13 11:04:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): always add with null for 'Z'.</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): terminated by null for 'Z'.  [ruby-talk:98281]</div><div class='add'>+</div><div class='add'>+Wed May 12 19:59:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_type, check_sizeof): replace unusable characters.</div><div class='add'>+	  [ruby-talk:99788]</div><div class='add'>+</div><div class='add'>+Wed May 12 17:41:42 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb (Resolv::DNS::Config): make it configurable without</div><div class='add'>+	  external file such as /etc/resolv.conf.</div><div class='add'>+</div><div class='add'>+Wed May 12 14:37:27 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c: attribute value of DC (short name of</div><div class='add'>+	  domainComponent) should be IA5String.</div><div class='add'>+</div><div class='add'>+Wed May 12 13:20:19 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk/composite.rb: improve configure methods (based on</div><div class='add'>+	  the proposal of [ruby-talk:99671]).</div><div class='add'>+</div><div class='add'>+Wed May 12 11:51:08 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* class.c (rb_obj_singleton_methods): fix rdoc</div><div class='add'>+</div><div class='add'>+Mon May 10 21:44:42 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Change scheme for</div><div class='add'>+	  looking up symbols in  HTML generator.</div><div class='add'>+</div><div class='add'>+Mon May 10 16:45:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): warning during eval should not cause deadlock.</div><div class='add'>+	  [ruby-talk:98651]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): raise TypeError exception for superclass</div><div class='add'>+	  mismatch.  [ruby-list:39567]</div><div class='add'>+</div><div class='add'>+Mon May 10 12:11:37 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Hack to search parents</div><div class='add'>+	  for unqualified constant names.</div><div class='add'>+</div><div class='add'>+Mon May 10 12:11:37 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Hack to search parents</div><div class='add'>+	  for unqualified constant names.</div><div class='add'>+</div><div class='add'>+Sun May  9 22:37:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/ftp.rb: improved documentation</div><div class='add'>+	* lib/net/imap.rb: ditto</div><div class='add'>+	* lib/net/pop.rb: ditto</div><div class='add'>+	* lib/net/smtp.rb: ditto</div><div class='add'>+	* lib/net/telnet.rb: ditto</div><div class='add'>+</div><div class='add'>+Fri May  7 21:50:21 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::parse_include): Allow</div><div class='add'>+	  multiple arguments to 'include'</div><div class='add'>+</div><div class='add'>+Fri May  7 21:31:56 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_list): Array() breaks pathes including "\n".</div><div class='add'>+	  [ruby-core:02843]</div><div class='add'>+</div><div class='add'>+Fri May  7 11:25:53 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): "0.0000000000000000001" should be converted</div><div class='add'>+	  to 1.0e-19 instead of 0.0. (leading zeros aren't significant digits)</div><div class='add'>+	  [ruby-talk:99318] [ruby-dev:23465]</div><div class='add'>+</div><div class='add'>+Fri May  7 10:00:05 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]</div><div class='add'>+</div><div class='add'>+Thu May  6 22:13:17 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ippaddr): use NUMERICHOST if can not resolve</div><div class='add'>+	  hostname.</div><div class='add'>+</div><div class='add'>+Thu May  6 14:22:29 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (to_yaml): added instance variable handling</div><div class='add'>+	  for Ranges, Strings, Structs, Regexps.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (to_yaml_fold): new method for setting a</div><div class='add'>+	  String's flow style.</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb (YAML::object_maker): now uses Object.allocate.</div><div class='add'>+</div><div class='add'>+	* ext/syck/gram.c: fixed transfer methods on structs, broke it</div><div class='add'>+	  last commit.</div><div class='add'>+</div><div class='add'>+Thu May  6 11:40:28 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (string): accept NIL.</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (body_type_basic): allow body-fields omissions.</div><div class='add'>+</div><div class='add'>+Thu May  6 01:59:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb (Generators::HtmlMethod::params):</div><div class='add'>+	  Don't include the &amp;block parameter if we have explicit</div><div class='add'>+	  yield parameters.</div><div class='add'>+</div><div class='add'>+Wed May  5 03:40:29 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/ring.rb: use recv instead of recvfrom.</div><div class='add'>+</div><div class='add'>+Tue May  4 23:52:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/gserver.rb: documented</div><div class='add'>+</div><div class='add'>+Tue May  4 23:46:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xmlrpc/README.txt: introduced for documentation purposes</div><div class='add'>+</div><div class='add'>+Mon May  3 09:47:24 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):</div><div class='add'>+	  Fix parsing bug if yield called within 1 line block</div><div class='add'>+</div><div class='add'>+Sun May  2 01:04:38 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib, ext/tk: renewal Ruby/Tk</div><div class='add'>+</div><div class='add'>+Fri Apr 30 20:08:41 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (SIZEOF_TIME_T): support SIZEOF_TIME_T == SIZEOF_INT.</div><div class='add'>+</div><div class='add'>+Tue Apr 27 13:12:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): too many line trace call. (ruby-bugs PR#1320)</div><div class='add'>+</div><div class='add'>+Tue Apr 27 08:41:28 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: passing Range tests.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: version 0.44.</div><div class='add'>+</div><div class='add'>+	* ext/syck/gram.c: transfers no longer open an indentation.</div><div class='add'>+	  fixed transfers which precede blocks.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c: fixed segfault if an anchor has been released already.</div><div class='add'>+</div><div class='add'>+	* ext/syck/node.c (syck_free_members): organized order of free'd nodes.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with</div><div class='add'>+	  StringValue.</div><div class='add'>+</div><div class='add'>+Mon Apr 26 23:56:54 2004  Daniel Kelley  &lt;news-1082945587@dkelley.gmp.san-jose.ca.us&gt;</div><div class='add'>+</div><div class='add'>+	* README.EXT, README.EXT.ja: fixed wrong function signature.</div><div class='add'>+	  [ruby-talk:98349]</div><div class='add'>+</div><div class='add'>+Mon Apr 26 21:40:09 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::Context::add_alias): Only alias</div><div class='add'>+	  to instance methods.</div><div class='add'>+</div><div class='add'>+Sat Apr 24 10:38:31 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::group_lines):</div><div class='add'>+	  Fix bug where consecutive headings are merged.</div><div class='add'>+</div><div class='add'>+Fri Apr 23 23:26:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: $hdrdir should not contain macros for backward</div><div class='add'>+	  compatibility.  [bruby-dev:28]</div><div class='add'>+</div><div class='add'>+	* version.c (ruby_show_copyright): obtain copyright year from</div><div class='add'>+	  RUBY_RELEASE_YEAR.</div><div class='add'>+</div><div class='add'>+	* win32/resource.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* win32/resource.rb: default rubyw icon to ruby.ico, and let DLL also</div><div class='add'>+	  include them.</div><div class='add'>+</div><div class='add'>+	* win32/resource.rb: include winver.h for older WindowsCE.</div><div class='add'>+</div><div class='add'>+Fri Apr 23 16:38:46 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb: sync taint/freeze flag between</div><div class='add'>+	  a pathname object and its internal string object.</div><div class='add'>+</div><div class='add'>+Fri Apr 23 14:52:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (stmt, arg, aref_args): should not make sole splat into</div><div class='add'>+	  array, in aref_args other than aref with op_asgn.</div><div class='add'>+</div><div class='add'>+Fri Apr 23 14:14:38 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv.rb: don't use Regexp#source to embed regexps.</div><div class='add'>+	  [ruby-dev:23432]</div><div class='add'>+</div><div class='add'>+Thu Apr 22 04:15:36 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (aref_args): should pass expanded list.  [ruby-core:02793]</div><div class='add'>+</div><div class='add'>+Thu Apr 22 01:12:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_to_s): tweak output string based to preserve</div><div class='add'>+	  decimal point and to remove trailing zeros.  [ruby-talk:97891]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM</div><div class='add'>+	  search.  [ruby-talk:97342]</div><div class='add'>+</div><div class='add'>+Wed Apr 21 22:57:27 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/rinda.rb, test/rinda/test_rinda.rb: check Hash tuple size.</div><div class='add'>+</div><div class='add'>+Wed Apr 21 20:05:00 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.</div><div class='add'>+	  [ruby-list:39542]</div><div class='add'>+</div><div class='add'>+Mon Apr 19 18:11:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_equal): returns true if two hashes have same set</div><div class='add'>+	  of key-value set.  [ruby-talk:97559]</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_eql): returns true if two hashes are equal and</div><div class='add'>+	  have same default values.</div><div class='add'>+</div><div class='add'>+Mon Apr 19 08:19:58 2004  Doug Kearns  &lt;djkea2@mugca.its.monash.edu.au&gt;</div><div class='add'>+</div><div class='add'>+	* dln.c, io.c, lib/benchmark.rb, lib/cgi.rb, lib/csv.rb, lib/date.rb,</div><div class='add'>+	  lib/ftools.rb, lib/getoptlong.rb, lib/logger.rb, lib/matrix.rb,</div><div class='add'>+	  lib/monitor.rb, lib/set.rb, lib/thwait.rb, lib/timeout.rb,</div><div class='add'>+	  lib/yaml.rb, lib/drb/drb.rb, lib/irb/workspace.rb, lib/net/ftp.rb,</div><div class='add'>+	  lib/net/http.rb, lib/net/imap.rb, lib/net/telnet.rb,</div><div class='add'>+	  lib/racc/parser.rb, lib/rinda/rinda.rb, lib/rinda/tuplespace.rb,</div><div class='add'>+	  lib/shell/command-processor.rb, lib/soap/rpc/soaplet.rb,</div><div class='add'>+	  lib/test/unit/testcase.rb, lib/test/unit/testsuite.rb: typo fix.</div><div class='add'>+</div><div class='add'>+Mon Apr 19 08:14:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Allow for</div><div class='add'>+	  #ifdef HAVE_PROTOTYPES</div><div class='add'>+</div><div class='add'>+Fri Apr 16 22:33:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c: nearly finished RDoc comments.</div><div class='add'>+</div><div class='add'>+Fri Apr 16 17:04:07 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_equal): always returns true or false, never</div><div class='add'>+	  returns nil. [ruby-dev:23404]</div><div class='add'>+</div><div class='add'>+Fri Apr 16 08:27:02 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: skip linking when libraries to be preloaded not</div><div class='add'>+	  compiled.  [ruby-list:39561]</div><div class='add'>+</div><div class='add'>+Thu Apr 15 23:21:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (pst_success_p): new method Process::Status#success?.</div><div class='add'>+	  [ruby-dev:23385]</div><div class='add'>+</div><div class='add'>+Thu Apr 15 17:12:13 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/gdbm/gdbm.c (Init_gdbm): define GDBM::READER, GDBM::WRITER,</div><div class='add'>+	  GDBM::WRCREAT and GDBM::NEWDB.</div><div class='add'>+	  (fgdbm_initialize): use specified read/write flag.</div><div class='add'>+</div><div class='add'>+Wed Apr 14 11:29:56 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (flo_eq): workaround for bcc32's bug.</div><div class='add'>+	  (ruby-bugs-ja:PR#594)</div><div class='add'>+</div><div class='add'>+Wed Apr 14 13:06:35 2004  Doug Kearns  &lt;djkea2@mugca.its.monash.edu.au&gt;</div><div class='add'>+</div><div class='add'>+	* array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,</div><div class='add'>+	  process.c, re.c, string.c: typos in RDoc comments.  [ruby-core:02783]</div><div class='add'>+</div><div class='add'>+Wed Apr 14 11:06:38 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::scan): Changed</div><div class='add'>+	  behavior of :enddoc: -- it now unconditionally terminates</div><div class='add'>+	  processing of the current file.</div><div class='add'>+</div><div class='add'>+Wed Apr 14 11:03:22 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h: include &lt;net/socket.h&gt; to get fd_set definition in BeOS.</div><div class='add'>+</div><div class='add'>+Tue Apr 13 23:06:30 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/rinda.rb: change pattern matching.</div><div class='add'>+	  a === b -&gt; a == b || a === b. [druby-ja:98]</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Apr 13 19:54:29 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: should not overwrite HTTP request header.</div><div class='add'>+	  [ruby-list:39543]</div><div class='add'>+</div><div class='add'>+Tue Apr 13 01:30:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c: RDoc documentation (from RD; nearly finished).</div><div class='add'>+	* ext/iconv/charset_alias.rb: Prevent from RDoc'ing.</div><div class='add'>+</div><div class='add'>+Mon Apr 12 19:11:29 2004  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (rb_gc_copy_finalizer): typo.  [ruby-core:02774]</div><div class='add'>+</div><div class='add'>+Mon Apr 12 18:52:32 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_init_i): should return</div><div class='add'>+	  a value.</div><div class='add'>+</div><div class='add'>+Mon Apr 12 10:43:47 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_glob2, rb_glob, rb_globi, push_globs, push_braces,</div><div class='add'>+	  rb_push_glob): fix memory leak. (leaked when block was interrupted)</div><div class='add'>+</div><div class='add'>+Mon Apr 12 10:27:37 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: backport SIZEOF_TIME_T definition from 1.9.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub: ditto.</div><div class='add'>+</div><div class='add'>+	* wince/Makefile.sub: ditto.</div><div class='add'>+</div><div class='add'>+Sun Apr 11 19:12:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c (require_libraries): restore source file/line after</div><div class='add'>+	  statically linked extensions initialized.  [ruby-dev:23357]</div><div class='add'>+</div><div class='add'>+Sun Apr 11 10:47:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::TopLevel::add_class_or_module): Toplevel</div><div class='add'>+	  classes and modules are a special case too... (handle extending existing</div><div class='add'>+	  classes with or without :enddoc:)</div><div class='add'>+</div><div class='add'>+Sat Apr 10 23:51:13 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::Context::add_to): Implementation of :enddoc:</div><div class='add'>+	  made one too many assumptions...</div><div class='add'>+</div><div class='add'>+Sat Apr 10 00:00:19 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/markup/simple_markup/inline.rb: Fix problem</div><div class='add'>+	  with \_cat_&lt;b&gt;dog&lt;/b&gt;</div><div class='add'>+</div><div class='add'>+Wed Apr  7 00:19:50 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/rinda.rb: fix hash tuple bug.</div><div class='add'>+</div><div class='add'>+	* lib/rinda/tuplespace.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb</div><div class='add'>+</div><div class='add'>+Tue Apr  6 18:24:18 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_reopen): should use rb_io_check_io().</div><div class='add'>+</div><div class='add'>+Tue Apr  6 16:46:09 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: check the size of time_t.</div><div class='add'>+</div><div class='add'>+	* time.c (time_add): new function.</div><div class='add'>+	  (time_plus): use time_add.</div><div class='add'>+	  (time_minus): use time_add.</div><div class='add'>+</div><div class='add'>+Tue Apr  6 13:21:30 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (make_hostent): must return value.</div><div class='add'>+</div><div class='add'>+Tue Apr  6 00:05:30 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/rinda.rb: add require 'drb/drb'</div><div class='add'>+</div><div class='add'>+Mon Apr  5 08:18:23 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb: Remove leading ./ from file names so that cross</div><div class='add'>+	  references work properly.</div><div class='add'>+</div><div class='add'>+Sun Apr  4 20:33:42 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_load): make $LOADED_FEATURES built-in.</div><div class='add'>+	  [ruby-dev:23299]</div><div class='add'>+</div><div class='add'>+	* ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in.</div><div class='add'>+</div><div class='add'>+	* lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME.</div><div class='add'>+</div><div class='add'>+Sun Apr  4 14:01:20 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/options.rb (Options::parse): Allow multiple -x options to RDoc.</div><div class='add'>+	  Fix bug where files weren't being excluded properly</div><div class='add'>+</div><div class='add'>+Sat Apr  3 17:11:05 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: version 0.43.</div><div class='add'>+</div><div class='add'>+	* ext/syck/lib/gram.c: allow root-level inline collections.</div><div class='add'>+	 [ruby-talk:94922]</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb (Symbol#to_yaml): emit symbols as implicits.</div><div class='add'>+	 [ruby-talk:94930]</div><div class='add'>+</div><div class='add'>+	* ext/syck/bytecode.c: turn off default implicit typing.</div><div class='add'>+</div><div class='add'>+	* ext/syck/implicit.c: detect base60 integers.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: handle base60, as well as hex and octal</div><div class='add'>+	  with commas.  implicit typing of ruby symbols.</div><div class='add'>+</div><div class='add'>+Fri Apr  2 17:27:17 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (top_include): include in the wrapped load is done for</div><div class='add'>+	  the wrapper, not for a singleton class for wrapped main.</div><div class='add'>+	  [ruby-dev:23305]</div><div class='add'>+</div><div class='add'>+Fri Apr  2 15:13:44 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_eq): use temporary double variable to save the</div><div class='add'>+	  result (internal float register may be bigger than 64 bits, for</div><div class='add'>+	  example, 80 bits on x86).  [ruby-dev:23311]</div><div class='add'>+</div><div class='add'>+Fri Apr  2 14:35:26 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (block_pass): should generate unique identifier of the</div><div class='add'>+	  pushing block.  [ruby-talk:96363]</div><div class='add'>+</div><div class='add'>+Fri Apr  2 07:31:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (make_hostent): fix memory leak, based on</div><div class='add'>+	  the patch from HORIKAWA Hisashi &lt;vzw00011@nifty.ne.jp&gt;.</div><div class='add'>+</div><div class='add'>+Thu Apr  1 22:55:33 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: Allow rdoc comments in</div><div class='add'>+	  =begin rdoc/=end</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb: Fix problem with comment in</div><div class='add'>+	  top-level method being taken as file comment.</div><div class='add'>+</div><div class='add'>+Thu Apr  1 22:55:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb: Fix undefined variable warning.</div><div class='add'>+</div><div class='add'>+Thu Apr  1 19:58:37 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/{factory.rb,registry.rb}: fixed illegal mapped URI</div><div class='add'>+	  object with soap/marshal.</div><div class='add'>+	  added URIFactory class for URI mapping.  BasetypeFactory checks</div><div class='add'>+	  instance_variables when original mapping is not allowed (ivar must</div><div class='add'>+	  be empty).  Instance of URI have instance_variables but it must be</div><div class='add'>+	  llowed whenever original mapping is allowed or not.</div><div class='add'>+</div><div class='add'>+	* lib/xsd/datatypes.rb: check the smallest positive non-zero</div><div class='add'>+	  single-precision float exactly instead of packing with "f".</div><div class='add'>+	  [ruby-talk:88822]</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/rubytypeFactory.rb: should not dump singleton class.</div><div class='add'>+	  [ruby-dev:22588]</div><div class='add'>+	  c = class &lt;&lt; Object.new; class C; self; end; end; SOAPMarshal.dump(c)</div><div class='add'>+</div><div class='add'>+Wed Mar 31 19:06:23 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (year_leap_p): new function.</div><div class='add'>+	  (timegm_noleapsecond): ditto.</div><div class='add'>+	  (search_time_t): use timegm_noleapsecond instead of</div><div class='add'>+	  mktime for first guess.</div><div class='add'>+</div><div class='add'>+Wed Mar 31 12:04:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (DelegateClass): define internal methods of the</div><div class='add'>+	  result class, but not metaclass of the caller.  [ruby-talk:96156]</div><div class='add'>+</div><div class='add'>+	* intern.h: provide proper prototypes.  [ruby-core:02724]</div><div class='add'>+</div><div class='add'>+	* ruby.h: missing.h is now prerequisite to intern.h.</div><div class='add'>+</div><div class='add'>+Tue Mar 30 20:25:34 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (search_time_t): limit guess range by mktime if it is</div><div class='add'>+	  available.  [ruby-dev:23274]</div><div class='add'>+</div><div class='add'>+Sun Mar 28 14:16:59 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/pop.rb (auth): failed when account/password include "%".</div><div class='add'>+	  [ruby-talk:95933]</div><div class='add'>+</div><div class='add'>+Sat Mar 27 21:40:41 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb: permit extra semicolon in content-type field.</div><div class='add'>+</div><div class='add'>+Sat Mar 27 10:40:48 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* (lib/pp.rb, lib/prettyprint.rb): define seplist in PP::PPMethods</div><div class='add'>+	  instead of PrettyPrint.</div><div class='add'>+</div><div class='add'>+Thu Mar 25 23:28:52 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_overflow_p): backport 1.9 usec overflow function.</div><div class='add'>+	  (ruby-bugs PR#1307)</div><div class='add'>+</div><div class='add'>+Thu Mar 25 23:15:24 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb (RI::Options::show_version):</div><div class='add'>+	  Add --version option</div><div class='add'>+</div><div class='add'>+Thu Mar 25 04:16:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb (RI::Options): Add the --list-names option,</div><div class='add'>+	  which dumps our all known names</div><div class='add'>+</div><div class='add'>+Thu Mar 25 03:57:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_util.rb (NameDescriptor::initialize): No longer</div><div class='add'>+	  allow nested classes to be designated using "."--you must</div><div class='add'>+	  now use "::"</div><div class='add'>+</div><div class='add'>+Thu Mar 25 02:00:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/html/one_page_html.rb (Page):</div><div class='add'>+	  Fix to work with C modules.</div><div class='add'>+</div><div class='add'>+Wed Mar 24 21:17:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri.rb: Documented (thanks Dmitry V. Sabanin).</div><div class='add'>+	* lib/uri/common.rb: Ditto.</div><div class='add'>+	* lib/uri/ftp.rb: Ditto.</div><div class='add'>+	* lib/uri/generic.rb: Ditto.</div><div class='add'>+	* lib/uri/http.rb: Ditto.</div><div class='add'>+	* lib/uri/https.rb: Ditto.</div><div class='add'>+	* lib/uri/ldap.rb: Ditto.</div><div class='add'>+	* lib/uri/mailto.rb: Ditto.</div><div class='add'>+	  (All backported from 1.9)</div><div class='add'>+</div><div class='add'>+Wed Mar 24 18:48:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by</div><div class='add'>+	  DESTDIR after installed.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (RUBY): / is not recognized as path separator on</div><div class='add'>+	  nmake/bmake. [ruby-list:39388]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.</div><div class='add'>+</div><div class='add'>+Wed Mar 24 12:32:56 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::handle_class_module):</div><div class='add'>+	  Don't document methods if we don't know for sure the</div><div class='add'>+	  class or module.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):</div><div class='add'>+	  Don't store documentation for singleton classes if we</div><div class='add'>+	  don't know the real class.</div><div class='add'>+</div><div class='add'>+Wed Mar 24 11:11:26 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb (Generators::HTMLGenerator::load_html_template):</div><div class='add'>+	  Allow non-RDoc templates by putting a slash in the template name</div><div class='add'>+</div><div class='add'>+Mon Mar 22 16:19:57 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.1: add -width option to .Bl for old groff.</div><div class='add'>+</div><div class='add'>+Sun Mar 21 21:11:16 2004  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/shell/*: bug fix for Shell#system(command_line_string).</div><div class='add'>+</div><div class='add'>+Sat Mar 20 20:57:10 2004  David Black  &lt;dblack@wobblini.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/scanf.rb: Backported 1.9 branch</div><div class='add'>+	  modifications/corrections to 1.8 branch</div><div class='add'>+</div><div class='add'>+Sat Mar 20 23:51:03 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_require_safe): preserve old ruby_errinfo.</div><div class='add'>+	  [ruby-talk:95409]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_raise): should not clear backtrace information if</div><div class='add'>+	  exception object already have one.</div><div class='add'>+</div><div class='add'>+Sat Mar 20 15:25:36 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/template/html/html.rb (RDoc::Page): Force</div><div class='add'>+	  page background to white.</div><div class='add'>+</div><div class='add'>+Sat Mar 20 09:52:33 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb, lib/date/format.rb: _parse() now accepts fractional</div><div class='add'>+	  part of second minute that follows a comma or a full stop.</div><div class='add'>+</div><div class='add'>+Fri Mar 19 01:55:57 2004  Mauricio Fernandez  &lt;batsman.geo@yahoo.com&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_sync): need not to check writable. [ruby-core:02674]</div><div class='add'>+</div><div class='add'>+Thu Mar 18 21:44:38 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: backport drb.rb 1.16.</div><div class='add'>+</div><div class='add'>+Fri Mar 18 17:49:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c (make_struct): allow const_id for accessor names.</div><div class='add'>+	  [ruby-core:04585]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_attr): check if attribute name is local_id or</div><div class='add'>+	  const_id.</div><div class='add'>+</div><div class='add'>+Thu Mar 18 16:22:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_eq): avoid false positive by using scope and</div><div class='add'>+	  dyna_vars.  no longer use frame.uniq.</div><div class='add'>+</div><div class='add'>+Wed Mar 17 14:44:43 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (range): fix possible "\0" overrun. (in case of "\0-")</div><div class='add'>+</div><div class='add'>+Mon Mar 15 07:39:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): should not re-submit TAG_BREAK if this</div><div class='add'>+	  yield is not break destination. [ruby-dev:23197]</div><div class='add'>+</div><div class='add'>+Sat Mar 13 14:28:16 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drbssl.rb: rescue LoadError. (Barkport from main</div><div class='add'>+	  trunk)</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drbunix.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed Mar 10 22:28:09 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (remove_dir): should handle symlink correctly.</div><div class='add'>+	  This patch is contributed by Christian Loew.  [ruby-talk:94635]</div><div class='add'>+	  (Backport from main trunk)</div><div class='add'>+</div><div class='add'>+Wed Mar 10 16:28:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (return_jump): set return value to the return</div><div class='add'>+	  destination.  separated from localjump_destination().</div><div class='add'>+</div><div class='add'>+	* eval.c (break_jump): break innermost loop (or thread or proc).</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): set exit_value for block break.</div><div class='add'>+</div><div class='add'>+Wed Mar 10 15:58:43 2004  Ryan Davis  &lt;ryand@zenspider.com&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): Only print backtrace if generating the backtrace</div><div class='add'>+	  doesn't generate an exception.  [ruby-core:02621]</div><div class='add'>+</div><div class='add'>+Tue Mar  9 13:04:26 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_ungetc): raise IOError instead of calling</div><div class='add'>+	  rb_sys_fail().  [ruby-talk:23181]</div><div class='add'>+</div><div class='add'>+Mon Mar  8 19:32:28 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/common.rb (URI::REGEXP::PATTERN::HOSTPORT): (?:#{PORT})</div><div class='add'>+	  -&gt; (?::#{PORT}).  [ruby-dev:23170]</div><div class='add'>+</div><div class='add'>+Mon Mar  8 15:31:41 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (range): treat incomplete '[' as ordinary character (like</div><div class='add'>+	  has_magic does).</div><div class='add'>+</div><div class='add'>+	* dir.c (range):  Cancel above change. More discussion is needed.</div><div class='add'>+</div><div class='add'>+Sun Mar  7 22:37:46 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_drb.rb: use 'druby://localhost:0'. [ruby-dev:23078]</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_eval.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_large.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_safe1.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/drb/ut_drb_drbssl.rb: use 'drbssl://localhost:0'.</div><div class='add'>+</div><div class='add'>+Sun Mar  7 16:22:26 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in (lex.c): use $? instead of $&lt;.</div><div class='add'>+</div><div class='add'>+Fri Mar  5 00:54:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: MOve RDoc documentation so that you can</div><div class='add'>+	  now say 'ri Test::Unit'</div><div class='add'>+</div><div class='add'>+Tue Mar  2 12:32:59 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub, wince/Makefile.sub (config.h): shouldn't check</div><div class='add'>+	  defined? NORETURN. [ruby-dev:23100]</div><div class='add'>+</div><div class='add'>+Mon Mar  1 12:24:10 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_alias):</div><div class='add'>+	  Allow aliases to have parentheses</div><div class='add'>+</div><div class='add'>+Sun Feb 29 23:14:53 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):</div><div class='add'>+	  Handle :nodoc: on singleton classes.</div><div class='add'>+</div><div class='add'>+Sat Feb 28 10:58:49 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add test_erb.rb</div><div class='add'>+</div><div class='add'>+	* lib/erb.rb, test/erb/test_erb.rb: don't forget filename,</div><div class='add'>+	  if both filename and safe_level given. [ruby-dev:23050]</div><div class='add'>+</div><div class='add'>+Fri Feb 27 01:00:09 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb, test/drb/drbtest.rb: require drb/eq.rb by default</div><div class='add'>+</div><div class='add'>+Wed Feb 25 21:16:25 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb (with_destdir): should return the given argument if no</div><div class='add'>+	  DESTDIR is given.</div><div class='add'>+</div><div class='add'>+	* instruby.rb: use path name expansion of cmd.exe.</div><div class='add'>+</div><div class='add'>+Wed Feb 25 09:35:22 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (NameError::Message): new class for lazy evaluation of</div><div class='add'>+	  message to ensure replaced before marshalling. merge from HEAD.</div><div class='add'>+	  (ruby-bugs-ja:PR#588)</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_method_missing): use NameError::Message. merge from</div><div class='add'>+	  HEAD. (ruby-bugs-ja:PR#588)</div><div class='add'>+</div><div class='add'>+Tue Feb 24 18:59:37 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (glob_helper): '**/' should not match leading period</div><div class='add'>+	  unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014]</div><div class='add'>+</div><div class='add'>+Tue Feb 24 13:22:21 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb (RDoc::RDoc::normalized_file_list): Attempt to get better</div><div class='add'>+	  heuristics on which files to include and exclude. Now only include</div><div class='add'>+	  non-standard files if they are explicitly named in ARGV.</div><div class='add'>+</div><div class='add'>+Tue Feb 24 07:23:30 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Deal with :stopdoc: when</div><div class='add'>+	  choosing a default main page to display (ie. don't select a page</div><div class='add'>+	  if we don't have documentation for it).</div><div class='add'>+</div><div class='add'>+Tue Feb 24 06:40:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle</div><div class='add'>+	  class variables in code listings</div><div class='add'>+</div><div class='add'>+Tue Feb 24 06:40:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle</div><div class='add'>+	  class variables in code listings</div><div class='add'>+</div><div class='add'>+Tue Feb 24 06:32:27 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_aliases): Handle</div><div class='add'>+	  aliases in C files.</div><div class='add'>+</div><div class='add'>+Tue Feb 24 06:16:22 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb (RDoc::RDoc::document): Now create op dir _before_</div><div class='add'>+	  parsing files.</div><div class='add'>+</div><div class='add'>+Tue Feb 24 06:08:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_constant):</div><div class='add'>+	  Start collecting text of constant values earlier: was missing</div><div class='add'>+	  values in output if there was no space after '='</div><div class='add'>+</div><div class='add'>+Tue Feb 24 06:08:25 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Escape contant values.</div><div class='add'>+</div><div class='add'>+Tue Feb 24 03:45:06 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c (ossl_config_each): add new method</div><div class='add'>+	  OpenSSL::Config#each. it iterates with section name, field name</div><div class='add'>+	  and value.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c (Init_ossl_config): include Enumerable.</div><div class='add'>+</div><div class='add'>+Mon Feb 23 09:16:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* instruby.rb (DOSISH): embedded path in batch files should not be</div><div class='add'>+	  prefixed by DESTDIR.  [ruby-core:02186]</div><div class='add'>+</div><div class='add'>+Sun Feb 22 09:54:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* re.c: corrected documentation format (again)</div><div class='add'>+</div><div class='add'>+Sun Feb 22 09:43:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* re.c: corrected documentation format (rb_reg_initialize_m)</div><div class='add'>+</div><div class='add'>+Sat Feb 21 22:36:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c: documented, but needs more effort.</div><div class='add'>+</div><div class='add'>+Sat Feb 21 11:12:15 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/os2.c, missing/x68.c: typo fix.  pointed out by greentea.</div><div class='add'>+</div><div class='add'>+Fri Feb 20 18:59:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to</div><div class='add'>+	  irb. [ruby-dev:39243]</div><div class='add'>+</div><div class='add'>+Thu Feb 19 23:24:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):</div><div class='add'>+	  Support visibility modifiers for attributes</div><div class='add'>+</div><div class='add'>+Thu Feb 19 23:24:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):</div><div class='add'>+	  Support visibility modifiers for attributes</div><div class='add'>+</div><div class='add'>+Thu Feb 19 22:39:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: DRb.start_service only once in testsuites.</div><div class='add'>+	  DRb.start_service could handle this.</div><div class='add'>+</div><div class='add'>+Thu Feb 19 22:19:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb: documented</div><div class='add'>+</div><div class='add'>+Thu Feb 19 21:28:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: improved documentation</div><div class='add'>+</div><div class='add'>+Thu Feb 19 03:10:52 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: synchronized with main trunk (rev 1.11).</div><div class='add'>+</div><div class='add'>+Thu Feb 19 02:30:34 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: documentation checked.</div><div class='add'>+</div><div class='add'>+Thu Feb 19 00:11:05 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::handle):</div><div class='add'>+	  Strip extraneous space from filenames in :include:</div><div class='add'>+</div><div class='add'>+Wed Feb 18 22:52:00 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/unix.rb: remove O_NONBLOCK, thanks \ay</div><div class='add'>+</div><div class='add'>+Wed Feb 18 22:47:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: documented</div><div class='add'>+</div><div class='add'>+Wed Feb 18 22:03:11 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/*: should not depend on $KCODE.</div><div class='add'>+</div><div class='add'>+Wed Feb 18 17:18:01 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c: need to include &lt;olectl.h&gt; on Cygwin.</div><div class='add'>+</div><div class='add'>+Wed Feb 18 10:40:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): do not prepend dots for negative</div><div class='add'>+	  numbers if FZERO is specified.  [ruby-dev:39218]</div><div class='add'>+</div><div class='add'>+Tue Feb 17 23:40:34 2004  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='add'>+</div><div class='add'>+	* sprintf.c (rb_f_sprintf): preserve original val for</div><div class='add'>+	  format_integer. [ruby-talk:92975]</div><div class='add'>+</div><div class='add'>+Tue Feb 17 23:28:45 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/marshaltestlib.rb: common marshal testcase added.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_marshal.rb: use above testsuite.</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/test_marshal.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/cmarshal.rb: removed (not used).</div><div class='add'>+</div><div class='add'>+Tue Feb 17 10:51:23 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_emitter_end_object): takes only one arg.</div><div class='add'>+</div><div class='add'>+Tue Feb 17 01:35:28 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCE</div><div class='add'>+	  to NODE_LIT.  [ruby-dev:22920]</div><div class='add'>+</div><div class='add'>+Tue Feb 17 01:24:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub (config.h): define</div><div class='add'>+	  STACK_GROW_DIRECTION. [ruby-dev:22910]</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (config.h): add newer checks.</div><div class='add'>+</div><div class='add'>+	* wince/Makefile.sub (config.h): define NEED_IO_SEEK_BETWEEN_RW.</div><div class='add'>+</div><div class='add'>+Tue Feb 17 00:38:10 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/tuplespace.rb: TupleSpace#initialize, stop doubling timeout</div><div class='add'>+</div><div class='add'>+Tue Feb 17 00:18:03 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/rinda/test_rinda.rb: import test_rinda.rb</div><div class='add'>+</div><div class='add'>+Tue Feb 17 00:14:30 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: avoid warning "Redefinition of macro</div><div class='add'>+	  'HAVE_GETLOGIN'".</div><div class='add'>+</div><div class='add'>+	* vms/config.h_in: ditto.</div><div class='add'>+</div><div class='add'>+Mon Feb 16 23:28:14 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: document reduction.  [ruby-core:02429]</div><div class='add'>+</div><div class='add'>+Mon Feb 16 22:08:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/generator.rb: corrected doc format</div><div class='add'>+	* lib/rinda/rinda.rb: added documentation (from Hugh Sasse)</div><div class='add'>+	* lib/rinda/tuplespace.rb: ditto</div><div class='add'>+</div><div class='add'>+Mon Feb 16 20:41:32 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: show more warnings. (refering to mingw)</div><div class='add'>+</div><div class='add'>+	* bcc32/setup.mak: ditto.</div><div class='add'>+</div><div class='add'>+Mon Feb 16 13:39:44 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (rb_glob, rb_globi): add const.</div><div class='add'>+</div><div class='add'>+	* ruby.h: ditto.</div><div class='add'>+</div><div class='add'>+Mon Feb 16 02:16:33 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: should warn suspicious pointer conversion.</div><div class='add'>+</div><div class='add'>+	* bcc32/setup.mak: ditto.</div><div class='add'>+</div><div class='add'>+Sun Feb 15 19:06:42 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/tuplespace.rb: TupleSpace#read(tpl, 0), raise</div><div class='add'>+	  RequestExpiredError if not found.</div><div class='add'>+</div><div class='add'>+Sun Feb 15 15:56:46 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c: add IDispatch wrapper in val2variant.</div><div class='add'>+	  Thanks, arton.</div><div class='add'>+</div><div class='add'>+Sun Feb 15 01:46:05 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: absolute path of ruby is assigned to $(RUBY).</div><div class='add'>+	  [ruby-dev:22870]</div><div class='add'>+</div><div class='add'>+Sat Feb 14 11:29:41 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* sample/drb/*: import lib/drb/sample</div><div class='add'>+</div><div class='add'>+Sat Feb 14 11:08:23 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: add pretty_print, thanks gotoken.</div><div class='add'>+</div><div class='add'>+Fri Feb 13 12:35:08 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: File.link may raise EINVAL and</div><div class='add'>+	  EACCES on Windows.</div><div class='add'>+</div><div class='add'>+Thu Feb 12 21:45:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ftools.rb: documented</div><div class='add'>+</div><div class='add'>+Thu Feb 12 21:25:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/base64.rb: backported from HEAD (modularised and documented)</div><div class='add'>+</div><div class='add'>+Thu Feb 12 20:31:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_tmpsrc): cpp32 of Borland C++ ignores #error</div><div class='add'>+	  directives in DOS line-ending files at all.</div><div class='add'>+</div><div class='add'>+Thu Feb 12 02:23:56 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb: use assert_raise instead of assert_raises.</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/time.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/tsort.rb: ditto.</div><div class='add'>+	  use TSortHash and TSortArray instead of Hash and Array in test.</div><div class='add'>+</div><div class='add'>+Wed Feb 11 20:01:12 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_file.rb (TestFile::test_fnmatch): added tests for</div><div class='add'>+	  File.fnmatch. [ruby-dev:22815][ruby-dev:22819]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_proc.rb (TestProc::test_eq): added a</div><div class='add'>+	  test.  [ruby-dev:22599]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_proc.rb (TestProc::test_eq): added tests for</div><div class='add'>+	   Proc#==.  [ruby-dev:22592], [ruby-dev:22601]</div><div class='add'>+</div><div class='add'>+Tue Feb 10 16:43:56 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (umethod_bind): purge unused check.  [ruby-dev:22850]</div><div class='add'>+</div><div class='add'>+Mon Feb  9 17:16:00 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb: escape '{' and '}' to avoid warnings.</div><div class='add'>+</div><div class='add'>+Mon Feb  9 13:00:55 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (fnmatch): File.fnmatch('*?', 'a') should return true.</div><div class='add'>+	  [ruby-dev:22815]</div><div class='add'>+</div><div class='add'>+	* dir.c (fnmatch): File.fnmatch('\[1\]' , '[1]') should return true.</div><div class='add'>+	  [ruby-dev:22819]</div><div class='add'>+</div><div class='add'>+Sun Feb  8 16:46:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (PP::PPMethods::object_address_group): suppress negative</div><div class='add'>+	  sign for higher heap areas.</div><div class='add'>+</div><div class='add'>+Fri Feb  6 22:48:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb (gen_url): Support</div><div class='add'>+	  https in RDoc hyperlinks</div><div class='add'>+</div><div class='add'>+Fri Feb  6 22:41:22 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (PPInspectTest#test_to_s_with_iv): rollback the previous</div><div class='add'>+	  commit.  [ruby-dev:22813]</div><div class='add'>+</div><div class='add'>+Fri Feb  6 22:22:50 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (PPInspectTest#test_to_s_with_iv): remove instance</div><div class='add'>+	  variable which is defined in the test.</div><div class='add'>+</div><div class='add'>+Fri Feb  6 00:48:37 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/prettyprint.rb (PrettyPrint#first?): obsoleted.</div><div class='add'>+</div><div class='add'>+Thu Feb  5 23:56:55 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/prettyprint.rb (PrettyPrint#seplist): added.</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (PPMethods#pp_object): use seplist.</div><div class='add'>+	  (PPMethods#pp_hash): ditto.</div><div class='add'>+	  (Array#pretty_print): ditto.</div><div class='add'>+	  (Struct#pretty_print): ditto.</div><div class='add'>+	  (MatchData#pretty_print): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/set.rb (Set#pretty_print): use seplist.</div><div class='add'>+</div><div class='add'>+Wed Feb  4 02:12:06 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (test_l): fix wrong method name in document.</div><div class='add'>+	  (test_S): ditto.</div><div class='add'>+	  (test_b): ditto.</div><div class='add'>+	  (test_c): ditto.</div><div class='add'>+	  (test_suid): ditto.</div><div class='add'>+	  (test_sgid): ditto.</div><div class='add'>+	  (test_sticky): ditto.</div><div class='add'>+</div><div class='add'>+Tue Feb  3 08:04:57 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (Struct#pretty_print_cycle): follow 1.8 style.</div><div class='add'>+</div><div class='add'>+Mon Feb  2 19:33:49 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: backport from 1.9 for Interix.</div><div class='add'>+</div><div class='add'>+	* dln.c (dln_load): ditto.</div><div class='add'>+</div><div class='add'>+Mon Feb  2 13:31:51 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (canonical_each): fix merge miss.</div><div class='add'>+</div><div class='add'>+Mon Feb  2 01:54:00 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb (Struct#pretty_print): make it 1.8 style.</div><div class='add'>+	  (Numeric#pretty_print, FalseClass#pretty_print)</div><div class='add'>+	  (TrueClass#pretty_print, Module#pretty_print): fix pp for objects</div><div class='add'>+	  with instance variables.  [ruby-talk:91157]</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback</div><div class='add'>+	  address.</div><div class='add'>+</div><div class='add'>+	* lib/resolv-replace.rb (BasicSocket#send): don't replace because</div><div class='add'>+	  it has no hostname argument.</div><div class='add'>+	  (IPSocket.getaddress): raise SocketError instead of</div><div class='add'>+	  Resolv::ResolvError for errors.</div><div class='add'>+	  (TCPSocket#initialize, UDPSocket#bind, UDPSocket#connect)</div><div class='add'>+	  (SOCKSSocket#initialize): use IPSocket.getaddress instead of</div><div class='add'>+	  Resolv.getaddress.</div><div class='add'>+	  (UDPSocket#send): recognize 3 arguments form.  try all addresses on</div><div class='add'>+	  4 arguments form.</div><div class='add'>+</div><div class='add'>+Sun Feb  1 18:17:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: merged coding style changes from HEAD.</div><div class='add'>+</div><div class='add'>+Sun Feb  1 16:15:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: rearranged documentation for RDoc's sake.</div><div class='add'>+	* lib/matrix.rb: improved documentation.</div><div class='add'>+	* lib/net/http.rb: slight documentation formatting improvement.</div><div class='add'>+</div><div class='add'>+Sun Feb  1 05:30:06 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::Generic#find_proxy): warn HTTP_PROXY.</div><div class='add'>+	 raise an errror on non-http proxy URI.</div><div class='add'>+	 (OpenURI::Buffer#&lt;&lt;): make a tempfile binmode.  [ruby-talk:90793]</div><div class='add'>+</div><div class='add'>+Sat Jan 31 09:20:32 2004  NAKAMURA, Hiroshi  &lt;nakahiro@sairon.co.jp&gt;</div><div class='add'>+</div><div class='add'>+	* sample/openssl/gen_csr.rb: wrong usage string.</div><div class='add'>+</div><div class='add'>+Sat Jan 31 01:00:32 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/wsdlDriver.rb, lib/wsdl/soap/operation.rb: add support of</div><div class='add'>+	  "parts" attribute of soap:body element in WSDL.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/xmlSchema/schema.rb: friendly warning message for</div><div class='add'>+	  simpleType element which is not supported for now.</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/factory.rb: deleted unused methods.</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type</div><div class='add'>+	  string &lt;-&gt; Ruby class name matching.</div><div class='add'>+</div><div class='add'>+	* test/wsdl/soap/{soapbodyparts.wsdl,test_soapbodyparts.wsdl}: new</div><div class='add'>+	  files.</div><div class='add'>+</div><div class='add'>+Thu Jan 29 23:56:00 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (mblen): fix overrun.  [ruby-dev:22672]</div><div class='add'>+</div><div class='add'>+Thu Jan 29 22:41:53 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Allow 'link:' in Tidylinks.</div><div class='add'>+	  THis means you can write "see f1[link:files/f1_rb.html]".</div><div class='add'>+</div><div class='add'>+Thu Jan 29 15:33:23 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change</div><div class='add'>+	  second argument. it expected to be a Hash not an Integer.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new</div><div class='add'>+	  function for OpenSSL::X509::Name#add_entry.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_to_a): append ASN.1</div><div class='add'>+	  tag number to each element of return value.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants</div><div class='add'>+	  OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):</div><div class='add'>+	  second argument takes OBJECT_TYPE_TEMPLATE by default.</div><div class='add'>+</div><div class='add'>+	* sample/openssl/gen_csr.rb: use OpenSSL::X509::Name.parse.</div><div class='add'>+</div><div class='add'>+Wed Jan 28 04:29:41 2004  Eric Schwartz  &lt;emschwar@fc.hp.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi/session.rb: use LOCK_SH to read, and a few other</div><div class='add'>+	  improvements.  [ruby-core:02328]</div><div class='add'>+</div><div class='add'>+Tue Jan 27 11:09:29 2004  FUKUMOTO Atsushi  &lt;fukumoto@nospam.imasy.or.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (s_recvfrom): sending length should be an</div><div class='add'>+	  invariant while retrying on EAGAIN.  [ruby-talk:89962]</div><div class='add'>+</div><div class='add'>+Tue Jan 27 10:35:18 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (set_argv): fix condition.</div><div class='add'>+</div><div class='add'>+Tue Jan 27 02:26:31 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (WEBrick:HTTPUtils::parse_header):</div><div class='add'>+	  refine regex for header-name.</div><div class='add'>+</div><div class='add'>+Tue Jan 27 00:30:11 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub: rollback.</div><div class='add'>+</div><div class='add'>+Mon Jan 26 22:53:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* io.c: Remove documentation references to $defout.</div><div class='add'>+</div><div class='add'>+Mon Jan 26 15:11:47 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/exyacc.rb: escape '}' to avoid warning.</div><div class='add'>+</div><div class='add'>+Mon Jan 26 14:41:46 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (Delegator::initialize): preserve</div><div class='add'>+	  singleton_method_added method [ruby-dev:22685]</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb (Delegator::initialize): use Kernel::raise</div><div class='add'>+	  instead of mere raise.  [ruby-dev:22681]</div><div class='add'>+</div><div class='add'>+Mon Jan 26 12:47:17 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: define CONST84 when TCL_MAJOR_VERSION == 7</div><div class='add'>+</div><div class='add'>+Mon Jan 26 11:35:23 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb: Makefiles should depend on also rbconfig.rb.</div><div class='add'>+	  (ruby-bugs:PR#1256)</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (set_argv): set real arguments to</div><div class='add'>+	  WIN32OLE::ARGV.  [ruby-list:39073]</div><div class='add'>+</div><div class='add'>+Thu Jan 22 22:54:53 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (BEG_REGEXP): allow 8-bit characters in quoted</div><div class='add'>+	  strings for Novell GroupWise Internet Agent.</div><div class='add'>+	* lib/net/imap.rb (DATA_REGEXP): ditto.</div><div class='add'>+</div><div class='add'>+Thu Jan 22 16:21:33 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (string_content): reset lexical states at the beginning of</div><div class='add'>+	  string contents.  [ruby-list:39061]</div><div class='add'>+</div><div class='add'>+Wed Jan 21 21:55:51 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: remove O_NONBLOCK, thanks \ay</div><div class='add'>+	* lib/drb/extserv.rb: typo</div><div class='add'>+</div><div class='add'>+Wed Jan 21 17:57:56 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (envelope): allow NIL.</div><div class='add'>+	* lib/net/imap.rb (body): ditto.</div><div class='add'>+	* lib/net/imap.rb (number): ditto.</div><div class='add'>+	* lib/net/imap.rb (ensure_nz_number): show a detailed error</div><div class='add'>+	  message.</div><div class='add'>+</div><div class='add'>+Wed Jan 21 16:44:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (merge_libs): squeeze successive same libraries.</div><div class='add'>+	  [ruby-dev:22652]</div><div class='add'>+</div><div class='add'>+Wed Jan 21 16:01:37 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/rmd160/extconf.rb: have_library appends found library.</div><div class='add'>+</div><div class='add'>+Wed Jan 21 11:36:00 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (block_append): update nd_end for "real" head node.</div><div class='add'>+	  [ruby-list:39058]</div><div class='add'>+</div><div class='add'>+Tue Jan 20 14:48:13 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: should check &lt;openssl/conf_api.h&gt; instead</div><div class='add'>+	  of OPENSSL_VERSION_NUMBER. [ruby-list:39056]</div><div class='add'>+</div><div class='add'>+Tue Jan 20 14:43:17 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/base64.rb: Add RDoc</div><div class='add'>+</div><div class='add'>+Tue Jan 20 14:25:51 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/abbrev.rb: Add RDoc</div><div class='add'>+</div><div class='add'>+Tue Jan 20 13:22:39 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Document aliases at</div><div class='add'>+	  top-most level.</div><div class='add'>+</div><div class='add'>+	* lib/English.rb: Document English.rb.</div><div class='add'>+</div><div class='add'>+Tue Jan 20 02:49:22 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: add check for OpenSSL version.</div><div class='add'>+	  [ruby-list:39054]</div><div class='add'>+</div><div class='add'>+Tue Jan 20 02:38:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_class): should not dump singleton class.</div><div class='add'>+	  [ruby-dev:22631]</div><div class='add'>+</div><div class='add'>+Tue Jan 20 01:31:36 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (lineno): typo fix(FIX2INT -&gt; INT2FIX).</div><div class='add'>+</div><div class='add'>+Mon Jan 19 21:53:38 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c, re.c, string.c, time.c: fixed up positions of RDocs.</div><div class='add'>+</div><div class='add'>+Mon Jan 19 07:09:20 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date.rb: zone was wrong when it was behind UTC.</div><div class='add'>+	  Thanks Mark J. Reed.</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb: %z is now always replaced by four digits</div><div class='add'>+	  with a leading plus or minus sign.</div><div class='add'>+</div><div class='add'>+	* sample/cal.rb: added a class, anyway.</div><div class='add'>+</div><div class='add'>+Sun Jan 18 20:47:35 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.c: use translate_char() on Cygwin.</div><div class='add'>+</div><div class='add'>+Sun Jan 18 02:33:26 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h (_WIN32): undef _WIN32 on Cygwin before defining DOSISH.</div><div class='add'>+</div><div class='add'>+Sun Jan 18 00:23:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (class2path): check anonymous class/module before</div><div class='add'>+	  checking referable, and allow singleton classes.</div><div class='add'>+</div><div class='add'>+Fri Jan 16 14:33:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (class2path): get class path and check referable.</div><div class='add'>+	  [ruby-dev:22588]</div><div class='add'>+</div><div class='add'>+Fri Jan 16 09:52:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_eq): Proc with empty body may not be equal.</div><div class='add'>+	  [ruby-dev:22590]</div><div class='add'>+</div><div class='add'>+Thu Jan 15 13:03:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): do not append EOF.  (ruby-bugs-ja:PR#585)</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_fwrite): ad-hockery hack to get rid of HP-UX stdio</div><div class='add'>+	  weird behavior.  [ruby-dev:22424]</div><div class='add'>+</div><div class='add'>+Wed Jan 14 13:31:06 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/extconf.rb: wrapper iconv.rb is dependent on platform.</div><div class='add'>+</div><div class='add'>+Tue Jan 13 18:54:28 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb(Logger#msg2str): no special treatment for the object</div><div class='add'>+	  which responds to :to_str.  commited at 2004-01-11T21:46:27 by</div><div class='add'>+	  gsinclair.</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb(LogDevice#initialize): remove type checking if the</div><div class='add'>+	  given object is a String.  Kernel.open handles it correctly.</div><div class='add'>+	  commited at 2004-01-11T21:46:27 by gsinclair.</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: follow above change (ArgumentError -&gt;</div><div class='add'>+	  TypeError.)  follow above commit.</div><div class='add'>+</div><div class='add'>+Tue Jan 13 14:27:13 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/testrunnerutilities.rb (TestRunnerUtilities):</div><div class='add'>+	  moved run method which allows output level.  [ruby-dev:22554]</div><div class='add'>+</div><div class='add'>+Tue Jan 13 04:29:52 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_driver.rb (RiDriver::report_method_stuff):</div><div class='add'>+	  Show fully-qualified class names in class list.</div><div class='add'>+</div><div class='add'>+Tue Jan 13 01:04:37 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_paths.rb (RI::Paths): First attempt at</div><div class='add'>+	  incorporating DESTDIR in the rdoc installation.</div><div class='add'>+</div><div class='add'>+Mon Jan 12 23:27:19 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (primary): fix position after FCALL.  [ruby-dev:22574]</div><div class='add'>+</div><div class='add'>+Mon Jan 12 12:07:22 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods):</div><div class='add'>+	  Someone changed the "// in eval.c" comments to "/*...*/" style,</div><div class='add'>+	  so the parsing of the source file name broke.</div><div class='add'>+</div><div class='add'>+	* object.c: Remove spurious space in TrueClass documentation.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Fix</div><div class='add'>+	  bad regexp: if the code before a documented method contained</div><div class='add'>+	  a comment that wasn't terminated by whitespace, that comment</div><div class='add'>+	  and all intervening code was included in the following</div><div class='add'>+	  method's documentation.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter::break_to_newline):</div><div class='add'>+	  HTML formats need explicit line breaks.</div><div class='add'>+</div><div class='add'>+Mon Jan 12 11:46:30 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single</div><div class='add'>+	  quotes.  [ruby-dev:22564]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (libpathflag): do not enclose with quotes always.</div><div class='add'>+</div><div class='add'>+	* {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.</div><div class='add'>+</div><div class='add'>+Mon Jan 12 02:24:07 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML</div><div class='add'>+	  generation support to ri (Elliot Hughes)</div><div class='add'>+</div><div class='add'>+Mon Jan 12 02:24:07 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML</div><div class='add'>+	  generation support to ri (Elliot Hughes)</div><div class='add'>+</div><div class='add'>+Sun Jan 11 02:07:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):</div><div class='add'>+	  Also accept command line options via the 'RI' environment variable.</div><div class='add'>+</div><div class='add'>+Sun Jan 11 02:07:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):</div><div class='add'>+	  Also accept command line options via the 'RI' environment variable.</div><div class='add'>+</div><div class='add'>+Sat Jan 10 21:27:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): need to add message delimiter. [ruby-dev:22561]</div><div class='add'>+</div><div class='add'>+Sat Jan 10 01:54:50 2004  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP,</div><div class='add'>+	  S_IRWXO, etc. macros are defined since future code might require</div><div class='add'>+	  them (even though present code only requires a subset).</div><div class='add'>+</div><div class='add'>+	* defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set</div><div class='add'>+	  correctly on Rhapsody when -arch compiler flag was used (via</div><div class='add'>+	  configure's --enable-fat-binary option).</div><div class='add'>+</div><div class='add'>+Fri Jan  9 10:05:14 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (libpathflag): use single quotes.  [ruby-dev:22440]</div><div class='add'>+</div><div class='add'>+Thu Jan  8 23:49:21 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (RDOCTARGET): new macro.  if you want to install</div><div class='add'>+	  rdoc documentation, you need to run configure with</div><div class='add'>+	  --enable-install-doc.</div><div class='add'>+</div><div class='add'>+Thu Jan  8 21:29:43 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey.c (ossl_pkey_to_der): removed; it returns</div><div class='add'>+	  public key only.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dh.c (ossl_dh_to_der): new function for</div><div class='add'>+	  OpenSSL::PKey::DH#to_der.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_to_der): new function for</div><div class='add'>+	  OpenSSL::PKey::DSA#to_der.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_to_der): new function for</div><div class='add'>+	  OpenSSL::PKey::RSA#to_der.</div><div class='add'>+</div><div class='add'>+Thu Jan  8 16:51:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/wsdl/datetime/test_datetime.rb: fixed a stupid testcase which</div><div class='add'>+	  dumps "E" at month-end.</div><div class='add'>+</div><div class='add'>+Thu Jan  8 11:20:01 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c, object.c, process.c, re.c: don't use C++ style comments.</div><div class='add'>+</div><div class='add'>+Thu Jan  8 04:36:21 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (WEBrick::CGI#initialize): should create</div><div class='add'>+	  @config[:Logger] if it was not given.</div><div class='add'>+</div><div class='add'>+	* sample/webrick/*: new files.</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add sample/webrick/*</div><div class='add'>+</div><div class='add'>+Wed Jan  7 13:00:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_driver.rb: Fix problem where ri was</div><div class='add'>+	  being too eager to find matches of ambiguous method</div><div class='add'>+	  names (such as "ri Thread.join" would return both</div><div class='add'>+	  Thread.join and ThreadsWait.join)</div><div class='add'>+</div><div class='add'>+Wed Jan  7 12:35:41 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb: revert command parse regexps.  [ruby-list:39014] by</div><div class='add'>+	  Shirai,Kaoru.</div><div class='add'>+</div><div class='add'>+Wed Jan  7 08:21:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parserfactory.rb: Check for shebang</div><div class='add'>+	  line in files that would otherwise be treated as</div><div class='add'>+	  plain text.</div><div class='add'>+</div><div class='add'>+Tue Jan  6 22:13:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_mod_modfunc): should break if m has no super class.</div><div class='add'>+	  [ruby-dev:22498]</div><div class='add'>+</div><div class='add'>+Tue Jan  6 21:55:02 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (fptr_finalize): should save errno just after failure.</div><div class='add'>+	  [ruby-dev:22492]</div><div class='add'>+</div><div class='add'>+Tue Jan  6 14:53:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* bin/ri: split out the display side, making it pluggable. Added</div><div class='add'>+	  new ri_driver and ri_display files in lib/rdoc/ri.</div><div class='add'>+</div><div class='add'>+Tue Jan  6 06:37:53 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* bin/rdoc: Add --ri-system switch</div><div class='add'>+</div><div class='add'>+	* lib/.document: Update with list of files that seem to have</div><div class='add'>+	  documentation</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: Reorder comment to make it RDoc friendly.</div><div class='add'>+</div><div class='add'>+	* Makefile.in: add install-nodoc target, and make it</div><div class='add'>+	  generate RDoc on default install.</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_options.rb (RI::Options::parse): Add</div><div class='add'>+	  --doc-dir option to ri.</div><div class='add'>+</div><div class='add'>+Tue Jan  6 00:04:40 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):</div><div class='add'>+	  fix parsing if there are braces in a method parameter list</div><div class='add'>+</div><div class='add'>+Fri Jan  2 14:54:11 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* bin/ri: Add new --classes option, and arrange for</div><div class='add'>+	  help messages to be paged too.</div><div class='add'>+</div><div class='add'>+	* bin/rdoc: Add statistics.</div><div class='add'>+</div><div class='add'>+	* process.c: (MG) Added Process documentation</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::AttributeFormatter::wrap):</div><div class='add'>+	  Fix problem with labels not displaying in RI labeled</div><div class='add'>+	  lists using BS and ANSI modes.</div><div class='add'>+</div><div class='add'>+Fri Jan  2 01:50:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (argf_eof): ARGF.eof? should not have any side effect.</div><div class='add'>+	  [ruby-dev:22469]</div><div class='add'>+</div><div class='add'>+Wed Dec 31 17:25:17 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (argf_each_byte): should return self.  [ruby-dev:22465]</div><div class='add'>+</div><div class='add'>+Wed Dec 31 11:20:34 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Make</div><div class='add'>+	  file referenced in "// in sss.c" relative to current file.</div><div class='add'>+</div><div class='add'>+Wed Dec 31 11:17:37 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/generators/html_generator.rb: Fix problem when</div><div class='add'>+	  a public method was aliased, but the alias is then</div><div class='add'>+	  made private, and hence doesn't appear in RDoc output.</div><div class='add'>+</div><div class='add'>+Wed Dec 31 01:33:05 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* array.c, error.c, eval.c, io.c, prec.c, range.c, re.c,</div><div class='add'>+	  string.c, time.c: Add RDoc for Kernel functions, and tidy.</div><div class='add'>+</div><div class='add'>+Tue Dec 30 19:39:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_readline): should raise EOFError at the end of</div><div class='add'>+	  files.  [ruby-dev:22458]</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): should concatenate input files when length</div><div class='add'>+	  argument is nil. [ruby-dev:22450]</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): should update supplied string buffer (2nd</div><div class='add'>+	  argument) even when IO#read is called multiple times.</div><div class='add'>+</div><div class='add'>+	* io.c: should initialize lineno by zero. [ruby-dev:22460]</div><div class='add'>+</div><div class='add'>+Tue Dec 30 12:30:30 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): If a</div><div class='add'>+	  class and a method have the same name, finding Xxx.abc was trying</div><div class='add'>+	  to find 'abc' in method 'Xxx', not class 'Xxx'.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+Tue Dec 30 08:32:32 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):</div><div class='add'>+	  Handle undoing nesting of yield parameters correctly for:</div><div class='add'>+</div><div class='add'>+	  def each_entry(&amp;b) Dir.foreach(@path) {|f| yield P.new(f) } end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+Tue Dec 30 08:32:32 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):</div><div class='add'>+	  Handle undoing nesting of yield parameters correctly for:</div><div class='add'>+</div><div class='add'>+	    def each_entry(&amp;block) Dir.foreach(@path) {|f| yield Pathname.new(f) } end</div><div class='add'>+</div><div class='add'>+Mon Dec 29 12:51:02 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: Add RDoc for Kernel global functions.</div><div class='add'>+</div><div class='add'>+Mon Dec 29 11:00:16 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* array.c: Tidy up RDoc loose ends.</div><div class='add'>+</div><div class='add'>+Mon Dec 29 05:05:51 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* struct.c, random: Add RDoc comments</div><div class='add'>+</div><div class='add'>+Mon Dec 29 02:20:54 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: Add RDoc for class Proc, Method, UnboundMethod</div><div class='add'>+</div><div class='add'>+Mon Dec 29 00:41:44 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* math.c: Add RDoc comments</div><div class='add'>+</div><div class='add'>+Sun Dec 28 20:19:11 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_sysread): StringIO.new.sysread didn't</div><div class='add'>+	  raise EOFError.</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (gzreader_gets): don't increment lineno when</div><div class='add'>+	  gzfile_read_all returns "".</div><div class='add'>+</div><div class='add'>+Sun Dec 28 15:25:08 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* class.c,object.c,parse.y,sprintf.c,variable.c: Document classes</div><div class='add'>+	  Object, Module, etc...</div><div class='add'>+</div><div class='add'>+Sun Dec 28 11:55:29 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: generate bom.csv and mac.csv files on the fly.</div><div class='add'>+	  [ruby-talk:88852]</div><div class='add'>+</div><div class='add'>+	* test/csv/{bom.csv,mac.csv}: removed.</div><div class='add'>+</div><div class='add'>+Sun Dec 28 08:56:51 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: Thead[Group] RDoc (thanks to MG)</div><div class='add'>+</div><div class='add'>+Sun Dec 28 03:50:05 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_override_comment):</div><div class='add'>+	  Escape method names used in regexp</div><div class='add'>+</div><div class='add'>+Sun Dec 28 01:46:02 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item):</div><div class='add'>+	  Add support for rules in 'ri' output.</div><div class='add'>+</div><div class='add'>+Sun Dec 28 01:35:35 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body):</div><div class='add'>+	  Sometimes the Ruby source aliases two otherwise</div><div class='add'>+	  unrelated methods (for example Kernel#object_id and</div><div class='add'>+	  Kernel#hash are both the same C function). Provide a</div><div class='add'>+	  facility to allow the methods to be documented</div><div class='add'>+	  separately.</div><div class='add'>+</div><div class='add'>+Sun Dec 28 01:05:31 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c, signal.c: RDoc collemts added by Elliott Hughes</div><div class='add'>+</div><div class='add'>+Sun Dec 28 00:48:47 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_class_comment):</div><div class='add'>+	  Some source files use lower case class or module names</div><div class='add'>+	  when naming the Init_XXX function in C.</div><div class='add'>+</div><div class='add'>+Sat Dec 27 23:41:46 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: fix "test: too many arguments" error.</div><div class='add'>+</div><div class='add'>+Sat Dec 27 15:32:19 2003  Dave Thomas  &lt;dave@wireless_3.local.thomases.com&gt;</div><div class='add'>+</div><div class='add'>+	* time.c: RDoc comments added</div><div class='add'>+</div><div class='add'>+Sat Dec 27 15:07:57 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* object.c: Add RDoc comments for Symbol class.</div><div class='add'>+</div><div class='add'>+Sat Dec 27 14:42:30 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c: Add RDoc comments.</div><div class='add'>+</div><div class='add'>+Sat Dec 27 00:44:00 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (next_argv): warn always for stdin on inplace edit mode.</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): need to check string value.</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): allow ARGF.read(nil).  [ruby-dev:22433]</div><div class='add'>+</div><div class='add'>+Fri Dec 26 23:02:09 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_backquote): need not to check nil result.</div><div class='add'>+	  [ruby-core:02078]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_getline): should return nil when read_all gives</div><div class='add'>+	  empty string, even when nil rs is specified. [ruby-core:02077]</div><div class='add'>+</div><div class='add'>+Fri Dec 26 18:50:59 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: check if getcontext and setcontext are available.</div><div class='add'>+</div><div class='add'>+	* eval.c: use presence of getcontext/setcontext.</div><div class='add'>+</div><div class='add'>+Fri Dec 26 16:40:53 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (PathnameTest#test_plus): add 2 assertions.</div><div class='add'>+</div><div class='add'>+Fri Dec 26 09:26:58 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): add sign check for 'i', and 'l'.</div><div class='add'>+	  [ruby-dev:22427]</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_quad_pack): add range check for 'quad int'.</div><div class='add'>+</div><div class='add'>+Thu Dec 25 22:39:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_update): don't return any value.</div><div class='add'>+</div><div class='add'>+Thu Dec 25 15:30:17 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_update): call rb_str_modify().</div><div class='add'>+</div><div class='add'>+Thu Dec 25 05:08:09 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (search_required): search actual file name once when no</div><div class='add'>+	  extension specified.</div><div class='add'>+</div><div class='add'>+Thu Dec 25 04:00:44 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* stable version 1.8.1 released.</div><div class='add'>+</div><div class='add'>+Thu Dec 25 00:17:53 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: check for nanosleep, -lrt if required.</div><div class='add'>+	  [ruby-core:02059]</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_timer): use select(2) if nanosleep(2) is not</div><div class='add'>+	  available.</div><div class='add'>+</div><div class='add'>+	* eval.c: check __stub_getcontext for glibc on some platforms.</div><div class='add'>+	  [ruby-list:38984]</div><div class='add'>+</div><div class='add'>+Wed Dec 24 23:48:04 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/test_basetype.rb, test/soap/marshal/test_marshal.rb</div><div class='add'>+	  test/xsd/test_xsd.rb: use "(-1.0 / (1.0 / 0.0))" instead of "-0.0"</div><div class='add'>+	  to express -0.0.  [ruby-talk:88786]</div><div class='add'>+</div><div class='add'>+Wed Dec 24 23:29:30 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/tsort.rb (test_orphaned_break): removed.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 20:53:06 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkmulticolumnlist.rb: new sample</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkmultilistframe.rb: bug fix</div><div class='add'>+</div><div class='add'>+Wed Dec 24 20:37:37 2003  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (LDSHARED): Fixed typographical error in assignment of</div><div class='add'>+	  LDSHARED for Rhapsody which caused linking of extension modules to</div><div class='add'>+	  fail.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 17:51:18 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_thread_flock): enable thread support again.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 16:46:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (catch_timer): do not call rb_thread_schedule() inside to</div><div class='add'>+	  avoid pthread_mutex_lock() deadlock.  interrupts to system calls</div><div class='add'>+	  are detected by TRAP_END via EINTR error.</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_timer): do not post signal unless it is</div><div class='add'>+	  absolutely necessary.</div><div class='add'>+</div><div class='add'>+	* rubysig.h (TRAP_END): add CHECK_INTS to switch thread.</div><div class='add'>+</div><div class='add'>+	* regex.c (re_compile_pattern): check if nextp is smaller than</div><div class='add'>+	  pend.  [ruby-dev:22372]</div><div class='add'>+</div><div class='add'>+	* eval.c (umethod_bind): remove method overridden check.</div><div class='add'>+	  [ruby-dev:22366]</div><div class='add'>+</div><div class='add'>+Wed Dec 24 16:13:05 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_read): should check for error</div><div class='add'>+	  status by SSL_get_error().</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_write): ditto.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 14:23:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): clear the buffer argument</div><div class='add'>+	  when returning nil.  [ruby-dev:22363]</div><div class='add'>+</div><div class='add'>+	* test/ruby/ut_eof.rb (TestEOF::test_eof_0, TestEOF::test_eof_1):</div><div class='add'>+	  add buffer argument tests.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 14:07:55 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: Modules are allowed to rescue.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb: show output_level in order.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb: get rid of successive same</div><div class='add'>+	  directories in load path.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb (test_assert_nothing_raised,</div><div class='add'>+	  test_assert_raise): test for modules.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 13:43:34 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/imap.rb (authenticate): remove "\n" from base64 encoded</div><div class='add'>+	  strings.</div><div class='add'>+</div><div class='add'>+Wed Dec 24 11:26:41 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: should not create any</div><div class='add'>+	  files or directories in current directory.  [ruby-talk:88724]</div><div class='add'>+</div><div class='add'>+Wed Dec 24 10:29:53 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): never return nil at</div><div class='add'>+	  unlimited read.  [ruby-dev:22334]</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): support second</div><div class='add'>+	  argument.  [ruby-dev:22350]</div><div class='add'>+</div><div class='add'>+Wed Dec 24 09:38:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (arg): should return 0 after error.  [ruby-dev:22360]</div><div class='add'>+</div><div class='add'>+Wed Dec 24 00:56:54 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): do not return nil at the end of file.</div><div class='add'>+	  [ruby-dev:22334]</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): do not depend on nil at eof behavior of</div><div class='add'>+	  IO#read().</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_join): dup exception before re-raising it.</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_eof): call clearerr() to prevent side effect.  this</div><div class='add'>+	  patch is supplied by Masahiro Sakai &lt;sakai@tom.sfc.keio.ac.jp&gt;.</div><div class='add'>+	  [ruby-dev:22234]</div><div class='add'>+</div><div class='add'>+	* pack.c (OFF16): get offset for big endian machines.</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): use OFF16 instead of OFF16B.</div><div class='add'>+	  [ruby-dev:22344]</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_unpack): ditto.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 22:47:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_check_readable): set FMODE_RBUF always, even if</div><div class='add'>+	  NEED_IO_SEEK_BETWEEN_RW is not defined. [ruby-dev:22340]</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_check_writable): clear FMODE_RBUF before writing</div><div class='add'>+	  something.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 22:25:00 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb: incomplete RDoc documentation added in place of</div><div class='add'>+	  existing RD comments.  Tabs converted to spaces.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 19:44:47 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/test_streamhandler.rb (test_basic_auth): removed.</div><div class='add'>+	  soap4r + basic_auth is not officially supported in ruby/1.8.1 even</div><div class='add'>+	  though soap4r + basic_auth + http-access2 should run fine.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 19:42:59 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_ungetc): raise an exception at unread stream to</div><div class='add'>+	  avoid unspecified behavior.  [ruby-dev:22330]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_system.rb (test_syntax): glob relatively from</div><div class='add'>+	  __FILE__.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 18:09:40 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (pack_pack): remove unnecessary negative value check.</div><div class='add'>+	  [ruby-dev:22329]</div><div class='add'>+</div><div class='add'>+Tue Dec 23 17:26:55 2003  KONISHI Hiromasa  &lt;konishih@fd6.so-net.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub (config.h): bcc has finite(). [ruby-list:38940]</div><div class='add'>+</div><div class='add'>+Tue Dec 23 16:08:16 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/encodings/US-ASCII.rb: typo.  [ruby-talk:88650]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_system.rb: num of asserts depended on running dir.</div><div class='add'>+</div><div class='add'>+	* test/xsd/test_noencoding.rb: rexml + without iconv/uconv cannot</div><div class='add'>+	  handle euc-jp.  install iconv, uconv or xmlscan.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 14:13:51 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic::check_userinfo,</div><div class='add'>+	  URI::Generic::check_user, URI::Generic::check_password): tests</div><div class='add'>+	  conflicts/depends with other components closely.</div><div class='add'>+</div><div class='add'>+	* test/uri/test_generic.rb (TestGeneric::test_set_component):</div><div class='add'>+	  added tets.</div><div class='add'>+</div><div class='add'>+Tue Dec 23 11:08:34 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/xsd/test_noencoding.rb: rescue Errno::EINVAL and do not test.</div><div class='add'>+	  "euc-jp" might not be in supported encoding name list.</div><div class='add'>+	  [ruby-talk:88650]</div><div class='add'>+</div><div class='add'>+Tue Dec 23 06:10:31 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (CGI): add support for mod_ruby.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (CGI::Socket): add check for existence of</div><div class='add'>+	  OpenSSL module in all HTTPS related methods.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (CGI::Socket#cipher): should create similar</div><div class='add'>+	  value to OpenSSL::SSLSocket#cipher.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpresponse.rb (HTTPResponse#setup_header): should</div><div class='add'>+	  set "connection: close" if @keep_alive is false.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/https.rb (HTTPrequest#meta_vars): add supprt for</div><div class='add'>+	  SSL_PROTOCOL, SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 23:00:05 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic::check_opaque): fixed typo.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 21:59:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (map_charset): always ensure code is a String.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 21:15:29 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* class.c (rb_mod_init_copy): always copy singleton class.</div><div class='add'>+	  [ruby-dev:22325]</div><div class='add'>+</div><div class='add'>+Mon Dec 22 20:44:36 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic#route_from): accepts urls which</div><div class='add'>+	  has no host-part.</div><div class='add'>+</div><div class='add'>+	* test/uri/test_generic.rb (TestGeneric::test_route): added a test.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 20:38:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb: reduce eval.</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::read_multipart): alias path to</div><div class='add'>+	  local_path.  [ruby-list:38883]</div><div class='add'>+</div><div class='add'>+Mon Dec 22 20:09:31 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/test_property.rb: remove duplicated test method.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 18:22:04 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub (config.h): remove</div><div class='add'>+	  HAVE_ISINF definition to follow previous commits of missing.h</div><div class='add'>+	  and win32/win32.h.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 17:23:42 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (ac_cv_func_setitimer): moved from defines.h</div><div class='add'>+</div><div class='add'>+	* defines.h, rubysig.h, signal.c: removed macro handling which</div><div class='add'>+	  should be done in configure.</div><div class='add'>+</div><div class='add'>+	* configure.in (intrinsics.h): check if present.</div><div class='add'>+</div><div class='add'>+	* ruby.h: include intrinsics.h if available.</div><div class='add'>+</div><div class='add'>+	* bignum.c, marshal.c: include ieeefp.h if available.</div><div class='add'>+</div><div class='add'>+	* missing.h (isinf): define as a macro if finite() and isnan()</div><div class='add'>+	  are available.  [ruby-core:02032]</div><div class='add'>+</div><div class='add'>+Mon Dec 22 17:07:31 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (mingw): set isnan, finite and isinf to yes.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 13:40:19 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/property.rb: passing block by reference.</div><div class='add'>+</div><div class='add'>+Mon Dec 22 00:32:43 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_with_disable_interrupt): use ENABLE_INTS instead of</div><div class='add'>+	  ALLOW_INTS which may switch context.  [ruby-dev:22319]</div><div class='add'>+</div><div class='add'>+	* ext/syck/emitter.c (syck_emitter_write): str bigger than</div><div class='add'>+	  e-&gt;bufsize causes buffer overflow.  [ruby-dev:22307]</div><div class='add'>+</div><div class='add'>+Sun Dec 21 17:29:00 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* class.c (rb_check_inheritable): new function.  [ruby-dev:22316]</div><div class='add'>+</div><div class='add'>+	* intern.h: add prototype.</div><div class='add'>+</div><div class='add'>+	* eval.c (superclass): use rb_check_inheritable().</div><div class='add'>+</div><div class='add'>+	* object.c (rb_class_initialize): check argument validity.</div><div class='add'>+</div><div class='add'>+Sun Dec 21 16:25:10 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#+): re-implemented to resolve ".." in</div><div class='add'>+	  beginning of the argument.</div><div class='add'>+	  (Pathname#join): concatenate from the last argument.</div><div class='add'>+	  (Pathname#parent): just use Pathname#+.</div><div class='add'>+</div><div class='add'>+Sun Dec 21 00:12:37 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add new methods (TkScrollbar#assign, assign_list)</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkmultilistframe.rb: use TkScrollbar#assign method</div><div class='add'>+</div><div class='add'>+Sat Dec 20 21:59:03 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): refine regexp.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (CGI#start): NPH scripts return status line</div><div class='add'>+	  instead of Status: header field.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb (CGI::Socket): refine some coditions.</div><div class='add'>+</div><div class='add'>+Sat Dec 20 16:07:14 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Completion::complete): wrong</div><div class='add'>+	  Regexp for word boundary.  pointed out by Gavin Sinclair.</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::make_switch): [no-] prefix was</div><div class='add'>+	  missing.</div><div class='add'>+</div><div class='add'>+Sat Dec 20 11:40:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml.rb (YAML::YAML): adjust Marshal version.</div><div class='add'>+</div><div class='add'>+Sat Dec 20 03:56:02 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_with_disable_interrupt): prohibit thread context</div><div class='add'>+	  switch during proc execution.  [ruby-dev:21899]</div><div class='add'>+</div><div class='add'>+Sat Dec 20 02:41:02 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/cgi.rb: add file. (yet another CGI library)</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add lib/webrick/cgi.rb.</div><div class='add'>+</div><div class='add'>+Sat Dec 20 02:18:31 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-calculate-indent): proper indentation</div><div class='add'>+	  inside of parentheses.  [ruby-dev:22308]</div><div class='add'>+</div><div class='add'>+Fri Dec 19 21:24:22 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): should not set</div><div class='add'>+	  HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/https.rb (HTTPRequest#parse): should check presence</div><div class='add'>+	  of cert() method to detect SSLSocket.</div><div class='add'>+</div><div class='add'>+Fri Dec 19 22:56:46 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/property.rb (SOAP::Property#load): new method for loading</div><div class='add'>+	  property value into existing property tree.</div><div class='add'>+</div><div class='add'>+	* test/soap/test_property.rb: add test.</div><div class='add'>+</div><div class='add'>+Fri Dec 19 19:21:49 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/runit/cui/testrunner.rb (RUNIT::CUI::TestRunner::run):</div><div class='add'>+	  should use Test::Unit::UI::{PROGRESS_ONLY,VERBOSE}.</div><div class='add'>+</div><div class='add'>+Fri Dec 19 17:36:49 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkmultilistbox.rb: bug fix</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkmultilistframe.rb: new sample script</div><div class='add'>+</div><div class='add'>+Fri Dec 19 03:44:27 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (parse_form_data): should return an</div><div class='add'>+	  empty Hash if the body is empty.</div><div class='add'>+</div><div class='add'>+Thu Dec 18 21:47:35 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): should remove deffile if it's</div><div class='add'>+	  made by miniruby. based on nobu's patch.</div><div class='add'>+</div><div class='add'>+Thu Dec 18 21:44:21 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (stack_extend): ignore inline optimization on VC7.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (OS, RT): can override.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none</div><div class='add'>+	  option. based on Tietew's patch [ruby-dev:22289]</div><div class='add'>+</div><div class='add'>+Thu Dec 18 16:38:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (fnmatch): unlike find_dirsep(), rb_path_next() never</div><div class='add'>+	  return NULL.</div><div class='add'>+</div><div class='add'>+Thu Dec 18 15:27:59 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ipaddr.rb (IPSocket::getaddress): merge usa's patch.</div><div class='add'>+	  [ruby-dev:21678]</div><div class='add'>+</div><div class='add'>+Wed Dec 17 15:15:30 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like</div><div class='add'>+	  String#[] if more than one arguments are specified.</div><div class='add'>+</div><div class='add'>+	* lib/delegate.rb: avoid using common instance name as "@obj".</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer</div><div class='add'>+	  subclass of String, but DelegateClass(String).</div><div class='add'>+</div><div class='add'>+	* ext/curses/extconf.rb: restore function check for init_color.</div><div class='add'>+	  [ruby-list:38905]</div><div class='add'>+</div><div class='add'>+	* Makefile.in: need to specify $(MAINLIBS) for the miniruby</div><div class='add'>+	  generation rule.</div><div class='add'>+</div><div class='add'>+	* configure.in: better FreeBSD -lc_r support.</div><div class='add'>+</div><div class='add'>+Wed Dec 17 00:16:14 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: new method</div><div class='add'>+	  StringScanner#beginning_of_line? (alias #bol?)</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: new method StringScanner#concat and #&lt;&lt;.</div><div class='add'>+</div><div class='add'>+	* ext/strscan/strscan.c: StringScanner#new(str) does not duplicate</div><div class='add'>+	  nor freeze STR (allow destructive modification).</div><div class='add'>+</div><div class='add'>+	* test/strscan/test_stringscanner.rb: test new methods above.</div><div class='add'>+</div><div class='add'>+	* test/strscan/test_stringscanner.rb: test destructive string</div><div class='add'>+	  modification.</div><div class='add'>+</div><div class='add'>+Tue Dec 16 21:20:47 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pp.rb: don't use local variable `pp'.</div><div class='add'>+</div><div class='add'>+	* lib/prettyprint.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Dec 16 13:20:43 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: condition bug of if statement on</div><div class='add'>+	  {pack,grid}_propagate methods</div><div class='add'>+</div><div class='add'>+Tue Dec 16 03:17:29 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: comments in strings. [ruby-talk:88012]</div><div class='add'>+</div><div class='add'>+	* test/yaml/test_yaml.rb: add test.</div><div class='add'>+</div><div class='add'>+Tue Dec 16 01:14:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (catch_timer): check rb_thread_crtical in main native</div><div class='add'>+	  thread.</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_timer): just sends signals periodically, to</div><div class='add'>+	  prevent main native thread from receiving them in critical</div><div class='add'>+	  section.  [ruby-core:01959]</div><div class='add'>+</div><div class='add'>+Mon Dec 15 13:32:22 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (check_dirname): check string safety and remove extraneous</div><div class='add'>+	  trailing directory separators.  [ruby-dev:22279]</div><div class='add'>+</div><div class='add'>+	* file.c: renamed and externalized rb_path_next,</div><div class='add'>+	  rb_path_skip_prefix, rb_path_last_separator, rb_path_end.</div><div class='add'>+</div><div class='add'>+	* intern.h: prototypes for rb_path_next, rb_path_skip_prefix,</div><div class='add'>+	  rb_path_last_separator, rb_path_end.</div><div class='add'>+</div><div class='add'>+Mon Dec 15 09:27:46 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): first argument</div><div class='add'>+	  of rb_protect should take an argument of VALUE.</div><div class='add'>+</div><div class='add'>+Sun Dec 14 18:46:48 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (Init_socket): IPv6 is not supported although</div><div class='add'>+	  AF_INET6 is defined on MinGW.</div><div class='add'>+</div><div class='add'>+	* lib/ipaddr.rb (AF_INET6): workaround in the environment which does</div><div class='add'>+	  not support IPv6.</div><div class='add'>+</div><div class='add'>+Sat Dec 13 18:55:16 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/charset_alias.rb: preserve original order.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/extconf.rb: remove wrapper file at clean.</div><div class='add'>+</div><div class='add'>+Sat Dec 13 18:09:42 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_timer): use timer by sub-thread and nanosleep.</div><div class='add'>+	  [ruby-talk:87519]</div><div class='add'>+</div><div class='add'>+	* gc.c (Init_stack): no stack adjustment for THREAD_SAFE.</div><div class='add'>+</div><div class='add'>+Sat Dec 13 17:17:59 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_alloc): cache the created object at first time.</div><div class='add'>+	  [ruby-talk:61288], [ruby-dev:22240]</div><div class='add'>+</div><div class='add'>+Sat Dec 13 09:01:23 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: check ucontext.h.</div><div class='add'>+</div><div class='add'>+	* eval.c: use getcontext/setcontext() instead of setjmp/longjmp()</div><div class='add'>+	  on ia64 or with native thread enabled.  [ruby-core:01932]</div><div class='add'>+</div><div class='add'>+Sat Dec 13 03:09:14 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946]</div><div class='add'>+</div><div class='add'>+	* test/yaml/test_yaml.rb: add test.</div><div class='add'>+</div><div class='add'>+Fri Dec 12 22:36:44 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell,</div><div class='add'>+	  "#{aCell}" and so on.</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: add tests.</div><div class='add'>+</div><div class='add'>+Fri Dec 12 19:33:06 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mkdir): remove trailing `/' from pathes.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (rmdir): ditto. [ruby-dev:22238]</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (rmdir_r): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_copy_dir): check if it is a directory after</div><div class='add'>+	  mkdir(2).</div><div class='add'>+</div><div class='add'>+Fri Dec 12 06:06:09 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): fix class name in warning message for</div><div class='add'>+	  define_method.  [ruby-dev:22235]</div><div class='add'>+</div><div class='add'>+Thu Dec 11 21:24:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs12.[ch]: new files. add OpenSSL::PKCS12.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.[ch]: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/MANIFEST: add ossl_pkcs12.[ch].</div><div class='add'>+</div><div class='add'>+Thu Dec 11 20:54:28 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mkdir_p): remove trailing `/' befere mkdir(2).</div><div class='add'>+	  mkdir("nonexistdir/") does not work on NetBSD/Alpha 1.6.1.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_list): call to_str for all arguments.</div><div class='add'>+</div><div class='add'>+Thu Dec 11 20:07:01 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ftools.rb (makedirs): sync with fileutils.</div><div class='add'>+</div><div class='add'>+Thu Dec 11 19:53:03 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mkdir_p): catch all SystemCallErrors.</div><div class='add'>+	  (mkdir("C:\") causes EACCESS on Windows 2000/NTFS)</div><div class='add'>+</div><div class='add'>+Thu Dec 11 19:08:02 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (mkdir_p): check if it is a directory after</div><div class='add'>+	  mkdir(2) instead of before mkdir(2), to avoid race condition.</div><div class='add'>+	  [ruby-talk:87730]</div><div class='add'>+	  Refer: mkinstalldirs sh script, GNU mkdir(1) (coreutils 5.0)</div><div class='add'>+</div><div class='add'>+Thu Dec 11 18:49:30 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: def m( arg ) -&gt; def m(arg).</div><div class='add'>+</div><div class='add'>+Thu Dec 11 11:39:43 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (ieeefp.h), numeric.c: needed for finite() on</div><div class='add'>+	  Solaris.  [ruby-core:01921]</div><div class='add'>+</div><div class='add'>+	* file.c (rb_stat_inspect): adjust format specifier.</div><div class='add'>+</div><div class='add'>+	* parse.c (arg_prepend): nodetype() is for debug use.</div><div class='add'>+</div><div class='add'>+	* ruby.h (ISASCII, etc): cast to int to get rid of warning.</div><div class='add'>+</div><div class='add'>+	* ruby.h (alloca.h): include even in GCC.  [ruby-core:01925]</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format</div><div class='add'>+	  specifier.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,</div><div class='add'>+	  BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be</div><div class='add'>+	  volatile.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with</div><div class='add'>+	  format specifier.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not</div><div class='add'>+	  define unless used.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (getDevice): get rid of warning.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (port_str, sock_s_getaddrinfo,</div><div class='add'>+	  sock_s_getnameinfo): FIX2INT() now returns long.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (init_inetsock_internal): uninitialized</div><div class='add'>+	  variable.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use</div><div class='add'>+	  ISDIGIT() instead of isdigit() to avoid warnings and for</div><div class='add'>+	  platforms which don't support non-ascii charater.</div><div class='add'>+</div><div class='add'>+Wed Dec 10 19:28:56 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): set EOF flag at short read.</div><div class='add'>+	  [ruby-dev:22223], [ruby-dev:22224]</div><div class='add'>+</div><div class='add'>+Wed Dec 10 18:07:25 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/erb.rb: new method ERB#filename(=). [ruby-dev:22208]</div><div class='add'>+</div><div class='add'>+Wed Dec 10 17:54:51 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): do not set EOF flag when</div><div class='add'>+	  requested length is zero.  [ruby-dev:22214]</div><div class='add'>+</div><div class='add'>+Wed Dec 10 17:17:18 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): should return given string even if data read is</div><div class='add'>+	  empty.  [ruby-dev:22207]</div><div class='add'>+</div><div class='add'>+Wed Dec 10 17:16:06 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): adjust behavior at reading</div><div class='add'>+	  beyond EOF to IO.  [ruby-dev:22205]</div><div class='add'>+</div><div class='add'>+	* test/ruby/ut_eof.rb (TestEOF::Seek): test behaviors at reading</div><div class='add'>+	  beyond EOF.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_file.rb, test/stringio/test_stringio.rb: include</div><div class='add'>+	  TestEOF::Seek test case.</div><div class='add'>+</div><div class='add'>+Wed Dec 10 15:01:19 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/monitor/test_monitor.rb (test_cond): use Queue#deq</div><div class='add'>+	  instead of sleep.</div><div class='add'>+</div><div class='add'>+Wed Dec 10 14:45:39 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (HAVE_SYS_IOCTL_H): need to include &lt;sys/ioctl.h&gt;</div><div class='add'>+	  for TIOCSCTTY on *BSD.  based on gotoyuzo's patch.</div><div class='add'>+	  (ruby-bugs:PR#1211)</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c (establishShell): should close descriptors if fork</div><div class='add'>+	  failed.</div><div class='add'>+</div><div class='add'>+Wed Dec 10 12:53:05 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.h: define execv() using do_aspawn().</div><div class='add'>+</div><div class='add'>+	* process.c (proc_exec_v): remove #ifdef's which stopped needing.</div><div class='add'>+</div><div class='add'>+Tue Dec  9 23:32:23 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb, ext/tk/lib/tkcanvas.rb, ext/tk/lib/tkdialog.rb,</div><div class='add'>+	  ext/tk/lib/tkentry.rb, ext/tk/lib/tkscrollbox.rb, ext/tk/lib/tktext.rb,</div><div class='add'>+	  ext/tk/sample/tkalignbox.rb, ext/tk/sample/tkcombobox.rb,</div><div class='add'>+	  ext/tk/sample/tkmultilistbox.rb, ext/tk/sample/tkoptdb.rb, ext/tk/sample/tktextframe.rb,</div><div class='add'>+	  ext/tk/sample/demos-en/dialog1.rb, ext/tk/sample/demos-en/dialog2.rb,</div><div class='add'>+	  ext/tk/sample/demos-jp/dialog1.rb, ext/tk/sample/demos-jp/dialog2.rb:</div><div class='add'>+	  overrided instance methods, which are private methods on the super</div><div class='add'>+	  class, are changed to 'private'</div><div class='add'>+</div><div class='add'>+Tue Dec  9 19:53:02 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/generic.rb (URI::Generic#route_from0): make case insensitive</div><div class='add'>+	  for host-part.</div><div class='add'>+</div><div class='add'>+	* test/uri/test_generic.rb (test_route): added tests for the above</div><div class='add'>+	  change.</div><div class='add'>+</div><div class='add'>+Tue Dec  9 14:10:48 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_check_readable): don't call io_seek if EOF flag is set,</div><div class='add'>+	  to avoid clearing EOF flag.</div><div class='add'>+	  (rb_io_check_writable): ditto.</div><div class='add'>+</div><div class='add'>+Tue Dec  9 02:53:55 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkalignbox.rb: new sample script</div><div class='add'>+</div><div class='add'>+Tue Dec  9 00:45:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: renamed #assert_raises to #assert_raise</div><div class='add'>+	  and made the former call the latter. [ruby-core:01890]</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Dec  9 00:07:35 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/standaloneServer.rb: add 'shutdown' and 'status'</div><div class='add'>+	  methods as delegates to WEBrick.</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/{test_calc.rb,test_calc2.rb},</div><div class='add'>+	  test/soap/helloworld/test_helloworld.rb,</div><div class='add'>+	  test/wsdl/datetime/test_datetime.rb, test/wsdl/raa/test_raa.rb:</div><div class='add'>+	  follow the change.</div><div class='add'>+</div><div class='add'>+Mon Dec  8 22:48:03 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb: remove dependency to a particular</div><div class='add'>+	  runner.  [ruby-core:01901], [ruby-list:38869]</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/testrunnerutilities.rb: moved output level</div><div class='add'>+	  constants from Console.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/console/testrunner.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/{fox,gtk,gtk2,tk}/testrunner.rb (initialize):</div><div class='add'>+	  accept output_level.</div><div class='add'>+</div><div class='add'>+Mon Dec  8 15:03:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c (syck_io_str_read): get rid of buffer overflow.</div><div class='add'>+</div><div class='add'>+Mon Dec  8 13:02:11 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/common.rb: new method URI.regexp. [ruby-dev:22121]</div><div class='add'>+</div><div class='add'>+	* test/uri/test_common.rb: add test for URI.regexp.</div><div class='add'>+</div><div class='add'>+Mon Dec  8 12:44:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c: define swap16 and swap32 only if they are not</div><div class='add'>+	  defined. OpenBSD defines these macros. [ruby-dev:22181]</div><div class='add'>+</div><div class='add'>+Sun Dec  7 20:54:17 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (map_charset): make case sensitive.</div><div class='add'>+	  ext/iconv/charset_alias.rb (charset_alias): don't ignore</div><div class='add'>+	  config.charset's information.  sort aliases.</div><div class='add'>+</div><div class='add'>+Sat Dec  6 22:58:03 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_start_ssl): new function to wrap</div><div class='add'>+	  SSL_connect and SSL_accept; if SSL_connect (or SSL_accept) returned</div><div class='add'>+	  but not finished the handshake process, we should retry it.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_connect): call ossl_start_ssl.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_read): allow signal traps.</div><div class='add'>+</div><div class='add'>+Sat Dec  6 21:45:10 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (flush_before_seek): flush before seek on any platform.</div><div class='add'>+</div><div class='add'>+	* configure.in: ditto.</div><div class='add'>+</div><div class='add'>+Sat Dec  6 17:23:00 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/soap.rb(SOAP::Env.getenv): allow upcase environment variable</div><div class='add'>+	  as well as downcase one.</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb(SOAP::NetHttpClient#proxy=): check URI.</div><div class='add'>+</div><div class='add'>+Fri Dec  5 23:22:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises,</div><div class='add'>+	  Test::Unit::Assertions::assert_nothing_raised): use the last</div><div class='add'>+	  argument as message unless class object.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb (test_assert_raises): test for</div><div class='add'>+	  multiple exception list.  [ruby-core:01891]</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb (test_assert_nothing_raised): test</div><div class='add'>+	  for non-exception classes.</div><div class='add'>+</div><div class='add'>+Fri Dec  5 22:23:04 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb: proxy support did not work.  fixed.</div><div class='add'>+</div><div class='add'>+	* lib/soap/property.rb: add class methods for loading property from</div><div class='add'>+	  stream/file/propertyfile.  propertyfile is a file which is located at</div><div class='add'>+	  somedir in $:.</div><div class='add'>+</div><div class='add'>+	* lib/soap/soap.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb,</div><div class='add'>+	  lib/wsdl/importer.rb: load property from propertyfile 'soap/property'</div><div class='add'>+	  e.g. /usr/local/lib/ruby/site_ruby/1.8/soap/property.</div><div class='add'>+</div><div class='add'>+	* test/soap/test_property.rb, test/soap/test_streamhandler.rb: new file.</div><div class='add'>+</div><div class='add'>+Fri Dec  5 17:26:23 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_exec_end_proc): maintain tmp_end_procs.</div><div class='add'>+	  [ruby-dev:22154]</div><div class='add'>+</div><div class='add'>+Fri Dec  5 13:36:59 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_exec_end_proc): should not clear end_procs and</div><div class='add'>+	  ephemeral_end_procs before execution. [ruby-dev:22144]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_obj_extend): call Module#extended hook after</div><div class='add'>+	  extended_object.  [ruby-list:38866]</div><div class='add'>+</div><div class='add'>+	* object.c (Init_Object): Module#extended defined.</div><div class='add'>+</div><div class='add'>+Fri Dec  5 13:17:30 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_pipe.rb: use IO.pipe instead of IO.popen.</div><div class='add'>+</div><div class='add'>+Fri Dec  5 11:54:45 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): follow IO#read.</div><div class='add'>+</div><div class='add'>+	* test/ruby/ut_eof.rb, test/ruby/test_file.rb, test/ruby/test_pipe.rb,</div><div class='add'>+	  test/stringio/test_stringio.rb: add EOF test.</div><div class='add'>+</div><div class='add'>+Fri Dec  5 02:49:35 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises):</div><div class='add'>+	  allow multiple exception list.  [ruby-core:01884]</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_nothing_raised):</div><div class='add'>+	  check whether arguments are subclass of Exception.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 23:54:00 2003  Rick Ohnemus  &lt;rick.ohnemus@systemware.com&gt;</div><div class='add'>+</div><div class='add'>+	* dln.c (aix_loaderror): should not use member named 'errno' which</div><div class='add'>+	  might be a macro (e.g. on AIX).</div><div class='add'>+</div><div class='add'>+Thu Dec  4 23:32:26 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): do not depend on lseek position.</div><div class='add'>+	  [ruby-dev:22026]</div><div class='add'>+</div><div class='add'>+Thu Dec  4 22:37:26 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): preserve $! value when retry happens in the</div><div class='add'>+	  rescue clause.  [ruby-talk:86697]</div><div class='add'>+</div><div class='add'>+Thu Dec  4 21:50:07 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRb::DRbMessage::send_request, send_reply):</div><div class='add'>+	  should rescue errors and re-raise DRbConnError on write too.</div><div class='add'>+	  [ruby-dev:22132]</div><div class='add'>+</div><div class='add'>+Thu Dec  4 16:41:17 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (exc_list): allow expanding list.  [ruby-dev:22134]</div><div class='add'>+</div><div class='add'>+Thu Dec  4 14:09:24 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_cp): test if the error is</div><div class='add'>+	  kind of SystemCallError.  It is needless details that which errno</div><div class='add'>+	  is set on each systems.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 13:24:13 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/monitor.rb: use Object#__send__ instead of Object#send.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 13:17:45 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/streamHandler.rb: support latest released version of</div><div class='add'>+	  http-access2.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 13:04:44 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/soap.rb: add SOAP::Env module for environment repository</div><div class='add'>+	  such as HTTP_PROXY.</div><div class='add'>+</div><div class='add'>+	* lib/soap/property.rb: property implementation.</div><div class='add'>+</div><div class='add'>+	* lib/soap/streamHandler.rb, lib/soap/wsdlDriver.rb,</div><div class='add'>+	  lib/soap/rpc/driver.rb: use soap/property.rb.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/importer.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb:</div><div class='add'>+	  use SOAP::Env.</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb: add basic_auth, ssl_config, and cookie</div><div class='add'>+	  management interface, but ignored for now.</div><div class='add'>+</div><div class='add'>+	* lib/xsd/charset.rb: add XSD::Charset.encoding= interface to set</div><div class='add'>+	  wiredump charset explicitly.  it was fixed to 'utf-8' when iconv or</div><div class='add'>+	  uconv module was found.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 10:43:58 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/dl/sym.c (rb_dlsym_guardcall): __declspec(noinline) is VC7</div><div class='add'>+	  feature.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 10:27:12 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: update hyperlink to the Japanese document.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 09:12:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (asn1time_to_time): should check that</div><div class='add'>+	  the underlying value of ASN1_TIME isn't NULL. [ruby-core:01881]</div><div class='add'>+</div><div class='add'>+Thu Dec  4 08:29:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (GenericServer#start): should rescue</div><div class='add'>+	  Exception to avoid unexpected aborting. [ruby-core:01853]</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (GenericServer#start_thread): should check</div><div class='add'>+	  that peeraddr isn't nil before printing.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpresponse.rb (HTTPResponse#start_thread): should</div><div class='add'>+	  rescue Exception to avoid unexpected aborting of thread.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 03:48:59 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#link, Pathname#symlink): obsoleted.</div><div class='add'>+	  (Pathname#make_link, Pathname#make_symlink): new method.</div><div class='add'>+</div><div class='add'>+Thu Dec  4 01:45:24 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): should not terminate on empty string; wait</div><div class='add'>+	  until real EOF.  [ruby-dev:21969]</div><div class='add'>+</div><div class='add'>+	* io.c (argf_read): should adjust length to read, when length is</div><div class='add'>+	  specified and read spans command line argument files.</div><div class='add'>+</div><div class='add'>+Wed Dec  3 19:38:36 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: correct fcntl parameter. [ruby-dev:22120]</div><div class='add'>+</div><div class='add'>+Wed Dec  3 13:49:07 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: 'format'==&gt;'Kernel.format' (avoid override trouble)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkafter.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkcanvas.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkdialog.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tktext.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed Dec  3 13:28:13 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in (lex.c): try gperf first, and copy from the source</div><div class='add'>+	  directory if failed.  [ruby-dev:22123]</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (MTIMES): let makefiles depend to mkmf.rb.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration): DLDFLAGS was duplicated.</div><div class='add'>+</div><div class='add'>+Tue Dec  2 23:18:12 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: wrote the warning about HTTP_PROXY environment</div><div class='add'>+	  variable.</div><div class='add'>+</div><div class='add'>+Tue Dec  2 21:31:42 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bin/testrb: new test runner.  [ruby-core:01845]</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner.run,</div><div class='add'>+	  Test::Unit::AutoRunner#process_args): take test list to run and</div><div class='add'>+	  options.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::RUNNERS,</div><div class='add'>+	  Test::Unit::AutoRunner#run): should not exit inside a library,</div><div class='add'>+	  just return the result instead.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: exit with the test result.</div><div class='add'>+</div><div class='add'>+Tue Dec  2 20:18:48 2003  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found</div><div class='add'>+	  instead of Bison or byacc.</div><div class='add'>+</div><div class='add'>+	* parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least</div><div class='add'>+	  10000 (Bison's default) since some old versions of Yacc define it as</div><div class='add'>+	  low as 150 by default, which is too low for Ruby to parse some files,</div><div class='add'>+	  such as date/format.rb.  Among other issues, the parse problem causes</div><div class='add'>+	  "make test" to fail.</div><div class='add'>+</div><div class='add'>+Tue Dec  2 20:03:20 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: check if Pathnames are usable</div><div class='add'>+	  for arguments.</div><div class='add'>+</div><div class='add'>+Tue Dec  2 04:22:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: fixed #assert_no_match message.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Dec  2 00:43:00 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c: string buffering bug.  decrementing by full</div><div class='add'>+	  max_size now. [ruby-core:01834]</div><div class='add'>+</div><div class='add'>+Mon Dec  1 21:33:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* numeric.c (num_sadded): prohibit singleton method definition for</div><div class='add'>+	  Numerics.  fill yet another gap between Fixnum and Bignum.</div><div class='add'>+</div><div class='add'>+Mon Dec  1 17:33:47 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (htov16): converts endian using swap16. htov32(), hton16,</div><div class='add'>+	  hton32 as well. [ruby-talk:85377]</div><div class='add'>+</div><div class='add'>+	* pack.c (swap16): swap 2 bytes no matter how big short is on the</div><div class='add'>+	  platform.  swap32() is also prepared.</div><div class='add'>+</div><div class='add'>+	* numeric.c (rb_num2int): returns long to preserve information.</div><div class='add'>+	  rb_fix2int(), rb_num2uint(), rb_fix2uint() as well.</div><div class='add'>+	  [ruby-talk:85377]</div><div class='add'>+</div><div class='add'>+	* numeric.c (rb_num2uint): should not check for value range if the</div><div class='add'>+	  source value is negative.</div><div class='add'>+</div><div class='add'>+Mon Dec  1 17:14:34 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/optparse/opttest.rb: added.</div><div class='add'>+</div><div class='add'>+Mon Dec  1 16:10:52 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rdoc/rdoc.rb: (etc) initial merge into main tree.</div><div class='add'>+</div><div class='add'>+Mon Dec  1 14:17:49 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_each_src_dest0): call #to_str to allow</div><div class='add'>+	  Pathname for arguments. [ruby-core:01795]</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: does much strict test on</div><div class='add'>+	  "same" files detecting.</div><div class='add'>+</div><div class='add'>+Mon Dec  1 09:28:14 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='add'>+	  (XCFLAGS): re-export $(XCFLAGS).</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='add'>+	  (ARCH_FLAG): export $(ARCH_FLAG) (perhaps empty value).</div><div class='add'>+</div><div class='add'>+Mon Dec  1 01:03:27 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (TRY_LINK, link_command): added support for DLDFLAGS</div><div class='add'>+	  and ARCH_FLAG.  [ruby-dev:22085]</div><div class='add'>+</div><div class='add'>+Sun Nov 30 20:18:07 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.</div><div class='add'>+	  [ruby-core:01819]</div><div class='add'>+</div><div class='add'>+	* Makefile.in: add ARCH_FLAG to CFLAGS.</div><div class='add'>+</div><div class='add'>+	* Makefile.in: add @CPPFLAGS@ to CPPFLAGS.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (configuration): add ARCH_FLAG to DLDFLAGS.</div><div class='add'>+</div><div class='add'>+	* Makefile.in: add ARCH_FLAG to DLDFLAGS.</div><div class='add'>+</div><div class='add'>+	* configure.in: should put getcwd in AC_CHECK_FUNCS, not</div><div class='add'>+	  AC_REPLACE_FUNCS.  [ruby-core:01826]</div><div class='add'>+</div><div class='add'>+Sun Nov 30 18:22:48 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,</div><div class='add'>+	  DLDFLAGS and LDSHARED.</div><div class='add'>+</div><div class='add'>+	* configure.in: XCFLAGS for compiling ruby itself.  ARCH_FLAG is</div><div class='add'>+	  reflected in CFLAGS.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: ditto.  do not import XCFLAGS from config.status.</div><div class='add'>+</div><div class='add'>+Sun Nov 30 17:37:36 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix [ruby-talk:86746]</div><div class='add'>+</div><div class='add'>+Sun Nov 30 13:02:00 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying</div><div class='add'>+	  Conditional Expressions.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/soap/definitions.rb: refactoring - Move Method.</div><div class='add'>+</div><div class='add'>+	* test/xsd/{test_noencoding.rb,noencoding.xml}: new files.  test for</div><div class='add'>+	  encoding unspecified XML file parsing.</div><div class='add'>+</div><div class='add'>+	* test/wsdl/{test_fault.rb,map,datetime}: new files.  test of</div><div class='add'>+	  SOAPFault, dateTime and Apache's Map.</div><div class='add'>+</div><div class='add'>+Sun Nov 30 09:35:14 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_update): get rid of SEGV at just allocated String.</div><div class='add'>+	  [ruby-core:01812]</div><div class='add'>+</div><div class='add'>+Fri Nov 28 23:19:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_mark): explicitly check mark recursion levels, instead</div><div class='add'>+	  of unreliable stack length.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 22:49:56 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rinda/rinda.rb: fix TupleSpaceProxy#read, read_all.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 21:44:40 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_ln_s): should be a file, not</div><div class='add'>+	  a directory for FreeBSD.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 19:37:56 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (env_has_value, env_index): must match exactly.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_env.rb (test_has_value, test_index): condition for</div><div class='add'>+	  aboves.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 17:59:20 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_env.rb: add tests for ENV.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 17:47:46 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb (DRbMessage#load): rescue Errno::* and raise</div><div class='add'>+	  DRbConnError.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 15:41:15 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#realpath): obsolete the force_absolute</div><div class='add'>+	  argument.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 14:41:52 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/streamHandler.rb: drop unused http parameters.</div><div class='add'>+</div><div class='add'>+	* lib/soap/encodingstyle/soapHandler.rb, lib/soap/mapping/factory.rb,</div><div class='add'>+	  lib/soap/mapping/mapping.rb, lib/soap/mapping/registry.rb,</div><div class='add'>+	  lib/wsdl/soap/complexType.rb: ApacheSOAP's map support was broken</div><div class='add'>+	  under WSDL dynanic client environment.  fixed.</div><div class='add'>+</div><div class='add'>+	* test/wsdl/raa/*: add tests.</div><div class='add'>+</div><div class='add'>+	* lib/xsd/datatypes.rb: dateTime precision bug fix (at least, I hope.)</div><div class='add'>+	  bug of soap4r.  XSDDateTimeImple.to_time passed a Float to</div><div class='add'>+	  Time.local/Time.gm as an usec, and NUM2LONG(rb_num2long for Float)</div><div class='add'>+	  causes rounding error.</div><div class='add'>+</div><div class='add'>+	* test/soap/test_basetype.rb, test/xsd/test_xsd.rb: add tests.</div><div class='add'>+</div><div class='add'>+Fri Nov 28 04:15:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (method_arity): used wrong Proc object.  [ruby-talk:86504]</div><div class='add'>+</div><div class='add'>+Fri Nov 28 00:47:29 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_exit), process.c (rb_f_exit_bang): treat true as</div><div class='add'>+	  success, false as failure.  [ruby-dev:22067]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_abort, rb_thread_switch), process.c (rb_f_system): use</div><div class='add'>+	  ANSI macro instead of hard coded value.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_exit), process.c (rb_f_exit_bang): use VALUEs not but</div><div class='add'>+	  TYPEs.</div><div class='add'>+</div><div class='add'>+Thu Nov 27 22:05:48 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c, gc.c: FreeBSD/ia64 currently does not have a way for a</div><div class='add'>+	  process to get the base address for the RSE backing store, so</div><div class='add'>+	  hardcode it for the moment.</div><div class='add'>+	  [submitted by: Marcel Moolenaar &lt;marcel@FreeBSD.org&gt;]</div><div class='add'>+</div><div class='add'>+Thu Nov 27 17:36:42 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkafter.rb: bug fix on TkTimer#cancel_on_exception=(mode).</div><div class='add'>+	  TkTimer#wait recieves the exception of the callback.</div><div class='add'>+	  The exception is kept on @return_value.</div><div class='add'>+</div><div class='add'>+Thu Nov 27 16:58:48 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_stat): remove _fullpath() for NUL: device.</div><div class='add'>+</div><div class='add'>+Wed Nov 26 15:38:47 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_ln_s): should take the</div><div class='add'>+	  existing symbolic link for OpenBSD.</div><div class='add'>+</div><div class='add'>+Wed Nov 26 04:48:42 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: removed YYTOKTMP references which</div><div class='add'>+	  were causing buffer overflows on large block scalars,</div><div class='add'>+	  comments, quoted scalars and plain scalars.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: dynamic changing of buffer size.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: default buffer size of 4k.</div><div class='add'>+</div><div class='add'>+Wed Nov 26 00:55:30 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpresponse.rb: add HTTPResponse#keep_alive=.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (HTTPServer#run): should pass the</div><div class='add'>+	  request's keep_alive flag to the response.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 21:41:35 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h (ENV_IGNORECASE): should define when DOSISH without</div><div class='add'>+	  human68k. [ruby-dev:22047]</div><div class='add'>+</div><div class='add'>+	* hash.c (env_has_value, env_index): don't ignore case of value.</div><div class='add'>+	  [ruby-dev:22048]</div><div class='add'>+</div><div class='add'>+Tue Nov 25 21:39:37 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (path_check_1): honor sticky bits always.</div><div class='add'>+	  [ruby-talk:86273]</div><div class='add'>+</div><div class='add'>+Tue Nov 25 20:02:14 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: do test in more deep</div><div class='add'>+	  directory.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_nowrite.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 19:04:23 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::Generic#find_proxy): ENV case sensitivity test</div><div class='add'>+	  refined.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 18:13:30 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: chdir Dir.tmpdir before each</div><div class='add'>+	  test. [ruby-dev:22045]</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_nowrite.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 17:52:11 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::Generic#find_proxy): use http_proxy under CGI</div><div class='add'>+	  if the environment variable is case sensitive.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 16:41:33 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb:</div><div class='add'>+	  removed.  this test requires extra libraries in soap4r/1.5.*.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 16:24:42 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/**/*.rb, lib/wsdl/**/*.rb, lib/xsd/**/*.rb: changed license;</div><div class='add'>+	  GPL2 -&gt; Ruby's.</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/driver.rb, lib/soap/wsdlDriver.rb,</div><div class='add'>+	  lib/soap/streamHandler.rb: add interface to streamhandler.</div><div class='add'>+</div><div class='add'>+	* lib/soap/marshal.rb: raise error if parse fails.</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb: add https support.  Patched by</div><div class='add'>+	  Oliver M. Bolzer.</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb: dump HTTP response message body by itself.</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/driver.rb, lib/soap/rpc/proxy.rb,</div><div class='add'>+	  lib/soap/wsdlDriver.rb: add driver#mandatorycharset interface to foce</div><div class='add'>+	  using charset for parsing response from buggy server.</div><div class='add'>+</div><div class='add'>+	* lib/soap/encodingstyle/soapHandler.rb: support Apache Axis's half</div><div class='add'>+	  typed multi-ref array.</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/factory.rb, lib/soap/mapping/registry.rb: map</div><div class='add'>+	  SOAPStruct which has multi-accessors which name are the same, to an</div><div class='add'>+	  array.</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/element.rb: fixed illegal parameter order.</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/element.rb: element name of response message could have</div><div class='add'>+	  the name other than 'return'.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/operation.rb, lib/wsdl/operationBinding.rb,</div><div class='add'>+	  lib/wsdl/soap/classDefCreator.rb, lib/wsdl/soap/methodDefCreator.rb,</div><div class='add'>+	  lib/wsdl/soap/methodDefCreatorSupport.rb: WSDL/1.1 allows plural</div><div class='add'>+	  fault definition in a operation. [ruby-talk:84948]</div><div class='add'>+</div><div class='add'>+	* test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb: add</div><div class='add'>+	  test for above fix.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/soap/complexType.rb: support WSDL array definition with</div><div class='add'>+	  maxOccures="unbound".</div><div class='add'>+</div><div class='add'>+	* lib/xsd/charset.rb: use cp932 under emx.  Patched by</div><div class='add'>+	  Siena. / SHINAGAWA, Norihide in [ruby-dev:21972]</div><div class='add'>+</div><div class='add'>+	* lib/xsd/xmlparser/parser.rb: set @charset nil by default.  Nil means</div><div class='add'>+	  'follow encoding declaration in XML'.</div><div class='add'>+</div><div class='add'>+	* sample/soap/digraph.rb, sample/wsdl/amazon/wsdlDriver.rb,</div><div class='add'>+	  sample/wsdl/googleSearch/sampleClient.rb,</div><div class='add'>+	  sample/wsdl/googleSearch/wsdlDriver.rb,</div><div class='add'>+	  test/wsdl/test_emptycomplextype.rb,</div><div class='add'>+	  test/wsdl/marshal/test_wsdlmarshal.rb,</div><div class='add'>+	  test/xsd/test_xmlschemaparser.rb: use File.open(...) { |f| f.read }</div><div class='add'>+	  instead of File.open(...).read. [ruby-dev:21964]</div><div class='add'>+</div><div class='add'>+	* test/wsdl/emptycomplextype.wsdl, test/wsdl/test_emptycomplextype.rb:</div><div class='add'>+	  simplify the test case.</div><div class='add'>+</div><div class='add'>+	* test/wsdl/axisArray/*: add tests for axis's array encoding.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 16:15:29 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h: don't treat Cygwin as Windows.</div><div class='add'>+</div><div class='add'>+Tue Nov 25 15:18:28 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: change default value of --enable-pthread (default: no)</div><div class='add'>+</div><div class='add'>+Tue Nov 25 07:31:16 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (primary): allow newlines just before right argument</div><div class='add'>+	  parenthesis.  (ruby-bugs:PR#1221)</div><div class='add'>+</div><div class='add'>+Mon Nov 24 23:32:06 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (OpenURI.open_loop, URI::HTTP#proxy_open): use</div><div class='add'>+	  catch/throw for redirection instead of exception.</div><div class='add'>+	  (OpenURI.open_loop, OpenURI.redirectable?): restrict redirection.</div><div class='add'>+</div><div class='add'>+Mon Nov 24 19:59:48 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::Generic#find_proxy): use CGI_HTTP_PROXY</div><div class='add'>+	  instead of HTTP_PROXY in the CGI environment.</div><div class='add'>+</div><div class='add'>+Mon Nov 24 19:32:55 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/extconf.rb: check for pw_passwd in struct passwd and</div><div class='add'>+	  gr_passwd in struct group for DJGPP.</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/Setup.dj: support for curses, etc, zlib.</div><div class='add'>+</div><div class='add'>+Mon Nov 24 17:00:00 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb: validate option names.</div><div class='add'>+	  :content_length_proc and :progress_proc option implemented.</div><div class='add'>+</div><div class='add'>+Mon Nov 24 14:53:10 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='add'>+	  (XCFLAGS): output empty value instead of `-DRUBY_EXPORT'.</div><div class='add'>+</div><div class='add'>+Sat Nov 22 23:09:45 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: set enable_pthread to no on MinGW.</div><div class='add'>+</div><div class='add'>+Sat Nov 22 22:56:20 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: add --enable-pthread option (default: yes)</div><div class='add'>+</div><div class='add'>+Sat Nov 22 22:48:46 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add Tk.grab_release and fix bug of TkComposite</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkafter.rb: bug fix of TkAfter#start</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkcombobox.rb: new sample script</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add native thread check</div><div class='add'>+</div><div class='add'>+Sat Nov 22 18:49:47 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (window_nodelay): nodelay() of NetBSD's</div><div class='add'>+	  libcruses returns no value, just like keypad().</div><div class='add'>+</div><div class='add'>+Sat Nov 22 17:36:36 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='add'>+	  (HAVE_GETCWD): output to config.h.</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='add'>+	  (XCFLAGS): output to config.status.</div><div class='add'>+</div><div class='add'>+Sat Nov 22 13:10:10 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (have_st_ino?): djgpp has valid st_ino.</div><div class='add'>+</div><div class='add'>+Sat Nov 22 11:28:48 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (Init_stack): stack region is far smaller than usual if</div><div class='add'>+	  pthread is used.</div><div class='add'>+</div><div class='add'>+Sat Nov 22 07:30:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/util/backtracefilter.rb: fixed a bug that occurred</div><div class='add'>+	  when an exception had no backtrace.</div><div class='add'>+</div><div class='add'>+	* test/testunit/util/test_backtracefilter.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Nov 21 16:44:18 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkentry.rb: fix the encoding trouble of percent</div><div class='add'>+	  substitutions on validatecommand option of TkEntry widget</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: fix bug on {pack|grid}_propagate() method</div><div class='add'>+</div><div class='add'>+Fri Nov 21 16:12:11 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.1: Fix markups and grammar.</div><div class='add'>+</div><div class='add'>+Fri Nov 21 14:49:42 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.1: wrote about ruby related environment variables.</div><div class='add'>+</div><div class='add'>+Fri Nov 21 12:28:03 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_extended): singleton methods should not be checked</div><div class='add'>+	  when dumping via marshal_dump() or _dump(). [ruby-talk:85909]</div><div class='add'>+</div><div class='add'>+Fri Nov 21 01:40:00 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: check &lt;pthread.h&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h: include pthread.h if existence.</div><div class='add'>+	  define is_ruby_native() macro when not HAVE_NATIVETHREAD</div><div class='add'>+</div><div class='add'>+	* eval.c: undef is_ruby_native() function when not HAVE_NATIVETHREAD</div><div class='add'>+</div><div class='add'>+Fri Nov 21 00:43:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: use #__send__ instead of #send.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testcase.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Nov 20 19:19:22 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: don't find the Cygwin's pthread library on MinGW.</div><div class='add'>+</div><div class='add'>+Thu Nov 20 19:15:50 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (have_st_ino?): emx (OS/2 with EMX) does not</div><div class='add'>+	  have st_ino (always 0). [ruby-dev:21972]</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (rename_cannot_overwrite_file?): emx does not</div><div class='add'>+	  allow overwriting files by rename(2).</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: windows? -&gt;</div><div class='add'>+	  have_drive_letter?, have_file_perm?</div><div class='add'>+</div><div class='add'>+Thu Nov 20 17:50:58 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkballoonhelp.rb: new sample script</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tkmultilistbox.rb: ditto</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/tktextframe.rb: ditto</div><div class='add'>+</div><div class='add'>+Thu Nov 20 13:37:34 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ruby.h: define is_ruby_native_thread() for no native thread</div><div class='add'>+	  environment</div><div class='add'>+</div><div class='add'>+	* eval.c: ditto</div><div class='add'>+</div><div class='add'>+Thu Nov 20 12:42:47 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: always check existence of the pthread library</div><div class='add'>+</div><div class='add'>+	* ruby.h: define macros for ruby's native thread check</div><div class='add'>+</div><div class='add'>+	* eval.c: add ruby's native thread check</div><div class='add'>+</div><div class='add'>+	* gc.c: ditto</div><div class='add'>+</div><div class='add'>+Wed Nov 19 14:45:18 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (to_ary): print more friendly warning message.</div><div class='add'>+</div><div class='add'>+Wed Nov 19 14:32:08 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_same?): add djgpp and wince.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cannot_overwrite_file?): add wince.</div><div class='add'>+</div><div class='add'>+Wed Nov 19 11:04:47 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (cannot_overwrite_file?, have_st_ino?): bccwin32</div><div class='add'>+	  is same as mswin32.</div><div class='add'>+</div><div class='add'>+Wed Nov 19 07:54:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: do not run tests if $! is set.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertionfailederror.rb: extend StandardError instead</div><div class='add'>+	  Exception (irb catches the former but not the latter).</div><div class='add'>+</div><div class='add'>+Tue Nov 18 23:31:36 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/memmove.c (memmove): take void *, not char *.</div><div class='add'>+</div><div class='add'>+	* missing.h (memmove): ditto.</div><div class='add'>+</div><div class='add'>+	* missing.h (strchr, strrchr): return char *, not int.</div><div class='add'>+</div><div class='add'>+Tue Nov 18 22:20:10 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_same?): temporal fix for windows.</div><div class='add'>+</div><div class='add'>+Tue Nov 18 19:05:04 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_same?): check by inode instead of path</div><div class='add'>+	  name, to detect two hard links pointing to the same content.</div><div class='add'>+</div><div class='add'>+	* test/fileutils.rb: did not create correctly looped symlinks.</div><div class='add'>+</div><div class='add'>+Tue Nov 18 18:23:05 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_read): behave as IO at empty string.</div><div class='add'>+	  [ruby-dev:21939], [ruby-dev:21941]</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_getc, strio_getline): set EOF flag.</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_rewind, strio_seek, strio_ungetc):</div><div class='add'>+	  clear EOF flag.</div><div class='add'>+</div><div class='add'>+	* test/stringio/test_stringio.rb: imported from [ruby-dev:21941].</div><div class='add'>+</div><div class='add'>+Tue Nov 18 14:06:35 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (fu_each_src_dest): raise if src==dest.</div><div class='add'>+	  [ruby-talk:85344] [ruby-core:01699]</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: use Object#is_a? instead of Class#=== to allow</div><div class='add'>+	  e.g. remote objects for receivers.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: FileTest -&gt; File.</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb: put parentheses for arguments of File.xxxx?</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_cp): test "cp a a".</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_mv): test "mv a a".</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_ln): test "ln a a".</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_ln_s): test "ln_s a a".</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb (test_install): test "install a a".</div><div class='add'>+</div><div class='add'>+	* test/fileutils/fileasserts.rb: new method assert_symlink.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/fileasserts.rb: assert_is_directory -&gt; assert_directory.</div><div class='add'>+</div><div class='add'>+Mon Nov 17 19:38:49 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (getcwdofdrv): avoid using getcwd() directly, use</div><div class='add'>+	  my_getcwd() instead.</div><div class='add'>+</div><div class='add'>+	* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine</div><div class='add'>+	  &lt;sunshine@sunshineco.com&gt;.  [ruby-core:01596]</div><div class='add'>+</div><div class='add'>+Mon Nov 17 10:50:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Completion::complete): allow least</div><div class='add'>+	  common completion for three or more candidates.</div><div class='add'>+</div><div class='add'>+Mon Nov 17 09:41:38 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/tk/testrunner.rb,</div><div class='add'>+	  lib/test/unit/ui/gtk/testrunner.rb:</div><div class='add'>+	  run GUI main loop in sub thread.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/gtk2/testrunner.rb: imported from rough.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb (keyword_display): sort keywords.</div><div class='add'>+</div><div class='add'>+Sun Nov 16 18:10:57 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): iterator should return value from next inside</div><div class='add'>+	  begin/rescue/end.  (ruby-bugs:PR#1218)</div><div class='add'>+</div><div class='add'>+Sun Nov 16 13:26:07 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): LINK check earlier than anything else,</div><div class='add'>+	  i.e. do not dump TYPE_IVAR for already dumped objects.</div><div class='add'>+	  (ruby-bugs:PR#1220)</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): call "inherited" only when a new class is</div><div class='add'>+	  generated; not on reopening.</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): prepend error position in evaluating string to</div><div class='add'>+	  "mesg" attribute string only when it's available and is a</div><div class='add'>+	  string.</div><div class='add'>+</div><div class='add'>+Sun Nov 16 12:16:10 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/protocol.rb: logging response body. [experimental]</div><div class='add'>+	  [ruby-list:38800]</div><div class='add'>+</div><div class='add'>+Sun Nov 16 10:49:38 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='add'>+</div><div class='add'>+	* lib/thread.rb (Thread.exclusive): wrap method definition in</div><div class='add'>+	  class Thread to enable rdoc to process.</div><div class='add'>+</div><div class='add'>+Sun Nov 16 09:45:23 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (set_debug_output): warn if method is called</div><div class='add'>+	  after #start.  [ruby-dev:38798]</div><div class='add'>+</div><div class='add'>+Sun Nov 16 04:41:33 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (eval): do not re-raise exception to avoid unnecessary</div><div class='add'>+	  exception copying, instead modify exception and internal</div><div class='add'>+	  information to adjust eval().</div><div class='add'>+</div><div class='add'>+	* eval.c (backtrace): can return the current frame information</div><div class='add'>+	  only if lev &lt; -1.</div><div class='add'>+</div><div class='add'>+Sat Nov 15 22:16:42 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* /ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext):</div><div class='add'>+	  refine error message.</div><div class='add'>+</div><div class='add'>+Sat Nov 15 10:05:40 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (OpenURI.open_loop, OpenURI::HTTP#proxy_open):</div><div class='add'>+	  refactored to support options.</div><div class='add'>+	  (Buffer): maintain size by this class.</div><div class='add'>+</div><div class='add'>+Sat Nov 15 07:40:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_method_node): new API to retrieve method body.</div><div class='add'>+</div><div class='add'>+Fri Nov 14 13:21:30 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: fix (en-bugged at 2003/11/07)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkdialog.rb: TkDialog.new accepts a parent widget</div><div class='add'>+	  argument [ruby-talk:85066]</div><div class='add'>+</div><div class='add'>+Thu Nov 13 20:53:35 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.</div><div class='add'>+	  [ruby-ext:02251]</div><div class='add'>+</div><div class='add'>+Thu Nov 13 19:17:00 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/tk/testrunner.rb: use grid and panedwindow</div><div class='add'>+	  (if available)</div><div class='add'>+</div><div class='add'>+Thu Nov 13 17:56:41 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (OpenURI.open_uri): use File::RDONLY.</div><div class='add'>+	  reported by Take_tk &lt;ggb03124@nifty.ne.jp&gt;.</div><div class='add'>+	  [ruby-ext:02245]</div><div class='add'>+</div><div class='add'>+Thu Nov 13 16:45:53 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509req.c (ossl_x509req_to_der): add function for</div><div class='add'>+	  X509::Request#to_der.</div><div class='add'>+</div><div class='add'>+Thu Nov 13 11:31:14 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Completion#complete): prior shorter</div><div class='add'>+	  name to containing longer name.</div><div class='add'>+</div><div class='add'>+Thu Nov 13 06:08:54 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: stop freezing some classes</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed Nov 12 17:32:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb (assert_throws, assert_nothing_thrown):</div><div class='add'>+	  uncaught throw in sub thread raises ThreadError.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/tk/testrunner.rb (setup_ui): "expand" is not</div><div class='add'>+	  necessary.</div><div class='add'>+</div><div class='add'>+Wed Nov 12 14:09:43 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/monitor/test_monitor.rb: fix the timing problem by Queue.</div><div class='add'>+</div><div class='add'>+Wed Nov 12 12:59:44 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/monitor/test_monitor.rb: added.</div><div class='add'>+</div><div class='add'>+Wed Nov 12 10:14:28 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/monitor.rb: refactored. Thanks, Gennady Bystritsky.</div><div class='add'>+</div><div class='add'>+Wed Nov 12 06:11:39 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_x509_sk2ary, ossl_x509crl_sk2ary):</div><div class='add'>+	  add functions to convert STACK into Array.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: add prototypes.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_set_certificates,</div><div class='add'>+	  ossl_pkcs7_get_certificates, ossl_pkcs7_get_crls,</div><div class='add'>+	  ossl_pkcs7_set_crls): add functions for PKCS7#certificates=</div><div class='add'>+	  PKCS7#certificates, PKCS7#crls= and PKCS7#crls.</div><div class='add'>+</div><div class='add'>+Wed Nov 12 00:47:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/testrunnermediator.rb: should require 'test/unit'.</div><div class='add'>+</div><div class='add'>+Tue Nov 11 23:54:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/gtk/testrunner.rb: added a rescue clause to handle</div><div class='add'>+	  the case when the requested font is not available.</div><div class='add'>+</div><div class='add'>+Tue Nov 11 22:44:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (appendline): file may not end with newline.  a bug if</div><div class='add'>+	  READ_DATA_PENDING_PTR is defined. [ruby-talk:84925]</div><div class='add'>+</div><div class='add'>+Tue Nov 11 10:42:41 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: raise an exception when creating TkWindow</div><div class='add'>+	  object, because TkWindow class is an abstract class.</div><div class='add'>+</div><div class='add'>+Tue Nov 11 03:30:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ext/openssl/ossl_conf.c (ossl_config_get_value): return nil</div><div class='add'>+	  if the specified value doesn't exist.</div><div class='add'>+</div><div class='add'>+	* lib/ext/openssl/ossl_conf.c (ossl_config_get_section): return</div><div class='add'>+	  a empty hash if the specified section doesn't exist.</div><div class='add'>+</div><div class='add'>+Mon Nov 10 11:40:29 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/monitor.rb (wait): return true on signal/broadcastfalse and</div><div class='add'>+	  false on timeout. Thanks Gennady Bystritsky.</div><div class='add'>+</div><div class='add'>+Mon Nov 10 00:07:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (primary): primary_value may be 0 when syntax error.</div><div class='add'>+	  [ruby-talk:84893]</div><div class='add'>+</div><div class='add'>+Sun Nov  9 02:05:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: un-deprecated #assert_not_nil to</div><div class='add'>+	  maintain symmetry with #assert_nil. Also added better output for</div><div class='add'>+	  #assert_kind_of.</div><div class='add'>+</div><div class='add'>+	* test/testunit/tc_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Nov  8 18:50:20 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/wsdl/raa/*: add new testcase for WSDL loading, parsing and</div><div class='add'>+	  reading.</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/*: backport from soap4r/1.5.1.  all differences are</div><div class='add'>+	  for ruby/1.6.</div><div class='add'>+</div><div class='add'>+	* lib/soap/*: backport from soap4r/1.5.1.  all differences are for</div><div class='add'>+	  ruby/1.6.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of</div><div class='add'>+	  ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*.</div><div class='add'>+	  [ruby-talk:84813]</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/soap/definitions.rb: element name typo in custom exception</div><div class='add'>+	  struct definition which is needed for wsdlDriver; camelCase -&gt;</div><div class='add'>+	  underscore_name.</div><div class='add'>+</div><div class='add'>+Sat Nov  8 13:49:50 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: improvement of pthread check</div><div class='add'>+</div><div class='add'>+Sat Nov  8 13:28:46 2003  Takaaki Tateishi  &lt;ttate@ttsky.net&gt;</div><div class='add'>+	* ext/dl/sym.c: Add DL.win32_last_error and DL.last_error.</div><div class='add'>+	  Thanks, Kaoru Shirai.</div><div class='add'>+</div><div class='add'>+Sat Nov  8 06:19:38 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: To fix 'pthread-enabled Tcl/Tk' problem,</div><div class='add'>+	  TclTkIp#_eval calls Tcl_Eval() on the mainloop thread only</div><div class='add'>+	  (queueing a handler to the EventQueue).</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/README.1st: edit the description of '--with-pthread-ext'</div><div class='add'>+</div><div class='add'>+Fri Nov  7 23:23:04 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (Pathname#+): if self or the argument is `.', return</div><div class='add'>+	  another.</div><div class='add'>+	  (Pathname#parent): if self is `.', return `..'.</div><div class='add'>+	  (Pathname#children): if self is `.', don't prepend self for a</div><div class='add'>+	  pathname in a result.</div><div class='add'>+	  (Pathname#join): re-implemented using Pathname#+.</div><div class='add'>+	  (Pathname#find): if self is `.', remove `./' prefix of yielding</div><div class='add'>+	  pathname.</div><div class='add'>+</div><div class='add'>+Fri Nov  7 10:23:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (make_hostent): get rid of SEGV on aliases</div><div class='add'>+	  lookup failure.  (ruby-bugs:PR#1215)</div><div class='add'>+</div><div class='add'>+Fri Nov  7 04:08:05 2003  UENO Katsuhiro  &lt;katsu@blue.sky.or.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/zlib/zlib.c (Init_zlib): define Zlib::GzipReader#each_line as</div><div class='add'>+	  an alias of Zlib::GzipReader#each.</div><div class='add'>+</div><div class='add'>+Fri Nov  7 01:03:16 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_load): save and restore rb_prohibit_interrupt.</div><div class='add'>+	  [ruby-dev:21857]</div><div class='add'>+</div><div class='add'>+Thu Nov  6 18:05:07 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_inspect): show the path also at a closed file.</div><div class='add'>+	  [ruby-dev:21851]</div><div class='add'>+</div><div class='add'>+Thu Nov  6 11:42:07 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_set_string, strio_reopen): check</div><div class='add'>+	  tainted.</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_copy, strio_ungetc, strio_write,</div><div class='add'>+	  strio_putc): add infection.</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (strio_path): just nil.  [ruby-dev:21846]</div><div class='add'>+</div><div class='add'>+	* ruby.c (proc_options): reserve searched script path in the</div><div class='add'>+	  source file name table.  [ruby-list:38765]</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Completion#complete): default not to</div><div class='add'>+	  ignore case on completion.  [ruby-talk:84726]</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (make_cmdvector): process backslashes even if a quote</div><div class='add'>+	  is not enclosed.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 23:49:45 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/openssl/gen_csr.rb: there (at least) is a CA which does not</div><div class='add'>+	  accept DN in UTF8STRING format.  it's a sample.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 22:55:16 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, eval.c, signal.c: : add '--with-pthread-ext'</div><div class='add'>+	  option to fix the pthread trouble on 'tcltklib'</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/README.1st: add the description of '--with-pthread-ext'</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tktext.rb : add TkText#text_copy, text_cut, text_paste</div><div class='add'>+	  to support Tcl/Tk8.4's tk_textCopy, tk_textCut, tk_textPaste</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb : add TkMenu#set_focus support Tcl/Tk's</div><div class='add'>+	  tk_menuSetFocus</div><div class='add'>+</div><div class='add'>+Wed Nov  5 17:33:45 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_load): allow interrupt during loaded program</div><div class='add'>+	  evaluation.  [ruby-dev:21834]</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_fetch): always warn if default argument and a</div><div class='add'>+	  block are supplied at the same time. [ruby-dev:21842]</div><div class='add'>+</div><div class='add'>+	* hash.c (env_fetch): ditto.</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fetch): ditto.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 19:08:47 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):</div><div class='add'>+	  do not remove next argument if empty value is placed.</div><div class='add'>+</div><div class='add'>+	* test/optparse: added.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 17:05:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/gtk/testrunner.rb: typo.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 11:13:32 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c: add #include "version.h". this file still depends on it.</div><div class='add'>+</div><div class='add'>+	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,</div><div class='add'>+	  wince/Makefile.sub: add version.h dependency to string.c.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 09:14:23 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/monitor.rb: revert to the previous revision.</div><div class='add'>+</div><div class='add'>+Wed Nov  5 08:39:51 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/https.rb (HTTPRequest#meta_vars): create</div><div class='add'>+	  SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil</div><div class='add'>+	  if no cert-chain was given.</div><div class='add'>+</div><div class='add'>+Tue Nov  4 23:44:48 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:</div><div class='add'>+	  remove needless version.h dependency.</div><div class='add'>+</div><div class='add'>+Tue Nov  4 23:38:43 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* class.c, hash.c, string.c: remove #include "version.h".</div><div class='add'>+</div><div class='add'>+	* Makefile.in: remove needless version.h dependency.</div><div class='add'>+</div><div class='add'>+Tue Nov  4 06:54:52 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (read_all): fptr-&gt;f may be NULL, if IO is closed in the</div><div class='add'>+	  signal handler.</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): ditto.</div><div class='add'>+</div><div class='add'>+	* string.c (get_pat): remove 1.8.0 warning code.</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_match): extend warning until 1.8.2.</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_match2): ditto.</div><div class='add'>+</div><div class='add'>+	* class.c (class_instance_method_list): remove 1.8.0 warnings.</div><div class='add'>+	  method_list now recurs.  [ruby-dev:21816]</div><div class='add'>+</div><div class='add'>+	* class.c (rb_obj_singleton_methods): ditto.</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_select): remove select with block.</div><div class='add'>+	  [ruby-dev:21824]</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_select): ditto.</div><div class='add'>+</div><div class='add'>+	* hash.c (env_select): ditto.</div><div class='add'>+</div><div class='add'>+	* re.c (match_select): ditto.</div><div class='add'>+</div><div class='add'>+	* struct.c (rb_struct_select): ditto.</div><div class='add'>+</div><div class='add'>+Mon Nov  3 22:53:21 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/racc/parser.rb: synchronize with Racc 1.4.4.</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/racc/cparse/cparse.c (parse_main): should abort when</div><div class='add'>+	  the length of LR state stack &lt;=1, not ==0.</div><div class='add'>+</div><div class='add'>+Mon Nov  3 08:50:47 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (check_uid_switch): remove duplicated error messages.</div><div class='add'>+</div><div class='add'>+	* process.c (check_gid_switch): ditto.</div><div class='add'>+</div><div class='add'>+Sun Nov  2 02:28:33 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/ssl.rb: new option :SSLExtraChainCert.</div><div class='add'>+</div><div class='add'>+Sun Nov  2 01:02:04 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_hash): Update the HASH_PERL alternative hash</div><div class='add'>+	  algorithm in sync with Perl 5.8.</div><div class='add'>+</div><div class='add'>+	* st.c (strhash): Ditto.</div><div class='add'>+</div><div class='add'>+Sat Nov  1 18:21:09 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method</div><div class='add'>+	  SSLSocket#peer_cert_chain.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509req.c (GetX509ReqPtr): new function</div><div class='add'>+	  which returns underlying X509_REQ.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_issuer_cert,</div><div class='add'>+	  ossl_x509extfactory_set_subject_cert, ossl_x509extfactory_set_crl,</div><div class='add'>+	  ossl_x509extfactory_set_subject_req, ossl_x509extfactory_set_config):</div><div class='add'>+	  use underlying C struct without duplication not to leak momory.</div><div class='add'>+</div><div class='add'>+Sat Nov  1 01:49:03 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/factory.rb: mark marshalled basetype objects when</div><div class='add'>+	  @allow_original_mapping is true.  multi-referencing basetype node is</div><div class='add'>+	  prohibited in SOAP/1.1 encoding but soap4r's original ruby object</div><div class='add'>+	  mapping requires basetype to be marked to detect self referencing</div><div class='add'>+	  loop.  e.g. o = 1; o.instance_eval { @iv = o }  soap4r's original</div><div class='add'>+	  mapping is only used through soap/marshal API.</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/test_marshal.rb: add tests for self referencing</div><div class='add'>+	  immutable objects.</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/test_calc_cgi.rb: fix test name.</div><div class='add'>+</div><div class='add'>+Fri Oct 31 22:26:29 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* wince/string_wce.c (strrchr): should decrement pointer.</div><div class='add'>+</div><div class='add'>+	* wince/Makefile.sub: correct a range of isdigit().</div><div class='add'>+</div><div class='add'>+Fri Oct 31 12:55:24 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD.</div><div class='add'>+	  [ruby-dev:21791]</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.</div><div class='add'>+</div><div class='add'>+Fri Oct 31 01:38:14 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* wince/Makefile.sub, win32/Makefile.sub (.y.c): allow white spaces</div><div class='add'>+	  at the beginning of line to remove by sed. (ruby-bugs-ja:PR#580)</div><div class='add'>+</div><div class='add'>+Fri Oct 31 01:02:24 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* compar.c (cmp_equal): protect exceptions from &lt;=&gt; comparison</div><div class='add'>+	  again.  returns nil if any exception or error happened during</div><div class='add'>+	  comparison.</div><div class='add'>+</div><div class='add'>+	* eval.c (search_required): should update *featurep when DLEXT2 is</div><div class='add'>+	  defined. (ruby-bugs-ja:PR#581)</div><div class='add'>+</div><div class='add'>+Thu Oct 30 23:41:04 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: add DRbArray</div><div class='add'>+</div><div class='add'>+	* lib/drb/invokemethod.rb: fix Hash#each problem. [ruby-dev:21773]</div><div class='add'>+</div><div class='add'>+	* lib/drb/unix.rb: add LoadError. [ruby-dev:21743]</div><div class='add'>+</div><div class='add'>+Thu Oct 30 23:19:11 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/generator.rb: better XML pretty printing.</div><div class='add'>+</div><div class='add'>+	* lib/soap/encodingstyle/soapHandler.rb: remove unnecessary namespace</div><div class='add'>+	  assignment in the element which has "encodingStyle" attribute, and</div><div class='add'>+	  add necessary namespace assignment for "arrayType" attribute.</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/test_calc_cgi.rb: take over $DEBUG to ruby process</div><div class='add'>+	  through CGI.</div><div class='add'>+</div><div class='add'>+Thu Oct 30 22:59:39 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/yaml2byte.c: HASH const too long.  Thanks, matz.</div><div class='add'>+</div><div class='add'>+Thu Oct 30 19:13:53 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/MANIFEST: Add yamlbyte.h.</div><div class='add'>+</div><div class='add'>+Thu Oct 30 14:25:31 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (READ_DATA_BUFFERED): new macro to detect whether stdio</div><div class='add'>+	  buffer filled.</div><div class='add'>+</div><div class='add'>+	* io.c (rb_io_fptr_cleanup): move path deallocation to</div><div class='add'>+	  rb_io_fptr_finalize (finalizer called by GC).</div><div class='add'>+</div><div class='add'>+Thu Oct 30 13:23:39 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (logop): left may be NULL. [ruby-talk:84539]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): NODE_CASE nd_head may be NULL.</div><div class='add'>+</div><div class='add'>+Thu Oct 30 10:14:51 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb: make fox runner work.</div><div class='add'>+</div><div class='add'>+Thu Oct 30 09:32:26 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (rb_f_system): fixed lack of security check before</div><div class='add'>+	  calling do_spawn() on win32. [ruby-talk:84555]</div><div class='add'>+</div><div class='add'>+Thu Oct 30 02:46:35 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): single array value to normal Proc#call</div><div class='add'>+	  (i.e. not via lambda call), should be treated just like yield.</div><div class='add'>+	  [ruby-dev:21726]</div><div class='add'>+</div><div class='add'>+Thu Oct 30 02:25:48 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):</div><div class='add'>+	  add new method to inherit @sync from @io.sync.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): no need to</div><div class='add'>+	  set sync flag explicitly.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): call super.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): set extra chain</div><div class='add'>+	  certificates in @extra_chain_cert.</div><div class='add'>+</div><div class='add'>+Wed Oct 29 22:02:04 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb: use rbconfig.rb to make the path of ruby</div><div class='add'>+	  interpreter to exec, instead of test/ruby/envutil.rb,</div><div class='add'>+</div><div class='add'>+Wed Oct 29 19:58:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (CONST84): define CONST84 when it is not</div><div class='add'>+	  defined and TCL_MAJOR_VERSION &gt;= 8.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (VwaitVarProc, WaitVariableProc,</div><div class='add'>+	  rb_threadVwaitProc): use CONST84 instead of CONST.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_rbTkWaitCommand,</div><div class='add'>+	  ip_rb_threadTkWaitCommand): use CONST84 always.</div><div class='add'>+</div><div class='add'>+Wed Oct 29 17:27:05 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (rb_reg_s_union, Init_Regexp): new method `Regexp.union'.</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (realpath): examine Dir.pwd because it may have</div><div class='add'>+	  symlinks.</div><div class='add'>+</div><div class='add'>+Wed Oct 29 17:16:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_longjmp): must not disturb original jump.</div><div class='add'>+	  [ruby-dev:21733]</div><div class='add'>+</div><div class='add'>+Wed Oct 29 15:28:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_Proc): taint preallocated exception object</div><div class='add'>+	  sysstack_error. [ruby-talk:84534]</div><div class='add'>+</div><div class='add'>+Wed Oct 29 11:27:39 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (ret_args): node may be NULL. [ruby-talk:84530]</div><div class='add'>+</div><div class='add'>+Tue Oct 28 15:20:12 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (VwaitVarProc, ip_rbVwaitObjCmd,</div><div class='add'>+	  WaitVariableProc, WaitVisibilityProc, WaitWindowProc,</div><div class='add'>+	  ip_rbTkWaitObjCmd, ip_rbTkWaitCommand, rb_threadVwaitProc,</div><div class='add'>+	  rb_threadWaitVisibilityProc, rb_threadWaitWindowProc,</div><div class='add'>+	  ip_rb_threadVwaitObjCmd, ip_rb_threadTkWaitObjCmd): prototype;</div><div class='add'>+	  avoid VC++ warnings.</div><div class='add'>+</div><div class='add'>+Mon Oct 27 19:19:55 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_longjmp): ignore reentering error while warning.</div><div class='add'>+	  [ruby-dev:21730]</div><div class='add'>+</div><div class='add'>+Mon Oct 27 00:23:50 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_ruby): bug fix on Win : hang-up when</div><div class='add'>+	  calling 'exit' in the Tk callback procedure. [ruby-list:38656]</div><div class='add'>+</div><div class='add'>+Sat Oct 25 09:18:04 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_method_missing): protect exception from within</div><div class='add'>+	  "inspect".  (ruby-bugs:PR#1204)</div><div class='add'>+</div><div class='add'>+Fri Oct 24 23:26:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* hash.c (rb_hash_each): Hash#each should yield single value.</div><div class='add'>+	  [ruby-talk:84420]</div><div class='add'>+</div><div class='add'>+	* hash.c (env_each): ditto for ENV.each.</div><div class='add'>+</div><div class='add'>+Thu Oct 23 20:25:32 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (GenericServer#start): should rescue</div><div class='add'>+	  IOError from IO::accept. [ruby-dev:21692]</div><div class='add'>+</div><div class='add'>+Thu Oct 23 17:59:36 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_cleanup): initialize stack bottom for embedding.</div><div class='add'>+	  [ruby-dev:21686]</div><div class='add'>+</div><div class='add'>+	* ext/dl/extconf.rb: move list of files to clean from DEPEND file,</div><div class='add'>+	  to get rid of macro redefinitions.</div><div class='add'>+</div><div class='add'>+Thu Oct 23 13:44:00 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y: integrate operations for stack_type.  [ruby-dev:21681]</div><div class='add'>+</div><div class='add'>+Thu Oct 23 00:41:45 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/*, test/soap/helloworld/*: set logging threshold</div><div class='add'>+	  to ERROR.</div><div class='add'>+</div><div class='add'>+Wed Oct 22 12:53:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):</div><div class='add'>+	  ignore tests which raised LoadError.</div><div class='add'>+</div><div class='add'>+	* test/drb/drbtest.rb, test/ruby/test_beginendblock.rb,</div><div class='add'>+	  test/ruby/test_system.rb: avoid requiring same file twice.</div><div class='add'>+</div><div class='add'>+	* test/drb/test_drbssl.rb, test/drb/test_drbunix.rb: should not use</div><div class='add'>+	  ARGV unless invoked directly.  do not create test cases unless</div><div class='add'>+	  required libraries are available.</div><div class='add'>+</div><div class='add'>+Wed Oct 22 02:31:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_cleanup): should not ignore exit_value in END</div><div class='add'>+	  execution. [ruby-dev:21670]</div><div class='add'>+</div><div class='add'>+Tue Oct 21 23:16:26 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_cleanup): call finalizers and exit procs before</div><div class='add'>+	  terminating threads.</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().</div><div class='add'>+</div><div class='add'>+Tue Oct 21 15:57:11 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):</div><div class='add'>+	  prepend the directory of target file to the load path.</div><div class='add'>+</div><div class='add'>+Tue Oct 21 15:08:53 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (do_spawn, do_aspawn): should wait child process even</div><div class='add'>+	  if callded with P_OVERLAY.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (do_spawn, do_aspawn): should return child's exit</div><div class='add'>+	  status to parent.</div><div class='add'>+</div><div class='add'>+Tue Oct 21 00:35:02 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/*, test/soap/helloworld/*: catch the exception from</div><div class='add'>+	  test server thread and recover.</div><div class='add'>+</div><div class='add'>+Tue Oct 21 00:22:57 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* test/drb/*: import drb/runit.</div><div class='add'>+</div><div class='add'>+Mon Oct 20 23:55:47 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): set current node after arguments evaluation.</div><div class='add'>+	  [ruby-dev:21632]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): set current node and keep it at local jump.</div><div class='add'>+</div><div class='add'>+Mon Oct 20 22:01:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_cleanup): keep thread group for main thread.</div><div class='add'>+	  [ruby-dev:21644]</div><div class='add'>+</div><div class='add'>+Mon Oct 20 18:28:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_catch): backout.</div><div class='add'>+</div><div class='add'>+Mon Oct 20 17:31:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (PUSH_FRAME): generate unique number to be TAG_JUMP()</div><div class='add'>+	  destination.</div><div class='add'>+</div><div class='add'>+	* eval.c (localjump_destination): use unique number in ruby_frame</div><div class='add'>+	  for localjump destination.</div><div class='add'>+</div><div class='add'>+Mon Oct 20 11:31:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_signal.rb (test_signal): restore old trap.</div><div class='add'>+</div><div class='add'>+Mon Oct 20 11:00:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_sweep): loosen page free condition to avoid add_heap()</div><div class='add'>+	  race condition. [ruby-dev:21633]</div><div class='add'>+</div><div class='add'>+	* gc.c (gc_sweep): do not update malloc_limit when malloc_increase</div><div class='add'>+	  is smaller than malloc_limit.</div><div class='add'>+</div><div class='add'>+Mon Oct 20 09:45:12 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb (debug_command): remove debug print.</div><div class='add'>+</div><div class='add'>+Wed Oct 20 00:25:41 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (search_required): required name must not be changed before</div><div class='add'>+	  loading.  [ruby-dev:24492]</div><div class='add'>+</div><div class='add'>+Sun Oct 19 13:12:30 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (foreachline, dir_foreach): add obsolete warning.</div><div class='add'>+</div><div class='add'>+Sun Oct 19 00:14:22 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/*, test/soap/helloworkd/*: changed port# of test</div><div class='add'>+	  server. (17171)</div><div class='add'>+</div><div class='add'>+Sat Oct 18 23:01:32 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* missing/acosh.c (DBL_MANT_DIG): typo fix(ifdef -&gt; ifndef).</div><div class='add'>+</div><div class='add'>+Sat Oct 18 05:48:59 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: YAML::Syck::compile method.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c: Buffer edge bug.</div><div class='add'>+</div><div class='add'>+	* ext/syck/yaml2byte.c: YAML to bytecode converter.</div><div class='add'>+</div><div class='add'>+	* ext/syck/yamlbyte.h: Ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/bytecode.c: Bytecode parser fixes to empty collections</div><div class='add'>+	  and empty strings.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: Ditto.</div><div class='add'>+</div><div class='add'>+Fri Oct 17 23:07:38 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/enumerator/enumerator.c, ext/enumerator/enumerator.txt:</div><div class='add'>+	  Provide Kernel#to_enum as an alias for Kernel#enum_for.  Maybe</div><div class='add'>+	  this is a better name.</div><div class='add'>+</div><div class='add'>+Fri Oct 17 23:00:30 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/generator.rb: Add rdoc documentation.</div><div class='add'>+</div><div class='add'>+Fri Oct 17 22:16:42 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/set.rb: Reword and fix Overview.</div><div class='add'>+</div><div class='add'>+	* lib/set.rb: It is not necessary to require</div><div class='add'>+	  'test/unit/ui/console/testrunner'.</div><div class='add'>+</div><div class='add'>+Fri Oct 17 11:15:22 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_range.rb: added.</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add test/ruby/test_range.rb.</div><div class='add'>+</div><div class='add'>+Fri Oct 17 03:21:23 2003  William Sobel  &lt;will.sobel@barra.com&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (make_hostent): h_aliases may be NULL.</div><div class='add'>+	  (ruby-bugs:PR#1195)</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_gethostbyaddr): ditto.</div><div class='add'>+</div><div class='add'>+Fri Oct 17 00:12:41 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: (bug fix) instance variable @frame was used</div><div class='add'>+	  without initializing on TkComposite module.</div><div class='add'>+</div><div class='add'>+Thu Oct 16 23:51:04 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: If $DEBUG == true and some exception is caused</div><div class='add'>+	  in a callback operation, Ruby/Tk shows a (verbose) backtrace</div><div class='add'>+	  information on the callback process.</div><div class='add'>+</div><div class='add'>+Thu Oct 16 17:09:19 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb (DEBUGGER__::Context::debug_command): do not call</div><div class='add'>+	  debug_silent_eval() when $1 is not set. (ruby-bugs:PR#1194)</div><div class='add'>+</div><div class='add'>+Thu Oct 16 16:54:57 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_upto): ("a"..."a").to_a should return [].</div><div class='add'>+	  [ruby-core:01634]</div><div class='add'>+</div><div class='add'>+Thu Oct 16 16:40:51 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb:</div><div class='add'>+	  Add Tk::EncodedString and Tk::UTF8_String class to support</div><div class='add'>+	  characters using the \uXXXX escape to the UNICODE string.</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/{demos-en,demos-jp}/unicodeout.rb</div><div class='add'>+	  new demo-scripts (samples of Tk::UTF8_String)</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/{demos-en,demos-jp}/widget</div><div class='add'>+	  add entries for 'unicodeout.rb'</div><div class='add'>+</div><div class='add'>+Thu Oct 16 08:38:06 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/digest/test_digest.rb (test_eq): show failed class.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_iterator.rb (test_break, test_return_trace_func):</div><div class='add'>+	  test localjump destination.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 20:22:31 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb: use URI::HTTP#request_uri instead of</div><div class='add'>+	  instance_eval('path_query').  [ruby-list:38575]</div><div class='add'>+</div><div class='add'>+Wed Oct 15 17:24:45 2003  URABE Shyouhei  &lt;root@mput.dip.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/cgi.rb (CGI::Cookie): tiny typo fix.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 15:00:54 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_run): just return FAILURE instead of parse error</div><div class='add'>+	  count.  [ruby-list:38569]</div><div class='add'>+</div><div class='add'>+Wed Oct 15 13:17:02 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c (rb_digest_base_alloc): need to initialize</div><div class='add'>+	  buffer. [ruby-dev:21622]</div><div class='add'>+</div><div class='add'>+Wed Oct 15 11:23:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): dump extended modules as well.</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_object0): TYPE_USRMARSHAL should restore extended</div><div class='add'>+	  modules before invoking marshal_load.  these two fixes are done</div><div class='add'>+	  by Masatoshi Seki &lt;m_seki@mva.biglobe.ne.jp&gt;.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 09:30:34 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/enumerator/enumerator.c (enumerator_each): avoid VC++ warning.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: include stdio.h for definition of FILE.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 08:09:07 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/bytecode.c: Checkin of YAML bytecode support.</div><div class='add'>+</div><div class='add'>+	* ext/syck/gram.c: Ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.c: Ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: Ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/handler.c: Ditto.</div><div class='add'>+</div><div class='add'>+	* ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: Ditto (on both counts).</div><div class='add'>+</div><div class='add'>+Wed Oct 15 05:05:53 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/generator.rb: A new library which converts an internal</div><div class='add'>+	  iterator to an external iterator.</div><div class='add'>+</div><div class='add'>+	* lib/abbrev.rb: A new library which creates an abbreviation table</div><div class='add'>+	  from a list.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 04:31:51 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/entry3.rb, ext/tk/sample/demos-jp/entry3.rb :</div><div class='add'>+	  new demo-scripts</div><div class='add'>+</div><div class='add'>+	* ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/widget :</div><div class='add'>+	  add entries for 'entry3.rb'</div><div class='add'>+</div><div class='add'>+Wed Oct 15 04:31:47 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/digest/test_digest.rb: Moved from ext/digest/test.rb.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 03:53:20 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: fixed trouble on auto-load Tcl commands (enbug</div><div class='add'>+	  on the last commit).</div><div class='add'>+</div><div class='add'>+Wed Oct 15 00:25:00 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (yylex): argument parentheses preceded by spaces should</div><div class='add'>+	  be warned; not error.  [ruby-talk:84103]</div><div class='add'>+</div><div class='add'>+Wed Oct 15 00:20:15 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: replace Tcl/Tk's vwait and tkwait to</div><div class='add'>+	  switch on threads smoothly and avoid seg-fault.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add TclTkIp._thread_vwait and</div><div class='add'>+	  _thread_tkwait for waiting on a thread. (Because Tcl/Tk's vwait</div><div class='add'>+	  and tkwait command wait on an eventloop.)</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: support TclTkIp._thread_vwait and</div><div class='add'>+	  _thread_tkwait.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: now, TkVariable#wait has 2 arguments.</div><div class='add'>+	  If 1st argument is true, waits on a thread. If false, waits on</div><div class='add'>+	  an eventloop. If 2nd argument is true, checks existence of</div><div class='add'>+	  rootwidgets. If false, doesn't. Default is wait(true, false).</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkVariable#tkwait(arg) which is equal to</div><div class='add'>+	  TkVariable#wait(arg, true). wait_visibility and wait_destroy</div><div class='add'>+	  have an argument for waiting on a thread or an eventloop.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: improve of accessing Tcl/Tk's special variables.</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkafter.rb: support 'wait on a thread' and 'wait on</div><div class='add'>+	  an eventloop'.</div><div class='add'>+</div><div class='add'>+Wed Oct 15 00:10:24 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of</div><div class='add'>+	  SOAPBasetype and SOAPCompoundtype.</div><div class='add'>+</div><div class='add'>+	* lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:</div><div class='add'>+	  Encoding methods signature change.  Pass SOAPGenerator as a parameter.</div><div class='add'>+</div><div class='add'>+	* lib/soap/mapping/*, test/soap/marshal/test_marshal.rb: Refactoring</div><div class='add'>+	  for better marshalling/unmarshalling support.  Now I think SOAP</div><div class='add'>+	  marshaller supports all kind of object graph which is supported by</div><div class='add'>+	  Ruby's original marshaller.  Of course there could be bugs as always.</div><div class='add'>+	  Find it.  :-)</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO.</div><div class='add'>+	  DEBUG is too noisy.</div><div class='add'>+</div><div class='add'>+	* lib/xsd/datatypes.rb: DateTime#of is obsoleted.  Use DateTime#offset.</div><div class='add'>+</div><div class='add'>+	* test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid</div><div class='add'>+	  useless warning.</div><div class='add'>+</div><div class='add'>+Tue Oct 14 19:09:35 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (ruby_finalize_0): return the given exit status unless</div><div class='add'>+	  SystemExit got raised.</div><div class='add'>+</div><div class='add'>+Tue Oct 14 11:53:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* intern.h (ruby_stop): never return.</div><div class='add'>+</div><div class='add'>+	* ruby.h (ruby_run): ditto.</div><div class='add'>+</div><div class='add'>+Tue Oct 14 04:43:55 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (realpath): make ELOOP check bit more robust.</div><div class='add'>+	  (children): prepend self by default.</div><div class='add'>+	  (chroot): obsoleted.</div><div class='add'>+</div><div class='add'>+Tue Oct 14 02:29:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_require_safe): segfault after loading .so.</div><div class='add'>+</div><div class='add'>+Tue Oct 14 02:05:23 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper</div><div class='add'>+	  module for the Enumerable interface.</div><div class='add'>+</div><div class='add'>+Mon Oct 13 23:55:59 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/envutil.rb: use Config::CONFIG["ruby_install_name"],</div><div class='add'>+	  not "ruby".</div><div class='add'>+</div><div class='add'>+Mon Oct 13 23:57:29 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_feature_p): match by classified suffix.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_require_safe): require library in the specified safe</div><div class='add'>+	  level.</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_autoload, rb_autoload_load): restore safe level</div><div class='add'>+	  when autoload was called.  [ruby-dev:21338]</div><div class='add'>+</div><div class='add'>+	* intern.h: prototypes; rb_require_safe.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: accept non-option arguments.</div><div class='add'>+</div><div class='add'>+Mon Oct 13 20:49:51 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_new4): should not preserve FL_TAINT status in the</div><div class='add'>+	  internal shared string. [ruby-dev:21601]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_new4): ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values.</div><div class='add'>+</div><div class='add'>+	* process.c: ditto. [ruby-list:38521]</div><div class='add'>+</div><div class='add'>+Mon Oct 13 19:51:02 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb (debug_command): should enter emacs mode when</div><div class='add'>+	  assigned any value to the environment variable "EMACS".</div><div class='add'>+	  On Meadow, (getenv "EMACS") is "meadow".</div><div class='add'>+</div><div class='add'>+Sun Oct 12 14:45:03 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/extconf.rb: check "windows.h", not "windows".</div><div class='add'>+	  [ruby-talk:84051]</div><div class='add'>+</div><div class='add'>+Sat Oct 11 20:41:03 2003  Corinna Vinschen  &lt;corinna@vinschen.de&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (eaccess): Use access(2) on Cygwin.</div><div class='add'>+</div><div class='add'>+Sat Oct 11 17:09:21 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rexml/quickpath.rb (REXML::QuickPath::match):</div><div class='add'>+	  escape '[' to avoid warning.</div><div class='add'>+</div><div class='add'>+Sat Oct 11 16:08:41 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (realpath): check existence of the file.</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (realpath): re-implemented.</div><div class='add'>+	  (realpath_root?, realpath_rec): removed</div><div class='add'>+</div><div class='add'>+Sat Oct 11 10:19:39 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/monitor.rb: handle exceptions correctly. Thanks, Gennady</div><div class='add'>+	  Bystritsky.</div><div class='add'>+</div><div class='add'>+Fri Oct 10 07:50:54 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (is_defined): inheritance line adjustment as like as</div><div class='add'>+	  rb_call_super().</div><div class='add'>+</div><div class='add'>+Fri Oct 10 01:19:00 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): add</div><div class='add'>+	  optional argument to specify the DirectoryString type</div><div class='add'>+	  (ASN1::UTF8STRING by default). RFC3280 deprecates PrintableString</div><div class='add'>+	  for DirectoryString, and strongly requires to use UTF8String for</div><div class='add'>+	  all certificates issued after December, 31 2003.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.rb (X509::Name::parse): ditto.</div><div class='add'>+</div><div class='add'>+Thu Oct  9 23:50:21 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_start_0): prevent thread from GC.</div><div class='add'>+	  [ruby-dev:21572]</div><div class='add'>+</div><div class='add'>+Thu Oct  9 19:11:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_start_0): non-volatile should be restored from</div><div class='add'>+	  volatile.</div><div class='add'>+</div><div class='add'>+Thu Oct  9 17:43:36 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_save_safe_level, proc_get_safe_level,</div><div class='add'>+	  proc_set_safe_level): save/restore safe level 1..4.</div><div class='add'>+</div><div class='add'>+Thu Oct  9 16:33:23 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_object0): remove unnecessary iv restoration for</div><div class='add'>+	  USRMARSHAL. [ruby-dev:21582]</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): dump generic instance variables from</div><div class='add'>+	  a string from '_dump'.</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_generic_ivar_table): return 0 if obj's FL_EXIVAR</div><div class='add'>+	  is not set.</div><div class='add'>+</div><div class='add'>+	* time.c (time_dump): copy instance variables to dumped string, to</div><div class='add'>+	  be included in the marshaled data.</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big2ulong): add range check to ensure round trip.</div><div class='add'>+</div><div class='add'>+Thu Oct  9 15:45:27 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* pack.c (uv_to_utf8): change message to "out of range", since</div><div class='add'>+	  negative values are not "too big". [ruby-dev:21567]</div><div class='add'>+</div><div class='add'>+Thu Oct  9 14:05:38 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_set_end_proc, rb_exec_end_proc): restore safe level.</div><div class='add'>+	  [ruby-dev:21557]</div><div class='add'>+</div><div class='add'>+Thu Oct  9 10:51:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): no error if block is empty.</div><div class='add'>+</div><div class='add'>+Thu Oct  9 06:43:33 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (localjump_error): id should be ID.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): nd_rval is set in copy_node_scope().</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): unused variable.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): nothing to do for empty node.</div><div class='add'>+</div><div class='add'>+	* eval.c (call_end_proc, proc_invoke): adjust backtrace in END.</div><div class='add'>+	  [ruby-dev:21551]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_start_0): set the value by break as the result.</div><div class='add'>+	  [ruby-dev:21552]</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_start_0, rb_thread_raise, rb_callcc): save</div><div class='add'>+	  variables across THREAD_SAVE_CONTEXT.</div><div class='add'>+</div><div class='add'>+Thu Oct  9 12:05:46 2003  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: revived NextStep, OpenStep, and Rhapsody ports which</div><div class='add'>+	  had become unbuildable; enhanced --enable-fat-binary option so that</div><div class='add'>+	  it accepts a list of desired architectures (rather than assuming a</div><div class='add'>+	  fixed list), or defaults to a platform-appropriate list if user does</div><div class='add'>+	  not provide an explicit list; made the default list of architectures</div><div class='add'>+	  for MAB (fat binary) more comprehensive; now uses -fno-common even</div><div class='add'>+	  when building the interpreter (in addition to using it for</div><div class='add'>+	  extensions), thus allowing the interpreter to be embedded into a</div><div class='add'>+	  plugin module of an external project (in addition to allowing</div><div class='add'>+	  embedding directly into an application); added checks for</div><div class='add'>+	  &lt;netinet/in_systm.h&gt; (needed by `socket' extension) and getcwd(); now</div><div class='add'>+	  ensures that -I/usr/local/include is employed when extensions'</div><div class='add'>+	  extconf.rb scripts invoke have_header() since extension checks on</div><div class='add'>+	  NextStep and OpenStep will fail without it if the desired resource</div><div class='add'>+	  resides in the /usr/local tree; fixed formatting of --help message.</div><div class='add'>+</div><div class='add'>+	* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before</div><div class='add'>+	  invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives</div><div class='add'>+	  (see configure's --enable-fat-binary option); added rule for new</div><div class='add'>+	  missing/getcwd.c.</div><div class='add'>+</div><div class='add'>+	* defines.h: fixed endian handling during MAB build (see configure's</div><div class='add'>+	  --enable-fat-binary option) to ensure that all portions of the</div><div class='add'>+	  project see the correct WORDS_BIGENDIAN value (some extension modules</div><div class='add'>+	  were getting the wrong endian setting); added missing constants</div><div class='add'>+	  GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep</div><div class='add'>+	  and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H</div><div class='add'>+	  define in NeXT section.</div><div class='add'>+</div><div class='add'>+	* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on</div><div class='add'>+	  NextStep since, on some installations, this value always resolves</div><div class='add'>+	  uselessly to zero.</div><div class='add'>+</div><div class='add'>+	* dln.c: added error reporting to NextStep extension loader since the</div><div class='add'>+	  previous behavior of failing silently was not useful; now ensures</div><div class='add'>+	  that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined</div><div class='add'>+	  for OpenStep and Rhapsody; no longer includes &lt;mach-o/dyld.h&gt; twice</div><div class='add'>+	  on Rhapsody since this header lacks multiple-include protection,</div><div class='add'>+	  which resulted in "redefinition" compilation errors.</div><div class='add'>+</div><div class='add'>+	* main.c: also create hard reference to objc_msgSend() on NeXT</div><div class='add'>+	  platforms (in addition to Apple platforms).</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb: now exports XCFLAGS from configure script to extension</div><div class='add'>+	  makefiles so that extensions can be built MAB (see configure's</div><div class='add'>+	  --enable-fat-binary option); also utilize XCFLAGS in cc_command()</div><div class='add'>+	  (but not cpp_command() because MAB flags are incompatible with</div><div class='add'>+	  direct invocation of `cpp').</div><div class='add'>+</div><div class='add'>+	* ext/curses/extconf.rb: now additionally checks for presence of these</div><div class='add'>+	  curses functions which are not present on NextStep or Openstep:</div><div class='add'>+	  bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),</div><div class='add'>+	  setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),</div><div class='add'>+	  wscrl(), wsetscrreg()</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c: added appropriate #ifdef's for additional set of</div><div class='add'>+	  curses functions now checked by extconf.rb; fixed curses_bkgd() and</div><div class='add'>+	  window_bkgd() to correctly return boolean result rather than numeric</div><div class='add'>+	  result; fixed window_getbkgd() to correctly signal an error by</div><div class='add'>+	  returning nil rather than -1.</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c: setup_passwd() and setup_group() now check for null</div><div class='add'>+	  pointers before invoking rb_tainted_str_new2() upon fields extracted</div><div class='add'>+	  from `struct passwd' and `struct group' since null pointers in some</div><div class='add'>+	  fields are common on NextStep/OpenStep (especially so for the</div><div class='add'>+	  `pw_comment' field) and rb_tainted_str_new2() throws an exception</div><div class='add'>+	  when it receives a null pointer.</div><div class='add'>+</div><div class='add'>+	* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for</div><div class='add'>+	  platforms such as NextStep and OpenStep which lack strdup().</div><div class='add'>+</div><div class='add'>+	* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),</div><div class='add'>+	  gethostbyaddr(), and gethostbyname() from (const char*) to non-const</div><div class='add'>+	  (char*) for older platforms such as NextStep and OpenStep.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for</div><div class='add'>+	  platforms such as NextStep and OpenStep which lack strdup(); include</div><div class='add'>+	  &lt;netinet/in_systm.h&gt; if present for NextStep and OpenStep; cast first</div><div class='add'>+	  argument of gethostbyaddr() and getservbyname() from (const char*) to</div><div class='add'>+	  non-const (char*) for older platforms.</div><div class='add'>+</div><div class='add'>+	* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for</div><div class='add'>+	  platforms such as NextStep and OpenStep which lack strdup().</div><div class='add'>+</div><div class='add'>+Wed Oct  8 22:19:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: removed installation instructions.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/testrunnermediator.rb: moved the run flag to a more</div><div class='add'>+	  central location.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: extracted the running code in to AutoRunner.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/autorunner.rb: added.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/objectspace.rb: extracted common test</div><div class='add'>+	  collection functionality in to a module.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector.rb: ditto; added.</div><div class='add'>+</div><div class='add'>+	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/dir.rb: added. Supports collecting tests out</div><div class='add'>+	  of a directory structure.</div><div class='add'>+</div><div class='add'>+	* test/testunit/collector/test_dir.rb: added.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: simplified to use the new capabilities.</div><div class='add'>+</div><div class='add'>+Tue Oct  7 15:23:09 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_beginendblock.rb: add tests for nested BEGIN/END.</div><div class='add'>+</div><div class='add'>+	* test/ruby/beginmainend.rb: add tests for nested BEGIN/END.</div><div class='add'>+</div><div class='add'>+	* test/ruby/endblockwarn.rb: new file added to test of END-in-method</div><div class='add'>+	  warning.</div><div class='add'>+</div><div class='add'>+Tue Oct  7 12:23:47 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/fcntl/fcntl.c (Init_fcntl): define Fcntl::O_ACCMODE.</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: useless assignment removed.</div><div class='add'>+</div><div class='add'>+Tue Oct  7 09:13:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_beginendblock.rb (test_endinmethod): END{} is now</div><div class='add'>+	  allowed in eval.</div><div class='add'>+</div><div class='add'>+Tue Oct  7 04:15:25 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (stmt): should not expand mrhs if lhs is solely starred.</div><div class='add'>+</div><div class='add'>+Tue Oct  7 02:57:53 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (stmt): rhs of multiple assignment should not be</div><div class='add'>+	  expanded using "to_a". [ruby-dev:21527]</div><div class='add'>+</div><div class='add'>+Tue Oct  7 01:42:34 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): use appropriate</div><div class='add'>+	  free function for ASN1_OBJECT.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_sn): add new function for</div><div class='add'>+	  ASN1::ObjectId#sn; it returns short name text representation of OID.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_ln): add new function for</div><div class='add'>+	  ASN1::ObjectId#ln; it returns long name text representation of OID.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_oid): add new function for</div><div class='add'>+	  ASN1::ObjectId#oid; it returns numerical representation of OID.</div><div class='add'>+</div><div class='add'>+Mon Oct  6 22:59:46 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb (IOReader, BasicWriter): call binmode when a given IO</div><div class='add'>+	  respond_to?(:binmode).  record separator was wrong when you gave</div><div class='add'>+	  text mode IO to Reader.parse and Writer.generate.</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: add tests for above change.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 23:27:09 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: check recvmsg even if sendmsg is exists.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (thread_read_select): restored.</div><div class='add'>+</div><div class='add'>+Mon Oct  6 16:23:38 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): wrong method name in the message.</div><div class='add'>+</div><div class='add'>+Mon Oct  6 16:02:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (stmt): END in method should cause warning.</div><div class='add'>+	  [ruby-dev:21519]</div><div class='add'>+</div><div class='add'>+Mon Oct  6 15:17:23 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_iterator.rb (test_block_argument_without_paren):</div><div class='add'>+	  added. (follows sample/test.rb)</div><div class='add'>+</div><div class='add'>+Mon Oct  6 11:57:06 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: added</div><div class='add'>+	  test for eval-ed BEGIN END order.</div><div class='add'>+</div><div class='add'>+Mon Oct  6 09:19:54 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): should pass "weak" value to next level.</div><div class='add'>+	  [ruby-dev:21496]</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_alloc): should not use cached object if klass is</div><div class='add'>+	  different. [ruby-talk:83685]</div><div class='add'>+</div><div class='add'>+Sun Oct  5 23:27:09 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb: version information is added in document.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 23:07:03 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_END): block should be given.  [ruby-dev:21497]</div><div class='add'>+</div><div class='add'>+Sun Oct  5 22:51:23 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ext/openssl/extconf.rb: add check for some engine functions</div><div class='add'>+	  unavailable in OpenSSL-0.9.6.</div><div class='add'>+</div><div class='add'>+	* lib/ext/openssl/ossl_engine.c: ditto.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 17:56:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): fix evaluation order.  [ruby-list:38431]</div><div class='add'>+</div><div class='add'>+Sun Oct  5 15:05:06 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/uri/*: translated RUNIT to Test::Unit.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 14:37:39 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xsd/datatypes.rb: Rational -&gt; Decimal string bug fix.</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/test_marshal.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/test_calc_cgi.rb: add Config::CONFIG["EXEEXT"] to</div><div class='add'>+	  RUBYBIN.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 13:47:22 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests</div><div class='add'>+	  about scope, order and allowed syntax.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 11:54:29 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/envutil.rb: added.  split "rubybin" from test_system.rb.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_system.rb: use envutil.rb</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_beginendblock.rb: added.</div><div class='add'>+</div><div class='add'>+	* test/ruby/beginmainend.rb: added.  used in test_beginendblock.rb.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 11:23:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/testunit/runit/test_testresult.rb: removed some unnecessary</div><div class='add'>+	  cruft.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 11:14:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/rubyunit.rb: aliasing TestCase into the top level is</div><div class='add'>+	  problematic.</div><div class='add'>+</div><div class='add'>+	* lib/runit/assert.rb: fixed a couple of bugs caused by recent</div><div class='add'>+	  refactoring in Test::Unit.</div><div class='add'>+</div><div class='add'>+	* test/testunit/runit/*: added.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 10:55:29 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/open-uri.rb (URI::Generic#find_proxy): no_proxy support did not</div><div class='add'>+	  work.  [ruby-dev:21484]</div><div class='add'>+</div><div class='add'>+Sun Oct  5 09:52:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: will use pp for output if available.</div><div class='add'>+	  Can be disabled by setting Assertions.use_pp = false.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: made a small change to exception</div><div class='add'>+	  formatting.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 07:42:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: made small improvements to assertion</div><div class='add'>+	  messages. Deprecated Assertions#assert_not_nil; use #assert instead.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/testunit/util/test_procwrapper.rb: use #assert instead of</div><div class='add'>+	  #assert_not_nil.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 04:10:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: refactored message building.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 03:40:22 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.h: global symbols should be declared</div><div class='add'>+	  as external.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 03:03:20 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_exception.rb (test_else): added.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 02:12:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: changed assertion messages to rely more</div><div class='add'>+	  heavily on #inspect. Added backtrace filtering for exceptions in</div><div class='add'>+	  assertion messages.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sun Oct  5 02:12:00 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* lib/drb/acl.rb, lib/drb/ssl.rb: added.</div><div class='add'>+</div><div class='add'>+	* lib/drb/drb.rb: exit from a thread using 'break'.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 21:49:14 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (Init_stack): the type of space is changed to unsigned int</div><div class='add'>+	  from double.  [ruby-dev:21483]</div><div class='add'>+</div><div class='add'>+Sat Oct  4 17:52:59 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/netHttpClient.rb: follow http-access2.  hosts which matches</div><div class='add'>+	  ENV['no_proxy'] or ENV['NO_PROXY'] are not proxyed.</div><div class='add'>+	  - [,:] separated. ("ruby-lang.org:rubyist.net")</div><div class='add'>+	  - no regexp. (give "ruby-lang.org", not "*.ruby-lang.org")</div><div class='add'>+	  - if you want specify host by IP address, give full address.</div><div class='add'>+	    ("192.168.1.1, 192.168.1.2")</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/cgistub.rb: return "Status: XXX MMM" line.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: give testsuite name.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 15:16:02 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): instance variable dump do not cause error</div><div class='add'>+	  for objects that cannot be dumped, if they traversed from</div><div class='add'>+	  marshal_dump.  they are just ignored.</div><div class='add'>+</div><div class='add'>+	* gc.c (Init_stack): cast "space" (doble value) into unsigned</div><div class='add'>+	  int.  should run on PowerPC.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): should not execute else part if any exception</div><div class='add'>+	  is caught. [ruby-dev:21482]</div><div class='add'>+</div><div class='add'>+	* parse.y (f_args): should allow unparenthesized block argument.</div><div class='add'>+</div><div class='add'>+	* parse.y (f_rest_arg): should allow unparenthesized rest</div><div class='add'>+	  argument.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 14:59:51 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (initialize): raise ArgumentError if argument has</div><div class='add'>+	  '\0' character.</div><div class='add'>+	  (relative_path_from): new method.</div><div class='add'>+	  (each_entry): new method for replacement of dir_foreach.</div><div class='add'>+	  (foreach, foreachline, dir_foreach, chdir): obsoleted.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 12:58:48 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/uri/* (6 files): added.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 12:44:45 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/uri/ftp.rb, lib/uri/mailto.rb: renamed to #to_s from #to_str.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 07:33:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testsuite.rb: changed #&lt;&lt; to return self, and added</div><div class='add'>+	  #delete.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_testsuite.rb: ditto. Also slightly refactored</div><div class='add'>+	  #test_size.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/objectspace.rb: collector now preserves the</div><div class='add'>+	  hierarchy of suites.</div><div class='add'>+</div><div class='add'>+	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 04:48:49 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: default keys handled.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: lowered default buffer size to 16k for increased</div><div class='add'>+	  performance.</div><div class='add'>+</div><div class='add'>+	* test/yaml: checkin of basic unit tests.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 04:24:19 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: add check for X509V3_set_nconf.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):</div><div class='add'>+	  cannot implement if X509V3_set_nconf doesn't exist.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 02:12:44 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xsd/datatypes.rb: dump sign by itself.  under the problematic</div><div class='add'>+	  platform, sprintf("%+.10g", -0.0) =&gt; +0.  sigh.</div><div class='add'>+</div><div class='add'>+	* sample/wsdl/amazon/*: update schema ver2 to ver3.</div><div class='add'>+</div><div class='add'>+Sat Oct  4 01:33:46 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb (initialize): duplicate and freeze argument.</div><div class='add'>+	  (to_s): return duplicated string.</div><div class='add'>+	  (children): new method.</div><div class='add'>+	  (each_line): new alias to foreachline.</div><div class='add'>+</div><div class='add'>+Fri Oct  3 16:13:19 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.c: add DER encoder and decoder.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.h: add OpenSSL::ASN1 module.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (Init_openssl): call Init_ossl_asn1.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: check if X509_ATTRIBUTE has field "single".</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): accept</div><div class='add'>+	  DER encoded data argument.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509attr.c (ossl_x509attr_get_value): return</div><div class='add'>+	  DER encoded data in OpenSSL::ASN1 types.</div><div class='add'>+</div><div class='add'>+Fri Oct  3 13:02:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: refactored to use optparse.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: added support for selecting the output</div><div class='add'>+	  level from the command-line.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: added a command-line switch to stop processing</div><div class='add'>+	  the command-line, allowing arguments to be passed to tests.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: changed the method for specifying a runner or a</div><div class='add'>+	  filter from the command-line.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/objectspace.rb: fixed a bug causing all</div><div class='add'>+	  tests to be excluded when the filter was set to an empty array.</div><div class='add'>+</div><div class='add'>+	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='add'>+</div><div class='add'>+Fri Oct  3 08:14:32 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/ruby-lex.rb (RubyLex::identify_identifier): support</div><div class='add'>+	  'class ::Foo' syntax. [ruby-talk:83514]</div><div class='add'>+</div><div class='add'>+Fri Oct  3 08:01:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: added a default message for #assert,</div><div class='add'>+	  #assert_block, and #flunk.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/failure.rb: failures now show a better trace of where</div><div class='add'>+	  they occurred.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_failure.rb: ditto (added).</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testcase.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_testcase.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/util/backtracefilter.rb: added.</div><div class='add'>+</div><div class='add'>+	* test/testunit/util/test_backtracefilter.rb: added.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/error.rb: changed to use BacktraceFilter and improved</div><div class='add'>+	  output.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_error.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 20:33:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_failure_initialize): conform with</div><div class='add'>+	  orthodox initialization method.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_fail): initialize exception instance</div><div class='add'>+	  from the class, and do not share instance variables with the</div><div class='add'>+	  others.  [ruby-dev:21470]</div><div class='add'>+</div><div class='add'>+Thu Oct  2 18:20:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (Init_Time): define initialize.  [ruby-dev:21469]</div><div class='add'>+</div><div class='add'>+Thu Oct  2 17:39:38 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.c: add a new module OpenSSL::Engine.</div><div class='add'>+	  it supports OpenSSL hardware cryptographic engine interface.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_engine.h: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/MANIFEST: add ossl_engine.c and ossl_engine.h.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: add check for openssl/engine.h.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c: call Init_ossl_engine().</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: include openssl/engine.h.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_{rsa,dsa,dh}.c: check if underlying</div><div class='add'>+	  EVP_PKEY referes engine.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 17:22:37 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_load): restore instance variables (if any) before</div><div class='add'>+	  loading from marshaled data.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 14:19:15 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_fail): now yield erred substring, and</div><div class='add'>+	  set error object to $!.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_convert): error handler block should</div><div class='add'>+	  return appended part and the rest.  if rest is nil, the</div><div class='add'>+	  conversion stops.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 12:00:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_const_defined_0): look up constants in Object as</div><div class='add'>+	  well.  [ruby-dev:21458]</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_defined.rb (TestDefined::test_defined): test for</div><div class='add'>+	  constants.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 11:17:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/assertions.rb: should not capture an</div><div class='add'>+	  AssertionFailedError unless explicitly requested.</div><div class='add'>+</div><div class='add'>+	* test/testunit/test_assertions.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* test/testunit/collector/test_objectspace.rb: fixed a test failure</div><div class='add'>+	  caused by methods being returned in different orders on different</div><div class='add'>+	  platforms by moving test sorting from TestSuite into the locations</div><div class='add'>+	  where suites are constructed. [ruby-talk:83156]</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testcase.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testsuite.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/objectspace.rb: ditto.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 03:25:01 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_raise): prototype; avoid VC++ warning.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 01:37:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* time.c (time_mdump): new marshal dumper. _dump is still</div><div class='add'>+	  available for compatibility.</div><div class='add'>+</div><div class='add'>+	* time.c (time_mload): new marshal loader.</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): preserve instance variables for objects</div><div class='add'>+	  with marshal_dump.</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_object0): restore instance variables before calling</div><div class='add'>+	  marshal_load.</div><div class='add'>+</div><div class='add'>+	* error.c (rb_warn_m): always return nil.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 01:32:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_block_given_p): real required condition is</div><div class='add'>+	  ruby_frame-&gt;prev-&gt;iter == ITER_CUR.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_block_given_p): ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c (block_pass): update ruby_frame-&gt;iter only when previous</div><div class='add'>+	  value is ITER_NOT.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 01:02:35 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_const_defined_at): should exclude constants from</div><div class='add'>+	  Object when TYPE(klass) == T_MODULE *and* exclude is on.</div><div class='add'>+	  [ruby-dev:21458]</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_const_get_0): do not lookup constants from Object</div><div class='add'>+	  when TYPE(klass) == T_MODULE *and* exclude is on.</div><div class='add'>+</div><div class='add'>+Thu Oct  2 00:21:11 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: unlinking file before close causes</div><div class='add'>+	  problem under win32 box.</div><div class='add'>+</div><div class='add'>+	* lib/xsd/datatypes.rb(XSDFloat, XSDDouble): add +/- sign explicitly</div><div class='add'>+	  when stringified and embedded into XML instance.  Ruby's sprintf may</div><div class='add'>+	  format -0.0 as "0.0" (no minus sign) depending on underlying C</div><div class='add'>+	  sprintf implementation.</div><div class='add'>+</div><div class='add'>+	* test/xsd/test_xsd.rb, test/soap/test_basetype.rb: follow above change.</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/*: give httpd config param "CGIInterpreter".</div><div class='add'>+	  "/usr/bin/env ruby" thing does not work under non-Unix boxes.</div><div class='add'>+</div><div class='add'>+Sat Oct  2 00:42:20 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_byte): retrieve pointer from string value for each</div><div class='add'>+	  time.  [ruby-dev:24404]</div><div class='add'>+</div><div class='add'>+	* marshal.c (r_bytes0): ditto.</div><div class='add'>+</div><div class='add'>+	* enum.c (sort_by_i): re-entrance check added.  [ruby-dev:24399]</div><div class='add'>+</div><div class='add'>+	* io.c (io_read): should freeze all reading buffer.</div><div class='add'>+	  [ruby-dev:24400]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): should use bignums when bits is greater</div><div class='add'>+	  than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]</div><div class='add'>+</div><div class='add'>+	* eval.c (specific_eval): defer pointer retrieval to prevent</div><div class='add'>+	  unsafe sourcefile string modification.  [ruby-dev:24382]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): wrong cast caused wrong result.</div><div class='add'>+	  [ruby-dev:24385]</div><div class='add'>+</div><div class='add'>+	* enum.c (enum_sort_by): hide temporary array from</div><div class='add'>+	  ObjectSpace.each_object.  [ruby-dev:24386]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): check was done with false pointer.</div><div class='add'>+	  [ruby-dev:24383]</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_sum): string may be altered.  [ruby-dev:24381]</div><div class='add'>+</div><div class='add'>+Thu Oct  2 00:25:21 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* signal.c (ruby_signal_name): adjust to the prototype.</div><div class='add'>+</div><div class='add'>+	* process.c (pst_inspect): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c (etc_getgrent, Init_etc): typo.</div><div class='add'>+</div><div class='add'>+Wed Oct  1 20:49:41 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (heaps): manage slots and limits together.  [ruby-dev:21453]</div><div class='add'>+</div><div class='add'>+	* gc.c (add_heap): should not clear heaps slot even if realloc()</div><div class='add'>+	  failed.</div><div class='add'>+</div><div class='add'>+Wed Oct  1 20:36:49 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add wince/mkconfig_wce.rb.</div><div class='add'>+</div><div class='add'>+Wed Oct  1 17:22:33 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/etc/etc.c: add new functions: setpwent, getpwent, endpwent,</div><div class='add'>+	  setgrent, getgrent, endgrent.</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (sock_s_gethostbyname): do not reverse lookup.</div><div class='add'>+</div><div class='add'>+Wed Oct  1 17:01:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_load): Object scope had priority over required file</div><div class='add'>+	  scope.  [ruby-dev:21415]</div><div class='add'>+</div><div class='add'>+Wed Oct  1 14:09:53 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* wince/mkconfig_wce.rb: sorry, forget to commit.</div><div class='add'>+</div><div class='add'>+Wed Oct  1 10:08:42 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* wince/setup.mak: add sigmarionIII SDK support.</div><div class='add'>+</div><div class='add'>+	* wince/Makefile.sub: ditto.</div><div class='add'>+</div><div class='add'>+	* wince/mkexports.rb: fix linker error in SH4.</div><div class='add'>+</div><div class='add'>+	* wince/mkconfig_wce.rb: camouflage RUBY_PLATFORM for compiling ext.</div><div class='add'>+</div><div class='add'>+Wed Oct  1 08:02:52 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* wince/time_wce.c (time): add zero check.</div><div class='add'>+</div><div class='add'>+Tue Sep 30 16:11:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in: copy lex.c from $(srcdir) if it's not the current</div><div class='add'>+	  directory.  [ruby-dev:21437]</div><div class='add'>+</div><div class='add'>+Tue Sep 30 11:29:23 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (pst_inspect): describe stopped process "stopped".</div><div class='add'>+</div><div class='add'>+Tue Sep 30 09:31:56 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: glob for directories.</div><div class='add'>+</div><div class='add'>+Tue Sep 30 09:11:43 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): while/until should not capture break unless</div><div class='add'>+	  they are destination of the break.</div><div class='add'>+</div><div class='add'>+Tue Sep 30 03:12:02 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (finish): revert to 1.93.</div><div class='add'>+</div><div class='add'>+	* lib/net/pop.rb (finish): revert to 1.60.</div><div class='add'>+</div><div class='add'>+	* lib/net/smtp.rb (finish): revert to 1.67.</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (do_start): ensure to close socket if failed to</div><div class='add'>+	  start session.</div><div class='add'>+</div><div class='add'>+	* lib/net/pop.rb (do_start): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/net/smtp.rb (do_start): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/net/smtp.rb: SMTP#started? wrongly returned false always.</div><div class='add'>+</div><div class='add'>+Tue Sep 30 02:54:49 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_iterator.rb: new test</div><div class='add'>+	  test_break__nested_loop[123].</div><div class='add'>+</div><div class='add'>+Mon Sep 29 23:39:13 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb (finish): does not raise IOError even if</div><div class='add'>+	  !started?, to allow closing socket which was opened before</div><div class='add'>+	  session started.</div><div class='add'>+</div><div class='add'>+	* lib/net/pop.rb (finish): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/net/smtp.rb (finish): ditto.</div><div class='add'>+</div><div class='add'>+Mon Sep 29 19:06:51 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/extconf.rb: add windows.h checking.</div><div class='add'>+	  (ruby-bugs:PR#1185)</div><div class='add'>+</div><div class='add'>+Mon Sep 29 16:18:30 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: check if the given logdevice object respond_to :write</div><div class='add'>+	  and :close, not is_a? IO.  duck duck.</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: self IO.pipe reading/writing may be</div><div class='add'>+	  locked by the flood.  use tempfile.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/xmlSchema/data.rb: wrong constant reference.</div><div class='add'>+</div><div class='add'>+Mon Sep 29 16:11:23 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: clean up temporary symlink.</div><div class='add'>+	  Patched by NaHi.  [ruby-dev:21420]</div><div class='add'>+</div><div class='add'>+Mon Sep 29 11:16:55 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_atfork): wrong format specifier.</div><div class='add'>+	  [ruby-dev:21428]</div><div class='add'>+</div><div class='add'>+	* process.c (pst_inspect): better description.</div><div class='add'>+</div><div class='add'>+Mon Sep 29 02:31:44 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/utils.rb (Utils::su): use setgid and setuid to</div><div class='add'>+	  set real and effective IDs. and setup group access list by</div><div class='add'>+	  initgroups.</div><div class='add'>+</div><div class='add'>+Sun Sep 28 11:14:19 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/digest/digest.c (Init_digest): `copy_object' was deprecated.</div><div class='add'>+	  `initialize_copy' should be defined.</div><div class='add'>+</div><div class='add'>+	* ext/stringio/stringio.c (Init_stringio): ditto.</div><div class='add'>+</div><div class='add'>+Sat Sep 27 18:25:13 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/xsd/charset.rb: XSD::Charset.is_ces did return always true under</div><div class='add'>+	  $KCODE = "NONE" environment.  check added.</div><div class='add'>+</div><div class='add'>+	* test/xsd/test_xsd.rb: add tests for above fix.</div><div class='add'>+</div><div class='add'>+Sat Sep 27 15:58:50 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/cgistub.rb: make logging severity threshold higher.</div><div class='add'>+</div><div class='add'>+	* lib/soap/rpc/standaloneServer.rb: defer WEBrick server start to give</div><div class='add'>+	  a chance to reset logging severity threshold.</div><div class='add'>+</div><div class='add'>+	* test/soap/calc/test_*, test/soap/helloworld/test_helloworld.rb: run</div><div class='add'>+	  silent.</div><div class='add'>+</div><div class='add'>+Sat Sep 27 09:44:18 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: clear all errors on Windows.</div><div class='add'>+	  [ruby-dev:21417]</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_nowrite.rb: ditto.</div><div class='add'>+</div><div class='add'>+Mon Sep 27 09:14:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_delete): comparison may change the capacity.</div><div class='add'>+	  [ruby-dev:24348]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): fill should honor length argument.</div><div class='add'>+	  [ruby-dev:24346]</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_replace): should not use ptr from shared array.</div><div class='add'>+	  [ruby-dev:24345]</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.</div><div class='add'>+	  [ruby-talk:113807]</div><div class='add'>+</div><div class='add'>+Sat Sep 27 04:57:07 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_file.rb: new file.  only asserts unlink-before-close</div><div class='add'>+	  behaviour now.</div><div class='add'>+</div><div class='add'>+	* test/soap/marshal/test_digraph.rb: should close before unlink.</div><div class='add'>+	  unlink-before-close pattern is not needed here.</div><div class='add'>+</div><div class='add'>+Sat Sep 27 03:32:37 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/soap/*, test/wsdl/*, test/xsd/*: move TestCase classes into</div><div class='add'>+	  each module namespace.  TestMarshal in</div><div class='add'>+	  test/soap/marshal/test_marshal.rb crashed with</div><div class='add'>+	  test/ruby/test_marshal.rb.</div><div class='add'>+</div><div class='add'>+Sat Sep 27 01:30:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_connect): on win32, type of the 4th</div><div class='add'>+	  argument of getsockopt is char *.</div><div class='add'>+</div><div class='add'>+Fri Sep 26 18:35:40 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/resolv-replace.rb: 1.8 compliance.  [ruby-talk:82946]</div><div class='add'>+</div><div class='add'>+Fri Sep 26 17:39:27 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_marshal.rb: add test for ruby's objects.</div><div class='add'>+</div><div class='add'>+Fri Sep 26 09:52:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* defines.h (flush_register_windows): use volatile only for gcc on</div><div class='add'>+	  Solaris.  [ruby-dev:21403]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (xsystem): use system directly to honor shell meta</div><div class='add'>+	  charaters.</div><div class='add'>+</div><div class='add'>+Fri Sep 26 00:10:13 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/README: updated.</div><div class='add'>+</div><div class='add'>+Thu Sep 25 17:48:10 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_buf2str): fix type of 1st argument for</div><div class='add'>+	  rb_protect.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_hmac.c (ossl_hmac_digest): should return meaningful</div><div class='add'>+	  value.</div><div class='add'>+</div><div class='add'>+Thu Sep 25 09:00:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb: Added OpenStruct#==.</div><div class='add'>+</div><div class='add'>+	* test/ostruct/test_ostruct.rb: Added.</div><div class='add'>+</div><div class='add'>+Thu Sep 25 07:55:26 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,</div><div class='add'>+	  ext/openssl/ossl_pkey_rsa.c, ext/bigdecimal/bigdecimal.h: must</div><div class='add'>+	  not use C++ or C99 style comment yet.  (ruby-bugs:PR#1184)</div><div class='add'>+</div><div class='add'>+Thu Sep 25 00:23:22 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add SOAP4R.</div><div class='add'>+</div><div class='add'>+Thu Sep 25 00:13:15 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/soap/* (29 files): SOAP4R added.</div><div class='add'>+</div><div class='add'>+	* lib/wsdl/* (42 files): WSDL4R added.</div><div class='add'>+</div><div class='add'>+	* lib/xsd/* (12 files): XSD4R added.</div><div class='add'>+</div><div class='add'>+	* test/soap/* (16 files): added.</div><div class='add'>+</div><div class='add'>+	* test/wsdl/* (2 files): added.</div><div class='add'>+</div><div class='add'>+	* test/xsd/* (3 files): added.</div><div class='add'>+</div><div class='add'>+	* sample/soap/* (27 files): added.</div><div class='add'>+</div><div class='add'>+	* sample/wsdl/* (13 files): added.</div><div class='add'>+</div><div class='add'>+Wed Sep 24 02:08:11 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.</div><div class='add'>+	  [ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818]</div><div class='add'>+</div><div class='add'>+Tue Sep 23 23:10:16 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: add Logger#&lt;&lt;(msg) for writing msg without any</div><div class='add'>+	  formatting.</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: ditto.</div><div class='add'>+</div><div class='add'>+Tue Sep 23 20:47:51 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (rb_warn_m): should not warn if -W0 is specified.</div><div class='add'>+	  [ruby-talk:82675]</div><div class='add'>+</div><div class='add'>+Mon Sep 22 21:28:57 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* MANIFEST: updated.</div><div class='add'>+</div><div class='add'>+Mon Sep 22 19:22:26 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (AC_CHECK_FUNCS): add setuid and setgid.</div><div class='add'>+</div><div class='add'>+Mon Sep 22 12:34:55 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* util.c (ruby_strtod): skip preceding zeros before counting</div><div class='add'>+	  digits in the mantissa. (ruby-bugs:PR#1181)</div><div class='add'>+</div><div class='add'>+Sun Sep 21 04:12:36 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): the argument</div><div class='add'>+	  should be a String.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): ditt.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.</div><div class='add'>+</div><div class='add'>+Sat Sep 20 11:49:05 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: typo fixed.</div><div class='add'>+</div><div class='add'>+	* test/logger/test_logger.rb: new file.</div><div class='add'>+</div><div class='add'>+Fri Sep 19 11:39:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/testunit/*: Added.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: Documentation update.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):</div><div class='add'>+	  Ditto.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit.rb: Factored out an ObjectSpace collector.</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/collector/objectspace.rb: Ditto.</div><div class='add'>+</div><div class='add'>+	* sample/testunit/*: Added.</div><div class='add'>+</div><div class='add'>+Fri Sep 19 01:00:48 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/log.rb (BasicLog#log): get rid of as ineffectual</div><div class='add'>+	  condition.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/log.rb (BasicLog#format): add "\n" to message.</div><div class='add'>+</div><div class='add'>+Thu Sep 18 22:43:20 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): should push PROT_PCALL tag for orphans.</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): should update "result" for orphans.</div><div class='add'>+</div><div class='add'>+Thu Sep 18 20:33:03 2003  Tietew  &lt;tietew-ml-ruby-list@tietew.net&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (str_xquote): do not prepend escapes in</div><div class='add'>+	  backqoute literals.  [ruby-list:38409]</div><div class='add'>+</div><div class='add'>+Thu Sep 18 20:30:17 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/pathname.rb: update document.</div><div class='add'>+</div><div class='add'>+Thu Sep 18 15:27:05 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/logger.rb: new file.  Logger, formerly called devel-logger or</div><div class='add'>+	  Devel::Logger.</div><div class='add'>+</div><div class='add'>+	* sample/logger/*: new file.  samples of logger.rb.</div><div class='add'>+</div><div class='add'>+Wed Sep 17 23:41:45 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (localjump_destination): should not raise ThreadError</div><div class='add'>+	  exception for "break". [ruby-dev:21348]</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): use result instead of prot_tag-&gt;retval.</div><div class='add'>+	  retval is no longer propagated to the ancestors.</div><div class='add'>+</div><div class='add'>+Wed Sep 17 20:34:00 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (tokadd_string, parse_string, yylex): escaped terminator</div><div class='add'>+	  is now interpreted as is.  [ruby-talk:82206]</div><div class='add'>+</div><div class='add'>+Wed Sep 17 18:52:36 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/fileutils/fileassertions.rb: new file.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_fileutils.rb: new file.</div><div class='add'>+</div><div class='add'>+	* test/fileutils/test_nowrite.rb: new file.</div><div class='add'>+</div><div class='add'>+Wed Sep 17 18:51:02 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/strscan/test_stringscanner.rb: require test/unit.</div><div class='add'>+</div><div class='add'>+Wed Sep 17 18:35:34 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* test/strscan/test_stringscanner.rb: new file.</div><div class='add'>+</div><div class='add'>+Wed Sep 17 18:03:30 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl: all files are reviewed to simplify and avoid memory leak.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: add check for assert.h.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_buf2str): new function to convert</div><div class='add'>+	  C buffer to String and free buffer.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert</div><div class='add'>+	  Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new</div><div class='add'>+	  functions to convert object to DER string.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert</div><div class='add'>+	  BIO to String object and free BIO.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_bio.h: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (create_ext_from_array): removed</div><div class='add'>+	  and reimplement in openssl/x509.rb.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509attr.c: reimplemented and disable some</div><div class='add'>+	  method temporarily. this class doesn't work fine without ASN.1</div><div class='add'>+	  data support;-) I'll rewrite in near future.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off</div><div class='add'>+	  unused code.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.</div><div class='add'>+</div><div class='add'>+Tue Sep 16 22:25:06 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: add negative tests of row_sep.</div><div class='add'>+</div><div class='add'>+Tue Sep 16 18:02:36 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* regex.c (re_compile_pattern): should not translate character</div><div class='add'>+	  class range edge. [ruby-list:38393]</div><div class='add'>+</div><div class='add'>+Tue Sep 16 16:47:56 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* MANIFEST: add test/csv/mac.csv.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub, bcc32/Makefile.sub (test): add phony NUL target.</div><div class='add'>+</div><div class='add'>+Mon Sep 15 19:02:52 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/csv.rb: add extra pamameter to specify row(record) separater</div><div class='add'>+	  character.  To parse Mac's CR separated CSV, do like this.</div><div class='add'>+	    CSV.open("mac.csv", "r", ?,, ?\r) { |row| p row.to_a }</div><div class='add'>+	  The 3rd parameter in this example ?, is for column separater and the</div><div class='add'>+	  4th ?\r is for row separater.  Row separater is nil by default.  Nil</div><div class='add'>+	  separater means "\r\n" or "\n".</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: add tests for above feature.</div><div class='add'>+</div><div class='add'>+	* test/csv/mac.csv: added.  Sample CR separated CSV file.</div><div class='add'>+</div><div class='add'>+Fri Sep 12 22:41:48 2003  Michal Rokos  &lt;m.rokos@sh.cvut.cz&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c: move ASN.1 stuff to ossl_asn1.[ch]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.c: move BIO stuff to ossl_bio.[ch]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_asn1.[ch]: new files</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_bio.[ch]: new files</div><div class='add'>+</div><div class='add'>+Fri Sep 12 12:30:41 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* intern.h (rb_disable_super, rb_enable_super): replace with dummy</div><div class='add'>+	  expressions instead of prototypes.  the functions remain yet for</div><div class='add'>+	  binary compatibility.  [ruby-talk:81758]</div><div class='add'>+</div><div class='add'>+Fri Sep 12 12:09:54 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_and): convert argument using 'to_int'.</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_or): ditto.</div><div class='add'>+</div><div class='add'>+	* bignum.c (rb_big_xor): ditto.</div><div class='add'>+</div><div class='add'>+Fri Sep 12 07:06:14 2003  David Black  &lt;dblack@superlink.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/scanf.rb: Took out useless @matched_item variable; some small</div><div class='add'>+	  refactoring.</div><div class='add'>+</div><div class='add'>+Thu Sep 11 08:43:44 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_require): allow "require" on $SAFE&gt;0, if feature</div><div class='add'>+	  name is not tainted.</div><div class='add'>+</div><div class='add'>+	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):</div><div class='add'>+	  Supports StringIO.</div><div class='add'>+</div><div class='add'>+Wed Sep 10 22:47:30 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: add a workaround for win32 platform.</div><div class='add'>+	  libeay32.dll doesn't export functions defined in conf_api.h.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c (ossl_config_initialize): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c (ossl_config_add_value): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c (set_conf_section_i): should check</div><div class='add'>+	  if the argument is Array.</div><div class='add'>+</div><div class='add'>+Wed Sep 10 22:41:54 2003  Tietew  &lt;tietew@tietew.net&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (win32_get_exception_list): avoid VC7 warning.</div><div class='add'>+	  [ruby-win32:577]</div><div class='add'>+</div><div class='add'>+Tue Sep  9 10:39:51 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (struct tag): dst should be VALUE.</div><div class='add'>+</div><div class='add'>+Tue Sep  9 10:39:51 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (localjump_destination): stop at the scope where the current</div><div class='add'>+	  block was created.  [ruby-dev:21353]</div><div class='add'>+</div><div class='add'>+Tue Sep  9 05:17:04 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.</div><div class='add'>+</div><div class='add'>+Tue Sep  9 02:41:35 2003  Michal Rokos  &lt;m.rokos@sh.cvut.cz&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c: Refine compatibility.</div><div class='add'>+</div><div class='add'>+Tue Sep  9 01:50:45 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" to</div><div class='add'>+	  the message.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/log.rb (BasicLog#log): add "\n" only if needed.</div><div class='add'>+</div><div class='add'>+Mon Sep  8 22:15:33 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: modify security check at creating</div><div class='add'>+	  a new interpreter</div><div class='add'>+</div><div class='add'>+Mon Sep  8 20:00:12 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb, lib/optparse/version.rb: search also all</div><div class='add'>+	  capital versions.</div><div class='add'>+</div><div class='add'>+Mon Sep  8 19:26:33 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.c: refine all with backward compatibility.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509.c: added new constants under X509 module.</div><div class='add'>+	  DEFAULT_CERT_AREA, DEFAULT_CERT_DIR, DEFAULT_CERT_FILE,</div><div class='add'>+	  DEFAULT_CERT_DIR_ENV, DEFAULT_CERT_FILE_ENV and DEFAULT_PRIVATE_DIR.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free</div><div class='add'>+	  the members of the struct. it's left to GC.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):</div><div class='add'>+	  add attr readers: issuer_certificate, subject_certificate,</div><div class='add'>+	  subject_request, crl and config.</div><div class='add'>+</div><div class='add'>+Mon Sep  8 18:26:41 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/accesslog.rb (AccessLog::setup_params): use req.port</div><div class='add'>+	  instead of config[:Port] or req.request_uri.port.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/config.rb: :Listen option never be used.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (GenericServer#initialize): don't use :Listen</div><div class='add'>+	  option and add warning message.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/log.rb (BasicLog#&lt;&lt;): shortcut of log(INFO, ...).</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (HTTPServer#accesslog): use &lt;&lt; for logging.</div><div class='add'>+</div><div class='add'>+Sun Sep  7 16:08:28 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (lib_mainloop_core): fixed signal-trap bug</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/*.rb : Ruby/Tk works at $SAFE == 4</div><div class='add'>+</div><div class='add'>+Sat Sep  6 02:26:34 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_*.rb: assert_same, assert_match, and so on.</div><div class='add'>+</div><div class='add'>+Sat Sep  6 18:45:46 2003  Mauricio Fernandez  &lt;batsman.geo@yahoo.com&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (assignable): call rb_compile_error(), not rb_bug().</div><div class='add'>+	  [ruby-core:01523]</div><div class='add'>+</div><div class='add'>+Sat Sep  6 17:40:41 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ruby_missing.c: rid of unnecessary backward</div><div class='add'>+	  compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from</div><div class='add'>+	  all sources.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.</div><div class='add'>+</div><div class='add'>+Sat Sep  6 01:23:22 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (CreateChild): fix condition about whether to call</div><div class='add'>+	  shell or not.</div><div class='add'>+</div><div class='add'>+Sat Sep  6 00:36:20 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in (test): phony target.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_library, find_library): configure by library</div><div class='add'>+	  name.</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#order, #permute, #parse): allow an</div><div class='add'>+	  array as argument.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_*.rb: moved invariants to left side in</div><div class='add'>+	  assert_equal, and use assert_nil, assert_raises and so on.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (isInternalCmd): distinguish command.com and</div><div class='add'>+	  cmd.exe.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (make_cmdvector): a character just after wildcard</div><div class='add'>+	  was ignored.  [ruby-core:01518]</div><div class='add'>+</div><div class='add'>+Fri Sep  5 20:27:08 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_*.rb: replace 'assert(a == b)' with assert_equal(a, b)'</div><div class='add'>+</div><div class='add'>+Fri Sep  5 18:00:51 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_digest.c: add ossl_digest_new().</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_digest.h: ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.c: add ossl_cipher_new().</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_cipher.h: ditto.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 15:32:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not</div><div class='add'>+	  search delimiter forward if found in backward.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 13:32:48 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: arguments should be keys.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 12:09:55 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_system.rb (test_system): check existence of ruby</div><div class='add'>+	  interpreter.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 11:32:17 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (--version): fix assignment/reference order.</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may</div><div class='add'>+	  be deprecated in future.</div><div class='add'>+</div><div class='add'>+	* lib/optparse/version.rb (OptionParser#show_version): hide Object.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: fix optparse usage.</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: glob all testsuits if no tests given.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 10:42:58 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/runner.rb: added.  gets testcases from command line and runs it.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_gc.rb: remove useless part which was for dumping test</div><div class='add'>+	  result.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 09:28:59 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_gc.rb: added.  splitter.rb which I made to split</div><div class='add'>+	  sample/test.rb into test/ruby/test_* kindly removed GC test (the</div><div class='add'>+	  last section in the original test) to reduce things to be worried.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 03:00:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_iterator.rb (test_block_in_arg): add no block</div><div class='add'>+	  given tests.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_iterator.rb (test_ljump): uncomment LocalJumpError</div><div class='add'>+	  test.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 01:10:11 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/ruby: tests for ruby itself.</div><div class='add'>+</div><div class='add'>+	* test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases.</div><div class='add'>+	  some tests could not be translates...  search '!!' mark to see it.</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: should require 'csv', not '../lib/csv'.  test</div><div class='add'>+	  runner should set load path correctly.</div><div class='add'>+</div><div class='add'>+Fri Sep  5 01:03:59 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: close opened files for CSV::IOBuf explicitly.</div><div class='add'>+	  opened file cannot be removed under win32 box.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 23:59:40 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (tokadd_string): newlines have no special meanings in</div><div class='add'>+	  %w/%W, otherwise they are ignored only when interpolation is</div><div class='add'>+	  enabled.  [ruby-dev:21325]</div><div class='add'>+</div><div class='add'>+Thu Sep  4 19:38:25 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/io/wait/.cvsignore: added.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/.cvsignore: added.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 19:28:24 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* sample/openssl: added.  Sample of standard distribution library</div><div class='add'>+	  should be locate in sample/{module_name}/*.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/sample/*: removed.  move to sample/openssl/*.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 18:02:15 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: use remove_const to reduce warnings.  use</div><div class='add'>+	  Dir.tmpdir to locate working files.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 17:41:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-here-doc-beg-re): underscore also is</div><div class='add'>+	  valid delimiter.</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-here-doc-end-match): must quote</div><div class='add'>+	  arbitrary string to use as regexp.</div><div class='add'>+</div><div class='add'>+	* misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): must not</div><div class='add'>+	  call `ruby-here-doc-end-match' unless `ruby-here-doc-beg-re'</div><div class='add'>+	  matched.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 15:40:07 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test/csv/test_csv.rb: run on test/unit original layer.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 12:54:50 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: headerless documents with root-level spacing now</div><div class='add'>+	  honored.</div><div class='add'>+</div><div class='add'>+Thu Sep  4 00:06:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (mark_frame_adj): need to adjust argv pointer if using</div><div class='add'>+	  system's alloca. [ruby-core:01503]</div><div class='add'>+</div><div class='add'>+Wed Sep  3 21:33:20 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* test: add test directory.  Test::Unit aware testcases and needed</div><div class='add'>+	  files should be located in this directory.  dir/file name convention;</div><div class='add'>+	    test/{module_name}/test_{testcase_name}.rb</div><div class='add'>+	    test/{module_name}/{needed_files}</div><div class='add'>+	  someday, someone will write testrunner which searches test_*.rb and</div><div class='add'>+	  run testcases automatically.</div><div class='add'>+</div><div class='add'>+	* test/csv/*: add testcase for lib/csv.rb.</div><div class='add'>+</div><div class='add'>+Wed Sep  3 01:37:09 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (rb_f_gets): should call next_argv() before type check</div><div class='add'>+	  current_file. [ruby-list:38336]</div><div class='add'>+</div><div class='add'>+Tue Sep  2 20:37:15 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning</div><div class='add'>+	  for skipping server verification.</div><div class='add'>+</div><div class='add'>+Tue Sep  2 23:36:57 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): should retrieve retval when pcall is true.</div><div class='add'>+</div><div class='add'>+Tue Sep  2 14:09:20 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/extconf.rb: check s6_addr8 in in6_addr (Tru64 UNIX).</div><div class='add'>+	  the patch is submitted by nmu &lt;nmu@users.sourceforge.jp&gt;.</div><div class='add'>+</div><div class='add'>+	* ext/socket/getaddrinfo.c (getaddrinfo): should use in6_addr8 on</div><div class='add'>+	  some platforms.</div><div class='add'>+</div><div class='add'>+	* ext/socket/getnameinfo.c (getnameinfo): ditto.</div><div class='add'>+</div><div class='add'>+Tue Sep  2 14:02:19 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :</div><div class='add'>+	  bug fix and improvement of font control</div><div class='add'>+</div><div class='add'>+Tue Sep  2 09:51:36 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): should not handle exceptions within rescue</div><div class='add'>+	  argument.  [ruby-talk:80804]</div><div class='add'>+</div><div class='add'>+Tue Sep  2 00:44:37 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* re.c (rb_memsearch): fix overrun.  [ruby-talk:80759]</div><div class='add'>+</div><div class='add'>+Tue Sep  2 00:41:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (map_charset): use lower case keys.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_fail): just yield error and return the</div><div class='add'>+	  result if a block is given.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/iconv.c (iconv_convert): yield error and append the</div><div class='add'>+	  result if a block is given.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/charset_alias.rb (charset_alias): optional third</div><div class='add'>+	  argument.</div><div class='add'>+</div><div class='add'>+	* ext/iconv/charset_alias.rb (charset_alias): use CP932 instead of</div><div class='add'>+	  SHIFT_JIS on cygwin.</div><div class='add'>+</div><div class='add'>+Mon Sep  1 18:34:25 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): make tail recursion in ELSE clause of</div><div class='add'>+	  RESCUE a jump.</div><div class='add'>+</div><div class='add'>+Mon Sep  1 18:00:02 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (aref_args): forgot to call NEW_SPLAT(). reported by</div><div class='add'>+	  Dave Butcher.</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_Thread): protect thgroup_default.  suggested by Guy</div><div class='add'>+	  Decoux in [ruby-talk:80623]</div><div class='add'>+</div><div class='add'>+Mon Sep  1 16:59:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_switch): add RESTORE_EXIT; exit by another</div><div class='add'>+	  thread termination.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_start_0): should not error_print() within</div><div class='add'>+	  terminated thread, because $stderr used by it might be</div><div class='add'>+	  overriden now.  [ruby-dev:21280]</div><div class='add'>+</div><div class='add'>+Sun Aug 31 22:46:55 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (TAG_DST()): take no argument.</div><div class='add'>+</div><div class='add'>+	* process.c (p_gid_sw_ensure): return VALUE.</div><div class='add'>+</div><div class='add'>+Sun Aug 31 22:27:10 2003  Hidetoshi NAGAI  &lt;nagai@dumbo.ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* process.c (p_gid_sw_ensure): lack of function type</div><div class='add'>+</div><div class='add'>+Sun Aug 31 12:25:06 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/optparse.rb: --version takes an optional argument; "all" or</div><div class='add'>+	  a list of package names.</div><div class='add'>+</div><div class='add'>+Sun Aug 31 10:17:02 2003  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/date/format.rb: yyyy/mm is not an acceptable format.</div><div class='add'>+</div><div class='add'>+	* lib/time.rb: follow above.</div><div class='add'>+</div><div class='add'>+Sat Aug 30 14:25:43 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_iter_break): should not call TAG_JUMP directly.</div><div class='add'>+</div><div class='add'>+Sat Aug 30 03:58:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (struct BLOCK): remove BLOCKTAG, use scope instead.</div><div class='add'>+</div><div class='add'>+	* eval.c (POP_TAG): no longer propagate retval.  retval is now set</div><div class='add'>+	  directly by localjump_destination().</div><div class='add'>+</div><div class='add'>+	* eval.c (localjump_destination): new function to cast</div><div class='add'>+	  return/break local jump.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): stop TAG_RETURN/TAG_BREAK escaping.</div><div class='add'>+</div><div class='add'>+Fri Aug 29 22:35:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bigdecimal.c *.html: The 2nd arg. for add,sub,mult, and div is 0,</div><div class='add'>+	  then result will be the same as +,-,*,/ respectively.</div><div class='add'>+</div><div class='add'>+Fri Aug 29 17:30:15 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='add'>+</div><div class='add'>+	* process.c: bug fix</div><div class='add'>+</div><div class='add'>+	* process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}</div><div class='add'>+</div><div class='add'>+	* process.c: deny handling IDs during evaluating the block given to</div><div class='add'>+	  the Process::{UID,GID}.switch method</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c : can create a interpreter without Tk</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/tcltklib.c : bug fix on handling exceptions</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/MANUAL.euc : modify</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb : freeze some core modules</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/multi-tk.rb : more secure</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: TkVariable.new(array) --&gt; treat the array as the</div><div class='add'>+	  Tk's list</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb: improve accessibility of TkVariable object</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tk.rb, ext/tk/lib/tkfont.rb, ext/tk/lib/tkcanvas.rb,</div><div class='add'>+	  ext/tk/lib/tktext.rb : fix bug of font handling</div><div class='add'>+</div><div class='add'>+	* ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts</div><div class='add'>+</div><div class='add'>+Thu Aug 28 22:07:12 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_autoload_load): call const_missing if autoloading</div><div class='add'>+	  constant is not defined to allow hook.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): use rb_const_get_from() instead of</div><div class='add'>+	  rb_const_get_at().</div><div class='add'>+</div><div class='add'>+	* eval.c (is_defined): forgot to check NODE_COLON3.</div><div class='add'>+</div><div class='add'>+Thu Aug 28 17:30:24 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* variable.c (rb_const_get_0): should check constants defined in</div><div class='add'>+	  included modules, if klass is Object. [ruby-talk:79302]</div><div class='add'>+</div><div class='add'>+	* numeric.c (check_uint): check should be done using UINT_MAX, not</div><div class='add'>+	  INT_MAX. this fix is submitted by Lyle Johnson</div><div class='add'>+	  &lt;lyle@knology.net&gt; in [ruby-core:01486]</div><div class='add'>+</div><div class='add'>+Thu Aug 28 05:02:52 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (singleton): typo fixed (ruby-bugs-ja:PR#562)</div><div class='add'>+</div><div class='add'>+Thu Aug 28 02:37:45 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.</div><div class='add'>+	  consistent with *a = [1], which set [[1]] to a.</div><div class='add'>+</div><div class='add'>+	* node.h: merge NODE_RESTARY to NODE_SPLAT.</div><div class='add'>+</div><div class='add'>+	* parse.y: rules simplified a bit by removing NODE_RESTARY.</div><div class='add'>+</div><div class='add'>+	* sample/test.rb: updated for new assignment behavior.</div><div class='add'>+</div><div class='add'>+Wed Aug 27 22:33:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* error.c (rb_bug): should not use other methods; this function is</div><div class='add'>+	  not for ordinary use.  [ruby-dev:21259]</div><div class='add'>+</div><div class='add'>+Wed Aug 27 15:07:57 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/smtp.rb (check_response): AUTH CRAM-MD5 returns 334</div><div class='add'>+	  response. [ruby-list:38279]</div><div class='add'>+</div><div class='add'>+Wed Aug 27 05:10:15 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (map_errno): support winsock error.</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,</div><div class='add'>+	  kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime):</div><div class='add'>+	  pass errno to map_errno().</div><div class='add'>+</div><div class='add'>+	* win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,</div><div class='add'>+	  rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,</div><div class='add'>+	  rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,</div><div class='add'>+	  rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,</div><div class='add'>+	  rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,</div><div class='add'>+	  rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,</div><div class='add'>+	  rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,</div><div class='add'>+	  rb_w32_fclose, rb_w32_close): use map_errno().</div><div class='add'>+</div><div class='add'>+	* win32/win32.h: add winsock errors.</div><div class='add'>+</div><div class='add'>+Tue Aug 26 23:53:23 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/ostruct.rb (OpenStruct::method_missing): prohibit modifying</div><div class='add'>+	  frozen OpenStruct. [ruby-talk:80214]</div><div class='add'>+</div><div class='add'>+Tue Aug 26 20:03:50 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_tmpsrc): add the hook for source.</div><div class='add'>+	  [ruby-list:38122]</div><div class='add'>+</div><div class='add'>+Tue Aug 26 15:59:53 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* implicit.c (syck_type_id_to_taguri): corrected detection of</div><div class='add'>+	  x-private types.</div><div class='add'>+</div><div class='add'>+Sun Aug 24 01:02:48 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (file_expand_path): performance improvement.</div><div class='add'>+	  [ruby-talk:79748]</div><div class='add'>+</div><div class='add'>+Sat Aug 23 23:41:16 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for</div><div class='add'>+	  apparent cases. [ruby-talk:79748]</div><div class='add'>+</div><div class='add'>+Sat Aug 23 18:56:53 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/nkf/nkf.c (rb_nkf_putchar): should use rb_str_resize() to just</div><div class='add'>+	  resize a string, rb_str_cat() disallows NULL.  [ruby-dev:21237]</div><div class='add'>+</div><div class='add'>+Sat Aug 23 16:48:41 2003  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='add'>+</div><div class='add'>+	* lib/irb/ruby-lex.rb: bug fix for "foo" !~ /bar/. [ruby-talk:79942]</div><div class='add'>+</div><div class='add'>+Sat Aug 23 15:59:58 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_eval, rb_iterate, block_pass): reduce PUSH/POP_TAG and</div><div class='add'>+	  EXEC_TAG() for retry.  [ruby-dev:21216]</div><div class='add'>+</div><div class='add'>+Sat Aug 23 02:32:33 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_splat): should check if "values" is array.</div><div class='add'>+</div><div class='add'>+	* enum.c (each_with_index_i): typo.</div><div class='add'>+</div><div class='add'>+Fri Aug 22 17:07:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* enum.c (inject_i): use rb_yield_values.</div><div class='add'>+</div><div class='add'>+	* enum.c (each_with_index_i): ditto.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_splat): new function to call "yield *values".</div><div class='add'>+</div><div class='add'>+	* string.c (rb_str_scan): use rb_yield_splat().</div><div class='add'>+</div><div class='add'>+Fri Aug 22 06:13:22 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: refactoring of the transfer method</div><div class='add'>+	  dispatch.  added yaml_org_handler for faster dispatch of</div><div class='add'>+	  transfers to base types.</div><div class='add'>+</div><div class='add'>+	* lib/yaml/rubytypes.rb: removed handling of builtins from</div><div class='add'>+	  Ruby library.</div><div class='add'>+</div><div class='add'>+	* ext/syck/token.c: quoted and block scalars are now implicit !str</div><div class='add'>+</div><div class='add'>+	* ext/syck/implicit.c: empty string detected as !null.</div><div class='add'>+</div><div class='add'>+Fri Aug 22 01:00:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (block_pass): improve passing current block.</div><div class='add'>+</div><div class='add'>+Fri Aug 22 00:13:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication</div><div class='add'>+	  fixed, and VpNmlz() speed up.</div><div class='add'>+</div><div class='add'>+Wed Aug 20 16:44:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/socket/socket.c (ruby_connect): many systems seem to have</div><div class='add'>+	  a problem in select() after EINPROGRESS.  [ruby-list:38080]</div><div class='add'>+</div><div class='add'>+Wed Aug 20 01:31:17 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.h: Parser definition problems on HP-UX.</div><div class='add'>+	  [ruby-talk:79389]</div><div class='add'>+</div><div class='add'>+	* ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.</div><div class='add'>+</div><div class='add'>+	* ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.</div><div class='add'>+</div><div class='add'>+	* ext/syck/rubyext.c: Tainting issues.</div><div class='add'>+</div><div class='add'>+Tue Aug 19 23:20:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c .h .html: to_s("+") implemented.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/math.rb: E implemented.</div><div class='add'>+</div><div class='add'>+Tue Aug 19 07:47:09 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/compat.rb (File::fnmatch): remove old migration code.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httpserver.rb (HTTPServer#run): ditto.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (GenericServer#listen): the body of this</div><div class='add'>+	  method is pull out as Utils::create_lisnteners.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/utils.rb (Utils::create_lisnteners): new method.</div><div class='add'>+</div><div class='add'>+	* lib/webrick/server.rb (GenericServer#start): should rescue</div><div class='add'>+	  unknown errors. and refine comments.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close</div><div class='add'>+	  socket if SSLSocket raises error.</div><div class='add'>+</div><div class='add'>+Tue Aug 19 11:19:33 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* io.c (next_argv): should not call GetOpenFile() if rb_stdout is</div><div class='add'>+	  not a IO (T_FILE).</div><div class='add'>+</div><div class='add'>+Tue Aug 19 07:47:09 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as</div><div class='add'>+	  a builtin.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should</div><div class='add'>+	  add a return to the tails of each line.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/sample/echo_svr.rb: use SSLServer.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/sample/echo_cli.rb: add example of SSLSocket#sync_close.</div><div class='add'>+</div><div class='add'>+Tue Aug 19 01:24:34 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard</div><div class='add'>+	  headers are inconsistent at this macro.  [ruby-core:01432]</div><div class='add'>+</div><div class='add'>+	* ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.</div><div class='add'>+</div><div class='add'>+	* ext/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers</div><div class='add'>+	  winspool.h</div><div class='add'>+</div><div class='add'>+	* instruby.rb: make list at first instead of iterator.</div><div class='add'>+	  [ruby-talk:79347]</div><div class='add'>+</div><div class='add'>+Mon Aug 18 11:23:11 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* dir.c (glob_helper): preserve raw order for **.</div><div class='add'>+</div><div class='add'>+Sun Aug 17 23:39:55 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.</div><div class='add'>+</div><div class='add'>+Sun Aug 17 17:10:03 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/ssl.rb (SSLSocket#sync_close=): add a</div><div class='add'>+	  method to specify if the underlying IO will be closed in</div><div class='add'>+	  SSLSocket#close.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb: add forwarders to</div><div class='add'>+	  setsockopt, getsockopt and fcntl.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.</div><div class='add'>+</div><div class='add'>+Sun Aug 17 11:32:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): should not force to remake Makefile when</div><div class='add'>+	  installation and so on.</div><div class='add'>+</div><div class='add'>+Sat Aug 16 23:58:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_symbol, w_object): get rid of warnings.</div><div class='add'>+</div><div class='add'>+	* re.c (rb_memsearch): ditto.</div><div class='add'>+</div><div class='add'>+	* time.c (time_dump): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): not continue making when extconf.rb</div><div class='add'>+	  failed.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl.h: remove version.h dependency.</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ruby_missing.h: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (pkg_config): use --libs output except with</div><div class='add'>+	  only-L for other options.  [ruby-list:38099]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (create_makefile): separate rule for static</div><div class='add'>+	  library from shared object.</div><div class='add'>+</div><div class='add'>+	* win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:</div><div class='add'>+	  define exec_prefix and libdir.</div><div class='add'>+</div><div class='add'>+Fri Aug 15 23:15:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c .h: Bug in combination of limit &amp; div</div><div class='add'>+	  method fixed.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/math.rb: atan() &amp; sqrt() added.</div><div class='add'>+</div><div class='add'>+Fri Aug 15 12:01:43 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in (HUGE_ST_INO): check whether struct stat.st_ino</div><div class='add'>+	  is larger than long.  [ruby-dev:21194]</div><div class='add'>+	  http://www.geocities.co.jp/SiliconValley-PaloAlto/1409/ruby/beos.html</div><div class='add'>+</div><div class='add'>+	* error.c (syserr_eqq): errno might exceed Fixnum limit.</div><div class='add'>+</div><div class='add'>+	* error.c (Init_Exception): moved base initialization from</div><div class='add'>+	  init_syserr().</div><div class='add'>+</div><div class='add'>+	* inits.c (rb_call_inits): postpone initializing errnos until</div><div class='add'>+	  Bignum is available.</div><div class='add'>+</div><div class='add'>+Fri Aug 15 12:01:43 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let</div><div class='add'>+	  keyname() and so on be declared.</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (curses_resizeterm, window_resize):</div><div class='add'>+	  arguments conflicted with macros in term.h.</div><div class='add'>+</div><div class='add'>+	* ext/curses/curses.c (Curses module methods): ensure</div><div class='add'>+	  initialized.  [ruby-dev:21191]</div><div class='add'>+</div><div class='add'>+Fri Aug 15 02:08:53 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (id2ref): recycle check should be done by klass == 0.</div><div class='add'>+	  [ruby-core:01408]</div><div class='add'>+</div><div class='add'>+Fri Aug 15 01:34:23 2003  Michal Rokos  &lt;m.rokos@sh.cvut.cz&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey.c: move generate_cb here</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_pkey_{dh|dsa|rsa}.c: adapt to this cb</div><div class='add'>+</div><div class='add'>+	* ext/openssl/openssl_missing.[ch]: add (0.9.6x, x&lt;j) missing BN funcs</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_bn.c: use supplied funcs from openssl_missing.c</div><div class='add'>+</div><div class='add'>+Fri Aug 15 00:38:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c: Bug in div method fixed.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/lib/bigdecimal/math.rb: Newly added.</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/sample/pi.rb: Changed so as to use math.rb.</div><div class='add'>+</div><div class='add'>+Thu Aug 14 21:19:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (Init_Thread): Continuation#[] added.  [ruby-talk:79028]</div><div class='add'>+</div><div class='add'>+Thu Aug 14 20:03:34 2003  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (OLE_FREE): should not call</div><div class='add'>+	  ole_message_loop.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_event_free): ditto.</div><div class='add'>+</div><div class='add'>+	* ext/win32ole/win32ole.c (ole_initialize): stop calling</div><div class='add'>+	  OleUninitialize at exit.</div><div class='add'>+</div><div class='add'>+Thu Aug 14 11:27:37 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c (rb_data_object_alloc): check type of 1st argument.</div><div class='add'>+	  [ruby-dev:21192]</div><div class='add'>+</div><div class='add'>+Thu Aug 14 00:21:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* parse.y (mlhs_node): should allow "::Foo" (colon3) as lhs.</div><div class='add'>+</div><div class='add'>+	* parse.y (lhs): ditto.</div><div class='add'>+</div><div class='add'>+	* parse.y (yylex): should return tCOLON3 right after kCLASS.</div><div class='add'>+	  [ruby-talk:78918]</div><div class='add'>+</div><div class='add'>+	* error.c (exc_initialize): was converting argument to string too</div><div class='add'>+	  eagerly.  Only check was needed. [ruby-talk:78958]</div><div class='add'>+</div><div class='add'>+Wed Aug 13 23:31:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal/bigdecimal.c .h .html: Ambiguity of</div><div class='add'>+	  BigDecimal::limit removed.</div><div class='add'>+</div><div class='add'>+Wed Aug 13 19:21:34 2003  Christian Neukirchen  &lt;chneukirchen@yahoo.de&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/https.rb (HTTPServer#run): should set syncing-mode</div><div class='add'>+	  to SSLSocket. [ruby-talk:78919]</div><div class='add'>+</div><div class='add'>+Wed Aug 13 18:13:49 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (POP_BLOCK): turn on BLOCK_LEFT flag when leaving block.</div><div class='add'>+</div><div class='add'>+	* eval.c (proc_invoke): unpack return/break destination when block</div><div class='add'>+	  is already left.</div><div class='add'>+</div><div class='add'>+Wed Aug 13 15:58:31 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* object.c (rb_class_s_alloc): add function prototype to avoid VC++</div><div class='add'>+	  warning.</div><div class='add'>+</div><div class='add'>+Wed Aug 13 13:50:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/Win32API/Win32API.c (Win32API_initialize): should pass some</div><div class='add'>+	  class to first argument of Data_Wrap_Struct(). (ruby-bugs:PR#1109)</div><div class='add'>+</div><div class='add'>+Tue Aug 12 16:55:11 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* Makefile.in: static link libraries to LIBRUBY_SO with static linked</div><div class='add'>+	  ext.  [ruby-dev:21157]</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): sort extension library initialization order.</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): compact $extlibs.</div><div class='add'>+</div><div class='add'>+Tue Aug 12 02:48:56 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (THREAD_SAVE_CONTEXT): should explicitly turn off the</div><div class='add'>+	  flag before calling getcontext(2).</div><div class='add'>+</div><div class='add'>+	* eval.c (struct thread): add member to save backing store on</div><div class='add'>+	  IA64. (ruby-bugs PR1086)</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_mark): mark IA64 backing store region.</div><div class='add'>+</div><div class='add'>+	* eval.c (thread_free): free saved IA64 backing store.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_save_context): save IA64 backing store as well.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_thread_restore_context): restore IA64 backing store.</div><div class='add'>+</div><div class='add'>+	* eval.c (THREAD_ALLOC): initialize IA64 members.</div><div class='add'>+</div><div class='add'>+Mon Aug 11 22:31:50 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='add'>+	* lib/debug.rb(debug_command): inspection command should inspect</div><div class='add'>+	  resulting value even if it's nil.  [ruby-dev:21180] by OMAE, jun</div><div class='add'>+	  &lt;jun66j5@ybb.ne.jp&gt;.</div><div class='add'>+</div><div class='add'>+	* lib/debug.rb(debug_command): incomplete regexp.</div><div class='add'>+</div><div class='add'>+Mon Aug 11 17:33:07 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call_super): do not use rb_block_given_p() for</div><div class='add'>+	  check. [ruby-talk:78656]</div><div class='add'>+</div><div class='add'>+	* eval.c (BEGIN_CALLARGS): push ITER_NOT only when ITER_PRE.</div><div class='add'>+</div><div class='add'>+Sun Aug 10 10:43:05 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE</div><div class='add'>+	  from 1k to 16k bytes. [ruby-talk:78603]</div><div class='add'>+</div><div class='add'>+	* ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable</div><div class='add'>+	  partial write to allow interruption in SSLSocket#write.</div><div class='add'>+</div><div class='add'>+Sun Aug 10 00:34:16 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'</div><div class='add'>+	  for ccache.</div><div class='add'>+</div><div class='add'>+Sat Aug  9 10:36:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): do not dump generic instance variable when</div><div class='add'>+	  marshal_dump is defined.</div><div class='add'>+</div><div class='add'>+Sat Aug  9 00:35:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal.c: F style output(like 1234.56789) implemented</div><div class='add'>+	  to to_s method.</div><div class='add'>+	* ext/bigdecimal_??.html: F style output(like 1234.56789)</div><div class='add'>+	  implemented to to_s method.</div><div class='add'>+</div><div class='add'>+Fri Aug  8 12:33:17 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* bcc32/Makefile.sub: rubyw.exe should be a Windows GUI program.</div><div class='add'>+	  add the -aa option to WLDFLAGS.</div><div class='add'>+</div><div class='add'>+Fri Aug  8 11:29:26 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): should set `c_arg' at first.</div><div class='add'>+</div><div class='add'>+Fri Aug  8 03:22:28 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/webrick/httputils.rb (FormData#list): should not take</div><div class='add'>+	  a side effect for the receiver.</div><div class='add'>+</div><div class='add'>+Thu Aug  7 14:40:37 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* cygwin/GNUmakefile: better --disbale-shared option support.</div><div class='add'>+</div><div class='add'>+	* cygwin/GNUmakefile: add forwarding DLL target for cygwin.</div><div class='add'>+</div><div class='add'>+Thu Aug  7 14:21:05 2003  Corinna Vinschen  &lt;vinschen@redhat.com&gt;</div><div class='add'>+</div><div class='add'>+	* configure.in: Fix Cygwin specific naming of libraries to</div><div class='add'>+	  be net distribution compliant. (ruby-bugs:PR#1077)</div><div class='add'>+	  cygwin-ruby18.dll -&gt; cygruby18.dll</div><div class='add'>+</div><div class='add'>+Thu Aug  7 12:51:38 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_at_exit): should not be called without a block.</div><div class='add'>+	  block_given check added.</div><div class='add'>+</div><div class='add'>+Thu Aug  7 06:46:06 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): forgot to pop ruby_class.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_call0): update ruby_class as well as ruby_cref.</div><div class='add'>+	  (ruby-bugs-ja:PR#540)</div><div class='add'>+</div><div class='add'>+Thu Aug  7 04:52:50 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_yield_0): remove ruby_frame-&gt;cbase and unify to</div><div class='add'>+	  ruby_cref.  [ruby-talk:78141]</div><div class='add'>+</div><div class='add'>+Thu Aug  7 04:19:15 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='add'>+</div><div class='add'>+	* gc.c: FreeBSD/ia64's mcontext_t is a bit different from that of</div><div class='add'>+	  Linux/ia64.  This makes gc.c compile but miniruby coredumps for</div><div class='add'>+	  the moment.</div><div class='add'>+</div><div class='add'>+Thu Aug  7 00:15:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/bigdecimal.c: Comparison results adjusted to Float's.</div><div class='add'>+	* ext/bigdecimal.c: Use rb_num_coerce_????(x,y) instead of own.</div><div class='add'>+</div><div class='add'>+Wed Aug  6 22:58:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/test/unit/testcase.rb: Added equality checking.</div><div class='add'>+	* lib/test/unit/testsuite.rb: Added equality checking.</div><div class='add'>+	* lib/test/unit/assertions.rb: Fixed a warning.</div><div class='add'>+</div><div class='add'>+Wed Aug  6 17:28:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): pass LIBPATH to make ruby.  [ruby-dev:21137]</div><div class='add'>+</div><div class='add'>+	* ext/extmk.rb (extmake): set library name as source file name in</div><div class='add'>+	  Init_ext().  [ruby-dev:21137]</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (Logging::postpone): postpone logging messages after</div><div class='add'>+	  heading message as the result of the block.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (macro_defined?): append newline to src unless ended</div><div class='add'>+	  with it.</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (have_library): treat nil function name as "main".</div><div class='add'>+	  (ruby-bugs:PR#1083)</div><div class='add'>+</div><div class='add'>+	* lib/mkmf.rb (pkg_config): should append additional libraries to</div><div class='add'>+	  $libs but not $LIBS.  [ruby-dev:21137]</div><div class='add'>+</div><div class='add'>+	* ext/io/wait/extconf.rb: check DOSISH macro instead of platform.</div><div class='add'>+</div><div class='add'>+	* ext/digest/sha1/extconf.rb: have_library already appends library</div><div class='add'>+	  name.</div><div class='add'>+</div><div class='add'>+Wed Aug  6 17:23:57 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c: initialize /* OK */ variables by Qnil to stop warnings.</div><div class='add'>+</div><div class='add'>+Wed Aug  6 04:58:32 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* ext/Setup*: add io/wait and openssl.</div><div class='add'>+</div><div class='add'>+Wed Aug  6 01:13:38 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_autoload): use ruby_cbase instead of ruby_class.</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_f_autoload_p): ditto.</div><div class='add'>+</div><div class='add'>+	* class.c (rb_mod_init_copy): no longer implements independent</div><div class='add'>+	  clone and dup methods.  override "initialize_copy" instead.</div><div class='add'>+	  [ruby-core:01352]</div><div class='add'>+</div><div class='add'>+	* object.c (rb_class_s_alloc): define Class allocation function.</div><div class='add'>+	  this makes Classes to follow clone framework that uses</div><div class='add'>+	  initialize_copy.</div><div class='add'>+</div><div class='add'>+	* object.c (rb_class_initialize): separate instantiation and</div><div class='add'>+	  initialization.</div><div class='add'>+</div><div class='add'>+	* object.c (rb_obj_alloc): prohibit instantiation from</div><div class='add'>+	  uninitialized class.</div><div class='add'>+</div><div class='add'>+	* object.c (rb_class_superclass): check uninitialized class.</div><div class='add'>+</div><div class='add'>+	* array.c (rb_ary_fill): wrong index processing with block.  this</div><div class='add'>+	  fix was done by Koji Arai &lt;JCA02266@nifty.ne.jp&gt; [ruby-list:38029]</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): should preserve generic ivar for nil,</div><div class='add'>+	  true, false, symbols, and fixnums.</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_uclass): base_klass check should be done after</div><div class='add'>+	  rb_class_real().</div><div class='add'>+</div><div class='add'>+Wed Aug  6 01:18:50 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='add'>+</div><div class='add'>+	* lib/net/http.rb: update document.</div><div class='add'>+</div><div class='add'>+	* lib/net/pop.rb: ditto.</div><div class='add'>+</div><div class='add'>+	* lib/net/protocol.rb: ditto.</div><div class='add'>+</div><div class='add'>+Wed Aug  6 00:48:37 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='add'>+</div><div class='add'>+	* marshal.c (w_object): should recommend marshal_dump rather than</div><div class='add'>+	  _dump_data.</div><div class='add'>+</div><div class='add'>+Tue Aug  5 17:58:57 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/fileutils.rb (install): should preserve timestamp only.</div><div class='add'>+</div><div class='add'>+Tue Aug  5 17:31:59 2003  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='add'>+</div><div class='add'>+	* lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):</div><div class='add'>+	  simple typo.</div><div class='add'>+</div><div class='add'>+Tue Aug  5 15:47:34 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* eval.c (rb_load): should preserve current source file/line.</div><div class='add'>+</div><div class='add'>+Tue Aug  5 10:04:42 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* string.c (str_new4): ptr may refer null_str.</div><div class='add'>+</div><div class='add'>+Mon Aug  4 17:25:18 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='add'>+</div><div class='add'>+	* stable version 1.8.0 released.</div><div class='add'>+</div><div class='add'>+For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='add'>+</div><div class='add'>+Local variables:</div><div class='add'>+add-log-time-format: (lambda ()</div><div class='add'>+  (let* ((time (current-time))</div><div class='add'>+	 (diff (+ (cadr time) 32400))</div><div class='add'>+	 (lo (% diff 65536))</div><div class='add'>+	 (hi  (+ (car time) (/ diff 65536))))</div><div class='add'>+  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='add'>+indent-tabs-mode: t</div><div class='add'>+tab-width: 8</div><div class='add'>+end:</div><div class='head'>diff --git a/GPL b/GPL<br/>index d159169d10..5b6e7c66c2 100644<br/>--- a/<a href='/ruby.git/tree/GPL?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>GPL</a><br/>+++ b/<a href='/ruby.git/tree/GPL?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>GPL</a></div><div class='hunk'>@@ -1,12 +1,12 @@</div><div class='del'>-                    GNU GENERAL PUBLIC LICENSE</div><div class='del'>-                       Version 2, June 1991</div><div class='add'>+		    GNU GENERAL PUBLIC LICENSE</div><div class='add'>+		       Version 2, June 1991</div><div class='ctx'> </div><div class='del'>- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,</div><div class='del'>- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</div><div class='add'>+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.</div><div class='add'>+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</div><div class='ctx'>  Everyone is permitted to copy and distribute verbatim copies</div><div class='ctx'>  of this license document, but changing it is not allowed.</div><div class='ctx'> </div><div class='del'>-                            Preamble</div><div class='add'>+			    Preamble</div><div class='ctx'> </div><div class='ctx'>   The licenses for most software are designed to take away your</div><div class='ctx'> freedom to share and change it.  By contrast, the GNU General Public</div><div class='hunk'>@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This</div><div class='ctx'> General Public License applies to most of the Free Software</div><div class='ctx'> Foundation's software and to any other program whose authors commit to</div><div class='ctx'> using it.  (Some other Free Software Foundation software is covered by</div><div class='del'>-the GNU Lesser General Public License instead.)  You can apply it to</div><div class='add'>+the GNU Library General Public License instead.)  You can apply it to</div><div class='ctx'> your programs, too.</div><div class='ctx'> </div><div class='ctx'>   When we speak of free software, we are referring to freedom, not</div><div class='hunk'>@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.</div><div class='ctx'> </div><div class='ctx'>   The precise terms and conditions for copying, distribution and</div><div class='ctx'> modification follow.</div><div class='del'>-</div><div class='del'>-                    GNU GENERAL PUBLIC LICENSE</div><div class='add'>+</div><div class='add'>+		    GNU GENERAL PUBLIC LICENSE</div><div class='ctx'>    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</div><div class='ctx'> </div><div class='ctx'>   0. This License applies to any program or other work which contains</div><div class='hunk'>@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:</div><div class='ctx'>     License.  (Exception: if the Program itself is interactive but</div><div class='ctx'>     does not normally print such an announcement, your work based on</div><div class='ctx'>     the Program is not required to print an announcement.)</div><div class='del'>-</div><div class='add'>+</div><div class='ctx'> These requirements apply to the modified work as a whole.  If</div><div class='ctx'> identifiable sections of that work are not derived from the Program,</div><div class='ctx'> and can be reasonably considered independent and separate works in</div><div class='hunk'>@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent</div><div class='ctx'> access to copy the source code from the same place counts as</div><div class='ctx'> distribution of the source code, even though third parties are not</div><div class='ctx'> compelled to copy the source along with the object code.</div><div class='del'>-</div><div class='add'>+</div><div class='ctx'>   4. You may not copy, modify, sublicense, or distribute the Program</div><div class='ctx'> except as expressly provided under this License.  Any attempt</div><div class='ctx'> otherwise to copy, modify, sublicense or distribute the Program is</div><div class='hunk'>@@ -225,7 +225,7 @@ impose that choice.</div><div class='ctx'> </div><div class='ctx'> This section is intended to make thoroughly clear what is believed to</div><div class='ctx'> be a consequence of the rest of this License.</div><div class='del'>-</div><div class='add'>+</div><div class='ctx'>   8. If the distribution and/or use of the Program is restricted in</div><div class='ctx'> certain countries either by patents or by copyrighted interfaces, the</div><div class='ctx'> original copyright holder who places the Program under this License</div><div class='hunk'>@@ -255,7 +255,7 @@ make exceptions for this.  Our decision will be guided by the two goals</div><div class='ctx'> of preserving the free status of all derivatives of our free software and</div><div class='ctx'> of promoting the sharing and reuse of software generally.</div><div class='ctx'> </div><div class='del'>-                            NO WARRANTY</div><div class='add'>+			    NO WARRANTY</div><div class='ctx'> </div><div class='ctx'>   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY</div><div class='ctx'> FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN</div><div class='hunk'>@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER</div><div class='ctx'> PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE</div><div class='ctx'> POSSIBILITY OF SUCH DAMAGES.</div><div class='ctx'> </div><div class='del'>-                     END OF TERMS AND CONDITIONS</div><div class='del'>-</div><div class='del'>-            How to Apply These Terms to Your New Programs</div><div class='add'>+		     END OF TERMS AND CONDITIONS</div><div class='add'>+</div><div class='add'>+	    How to Apply These Terms to Your New Programs</div><div class='ctx'> </div><div class='ctx'>   If you develop a new program, and you want it to be of the greatest</div><div class='ctx'> possible use to the public, the best way to achieve this is to make it</div><div class='hunk'>@@ -303,9 +303,10 @@ the "copyright" line and a pointer to where the full notice is found.</div><div class='ctx'>     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</div><div class='ctx'>     GNU General Public License for more details.</div><div class='ctx'> </div><div class='del'>-    You should have received a copy of the GNU General Public License along</div><div class='del'>-    with this program; if not, write to the Free Software Foundation, Inc.,</div><div class='del'>-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</div><div class='add'>+    You should have received a copy of the GNU General Public License</div><div class='add'>+    along with this program; if not, write to the Free Software</div><div class='add'>+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</div><div class='add'>+</div><div class='ctx'> </div><div class='ctx'> Also add information on how to contact you by electronic and paper mail.</div><div class='ctx'> </div><div class='hunk'>@@ -335,5 +336,5 @@ necessary.  Here is a sample; alter the names:</div><div class='ctx'> This General Public License does not permit incorporating your program into</div><div class='ctx'> proprietary programs.  If your program is a subroutine library, you may</div><div class='ctx'> consider it more useful to permit linking proprietary applications with the</div><div class='del'>-library.  If this is what you want to do, use the GNU Lesser General</div><div class='add'>+library.  If this is what you want to do, use the GNU Library General</div><div class='ctx'> Public License instead of this License.</div><div class='head'>diff --git a/KNOWNBUGS.rb b/KNOWNBUGS.rb<br/>deleted file mode 100644<br/>index 35a8e75876..0000000000<br/>--- a/<a href='/ruby.git/tree/KNOWNBUGS.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>KNOWNBUGS.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# IMPORTANT: Always keep the first 7 lines (comments),</div><div class='del'>-# even if this file is otherwise empty.</div><div class='del'>-#</div><div class='del'>-# This test file includes tests which point out known bugs.</div><div class='del'>-# So all tests will cause failure.</div><div class='del'>-#</div><div class='head'>diff --git a/LEGAL b/LEGAL<br/>index 0fe24dfc3c..908eb270f5 100644<br/>--- a/<a href='/ruby.git/tree/LEGAL?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>LEGAL</a><br/>+++ b/<a href='/ruby.git/tree/LEGAL?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>LEGAL</a></div><div class='hunk'>@@ -1,231 +1,61 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= LEGAL NOTICE INFORMATION</div><div class='del'>---------------------------</div><div class='add'>+LEGAL NOTICE INFORMATION</div><div class='add'>+------------------------</div><div class='ctx'> </div><div class='ctx'> All the files in this distribution are covered under either the Ruby's</div><div class='ctx'> license (see the file COPYING) or public-domain except some files</div><div class='ctx'> mentioned below.</div><div class='ctx'> </div><div class='del'>-ccan/build_assert/build_assert.h::</div><div class='del'>-ccan/check_type/check_type.h::</div><div class='del'>-ccan/container_of/container_of.h::</div><div class='del'>-ccan/str/str.h::</div><div class='del'>-</div><div class='del'>-  These files are licensed under the CC0.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    https://creativecommons.org/choose/zero/</div><div class='del'>-</div><div class='del'>-ccan/list/list.h::</div><div class='del'>-</div><div class='del'>-  This file is licensed under the MIT License.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Permission is hereby granted, free of charge, to any person obtaining a copy</div><div class='del'>-    of this software and associated documentation files (the "Software"), to deal</div><div class='del'>-    in the Software without restriction, including without limitation the rights</div><div class='del'>-    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</div><div class='del'>-    copies of the Software, and to permit persons to whom the Software is</div><div class='del'>-    furnished to do so, subject to the following conditions:</div><div class='del'>-</div><div class='del'>-    The above copyright notice and this permission notice shall be included in</div><div class='del'>-    all copies or substantial portions of the Software.</div><div class='del'>-</div><div class='del'>-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='del'>-    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='del'>-    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='del'>-    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='del'>-    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='del'>-    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</div><div class='del'>-    THE SOFTWARE.</div><div class='del'>-</div><div class='del'>-include/ruby/onigmo.h::</div><div class='del'>-include/ruby/oniguruma.h::</div><div class='del'>-regcomp.c::</div><div class='del'>-regenc.c::</div><div class='del'>-regenc.h::</div><div class='del'>-regerror.c::</div><div class='del'>-regexec.c::</div><div class='del'>-regint.h::</div><div class='del'>-regparse.c::</div><div class='del'>-regparse.h::</div><div class='del'>-enc/ascii.c::</div><div class='del'>-enc/big5.c::</div><div class='del'>-enc/cp949.c::</div><div class='del'>-enc/emacs_mule.c::</div><div class='del'>-enc/encdb.c::</div><div class='del'>-enc/euc_jp.c::</div><div class='del'>-enc/euc_kr.c::</div><div class='del'>-enc/euc_tw.c::</div><div class='del'>-enc/gb18030.c::</div><div class='del'>-enc/gb2312.c::</div><div class='del'>-enc/gbk.c::</div><div class='del'>-enc/iso_8859_1.c::</div><div class='del'>-enc/iso_8859_10.c::</div><div class='del'>-enc/iso_8859_11.c::</div><div class='del'>-enc/iso_8859_13.c::</div><div class='del'>-enc/iso_8859_14.c::</div><div class='del'>-enc/iso_8859_15.c::</div><div class='del'>-enc/iso_8859_16.c::</div><div class='del'>-enc/iso_8859_2.c::</div><div class='del'>-enc/iso_8859_3.c::</div><div class='del'>-enc/iso_8859_4.c::</div><div class='del'>-enc/iso_8859_5.c::</div><div class='del'>-enc/iso_8859_6.c::</div><div class='del'>-enc/iso_8859_7.c::</div><div class='del'>-enc/iso_8859_8.c::</div><div class='del'>-enc/iso_8859_9.c::</div><div class='del'>-enc/koi8_r.c::</div><div class='del'>-enc/koi8_u.c::</div><div class='del'>-enc/shift_jis.c::</div><div class='del'>-enc/unicode.c::</div><div class='del'>-enc/us_ascii.c::</div><div class='del'>-enc/utf_16be.c::</div><div class='del'>-enc/utf_16le.c::</div><div class='del'>-enc/utf_32be.c::</div><div class='del'>-enc/utf_32le.c::</div><div class='del'>-enc/utf_8.c::</div><div class='del'>-enc/windows_1251.c::</div><div class='del'>-</div><div class='del'>-  Onigmo (Oniguruma-mod) LICENSE</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 2002-2009  K.Kosako  &lt;sndgk393 AT ybb DOT ne DOT jp&gt;  </div><div class='del'>-    Copyright (c) 2011-2014  K.Takata  &lt;kentkt AT csc DOT jp&gt;  </div><div class='del'>-    All rights reserved.</div><div class='del'>-</div><div class='del'>-    Redistribution and use in source and binary forms, with or without</div><div class='del'>-    modification, are permitted provided that the following conditions</div><div class='del'>-    are met:</div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='del'>-</div><div class='del'>-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='del'>-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-    SUCH DAMAGE.</div><div class='del'>-</div><div class='del'>-  Oniguruma LICENSE</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 2002-2009  K.Kosako  &lt;sndgk393 AT ybb DOT ne DOT jp&gt;  </div><div class='del'>-    All rights reserved.</div><div class='del'>-</div><div class='del'>-    Redistribution and use in source and binary forms, with or without</div><div class='del'>-    modification, are permitted provided that the following conditions</div><div class='del'>-    are met:</div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='del'>-</div><div class='del'>-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='del'>-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-    SUCH DAMAGE.</div><div class='del'>-</div><div class='del'>-  * https://github.com/k-takata/Onigmo/</div><div class='del'>-  * https://github.com/kkos/oniguruma</div><div class='del'>-  * https://svnweb.freebsd.org/ports/head/devel/oniguruma/</div><div class='add'>+regex.[ch]:</div><div class='ctx'> </div><div class='del'>-    When this software is partly used or it is distributed with Ruby,</div><div class='del'>-    this of Ruby follows the license of Ruby.</div><div class='add'>+  These files are under LGPL.  Treat them as LGPL says. (See the file</div><div class='add'>+  LGPL for details)</div><div class='ctx'> </div><div class='del'>-enc/trans/GB/GB12345%UCS.src::</div><div class='del'>-enc/trans/GB/UCS%GB12345.src::</div><div class='del'>-enc/trans/GB/GB2312%UCS.src::</div><div class='del'>-enc/trans/GB/UCS%GB2312.src::</div><div class='add'>+    Extended regular expression matching and search library.</div><div class='add'>+    Copyright (C) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc.</div><div class='ctx'> </div><div class='del'>-  These files have this explanatory texts.</div><div class='add'>+    The GNU C Library is free software; you can redistribute it and/or</div><div class='add'>+    modify it under the terms of the GNU Library General Public License as</div><div class='add'>+    published by the Free Software Foundation; either version 2 of the</div><div class='add'>+    License, or (at your option) any later version.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    This mapping data was created from files provided by Unicode, Inc.</div><div class='del'>-    (The Unicode Consortium). The files were used to create a product supporting</div><div class='del'>-    Unicode, as explicitly permitted in the files' copyright notices.</div><div class='del'>-    Please note that Unicode, Inc. never made any claims as to fitness of these</div><div class='del'>-    files for any particular purpose, and has ceased to publish the files many</div><div class='del'>-    years ago.</div><div class='del'>-</div><div class='del'>-enc/trans/JIS/JISX0201-KANA%UCS.src::</div><div class='del'>-enc/trans/JIS/JISX0208\@1990%UCS.src::</div><div class='del'>-enc/trans/JIS/JISX0212%UCS.src::</div><div class='del'>-enc/trans/JIS/UCS%JISX0201-KANA.src::</div><div class='del'>-enc/trans/JIS/UCS%JISX0208@1990.src::</div><div class='del'>-enc/trans/JIS/UCS%JISX0212.src::</div><div class='del'>-</div><div class='del'>-  These files are copyrighted as the following.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    © 2015 Unicode®, Inc.</div><div class='del'>-</div><div class='del'>-    For terms of use, see http://www.unicode.org/terms_of_use.html</div><div class='del'>-</div><div class='del'>-enc/trans/JIS/JISX0213-1%UCS@BMP.src::</div><div class='del'>-enc/trans/JIS/JISX0213-1%UCS@SIP.src::</div><div class='del'>-enc/trans/JIS/JISX0213-2%UCS@BMP.src::</div><div class='del'>-enc/trans/JIS/JISX0213-2%UCS@SIP.src::</div><div class='del'>-</div><div class='del'>-  These files are copyrighted as the following.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (C) 2001 earthian@tama.or.jp, All Rights Reserved.  </div><div class='del'>-    Copyright (C) 2001 I'O, All Rights Reserved.  </div><div class='del'>-    Copyright (C) 2006 Project X0213, All Rights Reserved.  </div><div class='del'>-    You can use, modify, distribute this table freely.</div><div class='del'>-</div><div class='del'>-enc/trans/JIS/UCS@BMP%JISX0213-1.src::</div><div class='del'>-enc/trans/JIS/UCS@BMP%JISX0213-2.src::</div><div class='del'>-enc/trans/JIS/UCS@SIP%JISX0213-1.src::</div><div class='del'>-enc/trans/JIS/UCS@SIP%JISX0213-2.src::</div><div class='add'>+    The GNU C Library is distributed in the hope that it will be useful,</div><div class='add'>+    but WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='add'>+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</div><div class='add'>+    Library General Public License for more details.</div><div class='ctx'> </div><div class='del'>-  These files are copyrighted as the following.</div><div class='add'>+    You should have received a copy of the GNU Library General Public</div><div class='add'>+    License along with the GNU C Library; see the file LGPL.  If not,</div><div class='add'>+    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,</div><div class='add'>+    Boston, MA 02111-1307, USA.  */</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (C) 2001 earthian@tama.or.jp, All Rights Reserved.  </div><div class='del'>-    Copyright (C) 2001 I'O, All Rights Reserved.  </div><div class='del'>-    You can use, modify, distribute this table freely.</div><div class='add'>+    Multi-byte extension added May, 1993 by t^2 (Takahiro Tanimoto)</div><div class='add'>+    Last change: May 21, 1993 by t^2</div><div class='add'>+    removed gapped buffer support, multiple syntax support by matz &lt;matz@nts.co.jp&gt;</div><div class='add'>+    Perl5 extension added by matz &lt;matz@caelum.co.jp&gt;</div><div class='add'>+    UTF-8 extension added Jan 16 1999 by Yoshida Masato  &lt;yoshidam@tau.bekkoame.ne.jp&gt;</div><div class='ctx'> </div><div class='del'>-configure::</div><div class='add'>+configure:</div><div class='ctx'> </div><div class='ctx'>   This file is free software.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.</div><div class='add'>+    Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.</div><div class='ctx'> </div><div class='ctx'>     This configure script is free software; the Free Software Foundation</div><div class='ctx'>     gives unlimited permission to copy, distribute and modify it.</div><div class='ctx'> </div><div class='del'>-tool/config.guess::</div><div class='del'>-tool/config.sub::</div><div class='add'>+config.guess:</div><div class='add'>+config.sub:</div><div class='add'>+parse.c:</div><div class='ctx'> </div><div class='ctx'>   As long as you distribute these files with the file configure, they</div><div class='ctx'>   are covered under the Ruby's license.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright 1992-2018 Free Software Foundation, Inc.</div><div class='add'>+      Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999</div><div class='add'>+      Free Software Foundation, Inc.</div><div class='ctx'> </div><div class='ctx'>     This file is free software; you can redistribute it and/or modify it</div><div class='ctx'>     under the terms of the GNU General Public License as published by</div><div class='del'>-    the Free Software Foundation; either version 3 of the License, or</div><div class='add'>+    the Free Software Foundation; either version 2 of the License, or</div><div class='ctx'>     (at your option) any later version.</div><div class='ctx'> </div><div class='ctx'>     This program is distributed in the hope that it will be useful, but</div><div class='hunk'>@@ -234,134 +64,54 @@ tool/config.sub::</div><div class='ctx'>     General Public License for more details.</div><div class='ctx'> </div><div class='ctx'>     You should have received a copy of the GNU General Public License</div><div class='del'>-    along with this program; if not, see &lt;https://www.gnu.org/licenses/&gt;.</div><div class='add'>+    along with this program; if not, write to the Free Software</div><div class='add'>+    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</div><div class='ctx'> </div><div class='ctx'>     As a special exception to the GNU General Public License, if you</div><div class='ctx'>     distribute this file as part of a program that contains a</div><div class='ctx'>     configuration script generated by Autoconf, you may include it under</div><div class='del'>-    the same distribution terms that you use for the rest of that</div><div class='del'>-    program.  This Exception is an additional permission under section 7</div><div class='del'>-    of the GNU General Public License, version 3 ("GPLv3").</div><div class='del'>-</div><div class='del'>-parse.c::</div><div class='del'>-</div><div class='del'>-  This file is licensed under the GPL, but is incorporated into Ruby and</div><div class='del'>-  redistributed under the terms of the Ruby license, as permitted by the</div><div class='del'>-  exception to the GPL below.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.</div><div class='del'>-</div><div class='del'>-    This program is free software: you can redistribute it and/or modify</div><div class='del'>-    it under the terms of the GNU General Public License as published by</div><div class='del'>-    the Free Software Foundation, either version 3 of the License, or</div><div class='del'>-    (at your option) any later version.</div><div class='del'>-</div><div class='del'>-    This program is distributed in the hope that it will be useful,</div><div class='del'>-    but WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='del'>-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</div><div class='del'>-    GNU General Public License for more details.</div><div class='del'>-</div><div class='del'>-    You should have received a copy of the GNU General Public License</div><div class='del'>-    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</div><div class='del'>-</div><div class='del'>-    As a special exception, you may create a larger work that contains</div><div class='del'>-    part or all of the Bison parser skeleton and distribute that work</div><div class='del'>-    under terms of your choice, so long as that work isn't itself a</div><div class='del'>-    parser generator using the skeleton or a modified version thereof</div><div class='del'>-    as a parser skeleton.  Alternatively, if you modify or redistribute</div><div class='del'>-    the parser skeleton itself, you may (at your option) remove this</div><div class='del'>-    special exception, which will cause the skeleton and the resulting</div><div class='del'>-    Bison output files to be licensed under the GNU General Public</div><div class='del'>-    License without this special exception.</div><div class='del'>-</div><div class='del'>-    This special exception was added by the Free Software Foundation in</div><div class='del'>-    version 2.2 of Bison.</div><div class='del'>-</div><div class='del'>-util.c (partly)::</div><div class='del'>-</div><div class='del'>-  This file contains the source code under these licenses.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 1991, 2000, 2001 by Lucent Technologies.</div><div class='del'>-</div><div class='del'>-    Permission to use, copy, modify, and distribute this software for any</div><div class='del'>-    purpose without fee is hereby granted, provided that this entire notice</div><div class='del'>-    is included in all copies of any software which is or includes a copy</div><div class='del'>-    or modification of this software and in all copies of the supporting</div><div class='del'>-    documentation for such software.</div><div class='del'>-</div><div class='del'>-    THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED</div><div class='del'>-    WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY</div><div class='del'>-    REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY</div><div class='del'>-    OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 2004-2008 David Schultz &lt;das@FreeBSD.ORG&gt;  </div><div class='del'>-    All rights reserved.</div><div class='del'>-</div><div class='del'>-    Redistribution and use in source and binary forms, with or without</div><div class='del'>-    modification, are permitted provided that the following conditions</div><div class='del'>-    are met:</div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='del'>-</div><div class='del'>-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='del'>-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-    SUCH DAMAGE.</div><div class='add'>+    the same distribution terms that you use for the rest of that program.</div><div class='ctx'> </div><div class='del'>-win32/win32.{c,h}::</div><div class='add'>+util.c (partly):</div><div class='add'>+win32/win32.[ch]:</div><div class='ctx'> </div><div class='ctx'>   You can apply the Artistic License to these files. (or GPL,</div><div class='ctx'>   alternatively)</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     Copyright (c) 1993, Intergraph Corporation</div><div class='ctx'> </div><div class='ctx'>     You may distribute under the terms of either the GNU General Public</div><div class='ctx'>     License or the Artistic License, as specified in the perl README file.</div><div class='ctx'> </div><div class='del'>-random.c::</div><div class='add'>+random.c</div><div class='ctx'> </div><div class='del'>-  This file contains the source code under the new-style BSD license.</div><div class='add'>+  This file is under the new-style BSD license.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     A C-program for MT19937, with initialization improved 2002/2/10.</div><div class='del'>-    Coded by Takuji Nishimura and Makoto Matsumoto.  </div><div class='add'>+    Coded by Takuji Nishimura and Makoto Matsumoto.</div><div class='ctx'>     This is a faster version by taking Shawn Cokus's optimization,</div><div class='ctx'>     Matthe Bellew's simplification, Isaku Wada's real version.</div><div class='ctx'> </div><div class='del'>-    Before using, initialize the state by using init_genrand(seed)</div><div class='add'>+    Before using, initialize the state by using init_genrand(seed) </div><div class='ctx'>     or init_by_array(init_key, key_length).</div><div class='ctx'> </div><div class='ctx'>     Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,</div><div class='del'>-    All rights reserved.</div><div class='add'>+    All rights reserved.                          </div><div class='ctx'> </div><div class='ctx'>     Redistribution and use in source and binary forms, with or without</div><div class='ctx'>     modification, are permitted provided that the following conditions</div><div class='ctx'>     are met:</div><div class='ctx'> </div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='add'>+      1. Redistributions of source code must retain the above copyright</div><div class='add'>+	 notice, this list of conditions and the following disclaimer.</div><div class='ctx'> </div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='add'>+      2. Redistributions in binary form must reproduce the above copyright</div><div class='add'>+	 notice, this list of conditions and the following disclaimer in the</div><div class='add'>+	 documentation and/or other materials provided with the distribution.</div><div class='ctx'> </div><div class='del'>-    3. The names of its contributors may not be used to endorse or promote</div><div class='del'>-       products derived from this software without specific prior written</div><div class='del'>-       permission.</div><div class='add'>+      3. The names of its contributors may not be used to endorse or promote </div><div class='add'>+	 products derived from this software without specific prior written </div><div class='add'>+	 permission.</div><div class='ctx'> </div><div class='ctx'>     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</div><div class='ctx'>     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</div><div class='hunk'>@@ -380,47 +130,69 @@ random.c::</div><div class='ctx'>     http://www.math.keio.ac.jp/matumoto/emt.html</div><div class='ctx'>     email: matumoto@math.keio.ac.jp</div><div class='ctx'> </div><div class='del'>-  The Wayback Machine url: http://web.archive.org/web/19990429082237/http://www.math.keio.ac.jp/matumoto/emt.html</div><div class='add'>+st.[ch]:</div><div class='add'>+x68/*:</div><div class='add'>+missing/alloca.c:</div><div class='add'>+missing/dup2.c:</div><div class='add'>+missing/finite.c:</div><div class='add'>+missing/hypot.c:</div><div class='add'>+missing/isinf.c:</div><div class='add'>+missing/isnan.c:</div><div class='add'>+missing/memcmp.c:</div><div class='add'>+missing/memmove.c:</div><div class='add'>+missing/strcasecmp.c:</div><div class='add'>+missing/strchr.c:</div><div class='add'>+missing/streror.c:</div><div class='add'>+missing/strftime.c:</div><div class='add'>+missing/strncasecmp.c:</div><div class='add'>+missing/strstr.c:</div><div class='add'>+missing/strtol.c:</div><div class='add'>+ext/digest/sha1/sha1.[ch]:</div><div class='ctx'> </div><div class='del'>-vm_dump.c:procstat_vm::</div><div class='add'>+  These files are all under public domain.</div><div class='ctx'> </div><div class='del'>-  This file contains the source code under the new-style BSD license.</div><div class='add'>+missing/strtod.c:</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 2007 Robert N. M. Watson  </div><div class='del'>-    All rights reserved.</div><div class='add'>+  This file will not be used on most platforms depending on how the</div><div class='add'>+  configure script results.  In any case you must not receive any fee</div><div class='add'>+  with the file itself.</div><div class='ctx'> </div><div class='del'>-    Redistribution and use in source and binary forms, with or without</div><div class='del'>-    modification, are permitted provided that the following conditions</div><div class='del'>-    are met:</div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='add'>+    Copyright (c) 1988-1993 The Regents of the University of California.</div><div class='add'>+    Copyright (c) 1994 Sun Microsystems, Inc.</div><div class='ctx'> </div><div class='del'>-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='del'>-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-    SUCH DAMAGE.</div><div class='add'>+    Permission to use, copy, modify, and distribute this</div><div class='add'>+    software and its documentation for any purpose and without</div><div class='add'>+    fee is hereby granted, provided that the above copyright</div><div class='add'>+    notice appear in all copies.  The University of California</div><div class='add'>+    makes no representations about the suitability of this</div><div class='add'>+    software for any purpose.  It is provided "as is" without</div><div class='add'>+    express or implied warranty.</div><div class='ctx'> </div><div class='del'>-    $FreeBSD: head/usr.bin/procstat/procstat_vm.c 261780 2014-02-11 21:57:37Z jhb $</div><div class='add'>+missing/strtoul.c:</div><div class='ctx'> </div><div class='del'>-vsnprintf.c::</div><div class='add'>+  This file will not be used on most platforms depending on how the</div><div class='add'>+  configure script results.  In any case you must not receive any fee</div><div class='add'>+  with the file itself.</div><div class='add'>+</div><div class='add'>+    Copyright 1988 Regents of the University of California</div><div class='add'>+</div><div class='add'>+    Permission to use, copy, modify, and distribute this</div><div class='add'>+    software and its documentation for any purpose and without</div><div class='add'>+    fee is hereby granted, provided that the above copyright</div><div class='add'>+    notice appear in all copies.  The University of California</div><div class='add'>+    makes no representations about the suitability of this</div><div class='add'>+    software for any purpose.  It is provided "as is" without</div><div class='add'>+    express or implied warranty.</div><div class='add'>+</div><div class='add'>+missing/erf.c:</div><div class='add'>+missing/crypt.c:</div><div class='add'>+missing/vsnprintf.c:</div><div class='ctx'> </div><div class='ctx'>   This file is under the old-style BSD license.  Note that the</div><div class='ctx'>   paragraph 3 below is now null and void.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 1990, 1993  </div><div class='del'>-    The Regents of the University of California.  All rights reserved.</div><div class='add'>+    Copyright (c) 1990, 1993</div><div class='add'>+         The Regents of the University of California.  All rights reserved.</div><div class='ctx'> </div><div class='ctx'>     This code is derived from software contributed to Berkeley by</div><div class='ctx'>     Chris Torek.</div><div class='hunk'>@@ -454,142 +226,11 @@ vsnprintf.c::</div><div class='ctx'>     From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change</div><div class='ctx'>     paragraph 3 above is now null and void.</div><div class='ctx'> </div><div class='del'>-st.c::</div><div class='del'>-strftime.c::</div><div class='del'>-include/ruby/st.h::</div><div class='del'>-missing/acosh.c::</div><div class='del'>-missing/alloca.c::</div><div class='del'>-missing/dup2.c::</div><div class='del'>-missing/erf.c::</div><div class='del'>-missing/finite.c::</div><div class='del'>-missing/hypot.c::</div><div class='del'>-missing/isinf.c::</div><div class='del'>-missing/isnan.c::</div><div class='del'>-missing/lgamma_r.c::</div><div class='del'>-missing/memcmp.c::</div><div class='del'>-missing/memmove.c::</div><div class='del'>-missing/strchr.c::</div><div class='del'>-missing/strerror.c::</div><div class='del'>-missing/strstr.c::</div><div class='del'>-missing/tgamma.c::</div><div class='del'>-ext/date/date_strftime.c::</div><div class='del'>-ext/digest/sha1/sha1.c::</div><div class='del'>-ext/digest/sha1/sha1.h::</div><div class='del'>-ext/sdbm/_sdbm.c::</div><div class='del'>-ext/sdbm/sdbm.h::</div><div class='del'>-</div><div class='del'>-  These files are all under public domain.</div><div class='del'>-</div><div class='del'>-missing/crypt.c::</div><div class='del'>-</div><div class='del'>-  This file is under the old-style BSD license.  Note that the</div><div class='del'>-  paragraph 3 below is now null and void.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 1989, 1993  </div><div class='del'>-    The Regents of the University of California.  All rights reserved.</div><div class='del'>-</div><div class='del'>-    This code is derived from software contributed to Berkeley by</div><div class='del'>-    Tom Truscott.</div><div class='del'>-</div><div class='del'>-    Redistribution and use in source and binary forms, with or without</div><div class='del'>-    modification, are permitted provided that the following conditions</div><div class='del'>-    are met:</div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='del'>-    3. Neither the name of the University nor the names of its contributors</div><div class='del'>-       may be used to endorse or promote products derived from this software</div><div class='del'>-       without specific prior written permission.</div><div class='del'>-</div><div class='del'>-    THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-    ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</div><div class='del'>-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-    SUCH DAMAGE.</div><div class='del'>-</div><div class='del'>-missing/setproctitle.c::</div><div class='del'>-</div><div class='del'>-  This file is under the old-style BSD license.  Note that the</div><div class='del'>-  paragraph 3 below is now null and void.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright 2003 Damien Miller  </div><div class='del'>-    Copyright (c) 1983, 1995-1997 Eric P. Allman  </div><div class='del'>-    Copyright (c) 1988, 1993  </div><div class='del'>-    The Regents of the University of California.  All rights reserved.</div><div class='del'>-</div><div class='del'>-    Redistribution and use in source and binary forms, with or without</div><div class='del'>-    modification, are permitted provided that the following conditions</div><div class='del'>-    are met:</div><div class='del'>-    1. Redistributions of source code must retain the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer.</div><div class='del'>-    2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>-       notice, this list of conditions and the following disclaimer in the</div><div class='del'>-       documentation and/or other materials provided with the distribution.</div><div class='del'>-    3. Neither the name of the University nor the names of its contributors</div><div class='del'>-       may be used to endorse or promote products derived from this software</div><div class='del'>-       without specific prior written permission.</div><div class='del'>-</div><div class='del'>-    THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>-    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>-    ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</div><div class='del'>-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>-    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>-    SUCH DAMAGE.</div><div class='del'>-</div><div class='del'>-missing/strlcat.c::</div><div class='del'>-missing/strlcpy.c::</div><div class='del'>-</div><div class='del'>-  These files are under an ISC-style license.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 1998, 2015 Todd C. Miller &lt;Todd.Miller@courtesan.com&gt;</div><div class='del'>-</div><div class='del'>-    Permission to use, copy, modify, and distribute this software for any</div><div class='del'>-    purpose with or without fee is hereby granted, provided that the above</div><div class='del'>-    copyright notice and this permission notice appear in all copies.</div><div class='del'>-</div><div class='del'>-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES</div><div class='del'>-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</div><div class='del'>-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</div><div class='del'>-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</div><div class='del'>-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</div><div class='del'>-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</div><div class='del'>-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</div><div class='del'>-</div><div class='del'>-missing/langinfo.c::</div><div class='del'>-</div><div class='del'>-  This file is from http://www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c.</div><div class='del'>-  Ruby uses a modified version. The file contains the following</div><div class='del'>-  author/copyright notice:</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Markus.Kuhn@cl.cam.ac.uk -- 2002-03-11  </div><div class='del'>-    Permission to use, copy, modify, and distribute this software</div><div class='del'>-    for any purpose and without fee is hereby granted. The author</div><div class='del'>-    disclaims all warranties with regard to this software.</div><div class='del'>-</div><div class='del'>-ext/digest/md5/md5.c::</div><div class='del'>-ext/digest/md5/md5.h::</div><div class='add'>+ext/digest/md5/md5.[ch]:</div><div class='ctx'> </div><div class='ctx'>   These files are under the following license.  Ruby uses modified</div><div class='ctx'>   versions of them.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     Copyright (C) 1999, 2000 Aladdin Enterprises.  All rights reserved.</div><div class='ctx'> </div><div class='ctx'>     This software is provided 'as-is', without any express or implied</div><div class='hunk'>@@ -611,26 +252,33 @@ ext/digest/md5/md5.h::</div><div class='ctx'>     L. Peter Deutsch</div><div class='ctx'>     ghost@aladdin.com</div><div class='ctx'> </div><div class='del'>-ext/digest/rmd160/rmd160.c::</div><div class='del'>-ext/digest/rmd160/rmd160.h::</div><div class='add'>+ext/digest/rmd160/rmd160.[ch]:</div><div class='ctx'> </div><div class='ctx'>   These files have the following copyright information, and by the</div><div class='ctx'>   author we are allowed to use it under the new-style BSD license.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    AUTHOR::  Antoon Bosselaers, ESAT-COSIC</div><div class='add'>+    AUTHOR:   Antoon Bosselaers, ESAT-COSIC</div><div class='ctx'>               (Arranged for libc by Todd C. Miller)</div><div class='del'>-    DATE::    1 March 1996</div><div class='add'>+    DATE:     1 March 1996</div><div class='ctx'> </div><div class='ctx'>     Copyright (c) Katholieke Universiteit Leuven</div><div class='ctx'>     1996, All Rights Reserved</div><div class='ctx'> </div><div class='del'>-ext/digest/sha2/sha2.c::</div><div class='del'>-ext/digest/sha2/sha2.h::</div><div class='add'>+ext/digest/rmd160/rmd160hl.c:</div><div class='add'>+ext/digest/sha1/sha1hl.c:</div><div class='add'>+</div><div class='add'>+  These files are under the beer-ware license.</div><div class='add'>+</div><div class='add'>+    "THE BEER-WARE LICENSE" (Revision 42):</div><div class='add'>+    &lt;phk@login.dkuug.dk&gt; wrote this file.  As long as you retain this notice you</div><div class='add'>+    can do whatever you want with this stuff. If we meet some day, and you think</div><div class='add'>+    this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp</div><div class='add'>+</div><div class='add'>+ext/digest/sha2/sha2.[ch]:</div><div class='add'>+ext/digest/sha2/sha2hl.c:</div><div class='ctx'> </div><div class='ctx'>   These files are under the new-style BSD license.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     Copyright 2000 Aaron D. Gifford.  All rights reserved.</div><div class='ctx'> </div><div class='ctx'>     Redistribution and use in source and binary forms, with or without</div><div class='hunk'>@@ -657,108 +305,28 @@ ext/digest/sha2/sha2.h::</div><div class='ctx'>     OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='ctx'>     SUCH DAMAGE.</div><div class='ctx'> </div><div class='del'>-ext/json/generator/generator.c::</div><div class='del'>-</div><div class='del'>-  The file contains the following copyright notice.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright 2001-2004 Unicode, Inc.</div><div class='del'>-</div><div class='del'>-    Disclaimer::</div><div class='del'>-</div><div class='del'>-      This source code is provided as is by Unicode, Inc. No claims are</div><div class='del'>-      made as to fitness for any particular purpose. No warranties of any</div><div class='del'>-      kind are expressed or implied. The recipient agrees to determine</div><div class='del'>-      applicability of information provided. If this file has been</div><div class='del'>-      purchased on magnetic or optical media from Unicode, Inc., the</div><div class='del'>-      sole remedy for any claim will be exchange of defective media</div><div class='del'>-      within 90 days of receipt.</div><div class='del'>-</div><div class='del'>-    Limitations on Rights to Redistribute This Code::</div><div class='del'>-</div><div class='del'>-      Unicode, Inc. hereby grants the right to freely use the information</div><div class='del'>-      supplied in this file in the creation of products supporting the</div><div class='del'>-      Unicode Standard, and to make copies of this file in any form</div><div class='del'>-      for internal or external distribution as long as this notice</div><div class='del'>-      remains attached.</div><div class='del'>-</div><div class='del'>-ext/nkf/nkf-utf8/config.h::</div><div class='del'>-ext/nkf/nkf-utf8/nkf.c::</div><div class='del'>-ext/nkf/nkf-utf8/utf8tbl.c::</div><div class='add'>+ext/nkf/nkf-utf8/config.h:</div><div class='add'>+ext/nkf/nkf-utf8/nkf.c:</div><div class='add'>+ext/nkf/nkf-utf8/utf8tbl.c:</div><div class='ctx'> </div><div class='ctx'>   These files are under the following license.  So to speak, it is</div><div class='ctx'>   copyrighted semi-public-domain software.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     Copyright (C) 1987, Fujitsu LTD. (Itaru ICHIKAWA)</div><div class='del'>-</div><div class='del'>-    Everyone is permitted to do anything on this program</div><div class='del'>-    including copying, modifying, improving,</div><div class='del'>-    as long as you don't try to pretend that you wrote it.</div><div class='del'>-    i.e., the above copyright notice has to appear in all copies.</div><div class='del'>-    Binary distribution requires original version messages.</div><div class='del'>-    You don't have to ask before copying, redistribution or publishing.</div><div class='del'>-    THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE.</div><div class='del'>-</div><div class='del'>-ext/psych::</div><div class='del'>-test/psych::</div><div class='del'>-</div><div class='del'>-  The files under these directories are under the following license, except for</div><div class='del'>-  ext/psych/yaml.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright 2009 Aaron Patterson, et al.</div><div class='del'>-</div><div class='del'>-    Permission is hereby granted, free of charge, to any person obtaining a copy of</div><div class='del'>-    this software and associated documentation files (the 'Software'), to deal in</div><div class='del'>-    the Software without restriction, including without limitation the rights to</div><div class='del'>-    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies</div><div class='del'>-    of the Software, and to permit persons to whom the Software is furnished to do</div><div class='del'>-    so, subject to the following conditions:</div><div class='del'>-</div><div class='del'>-    The above copyright notice and this permission notice shall be included in all</div><div class='del'>-    copies or substantial portions of the Software.</div><div class='del'>-</div><div class='del'>-    THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='del'>-    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='del'>-    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='del'>-    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='del'>-    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='del'>-    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</div><div class='del'>-    SOFTWARE.</div><div class='del'>-</div><div class='del'>-ext/psych/yaml::</div><div class='del'>-</div><div class='del'>-  The files under this directory are under the following license.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 2006 Kirill Simonov</div><div class='del'>-</div><div class='del'>-    Permission is hereby granted, free of charge, to any person obtaining a copy of</div><div class='del'>-    this software and associated documentation files (the "Software"), to deal in</div><div class='del'>-    the Software without restriction, including without limitation the rights to</div><div class='del'>-    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies</div><div class='del'>-    of the Software, and to permit persons to whom the Software is furnished to do</div><div class='del'>-    so, subject to the following conditions:</div><div class='del'>-</div><div class='del'>-    The above copyright notice and this permission notice shall be included in all</div><div class='del'>-    copies or substantial portions of the Software.</div><div class='del'>-</div><div class='del'>-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='del'>-    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='del'>-    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='del'>-    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='del'>-    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='del'>-    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</div><div class='del'>-    SOFTWARE.</div><div class='del'>-</div><div class='del'>-ext/socket/addrinfo.h::</div><div class='del'>-ext/socket/getaddrinfo.c::</div><div class='del'>-ext/socket/getnameinfo.c::</div><div class='add'>+       Everyone is permitted to do anything on this program </div><div class='add'>+       including copying, modifying, improving,</div><div class='add'>+       as long as you don't try to pretend that you wrote it.</div><div class='add'>+       i.e., the above copyright notice has to appear in all copies.</div><div class='add'>+       Binary distribution requires original version messages.</div><div class='add'>+       You don't have to ask before copying, redistribution or publishing.</div><div class='add'>+       THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE.</div><div class='add'>+</div><div class='add'>+ext/socket/addrinfo.h:</div><div class='add'>+ext/socket/getaddrinfo.c:</div><div class='add'>+ext/socket/getnameinfo.c:</div><div class='ctx'> </div><div class='ctx'>   These files are under the new-style BSD license.</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.</div><div class='ctx'>     All rights reserved.</div><div class='ctx'> </div><div class='hunk'>@@ -786,150 +354,17 @@ ext/socket/getnameinfo.c::</div><div class='ctx'>     OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='ctx'>     SUCH DAMAGE.</div><div class='ctx'> </div><div class='del'>-ext/win32ole/win32ole.c::</div><div class='add'>+ext/win32ole/win32ole.c:</div><div class='ctx'> </div><div class='ctx'>   You can apply the Artistic License to this file. (or GPL,</div><div class='ctx'>   alternatively)</div><div class='ctx'> </div><div class='del'>-  &gt;&gt;&gt;</div><div class='ctx'>     (c) 1995 Microsoft Corporation. All rights reserved.</div><div class='ctx'>     Developed by ActiveWare Internet Corp., http://www.ActiveWare.com</div><div class='ctx'> </div><div class='ctx'>     Other modifications Copyright (c) 1997, 1998 by Gurusamy Sarathy</div><div class='ctx'>     &lt;gsar@umich.edu&gt; and Jan Dubois &lt;jan.dubois@ibm.net&gt;</div><div class='del'>-</div><div class='add'>+ </div><div class='ctx'>     You may distribute under the terms of either the GNU General Public</div><div class='ctx'>     License or the Artistic License, as specified in the README file</div><div class='ctx'>     of the Perl distribution.</div><div class='del'>-</div><div class='del'>-  The Wayback Machine url: http://web.archive.org/web/19970607104352/http://www.activeware.com:80/</div><div class='del'>-</div><div class='del'>-lib/rdoc/generator/template/darkfish/css/fonts.css::</div><div class='del'>-</div><div class='del'>-  This file is licensed under the SIL Open Font License.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    http://scripts.sil.org/OFL</div><div class='del'>-</div><div class='del'>-spec/mspec::</div><div class='del'>-spec/ruby::</div><div class='del'>-</div><div class='del'>-  The files under these directories are under the following license.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Copyright (c) 2008 Engine Yard, Inc. All rights reserved.</div><div class='del'>-</div><div class='del'>-    Permission is hereby granted, free of charge, to any person</div><div class='del'>-    obtaining a copy of this software and associated documentation</div><div class='del'>-    files (the "Software"), to deal in the Software without</div><div class='del'>-    restriction, including without limitation the rights to use,</div><div class='del'>-    copy, modify, merge, publish, distribute, sublicense, and/or sell</div><div class='del'>-    copies of the Software, and to permit persons to whom the</div><div class='del'>-    Software is furnished to do so, subject to the following</div><div class='del'>-    conditions:</div><div class='del'>-</div><div class='del'>-    The above copyright notice and this permission notice shall be</div><div class='del'>-    included in all copies or substantial portions of the Software.</div><div class='del'>-</div><div class='del'>-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</div><div class='del'>-    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES</div><div class='del'>-    OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</div><div class='del'>-    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT</div><div class='del'>-    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,</div><div class='del'>-    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</div><div class='del'>-    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR</div><div class='del'>-    OTHER DEALINGS IN THE SOFTWARE.</div><div class='del'>-</div><div class='del'>-lib/rubygems.rb::</div><div class='del'>-lib/rubygems::</div><div class='del'>-test/rubygems::</div><div class='del'>-</div><div class='del'>-  RubyGems is under the following license.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    RubyGems is copyrighted free software by Chad Fowler, Rich Kilmer, Jim</div><div class='del'>-    Weirich and others.  You can redistribute it and/or modify it under</div><div class='del'>-    either the terms of the MIT license (see the file MIT.txt), or the</div><div class='del'>-    conditions below:</div><div class='del'>-</div><div class='del'>-    1. You may make and give away verbatim copies of the source form of the</div><div class='del'>-       software without restriction, provided that you duplicate all of the</div><div class='del'>-       original copyright notices and associated disclaimers.</div><div class='del'>-</div><div class='del'>-    2. You may modify your copy of the software in any way, provided that</div><div class='del'>-       you do at least ONE of the following:</div><div class='del'>-</div><div class='del'>-       a. place your modifications in the Public Domain or otherwise</div><div class='del'>-          make them Freely Available, such as by posting said</div><div class='del'>-          modifications to Usenet or an equivalent medium, or by allowing</div><div class='del'>-          the author to include your modifications in the software.</div><div class='del'>-</div><div class='del'>-       b. use the modified software only within your corporation or</div><div class='del'>-          organization.</div><div class='del'>-</div><div class='del'>-       c. give non-standard executables non-standard names, with</div><div class='del'>-          instructions on where to get the original software distribution.</div><div class='del'>-</div><div class='del'>-       d. make other distribution arrangements with the author.</div><div class='del'>-</div><div class='del'>-    3. You may distribute the software in object code or executable</div><div class='del'>-       form, provided that you do at least ONE of the following:</div><div class='del'>-</div><div class='del'>-       a. distribute the executables and library files of the software,</div><div class='del'>-          together with instructions (in the manual page or equivalent)</div><div class='del'>-          on where to get the original distribution.</div><div class='del'>-</div><div class='del'>-       b. accompany the distribution with the machine-readable source of</div><div class='del'>-          the software.</div><div class='del'>-</div><div class='del'>-       c. give non-standard executables non-standard names, with</div><div class='del'>-          instructions on where to get the original software distribution.</div><div class='del'>-</div><div class='del'>-       d. make other distribution arrangements with the author.</div><div class='del'>-</div><div class='del'>-    4. You may modify and include the part of the software into any other</div><div class='del'>-       software (possibly commercial).</div><div class='del'>-</div><div class='del'>-    5. The scripts and library files supplied as input to or produced as</div><div class='del'>-       output from the software do not automatically fall under the</div><div class='del'>-       copyright of the software, but belong to whomever generated them,</div><div class='del'>-       and may be sold commercially, and may be aggregated with this</div><div class='del'>-       software.</div><div class='del'>-</div><div class='del'>-    6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR</div><div class='del'>-       IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED</div><div class='del'>-       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</div><div class='del'>-       PURPOSE.</div><div class='del'>-</div><div class='del'>-lib/bundler::</div><div class='del'>-lib/bundler.rb::</div><div class='del'>-lib/bundler.gemspec::</div><div class='del'>-spec/bundler::</div><div class='del'>-man/bundle-*,gemfile.*::</div><div class='del'>-</div><div class='del'>-  Bundler is under the following license.</div><div class='del'>-</div><div class='del'>-  &gt;&gt;&gt;</div><div class='del'>-    Portions copyright (c) 2010 Andre Arko  </div><div class='del'>-    Portions copyright (c) 2009 Engine Yard  </div><div class='del'>-</div><div class='del'>-    MIT License::</div><div class='del'>-</div><div class='del'>-      Permission is hereby granted, free of charge, to any person obtaining</div><div class='del'>-      a copy of this software and associated documentation files (the</div><div class='del'>-      "Software"), to deal in the Software without restriction, including</div><div class='del'>-      without limitation the rights to use, copy, modify, merge, publish,</div><div class='del'>-      distribute, sublicense, and/or sell copies of the Software, and to</div><div class='del'>-      permit persons to whom the Software is furnished to do so, subject to</div><div class='del'>-      the following conditions:</div><div class='del'>-</div><div class='del'>-      The above copyright notice and this permission notice shall be</div><div class='del'>-      included in all copies or substantial portions of the Software.</div><div class='del'>-</div><div class='del'>-      THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</div><div class='del'>-      EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</div><div class='del'>-      MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</div><div class='del'>-      NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE</div><div class='del'>-      LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION</div><div class='del'>-      OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</div><div class='del'>-      WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</div><div class='head'>diff --git a/LGPL b/LGPL<br/>new file mode 100644<br/>index 0000000000..b1e3f5a263<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/LGPL?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>LGPL</a></div><div class='hunk'>@@ -0,0 +1,504 @@</div><div class='add'>+		  GNU LESSER GENERAL PUBLIC LICENSE</div><div class='add'>+		       Version 2.1, February 1999</div><div class='add'>+</div><div class='add'>+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.</div><div class='add'>+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</div><div class='add'>+ Everyone is permitted to copy and distribute verbatim copies</div><div class='add'>+ of this license document, but changing it is not allowed.</div><div class='add'>+</div><div class='add'>+[This is the first released version of the Lesser GPL.  It also counts</div><div class='add'>+ as the successor of the GNU Library Public License, version 2, hence</div><div class='add'>+ the version number 2.1.]</div><div class='add'>+</div><div class='add'>+			    Preamble</div><div class='add'>+</div><div class='add'>+  The licenses for most software are designed to take away your</div><div class='add'>+freedom to share and change it.  By contrast, the GNU General Public</div><div class='add'>+Licenses are intended to guarantee your freedom to share and change</div><div class='add'>+free software--to make sure the software is free for all its users.</div><div class='add'>+</div><div class='add'>+  This license, the Lesser General Public License, applies to some</div><div class='add'>+specially designated software packages--typically libraries--of the</div><div class='add'>+Free Software Foundation and other authors who decide to use it.  You</div><div class='add'>+can use it too, but we suggest you first think carefully about whether</div><div class='add'>+this license or the ordinary General Public License is the better</div><div class='add'>+strategy to use in any particular case, based on the explanations below.</div><div class='add'>+</div><div class='add'>+  When we speak of free software, we are referring to freedom of use,</div><div class='add'>+not price.  Our General Public Licenses are designed to make sure that</div><div class='add'>+you have the freedom to distribute copies of free software (and charge</div><div class='add'>+for this service if you wish); that you receive source code or can get</div><div class='add'>+it if you want it; that you can change the software and use pieces of</div><div class='add'>+it in new free programs; and that you are informed that you can do</div><div class='add'>+these things.</div><div class='add'>+</div><div class='add'>+  To protect your rights, we need to make restrictions that forbid</div><div class='add'>+distributors to deny you these rights or to ask you to surrender these</div><div class='add'>+rights.  These restrictions translate to certain responsibilities for</div><div class='add'>+you if you distribute copies of the library or if you modify it.</div><div class='add'>+</div><div class='add'>+  For example, if you distribute copies of the library, whether gratis</div><div class='add'>+or for a fee, you must give the recipients all the rights that we gave</div><div class='add'>+you.  You must make sure that they, too, receive or can get the source</div><div class='add'>+code.  If you link other code with the library, you must provide</div><div class='add'>+complete object files to the recipients, so that they can relink them</div><div class='add'>+with the library after making changes to the library and recompiling</div><div class='add'>+it.  And you must show them these terms so they know their rights.</div><div class='add'>+</div><div class='add'>+  We protect your rights with a two-step method: (1) we copyright the</div><div class='add'>+library, and (2) we offer you this license, which gives you legal</div><div class='add'>+permission to copy, distribute and/or modify the library.</div><div class='add'>+</div><div class='add'>+  To protect each distributor, we want to make it very clear that</div><div class='add'>+there is no warranty for the free library.  Also, if the library is</div><div class='add'>+modified by someone else and passed on, the recipients should know</div><div class='add'>+that what they have is not the original version, so that the original</div><div class='add'>+author's reputation will not be affected by problems that might be</div><div class='add'>+introduced by others.</div><div class='add'>+</div><div class='add'>+  Finally, software patents pose a constant threat to the existence of</div><div class='add'>+any free program.  We wish to make sure that a company cannot</div><div class='add'>+effectively restrict the users of a free program by obtaining a</div><div class='add'>+restrictive license from a patent holder.  Therefore, we insist that</div><div class='add'>+any patent license obtained for a version of the library must be</div><div class='add'>+consistent with the full freedom of use specified in this license.</div><div class='add'>+</div><div class='add'>+  Most GNU software, including some libraries, is covered by the</div><div class='add'>+ordinary GNU General Public License.  This license, the GNU Lesser</div><div class='add'>+General Public License, applies to certain designated libraries, and</div><div class='add'>+is quite different from the ordinary General Public License.  We use</div><div class='add'>+this license for certain libraries in order to permit linking those</div><div class='add'>+libraries into non-free programs.</div><div class='add'>+</div><div class='add'>+  When a program is linked with a library, whether statically or using</div><div class='add'>+a shared library, the combination of the two is legally speaking a</div><div class='add'>+combined work, a derivative of the original library.  The ordinary</div><div class='add'>+General Public License therefore permits such linking only if the</div><div class='add'>+entire combination fits its criteria of freedom.  The Lesser General</div><div class='add'>+Public License permits more lax criteria for linking other code with</div><div class='add'>+the library.</div><div class='add'>+</div><div class='add'>+  We call this license the "Lesser" General Public License because it</div><div class='add'>+does Less to protect the user's freedom than the ordinary General</div><div class='add'>+Public License.  It also provides other free software developers Less</div><div class='add'>+of an advantage over competing non-free programs.  These disadvantages</div><div class='add'>+are the reason we use the ordinary General Public License for many</div><div class='add'>+libraries.  However, the Lesser license provides advantages in certain</div><div class='add'>+special circumstances.</div><div class='add'>+</div><div class='add'>+  For example, on rare occasions, there may be a special need to</div><div class='add'>+encourage the widest possible use of a certain library, so that it becomes</div><div class='add'>+a de-facto standard.  To achieve this, non-free programs must be</div><div class='add'>+allowed to use the library.  A more frequent case is that a free</div><div class='add'>+library does the same job as widely used non-free libraries.  In this</div><div class='add'>+case, there is little to gain by limiting the free library to free</div><div class='add'>+software only, so we use the Lesser General Public License.</div><div class='add'>+</div><div class='add'>+  In other cases, permission to use a particular library in non-free</div><div class='add'>+programs enables a greater number of people to use a large body of</div><div class='add'>+free software.  For example, permission to use the GNU C Library in</div><div class='add'>+non-free programs enables many more people to use the whole GNU</div><div class='add'>+operating system, as well as its variant, the GNU/Linux operating</div><div class='add'>+system.</div><div class='add'>+</div><div class='add'>+  Although the Lesser General Public License is Less protective of the</div><div class='add'>+users' freedom, it does ensure that the user of a program that is</div><div class='add'>+linked with the Library has the freedom and the wherewithal to run</div><div class='add'>+that program using a modified version of the Library.</div><div class='add'>+</div><div class='add'>+  The precise terms and conditions for copying, distribution and</div><div class='add'>+modification follow.  Pay close attention to the difference between a</div><div class='add'>+"work based on the library" and a "work that uses the library".  The</div><div class='add'>+former contains code derived from the library, whereas the latter must</div><div class='add'>+be combined with the library in order to run.</div><div class='add'>+</div><div class='add'>+		  GNU LESSER GENERAL PUBLIC LICENSE</div><div class='add'>+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</div><div class='add'>+</div><div class='add'>+  0. This License Agreement applies to any software library or other</div><div class='add'>+program which contains a notice placed by the copyright holder or</div><div class='add'>+other authorized party saying it may be distributed under the terms of</div><div class='add'>+this Lesser General Public License (also called "this License").</div><div class='add'>+Each licensee is addressed as "you".</div><div class='add'>+</div><div class='add'>+  A "library" means a collection of software functions and/or data</div><div class='add'>+prepared so as to be conveniently linked with application programs</div><div class='add'>+(which use some of those functions and data) to form executables.</div><div class='add'>+</div><div class='add'>+  The "Library", below, refers to any such software library or work</div><div class='add'>+which has been distributed under these terms.  A "work based on the</div><div class='add'>+Library" means either the Library or any derivative work under</div><div class='add'>+copyright law: that is to say, a work containing the Library or a</div><div class='add'>+portion of it, either verbatim or with modifications and/or translated</div><div class='add'>+straightforwardly into another language.  (Hereinafter, translation is</div><div class='add'>+included without limitation in the term "modification".)</div><div class='add'>+</div><div class='add'>+  "Source code" for a work means the preferred form of the work for</div><div class='add'>+making modifications to it.  For a library, complete source code means</div><div class='add'>+all the source code for all modules it contains, plus any associated</div><div class='add'>+interface definition files, plus the scripts used to control compilation</div><div class='add'>+and installation of the library.</div><div class='add'>+</div><div class='add'>+  Activities other than copying, distribution and modification are not</div><div class='add'>+covered by this License; they are outside its scope.  The act of</div><div class='add'>+running a program using the Library is not restricted, and output from</div><div class='add'>+such a program is covered only if its contents constitute a work based</div><div class='add'>+on the Library (independent of the use of the Library in a tool for</div><div class='add'>+writing it).  Whether that is true depends on what the Library does</div><div class='add'>+and what the program that uses the Library does.</div><div class='add'>+  </div><div class='add'>+  1. You may copy and distribute verbatim copies of the Library's</div><div class='add'>+complete source code as you receive it, in any medium, provided that</div><div class='add'>+you conspicuously and appropriately publish on each copy an</div><div class='add'>+appropriate copyright notice and disclaimer of warranty; keep intact</div><div class='add'>+all the notices that refer to this License and to the absence of any</div><div class='add'>+warranty; and distribute a copy of this License along with the</div><div class='add'>+Library.</div><div class='add'>+</div><div class='add'>+  You may charge a fee for the physical act of transferring a copy,</div><div class='add'>+and you may at your option offer warranty protection in exchange for a</div><div class='add'>+fee.</div><div class='add'>+</div><div class='add'>+  2. You may modify your copy or copies of the Library or any portion</div><div class='add'>+of it, thus forming a work based on the Library, and copy and</div><div class='add'>+distribute such modifications or work under the terms of Section 1</div><div class='add'>+above, provided that you also meet all of these conditions:</div><div class='add'>+</div><div class='add'>+    a) The modified work must itself be a software library.</div><div class='add'>+</div><div class='add'>+    b) You must cause the files modified to carry prominent notices</div><div class='add'>+    stating that you changed the files and the date of any change.</div><div class='add'>+</div><div class='add'>+    c) You must cause the whole of the work to be licensed at no</div><div class='add'>+    charge to all third parties under the terms of this License.</div><div class='add'>+</div><div class='add'>+    d) If a facility in the modified Library refers to a function or a</div><div class='add'>+    table of data to be supplied by an application program that uses</div><div class='add'>+    the facility, other than as an argument passed when the facility</div><div class='add'>+    is invoked, then you must make a good faith effort to ensure that,</div><div class='add'>+    in the event an application does not supply such function or</div><div class='add'>+    table, the facility still operates, and performs whatever part of</div><div class='add'>+    its purpose remains meaningful.</div><div class='add'>+</div><div class='add'>+    (For example, a function in a library to compute square roots has</div><div class='add'>+    a purpose that is entirely well-defined independent of the</div><div class='add'>+    application.  Therefore, Subsection 2d requires that any</div><div class='add'>+    application-supplied function or table used by this function must</div><div class='add'>+    be optional: if the application does not supply it, the square</div><div class='add'>+    root function must still compute square roots.)</div><div class='add'>+</div><div class='add'>+These requirements apply to the modified work as a whole.  If</div><div class='add'>+identifiable sections of that work are not derived from the Library,</div><div class='add'>+and can be reasonably considered independent and separate works in</div><div class='add'>+themselves, then this License, and its terms, do not apply to those</div><div class='add'>+sections when you distribute them as separate works.  But when you</div><div class='add'>+distribute the same sections as part of a whole which is a work based</div><div class='add'>+on the Library, the distribution of the whole must be on the terms of</div><div class='add'>+this License, whose permissions for other licensees extend to the</div><div class='add'>+entire whole, and thus to each and every part regardless of who wrote</div><div class='add'>+it.</div><div class='add'>+</div><div class='add'>+Thus, it is not the intent of this section to claim rights or contest</div><div class='add'>+your rights to work written entirely by you; rather, the intent is to</div><div class='add'>+exercise the right to control the distribution of derivative or</div><div class='add'>+collective works based on the Library.</div><div class='add'>+</div><div class='add'>+In addition, mere aggregation of another work not based on the Library</div><div class='add'>+with the Library (or with a work based on the Library) on a volume of</div><div class='add'>+a storage or distribution medium does not bring the other work under</div><div class='add'>+the scope of this License.</div><div class='add'>+</div><div class='add'>+  3. You may opt to apply the terms of the ordinary GNU General Public</div><div class='add'>+License instead of this License to a given copy of the Library.  To do</div><div class='add'>+this, you must alter all the notices that refer to this License, so</div><div class='add'>+that they refer to the ordinary GNU General Public License, version 2,</div><div class='add'>+instead of to this License.  (If a newer version than version 2 of the</div><div class='add'>+ordinary GNU General Public License has appeared, then you can specify</div><div class='add'>+that version instead if you wish.)  Do not make any other change in</div><div class='add'>+these notices.</div><div class='add'>+</div><div class='add'>+  Once this change is made in a given copy, it is irreversible for</div><div class='add'>+that copy, so the ordinary GNU General Public License applies to all</div><div class='add'>+subsequent copies and derivative works made from that copy.</div><div class='add'>+</div><div class='add'>+  This option is useful when you wish to copy part of the code of</div><div class='add'>+the Library into a program that is not a library.</div><div class='add'>+</div><div class='add'>+  4. You may copy and distribute the Library (or a portion or</div><div class='add'>+derivative of it, under Section 2) in object code or executable form</div><div class='add'>+under the terms of Sections 1 and 2 above provided that you accompany</div><div class='add'>+it with the complete corresponding machine-readable source code, which</div><div class='add'>+must be distributed under the terms of Sections 1 and 2 above on a</div><div class='add'>+medium customarily used for software interchange.</div><div class='add'>+</div><div class='add'>+  If distribution of object code is made by offering access to copy</div><div class='add'>+from a designated place, then offering equivalent access to copy the</div><div class='add'>+source code from the same place satisfies the requirement to</div><div class='add'>+distribute the source code, even though third parties are not</div><div class='add'>+compelled to copy the source along with the object code.</div><div class='add'>+</div><div class='add'>+  5. A program that contains no derivative of any portion of the</div><div class='add'>+Library, but is designed to work with the Library by being compiled or</div><div class='add'>+linked with it, is called a "work that uses the Library".  Such a</div><div class='add'>+work, in isolation, is not a derivative work of the Library, and</div><div class='add'>+therefore falls outside the scope of this License.</div><div class='add'>+</div><div class='add'>+  However, linking a "work that uses the Library" with the Library</div><div class='add'>+creates an executable that is a derivative of the Library (because it</div><div class='add'>+contains portions of the Library), rather than a "work that uses the</div><div class='add'>+library".  The executable is therefore covered by this License.</div><div class='add'>+Section 6 states terms for distribution of such executables.</div><div class='add'>+</div><div class='add'>+  When a "work that uses the Library" uses material from a header file</div><div class='add'>+that is part of the Library, the object code for the work may be a</div><div class='add'>+derivative work of the Library even though the source code is not.</div><div class='add'>+Whether this is true is especially significant if the work can be</div><div class='add'>+linked without the Library, or if the work is itself a library.  The</div><div class='add'>+threshold for this to be true is not precisely defined by law.</div><div class='add'>+</div><div class='add'>+  If such an object file uses only numerical parameters, data</div><div class='add'>+structure layouts and accessors, and small macros and small inline</div><div class='add'>+functions (ten lines or less in length), then the use of the object</div><div class='add'>+file is unrestricted, regardless of whether it is legally a derivative</div><div class='add'>+work.  (Executables containing this object code plus portions of the</div><div class='add'>+Library will still fall under Section 6.)</div><div class='add'>+</div><div class='add'>+  Otherwise, if the work is a derivative of the Library, you may</div><div class='add'>+distribute the object code for the work under the terms of Section 6.</div><div class='add'>+Any executables containing that work also fall under Section 6,</div><div class='add'>+whether or not they are linked directly with the Library itself.</div><div class='add'>+</div><div class='add'>+  6. As an exception to the Sections above, you may also combine or</div><div class='add'>+link a "work that uses the Library" with the Library to produce a</div><div class='add'>+work containing portions of the Library, and distribute that work</div><div class='add'>+under terms of your choice, provided that the terms permit</div><div class='add'>+modification of the work for the customer's own use and reverse</div><div class='add'>+engineering for debugging such modifications.</div><div class='add'>+</div><div class='add'>+  You must give prominent notice with each copy of the work that the</div><div class='add'>+Library is used in it and that the Library and its use are covered by</div><div class='add'>+this License.  You must supply a copy of this License.  If the work</div><div class='add'>+during execution displays copyright notices, you must include the</div><div class='add'>+copyright notice for the Library among them, as well as a reference</div><div class='add'>+directing the user to the copy of this License.  Also, you must do one</div><div class='add'>+of these things:</div><div class='add'>+</div><div class='add'>+    a) Accompany the work with the complete corresponding</div><div class='add'>+    machine-readable source code for the Library including whatever</div><div class='add'>+    changes were used in the work (which must be distributed under</div><div class='add'>+    Sections 1 and 2 above); and, if the work is an executable linked</div><div class='add'>+    with the Library, with the complete machine-readable "work that</div><div class='add'>+    uses the Library", as object code and/or source code, so that the</div><div class='add'>+    user can modify the Library and then relink to produce a modified</div><div class='add'>+    executable containing the modified Library.  (It is understood</div><div class='add'>+    that the user who changes the contents of definitions files in the</div><div class='add'>+    Library will not necessarily be able to recompile the application</div><div class='add'>+    to use the modified definitions.)</div><div class='add'>+</div><div class='add'>+    b) Use a suitable shared library mechanism for linking with the</div><div class='add'>+    Library.  A suitable mechanism is one that (1) uses at run time a</div><div class='add'>+    copy of the library already present on the user's computer system,</div><div class='add'>+    rather than copying library functions into the executable, and (2)</div><div class='add'>+    will operate properly with a modified version of the library, if</div><div class='add'>+    the user installs one, as long as the modified version is</div><div class='add'>+    interface-compatible with the version that the work was made with.</div><div class='add'>+</div><div class='add'>+    c) Accompany the work with a written offer, valid for at</div><div class='add'>+    least three years, to give the same user the materials</div><div class='add'>+    specified in Subsection 6a, above, for a charge no more</div><div class='add'>+    than the cost of performing this distribution.</div><div class='add'>+</div><div class='add'>+    d) If distribution of the work is made by offering access to copy</div><div class='add'>+    from a designated place, offer equivalent access to copy the above</div><div class='add'>+    specified materials from the same place.</div><div class='add'>+</div><div class='add'>+    e) Verify that the user has already received a copy of these</div><div class='add'>+    materials or that you have already sent this user a copy.</div><div class='add'>+</div><div class='add'>+  For an executable, the required form of the "work that uses the</div><div class='add'>+Library" must include any data and utility programs needed for</div><div class='add'>+reproducing the executable from it.  However, as a special exception,</div><div class='add'>+the materials to be distributed need not include anything that is</div><div class='add'>+normally distributed (in either source or binary form) with the major</div><div class='add'>+components (compiler, kernel, and so on) of the operating system on</div><div class='add'>+which the executable runs, unless that component itself accompanies</div><div class='add'>+the executable.</div><div class='add'>+</div><div class='add'>+  It may happen that this requirement contradicts the license</div><div class='add'>+restrictions of other proprietary libraries that do not normally</div><div class='add'>+accompany the operating system.  Such a contradiction means you cannot</div><div class='add'>+use both them and the Library together in an executable that you</div><div class='add'>+distribute.</div><div class='add'>+</div><div class='add'>+  7. You may place library facilities that are a work based on the</div><div class='add'>+Library side-by-side in a single library together with other library</div><div class='add'>+facilities not covered by this License, and distribute such a combined</div><div class='add'>+library, provided that the separate distribution of the work based on</div><div class='add'>+the Library and of the other library facilities is otherwise</div><div class='add'>+permitted, and provided that you do these two things:</div><div class='add'>+</div><div class='add'>+    a) Accompany the combined library with a copy of the same work</div><div class='add'>+    based on the Library, uncombined with any other library</div><div class='add'>+    facilities.  This must be distributed under the terms of the</div><div class='add'>+    Sections above.</div><div class='add'>+</div><div class='add'>+    b) Give prominent notice with the combined library of the fact</div><div class='add'>+    that part of it is a work based on the Library, and explaining</div><div class='add'>+    where to find the accompanying uncombined form of the same work.</div><div class='add'>+</div><div class='add'>+  8. You may not copy, modify, sublicense, link with, or distribute</div><div class='add'>+the Library except as expressly provided under this License.  Any</div><div class='add'>+attempt otherwise to copy, modify, sublicense, link with, or</div><div class='add'>+distribute the Library is void, and will automatically terminate your</div><div class='add'>+rights under this License.  However, parties who have received copies,</div><div class='add'>+or rights, from you under this License will not have their licenses</div><div class='add'>+terminated so long as such parties remain in full compliance.</div><div class='add'>+</div><div class='add'>+  9. You are not required to accept this License, since you have not</div><div class='add'>+signed it.  However, nothing else grants you permission to modify or</div><div class='add'>+distribute the Library or its derivative works.  These actions are</div><div class='add'>+prohibited by law if you do not accept this License.  Therefore, by</div><div class='add'>+modifying or distributing the Library (or any work based on the</div><div class='add'>+Library), you indicate your acceptance of this License to do so, and</div><div class='add'>+all its terms and conditions for copying, distributing or modifying</div><div class='add'>+the Library or works based on it.</div><div class='add'>+</div><div class='add'>+  10. Each time you redistribute the Library (or any work based on the</div><div class='add'>+Library), the recipient automatically receives a license from the</div><div class='add'>+original licensor to copy, distribute, link with or modify the Library</div><div class='add'>+subject to these terms and conditions.  You may not impose any further</div><div class='add'>+restrictions on the recipients' exercise of the rights granted herein.</div><div class='add'>+You are not responsible for enforcing compliance by third parties with</div><div class='add'>+this License.</div><div class='add'>+</div><div class='add'>+  11. If, as a consequence of a court judgment or allegation of patent</div><div class='add'>+infringement or for any other reason (not limited to patent issues),</div><div class='add'>+conditions are imposed on you (whether by court order, agreement or</div><div class='add'>+otherwise) that contradict the conditions of this License, they do not</div><div class='add'>+excuse you from the conditions of this License.  If you cannot</div><div class='add'>+distribute so as to satisfy simultaneously your obligations under this</div><div class='add'>+License and any other pertinent obligations, then as a consequence you</div><div class='add'>+may not distribute the Library at all.  For example, if a patent</div><div class='add'>+license would not permit royalty-free redistribution of the Library by</div><div class='add'>+all those who receive copies directly or indirectly through you, then</div><div class='add'>+the only way you could satisfy both it and this License would be to</div><div class='add'>+refrain entirely from distribution of the Library.</div><div class='add'>+</div><div class='add'>+If any portion of this section is held invalid or unenforceable under any</div><div class='add'>+particular circumstance, the balance of the section is intended to apply,</div><div class='add'>+and the section as a whole is intended to apply in other circumstances.</div><div class='add'>+</div><div class='add'>+It is not the purpose of this section to induce you to infringe any</div><div class='add'>+patents or other property right claims or to contest validity of any</div><div class='add'>+such claims; this section has the sole purpose of protecting the</div><div class='add'>+integrity of the free software distribution system which is</div><div class='add'>+implemented by public license practices.  Many people have made</div><div class='add'>+generous contributions to the wide range of software distributed</div><div class='add'>+through that system in reliance on consistent application of that</div><div class='add'>+system; it is up to the author/donor to decide if he or she is willing</div><div class='add'>+to distribute software through any other system and a licensee cannot</div><div class='add'>+impose that choice.</div><div class='add'>+</div><div class='add'>+This section is intended to make thoroughly clear what is believed to</div><div class='add'>+be a consequence of the rest of this License.</div><div class='add'>+</div><div class='add'>+  12. If the distribution and/or use of the Library is restricted in</div><div class='add'>+certain countries either by patents or by copyrighted interfaces, the</div><div class='add'>+original copyright holder who places the Library under this License may add</div><div class='add'>+an explicit geographical distribution limitation excluding those countries,</div><div class='add'>+so that distribution is permitted only in or among countries not thus</div><div class='add'>+excluded.  In such case, this License incorporates the limitation as if</div><div class='add'>+written in the body of this License.</div><div class='add'>+</div><div class='add'>+  13. The Free Software Foundation may publish revised and/or new</div><div class='add'>+versions of the Lesser General Public License from time to time.</div><div class='add'>+Such new versions will be similar in spirit to the present version,</div><div class='add'>+but may differ in detail to address new problems or concerns.</div><div class='add'>+</div><div class='add'>+Each version is given a distinguishing version number.  If the Library</div><div class='add'>+specifies a version number of this License which applies to it and</div><div class='add'>+"any later version", you have the option of following the terms and</div><div class='add'>+conditions either of that version or of any later version published by</div><div class='add'>+the Free Software Foundation.  If the Library does not specify a</div><div class='add'>+license version number, you may choose any version ever published by</div><div class='add'>+the Free Software Foundation.</div><div class='add'>+</div><div class='add'>+  14. If you wish to incorporate parts of the Library into other free</div><div class='add'>+programs whose distribution conditions are incompatible with these,</div><div class='add'>+write to the author to ask for permission.  For software which is</div><div class='add'>+copyrighted by the Free Software Foundation, write to the Free</div><div class='add'>+Software Foundation; we sometimes make exceptions for this.  Our</div><div class='add'>+decision will be guided by the two goals of preserving the free status</div><div class='add'>+of all derivatives of our free software and of promoting the sharing</div><div class='add'>+and reuse of software generally.</div><div class='add'>+</div><div class='add'>+			    NO WARRANTY</div><div class='add'>+</div><div class='add'>+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO</div><div class='add'>+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.</div><div class='add'>+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR</div><div class='add'>+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY</div><div class='add'>+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</div><div class='add'>+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE</div><div class='add'>+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME</div><div class='add'>+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</div><div class='add'>+</div><div class='add'>+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN</div><div class='add'>+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY</div><div class='add'>+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU</div><div class='add'>+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR</div><div class='add'>+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE</div><div class='add'>+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING</div><div class='add'>+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A</div><div class='add'>+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF</div><div class='add'>+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH</div><div class='add'>+DAMAGES.</div><div class='add'>+</div><div class='add'>+		     END OF TERMS AND CONDITIONS</div><div class='add'>+</div><div class='add'>+           How to Apply These Terms to Your New Libraries</div><div class='add'>+</div><div class='add'>+  If you develop a new library, and you want it to be of the greatest</div><div class='add'>+possible use to the public, we recommend making it free software that</div><div class='add'>+everyone can redistribute and change.  You can do so by permitting</div><div class='add'>+redistribution under these terms (or, alternatively, under the terms of the</div><div class='add'>+ordinary General Public License).</div><div class='add'>+</div><div class='add'>+  To apply these terms, attach the following notices to the library.  It is</div><div class='add'>+safest to attach them to the start of each source file to most effectively</div><div class='add'>+convey the exclusion of warranty; and each file should have at least the</div><div class='add'>+"copyright" line and a pointer to where the full notice is found.</div><div class='add'>+</div><div class='add'>+    &lt;one line to give the library's name and a brief idea of what it does.&gt;</div><div class='add'>+    Copyright (C) &lt;year&gt;  &lt;name of author&gt;</div><div class='add'>+</div><div class='add'>+    This library is free software; you can redistribute it and/or</div><div class='add'>+    modify it under the terms of the GNU Lesser General Public</div><div class='add'>+    License as published by the Free Software Foundation; either</div><div class='add'>+    version 2.1 of the License, or (at your option) any later version.</div><div class='add'>+</div><div class='add'>+    This library is distributed in the hope that it will be useful,</div><div class='add'>+    but WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='add'>+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</div><div class='add'>+    Lesser General Public License for more details.</div><div class='add'>+</div><div class='add'>+    You should have received a copy of the GNU Lesser General Public</div><div class='add'>+    License along with this library; if not, write to the Free Software</div><div class='add'>+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</div><div class='add'>+</div><div class='add'>+Also add information on how to contact you by electronic and paper mail.</div><div class='add'>+</div><div class='add'>+You should also get your employer (if you work as a programmer) or your</div><div class='add'>+school, if any, to sign a "copyright disclaimer" for the library, if</div><div class='add'>+necessary.  Here is a sample; alter the names:</div><div class='add'>+</div><div class='add'>+  Yoyodyne, Inc., hereby disclaims all copyright interest in the</div><div class='add'>+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.</div><div class='add'>+</div><div class='add'>+  &lt;signature of Ty Coon&gt;, 1 April 1990</div><div class='add'>+  Ty Coon, President of Vice</div><div class='add'>+</div><div class='add'>+That's all there is to it!</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/Makefile.in b/Makefile.in<br/>index fa1e19ef37..1e372885b7 100644<br/>--- a/<a href='/ruby.git/tree/Makefile.in?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>Makefile.in</a><br/>+++ b/<a href='/ruby.git/tree/Makefile.in?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>Makefile.in</a></div><div class='hunk'>@@ -1,37 +1,17 @@</div><div class='ctx'> SHELL = /bin/sh</div><div class='del'>-NULLCMD = @NULLCMD@</div><div class='del'>-n=$(NULLCMD)</div><div class='del'>-ECHO1 = $(V:1=$n)</div><div class='del'>-RUNCMD = $(SHELL)</div><div class='del'>-CDPATH = .</div><div class='del'>-CHDIR = @CHDIR@</div><div class='del'>-exec = exec</div><div class='del'>-NULL = /dev/null</div><div class='del'>-PATH_SEPARATOR = @PATH_SEPARATOR@</div><div class='add'>+NULLCMD = :</div><div class='ctx'> </div><div class='ctx'> #### Start of system configuration section. ####</div><div class='ctx'> </div><div class='ctx'> srcdir = @srcdir@</div><div class='del'>-top_srcdir = $(srcdir)</div><div class='del'>-hdrdir = $(srcdir)/include</div><div class='del'>-PLATFORM_DIR = @PLATFORM_DIR@</div><div class='add'>+VPATH = $(srcdir):$(srcdir)/missing</div><div class='ctx'> </div><div class='del'>-CC_WRAPPER = @XCC_WRAPPER@</div><div class='ctx'> CC = @CC@</div><div class='del'>-CPP = @CPP@</div><div class='del'>-LD = @LD@</div><div class='del'>-YACC = bison</div><div class='add'>+YACC = @YACC@</div><div class='ctx'> PURIFY =</div><div class='ctx'> AUTOCONF = autoconf</div><div class='del'>-ACLOCAL = aclocal</div><div class='del'>-CONFIGURE = @CONFIGURE@</div><div class='ctx'> @SET_MAKE@</div><div class='ctx'> MKFILES = @MAKEFILES@</div><div class='del'>-BASERUBY = @BASERUBY@</div><div class='del'>-HAVE_BASERUBY = @HAVE_BASERUBY@</div><div class='del'>-TEST_RUNNABLE = @TEST_RUNNABLE@</div><div class='del'>-CROSS_COMPILING = @CROSS_COMPILING@</div><div class='del'>-DOXYGEN = @DOXYGEN@</div><div class='ctx'> </div><div class='ctx'> prefix = @prefix@</div><div class='ctx'> exec_prefix = @exec_prefix@</div><div class='hunk'>@@ -44,590 +24,157 @@ datadir = @datadir@</div><div class='ctx'> arch = @arch@</div><div class='ctx'> sitearch = @sitearch@</div><div class='ctx'> sitedir = @sitedir@</div><div class='del'>-archlibdir = @archlibdir@</div><div class='del'>-includedir = @includedir@</div><div class='del'>-archincludedir = @archincludedir@</div><div class='del'>-rubylibprefix = @rubylibprefix@</div><div class='del'>-rubylibdir = @rubylibdir@</div><div class='del'>-rubyarchprefix = @rubyarchprefix@</div><div class='del'>-rubyarchdir = @rubyarchdir@</div><div class='del'>-rubyhdrdir = @rubyhdrdir@</div><div class='del'>-rubyarchhdrdir = @rubyarchhdrdir@</div><div class='del'>-ruby_version = @ruby_version@</div><div class='del'>-RUBY_VERSION_NAME = @RUBY_VERSION_NAME@</div><div class='del'>-UNIVERSAL_ARCHNAMES = @UNIVERSAL_ARCHNAMES@</div><div class='ctx'> </div><div class='ctx'> TESTUI = console</div><div class='ctx'> TESTS =</div><div class='del'>-INSTALLDOC = @INSTALLDOC@</div><div class='del'>-DOCTARGETS = @RDOCTARGET@ @CAPITARGET@</div><div class='add'>+RDOCTARGET = @RDOCTARGET@</div><div class='ctx'> </div><div class='ctx'> EXTOUT = @EXTOUT@</div><div class='del'>-TIMESTAMPDIR  = $(EXTOUT)/.timestamp</div><div class='del'>-arch_hdrdir = $(EXTOUT)/include/$(arch)</div><div class='del'>-VPATH = $(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir):$(srcdir)/missing</div><div class='add'>+RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system</div><div class='ctx'> </div><div class='ctx'> empty =</div><div class='del'>-CC_VERSION = @CC_VERSION@</div><div class='ctx'> OUTFLAG = @OUTFLAG@$(empty)</div><div class='del'>-COUTFLAG = @COUTFLAG@$(empty)</div><div class='del'>-CPPOUTFLAG = $(COUTFLAG)</div><div class='del'>-ARCH_FLAG = @ARCH_FLAG@</div><div class='del'>-CFLAGS_NO_ARCH = @CFLAGS@</div><div class='del'>-CFLAGS = $(CFLAGS_NO_ARCH) $(ARCH_FLAG)</div><div class='del'>-cflags = @cflags@</div><div class='del'>-optflags = @optflags@</div><div class='del'>-debugflags = @debugflags@</div><div class='del'>-warnflags = @warnflags@ @strict_warnflags@</div><div class='del'>-cppflags = @cppflags@</div><div class='del'>-MATHN = @MATHN@</div><div class='del'>-XCFLAGS = @XCFLAGS@ $(MATHN:yes=-DCANONICALIZATION_FOR_MATHN)</div><div class='del'>-USE_RUBYGEMS = @USE_RUBYGEMS@</div><div class='del'>-USE_RUBYGEMS_ = $(USE_RUBYGEMS:yes=)</div><div class='del'>-CPPFLAGS = @CPPFLAGS@ $(INCFLAGS) $(USE_RUBYGEMS_:no=-DDISABLE_RUBYGEMS=1)</div><div class='del'>-MJIT_SUPPORT = @MJIT_SUPPORT@</div><div class='del'>-MJIT_HEADER_FLAGS = @MJIT_HEADER_FLAGS@</div><div class='del'>-MJIT_HEADER_SUFFIX =</div><div class='del'>-MJIT_HEADER_ARCH =</div><div class='del'>-MJIT_HEADER_INSTALL_DIR = @MJIT_HEADER_INSTALL_DIR@</div><div class='del'>-MJIT_CC = @MJIT_CC@</div><div class='del'>-MJIT_CFLAGS = @MJIT_CFLAGS@</div><div class='del'>-MJIT_OPTFLAGS = @MJIT_OPTFLAGS@</div><div class='del'>-MJIT_DEBUGFLAGS = @MJIT_DEBUGFLAGS@</div><div class='del'>-MJIT_LDSHARED = @MJIT_LDSHARED@</div><div class='del'>-MJIT_DLDFLAGS = @DLDFLAGS@</div><div class='del'>-MJIT_HEADER   = rb_mjit_header.h</div><div class='del'>-MJIT_MIN_HEADER_NAME = rb_mjit_min_header-$(RUBY_PROGRAM_VERSION).h</div><div class='del'>-MJIT_MIN_HEADER = $(MJIT_HEADER_BUILD_DIR)/$(MJIT_MIN_HEADER_NAME)</div><div class='del'>-MJIT_HEADER_BUILD_DIR = $(EXTOUT)/include/$(arch)</div><div class='add'>+CFLAGS = @CFLAGS@ @XCFLAGS@ @ARCH_FLAG@</div><div class='add'>+CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@</div><div class='ctx'> LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@</div><div class='del'>-EXTLDFLAGS = @EXTLDFLAGS@</div><div class='add'>+EXTLDFLAGS = </div><div class='ctx'> XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)</div><div class='del'>-EXTLIBS =</div><div class='add'>+EXTLIBS = </div><div class='ctx'> LIBS = @LIBS@ $(EXTLIBS)</div><div class='ctx'> MISSING = @LIBOBJS@ @ALLOCA@</div><div class='del'>-ENABLE_SHARED = @ENABLE_SHARED@</div><div class='ctx'> LDSHARED = @LIBRUBY_LDSHARED@</div><div class='del'>-DLDSHARED = @DLDSHARED@</div><div class='del'>-DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG)</div><div class='add'>+DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(EXTLDFLAGS) @ARCH_FLAG@</div><div class='ctx'> SOLIBS = @SOLIBS@</div><div class='del'>-ENABLE_DEBUG_ENV = @ENABLE_DEBUG_ENV@</div><div class='ctx'> MAINLIBS = @MAINLIBS@</div><div class='del'>-ARCHMINIOBJS = @MINIOBJS@</div><div class='del'>-DLNOBJ = @DLNOBJ@</div><div class='del'>-ENCOBJS = @ENCOBJS@</div><div class='del'>-EXTOBJS = @EXTOBJS@</div><div class='del'>-BUILTIN_ENCOBJS = @BUILTIN_ENCOBJS@</div><div class='del'>-BUILTIN_TRANSSRCS = @BUILTIN_TRANSSRCS@</div><div class='del'>-BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@</div><div class='del'>-POSTLINK = @POSTLINK@</div><div class='del'>-</div><div class='del'>-RUBY_BASE_NAME=@RUBY_BASE_NAME@</div><div class='del'>-RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@</div><div class='del'>-RUBY_API_VERSION=@RUBY_API_VERSION@</div><div class='add'>+MINIOBJS = @MINIOBJS@</div><div class='add'>+</div><div class='ctx'> RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@</div><div class='ctx'> RUBY_SO_NAME=@RUBY_SO_NAME@</div><div class='ctx'> EXEEXT = @EXEEXT@</div><div class='del'>-LIBEXT = @LIBEXT@</div><div class='ctx'> PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)</div><div class='ctx'> RUBY = $(RUBY_INSTALL_NAME)</div><div class='del'>-MINIRUBY = @MINIRUBY@\</div><div class='del'>-	$(MINIRUBYOPT)</div><div class='del'>-# RUNRUBY_COMMAND:: runruby.rb or baseruby. do not append options directly</div><div class='del'>-RUNRUBY_COMMAND = @RUNRUBY_COMMAND@</div><div class='del'>-# RUNRUBY:: run ruby with RUN_OPTS which is passed to ruby</div><div class='del'>-RUNRUBY = @RUNRUBY@ $(RUN_OPTS)</div><div class='del'>-# RUNRUBY_DEBUGGER:: debugging option for runruby.rb</div><div class='del'>-RUNRUBY_DEBUGGER = --debugger='gdb -x run.gdb --quiet --args'</div><div class='del'>-XRUBY = @XRUBY@</div><div class='del'>-BTESTRUBY = @BTESTRUBY@\</div><div class='del'>-	$(MINIRUBYOPT)</div><div class='del'>-INSTALL = @INSTALL@</div><div class='del'>-INSTALL_DATA = @INSTALL_DATA@</div><div class='del'>-INSTALL_SCRIPT = @INSTALL_SCRIPT@</div><div class='del'>-INSTALL_PROGRAM = @INSTALL_PROGRAM@</div><div class='del'>-XRUBY_LIBDIR = @XRUBY_LIBDIR@</div><div class='del'>-XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@</div><div class='del'>-XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@</div><div class='del'>-BOOTSTRAPRUBY = @BOOTSTRAPRUBY@</div><div class='del'>-</div><div class='del'>-COROUTINE_H = @X_FIBER_COROUTINE_H@</div><div class='del'>-COROUTINE_OBJ = $(COROUTINE_H:.h=.@OBJEXT@)</div><div class='add'>+MINIRUBY = @MINIRUBY@ $(MINIRUBYOPT)</div><div class='add'>+RUNRUBY = @RUNRUBY@</div><div class='ctx'> </div><div class='ctx'> #### End of system configuration section. ####</div><div class='ctx'> </div><div class='ctx'> MAJOR=	@MAJOR@</div><div class='ctx'> MINOR=	@MINOR@</div><div class='ctx'> TEENY=	@TEENY@</div><div class='del'>-RUBY_PROGRAM_VERSION = @RUBY_PROGRAM_VERSION@</div><div class='ctx'> </div><div class='ctx'> LIBRUBY_A     = @LIBRUBY_A@</div><div class='ctx'> LIBRUBY_SO    = @LIBRUBY_SO@</div><div class='del'>-LIBRUBY_SONAME= @LIBRUBY_SONAME@</div><div class='ctx'> LIBRUBY_ALIASES= @LIBRUBY_ALIASES@</div><div class='ctx'> LIBRUBY	      = @LIBRUBY@</div><div class='ctx'> LIBRUBYARG    = @LIBRUBYARG@</div><div class='ctx'> LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@</div><div class='ctx'> LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@</div><div class='del'>-LIBRUBY_RELATIVE = @LIBRUBY_RELATIVE@</div><div class='del'>-LIBRUBY_A_OBJS = @LIBRUBY_A_OBJS@</div><div class='del'>-</div><div class='del'>-DTRACE_REBUILD_OBJS = $(DTRACE_REBUILD:yes=$(DTRACE_DEPENDENT_OBJS))</div><div class='del'>-</div><div class='del'>-DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \</div><div class='del'>-			eval.$(OBJEXT) \</div><div class='del'>-			gc.$(OBJEXT) \</div><div class='del'>-			hash.$(OBJEXT) \</div><div class='del'>-			load.$(OBJEXT) \</div><div class='del'>-			object.$(OBJEXT) \</div><div class='del'>-			parse.$(OBJEXT) \</div><div class='del'>-			string.$(OBJEXT) \</div><div class='del'>-			symbol.$(OBJEXT) \</div><div class='del'>-			vm.$(OBJEXT)</div><div class='del'>-</div><div class='del'>-THREAD_MODEL  = @THREAD_MODEL@</div><div class='ctx'> </div><div class='ctx'> PREP          = @PREP@</div><div class='ctx'> ARCHFILE      = @ARCHFILE@</div><div class='ctx'> SETUP         =</div><div class='ctx'> EXTSTATIC     = @EXTSTATIC@</div><div class='del'>-ENCSTATIC     = @ENCSTATIC@</div><div class='del'>-SET_LC_MESSAGES = env LC_MESSAGES=C</div><div class='ctx'> </div><div class='del'>-MAKEDIRS      = @MKDIR_P@</div><div class='del'>-CP            = cp</div><div class='del'>-MV            = mv</div><div class='ctx'> RM            = rm -f</div><div class='del'>-RMDIR         = @RMDIR@</div><div class='del'>-RMDIRS        = @RMDIRS@</div><div class='del'>-RMALL         = @RMALL@</div><div class='ctx'> NM            = @NM@</div><div class='ctx'> AR            = @AR@</div><div class='del'>-ARFLAGS       = @ARFLAGS@$(empty)</div><div class='add'>+ARFLAGS       = rcu</div><div class='ctx'> RANLIB        = @RANLIB@</div><div class='ctx'> AS            = @AS@</div><div class='del'>-ASFLAGS       = @ASFLAGS@ $(INCFLAGS)</div><div class='del'>-IFCHANGE      = $(srcdir)/tool/ifchange</div><div class='del'>-OBJDUMP       = @OBJDUMP@</div><div class='del'>-OBJCOPY       = @OBJCOPY@</div><div class='del'>-HAVE_GIT      = @HAVE_GIT@</div><div class='del'>-GIT           = @GIT@</div><div class='del'>-VCS           = @VCS@</div><div class='del'>-VCSUP         = @VCSUP@</div><div class='del'>-DTRACE        = @DTRACE@ @DTRACE_OPT@</div><div class='del'>-DTRACE_EXT    = @DTRACE_EXT@</div><div class='del'>-DTRACE_OBJ    = @DTRACE_OBJ@</div><div class='del'>-DTRACE_REBUILD= @DTRACE_REBUILD@</div><div class='del'>-DTRACE_GLOMMED_OBJ = $(DTRACE_REBUILD:yes=ruby-glommed.$(OBJEXT))</div><div class='add'>+ASFLAGS       = @ASFLAGS@</div><div class='ctx'> </div><div class='ctx'> OBJEXT        = @OBJEXT@</div><div class='del'>-ASMEXT        = S</div><div class='del'>-SOEXT         = @SOEXT@</div><div class='del'>-DLEXT         = @DLEXT@</div><div class='ctx'> MANTYPE	      = @MANTYPE@</div><div class='del'>-SYMBOL_PREFIX = @SYMBOL_PREFIX@</div><div class='ctx'> </div><div class='ctx'> INSTALLED_LIST= .installed.list</div><div class='del'>-</div><div class='del'>-NEWLINE_C     = enc/trans/newline.c</div><div class='del'>-MINIPRELUDE_C = miniprelude.c</div><div class='del'>-PRELUDE_C     = prelude.c</div><div class='del'>-GOLF_PRELUDE_C= golf_prelude.c</div><div class='del'>-RBCONFIG      = .rbconfig.time</div><div class='del'>-</div><div class='del'>-MAINSRC = $(MAINOBJ:@OBJEXT@=c)</div><div class='del'>-</div><div class='del'>-SRC_FILE      = $&lt;</div><div class='del'>-OS_SRC_FILE   = $&lt;</div><div class='del'>-DEST_FILE     = $@</div><div class='del'>-OS_DEST_FILE  = $@</div><div class='del'>-</div><div class='del'>-MESSAGE_BEGIN = @for line in</div><div class='del'>-MESSAGE_END = ; do echo "$$line"; done</div><div class='del'>-ECHO_BEGIN = @sep=''; for word in</div><div class='del'>-ECHO_END = ; do echo @ECHO_N@ "$$sep'$$word'@ECHO_C@"; sep=' '; done; echo</div><div class='del'>-</div><div class='del'>-DESTDIR       = @DESTDIR@</div><div class='del'>-</div><div class='del'>-configure_args = @configure_args@</div><div class='ctx'> #### End of variables</div><div class='ctx'> </div><div class='del'>-.SUFFIXES: .inc .h .c .y .i .$(ASMEXT) .$(DTRACE_EXT)</div><div class='del'>-</div><div class='ctx'> all:</div><div class='ctx'> </div><div class='add'>+.DEFAULT: all</div><div class='add'>+</div><div class='ctx'> # Prevent GNU make v3 from overflowing arg limit on SysV.</div><div class='ctx'> .NOEXPORT:</div><div class='ctx'> </div><div class='ctx'> miniruby$(EXEEXT):</div><div class='del'>-		@-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi</div><div class='del'>-		$(ECHO) linking $@</div><div class='del'>-		$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@</div><div class='del'>-		$(Q) $(POSTLINK)</div><div class='add'>+		@$(RM) $@</div><div class='add'>+		$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@</div><div class='ctx'> </div><div class='ctx'> $(PROGRAM):</div><div class='ctx'> 		@$(RM) $@</div><div class='del'>-		$(ECHO) linking $@</div><div class='del'>-		$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@</div><div class='del'>-		$(Q) $(POSTLINK)</div><div class='del'>-</div><div class='del'>-PRE_LIBRUBY_UPDATE = [ -n "$(LIBRUBY_SO_UPDATE)" ] || $(exec) $(RM) $(LIBRUBY_EXTS)</div><div class='add'>+		$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) $(OUTFLAG)$@</div><div class='ctx'> </div><div class='ctx'> # We must `rm' the library each time this rule is invoked because "updating" a</div><div class='ctx'> # MAB library on Apple/NeXT (see --enable-fat-binary in configure) is not</div><div class='ctx'> # supported.</div><div class='ctx'> $(LIBRUBY_A):</div><div class='ctx'> 		@$(RM) $@</div><div class='del'>-		@-[ -z "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)</div><div class='del'>-		$(ECHO) linking static-library $@</div><div class='del'>-		$(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS)</div><div class='add'>+		$(AR) $(ARFLAGS) $@ $(OBJS) $(DMYEXT)</div><div class='ctx'> 		@-$(RANLIB) $@ 2&gt; /dev/null || true</div><div class='ctx'> </div><div class='del'>-verify-static-library: $(LIBRUBY_A)</div><div class='del'>-		$(ECHO) verifying static-library $@</div><div class='del'>-		@$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT)</div><div class='del'>-		@$(RMALL) conftest$(EXEEXT) conftest.c conftest.dSYM</div><div class='del'>-</div><div class='ctx'> $(LIBRUBY_SO):</div><div class='del'>-		@-[ -n "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)</div><div class='del'>-		$(ECHO) linking shared-library $@</div><div class='del'>-		$(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@</div><div class='del'>-		-$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)ruby_static_id_*' \</div><div class='del'>-			-L '$(SYMBOL_PREFIX)*_threadptr_*' -L '$(SYMBOL_PREFIX)*_ec_*' $@</div><div class='del'>-		$(Q) $(POSTLINK)</div><div class='del'>-		@-$(MINIRUBY) -e 'so, *aliases = ARGV; aliases.uniq!; aliases.delete(File.basename(so)); \</div><div class='del'>-				  aliases.each { |link| File.delete link rescue nil; File.symlink so, link }' \</div><div class='del'>-				$(LIBRUBY_SO) $(LIBRUBY_ALIASES) || true</div><div class='del'>-</div><div class='del'>-LIBRUBY_WITH_EXT = @LIBRUBY_WITH_EXT@</div><div class='del'>-$(LIBRUBY_$(LIBRUBY_WITH_EXT)): $(LIBRUBY_SO_UPDATE)</div><div class='del'>-</div><div class='del'>-ruby_pc = @ruby_pc@</div><div class='del'>-ruby.pc: $(ruby_pc)</div><div class='del'>-$(ruby_pc): config.status</div><div class='del'>-		@./config.status --file=$@:$(srcdir)/template/ruby.pc.in</div><div class='del'>-</div><div class='del'>-ruby-runner.h: template/ruby-runner.h.in config.status</div><div class='del'>-		@./config.status --file=$@:$(srcdir)/template/$(@F).in</div><div class='del'>-</div><div class='del'>-$(RBCONFIG): $(PREP)</div><div class='del'>-</div><div class='del'>-rbconfig.rb: $(RBCONFIG)</div><div class='del'>-</div><div class='del'>-install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \</div><div class='del'>-	$(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE)</div><div class='del'>-	$(ECHO) installing cross-compiling stuff</div><div class='del'>-	$(Q) $(MAKEDIRS) $(XRUBY_RUBYLIBDIR)/$(arch) $(XRUBY_RUBYHDRDIR)/$(arch)/ruby</div><div class='del'>-	$(Q) sed '/^\$$:\.unshift/q' $(arch)-fake.rb &gt; fake.rb</div><div class='del'>-	$(Q) $(BASERUBY) -p \</div><div class='del'>-	-e '~/^\s*CONFIG\["LDFLAGS"\]/ and' \</div><div class='del'>-	-e '$$_[/(?=\s*"$$)/] = %q[ #{(CONFIG["LIBPATHFLAG"]%File.dirname(__FILE__)).strip}]' \</div><div class='del'>-	rbconfig.rb &gt; fake-rbconfig.rb</div><div class='del'>-	$(INSTALL_SCRIPT) fake.rb $(XRUBY_RUBYLIBDIR)/$(arch)/fake.rb</div><div class='del'>-	$(INSTALL_SCRIPT) fake-rbconfig.rb $(XRUBY_RUBYLIBDIR)/$(arch)/rbconfig.rb</div><div class='del'>-	@$(RM) fake.rb fake-rbconfig.rb</div><div class='del'>-	$(INSTALL_DATA) $(arch_hdrdir)/ruby/config.h $(XRUBY_RUBYHDRDIR)/$(arch)/ruby</div><div class='del'>-	$(INSTALL_DATA) $(top_srcdir)/include/ruby/win32.h $(XRUBY_RUBYHDRDIR)/ruby</div><div class='del'>-	$(INSTALL_DATA) $(LIBRUBY) $(LIBRUBY_A) $(XRUBY_RUBYLIBDIR)/$(arch)</div><div class='del'>-	$(INSTALL_PROGRAM) $(LIBRUBY_SO) $(XRUBY_RUBYLIBDIR)/$(arch)</div><div class='del'>-</div><div class='del'>-Makefile:	$(srcdir)/Makefile.in $(srcdir)/enc/Makefile.in</div><div class='del'>-</div><div class='del'>-$(MKFILES): config.status $(srcdir)/version.h</div><div class='del'>-		@[ -f $@ ] &amp;&amp; mv $@ $@.old</div><div class='del'>-		MAKE=$(MAKE) $(SHELL) ./config.status $@</div><div class='del'>-		@cmp $@ $@.old &gt; /dev/null 2&gt;&amp;1 &amp;&amp; echo $@ unchanged &amp;&amp; exit 0; \</div><div class='del'>-		{ \</div><div class='add'>+		@-$(PRE_LIBRUBY_UPDATE)</div><div class='add'>+		$(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@</div><div class='add'>+		@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \</div><div class='add'>+						  File.symlink "$(LIBRUBY_SO)", link}' \</div><div class='add'>+				$(LIBRUBY_ALIASES) || true</div><div class='add'>+</div><div class='add'>+fake.rb:	Makefile</div><div class='add'>+		@echo ' \</div><div class='add'>+		class Object; \</div><div class='add'>+		  CROSS_COMPILING = RUBY_PLATFORM; \</div><div class='add'>+		  remove_const :RUBY_PLATFORM; \</div><div class='add'>+		  remove_const :RUBY_VERSION; \</div><div class='add'>+		  RUBY_PLATFORM = "@arch@"; \</div><div class='add'>+		  RUBY_VERSION = "@MAJOR@.@MINOR@.@TEENY@"; \</div><div class='add'>+		end; \</div><div class='add'>+		if RUBY_PLATFORM =~ /mswin|bccwin|mingw/; \</div><div class='add'>+		  class File; \</div><div class='add'>+		    remove_const :ALT_SEPARATOR; \</div><div class='add'>+		    ALT_SEPARATOR = "\\"; \</div><div class='add'>+		  end; \</div><div class='add'>+		end; \</div><div class='add'>+		' &gt; $@</div><div class='add'>+</div><div class='add'>+Makefile:	$(srcdir)/Makefile.in</div><div class='add'>+</div><div class='add'>+$(MKFILES): config.status $(srcdir)/common.mk</div><div class='add'>+		MAKE=$(MAKE) $(SHELL) ./config.status</div><div class='add'>+		@{ \</div><div class='ctx'> 		    echo "all:; -@rm -f conftest.mk"; \</div><div class='ctx'> 		    echo "conftest.mk: .force; @echo AUTO_REMAKE"; \</div><div class='ctx'> 		    echo ".force:"; \</div><div class='ctx'> 		} &gt; conftest.mk || exit 1; \</div><div class='ctx'> 		$(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' &gt;/dev/null 2&gt;&amp;1 || \</div><div class='del'>-		{ echo "$@ updated, restart."; exit 1; }</div><div class='del'>-</div><div class='del'>-uncommon.mk: $(srcdir)/common.mk</div><div class='del'>-		sed 's/{\$$([^(){}]*)[^{}]*}//g' $&lt; &gt; $@</div><div class='del'>-</div><div class='del'>-.PHONY: reconfig</div><div class='del'>-reconfig-args = $(srcdir)/$(CONFIGURE) $(configure_args)</div><div class='del'>-config.status-args = ./config.status --recheck</div><div class='del'>-reconfig-exec-0 = test -t 1 &amp;&amp; { : $${CONFIGURE_TTY=yes}; export CONFIGURE_TTY; }; exec 3&gt;&amp;1; exit `exec 4&gt;&amp;1; { "$$@" 3&gt;&amp;- 4&gt;&amp;-; echo $$? 1&gt;&amp;4; } | fgrep -v '(cached)' 1&gt;&amp;3 3&gt;&amp;- 4&gt;&amp;-`</div><div class='del'>-reconfig-exec-1 = set -x; "$$@"</div><div class='del'>-</div><div class='del'>-reconfig config.status:	$(srcdir)/$(CONFIGURE) $(srcdir)/enc/Makefile.in \</div><div class='del'>-			$(srcdir)/include/ruby/version.h</div><div class='del'>-	@PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \</div><div class='del'>-	warnflags="@warnflags@"; export warnflags; \</div><div class='del'>-	set $(SHELL) $($@-args); $(reconfig-exec-$(V))</div><div class='del'>-</div><div class='del'>-$(srcdir)/$(CONFIGURE): $(srcdir)/configure.ac $(srcdir)/aclocal.m4</div><div class='del'>-	$(CHDIR) $(srcdir) &amp;&amp; exec $(AUTOCONF) -o $(@F)</div><div class='del'>-</div><div class='del'>-$(srcdir)/aclocal.m4:</div><div class='del'>-	$(CHDIR) $(srcdir) &amp;&amp; \</div><div class='del'>-	type $(ACLOCAL) &gt;/dev/null 2&gt;&amp;1 &amp;&amp; exec $(ACLOCAL); \</div><div class='del'>-	touch $(@F)</div><div class='del'>-</div><div class='del'>-prereq: $(srcdir)/$(CONFIGURE)</div><div class='del'>-</div><div class='del'>-incs: id.h</div><div class='del'>-all-incs: probes.h</div><div class='del'>-</div><div class='del'>-# Things which should be considered:</div><div class='del'>-# * with gperf v.s. without gperf</div><div class='del'>-# * committers may have various versions of gperf</div><div class='del'>-# * ./configure v.s. ../ruby/configure</div><div class='del'>-# * GNU make v.s. HP-UX make	# HP-UX make invokes the action if lex.c and keywords has same mtime.</div><div class='del'>-# * svn checkout generate a file with mtime as current time</div><div class='del'>-# * ext4 and XFS has a mtime with fractional part</div><div class='del'>-lex.c: defs/keywords</div><div class='del'>-	@\</div><div class='del'>-	if cmp -s $(srcdir)/defs/lex.c.src $?; then \</div><div class='del'>-	  [ $(Q) ] &amp;&amp; echo copying $@ || set -x; \</div><div class='del'>-	  $(CP) $(srcdir)/lex.c.blt $@; \</div><div class='del'>-	else \</div><div class='del'>-	  [ $(Q) ] &amp;&amp; echo generating $@ || set -x; \</div><div class='del'>-	  gperf -C -P -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? \</div><div class='del'>-	  | sed -f $(srcdir)/tool/gperf.sed \</div><div class='del'>-	  &gt; $@.tmp &amp;&amp; \</div><div class='del'>-	  $(MV) $@.tmp $@ &amp;&amp; \</div><div class='del'>-	  $(CP) $? $(srcdir)/defs/lex.c.src &amp;&amp; \</div><div class='del'>-	  $(CP) $@ $(srcdir)/lex.c.blt; \</div><div class='del'>-	fi</div><div class='del'>-</div><div class='del'>-JIS_PROPS_OPTIONS = -k1,3 -7 -c -j1 -i1 -t -C -P -t --ignore-case -H onig_jis_property_hash -Q onig_jis_property_pool -N onig_jis_property</div><div class='del'>-</div><div class='del'>-$(srcdir)/enc/jis/props.h: enc/jis/props.kwd</div><div class='del'>-	$(MAKEDIRS) $(@D)</div><div class='del'>-	@set +e; \</div><div class='del'>-	if cmp -s $(?:.kwd=.src) $?; then \</div><div class='del'>-	  set -x; \</div><div class='del'>-	  $(CP) $(?:.kwd=.h.blt) $@; \</div><div class='del'>-	else \</div><div class='del'>-	  set -x; \</div><div class='del'>-	  gperf $(JIS_PROPS_OPTIONS) $? | \</div><div class='del'>-	  sed -f $(srcdir)/tool/gperf.sed &gt; $@ &amp;&amp; \</div><div class='del'>-	  $(CP) $? $(?:.kwd=.src) &amp;&amp; \</div><div class='del'>-	  $(CP) $@ $(?:.kwd=.h.blt); \</div><div class='del'>-	fi</div><div class='add'>+		{ echo "Makefile updated, restart."; exit 1; }</div><div class='add'>+</div><div class='add'>+config.status:	$(srcdir)/configure</div><div class='add'>+		MINIRUBY="$(MINIRUBY)" $(SHELL) ./config.status --recheck</div><div class='add'>+</div><div class='add'>+$(srcdir)/configure: $(srcdir)/configure.in</div><div class='add'>+		cd $(srcdir) &amp;&amp; $(AUTOCONF)</div><div class='add'>+</div><div class='add'>+lex.c: keywords</div><div class='add'>+	@-$(RM) $@</div><div class='add'>+	gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? &gt; $@ || \</div><div class='add'>+	cp "$(srcdir)/$@" .</div><div class='add'>+</div><div class='add'>+.y.c:</div><div class='add'>+	$(YACC) $&lt;</div><div class='add'>+	sed '/^#/s|y\.tab\.c|$@|' y.tab.c &gt; $@</div><div class='add'>+	rm -f y.tab.c</div><div class='ctx'> </div><div class='ctx'> .c.@OBJEXT@:</div><div class='del'>-	@$(ECHO) compiling $&lt;</div><div class='del'>-	$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $&lt;</div><div class='del'>-</div><div class='del'>-.$(ASMEXT).@OBJEXT@:</div><div class='del'>-	@$(ECHO) assembling $&lt;</div><div class='del'>-	$(Q) $(CC) $(ASFLAGS) -o $@ -c $&lt;</div><div class='del'>-</div><div class='del'>-.c.$(ASMEXT):</div><div class='del'>-	@$(ECHO) translating $&lt;</div><div class='del'>-	$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -S $&lt;</div><div class='del'>-</div><div class='del'>-.c.i:</div><div class='del'>-	@$(ECHO) preprocessing $&lt;</div><div class='del'>-	$(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -E $&lt; &gt; $@</div><div class='del'>-</div><div class='del'>-.d.h:</div><div class='del'>-	@$(ECHO) translating probes $&lt;</div><div class='del'>-	$(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $&lt;</div><div class='del'>-	$(Q) sed -e 's/RUBY_/RUBY_DTRACE_/g' -e 's/PROBES_H_TMP/RUBY_PROBES_H/' -e 's/(char \*/(const char */g' -e 's/, char \*/, const char */g' $@.tmp &gt; $@</div><div class='del'>-	$(Q) $(RM) $@.tmp</div><div class='del'>-</div><div class='del'>-.dmyh.h:</div><div class='del'>-	@$(ECHO) making dummy $(DEST_FILE)</div><div class='del'>-	$(Q)echo '#include "$(*F).dmyh"' &gt; $@</div><div class='del'>-</div><div class='del'>-probes.stamp: $(DTRACE_REBUILD_OBJS)</div><div class='del'>-	$(Q) if test -f $@ -o -f probes.$(OBJEXT); then \</div><div class='del'>-	  $(RM) $(DTRACE_REBUILD_OBJS) $@; \</div><div class='del'>-	  $(ECHO0) "rebuilding objects which were modified by \"dtrace -G\""; \</div><div class='del'>-	  $(MAKE) $(DTRACE_REBUILD_OBJS); \</div><div class='del'>-	fi</div><div class='del'>-	$(Q) touch $@</div><div class='del'>-</div><div class='del'>-probes.$(OBJEXT): $(srcdir)/probes.d $(DTRACE_REBUILD:yes=probes.stamp)</div><div class='del'>-	@$(ECHO) processing probes in object files</div><div class='del'>-	$(Q) $(RM) $@</div><div class='del'>-	$(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_REBUILD_OBJS)</div><div class='del'>-</div><div class='del'>-main: mjit-headers</div><div class='del'>-yes-mjit-headers: $(MJIT_MIN_HEADER)</div><div class='del'>-clean-local::</div><div class='del'>-	$(Q)$(RM) $(MJIT_HEADER) $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h</div><div class='del'>-	$(Q)$(RM) $(MJIT_MIN_HEADER) $(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h</div><div class='del'>-	$(Q)$(RM) $(MJIT_HEADER_INSTALL_DIR)/rb_mjit_min_header-*.h</div><div class='del'>-	$(Q)$(RM) $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time mjit_config.h</div><div class='del'>-	$(Q)$(RM) -r mjit_build_dir.*</div><div class='del'>-	-$(Q) $(RMDIRS) $(MJIT_HEADER_INSTALL_DIR) 2&gt; $(NULL) || exit 0</div><div class='del'>-</div><div class='del'>-# DTrace static library hacks described here:</div><div class='del'>-# http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html</div><div class='del'>-ruby-glommed.$(OBJEXT):</div><div class='del'>-	@$(ECHO) generating a glommed object with DTrace probes for static library</div><div class='del'>-	$(Q) $(LD) -r -o $@ $(OBJS)</div><div class='add'>+	$(CC) $(CFLAGS) $(CPPFLAGS) -c $&lt;</div><div class='add'>+</div><div class='add'>+.s.@OBJEXT@:</div><div class='add'>+	$(AS) $(ASFLAGS) -o $@ $&lt;</div><div class='ctx'> </div><div class='ctx'> clean-local::</div><div class='del'>-	$(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \</div><div class='del'>-		enc/encinit.c enc/encinit.$(OBJEXT)</div><div class='del'>-	-$(Q)$(RM) $(pkgconfig_DATA)</div><div class='del'>-	-$(Q)$(RMALL) exe/ ruby-runner.$(OBJEXT) ruby-runner.h *.dSYM</div><div class='add'>+	@$(RM) ext/extinit.c ext/extinit.$(OBJEXT)</div><div class='ctx'> </div><div class='ctx'> distclean-local::</div><div class='del'>-	$(Q)$(RM) ext/config.cache $(RBCONFIG) Doxyfile</div><div class='del'>-	-$(Q)$(RM) run.gdb</div><div class='del'>-	-$(Q)$(RM) $(INSTALLED_LIST) $(arch_hdrdir)/ruby/config.h verconf.h</div><div class='del'>-	-$(Q)$(RMDIRS) $(arch_hdrdir)/ruby 2&gt; /dev/null || true</div><div class='del'>-</div><div class='del'>-ext/clean.sub gems/clean.sub:: ext/clean.mk</div><div class='del'>-ext/distclean.sub gems/distclean.sub:: ext/distclean.mk</div><div class='del'>-ext/realclean.sub gems/realclean.sub:: ext/realclean.mk</div><div class='del'>-</div><div class='del'>-ext/clean.mk ext/distclean.mk ext/realclean.mk::</div><div class='del'>-	-$(Q) if [ -f $(EXTS_MK) ]; then exec $(MAKE) -f $(EXTS_MK) $(@F:.mk=); fi</div><div class='del'>-</div><div class='del'>-ext/clean:: ext/clean.sub</div><div class='del'>-ext/distclean:: ext/distclean.sub</div><div class='del'>-ext/realclean:: ext/realclean.sub</div><div class='del'>-gems/clean:: gems/clean.sub</div><div class='del'>-gems/distclean:: gems/distclean.sub</div><div class='del'>-gems/realclean:: gems/realclean.sub</div><div class='del'>-</div><div class='del'>-ext/clean.sub ext/distclean.sub ext/realclean.sub \</div><div class='del'>-gems/clean.sub gems/distclean.sub gems/realclean.sub::</div><div class='del'>-	$(Q) set dummy `echo "${EXTS}" | tr , ' '`; shift; \</div><div class='del'>-	test "$$#" = 0 &amp;&amp; set .; \</div><div class='del'>-	set dummy `\</div><div class='del'>-	    cd $(@D) 2&gt;/dev/null &amp;&amp; \</div><div class='del'>-	    find "$$@" \( -name Makefile -o -name exts.mk \) -print | \</div><div class='del'>-	    sed -n 's:^\./::;s:^:$(@D)/:;s:/[^/][^/]*$$::p' | sort -u; \</div><div class='del'>-	`; shift; \</div><div class='del'>-	for dir do \</div><div class='del'>-	    $(RM) "$$dir/exts.mk"; \</div><div class='del'>-	    if [ -f "$$dir/Makefile" ]; then \</div><div class='del'>-		echo $(@F:.sub=)ing "$$dir"; \</div><div class='del'>-		(cd "$$dir" &amp;&amp; exec $(MAKE) $(mflags) $(@F:.sub=)); \</div><div class='del'>-	    fi; \</div><div class='del'>-	done || true</div><div class='del'>-</div><div class='del'>-ext/distclean ext/realclean gems/distclean gems/realclean::</div><div class='del'>-	$(Q) set dummy `echo "${EXTS}" | tr , ' '`; shift; \</div><div class='del'>-	test "$$#" = 0 &amp;&amp; set .; \</div><div class='del'>-	cd $(@D) 2&gt;/dev/null &amp;&amp; \</div><div class='del'>-	find "$$@" -type d -empty -exec $(RMDIRS) {} + 2&gt; /dev/null || true</div><div class='del'>-	$(Q) $(RMDIRS) $(@D) 2&gt; /dev/null || true</div><div class='del'>-</div><div class='del'>-clean-enc distclean-enc realclean-enc:</div><div class='del'>-	@test -f "$(ENC_MK)" || exit 0; \</div><div class='del'>-	echo $(@:-enc=ing) encodings; \</div><div class='del'>-	exec $(MAKE) $(MAKE_ENC) $(@:-enc=)</div><div class='add'>+	@$(RM) ext/config.cache $(RBCONFIG)</div><div class='ctx'> </div><div class='ctx'> ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)</div><div class='del'>-	$(ECHO) compiling $@</div><div class='del'>-	$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c</div><div class='del'>-</div><div class='del'>-enc/encinit.$(OBJEXT): enc/encinit.c $(SETUP)</div><div class='del'>-</div><div class='del'>-cont.$(OBJEXT): $(COROUTINE_H)</div><div class='del'>-</div><div class='del'>-test-bundled-gems-run:</div><div class='del'>-	$(Q) set -e; while read gem _; do \</div><div class='del'>-	  echo testing $$gem gem &amp;&amp; \</div><div class='del'>-	  $(XRUBY) -C $(srcdir)/gems/src/$$gem -Ilib ../../../.bundle/bin/rake; \</div><div class='del'>-	done &lt; $(srcdir)/gems/bundled_gems</div><div class='del'>-</div><div class='del'>-update-src::</div><div class='del'>-	@$(CHDIR) "$(srcdir)" &amp;&amp; LC_TIME=C exec $(VCSUP)</div><div class='del'>-</div><div class='del'>-update-download:: update-config_files</div><div class='del'>-</div><div class='del'>-after-update:: prereq</div><div class='del'>-</div><div class='del'>-gcov:</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/run-gcov.rb</div><div class='del'>-</div><div class='del'>-lcov:</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/run-lcov.rb</div><div class='del'>-</div><div class='del'>-update-benchmark-driver:</div><div class='del'>-	$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/benchmark $(Q1:0=-q) \</div><div class='del'>-		--branch $(BENCHMARK_DRIVER_GIT_REF) \</div><div class='del'>-		$(BENCHMARK_DRIVER_GIT_URL) benchmark-driver $(GIT_OPTS)</div><div class='del'>-</div><div class='del'>-update-doclie:</div><div class='del'>-	$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \</div><div class='del'>-		--branch $(DOCLIE_GIT_REF) \</div><div class='del'>-		$(DOCLIE_GIT_URL) doclie $(GIT_OPTS)</div><div class='del'>-</div><div class='del'>-update-simplecov-html:</div><div class='del'>-	$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \</div><div class='del'>-		--branch $(SIMPLECOV_HTML_GIT_REF) \</div><div class='del'>-		$(SIMPLECOV_HTML_GIT_URL) simplecov-html $(GIT_OPTS)</div><div class='del'>-</div><div class='del'>-update-simplecov:</div><div class='del'>-	$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \</div><div class='del'>-		--branch $(SIMPLECOV_GIT_REF)  \</div><div class='del'>-		$(SIMPLECOV_GIT_URL) simplecov $(GIT_OPTS)</div><div class='del'>-</div><div class='del'>-update-coverage: update-simplecov update-simplecov-html update-doclie</div><div class='del'>-</div><div class='del'>-update-known-errors:</div><div class='del'>-	errno --list | cut -d' ' -f1 | sort -u - $(srcdir)/defs/known_errors.def | \</div><div class='del'>-	$(IFCHANGE) $(srcdir)/defs/known_errors.def -</div><div class='del'>-</div><div class='del'>-INSNS	= opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \</div><div class='del'>-	  vmtc.inc vm.inc mjit_compile.inc</div><div class='del'>-</div><div class='del'>-$(INSNS): $(srcdir)/insns.def vm_opts.h \</div><div class='del'>-	  $(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def \</div><div class='del'>-	  $(srcdir)/tool/insns2vm.rb</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) -Ku $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) $@</div><div class='del'>-</div><div class='del'>-verconf.h: $(RBCONFIG)</div><div class='del'>-</div><div class='del'>-loadpath: verconf.h</div><div class='del'>-	@$(CPP) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/loadpath.c | \</div><div class='del'>-	sed -e '1,/^const char ruby_initial_load_paths/d;/;/,$$d' \</div><div class='del'>-	    -e '/^ /!d;s/ *"\\0"$$//;s/" *"//g'</div><div class='del'>-</div><div class='del'>-un-runnable:</div><div class='del'>-	$(ECHO) cannot make runnable, configure with --enable-load-relative.</div><div class='del'>-	$(Q) exit 1</div><div class='del'>-</div><div class='del'>-mjit_config.h:</div><div class='del'>-	$(ECHO) making $@</div><div class='del'>-	@{ \</div><div class='del'>-	. $(srcdir)/tool/mjit_archflag.sh; \</div><div class='del'>-	parse_arch_flags "$(UNIVERSAL_ARCHNAMES)" $(ARCH_FLAG); \</div><div class='del'>-	test "$(Q)" = @ || set -x; \</div><div class='del'>-	echo '#ifndef RUBY_MJIT_CONFIG_H'; \</div><div class='del'>-	echo '#define RUBY_MJIT_CONFIG_H 1'; \</div><div class='del'>-	echo; \</div><div class='del'>-	sep=; \</div><div class='del'>-	echo '#ifdef LOAD_RELATIVE'; \</div><div class='del'>-	quote MJIT_HEADER_INSTALL_DIR "/$(MJIT_HEADER_INSTALL_DIR)"; \</div><div class='del'>-	echo '#else'; \</div><div class='del'>-	quote MJIT_HEADER_INSTALL_DIR "$(rubyarchhdrdir)"; \</div><div class='del'>-	echo '#endif'; \</div><div class='del'>-	quote MJIT_MIN_HEADER_NAME "$(MJIT_MIN_HEADER_NAME)"; \</div><div class='del'>-	sep=,; \</div><div class='del'>-	quote "MJIT_CC_COMMON  " $(MJIT_CC); \</div><div class='del'>-	quote "MJIT_CFLAGS      MJIT_ARCHFLAG" $(MJIT_CFLAGS); \</div><div class='del'>-	quote "MJIT_OPTFLAGS   " $(MJIT_OPTFLAGS); \</div><div class='del'>-	quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \</div><div class='del'>-	quote "MJIT_LDSHARED   " $(MJIT_LDSHARED); \</div><div class='del'>-	quote "MJIT_DLDFLAGS    MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \</div><div class='del'>-	quote "MJIT_LIBS       " $(LIBRUBYARG_SHARED); \</div><div class='del'>-	quote 'PRELOADENV       "@PRELOADENV@"'; \</div><div class='del'>-	indent=$${archs:+'  '}; \</div><div class='del'>-	define_arch_flags; \</div><div class='del'>-	echo; \</div><div class='del'>-	echo '#endif /* RUBY_MJIT_CONFIG_H */'; \</div><div class='del'>-	} &gt; $@</div><div class='del'>-</div><div class='del'>-yes-test-almost yes-test-all: mjit_build_dir.$(SOEXT)</div><div class='del'>-mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER) $(srcdir)/ruby-runner.c ruby-runner.h</div><div class='del'>-	$(ECHO) making $@</div><div class='del'>-	$(Q) $(DLDSHARED) $(MJIT_DLDFLAGS) $(ARCH_FLAG) $(CFLAGS) $(CPPFLAGS) \</div><div class='del'>-		-DMAKE_MJIT_BUILD_DIR=1 -DMJIT_MIN_HEADER='"$(MJIT_MIN_HEADER)"' \</div><div class='del'>-		$(OUTFLAG)$@ $(srcdir)/ruby-runner.c</div><div class='add'>+	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -o$@ -c ext/extinit.c</div><div class='head'>diff --git a/NEWS b/NEWS<br/>deleted file mode 100644<br/>index 385c12bb70..0000000000<br/>--- a/<a href='/ruby.git/tree/NEWS?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>NEWS</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,612 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.6.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or reference</div><div class='del'>-information is supplied with.  For a full list of changes with all</div><div class='del'>-sufficient information, see the ChangeLog file or Redmine</div><div class='del'>-(e.g. &lt;tt&gt;https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER&lt;/tt&gt;)</div><div class='del'>-</div><div class='del'>-== Changes since the 2.5.0 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* &lt;code&gt;$SAFE&lt;/code&gt; is a process global state and we can set 0 again. [Feature #14250]</div><div class='del'>-</div><div class='del'>-* refinements take place at block passing.  [Feature #14223]</div><div class='del'>-</div><div class='del'>-* refinements take place at Kernel#public_send.  [Feature #15326]</div><div class='del'>-</div><div class='del'>-* refinements take place at Kernel#respond_to?.  [Feature #15327]</div><div class='del'>-</div><div class='del'>-* +else+ without +rescue+ now causes a syntax error.  [EXPERIMENTAL] [Feature #14606]</div><div class='del'>-</div><div class='del'>-* constant names may start with a non-ASCII capital letter. [Feature #13770]</div><div class='del'>-</div><div class='del'>-* An endless range is introduced.  You can write a range that has no end,</div><div class='del'>-  like &lt;code&gt;(0..)&lt;/code&gt; (or similarly &lt;code&gt;(0...)&lt;/code&gt;).</div><div class='del'>-  The following shows typical use cases.  [Feature #12912]</div><div class='del'>-</div><div class='del'>-    ary[1..]                              # identical to ary[1..-1]</div><div class='del'>-    (1...).each {|index| block }          # infinite loop from index 1</div><div class='del'>-    ary.zip(1..) {|elem, index| block }   # ary.each.with_index(1) { }</div><div class='del'>-</div><div class='del'>-* Non-Symbol key in keyword arguments hash causes an exception.</div><div class='del'>-</div><div class='del'>-* "shadowing outer local variable" warning was removed.  [Feature #12490]</div><div class='del'>-  You can now write the following without warning.</div><div class='del'>-</div><div class='del'>-    user = users.find {|user| cond(user) }</div><div class='del'>-</div><div class='del'>-* Print exception backtrace and error message in reverse order when the</div><div class='del'>-  exception is not caught and STDOUT is unchanged and a tty. [Feature #8661]</div><div class='del'>-</div><div class='del'>-* Print +cause+ of the exception if the exception is not caught and printed</div><div class='del'>-  its backtraces and error message [Feature #8257]</div><div class='del'>-</div><div class='del'>-* Flip-flop syntax is deprecated. [Feature #5400]</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-[Array]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Added Array#union and Array#difference instance methods.  [Feature #14097]</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-    * Array#to_h now maps elements to new keys and values by the</div><div class='del'>-      block if given.  [Feature #15143]</div><div class='del'>-</div><div class='del'>-  [Aliased methods]</div><div class='del'>-</div><div class='del'>-    * Array#filter is a new alias for Array#select. [Feature #13784]</div><div class='del'>-    * Array#filter! is a new alias for Array#select!. [Feature #13784]</div><div class='del'>-</div><div class='del'>-[Binding]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * added Binding#source_location.  [Feature #14230]</div><div class='del'>-</div><div class='del'>-      This method returns the source location of the binding, a 2-element</div><div class='del'>-      array of &lt;code&gt;__FILE__&lt;/code&gt; and &lt;code&gt;__LINE__&lt;/code&gt;.</div><div class='del'>-      Traditionally, the same information could be retrieved by</div><div class='del'>-      &lt;code&gt;eval("[__FILE__, __LINE__]", binding)&lt;/code&gt;, but we are</div><div class='del'>-      planning to change this behavior so that Kernel#eval ignores</div><div class='del'>-      binding's source location [Bug #4352].  So, users should use this</div><div class='del'>-      newly-introduced method instead of Kernel#eval.</div><div class='del'>-</div><div class='del'>-[Dir]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * added Dir#each_child and Dir#children instance methods. [Feature #13969]</div><div class='del'>-</div><div class='del'>-[Enumerable]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Enumerable#chain returns an enumerator object that iterates over the</div><div class='del'>-      elements of the receiver and then those of each argument</div><div class='del'>-      in sequence.  [Feature #15144]</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-    * Enumerable#to_h now maps elements to new keys and values by the block if</div><div class='del'>-      given.  [Feature #15143]</div><div class='del'>-</div><div class='del'>-  [Aliased methods]</div><div class='del'>-</div><div class='del'>-    * Enumerable#filter is a new alias for Enumerable#select. [Feature #13784]</div><div class='del'>-</div><div class='del'>-[Enumerator::ArithmeticSequence]</div><div class='del'>-</div><div class='del'>-  * This is a new class to represent a generator of an arithmetic sequence,</div><div class='del'>-    that is a number sequence defined by a common difference. It can be used</div><div class='del'>-    for representing what is similar to Python's slice. You can get an</div><div class='del'>-    instance of this class from Numeric#step and Range#step.</div><div class='del'>-</div><div class='del'>-[Enumerator::Chain]</div><div class='del'>-</div><div class='del'>-  * This is a new class to represent a chain of enumerables that works as a</div><div class='del'>-    single enumerator, generated by such methods as Enumerable#chain and</div><div class='del'>-    Enumerator#+.</div><div class='del'>-</div><div class='del'>-[Enumerator::Lazy]</div><div class='del'>-</div><div class='del'>-  [Aliased methods]</div><div class='del'>-</div><div class='del'>-    * Enumerator::Lazy#filter is a new alias for</div><div class='del'>-      Enumerator::Lazy#select.  [Feature #13784]</div><div class='del'>-</div><div class='del'>-[Enumerator]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Enumerator#+ returns an enumerator object that iterates over the</div><div class='del'>-      elements of the receiver and then those of the other operand.  [Feature #15144]</div><div class='del'>-</div><div class='del'>-[ENV]</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-    * ENV.to_h now maps names and values to new keys and values</div><div class='del'>-      by the block if given.  [Feature #15143]</div><div class='del'>-</div><div class='del'>-[Exception]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * Exception#full_message takes +:highlight+ and +:order+</div><div class='del'>-      options. [Bug #14324]</div><div class='del'>-</div><div class='del'>-[Hash]</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-    * Hash#merge, Hash#merge!, and Hash#update now accept multiple</div><div class='del'>-      arguments.  [Feature #15111]</div><div class='del'>-</div><div class='del'>-    * Hash#to_h now maps keys and values to new keys and values</div><div class='del'>-      by the block if given.  [Feature #15143]</div><div class='del'>-</div><div class='del'>-  [Aliased methods]</div><div class='del'>-</div><div class='del'>-    * Hash#filter is a new alias for Hash#select.  [Feature #13784]</div><div class='del'>-</div><div class='del'>-    * Hash#filter! is a new alias for Hash#select!. [Feature #13784]</div><div class='del'>-</div><div class='del'>-[IO]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * new mode character &lt;code&gt;'x'&lt;/code&gt; to open files for exclusive</div><div class='del'>-      access. [Feature #11258]</div><div class='del'>-</div><div class='del'>-[Kernel]</div><div class='del'>-</div><div class='del'>-  [Aliased methods]</div><div class='del'>-</div><div class='del'>-    * Kernel#then is a new alias for Kernel#yield_self. [Feature #14594]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * Kernel#Complex, Kernel#Float, Kernel#Integer, and</div><div class='del'>-      Kernel#Rational take +:exception+ option to specify the way of</div><div class='del'>-      error handling.  [Feature #12732]</div><div class='del'>-</div><div class='del'>-    * Kernel#system takes +:exception+ option to raise an exception</div><div class='del'>-      on failure.  [Feature #14386]</div><div class='del'>-</div><div class='del'>-  [Incompatible changes]</div><div class='del'>-</div><div class='del'>-    * Kernel#system and Kernel#exec do not close non-standard file descriptors</div><div class='del'>-      (The default of the +:close_others+ option is changed to +false+,</div><div class='del'>-      but we still set the +FD_CLOEXEC+ flag on descriptors we</div><div class='del'>-      create).  [Misc #14907]</div><div class='del'>-</div><div class='del'>-[KeyError]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * KeyError.new accepts +:receiver+ and +:key+ options to set receiver and</div><div class='del'>-      key in Ruby code.  [Feature #14313]</div><div class='del'>-</div><div class='del'>-[Method]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * added Method#&lt;&lt; and Method#&gt;&gt; for Proc composition.  [Feature #6284]</div><div class='del'>-</div><div class='del'>-[Module]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Module#method_defined?, Module#private_method_defined?, and</div><div class='del'>-      Module#protected_method_defined? now accept the second</div><div class='del'>-      parameter as optional. If it's +true+ (=default), checks ancestor</div><div class='del'>-      modules/classes, or checks only the class itself. [Feature #14944]</div><div class='del'>-</div><div class='del'>-[NameError]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * NameError.new accepts +:receiver+ option to set receiver in Ruby</div><div class='del'>-      code.  [Feature #14313]</div><div class='del'>-</div><div class='del'>-[NilClass]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * NilClass#=~ is added for compatibility.  [Feature #15231]</div><div class='del'>-</div><div class='del'>-[NoMethodError]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * NoMethodError.new accepts +:receiver+ option to set receiver in Ruby</div><div class='del'>-      code.  [Feature #14313]</div><div class='del'>-</div><div class='del'>-[Numeric]</div><div class='del'>-</div><div class='del'>-  [Incompatible changes]</div><div class='del'>-</div><div class='del'>-    * Numeric#step now returns an instance of Enumerator::ArithmeticSequence</div><div class='del'>-      class rather than one of Enumerator class.</div><div class='del'>-</div><div class='del'>-[Proc]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * added Proc#&lt;&lt; and Proc#&gt;&gt; for Proc composition.  [Feature #6284]</div><div class='del'>-</div><div class='del'>-  [Incompatible changes]</div><div class='del'>-</div><div class='del'>-    * Proc#call doesn't change &lt;code&gt;$SAFE&lt;/code&gt; any more.  [Feature #14250]</div><div class='del'>-</div><div class='del'>-[Random]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * added Random.bytes.  [Feature #4938]</div><div class='del'>-</div><div class='del'>-[Range]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Added Range#% instance method.  [Feature #14697]</div><div class='del'>-</div><div class='del'>-  [Incompatible changes]</div><div class='del'>-</div><div class='del'>-    * Range#=== now uses +#cover?+ instead of +#include?+ method. [Feature #14575]</div><div class='del'>-    * Range#cover? now accepts Range object. [Feature #14473]</div><div class='del'>-    * Range#step now returns an instance of Enumerator::ArithmeticSequence</div><div class='del'>-      class rather than one of Enumerator class.</div><div class='del'>-</div><div class='del'>-[Regexp/String]</div><div class='del'>-</div><div class='del'>-    * Update Unicode version from 10.0.0 to 11.0.0 [Feature #14802]</div><div class='del'>-      This includes a rewrite of the grapheme cluster (/\X/) algorithm</div><div class='del'>-      and special-casing for Georgian MTAVRULI on String#downcase.</div><div class='del'>-</div><div class='del'>-    * Update Emoji version from 5.0 to 11.0.0 [Feature #14802]</div><div class='del'>-</div><div class='del'>-[RubyVM::AbstractSyntaxTree]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * RubyVM::AbstractSyntaxTree.parse parses a given string and returns AST</div><div class='del'>-      nodes. [experimental]</div><div class='del'>-</div><div class='del'>-    * RubyVM::AbstractSyntaxTree.parse_file parses a given file and returns AST</div><div class='del'>-      nodes.  [experimental]</div><div class='del'>-</div><div class='del'>-    * RubyVM::AbstractSyntaxTree.of returns AST nodes of the given proc or method.</div><div class='del'>-      [experimental]</div><div class='del'>-</div><div class='del'>-[RubyVM]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * RubyVM.resolve_feature_path identifies the file that will be loaded by</div><div class='del'>-      "require(feature)". [experimental] [Feature #15230]</div><div class='del'>-</div><div class='del'>-[String]</div><div class='del'>-</div><div class='del'>-  * String#crypt is now deprecated. [Feature #14915]</div><div class='del'>-</div><div class='del'>-  [New features]</div><div class='del'>-</div><div class='del'>-    * String#split yields each substring to the block if given. [Feature #4780]</div><div class='del'>-</div><div class='del'>-[Struct]</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-    * Struct#to_h now maps keys and values to new keys and values</div><div class='del'>-      by the block if given.  [Feature #15143]</div><div class='del'>-</div><div class='del'>-  [Aliased method]</div><div class='del'>-</div><div class='del'>-    * Struct#filter is a new alias for Struct#select. [Feature #13784]</div><div class='del'>-</div><div class='del'>-[Time]</div><div class='del'>-</div><div class='del'>-  [New features]</div><div class='del'>-</div><div class='del'>-    * Time.new and Time#getlocal accept a timezone object as well as</div><div class='del'>-      an UTC offset string. Time#+, Time#- and Time#succ also preserve</div><div class='del'>-      the timezone.  [Feature #14850]</div><div class='del'>-</div><div class='del'>-[TracePoint]</div><div class='del'>-</div><div class='del'>-  [New features]</div><div class='del'>-</div><div class='del'>-    * "script_compiled" event is supported. [Feature #15287]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * TracePoint#parameters [Feature #14694]</div><div class='del'>-</div><div class='del'>-    * TracePoint#instruction_sequence [Feature #15287]</div><div class='del'>-</div><div class='del'>-    * TracePoint#eval_script [Feature #15287]</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-    * TracePoint#enable accepts new keywords "target:" and "target_line:".</div><div class='del'>-      [Feature #15289]</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-[BigDecimal]</div><div class='del'>-</div><div class='del'>-  Update to the version 1.4.0.  This version includes several compatibility</div><div class='del'>-  issues, see Compatibility issues section below for the detail.</div><div class='del'>-</div><div class='del'>-  [Modified methods]</div><div class='del'>-</div><div class='del'>-  * BigDecimal() accepts new keyword "exception:" similar to Float().</div><div class='del'>-</div><div class='del'>-[Bundler]</div><div class='del'>-</div><div class='del'>-  * Add Bundler to Standard Library. [Feature #12733]</div><div class='del'>-</div><div class='del'>-  * Use 1.17.2. It's the latest stable version.</div><div class='del'>-</div><div class='del'>-[Coverage]</div><div class='del'>-</div><div class='del'>-  A oneshot_lines mode is added.  [Feature #15022]</div><div class='del'>-  This mode checks "whether each line was executed at least once or not",</div><div class='del'>-  instead of "how many times each line was executed".</div><div class='del'>-  A hook for each line is fired at most once, and after it is fired</div><div class='del'>-  the hook flag is removed, i.e., it runs with zero overhead.</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * Add +:oneshot_lines+ keyword argument to Coverage.start.</div><div class='del'>-</div><div class='del'>-    * Add +:stop+ and +:clear+ keyword arguments to Coverage.result.</div><div class='del'>-      If +clear+ is true, it clears the counters to zero.</div><div class='del'>-      If +stop+ is true, it disables coverage measurement.</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Coverage.line_stub, which is a simple helper function that</div><div class='del'>-      creates the "stub" of line coverage from a given source code.</div><div class='del'>-</div><div class='del'>-[ERB]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * Add +:trim_mode+ and +:eoutvar+ keyword arguments to ERB.new.</div><div class='del'>-      Now non-keyword arguments other than first one are softly deprecated</div><div class='del'>-      and will be removed when Ruby 2.5 becomes EOL. [Feature #14256]</div><div class='del'>-</div><div class='del'>-    * erb command's &lt;tt&gt;-S&lt;/tt&gt; option is deprecated, which will be removed</div><div class='del'>-      in the next version.</div><div class='del'>-</div><div class='del'>-[FileUtils]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * FileUtils#cp_lr.  [Feature #4189]</div><div class='del'>-</div><div class='del'>-[Matrix]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Matrix#antisymmetric?, Matrix#skew_symmetric?</div><div class='del'>-</div><div class='del'>-    * Matrix#map!, Matrix#collect! [Feature #14151]</div><div class='del'>-</div><div class='del'>-    * Matrix#[]=</div><div class='del'>-</div><div class='del'>-    * Vector#map!, Vector#collect!</div><div class='del'>-</div><div class='del'>-    * Vector#[]=</div><div class='del'>-</div><div class='del'>-[Net]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * Add +:write_timeout+ keyword argument to Net::HTTP.new. [Feature #13396]</div><div class='del'>-</div><div class='del'>-  [New methods]</div><div class='del'>-</div><div class='del'>-    * Add Net::HTTP#write_timeout and Net::HTTP#write_timeout=.  [Feature #13396]</div><div class='del'>-</div><div class='del'>-  [New constant]</div><div class='del'>-</div><div class='del'>-    * Add Net::HTTPClientException to deprecate Net::HTTPServerException,</div><div class='del'>-      whose name is misleading.  [Bug #14688]</div><div class='del'>-</div><div class='del'>-[NKF]</div><div class='del'>-</div><div class='del'>-  * Upgrade to nkf v2.1.5</div><div class='del'>-</div><div class='del'>-[Psych]</div><div class='del'>-</div><div class='del'>-  * Upgrade to Psych 3.1.0.pre2</div><div class='del'>-</div><div class='del'>-[REXML]</div><div class='del'>-</div><div class='del'>-  [Improved some XPath implementations]</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;concat()&lt;/code&gt; function: Stringify all arguments before concatenating</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;string()&lt;/code&gt; function: Support context node</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;string()&lt;/code&gt; function: Support processing instruction node</div><div class='del'>-</div><div class='del'>-    * Support &lt;code&gt;"*:#{ELEMENT_NAME}"&lt;/code&gt; syntax in XPath 2.0</div><div class='del'>-</div><div class='del'>-  [Fixed some XPath implementations]</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"//#{ELEMENT_NAME}[#{POSITION}]"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;string()&lt;/code&gt; function: Fix &lt;code&gt;function(document)&lt;/code&gt;</div><div class='del'>-      returns nodes that are out of root elements.</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"/ #{ELEMENT_NAME} "&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"/ #{ELEMENT_NAME} [ #{PREDICATE} ]"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"/ #{AXIS}::#{ELEMENT_NAME}"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"#{N}-#{M}"&lt;/code&gt; case: One or more white spaces were required</div><div class='del'>-      before &lt;code&gt;"-"&lt;/code&gt;</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"/child::node()"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"#{FUNCTION}()/#{PATH}"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"@#{ATTRIBUTE}/parent::"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-    * &lt;code&gt;"name(#{NODE_SET})"&lt;/code&gt; case</div><div class='del'>-</div><div class='del'>-[RSS]</div><div class='del'>-</div><div class='del'>-  [New options]</div><div class='del'>-</div><div class='del'>-    * RSS::Parser.parse: Accept options as Hash. +:validate+ ,</div><div class='del'>-      +:ignore_unknown_element+ , +:parser_class+ options are available.</div><div class='del'>-</div><div class='del'>-[RubyGems]</div><div class='del'>-</div><div class='del'>-  * Upgrade to RubyGems 3.0.0.beta3</div><div class='del'>-</div><div class='del'>-[Set]</div><div class='del'>-</div><div class='del'>-  [Aliased methods]</div><div class='del'>-</div><div class='del'>-    * Set#filter! is a new alias for Set#select!.  [Feature #13784]</div><div class='del'>-</div><div class='del'>-[URI]</div><div class='del'>-</div><div class='del'>-  [New constant]</div><div class='del'>-</div><div class='del'>-    * Add URI::File to handle file URI scheme.  [Feature #14035]</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-[Dir]</div><div class='del'>-</div><div class='del'>-  * Dir.glob with &lt;code&gt;'\0'&lt;/code&gt;-separated pattern list will be deprecated,</div><div class='del'>-    and is now warned.  [Feature #14643]</div><div class='del'>-</div><div class='del'>-[File]</div><div class='del'>-</div><div class='del'>-  * File.read, File.binread, File.write, File.binwrite, File.foreach, and</div><div class='del'>-    File.readlines do not invoke external commands even if the path starts</div><div class='del'>-    with the pipe character &lt;code&gt;'|'&lt;/code&gt;. [Feature #14245]</div><div class='del'>-</div><div class='del'>-[Object]</div><div class='del'>-</div><div class='del'>-  * Object#=~ is deprecated.  [Feature #15231]</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* These standard libraries have been promoted to default gems.</div><div class='del'>-</div><div class='del'>-  * e2mmap</div><div class='del'>-  * forwardable</div><div class='del'>-  * irb</div><div class='del'>-  * logger</div><div class='del'>-  * matrix</div><div class='del'>-  * mutex_m</div><div class='del'>-  * ostruct</div><div class='del'>-  * prime</div><div class='del'>-  * rexml</div><div class='del'>-  * rss</div><div class='del'>-  * shell</div><div class='del'>-  * sync</div><div class='del'>-  * thwait</div><div class='del'>-  * tracer</div><div class='del'>-</div><div class='del'>-[BigDecimal]</div><div class='del'>-</div><div class='del'>-  * The following methods are removed.</div><div class='del'>-</div><div class='del'>-    * BigDecimal.allocate</div><div class='del'>-    * BigDecimal.ver</div><div class='del'>-</div><div class='del'>-  * Every BigDecimal object is frozen. [Feature #13984]</div><div class='del'>-</div><div class='del'>-  * BigDecimal() parses the given string like Float().</div><div class='del'>-</div><div class='del'>-  * String#to_d parses the receiver string like String#to_f.</div><div class='del'>-</div><div class='del'>-  * BigDecimal.new will be removed on its version 1.5.</div><div class='del'>-</div><div class='del'>-[Pathname]</div><div class='del'>-</div><div class='del'>-  * Pathname#read, Pathname#binread, Pathname#write, Pathname#binwrite,</div><div class='del'>-    Pathname#each_line and Pathname#readlines do not invoke external</div><div class='del'>-    commands even if the path starts with the pipe character &lt;code&gt;'|'&lt;/code&gt;.</div><div class='del'>-    This follows [Feature #14245].</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-=== Implementation improvements</div><div class='del'>-</div><div class='del'>-* Speedup Proc#call because we don't need to care about &lt;code&gt;$SAFE&lt;/code&gt;</div><div class='del'>-  any more. [Feature #14318]</div><div class='del'>-</div><div class='del'>-  With +lc_fizzbuzz+ benchmark which uses so many Proc#call we can</div><div class='del'>-  measure x1.4 improvements.  [Bug #10212]</div><div class='del'>-</div><div class='del'>-* Speedup block.call where +block+ is passed block parameter. [Feature #14330]</div><div class='del'>-</div><div class='del'>-  Ruby 2.5 improves block passing performance. [Feature #14045]</div><div class='del'>-</div><div class='del'>-  Additionally, Ruby 2.6 improves the performance of passed block calling.</div><div class='del'>-</div><div class='del'>-* Introduce an initial implementation of JIT (Just-in-time) compiler. [Feature #14235] [experimental]</div><div class='del'>-</div><div class='del'>-  * &lt;tt&gt;--jit&lt;/tt&gt; command line option is added to enable JIT. &lt;tt&gt;--jit-verbose=1&lt;/tt&gt;</div><div class='del'>-    is good for inspection.  See &lt;tt&gt;ruby --help&lt;/tt&gt; for others.</div><div class='del'>-  * To generate machine code, this JIT compiler uses C compiler used for building</div><div class='del'>-    the interpreter. Currently GCC, Clang, and Microsoft Visual C++ are supported for it.</div><div class='del'>-  * &lt;tt&gt;--disable-mjit-support&lt;/tt&gt; option is added to configure. This is added for JIT debugging,</div><div class='del'>-    but if you get an error on building a header file for JIT, you can use this option to skip</div><div class='del'>-    building it as a workaround.</div><div class='del'>-  * rb_waitpid reimplemented on Unix-like platforms to maintain</div><div class='del'>-    compatibility with processes created for JIT [Bug #14867]</div><div class='del'>-</div><div class='del'>-* VM generator script renewal; makes the generated VM more optimized. [GH-1779]</div><div class='del'>-</div><div class='del'>-* Thread cache enabled for pthreads platforms (for Thread.new and</div><div class='del'>-  Thread.start).  [Feature #14757]</div><div class='del'>-</div><div class='del'>-* timer thread is eliminated for platforms with POSIX timers [Misc #14937]</div><div class='del'>-</div><div class='del'>-* Transient Heap (theap) is supported. [Bug #14858] [Feature #14989]</div><div class='del'>-  theap is managed heap for short-living memory objects. For example,</div><div class='del'>-  making small and short-living Hash object is x2 faster. With rdoc benchmark,</div><div class='del'>-  we measured 6-7% performance improvement.</div><div class='del'>-</div><div class='del'>-* Native implementations (arm32, arm64, ppc64le, win32, win64, x86, amd64) of</div><div class='del'>-  coroutines to improve performance of Fiber significantly. [Feature #14739]</div><div class='del'>-</div><div class='del'>-=== Miscellaneous changes</div><div class='del'>-</div><div class='del'>-* On macOS, shared libraries no longer include a full version number of Ruby</div><div class='del'>-  in their names.  This eliminates the burden of each teeny upgrade on the</div><div class='del'>-  platform that users need to rebuild every extension library.</div><div class='del'>-</div><div class='del'>-  [Before]</div><div class='del'>-    * libruby.2.6.0.dylib</div><div class='del'>-    * libruby.2.6.dylib -&gt; libruby.2.6.0.dylib</div><div class='del'>-    * libruby.dylib -&gt; libruby.2.6.0.dylib</div><div class='del'>-</div><div class='del'>-  [After]</div><div class='del'>-    * libruby.2.6.dylib</div><div class='del'>-    * libruby.dylib -&gt; libruby.2.6.dylib</div><div class='del'>-</div><div class='del'>-* Extracted misc/*.el files to https://github.com/ruby/elisp</div><div class='head'>diff --git a/README b/README<br/>new file mode 100644<br/>index 0000000000..cf836415ad<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/README?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>README</a></div><div class='hunk'>@@ -0,0 +1,114 @@</div><div class='add'>+* What's Ruby</div><div class='add'>+</div><div class='add'>+Ruby is the interpreted scripting language for quick and</div><div class='add'>+easy object-oriented programming.  It has many features to</div><div class='add'>+process text files and to do system management tasks (as in</div><div class='add'>+Perl).  It is simple, straight-forward, and extensible.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* Features of Ruby</div><div class='add'>+</div><div class='add'>+  + Simple Syntax</div><div class='add'>+  + *Normal* Object-Oriented features(ex. class, method calls)</div><div class='add'>+  + *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)</div><div class='add'>+  + Operator Overloading</div><div class='add'>+  + Exception Handling</div><div class='add'>+  + Iterators and Closures</div><div class='add'>+  + Garbage Collection</div><div class='add'>+  + Dynamic Loading of Object files(on some architecture)</div><div class='add'>+  + Highly Portable(works on many UNIX machines, and on DOS,</div><div class='add'>+    Windows, Mac, BeOS etc.)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* How to get Ruby</div><div class='add'>+</div><div class='add'>+The Ruby distribution files can be found in the following FTP site:</div><div class='add'>+</div><div class='add'>+  ftp://ftp.ruby-lang.org/pub/ruby/</div><div class='add'>+</div><div class='add'>+The latest source code of this version series can be checked out</div><div class='add'>+through SVN with the following command:</div><div class='add'>+</div><div class='add'>+  $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6/</div><div class='add'>+</div><div class='add'>+The trunk of the Ruby source tree can be checked out with the</div><div class='add'>+following command:</div><div class='add'>+</div><div class='add'>+  $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby</div><div class='add'>+</div><div class='add'>+There are some other branches under development.  Try the following</div><div class='add'>+command and see the list of branches:</div><div class='add'>+</div><div class='add'>+  $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* Ruby home-page</div><div class='add'>+</div><div class='add'>+The URL of the Ruby home-page is:</div><div class='add'>+</div><div class='add'>+   http://www.ruby-lang.org/</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* Mailing list</div><div class='add'>+</div><div class='add'>+There is a mailing list to talk about Ruby.</div><div class='add'>+To subscribe this list, please send the following phrase</div><div class='add'>+</div><div class='add'>+	subscribe YourFirstName YourFamilyName</div><div class='add'>+e.g.</div><div class='add'>+        subscribe Joseph Smith</div><div class='add'>+</div><div class='add'>+in the mail body (not subject) to the address &lt;ruby-talk-ctl@ruby-lang.org&gt;.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* How to compile and install</div><div class='add'>+</div><div class='add'>+This is what you need to do to compile and install Ruby:</div><div class='add'>+</div><div class='add'>+  1. If ./configure does not exist or is older than configure.in,</div><div class='add'>+     run autoconf to (re)generate configure.</div><div class='add'>+</div><div class='add'>+  2. Run ./configure, which will generate config.h and Makefile.</div><div class='add'>+</div><div class='add'>+  3. Edit defines.h if you need.  Usually this step will not be needed.</div><div class='add'>+</div><div class='add'>+  4. Remove comment mark(#) before the module names from ext/Setup (or</div><div class='add'>+     add module names if not present), if you want to link modules</div><div class='add'>+     statically.</div><div class='add'>+</div><div class='add'>+     If you don't want to compile non static extension modules</div><div class='add'>+     (probably on architectures which does not allow dynamic loading),</div><div class='add'>+     remove comment mark from the line "#option nodynamic" in</div><div class='add'>+     ext/Setup.</div><div class='add'>+</div><div class='add'>+  5. Run make.</div><div class='add'>+</div><div class='add'>+  6. Optionally, run 'make test' to check whether the compiled Ruby</div><div class='add'>+     interpreter works well.  If you see the message "test succeeded",</div><div class='add'>+     your ruby works as it should (hopefully).</div><div class='add'>+</div><div class='add'>+  7. Run 'make install'</div><div class='add'>+</div><div class='add'>+     You may have to be a super user to install ruby.</div><div class='add'>+</div><div class='add'>+If you fail to compile ruby, please send the detailed error report with</div><div class='add'>+the error log and machine/OS type, to help others.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* Copying</div><div class='add'>+</div><div class='add'>+See the file COPYING.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* The Author</div><div class='add'>+</div><div class='add'>+Feel free to send comments and bug reports to the author.  Here is the </div><div class='add'>+author's latest mail address:</div><div class='add'>+</div><div class='add'>+  matz@netlab.jp</div><div class='add'>+</div><div class='add'>+-------------------------------------------------------</div><div class='add'>+created at: Thu Aug  3 11:57:36 JST 1995</div><div class='add'>+Local variables:</div><div class='add'>+mode: indented-text</div><div class='add'>+end:</div><div class='head'>diff --git a/README.EXT b/README.EXT<br/>index 48b8d964c4..2fc2fd606a 100644<br/>--- a/<a href='/ruby.git/tree/README.EXT?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>README.EXT</a><br/>+++ b/<a href='/ruby.git/tree/README.EXT?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>README.EXT</a></div><div class='hunk'>@@ -1 +1,1159 @@</div><div class='del'>-Moved to doc/extension.rdoc</div><div class='add'>+.\" README.EXT -  -*- Text -*- created at: Mon Aug  7 16:45:54 JST 1995</div><div class='add'>+</div><div class='add'>+This document explains how to make extension libraries for Ruby.</div><div class='add'>+</div><div class='add'>+1. Basic knowledge</div><div class='add'>+</div><div class='add'>+In C, variables have types and data do not have types.  In contrast,</div><div class='add'>+Ruby variables do not have a static type, and data themselves have</div><div class='add'>+types, so data will need to be converted between the languages.</div><div class='add'>+</div><div class='add'>+Data in Ruby are represented by the C type `VALUE'.  Each VALUE data</div><div class='add'>+has its data-type.</div><div class='add'>+</div><div class='add'>+To retrieve C data from a VALUE, you need to:</div><div class='add'>+</div><div class='add'>+ (1) Identify the VALUE's data type</div><div class='add'>+ (2) Convert the VALUE into C data</div><div class='add'>+</div><div class='add'>+Converting to the wrong data type may cause serious problems.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+1.1 Data-types</div><div class='add'>+</div><div class='add'>+The Ruby interpreter has the following data types:</div><div class='add'>+</div><div class='add'>+	T_NIL		nil</div><div class='add'>+	T_OBJECT	ordinary object</div><div class='add'>+	T_CLASS		class</div><div class='add'>+	T_MODULE	module</div><div class='add'>+	T_FLOAT		floating point number</div><div class='add'>+	T_STRING	string</div><div class='add'>+	T_REGEXP	regular expression</div><div class='add'>+	T_ARRAY		array</div><div class='add'>+	T_FIXNUM	Fixnum(31bit integer)</div><div class='add'>+	T_HASH		associative array</div><div class='add'>+	T_STRUCT	(Ruby) structure</div><div class='add'>+	T_BIGNUM	multi precision integer</div><div class='add'>+	T_FILE		IO</div><div class='add'>+	T_TRUE		true</div><div class='add'>+	T_FALSE		false</div><div class='add'>+	T_DATA		data</div><div class='add'>+	T_SYMBOL        symbol</div><div class='add'>+</div><div class='add'>+In addition, there are several other types used internally:</div><div class='add'>+</div><div class='add'>+	T_ICLASS</div><div class='add'>+	T_MATCH</div><div class='add'>+	T_UNDEF</div><div class='add'>+	T_VARMAP</div><div class='add'>+	T_SCOPE</div><div class='add'>+	T_NODE</div><div class='add'>+</div><div class='add'>+Most of the types are represented by C structures.</div><div class='add'>+</div><div class='add'>+1.2 Check Data Type of the VALUE</div><div class='add'>+</div><div class='add'>+The macro TYPE() defined in ruby.h shows the data type of the VALUE.</div><div class='add'>+TYPE() returns the constant number T_XXXX described above.  To handle</div><div class='add'>+data types, your code will look something like this:</div><div class='add'>+</div><div class='add'>+  switch (TYPE(obj)) {</div><div class='add'>+    case T_FIXNUM:</div><div class='add'>+      /* process Fixnum */</div><div class='add'>+      break;</div><div class='add'>+    case T_STRING:</div><div class='add'>+      /* process String */</div><div class='add'>+      break;</div><div class='add'>+    case T_ARRAY:</div><div class='add'>+      /* process Array */</div><div class='add'>+      break;</div><div class='add'>+    default:</div><div class='add'>+      /* raise exception */</div><div class='add'>+      rb_raise(rb_eTypeError, "not valid value");</div><div class='add'>+      break;</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+There is the data-type check function</div><div class='add'>+</div><div class='add'>+  void Check_Type(VALUE value, int type)</div><div class='add'>+</div><div class='add'>+which raises an exception if the VALUE does not have the type specified.</div><div class='add'>+</div><div class='add'>+There are also faster check macros for fixnums and nil.</div><div class='add'>+</div><div class='add'>+  FIXNUM_P(obj)</div><div class='add'>+  NIL_P(obj)</div><div class='add'>+</div><div class='add'>+1.3 Convert VALUE into C data</div><div class='add'>+</div><div class='add'>+The data for type T_NIL, T_FALSE, T_TRUE are nil, true, false</div><div class='add'>+respectively.  They are singletons for the data type.</div><div class='add'>+</div><div class='add'>+The T_FIXNUM data is a 31bit length fixed integer (63bit length on</div><div class='add'>+some machines), which can be converted to a C integer by using the</div><div class='add'>+FIX2INT() macro.  There is also NUM2INT() which converts any Ruby</div><div class='add'>+numbers into C integers.  The NUM2INT() macro includes a type check, so</div><div class='add'>+an exception will be raised if the conversion failed.  NUM2DBL() can</div><div class='add'>+be used to retrieve the double float value in the same way.</div><div class='add'>+</div><div class='add'>+In version 1.7 or later it is recommended that you use the new macros</div><div class='add'>+StringValue() and StringValuePtr() to get a char* from a VALUE.</div><div class='add'>+StringValue(var) replaces var's value with the result of "var.to_str()".</div><div class='add'>+StringValuePtr(var) does same replacement and returns char*</div><div class='add'>+representation of var.  These macros will skip the replacement if var is</div><div class='add'>+a String.  Notice that the macros take only the lvalue as their</div><div class='add'>+argument, to change the value of var in place.</div><div class='add'>+</div><div class='add'>+In version 1.6 or earlier, STR2CSTR() was used to do the same thing</div><div class='add'>+but now it is deprecated in version 1.7, because STR2CSTR() has a risk</div><div class='add'>+of a dangling pointer problem in the to_str() impliclit conversion.</div><div class='add'>+</div><div class='add'>+Other data types have corresponding C structures, e.g. struct RArray</div><div class='add'>+for T_ARRAY etc. The VALUE of the type which has the corresponding structure</div><div class='add'>+can be cast to retrieve the pointer to the struct.  The casting macro</div><div class='add'>+will be of the form RXXXX for each data type; for instance, RARRAY(obj). </div><div class='add'>+See "ruby.h".</div><div class='add'>+</div><div class='add'>+For example, `RSTRING(str)-&gt;len' is the way to get the size of the</div><div class='add'>+Ruby String object.  The allocated region can be accessed by</div><div class='add'>+`RSTRING(str)-&gt;ptr'.  For arrays, use `RARRAY(ary)-&gt;len' and</div><div class='add'>+`RARRAY(ary)-&gt;ptr' respectively.</div><div class='add'>+</div><div class='add'>+Notice: Do not change the value of the structure directly, unless you</div><div class='add'>+are responsible for the result.  This ends up being the cause of interesting</div><div class='add'>+bugs.</div><div class='add'>+</div><div class='add'>+1.4 Convert C data into VALUE</div><div class='add'>+</div><div class='add'>+To convert C data to Ruby values:</div><div class='add'>+</div><div class='add'>+  * FIXNUM</div><div class='add'>+</div><div class='add'>+    left shift 1 bit, and turn on LSB.</div><div class='add'>+</div><div class='add'>+  * Other pointer values</div><div class='add'>+</div><div class='add'>+    cast to VALUE.</div><div class='add'>+</div><div class='add'>+You can determine whether a VALUE is pointer or not by checking its LSB.  </div><div class='add'>+</div><div class='add'>+Notice Ruby does not allow arbitrary pointer values to be a VALUE.  They</div><div class='add'>+should be pointers to the structures which Ruby knows about.  The known</div><div class='add'>+structures are defined in &lt;ruby.h&gt;.</div><div class='add'>+</div><div class='add'>+To convert C numbers to Ruby values, use these macros.</div><div class='add'>+</div><div class='add'>+  INT2FIX()	for integers within 31bits.</div><div class='add'>+  INT2NUM()	for arbitrary sized integer.</div><div class='add'>+</div><div class='add'>+INT2NUM() converts an integer into a Bignum if it is out of the FIXNUM</div><div class='add'>+range, but is a bit slower.</div><div class='add'>+</div><div class='add'>+1.5 Manipulating Ruby data</div><div class='add'>+</div><div class='add'>+As I already mentioned, it is not recommended to modify an object's internal</div><div class='add'>+structure.  To manipulate objects, use the functions supplied by the Ruby</div><div class='add'>+interpreter. Some (not all) of the useful functions are listed below:</div><div class='add'>+</div><div class='add'>+ String functions</div><div class='add'>+</div><div class='add'>+  rb_str_new(const char *ptr, long len)</div><div class='add'>+</div><div class='add'>+    Creates a new Ruby string.</div><div class='add'>+</div><div class='add'>+  rb_str_new2(const char *ptr)</div><div class='add'>+</div><div class='add'>+    Creates a new Ruby string from a C string.  This is equivalent to</div><div class='add'>+    rb_str_new(ptr, strlen(ptr)).</div><div class='add'>+</div><div class='add'>+  rb_tainted_str_new(const char *ptr, long len)</div><div class='add'>+</div><div class='add'>+    Creates a new tainted Ruby string.  Strings from external data</div><div class='add'>+    sources should be tainted.</div><div class='add'>+</div><div class='add'>+  rb_tainted_str_new2(const char *ptr)</div><div class='add'>+</div><div class='add'>+    Creates a new tainted Ruby string from a C string.</div><div class='add'>+</div><div class='add'>+  rb_str_cat(VALUE str, const char *ptr, long len)</div><div class='add'>+</div><div class='add'>+    Appends len bytes of data from ptr to the Ruby string.</div><div class='add'>+</div><div class='add'>+ Array functions</div><div class='add'>+</div><div class='add'>+  rb_ary_new()</div><div class='add'>+</div><div class='add'>+    Creates an array with no elements.</div><div class='add'>+</div><div class='add'>+  rb_ary_new2(long len)</div><div class='add'>+</div><div class='add'>+    Creates an array with no elements, allocating internal buffer</div><div class='add'>+    for len elements.</div><div class='add'>+</div><div class='add'>+  rb_ary_new3(long n, ...)</div><div class='add'>+</div><div class='add'>+    Creates an n-element array from the arguments.</div><div class='add'>+</div><div class='add'>+  rb_ary_new4(long n, VALUE *elts)</div><div class='add'>+</div><div class='add'>+    Creates an n-element array from a C array.</div><div class='add'>+</div><div class='add'>+  rb_ary_push(VALUE ary, VALUE val)</div><div class='add'>+  rb_ary_pop(VALUE ary)</div><div class='add'>+  rb_ary_shift(VALUE ary)</div><div class='add'>+  rb_ary_unshift(VALUE ary, VALUE val)</div><div class='add'>+</div><div class='add'>+    Array operations.  The first argument to each functions must be an </div><div class='add'>+    array.  They may dump core if other types are given.</div><div class='add'>+</div><div class='add'>+2. Extending Ruby with C</div><div class='add'>+</div><div class='add'>+2.1 Addding new features to Ruby</div><div class='add'>+</div><div class='add'>+You can add new features (classes, methods, etc.) to the Ruby</div><div class='add'>+interpreter.  Ruby provides APIs for defining the following things:</div><div class='add'>+</div><div class='add'>+ * Classes, Modules</div><div class='add'>+ * Methods, Singleton Methods</div><div class='add'>+ * Constants</div><div class='add'>+</div><div class='add'>+2.1.1 Class/module definition</div><div class='add'>+</div><div class='add'>+To define a class or module, use the functions below:</div><div class='add'>+</div><div class='add'>+  VALUE rb_define_class(const char *name, VALUE super)</div><div class='add'>+  VALUE rb_define_module(const char *name)</div><div class='add'>+</div><div class='add'>+These functions return the newly created class or module.  You may</div><div class='add'>+want to save this reference into a variable to use later.</div><div class='add'>+</div><div class='add'>+To define nested classes or modules, use the functions below:</div><div class='add'>+</div><div class='add'>+  VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class='add'>+  VALUE rb_define_module_under(VALUE outer, const char *name)</div><div class='add'>+</div><div class='add'>+2.1.2 Method/singleton method definition</div><div class='add'>+</div><div class='add'>+To define methods or singleton methods, use these functions:</div><div class='add'>+</div><div class='add'>+  void rb_define_method(VALUE klass, const char *name, </div><div class='add'>+		        VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+  void rb_define_singleton_method(VALUE object, const char *name, </div><div class='add'>+			          VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+The `argc' represents the number of the arguments to the C function,</div><div class='add'>+which must be less than 17.  But I doubt you'll need that many.</div><div class='add'>+</div><div class='add'>+If `argc' is negative, it specifies the calling sequence, not number of</div><div class='add'>+the arguments.  </div><div class='add'>+</div><div class='add'>+If argc is -1, the function will be called as:</div><div class='add'>+</div><div class='add'>+  VALUE func(int argc, VALUE *argv, VALUE obj)</div><div class='add'>+</div><div class='add'>+where argc is the actual number of arguments, argv is the C array of</div><div class='add'>+the arguments, and obj is the receiver.</div><div class='add'>+</div><div class='add'>+If argc is -2, the arguments are passed in a Ruby array. The function</div><div class='add'>+will be called like:</div><div class='add'>+</div><div class='add'>+  VALUE func(VALUE obj, VALUE args)</div><div class='add'>+</div><div class='add'>+where obj is the receiver, and args is the Ruby array containing</div><div class='add'>+actual arguments.</div><div class='add'>+</div><div class='add'>+There are two more functions to define methods.  One is to define</div><div class='add'>+private methods:</div><div class='add'>+</div><div class='add'>+  void rb_define_private_method(VALUE klass, const char *name, </div><div class='add'>+			        VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+The other is to define module functions, which are private AND singleton</div><div class='add'>+methods of the module.  For example, sqrt is the module function</div><div class='add'>+defined in Math module.  It can be called in the following way:</div><div class='add'>+</div><div class='add'>+  Math.sqrt(4)</div><div class='add'>+</div><div class='add'>+or</div><div class='add'>+</div><div class='add'>+  include Math</div><div class='add'>+  sqrt(4)</div><div class='add'>+</div><div class='add'>+To define module functions, use:</div><div class='add'>+</div><div class='add'>+  void rb_define_module_function(VALUE module, const char *name, </div><div class='add'>+				 VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+Oh, in addition, function-like methods, which are private methods defined</div><div class='add'>+in the Kernel module, can be defined using:</div><div class='add'>+</div><div class='add'>+  void rb_define_global_function(const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+To define an alias for the method,</div><div class='add'>+</div><div class='add'>+  void rb_define_alias(VALUE module, const char* new, const char* old);</div><div class='add'>+</div><div class='add'>+To define and undefine the `allocate' class method,</div><div class='add'>+</div><div class='add'>+  void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));</div><div class='add'>+  void rb_undef_alloc_func(VALUE klass);</div><div class='add'>+</div><div class='add'>+func have to take the klass as the argument and return a newly</div><div class='add'>+allocated instance.  This instance should be empty as possible,</div><div class='add'>+without any expensive (including external) resources.</div><div class='add'>+</div><div class='add'>+2.1.3 Constant definition</div><div class='add'>+</div><div class='add'>+We have 2 functions to define constants:</div><div class='add'>+</div><div class='add'>+  void rb_define_const(VALUE klass, const char *name, VALUE val)</div><div class='add'>+  void rb_define_global_const(const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+The former is to define a constant under specified class/module.  The</div><div class='add'>+latter is to define a global constant.</div><div class='add'>+</div><div class='add'>+2.2 Use Ruby features from C</div><div class='add'>+</div><div class='add'>+There are several ways to invoke Ruby's features from C code.</div><div class='add'>+</div><div class='add'>+2.2.1 Evaluate Ruby Programs in a String</div><div class='add'>+</div><div class='add'>+The easiest way to use Ruby's functionality from a C program is to</div><div class='add'>+evaluate the string as Ruby program.  This function will do the job:</div><div class='add'>+</div><div class='add'>+  VALUE rb_eval_string(const char *str)</div><div class='add'>+</div><div class='add'>+Evaluation is done under the current context, thus current local variables</div><div class='add'>+of the innermost method (which is defined by Ruby) can be accessed.</div><div class='add'>+</div><div class='add'>+2.2.2 ID or Symbol</div><div class='add'>+</div><div class='add'>+You can invoke methods directly, without parsing the string.  First I need</div><div class='add'>+to explain about ID.  ID is the integer number to represent Ruby's</div><div class='add'>+identifiers such as variable names.  The Ruby data type corresponding to ID</div><div class='add'>+is Symbol.  It can be accessed from Ruby in the form:</div><div class='add'>+</div><div class='add'>+ :Identifier</div><div class='add'>+</div><div class='add'>+You can get the ID value from a string within C code by using</div><div class='add'>+</div><div class='add'>+  rb_intern(const char *name)</div><div class='add'>+</div><div class='add'>+You can retrieve ID from Ruby object (Symbol or String) given as an</div><div class='add'>+argument by using</div><div class='add'>+</div><div class='add'>+  rb_to_id(VALUE symbol)</div><div class='add'>+</div><div class='add'>+You can convert C ID to Ruby Symbol by using</div><div class='add'>+</div><div class='add'>+  VALUE ID2SYM(ID id)</div><div class='add'>+</div><div class='add'>+and to convert Ruby Symbol object to ID, use</div><div class='add'>+</div><div class='add'>+  ID SYM2ID(VALUE symbol)</div><div class='add'>+</div><div class='add'>+2.2.3 Invoke Ruby method from C</div><div class='add'>+</div><div class='add'>+To invoke methods directly, you can use the function below</div><div class='add'>+</div><div class='add'>+  VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)</div><div class='add'>+</div><div class='add'>+This function invokes a method on the recv, with the method name</div><div class='add'>+specified by the symbol mid.</div><div class='add'>+</div><div class='add'>+2.2.4 Accessing the variables and constants</div><div class='add'>+</div><div class='add'>+You can access class variables and instance variables using access</div><div class='add'>+functions.  Also, global variables can be shared between both environments.</div><div class='add'>+There's no way to access Ruby's local variables.</div><div class='add'>+</div><div class='add'>+The functions to access/modify instance variables are below:</div><div class='add'>+</div><div class='add'>+  VALUE rb_ivar_get(VALUE obj, ID id)</div><div class='add'>+  VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)</div><div class='add'>+</div><div class='add'>+id must be the symbol, which can be retrieved by rb_intern().</div><div class='add'>+</div><div class='add'>+To access the constants of the class/module:</div><div class='add'>+</div><div class='add'>+  VALUE rb_const_get(VALUE obj, ID id)</div><div class='add'>+</div><div class='add'>+See 2.1.3 for defining new constant.</div><div class='add'>+</div><div class='add'>+3. Information sharing between Ruby and C</div><div class='add'>+</div><div class='add'>+3.1 Ruby constants that C can be accessed from C</div><div class='add'>+</div><div class='add'>+The following Ruby constants can be referred from C.</div><div class='add'>+</div><div class='add'>+  Qtrue</div><div class='add'>+  Qfalse</div><div class='add'>+</div><div class='add'>+Boolean values.  Qfalse is false in C also (i.e. 0).</div><div class='add'>+</div><div class='add'>+  Qnil</div><div class='add'>+</div><div class='add'>+Ruby nil in C scope.</div><div class='add'>+</div><div class='add'>+3.2 Global variables shared between C and Ruby</div><div class='add'>+</div><div class='add'>+Information can be shared between the two environments using shared global</div><div class='add'>+variables.  To define them, you can use functions listed below:</div><div class='add'>+</div><div class='add'>+  void rb_define_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+This function defines the variable which is shared by both environments.</div><div class='add'>+The value of the global variable pointed to by `var' can be accessed</div><div class='add'>+through Ruby's global variable named `name'.</div><div class='add'>+</div><div class='add'>+You can define read-only (from Ruby, of course) variables using the</div><div class='add'>+function below.</div><div class='add'>+</div><div class='add'>+  void rb_define_readonly_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+You can defined hooked variables.  The accessor functions (getter and</div><div class='add'>+setter) are called on access to the hooked variables.</div><div class='add'>+</div><div class='add'>+  void rb_define_hooked_variable(constchar *name, VALUE *var,</div><div class='add'>+				 VALUE (*getter)(), void (*setter)())</div><div class='add'>+</div><div class='add'>+If you need to supply either setter or getter, just supply 0 for the</div><div class='add'>+hook you don't need.  If both hooks are 0, rb_define_hooked_variable()</div><div class='add'>+works just like rb_define_variable().</div><div class='add'>+</div><div class='add'>+  void rb_define_virtual_variable(const char *name,</div><div class='add'>+				  VALUE (*getter)(), void (*setter)())</div><div class='add'>+</div><div class='add'>+This function defines a Ruby global variable without a corresponding C</div><div class='add'>+variable.  The value of the variable will be set/get only by hooks.</div><div class='add'>+</div><div class='add'>+The prototypes of the getter and setter functions are as follows:</div><div class='add'>+</div><div class='add'>+  (*getter)(ID id, void *data, struct global_entry* entry);</div><div class='add'>+  (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);</div><div class='add'>+</div><div class='add'>+3.3 Encapsulate C data into a Ruby object</div><div class='add'>+</div><div class='add'>+To wrap and objectify a C pointer as a Ruby object (so called</div><div class='add'>+DATA), use Data_Wrap_Struct().</div><div class='add'>+</div><div class='add'>+  Data_Wrap_Struct(klass, mark, free, ptr)</div><div class='add'>+</div><div class='add'>+Data_Wrap_Struct() returns a created DATA object.  The klass argument</div><div class='add'>+is the class for the DATA object.  The mark argument is the function</div><div class='add'>+to mark Ruby objects pointed by this data.  The free argument is the</div><div class='add'>+function to free the pointer allocation.  If this is -1, the pointer</div><div class='add'>+will be just freed.  The functions mark and free will be called from</div><div class='add'>+garbage collector.</div><div class='add'>+</div><div class='add'>+You can allocate and wrap the structure in one step.</div><div class='add'>+</div><div class='add'>+  Data_Make_Struct(klass, type, mark, free, sval)</div><div class='add'>+</div><div class='add'>+This macro returns an allocated Data object, wrapping the pointer to</div><div class='add'>+the structure, which is also allocated.  This macro works like:</div><div class='add'>+</div><div class='add'>+  (sval = ALLOC(type), Data_Wrap_Struct(klass, mark, free, sval))</div><div class='add'>+</div><div class='add'>+Arguments klass, mark, and free work like their counterparts in</div><div class='add'>+Data_Wrap_Struct().  A pointer to the allocated structure will be</div><div class='add'>+assigned to sval, which should be a pointer of the type specified.</div><div class='add'>+</div><div class='add'>+To retrieve the C pointer from the Data object, use the macro</div><div class='add'>+Data_Get_Struct().</div><div class='add'>+</div><div class='add'>+  Data_Get_Struct(obj, type, sval)</div><div class='add'>+</div><div class='add'>+A pointer to the structure will be assigned to the variable sval.</div><div class='add'>+</div><div class='add'>+See the example below for details. </div><div class='add'>+</div><div class='add'>+4. Example - Creating dbm extension</div><div class='add'>+</div><div class='add'>+OK, here's the example of making an extension library.  This is the</div><div class='add'>+extension to access DBMs.  The full source is included in the ext/</div><div class='add'>+directory in the Ruby's source tree.</div><div class='add'>+</div><div class='add'>+(1) make the directory</div><div class='add'>+</div><div class='add'>+  % mkdir ext/dbm</div><div class='add'>+</div><div class='add'>+Make a directory for the extension library under ext directory.</div><div class='add'>+</div><div class='add'>+(2) design the library</div><div class='add'>+</div><div class='add'>+You need to design the library features, before making it.</div><div class='add'>+</div><div class='add'>+(3) write C code.</div><div class='add'>+</div><div class='add'>+You need to write C code for your extension library.  If your library</div><div class='add'>+has only one source file, choosing ``LIBRARY.c'' as a file name is</div><div class='add'>+preferred.  On the other hand, in case your library has multiple source</div><div class='add'>+files, avoid choosing ``LIBRARY.c'' for a file name.  It may conflict</div><div class='add'>+with an intermediate file ``LIBRARY.o'' on some platforms.</div><div class='add'>+</div><div class='add'>+Ruby will execute the initializing function named ``Init_LIBRARY'' in</div><div class='add'>+the library.  For example, ``Init_dbm()'' will be executed when loading</div><div class='add'>+the library.</div><div class='add'>+</div><div class='add'>+Here's the example of an initializing function.</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+Init_dbm()</div><div class='add'>+{</div><div class='add'>+    /* define DBM class */</div><div class='add'>+    cDBM = rb_define_class("DBM", rb_cObject);</div><div class='add'>+    /* DBM includes Enumerate module */</div><div class='add'>+    rb_include_module(cDBM, rb_mEnumerable);</div><div class='add'>+</div><div class='add'>+    /* DBM has class method open(): arguments are received as C array */</div><div class='add'>+    rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);</div><div class='add'>+</div><div class='add'>+    /* DBM instance method close(): no args */</div><div class='add'>+    rb_define_method(cDBM, "close", fdbm_close, 0);</div><div class='add'>+    /* DBM instance method []: 1 argument */</div><div class='add'>+    rb_define_method(cDBM, "[]", fdbm_fetch, 1);</div><div class='add'>+		:</div><div class='add'>+</div><div class='add'>+    /* ID for a instance variable to store DBM data */</div><div class='add'>+    id_dbm = rb_intern("dbm");</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+The dbm extension wraps the dbm struct in the C environment using </div><div class='add'>+Data_Make_Struct.</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+struct dbmdata {</div><div class='add'>+    int  di_size;</div><div class='add'>+    DBM *di_dbm;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+obj = Data_Make_Struct(klass, struct dbmdata, 0, free_dbm, dbmp);</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+This code wraps the dbmdata structure into a Ruby object.  We avoid wrapping</div><div class='add'>+DBM* directly, because we want to cache size information.</div><div class='add'>+</div><div class='add'>+To retrieve the dbmdata structure from a Ruby object, we define the</div><div class='add'>+following macro:</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+#define GetDBM(obj, dbmp) {\</div><div class='add'>+    Data_Get_Struct(obj, struct dbmdata, dbmp);\</div><div class='add'>+    if (dbmp-&gt;di_dbm == 0) closed_dbm();\</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+This sort of complicated macro does the retrieving and close checking for</div><div class='add'>+the DBM.</div><div class='add'>+</div><div class='add'>+There are three kinds of way to receive method arguments.  First,</div><div class='add'>+methods with a fixed number of arguments receive arguments like this:</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+static VALUE</div><div class='add'>+fdbm_delete(obj, keystr)</div><div class='add'>+    VALUE obj, keystr;</div><div class='add'>+{</div><div class='add'>+	:</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+The first argument of the C function is the self, the rest are the</div><div class='add'>+arguments to the method.</div><div class='add'>+</div><div class='add'>+Second, methods with an arbitrary number of arguments receive</div><div class='add'>+arguments like this:</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+static VALUE</div><div class='add'>+fdbm_s_open(argc, argv, klass)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE klass;</div><div class='add'>+{</div><div class='add'>+	:</div><div class='add'>+    if (rb_scan_args(argc, argv, "11", &amp;file, &amp;vmode) == 1) {</div><div class='add'>+	mode = 0666;		/* default value */</div><div class='add'>+    }</div><div class='add'>+	:</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+The first argument is the number of method arguments, the second</div><div class='add'>+argument is the C array of the method arguments, and the third</div><div class='add'>+argument is the receiver of the method.</div><div class='add'>+</div><div class='add'>+You can use the function rb_scan_args() to check and retrieve the</div><div class='add'>+arguments.  For example, "11" means that the method requires at least one</div><div class='add'>+argument, and at most receives two arguments.</div><div class='add'>+</div><div class='add'>+Methods with an arbitrary number of arguments can receive arguments</div><div class='add'>+by Ruby's array, like this:</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+static VALUE</div><div class='add'>+fdbm_indexes(obj, args)</div><div class='add'>+    VALUE obj, args;</div><div class='add'>+{</div><div class='add'>+	:</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+The first argument is the receiver, the second one is the Ruby array</div><div class='add'>+which contains the arguments to the method.</div><div class='add'>+</div><div class='add'>+** Notice</div><div class='add'>+</div><div class='add'>+GC should know about global variables which refer to Ruby's objects, but</div><div class='add'>+are not exported to the Ruby world.  You need to protect them by</div><div class='add'>+</div><div class='add'>+  void rb_global_variable(VALUE *var)</div><div class='add'>+</div><div class='add'>+(4) prepare extconf.rb</div><div class='add'>+</div><div class='add'>+If the file named extconf.rb exists, it will be executed to generate</div><div class='add'>+Makefile.</div><div class='add'>+</div><div class='add'>+extconf.rb is the file for checking compilation conditions etc.  You</div><div class='add'>+need to put</div><div class='add'>+</div><div class='add'>+  require 'mkmf'</div><div class='add'>+</div><div class='add'>+at the top of the file.  You can use the functions below to check</div><div class='add'>+various conditions.</div><div class='add'>+</div><div class='add'>+  have_library(lib, func): check whether library containing function exists.</div><div class='add'>+  have_func(func, header): check whether function exists</div><div class='add'>+  have_header(header): check whether header file exists</div><div class='add'>+  create_makefile(target): generate Makefile</div><div class='add'>+</div><div class='add'>+The value of the variables below will affect the Makefile.</div><div class='add'>+</div><div class='add'>+  $CFLAGS: included in CFLAGS make variable (such as -O)</div><div class='add'>+  $CPPFLAGS: included in CPPFLAGS make variable (such as -I, -D)</div><div class='add'>+  $LDFLAGS: included in LDFLAGS make variable (such as -L)</div><div class='add'>+  $objs: list of object file names</div><div class='add'>+</div><div class='add'>+Normally, the object files list is automatically generated by searching</div><div class='add'>+source files, but you must define them explicitly if any sources will</div><div class='add'>+be generated while building.</div><div class='add'>+</div><div class='add'>+If a compilation condition is not fulfilled, you should not call</div><div class='add'>+``create_makefile''.  The Makefile will not be generated, compilation will</div><div class='add'>+not be done.</div><div class='add'>+</div><div class='add'>+(5) prepare depend (optional)</div><div class='add'>+</div><div class='add'>+If the file named depend exists, Makefile will include that file to</div><div class='add'>+check dependencies.  You can make this file by invoking</div><div class='add'>+</div><div class='add'>+  % gcc -MM *.c &gt; depend</div><div class='add'>+</div><div class='add'>+It's harmless.  Prepare it.</div><div class='add'>+</div><div class='add'>+(6) generate Makefile</div><div class='add'>+</div><div class='add'>+Try generating the Makefile by:</div><div class='add'>+</div><div class='add'>+  ruby extconf.rb</div><div class='add'>+</div><div class='add'>+You don't need this step if you put the extension library under the ext</div><div class='add'>+directory of the ruby source tree.  In that case, compilation of the</div><div class='add'>+interpreter will do this step for you.</div><div class='add'>+</div><div class='add'>+(7) make</div><div class='add'>+</div><div class='add'>+Type</div><div class='add'>+</div><div class='add'>+  make</div><div class='add'>+</div><div class='add'>+to compile your extension.  You don't need this step either if you have</div><div class='add'>+put the extension library under the ext directory of the ruby source tree.</div><div class='add'>+</div><div class='add'>+(8) debug</div><div class='add'>+</div><div class='add'>+You may need to rb_debug the extension.  Extensions can be linked</div><div class='add'>+statically by adding the directory name in the ext/Setup file so that</div><div class='add'>+you can inspect the extension with the debugger.</div><div class='add'>+</div><div class='add'>+(9) done, now you have the extension library</div><div class='add'>+</div><div class='add'>+You can do anything you want with your library.  The author of Ruby</div><div class='add'>+will not claim any restrictions on your code depending on the Ruby API.</div><div class='add'>+Feel free to use, modify, distribute or sell your program.</div><div class='add'>+</div><div class='add'>+Appendix A. Ruby source files overview</div><div class='add'>+</div><div class='add'>+ruby language core</div><div class='add'>+</div><div class='add'>+  class.c</div><div class='add'>+  error.c</div><div class='add'>+  eval.c</div><div class='add'>+  gc.c</div><div class='add'>+  object.c</div><div class='add'>+  parse.y</div><div class='add'>+  variable.c</div><div class='add'>+</div><div class='add'>+utility functions</div><div class='add'>+</div><div class='add'>+  dln.c</div><div class='add'>+  regex.c</div><div class='add'>+  st.c</div><div class='add'>+  util.c</div><div class='add'>+</div><div class='add'>+ruby interpreter implementation</div><div class='add'>+</div><div class='add'>+  dmyext.c</div><div class='add'>+  inits.c</div><div class='add'>+  main.c</div><div class='add'>+  ruby.c</div><div class='add'>+  version.c</div><div class='add'>+</div><div class='add'>+class library</div><div class='add'>+</div><div class='add'>+  array.c</div><div class='add'>+  bignum.c</div><div class='add'>+  compar.c</div><div class='add'>+  dir.c</div><div class='add'>+  enum.c</div><div class='add'>+  file.c</div><div class='add'>+  hash.c</div><div class='add'>+  io.c</div><div class='add'>+  marshal.c</div><div class='add'>+  math.c</div><div class='add'>+  numeric.c</div><div class='add'>+  pack.c</div><div class='add'>+  prec.c</div><div class='add'>+  process.c</div><div class='add'>+  random.c</div><div class='add'>+  range.c</div><div class='add'>+  re.c</div><div class='add'>+  signal.c</div><div class='add'>+  sprintf.c</div><div class='add'>+  string.c</div><div class='add'>+  struct.c</div><div class='add'>+  time.c</div><div class='add'>+</div><div class='add'>+Appendix B. Ruby extension API reference</div><div class='add'>+</div><div class='add'>+** Types</div><div class='add'>+</div><div class='add'>+ VALUE</div><div class='add'>+</div><div class='add'>+The type for the Ruby object.  Actual structures are defined in ruby.h,</div><div class='add'>+such as struct RString, etc.  To refer the values in structures, use</div><div class='add'>+casting macros like RSTRING(obj).</div><div class='add'>+</div><div class='add'>+** Variables and constants</div><div class='add'>+</div><div class='add'>+ Qnil</div><div class='add'>+</div><div class='add'>+const: nil object</div><div class='add'>+</div><div class='add'>+ Qtrue</div><div class='add'>+</div><div class='add'>+const: true object(default true value)</div><div class='add'>+</div><div class='add'>+ Qfalse</div><div class='add'>+</div><div class='add'>+const: false object</div><div class='add'>+</div><div class='add'>+** C pointer wrapping</div><div class='add'>+</div><div class='add'>+ Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)</div><div class='add'>+</div><div class='add'>+Wrap a C pointer into a Ruby object.  If object has references to other</div><div class='add'>+Ruby objects, they should be marked by using the mark function during</div><div class='add'>+the GC process.  Otherwise, mark should be 0.  When this object is no</div><div class='add'>+longer referred by anywhere, the pointer will be discarded by free</div><div class='add'>+function.</div><div class='add'>+</div><div class='add'>+ Data_Make_Struct(klass, type, mark, free, sval)</div><div class='add'>+</div><div class='add'>+This macro allocates memory using malloc(), assigns it to the variable</div><div class='add'>+sval, and returns the DATA encapsulating the pointer to memory region.</div><div class='add'>+</div><div class='add'>+ Data_Get_Struct(data, type, sval)</div><div class='add'>+</div><div class='add'>+This macro retrieves the pointer value from DATA, and assigns it to</div><div class='add'>+the variable sval. </div><div class='add'>+</div><div class='add'>+** Checking data types</div><div class='add'>+</div><div class='add'>+TYPE(value)</div><div class='add'>+FIXNUM_P(value)</div><div class='add'>+NIL_P(value)</div><div class='add'>+void Check_Type(VALUE value, int type)</div><div class='add'>+void Check_SafeStr(VALUE value)</div><div class='add'>+</div><div class='add'>+** Data type conversion</div><div class='add'>+</div><div class='add'>+FIX2INT(value)</div><div class='add'>+INT2FIX(i)</div><div class='add'>+NUM2INT(value)</div><div class='add'>+INT2NUM(i)</div><div class='add'>+NUM2DBL(value)</div><div class='add'>+rb_float_new(f)</div><div class='add'>+StringValue(value)</div><div class='add'>+StringValuePtr(value)</div><div class='add'>+StringValueCStr(value)</div><div class='add'>+rb_str_new2(s)</div><div class='add'>+</div><div class='add'>+** defining class/module</div><div class='add'>+</div><div class='add'>+ VALUE rb_define_class(const char *name, VALUE super)</div><div class='add'>+</div><div class='add'>+Defines a new Ruby class as a subclass of super.</div><div class='add'>+</div><div class='add'>+ VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)</div><div class='add'>+</div><div class='add'>+Creates a new Ruby class as a subclass of super, under the module's</div><div class='add'>+namespace.</div><div class='add'>+</div><div class='add'>+ VALUE rb_define_module(const char *name)</div><div class='add'>+</div><div class='add'>+Defines a new Ruby module.</div><div class='add'>+</div><div class='add'>+ VALUE rb_define_module_under(VALUE module, const char *name)</div><div class='add'>+</div><div class='add'>+Defines a new Ruby module under the module's namespace.</div><div class='add'>+</div><div class='add'>+ void rb_include_module(VALUE klass, VALUE module)</div><div class='add'>+</div><div class='add'>+Includes module into class.  If class already includes it, just</div><div class='add'>+ignored.</div><div class='add'>+</div><div class='add'>+ void rb_extend_object(VALUE object, VALUE module)</div><div class='add'>+</div><div class='add'>+Extend the object with the module's attributes.</div><div class='add'>+</div><div class='add'>+** Defining Global Variables</div><div class='add'>+</div><div class='add'>+ void rb_define_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+Defines a global variable which is shared between C and Ruby.  If name</div><div class='add'>+contains a character which is not allowed to be part of the symbol,</div><div class='add'>+it can't be seen from Ruby programs.</div><div class='add'>+</div><div class='add'>+ void rb_define_readonly_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+Defines a read-only global variable.  Works just like</div><div class='add'>+rb_define_variable(), except the defined variable is read-only.</div><div class='add'>+</div><div class='add'>+ void rb_define_virtual_variable(const char *name,</div><div class='add'>+				 VALUE (*getter)(), VALUE (*setter)())</div><div class='add'>+</div><div class='add'>+Defines a virtual variable, whose behavior is defined by a pair of C</div><div class='add'>+functions.  The getter function is called when the variable is</div><div class='add'>+referenced.  The setter function is called when the variable is set to a</div><div class='add'>+value.  The prototype for getter/setter functions are:</div><div class='add'>+</div><div class='add'>+	VALUE getter(ID id)</div><div class='add'>+	void setter(VALUE val, ID id)</div><div class='add'>+</div><div class='add'>+The getter function must return the value for the access.</div><div class='add'>+</div><div class='add'>+ void rb_define_hooked_variable(const char *name, VALUE *var,</div><div class='add'>+				VALUE (*getter)(), VALUE (*setter)())</div><div class='add'>+</div><div class='add'>+Defines hooked variable.  It's a virtual variable with a C variable.  </div><div class='add'>+The getter is called as</div><div class='add'>+</div><div class='add'>+	VALUE getter(ID id, VALUE *var)</div><div class='add'>+</div><div class='add'>+returning a new value.  The setter is called as</div><div class='add'>+</div><div class='add'>+	void setter(VALUE val, ID id, VALUE *var)</div><div class='add'>+</div><div class='add'>+GC requires C global variables which hold Ruby values to be marked.</div><div class='add'>+</div><div class='add'>+ void rb_global_variable(VALUE *var)</div><div class='add'>+</div><div class='add'>+Tells GC to protect these variables.</div><div class='add'>+</div><div class='add'>+** Constant Definition</div><div class='add'>+</div><div class='add'>+ void rb_define_const(VALUE klass, const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+Defines a new constant under the class/module.</div><div class='add'>+</div><div class='add'>+ void rb_define_global_const(const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+Defines a global constant.  This is just the same as</div><div class='add'>+</div><div class='add'>+     rb_define_const(cKernal, name, val)</div><div class='add'>+</div><div class='add'>+** Method Definition</div><div class='add'>+</div><div class='add'>+ rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+Defines a method for the class.  func is the function pointer.  argc</div><div class='add'>+is the number of arguments.  if argc is -1, the function will receive</div><div class='add'>+3 arguments: argc, argv, and self.  if argc is -2, the function will</div><div class='add'>+receive 2 arguments, self and args, where args is a Ruby array of</div><div class='add'>+the method arguments.</div><div class='add'>+</div><div class='add'>+ rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+Defines a private method for the class.  Arguments are same as</div><div class='add'>+rb_define_method().</div><div class='add'>+</div><div class='add'>+ rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+Defines a singleton method.  Arguments are same as rb_define_method().</div><div class='add'>+</div><div class='add'>+ rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Retrieve argument from argc, argv.  The fmt is the format string for</div><div class='add'>+the arguments, such as "12" for 1 non-optional argument, 2 optional</div><div class='add'>+arguments.  If `*' appears at the end of fmt, it means the rest of</div><div class='add'>+the arguments are assigned to the corresponding variable, packed in</div><div class='add'>+an array.</div><div class='add'>+</div><div class='add'>+** Invoking Ruby method</div><div class='add'>+</div><div class='add'>+ VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)</div><div class='add'>+</div><div class='add'>+Invokes a method.  To retrieve mid from a method name, use rb_intern().</div><div class='add'>+</div><div class='add'>+ VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='add'>+</div><div class='add'>+Invokes a method, passing arguments by an array of values.</div><div class='add'>+</div><div class='add'>+ VALUE rb_eval_string(const char *str)</div><div class='add'>+</div><div class='add'>+Compiles and executes the string as a Ruby program.</div><div class='add'>+</div><div class='add'>+ ID rb_intern(const char *name)</div><div class='add'>+</div><div class='add'>+Returns ID corresponding to the name.</div><div class='add'>+</div><div class='add'>+ char *rb_id2name(ID id)</div><div class='add'>+</div><div class='add'>+Returns the name corresponding ID.</div><div class='add'>+</div><div class='add'>+ char *rb_class2name(VALUE klass)</div><div class='add'>+</div><div class='add'>+Returns the name of the class.</div><div class='add'>+</div><div class='add'>+ int rb_respond_to(VALUE object, ID id)</div><div class='add'>+</div><div class='add'>+Returns true if the object responds to the message specified by id.</div><div class='add'>+</div><div class='add'>+** Instance Variables</div><div class='add'>+</div><div class='add'>+ VALUE rb_iv_get(VALUE obj, const char *name)</div><div class='add'>+</div><div class='add'>+Retrieve the value of the instance variable.  If the name is not</div><div class='add'>+prefixed by `@', that variable shall be inaccessible from Ruby.</div><div class='add'>+</div><div class='add'>+ VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+Sets the value of the instance variable.</div><div class='add'>+</div><div class='add'>+** Control Structure</div><div class='add'>+</div><div class='add'>+ VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)</div><div class='add'>+</div><div class='add'>+Calls the function func1, supplying func2 as the block.  func1 will be</div><div class='add'>+called with the argument arg1.  func2 receives the value from yield as</div><div class='add'>+the first argument, arg2 as the second argument.</div><div class='add'>+ </div><div class='add'>+ VALUE rb_yield(VALUE val)</div><div class='add'>+</div><div class='add'>+Evaluates the block with value val.</div><div class='add'>+</div><div class='add'>+ VALUE rb_rescue(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)</div><div class='add'>+</div><div class='add'>+Calls the function func1, with arg1 as the argument.  If an exception</div><div class='add'>+occurs during func1, it calls func2 with arg2 as the argument.  The</div><div class='add'>+return value of rb_rescue() is the return value from func1 if no</div><div class='add'>+exception occurs, from func2 otherwise.</div><div class='add'>+</div><div class='add'>+ VALUE rb_ensure(VALUE (*func1)(), void *arg1, void (*func2)(), void *arg2)</div><div class='add'>+</div><div class='add'>+Calls the function func1 with arg1 as the argument, then calls func2</div><div class='add'>+with arg2 if execution terminated.  The return value from</div><div class='add'>+rb_ensure() is that of func1.</div><div class='add'>+</div><div class='add'>+** Exceptions and Errors</div><div class='add'>+</div><div class='add'>+ void rb_warn(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Prints a warning message according to a printf-like format.</div><div class='add'>+</div><div class='add'>+ void rb_warning(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Prints a warning message according to a printf-like format, if</div><div class='add'>+$VERBOSE is true.</div><div class='add'>+</div><div class='add'>+void rb_raise(rb_eRuntimeError, const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Raises RuntimeError.  The fmt is a format string just like printf().</div><div class='add'>+</div><div class='add'>+ void rb_raise(VALUE exception, const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Raises a class exception.  The fmt is a format string just like printf().</div><div class='add'>+</div><div class='add'>+ void rb_fatal(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Raises a fatal error, terminates the interpreter.  No exception handling</div><div class='add'>+will be done for fatal errors, but ensure blocks will be executed.</div><div class='add'>+</div><div class='add'>+ void rb_bug(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+Terminates the interpreter immediately.  This function should be</div><div class='add'>+called under the situation caused by the bug in the interpreter.  No</div><div class='add'>+exception handling nor ensure execution will be done.</div><div class='add'>+</div><div class='add'>+** Initialize and Start the Interpreter</div><div class='add'>+</div><div class='add'>+The embedding API functions are below (not needed for extension libraries):</div><div class='add'>+</div><div class='add'>+ void ruby_init()</div><div class='add'>+</div><div class='add'>+Initializes the interpreter.</div><div class='add'>+</div><div class='add'>+ void ruby_options(int argc, char **argv)</div><div class='add'>+</div><div class='add'>+Process command line arguments for the interpreter.</div><div class='add'>+</div><div class='add'>+ void ruby_run()</div><div class='add'>+</div><div class='add'>+Starts execution of the interpreter.</div><div class='add'>+</div><div class='add'>+ void ruby_script(char *name)</div><div class='add'>+</div><div class='add'>+Specifies the name of the script ($0).</div><div class='add'>+</div><div class='add'>+** Hooks for the Interpreter Events</div><div class='add'>+</div><div class='add'>+ void rb_add_event_hook(rb_event_hook_func_t func, rb_event_t events)</div><div class='add'>+</div><div class='add'>+Adds a hook function for the specified interpreter events.</div><div class='add'>+events should be Or'ed value of:</div><div class='add'>+</div><div class='add'>+	RUBY_EVENT_LINE</div><div class='add'>+	RUBY_EVENT_CLASS</div><div class='add'>+	RUBY_EVENT_END</div><div class='add'>+	RUBY_EVENT_CALL</div><div class='add'>+	RUBY_EVENT_RETURN</div><div class='add'>+	RUBY_EVENT_C_CALL</div><div class='add'>+	RUBY_EVENT_C_RETURN</div><div class='add'>+	RUBY_EVENT_RAISE</div><div class='add'>+	RUBY_EVENT_ALL</div><div class='add'>+</div><div class='add'>+The definition of rb_event_hook_func_t is below:</div><div class='add'>+</div><div class='add'>+ typedef void (*rb_event_hook_func_t)(rb_event_t event, NODE *node,</div><div class='add'>+ 				      VALUE self, ID id, VALUE klass)</div><div class='add'>+</div><div class='add'>+ int rb_remove_event_hook(rb_event_hook_func_t func)</div><div class='add'>+</div><div class='add'>+Removes the specified hook function.</div><div class='add'>+</div><div class='add'>+Appendix C. Functions Available in extconf.rb</div><div class='add'>+</div><div class='add'>+These functions are available in extconf.rb:</div><div class='add'>+</div><div class='add'>+ have_macro(macro, headers)</div><div class='add'>+</div><div class='add'>+Checks whether macro is defined with header.  Returns true if the macro</div><div class='add'>+is defined.</div><div class='add'>+</div><div class='add'>+ have_library(lib, func)</div><div class='add'>+</div><div class='add'>+Checks whether the library exists, containing the specified function.</div><div class='add'>+Returns true if the library exists.</div><div class='add'>+</div><div class='add'>+ find_library(lib, func, path...)</div><div class='add'>+</div><div class='add'>+Checks whether a library which contains the specified function exists in</div><div class='add'>+path.  Returns true if the library exists.</div><div class='add'>+</div><div class='add'>+ have_func(func, header)</div><div class='add'>+</div><div class='add'>+Checks whether func exists with header.  Returns true if the function</div><div class='add'>+exists.  To check functions in an additional library, you need to</div><div class='add'>+check that library first using have_library().</div><div class='add'>+</div><div class='add'>+ have_var(var, header)</div><div class='add'>+</div><div class='add'>+Checks whether var exists with header.  Returns true if the variable</div><div class='add'>+exists.  To check variables in an additional library, you need to</div><div class='add'>+check that library first using have_library().</div><div class='add'>+</div><div class='add'>+ have_header(header)</div><div class='add'>+</div><div class='add'>+Checks whether header exists.  Returns true if the header file exists.</div><div class='add'>+</div><div class='add'>+ find_header(header, path...)</div><div class='add'>+</div><div class='add'>+Checks whether header exists in path.  Returns true if the header file</div><div class='add'>+exists.</div><div class='add'>+</div><div class='add'>+ have_struct_member(type, member, header)</div><div class='add'>+</div><div class='add'>+Checks whether type has member with header.  Returns true if the type</div><div class='add'>+is defined and has the member.</div><div class='add'>+</div><div class='add'>+ have_type(type, header, opt)</div><div class='add'>+</div><div class='add'>+Checks whether type is defined with header.  Returns true if the type</div><div class='add'>+is defined.</div><div class='add'>+</div><div class='add'>+ check_sizeof(type, header)</div><div class='add'>+</div><div class='add'>+Checks the size of type in char with header.  Returns the size if the</div><div class='add'>+type is defined, otherwise nil.</div><div class='add'>+</div><div class='add'>+ create_makefile(target)</div><div class='add'>+</div><div class='add'>+Generates the Makefile for the extension library.  If you don't invoke</div><div class='add'>+this method, the compilation will not be done.</div><div class='add'>+</div><div class='add'>+ find_executable(bin, path)</div><div class='add'>+</div><div class='add'>+Finds command in path, which is File::PATH_SEPARATOR-separated list of</div><div class='add'>+directories.  If path is nil or omitted, environment varialbe PATH</div><div class='add'>+will be used.  Returns the path name of the command if it is found,</div><div class='add'>+otherwise nil.</div><div class='add'>+</div><div class='add'>+ with_config(withval[, default=nil])</div><div class='add'>+</div><div class='add'>+Parses the command line options and returns the value specified by</div><div class='add'>+--with-&lt;withval&gt;.</div><div class='add'>+</div><div class='add'>+ enable_config(config, *defaults)</div><div class='add'>+ disable_config(config, *defaults)</div><div class='add'>+</div><div class='add'>+Parses the command line options for boolean.  Returns true if</div><div class='add'>+--enable-&lt;config&gt; is given, or false if --disable-&lt;config&gt; is given.</div><div class='add'>+Otherwise, yields defaults to the given block and returns the result</div><div class='add'>+if it is called with a block, or returns defaults.</div><div class='add'>+</div><div class='add'>+ dir_config(target[, default_dir])</div><div class='add'>+ dir_config(target[, default_include, default_lib])</div><div class='add'>+</div><div class='add'>+Parses the command line options and adds the directories specified by</div><div class='add'>+--with-&lt;target&gt;-dir, --with-&lt;target&gt;-include, and/or --with-&lt;target&gt;-lib</div><div class='add'>+to $CFLAGS and/or $LDFLAGS.  --with-&lt;target&gt;-dir=/path is equivalent to</div><div class='add'>+--with-&lt;target&gt;-include=/path/include --with-&lt;target&gt;-lib=/path/lib.</div><div class='add'>+Returns an array of the added directories ([include_dir, lib_dir]).</div><div class='add'>+</div><div class='add'>+ pkg_config(pkg)</div><div class='add'>+</div><div class='add'>+Obtains the information for pkg by pkg-config command.  The actual</div><div class='add'>+command name can be overriden by --with-pkg-config command line</div><div class='add'>+option.</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Local variables:</div><div class='add'>+ * fill-column: 70</div><div class='add'>+ * end:</div><div class='add'>+ */</div><div class='head'>diff --git a/README.EXT.ja b/README.EXT.ja<br/>index f884ecbb0e..30c4d520ba 100644<br/>--- a/<a href='/ruby.git/tree/README.EXT.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>README.EXT.ja</a><br/>+++ b/<a href='/ruby.git/tree/README.EXT.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>README.EXT.ja</a></div><div class='hunk'>@@ -1 +1,1258 @@</div><div class='del'>-doc/extension.ja.rdocに移動しました</div><div class='add'>+.\" README.EXT.ja -  -*- Text -*- created at: Mon Aug  7 16:45:54 JST 1995</div><div class='add'>+</div><div class='add'>+Rubyγĥ饤֥κޤ</div><div class='add'>+</div><div class='add'>+1μ</div><div class='add'>+</div><div class='add'>+CѿˤϷꡤǡˤϷޤ󡥤Ǥ顤</div><div class='add'>+ȤХݥ󥿤intѿȡͤȤƼ</div><div class='add'>+갷ޤդRubyѿˤϷʤǡ˷</div><div class='add'>+ΰ㤤ΤᡤCRubyߤѴʤСߤ</div><div class='add'>+ǡ򥢥Ǥޤ</div><div class='add'>+</div><div class='add'>+RubyΥǡVALUEȤCηɽޤVALUEΥǡ</div><div class='add'>+ϤΥǡפʬΤäƤޤΥǡפ</div><div class='add'>+Τϥǡ(֥)μºݤι¤̣ƤơRuby</div><div class='add'>+Υ饹ȤϤޤäΤǤ</div><div class='add'>+</div><div class='add'>+VALUECˤȤäựΤǡФˤ</div><div class='add'>+</div><div class='add'>+ (1) VALUEΥǡפΤ</div><div class='add'>+ (2) VALUECΥǡѴ</div><div class='add'>+</div><div class='add'>+ξɬפǤ(1)˺ȴְäǡѴԤ</div><div class='add'>+ơǰץबcore dumpޤ</div><div class='add'>+</div><div class='add'>+1.1 ǡ</div><div class='add'>+</div><div class='add'>+Rubyˤϥ桼ȤǽΤʲΥפޤ</div><div class='add'>+</div><div class='add'>+	T_NIL		nil</div><div class='add'>+	T_OBJECT	̾Υ֥</div><div class='add'>+	T_CLASS		饹</div><div class='add'>+	T_MODULE	⥸塼</div><div class='add'>+	T_FLOAT		ư</div><div class='add'>+	T_STRING	ʸ</div><div class='add'>+	T_REGEXP	ɽ</div><div class='add'>+	T_ARRAY		</div><div class='add'>+	T_FIXNUM	Fixnum(31bitĹ)</div><div class='add'>+	T_HASH		Ϣ</div><div class='add'>+	T_STRUCT	(Ruby)¤</div><div class='add'>+	T_BIGNUM	¿Ĺ</div><div class='add'>+	T_FILE		</div><div class='add'>+	T_TRUE		</div><div class='add'>+	T_FALSE		</div><div class='add'>+	T_DATA		ǡ</div><div class='add'>+	T_SYMBOL	ܥ</div><div class='add'>+</div><div class='add'>+¾ѤƤʲΥפޤ</div><div class='add'>+</div><div class='add'>+	T_ICLASS</div><div class='add'>+	T_MATCH</div><div class='add'>+	T_UNDEF</div><div class='add'>+	T_VARMAP</div><div class='add'>+	T_SCOPE</div><div class='add'>+	T_NODE</div><div class='add'>+</div><div class='add'>+ۤȤɤΥפCι¤ΤǼƤޤ</div><div class='add'>+</div><div class='add'>+1.2 VALUEΥǡפå</div><div class='add'>+</div><div class='add'>+ruby.hǤTYPE()ȤޥƤơVALUEΥǡ</div><div class='add'>+פΤ뤳ȤޤTYPE()ޥϾǾҲ𤷤T_XXXX</div><div class='add'>+η֤ޤVALUEΥǡפ˱ƽ</div><div class='add'>+ˤϡTYPE()ͤʬ뤳Ȥˤʤޤ</div><div class='add'>+</div><div class='add'>+  switch (TYPE(obj)) {</div><div class='add'>+    case T_FIXNUM:</div><div class='add'>+      /* FIXNUMν */</div><div class='add'>+      break;</div><div class='add'>+    case T_STRING:</div><div class='add'>+      /* ʸν */</div><div class='add'>+      break;</div><div class='add'>+    case T_ARRAY:</div><div class='add'>+      /* ν */</div><div class='add'>+      break;</div><div class='add'>+    default:</div><div class='add'>+      /* 㳰ȯ */</div><div class='add'>+      rb_raise(rb_eTypeError, "not valid value");</div><div class='add'>+      break;</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+ȥǡפåơʤ㳰ȯ</div><div class='add'>+ؿѰդƤޤ</div><div class='add'>+</div><div class='add'>+  void Check_Type(VALUE value, int type)</div><div class='add'>+</div><div class='add'>+δؿvaluetype̵С㳰ȯޤ</div><div class='add'>+Ϳ줿VALUEΥǡפɤå</div><div class='add'>+뤿ˤϡδؿȤޤ</div><div class='add'>+</div><div class='add'>+FIXNUMNIL˴ؤƤϤ®Ƚ̥ޥѰդƤޤ</div><div class='add'>+</div><div class='add'>+  FIXNUM_P(obj)</div><div class='add'>+  NIL_P(obj)</div><div class='add'>+</div><div class='add'>+1.3 VALUECΥǡѴ</div><div class='add'>+</div><div class='add'>+ǡפT_NIL, T_FALSE, T_TRUEǤǡϤ줾</div><div class='add'>+nil, false, trueǤΥǡפΥ֥ȤϤҤ</div><div class='add'>+ĤĤ¸ߤޤ</div><div class='add'>+</div><div class='add'>+ǡפT_FIXNUMλ31bitΥ</div><div class='add'>+FIXNUMCѴ뤿ˤϥޥFIX2INT()פ</div><div class='add'>+ޤ줫顤FIXNUM˸¤餺RubyΥǡѴ</div><div class='add'>+NUM2INT()פȤޥޤΥޥϥǡ</div><div class='add'>+פΥå̵ǻȤޤ(ѴǤʤˤ㳰</div><div class='add'>+ȯ)Ʊͤ˥å̵ǻȤѴޥdouble</div><div class='add'>+ФNUM2DBL()פޤ</div><div class='add'>+</div><div class='add'>+char* Ф硢version 1.6 ǤϡSTR2CSTR()פ</div><div class='add'>+ޥȤäƤޤ to_str() ˤۤ</div><div class='add'>+Ѵ̤ GC ǽ뤿ᡢversion 1.7 ʹߤǤ</div><div class='add'>+obsolete Ȥʤꡢ StringValue()  StringValuePtr()</div><div class='add'>+Ȥ侩ƤޤStringValue(var)  var  String</div><div class='add'>+ Ǥв⤻Ǥʤ var  var.to_str() η̤</div><div class='add'>+֤ޥStringValuePtr(var) Ʊͤ var ֤</div><div class='add'>+Ƥ var ʸɽФ char* ֤ޥǤvar </div><div class='add'>+Ƥľ֤Τǡvar  lvalue Ǥɬפ</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+ʳΥǡפбCι¤Τޤб</div><div class='add'>+빽¤ΤΤVALUEϤΤޤޥ㥹(Ѵ)й¤Τ</div><div class='add'>+ݥ󥿤ѴǤޤ</div><div class='add'>+</div><div class='add'>+¤Τϡstruct RXxxxxפȤ̾ruby.hƤ</div><div class='add'>+㤨ʸϡstruct RStringפǤºݤ˻Ȥǽ</div><div class='add'>+Τʸ󤯤餤Ȼפޤ</div><div class='add'>+</div><div class='add'>+ruby.hǤϹ¤Τإ㥹ȤޥRXXXXX()(ʸ</div><div class='add'>+ˤ)Ȥ̾󶡤Ƥޤ(: RSTRING())</div><div class='add'>+</div><div class='add'>+㤨СʸstrĹ뤿ˤϡRSTRING(str)-&gt;lenפ</div><div class='add'>+ʸstrchar*Ȥ뤿ˤϡRSTRING(str)-&gt;ptr</div><div class='add'>+Ȥޤξˤϡ줾RARRAY(ary)-&gt;lenס</div><div class='add'>+RARRAY(ary)-&gt;ptrפȤʤޤ</div><div class='add'>+</div><div class='add'>+Rubyι¤Τľܥ˵ĤʤФʤʤ</div><div class='add'>+Ȥϡʸι¤ΤȤϻȤǡľѹ</div><div class='add'>+ʤȤǤľѹ硤֥ȤƤ</div><div class='add'>+Ȥʤʤäơפ̥Хθˤʤޤ</div><div class='add'>+</div><div class='add'>+1.4 CΥǡVALUEѴ</div><div class='add'>+</div><div class='add'>+VALUEμºݤι¤</div><div class='add'>+</div><div class='add'>+  * FIXNUMξ</div><div class='add'>+</div><div class='add'>+    1bitեȤơLSBΩƤ롥</div><div class='add'>+</div><div class='add'>+  * ¾Υݥ󥿤ξ</div><div class='add'>+</div><div class='add'>+    ΤޤVALUE˥㥹Ȥ롥</div><div class='add'>+</div><div class='add'>+ȤʤäƤޤäơLSBåVALUEFIXNUM</div><div class='add'>+狼櫓Ǥ(ݥ󥿤LSBΩäƤʤȤꤷ</div><div class='add'>+)</div><div class='add'>+</div><div class='add'>+Ǥ顤FIXNUMʳRubyΥ֥Ȥι¤ΤñVALUE</div><div class='add'>+˥㥹ȤVALUEѴޤǤդι¤</div><div class='add'>+ΤVALUE˥㥹Ƚ櫓ǤϤޤ󡥥㥹Ȥ</div><div class='add'>+RubyΤäƤ빽¤(ruby.hƤstruct RXxxx</div><div class='add'>+Τ)Ǥ</div><div class='add'>+</div><div class='add'>+FIXNUM˴ؤƤѴޥͳɬפޤC</div><div class='add'>+VALUEѴޥϰʲΤΤޤɬפ˱</div><div class='add'>+ƻȤʬƤ</div><div class='add'>+</div><div class='add'>+  INT2FIX()	Ȥ31bit˼ޤ뼫</div><div class='add'>+  INT2NUM()	ǤդVALUE</div><div class='add'>+</div><div class='add'>+INT2NUM()FIXNUMϰϤ˼ޤʤ硤BignumѴ</div><div class='add'>+Ƥޤ(٤)</div><div class='add'>+</div><div class='add'>+1.5 RubyΥǡ</div><div class='add'>+</div><div class='add'>+Ҥ٤̤ꡤRubyι¤Τ򥢥Ƥι</div><div class='add'>+ԤȤϴޤ󡥤ǡRubyΥǡˤ</div><div class='add'>+RubyѰդƤؿѤƤ</div><div class='add'>+</div><div class='add'>+ǤϤäȤȤǤʸ/</div><div class='add'>+ؿ򤢤ޤ(ǤϤʤǤ)</div><div class='add'>+</div><div class='add'>+ ʸФؿ</div><div class='add'>+</div><div class='add'>+  rb_str_new(const char *ptr, long len)</div><div class='add'>+</div><div class='add'>+    Rubyʸ롥</div><div class='add'>+</div><div class='add'>+  rb_str_new2(const char *ptr)</div><div class='add'>+</div><div class='add'>+    Cʸ󤫤Rubyʸ롥δؿεǽ</div><div class='add'>+    rb_str_new(ptr, strlen(ptr))ƱǤ롥</div><div class='add'>+</div><div class='add'>+  rb_tainted_str_new(const char *ptr, long len)</div><div class='add'>+</div><div class='add'>+    ޡղä줿Rubyʸ롥</div><div class='add'>+    Υǡ˴Ťʸˤϱޡղä٤</div><div class='add'>+    Ǥ롥</div><div class='add'>+</div><div class='add'>+  rb_tainted_str_new2(const char *ptr)</div><div class='add'>+</div><div class='add'>+    Cʸ󤫤ޡղä줿Rubyʸ롥</div><div class='add'>+</div><div class='add'>+  rb_str_cat(VALUE str, const char *ptr, long len)</div><div class='add'>+</div><div class='add'>+    RubyʸstrlenХȤʸptrɲä롥</div><div class='add'>+</div><div class='add'>+ Фؿ</div><div class='add'>+</div><div class='add'>+  rb_ary_new()</div><div class='add'>+</div><div class='add'>+    Ǥ0롥</div><div class='add'>+</div><div class='add'>+  rb_ary_new2(long len)</div><div class='add'>+</div><div class='add'>+    Ǥ0롥lenʬΰ򤢤餫</div><div class='add'>+    ƤƤ</div><div class='add'>+</div><div class='add'>+  rb_ary_new3(long n, ...)</div><div class='add'>+</div><div class='add'>+    ǻꤷnǤޤ롥</div><div class='add'>+</div><div class='add'>+  rb_ary_new4(long n, VALUE *elts)</div><div class='add'>+</div><div class='add'>+    ͿnǤ롥</div><div class='add'>+</div><div class='add'>+  rb_ary_push(VALUE ary, VALUE val)</div><div class='add'>+  rb_ary_pop(VALUE ary)</div><div class='add'>+  rb_ary_shift(VALUE ary)</div><div class='add'>+  rb_ary_unshift(VALUE ary, VALUE val)</div><div class='add'>+</div><div class='add'>+    ArrayƱ̾Υ᥽åɤƱƯ򤹤ؿ1ɬ</div><div class='add'>+    ǤʤФʤʤ</div><div class='add'>+</div><div class='add'>+2RubyεǽȤ</div><div class='add'>+</div><div class='add'>+ŪRubyǽ񤱤뤳ȤCǤ񤱤ޤRubyΤΤCǵ</div><div class='add'>+ҤƤǤ顤ȤʤǤɡ</div><div class='add'>+Rubyγĥ˻ȤȤ¿ͽ¬뵡ǽ濴˾</div><div class='add'>+𤷤ޤ</div><div class='add'>+</div><div class='add'>+2.1 Ruby˵ǽɲä</div><div class='add'>+</div><div class='add'>+Ruby󶡤ƤؿȤRuby󥿥ץ꥿˿ǽ</div><div class='add'>+ɲä뤳ȤǤޤRubyǤϰʲεǽɲäؿ</div><div class='add'>+󶡤Ƥޤ</div><div class='add'>+</div><div class='add'>+ * 饹⥸塼</div><div class='add'>+ * ᥽åɡðۥ᥽åɤʤ</div><div class='add'>+ * </div><div class='add'>+</div><div class='add'>+ǤϽ˾Ҳ𤷤ޤ</div><div class='add'>+</div><div class='add'>+2.1.1 饹/⥸塼</div><div class='add'>+</div><div class='add'>+饹⥸塼뤿ˤϡʲδؿȤޤ</div><div class='add'>+</div><div class='add'>+  VALUE rb_define_class(const char *name, VALUE super)</div><div class='add'>+  VALUE rb_define_module(const char *name)</div><div class='add'>+</div><div class='add'>+δؿϿ줿饹⥸塼֤ޤ</div><div class='add'>+᥽åɤˤͤɬפʤΤǡۤȤɤξ</div><div class='add'>+ͤѿ˳ǼƤɬפǤ礦</div><div class='add'>+</div><div class='add'>+饹⥸塼¾Υ饹˥ͥȤ</div><div class='add'>+ϰʲδؿȤޤ</div><div class='add'>+</div><div class='add'>+  VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class='add'>+  VALUE rb_define_module_under(VALUE outer, const char *name)</div><div class='add'>+</div><div class='add'>+2.1.2 ᥽å/ðۥ᥽å</div><div class='add'>+</div><div class='add'>+᥽åɤðۥ᥽åɤˤϰʲδؿȤޤ</div><div class='add'>+</div><div class='add'>+  void rb_define_method(VALUE klass, const char *name, </div><div class='add'>+		        VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+  void rb_define_singleton_method(VALUE object, const char *name, </div><div class='add'>+			          VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+ǰΤȡðۥ᥽åɡפȤϡΥ֥</div><div class='add'>+ȤФƤͭʥ᥽åɤǤRubyǤϤ褯Smalltalkˤ</div><div class='add'>+륯饹᥽åɤȤơ饹Фðۥ᥽åɤȤ</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+δؿ argcȤCδؿϤο(</div><div class='add'>+)ޤargc0ʾλϴؿ˰Ϥο</div><div class='add'>+̣ޤ16İʾΰϻȤޤ(פޤ͡</div><div class='add'>+ʤ)ºݤδؿˤƬΰȤselfͿޤ</div><div class='add'>+ǡꤷ1¿ĤȤˤʤޤ</div><div class='add'>+</div><div class='add'>+argcλϰοǤϤʤꤷȤˤʤޤ</div><div class='add'>+argc-1λϰϤޤargc-2λϰ</div><div class='add'>+RubyȤϤޤ</div><div class='add'>+</div><div class='add'>+᥽åɤؿϤ⤦ĤޤҤȤĤprivate</div><div class='add'>+åɤؿǡrb_define_method()ƱǤ</div><div class='add'>+</div><div class='add'>+  void rb_define_private_method(VALUE klass, const char *name, </div><div class='add'>+				VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+private᥽åɤȤϴؿǤƤӽФȤνʤ᥽</div><div class='add'>+ɤǤ</div><div class='add'>+</div><div class='add'>+⤦ҤȤĤϥ⥸塼ؿΤǤ⥸塼ؿ</div><div class='add'>+Ȥϥ⥸塼ðۥ᥽åɤǤꡤƱprivate᥽åɤ</div><div class='add'>+⤢ΤǤ򤢤Math⥸塼sqrt()ʤɤ</div><div class='add'>+ޤΥ᥽åɤ</div><div class='add'>+</div><div class='add'>+  Math.sqrt(4)</div><div class='add'>+</div><div class='add'>+ȤǤ</div><div class='add'>+</div><div class='add'>+  include Math</div><div class='add'>+  sqrt(4)</div><div class='add'>+</div><div class='add'>+ȤǤȤޤ⥸塼ؿؿϰʲ</div><div class='add'>+̤Ǥ</div><div class='add'>+</div><div class='add'>+  void rb_define_module_function(VALUE module, const char *name, </div><div class='add'>+		                 VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+ؿŪ᥽å(Kernel⥸塼private method)뤿</div><div class='add'>+δؿϰʲ̤Ǥ</div><div class='add'>+</div><div class='add'>+  void rb_define_global_function(const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+᥽åɤ̾뤿δؿϰʲ̤Ǥ</div><div class='add'>+</div><div class='add'>+  void rb_define_alias(VALUE module, const char* new, const char* old);</div><div class='add'>+</div><div class='add'>+饹᥽åallocateꤹ뤿δؿ</div><div class='add'>+ʲ̤Ǥ</div><div class='add'>+</div><div class='add'>+  void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));</div><div class='add'>+  void rb_undef_alloc_func(VALUE klass);</div><div class='add'>+</div><div class='add'>+funcϥ饹ȤƼäơƤ줿</div><div class='add'>+󥹤֤ʤƤϤʤޤ󡣤Υ󥹥󥹤ϡ</div><div class='add'>+ʤɤޤޤʤǤֶפΤޤޤˤƤۤ</div><div class='add'>+褤Ǥ礦</div><div class='add'>+</div><div class='add'>+2.1.3 </div><div class='add'>+</div><div class='add'>+ĥ饤֥꤬ɬפϤ餫Ƥɤ</div><div class='add'>+Ǥ礦ؿĤޤ</div><div class='add'>+</div><div class='add'>+  void rb_define_const(VALUE klass, const char *name, VALUE val)</div><div class='add'>+  void rb_define_global_const(const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+ԤΥ饹/⥸塼°Ρ</div><div class='add'>+ԤϥХΤǤ</div><div class='add'>+</div><div class='add'>+2.2 RubyεǽCƤӽФ</div><div class='add'>+</div><div class='add'>+ˡ1.5 RubyΥǡ٤ǰҲ𤷤褦ʴؿ</div><div class='add'>+ȤСRubyεǽ¸ƤؿľܸƤӽФȤ</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+# Τ褦ʴؿΰɽϤޤΤȤޤ󡥥</div><div class='add'>+# 뤷ʤǤ͡</div><div class='add'>+</div><div class='add'>+ʳˤRubyεǽƤӽФˡϤĤޤ</div><div class='add'>+</div><div class='add'>+2.2.1 RubyΥץeval</div><div class='add'>+</div><div class='add'>+CRubyεǽƤӽФäȤñˡȤơʸ</div><div class='add'>+Ϳ줿RubyΥץɾʲδؿޤ</div><div class='add'>+</div><div class='add'>+  VALUE rb_eval_string(const char *str)</div><div class='add'>+</div><div class='add'>+ɾϸߤδĶǹԤޤĤޤꡤߤΥѿ</div><div class='add'>+ʤɤѤޤ</div><div class='add'>+</div><div class='add'>+2.2.2 IDޤϥܥ</div><div class='add'>+</div><div class='add'>+CʸͳRubyΥ᥽åɤƤӽФȤǤ</div><div class='add'>+ˡRuby󥿥ץ꥿ǥ᥽åɤѿ̾ꤹ</div><div class='add'>+˻ȤƤIDˤĤƤޤ礦</div><div class='add'>+</div><div class='add'>+IDȤѿ̾᥽å̾ɽǤRubyǤIDб</div><div class='add'>+֥ȤȤƥܥ(Symbol)ꡤ</div><div class='add'>+</div><div class='add'>+ :̻</div><div class='add'>+</div><div class='add'>+ǥǤޤC餳뤿ˤϴؿ</div><div class='add'>+</div><div class='add'>+  rb_intern(const char *name)</div><div class='add'>+</div><div class='add'>+ȤޤRubyȤͿ줿ܥ(ޤʸ</div><div class='add'>+)IDѴˤϰʲδؿȤޤ</div><div class='add'>+</div><div class='add'>+  rb_to_id(VALUE symbol)</div><div class='add'>+</div><div class='add'>+ID饷ܥ뤿ˤϰʲΥޥȤޤ</div><div class='add'>+</div><div class='add'>+  VALUE ID2SYM(ID id)</div><div class='add'>+</div><div class='add'>+ܥ뤫ID뤿ˤϰʲΥޥȤޤ</div><div class='add'>+</div><div class='add'>+  ID SYM2ID(VALUE symbol)</div><div class='add'>+</div><div class='add'>+2.2.3 CRubyΥ᥽åɤƤӽФ</div><div class='add'>+</div><div class='add'>+CʸͳRubyΥ᥽åɤƤӽФˤϰʲ</div><div class='add'>+δؿȤޤ</div><div class='add'>+</div><div class='add'>+  VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)</div><div class='add'>+</div><div class='add'>+δؿϥ֥recvmidǻꤵ᥽åɤƤӽ</div><div class='add'>+ޤ¾˰λλ㤦ʲδؿ⤢ޤ</div><div class='add'>+</div><div class='add'>+  VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='add'>+  VALUE rb_apply(VALUE recv, ID mid, VALUE args)</div><div class='add'>+</div><div class='add'>+applyˤϰȤRubyͿޤ</div><div class='add'>+</div><div class='add'>+2.2.4 ѿ/򻲾/</div><div class='add'>+</div><div class='add'>+CؿȤäƻȡǤΤϡ󥹥</div><div class='add'>+ǤѿϰΤΤCѿȤƥǤ</div><div class='add'>+ޤѿ򻲾ȤˡϸƤޤ</div><div class='add'>+</div><div class='add'>+֥ȤΥ󥹥ѿ򻲾ȡؿϰʲ</div><div class='add'>+Ǥ</div><div class='add'>+</div><div class='add'>+  VALUE rb_ivar_get(VALUE obj, ID id)</div><div class='add'>+  VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)</div><div class='add'>+</div><div class='add'>+idrb_intern()ΤȤäƤ</div><div class='add'>+</div><div class='add'>+򻲾ȤˤϰʲδؿȤäƤ</div><div class='add'>+</div><div class='add'>+  VALUE rb_const_get(VALUE obj, ID id)</div><div class='add'>+</div><div class='add'>+򿷤뤿ˤϡ2.1.3 ٤ǾҲ</div><div class='add'>+ƤؿȤäƤ</div><div class='add'>+</div><div class='add'>+3RubyCȤξͭ</div><div class='add'>+</div><div class='add'>+CRubyδ֤ǾͭˡˤĤƲ⤷ޤ</div><div class='add'>+</div><div class='add'>+3.1 C黲ȤǤRuby</div><div class='add'>+</div><div class='add'>+ʲRubyCΥ٥뤫黲ȤǤޤ</div><div class='add'>+</div><div class='add'>+  Qtrue</div><div class='add'>+  Qfalse</div><div class='add'>+</div><div class='add'>+    ͡QfalseCǤ⵶Ȥߤʤޤ(Ĥޤ0)</div><div class='add'>+</div><div class='add'>+  Qnil</div><div class='add'>+</div><div class='add'>+    C줫鸫nilס</div><div class='add'>+</div><div class='add'>+3.2 CRubyǶͭѿ</div><div class='add'>+</div><div class='add'>+CRubyѿȤäƾͭǤޤͭǤ</div><div class='add'>+ѿˤϤĤμबޤΤʤǤäȤɤȤ</div><div class='add'>+ȻפΤrb_define_variable()Ǥ</div><div class='add'>+</div><div class='add'>+  void rb_define_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+δؿRubyCȤǶͭѿޤѿ̾</div><div class='add'>+`$'ǻϤޤʤˤϼưŪɲäޤѿͤ</div><div class='add'>+ȼưŪRubyбѿͤѤޤ</div><div class='add'>+</div><div class='add'>+ޤRuby¦ϹǤʤѿ⤢ޤread only</div><div class='add'>+ѿϰʲδؿޤ</div><div class='add'>+</div><div class='add'>+  void rb_define_readonly_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+ѿ¾hookĤѿǤޤhookդ</div><div class='add'>+ѿϰʲδؿѤޤhookդѿ</div><div class='add'>+ͤλȤhookǹԤɬפޤ</div><div class='add'>+</div><div class='add'>+  void rb_define_hooked_variable(const char *name, VALUE *var,</div><div class='add'>+				 VALUE (*getter)(), void (*setter)())</div><div class='add'>+</div><div class='add'>+δؿCδؿˤähookΤĤ줿ѿ</div><div class='add'>+ѿȤ줿ˤϴؿgetterѿͤåȤ</div><div class='add'>+ˤϴؿsetterƤФ롥hookꤷʤgetter</div><div class='add'>+setter0ꤷޤ</div><div class='add'>+</div><div class='add'>+# gettersetter0ʤrb_define_variable()Ʊˤʤ롥</div><div class='add'>+</div><div class='add'>+줫顤CδؿˤäƼ¸Rubyѿ</div><div class='add'>+ؿޤ</div><div class='add'>+</div><div class='add'>+  void rb_define_virtual_variable(const char *name,</div><div class='add'>+				  VALUE (*getter)(), void (*setter)())</div><div class='add'>+</div><div class='add'>+δؿˤä줿RubyѿȤ줿ˤ</div><div class='add'>+getterѿͤåȤ줿ˤsetterƤФޤ</div><div class='add'>+</div><div class='add'>+gettersetterλͤϰʲ̤Ǥ</div><div class='add'>+</div><div class='add'>+  (*getter)(ID id, void *data, struct global_entry* entry);</div><div class='add'>+  (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);</div><div class='add'>+</div><div class='add'>+3.3 CΥǡRuby֥Ȥˤ</div><div class='add'>+</div><div class='add'>+C줿ǡ(¤)RubyΥ֥ȤȤ</div><div class='add'>+갷礬ꤨޤΤ褦ʾˤϡDataȤ</div><div class='add'>+Ruby֥ȤCι¤(ؤΥݥ)򤯤ळȤRuby</div><div class='add'>+֥ȤȤƼ갷褦ˤʤޤ</div><div class='add'>+</div><div class='add'>+Data֥Ȥƹ¤ΤRuby֥Ȥ˥ץ</div><div class='add'>+뤿ˤϡʲΥޥȤޤ</div><div class='add'>+</div><div class='add'>+  Data_Wrap_Struct(klass, mark, free, ptr)</div><div class='add'>+</div><div class='add'>+Υޥͤ줿Data֥ȤǤ</div><div class='add'>+</div><div class='add'>+klassϤData֥ȤΥ饹Ǥptrϥץ벽</div><div class='add'>+Cι¤ΤؤΥݥ󥿤ǤmarkϤι¤ΤRubyΥ֥</div><div class='add'>+ȤؤλȤ˻ȤؿǤΤ褦ʻȤޤޤʤ</div><div class='add'>+ˤ0ꤷޤ</div><div class='add'>+</div><div class='add'>+# Τ褦ʻȤϴޤ</div><div class='add'>+</div><div class='add'>+freeϤι¤Τ⤦פˤʤä˸ƤФؿǤ</div><div class='add'>+ؿ١쥯ƤФޤ줬-1ξϡñ</div><div class='add'>+˳ޤ</div><div class='add'>+</div><div class='add'>+Cι¤ΤγData֥ȤƱ˹Ԥޥ</div><div class='add'>+ưʲΤΤ󶡤Ƥޤ</div><div class='add'>+</div><div class='add'>+  Data_Make_Struct(klass, type, mark, free, sval)</div><div class='add'>+</div><div class='add'>+Υޥͤ줿Data֥ȤǤ</div><div class='add'>+</div><div class='add'>+klass, mark, freeData_Wrap_StructƱƯ򤷤ޤtype</div><div class='add'>+ϳƤC¤ΤηǤƤ줿¤Τѿsval</div><div class='add'>+ޤѿη (type*) Ǥɬפޤ</div><div class='add'>+</div><div class='add'>+Data֥Ȥݥ󥿤ФΤϰʲΥޥѤ</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+  Data_Get_Struct(obj, type, sval)</div><div class='add'>+</div><div class='add'>+Cι¤ΤؤΥݥ󥿤ѿsvalޤ</div><div class='add'>+</div><div class='add'>+DataλȤϤäʬˤΤǡ</div><div class='add'>+򻲾ȤƤ</div><div class='add'>+</div><div class='add'>+4 - dbmѥå</div><div class='add'>+</div><div class='add'>+ޤǤǤȤꤢĥ饤֥ϺϤǤ</div><div class='add'>+Rubyextǥ쥯ȥˤǤ˴ޤޤƤdbm饤֥</div><div class='add'>+ʳŪޤ</div><div class='add'>+</div><div class='add'>+(1) ǥ쥯ȥ</div><div class='add'>+</div><div class='add'>+  % mkdir ext/dbm</div><div class='add'>+</div><div class='add'>+Ruby 1.1ǤդΥǥ쥯ȥǥʥߥå饤֥</div><div class='add'>+뤳ȤǤ褦ˤʤޤRubyŪ˥󥯤</div><div class='add'>+RubyŸǥ쥯ȥβextǥ쥯ȥ˳ĥ</div><div class='add'>+饤֥ѤΥǥ쥯ȥɬפޤ̾Ŭ</div><div class='add'>+ǹޤ</div><div class='add'>+</div><div class='add'>+(2) ߷פ</div><div class='add'>+</div><div class='add'>+ޤʤǤɡɤǽ¸뤫ɤޤ</div><div class='add'>+פɬפޤɤʥ饹Ĥ뤫Υ饹ˤ</div><div class='add'>+ɤʥ᥽åɤ뤫饹󶡤ʤɤˤĤ߷</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+(3) Cɤ</div><div class='add'>+</div><div class='add'>+ĥ饤֥ΤȤʤCΥ񤭤ޤCΥ</div><div class='add'>+ҤȤĤλˤϡ֥饤֥̾.cפ֤ɤǤ礦C</div><div class='add'>+Υʣξˤϵդˡ֥饤֥̾.cפȤե</div><div class='add'>+̾򤱤ɬפޤ֥ȥեȥ⥸塼</div><div class='add'>+Ū֥饤֥̾.oפȤե</div><div class='add'>+Ȥͤ뤫Ǥ</div><div class='add'>+</div><div class='add'>+Rubyϳĥ饤֥ɤˡInit_饤֥̾פ</div><div class='add'>+ؿưŪ˼¹Ԥޤdbm饤֥ξInit_dbm</div><div class='add'>+Ǥδؿǥ饹⥸塼롤᥽åɡʤɤ</div><div class='add'>+Ԥޤdbm.cѤޤ</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+Init_dbm()</div><div class='add'>+{</div><div class='add'>+    /* DBM饹 */</div><div class='add'>+    cDBM = rb_define_class("DBM", rb_cObject);</div><div class='add'>+    /* DBMEnumerate⥸塼򥤥󥯥롼ɤ */</div><div class='add'>+    rb_include_module(cDBM, rb_mEnumerable);</div><div class='add'>+</div><div class='add'>+    /* DBM饹Υ饹᥽åopen(): CǼ */</div><div class='add'>+    rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);</div><div class='add'>+</div><div class='add'>+    /* DBM饹Υ᥽åclose(): Ϥʤ */</div><div class='add'>+    rb_define_method(cDBM, "close", fdbm_close, 0);</div><div class='add'>+    /* DBM饹Υ᥽å[]: 1 */</div><div class='add'>+    rb_define_method(cDBM, "[]", fdbm_fetch, 1);</div><div class='add'>+		:</div><div class='add'>+</div><div class='add'>+    /* DBMǡǼ륤󥹥ѿ̾ΤID */</div><div class='add'>+    id_dbm = rb_intern("dbm");</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+DBM饤֥dbmΥǡб륪֥ȤˤʤϤ</div><div class='add'>+顤CdbmRuby˼ɬפޤ</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+dbm.cǤData_Make_StructʲΤ褦˻ȤäƤޤ</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+struct dbmdata {</div><div class='add'>+    int  di_size;</div><div class='add'>+    DBM *di_dbm;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+obj = Data_Make_Struct(klass, struct dbmdata, 0, free_dbm, dbmp);</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+Ǥdbmstruct¤ΤؤΥݥ󥿤Data˥ץ벽Ƥ</div><div class='add'>+ޤDBM*ľܥץ벽ʤΤclose()ν</div><div class='add'>+ƤΤȤǤ</div><div class='add'>+</div><div class='add'>+Data֥Ȥdbmstruct¤ΤΥݥ󥿤Ф</div><div class='add'>+˰ʲΥޥȤäƤޤ</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+#define GetDBM(obj, dbmp) {\</div><div class='add'>+    Data_Get_Struct(obj, struct dbmdata, dbmp);\</div><div class='add'>+    if (dbmp-&gt;di_dbm == 0) closed_dbm();\</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+äʣʥޥǤפdbmdata¤ΤΥݥ</div><div class='add'>+μФȡcloseƤ뤫ɤΥåޤȤƤ</div><div class='add'>+Ǥ</div><div class='add'>+</div><div class='add'>+DBM饹ˤϤ᥽åɤޤʬह3</div><div class='add'>+μޤҤȤĤϰοΤΤǡ</div><div class='add'>+Ƥdelete᥽åɤޤdelete᥽åɤƤ</div><div class='add'>+fdbm_delete()ϤΤ褦ˤʤäƤޤ</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+static VALUE</div><div class='add'>+fdbm_delete(obj, keystr)</div><div class='add'>+    VALUE obj, keystr;</div><div class='add'>+{</div><div class='add'>+	:</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+οΥפ1self2ʹߤ᥽å</div><div class='add'>+ΰȤʤޤ</div><div class='add'>+</div><div class='add'>+οΤΤCǼΤRubyǼ</div><div class='add'>+ΤȤޤdbm饤֥ǡCǼ</div><div class='add'>+DBMΥ饹᥽åɤǤopen()ǤƤ</div><div class='add'>+fdbm_s_open()ϤʤäƤޤ</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+static VALUE</div><div class='add'>+fdbm_s_open(argc, argv, klass)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE klass;</div><div class='add'>+{</div><div class='add'>+	:</div><div class='add'>+    if (rb_scan_args(argc, argv, "11", &amp;file, &amp;vmode) == 1) {</div><div class='add'>+	mode = 0666;		/* default value */</div><div class='add'>+    }</div><div class='add'>+	:</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+Υפδؿ1Ϳ줿ο2Ϳ</div><div class='add'>+줿äƤˤʤޤself3ȤͿ</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+Ϳ줿Ϥ뤿δؿopen()ǤȤ</div><div class='add'>+Ƥrb_scan_args()Ǥ3˻ꤷեޥåȤ</div><div class='add'>+4ѿʹߤ˻ꤷѿͤƤޤ</div><div class='add'>+եޥåȤϡ1ʸܤάǤʤο2ʸܤ</div><div class='add'>+άǤο3ʸܤб̵꤬ޤΰ</div><div class='add'>+뤫ɤ򼨤"*"Ǥ2ʸܤ3ʸܤϾάǤ</div><div class='add'>+dbm.cǤϡեޥåȤ"11"Ǥ顤Ϻ1</div><div class='add'>+ǡ2ĤޤǵȤ̣ˤʤޤάƤ</div><div class='add'>+ѿͤnil(CΥ٥ǤQnil)ˤʤޤ</div><div class='add'>+</div><div class='add'>+RubyǰΤindexesޤϤ</div><div class='add'>+Ǥ</div><div class='add'>+</div><div class='add'>+--</div><div class='add'>+static VALUE</div><div class='add'>+fdbm_indexes(obj, args)</div><div class='add'>+    VALUE obj, args;</div><div class='add'>+{</div><div class='add'>+	:</div><div class='add'>+}</div><div class='add'>+--</div><div class='add'>+</div><div class='add'>+1self2RubyǤ</div><div class='add'>+</div><div class='add'>+** ջ</div><div class='add'>+</div><div class='add'>+RubyȶͭϤʤRubyΥ֥ȤǼǽΤ</div><div class='add'>+CѿϰʲδؿȤäRuby󥿥ץ꥿ѿ¸</div><div class='add'>+򶵤ƤƤǤʤGCǥȥ֥򵯤ޤ</div><div class='add'>+</div><div class='add'>+  void rb_global_variable(VALUE *var)</div><div class='add'>+</div><div class='add'>+(4) extconf.rbѰդ</div><div class='add'>+</div><div class='add'>+Makefileοˤʤextconf.rbȤե</div><div class='add'>+ޤextconf.rbϥ饤֥ΥѥɬפʾΥ</div><div class='add'>+ʤɤԤȤŪǤޤ</div><div class='add'>+</div><div class='add'>+  require 'mkmf'</div><div class='add'>+</div><div class='add'>+extconf.rbƬ֤ޤextconf.rbǤϰʲRuby</div><div class='add'>+ȤȤޤ</div><div class='add'>+</div><div class='add'>+  have_library(lib, func): 饤֥¸ߥå</div><div class='add'>+  have_func(func, header): ؿ¸ߥå</div><div class='add'>+  have_header(header): إåե¸ߥå</div><div class='add'>+  create_makefile(target): Makefile</div><div class='add'>+</div><div class='add'>+ʲѿȤȤǤޤ</div><div class='add'>+</div><div class='add'>+  $CFLAGS: ѥɲŪ˻ꤹե饰(-Oʤ)</div><div class='add'>+  $CPPFLAGS: ץץåɲŪ˻ꤹե饰(-I-Dʤ)</div><div class='add'>+  $LDFLAGS: 󥯻ɲŪ˻ꤹե饰(-Lʤ)</div><div class='add'>+  $objs: 󥯤륪֥ȥե̾Υꥹ</div><div class='add'>+</div><div class='add'>+֥ȥեΥꥹȤϡ̾ϥե򸡺</div><div class='add'>+ƼưŪޤmakeǥ褦</div><div class='add'>+Ū˻ꤹɬפޤ</div><div class='add'>+</div><div class='add'>+饤֥򥳥ѥ뤹郎·鷺Υ饤֥򥳥</div><div class='add'>+ѥ뤷ʤˤcreate_makefileƤФʤMakefile</div><div class='add'>+줺ѥԤޤ</div><div class='add'>+</div><div class='add'>+(5) dependѰդ</div><div class='add'>+</div><div class='add'>+⤷ǥ쥯ȥdependȤե뤬¸ߤС</div><div class='add'>+Makefile¸طåƤޤ</div><div class='add'>+</div><div class='add'>+  % gcc -MM *.c &gt; depend</div><div class='add'>+</div><div class='add'>+ʤɤǺ뤳Ȥޤä»̵Ǥ礦</div><div class='add'>+</div><div class='add'>+(6) Makefile</div><div class='add'>+</div><div class='add'>+Makefileºݤ뤿ˤ</div><div class='add'>+</div><div class='add'>+  ruby extconf.rb</div><div class='add'>+</div><div class='add'>+Ȥޤextconf.rb require 'mkmf' ιԤʤˤϥ顼</div><div class='add'>+ˤʤޤΤǡɲä</div><div class='add'>+</div><div class='add'>+  ruby -r mkmf extconf.rb</div><div class='add'>+</div><div class='add'>+ȤƤ</div><div class='add'>+</div><div class='add'>+ǥ쥯ȥextʲѰդˤRubyΤmakeλ</div><div class='add'>+ưŪMakefileޤΤǡΥƥåפפǤ</div><div class='add'>+</div><div class='add'>+(7) make</div><div class='add'>+</div><div class='add'>+ưŪ󥯥饤֥ˤϤξmakeƤ</div><div class='add'>+ɬפǤ make install ǥ󥹥ȡ뤵ޤ</div><div class='add'>+</div><div class='add'>+extʲ˥ǥ쥯ȥѰդϡRubyΥǥ쥯ȥ</div><div class='add'>+make¹ԤMakefilemakeɬפˤäƤϤΥ</div><div class='add'>+塼RubyؤΥ󥯤ޤǼưŪ˼¹ԤƤޤ</div><div class='add'>+extconf.rb񤭴ʤɤMakefileκɬפʻϤ</div><div class='add'>+Rubyǥ쥯ȥmakeƤ</div><div class='add'>+</div><div class='add'>+ĥ饤֥make installRuby饤֥Υǥ쥯ȥ</div><div class='add'>+˥ԡޤ⤷ĥ饤֥ȶĴƻȤRubyǵ</div><div class='add'>+Ҥ줿ץबꡤRuby饤֥֤ˤϡ</div><div class='add'>+ĥ饤֥ѤΥǥ쥯ȥβ lib Ȥǥ쥯ȥ</div><div class='add'>+ꡤ ĥ .rb Υե֤ƤƱ˥</div><div class='add'>+ȡ뤵ޤ</div><div class='add'>+</div><div class='add'>+(8) ǥХå</div><div class='add'>+</div><div class='add'>+ޤǥХåʤưʤǤ礦͡ext/Setup˥ǥ</div><div class='add'>+ȥ̾񤯤Ū˥󥯤ΤǥǥХåȤ褦ˤ</div><div class='add'>+ޤʬѥ뤬٤ʤޤɡ</div><div class='add'>+</div><div class='add'>+(9) Ǥ</div><div class='add'>+</div><div class='add'>+ϤäȤʤꡤʤꡤʤꡤͳˤ</div><div class='add'>+ȤRubyκԤϳĥ饤֥˴ؤưڤθ</div><div class='add'>+ĥޤ</div><div class='add'>+</div><div class='add'>+Appendix A. RubyΥɤʬ</div><div class='add'>+</div><div class='add'>+RubyΥϤĤʬह뤳ȤޤΤ</div><div class='add'>+饤֥ʬϴŪ˳ĥ饤֥Ʊˤʤ</div><div class='add'>+ƤޤΥϺޤǤǤۤȤǤ</div><div class='add'>+פޤ</div><div class='add'>+</div><div class='add'>+RubyΥ</div><div class='add'>+</div><div class='add'>+  class.c</div><div class='add'>+  error.c</div><div class='add'>+  eval.c</div><div class='add'>+  gc.c</div><div class='add'>+  object.c</div><div class='add'>+  parse.y</div><div class='add'>+  variable.c</div><div class='add'>+</div><div class='add'>+桼ƥƥؿ</div><div class='add'>+</div><div class='add'>+  dln.c</div><div class='add'>+  regex.c</div><div class='add'>+  st.c</div><div class='add'>+  util.c</div><div class='add'>+</div><div class='add'>+Rubyޥɤμ</div><div class='add'>+</div><div class='add'>+  dmyext.c</div><div class='add'>+  inits.c</div><div class='add'>+  main.c</div><div class='add'>+  ruby.c</div><div class='add'>+  version.c</div><div class='add'>+</div><div class='add'>+饹饤֥</div><div class='add'>+</div><div class='add'>+  array.c</div><div class='add'>+  bignum.c</div><div class='add'>+  compar.c</div><div class='add'>+  dir.c</div><div class='add'>+  enum.c</div><div class='add'>+  file.c</div><div class='add'>+  hash.c</div><div class='add'>+  io.c</div><div class='add'>+  marshal.c</div><div class='add'>+  math.c</div><div class='add'>+  numeric.c</div><div class='add'>+  pack.c</div><div class='add'>+  prec.c</div><div class='add'>+  process.c</div><div class='add'>+  random.c</div><div class='add'>+  range.c</div><div class='add'>+  re.c</div><div class='add'>+  signal.c</div><div class='add'>+  sprintf.c</div><div class='add'>+  string.c</div><div class='add'>+  struct.c</div><div class='add'>+  time.c</div><div class='add'>+</div><div class='add'>+Appendix B. ĥѴؿե</div><div class='add'>+</div><div class='add'>+C줫RubyεǽѤAPIϰʲ̤Ǥ롥</div><div class='add'>+</div><div class='add'>+** </div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+</div><div class='add'>+  Ruby֥Ȥɽ뷿ɬפ˱ƥ㥹ȤѤ롥</div><div class='add'>+  Ȥ߹߷ɽCηruby.h˵ҤƤRǻϤޤ빽¤</div><div class='add'>+  ΤǤ롥VALUE򤳤˥㥹Ȥ뤿RǻϤޤ빽¤</div><div class='add'>+  ̾ʸˤ̾ΥޥѰդƤ롥</div><div class='add'>+</div><div class='add'>+** ѿ</div><div class='add'>+</div><div class='add'>+Qnil</div><div class='add'>+</div><div class='add'>+  : nil֥</div><div class='add'>+</div><div class='add'>+Qtrue</div><div class='add'>+</div><div class='add'>+  : true֥(Υǥե)</div><div class='add'>+</div><div class='add'>+Qfalse</div><div class='add'>+</div><div class='add'>+  : false֥</div><div class='add'>+</div><div class='add'>+** CǡΥץ벽</div><div class='add'>+</div><div class='add'>+Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)</div><div class='add'>+</div><div class='add'>+  CǤդΥݥ󥿤򥫥ץ벽Ruby֥Ȥ֤</div><div class='add'>+  Υݥ󥿤Ruby饢ʤʤäfreeǻꤷ</div><div class='add'>+  ؿƤФ롥ޤΥݥ󥿤λؤǡ¾Ruby</div><div class='add'>+  ȤؤƤ硤mark˻ꤹؿǥޡɬ</div><div class='add'>+  롥</div><div class='add'>+</div><div class='add'>+Data_Make_Struct(klass, type, mark, free, sval)</div><div class='add'>+</div><div class='add'>+  typeΥmallocѿsval塤򥫥ץ</div><div class='add'>+  벽ǡ֤ޥ</div><div class='add'>+</div><div class='add'>+Data_Get_Struct(data, type, sval)</div><div class='add'>+</div><div class='add'>+  datatypeΥݥ󥿤Фѿsvalޥ</div><div class='add'>+</div><div class='add'>+** å</div><div class='add'>+</div><div class='add'>+TYPE(value)</div><div class='add'>+FIXNUM_P(value)</div><div class='add'>+NIL_P(value)</div><div class='add'>+void Check_Type(VALUE value, int type)</div><div class='add'>+void Check_SafeStr(VALUE value)</div><div class='add'>+</div><div class='add'>+** Ѵ</div><div class='add'>+</div><div class='add'>+FIX2INT(value)</div><div class='add'>+INT2FIX(i)</div><div class='add'>+NUM2INT(value)</div><div class='add'>+INT2NUM(i)</div><div class='add'>+NUM2DBL(value)</div><div class='add'>+rb_float_new(f)</div><div class='add'>+StringValue(value)</div><div class='add'>+StringValuePtr(value)</div><div class='add'>+StringValueCStr(value)</div><div class='add'>+rb_str_new2(s)</div><div class='add'>+</div><div class='add'>+** 饹/⥸塼</div><div class='add'>+</div><div class='add'>+VALUE rb_define_class(const char *name, VALUE super)</div><div class='add'>+</div><div class='add'>+  superΥ֥饹ȤƿRuby饹롥</div><div class='add'>+</div><div class='add'>+VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)</div><div class='add'>+</div><div class='add'>+  superΥ֥饹ȤƿRuby饹module</div><div class='add'>+  Ȥ롥</div><div class='add'>+</div><div class='add'>+VALUE rb_define_module(const char *name)</div><div class='add'>+</div><div class='add'>+  Ruby⥸塼롥</div><div class='add'>+</div><div class='add'>+VALUE rb_define_module_under(VALUE module, const char *name)</div><div class='add'>+</div><div class='add'>+  Ruby⥸塼moduleȤ롥</div><div class='add'>+</div><div class='add'>+void rb_include_module(VALUE klass, VALUE module)</div><div class='add'>+</div><div class='add'>+  ⥸塼򥤥󥯥롼ɤ롥classǤmodule򥤥</div><div class='add'>+  롼ɤƤˤϲ⤷ʤ(¿ť󥯥롼ɤζػ)</div><div class='add'>+</div><div class='add'>+void rb_extend_object(VALUE object, VALUE module)</div><div class='add'>+</div><div class='add'>+  ֥Ȥ⥸塼(Ƥ᥽å)ǳĥ롥</div><div class='add'>+</div><div class='add'>+** ѿ</div><div class='add'>+</div><div class='add'>+void rb_define_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+  RubyCȤǶͭ륰Хѿ롥ѿ̾`$'</div><div class='add'>+  ϤޤʤˤϼưŪɲä롥nameȤRubyμ̻</div><div class='add'>+  ȤƵʤʸ(㤨` ')ޤˤRubyץ</div><div class='add'>+  फϸʤʤ롥</div><div class='add'>+</div><div class='add'>+void rb_define_readonly_variable(const char *name, VALUE *var)</div><div class='add'>+</div><div class='add'>+  RubyCȤǶͭread onlyΥХѿ롥</div><div class='add'>+  read onlyǤ뤳Ȱʳrb_define_variable()Ʊ</div><div class='add'>+</div><div class='add'>+void rb_define_virtual_variable(const char *name,</div><div class='add'>+				VALUE (*getter)(), void (*setter)())</div><div class='add'>+</div><div class='add'>+  ؿˤäƼ¸Rubyѿ롥ѿȤ줿</div><div class='add'>+  ˤgetterѿͤåȤ줿ˤsetterƤФ</div><div class='add'>+  롥</div><div class='add'>+</div><div class='add'>+void rb_define_hooked_variable(const char *name, VALUE *var,</div><div class='add'>+			       VALUE (*getter)(), void (*setter)())</div><div class='add'>+</div><div class='add'>+  ؿˤähookΤĤ줿Хѿ롥ѿ</div><div class='add'>+  Ȥ줿ˤgetterؿͤåȤ줿ˤ</div><div class='add'>+  setterƤФ롥gettersetter0ꤷˤhook</div><div class='add'>+  ꤷʤΤƱˤʤ롥</div><div class='add'>+</div><div class='add'>+void rb_global_variable(VALUE *var)</div><div class='add'>+</div><div class='add'>+  GCΤᡤRubyץफϥʤ, Ruby</div><div class='add'>+  Ȥޤѿޡ롥</div><div class='add'>+</div><div class='add'>+** </div><div class='add'>+</div><div class='add'>+void rb_define_const(VALUE klass, const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+  롥</div><div class='add'>+</div><div class='add'>+void rb_define_global_const(const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+  롥</div><div class='add'>+</div><div class='add'>+     rb_define_const(rb_cObject, name, val)</div><div class='add'>+</div><div class='add'>+  Ʊ̣</div><div class='add'>+</div><div class='add'>+** ᥽å</div><div class='add'>+</div><div class='add'>+rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+  ᥽åɤ롥argcselfοargc-1λ, </div><div class='add'>+  ؿˤϰο(selfޤޤʤ)1, 2</div><div class='add'>+  ȤͿ(3self)argc-2λ, </div><div class='add'>+  1self, 2args(argsϰޤRuby)</div><div class='add'>+  Ϳ롥</div><div class='add'>+ </div><div class='add'>+rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+  private᥽åɤ롥rb_define_method()Ʊ</div><div class='add'>+</div><div class='add'>+rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)</div><div class='add'>+</div><div class='add'>+  ðۥ᥽åɤ롥rb_define_method()Ʊ</div><div class='add'>+</div><div class='add'>+rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+  argc, argvͿ줿ʬ򤹤롥fmtɬܰο, </div><div class='add'>+  ղðο, Ĥΰ뤫ꤹʸ, "</div><div class='add'>+  *"ȤǤ롥 2 ܤο"*"Ϥ줾ά</div><div class='add'>+  ǽǤ롥ɬܰĤʤ0ꤹ롥3</div><div class='add'>+  ߤѿؤΥݥ󥿤, Ǥѿ˳Ǽ롥</div><div class='add'>+  ղðбͿƤʤѿQnil</div><div class='add'>+  롥</div><div class='add'>+</div><div class='add'>+** Ruby᥽åɸƤӽФ</div><div class='add'>+</div><div class='add'>+VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)</div><div class='add'>+</div><div class='add'>+  ᥽åɸƤӽФʸ󤫤mid뤿ˤrb_intern()</div><div class='add'>+  Ȥ</div><div class='add'>+</div><div class='add'>+VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='add'>+</div><div class='add'>+  ᥽åɸƤӽФargc, argvϤ</div><div class='add'>+</div><div class='add'>+VALUE rb_eval_string(const char *str)</div><div class='add'>+</div><div class='add'>+  ʸRubyץȤȤƥѥ롦¹Ԥ롥</div><div class='add'>+</div><div class='add'>+ID rb_intern(const char *name)</div><div class='add'>+</div><div class='add'>+  ʸбID֤</div><div class='add'>+</div><div class='add'>+char *rb_id2name(ID id)</div><div class='add'>+</div><div class='add'>+  IDбʸ֤(ǥХå)</div><div class='add'>+</div><div class='add'>+char *rb_class2name(VALUE klass)</div><div class='add'>+</div><div class='add'>+  饹֤̾(ǥХå)饹̾ʤˤ, </div><div class='add'>+  ̤ä̾ĥ饹֤̾</div><div class='add'>+</div><div class='add'>+int rb_respond_to(VALUE obj, ID id)</div><div class='add'>+</div><div class='add'>+  objidǼ᥽åɤĤɤ֤</div><div class='add'>+</div><div class='add'>+** 󥹥ѿ</div><div class='add'>+</div><div class='add'>+VALUE rb_iv_get(VALUE obj, const char *name)</div><div class='add'>+</div><div class='add'>+  objΥ󥹥ѿͤ롥`@'ǻϤޤʤ󥹥</div><div class='add'>+  ѿ Rubyץफ饢Ǥʤֱ줿ץ</div><div class='add'>+  ѿˤʤ롥ʸ̾ĥ饹(ޤ</div><div class='add'>+  ⥸塼)Υ󥹥ѿȤƼƤ롥</div><div class='add'>+</div><div class='add'>+VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)</div><div class='add'>+</div><div class='add'>+  objΥ󥹥ѿval˥åȤ롥</div><div class='add'>+</div><div class='add'>+** 湽¤</div><div class='add'>+</div><div class='add'>+VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)</div><div class='add'>+</div><div class='add'>+  func2֥åȤꤷ, func1򥤥ƥ졼ȤƸƤ֡ </div><div class='add'>+  func1ˤ arg1ȤϤ, func2ˤ1˥ƥ졼</div><div class='add'>+  Ϳ줿, 2arg2Ϥ롥</div><div class='add'>+ </div><div class='add'>+VALUE rb_yield(VALUE val)</div><div class='add'>+</div><div class='add'>+  valͤȤƥƥ졼֥åƤӽФ</div><div class='add'>+</div><div class='add'>+VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)</div><div class='add'>+</div><div class='add'>+  ؿfunc1arg1˸ƤӽФfunc1μ¹㳰ȯ</div><div class='add'>+  ˤ func2arg2ȤƸƤ֡ͤ㳰ȯ</div><div class='add'>+  ʤäfunc1, 㳰ȯˤfunc2</div><div class='add'>+  ͤǤ롥</div><div class='add'>+</div><div class='add'>+VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, void (*func2)(), VALUE arg2)</div><div class='add'>+</div><div class='add'>+  ؿfunc1arg1ȤƼ¹Ԥ, ¹Խλ(Ȥ㳰</div><div class='add'>+  ȯƤ) func2arg2ȤƼ¹Ԥ롥ͤfunc1</div><div class='add'>+  ͤǤ(㳰ȯʤ)</div><div class='add'>+</div><div class='add'>+** 㳰顼</div><div class='add'>+</div><div class='add'>+void rb_warning(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+  rb_verboseɸ२顼Ϥ˷ٹɽ롥</div><div class='add'>+  printf()Ʊ</div><div class='add'>+</div><div class='add'>+void rb_raise(rb_eRuntimeError, const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+  RuntimeError㳰ȯ롥printf()Ʊ</div><div class='add'>+</div><div class='add'>+void rb_raise(VALUE exception, const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+  exceptionǻꤷ㳰ȯ롥fmtʲΰ</div><div class='add'>+  printf()Ʊ</div><div class='add'>+</div><div class='add'>+void rb_fatal(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+  ̿Ū㳰ȯ롥̾㳰ϹԤʤ줺, 󥿡</div><div class='add'>+  ץ꥿λ(ensureǻꤵ줿ɤϽλ</div><div class='add'>+  ¹Ԥ)</div><div class='add'>+</div><div class='add'>+void rb_bug(const char *fmt, ...)</div><div class='add'>+</div><div class='add'>+  󥿡ץ꥿ʤɥץΥХǤȯϤΤʤ</div><div class='add'>+  λƤ֡󥿡ץ꥿ϥפľ˽λ롥</div><div class='add'>+  㳰ϰڹԤʤʤ</div><div class='add'>+</div><div class='add'>+** Rubyν¹</div><div class='add'>+</div><div class='add'>+Ruby򥢥ץꥱˤϰʲΥ󥿥ե</div><div class='add'>+Ȥ̾γĥ饤֥ˤɬפʤ</div><div class='add'>+</div><div class='add'>+void ruby_init()</div><div class='add'>+</div><div class='add'>+  Ruby󥿥ץ꥿νԤʤ</div><div class='add'>+</div><div class='add'>+void ruby_options(int argc, char **argv)</div><div class='add'>+</div><div class='add'>+  Ruby󥿥ץ꥿Υޥɥ饤νԤʤ</div><div class='add'>+</div><div class='add'>+void ruby_run()</div><div class='add'>+</div><div class='add'>+  Ruby󥿥ץ꥿¹Ԥ롥</div><div class='add'>+</div><div class='add'>+void ruby_script(char *name)</div><div class='add'>+</div><div class='add'>+  RubyΥץ̾($0)ꤹ롥</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+Appendix C. extconf.rbǻȤؿ</div><div class='add'>+</div><div class='add'>+extconf.rbǤѲǽʥѥåδؿϰ</div><div class='add'>+̤Ǥ롥</div><div class='add'>+</div><div class='add'>+have_macro(macro, headers)</div><div class='add'>+</div><div class='add'>+  إåեheader򥤥󥯥롼ɤƥޥmacro</div><div class='add'>+  Ƥ뤫ɤå롥ޥƤtrue</div><div class='add'>+  ֤</div><div class='add'>+</div><div class='add'>+have_library(lib, func)</div><div class='add'>+</div><div class='add'>+  ؿfuncƤ饤֥lib¸ߤå롥</div><div class='add'>+  饤֥꤬¸ߤtrue֤</div><div class='add'>+</div><div class='add'>+find_library(lib, func, path...)</div><div class='add'>+</div><div class='add'>+  ؿfuncƤ饤֥lib¸ߤ -Lpath ɲ</div><div class='add'>+  ʤå롥饤֥꤬դätrue֤</div><div class='add'>+</div><div class='add'>+have_func(func, header)</div><div class='add'>+</div><div class='add'>+  إåեheader򥤥󥯥롼ɤƴؿfunc¸ߤ</div><div class='add'>+  롥funcɸǤϥ󥯤ʤ饤֥ΤΤǤ</div><div class='add'>+  ˤhave_libraryǤΥ饤֥åƤ</div><div class='add'>+  ؿ¸ߤtrue֤</div><div class='add'>+</div><div class='add'>+have_var(var, header)</div><div class='add'>+</div><div class='add'>+  إåեheader򥤥󥯥롼ɤѿvar¸ߤ</div><div class='add'>+  롥varɸǤϥ󥯤ʤ饤֥ΤΤǤ</div><div class='add'>+  ˤhave_libraryǤΥ饤֥åƤ</div><div class='add'>+  ѿ¸ߤtrue֤</div><div class='add'>+</div><div class='add'>+have_header(header)</div><div class='add'>+</div><div class='add'>+  إåե¸ߤå롥إåե뤬¸ߤ</div><div class='add'>+  true֤</div><div class='add'>+</div><div class='add'>+find_header(header, path...)</div><div class='add'>+</div><div class='add'>+  إåեheader¸ߤ -Ipath ɲäʤå</div><div class='add'>+  롥إåե뤬դätrue֤</div><div class='add'>+</div><div class='add'>+have_struct_member(type, member, header)</div><div class='add'>+</div><div class='add'>+  إåեheader򥤥󥯥롼ɤƷtype˥member</div><div class='add'>+  ¸ߤ뤫å롥typeƤơmember</div><div class='add'>+  Ĥtrue֤</div><div class='add'>+</div><div class='add'>+have_type(type, header, opt)</div><div class='add'>+</div><div class='add'>+  إåեheader򥤥󥯥롼ɤƷtype¸ߤ뤫</div><div class='add'>+  å롥typeƤtrue֤</div><div class='add'>+</div><div class='add'>+check_sizeof(type, header)</div><div class='add'>+</div><div class='add'>+  إåեheader򥤥󥯥롼ɤƷtypecharñ̥</div><div class='add'>+  Ĵ٤롥typeƤΥ֤</div><div class='add'>+  ƤʤȤnil֤</div><div class='add'>+</div><div class='add'>+create_makefile(target)</div><div class='add'>+</div><div class='add'>+  ĥ饤֥ѤMakefile롥δؿƤФʤ</div><div class='add'>+  ФΥ饤֥ϥѥ뤵ʤtargetϥ⥸塼̾</div><div class='add'>+  ɽ</div><div class='add'>+</div><div class='add'>+find_executable(command, path)</div><div class='add'>+</div><div class='add'>+  ޥcommandFile::PATH_SEPARATORǶڤ줿ѥ̾</div><div class='add'>+  ꥹpathõpathnilޤϾά줿ϡĶ</div><div class='add'>+  ѿPATHͤѤ롥¹ԲǽʥޥɤĤä</div><div class='add'>+  ϥѥޤե̾Ĥʤänil֤</div><div class='add'>+</div><div class='add'>+with_config(withval[, default=nil])</div><div class='add'>+</div><div class='add'>+  ޥɥ饤--with-&lt;withval&gt;ǻꤵ줿ץͤ롥</div><div class='add'>+</div><div class='add'>+enable_config(config, *defaults)</div><div class='add'>+disable_config(config, *defaults)</div><div class='add'>+</div><div class='add'>+  ޥɥ饤--enable-&lt;config&gt;ޤ</div><div class='add'>+  --disable-&lt;config&gt;ǻꤵ줿ͤ롥</div><div class='add'>+  --enable-&lt;config&gt;ꤵƤtrue</div><div class='add'>+  --disable-&lt;config&gt;ꤵƤfalse֤</div><div class='add'>+  ɤꤵƤʤϡ֥åĤǸƤӽФƤ</div><div class='add'>+  *defaultsyield̡֥åʤʤ*defaults֤</div><div class='add'>+</div><div class='add'>+dir_config(target[, default_dir])</div><div class='add'>+dir_config(target[, default_include, default_lib])</div><div class='add'>+</div><div class='add'>+  ޥɥ饤--with-&lt;target&gt;-dir, --with-&lt;target&gt;-include,</div><div class='add'>+  --with-&lt;target&gt;-libΤ줫ǻꤵǥ쥯ȥ</div><div class='add'>+  $CFLAGS  $LDFLAGS ɲä롥--with-&lt;target&gt;-dir=/path</div><div class='add'>+  --with-&lt;target&gt;-include=/path/include --with-&lt;target&gt;-lib=/path/lib</div><div class='add'>+  Ǥ롥ɲä줿 include ǥ쥯ȥ lib ǥ쥯ȥ</div><div class='add'>+  ֤ ([include_dir, lib_dir])</div><div class='add'>+</div><div class='add'>+pkg_config(pkg)</div><div class='add'>+</div><div class='add'>+  pkg-configޥɤѥåpkgξ롥 </div><div class='add'>+  pkg-configμºݤΥޥ̾ϡ--with-pkg-configޥ</div><div class='add'>+  饤󥪥ץǻǽ</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Local variables:</div><div class='add'>+ * fill-column: 60</div><div class='add'>+ * end:</div><div class='add'>+ */</div><div class='head'>diff --git a/README.ja b/README.ja<br/>new file mode 100644<br/>index 0000000000..df8cfc03f4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/README.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>README.ja</a></div><div class='hunk'>@@ -0,0 +1,160 @@</div><div class='add'>+* RubyȤ</div><div class='add'>+</div><div class='add'>+Rubyϥץ뤫ĶϤʥ֥ȻظץȸǤ</div><div class='add'>+RubyϺǽ餫ʥ֥ȻظȤ߷פƤ</div><div class='add'>+顤֥Ȼظץߥ󥰤ڤ˹Ԥ</div><div class='add'>+̾μ³Υץߥ󥰤ǽǤ</div><div class='add'>+</div><div class='add'>+RubyϥƥȽطǽϤʤɤͥ졤PerlƱ餤</div><div class='add'>+Ǥ˥ץʸˡȡ㳰䥤ƥ졼ʤɤε</div><div class='add'>+ˤäơʬ䤹ץߥ󥰤ޤ</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* RubyĹ</div><div class='add'>+</div><div class='add'>+  + ץʸˡ</div><div class='add'>+  + ̤Υ֥Ȼظǽ(饹᥽åɥʤ)</div><div class='add'>+  + üʥ֥Ȼظǽ(Mixin, ðۥ᥽åɤʤ)</div><div class='add'>+  + 黻ҥС</div><div class='add'>+  + 㳰ǽ</div><div class='add'>+  + ƥ졼ȥ</div><div class='add'>+  + ١쥯</div><div class='add'>+  + ʥߥåǥ (ƥˤ)</div><div class='add'>+  + ܿ⤤¿UNIXưǤʤDOSWindows</div><div class='add'>+    MacBeOSʤɤξǤư</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* ˡ</div><div class='add'>+</div><div class='add'>+** FTP</div><div class='add'>+</div><div class='add'>+ʲξˤƤޤ</div><div class='add'>+</div><div class='add'>+  ftp://ftp.ruby-lang.org/pub/ruby/</div><div class='add'>+</div><div class='add'>+** Subversion</div><div class='add'>+</div><div class='add'>+ܥ֥RubyκǿΥɤϼΥޥɤǼǤޤ</div><div class='add'>+</div><div class='add'>+  $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6/</div><div class='add'>+</div><div class='add'>+ȯüΥɤϼΥޥɤǼǤޤ</div><div class='add'>+</div><div class='add'>+  $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby</div><div class='add'>+</div><div class='add'>+¾˳ȯΥ֥ΰϼΥޥɤǸޤ</div><div class='add'>+</div><div class='add'>+  $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* ۡڡ</div><div class='add'>+</div><div class='add'>+RubyΥۡڡURL</div><div class='add'>+</div><div class='add'>+   http://www.ruby-lang.org/</div><div class='add'>+</div><div class='add'>+Ǥ</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* ᡼󥰥ꥹ</div><div class='add'>+</div><div class='add'>+RubyΥ᡼󥰥ꥹȤޤô˾</div><div class='add'>+</div><div class='add'>+   ruby-list-ctl@ruby-lang.org</div><div class='add'>+</div><div class='add'>+ޤʸ</div><div class='add'>+</div><div class='add'>+   subscribe YourFirstName YourFamilyName</div><div class='add'>+   </div><div class='add'>+Ƚ񤤤äƲ </div><div class='add'>+</div><div class='add'>+RubyȯԸ᡼󥰥ꥹȤ⤢ޤǤrubyΥ</div><div class='add'>+λͳĥʤɼˤĤƵƤޤ</div><div class='add'>+ô˾</div><div class='add'>+</div><div class='add'>+   ruby-dev-ctl@ruby-lang.org</div><div class='add'>+</div><div class='add'>+ޤruby-listƱͤˡǥ᡼뤷Ƥ </div><div class='add'>+</div><div class='add'>+Rubyĥ⥸塼ˤĤä礦ruby-ext᡼󥰥ꥹȤ</div><div class='add'>+شطˤĤä礦ruby-math᡼󥰥ꥹȤ</div><div class='add'>+Ѹä礦ruby-talk᡼󥰥ꥹȤ⤢ޤˡ</div><div class='add'>+ϤɤƱǤ </div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* ѥ롦󥹥ȡ</div><div class='add'>+</div><div class='add'>+ʲμǹԤäƤ</div><div class='add'>+</div><div class='add'>+  1. ⤷configureե뤬Ĥʤ⤷</div><div class='add'>+     configure.inŤ褦ʤ顢autoconf¹Ԥ</div><div class='add'>+     configure</div><div class='add'>+</div><div class='add'>+  2. configure¹ԤMakefileʤɤ</div><div class='add'>+</div><div class='add'>+  3. (ɬפʤ)defines.hԽ</div><div class='add'>+</div><div class='add'>+     ¿ʬɬ̵Ȼפޤ</div><div class='add'>+</div><div class='add'>+  4. (ɬפʤ)ext/SetupŪ˥󥯤ĥ⥸塼</div><div class='add'>+     ꤹ</div><div class='add'>+</div><div class='add'>+     ext/Setup˵Ҥ⥸塼Ū˥󥯤ޤ</div><div class='add'>+</div><div class='add'>+     ʥߥåǥ󥰤򥵥ݡȤƤʤƥ</div><div class='add'>+     ǤSetup1ܤΡoption nodynamicפȤԤΥ</div><div class='add'>+     Ȥ򳰤ɬפޤޤΥƥ</div><div class='add'>+     ĥ⥸塼Ѥ뤿ˤϡ餫Ū˥</div><div class='add'>+     Ƥɬפޤ</div><div class='add'>+</div><div class='add'>+  5. make¹Ԥƥѥ뤹</div><div class='add'>+</div><div class='add'>+  6. make testǥƥȤԤ</div><div class='add'>+</div><div class='add'>+     test succeededפɽǤƥ</div><div class='add'>+     ƤⴰݾڤƤǤϤޤ</div><div class='add'>+</div><div class='add'>+  7. make install</div><div class='add'>+</div><div class='add'>+     rootǺȤɬפ뤫⤷ޤ</div><div class='add'>+</div><div class='add'>+⤷ѥ˥顼ȯˤϥ顼Υȥ</div><div class='add'>+OSμޤǤܤݡȤԤäƤ</div><div class='add'>+¾Τˤʤޤ</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* ܿ</div><div class='add'>+</div><div class='add'>+UNIXǤconfigureۤȤɤκۤۼƤϤ</div><div class='add'>+פ̸Ȥä(˰㤤ʤ)Ԥˤ</div><div class='add'>+ȤݡȤСǤ뤫Τޤ</div><div class='add'>+</div><div class='add'>+ƥˤäȤ¸ΤGCǤRubyGCо</div><div class='add'>+Υƥ㤬setjmp()ˤäƤΥ쥸 jmp_buf</div><div class='add'>+Ǽ뤳Ȥȡjmp_bufȥå32bit饤Ȥ</div><div class='add'>+뤳ȤꤷƤޤäԤΩʤб</div><div class='add'>+˺Ǥ礦ԤβŪñǡgc.cǥå</div><div class='add'>+ޡƤʬ˥饤ȤΥХȿ餷ƥޡ</div><div class='add'>+륳ɤɲäǺѤߤޤdefined(THINK_C)פ</div><div class='add'>+Ƥʬ򻲹ͤˤƤ</div><div class='add'>+</div><div class='add'>+# ºݤˤRubyThink CǤϥѥǤޤ</div><div class='add'>+</div><div class='add'>+쥸ɥCPUǤϡ쥸ɥ򥹥</div><div class='add'>+˥եå夹륢֥饳ɤɲäɬפ뤫</div><div class='add'>+ޤ</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* ۾</div><div class='add'>+</div><div class='add'>+COPYING.jaե򻲾ȤƤ</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* </div><div class='add'>+</div><div class='add'>+ȡХݡȤ¾ matz@netlab.jp ޤǡ</div><div class='add'>+-------------------------------------------------------</div><div class='add'>+created at: Thu Aug  3 11:57:36 JST 1995</div><div class='add'>+Local variables:</div><div class='add'>+mode: indented-text</div><div class='add'>+end:</div><div class='head'>diff --git a/README.ja.md b/README.ja.md<br/>deleted file mode 100644<br/>index 353f9b14cc..0000000000<br/>--- a/<a href='/ruby.git/tree/README.ja.md?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>README.ja.md</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,174 +0,0 @@</div><div class='del'>-[![Build Status](https://travis-ci.org/ruby/ruby.svg)](https://travis-ci.org/ruby/ruby)</div><div class='del'>-[![Build status](https://ci.appveyor.com/api/projects/status/0sy8rrxut4o0k960/branch/trunk?svg=true)](https://ci.appveyor.com/project/ruby/ruby/branch/trunk)</div><div class='del'>-</div><div class='del'>-# Rubyとは</div><div class='del'>-</div><div class='del'>-Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です． Rubyは純粋なオブジェクト指向言語として設計されているので，</div><div class='del'>-オブジェクト指向プログラミングを手軽に行う事が出来ます．もちろん普通の手続き型のプログラミングも可能です．</div><div class='del'>-</div><div class='del'>-Rubyはテキスト処理関係の能力などに優れ，Perlと同じくらい強力です．さらにシンプルな文法と，</div><div class='del'>-例外処理やイテレータなどの機構によって，より分かりやすいプログラミングが出来ます．</div><div class='del'>-</div><div class='del'>-## Rubyの特長</div><div class='del'>-</div><div class='del'>-*   シンプルな文法</div><div class='del'>-*   普通のオブジェクト指向機能(クラス，メソッドコールなど)</div><div class='del'>-*   特殊なオブジェクト指向機能(Mixin, 特異メソッドなど)</div><div class='del'>-*   演算子オーバーロード</div><div class='del'>-*   例外処理機能</div><div class='del'>-*   イテレータとクロージャ</div><div class='del'>-*   ガーベージコレクタ</div><div class='del'>-*   ダイナミックローディング (アーキテクチャによる)</div><div class='del'>-*   移植性が高い．多くのUnix-like/POSIX互換プラットフォーム上で動くだけでなく，Windows， macOS，</div><div class='del'>-    Haikuなどの上でも動く cf.</div><div class='del'>-    https://github.com/ruby/ruby/blob/trunk/doc/contributing.rdoc#platform-maintainers</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-## 入手法</div><div class='del'>-</div><div class='del'>-サードパーティーツールを使った方法を含むRubyのインストール方法の一覧は</div><div class='del'>-</div><div class='del'>-https://www.ruby-lang.org/ja/downloads/</div><div class='del'>-</div><div class='del'>-を参照してください．</div><div class='del'>-</div><div class='del'>-### Subversionで</div><div class='del'>-</div><div class='del'>-開発先端のソースコードは次のコマンドで取得できます．</div><div class='del'>-</div><div class='del'>-    $ svn co https://svn.ruby-lang.org/repos/ruby/trunk/ ruby</div><div class='del'>-</div><div class='del'>-他に開発中のブランチの一覧は次のコマンドで見られます．</div><div class='del'>-</div><div class='del'>-    $ svn ls https://svn.ruby-lang.org/repos/ruby/branches/</div><div class='del'>-</div><div class='del'>-### Gitで</div><div class='del'>-</div><div class='del'>-SubversionのミラーをGitHubに公開しています． 以下のコマンドでリポジトリを取得できます．</div><div class='del'>-</div><div class='del'>-    $ git clone https://github.com/ruby/ruby.git</div><div class='del'>-</div><div class='del'>-## ホームページ</div><div class='del'>-</div><div class='del'>-RubyのホームページのURLは</div><div class='del'>-</div><div class='del'>-https://www.ruby-lang.org/</div><div class='del'>-</div><div class='del'>-です．</div><div class='del'>-</div><div class='del'>-## メーリングリスト</div><div class='del'>-</div><div class='del'>-Rubyのメーリングリストがあります．参加希望の方は</div><div class='del'>-</div><div class='del'>-mailto:ruby-list-request@ruby-lang.org</div><div class='del'>-</div><div class='del'>-まで本文に</div><div class='del'>-</div><div class='del'>-    subscribe</div><div class='del'>-</div><div class='del'>-と書いて送って下さい．</div><div class='del'>-</div><div class='del'>-Ruby開発者向けメーリングリストもあります．こちらではrubyのバグ，将来の仕様拡張など実装上の問題について議論されています． 参加希望の方は</div><div class='del'>-</div><div class='del'>-mailto:ruby-dev-request@ruby-lang.org</div><div class='del'>-</div><div class='del'>-までruby-listと同様の方法でメールしてください．</div><div class='del'>-</div><div class='del'>-Ruby拡張モジュールについて話し合うruby-extメーリングリストと数学関係の話題について話し合うruby-mathメーリングリストと</div><div class='del'>-英語でrubyについて話し合うruby-talkメーリングリストもあります．参加方法はどれも同じです．</div><div class='del'>-</div><div class='del'>-## コンパイル・インストール</div><div class='del'>-</div><div class='del'>-以下の手順で行ってください．</div><div class='del'>-</div><div class='del'>-1.  もし `configure` ファイルが見つからない，もしくは `configure.ac` より古いようなら， `autoconf` を実行して</div><div class='del'>-    新しく `configure` を生成する</div><div class='del'>-</div><div class='del'>-2.  `configure` を実行して `Makefile` などを生成する</div><div class='del'>-</div><div class='del'>-    環境によってはデフォルトのCコンパイラ用オプションが付きます． `configure` オプションで `optflags=..`</div><div class='del'>-    `warnflags=..` 等で上書きできます．</div><div class='del'>-</div><div class='del'>-3.  (必要ならば)`defines.h` を編集する</div><div class='del'>-</div><div class='del'>-    多分，必要無いと思います．</div><div class='del'>-</div><div class='del'>-4.  (必要ならば)`ext/Setup` に静的にリンクする拡張モジュールを指定する</div><div class='del'>-</div><div class='del'>-    `ext/Setup` に記述したモジュールは静的にリンクされます．</div><div class='del'>-</div><div class='del'>-    ダイナミックローディングをサポートしていないアーキテクチャでは `Setup` の1行目の「`option nodynamic`」という行のコ</div><div class='del'>-    メントを外す必要があります．また，このアーキテクチャで拡張モジュールを利用するためには，あらかじめ静的にリンクをしておく必要があります．</div><div class='del'>-</div><div class='del'>-5.  `make` を実行してコンパイルする</div><div class='del'>-</div><div class='del'>-6.  `make check`でテストを行う．</div><div class='del'>-</div><div class='del'>-    「`check succeeded`」と表示されれば成功です．ただしテストに成功しても完璧だと保証されている訳ではありません．</div><div class='del'>-</div><div class='del'>-7.  `make install`</div><div class='del'>-</div><div class='del'>-    以下のディレクトリを作って，そこにファイルをインストー ルします．</div><div class='del'>-</div><div class='del'>-    *   `${DESTDIR}${prefix}/bin`</div><div class='del'>-    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/share/man/man1`</div><div class='del'>-    *   `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-    RubyのAPIバージョンが'*x.y.z*'であれば，`${MAJOR}`は</div><div class='del'>-    '*x*'で，`${MINOR}`は'*y*'，`${TEENY}`は'*z*'です．</div><div class='del'>-</div><div class='del'>-    **注意**: APIバージョンの `teeny` は，Rubyプログラムのバージョンとは異なることがあります．</div><div class='del'>-</div><div class='del'>-    `root` で作業する必要があるかもしれません．</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-もし，コンパイル時にエラーが発生した場合にはエラーのログとマシン，OSの種類を含むできるだけ詳しいレポートを作者に送って下さると他の方のためにもなります．</div><div class='del'>-</div><div class='del'>-## 移植</div><div class='del'>-</div><div class='del'>-UNIXであれば `configure` がほとんどの差異を吸収してくれるはずですが，思わぬ見落としがあった場合(ある事が多い)，作者にその</div><div class='del'>-ことを報告すれば，解決できる可能性があります．</div><div class='del'>-</div><div class='del'>-アーキテクチャにもっとも依存するのはGC部です．RubyのGCは対象</div><div class='del'>-のアーキテクチャが`setjmp()`または`getcontext()`によって全てのレジスタを `jmp_buf` や `ucontext_t`</div><div class='del'>-に格納することと， `jmp_buf` や `ucontext_t` とスタックが32bitアラインメントされていることを仮定</div><div class='del'>-しています．特に前者が成立しない場合の対応は非常に困難でしょう． 後者の解決は比較的簡単で， `gc.c` でスタックをマークしている</div><div class='del'>-部分にアラインメントのバイト数だけずらしてマークするコードを追加するだけで済みます．`defined(__mc68000__)`で括られてい</div><div class='del'>-る部分を参考にしてください．</div><div class='del'>-</div><div class='del'>-レジスタウィンドウを持つCPUでは，レジスタウィンドウをスタックにフラッシュするアセンブラコードを追加する必要があるかもしれません．</div><div class='del'>-</div><div class='del'>-## 配布条件</div><div class='del'>-</div><div class='del'>-[COPYING.ja](COPYING.ja) ファイルを参照してください．</div><div class='del'>-</div><div class='del'>-## フィードバック</div><div class='del'>-</div><div class='del'>-Rubyに関する質問は Ruby-Talk（英語）や Ruby-List（日本語） (https://www.ruby-lang.org/ja/community/mailing-lists) や，</div><div class='del'>-stackoverflow (https://ja.stackoverflow.com/) などのWebサイトに投稿してください．</div><div class='del'>-</div><div class='del'>-バグ報告は https://bugs.ruby-lang.org で受け付けています．</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-## 著者</div><div class='del'>-</div><div class='del'>-Rubyのオリジナル版は，1995年にまつもとゆきひろ氏によって設計・開発されました．</div><div class='del'>-</div><div class='del'>-&lt;mailto:matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>----</div><div class='del'>-created at: Thu Aug  3 11:57:36 JST 1995</div><div class='head'>diff --git a/README.md b/README.md<br/>deleted file mode 100644<br/>index 1e76fda4f0..0000000000<br/>--- a/<a href='/ruby.git/tree/README.md?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>README.md</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,172 +0,0 @@</div><div class='del'>-[![Build Status](https://travis-ci.org/ruby/ruby.svg?branch=trunk)](https://travis-ci.org/ruby/ruby)</div><div class='del'>-[![Build status](https://ci.appveyor.com/api/projects/status/0sy8rrxut4o0k960/branch/trunk?svg=true)](https://ci.appveyor.com/project/ruby/ruby/branch/trunk)</div><div class='del'>-[![wercker status](https://app.wercker.com/status/e5e7e1704f62b76525022aa424aef6ef/s/trunk "wercker status")](https://app.wercker.com/project/byKey/e5e7e1704f62b76525022aa424aef6ef)</div><div class='del'>-</div><div class='del'>-# What's Ruby</div><div class='del'>-</div><div class='del'>-Ruby is the interpreted scripting language for quick and easy object-oriented</div><div class='del'>-programming. It has many features to process text files and to do system</div><div class='del'>-management tasks (as in Perl). It is simple, straight-forward, and</div><div class='del'>-extensible.</div><div class='del'>-</div><div class='del'>-## Features of Ruby</div><div class='del'>-</div><div class='del'>-*   Simple Syntax</div><div class='del'>-*   **Normal** Object-oriented Features (e.g. class, method calls)</div><div class='del'>-*   **Advanced** Object-oriented Features (e.g. mix-in, singleton-method)</div><div class='del'>-*   Operator Overloading</div><div class='del'>-*   Exception Handling</div><div class='del'>-*   Iterators and Closures</div><div class='del'>-*   Garbage Collection</div><div class='del'>-*   Dynamic Loading of Object Files (on some architectures)</div><div class='del'>-*   Highly Portable (works on many Unix-like/POSIX compatible platforms as</div><div class='del'>-    well as Windows, macOS, Haiku, etc.) cf.</div><div class='del'>-    https://github.com/ruby/ruby/blob/trunk/doc/contributing.rdoc#platform-maintainers</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-## How to get Ruby</div><div class='del'>-</div><div class='del'>-For a complete list of ways to install Ruby, including using third-party tools</div><div class='del'>-like rvm, see:</div><div class='del'>-</div><div class='del'>-https://www.ruby-lang.org/en/downloads/</div><div class='del'>-</div><div class='del'>-The trunk of the Ruby source tree can be checked out with the following</div><div class='del'>-command:</div><div class='del'>-</div><div class='del'>-    $ svn co https://svn.ruby-lang.org/repos/ruby/trunk/ ruby</div><div class='del'>-</div><div class='del'>-Or if you are using git then use the following command:</div><div class='del'>-</div><div class='del'>-    $ git clone https://github.com/ruby/ruby.git</div><div class='del'>-</div><div class='del'>-There are some other branches under development. Try the following command</div><div class='del'>-to see the list of branches:</div><div class='del'>-</div><div class='del'>-    $ svn ls https://svn.ruby-lang.org/repos/ruby/branches/</div><div class='del'>-</div><div class='del'>-Or if you are using git then use the following command:</div><div class='del'>-</div><div class='del'>-    $ git ls-remote https://github.com/ruby/ruby.git</div><div class='del'>-</div><div class='del'>-## Ruby home page</div><div class='del'>-</div><div class='del'>-The URL of the Ruby home page is:</div><div class='del'>-</div><div class='del'>-https://www.ruby-lang.org/</div><div class='del'>-</div><div class='del'>-## Mailing list</div><div class='del'>-</div><div class='del'>-There is a mailing list to talk about Ruby. To subscribe to this list, please</div><div class='del'>-send the following phrase:</div><div class='del'>-</div><div class='del'>-    subscribe</div><div class='del'>-</div><div class='del'>-in the mail body (not subject) to the address</div><div class='del'>-&lt;ruby-talk-request@ruby-lang.org&gt;.</div><div class='del'>-</div><div class='del'>-## How to compile and install</div><div class='del'>-</div><div class='del'>-This is what you need to do to compile and install Ruby:</div><div class='del'>-</div><div class='del'>-1.  If you want to use Microsoft Visual C++ to compile Ruby, read</div><div class='del'>-    [win32/README.win32](win32/README.win32) instead of this document.</div><div class='del'>-</div><div class='del'>-2.  If `./configure` does not exist or is older than `configure.ac`, run</div><div class='del'>-    `autoconf` to (re)generate configure.</div><div class='del'>-</div><div class='del'>-3.  Run `./configure`, which will generate `config.h` and `Makefile`.</div><div class='del'>-</div><div class='del'>-    Some C compiler flags may be added by default depending on your</div><div class='del'>-    environment. Specify `optflags=..` and `warnflags=..` as necessary to</div><div class='del'>-    override them.</div><div class='del'>-</div><div class='del'>-4.  Edit `defines.h` if you need. Usually this step will not be needed.</div><div class='del'>-</div><div class='del'>-5.  Remove comment mark(`#`) before the module names from `ext/Setup` (or add</div><div class='del'>-    module names if not present), if you want to link modules statically.</div><div class='del'>-</div><div class='del'>-    If you don't want to compile non static extension modules (probably on</div><div class='del'>-    architectures which do not allow dynamic loading), remove comment mark</div><div class='del'>-    from the line "`#option nodynamic`" in `ext/Setup`.</div><div class='del'>-</div><div class='del'>-    Usually this step will not be needed.</div><div class='del'>-</div><div class='del'>-6.  Run `make`.</div><div class='del'>-</div><div class='del'>-    * On Mac, set RUBY\_CODESIGN environment variable with a signing identity.</div><div class='del'>-      It uses the identity to sign `ruby` binary. See also codesign(1).</div><div class='del'>-</div><div class='del'>-7.  Optionally, run '`make check`' to check whether the compiled Ruby</div><div class='del'>-    interpreter works well. If you see the message "`check succeeded`", your</div><div class='del'>-    Ruby works as it should (hopefully).</div><div class='del'>-</div><div class='del'>-8.  Optionally, run `make update-gems` and `make extract-gems`.</div><div class='del'>-</div><div class='del'>-    If you want to install bundled gems, run `make update-gems` and</div><div class='del'>-    `make extract-gems` before running `make install`.</div><div class='del'>-</div><div class='del'>-9.  Run '`make install`'.</div><div class='del'>-</div><div class='del'>-    This command will create the following directories and install files into</div><div class='del'>-    them.</div><div class='del'>-</div><div class='del'>-    *   `${DESTDIR}${prefix}/bin`</div><div class='del'>-    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`</div><div class='del'>-    *   `${DESTDIR}${prefix}/share/man/man1`</div><div class='del'>-    *   `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-    If Ruby's API version is '*x.y.z*', the `${MAJOR}` is '*x*', the</div><div class='del'>-    `${MINOR}` is '*y*', and the `${TEENY}` is '*z*'.</div><div class='del'>-</div><div class='del'>-    **NOTE**: teeny of the API version may be different from one of Ruby's</div><div class='del'>-    program version</div><div class='del'>-</div><div class='del'>-    You may have to be a super user to install Ruby.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-If you fail to compile Ruby, please send the detailed error report with the</div><div class='del'>-error log and machine/OS type, to help others.</div><div class='del'>-</div><div class='del'>-Some extension libraries may not get compiled because of lack of necessary</div><div class='del'>-external libraries and/or headers, then you will need to run '`make distclean-ext`'</div><div class='del'>-to remove old configuration after installing them in such case.</div><div class='del'>-</div><div class='del'>-## Copying</div><div class='del'>-</div><div class='del'>-See the file [COPYING](COPYING).</div><div class='del'>-</div><div class='del'>-## Feedback</div><div class='del'>-</div><div class='del'>-Questions about the Ruby language can be asked on the Ruby-Talk mailing list</div><div class='del'>-(https://www.ruby-lang.org/en/community/mailing-lists) or on websites like</div><div class='del'>-(https://stackoverflow.com).</div><div class='del'>-</div><div class='del'>-Bug reports should be filed at https://bugs.ruby-lang.org. Read [HowToReport] for more information.</div><div class='del'>-</div><div class='del'>-[HowToReport]: https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport</div><div class='del'>-</div><div class='del'>-## Contributing</div><div class='del'>-</div><div class='del'>-See the file [CONTRIBUTING.md](CONTRIBUTING.md)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-## The Author</div><div class='del'>-</div><div class='del'>-Ruby was originally designed and developed by Yukihiro Matsumoto (Matz) in</div><div class='del'>-1995.</div><div class='del'>-</div><div class='del'>-&lt;matz@ruby-lang.org&gt;</div><div class='head'>diff --git a/ToDo b/ToDo<br/>new file mode 100644<br/>index 0000000000..b55e399edf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ToDo?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>ToDo</a></div><div class='hunk'>@@ -0,0 +1,126 @@</div><div class='add'>+Language Spec.</div><div class='add'>+</div><div class='add'>+- Class#allocate - basicNew</div><div class='add'>+- class Foo::Bar&lt;Baz .. end, module Boo::Bar .. end</div><div class='add'>+* operator !! for rescue. ???</div><div class='add'>+* objectify characters</div><div class='add'>+* ../... outside condition invokes operator method too.</div><div class='add'>+* ... inside condition turns off just before right condition.???</div><div class='add'>+* package or access control for global variables??</div><div class='add'>+* named arguments like foo(nation:="german") or foo(nation: "german").</div><div class='add'>+* method to retrieve argument information (needs new C API)</div><div class='add'>+* multiple return values, yield values.  maybe incompatible ???</div><div class='add'>+* cascading method invocation ???</div><div class='add'>+* def Class#method .. end ??</div><div class='add'>+* def Foo::Bar::baz() .. end ??</div><div class='add'>+* I18N (or M17N) script/string/regexp</div><div class='add'>+* Fixnum 0 as false ????</div><div class='add'>+* discourage use of symbol variables (e.g. $/, etc.) in manual</div><div class='add'>+* discourage use of Perlish features by giving warnings.</div><div class='add'>+* non confusing in-block local variable (is it possible?)</div><div class='add'>+  + remove scope by block</div><div class='add'>+  + variables appears within block may have independent values.</div><div class='add'>+* Regexp: make /o thread safe.</div><div class='add'>+* decide whether begin with rescue or ensure make do..while loop.</div><div class='add'>+* a +1 to be a+1, not a(+1).</div><div class='add'>+* unify == and eql? again</div><div class='add'>+* to_i returns nil if str contains no digit.</div><div class='add'>+* raise exception by `` error</div><div class='add'>+* jar like combined library package. -&gt; RubyGems?</div><div class='add'>+* resumable Exception via Exception#resume.</div><div class='add'>+* method combination, e.g. before, after, around, etc.</div><div class='add'>+* .. or something like defadvice in Emacs.</div><div class='add'>+* property - for methods, or for objects in general.</div><div class='add'>+* "in" modifier, to annotate, or to encourage assertion.</div><div class='add'>+* selector namespace - something like generic-flet in CLOS, to help RubyBehavior</div><div class='add'>+* private instance variable (as in Python?) @_foo in class Foo =&gt; @_Foo_foo</div><div class='add'>+* warn/error "bare word" method, like "foo",  you should type "foo()"</div><div class='add'>+* clarify evaluation order of operator argument (=~, .., ...)</div><div class='add'>+* :symbol =&gt; value hash in the form of {symbol: value, ...} ??</div><div class='add'>+</div><div class='add'>+Hacking Interpreter</div><div class='add'>+</div><div class='add'>+- generational GC</div><div class='add'>+* non-blocking open (e.g. for named pipe) for thread</div><div class='add'>+* avoid blocking with gethostbyname/gethostbyaddr (use fork ???)</div><div class='add'>+* objectify interpreters ???</div><div class='add'>+* remove rb_eval() recursions</div><div class='add'>+* syntax tree -&gt; bytecode ???</div><div class='add'>+* scrambled script, or script filter</div><div class='add'>+* setuid ruby</div><div class='add'>+* performance tune for in-block (dynamic) local variables.</div><div class='add'>+* give warnings to assign magic variables.</div><div class='add'>+* export rb_io_{addstr,printf,puts,print}</div><div class='add'>+* autoload should work with threads [ruby-talk:4589]</div><div class='add'>+* remove stdio dependency from IOs.</div><div class='add'>+* warn for inconsistent local variable usage (lv m and method m at the same time). </div><div class='add'>+* MicroRuby</div><div class='add'>+* Built-in Interactive Ruby.</div><div class='add'>+* Parser API</div><div class='add'>+* trap every method invocation, which can be enabled by e.g. trap_call :method.</div><div class='add'>+* unify Errno exceptions of same errno, or new exception comparison scheme.</div><div class='add'>+* 2.times{|i| if i==0 then a = 15 else puts eval("a") end} should print nil.</div><div class='add'>+* Thread#max_stack_size attribute (possible??)</div><div class='add'>+</div><div class='add'>+Standard Libraries</div><div class='add'>+</div><div class='add'>+- Module#define_method which takes a name and a body (block, proc or method).</div><div class='add'>+- Enume#inject</div><div class='add'>+- Array#fetch</div><div class='add'>+- IO::for_fd</div><div class='add'>+- Process::waitall [ruby-talk:4557]</div><div class='add'>+- Process::Status</div><div class='add'>+- File::lchown, File::lchmod; xxx - still need work for non existing platforms</div><div class='add'>+- move Time::times to Process.</div><div class='add'>+- Enumerable#sort_by for Schwartzian transformation</div><div class='add'>+- fork_and_kill_other_threads.</div><div class='add'>+- signal list (Signal::trap, Signal::list).</div><div class='add'>+- move NameError under StandardError.</div><div class='add'>+- Integer#to_s(base)</div><div class='add'>+- Hash::new{default}</div><div class='add'>+- hash etc. should handle self referenceing array/hash</div><div class='add'>+- Array#select(n1,n2...) works like Array#indexes(n1,n2...)</div><div class='add'>+- use Mersenne Twister RNG for random.</div><div class='add'>+- deprecate Array#indexes, and Array#indices.</div><div class='add'>+- remove dependency on MAXPATHLEN.</div><div class='add'>+* String#scanf(?)</div><div class='add'>+* Object#fmt(?)</div><div class='add'>+* Time::strptime</div><div class='add'>+* Integer[num], Float[num];  Fixnum[num]?</div><div class='add'>+* method to retrieve non-number trailer for to_i/to_f.</div><div class='add'>+* Stream or Port, abstract superclass of IO ?</div><div class='add'>+* String#{pred,prev}, String#downto</div><div class='add'>+* optional stepsize argument for succ()</div><div class='add'>+* Ruby module -- Ruby::Version, Ruby::Interpreter</div><div class='add'>+* introduce Boolean class; super of TrueClass, FalseClass</div><div class='add'>+* synchronized method - synchronized{...}, synchronized :foo, :bar</div><div class='add'>+* Array#&amp;, Array#| to allow duplication. ???</div><div class='add'>+* way to specify immortal (fork endurance) thread;</div><div class='add'>+* or raise ForkException to every thread but fork caller.</div><div class='add'>+* new user-defined marshal scheme. _dump(dumper), _load(restorer)</div><div class='add'>+* library to load per-user profile seeking .ruby_profile or ruby.ini file.</div><div class='add'>+* warning framework (warn, warning for Ruby level)</div><div class='add'>+* marshal should not depend on sprintf (works bad with locale).</div><div class='add'>+* ternary arg pow: a.pow(b,c) == a**b%c</div><div class='add'>+* new caller(), e.g. call_stack; needs better name.</div><div class='add'>+* pointer share mechanism similar to one in String for Array.</div><div class='add'>+* require "1.6" etc. by /usr/lib/ruby/1.6/1.6.rb ;-)</div><div class='add'>+* save both "feature names" and "normalized path" in $"</div><div class='add'>+* implement Mutex_m (or MutexMixin) using Mutex.</div><div class='add'>+</div><div class='add'>+Extension Libraries</div><div class='add'>+</div><div class='add'>+* ptk.rb pTk wrapper that is compatible to tk.rb</div><div class='add'>+* Berkeley DB extension</div><div class='add'>+* BitVector</div><div class='add'>+* thread-safe fcgi</div><div class='add'>+</div><div class='add'>+Ruby Libraries</div><div class='add'>+</div><div class='add'>+* urllib.rb, nttplib.rb, etc.</div><div class='add'>+* format like perl's</div><div class='add'>+</div><div class='add'>+Tools</div><div class='add'>+</div><div class='add'>+* freeze or undump to bundle everything</div><div class='add'>+* bundle using zlib</div><div class='head'>diff --git a/aclocal.m4 b/aclocal.m4<br/>deleted file mode 100644<br/>index b0fe3eb959..0000000000<br/>--- a/<a href='/ruby.git/tree/aclocal.m4?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>aclocal.m4</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,46 +0,0 @@</div><div class='del'>-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-</div><div class='del'>-</div><div class='del'>-# Copyright (C) 1996-2018 Free Software Foundation, Inc.</div><div class='del'>-</div><div class='del'>-# This file is free software; the Free Software Foundation</div><div class='del'>-# gives unlimited permission to copy and/or distribute it,</div><div class='del'>-# with or without modifications, as long as this notice is preserved.</div><div class='del'>-</div><div class='del'>-# This program is distributed in the hope that it will be useful,</div><div class='del'>-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without</div><div class='del'>-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A</div><div class='del'>-# PARTICULAR PURPOSE.</div><div class='del'>-</div><div class='del'>-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])</div><div class='del'>-m4_include([tool/m4/_colorize_result_prepare.m4])</div><div class='del'>-m4_include([tool/m4/ac_msg_result.m4])</div><div class='del'>-m4_include([tool/m4/colorize_result.m4])</div><div class='del'>-m4_include([tool/m4/ruby_append_option.m4])</div><div class='del'>-m4_include([tool/m4/ruby_append_options.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_builtin_func.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_builtin_setjmp.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_printf_prefix.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_setjmp.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_signedness.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_sizeof.m4])</div><div class='del'>-m4_include([tool/m4/ruby_check_sysconf.m4])</div><div class='del'>-m4_include([tool/m4/ruby_cppoutfile.m4])</div><div class='del'>-m4_include([tool/m4/ruby_decl_attribute.m4])</div><div class='del'>-m4_include([tool/m4/ruby_default_arch.m4])</div><div class='del'>-m4_include([tool/m4/ruby_define_if.m4])</div><div class='del'>-m4_include([tool/m4/ruby_defint.m4])</div><div class='del'>-m4_include([tool/m4/ruby_dtrace_available.m4])</div><div class='del'>-m4_include([tool/m4/ruby_dtrace_postprocess.m4])</div><div class='del'>-m4_include([tool/m4/ruby_func_attribute.m4])</div><div class='del'>-m4_include([tool/m4/ruby_mingw32.m4])</div><div class='del'>-m4_include([tool/m4/ruby_prepend_option.m4])</div><div class='del'>-m4_include([tool/m4/ruby_prog_gnu_ld.m4])</div><div class='del'>-m4_include([tool/m4/ruby_replace_type.m4])</div><div class='del'>-m4_include([tool/m4/ruby_rm_recursive.m4])</div><div class='del'>-m4_include([tool/m4/ruby_setjmp_type.m4])</div><div class='del'>-m4_include([tool/m4/ruby_stack_grow_direction.m4])</div><div class='del'>-m4_include([tool/m4/ruby_try_cflags.m4])</div><div class='del'>-m4_include([tool/m4/ruby_try_ldflags.m4])</div><div class='del'>-m4_include([tool/m4/ruby_type_attribute.m4])</div><div class='del'>-m4_include([tool/m4/ruby_universal_arch.m4])</div><div class='del'>-m4_include([tool/m4/ruby_werror_flag.m4])</div><div class='head'>diff --git a/addr2line.c b/addr2line.c<br/>deleted file mode 100644<br/>index a11d32b73d..0000000000<br/>--- a/<a href='/ruby.git/tree/addr2line.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>addr2line.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2650 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  addr2line.c -</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2010 Shinichiro Hamaji</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#if defined(__clang__)</div><div class='del'>-#pragma clang diagnostic ignored "-Wpedantic"</div><div class='del'>-#pragma clang diagnostic ignored "-Wgcc-compat"</div><div class='del'>-#elif defined(__GNUC__)</div><div class='del'>-#pragma GCC diagnostic ignored "-Wpedantic"</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#include "ruby/config.h"</div><div class='del'>-#include "ruby/defines.h"</div><div class='del'>-#include "ruby/missing.h"</div><div class='del'>-#include "addr2line.h"</div><div class='del'>-</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;errno.h&gt;</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_STDBOOL_H</div><div class='del'>-#include &lt;stdbool.h&gt;</div><div class='del'>-#else</div><div class='del'>-#include "missing/stdbool.h"</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H)</div><div class='del'>-</div><div class='del'>-#include &lt;fcntl.h&gt;</div><div class='del'>-#include &lt;limits.h&gt;</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;stdint.h&gt;</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-#include &lt;sys/mman.h&gt;</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/stat.h&gt;</div><div class='del'>-#include &lt;unistd.h&gt;</div><div class='del'>-</div><div class='del'>-/* Make alloca work the best possible way.  */</div><div class='del'>-#ifdef __GNUC__</div><div class='del'>-# ifndef alloca</div><div class='del'>-#  define alloca __builtin_alloca</div><div class='del'>-# endif</div><div class='del'>-#else</div><div class='del'>-# ifdef HAVE_ALLOCA_H</div><div class='del'>-#  include &lt;alloca.h&gt;</div><div class='del'>-# else</div><div class='del'>-#  ifdef _AIX</div><div class='del'>-#pragma alloca</div><div class='del'>-#  else</div><div class='del'>-#   ifndef alloca		/* predefined by HP cc +Olibcalls */</div><div class='del'>-void *alloca();</div><div class='del'>-#   endif</div><div class='del'>-#  endif /* AIX */</div><div class='del'>-# endif	/* HAVE_ALLOCA_H */</div><div class='del'>-#endif /* __GNUC__ */</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_DLADDR</div><div class='del'>-# include &lt;dlfcn.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_MACH_O_LOADER_H</div><div class='del'>-# include &lt;mach-o/fat.h&gt;</div><div class='del'>-# include &lt;mach-o/ldsyms.h&gt;</div><div class='del'>-# include &lt;mach-o/loader.h&gt;</div><div class='del'>-# include &lt;mach-o/nlist.h&gt;</div><div class='del'>-# include &lt;mach-o/stab.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef USE_ELF</div><div class='del'>-# ifdef __OpenBSD__</div><div class='del'>-#  include &lt;elf_abi.h&gt;</div><div class='del'>-# else</div><div class='del'>-#  include &lt;elf.h&gt;</div><div class='del'>-# endif</div><div class='del'>-</div><div class='del'>-#ifndef ElfW</div><div class='del'>-# if SIZEOF_VOIDP == 8</div><div class='del'>-#  define ElfW(x) Elf64##_##x</div><div class='del'>-# else</div><div class='del'>-#  define ElfW(x) Elf32##_##x</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-#ifndef ELF_ST_TYPE</div><div class='del'>-# if SIZEOF_VOIDP == 8</div><div class='del'>-#  define ELF_ST_TYPE ELF64_ST_TYPE</div><div class='del'>-# else</div><div class='del'>-#  define ELF_ST_TYPE ELF32_ST_TYPE</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef SHF_COMPRESSED</div><div class='del'>-# if defined(ELFCOMPRESS_ZLIB) &amp;&amp; defined(HAVE_LIBZ)</div><div class='del'>-   /* FreeBSD 11.0 lacks ELFCOMPRESS_ZLIB */</div><div class='del'>-#  include &lt;zlib.h&gt;</div><div class='del'>-#  define SUPPORT_COMPRESSED_DEBUG_LINE</div><div class='del'>-# endif</div><div class='del'>-#else /* compatibility with glibc &lt; 2.22 */</div><div class='del'>-# define SHF_COMPRESSED 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifndef PATH_MAX</div><div class='del'>-#define PATH_MAX 4096</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define DW_LNS_copy                     0x01</div><div class='del'>-#define DW_LNS_advance_pc               0x02</div><div class='del'>-#define DW_LNS_advance_line             0x03</div><div class='del'>-#define DW_LNS_set_file                 0x04</div><div class='del'>-#define DW_LNS_set_column               0x05</div><div class='del'>-#define DW_LNS_negate_stmt              0x06</div><div class='del'>-#define DW_LNS_set_basic_block          0x07</div><div class='del'>-#define DW_LNS_const_add_pc             0x08</div><div class='del'>-#define DW_LNS_fixed_advance_pc         0x09</div><div class='del'>-#define DW_LNS_set_prologue_end         0x0a /* DWARF3 */</div><div class='del'>-#define DW_LNS_set_epilogue_begin       0x0b /* DWARF3 */</div><div class='del'>-#define DW_LNS_set_isa                  0x0c /* DWARF3 */</div><div class='del'>-</div><div class='del'>-/* Line number extended opcode name. */</div><div class='del'>-#define DW_LNE_end_sequence             0x01</div><div class='del'>-#define DW_LNE_set_address              0x02</div><div class='del'>-#define DW_LNE_define_file              0x03</div><div class='del'>-#define DW_LNE_set_discriminator        0x04  /* DWARF4 */</div><div class='del'>-</div><div class='del'>-PRINTF_ARGS(static int kprintf(const char *fmt, ...), 1, 2);</div><div class='del'>-</div><div class='del'>-typedef struct line_info {</div><div class='del'>-    const char *dirname;</div><div class='del'>-    const char *filename;</div><div class='del'>-    const char *path; /* object path */</div><div class='del'>-    int line;</div><div class='del'>-</div><div class='del'>-    uintptr_t base_addr;</div><div class='del'>-    uintptr_t saddr;</div><div class='del'>-    const char *sname; /* function name */</div><div class='del'>-</div><div class='del'>-    struct line_info *next;</div><div class='del'>-} line_info_t;</div><div class='del'>-</div><div class='del'>-struct dwarf_section {</div><div class='del'>-    char *ptr;</div><div class='del'>-    size_t size;</div><div class='del'>-    uint64_t flags;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-typedef struct obj_info {</div><div class='del'>-    const char *path; /* object path */</div><div class='del'>-    char *mapped;</div><div class='del'>-    size_t mapped_size;</div><div class='del'>-    void *uncompressed;</div><div class='del'>-    uintptr_t base_addr;</div><div class='del'>-    uintptr_t vmaddr;</div><div class='del'>-    struct dwarf_section debug_abbrev;</div><div class='del'>-    struct dwarf_section debug_info;</div><div class='del'>-    struct dwarf_section debug_line;</div><div class='del'>-    struct dwarf_section debug_ranges;</div><div class='del'>-    struct dwarf_section debug_str;</div><div class='del'>-    struct obj_info *next;</div><div class='del'>-} obj_info_t;</div><div class='del'>-</div><div class='del'>-#define DWARF_SECTION_COUNT 5</div><div class='del'>-</div><div class='del'>-static struct dwarf_section *</div><div class='del'>-obj_dwarf_section_at(obj_info_t *obj, int n)</div><div class='del'>-{</div><div class='del'>-    struct dwarf_section *ary[] = {</div><div class='del'>-        &amp;obj-&gt;debug_abbrev,</div><div class='del'>-        &amp;obj-&gt;debug_info,</div><div class='del'>-        &amp;obj-&gt;debug_line,</div><div class='del'>-        &amp;obj-&gt;debug_ranges,</div><div class='del'>-        &amp;obj-&gt;debug_str</div><div class='del'>-    };</div><div class='del'>-    if (n &lt; 0 || DWARF_SECTION_COUNT &lt;= n) {</div><div class='del'>-        abort();</div><div class='del'>-    }</div><div class='del'>-    return ary[n];</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct debug_section_definition {</div><div class='del'>-    const char *name;</div><div class='del'>-    struct dwarf_section *dwarf;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-/* Avoid consuming stack as this module may be used from signal handler */</div><div class='del'>-static char binary_filename[PATH_MAX];</div><div class='del'>-</div><div class='del'>-static unsigned long</div><div class='del'>-uleb128(char **p)</div><div class='del'>-{</div><div class='del'>-    unsigned long r = 0;</div><div class='del'>-    int s = 0;</div><div class='del'>-    for (;;) {</div><div class='del'>-	unsigned char b = *(unsigned char *)(*p)++;</div><div class='del'>-	if (b &lt; 0x80) {</div><div class='del'>-	    r += (unsigned long)b &lt;&lt; s;</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	r += (b &amp; 0x7f) &lt;&lt; s;</div><div class='del'>-	s += 7;</div><div class='del'>-    }</div><div class='del'>-    return r;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static long</div><div class='del'>-sleb128(char **p)</div><div class='del'>-{</div><div class='del'>-    long r = 0;</div><div class='del'>-    int s = 0;</div><div class='del'>-    for (;;) {</div><div class='del'>-	unsigned char b = *(unsigned char *)(*p)++;</div><div class='del'>-	if (b &lt; 0x80) {</div><div class='del'>-	    if (b &amp; 0x40) {</div><div class='del'>-		r -= (0x80 - b) &lt;&lt; s;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		r += (b &amp; 0x3f) &lt;&lt; s;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	r += (b &amp; 0x7f) &lt;&lt; s;</div><div class='del'>-	s += 7;</div><div class='del'>-    }</div><div class='del'>-    return r;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const char *</div><div class='del'>-get_nth_dirname(unsigned long dir, char *p)</div><div class='del'>-{</div><div class='del'>-    if (!dir--) {</div><div class='del'>-	return "";</div><div class='del'>-    }</div><div class='del'>-    while (dir--) {</div><div class='del'>-	while (*p) p++;</div><div class='del'>-	p++;</div><div class='del'>-	if (!*p) {</div><div class='del'>-	    kprintf("Unexpected directory number %lu in %s\n",</div><div class='del'>-		    dir, binary_filename);</div><div class='del'>-	    return "";</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return p;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fill_filename(int file, char *include_directories, char *filenames, line_info_t *line, obj_info_t *obj)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    char *p = filenames;</div><div class='del'>-    char *filename;</div><div class='del'>-    unsigned long dir;</div><div class='del'>-    for (i = 1; i &lt;= file; i++) {</div><div class='del'>-	filename = p;</div><div class='del'>-	if (!*p) {</div><div class='del'>-	    /* Need to output binary file name? */</div><div class='del'>-	    kprintf("Unexpected file number %d in %s at %tx\n",</div><div class='del'>-		    file, binary_filename, filenames - obj-&gt;mapped);</div><div class='del'>-	    return;</div><div class='del'>-	}</div><div class='del'>-	while (*p) p++;</div><div class='del'>-	p++;</div><div class='del'>-	dir = uleb128(&amp;p);</div><div class='del'>-	/* last modified. */</div><div class='del'>-	uleb128(&amp;p);</div><div class='del'>-	/* size of the file. */</div><div class='del'>-	uleb128(&amp;p);</div><div class='del'>-</div><div class='del'>-	if (i == file) {</div><div class='del'>-	    line-&gt;filename = filename;</div><div class='del'>-	    line-&gt;dirname = get_nth_dirname(dir, include_directories);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fill_line(int num_traces, void **traces, uintptr_t addr, int file, int line,</div><div class='del'>-	  char *include_directories, char *filenames,</div><div class='del'>-	  obj_info_t *obj, line_info_t *lines, int offset)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    addr += obj-&gt;base_addr - obj-&gt;vmaddr;</div><div class='del'>-    for (i = offset; i &lt; num_traces; i++) {</div><div class='del'>-	uintptr_t a = (uintptr_t)traces[i];</div><div class='del'>-	/* We assume one line code doesn't result &gt;100 bytes of native code.</div><div class='del'>-       We may want more reliable way eventually... */</div><div class='del'>-	if (addr &lt; a &amp;&amp; a &lt; addr + 100) {</div><div class='del'>-	    fill_filename(file, include_directories, filenames, &amp;lines[i], obj);</div><div class='del'>-	    lines[i].line = line;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct LineNumberProgramHeader {</div><div class='del'>-    uint64_t unit_length;</div><div class='del'>-    uint16_t version;</div><div class='del'>-    uint8_t format; /* 4 or 8 */</div><div class='del'>-    uint64_t header_length;</div><div class='del'>-    uint8_t minimum_instruction_length;</div><div class='del'>-    uint8_t maximum_operations_per_instruction;</div><div class='del'>-    uint8_t default_is_stmt;</div><div class='del'>-    int8_t line_base;</div><div class='del'>-    uint8_t line_range;</div><div class='del'>-    uint8_t opcode_base;</div><div class='del'>-    /* uint8_t standard_opcode_lengths[opcode_base-1]; */</div><div class='del'>-    const char *include_directories;</div><div class='del'>-    const char *filenames;</div><div class='del'>-    const char *cu_start;</div><div class='del'>-    const char *cu_end;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-parse_debug_line_header(const char **pp, struct LineNumberProgramHeader *header)</div><div class='del'>-{</div><div class='del'>-    const char *p = *pp;</div><div class='del'>-    header-&gt;unit_length = *(uint32_t *)p;</div><div class='del'>-    p += sizeof(uint32_t);</div><div class='del'>-</div><div class='del'>-    header-&gt;format = 4;</div><div class='del'>-    if (header-&gt;unit_length == 0xffffffff) {</div><div class='del'>-	header-&gt;unit_length = *(uint64_t *)p;</div><div class='del'>-	p += sizeof(uint64_t);</div><div class='del'>-        header-&gt;format = 8;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    header-&gt;cu_end = p + header-&gt;unit_length;</div><div class='del'>-</div><div class='del'>-    header-&gt;version = *(uint16_t *)p;</div><div class='del'>-    p += sizeof(uint16_t);</div><div class='del'>-    if (header-&gt;version &gt; 4) return -1;</div><div class='del'>-</div><div class='del'>-    header-&gt;header_length = header-&gt;format == 4 ? *(uint32_t *)p : *(uint64_t *)p;</div><div class='del'>-    p += header-&gt;format;</div><div class='del'>-    header-&gt;cu_start = p + header-&gt;header_length;</div><div class='del'>-</div><div class='del'>-    header-&gt;minimum_instruction_length = *(uint8_t *)p++;</div><div class='del'>-</div><div class='del'>-    if (header-&gt;version &gt;= 4) {</div><div class='del'>-        /* maximum_operations_per_instruction = *(uint8_t *)p; */</div><div class='del'>-        if (*p != 1) return -1; /* For non-VLIW architectures, this field is 1 */</div><div class='del'>-        p++;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    header-&gt;default_is_stmt = *(uint8_t *)p++;</div><div class='del'>-    header-&gt;line_base = *(int8_t *)p++;</div><div class='del'>-    header-&gt;line_range = *(uint8_t *)p++;</div><div class='del'>-    header-&gt;opcode_base = *(uint8_t *)p++;</div><div class='del'>-    /* header-&gt;standard_opcode_lengths = (uint8_t *)p - 1; */</div><div class='del'>-    p += header-&gt;opcode_base - 1;</div><div class='del'>-</div><div class='del'>-    header-&gt;include_directories = p;</div><div class='del'>-</div><div class='del'>-    /* temporary measure for compress-debug-sections */</div><div class='del'>-    if (p &gt;= header-&gt;cu_end) return -1;</div><div class='del'>-</div><div class='del'>-    /* skip include directories */</div><div class='del'>-    while (*p) {</div><div class='del'>-	p = memchr(p, '\0', header-&gt;cu_end - p);</div><div class='del'>-	if (!p) return -1;</div><div class='del'>-	p++;</div><div class='del'>-    }</div><div class='del'>-    p++;</div><div class='del'>-</div><div class='del'>-    header-&gt;filenames = p;</div><div class='del'>-</div><div class='del'>-    *pp = header-&gt;cu_start;</div><div class='del'>-</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-parse_debug_line_cu(int num_traces, void **traces, char **debug_line,</div><div class='del'>-		obj_info_t *obj, line_info_t *lines, int offset)</div><div class='del'>-{</div><div class='del'>-    const char *p = (const char *)*debug_line;</div><div class='del'>-    struct LineNumberProgramHeader header;</div><div class='del'>-</div><div class='del'>-    /* The registers. */</div><div class='del'>-    unsigned long addr = 0;</div><div class='del'>-    unsigned int file = 1;</div><div class='del'>-    unsigned int line = 1;</div><div class='del'>-    /* unsigned int column = 0; */</div><div class='del'>-    int is_stmt;</div><div class='del'>-    /* int basic_block = 0; */</div><div class='del'>-    /* int end_sequence = 0; */</div><div class='del'>-    /* int prologue_end = 0; */</div><div class='del'>-    /* int epilogue_begin = 0; */</div><div class='del'>-    /* unsigned int isa = 0; */</div><div class='del'>-</div><div class='del'>-    if (parse_debug_line_header(&amp;p, &amp;header))</div><div class='del'>-        return -1;</div><div class='del'>-    is_stmt = header.default_is_stmt;</div><div class='del'>-</div><div class='del'>-#define FILL_LINE()						    \</div><div class='del'>-    do {							    \</div><div class='del'>-	fill_line(num_traces, traces, addr, file, line,		    \</div><div class='del'>-                  (char *)header.include_directories,               \</div><div class='del'>-                  (char *)header.filenames,                         \</div><div class='del'>-		  obj, lines, offset);				    \</div><div class='del'>-	/*basic_block = prologue_end = epilogue_begin = 0;*/	    \</div><div class='del'>-    } while (0)</div><div class='del'>-</div><div class='del'>-    while (p &lt; header.cu_end) {</div><div class='del'>-	unsigned long a;</div><div class='del'>-	unsigned char op = *p++;</div><div class='del'>-	switch (op) {</div><div class='del'>-	case DW_LNS_copy:</div><div class='del'>-	    FILL_LINE();</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_advance_pc:</div><div class='del'>-	    a = uleb128((char **)&amp;p);</div><div class='del'>-	    addr += a;</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_advance_line: {</div><div class='del'>-	    long a = sleb128((char **)&amp;p);</div><div class='del'>-	    line += a;</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	case DW_LNS_set_file:</div><div class='del'>-	    file = (unsigned int)uleb128((char **)&amp;p);</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_set_column:</div><div class='del'>-	    /*column = (unsigned int)*/(void)uleb128((char **)&amp;p);</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_negate_stmt:</div><div class='del'>-	    is_stmt = !is_stmt;</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_set_basic_block:</div><div class='del'>-	    /*basic_block = 1; */</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_const_add_pc:</div><div class='del'>-	    a = ((255 - header.opcode_base) / header.line_range) *</div><div class='del'>-		header.minimum_instruction_length;</div><div class='del'>-	    addr += a;</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_fixed_advance_pc:</div><div class='del'>-	    a = *(unsigned char *)p++;</div><div class='del'>-	    addr += a;</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_set_prologue_end:</div><div class='del'>-	    /* prologue_end = 1; */</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_set_epilogue_begin:</div><div class='del'>-	    /* epilogue_begin = 1; */</div><div class='del'>-	    break;</div><div class='del'>-	case DW_LNS_set_isa:</div><div class='del'>-	    /* isa = (unsigned int)*/(void)uleb128((char **)&amp;p);</div><div class='del'>-	    break;</div><div class='del'>-	case 0:</div><div class='del'>-	    a = *(unsigned char *)p++;</div><div class='del'>-	    op = *p++;</div><div class='del'>-	    switch (op) {</div><div class='del'>-	    case DW_LNE_end_sequence:</div><div class='del'>-		/* end_sequence = 1; */</div><div class='del'>-		FILL_LINE();</div><div class='del'>-		addr = 0;</div><div class='del'>-		file = 1;</div><div class='del'>-		line = 1;</div><div class='del'>-		/* column = 0; */</div><div class='del'>-		is_stmt = header.default_is_stmt;</div><div class='del'>-		/* end_sequence = 0; */</div><div class='del'>-		/* isa = 0; */</div><div class='del'>-		break;</div><div class='del'>-	    case DW_LNE_set_address:</div><div class='del'>-		addr = *(unsigned long *)p;</div><div class='del'>-		p += sizeof(unsigned long);</div><div class='del'>-		break;</div><div class='del'>-	    case DW_LNE_define_file:</div><div class='del'>-		kprintf("Unsupported operation in %s\n",</div><div class='del'>-			binary_filename);</div><div class='del'>-		break;</div><div class='del'>-	    case DW_LNE_set_discriminator:</div><div class='del'>-		/* TODO:currently ignore */</div><div class='del'>-		uleb128((char **)&amp;p);</div><div class='del'>-		break;</div><div class='del'>-	    default:</div><div class='del'>-		kprintf("Unknown extended opcode: %d in %s\n",</div><div class='del'>-			op, binary_filename);</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	default: {</div><div class='del'>-            uint8_t adjusted_opcode = op - header.opcode_base;</div><div class='del'>-            uint8_t operation_advance = adjusted_opcode / header.line_range;</div><div class='del'>-            /* NOTE: this code doesn't support VLIW */</div><div class='del'>-            addr += operation_advance * header.minimum_instruction_length;</div><div class='del'>-            line += header.line_base + (adjusted_opcode % header.line_range);</div><div class='del'>-	    FILL_LINE();</div><div class='del'>-	}</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    *debug_line = (char *)p;</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-parse_debug_line(int num_traces, void **traces,</div><div class='del'>-		 char *debug_line, unsigned long size,</div><div class='del'>-		 obj_info_t *obj, line_info_t *lines, int offset)</div><div class='del'>-{</div><div class='del'>-    char *debug_line_end = debug_line + size;</div><div class='del'>-    while (debug_line &lt; debug_line_end) {</div><div class='del'>-	if (parse_debug_line_cu(num_traces, traces, &amp;debug_line, obj, lines, offset))</div><div class='del'>-	    return -1;</div><div class='del'>-    }</div><div class='del'>-    if (debug_line != debug_line_end) {</div><div class='del'>-	kprintf("Unexpected size of .debug_line in %s\n",</div><div class='del'>-		binary_filename);</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* read file and fill lines */</div><div class='del'>-static uintptr_t</div><div class='del'>-fill_lines(int num_traces, void **traces, int check_debuglink,</div><div class='del'>-	   obj_info_t **objp, line_info_t *lines, int offset);</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-append_obj(obj_info_t **objp)</div><div class='del'>-{</div><div class='del'>-    obj_info_t *newobj = calloc(1, sizeof(obj_info_t));</div><div class='del'>-    if (*objp) (*objp)-&gt;next = newobj;</div><div class='del'>-    *objp = newobj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_ELF</div><div class='del'>-static void</div><div class='del'>-follow_debuglink(const char *debuglink, int num_traces, void **traces,</div><div class='del'>-		 obj_info_t **objp, line_info_t *lines, int offset)</div><div class='del'>-{</div><div class='del'>-    /* Ideally we should check 4 paths to follow gnu_debuglink,</div><div class='del'>-       but we handle only one case for now as this format is used</div><div class='del'>-       by some linux distributions. See GDB's info for detail. */</div><div class='del'>-    static const char global_debug_dir[] = "/usr/lib/debug";</div><div class='del'>-    const size_t global_debug_dir_len = sizeof(global_debug_dir) - 1;</div><div class='del'>-    char *p;</div><div class='del'>-    obj_info_t *o1 = *objp, *o2;</div><div class='del'>-    size_t len;</div><div class='del'>-</div><div class='del'>-    p = strrchr(binary_filename, '/');</div><div class='del'>-    if (!p) {</div><div class='del'>-	return;</div><div class='del'>-    }</div><div class='del'>-    p[1] = '\0';</div><div class='del'>-</div><div class='del'>-    len = strlen(binary_filename);</div><div class='del'>-    if (len &gt;= PATH_MAX - global_debug_dir_len)</div><div class='del'>-	len = PATH_MAX - global_debug_dir_len - 1;</div><div class='del'>-    memmove(binary_filename + global_debug_dir_len, binary_filename, len);</div><div class='del'>-    memcpy(binary_filename, global_debug_dir, global_debug_dir_len);</div><div class='del'>-    len += global_debug_dir_len;</div><div class='del'>-    strlcpy(binary_filename + len, debuglink, PATH_MAX - len);</div><div class='del'>-</div><div class='del'>-    append_obj(objp);</div><div class='del'>-    o2 = *objp;</div><div class='del'>-    o2-&gt;base_addr = o1-&gt;base_addr;</div><div class='del'>-    o2-&gt;path = o1-&gt;path;</div><div class='del'>-    fill_lines(num_traces, traces, 0, objp, lines, offset);</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-enum</div><div class='del'>-{</div><div class='del'>-    DW_TAG_compile_unit = 0x11,</div><div class='del'>-    DW_TAG_inlined_subroutine = 0x1d,</div><div class='del'>-    DW_TAG_subprogram = 0x2e,</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-/* Attributes encodings */</div><div class='del'>-enum</div><div class='del'>-{</div><div class='del'>-    DW_AT_sibling = 0x01,</div><div class='del'>-    DW_AT_location = 0x02,</div><div class='del'>-    DW_AT_name = 0x03,</div><div class='del'>-    /* Reserved 0x04 */</div><div class='del'>-    /* Reserved 0x05 */</div><div class='del'>-    /* Reserved 0x06 */</div><div class='del'>-    /* Reserved 0x07 */</div><div class='del'>-    /* Reserved 0x08 */</div><div class='del'>-    DW_AT_ordering = 0x09,</div><div class='del'>-    /* Reserved 0x0a */</div><div class='del'>-    DW_AT_byte_size = 0x0b,</div><div class='del'>-    /* Reserved 0x0c */</div><div class='del'>-    DW_AT_bit_size = 0x0d,</div><div class='del'>-    /* Reserved 0x0e */</div><div class='del'>-    /* Reserved 0x0f */</div><div class='del'>-    DW_AT_stmt_list = 0x10,</div><div class='del'>-    DW_AT_low_pc = 0x11,</div><div class='del'>-    DW_AT_high_pc = 0x12,</div><div class='del'>-    DW_AT_language = 0x13,</div><div class='del'>-    /* Reserved 0x14 */</div><div class='del'>-    DW_AT_discr = 0x15,</div><div class='del'>-    DW_AT_discr_value = 0x16,</div><div class='del'>-    DW_AT_visibility = 0x17,</div><div class='del'>-    DW_AT_import = 0x18,</div><div class='del'>-    DW_AT_string_length = 0x19,</div><div class='del'>-    DW_AT_common_reference = 0x1a,</div><div class='del'>-    DW_AT_comp_dir = 0x1b,</div><div class='del'>-    DW_AT_const_value = 0x1c,</div><div class='del'>-    DW_AT_containing_type = 0x1d,</div><div class='del'>-    DW_AT_default_value = 0x1e,</div><div class='del'>-    /* Reserved 0x1f */</div><div class='del'>-    DW_AT_inline = 0x20,</div><div class='del'>-    DW_AT_is_optional = 0x21,</div><div class='del'>-    DW_AT_lower_bound = 0x22,</div><div class='del'>-    /* Reserved 0x23 */</div><div class='del'>-    /* Reserved 0x24 */</div><div class='del'>-    DW_AT_producer = 0x25,</div><div class='del'>-    /* Reserved 0x26 */</div><div class='del'>-    DW_AT_prototyped = 0x27,</div><div class='del'>-    /* Reserved 0x28 */</div><div class='del'>-    /* Reserved 0x29 */</div><div class='del'>-    DW_AT_return_addr = 0x2a,</div><div class='del'>-    /* Reserved 0x2b */</div><div class='del'>-    DW_AT_start_scope = 0x2c,</div><div class='del'>-    /* Reserved 0x2d */</div><div class='del'>-    DW_AT_bit_stride = 0x2e,</div><div class='del'>-    DW_AT_upper_bound = 0x2f,</div><div class='del'>-    /* Reserved 0x30 */</div><div class='del'>-    DW_AT_abstract_origin = 0x31,</div><div class='del'>-    DW_AT_accessibility = 0x32,</div><div class='del'>-    DW_AT_address_class = 0x33,</div><div class='del'>-    DW_AT_artificial = 0x34,</div><div class='del'>-    DW_AT_base_types = 0x35,</div><div class='del'>-    DW_AT_calling_convention = 0x36,</div><div class='del'>-    DW_AT_count = 0x37,</div><div class='del'>-    DW_AT_data_member_location = 0x38,</div><div class='del'>-    DW_AT_decl_column = 0x39,</div><div class='del'>-    DW_AT_decl_file = 0x3a,</div><div class='del'>-    DW_AT_decl_line = 0x3b,</div><div class='del'>-    DW_AT_declaration = 0x3c,</div><div class='del'>-    DW_AT_discr_list = 0x3d,</div><div class='del'>-    DW_AT_encoding = 0x3e,</div><div class='del'>-    DW_AT_external = 0x3f,</div><div class='del'>-    DW_AT_frame_base = 0x40,</div><div class='del'>-    DW_AT_friend = 0x41,</div><div class='del'>-    DW_AT_identifier_case = 0x42,</div><div class='del'>-    /* Reserved 0x43 */</div><div class='del'>-    DW_AT_namelist_item = 0x44,</div><div class='del'>-    DW_AT_priority = 0x45,</div><div class='del'>-    DW_AT_segment = 0x46,</div><div class='del'>-    DW_AT_specification = 0x47,</div><div class='del'>-    DW_AT_static_link = 0x48,</div><div class='del'>-    DW_AT_type = 0x49,</div><div class='del'>-    DW_AT_use_location = 0x4a,</div><div class='del'>-    DW_AT_variable_parameter = 0x4b,</div><div class='del'>-    DW_AT_virtuality = 0x4c,</div><div class='del'>-    DW_AT_vtable_elem_location = 0x4d,</div><div class='del'>-    DW_AT_allocated = 0x4e,</div><div class='del'>-    DW_AT_associated = 0x4f,</div><div class='del'>-    DW_AT_data_location = 0x50,</div><div class='del'>-    DW_AT_byte_stride = 0x51,</div><div class='del'>-    DW_AT_entry_pc = 0x52,</div><div class='del'>-    DW_AT_use_UTF8 = 0x53,</div><div class='del'>-    DW_AT_extension = 0x54,</div><div class='del'>-    DW_AT_ranges = 0x55,</div><div class='del'>-    DW_AT_trampoline = 0x56,</div><div class='del'>-    DW_AT_call_column = 0x57,</div><div class='del'>-    DW_AT_call_file = 0x58,</div><div class='del'>-    DW_AT_call_line = 0x59,</div><div class='del'>-    DW_AT_description = 0x5a,</div><div class='del'>-    DW_AT_binary_scale = 0x5b,</div><div class='del'>-    DW_AT_decimal_scale = 0x5c,</div><div class='del'>-    DW_AT_small = 0x5d,</div><div class='del'>-    DW_AT_decimal_sign = 0x5e,</div><div class='del'>-    DW_AT_digit_count = 0x5f,</div><div class='del'>-    DW_AT_picture_string = 0x60,</div><div class='del'>-    DW_AT_mutable = 0x61,</div><div class='del'>-    DW_AT_threads_scaled = 0x62,</div><div class='del'>-    DW_AT_explicit = 0x63,</div><div class='del'>-    DW_AT_object_pointer = 0x64,</div><div class='del'>-    DW_AT_endianity = 0x65,</div><div class='del'>-    DW_AT_elemental = 0x66,</div><div class='del'>-    DW_AT_pure = 0x67,</div><div class='del'>-    DW_AT_recursive = 0x68,</div><div class='del'>-    DW_AT_signature = 0x69,</div><div class='del'>-    DW_AT_main_subprogram = 0x6a,</div><div class='del'>-    DW_AT_data_bit_offset = 0x6b,</div><div class='del'>-    DW_AT_const_expr = 0x6c,</div><div class='del'>-    DW_AT_enum_class = 0x6d,</div><div class='del'>-    DW_AT_linkage_name = 0x6e,</div><div class='del'>-    DW_AT_string_length_bit_size = 0x6f,</div><div class='del'>-    DW_AT_string_length_byte_size = 0x70,</div><div class='del'>-    DW_AT_rank = 0x71,</div><div class='del'>-    DW_AT_str_offsets_base = 0x72,</div><div class='del'>-    DW_AT_addr_base = 0x73,</div><div class='del'>-    DW_AT_rnglists_base = 0x74,</div><div class='del'>-    /* Reserved 0x75 */</div><div class='del'>-    DW_AT_dwo_name = 0x76,</div><div class='del'>-    DW_AT_reference = 0x77,</div><div class='del'>-    DW_AT_rvalue_reference = 0x78,</div><div class='del'>-    DW_AT_macros = 0x79,</div><div class='del'>-    DW_AT_call_all_calls = 0x7a,</div><div class='del'>-    DW_AT_call_all_source_calls = 0x7b,</div><div class='del'>-    DW_AT_call_all_tail_calls = 0x7c,</div><div class='del'>-    DW_AT_call_return_pc = 0x7d,</div><div class='del'>-    DW_AT_call_value = 0x7e,</div><div class='del'>-    DW_AT_call_origin = 0x7f,</div><div class='del'>-    DW_AT_call_parameter = 0x80,</div><div class='del'>-    DW_AT_call_pc = 0x81,</div><div class='del'>-    DW_AT_call_tail_call = 0x82,</div><div class='del'>-    DW_AT_call_target = 0x83,</div><div class='del'>-    DW_AT_call_target_clobbered = 0x84,</div><div class='del'>-    DW_AT_call_data_location = 0x85,</div><div class='del'>-    DW_AT_call_data_value = 0x86,</div><div class='del'>-    DW_AT_noreturn = 0x87,</div><div class='del'>-    DW_AT_alignment = 0x88,</div><div class='del'>-    DW_AT_export_symbols = 0x89,</div><div class='del'>-    DW_AT_deleted = 0x8a,</div><div class='del'>-    DW_AT_defaulted = 0x8b,</div><div class='del'>-    DW_AT_loclists_base = 0x8c,</div><div class='del'>-    DW_AT_lo_user = 0x2000,</div><div class='del'>-    DW_AT_hi_user = 0x3fff</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-/* Attribute form encodings */</div><div class='del'>-enum</div><div class='del'>-{</div><div class='del'>-    DW_FORM_addr = 0x01,</div><div class='del'>-    /* Reserved 0x02 */</div><div class='del'>-    DW_FORM_block2 = 0x03,</div><div class='del'>-    DW_FORM_block4 = 0x04,</div><div class='del'>-    DW_FORM_data2 = 0x05,</div><div class='del'>-    DW_FORM_data4 = 0x06,</div><div class='del'>-    DW_FORM_data8 = 0x07,</div><div class='del'>-    DW_FORM_string = 0x08,</div><div class='del'>-    DW_FORM_block = 0x09,</div><div class='del'>-    DW_FORM_block1 = 0x0a,</div><div class='del'>-    DW_FORM_data1 = 0x0b,</div><div class='del'>-    DW_FORM_flag = 0x0c,</div><div class='del'>-    DW_FORM_sdata = 0x0d,</div><div class='del'>-    DW_FORM_strp = 0x0e,</div><div class='del'>-    DW_FORM_udata = 0x0f,</div><div class='del'>-    DW_FORM_ref_addr = 0x10,</div><div class='del'>-    DW_FORM_ref1 = 0x11,</div><div class='del'>-    DW_FORM_ref2 = 0x12,</div><div class='del'>-    DW_FORM_ref4 = 0x13,</div><div class='del'>-    DW_FORM_ref8 = 0x14,</div><div class='del'>-    DW_FORM_ref_udata = 0x15,</div><div class='del'>-    DW_FORM_indirect = 0x16,</div><div class='del'>-    DW_FORM_sec_offset = 0x17,</div><div class='del'>-    DW_FORM_exprloc = 0x18,</div><div class='del'>-    DW_FORM_flag_present = 0x19,</div><div class='del'>-    DW_FORM_strx = 0x1a,</div><div class='del'>-    DW_FORM_addrx = 0x1b,</div><div class='del'>-    DW_FORM_ref_sup4 = 0x1c,</div><div class='del'>-    DW_FORM_strp_sup = 0x1d,</div><div class='del'>-    DW_FORM_data16 = 0x1e,</div><div class='del'>-    DW_FORM_line_strp = 0x1f,</div><div class='del'>-    DW_FORM_ref_sig8 = 0x20,</div><div class='del'>-    DW_FORM_implicit_const = 0x21,</div><div class='del'>-    DW_FORM_loclistx = 0x22,</div><div class='del'>-    DW_FORM_rnglistx = 0x23,</div><div class='del'>-    DW_FORM_ref_sup8 = 0x24,</div><div class='del'>-    DW_FORM_strx1 = 0x25,</div><div class='del'>-    DW_FORM_strx2 = 0x26,</div><div class='del'>-    DW_FORM_strx3 = 0x27,</div><div class='del'>-    DW_FORM_strx4 = 0x28,</div><div class='del'>-    DW_FORM_addrx1 = 0x29,</div><div class='del'>-    DW_FORM_addrx2 = 0x2a,</div><div class='del'>-    DW_FORM_addrx3 = 0x2b,</div><div class='del'>-    DW_FORM_addrx4 = 0x2c</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-enum {</div><div class='del'>-    VAL_none = 0,</div><div class='del'>-    VAL_cstr = 1,</div><div class='del'>-    VAL_data = 2,</div><div class='del'>-    VAL_uint = 3,</div><div class='del'>-    VAL_int = 4</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-# define ABBREV_TABLE_SIZE 256</div><div class='del'>-typedef struct {</div><div class='del'>-    obj_info_t *obj;</div><div class='del'>-    char *file;</div><div class='del'>-    char *current_cu;</div><div class='del'>-    uint64_t current_low_pc;</div><div class='del'>-    char *debug_line_cu_end;</div><div class='del'>-    char *debug_line_files;</div><div class='del'>-    char *debug_line_directories;</div><div class='del'>-    char *p;</div><div class='del'>-    char *cu_end;</div><div class='del'>-    char *pend;</div><div class='del'>-    char *q0;</div><div class='del'>-    char *q;</div><div class='del'>-    int format; /* 4 or 8 */;</div><div class='del'>-    uint8_t address_size;</div><div class='del'>-    int level;</div><div class='del'>-    char *abbrev_table[ABBREV_TABLE_SIZE];</div><div class='del'>-} DebugInfoReader;</div><div class='del'>-</div><div class='del'>-typedef struct {</div><div class='del'>-    ptrdiff_t pos;</div><div class='del'>-    int tag;</div><div class='del'>-    int has_children;</div><div class='del'>-} DIE;</div><div class='del'>-</div><div class='del'>-typedef struct {</div><div class='del'>-    union {</div><div class='del'>-        char *ptr;</div><div class='del'>-        uint64_t uint64;</div><div class='del'>-        int64_t int64;</div><div class='del'>-    } as;</div><div class='del'>-    uint64_t off;</div><div class='del'>-    uint64_t at;</div><div class='del'>-    uint64_t form;</div><div class='del'>-    size_t size;</div><div class='del'>-    int type;</div><div class='del'>-} DebugInfoValue;</div><div class='del'>-</div><div class='del'>-/* TODO: Big Endian */</div><div class='del'>-#define MERGE_2INTS(a,b,sz) (((uint64_t)(b)&lt;&lt;sz)|(a))</div><div class='del'>-</div><div class='del'>-static uint16_t</div><div class='del'>-get_uint16(const uint8_t *p)</div><div class='del'>-{</div><div class='del'>-    return (uint16_t)MERGE_2INTS(p[0],p[1],8);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint32_t</div><div class='del'>-get_uint32(const uint8_t *p)</div><div class='del'>-{</div><div class='del'>-    return (uint32_t)MERGE_2INTS(get_uint16(p),get_uint16(p+2),16);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint64_t</div><div class='del'>-get_uint64(const uint8_t *p)</div><div class='del'>-{</div><div class='del'>-    return MERGE_2INTS(get_uint32(p),get_uint32(p+4),32);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint8_t</div><div class='del'>-read_uint8(char **ptr)</div><div class='del'>-{</div><div class='del'>-    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='del'>-    *ptr = (char *)(p + 1);</div><div class='del'>-    return *p;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint16_t</div><div class='del'>-read_uint16(char **ptr)</div><div class='del'>-{</div><div class='del'>-    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='del'>-    *ptr = (char *)(p + 2);</div><div class='del'>-    return get_uint16(p);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint32_t</div><div class='del'>-read_uint24(char **ptr)</div><div class='del'>-{</div><div class='del'>-    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='del'>-    *ptr = (char *)(p + 3);</div><div class='del'>-    return (*p &lt;&lt; 16) | get_uint16(p+1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint32_t</div><div class='del'>-read_uint32(char **ptr)</div><div class='del'>-{</div><div class='del'>-    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='del'>-    *ptr = (char *)(p + 4);</div><div class='del'>-    return get_uint32(p);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint64_t</div><div class='del'>-read_uint64(char **ptr)</div><div class='del'>-{</div><div class='del'>-    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='del'>-    *ptr = (char *)(p + 8);</div><div class='del'>-    return get_uint64(p);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uintptr_t</div><div class='del'>-read_uintptr(char **ptr)</div><div class='del'>-{</div><div class='del'>-    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='del'>-    *ptr = (char *)(p + SIZEOF_VOIDP);</div><div class='del'>-#if SIZEOF_VOIDP == 8</div><div class='del'>-    return get_uint64(p);</div><div class='del'>-#else</div><div class='del'>-    return get_uint32(p);</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint64_t</div><div class='del'>-read_uint(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    if (reader-&gt;format == 4) {</div><div class='del'>-        return read_uint32(&amp;reader-&gt;p);</div><div class='del'>-    } else { /* 64 bit */</div><div class='del'>-        return read_uint64(&amp;reader-&gt;p);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uint64_t</div><div class='del'>-read_uleb128(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    return uleb128(&amp;reader-&gt;p);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int64_t</div><div class='del'>-read_sleb128(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    return sleb128(&amp;reader-&gt;p);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-debug_info_reader_init(DebugInfoReader *reader, obj_info_t *obj)</div><div class='del'>-{</div><div class='del'>-    reader-&gt;file = obj-&gt;mapped;</div><div class='del'>-    reader-&gt;obj = obj;</div><div class='del'>-    reader-&gt;p = obj-&gt;debug_info.ptr;</div><div class='del'>-    reader-&gt;pend = obj-&gt;debug_info.ptr + obj-&gt;debug_info.size;</div><div class='del'>-    reader-&gt;debug_line_cu_end = obj-&gt;debug_line.ptr;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-di_read_debug_abbrev_cu(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    uint64_t prev = 0;</div><div class='del'>-    char *p = reader-&gt;q0;</div><div class='del'>-    for (;;) {</div><div class='del'>-        uint64_t abbrev_number = uleb128(&amp;p);</div><div class='del'>-        if (abbrev_number &lt;= prev) break;</div><div class='del'>-        if (abbrev_number &lt; ABBREV_TABLE_SIZE) {</div><div class='del'>-            reader-&gt;abbrev_table[abbrev_number] = p;</div><div class='del'>-        }</div><div class='del'>-        prev = abbrev_number;</div><div class='del'>-        uleb128(&amp;p); /* tag */</div><div class='del'>-        p++; /* has_children */</div><div class='del'>-        /* skip content */</div><div class='del'>-        for (;;) {</div><div class='del'>-            uint64_t at = uleb128(&amp;p);</div><div class='del'>-            uint64_t form = uleb128(&amp;p);</div><div class='del'>-            if (!at &amp;&amp; !form) break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-di_read_debug_line_cu(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    const char *p;</div><div class='del'>-    struct LineNumberProgramHeader header;</div><div class='del'>-</div><div class='del'>-    p = (const char *)reader-&gt;debug_line_cu_end;</div><div class='del'>-    if (parse_debug_line_header(&amp;p, &amp;header))</div><div class='del'>-        return -1;</div><div class='del'>-</div><div class='del'>-    reader-&gt;debug_line_cu_end = (char *)header.cu_end;</div><div class='del'>-    reader-&gt;debug_line_directories = (char *)header.include_directories;</div><div class='del'>-    reader-&gt;debug_line_files = (char *)header.filenames;</div><div class='del'>-</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_uint_value(DebugInfoValue *v, uint64_t n)</div><div class='del'>-{</div><div class='del'>-    v-&gt;as.uint64 = n;</div><div class='del'>-    v-&gt;type = VAL_uint;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_int_value(DebugInfoValue *v, int64_t n)</div><div class='del'>-{</div><div class='del'>-    v-&gt;as.int64 = n;</div><div class='del'>-    v-&gt;type = VAL_int;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_cstr_value(DebugInfoValue *v, char *s)</div><div class='del'>-{</div><div class='del'>-    v-&gt;as.ptr = s;</div><div class='del'>-    v-&gt;off = 0;</div><div class='del'>-    v-&gt;type = VAL_cstr;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_cstrp_value(DebugInfoValue *v, char *s, uint64_t off)</div><div class='del'>-{</div><div class='del'>-    v-&gt;as.ptr = s;</div><div class='del'>-    v-&gt;off = off;</div><div class='del'>-    v-&gt;type = VAL_cstr;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_data_value(DebugInfoValue *v, char *s)</div><div class='del'>-{</div><div class='del'>-    v-&gt;as.ptr = s;</div><div class='del'>-    v-&gt;type = VAL_data;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const char *</div><div class='del'>-get_cstr_value(DebugInfoValue *v)</div><div class='del'>-{</div><div class='del'>-    if (v-&gt;as.ptr) {</div><div class='del'>-        return v-&gt;as.ptr + v-&gt;off;</div><div class='del'>-    } else {</div><div class='del'>-        return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-debug_info_reader_read_value(DebugInfoReader *reader, uint64_t form, DebugInfoValue *v)</div><div class='del'>-{</div><div class='del'>-    switch (form) {</div><div class='del'>-      case DW_FORM_addr:</div><div class='del'>-        if (reader-&gt;address_size == 4) {</div><div class='del'>-            set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        } else if (reader-&gt;address_size == 8) {</div><div class='del'>-            set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='del'>-        } else {</div><div class='del'>-            fprintf(stderr,"unknown address_size:%d", reader-&gt;address_size);</div><div class='del'>-            abort();</div><div class='del'>-        }</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_block2:</div><div class='del'>-        v-&gt;size = read_uint16(&amp;reader-&gt;p);</div><div class='del'>-        set_data_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_block4:</div><div class='del'>-        v-&gt;size = read_uint32(&amp;reader-&gt;p);</div><div class='del'>-        set_data_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_data2:</div><div class='del'>-        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_data4:</div><div class='del'>-        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_data8:</div><div class='del'>-        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_string:</div><div class='del'>-        v-&gt;size = strlen(reader-&gt;p);</div><div class='del'>-        set_cstr_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size + 1;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_block:</div><div class='del'>-        v-&gt;size = uleb128(&amp;reader-&gt;p);</div><div class='del'>-        set_data_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_block1:</div><div class='del'>-        v-&gt;size = read_uint8(&amp;reader-&gt;p);</div><div class='del'>-        set_data_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_data1:</div><div class='del'>-        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_flag:</div><div class='del'>-        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_sdata:</div><div class='del'>-        set_int_value(v, read_sleb128(reader));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strp:</div><div class='del'>-        set_cstrp_value(v, reader-&gt;obj-&gt;debug_str.ptr, read_uint(reader));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_udata:</div><div class='del'>-        set_uint_value(v, read_uleb128(reader));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref_addr:</div><div class='del'>-        if (reader-&gt;address_size == 4) {</div><div class='del'>-            set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        } else if (reader-&gt;address_size == 8) {</div><div class='del'>-            set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='del'>-        } else {</div><div class='del'>-            fprintf(stderr,"unknown address_size:%d", reader-&gt;address_size);</div><div class='del'>-            abort();</div><div class='del'>-        }</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref1:</div><div class='del'>-        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref2:</div><div class='del'>-        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref4:</div><div class='del'>-        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref8:</div><div class='del'>-        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref_udata:</div><div class='del'>-        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_indirect:</div><div class='del'>-        /* TODO: read the refered value */</div><div class='del'>-        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_sec_offset:</div><div class='del'>-        set_uint_value(v, read_uint(reader)); /* offset */</div><div class='del'>-        /* addrptr: debug_addr */</div><div class='del'>-        /* lineptr: debug_line */</div><div class='del'>-        /* loclist: debug_loclists */</div><div class='del'>-        /* loclistptr: debug_loclists */</div><div class='del'>-        /* macptr: debug_macro */</div><div class='del'>-        /* rnglist: debug_rnglists */</div><div class='del'>-        /* rnglistptr: debug_rnglists */</div><div class='del'>-        /* stroffsetsptr: debug_str_offsets */</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_exprloc:</div><div class='del'>-        v-&gt;size = (size_t)read_uleb128(reader);</div><div class='del'>-        set_data_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_flag_present:</div><div class='del'>-        set_uint_value(v, 1);</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strx:</div><div class='del'>-        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_addrx:</div><div class='del'>-        /* TODO: read .debug_addr */</div><div class='del'>-        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref_sup4:</div><div class='del'>-        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strp_sup:</div><div class='del'>-        set_uint_value(v, read_uint(reader));</div><div class='del'>-        /* *p = reader-&gt;sup_file + reader-&gt;sup_str-&gt;sh_offset + ret; */</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_data16:</div><div class='del'>-        v-&gt;size = 16;</div><div class='del'>-        set_data_value(v, reader-&gt;p);</div><div class='del'>-        reader-&gt;p += v-&gt;size;</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_line_strp:</div><div class='del'>-        set_uint_value(v, read_uint(reader));</div><div class='del'>-        /* *p = reader-&gt;file + reader-&gt;line-&gt;sh_offset + ret; */</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref_sig8:</div><div class='del'>-        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_implicit_const:</div><div class='del'>-        set_int_value(v, sleb128(&amp;reader-&gt;q));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_loclistx:</div><div class='del'>-        set_uint_value(v, read_uleb128(reader));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_rnglistx:</div><div class='del'>-        set_uint_value(v, read_uleb128(reader));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_ref_sup8:</div><div class='del'>-        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strx1:</div><div class='del'>-        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strx2:</div><div class='del'>-        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strx3:</div><div class='del'>-        set_uint_value(v, read_uint24(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_strx4:</div><div class='del'>-        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_addrx1:</div><div class='del'>-        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_addrx2:</div><div class='del'>-        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_addrx3:</div><div class='del'>-        set_uint_value(v, read_uint24(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case DW_FORM_addrx4:</div><div class='del'>-        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='del'>-        break;</div><div class='del'>-      case 0:</div><div class='del'>-        goto fail;</div><div class='del'>-        break;</div><div class='del'>-    }</div><div class='del'>-    return;</div><div class='del'>-</div><div class='del'>-  fail:</div><div class='del'>-    fprintf(stderr, "%d: unsupported form: %#"PRIx64"\n", __LINE__, form);</div><div class='del'>-    exit(1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* find abbrev in current compilation unit */</div><div class='del'>-static char *</div><div class='del'>-di_find_abbrev(DebugInfoReader *reader, uint64_t abbrev_number)</div><div class='del'>-{</div><div class='del'>-    char *p;</div><div class='del'>-    if (abbrev_number &lt; ABBREV_TABLE_SIZE) {</div><div class='del'>-        return reader-&gt;abbrev_table[abbrev_number];</div><div class='del'>-    }</div><div class='del'>-    p = reader-&gt;abbrev_table[ABBREV_TABLE_SIZE-1];</div><div class='del'>-    /* skip 255th record */</div><div class='del'>-    uleb128(&amp;p); /* tag */</div><div class='del'>-    p++; /* has_children */</div><div class='del'>-    /* skip content */</div><div class='del'>-    for (;;) {</div><div class='del'>-        uint64_t at = uleb128(&amp;p);</div><div class='del'>-        uint64_t form = uleb128(&amp;p);</div><div class='del'>-        if (!at &amp;&amp; !form) break;</div><div class='del'>-    }</div><div class='del'>-    for (uint64_t n = uleb128(&amp;p); abbrev_number != n; n = uleb128(&amp;p)) {</div><div class='del'>-        if (n == 0) {</div><div class='del'>-            fprintf(stderr,"%d: Abbrev Number %"PRId64" not found\n",__LINE__, abbrev_number);</div><div class='del'>-            exit(1);</div><div class='del'>-        }</div><div class='del'>-        uleb128(&amp;p); /* tag */</div><div class='del'>-        p++; /* has_children */</div><div class='del'>-        /* skip content */</div><div class='del'>-        for (;;) {</div><div class='del'>-            uint64_t at = uleb128(&amp;p);</div><div class='del'>-            uint64_t form = uleb128(&amp;p);</div><div class='del'>-            if (!at &amp;&amp; !form) break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return p;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if 0</div><div class='del'>-static void</div><div class='del'>-hexdump0(const unsigned char *p, size_t n)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    fprintf(stderr, "     0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F\n");</div><div class='del'>-    for (i=0; i &lt; n; i++){</div><div class='del'>-        switch (i &amp; 15) {</div><div class='del'>-          case 0:</div><div class='del'>-            fprintf(stderr, "%02zd: %02X ", i/16, p[i]);</div><div class='del'>-            break;</div><div class='del'>-          case 15:</div><div class='del'>-            fprintf(stderr, "%02X\n", p[i]);</div><div class='del'>-            break;</div><div class='del'>-          default:</div><div class='del'>-            fprintf(stderr, "%02X ", p[i]);</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    if ((i &amp; 15) != 15) {</div><div class='del'>-        fprintf(stderr, "\n");</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-#define hexdump(p,n) hexdump0((const unsigned char *)p, n)</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-div_inspect(DebugInfoValue *v)</div><div class='del'>-{</div><div class='del'>-    switch (v-&gt;type) {</div><div class='del'>-      case VAL_uint:</div><div class='del'>-        fprintf(stderr,"%d: type:%d size:%zx v:%lx\n",__LINE__,v-&gt;type,v-&gt;size,v-&gt;as.uint64);</div><div class='del'>-        break;</div><div class='del'>-      case VAL_int:</div><div class='del'>-        fprintf(stderr,"%d: type:%d size:%zx v:%ld\n",__LINE__,v-&gt;type,v-&gt;size,(int64_t)v-&gt;as.uint64);</div><div class='del'>-        break;</div><div class='del'>-      case VAL_cstr:</div><div class='del'>-        fprintf(stderr,"%d: type:%d size:%zx v:'%s'\n",__LINE__,v-&gt;type,v-&gt;size,v-&gt;as.ptr);</div><div class='del'>-        break;</div><div class='del'>-      case VAL_data:</div><div class='del'>-        fprintf(stderr,"%d: type:%d size:%zx v:\n",__LINE__,v-&gt;type,v-&gt;size);</div><div class='del'>-        hexdump(v-&gt;as.ptr, 16);</div><div class='del'>-        break;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static DIE *</div><div class='del'>-di_read_die(DebugInfoReader *reader, DIE *die)</div><div class='del'>-{</div><div class='del'>-    uint64_t abbrev_number = uleb128(&amp;reader-&gt;p);</div><div class='del'>-    if (abbrev_number == 0) {</div><div class='del'>-        reader-&gt;level--;</div><div class='del'>-        return NULL;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    reader-&gt;q = di_find_abbrev(reader, abbrev_number);</div><div class='del'>-</div><div class='del'>-    die-&gt;pos = reader-&gt;p - reader-&gt;obj-&gt;debug_info.ptr - 1;</div><div class='del'>-    die-&gt;tag = (int)uleb128(&amp;reader-&gt;q); /* tag */</div><div class='del'>-    die-&gt;has_children = *reader-&gt;q++; /* has_children */</div><div class='del'>-    if (die-&gt;has_children) {</div><div class='del'>-        reader-&gt;level++;</div><div class='del'>-    }</div><div class='del'>-    return die;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static DebugInfoValue *</div><div class='del'>-di_read_record(DebugInfoReader *reader, DebugInfoValue *vp)</div><div class='del'>-{</div><div class='del'>-    uint64_t at = uleb128(&amp;reader-&gt;q);</div><div class='del'>-    uint64_t form = uleb128(&amp;reader-&gt;q);</div><div class='del'>-    if (!at || !form) return NULL;</div><div class='del'>-    vp-&gt;at = at;</div><div class='del'>-    vp-&gt;form = form;</div><div class='del'>-    debug_info_reader_read_value(reader, form, vp);</div><div class='del'>-    return vp;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-di_skip_records(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    for (;;) {</div><div class='del'>-        DebugInfoValue v = {{}};</div><div class='del'>-        uint64_t at = uleb128(&amp;reader-&gt;q);</div><div class='del'>-        uint64_t form = uleb128(&amp;reader-&gt;q);</div><div class='del'>-        if (!at || !form) return;</div><div class='del'>-        debug_info_reader_read_value(reader, form, &amp;v);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-typedef struct {</div><div class='del'>-    uint64_t low_pc;</div><div class='del'>-    uint64_t high_pc;</div><div class='del'>-    uint64_t ranges;</div><div class='del'>-    bool low_pc_set;</div><div class='del'>-    bool high_pc_set;</div><div class='del'>-    bool ranges_set;</div><div class='del'>-} ranges_t;</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ranges_set(ranges_t *ptr, DebugInfoValue *v)</div><div class='del'>-{</div><div class='del'>-    switch (v-&gt;at) {</div><div class='del'>-      case DW_AT_low_pc:</div><div class='del'>-        ptr-&gt;low_pc = v-&gt;as.uint64;</div><div class='del'>-        ptr-&gt;low_pc_set = true;</div><div class='del'>-        break;</div><div class='del'>-      case DW_AT_high_pc:</div><div class='del'>-        if (v-&gt;form == DW_FORM_addr) {</div><div class='del'>-            ptr-&gt;high_pc = v-&gt;as.uint64;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            ptr-&gt;high_pc = ptr-&gt;low_pc + v-&gt;as.uint64;</div><div class='del'>-        }</div><div class='del'>-        ptr-&gt;high_pc_set = true;</div><div class='del'>-        break;</div><div class='del'>-      case DW_AT_ranges:</div><div class='del'>-        ptr-&gt;ranges = v-&gt;as.uint64;</div><div class='del'>-        ptr-&gt;ranges_set = true;</div><div class='del'>-        break;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static uintptr_t</div><div class='del'>-ranges_include(DebugInfoReader *reader, ranges_t *ptr, uint64_t addr)</div><div class='del'>-{</div><div class='del'>-    if (ptr-&gt;high_pc_set) {</div><div class='del'>-        if (ptr-&gt;ranges_set || !ptr-&gt;low_pc_set) {</div><div class='del'>-            exit(1);</div><div class='del'>-        }</div><div class='del'>-        if (ptr-&gt;low_pc &lt;= addr &amp;&amp; addr &lt;= ptr-&gt;high_pc) {</div><div class='del'>-            return (uintptr_t)ptr-&gt;low_pc;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (ptr-&gt;ranges_set) {</div><div class='del'>-        /* TODO: support base address selection entry */</div><div class='del'>-        char *p = reader-&gt;obj-&gt;debug_ranges.ptr + ptr-&gt;ranges;</div><div class='del'>-        uint64_t base = ptr-&gt;low_pc_set ? ptr-&gt;low_pc : reader-&gt;current_low_pc;</div><div class='del'>-        for (;;) {</div><div class='del'>-            uintptr_t from = read_uintptr(&amp;p);</div><div class='del'>-            uintptr_t to = read_uintptr(&amp;p);</div><div class='del'>-            if (!from &amp;&amp; !to) break;</div><div class='del'>-            if (from == UINTPTR_MAX) {</div><div class='del'>-                /* base address selection entry */</div><div class='del'>-                base = to;</div><div class='del'>-            }</div><div class='del'>-            else if (base + from &lt;= addr &amp;&amp; addr &lt; base + to) {</div><div class='del'>-                return from;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (ptr-&gt;low_pc_set) {</div><div class='del'>-        if (ptr-&gt;low_pc == addr) {</div><div class='del'>-            return (uintptr_t)ptr-&gt;low_pc;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return false;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if 0</div><div class='del'>-static void</div><div class='del'>-ranges_inspect(DebugInfoReader *reader, ranges_t *ptr)</div><div class='del'>-{</div><div class='del'>-    if (ptr-&gt;high_pc_set) {</div><div class='del'>-        if (ptr-&gt;ranges_set || !ptr-&gt;low_pc_set) {</div><div class='del'>-            fprintf(stderr,"low_pc_set:%d high_pc_set:%d ranges_set:%d\n",ptr-&gt;low_pc_set,ptr-&gt;high_pc_set,ptr-&gt;ranges_set);</div><div class='del'>-            exit(1);</div><div class='del'>-        }</div><div class='del'>-        fprintf(stderr,"low_pc:%"PRIx64" high_pc:%"PRIx64"\n",ptr-&gt;low_pc,ptr-&gt;high_pc);</div><div class='del'>-    }</div><div class='del'>-    else if (ptr-&gt;ranges_set) {</div><div class='del'>-        char *p = reader-&gt;obj-&gt;debug_ranges.ptr + ptr-&gt;ranges;</div><div class='del'>-        fprintf(stderr,"low_pc:%"PRIx64" ranges:%"PRIx64" %lx ",ptr-&gt;low_pc,ptr-&gt;ranges, p-reader-&gt;obj-&gt;mapped);</div><div class='del'>-        for (;;) {</div><div class='del'>-            uintptr_t from = read_uintptr(&amp;p);</div><div class='del'>-            uintptr_t to = read_uintptr(&amp;p);</div><div class='del'>-            if (!from &amp;&amp; !to) break;</div><div class='del'>-            fprintf(stderr,"%"PRIx64"-%"PRIx64" ",ptr-&gt;low_pc+from,ptr-&gt;low_pc+to);</div><div class='del'>-        }</div><div class='del'>-        fprintf(stderr,"\n");</div><div class='del'>-    }</div><div class='del'>-    else if (ptr-&gt;low_pc_set) {</div><div class='del'>-        fprintf(stderr,"low_pc:%"PRIx64"\n",ptr-&gt;low_pc);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        fprintf(stderr,"empty\n");</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-di_read_cu(DebugInfoReader *reader)</div><div class='del'>-{</div><div class='del'>-    uint64_t unit_length;</div><div class='del'>-    uint16_t version;</div><div class='del'>-    uint64_t debug_abbrev_offset;</div><div class='del'>-    reader-&gt;format = 4;</div><div class='del'>-    reader-&gt;current_cu = reader-&gt;p;</div><div class='del'>-    unit_length = read_uint32(&amp;reader-&gt;p);</div><div class='del'>-    if (unit_length == 0xffffffff) {</div><div class='del'>-        unit_length = read_uint64(&amp;reader-&gt;p);</div><div class='del'>-        reader-&gt;format = 8;</div><div class='del'>-    }</div><div class='del'>-    reader-&gt;cu_end = reader-&gt;p + unit_length;</div><div class='del'>-    version = read_uint16(&amp;reader-&gt;p);</div><div class='del'>-    if (version &gt; 5) {</div><div class='del'>-        return -1;</div><div class='del'>-    }</div><div class='del'>-    else if (version == 5) {</div><div class='del'>-        /* unit_type = */ read_uint8(&amp;reader-&gt;p);</div><div class='del'>-        reader-&gt;address_size = read_uint8(&amp;reader-&gt;p);</div><div class='del'>-        debug_abbrev_offset = read_uint(reader);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        debug_abbrev_offset = read_uint(reader);</div><div class='del'>-        reader-&gt;address_size = read_uint8(&amp;reader-&gt;p);</div><div class='del'>-    }</div><div class='del'>-    reader-&gt;q0 = reader-&gt;obj-&gt;debug_abbrev.ptr + debug_abbrev_offset;</div><div class='del'>-</div><div class='del'>-    reader-&gt;level = 0;</div><div class='del'>-    di_read_debug_abbrev_cu(reader);</div><div class='del'>-    if (di_read_debug_line_cu(reader)) return -1;</div><div class='del'>-</div><div class='del'>-#if defined(__GNUC__) &amp;&amp; !defined(__clang__) &amp;&amp; !defined(__INTEL_COMPILER_BUILD_DATE)</div><div class='del'>-    /* Though DWARF specifies "the applicable base address defaults to the base</div><div class='del'>-       address of the compilation unit", but GCC seems to use zero as default */</div><div class='del'>-#else</div><div class='del'>-    do {</div><div class='del'>-        DIE die;</div><div class='del'>-</div><div class='del'>-        if (!di_read_die(reader, &amp;die)) continue;</div><div class='del'>-</div><div class='del'>-        if (die.tag != DW_TAG_compile_unit) {</div><div class='del'>-            di_skip_records(reader);</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        /* enumerate abbrev */</div><div class='del'>-        for (;;) {</div><div class='del'>-            DebugInfoValue v = {{}};</div><div class='del'>-            if (!di_read_record(reader, &amp;v)) break;</div><div class='del'>-            switch (v.at) {</div><div class='del'>-              case DW_AT_low_pc:</div><div class='del'>-                reader-&gt;current_low_pc = v.as.uint64;</div><div class='del'>-                break;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    } while (0);</div><div class='del'>-#endif</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-read_abstract_origin(DebugInfoReader *reader, uint64_t abstract_origin, line_info_t *line)</div><div class='del'>-{</div><div class='del'>-    char *p = reader-&gt;p;</div><div class='del'>-    char *q = reader-&gt;q;</div><div class='del'>-    int level = reader-&gt;level;</div><div class='del'>-    DIE die;</div><div class='del'>-</div><div class='del'>-    reader-&gt;p = reader-&gt;current_cu + abstract_origin;</div><div class='del'>-    if (!di_read_die(reader, &amp;die)) goto finish;</div><div class='del'>-</div><div class='del'>-    /* enumerate abbrev */</div><div class='del'>-    for (;;) {</div><div class='del'>-        DebugInfoValue v = {{}};</div><div class='del'>-        if (!di_read_record(reader, &amp;v)) break;</div><div class='del'>-        switch (v.at) {</div><div class='del'>-          case DW_AT_name:</div><div class='del'>-            line-&gt;sname = get_cstr_value(&amp;v);</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-  finish:</div><div class='del'>-    reader-&gt;p = p;</div><div class='del'>-    reader-&gt;q = q;</div><div class='del'>-    reader-&gt;level = level;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-debug_info_read(DebugInfoReader *reader, int num_traces, void **traces,</div><div class='del'>-         line_info_t *lines, int offset) {</div><div class='del'>-    while (reader-&gt;p &lt; reader-&gt;cu_end) {</div><div class='del'>-        DIE die;</div><div class='del'>-        ranges_t ranges = {};</div><div class='del'>-        line_info_t line = {};</div><div class='del'>-</div><div class='del'>-        if (!di_read_die(reader, &amp;die)) continue;</div><div class='del'>-        /* fprintf(stderr,"%d:%tx: &lt;%d&gt;\n",__LINE__,die.pos,reader-&gt;level,die.tag); */</div><div class='del'>-</div><div class='del'>-        if (die.tag != DW_TAG_subprogram &amp;&amp; die.tag != DW_TAG_inlined_subroutine) {</div><div class='del'>-          skip_die:</div><div class='del'>-            di_skip_records(reader);</div><div class='del'>-            continue;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        /* enumerate abbrev */</div><div class='del'>-        for (;;) {</div><div class='del'>-            DebugInfoValue v = {{}};</div><div class='del'>-            /* ptrdiff_t pos = reader-&gt;p - reader-&gt;p0; */</div><div class='del'>-            if (!di_read_record(reader, &amp;v)) break;</div><div class='del'>-            /* fprintf(stderr,"\n%d:%tx: AT:%lx FORM:%lx\n",__LINE__,pos,v.at,v.form); */</div><div class='del'>-            /* div_inspect(&amp;v); */</div><div class='del'>-            switch (v.at) {</div><div class='del'>-              case DW_AT_name:</div><div class='del'>-                line.sname = get_cstr_value(&amp;v);</div><div class='del'>-                break;</div><div class='del'>-              case DW_AT_call_file:</div><div class='del'>-                fill_filename((int)v.as.uint64, reader-&gt;debug_line_directories, reader-&gt;debug_line_files, &amp;line, reader-&gt;obj);</div><div class='del'>-                break;</div><div class='del'>-              case DW_AT_call_line:</div><div class='del'>-                line.line = (int)v.as.uint64;</div><div class='del'>-                break;</div><div class='del'>-              case DW_AT_low_pc:</div><div class='del'>-              case DW_AT_high_pc:</div><div class='del'>-              case DW_AT_ranges:</div><div class='del'>-                ranges_set(&amp;ranges, &amp;v);</div><div class='del'>-                break;</div><div class='del'>-              case DW_AT_declaration:</div><div class='del'>-                goto skip_die;</div><div class='del'>-              case DW_AT_inline:</div><div class='del'>-                /* 1 or 3 */</div><div class='del'>-                break; /* goto skip_die; */</div><div class='del'>-              case DW_AT_abstract_origin:</div><div class='del'>-                read_abstract_origin(reader, v.as.uint64, &amp;line);</div><div class='del'>-                break; /* goto skip_die; */</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        /* ranges_inspect(reader, &amp;ranges); */</div><div class='del'>-        /* fprintf(stderr,"%d:%tx: %x ",__LINE__,diepos,die.tag); */</div><div class='del'>-        for (int i=offset; i &lt; num_traces; i++) {</div><div class='del'>-            uintptr_t addr = (uintptr_t)traces[i];</div><div class='del'>-            uintptr_t offset = addr - reader-&gt;obj-&gt;base_addr + reader-&gt;obj-&gt;vmaddr;</div><div class='del'>-            uintptr_t saddr = ranges_include(reader, &amp;ranges, offset);</div><div class='del'>-            if (saddr) {</div><div class='del'>-                /* fprintf(stderr, "%d:%tx: %d %lx-&gt;%lx %x %s: %s/%s %d %s %s %s\n",__LINE__,die.pos, i,addr,offset, die.tag,line.sname,line.dirname,line.filename,line.line,reader-&gt;obj-&gt;path,line.sname,lines[i].sname); */</div><div class='del'>-                if (lines[i].sname) {</div><div class='del'>-                    line_info_t *lp = malloc(sizeof(line_info_t));</div><div class='del'>-                    memcpy(lp, &amp;lines[i], sizeof(line_info_t));</div><div class='del'>-                    lines[i].next = lp;</div><div class='del'>-                    lp-&gt;dirname = line.dirname;</div><div class='del'>-                    lp-&gt;filename = line.filename;</div><div class='del'>-                    lp-&gt;line = line.line;</div><div class='del'>-                    lp-&gt;saddr = 0;</div><div class='del'>-                }</div><div class='del'>-                lines[i].path = reader-&gt;obj-&gt;path;</div><div class='del'>-                lines[i].base_addr = line.base_addr;</div><div class='del'>-                lines[i].sname = line.sname;</div><div class='del'>-                lines[i].saddr = saddr + reader-&gt;obj-&gt;base_addr - reader-&gt;obj-&gt;vmaddr;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_ELF</div><div class='del'>-static unsigned long</div><div class='del'>-uncompress_debug_section(ElfW(Shdr) *shdr, char *file, char **ptr)</div><div class='del'>-{</div><div class='del'>-#ifdef SUPPORT_COMPRESSED_DEBUG_LINE</div><div class='del'>-    ElfW(Chdr) *chdr = (ElfW(Chdr) *)(file + shdr-&gt;sh_offset);</div><div class='del'>-    unsigned long destsize = chdr-&gt;ch_size;</div><div class='del'>-    int ret = 0;</div><div class='del'>-</div><div class='del'>-    if (chdr-&gt;ch_type != ELFCOMPRESS_ZLIB) {</div><div class='del'>-	/* unsupported compression type */</div><div class='del'>-	return 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *ptr = malloc(destsize);</div><div class='del'>-    if (!*ptr) return 0;</div><div class='del'>-    ret = uncompress((Bytef *)*ptr, &amp;destsize,</div><div class='del'>-	    (const Bytef*)chdr + sizeof(ElfW(Chdr)),</div><div class='del'>-            shdr-&gt;sh_size - sizeof(ElfW(Chdr)));</div><div class='del'>-    if (ret != Z_OK) goto fail;</div><div class='del'>-    return destsize;</div><div class='del'>-</div><div class='del'>-fail:</div><div class='del'>-    free(*ptr);</div><div class='del'>-#endif</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* read file and fill lines */</div><div class='del'>-static uintptr_t</div><div class='del'>-fill_lines(int num_traces, void **traces, int check_debuglink,</div><div class='del'>-	   obj_info_t **objp, line_info_t *lines, int offset)</div><div class='del'>-{</div><div class='del'>-    int i, j;</div><div class='del'>-    char *shstr;</div><div class='del'>-    ElfW(Ehdr) *ehdr;</div><div class='del'>-    ElfW(Shdr) *shdr, *shstr_shdr;</div><div class='del'>-    ElfW(Shdr) *gnu_debuglink_shdr = NULL;</div><div class='del'>-    int fd;</div><div class='del'>-    off_t filesize;</div><div class='del'>-    char *file;</div><div class='del'>-    ElfW(Shdr) *symtab_shdr = NULL, *strtab_shdr = NULL;</div><div class='del'>-    ElfW(Shdr) *dynsym_shdr = NULL, *dynstr_shdr = NULL;</div><div class='del'>-    obj_info_t *obj = *objp;</div><div class='del'>-    uintptr_t dladdr_fbase = 0;</div><div class='del'>-</div><div class='del'>-    fd = open(binary_filename, O_RDONLY);</div><div class='del'>-    if (fd &lt; 0) {</div><div class='del'>-	goto fail;</div><div class='del'>-    }</div><div class='del'>-    filesize = lseek(fd, 0, SEEK_END);</div><div class='del'>-    if (filesize &lt; 0) {</div><div class='del'>-	int e = errno;</div><div class='del'>-	close(fd);</div><div class='del'>-	kprintf("lseek: %s\n", strerror(e));</div><div class='del'>-	goto fail;</div><div class='del'>-    }</div><div class='del'>-#if SIZEOF_OFF_T &gt; SIZEOF_SIZE_T</div><div class='del'>-    if (filesize &gt; (off_t)SIZE_MAX) {</div><div class='del'>-	close(fd);</div><div class='del'>-	kprintf("Too large file %s\n", binary_filename);</div><div class='del'>-	goto fail;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    lseek(fd, 0, SEEK_SET);</div><div class='del'>-    /* async-signal unsafe */</div><div class='del'>-    file = (char *)mmap(NULL, (size_t)filesize, PROT_READ, MAP_SHARED, fd, 0);</div><div class='del'>-    if (file == MAP_FAILED) {</div><div class='del'>-	int e = errno;</div><div class='del'>-	close(fd);</div><div class='del'>-	kprintf("mmap: %s\n", strerror(e));</div><div class='del'>-	goto fail;</div><div class='del'>-    }</div><div class='del'>-    close(fd);</div><div class='del'>-</div><div class='del'>-    ehdr = (ElfW(Ehdr) *)file;</div><div class='del'>-    if (memcmp(ehdr-&gt;e_ident, "\177ELF", 4) != 0) {</div><div class='del'>-	/*</div><div class='del'>-	 * Huh? Maybe filename was overridden by setproctitle() and</div><div class='del'>-	 * it match non-elf file.</div><div class='del'>-	 */</div><div class='del'>-	goto fail;</div><div class='del'>-    }</div><div class='del'>-    obj-&gt;mapped = file;</div><div class='del'>-    obj-&gt;mapped_size = (size_t)filesize;</div><div class='del'>-</div><div class='del'>-    shdr = (ElfW(Shdr) *)(file + ehdr-&gt;e_shoff);</div><div class='del'>-</div><div class='del'>-    shstr_shdr = shdr + ehdr-&gt;e_shstrndx;</div><div class='del'>-    shstr = file + shstr_shdr-&gt;sh_offset;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; ehdr-&gt;e_shnum; i++) {</div><div class='del'>-        char *section_name = shstr + shdr[i].sh_name;</div><div class='del'>-	switch (shdr[i].sh_type) {</div><div class='del'>-	  case SHT_STRTAB:</div><div class='del'>-	    if (!strcmp(section_name, ".strtab")) {</div><div class='del'>-		strtab_shdr = shdr + i;</div><div class='del'>-	    }</div><div class='del'>-	    else if (!strcmp(section_name, ".dynstr")) {</div><div class='del'>-		dynstr_shdr = shdr + i;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  case SHT_SYMTAB:</div><div class='del'>-	    /* if (!strcmp(section_name, ".symtab")) */</div><div class='del'>-	    symtab_shdr = shdr + i;</div><div class='del'>-	    break;</div><div class='del'>-	  case SHT_DYNSYM:</div><div class='del'>-	    /* if (!strcmp(section_name, ".dynsym")) */</div><div class='del'>-	    dynsym_shdr = shdr + i;</div><div class='del'>-	    break;</div><div class='del'>-	  case SHT_PROGBITS:</div><div class='del'>-	    if (!strcmp(section_name, ".gnu_debuglink")) {</div><div class='del'>-		gnu_debuglink_shdr = shdr + i;</div><div class='del'>-	    }</div><div class='del'>-            else {</div><div class='del'>-                const char *debug_section_names[] = {</div><div class='del'>-                    ".debug_abbrev",</div><div class='del'>-                    ".debug_info",</div><div class='del'>-                    ".debug_line",</div><div class='del'>-                    ".debug_ranges",</div><div class='del'>-                    ".debug_str"</div><div class='del'>-                };</div><div class='del'>-</div><div class='del'>-                for (j=0; j &lt; DWARF_SECTION_COUNT; j++) {</div><div class='del'>-                    struct dwarf_section *s = obj_dwarf_section_at(obj, j);</div><div class='del'>-</div><div class='del'>-                    if (strcmp(section_name, debug_section_names[j]) != 0)</div><div class='del'>-                        continue;</div><div class='del'>-</div><div class='del'>-                    s-&gt;ptr = file + shdr[i].sh_offset;</div><div class='del'>-                    s-&gt;size = shdr[i].sh_size;</div><div class='del'>-                    s-&gt;flags = shdr[i].sh_flags;</div><div class='del'>-                    if (s-&gt;flags &amp; SHF_COMPRESSED) {</div><div class='del'>-                        s-&gt;size = uncompress_debug_section(&amp;shdr[i], file, &amp;s-&gt;ptr);</div><div class='del'>-                        if (!s-&gt;size) goto fail;</div><div class='del'>-                    }</div><div class='del'>-                    break;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (offset == -1) {</div><div class='del'>-	/* main executable */</div><div class='del'>-	offset = 0;</div><div class='del'>-	if (dynsym_shdr &amp;&amp; dynstr_shdr) {</div><div class='del'>-	    char *strtab = file + dynstr_shdr-&gt;sh_offset;</div><div class='del'>-	    ElfW(Sym) *symtab = (ElfW(Sym) *)(file + dynsym_shdr-&gt;sh_offset);</div><div class='del'>-	    int symtab_count = (int)(dynsym_shdr-&gt;sh_size / sizeof(ElfW(Sym)));</div><div class='del'>-            void *handle = dlopen(NULL, RTLD_NOW|RTLD_LOCAL);</div><div class='del'>-            if (handle) {</div><div class='del'>-                for (j = 0; j &lt; symtab_count; j++) {</div><div class='del'>-                    ElfW(Sym) *sym = &amp;symtab[j];</div><div class='del'>-                    Dl_info info;</div><div class='del'>-                    void *s;</div><div class='del'>-                    if (ELF_ST_TYPE(sym-&gt;st_info) != STT_FUNC || sym-&gt;st_size == 0) continue;</div><div class='del'>-                    s = dlsym(handle, strtab + sym-&gt;st_name);</div><div class='del'>-                    if (s &amp;&amp; dladdr(s, &amp;info)) {</div><div class='del'>-                        obj-&gt;base_addr = dladdr_fbase;</div><div class='del'>-                        dladdr_fbase = (uintptr_t)info.dli_fbase;</div><div class='del'>-                        break;</div><div class='del'>-                    }</div><div class='del'>-                }</div><div class='del'>-                dlclose(handle);</div><div class='del'>-            }</div><div class='del'>-	    if (ehdr-&gt;e_type == ET_EXEC) {</div><div class='del'>-		obj-&gt;base_addr = 0;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		/* PIE (position-independent executable) */</div><div class='del'>-		obj-&gt;base_addr = dladdr_fbase;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (obj-&gt;debug_info.ptr &amp;&amp; obj-&gt;debug_abbrev.ptr) {</div><div class='del'>-        DebugInfoReader reader;</div><div class='del'>-        debug_info_reader_init(&amp;reader, obj);</div><div class='del'>-        i = 0;</div><div class='del'>-        while (reader.p &lt; reader.pend) {</div><div class='del'>-            /* fprintf(stderr, "%d:%tx: CU[%d]\n", __LINE__, reader.p - reader.obj-&gt;debug_info.ptr, i++); */</div><div class='del'>-            if (di_read_cu(&amp;reader)) goto use_symtab;</div><div class='del'>-            debug_info_read(&amp;reader, num_traces, traces, lines, offset);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        /* This file doesn't have dwarf, use symtab or dynsym */</div><div class='del'>-use_symtab:</div><div class='del'>-        if (!symtab_shdr) {</div><div class='del'>-            /* This file doesn't have symtab, use dynsym instead */</div><div class='del'>-            symtab_shdr = dynsym_shdr;</div><div class='del'>-            strtab_shdr = dynstr_shdr;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        if (symtab_shdr &amp;&amp; strtab_shdr) {</div><div class='del'>-            char *strtab = file + strtab_shdr-&gt;sh_offset;</div><div class='del'>-            ElfW(Sym) *symtab = (ElfW(Sym) *)(file + symtab_shdr-&gt;sh_offset);</div><div class='del'>-            int symtab_count = (int)(symtab_shdr-&gt;sh_size / sizeof(ElfW(Sym)));</div><div class='del'>-            for (j = 0; j &lt; symtab_count; j++) {</div><div class='del'>-                ElfW(Sym) *sym = &amp;symtab[j];</div><div class='del'>-                uintptr_t saddr = (uintptr_t)sym-&gt;st_value + obj-&gt;base_addr;</div><div class='del'>-                if (ELF_ST_TYPE(sym-&gt;st_info) != STT_FUNC) continue;</div><div class='del'>-                for (i = offset; i &lt; num_traces; i++) {</div><div class='del'>-                    uintptr_t d = (uintptr_t)traces[i] - saddr;</div><div class='del'>-                    if (lines[i].line &gt; 0 || d &gt; (uintptr_t)sym-&gt;st_size)</div><div class='del'>-                        continue;</div><div class='del'>-                    /* fill symbol name and addr from .symtab */</div><div class='del'>-                    if (!lines[i].sname) lines[i].sname = strtab + sym-&gt;st_name;</div><div class='del'>-                    lines[i].saddr = saddr;</div><div class='del'>-                    lines[i].path  = obj-&gt;path;</div><div class='del'>-                    lines[i].base_addr = obj-&gt;base_addr;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!obj-&gt;debug_line.ptr) {</div><div class='del'>-	/* This file doesn't have .debug_line section,</div><div class='del'>-	   let's check .gnu_debuglink section instead. */</div><div class='del'>-	if (gnu_debuglink_shdr &amp;&amp; check_debuglink) {</div><div class='del'>-	    follow_debuglink(file + gnu_debuglink_shdr-&gt;sh_offset,</div><div class='del'>-			     num_traces, traces,</div><div class='del'>-			     objp, lines, offset);</div><div class='del'>-	}</div><div class='del'>-	goto finish;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (parse_debug_line(num_traces, traces,</div><div class='del'>-            obj-&gt;debug_line.ptr,</div><div class='del'>-            obj-&gt;debug_line.size,</div><div class='del'>-            obj, lines, offset) == -1)</div><div class='del'>-        goto fail;</div><div class='del'>-</div><div class='del'>-finish:</div><div class='del'>-    return dladdr_fbase;</div><div class='del'>-fail:</div><div class='del'>-    return (uintptr_t)-1;</div><div class='del'>-}</div><div class='del'>-#else /* Mach-O */</div><div class='del'>-/* read file and fill lines */</div><div class='del'>-static uintptr_t</div><div class='del'>-fill_lines(int num_traces, void **traces, int check_debuglink,</div><div class='del'>-        obj_info_t **objp, line_info_t *lines, int offset)</div><div class='del'>-{</div><div class='del'>-# ifdef __LP64__</div><div class='del'>-#  define LP(x) x##_64</div><div class='del'>-# else</div><div class='del'>-#  define LP(x) x</div><div class='del'>-# endif</div><div class='del'>-    int fd;</div><div class='del'>-    off_t filesize;</div><div class='del'>-    char *file, *p = NULL;</div><div class='del'>-    obj_info_t *obj = *objp;</div><div class='del'>-    struct LP(mach_header) *header;</div><div class='del'>-    uintptr_t dladdr_fbase = 0;</div><div class='del'>-</div><div class='del'>-    {</div><div class='del'>-        char *s = binary_filename;</div><div class='del'>-        char *base = strrchr(binary_filename, '/')+1;</div><div class='del'>-        size_t max = PATH_MAX;</div><div class='del'>-        size_t size = strlen(binary_filename);</div><div class='del'>-        size_t basesize = size - (base - binary_filename);</div><div class='del'>-        s += size;</div><div class='del'>-        max -= size;</div><div class='del'>-        p = s;</div><div class='del'>-        size = strlcpy(s, ".dSYM/Contents/Resources/DWARF/", max);</div><div class='del'>-        if (size == 0) goto fail;</div><div class='del'>-        s += size;</div><div class='del'>-        max -= size;</div><div class='del'>-        if (max &lt;= basesize) goto fail;</div><div class='del'>-        memcpy(s, base, basesize);</div><div class='del'>-        s[basesize] = 0;</div><div class='del'>-</div><div class='del'>-        fd = open(binary_filename, O_RDONLY);</div><div class='del'>-        if (fd &lt; 0) {</div><div class='del'>-            *p = 0; /* binary_filename becomes original file name */</div><div class='del'>-            fd = open(binary_filename, O_RDONLY);</div><div class='del'>-            if (fd &lt; 0) {</div><div class='del'>-                goto fail;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    filesize = lseek(fd, 0, SEEK_END);</div><div class='del'>-    if (filesize &lt; 0) {</div><div class='del'>-        int e = errno;</div><div class='del'>-        close(fd);</div><div class='del'>-        kprintf("lseek: %s\n", strerror(e));</div><div class='del'>-        goto fail;</div><div class='del'>-    }</div><div class='del'>-#if SIZEOF_OFF_T &gt; SIZEOF_SIZE_T</div><div class='del'>-    if (filesize &gt; (off_t)SIZE_MAX) {</div><div class='del'>-        close(fd);</div><div class='del'>-        kprintf("Too large file %s\n", binary_filename);</div><div class='del'>-        goto fail;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    lseek(fd, 0, SEEK_SET);</div><div class='del'>-    /* async-signal unsafe */</div><div class='del'>-    file = (char *)mmap(NULL, (size_t)filesize, PROT_READ, MAP_SHARED, fd, 0);</div><div class='del'>-    if (file == MAP_FAILED) {</div><div class='del'>-        int e = errno;</div><div class='del'>-        close(fd);</div><div class='del'>-        kprintf("mmap: %s\n", strerror(e));</div><div class='del'>-        goto fail;</div><div class='del'>-    }</div><div class='del'>-    close(fd);</div><div class='del'>-</div><div class='del'>-    obj-&gt;mapped = file;</div><div class='del'>-    obj-&gt;mapped_size = (size_t)filesize;</div><div class='del'>-</div><div class='del'>-    header = (struct LP(mach_header) *)file;</div><div class='del'>-    if (header-&gt;magic == LP(MH_MAGIC)) {</div><div class='del'>-        /* non universal binary */</div><div class='del'>-        p = file;</div><div class='del'>-    }</div><div class='del'>-    else if (header-&gt;magic == FAT_CIGAM) {</div><div class='del'>-        struct fat_header *fat = (struct fat_header *)file;</div><div class='del'>-        char *q = file + sizeof(*fat);</div><div class='del'>-        uint32_t nfat_arch = __builtin_bswap32(fat-&gt;nfat_arch);</div><div class='del'>-        /* fprintf(stderr,"%d: fat:%s %d\n",__LINE__, binary_filename,nfat_arch); */</div><div class='del'>-        for (uint32_t i = 0; i &lt; nfat_arch; i++) {</div><div class='del'>-            struct fat_arch *arch = (struct fat_arch *)q;</div><div class='del'>-            cpu_type_t cputype = __builtin_bswap32(arch-&gt;cputype);</div><div class='del'>-            cpu_subtype_t cpusubtype = __builtin_bswap32(arch-&gt;cpusubtype);</div><div class='del'>-            uint32_t offset = __builtin_bswap32(arch-&gt;offset);</div><div class='del'>-            /* fprintf(stderr,"%d: fat %d %x/%x %x/%x\n",__LINE__, i, _mh_execute_header.cputype,_mh_execute_header.cpusubtype, cputype,cpusubtype); */</div><div class='del'>-            if (_mh_execute_header.cputype == cputype &amp;&amp;</div><div class='del'>-                    (_mh_execute_header.cpusubtype &amp; ~CPU_SUBTYPE_MASK) == cpusubtype) {</div><div class='del'>-                p = file + offset;</div><div class='del'>-                file = p;</div><div class='del'>-                header = (struct LP(mach_header) *)p;</div><div class='del'>-                if (header-&gt;magic == LP(MH_MAGIC)) {</div><div class='del'>-                    goto found_mach_header;</div><div class='del'>-                }</div><div class='del'>-                break;</div><div class='del'>-            }</div><div class='del'>-            q += sizeof(*arch);</div><div class='del'>-        }</div><div class='del'>-        kprintf("'%s' is not a Mach-O universal binary file!\n",binary_filename);</div><div class='del'>-        close(fd);</div><div class='del'>-        goto fail;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        kprintf("'%s' is not a "</div><div class='del'>-# ifdef __LP64__</div><div class='del'>-                "64"</div><div class='del'>-# else</div><div class='del'>-                "32"</div><div class='del'>-# endif</div><div class='del'>-                "-bit Mach-O file!\n",binary_filename);</div><div class='del'>-        close(fd);</div><div class='del'>-        goto fail;</div><div class='del'>-    }</div><div class='del'>-found_mach_header:</div><div class='del'>-    p += sizeof(*header);</div><div class='del'>-</div><div class='del'>-    for (uint32_t i = 0; i &lt; (uint32_t)header-&gt;ncmds; i++) {</div><div class='del'>-        struct load_command *lcmd = (struct load_command *)p;</div><div class='del'>-        switch (lcmd-&gt;cmd) {</div><div class='del'>-          case LP(LC_SEGMENT):</div><div class='del'>-            {</div><div class='del'>-                static const char *debug_section_names[] = {</div><div class='del'>-                    "__debug_abbrev",</div><div class='del'>-                    "__debug_info",</div><div class='del'>-                    "__debug_line",</div><div class='del'>-                    "__debug_ranges",</div><div class='del'>-                    "__debug_str"</div><div class='del'>-                };</div><div class='del'>-                struct LP(segment_command) *scmd = (struct LP(segment_command) *)lcmd;</div><div class='del'>-                if (strcmp(scmd-&gt;segname, "__TEXT") == 0) {</div><div class='del'>-                    obj-&gt;vmaddr = scmd-&gt;vmaddr;</div><div class='del'>-                }</div><div class='del'>-                else if (strcmp(scmd-&gt;segname, "__DWARF") == 0) {</div><div class='del'>-                    p += sizeof(struct LP(segment_command));</div><div class='del'>-                    for (uint64_t i = 0; i &lt; scmd-&gt;nsects; i++) {</div><div class='del'>-                        struct LP(section) *sect = (struct LP(section) *)p;</div><div class='del'>-                        p += sizeof(struct LP(section));</div><div class='del'>-                        for (int j=0; j &lt; DWARF_SECTION_COUNT; j++) {</div><div class='del'>-                            struct dwarf_section *s = obj_dwarf_section_at(obj, j);</div><div class='del'>-</div><div class='del'>-                            if (strcmp(sect-&gt;sectname, debug_section_names[j]) != 0)</div><div class='del'>-                                continue;</div><div class='del'>-</div><div class='del'>-                            s-&gt;ptr = file + sect-&gt;offset;</div><div class='del'>-                            s-&gt;size = sect-&gt;size;</div><div class='del'>-                            s-&gt;flags = sect-&gt;flags;</div><div class='del'>-                            if (s-&gt;flags &amp; SHF_COMPRESSED) {</div><div class='del'>-                                goto fail;</div><div class='del'>-                            }</div><div class='del'>-                            break;</div><div class='del'>-                        }</div><div class='del'>-                    }</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            break;</div><div class='del'>-</div><div class='del'>-          case LC_SYMTAB:</div><div class='del'>-            {</div><div class='del'>-                struct symtab_command *cmd = (struct symtab_command *)lcmd;</div><div class='del'>-                struct LP(nlist) *nl = (struct LP(nlist) *)(file + cmd-&gt;symoff);</div><div class='del'>-                char *strtab = file + cmd-&gt;stroff, *sname;</div><div class='del'>-                uint32_t j;</div><div class='del'>-                uintptr_t saddr;</div><div class='del'>-                /* kprintf("[%2d]: %x/symtab %p\n", i, cmd-&gt;cmd, p); */</div><div class='del'>-                for (j = 0; j &lt; cmd-&gt;nsyms; j++) {</div><div class='del'>-                    uintptr_t symsize, d;</div><div class='del'>-                    struct LP(nlist) *e = &amp;nl[j];</div><div class='del'>-                        /* kprintf("[%2d][%4d]: %02x/%x/%x: %s %llx\n", i, j, e-&gt;n_type,e-&gt;n_sect,e-&gt;n_desc,strtab+e-&gt;n_un.n_strx,e-&gt;n_value); */</div><div class='del'>-                    if (e-&gt;n_type != N_FUN) continue;</div><div class='del'>-                    if (e-&gt;n_sect) {</div><div class='del'>-                        saddr = (uintptr_t)e-&gt;n_value + obj-&gt;base_addr - obj-&gt;vmaddr;</div><div class='del'>-                        sname = strtab + e-&gt;n_un.n_strx;</div><div class='del'>-                        /* kprintf("[%2d][%4d]: %02x/%x/%x: %s %llx\n", i, j, e-&gt;n_type,e-&gt;n_sect,e-&gt;n_desc,strtab+e-&gt;n_un.n_strx,e-&gt;n_value); */</div><div class='del'>-                        continue;</div><div class='del'>-                    }</div><div class='del'>-                    for (int k = offset; k &lt; num_traces; k++) {</div><div class='del'>-                        d = (uintptr_t)traces[k] - saddr;</div><div class='del'>-                        symsize = e-&gt;n_value;</div><div class='del'>-                        /* kprintf("%lx %lx %lx\n",saddr,symsize,traces[k]); */</div><div class='del'>-                        if (lines[k].line &gt; 0 || d &gt; (uintptr_t)symsize)</div><div class='del'>-                            continue;</div><div class='del'>-                        /* fill symbol name and addr from .symtab */</div><div class='del'>-                        if (!lines[k].sname) lines[k].sname = sname;</div><div class='del'>-                        lines[k].saddr = saddr;</div><div class='del'>-                        lines[k].path  = obj-&gt;path;</div><div class='del'>-                        lines[k].base_addr = obj-&gt;base_addr;</div><div class='del'>-                    }</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        p += lcmd-&gt;cmdsize;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (obj-&gt;debug_info.ptr &amp;&amp; obj-&gt;debug_abbrev.ptr) {</div><div class='del'>-        DebugInfoReader reader;</div><div class='del'>-        debug_info_reader_init(&amp;reader, obj);</div><div class='del'>-        while (reader.p &lt; reader.pend) {</div><div class='del'>-            if (di_read_cu(&amp;reader)) goto fail;</div><div class='del'>-            debug_info_read(&amp;reader, num_traces, traces, lines, offset);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (parse_debug_line(num_traces, traces,</div><div class='del'>-            obj-&gt;debug_line.ptr,</div><div class='del'>-            obj-&gt;debug_line.size,</div><div class='del'>-            obj, lines, offset) == -1)</div><div class='del'>-        goto fail;</div><div class='del'>-</div><div class='del'>-    return dladdr_fbase;</div><div class='del'>-fail:</div><div class='del'>-    return (uintptr_t)-1;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define HAVE_MAIN_EXE_PATH</div><div class='del'>-#if defined(__FreeBSD__)</div><div class='del'>-# include &lt;sys/sysctl.h&gt;</div><div class='del'>-#endif</div><div class='del'>-/* ssize_t main_exe_path(void)</div><div class='del'>- *</div><div class='del'>- * store the path of the main executable to `binary_filename`,</div><div class='del'>- * and returns strlen(binary_filename).</div><div class='del'>- * it is NUL terminated.</div><div class='del'>- */</div><div class='del'>-#if defined(__linux__)</div><div class='del'>-static ssize_t</div><div class='del'>-main_exe_path(void)</div><div class='del'>-{</div><div class='del'>-# define PROC_SELF_EXE "/proc/self/exe"</div><div class='del'>-    ssize_t len = readlink(PROC_SELF_EXE, binary_filename, PATH_MAX);</div><div class='del'>-    binary_filename[len] = 0;</div><div class='del'>-    return len;</div><div class='del'>-}</div><div class='del'>-#elif defined(__FreeBSD__)</div><div class='del'>-static ssize_t</div><div class='del'>-main_exe_path(void)</div><div class='del'>-{</div><div class='del'>-    int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};</div><div class='del'>-    size_t len = PATH_MAX;</div><div class='del'>-    int err = sysctl(mib, 4, binary_filename, &amp;len, NULL, 0);</div><div class='del'>-    if (err) {</div><div class='del'>-	kprintf("Can't get the path of ruby");</div><div class='del'>-	return -1;</div><div class='del'>-    }</div><div class='del'>-    len--; /* sysctl sets strlen+1 */</div><div class='del'>-    return len;</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-#undef HAVE_MAIN_EXE_PATH</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-print_line0(line_info_t *line, void *address)</div><div class='del'>-{</div><div class='del'>-    uintptr_t addr = (uintptr_t)address;</div><div class='del'>-    uintptr_t d = addr - line-&gt;saddr;</div><div class='del'>-    if (!address) {</div><div class='del'>-        /* inlined */</div><div class='del'>-        if (line-&gt;dirname &amp;&amp; line-&gt;dirname[0]) {</div><div class='del'>-            kprintf("%s(%s) %s/%s:%d\n", line-&gt;path, line-&gt;sname, line-&gt;dirname, line-&gt;filename, line-&gt;line);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            kprintf("%s(%s) %s:%d\n", line-&gt;path, line-&gt;sname, line-&gt;filename, line-&gt;line);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (!line-&gt;path) {</div><div class='del'>-        kprintf("[0x%"PRIxPTR"]\n", addr);</div><div class='del'>-    }</div><div class='del'>-    else if (!line-&gt;saddr || !line-&gt;sname) {</div><div class='del'>-        kprintf("%s(0x%"PRIxPTR") [0x%"PRIxPTR"]\n", line-&gt;path, addr-line-&gt;base_addr, addr);</div><div class='del'>-    }</div><div class='del'>-    else if (line-&gt;line &lt;= 0) {</div><div class='del'>-        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"]\n", line-&gt;path, line-&gt;sname,</div><div class='del'>-                d, addr);</div><div class='del'>-    }</div><div class='del'>-    else if (!line-&gt;filename) {</div><div class='del'>-        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"] ???:%d\n", line-&gt;path, line-&gt;sname,</div><div class='del'>-                d, addr, line-&gt;line);</div><div class='del'>-    }</div><div class='del'>-    else if (line-&gt;dirname &amp;&amp; line-&gt;dirname[0]) {</div><div class='del'>-        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"] %s/%s:%d\n", line-&gt;path, line-&gt;sname,</div><div class='del'>-                d, addr, line-&gt;dirname, line-&gt;filename, line-&gt;line);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"] %s:%d\n", line-&gt;path, line-&gt;sname,</div><div class='del'>-                d, addr, line-&gt;filename, line-&gt;line);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-print_line(line_info_t *line, void *address)</div><div class='del'>-{</div><div class='del'>-    print_line0(line, address);</div><div class='del'>-    if (line-&gt;next) {</div><div class='del'>-        print_line(line-&gt;next, NULL);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_dump_backtrace_with_lines(int num_traces, void **traces)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    /* async-signal unsafe */</div><div class='del'>-    line_info_t *lines = (line_info_t *)calloc(num_traces, sizeof(line_info_t));</div><div class='del'>-    obj_info_t *obj = NULL;</div><div class='del'>-    /* 2 is NULL + main executable */</div><div class='del'>-    void **dladdr_fbases = (void **)calloc(num_traces+2, sizeof(void *));</div><div class='del'>-#ifdef HAVE_MAIN_EXE_PATH</div><div class='del'>-    char *main_path = NULL; /* used on printing backtrace */</div><div class='del'>-    ssize_t len;</div><div class='del'>-    if ((len = main_exe_path()) &gt; 0) {</div><div class='del'>-	main_path = (char *)alloca(len + 1);</div><div class='del'>-	if (main_path) {</div><div class='del'>-	    uintptr_t addr;</div><div class='del'>-	    memcpy(main_path, binary_filename, len+1);</div><div class='del'>-	    append_obj(&amp;obj);</div><div class='del'>-	    obj-&gt;path = main_path;</div><div class='del'>-	    addr = fill_lines(num_traces, traces, 1, &amp;obj, lines, -1);</div><div class='del'>-	    if (addr != (uintptr_t)-1) {</div><div class='del'>-		dladdr_fbases[0] = (void *)addr;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    /* fill source lines by reading dwarf */</div><div class='del'>-    for (i = 0; i &lt; num_traces; i++) {</div><div class='del'>-	Dl_info info;</div><div class='del'>-	if (lines[i].line) continue;</div><div class='del'>-	if (dladdr(traces[i], &amp;info)) {</div><div class='del'>-	    const char *path;</div><div class='del'>-	    void **p;</div><div class='del'>-</div><div class='del'>-	    /* skip symbols which is in already checked objects */</div><div class='del'>-	    /* if the binary is strip-ed, this may effect */</div><div class='del'>-	    for (p=dladdr_fbases; *p; p++) {</div><div class='del'>-		if (*p == info.dli_fbase) {</div><div class='del'>-		    lines[i].path = info.dli_fname;</div><div class='del'>-		    lines[i].sname = info.dli_sname;</div><div class='del'>-		    goto next_line;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    *p = info.dli_fbase;</div><div class='del'>-</div><div class='del'>-	    append_obj(&amp;obj);</div><div class='del'>-	    obj-&gt;base_addr = (uintptr_t)info.dli_fbase;</div><div class='del'>-	    path = info.dli_fname;</div><div class='del'>-	    obj-&gt;path = path;</div><div class='del'>-	    lines[i].path = path;</div><div class='del'>-            lines[i].sname = info.dli_sname;</div><div class='del'>-            lines[i].saddr = (uintptr_t)info.dli_saddr;</div><div class='del'>-	    strlcpy(binary_filename, path, PATH_MAX);</div><div class='del'>-	    if (fill_lines(num_traces, traces, 1, &amp;obj, lines, i) == (uintptr_t)-1)</div><div class='del'>-		break;</div><div class='del'>-	}</div><div class='del'>-next_line:</div><div class='del'>-	continue;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* output */</div><div class='del'>-    for (i = 0; i &lt; num_traces; i++) {</div><div class='del'>-        print_line(&amp;lines[i], traces[i]);</div><div class='del'>-</div><div class='del'>-	/* FreeBSD's backtrace may show _start and so on */</div><div class='del'>-	if (lines[i].sname &amp;&amp; strcmp("main", lines[i].sname) == 0)</div><div class='del'>-	    break;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* free */</div><div class='del'>-    while (obj) {</div><div class='del'>-	obj_info_t *o = obj;</div><div class='del'>-        for (i=0; i &lt; DWARF_SECTION_COUNT; i++) {</div><div class='del'>-            struct dwarf_section *s = obj_dwarf_section_at(obj, i);</div><div class='del'>-            if (s-&gt;flags &amp; SHF_COMPRESSED) {</div><div class='del'>-                free(s-&gt;ptr);</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-	if (obj-&gt;mapped_size) {</div><div class='del'>-	    munmap(obj-&gt;mapped, obj-&gt;mapped_size);</div><div class='del'>-	}</div><div class='del'>-	obj = o-&gt;next;</div><div class='del'>-	free(o);</div><div class='del'>-    }</div><div class='del'>-    for (i = 0; i &lt; num_traces; i++) {</div><div class='del'>-        line_info_t *line = lines[i].next;</div><div class='del'>-        while (line) {</div><div class='del'>-            line_info_t *l = line;</div><div class='del'>-            line = line-&gt;next;</div><div class='del'>-            free(l);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    free(lines);</div><div class='del'>-    free(dladdr_fbases);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* From FreeBSD's lib/libstand/printf.c */</div><div class='del'>-/*-</div><div class='del'>- * Copyright (c) 1986, 1988, 1991, 1993</div><div class='del'>- *	The Regents of the University of California.  All rights reserved.</div><div class='del'>- * (c) UNIX System Laboratories, Inc.</div><div class='del'>- * All or some portions of this file are derived from material licensed</div><div class='del'>- * to the University of California by American Telephone and Telegraph</div><div class='del'>- * Co. or Unix System Laboratories, Inc. and are reproduced herein with</div><div class='del'>- * the permission of UNIX System Laboratories, Inc.</div><div class='del'>- *</div><div class='del'>- * Redistribution and use in source and binary forms, with or without</div><div class='del'>- * modification, are permitted provided that the following conditions</div><div class='del'>- * are met:</div><div class='del'>- * 1. Redistributions of source code must retain the above copyright</div><div class='del'>- *    notice, this list of conditions and the following disclaimer.</div><div class='del'>- * 2. Redistributions in binary form must reproduce the above copyright</div><div class='del'>- *    notice, this list of conditions and the following disclaimer in the</div><div class='del'>- *    documentation and/or other materials provided with the distribution.</div><div class='del'>- * 4. Neither the name of the University nor the names of its contributors</div><div class='del'>- *    may be used to endorse or promote products derived from this software</div><div class='del'>- *    without specific prior written permission.</div><div class='del'>- *</div><div class='del'>- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</div><div class='del'>- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='del'>- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='del'>- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</div><div class='del'>- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='del'>- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='del'>- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='del'>- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='del'>- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='del'>- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='del'>- * SUCH DAMAGE.</div><div class='del'>- *</div><div class='del'>- *	@(#)subr_prf.c	8.3 (Berkeley) 1/21/94</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-#include &lt;stdarg.h&gt;</div><div class='del'>-#define MAXNBUF (sizeof(intmax_t) * CHAR_BIT + 1)</div><div class='del'>-static inline int toupper(int c) { return ('A' &lt;= c &amp;&amp; c &lt;= 'Z') ? (c&amp;0x5f) : c; }</div><div class='del'>-#define    hex2ascii(hex)  (hex2ascii_data[hex])</div><div class='del'>-static const char hex2ascii_data[] = "0123456789abcdefghijklmnopqrstuvwxyz";</div><div class='del'>-static inline int imax(int a, int b) { return (a &gt; b ? a : b); }</div><div class='del'>-static int kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap);</div><div class='del'>-</div><div class='del'>-static void putce(int c)</div><div class='del'>-{</div><div class='del'>-    char s[1];</div><div class='del'>-    ssize_t ret;</div><div class='del'>-</div><div class='del'>-    s[0] = (char)c;</div><div class='del'>-    ret = write(2, s, 1);</div><div class='del'>-    (void)ret;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-kprintf(const char *fmt, ...)</div><div class='del'>-{</div><div class='del'>-	va_list ap;</div><div class='del'>-	int retval;</div><div class='del'>-</div><div class='del'>-	va_start(ap, fmt);</div><div class='del'>-	retval = kvprintf(fmt, putce, NULL, 10, ap);</div><div class='del'>-	va_end(ap);</div><div class='del'>-	return retval;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Put a NUL-terminated ASCII number (base &lt;= 36) in a buffer in reverse</div><div class='del'>- * order; return an optional length and a pointer to the last character</div><div class='del'>- * written in the buffer (i.e., the first character of the string).</div><div class='del'>- * The buffer pointed to by `nbuf' must have length &gt;= MAXNBUF.</div><div class='del'>- */</div><div class='del'>-static char *</div><div class='del'>-ksprintn(char *nbuf, uintmax_t num, int base, int *lenp, int upper)</div><div class='del'>-{</div><div class='del'>-	char *p, c;</div><div class='del'>-</div><div class='del'>-	p = nbuf;</div><div class='del'>-	*p = '\0';</div><div class='del'>-	do {</div><div class='del'>-		c = hex2ascii(num % base);</div><div class='del'>-		*++p = upper ? toupper(c) : c;</div><div class='del'>-	} while (num /= base);</div><div class='del'>-	if (lenp)</div><div class='del'>-		*lenp = (int)(p - nbuf);</div><div class='del'>-	return (p);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Scaled down version of printf(3).</div><div class='del'>- *</div><div class='del'>- * Two additional formats:</div><div class='del'>- *</div><div class='del'>- * The format %b is supported to decode error registers.</div><div class='del'>- * Its usage is:</div><div class='del'>- *</div><div class='del'>- *	printf("reg=%b\n", regval, "&lt;base&gt;&lt;arg&gt;*");</div><div class='del'>- *</div><div class='del'>- * where &lt;base&gt; is the output base expressed as a control character, e.g.</div><div class='del'>- * \10 gives octal; \20 gives hex.  Each arg is a sequence of characters,</div><div class='del'>- * the first of which gives the bit number to be inspected (origin 1), and</div><div class='del'>- * the next characters (up to a control character, i.e. a character &lt;= 32),</div><div class='del'>- * give the name of the register.  Thus:</div><div class='del'>- *</div><div class='del'>- *	kvprintf("reg=%b\n", 3, "\10\2BITTWO\1BITONE\n");</div><div class='del'>- *</div><div class='del'>- * would produce output:</div><div class='del'>- *</div><div class='del'>- *	reg=3&lt;BITTWO,BITONE&gt;</div><div class='del'>- *</div><div class='del'>- * XXX:  %D  -- Hexdump, takes pointer and separator string:</div><div class='del'>- *		("%6D", ptr, ":")   -&gt; XX:XX:XX:XX:XX:XX</div><div class='del'>- *		("%*D", len, ptr, " " -&gt; XX XX XX XX ...</div><div class='del'>- */</div><div class='del'>-static int</div><div class='del'>-kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap)</div><div class='del'>-{</div><div class='del'>-#define PCHAR(c) {int cc=(c); if (func) (*func)(cc); else *d++ = cc; retval++; }</div><div class='del'>-	char nbuf[MAXNBUF];</div><div class='del'>-	char *d;</div><div class='del'>-	const char *p, *percent, *q;</div><div class='del'>-	unsigned char *up;</div><div class='del'>-	int ch, n;</div><div class='del'>-	uintmax_t num;</div><div class='del'>-	int base, lflag, qflag, tmp, width, ladjust, sharpflag, neg, sign, dot;</div><div class='del'>-	int cflag, hflag, jflag, tflag, zflag;</div><div class='del'>-	int dwidth, upper;</div><div class='del'>-	char padc;</div><div class='del'>-	int stop = 0, retval = 0;</div><div class='del'>-</div><div class='del'>-	num = 0;</div><div class='del'>-	if (!func)</div><div class='del'>-		d = (char *) arg;</div><div class='del'>-	else</div><div class='del'>-		d = NULL;</div><div class='del'>-</div><div class='del'>-	if (fmt == NULL)</div><div class='del'>-		fmt = "(fmt null)\n";</div><div class='del'>-</div><div class='del'>-	if (radix &lt; 2 || radix &gt; 36)</div><div class='del'>-		radix = 10;</div><div class='del'>-</div><div class='del'>-	for (;;) {</div><div class='del'>-		padc = ' ';</div><div class='del'>-		width = 0;</div><div class='del'>-		while ((ch = (unsigned char)*fmt++) != '%' || stop) {</div><div class='del'>-			if (ch == '\0')</div><div class='del'>-				return (retval);</div><div class='del'>-			PCHAR(ch);</div><div class='del'>-		}</div><div class='del'>-		percent = fmt - 1;</div><div class='del'>-		qflag = 0; lflag = 0; ladjust = 0; sharpflag = 0; neg = 0;</div><div class='del'>-		sign = 0; dot = 0; dwidth = 0; upper = 0;</div><div class='del'>-		cflag = 0; hflag = 0; jflag = 0; tflag = 0; zflag = 0;</div><div class='del'>-reswitch:	switch (ch = (unsigned char)*fmt++) {</div><div class='del'>-		case '.':</div><div class='del'>-			dot = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case '#':</div><div class='del'>-			sharpflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case '+':</div><div class='del'>-			sign = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case '-':</div><div class='del'>-			ladjust = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case '%':</div><div class='del'>-			PCHAR(ch);</div><div class='del'>-			break;</div><div class='del'>-		case '*':</div><div class='del'>-			if (!dot) {</div><div class='del'>-				width = va_arg(ap, int);</div><div class='del'>-				if (width &lt; 0) {</div><div class='del'>-					ladjust = !ladjust;</div><div class='del'>-					width = -width;</div><div class='del'>-				}</div><div class='del'>-			} else {</div><div class='del'>-				dwidth = va_arg(ap, int);</div><div class='del'>-			}</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case '0':</div><div class='del'>-			if (!dot) {</div><div class='del'>-				padc = '0';</div><div class='del'>-				goto reswitch;</div><div class='del'>-			}</div><div class='del'>-		case '1': case '2': case '3': case '4':</div><div class='del'>-		case '5': case '6': case '7': case '8': case '9':</div><div class='del'>-				for (n = 0;; ++fmt) {</div><div class='del'>-					n = n * 10 + ch - '0';</div><div class='del'>-					ch = *fmt;</div><div class='del'>-					if (ch &lt; '0' || ch &gt; '9')</div><div class='del'>-						break;</div><div class='del'>-				}</div><div class='del'>-			if (dot)</div><div class='del'>-				dwidth = n;</div><div class='del'>-			else</div><div class='del'>-				width = n;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case 'b':</div><div class='del'>-			num = (unsigned int)va_arg(ap, int);</div><div class='del'>-			p = va_arg(ap, char *);</div><div class='del'>-			for (q = ksprintn(nbuf, num, *p++, NULL, 0); *q;)</div><div class='del'>-				PCHAR(*q--);</div><div class='del'>-</div><div class='del'>-			if (num == 0)</div><div class='del'>-				break;</div><div class='del'>-</div><div class='del'>-			for (tmp = 0; *p;) {</div><div class='del'>-				n = *p++;</div><div class='del'>-				if (num &amp; (1 &lt;&lt; (n - 1))) {</div><div class='del'>-					PCHAR(tmp ? ',' : '&lt;');</div><div class='del'>-					for (; (n = *p) &gt; ' '; ++p)</div><div class='del'>-						PCHAR(n);</div><div class='del'>-					tmp = 1;</div><div class='del'>-				} else</div><div class='del'>-					for (; *p &gt; ' '; ++p)</div><div class='del'>-						continue;</div><div class='del'>-			}</div><div class='del'>-			if (tmp)</div><div class='del'>-				PCHAR('&gt;');</div><div class='del'>-			break;</div><div class='del'>-		case 'c':</div><div class='del'>-			PCHAR(va_arg(ap, int));</div><div class='del'>-			break;</div><div class='del'>-		case 'D':</div><div class='del'>-			up = va_arg(ap, unsigned char *);</div><div class='del'>-			p = va_arg(ap, char *);</div><div class='del'>-			if (!width)</div><div class='del'>-				width = 16;</div><div class='del'>-			while(width--) {</div><div class='del'>-				PCHAR(hex2ascii(*up &gt;&gt; 4));</div><div class='del'>-				PCHAR(hex2ascii(*up &amp; 0x0f));</div><div class='del'>-				up++;</div><div class='del'>-				if (width)</div><div class='del'>-					for (q=p;*q;q++)</div><div class='del'>-						PCHAR(*q);</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		case 'd':</div><div class='del'>-		case 'i':</div><div class='del'>-			base = 10;</div><div class='del'>-			sign = 1;</div><div class='del'>-			goto handle_sign;</div><div class='del'>-		case 'h':</div><div class='del'>-			if (hflag) {</div><div class='del'>-				hflag = 0;</div><div class='del'>-				cflag = 1;</div><div class='del'>-			} else</div><div class='del'>-				hflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case 'j':</div><div class='del'>-			jflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case 'l':</div><div class='del'>-			if (lflag) {</div><div class='del'>-				lflag = 0;</div><div class='del'>-				qflag = 1;</div><div class='del'>-			} else</div><div class='del'>-				lflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case 'n':</div><div class='del'>-			if (jflag)</div><div class='del'>-				*(va_arg(ap, intmax_t *)) = retval;</div><div class='del'>-			else if (qflag)</div><div class='del'>-				*(va_arg(ap, int64_t *)) = retval;</div><div class='del'>-			else if (lflag)</div><div class='del'>-				*(va_arg(ap, long *)) = retval;</div><div class='del'>-			else if (zflag)</div><div class='del'>-				*(va_arg(ap, size_t *)) = retval;</div><div class='del'>-			else if (hflag)</div><div class='del'>-				*(va_arg(ap, short *)) = retval;</div><div class='del'>-			else if (cflag)</div><div class='del'>-				*(va_arg(ap, char *)) = retval;</div><div class='del'>-			else</div><div class='del'>-				*(va_arg(ap, int *)) = retval;</div><div class='del'>-			break;</div><div class='del'>-		case 'o':</div><div class='del'>-			base = 8;</div><div class='del'>-			goto handle_nosign;</div><div class='del'>-		case 'p':</div><div class='del'>-			base = 16;</div><div class='del'>-			sharpflag = (width == 0);</div><div class='del'>-			sign = 0;</div><div class='del'>-			num = (uintptr_t)va_arg(ap, void *);</div><div class='del'>-			goto number;</div><div class='del'>-		case 'q':</div><div class='del'>-			qflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case 'r':</div><div class='del'>-			base = radix;</div><div class='del'>-			if (sign)</div><div class='del'>-				goto handle_sign;</div><div class='del'>-			goto handle_nosign;</div><div class='del'>-		case 's':</div><div class='del'>-			p = va_arg(ap, char *);</div><div class='del'>-			if (p == NULL)</div><div class='del'>-				p = "(null)";</div><div class='del'>-			if (!dot)</div><div class='del'>-				n = (int)strlen (p);</div><div class='del'>-			else</div><div class='del'>-				for (n = 0; n &lt; dwidth &amp;&amp; p[n]; n++)</div><div class='del'>-					continue;</div><div class='del'>-</div><div class='del'>-			width -= n;</div><div class='del'>-</div><div class='del'>-			if (!ladjust &amp;&amp; width &gt; 0)</div><div class='del'>-				while (width--)</div><div class='del'>-					PCHAR(padc);</div><div class='del'>-			while (n--)</div><div class='del'>-				PCHAR(*p++);</div><div class='del'>-			if (ladjust &amp;&amp; width &gt; 0)</div><div class='del'>-				while (width--)</div><div class='del'>-					PCHAR(padc);</div><div class='del'>-			break;</div><div class='del'>-		case 't':</div><div class='del'>-			tflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-		case 'u':</div><div class='del'>-			base = 10;</div><div class='del'>-			goto handle_nosign;</div><div class='del'>-		case 'X':</div><div class='del'>-			upper = 1;</div><div class='del'>-		case 'x':</div><div class='del'>-			base = 16;</div><div class='del'>-			goto handle_nosign;</div><div class='del'>-		case 'y':</div><div class='del'>-			base = 16;</div><div class='del'>-			sign = 1;</div><div class='del'>-			goto handle_sign;</div><div class='del'>-		case 'z':</div><div class='del'>-			zflag = 1;</div><div class='del'>-			goto reswitch;</div><div class='del'>-handle_nosign:</div><div class='del'>-			sign = 0;</div><div class='del'>-			if (jflag)</div><div class='del'>-				num = va_arg(ap, uintmax_t);</div><div class='del'>-			else if (qflag)</div><div class='del'>-				num = va_arg(ap, uint64_t);</div><div class='del'>-			else if (tflag)</div><div class='del'>-				num = va_arg(ap, ptrdiff_t);</div><div class='del'>-			else if (lflag)</div><div class='del'>-				num = va_arg(ap, unsigned long);</div><div class='del'>-			else if (zflag)</div><div class='del'>-				num = va_arg(ap, size_t);</div><div class='del'>-			else if (hflag)</div><div class='del'>-				num = (unsigned short)va_arg(ap, int);</div><div class='del'>-			else if (cflag)</div><div class='del'>-				num = (unsigned char)va_arg(ap, int);</div><div class='del'>-			else</div><div class='del'>-				num = va_arg(ap, unsigned int);</div><div class='del'>-			goto number;</div><div class='del'>-handle_sign:</div><div class='del'>-			if (jflag)</div><div class='del'>-				num = va_arg(ap, intmax_t);</div><div class='del'>-			else if (qflag)</div><div class='del'>-				num = va_arg(ap, int64_t);</div><div class='del'>-			else if (tflag)</div><div class='del'>-				num = va_arg(ap, ptrdiff_t);</div><div class='del'>-			else if (lflag)</div><div class='del'>-				num = va_arg(ap, long);</div><div class='del'>-			else if (zflag)</div><div class='del'>-				num = va_arg(ap, ssize_t);</div><div class='del'>-			else if (hflag)</div><div class='del'>-				num = (short)va_arg(ap, int);</div><div class='del'>-			else if (cflag)</div><div class='del'>-				num = (char)va_arg(ap, int);</div><div class='del'>-			else</div><div class='del'>-				num = va_arg(ap, int);</div><div class='del'>-number:</div><div class='del'>-			if (sign &amp;&amp; (intmax_t)num &lt; 0) {</div><div class='del'>-				neg = 1;</div><div class='del'>-				num = -(intmax_t)num;</div><div class='del'>-			}</div><div class='del'>-			p = ksprintn(nbuf, num, base, &amp;n, upper);</div><div class='del'>-			tmp = 0;</div><div class='del'>-			if (sharpflag &amp;&amp; num != 0) {</div><div class='del'>-				if (base == 8)</div><div class='del'>-					tmp++;</div><div class='del'>-				else if (base == 16)</div><div class='del'>-					tmp += 2;</div><div class='del'>-			}</div><div class='del'>-			if (neg)</div><div class='del'>-				tmp++;</div><div class='del'>-</div><div class='del'>-			if (!ladjust &amp;&amp; padc == '0')</div><div class='del'>-				dwidth = width - tmp;</div><div class='del'>-			width -= tmp + imax(dwidth, n);</div><div class='del'>-			dwidth -= n;</div><div class='del'>-			if (!ladjust)</div><div class='del'>-				while (width-- &gt; 0)</div><div class='del'>-					PCHAR(' ');</div><div class='del'>-			if (neg)</div><div class='del'>-				PCHAR('-');</div><div class='del'>-			if (sharpflag &amp;&amp; num != 0) {</div><div class='del'>-				if (base == 8) {</div><div class='del'>-					PCHAR('0');</div><div class='del'>-				} else if (base == 16) {</div><div class='del'>-					PCHAR('0');</div><div class='del'>-					PCHAR('x');</div><div class='del'>-				}</div><div class='del'>-			}</div><div class='del'>-			while (dwidth-- &gt; 0)</div><div class='del'>-				PCHAR('0');</div><div class='del'>-</div><div class='del'>-			while (*p)</div><div class='del'>-				PCHAR(*p--);</div><div class='del'>-</div><div class='del'>-			if (ladjust)</div><div class='del'>-				while (width-- &gt; 0)</div><div class='del'>-					PCHAR(' ');</div><div class='del'>-</div><div class='del'>-			break;</div><div class='del'>-		default:</div><div class='del'>-			while (percent &lt; fmt)</div><div class='del'>-				PCHAR(*percent++);</div><div class='del'>-			/*</div><div class='del'>-			 * Since we ignore an formatting argument it is no</div><div class='del'>-			 * longer safe to obey the remaining formatting</div><div class='del'>-			 * arguments as the arguments will no longer match</div><div class='del'>-			 * the format specs.</div><div class='del'>-			 */</div><div class='del'>-			stop = 1;</div><div class='del'>-			break;</div><div class='del'>-		}</div><div class='del'>-	}</div><div class='del'>-#undef PCHAR</div><div class='del'>-}</div><div class='del'>-#else /* defined(USE_ELF) */</div><div class='del'>-#error not supported</div><div class='del'>-#endif</div><div class='head'>diff --git a/addr2line.h b/addr2line.h<br/>deleted file mode 100644<br/>index 4f6cf179ef..0000000000<br/>--- a/<a href='/ruby.git/tree/addr2line.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>addr2line.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  addr2line.h -</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2010 Shinichiro Hamaji</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#ifndef RUBY_ADDR2LINE_H</div><div class='del'>-#define RUBY_ADDR2LINE_H</div><div class='del'>-</div><div class='del'>-#if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_dump_backtrace_with_lines(int num_traces, void **traces);</div><div class='del'>-</div><div class='del'>-#endif /* USE_ELF */</div><div class='del'>-</div><div class='del'>-#endif /* RUBY_ADDR2LINE_H */</div><div class='head'>diff --git a/appveyor.yml b/appveyor.yml<br/>deleted file mode 100644<br/>index 3bf1568cd9..0000000000<br/>--- a/<a href='/ruby.git/tree/appveyor.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>appveyor.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,145 +0,0 @@</div><div class='del'>----</div><div class='del'>-version: '{build}'</div><div class='del'>-shallow_clone: true</div><div class='del'>-platform:</div><div class='del'>-  - x64</div><div class='del'>-environment:</div><div class='del'>-  ruby_version: "24-%Platform%"</div><div class='del'>-  zlib_version: "1.2.11"</div><div class='del'>-  matrix:</div><div class='del'>-    # to reduce time for finishing all jobs, run the slowest msys2 build first.</div><div class='del'>-    - build: msys2</div><div class='del'>-      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015</div><div class='del'>-    - build: vs</div><div class='del'>-      vs: 120</div><div class='del'>-      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013</div><div class='del'>-    - build: vs</div><div class='del'>-      vs: 140</div><div class='del'>-      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015</div><div class='del'>-  GEMS_FOR_TEST: "timezone tzinfo"</div><div class='del'>-notifications:</div><div class='del'>-  - provider: Webhook</div><div class='del'>-    url:</div><div class='del'>-      secure: iMINHMS0nZabaDsxN9omRDsekxzVvAAzEq5ev7lN6vZ6r9zNhl3/F/7POIVyahAwVFpRDeQT/iUugpAGWmOt3eGL/lZIdqiJFZ9DjPSkP68= # #alerts</div><div class='del'>-    method: POST</div><div class='del'>-    # "icon_url" is the url used by `provider: Slack`</div><div class='del'>-    body: &gt;-</div><div class='del'>-      {{^isPullRequest}}</div><div class='del'>-        {</div><div class='del'>-          "attachments": [</div><div class='del'>-            {</div><div class='del'>-              "title": "Build {{projectName}} {{buildVersion}} {{status}}",</div><div class='del'>-              "fallback": "AppVeyor Build {{projectName}} {{buildVersion}} {{status}}",</div><div class='del'>-              "title_link": "{{buildUrl}}",</div><div class='del'>-              "text": "Commit &lt;{{commitUrl}}|{{commitId}}&gt; by {{commitAuthor}} on {{commitDate}}: _{{commitMessage}}_",</div><div class='del'>-              {{#passed}}</div><div class='del'>-                "color": "#44ee44"</div><div class='del'>-              {{/passed}}</div><div class='del'>-              {{#failed}}</div><div class='del'>-                "color": "#ee4444"</div><div class='del'>-              {{/failed}}</div><div class='del'>-            }</div><div class='del'>-          ],</div><div class='del'>-          "icon_url": "https://slack-files2.s3-us-west-2.amazonaws.com/bot_icons/2018-02-10/314363543719_48.png",</div><div class='del'>-          "username": "AppVeyor CI"</div><div class='del'>-        }</div><div class='del'>-      {{/isPullRequest}}</div><div class='del'>-    on_build_success: false</div><div class='del'>-    on_build_failure: true</div><div class='del'>-    on_build_status_changed: true</div><div class='del'>-for:</div><div class='del'>--</div><div class='del'>-  matrix:</div><div class='del'>-    only:</div><div class='del'>-      - build: vs</div><div class='del'>-  install:</div><div class='del'>-    - ver</div><div class='del'>-    - chcp</div><div class='del'>-    - SET BITS=%Platform:x86=32%</div><div class='del'>-    - SET BITS=%BITS:x=%</div><div class='del'>-    - SET OPENSSL_DIR=c:\OpenSSL-Win%BITS%</div><div class='del'>-    - CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat</div><div class='del'>-    - SET vcvars</div><div class='del'>-    - '"%vcvars%" %Platform:x64=amd64%'</div><div class='del'>-    - SET ruby_path=C:\Ruby%ruby_version:-x86=%</div><div class='del'>-    - SET PATH=\usr\local\bin;%ruby_path%\bin;%PATH%;C:\msys64\mingw64\bin;C:\msys64\usr\bin</div><div class='del'>-    - ruby --version</div><div class='del'>-    - 'cl'</div><div class='del'>-    - echo&gt; Makefile srcdir=.</div><div class='del'>-    - echo&gt;&gt; Makefile MSC_VER=0</div><div class='del'>-    - echo&gt;&gt; Makefile RT=none</div><div class='del'>-    - echo&gt;&gt; Makefile RT_VER=0</div><div class='del'>-    - echo&gt;&gt; Makefile BUILTIN_ENCOBJS=nul</div><div class='del'>-    - type win32\Makefile.sub &gt;&gt; Makefile</div><div class='del'>-    - nmake %mflags% touch-unicode-files</div><div class='del'>-    - nmake %mflags% up incs UNICODE_FILES=.</div><div class='del'>-    - del Makefile</div><div class='del'>-    - mkdir \usr\local\bin</div><div class='del'>-    - mkdir \usr\local\include</div><div class='del'>-    - mkdir \usr\local\lib</div><div class='del'>-    - appveyor DownloadFile https://zlib.net/zlib%zlib_version:.=%.zip</div><div class='del'>-    - 7z x -o%APPVEYOR_BUILD_FOLDER%\ext\zlib zlib%zlib_version:.=%.zip</div><div class='del'>-    - for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I</div><div class='del'>-    - mkdir %Platform%-mswin_%vs%</div><div class='del'>-    - ps: Get-ChildItem "win32" -Recurse | foreach {$_.Attributes = 'Readonly'}</div><div class='del'>-    - ps: Get-Item $env:Platform"-mswin_"$env:vs | foreach {$_.Attributes = 'Normal'}</div><div class='del'>-  build_script:</div><div class='del'>-    - cd %APPVEYOR_BUILD_FOLDER%</div><div class='del'>-    - cd %Platform%-mswin_%vs%</div><div class='del'>-    - ..\win32\configure.bat --without-ext=+,dbm,gdbm,readline --with-opt-dir=/usr/local --with-openssl-dir=%OPENSSL_DIR:\=/%</div><div class='del'>-    - nmake -l</div><div class='del'>-    - nmake install-nodoc</div><div class='del'>-    - \usr\bin\ruby -v -e "p :locale =&gt; Encoding.find('locale'), :filesystem =&gt; Encoding.find('filesystem')"</div><div class='del'>-    - if not "%GEMS_FOR_TEST%" == "" \usr\bin\gem install --no-document %GEMS_FOR_TEST%</div><div class='del'>-  test_script:</div><div class='del'>-    - set /a JOBS=%NUMBER_OF_PROCESSORS%</div><div class='del'>-    - nmake -l "TESTOPTS=-v -q" btest</div><div class='del'>-    - nmake -l "TESTOPTS=-v -q" test-basic</div><div class='del'>-    - nmake -l "TESTOPTS=-q --subprocess-timeout-scale=3.0 --excludes=../test/excludes/_appveyor -j%JOBS% --exclude win32ole --exclude test_bignum --exclude test_syntax --exclude test_open-uri --exclude test_bundled_ca" test-all</div><div class='del'>-    # separately execute tests without -j which may crash worker with -j.</div><div class='del'>-    - nmake -l "TESTOPTS=-v --subprocess-timeout-scale=3.0 --excludes=../test/excludes/_appveyor" test-all TESTS="../test/win32ole ../test/ruby/test_bignum.rb ../test/ruby/test_syntax.rb ../test/open-uri/test_open-uri.rb ../test/rubygems/test_bundled_ca.rb"</div><div class='del'>-    - nmake -l test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows</div><div class='del'>--</div><div class='del'>-  matrix:</div><div class='del'>-    only:</div><div class='del'>-      - build: msys2</div><div class='del'>-  install:</div><div class='del'>-    - ver</div><div class='del'>-    - chcp</div><div class='del'>-    - set /a JOBS=%NUMBER_OF_PROCESSORS%</div><div class='del'>-    - set MSYS_NO_PATHCONV=1</div><div class='del'>-    - SET MSYSTEM=%Platform:x86=32%</div><div class='del'>-    - SET MSYSTEM=%MSYSTEM:x=MINGW%</div><div class='del'>-    - SET MSYS2_ARCH=%Platform:x86=i686%</div><div class='del'>-    - SET MSYS2_ARCH=%MSYS2_ARCH:x64=x86_64%</div><div class='del'>-    - set MSYSTEM_PREFIX=/mingw64</div><div class='del'>-    - set MINGW_CHOST=%MSYS2_ARCH%-w64-mingw32</div><div class='del'>-    - SET ruby_path=C:\Ruby%ruby_version:-x86=%</div><div class='del'>-    - cd ..</div><div class='del'>-    - mkdir build</div><div class='del'>-    - mkdir install</div><div class='del'>-    - SET PATH=%ruby_path%\bin;C:\msys64\%MSYSTEM%\bin;C:\msys64\usr\bin;%PATH%</div><div class='del'>-    - ruby --version</div><div class='del'>-  build_script:</div><div class='del'>-    # always update database</div><div class='del'>-    - pacman -Sy</div><div class='del'>-    - pacman -S --noconfirm --needed --noprogressbar mingw-w64-x86_64-toolchain</div><div class='del'>-    - pacman -S --noconfirm --needed --noprogressbar mingw-w64-x86_64-gdbm mingw-w64-x86_64-gmp mingw-w64-x86_64-libffi mingw-w64-x86_64-ncurses mingw-w64-x86_64-readline mingw-w64-x86_64-zlib</div><div class='del'>-    - cd %APPVEYOR_BUILD_FOLDER%</div><div class='del'>-    - set CFLAGS=-march=%MSYS2_ARCH:_=-% -mtune=generic -O3 -pipe</div><div class='del'>-    - set CXXFLAGS=%CFLAGS%</div><div class='del'>-    - set CPPFLAGS=-D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048</div><div class='del'>-    - set LDFLAGS=-pipe</div><div class='del'>-    - sh -c "autoreconf -fi"</div><div class='del'>-    - cd ..\build</div><div class='del'>-    - sh ../ruby/configure --disable-install-doc --prefix=/. --build=%MINGW_CHOST% --host=%MINGW_CHOST% --target=%MINGW_CHOST%</div><div class='del'>-    - mingw32-make -j%JOBS% up</div><div class='del'>-    - mingw32-make -j%JOBS%</div><div class='del'>-    - mingw32-make DESTDIR=../install install-nodoc</div><div class='del'>-    - if not "%GEMS_FOR_TEST%" == "" ..\install\bin\gem install --no-document %GEMS_FOR_TEST%</div><div class='del'>-  test_script:</div><div class='del'>-    - mingw32-make test</div><div class='del'>-    - mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --subprocess-timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor -j %JOBS% --exclude win32ole --exclude test_open-uri"</div><div class='del'>-    # separately execute tests without -j which may crash worker with -j.</div><div class='del'>-    - mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --subprocess-timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor" TESTS="../ruby/test/win32ole ../ruby/test/open-uri/test_open-uri.rb"</div><div class='del'>-    - mingw32-make test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows</div><div class='head'>diff --git a/array.c b/array.c<br/>index 990bc076b1..acc59d20b4 100644<br/>--- a/<a href='/ruby.git/tree/array.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>array.c</a><br/>+++ b/<a href='/ruby.git/tree/array.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>array.c</a></div><div class='hunk'>@@ -3,702 +3,163 @@</div><div class='ctx'>   array.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Fri Aug  6 09:46:12 JST 1993</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'>   Copyright (C) 2000  Network Applied Communication Laboratory, Inc.</div><div class='ctx'>   Copyright (C) 2000  Information-technology Promotion Agency, Japan</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='del'>-#include "ruby/encoding.h"</div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-#include "ruby/st.h"</div><div class='del'>-#include "probes.h"</div><div class='del'>-#include "id.h"</div><div class='del'>-#include "debug_counter.h"</div><div class='del'>-#include "gc.h"</div><div class='del'>-#include "transient_heap.h"</div><div class='del'>-#include "internal.h"</div><div class='del'>-</div><div class='del'>-#if !ARRAY_DEBUG</div><div class='del'>-# define NDEBUG</div><div class='del'>-#endif</div><div class='del'>-#include "ruby_assert.h"</div><div class='add'>+#include "ruby.h"</div><div class='add'>+#include "util.h"</div><div class='add'>+#include "st.h"</div><div class='ctx'> </div><div class='ctx'> VALUE rb_cArray;</div><div class='del'>-</div><div class='del'>-/* for OPTIMIZED_CMP: */</div><div class='del'>-#define id_cmp idCmp</div><div class='add'>+static ID id_cmp;</div><div class='ctx'> </div><div class='ctx'> #define ARY_DEFAULT_SIZE 16</div><div class='del'>-#define ARY_MAX_SIZE (LONG_MAX / (int)sizeof(VALUE))</div><div class='del'>-#define SMALL_ARRAY_LEN 16</div><div class='del'>-</div><div class='del'>-# define ARY_SHARED_P(ary) \</div><div class='del'>-    (assert(!FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG)), \</div><div class='del'>-     FL_TEST((ary),ELTS_SHARED)!=0)</div><div class='del'>-# define ARY_EMBED_P(ary) \</div><div class='del'>-    (assert(!FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG)), \</div><div class='del'>-     FL_TEST((ary), RARRAY_EMBED_FLAG)!=0)</div><div class='del'>-</div><div class='del'>-#define ARY_HEAP_PTR(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)-&gt;as.heap.ptr)</div><div class='del'>-#define ARY_HEAP_LEN(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)-&gt;as.heap.len)</div><div class='del'>-#define ARY_HEAP_CAPA(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)-&gt;as.heap.aux.capa)</div><div class='del'>-</div><div class='del'>-#define ARY_EMBED_PTR(a) (assert(ARY_EMBED_P(a)), RARRAY(a)-&gt;as.ary)</div><div class='del'>-#define ARY_EMBED_LEN(a) \</div><div class='del'>-    (assert(ARY_EMBED_P(a)), \</div><div class='del'>-     (long)((RBASIC(a)-&gt;flags &gt;&gt; RARRAY_EMBED_LEN_SHIFT) &amp; \</div><div class='del'>-	 (RARRAY_EMBED_LEN_MASK &gt;&gt; RARRAY_EMBED_LEN_SHIFT)))</div><div class='del'>-#define ARY_HEAP_SIZE(a) (assert(!ARY_EMBED_P(a)), assert(ARY_OWNS_HEAP_P(a)), ARY_HEAP_CAPA(a) * sizeof(VALUE))</div><div class='del'>-</div><div class='del'>-#define ARY_OWNS_HEAP_P(a) (!FL_TEST((a), ELTS_SHARED|RARRAY_EMBED_FLAG))</div><div class='del'>-#define FL_SET_EMBED(a) do { \</div><div class='del'>-    assert(!ARY_SHARED_P(a)); \</div><div class='del'>-    FL_SET((a), RARRAY_EMBED_FLAG); \</div><div class='del'>-    RARY_TRANSIENT_UNSET(a); \</div><div class='del'>-    ary_verify(a); \</div><div class='del'>-} while (0)</div><div class='del'>-#define FL_UNSET_EMBED(ary) FL_UNSET((ary), RARRAY_EMBED_FLAG|RARRAY_EMBED_LEN_MASK)</div><div class='del'>-#define FL_SET_SHARED(ary) do { \</div><div class='del'>-    assert(!ARY_EMBED_P(ary)); \</div><div class='del'>-    FL_SET((ary), ELTS_SHARED); \</div><div class='del'>-} while (0)</div><div class='del'>-#define FL_UNSET_SHARED(ary) FL_UNSET((ary), ELTS_SHARED)</div><div class='del'>-</div><div class='del'>-#define ARY_SET_PTR(ary, p) do { \</div><div class='del'>-    assert(!ARY_EMBED_P(ary)); \</div><div class='del'>-    assert(!OBJ_FROZEN(ary)); \</div><div class='del'>-    RARRAY(ary)-&gt;as.heap.ptr = (p); \</div><div class='del'>-} while (0)</div><div class='del'>-#define ARY_SET_EMBED_LEN(ary, n) do { \</div><div class='del'>-    long tmp_n = (n); \</div><div class='del'>-    assert(ARY_EMBED_P(ary)); \</div><div class='del'>-    assert(!OBJ_FROZEN(ary)); \</div><div class='del'>-    RBASIC(ary)-&gt;flags &amp;= ~RARRAY_EMBED_LEN_MASK; \</div><div class='del'>-    RBASIC(ary)-&gt;flags |= (tmp_n) &lt;&lt; RARRAY_EMBED_LEN_SHIFT; \</div><div class='del'>-} while (0)</div><div class='del'>-#define ARY_SET_HEAP_LEN(ary, n) do { \</div><div class='del'>-    assert(!ARY_EMBED_P(ary)); \</div><div class='del'>-    RARRAY(ary)-&gt;as.heap.len = (n); \</div><div class='del'>-} while (0)</div><div class='del'>-#define ARY_SET_LEN(ary, n) do { \</div><div class='del'>-    if (ARY_EMBED_P(ary)) { \</div><div class='del'>-        ARY_SET_EMBED_LEN((ary), (n)); \</div><div class='del'>-    } \</div><div class='del'>-    else { \</div><div class='del'>-        ARY_SET_HEAP_LEN((ary), (n)); \</div><div class='del'>-    } \</div><div class='del'>-    assert(RARRAY_LEN(ary) == (n)); \</div><div class='del'>-} while (0)</div><div class='del'>-#define ARY_INCREASE_PTR(ary, n) do  { \</div><div class='del'>-    assert(!ARY_EMBED_P(ary)); \</div><div class='del'>-    assert(!OBJ_FROZEN(ary)); \</div><div class='del'>-    RARRAY(ary)-&gt;as.heap.ptr += (n); \</div><div class='del'>-} while (0)</div><div class='del'>-#define ARY_INCREASE_LEN(ary, n) do  { \</div><div class='del'>-    assert(!OBJ_FROZEN(ary)); \</div><div class='del'>-    if (ARY_EMBED_P(ary)) { \</div><div class='del'>-        ARY_SET_EMBED_LEN((ary), RARRAY_LEN(ary)+(n)); \</div><div class='del'>-    } \</div><div class='del'>-    else { \</div><div class='del'>-        RARRAY(ary)-&gt;as.heap.len += (n); \</div><div class='del'>-    } \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define ARY_CAPA(ary) (ARY_EMBED_P(ary) ? RARRAY_EMBED_LEN_MAX : \</div><div class='del'>-                       ARY_SHARED_ROOT_P(ary) ? RARRAY_LEN(ary) : ARY_HEAP_CAPA(ary))</div><div class='del'>-#define ARY_SET_CAPA(ary, n) do { \</div><div class='del'>-    assert(!ARY_EMBED_P(ary)); \</div><div class='del'>-    assert(!ARY_SHARED_P(ary)); \</div><div class='del'>-    assert(!OBJ_FROZEN(ary)); \</div><div class='del'>-    RARRAY(ary)-&gt;as.heap.aux.capa = (n); \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define ARY_SHARED(ary) (assert(ARY_SHARED_P(ary)), RARRAY(ary)-&gt;as.heap.aux.shared)</div><div class='del'>-#define ARY_SET_SHARED(ary, value) do { \</div><div class='del'>-    const VALUE _ary_ = (ary); \</div><div class='del'>-    const VALUE _value_ = (value); \</div><div class='del'>-    assert(!ARY_EMBED_P(_ary_)); \</div><div class='del'>-    assert(ARY_SHARED_P(_ary_)); \</div><div class='del'>-    assert(ARY_SHARED_ROOT_P(_value_)); \</div><div class='del'>-    RB_OBJ_WRITE(_ary_, &amp;RARRAY(_ary_)-&gt;as.heap.aux.shared, _value_); \</div><div class='del'>-} while (0)</div><div class='del'>-#define RARRAY_SHARED_ROOT_FLAG FL_USER5</div><div class='del'>-#define ARY_SHARED_ROOT_P(ary) (FL_TEST((ary), RARRAY_SHARED_ROOT_FLAG))</div><div class='del'>-#define ARY_SHARED_NUM(ary) \</div><div class='del'>-    (assert(ARY_SHARED_ROOT_P(ary)), RARRAY(ary)-&gt;as.heap.aux.capa)</div><div class='del'>-#define ARY_SHARED_OCCUPIED(ary) (ARY_SHARED_NUM(ary) == 1)</div><div class='del'>-#define ARY_SET_SHARED_NUM(ary, value) do { \</div><div class='del'>-    assert(ARY_SHARED_ROOT_P(ary)); \</div><div class='del'>-    RARRAY(ary)-&gt;as.heap.aux.capa = (value); \</div><div class='del'>-} while (0)</div><div class='del'>-#define FL_SET_SHARED_ROOT(ary) do { \</div><div class='del'>-    assert(!ARY_EMBED_P(ary)); \</div><div class='del'>-    assert(!RARRAY_TRANSIENT_P(ary)); \</div><div class='del'>-    FL_SET((ary), RARRAY_SHARED_ROOT_FLAG); \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define ARY_SET(a, i, v) RARRAY_ASET((assert(!ARY_SHARED_P(a)), (a)), (i), (v))</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#if ARRAY_DEBUG</div><div class='del'>-#define ary_verify(ary) ary_verify_(ary, __FILE__, __LINE__)</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_verify_(VALUE ary, const char *file, int line)</div><div class='del'>-{</div><div class='del'>-    assert(RB_TYPE_P(ary, T_ARRAY));</div><div class='del'>-</div><div class='del'>-    if (FL_TEST(ary, ELTS_SHARED)) {</div><div class='del'>-        VALUE root = RARRAY(ary)-&gt;as.heap.aux.shared;</div><div class='del'>-        const VALUE *ptr = ARY_HEAP_PTR(ary);</div><div class='del'>-        const VALUE *root_ptr = RARRAY_CONST_PTR_TRANSIENT(root);</div><div class='del'>-        long len = ARY_HEAP_LEN(ary), root_len = RARRAY_LEN(root);</div><div class='del'>-        assert(FL_TEST(root, RARRAY_SHARED_ROOT_FLAG));</div><div class='del'>-        assert(root_ptr &lt;= ptr &amp;&amp; ptr + len &lt;= root_ptr + root_len);</div><div class='del'>-        ary_verify(root);</div><div class='del'>-    }</div><div class='del'>-    else if (ARY_EMBED_P(ary)) {</div><div class='del'>-        assert(!RARRAY_TRANSIENT_P(ary));</div><div class='del'>-        assert(!ARY_SHARED_P(ary));</div><div class='del'>-        assert(RARRAY_LEN(ary) &lt;= RARRAY_EMBED_LEN_MAX);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-#if 1</div><div class='del'>-        const VALUE *ptr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-        long i, len = RARRAY_LEN(ary);</div><div class='del'>-        volatile VALUE v;</div><div class='del'>-        if (len &gt; 1) len = 1; /* check only HEAD */</div><div class='del'>-        for (i=0; i&lt;len; i++) {</div><div class='del'>-            v = ptr[i]; /* access check */</div><div class='del'>-        }</div><div class='del'>-        v = v;</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='del'>-        assert(rb_transient_heap_managed_ptr_p(RARRAY_CONST_PTR_TRANSIENT(ary)));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_transient_heap_verify();</div><div class='del'>-</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_ary_verify(VALUE ary){</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-#define ary_verify(ary) ((void)0)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-VALUE *</div><div class='del'>-rb_ary_ptr_use_start(VALUE ary)</div><div class='del'>-{</div><div class='del'>-#if ARRAY_DEBUG</div><div class='del'>-    FL_SET_RAW(ary, RARRAY_PTR_IN_USE_FLAG);</div><div class='del'>-#endif</div><div class='del'>-    return (VALUE *)RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ary_ptr_use_end(VALUE ary)</div><div class='del'>-{</div><div class='del'>-#if ARRAY_DEBUG</div><div class='del'>-    FL_UNSET_RAW(ary, RARRAY_PTR_IN_USE_FLAG);</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_mem_clear(register VALUE *mem, register long size)</div><div class='add'>+rb_mem_clear(mem, size)</div><div class='add'>+    register VALUE *mem;</div><div class='add'>+    register long size;</div><div class='ctx'> {</div><div class='ctx'>     while (size--) {</div><div class='ctx'> 	*mem++ = Qnil;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-ary_mem_clear(VALUE ary, long beg, long size)</div><div class='del'>-{</div><div class='del'>-    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-	rb_mem_clear(ptr + beg, size);</div><div class='del'>-    });</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> static inline void</div><div class='del'>-memfill(register VALUE *mem, register long size, register VALUE val)</div><div class='add'>+memfill(mem, size, val)</div><div class='add'>+    register VALUE *mem;</div><div class='add'>+    register long size;</div><div class='add'>+    register VALUE val;</div><div class='ctx'> {</div><div class='ctx'>     while (size--) {</div><div class='ctx'> 	*mem++ = val;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-ary_memfill(VALUE ary, long beg, long size, VALUE val)</div><div class='del'>-{</div><div class='del'>-    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-	memfill(ptr + beg, size, val);</div><div class='del'>-	RB_OBJ_WRITTEN(ary, Qundef, val);</div><div class='del'>-    });</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_memcpy0(VALUE ary, long beg, long argc, const VALUE *argv, VALUE buff_owner_ary)</div><div class='del'>-{</div><div class='del'>-    assert(!ARY_SHARED_P(buff_owner_ary));</div><div class='del'>-</div><div class='del'>-    if (argc &gt; (int)(128/sizeof(VALUE)) /* is magic number (cache line size) */) {</div><div class='del'>-        rb_gc_writebarrier_remember(buff_owner_ary);</div><div class='del'>-        RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-            MEMCPY(ptr+beg, argv, VALUE, argc);</div><div class='del'>-        });</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        int i;</div><div class='del'>-        RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-            for (i=0; i&lt;argc; i++) {</div><div class='del'>-                RB_OBJ_WRITE(buff_owner_ary, &amp;ptr[i+beg], argv[i]);</div><div class='del'>-            }</div><div class='del'>-        });</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_memcpy(VALUE ary, long beg, long argc, const VALUE *argv)</div><div class='del'>-{</div><div class='del'>-    ary_memcpy0(ary, beg, argc, argv, ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE *</div><div class='del'>-ary_heap_alloc(VALUE ary, size_t capa)</div><div class='del'>-{</div><div class='del'>-    VALUE *ptr = rb_transient_heap_alloc(ary, sizeof(VALUE) * capa);</div><div class='del'>-</div><div class='del'>-    if (ptr != NULL) {</div><div class='del'>-        RARY_TRANSIENT_SET(ary);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        RARY_TRANSIENT_UNSET(ary);</div><div class='del'>-        ptr = ALLOC_N(VALUE, capa);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ptr;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_heap_free_ptr(VALUE ary, const VALUE *ptr, long size)</div><div class='del'>-{</div><div class='del'>-    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='del'>-        /* ignore it */</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        ruby_sized_xfree((void *)ptr, size);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_heap_free(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='del'>-        RARY_TRANSIENT_UNSET(ary);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        ary_heap_free_ptr(ary, ARY_HEAP_PTR(ary), ARY_HEAP_SIZE(ary));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_heap_realloc(VALUE ary, size_t new_capa)</div><div class='del'>-{</div><div class='del'>-    size_t old_capa = ARY_HEAP_CAPA(ary);</div><div class='del'>-</div><div class='del'>-    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='del'>-        if (new_capa &lt;= old_capa) {</div><div class='del'>-            /* do nothing */</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            VALUE *new_ptr = rb_transient_heap_alloc(ary, sizeof(VALUE) * new_capa);</div><div class='del'>-</div><div class='del'>-            if (new_ptr == NULL) {</div><div class='del'>-                new_ptr = ALLOC_N(VALUE, new_capa);</div><div class='del'>-                RARY_TRANSIENT_UNSET(ary);</div><div class='del'>-            }</div><div class='del'>-</div><div class='del'>-            MEMCPY(new_ptr, ARY_HEAP_PTR(ary), VALUE, old_capa);</div><div class='del'>-            ARY_SET_PTR(ary, new_ptr);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        SIZED_REALLOC_N(RARRAY(ary)-&gt;as.heap.ptr, VALUE, new_capa, old_capa);</div><div class='del'>-    }</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if USE_TRANSIENT_HEAP</div><div class='del'>-static inline void</div><div class='del'>-rb_ary_transient_heap_evacuate_(VALUE ary, int transient, int promote)</div><div class='del'>-{</div><div class='del'>-    if (transient) {</div><div class='del'>-        VALUE *new_ptr;</div><div class='del'>-        const VALUE *old_ptr = ARY_HEAP_PTR(ary);</div><div class='del'>-        long capa = ARY_HEAP_CAPA(ary);</div><div class='del'>-        long len  = ARY_HEAP_LEN(ary);</div><div class='del'>-</div><div class='del'>-        if (ARY_SHARED_ROOT_P(ary)) {</div><div class='del'>-            capa = len;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        assert(ARY_OWNS_HEAP_P(ary));</div><div class='del'>-        assert(RARRAY_TRANSIENT_P(ary));</div><div class='del'>-        assert(!ARY_PTR_USING_P(ary));</div><div class='del'>-</div><div class='del'>-        if (promote) {</div><div class='del'>-            new_ptr = ALLOC_N(VALUE, capa);</div><div class='del'>-            RARY_TRANSIENT_UNSET(ary);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            new_ptr = ary_heap_alloc(ary, capa);</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        MEMCPY(new_ptr, old_ptr, VALUE, capa);</div><div class='del'>-        /* do not use ARY_SET_PTR() because they assert !frozen */</div><div class='del'>-        RARRAY(ary)-&gt;as.heap.ptr = new_ptr;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ary_transient_heap_evacuate(VALUE ary, int promote)</div><div class='del'>-{</div><div class='del'>-    rb_ary_transient_heap_evacuate_(ary, RARRAY_TRANSIENT_P(ary), promote);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ary_detransient(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    assert(RARRAY_TRANSIENT_P(ary));</div><div class='del'>-    rb_ary_transient_heap_evacuate_(ary, TRUE, TRUE);</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-void</div><div class='del'>-rb_ary_detransient(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    /* do nothing */</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_resize_capa(VALUE ary, long capacity)</div><div class='del'>-{</div><div class='del'>-    assert(RARRAY_LEN(ary) &lt;= capacity);</div><div class='del'>-    assert(!OBJ_FROZEN(ary));</div><div class='del'>-    assert(!ARY_SHARED_P(ary));</div><div class='del'>-</div><div class='del'>-    if (capacity &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-        if (ARY_EMBED_P(ary)) {</div><div class='del'>-            long len = ARY_EMBED_LEN(ary);</div><div class='del'>-            VALUE *ptr = ary_heap_alloc(ary, capacity);</div><div class='del'>-</div><div class='del'>-            MEMCPY(ptr, ARY_EMBED_PTR(ary), VALUE, len);</div><div class='del'>-            FL_UNSET_EMBED(ary);</div><div class='del'>-            ARY_SET_PTR(ary, ptr);</div><div class='del'>-            ARY_SET_HEAP_LEN(ary, len);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            ary_heap_realloc(ary, capacity);</div><div class='del'>-        }</div><div class='del'>-        ARY_SET_CAPA(ary, capacity);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (!ARY_EMBED_P(ary)) {</div><div class='del'>-            long len = ARY_HEAP_LEN(ary);</div><div class='del'>-            long old_capa = ARY_HEAP_CAPA(ary);</div><div class='del'>-            const VALUE *ptr = ARY_HEAP_PTR(ary);</div><div class='del'>-</div><div class='del'>-            if (len &gt; capacity) len = capacity;</div><div class='del'>-            MEMCPY((VALUE *)RARRAY(ary)-&gt;as.ary, ptr, VALUE, len);</div><div class='del'>-            ary_heap_free_ptr(ary, ptr, old_capa);</div><div class='del'>-</div><div class='del'>-            FL_SET_EMBED(ary);</div><div class='del'>-            ARY_SET_LEN(ary, len);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-ary_shrink_capa(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long capacity = ARY_HEAP_LEN(ary);</div><div class='del'>-    long old_capa = ARY_HEAP_CAPA(ary);</div><div class='del'>-    assert(!ARY_SHARED_P(ary));</div><div class='del'>-    assert(old_capa &gt;= capacity);</div><div class='del'>-    if (old_capa &gt; capacity) ary_heap_realloc(ary, capacity);</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_double_capa(VALUE ary, long min)</div><div class='del'>-{</div><div class='del'>-    long new_capa = ARY_CAPA(ary) / 2;</div><div class='del'>-</div><div class='del'>-    if (new_capa &lt; ARY_DEFAULT_SIZE) {</div><div class='del'>-	new_capa = ARY_DEFAULT_SIZE;</div><div class='del'>-    }</div><div class='del'>-    if (new_capa &gt;= ARY_MAX_SIZE - min) {</div><div class='del'>-	new_capa = (ARY_MAX_SIZE - min) / 2;</div><div class='del'>-    }</div><div class='del'>-    new_capa += min;</div><div class='del'>-    ary_resize_capa(ary, new_capa);</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_ary_decrement_share(VALUE shared)</div><div class='del'>-{</div><div class='del'>-    if (shared) {</div><div class='del'>-	long num = ARY_SHARED_NUM(shared) - 1;</div><div class='del'>-	if (num == 0) {</div><div class='del'>-	    rb_ary_free(shared);</div><div class='del'>-	    rb_gc_force_recycle(shared);</div><div class='del'>-	}</div><div class='del'>-	else if (num &gt; 0) {</div><div class='del'>-	    ARY_SET_SHARED_NUM(shared, num);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_ary_unshare(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE shared = RARRAY(ary)-&gt;as.heap.aux.shared;</div><div class='del'>-    rb_ary_decrement_share(shared);</div><div class='del'>-    FL_UNSET_SHARED(ary);</div><div class='del'>-}</div><div class='add'>+#define ARY_TMPLOCK  FL_USER1</div><div class='ctx'> </div><div class='ctx'> static inline void</div><div class='del'>-rb_ary_unshare_safe(VALUE ary)</div><div class='add'>+rb_ary_modify_check(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if (ARY_SHARED_P(ary) &amp;&amp; !ARY_EMBED_P(ary)) {</div><div class='del'>-	rb_ary_unshare(ary);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_increment_share(VALUE shared)</div><div class='del'>-{</div><div class='del'>-    long num = ARY_SHARED_NUM(shared);</div><div class='del'>-    if (num &gt;= 0) {</div><div class='del'>-	ARY_SET_SHARED_NUM(shared, num + 1);</div><div class='del'>-    }</div><div class='del'>-    return shared;</div><div class='add'>+    if (OBJ_FROZEN(ary)) rb_error_frozen("array");</div><div class='add'>+    if (FL_TEST(ary, ARY_TMPLOCK))</div><div class='add'>+	rb_raise(rb_eRuntimeError, "can't modify array during iteration");</div><div class='add'>+    if (!OBJ_TAINTED(ary) &amp;&amp; rb_safe_level() &gt;= 4)</div><div class='add'>+	rb_raise(rb_eSecurityError, "Insecure: can't modify array");</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-rb_ary_set_shared(VALUE ary, VALUE shared)</div><div class='del'>-{</div><div class='del'>-    rb_ary_increment_share(shared);</div><div class='del'>-    FL_SET_SHARED(ary);</div><div class='del'>-    ARY_SET_SHARED(ary, shared);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-rb_ary_modify_check(VALUE ary)</div><div class='add'>+rb_ary_modify(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    rb_check_frozen(ary);</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-}</div><div class='add'>+    VALUE *ptr;</div><div class='ctx'> </div><div class='del'>-void</div><div class='del'>-rb_ary_modify(VALUE ary)</div><div class='del'>-{</div><div class='ctx'>     rb_ary_modify_check(ary);</div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	long shared_len, len = RARRAY_LEN(ary);</div><div class='del'>-	VALUE shared = ARY_SHARED(ary);</div><div class='del'>-</div><div class='del'>-        ary_verify(shared);</div><div class='del'>-</div><div class='del'>-        if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-	    const VALUE *ptr = ARY_HEAP_PTR(ary);</div><div class='del'>-            FL_UNSET_SHARED(ary);</div><div class='del'>-            FL_SET_EMBED(ary);</div><div class='del'>-	    MEMCPY((VALUE *)ARY_EMBED_PTR(ary), ptr, VALUE, len);</div><div class='del'>-            rb_ary_decrement_share(shared);</div><div class='del'>-            ARY_SET_EMBED_LEN(ary, len);</div><div class='del'>-        }</div><div class='del'>-	else if (ARY_SHARED_OCCUPIED(shared) &amp;&amp; len &gt; ((shared_len = RARRAY_LEN(shared))&gt;&gt;1)) {</div><div class='del'>-            long shift = RARRAY_CONST_PTR_TRANSIENT(ary) - RARRAY_CONST_PTR_TRANSIENT(shared);</div><div class='del'>-	    FL_UNSET_SHARED(ary);</div><div class='del'>-            ARY_SET_PTR(ary, RARRAY_CONST_PTR_TRANSIENT(shared));</div><div class='del'>-	    ARY_SET_CAPA(ary, shared_len);</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-		MEMMOVE(ptr, ptr+shift, VALUE, len);</div><div class='del'>-	    });</div><div class='del'>-	    FL_SET_EMBED(shared);</div><div class='del'>-	    rb_ary_decrement_share(shared);</div><div class='del'>-	}</div><div class='del'>-        else {</div><div class='del'>-            VALUE *ptr = ary_heap_alloc(ary, len);</div><div class='del'>-            MEMCPY(ptr, ARY_HEAP_PTR(ary), VALUE, len);</div><div class='del'>-            rb_ary_unshare(ary);</div><div class='del'>-            ARY_SET_CAPA(ary, len);</div><div class='del'>-            ARY_SET_PTR(ary, ptr);</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-	rb_gc_writebarrier_remember(ary);</div><div class='add'>+    if (FL_TEST(ary, ELTS_SHARED)) {</div><div class='add'>+	ptr = ALLOC_N(VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+	FL_UNSET(ary, ELTS_SHARED);</div><div class='add'>+	RARRAY(ary)-&gt;aux.capa = RARRAY(ary)-&gt;len;</div><div class='add'>+	MEMCPY(ptr, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+	RARRAY(ary)-&gt;ptr = ptr;</div><div class='ctx'>     }</div><div class='del'>-    ary_verify(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_ensure_room_for_push(VALUE ary, long add_len)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_freeze(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long old_len = RARRAY_LEN(ary);</div><div class='del'>-    long new_len = old_len + add_len;</div><div class='del'>-    long capa;</div><div class='del'>-</div><div class='del'>-    if (old_len &gt; ARY_MAX_SIZE - add_len) {</div><div class='del'>-	rb_raise(rb_eIndexError, "index %ld too big", new_len);</div><div class='del'>-    }</div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	if (new_len &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-	    VALUE shared = ARY_SHARED(ary);</div><div class='del'>-	    if (ARY_SHARED_OCCUPIED(shared)) {</div><div class='del'>-                if (ARY_HEAP_PTR(ary) - RARRAY_CONST_PTR_TRANSIENT(shared) + new_len &lt;= RARRAY_LEN(shared)) {</div><div class='del'>-		    rb_ary_modify_check(ary);</div><div class='del'>-</div><div class='del'>-                    ary_verify(ary);</div><div class='del'>-                    ary_verify(shared);</div><div class='del'>-                    return shared;</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    /* if array is shared, then it is likely it participate in push/shift pattern */</div><div class='del'>-		    rb_ary_modify(ary);</div><div class='del'>-		    capa = ARY_CAPA(ary);</div><div class='del'>-		    if (new_len &gt; capa - (capa &gt;&gt; 6)) {</div><div class='del'>-			ary_double_capa(ary, new_len);</div><div class='del'>-		    }</div><div class='del'>-                    ary_verify(ary);</div><div class='del'>-		    return ary;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-        ary_verify(ary);</div><div class='del'>-        rb_ary_modify(ary);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	rb_ary_modify_check(ary);</div><div class='del'>-    }</div><div class='del'>-    capa = ARY_CAPA(ary);</div><div class='del'>-    if (new_len &gt; capa) {</div><div class='del'>-	ary_double_capa(ary, new_len);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return ary;</div><div class='add'>+    return rb_obj_freeze(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *      ary.freeze -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Calls Object#freeze on +ary+ to prevent any further</div><div class='del'>- *  modification. A RuntimeError will be raised if a modification</div><div class='del'>- *  attempt is made.</div><div class='add'>+ *     array.frozen?  -&gt; true or false</div><div class='ctx'>  *</div><div class='add'>+ *  Return &lt;code&gt;true&lt;/code&gt; if this array is frozen (or temporarily frozen</div><div class='add'>+ *  while being sorted).</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_freeze(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    return rb_obj_freeze(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* This can be used to take a snapshot of an array (with</div><div class='del'>-   e.g. rb_ary_replace) and check later whether the array has been</div><div class='del'>-   modified from the snapshot.  The snapshot is cheap, though if</div><div class='del'>-   something does modify the array it will pay the cost of copying</div><div class='del'>-   it.  If Array#pop or Array#shift has been called, the array will</div><div class='del'>-   be still shared with the snapshot, but the array length will</div><div class='del'>-   differ. */</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_shared_with_p(VALUE ary1, VALUE ary2)</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_frozen_p(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if (!ARY_EMBED_P(ary1) &amp;&amp; ARY_SHARED_P(ary1) &amp;&amp;</div><div class='del'>-	!ARY_EMBED_P(ary2) &amp;&amp; ARY_SHARED_P(ary2) &amp;&amp;</div><div class='del'>-	RARRAY(ary1)-&gt;as.heap.aux.shared == RARRAY(ary2)-&gt;as.heap.aux.shared &amp;&amp;</div><div class='del'>-	RARRAY(ary1)-&gt;as.heap.len == RARRAY(ary2)-&gt;as.heap.len) {</div><div class='del'>-	return Qtrue;</div><div class='del'>-    }</div><div class='add'>+    if (OBJ_FROZEN(ary)) return Qtrue;</div><div class='add'>+    if (FL_TEST(ary, ARY_TMPLOCK)) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static VALUE ary_alloc _((VALUE));</div><div class='ctx'> static VALUE</div><div class='del'>-ary_alloc(VALUE klass)</div><div class='add'>+ary_alloc(klass)</div><div class='add'>+    VALUE klass;</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ_OF(ary, struct RArray, klass, T_ARRAY | RARRAY_EMBED_FLAG | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));</div><div class='del'>-    /* Created array is:</div><div class='del'>-     *   FL_SET_EMBED((VALUE)ary);</div><div class='del'>-     *   ARY_SET_EMBED_LEN((VALUE)ary, 0);</div><div class='del'>-     */</div><div class='del'>-    return (VALUE)ary;</div><div class='del'>-}</div><div class='add'>+    NEWOBJ(ary, struct RArray);</div><div class='add'>+    OBJSETUP(ary, klass, T_ARRAY);</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-empty_ary_alloc(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    RUBY_DTRACE_CREATE_HOOK(ARRAY, 0);</div><div class='del'>-    return ary_alloc(klass);</div><div class='add'>+    ary-&gt;len = 0;</div><div class='add'>+    ary-&gt;ptr = 0;</div><div class='add'>+    ary-&gt;aux.capa = 0;</div><div class='add'>+</div><div class='add'>+    return (VALUE)ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-ary_new(VALUE klass, long capa)</div><div class='add'>+ary_new(klass, len)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    long len;</div><div class='ctx'> {</div><div class='del'>-    VALUE ary,*ptr;</div><div class='add'>+    VALUE ary = ary_alloc(klass);</div><div class='ctx'> </div><div class='del'>-    if (capa &lt; 0) {</div><div class='add'>+    if (len &lt; 0) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "negative array size (or size too big)");</div><div class='ctx'>     }</div><div class='del'>-    if (capa &gt; ARY_MAX_SIZE) {</div><div class='add'>+    if (len &gt; 0 &amp;&amp; len * sizeof(VALUE) &lt;= len) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "array size too big");</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    RUBY_DTRACE_CREATE_HOOK(ARRAY, capa);</div><div class='del'>-</div><div class='del'>-    ary = ary_alloc(klass);</div><div class='del'>-    if (capa &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-        ptr = ary_heap_alloc(ary, capa);</div><div class='del'>-        FL_UNSET_EMBED(ary);</div><div class='del'>-        ARY_SET_PTR(ary, ptr);</div><div class='del'>-        ARY_SET_CAPA(ary, capa);</div><div class='del'>-        ARY_SET_HEAP_LEN(ary, 0);</div><div class='del'>-    }</div><div class='add'>+    if (len == 0) len++;</div><div class='add'>+    RARRAY(ary)-&gt;ptr = ALLOC_N(VALUE, len);</div><div class='add'>+    RARRAY(ary)-&gt;aux.capa = len;</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_new_capa(long capa)</div><div class='add'>+rb_ary_new2(len)</div><div class='add'>+    long len;</div><div class='ctx'> {</div><div class='del'>-    return ary_new(rb_cArray, capa);</div><div class='add'>+    return ary_new(rb_cArray, len);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_new(void)</div><div class='add'>+rb_ary_new()</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_new2(RARRAY_EMBED_LEN_MAX);</div><div class='add'>+    return rb_ary_new2(ARY_DEFAULT_SIZE);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+#ifdef HAVE_STDARG_PROTOTYPES</div><div class='add'>+#include &lt;stdarg.h&gt;</div><div class='add'>+#define va_init_list(a,b) va_start(a,b)</div><div class='add'>+#else</div><div class='add'>+#include &lt;varargs.h&gt;</div><div class='add'>+#define va_init_list(a,b) va_start(a)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-(rb_ary_new_from_args)(long n, ...)</div><div class='add'>+#ifdef HAVE_STDARG_PROTOTYPES</div><div class='add'>+rb_ary_new3(long n, ...)</div><div class='add'>+#else</div><div class='add'>+rb_ary_new3(n, va_alist)</div><div class='add'>+    long n;</div><div class='add'>+    va_dcl</div><div class='add'>+#endif</div><div class='ctx'> {</div><div class='ctx'>     va_list ar;</div><div class='ctx'>     VALUE ary;</div><div class='hunk'>@@ -706,275 +167,119 @@ VALUE</div><div class='ctx'> </div><div class='ctx'>     ary = rb_ary_new2(n);</div><div class='ctx'> </div><div class='del'>-    va_start(ar, n);</div><div class='add'>+    va_init_list(ar, n);</div><div class='ctx'>     for (i=0; i&lt;n; i++) {</div><div class='del'>-	ARY_SET(ary, i, va_arg(ar, VALUE));</div><div class='add'>+	RARRAY(ary)-&gt;ptr[i] = va_arg(ar, VALUE);</div><div class='ctx'>     }</div><div class='ctx'>     va_end(ar);</div><div class='ctx'> </div><div class='del'>-    ARY_SET_LEN(ary, n);</div><div class='add'>+    RARRAY(ary)-&gt;len = n;</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_ary_tmp_new_from_values(VALUE klass, long n, const VALUE *elts)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_new4(n, elts)</div><div class='add'>+    long n;</div><div class='add'>+    const VALUE *elts;</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary;</div><div class='ctx'> </div><div class='del'>-    ary = ary_new(klass, n);</div><div class='add'>+    ary = rb_ary_new2(n);</div><div class='ctx'>     if (n &gt; 0 &amp;&amp; elts) {</div><div class='del'>-	ary_memcpy(ary, 0, n, elts);</div><div class='del'>-	ARY_SET_LEN(ary, n);</div><div class='add'>+	MEMCPY(RARRAY(ary)-&gt;ptr, elts, VALUE, n);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_new_from_values(long n, const VALUE *elts)</div><div class='del'>-{</div><div class='del'>-    return rb_ary_tmp_new_from_values(rb_cArray, n, elts);</div><div class='del'>-}</div><div class='add'>+    /* This assignment to len will be moved to the above "if" block in Ruby 1.9 */</div><div class='add'>+    RARRAY(ary)-&gt;len = n;</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_tmp_new(long capa)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = ary_new(0, capa);</div><div class='del'>-    rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_tmp_new_fill(long capa)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = ary_new(0, capa);</div><div class='del'>-    ary_memfill(ary, 0, capa, Qnil);</div><div class='del'>-    ARY_SET_LEN(ary, capa);</div><div class='del'>-    rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ary_free(VALUE ary)</div><div class='add'>+rb_assoc_new(car, cdr)</div><div class='add'>+    VALUE car, cdr;</div><div class='ctx'> {</div><div class='del'>-    if (ARY_OWNS_HEAP_P(ary)) {</div><div class='del'>-        if (RARRAY_TRANSIENT_P(ary)) {</div><div class='del'>-            RB_DEBUG_COUNTER_INC(obj_ary_transient);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            RB_DEBUG_COUNTER_INC(obj_ary_ptr);</div><div class='del'>-            ary_heap_free(ary);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	RB_DEBUG_COUNTER_INC(obj_ary_embed);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-RUBY_FUNC_EXPORTED size_t</div><div class='del'>-rb_ary_memsize(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    if (ARY_OWNS_HEAP_P(ary)) {</div><div class='del'>-	return ARY_CAPA(ary) * sizeof(VALUE);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return 0;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-ary_discard(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    rb_ary_free(ary);</div><div class='del'>-    RBASIC(ary)-&gt;flags |= RARRAY_EMBED_FLAG;</div><div class='del'>-    RBASIC(ary)-&gt;flags &amp;= ~(RARRAY_EMBED_LEN_MASK | RARRAY_TRANSIENT_FLAG);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_make_shared(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    assert(!ARY_EMBED_P(ary));</div><div class='del'>-    ary_verify(ary);</div><div class='add'>+    VALUE ary;</div><div class='ctx'> </div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	return ARY_SHARED(ary);</div><div class='del'>-    }</div><div class='del'>-    else if (ARY_SHARED_ROOT_P(ary)) {</div><div class='del'>-	return ary;</div><div class='del'>-    }</div><div class='del'>-    else if (OBJ_FROZEN(ary)) {</div><div class='del'>-        rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='del'>-	ary_shrink_capa(ary);</div><div class='del'>-	FL_SET_SHARED_ROOT(ary);</div><div class='del'>-	ARY_SET_SHARED_NUM(ary, 1);</div><div class='del'>-	return ary;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	long capa = ARY_CAPA(ary), len = RARRAY_LEN(ary);</div><div class='del'>-        const VALUE *ptr;</div><div class='del'>-	NEWOBJ_OF(shared, struct RArray, 0, T_ARRAY | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));</div><div class='del'>-</div><div class='del'>-        rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='del'>-        ptr = ARY_HEAP_PTR(ary);</div><div class='del'>-</div><div class='del'>-        FL_UNSET_EMBED(shared);</div><div class='del'>-	ARY_SET_LEN((VALUE)shared, capa);</div><div class='del'>-        ARY_SET_PTR((VALUE)shared, ptr);</div><div class='del'>-        ary_mem_clear((VALUE)shared, len, capa - len);</div><div class='del'>-	FL_SET_SHARED_ROOT(shared);</div><div class='del'>-	ARY_SET_SHARED_NUM((VALUE)shared, 1);</div><div class='del'>-	FL_SET_SHARED(ary);</div><div class='del'>-	ARY_SET_SHARED(ary, (VALUE)shared);</div><div class='del'>-	OBJ_FREEZE(shared);</div><div class='add'>+    ary = rb_ary_new2(2);</div><div class='add'>+    RARRAY(ary)-&gt;ptr[0] = car;</div><div class='add'>+    RARRAY(ary)-&gt;ptr[1] = cdr;</div><div class='add'>+    RARRAY(ary)-&gt;len = 2;</div><div class='ctx'> </div><div class='del'>-        ary_verify((VALUE)shared);</div><div class='del'>-        ary_verify(ary);</div><div class='del'>-        return (VALUE)shared;</div><div class='del'>-    }</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-ary_make_substitution(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='del'>-    if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-	VALUE subst = rb_ary_new2(len);</div><div class='del'>-        ary_memcpy(subst, 0, len, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='del'>-        ARY_SET_EMBED_LEN(subst, len);</div><div class='del'>-        return subst;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        return rb_ary_increment_share(ary_make_shared(ary));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_assoc_new(VALUE car, VALUE cdr)</div><div class='del'>-{</div><div class='del'>-    return rb_ary_new3(2, car, cdr);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_to_array_type(VALUE ary)</div><div class='add'>+to_ary(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    return rb_convert_type_with_id(ary, T_ARRAY, "Array", idTo_ary);</div><div class='add'>+    return rb_convert_type(ary, T_ARRAY, "Array", "to_ary");</div><div class='ctx'> }</div><div class='del'>-#define to_ary rb_to_array_type</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_check_array_type(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    return rb_check_convert_type_with_id(ary, T_ARRAY, "Array", idTo_ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_check_to_array(VALUE ary)</div><div class='add'>+rb_check_array_type(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    return rb_check_convert_type_with_id(ary, T_ARRAY, "Array", idTo_a);</div><div class='add'>+    return rb_check_convert_type(ary, T_ARRAY, "Array", "to_ary");</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     Array.try_convert(obj) -&gt; array or nil</div><div class='del'>- *</div><div class='del'>- *  Tries to convert +obj+ into an array, using +to_ary+ method.  Returns the</div><div class='del'>- *  converted array or +nil+ if +obj+ cannot be converted for any reason.</div><div class='del'>- *  This method can be used to check if an argument is an array.</div><div class='del'>- *</div><div class='del'>- *     Array.try_convert([1])   #=&gt; [1]</div><div class='del'>- *     Array.try_convert("1")   #=&gt; nil</div><div class='del'>- *</div><div class='del'>- *     if tmp = Array.try_convert(arg)</div><div class='del'>- *       # the argument is an array</div><div class='del'>- *     elsif tmp = String.try_convert(arg)</div><div class='del'>- *       # the argument is a string</div><div class='del'>- *     end</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_s_try_convert(VALUE dummy, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    return rb_check_array_type(ary);</div><div class='del'>-}</div><div class='add'>+static VALUE rb_ary_replace _((VALUE, VALUE));</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Array.new(size=0, default=nil)</div><div class='add'>+ *     Array.new(size=0, obj=nil)</div><div class='ctx'>  *     Array.new(array)</div><div class='ctx'>  *     Array.new(size) {|index| block }</div><div class='ctx'>  *</div><div class='del'>- *  Returns a new array.</div><div class='del'>- *</div><div class='del'>- *  In the first form, if no arguments are sent, the new array will be empty.</div><div class='del'>- *  When a +size+ and an optional +default+ are sent, an array is created with</div><div class='del'>- *  +size+ copies of +default+.  Take notice that all elements will reference the</div><div class='del'>- *  same object +default+.</div><div class='del'>- *</div><div class='del'>- *  The second form creates a copy of the array passed as a parameter (the</div><div class='del'>- *  array is generated by calling to_ary on the parameter).</div><div class='del'>- *</div><div class='del'>- *    first_array = ["Matz", "Guido"]</div><div class='del'>- *</div><div class='del'>- *    second_array = Array.new(first_array) #=&gt; ["Matz", "Guido"]</div><div class='del'>- *</div><div class='del'>- *    first_array.equal? second_array       #=&gt; false</div><div class='del'>- *</div><div class='del'>- *  In the last form, an array of the given size is created.  Each element in</div><div class='del'>- *  this array is created by passing the element's index to the given block</div><div class='del'>- *  and storing the return value.</div><div class='del'>- *</div><div class='del'>- *    Array.new(3) {|index| index ** 2}</div><div class='del'>- *    # =&gt; [0, 1, 4]</div><div class='del'>- *</div><div class='del'>- *  == Common gotchas</div><div class='del'>- *</div><div class='del'>- *  When sending the second parameter, the same object will be used as the</div><div class='del'>- *  value for all the array elements:</div><div class='del'>- *</div><div class='add'>+ *  Returns a new array. In the first form, the new array is</div><div class='add'>+ *  empty. In the second it is created with _size_ copies of _obj_</div><div class='add'>+ *  (that is, _size_ references to the same</div><div class='add'>+ *  _obj_). The third form creates a copy of the array</div><div class='add'>+ *  passed as a parameter (the array is generated by calling</div><div class='add'>+ *  to_ary  on the parameter). In the last form, an array</div><div class='add'>+ *  of the given size is created. Each element in this array is</div><div class='add'>+ *  calculated by passing the element's index to the given block and</div><div class='add'>+ *  storing the return value.</div><div class='add'>+ *</div><div class='add'>+ *     Array.new</div><div class='add'>+ *     Array.new(2)</div><div class='add'>+ *     Array.new(5, "A")</div><div class='add'>+ * </div><div class='add'>+ *     # only one copy of the object is created</div><div class='ctx'>  *     a = Array.new(2, Hash.new)</div><div class='del'>- *     # =&gt; [{}, {}]</div><div class='del'>- *</div><div class='ctx'>  *     a[0]['cat'] = 'feline'</div><div class='del'>- *     a # =&gt; [{"cat"=&gt;"feline"}, {"cat"=&gt;"feline"}]</div><div class='del'>- *</div><div class='add'>+ *     a</div><div class='ctx'>  *     a[1]['cat'] = 'Felix'</div><div class='del'>- *     a # =&gt; [{"cat"=&gt;"Felix"}, {"cat"=&gt;"Felix"}]</div><div class='del'>- *</div><div class='del'>- *  Since all the Array elements store the same hash, changes to one of them</div><div class='del'>- *  will affect them all.</div><div class='del'>- *</div><div class='del'>- *  If multiple copies are what you want, you should use the block</div><div class='del'>- *  version which uses the result of that block each time an element</div><div class='del'>- *  of the array needs to be initialized:</div><div class='del'>- *</div><div class='del'>- *     a = Array.new(2) {Hash.new}</div><div class='add'>+ *     a</div><div class='add'>+ * </div><div class='add'>+ *     # here multiple copies are created</div><div class='add'>+ *     a = Array.new(2) { Hash.new }</div><div class='ctx'>  *     a[0]['cat'] = 'feline'</div><div class='del'>- *     a # =&gt; [{"cat"=&gt;"feline"}, {}]</div><div class='del'>- *</div><div class='add'>+ *     a</div><div class='add'>+ * </div><div class='add'>+ *     squares = Array.new(5) {|i| i*i}</div><div class='add'>+ *     squares</div><div class='add'>+ * </div><div class='add'>+ *     copy = Array.new(squares)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_initialize(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_initialize(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long len;</div><div class='ctx'>     VALUE size, val;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    if (argc == 0) {</div><div class='del'>-        if (ARY_OWNS_HEAP_P(ary) &amp;&amp; ARY_HEAP_PTR(ary) != NULL) {</div><div class='del'>-            ary_heap_free(ary);</div><div class='del'>-	}</div><div class='del'>-        rb_ary_unshare_safe(ary);</div><div class='del'>-        FL_SET_EMBED(ary);</div><div class='del'>-	ARY_SET_EMBED_LEN(ary, 0);</div><div class='add'>+    if (rb_scan_args(argc, argv, "02", &amp;size, &amp;val) == 0) {</div><div class='add'>+	RARRAY(ary)-&gt;len = 0;</div><div class='ctx'> 	if (rb_block_given_p()) {</div><div class='ctx'> 	    rb_warning("given block not used");</div><div class='ctx'> 	}</div><div class='ctx'> 	return ary;</div><div class='ctx'>     }</div><div class='del'>-    rb_scan_args(argc, argv, "02", &amp;size, &amp;val);</div><div class='add'>+</div><div class='ctx'>     if (argc == 1 &amp;&amp; !FIXNUM_P(size)) {</div><div class='ctx'> 	val = rb_check_array_type(size);</div><div class='ctx'> 	if (!NIL_P(val)) {</div><div class='hunk'>@@ -984,16 +289,17 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     len = NUM2LONG(size);</div><div class='del'>-    /* NUM2LONG() may call size.to_int, ary can be frozen, modified, etc */</div><div class='ctx'>     if (len &lt; 0) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "negative array size");</div><div class='ctx'>     }</div><div class='del'>-    if (len &gt; ARY_MAX_SIZE) {</div><div class='add'>+    if (len &gt; 0 &amp;&amp; len * (long)sizeof(VALUE) &lt;= len) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "array size too big");</div><div class='ctx'>     }</div><div class='del'>-    /* recheck after argument conversion */</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    ary_resize_capa(ary, len);</div><div class='add'>+    if (len &gt; RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, len);</div><div class='add'>+	RARRAY(ary)-&gt;aux.capa = len;</div><div class='add'>+    }</div><div class='ctx'>     if (rb_block_given_p()) {</div><div class='ctx'> 	long i;</div><div class='ctx'> </div><div class='hunk'>@@ -1002,511 +308,339 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> 	}</div><div class='ctx'> 	for (i=0; i&lt;len; i++) {</div><div class='ctx'> 	    rb_ary_store(ary, i, rb_yield(LONG2NUM(i)));</div><div class='del'>-	    ARY_SET_LEN(ary, i + 1);</div><div class='add'>+	    RARRAY(ary)-&gt;len = i + 1;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	ary_memfill(ary, 0, len, val);</div><div class='del'>-	ARY_SET_LEN(ary, len);</div><div class='add'>+	memfill(RARRAY(ary)-&gt;ptr, len, val);</div><div class='add'>+	RARRAY(ary)-&gt;len = len;</div><div class='ctx'>     }</div><div class='add'>+</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- * Returns a new array populated with the given objects.</div><div class='del'>- *</div><div class='del'>- *   Array.[]( 1, 'a', /^A/)  # =&gt; [1, "a", /^A/]</div><div class='del'>- *   Array[ 1, 'a', /^A/ ]    # =&gt; [1, "a", /^A/]</div><div class='del'>- *   [ 1, 'a', /^A/ ]         # =&gt; [1, "a", /^A/]</div><div class='del'>- */</div><div class='add'>+</div><div class='add'>+/* </div><div class='add'>+* Returns a new array populated with the given objects. </div><div class='add'>+*</div><div class='add'>+*   Array.[]( 1, 'a', /^A/ )</div><div class='add'>+*   Array[ 1, 'a', /^A/ ]</div><div class='add'>+*   [ 1, 'a', /^A/ ]</div><div class='add'>+*/</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_s_create(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+rb_ary_s_create(argc, argv, klass)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE klass;</div><div class='ctx'> {</div><div class='del'>-    VALUE ary = ary_new(klass, argc);</div><div class='del'>-    if (argc &gt; 0 &amp;&amp; argv) {</div><div class='del'>-        ary_memcpy(ary, 0, argc, argv);</div><div class='del'>-        ARY_SET_LEN(ary, argc);</div><div class='add'>+    VALUE ary = ary_alloc(klass);</div><div class='add'>+</div><div class='add'>+    if (argc &gt; 0) {</div><div class='add'>+	RARRAY(ary)-&gt;ptr = ALLOC_N(VALUE, argc);</div><div class='add'>+	MEMCPY(RARRAY(ary)-&gt;ptr, argv, VALUE, argc);</div><div class='ctx'>     }</div><div class='add'>+    RARRAY(ary)-&gt;len = RARRAY(ary)-&gt;aux.capa = argc;</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_ary_store(VALUE ary, long idx, VALUE val)</div><div class='add'>+rb_ary_store(ary, idx, val)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long idx;</div><div class='add'>+    VALUE val;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='ctx'>     if (idx &lt; 0) {</div><div class='del'>-	idx += len;</div><div class='add'>+	idx += RARRAY(ary)-&gt;len;</div><div class='ctx'> 	if (idx &lt; 0) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",</div><div class='del'>-		     idx - len, -len);</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld out of array",</div><div class='add'>+		    idx - RARRAY(ary)-&gt;len);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    else if (idx &gt;= ARY_MAX_SIZE) {</div><div class='del'>-	rb_raise(rb_eIndexError, "index %ld too big", idx);</div><div class='del'>-    }</div><div class='ctx'> </div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    if (idx &gt;= ARY_CAPA(ary)) {</div><div class='del'>-	ary_double_capa(ary, idx);</div><div class='del'>-    }</div><div class='del'>-    if (idx &gt; len) {</div><div class='del'>-	ary_mem_clear(ary, len, idx - len + 1);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (idx &gt;= len) {</div><div class='del'>-	ARY_SET_LEN(ary, idx + 1);</div><div class='del'>-    }</div><div class='del'>-    ARY_SET(ary, idx, val);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_make_partial(VALUE ary, VALUE klass, long offset, long len)</div><div class='del'>-{</div><div class='del'>-    assert(offset &gt;= 0);</div><div class='del'>-    assert(len &gt;= 0);</div><div class='del'>-    assert(offset+len &lt;= RARRAY_LEN(ary));</div><div class='add'>+    if (idx &gt;= RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	long new_capa = RARRAY(ary)-&gt;aux.capa / 2;</div><div class='ctx'> </div><div class='del'>-    if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-        VALUE result = ary_alloc(klass);</div><div class='del'>-        ary_memcpy(result, 0, len, RARRAY_CONST_PTR_TRANSIENT(ary) + offset);</div><div class='del'>-        ARY_SET_EMBED_LEN(result, len);</div><div class='del'>-        return result;</div><div class='add'>+	if (new_capa &lt; ARY_DEFAULT_SIZE) {</div><div class='add'>+	    new_capa = ARY_DEFAULT_SIZE;</div><div class='add'>+	}</div><div class='add'>+	new_capa += idx;</div><div class='add'>+	if (new_capa * (long)sizeof(VALUE) &lt;= new_capa) {</div><div class='add'>+	    rb_raise(rb_eArgError, "index too big");</div><div class='add'>+	}</div><div class='add'>+	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, new_capa);</div><div class='add'>+	RARRAY(ary)-&gt;aux.capa = new_capa;</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-        VALUE shared, result = ary_alloc(klass);</div><div class='del'>-        FL_UNSET_EMBED(result);</div><div class='del'>-</div><div class='del'>-        shared = ary_make_shared(ary);</div><div class='del'>-        ARY_SET_PTR(result, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='del'>-        ARY_SET_LEN(result, RARRAY_LEN(ary));</div><div class='del'>-        rb_ary_set_shared(result, shared);</div><div class='del'>-</div><div class='del'>-        ARY_INCREASE_PTR(result, offset);</div><div class='del'>-        ARY_SET_LEN(result, len);</div><div class='del'>-</div><div class='del'>-        ary_verify(shared);</div><div class='del'>-        ary_verify(result);</div><div class='del'>-        return result;</div><div class='add'>+    if (idx &gt; RARRAY(ary)-&gt;len) {</div><div class='add'>+	rb_mem_clear(RARRAY(ary)-&gt;ptr + RARRAY(ary)-&gt;len,</div><div class='add'>+		     idx-RARRAY(ary)-&gt;len + 1);</div><div class='ctx'>     }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_make_shared_copy(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    return ary_make_partial(ary, rb_obj_class(ary), 0, RARRAY_LEN(ary));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-enum ary_take_pos_flags</div><div class='del'>-{</div><div class='del'>-    ARY_TAKE_FIRST = 0,</div><div class='del'>-    ARY_TAKE_LAST = 1</div><div class='del'>-};</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_take_first_or_last(int argc, const VALUE *argv, VALUE ary, enum ary_take_pos_flags last)</div><div class='del'>-{</div><div class='del'>-    long n;</div><div class='del'>-    long len;</div><div class='del'>-    long offset = 0;</div><div class='del'>-</div><div class='del'>-    argc = rb_check_arity(argc, 0, 1);</div><div class='del'>-    /* the case optional argument is ommited should be handled in</div><div class='del'>-     * callers of this function.  if another arity case is added,</div><div class='del'>-     * this arity check needs to rewrite. */</div><div class='del'>-    RUBY_ASSERT_WHEN(TRUE, argc == 1);</div><div class='del'>-</div><div class='del'>-    n = NUM2LONG(argv[0]);</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='del'>-    if (n &gt; len) {</div><div class='del'>-	n = len;</div><div class='add'>+    if (idx &gt;= RARRAY(ary)-&gt;len) {</div><div class='add'>+	RARRAY(ary)-&gt;len = idx + 1;</div><div class='ctx'>     }</div><div class='del'>-    else if (n &lt; 0) {</div><div class='del'>-	rb_raise(rb_eArgError, "negative array size");</div><div class='del'>-    }</div><div class='del'>-    if (last) {</div><div class='del'>-	offset = len - n;</div><div class='del'>-    }</div><div class='del'>-    return ary_make_partial(ary, rb_cArray, offset, n);</div><div class='add'>+    RARRAY(ary)-&gt;ptr[idx] = val;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary &lt;&lt; obj            -&gt; ary</div><div class='del'>- *</div><div class='add'>+ *     array &lt;&lt; obj            -&gt; array</div><div class='add'>+ *  </div><div class='ctx'>  *  Append---Pushes the given object on to the end of this array. This</div><div class='ctx'>  *  expression returns the array itself, so several appends</div><div class='ctx'>  *  may be chained together.</div><div class='ctx'>  *</div><div class='del'>- *     a = [ 1, 2 ]</div><div class='del'>- *     a &lt;&lt; "c" &lt;&lt; "d" &lt;&lt; [ 3, 4 ]</div><div class='del'>- *             #=&gt;  [ 1, 2, "c", "d", [ 3, 4 ] ]</div><div class='del'>- *     a</div><div class='add'>+ *     [ 1, 2 ] &lt;&lt; "c" &lt;&lt; "d" &lt;&lt; [ 3, 4 ]</div><div class='ctx'>  *             #=&gt;  [ 1, 2, "c", "d", [ 3, 4 ] ]</div><div class='ctx'>  *</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_push(VALUE ary, VALUE item)</div><div class='del'>-{</div><div class='del'>-    long idx = RARRAY_LEN((ary_verify(ary), ary));</div><div class='del'>-    VALUE target_ary = ary_ensure_room_for_push(ary, 1);</div><div class='del'>-    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-	RB_OBJ_WRITE(target_ary, &amp;ptr[idx], item);</div><div class='del'>-    });</div><div class='del'>-    ARY_SET_LEN(ary, idx + 1);</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_cat(VALUE ary, const VALUE *argv, long len)</div><div class='add'>+rb_ary_push(ary, item)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    VALUE item;</div><div class='ctx'> {</div><div class='del'>-    long oldlen = RARRAY_LEN(ary);</div><div class='del'>-    VALUE target_ary = ary_ensure_room_for_push(ary, len);</div><div class='del'>-    ary_memcpy0(ary, oldlen, len, argv, target_ary);</div><div class='del'>-    ARY_SET_LEN(ary, oldlen + len);</div><div class='add'>+    rb_ary_store(ary, RARRAY(ary)-&gt;len, item);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.push(obj, ...)    -&gt; ary</div><div class='del'>- *     ary.append(obj, ...)  -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Append --- Pushes the given object(s) on to the end of this array. This</div><div class='add'>+ *     array.push(obj, ... )   -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Append---Pushes the given object(s) on to the end of this array. This</div><div class='ctx'>  *  expression returns the array itself, so several appends</div><div class='del'>- *  may be chained together. See also Array#pop for the opposite</div><div class='del'>- *  effect.</div><div class='add'>+ *  may be chained together.</div><div class='ctx'>  *</div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='del'>- *     a.push("d", "e", "f")</div><div class='add'>+ *     a.push("d", "e", "f")  </div><div class='ctx'>  *             #=&gt; ["a", "b", "c", "d", "e", "f"]</div><div class='del'>- *     [1, 2, 3].push(4).push(5)</div><div class='del'>- *             #=&gt; [1, 2, 3, 4, 5]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_push_m(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    return rb_ary_cat(ary, argv, argc);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_pop(VALUE ary)</div><div class='add'>+rb_ary_push_m(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long n;</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    n = RARRAY_LEN(ary);</div><div class='del'>-    if (n == 0) return Qnil;</div><div class='del'>-    if (ARY_OWNS_HEAP_P(ary) &amp;&amp;</div><div class='del'>-	n * 3 &lt; ARY_CAPA(ary) &amp;&amp;</div><div class='del'>-	ARY_CAPA(ary) &gt; ARY_DEFAULT_SIZE)</div><div class='del'>-    {</div><div class='del'>-	ary_resize_capa(ary, n * 2);</div><div class='del'>-    }</div><div class='del'>-    --n;</div><div class='del'>-    ARY_SET_LEN(ary, n);</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return RARRAY_AREF(ary, n);</div><div class='add'>+    while (argc--) {</div><div class='add'>+	rb_ary_push(ary, *argv++);</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.pop    -&gt; obj or nil</div><div class='del'>- *     ary.pop(n) -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Removes the last element from +self+ and returns it, or</div><div class='del'>- *  +nil+ if the array is empty.</div><div class='del'>- *</div><div class='del'>- *  If a number +n+ is given, returns an array of the last +n+ elements</div><div class='del'>- *  (or less) just like &lt;code&gt;array.slice!(-n, n)&lt;/code&gt; does. See also</div><div class='del'>- *  Array#push for the opposite effect.</div><div class='del'>- *</div><div class='del'>- *     a = [ "a", "b", "c", "d" ]</div><div class='del'>- *     a.pop     #=&gt; "d"</div><div class='del'>- *     a.pop(2)  #=&gt; ["b", "c"]</div><div class='del'>- *     a         #=&gt; ["a"]</div><div class='add'>+ *     array.pop  -&gt; obj or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Removes the last element from &lt;i&gt;self&lt;/i&gt; and returns it, or</div><div class='add'>+ *  &lt;code&gt;nil&lt;/code&gt; if the array is empty.</div><div class='add'>+ *     </div><div class='add'>+ *     a = [ "a", "m", "z" ]</div><div class='add'>+ *     a.pop   #=&gt; "z"</div><div class='add'>+ *     a       #=&gt; ["a", "m"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_pop_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_pop(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE result;</div><div class='del'>-</div><div class='del'>-    if (argc == 0) {</div><div class='del'>-	return rb_ary_pop(ary);</div><div class='del'>-    }</div><div class='del'>-</div><div class='ctx'>     rb_ary_modify_check(ary);</div><div class='del'>-    result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);</div><div class='del'>-    ARY_INCREASE_LEN(ary, -RARRAY_LEN(result));</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return result;</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+    if (!FL_TEST(ary, ELTS_SHARED) &amp;&amp;</div><div class='add'>+	    RARRAY(ary)-&gt;len * 2 &lt; RARRAY(ary)-&gt;aux.capa &amp;&amp;</div><div class='add'>+	    RARRAY(ary)-&gt;aux.capa &gt; ARY_DEFAULT_SIZE) {</div><div class='add'>+	RARRAY(ary)-&gt;aux.capa = RARRAY(ary)-&gt;len * 2;</div><div class='add'>+	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;aux.capa);</div><div class='add'>+    }</div><div class='add'>+    return RARRAY(ary)-&gt;ptr[--RARRAY(ary)-&gt;len];</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_shift(VALUE ary)</div><div class='add'>+static VALUE</div><div class='add'>+ary_make_shared(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE top;</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    if (len == 0) return Qnil;</div><div class='del'>-    top = RARRAY_AREF(ary, 0);</div><div class='del'>-    if (!ARY_SHARED_P(ary)) {</div><div class='del'>-	if (len &lt; ARY_DEFAULT_SIZE) {</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-		MEMMOVE(ptr, ptr+1, VALUE, len-1);</div><div class='del'>-	    }); /* WB: no new reference */</div><div class='del'>-            ARY_INCREASE_LEN(ary, -1);</div><div class='del'>-            ary_verify(ary);</div><div class='del'>-	    return top;</div><div class='del'>-	}</div><div class='del'>-        assert(!ARY_EMBED_P(ary)); /* ARY_EMBED_LEN_MAX &lt; ARY_DEFAULT_SIZE */</div><div class='add'>+    if (!FL_TEST(ary, ELTS_SHARED)) {</div><div class='add'>+	NEWOBJ(shared, struct RArray);</div><div class='add'>+	OBJSETUP(shared, rb_cArray, T_ARRAY);</div><div class='ctx'> </div><div class='del'>-	ARY_SET(ary, 0, Qnil);</div><div class='del'>-	ary_make_shared(ary);</div><div class='add'>+	shared-&gt;len = RARRAY(ary)-&gt;len;</div><div class='add'>+	shared-&gt;ptr = RARRAY(ary)-&gt;ptr;</div><div class='add'>+	shared-&gt;aux.capa = RARRAY(ary)-&gt;aux.capa;</div><div class='add'>+	RARRAY(ary)-&gt;aux.shared = (VALUE)shared;</div><div class='add'>+	FL_SET(ary, ELTS_SHARED);</div><div class='add'>+	OBJ_FREEZE(shared);</div><div class='add'>+	return (VALUE)shared;</div><div class='ctx'>     }</div><div class='del'>-    else if (ARY_SHARED_OCCUPIED(ARY_SHARED(ary))) {</div><div class='del'>-        RARRAY_PTR_USE_TRANSIENT(ary, ptr, ptr[0] = Qnil);</div><div class='add'>+    else {</div><div class='add'>+	return RARRAY(ary)-&gt;aux.shared;</div><div class='ctx'>     }</div><div class='del'>-    ARY_INCREASE_PTR(ary, 1);		/* shift ptr */</div><div class='del'>-    ARY_INCREASE_LEN(ary, -1);</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-</div><div class='del'>-    return top;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.shift    -&gt; obj or nil</div><div class='del'>- *     ary.shift(n) -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Removes the first element of +self+ and returns it (shifting all</div><div class='del'>- *  other elements down by one). Returns +nil+ if the array</div><div class='add'>+ *     array.shift   -&gt;   obj or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the first element of &lt;i&gt;self&lt;/i&gt; and removes it (shifting all</div><div class='add'>+ *  other elements down by one). Returns &lt;code&gt;nil&lt;/code&gt; if the array</div><div class='ctx'>  *  is empty.</div><div class='del'>- *</div><div class='del'>- *  If a number +n+ is given, returns an array of the first +n+ elements</div><div class='del'>- *  (or less) just like &lt;code&gt;array.slice!(0, n)&lt;/code&gt; does. With +ary+</div><div class='del'>- *  containing only the remainder elements, not including what was shifted to</div><div class='del'>- *  +new_ary+. See also Array#unshift for the opposite effect.</div><div class='del'>- *</div><div class='del'>- *     args = [ "-m", "-q", "filename" ]</div><div class='del'>- *     args.shift     #=&gt; "-m"</div><div class='del'>- *     args           #=&gt; ["-q", "filename"]</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     args = [ "-m", "-q", "filename" ]</div><div class='del'>- *     args.shift(2)  #=&gt; ["-m", "-q"]</div><div class='del'>- *     args           #=&gt; ["filename"]</div><div class='add'>+ *     args.shift   #=&gt; "-m"</div><div class='add'>+ *     args         #=&gt; ["-q", "filename"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_shift_m(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE result;</div><div class='del'>-    long n;</div><div class='del'>-</div><div class='del'>-    if (argc == 0) {</div><div class='del'>-	return rb_ary_shift(ary);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);</div><div class='del'>-    n = RARRAY_LEN(result);</div><div class='del'>-    rb_ary_behead(ary,n);</div><div class='del'>-</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_ary_behead(VALUE ary, long n)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_shift(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if(n&lt;=0) return ary;</div><div class='add'>+    VALUE top;</div><div class='ctx'> </div><div class='ctx'>     rb_ary_modify_check(ary);</div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	if (ARY_SHARED_OCCUPIED(ARY_SHARED(ary))) {</div><div class='del'>-	  setup_occupied_shared:</div><div class='del'>-	    ary_mem_clear(ary, 0, n);</div><div class='del'>-	}</div><div class='del'>-        ARY_INCREASE_PTR(ary, n);</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+    top = RARRAY(ary)-&gt;ptr[0];</div><div class='add'>+    if (RARRAY_LEN(ary) &lt; ARY_DEFAULT_SIZE &amp;&amp; !FL_TEST(ary, ELTS_SHARED)) {</div><div class='add'>+	MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+1, VALUE, RARRAY_LEN(ary)-1);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	if (RARRAY_LEN(ary) &lt; ARY_DEFAULT_SIZE) {</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-                MEMMOVE(ptr, ptr+n, VALUE, RARRAY_LEN(ary)-n);</div><div class='del'>-	    }); /* WB: no new reference */</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ary_make_shared(ary);</div><div class='del'>-	    goto setup_occupied_shared;</div><div class='add'>+	if (!FL_TEST(ary, ELTS_SHARED)) {</div><div class='add'>+	    RARRAY(ary)-&gt;ptr[0] = Qnil;</div><div class='ctx'> 	}</div><div class='add'>+	ary_make_shared(ary);</div><div class='add'>+	RARRAY(ary)-&gt;ptr++;		/* shift ptr */</div><div class='ctx'>     }</div><div class='del'>-    ARY_INCREASE_LEN(ary, -n);</div><div class='add'>+    RARRAY(ary)-&gt;len--;</div><div class='ctx'> </div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return ary;</div><div class='add'>+    return top;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_ensure_room_for_unshift(VALUE ary, int argc)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_unshift(ary, item)</div><div class='add'>+    VALUE ary, item;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    long new_len = len + argc;</div><div class='del'>-    long capa;</div><div class='del'>-    const VALUE *head, *sharedp;</div><div class='del'>-</div><div class='del'>-    if (len &gt; ARY_MAX_SIZE - argc) {</div><div class='del'>-	rb_raise(rb_eIndexError, "index %ld too big", new_len);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	VALUE shared = ARY_SHARED(ary);</div><div class='del'>-	capa = RARRAY_LEN(shared);</div><div class='del'>-	if (ARY_SHARED_OCCUPIED(shared) &amp;&amp; capa &gt; new_len) {</div><div class='del'>-            head = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-            sharedp = RARRAY_CONST_PTR_TRANSIENT(shared);</div><div class='del'>-	    goto makeroom_if_need;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    capa = ARY_CAPA(ary);</div><div class='del'>-    if (capa - (capa &gt;&gt; 6) &lt;= new_len) {</div><div class='del'>-	ary_double_capa(ary, new_len);</div><div class='add'>+    if (RARRAY(ary)-&gt;len == RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	long capa_inc = RARRAY(ary)-&gt;aux.capa / 2;</div><div class='add'>+	if (capa_inc &lt; ARY_DEFAULT_SIZE) {</div><div class='add'>+	    capa_inc = ARY_DEFAULT_SIZE;</div><div class='add'>+	}</div><div class='add'>+	RARRAY(ary)-&gt;aux.capa += capa_inc;</div><div class='add'>+	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;aux.capa);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    /* use shared array for big "queues" */</div><div class='del'>-    if (new_len &gt; ARY_DEFAULT_SIZE * 4) {</div><div class='del'>-        ary_verify(ary);</div><div class='del'>-</div><div class='del'>-        /* make a room for unshifted items */</div><div class='del'>-	capa = ARY_CAPA(ary);</div><div class='del'>-	ary_make_shared(ary);</div><div class='del'>-</div><div class='del'>-        head = sharedp = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-	goto makeroom;</div><div class='del'>-      makeroom_if_need:</div><div class='del'>-	if (head - sharedp &lt; argc) {</div><div class='del'>-	    long room;</div><div class='del'>-	  makeroom:</div><div class='del'>-	    room = capa - new_len;</div><div class='del'>-	    room -= room &gt;&gt; 4;</div><div class='del'>-	    MEMMOVE((VALUE *)sharedp + argc + room, head, VALUE, len);</div><div class='del'>-	    head = sharedp + argc + room;</div><div class='del'>-	}</div><div class='del'>-	ARY_SET_PTR(ary, head - argc);</div><div class='del'>-	assert(ARY_SHARED_OCCUPIED(ARY_SHARED(ary)));</div><div class='add'>+    /* sliding items */</div><div class='add'>+    MEMMOVE(RARRAY(ary)-&gt;ptr + 1, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='ctx'> </div><div class='del'>-        ary_verify(ary);</div><div class='del'>-	return ARY_SHARED(ary);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* sliding items */</div><div class='del'>-        RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-	    MEMMOVE(ptr + argc, ptr, VALUE, len);</div><div class='del'>-	});</div><div class='add'>+    RARRAY(ary)-&gt;len++;</div><div class='add'>+    RARRAY(ary)-&gt;ptr[0] = item;</div><div class='ctx'> </div><div class='del'>-        ary_verify(ary);</div><div class='del'>-	return ary;</div><div class='del'>-    }</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.unshift(obj, ...)  -&gt; ary</div><div class='del'>- *     ary.prepend(obj, ...)  -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Prepends objects to the front of +self+, moving other elements upwards.</div><div class='del'>- *  See also Array#shift for the opposite effect.</div><div class='del'>- *</div><div class='add'>+ *     array.unshift(obj, ...)  -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Prepends objects to the front of &lt;i&gt;array&lt;/i&gt;.</div><div class='add'>+ *  other elements up one.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "b", "c", "d" ]</div><div class='ctx'>  *     a.unshift("a")   #=&gt; ["a", "b", "c", "d"]</div><div class='ctx'>  *     a.unshift(1, 2)  #=&gt; [ 1, 2, "a", "b", "c", "d"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_unshift_m(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    VALUE target_ary;</div><div class='add'>+    long len = RARRAY(ary)-&gt;len;</div><div class='ctx'> </div><div class='del'>-    if (argc == 0) {</div><div class='del'>-	rb_ary_modify_check(ary);</div><div class='del'>-	return ary;</div><div class='del'>-    }</div><div class='add'>+    if (argc == 0) return ary;</div><div class='ctx'> </div><div class='del'>-    target_ary = ary_ensure_room_for_unshift(ary, argc);</div><div class='del'>-    ary_memcpy0(ary, 0, argc, argv, target_ary);</div><div class='del'>-    ARY_SET_LEN(ary, len + argc);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='add'>+    /* make rooms by setting the last item */</div><div class='add'>+    rb_ary_store(ary, len + argc - 1, Qnil);</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_unshift(VALUE ary, VALUE item)</div><div class='del'>-{</div><div class='del'>-    return rb_ary_unshift_m(1,&amp;item,ary);</div><div class='add'>+    /* sliding items */</div><div class='add'>+    MEMMOVE(RARRAY(ary)-&gt;ptr + argc, RARRAY(ary)-&gt;ptr, VALUE, len);</div><div class='add'>+    MEMCPY(RARRAY(ary)-&gt;ptr, argv, VALUE, argc);</div><div class='add'>+    </div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /* faster version - use this if you don't need to treat negative offset */</div><div class='ctx'> static inline VALUE</div><div class='del'>-rb_ary_elt(VALUE ary, long offset)</div><div class='add'>+rb_ary_elt(ary, offset)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long offset;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    if (len == 0) return Qnil;</div><div class='del'>-    if (offset &lt; 0 || len &lt;= offset) {</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+    if (offset &lt; 0 || RARRAY(ary)-&gt;len &lt;= offset) {</div><div class='ctx'> 	return Qnil;</div><div class='ctx'>     }</div><div class='del'>-    return RARRAY_AREF(ary, offset);</div><div class='add'>+    return RARRAY(ary)-&gt;ptr[offset];</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_entry(VALUE ary, long offset)</div><div class='add'>+rb_ary_entry(ary, offset)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long offset;</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_entry_internal(ary, offset);</div><div class='add'>+    if (offset &lt; 0) {</div><div class='add'>+	offset += RARRAY(ary)-&gt;len;</div><div class='add'>+    }</div><div class='add'>+    return rb_ary_elt(ary, offset);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_subseq(VALUE ary, long beg, long len)</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_subseq(ary, beg, len)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long beg, len;</div><div class='ctx'> {</div><div class='del'>-    VALUE klass;</div><div class='del'>-    long alen = RARRAY_LEN(ary);</div><div class='add'>+    VALUE klass, ary2, shared;</div><div class='add'>+    VALUE *ptr;</div><div class='ctx'> </div><div class='del'>-    if (beg &gt; alen) return Qnil;</div><div class='add'>+    if (beg &gt; RARRAY(ary)-&gt;len) return Qnil;</div><div class='ctx'>     if (beg &lt; 0 || len &lt; 0) return Qnil;</div><div class='ctx'> </div><div class='del'>-    if (alen &lt; len || alen &lt; beg + len) {</div><div class='del'>-	len = alen - beg;</div><div class='add'>+    if (beg + len &gt; RARRAY(ary)-&gt;len) {</div><div class='add'>+	len = RARRAY(ary)-&gt;len - beg;</div><div class='add'>+	if (len &lt; 0)</div><div class='add'>+	    len = 0;</div><div class='ctx'>     }</div><div class='ctx'>     klass = rb_obj_class(ary);</div><div class='ctx'>     if (len == 0) return ary_new(klass, 0);</div><div class='ctx'> </div><div class='del'>-    return ary_make_partial(ary, klass, beg, len);</div><div class='add'>+    shared = ary_make_shared(ary);</div><div class='add'>+    ptr = RARRAY(ary)-&gt;ptr;</div><div class='add'>+    ary2 = ary_alloc(klass);</div><div class='add'>+    RARRAY(ary2)-&gt;ptr = ptr + beg;</div><div class='add'>+    RARRAY(ary2)-&gt;len = len;</div><div class='add'>+    RARRAY(ary2)-&gt;aux.shared = shared;</div><div class='add'>+    FL_SET(ary2, ELTS_SHARED);</div><div class='add'>+</div><div class='add'>+    return ary2;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary[index]                -&gt; obj     or nil</div><div class='del'>- *     ary[start, length]        -&gt; new_ary or nil</div><div class='del'>- *     ary[range]                -&gt; new_ary or nil</div><div class='del'>- *     ary.slice(index)          -&gt; obj     or nil</div><div class='del'>- *     ary.slice(start, length)  -&gt; new_ary or nil</div><div class='del'>- *     ary.slice(range)          -&gt; new_ary or nil</div><div class='add'>+ *     array[index]                -&gt; obj      or nil</div><div class='add'>+ *     array[start, length]        -&gt; an_array or nil</div><div class='add'>+ *     array[range]                -&gt; an_array or nil</div><div class='add'>+ *     array.slice(index)          -&gt; obj      or nil</div><div class='add'>+ *     array.slice(start, length)  -&gt; an_array or nil</div><div class='add'>+ *     array.slice(range)          -&gt; an_array or nil</div><div class='ctx'>  *</div><div class='del'>- *  Element Reference --- Returns the element at +index+, or returns a</div><div class='del'>- *  subarray starting at the +start+ index and continuing for +length+</div><div class='del'>- *  elements, or returns a subarray specified by +range+ of indices.</div><div class='del'>- *</div><div class='del'>- *  Negative indices count backward from the end of the array (-1 is the last</div><div class='del'>- *  element).  For +start+ and +range+ cases the starting index is just before</div><div class='del'>- *  an element.  Additionally, an empty array is returned when the starting</div><div class='del'>- *  index for an element range is at the end of the array.</div><div class='del'>- *</div><div class='del'>- *  Returns +nil+ if the index (or starting index) are out of range.</div><div class='add'>+ *  Element Reference---Returns the element at _index_,</div><div class='add'>+ *  or returns a subarray starting at _start_ and</div><div class='add'>+ *  continuing for _length_ elements, or returns a subarray</div><div class='add'>+ *  specified by _range_.</div><div class='add'>+ *  Negative indices count backward from the end of the</div><div class='add'>+ *  array (-1 is the last element). Returns nil if the index</div><div class='add'>+ *  (or starting index) are out of range.</div><div class='ctx'>  *</div><div class='ctx'>  *     a = [ "a", "b", "c", "d", "e" ]</div><div class='ctx'>  *     a[2] +  a[0] + a[1]    #=&gt; "cab"</div><div class='hunk'>@@ -1518,44 +652,44 @@ rb_ary_subseq(VALUE ary, long beg, long len)</div><div class='ctx'>  *     a[-3, 3]               #=&gt; [ "c", "d", "e" ]</div><div class='ctx'>  *     # special cases</div><div class='ctx'>  *     a[5]                   #=&gt; nil</div><div class='del'>- *     a[6, 1]                #=&gt; nil</div><div class='ctx'>  *     a[5, 1]                #=&gt; []</div><div class='ctx'>  *     a[5..10]               #=&gt; []</div><div class='ctx'>  *</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_aref(int argc, const VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_aref(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    rb_check_arity(argc, 1, 2);</div><div class='add'>+    VALUE arg;</div><div class='add'>+    long beg, len;</div><div class='add'>+</div><div class='ctx'>     if (argc == 2) {</div><div class='del'>-	return rb_ary_aref2(ary, argv[0], argv[1]);</div><div class='add'>+	if (SYMBOL_P(argv[0])) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "Symbol as array index");</div><div class='add'>+	}</div><div class='add'>+	beg = NUM2LONG(argv[0]);</div><div class='add'>+	len = NUM2LONG(argv[1]);</div><div class='add'>+	if (beg &lt; 0) {</div><div class='add'>+	    beg += RARRAY(ary)-&gt;len;</div><div class='add'>+	}</div><div class='add'>+	return rb_ary_subseq(ary, beg, len);</div><div class='ctx'>     }</div><div class='del'>-    return rb_ary_aref1(ary, argv[0]);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_aref2(VALUE ary, VALUE b, VALUE e)</div><div class='del'>-{</div><div class='del'>-    long beg = NUM2LONG(b);</div><div class='del'>-    long len = NUM2LONG(e);</div><div class='del'>-    if (beg &lt; 0) {</div><div class='del'>-	beg += RARRAY_LEN(ary);</div><div class='add'>+    if (argc != 1) {</div><div class='add'>+	rb_scan_args(argc, argv, "11", 0, 0);</div><div class='ctx'>     }</div><div class='del'>-    return rb_ary_subseq(ary, beg, len);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_ary_aref1(VALUE ary, VALUE arg)</div><div class='del'>-{</div><div class='del'>-    long beg, len;</div><div class='del'>-</div><div class='add'>+    arg = argv[0];</div><div class='ctx'>     /* special case - speeding up */</div><div class='ctx'>     if (FIXNUM_P(arg)) {</div><div class='ctx'> 	return rb_ary_entry(ary, FIX2LONG(arg));</div><div class='ctx'>     }</div><div class='add'>+    if (SYMBOL_P(arg)) {</div><div class='add'>+	rb_raise(rb_eTypeError, "Symbol as array index");</div><div class='add'>+    }</div><div class='ctx'>     /* check if idx is Range */</div><div class='del'>-    switch (rb_range_beg_len(arg, &amp;beg, &amp;len, RARRAY_LEN(ary), 0)) {</div><div class='add'>+    switch (rb_range_beg_len(arg, &amp;beg, &amp;len, RARRAY(ary)-&gt;len, 0)) {</div><div class='ctx'>       case Qfalse:</div><div class='ctx'> 	break;</div><div class='ctx'>       case Qnil:</div><div class='hunk'>@@ -1566,106 +700,129 @@ rb_ary_aref1(VALUE ary, VALUE arg)</div><div class='ctx'>     return rb_ary_entry(ary, NUM2LONG(arg));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.at(index)   -&gt;   obj  or nil</div><div class='add'>+ *     array.at(index)   -&gt;   obj  or nil</div><div class='ctx'>  *</div><div class='del'>- *  Returns the element at +index+. A negative index counts from the end of</div><div class='del'>- *  +self+. Returns +nil+ if the index is out of range. See also</div><div class='del'>- *  Array#[].</div><div class='add'>+ *  Returns the element at _index_. A</div><div class='add'>+ *  negative index counts from the end of _self_.  Returns +nil+</div><div class='add'>+ *  if the index is out of range. See also &lt;code&gt;Array#[]&lt;/code&gt;.</div><div class='add'>+ *  (&lt;code&gt;Array#at&lt;/code&gt; is slightly faster than &lt;code&gt;Array#[]&lt;/code&gt;,</div><div class='add'>+ *  as it does not accept ranges and so on.)</div><div class='ctx'>  *</div><div class='ctx'>  *     a = [ "a", "b", "c", "d", "e" ]</div><div class='ctx'>  *     a.at(0)     #=&gt; "a"</div><div class='ctx'>  *     a.at(-1)    #=&gt; "e"</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_at(VALUE ary, VALUE pos)</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_at(ary, pos)</div><div class='add'>+    VALUE ary, pos;</div><div class='ctx'> {</div><div class='ctx'>     return rb_ary_entry(ary, NUM2LONG(pos));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.first     -&gt;   obj or nil</div><div class='del'>- *     ary.first(n)  -&gt;   new_ary</div><div class='add'>+ *     array.first   -&gt;   obj or nil</div><div class='add'>+ *     array.first(n) -&gt; an_array</div><div class='ctx'>  *</div><div class='ctx'>  *  Returns the first element, or the first +n+ elements, of the array.</div><div class='del'>- *  If the array is empty, the first form returns +nil+, and the</div><div class='del'>- *  second form returns an empty array. See also Array#last for</div><div class='del'>- *  the opposite effect.</div><div class='add'>+ *  If the array is empty, the first form returns &lt;code&gt;nil&lt;/code&gt;, and the</div><div class='add'>+ *  second form returns an empty array.</div><div class='ctx'>  *</div><div class='ctx'>  *     a = [ "q", "r", "s", "t" ]</div><div class='del'>- *     a.first     #=&gt; "q"</div><div class='del'>- *     a.first(2)  #=&gt; ["q", "r"]</div><div class='add'>+ *     a.first    #=&gt; "q"</div><div class='add'>+ *     a.first(1) #=&gt; ["q"]</div><div class='add'>+ *     a.first(3) #=&gt; ["q", "r", "s"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_first(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_first(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     if (argc == 0) {</div><div class='del'>-	if (RARRAY_LEN(ary) == 0) return Qnil;</div><div class='del'>-	return RARRAY_AREF(ary, 0);</div><div class='add'>+	if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+	return RARRAY(ary)-&gt;ptr[0];</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);</div><div class='add'>+	VALUE nv, result;</div><div class='add'>+	long n, i;</div><div class='add'>+</div><div class='add'>+	rb_scan_args(argc, argv, "01", &amp;nv);</div><div class='add'>+	n = NUM2LONG(nv);</div><div class='add'>+	if (n &gt; RARRAY(ary)-&gt;len) n = RARRAY(ary)-&gt;len;</div><div class='add'>+	result = rb_ary_new2(n);</div><div class='add'>+	for (i=0; i&lt;n; i++) {</div><div class='add'>+	    rb_ary_push(result, RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+	}</div><div class='add'>+	return result;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.last     -&gt;  obj or nil</div><div class='del'>- *     ary.last(n)  -&gt;  new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns the last element(s) of +self+. If the array is empty,</div><div class='del'>- *  the first form returns +nil+.</div><div class='del'>- *</div><div class='del'>- *  See also Array#first for the opposite effect.</div><div class='del'>- *</div><div class='del'>- *     a = [ "w", "x", "y", "z" ]</div><div class='del'>- *     a.last     #=&gt; "z"</div><div class='del'>- *     a.last(2)  #=&gt; ["y", "z"]</div><div class='add'>+ *     array.last     -&gt;  obj or nil</div><div class='add'>+ *     array.last(n)  -&gt;  an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the last element(s) of &lt;i&gt;self&lt;/i&gt;. If the array is empty,</div><div class='add'>+ *  the first form returns &lt;code&gt;nil&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     [ "w", "x", "y", "z" ].last   #=&gt; "z"</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_last(int argc, const VALUE *argv, VALUE ary)</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_last(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     if (argc == 0) {</div><div class='del'>-	long len = RARRAY_LEN(ary);</div><div class='del'>-	if (len == 0) return Qnil;</div><div class='del'>-	return RARRAY_AREF(ary, len-1);</div><div class='add'>+	if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+	return RARRAY(ary)-&gt;ptr[RARRAY(ary)-&gt;len-1];</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);</div><div class='add'>+	VALUE nv, result;</div><div class='add'>+	long n, i;</div><div class='add'>+</div><div class='add'>+	rb_scan_args(argc, argv, "01", &amp;nv);</div><div class='add'>+	n = NUM2LONG(nv);</div><div class='add'>+	if (n &gt; RARRAY(ary)-&gt;len) n = RARRAY(ary)-&gt;len;</div><div class='add'>+	result = rb_ary_new2(n);</div><div class='add'>+	for (i=RARRAY(ary)-&gt;len-n; n--; i++) {</div><div class='add'>+	    rb_ary_push(result, RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+	}</div><div class='add'>+	return result;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.fetch(index)                    -&gt; obj</div><div class='del'>- *     ary.fetch(index, default)           -&gt; obj</div><div class='del'>- *     ary.fetch(index) {|index| block}    -&gt; obj</div><div class='del'>- *</div><div class='del'>- *  Tries to return the element at position +index+, but throws an IndexError</div><div class='del'>- *  exception if the referenced +index+ lies outside of the array bounds.  This</div><div class='del'>- *  error can be prevented by supplying a second argument, which will act as a</div><div class='del'>- *  +default+ value.</div><div class='del'>- *</div><div class='del'>- *  Alternatively, if a block is given it will only be executed when an</div><div class='del'>- *  invalid +index+ is referenced.</div><div class='del'>- *</div><div class='del'>- *  Negative values of +index+ count from the end of the array.</div><div class='del'>- *</div><div class='add'>+ *     array.fetch(index)                    -&gt; obj</div><div class='add'>+ *     array.fetch(index, default )          -&gt; obj</div><div class='add'>+ *     array.fetch(index) {|index| block }   -&gt; obj</div><div class='add'>+ *  </div><div class='add'>+ *  Tries to return the element at position &lt;i&gt;index&lt;/i&gt;. If the index</div><div class='add'>+ *  lies outside the array, the first form throws an</div><div class='add'>+ *  &lt;code&gt;IndexError&lt;/code&gt; exception, the second form returns</div><div class='add'>+ *  &lt;i&gt;default&lt;/i&gt;, and the third form returns the value of invoking</div><div class='add'>+ *  the block, passing in the index. Negative values of &lt;i&gt;index&lt;/i&gt;</div><div class='add'>+ *  count from the end of the array.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ 11, 22, 33, 44 ]</div><div class='ctx'>  *     a.fetch(1)               #=&gt; 22</div><div class='ctx'>  *     a.fetch(-1)              #=&gt; 44</div><div class='ctx'>  *     a.fetch(4, 'cat')        #=&gt; "cat"</div><div class='del'>- *     a.fetch(100) {|i| puts "#{i} is out of bounds"}</div><div class='del'>- *                              #=&gt; "100 is out of bounds"</div><div class='add'>+ *     a.fetch(4) { |i| i*i }   #=&gt; 16</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_fetch(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_fetch(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     VALUE pos, ifnone;</div><div class='ctx'>     long block_given;</div><div class='hunk'>@@ -1679,284 +836,198 @@ rb_ary_fetch(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'>     idx = NUM2LONG(pos);</div><div class='ctx'> </div><div class='ctx'>     if (idx &lt; 0) {</div><div class='del'>-	idx +=  RARRAY_LEN(ary);</div><div class='add'>+	idx +=  RARRAY(ary)-&gt;len;</div><div class='ctx'>     }</div><div class='del'>-    if (idx &lt; 0 || RARRAY_LEN(ary) &lt;= idx) {</div><div class='add'>+    if (idx &lt; 0 || RARRAY(ary)-&gt;len &lt;= idx) {</div><div class='ctx'> 	if (block_given) return rb_yield(pos);</div><div class='ctx'> 	if (argc == 1) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %ld outside of array bounds: %ld...%ld",</div><div class='del'>-			idx - (idx &lt; 0 ? RARRAY_LEN(ary) : 0), -RARRAY_LEN(ary), RARRAY_LEN(ary));</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld out of array", idx);</div><div class='ctx'> 	}</div><div class='ctx'> 	return ifnone;</div><div class='ctx'>     }</div><div class='del'>-    return RARRAY_AREF(ary, idx);</div><div class='add'>+    return RARRAY(ary)-&gt;ptr[idx];</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.find_index(obj)             -&gt;  int or nil</div><div class='del'>- *     ary.find_index {|item| block}  -&gt;  int or nil</div><div class='del'>- *     ary.find_index                  -&gt;  Enumerator</div><div class='del'>- *     ary.index(obj)             -&gt;  int or nil</div><div class='del'>- *     ary.index {|item| block}   -&gt;  int or nil</div><div class='del'>- *     ary.index                  -&gt;  Enumerator</div><div class='del'>- *</div><div class='del'>- *  Returns the _index_ of the first object in +ary+ such that the object is</div><div class='del'>- *  &lt;code&gt;==&lt;/code&gt; to +obj+.</div><div class='del'>- *</div><div class='del'>- *  If a block is given instead of an argument, returns the _index_ of the</div><div class='del'>- *  first object for which the block returns +true+.  Returns +nil+ if no</div><div class='del'>- *  match is found.</div><div class='del'>- *</div><div class='del'>- *  See also Array#rindex.</div><div class='del'>- *</div><div class='del'>- *  An Enumerator is returned if neither a block nor argument is given.</div><div class='del'>- *</div><div class='add'>+ *     array.index(obj)   -&gt;  int or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the index of the first object in &lt;i&gt;self&lt;/i&gt; such that is </div><div class='add'>+ *  &lt;code&gt;==&lt;/code&gt; to &lt;i&gt;obj&lt;/i&gt;. Returns &lt;code&gt;nil&lt;/code&gt; if</div><div class='add'>+ *  no match is found.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='del'>- *     a.index("b")              #=&gt; 1</div><div class='del'>- *     a.index("z")              #=&gt; nil</div><div class='del'>- *     a.index {|x| x == "b"}    #=&gt; 1</div><div class='add'>+ *     a.index("b")   #=&gt; 1</div><div class='add'>+ *     a.index("z")   #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_index(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='add'>+rb_ary_index(ary, val)</div><div class='add'>+    VALUE ary;</div><div class='ctx'>     VALUE val;</div><div class='add'>+{</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    if (argc == 0) {</div><div class='del'>-	RETURN_ENUMERATOR(ary, 0, 0);</div><div class='del'>-	for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	    if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {</div><div class='del'>-		return LONG2NUM(i);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	return Qnil;</div><div class='del'>-    }</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    val = argv[0];</div><div class='del'>-    if (rb_block_given_p())</div><div class='del'>-	rb_warn("given block not used");</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	VALUE e = RARRAY_AREF(ary, i);</div><div class='del'>-	if (rb_equal(e, val)) {</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	if (rb_equal(RARRAY(ary)-&gt;ptr[i], val))</div><div class='ctx'> 	    return LONG2NUM(i);</div><div class='del'>-	}</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.rindex(obj)             -&gt;  int or nil</div><div class='del'>- *     ary.rindex {|item| block}   -&gt;  int or nil</div><div class='del'>- *     ary.rindex                  -&gt;  Enumerator</div><div class='del'>- *</div><div class='del'>- *  Returns the _index_ of the last object in +self+ &lt;code&gt;==&lt;/code&gt; to +obj+.</div><div class='del'>- *</div><div class='del'>- *  If a block is given instead of an argument, returns the _index_ of the</div><div class='del'>- *  first object for which the block returns +true+, starting from the last</div><div class='del'>- *  object.</div><div class='del'>- *</div><div class='del'>- *  Returns +nil+ if no match is found.</div><div class='del'>- *</div><div class='del'>- *  See also Array#index.</div><div class='del'>- *</div><div class='del'>- *  If neither block nor argument is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='add'>+ *     array.rindex(obj)    -&gt;  int or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the index of the last object in &lt;i&gt;array&lt;/i&gt; </div><div class='add'>+ *  &lt;code&gt;==&lt;/code&gt; to &lt;i&gt;obj&lt;/i&gt;. Returns &lt;code&gt;nil&lt;/code&gt; if</div><div class='add'>+ *  no match is found.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "b", "b", "c" ]</div><div class='del'>- *     a.rindex("b")             #=&gt; 3</div><div class='del'>- *     a.rindex("z")             #=&gt; nil</div><div class='del'>- *     a.rindex {|x| x == "b"}   #=&gt; 3</div><div class='add'>+ *     a.rindex("b")   #=&gt; 3</div><div class='add'>+ *     a.rindex("z")   #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_rindex(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='add'>+rb_ary_rindex(ary, val)</div><div class='add'>+    VALUE ary;</div><div class='ctx'>     VALUE val;</div><div class='del'>-    long i = RARRAY_LEN(ary), len;</div><div class='add'>+{</div><div class='add'>+    long i = RARRAY(ary)-&gt;len;</div><div class='ctx'> </div><div class='del'>-    if (argc == 0) {</div><div class='del'>-	RETURN_ENUMERATOR(ary, 0, 0);</div><div class='del'>-	while (i--) {</div><div class='del'>-	    if (RTEST(rb_yield(RARRAY_AREF(ary, i))))</div><div class='del'>-		return LONG2NUM(i);</div><div class='del'>-	    if (i &gt; (len = RARRAY_LEN(ary))) {</div><div class='del'>-		i = len;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	return Qnil;</div><div class='del'>-    }</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    val = argv[0];</div><div class='del'>-    if (rb_block_given_p())</div><div class='del'>-	rb_warn("given block not used");</div><div class='ctx'>     while (i--) {</div><div class='del'>-	VALUE e = RARRAY_AREF(ary, i);</div><div class='del'>-	if (rb_equal(e, val)) {</div><div class='del'>-	    return LONG2NUM(i);</div><div class='add'>+	if (i &gt; RARRAY(ary)-&gt;len) {</div><div class='add'>+	    i = RARRAY(ary)-&gt;len;</div><div class='add'>+	    continue;</div><div class='ctx'> 	}</div><div class='add'>+	if (rb_equal(RARRAY(ary)-&gt;ptr[i], val))</div><div class='add'>+	    return LONG2NUM(i);</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_to_ary(VALUE obj)</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     array.indexes( i1, i2, ... iN )   -&gt; an_array</div><div class='add'>+ *     array.indices( i1, i2, ... iN )   -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Deprecated; use &lt;code&gt;Array#values_at&lt;/code&gt;.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_indexes(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE tmp = rb_check_array_type(obj);</div><div class='add'>+    VALUE new_ary;</div><div class='add'>+    long i;</div><div class='ctx'> </div><div class='del'>-    if (!NIL_P(tmp)) return tmp;</div><div class='add'>+    rb_warn("Array#%s is deprecated; use Array#values_at", rb_id2name(rb_frame_last_func()));</div><div class='add'>+    new_ary = rb_ary_new2(argc);</div><div class='add'>+    for (i=0; i&lt;argc; i++) {</div><div class='add'>+	rb_ary_push(new_ary, rb_ary_aref(1, argv+i, ary));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return new_ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_to_ary(obj)</div><div class='add'>+    VALUE obj;</div><div class='add'>+{</div><div class='add'>+    if (TYPE(obj) == T_ARRAY) {</div><div class='add'>+	return obj;</div><div class='add'>+    }</div><div class='add'>+    if (rb_respond_to(obj, rb_intern("to_ary"))) {</div><div class='add'>+	return rb_convert_type(obj, T_ARRAY, "Array", "to_ary");</div><div class='add'>+    }</div><div class='ctx'>     return rb_ary_new3(1, obj);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-rb_ary_splice(VALUE ary, long beg, long len, const VALUE *rptr, long rlen)</div><div class='add'>+rb_ary_splice(ary, beg, len, rpl)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long beg, len;</div><div class='add'>+    VALUE rpl;</div><div class='ctx'> {</div><div class='del'>-    long olen;</div><div class='del'>-    long rofs;</div><div class='add'>+    long rlen;</div><div class='ctx'> </div><div class='ctx'>     if (len &lt; 0) rb_raise(rb_eIndexError, "negative length (%ld)", len);</div><div class='del'>-    olen = RARRAY_LEN(ary);</div><div class='ctx'>     if (beg &lt; 0) {</div><div class='del'>-	beg += olen;</div><div class='add'>+	beg += RARRAY(ary)-&gt;len;</div><div class='ctx'> 	if (beg &lt; 0) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",</div><div class='del'>-		     beg - olen, -olen);</div><div class='add'>+	    beg -= RARRAY(ary)-&gt;len;</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld out of array", beg);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    if (olen &lt; len || olen &lt; beg + len) {</div><div class='del'>-	len = olen - beg;</div><div class='add'>+    if (beg + len &gt; RARRAY(ary)-&gt;len) {</div><div class='add'>+	len = RARRAY(ary)-&gt;len - beg;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    {</div><div class='del'>-        const VALUE *optr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-	rofs = (rptr &gt;= optr &amp;&amp; rptr &lt; optr + olen) ? rptr - optr : -1;</div><div class='add'>+    if (NIL_P(rpl)) {</div><div class='add'>+	rlen = 0;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	rpl = rb_ary_to_ary(rpl);</div><div class='add'>+	rlen = RARRAY(rpl)-&gt;len;</div><div class='ctx'>     }</div><div class='add'>+    rb_ary_modify(ary);</div><div class='ctx'> </div><div class='del'>-    if (beg &gt;= olen) {</div><div class='del'>-	VALUE target_ary;</div><div class='del'>-	if (beg &gt; ARY_MAX_SIZE - rlen) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %ld too big", beg);</div><div class='del'>-	}</div><div class='del'>-	target_ary = ary_ensure_room_for_push(ary, rlen-len); /* len is 0 or negative */</div><div class='add'>+    if (beg &gt;= RARRAY(ary)-&gt;len) {</div><div class='ctx'> 	len = beg + rlen;</div><div class='del'>-	ary_mem_clear(ary, olen, beg - olen);</div><div class='add'>+	if (len &gt;= RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, len);</div><div class='add'>+	    RARRAY(ary)-&gt;aux.capa = len;</div><div class='add'>+	}</div><div class='add'>+	rb_mem_clear(RARRAY(ary)-&gt;ptr + RARRAY(ary)-&gt;len, beg - RARRAY(ary)-&gt;len);</div><div class='ctx'> 	if (rlen &gt; 0) {</div><div class='del'>-            if (rofs != -1) rptr = RARRAY_CONST_PTR_TRANSIENT(ary) + rofs;</div><div class='del'>-	    ary_memcpy0(ary, beg, rlen, rptr, target_ary);</div><div class='add'>+	    MEMCPY(RARRAY(ary)-&gt;ptr + beg, RARRAY(rpl)-&gt;ptr, VALUE, rlen);</div><div class='ctx'> 	}</div><div class='del'>-	ARY_SET_LEN(ary, len);</div><div class='add'>+	RARRAY(ary)-&gt;len = len;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='ctx'> 	long alen;</div><div class='ctx'> </div><div class='del'>-	if (olen - len &gt; ARY_MAX_SIZE - rlen) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %ld too big", olen + rlen - len);</div><div class='add'>+	if (beg + len &gt; RARRAY(ary)-&gt;len) {</div><div class='add'>+	    len = RARRAY(ary)-&gt;len - beg;</div><div class='ctx'> 	}</div><div class='del'>-	rb_ary_modify(ary);</div><div class='del'>-	alen = olen + rlen - len;</div><div class='del'>-	if (alen &gt;= ARY_CAPA(ary)) {</div><div class='del'>-	    ary_double_capa(ary, alen);</div><div class='add'>+</div><div class='add'>+	alen = RARRAY(ary)-&gt;len + rlen - len;</div><div class='add'>+	if (alen &gt;= RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, alen);</div><div class='add'>+	    RARRAY(ary)-&gt;aux.capa = alen;</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='ctx'> 	if (len != rlen) {</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr,</div><div class='del'>-                                     MEMMOVE(ptr + beg + rlen, ptr + beg + len,</div><div class='del'>-                                             VALUE, olen - (beg + len)));</div><div class='del'>-	    ARY_SET_LEN(ary, alen);</div><div class='add'>+	    MEMMOVE(RARRAY(ary)-&gt;ptr + beg + rlen, RARRAY(ary)-&gt;ptr + beg + len,</div><div class='add'>+		    VALUE, RARRAY(ary)-&gt;len - (beg + len));</div><div class='add'>+	    RARRAY(ary)-&gt;len = alen;</div><div class='ctx'> 	}</div><div class='ctx'> 	if (rlen &gt; 0) {</div><div class='del'>-            if (rofs != -1) rptr = RARRAY_CONST_PTR_TRANSIENT(ary) + rofs;</div><div class='del'>-            /* give up wb-protected ary */</div><div class='del'>-	    MEMMOVE(RARRAY_PTR(ary) + beg, rptr, VALUE, rlen);</div><div class='add'>+	    MEMMOVE(RARRAY(ary)-&gt;ptr + beg, RARRAY(rpl)-&gt;ptr, VALUE, rlen);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-void</div><div class='del'>-rb_ary_set_len(VALUE ary, long len)</div><div class='del'>-{</div><div class='del'>-    long capa;</div><div class='del'>-</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "can't set length of shared ");</div><div class='del'>-    }</div><div class='del'>-    if (len &gt; (capa = (long)ARY_CAPA(ary))) {</div><div class='del'>-	rb_bug("probable buffer overflow: %ld for %ld", len, capa);</div><div class='del'>-    }</div><div class='del'>-    ARY_SET_LEN(ary, len);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * expands or shrinks \a ary to \a len elements.</div><div class='del'>- * expanded region will be filled with Qnil.</div><div class='del'>- * \param ary  an array</div><div class='del'>- * \param len  new size</div><div class='del'>- * \return     \a ary</div><div class='del'>- * \post       the size of \a ary is \a len.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_resize(VALUE ary, long len)</div><div class='del'>-{</div><div class='del'>-    long olen;</div><div class='del'>-</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    olen = RARRAY_LEN(ary);</div><div class='del'>-    if (len == olen) return ary;</div><div class='del'>-    if (len &gt; ARY_MAX_SIZE) {</div><div class='del'>-	rb_raise(rb_eIndexError, "index %ld too big", len);</div><div class='del'>-    }</div><div class='del'>-    if (len &gt; olen) {</div><div class='del'>-	if (len &gt;= ARY_CAPA(ary)) {</div><div class='del'>-	    ary_double_capa(ary, len);</div><div class='del'>-	}</div><div class='del'>-	ary_mem_clear(ary, olen, len - olen);</div><div class='del'>-	ARY_SET_LEN(ary, len);</div><div class='del'>-    }</div><div class='del'>-    else if (ARY_EMBED_P(ary)) {</div><div class='del'>-        ARY_SET_EMBED_LEN(ary, len);</div><div class='del'>-    }</div><div class='del'>-    else if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-	VALUE tmp[RARRAY_EMBED_LEN_MAX];</div><div class='del'>-	MEMCPY(tmp, ARY_HEAP_PTR(ary), VALUE, len);</div><div class='del'>-	ary_discard(ary);</div><div class='del'>-	MEMCPY((VALUE *)ARY_EMBED_PTR(ary), tmp, VALUE, len); /* WB: no new reference */</div><div class='del'>-        ARY_SET_EMBED_LEN(ary, len);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	if (olen &gt; len + ARY_DEFAULT_SIZE) {</div><div class='del'>-            ary_heap_realloc(ary, len);</div><div class='del'>-	    ARY_SET_CAPA(ary, len);</div><div class='del'>-	}</div><div class='del'>-	ARY_SET_HEAP_LEN(ary, len);</div><div class='del'>-    }</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary[index]         = obj                      -&gt;  obj</div><div class='del'>- *     ary[start, length] = obj or other_ary or nil  -&gt;  obj or other_ary or nil</div><div class='del'>- *     ary[range]         = obj or other_ary or nil  -&gt;  obj or other_ary or nil</div><div class='del'>- *</div><div class='del'>- *  Element Assignment --- Sets the element at +index+, or replaces a subarray</div><div class='del'>- *  from the +start+ index for +length+ elements, or replaces a subarray</div><div class='del'>- *  specified by the +range+ of indices.</div><div class='del'>- *</div><div class='del'>- *  If indices are greater than the current capacity of the array, the array</div><div class='del'>- *  grows automatically.  Elements are inserted into the array at +start+ if</div><div class='del'>- *  +length+ is zero.</div><div class='del'>- *</div><div class='del'>- *  Negative indices will count backward from the end of the array.  For</div><div class='del'>- *  +start+ and +range+ cases the starting index is just before an element.</div><div class='del'>- *</div><div class='del'>- *  An IndexError is raised if a negative index points past the beginning of</div><div class='del'>- *  the array.</div><div class='del'>- *</div><div class='del'>- *  See also Array#push, and Array#unshift.</div><div class='add'>+ *     array[index]         = obj                     -&gt;  obj</div><div class='add'>+ *     array[start, length] = obj or an_array or nil  -&gt;  obj or an_array or nil</div><div class='add'>+ *     array[range]         = obj or an_array or nil  -&gt;  obj or an_array or nil</div><div class='ctx'>  *</div><div class='add'>+ *  Element Assignment---Sets the element at _index_,</div><div class='add'>+ *  or replaces a subarray starting at _start_ and</div><div class='add'>+ *  continuing for _length_ elements, or replaces a subarray</div><div class='add'>+ *  specified by _range_.  If indices are greater than</div><div class='add'>+ *  the current capacity of the array, the array grows</div><div class='add'>+ *  automatically. A negative indices will count backward</div><div class='add'>+ *  from the end of the array. Inserts elements if _length_ is</div><div class='add'>+ *  zero. If +nil+ is used in the second and third form,</div><div class='add'>+ *  deletes elements from _self_. An +IndexError+ is raised if a</div><div class='add'>+ *  negative index points past the beginning of the array. See also</div><div class='add'>+ *  &lt;code&gt;Array#push&lt;/code&gt;, and &lt;code&gt;Array#unshift&lt;/code&gt;.</div><div class='add'>+ * </div><div class='ctx'>  *     a = Array.new</div><div class='ctx'>  *     a[4] = "4";                 #=&gt; [nil, nil, nil, nil, "4"]</div><div class='ctx'>  *     a[0, 3] = [ 'a', 'b', 'c' ] #=&gt; ["a", "b", "c", nil, "4"]</div><div class='hunk'>@@ -1964,37 +1035,41 @@ rb_ary_resize(VALUE ary, long len)</div><div class='ctx'>  *     a[0, 2] = "?"               #=&gt; ["?", 2, nil, "4"]</div><div class='ctx'>  *     a[0..2] = "A"               #=&gt; ["A", "4"]</div><div class='ctx'>  *     a[-1]   = "Z"               #=&gt; ["A", "Z"]</div><div class='del'>- *     a[1..-1] = nil              #=&gt; ["A", nil]</div><div class='del'>- *     a[1..-1] = []               #=&gt; ["A"]</div><div class='del'>- *     a[0, 0] = [ 1, 2 ]          #=&gt; [1, 2, "A"]</div><div class='del'>- *     a[3, 0] = "B"               #=&gt; [1, 2, "A", "B"]</div><div class='add'>+ *     a[1..-1] = nil              #=&gt; ["A"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_aset(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_aset(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long offset, beg, len;</div><div class='del'>-    VALUE rpl;</div><div class='ctx'> </div><div class='ctx'>     if (argc == 3) {</div><div class='del'>-	rb_ary_modify_check(ary);</div><div class='del'>-	beg = NUM2LONG(argv[0]);</div><div class='del'>-	len = NUM2LONG(argv[1]);</div><div class='del'>-	goto range;</div><div class='add'>+	if (SYMBOL_P(argv[0])) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "Symbol as array index");</div><div class='add'>+	}</div><div class='add'>+	if (SYMBOL_P(argv[1])) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "Symbol as subarray length");</div><div class='add'>+	}</div><div class='add'>+	rb_ary_splice(ary, NUM2LONG(argv[0]), NUM2LONG(argv[1]), argv[2]);</div><div class='add'>+	return argv[2];</div><div class='add'>+    }</div><div class='add'>+    if (argc != 2) {</div><div class='add'>+	rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)", argc);</div><div class='ctx'>     }</div><div class='del'>-    rb_check_arity(argc, 2, 2);</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='ctx'>     if (FIXNUM_P(argv[0])) {</div><div class='ctx'> 	offset = FIX2LONG(argv[0]);</div><div class='ctx'> 	goto fixnum;</div><div class='ctx'>     }</div><div class='del'>-    if (rb_range_beg_len(argv[0], &amp;beg, &amp;len, RARRAY_LEN(ary), 1)) {</div><div class='add'>+    if (SYMBOL_P(argv[0])) {</div><div class='add'>+	rb_raise(rb_eTypeError, "Symbol as array index");</div><div class='add'>+    }</div><div class='add'>+    if (rb_range_beg_len(argv[0], &amp;beg, &amp;len, RARRAY(ary)-&gt;len, 1)) {</div><div class='ctx'> 	/* check if idx is Range */</div><div class='del'>-      range:</div><div class='del'>-	rpl = rb_ary_to_ary(argv[argc-1]);</div><div class='del'>-        rb_ary_splice(ary, beg, len, RARRAY_CONST_PTR_TRANSIENT(rpl), RARRAY_LEN(rpl));</div><div class='del'>-	RB_GC_GUARD(rpl);</div><div class='del'>-	return argv[argc-1];</div><div class='add'>+	rb_ary_splice(ary, beg, len, argv[1]);</div><div class='add'>+	return argv[1];</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     offset = NUM2LONG(argv[0]);</div><div class='hunk'>@@ -2005,108 +1080,88 @@ fixnum:</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.insert(index, obj...)  -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Inserts the given values before the element with the given +index+.</div><div class='del'>- *</div><div class='del'>- *  Negative indices count backwards from the end of the array, where +-1+ is</div><div class='del'>- *  the last element. If a negative index is used, the given values will be</div><div class='del'>- *  inserted after that element, so using an index of +-1+ will insert the</div><div class='del'>- *  values at the end of the array.</div><div class='del'>- *</div><div class='add'>+ *     array.insert(index, obj...)  -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Inserts the given values before the element with the given index</div><div class='add'>+ *  (which may be negative).</div><div class='add'>+ *     </div><div class='ctx'>  *     a = %w{ a b c d }</div><div class='ctx'>  *     a.insert(2, 99)         #=&gt; ["a", "b", 99, "c", "d"]</div><div class='ctx'>  *     a.insert(-2, 1, 2, 3)   #=&gt; ["a", "b", 99, "c", 1, 2, 3, "d"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_insert(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_insert(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long pos;</div><div class='ctx'> </div><div class='del'>-    rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    pos = NUM2LONG(argv[0]);</div><div class='ctx'>     if (argc == 1) return ary;</div><div class='add'>+    if (argc &lt; 1) {</div><div class='add'>+	rb_raise(rb_eArgError, "wrong number of arguments (at least 1)");</div><div class='add'>+    }</div><div class='add'>+    pos = NUM2LONG(argv[0]);</div><div class='ctx'>     if (pos == -1) {</div><div class='del'>-	pos = RARRAY_LEN(ary);</div><div class='add'>+	pos = RARRAY(ary)-&gt;len;</div><div class='ctx'>     }</div><div class='del'>-    else if (pos &lt; 0) {</div><div class='del'>-	long minpos = -RARRAY_LEN(ary) - 1;</div><div class='del'>-	if (pos &lt; minpos) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",</div><div class='del'>-		     pos, minpos);</div><div class='del'>-	}</div><div class='add'>+    if (pos &lt; 0) {</div><div class='ctx'> 	pos++;</div><div class='ctx'>     }</div><div class='del'>-    rb_ary_splice(ary, pos, 0, argv + 1, argc - 1);</div><div class='add'>+    rb_ary_splice(ary, pos, 0, rb_ary_new4(argc - 1, argv + 1));</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_length(VALUE ary);</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_enum_length(VALUE ary, VALUE args, VALUE eobj)</div><div class='del'>-{</div><div class='del'>-    return rb_ary_length(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.each {|item| block}    -&gt; ary</div><div class='del'>- *     ary.each                   -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Calls the given block once for each element in +self+, passing that element</div><div class='del'>- *  as a parameter.  Returns the array itself.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned.</div><div class='del'>- *</div><div class='add'>+ *     array.each {|item| block }   -&gt;   array</div><div class='add'>+ *  </div><div class='add'>+ *  Calls &lt;i&gt;block&lt;/i&gt; once for each element in &lt;i&gt;self&lt;/i&gt;, passing that</div><div class='add'>+ *  element as a parameter.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='ctx'>  *     a.each {|x| print x, " -- " }</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *  produces:</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     a -- b -- c --</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_each(VALUE ary)</div><div class='add'>+rb_ary_each(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	rb_yield(RARRAY_AREF(ary, i));</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	rb_yield(RARRAY(ary)-&gt;ptr[i]);</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.each_index {|index| block}    -&gt; ary</div><div class='del'>- *     ary.each_index                    -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Same as Array#each, but passes the +index+ of the element instead of the</div><div class='del'>- *  element itself.</div><div class='del'>- *</div><div class='del'>- *  An Enumerator is returned if no block is given.</div><div class='del'>- *</div><div class='add'>+ *     array.each_index {|index| block }  -&gt;  array</div><div class='add'>+ *  </div><div class='add'>+ *  Same as &lt;code&gt;Array#each&lt;/code&gt;, but passes the index of the element</div><div class='add'>+ *  instead of the element itself.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='ctx'>  *     a.each_index {|x| print x, " -- " }</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *  produces:</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     0 -- 1 -- 2 --</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_each_index(VALUE ary)</div><div class='add'>+rb_ary_each_index(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='ctx'> 	rb_yield(LONG2NUM(i));</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='hunk'>@@ -2114,32 +1169,29 @@ rb_ary_each_index(VALUE ary)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.reverse_each {|item| block}    -&gt; ary</div><div class='del'>- *     ary.reverse_each                   -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Same as Array#each, but traverses +self+ in reverse order.</div><div class='del'>- *</div><div class='add'>+ *     array.reverse_each {|item| block } </div><div class='add'>+ *  </div><div class='add'>+ *  Same as &lt;code&gt;Array#each&lt;/code&gt;, but traverses &lt;i&gt;self&lt;/i&gt; in reverse</div><div class='add'>+ *  order.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='ctx'>  *     a.reverse_each {|x| print x, " " }</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *  produces:</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     c b a</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_reverse_each(VALUE ary)</div><div class='add'>+rb_ary_reverse_each(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long len;</div><div class='add'>+    long len = RARRAY(ary)-&gt;len;</div><div class='ctx'> </div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='ctx'>     while (len--) {</div><div class='del'>-	long nlen;</div><div class='del'>-	rb_yield(RARRAY_AREF(ary, len));</div><div class='del'>-	nlen = RARRAY_LEN(ary);</div><div class='del'>-	if (nlen &lt; len) {</div><div class='del'>-	    len = nlen;</div><div class='add'>+	rb_yield(RARRAY(ary)-&gt;ptr[len]);</div><div class='add'>+	if (RARRAY(ary)-&gt;len &lt; len) {</div><div class='add'>+	    len = RARRAY(ary)-&gt;len;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='hunk'>@@ -2147,908 +1199,555 @@ rb_ary_reverse_each(VALUE ary)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.length -&gt; int</div><div class='del'>- *</div><div class='del'>- *  Returns the number of elements in +self+. May be zero.</div><div class='del'>- *</div><div class='add'>+ *     array.length -&gt; int</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the number of elements in &lt;i&gt;self&lt;/i&gt;. May be zero.</div><div class='add'>+ *     </div><div class='ctx'>  *     [ 1, 2, 3, 4, 5 ].length   #=&gt; 5</div><div class='del'>- *     [].length                  #=&gt; 0</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_length(VALUE ary)</div><div class='add'>+rb_ary_length(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    return LONG2NUM(len);</div><div class='add'>+    return LONG2NUM(RARRAY(ary)-&gt;len);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.empty?   -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  Returns +true+ if +self+ contains no elements.</div><div class='del'>- *</div><div class='add'>+ *     array.empty?   -&gt; true or false</div><div class='add'>+ *  </div><div class='add'>+ *  Returns &lt;code&gt;true&lt;/code&gt; if &lt;i&gt;self&lt;/i&gt; array contains no elements.</div><div class='add'>+ *     </div><div class='ctx'>  *     [].empty?   #=&gt; true</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_empty_p(VALUE ary)</div><div class='add'>+rb_ary_empty_p(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY_LEN(ary) == 0)</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0)</div><div class='ctx'> 	return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_dup(VALUE ary)</div><div class='add'>+rb_ary_dup(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    VALUE dup = rb_ary_new2(len);</div><div class='del'>-    ary_memcpy(dup, 0, len, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='del'>-    ARY_SET_LEN(dup, len);</div><div class='add'>+    VALUE dup = rb_ary_new2(RARRAY(ary)-&gt;len);</div><div class='ctx'> </div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    ary_verify(dup);</div><div class='add'>+    DUPSETUP(dup, ary);</div><div class='add'>+    MEMCPY(RARRAY(dup)-&gt;ptr, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+    RARRAY(dup)-&gt;len = RARRAY(ary)-&gt;len;</div><div class='ctx'>     return dup;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_resurrect(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    return ary_make_partial(ary, rb_cArray, 0, RARRAY_LEN(ary));</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> extern VALUE rb_output_fs;</div><div class='ctx'> </div><div class='del'>-static void ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first);</div><div class='del'>-</div><div class='ctx'> static VALUE</div><div class='del'>-recursive_join(VALUE obj, VALUE argp, int recur)</div><div class='del'>-{</div><div class='del'>-    VALUE *arg = (VALUE *)argp;</div><div class='del'>-    VALUE ary = arg[0];</div><div class='del'>-    VALUE sep = arg[1];</div><div class='del'>-    VALUE result = arg[2];</div><div class='del'>-    int *first = (int *)arg[3];</div><div class='del'>-</div><div class='del'>-    if (recur) {</div><div class='del'>-	rb_raise(rb_eArgError, "recursive array join");</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ary_join_1(obj, ary, sep, 0, result, first);</div><div class='del'>-    }</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_join_0(VALUE ary, VALUE sep, long max, VALUE result)</div><div class='add'>+inspect_join(ary, arg)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    VALUE *arg;</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    VALUE val;</div><div class='del'>-</div><div class='del'>-    if (max &gt; 0) rb_enc_copy(result, RARRAY_AREF(ary, 0));</div><div class='del'>-    for (i=0; i&lt;max; i++) {</div><div class='del'>-	val = RARRAY_AREF(ary, i);</div><div class='del'>-	if (i &gt; 0 &amp;&amp; !NIL_P(sep))</div><div class='del'>-	    rb_str_buf_append(result, sep);</div><div class='del'>-	rb_str_buf_append(result, val);</div><div class='del'>-	if (OBJ_TAINTED(val)) OBJ_TAINT(result);</div><div class='del'>-    }</div><div class='add'>+    return rb_ary_join(arg[0], arg[1]);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_join(ary, sep)</div><div class='add'>+    VALUE ary, sep;</div><div class='ctx'> {</div><div class='del'>-    VALUE val, tmp;</div><div class='add'>+    long len = 1, i;</div><div class='add'>+    int taint = Qfalse;</div><div class='add'>+    VALUE result, tmp;</div><div class='ctx'> </div><div class='del'>-    for (; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	if (i &gt; 0 &amp;&amp; !NIL_P(sep))</div><div class='del'>-	    rb_str_buf_append(result, sep);</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0) return rb_str_new(0, 0);</div><div class='add'>+    if (OBJ_TAINTED(ary) || OBJ_TAINTED(sep)) taint = Qtrue;</div><div class='ctx'> </div><div class='del'>-	val = RARRAY_AREF(ary, i);</div><div class='del'>-	if (RB_TYPE_P(val, T_STRING)) {</div><div class='del'>-	  str_join:</div><div class='del'>-	    rb_str_buf_append(result, val);</div><div class='del'>-	    if (*first) {</div><div class='del'>-		rb_enc_copy(result, val);</div><div class='del'>-		*first = FALSE;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else if (RB_TYPE_P(val, T_ARRAY)) {</div><div class='del'>-	    obj = val;</div><div class='del'>-	  ary_join:</div><div class='del'>-	    if (val == ary) {</div><div class='del'>-		rb_raise(rb_eArgError, "recursive array join");</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	tmp = rb_check_string_type(RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+	len += NIL_P(tmp) ? 10 : RSTRING(tmp)-&gt;len;</div><div class='add'>+    }</div><div class='add'>+    if (!NIL_P(sep)) {</div><div class='add'>+	StringValue(sep);</div><div class='add'>+	len += RSTRING(sep)-&gt;len * (RARRAY(ary)-&gt;len - 1);</div><div class='add'>+    }</div><div class='add'>+    result = rb_str_buf_new(len);</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	tmp = RARRAY(ary)-&gt;ptr[i];</div><div class='add'>+	switch (TYPE(tmp)) {</div><div class='add'>+	  case T_STRING:</div><div class='add'>+	    break;</div><div class='add'>+	  case T_ARRAY:</div><div class='add'>+	    if (rb_inspecting_p(tmp)) {</div><div class='add'>+		tmp = rb_str_new2("[...]");</div><div class='ctx'> 	    }</div><div class='ctx'> 	    else {</div><div class='del'>-		VALUE args[4];</div><div class='add'>+		VALUE args[2];</div><div class='ctx'> </div><div class='del'>-		*first = FALSE;</div><div class='del'>-		args[0] = val;</div><div class='add'>+		args[0] = tmp;</div><div class='ctx'> 		args[1] = sep;</div><div class='del'>-		args[2] = result;</div><div class='del'>-		args[3] = (VALUE)first;</div><div class='del'>-		rb_exec_recursive(recursive_join, obj, (VALUE)args);</div><div class='add'>+		tmp = rb_protect_inspect(inspect_join, ary, (VALUE)args);</div><div class='ctx'> 	    }</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    tmp = rb_obj_as_string(tmp);</div><div class='ctx'> 	}</div><div class='del'>-	else {</div><div class='del'>-	    tmp = rb_check_string_type(val);</div><div class='del'>-	    if (!NIL_P(tmp)) {</div><div class='del'>-		val = tmp;</div><div class='del'>-		goto str_join;</div><div class='del'>-	    }</div><div class='del'>-	    tmp = rb_check_array_type(val);</div><div class='del'>-	    if (!NIL_P(tmp)) {</div><div class='del'>-		obj = val;</div><div class='del'>-		val = tmp;</div><div class='del'>-		goto ary_join;</div><div class='del'>-	    }</div><div class='del'>-	    val = rb_obj_as_string(val);</div><div class='del'>-	    goto str_join;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_join(VALUE ary, VALUE sep)</div><div class='del'>-{</div><div class='del'>-    long len = 1, i;</div><div class='del'>-    int taint = FALSE;</div><div class='del'>-    VALUE val, tmp, result;</div><div class='del'>-</div><div class='del'>-    if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new(0, 0);</div><div class='del'>-    if (OBJ_TAINTED(ary)) taint = TRUE;</div><div class='del'>-</div><div class='del'>-    if (!NIL_P(sep)) {</div><div class='del'>-	StringValue(sep);</div><div class='del'>-	len += RSTRING_LEN(sep) * (RARRAY_LEN(ary) - 1);</div><div class='del'>-    }</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	val = RARRAY_AREF(ary, i);</div><div class='del'>-	tmp = rb_check_string_type(val);</div><div class='del'>-</div><div class='del'>-	if (NIL_P(tmp) || tmp != val) {</div><div class='del'>-	    int first;</div><div class='del'>-	    result = rb_str_buf_new(len + (RARRAY_LEN(ary)-i)*10);</div><div class='del'>-	    rb_enc_associate(result, rb_usascii_encoding());</div><div class='del'>-	    if (taint) OBJ_TAINT(result);</div><div class='del'>-	    ary_join_0(ary, sep, i, result);</div><div class='del'>-	    first = i == 0;</div><div class='del'>-	    ary_join_1(ary, ary, sep, i, result, &amp;first);</div><div class='del'>-	    return result;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	len += RSTRING_LEN(tmp);</div><div class='add'>+	if (i &gt; 0 &amp;&amp; !NIL_P(sep))</div><div class='add'>+	    rb_str_buf_append(result, sep);</div><div class='add'>+	rb_str_buf_append(result, tmp);</div><div class='add'>+	if (OBJ_TAINTED(tmp)) taint = Qtrue;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    result = rb_str_buf_new(len);</div><div class='ctx'>     if (taint) OBJ_TAINT(result);</div><div class='del'>-    ary_join_0(ary, sep, RARRAY_LEN(ary), result);</div><div class='del'>-</div><div class='ctx'>     return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.join(separator=$,)    -&gt; str</div><div class='del'>- *</div><div class='add'>+ *     array.join(sep=$,)    -&gt; str</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns a string created by converting each element of the array to</div><div class='del'>- *  a string, separated by the given +separator+.</div><div class='del'>- *  If the +separator+ is +nil+, it uses current &lt;code&gt;$,&lt;/code&gt;.</div><div class='del'>- *  If both the +separator+ and &lt;code&gt;$,&lt;/code&gt; are +nil+,</div><div class='del'>- *  it uses an empty string.</div><div class='del'>- *</div><div class='add'>+ *  a string, separated by &lt;i&gt;sep&lt;/i&gt;.</div><div class='add'>+ *     </div><div class='ctx'>  *     [ "a", "b", "c" ].join        #=&gt; "abc"</div><div class='ctx'>  *     [ "a", "b", "c" ].join("-")   #=&gt; "a-b-c"</div><div class='del'>- *</div><div class='del'>- *  For nested arrays, join is applied recursively:</div><div class='del'>- *</div><div class='del'>- *     [ "a", [1, 2, [:x, :y]], "b" ].join("-")   #=&gt; "a-1-2-x-y-b"</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_join_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_join_m(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     VALUE sep;</div><div class='ctx'> </div><div class='del'>-    if (rb_check_arity(argc, 0, 1) == 0) {</div><div class='del'>-        sep = rb_output_fs;</div><div class='del'>-    }</div><div class='del'>-    else if (NIL_P(sep = argv[0])) {</div><div class='del'>-        sep = rb_output_fs;</div><div class='del'>-    }</div><div class='del'>-</div><div class='add'>+    rb_scan_args(argc, argv, "01", &amp;sep);</div><div class='add'>+    if (NIL_P(sep)) sep = rb_output_fs;</div><div class='add'>+    </div><div class='ctx'>     return rb_ary_join(ary, sep);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-inspect_ary(VALUE ary, VALUE dummy, int recur)</div><div class='del'>-{</div><div class='del'>-    int tainted = OBJ_TAINTED(ary);</div><div class='del'>-    long i;</div><div class='del'>-    VALUE s, str;</div><div class='del'>-</div><div class='del'>-    if (recur) return rb_usascii_str_new_cstr("[...]");</div><div class='del'>-    str = rb_str_buf_new2("[");</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	s = rb_inspect(RARRAY_AREF(ary, i));</div><div class='del'>-	if (OBJ_TAINTED(s)) tainted = TRUE;</div><div class='del'>-	if (i &gt; 0) rb_str_buf_cat2(str, ", ");</div><div class='del'>-	else rb_enc_copy(str, s);</div><div class='del'>-	rb_str_buf_append(str, s);</div><div class='del'>-    }</div><div class='del'>-    rb_str_buf_cat2(str, "]");</div><div class='del'>-    if (tainted) OBJ_TAINT(str);</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.inspect  -&gt; string</div><div class='del'>- *     ary.to_s     -&gt; string</div><div class='add'>+ *     array.to_s -&gt; string</div><div class='add'>+ *  </div><div class='add'>+ *  Returns _self_&lt;code&gt;.join&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     [ "a", "e", "i", "o" ].to_s   #=&gt; "aeio"</div><div class='ctx'>  *</div><div class='del'>- *  Creates a string representation of +self+.</div><div class='del'>- *</div><div class='del'>- *     [ "a", "b", "c" ].to_s     #=&gt; "[\"a\", \"b\", \"c\"]"</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_inspect(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new2("[]");</div><div class='del'>-    return rb_exec_recursive(inspect_ary, ary, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_to_s(VALUE ary)</div><div class='add'>+rb_ary_to_s(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_inspect(ary);</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0) return rb_str_new(0, 0);</div><div class='add'>+    </div><div class='add'>+    return rb_ary_join(ary, rb_output_fs);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.to_a     -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Returns +self+.</div><div class='del'>- *</div><div class='del'>- *  If called on a subclass of Array, converts the receiver to an Array object.</div><div class='del'>- */</div><div class='add'>+static ID inspect_key;</div><div class='add'>+</div><div class='add'>+struct inspect_arg {</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    VALUE arg1, arg2;</div><div class='add'>+};</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_to_a(VALUE ary)</div><div class='add'>+inspect_call(arg)</div><div class='add'>+    struct inspect_arg *arg;</div><div class='ctx'> {</div><div class='del'>-    if (rb_obj_class(ary) != rb_cArray) {</div><div class='del'>-	VALUE dup = rb_ary_new2(RARRAY_LEN(ary));</div><div class='del'>-	rb_ary_replace(dup, ary);</div><div class='del'>-	return dup;</div><div class='del'>-    }</div><div class='del'>-    return ary;</div><div class='add'>+    return (*arg-&gt;func)(arg-&gt;arg1, arg-&gt;arg2);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.to_h            -&gt; hash</div><div class='del'>- *     ary.to_h { block }  -&gt; hash</div><div class='del'>- *</div><div class='del'>- *  Returns the result of interpreting &lt;i&gt;ary&lt;/i&gt; as an array of</div><div class='del'>- *  &lt;tt&gt;[key, value]&lt;/tt&gt; pairs.</div><div class='del'>- *</div><div class='del'>- *     [[:foo, :bar], [1, 2]].to_h</div><div class='del'>- *       # =&gt; {:foo =&gt; :bar, 1 =&gt; 2}</div><div class='del'>- *</div><div class='del'>- *  If a block is given, the results of the block on each element of</div><div class='del'>- *  the array will be used as pairs.</div><div class='del'>- *</div><div class='del'>- *     ["foo", "bar"].to_h {|s| [s.ord, s]}</div><div class='del'>- *       # =&gt; {102=&gt;"foo", 98=&gt;"bar"}</div><div class='del'>- */</div><div class='del'>-</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_to_h(VALUE ary)</div><div class='add'>+get_inspect_tbl(create)</div><div class='add'>+    int create;</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    VALUE hash = rb_hash_new_with_size(RARRAY_LEN(ary));</div><div class='del'>-    int block_given = rb_block_given_p();</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	const VALUE e = rb_ary_elt(ary, i);</div><div class='del'>-	const VALUE elt = block_given ? rb_yield_force_blockarg(e) : e;</div><div class='del'>-	const VALUE key_value_pair = rb_check_array_type(elt);</div><div class='del'>-	if (NIL_P(key_value_pair)) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "wrong element type %"PRIsVALUE" at %ld (expected array)",</div><div class='del'>-		     rb_obj_class(elt), i);</div><div class='del'>-	}</div><div class='del'>-	if (RARRAY_LEN(key_value_pair) != 2) {</div><div class='del'>-	    rb_raise(rb_eArgError, "wrong array length at %ld (expected 2, was %ld)",</div><div class='del'>-		i, RARRAY_LEN(key_value_pair));</div><div class='add'>+    VALUE inspect_tbl = rb_thread_local_aref(rb_thread_current(), inspect_key);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(inspect_tbl)) {</div><div class='add'>+	if (create) {</div><div class='add'>+	  tbl_init:</div><div class='add'>+	    inspect_tbl = rb_ary_new();</div><div class='add'>+	    rb_thread_local_aset(rb_thread_current(), inspect_key, inspect_tbl);</div><div class='ctx'> 	}</div><div class='del'>-	rb_hash_aset(hash, RARRAY_AREF(key_value_pair, 0), RARRAY_AREF(key_value_pair, 1));</div><div class='ctx'>     }</div><div class='del'>-    return hash;</div><div class='add'>+    else if (TYPE(inspect_tbl) != T_ARRAY) {</div><div class='add'>+	rb_warn("invalid inspect_tbl value");</div><div class='add'>+	if (create) goto tbl_init;</div><div class='add'>+	rb_thread_local_aset(rb_thread_current(), inspect_key, Qnil);</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    return inspect_tbl;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.to_ary -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Returns +self+.</div><div class='del'>- */</div><div class='del'>-</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_to_ary_m(VALUE ary)</div><div class='add'>+inspect_ensure(obj)</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='del'>-    return ary;</div><div class='add'>+    VALUE inspect_tbl;</div><div class='add'>+</div><div class='add'>+    inspect_tbl = get_inspect_tbl(Qfalse);</div><div class='add'>+    if (!NIL_P(inspect_tbl)) {</div><div class='add'>+	rb_ary_pop(inspect_tbl);</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-ary_reverse(VALUE *p1, VALUE *p2)</div><div class='add'>+VALUE</div><div class='add'>+rb_protect_inspect(func, obj, arg)</div><div class='add'>+    VALUE (*func)(ANYARGS);</div><div class='add'>+    VALUE obj, arg;</div><div class='ctx'> {</div><div class='del'>-    while (p1 &lt; p2) {</div><div class='del'>-	VALUE tmp = *p1;</div><div class='del'>-	*p1++ = *p2;</div><div class='del'>-	*p2-- = tmp;</div><div class='add'>+    struct inspect_arg iarg;</div><div class='add'>+    VALUE inspect_tbl;</div><div class='add'>+    VALUE id;</div><div class='add'>+</div><div class='add'>+    inspect_tbl = get_inspect_tbl(Qtrue);</div><div class='add'>+    id = rb_obj_id(obj);</div><div class='add'>+    if (rb_ary_includes(inspect_tbl, id)) {</div><div class='add'>+	return (*func)(obj, arg);</div><div class='ctx'>     }</div><div class='add'>+    rb_ary_push(inspect_tbl, id);</div><div class='add'>+    iarg.func = func;</div><div class='add'>+    iarg.arg1 = obj;</div><div class='add'>+    iarg.arg2 = arg;</div><div class='add'>+</div><div class='add'>+    return rb_ensure(inspect_call, (VALUE)&amp;iarg, inspect_ensure, obj);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_reverse(VALUE ary)</div><div class='add'>+rb_inspecting_p(obj)</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='del'>-    VALUE *p2;</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE inspect_tbl;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    if (len &gt; 1) {</div><div class='del'>-        RARRAY_PTR_USE_TRANSIENT(ary, p1, {</div><div class='del'>-            p2 = p1 + len - 1;	/* points last item */</div><div class='del'>-            ary_reverse(p1, p2);</div><div class='del'>-	}); /* WB: no new reference */</div><div class='add'>+    inspect_tbl = get_inspect_tbl(Qfalse);</div><div class='add'>+    if (NIL_P(inspect_tbl)) return Qfalse;</div><div class='add'>+    return rb_ary_includes(inspect_tbl, rb_obj_id(obj));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+inspect_ary(ary)</div><div class='add'>+    VALUE ary;</div><div class='add'>+{</div><div class='add'>+    int tainted = OBJ_TAINTED(ary);</div><div class='add'>+    long i;</div><div class='add'>+    VALUE s, str;</div><div class='add'>+</div><div class='add'>+    str = rb_str_buf_new2("[");</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	s = rb_inspect(RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+	if (OBJ_TAINTED(s)) tainted = Qtrue;</div><div class='add'>+	if (i &gt; 0) rb_str_buf_cat2(str, ", ");</div><div class='add'>+	rb_str_buf_append(str, s);</div><div class='ctx'>     }</div><div class='del'>-    return ary;</div><div class='add'>+    rb_str_buf_cat2(str, "]");</div><div class='add'>+    if (tainted) OBJ_TAINT(str);</div><div class='add'>+    return str;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.reverse!   -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Reverses +self+ in place.</div><div class='add'>+ *     array.inspect  -&gt; string</div><div class='ctx'>  *</div><div class='del'>- *     a = [ "a", "b", "c" ]</div><div class='del'>- *     a.reverse!       #=&gt; ["c", "b", "a"]</div><div class='del'>- *     a                #=&gt; ["c", "b", "a"]</div><div class='add'>+ *  Create a printable version of &lt;i&gt;array&lt;/i&gt;.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_reverse_bang(VALUE ary)</div><div class='add'>+rb_ary_inspect(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_reverse(ary);</div><div class='add'>+    if (RARRAY(ary)-&gt;len == 0) return rb_str_new2("[]");</div><div class='add'>+    if (rb_inspecting_p(ary)) return rb_str_new2("[...]");</div><div class='add'>+    return rb_protect_inspect(inspect_ary, ary, 0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.reverse    -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns a new array containing +self+'s elements in reverse order.</div><div class='del'>- *</div><div class='del'>- *     [ "a", "b", "c" ].reverse   #=&gt; ["c", "b", "a"]</div><div class='del'>- *     [ 1 ].reverse               #=&gt; [1]</div><div class='add'>+ *     array.to_a     -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns _self_. If called on a subclass of Array, converts</div><div class='add'>+ *  the receiver to an Array object.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_reverse_m(VALUE ary)</div><div class='add'>+rb_ary_to_a(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    VALUE dup = rb_ary_new2(len);</div><div class='del'>-</div><div class='del'>-    if (len &gt; 0) {</div><div class='del'>-        const VALUE *p1 = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-        VALUE *p2 = (VALUE *)RARRAY_CONST_PTR_TRANSIENT(dup) + len - 1;</div><div class='del'>-	do *p2-- = *p1++; while (--len &gt; 0);</div><div class='add'>+    if (rb_obj_class(ary) != rb_cArray) {</div><div class='add'>+	VALUE dup = rb_ary_new2(RARRAY(ary)-&gt;len);</div><div class='add'>+	rb_ary_replace(dup, ary);</div><div class='add'>+	return dup;</div><div class='ctx'>     }</div><div class='del'>-    ARY_SET_LEN(dup, RARRAY_LEN(ary));</div><div class='del'>-    return dup;</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static inline long</div><div class='del'>-rotate_count(long cnt, long len)</div><div class='del'>-{</div><div class='del'>-    return (cnt &lt; 0) ? (len - (~cnt % len) - 1) : (cnt % len);</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     array.to_ary -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns _self_.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-ary_rotate_ptr(VALUE *ptr, long len, long cnt)</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_to_ary_m(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    --len;</div><div class='del'>-    if (cnt &lt; len) ary_reverse(ptr + cnt, ptr + len);</div><div class='del'>-    if (--cnt &gt; 0) ary_reverse(ptr, ptr + cnt);</div><div class='del'>-    if (len &gt; 0) ary_reverse(ptr, ptr + len);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_rotate(VALUE ary, long cnt)</div><div class='add'>+rb_ary_reverse(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='add'>+    VALUE *p1, *p2;</div><div class='add'>+    VALUE tmp;</div><div class='add'>+</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='add'>+    if (RARRAY(ary)-&gt;len &gt; 1) {</div><div class='add'>+	p1 = RARRAY(ary)-&gt;ptr;</div><div class='add'>+	p2 = p1 + RARRAY(ary)-&gt;len - 1;	/* points last item */</div><div class='ctx'> </div><div class='del'>-    if (cnt != 0) {</div><div class='del'>-        long len = RARRAY_LEN(ary);</div><div class='del'>-        if (len &gt; 0 &amp;&amp; (cnt = rotate_count(cnt, len)) &gt; 0) {</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr, ary_rotate_ptr(ptr, len, cnt));</div><div class='del'>-            return ary;</div><div class='del'>-        }</div><div class='add'>+	while (p1 &lt; p2) {</div><div class='add'>+	    tmp = *p1;</div><div class='add'>+	    *p1++ = *p2;</div><div class='add'>+	    *p2-- = tmp;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    return Qnil;</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.rotate!(count=1)   -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Rotates +self+ in place so that the element at +count+ comes first, and</div><div class='del'>- *  returns +self+.</div><div class='del'>- *</div><div class='del'>- *  If +count+ is negative then it rotates in the opposite direction, starting</div><div class='del'>- *  from the end of the array where +-1+ is the last element.</div><div class='del'>- *</div><div class='del'>- *     a = [ "a", "b", "c", "d" ]</div><div class='del'>- *     a.rotate!        #=&gt; ["b", "c", "d", "a"]</div><div class='del'>- *     a                #=&gt; ["b", "c", "d", "a"]</div><div class='del'>- *     a.rotate!(2)     #=&gt; ["d", "a", "b", "c"]</div><div class='del'>- *     a.rotate!(-3)    #=&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *     array.reverse!   -&gt; array </div><div class='add'>+ *  </div><div class='add'>+ *  Reverses _self_ in place.</div><div class='add'>+ *     </div><div class='add'>+ *     a = [ "a", "b", "c" ]</div><div class='add'>+ *     a.reverse!       #=&gt; ["c", "b", "a"]</div><div class='add'>+ *     a                #=&gt; ["c", "b", "a"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_rotate_bang(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_reverse_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long n = (rb_check_arity(argc, 0, 1) ? NUM2LONG(argv[0]) : 1);</div><div class='del'>-    rb_ary_rotate(ary, n);</div><div class='del'>-    return ary;</div><div class='add'>+    return rb_ary_reverse(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.rotate(count=1)    -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns a new array by rotating +self+ so that the element at +count+ is</div><div class='del'>- *  the first element of the new array.</div><div class='del'>- *</div><div class='del'>- *  If +count+ is negative then it rotates in the opposite direction, starting</div><div class='del'>- *  from the end of +self+ where +-1+ is the last element.</div><div class='del'>- *</div><div class='del'>- *     a = [ "a", "b", "c", "d" ]</div><div class='del'>- *     a.rotate         #=&gt; ["b", "c", "d", "a"]</div><div class='del'>- *     a                #=&gt; ["a", "b", "c", "d"]</div><div class='del'>- *     a.rotate(2)      #=&gt; ["c", "d", "a", "b"]</div><div class='del'>- *     a.rotate(-3)     #=&gt; ["b", "c", "d", "a"]</div><div class='add'>+ *     array.reverse -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns a new array containing &lt;i&gt;self&lt;/i&gt;'s elements in reverse order.</div><div class='add'>+ *     </div><div class='add'>+ *     [ "a", "b", "c" ].reverse   #=&gt; ["c", "b", "a"]</div><div class='add'>+ *     [ 1 ].reverse               #=&gt; [1]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_rotate_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_reverse_m(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE rotated;</div><div class='del'>-    const VALUE *ptr;</div><div class='del'>-    long len;</div><div class='del'>-    long cnt = (rb_check_arity(argc, 0, 1) ? NUM2LONG(argv[0]) : 1);</div><div class='del'>-</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='del'>-    rotated = rb_ary_new2(len);</div><div class='del'>-    if (len &gt; 0) {</div><div class='del'>-	cnt = rotate_count(cnt, len);</div><div class='del'>-        ptr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-	len -= cnt;</div><div class='del'>-	ary_memcpy(rotated, 0, len, ptr + cnt);</div><div class='del'>-	ary_memcpy(rotated, len, cnt, ptr);</div><div class='del'>-    }</div><div class='del'>-    ARY_SET_LEN(rotated, RARRAY_LEN(ary));</div><div class='del'>-    return rotated;</div><div class='add'>+    return rb_ary_reverse(rb_ary_dup(ary));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> struct ary_sort_data {</div><div class='ctx'>     VALUE ary;</div><div class='del'>-    struct cmp_opt_data cmp_opt;</div><div class='add'>+    VALUE *ptr;</div><div class='add'>+    long len;</div><div class='ctx'> };</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-sort_reentered(VALUE ary)</div><div class='add'>+static void</div><div class='add'>+ary_sort_check(data)</div><div class='add'>+    struct ary_sort_data *data;</div><div class='ctx'> {</div><div class='del'>-    if (RBASIC(ary)-&gt;klass) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "sort reentered");</div><div class='add'>+    if (RARRAY(data-&gt;ary)-&gt;ptr != data-&gt;ptr || RARRAY(data-&gt;ary)-&gt;len != data-&gt;len) {</div><div class='add'>+	rb_raise(rb_eArgError, "array modified during sort");</div><div class='ctx'>     }</div><div class='del'>-    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-sort_1(const void *ap, const void *bp, void *dummy)</div><div class='add'>+sort_1(a, b, data)</div><div class='add'>+    VALUE *a, *b;</div><div class='add'>+    struct ary_sort_data *data;</div><div class='ctx'> {</div><div class='del'>-    struct ary_sort_data *data = dummy;</div><div class='del'>-    VALUE retval = sort_reentered(data-&gt;ary);</div><div class='del'>-    VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;</div><div class='del'>-    VALUE args[2];</div><div class='add'>+    VALUE retval = rb_yield_values(2, *a, *b);</div><div class='ctx'>     int n;</div><div class='ctx'> </div><div class='del'>-    args[0] = a;</div><div class='del'>-    args[1] = b;</div><div class='del'>-    retval = rb_yield_values2(2, args);</div><div class='del'>-    n = rb_cmpint(retval, a, b);</div><div class='del'>-    sort_reentered(data-&gt;ary);</div><div class='add'>+    n = rb_cmpint(retval, *a, *b);</div><div class='add'>+    ary_sort_check(data);</div><div class='ctx'>     return n;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-sort_2(const void *ap, const void *bp, void *dummy)</div><div class='add'>+sort_2(ap, bp, data)</div><div class='add'>+    VALUE *ap, *bp;</div><div class='add'>+    struct ary_sort_data *data;</div><div class='ctx'> {</div><div class='del'>-    struct ary_sort_data *data = dummy;</div><div class='del'>-    VALUE retval = sort_reentered(data-&gt;ary);</div><div class='del'>-    VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;</div><div class='add'>+    VALUE retval;</div><div class='add'>+    VALUE a = *ap, b = *bp;</div><div class='ctx'>     int n;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(a) &amp;&amp; FIXNUM_P(b) &amp;&amp; CMP_OPTIMIZABLE(data-&gt;cmp_opt, Fixnum)) {</div><div class='add'>+    if (FIXNUM_P(a) &amp;&amp; FIXNUM_P(b)) {</div><div class='ctx'> 	if ((long)a &gt; (long)b) return 1;</div><div class='ctx'> 	if ((long)a &lt; (long)b) return -1;</div><div class='ctx'> 	return 0;</div><div class='ctx'>     }</div><div class='del'>-    if (STRING_P(a) &amp;&amp; STRING_P(b) &amp;&amp; CMP_OPTIMIZABLE(data-&gt;cmp_opt, String)) {</div><div class='del'>-	return rb_str_cmp(a, b);</div><div class='del'>-    }</div><div class='del'>-    if (RB_FLOAT_TYPE_P(a) &amp;&amp; CMP_OPTIMIZABLE(data-&gt;cmp_opt, Float)) {</div><div class='del'>-	return rb_float_cmp(a, b);</div><div class='add'>+    if (TYPE(a) == T_STRING) {</div><div class='add'>+	if (TYPE(b) == T_STRING) return rb_str_cmp(a, b);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    retval = rb_funcallv(a, id_cmp, 1, &amp;b);</div><div class='add'>+    retval = rb_funcall(a, id_cmp, 1, b);</div><div class='ctx'>     n = rb_cmpint(retval, a, b);</div><div class='del'>-    sort_reentered(data-&gt;ary);</div><div class='add'>+    ary_sort_check(data);</div><div class='ctx'> </div><div class='ctx'>     return n;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.sort!                   -&gt; ary</div><div class='del'>- *     ary.sort! {|a, b| block}    -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Sorts +self+ in place.</div><div class='del'>- *</div><div class='del'>- *  Comparisons for the sort will be done using the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator</div><div class='del'>- *  or using an optional code block.</div><div class='del'>- *</div><div class='del'>- *  The block must implement a comparison between +a+ and +b+ and return</div><div class='del'>- *  an integer less than 0 when +b+ follows +a+, +0+ when +a+ and +b+</div><div class='del'>- *  are equivalent, or an integer greater than 0 when +a+ follows +b+.</div><div class='del'>- *</div><div class='del'>- *  The result is not guaranteed to be stable.  When the comparison of two</div><div class='del'>- *  elements returns +0+, the order of the elements is unpredictable.</div><div class='del'>- *</div><div class='del'>- *     ary = [ "d", "a", "e", "c", "b" ]</div><div class='del'>- *     ary.sort!                     #=&gt; ["a", "b", "c", "d", "e"]</div><div class='del'>- *     ary.sort! {|a, b| b &lt;=&gt; a}    #=&gt; ["e", "d", "c", "b", "a"]</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#sort_by.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_ary_sort_bang(VALUE ary)</div><div class='add'>+static VALUE</div><div class='add'>+sort_internal(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    assert(!ARY_SHARED_P(ary));</div><div class='del'>-    if (RARRAY_LEN(ary) &gt; 1) {</div><div class='del'>-	VALUE tmp = ary_make_substitution(ary); /* only ary refers tmp */</div><div class='del'>-	struct ary_sort_data data;</div><div class='del'>-	long len = RARRAY_LEN(ary);</div><div class='del'>-	RBASIC_CLEAR_CLASS(tmp);</div><div class='del'>-	data.ary = tmp;</div><div class='del'>-	data.cmp_opt.opt_methods = 0;</div><div class='del'>-	data.cmp_opt.opt_inited = 0;</div><div class='del'>-	RARRAY_PTR_USE(tmp, ptr, {</div><div class='del'>-            ruby_qsort(ptr, len, sizeof(VALUE),</div><div class='del'>-                       rb_block_given_p()?sort_1:sort_2, &amp;data);</div><div class='del'>-	}); /* WB: no new reference */</div><div class='del'>-	rb_ary_modify(ary);</div><div class='del'>-        if (ARY_EMBED_P(tmp)) {</div><div class='del'>-            if (ARY_SHARED_P(ary)) { /* ary might be destructively operated in the given block */</div><div class='del'>-                rb_ary_unshare(ary);</div><div class='del'>-		FL_SET_EMBED(ary);</div><div class='del'>-            }</div><div class='del'>-	    ary_memcpy(ary, 0, ARY_EMBED_LEN(tmp), ARY_EMBED_PTR(tmp));</div><div class='del'>-            ARY_SET_LEN(ary, ARY_EMBED_LEN(tmp));</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            if (!ARY_EMBED_P(ary) &amp;&amp; ARY_HEAP_PTR(ary) == ARY_HEAP_PTR(tmp)) {</div><div class='del'>-                FL_UNSET_SHARED(ary);</div><div class='del'>-                ARY_SET_CAPA(ary, RARRAY_LEN(tmp));</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                assert(!ARY_SHARED_P(tmp));</div><div class='del'>-                if (ARY_EMBED_P(ary)) {</div><div class='del'>-                    FL_UNSET_EMBED(ary);</div><div class='del'>-                }</div><div class='del'>-                else if (ARY_SHARED_P(ary)) {</div><div class='del'>-                    /* ary might be destructively operated in the given block */</div><div class='del'>-                    rb_ary_unshare(ary);</div><div class='del'>-                }</div><div class='del'>-                else {</div><div class='del'>-                    ary_heap_free(ary);</div><div class='del'>-                }</div><div class='del'>-                ARY_SET_PTR(ary, ARY_HEAP_PTR(tmp));</div><div class='del'>-                ARY_SET_HEAP_LEN(ary, len);</div><div class='del'>-                ARY_SET_CAPA(ary, ARY_HEAP_LEN(tmp));</div><div class='del'>-            }</div><div class='del'>-            /* tmp was lost ownership for the ptr */</div><div class='del'>-            FL_UNSET(tmp, FL_FREEZE);</div><div class='del'>-            FL_SET_EMBED(tmp);</div><div class='del'>-            ARY_SET_EMBED_LEN(tmp, 0);</div><div class='del'>-            FL_SET(tmp, FL_FREEZE);</div><div class='del'>-        }</div><div class='del'>-        /* tmp will be GC'ed. */</div><div class='del'>-        RBASIC_SET_CLASS_RAW(tmp, rb_cArray); /* rb_cArray must be marked */</div><div class='del'>-    }</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.sort                   -&gt; new_ary</div><div class='del'>- *     ary.sort {|a, b| block}    -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns a new array created by sorting +self+.</div><div class='del'>- *</div><div class='del'>- *  Comparisons for the sort will be done using the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator</div><div class='del'>- *  or using an optional code block.</div><div class='del'>- *</div><div class='del'>- *  The block must implement a comparison between +a+ and +b+ and return</div><div class='del'>- *  an integer less than 0 when +b+ follows +a+, +0+ when +a+ and +b+</div><div class='del'>- *  are equivalent, or an integer greater than 0 when +a+ follows +b+.</div><div class='del'>- *</div><div class='del'>- *  The result is not guaranteed to be stable.  When the comparison of two</div><div class='del'>- *  elements returns +0+, the order of the elements is unpredictable.</div><div class='del'>- *</div><div class='del'>- *     ary = [ "d", "a", "e", "c", "b" ]</div><div class='del'>- *     ary.sort                     #=&gt; ["a", "b", "c", "d", "e"]</div><div class='del'>- *     ary.sort {|a, b| b &lt;=&gt; a}    #=&gt; ["e", "d", "c", "b", "a"]</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#sort_by.</div><div class='del'>- */</div><div class='add'>+    struct ary_sort_data data;</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_sort(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    ary = rb_ary_dup(ary);</div><div class='del'>-    rb_ary_sort_bang(ary);</div><div class='add'>+    data.ary = ary;</div><div class='add'>+    data.ptr = RARRAY(ary)-&gt;ptr; data.len = RARRAY(ary)-&gt;len;</div><div class='add'>+    qsort(RARRAY(ary)-&gt;ptr, RARRAY(ary)-&gt;len, sizeof(VALUE),</div><div class='add'>+	  rb_block_given_p()?sort_1:sort_2, &amp;data);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE rb_ary_bsearch_index(VALUE ary);</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.bsearch {|x| block }  -&gt; elem</div><div class='del'>- *</div><div class='del'>- *  By using binary search, finds a value from this array which meets</div><div class='del'>- *  the given condition in O(log n) where n is the size of the array.</div><div class='del'>- *</div><div class='del'>- *  You can use this method in two modes: a find-minimum mode and</div><div class='del'>- *  a find-any mode.  In either case, the elements of the array must be</div><div class='del'>- *  monotone (or sorted) with respect to the block.</div><div class='del'>- *</div><div class='del'>- *  In find-minimum mode (this is a good choice for typical use cases),</div><div class='del'>- *  the block must always return true or false, and there must be an index i</div><div class='del'>- *  (0 &lt;= i &lt;= ary.size) so that:</div><div class='del'>- *</div><div class='del'>- *  - the block returns false for any element whose index is less than</div><div class='del'>- *    i, and</div><div class='del'>- *  - the block returns true for any element whose index is greater</div><div class='del'>- *    than or equal to i.</div><div class='del'>- *</div><div class='del'>- *  This method returns the i-th element.  If i is equal to ary.size,</div><div class='del'>- *  it returns nil.</div><div class='del'>- *</div><div class='del'>- *     ary = [0, 4, 7, 10, 12]</div><div class='del'>- *     ary.bsearch {|x| x &gt;=   4 } #=&gt; 4</div><div class='del'>- *     ary.bsearch {|x| x &gt;=   6 } #=&gt; 7</div><div class='del'>- *     ary.bsearch {|x| x &gt;=  -1 } #=&gt; 0</div><div class='del'>- *     ary.bsearch {|x| x &gt;= 100 } #=&gt; nil</div><div class='del'>- *</div><div class='del'>- *  In find-any mode (this behaves like libc's bsearch(3)), the block</div><div class='del'>- *  must always return a number, and there must be two indices i and j</div><div class='del'>- *  (0 &lt;= i &lt;= j &lt;= ary.size) so that:</div><div class='del'>- *</div><div class='del'>- *  - the block returns a positive number for ary[k] if 0 &lt;= k &lt; i,</div><div class='del'>- *  - the block returns zero for ary[k] if i &lt;= k &lt; j, and</div><div class='del'>- *  - the block returns a negative number for ary[k] if</div><div class='del'>- *    j &lt;= k &lt; ary.size.</div><div class='del'>- *</div><div class='del'>- *  Under this condition, this method returns any element whose index</div><div class='del'>- *  is within i...j.  If i is equal to j (i.e., there is no element</div><div class='del'>- *  that satisfies the block), this method returns nil.</div><div class='del'>- *</div><div class='del'>- *     ary = [0, 4, 7, 10, 12]</div><div class='del'>- *     # try to find v such that 4 &lt;= v &lt; 8</div><div class='del'>- *     ary.bsearch {|x| 1 - x / 4 } #=&gt; 4 or 7</div><div class='del'>- *     # try to find v such that 8 &lt;= v &lt; 10</div><div class='del'>- *     ary.bsearch {|x| 4 - x / 2 } #=&gt; nil</div><div class='del'>- *</div><div class='del'>- *  You must not mix the two modes at a time; the block must always</div><div class='del'>- *  return either true/false, or always return a number.  It is</div><div class='del'>- *  undefined which value is actually picked up at each iteration.</div><div class='del'>- */</div><div class='del'>-</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_bsearch(VALUE ary)</div><div class='add'>+sort_unlock(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE index_result = rb_ary_bsearch_index(ary);</div><div class='del'>-</div><div class='del'>-    if (FIXNUM_P(index_result)) {</div><div class='del'>-	return rb_ary_entry(ary, FIX2LONG(index_result));</div><div class='del'>-    }</div><div class='del'>-    return index_result;</div><div class='add'>+    FL_UNSET(ary, ARY_TMPLOCK);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.bsearch_index {|x| block }  -&gt; int or nil</div><div class='del'>- *</div><div class='del'>- *  By using binary search, finds an index of a value from this array which</div><div class='del'>- *  meets the given condition in O(log n) where n is the size of the array.</div><div class='del'>- *</div><div class='del'>- *  It supports two modes, depending on the nature of the block. They are</div><div class='del'>- *  exactly the same as in the case of the #bsearch method, with the only difference</div><div class='del'>- *  being that this method returns the index of the element instead of the</div><div class='del'>- *  element itself. For more details consult the documentation for #bsearch.</div><div class='add'>+ *     array.sort!                   -&gt; array</div><div class='add'>+ *     array.sort! {| a,b | block }  -&gt; array </div><div class='add'>+ *  </div><div class='add'>+ *  Sorts _self_. Comparisons for</div><div class='add'>+ *  the sort will be done using the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator or using</div><div class='add'>+ *  an optional code block. The block implements a comparison between</div><div class='add'>+ *  &lt;i&gt;a&lt;/i&gt; and &lt;i&gt;b&lt;/i&gt;, returning -1, 0, or +1. See also</div><div class='add'>+ *  &lt;code&gt;Enumerable#sort_by&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     a = [ "d", "a", "e", "c", "b" ]</div><div class='add'>+ *     a.sort                    #=&gt; ["a", "b", "c", "d", "e"]</div><div class='add'>+ *     a.sort {|x,y| y &lt;=&gt; x }   #=&gt; ["e", "d", "c", "b", "a"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_bsearch_index(VALUE ary)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_sort_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long low = 0, high = RARRAY_LEN(ary), mid;</div><div class='del'>-    int smaller = 0, satisfied = 0;</div><div class='del'>-    VALUE v, val;</div><div class='del'>-</div><div class='del'>-    RETURN_ENUMERATOR(ary, 0, 0);</div><div class='del'>-    while (low &lt; high) {</div><div class='del'>-	mid = low + ((high - low) / 2);</div><div class='del'>-	val = rb_ary_entry(ary, mid);</div><div class='del'>-	v = rb_yield(val);</div><div class='del'>-	if (FIXNUM_P(v)) {</div><div class='del'>-	    if (v == INT2FIX(0)) return INT2FIX(mid);</div><div class='del'>-	    smaller = (SIGNED_VALUE)v &lt; 0; /* Fixnum preserves its sign-bit */</div><div class='del'>-	}</div><div class='del'>-	else if (v == Qtrue) {</div><div class='del'>-	    satisfied = 1;</div><div class='del'>-	    smaller = 1;</div><div class='del'>-	}</div><div class='del'>-	else if (v == Qfalse || v == Qnil) {</div><div class='del'>-	    smaller = 0;</div><div class='del'>-	}</div><div class='del'>-	else if (rb_obj_is_kind_of(v, rb_cNumeric)) {</div><div class='del'>-	    const VALUE zero = INT2FIX(0);</div><div class='del'>-	    switch (rb_cmpint(rb_funcallv(v, id_cmp, 1, &amp;zero), v, zero)) {</div><div class='del'>-	      case 0: return INT2FIX(mid);</div><div class='del'>-	      case 1: smaller = 1; break;</div><div class='del'>-	      case -1: smaller = 0;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE</div><div class='del'>-		     " (must be numeric, true, false or nil)",</div><div class='del'>-		     rb_obj_class(v));</div><div class='del'>-	}</div><div class='del'>-	if (smaller) {</div><div class='del'>-	    high = mid;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    low = mid + 1;</div><div class='del'>-	}</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    if (RARRAY(ary)-&gt;len &gt; 1) {</div><div class='add'>+	FL_SET(ary, ARY_TMPLOCK);	/* prohibit modification during sort */</div><div class='add'>+	rb_ensure(sort_internal, ary, sort_unlock, ary);</div><div class='ctx'>     }</div><div class='del'>-    if (!satisfied) return Qnil;</div><div class='del'>-    return INT2FIX(low);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-sort_by_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, dummy))</div><div class='del'>-{</div><div class='del'>-    return rb_yield(i);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.sort_by! {|obj| block}      -&gt; ary</div><div class='del'>- *     ary.sort_by!                    -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Sorts +self+ in place using a set of keys generated by mapping the</div><div class='del'>- *  values in +self+ through the given block.</div><div class='del'>- *</div><div class='del'>- *  The result is not guaranteed to be stable.  When two keys are equal,</div><div class='del'>- *  the order of the corresponding elements is unpredictable.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#sort_by.</div><div class='add'>+ *     array.sort                   -&gt; an_array </div><div class='add'>+ *     array.sort {| a,b | block }  -&gt; an_array </div><div class='add'>+ *  </div><div class='add'>+ *  Returns a new array created by sorting &lt;i&gt;self&lt;/i&gt;. Comparisons for</div><div class='add'>+ *  the sort will be done using the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator or using</div><div class='add'>+ *  an optional code block. The block implements a comparison between</div><div class='add'>+ *  &lt;i&gt;a&lt;/i&gt; and &lt;i&gt;b&lt;/i&gt;, returning -1, 0, or +1. See also</div><div class='add'>+ *  &lt;code&gt;Enumerable#sort_by&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     a = [ "d", "a", "e", "c", "b" ]</div><div class='add'>+ *     a.sort                    #=&gt; ["a", "b", "c", "d", "e"]</div><div class='add'>+ *     a.sort {|x,y| y &lt;=&gt; x }   #=&gt; ["e", "d", "c", "b", "a"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_sort_by_bang(VALUE ary)</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_sort(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE sorted;</div><div class='del'>-</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    sorted = rb_block_call(ary, rb_intern("sort_by"), 0, 0, sort_by_i, 0);</div><div class='del'>-    rb_ary_replace(ary, sorted);</div><div class='add'>+    ary = rb_ary_dup(ary);</div><div class='add'>+    rb_ary_sort_bang(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.collect {|item| block}    -&gt; new_ary</div><div class='del'>- *     ary.map     {|item| block}    -&gt; new_ary</div><div class='del'>- *     ary.collect                   -&gt; Enumerator</div><div class='del'>- *     ary.map                       -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Invokes the given block once for each element of +self+.</div><div class='del'>- *</div><div class='del'>- *  Creates a new array containing the values returned by the block.</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#collect.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='add'>+ *     array.collect {|item| block }  -&gt; an_array</div><div class='add'>+ *     array.map     {|item| block }  -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Invokes &lt;i&gt;block&lt;/i&gt; once for each element of &lt;i&gt;self&lt;/i&gt;. Creates a </div><div class='add'>+ *  new array containing the values returned by the block.</div><div class='add'>+ *  See also &lt;code&gt;Enumerable#collect&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c", "d" ]</div><div class='del'>- *     a.collect {|x| x + "!"}           #=&gt; ["a!", "b!", "c!", "d!"]</div><div class='del'>- *     a.map.with_index {|x, i| x * i}   #=&gt; ["", "b", "cc", "ddd"]</div><div class='del'>- *     a                                 #=&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *     a.collect {|x| x + "!" }   #=&gt; ["a!", "b!", "c!", "d!"]</div><div class='add'>+ *     a                          #=&gt; ["a", "b", "c", "d"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_collect(VALUE ary)</div><div class='add'>+rb_ary_collect(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='ctx'>     VALUE collect;</div><div class='ctx'> </div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    collect = rb_ary_new2(RARRAY_LEN(ary));</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-        rb_ary_push(collect, rb_yield(RARRAY_AREF(ary, i)));</div><div class='add'>+    if (!rb_block_given_p()) {</div><div class='add'>+	return rb_ary_new4(RARRAY(ary)-&gt;len, RARRAY(ary)-&gt;ptr);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    collect = rb_ary_new2(RARRAY(ary)-&gt;len);</div><div class='add'>+    for (i = 0; i &lt; RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	rb_ary_push(collect, rb_yield(RARRAY(ary)-&gt;ptr[i]));</div><div class='ctx'>     }</div><div class='ctx'>     return collect;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.collect! {|item| block }   -&gt; ary</div><div class='del'>- *     ary.map!     {|item| block }   -&gt; ary</div><div class='del'>- *     ary.collect!                   -&gt; Enumerator</div><div class='del'>- *     ary.map!                       -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Invokes the given block once for each element of +self+, replacing the</div><div class='del'>- *  element with the value returned by the block.</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#collect.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='add'>+ *     array.collect! {|item| block }   -&gt;   array</div><div class='add'>+ *     array.map!     {|item| block }   -&gt;   array</div><div class='ctx'>  *</div><div class='add'>+ *  Invokes the block once for each element of _self_, replacing the</div><div class='add'>+ *  element with the value returned by _block_.</div><div class='add'>+ *  See also &lt;code&gt;Enumerable#collect&lt;/code&gt;.</div><div class='add'>+ *   </div><div class='ctx'>  *     a = [ "a", "b", "c", "d" ]</div><div class='del'>- *     a.map! {|x| x + "!" }</div><div class='del'>- *     a #=&gt;  [ "a!", "b!", "c!", "d!" ]</div><div class='del'>- *     a.collect!.with_index {|x, i| x[0...i] }</div><div class='del'>- *     a #=&gt;  ["", "b", "c!", "d!"]</div><div class='add'>+ *     a.collect! {|x| x + "!" }</div><div class='add'>+ *     a             #=&gt;  [ "a!", "b!", "c!", "d!" ]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_collect_bang(VALUE ary)</div><div class='add'>+rb_ary_collect_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	rb_ary_store(ary, i, rb_yield(RARRAY_AREF(ary, i)));</div><div class='add'>+    for (i = 0; i &lt; RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	rb_ary_store(ary, i, rb_yield(RARRAY(ary)-&gt;ptr[i]));</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_get_values_at(VALUE obj, long olen, int argc, const VALUE *argv, VALUE (*func) (VALUE, long))</div><div class='add'>+rb_values_at(obj, olen, argc, argv, func)</div><div class='add'>+    VALUE obj;</div><div class='add'>+    long olen;</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE (*func) _((VALUE,long));</div><div class='ctx'> {</div><div class='ctx'>     VALUE result = rb_ary_new2(argc);</div><div class='ctx'>     long beg, len, i, j;</div><div class='hunk'>@@ -3059,13 +1758,15 @@ rb_get_values_at(VALUE obj, long olen, int argc, const VALUE *argv, VALUE (*func</div><div class='ctx'> 	    continue;</div><div class='ctx'> 	}</div><div class='ctx'> 	/* check if idx is Range */</div><div class='del'>-	if (rb_range_beg_len(argv[i], &amp;beg, &amp;len, olen, 1)) {</div><div class='del'>-	    long end = olen &lt; beg+len ? olen : beg+len;</div><div class='del'>-	    for (j = beg; j &lt; end; j++) {</div><div class='del'>-		rb_ary_push(result, (*func)(obj, j));</div><div class='add'>+	switch (rb_range_beg_len(argv[i], &amp;beg, &amp;len, olen, 0)) {</div><div class='add'>+	  case Qfalse:</div><div class='add'>+	    break;</div><div class='add'>+	  case Qnil:</div><div class='add'>+	    continue;</div><div class='add'>+	  default:</div><div class='add'>+	    for (j=0; j&lt;len; j++) {</div><div class='add'>+		rb_ary_push(result, (*func)(obj, j+beg));</div><div class='ctx'> 	    }</div><div class='del'>-	    if (beg + len &gt; j)</div><div class='del'>-		rb_ary_resize(result, RARRAY_LEN(result) + (beg + len) - j);</div><div class='ctx'> 	    continue;</div><div class='ctx'> 	}</div><div class='ctx'> 	rb_ary_push(result, (*func)(obj, NUM2LONG(argv[i])));</div><div class='hunk'>@@ -3073,297 +1774,118 @@ rb_get_values_at(VALUE obj, long olen, int argc, const VALUE *argv, VALUE (*func</div><div class='ctx'>     return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-append_values_at_single(VALUE result, VALUE ary, long olen, VALUE idx)</div><div class='del'>-{</div><div class='del'>-    long beg, len;</div><div class='del'>-    if (FIXNUM_P(idx)) {</div><div class='del'>-	beg = FIX2LONG(idx);</div><div class='del'>-    }</div><div class='del'>-    /* check if idx is Range */</div><div class='del'>-    else if (rb_range_beg_len(idx, &amp;beg, &amp;len, olen, 1)) {</div><div class='del'>-	if (len &gt; 0) {</div><div class='del'>-            const VALUE *const src = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-	    const long end = beg + len;</div><div class='del'>-	    const long prevlen = RARRAY_LEN(result);</div><div class='del'>-	    if (beg &lt; olen) {</div><div class='del'>-		rb_ary_cat(result, src + beg, end &gt; olen ? olen-beg : len);</div><div class='del'>-	    }</div><div class='del'>-	    if (end &gt; olen) {</div><div class='del'>-		rb_ary_store(result, prevlen + len - 1, Qnil);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	return result;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	beg = NUM2LONG(idx);</div><div class='del'>-    }</div><div class='del'>-    return rb_ary_push(result, rb_ary_entry(ary, beg));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.values_at(selector, ...)  -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns an array containing the elements in +self+ corresponding to the</div><div class='del'>- *  given +selector+(s).</div><div class='del'>- *</div><div class='del'>- *  The selectors may be either integer indices or ranges.</div><div class='del'>- *</div><div class='del'>- *  See also Array#select.</div><div class='add'>+ *     array.values_at(selector,... )  -&gt; an_array</div><div class='ctx'>  *</div><div class='add'>+ *  Returns an array containing the elements in</div><div class='add'>+ *  _self_ corresponding to the given selector(s). The selectors</div><div class='add'>+ *  may be either integer indices or ranges. </div><div class='add'>+ *  See also &lt;code&gt;Array#select&lt;/code&gt;.</div><div class='add'>+ * </div><div class='ctx'>  *     a = %w{ a b c d e f }</div><div class='del'>- *     a.values_at(1, 3, 5)          # =&gt; ["b", "d", "f"]</div><div class='del'>- *     a.values_at(1, 3, 5, 7)       # =&gt; ["b", "d", "f", nil]</div><div class='del'>- *     a.values_at(-1, -2, -2, -7)   # =&gt; ["f", "e", "e", nil]</div><div class='del'>- *     a.values_at(4..6, 3...6)      # =&gt; ["e", "f", nil, "d", "e", "f"]</div><div class='add'>+ *     a.values_at(1, 3, 5)</div><div class='add'>+ *     a.values_at(1, 3, 5, 7)</div><div class='add'>+ *     a.values_at(-1, -3, -5, -7)</div><div class='add'>+ *     a.values_at(1..3, 2...5)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_values_at(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_values_at(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long i, olen = RARRAY_LEN(ary);</div><div class='del'>-    VALUE result = rb_ary_new_capa(argc);</div><div class='del'>-    for (i = 0; i &lt; argc; ++i) {</div><div class='del'>-	append_values_at_single(result, ary, olen, argv[i]);</div><div class='del'>-    }</div><div class='del'>-    RB_GC_GUARD(ary);</div><div class='del'>-    return result;</div><div class='add'>+    return rb_values_at(ary, RARRAY(ary)-&gt;len, argc, argv, rb_ary_entry);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.select {|item| block}   -&gt; new_ary</div><div class='del'>- *     ary.select                  -&gt; Enumerator</div><div class='del'>- *     ary.filter {|item| block}   -&gt; new_ary</div><div class='del'>- *     ary.filter                  -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Returns a new array containing all elements of +ary+</div><div class='del'>- *  for which the given +block+ returns a true value.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *     [1,2,3,4,5].select {|num| num.even? }     #=&gt; [2, 4]</div><div class='del'>- *</div><div class='del'>- *     a = %w[ a b c d e f ]</div><div class='del'>- *     a.select {|v| v =~ /[aeiou]/ }    #=&gt; ["a", "e"]</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#select.</div><div class='del'>- *</div><div class='del'>- *  Array#filter is an alias for Array#select.</div><div class='add'>+ *     array.select {|item| block } -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Invokes the block passing in successive elements from &lt;i&gt;array&lt;/i&gt;,</div><div class='add'>+ *  returning an array containing those elements for which the block</div><div class='add'>+ *  returns a true value (equivalent to &lt;code&gt;Enumerable#select&lt;/code&gt;).</div><div class='add'>+ *     </div><div class='add'>+ *     a = %w{ a b c d e f }</div><div class='add'>+ *     a.select {|v| v =~ /[aeiou]/}   #=&gt; ["a", "e"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_select(VALUE ary)</div><div class='add'>+rb_ary_select(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     VALUE result;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    result = rb_ary_new2(RARRAY_LEN(ary));</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {</div><div class='add'>+    result = rb_ary_new2(RARRAY(ary)-&gt;len);</div><div class='add'>+    for (i = 0; i &lt; RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	if (RTEST(rb_yield(RARRAY(ary)-&gt;ptr[i]))) {</div><div class='ctx'> 	    rb_ary_push(result, rb_ary_elt(ary, i));</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-struct select_bang_arg {</div><div class='del'>-    VALUE ary;</div><div class='del'>-    long len[2];</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-select_bang_i(VALUE a)</div><div class='del'>-{</div><div class='del'>-    volatile struct select_bang_arg *arg = (void *)a;</div><div class='del'>-    VALUE ary = arg-&gt;ary;</div><div class='del'>-    long i1, i2;</div><div class='del'>-</div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); arg-&gt;len[0] = ++i1) {</div><div class='del'>-	VALUE v = RARRAY_AREF(ary, i1);</div><div class='del'>-	if (!RTEST(rb_yield(v))) continue;</div><div class='del'>-	if (i1 != i2) {</div><div class='del'>-	    rb_ary_store(ary, i2, v);</div><div class='del'>-	}</div><div class='del'>-	arg-&gt;len[1] = ++i2;</div><div class='del'>-    }</div><div class='del'>-    return (i1 == i2) ? Qnil : ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-select_bang_ensure(VALUE a)</div><div class='del'>-{</div><div class='del'>-    volatile struct select_bang_arg *arg = (void *)a;</div><div class='del'>-    VALUE ary = arg-&gt;ary;</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    long i1 = arg-&gt;len[0], i2 = arg-&gt;len[1];</div><div class='del'>-</div><div class='del'>-    if (i2 &lt; len &amp;&amp; i2 &lt; i1) {</div><div class='del'>-	long tail = 0;</div><div class='del'>-	if (i1 &lt; len) {</div><div class='del'>-	    tail = len - i1;</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-		    MEMMOVE(ptr + i2, ptr + i1, VALUE, tail);</div><div class='del'>-		});</div><div class='del'>-	}</div><div class='del'>-	ARY_SET_LEN(ary, i2 + tail);</div><div class='del'>-    }</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.select! {|item| block } -&gt; ary or nil</div><div class='del'>- *     ary.select!                 -&gt; Enumerator</div><div class='del'>- *     ary.filter! {|item| block } -&gt; ary or nil</div><div class='del'>- *     ary.filter!                 -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Invokes the given block passing in successive elements from +self+,</div><div class='del'>- *  deleting elements for which the block returns a +false+ value.</div><div class='del'>- *</div><div class='del'>- *  The array may not be changed instantly every time the block is called.</div><div class='del'>- *</div><div class='del'>- *  If changes were made, it will return +self+, otherwise it returns +nil+.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *  See also Array#keep_if.</div><div class='del'>- *</div><div class='del'>- *  Array#filter! is an alias for Array#select!.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_select_bang(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    struct select_bang_arg args;</div><div class='del'>-</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-</div><div class='del'>-    args.ary = ary;</div><div class='del'>-    args.len[0] = args.len[1] = 0;</div><div class='del'>-    return rb_ensure(select_bang_i, (VALUE)&amp;args, select_bang_ensure, (VALUE)&amp;args);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.keep_if {|item| block}   -&gt; ary</div><div class='del'>- *     ary.keep_if                  -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Deletes every element of +self+ for which the given block evaluates to</div><div class='del'>- *  +false+, and returns +self+.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *     a = %w[ a b c d e f ]</div><div class='del'>- *     a.keep_if {|v| v =~ /[aeiou]/ }    #=&gt; ["a", "e"]</div><div class='del'>- *     a                                  #=&gt; ["a", "e"]</div><div class='del'>- *</div><div class='del'>- *  See also Array#select!.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_keep_if(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    rb_ary_select_bang(ary);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ary_resize_smaller(VALUE ary, long len)</div><div class='del'>-{</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    if (RARRAY_LEN(ary) &gt; len) {</div><div class='del'>-	ARY_SET_LEN(ary, len);</div><div class='del'>-	if (len * 2 &lt; ARY_CAPA(ary) &amp;&amp;</div><div class='del'>-	    ARY_CAPA(ary) &gt; ARY_DEFAULT_SIZE) {</div><div class='del'>-	    ary_resize_capa(ary, len * 2);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.delete(obj)            -&gt; item or nil</div><div class='del'>- *     ary.delete(obj) {block}    -&gt; item or result of block</div><div class='del'>- *</div><div class='del'>- *  Deletes all items from +self+ that are equal to +obj+.</div><div class='del'>- *</div><div class='del'>- *  Returns the last deleted item, or +nil+ if no matching item is found.</div><div class='del'>- *</div><div class='del'>- *  If the optional code block is given, the result of the block is returned if</div><div class='del'>- *  the item is not found.  (To remove +nil+ elements and get an informative</div><div class='del'>- *  return value, use Array#compact!)</div><div class='del'>- *</div><div class='add'>+ *     array.delete(obj)            -&gt; obj or nil </div><div class='add'>+ *     array.delete(obj) { block }  -&gt; obj or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Deletes items from &lt;i&gt;self&lt;/i&gt; that are equal to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='add'>+ *  the item is not found, returns &lt;code&gt;nil&lt;/code&gt;. If the optional</div><div class='add'>+ *  code block is given, returns the result of &lt;i&gt;block&lt;/i&gt; if the item</div><div class='add'>+ *  is not found.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "b", "b", "c" ]</div><div class='ctx'>  *     a.delete("b")                   #=&gt; "b"</div><div class='ctx'>  *     a                               #=&gt; ["a", "c"]</div><div class='ctx'>  *     a.delete("z")                   #=&gt; nil</div><div class='del'>- *     a.delete("z") {"not found"}     #=&gt; "not found"</div><div class='add'>+ *     a.delete("z") { "not found" }   #=&gt; "not found"</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_delete(VALUE ary, VALUE item)</div><div class='add'>+rb_ary_delete(ary, item)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    VALUE item;</div><div class='ctx'> {</div><div class='del'>-    VALUE v = item;</div><div class='ctx'>     long i1, i2;</div><div class='ctx'> </div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); i1++) {</div><div class='del'>-	VALUE e = RARRAY_AREF(ary, i1);</div><div class='add'>+    for (i1 = i2 = 0; i1 &lt; RARRAY(ary)-&gt;len; i1++) {</div><div class='add'>+	VALUE e = RARRAY(ary)-&gt;ptr[i1];</div><div class='ctx'> </div><div class='del'>-	if (rb_equal(e, item)) {</div><div class='del'>-	    v = e;</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='add'>+	if (rb_equal(e, item)) continue;</div><div class='ctx'> 	if (i1 != i2) {</div><div class='ctx'> 	    rb_ary_store(ary, i2, e);</div><div class='ctx'> 	}</div><div class='ctx'> 	i2++;</div><div class='ctx'>     }</div><div class='del'>-    if (RARRAY_LEN(ary) == i2) {</div><div class='add'>+    if (RARRAY(ary)-&gt;len == i2) {</div><div class='ctx'> 	if (rb_block_given_p()) {</div><div class='ctx'> 	    return rb_yield(item);</div><div class='ctx'> 	}</div><div class='ctx'> 	return Qnil;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    ary_resize_smaller(ary, i2);</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return v;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ary_delete_same(VALUE ary, VALUE item)</div><div class='del'>-{</div><div class='del'>-    long i1, i2;</div><div class='del'>-</div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); i1++) {</div><div class='del'>-	VALUE e = RARRAY_AREF(ary, i1);</div><div class='del'>-</div><div class='del'>-	if (e == item) {</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='del'>-	if (i1 != i2) {</div><div class='del'>-	    rb_ary_store(ary, i2, e);</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    if (RARRAY(ary)-&gt;len &gt; i2) {</div><div class='add'>+	RARRAY(ary)-&gt;len = i2;</div><div class='add'>+	if (i2 * 2 &lt; RARRAY(ary)-&gt;aux.capa &amp;&amp;</div><div class='add'>+	    RARRAY(ary)-&gt;aux.capa &gt; ARY_DEFAULT_SIZE) {</div><div class='add'>+	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, i2 * 2);</div><div class='add'>+	    RARRAY(ary)-&gt;aux.capa = i2 * 2;</div><div class='ctx'> 	}</div><div class='del'>-	i2++;</div><div class='del'>-    }</div><div class='del'>-    if (RARRAY_LEN(ary) == i2) {</div><div class='del'>-	return;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    ary_resize_smaller(ary, i2);</div><div class='add'>+    return item;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_delete_at(VALUE ary, long pos)</div><div class='add'>+rb_ary_delete_at(ary, pos)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long pos;</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='add'>+    long i, len = RARRAY(ary)-&gt;len;</div><div class='ctx'>     VALUE del;</div><div class='ctx'> </div><div class='ctx'>     if (pos &gt;= len) return Qnil;</div><div class='hunk'>@@ -3373,48 +1895,52 @@ rb_ary_delete_at(VALUE ary, long pos)</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    del = RARRAY_AREF(ary, pos);</div><div class='del'>-    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='del'>-        MEMMOVE(ptr+pos, ptr+pos+1, VALUE, len-pos-1);</div><div class='del'>-    });</div><div class='del'>-    ARY_INCREASE_LEN(ary, -1);</div><div class='del'>-    ary_verify(ary);</div><div class='add'>+    del = RARRAY(ary)-&gt;ptr[pos];</div><div class='add'>+    for (i = pos + 1; i &lt; len; i++, pos++) {</div><div class='add'>+	RARRAY(ary)-&gt;ptr[pos] = RARRAY(ary)-&gt;ptr[i];</div><div class='add'>+    }</div><div class='add'>+    RARRAY(ary)-&gt;len = pos;</div><div class='add'>+</div><div class='ctx'>     return del;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.delete_at(index)  -&gt; obj or nil</div><div class='del'>- *</div><div class='del'>- *  Deletes the element at the specified +index+, returning that element, or</div><div class='del'>- *  +nil+ if the +index+ is out of range.</div><div class='del'>- *</div><div class='del'>- *  See also Array#slice!</div><div class='del'>- *</div><div class='del'>- *     a = ["ant", "bat", "cat", "dog"]</div><div class='add'>+ *     array.delete_at(index)  -&gt; obj or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Deletes the element at the specified index, returning that element,</div><div class='add'>+ *  or &lt;code&gt;nil&lt;/code&gt; if the index is out of range. See also</div><div class='add'>+ *  &lt;code&gt;Array#slice!&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     a = %w( ant bat cat dog )</div><div class='ctx'>  *     a.delete_at(2)    #=&gt; "cat"</div><div class='ctx'>  *     a                 #=&gt; ["ant", "bat", "dog"]</div><div class='ctx'>  *     a.delete_at(99)   #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_delete_at_m(VALUE ary, VALUE pos)</div><div class='add'>+rb_ary_delete_at_m(ary, pos)</div><div class='add'>+    VALUE ary, pos;</div><div class='ctx'> {</div><div class='ctx'>     return rb_ary_delete_at(ary, NUM2LONG(pos));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.slice!(index)         -&gt; obj or nil</div><div class='del'>- *     ary.slice!(start, length) -&gt; new_ary or nil</div><div class='del'>- *     ary.slice!(range)         -&gt; new_ary or nil</div><div class='del'>- *</div><div class='del'>- *  Deletes the element(s) given by an +index+ (optionally up to +length+</div><div class='del'>- *  elements) or by a +range+.</div><div class='del'>- *</div><div class='del'>- *  Returns the deleted object (or objects), or +nil+ if the +index+ is out of</div><div class='del'>- *  range.</div><div class='del'>- *</div><div class='add'>+ *     array.slice!(index)         -&gt; obj or nil</div><div class='add'>+ *     array.slice!(start, length) -&gt; sub_array or nil</div><div class='add'>+ *     array.slice!(range)         -&gt; sub_array or nil </div><div class='add'>+ *  </div><div class='add'>+ *  Deletes the element(s) given by an index (optionally with a length)</div><div class='add'>+ *  or by a range. Returns the deleted object, subarray, or</div><div class='add'>+ *  &lt;code&gt;nil&lt;/code&gt; if the index is out of range. Equivalent to:</div><div class='add'>+ *     </div><div class='add'>+ *     def slice!(*args)</div><div class='add'>+ *       result = self[*args]</div><div class='add'>+ *       self[*args] = nil</div><div class='add'>+ *       result</div><div class='add'>+ *     end</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='ctx'>  *     a.slice!(1)     #=&gt; "b"</div><div class='ctx'>  *     a               #=&gt; ["a", "c"]</div><div class='hunk'>@@ -3425,311 +1951,194 @@ rb_ary_delete_at_m(VALUE ary, VALUE pos)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_slice_bang(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_slice_bang(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     VALUE arg1, arg2;</div><div class='del'>-    long pos, len, orig_len;</div><div class='add'>+    long pos, len;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    if (argc == 2) {</div><div class='del'>-	pos = NUM2LONG(argv[0]);</div><div class='del'>-	len = NUM2LONG(argv[1]);</div><div class='add'>+    if (rb_scan_args(argc, argv, "11", &amp;arg1, &amp;arg2) == 2) {</div><div class='add'>+	pos = NUM2LONG(arg1);</div><div class='add'>+	len = NUM2LONG(arg2);</div><div class='ctx'>       delete_pos_len:</div><div class='del'>-	if (len &lt; 0) return Qnil;</div><div class='del'>-	orig_len = RARRAY_LEN(ary);</div><div class='ctx'> 	if (pos &lt; 0) {</div><div class='del'>-	    pos += orig_len;</div><div class='del'>-	    if (pos &lt; 0) return Qnil;</div><div class='add'>+	    pos = RARRAY(ary)-&gt;len + pos;</div><div class='ctx'> 	}</div><div class='del'>-	else if (orig_len &lt; pos) return Qnil;</div><div class='del'>-	if (orig_len &lt; pos + len) {</div><div class='del'>-	    len = orig_len - pos;</div><div class='del'>-	}</div><div class='del'>-	if (len == 0) return rb_ary_new2(0);</div><div class='del'>-        arg2 = rb_ary_new4(len, RARRAY_CONST_PTR_TRANSIENT(ary)+pos);</div><div class='del'>-	RBASIC_SET_CLASS(arg2, rb_obj_class(ary));</div><div class='del'>-	rb_ary_splice(ary, pos, len, 0, 0);</div><div class='add'>+	arg2 = rb_ary_subseq(ary, pos, len);</div><div class='add'>+	rb_ary_splice(ary, pos, len, Qnil);	/* Qnil/rb_ary_new2(0) */</div><div class='ctx'> 	return arg2;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    rb_check_arity(argc, 1, 2);</div><div class='del'>-    arg1 = argv[0];</div><div class='del'>-</div><div class='del'>-    if (!FIXNUM_P(arg1)) {</div><div class='del'>-	switch (rb_range_beg_len(arg1, &amp;pos, &amp;len, RARRAY_LEN(ary), 0)) {</div><div class='del'>-	  case Qtrue:</div><div class='del'>-	    /* valid range */</div><div class='del'>-	    goto delete_pos_len;</div><div class='del'>-	  case Qnil:</div><div class='del'>-	    /* invalid range */</div><div class='del'>-	    return Qnil;</div><div class='del'>-	  default:</div><div class='del'>-	    /* not a range */</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='add'>+    if (!FIXNUM_P(arg1) &amp;&amp; rb_range_beg_len(arg1, &amp;pos, &amp;len, RARRAY(ary)-&gt;len, 1)) {</div><div class='add'>+	goto delete_pos_len;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return rb_ary_delete_at(ary, NUM2LONG(arg1));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_reject(VALUE orig, VALUE result)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(orig); i++) {</div><div class='del'>-	VALUE v = RARRAY_AREF(orig, i);</div><div class='del'>-</div><div class='del'>-        if (!RTEST(rb_yield(v))) {</div><div class='del'>-	    rb_ary_push(result, v);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     array.reject! {|item| block }  -&gt; array or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Equivalent to &lt;code&gt;Array#delete_if&lt;/code&gt;, deleting elements from</div><div class='add'>+ *  _self_ for which the block evaluates to true, but returns</div><div class='add'>+ *  &lt;code&gt;nil&lt;/code&gt; if no changes were made. Also see</div><div class='add'>+ *  &lt;code&gt;Enumerable#reject&lt;/code&gt;.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-reject_bang_i(VALUE a)</div><div class='add'>+rb_ary_reject_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    volatile struct select_bang_arg *arg = (void *)a;</div><div class='del'>-    VALUE ary = arg-&gt;ary;</div><div class='ctx'>     long i1, i2;</div><div class='ctx'> </div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); arg-&gt;len[0] = ++i1) {</div><div class='del'>-	VALUE v = RARRAY_AREF(ary, i1);</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    for (i1 = i2 = 0; i1 &lt; RARRAY(ary)-&gt;len; i1++) {</div><div class='add'>+	VALUE v = RARRAY(ary)-&gt;ptr[i1];</div><div class='ctx'> 	if (RTEST(rb_yield(v))) continue;</div><div class='ctx'> 	if (i1 != i2) {</div><div class='ctx'> 	    rb_ary_store(ary, i2, v);</div><div class='ctx'> 	}</div><div class='del'>-	arg-&gt;len[1] = ++i2;</div><div class='add'>+	i2++;</div><div class='ctx'>     }</div><div class='del'>-    return (i1 == i2) ? Qnil : ary;</div><div class='del'>-}</div><div class='add'>+    if (RARRAY(ary)-&gt;len == i2) return Qnil;</div><div class='add'>+    if (i2 &lt; RARRAY(ary)-&gt;len)</div><div class='add'>+	RARRAY(ary)-&gt;len = i2;</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_reject_bang(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    struct select_bang_arg args;</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    args.ary = ary;</div><div class='del'>-    args.len[0] = args.len[1] = 0;</div><div class='del'>-    return rb_ensure(reject_bang_i, (VALUE)&amp;args, select_bang_ensure, (VALUE)&amp;args);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.reject! {|item| block}    -&gt; ary or nil</div><div class='del'>- *     ary.reject!                   -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Deletes every element of +self+ for which the block evaluates to +true+,</div><div class='del'>- *  if no changes were made returns +nil+.</div><div class='del'>- *</div><div class='del'>- *  The array may not be changed instantly every time the block is called.</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#reject and Array#delete_if.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_reject_bang(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    return ary_reject_bang(ary);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.reject  {|item| block }  -&gt; new_ary</div><div class='del'>- *     ary.reject                   -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Returns a new array containing the items in +self+ for which the given</div><div class='del'>- *  block is not +true+. The ordering of non-rejected elements is maintained.</div><div class='del'>- *</div><div class='del'>- *  See also Array#delete_if</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='add'>+ *     array.reject {|item| block }  -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns a new array containing the items in _self_</div><div class='add'>+ *  for which the block is not true.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_reject(VALUE ary)</div><div class='add'>+rb_ary_reject(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE rejected_ary;</div><div class='del'>-</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    rejected_ary = rb_ary_new();</div><div class='del'>-    ary_reject(ary, rejected_ary);</div><div class='del'>-    return rejected_ary;</div><div class='add'>+    ary = rb_ary_dup(ary);</div><div class='add'>+    rb_ary_reject_bang(ary);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.delete_if {|item| block}    -&gt; ary</div><div class='del'>- *     ary.delete_if                   -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Deletes every element of +self+ for which block evaluates to +true+.</div><div class='del'>- *</div><div class='del'>- *  The array is changed instantly every time the block is called, not after</div><div class='del'>- *  the iteration is over.</div><div class='del'>- *</div><div class='del'>- *  See also Array#reject!</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *     scores = [ 97, 42, 75 ]</div><div class='del'>- *     scores.delete_if {|score| score &lt; 80 }   #=&gt; [97]</div><div class='add'>+ *     array.delete_if {|item| block }  -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Deletes every element of &lt;i&gt;self&lt;/i&gt; for which &lt;i&gt;block&lt;/i&gt; evaluates</div><div class='add'>+ *  to &lt;code&gt;true&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     a = [ "a", "b", "c" ]</div><div class='add'>+ *     a.delete_if {|x| x &gt;= "b" }   #=&gt; ["a"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_delete_if(VALUE ary)</div><div class='add'>+rb_ary_delete_if(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='del'>-    ary_reject_bang(ary);</div><div class='add'>+    rb_ary_reject_bang(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-take_i(RB_BLOCK_CALL_FUNC_ARGLIST(val, cbarg))</div><div class='del'>-{</div><div class='del'>-    VALUE *args = (VALUE *)cbarg;</div><div class='del'>-    if (args[1] == 0) rb_iter_break();</div><div class='del'>-    else args[1]--;</div><div class='del'>-    if (argc &gt; 1) val = rb_ary_new4(argc, argv);</div><div class='del'>-    rb_ary_push(args[0], val);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-take_items(VALUE obj, long n)</div><div class='del'>-{</div><div class='del'>-    VALUE result = rb_check_array_type(obj);</div><div class='del'>-    VALUE args[2];</div><div class='del'>-</div><div class='del'>-    if (!NIL_P(result)) return rb_ary_subseq(result, 0, n);</div><div class='del'>-    result = rb_ary_new2(n);</div><div class='del'>-    args[0] = result; args[1] = (VALUE)n;</div><div class='del'>-    if (rb_check_block_call(obj, idEach, 0, 0, take_i, (VALUE)args) == Qundef)</div><div class='del'>-	rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (must respond to :each)",</div><div class='del'>-		 rb_obj_class(obj));</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.zip(arg, ...)                  -&gt; new_ary</div><div class='del'>- *     ary.zip(arg, ...) {|arr| block}    -&gt; nil</div><div class='del'>- *</div><div class='del'>- *  Converts any arguments to arrays, then merges elements of +self+ with</div><div class='del'>- *  corresponding elements from each argument.</div><div class='del'>- *</div><div class='del'>- *  This generates a sequence of &lt;code&gt;ary.size&lt;/code&gt; _n_-element arrays,</div><div class='del'>- *  where _n_ is one more than the count of arguments.</div><div class='del'>- *</div><div class='del'>- *  If the size of any argument is less than the size of the initial array,</div><div class='del'>- *  +nil+ values are supplied.</div><div class='del'>- *</div><div class='del'>- *  If a block is given, it is invoked for each output +array+, otherwise an</div><div class='del'>- *  array of arrays is returned.</div><div class='del'>- *</div><div class='add'>+ *     array.zip(arg, ...)                   -&gt; an_array</div><div class='add'>+ *     array.zip(arg, ...) {| arr | block }  -&gt; nil</div><div class='add'>+ *  </div><div class='add'>+ *  Converts any arguments to arrays, then merges elements of</div><div class='add'>+ *  &lt;i&gt;self&lt;/i&gt; with corresponding elements from each argument. This</div><div class='add'>+ *  generates a sequence of &lt;code&gt;self.size&lt;/code&gt; &lt;em&gt;n&lt;/em&gt;-element</div><div class='add'>+ *  arrays, where &lt;em&gt;n&lt;/em&gt; is one more that the count of arguments. If</div><div class='add'>+ *  the size of any argument is less than &lt;code&gt;enumObj.size&lt;/code&gt;,</div><div class='add'>+ *  &lt;code&gt;nil&lt;/code&gt; values are supplied. If a block given, it is</div><div class='add'>+ *  invoked for each output array, otherwise an array of arrays is</div><div class='add'>+ *  returned.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ 4, 5, 6 ]</div><div class='ctx'>  *     b = [ 7, 8, 9 ]</div><div class='del'>- *     [1, 2, 3].zip(a, b)   #=&gt; [[1, 4, 7], [2, 5, 8], [3, 6, 9]]</div><div class='del'>- *     [1, 2].zip(a, b)      #=&gt; [[1, 4, 7], [2, 5, 8]]</div><div class='del'>- *     a.zip([1, 2], [8])    #=&gt; [[4, 1, 8], [5, 2, nil], [6, nil, nil]]</div><div class='add'>+ *     </div><div class='add'>+ *     [1,2,3].zip(a, b)      #=&gt; [[1, 4, 7], [2, 5, 8], [3, 6, 9]]</div><div class='add'>+ *     [1,2].zip(a,b)         #=&gt; [[1, 4, 7], [2, 5, 8]]</div><div class='add'>+ *     a.zip([1,2],[8])       #=&gt; [[4,1,8], [5,2,nil], [6,nil,nil]]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_zip(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_zip(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     int i, j;</div><div class='del'>-    long len = RARRAY_LEN(ary);</div><div class='del'>-    VALUE result = Qnil;</div><div class='add'>+    long len;</div><div class='add'>+    VALUE result;</div><div class='ctx'> </div><div class='ctx'>     for (i=0; i&lt;argc; i++) {</div><div class='del'>-	argv[i] = take_items(argv[i], len);</div><div class='add'>+	argv[i] = to_ary(argv[i]);</div><div class='ctx'>     }</div><div class='del'>-</div><div class='ctx'>     if (rb_block_given_p()) {</div><div class='del'>-	int arity = rb_block_arity();</div><div class='del'>-</div><div class='del'>-	if (arity &gt; 1) {</div><div class='del'>-	    VALUE work, *tmp;</div><div class='add'>+	for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	    VALUE tmp = rb_ary_new2(argc+1);</div><div class='ctx'> </div><div class='del'>-	    tmp = ALLOCV_N(VALUE, work, argc+1);</div><div class='del'>-</div><div class='del'>-	    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-		tmp[0] = RARRAY_AREF(ary, i);</div><div class='del'>-		for (j=0; j&lt;argc; j++) {</div><div class='del'>-		    tmp[j+1] = rb_ary_elt(argv[j], i);</div><div class='del'>-		}</div><div class='del'>-		rb_yield_values2(argc+1, tmp);</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (work) ALLOCV_END(work);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-		VALUE tmp = rb_ary_new2(argc+1);</div><div class='del'>-</div><div class='del'>-		rb_ary_push(tmp, RARRAY_AREF(ary, i));</div><div class='del'>-		for (j=0; j&lt;argc; j++) {</div><div class='del'>-		    rb_ary_push(tmp, rb_ary_elt(argv[j], i));</div><div class='del'>-		}</div><div class='del'>-		rb_yield(tmp);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	result = rb_ary_new_capa(len);</div><div class='del'>-</div><div class='del'>-	for (i=0; i&lt;len; i++) {</div><div class='del'>-	    VALUE tmp = rb_ary_new_capa(argc+1);</div><div class='del'>-</div><div class='del'>-	    rb_ary_push(tmp, RARRAY_AREF(ary, i));</div><div class='add'>+	    rb_ary_push(tmp, rb_ary_elt(ary, i));</div><div class='ctx'> 	    for (j=0; j&lt;argc; j++) {</div><div class='ctx'> 		rb_ary_push(tmp, rb_ary_elt(argv[j], i));</div><div class='ctx'> 	    }</div><div class='del'>-	    rb_ary_push(result, tmp);</div><div class='add'>+	    rb_yield(tmp);</div><div class='ctx'> 	}</div><div class='add'>+	return Qnil;</div><div class='ctx'>     }</div><div class='add'>+    len = RARRAY(ary)-&gt;len;</div><div class='add'>+    result = rb_ary_new2(len);</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+	VALUE tmp = rb_ary_new2(argc+1);</div><div class='ctx'> </div><div class='add'>+	rb_ary_push(tmp, rb_ary_elt(ary, i));</div><div class='add'>+	for (j=0; j&lt;argc; j++) {</div><div class='add'>+	    rb_ary_push(tmp, rb_ary_elt(argv[j], i));</div><div class='add'>+	}</div><div class='add'>+	rb_ary_push(result, tmp);</div><div class='add'>+    }</div><div class='ctx'>     return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.transpose -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Assumes that +self+ is an array of arrays and transposes the rows and</div><div class='del'>- *  columns.</div><div class='del'>- *</div><div class='add'>+ *     array.transpose -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Assumes that &lt;i&gt;self&lt;/i&gt; is an array of arrays and transposes the</div><div class='add'>+ *  rows and columns.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [[1,2], [3,4], [5,6]]</div><div class='ctx'>  *     a.transpose   #=&gt; [[1, 3, 5], [2, 4, 6]]</div><div class='del'>- *</div><div class='del'>- *  If the length of the subarrays don't match, an IndexError is raised.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_transpose(VALUE ary)</div><div class='add'>+rb_ary_transpose(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     long elen = -1, alen, i, j;</div><div class='ctx'>     VALUE tmp, result = 0;</div><div class='ctx'> </div><div class='del'>-    alen = RARRAY_LEN(ary);</div><div class='add'>+    alen = RARRAY(ary)-&gt;len;</div><div class='ctx'>     if (alen == 0) return rb_ary_dup(ary);</div><div class='ctx'>     for (i=0; i&lt;alen; i++) {</div><div class='ctx'> 	tmp = to_ary(rb_ary_elt(ary, i));</div><div class='ctx'> 	if (elen &lt; 0) {		/* first element */</div><div class='del'>-	    elen = RARRAY_LEN(tmp);</div><div class='add'>+	    elen = RARRAY(tmp)-&gt;len;</div><div class='ctx'> 	    result = rb_ary_new2(elen);</div><div class='ctx'> 	    for (j=0; j&lt;elen; j++) {</div><div class='ctx'> 		rb_ary_store(result, j, rb_ary_new2(alen));</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='del'>-	else if (elen != RARRAY_LEN(tmp)) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "element size differs (%ld should be %ld)",</div><div class='del'>-		     RARRAY_LEN(tmp), elen);</div><div class='add'>+	else if (elen != RARRAY(tmp)-&gt;len) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "element size differs (%d should be %d)",</div><div class='add'>+		     RARRAY(tmp)-&gt;len, elen);</div><div class='ctx'> 	}</div><div class='ctx'> 	for (j=0; j&lt;elen; j++) {</div><div class='ctx'> 	    rb_ary_store(rb_ary_elt(result, j), i, rb_ary_elt(tmp, j));</div><div class='hunk'>@@ -3740,111 +2149,75 @@ rb_ary_transpose(VALUE ary)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.replace(other_ary)  -&gt; ary</div><div class='del'>- *     ary.initialize_copy(other_ary)	-&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Replaces the contents of +self+ with the contents of +other_ary+,</div><div class='del'>- *  truncating or expanding if necessary.</div><div class='del'>- *</div><div class='add'>+ *     array.replace(other_array)  -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Replaces the contents of &lt;i&gt;self&lt;/i&gt; with the contents of</div><div class='add'>+ *  &lt;i&gt;other_array&lt;/i&gt;, truncating or expanding if necessary.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c", "d", "e" ]</div><div class='ctx'>  *     a.replace([ "x", "y", "z" ])   #=&gt; ["x", "y", "z"]</div><div class='ctx'>  *     a                              #=&gt; ["x", "y", "z"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_replace(VALUE copy, VALUE orig)</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_replace(copy, orig)</div><div class='add'>+    VALUE copy, orig;</div><div class='ctx'> {</div><div class='del'>-    rb_ary_modify_check(copy);</div><div class='add'>+    VALUE shared;</div><div class='add'>+</div><div class='add'>+    rb_ary_modify(copy);</div><div class='ctx'>     orig = to_ary(orig);</div><div class='ctx'>     if (copy == orig) return copy;</div><div class='add'>+    shared = ary_make_shared(orig);</div><div class='add'>+    if (RARRAY(copy)-&gt;ptr &amp;&amp; !FL_TEST(copy, ELTS_SHARED))</div><div class='add'>+	free(RARRAY(copy)-&gt;ptr);</div><div class='add'>+    RARRAY(copy)-&gt;ptr = RARRAY(orig)-&gt;ptr;</div><div class='add'>+    RARRAY(copy)-&gt;len = RARRAY(orig)-&gt;len;</div><div class='add'>+    RARRAY(copy)-&gt;aux.shared = shared;</div><div class='add'>+    FL_SET(copy, ELTS_SHARED);</div><div class='ctx'> </div><div class='del'>-    if (RARRAY_LEN(orig) &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='del'>-        VALUE shared = 0;</div><div class='del'>-</div><div class='del'>-        if (ARY_OWNS_HEAP_P(copy)) {</div><div class='del'>-            ary_heap_free(copy);</div><div class='del'>-	}</div><div class='del'>-        else if (ARY_SHARED_P(copy)) {</div><div class='del'>-            shared = ARY_SHARED(copy);</div><div class='del'>-            FL_UNSET_SHARED(copy);</div><div class='del'>-        }</div><div class='del'>-        FL_SET_EMBED(copy);</div><div class='del'>-        ary_memcpy(copy, 0, RARRAY_LEN(orig), RARRAY_CONST_PTR_TRANSIENT(orig));</div><div class='del'>-        if (shared) {</div><div class='del'>-            rb_ary_decrement_share(shared);</div><div class='del'>-        }</div><div class='del'>-        ARY_SET_LEN(copy, RARRAY_LEN(orig));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        VALUE shared = ary_make_shared(orig);</div><div class='del'>-        if (ARY_OWNS_HEAP_P(copy)) {</div><div class='del'>-            ary_heap_free(copy);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            rb_ary_unshare_safe(copy);</div><div class='del'>-        }</div><div class='del'>-        FL_UNSET_EMBED(copy);</div><div class='del'>-        ARY_SET_PTR(copy, ARY_HEAP_PTR(orig));</div><div class='del'>-        ARY_SET_LEN(copy, ARY_HEAP_LEN(orig));</div><div class='del'>-        rb_ary_set_shared(copy, shared);</div><div class='del'>-    }</div><div class='del'>-    ary_verify(copy);</div><div class='ctx'>     return copy;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.clear    -&gt; ary</div><div class='add'>+ *     array.clear    -&gt;  array</div><div class='ctx'>  *</div><div class='del'>- *  Removes all elements from +self+.</div><div class='add'>+ *  Removes all elements from _self_.</div><div class='ctx'>  *</div><div class='ctx'>  *     a = [ "a", "b", "c", "d", "e" ]</div><div class='ctx'>  *     a.clear    #=&gt; [ ]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_clear(VALUE ary)</div><div class='add'>+rb_ary_clear(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    if (ARY_SHARED_P(ary)) {</div><div class='del'>-	if (!ARY_EMBED_P(ary)) {</div><div class='del'>-	    rb_ary_unshare(ary);</div><div class='del'>-	    FL_SET_EMBED(ary);</div><div class='del'>-            ARY_SET_EMBED_LEN(ary, 0);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        ARY_SET_LEN(ary, 0);</div><div class='del'>-        if (ARY_DEFAULT_SIZE * 2 &lt; ARY_CAPA(ary)) {</div><div class='del'>-            ary_resize_capa(ary, ARY_DEFAULT_SIZE * 2);</div><div class='del'>-        }</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    RARRAY(ary)-&gt;len = 0;</div><div class='add'>+    if (ARY_DEFAULT_SIZE * 2 &lt; RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, ARY_DEFAULT_SIZE * 2);</div><div class='add'>+	RARRAY(ary)-&gt;aux.capa = ARY_DEFAULT_SIZE * 2;</div><div class='ctx'>     }</div><div class='del'>-    ary_verify(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.fill(obj)                                 -&gt; ary</div><div class='del'>- *     ary.fill(obj, start [, length])               -&gt; ary</div><div class='del'>- *     ary.fill(obj, range)                          -&gt; ary</div><div class='del'>- *     ary.fill {|index| block}                      -&gt; ary</div><div class='del'>- *     ary.fill(start [, length]) {|index| block}    -&gt; ary</div><div class='del'>- *     ary.fill(range) {|index| block}               -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  The first three forms set the selected elements of +self+ (which</div><div class='del'>- *  may be the entire array) to +obj+.</div><div class='del'>- *</div><div class='del'>- *  A +start+ of +nil+ is equivalent to zero.</div><div class='del'>- *</div><div class='del'>- *  A +length+ of +nil+ is equivalent to the length of the array.</div><div class='del'>- *</div><div class='del'>- *  The last three forms fill the array with the value of the given block,</div><div class='del'>- *  which is passed the absolute index of each element to be filled.</div><div class='del'>- *</div><div class='del'>- *  Negative values of +start+ count from the end of the array, where +-1+ is</div><div class='del'>- *  the last element.</div><div class='del'>- *</div><div class='add'>+ *     array.fill(obj)                                -&gt; array</div><div class='add'>+ *     array.fill(obj, start [, length])              -&gt; array</div><div class='add'>+ *     array.fill(obj, range )                        -&gt; array</div><div class='add'>+ *     array.fill {|index| block }                    -&gt; array</div><div class='add'>+ *     array.fill(start [, length] ) {|index| block } -&gt; array</div><div class='add'>+ *     array.fill(range) {|index| block }             -&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  The first three forms set the selected elements of &lt;i&gt;self&lt;/i&gt; (which</div><div class='add'>+ *  may be the entire array) to &lt;i&gt;obj&lt;/i&gt;. A &lt;i&gt;start&lt;/i&gt; of</div><div class='add'>+ *  &lt;code&gt;nil&lt;/code&gt; is equivalent to zero. A &lt;i&gt;length&lt;/i&gt; of</div><div class='add'>+ *  &lt;code&gt;nil&lt;/code&gt; is equivalent to &lt;i&gt;self.length&lt;/i&gt;. The last three</div><div class='add'>+ *  forms fill the array with the value of the block. The block is</div><div class='add'>+ *  passed the absolute index of each element to be filled.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c", "d" ]</div><div class='ctx'>  *     a.fill("x")              #=&gt; ["x", "x", "x", "x"]</div><div class='ctx'>  *     a.fill("z", 2, 2)        #=&gt; ["x", "x", "z", "z"]</div><div class='hunk'>@@ -3854,12 +2227,18 @@ rb_ary_clear(VALUE ary)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_fill(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_fill(argc, argv, ary)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE item = Qundef, arg1, arg2;</div><div class='add'>+    VALUE item, arg1, arg2;</div><div class='ctx'>     long beg = 0, end = 0, len = 0;</div><div class='add'>+    VALUE *p, *pend;</div><div class='add'>+    int block_p = Qfalse;</div><div class='ctx'> </div><div class='ctx'>     if (rb_block_given_p()) {</div><div class='add'>+	block_p = Qtrue;</div><div class='ctx'> 	rb_scan_args(argc, argv, "02", &amp;arg1, &amp;arg2);</div><div class='ctx'> 	argc += 1;		/* hackish */</div><div class='ctx'>     }</div><div class='hunk'>@@ -3869,162 +2248,109 @@ rb_ary_fill(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'>     switch (argc) {</div><div class='ctx'>       case 1:</div><div class='ctx'> 	beg = 0;</div><div class='del'>-	len = RARRAY_LEN(ary);</div><div class='add'>+	len = RARRAY(ary)-&gt;len;</div><div class='ctx'> 	break;</div><div class='ctx'>       case 2:</div><div class='del'>-	if (rb_range_beg_len(arg1, &amp;beg, &amp;len, RARRAY_LEN(ary), 1)) {</div><div class='add'>+	if (rb_range_beg_len(arg1, &amp;beg, &amp;len, RARRAY(ary)-&gt;len, 1)) {</div><div class='ctx'> 	    break;</div><div class='ctx'> 	}</div><div class='ctx'> 	/* fall through */</div><div class='ctx'>       case 3:</div><div class='ctx'> 	beg = NIL_P(arg1) ? 0 : NUM2LONG(arg1);</div><div class='ctx'> 	if (beg &lt; 0) {</div><div class='del'>-	    beg = RARRAY_LEN(ary) + beg;</div><div class='add'>+	    beg = RARRAY(ary)-&gt;len + beg;</div><div class='ctx'> 	    if (beg &lt; 0) beg = 0;</div><div class='ctx'> 	}</div><div class='del'>-	len = NIL_P(arg2) ? RARRAY_LEN(ary) - beg : NUM2LONG(arg2);</div><div class='add'>+	len = NIL_P(arg2) ? RARRAY(ary)-&gt;len - beg : NUM2LONG(arg2);</div><div class='ctx'> 	break;</div><div class='ctx'>     }</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    if (len &lt; 0) {</div><div class='del'>-        return ary;</div><div class='del'>-    }</div><div class='del'>-    if (beg &gt;= ARY_MAX_SIZE || len &gt; ARY_MAX_SIZE - beg) {</div><div class='del'>-	rb_raise(rb_eArgError, "argument too big");</div><div class='del'>-    }</div><div class='ctx'>     end = beg + len;</div><div class='del'>-    if (RARRAY_LEN(ary) &lt; end) {</div><div class='del'>-	if (end &gt;= ARY_CAPA(ary)) {</div><div class='del'>-	    ary_resize_capa(ary, end);</div><div class='add'>+    if (end &gt; RARRAY(ary)-&gt;len) {</div><div class='add'>+	if (end &gt;= RARRAY(ary)-&gt;aux.capa) {</div><div class='add'>+	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, end);</div><div class='add'>+	    RARRAY(ary)-&gt;aux.capa = end;</div><div class='ctx'> 	}</div><div class='del'>-	ary_mem_clear(ary, RARRAY_LEN(ary), end - RARRAY_LEN(ary));</div><div class='del'>-	ARY_SET_LEN(ary, end);</div><div class='add'>+	rb_mem_clear(RARRAY(ary)-&gt;ptr + RARRAY(ary)-&gt;len, end - RARRAY(ary)-&gt;len);</div><div class='add'>+	RARRAY(ary)-&gt;len = end;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (item == Qundef) {</div><div class='add'>+    if (block_p) {</div><div class='ctx'> 	VALUE v;</div><div class='ctx'> 	long i;</div><div class='ctx'> </div><div class='ctx'> 	for (i=beg; i&lt;end; i++) {</div><div class='ctx'> 	    v = rb_yield(LONG2NUM(i));</div><div class='del'>-	    if (i&gt;=RARRAY_LEN(ary)) break;</div><div class='del'>-	    ARY_SET(ary, i, v);</div><div class='add'>+	    if (i&gt;=RARRAY(ary)-&gt;len) break;</div><div class='add'>+	    RARRAY(ary)-&gt;ptr[i] = v;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	ary_memfill(ary, beg, len, item);</div><div class='add'>+	p = RARRAY(ary)-&gt;ptr + beg;</div><div class='add'>+	pend = p + len;</div><div class='add'>+	while (p &lt; pend) {</div><div class='add'>+	    *p++ = item;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary + other_ary   -&gt; new_ary</div><div class='add'>+ *     array + other_array   -&gt; an_array</div><div class='ctx'>  *</div><div class='del'>- *  Concatenation --- Returns a new array built by concatenating the</div><div class='add'>+ *  Concatenation---Returns a new array built by concatenating the</div><div class='ctx'>  *  two arrays together to produce a third array.</div><div class='del'>- *</div><div class='add'>+ * </div><div class='ctx'>  *     [ 1, 2, 3 ] + [ 4, 5 ]    #=&gt; [ 1, 2, 3, 4, 5 ]</div><div class='del'>- *     a = [ "a", "b", "c" ]</div><div class='del'>- *     c = a + [ "d", "e", "f" ]</div><div class='del'>- *     c                         #=&gt; [ "a", "b", "c", "d", "e", "f" ]</div><div class='del'>- *     a                         #=&gt; [ "a", "b", "c" ]</div><div class='del'>- *</div><div class='del'>- *  Note that</div><div class='del'>- *     x += y</div><div class='del'>- *  is the same as</div><div class='del'>- *     x = x + y</div><div class='del'>- *  This means that it produces a new array. As a consequence,</div><div class='del'>- *  repeated use of &lt;code&gt;+=&lt;/code&gt; on arrays can be quite inefficient.</div><div class='del'>- *</div><div class='del'>- *  See also Array#concat.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_plus(VALUE x, VALUE y)</div><div class='add'>+rb_ary_plus(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='del'>-    long len, xlen, ylen;</div><div class='add'>+    long len;</div><div class='ctx'> </div><div class='ctx'>     y = to_ary(y);</div><div class='del'>-    xlen = RARRAY_LEN(x);</div><div class='del'>-    ylen = RARRAY_LEN(y);</div><div class='del'>-    len = xlen + ylen;</div><div class='add'>+    len = RARRAY(x)-&gt;len + RARRAY(y)-&gt;len;</div><div class='ctx'>     z = rb_ary_new2(len);</div><div class='del'>-</div><div class='del'>-    ary_memcpy(z, 0, xlen, RARRAY_CONST_PTR_TRANSIENT(x));</div><div class='del'>-    ary_memcpy(z, xlen, ylen, RARRAY_CONST_PTR_TRANSIENT(y));</div><div class='del'>-    ARY_SET_LEN(z, len);</div><div class='add'>+    MEMCPY(RARRAY(z)-&gt;ptr, RARRAY(x)-&gt;ptr, VALUE, RARRAY(x)-&gt;len);</div><div class='add'>+    MEMCPY(RARRAY(z)-&gt;ptr + RARRAY(x)-&gt;len, RARRAY(y)-&gt;ptr, VALUE, RARRAY(y)-&gt;len);</div><div class='add'>+    RARRAY(z)-&gt;len = len;</div><div class='ctx'>     return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_append(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    long n = RARRAY_LEN(y);</div><div class='del'>-    if (n &gt; 0) {</div><div class='del'>-        rb_ary_splice(x, RARRAY_LEN(x), 0, RARRAY_CONST_PTR_TRANSIENT(y), n);</div><div class='del'>-    }</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.concat(other_ary1, other_ary2, ...)   -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Appends the elements of &lt;code&gt;other_ary&lt;/code&gt;s to +self+.</div><div class='del'>- *</div><div class='del'>- *     [ "a", "b" ].concat( ["c", "d"])   #=&gt; [ "a", "b", "c", "d" ]</div><div class='del'>- *     [ "a" ].concat( ["b"], ["c", "d"]) #=&gt; [ "a", "b", "c", "d" ]</div><div class='del'>- *     [ "a" ].concat #=&gt; [ "a" ]</div><div class='del'>- *</div><div class='del'>- *     a = [ 1, 2, 3 ]</div><div class='del'>- *     a.concat( [ 4, 5 ])</div><div class='del'>- *     a                                 #=&gt; [ 1, 2, 3, 4, 5 ]</div><div class='del'>- *</div><div class='del'>- *     a = [ 1, 2 ]</div><div class='del'>- *     a.concat(a, a)                    #=&gt; [1, 2, 1, 2, 1, 2]</div><div class='add'>+ *     array.concat(other_array)   -&gt;  array</div><div class='ctx'>  *</div><div class='del'>- *  See also Array#+.</div><div class='add'>+ *  Appends the elements in other_array to _self_.</div><div class='add'>+ *  </div><div class='add'>+ *     [ "a", "b" ].concat( ["c", "d"] ) #=&gt; [ "a", "b", "c", "d" ]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_concat_multi(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-</div><div class='del'>-    if (argc == 1) {</div><div class='del'>-	rb_ary_concat(ary, argv[0]);</div><div class='del'>-    }</div><div class='del'>-    else if (argc &gt; 1) {</div><div class='del'>-	int i;</div><div class='del'>-	VALUE args = rb_ary_tmp_new(argc);</div><div class='del'>-	for (i = 0; i &lt; argc; i++) {</div><div class='del'>-	    rb_ary_concat(args, argv[i]);</div><div class='del'>-	}</div><div class='del'>-	ary_append(ary, args);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ary_verify(ary);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_concat(VALUE x, VALUE y)</div><div class='add'>+rb_ary_concat(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    return ary_append(x, to_ary(y));</div><div class='add'>+    y = to_ary(y);</div><div class='add'>+    if (RARRAY(y)-&gt;len &gt; 0) {</div><div class='add'>+	rb_ary_splice(x, RARRAY(x)-&gt;len, 0, y);</div><div class='add'>+    }</div><div class='add'>+    return x;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary * int     -&gt; new_ary</div><div class='del'>- *     ary * str     -&gt; new_string</div><div class='del'>- *</div><div class='del'>- *  Repetition --- With a String argument, equivalent to</div><div class='del'>- *  &lt;code&gt;ary.join(str)&lt;/code&gt;.</div><div class='add'>+ *     array * int     -&gt;    an_array</div><div class='add'>+ *     array * str     -&gt;    a_string</div><div class='ctx'>  *</div><div class='del'>- *  Otherwise, returns a new array built by concatenating the +int+ copies of</div><div class='del'>- *  +self+.</div><div class='add'>+ *  Repetition---With a String argument, equivalent to</div><div class='add'>+ *  self.join(str). Otherwise, returns a new array</div><div class='add'>+ *  built by concatenating the _int_ copies of _self_.</div><div class='ctx'>  *</div><div class='ctx'>  *</div><div class='ctx'>  *     [ 1, 2, 3 ] * 3    #=&gt; [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ]</div><div class='hunk'>@@ -4033,11 +2359,11 @@ rb_ary_concat(VALUE x, VALUE y)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_times(VALUE ary, VALUE times)</div><div class='add'>+rb_ary_times(ary, times)</div><div class='add'>+    VALUE ary, times;</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary2, tmp;</div><div class='del'>-    const VALUE *ptr;</div><div class='del'>-    long t, len;</div><div class='add'>+    long i, len;</div><div class='ctx'> </div><div class='ctx'>     tmp = rb_check_string_type(times);</div><div class='ctx'>     if (!NIL_P(tmp)) {</div><div class='hunk'>@@ -4045,50 +2371,37 @@ rb_ary_times(VALUE ary, VALUE times)</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     len = NUM2LONG(times);</div><div class='del'>-    if (len == 0) {</div><div class='del'>-	ary2 = ary_new(rb_obj_class(ary), 0);</div><div class='del'>-	goto out;</div><div class='del'>-    }</div><div class='add'>+    if (len == 0) return ary_new(rb_obj_class(ary), 0);</div><div class='ctx'>     if (len &lt; 0) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "negative argument");</div><div class='ctx'>     }</div><div class='del'>-    if (ARY_MAX_SIZE/len &lt; RARRAY_LEN(ary)) {</div><div class='add'>+    if (LONG_MAX/len &lt; RARRAY(ary)-&gt;len) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "argument too big");</div><div class='ctx'>     }</div><div class='del'>-    len *= RARRAY_LEN(ary);</div><div class='add'>+    len *= RARRAY(ary)-&gt;len;</div><div class='ctx'> </div><div class='ctx'>     ary2 = ary_new(rb_obj_class(ary), len);</div><div class='del'>-    ARY_SET_LEN(ary2, len);</div><div class='del'>-</div><div class='del'>-    ptr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-    t = RARRAY_LEN(ary);</div><div class='del'>-    if (0 &lt; t) {</div><div class='del'>-	ary_memcpy(ary2, 0, t, ptr);</div><div class='del'>-	while (t &lt;= len/2) {</div><div class='del'>-            ary_memcpy(ary2, t, t, RARRAY_CONST_PTR_TRANSIENT(ary2));</div><div class='del'>-            t *= 2;</div><div class='del'>-        }</div><div class='del'>-        if (t &lt; len) {</div><div class='del'>-            ary_memcpy(ary2, t, len-t, RARRAY_CONST_PTR_TRANSIENT(ary2));</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-  out:</div><div class='add'>+    RARRAY(ary2)-&gt;len = len;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;len; i+=RARRAY(ary)-&gt;len) {</div><div class='add'>+	MEMCPY(RARRAY(ary2)-&gt;ptr+i, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+    }</div><div class='ctx'>     OBJ_INFECT(ary2, ary);</div><div class='ctx'> </div><div class='ctx'>     return ary2;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.assoc(obj)   -&gt; element_ary  or  nil</div><div class='del'>- *</div><div class='del'>- *  Searches through an array whose elements are also arrays comparing +obj+</div><div class='del'>- *  with the first element of each contained array using &lt;code&gt;obj.==&lt;/code&gt;.</div><div class='add'>+ *     array.assoc(obj)   -&gt;  an_array  or  nil</div><div class='ctx'>  *</div><div class='del'>- *  Returns the first contained array that matches (that is, the first</div><div class='del'>- *  associated array), or +nil+ if no match is found.</div><div class='del'>- *</div><div class='del'>- *  See also Array#rassoc</div><div class='add'>+ *  Searches through an array whose elements are also arrays</div><div class='add'>+ *  comparing _obj_ with the first element of each contained array</div><div class='add'>+ *  using obj.==.</div><div class='add'>+ *  Returns the first contained array that matches (that</div><div class='add'>+ *  is, the first associated array),</div><div class='add'>+ *  or +nil+ if no match is found.</div><div class='add'>+ *  See also &lt;code&gt;Array#rassoc&lt;/code&gt;.</div><div class='ctx'>  *</div><div class='ctx'>  *     s1 = [ "colors", "red", "blue", "green" ]</div><div class='ctx'>  *     s2 = [ "letters", "a", "b", "c" ]</div><div class='hunk'>@@ -4099,15 +2412,17 @@ rb_ary_times(VALUE ary, VALUE times)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_assoc(VALUE ary, VALUE key)</div><div class='add'>+rb_ary_assoc(ary, key)</div><div class='add'>+    VALUE ary, key;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='ctx'>     VALUE v;</div><div class='ctx'> </div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-	v = rb_check_array_type(RARRAY_AREF(ary, i));</div><div class='del'>-	if (!NIL_P(v) &amp;&amp; RARRAY_LEN(v) &gt; 0 &amp;&amp;</div><div class='del'>-	    rb_equal(RARRAY_AREF(v, 0), key))</div><div class='add'>+    for (i = 0; i &lt; RARRAY(ary)-&gt;len; ++i) {</div><div class='add'>+	v = RARRAY(ary)-&gt;ptr[i];</div><div class='add'>+	if (TYPE(v) == T_ARRAY &amp;&amp;</div><div class='add'>+	    RARRAY(v)-&gt;len &gt; 0 &amp;&amp;</div><div class='add'>+	    rb_equal(RARRAY(v)-&gt;ptr[0], key))</div><div class='ctx'> 	    return v;</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='hunk'>@@ -4115,79 +2430,42 @@ rb_ary_assoc(VALUE ary, VALUE key)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.rassoc(obj) -&gt; element_ary or nil</div><div class='del'>- *</div><div class='del'>- *  Searches through the array whose elements are also arrays.</div><div class='del'>- *</div><div class='del'>- *  Compares +obj+ with the second element of each contained array using</div><div class='del'>- *  &lt;code&gt;obj.==&lt;/code&gt;.</div><div class='del'>- *</div><div class='del'>- *  Returns the first contained array that matches +obj+.</div><div class='del'>- *</div><div class='del'>- *  See also Array#assoc.</div><div class='del'>- *</div><div class='add'>+ *     array.rassoc(key) -&gt; an_array or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Searches through the array whose elements are also arrays. Compares</div><div class='add'>+ *  &lt;em&gt;key&lt;/em&gt; with the second element of each contained array using</div><div class='add'>+ *  &lt;code&gt;==&lt;/code&gt;. Returns the first contained array that matches. See</div><div class='add'>+ *  also &lt;code&gt;Array#assoc&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ [ 1, "one"], [2, "two"], [3, "three"], ["ii", "two"] ]</div><div class='ctx'>  *     a.rassoc("two")    #=&gt; [2, "two"]</div><div class='ctx'>  *     a.rassoc("four")   #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_rassoc(VALUE ary, VALUE value)</div><div class='add'>+rb_ary_rassoc(ary, value)</div><div class='add'>+    VALUE ary, value;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='ctx'>     VALUE v;</div><div class='ctx'> </div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-	v = RARRAY_AREF(ary, i);</div><div class='del'>-	if (RB_TYPE_P(v, T_ARRAY) &amp;&amp;</div><div class='del'>-	    RARRAY_LEN(v) &gt; 1 &amp;&amp;</div><div class='del'>-	    rb_equal(RARRAY_AREF(v, 1), value))</div><div class='add'>+    for (i = 0; i &lt; RARRAY(ary)-&gt;len; ++i) {</div><div class='add'>+	v = RARRAY(ary)-&gt;ptr[i];</div><div class='add'>+	if (TYPE(v) == T_ARRAY &amp;&amp;</div><div class='add'>+	    RARRAY(v)-&gt;len &gt; 1 &amp;&amp;</div><div class='add'>+	    rb_equal(RARRAY(v)-&gt;ptr[1], value))</div><div class='ctx'> 	    return v;</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-recursive_equal(VALUE ary1, VALUE ary2, int recur)</div><div class='del'>-{</div><div class='del'>-    long i, len1;</div><div class='del'>-    const VALUE *p1, *p2;</div><div class='del'>-</div><div class='del'>-    if (recur) return Qtrue; /* Subtle! */</div><div class='del'>-</div><div class='del'>-    /* rb_equal() can evacuate ptrs */</div><div class='del'>-    p1 = RARRAY_CONST_PTR(ary1);</div><div class='del'>-    p2 = RARRAY_CONST_PTR(ary2);</div><div class='del'>-    len1 = RARRAY_LEN(ary1);</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; len1; i++) {</div><div class='del'>-	if (*p1 != *p2) {</div><div class='del'>-	    if (rb_equal(*p1, *p2)) {</div><div class='del'>-		len1 = RARRAY_LEN(ary1);</div><div class='del'>-		if (len1 != RARRAY_LEN(ary2))</div><div class='del'>-		    return Qfalse;</div><div class='del'>-		if (len1 &lt; i)</div><div class='del'>-		    return Qtrue;</div><div class='del'>-                p1 = RARRAY_CONST_PTR(ary1) + i;</div><div class='del'>-                p2 = RARRAY_CONST_PTR(ary2) + i;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		return Qfalse;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	p1++;</div><div class='del'>-	p2++;</div><div class='del'>-    }</div><div class='del'>-    return Qtrue;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary == other_ary   -&gt;   bool</div><div class='add'>+ *     array == other_array   -&gt;   bool</div><div class='ctx'>  *</div><div class='del'>- *  Equality --- Two arrays are equal if they contain the same number of</div><div class='del'>- *  elements and if each element is equal to (according to Object#==) the</div><div class='del'>- *  corresponding element in +other_ary+.</div><div class='add'>+ *  Equality---Two arrays are equal if they contain the same number</div><div class='add'>+ *  of elements and if each element is equal to (according to</div><div class='add'>+ *  Object.==) the corresponding element in the other array.</div><div class='ctx'>  *</div><div class='ctx'>  *     [ "a", "c" ]    == [ "a", "c", 7 ]     #=&gt; false</div><div class='ctx'>  *     [ "a", "c", 7 ] == [ "a", "c", 7 ]     #=&gt; true</div><div class='hunk'>@@ -4196,28 +2474,21 @@ recursive_equal(VALUE ary1, VALUE ary2, int recur)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_equal(VALUE ary1, VALUE ary2)</div><div class='add'>+rb_ary_equal(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='ctx'>     if (ary1 == ary2) return Qtrue;</div><div class='del'>-    if (!RB_TYPE_P(ary2, T_ARRAY)) {</div><div class='del'>-	if (!rb_respond_to(ary2, idTo_ary)) {</div><div class='add'>+    if (TYPE(ary2) != T_ARRAY) {</div><div class='add'>+	if (!rb_respond_to(ary2, rb_intern("to_ary"))) {</div><div class='ctx'> 	    return Qfalse;</div><div class='ctx'> 	}</div><div class='ctx'> 	return rb_equal(ary2, ary1);</div><div class='ctx'>     }</div><div class='del'>-    if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;</div><div class='del'>-    if (RARRAY_CONST_PTR_TRANSIENT(ary1) == RARRAY_CONST_PTR_TRANSIENT(ary2)) return Qtrue;</div><div class='del'>-    return rb_exec_recursive_paired(recursive_equal, ary1, ary2, ary2);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-recursive_eql(VALUE ary1, VALUE ary2, int recur)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    if (recur) return Qtrue; /* Subtle! */</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='del'>-	if (!rb_eql(rb_ary_elt(ary1, i), rb_ary_elt(ary2, i)))</div><div class='add'>+    if (RARRAY(ary1)-&gt;len != RARRAY(ary2)-&gt;len) return Qfalse;</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='add'>+	if (!rb_equal(rb_ary_elt(ary1, i), rb_ary_elt(ary2, i)))</div><div class='ctx'> 	    return Qfalse;</div><div class='ctx'>     }</div><div class='ctx'>     return Qtrue;</div><div class='hunk'>@@ -4225,747 +2496,346 @@ recursive_eql(VALUE ary1, VALUE ary2, int recur)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.eql?(other)  -&gt; true or false</div><div class='add'>+ *     array.eql?(other)  -&gt; true or false</div><div class='ctx'>  *</div><div class='del'>- *  Returns +true+ if +self+ and +other+ are the same object,</div><div class='del'>- *  or are both arrays with the same content (according to Object#eql?).</div><div class='add'>+ *  Returns &lt;code&gt;true&lt;/code&gt; if _array_ and _other_ are the same object,</div><div class='add'>+ *  or are both arrays with the same content.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_eql(VALUE ary1, VALUE ary2)</div><div class='add'>+rb_ary_eql(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='ctx'>     if (ary1 == ary2) return Qtrue;</div><div class='del'>-    if (!RB_TYPE_P(ary2, T_ARRAY)) return Qfalse;</div><div class='del'>-    if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;</div><div class='del'>-    if (RARRAY_CONST_PTR_TRANSIENT(ary1) == RARRAY_CONST_PTR_TRANSIENT(ary2)) return Qtrue;</div><div class='del'>-    return rb_exec_recursive_paired(recursive_eql, ary1, ary2, ary2);</div><div class='add'>+    if (TYPE(ary2) != T_ARRAY) return Qfalse;</div><div class='add'>+    if (RARRAY(ary1)-&gt;len != RARRAY(ary2)-&gt;len) return Qfalse;</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='add'>+	if (!rb_eql(rb_ary_elt(ary1, i), rb_ary_elt(ary2, i)))</div><div class='add'>+	    return Qfalse;</div><div class='add'>+    }</div><div class='add'>+    return Qtrue;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.hash   -&gt; integer</div><div class='del'>- *</div><div class='del'>- *  Compute a hash-code for this array.</div><div class='add'>+ *     array.hash   -&gt; fixnum</div><div class='ctx'>  *</div><div class='del'>- *  Two arrays with the same content will have the same hash code (and will</div><div class='del'>- *  compare using #eql?).</div><div class='del'>- *</div><div class='del'>- *  See also Object#hash.</div><div class='add'>+ *  Compute a hash-code for this array. Two arrays with the same content</div><div class='add'>+ *  will have the same hash code (and will compare using &lt;code&gt;eql?&lt;/code&gt;).</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_hash(VALUE ary)</div><div class='add'>+rb_ary_hash(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    st_index_t h;</div><div class='add'>+    long i, h;</div><div class='ctx'>     VALUE n;</div><div class='ctx'> </div><div class='del'>-    h = rb_hash_start(RARRAY_LEN(ary));</div><div class='del'>-    h = rb_hash_uint(h, (st_index_t)rb_ary_hash);</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	n = rb_hash(RARRAY_AREF(ary, i));</div><div class='del'>-	h = rb_hash_uint(h, NUM2LONG(n));</div><div class='add'>+    h = RARRAY(ary)-&gt;len;</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	h = (h &lt;&lt; 1) | (h&lt;0 ? 1 : 0);</div><div class='add'>+	n = rb_hash(RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+	h ^= NUM2LONG(n);</div><div class='ctx'>     }</div><div class='del'>-    h = rb_hash_end(h);</div><div class='del'>-    return ST2FIX(h);</div><div class='add'>+    return LONG2FIX(h);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.include?(object)   -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  Returns +true+ if the given +object+ is present in +self+ (that is, if any</div><div class='del'>- *  element &lt;code&gt;==&lt;/code&gt; +object+), otherwise returns +false+.</div><div class='del'>- *</div><div class='add'>+ *     array.include?(obj)   -&gt; true or false</div><div class='add'>+ *  </div><div class='add'>+ *  Returns &lt;code&gt;true&lt;/code&gt; if the given object is present in</div><div class='add'>+ *  &lt;i&gt;self&lt;/i&gt; (that is, if any object &lt;code&gt;==&lt;/code&gt; &lt;i&gt;anObject&lt;/i&gt;),</div><div class='add'>+ *  &lt;code&gt;false&lt;/code&gt; otherwise.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "b", "c" ]</div><div class='ctx'>  *     a.include?("b")   #=&gt; true</div><div class='ctx'>  *     a.include?("z")   #=&gt; false</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_includes(VALUE ary, VALUE item)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-    VALUE e;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	e = RARRAY_AREF(ary, i);</div><div class='del'>-	if (rb_equal(e, item)) {</div><div class='del'>-	    return Qtrue;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_includes_by_eql(VALUE ary, VALUE item)</div><div class='add'>+rb_ary_includes(ary, item)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    VALUE item;</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='del'>-    VALUE e;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	e = RARRAY_AREF(ary, i);</div><div class='del'>-	if (rb_eql(item, e)) {</div><div class='add'>+    </div><div class='add'>+    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	if (rb_equal(RARRAY(ary)-&gt;ptr[i], item)) {</div><div class='ctx'> 	    return Qtrue;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-recursive_cmp(VALUE ary1, VALUE ary2, int recur)</div><div class='del'>-{</div><div class='del'>-    long i, len;</div><div class='ctx'> </div><div class='del'>-    if (recur) return Qundef;	/* Subtle! */</div><div class='del'>-    len = RARRAY_LEN(ary1);</div><div class='del'>-    if (len &gt; RARRAY_LEN(ary2)) {</div><div class='del'>-	len = RARRAY_LEN(ary2);</div><div class='del'>-    }</div><div class='del'>-    for (i=0; i&lt;len; i++) {</div><div class='del'>-	VALUE e1 = rb_ary_elt(ary1, i), e2 = rb_ary_elt(ary2, i);</div><div class='del'>-	VALUE v = rb_funcallv(e1, id_cmp, 1, &amp;e2);</div><div class='del'>-	if (v != INT2FIX(0)) {</div><div class='del'>-	    return v;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return Qundef;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary &lt;=&gt; other_ary   -&gt;  -1, 0, +1 or nil</div><div class='del'>- *</div><div class='del'>- *  Comparison --- Returns an integer (+-1+, +0+, or &lt;code&gt;+1&lt;/code&gt;) if this</div><div class='del'>- *  array is less than, equal to, or greater than +other_ary+.</div><div class='del'>- *</div><div class='del'>- *  Each object in each array is compared (using the &lt;=&gt; operator).</div><div class='del'>- *</div><div class='del'>- *  Arrays are compared in an "element-wise" manner; the first element of +ary+</div><div class='del'>- *  is compared with the first one of +other_ary+ using the &lt;=&gt; operator, then</div><div class='del'>- *  each of the second elements, etc...</div><div class='del'>- *  As soon as the result of any such comparison is non zero (i.e. the two</div><div class='del'>- *  corresponding elements are not equal), that result is returned for the</div><div class='del'>- *  whole array comparison.</div><div class='del'>- *</div><div class='del'>- *  If all the elements are equal, then the result is based on a comparison of</div><div class='del'>- *  the array lengths. Thus, two arrays are "equal" according to Array#&lt;=&gt; if,</div><div class='del'>- *  and only if, they have the same length and the value of each element is</div><div class='del'>- *  equal to the value of the corresponding element in the other array.</div><div class='del'>- *</div><div class='del'>- *  +nil+ is returned if the +other_ary+ is not an array or if the comparison</div><div class='del'>- *  of two elements returned +nil+.</div><div class='add'>+ *     array &lt;=&gt; other_array   -&gt;  -1, 0, +1</div><div class='ctx'>  *</div><div class='add'>+ *  Comparison---Returns an integer (-1, 0,</div><div class='add'>+ *  or +1) if this array is less than, equal to, or greater than</div><div class='add'>+ *  other_array.  Each object in each array is compared</div><div class='add'>+ *  (using &lt;=&gt;). If any value isn't</div><div class='add'>+ *  equal, then that inequality is the return value. If all the</div><div class='add'>+ *  values found are equal, then the return is based on a</div><div class='add'>+ *  comparison of the array lengths.  Thus, two arrays are</div><div class='add'>+ *  ``equal'' according to &lt;code&gt;Array#&lt;=&gt;&lt;/code&gt; if and only if they have</div><div class='add'>+ *  the same length and the value of each element is equal to the</div><div class='add'>+ *  value of the corresponding element in the other array.</div><div class='add'>+ *  </div><div class='ctx'>  *     [ "a", "a", "c" ]    &lt;=&gt; [ "a", "b", "c" ]   #=&gt; -1</div><div class='ctx'>  *     [ 1, 2, 3, 4, 5, 6 ] &lt;=&gt; [ 1, 2 ]            #=&gt; +1</div><div class='del'>- *     [ 1, 2 ]             &lt;=&gt; [ 1, :two ]         #=&gt; nil</div><div class='ctx'>  *</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_cmp(VALUE ary1, VALUE ary2)</div><div class='add'>+rb_ary_cmp(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='del'>-    long len;</div><div class='del'>-    VALUE v;</div><div class='add'>+    long i, len;</div><div class='ctx'> </div><div class='del'>-    ary2 = rb_check_array_type(ary2);</div><div class='del'>-    if (NIL_P(ary2)) return Qnil;</div><div class='del'>-    if (ary1 == ary2) return INT2FIX(0);</div><div class='del'>-    v = rb_exec_recursive_paired(recursive_cmp, ary1, ary2, ary2);</div><div class='del'>-    if (v != Qundef) return v;</div><div class='del'>-    len = RARRAY_LEN(ary1) - RARRAY_LEN(ary2);</div><div class='add'>+    ary2 = to_ary(ary2);</div><div class='add'>+    len = RARRAY(ary1)-&gt;len;</div><div class='add'>+    if (len &gt; RARRAY(ary2)-&gt;len) {</div><div class='add'>+	len = RARRAY(ary2)-&gt;len;</div><div class='add'>+    }</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+	VALUE v = rb_funcall(rb_ary_elt(ary1, i), id_cmp, 1, rb_ary_elt(ary2, i));</div><div class='add'>+	if (v != INT2FIX(0)) {</div><div class='add'>+	    return v;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    len = RARRAY(ary1)-&gt;len - RARRAY(ary2)-&gt;len;</div><div class='ctx'>     if (len == 0) return INT2FIX(0);</div><div class='ctx'>     if (len &gt; 0) return INT2FIX(1);</div><div class='ctx'>     return INT2FIX(-1);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-ary_add_hash(VALUE hash, VALUE ary)</div><div class='add'>+ary_make_hash(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='add'>+    VALUE hash = rb_hash_new();</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-	VALUE elt = RARRAY_AREF(ary, i);</div><div class='del'>-	rb_hash_add_new_element(hash, elt, elt);</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='add'>+	rb_hash_aset(hash, RARRAY(ary1)-&gt;ptr[i], Qtrue);</div><div class='ctx'>     }</div><div class='del'>-    return hash;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-ary_tmp_hash_new(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long size = RARRAY_LEN(ary);</div><div class='del'>-    VALUE hash = rb_hash_new_with_size(size);</div><div class='del'>-</div><div class='del'>-    RBASIC_CLEAR_CLASS(hash);</div><div class='del'>-    return hash;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_make_hash(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE hash = ary_tmp_hash_new(ary);</div><div class='del'>-    return ary_add_hash(hash, ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ary_add_hash_by(VALUE hash, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-	VALUE v = rb_ary_elt(ary, i), k = rb_yield(v);</div><div class='del'>-	rb_hash_add_new_element(hash, k, v);</div><div class='add'>+    if (ary2) {</div><div class='add'>+	for (i=0; i&lt;RARRAY(ary2)-&gt;len; i++) {</div><div class='add'>+	    rb_hash_aset(hash, RARRAY(ary2)-&gt;ptr[i], Qtrue);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'>     return hash;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-ary_make_hash_by(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE hash = ary_tmp_hash_new(ary);</div><div class='del'>-    return ary_add_hash_by(hash, ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-ary_recycle_hash(VALUE hash)</div><div class='del'>-{</div><div class='del'>-    assert(RBASIC_CLASS(hash) == 0);</div><div class='del'>-    if (RHASH_ST_TABLE_P(hash)) {</div><div class='del'>-        st_table *tbl = RHASH_ST_TABLE(hash);</div><div class='del'>-	st_free_table(tbl);</div><div class='del'>-        RHASH_ST_CLEAR(hash);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary - other_ary    -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Array Difference</div><div class='add'>+ *     array - other_array    -&gt; an_array</div><div class='ctx'>  *</div><div class='del'>- *  Returns a new array that is a copy of the original array, removing any</div><div class='del'>- *  items that also appear in +other_ary+. The order is preserved from the</div><div class='del'>- *  original array.</div><div class='del'>- *</div><div class='del'>- *  It compares elements using their #hash and #eql? methods for efficiency.</div><div class='add'>+ *  Array Difference---Returns a new array that is a copy of</div><div class='add'>+ *  the original array, removing any items that also appear in</div><div class='add'>+ *  other_array. (If you need set-like behavior, see the</div><div class='add'>+ *  library class Set.)</div><div class='ctx'>  *</div><div class='ctx'>  *     [ 1, 1, 2, 2, 3, 3, 4, 5 ] - [ 1, 2, 4 ]  #=&gt;  [ 3, 3, 5 ]</div><div class='del'>- *</div><div class='del'>- *  If you need set-like behavior, see the library class Set.</div><div class='del'>- *</div><div class='del'>- *  See also Array#difference.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_diff(VALUE ary1, VALUE ary2)</div><div class='add'>+rb_ary_diff(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary3;</div><div class='del'>-    VALUE hash;</div><div class='add'>+    volatile VALUE hash;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    ary2 = to_ary(ary2);</div><div class='add'>+    hash = ary_make_hash(to_ary(ary2), 0);</div><div class='ctx'>     ary3 = rb_ary_new();</div><div class='ctx'> </div><div class='del'>-    if (RARRAY_LEN(ary1) &lt;= SMALL_ARRAY_LEN || RARRAY_LEN(ary2) &lt;= SMALL_ARRAY_LEN) {</div><div class='del'>-	for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='del'>-	    VALUE elt = rb_ary_elt(ary1, i);</div><div class='del'>-	    if (rb_ary_includes_by_eql(ary2, elt)) continue;</div><div class='del'>-	    rb_ary_push(ary3, elt);</div><div class='del'>-	}</div><div class='del'>-	return ary3;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    hash = ary_make_hash(ary2);</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='del'>-        if (rb_hash_stlike_lookup(hash, RARRAY_AREF(ary1, i), NULL)) continue;</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='add'>+	if (st_lookup(RHASH(hash)-&gt;tbl, RARRAY(ary1)-&gt;ptr[i], 0)) continue;</div><div class='ctx'> 	rb_ary_push(ary3, rb_ary_elt(ary1, i));</div><div class='ctx'>     }</div><div class='del'>-    ary_recycle_hash(hash);</div><div class='ctx'>     return ary3;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.difference(other_ary1, other_ary2, ...)   -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Array Difference</div><div class='del'>- *</div><div class='del'>- *  Returns a new array that is a copy of the receiver, removing any items</div><div class='del'>- *  that also appear in any of the arrays given as arguments.</div><div class='del'>- *  The order is preserved from the original array.</div><div class='add'>+ *     array &amp; other_array</div><div class='ctx'>  *</div><div class='del'>- *  It compares elements using their #hash and #eql? methods for efficiency.</div><div class='add'>+ *  Set Intersection---Returns a new array</div><div class='add'>+ *  containing elements common to the two arrays, with no duplicates.</div><div class='ctx'>  *</div><div class='del'>- *     [ 1, 1, 2, 2, 3, 3, 4, 5 ].difference([ 1, 2, 4 ])     #=&gt; [ 3, 3, 5 ]</div><div class='del'>- *     [ 1, 'c', :s, 'yep' ].difference([ 1 ], [ 'a', 'c' ])  #=&gt; [ :s, "yep" ]</div><div class='del'>- *</div><div class='del'>- *  If you need set-like behavior, see the library class Set.</div><div class='del'>- *</div><div class='del'>- *  See also Array#-.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_difference_multi(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE ary_diff;</div><div class='del'>-    long i, length;</div><div class='del'>-    volatile VALUE t0;</div><div class='del'>-    bool *is_hash = ALLOCV_N(bool, t0, argc);</div><div class='del'>-    ary_diff = rb_ary_new();</div><div class='del'>-    length = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; argc; i++) {</div><div class='del'>-        argv[i] = to_ary(argv[i]);</div><div class='del'>-        is_hash[i] = (length &gt; SMALL_ARRAY_LEN &amp;&amp; RARRAY_LEN(argv[i]) &gt; SMALL_ARRAY_LEN);</div><div class='del'>-        if (is_hash[i]) argv[i] = ary_make_hash(argv[i]);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-        int j;</div><div class='del'>-        VALUE elt = rb_ary_elt(ary, i);</div><div class='del'>-        for (j = 0; j &lt; argc; j++){</div><div class='del'>-            if (is_hash[j]) {</div><div class='del'>-                if (rb_hash_stlike_lookup(argv[j], RARRAY_AREF(ary, i), NULL))</div><div class='del'>-                    break;</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                if (rb_ary_includes_by_eql(argv[j], elt)) break;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        if (j == argc) rb_ary_push(ary_diff, elt);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ALLOCV_END(t0);</div><div class='del'>-</div><div class='del'>-    return ary_diff;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary &amp; other_ary      -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Set Intersection --- Returns a new array containing unique elements common to the</div><div class='del'>- *  two arrays. The order is preserved from the original array.</div><div class='del'>- *</div><div class='del'>- *  It compares elements using their #hash and #eql? methods for efficiency.</div><div class='del'>- *</div><div class='del'>- *     [ 1, 1, 3, 5 ] &amp; [ 3, 2, 1 ]                 #=&gt; [ 1, 3 ]</div><div class='del'>- *     [ 'a', 'b', 'b', 'z' ] &amp; [ 'a', 'b', 'c' ]   #=&gt; [ 'a', 'b' ]</div><div class='del'>- *</div><div class='del'>- *  See also Array#uniq.</div><div class='add'>+ *     [ 1, 1, 3, 5 ] &amp; [ 1, 2, 3 ]   #=&gt; [ 1, 3 ]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_and(VALUE ary1, VALUE ary2)</div><div class='add'>+rb_ary_and(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='del'>-    VALUE hash, ary3, v;</div><div class='del'>-    st_data_t vv;</div><div class='add'>+    VALUE hash, ary3, v, vv;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='ctx'>     ary2 = to_ary(ary2);</div><div class='del'>-    ary3 = rb_ary_new();</div><div class='del'>-    if (RARRAY_LEN(ary1) == 0 || RARRAY_LEN(ary2) == 0) return ary3;</div><div class='add'>+    ary3 = rb_ary_new2(RARRAY(ary1)-&gt;len &lt; RARRAY(ary2)-&gt;len ?</div><div class='add'>+	    RARRAY(ary1)-&gt;len : RARRAY(ary2)-&gt;len);</div><div class='add'>+    hash = ary_make_hash(ary2, 0);</div><div class='ctx'> </div><div class='del'>-    if (RARRAY_LEN(ary1) &lt;= SMALL_ARRAY_LEN &amp;&amp; RARRAY_LEN(ary2) &lt;= SMALL_ARRAY_LEN) {</div><div class='del'>-	for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='del'>-	    v = RARRAY_AREF(ary1, i);</div><div class='del'>-	    if (!rb_ary_includes_by_eql(ary2, v)) continue;</div><div class='del'>-	    if (rb_ary_includes_by_eql(ary3, v)) continue;</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='add'>+	v = vv = rb_ary_elt(ary1, i);</div><div class='add'>+	if (st_delete(RHASH(hash)-&gt;tbl, (st_data_t*)&amp;vv, 0)) {</div><div class='ctx'> 	    rb_ary_push(ary3, v);</div><div class='ctx'> 	}</div><div class='del'>-	return ary3;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    hash = ary_make_hash(ary2);</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='del'>-	v = RARRAY_AREF(ary1, i);</div><div class='del'>-	vv = (st_data_t)v;</div><div class='del'>-        if (rb_hash_stlike_delete(hash, &amp;vv, 0)) {</div><div class='del'>-	    rb_ary_push(ary3, v);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    ary_recycle_hash(hash);</div><div class='del'>-</div><div class='ctx'>     return ary3;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static int</div><div class='del'>-ary_hash_orset(st_data_t *key, st_data_t *value, st_data_t arg, int existing)</div><div class='del'>-{</div><div class='del'>-    if (existing) return ST_STOP;</div><div class='del'>-    *key = *value = (VALUE)arg;</div><div class='del'>-    return ST_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_ary_union(VALUE ary_union, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-        VALUE elt = rb_ary_elt(ary, i);</div><div class='del'>-        if (rb_ary_includes_by_eql(ary_union, elt)) continue;</div><div class='del'>-        rb_ary_push(ary_union, elt);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_ary_union_hash(VALUE hash, VALUE ary2)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary2); i++) {</div><div class='del'>-        VALUE elt = RARRAY_AREF(ary2, i);</div><div class='del'>-        if (!rb_hash_stlike_update(hash, (st_data_t)elt, ary_hash_orset, (st_data_t)elt)) {</div><div class='del'>-            RB_OBJ_WRITTEN(hash, Qundef, elt);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary | other_ary     -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Set Union --- Returns a new array by joining +ary+ with +other_ary+,</div><div class='del'>- *  excluding any duplicates and preserving the order from the given arrays.</div><div class='del'>- *</div><div class='del'>- *  It compares elements using their #hash and #eql? methods for efficiency.</div><div class='add'>+ *     array | other_array     -&gt;  an_array</div><div class='ctx'>  *</div><div class='del'>- *     [ "a", "b", "c" ] | [ "c", "d", "a" ]    #=&gt; [ "a", "b", "c", "d" ]</div><div class='del'>- *     [ "c", "d", "a" ] | [ "a", "b", "c" ]    #=&gt; [ "c", "d", "a", "b" ]</div><div class='add'>+ *  Set Union---Returns a new array by joining this array with</div><div class='add'>+ *  other_array, removing duplicates.</div><div class='ctx'>  *</div><div class='del'>- *  See also Array#union.</div><div class='add'>+ *     [ "a", "b", "c" ] | [ "c", "d", "a" ]</div><div class='add'>+ *            #=&gt; [ "a", "b", "c", "d" ]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_or(VALUE ary1, VALUE ary2)</div><div class='add'>+rb_ary_or(ary1, ary2)</div><div class='add'>+    VALUE ary1, ary2;</div><div class='ctx'> {</div><div class='ctx'>     VALUE hash, ary3;</div><div class='del'>-</div><div class='del'>-    ary2 = to_ary(ary2);</div><div class='del'>-    if (RARRAY_LEN(ary1) + RARRAY_LEN(ary2) &lt;= SMALL_ARRAY_LEN) {</div><div class='del'>-	ary3 = rb_ary_new();</div><div class='del'>-        rb_ary_union(ary3, ary1);</div><div class='del'>-        rb_ary_union(ary3, ary2);</div><div class='del'>-	return ary3;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    hash = ary_make_hash(ary1);</div><div class='del'>-    rb_ary_union_hash(hash, ary2);</div><div class='del'>-</div><div class='del'>-    ary3 = rb_hash_values(hash);</div><div class='del'>-    ary_recycle_hash(hash);</div><div class='del'>-    return ary3;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.union(other_ary1, other_ary2, ...)   -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Set Union --- Returns a new array by joining &lt;code&gt;other_ary&lt;/code&gt;s with +self+,</div><div class='del'>- *  excluding any duplicates and preserving the order from the given arrays.</div><div class='del'>- *</div><div class='del'>- *  It compares elements using their #hash and #eql? methods for efficiency.</div><div class='del'>- *</div><div class='del'>- *     [ "a", "b", "c" ].union( [ "c", "d", "a" ] )    #=&gt; [ "a", "b", "c", "d" ]</div><div class='del'>- *     [ "a" ].union( ["e", "b"], ["a", "c", "b"] )    #=&gt; [ "a", "e", "b", "c" ]</div><div class='del'>- *     [ "a" ].union #=&gt; [ "a" ]</div><div class='del'>- *</div><div class='del'>- *  See also Array#|.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_union_multi(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    long sum;</div><div class='del'>-    VALUE hash, ary_union;</div><div class='del'>-</div><div class='del'>-    sum = RARRAY_LEN(ary);</div><div class='del'>-    for (i = 0; i &lt; argc; i++){</div><div class='del'>-        argv[i] = to_ary(argv[i]);</div><div class='del'>-        sum += RARRAY_LEN(argv[i]);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (sum &lt;= SMALL_ARRAY_LEN) {</div><div class='del'>-        ary_union = rb_ary_new();</div><div class='del'>-</div><div class='del'>-        rb_ary_union(ary_union, ary);</div><div class='del'>-        for (i = 0; i &lt; argc; i++) rb_ary_union(ary_union, argv[i]);</div><div class='del'>-</div><div class='del'>-        return ary_union;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    hash = ary_make_hash(ary);</div><div class='del'>-    for (i = 0; i &lt; argc; i++) rb_ary_union_hash(hash, argv[i]);</div><div class='del'>-</div><div class='del'>-    ary_union = rb_hash_values(hash);</div><div class='del'>-    ary_recycle_hash(hash);</div><div class='del'>-    return ary_union;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.max                     -&gt; obj</div><div class='del'>- *     ary.max {|a, b| block}      -&gt; obj</div><div class='del'>- *     ary.max(n)                  -&gt; array</div><div class='del'>- *     ary.max(n) {|a, b| block}   -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns the object in _ary_ with the maximum value. The</div><div class='del'>- *  first form assumes all objects implement &lt;code&gt;Comparable&lt;/code&gt;;</div><div class='del'>- *  the second uses the block to return &lt;em&gt;a &lt;=&gt; b&lt;/em&gt;.</div><div class='del'>- *</div><div class='del'>- *     ary = %w(albatross dog horse)</div><div class='del'>- *     ary.max                                   #=&gt; "horse"</div><div class='del'>- *     ary.max {|a, b| a.length &lt;=&gt; b.length}    #=&gt; "albatross"</div><div class='del'>- *</div><div class='del'>- *  If the +n+ argument is given, maximum +n+ elements are returned</div><div class='del'>- *  as an array.</div><div class='del'>- *</div><div class='del'>- *     ary = %w[albatross dog horse]</div><div class='del'>- *     ary.max(2)                                  #=&gt; ["horse", "dog"]</div><div class='del'>- *     ary.max(2) {|a, b| a.length &lt;=&gt; b.length }  #=&gt; ["albatross", "horse"]</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_max(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    struct cmp_opt_data cmp_opt = { 0, 0 };</div><div class='del'>-    VALUE result = Qundef, v;</div><div class='del'>-    VALUE num;</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(num = argv[0]))</div><div class='del'>-       return rb_nmin_run(ary, num, 0, 1, 1);</div><div class='del'>-</div><div class='del'>-    if (rb_block_given_p()) {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	   v = RARRAY_AREF(ary, i);</div><div class='del'>-	   if (result == Qundef || rb_cmpint(rb_yield_values(2, v, result), v, result) &gt; 0) {</div><div class='del'>-	       result = v;</div><div class='del'>-	   }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	   v = RARRAY_AREF(ary, i);</div><div class='del'>-	   if (result == Qundef || OPTIMIZED_CMP(v, result, cmp_opt) &gt; 0) {</div><div class='del'>-	       result = v;</div><div class='del'>-	   }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    if (result == Qundef) return Qnil;</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.min                     -&gt; obj</div><div class='del'>- *     ary.min {| a,b | block }    -&gt; obj</div><div class='del'>- *     ary.min(n)                  -&gt; array</div><div class='del'>- *     ary.min(n) {| a,b | block } -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns the object in _ary_ with the minimum value. The</div><div class='del'>- *  first form assumes all objects implement &lt;code&gt;Comparable&lt;/code&gt;;</div><div class='del'>- *  the second uses the block to return &lt;em&gt;a &lt;=&gt; b&lt;/em&gt;.</div><div class='del'>- *</div><div class='del'>- *     ary = %w(albatross dog horse)</div><div class='del'>- *     ary.min                                   #=&gt; "albatross"</div><div class='del'>- *     ary.min {|a, b| a.length &lt;=&gt; b.length}    #=&gt; "dog"</div><div class='del'>- *</div><div class='del'>- *  If the +n+ argument is given, minimum +n+ elements are returned</div><div class='del'>- *  as an array.</div><div class='del'>- *</div><div class='del'>- *     ary = %w[albatross dog horse]</div><div class='del'>- *     ary.min(2)                                  #=&gt; ["albatross", "dog"]</div><div class='del'>- *     ary.min(2) {|a, b| a.length &lt;=&gt; b.length }  #=&gt; ["dog", "horse"]</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_min(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    struct cmp_opt_data cmp_opt = { 0, 0 };</div><div class='del'>-    VALUE result = Qundef, v;</div><div class='del'>-    VALUE num;</div><div class='add'>+    VALUE v, vv;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(num = argv[0]))</div><div class='del'>-       return rb_nmin_run(ary, num, 0, 0, 1);</div><div class='add'>+    ary2 = to_ary(ary2);</div><div class='add'>+    ary3 = rb_ary_new2(RARRAY(ary1)-&gt;len+RARRAY(ary2)-&gt;len);</div><div class='add'>+    hash = ary_make_hash(ary1, ary2);</div><div class='ctx'> </div><div class='del'>-    if (rb_block_given_p()) {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	   v = RARRAY_AREF(ary, i);</div><div class='del'>-	   if (result == Qundef || rb_cmpint(rb_yield_values(2, v, result), v, result) &lt; 0) {</div><div class='del'>-	       result = v;</div><div class='del'>-	   }</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='add'>+	v = vv = rb_ary_elt(ary1, i);</div><div class='add'>+	if (st_delete(RHASH(hash)-&gt;tbl, (st_data_t*)&amp;vv, 0)) {</div><div class='add'>+	    rb_ary_push(ary3, v);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	   v = RARRAY_AREF(ary, i);</div><div class='del'>-	   if (result == Qundef || OPTIMIZED_CMP(v, result, cmp_opt) &lt; 0) {</div><div class='del'>-	       result = v;</div><div class='del'>-	   }</div><div class='add'>+    for (i=0; i&lt;RARRAY(ary2)-&gt;len; i++) {</div><div class='add'>+	v = vv = rb_ary_elt(ary2, i);</div><div class='add'>+	if (st_delete(RHASH(hash)-&gt;tbl, (st_data_t*)&amp;vv, 0)) {</div><div class='add'>+	    rb_ary_push(ary3, v);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    if (result == Qundef) return Qnil;</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-push_value(st_data_t key, st_data_t val, st_data_t ary)</div><div class='del'>-{</div><div class='del'>-    rb_ary_push((VALUE)ary, (VALUE)val);</div><div class='del'>-    return ST_CONTINUE;</div><div class='add'>+    return ary3;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.uniq!                -&gt; ary or nil</div><div class='del'>- *     ary.uniq! {|item| ...}   -&gt; ary or nil</div><div class='del'>- *</div><div class='del'>- *  Removes duplicate elements from +self+.</div><div class='del'>- *</div><div class='del'>- *  If a block is given, it will use the return value of the block for</div><div class='del'>- *  comparison.</div><div class='del'>- *</div><div class='del'>- *  It compares values using their #hash and #eql? methods for efficiency.</div><div class='del'>- *</div><div class='del'>- *  +self+ is traversed in order, and the first occurrence is kept.</div><div class='del'>- *</div><div class='del'>- *  Returns +nil+ if no changes are made (that is, no duplicates are found).</div><div class='del'>- *</div><div class='add'>+ *     array.uniq! -&gt; array or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Removes duplicate elements from _self_.</div><div class='add'>+ *  Returns &lt;code&gt;nil&lt;/code&gt; if no changes are made (that is, no</div><div class='add'>+ *  duplicates are found).</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "a", "b", "b", "c" ]</div><div class='del'>- *     a.uniq!   # =&gt; ["a", "b", "c"]</div><div class='del'>- *</div><div class='add'>+ *     a.uniq!   #=&gt; ["a", "b", "c"]</div><div class='ctx'>  *     b = [ "a", "b", "c" ]</div><div class='del'>- *     b.uniq!   # =&gt; nil</div><div class='del'>- *</div><div class='del'>- *     c = [["student","sam"], ["student","george"], ["teacher","matz"]]</div><div class='del'>- *     c.uniq! {|s| s.first}   # =&gt; [["student", "sam"], ["teacher", "matz"]]</div><div class='del'>- *</div><div class='add'>+ *     b.uniq!   #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_uniq_bang(VALUE ary)</div><div class='add'>+rb_ary_uniq_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE hash;</div><div class='del'>-    long hash_size;</div><div class='add'>+    VALUE hash, v, vv;</div><div class='add'>+    long i, j;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    if (RARRAY_LEN(ary) &lt;= 1)</div><div class='del'>-        return Qnil;</div><div class='del'>-    if (rb_block_given_p())</div><div class='del'>-	hash = ary_make_hash_by(ary);</div><div class='del'>-    else</div><div class='del'>-	hash = ary_make_hash(ary);</div><div class='del'>-</div><div class='del'>-    hash_size = RHASH_SIZE(hash);</div><div class='del'>-    if (RARRAY_LEN(ary) == hash_size) {</div><div class='add'>+    hash = ary_make_hash(ary, 0);</div><div class='add'>+</div><div class='add'>+    if (RARRAY(ary)-&gt;len == RHASH(hash)-&gt;tbl-&gt;num_entries) {</div><div class='ctx'> 	return Qnil;</div><div class='ctx'>     }</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    ARY_SET_LEN(ary, 0);</div><div class='del'>-    if (ARY_SHARED_P(ary) &amp;&amp; !ARY_EMBED_P(ary)) {</div><div class='del'>-	rb_ary_unshare(ary);</div><div class='del'>-	FL_SET_EMBED(ary);</div><div class='add'>+    for (i=j=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='add'>+	v = vv = rb_ary_elt(ary, i);</div><div class='add'>+	if (st_delete(RHASH(hash)-&gt;tbl, (st_data_t*)&amp;vv, 0)) {</div><div class='add'>+	    rb_ary_store(ary, j++, v);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    ary_resize_capa(ary, hash_size);</div><div class='del'>-    rb_hash_foreach(hash, push_value, ary);</div><div class='del'>-    ary_recycle_hash(hash);</div><div class='add'>+    RARRAY(ary)-&gt;len = j;</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.uniq                -&gt; new_ary</div><div class='del'>- *     ary.uniq {|item| ...}   -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns a new array by removing duplicate values in +self+.</div><div class='del'>- *</div><div class='del'>- *  If a block is given, it will use the return value of the block for comparison.</div><div class='del'>- *</div><div class='del'>- *  It compares values using their #hash and #eql? methods for efficiency.</div><div class='del'>- *</div><div class='del'>- *  +self+ is traversed in order, and the first occurrence is kept.</div><div class='del'>- *</div><div class='add'>+ *     array.uniq   -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns a new array by removing duplicate values in &lt;i&gt;self&lt;/i&gt;.</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ "a", "a", "b", "b", "c" ]</div><div class='del'>- *     a.uniq   # =&gt; ["a", "b", "c"]</div><div class='del'>- *</div><div class='del'>- *     b = [["student","sam"], ["student","george"], ["teacher","matz"]]</div><div class='del'>- *     b.uniq {|s| s.first}   # =&gt; [["student", "sam"], ["teacher", "matz"]]</div><div class='del'>- *</div><div class='add'>+ *     a.uniq   #=&gt; ["a", "b", "c"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_uniq(VALUE ary)</div><div class='add'>+rb_ary_uniq(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    VALUE hash, uniq;</div><div class='del'>-</div><div class='del'>-    if (RARRAY_LEN(ary) &lt;= 1)</div><div class='del'>-        return rb_ary_dup(ary);</div><div class='del'>-    if (rb_block_given_p()) {</div><div class='del'>-	hash = ary_make_hash_by(ary);</div><div class='del'>-	uniq = rb_hash_values(hash);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	hash = ary_make_hash(ary);</div><div class='del'>-	uniq = rb_hash_values(hash);</div><div class='del'>-    }</div><div class='del'>-    RBASIC_SET_CLASS(uniq, rb_obj_class(ary));</div><div class='del'>-    ary_recycle_hash(hash);</div><div class='del'>-</div><div class='del'>-    return uniq;</div><div class='add'>+    ary = rb_ary_dup(ary);</div><div class='add'>+    rb_ary_uniq_bang(ary);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='add'>+/* </div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.compact!    -&gt; ary  or  nil</div><div class='add'>+ *     array.compact!    -&gt;   array  or  nil</div><div class='ctx'>  *</div><div class='del'>- *  Removes +nil+ elements from the array.</div><div class='del'>- *</div><div class='del'>- *  Returns +nil+ if no changes were made, otherwise returns the array.</div><div class='add'>+ *  Removes +nil+ elements from array.</div><div class='add'>+ *  Returns +nil+ if no changes were made.</div><div class='ctx'>  *</div><div class='ctx'>  *     [ "a", nil, "b", nil, "c" ].compact! #=&gt; [ "a", "b", "c" ]</div><div class='ctx'>  *     [ "a", "b", "c" ].compact!           #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_compact_bang(VALUE ary)</div><div class='add'>+rb_ary_compact_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     VALUE *p, *t, *end;</div><div class='del'>-    long n;</div><div class='ctx'> </div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    p = t = (VALUE *)RARRAY_CONST_PTR_TRANSIENT(ary); /* WB: no new reference */</div><div class='del'>-    end = p + RARRAY_LEN(ary);</div><div class='del'>-</div><div class='add'>+    p = t = RARRAY(ary)-&gt;ptr;</div><div class='add'>+    end = p + RARRAY(ary)-&gt;len;</div><div class='add'>+    </div><div class='ctx'>     while (t &lt; end) {</div><div class='ctx'> 	if (NIL_P(*t)) t++;</div><div class='ctx'> 	else *p++ = *t++;</div><div class='ctx'>     }</div><div class='del'>-    n = p - RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='del'>-    if (RARRAY_LEN(ary) == n) {</div><div class='add'>+    if (RARRAY(ary)-&gt;len == (p - RARRAY(ary)-&gt;ptr)) {</div><div class='ctx'> 	return Qnil;</div><div class='ctx'>     }</div><div class='del'>-    ary_resize_smaller(ary, n);</div><div class='add'>+    RARRAY(ary)-&gt;len = RARRAY(ary)-&gt;aux.capa = (p - RARRAY(ary)-&gt;ptr);</div><div class='add'>+    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.compact     -&gt; new_ary</div><div class='add'>+ *     array.compact     -&gt;  an_array</div><div class='ctx'>  *</div><div class='del'>- *  Returns a copy of +self+ with all +nil+ elements removed.</div><div class='add'>+ *  Returns a copy of _self_ with all +nil+ elements removed.</div><div class='ctx'>  *</div><div class='ctx'>  *     [ "a", nil, "b", nil, "c", nil ].compact</div><div class='ctx'>  *                       #=&gt; [ "a", "b", "c" ]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_compact(VALUE ary)</div><div class='add'>+rb_ary_compact(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     ary = rb_ary_dup(ary);</div><div class='ctx'>     rb_ary_compact_bang(ary);</div><div class='hunk'>@@ -4974,1813 +2844,149 @@ rb_ary_compact(VALUE ary)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.count                   -&gt; int</div><div class='del'>- *     ary.count(obj)              -&gt; int</div><div class='del'>- *     ary.count {|item| block}    -&gt; int</div><div class='del'>- *</div><div class='del'>- *  Returns the number of elements.</div><div class='del'>- *</div><div class='del'>- *  If an argument is given, counts the number of elements which equal +obj+</div><div class='del'>- *  using &lt;code&gt;==&lt;/code&gt;.</div><div class='del'>- *</div><div class='del'>- *  If a block is given, counts the number of elements for which the block</div><div class='del'>- *  returns a true value.</div><div class='del'>- *</div><div class='del'>- *     ary = [1, 2, 4, 2]</div><div class='del'>- *     ary.count                  #=&gt; 4</div><div class='del'>- *     ary.count(2)               #=&gt; 2</div><div class='del'>- *     ary.count {|x| x%2 == 0}   #=&gt; 3</div><div class='del'>- *</div><div class='add'>+ *     array.nitems -&gt; int</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the number of non-&lt;code&gt;nil&lt;/code&gt; elements in _self_.</div><div class='add'>+ *  May be zero.</div><div class='add'>+ *     </div><div class='add'>+ *     [ 1, nil, 3, nil, 5 ].nitems   #=&gt; 3</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_count(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_nitems(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    long i, n = 0;</div><div class='del'>-</div><div class='del'>-    if (rb_check_arity(argc, 0, 1) == 0) {</div><div class='del'>-	VALUE v;</div><div class='del'>-</div><div class='del'>-	if (!rb_block_given_p())</div><div class='del'>-	    return LONG2NUM(RARRAY_LEN(ary));</div><div class='add'>+    long n = 0;</div><div class='add'>+    VALUE *p, *pend;</div><div class='ctx'> </div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	    v = RARRAY_AREF(ary, i);</div><div class='del'>-	    if (RTEST(rb_yield(v))) n++;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        VALUE obj = argv[0];</div><div class='add'>+    p = RARRAY(ary)-&gt;ptr;</div><div class='add'>+    pend = p + RARRAY(ary)-&gt;len;</div><div class='ctx'> </div><div class='del'>-	if (rb_block_given_p()) {</div><div class='del'>-	    rb_warn("given block not used");</div><div class='del'>-	}</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	    if (rb_equal(RARRAY_AREF(ary, i), obj)) n++;</div><div class='del'>-	}</div><div class='add'>+    while (p &lt; pend) {</div><div class='add'>+	if (!NIL_P(*p)) n++;</div><div class='add'>+	p++;</div><div class='ctx'>     }</div><div class='del'>-</div><div class='ctx'>     return LONG2NUM(n);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-flatten(VALUE ary, int level, int *modified)</div><div class='add'>+static long</div><div class='add'>+flatten(ary, idx, ary2, memo)</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long idx;</div><div class='add'>+    VALUE ary2, memo;</div><div class='ctx'> {</div><div class='del'>-    long i = 0;</div><div class='del'>-    VALUE stack, result, tmp, elt;</div><div class='del'>-    st_table *memo;</div><div class='del'>-    st_data_t id;</div><div class='del'>-</div><div class='del'>-    stack = ary_new(0, ARY_DEFAULT_SIZE);</div><div class='del'>-    result = ary_new(0, RARRAY_LEN(ary));</div><div class='del'>-    memo = st_init_numtable();</div><div class='del'>-    st_insert(memo, (st_data_t)ary, (st_data_t)Qtrue);</div><div class='del'>-    *modified = 0;</div><div class='del'>-</div><div class='del'>-    while (1) {</div><div class='del'>-	while (i &lt; RARRAY_LEN(ary)) {</div><div class='del'>-	    elt = RARRAY_AREF(ary, i++);</div><div class='del'>-	    if (level &gt;= 0 &amp;&amp; RARRAY_LEN(stack) / 2 &gt;= level) {</div><div class='del'>-		rb_ary_push(result, elt);</div><div class='del'>-		continue;</div><div class='del'>-	    }</div><div class='del'>-	    tmp = rb_check_array_type(elt);</div><div class='del'>-	    if (RBASIC(result)-&gt;klass) {</div><div class='del'>-		rb_raise(rb_eRuntimeError, "flatten reentered");</div><div class='del'>-	    }</div><div class='del'>-	    if (NIL_P(tmp)) {</div><div class='del'>-		rb_ary_push(result, elt);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		*modified = 1;</div><div class='del'>-		id = (st_data_t)tmp;</div><div class='del'>-		if (st_lookup(memo, id, 0)) {</div><div class='del'>-		    st_free_table(memo);</div><div class='del'>-		    rb_raise(rb_eArgError, "tried to flatten recursive array");</div><div class='del'>-		}</div><div class='del'>-		st_insert(memo, id, (st_data_t)Qtrue);</div><div class='del'>-		rb_ary_push(stack, ary);</div><div class='del'>-		rb_ary_push(stack, LONG2NUM(i));</div><div class='del'>-		ary = tmp;</div><div class='del'>-		i = 0;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	if (RARRAY_LEN(stack) == 0) {</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	id = (st_data_t)ary;</div><div class='del'>-	st_delete(memo, &amp;id, 0);</div><div class='del'>-	tmp = rb_ary_pop(stack);</div><div class='del'>-	i = NUM2LONG(tmp);</div><div class='del'>-	ary = rb_ary_pop(stack);</div><div class='add'>+    VALUE id;</div><div class='add'>+    long i = idx;</div><div class='add'>+    long n, lim = idx + RARRAY(ary2)-&gt;len;</div><div class='add'>+</div><div class='add'>+    id = rb_obj_id(ary2);</div><div class='add'>+    if (rb_ary_includes(memo, id)) {</div><div class='add'>+	rb_raise(rb_eArgError, "tried to flatten recursive array");</div><div class='ctx'>     }</div><div class='add'>+    rb_ary_push(memo, id);</div><div class='add'>+    rb_ary_splice(ary, idx, 1, ary2);</div><div class='add'>+    while (i &lt; lim) {</div><div class='add'>+	VALUE tmp;</div><div class='ctx'> </div><div class='del'>-    st_free_table(memo);</div><div class='add'>+	tmp = rb_check_array_type(rb_ary_elt(ary, i));</div><div class='add'>+	if (!NIL_P(tmp)) {</div><div class='add'>+	    n = flatten(ary, i, tmp, memo);</div><div class='add'>+	    i += n; lim += n;</div><div class='add'>+	}</div><div class='add'>+	i++;</div><div class='add'>+    }</div><div class='add'>+    rb_ary_pop(memo);</div><div class='ctx'> </div><div class='del'>-    RBASIC_SET_CLASS(result, rb_obj_class(ary));</div><div class='del'>-    return result;</div><div class='add'>+    return lim - idx - 1;	/* returns number of increased items */</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.flatten!        -&gt; ary or nil</div><div class='del'>- *     ary.flatten!(level) -&gt; ary or nil</div><div class='del'>- *</div><div class='del'>- *  Flattens +self+ in place.</div><div class='del'>- *</div><div class='del'>- *  Returns +nil+ if no modifications were made (i.e., the array contains no</div><div class='del'>- *  subarrays.)</div><div class='del'>- *</div><div class='del'>- *  The optional +level+ argument determines the level of recursion to flatten.</div><div class='del'>- *</div><div class='add'>+ *     array.flatten! -&gt; array or nil</div><div class='add'>+ *  </div><div class='add'>+ *  Flattens _self_ in place.</div><div class='add'>+ *  Returns &lt;code&gt;nil&lt;/code&gt; if no modifications were made (i.e.,</div><div class='add'>+ *  &lt;i&gt;array&lt;/i&gt; contains no subarrays.)</div><div class='add'>+ *     </div><div class='ctx'>  *     a = [ 1, 2, [3, [4, 5] ] ]</div><div class='ctx'>  *     a.flatten!   #=&gt; [1, 2, 3, 4, 5]</div><div class='ctx'>  *     a.flatten!   #=&gt; nil</div><div class='ctx'>  *     a            #=&gt; [1, 2, 3, 4, 5]</div><div class='del'>- *     a = [ 1, 2, [3, [4, 5] ] ]</div><div class='del'>- *     a.flatten!(1) #=&gt; [1, 2, 3, [4, 5]]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_flatten_bang(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_flatten_bang(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    int mod = 0, level = -1;</div><div class='del'>-    VALUE result, lv;</div><div class='add'>+    long i = 0;</div><div class='add'>+    int mod = 0;</div><div class='add'>+    VALUE memo = Qnil;</div><div class='ctx'> </div><div class='del'>-    lv = (rb_check_arity(argc, 0, 1) ? argv[0] : Qnil);</div><div class='del'>-    rb_ary_modify_check(ary);</div><div class='del'>-    if (!NIL_P(lv)) level = NUM2INT(lv);</div><div class='del'>-    if (level == 0) return Qnil;</div><div class='add'>+    while (i&lt;RARRAY(ary)-&gt;len) {</div><div class='add'>+	VALUE ary2 = RARRAY(ary)-&gt;ptr[i];</div><div class='add'>+	VALUE tmp;</div><div class='ctx'> </div><div class='del'>-    result = flatten(ary, level, &amp;mod);</div><div class='del'>-    if (mod == 0) {</div><div class='del'>-	ary_discard(result);</div><div class='del'>-	return Qnil;</div><div class='add'>+	tmp = rb_check_array_type(ary2);</div><div class='add'>+	if (!NIL_P(tmp)) {</div><div class='add'>+	    if (NIL_P(memo)) {</div><div class='add'>+		memo = rb_ary_new();</div><div class='add'>+	    }</div><div class='add'>+	    i += flatten(ary, i, tmp, memo);</div><div class='add'>+	    mod = 1;</div><div class='add'>+	}</div><div class='add'>+	i++;</div><div class='ctx'>     }</div><div class='del'>-    if (!(mod = ARY_EMBED_P(result))) rb_obj_freeze(result);</div><div class='del'>-    rb_ary_replace(ary, result);</div><div class='del'>-    if (mod) ARY_SET_EMBED_LEN(result, 0);</div><div class='del'>-</div><div class='add'>+    if (mod == 0) return Qnil;</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     ary.flatten -&gt; new_ary</div><div class='del'>- *     ary.flatten(level) -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns a new array that is a one-dimensional flattening of +self+</div><div class='del'>- *  (recursively).</div><div class='del'>- *</div><div class='del'>- *  That is, for every element that is an array, extract its elements into</div><div class='del'>- *  the new array.</div><div class='del'>- *</div><div class='del'>- *  The optional +level+ argument determines the level of recursion to</div><div class='del'>- *  flatten.</div><div class='del'>- *</div><div class='add'>+ *     array.flatten -&gt; an_array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns a new array that is a one-dimensional flattening of this</div><div class='add'>+ *  array (recursively). That is, for every element that is an array,</div><div class='add'>+ *  extract its elements into the new array.</div><div class='add'>+ *     </div><div class='ctx'>  *     s = [ 1, 2, 3 ]           #=&gt; [1, 2, 3]</div><div class='ctx'>  *     t = [ 4, 5, 6, [7, 8] ]   #=&gt; [4, 5, 6, [7, 8]]</div><div class='ctx'>  *     a = [ s, t, 9, 10 ]       #=&gt; [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]</div><div class='del'>- *     a.flatten                 #=&gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]</div><div class='del'>- *     a = [ 1, 2, [3, [4, 5] ] ]</div><div class='del'>- *     a.flatten(1)              #=&gt; [1, 2, 3, [4, 5]]</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_flatten(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    int mod = 0, level = -1;</div><div class='del'>-    VALUE result;</div><div class='del'>-</div><div class='del'>-    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(argv[0])) {</div><div class='del'>-        level = NUM2INT(argv[0]);</div><div class='del'>-        if (level == 0) return ary_make_shared_copy(ary);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    result = flatten(ary, level, &amp;mod);</div><div class='del'>-    OBJ_INFECT(result, ary);</div><div class='del'>-</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define OPTHASH_GIVEN_P(opts) \</div><div class='del'>-    (argc &gt; 0 &amp;&amp; !NIL_P((opts) = rb_check_hash_type(argv[argc-1])) &amp;&amp; (--argc, 1))</div><div class='del'>-static ID id_random;</div><div class='del'>-</div><div class='del'>-#define RAND_UPTO(max) (long)rb_random_ulong_limited((randgen), (max)-1)</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.shuffle!              -&gt; ary</div><div class='del'>- *     ary.shuffle!(random: rng) -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Shuffles elements in +self+ in place.</div><div class='del'>- *</div><div class='del'>- *     a = [ 1, 2, 3 ]           #=&gt; [1, 2, 3]</div><div class='del'>- *     a.shuffle!                #=&gt; [2, 3, 1]</div><div class='del'>- *     a                         #=&gt; [2, 3, 1]</div><div class='del'>- *</div><div class='del'>- *  The optional +rng+ argument will be used as the random number generator.</div><div class='del'>- *</div><div class='del'>- *     a.shuffle!(random: Random.new(1))  #=&gt; [1, 3, 2]</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_shuffle_bang(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE opts, randgen = rb_cRandom;</div><div class='del'>-    long i, len;</div><div class='del'>-</div><div class='del'>-    if (OPTHASH_GIVEN_P(opts)) {</div><div class='del'>-	VALUE rnd;</div><div class='del'>-	ID keyword_ids[1];</div><div class='del'>-</div><div class='del'>-	keyword_ids[0] = id_random;</div><div class='del'>-	rb_get_kwargs(opts, keyword_ids, 0, 1, &amp;rnd);</div><div class='del'>-	if (rnd != Qundef) {</div><div class='del'>-	    randgen = rnd;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    rb_check_arity(argc, 0, 0);</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    i = len = RARRAY_LEN(ary);</div><div class='del'>-    RARRAY_PTR_USE(ary, ptr, {</div><div class='del'>-	while (i) {</div><div class='del'>-	    long j = RAND_UPTO(i);</div><div class='del'>-	    VALUE tmp;</div><div class='del'>-            if (len != RARRAY_LEN(ary) || ptr != RARRAY_CONST_PTR_TRANSIENT(ary)) {</div><div class='del'>-                rb_raise(rb_eRuntimeError, "modified during shuffle");</div><div class='del'>-	    }</div><div class='del'>-	    tmp = ptr[--i];</div><div class='del'>-	    ptr[i] = ptr[j];</div><div class='del'>-	    ptr[j] = tmp;</div><div class='del'>-	}</div><div class='del'>-    }); /* WB: no new reference */</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.shuffle              -&gt; new_ary</div><div class='del'>- *     ary.shuffle(random: rng) -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns a new array with elements of +self+ shuffled.</div><div class='del'>- *</div><div class='del'>- *     a = [ 1, 2, 3 ]           #=&gt; [1, 2, 3]</div><div class='del'>- *     a.shuffle                 #=&gt; [2, 3, 1]</div><div class='del'>- *     a                         #=&gt; [1, 2, 3]</div><div class='del'>- *</div><div class='del'>- *  The optional +rng+ argument will be used as the random number generator.</div><div class='del'>- *</div><div class='del'>- *     a.shuffle(random: Random.new(1))  #=&gt; [1, 3, 2]</div><div class='add'>+ *     a.flatten                 #=&gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_shuffle(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+rb_ary_flatten(ary)</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='ctx'>     ary = rb_ary_dup(ary);</div><div class='del'>-    rb_ary_shuffle_bang(argc, argv, ary);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.sample                  -&gt; obj</div><div class='del'>- *     ary.sample(random: rng)     -&gt; obj</div><div class='del'>- *     ary.sample(n)               -&gt; new_ary</div><div class='del'>- *     ary.sample(n, random: rng)  -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Choose a random element or +n+ random elements from the array.</div><div class='del'>- *</div><div class='del'>- *  The elements are chosen by using random and unique indices into the array</div><div class='del'>- *  in order to ensure that an element doesn't repeat itself unless the array</div><div class='del'>- *  already contained duplicate elements.</div><div class='del'>- *</div><div class='del'>- *  If the array is empty the first form returns +nil+ and the second form</div><div class='del'>- *  returns an empty array.</div><div class='del'>- *</div><div class='del'>- *     a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]</div><div class='del'>- *     a.sample         #=&gt; 7</div><div class='del'>- *     a.sample(4)      #=&gt; [6, 4, 2, 5]</div><div class='del'>- *</div><div class='del'>- *  The optional +rng+ argument will be used as the random number generator.</div><div class='del'>- *</div><div class='del'>- *     a.sample(random: Random.new(1))     #=&gt; 6</div><div class='del'>- *     a.sample(4, random: Random.new(1))  #=&gt; [6, 10, 9, 2]</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_sample(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE nv, result;</div><div class='del'>-    VALUE opts, randgen = rb_cRandom;</div><div class='del'>-    long n, len, i, j, k, idx[10];</div><div class='del'>-    long rnds[numberof(idx)];</div><div class='del'>-    long memo_threshold;</div><div class='del'>-</div><div class='del'>-    if (OPTHASH_GIVEN_P(opts)) {</div><div class='del'>-	VALUE rnd;</div><div class='del'>-	ID keyword_ids[1];</div><div class='del'>-</div><div class='del'>-	keyword_ids[0] = id_random;</div><div class='del'>-	rb_get_kwargs(opts, keyword_ids, 0, 1, &amp;rnd);</div><div class='del'>-	if (rnd != Qundef) {</div><div class='del'>-	    randgen = rnd;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='del'>-    if (rb_check_arity(argc, 0, 1) == 0) {</div><div class='del'>-	if (len &lt; 2)</div><div class='del'>-	    i = 0;</div><div class='del'>-	else</div><div class='del'>-	    i = RAND_UPTO(len);</div><div class='del'>-</div><div class='del'>-	return rb_ary_elt(ary, i);</div><div class='del'>-    }</div><div class='del'>-    nv = argv[0];</div><div class='del'>-    n = NUM2LONG(nv);</div><div class='del'>-    if (n &lt; 0) rb_raise(rb_eArgError, "negative sample number");</div><div class='del'>-    if (n &gt; len) n = len;</div><div class='del'>-    if (n &lt;= numberof(idx)) {</div><div class='del'>-	for (i = 0; i &lt; n; ++i) {</div><div class='del'>-	    rnds[i] = RAND_UPTO(len - i);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    k = len;</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='del'>-    if (len &lt; k &amp;&amp; n &lt;= numberof(idx)) {</div><div class='del'>-	for (i = 0; i &lt; n; ++i) {</div><div class='del'>-	    if (rnds[i] &gt;= len) return rb_ary_new_capa(0);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    if (n &gt; len) n = len;</div><div class='del'>-    switch (n) {</div><div class='del'>-      case 0:</div><div class='del'>-	return rb_ary_new_capa(0);</div><div class='del'>-      case 1:</div><div class='del'>-	i = rnds[0];</div><div class='del'>-	return rb_ary_new_from_values(1, &amp;RARRAY_AREF(ary, i));</div><div class='del'>-      case 2:</div><div class='del'>-	i = rnds[0];</div><div class='del'>-	j = rnds[1];</div><div class='del'>-	if (j &gt;= i) j++;</div><div class='del'>-	return rb_ary_new_from_args(2, RARRAY_AREF(ary, i), RARRAY_AREF(ary, j));</div><div class='del'>-      case 3:</div><div class='del'>-	i = rnds[0];</div><div class='del'>-	j = rnds[1];</div><div class='del'>-	k = rnds[2];</div><div class='del'>-	{</div><div class='del'>-	    long l = j, g = i;</div><div class='del'>-	    if (j &gt;= i) l = i, g = ++j;</div><div class='del'>-	    if (k &gt;= l &amp;&amp; (++k &gt;= g)) ++k;</div><div class='del'>-	}</div><div class='del'>-	return rb_ary_new_from_args(3, RARRAY_AREF(ary, i), RARRAY_AREF(ary, j), RARRAY_AREF(ary, k));</div><div class='del'>-    }</div><div class='del'>-    memo_threshold =</div><div class='del'>-	len &lt; 2560 ? len / 128 :</div><div class='del'>-	len &lt; 5120 ? len / 64 :</div><div class='del'>-	len &lt; 10240 ? len / 32 :</div><div class='del'>-	len / 16;</div><div class='del'>-    if (n &lt;= numberof(idx)) {</div><div class='del'>-	long sorted[numberof(idx)];</div><div class='del'>-	sorted[0] = idx[0] = rnds[0];</div><div class='del'>-	for (i=1; i&lt;n; i++) {</div><div class='del'>-	    k = rnds[i];</div><div class='del'>-	    for (j = 0; j &lt; i; ++j) {</div><div class='del'>-		if (k &lt; sorted[j]) break;</div><div class='del'>-		++k;</div><div class='del'>-	    }</div><div class='del'>-	    memmove(&amp;sorted[j+1], &amp;sorted[j], sizeof(sorted[0])*(i-j));</div><div class='del'>-	    sorted[j] = idx[i] = k;</div><div class='del'>-	}</div><div class='del'>-	result = rb_ary_new_capa(n);</div><div class='del'>-        RARRAY_PTR_USE_TRANSIENT(result, ptr_result, {</div><div class='del'>-	    for (i=0; i&lt;n; i++) {</div><div class='del'>-		ptr_result[i] = RARRAY_AREF(ary, idx[i]);</div><div class='del'>-	    }</div><div class='del'>-	});</div><div class='del'>-    }</div><div class='del'>-    else if (n &lt;= memo_threshold / 2) {</div><div class='del'>-	long max_idx = 0;</div><div class='del'>-#undef RUBY_UNTYPED_DATA_WARNING</div><div class='del'>-#define RUBY_UNTYPED_DATA_WARNING 0</div><div class='del'>-	VALUE vmemo = Data_Wrap_Struct(0, 0, st_free_table, 0);</div><div class='del'>-	st_table *memo = st_init_numtable_with_size(n);</div><div class='del'>-	DATA_PTR(vmemo) = memo;</div><div class='del'>-	result = rb_ary_new_capa(n);</div><div class='del'>-	RARRAY_PTR_USE(result, ptr_result, {</div><div class='del'>-	    for (i=0; i&lt;n; i++) {</div><div class='del'>-		long r = RAND_UPTO(len-i) + i;</div><div class='del'>-		ptr_result[i] = r;</div><div class='del'>-		if (r &gt; max_idx) max_idx = r;</div><div class='del'>-	    }</div><div class='del'>-	    len = RARRAY_LEN(ary);</div><div class='del'>-	    if (len &lt;= max_idx) n = 0;</div><div class='del'>-	    else if (n &gt; len) n = len;</div><div class='del'>-            RARRAY_PTR_USE_TRANSIENT(ary, ptr_ary, {</div><div class='del'>-		for (i=0; i&lt;n; i++) {</div><div class='del'>-		    long j2 = j = ptr_result[i];</div><div class='del'>-		    long i2 = i;</div><div class='del'>-		    st_data_t value;</div><div class='del'>-		    if (st_lookup(memo, (st_data_t)i, &amp;value)) i2 = (long)value;</div><div class='del'>-		    if (st_lookup(memo, (st_data_t)j, &amp;value)) j2 = (long)value;</div><div class='del'>-		    st_insert(memo, (st_data_t)j, (st_data_t)i2);</div><div class='del'>-		    ptr_result[i] = ptr_ary[j2];</div><div class='del'>-		}</div><div class='del'>-	    });</div><div class='del'>-	});</div><div class='del'>-	DATA_PTR(vmemo) = 0;</div><div class='del'>-	st_free_table(memo);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	result = rb_ary_dup(ary);</div><div class='del'>-	RBASIC_CLEAR_CLASS(result);</div><div class='del'>-	RB_GC_GUARD(ary);</div><div class='del'>-	RARRAY_PTR_USE(result, ptr_result, {</div><div class='del'>-	    for (i=0; i&lt;n; i++) {</div><div class='del'>-		j = RAND_UPTO(len-i) + i;</div><div class='del'>-		nv = ptr_result[j];</div><div class='del'>-		ptr_result[j] = ptr_result[i];</div><div class='del'>-		ptr_result[i] = nv;</div><div class='del'>-	    }</div><div class='del'>-	});</div><div class='del'>-	RBASIC_SET_CLASS_RAW(result, rb_cArray);</div><div class='del'>-    }</div><div class='del'>-    ARY_SET_LEN(result, n);</div><div class='del'>-</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_cycle_size(VALUE self, VALUE args, VALUE eobj)</div><div class='del'>-{</div><div class='del'>-    long mul;</div><div class='del'>-    VALUE n = Qnil;</div><div class='del'>-    if (args &amp;&amp; (RARRAY_LEN(args) &gt; 0)) {</div><div class='del'>-	n = RARRAY_AREF(args, 0);</div><div class='del'>-    }</div><div class='del'>-    if (RARRAY_LEN(self) == 0) return INT2FIX(0);</div><div class='del'>-    if (n == Qnil) return DBL2NUM(HUGE_VAL);</div><div class='del'>-    mul = NUM2LONG(n);</div><div class='del'>-    if (mul &lt;= 0) return INT2FIX(0);</div><div class='del'>-    n = LONG2FIX(mul);</div><div class='del'>-    return rb_fix_mul_fix(rb_ary_length(self), n);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.cycle(n=nil) {|obj| block}    -&gt; nil</div><div class='del'>- *     ary.cycle(n=nil)                  -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Calls the given block for each element +n+ times or forever if +nil+ is</div><div class='del'>- *  given.</div><div class='del'>- *</div><div class='del'>- *  Does nothing if a non-positive number is given or the array is empty.</div><div class='del'>- *</div><div class='del'>- *  Returns +nil+ if the loop has finished without getting interrupted.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *     a = ["a", "b", "c"]</div><div class='del'>- *     a.cycle {|x| puts x}       # print, a, b, c, a, b, c,.. forever.</div><div class='del'>- *     a.cycle(2) {|x| puts x}    # print, a, b, c, a, b, c.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_cycle(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long n, i;</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, argc, argv, rb_ary_cycle_size);</div><div class='del'>-    if (argc == 0 || NIL_P(argv[0])) {</div><div class='del'>-        n = -1;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        n = NUM2LONG(argv[0]);</div><div class='del'>-        if (n &lt;= 0) return Qnil;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    while (RARRAY_LEN(ary) &gt; 0 &amp;&amp; (n &lt; 0 || 0 &lt; n--)) {</div><div class='del'>-        for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='del'>-            rb_yield(RARRAY_AREF(ary, i));</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define tmpary(n) rb_ary_tmp_new(n)</div><div class='del'>-#define tmpary_discard(a) (ary_discard(a), RBASIC_SET_CLASS_RAW(a, rb_cArray))</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Build a ruby array of the corresponding values and yield it to the</div><div class='del'>- * associated block.</div><div class='del'>- * Return the class of +values+ for reentry check.</div><div class='del'>- */</div><div class='del'>-static int</div><div class='del'>-yield_indexed_values(const VALUE values, const long r, const long *const p)</div><div class='del'>-{</div><div class='del'>-    const VALUE result = rb_ary_new2(r);</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; r; i++) RARRAY_ASET(result, i, RARRAY_AREF(values, p[i]));</div><div class='del'>-    ARY_SET_LEN(result, r);</div><div class='del'>-    rb_yield(result);</div><div class='del'>-    return !RBASIC(values)-&gt;klass;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Compute permutations of +r+ elements of the set &lt;code&gt;[0..n-1]&lt;/code&gt;.</div><div class='del'>- *</div><div class='del'>- * When we have a complete permutation of array indices, copy the values</div><div class='del'>- * at those indices into a new array and yield that array.</div><div class='del'>- *</div><div class='del'>- * n: the size of the set</div><div class='del'>- * r: the number of elements in each permutation</div><div class='del'>- * p: the array (of size r) that we're filling in</div><div class='del'>- * used: an array of booleans: whether a given index is already used</div><div class='del'>- * values: the Ruby array that holds the actual values to permute</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-permute0(const long n, const long r, long *const p, char *const used, const VALUE values)</div><div class='del'>-{</div><div class='del'>-    long i = 0, index = 0;</div><div class='del'>-</div><div class='del'>-    for (;;) {</div><div class='del'>-	const char *const unused = memchr(&amp;used[i], 0, n-i);</div><div class='del'>-	if (!unused) {</div><div class='del'>-	    if (!index) break;</div><div class='del'>-	    i = p[--index];                /* pop index */</div><div class='del'>-	    used[i++] = 0;                 /* index unused */</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    i = unused - used;</div><div class='del'>-	    p[index] = i;</div><div class='del'>-	    used[i] = 1;                   /* mark index used */</div><div class='del'>-	    ++index;</div><div class='del'>-	    if (index &lt; r-1) {             /* if not done yet */</div><div class='del'>-		p[index] = i = 0;</div><div class='del'>-		continue;</div><div class='del'>-	    }</div><div class='del'>-	    for (i = 0; i &lt; n; ++i) {</div><div class='del'>-		if (used[i]) continue;</div><div class='del'>-		p[index] = i;</div><div class='del'>-		if (!yield_indexed_values(values, r, p)) {</div><div class='del'>-		    rb_raise(rb_eRuntimeError, "permute reentered");</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    i = p[--index];                /* pop index */</div><div class='del'>-	    used[i] = 0;                   /* index unused */</div><div class='del'>-	    p[index] = ++i;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Returns the product of from, from-1, ..., from - how_many + 1.</div><div class='del'>- * http://en.wikipedia.org/wiki/Pochhammer_symbol</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-descending_factorial(long from, long how_many)</div><div class='del'>-{</div><div class='del'>-    VALUE cnt;</div><div class='del'>-    if (how_many &gt; 0) {</div><div class='del'>-	cnt = LONG2FIX(from);</div><div class='del'>-	while (--how_many &gt; 0) {</div><div class='del'>-	    long v = --from;</div><div class='del'>-	    cnt = rb_int_mul(cnt, LONG2FIX(v));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	cnt = LONG2FIX(how_many == 0);</div><div class='del'>-    }</div><div class='del'>-    return cnt;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-binomial_coefficient(long comb, long size)</div><div class='del'>-{</div><div class='del'>-    VALUE r;</div><div class='del'>-    long i;</div><div class='del'>-    if (comb &gt; size-comb) {</div><div class='del'>-	comb = size-comb;</div><div class='del'>-    }</div><div class='del'>-    if (comb &lt; 0) {</div><div class='del'>-	return LONG2FIX(0);</div><div class='del'>-    }</div><div class='del'>-    else if (comb == 0) {</div><div class='del'>-	return LONG2FIX(1);</div><div class='del'>-    }</div><div class='del'>-    r = LONG2FIX(size);</div><div class='del'>-    for (i = 1; i &lt; comb; ++i) {</div><div class='del'>-	r = rb_int_mul(r, LONG2FIX(size - i));</div><div class='del'>-	r = rb_int_idiv(r, LONG2FIX(i + 1));</div><div class='del'>-    }</div><div class='del'>-    return r;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_permutation_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='del'>-{</div><div class='del'>-    long n = RARRAY_LEN(ary);</div><div class='del'>-    long k = (args &amp;&amp; (RARRAY_LEN(args) &gt; 0)) ? NUM2LONG(RARRAY_AREF(args, 0)) : n;</div><div class='del'>-</div><div class='del'>-    return descending_factorial(n, k);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.permutation {|p| block}            -&gt; ary</div><div class='del'>- *     ary.permutation                        -&gt; Enumerator</div><div class='del'>- *     ary.permutation(n) {|p| block}         -&gt; ary</div><div class='del'>- *     ary.permutation(n)                     -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- * When invoked with a block, yield all permutations of length +n+ of the</div><div class='del'>- * elements of the array, then return the array itself.</div><div class='del'>- *</div><div class='del'>- * If +n+ is not specified, yield all permutations of all elements.</div><div class='del'>- *</div><div class='del'>- * The implementation makes no guarantees about the order in which the</div><div class='del'>- * permutations are yielded.</div><div class='del'>- *</div><div class='del'>- * If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- * Examples:</div><div class='del'>- *</div><div class='del'>- *   a = [1, 2, 3]</div><div class='del'>- *   a.permutation.to_a    #=&gt; [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]</div><div class='del'>- *   a.permutation(1).to_a #=&gt; [[1],[2],[3]]</div><div class='del'>- *   a.permutation(2).to_a #=&gt; [[1,2],[1,3],[2,1],[2,3],[3,1],[3,2]]</div><div class='del'>- *   a.permutation(3).to_a #=&gt; [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]</div><div class='del'>- *   a.permutation(0).to_a #=&gt; [[]] # one permutation of length 0</div><div class='del'>- *   a.permutation(4).to_a #=&gt; []   # no permutations of length 4</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_permutation(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long r, n, i;</div><div class='del'>-</div><div class='del'>-    n = RARRAY_LEN(ary);                  /* Array length */</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, argc, argv, rb_ary_permutation_size);   /* Return enumerator if no block */</div><div class='del'>-    r = n;</div><div class='del'>-    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(argv[0]))</div><div class='del'>-        r = NUM2LONG(argv[0]);            /* Permutation size from argument */</div><div class='del'>-</div><div class='del'>-    if (r &lt; 0 || n &lt; r) {</div><div class='del'>-	/* no permutations: yield nothing */</div><div class='del'>-    }</div><div class='del'>-    else if (r == 0) { /* exactly one permutation: the zero-length array */</div><div class='del'>-	rb_yield(rb_ary_new2(0));</div><div class='del'>-    }</div><div class='del'>-    else if (r == 1) { /* this is a special, easy case */</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {             /* this is the general case */</div><div class='del'>-	volatile VALUE t0;</div><div class='del'>-	long *p = ALLOCV_N(long, t0, r+roomof(n, sizeof(long)));</div><div class='del'>-	char *used = (char*)(p + r);</div><div class='del'>-	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='del'>-	RBASIC_CLEAR_CLASS(ary0);</div><div class='del'>-</div><div class='del'>-	MEMZERO(used, char, n); /* initialize array */</div><div class='del'>-</div><div class='del'>-	permute0(n, r, p, used, ary0); /* compute and yield permutations */</div><div class='del'>-	ALLOCV_END(t0);</div><div class='del'>-	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='del'>-    }</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-combinate0(const long len, const long n, long *const stack, const VALUE values)</div><div class='del'>-{</div><div class='del'>-    long lev = 0;</div><div class='del'>-</div><div class='del'>-    MEMZERO(stack+1, long, n);</div><div class='del'>-    stack[0] = -1;</div><div class='del'>-    for (;;) {</div><div class='del'>-	for (lev++; lev &lt; n; lev++) {</div><div class='del'>-	    stack[lev+1] = stack[lev]+1;</div><div class='del'>-	}</div><div class='del'>-	if (!yield_indexed_values(values, n, stack+1)) {</div><div class='del'>-	    rb_raise(rb_eRuntimeError, "combination reentered");</div><div class='del'>-	}</div><div class='del'>-	do {</div><div class='del'>-	    if (lev == 0) return;</div><div class='del'>-	    stack[lev--]++;</div><div class='del'>-	} while (stack[lev+1]+n == len+lev+1);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_combination_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='del'>-{</div><div class='del'>-    long n = RARRAY_LEN(ary);</div><div class='del'>-    long k = NUM2LONG(RARRAY_AREF(args, 0));</div><div class='del'>-</div><div class='del'>-    return binomial_coefficient(k, n);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.combination(n) {|c| block}      -&gt; ary</div><div class='del'>- *     ary.combination(n)                  -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- * When invoked with a block, yields all combinations of length +n+ of elements</div><div class='del'>- * from the array and then returns the array itself.</div><div class='del'>- *</div><div class='del'>- * The implementation makes no guarantees about the order in which the</div><div class='del'>- * combinations are yielded.</div><div class='del'>- *</div><div class='del'>- * If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- * Examples:</div><div class='del'>- *</div><div class='del'>- *     a = [1, 2, 3, 4]</div><div class='del'>- *     a.combination(1).to_a  #=&gt; [[1],[2],[3],[4]]</div><div class='del'>- *     a.combination(2).to_a  #=&gt; [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]</div><div class='del'>- *     a.combination(3).to_a  #=&gt; [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]</div><div class='del'>- *     a.combination(4).to_a  #=&gt; [[1,2,3,4]]</div><div class='del'>- *     a.combination(0).to_a  #=&gt; [[]] # one combination of length 0</div><div class='del'>- *     a.combination(5).to_a  #=&gt; []   # no combinations of length 5</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_combination(VALUE ary, VALUE num)</div><div class='del'>-{</div><div class='del'>-    long i, n, len;</div><div class='del'>-</div><div class='del'>-    n = NUM2LONG(num);</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 1, &amp;num, rb_ary_combination_size);</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='del'>-    if (n &lt; 0 || len &lt; n) {</div><div class='del'>-	/* yield nothing */</div><div class='del'>-    }</div><div class='del'>-    else if (n == 0) {</div><div class='del'>-	rb_yield(rb_ary_new2(0));</div><div class='del'>-    }</div><div class='del'>-    else if (n == 1) {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='del'>-	volatile VALUE t0;</div><div class='del'>-	long *stack = ALLOCV_N(long, t0, n+1);</div><div class='del'>-</div><div class='del'>-	RBASIC_CLEAR_CLASS(ary0);</div><div class='del'>-	combinate0(len, n, stack, ary0);</div><div class='del'>-	ALLOCV_END(t0);</div><div class='del'>-	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='del'>-    }</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Compute repeated permutations of +r+ elements of the set</div><div class='del'>- * &lt;code&gt;[0..n-1]&lt;/code&gt;.</div><div class='del'>- *</div><div class='del'>- * When we have a complete repeated permutation of array indices, copy the</div><div class='del'>- * values at those indices into a new array and yield that array.</div><div class='del'>- *</div><div class='del'>- * n: the size of the set</div><div class='del'>- * r: the number of elements in each permutation</div><div class='del'>- * p: the array (of size r) that we're filling in</div><div class='del'>- * values: the Ruby array that holds the actual values to permute</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-rpermute0(const long n, const long r, long *const p, const VALUE values)</div><div class='del'>-{</div><div class='del'>-    long i = 0, index = 0;</div><div class='del'>-</div><div class='del'>-    p[index] = i;</div><div class='del'>-    for (;;) {</div><div class='del'>-	if (++index &lt; r-1) {</div><div class='del'>-	    p[index] = i = 0;</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='del'>-	for (i = 0; i &lt; n; ++i) {</div><div class='del'>-	    p[index] = i;</div><div class='del'>-	    if (!yield_indexed_values(values, r, p)) {</div><div class='del'>-		rb_raise(rb_eRuntimeError, "repeated permute reentered");</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	do {</div><div class='del'>-	    if (index &lt;= 0) return;</div><div class='del'>-	} while ((i = ++p[--index]) &gt;= n);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_repeated_permutation_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='del'>-{</div><div class='del'>-    long n = RARRAY_LEN(ary);</div><div class='del'>-    long k = NUM2LONG(RARRAY_AREF(args, 0));</div><div class='del'>-</div><div class='del'>-    if (k &lt; 0) {</div><div class='del'>-	return LONG2FIX(0);</div><div class='del'>-    }</div><div class='del'>-    if (n &lt;= 0) {</div><div class='del'>-	return LONG2FIX(!k);</div><div class='del'>-    }</div><div class='del'>-    return rb_int_positive_pow(n, (unsigned long)k);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.repeated_permutation(n) {|p| block}   -&gt; ary</div><div class='del'>- *     ary.repeated_permutation(n)               -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- * When invoked with a block, yield all repeated permutations of length +n+ of</div><div class='del'>- * the elements of the array, then return the array itself.</div><div class='del'>- *</div><div class='del'>- * The implementation makes no guarantees about the order in which the repeated</div><div class='del'>- * permutations are yielded.</div><div class='del'>- *</div><div class='del'>- * If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- * Examples:</div><div class='del'>- *</div><div class='del'>- *     a = [1, 2]</div><div class='del'>- *     a.repeated_permutation(1).to_a  #=&gt; [[1], [2]]</div><div class='del'>- *     a.repeated_permutation(2).to_a  #=&gt; [[1,1],[1,2],[2,1],[2,2]]</div><div class='del'>- *     a.repeated_permutation(3).to_a  #=&gt; [[1,1,1],[1,1,2],[1,2,1],[1,2,2],</div><div class='del'>- *                                     #    [2,1,1],[2,1,2],[2,2,1],[2,2,2]]</div><div class='del'>- *     a.repeated_permutation(0).to_a  #=&gt; [[]] # one permutation of length 0</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_repeated_permutation(VALUE ary, VALUE num)</div><div class='del'>-{</div><div class='del'>-    long r, n, i;</div><div class='del'>-</div><div class='del'>-    n = RARRAY_LEN(ary);                  /* Array length */</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 1, &amp;num, rb_ary_repeated_permutation_size);      /* Return Enumerator if no block */</div><div class='del'>-    r = NUM2LONG(num);                    /* Permutation size from argument */</div><div class='del'>-</div><div class='del'>-    if (r &lt; 0) {</div><div class='del'>-	/* no permutations: yield nothing */</div><div class='del'>-    }</div><div class='del'>-    else if (r == 0) { /* exactly one permutation: the zero-length array */</div><div class='del'>-	rb_yield(rb_ary_new2(0));</div><div class='del'>-    }</div><div class='del'>-    else if (r == 1) { /* this is a special, easy case */</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {             /* this is the general case */</div><div class='del'>-	volatile VALUE t0;</div><div class='del'>-	long *p = ALLOCV_N(long, t0, r);</div><div class='del'>-	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='del'>-	RBASIC_CLEAR_CLASS(ary0);</div><div class='del'>-</div><div class='del'>-	rpermute0(n, r, p, ary0); /* compute and yield repeated permutations */</div><div class='del'>-	ALLOCV_END(t0);</div><div class='del'>-	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='del'>-    }</div><div class='add'>+    rb_ary_flatten_bang(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-rcombinate0(const long n, const long r, long *const p, const long rest, const VALUE values)</div><div class='del'>-{</div><div class='del'>-    long i = 0, index = 0;</div><div class='del'>-</div><div class='del'>-    p[index] = i;</div><div class='del'>-    for (;;) {</div><div class='del'>-	if (++index &lt; r-1) {</div><div class='del'>-	    p[index] = i;</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='del'>-	for (; i &lt; n; ++i) {</div><div class='del'>-	    p[index] = i;</div><div class='del'>-	    if (!yield_indexed_values(values, r, p)) {</div><div class='del'>-		rb_raise(rb_eRuntimeError, "repeated combination reentered");</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	do {</div><div class='del'>-	    if (index &lt;= 0) return;</div><div class='del'>-	} while ((i = ++p[--index]) &gt;= n);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_repeated_combination_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='del'>-{</div><div class='del'>-    long n = RARRAY_LEN(ary);</div><div class='del'>-    long k = NUM2LONG(RARRAY_AREF(args, 0));</div><div class='del'>-    if (k == 0) {</div><div class='del'>-	return LONG2FIX(1);</div><div class='del'>-    }</div><div class='del'>-    return binomial_coefficient(k, n + k - 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.repeated_combination(n) {|c| block}   -&gt; ary</div><div class='del'>- *     ary.repeated_combination(n)               -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- * When invoked with a block, yields all repeated combinations of length +n+ of</div><div class='del'>- * elements from the array and then returns the array itself.</div><div class='del'>- *</div><div class='del'>- * The implementation makes no guarantees about the order in which the repeated</div><div class='del'>- * combinations are yielded.</div><div class='del'>- *</div><div class='del'>- * If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- * Examples:</div><div class='del'>- *</div><div class='del'>- *   a = [1, 2, 3]</div><div class='del'>- *   a.repeated_combination(1).to_a  #=&gt; [[1], [2], [3]]</div><div class='del'>- *   a.repeated_combination(2).to_a  #=&gt; [[1,1],[1,2],[1,3],[2,2],[2,3],[3,3]]</div><div class='del'>- *   a.repeated_combination(3).to_a  #=&gt; [[1,1,1],[1,1,2],[1,1,3],[1,2,2],[1,2,3],</div><div class='del'>- *                                   #    [1,3,3],[2,2,2],[2,2,3],[2,3,3],[3,3,3]]</div><div class='del'>- *   a.repeated_combination(4).to_a  #=&gt; [[1,1,1,1],[1,1,1,2],[1,1,1,3],[1,1,2,2],[1,1,2,3],</div><div class='del'>- *                                   #    [1,1,3,3],[1,2,2,2],[1,2,2,3],[1,2,3,3],[1,3,3,3],</div><div class='del'>- *                                   #    [2,2,2,2],[2,2,2,3],[2,2,3,3],[2,3,3,3],[3,3,3,3]]</div><div class='del'>- *   a.repeated_combination(0).to_a  #=&gt; [[]] # one combination of length 0</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_repeated_combination(VALUE ary, VALUE num)</div><div class='del'>-{</div><div class='del'>-    long n, i, len;</div><div class='del'>-</div><div class='del'>-    n = NUM2LONG(num);                 /* Combination size from argument */</div><div class='del'>-    RETURN_SIZED_ENUMERATOR(ary, 1, &amp;num, rb_ary_repeated_combination_size);   /* Return enumerator if no block */</div><div class='del'>-    len = RARRAY_LEN(ary);</div><div class='del'>-    if (n &lt; 0) {</div><div class='del'>-	/* yield nothing */</div><div class='del'>-    }</div><div class='del'>-    else if (n == 0) {</div><div class='del'>-	rb_yield(rb_ary_new2(0));</div><div class='del'>-    }</div><div class='del'>-    else if (n == 1) {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (len == 0) {</div><div class='del'>-	/* yield nothing */</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	volatile VALUE t0;</div><div class='del'>-	long *p = ALLOCV_N(long, t0, n);</div><div class='del'>-	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='del'>-	RBASIC_CLEAR_CLASS(ary0);</div><div class='del'>-</div><div class='del'>-	rcombinate0(len, n, p, n, ary0); /* compute and yield repeated combinations */</div><div class='del'>-	ALLOCV_END(t0);</div><div class='del'>-	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='del'>-    }</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.product(other_ary, ...)                -&gt; new_ary</div><div class='del'>- *     ary.product(other_ary, ...) {|p| block}    -&gt; ary</div><div class='del'>- *</div><div class='del'>- *  Returns an array of all combinations of elements from all arrays.</div><div class='del'>- *</div><div class='del'>- *  The length of the returned array is the product of the length of +self+ and</div><div class='del'>- *  the argument arrays.</div><div class='del'>- *</div><div class='del'>- *  If given a block, #product will yield all combinations and return +self+</div><div class='del'>- *  instead.</div><div class='del'>- *</div><div class='del'>- *     [1,2,3].product([4,5])     #=&gt; [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]</div><div class='del'>- *     [1,2].product([1,2])       #=&gt; [[1,1],[1,2],[2,1],[2,2]]</div><div class='del'>- *     [1,2].product([3,4],[5,6]) #=&gt; [[1,3,5],[1,3,6],[1,4,5],[1,4,6],</div><div class='del'>- *                                #     [2,3,5],[2,3,6],[2,4,5],[2,4,6]]</div><div class='del'>- *     [1,2].product()            #=&gt; [[1],[2]]</div><div class='del'>- *     [1,2].product([])          #=&gt; []</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_product(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    int n = argc+1;    /* How many arrays we're operating on */</div><div class='del'>-    volatile VALUE t0 = tmpary(n);</div><div class='del'>-    volatile VALUE t1 = Qundef;</div><div class='del'>-    VALUE *arrays = RARRAY_PTR(t0); /* The arrays we're computing the product of */</div><div class='del'>-    int *counters = ALLOCV_N(int, t1, n); /* The current position in each one */</div><div class='del'>-    VALUE result = Qnil;      /* The array we'll be returning, when no block given */</div><div class='del'>-    long i,j;</div><div class='del'>-    long resultlen = 1;</div><div class='del'>-</div><div class='del'>-    RBASIC_CLEAR_CLASS(t0);</div><div class='del'>-</div><div class='del'>-    /* initialize the arrays of arrays */</div><div class='del'>-    ARY_SET_LEN(t0, n);</div><div class='del'>-    arrays[0] = ary;</div><div class='del'>-    for (i = 1; i &lt; n; i++) arrays[i] = Qnil;</div><div class='del'>-    for (i = 1; i &lt; n; i++) arrays[i] = to_ary(argv[i-1]);</div><div class='del'>-</div><div class='del'>-    /* initialize the counters for the arrays */</div><div class='del'>-    for (i = 0; i &lt; n; i++) counters[i] = 0;</div><div class='del'>-</div><div class='del'>-    /* Otherwise, allocate and fill in an array of results */</div><div class='del'>-    if (rb_block_given_p()) {</div><div class='del'>-	/* Make defensive copies of arrays; exit if any is empty */</div><div class='del'>-	for (i = 0; i &lt; n; i++) {</div><div class='del'>-	    if (RARRAY_LEN(arrays[i]) == 0) goto done;</div><div class='del'>-	    arrays[i] = ary_make_shared_copy(arrays[i]);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* Compute the length of the result array; return [] if any is empty */</div><div class='del'>-	for (i = 0; i &lt; n; i++) {</div><div class='del'>-	    long k = RARRAY_LEN(arrays[i]);</div><div class='del'>-	    if (k == 0) {</div><div class='del'>-		result = rb_ary_new2(0);</div><div class='del'>-		goto done;</div><div class='del'>-	    }</div><div class='del'>-            if (MUL_OVERFLOW_LONG_P(resultlen, k))</div><div class='del'>-		rb_raise(rb_eRangeError, "too big to product");</div><div class='del'>-	    resultlen *= k;</div><div class='del'>-	}</div><div class='del'>-	result = rb_ary_new2(resultlen);</div><div class='del'>-    }</div><div class='del'>-    for (;;) {</div><div class='del'>-	int m;</div><div class='del'>-	/* fill in one subarray */</div><div class='del'>-	VALUE subarray = rb_ary_new2(n);</div><div class='del'>-	for (j = 0; j &lt; n; j++) {</div><div class='del'>-	    rb_ary_push(subarray, rb_ary_entry(arrays[j], counters[j]));</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	/* put it on the result array */</div><div class='del'>-	if (NIL_P(result)) {</div><div class='del'>-	    FL_SET(t0, FL_USER5);</div><div class='del'>-	    rb_yield(subarray);</div><div class='del'>-	    if (! FL_TEST(t0, FL_USER5)) {</div><div class='del'>-		rb_raise(rb_eRuntimeError, "product reentered");</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		FL_UNSET(t0, FL_USER5);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    rb_ary_push(result, subarray);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	/*</div><div class='del'>-	 * Increment the last counter.  If it overflows, reset to 0</div><div class='del'>-	 * and increment the one before it.</div><div class='del'>-	 */</div><div class='del'>-	m = n-1;</div><div class='del'>-	counters[m]++;</div><div class='del'>-	while (counters[m] == RARRAY_LEN(arrays[m])) {</div><div class='del'>-	    counters[m] = 0;</div><div class='del'>-	    /* If the first counter overflows, we are done */</div><div class='del'>-	    if (--m &lt; 0) goto done;</div><div class='del'>-	    counters[m]++;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-done:</div><div class='del'>-    tmpary_discard(t0);</div><div class='del'>-    ALLOCV_END(t1);</div><div class='del'>-</div><div class='del'>-    return NIL_P(result) ? ary : result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.take(n)               -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Returns first +n+ elements from the array.</div><div class='del'>- *</div><div class='del'>- *  If a negative number is given, raises an ArgumentError.</div><div class='del'>- *</div><div class='del'>- *  See also Array#drop</div><div class='del'>- *</div><div class='del'>- *     a = [1, 2, 3, 4, 5, 0]</div><div class='del'>- *     a.take(3)             #=&gt; [1, 2, 3]</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_take(VALUE obj, VALUE n)</div><div class='del'>-{</div><div class='del'>-    long len = NUM2LONG(n);</div><div class='del'>-    if (len &lt; 0) {</div><div class='del'>-	rb_raise(rb_eArgError, "attempt to take negative size");</div><div class='del'>-    }</div><div class='del'>-    return rb_ary_subseq(obj, 0, len);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.take_while {|obj| block}    -&gt; new_ary</div><div class='del'>- *     ary.take_while                  -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Passes elements to the block until the block returns +nil+ or +false+, then</div><div class='del'>- *  stops iterating and returns an array of all prior elements.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *  See also Array#drop_while</div><div class='del'>- *</div><div class='del'>- *     a = [1, 2, 3, 4, 5, 0]</div><div class='del'>- *     a.take_while {|i| i &lt; 3}    #=&gt; [1, 2]</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_take_while(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    RETURN_ENUMERATOR(ary, 0, 0);</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;</div><div class='del'>-    }</div><div class='del'>-    return rb_ary_take(ary, LONG2FIX(i));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.drop(n)               -&gt; new_ary</div><div class='del'>- *</div><div class='del'>- *  Drops first +n+ elements from +ary+ and returns the rest of the elements in</div><div class='del'>- *  an array.</div><div class='del'>- *</div><div class='del'>- *  If a negative number is given, raises an ArgumentError.</div><div class='del'>- *</div><div class='del'>- *  See also Array#take</div><div class='del'>- *</div><div class='del'>- *     a = [1, 2, 3, 4, 5, 0]</div><div class='del'>- *     a.drop(3)             #=&gt; [4, 5, 0]</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_drop(VALUE ary, VALUE n)</div><div class='del'>-{</div><div class='del'>-    VALUE result;</div><div class='del'>-    long pos = NUM2LONG(n);</div><div class='del'>-    if (pos &lt; 0) {</div><div class='del'>-	rb_raise(rb_eArgError, "attempt to drop negative size");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    result = rb_ary_subseq(ary, pos, RARRAY_LEN(ary));</div><div class='del'>-    if (result == Qnil) result = rb_ary_new();</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.drop_while {|obj| block}     -&gt; new_ary</div><div class='del'>- *     ary.drop_while                  -&gt; Enumerator</div><div class='del'>- *</div><div class='del'>- *  Drops elements up to, but not including, the first element for which the</div><div class='del'>- *  block returns +nil+ or +false+ and returns an array containing the</div><div class='del'>- *  remaining elements.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an Enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *  See also Array#take_while</div><div class='del'>- *</div><div class='del'>- *     a = [1, 2, 3, 4, 5, 0]</div><div class='del'>- *     a.drop_while {|i| i &lt; 3 }   #=&gt; [3, 4, 5, 0]</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_drop_while(VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    RETURN_ENUMERATOR(ary, 0, 0);</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-	if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;</div><div class='del'>-    }</div><div class='del'>-    return rb_ary_drop(ary, LONG2FIX(i));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.any? [{|obj| block}  ]   -&gt; true or false</div><div class='del'>- *     ary.any?(pattern)            -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#any?</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_any_p(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i, len = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    if (!len) return Qfalse;</div><div class='del'>-    if (argc) {</div><div class='del'>-        if (rb_block_given_p()) {</div><div class='del'>-            rb_warn("given block not used");</div><div class='del'>-        }</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-	    if (RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) return Qtrue;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (!rb_block_given_p()) {</div><div class='del'>-        for (i = 0; i &lt; len; ++i) {</div><div class='del'>-            if (RTEST(RARRAY_AREF(ary, i))) return Qtrue;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-	    if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) return Qtrue;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.all? [{|obj| block}  ]   -&gt; true or false</div><div class='del'>- *     ary.all?(pattern)            -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#all?</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_all_p(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i, len = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    if (!len) return Qtrue;</div><div class='del'>-    if (argc) {</div><div class='del'>-        if (rb_block_given_p()) {</div><div class='del'>-            rb_warn("given block not used");</div><div class='del'>-        }</div><div class='del'>-        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-            if (!RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (!rb_block_given_p()) {</div><div class='del'>-        for (i = 0; i &lt; len; ++i) {</div><div class='del'>-            if (!RTEST(RARRAY_AREF(ary, i))) return Qfalse;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-            if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return Qtrue;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.none? [{|obj| block}  ]   -&gt; true or false</div><div class='del'>- *     ary.none?(pattern)            -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#none?</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_none_p(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i, len = RARRAY_LEN(ary);</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    if (!len) return Qtrue;</div><div class='del'>-    if (argc) {</div><div class='del'>-        if (rb_block_given_p()) {</div><div class='del'>-            rb_warn("given block not used");</div><div class='del'>-        }</div><div class='del'>-        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-            if (RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (!rb_block_given_p()) {</div><div class='del'>-        for (i = 0; i &lt; len; ++i) {</div><div class='del'>-            if (RTEST(RARRAY_AREF(ary, i))) return Qfalse;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-            if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return Qtrue;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     ary.one? [{|obj| block}  ]   -&gt; true or false</div><div class='del'>- *     ary.one?(pattern)            -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  See also Enumerable#one?</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_one_p(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    long i, len = RARRAY_LEN(ary);</div><div class='del'>-    VALUE result = Qfalse;</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    if (!len) return Qfalse;</div><div class='del'>-    if (argc) {</div><div class='del'>-        if (rb_block_given_p()) {</div><div class='del'>-            rb_warn("given block not used");</div><div class='del'>-        }</div><div class='del'>-        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-            if (RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) {</div><div class='del'>-                if (result) return Qfalse;</div><div class='del'>-                result = Qtrue;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (!rb_block_given_p()) {</div><div class='del'>-        for (i = 0; i &lt; len; ++i) {</div><div class='del'>-            if (RTEST(RARRAY_AREF(ary, i))) {</div><div class='del'>-                if (result) return Qfalse;</div><div class='del'>-                result = Qtrue;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='del'>-            if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {</div><div class='del'>-                if (result) return Qfalse;</div><div class='del'>-                result = Qtrue;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *   ary.dig(idx, ...)                 -&gt; object</div><div class='del'>- *</div><div class='del'>- * Extracts the nested value specified by the sequence of &lt;i&gt;idx&lt;/i&gt;</div><div class='del'>- * objects by calling +dig+ at each step, returning +nil+ if any</div><div class='del'>- * intermediate step is +nil+.</div><div class='del'>- *</div><div class='del'>- *   a = [[1, [2, 3]]]</div><div class='del'>- *</div><div class='del'>- *   a.dig(0, 1, 1)                    #=&gt; 3</div><div class='del'>- *   a.dig(1, 2, 3)                    #=&gt; nil</div><div class='del'>- *   a.dig(0, 0, 0)                    #=&gt; TypeError: Integer does not have #dig method</div><div class='del'>- *   [42, {foo: :bar}].dig(1, :foo)    #=&gt; :bar</div><div class='del'>- */</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_dig(int argc, VALUE *argv, VALUE self)</div><div class='del'>-{</div><div class='del'>-    rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);</div><div class='del'>-    self = rb_ary_at(self, *argv);</div><div class='del'>-    if (!--argc) return self;</div><div class='del'>-    ++argv;</div><div class='del'>-    return rb_obj_dig(argc, argv, self, Qnil);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-finish_exact_sum(long n, VALUE r, VALUE v, int z)</div><div class='del'>-{</div><div class='del'>-    if (n != 0)</div><div class='del'>-        v = rb_fix_plus(LONG2FIX(n), v);</div><div class='del'>-    if (r != Qundef) {</div><div class='del'>-	/* r can be an Integer when mathn is loaded */</div><div class='del'>-	if (FIXNUM_P(r))</div><div class='del'>-	    v = rb_fix_plus(r, v);</div><div class='del'>-	else if (RB_TYPE_P(r, T_BIGNUM))</div><div class='del'>-	    v = rb_big_plus(r, v);</div><div class='del'>-	else</div><div class='del'>-	    v = rb_rational_plus(r, v);</div><div class='del'>-    }</div><div class='del'>-    else if (!n &amp;&amp; z) {</div><div class='del'>-        v = rb_fix_plus(LONG2FIX(0), v);</div><div class='del'>-    }</div><div class='del'>-    return v;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *   ary.sum(init=0)                    -&gt; number</div><div class='del'>- *   ary.sum(init=0) {|e| expr }        -&gt; number</div><div class='del'>- *</div><div class='del'>- * Returns the sum of elements.</div><div class='del'>- * For example, [e1, e2, e3].sum returns init + e1 + e2 + e3.</div><div class='del'>- *</div><div class='del'>- * If a block is given, the block is applied to each element</div><div class='del'>- * before addition.</div><div class='del'>- *</div><div class='del'>- * If &lt;i&gt;ary&lt;/i&gt; is empty, it returns &lt;i&gt;init&lt;/i&gt;.</div><div class='del'>- *</div><div class='del'>- *   [].sum                             #=&gt; 0</div><div class='del'>- *   [].sum(0.0)                        #=&gt; 0.0</div><div class='del'>- *   [1, 2, 3].sum                      #=&gt; 6</div><div class='del'>- *   [3, 5.5].sum                       #=&gt; 8.5</div><div class='del'>- *   [2.5, 3.0].sum(0.0) {|e| e * e }   #=&gt; 15.25</div><div class='del'>- *   [Object.new].sum                   #=&gt; TypeError</div><div class='del'>- *</div><div class='del'>- * The (arithmetic) mean value of an array can be obtained as follows.</div><div class='del'>- *</div><div class='del'>- *   mean = ary.sum(0.0) / ary.length</div><div class='del'>- *</div><div class='del'>- * This method can be used for non-numeric objects by</div><div class='del'>- * explicit &lt;i&gt;init&lt;/i&gt; argument.</div><div class='del'>- *</div><div class='del'>- *   ["a", "b", "c"].sum("")            #=&gt; "abc"</div><div class='del'>- *   [[1], [[2]], [3]].sum([])          #=&gt; [1, [2], 3]</div><div class='del'>- *</div><div class='del'>- * However, Array#join and Array#flatten is faster than Array#sum for</div><div class='del'>- * array of strings and array of arrays.</div><div class='del'>- *</div><div class='del'>- *   ["a", "b", "c"].join               #=&gt; "abc"</div><div class='del'>- *   [[1], [[2]], [3]].flatten(1)       #=&gt; [1, [2], 3]</div><div class='del'>- *</div><div class='del'>- *</div><div class='del'>- * Array#sum method may not respect method redefinition of "+" methods</div><div class='del'>- * such as Integer#+.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_sum(int argc, VALUE *argv, VALUE ary)</div><div class='del'>-{</div><div class='del'>-    VALUE e, v, r;</div><div class='del'>-    long i, n;</div><div class='del'>-    int block_given;</div><div class='del'>-</div><div class='del'>-    v = (rb_check_arity(argc, 0, 1) ? argv[0] : LONG2FIX(0));</div><div class='del'>-</div><div class='del'>-    block_given = rb_block_given_p();</div><div class='del'>-</div><div class='del'>-    if (RARRAY_LEN(ary) == 0)</div><div class='del'>-        return v;</div><div class='del'>-</div><div class='del'>-    n = 0;</div><div class='del'>-    r = Qundef;</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-        e = RARRAY_AREF(ary, i);</div><div class='del'>-        if (block_given)</div><div class='del'>-            e = rb_yield(e);</div><div class='del'>-        if (FIXNUM_P(e)) {</div><div class='del'>-            n += FIX2LONG(e); /* should not overflow long type */</div><div class='del'>-            if (!FIXABLE(n)) {</div><div class='del'>-                v = rb_big_plus(LONG2NUM(n), v);</div><div class='del'>-                n = 0;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        else if (RB_TYPE_P(e, T_BIGNUM))</div><div class='del'>-            v = rb_big_plus(e, v);</div><div class='del'>-        else if (RB_TYPE_P(e, T_RATIONAL)) {</div><div class='del'>-            if (r == Qundef)</div><div class='del'>-                r = e;</div><div class='del'>-            else</div><div class='del'>-                r = rb_rational_plus(r, e);</div><div class='del'>-        }</div><div class='del'>-        else</div><div class='del'>-            goto not_exact;</div><div class='del'>-    }</div><div class='del'>-    v = finish_exact_sum(n, r, v, argc!=0);</div><div class='del'>-    return v;</div><div class='del'>-</div><div class='del'>-  not_exact:</div><div class='del'>-    v = finish_exact_sum(n, r, v, i!=0);</div><div class='del'>-</div><div class='del'>-    if (RB_FLOAT_TYPE_P(e)) {</div><div class='del'>-        /*</div><div class='del'>-         * Kahan-Babuska balancing compensated summation algorithm</div><div class='del'>-         * See http://link.springer.com/article/10.1007/s00607-005-0139-x</div><div class='del'>-         */</div><div class='del'>-        double f, c;</div><div class='del'>-</div><div class='del'>-        f = NUM2DBL(v);</div><div class='del'>-        c = 0.0;</div><div class='del'>-        goto has_float_value;</div><div class='del'>-        for (; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-            double x, t;</div><div class='del'>-            e = RARRAY_AREF(ary, i);</div><div class='del'>-            if (block_given)</div><div class='del'>-                e = rb_yield(e);</div><div class='del'>-            if (RB_FLOAT_TYPE_P(e))</div><div class='del'>-              has_float_value:</div><div class='del'>-                x = RFLOAT_VALUE(e);</div><div class='del'>-            else if (FIXNUM_P(e))</div><div class='del'>-                x = FIX2LONG(e);</div><div class='del'>-            else if (RB_TYPE_P(e, T_BIGNUM))</div><div class='del'>-                x = rb_big2dbl(e);</div><div class='del'>-            else if (RB_TYPE_P(e, T_RATIONAL))</div><div class='del'>-                x = rb_num2dbl(e);</div><div class='del'>-            else</div><div class='del'>-                goto not_float;</div><div class='del'>-</div><div class='del'>-            if (isnan(f)) continue;</div><div class='del'>-            if (isnan(x)) {</div><div class='del'>-                f = x;</div><div class='del'>-                continue;</div><div class='del'>-            }</div><div class='del'>-            if (isinf(x)) {</div><div class='del'>-                if (isinf(f) &amp;&amp; signbit(x) != signbit(f))</div><div class='del'>-                    f = NAN;</div><div class='del'>-                else</div><div class='del'>-                    f = x;</div><div class='del'>-                continue;</div><div class='del'>-            }</div><div class='del'>-            if (isinf(f)) continue;</div><div class='del'>-</div><div class='del'>-            t = f + x;</div><div class='del'>-            if (fabs(f) &gt;= fabs(x))</div><div class='del'>-                c += ((f - t) + x);</div><div class='del'>-            else</div><div class='del'>-                c += ((x - t) + f);</div><div class='del'>-            f = t;</div><div class='del'>-        }</div><div class='del'>-        f += c;</div><div class='del'>-        return DBL2NUM(f);</div><div class='del'>-</div><div class='del'>-      not_float:</div><div class='del'>-        v = DBL2NUM(f);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    goto has_some_value;</div><div class='del'>-    for (; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-        e = RARRAY_AREF(ary, i);</div><div class='del'>-        if (block_given)</div><div class='del'>-            e = rb_yield(e);</div><div class='del'>-      has_some_value:</div><div class='del'>-        v = rb_funcall(v, idPLUS, 1, e);</div><div class='del'>-    }</div><div class='del'>-    return v;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  Arrays are ordered, integer-indexed collections of any object.</div><div class='del'>- *</div><div class='del'>- *  Array indexing starts at 0, as in C or Java.  A negative index is assumed</div><div class='del'>- *  to be relative to the end of the array---that is, an index of -1 indicates</div><div class='del'>- *  the last element of the array, -2 is the next to last element in the</div><div class='del'>- *  array, and so on.</div><div class='del'>- *</div><div class='del'>- *  == Creating Arrays</div><div class='del'>- *</div><div class='del'>- *  A new array can be created by using the literal constructor</div><div class='del'>- *  &lt;code&gt;[]&lt;/code&gt;.  Arrays can contain different types of objects.  For</div><div class='del'>- *  example, the array below contains an Integer, a String and a Float:</div><div class='del'>- *</div><div class='del'>- *     ary = [1, "two", 3.0] #=&gt; [1, "two", 3.0]</div><div class='del'>- *</div><div class='del'>- *  An array can also be created by explicitly calling Array.new with zero, one</div><div class='del'>- *  (the initial size of the Array) or two arguments (the initial size and a</div><div class='del'>- *  default object).</div><div class='del'>- *</div><div class='del'>- *     ary = Array.new    #=&gt; []</div><div class='del'>- *     Array.new(3)       #=&gt; [nil, nil, nil]</div><div class='del'>- *     Array.new(3, true) #=&gt; [true, true, true]</div><div class='del'>- *</div><div class='del'>- *  Note that the second argument populates the array with references to the</div><div class='del'>- *  same object.  Therefore, it is only recommended in cases when you need to</div><div class='del'>- *  instantiate arrays with natively immutable objects such as Symbols,</div><div class='del'>- *  numbers, true or false.</div><div class='del'>- *</div><div class='del'>- *  To create an array with separate objects a block can be passed instead.</div><div class='del'>- *  This method is safe to use with mutable objects such as hashes, strings or</div><div class='del'>- *  other arrays:</div><div class='del'>- *</div><div class='del'>- *     Array.new(4) {Hash.new}    #=&gt; [{}, {}, {}, {}]</div><div class='del'>- *     Array.new(4) {|i| i.to_s } #=&gt; ["0", "1", "2", "3"]</div><div class='del'>- *</div><div class='del'>- *  This is also a quick way to build up multi-dimensional arrays:</div><div class='del'>- *</div><div class='del'>- *     empty_table = Array.new(3) {Array.new(3)}</div><div class='del'>- *     #=&gt; [[nil, nil, nil], [nil, nil, nil], [nil, nil, nil]]</div><div class='del'>- *</div><div class='del'>- *  An array can also be created by using the Array() method, provided by</div><div class='del'>- *  Kernel, which tries to call #to_ary, then #to_a on its argument.</div><div class='del'>- *</div><div class='del'>- *	Array({:a =&gt; "a", :b =&gt; "b"}) #=&gt; [[:a, "a"], [:b, "b"]]</div><div class='del'>- *</div><div class='del'>- *  == Example Usage</div><div class='del'>- *</div><div class='del'>- *  In addition to the methods it mixes in through the Enumerable module, the</div><div class='del'>- *  Array class has proprietary methods for accessing, searching and otherwise</div><div class='del'>- *  manipulating arrays.</div><div class='del'>- *</div><div class='del'>- *  Some of the more common ones are illustrated below.</div><div class='del'>- *</div><div class='del'>- *  == Accessing Elements</div><div class='del'>- *</div><div class='del'>- *  Elements in an array can be retrieved using the Array#[] method.  It can</div><div class='del'>- *  take a single integer argument (a numeric index), a pair of arguments</div><div class='del'>- *  (start and length) or a range. Negative indices start counting from the end,</div><div class='del'>- *  with -1 being the last element.</div><div class='del'>- *</div><div class='del'>- *     arr = [1, 2, 3, 4, 5, 6]</div><div class='del'>- *     arr[2]    #=&gt; 3</div><div class='del'>- *     arr[100]  #=&gt; nil</div><div class='del'>- *     arr[-3]   #=&gt; 4</div><div class='del'>- *     arr[2, 3] #=&gt; [3, 4, 5]</div><div class='del'>- *     arr[1..4] #=&gt; [2, 3, 4, 5]</div><div class='del'>- *     arr[1..-3] #=&gt; [2, 3, 4]</div><div class='del'>- *</div><div class='del'>- *  Another way to access a particular array element is by using the #at method</div><div class='del'>- *</div><div class='del'>- *     arr.at(0) #=&gt; 1</div><div class='del'>- *</div><div class='del'>- *  The #slice method works in an identical manner to Array#[].</div><div class='del'>- *</div><div class='del'>- *  To raise an error for indices outside of the array bounds or else to</div><div class='del'>- *  provide a default value when that happens, you can use #fetch.</div><div class='del'>- *</div><div class='del'>- *     arr = ['a', 'b', 'c', 'd', 'e', 'f']</div><div class='del'>- *     arr.fetch(100) #=&gt; IndexError: index 100 outside of array bounds: -6...6</div><div class='del'>- *     arr.fetch(100, "oops") #=&gt; "oops"</div><div class='del'>- *</div><div class='del'>- *  The special methods #first and #last will return the first and last</div><div class='del'>- *  elements of an array, respectively.</div><div class='del'>- *</div><div class='del'>- *     arr.first #=&gt; 1</div><div class='del'>- *     arr.last  #=&gt; 6</div><div class='del'>- *</div><div class='del'>- *  To return the first +n+ elements of an array, use #take</div><div class='del'>- *</div><div class='del'>- *     arr.take(3) #=&gt; [1, 2, 3]</div><div class='del'>- *</div><div class='del'>- *  #drop does the opposite of #take, by returning the elements after +n+</div><div class='del'>- *  elements have been dropped:</div><div class='del'>- *</div><div class='del'>- *     arr.drop(3) #=&gt; [4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *  == Obtaining Information about an Array</div><div class='del'>- *</div><div class='del'>- *  Arrays keep track of their own length at all times.  To query an array</div><div class='del'>- *  about the number of elements it contains, use #length, #count or #size.</div><div class='del'>- *</div><div class='del'>- *    browsers = ['Chrome', 'Firefox', 'Safari', 'Opera', 'IE']</div><div class='del'>- *    browsers.length #=&gt; 5</div><div class='del'>- *    browsers.count #=&gt; 5</div><div class='del'>- *</div><div class='del'>- *  To check whether an array contains any elements at all</div><div class='del'>- *</div><div class='del'>- *    browsers.empty? #=&gt; false</div><div class='del'>- *</div><div class='del'>- *  To check whether a particular item is included in the array</div><div class='del'>- *</div><div class='del'>- *    browsers.include?('Konqueror') #=&gt; false</div><div class='del'>- *</div><div class='del'>- *  == Adding Items to Arrays</div><div class='del'>- *</div><div class='del'>- *  Items can be added to the end of an array by using either #push or #&lt;&lt;</div><div class='del'>- *</div><div class='del'>- *    arr = [1, 2, 3, 4]</div><div class='del'>- *    arr.push(5) #=&gt; [1, 2, 3, 4, 5]</div><div class='del'>- *    arr &lt;&lt; 6    #=&gt; [1, 2, 3, 4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *  #unshift will add a new item to the beginning of an array.</div><div class='del'>- *</div><div class='del'>- *     arr.unshift(0) #=&gt; [0, 1, 2, 3, 4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *  With #insert you can add a new element to an array at any position.</div><div class='del'>- *</div><div class='del'>- *     arr.insert(3, 'apple')  #=&gt; [0, 1, 2, 'apple', 3, 4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *  Using the #insert method, you can also insert multiple values at once:</div><div class='del'>- *</div><div class='del'>- *     arr.insert(3, 'orange', 'pear', 'grapefruit')</div><div class='del'>- *     #=&gt; [0, 1, 2, "orange", "pear", "grapefruit", "apple", 3, 4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *  == Removing Items from an Array</div><div class='del'>- *</div><div class='del'>- *  The method #pop removes the last element in an array and returns it:</div><div class='del'>- *</div><div class='del'>- *     arr =  [1, 2, 3, 4, 5, 6]</div><div class='del'>- *     arr.pop #=&gt; 6</div><div class='del'>- *     arr #=&gt; [1, 2, 3, 4, 5]</div><div class='del'>- *</div><div class='del'>- *  To retrieve and at the same time remove the first item, use #shift:</div><div class='del'>- *</div><div class='del'>- *     arr.shift #=&gt; 1</div><div class='del'>- *     arr #=&gt; [2, 3, 4, 5]</div><div class='del'>- *</div><div class='del'>- *  To delete an element at a particular index:</div><div class='del'>- *</div><div class='del'>- *     arr.delete_at(2) #=&gt; 4</div><div class='del'>- *     arr #=&gt; [2, 3, 5]</div><div class='del'>- *</div><div class='del'>- *  To delete a particular element anywhere in an array, use #delete:</div><div class='del'>- *</div><div class='del'>- *     arr = [1, 2, 2, 3]</div><div class='del'>- *     arr.delete(2) #=&gt; 2</div><div class='del'>- *     arr #=&gt; [1,3]</div><div class='del'>- *</div><div class='del'>- *  A useful method if you need to remove +nil+ values from an array is</div><div class='del'>- *  #compact:</div><div class='del'>- *</div><div class='del'>- *     arr = ['foo', 0, nil, 'bar', 7, 'baz', nil]</div><div class='del'>- *     arr.compact  #=&gt; ['foo', 0, 'bar', 7, 'baz']</div><div class='del'>- *     arr          #=&gt; ['foo', 0, nil, 'bar', 7, 'baz', nil]</div><div class='del'>- *     arr.compact! #=&gt; ['foo', 0, 'bar', 7, 'baz']</div><div class='del'>- *     arr          #=&gt; ['foo', 0, 'bar', 7, 'baz']</div><div class='del'>- *</div><div class='del'>- *  Another common need is to remove duplicate elements from an array.</div><div class='del'>- *</div><div class='del'>- *  It has the non-destructive #uniq, and destructive method #uniq!</div><div class='del'>- *</div><div class='del'>- *     arr = [2, 5, 6, 556, 6, 6, 8, 9, 0, 123, 556]</div><div class='del'>- *     arr.uniq #=&gt; [2, 5, 6, 556, 8, 9, 0, 123]</div><div class='del'>- *</div><div class='del'>- *  == Iterating over Arrays</div><div class='del'>- *</div><div class='del'>- *  Like all classes that include the Enumerable module, Array has an each</div><div class='del'>- *  method, which defines what elements should be iterated over and how.  In</div><div class='del'>- *  case of Array's #each, all elements in the Array instance are yielded to</div><div class='del'>- *  the supplied block in sequence.</div><div class='del'>- *</div><div class='del'>- *  Note that this operation leaves the array unchanged.</div><div class='del'>- *</div><div class='del'>- *     arr = [1, 2, 3, 4, 5]</div><div class='del'>- *     arr.each {|a| print a -= 10, " "}</div><div class='del'>- *     # prints: -9 -8 -7 -6 -5</div><div class='del'>- *     #=&gt; [1, 2, 3, 4, 5]</div><div class='del'>- *</div><div class='del'>- *  Another sometimes useful iterator is #reverse_each which will iterate over</div><div class='del'>- *  the elements in the array in reverse order.</div><div class='del'>- *</div><div class='del'>- *     words = %w[first second third fourth fifth sixth]</div><div class='del'>- *     str = ""</div><div class='del'>- *     words.reverse_each {|word| str += "#{word} "}</div><div class='del'>- *     p str #=&gt; "sixth fifth fourth third second first "</div><div class='del'>- *</div><div class='del'>- *  The #map method can be used to create a new array based on the original</div><div class='del'>- *  array, but with the values modified by the supplied block:</div><div class='del'>- *</div><div class='del'>- *     arr.map {|a| 2*a}     #=&gt; [2, 4, 6, 8, 10]</div><div class='del'>- *     arr                   #=&gt; [1, 2, 3, 4, 5]</div><div class='del'>- *     arr.map! {|a| a**2}   #=&gt; [1, 4, 9, 16, 25]</div><div class='del'>- *     arr                   #=&gt; [1, 4, 9, 16, 25]</div><div class='del'>- *</div><div class='del'>- *  == Selecting Items from an Array</div><div class='del'>- *</div><div class='del'>- *  Elements can be selected from an array according to criteria defined in a</div><div class='del'>- *  block.  The selection can happen in a destructive or a non-destructive</div><div class='del'>- *  manner.  While the destructive operations will modify the array they were</div><div class='del'>- *  called on, the non-destructive methods usually return a new array with the</div><div class='del'>- *  selected elements, but leave the original array unchanged.</div><div class='del'>- *</div><div class='del'>- *  === Non-destructive Selection</div><div class='del'>- *</div><div class='del'>- *     arr = [1, 2, 3, 4, 5, 6]</div><div class='del'>- *     arr.select {|a| a &gt; 3}       #=&gt; [4, 5, 6]</div><div class='del'>- *     arr.reject {|a| a &lt; 3}       #=&gt; [3, 4, 5, 6]</div><div class='del'>- *     arr.drop_while {|a| a &lt; 4}   #=&gt; [4, 5, 6]</div><div class='del'>- *     arr                          #=&gt; [1, 2, 3, 4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *  === Destructive Selection</div><div class='del'>- *</div><div class='del'>- *  #select! and #reject! are the corresponding destructive methods to #select</div><div class='del'>- *  and #reject</div><div class='del'>- *</div><div class='del'>- *  Similar to #select vs. #reject, #delete_if and #keep_if have the exact</div><div class='del'>- *  opposite result when supplied with the same block:</div><div class='del'>- *</div><div class='del'>- *     arr.delete_if {|a| a &lt; 4}   #=&gt; [4, 5, 6]</div><div class='del'>- *     arr                         #=&gt; [4, 5, 6]</div><div class='del'>- *</div><div class='del'>- *     arr = [1, 2, 3, 4, 5, 6]</div><div class='del'>- *     arr.keep_if {|a| a &lt; 4}   #=&gt; [1, 2, 3]</div><div class='del'>- *     arr                       #=&gt; [1, 2, 3]</div><div class='del'>- *</div><div class='add'>+/* Arrays are ordered, integer-indexed collections of any object. </div><div class='add'>+ * Array indexing starts at 0, as in C or Java.  A negative index is </div><div class='add'>+ * assumed to be relative to the end of the array---that is, an index of -1 </div><div class='add'>+ * indicates the last element of the array, -2 is the next to last </div><div class='add'>+ * element in the array, and so on. </div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-Init_Array(void)</div><div class='add'>+Init_Array()</div><div class='ctx'> {</div><div class='del'>-#undef rb_intern</div><div class='del'>-#define rb_intern(str) rb_intern_const(str)</div><div class='del'>-</div><div class='ctx'>     rb_cArray  = rb_define_class("Array", rb_cObject);</div><div class='ctx'>     rb_include_module(rb_cArray, rb_mEnumerable);</div><div class='ctx'> </div><div class='del'>-    rb_define_alloc_func(rb_cArray, empty_ary_alloc);</div><div class='add'>+    rb_define_alloc_func(rb_cArray, ary_alloc);</div><div class='ctx'>     rb_define_singleton_method(rb_cArray, "[]", rb_ary_s_create, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cArray, "try_convert", rb_ary_s_try_convert, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "initialize", rb_ary_initialize, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "initialize_copy", rb_ary_replace, 1);</div><div class='ctx'> </div><div class='add'>+    rb_define_method(rb_cArray, "to_s", rb_ary_to_s, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "inspect", rb_ary_inspect, 0);</div><div class='del'>-    rb_define_alias(rb_cArray,  "to_s", "inspect");</div><div class='ctx'>     rb_define_method(rb_cArray, "to_a", rb_ary_to_a, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "to_h", rb_ary_to_h, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "to_ary", rb_ary_to_ary_m, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "frozen?",  rb_ary_frozen_p, 0);</div><div class='ctx'> </div><div class='ctx'>     rb_define_method(rb_cArray, "==", rb_ary_equal, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "eql?", rb_ary_eql, 1);</div><div class='hunk'>@@ -6792,16 +2998,12 @@ Init_Array(void)</div><div class='ctx'>     rb_define_method(rb_cArray, "fetch", rb_ary_fetch, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "first", rb_ary_first, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "last", rb_ary_last, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "concat", rb_ary_concat_multi, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "union", rb_ary_union_multi, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "difference", rb_ary_difference_multi, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "concat", rb_ary_concat, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "&lt;&lt;", rb_ary_push, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "push", rb_ary_push_m, -1);</div><div class='del'>-    rb_define_alias(rb_cArray,  "append", "push");</div><div class='del'>-    rb_define_method(rb_cArray, "pop", rb_ary_pop_m, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "shift", rb_ary_shift_m, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "pop", rb_ary_pop, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "shift", rb_ary_shift, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "unshift", rb_ary_unshift_m, -1);</div><div class='del'>-    rb_define_alias(rb_cArray,  "prepend", "unshift");</div><div class='ctx'>     rb_define_method(rb_cArray, "insert", rb_ary_insert, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "each", rb_ary_each, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "each_index", rb_ary_each_index, 0);</div><div class='hunk'>@@ -6809,26 +3011,20 @@ Init_Array(void)</div><div class='ctx'>     rb_define_method(rb_cArray, "length", rb_ary_length, 0);</div><div class='ctx'>     rb_define_alias(rb_cArray,  "size", "length");</div><div class='ctx'>     rb_define_method(rb_cArray, "empty?", rb_ary_empty_p, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "find_index", rb_ary_index, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "index", rb_ary_index, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "rindex", rb_ary_rindex, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "index", rb_ary_index, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "rindex", rb_ary_rindex, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "indexes", rb_ary_indexes, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "indices", rb_ary_indexes, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "join", rb_ary_join_m, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "reverse", rb_ary_reverse_m, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "reverse!", rb_ary_reverse_bang, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "rotate", rb_ary_rotate_m, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "rotate!", rb_ary_rotate_bang, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "sort", rb_ary_sort, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "sort!", rb_ary_sort_bang, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "sort_by!", rb_ary_sort_by_bang, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "collect", rb_ary_collect, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "collect!", rb_ary_collect_bang, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "map", rb_ary_collect, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "map!", rb_ary_collect_bang, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "select", rb_ary_select, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "select!", rb_ary_select_bang, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "filter", rb_ary_select, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "filter!", rb_ary_select_bang, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "keep_if", rb_ary_keep_if, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "values_at", rb_ary_values_at, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "delete", rb_ary_delete, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "delete_at", rb_ary_delete_at_m, 1);</div><div class='hunk'>@@ -6856,38 +3052,14 @@ Init_Array(void)</div><div class='ctx'>     rb_define_method(rb_cArray, "&amp;", rb_ary_and, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "|", rb_ary_or, 1);</div><div class='ctx'> </div><div class='del'>-    rb_define_method(rb_cArray, "max", rb_ary_max, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "min", rb_ary_min, -1);</div><div class='del'>-</div><div class='ctx'>     rb_define_method(rb_cArray, "uniq", rb_ary_uniq, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "uniq!", rb_ary_uniq_bang, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "compact", rb_ary_compact, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "compact!", rb_ary_compact_bang, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "flatten", rb_ary_flatten, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "flatten!", rb_ary_flatten_bang, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "count", rb_ary_count, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "shuffle!", rb_ary_shuffle_bang, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "shuffle", rb_ary_shuffle, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "sample", rb_ary_sample, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "cycle", rb_ary_cycle, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "permutation", rb_ary_permutation, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "combination", rb_ary_combination, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "repeated_permutation", rb_ary_repeated_permutation, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "repeated_combination", rb_ary_repeated_combination, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "product", rb_ary_product, -1);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cArray, "take", rb_ary_take, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "take_while", rb_ary_take_while, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "drop", rb_ary_drop, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "drop_while", rb_ary_drop_while, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "bsearch", rb_ary_bsearch, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "bsearch_index", rb_ary_bsearch_index, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "any?", rb_ary_any_p, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "all?", rb_ary_all_p, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "none?", rb_ary_none_p, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "one?", rb_ary_one_p, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "dig", rb_ary_dig, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "sum", rb_ary_sum, -1);</div><div class='del'>-</div><div class='del'>-    id_random = rb_intern("random");</div><div class='add'>+    rb_define_method(rb_cArray, "flatten", rb_ary_flatten, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "flatten!", rb_ary_flatten_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "nitems", rb_ary_nitems, 0);</div><div class='add'>+</div><div class='add'>+    id_cmp = rb_intern("&lt;=&gt;");</div><div class='add'>+    inspect_key = rb_intern("__inspect_key__");</div><div class='ctx'> }</div><div class='head'>diff --git a/ast.c b/ast.c<br/>deleted file mode 100644<br/>index d6a3073f58..0000000000<br/>--- a/<a href='/ruby.git/tree/ast.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ast.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,757 +0,0 @@</div><div class='del'>-/* indent-tabs-mode: nil */</div><div class='del'>-#include "ruby.h"</div><div class='del'>-#include "ruby/encoding.h"</div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "node.h"</div><div class='del'>-#include "vm_core.h"</div><div class='del'>-#include "iseq.h"</div><div class='del'>-</div><div class='del'>-static VALUE rb_mAST;</div><div class='del'>-static VALUE rb_cNode;</div><div class='del'>-</div><div class='del'>-struct ASTNodeData {</div><div class='del'>-    rb_ast_t *ast;</div><div class='del'>-    NODE *node;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-node_gc_mark(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data = (struct ASTNodeData *)ptr;</div><div class='del'>-    rb_gc_mark((VALUE)data-&gt;ast);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const rb_data_type_t rb_node_type = {</div><div class='del'>-    "AST/node",</div><div class='del'>-    {node_gc_mark, RUBY_TYPED_DEFAULT_FREE, 0,},</div><div class='del'>-    0, 0,</div><div class='del'>-    RUBY_TYPED_FREE_IMMEDIATELY,</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static VALUE rb_ast_node_alloc(VALUE klass);</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-setup_node(VALUE obj, rb_ast_t *ast, NODE *node)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-</div><div class='del'>-    TypedData_Get_Struct(obj, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-    data-&gt;ast = ast;</div><div class='del'>-    data-&gt;node = node;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ast_new_internal(rb_ast_t *ast, NODE *node)</div><div class='del'>-{</div><div class='del'>-    VALUE obj;</div><div class='del'>-</div><div class='del'>-    obj = rb_ast_node_alloc(rb_cNode);</div><div class='del'>-    setup_node(obj, ast, node);</div><div class='del'>-</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE rb_ast_parse_str(VALUE str);</div><div class='del'>-static VALUE rb_ast_parse_file(VALUE path);</div><div class='del'>-static VALUE rb_ast_parse_array(VALUE array);</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ast_parse_new(void)</div><div class='del'>-{</div><div class='del'>-    return rb_parser_set_context(rb_parser_new(), NULL, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ast_parse_done(rb_ast_t *ast)</div><div class='del'>-{</div><div class='del'>-    if (!ast-&gt;body.root) {</div><div class='del'>-        rb_ast_dispose(ast);</div><div class='del'>-        rb_exc_raise(GET_EC()-&gt;errinfo);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ast_new_internal(ast, (NODE *)ast-&gt;body.root);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.parse(string) -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='del'>- *</div><div class='del'>- *  Parses the given string into an abstract syntax tree,</div><div class='del'>- *  returning the root node of that tree.</div><div class='del'>- *</div><div class='del'>- *  SyntaxError is raised if the given string is invalid syntax.</div><div class='del'>- *</div><div class='del'>- *    RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")</div><div class='del'>- *    # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node(NODE_SCOPE(0) 1:0, 1:9): &gt;</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_s_parse(VALUE module, VALUE str)</div><div class='del'>-{</div><div class='del'>-    return rb_ast_parse_str(str);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_parse_str(VALUE str)</div><div class='del'>-{</div><div class='del'>-    rb_ast_t *ast = 0;</div><div class='del'>-</div><div class='del'>-    str = rb_check_string_type(str);</div><div class='del'>-    ast = rb_parser_compile_string_path(ast_parse_new(), Qnil, str, 1);</div><div class='del'>-    return ast_parse_done(ast);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.parse_file(pathname) -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='del'>- *</div><div class='del'>- *   Reads the file from &lt;code&gt;pathname&lt;/code&gt;, then parses it like ::parse,</div><div class='del'>- *   returning the root node of the abstract syntax tree.</div><div class='del'>- *</div><div class='del'>- *   SyntaxError is raised if &lt;code&gt;pathname&lt;/code&gt;'s contents are not</div><div class='del'>- *   valid Ruby syntax.</div><div class='del'>- *</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.parse_file("my-app/app.rb")</div><div class='del'>- *     # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node(NODE_SCOPE(0) 1:0, 31:3): &gt;</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_s_parse_file(VALUE module, VALUE path)</div><div class='del'>-{</div><div class='del'>-    return rb_ast_parse_file(path);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_parse_file(VALUE path)</div><div class='del'>-{</div><div class='del'>-    VALUE f;</div><div class='del'>-    rb_ast_t *ast = 0;</div><div class='del'>-    rb_encoding *enc = rb_utf8_encoding();</div><div class='del'>-</div><div class='del'>-    FilePathValue(path);</div><div class='del'>-    f = rb_file_open_str(path, "r");</div><div class='del'>-    rb_funcall(f, rb_intern("set_encoding"), 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-"));</div><div class='del'>-    ast = rb_parser_compile_file_path(ast_parse_new(), Qnil, f, 1);</div><div class='del'>-    rb_io_close(f);</div><div class='del'>-    return ast_parse_done(ast);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-lex_array(VALUE array, int index)</div><div class='del'>-{</div><div class='del'>-    VALUE str = rb_ary_entry(array, index);</div><div class='del'>-    if (!NIL_P(str)) {</div><div class='del'>-        StringValue(str);</div><div class='del'>-        if (!rb_enc_asciicompat(rb_enc_get(str))) {</div><div class='del'>-            rb_raise(rb_eArgError, "invalid source encoding");</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_parse_array(VALUE array)</div><div class='del'>-{</div><div class='del'>-    rb_ast_t *ast = 0;</div><div class='del'>-</div><div class='del'>-    array = rb_check_array_type(array);</div><div class='del'>-    ast = rb_parser_compile_generic(ast_parse_new(), lex_array, Qnil, array, 1);</div><div class='del'>-    return ast_parse_done(ast);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE node_children(rb_ast_t*, NODE*);</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-node_find(VALUE self, const int node_id)</div><div class='del'>-{</div><div class='del'>-    VALUE ary;</div><div class='del'>-    long i;</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    if (nd_node_id(data-&gt;node) == node_id) return self;</div><div class='del'>-</div><div class='del'>-    ary = node_children(data-&gt;ast, data-&gt;node);</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='del'>-        VALUE child = RARRAY_AREF(ary, i);</div><div class='del'>-</div><div class='del'>-        if (CLASS_OF(child) == rb_cNode) {</div><div class='del'>-            VALUE result = node_find(child, node_id);</div><div class='del'>-            if (RTEST(result)) return result;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-extern VALUE rb_e_script;</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-script_lines(VALUE path)</div><div class='del'>-{</div><div class='del'>-    VALUE hash, lines;</div><div class='del'>-    ID script_lines;</div><div class='del'>-    CONST_ID(script_lines, "SCRIPT_LINES__");</div><div class='del'>-    if (!rb_const_defined_at(rb_cObject, script_lines)) return Qnil;</div><div class='del'>-    hash = rb_const_get_at(rb_cObject, script_lines);</div><div class='del'>-    if (!RB_TYPE_P(hash, T_HASH)) return Qnil;</div><div class='del'>-    lines = rb_hash_lookup(hash, path);</div><div class='del'>-    if (!RB_TYPE_P(lines, T_ARRAY)) return Qnil;</div><div class='del'>-    return lines;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.of(proc)   -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.of(method) -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='del'>- *</div><div class='del'>- *   Returns AST nodes of the given proc or method.</div><div class='del'>- *</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.of(proc {1 + 2})</div><div class='del'>- *     # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node(NODE_SCOPE(0) 1:35, 1:42): &gt;</div><div class='del'>- *</div><div class='del'>- *     def hello</div><div class='del'>- *       puts "hello, world"</div><div class='del'>- *     end</div><div class='del'>- *</div><div class='del'>- *     RubyVM::AbstractSyntaxTree.of(method(:hello))</div><div class='del'>- *     # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node(NODE_SCOPE(0) 1:0, 3:3): &gt;</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_s_of(VALUE module, VALUE body)</div><div class='del'>-{</div><div class='del'>-    VALUE path, node, lines;</div><div class='del'>-    int node_id;</div><div class='del'>-    const rb_iseq_t *iseq = NULL;</div><div class='del'>-</div><div class='del'>-    if (rb_obj_is_proc(body)) {</div><div class='del'>-        iseq = vm_proc_iseq(body);</div><div class='del'>-</div><div class='del'>-        if (!rb_obj_is_iseq((VALUE)iseq)) {</div><div class='del'>-            iseq = NULL;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        iseq = rb_method_iseq(body);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!iseq) return Qnil;</div><div class='del'>-</div><div class='del'>-    path = rb_iseq_path(iseq);</div><div class='del'>-    node_id = iseq-&gt;body-&gt;location.node_id;</div><div class='del'>-    if (!NIL_P(lines = script_lines(path))) {</div><div class='del'>-        node = rb_ast_parse_array(lines);</div><div class='del'>-    }</div><div class='del'>-    else if (RSTRING_LEN(path) == 2 &amp;&amp; memcmp(RSTRING_PTR(path), "-e", 2) == 0) {</div><div class='del'>-        node = rb_ast_parse_str(rb_e_script);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        node = rb_ast_parse_file(path);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return node_find(node, node_id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_alloc(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    VALUE obj = TypedData_Make_Struct(klass, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const char*</div><div class='del'>-node_type_to_str(const NODE *node)</div><div class='del'>-{</div><div class='del'>-    return (ruby_node_name(nd_type(node)) + rb_strlen_lit("NODE_"));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.type -&gt; symbol</div><div class='del'>- *</div><div class='del'>- *  Returns the type of this node as a symbol.</div><div class='del'>- *</div><div class='del'>- *    root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")</div><div class='del'>- *    root.type # =&gt; :SCOPE</div><div class='del'>- *    call = root.children[2]</div><div class='del'>- *    call.type # =&gt; :OPCALL</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_type(VALUE self)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return rb_sym_intern_ascii_cstr(node_type_to_str(data-&gt;node));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define NEW_CHILD(ast, node) node ? ast_new_internal(ast, node) : Qnil</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_new_from_node_args(rb_ast_t *ast, long n, ...)</div><div class='del'>-{</div><div class='del'>-    va_list ar;</div><div class='del'>-    VALUE ary;</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    ary = rb_ary_new2(n);</div><div class='del'>-</div><div class='del'>-    va_start(ar, n);</div><div class='del'>-    for (i=0; i&lt;n; i++) {</div><div class='del'>-        NODE *node;</div><div class='del'>-        node = va_arg(ar, NODE *);</div><div class='del'>-        rb_ary_push(ary, NEW_CHILD(ast, node));</div><div class='del'>-    }</div><div class='del'>-    va_end(ar);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-dump_block(rb_ast_t *ast, NODE *node)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = rb_ary_new();</div><div class='del'>-    do {</div><div class='del'>-        rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_head));</div><div class='del'>-    } while (node-&gt;nd_next &amp;&amp;</div><div class='del'>-        nd_type(node-&gt;nd_next) == NODE_BLOCK &amp;&amp;</div><div class='del'>-        (node = node-&gt;nd_next, 1));</div><div class='del'>-    if (node-&gt;nd_next) {</div><div class='del'>-        rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_next));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-dump_array(rb_ast_t *ast, NODE *node)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = rb_ary_new();</div><div class='del'>-    rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_head));</div><div class='del'>-</div><div class='del'>-    while (node-&gt;nd_next &amp;&amp; nd_type(node-&gt;nd_next) == NODE_ARRAY) {</div><div class='del'>-        node = node-&gt;nd_next;</div><div class='del'>-        rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_head));</div><div class='del'>-    }</div><div class='del'>-    rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_next));</div><div class='del'>-</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-var_name(ID id)</div><div class='del'>-{</div><div class='del'>-    if (!id) return Qnil;</div><div class='del'>-    if (!rb_id2str(id)) return Qnil;</div><div class='del'>-    return ID2SYM(id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-node_children(rb_ast_t *ast, NODE *node)</div><div class='del'>-{</div><div class='del'>-    char name[DECIMAL_SIZE_OF_BITS(sizeof(long) * CHAR_BIT) + 2]; /* including '$' */</div><div class='del'>-</div><div class='del'>-    enum node_type type = nd_type(node);</div><div class='del'>-    switch (type) {</div><div class='del'>-      case NODE_BLOCK:</div><div class='del'>-        return dump_block(ast, node);</div><div class='del'>-      case NODE_IF:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_cond, node-&gt;nd_body, node-&gt;nd_else);</div><div class='del'>-      case NODE_UNLESS:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_cond, node-&gt;nd_body, node-&gt;nd_else);</div><div class='del'>-      case NODE_CASE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='del'>-      case NODE_CASE2:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='del'>-      case NODE_WHEN:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_head, node-&gt;nd_body, node-&gt;nd_next);</div><div class='del'>-      case NODE_WHILE:</div><div class='del'>-        goto loop;</div><div class='del'>-      case NODE_UNTIL:</div><div class='del'>-      loop:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_cond, node-&gt;nd_body);</div><div class='del'>-      case NODE_ITER:</div><div class='del'>-      case NODE_FOR:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_iter, node-&gt;nd_body);</div><div class='del'>-      case NODE_FOR_MASGN:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_var);</div><div class='del'>-      case NODE_BREAK:</div><div class='del'>-        goto jump;</div><div class='del'>-      case NODE_NEXT:</div><div class='del'>-        goto jump;</div><div class='del'>-      case NODE_RETURN:</div><div class='del'>-      jump:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_stts);</div><div class='del'>-      case NODE_REDO:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_RETRY:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_BEGIN:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='del'>-      case NODE_RESCUE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_head, node-&gt;nd_resq, node-&gt;nd_else);</div><div class='del'>-      case NODE_RESBODY:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_args, node-&gt;nd_body, node-&gt;nd_head);</div><div class='del'>-      case NODE_ENSURE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_ensr);</div><div class='del'>-      case NODE_AND:</div><div class='del'>-        goto andor;</div><div class='del'>-      case NODE_OR:</div><div class='del'>-      andor:</div><div class='del'>-        {</div><div class='del'>-            VALUE ary = rb_ary_new();</div><div class='del'>-</div><div class='del'>-            while (1) {</div><div class='del'>-                rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_1st));</div><div class='del'>-                if (!node-&gt;nd_2nd || nd_type(node-&gt;nd_2nd) != (int)type)</div><div class='del'>-                    break;</div><div class='del'>-                node = node-&gt;nd_2nd;</div><div class='del'>-            }</div><div class='del'>-            rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_2nd));</div><div class='del'>-            return ary;</div><div class='del'>-        }</div><div class='del'>-      case NODE_MASGN:</div><div class='del'>-        if (NODE_NAMED_REST_P(node-&gt;nd_args)) {</div><div class='del'>-            return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_value, node-&gt;nd_head, node-&gt;nd_args);</div><div class='del'>-        }</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_value, node-&gt;nd_head);</div><div class='del'>-      case NODE_LASGN:</div><div class='del'>-        goto asgn;</div><div class='del'>-      case NODE_DASGN:</div><div class='del'>-        goto asgn;</div><div class='del'>-      case NODE_DASGN_CURR:</div><div class='del'>-        goto asgn;</div><div class='del'>-      case NODE_IASGN:</div><div class='del'>-        goto asgn;</div><div class='del'>-      case NODE_CVASGN:</div><div class='del'>-      asgn:</div><div class='del'>-        if (NODE_REQUIRED_KEYWORD_P(node)) {</div><div class='del'>-            return rb_ary_new_from_args(1, var_name(node-&gt;nd_vid));</div><div class='del'>-        }</div><div class='del'>-        return rb_ary_new_from_args(2, var_name(node-&gt;nd_vid), NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-      case NODE_GASGN:</div><div class='del'>-        goto asgn;</div><div class='del'>-      case NODE_CDECL:</div><div class='del'>-        if (node-&gt;nd_vid) {</div><div class='del'>-            return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_vid), NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-        }</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_else), ID2SYM(node-&gt;nd_else-&gt;nd_mid), NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-      case NODE_OP_ASGN1:</div><div class='del'>-        return rb_ary_new_from_args(4, NEW_CHILD(ast, node-&gt;nd_recv),</div><div class='del'>-                                    ID2SYM(node-&gt;nd_mid),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_args-&gt;nd_head),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_args-&gt;nd_body));</div><div class='del'>-      case NODE_OP_ASGN2:</div><div class='del'>-        return rb_ary_new_from_args(4, NEW_CHILD(ast, node-&gt;nd_recv),</div><div class='del'>-                                    node-&gt;nd_next-&gt;nd_aid ? Qtrue : Qfalse,</div><div class='del'>-                                    ID2SYM(node-&gt;nd_next-&gt;nd_vid),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-      case NODE_OP_ASGN_AND:</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_head), ID2SYM(idANDOP),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-      case NODE_OP_ASGN_OR:</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_head), ID2SYM(idOROP),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-      case NODE_OP_CDECL:</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_head),</div><div class='del'>-                                    ID2SYM(node-&gt;nd_aid),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='del'>-      case NODE_CALL:</div><div class='del'>-      case NODE_OPCALL:</div><div class='del'>-      case NODE_QCALL:</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_recv),</div><div class='del'>-                                    ID2SYM(node-&gt;nd_mid),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_args));</div><div class='del'>-      case NODE_FCALL:</div><div class='del'>-        return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_mid),</div><div class='del'>-                                    NEW_CHILD(ast, node-&gt;nd_args));</div><div class='del'>-      case NODE_VCALL:</div><div class='del'>-        return rb_ary_new_from_args(1, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-      case NODE_SUPER:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_args);</div><div class='del'>-      case NODE_ZSUPER:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_ARRAY:</div><div class='del'>-        goto ary;</div><div class='del'>-      case NODE_VALUES:</div><div class='del'>-      ary:</div><div class='del'>-        return dump_array(ast, node);</div><div class='del'>-      case NODE_ZARRAY:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_HASH:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='del'>-      case NODE_YIELD:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='del'>-      case NODE_LVAR:</div><div class='del'>-      case NODE_DVAR:</div><div class='del'>-        return rb_ary_new_from_args(1, var_name(node-&gt;nd_vid));</div><div class='del'>-      case NODE_IVAR:</div><div class='del'>-      case NODE_CONST:</div><div class='del'>-      case NODE_CVAR:</div><div class='del'>-      case NODE_GVAR:</div><div class='del'>-        return rb_ary_new_from_args(1, ID2SYM(node-&gt;nd_vid));</div><div class='del'>-      case NODE_NTH_REF:</div><div class='del'>-        snprintf(name, sizeof(name), "$%ld", node-&gt;nd_nth);</div><div class='del'>-        return rb_ary_new_from_args(1, ID2SYM(rb_intern(name)));</div><div class='del'>-      case NODE_BACK_REF:</div><div class='del'>-        name[0] = '$';</div><div class='del'>-        name[1] = (char)node-&gt;nd_nth;</div><div class='del'>-        name[2] = '\0';</div><div class='del'>-        return rb_ary_new_from_args(1, ID2SYM(rb_intern(name)));</div><div class='del'>-      case NODE_MATCH:</div><div class='del'>-        goto lit;</div><div class='del'>-      case NODE_MATCH2:</div><div class='del'>-        if (node-&gt;nd_args) {</div><div class='del'>-            return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_recv, node-&gt;nd_value, node-&gt;nd_args);</div><div class='del'>-        }</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_recv, node-&gt;nd_value);</div><div class='del'>-      case NODE_MATCH3:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_recv, node-&gt;nd_value);</div><div class='del'>-      case NODE_LIT:</div><div class='del'>-        goto lit;</div><div class='del'>-      case NODE_STR:</div><div class='del'>-        goto lit;</div><div class='del'>-      case NODE_XSTR:</div><div class='del'>-      lit:</div><div class='del'>-        return rb_ary_new_from_args(1, node-&gt;nd_lit);</div><div class='del'>-      case NODE_ONCE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='del'>-      case NODE_DSTR:</div><div class='del'>-        goto dlit;</div><div class='del'>-      case NODE_DXSTR:</div><div class='del'>-        goto dlit;</div><div class='del'>-      case NODE_DREGX:</div><div class='del'>-        goto dlit;</div><div class='del'>-      case NODE_DSYM:</div><div class='del'>-      dlit:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_next-&gt;nd_head, node-&gt;nd_next-&gt;nd_next);</div><div class='del'>-      case NODE_EVSTR:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='del'>-      case NODE_ARGSCAT:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='del'>-      case NODE_ARGSPUSH:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='del'>-      case NODE_SPLAT:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='del'>-      case NODE_BLOCK_PASS:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='del'>-      case NODE_DEFN:</div><div class='del'>-        return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_mid), NEW_CHILD(ast, node-&gt;nd_defn));</div><div class='del'>-      case NODE_DEFS:</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_recv), ID2SYM(node-&gt;nd_mid), NEW_CHILD(ast, node-&gt;nd_defn));</div><div class='del'>-      case NODE_ALIAS:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_1st, node-&gt;nd_2nd);</div><div class='del'>-      case NODE_VALIAS:</div><div class='del'>-        return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_alias), ID2SYM(node-&gt;nd_orig));</div><div class='del'>-      case NODE_UNDEF:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_undef);</div><div class='del'>-      case NODE_CLASS:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_cpath, node-&gt;nd_super, node-&gt;nd_body);</div><div class='del'>-      case NODE_MODULE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_cpath, node-&gt;nd_body);</div><div class='del'>-      case NODE_SCLASS:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_recv, node-&gt;nd_body);</div><div class='del'>-      case NODE_COLON2:</div><div class='del'>-        return rb_ary_new_from_args(2, NEW_CHILD(ast, node-&gt;nd_head), ID2SYM(node-&gt;nd_mid));</div><div class='del'>-      case NODE_COLON3:</div><div class='del'>-        return rb_ary_new_from_args(1, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-      case NODE_DOT2:</div><div class='del'>-        goto dot;</div><div class='del'>-      case NODE_DOT3:</div><div class='del'>-        goto dot;</div><div class='del'>-      case NODE_FLIP2:</div><div class='del'>-        goto dot;</div><div class='del'>-      case NODE_FLIP3:</div><div class='del'>-      dot:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_beg, node-&gt;nd_end);</div><div class='del'>-      case NODE_SELF:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_NIL:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_TRUE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_FALSE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_ERRINFO:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 0);</div><div class='del'>-      case NODE_DEFINED:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='del'>-      case NODE_POSTEXE:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='del'>-      case NODE_ATTRASGN:</div><div class='del'>-        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_recv), ID2SYM(node-&gt;nd_mid), NEW_CHILD(ast, node-&gt;nd_args));</div><div class='del'>-      case NODE_LAMBDA:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='del'>-      case NODE_OPT_ARG:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_body, node-&gt;nd_next);</div><div class='del'>-      case NODE_KW_ARG:</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_body, node-&gt;nd_next);</div><div class='del'>-      case NODE_POSTARG:</div><div class='del'>-        if (NODE_NAMED_REST_P(node-&gt;nd_1st)) {</div><div class='del'>-            return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_1st, node-&gt;nd_2nd);</div><div class='del'>-        }</div><div class='del'>-        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_2nd);</div><div class='del'>-      case NODE_ARGS:</div><div class='del'>-        {</div><div class='del'>-            struct rb_args_info *ainfo = node-&gt;nd_ainfo;</div><div class='del'>-            return rb_ary_new_from_args(10,</div><div class='del'>-                                        INT2NUM(ainfo-&gt;pre_args_num),</div><div class='del'>-                                        NEW_CHILD(ast, ainfo-&gt;pre_init),</div><div class='del'>-                                        NEW_CHILD(ast, ainfo-&gt;opt_args),</div><div class='del'>-                                        var_name(ainfo-&gt;first_post_arg),</div><div class='del'>-                                        INT2NUM(ainfo-&gt;post_args_num),</div><div class='del'>-                                        NEW_CHILD(ast, ainfo-&gt;post_init),</div><div class='del'>-                                        var_name(ainfo-&gt;rest_arg),</div><div class='del'>-                                        NEW_CHILD(ast, ainfo-&gt;kw_args),</div><div class='del'>-                                        NEW_CHILD(ast, ainfo-&gt;kw_rest_arg),</div><div class='del'>-                                        var_name(ainfo-&gt;block_arg));</div><div class='del'>-        }</div><div class='del'>-      case NODE_SCOPE:</div><div class='del'>-        {</div><div class='del'>-            ID *tbl = node-&gt;nd_tbl;</div><div class='del'>-            int i, size = tbl ? (int)*tbl++ : 0;</div><div class='del'>-            VALUE locals = rb_ary_new_capa(size);</div><div class='del'>-            for (i = 0; i &lt; size; i++) {</div><div class='del'>-                rb_ary_push(locals, var_name(tbl[i]));</div><div class='del'>-            }</div><div class='del'>-            return rb_ary_new_from_args(3, locals, NEW_CHILD(ast, node-&gt;nd_args), NEW_CHILD(ast, node-&gt;nd_body));</div><div class='del'>-        }</div><div class='del'>-      case NODE_ARGS_AUX:</div><div class='del'>-      case NODE_LAST:</div><div class='del'>-        break;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_bug("node_children: unknown node: %s", ruby_node_name(type));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.children -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns AST nodes under this one.  Each kind of node</div><div class='del'>- *  has different children, depending on what kind of node it is.</div><div class='del'>- *</div><div class='del'>- *  The returned array may contain other nodes or &lt;code&gt;nil&lt;/code&gt;.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_children(VALUE self)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return node_children(data-&gt;ast, data-&gt;node);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.first_lineno -&gt; integer</div><div class='del'>- *</div><div class='del'>- *  The line number in the source code where this AST's text began.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_first_lineno(VALUE self)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return INT2NUM(nd_first_lineno(data-&gt;node));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.first_column -&gt; integer</div><div class='del'>- *</div><div class='del'>- *  The column number in the source code where this AST's text began.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_first_column(VALUE self)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return INT2NUM(nd_first_column(data-&gt;node));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.last_lineno -&gt; integer</div><div class='del'>- *</div><div class='del'>- *  The line number in the source code where this AST's text ended.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_last_lineno(VALUE self)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return INT2NUM(nd_last_lineno(data-&gt;node));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.last_column -&gt; integer</div><div class='del'>- *</div><div class='del'>- *  The column number in the source code where this AST's text ended.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_last_column(VALUE self)</div><div class='del'>-{</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    return INT2NUM(nd_last_column(data-&gt;node));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     node.inspect -&gt; string</div><div class='del'>- *</div><div class='del'>- *  Returns debugging information about this node as a string.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_ast_node_inspect(VALUE self)</div><div class='del'>-{</div><div class='del'>-    VALUE str;</div><div class='del'>-    VALUE cname;</div><div class='del'>-    struct ASTNodeData *data;</div><div class='del'>-    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='del'>-</div><div class='del'>-    cname = rb_class_path(rb_obj_class(self));</div><div class='del'>-    str = rb_str_new2("#&lt;");</div><div class='del'>-</div><div class='del'>-    rb_str_append(str, cname);</div><div class='del'>-    rb_str_cat2(str, "(");</div><div class='del'>-    rb_str_catf(str, "%s(%d) %d:%d, %d:%d", node_type_to_str(data-&gt;node), nd_type(data-&gt;node), nd_first_lineno(data-&gt;node), nd_first_column(data-&gt;node), nd_last_lineno(data-&gt;node), nd_last_column(data-&gt;node));</div><div class='del'>-    rb_str_cat2(str, "): &gt;");</div><div class='del'>-</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-Init_ast(void)</div><div class='del'>-{</div><div class='del'>-    /*</div><div class='del'>-     * AbstractSyntaxTree provides methods to parse Ruby code into</div><div class='del'>-     * abstract syntax trees. The nodes in the tree</div><div class='del'>-     * are instances of RubyVM::AbstractSyntaxTree::Node.</div><div class='del'>-     */</div><div class='del'>-    rb_mAST = rb_define_module_under(rb_cRubyVM, "AbstractSyntaxTree");</div><div class='del'>-    /*</div><div class='del'>-     * RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in</div><div class='del'>-     * RubyVM::AbstractSyntaxTree.</div><div class='del'>-     */</div><div class='del'>-    rb_cNode = rb_define_class_under(rb_mAST, "Node", rb_cObject);</div><div class='del'>-</div><div class='del'>-    rb_undef_alloc_func(rb_cNode);</div><div class='del'>-    rb_define_singleton_method(rb_mAST, "parse", rb_ast_s_parse, 1);</div><div class='del'>-    rb_define_singleton_method(rb_mAST, "parse_file", rb_ast_s_parse_file, 1);</div><div class='del'>-    rb_define_singleton_method(rb_mAST, "of", rb_ast_s_of, 1);</div><div class='del'>-    rb_define_method(rb_cNode, "type", rb_ast_node_type, 0);</div><div class='del'>-    rb_define_method(rb_cNode, "first_lineno", rb_ast_node_first_lineno, 0);</div><div class='del'>-    rb_define_method(rb_cNode, "first_column", rb_ast_node_first_column, 0);</div><div class='del'>-    rb_define_method(rb_cNode, "last_lineno", rb_ast_node_last_lineno, 0);</div><div class='del'>-    rb_define_method(rb_cNode, "last_column", rb_ast_node_last_column, 0);</div><div class='del'>-    rb_define_method(rb_cNode, "children", rb_ast_node_children, 0);</div><div class='del'>-    rb_define_method(rb_cNode, "inspect", rb_ast_node_inspect, 0);</div><div class='del'>-}</div><div class='head'>diff --git a/basictest/runner.rb b/basictest/runner.rb<br/>deleted file mode 100755<br/>index 0f398e7acc..0000000000<br/>--- a/<a href='/ruby.git/tree/basictest/runner.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>basictest/runner.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,33 +0,0 @@</div><div class='del'>-#! ./miniruby</div><div class='del'>-</div><div class='del'>-exit if defined?(CROSS_COMPILING) and CROSS_COMPILING</div><div class='del'>-ruby = ENV["RUBY"]</div><div class='del'>-unless ruby</div><div class='del'>-  load './rbconfig.rb'</div><div class='del'>-  ruby = "./#{RbConfig::CONFIG['ruby_install_name']}#{RbConfig::CONFIG['EXEEXT']}"</div><div class='del'>-end</div><div class='del'>-unless File.exist? ruby</div><div class='del'>-  print "#{ruby} is not found.\n"</div><div class='del'>-  print "Try `make' first, then `make test', please.\n"</div><div class='del'>-  exit false</div><div class='del'>-end</div><div class='del'>-ARGV[0] and opt = ARGV[0][/\A--run-opt=(.*)/, 1] and ARGV.shift</div><div class='del'>-</div><div class='del'>-$stderr.reopen($stdout)</div><div class='del'>-error = ''</div><div class='del'>-</div><div class='del'>-srcdir = File.expand_path('..', File.dirname(__FILE__))</div><div class='del'>-if env = ENV["RUBYOPT"]</div><div class='del'>-  ENV["RUBYOPT"] = env + " -W1"</div><div class='del'>-end</div><div class='del'>-`#{ruby} #{opt} -W1 #{srcdir}/basictest/test.rb #{ARGV.join(' ')}`.each_line do |line|</div><div class='del'>-  if line =~ /^end of test/</div><div class='del'>-    print "\ntest succeeded\n"</div><div class='del'>-    exit true</div><div class='del'>-  end</div><div class='del'>-  error &lt;&lt; line if %r:^(basictest/test.rb|not): =~ line</div><div class='del'>-end</div><div class='del'>-puts</div><div class='del'>-print error</div><div class='del'>-print "test failed\n"</div><div class='del'>-exit false</div><div class='head'>diff --git a/basictest/test.rb b/basictest/test.rb<br/>deleted file mode 100755<br/>index 25d52ca1ef..0000000000<br/>--- a/<a href='/ruby.git/tree/basictest/test.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>basictest/test.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2367 +0,0 @@</div><div class='del'>-#! /usr/bin/env ruby</div><div class='del'>-# -*- coding: us-ascii -*-</div><div class='del'>-</div><div class='del'>-$testnum=0</div><div class='del'>-$ntest=0</div><div class='del'>-$failed = 0</div><div class='del'>-class Progress</div><div class='del'>-  def initialize</div><div class='del'>-    @color = nil</div><div class='del'>-    @tty = nil</div><div class='del'>-    @quiet = nil</div><div class='del'>-    @verbose = nil</div><div class='del'>-    ARGV.each do |arg|</div><div class='del'>-      case arg</div><div class='del'>-      when /\A--color(?:=(?:always|(auto)|(never)|(.*)))?\z/</div><div class='del'>-        warn "unknown --color argument: #$3" if $3</div><div class='del'>-        @color = $1 ? nil : !$2</div><div class='del'>-      when /\A--tty(=(?:yes|(no)|(.*)))?\z/</div><div class='del'>-        warn "unknown --tty argument: #$3" if $3</div><div class='del'>-        @tty = !$1 || !$2</div><div class='del'>-        true</div><div class='del'>-      when /\A-(q|-quiet)\z/</div><div class='del'>-        @quiet = true</div><div class='del'>-      when /\A-(v|-verbose)\z/</div><div class='del'>-        @verbose = true</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    @tty = STDERR.tty? &amp;&amp; !STDOUT.tty? &amp;&amp; /dumb/ !~ ENV["TERM"] if @tty.nil?</div><div class='del'>-    @eol = @tty &amp;&amp; !@verbose ? "\r\e[K\r" : "\n"</div><div class='del'>-    case @color</div><div class='del'>-    when nil</div><div class='del'>-      @color = @tty</div><div class='del'>-    end</div><div class='del'>-    if @color</div><div class='del'>-      # dircolors-like style</div><div class='del'>-      colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {}</div><div class='del'>-      begin</div><div class='del'>-        File.read(File.join(__dir__, "../test/colors")).scan(/(\w+)=([^:\n]*)/) do |n, c|</div><div class='del'>-          colors[n] ||= c</div><div class='del'>-        end</div><div class='del'>-      rescue</div><div class='del'>-      end</div><div class='del'>-      @passed = "\e[;#{colors["pass"] || "32"}m"</div><div class='del'>-      @failed = "\e[;#{colors["fail"] || "31"}m"</div><div class='del'>-      @reset = "\e[m"</div><div class='del'>-    else</div><div class='del'>-      @passed = @failed = @reset = ""</div><div class='del'>-    end</div><div class='del'>-    extend(Rotator) if @tty</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def passed_string</div><div class='del'>-    "."</div><div class='del'>-  end</div><div class='del'>-  def failed_string</div><div class='del'>-    "#{@failed}F#{@reset}"</div><div class='del'>-  end</div><div class='del'>-  def init_string</div><div class='del'>-  end</div><div class='del'>-  def finish_string</div><div class='del'>-    if @quiet</div><div class='del'>-      @eol</div><div class='del'>-    else</div><div class='del'>-      "#{@passed}#{@ok ? 'OK' : ''} #{$testnum}#{@reset}#{@eol}"</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  def pass</div><div class='del'>-    STDERR.print passed_string</div><div class='del'>-  end</div><div class='del'>-  def fail</div><div class='del'>-    @ok = false</div><div class='del'>-    STDERR.print failed_string</div><div class='del'>-  end</div><div class='del'>-  def init</div><div class='del'>-    @ok = true</div><div class='del'>-    STDERR.print init_string</div><div class='del'>-  end</div><div class='del'>-  def finish</div><div class='del'>-    STDERR.print finish_string</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  module Rotator</div><div class='del'>-    ROTATOR = %w[- \\ | /]</div><div class='del'>-    BS = "\b" * ROTATOR[0].size</div><div class='del'>-    def passed_string</div><div class='del'>-      "#{BS}#{ROTATOR[(@count += 1) % ROTATOR.size]}"</div><div class='del'>-    end</div><div class='del'>-    def failed_string</div><div class='del'>-      "#{BS}#{super}#{ROTATOR[@count % ROTATOR.size]}"</div><div class='del'>-    end</div><div class='del'>-    def init_string</div><div class='del'>-      @count = 0</div><div class='del'>-      " "</div><div class='del'>-    end</div><div class='del'>-    def finish_string</div><div class='del'>-      s = "#{BS}#{' ' * BS.size}#{BS}#{super}"</div><div class='del'>-      s.gsub!(/\n/, "\r\e[2K\r") if @quiet</div><div class='del'>-      s</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-PROGRESS = Progress.new</div><div class='del'>-</div><div class='del'>-def test_check(what)</div><div class='del'>-  unless $ntest.zero?</div><div class='del'>-    PROGRESS.finish</div><div class='del'>-  end</div><div class='del'>-  STDERR.print "#{$0}:#{what} "</div><div class='del'>-  PROGRESS.init</div><div class='del'>-  $what = what</div><div class='del'>-  $testnum = 0</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_ok(cond,n=1)</div><div class='del'>-  $testnum+=1</div><div class='del'>-  $ntest+=1</div><div class='del'>-  where = (st = caller(n)) ? st[0] : "caller error! (n=#{n}, trace=#{caller(0).join(', ')}"</div><div class='del'>-  if cond</div><div class='del'>-    PROGRESS.pass</div><div class='del'>-    printf "ok %d (%s)\n", $testnum, where</div><div class='del'>-  else</div><div class='del'>-    PROGRESS.fail</div><div class='del'>-    printf "not ok %s %d -- %s\n", $what, $testnum, where</div><div class='del'>-    $failed+=1</div><div class='del'>-  end</div><div class='del'>-  STDOUT.flush</div><div class='del'>-  STDERR.flush</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# make sure conditional operators work</div><div class='del'>-</div><div class='del'>-test_check "assignment"</div><div class='del'>-</div><div class='del'>-a=[]; a[0] ||= "bar";</div><div class='del'>-test_ok(a[0] == "bar")</div><div class='del'>-h={}; h["foo"] ||= "bar";</div><div class='del'>-test_ok(h["foo"] == "bar")</div><div class='del'>-</div><div class='del'>-aa = 5</div><div class='del'>-aa ||= 25</div><div class='del'>-test_ok(aa == 5)</div><div class='del'>-bb ||= 25</div><div class='del'>-test_ok(bb == 25)</div><div class='del'>-cc &amp;&amp;=33</div><div class='del'>-test_ok(cc == nil)</div><div class='del'>-cc = 5</div><div class='del'>-cc &amp;&amp;=44</div><div class='del'>-test_ok(cc == 44)</div><div class='del'>-</div><div class='del'>-a = nil; test_ok(a == nil)</div><div class='del'>-a = 1; test_ok(a == 1)</div><div class='del'>-a = []; test_ok(a == [])</div><div class='del'>-a = [1]; test_ok(a == [1])</div><div class='del'>-a = [nil]; test_ok(a == [nil])</div><div class='del'>-a = [[]]; test_ok(a == [[]])</div><div class='del'>-a = [1,2]; test_ok(a == [1,2])</div><div class='del'>-a = [*[]]; test_ok(a == [])</div><div class='del'>-a = [*[1]]; test_ok(a == [1])</div><div class='del'>-a = [*[1,2]]; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-a = *[]; test_ok(a == [])</div><div class='del'>-a = *[1]; test_ok(a == [1])</div><div class='del'>-a = *[nil]; test_ok(a == [nil])</div><div class='del'>-a = *[[]]; test_ok(a == [[]])</div><div class='del'>-a = *[1,2]; test_ok(a == [1,2])</div><div class='del'>-a = *[*[]]; test_ok(a == [])</div><div class='del'>-a = *[*[1]]; test_ok(a == [1])</div><div class='del'>-a = *[*[1,2]]; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-a, = nil; test_ok(a == nil)</div><div class='del'>-a, = 1; test_ok(a == 1)</div><div class='del'>-a, = []; test_ok(a == nil)</div><div class='del'>-a, = [1]; test_ok(a == 1)</div><div class='del'>-a, = [nil]; test_ok(a == nil)</div><div class='del'>-a, = [[]]; test_ok(a == [])</div><div class='del'>-a, = 1,2; test_ok(a == 1)</div><div class='del'>-a, = [1,2]; test_ok(a == 1)</div><div class='del'>-a, = [*[]]; test_ok(a == nil)</div><div class='del'>-a, = [*[1]]; test_ok(a == 1)</div><div class='del'>-a, = *[1,2]; test_ok(a == 1)</div><div class='del'>-a, = [*[1,2]]; test_ok(a == 1)</div><div class='del'>-</div><div class='del'>-a, = *[]; test_ok(a == nil)</div><div class='del'>-a, = *[1]; test_ok(a == 1)</div><div class='del'>-a, = *[nil]; test_ok(a == nil)</div><div class='del'>-a, = *[[]]; test_ok(a == [])</div><div class='del'>-a, = *[1,2]; test_ok(a == 1)</div><div class='del'>-a, = *[*[]]; test_ok(a == nil)</div><div class='del'>-a, = *[*[1]]; test_ok(a == 1)</div><div class='del'>-a, = *[*[1,2]]; test_ok(a == 1)</div><div class='del'>-</div><div class='del'>-*a = nil; test_ok(a == [nil])</div><div class='del'>-*a = 1; test_ok(a == [1])</div><div class='del'>-*a = []; test_ok(a == [])</div><div class='del'>-*a = [1]; test_ok(a == [1])</div><div class='del'>-*a = [nil]; test_ok(a == [nil])</div><div class='del'>-*a = [[]]; test_ok(a == [[]])</div><div class='del'>-*a = [1,2]; test_ok(a == [1,2])</div><div class='del'>-*a = [*[]]; test_ok(a == [])</div><div class='del'>-*a = [*[1]]; test_ok(a == [1])</div><div class='del'>-*a = [*[1,2]]; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-*a = *[]; test_ok(a == [])</div><div class='del'>-*a = *[1]; test_ok(a == [1])</div><div class='del'>-*a = *[nil]; test_ok(a == [nil])</div><div class='del'>-*a = *[[]]; test_ok(a == [[]])</div><div class='del'>-*a = *[1,2]; test_ok(a == [1,2])</div><div class='del'>-*a = *[*[]]; test_ok(a == [])</div><div class='del'>-*a = *[*[1]]; test_ok(a == [1])</div><div class='del'>-*a = *[*[1,2]]; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-a,b,*c = nil; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = 1; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = []; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = [1]; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = [nil]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = [[]]; test_ok([a,b,c] == [[],nil,[]])</div><div class='del'>-a,b,*c = [1,2]; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-a,b,*c = [*[]]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = [*[1]]; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = [*[1,2]]; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-</div><div class='del'>-a,b,*c = *[]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = *[1]; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = *[nil]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = *[[]]; test_ok([a,b,c] == [[],nil,[]])</div><div class='del'>-a,b,*c = *[1,2]; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-a,b,*c = *[*[]]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = *[*[1]]; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = *[*[1,2]]; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-</div><div class='del'>-def f; yield nil; end; f {|a| test_ok(a == nil)}</div><div class='del'>-def f; yield 1; end; f {|a| test_ok(a == 1)}</div><div class='del'>-def f; yield []; end; f {|a| test_ok(a == [])}</div><div class='del'>-def f; yield [1]; end; f {|a| test_ok(a == [1])}</div><div class='del'>-def f; yield [nil]; end; f {|a| test_ok(a == [nil])}</div><div class='del'>-def f; yield [[]]; end; f {|a| test_ok(a == [[]])}</div><div class='del'>-def f; yield [*[]]; end; f {|a| test_ok(a == [])}</div><div class='del'>-def f; yield [*[1]]; end; f {|a| test_ok(a == [1])}</div><div class='del'>-def f; yield [*[1,2]]; end; f {|a| test_ok(a == [1,2])}</div><div class='del'>-def f; yield *[]; end; f {|a| test_ok(a == nil)}</div><div class='del'>-def f; yield *[1]; end; f {|a| test_ok(a == 1)}</div><div class='del'>-def f; yield *[nil]; end; f {|a| test_ok(a == nil)}</div><div class='del'>-def f; yield *[[]]; end; f {|a| test_ok(a == [])}</div><div class='del'>-def f; yield *[*[]]; end; f {|a| test_ok(a == nil)}</div><div class='del'>-def f; yield *[*[1]]; end; f {|a| test_ok(a == 1)}</div><div class='del'>-def f; yield *[*[1,2]]; end; f {|a| test_ok(a == 1)}</div><div class='del'>-</div><div class='del'>-def f; yield; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield nil; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield 1; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-def f; yield []; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield [1]; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-def f; yield [nil]; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield [[]]; end; f {|a,| test_ok(a == [])}</div><div class='del'>-def f; yield [*[]]; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield [*[1]]; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-def f; yield [*[1,2]]; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-</div><div class='del'>-def f; yield *[]; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield *[1]; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-def f; yield *[nil]; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield *[[]]; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield *[*[]]; end; f {|a,| test_ok(a == nil)}</div><div class='del'>-def f; yield *[*[1]]; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-def f; yield *[*[1,2]]; end; f {|a,| test_ok(a == 1)}</div><div class='del'>-</div><div class='del'>-def f; yield; end; f {|*a| test_ok(a == [])}</div><div class='del'>-def f; yield nil; end; f {|*a| test_ok(a == [nil])}</div><div class='del'>-def f; yield 1; end; f {|*a| test_ok(a == [1])}</div><div class='del'>-def f; yield []; end; f {|*a| test_ok(a == [[]])}</div><div class='del'>-def f; yield [1]; end; f {|*a| test_ok(a == [[1]])}</div><div class='del'>-def f; yield [nil]; end; f {|*a| test_ok(a == [[nil]])}</div><div class='del'>-def f; yield [[]]; end; f {|*a| test_ok(a == [[[]]])}</div><div class='del'>-def f; yield [1,2]; end; f {|*a| test_ok(a == [[1,2]])}</div><div class='del'>-def f; yield [*[]]; end; f {|*a| test_ok(a == [[]])}</div><div class='del'>-def f; yield [*[1]]; end; f {|*a| test_ok(a == [[1]])}</div><div class='del'>-def f; yield [*[1,2]]; end; f {|*a| test_ok(a == [[1,2]])}</div><div class='del'>-</div><div class='del'>-def f; yield *[]; end; f {|*a| test_ok(a == [])}</div><div class='del'>-def f; yield *[1]; end; f {|*a| test_ok(a == [1])}</div><div class='del'>-def f; yield *[nil]; end; f {|*a| test_ok(a == [nil])}</div><div class='del'>-def f; yield *[[]]; end; f {|*a| test_ok(a == [[]])}</div><div class='del'>-def f; yield *[*[]]; end; f {|*a| test_ok(a == [])}</div><div class='del'>-def f; yield *[*[1]]; end; f {|*a| test_ok(a == [1])}</div><div class='del'>-def f; yield *[*[1,2]]; end; f {|*a| test_ok(a == [1,2])}</div><div class='del'>-</div><div class='del'>-def f; yield; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield nil; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield 1; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='del'>-def f; yield []; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield [1]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='del'>-def f; yield [nil]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield [[]]; end; f {|a,b,*c| test_ok([a,b,c] == [[],nil,[]])}</div><div class='del'>-def f; yield [*[]]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield [*[1]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='del'>-def f; yield [*[1,2]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,2,[]])}</div><div class='del'>-</div><div class='del'>-def f; yield *[]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield *[1]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='del'>-def f; yield *[nil]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield *[[]]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield *[*[]]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='del'>-def f; yield *[*[1]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='del'>-def f; yield *[*[1,2]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,2,[]])}</div><div class='del'>-</div><div class='del'>-def r; return; end; a = r(); test_ok(a == nil)</div><div class='del'>-def r; return nil; end; a = r(); test_ok(a == nil)</div><div class='del'>-def r; return 1; end; a = r(); test_ok(a == 1)</div><div class='del'>-def r; return []; end; a = r(); test_ok(a == [])</div><div class='del'>-def r; return [1]; end; a = r(); test_ok(a == [1])</div><div class='del'>-def r; return [nil]; end; a = r(); test_ok(a == [nil])</div><div class='del'>-def r; return [[]]; end; a = r(); test_ok(a == [[]])</div><div class='del'>-def r; return [*[]]; end; a = r(); test_ok(a == [])</div><div class='del'>-def r; return [*[1]]; end; a = r(); test_ok(a == [1])</div><div class='del'>-def r; return [*[1,2]]; end; a = r(); test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-def r; return *[]; end; a = r(); test_ok(a == [])</div><div class='del'>-def r; return *[1]; end; a = r(); test_ok(a == [1])</div><div class='del'>-def r; return *[nil]; end; a = r(); test_ok(a == [nil])</div><div class='del'>-def r; return *[[]]; end; a = r(); test_ok(a == [[]])</div><div class='del'>-def r; return *[*[]]; end; a = r(); test_ok(a == [])</div><div class='del'>-def r; return *[*[1]]; end; a = r(); test_ok(a == [1])</div><div class='del'>-def r; return *[*[1,2]]; end; a = r(); test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-def r; return *[[]]; end; a = *r(); test_ok(a == [[]])</div><div class='del'>-def r; return *[*[1,2]]; end; a = *r(); test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-def r; return; end; *a = r(); test_ok(a == [nil])</div><div class='del'>-def r; return nil; end; *a = r(); test_ok(a == [nil])</div><div class='del'>-def r; return 1; end; *a = r(); test_ok(a == [1])</div><div class='del'>-def r; return []; end; *a = r(); test_ok(a == [])</div><div class='del'>-def r; return [1]; end; *a = r(); test_ok(a == [1])</div><div class='del'>-def r; return [nil]; end; *a = r(); test_ok(a == [nil])</div><div class='del'>-def r; return [[]]; end; *a = r(); test_ok(a == [[]])</div><div class='del'>-def r; return [1,2]; end; *a = r(); test_ok(a == [1,2])</div><div class='del'>-def r; return [*[]]; end; *a = r(); test_ok(a == [])</div><div class='del'>-def r; return [*[1]]; end; *a = r(); test_ok(a == [1])</div><div class='del'>-def r; return [*[1,2]]; end; *a = r(); test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-def r; return *[]; end; *a = r(); test_ok(a == [])</div><div class='del'>-def r; return *[1]; end; *a = r(); test_ok(a == [1])</div><div class='del'>-def r; return *[nil]; end; *a = r(); test_ok(a == [nil])</div><div class='del'>-def r; return *[[]]; end; *a = r(); test_ok(a == [[]])</div><div class='del'>-def r; return *[1,2]; end; *a = r(); test_ok(a == [1,2])</div><div class='del'>-def r; return *[*[]]; end; *a = r(); test_ok(a == [])</div><div class='del'>-def r; return *[*[1]]; end; *a = r(); test_ok(a == [1])</div><div class='del'>-def r; return *[*[1,2]]; end; *a = r(); test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-def r; return *[[]]; end; *a = *r(); test_ok(a == [[]])</div><div class='del'>-def r; return *[1,2]; end; *a = *r(); test_ok(a == [1,2])</div><div class='del'>-def r; return *[*[1,2]]; end; *a = *r(); test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-def r; return; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return nil; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return 1; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-def r; return []; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return [1]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-def r; return [nil]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return [[]]; end; a,b,*c = r(); test_ok([a,b,c] == [[],nil,[]])</div><div class='del'>-def r; return [1,2]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-def r; return [*[]]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return [*[1]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-def r; return [*[1,2]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-</div><div class='del'>-def r; return *[]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return *[1]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-def r; return *[nil]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return *[[]]; end; a,b,*c = r(); test_ok([a,b,c] == [[],nil,[]])</div><div class='del'>-def r; return *[1,2]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-def r; return *[*[]]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-def r; return *[*[1]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-def r; return *[*[1,2]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-</div><div class='del'>-f = lambda {|r,| test_ok([] == r)}</div><div class='del'>-f.call([], *[])</div><div class='del'>-</div><div class='del'>-f = lambda {|r,*l| test_ok([] == r); test_ok([1] == l)}</div><div class='del'>-f.call([], *[1])</div><div class='del'>-</div><div class='del'>-f = lambda{|x| x}</div><div class='del'>-test_ok(f.call(42) == 42)</div><div class='del'>-test_ok(f.call([42]) == [42])</div><div class='del'>-test_ok(f.call([[42]]) == [[42]])</div><div class='del'>-test_ok(f.call([42,55]) == [42,55])</div><div class='del'>-</div><div class='del'>-f = lambda{|x,| x}</div><div class='del'>-test_ok(f.call(42) == 42)</div><div class='del'>-test_ok(f.call([42]) == [42])</div><div class='del'>-test_ok(f.call([[42]]) == [[42]])</div><div class='del'>-test_ok(f.call([42,55]) == [42,55])</div><div class='del'>-</div><div class='del'>-f = lambda{|*x| x}</div><div class='del'>-test_ok(f.call(42) == [42])</div><div class='del'>-test_ok(f.call([42]) == [[42]])</div><div class='del'>-test_ok(f.call([[42]]) == [[[42]]])</div><div class='del'>-test_ok(f.call([42,55]) == [[42,55]])</div><div class='del'>-test_ok(f.call(42,55) == [42,55])</div><div class='del'>-</div><div class='del'>-f = lambda { |a, b=42, *c| [a,b,c] }</div><div class='del'>-test_ok(f.call(1      ) == [1,42,[  ]] )</div><div class='del'>-test_ok(f.call(1,43   ) == [1,43,[  ]] )</div><div class='del'>-test_ok(f.call(1,43,44) == [1,43,[44]] )</div><div class='del'>-</div><div class='del'>-f = lambda { |a, b=(a|16), *c, &amp;block| [a,b,c,block&amp;&amp;block[]] }</div><div class='del'>-test_ok(f.call(8      )     == [8,24,[  ],nil] )</div><div class='del'>-test_ok(f.call(8,43   )     == [8,43,[  ],nil] )</div><div class='del'>-test_ok(f.call(8,43,44)     == [8,43,[44],nil] )</div><div class='del'>-test_ok(f.call(8      ){45} == [8,24,[  ],45 ] )</div><div class='del'>-test_ok(f.call(8,43   ){45} == [8,43,[  ],45 ] )</div><div class='del'>-test_ok(f.call(8,43,44){45} == [8,43,[44],45 ] )</div><div class='del'>-</div><div class='del'>-f = lambda { |a, b=42, *c, d| [a,b,c,d] }</div><div class='del'>-test_ok(f.call(1      ,99) == [1,42,[  ],99] )</div><div class='del'>-test_ok(f.call(1,43   ,99) == [1,43,[  ],99] )</div><div class='del'>-test_ok(f.call(1,43,44,99) == [1,43,[44],99] )</div><div class='del'>-</div><div class='del'>-f = lambda { |a, b=(a|16), &amp;block| [a,b,block&amp;&amp;block[]] }</div><div class='del'>-test_ok(f.call(8   )     == [8,24,nil] )</div><div class='del'>-test_ok(f.call(8,43)     == [8,43,nil] )</div><div class='del'>-test_ok(f.call(8,43)     == [8,43,nil] )</div><div class='del'>-test_ok(f.call(8   ){45} == [8,24,45 ] )</div><div class='del'>-test_ok(f.call(8,43){45} == [8,43,45 ] )</div><div class='del'>-test_ok(f.call(8,43){45} == [8,43,45 ] )</div><div class='del'>-</div><div class='del'>-f = lambda { |a, b=42, d| [a,b,d] }</div><div class='del'>-test_ok(f.call(1   ,99) == [1,42,99] )</div><div class='del'>-test_ok(f.call(1,43,99) == [1,43,99] )</div><div class='del'>-test_ok(f.call(1,43,99) == [1,43,99] )</div><div class='del'>-</div><div class='del'>-f = lambda { |b=42, *c, &amp;block| [b,c,block&amp;&amp;block[]] }</div><div class='del'>-test_ok(f.call(     )     == [42,[  ],nil] )</div><div class='del'>-test_ok(f.call(43   )     == [43,[  ],nil] )</div><div class='del'>-test_ok(f.call(43,44)     == [43,[44],nil] )</div><div class='del'>-test_ok(f.call(     ){45} == [42,[  ],45 ] )</div><div class='del'>-test_ok(f.call(43   ){45} == [43,[  ],45 ] )</div><div class='del'>-test_ok(f.call(43,44){45} == [43,[44],45 ] )</div><div class='del'>-</div><div class='del'>-f = lambda { |b=42, *c, d| [b,c,d] }</div><div class='del'>-test_ok(f.call(      99) == [42,[  ],99] )</div><div class='del'>-test_ok(f.call(43   ,99) == [43,[  ],99] )</div><div class='del'>-test_ok(f.call(43,44,99) == [43,[44],99] )</div><div class='del'>-</div><div class='del'>-f = lambda { |b=42, &amp;block| [b,block&amp;&amp;block[]] }</div><div class='del'>-test_ok(f.call(  )     == [42,nil] )</div><div class='del'>-test_ok(f.call(43)     == [43,nil] )</div><div class='del'>-test_ok(f.call(43)     == [43,nil] )</div><div class='del'>-test_ok(f.call(  ){45} == [42,45 ] )</div><div class='del'>-test_ok(f.call(43){45} == [43,45 ] )</div><div class='del'>-test_ok(f.call(43){45} == [43,45 ] )</div><div class='del'>-</div><div class='del'>-f = lambda { |b=42, d| [b,d] }</div><div class='del'>-test_ok(f.call(   99) == [42,99] )</div><div class='del'>-test_ok(f.call(43,99) == [43,99] )</div><div class='del'>-test_ok(f.call(43,99) == [43,99] )</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-a,=*[1]</div><div class='del'>-test_ok(a == 1)</div><div class='del'>-a,=*[[1]]</div><div class='del'>-test_ok(a == [1])</div><div class='del'>-a,=*[[[1]]]</div><div class='del'>-test_ok(a == [[1]])</div><div class='del'>-</div><div class='del'>-x, (y, z) = 1, 2, 3</div><div class='del'>-test_ok([1,2,nil] == [x,y,z])</div><div class='del'>-x, (y, z) = 1, [2,3]</div><div class='del'>-test_ok([1,2,3] == [x,y,z])</div><div class='del'>-x, (y, z) = 1, [2]</div><div class='del'>-test_ok([1,2,nil] == [x,y,z])</div><div class='del'>-</div><div class='del'>-a = loop do break; end; test_ok(a == nil)</div><div class='del'>-a = loop do break nil; end; test_ok(a == nil)</div><div class='del'>-a = loop do break 1; end; test_ok(a == 1)</div><div class='del'>-a = loop do break []; end; test_ok(a == [])</div><div class='del'>-a = loop do break [1]; end; test_ok(a == [1])</div><div class='del'>-a = loop do break [nil]; end; test_ok(a == [nil])</div><div class='del'>-a = loop do break [[]]; end; test_ok(a == [[]])</div><div class='del'>-a = loop do break [*[]]; end; test_ok(a == [])</div><div class='del'>-a = loop do break [*[1]]; end; test_ok(a == [1])</div><div class='del'>-a = loop do break [*[1,2]]; end; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-a = loop do break *[]; end; test_ok(a == [])</div><div class='del'>-a = loop do break *[1]; end; test_ok(a == [1])</div><div class='del'>-a = loop do break *[nil]; end; test_ok(a == [nil])</div><div class='del'>-a = loop do break *[[]]; end; test_ok(a == [[]])</div><div class='del'>-a = loop do break *[*[]]; end; test_ok(a == [])</div><div class='del'>-a = loop do break *[*[1]]; end; test_ok(a == [1])</div><div class='del'>-a = loop do break *[*[1,2]]; end; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-*a = loop do break; end; test_ok(a == [nil])</div><div class='del'>-*a = loop do break nil; end; test_ok(a == [nil])</div><div class='del'>-*a = loop do break 1; end; test_ok(a == [1])</div><div class='del'>-*a = loop do break []; end; test_ok(a == [])</div><div class='del'>-*a = loop do break [1]; end; test_ok(a == [1])</div><div class='del'>-*a = loop do break [nil]; end; test_ok(a == [nil])</div><div class='del'>-*a = loop do break [[]]; end; test_ok(a == [[]])</div><div class='del'>-*a = loop do break [1,2]; end; test_ok(a == [1,2])</div><div class='del'>-*a = loop do break [*[]]; end; test_ok(a == [])</div><div class='del'>-*a = loop do break [*[1]]; end; test_ok(a == [1])</div><div class='del'>-*a = loop do break [*[1,2]]; end; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-*a = loop do break *[]; end; test_ok(a == [])</div><div class='del'>-*a = loop do break *[1]; end; test_ok(a == [1])</div><div class='del'>-*a = loop do break *[nil]; end; test_ok(a == [nil])</div><div class='del'>-*a = loop do break *[[]]; end; test_ok(a == [[]])</div><div class='del'>-*a = loop do break *[1,2]; end; test_ok(a == [1,2])</div><div class='del'>-*a = loop do break *[*[]]; end; test_ok(a == [])</div><div class='del'>-*a = loop do break *[*[1]]; end; test_ok(a == [1])</div><div class='del'>-*a = loop do break *[*[1,2]]; end; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-*a = *loop do break *[[]]; end; test_ok(a == [[]])</div><div class='del'>-*a = *loop do break *[1,2]; end; test_ok(a == [1,2])</div><div class='del'>-*a = *loop do break *[*[1,2]]; end; test_ok(a == [1,2])</div><div class='del'>-</div><div class='del'>-a,b,*c = loop do break; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break nil; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break 1; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = loop do break []; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break [1]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = loop do break [nil]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break [[]]; end; test_ok([a,b,c] == [[],nil,[]])</div><div class='del'>-a,b,*c = loop do break [1,2]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-a,b,*c = loop do break [*[]]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break [*[1]]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = loop do break [*[1,2]]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-</div><div class='del'>-a,b,*c = loop do break *[]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break *[1]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = loop do break *[nil]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break *[[]]; end; test_ok([a,b,c] == [[],nil,[]])</div><div class='del'>-a,b,*c = loop do break *[1,2]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-a,b,*c = loop do break *[*[]]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='del'>-a,b,*c = loop do break *[*[1]]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='del'>-a,b,*c = loop do break *[*[1,2]]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='del'>-</div><div class='del'>-def r(val); a = yield(); test_ok(a == val, 2); end</div><div class='del'>-r(nil){next}</div><div class='del'>-r(nil){next nil}</div><div class='del'>-r(1){next 1}</div><div class='del'>-r([]){next []}</div><div class='del'>-r([1]){next [1]}</div><div class='del'>-r([nil]){next [nil]}</div><div class='del'>-r([[]]){next [[]]}</div><div class='del'>-r([]){next [*[]]}</div><div class='del'>-r([1]){next [*[1]]}</div><div class='del'>-r([1,2]){next [*[1,2]]}</div><div class='del'>-</div><div class='del'>-r([]){next *[]}</div><div class='del'>-r([1]){next *[1]}</div><div class='del'>-r([nil]){next *[nil]}</div><div class='del'>-r([[]]){next *[[]]}</div><div class='del'>-r([]){next *[*[]]}</div><div class='del'>-r([1]){next *[*[1]]}</div><div class='del'>-r([1,2]){next *[*[1,2]]}</div><div class='del'>-</div><div class='del'>-def r(val); *a = yield(); test_ok(a == val, 2); end</div><div class='del'>-r([nil]){next}</div><div class='del'>-r([nil]){next nil}</div><div class='del'>-r([1]){next 1}</div><div class='del'>-r([]){next []}</div><div class='del'>-r([1]){next [1]}</div><div class='del'>-r([nil]){next [nil]}</div><div class='del'>-r([[]]){next [[]]}</div><div class='del'>-r([1,2]){next [1,2]}</div><div class='del'>-r([]){next [*[]]}</div><div class='del'>-r([1]){next [*[1]]}</div><div class='del'>-r([1,2]){next [*[1,2]]}</div><div class='del'>-</div><div class='del'>-def r(val); *a = *yield(); test_ok(a == val, 2); end</div><div class='del'>-r([[]]){next *[[]]}</div><div class='del'>-r([1,2]){next *[1,2]}</div><div class='del'>-r([1,2]){next *[*[1,2]]}</div><div class='del'>-</div><div class='del'>-def r(val); a,b,*c = yield(); test_ok([a,b,c] == val, 2); end</div><div class='del'>-r([nil,nil,[]]){next}</div><div class='del'>-r([nil,nil,[]]){next nil}</div><div class='del'>-r([1,nil,[]]){next 1}</div><div class='del'>-r([nil,nil,[]]){next []}</div><div class='del'>-r([1,nil,[]]){next [1]}</div><div class='del'>-r([nil,nil,[]]){next [nil]}</div><div class='del'>-r([[],nil,[]]){next [[]]}</div><div class='del'>-r([1,2,[]]){next [1,2]}</div><div class='del'>-r([nil,nil,[]]){next [*[]]}</div><div class='del'>-r([1,nil,[]]){next [*[1]]}</div><div class='del'>-r([1,2,[]]){next [*[1,2]]}</div><div class='del'>-</div><div class='del'>-def r(val); a,b,*c = *yield(); test_ok([a,b,c] == val, 2); end</div><div class='del'>-r([[],nil,[]]){next *[[]]}</div><div class='del'>-r([1,2,[]]){next *[1,2]}</div><div class='del'>-r([1,2,[]]){next *[*[1,2]]}</div><div class='del'>-</div><div class='del'>-test_check "condition"</div><div class='del'>-</div><div class='del'>-$x = '0';</div><div class='del'>-</div><div class='del'>-$x == $x &amp;&amp; test_ok(true)</div><div class='del'>-$x != $x &amp;&amp; test_ok(false)</div><div class='del'>-$x == $x || test_ok(false)</div><div class='del'>-$x != $x || test_ok(true)</div><div class='del'>-</div><div class='del'>-# first test to see if we can run the tests.</div><div class='del'>-</div><div class='del'>-test_check "if/unless";</div><div class='del'>-</div><div class='del'>-$x = 'test';</div><div class='del'>-test_ok(if $x == $x then true else false end)</div><div class='del'>-$bad = false</div><div class='del'>-unless $x == $x</div><div class='del'>-  $bad = true</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-test_ok(unless $x != $x then true else false end)</div><div class='del'>-</div><div class='del'>-test_check "case"</div><div class='del'>-</div><div class='del'>-case 5</div><div class='del'>-when 1, 2, 3, 4, 6, 7, 8</div><div class='del'>-  test_ok(false)</div><div class='del'>-when 5</div><div class='del'>-  test_ok(true)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-case 5</div><div class='del'>-when 5</div><div class='del'>-  test_ok(true)</div><div class='del'>-when 1..10</div><div class='del'>-  test_ok(false)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-case 5</div><div class='del'>-when 1..10</div><div class='del'>-  test_ok(true)</div><div class='del'>-else</div><div class='del'>-  test_ok(false)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-case 5</div><div class='del'>-when 5</div><div class='del'>-  test_ok(true)</div><div class='del'>-else</div><div class='del'>-  test_ok(false)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-case "foobar"</div><div class='del'>-when /^f.*r$/</div><div class='del'>-  test_ok(true)</div><div class='del'>-else</div><div class='del'>-  test_ok(false)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_check "while/until";</div><div class='del'>-</div><div class='del'>-while_tmp = "while_tmp.#{$$}"</div><div class='del'>-tmp = open(while_tmp, "w")</div><div class='del'>-tmp.print "tvi925\n";</div><div class='del'>-tmp.print "tvi920\n";</div><div class='del'>-tmp.print "vt100\n";</div><div class='del'>-tmp.print "Amiga\n";</div><div class='del'>-tmp.print "paper\n";</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-# test break</div><div class='del'>-</div><div class='del'>-tmp = open(while_tmp, "r")</div><div class='del'>-test_ok(tmp.kind_of?(File))</div><div class='del'>-</div><div class='del'>-while line = tmp.gets()</div><div class='del'>-  break if /vt100/ =~ line</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(!tmp.eof? &amp;&amp; /vt100/ =~ line)</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-# test next</div><div class='del'>-$bad = false</div><div class='del'>-tmp = open(while_tmp, "r")</div><div class='del'>-while line = tmp.gets()</div><div class='del'>-  next if /vt100/ =~ line</div><div class='del'>-  $bad = 1 if /vt100/ =~ line</div><div class='del'>-end</div><div class='del'>-test_ok(!(!tmp.eof? || /vt100/ =~ line || $bad))</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-# test redo</div><div class='del'>-$bad = false</div><div class='del'>-tmp = open(while_tmp, "r")</div><div class='del'>-while line = tmp.gets()</div><div class='del'>-  lastline = line</div><div class='del'>-  line = line.gsub(/vt100/, 'VT100')</div><div class='del'>-  if lastline != line</div><div class='del'>-    line.gsub!('VT100', 'Vt100')</div><div class='del'>-    redo</div><div class='del'>-  end</div><div class='del'>-  $bad = 1 if /vt100/ =~ line</div><div class='del'>-  $bad = 1 if /VT100/ =~ line</div><div class='del'>-end</div><div class='del'>-test_ok(tmp.eof? &amp;&amp; !$bad)</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-sum=0</div><div class='del'>-for i in 1..10</div><div class='del'>-  sum += i</div><div class='del'>-  i -= 1</div><div class='del'>-  if i &gt; 0</div><div class='del'>-    redo</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(sum == 220)</div><div class='del'>-</div><div class='del'>-# test interval</div><div class='del'>-$bad = false</div><div class='del'>-tmp = open(while_tmp, "r")</div><div class='del'>-while line = tmp.gets()</div><div class='del'>-  break if 3</div><div class='del'>-  case line</div><div class='del'>-  when /vt100/, /Amiga/, /paper/</div><div class='del'>-    $bad = true</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-File.unlink while_tmp or `/bin/rm -f "#{while_tmp}"`</div><div class='del'>-test_ok(!File.exist?(while_tmp))</div><div class='del'>-</div><div class='del'>-i = 0</div><div class='del'>-until i&gt;4</div><div class='del'>-  i+=1</div><div class='del'>-end</div><div class='del'>-test_ok(i&gt;4)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# exception handling</div><div class='del'>-test_check "exception";</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  raise "this must be handled"</div><div class='del'>-  test_ok(false)</div><div class='del'>-rescue</div><div class='del'>-  test_ok(true)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-$bad = true</div><div class='del'>-begin</div><div class='del'>-  raise "this must be handled no.2"</div><div class='del'>-rescue</div><div class='del'>-  if $bad</div><div class='del'>-    $bad = false</div><div class='del'>-    retry</div><div class='del'>-    test_ok(false)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(true)</div><div class='del'>-</div><div class='del'>-# exception in rescue clause</div><div class='del'>-$string = "this must be handled no.3"</div><div class='del'>-begin</div><div class='del'>-  begin</div><div class='del'>-    raise "exception in rescue clause"</div><div class='del'>-  rescue</div><div class='del'>-    raise $string</div><div class='del'>-  end</div><div class='del'>-  test_ok(false)</div><div class='del'>-rescue =&gt; e</div><div class='del'>-  test_ok($! == e)</div><div class='del'>-  test_ok(e.message == $string)</div><div class='del'>-  test_ok(e != $string)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# exception in ensure clause</div><div class='del'>-begin</div><div class='del'>-  begin</div><div class='del'>-    raise "this must be handled no.4"</div><div class='del'>-  ensure</div><div class='del'>-    raise "exception in ensure clause"</div><div class='del'>-  end</div><div class='del'>-  test_ok(false)</div><div class='del'>-rescue</div><div class='del'>-  test_ok(true)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-$bad = true</div><div class='del'>-begin</div><div class='del'>-  begin</div><div class='del'>-    raise "this must be handled no.5"</div><div class='del'>-  ensure</div><div class='del'>-    $bad = false</div><div class='del'>-  end</div><div class='del'>-rescue</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-$bad = true</div><div class='del'>-begin</div><div class='del'>-  begin</div><div class='del'>-    raise "this must be handled no.6"</div><div class='del'>-  ensure</div><div class='del'>-    $bad = false</div><div class='del'>-  end</div><div class='del'>-rescue</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-$bad = true</div><div class='del'>-while true</div><div class='del'>-  begin</div><div class='del'>-    break</div><div class='del'>-  ensure</div><div class='del'>-    $bad = false</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-test_ok(catch(:foo) {</div><div class='del'>-     loop do</div><div class='del'>-       loop do</div><div class='del'>-	 throw :foo, true</div><div class='del'>-	 break</div><div class='del'>-       end</div><div class='del'>-       break</div><div class='del'>-       test_ok(false)			# should not reach here</div><div class='del'>-     end</div><div class='del'>-     false</div><div class='del'>-   })</div><div class='del'>-</div><div class='del'>-test_check "array"</div><div class='del'>-test_ok([1, 2] + [3, 4] == [1, 2, 3, 4])</div><div class='del'>-test_ok([1, 2] * 2 == [1, 2, 1, 2])</div><div class='del'>-test_ok([1, 2] * ":" == "1:2")</div><div class='del'>-</div><div class='del'>-test_ok([1, 2].hash == [1, 2].hash)</div><div class='del'>-</div><div class='del'>-test_ok([1,2,3] &amp; [2,3,4] == [2,3])</div><div class='del'>-test_ok([1,2,3] | [2,3,4] == [1,2,3,4])</div><div class='del'>-test_ok([1,2,3] - [2,3] == [1])</div><div class='del'>-</div><div class='del'>-$x = [0, 1, 2, 3, 4, 5]</div><div class='del'>-test_ok($x[2] == 2)</div><div class='del'>-test_ok($x[1..3] == [1, 2, 3])</div><div class='del'>-test_ok($x[1,3] == [1, 2, 3])</div><div class='del'>-</div><div class='del'>-$x[0, 2] = 10</div><div class='del'>-test_ok($x[0] == 10 &amp;&amp; $x[1] == 2)</div><div class='del'>-</div><div class='del'>-$x[0, 0] = -1</div><div class='del'>-test_ok($x[0] == -1 &amp;&amp; $x[1] == 10)</div><div class='del'>-</div><div class='del'>-$x[-1, 1] = 20</div><div class='del'>-test_ok($x[-1] == 20 &amp;&amp; $x.pop == 20)</div><div class='del'>-</div><div class='del'>-# array and/or</div><div class='del'>-test_ok(([1,2,3]&amp;[2,4,6]) == [2])</div><div class='del'>-test_ok(([1,2,3]|[2,4,6]) == [1,2,3,4,6])</div><div class='del'>-</div><div class='del'>-# compact</div><div class='del'>-$x = [nil, 1, nil, nil, 5, nil, nil]</div><div class='del'>-$x.compact!</div><div class='del'>-test_ok($x == [1, 5])</div><div class='del'>-</div><div class='del'>-# uniq</div><div class='del'>-$x = [1, 1, 4, 2, 5, 4, 5, 1, 2]</div><div class='del'>-$x.uniq!</div><div class='del'>-test_ok($x == [1, 4, 2, 5])</div><div class='del'>-</div><div class='del'>-# empty?</div><div class='del'>-test_ok(!$x.empty?)</div><div class='del'>-$x = []</div><div class='del'>-test_ok($x.empty?)</div><div class='del'>-</div><div class='del'>-# sort</div><div class='del'>-$x = ["it", "came", "to", "pass", "that", "..."]</div><div class='del'>-$x = $x.sort.join(" ")</div><div class='del'>-test_ok($x == "... came it pass that to")</div><div class='del'>-$x = [2,5,3,1,7]</div><div class='del'>-$x.sort!{|a,b| a&lt;=&gt;b}		# sort with condition</div><div class='del'>-test_ok($x == [1,2,3,5,7])</div><div class='del'>-$x.sort!{|a,b| b-a}		# reverse sort</div><div class='del'>-test_ok($x == [7,5,3,2,1])</div><div class='del'>-</div><div class='del'>-# split test</div><div class='del'>-$x = "The Book of Mormon"</div><div class='del'>-test_ok($x.split(//).reverse!.join == $x.reverse)</div><div class='del'>-test_ok($x.reverse == $x.reverse!)</div><div class='del'>-test_ok("1 byte string".split(//).reverse.join(":") == "g:n:i:r:t:s: :e:t:y:b: :1")</div><div class='del'>-$x = "a b c  d"</div><div class='del'>-test_ok($x.split == ['a', 'b', 'c', 'd'])</div><div class='del'>-test_ok($x.split(' ') == ['a', 'b', 'c', 'd'])</div><div class='del'>-test_ok(defined? "a".chomp)</div><div class='del'>-test_ok("abc".scan(/./) == ["a", "b", "c"])</div><div class='del'>-test_ok("1a2b3c".scan(/(\d.)/) == [["1a"], ["2b"], ["3c"]])</div><div class='del'>-# non-greedy match</div><div class='del'>-test_ok("a=12;b=22".scan(/(.*?)=(\d*);?/) == [["a", "12"], ["b", "22"]])</div><div class='del'>-</div><div class='del'>-$x = [1]</div><div class='del'>-test_ok(($x * 5).join(":") == '1:1:1:1:1')</div><div class='del'>-test_ok(($x * 1).join(":") == '1')</div><div class='del'>-test_ok(($x * 0).join(":") == '')</div><div class='del'>-</div><div class='del'>-*$x = *(1..7).to_a</div><div class='del'>-test_ok($x.size == 7)</div><div class='del'>-test_ok($x == [1, 2, 3, 4, 5, 6, 7])</div><div class='del'>-</div><div class='del'>-$x = [1,2,3]</div><div class='del'>-$x[1,0] = $x</div><div class='del'>-test_ok($x == [1,1,2,3,2,3])</div><div class='del'>-</div><div class='del'>-$x = [1,2,3]</div><div class='del'>-$x[-1,0] = $x</div><div class='del'>-test_ok($x == [1,2,1,2,3,3])</div><div class='del'>-</div><div class='del'>-$x = [1,2,3]</div><div class='del'>-$x.concat($x)</div><div class='del'>-test_ok($x == [1,2,3,1,2,3])</div><div class='del'>-</div><div class='del'>-test_check "hash"</div><div class='del'>-$x = {1=&gt;2, 2=&gt;4, 3=&gt;6}</div><div class='del'>-</div><div class='del'>-test_ok($x[1] == 2)</div><div class='del'>-</div><div class='del'>-test_ok(begin</div><div class='del'>-     for k,v in $x</div><div class='del'>-       raise if k*2 != v</div><div class='del'>-     end</div><div class='del'>-     true</div><div class='del'>-   rescue</div><div class='del'>-     false</div><div class='del'>-   end)</div><div class='del'>-</div><div class='del'>-test_ok($x.length == 3)</div><div class='del'>-test_ok($x.has_key?(1))</div><div class='del'>-test_ok($x.has_value?(4))</div><div class='del'>-test_ok($x.values_at(2,3) == [4,6])</div><div class='del'>-test_ok($x == {1=&gt;2, 2=&gt;4, 3=&gt;6})</div><div class='del'>-</div><div class='del'>-$z = $x.keys.sort.join(":")</div><div class='del'>-test_ok($z == "1:2:3")</div><div class='del'>-</div><div class='del'>-$z = $x.values.sort.join(":")</div><div class='del'>-test_ok($z == "2:4:6")</div><div class='del'>-test_ok($x == $x)</div><div class='del'>-</div><div class='del'>-$x.shift</div><div class='del'>-test_ok($x.length == 2)</div><div class='del'>-</div><div class='del'>-$z = [1,2]</div><div class='del'>-$x[$z] = 256</div><div class='del'>-test_ok($x[$z] == 256)</div><div class='del'>-</div><div class='del'>-$x = Hash.new(0)</div><div class='del'>-$x[1] = 1</div><div class='del'>-test_ok($x[1] == 1)</div><div class='del'>-test_ok($x[2] == 0)</div><div class='del'>-</div><div class='del'>-$x = Hash.new([])</div><div class='del'>-test_ok($x[22] == [])</div><div class='del'>-test_ok($x[22].equal?($x[22]))</div><div class='del'>-</div><div class='del'>-$x = Hash.new{[]}</div><div class='del'>-test_ok($x[22] == [])</div><div class='del'>-test_ok(!$x[22].equal?($x[22]))</div><div class='del'>-</div><div class='del'>-$x = Hash.new{|h,k| $z = k; h[k] = k*2}</div><div class='del'>-$z = 0</div><div class='del'>-test_ok($x[22] == 44)</div><div class='del'>-test_ok($z == 22)</div><div class='del'>-$z = 0</div><div class='del'>-test_ok($x[22] == 44)</div><div class='del'>-test_ok($z == 0)</div><div class='del'>-$x.default = 5</div><div class='del'>-test_ok($x[23] == 5)</div><div class='del'>-</div><div class='del'>-$x = Hash.new</div><div class='del'>-def $x.default(k)</div><div class='del'>-  $z = k</div><div class='del'>-  self[k] = k*2</div><div class='del'>-end</div><div class='del'>-$z = 0</div><div class='del'>-test_ok($x[22] == 44)</div><div class='del'>-test_ok($z == 22)</div><div class='del'>-$z = 0</div><div class='del'>-test_ok($x[22] == 44)</div><div class='del'>-test_ok($z == 0)</div><div class='del'>-</div><div class='del'>-test_check "iterator"</div><div class='del'>-</div><div class='del'>-test_ok(!iterator?)</div><div class='del'>-</div><div class='del'>-def ttt</div><div class='del'>-  test_ok(iterator?)</div><div class='del'>-end</div><div class='del'>-ttt{}</div><div class='del'>-</div><div class='del'>-# yield at top level</div><div class='del'>-test_ok(!defined?(yield))</div><div class='del'>-</div><div class='del'>-$x = [1, 2, 3, 4]</div><div class='del'>-$y = []</div><div class='del'>-</div><div class='del'>-# iterator over array</div><div class='del'>-for i in $x</div><div class='del'>-  $y.push i</div><div class='del'>-end</div><div class='del'>-test_ok($x == $y)</div><div class='del'>-</div><div class='del'>-# nested iterator</div><div class='del'>-def tt</div><div class='del'>-  1.upto(10) {|i|</div><div class='del'>-    yield i</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-i=0</div><div class='del'>-tt{|i| break if i == 5}</div><div class='del'>-test_ok(i == 0)</div><div class='del'>-</div><div class='del'>-def tt2(dummy)</div><div class='del'>-  yield 1</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def tt3(&amp;block)</div><div class='del'>-  tt2(raise(ArgumentError,""),&amp;block)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-$x = false</div><div class='del'>-begin</div><div class='del'>-  tt3{}</div><div class='del'>-rescue ArgumentError</div><div class='del'>-  $x = true</div><div class='del'>-rescue Exception</div><div class='del'>-end</div><div class='del'>-test_ok($x)</div><div class='del'>-</div><div class='del'>-def tt4 &amp;block</div><div class='del'>-  tt2(raise(ArgumentError,""),&amp;block)</div><div class='del'>-end</div><div class='del'>-$x = false</div><div class='del'>-begin</div><div class='del'>-  tt4{}</div><div class='del'>-rescue ArgumentError</div><div class='del'>-  $x = true</div><div class='del'>-rescue Exception</div><div class='del'>-end</div><div class='del'>-test_ok($x)</div><div class='del'>-</div><div class='del'>-# iterator break/redo/next/retry</div><div class='del'>-done = true</div><div class='del'>-loop{</div><div class='del'>-  break</div><div class='del'>-  done = false			# should not reach here</div><div class='del'>-}</div><div class='del'>-test_ok(done)</div><div class='del'>-</div><div class='del'>-done = false</div><div class='del'>-$bad = false</div><div class='del'>-loop {</div><div class='del'>-  break if done</div><div class='del'>-  done = true</div><div class='del'>-  next</div><div class='del'>-  $bad = true			# should not reach here</div><div class='del'>-}</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-done = false</div><div class='del'>-$bad = false</div><div class='del'>-loop {</div><div class='del'>-  break if done</div><div class='del'>-  done = true</div><div class='del'>-  redo</div><div class='del'>-  $bad = true			# should not reach here</div><div class='del'>-}</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-$x = []</div><div class='del'>-for i in 1 .. 7</div><div class='del'>-  $x.push i</div><div class='del'>-end</div><div class='del'>-test_ok($x.size == 7)</div><div class='del'>-test_ok($x == [1, 2, 3, 4, 5, 6, 7])</div><div class='del'>-</div><div class='del'>-# append method to built-in class</div><div class='del'>-class Array</div><div class='del'>-  def iter_test1</div><div class='del'>-    collect{|e| [e, yield(e)]}.sort{|a,b|a[1]&lt;=&gt;b[1]}</div><div class='del'>-  end</div><div class='del'>-  def iter_test2</div><div class='del'>-    a = collect{|e| [e, yield(e)]}</div><div class='del'>-    a.sort{|a,b|a[1]&lt;=&gt;b[1]}</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-$x = [[1,2],[3,4],[5,6]]</div><div class='del'>-test_ok($x.iter_test1{|x|x} == $x.iter_test2{|x|x})</div><div class='del'>-</div><div class='del'>-class IterTest</div><div class='del'>-  def initialize(e); @body = e; end</div><div class='del'>-</div><div class='del'>-  def each0(&amp;block); @body.each(&amp;block); end</div><div class='del'>-  def each1(&amp;block); @body.each {|*x| block.call(*x) } end</div><div class='del'>-  def each2(&amp;block); @body.each {|*x| block.call(x) } end</div><div class='del'>-  def each3(&amp;block); @body.each {|x| block.call(*x) } end</div><div class='del'>-  def each4(&amp;block); @body.each {|x| block.call(x) } end</div><div class='del'>-  def each5; @body.each {|*x| yield(*x) } end</div><div class='del'>-  def each6; @body.each {|*x| yield(x) } end</div><div class='del'>-  def each7; @body.each {|x| yield(*x) } end</div><div class='del'>-  def each8; @body.each {|x| yield(x) } end</div><div class='del'>-</div><div class='del'>-  def f(a)</div><div class='del'>-    a</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(IterTest.new(nil).method(:f).to_proc.call([1]) == [1])</div><div class='del'>-m = /\w+/.match("abc")</div><div class='del'>-test_ok(IterTest.new(nil).method(:f).to_proc.call([m]) == [m])</div><div class='del'>-</div><div class='del'>-IterTest.new([0]).each0 {|x| test_ok(x == 0)}</div><div class='del'>-IterTest.new([1]).each1 {|x| test_ok(x == 1)}</div><div class='del'>-IterTest.new([2]).each2 {|x| test_ok(x == [2])}</div><div class='del'>-#IterTest.new([3]).each3 {|x| test_ok(x == 3)}</div><div class='del'>-IterTest.new([4]).each4 {|x| test_ok(x == 4)}</div><div class='del'>-IterTest.new([5]).each5 {|x| test_ok(x == 5)}</div><div class='del'>-IterTest.new([6]).each6 {|x| test_ok(x == [6])}</div><div class='del'>-#IterTest.new([7]).each7 {|x| test_ok(x == 7)}</div><div class='del'>-IterTest.new([8]).each8 {|x| test_ok(x == 8)}</div><div class='del'>-</div><div class='del'>-IterTest.new([[0]]).each0 {|x| test_ok(x == [0])}</div><div class='del'>-IterTest.new([[1]]).each1 {|x| test_ok(x == [1])}</div><div class='del'>-IterTest.new([[2]]).each2 {|x| test_ok(x == [[2]])}</div><div class='del'>-IterTest.new([[3]]).each3 {|x| test_ok(x == 3)}</div><div class='del'>-IterTest.new([[4]]).each4 {|x| test_ok(x == [4])}</div><div class='del'>-IterTest.new([[5]]).each5 {|x| test_ok(x == [5])}</div><div class='del'>-IterTest.new([[6]]).each6 {|x| test_ok(x == [[6]])}</div><div class='del'>-IterTest.new([[7]]).each7 {|x| test_ok(x == 7)}</div><div class='del'>-IterTest.new([[8]]).each8 {|x| test_ok(x == [8])}</div><div class='del'>-</div><div class='del'>-IterTest.new([[0,0]]).each0 {|*x| test_ok(x == [[0,0]])}</div><div class='del'>-IterTest.new([[8,8]]).each8 {|*x| test_ok(x == [[8,8]])}</div><div class='del'>-</div><div class='del'>-def m0(v)</div><div class='del'>-  v</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def m1</div><div class='del'>-  m0(block_given?)</div><div class='del'>-end</div><div class='del'>-test_ok(m1{p 'test'})</div><div class='del'>-test_ok(!m1)</div><div class='del'>-</div><div class='del'>-def m</div><div class='del'>-  m0(block_given?,&amp;Proc.new{})</div><div class='del'>-end</div><div class='del'>-test_ok(m1{p 'test'})</div><div class='del'>-test_ok(!m1)</div><div class='del'>-</div><div class='del'>-class C</div><div class='del'>-  include Enumerable</div><div class='del'>-  def initialize</div><div class='del'>-    @a = [1,2,3]</div><div class='del'>-  end</div><div class='del'>-  def each(&amp;block)</div><div class='del'>-    @a.each(&amp;block)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(C.new.collect{|n| n} == [1,2,3])</div><div class='del'>-</div><div class='del'>-test_ok(Proc == lambda{}.class)</div><div class='del'>-test_ok(Proc == Proc.new{}.class)</div><div class='del'>-lambda{|a|test_ok(a==1)}.call(1)</div><div class='del'>-def block_test(klass, &amp;block)</div><div class='del'>-  test_ok(klass === block)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-block_test(NilClass)</div><div class='del'>-block_test(Proc){}</div><div class='del'>-</div><div class='del'>-def call_argument_test(state, proc, *args)</div><div class='del'>-  x = state</div><div class='del'>-  begin</div><div class='del'>-    proc.call(*args)</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-    x = !x</div><div class='del'>-  end</div><div class='del'>-  test_ok(x,2)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-call_argument_test(true, lambda{||})</div><div class='del'>-call_argument_test(false, lambda{||}, 1)</div><div class='del'>-call_argument_test(true, lambda{|a,|}, 1)</div><div class='del'>-call_argument_test(false, lambda{|a,|})</div><div class='del'>-call_argument_test(false, lambda{|a,|}, 1,2)</div><div class='del'>-</div><div class='del'>-call_argument_test(true, Proc.new{||})</div><div class='del'>-call_argument_test(true, Proc.new{||}, 1)</div><div class='del'>-call_argument_test(true, Proc.new{|a,|}, 1)</div><div class='del'>-call_argument_test(true, Proc.new{|a,|})</div><div class='del'>-call_argument_test(true, Proc.new{|a,|}, 1,2)</div><div class='del'>-</div><div class='del'>-def block_get(&amp;block)</div><div class='del'>-  block</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(Proc == block_get{}.class)</div><div class='del'>-call_argument_test(true, block_get{||})</div><div class='del'>-call_argument_test(true, block_get{||}, 1)</div><div class='del'>-call_argument_test(true, block_get{|a,|}, 1)</div><div class='del'>-call_argument_test(true, block_get{|a,|})</div><div class='del'>-call_argument_test(true, block_get{|a,|}, 1,2)</div><div class='del'>-</div><div class='del'>-call_argument_test(true, block_get(&amp;lambda{||}))</div><div class='del'>-call_argument_test(false, block_get(&amp;lambda{||}),1)</div><div class='del'>-call_argument_test(true, block_get(&amp;lambda{|a,|}),1)</div><div class='del'>-call_argument_test(false, block_get(&amp;lambda{|a,|}),1,2)</div><div class='del'>-</div><div class='del'>-blk = block_get{11}</div><div class='del'>-test_ok(blk.class == Proc)</div><div class='del'>-test_ok(blk.to_proc.class == Proc)</div><div class='del'>-test_ok(blk.clone.call == 11)</div><div class='del'>-test_ok(block_get(&amp;blk).class == Proc)</div><div class='del'>-</div><div class='del'>-lmd = lambda{44}</div><div class='del'>-test_ok(lmd.class == Proc)</div><div class='del'>-test_ok(lmd.to_proc.class == Proc)</div><div class='del'>-test_ok(lmd.clone.call == 44)</div><div class='del'>-test_ok(block_get(&amp;lmd).class == Proc)</div><div class='del'>-</div><div class='del'>-test_ok(Proc.new{|a,| a}.yield(1,2,3) == 1)</div><div class='del'>-call_argument_test(true, Proc.new{|a,|}, 1,2)</div><div class='del'>-</div><div class='del'>-test_ok(Proc.new{|&amp;b| b.call(10)}.call {|x| x} == 10)</div><div class='del'>-test_ok(Proc.new{|a,&amp;b| b.call(a)}.call(12) {|x| x} == 12)</div><div class='del'>-</div><div class='del'>-def test_return1</div><div class='del'>-  Proc.new {</div><div class='del'>-    return 55</div><div class='del'>-  }.yield + 5</div><div class='del'>-end</div><div class='del'>-test_ok(test_return1() == 55)</div><div class='del'>-def test_return2</div><div class='del'>-  lambda {</div><div class='del'>-    return 55</div><div class='del'>-  }.call + 5</div><div class='del'>-end</div><div class='del'>-test_ok(test_return2() == 60)</div><div class='del'>-</div><div class='del'>-def proc_call(&amp;b)</div><div class='del'>-  b.call</div><div class='del'>-end</div><div class='del'>-def proc_yield()</div><div class='del'>-  yield</div><div class='del'>-end</div><div class='del'>-def proc_return1</div><div class='del'>-  lambda{return 42}.call+1</div><div class='del'>-end</div><div class='del'>-test_ok(proc_return1() == 43)</div><div class='del'>-def proc_return2</div><div class='del'>-  -&gt;{return 42}.call+1</div><div class='del'>-end</div><div class='del'>-test_ok(proc_return2() == 43)</div><div class='del'>-def proc_return3</div><div class='del'>-  proc_call{return 42}+1</div><div class='del'>-end</div><div class='del'>-test_ok(proc_return3() == 42)</div><div class='del'>-def proc_return4</div><div class='del'>-  proc_yield{return 42}+1</div><div class='del'>-end</div><div class='del'>-test_ok(proc_return4() == 42)</div><div class='del'>-</div><div class='del'>-def ljump_test(state, proc, *args)</div><div class='del'>-  x = state</div><div class='del'>-  begin</div><div class='del'>-    proc.call(*args)</div><div class='del'>-  rescue LocalJumpError</div><div class='del'>-    x = !x</div><div class='del'>-  end</div><div class='del'>-  test_ok(x,2)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ljump_test(false, block_get{break})</div><div class='del'>-ljump_test(true, lambda{break})</div><div class='del'>-</div><div class='del'>-def exit_value_test(&amp;block)</div><div class='del'>-  block.call</div><div class='del'>-rescue LocalJumpError</div><div class='del'>-  $!.exit_value</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(45 == exit_value_test{break 45})</div><div class='del'>-</div><div class='del'>-test_ok(55 == begin</div><div class='del'>-              block_get{break 55}.call</div><div class='del'>-            rescue LocalJumpError</div><div class='del'>-              $!.exit_value</div><div class='del'>-            end)</div><div class='del'>-</div><div class='del'>-def block_call(&amp;block)</div><div class='del'>-  block.call</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_b1</div><div class='del'>-  block_call{break 11}</div><div class='del'>-end</div><div class='del'>-test_ok(test_b1() == 11)</div><div class='del'>-</div><div class='del'>-def ljump_rescue(r)</div><div class='del'>-  begin</div><div class='del'>-    yield</div><div class='del'>-  rescue LocalJumpError =&gt; e</div><div class='del'>-    r if /from proc-closure/ =~ e.message</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_b2</div><div class='del'>-  ljump_rescue(22) do</div><div class='del'>-    block_get{break 21}.call</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b2() == 22)</div><div class='del'>-</div><div class='del'>-def test_b3</div><div class='del'>-  ljump_rescue(33) do</div><div class='del'>-    Proc.new{break 31}.yield</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b3() == 33)</div><div class='del'>-</div><div class='del'>-def test_b4</div><div class='del'>-  lambda{break 44}.call</div><div class='del'>-end</div><div class='del'>-test_ok(test_b4() == 44)</div><div class='del'>-</div><div class='del'>-def test_b5</div><div class='del'>-  ljump_rescue(55) do</div><div class='del'>-    b = block_get{break 54}</div><div class='del'>-    block_call(&amp;b)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b5() == 55)</div><div class='del'>-</div><div class='del'>-def test_b6</div><div class='del'>-  b = lambda{break 67}</div><div class='del'>-  block_call(&amp;b)</div><div class='del'>-  66</div><div class='del'>-end</div><div class='del'>-test_ok(test_b6() == 66)</div><div class='del'>-</div><div class='del'>-def util_r7</div><div class='del'>-  block_get{break 78}</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_b7</div><div class='del'>-  b = util_r7()</div><div class='del'>-  ljump_rescue(77) do</div><div class='del'>-    block_call(&amp;b)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b7() == 77)</div><div class='del'>-</div><div class='del'>-def util_b8(&amp;block)</div><div class='del'>-  block_call(&amp;block)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_b8</div><div class='del'>-  util_b8{break 88}</div><div class='del'>-end</div><div class='del'>-test_ok(test_b8() == 88)</div><div class='del'>-</div><div class='del'>-def util_b9(&amp;block)</div><div class='del'>-  lambda{block.call; 98}.call</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_b9</div><div class='del'>-  util_b9{break 99}</div><div class='del'>-end</div><div class='del'>-test_ok(test_b9() == 99)</div><div class='del'>-</div><div class='del'>-def util_b10</div><div class='del'>-  util_b9{break 100}</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def test_b10</div><div class='del'>-  util_b10()</div><div class='del'>-end</div><div class='del'>-test_ok(test_b10() == 100)</div><div class='del'>-</div><div class='del'>-def test_b11</div><div class='del'>-  ljump_rescue(111) do</div><div class='del'>-    loop do</div><div class='del'>-      Proc.new{break 110}.yield</div><div class='del'>-      break 112</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b11() == 111)</div><div class='del'>-</div><div class='del'>-def test_b12</div><div class='del'>-  loop do</div><div class='del'>-    break lambda{break 122}.call</div><div class='del'>-    break 121</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b12() == 122)</div><div class='del'>-</div><div class='del'>-def test_b13</div><div class='del'>-  ljump_rescue(133) do</div><div class='del'>-    while true</div><div class='del'>-      Proc.new{break 130}.yield</div><div class='del'>-      break 131</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b13() == 133)</div><div class='del'>-</div><div class='del'>-def test_b14</div><div class='del'>-  while true</div><div class='del'>-    break lambda{break 144}.call</div><div class='del'>-    break 143</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok(test_b14() == 144)</div><div class='del'>-</div><div class='del'>-def test_b15</div><div class='del'>-  [0].each {|c| yield 1 }</div><div class='del'>-  156</div><div class='del'>-end</div><div class='del'>-test_ok(test_b15{|e| break 155 } == 155)</div><div class='del'>-</div><div class='del'>-def marity_test(m)</div><div class='del'>-  method = method(m)</div><div class='del'>-  test_ok(method.arity == method.to_proc.arity, 2)</div><div class='del'>-end</div><div class='del'>-marity_test(:test_ok)</div><div class='del'>-marity_test(:marity_test)</div><div class='del'>-marity_test(:p)</div><div class='del'>-</div><div class='del'>-lambda(&amp;method(:test_ok)).call(true)</div><div class='del'>-lambda(&amp;block_get{|a,n| test_ok(a,n)}).call(true, 2)</div><div class='del'>-</div><div class='del'>-class ITER_TEST1</div><div class='del'>-   def a</div><div class='del'>-     block_given?</div><div class='del'>-   end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class ITER_TEST2 &lt; ITER_TEST1</div><div class='del'>-   def a</div><div class='del'>-     test_ok(super)</div><div class='del'>-     super</div><div class='del'>-   end</div><div class='del'>-end</div><div class='del'>-test_ok(ITER_TEST2.new.a {})</div><div class='del'>-</div><div class='del'>-class ITER_TEST3</div><div class='del'>-  def foo x</div><div class='del'>-    return yield if block_given?</div><div class='del'>-    x</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class ITER_TEST4 &lt; ITER_TEST3</div><div class='del'>-  def foo x</div><div class='del'>-    test_ok(super == yield)</div><div class='del'>-    test_ok(super(x, &amp;nil) == x)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ITER_TEST4.new.foo(44){55}</div><div class='del'>-</div><div class='del'>-class ITER_TEST5</div><div class='del'>-   def tt(aa)</div><div class='del'>-     aa</div><div class='del'>-   end</div><div class='del'>-</div><div class='del'>-   def uu(a)</div><div class='del'>-      class &lt;&lt; self</div><div class='del'>-         define_method(:tt) do |sym|</div><div class='del'>-            super(sym)</div><div class='del'>-         end</div><div class='del'>-      end</div><div class='del'>-   end</div><div class='del'>-</div><div class='del'>-   def xx(*x)</div><div class='del'>-     x.size</div><div class='del'>-   end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-a = ITER_TEST5.new</div><div class='del'>-a.uu(12)</div><div class='del'>-test_ok(a.tt(1) == 1)</div><div class='del'>-</div><div class='del'>-class ITER_TEST6 &lt; ITER_TEST5</div><div class='del'>-   def xx(*a)</div><div class='del'>-      a &lt;&lt; 12</div><div class='del'>-      super</div><div class='del'>-   end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(ITER_TEST6.new.xx([24]) == 2)</div><div class='del'>-</div><div class='del'>-test_check "float"</div><div class='del'>-test_ok(2.6.floor == 2)</div><div class='del'>-test_ok((-2.6).floor == -3)</div><div class='del'>-test_ok(2.6.ceil == 3)</div><div class='del'>-test_ok((-2.6).ceil == -2)</div><div class='del'>-test_ok(2.6.truncate == 2)</div><div class='del'>-test_ok((-2.6).truncate == -2)</div><div class='del'>-test_ok(2.6.round == 3)</div><div class='del'>-test_ok((-2.4).truncate == -2)</div><div class='del'>-test_ok((13.4 % 1 - 0.4).abs &lt; 0.0001)</div><div class='del'>-nan = 0.0/0</div><div class='del'>-def nan_test(x,y)</div><div class='del'>-  test_ok(x != y)</div><div class='del'>-  test_ok((x &lt; y) == false)</div><div class='del'>-  test_ok((x &gt; y) == false)</div><div class='del'>-  test_ok((x &lt;= y) == false)</div><div class='del'>-  test_ok((x &gt;= y) == false)</div><div class='del'>-end</div><div class='del'>-nan_test(nan, nan)</div><div class='del'>-nan_test(nan, 0)</div><div class='del'>-nan_test(nan, 1)</div><div class='del'>-nan_test(nan, -1)</div><div class='del'>-nan_test(nan, 1000)</div><div class='del'>-nan_test(nan, -1000)</div><div class='del'>-nan_test(nan, 1_000_000_000_000)</div><div class='del'>-nan_test(nan, -1_000_000_000_000)</div><div class='del'>-nan_test(nan, 100.0);</div><div class='del'>-nan_test(nan, -100.0);</div><div class='del'>-nan_test(nan, 0.001);</div><div class='del'>-nan_test(nan, -0.001);</div><div class='del'>-nan_test(nan, 1.0/0);</div><div class='del'>-nan_test(nan, -1.0/0);</div><div class='del'>-</div><div class='del'>-#s = "3.7517675036461267e+17"</div><div class='del'>-#test_ok(s == sprintf("%.16e", s.to_f))</div><div class='del'>-f = 3.7517675036461267e+17</div><div class='del'>-test_ok(f == sprintf("%.16e", f).to_f)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-test_check "bignum"</div><div class='del'>-def fact(n)</div><div class='del'>-  return 1 if n == 0</div><div class='del'>-  f = 1</div><div class='del'>-  while n&gt;0</div><div class='del'>-    f *= n</div><div class='del'>-    n -= 1</div><div class='del'>-  end</div><div class='del'>-  return f</div><div class='del'>-end</div><div class='del'>-$x = fact(40)</div><div class='del'>-test_ok($x == $x)</div><div class='del'>-test_ok($x == fact(40))</div><div class='del'>-test_ok($x &lt; $x+2)</div><div class='del'>-test_ok($x &gt; $x-2)</div><div class='del'>-test_ok($x == 815915283247897734345611269596115894272000000000)</div><div class='del'>-test_ok($x != 815915283247897734345611269596115894272000000001)</div><div class='del'>-test_ok($x+1 == 815915283247897734345611269596115894272000000001)</div><div class='del'>-test_ok($x/fact(20) == 335367096786357081410764800000)</div><div class='del'>-$x = -$x</div><div class='del'>-test_ok($x == -815915283247897734345611269596115894272000000000)</div><div class='del'>-test_ok(2-(2**32) == -(2**32-2))</div><div class='del'>-test_ok(2**32 - 5 == (2**32-3)-2)</div><div class='del'>-</div><div class='del'>-$good = true;</div><div class='del'>-for i in 1000..1014</div><div class='del'>-  $good = false if ((1 &lt;&lt; i) != (2**i))</div><div class='del'>-end</div><div class='del'>-test_ok($good)</div><div class='del'>-</div><div class='del'>-$good = true;</div><div class='del'>-n1= 1 &lt;&lt; 1000</div><div class='del'>-for i in 1000..1014</div><div class='del'>-  $good = false if ((1 &lt;&lt; i) != n1)</div><div class='del'>-  n1 *= 2</div><div class='del'>-end</div><div class='del'>-test_ok($good)</div><div class='del'>-</div><div class='del'>-$good = true;</div><div class='del'>-n2=n1</div><div class='del'>-for i in 1..10</div><div class='del'>-  n1 = n1 / 2</div><div class='del'>-  n2 = n2 &gt;&gt; 1</div><div class='del'>-  $good = false if (n1 != n2)</div><div class='del'>-end</div><div class='del'>-test_ok($good)</div><div class='del'>-</div><div class='del'>-$good = true;</div><div class='del'>-for i in 4000..4096</div><div class='del'>-  n1 = 1 &lt;&lt; i;</div><div class='del'>-  if (n1**2-1) / (n1+1) != (n1-1)</div><div class='del'>-    $good = false</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-test_ok($good)</div><div class='del'>-</div><div class='del'>-b = 10**80</div><div class='del'>-a = b * 9 + 7</div><div class='del'>-test_ok(7 == a.modulo(b))</div><div class='del'>-test_ok(-b + 7 == a.modulo(-b))</div><div class='del'>-test_ok(b + -7 == (-a).modulo(b))</div><div class='del'>-test_ok(-7 == (-a).modulo(-b))</div><div class='del'>-test_ok(7 == a.remainder(b))</div><div class='del'>-test_ok(7 == a.remainder(-b))</div><div class='del'>-test_ok(-7 == (-a).remainder(b))</div><div class='del'>-test_ok(-7 == (-a).remainder(-b))</div><div class='del'>-</div><div class='del'>-test_ok(10**40+10**20 == 10000000000000000000100000000000000000000)</div><div class='del'>-test_ok(10**40/10**20 == 100000000000000000000)</div><div class='del'>-</div><div class='del'>-a = 677330545177305025495135714080</div><div class='del'>-b = 14269972710765292560</div><div class='del'>-test_ok(a % b == 0)</div><div class='del'>-test_ok(-a % b == 0)</div><div class='del'>-</div><div class='del'>-def shift_test(a)</div><div class='del'>-  b = a / (2 ** 32)</div><div class='del'>-  c = a &gt;&gt; 32</div><div class='del'>-  test_ok(b == c)</div><div class='del'>-</div><div class='del'>-  b = a * (2 ** 32)</div><div class='del'>-  c = a &lt;&lt; 32</div><div class='del'>-  test_ok(b == c)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-shift_test(-4518325415524767873)</div><div class='del'>-shift_test(-0xfffffffffffffffff)</div><div class='del'>-</div><div class='del'>-test_check "string &amp; char"</div><div class='del'>-</div><div class='del'>-test_ok("abcd" == "abcd")</div><div class='del'>-test_ok("abcd" =~ /abcd/)</div><div class='del'>-test_ok("abcd" === "abcd")</div><div class='del'>-# compile time string concatenation</div><div class='del'>-test_ok("ab" "cd" == "abcd")</div><div class='del'>-test_ok("#{22}aa" "cd#{44}" == "22aacd44")</div><div class='del'>-test_ok("#{22}aa" "cd#{44}" "55" "#{66}" == "22aacd445566")</div><div class='del'>-test_ok("abc" !~ /^$/)</div><div class='del'>-test_ok("abc\n" !~ /^$/)</div><div class='del'>-test_ok("abc" !~ /^d*$/)</div><div class='del'>-test_ok(("abc" =~ /d*$/) == 3)</div><div class='del'>-test_ok("" =~ /^$/)</div><div class='del'>-test_ok("\n" =~ /^$/)</div><div class='del'>-test_ok("a\n\n" =~ /^$/)</div><div class='del'>-test_ok("abcabc" =~ /.*a/ &amp;&amp; $&amp; == "abca")</div><div class='del'>-test_ok("abcabc" =~ /.*c/ &amp;&amp; $&amp; == "abcabc")</div><div class='del'>-test_ok("abcabc" =~ /.*?a/ &amp;&amp; $&amp; == "a")</div><div class='del'>-test_ok("abcabc" =~ /.*?c/ &amp;&amp; $&amp; == "abc")</div><div class='del'>-test_ok(/(.|\n)*?\n(b|\n)/ =~ "a\nb\n\n" &amp;&amp; $&amp; == "a\nb")</div><div class='del'>-</div><div class='del'>-test_ok(/^(ab+)+b/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='del'>-test_ok(/^(?:ab+)+b/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='del'>-test_ok(/^(ab+)+/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='del'>-test_ok(/^(?:ab+)+/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='del'>-</div><div class='del'>-test_ok(/(\s+\d+){2}/ =~ " 1 2" &amp;&amp; $&amp; == " 1 2")</div><div class='del'>-test_ok(/(?:\s+\d+){2}/ =~ " 1 2" &amp;&amp; $&amp; == " 1 2")</div><div class='del'>-</div><div class='del'>-$x = &lt;&lt;END;</div><div class='del'>-ABCD</div><div class='del'>-ABCD</div><div class='del'>-END</div><div class='del'>-$x.gsub!(/((.|\n)*?)B((.|\n)*?)D/, '\1\3')</div><div class='del'>-test_ok($x == "AC\nAC\n")</div><div class='del'>-</div><div class='del'>-test_ok("foobar" =~ /foo(?=(bar)|(baz))/)</div><div class='del'>-test_ok("foobaz" =~ /foo(?=(bar)|(baz))/)</div><div class='del'>-</div><div class='del'>-$foo = "abc"</div><div class='del'>-test_ok("#$foo = abc" == "abc = abc")</div><div class='del'>-test_ok("#{$foo} = abc" == "abc = abc")</div><div class='del'>-</div><div class='del'>-foo = "abc"</div><div class='del'>-test_ok("#{foo} = abc" == "abc = abc")</div><div class='del'>-</div><div class='del'>-test_ok('-' * 5 == '-----')</div><div class='del'>-test_ok('-' * 1 == '-')</div><div class='del'>-test_ok('-' * 0 == '')</div><div class='del'>-</div><div class='del'>-foo = '-'</div><div class='del'>-test_ok(foo * 5 == '-----')</div><div class='del'>-test_ok(foo * 1 == '-')</div><div class='del'>-test_ok(foo * 0 == '')</div><div class='del'>-</div><div class='del'>-$x = "a.gif"</div><div class='del'>-test_ok($x.sub(/.*\.([^\.]+)$/, '\1') == "gif")</div><div class='del'>-test_ok($x.sub(/.*\.([^\.]+)$/, 'b.\1') == "b.gif")</div><div class='del'>-test_ok($x.sub(/.*\.([^\.]+)$/, '\2') == "")</div><div class='del'>-test_ok($x.sub(/.*\.([^\.]+)$/, 'a\2b') == "ab")</div><div class='del'>-test_ok($x.sub(/.*\.([^\.]+)$/, '&lt;\&amp;&gt;') == "&lt;a.gif&gt;")</div><div class='del'>-</div><div class='del'>-# character constants(assumes ASCII)</div><div class='del'>-test_ok("a"[0] == ?a)</div><div class='del'>-test_ok(?a == ?a)</div><div class='del'>-test_ok(?\C-a == "\1")</div><div class='del'>-test_ok(?\M-a == "\341")</div><div class='del'>-test_ok(?\M-\C-a == "\201")</div><div class='del'>-test_ok("a".upcase![0] == ?A)</div><div class='del'>-test_ok("A".downcase![0] == ?a)</div><div class='del'>-test_ok("abc".tr!("a-z", "A-Z") == "ABC")</div><div class='del'>-test_ok("aabbcccc".tr_s!("a-z", "A-Z") == "ABC")</div><div class='del'>-test_ok("abcc".squeeze!("a-z") == "abc")</div><div class='del'>-test_ok("abcd".delete!("bc") == "ad")</div><div class='del'>-</div><div class='del'>-$x = "abcdef"</div><div class='del'>-$y = [ ?a, ?b, ?c, ?d, ?e, ?f ]</div><div class='del'>-$bad = false</div><div class='del'>-$x.each_byte {|i|</div><div class='del'>-  if i.chr != $y.shift</div><div class='del'>-    $bad = true</div><div class='del'>-    break</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-s = "a string"</div><div class='del'>-s[0..s.size]="another string"</div><div class='del'>-test_ok(s == "another string")</div><div class='del'>-</div><div class='del'>-s = &lt;&lt;EOS</div><div class='del'>-#{</div><div class='del'>-[1,2,3].join(",")</div><div class='del'>-}</div><div class='del'>-EOS</div><div class='del'>-test_ok(s == "1,2,3\n")</div><div class='del'>-test_ok("Just".to_i(36) == 926381)</div><div class='del'>-test_ok("-another".to_i(36) == -23200231779)</div><div class='del'>-test_ok(1299022.to_s(36) == "ruby")</div><div class='del'>-test_ok(-1045307475.to_s(36) == "-hacker")</div><div class='del'>-test_ok("Just_another_Ruby_hacker".to_i(36) == 265419172580680477752431643787347)</div><div class='del'>-test_ok(-265419172580680477752431643787347.to_s(36) == "-justanotherrubyhacker")</div><div class='del'>-</div><div class='del'>-a = []</div><div class='del'>-(0..255).each {|n|</div><div class='del'>-  ch = [n].pack("C")</div><div class='del'>-  a.push ch if /a#{Regexp.quote ch}b/x =~ "ab"</div><div class='del'>-}</div><div class='del'>-test_ok(a.size == 0)</div><div class='del'>-</div><div class='del'>-test_check "assignment"</div><div class='del'>-a = nil</div><div class='del'>-test_ok(defined?(a))</div><div class='del'>-test_ok(a == nil)</div><div class='del'>-</div><div class='del'>-# multiple asignment</div><div class='del'>-a, b = 1, 2</div><div class='del'>-test_ok(a == 1 &amp;&amp; b == 2)</div><div class='del'>-</div><div class='del'>-a, b = b, a</div><div class='del'>-test_ok(a == 2 &amp;&amp; b == 1)</div><div class='del'>-</div><div class='del'>-a, = 1,2</div><div class='del'>-test_ok(a == 1)</div><div class='del'>-</div><div class='del'>-a, *b = 1, 2, 3</div><div class='del'>-test_ok(a == 1 &amp;&amp; b == [2, 3])</div><div class='del'>-</div><div class='del'>-a, (b, c), d = 1, [2, 3], 4</div><div class='del'>-test_ok(a == 1 &amp;&amp; b == 2 &amp;&amp; c == 3 &amp;&amp; d == 4)</div><div class='del'>-</div><div class='del'>-*a = 1, 2, 3</div><div class='del'>-test_ok(a == [1, 2, 3])</div><div class='del'>-</div><div class='del'>-*a = 4</div><div class='del'>-test_ok(a == [4])</div><div class='del'>-</div><div class='del'>-*a = nil</div><div class='del'>-test_ok(a == [nil])</div><div class='del'>-</div><div class='del'>-test_check "call"</div><div class='del'>-def aaa(a, b=100, *rest)</div><div class='del'>-  res = [a, b]</div><div class='del'>-  res += rest if rest</div><div class='del'>-  return res</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# not enough argument</div><div class='del'>-begin</div><div class='del'>-  aaa()				# need at least 1 arg</div><div class='del'>-  test_ok(false)</div><div class='del'>-rescue</div><div class='del'>-  test_ok(true)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  aaa				# no arg given (exception raised)</div><div class='del'>-  test_ok(false)</div><div class='del'>-rescue</div><div class='del'>-  test_ok(true)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(aaa(1) == [1, 100])</div><div class='del'>-test_ok(aaa(1, 2) == [1, 2])</div><div class='del'>-test_ok(aaa(1, 2, 3, 4) == [1, 2, 3, 4])</div><div class='del'>-test_ok(aaa(1, *[2, 3, 4]) == [1, 2, 3, 4])</div><div class='del'>-</div><div class='del'>-test_check "proc"</div><div class='del'>-$proc = Proc.new{|i| i}</div><div class='del'>-test_ok($proc.call(2) == 2)</div><div class='del'>-test_ok($proc.call(3) == 3)</div><div class='del'>-</div><div class='del'>-$proc = Proc.new{|i| i*2}</div><div class='del'>-test_ok($proc.call(2) == 4)</div><div class='del'>-test_ok($proc.call(3) == 6)</div><div class='del'>-</div><div class='del'>-Proc.new{</div><div class='del'>-  iii=5				# nested local variable</div><div class='del'>-  $proc = Proc.new{|i|</div><div class='del'>-    iii = i</div><div class='del'>-  }</div><div class='del'>-  $proc2 = Proc.new {</div><div class='del'>-    $x = iii			# nested variables shared by procs</div><div class='del'>-  }</div><div class='del'>-  # scope of nested variables</div><div class='del'>-  test_ok(defined?(iii))</div><div class='del'>-}.call</div><div class='del'>-test_ok(!defined?(iii))		# out of scope</div><div class='del'>-</div><div class='del'>-loop{iii=5; test_ok(eval("defined? iii")); break}</div><div class='del'>-loop {</div><div class='del'>-  iii = 10</div><div class='del'>-  def dyna_var_check</div><div class='del'>-    loop {</div><div class='del'>-      test_ok(!defined?(iii))</div><div class='del'>-      break</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-  dyna_var_check</div><div class='del'>-  break</div><div class='del'>-}</div><div class='del'>-$x=0</div><div class='del'>-$proc.call(5)</div><div class='del'>-$proc2.call</div><div class='del'>-test_ok($x == 5)</div><div class='del'>-</div><div class='del'>-if defined? Process.kill</div><div class='del'>-  test_check "signal"</div><div class='del'>-</div><div class='del'>-  $x = 0</div><div class='del'>-  trap "SIGINT", Proc.new{|sig| $x = 2}</div><div class='del'>-  Process.kill "SIGINT", $$</div><div class='del'>-  100.times {</div><div class='del'>-    sleep 0.1</div><div class='del'>-    break if $x != 0</div><div class='del'>-  }</div><div class='del'>-  test_ok($x == 2)</div><div class='del'>-</div><div class='del'>-  trap "SIGINT", Proc.new{raise "Interrupt"}</div><div class='del'>-</div><div class='del'>-  x = false</div><div class='del'>-  begin</div><div class='del'>-    Process.kill "SIGINT", $$</div><div class='del'>-    sleep 0.1</div><div class='del'>-  rescue</div><div class='del'>-    x = $!</div><div class='del'>-  end</div><div class='del'>-  test_ok(x &amp;&amp; /Interrupt/ =~ x.message)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_check "eval"</div><div class='del'>-test_ok(eval("") == nil)</div><div class='del'>-$bad=false</div><div class='del'>-eval 'while false; $bad = true; print "foo\n" end'</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-test_ok(eval('Object'))</div><div class='del'>-test_ok(eval('true'))</div><div class='del'>-test_ok(!eval('nil'))</div><div class='del'>-test_ok(!eval('false'))</div><div class='del'>-</div><div class='del'>-$foo = 'test_ok(true)'</div><div class='del'>-begin</div><div class='del'>-  eval $foo</div><div class='del'>-rescue</div><div class='del'>-  test_ok(false)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(eval("$foo") == 'test_ok(true)')</div><div class='del'>-test_ok(eval("true") == true)</div><div class='del'>-i = 5</div><div class='del'>-test_ok(eval("i == 5"))</div><div class='del'>-test_ok(eval("i") == 5)</div><div class='del'>-test_ok(eval("defined? i"))</div><div class='del'>-</div><div class='del'>-# eval with binding</div><div class='del'>-def test_ev</div><div class='del'>-  local1 = "local1"</div><div class='del'>-  lambda {</div><div class='del'>-    local2 = "local2"</div><div class='del'>-    return binding</div><div class='del'>-  }.call</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-$x = test_ev</div><div class='del'>-test_ok(eval("local1", $x) == "local1") # normal local var</div><div class='del'>-test_ok(eval("local2", $x) == "local2") # nested local var</div><div class='del'>-$bad = true</div><div class='del'>-begin</div><div class='del'>-  p eval("local1")</div><div class='del'>-rescue NameError		# must raise error</div><div class='del'>-  $bad = false</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-module EvTest</div><div class='del'>-  EVTEST1 = 25</div><div class='del'>-  evtest2 = 125</div><div class='del'>-  $x = binding</div><div class='del'>-end</div><div class='del'>-test_ok(eval("EVTEST1", $x) == 25)	# constant in module</div><div class='del'>-test_ok(eval("evtest2", $x) == 125)	# local var in module</div><div class='del'>-$bad = true</div><div class='del'>-begin</div><div class='del'>-  eval("EVTEST1")</div><div class='del'>-rescue NameError		# must raise error</div><div class='del'>-  $bad = false</div><div class='del'>-end</div><div class='del'>-test_ok(!$bad)</div><div class='del'>-</div><div class='del'>-x = binding #! YARV Limitation: Proc.new{}</div><div class='del'>-eval "i4 = 1", x</div><div class='del'>-test_ok(eval("i4", x) == 1)</div><div class='del'>-x = Proc.new{binding}.call #! YARV Limitation: Proc.new{Proc.new{}}.call</div><div class='del'>-eval "i4 = 22", x</div><div class='del'>-test_ok(eval("i4", x) == 22)</div><div class='del'>-$x = []</div><div class='del'>-x = Proc.new{binding}.call #! YARV Limitation: Proc.new{Proc.new{}}.call</div><div class='del'>-eval "(0..9).each{|i5| $x[i5] = Proc.new{i5*2}}", x</div><div class='del'>-test_ok($x[4].call == 8)</div><div class='del'>-</div><div class='del'>-x = binding</div><div class='del'>-eval "i = 1", x</div><div class='del'>-test_ok(eval("i", x) == 1)</div><div class='del'>-x = Proc.new{binding}.call</div><div class='del'>-eval "i = 22", x</div><div class='del'>-test_ok(eval("i", x) == 22)</div><div class='del'>-$x = []</div><div class='del'>-x = Proc.new{binding}.call</div><div class='del'>-eval "(0..9).each{|i5| $x[i5] = Proc.new{i5*2}}", x</div><div class='del'>-test_ok($x[4].call == 8)</div><div class='del'>-x = Proc.new{binding}.call</div><div class='del'>-eval "for i6 in 1..1; j6=i6; end", x</div><div class='del'>-test_ok(eval("defined? i6", x))</div><div class='del'>-test_ok(eval("defined? j6", x))</div><div class='del'>-</div><div class='del'>-Proc.new {</div><div class='del'>-  p = binding</div><div class='del'>-  eval "foo11 = 1", p</div><div class='del'>-  foo22 = 5</div><div class='del'>-  Proc.new{foo11=22}.call</div><div class='del'>-  Proc.new{foo22=55}.call</div><div class='del'>-  test_ok(eval("foo11", p) == eval("foo11"))</div><div class='del'>-  test_ok(eval("foo11") == 1)</div><div class='del'>-  test_ok(eval("foo22", p) == eval("foo22"))</div><div class='del'>-  test_ok(eval("foo22") == 55)</div><div class='del'>-}.call if false #! YARV Limitation</div><div class='del'>-</div><div class='del'>-#! YARV Limitation: p1 = Proc.new{i7 = 0; Proc.new{i7}}.call</div><div class='del'>-p1 = Proc.new{i7 = 0; binding}.call</div><div class='del'>-#! YARV Limitation: test_ok(p1.call == 0)</div><div class='del'>-eval "i7=5", p1</div><div class='del'>-#! YARV Limitation: test_ok(p1.call == 5)</div><div class='del'>-test_ok(!defined?(i7))</div><div class='del'>-</div><div class='del'>-if false #! YARV Limitation</div><div class='del'>-p1 = Proc.new{i7 = 0; Proc.new{i7}}.call</div><div class='del'>-i7 = nil</div><div class='del'>-test_ok(p1.call == 0)</div><div class='del'>-eval "i7=1", p1</div><div class='del'>-test_ok(p1.call == 1)</div><div class='del'>-eval "i7=5", p1</div><div class='del'>-test_ok(p1.call == 5)</div><div class='del'>-test_ok(i7 == nil)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_check "system"</div><div class='del'>-test_ok(`echo foobar` == "foobar\n")</div><div class='del'>-test_ok(`./miniruby -e 'print "foobar"'` == 'foobar')</div><div class='del'>-</div><div class='del'>-script_tmp = "script_tmp.#{$$}"</div><div class='del'>-tmp = open(script_tmp, "w")</div><div class='del'>-tmp.print "print $zzz\n";</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-test_ok(`./miniruby -s #{script_tmp} -zzz` == 'true')</div><div class='del'>-test_ok(`./miniruby -s #{script_tmp} -zzz=555` == '555')</div><div class='del'>-</div><div class='del'>-tmp = open(script_tmp, "w")</div><div class='del'>-tmp.print "#! /usr/local/bin/ruby -s\n";</div><div class='del'>-tmp.print "print $zzz\n";</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-test_ok(`./miniruby #{script_tmp} -zzz=678` == '678')</div><div class='del'>-</div><div class='del'>-tmp = open(script_tmp, "w")</div><div class='del'>-tmp.print "this is a leading junk\n";</div><div class='del'>-tmp.print "#! /usr/local/bin/ruby -s\n";</div><div class='del'>-tmp.print "print $zzz\n";</div><div class='del'>-tmp.print "__END__\n";</div><div class='del'>-tmp.print "this is a trailing junk\n";</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-test_ok(`./miniruby -x #{script_tmp}` == '')</div><div class='del'>-test_ok(`./miniruby -x #{script_tmp} -zzz=555` == '555')</div><div class='del'>-</div><div class='del'>-tmp = open(script_tmp, "w")</div><div class='del'>-for i in 1..5</div><div class='del'>-  tmp.print i, "\n"</div><div class='del'>-end</div><div class='del'>-tmp.close</div><div class='del'>-</div><div class='del'>-`./miniruby -i.bak -pe '$_.sub!(/^[0-9]+$/){$&amp;.to_i * 5}' #{script_tmp}`</div><div class='del'>-done = true</div><div class='del'>-tmp = open(script_tmp, "r")</div><div class='del'>-while tmp.gets</div><div class='del'>-  if $_.to_i % 5 != 0</div><div class='del'>-    done = false</div><div class='del'>-    break</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-tmp.close</div><div class='del'>-test_ok(done)</div><div class='del'>-</div><div class='del'>-File.unlink script_tmp or `/bin/rm -f "#{script_tmp}"`</div><div class='del'>-File.unlink "#{script_tmp}.bak" or `/bin/rm -f "#{script_tmp}.bak"`</div><div class='del'>-</div><div class='del'>-test_check "const"</div><div class='del'>-TEST1 = 1</div><div class='del'>-TEST2 = 2</div><div class='del'>-</div><div class='del'>-module Const</div><div class='del'>-  TEST3 = 3</div><div class='del'>-  TEST4 = 4</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-module Const2</div><div class='del'>-  TEST3 = 6</div><div class='del'>-  TEST4 = 8</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-include Const</div><div class='del'>-</div><div class='del'>-test_ok([TEST1,TEST2,TEST3,TEST4] == [1,2,3,4])</div><div class='del'>-</div><div class='del'>-include Const2</div><div class='del'>-STDERR.print "intentionally redefines TEST3, TEST4\n" if $VERBOSE</div><div class='del'>-test_ok([TEST1,TEST2,TEST3,TEST4] == [1,2,6,8])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-test_ok((String &lt;=&gt; Object) == -1)</div><div class='del'>-test_ok((Object &lt;=&gt; String) == 1)</div><div class='del'>-test_ok((Array &lt;=&gt; String) == nil)</div><div class='del'>-</div><div class='del'>-test_check "clone"</div><div class='del'>-foo = Object.new</div><div class='del'>-def foo.test</div><div class='del'>-  "test"</div><div class='del'>-end</div><div class='del'>-bar = foo.clone</div><div class='del'>-def bar.test2</div><div class='del'>-  "test2"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(bar.test2 == "test2")</div><div class='del'>-test_ok(bar.test == "test")</div><div class='del'>-test_ok(foo.test == "test")</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  foo.test2</div><div class='del'>-  test_ok false</div><div class='del'>-rescue NoMethodError</div><div class='del'>-  test_ok true</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-module M001; end</div><div class='del'>-module M002; end</div><div class='del'>-module M003; include M002; end</div><div class='del'>-module M002; include M001; end</div><div class='del'>-module M003; include M002; end</div><div class='del'>-</div><div class='del'>-test_ok(M003.ancestors == [M003, M002, M001])</div><div class='del'>-</div><div class='del'>-test_check "marshal"</div><div class='del'>-$x = [1,2,3,[4,5,"foo"],{1=&gt;"bar"},2.5,fact(30)]</div><div class='del'>-$y = Marshal.dump($x)</div><div class='del'>-test_ok($x == Marshal.load($y))</div><div class='del'>-</div><div class='del'>-StrClone=String.clone;</div><div class='del'>-test_ok(Marshal.load(Marshal.dump(StrClone.new("abc"))).class == StrClone)</div><div class='del'>-</div><div class='del'>-[[1,2,3,4], [81, 2, 118, 3146]].each { |w,x,y,z|</div><div class='del'>-  a = (x.to_f + y.to_f / z.to_f) * Math.exp(w.to_f / (x.to_f + y.to_f / z.to_f))</div><div class='del'>-  ma = Marshal.dump(a)</div><div class='del'>-  b = Marshal.load(ma)</div><div class='del'>-  test_ok(a == b)</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-test_check "pack"</div><div class='del'>-</div><div class='del'>-$format = "c2x5CCxsdils_l_a6";</div><div class='del'>-# Need the expression in here to force ary[5] to be numeric.  This avoids</div><div class='del'>-# test2 failing because ary2 goes str-&gt;numeric-&gt;str and ary does not.</div><div class='del'>-ary = [1,-100,127,128,32767,987.654321098 / 100.0,12345,123456,-32767,-123456,"abcdef"]</div><div class='del'>-$x = ary.pack($format)</div><div class='del'>-ary2 = $x.unpack($format)</div><div class='del'>-</div><div class='del'>-test_ok(ary.length == ary2.length)</div><div class='del'>-test_ok(ary.join(':') == ary2.join(':'))</div><div class='del'>-test_ok($x =~ /def/)</div><div class='del'>-</div><div class='del'>-$x = [-1073741825]</div><div class='del'>-test_ok($x.pack("q").unpack("q") == $x)</div><div class='del'>-</div><div class='del'>-test_check "math"</div><div class='del'>-test_ok(Math.sqrt(4) == 2)</div><div class='del'>-</div><div class='del'>-include Math</div><div class='del'>-test_ok(sqrt(4) == 2)</div><div class='del'>-</div><div class='del'>-test_check "struct"</div><div class='del'>-struct_test = Struct.new("Test", :foo, :bar)</div><div class='del'>-test_ok(struct_test == Struct::Test)</div><div class='del'>-</div><div class='del'>-test = struct_test.new(1, 2)</div><div class='del'>-test_ok(test.foo == 1 &amp;&amp; test.bar == 2)</div><div class='del'>-test_ok(test[0] == 1 &amp;&amp; test[1] == 2)</div><div class='del'>-</div><div class='del'>-a, b = test.to_a</div><div class='del'>-test_ok(a == 1 &amp;&amp; b == 2)</div><div class='del'>-</div><div class='del'>-test[0] = 22</div><div class='del'>-test_ok(test.foo == 22)</div><div class='del'>-</div><div class='del'>-test.bar = 47</div><div class='del'>-test_ok(test.bar == 47)</div><div class='del'>-</div><div class='del'>-test_check "variable"</div><div class='del'>-test_ok($$.instance_of?(Integer))</div><div class='del'>-</div><div class='del'>-# read-only variable</div><div class='del'>-begin</div><div class='del'>-  $$ = 5</div><div class='del'>-  test_ok false</div><div class='del'>-rescue NameError</div><div class='del'>-  test_ok true</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-foobar = "foobar"</div><div class='del'>-$_ = foobar</div><div class='del'>-test_ok($_ == foobar)</div><div class='del'>-</div><div class='del'>-class Gods</div><div class='del'>-  @@rule = "Uranus"		# private to Gods</div><div class='del'>-  def ruler0</div><div class='del'>-    @@rule</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def self.ruler1		# &lt;= per method definition style</div><div class='del'>-    @@rule</div><div class='del'>-  end</div><div class='del'>-  class &lt;&lt; self			# &lt;= multiple method definition style</div><div class='del'>-    def ruler2</div><div class='del'>-      @@rule</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-module Olympians</div><div class='del'>-  @@rule ="Zeus"</div><div class='del'>-  def ruler3</div><div class='del'>-    @@rule</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Titans &lt; Gods</div><div class='del'>-  @@rule = "Cronus"		# do not affect @@rule in Gods</div><div class='del'>-  include Olympians</div><div class='del'>-  def ruler4</div><div class='del'>-    @@rule</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(Gods.new.ruler0 == "Cronus")</div><div class='del'>-test_ok(Gods.ruler1 == "Cronus")</div><div class='del'>-test_ok(Gods.ruler2 == "Cronus")</div><div class='del'>-test_ok(Titans.ruler1 == "Cronus")</div><div class='del'>-test_ok(Titans.ruler2 == "Cronus")</div><div class='del'>-atlas = Titans.new</div><div class='del'>-test_ok(atlas.ruler0 == "Cronus")</div><div class='del'>-test_ok(atlas.ruler3 == "Zeus")</div><div class='del'>-test_ok(atlas.ruler4 == "Cronus")</div><div class='del'>-</div><div class='del'>-test_check "trace"</div><div class='del'>-$x = 1234</div><div class='del'>-$y = 0</div><div class='del'>-trace_var :$x, Proc.new{$y = $x}</div><div class='del'>-$x = 40414</div><div class='del'>-test_ok($y == $x)</div><div class='del'>-</div><div class='del'>-untrace_var :$x</div><div class='del'>-$x = 19660208</div><div class='del'>-test_ok($y != $x)</div><div class='del'>-</div><div class='del'>-trace_var :$x, Proc.new{$x *= 2}</div><div class='del'>-$x = 5</div><div class='del'>-test_ok($x == 10)</div><div class='del'>-</div><div class='del'>-untrace_var :$x</div><div class='del'>-</div><div class='del'>-test_check "defined?"</div><div class='del'>-</div><div class='del'>-test_ok(defined?($x))		# global variable</div><div class='del'>-test_ok(defined?($x) == 'global-variable')# returns description</div><div class='del'>-</div><div class='del'>-foo=5</div><div class='del'>-test_ok(defined?(foo))		# local variable</div><div class='del'>-</div><div class='del'>-test_ok(defined?(Array))	# constant</div><div class='del'>-test_ok(defined?(Object.new))	# method</div><div class='del'>-test_ok(!defined?(Object.print))# private method</div><div class='del'>-test_ok(defined?(1 == 2))	# operator expression</div><div class='del'>-</div><div class='del'>-class Foo</div><div class='del'>-  def foo</div><div class='del'>-    p :foo</div><div class='del'>-  end</div><div class='del'>-  protected :foo</div><div class='del'>-  def bar(f)</div><div class='del'>-    test_ok(defined?(self.foo))</div><div class='del'>-    test_ok(defined?(f.foo))</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-f = Foo.new</div><div class='del'>-test_ok(defined?(f.foo) == nil)</div><div class='del'>-f.bar(f)</div><div class='del'>-</div><div class='del'>-def defined_test</div><div class='del'>-  return !defined?(yield)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-test_ok(defined_test)		# not iterator</div><div class='del'>-test_ok(!defined_test{})	# called as iterator</div><div class='del'>-</div><div class='del'>-test_check "alias"</div><div class='del'>-class Alias0</div><div class='del'>-  def foo; "foo" end</div><div class='del'>-end</div><div class='del'>-class Alias1 &lt; Alias0</div><div class='del'>-  alias bar foo</div><div class='del'>-  def foo; "foo+" + super end</div><div class='del'>-end</div><div class='del'>-class Alias2 &lt; Alias1</div><div class='del'>-  alias baz foo</div><div class='del'>-  undef foo</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-x = Alias2.new</div><div class='del'>-test_ok(x.bar == "foo")</div><div class='del'>-test_ok(x.baz == "foo+foo")</div><div class='del'>-</div><div class='del'>-# test_check for cache</div><div class='del'>-test_ok(x.baz == "foo+foo")</div><div class='del'>-</div><div class='del'>-class Alias3 &lt; Alias2</div><div class='del'>-  def foo</div><div class='del'>-    defined? super</div><div class='del'>-  end</div><div class='del'>-  def bar</div><div class='del'>-    defined? super</div><div class='del'>-  end</div><div class='del'>-  def quux</div><div class='del'>-    defined? super</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-x = Alias3.new</div><div class='del'>-test_ok(!x.foo)</div><div class='del'>-test_ok(x.bar)</div><div class='del'>-test_ok(!x.quux)</div><div class='del'>-</div><div class='del'>-test_check "path"</div><div class='del'>-test_ok(File.basename("a") == "a")</div><div class='del'>-test_ok(File.basename("a/b") == "b")</div><div class='del'>-test_ok(File.basename("a/b/") == "b")</div><div class='del'>-test_ok(File.basename("/") == "/")</div><div class='del'>-test_ok(File.basename("//") == "/")</div><div class='del'>-test_ok(File.basename("///") == "/")</div><div class='del'>-test_ok(File.basename("a/b////") == "b")</div><div class='del'>-test_ok(File.basename("a.rb", ".rb") == "a")</div><div class='del'>-test_ok(File.basename("a.rb///", ".rb") == "a")</div><div class='del'>-test_ok(File.basename("a.rb///", ".*") == "a")</div><div class='del'>-test_ok(File.basename("a.rb///", ".c") == "a.rb")</div><div class='del'>-test_ok(File.dirname("a") == ".")</div><div class='del'>-test_ok(File.dirname("/") == "/")</div><div class='del'>-test_ok(File.dirname("/a") == "/")</div><div class='del'>-test_ok(File.dirname("a/b") == "a")</div><div class='del'>-test_ok(File.dirname("a/b/c") == "a/b")</div><div class='del'>-test_ok(File.dirname("/a/b/c") == "/a/b")</div><div class='del'>-test_ok(File.dirname("/a/b/") == "/a")</div><div class='del'>-test_ok(File.dirname("/a/b///") == "/a")</div><div class='del'>-case Dir.pwd</div><div class='del'>-when %r'\A\w:'</div><div class='del'>-  test_ok(/\A\w:\/\z/ =~ File.expand_path(".", "/"))</div><div class='del'>-  test_ok(/\A\w:\/a\z/ =~ File.expand_path("a", "/"))</div><div class='del'>-  dosish = true</div><div class='del'>-when %r'\A//'</div><div class='del'>-  test_ok(%r'\A//[^/]+/[^/]+\z' =~ File.expand_path(".", "/"))</div><div class='del'>-  test_ok(%r'\A//[^/]+/[^/]+/a\z' =~ File.expand_path(".", "/"))</div><div class='del'>-  dosish = true</div><div class='del'>-else</div><div class='del'>-  test_ok(File.expand_path(".", "/") == "/")</div><div class='del'>-  test_ok(File.expand_path("sub", "/") == "/sub")</div><div class='del'>-end</div><div class='del'>-if dosish</div><div class='del'>-  test_ok(File.expand_path("/", "//machine/share/sub") == "//machine/share")</div><div class='del'>-  test_ok(File.expand_path("/dir", "//machine/share/sub") == "//machine/share/dir")</div><div class='del'>-  test_ok(File.expand_path("/", "z:/sub") == "z:/")</div><div class='del'>-  test_ok(File.expand_path("/dir", "z:/sub") == "z:/dir")</div><div class='del'>-end</div><div class='del'>-test_ok(File.expand_path(".", "//") == "//")</div><div class='del'>-test_ok(File.expand_path("sub", "//") == "//sub")</div><div class='del'>-</div><div class='del'>-# test_check "Proc#binding"</div><div class='del'>-ObjectSpace.each_object(Proc){|o|</div><div class='del'>-  begin</div><div class='del'>-    b = o.binding</div><div class='del'>-    eval 'self', b</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-test_check "gc"</div><div class='del'>-begin</div><div class='del'>-  1.upto(10000) {</div><div class='del'>-    tmp = [0,1,2,3,4,5,6,7,8,9]</div><div class='del'>-  }</div><div class='del'>-  tmp = nil</div><div class='del'>-  test_ok true</div><div class='del'>-rescue</div><div class='del'>-  test_ok false</div><div class='del'>-end</div><div class='del'>-class S</div><div class='del'>-  def initialize(a)</div><div class='del'>-    @a = a</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-l=nil</div><div class='del'>-100000.times {</div><div class='del'>-  l = S.new(l)</div><div class='del'>-}</div><div class='del'>-GC.start</div><div class='del'>-test_ok true   # reach here or dumps core</div><div class='del'>-l = []</div><div class='del'>-100000.times {</div><div class='del'>-  l.push([l])</div><div class='del'>-}</div><div class='del'>-GC.start</div><div class='del'>-test_ok true   # reach here or dumps core</div><div class='del'>-</div><div class='del'>-ObjectSpace.each_object{|o|</div><div class='del'>-  o.class.name</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-test_ok true   # reach here or dumps core</div><div class='del'>-</div><div class='del'>-PROGRESS.finish</div><div class='del'>-if $failed &gt; 0</div><div class='del'>-  printf "not ok/test: %d failed %d\n", $ntest, $failed</div><div class='del'>-else</div><div class='del'>-  printf "end of test(test: %d)\n", $ntest</div><div class='del'>-end</div><div class='head'>diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub<br/>new file mode 100644<br/>index 0000000000..0c2fe7cdf6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bcc32/Makefile.sub?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bcc32/Makefile.sub</a></div><div class='hunk'>@@ -0,0 +1,499 @@</div><div class='add'>+# -*- makefile -*-</div><div class='add'>+</div><div class='add'>+SHELL = $(COMSPEC)</div><div class='add'>+MKFILES = Makefile</div><div class='add'>+</div><div class='add'>+#### Start of system configuration section. ####</div><div class='add'>+OS = bccwin32</div><div class='add'>+RT = $(OS)</div><div class='add'>+</div><div class='add'>+## variables may be overridden by $(compile_dir)/Makefile</div><div class='add'>+!ifndef srcdir</div><div class='add'>+srcdir = ..</div><div class='add'>+!endif</div><div class='add'>+!ifndef RUBY_INSTALL_NAME</div><div class='add'>+RUBY_INSTALL_NAME = ruby</div><div class='add'>+!endif</div><div class='add'>+!ifndef RUBYW_INSTALL_NAME</div><div class='add'>+RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)</div><div class='add'>+!elif "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"</div><div class='add'>+RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)</div><div class='add'>+!endif</div><div class='add'>+!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"</div><div class='add'>+RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w</div><div class='add'>+!endif</div><div class='add'>+!ifndef RUBY_SO_NAME</div><div class='add'>+RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)</div><div class='add'>+!endif</div><div class='add'>+!ifndef icondirs</div><div class='add'>+!ifdef ICONDIRS</div><div class='add'>+icondirs=$(ICONDIRS)</div><div class='add'>+!endif</div><div class='add'>+!endif</div><div class='add'>+!ifdef icondirs</div><div class='add'>+icondirs=$(icondirs:\=/)</div><div class='add'>+iconinc=-I$(icondirs: = -I)</div><div class='add'>+!endif</div><div class='add'>+###############</div><div class='add'>+</div><div class='add'>+VPATH = $(srcdir):$(srcdir)/missing</div><div class='add'>+.SUFFIXES: .y</div><div class='add'>+</div><div class='add'>+!ifndef CC</div><div class='add'>+CC = bcc32</div><div class='add'>+!endif</div><div class='add'>+!ifndef CPP</div><div class='add'>+CPP = cpp32</div><div class='add'>+!endif</div><div class='add'>+!ifndef RC</div><div class='add'>+RC = brcc32</div><div class='add'>+!endif</div><div class='add'>+!ifndef YACC</div><div class='add'>+YACC = byacc</div><div class='add'>+!endif</div><div class='add'>+!ifndef AR</div><div class='add'>+AR = tlib</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+PURIFY =</div><div class='add'>+AUTOCONF = autoconf</div><div class='add'>+RM = $(srcdir:/=\)\win32\rm.bat</div><div class='add'>+</div><div class='add'>+!if !defined(PROCESSOR_ARCHITECTURE)</div><div class='add'>+PROCESSOR_ARCHITECTURE = x86</div><div class='add'>+!endif</div><div class='add'>+MACHINE = $(PROCESSOR_ARCHITECTURE)</div><div class='add'>+!if "$(PROCESSOR_ARCHITECTURE)" == "x86"</div><div class='add'>+!ifndef PROCESSOR_LEVEL</div><div class='add'>+PROCESSOR_LEVEL = 5</div><div class='add'>+!endif</div><div class='add'>+!if 6 &lt; $(PROCESSOR_LEVEL)</div><div class='add'>+PROCESSOR_LEVEL = 6</div><div class='add'>+!endif</div><div class='add'>+PROCESSOR_FLAG = -$(PROCESSOR_LEVEL)</div><div class='add'>+CPU = i$(PROCESSOR_LEVEL)86</div><div class='add'>+ARCH = i386</div><div class='add'>+!else</div><div class='add'>+CPU = $(PROCESSOR_ARCHITECTURE)</div><div class='add'>+ARCH = $(PROCESSOR_ARCHITECTURE)</div><div class='add'>+!endif</div><div class='add'>+!ifndef DEBUGFLAGS</div><div class='add'>+DEBUGFLAGS = </div><div class='add'>+!endif</div><div class='add'>+!ifndef OPTFLAGS</div><div class='add'>+OPTFLAGS = -O</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+!ifndef prefix</div><div class='add'>+prefix = /usr</div><div class='add'>+!endif</div><div class='add'>+!ifndef exec_prefix</div><div class='add'>+exec_prefix = $(prefix)</div><div class='add'>+!endif</div><div class='add'>+!ifndef libdir</div><div class='add'>+libdir = $(exec_prefix)/lib</div><div class='add'>+!endif</div><div class='add'>+!if !defined(datadir)</div><div class='add'>+datadir = /share</div><div class='add'>+!endif</div><div class='add'>+!ifndef EXTOUT</div><div class='add'>+EXTOUT = .ext</div><div class='add'>+!endif</div><div class='add'>+!ifndef RIDATADIR</div><div class='add'>+RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system</div><div class='add'>+!endif</div><div class='add'>+!ifndef TESTUI</div><div class='add'>+TESTUI = console</div><div class='add'>+!endif</div><div class='add'>+!ifndef TESTS</div><div class='add'>+TESTS =</div><div class='add'>+!endif</div><div class='add'>+!ifndef RDOCTARGET</div><div class='add'>+RDOCTARGET = install-nodoc</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+OUTFLAG       = -o</div><div class='add'>+!ifndef CFLAGS</div><div class='add'>+CFLAGS = -q -tWR -tWC $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG) -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi</div><div class='add'>+!endif</div><div class='add'>+!ifndef LDFLAGS</div><div class='add'>+LDFLAGS = -S:$(STACK)</div><div class='add'>+!endif</div><div class='add'>+!ifndef RFLAGS</div><div class='add'>+RFLAGS = $(iconinc)</div><div class='add'>+!endif</div><div class='add'>+!ifndef EXTLIBS</div><div class='add'>+EXTLIBS =</div><div class='add'>+!endif</div><div class='add'>+!ifndef MEMLIB</div><div class='add'>+MEMLIB =</div><div class='add'>+!endif</div><div class='add'>+LIBS = $(MEMLIB) cw32i.lib import32.lib ws2_32.lib $(EXTLIBS)</div><div class='add'>+MISSING = acosh.obj crypt.obj erf.obj win32.obj</div><div class='add'>+</div><div class='add'>+!ifndef STACK</div><div class='add'>+STACK = 0x2000000</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)missing</div><div class='add'>+</div><div class='add'>+ARFLAGS = /a</div><div class='add'>+LD = ilink32 -q -Gn</div><div class='add'>+LDSHARED  = $(LD)</div><div class='add'>+XLDFLAGS  = -Tpe c0x32.obj</div><div class='add'>+WLDFLAGS  = -aa -Tpe c0w32.obj</div><div class='add'>+DLDFLAGS  = -Tpd c0d32.obj</div><div class='add'>+LIBRUBY_LDSHARED = $(LDSHARED)</div><div class='add'>+LIBRUBY_DLDFLAGS = -Gi $(DLDFLAGS) $(EXTLDFLAGS)</div><div class='add'>+LDOBJECTS = $(MAINOBJ)</div><div class='add'>+</div><div class='add'>+SOLIBS = </div><div class='add'>+</div><div class='add'>+EXEEXT = .exe</div><div class='add'>+PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)</div><div class='add'>+WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)</div><div class='add'>+RUBYDEF = $(RUBY_SO_NAME).def</div><div class='add'>+MINIRUBY = .\miniruby$(EXEEXT) $(MINIRUBYOPT)</div><div class='add'>+RUNRUBY = .\ruby$(EXEEXT) "$(srcdir)runruby.rb" --extout="$(EXTOUT)" --</div><div class='add'>+</div><div class='add'>+ORGLIBPATH = $(LIB)</div><div class='add'>+</div><div class='add'>+#### End of system configuration section. ####</div><div class='add'>+</div><div class='add'>+LIBRUBY_A     = $(RUBY_SO_NAME)-static.lib</div><div class='add'>+LIBRUBY_SO    = $(RUBY_SO_NAME).dll</div><div class='add'>+LIBRUBY       = $(RUBY_SO_NAME).lib</div><div class='add'>+LIBRUBYARG    = $(LIBRUBY)</div><div class='add'>+</div><div class='add'>+PREP          = miniruby$(EXEEXT)</div><div class='add'>+</div><div class='add'>+OBJEXT        = obj</div><div class='add'>+</div><div class='add'>+INSTALLED_LIST= .installed.list</div><div class='add'>+</div><div class='add'>+WINMAINOBJ    = winmain.$(OBJEXT)</div><div class='add'>+MINIOBJS      = dmydln.$(OBJEXT)</div><div class='add'>+</div><div class='add'>+.path.c = .;$(srcdir);$(srcdir)win32;$(srcdir)missing</div><div class='add'>+.path.h = .;$(srcdir);$(srcdir)win32;$(srcdir)missing</div><div class='add'>+.path.y = $(srcdir)</div><div class='add'>+.path. = $(srcdir)</div><div class='add'>+</div><div class='add'>+.c.obj:</div><div class='add'>+	$(CC) $(CFLAGS) $(XCFLAGS) -I. $(CPPFLAGS) -c $(&lt;:/=\)</div><div class='add'>+</div><div class='add'>+.rc.res:</div><div class='add'>+	$(RC) $(RFLAGS) -I. -I$(&lt;D). $(iconinc) -I$(srcdir)win32 $(RFLAGS) -fo$@ $(&lt;:/=\)</div><div class='add'>+</div><div class='add'>+.y.c:</div><div class='add'>+	$(YACC) $(YFLAGS) $(&lt;:\=/)</div><div class='add'>+	sed -e "s!^ *extern char \*getenv();!/* &amp; */!;s/^\(#.*\)y\.tab/\1parse/" y.tab.c &gt; $(@F)</div><div class='add'>+	@del y.tab.c</div><div class='add'>+</div><div class='add'>+all: $(srcdir)bcc32/Makefile.sub $(srcdir)common.mk</div><div class='add'>+</div><div class='add'>+ruby: $(PROGRAM)</div><div class='add'>+rubyw: $(WPROGRAM)</div><div class='add'>+</div><div class='add'>+!include $(srcdir)/common.mk</div><div class='add'>+</div><div class='add'>+PHONY: Makefile</div><div class='add'>+</div><div class='add'>+CONFIG_H = ./.config.h.time</div><div class='add'>+</div><div class='add'>+config: config.status</div><div class='add'>+</div><div class='add'>+config.status: $(CONFIG_H)</div><div class='add'>+</div><div class='add'>+$(CONFIG_H): $(MKFILES) $(srcdir)bcc32/Makefile.sub</div><div class='add'>+	@$(srcdir:/=\)win32\ifchange.bat config.h &amp;&amp;|</div><div class='add'>+\#define HAVE_SYS_TYPES_H 1</div><div class='add'>+\#define HAVE_SYS_STAT_H 1</div><div class='add'>+\#define HAVE_STDLIB_H 1</div><div class='add'>+\#define HAVE_STRING_H 1</div><div class='add'>+\#define HAVE_MEMORY_H 1</div><div class='add'>+\#define HAVE_OFF_T 1</div><div class='add'>+\#define SIZEOF_INT 4</div><div class='add'>+\#define SIZEOF_SHORT 2</div><div class='add'>+\#define SIZEOF_LONG 4</div><div class='add'>+\#define SIZEOF_LONG_LONG 0</div><div class='add'>+\#define SIZEOF___INT64 8</div><div class='add'>+\#define SIZEOF_OFF_T 4</div><div class='add'>+\#define SIZEOF_VOIDP 4</div><div class='add'>+\#define SIZEOF_FLOAT 4</div><div class='add'>+\#define SIZEOF_DOUBLE 8</div><div class='add'>+\#define SIZEOF_TIME_T 4</div><div class='add'>+\#define HAVE_PROTOTYPES 1</div><div class='add'>+\#define TOKEN_PASTE(x,y) x\#\#y</div><div class='add'>+\#define HAVE_STDARG_PROTOTYPES 1</div><div class='add'>+\#define NORETURN(x) x</div><div class='add'>+\#define RUBY_EXTERN extern __declspec(dllimport)</div><div class='add'>+\#define HAVE_DECL_SYS_NERR 1</div><div class='add'>+\#define HAVE_LIMITS_H 1</div><div class='add'>+\#define HAVE_FCNTL_H 1</div><div class='add'>+\#define HAVE_UTIME_H 1</div><div class='add'>+\#define HAVE_FLOAT_H 1</div><div class='add'>+\#define rb_uid_t uid_t</div><div class='add'>+\#define rb_gid_t gid_t</div><div class='add'>+\#define rb_pid_t int</div><div class='add'>+\#define HAVE_STRUCT_STAT_ST_RDEV 1</div><div class='add'>+\#define HAVE_ST_RDEV 1</div><div class='add'>+\#define GETGROUPS_T int</div><div class='add'>+\#define RETSIGTYPE void</div><div class='add'>+\#define HAVE_ALLOCA 1</div><div class='add'>+\#define HAVE_DUP2 1</div><div class='add'>+\#define HAVE_MEMMOVE 1</div><div class='add'>+\#define HAVE_MKDIR 1</div><div class='add'>+\#define HAVE_STRCASECMP 1</div><div class='add'>+\#define HAVE_STRNCASECMP 1</div><div class='add'>+\#define HAVE_STRERROR 1</div><div class='add'>+\#define HAVE_STRFTIME 1</div><div class='add'>+\#define HAVE_STRCHR 1</div><div class='add'>+\#define HAVE_STRSTR 1</div><div class='add'>+\#define HAVE_STRTOD 1</div><div class='add'>+\#define HAVE_STRTOL 1</div><div class='add'>+\#define HAVE_STRTOUL 1</div><div class='add'>+\#define HAVE_ISNAN 1</div><div class='add'>+\#define HAVE_FINITE 1</div><div class='add'>+\#define HAVE_HYPOT 1</div><div class='add'>+\#define HAVE_FMOD 1</div><div class='add'>+\#define HAVE_WAITPID 1</div><div class='add'>+\#define HAVE_FSYNC 1</div><div class='add'>+\#define HAVE_GETCWD 1</div><div class='add'>+\#define HAVE_CHSIZE 1</div><div class='add'>+\#define HAVE_TIMES 1</div><div class='add'>+\#define HAVE_FCNTL 1</div><div class='add'>+\#define HAVE_LINK 1</div><div class='add'>+\#define HAVE_TELLDIR 1</div><div class='add'>+\#define HAVE_SEEKDIR 1</div><div class='add'>+\#define HAVE_COSH 1</div><div class='add'>+\#define HAVE_SINH 1</div><div class='add'>+\#define HAVE_TANH 1</div><div class='add'>+\#define RSHIFT(x,y) ((x)&gt;&gt;(int)y)</div><div class='add'>+\#define FILE_COUNT level</div><div class='add'>+\#define FILE_READPTR curp</div><div class='add'>+\#define inline __inline</div><div class='add'>+\#define NEED_IO_SEEK_BETWEEN_RW 1</div><div class='add'>+\#define STACK_GROW_DIRECTION -1</div><div class='add'>+\#define DEFAULT_KCODE KCODE_NONE</div><div class='add'>+\#define DLEXT ".so"</div><div class='add'>+\#define RUBY_LIB "/lib/ruby/$(MAJOR).$(MINOR)"</div><div class='add'>+\#define RUBY_SITE_LIB "/lib/ruby/site_ruby"</div><div class='add'>+\#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)"</div><div class='add'>+\#define RUBY_PLATFORM "$(ARCH)-$(OS)"</div><div class='add'>+\#define RUBY_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"</div><div class='add'>+\#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"</div><div class='add'>+|</div><div class='add'>+	@exit &gt; $@</div><div class='add'>+</div><div class='add'>+config.status: $(MKFILES) $(srcdir)bcc32/Makefile.sub $(srcdir)common.mk</div><div class='add'>+	@echo Creating $@</div><div class='add'>+	@type &gt; $@ &amp;&amp;|</div><div class='add'>+# Generated automatically by Makefile.sub.</div><div class='add'>+s,@SHELL@,$$(COMSPEC),;t t</div><div class='add'>+s,@BUILD_FILE_SEPARATOR@,\,;t t</div><div class='add'>+s,@PATH_SEPARATOR@,;,;t t</div><div class='add'>+s,@CFLAGS@,$(CFLAGS),;t t</div><div class='add'>+s,@CPPFLAGS@,$(CPPFLAGS),;t t</div><div class='add'>+s,@CXXFLAGS@,$(CXXFLAGS),;t t</div><div class='add'>+s,@FFLAGS@,$(FFLAGS),;t t</div><div class='add'>+s,@LDFLAGS@,,;t t</div><div class='add'>+s,@LIBS@,$(LIBS),;t t</div><div class='add'>+s,@exec_prefix@,$${prefix},;t t</div><div class='add'>+s,@prefix@,,;t t</div><div class='add'>+s,@program_transform_name@,s,,,,;t t</div><div class='add'>+s,@bindir@,$${exec_prefix}/bin,;t t</div><div class='add'>+s,@sbindir@,$${exec_prefix}/sbin,;t t</div><div class='add'>+s,@libexecdir@,$${exec_prefix}/libexec,;t t</div><div class='add'>+s,@datadir@,$${prefix}/share,;t t</div><div class='add'>+s,@sysconfdir@,$${prefix}/etc,;t t</div><div class='add'>+s,@sharedstatedir@,/etc,;t t</div><div class='add'>+s,@localstatedir@,/var,;t t</div><div class='add'>+s,@libdir@,$${exec_prefix}/lib,;t t</div><div class='add'>+s,@includedir@,$${prefix}/include,;t t</div><div class='add'>+s,@oldincludedir@,/usr/include,;t t</div><div class='add'>+s,@infodir@,$${prefix}/info,;t t</div><div class='add'>+s,@mandir@,$${prefix}/man,;t t</div><div class='add'>+s,@build@,$(CPU)-pc-$(OS),;t t</div><div class='add'>+s,@build_alias@,$(CPU)-$(OS),;t t</div><div class='add'>+s,@build_cpu@,$(CPU),;t t</div><div class='add'>+s,@build_vendor@,pc,;t t</div><div class='add'>+s,@build_os@,$(OS),;t t</div><div class='add'>+s,@host@,$(CPU)-pc-$(OS),;t t</div><div class='add'>+s,@host_alias@,$(CPU)-$(OS),;t t</div><div class='add'>+s,@host_cpu@,$(CPU),;t t</div><div class='add'>+s,@host_vendor@,pc,;t t</div><div class='add'>+s,@host_os@,$(OS),;t t</div><div class='add'>+s,@target@,$(ARCH)-pc-$(OS),;t t</div><div class='add'>+s,@target_alias@,$(ARCH)-$(OS),;t t</div><div class='add'>+s,@target_cpu@,$(ARCH),;t t</div><div class='add'>+s,@target_vendor@,pc,;t t</div><div class='add'>+s,@target_os@,$(OS),;t t</div><div class='add'>+s,@CC@,$(CC),;t t</div><div class='add'>+s,@CPP@,cpp32,;t t</div><div class='add'>+s,@YACC@,$(YACC),;t t</div><div class='add'>+s,@RANLIB@,,;t t</div><div class='add'>+s,@AR@,$(AR),;t t</div><div class='add'>+s,@ARFLAGS@,$(ARFLAGS) ,;t t</div><div class='add'>+s,@LN_S@,$(LN_S),;t t</div><div class='add'>+s,@SET_MAKE@,$(SET_MAKE),;t t</div><div class='add'>+s,@CP@,copy &gt; nul,;t t</div><div class='add'>+s,@LIBOBJS@, acosh.obj crypt.obj erf.obj win32.obj,;t t</div><div class='add'>+s,@ALLOCA@,$(ALLOCA),;t t</div><div class='add'>+s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t</div><div class='add'>+s,@EXEEXT@,.exe,;t t</div><div class='add'>+s,@OBJEXT@,obj,;t t</div><div class='add'>+s,@XCFLAGS@,$(XCFLAGS),;t t</div><div class='add'>+s,@XLDFLAGS@,$(XLDFLAGS),;t t</div><div class='add'>+s,@DLDFLAGS@,$(DLDFLAGS),;t t</div><div class='add'>+s,@ARCH_FLAG@,$(ARCH_FLAG),;t t</div><div class='add'>+s,@STATIC@,$(STATIC),;t t</div><div class='add'>+s,@CCDLFLAGS@,,;t t</div><div class='add'>+s,@LDSHARED@,$(LDSHARED),;t t</div><div class='add'>+s,@DLEXT@,so,;t t</div><div class='add'>+s,@LIBEXT@,lib,;t t</div><div class='add'>+s,@STRIP@,$(STRIP),;t t</div><div class='add'>+s,@EXTSTATIC@,$(EXTSTATIC),;t t</div><div class='add'>+s,@setup@,Setup,;t t</div><div class='add'>+s,@MINIRUBY@,$(MINIRUBY),;t t</div><div class='add'>+s,@PREP@,miniruby$(EXEEXT),;t t</div><div class='add'>+s,@RUNRUBY@,$(RUNRUBY),;t t</div><div class='add'>+s,@EXTOUT@,$(EXTOUT),;t t</div><div class='add'>+s,@ARCHFILE@,,;t t</div><div class='add'>+s,@RDOCTARGET@,,;t t</div><div class='add'>+s,@LIBRUBY_LDSHARED@,$$(LDSHARED),;t t</div><div class='add'>+s,@LIBRUBY_DLDFLAGS@,-Gi $$(DLDFLAGS),;t t</div><div class='add'>+s,@RUBY_INSTALL_NAME@,$(RUBY_INSTALL_NAME),;t t</div><div class='add'>+s,@rubyw_install_name@,$(RUBYW_INSTALL_NAME),;t t</div><div class='add'>+s,@RUBYW_INSTALL_NAME@,$(RUBYW_INSTALL_NAME),;t t</div><div class='add'>+s,@RUBY_SO_NAME@,$(RUBY_SO_NAME),;t t</div><div class='add'>+s,@LIBRUBY_A@,$$(RUBY_SO_NAME)-static.lib,;t t</div><div class='add'>+s,@LIBRUBY_SO@,$$(RUBY_SO_NAME).dll,;t t</div><div class='add'>+s,@LIBRUBY_ALIASES@,$(LIBRUBY_ALIASES),;t t</div><div class='add'>+s,@LIBRUBY@,$$(RUBY_SO_NAME).lib,;t t</div><div class='add'>+s,@LIBRUBYARG@,$$(LIBRUBYARG_SHARED),;t t</div><div class='add'>+s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A),;t t</div><div class='add'>+s,@LIBRUBYARG_SHARED@,$$(LIBRUBY),;t t</div><div class='add'>+s,@SOLIBS@,$(SOLIBS),;t t</div><div class='add'>+s,@DLDLIBS@,$(DLDLIBS),;t t</div><div class='add'>+s,@ENABLE_SHARED@,yes,;t t</div><div class='add'>+s,@OUTFLAG@,$(OUTFLAG),;t t</div><div class='add'>+s,@CPPOUTFILE@,,;t t</div><div class='add'>+s,@LIBPATHFLAG@, -L"%s",;t t</div><div class='add'>+s,@RPATHFLAG@,,;t t</div><div class='add'>+s,@LIBARG@,%s.lib,;t t</div><div class='add'>+s,@LINK_SO@,$$(LDSHARED) $$(DLDFLAGS) $$(LIBPATH) $$(OBJS), $$(@:/=\), nul, $$(LIBS) $$(LOCAL_LIBS), $$(DEFFILE), $$(RESFILE),;t t</div><div class='add'>+s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c $$(&lt;:/=\),;t t</div><div class='add'>+s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -P -c $$(&lt;:/=\),;t t</div><div class='add'>+s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t</div><div class='add'>+s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t</div><div class='add'>+s,@COMMON_LIBS@,m advapi32 avicap32 avifil32 cap comctl32 comdlg32 dlcapi gdi32 glu32 imagehlp imm32 inetmib1 kernel32 loadperf lsapi32 lz32 mapi32 mgmtapi mpr msacm32 msvfw32 nddeapi netapi32 ole32 oleaut32 oledlg olepro32 opengl32 pdh pkpd32 rasapi32 rasdlg rassapi rpcrt4 setupapi shell32 shfolder snmpapi sporder tapi32 url user32 vdmdbg version win32spl winmm wintrust wsock32,;t t</div><div class='add'>+s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN,;t t</div><div class='add'>+s,@COMMON_HEADERS@,winsock2.h windows.h,;t t</div><div class='add'>+s,@TRY_LINK@,$$(CC) -oconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(LIBPATH) $$(LDFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS),;t t</div><div class='add'>+s,@EXPORT_PREFIX@,_,;t t</div><div class='add'>+s,@arch@,$(ARCH)-$(OS),;t t</div><div class='add'>+s,@sitearch@,$(ARCH)-$(OS),;t t</div><div class='add'>+s,@sitedir@,$${prefix}/lib/ruby/site_ruby,;t t</div><div class='add'>+s,@configure_args@,--enable-shared $(configure_args),;t t</div><div class='add'>+s,@configure_input@,$$configure_input,;t t</div><div class='add'>+s,@srcdir@,$(srcdir),;t t</div><div class='add'>+s,@top_srcdir@,$(srcdir),;t t</div><div class='add'>+|</div><div class='add'>+</div><div class='add'>+miniruby$(EXEEXT):</div><div class='add'>+		@echo $(LIBS)</div><div class='add'>+		$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(MINIOBJS),$@,nul,$(LIBRUBY_A) $(LIBS)</div><div class='add'>+</div><div class='add'>+$(PROGRAM):	$(MAINOBJ) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res</div><div class='add'>+		$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBY_INSTALL_NAME).res</div><div class='add'>+</div><div class='add'>+$(WPROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res</div><div class='add'>+		$(LD) $(LDFLAGS) $(WLDFLAGS) $(MAINOBJ) $(WINMAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBYW_INSTALL_NAME).res</div><div class='add'>+</div><div class='add'>+$(LIBRUBY_A):	$(OBJS) $(DMYEXT)</div><div class='add'>+		@-if exist $@ del $@</div><div class='add'>+		$(AR) $(ARFLAGS) "$@" $(OBJS) $(DMYEXT)</div><div class='add'>+</div><div class='add'>+# $(LIBRUBY):	$(LIBRUBY_SO)</div><div class='add'>+#		implib $@ $(LIBRUBY_SO)</div><div class='add'>+</div><div class='add'>+$(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res</div><div class='add'>+		@echo $(DLDOBJS)</div><div class='add'>+		@$(PRE_LIBRUBY_UPDATE)</div><div class='add'>+		$(LIBRUBY_LDSHARED) $(LIBRUBY_DLDFLAGS) $(DLDOBJS:/=\),$(LIBRUBY_SO),nul,$(LIBRUBY_A) $(LIBS),$(RUBYDEF),$(RUBY_SO_NAME).res</div><div class='add'>+</div><div class='add'>+$(LIBRUBY): $(LIBRUBY_SO)</div><div class='add'>+</div><div class='add'>+$(RUBYDEF):	$(LIBRUBY_A) $(PREP)</div><div class='add'>+		$(MINIRUBY) $(srcdir)bcc32/mkexports.rb -output=$@ -base=$(RUBY_SO_NAME) $(LIBRUBY_A)</div><div class='add'>+</div><div class='add'>+$(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: rbconfig.rb</div><div class='add'>+		@$(MINIRUBY) $(srcdir)win32/resource.rb \</div><div class='add'>+			-ruby_name=$(RUBY_INSTALL_NAME) \</div><div class='add'>+			-rubyw_name=$(RUBYW_INSTALL_NAME) \</div><div class='add'>+			-so_name=$(RUBY_SO_NAME) \</div><div class='add'>+			. $(icondirs) $(srcdir)win32</div><div class='add'>+</div><div class='add'>+post-install-bin::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+post-install-lib::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+post-install-ext-comm::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+post-install-ext-arch::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+post-install-man::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+post-install-doc::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+clean-local::</div><div class='add'>+		@$(RM) ext\extinit.c ext\extinit.$(OBJEXT) *.tds *.il? $(RUBY_SO_NAME).lib</div><div class='add'>+		@$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res</div><div class='add'>+</div><div class='add'>+distclean-local::</div><div class='add'>+		@$(RM) ext\config.cache $(RBCONFIG:/=\)</div><div class='add'>+		@$(RM) *.map *.pdb *.ilk *.exp $(RUBYDEF)</div><div class='add'>+		@$(RM) $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc</div><div class='add'>+</div><div class='add'>+ext/extinit.obj: ext/extinit.c $(SETUP)</div><div class='add'>+	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -o$@ -c ext/extinit.c</div><div class='add'>+</div><div class='add'>+main.$(OBJEXT): win32.h</div><div class='add'>+array.$(OBJEXT): win32.h</div><div class='add'>+bignum.$(OBJEXT): win32.h</div><div class='add'>+class.$(OBJEXT): win32.h</div><div class='add'>+compar.$(OBJEXT): win32.h</div><div class='add'>+dir.$(OBJEXT): dir.h win32.h</div><div class='add'>+dln.$(OBJEXT): win32.h</div><div class='add'>+enum.$(OBJEXT): win32.h</div><div class='add'>+error.$(OBJEXT): win32.h</div><div class='add'>+eval.$(OBJEXT): win32.h</div><div class='add'>+file.$(OBJEXT): win32.h</div><div class='add'>+gc.$(OBJEXT): win32.h</div><div class='add'>+hash.$(OBJEXT): win32.h</div><div class='add'>+inits.$(OBJEXT): win32.h</div><div class='add'>+io.$(OBJEXT): win32.h</div><div class='add'>+marshal.$(OBJEXT): win32.h</div><div class='add'>+math.$(OBJEXT): win32.h</div><div class='add'>+numeric.$(OBJEXT): win32.h</div><div class='add'>+object.$(OBJEXT): win32.h</div><div class='add'>+pack.$(OBJEXT): win32.h</div><div class='add'>+parse.$(OBJEXT): win32.h</div><div class='add'>+process.$(OBJEXT): win32.h</div><div class='add'>+prec.$(OBJEXT): win32.h</div><div class='add'>+random.$(OBJEXT): win32.h</div><div class='add'>+range.$(OBJEXT): win32.h</div><div class='add'>+re.$(OBJEXT): win32.h</div><div class='add'>+regex.$(OBJEXT): win32.h</div><div class='add'>+ruby.$(OBJEXT): win32.h</div><div class='add'>+signal.$(OBJEXT): win32.h</div><div class='add'>+sprintf.$(OBJEXT): win32.h</div><div class='add'>+st.$(OBJEXT): win32.h</div><div class='add'>+string.$(OBJEXT): win32.h</div><div class='add'>+struct.$(OBJEXT): win32.h</div><div class='add'>+time.$(OBJEXT): win32.h</div><div class='add'>+util.$(OBJEXT): win32.h</div><div class='add'>+variable.$(OBJEXT): win32.h</div><div class='add'>+version.$(OBJEXT): win32.h</div><div class='head'>diff --git a/bcc32/README.bcc32 b/bcc32/README.bcc32<br/>new file mode 100644<br/>index 0000000000..c27a1261f1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bcc32/README.bcc32?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bcc32/README.bcc32</a></div><div class='hunk'>@@ -0,0 +1,137 @@</div><div class='add'>+=begin</div><div class='add'>+</div><div class='add'>+= How to build ruby using Borland C++</div><div class='add'>+</div><div class='add'>+== Requirement</div><div class='add'>+</div><div class='add'>+(1) Borland C++ 5.0 or later.</div><div class='add'>+</div><div class='add'>+(2) Please set environment variable (({PATH}))</div><div class='add'>+    to run required commands properly from the command line.</div><div class='add'>+</div><div class='add'>+    Note: building ruby requires following commands.</div><div class='add'>+     * make</div><div class='add'>+     * bcc32</div><div class='add'>+     * tlib</div><div class='add'>+     * ilink32</div><div class='add'>+</div><div class='add'>+(3) If you want to build from CVS source, following commands are required.</div><div class='add'>+     * byacc ((&lt;URL:http://gnuwin32.sourceforge.net/packages/byacc.htm&gt;))</div><div class='add'>+     * sed   ((&lt;URL:http://gnuwin32.sourceforge.net/packages/sed.htm&gt;))</div><div class='add'>+</div><div class='add'>+(4) We strongly recommend to build ruby on C++Builder, to link following files.</div><div class='add'>+     * usebormm.lib</div><div class='add'>+     * memmgr.lib</div><div class='add'>+</div><div class='add'>+    RTL's internal memory manager cannot handle large memory block properly,</div><div class='add'>+    so we should use borlndmm.dll instead.</div><div class='add'>+     10000.times { "" &lt;&lt; "." * 529671; GC.start } # crash</div><div class='add'>+</div><div class='add'>+== How to compile and install</div><div class='add'>+</div><div class='add'>+(1) Execute bcc32\configure.bat on your build directory.</div><div class='add'>+     ex. c:\ruby-1.6.7&gt;bcc32\configure.bat</div><div class='add'>+     </div><div class='add'>+(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))</div><div class='add'>+    if you want to change the name of the executable files. </div><div class='add'>+    And add ((|RUBYW_INSTALL_NAME|)) to change the name of the</div><div class='add'>+    executable without console window if also you want.</div><div class='add'>+</div><div class='add'>+(3) Run `((%make%))'</div><div class='add'>+</div><div class='add'>+(4) Run `((%make test%))'</div><div class='add'>+</div><div class='add'>+(5) Run `((%make DESTDIR=&lt;install_directory&gt; install%))'</div><div class='add'>+</div><div class='add'>+    This command will create following directories and install files onto them.</div><div class='add'>+      * &lt;install_directory&gt;\bin</div><div class='add'>+      * &lt;install_directory&gt;\lib</div><div class='add'>+      * &lt;install_directory&gt;\lib\ruby</div><div class='add'>+      * &lt;install_directory&gt;\lib\ruby\&lt;MAJOR&gt;.&lt;MINOR&gt;</div><div class='add'>+      * &lt;install_directory&gt;\lib\ruby\&lt;MAJOR&gt;.&lt;MINOR&gt;\&lt;PLATFORM&gt;</div><div class='add'>+      * &lt;install_directory&gt;\lib\ruby\site_ruby</div><div class='add'>+      * &lt;install_directory&gt;\lib\ruby\site_ruby\&lt;MAJOR&gt;.&lt;MINOR&gt;</div><div class='add'>+      * &lt;install_directory&gt;\lib\ruby\site_ruby\&lt;MAJOR&gt;.&lt;MINOR&gt;\&lt;PLATFORM&gt;</div><div class='add'>+      * &lt;install_directory&gt;\man\man1</div><div class='add'>+    If Ruby's version is `x.y.z', the ((|&lt;MAJOR&gt;|)) is `x' and the ((|&lt;MINOR&gt;|)) is `y'.</div><div class='add'>+    The ((|&lt;PLATFORM&gt;|)) is usually `(({i586-bccwin32}))'.</div><div class='add'>+</div><div class='add'>+(6) Requires dynamic RTL (cc3250.dll on C++Builder5) and borlndmm.dll (If built with</div><div class='add'>+    usebormm.lib) to use installed binary. These files are ordinary in bcc32's bin</div><div class='add'>+    directory.</div><div class='add'>+</div><div class='add'>+== Icons</div><div class='add'>+</div><div class='add'>+Any icon files(*.ico) in the build directory, directories specified with</div><div class='add'>+((|icondirs|)) make variable and (({win32})) directory under the ruby</div><div class='add'>+source directory will be included in DLL or executable files, according</div><div class='add'>+to their base names.</div><div class='add'>+    $(RUBY_INSTALL_NAME).ico or ruby.ico   --&gt; $(RUBY_INSTALL_NAME).exe</div><div class='add'>+    $(RUBYW_INSTALL_NAME).ico or rubyw.ico --&gt; $(RUBYW_INSTALL_NAME).exe</div><div class='add'>+    the others                             --&gt; $(RUBY_SO_NAME).dll</div><div class='add'>+</div><div class='add'>+Although no icons are distributed with the ruby source or in the official </div><div class='add'>+site, you can use anything you like. For example, followings are written </div><div class='add'>+in Japanese, but you can download at least.</div><div class='add'>+</div><div class='add'>+* ((&lt;URL:http://member.nifty.ne.jp/ueivu/rubyico.html&gt;)) or</div><div class='add'>+  ((&lt;zipped icons|URL:http://member.nifty.ne.jp/ueivu/Ruby_ico.zip&gt;))</div><div class='add'>+* ((&lt;URL:http://homepage1.nifty.com/a_nakata/ruby/&gt;)) or</div><div class='add'>+  ((&lt;icon itself|URL:http://homepage1.nifty.com/a_nakata/ruby/RubyIcon.ico&gt;))</div><div class='add'>+</div><div class='add'>+== Build examples</div><div class='add'>+</div><div class='add'>+* Build on the ruby source directory.</div><div class='add'>+</div><div class='add'>+  ex.)</div><div class='add'>+    ruby source directory:  C:\ruby</div><div class='add'>+    build directory:        C:\ruby</div><div class='add'>+    install directory:      C:\usr\local</div><div class='add'>+</div><div class='add'>+    C:</div><div class='add'>+    cd \ruby</div><div class='add'>+    bcc32\configure</div><div class='add'>+    make</div><div class='add'>+    make test</div><div class='add'>+    make DESTDIR=/usr/local install</div><div class='add'>+</div><div class='add'>+* Build on the relative directory from the ruby source directory and CPU type </div><div class='add'>+  i386.</div><div class='add'>+</div><div class='add'>+  ex.)</div><div class='add'>+    ruby source directory:  C:\ruby</div><div class='add'>+    build directory:        C:\ruby\bccwin32</div><div class='add'>+    install directory:      C:\usr\local</div><div class='add'>+    CPU                     i386</div><div class='add'>+    </div><div class='add'>+    C:</div><div class='add'>+    cd \ruby</div><div class='add'>+    mkdir bccwin32</div><div class='add'>+    cd bccwin32</div><div class='add'>+    ..\bcc32\configure target i386-bccwin32</div><div class='add'>+    make</div><div class='add'>+    make test</div><div class='add'>+    make DESTDIR=/usr/local install</div><div class='add'>+</div><div class='add'>+* Build on the different drive.</div><div class='add'>+</div><div class='add'>+  ex.)</div><div class='add'>+    ruby source directory:  C:\src\ruby</div><div class='add'>+    build directory:        D:\build\ruby</div><div class='add'>+    install directory:      C:\usr\local</div><div class='add'>+</div><div class='add'>+    D:</div><div class='add'>+    cd D:\build\ruby</div><div class='add'>+    C:\src\ruby\bcc32\configure</div><div class='add'>+    make</div><div class='add'>+    make test</div><div class='add'>+    make DESTDIR=C:/usr/local install</div><div class='add'>+</div><div class='add'>+== Bugs</div><div class='add'>+</div><div class='add'>+You can ((*NOT*)) use a path name contains any white space characters as</div><div class='add'>+the ruby source directory, this restriction comes from the behavior of</div><div class='add'>+(({!INCLUDE})) directives of (({MAKE})).</div><div class='add'>+((- you may call it a bug. -))</div><div class='add'>+</div><div class='add'>+=end</div><div class='head'>diff --git a/bcc32/configure.bat b/bcc32/configure.bat<br/>new file mode 100755<br/>index 0000000000..143ad947f0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bcc32/configure.bat?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bcc32/configure.bat</a></div><div class='hunk'>@@ -0,0 +1,92 @@</div><div class='add'>+@echo off</div><div class='add'>+::: Don't set environment variable in batch file other than autoexec.bat</div><div class='add'>+::: to avoid "Out of environment space" problem on Windows 95/98.</div><div class='add'>+::: set TMPMAKE=~tmp~.mak</div><div class='add'>+</div><div class='add'>+echo&gt; ~tmp~.mak ####</div><div class='add'>+echo&gt;&gt; ~tmp~.mak conf = %0</div><div class='add'>+echo&gt;&gt; ~tmp~.mak $(conf:\=/): nul</div><div class='add'>+echo&gt;&gt; ~tmp~.mak 	@del ~tmp~.mak</div><div class='add'>+echo&gt;&gt; ~tmp~.mak 	@-$(MAKE) -l$(MAKEFLAGS) -f $(@D)setup.mak \</div><div class='add'>+:loop</div><div class='add'>+if "%1" == "" goto :end</div><div class='add'>+if "%1" == "--prefix" goto :prefix</div><div class='add'>+if "%1" == "--srcdir" goto :srcdir</div><div class='add'>+if "%1" == "srcdir" goto :srcdir</div><div class='add'>+if "%1" == "--target" goto :target</div><div class='add'>+if "%1" == "target" goto :target</div><div class='add'>+if "%1" == "--with-static-linked-ext" goto :extstatic</div><div class='add'>+if "%1" == "--program-suffix" goto :suffix</div><div class='add'>+if "%1" == "--program-name" goto :progname</div><div class='add'>+if "%1" == "--enable-install-doc" goto :enable-rdoc</div><div class='add'>+if "%1" == "--disable-install-doc" goto :disable-rdoc</div><div class='add'>+if "%1" == "--extout" goto :extout</div><div class='add'>+if "%1" == "-h" goto :help</div><div class='add'>+if "%1" == "--help" goto :help</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	"%1" \</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:srcdir</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"srcdir=%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:prefix</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"prefix=%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:suffix</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"RUBY_SUFFIX=%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:installname</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"RUBY_INSTALL_NAME=%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:soname</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"RUBY_SO_NAME=%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:target</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	"%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:extstatic</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"EXTSTATIC=static" \</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:enable-rdoc</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"RDOCTARGET=install-doc" \</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:disable-rdoc</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"RDOCTARGET=install-nodoc" \</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:extout</div><div class='add'>+  echo&gt;&gt; ~tmp~.mak 	-D"EXTOUT=%2" \</div><div class='add'>+  shift</div><div class='add'>+  shift</div><div class='add'>+goto :loop</div><div class='add'>+:help</div><div class='add'>+  echo Configuration:</div><div class='add'>+  echo   --help                  display this help</div><div class='add'>+  echo   --srcdir=DIR            find the sources in DIR [configure dir or `..']</div><div class='add'>+  echo Installation directories:</div><div class='add'>+  echo   --prefix=PREFIX         install files in PREFIX (ignored currently)</div><div class='add'>+  echo System types:</div><div class='add'>+  echo   --target=TARGET         configure for TARGET [i386-bccwin32]</div><div class='add'>+  echo Optional Package:</div><div class='add'>+  echo   --with-static-linked-ext link external modules statically</div><div class='add'>+  echo   --enable-install-doc    install rdoc indexes during install</div><div class='add'>+  del ~tmp~.mak</div><div class='add'>+goto :exit</div><div class='add'>+:end</div><div class='add'>+echo&gt;&gt; ~tmp~.mak 	-Dbcc32dir="$(@D)"</div><div class='add'>+make -s -f ~tmp~.mak</div><div class='add'>+:exit</div><div class='head'>diff --git a/bcc32/mkexports.rb b/bcc32/mkexports.rb<br/>new file mode 100755<br/>index 0000000000..dc523e2541<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bcc32/mkexports.rb?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bcc32/mkexports.rb</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!./miniruby -s</div><div class='add'>+</div><div class='add'>+$name = $library = $description = nil</div><div class='add'>+</div><div class='add'>+SYM = {}</div><div class='add'>+STDIN.reopen(open("nul"))</div><div class='add'>+ARGV.each do |obj|</div><div class='add'>+  IO.foreach("|tdump -q -oiPUBDEF -oiPUBD32 #{obj.tr('/', '\\')}") do |l|</div><div class='add'>+    next unless /(?:PUBDEF|PUBD32)/ =~ l</div><div class='add'>+    SYM[$1] = true if /'(.*?)'/ =~ l</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+exports = []</div><div class='add'>+if $name</div><div class='add'>+  exports &lt;&lt; "Name " + $name</div><div class='add'>+elsif $library</div><div class='add'>+  exports &lt;&lt; "Library " + $library</div><div class='add'>+end</div><div class='add'>+exports &lt;&lt; "Description " + $description.dump if $description</div><div class='add'>+exports &lt;&lt; "EXPORTS" &lt;&lt; SYM.keys.sort</div><div class='add'>+</div><div class='add'>+if $output</div><div class='add'>+  open($output, 'w') {|f| f.puts exports.join("\n")}</div><div class='add'>+else</div><div class='add'>+  puts exports.join("\n")</div><div class='add'>+end</div><div class='head'>diff --git a/bcc32/setup.mak b/bcc32/setup.mak<br/>new file mode 100644<br/>index 0000000000..1c922c208f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bcc32/setup.mak?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bcc32/setup.mak</a></div><div class='hunk'>@@ -0,0 +1,133 @@</div><div class='add'>+# -*- makefile -*-</div><div class='add'>+</div><div class='add'>+!if "$(srcdir)" != ""</div><div class='add'>+bcc32dir = $(srcdir)bcc32/</div><div class='add'>+!elseif "$(bcc32dir)" == "bcc32/"</div><div class='add'>+srcdir = ./</div><div class='add'>+!elseif "$(bcc32dir:/bcc32/=)/bcc32/" == "$(bcc32dir)"</div><div class='add'>+srcdir = $(bcc32dir:/bcc32/=/)</div><div class='add'>+!else</div><div class='add'>+srcdir = $(bcc32dir)../</div><div class='add'>+!endif</div><div class='add'>+!ifndef prefix</div><div class='add'>+prefix = /usr</div><div class='add'>+!endif</div><div class='add'>+OS = bccwin32</div><div class='add'>+RT = $(OS)</div><div class='add'>+BANG = !</div><div class='add'>+APPEND = echo&gt;&gt;$(MAKEFILE)</div><div class='add'>+!ifdef MAKEFILE</div><div class='add'>+MAKE = $(MAKE) -f $(MAKEFILE)</div><div class='add'>+!else</div><div class='add'>+MAKEFILE = Makefile</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+all: Makefile</div><div class='add'>+Makefile: -prologue- -generic- -epilogue-</div><div class='add'>+i386-$(OS): -prologue- -i386- -epilogue-</div><div class='add'>+i486-$(OS): -prologue- -i486- -epilogue-</div><div class='add'>+i586-$(OS): -prologue- -i586- -epilogue-</div><div class='add'>+i686-$(OS): -prologue- -i686- -epilogue-</div><div class='add'>+alpha-$(OS): -prologue- -alpha- -epilogue-</div><div class='add'>+</div><div class='add'>+-prologue-: nul</div><div class='add'>+	@echo Creating $(MAKEFILE)</div><div class='add'>+	@type &gt; $(MAKEFILE) &amp;&amp;|</div><div class='add'>+\#\#\# Makefile for ruby $(OS) \#\#\#</div><div class='add'>+$(BANG)ifndef srcdir</div><div class='add'>+srcdir = $(srcdir:\=/)</div><div class='add'>+$(BANG)endif</div><div class='add'>+$(BANG)ifndef prefix</div><div class='add'>+prefix = $(prefix:\=/)</div><div class='add'>+$(BANG)endif</div><div class='add'>+$(BANG)ifndef EXTSTATIC</div><div class='add'>+EXTSTATIC = $(EXTSTATIC)</div><div class='add'>+$(BANG)endif</div><div class='add'>+!if defined(RDOCTARGET)</div><div class='add'>+$(BANG)ifndef RDOCTARGET</div><div class='add'>+RDOCTARGET = $(RDOCTARGET)</div><div class='add'>+$(BANG)endif</div><div class='add'>+!endif</div><div class='add'>+!if defined(EXTOUT)</div><div class='add'>+$(BANG)ifndef EXTOUT</div><div class='add'>+EXTOUT = $(EXTOUT)</div><div class='add'>+$(BANG)endif</div><div class='add'>+!endif</div><div class='add'>+|</div><div class='add'>+	@type &gt; usebormm.bat &amp;&amp;|</div><div class='add'>+@echo off</div><div class='add'>+ilink32 -Gn -x usebormm.lib &gt; nul</div><div class='add'>+if exist usebormm.tds echo MEMLIB = usebormm.lib</div><div class='add'>+|</div><div class='add'>+	@usebormm.bat &gt;&gt; $(MAKEFILE)</div><div class='add'>+	@del usebormm.*</div><div class='add'>+</div><div class='add'>+	@cpp32 -I$(srcdir) -DRUBY_EXTERN="//" -P- -o$(MAKEFILE) &gt; nul &amp;&amp;|</div><div class='add'>+\#include "version.h"</div><div class='add'>+MAJOR = RUBY_VERSION_MAJOR</div><div class='add'>+MINOR = RUBY_VERSION_MINOR</div><div class='add'>+TEENY = RUBY_VERSION_TEENY</div><div class='add'>+|</div><div class='add'>+	@type $(MAKEFILE).i &gt;&gt; $(MAKEFILE)</div><div class='add'>+	@del $(MAKEFILE).i</div><div class='add'>+</div><div class='add'>+-generic-: nul</div><div class='add'>+!if defined(PROCESSOR_ARCHITECTURE) ||  defined(PROCESSOR_LEVEL)</div><div class='add'>+	@type &gt;&gt; $(MAKEFILE) &amp;&amp;|</div><div class='add'>+!if defined(PROCESSOR_ARCHITECTURE)</div><div class='add'>+$(BANG)ifndef PROCESSOR_ARCHITECTURE</div><div class='add'>+PROCESSOR_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)</div><div class='add'>+$(BANG)endif</div><div class='add'>+!endif</div><div class='add'>+!if defined(PROCESSOR_LEVEL)</div><div class='add'>+$(BANG)ifndef PROCESSOR_LEVEL</div><div class='add'>+PROCESSOR_LEVEL = $(PROCESSOR_LEVEL)</div><div class='add'>+$(BANG)endif</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+|</div><div class='add'>+!endif</div><div class='add'>+</div><div class='add'>+-alpha-: nul</div><div class='add'>+	@$(APPEND) !ifndef PROCESSOR_ARCHITECTURE</div><div class='add'>+	@$(APPEND) PROCESSOR_ARCHITECTURE = alpha</div><div class='add'>+	@$(APPEND) !endif</div><div class='add'>+-ix86-: nul</div><div class='add'>+	@$(APPEND) !ifndef PROCESSOR_ARCHITECTURE</div><div class='add'>+	@$(APPEND) PROCESSOR_ARCHITECTURE = x86</div><div class='add'>+	@$(APPEND) !endif</div><div class='add'>+</div><div class='add'>+-i386-: -ix86-</div><div class='add'>+	@$(APPEND) !ifndef PROCESSOR_LEVEL</div><div class='add'>+	@$(APPEND) PROCESSOR_LEVEL = 3</div><div class='add'>+	@$(APPEND) !endif</div><div class='add'>+-i486-: -ix86-</div><div class='add'>+	@$(APPEND) !ifndef PROCESSOR_LEVEL</div><div class='add'>+	@$(APPEND) PROCESSOR_LEVEL = 4</div><div class='add'>+	@$(APPEND) !endif</div><div class='add'>+-i586-: -ix86-</div><div class='add'>+	@$(APPEND) !ifndef PROCESSOR_LEVEL</div><div class='add'>+	@$(APPEND) PROCESSOR_LEVEL = 5</div><div class='add'>+	@$(APPEND) !endif</div><div class='add'>+-i686-: -ix86-</div><div class='add'>+	@$(APPEND) !ifndef PROCESSOR_LEVEL</div><div class='add'>+	@$(APPEND) PROCESSOR_LEVEL = 6</div><div class='add'>+	@$(APPEND) !endif</div><div class='add'>+</div><div class='add'>+-epilogue-: nul</div><div class='add'>+	@type &gt;&gt; $(MAKEFILE) &amp;&amp;|</div><div class='add'>+</div><div class='add'>+\# OS = $(OS)</div><div class='add'>+\# RT = $(RT)</div><div class='add'>+\# RUBY_INSTALL_NAME = ruby</div><div class='add'>+\# RUBY_SO_NAME = $$(RT)-$$(RUBY_INSTALL_NAME)$$(MAJOR)$$(MINOR)</div><div class='add'>+\# CFLAGS = -q $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG) -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi</div><div class='add'>+\# CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\"</div><div class='add'>+\# STACK = 0x2000000</div><div class='add'>+\# LDFLAGS = -S:$$(STACK)</div><div class='add'>+\# RFLAGS = $$(iconinc)</div><div class='add'>+\# EXTLIBS = cw32.lib import32.lib user32.lib kernel32.lib</div><div class='add'>+$(BANG)include $$(srcdir)bcc32/Makefile.sub</div><div class='add'>+|</div><div class='add'>+	@$(srcdir:/=\)\win32\rm.bat config.h config.status</div><div class='add'>+	@echo type "`$(MAKE)'" to make ruby for $(OS).</div><div class='head'>diff --git a/benchmark/README.md b/benchmark/README.md<br/>deleted file mode 100644<br/>index 24a2669143..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/README.md?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/README.md</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,72 +0,0 @@</div><div class='del'>-# ruby/benchmark</div><div class='del'>-</div><div class='del'>-This directory has benchmark definitions to be run with</div><div class='del'>-[benchmark\_driver.gem](https://github.com/benchmark-driver/benchmark-driver).</div><div class='del'>-</div><div class='del'>-## Normal usage</div><div class='del'>-</div><div class='del'>-Execute `gem install benchmark_driver` and run a command like:</div><div class='del'>-</div><div class='del'>-```bash</div><div class='del'>-# Run a benchmark script with the ruby in the $PATH</div><div class='del'>-benchmark-driver benchmark/app_fib.rb</div><div class='del'>-</div><div class='del'>-# Run benchmark scripts with multiple Ruby executables or options</div><div class='del'>-benchmark-driver benchmark/*.rb -e /path/to/ruby -e '/path/to/ruby --jit'</div><div class='del'>-</div><div class='del'>-# Or compare Ruby versions managed by rbenv</div><div class='del'>-benchmark-driver benchmark/*.rb --rbenv '2.5.1;2.6.0-preview2 --jit'</div><div class='del'>-</div><div class='del'>-# You can collect many metrics in many ways</div><div class='del'>-benchmark-driver benchmark/*.rb --runner memory --output markdown</div><div class='del'>-</div><div class='del'>-# Some are defined with YAML for complex setup or accurate measurement</div><div class='del'>-benchmark-driver benchmark/*.yml</div><div class='del'>-```</div><div class='del'>-</div><div class='del'>-See also:</div><div class='del'>-</div><div class='del'>-```console</div><div class='del'>-Usage: benchmark-driver [options] RUBY|YAML...</div><div class='del'>-    -r, --runner TYPE                Specify runner type: ips, time, memory, once (default: ips)</div><div class='del'>-    -o, --output TYPE                Specify output type: compare, simple, markdown, record (default: compare)</div><div class='del'>-    -e, --executables EXECS          Ruby executables (e1::path1 arg1; e2::path2 arg2;...)</div><div class='del'>-        --rbenv VERSIONS             Ruby executables in rbenv (x.x.x arg1;y.y.y arg2;...)</div><div class='del'>-        --repeat-count NUM           Try benchmark NUM times and use the fastest result or the worst memory usage</div><div class='del'>-        --repeat-result TYPE         Yield "best", "average" or "worst" result with --repeat-count (default: best)</div><div class='del'>-        --bundler                    Install and use gems specified in Gemfile</div><div class='del'>-        --filter REGEXP              Filter out benchmarks with given regexp</div><div class='del'>-        --run-duration SECONDS       Warmup estimates loop_count to run for this duration (default: 3)</div><div class='del'>-    -v, --verbose                    Verbose mode. Multiple -v options increase visilibity (max: 2)</div><div class='del'>-```</div><div class='del'>-</div><div class='del'>-## make benchmark</div><div class='del'>-</div><div class='del'>-Using `make benchmark`, `make update-benchmark-driver` automatically downloads</div><div class='del'>-the supported version of benchmark\_driver, and it runs benchmarks with the downloaded</div><div class='del'>-benchmark\_driver.</div><div class='del'>-</div><div class='del'>-```bash</div><div class='del'>-# Run all benchmarks with the ruby in the $PATH and the built ruby</div><div class='del'>-make benchmark</div><div class='del'>-</div><div class='del'>-# Or compare with specific ruby binary</div><div class='del'>-make benchmark COMPARE_RUBY="/path/to/ruby --jit"</div><div class='del'>-</div><div class='del'>-# Run vm1 benchmarks</div><div class='del'>-make benchmark ITEM=vm1</div><div class='del'>-</div><div class='del'>-# Run some limited benchmarks in ITEM-matched files</div><div class='del'>-make benchmark ITEM=vm1 OPTS=--filter=block</div><div class='del'>-</div><div class='del'>-# You can specify the benchmark by an exact filename instead of using the default argument:</div><div class='del'>-# ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb')</div><div class='del'>-make benchmark ARGS=../benchmark/erb_render.yml</div><div class='del'>-</div><div class='del'>-# You can specify any option via $OPTS</div><div class='del'>-make benchmark OPTS="--help"</div><div class='del'>-</div><div class='del'>-# With `make benchmark`, some special runner plugins are available:</div><div class='del'>-#   -r peak, -r size, -r total, -r utime, -r stime, -r cutime, -r cstime</div><div class='del'>-make benchmark ITEM=vm2_bigarray OPTS="-r peak"</div><div class='del'>-```</div><div class='head'>diff --git a/benchmark/app_answer.rb b/benchmark/app_answer.rb<br/>deleted file mode 100644<br/>index 3cd8a8fd37..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_answer.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_answer.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,15 +0,0 @@</div><div class='del'>-def ack(m, n)</div><div class='del'>-  if m == 0 then</div><div class='del'>-    n + 1</div><div class='del'>-  elsif n == 0 then</div><div class='del'>-    ack(m - 1, 1)</div><div class='del'>-  else</div><div class='del'>-    ack(m - 1, ack(m, n - 1))</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def the_answer_to_life_the_universe_and_everything</div><div class='del'>-  (ack(3,7).to_s.split(//).inject(0){|s,x| s+x.to_i}.to_s + "2" ).to_i</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-answer = the_answer_to_life_the_universe_and_everything</div><div class='head'>diff --git a/benchmark/app_aobench.rb b/benchmark/app_aobench.rb<br/>deleted file mode 100644<br/>index 2bd6acfaf8..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_aobench.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_aobench.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,291 +0,0 @@</div><div class='del'>-# AO render benchmark</div><div class='del'>-# Original program (C) Syoyo Fujita in Javascript (and other languages)</div><div class='del'>-#      https://code.google.com/p/aobench/</div><div class='del'>-# Ruby(yarv2llvm) version by Hideki Miura</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-IMAGE_WIDTH = 256</div><div class='del'>-IMAGE_HEIGHT = 256</div><div class='del'>-NSUBSAMPLES = 2</div><div class='del'>-NAO_SAMPLES = 8</div><div class='del'>-</div><div class='del'>-class Vec</div><div class='del'>-  def initialize(x, y, z)</div><div class='del'>-    @x = x</div><div class='del'>-    @y = y</div><div class='del'>-    @z = z</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  attr_accessor :x, :y, :z</div><div class='del'>-</div><div class='del'>-  def vadd(b)</div><div class='del'>-    Vec.new(@x + b.x, @y + b.y, @z + b.z)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def vsub(b)</div><div class='del'>-    Vec.new(@x - b.x, @y - b.y, @z - b.z)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def vcross(b)</div><div class='del'>-    Vec.new(@y * b.z - @z * b.y,</div><div class='del'>-            @z * b.x - @x * b.z,</div><div class='del'>-            @x * b.y - @y * b.x)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def vdot(b)</div><div class='del'>-    @x * b.x + @y * b.y + @z * b.z</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def vlength</div><div class='del'>-    Math.sqrt(@x * @x + @y * @y + @z * @z)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def vnormalize</div><div class='del'>-    len = vlength</div><div class='del'>-    v = Vec.new(@x, @y, @z)</div><div class='del'>-    if len &gt; 1.0e-17 then</div><div class='del'>-      v.x = v.x / len</div><div class='del'>-      v.y = v.y / len</div><div class='del'>-      v.z = v.z / len</div><div class='del'>-    end</div><div class='del'>-    v</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-class Sphere</div><div class='del'>-  def initialize(center, radius)</div><div class='del'>-    @center = center</div><div class='del'>-    @radius = radius</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  attr_reader :center, :radius</div><div class='del'>-</div><div class='del'>-  def intersect(ray, isect)</div><div class='del'>-    rs = ray.org.vsub(@center)</div><div class='del'>-    b = rs.vdot(ray.dir)</div><div class='del'>-    c = rs.vdot(rs) - (@radius * @radius)</div><div class='del'>-    d = b * b - c</div><div class='del'>-    if d &gt; 0.0 then</div><div class='del'>-      t = - b - Math.sqrt(d)</div><div class='del'>-</div><div class='del'>-      if t &gt; 0.0 and t &lt; isect.t then</div><div class='del'>-        isect.t = t</div><div class='del'>-        isect.hit = true</div><div class='del'>-        isect.pl = Vec.new(ray.org.x + ray.dir.x * t,</div><div class='del'>-                          ray.org.y + ray.dir.y * t,</div><div class='del'>-                          ray.org.z + ray.dir.z * t)</div><div class='del'>-        n = isect.pl.vsub(@center)</div><div class='del'>-        isect.n = n.vnormalize</div><div class='del'>-      else</div><div class='del'>-        0.0</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    nil</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Plane</div><div class='del'>-  def initialize(p, n)</div><div class='del'>-    @p = p</div><div class='del'>-    @n = n</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def intersect(ray, isect)</div><div class='del'>-    d = -@p.vdot(@n)</div><div class='del'>-    v = ray.dir.vdot(@n)</div><div class='del'>-    v0 = v</div><div class='del'>-    if v &lt; 0.0 then</div><div class='del'>-      v0 = -v</div><div class='del'>-    end</div><div class='del'>-    if v0 &lt; 1.0e-17 then</div><div class='del'>-      return</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    t = -(ray.org.vdot(@n) + d) / v</div><div class='del'>-</div><div class='del'>-    if t &gt; 0.0 and t &lt; isect.t then</div><div class='del'>-      isect.hit = true</div><div class='del'>-      isect.t = t</div><div class='del'>-      isect.n = @n</div><div class='del'>-      isect.pl = Vec.new(ray.org.x + t * ray.dir.x,</div><div class='del'>-                        ray.org.y + t * ray.dir.y,</div><div class='del'>-                        ray.org.z + t * ray.dir.z)</div><div class='del'>-    end</div><div class='del'>-    nil</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Ray</div><div class='del'>-  def initialize(org, dir)</div><div class='del'>-    @org = org</div><div class='del'>-    @dir = dir</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  attr_accessor :org, :dir</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Isect</div><div class='del'>-  def initialize</div><div class='del'>-    @t = 10000000.0</div><div class='del'>-    @hit = false</div><div class='del'>-    @pl = Vec.new(0.0, 0.0, 0.0)</div><div class='del'>-    @n = Vec.new(0.0, 0.0, 0.0)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  attr_accessor :t, :hit, :pl, :n</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def clamp(f)</div><div class='del'>-  i = f * 255.5</div><div class='del'>-  if i &gt; 255.0 then</div><div class='del'>-    i = 255.0</div><div class='del'>-  end</div><div class='del'>-  if i &lt; 0.0 then</div><div class='del'>-    i = 0.0</div><div class='del'>-  end</div><div class='del'>-  i.to_i</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def otherBasis(basis, n)</div><div class='del'>-  basis[2] = Vec.new(n.x, n.y, n.z)</div><div class='del'>-  basis[1] = Vec.new(0.0, 0.0, 0.0)</div><div class='del'>-</div><div class='del'>-  if n.x &lt; 0.6 and n.x &gt; -0.6 then</div><div class='del'>-    basis[1].x = 1.0</div><div class='del'>-  elsif n.y &lt; 0.6 and n.y &gt; -0.6 then</div><div class='del'>-    basis[1].y = 1.0</div><div class='del'>-  elsif n.z &lt; 0.6 and n.z &gt; -0.6 then</div><div class='del'>-    basis[1].z = 1.0</div><div class='del'>-  else</div><div class='del'>-    basis[1].x = 1.0</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  basis[0] = basis[1].vcross(basis[2])</div><div class='del'>-  basis[0] = basis[0].vnormalize</div><div class='del'>-</div><div class='del'>-  basis[1] = basis[2].vcross(basis[0])</div><div class='del'>-  basis[1] = basis[1].vnormalize</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Scene</div><div class='del'>-  def initialize</div><div class='del'>-    @spheres = Array.new</div><div class='del'>-    @spheres[0] = Sphere.new(Vec.new(-2.0, 0.0, -3.5), 0.5)</div><div class='del'>-    @spheres[1] = Sphere.new(Vec.new(-0.5, 0.0, -3.0), 0.5)</div><div class='del'>-    @spheres[2] = Sphere.new(Vec.new(1.0, 0.0, -2.2), 0.5)</div><div class='del'>-    @plane = Plane.new(Vec.new(0.0, -0.5, 0.0), Vec.new(0.0, 1.0, 0.0))</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def ambient_occlusion(isect)</div><div class='del'>-    basis = Array.new</div><div class='del'>-    otherBasis(basis, isect.n)</div><div class='del'>-</div><div class='del'>-    ntheta    = NAO_SAMPLES</div><div class='del'>-    nphi      = NAO_SAMPLES</div><div class='del'>-    eps       = 0.0001</div><div class='del'>-    occlusion = 0.0</div><div class='del'>-</div><div class='del'>-    p0 = Vec.new(isect.pl.x + eps * isect.n.x,</div><div class='del'>-                isect.pl.y + eps * isect.n.y,</div><div class='del'>-                isect.pl.z + eps * isect.n.z)</div><div class='del'>-    nphi.times do |j|</div><div class='del'>-      ntheta.times do |i|</div><div class='del'>-        r = rand</div><div class='del'>-        phi = 2.0 * 3.14159265 * rand</div><div class='del'>-        x = Math.cos(phi) * Math.sqrt(1.0 - r)</div><div class='del'>-        y = Math.sin(phi) * Math.sqrt(1.0 - r)</div><div class='del'>-        z = Math.sqrt(r)</div><div class='del'>-</div><div class='del'>-        rx = x * basis[0].x + y * basis[1].x + z * basis[2].x</div><div class='del'>-        ry = x * basis[0].y + y * basis[1].y + z * basis[2].y</div><div class='del'>-        rz = x * basis[0].z + y * basis[1].z + z * basis[2].z</div><div class='del'>-</div><div class='del'>-        raydir = Vec.new(rx, ry, rz)</div><div class='del'>-        ray = Ray.new(p0, raydir)</div><div class='del'>-</div><div class='del'>-        occisect = Isect.new</div><div class='del'>-        @spheres[0].intersect(ray, occisect)</div><div class='del'>-        @spheres[1].intersect(ray, occisect)</div><div class='del'>-        @spheres[2].intersect(ray, occisect)</div><div class='del'>-        @plane.intersect(ray, occisect)</div><div class='del'>-        if occisect.hit then</div><div class='del'>-          occlusion = occlusion + 1.0</div><div class='del'>-        else</div><div class='del'>-          0.0</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    occlusion = (ntheta.to_f * nphi.to_f - occlusion) / (ntheta.to_f * nphi.to_f)</div><div class='del'>-</div><div class='del'>-    Vec.new(occlusion, occlusion, occlusion)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def render(w, h, nsubsamples)</div><div class='del'>-    cnt = 0</div><div class='del'>-    nsf = nsubsamples.to_f</div><div class='del'>-    h.times do |y|</div><div class='del'>-      w.times do |x|</div><div class='del'>-        rad = Vec.new(0.0, 0.0, 0.0)</div><div class='del'>-</div><div class='del'>-        # Subsampling</div><div class='del'>-        nsubsamples.times do |v|</div><div class='del'>-          nsubsamples.times do |u|</div><div class='del'>-</div><div class='del'>-            cnt = cnt + 1</div><div class='del'>-            wf = w.to_f</div><div class='del'>-            hf = h.to_f</div><div class='del'>-            xf = x.to_f</div><div class='del'>-            yf = y.to_f</div><div class='del'>-            uf = u.to_f</div><div class='del'>-            vf = v.to_f</div><div class='del'>-</div><div class='del'>-            px = (xf + (uf / nsf) - (wf / 2.0)) / (wf / 2.0)</div><div class='del'>-            py = -(yf + (vf / nsf) - (hf / 2.0)) / (hf / 2.0)</div><div class='del'>-</div><div class='del'>-            eye = Vec.new(px, py, -1.0).vnormalize</div><div class='del'>-</div><div class='del'>-            ray = Ray.new(Vec.new(0.0, 0.0, 0.0), eye)</div><div class='del'>-</div><div class='del'>-            isect = Isect.new</div><div class='del'>-            @spheres[0].intersect(ray, isect)</div><div class='del'>-            @spheres[1].intersect(ray, isect)</div><div class='del'>-            @spheres[2].intersect(ray, isect)</div><div class='del'>-            @plane.intersect(ray, isect)</div><div class='del'>-            if isect.hit then</div><div class='del'>-              col = ambient_occlusion(isect)</div><div class='del'>-              rad.x = rad.x + col.x</div><div class='del'>-              rad.y = rad.y + col.y</div><div class='del'>-              rad.z = rad.z + col.z</div><div class='del'>-            end</div><div class='del'>-          end</div><div class='del'>-        end</div><div class='del'>-</div><div class='del'>-        r = rad.x / (nsf * nsf)</div><div class='del'>-        g = rad.y / (nsf * nsf)</div><div class='del'>-        b = rad.z / (nsf * nsf)</div><div class='del'>-        printf("%c", clamp(r))</div><div class='del'>-        printf("%c", clamp(g))</div><div class='del'>-        printf("%c", clamp(b))</div><div class='del'>-      end</div><div class='del'>-      nil</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    nil</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-alias printf_orig printf</div><div class='del'>-def printf *args</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# File.open("ao.ppm", "w") do |fp|</div><div class='del'>-  printf("P6\n")</div><div class='del'>-  printf("%d %d\n", IMAGE_WIDTH, IMAGE_HEIGHT)</div><div class='del'>-  printf("255\n", IMAGE_WIDTH, IMAGE_HEIGHT)</div><div class='del'>-  Scene.new.render(IMAGE_WIDTH, IMAGE_HEIGHT, NSUBSAMPLES)</div><div class='del'>-# end</div><div class='del'>-</div><div class='del'>-undef printf</div><div class='del'>-alias printf printf_orig</div><div class='head'>diff --git a/benchmark/app_erb.yml b/benchmark/app_erb.yml<br/>deleted file mode 100644<br/>index 8583858d20..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_erb.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_erb.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# Create many HTML strings with ERB.</div><div class='del'>-#</div><div class='del'>-prelude: |</div><div class='del'>-  require 'erb'</div><div class='del'>-</div><div class='del'>-  data = &lt;&lt;erb</div><div class='del'>-  &lt;html&gt;</div><div class='del'>-    &lt;head&gt; &lt;%= title %&gt; &lt;/head&gt;</div><div class='del'>-    &lt;body&gt;</div><div class='del'>-      &lt;h1&gt; &lt;%= title %&gt; &lt;/h1&gt;</div><div class='del'>-      &lt;p&gt;</div><div class='del'>-        &lt;%= content %&gt;</div><div class='del'>-      &lt;/p&gt;</div><div class='del'>-    &lt;/body&gt;</div><div class='del'>-  &lt;/html&gt;</div><div class='del'>-  erb</div><div class='del'>-</div><div class='del'>-  max = 15_000</div><div class='del'>-  title = "hello world!"</div><div class='del'>-  content = "hello world!\n" * 10</div><div class='del'>-benchmark:</div><div class='del'>-  app_erb: ERB.new(data).result(binding)</div><div class='del'>-loop_count: 15000</div><div class='head'>diff --git a/benchmark/app_factorial.rb b/benchmark/app_factorial.rb<br/>deleted file mode 100644<br/>index 45f471dfdb..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_factorial.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_factorial.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-def fact(n)</div><div class='del'>-  if(n &gt; 1)</div><div class='del'>-    n * fact(n-1)</div><div class='del'>-  else</div><div class='del'>-    1</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-100.times {</div><div class='del'>-  fact(5000)</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/app_fib.rb b/benchmark/app_fib.rb<br/>deleted file mode 100644<br/>index 34a7b2e725..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_fib.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_fib.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-def fib n</div><div class='del'>-  if n &lt; 3</div><div class='del'>-    1</div><div class='del'>-  else</div><div class='del'>-    fib(n-1) + fib(n-2)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-fib(34)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/app_lc_fizzbuzz.rb b/benchmark/app_lc_fizzbuzz.rb<br/>deleted file mode 100644<br/>index f09574bbeb..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_lc_fizzbuzz.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_lc_fizzbuzz.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,52 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# FizzBuzz program using only lambda calculus</div><div class='del'>-#</div><div class='del'>-# This program is quoted from</div><div class='del'>-#   "Understanding Computation" by Tom Stuart</div><div class='del'>-#   http://computationbook.com/</div><div class='del'>-#</div><div class='del'>-# You can understand why this program works fine by reading this book.</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-solution = -&gt; k { -&gt; f { -&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; l { -&gt; x { -&gt; g { -&gt; b { b }[-&gt; p { p[-&gt; x { -&gt; y { x } }] }[l]][x][-&gt; y { g[f[-&gt; l { -&gt; p { p[-&gt; x { -&gt; y { y } }] }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[l]] }[l]][x][g]][-&gt; l { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[l]] }[l]][y] }] } } } }][k][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]][-&gt; l { -&gt; x { -&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[l][f[x]] } }] } }[-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; m { -&gt; n { -&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[m][n]][-&gt; x { -&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[f[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[m]][n]][m][x] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]] } } }][-&gt; p { -&gt; x { p[x] } }][-&gt; p { -&gt; x { p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[x]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] } }]][-&gt; n { -&gt; b { b }[-&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; m { -&gt; n { -&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[n][m]][-&gt; x { f[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-&gt; p { -&gt; x { p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[x]]]]]]]]]]]]]]] } }]]][-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]][-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]][-&gt; b { b }[-&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; m { -&gt; n { -&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[n][m]][-&gt; x { f[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-&gt; p { -&gt; x { p[p[p[x]]] } }]]][-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]][-&gt; b { b }[-&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; m { -&gt; n { -&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[n][m]][-&gt; x { f[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]][-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]]]][-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]][-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; n { -&gt; l { -&gt; x { -&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; l { -&gt; x { -&gt; g { -&gt; b { b }[-&gt; p { p[-&gt; x { -&gt; y { x } }] }[l]][x][-&gt; y { g[f[-&gt; l { -&gt; p { p[-&gt; x { -&gt; y { y } }] }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[l]] }[l]][x][g]][-&gt; l { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[l]] }[l]][y] }] } } } }][l][-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }[-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]][x]][-&gt; l { -&gt; x { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { y } }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[x][l]] } }] } }[-&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[n][-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }[-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]]][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; x { -&gt; y { x } }][-&gt; x { -&gt; y { x } }]][-&gt; x { f[-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; m { -&gt; n { -&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[n][m]][-&gt; x { -&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[f[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]][n]][x] }][-&gt; p { -&gt; x { x } }] } } }][n][-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]][x] }]][-&gt; f { -&gt; x { f[-&gt; y { x[x][y] }] }[-&gt; x { f[-&gt; y { x[x][y] }] }] }[-&gt; f { -&gt; m { -&gt; n { -&gt; b { b }[-&gt; m { -&gt; n { -&gt; n { n[-&gt; x { -&gt; x { -&gt; y { y } } }][-&gt; x { -&gt; y { x } }] }[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]] } }[n][m]][-&gt; x { f[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { p[-&gt; x { -&gt; y { x } }] }[n[-&gt; p { -&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]][-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }[-&gt; p { p[-&gt; x { -&gt; y { y } }] }[p]]] }][-&gt; x { -&gt; y { -&gt; f { f[x][y] } } }[-&gt; p { -&gt; x { x } }][-&gt; p { -&gt; x { x } }]]] }][m] } }[m][n]][n][x] }][m] } } }][n][-&gt; m { -&gt; n { n[-&gt; m { -&gt; n { n[-&gt; n { -&gt; p { -&gt; x { p[n[p][x]] } } }][m] } }[m]][-&gt; p { -&gt; x { x } }] } }[-&gt; p { -&gt; x { p[p[x]] } }][-&gt; p { -&gt; x { p[p[p[p[p[x]]]]] } }]]] } }][n]]]] }]</div><div class='del'>-</div><div class='del'>-FIRST     = -&gt; l { LEFT[RIGHT[l]] }</div><div class='del'>-IF        = -&gt; b { b }</div><div class='del'>-LEFT      = -&gt; p { p[-&gt; x { -&gt; y { x } } ] }</div><div class='del'>-RIGHT     = -&gt; p { p[-&gt; x { -&gt; y { y } } ] }</div><div class='del'>-IS_EMPTY  = LEFT</div><div class='del'>-REST      = -&gt; l { RIGHT[RIGHT[l]] }</div><div class='del'>-</div><div class='del'>-def to_integer(proc)</div><div class='del'>-  proc[-&gt; n { n + 1 }][0]</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def to_boolean(proc)</div><div class='del'>-  IF[proc][true][false]</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def to_array(proc)</div><div class='del'>-  array = []</div><div class='del'>-</div><div class='del'>-  until to_boolean(IS_EMPTY[proc])</div><div class='del'>-    array.push(FIRST[proc])</div><div class='del'>-    proc = REST[proc]</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  array</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def to_char(c)</div><div class='del'>-  '0123456789BFiuz'.slice(to_integer(c))</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def to_string(s)</div><div class='del'>-  to_array(s).map { |c| to_char(c) }.join</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-answer = to_array(solution).map do |p|</div><div class='del'>-  to_string(p)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-answer_ary = answer.to_a</div><div class='del'>-# puts answer_ary</div><div class='head'>diff --git a/benchmark/app_mandelbrot.rb b/benchmark/app_mandelbrot.rb<br/>deleted file mode 100644<br/>index 801b75e8e2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_mandelbrot.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_mandelbrot.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,23 +0,0 @@</div><div class='del'>-require 'complex'</div><div class='del'>-</div><div class='del'>-def mandelbrot? z</div><div class='del'>-  i = 0</div><div class='del'>-  while i&lt;100</div><div class='del'>-    i += 1</div><div class='del'>-    z = z * z</div><div class='del'>-    return false if z.abs &gt; 2</div><div class='del'>-  end</div><div class='del'>-  true</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ary = []</div><div class='del'>-</div><div class='del'>-(0..1000).each{|dx|</div><div class='del'>-  (0..1000).each{|dy|</div><div class='del'>-    x = dx / 50.0</div><div class='del'>-    y = dy / 50.0</div><div class='del'>-    c = Complex(x, y)</div><div class='del'>-    ary &lt;&lt; c if mandelbrot?(c)</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/app_pentomino.rb b/benchmark/app_pentomino.rb<br/>deleted file mode 100644<br/>index 47be7b203f..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_pentomino.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_pentomino.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,130 +0,0 @@</div><div class='del'>-#!/usr/local/bin/ruby</div><div class='del'>-# This program is contributed by Shin Nishiyama</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# modified by K.Sasada</div><div class='del'>-</div><div class='del'>-NP = 5</div><div class='del'>-ROW = 8 + NP</div><div class='del'>-COL = 8</div><div class='del'>-</div><div class='del'>-$p = []</div><div class='del'>-$b = []</div><div class='del'>-$no = 0</div><div class='del'>-</div><div class='del'>-def piece(n, a, nb)</div><div class='del'>-  nb.each{|x|</div><div class='del'>-    a[n] = x</div><div class='del'>-    if n == NP-1</div><div class='del'>-      $p &lt;&lt; [a.sort]</div><div class='del'>-    else</div><div class='del'>-      nbc=nb.dup</div><div class='del'>-      [-ROW, -1, 1, ROW].each{|d|</div><div class='del'>-        if x+d &gt; 0 and not a.include?(x+d) and not nbc.include?(x+d)</div><div class='del'>-          nbc &lt;&lt; x+d</div><div class='del'>-        end</div><div class='del'>-      }</div><div class='del'>-      nbc.delete x</div><div class='del'>-      piece(n+1,a[0..n],nbc)</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def kikaku(a)</div><div class='del'>-  a.collect {|x| x - a[0]}</div><div class='del'>-end</div><div class='del'>-def ud(a)</div><div class='del'>-  kikaku(a.collect {|x| ((x+NP)%ROW)-ROW*((x+NP)/ROW) }.sort)</div><div class='del'>-end</div><div class='del'>-def rl(a)</div><div class='del'>-  kikaku(a.collect {|x| ROW*((x+NP)/ROW)+ROW-((x+NP)%ROW)}.sort)</div><div class='del'>-end</div><div class='del'>-def xy(a)</div><div class='del'>-  kikaku(a.collect {|x| ROW*((x+NP)%ROW) + (x+NP)/ROW }.sort)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def mkpieces</div><div class='del'>-  piece(0,[],[0])</div><div class='del'>-  $p.each do |a|</div><div class='del'>-    a0 = a[0]</div><div class='del'>-    a[1] = ud(a0)</div><div class='del'>-    a[2] = rl(a0)</div><div class='del'>-    a[3] = ud(rl(a0))</div><div class='del'>-    a[4] = xy(a0)</div><div class='del'>-    a[5] = ud(xy(a0))</div><div class='del'>-    a[6] = rl(xy(a0))</div><div class='del'>-    a[7] = ud(rl(xy(a0)))</div><div class='del'>-    a.sort!</div><div class='del'>-    a.uniq!</div><div class='del'>-  end</div><div class='del'>-  $p.uniq!.sort! {|x,y| x[0] &lt;=&gt; y[0] }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def mkboard</div><div class='del'>-  (0...ROW*COL).each{|i|</div><div class='del'>-    if i % ROW &gt;= ROW-NP</div><div class='del'>-      $b[i] = -2</div><div class='del'>-    else</div><div class='del'>-      $b[i] = -1</div><div class='del'>-    end</div><div class='del'>-    $b[3*ROW+3]=$b[3*ROW+4]=$b[4*ROW+3]=$b[4*ROW+4]=-2</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def pboard</div><div class='del'>-  return # skip print</div><div class='del'>-  print "No. #$no\n"</div><div class='del'>-  (0...COL).each{|i|</div><div class='del'>-    print "|"</div><div class='del'>-    (0...ROW-NP).each{|j|</div><div class='del'>-      x = $b[i*ROW+j]</div><div class='del'>-      if x &lt; 0</div><div class='del'>-        print "..|"</div><div class='del'>-      else</div><div class='del'>-        printf "%2d|",x+1</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-    print "\n"</div><div class='del'>-  }</div><div class='del'>-  print "\n"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-$pnum=[]</div><div class='del'>-def setpiece(a,pos)</div><div class='del'>-  if a.length == $p.length then</div><div class='del'>-    $no += 1</div><div class='del'>-    pboard</div><div class='del'>-    return</div><div class='del'>-  end</div><div class='del'>-  while $b[pos] != -1</div><div class='del'>-    pos += 1</div><div class='del'>-  end</div><div class='del'>-  ($pnum - a).each do |i|</div><div class='del'>-    $p[i].each do |x|</div><div class='del'>-      f = 0</div><div class='del'>-      x.each{|s|</div><div class='del'>-        if $b[pos+s] != -1</div><div class='del'>-          f=1</div><div class='del'>-          break</div><div class='del'>-        end</div><div class='del'>-      }</div><div class='del'>-      if f == 0 then</div><div class='del'>-        x.each{|s|</div><div class='del'>-          $b[pos+s] = i</div><div class='del'>-        }</div><div class='del'>-        a &lt;&lt; i</div><div class='del'>-        setpiece(a.dup, pos)</div><div class='del'>-        a.pop</div><div class='del'>-        x.each{|s|</div><div class='del'>-          $b[pos+s] = -1</div><div class='del'>-        }</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-mkpieces</div><div class='del'>-mkboard</div><div class='del'>-$p[4] = [$p[4][0]]</div><div class='del'>-$pnum = (0...$p.length).to_a</div><div class='del'>-setpiece([],0)</div><div class='head'>diff --git a/benchmark/app_raise.rb b/benchmark/app_raise.rb<br/>deleted file mode 100644<br/>index 5db8f95d50..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_raise.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_raise.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;300000</div><div class='del'>-  i += 1</div><div class='del'>-  begin</div><div class='del'>-    raise</div><div class='del'>-  rescue</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/app_strconcat.rb b/benchmark/app_strconcat.rb<br/>deleted file mode 100644<br/>index 7eed7c1aed..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_strconcat.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_strconcat.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;2_000_000</div><div class='del'>-  "#{1+1} #{1+1} #{1+1}"</div><div class='del'>-  i += 1</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/app_tak.rb b/benchmark/app_tak.rb<br/>deleted file mode 100644<br/>index efe5380f4e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_tak.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_tak.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-</div><div class='del'>-def tak x, y, z</div><div class='del'>-  unless y &lt; x</div><div class='del'>-    z</div><div class='del'>-  else</div><div class='del'>-    tak( tak(x-1, y, z),</div><div class='del'>-         tak(y-1, z, x),</div><div class='del'>-         tak(z-1, x, y))</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-tak(18, 9, 0)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/app_tarai.rb b/benchmark/app_tarai.rb<br/>deleted file mode 100644<br/>index 4c146f5ccf..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_tarai.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_tarai.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-def tarai( x, y, z )</div><div class='del'>-  if x &lt;= y</div><div class='del'>-  then y</div><div class='del'>-  else tarai(tarai(x-1, y, z),</div><div class='del'>-             tarai(y-1, z, x),</div><div class='del'>-             tarai(z-1, x, y))</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-tarai(12, 6, 0)</div><div class='head'>diff --git a/benchmark/app_uri.rb b/benchmark/app_uri.rb<br/>deleted file mode 100644<br/>index 586edfd5dc..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/app_uri.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/app_uri.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-require 'uri'</div><div class='del'>-</div><div class='del'>-100_000.times{</div><div class='del'>-  uri = URI.parse('http://www.ruby-lang.org')</div><div class='del'>-  uri.scheme</div><div class='del'>-  uri.host</div><div class='del'>-  uri.port</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/array_sample_100k_10.rb b/benchmark/array_sample_100k_10.rb<br/>deleted file mode 100644<br/>index 5f41ecc32b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k_10.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k_10.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 10}</div><div class='head'>diff --git a/benchmark/array_sample_100k_11.rb b/benchmark/array_sample_100k_11.rb<br/>deleted file mode 100644<br/>index 18b1715319..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k_11.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k_11.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 11}</div><div class='head'>diff --git a/benchmark/array_sample_100k__100.rb b/benchmark/array_sample_100k__100.rb<br/>deleted file mode 100644<br/>index 22863afe89..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k__100.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k__100.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 100}</div><div class='head'>diff --git a/benchmark/array_sample_100k__1k.rb b/benchmark/array_sample_100k__1k.rb<br/>deleted file mode 100644<br/>index 4cd79e6c67..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k__1k.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k__1k.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 1000}</div><div class='head'>diff --git a/benchmark/array_sample_100k__6k.rb b/benchmark/array_sample_100k__6k.rb<br/>deleted file mode 100644<br/>index b3d264249e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k__6k.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k__6k.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 6000}</div><div class='head'>diff --git a/benchmark/array_sample_100k___10k.rb b/benchmark/array_sample_100k___10k.rb<br/>deleted file mode 100644<br/>index 5dd55ec058..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k___10k.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k___10k.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 10_000}</div><div class='head'>diff --git a/benchmark/array_sample_100k___50k.rb b/benchmark/array_sample_100k___50k.rb<br/>deleted file mode 100644<br/>index 1506732c3c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sample_100k___50k.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sample_100k___50k.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = [*0...100000]</div><div class='del'>-10_000.times {arr.sample 50_000}</div><div class='head'>diff --git a/benchmark/array_shift.rb b/benchmark/array_shift.rb<br/>deleted file mode 100644<br/>index 798bb9e3f4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_shift.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_shift.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-require 'benchmark'</div><div class='del'>-</div><div class='del'>-Benchmark.bm do |x|</div><div class='del'>-  [10_000,1_000_000,100_000_000].each do |n|</div><div class='del'>-    ary = Array.new(n,0)</div><div class='del'>-    GC.start</div><div class='del'>-    x.report("#{n}:shift"){ ary.shift }</div><div class='del'>-    (0..4).each do |i|</div><div class='del'>-      ary = Array.new(n,0)</div><div class='del'>-      GC.start</div><div class='del'>-      x.report("#{n}:shift(#{i})"){ ary.shift(i) }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/array_small_and.rb b/benchmark/array_small_and.rb<br/>deleted file mode 100644<br/>index e53a6edae6..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_small_and.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_small_and.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-MIN_SIZE = ENV.fetch('SMALL_ARRAY_MIN', 0).to_i</div><div class='del'>-MAX_SIZE = ENV.fetch('SMALL_ARRAY_MAX', 16).to_i</div><div class='del'>-ITERATIONS = ENV.fetch('SMALL_ARRAY_ITERATIONS', 100).to_i</div><div class='del'>-</div><div class='del'>-ARRAYS = (MIN_SIZE..MAX_SIZE).map do |size1|</div><div class='del'>-  (MIN_SIZE..MAX_SIZE).map do |size2|</div><div class='del'>-    [Array.new(size1) { rand(MAX_SIZE) }, Array.new(size2) { rand(MAX_SIZE) }]</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ITERATIONS.times do</div><div class='del'>-  ARRAYS.each do |group|</div><div class='del'>-    group.each do |arr1, arr2|</div><div class='del'>-      arr1 &amp; arr2</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/array_small_diff.rb b/benchmark/array_small_diff.rb<br/>deleted file mode 100644<br/>index 9661ee48db..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_small_diff.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_small_diff.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-MIN_SIZE = ENV.fetch('SMALL_ARRAY_MIN', 0).to_i</div><div class='del'>-MAX_SIZE = ENV.fetch('SMALL_ARRAY_MAX', 16).to_i</div><div class='del'>-ITERATIONS = ENV.fetch('SMALL_ARRAY_ITERATIONS', 100).to_i</div><div class='del'>-</div><div class='del'>-ARRAYS = (MIN_SIZE..MAX_SIZE).map do |size1|</div><div class='del'>-  (MIN_SIZE..MAX_SIZE).map do |size2|</div><div class='del'>-    [Array.new(size1) { rand(MAX_SIZE) }, Array.new(size2) { rand(MAX_SIZE) }]</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ITERATIONS.times do</div><div class='del'>-  ARRAYS.each do |group|</div><div class='del'>-    group.each do |arr1, arr2|</div><div class='del'>-      arr1 - arr2</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/array_small_or.rb b/benchmark/array_small_or.rb<br/>deleted file mode 100644<br/>index c58b5fd1ff..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_small_or.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_small_or.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-MIN_SIZE = ENV.fetch('SMALL_ARRAY_MIN', 0).to_i</div><div class='del'>-MAX_SIZE = ENV.fetch('SMALL_ARRAY_MAX', 16).to_i</div><div class='del'>-ITERATIONS = ENV.fetch('SMALL_ARRAY_ITERATIONS', 100).to_i</div><div class='del'>-</div><div class='del'>-ARRAYS = (MIN_SIZE..MAX_SIZE).map do |size1|</div><div class='del'>-  (MIN_SIZE..MAX_SIZE).map do |size2|</div><div class='del'>-    [Array.new(size1) { rand(MAX_SIZE) }, Array.new(size2) { rand(MAX_SIZE) }]</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ITERATIONS.times do</div><div class='del'>-  ARRAYS.each do |group|</div><div class='del'>-    group.each do |arr1, arr2|</div><div class='del'>-      arr1 | arr2</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/array_sort_block.rb b/benchmark/array_sort_block.rb<br/>deleted file mode 100644<br/>index 3579786056..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sort_block.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sort_block.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-ary = Array.new(1000) { rand(1000) }</div><div class='del'>-10000.times { ary.sort { |a, b| a &lt;=&gt; b } }</div><div class='head'>diff --git a/benchmark/array_sort_float.rb b/benchmark/array_sort_float.rb<br/>deleted file mode 100644<br/>index 9a6e2f8bd2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_sort_float.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_sort_float.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-arr = Array.new(1000) { rand }</div><div class='del'>-10000.times { arr.sort }</div><div class='head'>diff --git a/benchmark/array_values_at_int.rb b/benchmark/array_values_at_int.rb<br/>deleted file mode 100644<br/>index 6cb394cb9f..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_values_at_int.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_values_at_int.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-ary = Array.new(10000) {|i| i}</div><div class='del'>-100000.times { ary.values_at(500) }</div><div class='head'>diff --git a/benchmark/array_values_at_range.rb b/benchmark/array_values_at_range.rb<br/>deleted file mode 100644<br/>index 5b53806d1c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/array_values_at_range.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/array_values_at_range.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-ary = Array.new(10000) {|i| i}</div><div class='del'>-100000.times { ary.values_at(1..2000) }</div><div class='head'>diff --git a/benchmark/bighash.rb b/benchmark/bighash.rb<br/>deleted file mode 100644<br/>index e2ad5a5c94..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/bighash.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/bighash.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-h = {}; 5000000.times {|n| h[n] = n }</div><div class='head'>diff --git a/benchmark/dir_empty_p.rb b/benchmark/dir_empty_p.rb<br/>deleted file mode 100644<br/>index 8329c757cf..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/dir_empty_p.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/dir_empty_p.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-require 'tmpdir'</div><div class='del'>-max = 100_000</div><div class='del'>-Dir.mktmpdir('bm_dir_empty_p') do |dir|</div><div class='del'>-  max.times { Dir.empty?(dir) }</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/enum_lazy_grep_v_100.rb b/benchmark/enum_lazy_grep_v_100.rb<br/>deleted file mode 100644<br/>index 8832392e65..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/enum_lazy_grep_v_100.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_grep_v_100.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-grep_data = (1..10).to_a * 1000</div><div class='del'>-N = 100</div><div class='del'>-enum = grep_data.lazy.grep_v(-&gt;(i){i == 0}).grep_v(-&gt;(i){i == 0})</div><div class='del'>-N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/enum_lazy_grep_v_20.rb b/benchmark/enum_lazy_grep_v_20.rb<br/>deleted file mode 100644<br/>index 329509fa8f..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/enum_lazy_grep_v_20.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_grep_v_20.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-grep_data = (1..10).to_a * 1000</div><div class='del'>-N = 100</div><div class='del'>-enum = grep_data.lazy.grep_v(-&gt;(i){i &gt; 2}).grep_v(-&gt;(i){i &gt; 2})</div><div class='del'>-N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/enum_lazy_grep_v_50.rb b/benchmark/enum_lazy_grep_v_50.rb<br/>deleted file mode 100644<br/>index 02ea4d4e71..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/enum_lazy_grep_v_50.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_grep_v_50.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-grep_data = (1..10).to_a * 1000</div><div class='del'>-N = 100</div><div class='del'>-enum = grep_data.lazy.grep_v(-&gt;(i){i &gt; 5}).grep_v(-&gt;(i){i &gt; 5})</div><div class='del'>-N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/enum_lazy_uniq_100.rb b/benchmark/enum_lazy_uniq_100.rb<br/>deleted file mode 100644<br/>index 2e6434d9c4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/enum_lazy_uniq_100.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_uniq_100.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-uniq_data = (1..10_000).to_a</div><div class='del'>-N = 100</div><div class='del'>-enum = uniq_data.lazy.uniq {|i| i % 10000}.uniq {|i| i % 10000}</div><div class='del'>-N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/enum_lazy_uniq_20.rb b/benchmark/enum_lazy_uniq_20.rb<br/>deleted file mode 100644<br/>index 75e6398fee..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/enum_lazy_uniq_20.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_uniq_20.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-uniq_data = (1..10_000).to_a</div><div class='del'>-N = 100</div><div class='del'>-enum = uniq_data.lazy.uniq {|i| i % 2000}.uniq {|i| i % 2000}</div><div class='del'>-N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/enum_lazy_uniq_50.rb b/benchmark/enum_lazy_uniq_50.rb<br/>deleted file mode 100644<br/>index 59a39b78ff..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/enum_lazy_uniq_50.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/enum_lazy_uniq_50.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-uniq_data = (1..10_000).to_a</div><div class='del'>-N = 100</div><div class='del'>-enum = uniq_data.lazy.uniq {|i| i % 5000}.uniq {|i| i % 5000}</div><div class='del'>-N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/erb_render.yml b/benchmark/erb_render.yml<br/>deleted file mode 100644<br/>index 15f6c3880b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/erb_render.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/erb_render.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  require 'erb'</div><div class='del'>-</div><div class='del'>-  data = &lt;&lt;erb</div><div class='del'>-  &lt;html&gt;</div><div class='del'>-    &lt;head&gt; &lt;%= title %&gt; &lt;/head&gt;</div><div class='del'>-    &lt;body&gt;</div><div class='del'>-      &lt;h1&gt; &lt;%= title %&gt; &lt;/h1&gt;</div><div class='del'>-      &lt;p&gt;</div><div class='del'>-        &lt;%= content %&gt;</div><div class='del'>-      &lt;/p&gt;</div><div class='del'>-    &lt;/body&gt;</div><div class='del'>-  &lt;/html&gt;</div><div class='del'>-  erb</div><div class='del'>-</div><div class='del'>-  title = "hello world!"</div><div class='del'>-  content = "hello world!\n" * 10</div><div class='del'>-</div><div class='del'>-  src = "def self.render(title, content); #{ERB.new(data).src}; end"</div><div class='del'>-  mod = Module.new</div><div class='del'>-  mod.instance_eval(src, "(ERB)")</div><div class='del'>-benchmark:</div><div class='del'>-  erb_render: mod.render(title, content)</div><div class='del'>-loop_count: 1500000</div><div class='head'>diff --git a/benchmark/fiber_chain.rb b/benchmark/fiber_chain.rb<br/>deleted file mode 100755<br/>index 7e0a7f9d45..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/fiber_chain.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/fiber_chain.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,40 +0,0 @@</div><div class='del'>-# Check performance of fiber creation and transfer.</div><div class='del'>-</div><div class='del'>-def make_link(previous)</div><div class='del'>-  Fiber.new do</div><div class='del'>-    while message = previous.resume</div><div class='del'>-      Fiber.yield(message)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def make_chain(length, &amp;block)</div><div class='del'>-  chain = Fiber.new(&amp;block)</div><div class='del'>-</div><div class='del'>-  (length - 1).times do</div><div class='del'>-    chain = make_link(chain)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  return chain</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def run_benchmark(length, repeats, message = :hello)</div><div class='del'>-  chain = nil</div><div class='del'>-</div><div class='del'>-  chain = make_chain(length) do</div><div class='del'>-    while true</div><div class='del'>-      Fiber.yield(message)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  repeats.times do</div><div class='del'>-    abort "invalid result" unless chain.resume == message</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-n = (ARGV[0] || 1000).to_i</div><div class='del'>-m = (ARGV[1] || 1000).to_i</div><div class='del'>-</div><div class='del'>-5.times do</div><div class='del'>-  run_benchmark(n, m)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/file_chmod.rb b/benchmark/file_chmod.rb<br/>deleted file mode 100644<br/>index 1cd4760c9d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/file_chmod.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/file_chmod.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-# chmod file</div><div class='del'>-require 'tempfile'</div><div class='del'>-max = 200_000</div><div class='del'>-tmp = Tempfile.new('chmod')</div><div class='del'>-path = tmp.path</div><div class='del'>-max.times do</div><div class='del'>-  File.chmod(0777, path)</div><div class='del'>-end</div><div class='del'>-tmp.close!</div><div class='head'>diff --git a/benchmark/file_rename.rb b/benchmark/file_rename.rb<br/>deleted file mode 100644<br/>index bbb44aebac..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/file_rename.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/file_rename.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-# rename file</div><div class='del'>-require 'tempfile'</div><div class='del'>-</div><div class='del'>-max = 100_000</div><div class='del'>-tmp = [ Tempfile.new('rename-a'), Tempfile.new('rename-b') ]</div><div class='del'>-a, b = tmp.map { |x| x.path }</div><div class='del'>-tmp.each { |t| t.close } # Windows can't rename files without closing them</div><div class='del'>-max.times do</div><div class='del'>-  File.rename(a, b)</div><div class='del'>-  File.rename(b, a)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/gc/aobench.rb b/benchmark/gc/aobench.rb<br/>deleted file mode 100644<br/>index 275f58b924..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/aobench.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/aobench.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-require_relative '../app_aobench'</div><div class='head'>diff --git a/benchmark/gc/binary_trees.rb b/benchmark/gc/binary_trees.rb<br/>deleted file mode 100644<br/>index 83347cdd20..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/binary_trees.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/binary_trees.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-require_relative '../so_binary_trees'</div><div class='head'>diff --git a/benchmark/gc/gcbench.rb b/benchmark/gc/gcbench.rb<br/>deleted file mode 100644<br/>index 23d0b91c6c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/gcbench.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/gcbench.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,57 +0,0 @@</div><div class='del'>-require 'benchmark'</div><div class='del'>-require 'pp'</div><div class='del'>-require 'optparse'</div><div class='del'>-</div><div class='del'>-$list = true</div><div class='del'>-$gcprof = false</div><div class='del'>-</div><div class='del'>-opt = OptionParser.new</div><div class='del'>-opt.on('-q'){$list = false}</div><div class='del'>-opt.on('-d'){$gcprof = false}</div><div class='del'>-opt.on('-p'){$gcprof = true}</div><div class='del'>-opt.parse!(ARGV)</div><div class='del'>-</div><div class='del'>-script = File.join(File.dirname(__FILE__), ARGV.shift)</div><div class='del'>-script += '.rb' unless FileTest.exist?(script)</div><div class='del'>-raise "#{script} not found" unless FileTest.exist?(script)</div><div class='del'>-</div><div class='del'>-puts "Script: #{script}"</div><div class='del'>-</div><div class='del'>-if $gcprof</div><div class='del'>-  GC::Profiler.enable</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-tms = Benchmark.measure{|x|</div><div class='del'>-  load script</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-gc_time = 0</div><div class='del'>-</div><div class='del'>-if $gcprof</div><div class='del'>-  gc_time = GC::Profiler.total_time</div><div class='del'>-  GC::Profiler.report if $list and RUBY_VERSION &gt;= '2.0.0' # before 1.9.3, report() may run infinite loop</div><div class='del'>-  GC::Profiler.disable</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-pp GC.stat</div><div class='del'>-</div><div class='del'>-puts "#{RUBY_DESCRIPTION} #{GC::OPTS.inspect}" if defined?(GC::OPTS)</div><div class='del'>-</div><div class='del'>-desc = "#{RUBY_VERSION}#{RUBY_PATCHLEVEL &gt;= 0 ? "p#{RUBY_PATCHLEVEL}" : "dev"}"</div><div class='del'>-name = File.basename(script, '.rb')</div><div class='del'>-</div><div class='del'>-puts</div><div class='del'>-puts script</div><div class='del'>-puts Benchmark::CAPTION</div><div class='del'>-puts tms</div><div class='del'>-puts "GC total time (sec): #{gc_time}"</div><div class='del'>-</div><div class='del'>-# show High-Water Mark on Linux</div><div class='del'>-if File.exist?('/proc/self/status') &amp;&amp; /VmHWM:\s*(\d+.+)/ =~ File.read('/proc/self/status')</div><div class='del'>-  puts</div><div class='del'>-  puts "VmHWM: #{$1.chomp}"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-puts</div><div class='del'>-puts "Summary of #{name} on #{desc}\t#{tms.real}\t#{gc_time}\t#{GC.count}"</div><div class='del'>-puts "         (real time in sec, GC time in sec, GC count)"</div><div class='head'>diff --git a/benchmark/gc/hash1.rb b/benchmark/gc/hash1.rb<br/>deleted file mode 100644<br/>index cb030d458d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/hash1.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/hash1.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-value = 0.01</div><div class='del'>-h = {}</div><div class='del'>-n = 50_000</div><div class='del'>-</div><div class='del'>-1.upto(n){|i|</div><div class='del'>-  h["%020d" % i] = "v-#{i}"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-(n * 1_000).times{</div><div class='del'>-  ''</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/gc/hash2.rb b/benchmark/gc/hash2.rb<br/>deleted file mode 100644<br/>index e8c943fb21..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/hash2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/hash2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-value = 0.01</div><div class='del'>-h = {}</div><div class='del'>-n = 4*(10**6)</div><div class='del'>-</div><div class='del'>-1.upto(n){|i|</div><div class='del'>-  h["%020d" % i] = value * i</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/gc/null.rb b/benchmark/gc/null.rb<br/>deleted file mode 100644<br/>index c05a79f561..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/null.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/null.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-# null</div><div class='head'>diff --git a/benchmark/gc/pentomino.rb b/benchmark/gc/pentomino.rb<br/>deleted file mode 100644<br/>index 8ebdff7d1d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/pentomino.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/pentomino.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-require_relative '../app_pentomino'</div><div class='head'>diff --git a/benchmark/gc/rdoc.rb b/benchmark/gc/rdoc.rb<br/>deleted file mode 100644<br/>index 14c89f5611..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/rdoc.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/rdoc.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-require 'rdoc/rdoc'</div><div class='del'>-require 'tmpdir'</div><div class='del'>-</div><div class='del'>-srcdir = File.expand_path('../..', __dir__)</div><div class='del'>-</div><div class='del'>-Dir.mktmpdir('rdocbench-'){|d|</div><div class='del'>-  dir = File.join(d, 'rdocbench')</div><div class='del'>-  args = %W(--root #{srcdir} --page-dir #{srcdir}/doc --encoding=UTF-8 --no-force-update --all --ri --debug --quiet #{srcdir})</div><div class='del'>-  args &lt;&lt; '--op' &lt;&lt; dir</div><div class='del'>-</div><div class='del'>-  r = RDoc::RDoc.new</div><div class='del'>-  r.document args</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/gc/redblack.rb b/benchmark/gc/redblack.rb<br/>deleted file mode 100644<br/>index c66290140a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/redblack.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/redblack.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,366 +0,0 @@</div><div class='del'>-# This benchmark is imported from https://github.com/jruby/rubybench/blob/master/time/bench_red_black.rb</div><div class='del'>-# License is License is Apache-2</div><div class='del'>-</div><div class='del'>-require 'benchmark'</div><div class='del'>-</div><div class='del'>-# Algorithm based on "Introduction to Algorithms" by Cormen and others</div><div class='del'>-class RedBlackTree</div><div class='del'>-  class Node</div><div class='del'>-    attr_accessor :color</div><div class='del'>-    attr_accessor :key</div><div class='del'>-    attr_accessor :left</div><div class='del'>-    attr_accessor :right</div><div class='del'>-    attr_accessor :parent</div><div class='del'>-</div><div class='del'>-    RED = :red</div><div class='del'>-    BLACK = :black</div><div class='del'>-    COLORS = [RED, BLACK].freeze</div><div class='del'>-</div><div class='del'>-    def initialize(key, color = RED)</div><div class='del'>-      raise ArgumentError, "Bad value for color parameter" unless COLORS.include?(color)</div><div class='del'>-      @color = color</div><div class='del'>-      @key = key</div><div class='del'>-      @left = @right = @parent = NilNode.instance</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def black?</div><div class='del'>-      return color == BLACK</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def red?</div><div class='del'>-      return color == RED</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class NilNode &lt; Node</div><div class='del'>-    class &lt;&lt; self</div><div class='del'>-      private :new</div><div class='del'>-</div><div class='del'>-      # it's not thread safe</div><div class='del'>-      def instance</div><div class='del'>-        @instance ||= begin</div><div class='del'>-          def instance</div><div class='del'>-            return @instance</div><div class='del'>-          end</div><div class='del'>-</div><div class='del'>-          new</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def initialize</div><div class='del'>-      self.color = BLACK</div><div class='del'>-      self.key = 0</div><div class='del'>-      self.left = nil</div><div class='del'>-      self.right = nil</div><div class='del'>-      self.parent = nil</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def nil?</div><div class='del'>-      return true</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  include Enumerable</div><div class='del'>-</div><div class='del'>-  attr_accessor :root</div><div class='del'>-  attr_accessor :size</div><div class='del'>-</div><div class='del'>-  def initialize</div><div class='del'>-    self.root = NilNode.instance</div><div class='del'>-    self.size = 0</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def add(key)</div><div class='del'>-    insert(Node.new(key))</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def insert(x)</div><div class='del'>-    insert_helper(x)</div><div class='del'>-</div><div class='del'>-    x.color = Node::RED</div><div class='del'>-    while x != root &amp;&amp; x.parent.color == Node::RED</div><div class='del'>-      if x.parent == x.parent.parent.left</div><div class='del'>-        y = x.parent.parent.right</div><div class='del'>-        if !y.nil? &amp;&amp; y.color == Node::RED</div><div class='del'>-          x.parent.color = Node::BLACK</div><div class='del'>-          y.color = Node::BLACK</div><div class='del'>-          x.parent.parent.color = Node::RED</div><div class='del'>-          x = x.parent.parent</div><div class='del'>-        else</div><div class='del'>-          if x == x.parent.right</div><div class='del'>-            x = x.parent</div><div class='del'>-            left_rotate(x)</div><div class='del'>-          end</div><div class='del'>-          x.parent.color = Node::BLACK</div><div class='del'>-          x.parent.parent.color = Node::RED</div><div class='del'>-          right_rotate(x.parent.parent)</div><div class='del'>-        end</div><div class='del'>-      else</div><div class='del'>-        y = x.parent.parent.left</div><div class='del'>-        if !y.nil? &amp;&amp; y.color == Node::RED</div><div class='del'>-          x.parent.color = Node::BLACK</div><div class='del'>-          y.color = Node::BLACK</div><div class='del'>-          x.parent.parent.color = Node::RED</div><div class='del'>-          x = x.parent.parent</div><div class='del'>-        else</div><div class='del'>-          if x == x.parent.left</div><div class='del'>-            x = x.parent</div><div class='del'>-            right_rotate(x)</div><div class='del'>-          end</div><div class='del'>-          x.parent.color = Node::BLACK</div><div class='del'>-          x.parent.parent.color = Node::RED</div><div class='del'>-          left_rotate(x.parent.parent)</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    root.color = Node::BLACK</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  alias &lt;&lt; insert</div><div class='del'>-</div><div class='del'>-  def delete(z)</div><div class='del'>-    y = (z.left.nil? || z.right.nil?) ? z : successor(z)</div><div class='del'>-    x = y.left.nil? ? y.right : y.left</div><div class='del'>-    x.parent = y.parent</div><div class='del'>-</div><div class='del'>-    if y.parent.nil?</div><div class='del'>-      self.root = x</div><div class='del'>-    else</div><div class='del'>-      if y == y.parent.left</div><div class='del'>-        y.parent.left = x</div><div class='del'>-      else</div><div class='del'>-        y.parent.right = x</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    z.key = y.key if y != z</div><div class='del'>-</div><div class='del'>-    if y.color == Node::BLACK</div><div class='del'>-      delete_fixup(x)</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    self.size -= 1</div><div class='del'>-    return y</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def minimum(x = root)</div><div class='del'>-    while !x.left.nil?</div><div class='del'>-      x = x.left</div><div class='del'>-    end</div><div class='del'>-    return x</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def maximum(x = root)</div><div class='del'>-    while !x.right.nil?</div><div class='del'>-      x = x.right</div><div class='del'>-    end</div><div class='del'>-    return x</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def successor(x)</div><div class='del'>-    if !x.right.nil?</div><div class='del'>-      return minimum(x.right)</div><div class='del'>-    end</div><div class='del'>-    y = x.parent</div><div class='del'>-    while !y.nil? &amp;&amp; x == y.right</div><div class='del'>-      x = y</div><div class='del'>-      y = y.parent</div><div class='del'>-    end</div><div class='del'>-    return y</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def predecessor(x)</div><div class='del'>-    if !x.left.nil?</div><div class='del'>-      return maximum(x.left)</div><div class='del'>-    end</div><div class='del'>-    y = x.parent</div><div class='del'>-    while !y.nil? &amp;&amp; x == y.left</div><div class='del'>-      x = y</div><div class='del'>-      y = y.parent</div><div class='del'>-    end</div><div class='del'>-    return y</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def inorder_walk(x = root)</div><div class='del'>-    x = self.minimum</div><div class='del'>-    while !x.nil?</div><div class='del'>-      yield x.key</div><div class='del'>-      x = successor(x)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  alias each inorder_walk</div><div class='del'>-</div><div class='del'>-  def reverse_inorder_walk(x = root)</div><div class='del'>-    x = self.maximum</div><div class='del'>-    while !x.nil?</div><div class='del'>-      yield x.key</div><div class='del'>-      x = predecessor(x)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  alias reverse_each reverse_inorder_walk</div><div class='del'>-</div><div class='del'>-  def search(key, x = root)</div><div class='del'>-    while !x.nil? &amp;&amp; x.key != key</div><div class='del'>-      key &lt; x.key ? x = x.left : x = x.right</div><div class='del'>-    end</div><div class='del'>-    return x</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def empty?</div><div class='del'>-    return self.root.nil?</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def black_height(x = root)</div><div class='del'>-    height = 0</div><div class='del'>-    while !x.nil?</div><div class='del'>-      x = x.left</div><div class='del'>-      height +=1 if x.nil? || x.black?</div><div class='del'>-    end</div><div class='del'>-    return height</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-private</div><div class='del'>-</div><div class='del'>-  def left_rotate(x)</div><div class='del'>-    raise "x.right is nil!" if x.right.nil?</div><div class='del'>-    y = x.right</div><div class='del'>-    x.right = y.left</div><div class='del'>-    y.left.parent = x if !y.left.nil?</div><div class='del'>-    y.parent = x.parent</div><div class='del'>-    if x.parent.nil?</div><div class='del'>-      self.root = y</div><div class='del'>-    else</div><div class='del'>-      if x == x.parent.left</div><div class='del'>-        x.parent.left = y</div><div class='del'>-      else</div><div class='del'>-        x.parent.right = y</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    y.left = x</div><div class='del'>-    x.parent = y</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def right_rotate(x)</div><div class='del'>-    raise "x.left is nil!" if x.left.nil?</div><div class='del'>-    y = x.left</div><div class='del'>-    x.left = y.right</div><div class='del'>-    y.right.parent = x if !y.right.nil?</div><div class='del'>-    y.parent = x.parent</div><div class='del'>-    if x.parent.nil?</div><div class='del'>-      self.root = y</div><div class='del'>-    else</div><div class='del'>-      if x == x.parent.left</div><div class='del'>-        x.parent.left = y</div><div class='del'>-      else</div><div class='del'>-        x.parent.right = y</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    y.right = x</div><div class='del'>-    x.parent = y</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def insert_helper(z)</div><div class='del'>-    y = NilNode.instance</div><div class='del'>-    x = root</div><div class='del'>-    while !x.nil?</div><div class='del'>-      y = x</div><div class='del'>-      z.key &lt; x.key ? x = x.left : x = x.right</div><div class='del'>-    end</div><div class='del'>-    z.parent = y</div><div class='del'>-    if y.nil?</div><div class='del'>-      self.root = z</div><div class='del'>-    else</div><div class='del'>-      z.key &lt; y.key ? y.left = z : y.right = z</div><div class='del'>-    end</div><div class='del'>-    self.size += 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def delete_fixup(x)</div><div class='del'>-    while x != root &amp;&amp; x.color == Node::BLACK</div><div class='del'>-      if x == x.parent.left</div><div class='del'>-        w = x.parent.right</div><div class='del'>-        if w.color == Node::RED</div><div class='del'>-          w.color = Node::BLACK</div><div class='del'>-          x.parent.color = Node::RED</div><div class='del'>-          left_rotate(x.parent)</div><div class='del'>-          w = x.parent.right</div><div class='del'>-        end</div><div class='del'>-        if w.left.color == Node::BLACK &amp;&amp; w.right.color == Node::BLACK</div><div class='del'>-          w.color = Node::RED</div><div class='del'>-          x = x.parent</div><div class='del'>-        else</div><div class='del'>-          if w.right.color == Node::BLACK</div><div class='del'>-            w.left.color = Node::BLACK</div><div class='del'>-            w.color = Node::RED</div><div class='del'>-            right_rotate(w)</div><div class='del'>-            w = x.parent.right</div><div class='del'>-          end</div><div class='del'>-          w.color = x.parent.color</div><div class='del'>-          x.parent.color = Node::BLACK</div><div class='del'>-          w.right.color = Node::BLACK</div><div class='del'>-          left_rotate(x.parent)</div><div class='del'>-          x = root</div><div class='del'>-        end</div><div class='del'>-      else</div><div class='del'>-        w = x.parent.left</div><div class='del'>-        if w.color == Node::RED</div><div class='del'>-          w.color = Node::BLACK</div><div class='del'>-          x.parent.color = Node::RED</div><div class='del'>-          right_rotate(x.parent)</div><div class='del'>-          w = x.parent.left</div><div class='del'>-        end</div><div class='del'>-        if w.right.color == Node::BLACK &amp;&amp; w.left.color == Node::BLACK</div><div class='del'>-          w.color = Node::RED</div><div class='del'>-          x = x.parent</div><div class='del'>-        else</div><div class='del'>-          if w.left.color == Node::BLACK</div><div class='del'>-            w.right.color = Node::BLACK</div><div class='del'>-            w.color = Node::RED</div><div class='del'>-            left_rotate(w)</div><div class='del'>-            w = x.parent.left</div><div class='del'>-          end</div><div class='del'>-          w.color = x.parent.color</div><div class='del'>-          x.parent.color = Node::BLACK</div><div class='del'>-          w.left.color = Node::BLACK</div><div class='del'>-          right_rotate(x.parent)</div><div class='del'>-          x = root</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    x.color = Node::BLACK</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def rbt_bm</div><div class='del'>-  n = 100_000</div><div class='del'>-  a1 = []; n.times { a1 &lt;&lt; rand(999_999) }</div><div class='del'>-  a2 = []; n.times { a2 &lt;&lt; rand(999_999) }</div><div class='del'>-</div><div class='del'>-  start = Time.now</div><div class='del'>-</div><div class='del'>-  tree = RedBlackTree.new</div><div class='del'>-</div><div class='del'>-  n.times {|i| tree.add(i) }</div><div class='del'>-  n.times { tree.delete(tree.root) }</div><div class='del'>-</div><div class='del'>-  tree = RedBlackTree.new</div><div class='del'>-  a1.each {|e| tree.add(e) }</div><div class='del'>-  a2.each {|e| tree.search(e) }</div><div class='del'>-  tree.inorder_walk {|key| key + 1 }</div><div class='del'>-  tree.reverse_inorder_walk {|key| key + 1 }</div><div class='del'>-  n.times { tree.minimum }</div><div class='del'>-  n.times { tree.maximum }</div><div class='del'>-</div><div class='del'>-  return Time.now - start</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-N = (ARGV[0] || 10).to_i</div><div class='del'>-</div><div class='del'>-N.times do</div><div class='del'>-  # puts rbt_bm.to_f</div><div class='del'>-  rbt_bm.to_f</div><div class='del'>-  # puts "GC.count = #{GC.count}" if GC.respond_to?(:count)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/gc/ring.rb b/benchmark/gc/ring.rb<br/>deleted file mode 100644<br/>index be2c7b7250..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/gc/ring.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/gc/ring.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,29 +0,0 @@</div><div class='del'>-# create many old objects</div><div class='del'>-</div><div class='del'>-max = 30_000_000</div><div class='del'>-</div><div class='del'>-class Ring</div><div class='del'>-  attr_reader :next_ring</div><div class='del'>-  def initialize n = nil</div><div class='del'>-    @next_ring = n</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-  def size</div><div class='del'>-    s = 1</div><div class='del'>-    ring = self</div><div class='del'>-    while ring.next_ring</div><div class='del'>-      s += 1</div><div class='del'>-      ring = ring.next_ring</div><div class='del'>-    end</div><div class='del'>-    s</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ring = Ring.new</div><div class='del'>-</div><div class='del'>-max.times{</div><div class='del'>-  ring = Ring.new(ring)</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# p ring.size</div><div class='head'>diff --git a/benchmark/hash_aref_dsym.rb b/benchmark/hash_aref_dsym.rb<br/>deleted file mode 100644<br/>index af4f8c36d4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_dsym.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_dsym.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-syms = ('a'..'z').map { |s| s.to_sym }</div><div class='del'>-syms.each { |s| h[s] = 1 }</div><div class='del'>-200_000.times { syms.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_aref_dsym_long.rb b/benchmark/hash_aref_dsym_long.rb<br/>deleted file mode 100644<br/>index 9d7759379e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_dsym_long.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_dsym_long.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-# [ruby-core:70129] [Bug #11396]</div><div class='del'>-collection_size = 200000</div><div class='del'>-sample_size = 10000</div><div class='del'>-</div><div class='del'>-values = (1..collection_size).to_a.map do |x|</div><div class='del'>-  "THIS IS A LONGER STRING THAT IS ALSO UNIQUE #{x}"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-symbol_hash = {}</div><div class='del'>-</div><div class='del'>-values.each do |x|</div><div class='del'>-  symbol_hash[x.to_sym] = 1</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# use the same samples each time to minimize deviations</div><div class='del'>-rng = Random.new(0)</div><div class='del'>-symbol_sample_array = values.sample(sample_size, random: rng).map(&amp;:to_sym)</div><div class='del'>-</div><div class='del'>-3000.times do</div><div class='del'>-  symbol_sample_array.each { |x| symbol_hash[x] }</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_aref_fix.rb b/benchmark/hash_aref_fix.rb<br/>deleted file mode 100644<br/>index 1346890582..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_fix.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_fix.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-nums = (1..26).to_a</div><div class='del'>-nums.each { |i| h[i] = i }</div><div class='del'>-200_000.times { nums.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_aref_flo.rb b/benchmark/hash_aref_flo.rb<br/>deleted file mode 100644<br/>index 2217274c82..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_flo.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_flo.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-strs = [*1..10000].map! {|i| i.fdiv(10)}</div><div class='del'>-strs.each { |s| h[s] = s }</div><div class='del'>-50.times { strs.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_aref_miss.rb b/benchmark/hash_aref_miss.rb<br/>deleted file mode 100644<br/>index b0913dd4bb..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_miss.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_miss.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-strs = ('a'..'z').to_a.map!(&amp;:freeze)</div><div class='del'>-strs.each { |s| h[s] = s }</div><div class='del'>-strs = ('A'..'Z').to_a</div><div class='del'>-200_000.times { strs.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_aref_str.rb b/benchmark/hash_aref_str.rb<br/>deleted file mode 100644<br/>index 19439b061b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_str.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_str.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-strs = ('a'..'z').to_a.map!(&amp;:freeze)</div><div class='del'>-strs.each { |s| h[s] = s }</div><div class='del'>-200_000.times { strs.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_aref_sym.rb b/benchmark/hash_aref_sym.rb<br/>deleted file mode 100644<br/>index f75d163fe6..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_sym.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_sym.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-syms = ('a'..'z').to_a</div><div class='del'>-begin</div><div class='del'>-  syms = eval("%i[#{syms.join(' ')}]")</div><div class='del'>-rescue SyntaxError # &lt;= 1.9.3</div><div class='del'>-  syms.map!(&amp;:to_sym)</div><div class='del'>-end</div><div class='del'>-syms.each { |s| h[s] = s }</div><div class='del'>-200_000.times { syms.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_aref_sym_long.rb b/benchmark/hash_aref_sym_long.rb<br/>deleted file mode 100644<br/>index 9dab8df7be..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_aref_sym_long.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_aref_sym_long.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-syms = %w[puts warn syswrite write stat bacon lettuce tomato</div><div class='del'>-some symbols in this array may already be interned  others should not be</div><div class='del'>-hash browns make good breakfast but not cooked using prime numbers</div><div class='del'>-shift for division entries delete_if keys exist?</div><div class='del'>-]</div><div class='del'>-begin</div><div class='del'>-  syms = eval("%i[#{syms.join(' ')}]")</div><div class='del'>-rescue SyntaxError # &lt;= 1.9.3</div><div class='del'>-  syms.map!(&amp;:to_sym)</div><div class='del'>-end</div><div class='del'>-syms.each { |s| h[s] = s }</div><div class='del'>-200_000.times { syms.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_flatten.rb b/benchmark/hash_flatten.rb<br/>deleted file mode 100644<br/>index e944aae9f2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_flatten.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_flatten.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-10000.times do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-1000.times do</div><div class='del'>-  h.flatten</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_ident_flo.rb b/benchmark/hash_ident_flo.rb<br/>deleted file mode 100644<br/>index 0c7edfed3e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_ident_flo.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_flo.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}.compare_by_identity</div><div class='del'>-strs = (1..10000).to_a.map!(&amp;:to_f)</div><div class='del'>-strs.each { |s| h[s] = s }</div><div class='del'>-50.times { strs.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_ident_num.rb b/benchmark/hash_ident_num.rb<br/>deleted file mode 100644<br/>index b226736c6f..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_ident_num.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_num.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}.compare_by_identity</div><div class='del'>-nums = (1..26).to_a</div><div class='del'>-nums.each { |n| h[n] = n }</div><div class='del'>-200_000.times { nums.each { |n| h[n] } }</div><div class='head'>diff --git a/benchmark/hash_ident_obj.rb b/benchmark/hash_ident_obj.rb<br/>deleted file mode 100644<br/>index 4b3b58edec..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_ident_obj.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_obj.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}.compare_by_identity</div><div class='del'>-objs = 26.times.map { Object.new }</div><div class='del'>-objs.each { |o| h[o] = o }</div><div class='del'>-200_000.times { objs.each { |o| h[o] } }</div><div class='head'>diff --git a/benchmark/hash_ident_str.rb b/benchmark/hash_ident_str.rb<br/>deleted file mode 100644<br/>index 8582b38e31..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_ident_str.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_str.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}.compare_by_identity</div><div class='del'>-strs = ('a'..'z').to_a</div><div class='del'>-strs.each { |s| h[s] = s }</div><div class='del'>-200_000.times { strs.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_ident_sym.rb b/benchmark/hash_ident_sym.rb<br/>deleted file mode 100644<br/>index 4c81e3d28e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_ident_sym.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_ident_sym.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-h = {}.compare_by_identity</div><div class='del'>-syms = ('a'..'z').to_a.map(&amp;:to_sym)</div><div class='del'>-syms.each { |s| h[s] = s }</div><div class='del'>-200_000.times { syms.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_keys.rb b/benchmark/hash_keys.rb<br/>deleted file mode 100644<br/>index 6863cd01f9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_keys.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_keys.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-10000.times do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-5000.times do</div><div class='del'>-  h.keys</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_literal_small2.rb b/benchmark/hash_literal_small2.rb<br/>deleted file mode 100644<br/>index c188529260..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_literal_small2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_literal_small2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-# frozen_string_literal: true</div><div class='del'>-</div><div class='del'>-1_000_000.times.map { { "foo" =&gt; "bar", "bar" =&gt; "baz" }  }</div><div class='head'>diff --git a/benchmark/hash_literal_small4.rb b/benchmark/hash_literal_small4.rb<br/>deleted file mode 100644<br/>index 739f71b5b0..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_literal_small4.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_literal_small4.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-# frozen_string_literal: true</div><div class='del'>-</div><div class='del'>-1_000_000.times.map { { "foo" =&gt; "bar", "bar" =&gt; "baz", "baz" =&gt; "lol", "lol" =&gt; "lgtm" } }</div><div class='head'>diff --git a/benchmark/hash_literal_small8.rb b/benchmark/hash_literal_small8.rb<br/>deleted file mode 100644<br/>index 53d80af535..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_literal_small8.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_literal_small8.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-# frozen_string_literal: true</div><div class='del'>-</div><div class='del'>-1_000_000.times.map { { "foo" =&gt; "bar", "bar" =&gt; "baz", "baz" =&gt; "lol", "lol" =&gt; "lgtm", "lgtm" =&gt; "nope", "nope" =&gt; "ok", "ok" =&gt; "again", "again" =&gt; "wait" } }</div><div class='head'>diff --git a/benchmark/hash_long.rb b/benchmark/hash_long.rb<br/>deleted file mode 100644<br/>index 03d9109602..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_long.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_long.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-k1 = "Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong";</div><div class='del'>-k2 = "Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping";</div><div class='del'>-h = {k1 =&gt; 0, k2 =&gt; 0};</div><div class='del'>-3000000.times{|i| k = i % 2 ? k2 : k1; h [k] = h[k] + 1}</div><div class='head'>diff --git a/benchmark/hash_shift.rb b/benchmark/hash_shift.rb<br/>deleted file mode 100644<br/>index a645671a5b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_shift.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-10000.times do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-50000.times do</div><div class='del'>-  k, v = h.shift</div><div class='del'>-  h[k] = v</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_shift_u16.rb b/benchmark/hash_shift_u16.rb<br/>deleted file mode 100644<br/>index ec800d0342..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_shift_u16.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift_u16.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-(16384..65536).each do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-300000.times do</div><div class='del'>-  k, v = h.shift</div><div class='del'>-  h[k] = v</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_shift_u24.rb b/benchmark/hash_shift_u24.rb<br/>deleted file mode 100644<br/>index de4e0fa696..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_shift_u24.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift_u24.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-(0xff4000..0xffffff).each do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-300000.times do</div><div class='del'>-  k, v = h.shift</div><div class='del'>-  h[k] = v</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_shift_u32.rb b/benchmark/hash_shift_u32.rb<br/>deleted file mode 100644<br/>index 656aa55583..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_shift_u32.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_shift_u32.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-(0xffff4000..0xffffffff).each do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-300000.times do</div><div class='del'>-  k, v = h.shift</div><div class='del'>-  h[k] = v</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_small2.rb b/benchmark/hash_small2.rb<br/>deleted file mode 100644<br/>index 45485d9c71..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_small2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_small2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-1000000.times.map{|i| a={}; 2.times{|j| a[j]=j}; a}</div><div class='head'>diff --git a/benchmark/hash_small4.rb b/benchmark/hash_small4.rb<br/>deleted file mode 100644<br/>index acd4084334..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_small4.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_small4.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-1000000.times.map{|i| a={}; 4.times{|j| a[j]=j}; a}</div><div class='head'>diff --git a/benchmark/hash_small8.rb b/benchmark/hash_small8.rb<br/>deleted file mode 100644<br/>index 9cffcc91b6..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_small8.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_small8.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-1000000.times.map{|i| a={}; 8.times{|j| a[j]=j}; a}</div><div class='head'>diff --git a/benchmark/hash_to_proc.rb b/benchmark/hash_to_proc.rb<br/>deleted file mode 100644<br/>index 2b675bf509..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_to_proc.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_to_proc.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-10000.times do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-5000.times do |i|</div><div class='del'>-  [i].map(&amp;h)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/hash_values.rb b/benchmark/hash_values.rb<br/>deleted file mode 100644<br/>index 069441302f..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/hash_values.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/hash_values.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-h = {}</div><div class='del'>-</div><div class='del'>-10000.times do |i|</div><div class='del'>-  h[i] = nil</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-5000.times do</div><div class='del'>-  h.values</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/int_quo.rb b/benchmark/int_quo.rb<br/>deleted file mode 100644<br/>index e22a3f8c30..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/int_quo.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/int_quo.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-5000000.times { 42.quo(3) }</div><div class='head'>diff --git a/benchmark/io_copy_stream_write.rb b/benchmark/io_copy_stream_write.rb<br/>deleted file mode 100644<br/>index 3fd87250a4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_copy_stream_write.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_copy_stream_write.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-# The goal of this is to use a synthetic (non-IO) reader</div><div class='del'>-# to trigger the read/write loop of IO.copy_stream,</div><div class='del'>-# bypassing in-kernel mechanisms like sendfile for zero copy,</div><div class='del'>-# so we wrap the /dev/zero IO object:</div><div class='del'>-</div><div class='del'>-class Zero</div><div class='del'>-  def initialize</div><div class='del'>-    @n = 100000</div><div class='del'>-    @in = File.open('/dev/zero', 'rb')</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def read(len, buf)</div><div class='del'>-    return if (@n -= 1) == 0</div><div class='del'>-    @in.read(len, buf)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  src = Zero.new</div><div class='del'>-  dst = File.open(IO::NULL, 'wb')</div><div class='del'>-  n = IO.copy_stream(src, dst)</div><div class='del'>-rescue Errno::ENOENT</div><div class='del'>-  # not *nix</div><div class='del'>-end if IO.respond_to?(:copy_stream) &amp;&amp; IO.const_defined?(:NULL)</div><div class='head'>diff --git a/benchmark/io_copy_stream_write_socket.rb b/benchmark/io_copy_stream_write_socket.rb<br/>deleted file mode 100644<br/>index 11f369bd0d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_copy_stream_write_socket.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_copy_stream_write_socket.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,35 +0,0 @@</div><div class='del'>-# The goal of this is to use a synthetic (non-IO) reader</div><div class='del'>-# to trigger the read/write loop of IO.copy_stream,</div><div class='del'>-# bypassing in-kernel mechanisms like sendfile for zero copy,</div><div class='del'>-# so we wrap the /dev/zero IO object:</div><div class='del'>-class Zero</div><div class='del'>-  def initialize</div><div class='del'>-    @n = 100000</div><div class='del'>-    @in = File.open('/dev/zero', 'rb')</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def read(len, buf)</div><div class='del'>-    return if (@n -= 1) == 0</div><div class='del'>-    @in.read(len, buf)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  require 'socket'</div><div class='del'>-  src = Zero.new</div><div class='del'>-  rd, wr = UNIXSocket.pair</div><div class='del'>-  pid = fork do</div><div class='del'>-    wr.close</div><div class='del'>-    buf = String.new</div><div class='del'>-    while rd.read(16384, buf)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  rd.close</div><div class='del'>-  IO.copy_stream(src, wr)</div><div class='del'>-rescue Errno::ENOENT, NotImplementedError, NameError</div><div class='del'>-  # not *nix: missing /dev/zero, fork, or UNIXSocket</div><div class='del'>-rescue LoadError # no socket?</div><div class='del'>-ensure</div><div class='del'>-  wr.close if wr</div><div class='del'>-  Process.waitpid(pid) if pid</div><div class='del'>-end if IO.respond_to?(:copy_stream)</div><div class='head'>diff --git a/benchmark/io_file_create.rb b/benchmark/io_file_create.rb<br/>deleted file mode 100644<br/>index 2f205c1333..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_file_create.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_file_create.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# Create files</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-max = 200_000</div><div class='del'>-file = './tmpfile_of_bm_io_file_create'</div><div class='del'>-</div><div class='del'>-max.times{</div><div class='del'>-  f = open(file, 'w')</div><div class='del'>-  f.close#(true)</div><div class='del'>-}</div><div class='del'>-File.unlink(file)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/io_file_read.rb b/benchmark/io_file_read.rb<br/>deleted file mode 100644<br/>index b9e796ed30..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_file_read.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_file_read.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,15 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# Seek and Read file.</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-require 'tempfile'</div><div class='del'>-</div><div class='del'>-max = 200_000</div><div class='del'>-str = "Hello world!  " * 1000</div><div class='del'>-f = Tempfile.new('yarv-benchmark')</div><div class='del'>-f.write str</div><div class='del'>-</div><div class='del'>-max.times{</div><div class='del'>-  f.seek 0</div><div class='del'>-  f.read</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/io_file_write.rb b/benchmark/io_file_write.rb<br/>deleted file mode 100644<br/>index aa1be0e5fe..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_file_write.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_file_write.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# Seek and Write file.</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-require 'tempfile'</div><div class='del'>-</div><div class='del'>-max = 200_000</div><div class='del'>-str = "Hello world!  " * 1000</div><div class='del'>-f = Tempfile.new('yarv-benchmark')</div><div class='del'>-</div><div class='del'>-max.times{</div><div class='del'>-  f.seek 0</div><div class='del'>-  f.write str</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/io_nonblock_noex.rb b/benchmark/io_nonblock_noex.rb<br/>deleted file mode 100644<br/>index da9357fdc6..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_nonblock_noex.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_nonblock_noex.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-nr = 1_000_000</div><div class='del'>-i = 0</div><div class='del'>-msg = '.'</div><div class='del'>-buf = '.'</div><div class='del'>-noex = { exception: false }</div><div class='del'>-begin</div><div class='del'>-  r, w = IO.pipe</div><div class='del'>-  while i &lt; nr</div><div class='del'>-    i += 1</div><div class='del'>-    w.write_nonblock(msg, noex)</div><div class='del'>-    r.read_nonblock(1, buf, noex)</div><div class='del'>-  end</div><div class='del'>-rescue ArgumentError # old Rubies</div><div class='del'>-  while i &lt; nr</div><div class='del'>-    i += 1</div><div class='del'>-    w.write_nonblock(msg)</div><div class='del'>-    r.read_nonblock(1, buf)</div><div class='del'>-  end</div><div class='del'>-ensure</div><div class='del'>-  r.close</div><div class='del'>-  w.close</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/io_nonblock_noex2.rb b/benchmark/io_nonblock_noex2.rb<br/>deleted file mode 100644<br/>index 56819d049b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_nonblock_noex2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_nonblock_noex2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-nr = 1_000_000</div><div class='del'>-i = 0</div><div class='del'>-msg = '.'</div><div class='del'>-buf = '.'</div><div class='del'>-begin</div><div class='del'>-  r, w = IO.pipe</div><div class='del'>-  while i &lt; nr</div><div class='del'>-    i += 1</div><div class='del'>-    w.write_nonblock(msg, exception: false)</div><div class='del'>-    r.read_nonblock(1, buf, exception: false)</div><div class='del'>-  end</div><div class='del'>-rescue ArgumentError # old Rubies</div><div class='del'>-  while i &lt; nr</div><div class='del'>-    i += 1</div><div class='del'>-    w.write_nonblock(msg)</div><div class='del'>-    r.read_nonblock(1, buf)</div><div class='del'>-  end</div><div class='del'>-ensure</div><div class='del'>-  r.close</div><div class='del'>-  w.close</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/io_pipe_rw.rb b/benchmark/io_pipe_rw.rb<br/>deleted file mode 100644<br/>index 6862a8ae61..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_pipe_rw.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_pipe_rw.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-# Measure uncontended GVL performance via read/write with 1:1 threading</div><div class='del'>-# If we switch to M:N threading, this will benchmark something else...</div><div class='del'>-r, w = IO.pipe</div><div class='del'>-src = '0'.freeze</div><div class='del'>-dst = String.new</div><div class='del'>-i = 0</div><div class='del'>-while i &lt; 1_000_000</div><div class='del'>-  i += 1</div><div class='del'>-  w.write(src)</div><div class='del'>-  r.read(1, dst)</div><div class='del'>-end</div><div class='del'>-w.close</div><div class='del'>-r.close</div><div class='head'>diff --git a/benchmark/io_select.rb b/benchmark/io_select.rb<br/>deleted file mode 100644<br/>index 19248daeb1..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_select.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_select.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-# IO.select performance</div><div class='del'>-</div><div class='del'>-w = [ IO.pipe[1] ];</div><div class='del'>-</div><div class='del'>-nr = 1000000</div><div class='del'>-nr.times {</div><div class='del'>-  IO.select nil, w</div><div class='del'>-}</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/io_select2.rb b/benchmark/io_select2.rb<br/>deleted file mode 100644<br/>index 10e37d71b2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_select2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_select2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-# IO.select performance. worst case of single fd.</div><div class='del'>-</div><div class='del'>-ios = []</div><div class='del'>-nr = 1000000</div><div class='del'>-if defined?(Process::RLIMIT_NOFILE)</div><div class='del'>-  max = Process.getrlimit(Process::RLIMIT_NOFILE)[0]</div><div class='del'>-else</div><div class='del'>-  max = 64</div><div class='del'>-end</div><div class='del'>-puts "max fd: #{max} (results not apparent with &lt;= 1024 max fd)"</div><div class='del'>-</div><div class='del'>-((max / 2) - 10).times do</div><div class='del'>-  ios.concat IO.pipe</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-last = [ ios[-1] ]</div><div class='del'>-puts "last IO: #{last[0].inspect}"</div><div class='del'>-</div><div class='del'>-nr.times do</div><div class='del'>-  IO.select nil, last</div><div class='del'>-end</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/io_select3.rb b/benchmark/io_select3.rb<br/>deleted file mode 100644<br/>index 7d0ba1f092..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/io_select3.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/io_select3.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-# IO.select performance. a lot of fd</div><div class='del'>-</div><div class='del'>-ios = []</div><div class='del'>-nr = 100</div><div class='del'>-if defined?(Process::RLIMIT_NOFILE)</div><div class='del'>-  max = Process.getrlimit(Process::RLIMIT_NOFILE)[0]</div><div class='del'>-else</div><div class='del'>-  max = 64</div><div class='del'>-end</div><div class='del'>-puts "max fd: #{max} (results not apparent with &lt;= 1024 max fd)"</div><div class='del'>-</div><div class='del'>-(max - 10).times do</div><div class='del'>-  r, w = IO.pipe</div><div class='del'>-  r.close</div><div class='del'>-  ios.push w</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-nr.times do</div><div class='del'>-  IO.select nil, ios</div><div class='del'>-end</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/output/driver.rb b/benchmark/lib/benchmark_driver/output/driver.rb<br/>deleted file mode 100644<br/>index d22236e9fb..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/output/driver.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/output/driver.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,36 +0,0 @@</div><div class='del'>-require 'benchmark_driver/output/simple'</div><div class='del'>-</div><div class='del'>-# This replicates the legacy benchmark/driver.rb behavior.</div><div class='del'>-class BenchmarkDriver::Output::Driver &lt; BenchmarkDriver::Output::Simple</div><div class='del'>-  def initialize(*)</div><div class='del'>-    super</div><div class='del'>-    @stdout = $stdout</div><div class='del'>-    @strio  = StringIO.new</div><div class='del'>-    $stdout = IOMultiplexer.new(@stdout, @strio)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def with_benchmark(*)</div><div class='del'>-    super</div><div class='del'>-  ensure</div><div class='del'>-    logfile = "bmlog-#{Time.now.strftime('%Y%m%d-%H%M%S')}.#{$$}.log"</div><div class='del'>-    puts "\nLog file: #{logfile}"</div><div class='del'>-</div><div class='del'>-    $stdout = @stdout</div><div class='del'>-    File.write(logfile, @strio.tap(&amp;:rewind).read)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class IOMultiplexer</div><div class='del'>-    def initialize(io1, io2)</div><div class='del'>-      @io1 = io1</div><div class='del'>-      @io2 = io2</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    [:write, :sync, :sync=, :puts, :print, :flush].each do |method|</div><div class='del'>-      define_method(method) do |*args|</div><div class='del'>-        @io1.send(method, *args)</div><div class='del'>-        @io2.send(method, *args)</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  private_constant :IOMultiplexer</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/cstime.rb b/benchmark/lib/benchmark_driver/runner/cstime.rb<br/>deleted file mode 100644<br/>index 3c3453e527..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/cstime.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/cstime.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-require 'benchmark_driver/runner/total'</div><div class='del'>-</div><div class='del'>-class BenchmarkDriver::Runner::Cstime &lt; BenchmarkDriver::Runner::Total</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(name: 'cstime', unit: 's', larger_better: false)</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='del'>-  def target</div><div class='del'>-    :cstime</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/cutime.rb b/benchmark/lib/benchmark_driver/runner/cutime.rb<br/>deleted file mode 100644<br/>index e139962ef2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/cutime.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/cutime.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-require 'benchmark_driver/runner/total'</div><div class='del'>-</div><div class='del'>-class BenchmarkDriver::Runner::Cutime &lt; BenchmarkDriver::Runner::Total</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(name: 'cutime', unit: 's', larger_better: false)</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='del'>-  def target</div><div class='del'>-    :cutime</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/peak.rb b/benchmark/lib/benchmark_driver/runner/peak.rb<br/>deleted file mode 100644<br/>index 0ba8af42c5..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/peak.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/peak.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,151 +0,0 @@</div><div class='del'>-require 'benchmark_driver/struct'</div><div class='del'>-require 'benchmark_driver/metric'</div><div class='del'>-require 'benchmark_driver/default_job'</div><div class='del'>-require 'benchmark_driver/default_job_parser'</div><div class='del'>-require 'tempfile'</div><div class='del'>-</div><div class='del'>-class BenchmarkDriver::Runner::Peak</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(</div><div class='del'>-    name: 'Peak memory usage', unit: 'bytes', larger_better: false, worse_word: 'larger',</div><div class='del'>-  )</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  # @param [BenchmarkDriver::Config::RunnerConfig] config</div><div class='del'>-  # @param [BenchmarkDriver::Output] output</div><div class='del'>-  # @param [BenchmarkDriver::Context] contexts</div><div class='del'>-  def initialize(config:, output:, contexts:)</div><div class='del'>-    @config = config</div><div class='del'>-    @output = output</div><div class='del'>-    @contexts = contexts</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # This method is dynamically called by `BenchmarkDriver::JobRunner.run`</div><div class='del'>-  # @param [Array&lt;BenchmarkDriver::Runner::Peak::Job&gt;] jobs</div><div class='del'>-  def run(jobs)</div><div class='del'>-    if jobs.any? { |job| job.loop_count.nil? }</div><div class='del'>-      jobs = jobs.map do |job|</div><div class='del'>-        job.loop_count ? job : Job.new(job.to_h.merge(loop_count: 1))</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    @output.with_benchmark do</div><div class='del'>-      jobs.each do |job|</div><div class='del'>-        @output.with_job(name: job.name) do</div><div class='del'>-          job.runnable_contexts(@contexts).each do |context|</div><div class='del'>-            value = BenchmarkDriver::Repeater.with_repeat(config: @config, larger_better: false) do</div><div class='del'>-              run_benchmark(job, context: context)</div><div class='del'>-            end</div><div class='del'>-            @output.with_context(name: context.name, executable: context.executable, gems: context.gems, prelude: context.prelude) do</div><div class='del'>-              @output.report(values: { metric =&gt; value }, loop_count: job.loop_count)</div><div class='del'>-            end</div><div class='del'>-          end</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # @param [BenchmarkDriver::Runner::Ips::Job] job - loop_count is not nil</div><div class='del'>-  # @param [BenchmarkDriver::Context] context</div><div class='del'>-  # @return [BenchmarkDriver::Metrics]</div><div class='del'>-  def run_benchmark(job, context:)</div><div class='del'>-    benchmark = BenchmarkScript.new(</div><div class='del'>-      preludes:   [context.prelude, job.prelude],</div><div class='del'>-      script:     job.script,</div><div class='del'>-      teardown:   job.teardown,</div><div class='del'>-      loop_count: job.loop_count,</div><div class='del'>-    )</div><div class='del'>-</div><div class='del'>-    memory_status = File.expand_path('../../../../test/lib/memory_status', __dir__)</div><div class='del'>-    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='del'>-      with_script(benchmark.render) do |path|</div><div class='del'>-        output = IO.popen([*context.executable.command, path, f.path, target, memory_status], &amp;:read)</div><div class='del'>-        if $?.success?</div><div class='del'>-          Integer(f.read)</div><div class='del'>-        else</div><div class='del'>-          $stdout.print(output)</div><div class='del'>-          BenchmarkDriver::Result::ERROR</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overridden by BenchmarkDriver::Runner::Size</div><div class='del'>-  def target</div><div class='del'>-    'peak'</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overridden by BenchmarkDriver::Runner::Size</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def with_script(script)</div><div class='del'>-    if @config.verbose &gt;= 2</div><div class='del'>-      sep = '-' * 30</div><div class='del'>-      $stdout.puts "\n\n#{sep}[Script begin]#{sep}\n#{script}#{sep}[Script end]#{sep}\n\n"</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='del'>-      f.puts script</div><div class='del'>-      f.close</div><div class='del'>-      return yield(f.path)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # @param [String] prelude</div><div class='del'>-  # @param [String] script</div><div class='del'>-  # @param [String] teardown</div><div class='del'>-  # @param [Integer] loop_count</div><div class='del'>-  BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do</div><div class='del'>-    def render</div><div class='del'>-      prelude = preludes.reject(&amp;:nil?).reject(&amp;:empty?).join("\n")</div><div class='del'>-      &lt;&lt;-RUBY</div><div class='del'>-#{prelude}</div><div class='del'>-#{while_loop(script, loop_count)}</div><div class='del'>-#{teardown}</div><div class='del'>-</div><div class='del'>-result_file, target, memory_status = ARGV</div><div class='del'>-require_relative memory_status</div><div class='del'>-</div><div class='del'>-ms = Memory::Status.new</div><div class='del'>-case target.to_sym</div><div class='del'>-when :peak</div><div class='del'>-  key = ms.respond_to?(:hwm) ? :hwm : :peak</div><div class='del'>-when :size</div><div class='del'>-  key = ms.respond_to?(:rss) ? :rss : :size</div><div class='del'>-else</div><div class='del'>-  raise('unexpected target: ' + target)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-File.write(result_file, ms[key])</div><div class='del'>-      RUBY</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    private</div><div class='del'>-</div><div class='del'>-    def while_loop(content, times)</div><div class='del'>-      if !times.is_a?(Integer) || times &lt;= 0</div><div class='del'>-        raise ArgumentError.new("Unexpected times: #{times.inspect}")</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      if times &gt; 1</div><div class='del'>-        &lt;&lt;-RUBY</div><div class='del'>-__bmdv_i = 0</div><div class='del'>-while __bmdv_i &lt; #{times}</div><div class='del'>-  #{content}</div><div class='del'>-  __bmdv_i += 1</div><div class='del'>-end</div><div class='del'>-        RUBY</div><div class='del'>-      else</div><div class='del'>-        content</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  private_constant :BenchmarkScript</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/size.rb b/benchmark/lib/benchmark_driver/runner/size.rb<br/>deleted file mode 100644<br/>index 1b31f901c7..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/size.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/size.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,25 +0,0 @@</div><div class='del'>-require 'benchmark_driver/runner/peak'</div><div class='del'>-</div><div class='del'>-# Actually the same as BenchmarkDriver::Runner::Memory</div><div class='del'>-class BenchmarkDriver::Runner::Size &lt; BenchmarkDriver::Runner::Peak</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(</div><div class='del'>-    name: 'Max resident set size', unit: 'bytes', larger_better: false, worse_word: 'larger',</div><div class='del'>-  )</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Peak#metric</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Peak#target</div><div class='del'>-  def target</div><div class='del'>-    'size'</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/stime.rb b/benchmark/lib/benchmark_driver/runner/stime.rb<br/>deleted file mode 100644<br/>index 4577fb0bf8..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/stime.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/stime.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-require 'benchmark_driver/runner/total'</div><div class='del'>-</div><div class='del'>-class BenchmarkDriver::Runner::Stime &lt; BenchmarkDriver::Runner::Total</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(name: 'stime', unit: 's', larger_better: false)</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='del'>-  def target</div><div class='del'>-    :stime</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/total.rb b/benchmark/lib/benchmark_driver/runner/total.rb<br/>deleted file mode 100644<br/>index 64dc14f84e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/total.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/total.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,137 +0,0 @@</div><div class='del'>-require 'benchmark_driver/struct'</div><div class='del'>-require 'benchmark_driver/metric'</div><div class='del'>-require 'benchmark_driver/default_job'</div><div class='del'>-require 'benchmark_driver/default_job_parser'</div><div class='del'>-require 'tempfile'</div><div class='del'>-</div><div class='del'>-class BenchmarkDriver::Runner::Total</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(name: 'Total time', unit: 's', larger_better: false)</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  # @param [BenchmarkDriver::Config::RunnerConfig] config</div><div class='del'>-  # @param [BenchmarkDriver::Output] output</div><div class='del'>-  # @param [BenchmarkDriver::Context] contexts</div><div class='del'>-  def initialize(config:, output:, contexts:)</div><div class='del'>-    @config = config</div><div class='del'>-    @output = output</div><div class='del'>-    @contexts = contexts</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # This method is dynamically called by `BenchmarkDriver::JobRunner.run`</div><div class='del'>-  # @param [Array&lt;BenchmarkDriver::Runner::Total::Job&gt;] jobs</div><div class='del'>-  def run(jobs)</div><div class='del'>-    if jobs.any? { |job| job.loop_count.nil? }</div><div class='del'>-      raise 'missing loop_count is not supported in Ruby repository'</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    @output.with_benchmark do</div><div class='del'>-      jobs.each do |job|</div><div class='del'>-        @output.with_job(name: job.name) do</div><div class='del'>-          job.runnable_contexts(@contexts).each do |context|</div><div class='del'>-            duration = BenchmarkDriver::Repeater.with_repeat(config: @config, larger_better: false) do</div><div class='del'>-              run_benchmark(job, context: context)</div><div class='del'>-            end</div><div class='del'>-            @output.with_context(name: context.name, executable: context.executable, gems: context.gems, prelude: context.prelude) do</div><div class='del'>-              @output.report(values: { metric =&gt; duration }, duration: duration, loop_count: job.loop_count)</div><div class='del'>-            end</div><div class='del'>-          end</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # @param [BenchmarkDriver::Runner::Ips::Job] job - loop_count is not nil</div><div class='del'>-  # @param [BenchmarkDriver::Context] context</div><div class='del'>-  # @return [BenchmarkDriver::Metrics]</div><div class='del'>-  def run_benchmark(job, context:)</div><div class='del'>-    benchmark = BenchmarkScript.new(</div><div class='del'>-      preludes:   [context.prelude, job.prelude],</div><div class='del'>-      script:     job.script,</div><div class='del'>-      teardown:   job.teardown,</div><div class='del'>-      loop_count: job.loop_count,</div><div class='del'>-    )</div><div class='del'>-</div><div class='del'>-    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='del'>-      with_script(benchmark.render(result: f.path, target: target)) do |path|</div><div class='del'>-        IO.popen([*context.executable.command, path], &amp;:read) # TODO: print stdout if verbose=2</div><div class='del'>-        if $?.success?</div><div class='del'>-          Float(f.read)</div><div class='del'>-        else</div><div class='del'>-          BenchmarkDriver::Result::ERROR</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # This method is overridden by some subclasses</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # This method is overridden by some subclasses</div><div class='del'>-  def target</div><div class='del'>-    :total</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def with_script(script)</div><div class='del'>-    if @config.verbose &gt;= 2</div><div class='del'>-      sep = '-' * 30</div><div class='del'>-      $stdout.puts "\n\n#{sep}[Script begin]#{sep}\n#{script}#{sep}[Script end]#{sep}\n\n"</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='del'>-      f.puts script</div><div class='del'>-      f.close</div><div class='del'>-      return yield(f.path)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # @param [String] prelude</div><div class='del'>-  # @param [String] script</div><div class='del'>-  # @param [String] teardown</div><div class='del'>-  # @param [Integer] loop_count</div><div class='del'>-  BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do</div><div class='del'>-    # @param [String] result - A file to write result</div><div class='del'>-    def render(result:, target:)</div><div class='del'>-      prelude = preludes.reject(&amp;:nil?).reject(&amp;:empty?).join("\n")</div><div class='del'>-      &lt;&lt;-RUBY</div><div class='del'>-#{prelude}</div><div class='del'>-</div><div class='del'>-require 'benchmark'</div><div class='del'>-__bmdv_result = Benchmark.measure {</div><div class='del'>-  #{while_loop(script, loop_count)}</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#{teardown}</div><div class='del'>-</div><div class='del'>-File.write(#{result.dump}, __bmdv_result.#{target})</div><div class='del'>-      RUBY</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    private</div><div class='del'>-</div><div class='del'>-    def while_loop(content, times)</div><div class='del'>-      if !times.is_a?(Integer) || times &lt;= 0</div><div class='del'>-        raise ArgumentError.new("Unexpected times: #{times.inspect}")</div><div class='del'>-      elsif times == 1</div><div class='del'>-        return content</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      # TODO: execute in batch</div><div class='del'>-      &lt;&lt;-RUBY</div><div class='del'>-__bmdv_i = 0</div><div class='del'>-while __bmdv_i &lt; #{times}</div><div class='del'>-  #{content}</div><div class='del'>-  __bmdv_i += 1</div><div class='del'>-end</div><div class='del'>-      RUBY</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  private_constant :BenchmarkScript</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/utime.rb b/benchmark/lib/benchmark_driver/runner/utime.rb<br/>deleted file mode 100644<br/>index b61d83a188..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/utime.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/benchmark_driver/runner/utime.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-require 'benchmark_driver/runner/total'</div><div class='del'>-</div><div class='del'>-class BenchmarkDriver::Runner::Utime &lt; BenchmarkDriver::Runner::Total</div><div class='del'>-  METRIC = BenchmarkDriver::Metric.new(name: 'utime', unit: 's', larger_better: false)</div><div class='del'>-</div><div class='del'>-  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='del'>-  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='del'>-  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='del'>-  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='del'>-</div><div class='del'>-  private</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='del'>-  def metric</div><div class='del'>-    METRIC</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='del'>-  def target</div><div class='del'>-    :utime</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/lib/load.rb b/benchmark/lib/load.rb<br/>deleted file mode 100755<br/>index 4d73a63323..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/lib/load.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/lib/load.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-$:.unshift(File.join(__dir__, '../benchmark-driver/lib'))</div><div class='del'>-require 'benchmark_driver'</div><div class='head'>diff --git a/benchmark/loop_for.rb b/benchmark/loop_for.rb<br/>deleted file mode 100644<br/>index 0fc4cc1511..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/loop_for.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_for.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-for i in 1..30_000_000</div><div class='del'>-  #</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/loop_generator.rb b/benchmark/loop_generator.rb<br/>deleted file mode 100644<br/>index d3375c744c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/loop_generator.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_generator.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-max = 600000</div><div class='del'>-</div><div class='del'>-if defined? Fiber</div><div class='del'>-  gen = (1..max).each</div><div class='del'>-  loop do</div><div class='del'>-    gen.next</div><div class='del'>-  end</div><div class='del'>-else</div><div class='del'>-  require 'generator'</div><div class='del'>-  gen = Generator.new((0..max))</div><div class='del'>-  while gen.next?</div><div class='del'>-    gen.next</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/loop_times.rb b/benchmark/loop_times.rb<br/>deleted file mode 100644<br/>index 521f72ad1a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/loop_times.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_times.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-30_000_000.times{|e|}</div><div class='head'>diff --git a/benchmark/loop_whileloop.rb b/benchmark/loop_whileloop.rb<br/>deleted file mode 100644<br/>index 0072822c06..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/loop_whileloop.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_whileloop.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;30_000_000 # benchmark loop 1</div><div class='del'>-  i += 1</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/loop_whileloop2.rb b/benchmark/loop_whileloop2.rb<br/>deleted file mode 100644<br/>index 47d02dffc4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/loop_whileloop2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/loop_whileloop2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt; 6_000_000 # benchmark loop 2</div><div class='del'>-  i += 1</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/marshal_dump_flo.rb b/benchmark/marshal_dump_flo.rb<br/>deleted file mode 100644<br/>index 9b8d0c6afb..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/marshal_dump_flo.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/marshal_dump_flo.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-bug10761 = 10000.times.map { |x| x.to_f }</div><div class='del'>-100.times { Marshal.dump(bug10761) }</div><div class='head'>diff --git a/benchmark/marshal_dump_load_geniv.rb b/benchmark/marshal_dump_load_geniv.rb<br/>deleted file mode 100644<br/>index 8252ad90fa..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/marshal_dump_load_geniv.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/marshal_dump_load_geniv.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-a = ''</div><div class='del'>-a.instance_eval do</div><div class='del'>-  @a = :a</div><div class='del'>-  @b = :b</div><div class='del'>-  @c = :c</div><div class='del'>-end</div><div class='del'>-100000.times do</div><div class='del'>-  a = Marshal.load(Marshal.dump(a))</div><div class='del'>-end</div><div class='del'>-#p(a.instance_eval { @a == :a &amp;&amp; @b == :b &amp;&amp; @c == :c })</div><div class='head'>diff --git a/benchmark/marshal_dump_load_time.rb b/benchmark/marshal_dump_load_time.rb<br/>deleted file mode 100644<br/>index e29743b791..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/marshal_dump_load_time.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/marshal_dump_load_time.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-100000.times { Marshal.load(Marshal.dump(Time.now)) }</div><div class='head'>diff --git a/benchmark/other-lang/ack.pl b/benchmark/other-lang/ack.pl<br/>deleted file mode 100644<br/>index 201e22ddfa..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/ack.pl?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.pl</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-use integer;</div><div class='del'>-</div><div class='del'>-sub Ack {</div><div class='del'>-    return $_[0] ? ($_[1] ? Ack($_[0]-1, Ack($_[0], $_[1]-1))</div><div class='del'>-		    : Ack($_[0]-1, 1))</div><div class='del'>-	: $_[1]+1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-my $NUM = 9;</div><div class='del'>-$NUM = 1 if ($NUM &lt; 1);</div><div class='del'>-my $ack = Ack(3, $NUM);</div><div class='head'>diff --git a/benchmark/other-lang/ack.py b/benchmark/other-lang/ack.py<br/>deleted file mode 100644<br/>index 9968e7cfcf..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/ack.py?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.py</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,16 +0,0 @@</div><div class='del'>-import sys</div><div class='del'>-sys.setrecursionlimit(5000000)</div><div class='del'>-</div><div class='del'>-def Ack(M, N):</div><div class='del'>-    if (not M):</div><div class='del'>-        return( N + 1 )</div><div class='del'>-    if (not N):</div><div class='del'>-        return( Ack(M-1, 1) )</div><div class='del'>-    return( Ack(M-1, Ack(M, N-1)) )</div><div class='del'>-</div><div class='del'>-def main():</div><div class='del'>-    NUM = 9</div><div class='del'>-    sys.setrecursionlimit(10000)</div><div class='del'>-    Ack(3, NUM)</div><div class='del'>-</div><div class='del'>-main()</div><div class='head'>diff --git a/benchmark/other-lang/ack.rb b/benchmark/other-lang/ack.rb<br/>deleted file mode 100644<br/>index 7451bed6c4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/ack.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12 +0,0 @@</div><div class='del'>-def ack(m, n)</div><div class='del'>-    if m == 0 then</div><div class='del'>-        n + 1</div><div class='del'>-    elsif n == 0 then</div><div class='del'>-        ack(m - 1, 1)</div><div class='del'>-    else</div><div class='del'>-        ack(m - 1, ack(m, n - 1))</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-NUM = 9</div><div class='del'>-ack(3, NUM)</div><div class='head'>diff --git a/benchmark/other-lang/ack.scm b/benchmark/other-lang/ack.scm<br/>deleted file mode 100644<br/>index a80b73ba55..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/ack.scm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/ack.scm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-(define (ack m n)</div><div class='del'>-  (cond ((zero? m) (+ n 1))</div><div class='del'>-	((zero? n) (ack (- m 1) 1))</div><div class='del'>-	(else      (ack (- m 1) (ack m (- n 1))))))</div><div class='del'>-</div><div class='del'>-(ack 3 9)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/eval.rb b/benchmark/other-lang/eval.rb<br/>deleted file mode 100644<br/>index 48a2cea019..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/eval.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/eval.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,66 +0,0 @@</div><div class='del'>-</div><div class='del'>-Bench = %w(</div><div class='del'>-  loop</div><div class='del'>-  ack</div><div class='del'>-  fib</div><div class='del'>-  tak</div><div class='del'>-  fact</div><div class='del'>-)</div><div class='del'>-</div><div class='del'>-Lang = &lt;&lt;EOP.map{|l| l.strip}</div><div class='del'>-  ruby-cyg</div><div class='del'>-  ../../../test6/miniruby</div><div class='del'>-  perl</div><div class='del'>-  python</div><div class='del'>-  gosh</div><div class='del'>-EOP</div><div class='del'>-</div><div class='del'>-Bench.replace ['loop2']</div><div class='del'>-Lang.replace ['ruby-cyg']</div><div class='del'>-</div><div class='del'>-Ext = %w(</div><div class='del'>-  .rb</div><div class='del'>-  .rb</div><div class='del'>-  .pl</div><div class='del'>-  .py</div><div class='del'>-  .scm</div><div class='del'>-)</div><div class='del'>-</div><div class='del'>-p Bench</div><div class='del'>-p Lang</div><div class='del'>-</div><div class='del'>-require 'benchmark'</div><div class='del'>-</div><div class='del'>-def bench cmd</div><div class='del'>-  m = Benchmark.measure{</div><div class='del'>-    #p cmd</div><div class='del'>-    system(cmd)</div><div class='del'>-  }</div><div class='del'>-  [m.utime, m.real]</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-Result = []</div><div class='del'>-Bench.each{|b|</div><div class='del'>-  r = []</div><div class='del'>-  Lang.each_with_index{|l, idx|</div><div class='del'>-    cmd = "#{l} #{b}#{Ext[idx]}"</div><div class='del'>-    r &lt;&lt; bench(cmd)</div><div class='del'>-  }</div><div class='del'>-  Result &lt;&lt; r</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-require 'pp'</div><div class='del'>-# utime</div><div class='del'>-puts Lang.join("\t")</div><div class='del'>-Bench.each_with_index{|b, bi|</div><div class='del'>-  print b, "\t"</div><div class='del'>-  puts Result[bi].map{|e| e[0]}.join("\t")</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# rtime</div><div class='del'>-puts Lang.join("\t")</div><div class='del'>-Bench.each_with_index{|b, bi|</div><div class='del'>-  print b, "\t"</div><div class='del'>-  puts Result[bi].map{|e| e[1]}.join("\t")</div><div class='del'>-}</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/fact.pl b/benchmark/other-lang/fact.pl<br/>deleted file mode 100644<br/>index a9b0b69cdf..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fact.pl?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.pl</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-sub fact{</div><div class='del'>-  my $n = @_[0];</div><div class='del'>-  if($n &lt; 2){</div><div class='del'>-    return 1;</div><div class='del'>-  }</div><div class='del'>-  else{</div><div class='del'>-    return $n * fact($n-1);</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-for($i=0; $i&lt;10000; $i++){</div><div class='del'>-  &amp;fact(100);</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/other-lang/fact.py b/benchmark/other-lang/fact.py<br/>deleted file mode 100644<br/>index 01593965d9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fact.py?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.py</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,18 +0,0 @@</div><div class='del'>-#import sys</div><div class='del'>-#sys.setrecursionlimit(1000)</div><div class='del'>-</div><div class='del'>-def factL(n):</div><div class='del'>-	r = 1</div><div class='del'>-	for x in range(2, n):</div><div class='del'>-		r *= x</div><div class='del'>-	return r</div><div class='del'>-</div><div class='del'>-def factR(n):</div><div class='del'>-	if n &lt; 2:</div><div class='del'>-		return 1</div><div class='del'>-	else:</div><div class='del'>-		return n * factR(n-1)</div><div class='del'>-</div><div class='del'>-for i in range(10000):</div><div class='del'>-	factR(100)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/fact.rb b/benchmark/other-lang/fact.rb<br/>deleted file mode 100644<br/>index 6cedc752cd..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fact.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-def fact(n)</div><div class='del'>-  if n &lt; 2</div><div class='del'>-    1</div><div class='del'>-  else</div><div class='del'>-    n * fact(n-1)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;10000</div><div class='del'>-  i += 1</div><div class='del'>-  fact(100)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/other-lang/fact.scm b/benchmark/other-lang/fact.scm<br/>deleted file mode 100644<br/>index c98a7fedd3..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fact.scm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fact.scm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-(define (fact n)</div><div class='del'>-        (if (&lt; n 2)</div><div class='del'>-            1</div><div class='del'>-          (* n (fact (- n 1)))))</div><div class='del'>-</div><div class='del'>-(dotimes (i 10000)</div><div class='del'>-  (fact 100))</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/fib.pl b/benchmark/other-lang/fib.pl<br/>deleted file mode 100644<br/>index a46f666d1e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fib.pl?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.pl</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-sub fib{</div><div class='del'>-  my $n = $_[0];</div><div class='del'>-  if($n &lt; 3){</div><div class='del'>-    return 1;</div><div class='del'>-  }</div><div class='del'>-  else{</div><div class='del'>-    return fib($n-1) + fib($n-2);</div><div class='del'>-  }</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-&amp;fib(34);</div><div class='head'>diff --git a/benchmark/other-lang/fib.py b/benchmark/other-lang/fib.py<br/>deleted file mode 100644<br/>index 45f2bceb8d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fib.py?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.py</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-def fib(n):</div><div class='del'>-  if n &lt; 3:</div><div class='del'>-    return 1</div><div class='del'>-  else:</div><div class='del'>-    return fib(n-1) + fib(n-2)</div><div class='del'>-</div><div class='del'>-fib(34)</div><div class='head'>diff --git a/benchmark/other-lang/fib.rb b/benchmark/other-lang/fib.rb<br/>deleted file mode 100644<br/>index ec587eabe0..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fib.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-def fib n</div><div class='del'>-  if n &lt; 3</div><div class='del'>-    1</div><div class='del'>-  else</div><div class='del'>-    fib(n-1) + fib(n-2)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-fib(34)</div><div class='head'>diff --git a/benchmark/other-lang/fib.scm b/benchmark/other-lang/fib.scm<br/>deleted file mode 100644<br/>index 2fc4e225bd..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/fib.scm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/fib.scm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-(define (fib n)</div><div class='del'>-        (if (&lt; n 3)</div><div class='del'>-            1</div><div class='del'>-          (+ (fib (- n 1)) (fib (- n 2)))))</div><div class='del'>-</div><div class='del'>-(fib 34)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/loop.pl b/benchmark/other-lang/loop.pl<br/>deleted file mode 100644<br/>index 2777490aaa..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/loop.pl?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.pl</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-for($i=0; $i&lt;30000000; $i++){</div><div class='del'>-}</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/loop.py b/benchmark/other-lang/loop.py<br/>deleted file mode 100644<br/>index 003749bf3a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/loop.py?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.py</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-for i in xrange(30000000):</div><div class='del'>-	pass</div><div class='head'>diff --git a/benchmark/other-lang/loop.rb b/benchmark/other-lang/loop.rb<br/>deleted file mode 100644<br/>index b367b9dbf3..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/loop.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;30000000</div><div class='del'>-  i += 1</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/other-lang/loop.scm b/benchmark/other-lang/loop.scm<br/>deleted file mode 100644<br/>index 3364f7e679..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/loop.scm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop.scm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-(dotimes (x 30000000))</div><div class='head'>diff --git a/benchmark/other-lang/loop2.rb b/benchmark/other-lang/loop2.rb<br/>deleted file mode 100644<br/>index df8fffc1ff..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/loop2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/loop2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-30000000.times{}</div><div class='head'>diff --git a/benchmark/other-lang/tak.pl b/benchmark/other-lang/tak.pl<br/>deleted file mode 100644<br/>index 7e748a67c6..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/tak.pl?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.pl</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-sub tak {</div><div class='del'>-    local($x, $y, $z) = @_;</div><div class='del'>-    if (!($y &lt; $x)) {</div><div class='del'>-	return $z;</div><div class='del'>-    } else {</div><div class='del'>-	return &amp;tak(&amp;tak($x - 1, $y, $z),</div><div class='del'>-		    &amp;tak($y - 1, $z, $x),</div><div class='del'>-		    &amp;tak($z - 1, $x, $y));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-&amp;tak(18, 9, 0);</div><div class='head'>diff --git a/benchmark/other-lang/tak.py b/benchmark/other-lang/tak.py<br/>deleted file mode 100644<br/>index 04f3f6829c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/tak.py?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.py</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-def tak(x, y, z):</div><div class='del'>-	if not(y&lt;x):</div><div class='del'>-		return z</div><div class='del'>-	else:</div><div class='del'>-		return tak(tak(x-1, y, z),</div><div class='del'>-		           tak(y-1, z, x),</div><div class='del'>-		           tak(z-1, x, y))</div><div class='del'>-tak(18, 9, 0)</div><div class='head'>diff --git a/benchmark/other-lang/tak.rb b/benchmark/other-lang/tak.rb<br/>deleted file mode 100644<br/>index efe5380f4e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/tak.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-</div><div class='del'>-def tak x, y, z</div><div class='del'>-  unless y &lt; x</div><div class='del'>-    z</div><div class='del'>-  else</div><div class='del'>-    tak( tak(x-1, y, z),</div><div class='del'>-         tak(y-1, z, x),</div><div class='del'>-         tak(z-1, x, y))</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-tak(18, 9, 0)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/other-lang/tak.scm b/benchmark/other-lang/tak.scm<br/>deleted file mode 100644<br/>index 52a7629ee5..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/other-lang/tak.scm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/other-lang/tak.scm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-(define (tak x y z)</div><div class='del'>-        (if (not (&lt; y x))</div><div class='del'>-            z</div><div class='del'>-          (tak (tak (- x 1) y z)</div><div class='del'>-               (tak (- y 1) z x)</div><div class='del'>-               (tak (- z 1) x y))))</div><div class='del'>-</div><div class='del'>-(tak 18 9 0)</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/require.yml b/benchmark/require.yml<br/>deleted file mode 100644<br/>index 711d8e11e9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/require.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/require.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,36 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  require "fileutils"</div><div class='del'>-</div><div class='del'>-  def prepare</div><div class='del'>-    num_files = 10000</div><div class='del'>-</div><div class='del'>-    basename = File.dirname($0)</div><div class='del'>-    data_dir = File.join(basename, "bm_require.data")</div><div class='del'>-</div><div class='del'>-    # skip if all of files exists</div><div class='del'>-    if File.exist?(File.join(data_dir, "c#{num_files}.rb"))</div><div class='del'>-      return</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    FileUtils.mkdir_p(data_dir)</div><div class='del'>-</div><div class='del'>-    1.upto(num_files) do |i|</div><div class='del'>-      f = File.open("#{data_dir}/c#{i}.rb", "w")</div><div class='del'>-      f.puts &lt;&lt;-END</div><div class='del'>-        class C#{i}</div><div class='del'>-        end</div><div class='del'>-      END</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  prepare</div><div class='del'>-benchmark:</div><div class='del'>-  require: |</div><div class='del'>-    $:.push File.join(File.dirname(__FILE__), "bm_require.data")</div><div class='del'>-</div><div class='del'>-    1.upto(10000) do |i|</div><div class='del'>-      require "c#{i}"</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    $:.pop</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/require_thread.yml b/benchmark/require_thread.yml<br/>deleted file mode 100644<br/>index 87e0ba888b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/require_thread.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/require_thread.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,44 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  require "fileutils"</div><div class='del'>-</div><div class='del'>-  def prepare</div><div class='del'>-    num_files = 10000</div><div class='del'>-</div><div class='del'>-    basename = File.dirname($0)</div><div class='del'>-    data_dir = File.join(basename, "bm_require.data")</div><div class='del'>-</div><div class='del'>-    # skip if all of files exists</div><div class='del'>-    if File.exist?(File.join(data_dir, "c#{num_files}.rb"))</div><div class='del'>-      return</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    FileUtils.mkdir_p(data_dir)</div><div class='del'>-</div><div class='del'>-    1.upto(num_files) do |i|</div><div class='del'>-      f = File.open("#{data_dir}/c#{i}.rb", "w")</div><div class='del'>-      f.puts &lt;&lt;-END</div><div class='del'>-        class C#{i}</div><div class='del'>-        end</div><div class='del'>-      END</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  prepare</div><div class='del'>-benchmark:</div><div class='del'>-  require_thread: |</div><div class='del'>-    $:.push File.join(File.dirname(__FILE__), "bm_require.data")</div><div class='del'>-</div><div class='del'>-    i=0</div><div class='del'>-    t = Thread.new do</div><div class='del'>-      while true</div><div class='del'>-        i = i+1 # dummy loop</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    1.upto(100) do |i|</div><div class='del'>-      require "c#{i}"</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    $:.pop</div><div class='del'>-    t.kill</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/securerandom.rb b/benchmark/securerandom.rb<br/>deleted file mode 100644<br/>index a082ea6d5b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/securerandom.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/securerandom.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-require "securerandom"</div><div class='del'>-</div><div class='del'>-20_0000.times do</div><div class='del'>-  SecureRandom.random_number(100)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/so_ackermann.rb b/benchmark/so_ackermann.rb<br/>deleted file mode 100644<br/>index 7db5be9050..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_ackermann.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_ackermann.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,19 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: ackermann-ruby.code,v 1.4 2004/11/13 07:40:41 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-</div><div class='del'>-def ack(m, n)</div><div class='del'>-    if m == 0 then</div><div class='del'>-        n + 1</div><div class='del'>-    elsif n == 0 then</div><div class='del'>-        ack(m - 1, 1)</div><div class='del'>-    else</div><div class='del'>-        ack(m - 1, ack(m, n - 1))</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-NUM = 9</div><div class='del'>-ack(3, NUM)</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_array.rb b/benchmark/so_array.rb<br/>deleted file mode 100644<br/>index 2b8fce8f99..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_array.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_array.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,23 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: ary-ruby.code,v 1.4 2004/11/13 07:41:27 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-# with help from Paul Brannan and Mark Hubbart</div><div class='del'>-</div><div class='del'>-n = 9000 # Integer(ARGV.shift || 1)</div><div class='del'>-</div><div class='del'>-x = Array.new(n)</div><div class='del'>-y = Array.new(n, 0)</div><div class='del'>-</div><div class='del'>-n.times{|bi|</div><div class='del'>-  x[bi] = bi + 1</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-(0 .. 999).each do |e|</div><div class='del'>-  (n-1).step(0,-1) do |bi|</div><div class='del'>-    y[bi] += x.at(bi)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-# puts "#{y.first} #{y.last}"</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_binary_trees.rb b/benchmark/so_binary_trees.rb<br/>deleted file mode 100644<br/>index b1693e4109..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_binary_trees.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_binary_trees.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,62 +0,0 @@</div><div class='del'>-# The Computer Language Shootout Benchmarks</div><div class='del'>-# http://shootout.alioth.debian.org</div><div class='del'>-#</div><div class='del'>-# contributed by Jesse Millikan</div><div class='del'>-</div><div class='del'>-# disable output</div><div class='del'>-alias puts_orig puts</div><div class='del'>-def puts str</div><div class='del'>-  # disable puts</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def item_check(tree)</div><div class='del'>- if tree[0] == nil</div><div class='del'>-  tree[1]</div><div class='del'>- else</div><div class='del'>-  tree[1] + item_check(tree[0]) - item_check(tree[2])</div><div class='del'>- end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def bottom_up_tree(item, depth)</div><div class='del'>- if depth &gt; 0</div><div class='del'>-  item_item = 2 * item</div><div class='del'>-  depth -= 1</div><div class='del'>-  [bottom_up_tree(item_item - 1, depth), item, bottom_up_tree(item_item, depth)]</div><div class='del'>- else</div><div class='del'>-  [nil, item, nil]</div><div class='del'>- end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-max_depth = 16 # ARGV[0].to_i</div><div class='del'>-min_depth = 4</div><div class='del'>-</div><div class='del'>-max_depth = min_depth + 2 if min_depth + 2 &gt; max_depth</div><div class='del'>-</div><div class='del'>-stretch_depth = max_depth + 1</div><div class='del'>-stretch_tree = bottom_up_tree(0, stretch_depth)</div><div class='del'>-</div><div class='del'>-puts "stretch tree of depth #{stretch_depth}\t check: #{item_check(stretch_tree)}"</div><div class='del'>-stretch_tree = nil</div><div class='del'>-</div><div class='del'>-long_lived_tree = bottom_up_tree(0, max_depth)</div><div class='del'>-</div><div class='del'>-min_depth.step(max_depth + 1, 2) do |depth|</div><div class='del'>- iterations = 2**(max_depth - depth + min_depth)</div><div class='del'>-</div><div class='del'>- check = 0</div><div class='del'>-</div><div class='del'>- for i in 1..iterations</div><div class='del'>-  temp_tree = bottom_up_tree(i, depth)</div><div class='del'>-  check += item_check(temp_tree)</div><div class='del'>-</div><div class='del'>-  temp_tree = bottom_up_tree(-i, depth)</div><div class='del'>-  check += item_check(temp_tree)</div><div class='del'>- end</div><div class='del'>-</div><div class='del'>- puts "#{iterations * 2}\t trees of depth #{depth}\t check: #{check}"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-puts "long lived tree of depth #{max_depth}\t check: #{item_check(long_lived_tree)}"</div><div class='del'>-</div><div class='del'>-undef puts</div><div class='del'>-alias puts puts_orig</div><div class='head'>diff --git a/benchmark/so_concatenate.rb b/benchmark/so_concatenate.rb<br/>deleted file mode 100644<br/>index 873214de7c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_concatenate.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_concatenate.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,18 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: strcat-ruby.code,v 1.4 2004/11/13 07:43:28 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-# based on code from Aristarkh A Zagorodnikov and Dat Nguyen</div><div class='del'>-</div><div class='del'>-STUFF = "hello\n"</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;10</div><div class='del'>-  i += 1</div><div class='del'>-  hello = ''</div><div class='del'>-  4_000_000.times do |e|</div><div class='del'>-    hello &lt;&lt; STUFF</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-# puts hello.length</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_count_words.yml b/benchmark/so_count_words.yml<br/>deleted file mode 100644<br/>index d0a6c8dd3e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_count_words.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_count_words.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,66 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  #!/usr/bin/ruby</div><div class='del'>-  # -*- mode: ruby -*-</div><div class='del'>-</div><div class='del'>-  wc_input_base = &lt;&lt;EOS</div><div class='del'>-  Subject:      Re: Who was Izchak Miller?</div><div class='del'>-  From:         "Jane D. Anonymous" &lt;nobody@yale.edu&gt;</div><div class='del'>-  Date:         1996/04/28</div><div class='del'>-  Message-Id:   &lt;4lv7bc$oh@news.ycc.yale.edu&gt;</div><div class='del'>-  References:   &lt;317C405E.5DFA@panix.com&gt; &lt;4lk6vl$gde@ns.oar.net&gt;</div><div class='del'>-  To:           75176.2330@compuserve.com</div><div class='del'>-  Content-Type: text/plain; charset=us-ascii</div><div class='del'>-  Organization: Yale University</div><div class='del'>-  X-Url:        news:4lk6vl$gde@ns.oar.net</div><div class='del'>-  Mime-Version: 1.0</div><div class='del'>-  Newsgroups:   rec.games.roguelike.nethack</div><div class='del'>-  X-Mailer:     Mozilla 1.1N (Macintosh; I; 68K)</div><div class='del'>-</div><div class='del'>-  Hello there, Izchak Miller was my father.  When I was younger I spent </div><div class='del'>-  many a night, hunched over the keyboard with a cup of tea, playing </div><div class='del'>-  nethack with him and my brother.  my dad was a philosopher with a strong </div><div class='del'>-  weakness for fantasy/sci fi.  I remember when he started to get involved </div><div class='del'>-  with the Nethack team- my brother's Dungeons and Dragons monster book </div><div class='del'>-  found a regular place beside my dad's desk. it's nice to see him living </div><div class='del'>-  on in the game he loved so much :-).  </div><div class='del'>-                                                                    Tamar Miller</div><div class='del'>-</div><div class='del'>-  The following is a really long word of 5000 characters:</div><div class='del'>-</div><div class='del'>-  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww</div><div class='del'>-  EOS</div><div class='del'>-</div><div class='del'>-  # prepare 'wc.input'</div><div class='del'>-</div><div class='del'>-  def prepare_wc_input(wcbase)</div><div class='del'>-    wcinput = File.join(File.dirname($0), 'wc.input')</div><div class='del'>-    unless FileTest.exist?(wcinput)</div><div class='del'>-      data = wcbase.dup</div><div class='del'>-      13.times{</div><div class='del'>-        data &lt;&lt; data</div><div class='del'>-      }</div><div class='del'>-      open(wcinput, 'w'){|f| f.write data}</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  prepare_wc_input(wc_input_base)</div><div class='del'>-</div><div class='del'>-benchmark:</div><div class='del'>-  so_count_words: |</div><div class='del'>-    # $Id: wc-ruby.code,v 1.4 2004/11/13 07:43:32 bfulgham Exp $</div><div class='del'>-    # http://www.bagley.org/~doug/shootout/</div><div class='del'>-    # with help from Paul Brannan</div><div class='del'>-    input = open(File.join(File.dirname($0), 'wc.input'), 'rb')</div><div class='del'>-</div><div class='del'>-    nl = nw = nc = 0</div><div class='del'>-    while true</div><div class='del'>-      tmp = input.read(4096) or break</div><div class='del'>-      data = tmp &lt;&lt; (input.gets || "")</div><div class='del'>-      nc += data.length</div><div class='del'>-      nl += data.count("\n")</div><div class='del'>-      ((data.strip! || data).tr!("\n", " ") || data).squeeze!</div><div class='del'>-      nw += data.count(" ") + 1</div><div class='del'>-    end</div><div class='del'>-    # STDERR.puts "#{nl} #{nw} #{nc}"</div><div class='del'>-</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/so_exception.rb b/benchmark/so_exception.rb<br/>deleted file mode 100644<br/>index deb003a594..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_exception.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_exception.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,61 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: except-ruby.code,v 1.4 2004/11/13 07:41:33 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-</div><div class='del'>-$HI = 0</div><div class='del'>-$LO = 0</div><div class='del'>-NUM = 250000 # Integer(ARGV[0] || 1)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-class Lo_Exception &lt; Exception</div><div class='del'>-  def initialize(num)</div><div class='del'>-    @value = num</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Hi_Exception &lt; Exception</div><div class='del'>-  def initialize(num)</div><div class='del'>-    @value = num</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def some_function(num)</div><div class='del'>-  begin</div><div class='del'>-    hi_function(num)</div><div class='del'>-  rescue</div><div class='del'>-    print "We shouldn't get here, exception is: #{$!.type}\n"</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def hi_function(num)</div><div class='del'>-  begin</div><div class='del'>-    lo_function(num)</div><div class='del'>-  rescue Hi_Exception</div><div class='del'>-    $HI = $HI + 1</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def lo_function(num)</div><div class='del'>-  begin</div><div class='del'>-    blowup(num)</div><div class='del'>-  rescue Lo_Exception</div><div class='del'>-    $LO = $LO + 1</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def blowup(num)</div><div class='del'>-  if num % 2 == 0</div><div class='del'>-    raise Lo_Exception.new(num)</div><div class='del'>-  else</div><div class='del'>-    raise Hi_Exception.new(num)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-i = 1</div><div class='del'>-max = NUM+1</div><div class='del'>-while i &lt; max</div><div class='del'>-  i += 1</div><div class='del'>-  some_function(i+1)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/so_fannkuch.rb b/benchmark/so_fannkuch.rb<br/>deleted file mode 100644<br/>index bac5ecd44c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_fannkuch.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_fannkuch.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,45 +0,0 @@</div><div class='del'>-# The Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org/</div><div class='del'>-# Contributed by Sokolov Yura</div><div class='del'>-# Modified by Ryan Williams</div><div class='del'>-</div><div class='del'>-def fannkuch(n)</div><div class='del'>-   maxFlips, m, r, check = 0, n-1, n, 0</div><div class='del'>-   count = (1..n).to_a</div><div class='del'>-   perm = (1..n).to_a</div><div class='del'>-</div><div class='del'>-   while true</div><div class='del'>-      if check &lt; 30</div><div class='del'>-         puts "#{perm}"</div><div class='del'>-         check += 1</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      while r != 1</div><div class='del'>-         count[r-1] = r</div><div class='del'>-         r -= 1</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      if perm[0] != 1 and perm[m] != n</div><div class='del'>-         perml = perm.clone #.dup</div><div class='del'>-         flips = 0</div><div class='del'>-         while (k = perml.first ) != 1</div><div class='del'>-            perml = perml.slice!(0, k).reverse + perml</div><div class='del'>-            flips += 1</div><div class='del'>-         end</div><div class='del'>-         maxFlips = flips if flips &gt; maxFlips</div><div class='del'>-      end</div><div class='del'>-      while true</div><div class='del'>-         if r==n then return maxFlips end</div><div class='del'>-         perm.insert r,perm.shift</div><div class='del'>-         break if (count[r] -= 1) &gt; 0</div><div class='del'>-         r += 1</div><div class='del'>-      end</div><div class='del'>-   end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def puts *args</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-N = 9 # (ARGV[0] || 1).to_i</div><div class='del'>-puts "Pfannkuchen(#{N}) = #{fannkuch(N)}"</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_fasta.rb b/benchmark/so_fasta.rb<br/>deleted file mode 100644<br/>index dcc6b39507..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_fasta.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_fasta.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,81 +0,0 @@</div><div class='del'>-# The Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org/</div><div class='del'>-# Contributed by Sokolov Yura</div><div class='del'>-</div><div class='del'>-$last = 42.0</div><div class='del'>-def gen_random(max, im=139968, ia=3877, ic=29573)</div><div class='del'>-    (max * ($last = ($last * ia + ic) % im)) / im</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-alu =</div><div class='del'>-   "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"+</div><div class='del'>-   "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"+</div><div class='del'>-   "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"+</div><div class='del'>-   "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"+</div><div class='del'>-   "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"+</div><div class='del'>-   "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"+</div><div class='del'>-   "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"</div><div class='del'>-</div><div class='del'>-iub = [</div><div class='del'>-    ["a", 0.27],</div><div class='del'>-    ["c", 0.12],</div><div class='del'>-    ["g", 0.12],</div><div class='del'>-    ["t", 0.27],</div><div class='del'>-</div><div class='del'>-    ["B", 0.02],</div><div class='del'>-    ["D", 0.02],</div><div class='del'>-    ["H", 0.02],</div><div class='del'>-    ["K", 0.02],</div><div class='del'>-    ["M", 0.02],</div><div class='del'>-    ["N", 0.02],</div><div class='del'>-    ["R", 0.02],</div><div class='del'>-    ["S", 0.02],</div><div class='del'>-    ["V", 0.02],</div><div class='del'>-    ["W", 0.02],</div><div class='del'>-    ["Y", 0.02],</div><div class='del'>-]</div><div class='del'>-homosapiens = [</div><div class='del'>-    ["a", 0.3029549426680],</div><div class='del'>-    ["c", 0.1979883004921],</div><div class='del'>-    ["g", 0.1975473066391],</div><div class='del'>-    ["t", 0.3015094502008],</div><div class='del'>-]</div><div class='del'>-</div><div class='del'>-def make_repeat_fasta(id, desc, src, n)</div><div class='del'>-    puts "&gt;#{id} #{desc}"</div><div class='del'>-    v = nil</div><div class='del'>-    width = 60</div><div class='del'>-    l = src.length</div><div class='del'>-    s = src * ((n / l) + 1)</div><div class='del'>-    s.slice!(n, l)</div><div class='del'>-    puts(s.scan(/.{1,#{width}}/).join("\n"))</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def make_random_fasta(id, desc, table, n)</div><div class='del'>-    puts "&gt;#{id} #{desc}"</div><div class='del'>-    rand, v = nil,nil</div><div class='del'>-    width = 60</div><div class='del'>-    chunk = 1 * width</div><div class='del'>-    prob = 0.0</div><div class='del'>-    table.each{|v| v[1]= (prob += v[1])}</div><div class='del'>-    for i in 1..(n/width)</div><div class='del'>-        puts((1..width).collect{</div><div class='del'>-            rand = gen_random(1.0)</div><div class='del'>-            table.find{|v| v[1]&gt;rand}[0]</div><div class='del'>-        }.join)</div><div class='del'>-    end</div><div class='del'>-    if n%width != 0</div><div class='del'>-        puts((1..(n%width)).collect{</div><div class='del'>-            rand = gen_random(1.0)</div><div class='del'>-            table.find{|v| v[1]&gt;rand}[0]</div><div class='del'>-        }.join)</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-n = (ARGV[0] or 250_000).to_i</div><div class='del'>-</div><div class='del'>-make_repeat_fasta('ONE', 'Homo sapiens alu', alu, n*2)</div><div class='del'>-make_random_fasta('TWO', 'IUB ambiguity codes', iub, n*3)</div><div class='del'>-make_random_fasta('THREE', 'Homo sapiens frequency', homosapiens, n*5)</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_k_nucleotide.yml b/benchmark/so_k_nucleotide.yml<br/>deleted file mode 100644<br/>index d7df086c39..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_k_nucleotide.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_k_nucleotide.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,155 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  bm_so_fasta = &lt;&lt;'EOS'</div><div class='del'>-  # The Computer Language Shootout</div><div class='del'>-  # http://shootout.alioth.debian.org/</div><div class='del'>-  # Contributed by Sokolov Yura</div><div class='del'>-</div><div class='del'>-  $last = 42.0</div><div class='del'>-  def gen_random(max, im=139968, ia=3877, ic=29573)</div><div class='del'>-      (max * ($last = ($last * ia + ic) % im)) / im</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  alu =</div><div class='del'>-     "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"+</div><div class='del'>-     "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"+</div><div class='del'>-     "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"+</div><div class='del'>-     "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"+</div><div class='del'>-     "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"+</div><div class='del'>-     "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"+</div><div class='del'>-     "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"</div><div class='del'>-</div><div class='del'>-  iub = [</div><div class='del'>-      ["a", 0.27],</div><div class='del'>-      ["c", 0.12],</div><div class='del'>-      ["g", 0.12],</div><div class='del'>-      ["t", 0.27],</div><div class='del'>-</div><div class='del'>-      ["B", 0.02],</div><div class='del'>-      ["D", 0.02],</div><div class='del'>-      ["H", 0.02],</div><div class='del'>-      ["K", 0.02],</div><div class='del'>-      ["M", 0.02],</div><div class='del'>-      ["N", 0.02],</div><div class='del'>-      ["R", 0.02],</div><div class='del'>-      ["S", 0.02],</div><div class='del'>-      ["V", 0.02],</div><div class='del'>-      ["W", 0.02],</div><div class='del'>-      ["Y", 0.02],</div><div class='del'>-  ]</div><div class='del'>-  homosapiens = [</div><div class='del'>-      ["a", 0.3029549426680],</div><div class='del'>-      ["c", 0.1979883004921],</div><div class='del'>-      ["g", 0.1975473066391],</div><div class='del'>-      ["t", 0.3015094502008],</div><div class='del'>-  ]</div><div class='del'>-</div><div class='del'>-  def make_repeat_fasta(id, desc, src, n)</div><div class='del'>-      puts "&gt;#{id} #{desc}"</div><div class='del'>-      v = nil</div><div class='del'>-      width = 60</div><div class='del'>-      l = src.length</div><div class='del'>-      s = src * ((n / l) + 1)</div><div class='del'>-      s.slice!(n, l)</div><div class='del'>-      puts(s.scan(/.{1,#{width}}/).join("\n"))</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def make_random_fasta(id, desc, table, n)</div><div class='del'>-      puts "&gt;#{id} #{desc}"</div><div class='del'>-      rand, v = nil,nil</div><div class='del'>-      width = 60</div><div class='del'>-      chunk = 1 * width</div><div class='del'>-      prob = 0.0</div><div class='del'>-      table.each{|v| v[1]= (prob += v[1])}</div><div class='del'>-      for i in 1..(n/width)</div><div class='del'>-          puts((1..width).collect{</div><div class='del'>-              rand = gen_random(1.0)</div><div class='del'>-              table.find{|v| v[1]&gt;rand}[0]</div><div class='del'>-          }.join)</div><div class='del'>-      end</div><div class='del'>-      if n%width != 0</div><div class='del'>-          puts((1..(n%width)).collect{</div><div class='del'>-              rand = gen_random(1.0)</div><div class='del'>-              table.find{|v| v[1]&gt;rand}[0]</div><div class='del'>-          }.join)</div><div class='del'>-      end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-  n = (ARGV[0] or 250_000).to_i</div><div class='del'>-</div><div class='del'>-  make_repeat_fasta('ONE', 'Homo sapiens alu', alu, n*2)</div><div class='del'>-  make_random_fasta('TWO', 'IUB ambiguity codes', iub, n*3)</div><div class='del'>-  make_random_fasta('THREE', 'Homo sapiens frequency', homosapiens, n*5)</div><div class='del'>-  EOS</div><div class='del'>-benchmark:</div><div class='del'>-  - name: so_k_nucleotide</div><div class='del'>-    prelude: |</div><div class='del'>-      script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='del'>-      File.write(script, bm_so_fasta)</div><div class='del'>-</div><div class='del'>-      def prepare_fasta_output n</div><div class='del'>-        filebase = File.join(File.dirname($0), 'fasta.output')</div><div class='del'>-        script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='del'>-        file = "#{filebase}.#{n}"</div><div class='del'>-</div><div class='del'>-        unless FileTest.exist?(file)</div><div class='del'>-          STDERR.puts "preparing #{file}"</div><div class='del'>-</div><div class='del'>-          open(file, 'w'){|f|</div><div class='del'>-            ARGV[0] = n</div><div class='del'>-            $stdout = f</div><div class='del'>-            load script</div><div class='del'>-            $stdout = STDOUT</div><div class='del'>-          }</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-      prepare_fasta_output(100_000)</div><div class='del'>-    script: |</div><div class='del'>-      # The Computer Language Shootout</div><div class='del'>-      # http://shootout.alioth.debian.org</div><div class='del'>-      #</div><div class='del'>-      # contributed by jose fco. gonzalez</div><div class='del'>-      # modified by Sokolov Yura</div><div class='del'>-</div><div class='del'>-      seq = String.new</div><div class='del'>-</div><div class='del'>-      def frecuency( seq,length )</div><div class='del'>-          n, table = seq.length - length + 1, Hash.new(0)</div><div class='del'>-          f, i = nil, nil</div><div class='del'>-          (0 ... length).each do |f|</div><div class='del'>-              (f ... n).step(length) do |i|</div><div class='del'>-                  table[seq[i,length]] += 1</div><div class='del'>-              end</div><div class='del'>-          end</div><div class='del'>-          [n,table]</div><div class='del'>-</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      def sort_by_freq( seq,length )</div><div class='del'>-          n,table = frecuency( seq,length )</div><div class='del'>-          a, b, v = nil, nil, nil</div><div class='del'>-          table.sort{|a,b| b[1] &lt;=&gt; a[1]}.each do |v|</div><div class='del'>-              puts "%s %.3f" % [v[0].upcase,((v[1]*100).to_f/n)]</div><div class='del'>-          end</div><div class='del'>-          puts</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      def find_seq( seq,s )</div><div class='del'>-          n,table = frecuency( seq,s.length )</div><div class='del'>-          puts "#{table[s].to_s}\t#{s.upcase}"</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      input = open(File.join(File.dirname($0), 'fasta.output.100000'), 'rb')</div><div class='del'>-</div><div class='del'>-      line = input.gets while line !~ /^&gt;THREE/</div><div class='del'>-      line = input.gets</div><div class='del'>-</div><div class='del'>-      while (line !~ /^&gt;/) &amp; line do</div><div class='del'>-          seq &lt;&lt; line.chomp</div><div class='del'>-          line = input.gets</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      [1,2].each {|i| sort_by_freq( seq,i ) }</div><div class='del'>-</div><div class='del'>-      %w(ggt ggta ggtatt ggtattttaatt ggtattttaatttatagt).each{|s| find_seq( seq,s) }</div><div class='del'>-    loop_count: 1</div><div class='head'>diff --git a/benchmark/so_lists.rb b/benchmark/so_lists.rb<br/>deleted file mode 100644<br/>index e8f4a2a5f7..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_lists.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_lists.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,47 +0,0 @@</div><div class='del'>-#from http://www.bagley.org/~doug/shootout/bench/lists/lists.ruby</div><div class='del'>-</div><div class='del'>-NUM = 300</div><div class='del'>-SIZE = 10000</div><div class='del'>-</div><div class='del'>-def test_lists()</div><div class='del'>-  # create a list of integers (Li1) from 1 to SIZE</div><div class='del'>-  li1 = (1..SIZE).to_a</div><div class='del'>-  # copy the list to li2 (not by individual items)</div><div class='del'>-  li2 = li1.dup</div><div class='del'>-  # remove each individual item from left side of li2 and</div><div class='del'>-  # append to right side of li3 (preserving order)</div><div class='del'>-  li3 = Array.new</div><div class='del'>-  while (not li2.empty?)</div><div class='del'>-    li3.push(li2.shift)</div><div class='del'>-  end</div><div class='del'>-  # li2 must now be empty</div><div class='del'>-  # remove each individual item from right side of li3 and</div><div class='del'>-  # append to right side of li2 (reversing list)</div><div class='del'>-  while (not li3.empty?)</div><div class='del'>-    li2.push(li3.pop)</div><div class='del'>-  end</div><div class='del'>-  # li3 must now be empty</div><div class='del'>-  # reverse li1 in place</div><div class='del'>-  li1.reverse!</div><div class='del'>-  # check that first item is now SIZE</div><div class='del'>-  if li1[0] != SIZE then</div><div class='del'>-    p "not SIZE"</div><div class='del'>-    0</div><div class='del'>-  else</div><div class='del'>-    # compare li1 and li2 for equality</div><div class='del'>-    if li1 != li2 then</div><div class='del'>-      return(0)</div><div class='del'>-    else</div><div class='del'>-      # return the length of the list</div><div class='del'>-      li1.length</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;NUM</div><div class='del'>-  i += 1</div><div class='del'>-  result = test_lists()</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-result</div><div class='head'>diff --git a/benchmark/so_mandelbrot.rb b/benchmark/so_mandelbrot.rb<br/>deleted file mode 100644<br/>index 76331c64b8..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_mandelbrot.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_mandelbrot.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,57 +0,0 @@</div><div class='del'>-#  The Computer Language Benchmarks Game</div><div class='del'>-#  http://shootout.alioth.debian.org/</div><div class='del'>-#</div><div class='del'>-#  contributed by Karl von Laudermann</div><div class='del'>-#  modified by Jeremy Echols</div><div class='del'>-</div><div class='del'>-size = 600 # ARGV[0].to_i</div><div class='del'>-</div><div class='del'>-puts "P4\n#{size} #{size}"</div><div class='del'>-</div><div class='del'>-ITER = 49                           # Iterations - 1 for easy for..in looping</div><div class='del'>-LIMIT_SQUARED = 4.0                 # Presquared limit</div><div class='del'>-</div><div class='del'>-byte_acc = 0</div><div class='del'>-bit_num = 0</div><div class='del'>-</div><div class='del'>-count_size = size - 1               # Precomputed size for easy for..in looping</div><div class='del'>-</div><div class='del'>-# For..in loops are faster than .upto, .downto, .times, etc.</div><div class='del'>-for y in 0..count_size</div><div class='del'>-  for x in 0..count_size</div><div class='del'>-    zr = 0.0</div><div class='del'>-    zi = 0.0</div><div class='del'>-    cr = (2.0*x/size)-1.5</div><div class='del'>-    ci = (2.0*y/size)-1.0</div><div class='del'>-    escape = false</div><div class='del'>-</div><div class='del'>-    # To make use of the for..in code, we use a dummy variable,</div><div class='del'>-    # like one would in C</div><div class='del'>-    for dummy in 0..ITER</div><div class='del'>-      tr = zr*zr - zi*zi + cr</div><div class='del'>-      ti = 2*zr*zi + ci</div><div class='del'>-      zr, zi = tr, ti</div><div class='del'>-</div><div class='del'>-      if (zr*zr+zi*zi) &gt; LIMIT_SQUARED</div><div class='del'>-        escape = true</div><div class='del'>-        break</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    byte_acc = (byte_acc &lt;&lt; 1) | (escape ? 0b0 : 0b1)</div><div class='del'>-    bit_num += 1</div><div class='del'>-</div><div class='del'>-    # Code is very similar for these cases, but using separate blocks</div><div class='del'>-    # ensures we skip the shifting when it's unnecessary, which is most cases.</div><div class='del'>-    if (bit_num == 8)</div><div class='del'>-      print byte_acc.chr</div><div class='del'>-      byte_acc = 0</div><div class='del'>-      bit_num = 0</div><div class='del'>-    elsif (x == count_size)</div><div class='del'>-      byte_acc &lt;&lt;= (8 - bit_num)</div><div class='del'>-      print byte_acc.chr</div><div class='del'>-      byte_acc = 0</div><div class='del'>-      bit_num = 0</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/so_matrix.rb b/benchmark/so_matrix.rb<br/>deleted file mode 100644<br/>index e2c5c8e559..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_matrix.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_matrix.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,48 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: matrix-ruby.code,v 1.4 2004/11/13 07:42:14 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-</div><div class='del'>-n = 60 #Integer(ARGV.shift || 1)</div><div class='del'>-</div><div class='del'>-size = 40</div><div class='del'>-</div><div class='del'>-def mkmatrix(rows, cols)</div><div class='del'>-    count = 1</div><div class='del'>-    mx = Array.new(rows)</div><div class='del'>-    (0 .. (rows - 1)).each do |bi|</div><div class='del'>-        row = Array.new(cols, 0)</div><div class='del'>-        (0 .. (cols - 1)).each do |j|</div><div class='del'>-            row[j] = count</div><div class='del'>-            count += 1</div><div class='del'>-        end</div><div class='del'>-        mx[bi] = row</div><div class='del'>-    end</div><div class='del'>-    mx</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def mmult(rows, cols, m1, m2)</div><div class='del'>-    m3 = Array.new(rows)</div><div class='del'>-    (0 .. (rows - 1)).each do |bi|</div><div class='del'>-        row = Array.new(cols, 0)</div><div class='del'>-        (0 .. (cols - 1)).each do |j|</div><div class='del'>-            val = 0</div><div class='del'>-            (0 .. (cols - 1)).each do |k|</div><div class='del'>-                val += m1.at(bi).at(k) * m2.at(k).at(j)</div><div class='del'>-            end</div><div class='del'>-            row[j] = val</div><div class='del'>-        end</div><div class='del'>-        m3[bi] = row</div><div class='del'>-    end</div><div class='del'>-    m3</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-m1 = mkmatrix(size, size)</div><div class='del'>-m2 = mkmatrix(size, size)</div><div class='del'>-mm = Array.new</div><div class='del'>-n.times do</div><div class='del'>-    mm = mmult(size, size, m1, m2)</div><div class='del'>-end</div><div class='del'>-# puts "#{mm[0][0]} #{mm[2][3]} #{mm[3][2]} #{mm[4][4]}"</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_meteor_contest.rb b/benchmark/so_meteor_contest.rb<br/>deleted file mode 100644<br/>index 8c136baa6c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_meteor_contest.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_meteor_contest.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,563 +0,0 @@</div><div class='del'>-#!/usr/bin/env ruby</div><div class='del'>-#</div><div class='del'>-# The Computer Language Shootout</div><div class='del'>-#   http://shootout.alioth.debian.org</div><div class='del'>-#   contributed by Kevin Barnes (Ruby novice)</div><div class='del'>-</div><div class='del'>-# PROGRAM:  the main body is at the bottom.</div><div class='del'>-#   1) read about the problem here: http://www-128.ibm.com/developerworks/java/library/j-javaopt/</div><div class='del'>-#   2) see how I represent a board as a bitmask by reading the blank_board comments</div><div class='del'>-#   3) read as your mental paths take you</div><div class='del'>-</div><div class='del'>-def print *args</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# class to represent all information about a particular rotation of a particular piece</div><div class='del'>-class Rotation</div><div class='del'>-  # an array (by location) containing a bit mask for how the piece maps at the given location.</div><div class='del'>-  # if the rotation is invalid at that location the mask will contain false</div><div class='del'>-  attr_reader :start_masks</div><div class='del'>-</div><div class='del'>-  # maps a direction to a relative location.  these differ depending on whether it is an even or</div><div class='del'>-  # odd row being mapped from</div><div class='del'>-  @@rotation_even_adder = { :west =&gt; -1, :east =&gt; 1, :nw =&gt; -7, :ne =&gt; -6, :sw =&gt; 5, :se =&gt; 6 }</div><div class='del'>-  @@rotation_odd_adder = { :west =&gt; -1, :east =&gt; 1, :nw =&gt; -6, :ne =&gt; -5, :sw =&gt; 6, :se =&gt; 7 }</div><div class='del'>-</div><div class='del'>-  def initialize( directions )</div><div class='del'>-    @even_offsets, @odd_offsets = normalize_offsets( get_values( directions ))</div><div class='del'>-</div><div class='del'>-    @even_mask = mask_for_offsets( @even_offsets)</div><div class='del'>-    @odd_mask = mask_for_offsets( @odd_offsets)</div><div class='del'>-</div><div class='del'>-    @start_masks = Array.new(60)</div><div class='del'>-</div><div class='del'>-    # create the rotational masks by placing the base mask at the location and seeing if</div><div class='del'>-    # 1) it overlaps the boundaries and 2) it produces a prunable board.  if either of these</div><div class='del'>-    # is true the piece cannot be placed</div><div class='del'>-    0.upto(59) do | offset |</div><div class='del'>-      mask = is_even(offset) ? (@even_mask &lt;&lt; offset) : (@odd_mask &lt;&lt; offset)</div><div class='del'>-      if (blank_board &amp; mask == 0 &amp;&amp; !prunable(blank_board | mask, 0, true)) then</div><div class='del'>-        imask = compute_required( mask, offset)</div><div class='del'>-        @start_masks[offset] = [ mask, imask, imask | mask ]</div><div class='del'>-      else</div><div class='del'>-        @start_masks[offset] = false</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def compute_required( mask, offset )</div><div class='del'>-    board = blank_board</div><div class='del'>-    0.upto(offset) { | i | board |= 1 &lt;&lt; i }</div><div class='del'>-    board |= mask</div><div class='del'>-    return 0 if (!prunable(board | mask, offset))</div><div class='del'>-    board = flood_fill(board,58)</div><div class='del'>-    count = 0</div><div class='del'>-    imask = 0</div><div class='del'>-    0.upto(59) do | i |</div><div class='del'>-      if (board[i] == 0) then</div><div class='del'>-        imask |= (1 &lt;&lt; i)</div><div class='del'>-        count += 1</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    (count &gt; 0 &amp;&amp; count &lt; 5) ? imask : 0</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def flood_fill( board, location)</div><div class='del'>-    return board if (board[location] == 1)</div><div class='del'>-    board |= 1 &lt;&lt; location</div><div class='del'>-    row, col = location.divmod(6)</div><div class='del'>-    board = flood_fill( board, location - 1) if (col &gt; 0)</div><div class='del'>-    board = flood_fill( board, location + 1) if (col &lt; 4)</div><div class='del'>-    if (row % 2 == 0) then</div><div class='del'>-      board = flood_fill( board, location - 7) if (col &gt; 0 &amp;&amp; row &gt; 0)</div><div class='del'>-      board = flood_fill( board, location - 6) if (row &gt; 0)</div><div class='del'>-      board = flood_fill( board, location + 6) if (row &lt; 9)</div><div class='del'>-      board = flood_fill( board, location + 5) if (col &gt; 0 &amp;&amp; row &lt; 9)</div><div class='del'>-    else</div><div class='del'>-      board = flood_fill( board, location - 5) if (col &lt; 4 &amp;&amp; row &gt; 0)</div><div class='del'>-      board = flood_fill( board, location - 6) if (row &gt; 0)</div><div class='del'>-      board = flood_fill( board, location + 6) if (row &lt; 9)</div><div class='del'>-      board = flood_fill( board, location + 7) if (col &lt; 4 &amp;&amp; row &lt; 9)</div><div class='del'>-    end</div><div class='del'>-    board</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # given a location, produces a list of relative locations covered by the piece at this rotation</div><div class='del'>-  def offsets( location)</div><div class='del'>-    if is_even( location) then</div><div class='del'>-      @even_offsets.collect { | value | value + location }</div><div class='del'>-    else</div><div class='del'>-      @odd_offsets.collect { | value | value + location }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # returns a set of offsets relative to the top-left most piece of the rotation (by even or odd rows)</div><div class='del'>-  # this is hard to explain. imagine we have this partial board:</div><div class='del'>-  #   0 0 0 0 0 x        [positions 0-5]</div><div class='del'>-  #    0 0 1 1 0 x       [positions 6-11]</div><div class='del'>-  #   0 0 1 0 0 x        [positions 12-17]</div><div class='del'>-  #    0 1 0 0 0 x       [positions 18-23]</div><div class='del'>-  #   0 1 0 0 0 x        [positions 24-29]</div><div class='del'>-  #    0 0 0 0 0 x       [positions 30-35]</div><div class='del'>-  #       ...</div><div class='del'>-  # The top-left of the piece is at position 8, the</div><div class='del'>-  # board would be passed as a set of positions (values array) containing [8,9,14,19,25] not necessarily in that</div><div class='del'>-  # sorted order.  Since that array starts on an odd row, the offsets for an odd row are: [0,1,6,11,17] obtained</div><div class='del'>-  # by subtracting 8 from everything.  Now imagine the piece shifted up and to the right so it's on an even row:</div><div class='del'>-  #   0 0 0 1 1 x        [positions 0-5]</div><div class='del'>-  #    0 0 1 0 0 x       [positions 6-11]</div><div class='del'>-  #   0 0 1 0 0 x        [positions 12-17]</div><div class='del'>-  #    0 1 0 0 0 x       [positions 18-23]</div><div class='del'>-  #   0 0 0 0 0 x        [positions 24-29]</div><div class='del'>-  #    0 0 0 0 0 x       [positions 30-35]</div><div class='del'>-  #       ...</div><div class='del'>-  # Now the positions are [3,4,8,14,19] which after subtracting the lowest value (3) gives [0,1,5,11,16] thus, the</div><div class='del'>-  # offsets for this particular piece are (in even, odd order) [0,1,5,11,16],[0,1,6,11,17] which is what</div><div class='del'>-  # this function would return</div><div class='del'>-  def normalize_offsets( values)</div><div class='del'>-    min = values.min</div><div class='del'>-    even_min = is_even(min)</div><div class='del'>-    other_min = even_min ? min + 6 : min + 7</div><div class='del'>-    other_values = values.collect do | value |</div><div class='del'>-      if is_even(value) then</div><div class='del'>-        value + 6 - other_min</div><div class='del'>-      else</div><div class='del'>-        value + 7 - other_min</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    values.collect! { | value | value - min }</div><div class='del'>-</div><div class='del'>-    if even_min then</div><div class='del'>-      [values, other_values]</div><div class='del'>-    else</div><div class='del'>-      [other_values, values]</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # produce a bitmask representation of an array of offset locations</div><div class='del'>-  def mask_for_offsets( offsets )</div><div class='del'>-    mask = 0</div><div class='del'>-    offsets.each { | value | mask = mask + ( 1 &lt;&lt; value ) }</div><div class='del'>-    mask</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # finds a "safe" position that a position as described by a list of directions can be placed</div><div class='del'>-  # without falling off any edge of the board.  the values returned a location to place the first piece</div><div class='del'>-  # at so it will fit after making the described moves</div><div class='del'>-  def start_adjust( directions )</div><div class='del'>-    south = east = 0;</div><div class='del'>-    directions.each do | direction |</div><div class='del'>-      east += 1 if ( direction == :sw || direction == :nw || direction == :west )</div><div class='del'>-      south += 1 if ( direction == :nw || direction == :ne )</div><div class='del'>-    end</div><div class='del'>-    south * 6 + east</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # given a set of directions places the piece (as defined by a set of directions) on the board at</div><div class='del'>-  # a location that will not take it off the edge</div><div class='del'>-  def get_values( directions )</div><div class='del'>-    start = start_adjust(directions)</div><div class='del'>-    values = [ start ]</div><div class='del'>-    directions.each do | direction |</div><div class='del'>-      if (start % 12 &gt;= 6) then</div><div class='del'>-        start += @@rotation_odd_adder[direction]</div><div class='del'>-      else</div><div class='del'>-        start += @@rotation_even_adder[direction]</div><div class='del'>-      end</div><div class='del'>-      values += [ start ]</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    # some moves take you back to an existing location, we'll strip duplicates</div><div class='del'>-    values.uniq</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# describes a piece and caches information about its rotations to as to be efficient for iteration</div><div class='del'>-# ATTRIBUTES:</div><div class='del'>-#   rotations -- all the rotations of the piece</div><div class='del'>-#   type -- a numeic "name" of the piece</div><div class='del'>-#   masks -- an array by location of all legal rotational masks (a n inner array) for that location</div><div class='del'>-#   placed -- the mask that this piece was last placed at (not a location, but the actual mask used)</div><div class='del'>-class Piece</div><div class='del'>-  attr_reader :rotations, :type, :masks</div><div class='del'>-  attr_accessor :placed</div><div class='del'>-</div><div class='del'>-  # transform hashes that change one direction into another when you either flip or rotate a set of directions</div><div class='del'>-  @@flip_converter = { :west =&gt; :west, :east =&gt; :east, :nw =&gt; :sw, :ne =&gt; :se, :sw =&gt; :nw, :se =&gt; :ne }</div><div class='del'>-  @@rotate_converter = { :west =&gt; :nw, :east =&gt; :se, :nw =&gt; :ne, :ne =&gt; :east, :sw =&gt; :west, :se =&gt; :sw }</div><div class='del'>-</div><div class='del'>-  def initialize( directions, type )</div><div class='del'>-    @type = type</div><div class='del'>-    @rotations = Array.new();</div><div class='del'>-    @map = {}</div><div class='del'>-</div><div class='del'>-    generate_rotations( directions )</div><div class='del'>-    directions.collect! { | value | @@flip_converter[value] }</div><div class='del'>-    generate_rotations( directions )</div><div class='del'>-</div><div class='del'>-    # creates the masks AND a map that returns [location, rotation] for any given mask</div><div class='del'>-    # this is used when a board is found and we want to draw it, otherwise the map is unused</div><div class='del'>-    @masks = Array.new();</div><div class='del'>-    0.upto(59) do | i |</div><div class='del'>-      even = true</div><div class='del'>-      @masks[i] = @rotations.collect do | rotation |</div><div class='del'>-        mask = rotation.start_masks[i]</div><div class='del'>-        @map[mask[0]] = [ i, rotation ] if (mask)</div><div class='del'>-        mask || nil</div><div class='del'>-      end</div><div class='del'>-      @masks[i].compact!</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # rotates a set of directions through all six angles and adds a Rotation to the list for each one</div><div class='del'>-  def generate_rotations( directions )</div><div class='del'>-    6.times do</div><div class='del'>-      rotations.push( Rotation.new(directions))</div><div class='del'>-      directions.collect! { | value | @@rotate_converter[value] }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  # given a board string, adds this piece to the board at whatever location/rotation</div><div class='del'>-  # important: the outbound board string is 5 wide, the normal location notation is six wide (padded)</div><div class='del'>-  def fill_string( board_string)</div><div class='del'>-    location, rotation = @map[@placed]</div><div class='del'>-    rotation.offsets(location).each do | offset |</div><div class='del'>-      row, col = offset.divmod(6)</div><div class='del'>-      board_string[ row*5 + col, 1 ] = @type.to_s</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# a blank bit board having this form:</div><div class='del'>-#</div><div class='del'>-#    0 0 0 0 0 1</div><div class='del'>-#     0 0 0 0 0 1</div><div class='del'>-#    0 0 0 0 0 1</div><div class='del'>-#     0 0 0 0 0 1</div><div class='del'>-#    0 0 0 0 0 1</div><div class='del'>-#     0 0 0 0 0 1</div><div class='del'>-#    0 0 0 0 0 1</div><div class='del'>-#     0 0 0 0 0 1</div><div class='del'>-#    0 0 0 0 0 1</div><div class='del'>-#     0 0 0 0 0 1</div><div class='del'>-#    1 1 1 1 1 1</div><div class='del'>-#</div><div class='del'>-# where left lest significant bit is the top left and the most significant is the lower right</div><div class='del'>-# the actual board only consists of the 0 places, the 1 places are blockers to keep things from running</div><div class='del'>-# off the edges or bottom</div><div class='del'>-def blank_board</div><div class='del'>-  0b111111100000100000100000100000100000100000100000100000100000100000</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def full_board</div><div class='del'>-  0b111111111111111111111111111111111111111111111111111111111111111111</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# determines if a location (bit position) is in an even row</div><div class='del'>-def is_even( location)</div><div class='del'>-  (location % 12) &lt; 6</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# support function that create three utility maps:</div><div class='del'>-#  $converter -- for each row an array that maps a five bit row (via array mapping)</div><div class='del'>-#                to the a five bit representation of the bits below it</div><div class='del'>-#  $bit_count -- maps a five bit row (via array mapping) to the number of 1s in the row</div><div class='del'>-#  @@new_regions -- maps a five bit row (via array mapping) to an array of "region" arrays</div><div class='del'>-#                   a region array has three values the first is a mask of bits in the region,</div><div class='del'>-#                   the second is the count of those bits and the third is identical to the first</div><div class='del'>-#                   examples:</div><div class='del'>-#                           0b10010 =&gt; [ 0b01100, 2, 0b01100 ], [ 0b00001, 1, 0b00001]</div><div class='del'>-#                           0b01010 =&gt; [ 0b10000, 1, 0b10000 ], [ 0b00100, 1, 0b00100 ], [ 0b00001, 1, 0b00001]</div><div class='del'>-#                           0b10001 =&gt; [ 0b01110, 3, 0b01110 ]</div><div class='del'>-def create_collector_support</div><div class='del'>-  odd_map = [0b11, 0b110, 0b1100, 0b11000, 0b10000]</div><div class='del'>-  even_map = [0b1, 0b11, 0b110, 0b1100, 0b11000]</div><div class='del'>-</div><div class='del'>-  all_odds = Array.new(0b100000)</div><div class='del'>-  all_evens = Array.new(0b100000)</div><div class='del'>-  bit_counts = Array.new(0b100000)</div><div class='del'>-  new_regions = Array.new(0b100000)</div><div class='del'>-  0.upto(0b11111) do | i |</div><div class='del'>-    bit_count = odd = even = 0</div><div class='del'>-    0.upto(4) do | bit |</div><div class='del'>-      if (i[bit] == 1) then</div><div class='del'>-        bit_count += 1</div><div class='del'>-        odd |= odd_map[bit]</div><div class='del'>-        even |= even_map[bit]</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    all_odds[i] = odd</div><div class='del'>-    all_evens[i] = even</div><div class='del'>-    bit_counts[i] = bit_count</div><div class='del'>-    new_regions[i] = create_regions( i)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  $converter = []</div><div class='del'>-  10.times { | row | $converter.push((row % 2 == 0) ? all_evens : all_odds) }</div><div class='del'>-  $bit_counts = bit_counts</div><div class='del'>-  $regions = new_regions.collect { | set | set.collect { | value | [ value, bit_counts[value], value] } }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# determines if a board is punable, meaning that there is no possibility that it</div><div class='del'>-# can be filled up with pieces.  A board is prunable if there is a grouping of unfilled spaces</div><div class='del'>-# that are not a multiple of five.  The following board is an example of a prunable board:</div><div class='del'>-#    0 0 1 0 0</div><div class='del'>-#     0 1 0 0 0</div><div class='del'>-#    1 1 0 0 0</div><div class='del'>-#     0 1 0 0 0</div><div class='del'>-#    0 0 0 0 0</div><div class='del'>-#       ...</div><div class='del'>-#</div><div class='del'>-# This board is prunable because the top left corner is only 3 bits in area, no piece will ever fit it</div><div class='del'>-# parameters:</div><div class='del'>-#   board -- an initial bit board (6 bit padded rows, see blank_board for format)</div><div class='del'>-#   location -- starting location, everything above and to the left is already full</div><div class='del'>-#   slotting -- set to true only when testing initial pieces, when filling normally</div><div class='del'>-#               additional assumptions are possible</div><div class='del'>-#</div><div class='del'>-# Algorithm:</div><div class='del'>-#    The algorithm starts at the top row (as determined by location) and iterates a row at a time</div><div class='del'>-#    maintainng counts of active open areas (kept in the collector array) each collector contains</div><div class='del'>-#    three values at the start of an iteration:</div><div class='del'>-#          0: mask of bits that would be adjacent to the collector in this row</div><div class='del'>-#          1: the number of bits collected so far</div><div class='del'>-#          2: a scratch space starting as zero, but used during the computation to represent</div><div class='del'>-#             the empty bits in the new row that are adjacent (position 0)</div><div class='del'>-#  The exact procedure is described in-code</div><div class='del'>-def prunable( board, location, slotting = false)</div><div class='del'>-  collectors = []</div><div class='del'>-  # loop across the rows</div><div class='del'>-  (location / 6).to_i.upto(9) do | row_on |</div><div class='del'>-    # obtain a set of regions representing the bits of the current row.</div><div class='del'>-    regions = $regions[(board &gt;&gt; (row_on * 6)) &amp; 0b11111]</div><div class='del'>-    converter = $converter[row_on]</div><div class='del'>-</div><div class='del'>-    # track the number of collectors at the start of the cycle so that</div><div class='del'>-    # we don't compute against newly created collectors, only existing collectors</div><div class='del'>-    initial_collector_count = collectors.length</div><div class='del'>-</div><div class='del'>-    # loop against the regions.  For each region of the row</div><div class='del'>-    # we will see if it connects to one or more existing collectors.</div><div class='del'>-    # if it connects to 1 collector, the bits from the region are added to the</div><div class='del'>-    # bits of the collector and the mask is placed in collector[2]</div><div class='del'>-    # If the region overlaps more than one collector then all the collectors</div><div class='del'>-    # it overlaps with are merged into the first one (the others are set to nil in the array)</div><div class='del'>-    # if NO collectors are found then the region is copied as a new collector</div><div class='del'>-    regions.each do | region |</div><div class='del'>-      collector_found = nil</div><div class='del'>-      region_mask = region[2]</div><div class='del'>-      initial_collector_count.times do | collector_num |</div><div class='del'>-        collector = collectors[collector_num]</div><div class='del'>-        if (collector) then</div><div class='del'>-          collector_mask = collector[0]</div><div class='del'>-          if (collector_mask &amp; region_mask != 0) then</div><div class='del'>-            if (collector_found) then</div><div class='del'>-              collector_found[0] |= collector_mask</div><div class='del'>-              collector_found[1] += collector[1]</div><div class='del'>-              collector_found[2] |= collector[2]</div><div class='del'>-              collectors[collector_num] = nil</div><div class='del'>-            else</div><div class='del'>-              collector_found = collector</div><div class='del'>-              collector[1] += region[1]</div><div class='del'>-              collector[2] |= region_mask</div><div class='del'>-            end</div><div class='del'>-          end</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-      if (collector_found == nil) then</div><div class='del'>-        collectors.push(Array.new(region))</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    # check the existing collectors, if any collector overlapped no bits in the region its [2] value will</div><div class='del'>-    # be zero.  The size of any such reaason is tested if it is not a multiple of five true is returned since</div><div class='del'>-    # the board is prunable.  if it is a multiple of five it is removed.</div><div class='del'>-    # Collector that are still active have a new adjacent value [0] set based n the matched bits</div><div class='del'>-    # and have [2] cleared out for the next cycle.</div><div class='del'>-    collectors.length.times do | collector_num |</div><div class='del'>-      collector = collectors[collector_num]</div><div class='del'>-      if (collector) then</div><div class='del'>-        if (collector[2] == 0) then</div><div class='del'>-          return true if (collector[1] % 5 != 0)</div><div class='del'>-          collectors[collector_num] = nil</div><div class='del'>-        else</div><div class='del'>-          # if a collector matches all bits in the row then we can return unprunable early for the</div><div class='del'>-          # following reasons:</div><div class='del'>-          #    1) there can be no more unavailable bits bince we fill from the top left downward</div><div class='del'>-          #    2) all previous regions have been closed or joined so only this region can fail</div><div class='del'>-          #    3) this region must be good since there can never be only 1 region that is nuot</div><div class='del'>-          #       a multiple of five</div><div class='del'>-          # this rule only applies when filling normally, so we ignore the rule if we are "slotting"</div><div class='del'>-          # in pieces to see what configurations work for them (the only other time this algorithm is used).</div><div class='del'>-          return false if (collector[2] == 0b11111 &amp;&amp; !slotting)</div><div class='del'>-          collector[0] = converter[collector[2]]</div><div class='del'>-          collector[2] = 0</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    # get rid of all the empty converters for the next round</div><div class='del'>-    collectors.compact!</div><div class='del'>-  end</div><div class='del'>-  return false if (collectors.length &lt;= 1) # 1 collector or less and the region is fine</div><div class='del'>-  collectors.any? { | collector | (collector[1] % 5) != 0 } # more than 1 and we test them all for bad size</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# creates a region given a row mask.  see prunable for what a "region" is</div><div class='del'>-def create_regions( value )</div><div class='del'>-  regions = []</div><div class='del'>-  cur_region = 0</div><div class='del'>-  5.times do | bit |</div><div class='del'>-    if (value[bit] == 0) then</div><div class='del'>-      cur_region |= 1 &lt;&lt; bit</div><div class='del'>-    else</div><div class='del'>-      if (cur_region != 0 ) then</div><div class='del'>-        regions.push( cur_region)</div><div class='del'>-        cur_region = 0;</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  regions.push(cur_region) if (cur_region != 0)</div><div class='del'>-  regions</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# find up to the counted number of solutions (or all solutions) and prints the final result</div><div class='del'>-def find_all</div><div class='del'>-  find_top( 1)</div><div class='del'>-  find_top( 0)</div><div class='del'>-  print_results</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# show the board</div><div class='del'>-def print_results</div><div class='del'>-  print "#{@boards_found} solutions found\n\n"</div><div class='del'>-  print_full_board( @min_board)</div><div class='del'>-  print "\n"</div><div class='del'>-  print_full_board( @max_board)</div><div class='del'>-  print "\n"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# finds solutions.  This special version of the main function is only used for the top level</div><div class='del'>-# the reason for it is basically to force a particular ordering on how the rotations are tested for</div><div class='del'>-# the first piece.  It is called twice, first looking for placements of the odd rotations and then</div><div class='del'>-# looking for placements of the even locations.</div><div class='del'>-#</div><div class='del'>-# WHY?</div><div class='del'>-#   Since any found solution has an inverse we want to maximize finding solutions that are not already found</div><div class='del'>-#   as an inverse.  The inverse will ALWAYS be 3 one of the piece configurations that is exactly 3 rotations away</div><div class='del'>-#   (an odd number).  Checking even vs odd then produces a higher probability of finding more pieces earlier</div><div class='del'>-#   in the cycle.  We still need to keep checking all the permutations, but our probability of finding one will</div><div class='del'>-#   diminsh over time.  Since we are TOLD how many to search for this lets us exit before checking all pieces</div><div class='del'>-#   this bennifit is very great when seeking small numbers of solutions and is 0 when looking for more than the</div><div class='del'>-#   maximum number</div><div class='del'>-def find_top( rotation_skip)</div><div class='del'>-  board = blank_board</div><div class='del'>-  (@pieces.length-1).times do</div><div class='del'>-    piece = @pieces.shift</div><div class='del'>-    piece.masks[0].each do | mask, imask, cmask |</div><div class='del'>-      if ((rotation_skip += 1) % 2 == 0) then</div><div class='del'>-        piece.placed = mask</div><div class='del'>-        find( 1, 1, board | mask)</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    @pieces.push(piece)</div><div class='del'>-  end</div><div class='del'>-  piece = @pieces.shift</div><div class='del'>-  @pieces.push(piece)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# the normail find routine, iterates through the available pieces, checks all rotations at the current location</div><div class='del'>-# and adds any boards found.  depth is achieved via recursion.  the overall approach is described</div><div class='del'>-# here: http://www-128.ibm.com/developerworks/java/library/j-javaopt/</div><div class='del'>-# parameters:</div><div class='del'>-#  start_location -- where to start looking for place for the next piece at</div><div class='del'>-#  placed -- number of pieces placed</div><div class='del'>-#  board -- current state of the board</div><div class='del'>-#</div><div class='del'>-# see in-code comments</div><div class='del'>-def find( start_location, placed, board)</div><div class='del'>-  # find the next location to place a piece by looking for an empty bit</div><div class='del'>-  while board[start_location] == 1</div><div class='del'>-    start_location += 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  @pieces.length.times do</div><div class='del'>-    piece = @pieces.shift</div><div class='del'>-    piece.masks[start_location].each do | mask, imask, cmask |</div><div class='del'>-      if ( board &amp; cmask == imask) then</div><div class='del'>-        piece.placed = mask</div><div class='del'>-        if (placed == 9) then</div><div class='del'>-          add_board</div><div class='del'>-        else</div><div class='del'>-          find( start_location + 1, placed + 1, board | mask)</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    @pieces.push(piece)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# print the board</div><div class='del'>-def print_full_board( board_string)</div><div class='del'>-  10.times do | row |</div><div class='del'>-    print " " if (row % 2 == 1)</div><div class='del'>-    5.times do | col |</div><div class='del'>-      print "#{board_string[row*5 + col,1]} "</div><div class='del'>-    end</div><div class='del'>-    print "\n"</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# when a board is found we "draw it" into a string and then flip that string, adding both to</div><div class='del'>-# the list (hash) of solutions if they are unique.</div><div class='del'>-def add_board</div><div class='del'>-  board_string = "99999999999999999999999999999999999999999999999999"</div><div class='del'>-  @all_pieces.each {  | piece | piece.fill_string( board_string ) }</div><div class='del'>-  save( board_string)</div><div class='del'>-  save( board_string.reverse)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-# adds a board string to the list (if new) and updates the current best/worst board</div><div class='del'>-def save( board_string)</div><div class='del'>-  if (@all_boards[board_string] == nil) then</div><div class='del'>-    @min_board = board_string if (board_string &lt; @min_board)</div><div class='del'>-    @max_board = board_string if (board_string &gt; @max_board)</div><div class='del'>-    @all_boards.store(board_string,true)</div><div class='del'>-    @boards_found += 1</div><div class='del'>-</div><div class='del'>-    # the exit motif is a time saver.  Ideally the function should return, but those tests</div><div class='del'>-    # take noticeable time (performance).</div><div class='del'>-    if (@boards_found == @stop_count) then</div><div class='del'>-      print_results</div><div class='del'>-      exit(0)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-##</div><div class='del'>-## MAIN BODY :)</div><div class='del'>-##</div><div class='del'>-create_collector_support</div><div class='del'>-@pieces = [</div><div class='del'>-  Piece.new( [ :nw, :ne, :east, :east ], 2),</div><div class='del'>-  Piece.new( [ :ne, :se, :east, :ne ], 7),</div><div class='del'>-  Piece.new( [ :ne, :east, :ne, :nw ], 1),</div><div class='del'>-  Piece.new( [ :east, :sw, :sw, :se ], 6),</div><div class='del'>-  Piece.new( [ :east, :ne, :se, :ne ], 5),</div><div class='del'>-  Piece.new( [ :east, :east, :east, :se ], 0),</div><div class='del'>-  Piece.new( [ :ne, :nw, :se, :east, :se ], 4),</div><div class='del'>-  Piece.new( [ :se, :se, :se, :west ], 9),</div><div class='del'>-  Piece.new( [ :se, :se, :east, :se ], 8),</div><div class='del'>-  Piece.new( [ :east, :east, :sw, :se ], 3)</div><div class='del'>-  ];</div><div class='del'>-</div><div class='del'>-@all_pieces = Array.new( @pieces)</div><div class='del'>-</div><div class='del'>-@min_board = "99999999999999999999999999999999999999999999999999"</div><div class='del'>-@max_board = "00000000000000000000000000000000000000000000000000"</div><div class='del'>-@stop_count = ARGV[0].to_i || 2089</div><div class='del'>-@all_boards = {}</div><div class='del'>-@boards_found = 0</div><div class='del'>-</div><div class='del'>-find_all ######## DO IT!!!</div><div class='head'>diff --git a/benchmark/so_nbody.rb b/benchmark/so_nbody.rb<br/>deleted file mode 100644<br/>index d6c5bb9e61..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_nbody.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nbody.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,148 +0,0 @@</div><div class='del'>-# The Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org</div><div class='del'>-#</div><div class='del'>-# Optimized for Ruby by Jesse Millikan</div><div class='del'>-# From version ported by Michael Neumann from the C gcc version,</div><div class='del'>-# which was written by Christoph Bauer.</div><div class='del'>-</div><div class='del'>-SOLAR_MASS = 4 * Math::PI**2</div><div class='del'>-DAYS_PER_YEAR = 365.24</div><div class='del'>-</div><div class='del'>-def _puts *args</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class Planet</div><div class='del'>- attr_accessor :x, :y, :z, :vx, :vy, :vz, :mass</div><div class='del'>-</div><div class='del'>- def initialize(x, y, z, vx, vy, vz, mass)</div><div class='del'>-  @x, @y, @z = x, y, z</div><div class='del'>-  @vx, @vy, @vz = vx * DAYS_PER_YEAR, vy * DAYS_PER_YEAR, vz * DAYS_PER_YEAR</div><div class='del'>-  @mass = mass * SOLAR_MASS</div><div class='del'>- end</div><div class='del'>-</div><div class='del'>- def move_from_i(bodies, nbodies, dt, i)</div><div class='del'>-  while i &lt; nbodies</div><div class='del'>-   b2 = bodies[i]</div><div class='del'>-   dx = @x - b2.x</div><div class='del'>-   dy = @y - b2.y</div><div class='del'>-   dz = @z - b2.z</div><div class='del'>-</div><div class='del'>-   distance = Math.sqrt(dx * dx + dy * dy + dz * dz)</div><div class='del'>-   mag = dt / (distance * distance * distance)</div><div class='del'>-   b_mass_mag, b2_mass_mag = @mass * mag, b2.mass * mag</div><div class='del'>-</div><div class='del'>-   @vx -= dx * b2_mass_mag</div><div class='del'>-   @vy -= dy * b2_mass_mag</div><div class='del'>-   @vz -= dz * b2_mass_mag</div><div class='del'>-   b2.vx += dx * b_mass_mag</div><div class='del'>-   b2.vy += dy * b_mass_mag</div><div class='del'>-   b2.vz += dz * b_mass_mag</div><div class='del'>-   i += 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  @x += dt * @vx</div><div class='del'>-  @y += dt * @vy</div><div class='del'>-  @z += dt * @vz</div><div class='del'>- end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def energy(bodies)</div><div class='del'>-  e = 0.0</div><div class='del'>-  nbodies = bodies.size</div><div class='del'>-</div><div class='del'>-  for i in 0 ... nbodies</div><div class='del'>-    b = bodies[i]</div><div class='del'>-    e += 0.5 * b.mass * (b.vx * b.vx + b.vy * b.vy + b.vz * b.vz)</div><div class='del'>-    for j in (i + 1) ... nbodies</div><div class='del'>-      b2 = bodies[j]</div><div class='del'>-      dx = b.x - b2.x</div><div class='del'>-      dy = b.y - b2.y</div><div class='del'>-      dz = b.z - b2.z</div><div class='del'>-      distance = Math.sqrt(dx * dx + dy * dy + dz * dz)</div><div class='del'>-      e -= (b.mass * b2.mass) / distance</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  e</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def offset_momentum(bodies)</div><div class='del'>-  px, py, pz = 0.0, 0.0, 0.0</div><div class='del'>-</div><div class='del'>-  for b in bodies</div><div class='del'>-    m = b.mass</div><div class='del'>-    px += b.vx * m</div><div class='del'>-    py += b.vy * m</div><div class='del'>-    pz += b.vz * m</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  b = bodies[0]</div><div class='del'>-  b.vx = - px / SOLAR_MASS</div><div class='del'>-  b.vy = - py / SOLAR_MASS</div><div class='del'>-  b.vz = - pz / SOLAR_MASS</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-BODIES = [</div><div class='del'>-  # sun</div><div class='del'>-  Planet.new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0),</div><div class='del'>-</div><div class='del'>-  # jupiter</div><div class='del'>-  Planet.new(</div><div class='del'>-    4.84143144246472090e+00,</div><div class='del'>-    -1.16032004402742839e+00,</div><div class='del'>-    -1.03622044471123109e-01,</div><div class='del'>-    1.66007664274403694e-03,</div><div class='del'>-    7.69901118419740425e-03,</div><div class='del'>-    -6.90460016972063023e-05,</div><div class='del'>-    9.54791938424326609e-04),</div><div class='del'>-</div><div class='del'>-  # saturn</div><div class='del'>-  Planet.new(</div><div class='del'>-    8.34336671824457987e+00,</div><div class='del'>-    4.12479856412430479e+00,</div><div class='del'>-    -4.03523417114321381e-01,</div><div class='del'>-    -2.76742510726862411e-03,</div><div class='del'>-    4.99852801234917238e-03,</div><div class='del'>-    2.30417297573763929e-05,</div><div class='del'>-    2.85885980666130812e-04),</div><div class='del'>-</div><div class='del'>-  # uranus</div><div class='del'>-  Planet.new(</div><div class='del'>-    1.28943695621391310e+01,</div><div class='del'>-    -1.51111514016986312e+01,</div><div class='del'>-    -2.23307578892655734e-01,</div><div class='del'>-    2.96460137564761618e-03,</div><div class='del'>-    2.37847173959480950e-03,</div><div class='del'>-    -2.96589568540237556e-05,</div><div class='del'>-    4.36624404335156298e-05),</div><div class='del'>-</div><div class='del'>-  # neptune</div><div class='del'>-  Planet.new(</div><div class='del'>-    1.53796971148509165e+01,</div><div class='del'>-    -2.59193146099879641e+01,</div><div class='del'>-    1.79258772950371181e-01,</div><div class='del'>-    2.68067772490389322e-03,</div><div class='del'>-    1.62824170038242295e-03,</div><div class='del'>-    -9.51592254519715870e-05,</div><div class='del'>-    5.15138902046611451e-05)</div><div class='del'>-]</div><div class='del'>-</div><div class='del'>-init = 200_000 # ARGV[0]</div><div class='del'>-n = Integer(init)</div><div class='del'>-</div><div class='del'>-offset_momentum(BODIES)</div><div class='del'>-</div><div class='del'>-puts "%.9f" % energy(BODIES)</div><div class='del'>-</div><div class='del'>-nbodies = BODIES.size</div><div class='del'>-dt = 0.01</div><div class='del'>-</div><div class='del'>-n.times do</div><div class='del'>-  i = 0</div><div class='del'>-  while i &lt; nbodies</div><div class='del'>-    b = BODIES[i]</div><div class='del'>-    b.move_from_i(BODIES, nbodies, dt, i + 1)</div><div class='del'>-    i += 1</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-puts "%.9f" % energy(BODIES)</div><div class='head'>diff --git a/benchmark/so_nested_loop.rb b/benchmark/so_nested_loop.rb<br/>deleted file mode 100644<br/>index a0513f8c47..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_nested_loop.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nested_loop.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: nestedloop-ruby.code,v 1.4 2004/11/13 07:42:22 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-# from Avi Bryant</div><div class='del'>-</div><div class='del'>-n = 16 # Integer(ARGV.shift || 1)</div><div class='del'>-x = 0</div><div class='del'>-n.times do</div><div class='del'>-    n.times do</div><div class='del'>-        n.times do</div><div class='del'>-            n.times do</div><div class='del'>-                n.times do</div><div class='del'>-                    n.times do</div><div class='del'>-                        x += 1</div><div class='del'>-                    end</div><div class='del'>-                end</div><div class='del'>-            end</div><div class='del'>-        end</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-# puts x</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_nsieve.rb b/benchmark/so_nsieve.rb<br/>deleted file mode 100644<br/>index a65cc78233..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_nsieve.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nsieve.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,35 +0,0 @@</div><div class='del'>-# The Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org/</div><div class='del'>-#</div><div class='del'>-# contributed by Glenn Parker, March 2005</div><div class='del'>-# modified by Evan Phoenix, Sept 2006</div><div class='del'>-</div><div class='del'>-def sieve(m)</div><div class='del'>-  flags = Flags.dup[0,m]</div><div class='del'>-  count = 0</div><div class='del'>-  pmax = m - 1</div><div class='del'>-  p = 2</div><div class='del'>-  while p &lt;= pmax</div><div class='del'>-    unless flags[p].zero?</div><div class='del'>-      count += 1</div><div class='del'>-      mult = p</div><div class='del'>-      while mult &lt;= pmax</div><div class='del'>-        flags[mult] = 0</div><div class='del'>-        mult += p</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    p += 1</div><div class='del'>-  end</div><div class='del'>-  count</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-n = 9 # (ARGV[0] || 2).to_i</div><div class='del'>-Flags = ("\x1" * ( 2 ** n * 10_000)).unpack("c*")</div><div class='del'>-</div><div class='del'>-n.downto(n-2) do |exponent|</div><div class='del'>-  break if exponent &lt; 0</div><div class='del'>-  m = (1 &lt;&lt; exponent) * 10_000</div><div class='del'>-  # m = (2 ** exponent) * 10_000</div><div class='del'>-  count = sieve(m)</div><div class='del'>-  printf "Primes up to %8d %8d\n", m, count</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/so_nsieve_bits.rb b/benchmark/so_nsieve_bits.rb<br/>deleted file mode 100644<br/>index 6f958ee44e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_nsieve_bits.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_nsieve_bits.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,43 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-#coding: us-ascii</div><div class='del'>-#</div><div class='del'>-# The Great Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org/</div><div class='del'>-#</div><div class='del'>-# nsieve-bits in Ruby</div><div class='del'>-# Contributed by Glenn Parker, March 2005</div><div class='del'>-</div><div class='del'>-CharExponent = 3</div><div class='del'>-BitsPerChar = 1 &lt;&lt; CharExponent</div><div class='del'>-LowMask = BitsPerChar - 1</div><div class='del'>-</div><div class='del'>-def sieve(m)</div><div class='del'>-  items = "\xFF" * ((m / BitsPerChar) + 1)</div><div class='del'>-  masks = ""</div><div class='del'>-  BitsPerChar.times do |b|</div><div class='del'>-    masks &lt;&lt; (1 &lt;&lt; b).chr</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  count = 0</div><div class='del'>-  pmax = m - 1</div><div class='del'>-  2.step(pmax, 1) do |p|</div><div class='del'>-    if items[p &gt;&gt; CharExponent][p &amp; LowMask] == 1</div><div class='del'>-      count += 1</div><div class='del'>-      p.step(pmax, p) do |mult|</div><div class='del'>-	a = mult &gt;&gt; CharExponent</div><div class='del'>-	b = mult &amp; LowMask</div><div class='del'>-	items[a] -= masks[b] if items[a][b] != 0</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  count</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-n = 9 # (ARGV[0] || 2).to_i</div><div class='del'>-n.step(n - 2, -1) do |exponent|</div><div class='del'>-  break if exponent &lt; 0</div><div class='del'>-  m = 2 ** exponent * 10_000</div><div class='del'>-  count = sieve(m)</div><div class='del'>-  printf "Primes up to %8d %8d\n", m, count</div><div class='del'>-end</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_object.rb b/benchmark/so_object.rb<br/>deleted file mode 100644<br/>index e8607c7199..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_object.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_object.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,56 +0,0 @@</div><div class='del'>-#!/usr/bin/ruby</div><div class='del'>-# -*- mode: ruby -*-</div><div class='del'>-# $Id: objinst-ruby.code,v 1.4 2004/11/13 07:42:25 bfulgham Exp $</div><div class='del'>-# http://www.bagley.org/~doug/shootout/</div><div class='del'>-# with help from Aristarkh Zagorodnikov</div><div class='del'>-</div><div class='del'>-class Toggle</div><div class='del'>-    def initialize(start_state)</div><div class='del'>-        @bool = start_state</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def value</div><div class='del'>-        @bool</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def activate</div><div class='del'>-        @bool = !@bool</div><div class='del'>-        self</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class NthToggle &lt; Toggle</div><div class='del'>-    def initialize(start_state, max_counter)</div><div class='del'>-        super start_state</div><div class='del'>-        @count_max = max_counter</div><div class='del'>-        @counter = 0</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def activate</div><div class='del'>-        @counter += 1</div><div class='del'>-        if @counter &gt;= @count_max</div><div class='del'>-            @bool = !@bool</div><div class='del'>-            @counter = 0</div><div class='del'>-        end</div><div class='del'>-        self</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-n = 1500000 # (ARGV.shift || 1).to_i</div><div class='del'>-</div><div class='del'>-toggle = Toggle.new 1</div><div class='del'>-5.times do</div><div class='del'>-    toggle.activate.value ? 'true' : 'false'</div><div class='del'>-end</div><div class='del'>-n.times do</div><div class='del'>-    toggle = Toggle.new 1</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-ntoggle = NthToggle.new 1, 3</div><div class='del'>-8.times do</div><div class='del'>-    ntoggle.activate.value ? 'true' : 'false'</div><div class='del'>-end</div><div class='del'>-n.times do</div><div class='del'>-    ntoggle = NthToggle.new 1, 3</div><div class='del'>-end</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_partial_sums.rb b/benchmark/so_partial_sums.rb<br/>deleted file mode 100644<br/>index 630b45cb8d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_partial_sums.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_partial_sums.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,31 +0,0 @@</div><div class='del'>-n = 2_500_000 # (ARGV.shift || 1).to_i</div><div class='del'>-</div><div class='del'>-alt = 1.0 ; s0 = s1 = s2 = s3 = s4 = s5 = s6 = s7 = s8 = 0.0</div><div class='del'>-</div><div class='del'>-1.upto(n) do |d|</div><div class='del'>-  d = d.to_f ; d2 = d * d ; d3 = d2 * d ; ds = Math.sin(d) ; dc = Math.cos(d)</div><div class='del'>-</div><div class='del'>-  s0 += (2.0 / 3.0) ** (d - 1.0)</div><div class='del'>-  s1 += 1.0 / Math.sqrt(d)</div><div class='del'>-  s2 += 1.0 / (d * (d + 1.0))</div><div class='del'>-  s3 += 1.0 / (d3 * ds * ds)</div><div class='del'>-  s4 += 1.0 / (d3 * dc * dc)</div><div class='del'>-  s5 += 1.0 / d</div><div class='del'>-  s6 += 1.0 / d2</div><div class='del'>-  s7 += alt / d</div><div class='del'>-  s8 += alt / (2.0 * d - 1.0)</div><div class='del'>-</div><div class='del'>-  alt = -alt</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-if false</div><div class='del'>-  printf("%.9f\t(2/3)^k\n", s0)</div><div class='del'>-  printf("%.9f\tk^-0.5\n", s1)</div><div class='del'>-  printf("%.9f\t1/k(k+1)\n", s2)</div><div class='del'>-  printf("%.9f\tFlint Hills\n", s3)</div><div class='del'>-  printf("%.9f\tCookson Hills\n", s4)</div><div class='del'>-  printf("%.9f\tHarmonic\n", s5)</div><div class='del'>-  printf("%.9f\tRiemann Zeta\n", s6)</div><div class='del'>-  printf("%.9f\tAlternating Harmonic\n", s7)</div><div class='del'>-  printf("%.9f\tGregory\n", s8)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/so_pidigits.rb b/benchmark/so_pidigits.rb<br/>deleted file mode 100644<br/>index 9a537b2d1c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_pidigits.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_pidigits.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,92 +0,0 @@</div><div class='del'>-# The Great Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org/</div><div class='del'>-#</div><div class='del'>-# contributed by Gabriele Renzi</div><div class='del'>-</div><div class='del'>-class PiDigitSpigot</div><div class='del'>-</div><div class='del'>-    def initialize()</div><div class='del'>-        @z = Transformation.new 1,0,0,1</div><div class='del'>-        @x = Transformation.new 0,0,0,0</div><div class='del'>-        @inverse = Transformation.new 0,0,0,0</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def next!</div><div class='del'>-        @y = @z.extract(3)</div><div class='del'>-        if safe? @y</div><div class='del'>-            @z = produce(@y)</div><div class='del'>-            @y</div><div class='del'>-        else</div><div class='del'>-            @z = consume @x.next!()</div><div class='del'>-            next!()</div><div class='del'>-        end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def safe?(digit)</div><div class='del'>-        digit == @z.extract(4)</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def produce(i)</div><div class='del'>-        @inverse.qrst(10,-10*i,0,1).compose(@z)</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def consume(a)</div><div class='del'>-        @z.compose(a)</div><div class='del'>-    end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-class Transformation</div><div class='del'>-    attr_reader :q, :r, :s, :t</div><div class='del'>-    def initialize(q, r, s, t)</div><div class='del'>-        @q,@r,@s,@t,@k = q,r,s,t,0</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def next!()</div><div class='del'>-        @q = @k = @k + 1</div><div class='del'>-        @r = 4 * @k + 2</div><div class='del'>-        @s = 0</div><div class='del'>-        @t = 2 * @k + 1</div><div class='del'>-        self</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def extract(j)</div><div class='del'>-        (@q * j + @r) / (@s * j + @t)</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def compose(a)</div><div class='del'>-        self.class.new( @q * a.q,</div><div class='del'>-                        @q * a.r + r * a.t,</div><div class='del'>-                        @s * a.q + t * a.s,</div><div class='del'>-                        @s * a.r + t * a.t</div><div class='del'>-                    )</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def qrst *args</div><div class='del'>-        initialize *args</div><div class='del'>-        self</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-WIDTH = 10</div><div class='del'>-n = 2_500 # Integer(ARGV[0])</div><div class='del'>-j = 0</div><div class='del'>-</div><div class='del'>-digits = PiDigitSpigot.new</div><div class='del'>-</div><div class='del'>-while n &gt; 0</div><div class='del'>-    if n &gt;= WIDTH</div><div class='del'>-        WIDTH.times {print digits.next!}</div><div class='del'>-        j += WIDTH</div><div class='del'>-    else</div><div class='del'>-        n.times {print digits.next!}</div><div class='del'>-        (WIDTH-n).times {print " "}</div><div class='del'>-        j += n</div><div class='del'>-    end</div><div class='del'>-    puts "\t:"+j.to_s</div><div class='del'>-    n -= WIDTH</div><div class='del'>-end</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/so_random.rb b/benchmark/so_random.rb<br/>deleted file mode 100644<br/>index a66b9e8e63..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_random.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_random.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,20 +0,0 @@</div><div class='del'>-# from http://www.bagley.org/~doug/shootout/bench/random/random.ruby</div><div class='del'>-</div><div class='del'>-IM = 139968.0</div><div class='del'>-IA = 3877.0</div><div class='del'>-IC = 29573.0</div><div class='del'>-</div><div class='del'>-$last = 42.0</div><div class='del'>-</div><div class='del'>-def gen_random(max)</div><div class='del'>-  (max * ($last = ($last * IA + IC) % IM)) / IM</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-N = 3_000_000</div><div class='del'>-</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;N</div><div class='del'>-  i +=1</div><div class='del'>-  gen_random(100.0)</div><div class='del'>-end</div><div class='del'>-# "%.9f" % gen_random(100.0)</div><div class='head'>diff --git a/benchmark/so_reverse_complement.yml b/benchmark/so_reverse_complement.yml<br/>deleted file mode 100644<br/>index de05eedfc4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_reverse_complement.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_reverse_complement.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,137 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  bm_so_fasta = &lt;&lt;'EOS'</div><div class='del'>-  # The Computer Language Shootout</div><div class='del'>-  # http://shootout.alioth.debian.org/</div><div class='del'>-  # Contributed by Sokolov Yura</div><div class='del'>-</div><div class='del'>-  $last = 42.0</div><div class='del'>-  def gen_random(max, im=139968, ia=3877, ic=29573)</div><div class='del'>-      (max * ($last = ($last * ia + ic) % im)) / im</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  alu =</div><div class='del'>-     "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"+</div><div class='del'>-     "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"+</div><div class='del'>-     "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"+</div><div class='del'>-     "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"+</div><div class='del'>-     "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"+</div><div class='del'>-     "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"+</div><div class='del'>-     "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"</div><div class='del'>-</div><div class='del'>-  iub = [</div><div class='del'>-      ["a", 0.27],</div><div class='del'>-      ["c", 0.12],</div><div class='del'>-      ["g", 0.12],</div><div class='del'>-      ["t", 0.27],</div><div class='del'>-</div><div class='del'>-      ["B", 0.02],</div><div class='del'>-      ["D", 0.02],</div><div class='del'>-      ["H", 0.02],</div><div class='del'>-      ["K", 0.02],</div><div class='del'>-      ["M", 0.02],</div><div class='del'>-      ["N", 0.02],</div><div class='del'>-      ["R", 0.02],</div><div class='del'>-      ["S", 0.02],</div><div class='del'>-      ["V", 0.02],</div><div class='del'>-      ["W", 0.02],</div><div class='del'>-      ["Y", 0.02],</div><div class='del'>-  ]</div><div class='del'>-  homosapiens = [</div><div class='del'>-      ["a", 0.3029549426680],</div><div class='del'>-      ["c", 0.1979883004921],</div><div class='del'>-      ["g", 0.1975473066391],</div><div class='del'>-      ["t", 0.3015094502008],</div><div class='del'>-  ]</div><div class='del'>-</div><div class='del'>-  def make_repeat_fasta(id, desc, src, n)</div><div class='del'>-      puts "&gt;#{id} #{desc}"</div><div class='del'>-      v = nil</div><div class='del'>-      width = 60</div><div class='del'>-      l = src.length</div><div class='del'>-      s = src * ((n / l) + 1)</div><div class='del'>-      s.slice!(n, l)</div><div class='del'>-      puts(s.scan(/.{1,#{width}}/).join("\n"))</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def make_random_fasta(id, desc, table, n)</div><div class='del'>-      puts "&gt;#{id} #{desc}"</div><div class='del'>-      rand, v = nil,nil</div><div class='del'>-      width = 60</div><div class='del'>-      chunk = 1 * width</div><div class='del'>-      prob = 0.0</div><div class='del'>-      table.each{|v| v[1]= (prob += v[1])}</div><div class='del'>-      for i in 1..(n/width)</div><div class='del'>-          puts((1..width).collect{</div><div class='del'>-              rand = gen_random(1.0)</div><div class='del'>-              table.find{|v| v[1]&gt;rand}[0]</div><div class='del'>-          }.join)</div><div class='del'>-      end</div><div class='del'>-      if n%width != 0</div><div class='del'>-          puts((1..(n%width)).collect{</div><div class='del'>-              rand = gen_random(1.0)</div><div class='del'>-              table.find{|v| v[1]&gt;rand}[0]</div><div class='del'>-          }.join)</div><div class='del'>-      end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-  n = (ARGV[0] or 250_000).to_i</div><div class='del'>-</div><div class='del'>-  make_repeat_fasta('ONE', 'Homo sapiens alu', alu, n*2)</div><div class='del'>-  make_random_fasta('TWO', 'IUB ambiguity codes', iub, n*3)</div><div class='del'>-  make_random_fasta('THREE', 'Homo sapiens frequency', homosapiens, n*5)</div><div class='del'>-  EOS</div><div class='del'>-benchmark:</div><div class='del'>-  - name: so_reverse_complement</div><div class='del'>-    prelude: |</div><div class='del'>-      script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='del'>-      File.write(script, bm_so_fasta)</div><div class='del'>-</div><div class='del'>-      def prepare_fasta_output n</div><div class='del'>-        filebase = File.join(File.dirname($0), 'fasta.output')</div><div class='del'>-        script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='del'>-        file = "#{filebase}.#{n}"</div><div class='del'>-</div><div class='del'>-        unless FileTest.exist?(file)</div><div class='del'>-          STDERR.puts "preparing #{file}"</div><div class='del'>-</div><div class='del'>-          open(file, 'w'){|f|</div><div class='del'>-            ARGV[0] = n</div><div class='del'>-            $stdout = f</div><div class='del'>-            load script</div><div class='del'>-            $stdout = STDOUT</div><div class='del'>-          }</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-      prepare_fasta_output(2_500_000)</div><div class='del'>-    script: |</div><div class='del'>-      # The Great Computer Language Shootout</div><div class='del'>-      # http://shootout.alioth.debian.org/</div><div class='del'>-      #</div><div class='del'>-      # Contributed by Peter Bjarke Olsen</div><div class='del'>-      # Modified by Doug King</div><div class='del'>-</div><div class='del'>-      seq=Array.new</div><div class='del'>-</div><div class='del'>-      def revcomp(seq)</div><div class='del'>-        seq.reverse!.tr!('wsatugcyrkmbdhvnATUGCYRKMBDHVN','WSTAACGRYMKVHDBNTAACGRYMKVHDBN')</div><div class='del'>-        stringlen=seq.length</div><div class='del'>-        0.step(stringlen-1,60) {|x| print seq.slice(x,60) , "\n"}</div><div class='del'>-      end</div><div class='del'>-</div><div class='del'>-      input = open(File.join(File.dirname($0), 'fasta.output.2500000'), 'rb')</div><div class='del'>-</div><div class='del'>-      while input.gets</div><div class='del'>-        if $_ =~ /&gt;/</div><div class='del'>-          if seq.length != 0</div><div class='del'>-            revcomp(seq.join)</div><div class='del'>-            seq=Array.new</div><div class='del'>-          end</div><div class='del'>-          puts $_</div><div class='del'>-        else</div><div class='del'>-          $_.sub(/\n/,'')</div><div class='del'>-          seq.push $_</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-      revcomp(seq.join)</div><div class='del'>-    loop_count: 1</div><div class='head'>diff --git a/benchmark/so_sieve.rb b/benchmark/so_sieve.rb<br/>deleted file mode 100644<br/>index 43dc302648..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_sieve.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_sieve.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-# from http://www.bagley.org/~doug/shootout/bench/sieve/sieve.ruby</div><div class='del'>-num = 500</div><div class='del'>-count = i = j = 0</div><div class='del'>-flags0 = Array.new(8192,1)</div><div class='del'>-k = 0</div><div class='del'>-while k &lt; num</div><div class='del'>-  k += 1</div><div class='del'>-  count = 0</div><div class='del'>-  flags = flags0.dup</div><div class='del'>-  i = 2</div><div class='del'>-  while i&lt;8192</div><div class='del'>-    i += 1</div><div class='del'>-    if flags[i]</div><div class='del'>-      # remove all multiples of prime: i</div><div class='del'>-      j = i*i</div><div class='del'>-      while j &lt; 8192</div><div class='del'>-        j += i</div><div class='del'>-        flags[j] = nil</div><div class='del'>-      end</div><div class='del'>-      count += 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-count</div><div class='head'>diff --git a/benchmark/so_spectralnorm.rb b/benchmark/so_spectralnorm.rb<br/>deleted file mode 100644<br/>index 6b97206689..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/so_spectralnorm.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/so_spectralnorm.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,50 +0,0 @@</div><div class='del'>-# The Computer Language Shootout</div><div class='del'>-# http://shootout.alioth.debian.org/</div><div class='del'>-# Contributed by Sokolov Yura</div><div class='del'>-</div><div class='del'>-def eval_A(i,j)</div><div class='del'>-	return 1.0/((i+j)*(i+j+1)/2+i+1)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def eval_A_times_u(u)</div><div class='del'>-        v, i = nil, nil</div><div class='del'>-	(0..u.length-1).collect { |i|</div><div class='del'>-                v = 0</div><div class='del'>-		for j in 0..u.length-1</div><div class='del'>-			v += eval_A(i,j)*u[j]</div><div class='del'>-                end</div><div class='del'>-                v</div><div class='del'>-        }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def eval_At_times_u(u)</div><div class='del'>-	v, i = nil, nil</div><div class='del'>-	(0..u.length-1).collect{|i|</div><div class='del'>-                v = 0</div><div class='del'>-		for j in 0..u.length-1</div><div class='del'>-			v += eval_A(j,i)*u[j]</div><div class='del'>-                end</div><div class='del'>-                v</div><div class='del'>-        }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def eval_AtA_times_u(u)</div><div class='del'>-	return eval_At_times_u(eval_A_times_u(u))</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-n = 500 # ARGV[0].to_i</div><div class='del'>-</div><div class='del'>-u=[1]*n</div><div class='del'>-for i in 1..10</div><div class='del'>-        v=eval_AtA_times_u(u)</div><div class='del'>-        u=eval_AtA_times_u(v)</div><div class='del'>-end</div><div class='del'>-vBv=0</div><div class='del'>-vv=0</div><div class='del'>-for i in 0..n-1</div><div class='del'>-        vBv += u[i]*v[i]</div><div class='del'>-        vv += v[i]*v[i]</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-str = "%0.9f" % (Math.sqrt(vBv/vv)), "\n"</div><div class='del'>-# print str</div><div class='head'>diff --git a/benchmark/string_index.rb b/benchmark/string_index.rb<br/>deleted file mode 100644<br/>index 7783111082..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/string_index.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/string_index.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-str1 = "あ" * 1024 + "い" # not single byte optimizable</div><div class='del'>-str2 = "い"</div><div class='del'>-100_000.times { str1.index(str2) }</div><div class='head'>diff --git a/benchmark/string_scan_re.rb b/benchmark/string_scan_re.rb<br/>deleted file mode 100644<br/>index b0d60201a9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/string_scan_re.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/string_scan_re.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-str = Array.new(1_000, 'abc').join(',')</div><div class='del'>-1_000.times { str.scan(/abc/) }</div><div class='head'>diff --git a/benchmark/string_scan_str.rb b/benchmark/string_scan_str.rb<br/>deleted file mode 100644<br/>index 42440bd948..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/string_scan_str.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/string_scan_str.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-str = Array.new(1_000, 'abc').join(',')</div><div class='del'>-1_000.times { str.scan('abc') }</div><div class='head'>diff --git a/benchmark/time_subsec.rb b/benchmark/time_subsec.rb<br/>deleted file mode 100644<br/>index 505021c701..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/time_subsec.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/time_subsec.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2 +0,0 @@</div><div class='del'>-t = Time.now</div><div class='del'>-4000000.times { t.subsec }</div><div class='head'>diff --git a/benchmark/vm1_attr_ivar.yml b/benchmark/vm1_attr_ivar.yml<br/>deleted file mode 100644<br/>index f714dd9bd9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_attr_ivar.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_attr_ivar.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    attr_reader :a, :b</div><div class='del'>-    def initialize</div><div class='del'>-      @a = nil</div><div class='del'>-      @b = nil</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  obj = C.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_attr_ivar: |</div><div class='del'>-    j = obj.a</div><div class='del'>-    k = obj.b</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_attr_ivar_set.yml b/benchmark/vm1_attr_ivar_set.yml<br/>deleted file mode 100644<br/>index f383e59ef4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_attr_ivar_set.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_attr_ivar_set.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    attr_accessor :a, :b</div><div class='del'>-    def initialize</div><div class='del'>-      @a = nil</div><div class='del'>-      @b = nil</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  obj = C.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_attr_ivar_set: |</div><div class='del'>-    obj.a = 1</div><div class='del'>-    obj.b = 2</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_block.yml b/benchmark/vm1_block.yml<br/>deleted file mode 100644<br/>index ac7c940f93..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_block.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_block.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_block: |</div><div class='del'>-    m{</div><div class='del'>-    }</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_blockparam.yml b/benchmark/vm1_blockparam.yml<br/>deleted file mode 100644<br/>index 947b8c53d5..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_blockparam.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m &amp;b</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_blockparam: |</div><div class='del'>-    m{}</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_blockparam_call.yml b/benchmark/vm1_blockparam_call.yml<br/>deleted file mode 100644<br/>index e2817a3ce2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_blockparam_call.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam_call.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m &amp;b</div><div class='del'>-    b.call</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_blockparam_call: |</div><div class='del'>-    m{}</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_blockparam_pass.yml b/benchmark/vm1_blockparam_pass.yml<br/>deleted file mode 100644<br/>index ca1bef3369..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_blockparam_pass.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam_pass.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def bp_yield</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def bp_pass &amp;b</div><div class='del'>-    bp_yield &amp;b</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_blockparam_pass: |</div><div class='del'>-    bp_pass{}</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_blockparam_yield.yml b/benchmark/vm1_blockparam_yield.yml<br/>deleted file mode 100644<br/>index 56ae617798..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_blockparam_yield.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_blockparam_yield.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def bp_yield &amp;b</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_blockparam_yield: |</div><div class='del'>-    bp_yield{}</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_const.yml b/benchmark/vm1_const.yml<br/>deleted file mode 100644<br/>index b98db1545c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_const.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_const.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  Const = 1</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_const: |</div><div class='del'>-    j = Const</div><div class='del'>-    k = Const</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_ensure.yml b/benchmark/vm1_ensure.yml<br/>deleted file mode 100644<br/>index afbbe38bec..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_ensure.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_ensure.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-# Not utilizing loop_count since using it for this is too unstable for now</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_ensure: |</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;30_000_000</div><div class='del'>-      i += 1</div><div class='del'>-      begin</div><div class='del'>-        begin</div><div class='del'>-        ensure</div><div class='del'>-        end</div><div class='del'>-      ensure</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm1_float_simple.yml b/benchmark/vm1_float_simple.yml<br/>deleted file mode 100644<br/>index 4e9ad1852b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_float_simple.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_float_simple.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  f = 0.0</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_float_simple: |</div><div class='del'>-    f += 0.1; f -= 0.1</div><div class='del'>-    f += 0.1; f -= 0.1</div><div class='del'>-    f += 0.1; f -= 0.1</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_short_lived.yml b/benchmark/vm1_gc_short_lived.yml<br/>deleted file mode 100644<br/>index 8fdcb7371d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_short_lived.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_lived.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_short_lived: |</div><div class='del'>-    a = '' # short-lived String</div><div class='del'>-    b = ''</div><div class='del'>-    c = ''</div><div class='del'>-    d = ''</div><div class='del'>-    e = ''</div><div class='del'>-    f = ''</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_short_with_complex_long.yml b/benchmark/vm1_gc_short_with_complex_long.yml<br/>deleted file mode 100644<br/>index c22ea74a60..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_short_with_complex_long.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_with_complex_long.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,25 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def nested_hash h, n</div><div class='del'>-    if n == 0</div><div class='del'>-      ''</div><div class='del'>-    else</div><div class='del'>-      10.times{</div><div class='del'>-        h[Object.new] = nested_hash(h, n-1)</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  long_lived = Hash.new</div><div class='del'>-  nested_hash long_lived, 6</div><div class='del'>-</div><div class='del'>-  GC.start</div><div class='del'>-  GC.start</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_short_with_complex_long: |</div><div class='del'>-    a = '' # short-lived String</div><div class='del'>-    b = ''</div><div class='del'>-    c = ''</div><div class='del'>-    d = ''</div><div class='del'>-    e = ''</div><div class='del'>-    f = ''</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_short_with_long.yml b/benchmark/vm1_gc_short_with_long.yml<br/>deleted file mode 100644<br/>index c731aae548..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_short_with_long.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_with_long.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  long_lived = Array.new(1_000_000){|i| "#{i}"}</div><div class='del'>-  GC.start</div><div class='del'>-  GC.start</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_short_with_long: |</div><div class='del'>-    a = '' # short-lived String</div><div class='del'>-    b = ''</div><div class='del'>-    c = ''</div><div class='del'>-    d = ''</div><div class='del'>-    e = ''</div><div class='del'>-    f = ''</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_short_with_symbol.yml b/benchmark/vm1_gc_short_with_symbol.yml<br/>deleted file mode 100644<br/>index 7fc1abedd8..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_short_with_symbol.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_short_with_symbol.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  50_000.times{|i| sym = "sym#{i}".to_sym}</div><div class='del'>-  GC.start</div><div class='del'>-  GC.start</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_short_with_symbol: |</div><div class='del'>-    a = '' # short-lived String</div><div class='del'>-    b = ''</div><div class='del'>-    c = ''</div><div class='del'>-    d = ''</div><div class='del'>-    e = ''</div><div class='del'>-    f = ''</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_wb_ary.yml b/benchmark/vm1_gc_wb_ary.yml<br/>deleted file mode 100644<br/>index 50fb4b6f84..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_wb_ary.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_ary.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  short_lived_ary = []</div><div class='del'>-</div><div class='del'>-  if RUBY_VERSION &gt;= "2.2.0"</div><div class='del'>-    GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  short_lived = ''</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_wb_ary: |</div><div class='del'>-    short_lived_ary[0] = short_lived # write barrier</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_wb_ary_promoted.yml b/benchmark/vm1_gc_wb_ary_promoted.yml<br/>deleted file mode 100644<br/>index cf9b5de005..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_wb_ary_promoted.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_ary_promoted.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,15 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  long_lived = []</div><div class='del'>-</div><div class='del'>-  if RUBY_VERSION &gt; "2.2.0"</div><div class='del'>-    3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) }</div><div class='del'>-  elsif</div><div class='del'>-    GC.start</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  short_lived = ''</div><div class='del'>-</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_wb_ary_promoted: |</div><div class='del'>-    long_lived[0] = short_lived # write barrier</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_wb_obj.yml b/benchmark/vm1_gc_wb_obj.yml<br/>deleted file mode 100644<br/>index 9dc08e7e1a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_wb_obj.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_obj.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,15 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    attr_accessor :foo</div><div class='del'>-  end</div><div class='del'>-  short_lived_obj = C.new</div><div class='del'>-</div><div class='del'>-  if RUBY_VERSION &gt;= "2.2.0"</div><div class='del'>-    GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  short_lived = ''</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_wb_obj: |</div><div class='del'>-    short_lived_obj.foo = short_lived # write barrier</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_gc_wb_obj_promoted.yml b/benchmark/vm1_gc_wb_obj_promoted.yml<br/>deleted file mode 100644<br/>index 26859d2a52..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_gc_wb_obj_promoted.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_gc_wb_obj_promoted.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    attr_accessor :foo</div><div class='del'>-  end</div><div class='del'>-  long_lived = C.new</div><div class='del'>-</div><div class='del'>-  if RUBY_VERSION &gt;= "2.2.0"</div><div class='del'>-    3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) }</div><div class='del'>-  elsif</div><div class='del'>-    GC.start</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  short_lived = ''</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_gc_wb_obj_promoted: |</div><div class='del'>-    long_lived.foo = short_lived # write barrier</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_ivar.yml b/benchmark/vm1_ivar.yml<br/>deleted file mode 100644<br/>index 7aa6fac729..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_ivar.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_ivar.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-prelude: "@a = 1\n"</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_ivar: |</div><div class='del'>-    j = @a</div><div class='del'>-    k = @a</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_ivar_set.yml b/benchmark/vm1_ivar_set.yml<br/>deleted file mode 100644<br/>index 6f19412d16..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_ivar_set.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_ivar_set.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_ivar_set: |</div><div class='del'>-    @a = 1</div><div class='del'>-    @b = 2</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_length.yml b/benchmark/vm1_length.yml<br/>deleted file mode 100644<br/>index a18e2ca2e6..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_length.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_length.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  a = 'abc'</div><div class='del'>-  b = [1, 2, 3]</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_length: |</div><div class='del'>-    a.length</div><div class='del'>-    b.length</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_lvar_init.yml b/benchmark/vm1_lvar_init.yml<br/>deleted file mode 100644<br/>index 10e2becef9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_lvar_init.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_lvar_init.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-# while loop cost is not removed because `i` is used in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_lvar_init: |</div><div class='del'>-    def m v</div><div class='del'>-      unless v</div><div class='del'>-        # unreachable code</div><div class='del'>-        v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = v10 =</div><div class='del'>-        v11 = v12 = v13 = v14 = v15 = v16 = v17 = v18 = v19 = v20 =</div><div class='del'>-        v21 = v22 = v23 = v24 = v25 = v26 = v27 = v28 = v29 = v30 =</div><div class='del'>-        v31 = v32 = v33 = v34 = v35 = v36 = v37 = v38 = v39 = v40 =</div><div class='del'>-        v41 = v42 = v43 = v44 = v45 = v46 = v47 = v48 = v49 = v50 = 1</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    i = 0</div><div class='del'>-</div><div class='del'>-    while i&lt;30_000_000</div><div class='del'>-      i += 1</div><div class='del'>-      m i</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm1_lvar_set.yml b/benchmark/vm1_lvar_set.yml<br/>deleted file mode 100644<br/>index df8f6b6ea4..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_lvar_set.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_lvar_set.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_lvar_set: |</div><div class='del'>-    a = b = c = d = e = f = g = h = j = k = l = m = n = o = p = q = r = 1</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_neq.yml b/benchmark/vm1_neq.yml<br/>deleted file mode 100644<br/>index 65a8128dda..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_neq.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_neq.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  obj1 = Object.new</div><div class='del'>-  obj2 = Object.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_neq: |</div><div class='del'>-    obj1 != obj2</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_not.yml b/benchmark/vm1_not.yml<br/>deleted file mode 100644<br/>index 0fb7b282a9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_not.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_not.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  obj = Object.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_not: |</div><div class='del'>-    !obj</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_rescue.yml b/benchmark/vm1_rescue.yml<br/>deleted file mode 100644<br/>index a175b823af..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_rescue.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_rescue.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_rescue: |</div><div class='del'>-    begin</div><div class='del'>-    rescue</div><div class='del'>-    end</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_simplereturn.yml b/benchmark/vm1_simplereturn.yml<br/>deleted file mode 100644<br/>index 3564aac7e2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_simplereturn.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_simplereturn.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m</div><div class='del'>-    return 1</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_simplereturn: m</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_swap.yml b/benchmark/vm1_swap.yml<br/>deleted file mode 100644<br/>index fed87ccd62..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_swap.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_swap.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  a = 1</div><div class='del'>-  b = 2</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_swap: |</div><div class='del'>-    a, b = b, a</div><div class='del'>-loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm1_yield.yml b/benchmark/vm1_yield.yml<br/>deleted file mode 100644<br/>index ae1f9316f9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm1_yield.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm1_yield.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-# while loop cost is not removed due to benchmark_driver.gem's limitation</div><div class='del'>-benchmark:</div><div class='del'>-  vm1_yield: |</div><div class='del'>-    def m</div><div class='del'>-      i = 0</div><div class='del'>-      while i&lt;30_000_000</div><div class='del'>-        i += 1</div><div class='del'>-        yield</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    m{}</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_array.yml b/benchmark/vm2_array.yml<br/>deleted file mode 100644<br/>index 7373098d5e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_array.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_array.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_array: |</div><div class='del'>-    a = [1,2,3,4,5,6,7,8,9,10]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_bigarray.yml b/benchmark/vm2_bigarray.yml<br/>deleted file mode 100644<br/>index 2ad6da3905..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_bigarray.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_bigarray.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,105 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_bigarray: |</div><div class='del'>-    a = [</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-      1,2,3,4,5,6,7,8,9,10,</div><div class='del'>-    ]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_bighash.yml b/benchmark/vm2_bighash.yml<br/>deleted file mode 100644<br/>index e9154e4ba9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_bighash.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_bighash.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_bighash: |</div><div class='del'>-    a = {0=&gt;0, 1=&gt;1, 2=&gt;2, 3=&gt;3, 4=&gt;4, 5=&gt;5, 6=&gt;6, 7=&gt;7, 8=&gt;8, 9=&gt;9, 10=&gt;10, 11=&gt;11, 12=&gt;12, 13=&gt;13, 14=&gt;14, 15=&gt;15, 16=&gt;16, 17=&gt;17, 18=&gt;18, 19=&gt;19, 20=&gt;20, 21=&gt;21, 22=&gt;22, 23=&gt;23, 24=&gt;24, 25=&gt;25, 26=&gt;26, 27=&gt;27, 28=&gt;28, 29=&gt;29, 30=&gt;30, 31=&gt;31, 32=&gt;32, 33=&gt;33, 34=&gt;34, 35=&gt;35, 36=&gt;36, 37=&gt;37, 38=&gt;38, 39=&gt;39, 40=&gt;40, 41=&gt;41, 42=&gt;42, 43=&gt;43, 44=&gt;44, 45=&gt;45, 46=&gt;46, 47=&gt;47, 48=&gt;48, 49=&gt;49, 50=&gt;50, 51=&gt;51, 52=&gt;52, 53=&gt;53, 54=&gt;54, 55=&gt;55, 56=&gt;56, 57=&gt;57, 58=&gt;58, 59=&gt;59, 60=&gt;60, 61=&gt;61, 62=&gt;62, 63=&gt;63, 64=&gt;64, 65=&gt;65, 66=&gt;66, 67=&gt;67, 68=&gt;68, 69=&gt;69, 70=&gt;70, 71=&gt;71, 72=&gt;72, 73=&gt;73, 74=&gt;74, 75=&gt;75, 76=&gt;76, 77=&gt;77, 78=&gt;78, 79=&gt;79, 80=&gt;80, 81=&gt;81, 82=&gt;82, 83=&gt;83, 84=&gt;84, 85=&gt;85, 86=&gt;86, 87=&gt;87, 88=&gt;88, 89=&gt;89, 90=&gt;90, 91=&gt;91, 92=&gt;92, 93=&gt;93, 94=&gt;94, 95=&gt;95, 96=&gt;96, 97=&gt;97, 98=&gt;98, 99=&gt;99, 100=&gt;100, 101=&gt;101, 102=&gt;102, 103=&gt;103, 104=&gt;104, 105=&gt;105, 106=&gt;106, 107=&gt;107, 108=&gt;108, 109=&gt;109, 110=&gt;110, 111=&gt;111, 112=&gt;112, 113=&gt;113, 114=&gt;114, 115=&gt;115, 116=&gt;116, 117=&gt;117, 118=&gt;118, 119=&gt;119, 120=&gt;120, 121=&gt;121, 122=&gt;122, 123=&gt;123, 124=&gt;124, 125=&gt;125, 126=&gt;126, 127=&gt;127, 128=&gt;128, 129=&gt;129, 130=&gt;130, 131=&gt;131, 132=&gt;132, 133=&gt;133, 134=&gt;134, 135=&gt;135, 136=&gt;136, 137=&gt;137, 138=&gt;138, 139=&gt;139, 140=&gt;140, 141=&gt;141, 142=&gt;142, 143=&gt;143, 144=&gt;144, 145=&gt;145, 146=&gt;146, 147=&gt;147, 148=&gt;148, 149=&gt;149, 150=&gt;150, 151=&gt;151, 152=&gt;152, 153=&gt;153, 154=&gt;154, 155=&gt;155, 156=&gt;156, 157=&gt;157, 158=&gt;158, 159=&gt;159, 160=&gt;160, 161=&gt;161, 162=&gt;162, 163=&gt;163, 164=&gt;164, 165=&gt;165, 166=&gt;166, 167=&gt;167, 168=&gt;168, 169=&gt;169, 170=&gt;170, 171=&gt;171, 172=&gt;172, 173=&gt;173, 174=&gt;174, 175=&gt;175, 176=&gt;176, 177=&gt;177, 178=&gt;178, 179=&gt;179, 180=&gt;180, 181=&gt;181, 182=&gt;182, 183=&gt;183, 184=&gt;184, 185=&gt;185, 186=&gt;186, 187=&gt;187, 188=&gt;188, 189=&gt;189, 190=&gt;190, 191=&gt;191, 192=&gt;192, 193=&gt;193, 194=&gt;194, 195=&gt;195, 196=&gt;196, 197=&gt;197, 198=&gt;198, 199=&gt;199, 200=&gt;200, 201=&gt;201, 202=&gt;202, 203=&gt;203, 204=&gt;204, 205=&gt;205, 206=&gt;206, 207=&gt;207, 208=&gt;208, 209=&gt;209, 210=&gt;210, 211=&gt;211, 212=&gt;212, 213=&gt;213, 214=&gt;214, 215=&gt;215, 216=&gt;216, 217=&gt;217, 218=&gt;218, 219=&gt;219, 220=&gt;220, 221=&gt;221, 222=&gt;222, 223=&gt;223, 224=&gt;224, 225=&gt;225, 226=&gt;226, 227=&gt;227, 228=&gt;228, 229=&gt;229, 230=&gt;230, 231=&gt;231, 232=&gt;232, 233=&gt;233, 234=&gt;234, 235=&gt;235, 236=&gt;236, 237=&gt;237, 238=&gt;238, 239=&gt;239, 240=&gt;240, 241=&gt;241, 242=&gt;242, 243=&gt;243, 244=&gt;244, 245=&gt;245, 246=&gt;246, 247=&gt;247, 248=&gt;248, 249=&gt;249, 250=&gt;250, 251=&gt;251, 252=&gt;252, 253=&gt;253, 254=&gt;254, 255=&gt;255, 256=&gt;256, 257=&gt;257, 258=&gt;258, 259=&gt;259, 260=&gt;260, 261=&gt;261, 262=&gt;262, 263=&gt;263, 264=&gt;264, 265=&gt;265, 266=&gt;266, 267=&gt;267, 268=&gt;268, 269=&gt;269, 270=&gt;270, 271=&gt;271, 272=&gt;272, 273=&gt;273, 274=&gt;274, 275=&gt;275, 276=&gt;276, 277=&gt;277, 278=&gt;278, 279=&gt;279, 280=&gt;280, 281=&gt;281, 282=&gt;282, 283=&gt;283, 284=&gt;284, 285=&gt;285, 286=&gt;286, 287=&gt;287, 288=&gt;288, 289=&gt;289, 290=&gt;290, 291=&gt;291, 292=&gt;292, 293=&gt;293, 294=&gt;294, 295=&gt;295, 296=&gt;296, 297=&gt;297, 298=&gt;298, 299=&gt;299, 300=&gt;300, 301=&gt;301, 302=&gt;302, 303=&gt;303, 304=&gt;304, 305=&gt;305, 306=&gt;306, 307=&gt;307, 308=&gt;308, 309=&gt;309, 310=&gt;310, 311=&gt;311, 312=&gt;312, 313=&gt;313, 314=&gt;314, 315=&gt;315, 316=&gt;316, 317=&gt;317, 318=&gt;318, 319=&gt;319, 320=&gt;320, 321=&gt;321, 322=&gt;322, 323=&gt;323, 324=&gt;324, 325=&gt;325, 326=&gt;326, 327=&gt;327, 328=&gt;328, 329=&gt;329, 330=&gt;330, 331=&gt;331, 332=&gt;332, 333=&gt;333, 334=&gt;334, 335=&gt;335, 336=&gt;336, 337=&gt;337, 338=&gt;338, 339=&gt;339, 340=&gt;340, 341=&gt;341, 342=&gt;342, 343=&gt;343, 344=&gt;344, 345=&gt;345, 346=&gt;346, 347=&gt;347, 348=&gt;348, 349=&gt;349, 350=&gt;350, 351=&gt;351, 352=&gt;352, 353=&gt;353, 354=&gt;354, 355=&gt;355, 356=&gt;356, 357=&gt;357, 358=&gt;358, 359=&gt;359, 360=&gt;360, 361=&gt;361, 362=&gt;362, 363=&gt;363, 364=&gt;364, 365=&gt;365, 366=&gt;366, 367=&gt;367, 368=&gt;368, 369=&gt;369, 370=&gt;370, 371=&gt;371, 372=&gt;372, 373=&gt;373, 374=&gt;374, 375=&gt;375, 376=&gt;376, 377=&gt;377, 378=&gt;378, 379=&gt;379, 380=&gt;380, 381=&gt;381, 382=&gt;382, 383=&gt;383, 384=&gt;384, 385=&gt;385, 386=&gt;386, 387=&gt;387, 388=&gt;388, 389=&gt;389, 390=&gt;390, 391=&gt;391, 392=&gt;392, 393=&gt;393, 394=&gt;394, 395=&gt;395, 396=&gt;396, 397=&gt;397, 398=&gt;398, 399=&gt;399, 400=&gt;400, 401=&gt;401, 402=&gt;402, 403=&gt;403, 404=&gt;404, 405=&gt;405, 406=&gt;406, 407=&gt;407, 408=&gt;408, 409=&gt;409, 410=&gt;410, 411=&gt;411, 412=&gt;412, 413=&gt;413, 414=&gt;414, 415=&gt;415, 416=&gt;416, 417=&gt;417, 418=&gt;418, 419=&gt;419, 420=&gt;420, 421=&gt;421, 422=&gt;422, 423=&gt;423, 424=&gt;424, 425=&gt;425, 426=&gt;426, 427=&gt;427, 428=&gt;428, 429=&gt;429, 430=&gt;430, 431=&gt;431, 432=&gt;432, 433=&gt;433, 434=&gt;434, 435=&gt;435, 436=&gt;436, 437=&gt;437, 438=&gt;438, 439=&gt;439, 440=&gt;440, 441=&gt;441, 442=&gt;442, 443=&gt;443, 444=&gt;444, 445=&gt;445, 446=&gt;446, 447=&gt;447, 448=&gt;448, 449=&gt;449, 450=&gt;450, 451=&gt;451, 452=&gt;452, 453=&gt;453, 454=&gt;454, 455=&gt;455, 456=&gt;456, 457=&gt;457, 458=&gt;458, 459=&gt;459, 460=&gt;460, 461=&gt;461, 462=&gt;462, 463=&gt;463, 464=&gt;464, 465=&gt;465, 466=&gt;466, 467=&gt;467, 468=&gt;468, 469=&gt;469, 470=&gt;470, 471=&gt;471, 472=&gt;472, 473=&gt;473, 474=&gt;474, 475=&gt;475, 476=&gt;476, 477=&gt;477, 478=&gt;478, 479=&gt;479, 480=&gt;480, 481=&gt;481, 482=&gt;482, 483=&gt;483, 484=&gt;484, 485=&gt;485, 486=&gt;486, 487=&gt;487, 488=&gt;488, 489=&gt;489, 490=&gt;490, 491=&gt;491, 492=&gt;492, 493=&gt;493, 494=&gt;494, 495=&gt;495, 496=&gt;496, 497=&gt;497, 498=&gt;498, 499=&gt;499, 500=&gt;500,}</div><div class='del'>-loop_count: 60000</div><div class='head'>diff --git a/benchmark/vm2_case.yml b/benchmark/vm2_case.yml<br/>deleted file mode 100644<br/>index 7716783c09..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_case.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_case.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_case: |</div><div class='del'>-    case :foo</div><div class='del'>-    when :bar</div><div class='del'>-      raise</div><div class='del'>-    when :baz</div><div class='del'>-      raise</div><div class='del'>-    when :boo</div><div class='del'>-      raise</div><div class='del'>-    when :foo</div><div class='del'>-      # noop</div><div class='del'>-    end</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_case_lit.yml b/benchmark/vm2_case_lit.yml<br/>deleted file mode 100644<br/>index c49b8dfe5e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_case_lit.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_case_lit.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,23 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_case_lit: |</div><div class='del'>-    i = 0</div><div class='del'>-    @ret = [ "foo", true, false, :sym, 6, nil, 0.1, 0xffffffffffffffff ]</div><div class='del'>-    def foo(i)</div><div class='del'>-      @ret[i % @ret.size]</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    while i&lt;6_000_000</div><div class='del'>-      case foo(i)</div><div class='del'>-      when "foo" then :foo</div><div class='del'>-      when true then true</div><div class='del'>-      when false then false</div><div class='del'>-      when :sym then :sym</div><div class='del'>-      when 6 then :fix</div><div class='del'>-      when nil then nil</div><div class='del'>-      when 0.1 then :float</div><div class='del'>-      when 0xffffffffffffffff then :big</div><div class='del'>-      end</div><div class='del'>-      i += 1</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_defined_method.yml b/benchmark/vm2_defined_method.yml<br/>deleted file mode 100644<br/>index e1b0d55674..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_defined_method.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_defined_method.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class Object</div><div class='del'>-    define_method(:m){}</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_defined_method: |</div><div class='del'>-    m; m; m; m; m; m; m; m;</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_dstr.yml b/benchmark/vm2_dstr.yml<br/>deleted file mode 100644<br/>index f8bd6e0133..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_dstr.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_dstr.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  x = y = 'z'</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_dstr: |</div><div class='del'>-    str = "foo#{x}bar#{y}baz"</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_eval.yml b/benchmark/vm2_eval.yml<br/>deleted file mode 100644<br/>index d506a9c079..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_eval.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_eval.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_eval: |</div><div class='del'>-    eval("1")</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_fiber_switch.yml b/benchmark/vm2_fiber_switch.yml<br/>deleted file mode 100644<br/>index f3e4c91283..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_fiber_switch.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_fiber_switch.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  # based on benchmark for [ruby-core:65518] [Feature #10341] by Knut Franke</div><div class='del'>-  fib = Fiber.new do</div><div class='del'>-    loop { Fiber.yield }</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_fiber_switch: |</div><div class='del'>-    fib.resume</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_freezestring.yml b/benchmark/vm2_freezestring.yml<br/>deleted file mode 100644<br/>index b78af91a20..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_freezestring.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_freezestring.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class String</div><div class='del'>-    def freeze</div><div class='del'>-      -self</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_freezestring: |</div><div class='del'>-    "tXnL1BP5T1WPXMjuFNLQtallEtRcay1t2lHtJSrlVsDgvunlbtfpr/DGdH0NGYE9".freeze</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_method.yml b/benchmark/vm2_method.yml<br/>deleted file mode 100644<br/>index cc7b9b28ff..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_method.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_method.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m</div><div class='del'>-    nil</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_method: |</div><div class='del'>-    m; m; m; m; m; m; m; m;</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_method_missing.yml b/benchmark/vm2_method_missing.yml<br/>deleted file mode 100644<br/>index cbfb794b25..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_method_missing.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_method_missing.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    def method_missing mid</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  obj = C.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_method_missing: |</div><div class='del'>-    obj.m; obj.m; obj.m; obj.m; obj.m; obj.m; obj.m; obj.m;</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_method_with_block.yml b/benchmark/vm2_method_with_block.yml<br/>deleted file mode 100644<br/>index 6e522adccc..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_method_with_block.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_method_with_block.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m</div><div class='del'>-    nil</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_method_with_block: |</div><div class='del'>-    m{}; m{}; m{}; m{}; m{}; m{}; m{}; m{};</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_module_ann_const_set.yml b/benchmark/vm2_module_ann_const_set.yml<br/>deleted file mode 100644<br/>index b0becd9d3d..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_module_ann_const_set.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_module_ann_const_set.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_module_ann_const_set: |</div><div class='del'>-    Module.new.const_set(:X, Module.new)</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_module_const_set.yml b/benchmark/vm2_module_const_set.yml<br/>deleted file mode 100644<br/>index 05a640069c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_module_const_set.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_module_const_set.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  module M</div><div class='del'>-  end</div><div class='del'>-  $VERBOSE = nil</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_module_const_set: |</div><div class='del'>-    M.const_set(:X, Module.new)</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_mutex.yml b/benchmark/vm2_mutex.yml<br/>deleted file mode 100644<br/>index c40a90444a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_mutex.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_mutex.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  require 'thread'</div><div class='del'>-</div><div class='del'>-  m = Thread::Mutex.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_mutex: |</div><div class='del'>-    m.synchronize{}</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_newlambda.yml b/benchmark/vm2_newlambda.yml<br/>deleted file mode 100644<br/>index 93133f9f30..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_newlambda.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_newlambda.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_newlambda: |</div><div class='del'>-    lambda {}</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_poly_method.yml b/benchmark/vm2_poly_method.yml<br/>deleted file mode 100644<br/>index 0104bdfb66..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_poly_method.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_poly_method.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_poly_method: |</div><div class='del'>-    class C1</div><div class='del'>-      def m</div><div class='del'>-        1</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    class C2</div><div class='del'>-      def m</div><div class='del'>-        2</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    o1 = C1.new</div><div class='del'>-    o2 = C2.new</div><div class='del'>-</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;6_000_000</div><div class='del'>-      o = (i % 2 == 0) ? o1 : o2</div><div class='del'>-      o.m; o.m; o.m; o.m; o.m; o.m; o.m; o.m</div><div class='del'>-      i += 1</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_poly_method_ov.yml b/benchmark/vm2_poly_method_ov.yml<br/>deleted file mode 100644<br/>index 3748073ba2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_poly_method_ov.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_poly_method_ov.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_poly_method_ov: |</div><div class='del'>-    class C1</div><div class='del'>-      def m</div><div class='del'>-        1</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    class C2</div><div class='del'>-      def m</div><div class='del'>-        2</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    o1 = C1.new</div><div class='del'>-    o2 = C2.new</div><div class='del'>-</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;6_000_000</div><div class='del'>-      o = (i % 2 == 0) ? o1 : o2</div><div class='del'>-    #  o.m; o.m; o.m; o.m; o.m; o.m; o.m; o.m</div><div class='del'>-      i += 1</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_poly_singleton.yml b/benchmark/vm2_poly_singleton.yml<br/>deleted file mode 100644<br/>index e58d7bfb37..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_poly_singleton.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_poly_singleton.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,18 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_poly_singleton: |</div><div class='del'>-    class C1</div><div class='del'>-      def m; 1; end</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    o1 = C1.new</div><div class='del'>-    o2 = C1.new</div><div class='del'>-    o2.singleton_class</div><div class='del'>-</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;6_000_000 # benchmark loop 2</div><div class='del'>-      o = (i % 2 == 0) ? o1 : o2</div><div class='del'>-      o.m; o.m; o.m; o.m; o.m; o.m; o.m; o.m</div><div class='del'>-      i += 1</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_proc.yml b/benchmark/vm2_proc.yml<br/>deleted file mode 100644<br/>index 5c36e936d9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_proc.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_proc.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m &amp;b</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  pr = m{</div><div class='del'>-    a = 1</div><div class='del'>-  }</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_proc: |</div><div class='del'>-    pr.call</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_raise1.yml b/benchmark/vm2_raise1.yml<br/>deleted file mode 100644<br/>index f6eb308968..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_raise1.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_raise1.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,16 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def rec n</div><div class='del'>-    if n &gt; 0</div><div class='del'>-      rec n-1</div><div class='del'>-    else</div><div class='del'>-      raise</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_raise1: |</div><div class='del'>-    begin</div><div class='del'>-      rec 1</div><div class='del'>-    rescue</div><div class='del'>-      # ignore</div><div class='del'>-    end</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_raise2.yml b/benchmark/vm2_raise2.yml<br/>deleted file mode 100644<br/>index 7d51b1b314..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_raise2.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_raise2.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,16 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def rec n</div><div class='del'>-    if n &gt; 0</div><div class='del'>-      rec n-1</div><div class='del'>-    else</div><div class='del'>-      raise</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_raise2: |</div><div class='del'>-    begin</div><div class='del'>-      rec 10</div><div class='del'>-    rescue</div><div class='del'>-      # ignore</div><div class='del'>-    end</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_regexp.yml b/benchmark/vm2_regexp.yml<br/>deleted file mode 100644<br/>index 0f3968a99b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_regexp.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_regexp.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  str = 'xxxhogexxx'</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_regexp: |</div><div class='del'>-    /hoge/ =~ str</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_send.yml b/benchmark/vm2_send.yml<br/>deleted file mode 100644<br/>index 44a12a27d9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_send.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_send.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    def m</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  o = C.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_send: |</div><div class='del'>-    o.__send__ :m</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_string_literal.yml b/benchmark/vm2_string_literal.yml<br/>deleted file mode 100644<br/>index 54b0aec1fe..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_string_literal.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_string_literal.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_string_literal: |</div><div class='del'>-    x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_big_aref_hi.yml b/benchmark/vm2_struct_big_aref_hi.yml<br/>deleted file mode 100644<br/>index eed1846d28..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_big_aref_hi.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_aref_hi.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_big_aref_hi: |</div><div class='del'>-    x.z # x[25]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_big_aref_lo.yml b/benchmark/vm2_struct_big_aref_lo.yml<br/>deleted file mode 100644<br/>index 0915435b76..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_big_aref_lo.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_aref_lo.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_big_aref_lo: |</div><div class='del'>-    x.k # x[10]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_big_aset.yml b/benchmark/vm2_struct_big_aset.yml<br/>deleted file mode 100644<br/>index 6af50103d3..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_big_aset.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_aset.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_big_aset: |</div><div class='del'>-    s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='del'>-    x = s.new</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;6_000_000</div><div class='del'>-      i += 1</div><div class='del'>-      x.k = i # x[10] = i</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_struct_big_href_hi.yml b/benchmark/vm2_struct_big_href_hi.yml<br/>deleted file mode 100644<br/>index 60aa7fddf3..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_big_href_hi.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_href_hi.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_big_href_hi: |</div><div class='del'>-    x[:z]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_big_href_lo.yml b/benchmark/vm2_struct_big_href_lo.yml<br/>deleted file mode 100644<br/>index c55c0bd16c..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_big_href_lo.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_href_lo.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_big_href_lo: |</div><div class='del'>-    x[:k]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_big_hset.yml b/benchmark/vm2_struct_big_hset.yml<br/>deleted file mode 100644<br/>index d199c5bd47..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_big_hset.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_big_hset.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_big_hset: |</div><div class='del'>-    s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='del'>-    x = s.new</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;6_000_000</div><div class='del'>-      i += 1</div><div class='del'>-      x[:k] = i</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_struct_small_aref.yml b/benchmark/vm2_struct_small_aref.yml<br/>deleted file mode 100644<br/>index 83381bed3a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_small_aref.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_aref.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(:a, :b, :c)</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_small_aref: |</div><div class='del'>-    x.a</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_small_aset.yml b/benchmark/vm2_struct_small_aset.yml<br/>deleted file mode 100644<br/>index 3e84a61dd0..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_small_aset.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_aset.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,11 +0,0 @@</div><div class='del'>-# loop_count is not utilized since `i` is involved in the script</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_small_aset: |</div><div class='del'>-    s = Struct.new(:a, :b, :c)</div><div class='del'>-    x = s.new</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;6_000_000</div><div class='del'>-      i += 1</div><div class='del'>-      x.a = i</div><div class='del'>-    end</div><div class='del'>-loop_count: 1</div><div class='head'>diff --git a/benchmark/vm2_struct_small_href.yml b/benchmark/vm2_struct_small_href.yml<br/>deleted file mode 100644<br/>index b744f070d1..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_small_href.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_href.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(:a, :b, :c)</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_small_href: |</div><div class='del'>-    x[:a]</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_struct_small_hset.yml b/benchmark/vm2_struct_small_hset.yml<br/>deleted file mode 100644<br/>index d43845d6e0..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_struct_small_hset.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_struct_small_hset.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  s = Struct.new(:a, :b, :c)</div><div class='del'>-  x = s.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_struct_small_hset: |</div><div class='del'>-    x[:a] = 1</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_super.yml b/benchmark/vm2_super.yml<br/>deleted file mode 100644<br/>index 674743762a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_super.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_super.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    def m</div><div class='del'>-      1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class CC &lt; C</div><div class='del'>-    def m</div><div class='del'>-      super()</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  obj = CC.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_super: obj.m</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_unif1.yml b/benchmark/vm2_unif1.yml<br/>deleted file mode 100644<br/>index caef13279f..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_unif1.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_unif1.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,7 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  def m a, b</div><div class='del'>-  end</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_unif1: |</div><div class='del'>-    m 100, 200</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm2_zsuper.yml b/benchmark/vm2_zsuper.yml<br/>deleted file mode 100644<br/>index f760cfd48e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm2_zsuper.yml?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm2_zsuper.yml</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,18 +0,0 @@</div><div class='del'>-prelude: |</div><div class='del'>-  class C</div><div class='del'>-    def m a</div><div class='del'>-      1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class CC &lt; C</div><div class='del'>-    def m a</div><div class='del'>-      super</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  obj = CC.new</div><div class='del'>-benchmark:</div><div class='del'>-  vm2_zsuper: |</div><div class='del'>-    obj.m 10</div><div class='del'>-loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm3_backtrace.rb b/benchmark/vm3_backtrace.rb<br/>deleted file mode 100644<br/>index 0fbf73e1ca..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm3_backtrace.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_backtrace.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-# get last backtrace</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  caller(0, 0)</div><div class='del'>-rescue ArgumentError</div><div class='del'>-  alias caller_orig caller</div><div class='del'>-  def caller lev, n</div><div class='del'>-    caller_orig(lev)[0..n]</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def rec n</div><div class='del'>-  if n &lt; 0</div><div class='del'>-    100_000.times{</div><div class='del'>-      caller(0, 1)</div><div class='del'>-    }</div><div class='del'>-  else</div><div class='del'>-    rec(n-1)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-rec 50</div><div class='head'>diff --git a/benchmark/vm3_clearmethodcache.rb b/benchmark/vm3_clearmethodcache.rb<br/>deleted file mode 100644<br/>index 9661323cd2..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm3_clearmethodcache.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_clearmethodcache.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;200_000</div><div class='del'>-  i += 1</div><div class='del'>-</div><div class='del'>-  Class.new{</div><div class='del'>-    def m; end</div><div class='del'>-  }</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm3_gc.rb b/benchmark/vm3_gc.rb<br/>deleted file mode 100644<br/>index e668026915..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm3_gc.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-5000.times do</div><div class='del'>-  100.times do</div><div class='del'>-    {"xxxx"=&gt;"yyyy"}</div><div class='del'>-  end</div><div class='del'>-  GC.start</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm3_gc_old_full.rb b/benchmark/vm3_gc_old_full.rb<br/>deleted file mode 100644<br/>index cfdfc8c5a5..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm3_gc_old_full.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc_old_full.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-old_object = Array.new(1_000_000){''}</div><div class='del'>-100.times do</div><div class='del'>-  GC.start</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm3_gc_old_immediate.rb b/benchmark/vm3_gc_old_immediate.rb<br/>deleted file mode 100644<br/>index ad22feb655..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm3_gc_old_immediate.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc_old_immediate.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-old_object = Array.new(1_000_000){''}</div><div class='del'>-30_000.times do</div><div class='del'>-  GC.start(full_mark: false, immediate_sweep: true)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm3_gc_old_lazy.rb b/benchmark/vm3_gc_old_lazy.rb<br/>deleted file mode 100644<br/>index b74d44baf1..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm3_gc_old_lazy.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm3_gc_old_lazy.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4 +0,0 @@</div><div class='del'>-old_object = Array.new(1_000_000){''}</div><div class='del'>-30_000.times do</div><div class='del'>-  GC.start(full_mark: false, immediate_sweep: false)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm_symbol_block_pass.rb b/benchmark/vm_symbol_block_pass.rb<br/>deleted file mode 100644<br/>index 1d433353e1..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_symbol_block_pass.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_symbol_block_pass.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,13 +0,0 @@</div><div class='del'>-class C</div><div class='del'>-  1000.times {|i|</div><div class='del'>-    eval("def i#{i};end")</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-c = C.new</div><div class='del'>-m = C.instance_methods(false)</div><div class='del'>-5_000.times do</div><div class='del'>-  m.each do |n|</div><div class='del'>-    c.tap(&amp;n)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm_thread_alive_check1.rb b/benchmark/vm_thread_alive_check1.rb<br/>deleted file mode 100644<br/>index c993accdda..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_alive_check1.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_alive_check1.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-5_000.times{</div><div class='del'>-  t = Thread.new{}</div><div class='del'>-  while t.alive?</div><div class='del'>-    Thread.pass</div><div class='del'>-  end</div><div class='del'>-}</div><div class='head'>diff --git a/benchmark/vm_thread_close.rb b/benchmark/vm_thread_close.rb<br/>deleted file mode 100644<br/>index 3e9a265ce8..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_close.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_close.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-1000.times { Thread.new { sleep } }</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;100_000 # benchmark loop 3</div><div class='del'>-  i += 1</div><div class='del'>-  IO.pipe.each(&amp;:close)</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm_thread_condvar1.rb b/benchmark/vm_thread_condvar1.rb<br/>deleted file mode 100644<br/>index cf5706b23e..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_condvar1.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_condvar1.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,28 +0,0 @@</div><div class='del'>-# two threads, two mutex, two condvar ping-pong</div><div class='del'>-require 'thread'</div><div class='del'>-m1 = Mutex.new</div><div class='del'>-m2 = Mutex.new</div><div class='del'>-cv1 = ConditionVariable.new</div><div class='del'>-cv2 = ConditionVariable.new</div><div class='del'>-max = 100000</div><div class='del'>-i = 0</div><div class='del'>-wait = nil</div><div class='del'>-m2.synchronize do</div><div class='del'>-  wait = Thread.new do</div><div class='del'>-    m1.synchronize do</div><div class='del'>-      m2.synchronize { cv2.signal }</div><div class='del'>-      while (i += 1) &lt; max</div><div class='del'>-        cv1.wait(m1)</div><div class='del'>-        cv2.signal</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  cv2.wait(m2)</div><div class='del'>-end</div><div class='del'>-m1.synchronize do</div><div class='del'>-  while i &lt; max</div><div class='del'>-    cv1.signal</div><div class='del'>-    cv2.wait(m1)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-wait.join</div><div class='head'>diff --git a/benchmark/vm_thread_condvar2.rb b/benchmark/vm_thread_condvar2.rb<br/>deleted file mode 100644<br/>index 7c8dc19481..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_condvar2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_condvar2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,35 +0,0 @@</div><div class='del'>-# many threads, one mutex, many condvars</div><div class='del'>-require 'thread'</div><div class='del'>-m = Mutex.new</div><div class='del'>-cv1 = ConditionVariable.new</div><div class='del'>-cv2 = ConditionVariable.new</div><div class='del'>-max = 1000</div><div class='del'>-n = 100</div><div class='del'>-waiting = 0</div><div class='del'>-scvs = []</div><div class='del'>-waiters = n.times.map do |i|</div><div class='del'>-  start_cv = ConditionVariable.new</div><div class='del'>-  scvs &lt;&lt; start_cv</div><div class='del'>-  start_mtx = Mutex.new</div><div class='del'>-  start_mtx.synchronize do</div><div class='del'>-    th = Thread.new(start_mtx, start_cv) do |sm, scv|</div><div class='del'>-      m.synchronize do</div><div class='del'>-        sm.synchronize { scv.signal }</div><div class='del'>-        max.times do</div><div class='del'>-          cv2.signal if (waiting += 1) == n</div><div class='del'>-          cv1.wait(m)</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    start_cv.wait(start_mtx)</div><div class='del'>-    th</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-m.synchronize do</div><div class='del'>-  max.times do</div><div class='del'>-    cv2.wait(m) until waiting == n</div><div class='del'>-    waiting = 0</div><div class='del'>-    cv1.broadcast</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-waiters.each(&amp;:join)</div><div class='head'>diff --git a/benchmark/vm_thread_create_join.rb b/benchmark/vm_thread_create_join.rb<br/>deleted file mode 100644<br/>index 393cd45df9..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_create_join.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_create_join.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6 +0,0 @@</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;100_000 # benchmark loop 3</div><div class='del'>-  i += 1</div><div class='del'>-  Thread.new{</div><div class='del'>-  }.join</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm_thread_mutex1.rb b/benchmark/vm_thread_mutex1.rb<br/>deleted file mode 100644<br/>index 66e42c85e1..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_mutex1.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_mutex1.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-# one thread, one mutex (no contention)</div><div class='del'>-</div><div class='del'>-require 'thread'</div><div class='del'>-m = Thread::Mutex.new</div><div class='del'>-r = 0</div><div class='del'>-max = 2000</div><div class='del'>-lmax = max * max</div><div class='del'>-(1..1).map{</div><div class='del'>-  Thread.new{</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;lmax</div><div class='del'>-      i += 1</div><div class='del'>-      m.synchronize{</div><div class='del'>-        r += 1</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}.each{|e|</div><div class='del'>-  e.join</div><div class='del'>-}</div><div class='del'>-raise r.to_s if r != max * max</div><div class='head'>diff --git a/benchmark/vm_thread_mutex2.rb b/benchmark/vm_thread_mutex2.rb<br/>deleted file mode 100644<br/>index 6e6c804c31..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_mutex2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_mutex2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-# two threads, one mutex</div><div class='del'>-</div><div class='del'>-require 'thread'</div><div class='del'>-m = Thread::Mutex.new</div><div class='del'>-r = 0</div><div class='del'>-max = 2000</div><div class='del'>-lmax = (max * max)/2</div><div class='del'>-(1..2).map{</div><div class='del'>-  Thread.new{</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;lmax</div><div class='del'>-      i += 1</div><div class='del'>-      m.synchronize{</div><div class='del'>-        r += 1</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}.each{|e|</div><div class='del'>-  e.join</div><div class='del'>-}</div><div class='del'>-raise r.to_s if r != max * max</div><div class='head'>diff --git a/benchmark/vm_thread_mutex3.rb b/benchmark/vm_thread_mutex3.rb<br/>deleted file mode 100644<br/>index c750dc542a..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_mutex3.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_mutex3.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,20 +0,0 @@</div><div class='del'>-# 1000 threads, one mutex</div><div class='del'>-</div><div class='del'>-require 'thread'</div><div class='del'>-m = Thread::Mutex.new</div><div class='del'>-r = 0</div><div class='del'>-max = 2000</div><div class='del'>-(1..max).map{</div><div class='del'>-  Thread.new{</div><div class='del'>-    i = 0</div><div class='del'>-    while i&lt;max</div><div class='del'>-      i += 1</div><div class='del'>-      m.synchronize{</div><div class='del'>-        r += 1</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}.each{|e|</div><div class='del'>-  e.join</div><div class='del'>-}</div><div class='del'>-raise r.to_s if r != max * max</div><div class='head'>diff --git a/benchmark/vm_thread_pass.rb b/benchmark/vm_thread_pass.rb<br/>deleted file mode 100644<br/>index b5b3c0bc85..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_pass.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_pass.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,15 +0,0 @@</div><div class='del'>-# Plenty Thtread.pass</div><div class='del'>-# A performance may depend on GVL implementation.</div><div class='del'>-</div><div class='del'>-tmax = (ARGV.shift || 2).to_i</div><div class='del'>-lmax = 200_000 / tmax</div><div class='del'>-</div><div class='del'>-(1..tmax).map{</div><div class='del'>-  Thread.new{</div><div class='del'>-    lmax.times{</div><div class='del'>-      Thread.pass</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}.each{|t| t.join}</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/vm_thread_pass_flood.rb b/benchmark/vm_thread_pass_flood.rb<br/>deleted file mode 100644<br/>index a660aafc18..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_pass_flood.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_pass_flood.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-# n.b. this is a good test for GVL when pinned to a single CPU</div><div class='del'>-</div><div class='del'>-1000.times{</div><div class='del'>-  Thread.new{loop{Thread.pass}}</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-i = 0</div><div class='del'>-while i&lt;10000</div><div class='del'>-  i += 1</div><div class='del'>-end</div><div class='head'>diff --git a/benchmark/vm_thread_pipe.rb b/benchmark/vm_thread_pipe.rb<br/>deleted file mode 100644<br/>index 112a621905..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_pipe.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_pipe.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-# Measure small and plenty pipe read/write.</div><div class='del'>-# A performance may depend on GVL implementation.</div><div class='del'>-</div><div class='del'>-lmax = 100_000</div><div class='del'>-r, w = IO.pipe</div><div class='del'>-[Thread.new{</div><div class='del'>-  lmax.times{</div><div class='del'>-    w.write('a')</div><div class='del'>-  }</div><div class='del'>-  p "w:exit"</div><div class='del'>-}, Thread.new{</div><div class='del'>-  lmax.times{</div><div class='del'>-    r.read(1)</div><div class='del'>-  }</div><div class='del'>-  p "r:exit"</div><div class='del'>-}].each{|t| t.join}</div><div class='del'>-</div><div class='head'>diff --git a/benchmark/vm_thread_queue.rb b/benchmark/vm_thread_queue.rb<br/>deleted file mode 100644<br/>index 274ceda366..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_queue.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_queue.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,18 +0,0 @@</div><div class='del'>-require 'thread'</div><div class='del'>-</div><div class='del'>-n = 1_000_000</div><div class='del'>-q = Thread::Queue.new</div><div class='del'>-consumer = Thread.new{</div><div class='del'>-  while q.pop</div><div class='del'>-    # consuming</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-producer = Thread.new{</div><div class='del'>-  n.times{</div><div class='del'>-    q.push true</div><div class='del'>-  }</div><div class='del'>-  q.push nil</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-consumer.join</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue.rb b/benchmark/vm_thread_sized_queue.rb<br/>deleted file mode 100644<br/>index 7b9af5482b..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,20 +0,0 @@</div><div class='del'>-require 'thread'</div><div class='del'>-# on producer, one consumer</div><div class='del'>-</div><div class='del'>-n = 1_000_000</div><div class='del'>-q = Thread::SizedQueue.new(100)</div><div class='del'>-consumer = Thread.new{</div><div class='del'>-  while q.pop</div><div class='del'>-    # consuming</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-producer = Thread.new{</div><div class='del'>-  while n &gt; 0</div><div class='del'>-    q.push true</div><div class='del'>-    n -= 1</div><div class='del'>-  end</div><div class='del'>-  q.push nil</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-consumer.join</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue2.rb b/benchmark/vm_thread_sized_queue2.rb<br/>deleted file mode 100644<br/>index de9f55e978..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue2.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue2.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,23 +0,0 @@</div><div class='del'>-require 'thread'</div><div class='del'>-# one producer, many consumers</div><div class='del'>-n = 1_000_000</div><div class='del'>-m = 10</div><div class='del'>-q = Thread::SizedQueue.new(100)</div><div class='del'>-consumers = m.times.map do</div><div class='del'>-  Thread.new do</div><div class='del'>-    while q.pop</div><div class='del'>-      # consuming</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-producer = Thread.new do</div><div class='del'>-  while n &gt; 0</div><div class='del'>-    q.push true</div><div class='del'>-    n -= 1</div><div class='del'>-  end</div><div class='del'>-  m.times { q.push nil }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-producer.join</div><div class='del'>-consumers.each(&amp;:join)</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue3.rb b/benchmark/vm_thread_sized_queue3.rb<br/>deleted file mode 100644<br/>index ce5f1796d8..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue3.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue3.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-require 'thread'</div><div class='del'>-# many producers, one consumer</div><div class='del'>-n = 1_000_000</div><div class='del'>-m = 10</div><div class='del'>-q = Thread::SizedQueue.new(100)</div><div class='del'>-consumer = Thread.new do</div><div class='del'>-  while q.pop</div><div class='del'>-    # consuming</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-producers = m.times.map do</div><div class='del'>-  Thread.new do</div><div class='del'>-    while n &gt; 0</div><div class='del'>-      q.push true</div><div class='del'>-      n -= 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-producers.each(&amp;:join)</div><div class='del'>-q.push nil</div><div class='del'>-consumer.join</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue4.rb b/benchmark/vm_thread_sized_queue4.rb<br/>deleted file mode 100644<br/>index a9b7d80ec0..0000000000<br/>--- a/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue4.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>benchmark/vm_thread_sized_queue4.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,26 +0,0 @@</div><div class='del'>-require 'thread'</div><div class='del'>-# many producers, many consumers</div><div class='del'>-nr = 1_000_000</div><div class='del'>-n = 10</div><div class='del'>-m = 10</div><div class='del'>-q = Thread::SizedQueue.new(100)</div><div class='del'>-consumers = n.times.map do</div><div class='del'>-  Thread.new do</div><div class='del'>-    while q.pop</div><div class='del'>-      # consuming</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-producers = m.times.map do</div><div class='del'>-  Thread.new do</div><div class='del'>-    while nr &gt; 0</div><div class='del'>-      q.push true</div><div class='del'>-      nr -= 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-producers.each(&amp;:join)</div><div class='del'>-n.times { q.push nil }</div><div class='del'>-consumers.each(&amp;:join)</div><div class='head'>diff --git a/bignum.c b/bignum.c<br/>index ee3b49fd04..cc3dd1e5c3 100644<br/>--- a/<a href='/ruby.git/tree/bignum.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bignum.c</a><br/>+++ b/<a href='/ruby.git/tree/bignum.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bignum.c</a></div><div class='hunk'>@@ -3,4101 +3,370 @@</div><div class='ctx'>   bignum.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Fri Jun 10 00:48:55 JST 1994</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "ruby/thread.h"</div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-#include "id.h"</div><div class='add'>+#include "ruby.h"</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_STRINGS_H</div><div class='del'>-#include &lt;strings.h&gt;</div><div class='del'>-#endif</div><div class='ctx'> #include &lt;math.h&gt;</div><div class='del'>-#include &lt;float.h&gt;</div><div class='ctx'> #include &lt;ctype.h&gt;</div><div class='ctx'> #ifdef HAVE_IEEEFP_H</div><div class='ctx'> #include &lt;ieeefp.h&gt;</div><div class='ctx'> #endif</div><div class='del'>-#include "ruby_assert.h"</div><div class='del'>-</div><div class='del'>-#if defined(HAVE_LIBGMP) &amp;&amp; defined(HAVE_GMP_H)</div><div class='del'>-#define USE_GMP</div><div class='del'>-#include &lt;gmp.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define RB_BIGNUM_TYPE_P(x) RB_TYPE_P((x), T_BIGNUM)</div><div class='ctx'> </div><div class='del'>-#ifndef RUBY_INTEGER_UNIFICATION</div><div class='ctx'> VALUE rb_cBignum;</div><div class='del'>-#endif</div><div class='del'>-const char ruby_digitmap[] = "0123456789abcdefghijklmnopqrstuvwxyz";</div><div class='del'>-</div><div class='del'>-#ifndef SIZEOF_BDIGIT_DBL</div><div class='del'>-# if SIZEOF_INT*2 &lt;= SIZEOF_LONG_LONG</div><div class='del'>-#  define SIZEOF_BDIGIT_DBL SIZEOF_LONG_LONG</div><div class='del'>-# else</div><div class='del'>-#  define SIZEOF_BDIGIT_DBL SIZEOF_LONG</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='del'>-STATIC_ASSERT(sizeof_bdigit_dbl, sizeof(BDIGIT_DBL) == SIZEOF_BDIGIT_DBL);</div><div class='del'>-STATIC_ASSERT(sizeof_bdigit_dbl_signed, sizeof(BDIGIT_DBL_SIGNED) == SIZEOF_BDIGIT_DBL);</div><div class='del'>-STATIC_ASSERT(sizeof_bdigit, SIZEOF_BDIGIT &lt;= sizeof(BDIGIT));</div><div class='del'>-STATIC_ASSERT(sizeof_bdigit_and_dbl, SIZEOF_BDIGIT*2 &lt;= SIZEOF_BDIGIT_DBL);</div><div class='del'>-STATIC_ASSERT(bdigit_signedness, 0 &lt; (BDIGIT)-1);</div><div class='del'>-STATIC_ASSERT(bdigit_dbl_signedness, 0 &lt; (BDIGIT_DBL)-1);</div><div class='del'>-STATIC_ASSERT(bdigit_dbl_signed_signedness, 0 &gt; (BDIGIT_DBL_SIGNED)-1);</div><div class='del'>-STATIC_ASSERT(rbignum_embed_len_max, BIGNUM_EMBED_LEN_MAX &lt;= (BIGNUM_EMBED_LEN_MASK &gt;&gt; BIGNUM_EMBED_LEN_SHIFT));</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-STATIC_ASSERT(sizeof_long_and_sizeof_bdigit, SIZEOF_LONG % SIZEOF_BDIGIT == 0);</div><div class='del'>-#else</div><div class='del'>-STATIC_ASSERT(sizeof_long_and_sizeof_bdigit, SIZEOF_BDIGIT % SIZEOF_LONG == 0);</div><div class='add'>+#if defined __MINGW32__</div><div class='add'>+#define USHORT _USHORT</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifdef WORDS_BIGENDIAN</div><div class='del'>-#   define HOST_BIGENDIAN_P 1</div><div class='del'>-#else</div><div class='del'>-#   define HOST_BIGENDIAN_P 0</div><div class='del'>-#endif</div><div class='del'>-/* (!LSHIFTABLE(d, n) ? 0 : (n)) is same as n but suppress a warning, C4293, by Visual Studio.  */</div><div class='del'>-#define LSHIFTABLE(d, n) ((n) &lt; sizeof(d) * CHAR_BIT)</div><div class='del'>-#define LSHIFTX(d, n) (!LSHIFTABLE(d, n) ? 0 : ((d) &lt;&lt; (!LSHIFTABLE(d, n) ? 0 : (n))))</div><div class='del'>-#define CLEAR_LOWBITS(d, numbits) ((d) &amp; LSHIFTX(~((d)*0), (numbits)))</div><div class='del'>-#define FILL_LOWBITS(d, numbits) ((d) | (LSHIFTX(((d)*0+1), (numbits))-1))</div><div class='del'>-#define POW2_P(x) (((x)&amp;((x)-1))==0)</div><div class='del'>-</div><div class='del'>-#define BDIGITS(x) (BIGNUM_DIGITS(x))</div><div class='del'>-#define BITSPERDIG (SIZEOF_BDIGIT*CHAR_BIT)</div><div class='add'>+#define BDIGITS(x) ((BDIGIT*)RBIGNUM(x)-&gt;digits)</div><div class='add'>+#define BITSPERDIG (SIZEOF_BDIGITS*CHAR_BIT)</div><div class='ctx'> #define BIGRAD ((BDIGIT_DBL)1 &lt;&lt; BITSPERDIG)</div><div class='del'>-#define BIGRAD_HALF ((BDIGIT)(BIGRAD &gt;&gt; 1))</div><div class='del'>-#define BDIGIT_MSB(d) (((d) &amp; BIGRAD_HALF) != 0)</div><div class='del'>-#define BIGUP(x) LSHIFTX(((x) + (BDIGIT_DBL)0), BITSPERDIG)</div><div class='del'>-#define BIGDN(x) RSHIFT((x),BITSPERDIG)</div><div class='del'>-#define BIGLO(x) ((BDIGIT)((x) &amp; BDIGMAX))</div><div class='del'>-#define BDIGMAX ((BDIGIT)(BIGRAD-1))</div><div class='del'>-#define BDIGIT_DBL_MAX (~(BDIGIT_DBL)0)</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT == 2</div><div class='del'>-#   define swap_bdigit(x) swap16(x)</div><div class='del'>-#elif SIZEOF_BDIGIT == 4</div><div class='del'>-#   define swap_bdigit(x) swap32(x)</div><div class='del'>-#elif SIZEOF_BDIGIT == 8</div><div class='del'>-#   define swap_bdigit(x) swap64(x)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define BIGZEROP(x) (BIGNUM_LEN(x) == 0 || \</div><div class='del'>-		     (BDIGITS(x)[0] == 0 &amp;&amp; \</div><div class='del'>-		      (BIGNUM_LEN(x) == 1 || bigzero_p(x))))</div><div class='del'>-#define BIGSIZE(x) (BIGNUM_LEN(x) == 0 ? (size_t)0 : \</div><div class='del'>-    BDIGITS(x)[BIGNUM_LEN(x)-1] ? \</div><div class='del'>-        (size_t)(BIGNUM_LEN(x)*SIZEOF_BDIGIT - nlz(BDIGITS(x)[BIGNUM_LEN(x)-1])/CHAR_BIT) : \</div><div class='del'>-    rb_absint_size(x, NULL))</div><div class='del'>-</div><div class='del'>-#define BIGDIVREM_EXTRA_WORDS 1</div><div class='del'>-#define bdigit_roomof(n) roomof(n, SIZEOF_BDIGIT)</div><div class='del'>-#define BARY_ARGS(ary) ary, numberof(ary)</div><div class='del'>-</div><div class='del'>-#define BARY_ADD(z, x, y) bary_add(BARY_ARGS(z), BARY_ARGS(x), BARY_ARGS(y))</div><div class='del'>-#define BARY_SUB(z, x, y) bary_sub(BARY_ARGS(z), BARY_ARGS(x), BARY_ARGS(y))</div><div class='del'>-#define BARY_SHORT_MUL(z, x, y) bary_short_mul(BARY_ARGS(z), BARY_ARGS(x), BARY_ARGS(y))</div><div class='del'>-#define BARY_DIVMOD(q, r, x, y) bary_divmod(BARY_ARGS(q), BARY_ARGS(r), BARY_ARGS(x), BARY_ARGS(y))</div><div class='del'>-#define BARY_ZERO_P(x) bary_zero_p(BARY_ARGS(x))</div><div class='del'>-</div><div class='del'>-#define BIGNUM_SET_NEGATIVE_SIGN(b) BIGNUM_SET_SIGN(b, 0)</div><div class='del'>-#define BIGNUM_SET_POSITIVE_SIGN(b) BIGNUM_SET_SIGN(b, 1)</div><div class='del'>-</div><div class='del'>-#define bignew(len,sign) bignew_1(rb_cInteger,(len),(sign))</div><div class='del'>-</div><div class='del'>-#define BDIGITS_ZERO(ptr, n) do { \</div><div class='del'>-  BDIGIT *bdigitz_zero_ptr = (ptr); \</div><div class='del'>-  size_t bdigitz_zero_n = (n); \</div><div class='del'>-  while (bdigitz_zero_n) { \</div><div class='del'>-    *bdigitz_zero_ptr++ = 0; \</div><div class='del'>-    bdigitz_zero_n--; \</div><div class='del'>-  } \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define BARY_TRUNC(ds, n) do { \</div><div class='del'>-        while (0 &lt; (n) &amp;&amp; (ds)[(n)-1] == 0) \</div><div class='del'>-            (n)--; \</div><div class='del'>-    } while (0)</div><div class='del'>-</div><div class='del'>-#define KARATSUBA_BALANCED(xn, yn) ((yn)/2 &lt; (xn))</div><div class='del'>-#define TOOM3_BALANCED(xn, yn) (((yn)+2)/3 * 2 &lt; (xn))</div><div class='del'>-</div><div class='del'>-#define GMP_MUL_DIGITS 20</div><div class='del'>-#define KARATSUBA_MUL_DIGITS 70</div><div class='del'>-#define TOOM3_MUL_DIGITS 150</div><div class='del'>-</div><div class='del'>-#define GMP_DIV_DIGITS 20</div><div class='del'>-#define GMP_BIG2STR_DIGITS 20</div><div class='del'>-#define GMP_STR2BIG_DIGITS 20</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-# define NAIVE_MUL_DIGITS GMP_MUL_DIGITS</div><div class='del'>-#else</div><div class='del'>-# define NAIVE_MUL_DIGITS KARATSUBA_MUL_DIGITS</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-typedef void (mulfunc_t)(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn);</div><div class='del'>-</div><div class='del'>-static mulfunc_t bary_mul_toom3_start;</div><div class='del'>-static mulfunc_t bary_mul_karatsuba_start;</div><div class='del'>-static BDIGIT bigdivrem_single(BDIGIT *qds, const BDIGIT *xds, size_t xn, BDIGIT y);</div><div class='del'>-static void bary_divmod(BDIGIT *qds, size_t qn, BDIGIT *rds, size_t rn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn);</div><div class='del'>-</div><div class='del'>-static VALUE bigmul0(VALUE x, VALUE y);</div><div class='del'>-static void bary_mul_toom3(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn);</div><div class='del'>-static VALUE bignew_1(VALUE klass, size_t len, int sign);</div><div class='del'>-static inline VALUE bigtrunc(VALUE x);</div><div class='del'>-</div><div class='del'>-static VALUE bigsq(VALUE x);</div><div class='del'>-static void bigdivmod(VALUE x, VALUE y, volatile VALUE *divp, volatile VALUE *modp);</div><div class='del'>-static inline VALUE power_cache_get_power(int base, int power_level, size_t *numdigits_ret);</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT &lt;= SIZEOF_INT</div><div class='del'>-static int nlz(BDIGIT x) { return nlz_int((unsigned int)x) - (SIZEOF_INT-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='del'>-#elif SIZEOF_BDIGIT &lt;= SIZEOF_LONG</div><div class='del'>-static int nlz(BDIGIT x) { return nlz_long((unsigned long)x) - (SIZEOF_LONG-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='del'>-#elif SIZEOF_BDIGIT &lt;= SIZEOF_LONG_LONG</div><div class='del'>-static int nlz(BDIGIT x) { return nlz_long_long((unsigned LONG_LONG)x) - (SIZEOF_LONG_LONG-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='del'>-#elif SIZEOF_BDIGIT &lt;= SIZEOF_INT128_T</div><div class='del'>-static int nlz(BDIGIT x) { return nlz_int128((uint128_t)x) - (SIZEOF_INT128_T-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define U16(a) ((uint16_t)(a))</div><div class='del'>-#define U32(a) ((uint32_t)(a))</div><div class='del'>-#ifdef HAVE_UINT64_T</div><div class='del'>-#define U64(a,b) (((uint64_t)(a) &lt;&lt; 32) | (b))</div><div class='del'>-#endif</div><div class='del'>-#ifdef HAVE_UINT128_T</div><div class='del'>-#define U128(a,b,c,d) (((uint128_t)U64(a,b) &lt;&lt; 64) | U64(c,d))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/* The following script, maxpow.rb, generates the tables follows.</div><div class='del'>-</div><div class='del'>-def big(n, bits)</div><div class='del'>-  ns = []</div><div class='del'>-  ((bits+31)/32).times {</div><div class='del'>-    ns &lt;&lt; sprintf("0x%08x", n &amp; 0xffff_ffff)</div><div class='del'>-    n &gt;&gt;= 32</div><div class='del'>-  }</div><div class='del'>-  "U#{bits}(" + ns.reverse.join(",") + ")"</div><div class='del'>-end</div><div class='del'>-def values(ary, width, indent)</div><div class='del'>-  lines = [""]</div><div class='del'>-  ary.each {|e|</div><div class='del'>-    lines &lt;&lt; "" if !ary.last.empty? &amp;&amp; width &lt; (lines.last + e + ", ").length</div><div class='del'>-    lines.last &lt;&lt; e + ", "</div><div class='del'>-  }</div><div class='del'>-  lines.map {|line| " " * indent + line.chomp(" ") + "\n" }.join</div><div class='del'>-end</div><div class='del'>-[16,32,64,128].each {|bits|</div><div class='del'>-  max = 2**bits-1</div><div class='del'>-  exps = []</div><div class='del'>-  nums = []</div><div class='del'>-  2.upto(36) {|base|</div><div class='del'>-    exp = 0</div><div class='del'>-    n = 1</div><div class='del'>-    while n * base &lt;= max</div><div class='del'>-      exp += 1</div><div class='del'>-      n *= base</div><div class='del'>-    end</div><div class='del'>-    exps &lt;&lt; exp.to_s</div><div class='del'>-    nums &lt;&lt; big(n, bits)</div><div class='del'>-  }</div><div class='del'>-  puts "#ifdef HAVE_UINT#{bits}_T"</div><div class='del'>-  puts "static const int maxpow#{bits}_exp[35] = {"</div><div class='del'>-  print values(exps, 70, 4)</div><div class='del'>-  puts "};"</div><div class='del'>-  puts "static const uint#{bits}_t maxpow#{bits}_num[35] = {"</div><div class='del'>-  print values(nums, 70, 4)</div><div class='del'>-  puts "};"</div><div class='del'>-  puts "#endif"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT_DBL == 2</div><div class='del'>-static const int maxpow16_exp[35] = {</div><div class='del'>-    15, 10, 7, 6, 6, 5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3,</div><div class='del'>-    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,</div><div class='del'>-};</div><div class='del'>-static const uint16_t maxpow16_num[35] = {</div><div class='del'>-    U16(0x00008000), U16(0x0000e6a9), U16(0x00004000), U16(0x00003d09),</div><div class='del'>-    U16(0x0000b640), U16(0x000041a7), U16(0x00008000), U16(0x0000e6a9),</div><div class='del'>-    U16(0x00002710), U16(0x00003931), U16(0x00005100), U16(0x00006f91),</div><div class='del'>-    U16(0x00009610), U16(0x0000c5c1), U16(0x00001000), U16(0x00001331),</div><div class='del'>-    U16(0x000016c8), U16(0x00001acb), U16(0x00001f40), U16(0x0000242d),</div><div class='del'>-    U16(0x00002998), U16(0x00002f87), U16(0x00003600), U16(0x00003d09),</div><div class='del'>-    U16(0x000044a8), U16(0x00004ce3), U16(0x000055c0), U16(0x00005f45),</div><div class='del'>-    U16(0x00006978), U16(0x0000745f), U16(0x00008000), U16(0x00008c61),</div><div class='del'>-    U16(0x00009988), U16(0x0000a77b), U16(0x0000b640),</div><div class='del'>-};</div><div class='del'>-#elif SIZEOF_BDIGIT_DBL == 4</div><div class='del'>-static const int maxpow32_exp[35] = {</div><div class='del'>-    31, 20, 15, 13, 12, 11, 10, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7,</div><div class='del'>-    7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,</div><div class='del'>-};</div><div class='del'>-static const uint32_t maxpow32_num[35] = {</div><div class='del'>-    U32(0x80000000), U32(0xcfd41b91), U32(0x40000000), U32(0x48c27395),</div><div class='del'>-    U32(0x81bf1000), U32(0x75db9c97), U32(0x40000000), U32(0xcfd41b91),</div><div class='del'>-    U32(0x3b9aca00), U32(0x8c8b6d2b), U32(0x19a10000), U32(0x309f1021),</div><div class='del'>-    U32(0x57f6c100), U32(0x98c29b81), U32(0x10000000), U32(0x18754571),</div><div class='del'>-    U32(0x247dbc80), U32(0x3547667b), U32(0x4c4b4000), U32(0x6b5a6e1d),</div><div class='del'>-    U32(0x94ace180), U32(0xcaf18367), U32(0x0b640000), U32(0x0e8d4a51),</div><div class='del'>-    U32(0x1269ae40), U32(0x17179149), U32(0x1cb91000), U32(0x23744899),</div><div class='del'>-    U32(0x2b73a840), U32(0x34e63b41), U32(0x40000000), U32(0x4cfa3cc1),</div><div class='del'>-    U32(0x5c13d840), U32(0x6d91b519), U32(0x81bf1000),</div><div class='del'>-};</div><div class='del'>-#elif SIZEOF_BDIGIT_DBL == 8 &amp;&amp; defined HAVE_UINT64_T</div><div class='del'>-static const int maxpow64_exp[35] = {</div><div class='del'>-    63, 40, 31, 27, 24, 22, 21, 20, 19, 18, 17, 17, 16, 16, 15, 15, 15,</div><div class='del'>-    15, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12,</div><div class='del'>-    12,</div><div class='del'>-};</div><div class='del'>-static const uint64_t maxpow64_num[35] = {</div><div class='del'>-    U64(0x80000000,0x00000000), U64(0xa8b8b452,0x291fe821),</div><div class='del'>-    U64(0x40000000,0x00000000), U64(0x6765c793,0xfa10079d),</div><div class='del'>-    U64(0x41c21cb8,0xe1000000), U64(0x36427987,0x50226111),</div><div class='del'>-    U64(0x80000000,0x00000000), U64(0xa8b8b452,0x291fe821),</div><div class='del'>-    U64(0x8ac72304,0x89e80000), U64(0x4d28cb56,0xc33fa539),</div><div class='del'>-    U64(0x1eca170c,0x00000000), U64(0x780c7372,0x621bd74d),</div><div class='del'>-    U64(0x1e39a505,0x7d810000), U64(0x5b27ac99,0x3df97701),</div><div class='del'>-    U64(0x10000000,0x00000000), U64(0x27b95e99,0x7e21d9f1),</div><div class='del'>-    U64(0x5da0e1e5,0x3c5c8000), U64(0xd2ae3299,0xc1c4aedb),</div><div class='del'>-    U64(0x16bcc41e,0x90000000), U64(0x2d04b7fd,0xd9c0ef49),</div><div class='del'>-    U64(0x5658597b,0xcaa24000), U64(0xa0e20737,0x37609371),</div><div class='del'>-    U64(0x0c29e980,0x00000000), U64(0x14adf4b7,0x320334b9),</div><div class='del'>-    U64(0x226ed364,0x78bfa000), U64(0x383d9170,0xb85ff80b),</div><div class='del'>-    U64(0x5a3c23e3,0x9c000000), U64(0x8e651373,0x88122bcd),</div><div class='del'>-    U64(0xdd41bb36,0xd259e000), U64(0x0aee5720,0xee830681),</div><div class='del'>-    U64(0x10000000,0x00000000), U64(0x172588ad,0x4f5f0981),</div><div class='del'>-    U64(0x211e44f7,0xd02c1000), U64(0x2ee56725,0xf06e5c71),</div><div class='del'>-    U64(0x41c21cb8,0xe1000000),</div><div class='del'>-};</div><div class='del'>-#elif SIZEOF_BDIGIT_DBL == 16 &amp;&amp; defined HAVE_UINT128_T</div><div class='del'>-static const int maxpow128_exp[35] = {</div><div class='del'>-    127, 80, 63, 55, 49, 45, 42, 40, 38, 37, 35, 34, 33, 32, 31, 31, 30,</div><div class='del'>-    30, 29, 29, 28, 28, 27, 27, 27, 26, 26, 26, 26, 25, 25, 25, 25, 24,</div><div class='del'>-    24,</div><div class='del'>-};</div><div class='del'>-static const uint128_t maxpow128_num[35] = {</div><div class='del'>-    U128(0x80000000,0x00000000,0x00000000,0x00000000),</div><div class='del'>-    U128(0x6f32f1ef,0x8b18a2bc,0x3cea5978,0x9c79d441),</div><div class='del'>-    U128(0x40000000,0x00000000,0x00000000,0x00000000),</div><div class='del'>-    U128(0xd0cf4b50,0xcfe20765,0xfff4b4e3,0xf741cf6d),</div><div class='del'>-    U128(0x6558e2a0,0x921fe069,0x42860000,0x00000000),</div><div class='del'>-    U128(0x5080c7b7,0xd0e31ba7,0x5911a67d,0xdd3d35e7),</div><div class='del'>-    U128(0x40000000,0x00000000,0x00000000,0x00000000),</div><div class='del'>-    U128(0x6f32f1ef,0x8b18a2bc,0x3cea5978,0x9c79d441),</div><div class='del'>-    U128(0x4b3b4ca8,0x5a86c47a,0x098a2240,0x00000000),</div><div class='del'>-    U128(0xffd1390a,0x0adc2fb8,0xdabbb817,0x4d95c99b),</div><div class='del'>-    U128(0x2c6fdb36,0x4c25e6c0,0x00000000,0x00000000),</div><div class='del'>-    U128(0x384bacd6,0x42c343b4,0xe90c4272,0x13506d29),</div><div class='del'>-    U128(0x31f5db32,0xa34aced6,0x0bf13a0e,0x00000000),</div><div class='del'>-    U128(0x20753ada,0xfd1e839f,0x53686d01,0x3143ee01),</div><div class='del'>-    U128(0x10000000,0x00000000,0x00000000,0x00000000),</div><div class='del'>-    U128(0x68ca11d6,0xb4f6d1d1,0xfaa82667,0x8073c2f1),</div><div class='del'>-    U128(0x223e493b,0xb3bb69ff,0xa4b87d6c,0x40000000),</div><div class='del'>-    U128(0xad62418d,0x14ea8247,0x01c4b488,0x6cc66f59),</div><div class='del'>-    U128(0x2863c1f5,0xcdae42f9,0x54000000,0x00000000),</div><div class='del'>-    U128(0xa63fd833,0xb9386b07,0x36039e82,0xbe651b25),</div><div class='del'>-    U128(0x1d1f7a9c,0xd087a14d,0x28cdf3d5,0x10000000),</div><div class='del'>-    U128(0x651b5095,0xc2ea8fc1,0xb30e2c57,0x77aaf7e1),</div><div class='del'>-    U128(0x0ddef20e,0xff760000,0x00000000,0x00000000),</div><div class='del'>-    U128(0x29c30f10,0x29939b14,0x6664242d,0x97d9f649),</div><div class='del'>-    U128(0x786a435a,0xe9558b0e,0x6aaf6d63,0xa8000000),</div><div class='del'>-    U128(0x0c5afe6f,0xf302bcbf,0x94fd9829,0xd87f5079),</div><div class='del'>-    U128(0x1fce575c,0xe1692706,0x07100000,0x00000000),</div><div class='del'>-    U128(0x4f34497c,0x8597e144,0x36e91802,0x00528229),</div><div class='del'>-    U128(0xbf3a8e1d,0x41ef2170,0x7802130d,0x84000000),</div><div class='del'>-    U128(0x0e7819e1,0x7f1eb0fb,0x6ee4fb89,0x01d9531f),</div><div class='del'>-    U128(0x20000000,0x00000000,0x00000000,0x00000000),</div><div class='del'>-    U128(0x4510460d,0xd9e879c0,0x14a82375,0x2f22b321),</div><div class='del'>-    U128(0x91abce3c,0x4b4117ad,0xe76d35db,0x22000000),</div><div class='del'>-    U128(0x08973ea3,0x55d75bc2,0x2e42c391,0x727d69e1),</div><div class='del'>-    U128(0x10e425c5,0x6daffabc,0x35c10000,0x00000000),</div><div class='del'>-};</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static BDIGIT_DBL</div><div class='del'>-maxpow_in_bdigit_dbl(int base, int *exp_ret)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL maxpow;</div><div class='del'>-    int exponent;</div><div class='del'>-</div><div class='del'>-    assert(2 &lt;= base &amp;&amp; base &lt;= 36);</div><div class='del'>-</div><div class='del'>-    {</div><div class='del'>-#if SIZEOF_BDIGIT_DBL == 2</div><div class='del'>-        maxpow = maxpow16_num[base-2];</div><div class='del'>-        exponent = maxpow16_exp[base-2];</div><div class='del'>-#elif SIZEOF_BDIGIT_DBL == 4</div><div class='del'>-        maxpow = maxpow32_num[base-2];</div><div class='del'>-        exponent = maxpow32_exp[base-2];</div><div class='del'>-#elif SIZEOF_BDIGIT_DBL == 8 &amp;&amp; defined HAVE_UINT64_T</div><div class='del'>-        maxpow = maxpow64_num[base-2];</div><div class='del'>-        exponent = maxpow64_exp[base-2];</div><div class='del'>-#elif SIZEOF_BDIGIT_DBL == 16 &amp;&amp; defined HAVE_UINT128_T</div><div class='del'>-        maxpow = maxpow128_num[base-2];</div><div class='del'>-        exponent = maxpow128_exp[base-2];</div><div class='del'>-#else</div><div class='del'>-        maxpow = base;</div><div class='del'>-        exponent = 1;</div><div class='del'>-        while (maxpow &lt;= BDIGIT_DBL_MAX / base) {</div><div class='del'>-            maxpow *= base;</div><div class='del'>-            exponent++;</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *exp_ret = exponent;</div><div class='del'>-    return maxpow;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline BDIGIT_DBL</div><div class='del'>-bary2bdigitdbl(const BDIGIT *ds, size_t n)</div><div class='del'>-{</div><div class='del'>-    assert(n &lt;= 2);</div><div class='del'>-</div><div class='del'>-    if (n == 2)</div><div class='del'>-        return ds[0] | BIGUP(ds[1]);</div><div class='del'>-    if (n == 1)</div><div class='del'>-        return ds[0];</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-bdigitdbl2bary(BDIGIT *ds, size_t n, BDIGIT_DBL num)</div><div class='del'>-{</div><div class='del'>-    assert(n == 2);</div><div class='del'>-</div><div class='del'>-    ds[0] = BIGLO(num);</div><div class='del'>-    ds[1] = (BDIGIT)BIGDN(num);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_cmp(const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-    BARY_TRUNC(yds, yn);</div><div class='del'>-</div><div class='del'>-    if (xn &lt; yn)</div><div class='del'>-        return -1;</div><div class='del'>-    if (xn &gt; yn)</div><div class='del'>-        return 1;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; xn; i++)</div><div class='del'>-        if (xds[xn - i - 1] != yds[yn - i - 1])</div><div class='del'>-            break;</div><div class='del'>-    if (i == xn)</div><div class='del'>-        return 0;</div><div class='del'>-    return xds[xn - i - 1] &lt; yds[yn - i - 1] ? -1 : 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static BDIGIT</div><div class='del'>-bary_small_lshift(BDIGIT *zds, const BDIGIT *xds, size_t n, int shift)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    BDIGIT_DBL num = 0;</div><div class='del'>-    assert(0 &lt;= shift &amp;&amp; shift &lt; BITSPERDIG);</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;n; i++) {</div><div class='del'>-	num = num | (BDIGIT_DBL)*xds++ &lt;&lt; shift;</div><div class='del'>-	*zds++ = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-    return BIGLO(num);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_small_rshift(BDIGIT *zds, const BDIGIT *xds, size_t n, int shift, BDIGIT higher_bdigit)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    BDIGIT_DBL num = 0;</div><div class='del'>-</div><div class='del'>-    assert(0 &lt;= shift &amp;&amp; shift &lt; BITSPERDIG);</div><div class='del'>-</div><div class='del'>-    num = BIGUP(higher_bdigit);</div><div class='del'>-    for (i = 0; i &lt; n; i++) {</div><div class='del'>-        BDIGIT x = xds[n - i - 1];</div><div class='del'>-	num = (num | x) &gt;&gt; shift;</div><div class='del'>-        zds[n - i - 1] = BIGLO(num);</div><div class='del'>-	num = BIGUP(x);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_zero_p(const BDIGIT *xds, size_t xn)</div><div class='del'>-{</div><div class='del'>-    if (xn == 0)</div><div class='del'>-        return 1;</div><div class='del'>-    do {</div><div class='del'>-	if (xds[--xn]) return 0;</div><div class='del'>-    } while (xn);</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_neg(BDIGIT *ds, size_t n)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    for (i = 0; i &lt; n; i++)</div><div class='del'>-        ds[n - i - 1] = BIGLO(~ds[n - i - 1]);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_2comp(BDIGIT *ds, size_t n)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    i = 0;</div><div class='del'>-    for (i = 0; i &lt; n; i++) {</div><div class='del'>-        if (ds[i] != 0) {</div><div class='del'>-            goto non_zero;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-</div><div class='del'>-  non_zero:</div><div class='del'>-    ds[i] = BIGLO(~ds[i] + 1);</div><div class='del'>-    i++;</div><div class='del'>-    for (; i &lt; n; i++) {</div><div class='del'>-        ds[i] = BIGLO(~ds[i]);</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_swap(BDIGIT *ds, size_t num_bdigits)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *p1 = ds;</div><div class='del'>-    BDIGIT *p2 = ds + num_bdigits - 1;</div><div class='del'>-    for (; p1 &lt; p2; p1++, p2--) {</div><div class='del'>-        BDIGIT tmp = *p1;</div><div class='del'>-        *p1 = *p2;</div><div class='del'>-        *p2 = tmp;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define INTEGER_PACK_WORDORDER_MASK \</div><div class='del'>-    (INTEGER_PACK_MSWORD_FIRST | \</div><div class='del'>-     INTEGER_PACK_LSWORD_FIRST)</div><div class='del'>-#define INTEGER_PACK_BYTEORDER_MASK \</div><div class='del'>-    (INTEGER_PACK_MSBYTE_FIRST | \</div><div class='del'>-     INTEGER_PACK_LSBYTE_FIRST | \</div><div class='del'>-     INTEGER_PACK_NATIVE_BYTE_ORDER)</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-validate_integer_pack_format(size_t numwords, size_t wordsize, size_t nails, int flags, int supported_flags)</div><div class='del'>-{</div><div class='del'>-    int wordorder_bits = flags &amp; INTEGER_PACK_WORDORDER_MASK;</div><div class='del'>-    int byteorder_bits = flags &amp; INTEGER_PACK_BYTEORDER_MASK;</div><div class='del'>-</div><div class='del'>-    if (flags &amp; ~supported_flags) {</div><div class='del'>-        rb_raise(rb_eArgError, "unsupported flags specified");</div><div class='del'>-    }</div><div class='del'>-    if (wordorder_bits == 0) {</div><div class='del'>-        if (1 &lt; numwords)</div><div class='del'>-            rb_raise(rb_eArgError, "word order not specified");</div><div class='del'>-    }</div><div class='del'>-    else if (wordorder_bits != INTEGER_PACK_MSWORD_FIRST &amp;&amp;</div><div class='del'>-        wordorder_bits != INTEGER_PACK_LSWORD_FIRST)</div><div class='del'>-        rb_raise(rb_eArgError, "unexpected word order");</div><div class='del'>-    if (byteorder_bits == 0) {</div><div class='del'>-        rb_raise(rb_eArgError, "byte order not specified");</div><div class='del'>-    }</div><div class='del'>-    else if (byteorder_bits != INTEGER_PACK_MSBYTE_FIRST &amp;&amp;</div><div class='del'>-        byteorder_bits != INTEGER_PACK_LSBYTE_FIRST &amp;&amp;</div><div class='del'>-        byteorder_bits != INTEGER_PACK_NATIVE_BYTE_ORDER)</div><div class='del'>-        rb_raise(rb_eArgError, "unexpected byte order");</div><div class='del'>-    if (wordsize == 0)</div><div class='del'>-        rb_raise(rb_eArgError, "invalid wordsize: %"PRI_SIZE_PREFIX"u", wordsize);</div><div class='del'>-    if (SSIZE_MAX &lt; wordsize)</div><div class='del'>-        rb_raise(rb_eArgError, "too big wordsize: %"PRI_SIZE_PREFIX"u", wordsize);</div><div class='del'>-    if (wordsize &lt;= nails / CHAR_BIT)</div><div class='del'>-        rb_raise(rb_eArgError, "too big nails: %"PRI_SIZE_PREFIX"u", nails);</div><div class='del'>-    if (SIZE_MAX / wordsize &lt; numwords)</div><div class='del'>-        rb_raise(rb_eArgError, "too big numwords * wordsize: %"PRI_SIZE_PREFIX"u * %"PRI_SIZE_PREFIX"u", numwords, wordsize);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-integer_pack_loop_setup(</div><div class='del'>-    size_t numwords, size_t wordsize, size_t nails, int flags,</div><div class='del'>-    size_t *word_num_fullbytes_ret,</div><div class='del'>-    int *word_num_partialbits_ret,</div><div class='del'>-    size_t *word_start_ret,</div><div class='del'>-    ssize_t *word_step_ret,</div><div class='del'>-    size_t *word_last_ret,</div><div class='del'>-    size_t *byte_start_ret,</div><div class='del'>-    int *byte_step_ret)</div><div class='del'>-{</div><div class='del'>-    int wordorder_bits = flags &amp; INTEGER_PACK_WORDORDER_MASK;</div><div class='del'>-    int byteorder_bits = flags &amp; INTEGER_PACK_BYTEORDER_MASK;</div><div class='del'>-    size_t word_num_fullbytes;</div><div class='del'>-    int word_num_partialbits;</div><div class='del'>-    size_t word_start;</div><div class='del'>-    ssize_t word_step;</div><div class='del'>-    size_t word_last;</div><div class='del'>-    size_t byte_start;</div><div class='del'>-    int byte_step;</div><div class='del'>-</div><div class='del'>-    word_num_partialbits = CHAR_BIT - (int)(nails % CHAR_BIT);</div><div class='del'>-    if (word_num_partialbits == CHAR_BIT)</div><div class='del'>-        word_num_partialbits = 0;</div><div class='del'>-    word_num_fullbytes = wordsize - (nails / CHAR_BIT);</div><div class='del'>-    if (word_num_partialbits != 0) {</div><div class='del'>-        word_num_fullbytes--;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (wordorder_bits == INTEGER_PACK_MSWORD_FIRST) {</div><div class='del'>-        word_start = wordsize*(numwords-1);</div><div class='del'>-        word_step = -(ssize_t)wordsize;</div><div class='del'>-        word_last = 0;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        word_start = 0;</div><div class='del'>-        word_step = wordsize;</div><div class='del'>-        word_last = wordsize*(numwords-1);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (byteorder_bits == INTEGER_PACK_NATIVE_BYTE_ORDER) {</div><div class='del'>-#ifdef WORDS_BIGENDIAN</div><div class='del'>-        byteorder_bits = INTEGER_PACK_MSBYTE_FIRST;</div><div class='del'>-#else</div><div class='del'>-        byteorder_bits = INTEGER_PACK_LSBYTE_FIRST;</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    if (byteorder_bits == INTEGER_PACK_MSBYTE_FIRST) {</div><div class='del'>-        byte_start = wordsize-1;</div><div class='del'>-        byte_step = -1;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        byte_start = 0;</div><div class='del'>-        byte_step = 1;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *word_num_partialbits_ret = word_num_partialbits;</div><div class='del'>-    *word_num_fullbytes_ret = word_num_fullbytes;</div><div class='del'>-    *word_start_ret = word_start;</div><div class='del'>-    *word_step_ret = word_step;</div><div class='del'>-    *word_last_ret = word_last;</div><div class='del'>-    *byte_start_ret = byte_start;</div><div class='del'>-    *byte_step_ret = byte_step;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-integer_pack_fill_dd(BDIGIT **dpp, BDIGIT **dep, BDIGIT_DBL *ddp, int *numbits_in_dd_p)</div><div class='del'>-{</div><div class='del'>-    if (*dpp &lt; *dep &amp;&amp; BITSPERDIG &lt;= (int)sizeof(*ddp) * CHAR_BIT - *numbits_in_dd_p) {</div><div class='del'>-        *ddp |= (BDIGIT_DBL)(*(*dpp)++) &lt;&lt; *numbits_in_dd_p;</div><div class='del'>-        *numbits_in_dd_p += BITSPERDIG;</div><div class='del'>-    }</div><div class='del'>-    else if (*dpp == *dep) {</div><div class='del'>-        /* higher bits are infinity zeros */</div><div class='del'>-        *numbits_in_dd_p = (int)sizeof(*ddp) * CHAR_BIT;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline BDIGIT_DBL</div><div class='del'>-integer_pack_take_lowbits(int n, BDIGIT_DBL *ddp, int *numbits_in_dd_p)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL ret;</div><div class='del'>-    ret = (*ddp) &amp; (((BDIGIT_DBL)1 &lt;&lt; n) - 1);</div><div class='del'>-    *ddp &gt;&gt;= n;</div><div class='del'>-    *numbits_in_dd_p -= n;</div><div class='del'>-    return ret;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if !defined(WORDS_BIGENDIAN)</div><div class='del'>-static int</div><div class='del'>-bytes_2comp(unsigned char *buf, size_t len)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    for (i = 0; i &lt; len; i++) {</div><div class='del'>-        signed char c = buf[i];</div><div class='del'>-        signed int d = ~c;</div><div class='del'>-        unsigned int e = d &amp; 0xFF;</div><div class='del'>-        buf[i] = e;</div><div class='del'>-    }</div><div class='del'>-    for (i = 0; i &lt; len; i++) {</div><div class='del'>-        buf[i]++;</div><div class='del'>-        if (buf[i] != 0)</div><div class='del'>-            return 0;</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_pack(int sign, BDIGIT *ds, size_t num_bdigits, void *words, size_t numwords, size_t wordsize, size_t nails, int flags)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *dp, *de;</div><div class='del'>-    unsigned char *buf, *bufend;</div><div class='del'>-</div><div class='del'>-    dp = ds;</div><div class='del'>-    de = ds + num_bdigits;</div><div class='del'>-</div><div class='del'>-    validate_integer_pack_format(numwords, wordsize, nails, flags,</div><div class='del'>-            INTEGER_PACK_MSWORD_FIRST|</div><div class='del'>-            INTEGER_PACK_LSWORD_FIRST|</div><div class='del'>-            INTEGER_PACK_MSBYTE_FIRST|</div><div class='del'>-            INTEGER_PACK_LSBYTE_FIRST|</div><div class='del'>-            INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='del'>-            INTEGER_PACK_2COMP|</div><div class='del'>-            INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION);</div><div class='del'>-</div><div class='del'>-    while (dp &lt; de &amp;&amp; de[-1] == 0)</div><div class='del'>-        de--;</div><div class='del'>-    if (dp == de) {</div><div class='del'>-        sign = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!(flags &amp; INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION)) {</div><div class='del'>-        if (sign == 0) {</div><div class='del'>-            MEMZERO(words, unsigned char, numwords * wordsize);</div><div class='del'>-            return 0;</div><div class='del'>-        }</div><div class='del'>-        if (nails == 0 &amp;&amp; numwords == 1) {</div><div class='del'>-            int need_swap = wordsize != 1 &amp;&amp;</div><div class='del'>-                (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_NATIVE_BYTE_ORDER &amp;&amp;</div><div class='del'>-                ((flags &amp; INTEGER_PACK_MSBYTE_FIRST) ? !HOST_BIGENDIAN_P : HOST_BIGENDIAN_P);</div><div class='del'>-            if (0 &lt; sign || !(flags &amp; INTEGER_PACK_2COMP)) {</div><div class='del'>-                BDIGIT d;</div><div class='del'>-                if (wordsize == 1) {</div><div class='del'>-                    *((unsigned char *)words) = (unsigned char)(d = dp[0]);</div><div class='del'>-                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 8) != 0) ? 2 : 1) * sign;</div><div class='del'>-                }</div><div class='del'>-#if defined(HAVE_UINT16_T) &amp;&amp; 2 &lt;= SIZEOF_BDIGIT</div><div class='del'>-                if (wordsize == 2 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint16_t) == 0) {</div><div class='del'>-                    uint16_t u = (uint16_t)(d = dp[0]);</div><div class='del'>-                    if (need_swap) u = swap16(u);</div><div class='del'>-                    *((uint16_t *)words) = u;</div><div class='del'>-                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 16) != 0) ? 2 : 1) * sign;</div><div class='del'>-                }</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_UINT32_T) &amp;&amp; 4 &lt;= SIZEOF_BDIGIT</div><div class='del'>-                if (wordsize == 4 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint32_t) == 0) {</div><div class='del'>-                    uint32_t u = (uint32_t)(d = dp[0]);</div><div class='del'>-                    if (need_swap) u = swap32(u);</div><div class='del'>-                    *((uint32_t *)words) = u;</div><div class='del'>-                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 32) != 0) ? 2 : 1) * sign;</div><div class='del'>-                }</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_UINT64_T) &amp;&amp; 8 &lt;= SIZEOF_BDIGIT</div><div class='del'>-                if (wordsize == 8 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint64_t) == 0) {</div><div class='del'>-                    uint64_t u = (uint64_t)(d = dp[0]);</div><div class='del'>-                    if (need_swap) u = swap64(u);</div><div class='del'>-                    *((uint64_t *)words) = u;</div><div class='del'>-                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 64) != 0) ? 2 : 1) * sign;</div><div class='del'>-                }</div><div class='del'>-#endif</div><div class='del'>-            }</div><div class='del'>-            else { /* sign &lt; 0 &amp;&amp; (flags &amp; INTEGER_PACK_2COMP) */</div><div class='del'>-                BDIGIT_DBL_SIGNED d;</div><div class='del'>-                if (wordsize == 1) {</div><div class='del'>-                    *((unsigned char *)words) = (unsigned char)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='del'>-                    return (1 &lt; de - dp || FILL_LOWBITS(d, 8) != -1) ? -2 : -1;</div><div class='del'>-                }</div><div class='del'>-#if defined(HAVE_UINT16_T) &amp;&amp; 2 &lt;= SIZEOF_BDIGIT</div><div class='del'>-                if (wordsize == 2 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint16_t) == 0) {</div><div class='del'>-                    uint16_t u = (uint16_t)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='del'>-                    if (need_swap) u = swap16(u);</div><div class='del'>-                    *((uint16_t *)words) = u;</div><div class='del'>-                    return (wordsize == SIZEOF_BDIGIT &amp;&amp; de - dp == 2 &amp;&amp; dp[1] == 1 &amp;&amp; dp[0] == 0) ? -1 :</div><div class='del'>-                        (1 &lt; de - dp || FILL_LOWBITS(d, 16) != -1) ? -2 : -1;</div><div class='del'>-                }</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_UINT32_T) &amp;&amp; 4 &lt;= SIZEOF_BDIGIT</div><div class='del'>-                if (wordsize == 4 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint32_t) == 0) {</div><div class='del'>-                    uint32_t u = (uint32_t)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='del'>-                    if (need_swap) u = swap32(u);</div><div class='del'>-                    *((uint32_t *)words) = u;</div><div class='del'>-                    return (wordsize == SIZEOF_BDIGIT &amp;&amp; de - dp == 2 &amp;&amp; dp[1] == 1 &amp;&amp; dp[0] == 0) ? -1 :</div><div class='del'>-                        (1 &lt; de - dp || FILL_LOWBITS(d, 32) != -1) ? -2 : -1;</div><div class='del'>-                }</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_UINT64_T) &amp;&amp; 8 &lt;= SIZEOF_BDIGIT</div><div class='del'>-                if (wordsize == 8 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint64_t) == 0) {</div><div class='del'>-                    uint64_t u = (uint64_t)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='del'>-                    if (need_swap) u = swap64(u);</div><div class='del'>-                    *((uint64_t *)words) = u;</div><div class='del'>-                    return (wordsize == SIZEOF_BDIGIT &amp;&amp; de - dp == 2 &amp;&amp; dp[1] == 1 &amp;&amp; dp[0] == 0) ? -1 :</div><div class='del'>-                        (1 &lt; de - dp || FILL_LOWBITS(d, 64) != -1) ? -2 : -1;</div><div class='del'>-                }</div><div class='del'>-#endif</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-#if !defined(WORDS_BIGENDIAN)</div><div class='del'>-        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='del'>-            (flags &amp; INTEGER_PACK_WORDORDER_MASK) == INTEGER_PACK_LSWORD_FIRST &amp;&amp;</div><div class='del'>-            (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_MSBYTE_FIRST) {</div><div class='del'>-            size_t src_size = (de - dp) * SIZEOF_BDIGIT;</div><div class='del'>-            size_t dst_size = numwords * wordsize;</div><div class='del'>-            int overflow = 0;</div><div class='del'>-            while (0 &lt; src_size &amp;&amp; ((unsigned char *)ds)[src_size-1] == 0)</div><div class='del'>-                src_size--;</div><div class='del'>-            if (src_size &lt;= dst_size) {</div><div class='del'>-                MEMCPY(words, dp, char, src_size);</div><div class='del'>-                MEMZERO((char*)words + src_size, char, dst_size - src_size);</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                MEMCPY(words, dp, char, dst_size);</div><div class='del'>-                overflow = 1;</div><div class='del'>-            }</div><div class='del'>-            if (sign &lt; 0 &amp;&amp; (flags &amp; INTEGER_PACK_2COMP)) {</div><div class='del'>-                int zero_p = bytes_2comp(words, dst_size);</div><div class='del'>-                if (zero_p &amp;&amp; overflow) {</div><div class='del'>-                    unsigned char *p = (unsigned char *)dp;</div><div class='del'>-                    if (dst_size == src_size-1 &amp;&amp;</div><div class='del'>-                        p[dst_size] == 1) {</div><div class='del'>-                        overflow = 0;</div><div class='del'>-                    }</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            if (overflow)</div><div class='del'>-                sign *= 2;</div><div class='del'>-            return sign;</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='del'>-            wordsize % SIZEOF_BDIGIT == 0 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(BDIGIT) == 0) {</div><div class='del'>-            size_t bdigits_per_word = wordsize / SIZEOF_BDIGIT;</div><div class='del'>-            size_t src_num_bdigits = de - dp;</div><div class='del'>-            size_t dst_num_bdigits = numwords * bdigits_per_word;</div><div class='del'>-            int overflow = 0;</div><div class='del'>-            int mswordfirst_p = (flags &amp; INTEGER_PACK_MSWORD_FIRST) != 0;</div><div class='del'>-            int msbytefirst_p = (flags &amp; INTEGER_PACK_NATIVE_BYTE_ORDER) ? HOST_BIGENDIAN_P :</div><div class='del'>-                (flags &amp; INTEGER_PACK_MSBYTE_FIRST) != 0;</div><div class='del'>-            if (src_num_bdigits &lt;= dst_num_bdigits) {</div><div class='del'>-                MEMCPY(words, dp, BDIGIT, src_num_bdigits);</div><div class='del'>-                BDIGITS_ZERO((BDIGIT*)words + src_num_bdigits, dst_num_bdigits - src_num_bdigits);</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                MEMCPY(words, dp, BDIGIT, dst_num_bdigits);</div><div class='del'>-                overflow = 1;</div><div class='del'>-            }</div><div class='del'>-            if (sign &lt; 0 &amp;&amp; (flags &amp; INTEGER_PACK_2COMP)) {</div><div class='del'>-                int zero_p = bary_2comp(words, dst_num_bdigits);</div><div class='del'>-                if (zero_p &amp;&amp; overflow &amp;&amp;</div><div class='del'>-                    dst_num_bdigits == src_num_bdigits-1 &amp;&amp;</div><div class='del'>-                    dp[dst_num_bdigits] == 1)</div><div class='del'>-                    overflow = 0;</div><div class='del'>-            }</div><div class='del'>-            if (msbytefirst_p != HOST_BIGENDIAN_P) {</div><div class='del'>-                size_t i;</div><div class='del'>-                for (i = 0; i &lt; dst_num_bdigits; i++) {</div><div class='del'>-                    BDIGIT d = ((BDIGIT*)words)[i];</div><div class='del'>-                    ((BDIGIT*)words)[i] = swap_bdigit(d);</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            if (mswordfirst_p ? !msbytefirst_p : msbytefirst_p) {</div><div class='del'>-                size_t i;</div><div class='del'>-                BDIGIT *p = words;</div><div class='del'>-                for (i = 0; i &lt; numwords; i++) {</div><div class='del'>-                    bary_swap(p, bdigits_per_word);</div><div class='del'>-                    p += bdigits_per_word;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            if (mswordfirst_p) {</div><div class='del'>-                bary_swap(words, dst_num_bdigits);</div><div class='del'>-            }</div><div class='del'>-            if (overflow)</div><div class='del'>-                sign *= 2;</div><div class='del'>-            return sign;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    buf = words;</div><div class='del'>-    bufend = buf + numwords * wordsize;</div><div class='del'>-</div><div class='del'>-    if (buf == bufend) {</div><div class='del'>-        /* overflow if non-zero*/</div><div class='del'>-        if (!(flags &amp; INTEGER_PACK_2COMP) || 0 &lt;= sign)</div><div class='del'>-            sign *= 2;</div><div class='del'>-        else {</div><div class='del'>-            if (de - dp == 1 &amp;&amp; dp[0] == 1)</div><div class='del'>-                sign = -1; /* val == -1 == -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='del'>-            else</div><div class='del'>-                sign = -2; /* val &lt; -1 == -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (dp == de) {</div><div class='del'>-        memset(buf, '\0', bufend - buf);</div><div class='del'>-    }</div><div class='del'>-    else if (dp &lt; de &amp;&amp; buf &lt; bufend) {</div><div class='del'>-        int word_num_partialbits;</div><div class='del'>-        size_t word_num_fullbytes;</div><div class='del'>-</div><div class='del'>-        ssize_t word_step;</div><div class='del'>-        size_t byte_start;</div><div class='del'>-        int byte_step;</div><div class='del'>-</div><div class='del'>-        size_t word_start, word_last;</div><div class='del'>-        unsigned char *wordp, *last_wordp;</div><div class='del'>-        BDIGIT_DBL dd;</div><div class='del'>-        int numbits_in_dd;</div><div class='del'>-</div><div class='del'>-        integer_pack_loop_setup(numwords, wordsize, nails, flags,</div><div class='del'>-            &amp;word_num_fullbytes, &amp;word_num_partialbits,</div><div class='del'>-            &amp;word_start, &amp;word_step, &amp;word_last, &amp;byte_start, &amp;byte_step);</div><div class='del'>-</div><div class='del'>-        wordp = buf + word_start;</div><div class='del'>-        last_wordp = buf + word_last;</div><div class='del'>-</div><div class='del'>-        dd = 0;</div><div class='del'>-        numbits_in_dd = 0;</div><div class='del'>-</div><div class='del'>-#define FILL_DD \</div><div class='del'>-    integer_pack_fill_dd(&amp;dp, &amp;de, &amp;dd, &amp;numbits_in_dd)</div><div class='del'>-#define TAKE_LOWBITS(n) \</div><div class='del'>-    integer_pack_take_lowbits(n, &amp;dd, &amp;numbits_in_dd)</div><div class='del'>-</div><div class='del'>-        while (1) {</div><div class='del'>-            size_t index_in_word = 0;</div><div class='del'>-            unsigned char *bytep = wordp + byte_start;</div><div class='del'>-            while (index_in_word &lt; word_num_fullbytes) {</div><div class='del'>-                FILL_DD;</div><div class='del'>-                *bytep = TAKE_LOWBITS(CHAR_BIT);</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-            if (word_num_partialbits) {</div><div class='del'>-                FILL_DD;</div><div class='del'>-                *bytep = TAKE_LOWBITS(word_num_partialbits);</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-            while (index_in_word &lt; wordsize) {</div><div class='del'>-                *bytep = 0;</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-</div><div class='del'>-            if (wordp == last_wordp)</div><div class='del'>-                break;</div><div class='del'>-</div><div class='del'>-            wordp += word_step;</div><div class='del'>-        }</div><div class='del'>-        FILL_DD;</div><div class='del'>-        /* overflow tests */</div><div class='del'>-        if (dp != de || 1 &lt; dd) {</div><div class='del'>-            /* 2**(numwords*(wordsize*CHAR_BIT-nails)+1) &lt;= abs(val) */</div><div class='del'>-            sign *= 2;</div><div class='del'>-        }</div><div class='del'>-        else if (dd == 1) {</div><div class='del'>-            /* 2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= abs(val) &lt; 2**(numwords*(wordsize*CHAR_BIT-nails)+1) */</div><div class='del'>-            if (!(flags &amp; INTEGER_PACK_2COMP) || 0 &lt;= sign)</div><div class='del'>-                sign *= 2;</div><div class='del'>-            else { /* overflow_2comp &amp;&amp; sign == -1 */</div><div class='del'>-                /* test lower bits are all zero. */</div><div class='del'>-                dp = ds;</div><div class='del'>-                while (dp &lt; de &amp;&amp; *dp == 0)</div><div class='del'>-                    dp++;</div><div class='del'>-                if (de - dp == 1 &amp;&amp; /* only one non-zero word. */</div><div class='del'>-                    POW2_P(*dp)) /* *dp contains only one bit set. */</div><div class='del'>-                    sign = -1; /* val == -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='del'>-                else</div><div class='del'>-                    sign = -2; /* val &lt; -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if ((flags &amp; INTEGER_PACK_2COMP) &amp;&amp; (sign &lt; 0 &amp;&amp; numwords != 0)) {</div><div class='del'>-        int word_num_partialbits;</div><div class='del'>-        size_t word_num_fullbytes;</div><div class='del'>-</div><div class='del'>-        ssize_t word_step;</div><div class='del'>-        size_t byte_start;</div><div class='del'>-        int byte_step;</div><div class='del'>-</div><div class='del'>-        size_t word_start, word_last;</div><div class='del'>-        unsigned char *wordp, *last_wordp;</div><div class='del'>-</div><div class='del'>-        unsigned int partialbits_mask;</div><div class='del'>-        int carry;</div><div class='del'>-</div><div class='del'>-        integer_pack_loop_setup(numwords, wordsize, nails, flags,</div><div class='del'>-            &amp;word_num_fullbytes, &amp;word_num_partialbits,</div><div class='del'>-            &amp;word_start, &amp;word_step, &amp;word_last, &amp;byte_start, &amp;byte_step);</div><div class='del'>-</div><div class='del'>-        partialbits_mask = (1 &lt;&lt; word_num_partialbits) - 1;</div><div class='del'>-</div><div class='del'>-        buf = words;</div><div class='del'>-        wordp = buf + word_start;</div><div class='del'>-        last_wordp = buf + word_last;</div><div class='del'>-</div><div class='del'>-        carry = 1;</div><div class='del'>-        while (1) {</div><div class='del'>-            size_t index_in_word = 0;</div><div class='del'>-            unsigned char *bytep = wordp + byte_start;</div><div class='del'>-            while (index_in_word &lt; word_num_fullbytes) {</div><div class='del'>-                carry += (unsigned char)~*bytep;</div><div class='del'>-                *bytep = (unsigned char)carry;</div><div class='del'>-                carry &gt;&gt;= CHAR_BIT;</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-            if (word_num_partialbits) {</div><div class='del'>-                carry += (*bytep &amp; partialbits_mask) ^ partialbits_mask;</div><div class='del'>-                *bytep = carry &amp; partialbits_mask;</div><div class='del'>-                carry &gt;&gt;= word_num_partialbits;</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-</div><div class='del'>-            if (wordp == last_wordp)</div><div class='del'>-                break;</div><div class='del'>-</div><div class='del'>-            wordp += word_step;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return sign;</div><div class='del'>-#undef FILL_DD</div><div class='del'>-#undef TAKE_LOWBITS</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-integer_unpack_num_bdigits_small(size_t numwords, size_t wordsize, size_t nails, int *nlp_bits_ret)</div><div class='del'>-{</div><div class='del'>-    /* nlp_bits stands for number of leading padding bits */</div><div class='del'>-    size_t num_bits = (wordsize * CHAR_BIT - nails) * numwords;</div><div class='del'>-    size_t num_bdigits = (num_bits + BITSPERDIG - 1) / BITSPERDIG;</div><div class='del'>-    *nlp_bits_ret = (int)(num_bdigits * BITSPERDIG - num_bits);</div><div class='del'>-    return num_bdigits;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-integer_unpack_num_bdigits_generic(size_t numwords, size_t wordsize, size_t nails, int *nlp_bits_ret)</div><div class='del'>-{</div><div class='del'>-    /* BITSPERDIG = SIZEOF_BDIGIT * CHAR_BIT */</div><div class='del'>-    /* num_bits = (wordsize * CHAR_BIT - nails) * numwords */</div><div class='del'>-    /* num_bdigits = (num_bits + BITSPERDIG - 1) / BITSPERDIG */</div><div class='del'>-</div><div class='del'>-    /* num_bits = CHAR_BIT * (wordsize * numwords) - nails * numwords = CHAR_BIT * num_bytes1 - nails * numwords */</div><div class='del'>-    size_t num_bytes1 = wordsize * numwords;</div><div class='del'>-</div><div class='del'>-    /* q1 * CHAR_BIT + r1 = numwords */</div><div class='del'>-    size_t q1 = numwords / CHAR_BIT;</div><div class='del'>-    size_t r1 = numwords % CHAR_BIT;</div><div class='del'>-</div><div class='del'>-    /* num_bits = CHAR_BIT * num_bytes1 - nails * (q1 * CHAR_BIT + r1) = CHAR_BIT * num_bytes2 - nails * r1 */</div><div class='del'>-    size_t num_bytes2 = num_bytes1 - nails * q1;</div><div class='del'>-</div><div class='del'>-    /* q2 * CHAR_BIT + r2 = nails */</div><div class='del'>-    size_t q2 = nails / CHAR_BIT;</div><div class='del'>-    size_t r2 = nails % CHAR_BIT;</div><div class='del'>-</div><div class='del'>-    /* num_bits = CHAR_BIT * num_bytes2 - (q2 * CHAR_BIT + r2) * r1 = CHAR_BIT * num_bytes3 - r1 * r2 */</div><div class='del'>-    size_t num_bytes3 = num_bytes2 - q2 * r1;</div><div class='del'>-</div><div class='del'>-    /* q3 * BITSPERDIG + r3 = num_bytes3 */</div><div class='del'>-    size_t q3 = num_bytes3 / BITSPERDIG;</div><div class='del'>-    size_t r3 = num_bytes3 % BITSPERDIG;</div><div class='del'>-</div><div class='del'>-    /* num_bits = CHAR_BIT * (q3 * BITSPERDIG + r3) - r1 * r2 = BITSPERDIG * num_digits1 + CHAR_BIT * r3 - r1 * r2 */</div><div class='del'>-    size_t num_digits1 = CHAR_BIT * q3;</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * if CHAR_BIT * r3 &gt;= r1 * r2</div><div class='del'>-     *   CHAR_BIT * r3 - r1 * r2 = CHAR_BIT * BITSPERDIG - (CHAR_BIT * BITSPERDIG - (CHAR_BIT * r3 - r1 * r2))</div><div class='del'>-     *   q4 * BITSPERDIG + r4 = CHAR_BIT * BITSPERDIG - (CHAR_BIT * r3 - r1 * r2)</div><div class='del'>-     *   num_bits = BITSPERDIG * num_digits1 + CHAR_BIT * BITSPERDIG - (q4 * BITSPERDIG + r4) = BITSPERDIG * num_digits2 - r4</div><div class='del'>-     * else</div><div class='del'>-     *   q4 * BITSPERDIG + r4 = -(CHAR_BIT * r3 - r1 * r2)</div><div class='del'>-     *   num_bits = BITSPERDIG * num_digits1 - (q4 * BITSPERDIG + r4) = BITSPERDIG * num_digits2 - r4</div><div class='del'>-     * end</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    if (CHAR_BIT * r3 &gt;= r1 * r2) {</div><div class='del'>-        size_t tmp1 = CHAR_BIT * BITSPERDIG - (CHAR_BIT * r3 - r1 * r2);</div><div class='del'>-        size_t q4 = tmp1 / BITSPERDIG;</div><div class='del'>-        int r4 = (int)(tmp1 % BITSPERDIG);</div><div class='del'>-        size_t num_digits2 = num_digits1 + CHAR_BIT - q4;</div><div class='del'>-        *nlp_bits_ret = r4;</div><div class='del'>-        return num_digits2;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        size_t tmp1 = r1 * r2 - CHAR_BIT * r3;</div><div class='del'>-        size_t q4 = tmp1 / BITSPERDIG;</div><div class='del'>-        int r4 = (int)(tmp1 % BITSPERDIG);</div><div class='del'>-        size_t num_digits2 = num_digits1 - q4;</div><div class='del'>-        *nlp_bits_ret = r4;</div><div class='del'>-        return num_digits2;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-integer_unpack_num_bdigits(size_t numwords, size_t wordsize, size_t nails, int *nlp_bits_ret)</div><div class='del'>-{</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-</div><div class='del'>-    if (numwords &lt;= (SIZE_MAX - (BITSPERDIG-1)) / CHAR_BIT / wordsize) {</div><div class='del'>-        num_bdigits = integer_unpack_num_bdigits_small(numwords, wordsize, nails, nlp_bits_ret);</div><div class='del'>-#ifdef DEBUG_INTEGER_PACK</div><div class='del'>-        {</div><div class='del'>-            int nlp_bits1;</div><div class='del'>-            size_t num_bdigits1 = integer_unpack_num_bdigits_generic(numwords, wordsize, nails, &amp;nlp_bits1);</div><div class='del'>-            assert(num_bdigits == num_bdigits1);</div><div class='del'>-            assert(*nlp_bits_ret == nlp_bits1);</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        num_bdigits = integer_unpack_num_bdigits_generic(numwords, wordsize, nails, nlp_bits_ret);</div><div class='del'>-    }</div><div class='del'>-    return num_bdigits;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-integer_unpack_push_bits(int data, int numbits, BDIGIT_DBL *ddp, int *numbits_in_dd_p, BDIGIT **dpp)</div><div class='del'>-{</div><div class='del'>-    (*ddp) |= ((BDIGIT_DBL)data) &lt;&lt; (*numbits_in_dd_p);</div><div class='del'>-    *numbits_in_dd_p += numbits;</div><div class='del'>-    while (BITSPERDIG &lt;= *numbits_in_dd_p) {</div><div class='del'>-        *(*dpp)++ = BIGLO(*ddp);</div><div class='del'>-        *ddp = BIGDN(*ddp);</div><div class='del'>-        *numbits_in_dd_p -= BITSPERDIG;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-integer_unpack_single_bdigit(BDIGIT u, size_t size, int flags, BDIGIT *dp)</div><div class='del'>-{</div><div class='del'>-    int sign;</div><div class='del'>-    if (flags &amp; INTEGER_PACK_2COMP) {</div><div class='del'>-        sign = (flags &amp; INTEGER_PACK_NEGATIVE) ?</div><div class='del'>-            ((size == SIZEOF_BDIGIT &amp;&amp; u == 0) ? -2 : -1) :</div><div class='del'>-            ((u &gt;&gt; (size * CHAR_BIT - 1)) ? -1 : 1);</div><div class='del'>-        if (sign &lt; 0) {</div><div class='del'>-            u |= LSHIFTX(BDIGMAX, size * CHAR_BIT);</div><div class='del'>-            u = BIGLO(1 + ~u);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else</div><div class='del'>-        sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='del'>-    *dp = u;</div><div class='del'>-    return sign;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_BUILTIN___BUILTIN_ASSUME_ALIGNED</div><div class='del'>-#define reinterpret_cast(type, value) (type) \</div><div class='del'>-    __builtin_assume_aligned((value), sizeof(*(type)NULL));</div><div class='del'>-#else</div><div class='del'>-#define reinterpret_cast(type, value) (type)value</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_unpack_internal(BDIGIT *bdigits, size_t num_bdigits, const void *words, size_t numwords, size_t wordsize, size_t nails, int flags, int nlp_bits)</div><div class='del'>-{</div><div class='del'>-    int sign;</div><div class='del'>-    const unsigned char *buf = words;</div><div class='del'>-    BDIGIT *dp;</div><div class='del'>-    BDIGIT *de;</div><div class='del'>-</div><div class='del'>-    dp = bdigits;</div><div class='del'>-    de = dp + num_bdigits;</div><div class='del'>-</div><div class='del'>-    if (!(flags &amp; INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION)) {</div><div class='del'>-        if (nails == 0 &amp;&amp; numwords == 1) {</div><div class='del'>-            int need_swap = wordsize != 1 &amp;&amp;</div><div class='del'>-                (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_NATIVE_BYTE_ORDER &amp;&amp;</div><div class='del'>-                ((flags &amp; INTEGER_PACK_MSBYTE_FIRST) ? !HOST_BIGENDIAN_P : HOST_BIGENDIAN_P);</div><div class='del'>-            if (wordsize == 1) {</div><div class='del'>-                return integer_unpack_single_bdigit(*(uint8_t *)buf, sizeof(uint8_t), flags, dp);</div><div class='del'>-            }</div><div class='del'>-#if defined(HAVE_UINT16_T) &amp;&amp; 2 &lt;= SIZEOF_BDIGIT</div><div class='del'>-            if (wordsize == 2 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint16_t) == 0) {</div><div class='del'>-                uint16_t u = *reinterpret_cast(const uint16_t *, buf);</div><div class='del'>-                return integer_unpack_single_bdigit(need_swap ? swap16(u) : u, sizeof(uint16_t), flags, dp);</div><div class='del'>-            }</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_UINT32_T) &amp;&amp; 4 &lt;= SIZEOF_BDIGIT</div><div class='del'>-            if (wordsize == 4 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint32_t) == 0) {</div><div class='del'>-                uint32_t u = *reinterpret_cast(const uint32_t *, buf);</div><div class='del'>-                return integer_unpack_single_bdigit(need_swap ? swap32(u) : u, sizeof(uint32_t), flags, dp);</div><div class='del'>-            }</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_UINT64_T) &amp;&amp; 8 &lt;= SIZEOF_BDIGIT</div><div class='del'>-            if (wordsize == 8 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint64_t) == 0) {</div><div class='del'>-                uint64_t u = *reinterpret_cast(const uint64_t *, buf);</div><div class='del'>-                return integer_unpack_single_bdigit(need_swap ? swap64(u) : u, sizeof(uint64_t), flags, dp);</div><div class='del'>-            }</div><div class='del'>-#endif</div><div class='del'>-#undef reinterpret_cast</div><div class='del'>-        }</div><div class='del'>-#if !defined(WORDS_BIGENDIAN)</div><div class='del'>-        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='del'>-            (flags &amp; INTEGER_PACK_WORDORDER_MASK) == INTEGER_PACK_LSWORD_FIRST &amp;&amp;</div><div class='del'>-            (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_MSBYTE_FIRST) {</div><div class='del'>-            size_t src_size = numwords * wordsize;</div><div class='del'>-            size_t dst_size = num_bdigits * SIZEOF_BDIGIT;</div><div class='del'>-            MEMCPY(dp, words, char, src_size);</div><div class='del'>-            if (flags &amp; INTEGER_PACK_2COMP) {</div><div class='del'>-                if (flags &amp; INTEGER_PACK_NEGATIVE) {</div><div class='del'>-                    int zero_p;</div><div class='del'>-                    memset((char*)dp + src_size, 0xff, dst_size - src_size);</div><div class='del'>-                    zero_p = bary_2comp(dp, num_bdigits);</div><div class='del'>-                    sign = zero_p ? -2 : -1;</div><div class='del'>-                }</div><div class='del'>-                else if (buf[src_size-1] &gt;&gt; (CHAR_BIT-1)) {</div><div class='del'>-                    memset((char*)dp + src_size, 0xff, dst_size - src_size);</div><div class='del'>-                    bary_2comp(dp, num_bdigits);</div><div class='del'>-                    sign = -1;</div><div class='del'>-                }</div><div class='del'>-                else {</div><div class='del'>-                    MEMZERO((char*)dp + src_size, char, dst_size - src_size);</div><div class='del'>-                    sign = 1;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                MEMZERO((char*)dp + src_size, char, dst_size - src_size);</div><div class='del'>-                sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='del'>-            }</div><div class='del'>-            return sign;</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='del'>-            wordsize % SIZEOF_BDIGIT == 0) {</div><div class='del'>-            size_t bdigits_per_word = wordsize / SIZEOF_BDIGIT;</div><div class='del'>-            int mswordfirst_p = (flags &amp; INTEGER_PACK_MSWORD_FIRST) != 0;</div><div class='del'>-            int msbytefirst_p = (flags &amp; INTEGER_PACK_NATIVE_BYTE_ORDER) ? HOST_BIGENDIAN_P :</div><div class='del'>-                (flags &amp; INTEGER_PACK_MSBYTE_FIRST) != 0;</div><div class='del'>-            MEMCPY(dp, words, BDIGIT, numwords*bdigits_per_word);</div><div class='del'>-            if (mswordfirst_p) {</div><div class='del'>-                bary_swap(dp, num_bdigits);</div><div class='del'>-            }</div><div class='del'>-            if (mswordfirst_p ? !msbytefirst_p : msbytefirst_p) {</div><div class='del'>-                size_t i;</div><div class='del'>-                BDIGIT *p = dp;</div><div class='del'>-                for (i = 0; i &lt; numwords; i++) {</div><div class='del'>-                    bary_swap(p, bdigits_per_word);</div><div class='del'>-                    p += bdigits_per_word;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            if (msbytefirst_p != HOST_BIGENDIAN_P) {</div><div class='del'>-                BDIGIT *p;</div><div class='del'>-                for (p = dp; p &lt; de; p++) {</div><div class='del'>-                    BDIGIT d = *p;</div><div class='del'>-                    *p = swap_bdigit(d);</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            if (flags &amp; INTEGER_PACK_2COMP) {</div><div class='del'>-                if (flags &amp; INTEGER_PACK_NEGATIVE) {</div><div class='del'>-                    int zero_p = bary_2comp(dp, num_bdigits);</div><div class='del'>-                    sign = zero_p ? -2 : -1;</div><div class='del'>-                }</div><div class='del'>-                else if (BDIGIT_MSB(de[-1])) {</div><div class='del'>-                    bary_2comp(dp, num_bdigits);</div><div class='del'>-                    sign = -1;</div><div class='del'>-                }</div><div class='del'>-                else {</div><div class='del'>-                    sign = 1;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='del'>-            }</div><div class='del'>-            return sign;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (num_bdigits != 0) {</div><div class='del'>-        int word_num_partialbits;</div><div class='del'>-        size_t word_num_fullbytes;</div><div class='del'>-</div><div class='del'>-        ssize_t word_step;</div><div class='del'>-        size_t byte_start;</div><div class='del'>-        int byte_step;</div><div class='del'>-</div><div class='del'>-        size_t word_start, word_last;</div><div class='del'>-        const unsigned char *wordp, *last_wordp;</div><div class='del'>-        BDIGIT_DBL dd;</div><div class='del'>-        int numbits_in_dd;</div><div class='del'>-</div><div class='del'>-        integer_pack_loop_setup(numwords, wordsize, nails, flags,</div><div class='del'>-            &amp;word_num_fullbytes, &amp;word_num_partialbits,</div><div class='del'>-            &amp;word_start, &amp;word_step, &amp;word_last, &amp;byte_start, &amp;byte_step);</div><div class='del'>-</div><div class='del'>-        wordp = buf + word_start;</div><div class='del'>-        last_wordp = buf + word_last;</div><div class='del'>-</div><div class='del'>-        dd = 0;</div><div class='del'>-        numbits_in_dd = 0;</div><div class='del'>-</div><div class='del'>-#define PUSH_BITS(data, numbits) \</div><div class='del'>-        integer_unpack_push_bits(data, numbits, &amp;dd, &amp;numbits_in_dd, &amp;dp)</div><div class='del'>-</div><div class='del'>-        while (1) {</div><div class='del'>-            size_t index_in_word = 0;</div><div class='del'>-            const unsigned char *bytep = wordp + byte_start;</div><div class='del'>-            while (index_in_word &lt; word_num_fullbytes) {</div><div class='del'>-                PUSH_BITS(*bytep, CHAR_BIT);</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-            if (word_num_partialbits) {</div><div class='del'>-                PUSH_BITS(*bytep &amp; ((1 &lt;&lt; word_num_partialbits) - 1), word_num_partialbits);</div><div class='del'>-                bytep += byte_step;</div><div class='del'>-                index_in_word++;</div><div class='del'>-            }</div><div class='del'>-</div><div class='del'>-            if (wordp == last_wordp)</div><div class='del'>-                break;</div><div class='del'>-</div><div class='del'>-            wordp += word_step;</div><div class='del'>-        }</div><div class='del'>-        if (dd)</div><div class='del'>-            *dp++ = (BDIGIT)dd;</div><div class='del'>-        assert(dp &lt;= de);</div><div class='del'>-        while (dp &lt; de)</div><div class='del'>-            *dp++ = 0;</div><div class='del'>-#undef PUSH_BITS</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!(flags &amp; INTEGER_PACK_2COMP)) {</div><div class='del'>-        sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (nlp_bits) {</div><div class='del'>-            if ((flags &amp; INTEGER_PACK_NEGATIVE) ||</div><div class='del'>-                (bdigits[num_bdigits-1] &gt;&gt; (BITSPERDIG - nlp_bits - 1))) {</div><div class='del'>-                bdigits[num_bdigits-1] |= BIGLO(BDIGMAX &lt;&lt; (BITSPERDIG - nlp_bits));</div><div class='del'>-                sign = -1;</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                sign = 1;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            if (flags &amp; INTEGER_PACK_NEGATIVE) {</div><div class='del'>-                sign = bary_zero_p(bdigits, num_bdigits) ? -2 : -1;</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                if (num_bdigits != 0 &amp;&amp; BDIGIT_MSB(bdigits[num_bdigits-1]))</div><div class='del'>-                    sign = -1;</div><div class='del'>-                else</div><div class='del'>-                    sign = 1;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        if (sign == -1 &amp;&amp; num_bdigits != 0) {</div><div class='del'>-            bary_2comp(bdigits, num_bdigits);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return sign;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_unpack(BDIGIT *bdigits, size_t num_bdigits, const void *words, size_t numwords, size_t wordsize, size_t nails, int flags)</div><div class='del'>-{</div><div class='del'>-    size_t num_bdigits0;</div><div class='del'>-    int nlp_bits;</div><div class='del'>-    int sign;</div><div class='del'>-</div><div class='del'>-    validate_integer_pack_format(numwords, wordsize, nails, flags,</div><div class='del'>-            INTEGER_PACK_MSWORD_FIRST|</div><div class='del'>-            INTEGER_PACK_LSWORD_FIRST|</div><div class='del'>-            INTEGER_PACK_MSBYTE_FIRST|</div><div class='del'>-            INTEGER_PACK_LSBYTE_FIRST|</div><div class='del'>-            INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='del'>-            INTEGER_PACK_2COMP|</div><div class='del'>-            INTEGER_PACK_FORCE_BIGNUM|</div><div class='del'>-            INTEGER_PACK_NEGATIVE|</div><div class='del'>-            INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION);</div><div class='del'>-</div><div class='del'>-    num_bdigits0 = integer_unpack_num_bdigits(numwords, wordsize, nails, &amp;nlp_bits);</div><div class='del'>-</div><div class='del'>-    assert(num_bdigits0 &lt;= num_bdigits);</div><div class='del'>-</div><div class='del'>-    sign = bary_unpack_internal(bdigits, num_bdigits0, words, numwords, wordsize, nails, flags, nlp_bits);</div><div class='del'>-</div><div class='del'>-    if (num_bdigits0 &lt; num_bdigits) {</div><div class='del'>-        BDIGITS_ZERO(bdigits + num_bdigits0, num_bdigits - num_bdigits0);</div><div class='del'>-        if (sign == -2) {</div><div class='del'>-            bdigits[num_bdigits0] = 1;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_subb(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, int borrow)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL_SIGNED num;</div><div class='del'>-    size_t i;</div><div class='del'>-    size_t sn;</div><div class='del'>-</div><div class='del'>-    assert(xn &lt;= zn);</div><div class='del'>-    assert(yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    sn = xn &lt; yn ? xn : yn;</div><div class='del'>-</div><div class='del'>-    num = borrow ? -1 : 0;</div><div class='del'>-    for (i = 0; i &lt; sn; i++) {</div><div class='del'>-	num += (BDIGIT_DBL_SIGNED)xds[i] - yds[i];</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-    if (yn &lt;= xn) {</div><div class='del'>-        for (; i &lt; xn; i++) {</div><div class='del'>-            if (num == 0) goto num_is_zero;</div><div class='del'>-            num += xds[i];</div><div class='del'>-            zds[i] = BIGLO(num);</div><div class='del'>-            num = BIGDN(num);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        for (; i &lt; yn; i++) {</div><div class='del'>-            num -= yds[i];</div><div class='del'>-            zds[i] = BIGLO(num);</div><div class='del'>-            num = BIGDN(num);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    if (num == 0) goto num_is_zero;</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-	zds[i] = BDIGMAX;</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-</div><div class='del'>-  num_is_zero:</div><div class='del'>-    if (xds == zds &amp;&amp; xn == zn)</div><div class='del'>-        return 0;</div><div class='del'>-    for (; i &lt; xn; i++) {</div><div class='del'>-	zds[i] = xds[i];</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-	zds[i] = 0;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_sub(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    return bary_subb(zds, zn, xds, xn, yds, yn, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_sub_one(BDIGIT *zds, size_t zn)</div><div class='del'>-{</div><div class='del'>-    return bary_subb(zds, zn, zds, zn, NULL, 0, 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_addc(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, int carry)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL num;</div><div class='del'>-    size_t i;</div><div class='del'>-</div><div class='del'>-    assert(xn &lt;= zn);</div><div class='del'>-    assert(yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    if (xn &gt; yn) {</div><div class='del'>-	const BDIGIT *tds;</div><div class='del'>-	tds = xds; xds = yds; yds = tds;</div><div class='del'>-	i = xn; xn = yn; yn = i;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    num = carry ? 1 : 0;</div><div class='del'>-    for (i = 0; i &lt; xn; i++) {</div><div class='del'>-	num += (BDIGIT_DBL)xds[i] + yds[i];</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; yn; i++) {</div><div class='del'>-        if (num == 0) goto num_is_zero;</div><div class='del'>-	num += yds[i];</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        if (num == 0) goto num_is_zero;</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-    return num != 0;</div><div class='del'>-</div><div class='del'>-  num_is_zero:</div><div class='del'>-    if (yds == zds &amp;&amp; yn == zn)</div><div class='del'>-        return 0;</div><div class='del'>-    for (; i &lt; yn; i++) {</div><div class='del'>-	zds[i] = yds[i];</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-	zds[i] = 0;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_add(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    return bary_addc(zds, zn, xds, xn, yds, yn, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_add_one(BDIGIT *ds, size_t n)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    for (i = 0; i &lt; n; i++) {</div><div class='del'>-        BDIGIT_DBL n = ds[i];</div><div class='del'>-        n += 1;</div><div class='del'>-        ds[i] = BIGLO(n);</div><div class='del'>-        if (ds[i] != 0)</div><div class='del'>-            return 0;</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_single(BDIGIT *zds, size_t zn, BDIGIT x, BDIGIT y)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL n;</div><div class='del'>-</div><div class='del'>-    assert(2 &lt;= zn);</div><div class='del'>-</div><div class='del'>-    n = (BDIGIT_DBL)x * y;</div><div class='del'>-    bdigitdbl2bary(zds, 2, n);</div><div class='del'>-    BDIGITS_ZERO(zds + 2, zn - 2);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_muladd_1xN(BDIGIT *zds, size_t zn, BDIGIT x, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL n;</div><div class='del'>-    BDIGIT_DBL dd;</div><div class='del'>-    size_t j;</div><div class='del'>-</div><div class='del'>-    assert(zn &gt; yn);</div><div class='del'>-</div><div class='del'>-    if (x == 0)</div><div class='del'>-        return 0;</div><div class='del'>-    dd = x;</div><div class='del'>-    n = 0;</div><div class='del'>-    for (j = 0; j &lt; yn; j++) {</div><div class='del'>-        BDIGIT_DBL ee = n + dd * yds[j];</div><div class='del'>-        if (ee) {</div><div class='del'>-            n = zds[j] + ee;</div><div class='del'>-            zds[j] = BIGLO(n);</div><div class='del'>-            n = BIGDN(n);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            n = 0;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-    }</div><div class='del'>-    for (; j &lt; zn; j++) {</div><div class='del'>-        if (n == 0)</div><div class='del'>-            break;</div><div class='del'>-        n += zds[j];</div><div class='del'>-        zds[j] = BIGLO(n);</div><div class='del'>-        n = BIGDN(n);</div><div class='del'>-    }</div><div class='del'>-    return n != 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static BDIGIT_DBL_SIGNED</div><div class='del'>-bigdivrem_mulsub(BDIGIT *zds, size_t zn, BDIGIT x, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-    BDIGIT_DBL t2;</div><div class='del'>-    BDIGIT_DBL_SIGNED num;</div><div class='del'>-</div><div class='del'>-    assert(zn == yn + 1);</div><div class='del'>-</div><div class='del'>-    num = 0;</div><div class='del'>-    t2 = 0;</div><div class='del'>-    i = 0;</div><div class='del'>-</div><div class='del'>-    do {</div><div class='del'>-        BDIGIT_DBL_SIGNED ee;</div><div class='del'>-        t2 += (BDIGIT_DBL)yds[i] * x;</div><div class='del'>-        ee = num - BIGLO(t2);</div><div class='del'>-        num = (BDIGIT_DBL_SIGNED)zds[i] + ee;</div><div class='del'>-        if (ee) zds[i] = BIGLO(num);</div><div class='del'>-        num = BIGDN(num);</div><div class='del'>-        t2 = BIGDN(t2);</div><div class='del'>-    } while (++i &lt; yn);</div><div class='del'>-    num -= (BDIGIT_DBL_SIGNED)t2;</div><div class='del'>-    num += (BDIGIT_DBL_SIGNED)zds[yn]; /* borrow from high digit; don't update */</div><div class='del'>-    return num;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_mulsub_1xN(BDIGIT *zds, size_t zn, BDIGIT x, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    BDIGIT_DBL_SIGNED num;</div><div class='del'>-</div><div class='del'>-    assert(zn == yn + 1);</div><div class='del'>-</div><div class='del'>-    num = bigdivrem_mulsub(zds, zn, x, yds, yn);</div><div class='del'>-    zds[yn] = BIGLO(num);</div><div class='del'>-    if (BIGDN(num))</div><div class='del'>-        return 1;</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_normal(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    size_t i;</div><div class='del'>-</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    BDIGITS_ZERO(zds, zn);</div><div class='del'>-    for (i = 0; i &lt; xn; i++) {</div><div class='del'>-        bary_muladd_1xN(zds+i, zn-i, xds[i], yds, yn);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_mul_normal(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='del'>-    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    bary_mul_normal(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* efficient squaring (2 times faster than normal multiplication)</div><div class='del'>- * ref: Handbook of Applied Cryptography, Algorithm 14.16</div><div class='del'>- *      http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-bary_sq_fast(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn)</div><div class='del'>-{</div><div class='del'>-    size_t i, j;</div><div class='del'>-    BDIGIT_DBL c, v, w;</div><div class='del'>-    BDIGIT vl;</div><div class='del'>-    int vh;</div><div class='del'>-</div><div class='del'>-    assert(xn * 2 &lt;= zn);</div><div class='del'>-</div><div class='del'>-    BDIGITS_ZERO(zds, zn);</div><div class='del'>-</div><div class='del'>-    if (xn == 0)</div><div class='del'>-        return;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; xn-1; i++) {</div><div class='del'>-	v = (BDIGIT_DBL)xds[i];</div><div class='del'>-	if (!v)</div><div class='del'>-            continue;</div><div class='del'>-	c = (BDIGIT_DBL)zds[i + i] + v * v;</div><div class='del'>-	zds[i + i] = BIGLO(c);</div><div class='del'>-	c = BIGDN(c);</div><div class='del'>-	v *= 2;</div><div class='del'>-        vl = BIGLO(v);</div><div class='del'>-        vh = (int)BIGDN(v);</div><div class='del'>-	for (j = i + 1; j &lt; xn; j++) {</div><div class='del'>-	    w = (BDIGIT_DBL)xds[j];</div><div class='del'>-	    c += (BDIGIT_DBL)zds[i + j] + vl * w;</div><div class='del'>-	    zds[i + j] = BIGLO(c);</div><div class='del'>-	    c = BIGDN(c);</div><div class='del'>-	    if (vh)</div><div class='del'>-                c += w;</div><div class='del'>-	}</div><div class='del'>-	if (c) {</div><div class='del'>-	    c += (BDIGIT_DBL)zds[i + xn];</div><div class='del'>-	    zds[i + xn] = BIGLO(c);</div><div class='del'>-	    c = BIGDN(c);</div><div class='del'>-            if (c)</div><div class='del'>-                zds[i + xn + 1] += (BDIGIT)c;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* i == xn-1 */</div><div class='del'>-    v = (BDIGIT_DBL)xds[i];</div><div class='del'>-    if (!v)</div><div class='del'>-        return;</div><div class='del'>-    c = (BDIGIT_DBL)zds[i + i] + v * v;</div><div class='del'>-    zds[i + i] = BIGLO(c);</div><div class='del'>-    c = BIGDN(c);</div><div class='del'>-    if (c) {</div><div class='del'>-        zds[i + xn] += BIGLO(c);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_sq_fast(VALUE x)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), zn = 2 * xn;</div><div class='del'>-    VALUE z = bignew(zn, 1);</div><div class='del'>-    bary_sq_fast(BDIGITS(z), zn, BDIGITS(x), xn);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* balancing multiplication by slicing larger argument */</div><div class='del'>-static void</div><div class='del'>-bary_mul_balance_with_mulfunc(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn, mulfunc_t *mulfunc)</div><div class='del'>-{</div><div class='del'>-    VALUE work = 0;</div><div class='del'>-    size_t yn0 = yn;</div><div class='del'>-    size_t r, n;</div><div class='del'>-</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-    assert(xn &lt;= yn);</div><div class='del'>-    assert(!KARATSUBA_BALANCED(xn, yn) || !TOOM3_BALANCED(xn, yn));</div><div class='del'>-</div><div class='del'>-    BDIGITS_ZERO(zds, xn);</div><div class='del'>-</div><div class='del'>-    n = 0;</div><div class='del'>-    while (yn &gt; 0) {</div><div class='del'>-        BDIGIT *tds;</div><div class='del'>-        size_t tn;</div><div class='del'>-	r = xn &gt; yn ? yn : xn;</div><div class='del'>-        tn = xn + r;</div><div class='del'>-        if (2 * (xn + r) &lt;= zn - n) {</div><div class='del'>-            tds = zds + n + xn + r;</div><div class='del'>-            mulfunc(tds, tn, xds, xn, yds + n, r, wds, wn);</div><div class='del'>-            BDIGITS_ZERO(zds + n + xn, r);</div><div class='del'>-            bary_add(zds + n, tn,</div><div class='del'>-                     zds + n, tn,</div><div class='del'>-                     tds, tn);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            if (wn &lt; xn) {</div><div class='del'>-                wn = xn;</div><div class='del'>-                wds = ALLOCV_N(BDIGIT, work, wn);</div><div class='del'>-            }</div><div class='del'>-            tds = zds + n;</div><div class='del'>-            MEMCPY(wds, zds + n, BDIGIT, xn);</div><div class='del'>-            mulfunc(tds, tn, xds, xn, yds + n, r, wds+xn, wn-xn);</div><div class='del'>-            bary_add(zds + n, tn,</div><div class='del'>-                     zds + n, tn,</div><div class='del'>-                     wds, xn);</div><div class='del'>-        }</div><div class='del'>-	yn -= r;</div><div class='del'>-	n += r;</div><div class='del'>-    }</div><div class='del'>-    BDIGITS_ZERO(zds+xn+yn0, zn - (xn+yn0));</div><div class='del'>-</div><div class='del'>-    if (work)</div><div class='del'>-        ALLOCV_END(work);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_mul_balance(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='del'>-    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    bary_mul_balance_with_mulfunc(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, NULL, 0, bary_mul_toom3_start);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* multiplication by karatsuba method */</div><div class='del'>-static void</div><div class='del'>-bary_mul_karatsuba(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn)</div><div class='del'>-{</div><div class='del'>-    VALUE work = 0;</div><div class='del'>-</div><div class='del'>-    size_t n;</div><div class='del'>-    int sub_p, borrow, carry1, carry2, carry3;</div><div class='del'>-</div><div class='del'>-    int odd_y = 0;</div><div class='del'>-    int odd_xy = 0;</div><div class='del'>-    int sq;</div><div class='del'>-</div><div class='del'>-    const BDIGIT *xds0, *xds1, *yds0, *yds1;</div><div class='del'>-    BDIGIT *zds0, *zds1, *zds2, *zds3;</div><div class='del'>-</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-    assert(xn &lt;= yn);</div><div class='del'>-    assert(yn &lt; 2 * xn);</div><div class='del'>-</div><div class='del'>-    sq = xds == yds &amp;&amp; xn == yn;</div><div class='del'>-</div><div class='del'>-    if (yn &amp; 1) {</div><div class='del'>-        odd_y = 1;</div><div class='del'>-        yn--;</div><div class='del'>-        if (yn &lt; xn) {</div><div class='del'>-            odd_xy = 1;</div><div class='del'>-            xn--;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    n = yn / 2;</div><div class='del'>-</div><div class='del'>-    assert(n &lt; xn);</div><div class='del'>-</div><div class='del'>-    if (wn &lt; n) {</div><div class='del'>-        /* This function itself needs only n BDIGITs for work area.</div><div class='del'>-         * However this function calls bary_mul_karatsuba and</div><div class='del'>-         * bary_mul_balance recursively.</div><div class='del'>-         * 2n BDIGITs are enough to avoid allocations in</div><div class='del'>-         * the recursively called functions.</div><div class='del'>-         */</div><div class='del'>-        wn = 2*n;</div><div class='del'>-        wds = ALLOCV_N(BDIGIT, work, wn);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* Karatsuba algorithm:</div><div class='del'>-     *</div><div class='del'>-     * x = x0 + r*x1</div><div class='del'>-     * y = y0 + r*y1</div><div class='del'>-     * z = x*y</div><div class='del'>-     *   = (x0 + r*x1) * (y0 + r*y1)</div><div class='del'>-     *   = x0*y0 + r*(x1*y0 + x0*y1) + r*r*x1*y1</div><div class='del'>-     *   = x0*y0 + r*(x0*y0 + x1*y1 - (x1-x0)*(y1-y0)) + r*r*x1*y1</div><div class='del'>-     *   = x0*y0 + r*(x0*y0 + x1*y1 - (x0-x1)*(y0-y1)) + r*r*x1*y1</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    xds0 = xds;</div><div class='del'>-    xds1 = xds + n;</div><div class='del'>-    yds0 = yds;</div><div class='del'>-    yds1 = yds + n;</div><div class='del'>-    zds0 = zds;</div><div class='del'>-    zds1 = zds + n;</div><div class='del'>-    zds2 = zds + 2*n;</div><div class='del'>-    zds3 = zds + 3*n;</div><div class='del'>-</div><div class='del'>-    sub_p = 1;</div><div class='del'>-</div><div class='del'>-    /* zds0:? zds1:? zds2:? zds3:? wds:? */</div><div class='del'>-</div><div class='del'>-    if (bary_sub(zds0, n, xds, n, xds+n, xn-n)) {</div><div class='del'>-        bary_2comp(zds0, n);</div><div class='del'>-        sub_p = !sub_p;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* zds0:|x1-x0| zds1:? zds2:? zds3:? wds:? */</div><div class='del'>-</div><div class='del'>-    if (sq) {</div><div class='del'>-        sub_p = 1;</div><div class='del'>-        bary_mul_karatsuba_start(zds1, 2*n, zds0, n, zds0, n, wds, wn);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (bary_sub(wds, n, yds, n, yds+n, n)) {</div><div class='del'>-            bary_2comp(wds, n);</div><div class='del'>-            sub_p = !sub_p;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        /* zds0:|x1-x0| zds1:? zds2:? zds3:? wds:|y1-y0| */</div><div class='del'>-</div><div class='del'>-        bary_mul_karatsuba_start(zds1, 2*n, zds0, n, wds, n, wds+n, wn-n);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* zds0:|x1-x0| zds1,zds2:|x1-x0|*|y1-y0| zds3:? wds:|y1-y0| */</div><div class='del'>-</div><div class='del'>-    borrow = 0;</div><div class='del'>-    if (sub_p) {</div><div class='del'>-        borrow = !bary_2comp(zds1, 2*n);</div><div class='del'>-    }</div><div class='del'>-    /* zds0:|x1-x0| zds1,zds2:-?|x1-x0|*|y1-y0| zds3:? wds:|y1-y0| */</div><div class='del'>-</div><div class='del'>-    MEMCPY(wds, zds1, BDIGIT, n);</div><div class='del'>-</div><div class='del'>-    /* zds0:|x1-x0| zds1,zds2:-?|x1-x0|*|y1-y0| zds3:? wds:lo(-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    bary_mul_karatsuba_start(zds0, 2*n, xds0, n, yds0, n, wds+n, wn-n);</div><div class='del'>-</div><div class='del'>-    /* zds0,zds1:x0*y0 zds2:hi(-?|x1-x0|*|y1-y0|) zds3:? wds:lo(-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    carry1 = bary_add(wds, n, wds, n, zds0, n);</div><div class='del'>-    carry1 = bary_addc(zds2, n, zds2, n, zds1, n, carry1);</div><div class='del'>-</div><div class='del'>-    /* zds0,zds1:x0*y0 zds2:hi(x0*y0-?|x1-x0|*|y1-y0|) zds3:? wds:lo(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    carry2 = bary_add(zds1, n, zds1, n, wds, n);</div><div class='del'>-</div><div class='del'>-    /* zds0:lo(x0*y0) zds1:hi(x0*y0)+lo(x0*y0-?|x1-x0|*|y1-y0|) zds2:hi(x0*y0-?|x1-x0|*|y1-y0|) zds3:? wds:lo(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    MEMCPY(wds, zds2, BDIGIT, n);</div><div class='del'>-</div><div class='del'>-    /* zds0:lo(x0*y0) zds1:hi(x0*y0)+lo(x0*y0-?|x1-x0|*|y1-y0|) zds2:_ zds3:? wds:hi(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    bary_mul_karatsuba_start(zds2, zn-2*n, xds1, xn-n, yds1, n, wds+n, wn-n);</div><div class='del'>-</div><div class='del'>-    /* zds0:lo(x0*y0) zds1:hi(x0*y0)+lo(x0*y0-?|x1-x0|*|y1-y0|) zds2,zds3:x1*y1 wds:hi(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    carry3 = bary_add(zds1, n, zds1, n, zds2, n);</div><div class='del'>-</div><div class='del'>-    /* zds0:lo(x0*y0) zds1:hi(x0*y0)+lo(x0*y0-?|x1-x0|*|y1-y0|)+lo(x1*y1) zds2,zds3:x1*y1 wds:hi(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    carry3 = bary_addc(zds2, n, zds2, n, zds3, (4*n &lt; zn ? n : zn-3*n), carry3);</div><div class='del'>-</div><div class='del'>-    /* zds0:lo(x0*y0) zds1:hi(x0*y0)+lo(x0*y0-?|x1-x0|*|y1-y0|)+lo(x1*y1) zds2,zds3:x1*y1+hi(x1*y1) wds:hi(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='del'>-</div><div class='del'>-    bary_add(zds2, zn-2*n, zds2, zn-2*n, wds, n);</div><div class='del'>-</div><div class='del'>-    /* zds0:lo(x0*y0) zds1:hi(x0*y0)+lo(x0*y0-?|x1-x0|*|y1-y0|)+lo(x1*y1) zds2,zds3:x1*y1+hi(x1*y1)+hi(x0*y0-?|x1-x0|*|y1-y0|) wds:_ */</div><div class='del'>-</div><div class='del'>-    if (carry2)</div><div class='del'>-        bary_add_one(zds2, zn-2*n);</div><div class='del'>-</div><div class='del'>-    if (carry1 + carry3 - borrow &lt; 0)</div><div class='del'>-        bary_sub_one(zds3, zn-3*n);</div><div class='del'>-    else if (carry1 + carry3 - borrow &gt; 0) {</div><div class='del'>-        BDIGIT c = carry1 + carry3 - borrow;</div><div class='del'>-        bary_add(zds3, zn-3*n, zds3, zn-3*n, &amp;c, 1);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-    if (SIZEOF_BDIGIT * zn &lt;= 16) {</div><div class='del'>-        uint128_t z, x, y;</div><div class='del'>-        ssize_t i;</div><div class='del'>-        for (x = 0, i = xn-1; 0 &lt;= i; i--) { x &lt;&lt;= SIZEOF_BDIGIT*CHAR_BIT; x |= xds[i]; }</div><div class='del'>-        for (y = 0, i = yn-1; 0 &lt;= i; i--) { y &lt;&lt;= SIZEOF_BDIGIT*CHAR_BIT; y |= yds[i]; }</div><div class='del'>-        for (z = 0, i = zn-1; 0 &lt;= i; i--) { z &lt;&lt;= SIZEOF_BDIGIT*CHAR_BIT; z |= zds[i]; }</div><div class='del'>-        assert(z == x * y);</div><div class='del'>-    }</div><div class='del'>-    */</div><div class='del'>-</div><div class='del'>-    if (odd_xy) {</div><div class='del'>-        bary_muladd_1xN(zds+yn, zn-yn, yds[yn], xds, xn);</div><div class='del'>-        bary_muladd_1xN(zds+xn, zn-xn, xds[xn], yds, yn+1);</div><div class='del'>-    }</div><div class='del'>-    else if (odd_y) {</div><div class='del'>-        bary_muladd_1xN(zds+yn, zn-yn, yds[yn], xds, xn);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (work)</div><div class='del'>-        ALLOCV_END(work);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_mul_karatsuba(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='del'>-    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    if (!((xn &lt;= yn &amp;&amp; yn &lt; 2) || KARATSUBA_BALANCED(xn, yn)))</div><div class='del'>-        rb_raise(rb_eArgError, "unexpected bignum length for karatsuba");</div><div class='del'>-    bary_mul_karatsuba(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, NULL, 0);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_toom3(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn)</div><div class='del'>-{</div><div class='del'>-    size_t n;</div><div class='del'>-    size_t wnc;</div><div class='del'>-    VALUE work = 0;</div><div class='del'>-</div><div class='del'>-    /* "p" stands for "positive".  Actually it means "non-negative", though. */</div><div class='del'>-    size_t x0n; const BDIGIT *x0ds;</div><div class='del'>-    size_t x1n; const BDIGIT *x1ds;</div><div class='del'>-    size_t x2n; const BDIGIT *x2ds;</div><div class='del'>-    size_t y0n; const BDIGIT *y0ds;</div><div class='del'>-    size_t y1n; const BDIGIT *y1ds;</div><div class='del'>-    size_t y2n; const BDIGIT *y2ds;</div><div class='del'>-</div><div class='del'>-    size_t u1n; BDIGIT *u1ds; int u1p;</div><div class='del'>-    size_t u2n; BDIGIT *u2ds; int u2p;</div><div class='del'>-    size_t u3n; BDIGIT *u3ds; int u3p;</div><div class='del'>-</div><div class='del'>-    size_t v1n; BDIGIT *v1ds; int v1p;</div><div class='del'>-    size_t v2n; BDIGIT *v2ds; int v2p;</div><div class='del'>-    size_t v3n; BDIGIT *v3ds; int v3p;</div><div class='del'>-</div><div class='del'>-    size_t t0n; BDIGIT *t0ds; int t0p;</div><div class='del'>-    size_t t1n; BDIGIT *t1ds; int t1p;</div><div class='del'>-    size_t t2n; BDIGIT *t2ds; int t2p;</div><div class='del'>-    size_t t3n; BDIGIT *t3ds; int t3p;</div><div class='del'>-    size_t t4n; BDIGIT *t4ds; int t4p;</div><div class='del'>-</div><div class='del'>-    size_t z0n; BDIGIT *z0ds;</div><div class='del'>-    size_t z1n; BDIGIT *z1ds; int z1p;</div><div class='del'>-    size_t z2n; BDIGIT *z2ds; int z2p;</div><div class='del'>-    size_t z3n; BDIGIT *z3ds; int z3p;</div><div class='del'>-    size_t z4n; BDIGIT *z4ds;</div><div class='del'>-</div><div class='del'>-    size_t zzn; BDIGIT *zzds;</div><div class='del'>-</div><div class='del'>-    int sq = xds == yds &amp;&amp; xn == yn;</div><div class='del'>-</div><div class='del'>-    assert(xn &lt;= yn);  /* assume y &gt;= x */</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    n = (yn + 2) / 3;</div><div class='del'>-    assert(2*n &lt; xn);</div><div class='del'>-</div><div class='del'>-    wnc = 0;</div><div class='del'>-</div><div class='del'>-    wnc += (u1n = n+1); /* BITSPERDIG*n+2 bits */</div><div class='del'>-    wnc += (u2n = n+1); /* BITSPERDIG*n+1 bits */</div><div class='del'>-    wnc += (u3n = n+1); /* BITSPERDIG*n+3 bits */</div><div class='del'>-    wnc += (v1n = n+1); /* BITSPERDIG*n+2 bits */</div><div class='del'>-    wnc += (v2n = n+1); /* BITSPERDIG*n+1 bits */</div><div class='del'>-    wnc += (v3n = n+1); /* BITSPERDIG*n+3 bits */</div><div class='del'>-</div><div class='del'>-    wnc += (t0n = 2*n); /* BITSPERDIG*2*n bits */</div><div class='del'>-    wnc += (t1n = 2*n+2); /* BITSPERDIG*2*n+4 bits but bary_mul needs u1n+v1n */</div><div class='del'>-    wnc += (t2n = 2*n+2); /* BITSPERDIG*2*n+2 bits but bary_mul needs u2n+v2n */</div><div class='del'>-    wnc += (t3n = 2*n+2); /* BITSPERDIG*2*n+6 bits but bary_mul needs u3n+v3n */</div><div class='del'>-    wnc += (t4n = 2*n); /* BITSPERDIG*2*n bits */</div><div class='del'>-</div><div class='del'>-    wnc += (z1n = 2*n+1); /* BITSPERDIG*2*n+5 bits */</div><div class='del'>-    wnc += (z2n = 2*n+1); /* BITSPERDIG*2*n+6 bits */</div><div class='del'>-    wnc += (z3n = 2*n+1); /* BITSPERDIG*2*n+8 bits */</div><div class='del'>-</div><div class='del'>-    if (wn &lt; wnc) {</div><div class='del'>-        wn = wnc * 3 / 2; /* Allocate working memory for whole recursion at once. */</div><div class='del'>-        wds = ALLOCV_N(BDIGIT, work, wn);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    u1ds = wds; wds += u1n;</div><div class='del'>-    u2ds = wds; wds += u2n;</div><div class='del'>-    u3ds = wds; wds += u3n;</div><div class='del'>-</div><div class='del'>-    v1ds = wds; wds += v1n;</div><div class='del'>-    v2ds = wds; wds += v2n;</div><div class='del'>-    v3ds = wds; wds += v3n;</div><div class='del'>-</div><div class='del'>-    t0ds = wds; wds += t0n;</div><div class='del'>-    t1ds = wds; wds += t1n;</div><div class='del'>-    t2ds = wds; wds += t2n;</div><div class='del'>-    t3ds = wds; wds += t3n;</div><div class='del'>-    t4ds = wds; wds += t4n;</div><div class='del'>-</div><div class='del'>-    z1ds = wds; wds += z1n;</div><div class='del'>-    z2ds = wds; wds += z2n;</div><div class='del'>-    z3ds = wds; wds += z3n;</div><div class='del'>-</div><div class='del'>-    wn -= wnc;</div><div class='del'>-</div><div class='del'>-    zzds = u1ds;</div><div class='del'>-    zzn = 6*n+1;</div><div class='del'>-</div><div class='del'>-    x0n = n;</div><div class='del'>-    x1n = n;</div><div class='del'>-    x2n = xn - 2*n;</div><div class='del'>-    x0ds = xds;</div><div class='del'>-    x1ds = xds + n;</div><div class='del'>-    x2ds = xds + 2*n;</div><div class='del'>-</div><div class='del'>-    if (sq) {</div><div class='del'>-        y0n = x0n;</div><div class='del'>-        y1n = x1n;</div><div class='del'>-        y2n = x2n;</div><div class='del'>-        y0ds = x0ds;</div><div class='del'>-        y1ds = x1ds;</div><div class='del'>-        y2ds = x2ds;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        y0n = n;</div><div class='del'>-        y1n = n;</div><div class='del'>-        y2n = yn - 2*n;</div><div class='del'>-        y0ds = yds;</div><div class='del'>-        y1ds = yds + n;</div><div class='del'>-        y2ds = yds + 2*n;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * ref. http://en.wikipedia.org/wiki/Toom%E2%80%93Cook_multiplication</div><div class='del'>-     *</div><div class='del'>-     * x(b) = x0 * b^0 + x1 * b^1 + x2 * b^2</div><div class='del'>-     * y(b) = y0 * b^0 + y1 * b^1 + y2 * b^2</div><div class='del'>-     *</div><div class='del'>-     * z(b) = x(b) * y(b)</div><div class='del'>-     * z(b) = z0 * b^0 + z1 * b^1 + z2 * b^2 + z3 * b^3 + z4 * b^4</div><div class='del'>-     * where:</div><div class='del'>-     *   z0 = x0 * y0</div><div class='del'>-     *   z1 = x0 * y1 + x1 * y0</div><div class='del'>-     *   z2 = x0 * y2 + x1 * y1 + x2 * y0</div><div class='del'>-     *   z3 = x1 * y2 + x2 * y1</div><div class='del'>-     *   z4 = x2 * y2</div><div class='del'>-     *</div><div class='del'>-     * Toom3 method (a.k.a. Toom-Cook method):</div><div class='del'>-     * (Step1) calculating 5 points z(b0), z(b1), z(b2), z(b3), z(b4),</div><div class='del'>-     * where:</div><div class='del'>-     *   b0 = 0, b1 = 1, b2 = -1, b3 = -2, b4 = inf,</div><div class='del'>-     *   z(0)   = x(0)   * y(0)   = x0 * y0</div><div class='del'>-     *   z(1)   = x(1)   * y(1)   = (x0 + x1 + x2) * (y0 + y1 + y2)</div><div class='del'>-     *   z(-1)  = x(-1)  * y(-1)  = (x0 - x1 + x2) * (y0 - y1 + y2)</div><div class='del'>-     *   z(-2)  = x(-2)  * y(-2)  = (x0 - 2 * (x1 - 2 * x2)) * (y0 - 2 * (y1 - 2 * y2))</div><div class='del'>-     *   z(inf) = x(inf) * y(inf) = x2 * y2</div><div class='del'>-     *</div><div class='del'>-     * (Step2) interpolating z0, z1, z2, z3 and z4.</div><div class='del'>-     *</div><div class='del'>-     * (Step3) Substituting base value into b of the polynomial z(b),</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * [Step1] calculating 5 points z(b0), z(b1), z(b2), z(b3), z(b4)</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    /* u1 &lt;- x0 + x2 */</div><div class='del'>-    bary_add(u1ds, u1n, x0ds, x0n, x2ds, x2n);</div><div class='del'>-    u1p = 1;</div><div class='del'>-</div><div class='del'>-    /* x(-1) : u2 &lt;- u1 - x1 = x0 - x1 + x2 */</div><div class='del'>-    if (bary_sub(u2ds, u2n, u1ds, u1n, x1ds, x1n)) {</div><div class='del'>-        bary_2comp(u2ds, u2n);</div><div class='del'>-        u2p = 0;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        u2p = 1;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* x(1) : u1 &lt;- u1 + x1 = x0 + x1 + x2 */</div><div class='del'>-    bary_add(u1ds, u1n, u1ds, u1n, x1ds, x1n);</div><div class='del'>-</div><div class='del'>-    /* x(-2) : u3 &lt;- 2 * (u2 + x2) - x0 = x0 - 2 * (x1 - 2 * x2) */</div><div class='del'>-    u3p = 1;</div><div class='del'>-    if (u2p) {</div><div class='del'>-        bary_add(u3ds, u3n, u2ds, u2n, x2ds, x2n);</div><div class='del'>-    }</div><div class='del'>-    else if (bary_sub(u3ds, u3n, x2ds, x2n, u2ds, u2n)) {</div><div class='del'>-        bary_2comp(u3ds, u3n);</div><div class='del'>-        u3p = 0;</div><div class='del'>-    }</div><div class='del'>-    bary_small_lshift(u3ds, u3ds, u3n, 1);</div><div class='del'>-    if (!u3p) {</div><div class='del'>-        bary_add(u3ds, u3n, u3ds, u3n, x0ds, x0n);</div><div class='del'>-    }</div><div class='del'>-    else if (bary_sub(u3ds, u3n, u3ds, u3n, x0ds, x0n)) {</div><div class='del'>-        bary_2comp(u3ds, u3n);</div><div class='del'>-        u3p = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (sq) {</div><div class='del'>-        v1n = u1n; v1ds = u1ds; v1p = u1p;</div><div class='del'>-        v2n = u2n; v2ds = u2ds; v2p = u2p;</div><div class='del'>-        v3n = u3n; v3ds = u3ds; v3p = u3p;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* v1 &lt;- y0 + y2 */</div><div class='del'>-        bary_add(v1ds, v1n, y0ds, y0n, y2ds, y2n);</div><div class='del'>-        v1p = 1;</div><div class='del'>-</div><div class='del'>-	/* y(-1) : v2 &lt;- v1 - y1 = y0 - y1 + y2 */</div><div class='del'>-        v2p = 1;</div><div class='del'>-        if (bary_sub(v2ds, v2n, v1ds, v1n, y1ds, y1n)) {</div><div class='del'>-            bary_2comp(v2ds, v2n);</div><div class='del'>-            v2p = 0;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-	/* y(1) : v1 &lt;- v1 + y1 = y0 + y1 + y2 */</div><div class='del'>-        bary_add(v1ds, v1n, v1ds, v1n, y1ds, y1n);</div><div class='del'>-</div><div class='del'>-	/* y(-2) : v3 &lt;- 2 * (v2 + y2) - y0 = y0 - 2 * (y1 - 2 * y2) */</div><div class='del'>-        v3p = 1;</div><div class='del'>-        if (v2p) {</div><div class='del'>-            bary_add(v3ds, v3n, v2ds, v2n, y2ds, y2n);</div><div class='del'>-        }</div><div class='del'>-        else if (bary_sub(v3ds, v3n, y2ds, y2n, v2ds, v2n)) {</div><div class='del'>-            bary_2comp(v3ds, v3n);</div><div class='del'>-            v3p = 0;</div><div class='del'>-        }</div><div class='del'>-        bary_small_lshift(v3ds, v3ds, v3n, 1);</div><div class='del'>-        if (!v3p) {</div><div class='del'>-            bary_add(v3ds, v3n, v3ds, v3n, y0ds, y0n);</div><div class='del'>-        }</div><div class='del'>-        else if (bary_sub(v3ds, v3n, v3ds, v3n, y0ds, y0n)) {</div><div class='del'>-            bary_2comp(v3ds, v3n);</div><div class='del'>-            v3p = 0;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* z(0) : t0 &lt;- x0 * y0 */</div><div class='del'>-    bary_mul_toom3_start(t0ds, t0n, x0ds, x0n, y0ds, y0n, wds, wn);</div><div class='del'>-    t0p = 1;</div><div class='del'>-</div><div class='del'>-    /* z(1) : t1 &lt;- u1 * v1 */</div><div class='del'>-    bary_mul_toom3_start(t1ds, t1n, u1ds, u1n, v1ds, v1n, wds, wn);</div><div class='del'>-    t1p = u1p == v1p;</div><div class='del'>-    assert(t1ds[t1n-1] == 0);</div><div class='del'>-    t1n--;</div><div class='del'>-</div><div class='del'>-    /* z(-1) : t2 &lt;- u2 * v2 */</div><div class='del'>-    bary_mul_toom3_start(t2ds, t2n, u2ds, u2n, v2ds, v2n, wds, wn);</div><div class='del'>-    t2p = u2p == v2p;</div><div class='del'>-    assert(t2ds[t2n-1] == 0);</div><div class='del'>-    t2n--;</div><div class='del'>-</div><div class='del'>-    /* z(-2) : t3 &lt;- u3 * v3 */</div><div class='del'>-    bary_mul_toom3_start(t3ds, t3n, u3ds, u3n, v3ds, v3n, wds, wn);</div><div class='del'>-    t3p = u3p == v3p;</div><div class='del'>-    assert(t3ds[t3n-1] == 0);</div><div class='del'>-    t3n--;</div><div class='del'>-</div><div class='del'>-    /* z(inf) : t4 &lt;- x2 * y2 */</div><div class='del'>-    bary_mul_toom3_start(t4ds, t4n, x2ds, x2n, y2ds, y2n, wds, wn);</div><div class='del'>-    t4p = 1;</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * [Step2] interpolating z0, z1, z2, z3 and z4.</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    /* z0 &lt;- z(0) == t0 */</div><div class='del'>-    z0n = t0n; z0ds = t0ds;</div><div class='del'>-</div><div class='del'>-    /* z4 &lt;- z(inf) == t4 */</div><div class='del'>-    z4n = t4n; z4ds = t4ds;</div><div class='del'>-</div><div class='del'>-    /* z3 &lt;- (z(-2) - z(1)) / 3 == (t3 - t1) / 3 */</div><div class='del'>-    if (t3p == t1p) {</div><div class='del'>-        z3p = t3p;</div><div class='del'>-        if (bary_sub(z3ds, z3n, t3ds, t3n, t1ds, t1n)) {</div><div class='del'>-            bary_2comp(z3ds, z3n);</div><div class='del'>-            z3p = !z3p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        z3p = t3p;</div><div class='del'>-        bary_add(z3ds, z3n, t3ds, t3n, t1ds, t1n);</div><div class='del'>-    }</div><div class='del'>-    bigdivrem_single(z3ds, z3ds, z3n, 3);</div><div class='del'>-</div><div class='del'>-    /* z1 &lt;- (z(1) - z(-1)) / 2 == (t1 - t2) / 2 */</div><div class='del'>-    if (t1p == t2p) {</div><div class='del'>-        z1p = t1p;</div><div class='del'>-        if (bary_sub(z1ds, z1n, t1ds, t1n, t2ds, t2n)) {</div><div class='del'>-            bary_2comp(z1ds, z1n);</div><div class='del'>-            z1p = !z1p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        z1p = t1p;</div><div class='del'>-        bary_add(z1ds, z1n, t1ds, t1n, t2ds, t2n);</div><div class='del'>-    }</div><div class='del'>-    bary_small_rshift(z1ds, z1ds, z1n, 1, 0);</div><div class='del'>-</div><div class='del'>-    /* z2 &lt;- z(-1) - z(0) == t2 - t0 */</div><div class='del'>-    if (t2p == t0p) {</div><div class='del'>-        z2p = t2p;</div><div class='del'>-        if (bary_sub(z2ds, z2n, t2ds, t2n, t0ds, t0n)) {</div><div class='del'>-            bary_2comp(z2ds, z2n);</div><div class='del'>-            z2p = !z2p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        z2p = t2p;</div><div class='del'>-        bary_add(z2ds, z2n, t2ds, t2n, t0ds, t0n);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* z3 &lt;- (z2 - z3) / 2 + 2 * z(inf) == (z2 - z3) / 2 + 2 * t4 */</div><div class='del'>-    if (z2p == z3p) {</div><div class='del'>-        z3p = z2p;</div><div class='del'>-        if (bary_sub(z3ds, z3n, z2ds, z2n, z3ds, z3n)) {</div><div class='del'>-            bary_2comp(z3ds, z3n);</div><div class='del'>-            z3p = !z3p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        z3p = z2p;</div><div class='del'>-        bary_add(z3ds, z3n, z2ds, z2n, z3ds, z3n);</div><div class='del'>-    }</div><div class='del'>-    bary_small_rshift(z3ds, z3ds, z3n, 1, 0);</div><div class='del'>-    if (z3p == t4p) {</div><div class='del'>-        bary_muladd_1xN(z3ds, z3n, 2, t4ds, t4n);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (bary_mulsub_1xN(z3ds, z3n, 2, t4ds, t4n)) {</div><div class='del'>-            bary_2comp(z3ds, z3n);</div><div class='del'>-            z3p = !z3p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* z2 &lt;- z2 + z1 - z(inf) == z2 + z1 - t4 */</div><div class='del'>-    if (z2p == z1p) {</div><div class='del'>-        bary_add(z2ds, z2n, z2ds, z2n, z1ds, z1n);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (bary_sub(z2ds, z2n, z2ds, z2n, z1ds, z1n)) {</div><div class='del'>-            bary_2comp(z2ds, z2n);</div><div class='del'>-            z2p = !z2p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (z2p == t4p) {</div><div class='del'>-        if (bary_sub(z2ds, z2n, z2ds, z2n, t4ds, t4n)) {</div><div class='del'>-            bary_2comp(z2ds, z2n);</div><div class='del'>-            z2p = !z2p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        bary_add(z2ds, z2n, z2ds, z2n, t4ds, t4n);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* z1 &lt;- z1 - z3 */</div><div class='del'>-    if (z1p == z3p) {</div><div class='del'>-        if (bary_sub(z1ds, z1n, z1ds, z1n, z3ds, z3n)) {</div><div class='del'>-            bary_2comp(z1ds, z1n);</div><div class='del'>-            z1p = !z1p;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        bary_add(z1ds, z1n, z1ds, z1n, z3ds, z3n);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * [Step3] Substituting base value into b of the polynomial z(b),</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    MEMCPY(zzds, z0ds, BDIGIT, z0n);</div><div class='del'>-    BDIGITS_ZERO(zzds + z0n, 4*n - z0n);</div><div class='del'>-    MEMCPY(zzds + 4*n, z4ds, BDIGIT, z4n);</div><div class='del'>-    BDIGITS_ZERO(zzds + 4*n + z4n, zzn - (4*n + z4n));</div><div class='del'>-    if (z1p)</div><div class='del'>-        bary_add(zzds +   n, zzn -   n, zzds +   n, zzn -   n, z1ds, z1n);</div><div class='del'>-    else</div><div class='del'>-        bary_sub(zzds +   n, zzn -   n, zzds +   n, zzn -   n, z1ds, z1n);</div><div class='del'>-    if (z2p)</div><div class='del'>-        bary_add(zzds + 2*n, zzn - 2*n, zzds + 2*n, zzn - 2*n, z2ds, z2n);</div><div class='del'>-    else</div><div class='del'>-        bary_sub(zzds + 2*n, zzn - 2*n, zzds + 2*n, zzn - 2*n, z2ds, z2n);</div><div class='del'>-    if (z3p)</div><div class='del'>-        bary_add(zzds + 3*n, zzn - 3*n, zzds + 3*n, zzn - 3*n, z3ds, z3n);</div><div class='del'>-    else</div><div class='del'>-        bary_sub(zzds + 3*n, zzn - 3*n, zzds + 3*n, zzn - 3*n, z3ds, z3n);</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(zzds, zzn);</div><div class='del'>-    MEMCPY(zds, zzds, BDIGIT, zzn);</div><div class='del'>-    BDIGITS_ZERO(zds + zzn, zn - zzn);</div><div class='del'>-</div><div class='del'>-    if (work)</div><div class='del'>-        ALLOCV_END(work);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_mul_toom3(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='del'>-    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    if (xn &gt; yn || yn &lt; 3 || !TOOM3_BALANCED(xn,yn))</div><div class='del'>-        rb_raise(rb_eArgError, "unexpected bignum length for toom3");</div><div class='del'>-    bary_mul_toom3(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, NULL, 0);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-static void</div><div class='del'>-bary_mul_gmp(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='del'>-    mpz_t x, y, z;</div><div class='del'>-    size_t count;</div><div class='del'>-</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    mpz_init(x);</div><div class='del'>-    mpz_init(y);</div><div class='del'>-    mpz_init(z);</div><div class='del'>-    mpz_import(x, xn, -1, sizeof(BDIGIT), 0, nails, xds);</div><div class='del'>-    if (xds == yds &amp;&amp; xn == yn) {</div><div class='del'>-        mpz_mul(z, x, x);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        mpz_import(y, yn, -1, sizeof(BDIGIT), 0, nails, yds);</div><div class='del'>-        mpz_mul(z, x, y);</div><div class='del'>-    }</div><div class='del'>-    mpz_export(zds, &amp;count, -1, sizeof(BDIGIT), 0, nails, z);</div><div class='del'>-    BDIGITS_ZERO(zds+count, zn-count);</div><div class='del'>-    mpz_clear(x);</div><div class='del'>-    mpz_clear(y);</div><div class='del'>-    mpz_clear(z);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_mul_gmp(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='del'>-    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    bary_mul_gmp(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_short_mul(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    if (xn == 1 &amp;&amp; yn == 1) {</div><div class='del'>-        bary_mul_single(zds, zn, xds[0], yds[0]);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        bary_mul_normal(zds, zn, xds, xn, yds, yn);</div><div class='del'>-        rb_thread_check_ints();</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* determine whether a bignum is sparse or not by random sampling */</div><div class='del'>-static inline int</div><div class='del'>-bary_sparse_p(const BDIGIT *ds, size_t n)</div><div class='del'>-{</div><div class='del'>-    long c = 0;</div><div class='del'>-</div><div class='del'>-    if (          ds[rb_genrand_ulong_limited(n / 2) + n / 4]) c++;</div><div class='del'>-    if (c &lt;= 1 &amp;&amp; ds[rb_genrand_ulong_limited(n / 2) + n / 4]) c++;</div><div class='del'>-    if (c &lt;= 1 &amp;&amp; ds[rb_genrand_ulong_limited(n / 2) + n / 4]) c++;</div><div class='del'>-</div><div class='del'>-    return (c &lt;= 1) ? 1 : 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bary_mul_precheck(BDIGIT **zdsp, size_t *znp, const BDIGIT **xdsp, size_t *xnp, const BDIGIT **ydsp, size_t *ynp)</div><div class='del'>-{</div><div class='del'>-    size_t nlsz; /* number of least significant zero BDIGITs */</div><div class='del'>-</div><div class='del'>-    BDIGIT *zds = *zdsp;</div><div class='del'>-    size_t zn = *znp;</div><div class='del'>-    const BDIGIT *xds = *xdsp;</div><div class='del'>-    size_t xn = *xnp;</div><div class='del'>-    const BDIGIT *yds = *ydsp;</div><div class='del'>-    size_t yn = *ynp;</div><div class='del'>-</div><div class='del'>-    assert(xn + yn &lt;= zn);</div><div class='del'>-</div><div class='del'>-    nlsz = 0;</div><div class='del'>-</div><div class='del'>-    while (0 &lt; xn) {</div><div class='del'>-        if (xds[xn-1] == 0) {</div><div class='del'>-            xn--;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            do {</div><div class='del'>-                if (xds[0] != 0)</div><div class='del'>-                    break;</div><div class='del'>-                xds++;</div><div class='del'>-                xn--;</div><div class='del'>-                nlsz++;</div><div class='del'>-            } while (0 &lt; xn);</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    while (0 &lt; yn) {</div><div class='del'>-        if (yds[yn-1] == 0) {</div><div class='del'>-            yn--;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            do {</div><div class='del'>-                if (yds[0] != 0)</div><div class='del'>-                    break;</div><div class='del'>-                yds++;</div><div class='del'>-                yn--;</div><div class='del'>-                nlsz++;</div><div class='del'>-            } while (0 &lt; yn);</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (nlsz) {</div><div class='del'>-        BDIGITS_ZERO(zds, nlsz);</div><div class='del'>-        zds += nlsz;</div><div class='del'>-        zn -= nlsz;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* make sure that y is longer than x */</div><div class='del'>-    if (xn &gt; yn) {</div><div class='del'>-        const BDIGIT *tds;</div><div class='del'>-        size_t tn;</div><div class='del'>-	tds = xds; xds = yds; yds = tds;</div><div class='del'>-	tn = xn; xn = yn; yn = tn;</div><div class='del'>-    }</div><div class='del'>-    assert(xn &lt;= yn);</div><div class='del'>-</div><div class='del'>-    if (xn &lt;= 1) {</div><div class='del'>-        if (xn == 0) {</div><div class='del'>-            BDIGITS_ZERO(zds, zn);</div><div class='del'>-            return 1;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        if (xds[0] == 1) {</div><div class='del'>-            MEMCPY(zds, yds, BDIGIT, yn);</div><div class='del'>-            BDIGITS_ZERO(zds+yn, zn-yn);</div><div class='del'>-            return 1;</div><div class='del'>-        }</div><div class='del'>-        if (POW2_P(xds[0])) {</div><div class='del'>-            zds[yn] = bary_small_lshift(zds, yds, yn, bit_length(xds[0])-1);</div><div class='del'>-            BDIGITS_ZERO(zds+yn+1, zn-yn-1);</div><div class='del'>-            return 1;</div><div class='del'>-        }</div><div class='del'>-        if (yn == 1 &amp;&amp; yds[0] == 1) {</div><div class='del'>-            zds[0] = xds[0];</div><div class='del'>-            BDIGITS_ZERO(zds+1, zn-1);</div><div class='del'>-            return 1;</div><div class='del'>-        }</div><div class='del'>-        bary_mul_normal(zds, zn, xds, xn, yds, yn);</div><div class='del'>-        return 1;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *zdsp = zds;</div><div class='del'>-    *znp = zn;</div><div class='del'>-    *xdsp = xds;</div><div class='del'>-    *xnp = xn;</div><div class='del'>-    *ydsp = yds;</div><div class='del'>-    *ynp = yn;</div><div class='del'>-</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_karatsuba_branch(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn)</div><div class='del'>-{</div><div class='del'>-    /* normal multiplication when x is small */</div><div class='del'>-    if (xn &lt; KARATSUBA_MUL_DIGITS) {</div><div class='del'>-      normal:</div><div class='del'>-        if (xds == yds &amp;&amp; xn == yn)</div><div class='del'>-            bary_sq_fast(zds, zn, xds, xn);</div><div class='del'>-        else</div><div class='del'>-            bary_short_mul(zds, zn, xds, xn, yds, yn);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* normal multiplication when x or y is a sparse bignum */</div><div class='del'>-    if (bary_sparse_p(xds, xn)) goto normal;</div><div class='del'>-    if (bary_sparse_p(yds, yn)) {</div><div class='del'>-        bary_short_mul(zds, zn, yds, yn, xds, xn);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* balance multiplication by slicing y when x is much smaller than y */</div><div class='del'>-    if (!KARATSUBA_BALANCED(xn, yn)) {</div><div class='del'>-        bary_mul_balance_with_mulfunc(zds, zn, xds, xn, yds, yn, wds, wn, bary_mul_karatsuba_start);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* multiplication by karatsuba method */</div><div class='del'>-    bary_mul_karatsuba(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_karatsuba_start(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn)</div><div class='del'>-{</div><div class='del'>-    if (bary_mul_precheck(&amp;zds, &amp;zn, &amp;xds, &amp;xn, &amp;yds, &amp;yn))</div><div class='del'>-        return;</div><div class='del'>-</div><div class='del'>-    bary_mul_karatsuba_branch(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_toom3_branch(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn)</div><div class='del'>-{</div><div class='del'>-    if (xn &lt; TOOM3_MUL_DIGITS) {</div><div class='del'>-        bary_mul_karatsuba_branch(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!TOOM3_BALANCED(xn, yn)) {</div><div class='del'>-        bary_mul_balance_with_mulfunc(zds, zn, xds, xn, yds, yn, wds, wn, bary_mul_toom3_start);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    bary_mul_toom3(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul_toom3_start(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, BDIGIT *wds, size_t wn)</div><div class='del'>-{</div><div class='del'>-    if (bary_mul_precheck(&amp;zds, &amp;zn, &amp;xds, &amp;xn, &amp;yds, &amp;yn))</div><div class='del'>-        return;</div><div class='del'>-</div><div class='del'>-    bary_mul_toom3_branch(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_mul(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    if (xn &lt;= yn) {</div><div class='del'>-        if (xn &lt; NAIVE_MUL_DIGITS) {</div><div class='del'>-            if (xds == yds &amp;&amp; xn == yn)</div><div class='del'>-                bary_sq_fast(zds, zn, xds, xn);</div><div class='del'>-            else</div><div class='del'>-                bary_short_mul(zds, zn, xds, xn, yds, yn);</div><div class='del'>-            return;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (yn &lt; NAIVE_MUL_DIGITS) {</div><div class='del'>-            bary_short_mul(zds, zn, yds, yn, xds, xn);</div><div class='del'>-            return;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-    bary_mul_gmp(zds, zn, xds, xn, yds, yn);</div><div class='del'>-#else</div><div class='del'>-    bary_mul_toom3_start(zds, zn, xds, xn, yds, yn, NULL, 0);</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct big_div_struct {</div><div class='del'>-    size_t yn, zn;</div><div class='del'>-    BDIGIT *yds, *zds;</div><div class='del'>-    volatile VALUE stop;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-bigdivrem1(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct big_div_struct *bds = (struct big_div_struct*)ptr;</div><div class='del'>-    size_t yn = bds-&gt;yn;</div><div class='del'>-    size_t zn = bds-&gt;zn;</div><div class='del'>-    BDIGIT *yds = bds-&gt;yds, *zds = bds-&gt;zds;</div><div class='del'>-    BDIGIT_DBL_SIGNED num;</div><div class='del'>-    BDIGIT q;</div><div class='del'>-</div><div class='del'>-    do {</div><div class='del'>-	if (bds-&gt;stop) {</div><div class='del'>-	    bds-&gt;zn = zn;</div><div class='del'>-	    return 0;</div><div class='del'>-        }</div><div class='del'>-	if (zds[zn-1] == yds[yn-1]) q = BDIGMAX;</div><div class='del'>-	else q = (BDIGIT)((BIGUP(zds[zn-1]) + zds[zn-2])/yds[yn-1]);</div><div class='del'>-	if (q) {</div><div class='del'>-            num = bigdivrem_mulsub(zds+zn-(yn+1), yn+1,</div><div class='del'>-                                   q,</div><div class='del'>-                                   yds, yn);</div><div class='del'>-	    while (num) { /* "add back" required */</div><div class='del'>-		q--;</div><div class='del'>-                num = bary_add(zds+zn-(yn+1), yn,</div><div class='del'>-                               zds+zn-(yn+1), yn,</div><div class='del'>-                               yds, yn);</div><div class='del'>-                num--;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-        zn--;</div><div class='del'>-	zds[zn] = q;</div><div class='del'>-    } while (zn &gt; yn);</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_big_stop(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct big_div_struct *bds = ptr;</div><div class='del'>-    bds-&gt;stop = Qtrue;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static BDIGIT</div><div class='del'>-bigdivrem_single1(BDIGIT *qds, const BDIGIT *xds, size_t xn, BDIGIT x_higher_bdigit, BDIGIT y)</div><div class='del'>-{</div><div class='del'>-    assert(0 &lt; xn);</div><div class='del'>-    assert(x_higher_bdigit &lt; y);</div><div class='del'>-    if (POW2_P(y)) {</div><div class='del'>-        BDIGIT r;</div><div class='del'>-        r = xds[0] &amp; (y-1);</div><div class='del'>-        bary_small_rshift(qds, xds, xn, bit_length(y)-1, x_higher_bdigit);</div><div class='del'>-        return r;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        size_t i;</div><div class='del'>-        BDIGIT_DBL t2;</div><div class='del'>-        t2 = x_higher_bdigit;</div><div class='del'>-        for (i = 0; i &lt; xn; i++) {</div><div class='del'>-            t2 = BIGUP(t2) + xds[xn - i - 1];</div><div class='del'>-            qds[xn - i - 1] = (BDIGIT)(t2 / y);</div><div class='del'>-            t2 %= y;</div><div class='del'>-        }</div><div class='del'>-        return (BDIGIT)t2;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static BDIGIT</div><div class='del'>-bigdivrem_single(BDIGIT *qds, const BDIGIT *xds, size_t xn, BDIGIT y)</div><div class='del'>-{</div><div class='del'>-    return bigdivrem_single1(qds, xds, xn, 0, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bigdivrem_restoring(BDIGIT *zds, size_t zn, BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    struct big_div_struct bds;</div><div class='del'>-    size_t ynzero;</div><div class='del'>-</div><div class='del'>-    assert(yn &lt; zn);</div><div class='del'>-    assert(BDIGIT_MSB(yds[yn-1]));</div><div class='del'>-    assert(zds[zn-1] &lt; yds[yn-1]);</div><div class='del'>-</div><div class='del'>-    for (ynzero = 0; !yds[ynzero]; ynzero++);</div><div class='del'>-</div><div class='del'>-    if (ynzero+1 == yn) {</div><div class='del'>-        BDIGIT r;</div><div class='del'>-        r = bigdivrem_single1(zds+yn, zds+ynzero, zn-yn, zds[zn-1], yds[ynzero]);</div><div class='del'>-        zds[ynzero] = r;</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    bds.yn = yn - ynzero;</div><div class='del'>-    bds.zds = zds + ynzero;</div><div class='del'>-    bds.yds = yds + ynzero;</div><div class='del'>-    bds.stop = Qfalse;</div><div class='del'>-    bds.zn = zn - ynzero;</div><div class='del'>-    if (bds.zn &gt; 10000 || bds.yn &gt; 10000) {</div><div class='del'>-      retry:</div><div class='del'>-	bds.stop = Qfalse;</div><div class='del'>-	rb_thread_call_without_gvl(bigdivrem1, &amp;bds, rb_big_stop, &amp;bds);</div><div class='del'>-</div><div class='del'>-	if (bds.stop == Qtrue) {</div><div class='del'>-	    /* execute trap handler, but exception was not raised. */</div><div class='del'>-	    goto retry;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	bigdivrem1(&amp;bds);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_divmod_normal(BDIGIT *qds, size_t qn, BDIGIT *rds, size_t rn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    int shift;</div><div class='del'>-    BDIGIT *zds, *yyds;</div><div class='del'>-    size_t zn;</div><div class='del'>-    VALUE tmpyz = 0;</div><div class='del'>-</div><div class='del'>-    assert(yn &lt; xn || (xn == yn &amp;&amp; yds[yn - 1] &lt;= xds[xn - 1]));</div><div class='del'>-    assert(qds ? (xn - yn + 1) &lt;= qn : 1);</div><div class='del'>-    assert(rds ? yn &lt;= rn : 1);</div><div class='del'>-</div><div class='del'>-    zn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='del'>-</div><div class='del'>-    shift = nlz(yds[yn-1]);</div><div class='del'>-    if (shift) {</div><div class='del'>-        int alloc_y = !rds;</div><div class='del'>-        int alloc_z = !qds || qn &lt; zn;</div><div class='del'>-        if (alloc_y &amp;&amp; alloc_z) {</div><div class='del'>-            yyds = ALLOCV_N(BDIGIT, tmpyz, yn+zn);</div><div class='del'>-            zds = yyds + yn;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            yyds = alloc_y ? ALLOCV_N(BDIGIT, tmpyz, yn) : rds;</div><div class='del'>-            zds = alloc_z ? ALLOCV_N(BDIGIT, tmpyz, zn) : qds;</div><div class='del'>-        }</div><div class='del'>-        zds[xn] = bary_small_lshift(zds, xds, xn, shift);</div><div class='del'>-        bary_small_lshift(yyds, yds, yn, shift);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (qds &amp;&amp; zn &lt;= qn)</div><div class='del'>-            zds = qds;</div><div class='del'>-        else</div><div class='del'>-            zds = ALLOCV_N(BDIGIT, tmpyz, zn);</div><div class='del'>-        MEMCPY(zds, xds, BDIGIT, xn);</div><div class='del'>-        zds[xn] = 0;</div><div class='del'>-        /* bigdivrem_restoring will not modify y.</div><div class='del'>-         * So use yds directly.  */</div><div class='del'>-        yyds = (BDIGIT *)yds;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    bigdivrem_restoring(zds, zn, yyds, yn);</div><div class='del'>-</div><div class='del'>-    if (rds) {</div><div class='del'>-        if (shift)</div><div class='del'>-            bary_small_rshift(rds, zds, yn, shift, 0);</div><div class='del'>-        else</div><div class='del'>-            MEMCPY(rds, zds, BDIGIT, yn);</div><div class='del'>-        BDIGITS_ZERO(rds+yn, rn-yn);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (qds) {</div><div class='del'>-        size_t j = zn - yn;</div><div class='del'>-        MEMMOVE(qds, zds+yn, BDIGIT, j);</div><div class='del'>-        BDIGITS_ZERO(qds+j, qn-j);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (tmpyz)</div><div class='del'>-        ALLOCV_END(tmpyz);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_divrem_normal(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), qn, rn;</div><div class='del'>-    BDIGIT *xds = BDIGITS(x), *yds = BDIGITS(y), *qds, *rds;</div><div class='del'>-    VALUE q, r;</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(yds, yn);</div><div class='del'>-    if (yn == 0)</div><div class='del'>-        rb_num_zerodiv();</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-</div><div class='del'>-    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1]))</div><div class='del'>-        return rb_assoc_new(LONG2FIX(0), x);</div><div class='del'>-</div><div class='del'>-    qn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='del'>-    q = bignew(qn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    qds = BDIGITS(q);</div><div class='del'>-</div><div class='del'>-    rn = yn;</div><div class='del'>-    r = bignew(rn, BIGNUM_SIGN(x));</div><div class='del'>-    rds = BDIGITS(r);</div><div class='del'>-</div><div class='del'>-    bary_divmod_normal(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='del'>-</div><div class='del'>-    bigtrunc(q);</div><div class='del'>-    bigtrunc(r);</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-</div><div class='del'>-    return rb_assoc_new(q, r);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-static void</div><div class='del'>-bary_divmod_gmp(BDIGIT *qds, size_t qn, BDIGIT *rds, size_t rn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='del'>-    mpz_t x, y, q, r;</div><div class='del'>-    size_t count;</div><div class='del'>-</div><div class='del'>-    assert(yn &lt; xn || (xn == yn &amp;&amp; yds[yn - 1] &lt;= xds[xn - 1]));</div><div class='del'>-    assert(qds ? (xn - yn + 1) &lt;= qn : 1);</div><div class='del'>-    assert(rds ? yn &lt;= rn : 1);</div><div class='del'>-    assert(qds || rds);</div><div class='del'>-</div><div class='del'>-    mpz_init(x);</div><div class='del'>-    mpz_init(y);</div><div class='del'>-    if (qds) mpz_init(q);</div><div class='del'>-    if (rds) mpz_init(r);</div><div class='del'>-</div><div class='del'>-    mpz_import(x, xn, -1, sizeof(BDIGIT), 0, nails, xds);</div><div class='del'>-    mpz_import(y, yn, -1, sizeof(BDIGIT), 0, nails, yds);</div><div class='del'>-</div><div class='del'>-    if (!rds) {</div><div class='del'>-        mpz_fdiv_q(q, x, y);</div><div class='del'>-    }</div><div class='del'>-    else if (!qds) {</div><div class='del'>-        mpz_fdiv_r(r, x, y);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        mpz_fdiv_qr(q, r, x, y);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    mpz_clear(x);</div><div class='del'>-    mpz_clear(y);</div><div class='del'>-</div><div class='del'>-    if (qds) {</div><div class='del'>-        mpz_export(qds, &amp;count, -1, sizeof(BDIGIT), 0, nails, q);</div><div class='del'>-        BDIGITS_ZERO(qds+count, qn-count);</div><div class='del'>-        mpz_clear(q);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (rds) {</div><div class='del'>-        mpz_export(rds, &amp;count, -1, sizeof(BDIGIT), 0, nails, r);</div><div class='del'>-        BDIGITS_ZERO(rds+count, rn-count);</div><div class='del'>-        mpz_clear(r);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_divrem_gmp(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), qn, rn;</div><div class='del'>-    BDIGIT *xds = BDIGITS(x), *yds = BDIGITS(y), *qds, *rds;</div><div class='del'>-    VALUE q, r;</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(yds, yn);</div><div class='del'>-    if (yn == 0)</div><div class='del'>-        rb_num_zerodiv();</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-</div><div class='del'>-    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1]))</div><div class='del'>-        return rb_assoc_new(LONG2FIX(0), x);</div><div class='del'>-</div><div class='del'>-    qn = xn - yn + 1;</div><div class='del'>-    q = bignew(qn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-    qds = BDIGITS(q);</div><div class='del'>-</div><div class='del'>-    rn = yn;</div><div class='del'>-    r = bignew(rn, BIGNUM_SIGN(x));</div><div class='del'>-    rds = BDIGITS(r);</div><div class='del'>-</div><div class='del'>-    bary_divmod_gmp(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='del'>-</div><div class='del'>-    bigtrunc(q);</div><div class='del'>-    bigtrunc(r);</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-</div><div class='del'>-    return rb_assoc_new(q, r);</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-bary_divmod_branch(BDIGIT *qds, size_t qn, BDIGIT *rds, size_t rn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-    if (GMP_DIV_DIGITS &lt; xn) {</div><div class='del'>-        bary_divmod_gmp(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='add'>+#define DIGSPERLONG ((unsigned int)(SIZEOF_LONG/SIZEOF_BDIGITS))</div><div class='add'>+#if HAVE_LONG_LONG</div><div class='add'>+# define DIGSPERLL ((unsigned int)(SIZEOF_LONG_LONG/SIZEOF_BDIGITS))</div><div class='ctx'> #endif</div><div class='del'>-    bary_divmod_normal(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='del'>-}</div><div class='add'>+#define BIGUP(x) ((BDIGIT_DBL)(x) &lt;&lt; BITSPERDIG)</div><div class='add'>+#define BIGDN(x) RSHIFT(x,BITSPERDIG)</div><div class='add'>+#define BIGLO(x) ((BDIGIT)((x) &amp; (BIGRAD-1)))</div><div class='add'>+#define BDIGMAX ((BDIGIT)-1)</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-bary_divmod(BDIGIT *qds, size_t qn, BDIGIT *rds, size_t rn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='del'>-{</div><div class='del'>-    assert(xn &lt;= qn);</div><div class='del'>-    assert(yn &lt;= rn);</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(yds, yn);</div><div class='del'>-    if (yn == 0)</div><div class='del'>-        rb_num_zerodiv();</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-    if (xn == 0) {</div><div class='del'>-        BDIGITS_ZERO(qds, qn);</div><div class='del'>-        BDIGITS_ZERO(rds, rn);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1])) {</div><div class='del'>-        MEMCPY(rds, xds, BDIGIT, xn);</div><div class='del'>-        BDIGITS_ZERO(rds+xn, rn-xn);</div><div class='del'>-        BDIGITS_ZERO(qds, qn);</div><div class='del'>-    }</div><div class='del'>-    else if (yn == 1) {</div><div class='del'>-        MEMCPY(qds, xds, BDIGIT, xn);</div><div class='del'>-        BDIGITS_ZERO(qds+xn, qn-xn);</div><div class='del'>-        rds[0] = bigdivrem_single(qds, xds, xn, yds[0]);</div><div class='del'>-        BDIGITS_ZERO(rds+1, rn-1);</div><div class='del'>-    }</div><div class='del'>-    else if (xn == 2 &amp;&amp; yn == 2) {</div><div class='del'>-        BDIGIT_DBL x = bary2bdigitdbl(xds, 2);</div><div class='del'>-        BDIGIT_DBL y = bary2bdigitdbl(yds, 2);</div><div class='del'>-        BDIGIT_DBL q = x / y;</div><div class='del'>-        BDIGIT_DBL r = x % y;</div><div class='del'>-        qds[0] = BIGLO(q);</div><div class='del'>-        qds[1] = BIGLO(BIGDN(q));</div><div class='del'>-        BDIGITS_ZERO(qds+2, qn-2);</div><div class='del'>-        rds[0] = BIGLO(r);</div><div class='del'>-        rds[1] = BIGLO(BIGDN(r));</div><div class='del'>-        BDIGITS_ZERO(rds+2, rn-2);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        bary_divmod_branch(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#define BIGNUM_DEBUG 0</div><div class='del'>-#if BIGNUM_DEBUG</div><div class='del'>-#define ON_DEBUG(x) do { x; } while (0)</div><div class='del'>-static void</div><div class='del'>-dump_bignum(VALUE x)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-    printf("%c0x0", BIGNUM_SIGN(x) ? '+' : '-');</div><div class='del'>-    for (i = BIGNUM_LEN(x); i--; ) {</div><div class='del'>-        printf("_%0*"PRIxBDIGIT, SIZEOF_BDIGIT*2, BDIGITS(x)[i]);</div><div class='del'>-    }</div><div class='del'>-    printf(", len=%"PRIuSIZE, BIGNUM_LEN(x));</div><div class='del'>-    puts("");</div><div class='del'>-}</div><div class='add'>+#define BIGZEROP(x) (RBIGNUM(x)-&gt;len == 0 || (RBIGNUM(x)-&gt;len == 1 &amp;&amp; BDIGITS(x)[0] == 0))</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_dump(VALUE x)</div><div class='del'>-{</div><div class='del'>-    dump_bignum(x);</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-#define ON_DEBUG(x)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-bigzero_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return bary_zero_p(BDIGITS(x), BIGNUM_LEN(x));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_bigzero_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return BIGZEROP(x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_cmpint(VALUE val, VALUE a, VALUE b)</div><div class='del'>-{</div><div class='del'>-    if (NIL_P(val)) {</div><div class='del'>-	rb_cmperr(a, b);</div><div class='del'>-    }</div><div class='del'>-    if (FIXNUM_P(val)) {</div><div class='del'>-        long l = FIX2LONG(val);</div><div class='del'>-        if (l &gt; 0) return 1;</div><div class='del'>-        if (l &lt; 0) return -1;</div><div class='del'>-        return 0;</div><div class='del'>-    }</div><div class='del'>-    if (RB_BIGNUM_TYPE_P(val)) {</div><div class='del'>-	if (BIGZEROP(val)) return 0;</div><div class='del'>-	if (BIGNUM_SIGN(val)) return 1;</div><div class='del'>-	return -1;</div><div class='del'>-    }</div><div class='del'>-    if (RTEST(rb_funcall(val, '&gt;', 1, INT2FIX(0)))) return 1;</div><div class='del'>-    if (RTEST(rb_funcall(val, '&lt;', 1, INT2FIX(0)))) return -1;</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define BIGNUM_SET_LEN(b,l) \</div><div class='del'>-    ((RBASIC(b)-&gt;flags &amp; BIGNUM_EMBED_FLAG) ? \</div><div class='del'>-     (void)(RBASIC(b)-&gt;flags = \</div><div class='del'>-	    (RBASIC(b)-&gt;flags &amp; ~BIGNUM_EMBED_LEN_MASK) | \</div><div class='del'>-	    ((l) &lt;&lt; BIGNUM_EMBED_LEN_SHIFT)) : \</div><div class='del'>-     (void)(RBIGNUM(b)-&gt;as.heap.len = (l)))</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_big_realloc(VALUE big, size_t len)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *ds;</div><div class='del'>-    if (RBASIC(big)-&gt;flags &amp; BIGNUM_EMBED_FLAG) {</div><div class='del'>-	if (BIGNUM_EMBED_LEN_MAX &lt; len) {</div><div class='del'>-	    ds = ALLOC_N(BDIGIT, len);</div><div class='del'>-	    MEMCPY(ds, RBIGNUM(big)-&gt;as.ary, BDIGIT, BIGNUM_EMBED_LEN_MAX);</div><div class='del'>-	    RBIGNUM(big)-&gt;as.heap.len = BIGNUM_LEN(big);</div><div class='del'>-	    RBIGNUM(big)-&gt;as.heap.digits = ds;</div><div class='del'>-	    RBASIC(big)-&gt;flags &amp;= ~BIGNUM_EMBED_FLAG;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	if (len &lt;= BIGNUM_EMBED_LEN_MAX) {</div><div class='del'>-	    ds = RBIGNUM(big)-&gt;as.heap.digits;</div><div class='del'>-	    RBASIC(big)-&gt;flags |= BIGNUM_EMBED_FLAG;</div><div class='del'>-	    BIGNUM_SET_LEN(big, len);</div><div class='del'>-            (void)VALGRIND_MAKE_MEM_UNDEFINED((void*)RBIGNUM(big)-&gt;as.ary, sizeof(RBIGNUM(big)-&gt;as.ary));</div><div class='del'>-	    if (ds) {</div><div class='del'>-		MEMCPY(RBIGNUM(big)-&gt;as.ary, ds, BDIGIT, len);</div><div class='del'>-		xfree(ds);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (BIGNUM_LEN(big) == 0) {</div><div class='del'>-		RBIGNUM(big)-&gt;as.heap.digits = ALLOC_N(BDIGIT, len);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		REALLOC_N(RBIGNUM(big)-&gt;as.heap.digits, BDIGIT, len);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_big_resize(VALUE big, size_t len)</div><div class='add'>+bignew_1(klass, len, sign)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    long len;</div><div class='add'>+    int sign;</div><div class='ctx'> {</div><div class='del'>-    rb_big_realloc(big, len);</div><div class='del'>-    BIGNUM_SET_LEN(big, len);</div><div class='del'>-}</div><div class='add'>+    NEWOBJ(big, struct RBignum);</div><div class='add'>+    OBJSETUP(big, klass, T_BIGNUM);</div><div class='add'>+    big-&gt;sign = sign?1:0;</div><div class='add'>+    big-&gt;len = len;</div><div class='add'>+    big-&gt;digits = ALLOC_N(BDIGIT, len);</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bignew_1(VALUE klass, size_t len, int sign)</div><div class='del'>-{</div><div class='del'>-    NEWOBJ_OF(big, struct RBignum, klass, T_BIGNUM | (RGENGC_WB_PROTECTED_BIGNUM ? FL_WB_PROTECTED : 0));</div><div class='del'>-    BIGNUM_SET_SIGN(big, sign);</div><div class='del'>-    if (len &lt;= BIGNUM_EMBED_LEN_MAX) {</div><div class='del'>-	RBASIC(big)-&gt;flags |= BIGNUM_EMBED_FLAG;</div><div class='del'>-	BIGNUM_SET_LEN(big, len);</div><div class='del'>-        (void)VALGRIND_MAKE_MEM_UNDEFINED((void*)RBIGNUM(big)-&gt;as.ary, sizeof(RBIGNUM(big)-&gt;as.ary));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	RBIGNUM(big)-&gt;as.heap.digits = ALLOC_N(BDIGIT, len);</div><div class='del'>-	RBIGNUM(big)-&gt;as.heap.len = len;</div><div class='del'>-    }</div><div class='del'>-    OBJ_FREEZE(big);</div><div class='ctx'>     return (VALUE)big;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_new(size_t len, int sign)</div><div class='del'>-{</div><div class='del'>-    return bignew(len, sign != 0);</div><div class='del'>-}</div><div class='add'>+#define bignew(len,sign) bignew_1(rb_cBignum,len,sign)</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_clone(VALUE x)</div><div class='add'>+rb_big_clone(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    size_t len = BIGNUM_LEN(x);</div><div class='del'>-    VALUE z = bignew_1(CLASS_OF(x), len, BIGNUM_SIGN(x));</div><div class='add'>+    VALUE z = bignew_1(CLASS_OF(x), RBIGNUM(x)-&gt;len, RBIGNUM(x)-&gt;sign);</div><div class='ctx'> </div><div class='del'>-    MEMCPY(BDIGITS(z), BDIGITS(x), BDIGIT, len);</div><div class='add'>+    MEMCPY(BDIGITS(z), BDIGITS(x), BDIGIT, RBIGNUM(x)-&gt;len);</div><div class='ctx'>     return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-big_extend_carry(VALUE x)</div><div class='del'>-{</div><div class='del'>-    rb_big_resize(x, BIGNUM_LEN(x)+1);</div><div class='del'>-    BDIGITS(x)[BIGNUM_LEN(x)-1] = 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /* modify a bignum by 2's complement */</div><div class='ctx'> static void</div><div class='del'>-get2comp(VALUE x)</div><div class='add'>+get2comp(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    long i = BIGNUM_LEN(x);</div><div class='add'>+    long i = RBIGNUM(x)-&gt;len;</div><div class='ctx'>     BDIGIT *ds = BDIGITS(x);</div><div class='add'>+    BDIGIT_DBL num;</div><div class='ctx'> </div><div class='del'>-    if (bary_2comp(ds, i)) {</div><div class='del'>-        big_extend_carry(x);</div><div class='add'>+    while (i--) ds[i] = ~ds[i];</div><div class='add'>+    i = 0; num = 1;</div><div class='add'>+    do {</div><div class='add'>+	num += ds[i];</div><div class='add'>+	ds[i++] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    } while (i &lt; RBIGNUM(x)-&gt;len);</div><div class='add'>+    if (num != 0) {</div><div class='add'>+	REALLOC_N(RBIGNUM(x)-&gt;digits, BDIGIT, ++RBIGNUM(x)-&gt;len);</div><div class='add'>+	ds = BDIGITS(x);</div><div class='add'>+	ds[RBIGNUM(x)-&gt;len-1] = RBIGNUM(x)-&gt;sign ? ~0 : 1;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_big_2comp(VALUE x)			/* get 2's complement */</div><div class='add'>+rb_big_2comp(x)			/* get 2's complement */</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     get2comp(x);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static BDIGIT</div><div class='del'>-abs2twocomp(VALUE *xp, long *n_ret)</div><div class='del'>-{</div><div class='del'>-    VALUE x = *xp;</div><div class='del'>-    long n = BIGNUM_LEN(x);</div><div class='del'>-    BDIGIT *ds = BDIGITS(x);</div><div class='del'>-    BDIGIT hibits = 0;</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(ds, n);</div><div class='del'>-</div><div class='del'>-    if (n != 0 &amp;&amp; BIGNUM_NEGATIVE_P(x)) {</div><div class='del'>-        VALUE z = bignew_1(CLASS_OF(x), n, 0);</div><div class='del'>-        MEMCPY(BDIGITS(z), ds, BDIGIT, n);</div><div class='del'>-        bary_2comp(BDIGITS(z), n);</div><div class='del'>-        hibits = BDIGMAX;</div><div class='del'>-	*xp = z;</div><div class='del'>-    }</div><div class='del'>-    *n_ret = n;</div><div class='del'>-    return hibits;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-twocomp2abs_bang(VALUE x, int hibits)</div><div class='del'>-{</div><div class='del'>-    BIGNUM_SET_SIGN(x, !hibits);</div><div class='del'>-    if (hibits) {</div><div class='del'>-        get2comp(x);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-bigtrunc(VALUE x)</div><div class='del'>-{</div><div class='del'>-    size_t len = BIGNUM_LEN(x);</div><div class='del'>-    BDIGIT *ds = BDIGITS(x);</div><div class='del'>-</div><div class='del'>-    if (len == 0) return x;</div><div class='del'>-    while (--len &amp;&amp; !ds[len]);</div><div class='del'>-    if (BIGNUM_LEN(x) &gt; len+1) {</div><div class='del'>-	rb_big_resize(x, len+1);</div><div class='del'>-    }</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-bigfixize(VALUE x)</div><div class='add'>+static VALUE</div><div class='add'>+bignorm(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    size_t n = BIGNUM_LEN(x);</div><div class='del'>-    BDIGIT *ds = BDIGITS(x);</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    unsigned long u;</div><div class='del'>-#else</div><div class='del'>-    BDIGIT u;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    BARY_TRUNC(ds, n);</div><div class='del'>-</div><div class='del'>-    if (n == 0) return INT2FIX(0);</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    if (sizeof(long)/SIZEOF_BDIGIT &lt; n)</div><div class='del'>-        goto return_big;</div><div class='del'>-    else {</div><div class='del'>-        int i = (int)n;</div><div class='del'>-        u = 0;</div><div class='del'>-        while (i--) {</div><div class='del'>-            u = (unsigned long)(BIGUP(u) + ds[i]);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-#else /* SIZEOF_BDIGIT &gt;= SIZEOF_LONG */</div><div class='del'>-    if (1 &lt; n)</div><div class='del'>-        goto return_big;</div><div class='del'>-    else</div><div class='del'>-        u = ds[0];</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    if (BIGNUM_POSITIVE_P(x)) {</div><div class='del'>-        if (POSFIXABLE(u)) return LONG2FIX((long)u);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (u &lt;= -FIXNUM_MIN) return LONG2FIX(-(long)u);</div><div class='add'>+    if (FIXNUM_P(x)) {</div><div class='add'>+      return x;</div><div class='ctx'>     }</div><div class='add'>+    else if (TYPE(x) == T_BIGNUM) {</div><div class='add'>+	long len = RBIGNUM(x)-&gt;len;</div><div class='add'>+	BDIGIT *ds = BDIGITS(x);</div><div class='ctx'> </div><div class='del'>-  return_big:</div><div class='del'>-    rb_big_resize(x, n);</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='add'>+	while (len-- &amp;&amp; !ds[len]) ;</div><div class='add'>+	RBIGNUM(x)-&gt;len = ++len;</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bignorm(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_BIGNUM_TYPE_P(x)) {</div><div class='del'>-	x = bigfixize(x);</div><div class='add'>+	if (len*SIZEOF_BDIGITS &lt;= sizeof(VALUE)) {</div><div class='add'>+	    long num = 0;</div><div class='add'>+	    while (len--) {</div><div class='add'>+		num = BIGUP(num) + ds[len];</div><div class='add'>+	    }</div><div class='add'>+	    if (num &gt;= 0) {</div><div class='add'>+		if (RBIGNUM(x)-&gt;sign) {</div><div class='add'>+		    if (POSFIXABLE(num)) return LONG2FIX(num);</div><div class='add'>+		}</div><div class='add'>+		else if (NEGFIXABLE(-(long)num)) return LONG2FIX(-(long)num);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'>     return x;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_norm(VALUE x)</div><div class='add'>+rb_big_norm(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     return bignorm(x);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_uint2big(uintptr_t n)</div><div class='add'>+rb_uint2big(n)</div><div class='add'>+    unsigned long n;</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    VALUE big = bignew(bdigit_roomof(SIZEOF_VALUE), 1);</div><div class='del'>-    BDIGIT *digits = BDIGITS(big);</div><div class='add'>+    BDIGIT_DBL num = n;</div><div class='add'>+    long i = 0;</div><div class='add'>+    BDIGIT *digits;</div><div class='add'>+    VALUE big;</div><div class='ctx'> </div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_VALUE</div><div class='del'>-    digits[0] = n;</div><div class='del'>-#else</div><div class='del'>-    for (i = 0; i &lt; bdigit_roomof(SIZEOF_VALUE); i++) {</div><div class='del'>-	digits[i] = BIGLO(n);</div><div class='del'>-	n = BIGDN(n);</div><div class='add'>+    big = bignew(DIGSPERLONG, 1);</div><div class='add'>+    digits = BDIGITS(big);</div><div class='add'>+    while (i &lt; DIGSPERLONG) {</div><div class='add'>+	digits[i++] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='del'>-    i = bdigit_roomof(SIZEOF_VALUE);</div><div class='add'>+    i = DIGSPERLONG;</div><div class='ctx'>     while (--i &amp;&amp; !digits[i]) ;</div><div class='del'>-    BIGNUM_SET_LEN(big, i+1);</div><div class='add'>+    RBIGNUM(big)-&gt;len = i+1;</div><div class='ctx'>     return big;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_int2big(intptr_t n)</div><div class='add'>+rb_int2big(n)</div><div class='add'>+    long n;</div><div class='ctx'> {</div><div class='ctx'>     long neg = 0;</div><div class='del'>-    VALUE u;</div><div class='ctx'>     VALUE big;</div><div class='ctx'> </div><div class='ctx'>     if (n &lt; 0) {</div><div class='del'>-        u = 1 + (VALUE)(-(n + 1)); /* u = -n avoiding overflow */</div><div class='add'>+	n = -n;</div><div class='ctx'> 	neg = 1;</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-        u = n;</div><div class='del'>-    }</div><div class='del'>-    big = rb_uint2big(u);</div><div class='add'>+    big = rb_uint2big(n);</div><div class='ctx'>     if (neg) {</div><div class='del'>-	BIGNUM_SET_NEGATIVE_SIGN(big);</div><div class='add'>+	RBIGNUM(big)-&gt;sign = 0;</div><div class='ctx'>     }</div><div class='ctx'>     return big;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_uint2inum(uintptr_t n)</div><div class='add'>+rb_uint2inum(n)</div><div class='add'>+    unsigned long n;</div><div class='ctx'> {</div><div class='ctx'>     if (POSFIXABLE(n)) return LONG2FIX(n);</div><div class='ctx'>     return rb_uint2big(n);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_int2inum(intptr_t n)</div><div class='add'>+rb_int2inum(n)</div><div class='add'>+    long n;</div><div class='ctx'> {</div><div class='ctx'>     if (FIXABLE(n)) return LONG2FIX(n);</div><div class='ctx'>     return rb_int2big(n);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-void</div><div class='del'>-rb_big_pack(VALUE val, unsigned long *buf, long num_longs)</div><div class='del'>-{</div><div class='del'>-    rb_integer_pack(val, buf, num_longs, sizeof(long), 0,</div><div class='del'>-            INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='del'>-            INTEGER_PACK_2COMP);</div><div class='del'>-}</div><div class='add'>+#ifdef HAVE_LONG_LONG</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_unpack(unsigned long *buf, long num_longs)</div><div class='del'>-{</div><div class='del'>-    return rb_integer_unpack(buf, num_longs, sizeof(long), 0,</div><div class='del'>-            INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='del'>-            INTEGER_PACK_2COMP);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Calculate the number of bytes to be required to represent</div><div class='del'>- * the absolute value of the integer given as _val_.</div><div class='del'>- *</div><div class='del'>- * [val] an integer.</div><div class='del'>- * [nlz_bits_ret] number of leading zero bits in the most significant byte is returned if not NULL.</div><div class='del'>- *</div><div class='del'>- * This function returns ((val_numbits * CHAR_BIT + CHAR_BIT - 1) / CHAR_BIT)</div><div class='del'>- * where val_numbits is the number of bits of abs(val).</div><div class='del'>- * This function should not overflow.</div><div class='del'>- *</div><div class='del'>- * If nlz_bits_ret is not NULL,</div><div class='del'>- * (return_value * CHAR_BIT - val_numbits) is stored in *nlz_bits_ret.</div><div class='del'>- * In this case, 0 &lt;= *nlz_bits_ret &lt; CHAR_BIT.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-size_t</div><div class='del'>-rb_absint_size(VALUE val, int *nlz_bits_ret)</div><div class='add'>+void</div><div class='add'>+rb_quad_pack(buf, val)</div><div class='add'>+    char *buf;</div><div class='add'>+    VALUE val;</div><div class='ctx'> {</div><div class='del'>-    BDIGIT *dp;</div><div class='del'>-    BDIGIT *de;</div><div class='del'>-    BDIGIT fixbuf[bdigit_roomof(sizeof(long))];</div><div class='del'>-</div><div class='del'>-    int num_leading_zeros;</div><div class='add'>+    LONG_LONG q;</div><div class='ctx'> </div><div class='ctx'>     val = rb_to_int(val);</div><div class='del'>-</div><div class='ctx'>     if (FIXNUM_P(val)) {</div><div class='del'>-        long v = FIX2LONG(val);</div><div class='del'>-        if (v &lt; 0) {</div><div class='del'>-            v = -v;</div><div class='del'>-        }</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-        fixbuf[0] = v;</div><div class='del'>-#else</div><div class='del'>-        {</div><div class='del'>-            int i;</div><div class='del'>-            for (i = 0; i &lt; numberof(fixbuf); i++) {</div><div class='del'>-                fixbuf[i] = BIGLO(v);</div><div class='del'>-                v = BIGDN(v);</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-        dp = fixbuf;</div><div class='del'>-        de = fixbuf + numberof(fixbuf);</div><div class='add'>+	q = FIX2LONG(val);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-        dp = BDIGITS(val);</div><div class='del'>-        de = dp + BIGNUM_LEN(val);</div><div class='del'>-    }</div><div class='del'>-    while (dp &lt; de &amp;&amp; de[-1] == 0)</div><div class='del'>-        de--;</div><div class='del'>-    if (dp == de) {</div><div class='del'>-        if (nlz_bits_ret)</div><div class='del'>-            *nlz_bits_ret = 0;</div><div class='del'>-        return 0;</div><div class='add'>+	long len = RBIGNUM(val)-&gt;len;</div><div class='add'>+	BDIGIT *ds;</div><div class='add'>+</div><div class='add'>+	if (len &gt; SIZEOF_LONG_LONG/SIZEOF_BDIGITS)</div><div class='add'>+	    rb_raise(rb_eRangeError, "bignum too big to convert into `quad int'");</div><div class='add'>+	ds = BDIGITS(val);</div><div class='add'>+	q = 0;</div><div class='add'>+	while (len--) {</div><div class='add'>+	    q = BIGUP(q);</div><div class='add'>+	    q += ds[len];</div><div class='add'>+	}</div><div class='add'>+	if (!RBIGNUM(val)-&gt;sign) q = -q;</div><div class='ctx'>     }</div><div class='del'>-    num_leading_zeros = nlz(de[-1]);</div><div class='del'>-    if (nlz_bits_ret)</div><div class='del'>-        *nlz_bits_ret = num_leading_zeros % CHAR_BIT;</div><div class='del'>-    return (de - dp) * SIZEOF_BDIGIT - num_leading_zeros / CHAR_BIT;</div><div class='add'>+    memcpy(buf, (char*)&amp;q, SIZEOF_LONG_LONG);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static size_t</div><div class='del'>-absint_numwords_small(size_t numbytes, int nlz_bits_in_msbyte, size_t word_numbits, size_t *nlz_bits_ret)</div><div class='add'>+VALUE</div><div class='add'>+rb_quad_unpack(buf, sign)</div><div class='add'>+    const char *buf;</div><div class='add'>+    int sign;</div><div class='ctx'> {</div><div class='del'>-    size_t val_numbits = numbytes * CHAR_BIT - nlz_bits_in_msbyte;</div><div class='del'>-    size_t div = val_numbits / word_numbits;</div><div class='del'>-    size_t mod = val_numbits % word_numbits;</div><div class='del'>-    size_t numwords;</div><div class='del'>-    size_t nlz_bits;</div><div class='del'>-    numwords = mod == 0 ? div : div + 1;</div><div class='del'>-    nlz_bits = mod == 0 ? 0 : word_numbits - mod;</div><div class='del'>-    *nlz_bits_ret = nlz_bits;</div><div class='del'>-    return numwords;</div><div class='del'>-}</div><div class='add'>+    unsigned LONG_LONG q;</div><div class='add'>+    long neg = 0;</div><div class='add'>+    long i;</div><div class='add'>+    BDIGIT *digits;</div><div class='add'>+    VALUE big;</div><div class='ctx'> </div><div class='del'>-static size_t</div><div class='del'>-absint_numwords_generic(size_t numbytes, int nlz_bits_in_msbyte, size_t word_numbits, size_t *nlz_bits_ret)</div><div class='del'>-{</div><div class='del'>-    static const BDIGIT char_bit[1] = { CHAR_BIT };</div><div class='del'>-    BDIGIT numbytes_bary[bdigit_roomof(sizeof(numbytes))];</div><div class='del'>-    BDIGIT val_numbits_bary[bdigit_roomof(sizeof(numbytes) + 1)];</div><div class='del'>-    BDIGIT nlz_bits_in_msbyte_bary[1];</div><div class='del'>-    BDIGIT word_numbits_bary[bdigit_roomof(sizeof(word_numbits))];</div><div class='del'>-    BDIGIT div_bary[numberof(val_numbits_bary) + BIGDIVREM_EXTRA_WORDS];</div><div class='del'>-    BDIGIT mod_bary[numberof(word_numbits_bary)];</div><div class='del'>-    BDIGIT one[1] = { 1 };</div><div class='del'>-    size_t nlz_bits;</div><div class='del'>-    size_t mod;</div><div class='del'>-    int sign;</div><div class='del'>-    size_t numwords;</div><div class='del'>-</div><div class='del'>-    nlz_bits_in_msbyte_bary[0] = nlz_bits_in_msbyte;</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * val_numbits = numbytes * CHAR_BIT - nlz_bits_in_msbyte</div><div class='del'>-     * div, mod = val_numbits.divmod(word_numbits)</div><div class='del'>-     * numwords = mod == 0 ? div : div + 1</div><div class='del'>-     * nlz_bits = mod == 0 ? 0 : word_numbits - mod</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    bary_unpack(BARY_ARGS(numbytes_bary), &amp;numbytes, 1, sizeof(numbytes), 0,</div><div class='del'>-        INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='del'>-    BARY_SHORT_MUL(val_numbits_bary, numbytes_bary, char_bit);</div><div class='del'>-    if (nlz_bits_in_msbyte)</div><div class='del'>-        BARY_SUB(val_numbits_bary, val_numbits_bary, nlz_bits_in_msbyte_bary);</div><div class='del'>-    bary_unpack(BARY_ARGS(word_numbits_bary), &amp;word_numbits, 1, sizeof(word_numbits), 0,</div><div class='del'>-        INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='del'>-    BARY_DIVMOD(div_bary, mod_bary, val_numbits_bary, word_numbits_bary);</div><div class='del'>-    if (BARY_ZERO_P(mod_bary)) {</div><div class='del'>-        nlz_bits = 0;</div><div class='add'>+    memcpy(&amp;q, buf, SIZEOF_LONG_LONG);</div><div class='add'>+    if (sign) {</div><div class='add'>+	if (FIXABLE((LONG_LONG)q)) return LONG2FIX((LONG_LONG)q);</div><div class='add'>+	if ((LONG_LONG)q &lt; 0) {</div><div class='add'>+	    q = -(LONG_LONG)q;</div><div class='add'>+	    neg = 1;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-        BARY_ADD(div_bary, div_bary, one);</div><div class='del'>-        bary_pack(+1, BARY_ARGS(mod_bary), &amp;mod, 1, sizeof(mod), 0,</div><div class='del'>-            INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='del'>-        nlz_bits = word_numbits - mod;</div><div class='add'>+	if (POSFIXABLE(q)) return LONG2FIX(q);</div><div class='ctx'>     }</div><div class='del'>-    sign = bary_pack(+1, BARY_ARGS(div_bary), &amp;numwords, 1, sizeof(numwords), 0,</div><div class='del'>-        INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='ctx'> </div><div class='del'>-    if (sign == 2) {</div><div class='del'>-#if defined __GNUC__ &amp;&amp; (__GNUC__ == 4 &amp;&amp; __GNUC_MINOR__ == 4)</div><div class='del'>-	*nlz_bits_ret = 0;</div><div class='del'>-#endif</div><div class='del'>-        return (size_t)-1;</div><div class='add'>+    i = 0;</div><div class='add'>+    big = bignew(DIGSPERLL, 1);</div><div class='add'>+    digits = BDIGITS(big);</div><div class='add'>+    while (i &lt; DIGSPERLL) {</div><div class='add'>+	digits[i++] = BIGLO(q);</div><div class='add'>+	q = BIGDN(q);</div><div class='ctx'>     }</div><div class='del'>-    *nlz_bits_ret = nlz_bits;</div><div class='del'>-    return numwords;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Calculate the number of words to be required to represent</div><div class='del'>- * the absolute value of the integer given as _val_.</div><div class='del'>- *</div><div class='del'>- * [val] an integer.</div><div class='del'>- * [word_numbits] number of bits in a word.</div><div class='del'>- * [nlz_bits_ret] number of leading zero bits in the most significant word is returned if not NULL.</div><div class='del'>- *</div><div class='del'>- * This function returns ((val_numbits * CHAR_BIT + word_numbits - 1) / word_numbits)</div><div class='del'>- * where val_numbits is the number of bits of abs(val).</div><div class='del'>- *</div><div class='del'>- * This function can overflow.</div><div class='del'>- * When overflow occur, (size_t)-1 is returned.</div><div class='del'>- *</div><div class='del'>- * If nlz_bits_ret is not NULL and overflow is not occur,</div><div class='del'>- * (return_value * word_numbits - val_numbits) is stored in *nlz_bits_ret.</div><div class='del'>- * In this case, 0 &lt;= *nlz_bits_ret &lt; word_numbits.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-size_t</div><div class='del'>-rb_absint_numwords(VALUE val, size_t word_numbits, size_t *nlz_bits_ret)</div><div class='del'>-{</div><div class='del'>-    size_t numbytes;</div><div class='del'>-    int nlz_bits_in_msbyte;</div><div class='del'>-    size_t numwords;</div><div class='del'>-    size_t nlz_bits;</div><div class='ctx'> </div><div class='del'>-    if (word_numbits == 0)</div><div class='del'>-        return (size_t)-1;</div><div class='del'>-</div><div class='del'>-    numbytes = rb_absint_size(val, &amp;nlz_bits_in_msbyte);</div><div class='add'>+    i = DIGSPERLL;</div><div class='add'>+    while (i-- &amp;&amp; !digits[i]) ;</div><div class='add'>+    RBIGNUM(big)-&gt;len = i+1;</div><div class='ctx'> </div><div class='del'>-    if (numbytes &lt;= SIZE_MAX / CHAR_BIT) {</div><div class='del'>-        numwords = absint_numwords_small(numbytes, nlz_bits_in_msbyte, word_numbits, &amp;nlz_bits);</div><div class='del'>-#ifdef DEBUG_INTEGER_PACK</div><div class='del'>-        {</div><div class='del'>-            size_t numwords0, nlz_bits0;</div><div class='del'>-            numwords0 = absint_numwords_generic(numbytes, nlz_bits_in_msbyte, word_numbits, &amp;nlz_bits0);</div><div class='del'>-            assert(numwords0 == numwords);</div><div class='del'>-            assert(nlz_bits0 == nlz_bits);</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        numwords = absint_numwords_generic(numbytes, nlz_bits_in_msbyte, word_numbits, &amp;nlz_bits);</div><div class='add'>+    if (neg) {</div><div class='add'>+	RBIGNUM(big)-&gt;sign = 0;</div><div class='ctx'>     }</div><div class='del'>-    if (numwords == (size_t)-1)</div><div class='del'>-        return numwords;</div><div class='del'>-</div><div class='del'>-    if (nlz_bits_ret)</div><div class='del'>-        *nlz_bits_ret = nlz_bits;</div><div class='del'>-</div><div class='del'>-    return numwords;</div><div class='add'>+    return bignorm(big);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/* Test abs(val) consists only a bit or not.</div><div class='del'>- *</div><div class='del'>- * Returns 1 if abs(val) == 1 &lt;&lt; n for some n &gt;= 0.</div><div class='del'>- * Returns 0 otherwise.</div><div class='del'>- *</div><div class='del'>- * rb_absint_singlebit_p can be used to determine required buffer size</div><div class='del'>- * for rb_integer_pack used with INTEGER_PACK_2COMP (two's complement).</div><div class='del'>- *</div><div class='del'>- * Following example calculates number of bits required to</div><div class='del'>- * represent val in two's complement number, without sign bit.</div><div class='del'>- *</div><div class='del'>- *   size_t size;</div><div class='del'>- *   int neg = FIXNUM_P(val) ? FIX2LONG(val) &lt; 0 : BIGNUM_NEGATIVE_P(val);</div><div class='del'>- *   size = rb_absint_numwords(val, 1, NULL)</div><div class='del'>- *   if (size == (size_t)-1) ...overflow...</div><div class='del'>- *   if (neg &amp;&amp; rb_absint_singlebit_p(val))</div><div class='del'>- *     size--;</div><div class='del'>- *</div><div class='del'>- * Following example calculates number of bytes required to</div><div class='del'>- * represent val in two's complement number, with sign bit.</div><div class='del'>- *</div><div class='del'>- *   size_t size;</div><div class='del'>- *   int neg = FIXNUM_P(val) ? FIX2LONG(val) &lt; 0 : BIGNUM_NEGATIVE_P(val);</div><div class='del'>- *   int nlz_bits;</div><div class='del'>- *   size = rb_absint_size(val, &amp;nlz_bits);</div><div class='del'>- *   if (nlz_bits == 0 &amp;&amp; !(neg &amp;&amp; rb_absint_singlebit_p(val)))</div><div class='del'>- *     size++;</div><div class='del'>- */</div><div class='del'>-int</div><div class='del'>-rb_absint_singlebit_p(VALUE val)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *dp;</div><div class='del'>-    BDIGIT *de;</div><div class='del'>-    BDIGIT fixbuf[bdigit_roomof(sizeof(long))];</div><div class='del'>-    BDIGIT d;</div><div class='del'>-</div><div class='del'>-    val = rb_to_int(val);</div><div class='del'>-</div><div class='del'>-    if (FIXNUM_P(val)) {</div><div class='del'>-        long v = FIX2LONG(val);</div><div class='del'>-        if (v &lt; 0) {</div><div class='del'>-            v = -v;</div><div class='del'>-        }</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-        fixbuf[0] = v;</div><div class='ctx'> #else</div><div class='del'>-        {</div><div class='del'>-            int i;</div><div class='del'>-            for (i = 0; i &lt; numberof(fixbuf); i++) {</div><div class='del'>-                fixbuf[i] = BIGLO(v);</div><div class='del'>-                v = BIGDN(v);</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-        dp = fixbuf;</div><div class='del'>-        de = fixbuf + numberof(fixbuf);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        dp = BDIGITS(val);</div><div class='del'>-        de = dp + BIGNUM_LEN(val);</div><div class='del'>-    }</div><div class='del'>-    while (dp &lt; de &amp;&amp; de[-1] == 0)</div><div class='del'>-        de--;</div><div class='del'>-    while (dp &lt; de &amp;&amp; dp[0] == 0)</div><div class='del'>-        dp++;</div><div class='del'>-    if (dp == de) /* no bit set. */</div><div class='del'>-        return 0;</div><div class='del'>-    if (dp != de-1) /* two non-zero words. two bits set, at least. */</div><div class='del'>-        return 0;</div><div class='del'>-    d = *dp;</div><div class='del'>-    return POW2_P(d);</div><div class='del'>-}</div><div class='ctx'> </div><div class='add'>+#define QUAD_SIZE 8</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- * Export an integer into a buffer.</div><div class='del'>- *</div><div class='del'>- * This function fills the buffer specified by _words_ and _numwords_ as</div><div class='del'>- * val in the format specified by _wordsize_, _nails_ and _flags_.</div><div class='del'>- *</div><div class='del'>- * [val] Fixnum, Bignum or another integer like object which has to_int method.</div><div class='del'>- * [words] buffer to export abs(val).</div><div class='del'>- * [numwords] the size of given buffer as number of words.</div><div class='del'>- * [wordsize] the size of word as number of bytes.</div><div class='del'>- * [nails] number of padding bits in a word.</div><div class='del'>- *   Most significant nails bits of each word are filled by zero.</div><div class='del'>- * [flags] bitwise or of constants which name starts "INTEGER_PACK_".</div><div class='del'>- *</div><div class='del'>- * flags:</div><div class='del'>- * [INTEGER_PACK_MSWORD_FIRST] Store the most significant word as the first word.</div><div class='del'>- * [INTEGER_PACK_LSWORD_FIRST] Store the least significant word as the first word.</div><div class='del'>- * [INTEGER_PACK_MSBYTE_FIRST] Store the most significant byte in a word as the first byte in the word.</div><div class='del'>- * [INTEGER_PACK_LSBYTE_FIRST] Store the least significant byte in a word as the first byte in the word.</div><div class='del'>- * [INTEGER_PACK_NATIVE_BYTE_ORDER] INTEGER_PACK_MSBYTE_FIRST or INTEGER_PACK_LSBYTE_FIRST corresponding to the host's endian.</div><div class='del'>- * [INTEGER_PACK_2COMP] Use 2's complement representation.</div><div class='del'>- * [INTEGER_PACK_LITTLE_ENDIAN] Same as INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_LSBYTE_FIRST</div><div class='del'>- * [INTEGER_PACK_BIG_ENDIAN] Same as INTEGER_PACK_MSWORD_FIRST|INTEGER_PACK_MSBYTE_FIRST</div><div class='del'>- * [INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION] Use generic implementation (for test and debug).</div><div class='del'>- *</div><div class='del'>- * This function fills the buffer specified by _words_</div><div class='del'>- * as abs(val) if INTEGER_PACK_2COMP is not specified in _flags_.</div><div class='del'>- * If INTEGER_PACK_2COMP is specified, 2's complement representation of val is</div><div class='del'>- * filled in the buffer.</div><div class='del'>- *</div><div class='del'>- * This function returns the signedness and overflow condition.</div><div class='del'>- * The overflow condition depends on INTEGER_PACK_2COMP.</div><div class='del'>- *</div><div class='del'>- * INTEGER_PACK_2COMP is not specified:</div><div class='del'>- *   -2 : negative overflow.  val &lt;= -2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='del'>- *   -1 : negative without overflow.  -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt; val &lt; 0</div><div class='del'>- *   0 : zero.  val == 0</div><div class='del'>- *   1 : positive without overflow.  0 &lt; val &lt; 2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='del'>- *   2 : positive overflow.  2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val</div><div class='del'>- *</div><div class='del'>- * INTEGER_PACK_2COMP is specified:</div><div class='del'>- *   -2 : negative overflow.  val &lt; -2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='del'>- *   -1 : negative without overflow.  -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val &lt; 0</div><div class='del'>- *   0 : zero.  val == 0</div><div class='del'>- *   1 : positive without overflow.  0 &lt; val &lt; 2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='del'>- *   2 : positive overflow.  2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val</div><div class='del'>- *</div><div class='del'>- * The value, -2**(numwords*(wordsize*CHAR_BIT-nails)), is representable</div><div class='del'>- * in 2's complement representation but not representable in absolute value.</div><div class='del'>- * So -1 is returned for the value if INTEGER_PACK_2COMP is specified</div><div class='del'>- * but returns -2 if INTEGER_PACK_2COMP is not specified.</div><div class='del'>- *</div><div class='del'>- * The least significant words are filled in the buffer when overflow occur.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_integer_pack(VALUE val, void *words, size_t numwords, size_t wordsize, size_t nails, int flags)</div><div class='add'>+void</div><div class='add'>+rb_quad_pack(buf, val)</div><div class='add'>+    char *buf;</div><div class='add'>+    VALUE val;</div><div class='ctx'> {</div><div class='del'>-    int sign;</div><div class='del'>-    BDIGIT *ds;</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-    BDIGIT fixbuf[bdigit_roomof(sizeof(long))];</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(val) = rb_to_int(val);</div><div class='add'>+    long len;</div><div class='ctx'> </div><div class='add'>+    memset(buf, 0, QUAD_SIZE);</div><div class='add'>+    val = rb_to_int(val);</div><div class='ctx'>     if (FIXNUM_P(val)) {</div><div class='del'>-        long v = FIX2LONG(val);</div><div class='del'>-        if (v &lt; 0) {</div><div class='del'>-            sign = -1;</div><div class='del'>-            v = -v;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            sign = 1;</div><div class='del'>-        }</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-        fixbuf[0] = v;</div><div class='del'>-#else</div><div class='del'>-        {</div><div class='del'>-            int i;</div><div class='del'>-            for (i = 0; i &lt; numberof(fixbuf); i++) {</div><div class='del'>-                fixbuf[i] = BIGLO(v);</div><div class='del'>-                v = BIGDN(v);</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-        ds = fixbuf;</div><div class='del'>-        num_bdigits = numberof(fixbuf);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        sign = BIGNUM_POSITIVE_P(val) ? 1 : -1;</div><div class='del'>-        ds = BDIGITS(val);</div><div class='del'>-        num_bdigits = BIGNUM_LEN(val);</div><div class='add'>+	val = rb_int2big(FIX2LONG(val));</div><div class='add'>+    }</div><div class='add'>+    len = RBIGNUM(val)-&gt;len * SIZEOF_BDIGITS;</div><div class='add'>+    if (len &gt; QUAD_SIZE) {</div><div class='add'>+	rb_raise(rb_eRangeError, "bignum too big to convert into `quad int'");</div><div class='add'>+    }</div><div class='add'>+    memcpy(buf, (char*)BDIGITS(val), len);</div><div class='add'>+    if (!RBIGNUM(val)-&gt;sign) {</div><div class='add'>+	len = QUAD_SIZE;</div><div class='add'>+	while (len--) {</div><div class='add'>+	    *buf = ~*buf;</div><div class='add'>+	    buf++;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    return bary_pack(sign, ds, num_bdigits, words, numwords, wordsize, nails, flags);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*</div><div class='del'>- * Import an integer into a buffer.</div><div class='del'>- *</div><div class='del'>- * [words] buffer to import.</div><div class='del'>- * [numwords] the size of given buffer as number of words.</div><div class='del'>- * [wordsize] the size of word as number of bytes.</div><div class='del'>- * [nails] number of padding bits in a word.</div><div class='del'>- *   Most significant nails bits of each word are ignored.</div><div class='del'>- * [flags] bitwise or of constants which name starts "INTEGER_PACK_".</div><div class='del'>- *</div><div class='del'>- * flags:</div><div class='del'>- * [INTEGER_PACK_MSWORD_FIRST] Interpret the first word as the most significant word.</div><div class='del'>- * [INTEGER_PACK_LSWORD_FIRST] Interpret the first word as the least significant word.</div><div class='del'>- * [INTEGER_PACK_MSBYTE_FIRST] Interpret the first byte in a word as the most significant byte in the word.</div><div class='del'>- * [INTEGER_PACK_LSBYTE_FIRST] Interpret the first byte in a word as the least significant byte in the word.</div><div class='del'>- * [INTEGER_PACK_NATIVE_BYTE_ORDER] INTEGER_PACK_MSBYTE_FIRST or INTEGER_PACK_LSBYTE_FIRST corresponding to the host's endian.</div><div class='del'>- * [INTEGER_PACK_2COMP] Use 2's complement representation.</div><div class='del'>- * [INTEGER_PACK_LITTLE_ENDIAN] Same as INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_LSBYTE_FIRST</div><div class='del'>- * [INTEGER_PACK_BIG_ENDIAN] Same as INTEGER_PACK_MSWORD_FIRST|INTEGER_PACK_MSBYTE_FIRST</div><div class='del'>- * [INTEGER_PACK_FORCE_BIGNUM] the result will be a Bignum</div><div class='del'>- *   even if it is representable as a Fixnum.</div><div class='del'>- * [INTEGER_PACK_NEGATIVE] Returns non-positive value.</div><div class='del'>- *   (Returns non-negative value if not specified.)</div><div class='del'>- * [INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION] Use generic implementation (for test and debug).</div><div class='del'>- *</div><div class='del'>- * This function returns the imported integer as Fixnum or Bignum.</div><div class='del'>- *</div><div class='del'>- * The range of the result value depends on INTEGER_PACK_2COMP and INTEGER_PACK_NEGATIVE.</div><div class='del'>- *</div><div class='del'>- * INTEGER_PACK_2COMP is not set:</div><div class='del'>- *   0 &lt;= val &lt; 2**(numwords*(wordsize*CHAR_BIT-nails)) if !INTEGER_PACK_NEGATIVE</div><div class='del'>- *   -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt; val &lt;= 0 if INTEGER_PACK_NEGATIVE</div><div class='del'>- *</div><div class='del'>- * INTEGER_PACK_2COMP is set:</div><div class='del'>- *   -2**(numwords*(wordsize*CHAR_BIT-nails)-1) &lt;= val &lt;= 2**(numwords*(wordsize*CHAR_BIT-nails)-1)-1 if !INTEGER_PACK_NEGATIVE</div><div class='del'>- *   -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val &lt;= -1 if INTEGER_PACK_NEGATIVE</div><div class='del'>- *</div><div class='del'>- * INTEGER_PACK_2COMP without INTEGER_PACK_NEGATIVE means sign extension.</div><div class='del'>- * INTEGER_PACK_2COMP with INTEGER_PACK_NEGATIVE mean assuming the higher bits are 1.</div><div class='del'>- *</div><div class='del'>- * Note that this function returns 0 when numwords is zero and</div><div class='del'>- * INTEGER_PACK_2COMP is set but INTEGER_PACK_NEGATIVE is not set.</div><div class='del'>- */</div><div class='add'>+#define BNEG(b) (RSHIFT(((BDIGIT*)b)[QUAD_SIZE/SIZEOF_BDIGITS-1],BITSPERDIG-1) != 0)</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_integer_unpack(const void *words, size_t numwords, size_t wordsize, size_t nails, int flags)</div><div class='del'>-{</div><div class='del'>-    VALUE val;</div><div class='del'>-    size_t num_bdigits;</div><div class='add'>+rb_quad_unpack(buf, sign)</div><div class='add'>+    const char *buf;</div><div class='ctx'>     int sign;</div><div class='del'>-    int nlp_bits;</div><div class='del'>-    BDIGIT *ds;</div><div class='del'>-    BDIGIT fixbuf[2] = { 0, 0 };</div><div class='del'>-</div><div class='del'>-    validate_integer_pack_format(numwords, wordsize, nails, flags,</div><div class='del'>-            INTEGER_PACK_MSWORD_FIRST|</div><div class='del'>-            INTEGER_PACK_LSWORD_FIRST|</div><div class='del'>-            INTEGER_PACK_MSBYTE_FIRST|</div><div class='del'>-            INTEGER_PACK_LSBYTE_FIRST|</div><div class='del'>-            INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='del'>-            INTEGER_PACK_2COMP|</div><div class='del'>-            INTEGER_PACK_FORCE_BIGNUM|</div><div class='del'>-            INTEGER_PACK_NEGATIVE|</div><div class='del'>-            INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION);</div><div class='del'>-</div><div class='del'>-    num_bdigits = integer_unpack_num_bdigits(numwords, wordsize, nails, &amp;nlp_bits);</div><div class='del'>-</div><div class='del'>-    if (LONG_MAX-1 &lt; num_bdigits)</div><div class='del'>-        rb_raise(rb_eArgError, "too big to unpack as an integer");</div><div class='del'>-    if (num_bdigits &lt;= numberof(fixbuf) &amp;&amp; !(flags &amp; INTEGER_PACK_FORCE_BIGNUM)) {</div><div class='del'>-        val = Qfalse;</div><div class='del'>-        ds = fixbuf;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        val = bignew((long)num_bdigits, 0);</div><div class='del'>-        ds = BDIGITS(val);</div><div class='del'>-    }</div><div class='del'>-    sign = bary_unpack_internal(ds, num_bdigits, words, numwords, wordsize, nails, flags, nlp_bits);</div><div class='del'>-</div><div class='del'>-    if (sign == -2) {</div><div class='del'>-        if (val) {</div><div class='del'>-            big_extend_carry(val);</div><div class='del'>-        }</div><div class='del'>-        else if (num_bdigits == numberof(fixbuf)) {</div><div class='del'>-            val = bignew((long)num_bdigits+1, 0);</div><div class='del'>-	    MEMCPY(BDIGITS(val), fixbuf, BDIGIT, num_bdigits);</div><div class='del'>-            BDIGITS(val)[num_bdigits++] = 1;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            ds[num_bdigits++] = 1;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!val) {</div><div class='del'>-        BDIGIT_DBL u = fixbuf[0] + BIGUP(fixbuf[1]);</div><div class='del'>-        if (u == 0)</div><div class='del'>-            return LONG2FIX(0);</div><div class='del'>-	if (0 &lt; sign &amp;&amp; POSFIXABLE(u))</div><div class='del'>-            return LONG2FIX(u);</div><div class='del'>-	if (sign &lt; 0 &amp;&amp; BDIGIT_MSB(fixbuf[1]) == 0 &amp;&amp;</div><div class='del'>-                NEGFIXABLE(-(BDIGIT_DBL_SIGNED)u))</div><div class='del'>-            return LONG2FIX(-(BDIGIT_DBL_SIGNED)u);</div><div class='del'>-        val = bignew((long)num_bdigits, 0 &lt;= sign);</div><div class='del'>-        MEMCPY(BDIGITS(val), fixbuf, BDIGIT, num_bdigits);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if ((flags &amp; INTEGER_PACK_FORCE_BIGNUM) &amp;&amp; sign != 0 &amp;&amp;</div><div class='del'>-        bary_zero_p(BDIGITS(val), BIGNUM_LEN(val)))</div><div class='del'>-        sign = 0;</div><div class='del'>-    BIGNUM_SET_SIGN(val, 0 &lt;= sign);</div><div class='del'>-</div><div class='del'>-    if (flags &amp; INTEGER_PACK_FORCE_BIGNUM)</div><div class='del'>-        return bigtrunc(val);</div><div class='del'>-    return bignorm(val);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define conv_digit(c) (ruby_digit36_to_number_table[(unsigned char)(c)])</div><div class='del'>-</div><div class='del'>-NORETURN(static inline void invalid_radix(int base));</div><div class='del'>-NORETURN(static inline void invalid_integer(VALUE s));</div><div class='del'>-</div><div class='del'>-static inline int</div><div class='del'>-valid_radix_p(int base)</div><div class='ctx'> {</div><div class='del'>-    return (1 &lt; base &amp;&amp; base &lt;= 36);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-invalid_radix(int base)</div><div class='del'>-{</div><div class='del'>-    rb_raise(rb_eArgError, "invalid radix %d", base);</div><div class='del'>-}</div><div class='add'>+    VALUE big = bignew(QUAD_SIZE/SIZEOF_BDIGITS, 1);</div><div class='ctx'> </div><div class='del'>-static inline void</div><div class='del'>-invalid_integer(VALUE s)</div><div class='del'>-{</div><div class='del'>-    rb_raise(rb_eArgError, "invalid value for Integer(): %+"PRIsVALUE, s);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-str2big_scan_digits(const char *s, const char *str, int base, int badcheck, size_t *num_digits_p, ssize_t *len_p)</div><div class='del'>-{</div><div class='del'>-    char nondigit = 0;</div><div class='del'>-    size_t num_digits = 0;</div><div class='del'>-    const char *digits_start = str;</div><div class='del'>-    const char *digits_end = str;</div><div class='del'>-    ssize_t len = *len_p;</div><div class='add'>+    memcpy((char*)BDIGITS(big), buf, QUAD_SIZE);</div><div class='add'>+    if (sign &amp;&amp; BNEG(buf)) {</div><div class='add'>+	long len = QUAD_SIZE;</div><div class='add'>+	char *tmp = (char*)BDIGITS(big);</div><div class='ctx'> </div><div class='del'>-    int c;</div><div class='del'>-</div><div class='del'>-    if (!len) {</div><div class='del'>-	*num_digits_p = 0;</div><div class='del'>-	*len_p = 0;</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (badcheck &amp;&amp; *str == '_') goto bad;</div><div class='del'>-</div><div class='del'>-    while ((c = *str++) != 0) {</div><div class='del'>-	if (c == '_') {</div><div class='del'>-	    if (nondigit) {</div><div class='del'>-		if (badcheck) goto bad;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    nondigit = (char) c;</div><div class='del'>-	}</div><div class='del'>-	else if ((c = conv_digit(c)) &lt; 0 || c &gt;= base) {</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    nondigit = 0;</div><div class='del'>-	    num_digits++;</div><div class='del'>-	    digits_end = str;</div><div class='del'>-	}</div><div class='del'>-	if (len &gt; 0 &amp;&amp; !--len) break;</div><div class='del'>-    }</div><div class='del'>-    if (badcheck &amp;&amp; nondigit) goto bad;</div><div class='del'>-    if (badcheck &amp;&amp; len) {</div><div class='del'>-	str--;</div><div class='del'>-	while (*str &amp;&amp; ISSPACE(*str)) {</div><div class='del'>-	    str++;</div><div class='del'>-	    if (len &gt; 0 &amp;&amp; !--len) break;</div><div class='del'>-	}</div><div class='del'>-	if (len &amp;&amp; *str) {</div><div class='del'>-	  bad:</div><div class='del'>-	    return FALSE;</div><div class='add'>+	RBIGNUM(big)-&gt;sign = 0;</div><div class='add'>+	while (len--) {</div><div class='add'>+	    *tmp = ~*tmp;</div><div class='add'>+	    tmp++;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    *num_digits_p = num_digits;</div><div class='del'>-    *len_p = digits_end - digits_start;</div><div class='del'>-    return TRUE;</div><div class='del'>-}</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-str2big_poweroftwo(</div><div class='del'>-    int sign,</div><div class='del'>-    const char *digits_start,</div><div class='del'>-    const char *digits_end,</div><div class='del'>-    size_t num_digits,</div><div class='del'>-    int bits_per_digit)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *dp;</div><div class='del'>-    BDIGIT_DBL dd;</div><div class='del'>-    int numbits;</div><div class='del'>-</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-    const char *p;</div><div class='del'>-    int c;</div><div class='del'>-    VALUE z;</div><div class='del'>-</div><div class='del'>-    num_bdigits = (num_digits / BITSPERDIG) * bits_per_digit + roomof((num_digits % BITSPERDIG) * bits_per_digit, BITSPERDIG);</div><div class='del'>-    z = bignew(num_bdigits, sign);</div><div class='del'>-    dp = BDIGITS(z);</div><div class='del'>-    dd = 0;</div><div class='del'>-    numbits = 0;</div><div class='del'>-    for (p = digits_end; digits_start &lt; p; p--) {</div><div class='del'>-        if ((c = conv_digit(p[-1])) &lt; 0)</div><div class='del'>-            continue;</div><div class='del'>-        dd |= (BDIGIT_DBL)c &lt;&lt; numbits;</div><div class='del'>-        numbits += bits_per_digit;</div><div class='del'>-        if (BITSPERDIG &lt;= numbits) {</div><div class='del'>-            *dp++ = BIGLO(dd);</div><div class='del'>-            dd = BIGDN(dd);</div><div class='del'>-            numbits -= BITSPERDIG;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    if (numbits) {</div><div class='del'>-        *dp++ = BIGLO(dd);</div><div class='del'>-    }</div><div class='del'>-    assert((size_t)(dp - BDIGITS(z)) == num_bdigits);</div><div class='del'>-</div><div class='del'>-    return z;</div><div class='add'>+    return bignorm(big);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-str2big_normal(</div><div class='del'>-    int sign,</div><div class='del'>-    const char *digits_start,</div><div class='del'>-    const char *digits_end,</div><div class='del'>-    size_t num_bdigits,</div><div class='del'>-    int base)</div><div class='del'>-{</div><div class='del'>-    size_t blen = 1;</div><div class='del'>-    BDIGIT *zds;</div><div class='del'>-    BDIGIT_DBL num;</div><div class='del'>-</div><div class='del'>-    size_t i;</div><div class='del'>-    const char *p;</div><div class='del'>-    int c;</div><div class='del'>-    VALUE z;</div><div class='del'>-</div><div class='del'>-    z = bignew(num_bdigits, sign);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-    BDIGITS_ZERO(zds, num_bdigits);</div><div class='del'>-</div><div class='del'>-    for (p = digits_start; p &lt; digits_end; p++) {</div><div class='del'>-        if ((c = conv_digit(*p)) &lt; 0)</div><div class='del'>-            continue;</div><div class='del'>-        num = c;</div><div class='del'>-        i = 0;</div><div class='del'>-        for (;;) {</div><div class='del'>-            while (i&lt;blen) {</div><div class='del'>-                num += (BDIGIT_DBL)zds[i]*base;</div><div class='del'>-                zds[i++] = BIGLO(num);</div><div class='del'>-                num = BIGDN(num);</div><div class='del'>-            }</div><div class='del'>-            if (num) {</div><div class='del'>-                blen++;</div><div class='del'>-                continue;</div><div class='del'>-            }</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-        assert(blen &lt;= num_bdigits);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-str2big_karatsuba(</div><div class='del'>-    int sign,</div><div class='del'>-    const char *digits_start,</div><div class='del'>-    const char *digits_end,</div><div class='del'>-    size_t num_digits,</div><div class='del'>-    size_t num_bdigits,</div><div class='del'>-    int digits_per_bdigits_dbl,</div><div class='del'>-    int base)</div><div class='add'>+VALUE</div><div class='add'>+rb_cstr_to_inum(str, base, badcheck)</div><div class='add'>+    const char *str;</div><div class='add'>+    int base;</div><div class='add'>+    int badcheck;</div><div class='ctx'> {</div><div class='del'>-    VALUE powerv;</div><div class='del'>-    size_t unit;</div><div class='del'>-    VALUE tmpuv = 0;</div><div class='del'>-    BDIGIT *uds, *vds, *tds;</div><div class='del'>-    BDIGIT_DBL dd;</div><div class='del'>-    BDIGIT_DBL current_base;</div><div class='del'>-    int m;</div><div class='del'>-    int power_level = 0;</div><div class='del'>-</div><div class='del'>-    size_t i;</div><div class='del'>-    const char *p;</div><div class='add'>+    const char *s = str;</div><div class='add'>+    char *end;</div><div class='add'>+    char sign = 1, nondigit = 0;</div><div class='ctx'>     int c;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+    long len, blen = 1;</div><div class='add'>+    long i;</div><div class='ctx'>     VALUE z;</div><div class='add'>+    BDIGIT *zds;</div><div class='ctx'> </div><div class='del'>-    uds = ALLOCV_N(BDIGIT, tmpuv, 2*num_bdigits);</div><div class='del'>-    vds = uds + num_bdigits;</div><div class='del'>-</div><div class='del'>-    powerv = power_cache_get_power(base, power_level, NULL);</div><div class='del'>-</div><div class='del'>-    i = 0;</div><div class='del'>-    dd = 0;</div><div class='del'>-    current_base = 1;</div><div class='del'>-    m = digits_per_bdigits_dbl;</div><div class='del'>-    if (num_digits &lt; (size_t)m)</div><div class='del'>-        m = (int)num_digits;</div><div class='del'>-    for (p = digits_end; digits_start &lt; p; p--) {</div><div class='del'>-        if ((c = conv_digit(p[-1])) &lt; 0)</div><div class='del'>-            continue;</div><div class='del'>-        dd = dd + c * current_base;</div><div class='del'>-        current_base *= base;</div><div class='del'>-        num_digits--;</div><div class='del'>-        m--;</div><div class='del'>-        if (m == 0) {</div><div class='del'>-            uds[i++] = BIGLO(dd);</div><div class='del'>-            uds[i++] = (BDIGIT)BIGDN(dd);</div><div class='del'>-            dd = 0;</div><div class='del'>-            m = digits_per_bdigits_dbl;</div><div class='del'>-            if (num_digits &lt; (size_t)m)</div><div class='del'>-                m = (int)num_digits;</div><div class='del'>-            current_base = 1;</div><div class='del'>-        }</div><div class='add'>+    if (!str) {</div><div class='add'>+	if (badcheck) goto bad;</div><div class='add'>+	return INT2FIX(0);</div><div class='ctx'>     }</div><div class='del'>-    assert(i == num_bdigits);</div><div class='del'>-    for (unit = 2; unit &lt; num_bdigits; unit *= 2) {</div><div class='del'>-        for (i = 0; i &lt; num_bdigits; i += unit*2) {</div><div class='del'>-            if (2*unit &lt;= num_bdigits - i) {</div><div class='del'>-                bary_mul(vds+i, unit*2, BDIGITS(powerv), BIGNUM_LEN(powerv), uds+i+unit, unit);</div><div class='del'>-                bary_add(vds+i, unit*2, vds+i, unit*2, uds+i, unit);</div><div class='del'>-            }</div><div class='del'>-            else if (unit &lt;= num_bdigits - i) {</div><div class='del'>-                bary_mul(vds+i, num_bdigits-i, BDIGITS(powerv), BIGNUM_LEN(powerv), uds+i+unit, num_bdigits-(i+unit));</div><div class='del'>-                bary_add(vds+i, num_bdigits-i, vds+i, num_bdigits-i, uds+i, unit);</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                MEMCPY(vds+i, uds+i, BDIGIT, num_bdigits-i);</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        power_level++;</div><div class='del'>-        powerv = power_cache_get_power(base, power_level, NULL);</div><div class='del'>-        tds = vds;</div><div class='del'>-        vds = uds;</div><div class='del'>-        uds = tds;</div><div class='add'>+    if (badcheck) {</div><div class='add'>+	while (ISSPACE(*str)) str++;</div><div class='ctx'>     }</div><div class='del'>-    BARY_TRUNC(uds, num_bdigits);</div><div class='del'>-    z = bignew(num_bdigits, sign);</div><div class='del'>-    MEMCPY(BDIGITS(z), uds, BDIGIT, num_bdigits);</div><div class='del'>-</div><div class='del'>-    if (tmpuv)</div><div class='del'>-        ALLOCV_END(tmpuv);</div><div class='del'>-</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-static VALUE</div><div class='del'>-str2big_gmp(</div><div class='del'>-    int sign,</div><div class='del'>-    const char *digits_start,</div><div class='del'>-    const char *digits_end,</div><div class='del'>-    size_t num_digits,</div><div class='del'>-    size_t num_bdigits,</div><div class='del'>-    int base)</div><div class='del'>-{</div><div class='del'>-    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='del'>-    char *buf, *p;</div><div class='del'>-    const char *q;</div><div class='del'>-    VALUE tmps;</div><div class='del'>-    mpz_t mz;</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *zds;</div><div class='del'>-    size_t zn, count;</div><div class='del'>-</div><div class='del'>-    buf = ALLOCV_N(char, tmps, num_digits+1);</div><div class='del'>-    p = buf;</div><div class='del'>-    for (q = digits_start; q &lt; digits_end; q++) {</div><div class='del'>-        if (conv_digit(*q) &lt; 0)</div><div class='del'>-            continue;</div><div class='del'>-        *p++ = *q;</div><div class='add'>+    else {</div><div class='add'>+	while (ISSPACE(*str) || *str == '_') str++;</div><div class='ctx'>     }</div><div class='del'>-    *p = '\0';</div><div class='del'>-</div><div class='del'>-    mpz_init(mz);</div><div class='del'>-    mpz_set_str(mz, buf, base);</div><div class='del'>-    zn = num_bdigits;</div><div class='del'>-    z = bignew(zn, sign);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-    mpz_export(BDIGITS(z), &amp;count, -1, sizeof(BDIGIT), 0, nails, mz);</div><div class='del'>-    BDIGITS_ZERO(zds+count, zn-count);</div><div class='del'>-    mpz_clear(mz);</div><div class='del'>-</div><div class='del'>-    if (tmps)</div><div class='del'>-        ALLOCV_END(tmps);</div><div class='ctx'> </div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Parse +str+ as Ruby Integer, i.e., underscores, 0d and 0b prefixes.</div><div class='del'>- *</div><div class='del'>- * str:      pointer to the string to be parsed.</div><div class='del'>- *	     should be NUL-terminated.</div><div class='del'>- * base:     base of conversion, must be 2..36, or -36..0.</div><div class='del'>- *           if +base+ &gt; 0, the conversion is done according to the +base+</div><div class='del'>- *           and unmatched prefix is parsed as a part of the result if</div><div class='del'>- *           present.</div><div class='del'>- *           if +base+ &lt;= 0, the conversion is done according to the</div><div class='del'>- *           prefix if present, in base &lt;code&gt;-base&lt;/code&gt; if +base+ &lt; -1,</div><div class='del'>- *           or in base 10.</div><div class='del'>- * badcheck: if non-zero, +ArgumentError+ is raised when +str+ is not</div><div class='del'>- *           valid as an Integer.  if zero, Fixnum 0 is returned in</div><div class='del'>- *           that case.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_cstr_to_inum(const char *str, int base, int badcheck)</div><div class='del'>-{</div><div class='del'>-    char *end;</div><div class='del'>-    VALUE ret = rb_cstr_parse_inum(str, -1, (badcheck ? NULL : &amp;end), base);</div><div class='del'>-    if (NIL_P(ret)) {</div><div class='del'>-	if (badcheck) rb_invalid_str(str, "Integer()");</div><div class='del'>-	ret = INT2FIX(0);</div><div class='add'>+    if (str[0] == '+') {</div><div class='add'>+	str++;</div><div class='ctx'>     }</div><div class='del'>-    return ret;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Parse +str+ as Ruby Integer, i.e., underscores, 0d and 0b prefixes.</div><div class='del'>- *</div><div class='del'>- * str:  pointer to the string to be parsed.</div><div class='del'>- *       should be NUL-terminated if +len+ is negative.</div><div class='del'>- * len:  length of +str+ if &gt;= 0.  if +len+ is negative, +str+ should</div><div class='del'>- *       be NUL-terminated.</div><div class='del'>- * endp: if non-NULL, the address after parsed part is stored.  if</div><div class='del'>- *       NULL, Qnil is returned when +str+ is not valid as an Integer.</div><div class='del'>- * ndigits: if non-NULL, the number of parsed digits is stored.</div><div class='del'>- * base: see +rb_cstr_to_inum+</div><div class='del'>- * flags: bitwise OR of below flags:</div><div class='del'>- *       RB_INT_PARSE_SIGN: allow preceding spaces and +/- sign</div><div class='del'>- *       RB_INT_PARSE_UNDERSCORE: allow an underscore between digits</div><div class='del'>- *       RB_INT_PARSE_PREFIX: allow preceding prefix</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_int_parse_cstr(const char *str, ssize_t len, char **endp, size_t *ndigits,</div><div class='del'>-		  int base, int flags)</div><div class='del'>-{</div><div class='del'>-    const char *const s = str;</div><div class='del'>-    char sign = 1;</div><div class='del'>-    int c;</div><div class='del'>-    VALUE z = Qnil;</div><div class='del'>-</div><div class='del'>-    unsigned long val;</div><div class='del'>-    int ov;</div><div class='del'>-</div><div class='del'>-    const char *digits_start, *digits_end;</div><div class='del'>-    size_t num_digits = 0;</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-    const ssize_t len0 = len;</div><div class='del'>-    const int badcheck = !endp;</div><div class='del'>-</div><div class='del'>-#define ADV(n) do {\</div><div class='del'>-	if (len &gt; 0 &amp;&amp; len &lt;= (n)) goto bad; \</div><div class='del'>-	str += (n); \</div><div class='del'>-	len -= (n); \</div><div class='del'>-    } while (0)</div><div class='del'>-#define ASSERT_LEN() do {\</div><div class='del'>-	assert(len != 0); \</div><div class='del'>-	if (len0 &gt;= 0) assert(s + len0 == str + len); \</div><div class='del'>-    } while (0)</div><div class='del'>-</div><div class='del'>-    if (!str) {</div><div class='del'>-      bad:</div><div class='del'>-	if (endp) *endp = (char *)str;</div><div class='del'>-	if (ndigits) *ndigits = num_digits;</div><div class='del'>-	return z;</div><div class='add'>+    else if (str[0] == '-') {</div><div class='add'>+	str++;</div><div class='add'>+	sign = 0;</div><div class='ctx'>     }</div><div class='del'>-    if (len &amp;&amp; (flags &amp; RB_INT_PARSE_SIGN)) {</div><div class='del'>-	while (ISSPACE(*str)) ADV(1);</div><div class='del'>-</div><div class='del'>-	if (str[0] == '+') {</div><div class='del'>-	    ADV(1);</div><div class='del'>-	}</div><div class='del'>-	else if (str[0] == '-') {</div><div class='del'>-	    ADV(1);</div><div class='del'>-	    sign = 0;</div><div class='del'>-	}</div><div class='del'>-	ASSERT_LEN();</div><div class='add'>+    if (str[0] == '+' || str[0] == '-') {</div><div class='add'>+	if (badcheck) goto bad;</div><div class='add'>+	return INT2FIX(0);</div><div class='ctx'>     }</div><div class='ctx'>     if (base &lt;= 0) {</div><div class='del'>-	if (str[0] == '0' &amp;&amp; len &gt; 1) {</div><div class='add'>+	if (str[0] == '0') {</div><div class='ctx'> 	    switch (str[1]) {</div><div class='ctx'> 	      case 'x': case 'X':</div><div class='ctx'> 		base = 16;</div><div class='del'>-		ADV(2);</div><div class='ctx'> 		break;</div><div class='ctx'> 	      case 'b': case 'B':</div><div class='ctx'> 		base = 2;</div><div class='del'>-		ADV(2);</div><div class='ctx'> 		break;</div><div class='ctx'> 	      case 'o': case 'O':</div><div class='ctx'> 		base = 8;</div><div class='del'>-		ADV(2);</div><div class='ctx'> 		break;</div><div class='ctx'> 	      case 'd': case 'D':</div><div class='ctx'> 		base = 10;</div><div class='del'>-		ADV(2);</div><div class='ctx'> 		break;</div><div class='ctx'> 	      default:</div><div class='ctx'> 		base = 8;</div><div class='hunk'>@@ -4110,75 +379,62 @@ rb_int_parse_cstr(const char *str, ssize_t len, char **endp, size_t *ndigits,</div><div class='ctx'> 	    base = 10;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    else if (len == 1 || !(flags &amp; RB_INT_PARSE_PREFIX)) {</div><div class='del'>-	/* no prefix */</div><div class='del'>-    }</div><div class='del'>-    else if (base == 2) {</div><div class='add'>+    switch (base) {</div><div class='add'>+      case 2:</div><div class='add'>+	len = 1;</div><div class='ctx'> 	if (str[0] == '0' &amp;&amp; (str[1] == 'b'||str[1] == 'B')) {</div><div class='del'>-	    ADV(2);</div><div class='add'>+	    str += 2;</div><div class='ctx'> 	}</div><div class='del'>-    }</div><div class='del'>-    else if (base == 8) {</div><div class='add'>+	break;</div><div class='add'>+      case 3:</div><div class='add'>+	len = 2;</div><div class='add'>+	break;</div><div class='add'>+      case 8:</div><div class='ctx'> 	if (str[0] == '0' &amp;&amp; (str[1] == 'o'||str[1] == 'O')) {</div><div class='del'>-	    ADV(2);</div><div class='add'>+	    str += 2;</div><div class='ctx'> 	}</div><div class='del'>-    }</div><div class='del'>-    else if (base == 10) {</div><div class='add'>+      case 4: case 5: case 6: case 7:</div><div class='add'>+	len = 3;</div><div class='add'>+	break;</div><div class='add'>+      case 10:</div><div class='ctx'> 	if (str[0] == '0' &amp;&amp; (str[1] == 'd'||str[1] == 'D')) {</div><div class='del'>-	    ADV(2);</div><div class='add'>+	    str += 2;</div><div class='ctx'> 	}</div><div class='del'>-    }</div><div class='del'>-    else if (base == 16) {</div><div class='add'>+      case 9: case 11: case 12: case 13: case 14: case 15:</div><div class='add'>+	len = 4;</div><div class='add'>+	break;</div><div class='add'>+      case 16:</div><div class='add'>+	len = 4;</div><div class='ctx'> 	if (str[0] == '0' &amp;&amp; (str[1] == 'x'||str[1] == 'X')) {</div><div class='del'>-	    ADV(2);</div><div class='add'>+	    str += 2;</div><div class='ctx'> 	}</div><div class='del'>-    }</div><div class='del'>-    if (!valid_radix_p(base)) {</div><div class='del'>-        invalid_radix(base);</div><div class='del'>-    }</div><div class='del'>-    if (!len) goto bad;</div><div class='del'>-    num_digits = str - s;</div><div class='del'>-    if (*str == '0' &amp;&amp; len != 1) { /* squeeze preceding 0s */</div><div class='del'>-	int us = 0;</div><div class='del'>-	const char *end = len &lt; 0 ? NULL : str + len;</div><div class='del'>-	++num_digits;</div><div class='del'>-	while ((c = *++str) == '0' ||</div><div class='del'>-	       ((flags &amp; RB_INT_PARSE_UNDERSCORE) &amp;&amp; c == '_')) {</div><div class='del'>-	    if (c == '_') {</div><div class='del'>-		if (++us &gt;= 2)</div><div class='del'>-		    break;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		++num_digits;</div><div class='del'>-		us = 0;</div><div class='del'>-	    }</div><div class='del'>-	    if (str == end) break;</div><div class='add'>+	break;</div><div class='add'>+      default:</div><div class='add'>+	if (base &lt; 2 || 36 &lt; base) {</div><div class='add'>+	    rb_raise(rb_eArgError, "illegal radix %d", base);</div><div class='add'>+	}</div><div class='add'>+	if (base &lt;= 32) {</div><div class='add'>+	    len = 5;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    len = 6;</div><div class='ctx'> 	}</div><div class='del'>-	if (!c || ISSPACE(c)) --str;</div><div class='del'>-	if (end) len = end - str;</div><div class='del'>-	ASSERT_LEN();</div><div class='add'>+	break;</div><div class='ctx'>     }</div><div class='del'>-    c = *str;</div><div class='del'>-    c = conv_digit(c);</div><div class='del'>-    if (c &lt; 0 || c &gt;= base) {</div><div class='del'>-	if (!badcheck &amp;&amp; num_digits) z = INT2FIX(0);</div><div class='del'>-	goto bad;</div><div class='add'>+    if (*str == '0') {		/* squeeze preceeding 0s */</div><div class='add'>+	while (*++str == '0');</div><div class='add'>+	--str;</div><div class='ctx'>     }</div><div class='add'>+    len *= strlen(str)*sizeof(char);</div><div class='add'>+</div><div class='add'>+    if (len &lt;= (sizeof(VALUE)*CHAR_BIT)) {</div><div class='add'>+	unsigned long val = strtoul((char*)str, &amp;end, base);</div><div class='ctx'> </div><div class='del'>-    if (ndigits) *ndigits = num_digits;</div><div class='del'>-    val = ruby_scan_digits(str, len, base, &amp;num_digits, &amp;ov);</div><div class='del'>-    if (!ov) {</div><div class='del'>-	const char *end = &amp;str[num_digits];</div><div class='del'>-	if (num_digits &gt; 0 &amp;&amp; *end == '_' &amp;&amp; (flags &amp; RB_INT_PARSE_UNDERSCORE))</div><div class='del'>-	    goto bigparse;</div><div class='del'>-	if (endp) *endp = (char *)end;</div><div class='del'>-	if (ndigits) *ndigits += num_digits;</div><div class='add'>+	if (*end == '_') goto bigparse;</div><div class='ctx'> 	if (badcheck) {</div><div class='del'>-	    if (num_digits == 0) return Qnil; /* no number */</div><div class='del'>-	    while (len &lt; 0 ? *end : end &lt; str + len) {</div><div class='del'>-		if (!ISSPACE(*end)) return Qnil; /* trailing garbage */</div><div class='del'>-		end++;</div><div class='del'>-	    }</div><div class='add'>+	    if (end == str) goto bad; /* no number */</div><div class='add'>+	    while (*end &amp;&amp; ISSPACE(*end)) end++;</div><div class='add'>+	    if (*end) goto bad;	      /* trailing garbage */</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='ctx'> 	if (POSFIXABLE(val)) {</div><div class='hunk'>@@ -4190,1028 +446,413 @@ rb_int_parse_cstr(const char *str, ssize_t len, char **endp, size_t *ndigits,</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='ctx'> 	    VALUE big = rb_uint2big(val);</div><div class='del'>-	    BIGNUM_SET_SIGN(big, sign);</div><div class='add'>+	    RBIGNUM(big)-&gt;sign = sign;</div><div class='ctx'> 	    return bignorm(big);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-</div><div class='ctx'>   bigparse:</div><div class='del'>-    digits_start = str;</div><div class='del'>-    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='del'>-	goto bad;</div><div class='del'>-    if (endp) *endp = (char *)(str + len);</div><div class='del'>-    if (ndigits) *ndigits += num_digits;</div><div class='del'>-    digits_end = digits_start + len;</div><div class='del'>-</div><div class='del'>-    if (POW2_P(base)) {</div><div class='del'>-        z = str2big_poweroftwo(sign, digits_start, digits_end, num_digits,</div><div class='del'>-			       bit_length(base-1));</div><div class='add'>+    len = (len/BITSPERDIG)+1;</div><div class='add'>+    if (badcheck &amp;&amp; *str == '_') goto bad;</div><div class='add'>+</div><div class='add'>+    z = bignew(len, sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    for (i=len;i--;) zds[i]=0;</div><div class='add'>+    while (c = *str++) {</div><div class='add'>+	if (c == '_') {</div><div class='add'>+	    if (badcheck) {</div><div class='add'>+		if (nondigit) goto bad;</div><div class='add'>+		nondigit = c;</div><div class='add'>+	    }</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='add'>+	else if (!ISASCII(c)) {</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	else if (isdigit(c)) {</div><div class='add'>+	    c -= '0';</div><div class='add'>+	}</div><div class='add'>+	else if (islower(c)) {</div><div class='add'>+	    c -= 'a' - 10;</div><div class='add'>+	}</div><div class='add'>+	else if (isupper(c)) {</div><div class='add'>+	    c -= 'A' - 10;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	if (c &gt;= base) break;</div><div class='add'>+	nondigit = 0;</div><div class='add'>+	i = 0;</div><div class='add'>+	num = c;</div><div class='add'>+	for (;;) {</div><div class='add'>+	    while (i&lt;blen) {</div><div class='add'>+		num += (BDIGIT_DBL)zds[i]*base;</div><div class='add'>+		zds[i++] = BIGLO(num);</div><div class='add'>+		num = BIGDN(num);</div><div class='add'>+	    }</div><div class='add'>+	    if (num) {</div><div class='add'>+		blen++;</div><div class='add'>+		continue;</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-        int digits_per_bdigits_dbl;</div><div class='del'>-        maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='del'>-        num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-        if (GMP_STR2BIG_DIGITS &lt; num_bdigits) {</div><div class='del'>-            z = str2big_gmp(sign, digits_start, digits_end, num_digits,</div><div class='del'>-                    num_bdigits, base);</div><div class='del'>-        }</div><div class='del'>-        else</div><div class='del'>-#endif</div><div class='del'>-        if (num_bdigits &lt; KARATSUBA_MUL_DIGITS) {</div><div class='del'>-            z = str2big_normal(sign, digits_start, digits_end,</div><div class='del'>-                    num_bdigits, base);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            z = str2big_karatsuba(sign, digits_start, digits_end, num_digits,</div><div class='del'>-                    num_bdigits, digits_per_bdigits_dbl, base);</div><div class='del'>-        }</div><div class='add'>+    if (badcheck) {</div><div class='add'>+	str--;</div><div class='add'>+	if (s+1 &lt; str &amp;&amp; str[-1] == '_') goto bad;</div><div class='add'>+	while (*str &amp;&amp; ISSPACE(*str)) str++;</div><div class='add'>+	if (*str) {</div><div class='add'>+	  bad:</div><div class='add'>+	    rb_invalid_str(s, "Integer");</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_cstr_parse_inum(const char *str, ssize_t len, char **endp, int base)</div><div class='del'>-{</div><div class='del'>-    return rb_int_parse_cstr(str, len, endp, NULL, base,</div><div class='del'>-			     RB_INT_PARSE_DEFAULT);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_str_convert_to_inum(VALUE str, int base, int badcheck, int raise_exception)</div><div class='add'>+rb_str_to_inum(str, base, badcheck)</div><div class='add'>+    VALUE str;</div><div class='add'>+    int base;</div><div class='add'>+    int badcheck;</div><div class='ctx'> {</div><div class='del'>-    VALUE ret;</div><div class='del'>-    const char *s;</div><div class='add'>+    char *s;</div><div class='ctx'>     long len;</div><div class='del'>-    char *end;</div><div class='ctx'> </div><div class='ctx'>     StringValue(str);</div><div class='del'>-    rb_must_asciicompat(str);</div><div class='del'>-    RSTRING_GETMEM(str, s, len);</div><div class='del'>-    ret = rb_cstr_parse_inum(s, len, (badcheck ? NULL : &amp;end), base);</div><div class='del'>-    if (NIL_P(ret)) {</div><div class='del'>-        if (badcheck) {</div><div class='del'>-            if (!raise_exception) return Qnil;</div><div class='del'>-            invalid_integer(str);</div><div class='del'>-        }</div><div class='del'>-        ret = INT2FIX(0);</div><div class='del'>-    }</div><div class='del'>-    return ret;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_str_to_inum(VALUE str, int base, int badcheck)</div><div class='del'>-{</div><div class='del'>-    return rb_str_convert_to_inum(str, base, badcheck, TRUE);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_str2big_poweroftwo(VALUE arg, int base, int badcheck)</div><div class='del'>-{</div><div class='del'>-    int positive_p = 1;</div><div class='del'>-    const char *s, *str;</div><div class='del'>-    const char *digits_start, *digits_end;</div><div class='del'>-    size_t num_digits;</div><div class='del'>-    ssize_t len;</div><div class='del'>-    VALUE z;</div><div class='del'>-</div><div class='del'>-    if (!valid_radix_p(base) || !POW2_P(base)) {</div><div class='del'>-        invalid_radix(base);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_must_asciicompat(arg);</div><div class='del'>-    s = str = StringValueCStr(arg);</div><div class='del'>-    len = RSTRING_LEN(arg);</div><div class='del'>-    if (*str == '-') {</div><div class='del'>-	len--;</div><div class='del'>-        str++;</div><div class='del'>-        positive_p = 0;</div><div class='add'>+    if (badcheck) {</div><div class='add'>+	s = StringValueCStr(str);</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    digits_start = str;</div><div class='del'>-    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='del'>-	invalid_integer(arg);</div><div class='del'>-    digits_end = digits_start + len;</div><div class='del'>-</div><div class='del'>-    z = str2big_poweroftwo(positive_p, digits_start, digits_end, num_digits,</div><div class='del'>-            bit_length(base-1));</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(arg);</div><div class='del'>-</div><div class='del'>-    return bignorm(z);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_str2big_normal(VALUE arg, int base, int badcheck)</div><div class='del'>-{</div><div class='del'>-    int positive_p = 1;</div><div class='del'>-    const char *s, *str;</div><div class='del'>-    const char *digits_start, *digits_end;</div><div class='del'>-    size_t num_digits;</div><div class='del'>-    ssize_t len;</div><div class='del'>-    VALUE z;</div><div class='del'>-</div><div class='del'>-    int digits_per_bdigits_dbl;</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-</div><div class='del'>-    if (!valid_radix_p(base)) {</div><div class='del'>-        invalid_radix(base);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_must_asciicompat(arg);</div><div class='del'>-    s = str = StringValuePtr(arg);</div><div class='del'>-    len = RSTRING_LEN(arg);</div><div class='del'>-    if (len &gt; 0 &amp;&amp; *str == '-') {</div><div class='del'>-	len--;</div><div class='del'>-        str++;</div><div class='del'>-        positive_p = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    digits_start = str;</div><div class='del'>-    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='del'>-	invalid_integer(arg);</div><div class='del'>-    digits_end = digits_start + len;</div><div class='del'>-</div><div class='del'>-    maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='del'>-    num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='del'>-</div><div class='del'>-    z = str2big_normal(positive_p, digits_start, digits_end,</div><div class='del'>-            num_bdigits, base);</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(arg);</div><div class='del'>-</div><div class='del'>-    return bignorm(z);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_str2big_karatsuba(VALUE arg, int base, int badcheck)</div><div class='del'>-{</div><div class='del'>-    int positive_p = 1;</div><div class='del'>-    const char *s, *str;</div><div class='del'>-    const char *digits_start, *digits_end;</div><div class='del'>-    size_t num_digits;</div><div class='del'>-    ssize_t len;</div><div class='del'>-    VALUE z;</div><div class='del'>-</div><div class='del'>-    int digits_per_bdigits_dbl;</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-</div><div class='del'>-    if (!valid_radix_p(base)) {</div><div class='del'>-        invalid_radix(base);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_must_asciicompat(arg);</div><div class='del'>-    s = str = StringValuePtr(arg);</div><div class='del'>-    len = RSTRING_LEN(arg);</div><div class='del'>-    if (len &gt; 0 &amp;&amp; *str == '-') {</div><div class='del'>-	len--;</div><div class='del'>-        str++;</div><div class='del'>-        positive_p = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    digits_start = str;</div><div class='del'>-    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='del'>-	invalid_integer(arg);</div><div class='del'>-    digits_end = digits_start + len;</div><div class='del'>-</div><div class='del'>-    maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='del'>-    num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='del'>-</div><div class='del'>-    z = str2big_karatsuba(positive_p, digits_start, digits_end, num_digits,</div><div class='del'>-            num_bdigits, digits_per_bdigits_dbl, base);</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(arg);</div><div class='del'>-</div><div class='del'>-    return bignorm(z);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-VALUE</div><div class='del'>-rb_str2big_gmp(VALUE arg, int base, int badcheck)</div><div class='del'>-{</div><div class='del'>-    int positive_p = 1;</div><div class='del'>-    const char *s, *str;</div><div class='del'>-    const char *digits_start, *digits_end;</div><div class='del'>-    size_t num_digits;</div><div class='del'>-    ssize_t len;</div><div class='del'>-    VALUE z;</div><div class='del'>-</div><div class='del'>-    int digits_per_bdigits_dbl;</div><div class='del'>-    size_t num_bdigits;</div><div class='del'>-</div><div class='del'>-    if (!valid_radix_p(base)) {</div><div class='del'>-        invalid_radix(base);</div><div class='add'>+    else {</div><div class='add'>+	s = RSTRING(str)-&gt;ptr;</div><div class='ctx'>     }</div><div class='add'>+    if (s) {</div><div class='add'>+	len = RSTRING(str)-&gt;len;</div><div class='add'>+	if (s[len]) {		/* no sentinel somehow */</div><div class='add'>+	    char *p = ALLOCA_N(char, len+1);</div><div class='ctx'> </div><div class='del'>-    rb_must_asciicompat(arg);</div><div class='del'>-    s = str = StringValuePtr(arg);</div><div class='del'>-    len = RSTRING_LEN(arg);</div><div class='del'>-    if (len &gt; 0 &amp;&amp; *str == '-') {</div><div class='del'>-	len--;</div><div class='del'>-        str++;</div><div class='del'>-        positive_p = 0;</div><div class='add'>+	    MEMCPY(p, s, char, len);</div><div class='add'>+	    p[len] = '\0';</div><div class='add'>+	    s = p;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    digits_start = str;</div><div class='del'>-    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='del'>-	invalid_integer(arg);</div><div class='del'>-    digits_end = digits_start + len;</div><div class='del'>-</div><div class='del'>-    maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='del'>-    num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='del'>-</div><div class='del'>-    z = str2big_gmp(positive_p, digits_start, digits_end, num_digits, num_bdigits, base);</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(arg);</div><div class='del'>-</div><div class='del'>-    return bignorm(z);</div><div class='add'>+    return rb_cstr_to_inum(s, base, badcheck); </div><div class='ctx'> }</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='ctx'> #if HAVE_LONG_LONG</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ull2big(unsigned LONG_LONG n)</div><div class='add'>+VALUE</div><div class='add'>+rb_ull2big(n)</div><div class='add'>+    unsigned LONG_LONG n;</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    VALUE big = bignew(bdigit_roomof(SIZEOF_LONG_LONG), 1);</div><div class='del'>-    BDIGIT *digits = BDIGITS(big);</div><div class='add'>+    BDIGIT_DBL num = n;</div><div class='add'>+    long i = 0;</div><div class='add'>+    BDIGIT *digits;</div><div class='add'>+    VALUE big;</div><div class='ctx'> </div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG_LONG</div><div class='del'>-    digits[0] = n;</div><div class='del'>-#else</div><div class='del'>-    for (i = 0; i &lt; bdigit_roomof(SIZEOF_LONG_LONG); i++) {</div><div class='del'>-	digits[i] = BIGLO(n);</div><div class='del'>-	n = BIGDN(n);</div><div class='add'>+    big = bignew(DIGSPERLL, 1);</div><div class='add'>+    digits = BDIGITS(big);</div><div class='add'>+    while (i &lt; DIGSPERLL) {</div><div class='add'>+	digits[i++] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='del'>-    i = bdigit_roomof(SIZEOF_LONG_LONG);</div><div class='add'>+    i = DIGSPERLL;</div><div class='ctx'>     while (i-- &amp;&amp; !digits[i]) ;</div><div class='del'>-    BIGNUM_SET_LEN(big, i+1);</div><div class='add'>+    RBIGNUM(big)-&gt;len = i+1;</div><div class='ctx'>     return big;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ll2big(LONG_LONG n)</div><div class='add'>+VALUE</div><div class='add'>+rb_ll2big(n)</div><div class='add'>+    LONG_LONG n;</div><div class='ctx'> {</div><div class='ctx'>     long neg = 0;</div><div class='del'>-    unsigned LONG_LONG u;</div><div class='ctx'>     VALUE big;</div><div class='ctx'> </div><div class='ctx'>     if (n &lt; 0) {</div><div class='del'>-        u = 1 + (unsigned LONG_LONG)(-(n + 1)); /* u = -n avoiding overflow */</div><div class='add'>+	n = -n;</div><div class='ctx'> 	neg = 1;</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-        u = n;</div><div class='del'>-    }</div><div class='del'>-    big = rb_ull2big(u);</div><div class='add'>+    big = rb_ull2big(n);</div><div class='ctx'>     if (neg) {</div><div class='del'>-	BIGNUM_SET_NEGATIVE_SIGN(big);</div><div class='add'>+	RBIGNUM(big)-&gt;sign = 0;</div><div class='ctx'>     }</div><div class='ctx'>     return big;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ull2inum(unsigned LONG_LONG n)</div><div class='add'>+rb_ull2inum(n)</div><div class='add'>+    unsigned LONG_LONG n;</div><div class='ctx'> {</div><div class='ctx'>     if (POSFIXABLE(n)) return LONG2FIX(n);</div><div class='ctx'>     return rb_ull2big(n);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ll2inum(LONG_LONG n)</div><div class='add'>+rb_ll2inum(n)</div><div class='add'>+    LONG_LONG n;</div><div class='ctx'> {</div><div class='ctx'>     if (FIXABLE(n)) return LONG2FIX(n);</div><div class='ctx'>     return rb_ll2big(n);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> #endif  /* HAVE_LONG_LONG */</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_INT128_T</div><div class='del'>-static VALUE</div><div class='del'>-rb_uint128t2big(uint128_t n)</div><div class='del'>-{</div><div class='del'>-    long i;</div><div class='del'>-    VALUE big = bignew(bdigit_roomof(SIZEOF_INT128_T), 1);</div><div class='del'>-    BDIGIT *digits = BDIGITS(big);</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; bdigit_roomof(SIZEOF_INT128_T); i++) {</div><div class='del'>-	digits[i] = BIGLO(RSHIFT(n ,BITSPERDIG*i));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    i = bdigit_roomof(SIZEOF_INT128_T);</div><div class='del'>-    while (i-- &amp;&amp; !digits[i]) ;</div><div class='del'>-    BIGNUM_SET_LEN(big, i+1);</div><div class='del'>-    return big;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_int128t2big(int128_t n)</div><div class='del'>-{</div><div class='del'>-    int neg = 0;</div><div class='del'>-    uint128_t u;</div><div class='del'>-    VALUE big;</div><div class='del'>-</div><div class='del'>-    if (n &lt; 0) {</div><div class='del'>-        u = 1 + (uint128_t)(-(n + 1)); /* u = -n avoiding overflow */</div><div class='del'>-	neg = 1;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        u = n;</div><div class='del'>-    }</div><div class='del'>-    big = rb_uint128t2big(u);</div><div class='del'>-    if (neg) {</div><div class='del'>-	BIGNUM_SET_NEGATIVE_SIGN(big);</div><div class='del'>-    }</div><div class='del'>-    return big;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='add'>+ </div><div class='ctx'> VALUE</div><div class='del'>-rb_cstr2inum(const char *str, int base)</div><div class='add'>+rb_cstr2inum(str, base)</div><div class='add'>+    const char *str;</div><div class='add'>+    int base;</div><div class='ctx'> {</div><div class='ctx'>     return rb_cstr_to_inum(str, base, base==0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_str2inum(VALUE str, int base)</div><div class='add'>+rb_str2inum(str, base)</div><div class='add'>+    VALUE str;</div><div class='add'>+    int base;</div><div class='ctx'> {</div><div class='ctx'>     return rb_str_to_inum(str, base, base==0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-big_shift3(VALUE x, int lshift_p, size_t shift_numdigits, int shift_numbits)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-    long s1;</div><div class='del'>-    int s2;</div><div class='del'>-    VALUE z;</div><div class='del'>-    long xn;</div><div class='del'>-</div><div class='del'>-    if (lshift_p) {</div><div class='del'>-        if (LONG_MAX &lt; shift_numdigits) {</div><div class='del'>-            rb_raise(rb_eArgError, "too big number");</div><div class='del'>-        }</div><div class='del'>-        s1 = shift_numdigits;</div><div class='del'>-        s2 = shift_numbits;</div><div class='del'>-        xn = BIGNUM_LEN(x);</div><div class='del'>-        z = bignew(xn+s1+1, BIGNUM_SIGN(x));</div><div class='del'>-        zds = BDIGITS(z);</div><div class='del'>-        BDIGITS_ZERO(zds, s1);</div><div class='del'>-        xds = BDIGITS(x);</div><div class='del'>-        zds[xn+s1] = bary_small_lshift(zds+s1, xds, xn, s2);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        long zn;</div><div class='del'>-        BDIGIT hibitsx;</div><div class='del'>-        if (LONG_MAX &lt; shift_numdigits || (size_t)BIGNUM_LEN(x) &lt;= shift_numdigits) {</div><div class='del'>-            if (BIGNUM_POSITIVE_P(x) ||</div><div class='del'>-                bary_zero_p(BDIGITS(x), BIGNUM_LEN(x)))</div><div class='del'>-                return INT2FIX(0);</div><div class='del'>-            else</div><div class='del'>-                return INT2FIX(-1);</div><div class='del'>-        }</div><div class='del'>-        s1 = shift_numdigits;</div><div class='del'>-        s2 = shift_numbits;</div><div class='del'>-        hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='del'>-        xds = BDIGITS(x);</div><div class='del'>-        if (xn &lt;= s1) {</div><div class='del'>-            return hibitsx ? INT2FIX(-1) : INT2FIX(0);</div><div class='del'>-        }</div><div class='del'>-        zn = xn - s1;</div><div class='del'>-        z = bignew(zn, 0);</div><div class='del'>-        zds = BDIGITS(z);</div><div class='del'>-        bary_small_rshift(zds, xds+s1, zn, s2, hibitsx != 0 ? BDIGMAX : 0);</div><div class='del'>-        twocomp2abs_bang(z, hibitsx != 0);</div><div class='del'>-    }</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-big_shift2(VALUE x, int lshift_p, VALUE y)</div><div class='del'>-{</div><div class='del'>-    int sign;</div><div class='del'>-    size_t lens[2];</div><div class='del'>-    size_t shift_numdigits;</div><div class='del'>-    int shift_numbits;</div><div class='del'>-</div><div class='del'>-    assert(POW2_P(CHAR_BIT));</div><div class='del'>-    assert(POW2_P(BITSPERDIG));</div><div class='del'>-</div><div class='del'>-    if (BIGZEROP(x))</div><div class='del'>-        return INT2FIX(0);</div><div class='del'>-    sign = rb_integer_pack(y, lens, numberof(lens), sizeof(size_t), 0,</div><div class='del'>-        INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='del'>-    if (sign &lt; 0) {</div><div class='del'>-        lshift_p = !lshift_p;</div><div class='del'>-        sign = -sign;</div><div class='del'>-    }</div><div class='del'>-    if (lshift_p) {</div><div class='del'>-        if (1 &lt; sign || CHAR_BIT &lt;= lens[1])</div><div class='del'>-            rb_raise(rb_eRangeError, "shift width too big");</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (1 &lt; sign || CHAR_BIT &lt;= lens[1])</div><div class='del'>-            return BIGNUM_POSITIVE_P(x) ? INT2FIX(0) : INT2FIX(-1);</div><div class='del'>-    }</div><div class='del'>-    shift_numbits = (int)(lens[0] &amp; (BITSPERDIG-1));</div><div class='del'>-    shift_numdigits = (lens[0] &gt;&gt; bit_length(BITSPERDIG-1)) |</div><div class='del'>-      (lens[1] &lt;&lt; (CHAR_BIT*SIZEOF_SIZE_T - bit_length(BITSPERDIG-1)));</div><div class='del'>-    return big_shift3(x, lshift_p, shift_numdigits, shift_numbits);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-big_lshift(VALUE x, unsigned long shift)</div><div class='del'>-{</div><div class='del'>-    long s1 = shift/BITSPERDIG;</div><div class='del'>-    int s2 = (int)(shift%BITSPERDIG);</div><div class='del'>-    return big_shift3(x, 1, s1, s2);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-big_rshift(VALUE x, unsigned long shift)</div><div class='del'>-{</div><div class='del'>-    long s1 = shift/BITSPERDIG;</div><div class='del'>-    int s2 = (int)(shift%BITSPERDIG);</div><div class='del'>-    return big_shift3(x, 0, s1, s2);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define MAX_BASE36_POWER_TABLE_ENTRIES (SIZEOF_SIZE_T * CHAR_BIT + 1)</div><div class='del'>-</div><div class='del'>-static VALUE base36_power_cache[35][MAX_BASE36_POWER_TABLE_ENTRIES];</div><div class='del'>-static size_t base36_numdigits_cache[35][MAX_BASE36_POWER_TABLE_ENTRIES];</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-power_cache_init(void)</div><div class='del'>-{</div><div class='del'>-    int i, j;</div><div class='del'>-    for (i = 0; i &lt; 35; ++i) {</div><div class='del'>-	for (j = 0; j &lt; MAX_BASE36_POWER_TABLE_ENTRIES; ++j) {</div><div class='del'>-	    base36_power_cache[i][j] = Qnil;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-power_cache_get_power(int base, int power_level, size_t *numdigits_ret)</div><div class='del'>-{</div><div class='del'>-    /*</div><div class='del'>-     * MAX_BASE36_POWER_TABLE_ENTRIES is big enough to that</div><div class='del'>-     * base36_power_cache[base][MAX_BASE36_POWER_TABLE_ENTRIES-1] fills whole memory.</div><div class='del'>-     * So MAX_BASE36_POWER_TABLE_ENTRIES &lt;= power_level is not possible to calculate.</div><div class='del'>-     *</div><div class='del'>-     * number-of-bytes =</div><div class='del'>-     * log256(base36_power_cache[base][MAX_BASE36_POWER_TABLE_ENTRIES-1]) =</div><div class='del'>-     * log256(maxpow_in_bdigit_dbl(base)**(2**(MAX_BASE36_POWER_TABLE_ENTRIES-1))) =</div><div class='del'>-     * log256(maxpow_in_bdigit_dbl(base)**(2**(SIZEOF_SIZE_T*CHAR_BIT))) =</div><div class='del'>-     * (2**(SIZEOF_SIZE_T*CHAR_BIT))*log256(maxpow_in_bdigit_dbl(base)) =</div><div class='del'>-     * (256**SIZEOF_SIZE_T)*log256(maxpow_in_bdigit_dbl(base)) &gt;</div><div class='del'>-     * (256**SIZEOF_SIZE_T)*(sizeof(BDIGIT_DBL)-1) &gt;</div><div class='del'>-     * 256**SIZEOF_SIZE_T</div><div class='del'>-     */</div><div class='del'>-    if (MAX_BASE36_POWER_TABLE_ENTRIES &lt;= power_level)</div><div class='del'>-        rb_bug("too big power number requested: maxpow_in_bdigit_dbl(%d)**(2**%d)", base, power_level);</div><div class='del'>-</div><div class='del'>-    if (NIL_P(base36_power_cache[base - 2][power_level])) {</div><div class='del'>-        VALUE power;</div><div class='del'>-        size_t numdigits;</div><div class='del'>-        if (power_level == 0) {</div><div class='del'>-            int numdigits0;</div><div class='del'>-            BDIGIT_DBL dd = maxpow_in_bdigit_dbl(base, &amp;numdigits0);</div><div class='del'>-            power = bignew(2, 1);</div><div class='del'>-            bdigitdbl2bary(BDIGITS(power), 2, dd);</div><div class='del'>-            numdigits = numdigits0;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            power = bigtrunc(bigsq(power_cache_get_power(base, power_level - 1, &amp;numdigits)));</div><div class='del'>-            numdigits *= 2;</div><div class='del'>-        }</div><div class='del'>-        rb_obj_hide(power);</div><div class='del'>-        base36_power_cache[base - 2][power_level] = power;</div><div class='del'>-        base36_numdigits_cache[base - 2][power_level] = numdigits;</div><div class='del'>-	rb_gc_register_mark_object(power);</div><div class='del'>-    }</div><div class='del'>-    if (numdigits_ret)</div><div class='del'>-        *numdigits_ret = base36_numdigits_cache[base - 2][power_level];</div><div class='del'>-    return base36_power_cache[base - 2][power_level];</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct big2str_struct {</div><div class='del'>-    int negative;</div><div class='add'>+const char ruby_digitmap[] = "0123456789abcdefghijklmnopqrstuvwxyz";</div><div class='add'>+VALUE</div><div class='add'>+rb_big2str0(x, base, trim)</div><div class='add'>+    VALUE x;</div><div class='ctx'>     int base;</div><div class='del'>-    BDIGIT_DBL hbase2;</div><div class='del'>-    int hbase2_numdigits;</div><div class='del'>-    VALUE result;</div><div class='del'>-    char *ptr;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-big2str_alloc(struct big2str_struct *b2s, size_t len)</div><div class='add'>+    int trim;</div><div class='ctx'> {</div><div class='del'>-    if (LONG_MAX-1 &lt; len)</div><div class='del'>-        rb_raise(rb_eArgError, "too big number");</div><div class='del'>-    b2s-&gt;result = rb_usascii_str_new(0, (long)(len + 1)); /* plus one for sign */</div><div class='del'>-    b2s-&gt;ptr = RSTRING_PTR(b2s-&gt;result);</div><div class='del'>-    if (b2s-&gt;negative)</div><div class='del'>-        *b2s-&gt;ptr++ = '-';</div><div class='del'>-}</div><div class='add'>+    volatile VALUE t;</div><div class='add'>+    BDIGIT *ds;</div><div class='add'>+    long i, j, hbase;</div><div class='add'>+    VALUE ss;</div><div class='add'>+    char *s;</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-big2str_2bdigits(struct big2str_struct *b2s, BDIGIT *xds, size_t xn, size_t taillen)</div><div class='del'>-{</div><div class='del'>-    size_t j;</div><div class='del'>-    BDIGIT_DBL num;</div><div class='del'>-    char buf[SIZEOF_BDIGIT_DBL*CHAR_BIT], *p;</div><div class='del'>-    int beginning = !b2s-&gt;ptr;</div><div class='del'>-    size_t len = 0;</div><div class='del'>-</div><div class='del'>-    assert(xn &lt;= 2);</div><div class='del'>-    num = bary2bdigitdbl(xds, xn);</div><div class='del'>-</div><div class='del'>-    if (beginning) {</div><div class='del'>-        if (num == 0)</div><div class='del'>-            return;</div><div class='del'>-        p = buf;</div><div class='del'>-        j = sizeof(buf);</div><div class='del'>-        do {</div><div class='del'>-            BDIGIT_DBL idx = num % b2s-&gt;base;</div><div class='del'>-            num /= b2s-&gt;base;</div><div class='del'>-            p[--j] = ruby_digitmap[idx];</div><div class='del'>-        } while (num);</div><div class='del'>-        len = sizeof(buf) - j;</div><div class='del'>-        big2str_alloc(b2s, len + taillen);</div><div class='del'>-	MEMCPY(b2s-&gt;ptr, buf + j, char, len);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        p = b2s-&gt;ptr;</div><div class='del'>-        j = b2s-&gt;hbase2_numdigits;</div><div class='del'>-        do {</div><div class='del'>-            BDIGIT_DBL idx = num % b2s-&gt;base;</div><div class='del'>-            num /= b2s-&gt;base;</div><div class='del'>-            p[--j] = ruby_digitmap[idx];</div><div class='del'>-        } while (j);</div><div class='del'>-        len = b2s-&gt;hbase2_numdigits;</div><div class='add'>+    if (FIXNUM_P(x)) {</div><div class='add'>+	return rb_fix2str(x, base);</div><div class='ctx'>     }</div><div class='del'>-    b2s-&gt;ptr += len;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-big2str_karatsuba(struct big2str_struct *b2s, BDIGIT *xds, size_t xn, size_t wn,</div><div class='del'>-		  int power_level, size_t taillen)</div><div class='del'>-{</div><div class='del'>-    VALUE b;</div><div class='del'>-    size_t half_numdigits, lower_numdigits;</div><div class='del'>-    int lower_power_level;</div><div class='del'>-    size_t bn;</div><div class='del'>-    const BDIGIT *bds;</div><div class='del'>-    size_t len;</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * Precondition:</div><div class='del'>-     * abs(x) &lt; maxpow**(2**power_level)</div><div class='del'>-     * where</div><div class='del'>-     *   maxpow = maxpow_in_bdigit_dbl(base, &amp;numdigits)</div><div class='del'>-     *</div><div class='del'>-     * This function generates sequence of zeros, and then stringized abs(x) into b2s-&gt;ptr.</div><div class='del'>-     *</div><div class='del'>-     * b2s-&gt;ptr can be NULL.</div><div class='del'>-     * It is allocated when the first character is generated via big2str_alloc.</div><div class='del'>-     *</div><div class='del'>-     * The prefix zeros should be generated if and only if b2s-&gt;ptr is not NULL.</div><div class='del'>-     * When the zeros are generated, the zeros and abs(x) consists</div><div class='del'>-     * numdigits*(2**power_level) characters at total.</div><div class='del'>-     *</div><div class='del'>-     * Note:</div><div class='del'>-     * power_cache_get_power(base, power_level, &amp;len) may not be cached yet. It should not be called.</div><div class='del'>-     * power_cache_get_power(base, power_level-1, &amp;len) should be cached already if 0 &lt;= power_level-1.</div><div class='del'>-     */</div><div class='del'>-</div><div class='del'>-    if (xn == 0 || bary_zero_p(xds, xn)) {</div><div class='del'>-	if (b2s-&gt;ptr) {</div><div class='del'>-            /* When x is zero, power_cache_get_power(base, power_level) should be cached already. */</div><div class='del'>-            power_cache_get_power(b2s-&gt;base, power_level, &amp;len);</div><div class='del'>-	    memset(b2s-&gt;ptr, '0', len);</div><div class='del'>-            b2s-&gt;ptr += len;</div><div class='add'>+    i = RBIGNUM(x)-&gt;len;</div><div class='add'>+    if (BIGZEROP(x)) {</div><div class='add'>+	return rb_str_new2("0");</div><div class='add'>+    }</div><div class='add'>+    j = SIZEOF_BDIGITS*CHAR_BIT*i;</div><div class='add'>+    switch (base) {</div><div class='add'>+      case 2: break;</div><div class='add'>+      case 3:</div><div class='add'>+	j = j * 53L / 84 + 1;</div><div class='add'>+	break;</div><div class='add'>+      case 4: case 5: case 6: case 7:</div><div class='add'>+	j /= 2;</div><div class='add'>+	break;</div><div class='add'>+      case 8: case 9:</div><div class='add'>+	j /= 3;</div><div class='add'>+	break;</div><div class='add'>+      case 10: case 11: case 12: case 13: case 14: case 15:</div><div class='add'>+	j = j * 28L / 93 + 1;</div><div class='add'>+	break;</div><div class='add'>+      case 16: case 17: case 18: case 19: case 20: case 21:</div><div class='add'>+      case 22: case 23: case 24: case 25: case 26: case 27:</div><div class='add'>+      case 28: case 29: case 30: case 31:</div><div class='add'>+	j /= 4;</div><div class='add'>+	break;</div><div class='add'>+      case 32: case 33: case 34: case 35: case 36:</div><div class='add'>+	j /= 5;</div><div class='add'>+	break;</div><div class='add'>+      default:</div><div class='add'>+	rb_raise(rb_eArgError, "illegal radix %d", base);</div><div class='add'>+	break;</div><div class='add'>+    }</div><div class='add'>+    j++;			/* space for sign */</div><div class='add'>+</div><div class='add'>+    hbase = base * base;</div><div class='add'>+#if SIZEOF_BDIGITS &gt; 2</div><div class='add'>+    hbase *= hbase;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    t = rb_big_clone(x);</div><div class='add'>+    ds = BDIGITS(t);</div><div class='add'>+    ss = rb_str_new(0, j+1);</div><div class='add'>+    s = RSTRING(ss)-&gt;ptr;</div><div class='add'>+</div><div class='add'>+    s[0] = RBIGNUM(x)-&gt;sign ? '+' : '-';</div><div class='add'>+    while (i &amp;&amp; j &gt; 1) {</div><div class='add'>+	long k = i;</div><div class='add'>+	BDIGIT_DBL num = 0;</div><div class='add'>+</div><div class='add'>+	while (k--) {</div><div class='add'>+	    num = BIGUP(num) + ds[k];</div><div class='add'>+	    ds[k] = (BDIGIT)(num / hbase);</div><div class='add'>+	    num %= hbase;</div><div class='add'>+	}</div><div class='add'>+	if (trim &amp;&amp; ds[i-1] == 0) i--;</div><div class='add'>+	k = SIZEOF_BDIGITS;</div><div class='add'>+	while (k--) {</div><div class='add'>+	    s[--j] = ruby_digitmap[num % base];</div><div class='add'>+	    num /= base;</div><div class='add'>+	    if (!trim &amp;&amp; j &lt; 1) break;</div><div class='add'>+	    if (trim &amp;&amp; i == 0 &amp;&amp; num == 0) break;</div><div class='ctx'> 	}</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (power_level == 0) {</div><div class='del'>-	big2str_2bdigits(b2s, xds, xn, taillen);</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    lower_power_level = power_level-1;</div><div class='del'>-    b = power_cache_get_power(b2s-&gt;base, lower_power_level, &amp;lower_numdigits);</div><div class='del'>-    bn = BIGNUM_LEN(b);</div><div class='del'>-    bds = BDIGITS(b);</div><div class='del'>-</div><div class='del'>-    half_numdigits = lower_numdigits;</div><div class='del'>-</div><div class='del'>-    while (0 &lt; lower_power_level &amp;&amp;</div><div class='del'>-            (xn &lt; bn ||</div><div class='del'>-             (xn == bn &amp;&amp; bary_cmp(xds, xn, bds, bn) &lt; 0))) {</div><div class='del'>-        lower_power_level--;</div><div class='del'>-        b = power_cache_get_power(b2s-&gt;base, lower_power_level, &amp;lower_numdigits);</div><div class='del'>-        bn = BIGNUM_LEN(b);</div><div class='del'>-        bds = BDIGITS(b);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (lower_power_level == 0 &amp;&amp;</div><div class='del'>-            (xn &lt; bn ||</div><div class='del'>-             (xn == bn &amp;&amp; bary_cmp(xds, xn, bds, bn) &lt; 0))) {</div><div class='del'>-        if (b2s-&gt;ptr) {</div><div class='del'>-            len = half_numdigits * 2 - lower_numdigits;</div><div class='del'>-            memset(b2s-&gt;ptr, '0', len);</div><div class='del'>-            b2s-&gt;ptr += len;</div><div class='del'>-        }</div><div class='del'>-	big2str_2bdigits(b2s, xds, xn, taillen);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        BDIGIT *qds, *rds;</div><div class='del'>-        size_t qn, rn;</div><div class='del'>-        BDIGIT *tds;</div><div class='del'>-        int shift;</div><div class='del'>-</div><div class='del'>-        if (lower_power_level != power_level-1 &amp;&amp; b2s-&gt;ptr) {</div><div class='del'>-            len = (half_numdigits - lower_numdigits) * 2;</div><div class='del'>-            memset(b2s-&gt;ptr, '0', len);</div><div class='del'>-            b2s-&gt;ptr += len;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        shift = nlz(bds[bn-1]);</div><div class='del'>-</div><div class='del'>-        qn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='del'>-</div><div class='del'>-        if (shift == 0) {</div><div class='del'>-            /* bigdivrem_restoring will not modify y.</div><div class='del'>-             * So use bds directly.  */</div><div class='del'>-            tds = (BDIGIT *)bds;</div><div class='del'>-            xds[xn] = 0;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            /* bigdivrem_restoring will modify y.</div><div class='del'>-             * So use temporary buffer.  */</div><div class='del'>-            tds = xds + qn;</div><div class='del'>-            assert(qn + bn &lt;= xn + wn);</div><div class='del'>-            bary_small_lshift(tds, bds, bn, shift);</div><div class='del'>-            xds[xn] = bary_small_lshift(xds, xds, xn, shift);</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        bigdivrem_restoring(xds, qn, tds, bn);</div><div class='del'>-</div><div class='del'>-        rds = xds;</div><div class='del'>-        rn = bn;</div><div class='del'>-</div><div class='del'>-        qds = xds + bn;</div><div class='del'>-        qn = qn - bn;</div><div class='del'>-</div><div class='del'>-        if (shift) {</div><div class='del'>-            bary_small_rshift(rds, rds, rn, shift, 0);</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        BARY_TRUNC(qds, qn);</div><div class='del'>-        assert(qn &lt;= bn);</div><div class='del'>-        big2str_karatsuba(b2s, qds, qn, xn+wn - (rn+qn), lower_power_level, lower_numdigits+taillen);</div><div class='del'>-        BARY_TRUNC(rds, rn);</div><div class='del'>-        big2str_karatsuba(b2s, rds, rn, xn+wn - rn, lower_power_level, taillen);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-big2str_base_poweroftwo(VALUE x, int base)</div><div class='del'>-{</div><div class='del'>-    int word_numbits = ffs(base) - 1;</div><div class='del'>-    size_t numwords;</div><div class='del'>-    VALUE result;</div><div class='del'>-    char *ptr;</div><div class='del'>-    numwords = rb_absint_numwords(x, word_numbits, NULL);</div><div class='del'>-    if (BIGNUM_NEGATIVE_P(x)) {</div><div class='del'>-        if (LONG_MAX-1 &lt; numwords)</div><div class='del'>-            rb_raise(rb_eArgError, "too big number");</div><div class='del'>-        result = rb_usascii_str_new(0, 1+numwords);</div><div class='del'>-        ptr = RSTRING_PTR(result);</div><div class='del'>-        *ptr++ = BIGNUM_POSITIVE_P(x) ? '+' : '-';</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (LONG_MAX &lt; numwords)</div><div class='del'>-            rb_raise(rb_eArgError, "too big number");</div><div class='del'>-        result = rb_usascii_str_new(0, numwords);</div><div class='del'>-        ptr = RSTRING_PTR(result);</div><div class='del'>-    }</div><div class='del'>-    rb_integer_pack(x, ptr, numwords, 1, CHAR_BIT-word_numbits,</div><div class='del'>-                    INTEGER_PACK_BIG_ENDIAN);</div><div class='del'>-    while (0 &lt; numwords) {</div><div class='del'>-        *ptr = ruby_digitmap[*(unsigned char *)ptr];</div><div class='del'>-        ptr++;</div><div class='del'>-        numwords--;</div><div class='del'>-    }</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big2str_poweroftwo(VALUE x, int base)</div><div class='del'>-{</div><div class='del'>-    return big2str_base_poweroftwo(x, base);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-big2str_generic(VALUE x, int base)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *xds;</div><div class='del'>-    size_t xn;</div><div class='del'>-    struct big2str_struct b2s_data;</div><div class='del'>-    int power_level;</div><div class='del'>-    VALUE power;</div><div class='del'>-</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-</div><div class='del'>-    if (xn == 0) {</div><div class='del'>-	return rb_usascii_str_new2("0");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!valid_radix_p(base))</div><div class='del'>-	invalid_radix(base);</div><div class='del'>-</div><div class='del'>-    if (xn &gt;= LONG_MAX/BITSPERDIG) {</div><div class='del'>-        rb_raise(rb_eRangeError, "bignum too big to convert into `string'");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    power_level = 0;</div><div class='del'>-    power = power_cache_get_power(base, power_level, NULL);</div><div class='del'>-    while (power_level &lt; MAX_BASE36_POWER_TABLE_ENTRIES &amp;&amp;</div><div class='del'>-           (size_t)BIGNUM_LEN(power) &lt;= (xn+1)/2) {</div><div class='del'>-        power_level++;</div><div class='del'>-        power = power_cache_get_power(base, power_level, NULL);</div><div class='del'>-    }</div><div class='del'>-    assert(power_level != MAX_BASE36_POWER_TABLE_ENTRIES);</div><div class='del'>-</div><div class='del'>-    if ((size_t)BIGNUM_LEN(power) &lt;= xn) {</div><div class='del'>-        /*</div><div class='del'>-         * This increment guarantees x &lt; power_cache_get_power(base, power_level)</div><div class='del'>-         * without invoking it actually.</div><div class='del'>-         * (power_cache_get_power(base, power_level) can be slow and not used</div><div class='del'>-         * in big2str_karatsuba.)</div><div class='del'>-         *</div><div class='del'>-         * Although it is possible that x &lt; power_cache_get_power(base, power_level-1),</div><div class='del'>-         * it is no problem because big2str_karatsuba checks it and</div><div class='del'>-         * doesn't affect the result when b2s_data.ptr is NULL.</div><div class='del'>-         */</div><div class='del'>-        power_level++;</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    b2s_data.negative = BIGNUM_NEGATIVE_P(x);</div><div class='del'>-    b2s_data.base = base;</div><div class='del'>-    b2s_data.hbase2 = maxpow_in_bdigit_dbl(base, &amp;b2s_data.hbase2_numdigits);</div><div class='del'>-</div><div class='del'>-    b2s_data.result = Qnil;</div><div class='del'>-    b2s_data.ptr = NULL;</div><div class='del'>-</div><div class='del'>-    if (power_level == 0) {</div><div class='del'>-	big2str_2bdigits(&amp;b2s_data, xds, xn, 0);</div><div class='add'>+    if (trim) {while (s[j] == '0') j++;}</div><div class='add'>+    i = RSTRING(ss)-&gt;len - j;</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	memmove(s, s+j, i);</div><div class='add'>+	RSTRING(ss)-&gt;len = i-1;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-        VALUE tmpw = 0;</div><div class='del'>-        BDIGIT *wds;</div><div class='del'>-        size_t wn;</div><div class='del'>-        wn = power_level * BIGDIVREM_EXTRA_WORDS + BIGNUM_LEN(power);</div><div class='del'>-        wds = ALLOCV_N(BDIGIT, tmpw, xn + wn);</div><div class='del'>-        MEMCPY(wds, xds, BDIGIT, xn);</div><div class='del'>-	big2str_karatsuba(&amp;b2s_data, wds, xn, wn, power_level, 0);</div><div class='del'>-        if (tmpw)</div><div class='del'>-            ALLOCV_END(tmpw);</div><div class='add'>+	memmove(s+1, s+j, i);</div><div class='add'>+	RSTRING(ss)-&gt;len = i;</div><div class='ctx'>     }</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='add'>+    s[RSTRING(ss)-&gt;len] = '\0';</div><div class='ctx'> </div><div class='del'>-    *b2s_data.ptr = '\0';</div><div class='del'>-    rb_str_resize(b2s_data.result, (long)(b2s_data.ptr - RSTRING_PTR(b2s_data.result)));</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return b2s_data.result;</div><div class='add'>+    return ss;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big2str_generic(VALUE x, int base)</div><div class='del'>-{</div><div class='del'>-    return big2str_generic(x, base);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-static VALUE</div><div class='del'>-big2str_gmp(VALUE x, int base)</div><div class='add'>+rb_big2str(VALUE x, int base)</div><div class='ctx'> {</div><div class='del'>-    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='del'>-    mpz_t mx;</div><div class='del'>-    size_t size;</div><div class='del'>-    VALUE str;</div><div class='del'>-    BDIGIT *xds = BDIGITS(x);</div><div class='del'>-    size_t xn = BIGNUM_LEN(x);</div><div class='del'>-</div><div class='del'>-    mpz_init(mx);</div><div class='del'>-    mpz_import(mx, xn, -1, sizeof(BDIGIT), 0, nails, xds);</div><div class='del'>-</div><div class='del'>-    size = mpz_sizeinbase(mx, base);</div><div class='del'>-</div><div class='del'>-    if (BIGNUM_NEGATIVE_P(x)) {</div><div class='del'>-        mpz_neg(mx, mx);</div><div class='del'>-        str = rb_usascii_str_new(0, size+1);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        str = rb_usascii_str_new(0, size);</div><div class='del'>-    }</div><div class='del'>-    mpz_get_str(RSTRING_PTR(str), base, mx);</div><div class='del'>-    mpz_clear(mx);</div><div class='del'>-</div><div class='del'>-    if (RSTRING_PTR(str)[RSTRING_LEN(str)-1] == '\0') {</div><div class='del'>-        rb_str_set_len(str, RSTRING_LEN(str)-1);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return str;</div><div class='add'>+    return rb_big2str0(x, base, Qtrue);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big2str_gmp(VALUE x, int base)</div><div class='del'>-{</div><div class='del'>-    return big2str_gmp(x, base);</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.to_s(base=10)   =&gt;  string</div><div class='add'>+ *  </div><div class='add'>+ *  Returns a string containing the representation of &lt;i&gt;big&lt;/i&gt; radix</div><div class='add'>+ *  &lt;i&gt;base&lt;/i&gt; (2 through 36).</div><div class='add'>+ *     </div><div class='add'>+ *     12345654321.to_s         #=&gt; "12345654321"</div><div class='add'>+ *     12345654321.to_s(2)      #=&gt; "1011011111110110111011110000110001"</div><div class='add'>+ *     12345654321.to_s(8)      #=&gt; "133766736061"</div><div class='add'>+ *     12345654321.to_s(16)     #=&gt; "2dfdbbc31"</div><div class='add'>+ *     78546939656932.to_s(36)  #=&gt; "rubyrules"</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_big2str1(VALUE x, int base)</div><div class='add'>+rb_big_to_s(argc, argv, x)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    BDIGIT *xds;</div><div class='del'>-    size_t xn;</div><div class='del'>-</div><div class='del'>-    if (FIXNUM_P(x)) {</div><div class='del'>-	return rb_fix2str(x, base);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    bigtrunc(x);</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-</div><div class='del'>-    if (xn == 0) {</div><div class='del'>-	return rb_usascii_str_new2("0");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!valid_radix_p(base))</div><div class='del'>-	invalid_radix(base);</div><div class='del'>-</div><div class='del'>-    if (xn &gt;= LONG_MAX/BITSPERDIG) {</div><div class='del'>-        rb_raise(rb_eRangeError, "bignum too big to convert into `string'");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (POW2_P(base)) {</div><div class='del'>-        /* base == 2 || base == 4 || base == 8 || base == 16 || base == 32 */</div><div class='del'>-        return big2str_base_poweroftwo(x, base);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-    if (GMP_BIG2STR_DIGITS &lt; xn) {</div><div class='del'>-        return big2str_gmp(x, base);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    return big2str_generic(x, base);</div><div class='del'>-}</div><div class='add'>+    VALUE b;</div><div class='add'>+    int base;</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big2str(VALUE x, int base)</div><div class='del'>-{</div><div class='del'>-    return rb_big2str1(x, base);</div><div class='add'>+    rb_scan_args(argc, argv, "01", &amp;b);</div><div class='add'>+    if (argc == 0) base = 10;</div><div class='add'>+    else base = NUM2INT(b);</div><div class='add'>+    return rb_big2str(x, base);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static unsigned long</div><div class='del'>-big2ulong(VALUE x, const char *type)</div><div class='add'>+big2ulong(x, type)</div><div class='add'>+    VALUE x;</div><div class='add'>+    char *type;</div><div class='ctx'> {</div><div class='del'>-#if SIZEOF_LONG &gt; SIZEOF_BDIGIT</div><div class='del'>-    size_t i;</div><div class='del'>-#endif</div><div class='del'>-    size_t len = BIGNUM_LEN(x);</div><div class='del'>-    unsigned long num;</div><div class='add'>+    long len = RBIGNUM(x)-&gt;len;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='ctx'>     BDIGIT *ds;</div><div class='ctx'> </div><div class='del'>-    if (len == 0)</div><div class='del'>-        return 0;</div><div class='del'>-    if (BIGSIZE(x) &gt; sizeof(long)) {</div><div class='del'>-        rb_raise(rb_eRangeError, "bignum too big to convert into `%s'", type);</div><div class='del'>-    }</div><div class='add'>+    if (len &gt; SIZEOF_LONG/SIZEOF_BDIGITS)</div><div class='add'>+	rb_raise(rb_eRangeError, "bignum too big to convert into `%s'", type);</div><div class='ctx'>     ds = BDIGITS(x);</div><div class='del'>-#if SIZEOF_LONG &lt;= SIZEOF_BDIGIT</div><div class='del'>-    num = (unsigned long)ds[0];</div><div class='del'>-#else</div><div class='ctx'>     num = 0;</div><div class='del'>-    for (i = 0; i &lt; len; i++) {</div><div class='del'>-	num &lt;&lt;= BITSPERDIG;</div><div class='del'>-        num += (unsigned long)ds[len - i - 1]; /* overflow is already checked */</div><div class='add'>+    while (len--) {</div><div class='add'>+	num = BIGUP(num);</div><div class='add'>+	num += ds[len];</div><div class='ctx'>     }</div><div class='del'>-#endif</div><div class='ctx'>     return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> unsigned long</div><div class='del'>-rb_big2ulong(VALUE x)</div><div class='add'>+rb_big2ulong_pack(x)   </div><div class='add'>+    VALUE x;  </div><div class='add'>+{   </div><div class='add'>+    unsigned long num = big2ulong(x, "unsigned long");</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	return -num;</div><div class='add'>+    }</div><div class='add'>+    return num;</div><div class='add'>+}  </div><div class='add'>+</div><div class='add'>+unsigned long</div><div class='add'>+rb_big2ulong(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     unsigned long num = big2ulong(x, "unsigned long");</div><div class='ctx'> </div><div class='del'>-    if (BIGNUM_POSITIVE_P(x)) {</div><div class='del'>-        return num;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (num &lt;= 1+(unsigned long)(-(LONG_MIN+1)))</div><div class='del'>-            return -(long)(num-1)-1;</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	if ((long)num &lt; 0) {</div><div class='add'>+	    rb_raise(rb_eRangeError, "bignum out of range of unsigned long");</div><div class='add'>+	}</div><div class='add'>+	return -num;</div><div class='ctx'>     }</div><div class='del'>-    rb_raise(rb_eRangeError, "bignum out of range of unsigned long");</div><div class='add'>+    return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> long</div><div class='del'>-rb_big2long(VALUE x)</div><div class='add'>+rb_big2long(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     unsigned long num = big2ulong(x, "long");</div><div class='ctx'> </div><div class='del'>-    if (BIGNUM_POSITIVE_P(x)) {</div><div class='del'>-        if (num &lt;= LONG_MAX)</div><div class='del'>-            return num;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (num &lt;= 1+(unsigned long)(-(LONG_MIN+1)))</div><div class='del'>-            return -(long)(num-1)-1;</div><div class='add'>+    if ((long)num &lt; 0 &amp;&amp; (RBIGNUM(x)-&gt;sign || (long)num != LONG_MIN)) {</div><div class='add'>+	rb_raise(rb_eRangeError, "bignum too big to convert into `long'");</div><div class='ctx'>     }</div><div class='del'>-    rb_raise(rb_eRangeError, "bignum too big to convert into `long'");</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) return -(long)num;</div><div class='add'>+    return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> #if HAVE_LONG_LONG</div><div class='ctx'> </div><div class='ctx'> static unsigned LONG_LONG</div><div class='del'>-big2ull(VALUE x, const char *type)</div><div class='add'>+big2ull(x, type)</div><div class='add'>+    VALUE x;</div><div class='add'>+    char *type;</div><div class='ctx'> {</div><div class='del'>-#if SIZEOF_LONG_LONG &gt; SIZEOF_BDIGIT</div><div class='del'>-    size_t i;</div><div class='del'>-#endif</div><div class='del'>-    size_t len = BIGNUM_LEN(x);</div><div class='del'>-    unsigned LONG_LONG num;</div><div class='del'>-    BDIGIT *ds = BDIGITS(x);</div><div class='add'>+    long len = RBIGNUM(x)-&gt;len;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+    BDIGIT *ds;</div><div class='ctx'> </div><div class='del'>-    if (len == 0)</div><div class='del'>-        return 0;</div><div class='del'>-    if (BIGSIZE(x) &gt; SIZEOF_LONG_LONG)</div><div class='add'>+    if (len &gt; SIZEOF_LONG_LONG/SIZEOF_BDIGITS)</div><div class='ctx'> 	rb_raise(rb_eRangeError, "bignum too big to convert into `%s'", type);</div><div class='del'>-#if SIZEOF_LONG_LONG &lt;= SIZEOF_BDIGIT</div><div class='del'>-    num = (unsigned LONG_LONG)ds[0];</div><div class='del'>-#else</div><div class='add'>+    ds = BDIGITS(x);</div><div class='ctx'>     num = 0;</div><div class='del'>-    for (i = 0; i &lt; len; i++) {</div><div class='add'>+    while (len--) {</div><div class='ctx'> 	num = BIGUP(num);</div><div class='del'>-        num += ds[len - i - 1];</div><div class='add'>+	num += ds[len];</div><div class='ctx'>     }</div><div class='del'>-#endif</div><div class='ctx'>     return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> unsigned LONG_LONG</div><div class='del'>-rb_big2ull(VALUE x)</div><div class='add'>+rb_big2ull(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     unsigned LONG_LONG num = big2ull(x, "unsigned long long");</div><div class='ctx'> </div><div class='del'>-    if (BIGNUM_POSITIVE_P(x)) {</div><div class='del'>-        return num;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (num &lt;= 1+(unsigned LONG_LONG)(-(LLONG_MIN+1)))</div><div class='del'>-            return -(LONG_LONG)(num-1)-1;</div><div class='del'>-    }</div><div class='del'>-    rb_raise(rb_eRangeError, "bignum out of range of unsigned long long");</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) return -num;</div><div class='add'>+    return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> LONG_LONG</div><div class='del'>-rb_big2ll(VALUE x)</div><div class='add'>+rb_big2ll(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     unsigned LONG_LONG num = big2ull(x, "long long");</div><div class='ctx'> </div><div class='del'>-    if (BIGNUM_POSITIVE_P(x)) {</div><div class='del'>-        if (num &lt;= LLONG_MAX)</div><div class='del'>-            return num;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (num &lt;= 1+(unsigned LONG_LONG)(-(LLONG_MIN+1)))</div><div class='del'>-            return -(LONG_LONG)(num-1)-1;</div><div class='add'>+    if ((LONG_LONG)num &lt; 0 &amp;&amp; (RBIGNUM(x)-&gt;sign</div><div class='add'>+			       || (LONG_LONG)num != LLONG_MIN)) {</div><div class='add'>+	rb_raise(rb_eRangeError, "bignum too big to convert into `long long'");</div><div class='ctx'>     }</div><div class='del'>-    rb_raise(rb_eRangeError, "bignum too big to convert into `long long'");</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) return -(LONG_LONG)num;</div><div class='add'>+    return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> #endif  /* HAVE_LONG_LONG */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-dbl2big(double d)</div><div class='add'>+dbl2big(d)</div><div class='add'>+    double d;</div><div class='ctx'> {</div><div class='ctx'>     long i = 0;</div><div class='ctx'>     BDIGIT c;</div><div class='hunk'>@@ -5226,7 +867,7 @@ dbl2big(double d)</div><div class='ctx'> 	rb_raise(rb_eFloatDomainError, "NaN");</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    while (1.0 &lt;= u) {</div><div class='add'>+    while (!POSFIXABLE(u) || 0 != (long)u) {</div><div class='ctx'> 	u /= (double)(BIGRAD);</div><div class='ctx'> 	i++;</div><div class='ctx'>     }</div><div class='hunk'>@@ -5243,1893 +884,1196 @@ dbl2big(double d)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_dbl2big(double d)</div><div class='add'>+rb_dbl2big(d)</div><div class='add'>+    double d;</div><div class='ctx'> {</div><div class='ctx'>     return bignorm(dbl2big(d));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static double</div><div class='del'>-big2dbl(VALUE x)</div><div class='add'>+double</div><div class='add'>+rb_big2dbl(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     double d = 0.0;</div><div class='del'>-    long i = (bigtrunc(x), BIGNUM_LEN(x)), lo = 0, bits;</div><div class='del'>-    BDIGIT *ds = BDIGITS(x), dl;</div><div class='add'>+    long i = RBIGNUM(x)-&gt;len;</div><div class='add'>+    BDIGIT *ds = BDIGITS(x);</div><div class='ctx'> </div><div class='del'>-    if (i) {</div><div class='del'>-	bits = i * BITSPERDIG - nlz(ds[i-1]);</div><div class='del'>-	if (bits &gt; DBL_MANT_DIG+DBL_MAX_EXP) {</div><div class='del'>-	    d = HUGE_VAL;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (bits &gt; DBL_MANT_DIG+1)</div><div class='del'>-		lo = (bits -= DBL_MANT_DIG+1) / BITSPERDIG;</div><div class='del'>-	    else</div><div class='del'>-		bits = 0;</div><div class='del'>-	    while (--i &gt; lo) {</div><div class='del'>-		d = ds[i] + BIGRAD*d;</div><div class='del'>-	    }</div><div class='del'>-	    dl = ds[i];</div><div class='del'>-	    if (bits &amp;&amp; (dl &amp; ((BDIGIT)1 &lt;&lt; (bits %= BITSPERDIG)))) {</div><div class='del'>-		int carry = (dl &amp; ~(BDIGMAX &lt;&lt; bits)) != 0;</div><div class='del'>-		if (!carry) {</div><div class='del'>-		    while (i-- &gt; 0) {</div><div class='del'>-			carry = ds[i] != 0;</div><div class='del'>-			if (carry) break;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		if (carry) {</div><div class='del'>-                    BDIGIT mask = BDIGMAX;</div><div class='del'>-                    BDIGIT bit = 1;</div><div class='del'>-                    mask &lt;&lt;= bits;</div><div class='del'>-                    bit &lt;&lt;= bits;</div><div class='del'>-                    dl &amp;= mask;</div><div class='del'>-                    dl += bit;</div><div class='del'>-                    dl = BIGLO(dl);</div><div class='del'>-		    if (!dl) d += 1;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    d = dl + BIGRAD*d;</div><div class='del'>-	    if (lo) {</div><div class='del'>-		if (lo &gt; INT_MAX / BITSPERDIG)</div><div class='del'>-		    d = HUGE_VAL;</div><div class='del'>-		else if (lo &lt; INT_MIN / BITSPERDIG)</div><div class='del'>-		    d = 0.0;</div><div class='del'>-		else</div><div class='del'>-		    d = ldexp(d, (int)(lo * BITSPERDIG));</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='add'>+    while (i--) {</div><div class='add'>+	d = ds[i] + BIGRAD*d;</div><div class='ctx'>     }</div><div class='del'>-    if (BIGNUM_NEGATIVE_P(x)) d = -d;</div><div class='del'>-    return d;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-double</div><div class='del'>-rb_big2dbl(VALUE x)</div><div class='del'>-{</div><div class='del'>-    double d = big2dbl(x);</div><div class='del'>-</div><div class='ctx'>     if (isinf(d)) {</div><div class='del'>-	rb_warning("Bignum out of Float range");</div><div class='del'>-	if (d &lt; 0.0)</div><div class='del'>-	    d = -HUGE_VAL;</div><div class='del'>-	else</div><div class='del'>-	    d = HUGE_VAL;</div><div class='add'>+	rb_warn("Bignum out of Float range");</div><div class='add'>+	d = HUGE_VAL;</div><div class='ctx'>     }</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) d = -d;</div><div class='ctx'>     return d;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_integer_float_cmp(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    double yd = RFLOAT_VALUE(y);</div><div class='del'>-    double yi, yf;</div><div class='del'>-    VALUE rel;</div><div class='del'>-</div><div class='del'>-    if (isnan(yd))</div><div class='del'>-        return Qnil;</div><div class='del'>-    if (isinf(yd)) {</div><div class='del'>-        if (yd &gt; 0.0) return INT2FIX(-1);</div><div class='del'>-        else return INT2FIX(1);</div><div class='del'>-    }</div><div class='del'>-    yf = modf(yd, &amp;yi);</div><div class='del'>-    if (FIXNUM_P(x)) {</div><div class='del'>-#if SIZEOF_LONG * CHAR_BIT &lt; DBL_MANT_DIG /* assume FLT_RADIX == 2 */</div><div class='del'>-        double xd = (double)FIX2LONG(x);</div><div class='del'>-        if (xd &lt; yd)</div><div class='del'>-            return INT2FIX(-1);</div><div class='del'>-        if (xd &gt; yd)</div><div class='del'>-            return INT2FIX(1);</div><div class='del'>-        return INT2FIX(0);</div><div class='del'>-#else</div><div class='del'>-        long xn, yn;</div><div class='del'>-        if (yi &lt; FIXNUM_MIN)</div><div class='del'>-            return INT2FIX(1);</div><div class='del'>-        if (FIXNUM_MAX+1 &lt;= yi)</div><div class='del'>-            return INT2FIX(-1);</div><div class='del'>-        xn = FIX2LONG(x);</div><div class='del'>-        yn = (long)yi;</div><div class='del'>-        if (xn &lt; yn)</div><div class='del'>-            return INT2FIX(-1);</div><div class='del'>-        if (xn &gt; yn)</div><div class='del'>-            return INT2FIX(1);</div><div class='del'>-        if (yf &lt; 0.0)</div><div class='del'>-            return INT2FIX(1);</div><div class='del'>-        if (0.0 &lt; yf)</div><div class='del'>-            return INT2FIX(-1);</div><div class='del'>-        return INT2FIX(0);</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    y = rb_dbl2big(yi);</div><div class='del'>-    rel = rb_big_cmp(x, y);</div><div class='del'>-    if (yf == 0.0 || rel != INT2FIX(0))</div><div class='del'>-        return rel;</div><div class='del'>-    if (yf &lt; 0.0)</div><div class='del'>-        return INT2FIX(1);</div><div class='del'>-    return INT2FIX(-1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_integer_float_eq(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    double yd = RFLOAT_VALUE(y);</div><div class='del'>-    double yi, yf;</div><div class='del'>-</div><div class='del'>-    if (isnan(yd) || isinf(yd))</div><div class='del'>-        return Qfalse;</div><div class='del'>-    yf = modf(yd, &amp;yi);</div><div class='del'>-    if (yf != 0)</div><div class='del'>-        return Qfalse;</div><div class='del'>-    if (FIXNUM_P(x)) {</div><div class='del'>-#if SIZEOF_LONG * CHAR_BIT &lt; DBL_MANT_DIG /* assume FLT_RADIX == 2 */</div><div class='del'>-        double xd = (double)FIX2LONG(x);</div><div class='del'>-        if (xd != yd)</div><div class='del'>-            return Qfalse;</div><div class='del'>-        return Qtrue;</div><div class='del'>-#else</div><div class='del'>-        long xn, yn;</div><div class='del'>-        if (yi &lt; LONG_MIN || LONG_MAX &lt; yi)</div><div class='del'>-            return Qfalse;</div><div class='del'>-        xn = FIX2LONG(x);</div><div class='del'>-        yn = (long)yi;</div><div class='del'>-        if (xn != yn)</div><div class='del'>-            return Qfalse;</div><div class='del'>-        return Qtrue;</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    y = rb_dbl2big(yi);</div><div class='del'>-    return rb_big_eq(x, y);</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.to_f -&gt; float</div><div class='add'>+ *  </div><div class='add'>+ *  Converts &lt;i&gt;big&lt;/i&gt; to a &lt;code&gt;Float&lt;/code&gt;. If &lt;i&gt;big&lt;/i&gt; doesn't</div><div class='add'>+ *  fit in a &lt;code&gt;Float&lt;/code&gt;, the result is infinity.</div><div class='add'>+ *     </div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_cmp(VALUE x, VALUE y)</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_to_f(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	x = bigfixize(x);</div><div class='del'>-        if (FIXNUM_P(x)) {</div><div class='del'>-	    /* SIGNED_VALUE and Fixnum have same sign-bits, same</div><div class='del'>-	     * order */</div><div class='del'>-	    SIGNED_VALUE sx = (SIGNED_VALUE)x, sy = (SIGNED_VALUE)y;</div><div class='del'>-	    if (sx &lt; sy) return INT2FIX(-1);</div><div class='del'>-	    return INT2FIX(sx &gt; sy);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	if (BIGNUM_SIGN(x) == BIGNUM_SIGN(y)) {</div><div class='del'>-	    int cmp = bary_cmp(BDIGITS(x), BIGNUM_LEN(x), BDIGITS(y), BIGNUM_LEN(y));</div><div class='del'>-	    return INT2FIX(BIGNUM_SIGN(x) ? cmp : -cmp);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-        return rb_integer_float_cmp(x, y);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_num_coerce_cmp(x, y, idCmp);</div><div class='del'>-    }</div><div class='del'>-    return INT2FIX(BIGNUM_SIGN(x) ? 1 : -1);</div><div class='add'>+    return rb_float_new(rb_big2dbl(x));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-enum big_op_t {</div><div class='del'>-    big_op_gt,</div><div class='del'>-    big_op_ge,</div><div class='del'>-    big_op_lt,</div><div class='del'>-    big_op_le</div><div class='del'>-};</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big &lt;=&gt; numeric   =&gt; -1, 0, +1</div><div class='add'>+ *  </div><div class='add'>+ *  Comparison---Returns -1, 0, or +1 depending on whether &lt;i&gt;big&lt;/i&gt; is</div><div class='add'>+ *  less than, equal to, or greater than &lt;i&gt;numeric&lt;/i&gt;. This is the</div><div class='add'>+ *  basis for the tests in &lt;code&gt;Comparable&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-big_op(VALUE x, VALUE y, enum big_op_t op)</div><div class='add'>+rb_big_cmp(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    VALUE rel;</div><div class='del'>-    int n;</div><div class='add'>+    long xlen = RBIGNUM(x)-&gt;len;</div><div class='ctx'> </div><div class='del'>-    if (RB_INTEGER_TYPE_P(y)) {</div><div class='del'>-	rel = rb_big_cmp(x, y);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-        rel = rb_integer_float_cmp(x, y);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ID id = 0;</div><div class='del'>-	switch (op) {</div><div class='del'>-	  case big_op_gt: id = '&gt;'; break;</div><div class='del'>-	  case big_op_ge: id = idGE; break;</div><div class='del'>-	  case big_op_lt: id = '&lt;'; break;</div><div class='del'>-	  case big_op_le: id = idLE; break;</div><div class='del'>-	}</div><div class='del'>-	return rb_num_coerce_relop(x, y, id);</div><div class='del'>-    }</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-    if (NIL_P(rel)) return Qfalse;</div><div class='del'>-    n = FIX2INT(rel);</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-    switch (op) {</div><div class='del'>-	case big_op_gt: return n &gt;  0 ? Qtrue : Qfalse;</div><div class='del'>-	case big_op_ge: return n &gt;= 0 ? Qtrue : Qfalse;</div><div class='del'>-	case big_op_lt: return n &lt;  0 ? Qtrue : Qfalse;</div><div class='del'>-	case big_op_le: return n &lt;= 0 ? Qtrue : Qfalse;</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	return rb_dbl_cmp(rb_big2dbl(x), RFLOAT(y)-&gt;value);</div><div class='add'>+</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_cmp(x, y);</div><div class='ctx'>     }</div><div class='del'>-    return Qundef;</div><div class='del'>-}</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_gt(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return big_op(x, y, big_op_gt);</div><div class='del'>-}</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign &gt; RBIGNUM(y)-&gt;sign) return INT2FIX(1);</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign &lt; RBIGNUM(y)-&gt;sign) return INT2FIX(-1);</div><div class='add'>+    if (xlen &lt; RBIGNUM(y)-&gt;len)</div><div class='add'>+	return (RBIGNUM(x)-&gt;sign) ? INT2FIX(-1) : INT2FIX(1);</div><div class='add'>+    if (xlen &gt; RBIGNUM(y)-&gt;len)</div><div class='add'>+	return (RBIGNUM(x)-&gt;sign) ? INT2FIX(1) : INT2FIX(-1);</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_ge(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return big_op(x, y, big_op_ge);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_lt(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return big_op(x, y, big_op_lt);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_le(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return big_op(x, y, big_op_le);</div><div class='add'>+    while(xlen-- &amp;&amp; (BDIGITS(x)[xlen]==BDIGITS(y)[xlen]));</div><div class='add'>+    if (-1 == xlen) return INT2FIX(0);</div><div class='add'>+    return (BDIGITS(x)[xlen] &gt; BDIGITS(y)[xlen]) ?</div><div class='add'>+	(RBIGNUM(x)-&gt;sign ? INT2FIX(1) : INT2FIX(-1)) :</div><div class='add'>+	    (RBIGNUM(x)-&gt;sign ? INT2FIX(-1) : INT2FIX(1));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     big == obj  -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     big == obj  =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns &lt;code&gt;true&lt;/code&gt; only if &lt;i&gt;obj&lt;/i&gt; has the same value</div><div class='del'>- *  as &lt;i&gt;big&lt;/i&gt;. Contrast this with &lt;code&gt;Integer#eql?&lt;/code&gt;, which</div><div class='del'>- *  requires &lt;i&gt;obj&lt;/i&gt; to be a &lt;code&gt;Integer&lt;/code&gt;.</div><div class='del'>- *</div><div class='add'>+ *  as &lt;i&gt;big&lt;/i&gt;. Contrast this with &lt;code&gt;Bignum#eql?&lt;/code&gt;, which</div><div class='add'>+ *  requires &lt;i&gt;obj&lt;/i&gt; to be a &lt;code&gt;Bignum&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='ctx'>  *     68719476736 == 68719476736.0   #=&gt; true</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_eq(VALUE x, VALUE y)</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_eq(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	return bignorm(x) == y ? Qtrue : Qfalse;</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-        return rb_integer_float_eq(x, y);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	break;</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+        {</div><div class='add'>+	    volatile double a, b;</div><div class='add'>+</div><div class='add'>+	    a = RFLOAT(y)-&gt;value;</div><div class='add'>+	    if (isnan(a)) return Qfalse;</div><div class='add'>+	    b = rb_big2dbl(x);</div><div class='add'>+	    return (a == b)?Qtrue:Qfalse;</div><div class='add'>+	}</div><div class='add'>+      default:</div><div class='ctx'> 	return rb_equal(y, x);</div><div class='ctx'>     }</div><div class='del'>-    if (BIGNUM_SIGN(x) != BIGNUM_SIGN(y)) return Qfalse;</div><div class='del'>-    if (BIGNUM_LEN(x) != BIGNUM_LEN(y)) return Qfalse;</div><div class='del'>-    if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,BIGNUM_LEN(y)) != 0) return Qfalse;</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign != RBIGNUM(y)-&gt;sign) return Qfalse;</div><div class='add'>+    if (RBIGNUM(x)-&gt;len != RBIGNUM(y)-&gt;len) return Qfalse;</div><div class='add'>+    if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,RBIGNUM(y)-&gt;len) != 0) return Qfalse;</div><div class='ctx'>     return Qtrue;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_eql(VALUE x, VALUE y)</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.eql?(obj)   =&gt; true or false</div><div class='add'>+ *  </div><div class='add'>+ *  Returns &lt;code&gt;true&lt;/code&gt; only if &lt;i&gt;obj&lt;/i&gt; is a</div><div class='add'>+ *  &lt;code&gt;Bignum&lt;/code&gt; with the same value as &lt;i&gt;big&lt;/i&gt;. Contrast this</div><div class='add'>+ *  with &lt;code&gt;Bignum#==&lt;/code&gt;, which performs type conversions.</div><div class='add'>+ *     </div><div class='add'>+ *     68719476736.eql?(68719476736.0)   #=&gt; false</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_eql(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (!RB_BIGNUM_TYPE_P(y)) return Qfalse;</div><div class='del'>-    if (BIGNUM_SIGN(x) != BIGNUM_SIGN(y)) return Qfalse;</div><div class='del'>-    if (BIGNUM_LEN(x) != BIGNUM_LEN(y)) return Qfalse;</div><div class='del'>-    if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,BIGNUM_LEN(y)) != 0) return Qfalse;</div><div class='add'>+    if (TYPE(y) != T_BIGNUM) return Qfalse;</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign != RBIGNUM(y)-&gt;sign) return Qfalse;</div><div class='add'>+    if (RBIGNUM(x)-&gt;len != RBIGNUM(y)-&gt;len) return Qfalse;</div><div class='add'>+    if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,RBIGNUM(y)-&gt;len) != 0) return Qfalse;</div><div class='ctx'>     return Qtrue;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_uminus(VALUE x)</div><div class='del'>-{</div><div class='del'>-    VALUE z = rb_big_clone(x);</div><div class='del'>-</div><div class='del'>-    BIGNUM_NEGATE(z);</div><div class='del'>-</div><div class='del'>-    return bignorm(z);</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    -big   =&gt;  other_big</div><div class='add'>+ *</div><div class='add'>+ * Unary minus (returns a new Bignum whose value is 0-big)</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_comp(VALUE x)</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_uminus(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='ctx'>     VALUE z = rb_big_clone(x);</div><div class='del'>-    BDIGIT *ds = BDIGITS(z);</div><div class='del'>-    long n = BIGNUM_LEN(z);</div><div class='ctx'> </div><div class='del'>-    if (!n) return INT2FIX(-1);</div><div class='del'>-</div><div class='del'>-    if (BIGNUM_POSITIVE_P(z)) {</div><div class='del'>-        if (bary_add_one(ds, n)) {</div><div class='del'>-            big_extend_carry(z);</div><div class='del'>-        }</div><div class='del'>-        BIGNUM_SET_NEGATIVE_SIGN(z);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        bary_neg(ds, n);</div><div class='del'>-        if (bary_add_one(ds, n))</div><div class='del'>-            return INT2FIX(-1);</div><div class='del'>-        bary_neg(ds, n);</div><div class='del'>-        BIGNUM_SET_POSITIVE_SIGN(z);</div><div class='del'>-    }</div><div class='add'>+    RBIGNUM(z)-&gt;sign = !RBIGNUM(x)-&gt;sign;</div><div class='ctx'> </div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bigsub(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *yds, *zds;</div><div class='del'>-    long xn, yn, zn;</div><div class='del'>-</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-    yn = BIGNUM_LEN(y);</div><div class='del'>-    zn = xn &lt; yn ? yn : xn;</div><div class='del'>-</div><div class='del'>-    z = bignew(zn, 1);</div><div class='del'>-</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    yds = BDIGITS(y);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-</div><div class='del'>-    if (bary_sub(zds, zn, xds, xn, yds, yn)) {</div><div class='del'>-        bary_2comp(zds, zn);</div><div class='del'>-        BIGNUM_SET_NEGATIVE_SIGN(z);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return z;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE bigadd_int(VALUE x, long y);</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *     ~big  =&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Inverts the bits in big. As Bignums are conceptually infinite</div><div class='add'>+ * length, the result acts as if it had an infinite number of one</div><div class='add'>+ * bits to the left. In hex representations, this is displayed</div><div class='add'>+ * as two periods to the left of the digits.</div><div class='add'>+ *  </div><div class='add'>+ *   sprintf("%X", ~0x1122334455)    #=&gt; "..FEEDDCCBBAA"</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-bigsub_int(VALUE x, long y0)</div><div class='add'>+rb_big_neg(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-    long xn, zn;</div><div class='del'>-    BDIGIT_DBL_SIGNED num;</div><div class='del'>-    long i, y;</div><div class='del'>-</div><div class='del'>-    y = y0;</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-</div><div class='del'>-    if (xn == 0)</div><div class='del'>-        return LONG2NUM(-y0);</div><div class='del'>-</div><div class='del'>-    zn = xn;</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='del'>-        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='del'>-#endif</div><div class='del'>-    z = bignew(zn, BIGNUM_SIGN(x));</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-    assert(xn == zn);</div><div class='del'>-    num = (BDIGIT_DBL_SIGNED)xds[0] - y;</div><div class='del'>-    if (xn == 1 &amp;&amp; num &lt; 0) {</div><div class='del'>-	BIGNUM_NEGATE(z);</div><div class='del'>-	zds[0] = (BDIGIT)-num;</div><div class='del'>-	RB_GC_GUARD(x);</div><div class='del'>-	return bignorm(z);</div><div class='del'>-    }</div><div class='del'>-    zds[0] = BIGLO(num);</div><div class='del'>-    num = BIGDN(num);</div><div class='del'>-    i = 1;</div><div class='del'>-    if (i &lt; xn)</div><div class='del'>-        goto y_is_zero_x;</div><div class='del'>-    goto finish;</div><div class='del'>-#else</div><div class='del'>-    num = 0;</div><div class='del'>-    for (i=0; i &lt; xn; i++) {</div><div class='del'>-        if (y == 0) goto y_is_zero_x;</div><div class='del'>-	num += (BDIGIT_DBL_SIGNED)xds[i] - BIGLO(y);</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-	y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        if (y == 0) goto y_is_zero_z;</div><div class='del'>-        num -= BIGLO(y);</div><div class='del'>-        zds[i] = BIGLO(num);</div><div class='del'>-        num = BIGDN(num);</div><div class='del'>-        y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-    goto finish;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    for (; i &lt; xn; i++) {</div><div class='del'>-      y_is_zero_x:</div><div class='del'>-        if (num == 0) goto num_is_zero_x;</div><div class='del'>-	num += xds[i];</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-      y_is_zero_z:</div><div class='del'>-        if (num == 0) goto num_is_zero_z;</div><div class='del'>-        zds[i] = BIGLO(num);</div><div class='del'>-        num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    goto finish;</div><div class='add'>+    VALUE z = rb_big_clone(x);</div><div class='add'>+    long i;</div><div class='add'>+    BDIGIT *ds;</div><div class='ctx'> </div><div class='del'>-    for (; i &lt; xn; i++) {</div><div class='del'>-      num_is_zero_x:</div><div class='del'>-	zds[i] = xds[i];</div><div class='del'>-    }</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-      num_is_zero_z:</div><div class='del'>-        zds[i] = 0;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    goto finish;</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) get2comp(z);</div><div class='add'>+    ds = BDIGITS(z);</div><div class='add'>+    i = RBIGNUM(x)-&gt;len;</div><div class='add'>+    while (i--) ds[i] = ~ds[i];</div><div class='add'>+    RBIGNUM(z)-&gt;sign = !RBIGNUM(z)-&gt;sign;</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign) get2comp(z);</div><div class='ctx'> </div><div class='del'>-  finish:</div><div class='del'>-    assert(num == 0 || num == -1);</div><div class='del'>-    if (num &lt; 0) {</div><div class='del'>-        get2comp(z);</div><div class='del'>-	BIGNUM_NEGATE(z);</div><div class='del'>-    }</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-bigadd_int(VALUE x, long y)</div><div class='add'>+bigsub(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-    long xn, zn;</div><div class='del'>-    BDIGIT_DBL num;</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-</div><div class='del'>-    if (xn == 0)</div><div class='del'>-        return LONG2NUM(y);</div><div class='del'>-</div><div class='del'>-    zn = xn;</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='del'>-        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='del'>-#endif</div><div class='del'>-    zn++;</div><div class='del'>-</div><div class='del'>-    z = bignew(zn, BIGNUM_SIGN(x));</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-    num = (BDIGIT_DBL)xds[0] + y;</div><div class='del'>-    zds[0] = BIGLO(num);</div><div class='del'>-    num = BIGDN(num);</div><div class='del'>-    i = 1;</div><div class='del'>-    if (i &lt; xn)</div><div class='del'>-        goto y_is_zero_x;</div><div class='del'>-    goto y_is_zero_z;</div><div class='del'>-#else</div><div class='del'>-    num = 0;</div><div class='del'>-    for (i=0; i &lt; xn; i++) {</div><div class='del'>-        if (y == 0) goto y_is_zero_x;</div><div class='del'>-	num += (BDIGIT_DBL)xds[i] + BIGLO(y);</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-	y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        if (y == 0) goto y_is_zero_z;</div><div class='del'>-	num += BIGLO(y);</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-	y = BIGDN(y);</div><div class='add'>+    VALUE z = 0;</div><div class='add'>+    BDIGIT *zds;</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+    long i = RBIGNUM(x)-&gt;len;</div><div class='add'>+    </div><div class='add'>+    /* if x is larger than y, swap */</div><div class='add'>+    if (RBIGNUM(x)-&gt;len &lt; RBIGNUM(y)-&gt;len) {</div><div class='add'>+	z = x; x = y; y = z;	/* swap x y */</div><div class='add'>+    }</div><div class='add'>+    else if (RBIGNUM(x)-&gt;len == RBIGNUM(y)-&gt;len) {</div><div class='add'>+	while (i &gt; 0) {</div><div class='add'>+	    i--;</div><div class='add'>+	    if (BDIGITS(x)[i] &gt; BDIGITS(y)[i]) {</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    if (BDIGITS(x)[i] &lt; BDIGITS(y)[i]) {</div><div class='add'>+		z = x; x = y; y = z;	/* swap x y */</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    goto finish;</div><div class='ctx'> </div><div class='del'>-#endif</div><div class='add'>+    z = bignew(RBIGNUM(x)-&gt;len, z==0);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    for (;i &lt; xn; i++) {</div><div class='del'>-      y_is_zero_x:</div><div class='del'>-        if (num == 0) goto num_is_zero_x;</div><div class='del'>-	num += (BDIGIT_DBL)xds[i];</div><div class='add'>+    for (i = 0, num = 0; i &lt; RBIGNUM(y)-&gt;len; i++) { </div><div class='add'>+	num += (BDIGIT_DBL_SIGNED)BDIGITS(x)[i] - BDIGITS(y)[i];</div><div class='ctx'> 	zds[i] = BIGLO(num);</div><div class='ctx'> 	num = BIGDN(num);</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-      y_is_zero_z:</div><div class='del'>-        if (num == 0) goto num_is_zero_z;</div><div class='del'>-	zds[i] = BIGLO(num);</div><div class='add'>+    } </div><div class='add'>+    while (num &amp;&amp; i &lt; RBIGNUM(x)-&gt;len) {</div><div class='add'>+	num += BDIGITS(x)[i];</div><div class='add'>+	zds[i++] = BIGLO(num);</div><div class='ctx'> 	num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-    goto finish;</div><div class='del'>-</div><div class='del'>-    for (;i &lt; xn; i++) {</div><div class='del'>-      num_is_zero_x:</div><div class='del'>-	zds[i] = xds[i];</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-      num_is_zero_z:</div><div class='del'>-	zds[i] = 0;</div><div class='add'>+    while (i &lt; RBIGNUM(x)-&gt;len) {</div><div class='add'>+	zds[i] = BDIGITS(x)[i];</div><div class='add'>+	i++;</div><div class='ctx'>     }</div><div class='del'>-    goto finish;</div><div class='del'>-</div><div class='del'>-  finish:</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return bignorm(z);</div><div class='add'>+    </div><div class='add'>+    return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-bigadd(VALUE x, VALUE y, int sign)</div><div class='add'>+bigadd(x, y, sign)</div><div class='add'>+    VALUE x, y;</div><div class='add'>+    int sign;</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='del'>-    size_t len;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+    long i, len;</div><div class='ctx'> </div><div class='del'>-    sign = (sign == BIGNUM_SIGN(y));</div><div class='del'>-    if (BIGNUM_SIGN(x) != sign) {</div><div class='add'>+    sign = (sign == RBIGNUM(y)-&gt;sign);</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign != sign) {</div><div class='ctx'> 	if (sign) return bigsub(y, x);</div><div class='ctx'> 	return bigsub(x, y);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (BIGNUM_LEN(x) &gt; BIGNUM_LEN(y)) {</div><div class='del'>-	len = BIGNUM_LEN(x) + 1;</div><div class='add'>+    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='add'>+	len = RBIGNUM(x)-&gt;len + 1;</div><div class='add'>+        z = x; x = y; y = z;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	len = BIGNUM_LEN(y) + 1;</div><div class='add'>+	len = RBIGNUM(y)-&gt;len + 1;</div><div class='ctx'>     }</div><div class='ctx'>     z = bignew(len, sign);</div><div class='ctx'> </div><div class='del'>-    bary_add(BDIGITS(z), BIGNUM_LEN(z),</div><div class='del'>-             BDIGITS(x), BIGNUM_LEN(x),</div><div class='del'>-             BDIGITS(y), BIGNUM_LEN(y));</div><div class='add'>+    len = RBIGNUM(x)-&gt;len;</div><div class='add'>+    for (i = 0, num = 0; i &lt; len; i++) {</div><div class='add'>+	num += (BDIGIT_DBL)BDIGITS(x)[i] + BDIGITS(y)[i];</div><div class='add'>+	BDIGITS(z)[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    len = RBIGNUM(y)-&gt;len;</div><div class='add'>+    while (num &amp;&amp; i &lt; len) {</div><div class='add'>+	num += BDIGITS(y)[i];</div><div class='add'>+	BDIGITS(z)[i++] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    while (i &lt; len) {</div><div class='add'>+	BDIGITS(z)[i] = BDIGITS(y)[i];</div><div class='add'>+	i++;</div><div class='add'>+    }</div><div class='add'>+    BDIGITS(z)[i] = (BDIGIT)num;</div><div class='ctx'> </div><div class='ctx'>     return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big + other  =&gt; Numeric</div><div class='add'>+ *</div><div class='add'>+ *  Adds big and other, returning the result.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_big_plus(VALUE x, VALUE y)</div><div class='add'>+rb_big_plus(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    long n;</div><div class='del'>-</div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	n = FIX2LONG(y);</div><div class='del'>-	if ((n &gt; 0) != BIGNUM_SIGN(x)) {</div><div class='del'>-	    if (n &lt; 0) {</div><div class='del'>-		n = -n;</div><div class='del'>-	    }</div><div class='del'>-	    return bigsub_int(x, n);</div><div class='del'>-	}</div><div class='del'>-	if (n &lt; 0) {</div><div class='del'>-	    n = -n;</div><div class='del'>-	}</div><div class='del'>-	return bigadd_int(x, n);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	/* fall through */</div><div class='add'>+      case T_BIGNUM:</div><div class='ctx'> 	return bignorm(bigadd(x, y, 1));</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	return DBL2NUM(rb_big2dbl(x) + RFLOAT_VALUE(y));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_num_coerce_bin(x, y, '+');</div><div class='del'>-    }</div><div class='del'>-}</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_minus(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    long n;</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	return rb_float_new(rb_big2dbl(x) + RFLOAT(y)-&gt;value);</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	n = FIX2LONG(y);</div><div class='del'>-	if ((n &gt; 0) != BIGNUM_SIGN(x)) {</div><div class='del'>-	    if (n &lt; 0) {</div><div class='del'>-		n = -n;</div><div class='del'>-	    }</div><div class='del'>-	    return bigadd_int(x, n);</div><div class='del'>-	}</div><div class='del'>-	if (n &lt; 0) {</div><div class='del'>-	    n = -n;</div><div class='del'>-	}</div><div class='del'>-	return bigsub_int(x, n);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	return bignorm(bigadd(x, y, 0));</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	return DBL2NUM(rb_big2dbl(x) - RFLOAT_VALUE(y));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_num_coerce_bin(x, y, '-');</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bigsq(VALUE x)</div><div class='del'>-{</div><div class='del'>-    long xn, zn;</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-    zn = 2 * xn;</div><div class='del'>-</div><div class='del'>-    z = bignew(zn, 1);</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big - other  =&gt; Numeric</div><div class='add'>+ *</div><div class='add'>+ *  Subtracts other from big, returning the result.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='add'>+VALUE</div><div class='add'>+rb_big_minus(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='add'>+{</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	/* fall through */</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	return bignorm(bigadd(x, y, 0));</div><div class='ctx'> </div><div class='del'>-    if (xn &lt; NAIVE_MUL_DIGITS)</div><div class='del'>-        bary_sq_fast(zds, zn, xds, xn);</div><div class='del'>-    else</div><div class='del'>-        bary_mul(zds, zn, xds, xn, xds, xn);</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	return rb_float_new(rb_big2dbl(x) - RFLOAT(y)-&gt;value);</div><div class='ctx'> </div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return z;</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bigmul0(VALUE x, VALUE y)</div><div class='add'>+VALUE</div><div class='add'>+rb_big_mul0(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    long xn, yn, zn;</div><div class='add'>+    long i, j;</div><div class='add'>+    BDIGIT_DBL n = 0;</div><div class='ctx'>     VALUE z;</div><div class='del'>-    BDIGIT *xds, *yds, *zds;</div><div class='add'>+    BDIGIT *zds;</div><div class='ctx'> </div><div class='del'>-    if (x == y)</div><div class='del'>-        return bigsq(x);</div><div class='add'>+    if (FIXNUM_P(x)) x = rb_int2big(FIX2LONG(x));</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-    yn = BIGNUM_LEN(y);</div><div class='del'>-    zn = xn + yn;</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-    z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	return rb_float_new(rb_big2dbl(x) * RFLOAT(y)-&gt;value);</div><div class='ctx'> </div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    yds = BDIGITS(y);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-    bary_mul(zds, zn, xds, xn, yds, yn);</div><div class='add'>+    j = RBIGNUM(x)-&gt;len + RBIGNUM(y)-&gt;len + 1;</div><div class='add'>+    z = bignew(j, RBIGNUM(x)-&gt;sign==RBIGNUM(y)-&gt;sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    while (j--) zds[j] = 0;</div><div class='add'>+    for (i = 0; i &lt; RBIGNUM(x)-&gt;len; i++) {</div><div class='add'>+	BDIGIT_DBL dd = BDIGITS(x)[i]; </div><div class='add'>+	if (dd == 0) continue;</div><div class='add'>+	n = 0;</div><div class='add'>+	for (j = 0; j &lt; RBIGNUM(y)-&gt;len; j++) {</div><div class='add'>+	    BDIGIT_DBL ee = n + (BDIGIT_DBL)dd * BDIGITS(y)[j];</div><div class='add'>+	    n = zds[i + j] + ee;</div><div class='add'>+	    if (ee) zds[i + j] = BIGLO(n);</div><div class='add'>+	    n = BIGDN(n);</div><div class='add'>+	}</div><div class='add'>+	if (n) {</div><div class='add'>+	    zds[i + j] = n;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='ctx'>     return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big * other  =&gt; Numeric</div><div class='add'>+ *</div><div class='add'>+ *  Multiplies big and other, returning the result.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_big_mul(VALUE x, VALUE y)</div><div class='add'>+rb_big_mul(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	return DBL2NUM(rb_big2dbl(x) * RFLOAT_VALUE(y));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_num_coerce_bin(x, y, '*');</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return bignorm(bigmul0(x, y));</div><div class='add'>+    return bignorm(rb_big_mul0(x, y));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bigdivrem(VALUE x, VALUE y, volatile VALUE *divp, volatile VALUE *modp)</div><div class='del'>-{</div><div class='del'>-    long xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y);</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *yds, *zds;</div><div class='del'>-    BDIGIT dd;</div><div class='del'>-</div><div class='del'>-    VALUE q = Qnil, r = Qnil;</div><div class='del'>-    BDIGIT *qds, *rds;</div><div class='del'>-    long qn, rn;</div><div class='add'>+static void</div><div class='add'>+bigdivrem(x, y, divp, modp)</div><div class='add'>+    VALUE x, y;</div><div class='add'>+    VALUE *divp, *modp;</div><div class='add'>+{</div><div class='add'>+    long nx = RBIGNUM(x)-&gt;len, ny = RBIGNUM(y)-&gt;len;</div><div class='add'>+    long i, j;</div><div class='add'>+    VALUE yy, z;</div><div class='add'>+    BDIGIT *xds, *yds, *zds, *tds;</div><div class='add'>+    BDIGIT_DBL t2;</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+    BDIGIT dd, q;</div><div class='ctx'> </div><div class='add'>+    if (BIGZEROP(y)) rb_num_zerodiv();</div><div class='ctx'>     yds = BDIGITS(y);</div><div class='del'>-    BARY_TRUNC(yds, yn);</div><div class='del'>-    if (yn == 0)</div><div class='del'>-        rb_num_zerodiv();</div><div class='del'>-</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    BARY_TRUNC(xds, xn);</div><div class='del'>-</div><div class='del'>-    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1])) {</div><div class='add'>+    if (nx &lt; ny || (nx == ny &amp;&amp; BDIGITS(x)[nx - 1] &lt; BDIGITS(y)[ny - 1])) {</div><div class='ctx'> 	if (divp) *divp = rb_int2big(0);</div><div class='ctx'> 	if (modp) *modp = x;</div><div class='del'>-	return Qnil;</div><div class='add'>+	return;</div><div class='ctx'>     }</div><div class='del'>-    if (yn == 1) {</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    if (ny == 1) {</div><div class='ctx'> 	dd = yds[0];</div><div class='del'>-	z = bignew(xn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+	z = rb_big_clone(x);</div><div class='ctx'> 	zds = BDIGITS(z);</div><div class='del'>-        dd = bigdivrem_single(zds, xds, xn, dd);</div><div class='add'>+	t2 = 0; i = nx;</div><div class='add'>+	while (i--) {</div><div class='add'>+	    t2 = BIGUP(t2) + zds[i];</div><div class='add'>+	    zds[i] = (BDIGIT)(t2 / dd);</div><div class='add'>+	    t2 %= dd;</div><div class='add'>+	}</div><div class='add'>+	RBIGNUM(z)-&gt;sign = RBIGNUM(x)-&gt;sign==RBIGNUM(y)-&gt;sign;</div><div class='ctx'> 	if (modp) {</div><div class='del'>-	    *modp = rb_uint2big((uintptr_t)dd);</div><div class='del'>-	    BIGNUM_SET_SIGN(*modp, BIGNUM_SIGN(x));</div><div class='add'>+	    *modp = rb_uint2big((unsigned long)t2);</div><div class='add'>+	    RBIGNUM(*modp)-&gt;sign = RBIGNUM(x)-&gt;sign;</div><div class='ctx'> 	}</div><div class='ctx'> 	if (divp) *divp = z;</div><div class='del'>-	return Qnil;</div><div class='del'>-    }</div><div class='del'>-    if (xn == 2 &amp;&amp; yn == 2) {</div><div class='del'>-        BDIGIT_DBL x0 = bary2bdigitdbl(xds, 2);</div><div class='del'>-        BDIGIT_DBL y0 = bary2bdigitdbl(yds, 2);</div><div class='del'>-        BDIGIT_DBL q0 = x0 / y0;</div><div class='del'>-        BDIGIT_DBL r0 = x0 % y0;</div><div class='del'>-        if (divp) {</div><div class='del'>-            z = bignew(bdigit_roomof(sizeof(BDIGIT_DBL)), BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-            zds = BDIGITS(z);</div><div class='del'>-            zds[0] = BIGLO(q0);</div><div class='del'>-            zds[1] = BIGLO(BIGDN(q0));</div><div class='del'>-            *divp = z;</div><div class='del'>-        }</div><div class='del'>-        if (modp) {</div><div class='del'>-            z = bignew(bdigit_roomof(sizeof(BDIGIT_DBL)), BIGNUM_SIGN(x));</div><div class='del'>-            zds = BDIGITS(z);</div><div class='del'>-            zds[0] = BIGLO(r0);</div><div class='del'>-            zds[1] = BIGLO(BIGDN(r0));</div><div class='del'>-            *modp = z;</div><div class='del'>-        }</div><div class='del'>-        return Qnil;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (divp) {</div><div class='del'>-        qn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='del'>-        q = bignew(qn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='del'>-        qds = BDIGITS(q);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        qn = 0;</div><div class='del'>-        qds = NULL;</div><div class='add'>+	return;</div><div class='ctx'>     }</div><div class='add'>+    z = bignew(nx==ny?nx+2:nx+1, RBIGNUM(x)-&gt;sign==RBIGNUM(y)-&gt;sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    if (nx==ny) zds[nx+1] = 0;</div><div class='add'>+    while (!yds[ny-1]) ny--;</div><div class='ctx'> </div><div class='del'>-    if (modp) {</div><div class='del'>-        rn = yn;</div><div class='del'>-        r = bignew(rn, BIGNUM_SIGN(x));</div><div class='del'>-        rds = BDIGITS(r);</div><div class='add'>+    dd = 0;</div><div class='add'>+    q = yds[ny-1];</div><div class='add'>+    while ((q &amp; (1&lt;&lt;(BITSPERDIG-1))) == 0) {</div><div class='add'>+	q &lt;&lt;= 1;</div><div class='add'>+	dd++;</div><div class='add'>+    }</div><div class='add'>+    if (dd) {</div><div class='add'>+	yy = rb_big_clone(y);</div><div class='add'>+	tds = BDIGITS(yy);</div><div class='add'>+	j = 0;</div><div class='add'>+	t2 = 0;</div><div class='add'>+	while (j&lt;ny) {</div><div class='add'>+	    t2 += (BDIGIT_DBL)yds[j]&lt;&lt;dd;</div><div class='add'>+	    tds[j++] = BIGLO(t2);</div><div class='add'>+	    t2 = BIGDN(t2);</div><div class='add'>+	}</div><div class='add'>+	yds = tds;</div><div class='add'>+	j = 0;</div><div class='add'>+	t2 = 0;</div><div class='add'>+	while (j&lt;nx) {</div><div class='add'>+	    t2 += (BDIGIT_DBL)xds[j]&lt;&lt;dd;</div><div class='add'>+	    zds[j++] = BIGLO(t2);</div><div class='add'>+	    t2 = BIGDN(t2);</div><div class='add'>+	}</div><div class='add'>+	zds[j] = (BDIGIT)t2;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-        rn = 0;</div><div class='del'>-        rds = NULL;</div><div class='add'>+	zds[nx] = 0;</div><div class='add'>+	j = nx;</div><div class='add'>+	while (j--) zds[j] = xds[j];</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    bary_divmod_branch(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='del'>-</div><div class='del'>-    if (divp) {</div><div class='del'>-        bigtrunc(q);</div><div class='del'>-        *divp = q;</div><div class='del'>-    }</div><div class='del'>-    if (modp) {</div><div class='del'>-        bigtrunc(r);</div><div class='del'>-        *modp = r;</div><div class='add'>+    j = nx==ny?nx+1:nx;</div><div class='add'>+    do {</div><div class='add'>+	if (zds[j] ==  yds[ny-1]) q = BIGRAD-1;</div><div class='add'>+	else q = (BDIGIT)((BIGUP(zds[j]) + zds[j-1])/yds[ny-1]);</div><div class='add'>+	if (q) {</div><div class='add'>+	    i = 0; num = 0; t2 = 0;</div><div class='add'>+	    do {			/* multiply and subtract */</div><div class='add'>+		BDIGIT_DBL ee;</div><div class='add'>+		t2 += (BDIGIT_DBL)yds[i] * q;</div><div class='add'>+		ee = num - BIGLO(t2);</div><div class='add'>+		num = (BDIGIT_DBL)zds[j - ny + i] + ee;</div><div class='add'>+		if (ee) zds[j - ny + i] = BIGLO(num);</div><div class='add'>+		num = BIGDN(num);</div><div class='add'>+		t2 = BIGDN(t2);</div><div class='add'>+	    } while (++i &lt; ny);</div><div class='add'>+	    num += zds[j - ny + i] - t2;/* borrow from high digit; don't update */</div><div class='add'>+	    while (num) {		/* "add back" required */</div><div class='add'>+		i = 0; num = 0; q--;</div><div class='add'>+		do {</div><div class='add'>+		    BDIGIT_DBL ee = num + yds[i];</div><div class='add'>+		    num = (BDIGIT_DBL)zds[j - ny + i] + ee;</div><div class='add'>+		    if (ee) zds[j - ny + i] = BIGLO(num);</div><div class='add'>+		    num = BIGDN(num);</div><div class='add'>+		} while (++i &lt; ny);</div><div class='add'>+		num--;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	zds[j] = q;</div><div class='add'>+    } while (--j &gt;= ny);</div><div class='add'>+    if (divp) {			/* move quotient down in z */</div><div class='add'>+	*divp = rb_big_clone(z);</div><div class='add'>+	zds = BDIGITS(*divp);</div><div class='add'>+	j = (nx==ny ? nx+2 : nx+1) - ny;</div><div class='add'>+	for (i = 0;i &lt; j;i++) zds[i] = zds[i+ny];</div><div class='add'>+	RBIGNUM(*divp)-&gt;len = i;</div><div class='add'>+    }</div><div class='add'>+    if (modp) {			/* normalize remainder */</div><div class='add'>+	*modp = rb_big_clone(z);</div><div class='add'>+	zds = BDIGITS(*modp);</div><div class='add'>+	while (--ny &amp;&amp; !zds[ny]); ++ny;</div><div class='add'>+	if (dd) {</div><div class='add'>+	    t2 = 0; i = ny;</div><div class='add'>+	    while(i--) {</div><div class='add'>+		t2 = (t2 | zds[i]) &gt;&gt; dd;</div><div class='add'>+		q = zds[i];</div><div class='add'>+		zds[i] = BIGLO(t2);</div><div class='add'>+		t2 = BIGUP(q);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	RBIGNUM(*modp)-&gt;len = ny;</div><div class='add'>+	RBIGNUM(*modp)-&gt;sign = RBIGNUM(x)-&gt;sign;</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-bigdivmod(VALUE x, VALUE y, volatile VALUE *divp, volatile VALUE *modp)</div><div class='add'>+bigdivmod(x, y, divp, modp)</div><div class='add'>+    VALUE x, y;</div><div class='add'>+    VALUE *divp, *modp;</div><div class='ctx'> {</div><div class='ctx'>     VALUE mod;</div><div class='ctx'> </div><div class='ctx'>     bigdivrem(x, y, divp, &amp;mod);</div><div class='del'>-    if (BIGNUM_SIGN(x) != BIGNUM_SIGN(y) &amp;&amp; !BIGZEROP(mod)) {</div><div class='add'>+    if (RBIGNUM(x)-&gt;sign != RBIGNUM(y)-&gt;sign &amp;&amp; !BIGZEROP(mod)) {</div><div class='ctx'> 	if (divp) *divp = bigadd(*divp, rb_int2big(1), 0);</div><div class='ctx'> 	if (modp) *modp = bigadd(mod, y, 1);</div><div class='ctx'>     }</div><div class='del'>-    else if (modp) {</div><div class='del'>-	*modp = mod;</div><div class='add'>+    else {</div><div class='add'>+	if (divp) *divp = *divp;</div><div class='add'>+	if (modp) *modp = mod;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big / other     =&gt; Numeric</div><div class='add'>+ *     big.div(other)  =&gt; Numeric</div><div class='add'>+ *</div><div class='add'>+ *  Divides big by other, returning the result.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_divide(VALUE x, VALUE y, ID op)</div><div class='add'>+rb_big_div(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='ctx'> 	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	if (op == '/') {</div><div class='del'>-            double dx = rb_big2dbl(x);</div><div class='del'>-            return rb_flo_div_flo(DBL2NUM(dx), y);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-            VALUE v;</div><div class='del'>-	    double dy = RFLOAT_VALUE(y);</div><div class='del'>-	    if (dy == 0.0) rb_num_zerodiv();</div><div class='del'>-            v = rb_big_divide(x, y, '/');</div><div class='del'>-            return rb_dbl2big(RFLOAT_VALUE(v));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_num_coerce_bin(x, y, op);</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	return rb_float_new(rb_big2dbl(x) / RFLOAT(y)-&gt;value);</div><div class='add'>+</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='ctx'>     bigdivmod(x, y, &amp;z, 0);</div><div class='ctx'> </div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_div(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return rb_big_divide(x, y, '/');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_idiv(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return rb_big_divide(x, y, rb_intern("div"));</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big % other         =&gt; Numeric</div><div class='add'>+ *     big.modulo(other)   =&gt; Numeric</div><div class='add'>+ *</div><div class='add'>+ *  Returns big modulo other. See Numeric.divmod for more</div><div class='add'>+ *  information.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_modulo(VALUE x, VALUE y)</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_modulo(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='ctx'> 	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-    }</div><div class='del'>-    else if (!RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	return rb_num_coerce_bin(x, y, '%');</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='ctx'>     bigdivmod(x, y, 0, &amp;z);</div><div class='ctx'> </div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_remainder(VALUE x, VALUE y)</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.remainder(numeric)    =&gt; number</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the remainder after dividing &lt;i&gt;big&lt;/i&gt; by &lt;i&gt;numeric&lt;/i&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     -1234567890987654321.remainder(13731)      #=&gt; -6966</div><div class='add'>+ *     -1234567890987654321.remainder(13731.24)   #=&gt; -9906.22531493148</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_remainder(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='ctx'> 	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-    }</div><div class='del'>-    else if (!RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	return rb_num_coerce_bin(x, y, rb_intern("remainder"));</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='ctx'>     bigdivrem(x, y, 0, &amp;z);</div><div class='ctx'> </div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.divmod(numeric)   =&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  See &lt;code&gt;Numeric#divmod&lt;/code&gt;.</div><div class='add'>+ *     </div><div class='add'>+ */</div><div class='ctx'> VALUE</div><div class='del'>-rb_big_divmod(VALUE x, VALUE y)</div><div class='add'>+rb_big_divmod(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='ctx'>     VALUE div, mod;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='ctx'> 	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-    }</div><div class='del'>-    else if (!RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	return rb_num_coerce_bin(x, y, rb_intern("divmod"));</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='ctx'>     bigdivmod(x, y, &amp;div, &amp;mod);</div><div class='ctx'> </div><div class='ctx'>     return rb_assoc_new(bignorm(div), bignorm(mod));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.quo(numeric) -&gt; float</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the floating point result of dividing &lt;i&gt;big&lt;/i&gt; by</div><div class='add'>+ *  &lt;i&gt;numeric&lt;/i&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     -1234567890987654321.quo(13731)      #=&gt; -89910996357705.5</div><div class='add'>+ *     -1234567890987654321.quo(13731.24)   #=&gt; -89909424858035.7</div><div class='add'>+ *     </div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-big_shift(VALUE x, long n)</div><div class='add'>+rb_big_quo(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (n &lt; 0)</div><div class='del'>-	return big_lshift(x, 1+(unsigned long)(-(n+1)));</div><div class='del'>-    else if (n &gt; 0)</div><div class='del'>-	return big_rshift(x, (unsigned long)n);</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='add'>+    double dx = rb_big2dbl(x);</div><div class='add'>+    double dy;</div><div class='ctx'> </div><div class='del'>-enum {DBL_BIGDIG = ((DBL_MANT_DIG + BITSPERDIG) / BITSPERDIG)};</div><div class='del'>-</div><div class='del'>-static double</div><div class='del'>-big_fdiv(VALUE x, VALUE y, long ey)</div><div class='del'>-{</div><div class='del'>-    VALUE z;</div><div class='del'>-    long l, ex;</div><div class='del'>-</div><div class='del'>-    bigtrunc(x);</div><div class='del'>-    l = BIGNUM_LEN(x);</div><div class='del'>-    ex = l * BITSPERDIG - nlz(BDIGITS(x)[l-1]);</div><div class='del'>-    ex -= 2 * DBL_BIGDIG * BITSPERDIG;</div><div class='del'>-    if (ex &gt; BITSPERDIG) ex -= BITSPERDIG;</div><div class='del'>-    else if (ex &gt; 0) ex = 0;</div><div class='del'>-    if (ex) x = big_shift(x, ex);</div><div class='del'>-</div><div class='del'>-    bigdivrem(x, y, &amp;z, 0);</div><div class='del'>-    l = ex - ey;</div><div class='del'>-#if SIZEOF_LONG &gt; SIZEOF_INT</div><div class='del'>-    {</div><div class='del'>-	/* Visual C++ can't be here */</div><div class='del'>-	if (l &gt; INT_MAX) return HUGE_VAL;</div><div class='del'>-	if (l &lt; INT_MIN) return 0.0;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return ldexp(big2dbl(z), (int)l);</div><div class='del'>-}</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+	dy = (double)FIX2LONG(y);</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-static double</div><div class='del'>-big_fdiv_int(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    long l, ey;</div><div class='del'>-    bigtrunc(y);</div><div class='del'>-    l = BIGNUM_LEN(y);</div><div class='del'>-    ey = l * BITSPERDIG - nlz(BDIGITS(y)[l-1]);</div><div class='del'>-    ey -= DBL_BIGDIG * BITSPERDIG;</div><div class='del'>-    if (ey) y = big_shift(y, ey);</div><div class='del'>-    return big_fdiv(x, y, ey);</div><div class='del'>-}</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+	dy = rb_big2dbl(y);</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-static double</div><div class='del'>-big_fdiv_float(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    y = dbl2big(ldexp(frexp(RFLOAT_VALUE(y), &amp;i), DBL_MANT_DIG));</div><div class='del'>-    return big_fdiv(x, y, i - DBL_MANT_DIG);</div><div class='del'>-}</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	dy = RFLOAT(y)-&gt;value;</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-double</div><div class='del'>-rb_big_fdiv_double(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    double dx, dy;</div><div class='del'>-    VALUE v;</div><div class='del'>-</div><div class='del'>-    dx = big2dbl(x);</div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	dy = (double)FIX2LONG(y);</div><div class='del'>-	if (isinf(dx))</div><div class='del'>-	    return big_fdiv_int(x, rb_int2big(FIX2LONG(y)));</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	return big_fdiv_int(x, y);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	dy = RFLOAT_VALUE(y);</div><div class='del'>-	if (isnan(dy))</div><div class='del'>-	    return dy;</div><div class='del'>-	if (isinf(dx))</div><div class='del'>-	    return big_fdiv_float(x, y);</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	return NUM2DBL(rb_num_coerce_bin(x, y, rb_intern("fdiv")));</div><div class='del'>-    }</div><div class='del'>-    v = rb_flo_div_flo(DBL2NUM(dx), DBL2NUM(dy));</div><div class='del'>-    return NUM2DBL(v);</div><div class='add'>+    return rb_float_new(dx / dy);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_fdiv(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return DBL2NUM(rb_big_fdiv_double(x, y));</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big ** exponent   #=&gt; numeric</div><div class='add'>+ *</div><div class='add'>+ *  Raises _big_ to the _exponent_ power (which may be an integer, float,</div><div class='add'>+ *  or anything that will coerce to a number). The result may be</div><div class='add'>+ *  a Fixnum, Bignum, or Float</div><div class='add'>+ *</div><div class='add'>+ *    123456789 ** 2      #=&gt; 15241578750190521</div><div class='add'>+ *    123456789 ** 1.2    #=&gt; 5126464716.09932</div><div class='add'>+ *    123456789 ** -2     #=&gt; 6.5610001194102e-17</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_pow(VALUE x, VALUE y)</div><div class='add'>+rb_big_pow(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='ctx'>     double d;</div><div class='del'>-    SIGNED_VALUE yy;</div><div class='del'>-</div><div class='del'>-  again:</div><div class='add'>+    long yy;</div><div class='add'>+    </div><div class='ctx'>     if (y == INT2FIX(0)) return INT2FIX(1);</div><div class='del'>-    if (y == INT2FIX(1)) return x;</div><div class='del'>-    if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	d = RFLOAT_VALUE(y);</div><div class='del'>-	if ((BIGNUM_NEGATIVE_P(x) &amp;&amp; !BIGZEROP(x))) {</div><div class='del'>-            return rb_dbl_complex_new_polar_pi(pow(-rb_big2dbl(x), d), d);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	y = bignorm(y);</div><div class='del'>-	if (FIXNUM_P(y))</div><div class='del'>-	    goto again;</div><div class='add'>+    switch (TYPE(y)) {</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+	d = RFLOAT(y)-&gt;value;</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_BIGNUM:</div><div class='ctx'> 	rb_warn("in a**b, b may be too big");</div><div class='ctx'> 	d = rb_big2dbl(y);</div><div class='del'>-    }</div><div class='del'>-    else if (FIXNUM_P(y)) {</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case T_FIXNUM:</div><div class='ctx'> 	yy = FIX2LONG(y);</div><div class='add'>+	if (yy &gt; 0) {</div><div class='add'>+	    VALUE z = x;</div><div class='ctx'> </div><div class='del'>-        if (yy &lt; 0) {</div><div class='del'>-            x = rb_big_pow(x, INT2NUM(-yy));</div><div class='del'>-            if (RB_INTEGER_TYPE_P(x))</div><div class='del'>-                return rb_rational_raw(INT2FIX(1), x);</div><div class='del'>-            else</div><div class='del'>-                return DBL2NUM(1.0 / NUM2DBL(x));</div><div class='del'>-        }</div><div class='del'>-	else {</div><div class='del'>-	    VALUE z = 0;</div><div class='del'>-	    SIGNED_VALUE mask;</div><div class='del'>-            const size_t xbits = rb_absint_numwords(x, 1, NULL);</div><div class='del'>-	    const size_t BIGLEN_LIMIT = 32*1024*1024;</div><div class='del'>-</div><div class='del'>-	    if (xbits == (size_t)-1 ||</div><div class='del'>-                (xbits &gt; BIGLEN_LIMIT) ||</div><div class='del'>-                (xbits * yy &gt; BIGLEN_LIMIT)) {</div><div class='add'>+	    if (RBIGNUM(x)-&gt;len * SIZEOF_BDIGITS * yy &gt; 1024*1024) {</div><div class='ctx'> 		rb_warn("in a**b, b may be too big");</div><div class='ctx'> 		d = (double)yy;</div><div class='add'>+		break;</div><div class='ctx'> 	    }</div><div class='del'>-	    else {</div><div class='del'>-		for (mask = FIXNUM_MAX + 1; mask; mask &gt;&gt;= 1) {</div><div class='del'>-		    if (z) z = bigsq(z);</div><div class='del'>-		    if (yy &amp; mask) {</div><div class='del'>-			z = z ? bigtrunc(bigmul0(z, x)) : x;</div><div class='del'>-		    }</div><div class='add'>+	    for (;;) {</div><div class='add'>+		yy -= 1;</div><div class='add'>+		if (yy == 0) break;</div><div class='add'>+		while (yy % 2 == 0) {</div><div class='add'>+		    yy /= 2;</div><div class='add'>+		    x = rb_big_mul0(x, x);</div><div class='add'>+		    if (!BDIGITS(x)[RBIGNUM(x)-&gt;len-1]) RBIGNUM(x)-&gt;len--;</div><div class='ctx'> 		}</div><div class='del'>-		return bignorm(z);</div><div class='add'>+		z = rb_big_mul0(z, x);</div><div class='add'>+		if (!BDIGITS(z)[RBIGNUM(z)-&gt;len-1]) RBIGNUM(z)-&gt;len--;</div><div class='ctx'> 	    }</div><div class='add'>+	    return bignorm(z);</div><div class='ctx'> 	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_num_coerce_bin(x, y, idPow);</div><div class='del'>-    }</div><div class='del'>-    return DBL2NUM(pow(rb_big2dbl(x), d));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-bigand_int(VALUE x, long xn, BDIGIT hibitsx, long y)</div><div class='del'>-{</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-    long zn;</div><div class='del'>-    long i;</div><div class='del'>-    BDIGIT hibitsy;</div><div class='del'>-</div><div class='del'>-    if (y == 0) return INT2FIX(0);</div><div class='del'>-    if (xn == 0) return hibitsx ? LONG2NUM(y) : 0;</div><div class='del'>-    hibitsy = 0 &lt;= y ? 0 : BDIGMAX;</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-    if (!hibitsy) {</div><div class='del'>-	y &amp;= xds[0];</div><div class='del'>-	return LONG2NUM(y);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    zn = xn;</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    if (hibitsx &amp;&amp; zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='del'>-        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    z = bignew(zn, 0);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='add'>+	d = (double)yy;</div><div class='add'>+	break;</div><div class='ctx'> </div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-    i = 1;</div><div class='del'>-    zds[0] = xds[0] &amp; BIGLO(y);</div><div class='del'>-#else</div><div class='del'>-    for (i=0; i &lt; xn; i++) {</div><div class='del'>-        if (y == 0 || y == -1) break;</div><div class='del'>-        zds[i] = xds[i] &amp; BIGLO(y);</div><div class='del'>-        y = BIGDN(y);</div><div class='add'>+      default:</div><div class='add'>+	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        if (y == 0 || y == -1) break;</div><div class='del'>-        zds[i] = hibitsx &amp; BIGLO(y);</div><div class='del'>-        y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    for (;i &lt; xn; i++) {</div><div class='del'>-	zds[i] = xds[i] &amp; hibitsy;</div><div class='del'>-    }</div><div class='del'>-    for (;i &lt; zn; i++) {</div><div class='del'>-	zds[i] = hibitsx &amp; hibitsy;</div><div class='del'>-    }</div><div class='del'>-    twocomp2abs_bang(z, hibitsx &amp;&amp; hibitsy);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    return bignorm(z);</div><div class='add'>+    return rb_float_new(pow(rb_big2dbl(x), d));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *     big &amp; numeric   =&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Performs bitwise +and+ between _big_ and _numeric_.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_big_and(VALUE x, VALUE y)</div><div class='add'>+rb_big_and(xx, yy)</div><div class='add'>+    VALUE xx, yy;</div><div class='ctx'> {</div><div class='del'>-    VALUE z;</div><div class='add'>+    volatile VALUE x, y, z;</div><div class='ctx'>     BDIGIT *ds1, *ds2, *zds;</div><div class='del'>-    long i, xn, yn, n1, n2;</div><div class='del'>-    BDIGIT hibitsx, hibitsy;</div><div class='del'>-    BDIGIT hibits1, hibits2;</div><div class='del'>-    VALUE tmpv;</div><div class='del'>-    BDIGIT tmph;</div><div class='del'>-    long tmpn;</div><div class='del'>-</div><div class='del'>-    if (!RB_INTEGER_TYPE_P(y)) {</div><div class='del'>-	return rb_num_coerce_bit(x, y, '&amp;');</div><div class='del'>-    }</div><div class='add'>+    long i, l1, l2;</div><div class='add'>+    char sign;</div><div class='ctx'> </div><div class='del'>-    hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='add'>+    x = xx;</div><div class='add'>+    y = rb_to_int(yy);</div><div class='ctx'>     if (FIXNUM_P(y)) {</div><div class='del'>-	return bigand_int(x, xn, hibitsx, FIX2LONG(y));</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    hibitsy = abs2twocomp(&amp;y, &amp;yn);</div><div class='del'>-    if (xn &gt; yn) {</div><div class='del'>-        tmpv = x; x = y; y = tmpv;</div><div class='del'>-        tmpn = xn; xn = yn; yn = tmpn;</div><div class='del'>-        tmph = hibitsx; hibitsx = hibitsy; hibitsy = tmph;</div><div class='add'>+    if (!RBIGNUM(y)-&gt;sign) {</div><div class='add'>+	y = rb_big_clone(y);</div><div class='add'>+	get2comp(y);</div><div class='ctx'>     }</div><div class='del'>-    n1 = xn;</div><div class='del'>-    n2 = yn;</div><div class='del'>-    ds1 = BDIGITS(x);</div><div class='del'>-    ds2 = BDIGITS(y);</div><div class='del'>-    hibits1 = hibitsx;</div><div class='del'>-    hibits2 = hibitsy;</div><div class='del'>-</div><div class='del'>-    if (!hibits1)</div><div class='del'>-        n2 = n1;</div><div class='del'>-</div><div class='del'>-    z = bignew(n2, 0);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;n1; i++) {</div><div class='del'>-	zds[i] = ds1[i] &amp; ds2[i];</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	x = rb_big_clone(x);</div><div class='add'>+	get2comp(x);</div><div class='ctx'>     }</div><div class='del'>-    for (; i&lt;n2; i++) {</div><div class='del'>-	zds[i] = hibits1 &amp; ds2[i];</div><div class='add'>+    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='add'>+	l1 = RBIGNUM(y)-&gt;len;</div><div class='add'>+	l2 = RBIGNUM(x)-&gt;len;</div><div class='add'>+	ds1 = BDIGITS(y);</div><div class='add'>+	ds2 = BDIGITS(x);</div><div class='add'>+	sign = RBIGNUM(y)-&gt;sign;</div><div class='ctx'>     }</div><div class='del'>-    twocomp2abs_bang(z, hibits1 &amp;&amp; hibits2);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return bignorm(z);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-bigor_int(VALUE x, long xn, BDIGIT hibitsx, long y)</div><div class='del'>-{</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-    long zn;</div><div class='del'>-    long i;</div><div class='del'>-    BDIGIT hibitsy;</div><div class='del'>-</div><div class='del'>-    if (y == -1) return INT2FIX(-1);</div><div class='del'>-    if (xn == 0) return hibitsx ? INT2FIX(-1) : LONG2FIX(y);</div><div class='del'>-    hibitsy = 0 &lt;= y ? 0 : BDIGMAX;</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-</div><div class='del'>-    zn = BIGNUM_LEN(x);</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='del'>-        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='del'>-#endif</div><div class='del'>-    z = bignew(zn, 0);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-</div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-    i = 1;</div><div class='del'>-    zds[0] = xds[0] | BIGLO(y);</div><div class='del'>-    if (i &lt; zn)</div><div class='del'>-        goto y_is_fixed_point;</div><div class='del'>-    goto finish;</div><div class='del'>-#else</div><div class='del'>-    for (i=0; i &lt; xn; i++) {</div><div class='del'>-        if (y == 0 || y == -1) goto y_is_fixed_point;</div><div class='del'>-        zds[i] = xds[i] | BIGLO(y);</div><div class='del'>-        y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-    if (hibitsx)</div><div class='del'>-        goto fill_hibits;</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        if (y == 0 || y == -1) goto y_is_fixed_point;</div><div class='del'>-        zds[i] = BIGLO(y);</div><div class='del'>-        y = BIGDN(y);</div><div class='add'>+    else {</div><div class='add'>+	l1 = RBIGNUM(x)-&gt;len;</div><div class='add'>+	l2 = RBIGNUM(y)-&gt;len;</div><div class='add'>+	ds1 = BDIGITS(x);</div><div class='add'>+	ds2 = BDIGITS(y);</div><div class='add'>+	sign = RBIGNUM(x)-&gt;sign;</div><div class='ctx'>     }</div><div class='del'>-  goto finish;</div><div class='del'>-#endif</div><div class='add'>+    z = bignew(l2, RBIGNUM(x)-&gt;sign || RBIGNUM(y)-&gt;sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-  y_is_fixed_point:</div><div class='del'>-    if (hibitsy)</div><div class='del'>-        goto fill_hibits;</div><div class='del'>-    for (; i &lt; xn; i++) {</div><div class='del'>-        zds[i] = xds[i];</div><div class='del'>-    }</div><div class='del'>-    if (hibitsx)</div><div class='del'>-        goto fill_hibits;</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        zds[i] = 0;</div><div class='add'>+    for (i=0; i&lt;l1; i++) {</div><div class='add'>+	zds[i] = ds1[i] &amp; ds2[i];</div><div class='ctx'>     }</div><div class='del'>-  goto finish;</div><div class='del'>-</div><div class='del'>-  fill_hibits:</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        zds[i] = BDIGMAX;</div><div class='add'>+    for (; i&lt;l2; i++) {</div><div class='add'>+	zds[i] = sign?0:ds2[i];</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-  finish:</div><div class='del'>-    twocomp2abs_bang(z, hibitsx || hibitsy);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='add'>+    if (!RBIGNUM(z)-&gt;sign) get2comp(z);</div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *     big | numeric   =&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Performs bitwise +or+ between _big_ and _numeric_.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_big_or(VALUE x, VALUE y)</div><div class='add'>+rb_big_or(xx, yy)</div><div class='add'>+    VALUE xx, yy;</div><div class='ctx'> {</div><div class='del'>-    VALUE z;</div><div class='add'>+    volatile VALUE x, y, z;</div><div class='ctx'>     BDIGIT *ds1, *ds2, *zds;</div><div class='del'>-    long i, xn, yn, n1, n2;</div><div class='del'>-    BDIGIT hibitsx, hibitsy;</div><div class='del'>-    BDIGIT hibits1, hibits2;</div><div class='del'>-    VALUE tmpv;</div><div class='del'>-    BDIGIT tmph;</div><div class='del'>-    long tmpn;</div><div class='del'>-</div><div class='del'>-    if (!RB_INTEGER_TYPE_P(y)) {</div><div class='del'>-	return rb_num_coerce_bit(x, y, '|');</div><div class='del'>-    }</div><div class='add'>+    long i, l1, l2;</div><div class='add'>+    char sign;</div><div class='ctx'> </div><div class='del'>-    hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='add'>+    x = xx;</div><div class='add'>+    y = rb_to_int(yy);</div><div class='ctx'>     if (FIXNUM_P(y)) {</div><div class='del'>-	return bigor_int(x, xn, hibitsx, FIX2LONG(y));</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    hibitsy = abs2twocomp(&amp;y, &amp;yn);</div><div class='del'>-    if (xn &gt; yn) {</div><div class='del'>-        tmpv = x; x = y; y = tmpv;</div><div class='del'>-        tmpn = xn; xn = yn; yn = tmpn;</div><div class='del'>-        tmph = hibitsx; hibitsx = hibitsy; hibitsy = tmph;</div><div class='add'>+    if (!RBIGNUM(y)-&gt;sign) {</div><div class='add'>+	y = rb_big_clone(y);</div><div class='add'>+	get2comp(y);</div><div class='ctx'>     }</div><div class='del'>-    n1 = xn;</div><div class='del'>-    n2 = yn;</div><div class='del'>-    ds1 = BDIGITS(x);</div><div class='del'>-    ds2 = BDIGITS(y);</div><div class='del'>-    hibits1 = hibitsx;</div><div class='del'>-    hibits2 = hibitsy;</div><div class='del'>-</div><div class='del'>-    if (hibits1)</div><div class='del'>-        n2 = n1;</div><div class='del'>-</div><div class='del'>-    z = bignew(n2, 0);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;n1; i++) {</div><div class='del'>-	zds[i] = ds1[i] | ds2[i];</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	x = rb_big_clone(x);</div><div class='add'>+	get2comp(x);</div><div class='ctx'>     }</div><div class='del'>-    for (; i&lt;n2; i++) {</div><div class='del'>-	zds[i] = hibits1 | ds2[i];</div><div class='add'>+    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='add'>+	l1 = RBIGNUM(y)-&gt;len;</div><div class='add'>+	l2 = RBIGNUM(x)-&gt;len;</div><div class='add'>+	ds1 = BDIGITS(y);</div><div class='add'>+	ds2 = BDIGITS(x);</div><div class='add'>+	sign = RBIGNUM(y)-&gt;sign;</div><div class='ctx'>     }</div><div class='del'>-    twocomp2abs_bang(z, hibits1 || hibits2);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    return bignorm(z);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-bigxor_int(VALUE x, long xn, BDIGIT hibitsx, long y)</div><div class='del'>-{</div><div class='del'>-    VALUE z;</div><div class='del'>-    BDIGIT *xds, *zds;</div><div class='del'>-    long zn;</div><div class='del'>-    long i;</div><div class='del'>-    BDIGIT hibitsy;</div><div class='del'>-</div><div class='del'>-    hibitsy = 0 &lt;= y ? 0 : BDIGMAX;</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    zn = BIGNUM_LEN(x);</div><div class='del'>-#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='del'>-    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='del'>-        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='del'>-#endif</div><div class='del'>-    z = bignew(zn, 0);</div><div class='add'>+    else {</div><div class='add'>+	l1 = RBIGNUM(x)-&gt;len;</div><div class='add'>+	l2 = RBIGNUM(y)-&gt;len;</div><div class='add'>+	ds1 = BDIGITS(x);</div><div class='add'>+	ds2 = BDIGITS(y);</div><div class='add'>+	sign = RBIGNUM(x)-&gt;sign;</div><div class='add'>+    }</div><div class='add'>+    z = bignew(l2, RBIGNUM(x)-&gt;sign &amp;&amp; RBIGNUM(y)-&gt;sign);</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='del'>-    i = 1;</div><div class='del'>-    zds[0] = xds[0] ^ BIGLO(y);</div><div class='del'>-#else</div><div class='del'>-    for (i = 0; i &lt; xn; i++) {</div><div class='del'>-        zds[i] = xds[i] ^ BIGLO(y);</div><div class='del'>-        y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        zds[i] = hibitsx ^ BIGLO(y);</div><div class='del'>-        y = BIGDN(y);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    for (; i &lt; xn; i++) {</div><div class='del'>-        zds[i] = xds[i] ^ hibitsy;</div><div class='add'>+    for (i=0; i&lt;l1; i++) {</div><div class='add'>+	zds[i] = ds1[i] | ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    for (; i &lt; zn; i++) {</div><div class='del'>-        zds[i] = hibitsx ^ hibitsy;</div><div class='add'>+    for (; i&lt;l2; i++) {</div><div class='add'>+	zds[i] = sign?ds2[i]:(BIGRAD-1);</div><div class='ctx'>     }</div><div class='del'>-    twocomp2abs_bang(z, (hibitsx ^ hibitsy) != 0);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='add'>+    if (!RBIGNUM(z)-&gt;sign) get2comp(z);</div><div class='add'>+</div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *     big ^ numeric   =&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Performs bitwise +exclusive or+ between _big_ and _numeric_.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_big_xor(VALUE x, VALUE y)</div><div class='add'>+rb_big_xor(xx, yy)</div><div class='add'>+    VALUE xx, yy;</div><div class='ctx'> {</div><div class='add'>+    volatile VALUE x, y;</div><div class='ctx'>     VALUE z;</div><div class='ctx'>     BDIGIT *ds1, *ds2, *zds;</div><div class='del'>-    long i, xn, yn, n1, n2;</div><div class='del'>-    BDIGIT hibitsx, hibitsy;</div><div class='del'>-    BDIGIT hibits1, hibits2;</div><div class='del'>-    VALUE tmpv;</div><div class='del'>-    BDIGIT tmph;</div><div class='del'>-    long tmpn;</div><div class='del'>-</div><div class='del'>-    if (!RB_INTEGER_TYPE_P(y)) {</div><div class='del'>-	return rb_num_coerce_bit(x, y, '^');</div><div class='del'>-    }</div><div class='add'>+    long i, l1, l2;</div><div class='add'>+    char sign;</div><div class='ctx'> </div><div class='del'>-    hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='add'>+    x = xx;</div><div class='add'>+    y = rb_to_int(yy);</div><div class='ctx'>     if (FIXNUM_P(y)) {</div><div class='del'>-	return bigxor_int(x, xn, hibitsx, FIX2LONG(y));</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    hibitsy = abs2twocomp(&amp;y, &amp;yn);</div><div class='del'>-    if (xn &gt; yn) {</div><div class='del'>-        tmpv = x; x = y; y = tmpv;</div><div class='del'>-        tmpn = xn; xn = yn; yn = tmpn;</div><div class='del'>-        tmph = hibitsx; hibitsx = hibitsy; hibitsy = tmph;</div><div class='add'>+    if (!RBIGNUM(y)-&gt;sign) {</div><div class='add'>+	y = rb_big_clone(y);</div><div class='add'>+	get2comp(y);</div><div class='ctx'>     }</div><div class='del'>-    n1 = xn;</div><div class='del'>-    n2 = yn;</div><div class='del'>-    ds1 = BDIGITS(x);</div><div class='del'>-    ds2 = BDIGITS(y);</div><div class='del'>-    hibits1 = hibitsx;</div><div class='del'>-    hibits2 = hibitsy;</div><div class='del'>-</div><div class='del'>-    z = bignew(n2, 0);</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	x = rb_big_clone(x);</div><div class='add'>+	get2comp(x);</div><div class='add'>+    }</div><div class='add'>+    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='add'>+	l1 = RBIGNUM(y)-&gt;len;</div><div class='add'>+	l2 = RBIGNUM(x)-&gt;len;</div><div class='add'>+	ds1 = BDIGITS(y);</div><div class='add'>+	ds2 = BDIGITS(x);</div><div class='add'>+	sign = RBIGNUM(y)-&gt;sign;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	l1 = RBIGNUM(x)-&gt;len;</div><div class='add'>+	l2 = RBIGNUM(y)-&gt;len;</div><div class='add'>+	ds1 = BDIGITS(x);</div><div class='add'>+	ds2 = BDIGITS(y);</div><div class='add'>+	sign = RBIGNUM(x)-&gt;sign;</div><div class='add'>+    }</div><div class='add'>+    RBIGNUM(x)-&gt;sign = RBIGNUM(x)-&gt;sign?1:0;</div><div class='add'>+    RBIGNUM(y)-&gt;sign = RBIGNUM(y)-&gt;sign?1:0;</div><div class='add'>+    z = bignew(l2, !(RBIGNUM(x)-&gt;sign ^ RBIGNUM(y)-&gt;sign));</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;n1; i++) {</div><div class='add'>+    for (i=0; i&lt;l1; i++) {</div><div class='ctx'> 	zds[i] = ds1[i] ^ ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    for (; i&lt;n2; i++) {</div><div class='del'>-	zds[i] = hibitsx ^ ds2[i];</div><div class='add'>+    for (; i&lt;l2; i++) {</div><div class='add'>+	zds[i] = sign?ds2[i]:~ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    twocomp2abs_bang(z, (hibits1 ^ hibits2) != 0);</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='add'>+    if (!RBIGNUM(z)-&gt;sign) get2comp(z);</div><div class='add'>+</div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_lshift(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    int lshift_p;</div><div class='del'>-    size_t shift_numdigits;</div><div class='del'>-    int shift_numbits;</div><div class='del'>-</div><div class='del'>-    for (;;) {</div><div class='del'>-	if (FIXNUM_P(y)) {</div><div class='del'>-	    long l = FIX2LONG(y);</div><div class='del'>-            unsigned long shift;</div><div class='del'>-	    if (0 &lt;= l) {</div><div class='del'>-		lshift_p = 1;</div><div class='del'>-                shift = l;</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-		lshift_p = 0;</div><div class='del'>-		shift = 1+(unsigned long)(-(l+1));</div><div class='del'>-	    }</div><div class='del'>-            shift_numbits = (int)(shift &amp; (BITSPERDIG-1));</div><div class='del'>-            shift_numdigits = shift &gt;&gt; bit_length(BITSPERDIG-1);</div><div class='del'>-            return bignorm(big_shift3(x, lshift_p, shift_numdigits, shift_numbits));</div><div class='del'>-	}</div><div class='del'>-	else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-            return bignorm(big_shift2(x, 1, y));</div><div class='del'>-	}</div><div class='del'>-	y = rb_to_int(y);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='add'>+static VALUE rb_big_rshift _((VALUE,VALUE));</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_rshift(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    int lshift_p;</div><div class='del'>-    size_t shift_numdigits;</div><div class='del'>-    int shift_numbits;</div><div class='del'>-</div><div class='del'>-    for (;;) {</div><div class='del'>-	if (FIXNUM_P(y)) {</div><div class='del'>-	    long l = FIX2LONG(y);</div><div class='del'>-            unsigned long shift;</div><div class='del'>-            if (0 &lt;= l) {</div><div class='del'>-                lshift_p = 0;</div><div class='del'>-                shift = l;</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                lshift_p = 1;</div><div class='del'>-		shift = 1+(unsigned long)(-(l+1));</div><div class='del'>-	    }</div><div class='del'>-            shift_numbits = (int)(shift &amp; (BITSPERDIG-1));</div><div class='del'>-            shift_numdigits = shift &gt;&gt; bit_length(BITSPERDIG-1);</div><div class='del'>-            return bignorm(big_shift3(x, lshift_p, shift_numdigits, shift_numbits));</div><div class='del'>-	}</div><div class='del'>-	else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-            return bignorm(big_shift2(x, 0, y));</div><div class='del'>-	}</div><div class='del'>-	y = rb_to_int(y);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *     big &lt;&lt; numeric   =&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Shifts big left _numeric_ positions (right if _numeric_ is negative).</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_aref(VALUE x, VALUE y)</div><div class='add'>+rb_big_lshift(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    BDIGIT *xds;</div><div class='del'>-    size_t shift;</div><div class='del'>-    size_t i, s1, s2;</div><div class='del'>-    long l;</div><div class='del'>-    BDIGIT bit;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    int shift = NUM2INT(y);</div><div class='add'>+    int s1 = shift/BITSPERDIG;</div><div class='add'>+    int s2 = shift%BITSPERDIG;</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT_DBL num = 0;</div><div class='add'>+    long len, i;</div><div class='ctx'> </div><div class='del'>-    if (RB_BIGNUM_TYPE_P(y)) {</div><div class='del'>-	if (BIGNUM_NEGATIVE_P(y))</div><div class='del'>-	    return INT2FIX(0);</div><div class='del'>-	bigtrunc(y);</div><div class='del'>-	if (BIGSIZE(y) &gt; sizeof(size_t)) {</div><div class='del'>-	  out_of_range:</div><div class='del'>-	    return BIGNUM_SIGN(x) ? INT2FIX(0) : INT2FIX(1);</div><div class='del'>-	}</div><div class='del'>-#if SIZEOF_SIZE_T &lt;= SIZEOF_LONG</div><div class='del'>-	shift = big2ulong(y, "long");</div><div class='del'>-#else</div><div class='del'>-	shift = big2ull(y, "long long");</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	l = NUM2LONG(y);</div><div class='del'>-	if (l &lt; 0) return INT2FIX(0);</div><div class='del'>-	shift = (size_t)l;</div><div class='add'>+    if (shift &lt; 0) return rb_big_rshift(x, INT2FIX(-shift));</div><div class='add'>+    len = RBIGNUM(x)-&gt;len;</div><div class='add'>+    z = bignew(len+s1+1, RBIGNUM(x)-&gt;sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    for (i=0; i&lt;s1; i++) {</div><div class='add'>+	*zds++ = 0;</div><div class='ctx'>     }</div><div class='del'>-    s1 = shift/BITSPERDIG;</div><div class='del'>-    s2 = shift%BITSPERDIG;</div><div class='del'>-    bit = (BDIGIT)1 &lt;&lt; s2;</div><div class='del'>-</div><div class='del'>-    if (s1 &gt;= BIGNUM_LEN(x)) goto out_of_range;</div><div class='del'>-</div><div class='ctx'>     xds = BDIGITS(x);</div><div class='del'>-    if (BIGNUM_POSITIVE_P(x))</div><div class='del'>-        return (xds[s1] &amp; bit) ? INT2FIX(1) : INT2FIX(0);</div><div class='del'>-    if (xds[s1] &amp; (bit-1))</div><div class='del'>-        return (xds[s1] &amp; bit) ? INT2FIX(0) : INT2FIX(1);</div><div class='del'>-    for (i = 0; i &lt; s1; i++)</div><div class='del'>-        if (xds[i])</div><div class='del'>-            return (xds[s1] &amp; bit) ? INT2FIX(0) : INT2FIX(1);</div><div class='del'>-    return (xds[s1] &amp; bit) ? INT2FIX(1) : INT2FIX(0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_hash(VALUE x)</div><div class='del'>-{</div><div class='del'>-    st_index_t hash;</div><div class='del'>-</div><div class='del'>-    hash = rb_memhash(BDIGITS(x), sizeof(BDIGIT)*BIGNUM_LEN(x)) ^ BIGNUM_SIGN(x);</div><div class='del'>-    return ST2FIX(hash);</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+	num = num | (BDIGIT_DBL)*xds++&lt;&lt;s2;</div><div class='add'>+	*zds++ = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    *zds = BIGLO(num);</div><div class='add'>+    return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  * call-seq:</div><div class='del'>- *   big.coerce(numeric)  -&gt;  array</div><div class='del'>- *</div><div class='del'>- * Returns an array with both a +numeric+ and a +big+ represented as Bignum</div><div class='del'>- * objects.</div><div class='del'>- *</div><div class='del'>- * This is achieved by converting +numeric+ to a Bignum.</div><div class='del'>- *</div><div class='del'>- * A TypeError is raised if the +numeric+ is not a Fixnum or Bignum type.</div><div class='add'>+ *     big &gt;&gt; numeric   =&gt;  integer</div><div class='ctx'>  *</div><div class='del'>- *     (0x3FFFFFFFFFFFFFFF+1).coerce(42)   #=&gt; [42, 4611686018427387904]</div><div class='add'>+ * Shifts big right _numeric_ positions (left if _numeric_ is negative).</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_int_coerce(VALUE x, VALUE y)</div><div class='add'>+rb_big_rshift(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (RB_INTEGER_TYPE_P(y)) {</div><div class='del'>-        return rb_assoc_new(y, x);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        x = rb_Float(x);</div><div class='del'>-        y = rb_Float(y);</div><div class='del'>-        return rb_assoc_new(y, x);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_abs(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (BIGNUM_NEGATIVE_P(x)) {</div><div class='del'>-	x = rb_big_clone(x);</div><div class='del'>-	BIGNUM_SET_POSITIVE_SIGN(x);</div><div class='del'>-    }</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_big_sign(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return BIGNUM_SIGN(x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-size_t</div><div class='del'>-rb_big_size(VALUE big)</div><div class='del'>-{</div><div class='del'>-    return BIGSIZE(big);</div><div class='del'>-}</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    int shift = NUM2INT(y);</div><div class='add'>+    long s1 = shift/BITSPERDIG;</div><div class='add'>+    long s2 = shift%BITSPERDIG;</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT_DBL num = 0;</div><div class='add'>+    long i, j;</div><div class='add'>+    volatile VALUE save_x;</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_size_m(VALUE big)</div><div class='del'>-{</div><div class='del'>-    return SIZET2NUM(rb_big_size(big));</div><div class='del'>-}</div><div class='add'>+    if (shift &lt; 0) return rb_big_lshift(x, INT2FIX(-shift));</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_bit_length(VALUE big)</div><div class='del'>-{</div><div class='del'>-    int nlz_bits;</div><div class='del'>-    size_t numbytes;</div><div class='del'>-</div><div class='del'>-    static const BDIGIT char_bit[1] = { CHAR_BIT };</div><div class='del'>-    BDIGIT numbytes_bary[bdigit_roomof(sizeof(size_t))];</div><div class='del'>-    BDIGIT nlz_bary[1];</div><div class='del'>-    BDIGIT result_bary[bdigit_roomof(sizeof(size_t)+1)];</div><div class='del'>-</div><div class='del'>-    numbytes = rb_absint_size(big, &amp;nlz_bits);</div><div class='del'>-</div><div class='del'>-    if (numbytes == 0)</div><div class='del'>-        return LONG2FIX(0);</div><div class='del'>-</div><div class='del'>-    if (BIGNUM_NEGATIVE_P(big) &amp;&amp; rb_absint_singlebit_p(big)) {</div><div class='del'>-        if (nlz_bits != CHAR_BIT-1) {</div><div class='del'>-            nlz_bits++;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            nlz_bits = 0;</div><div class='del'>-            numbytes--;</div><div class='del'>-        }</div><div class='add'>+    if (s1 &gt; RBIGNUM(x)-&gt;len) {</div><div class='add'>+	if (RBIGNUM(x)-&gt;sign)</div><div class='add'>+	    return INT2FIX(0);</div><div class='add'>+	else</div><div class='add'>+	    return INT2FIX(-1);</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    if (numbytes &lt;= SIZE_MAX / CHAR_BIT) {</div><div class='del'>-        return SIZET2NUM(numbytes * CHAR_BIT - nlz_bits);</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	save_x = x = rb_big_clone(x);</div><div class='add'>+	get2comp(x);</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    nlz_bary[0] = nlz_bits;</div><div class='del'>-</div><div class='del'>-    bary_unpack(BARY_ARGS(numbytes_bary), &amp;numbytes, 1, sizeof(numbytes), 0,</div><div class='del'>-            INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='del'>-    BARY_SHORT_MUL(result_bary, numbytes_bary, char_bit);</div><div class='del'>-    BARY_SUB(result_bary, result_bary, nlz_bary);</div><div class='del'>-</div><div class='del'>-    return rb_integer_unpack(result_bary, numberof(result_bary), sizeof(BDIGIT), 0,</div><div class='del'>-            INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_odd_p(VALUE num)</div><div class='del'>-{</div><div class='del'>-    if (BIGNUM_LEN(num) != 0 &amp;&amp; BDIGITS(num)[0] &amp; 1) {</div><div class='del'>-	return Qtrue;</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    i = RBIGNUM(x)-&gt;len; j = i - s1;</div><div class='add'>+    if (j == 0) {</div><div class='add'>+	if (RBIGNUM(x)-&gt;sign) return INT2FIX(0);</div><div class='add'>+	else return INT2FIX(-1);</div><div class='ctx'>     }</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_even_p(VALUE num)</div><div class='del'>-{</div><div class='del'>-    if (BIGNUM_LEN(num) != 0 &amp;&amp; BDIGITS(num)[0] &amp; 1) {</div><div class='del'>-	return Qfalse;</div><div class='add'>+    z = bignew(j, RBIGNUM(x)-&gt;sign);</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	num = ((BDIGIT_DBL)~0) &lt;&lt; BITSPERDIG;</div><div class='ctx'>     }</div><div class='del'>-    return Qtrue;</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    while (i--, j--) {</div><div class='add'>+	num = (num | xds[i]) &gt;&gt; s2;</div><div class='add'>+	zds[j] = BIGLO(num);</div><div class='add'>+	num = BIGUP(xds[i]);</div><div class='add'>+    }</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	get2comp(z);</div><div class='add'>+    }</div><div class='add'>+    return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-unsigned long rb_ulong_isqrt(unsigned long);</div><div class='del'>-#if SIZEOF_BDIGIT*2 &gt; SIZEOF_LONG</div><div class='del'>-BDIGIT rb_bdigit_dbl_isqrt(BDIGIT_DBL);</div><div class='del'>-# ifdef ULL_TO_DOUBLE</div><div class='del'>-#   define BDIGIT_DBL_TO_DOUBLE(n) ULL_TO_DOUBLE(n)</div><div class='del'>-# endif</div><div class='del'>-#else</div><div class='del'>-# define rb_bdigit_dbl_isqrt(x) (BDIGIT)rb_ulong_isqrt(x)</div><div class='del'>-#endif</div><div class='del'>-#ifndef BDIGIT_DBL_TO_DOUBLE</div><div class='del'>-# define BDIGIT_DBL_TO_DOUBLE(n) (double)(n)</div><div class='del'>-#endif</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big[n] -&gt; 0, 1</div><div class='add'>+ *  </div><div class='add'>+ *  Bit Reference---Returns the &lt;em&gt;n&lt;/em&gt;th bit in the (assumed) binary</div><div class='add'>+ *  representation of &lt;i&gt;big&lt;/i&gt;, where &lt;i&gt;big&lt;/i&gt;[0] is the least</div><div class='add'>+ *  significant bit.</div><div class='add'>+ *     </div><div class='add'>+ *     a = 9**15</div><div class='add'>+ *     50.downto(0) do |n|</div><div class='add'>+ *       print a[n]</div><div class='add'>+ *     end</div><div class='add'>+ *     </div><div class='add'>+ *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='add'>+ *     </div><div class='add'>+ *     000101110110100000111000011110010100111100010111001</div><div class='add'>+ *     </div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-static BDIGIT *</div><div class='del'>-estimate_initial_sqrt(VALUE *xp, const size_t xn, const BDIGIT *nds, size_t len)</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_aref(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    enum {dbl_per_bdig = roomof(DBL_MANT_DIG,BITSPERDIG)};</div><div class='del'>-    const int zbits = nlz(nds[len-1]);</div><div class='del'>-    VALUE x = *xp = bignew_1(0, xn, 1); /* division may release the GVL */</div><div class='del'>-    BDIGIT *xds = BDIGITS(x);</div><div class='del'>-    BDIGIT_DBL d = bary2bdigitdbl(nds+len-dbl_per_bdig, dbl_per_bdig);</div><div class='del'>-    BDIGIT lowbits = 1;</div><div class='del'>-    int rshift = (int)((BITSPERDIG*2-zbits+(len&amp;BITSPERDIG&amp;1) - DBL_MANT_DIG + 1) &amp; ~1);</div><div class='del'>-    double f;</div><div class='del'>-</div><div class='del'>-    if (rshift &gt; 0) {</div><div class='del'>-	lowbits = (BDIGIT)d &amp; ~(~(BDIGIT)1U &lt;&lt; rshift);</div><div class='del'>-	d &gt;&gt;= rshift;</div><div class='del'>-    }</div><div class='del'>-    else if (rshift &lt; 0) {</div><div class='del'>-	d &lt;&lt;= -rshift;</div><div class='del'>-	d |= nds[len-dbl_per_bdig-1] &gt;&gt; (BITSPERDIG+rshift);</div><div class='add'>+    BDIGIT *xds;</div><div class='add'>+    int shift;</div><div class='add'>+    long s1, s2;</div><div class='add'>+</div><div class='add'>+    if (TYPE(y) == T_BIGNUM) {</div><div class='add'>+	if (!RBIGNUM(y)-&gt;sign || RBIGNUM(x)-&gt;sign)</div><div class='add'>+	    return INT2FIX(0);</div><div class='add'>+	return INT2FIX(1);</div><div class='ctx'>     }</div><div class='del'>-    f = sqrt(BDIGIT_DBL_TO_DOUBLE(d));</div><div class='del'>-    d = (BDIGIT_DBL)ceil(f);</div><div class='del'>-    if (BDIGIT_DBL_TO_DOUBLE(d) == f) {</div><div class='del'>-	if (lowbits || (lowbits = !bary_zero_p(nds, len-dbl_per_bdig)))</div><div class='del'>-	    ++d;</div><div class='add'>+    shift = NUM2INT(y);</div><div class='add'>+    if (shift &lt; 0) return INT2FIX(0);</div><div class='add'>+    s1 = shift/BITSPERDIG;</div><div class='add'>+    s2 = shift%BITSPERDIG;</div><div class='add'>+</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	if (s1 &gt;= RBIGNUM(x)-&gt;len) return INT2FIX(1);</div><div class='add'>+	x = rb_big_clone(x);</div><div class='add'>+	get2comp(x);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	lowbits = 1;</div><div class='add'>+	if (s1 &gt;= RBIGNUM(x)-&gt;len) return INT2FIX(0);</div><div class='ctx'>     }</div><div class='del'>-    rshift /= 2;</div><div class='del'>-    rshift += (2-(len&amp;1))*BITSPERDIG/2;</div><div class='del'>-    if (rshift &gt;= 0) {</div><div class='del'>-	d &lt;&lt;= rshift;</div><div class='del'>-    }</div><div class='del'>-    BDIGITS_ZERO(xds, xn-2);</div><div class='del'>-    bdigitdbl2bary(&amp;xds[xn-2], 2, d);</div><div class='del'>-</div><div class='del'>-    if (!lowbits) return NULL; /* special case, exact result */</div><div class='del'>-    return xds;</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    if (xds[s1] &amp; (1&lt;&lt;s2))</div><div class='add'>+	return INT2FIX(1);</div><div class='add'>+    return INT2FIX(0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_isqrt(VALUE n)</div><div class='del'>-{</div><div class='del'>-    BDIGIT *nds = BDIGITS(n);</div><div class='del'>-    size_t len = BIGNUM_LEN(n);</div><div class='del'>-    size_t xn = (len+1) / 2;</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *   big.hash   =&gt; fixnum</div><div class='add'>+ *</div><div class='add'>+ * Compute a hash based on the value of _big_.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_hash(x)</div><div class='ctx'>     VALUE x;</div><div class='del'>-    BDIGIT *xds;</div><div class='add'>+{</div><div class='add'>+    long i, len, key;</div><div class='add'>+    BDIGIT *digits;</div><div class='ctx'> </div><div class='del'>-    if (len &lt;= 2) {</div><div class='del'>-	BDIGIT sq = rb_bdigit_dbl_isqrt(bary2bdigitdbl(nds, len));</div><div class='del'>-#if SIZEOF_BDIGIT &gt; SIZEOF_LONG</div><div class='del'>-	return ULL2NUM(sq);</div><div class='del'>-#else</div><div class='del'>-	return ULONG2NUM(sq);</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    else if ((xds = estimate_initial_sqrt(&amp;x, xn, nds, len)) != 0) {</div><div class='del'>-	size_t tn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='del'>-	VALUE t = bignew_1(0, tn, 1);</div><div class='del'>-	BDIGIT *tds = BDIGITS(t);</div><div class='del'>-	tn = BIGNUM_LEN(t);</div><div class='del'>-</div><div class='del'>-	/* t = n/x */</div><div class='del'>-	while (bary_divmod_branch(tds, tn, NULL, 0, nds, len, xds, xn),</div><div class='del'>-	       bary_cmp(tds, tn, xds, xn) &lt; 0) {</div><div class='del'>-	    int carry;</div><div class='del'>-	    BARY_TRUNC(tds, tn);</div><div class='del'>-	    /* x = (x+t)/2 */</div><div class='del'>-	    carry = bary_add(xds, xn, xds, xn, tds, tn);</div><div class='del'>-	    bary_small_rshift(xds, xds, xn, 1, carry);</div><div class='del'>-	    tn = BIGNUM_LEN(t);</div><div class='del'>-	}</div><div class='del'>-	rb_big_realloc(t, 0);</div><div class='del'>-	rb_gc_force_recycle(t);</div><div class='add'>+    key = 0; digits = BDIGITS(x); len = RBIGNUM(x)-&gt;len;</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+	key ^= *digits++;</div><div class='ctx'>     }</div><div class='del'>-    RBASIC_SET_CLASS_RAW(x, rb_cInteger);</div><div class='del'>-    return x;</div><div class='add'>+    return LONG2FIX(key);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-static void</div><div class='del'>-bary_powm_gmp(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, const BDIGIT *mds, size_t mn)</div><div class='del'>-{</div><div class='del'>-    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='del'>-    mpz_t z, x, y, m;</div><div class='del'>-    size_t count;</div><div class='del'>-    mpz_init(x);</div><div class='del'>-    mpz_init(y);</div><div class='del'>-    mpz_init(m);</div><div class='del'>-    mpz_init(z);</div><div class='del'>-    mpz_import(x, xn, -1, sizeof(BDIGIT), 0, nails, xds);</div><div class='del'>-    mpz_import(y, yn, -1, sizeof(BDIGIT), 0, nails, yds);</div><div class='del'>-    mpz_import(m, mn, -1, sizeof(BDIGIT), 0, nails, mds);</div><div class='del'>-    mpz_powm(z, x, y, m);</div><div class='del'>-    mpz_export(zds, &amp;count, -1, sizeof(BDIGIT), 0, nails, z);</div><div class='del'>-    BDIGITS_ZERO(zds+count, zn-count);</div><div class='del'>-    mpz_clear(x);</div><div class='del'>-    mpz_clear(y);</div><div class='del'>-    mpz_clear(m);</div><div class='del'>-    mpz_clear(z);</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='add'>+/*</div><div class='add'>+ * MISSING: documentation</div><div class='add'>+ */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-int_pow_tmp3(VALUE x, VALUE y, VALUE m, int nega_flg)</div><div class='add'>+rb_big_coerce(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-    VALUE z;</div><div class='del'>-    size_t xn, yn, mn, zn;</div><div class='del'>-</div><div class='del'>-    if (FIXNUM_P(x)) {</div><div class='del'>-       x = rb_int2big(FIX2LONG(x));</div><div class='del'>-    }</div><div class='ctx'>     if (FIXNUM_P(y)) {</div><div class='del'>-       y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	return rb_assoc_new(rb_int2big(FIX2LONG(y)), x);</div><div class='ctx'>     }</div><div class='del'>-    assert(RB_BIGNUM_TYPE_P(m));</div><div class='del'>-    xn = BIGNUM_LEN(x);</div><div class='del'>-    yn = BIGNUM_LEN(y);</div><div class='del'>-    mn = BIGNUM_LEN(m);</div><div class='del'>-    zn = mn;</div><div class='del'>-    z = bignew(zn, 1);</div><div class='del'>-    bary_powm_gmp(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, BDIGITS(m), mn);</div><div class='del'>-    if (nega_flg &amp; BIGNUM_POSITIVE_P(z)) {</div><div class='del'>-        z = rb_big_minus(z, m);</div><div class='add'>+    else if (TYPE(y) == T_BIGNUM) {</div><div class='add'>+       return rb_assoc_new(y, x);</div><div class='ctx'>     }</div><div class='del'>-    RB_GC_GUARD(x);</div><div class='del'>-    RB_GC_GUARD(y);</div><div class='del'>-    RB_GC_GUARD(m);</div><div class='del'>-    return rb_big_norm(z);</div><div class='del'>-#else</div><div class='del'>-    VALUE tmp = LONG2FIX(1L);</div><div class='del'>-    long yy;</div><div class='del'>-</div><div class='del'>-    for (/*NOP*/; ! FIXNUM_P(y); y = rb_big_rshift(y, LONG2FIX(1L))) {</div><div class='del'>-        if (RTEST(rb_int_odd_p(y))) {</div><div class='del'>-            tmp = rb_int_mul(tmp, x);</div><div class='del'>-            tmp = rb_int_modulo(tmp, m);</div><div class='del'>-        }</div><div class='del'>-        x = rb_int_mul(x, x);</div><div class='del'>-        x = rb_int_modulo(x, m);</div><div class='del'>-    }</div><div class='del'>-    for (yy = FIX2LONG(y); yy; yy &gt;&gt;= 1L) {</div><div class='del'>-        if (yy &amp; 1L) {</div><div class='del'>-            tmp = rb_int_mul(tmp, x);</div><div class='del'>-            tmp = rb_int_modulo(tmp, m);</div><div class='del'>-        }</div><div class='del'>-        x = rb_int_mul(x, x);</div><div class='del'>-        x = rb_int_modulo(x, m);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (nega_flg &amp;&amp; rb_int_positive_p(tmp)) {</div><div class='del'>-        tmp = rb_int_minus(tmp, m);</div><div class='add'>+    else {</div><div class='add'>+	rb_raise(rb_eTypeError, "can't coerce %s to Bignum",</div><div class='add'>+		 rb_obj_classname(y));</div><div class='ctx'>     }</div><div class='del'>-    return tmp;</div><div class='del'>-#endif</div><div class='add'>+    /* not reached */</div><div class='add'>+    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='del'>- * Integer#pow</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.abs -&gt; aBignum</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the absolute value of &lt;i&gt;big&lt;/i&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     -1234567890987654321.abs   #=&gt; 1234567890987654321</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-int_pow_tmp1(VALUE x, VALUE y, long mm, int nega_flg)</div><div class='add'>+rb_big_abs(x)</div><div class='add'>+    VALUE x;</div><div class='ctx'> {</div><div class='del'>-    long xx = FIX2LONG(x);</div><div class='del'>-    long tmp = 1L;</div><div class='del'>-    long yy;</div><div class='del'>-</div><div class='del'>-    for (/*NOP*/; ! FIXNUM_P(y); y = rb_big_rshift(y, LONG2FIX(1L))) {</div><div class='del'>-        if (RTEST(rb_int_odd_p(y))) {</div><div class='del'>-            tmp = (tmp * xx) % mm;</div><div class='del'>-        }</div><div class='del'>-        xx = (xx * xx) % mm;</div><div class='del'>-    }</div><div class='del'>-    for (yy = FIX2LONG(y); yy; yy &gt;&gt;= 1L) {</div><div class='del'>-        if (yy &amp; 1L) {</div><div class='del'>-            tmp = (tmp * xx) % mm;</div><div class='del'>-        }</div><div class='del'>-        xx = (xx * xx) % mm;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (nega_flg &amp;&amp; tmp) {</div><div class='del'>-        tmp -= mm;</div><div class='add'>+    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+	x = rb_big_clone(x);</div><div class='add'>+	RBIGNUM(x)-&gt;sign = 1;</div><div class='ctx'>     }</div><div class='del'>-    return LONG2FIX(tmp);</div><div class='add'>+    return x;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-int_pow_tmp2(VALUE x, VALUE y, long mm, int nega_flg)</div><div class='add'>+VALUE</div><div class='add'>+rb_big_rand(max, rand_buf)</div><div class='add'>+    VALUE max;</div><div class='add'>+    double *rand_buf;</div><div class='ctx'> {</div><div class='del'>-    long tmp = 1L;</div><div class='del'>-    long yy;</div><div class='del'>-#ifdef DLONG</div><div class='del'>-    const DLONG m = mm;</div><div class='del'>-    long tmp2 = tmp;</div><div class='del'>-    long xx = FIX2LONG(x);</div><div class='del'>-# define MUL_MODULO(a, b, c) (long)(((DLONG)(a) * (DLONG)(b)) % (c))</div><div class='del'>-#else</div><div class='del'>-    const VALUE m = LONG2FIX(mm);</div><div class='del'>-    VALUE tmp2 = LONG2FIX(tmp);</div><div class='del'>-    VALUE xx = x;</div><div class='del'>-# define MUL_MODULO(a, b, c) rb_int_modulo(rb_fix_mul_fix((a), (b)), (c))</div><div class='del'>-#endif</div><div class='add'>+    VALUE v;</div><div class='add'>+    long len = RBIGNUM(max)-&gt;len;</div><div class='ctx'> </div><div class='del'>-    for (/*NOP*/; ! FIXNUM_P(y); y = rb_big_rshift(y, LONG2FIX(1L))) {</div><div class='del'>-        if (RTEST(rb_int_odd_p(y))) {</div><div class='del'>-            tmp2 = MUL_MODULO(tmp2, xx, m);</div><div class='del'>-        }</div><div class='del'>-        xx = MUL_MODULO(xx, xx, m);</div><div class='add'>+    if (BIGZEROP(max)) {</div><div class='add'>+	return rb_float_new(rand_buf[0]);</div><div class='ctx'>     }</div><div class='del'>-    for (yy = FIX2LONG(y); yy; yy &gt;&gt;= 1L) {</div><div class='del'>-        if (yy &amp; 1L) {</div><div class='del'>-            tmp2 = MUL_MODULO(tmp2, xx, m);</div><div class='del'>-        }</div><div class='del'>-        xx = MUL_MODULO(xx, xx, m);</div><div class='add'>+    v = bignew(len,1);</div><div class='add'>+    len--;</div><div class='add'>+    BDIGITS(v)[len] = BDIGITS(max)[len] * rand_buf[len];    </div><div class='add'>+    while (len--) {</div><div class='add'>+	BDIGITS(v)[len] = ((BDIGIT)~0) * rand_buf[len];</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-#ifdef DLONG</div><div class='del'>-    tmp = tmp2;</div><div class='del'>-#else</div><div class='del'>-    tmp = FIX2LONG(tmp2);</div><div class='del'>-#endif</div><div class='del'>-    if (nega_flg &amp;&amp; tmp) {</div><div class='del'>-        tmp -= mm;</div><div class='del'>-    }</div><div class='del'>-    return LONG2FIX(tmp);</div><div class='add'>+    return v;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='del'>- * Document-method: Integer#pow</div><div class='del'>- * call-seq:</div><div class='del'>- *    integer.pow(numeric)           -&gt;  numeric</div><div class='del'>- *    integer.pow(integer, integer)  -&gt;  integer</div><div class='del'>- *</div><div class='del'>- * Returns (modular) exponentiation as:</div><div class='del'>- *</div><div class='del'>- *   a.pow(b)     #=&gt; same as a**b</div><div class='del'>- *   a.pow(b, m)  #=&gt; same as (a**b) % m, but avoids huge temporary values</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big.size -&gt; integer</div><div class='add'>+ *  </div><div class='add'>+ *  Returns the number of bytes in the machine representation of</div><div class='add'>+ *  &lt;i&gt;big&lt;/i&gt;.</div><div class='add'>+ *     </div><div class='add'>+ *     (256**10 - 1).size   #=&gt; 12</div><div class='add'>+ *     (256**20 - 1).size   #=&gt; 20</div><div class='add'>+ *     (256**40 - 1).size   #=&gt; 40</div><div class='ctx'>  */</div><div class='del'>-VALUE</div><div class='del'>-rb_int_powm(int const argc, VALUE * const argv, VALUE const num)</div><div class='del'>-{</div><div class='del'>-    rb_check_arity(argc, 1, 2);</div><div class='ctx'> </div><div class='del'>-    if (argc == 1) {</div><div class='del'>-        return rb_int_pow(num, argv[0]);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        VALUE const a = num;</div><div class='del'>-        VALUE const b = argv[0];</div><div class='del'>-        VALUE m = argv[1];</div><div class='del'>-        int nega_flg = 0;</div><div class='del'>-        if ( ! RB_INTEGER_TYPE_P(b)) {</div><div class='del'>-            rb_raise(rb_eTypeError, "Integer#pow() 2nd argument not allowed unless a 1st argument is integer");</div><div class='del'>-        }</div><div class='del'>-        if (rb_int_negative_p(b)) {</div><div class='del'>-            rb_raise(rb_eRangeError, "Integer#pow() 1st argument cannot be negative when 2nd argument specified");</div><div class='del'>-        }</div><div class='del'>-        if (!RB_INTEGER_TYPE_P(m)) {</div><div class='del'>-            rb_raise(rb_eTypeError, "Integer#pow() 2nd argument not allowed unless all arguments are integers");</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        if (rb_int_negative_p(m)) {</div><div class='del'>-            m = rb_int_uminus(m);</div><div class='del'>-            nega_flg = 1;</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        if (FIXNUM_P(m)) {</div><div class='del'>-            long const half_val = (long)HALF_LONG_MSB;</div><div class='del'>-            long const mm = FIX2LONG(m);</div><div class='del'>-            if (!mm) rb_num_zerodiv();</div><div class='del'>-            if (mm &lt;= half_val) {</div><div class='del'>-                return int_pow_tmp1(rb_int_modulo(a, m), b, mm, nega_flg);</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                return int_pow_tmp2(rb_int_modulo(a, m), b, mm, nega_flg);</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            if (rb_bigzero_p(m)) rb_num_zerodiv();</div><div class='del'>-            return int_pow_tmp3(rb_int_modulo(a, m), b, m, nega_flg);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    UNREACHABLE_RETURN(Qnil);</div><div class='add'>+static VALUE</div><div class='add'>+rb_big_size(big)</div><div class='add'>+    VALUE big;</div><div class='add'>+{</div><div class='add'>+    return LONG2FIX(RBIGNUM(big)-&gt;len*SIZEOF_BDIGITS);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='hunk'>@@ -7139,33 +2083,49 @@ rb_int_powm(int const argc, VALUE * const argv, VALUE const num)</div><div class='ctx'>  *  Fixnum. When a calculation involving</div><div class='ctx'>  *  Bignum objects returns a result that will fit in a</div><div class='ctx'>  *  Fixnum, the result is automatically converted.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *  For the purposes of the bitwise operations and &lt;code&gt;[]&lt;/code&gt;, a</div><div class='ctx'>  *  Bignum is treated as if it were an infinite-length</div><div class='ctx'>  *  bitstring with 2's complement representation.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *  While Fixnum values are immediate, Bignum</div><div class='ctx'>  *  objects are not---assignment and parameter passing work with</div><div class='ctx'>  *  references to objects, not the objects themselves.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-Init_Bignum(void)</div><div class='del'>-{</div><div class='del'>-#ifndef RUBY_INTEGER_UNIFICATION</div><div class='del'>-    rb_cBignum = rb_cInteger;</div><div class='del'>-#endif</div><div class='del'>-    /* An obsolete class, use Integer */</div><div class='del'>-    rb_define_const(rb_cObject, "Bignum", rb_cInteger);</div><div class='del'>-    rb_deprecate_constant(rb_cObject, "Bignum");</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cInteger, "coerce", rb_int_coerce, 1);</div><div class='del'>-</div><div class='del'>-#ifdef USE_GMP</div><div class='del'>-    /* The version of loaded GMP. */</div><div class='del'>-    rb_define_const(rb_cInteger, "GMP_VERSION", rb_sprintf("GMP %s", gmp_version));</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    power_cache_init();</div><div class='add'>+Init_Bignum()</div><div class='add'>+{</div><div class='add'>+    rb_cBignum = rb_define_class("Bignum", rb_cInteger);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cBignum, "to_s", rb_big_to_s, -1);</div><div class='add'>+    rb_define_method(rb_cBignum, "coerce", rb_big_coerce, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "-@", rb_big_uminus, 0);</div><div class='add'>+    rb_define_method(rb_cBignum, "+", rb_big_plus, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "-", rb_big_minus, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "*", rb_big_mul, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "/", rb_big_div, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "%", rb_big_modulo, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "div", rb_big_div, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "divmod", rb_big_divmod, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "modulo", rb_big_modulo, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "remainder", rb_big_remainder, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "quo", rb_big_quo, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "**", rb_big_pow, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "&amp;", rb_big_and, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "|", rb_big_or, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "^", rb_big_xor, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "~", rb_big_neg, 0);</div><div class='add'>+    rb_define_method(rb_cBignum, "&lt;&lt;", rb_big_lshift, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "&gt;&gt;", rb_big_rshift, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "[]", rb_big_aref, 1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cBignum, "&lt;=&gt;", rb_big_cmp, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "==", rb_big_eq, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "eql?", rb_big_eql, 1);</div><div class='add'>+    rb_define_method(rb_cBignum, "hash", rb_big_hash, 0);</div><div class='add'>+    rb_define_method(rb_cBignum, "to_f", rb_big_to_f, 0);</div><div class='add'>+    rb_define_method(rb_cBignum, "abs", rb_big_abs, 0);</div><div class='add'>+    rb_define_method(rb_cBignum, "size", rb_big_size, 0);</div><div class='ctx'> }</div><div class='head'>diff --git a/bin/bundle b/bin/bundle<br/>deleted file mode 100755<br/>index 1a0b06b005..0000000000<br/>--- a/<a href='/ruby.git/tree/bin/bundle?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/bundle</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,27 +0,0 @@</div><div class='del'>-#!/usr/bin/env ruby</div><div class='del'>-#</div><div class='del'>-# This file was generated by RubyGems.</div><div class='del'>-#</div><div class='del'>-# The application 'bundler' is installed as part of a gem, and</div><div class='del'>-# this file is here to facilitate running it.</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-require 'rubygems'</div><div class='del'>-</div><div class='del'>-version = "&gt;= 0.a"</div><div class='del'>-</div><div class='del'>-str = ARGV.first</div><div class='del'>-if str</div><div class='del'>-  str = str.b[/\A_(.*)_\z/, 1]</div><div class='del'>-  if str and Gem::Version.correct?(str)</div><div class='del'>-    version = str</div><div class='del'>-    ARGV.shift</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-if Gem.respond_to?(:activate_bin_path)</div><div class='del'>-load Gem.activate_bin_path('bundler', 'bundle', version)</div><div class='del'>-else</div><div class='del'>-gem "bundler", version</div><div class='del'>-load Gem.bin_path("bundler", "bundle", version)</div><div class='del'>-end</div><div class='head'>diff --git a/bin/bundler b/bin/bundler<br/>deleted file mode 100755<br/>index e15eb39ed7..0000000000<br/>--- a/<a href='/ruby.git/tree/bin/bundler?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/bundler</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,27 +0,0 @@</div><div class='del'>-#!/usr/bin/env ruby</div><div class='del'>-#</div><div class='del'>-# This file was generated by RubyGems.</div><div class='del'>-#</div><div class='del'>-# The application 'bundler' is installed as part of a gem, and</div><div class='del'>-# this file is here to facilitate running it.</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-require 'rubygems'</div><div class='del'>-</div><div class='del'>-version = "&gt;= 0.a"</div><div class='del'>-</div><div class='del'>-str = ARGV.first</div><div class='del'>-if str</div><div class='del'>-  str = str.b[/\A_(.*)_\z/, 1]</div><div class='del'>-  if str and Gem::Version.correct?(str)</div><div class='del'>-    version = str</div><div class='del'>-    ARGV.shift</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-if Gem.respond_to?(:activate_bin_path)</div><div class='del'>-load Gem.activate_bin_path('bundler', 'bundler', version)</div><div class='del'>-else</div><div class='del'>-gem "bundler", version</div><div class='del'>-load Gem.bin_path("bundler", "bundler", version)</div><div class='del'>-end</div><div class='head'>diff --git a/bin/erb b/bin/erb<br/>index d060caba90..a6fcd5370c 100755<br/>--- a/<a href='/ruby.git/tree/bin/erb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/erb</a><br/>+++ b/<a href='/ruby.git/tree/bin/erb?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bin/erb</a></div><div class='hunk'>@@ -1,6 +1,6 @@</div><div class='ctx'> #!/usr/bin/env ruby</div><div class='ctx'> # Tiny eRuby --- ERB2</div><div class='del'>-# Copyright (c) 1999-2000,2002 Masatoshi SEKI</div><div class='add'>+# Copyright (c) 1999-2000,2002 Masatoshi SEKI </div><div class='ctx'> # You can redistribute it and/or modify it under the same terms as Ruby.</div><div class='ctx'> </div><div class='ctx'> require 'erb'</div><div class='hunk'>@@ -11,32 +11,19 @@ class ERB</div><div class='ctx'>       return nil if self.empty?</div><div class='ctx'>       arg = self.shift</div><div class='ctx'>       return nil if arg == '--'</div><div class='del'>-      case arg</div><div class='del'>-      when /\A-(.)(.*)/</div><div class='del'>-        if $1 == '-'</div><div class='del'>-          arg, @maybe_arg = arg.split(/=/, 2)</div><div class='del'>-          return arg</div><div class='del'>-        end</div><div class='del'>-        raise 'unknown switch "-"' if $2[0] == ?- and $1 != 'T'</div><div class='del'>-        if $2.size &gt; 0</div><div class='del'>-          self.unshift "-#{$2}"</div><div class='del'>-          @maybe_arg = $2</div><div class='del'>-        else</div><div class='del'>-          @maybe_arg = nil</div><div class='del'>-        end</div><div class='add'>+      if arg =~ /^-(.)(.*)/</div><div class='add'>+        return arg if $1 == '-'</div><div class='add'>+        raise 'unknown switch "-"' if $2.index('-')</div><div class='add'>+        self.unshift "-#{$2}" if $2.size &gt; 0</div><div class='ctx'>         "-#{$1}"</div><div class='del'>-      when /\A(\w+)=/</div><div class='del'>-        arg</div><div class='ctx'>       else</div><div class='ctx'>         self.unshift arg</div><div class='ctx'>         nil</div><div class='ctx'>       end</div><div class='ctx'>     end</div><div class='del'>-</div><div class='add'>+    </div><div class='ctx'>     def ARGV.req_arg</div><div class='del'>-      (@maybe_arg || self.shift || raise('missing argument')).tap {</div><div class='del'>-        @maybe_arg = nil</div><div class='del'>-      }</div><div class='add'>+      self.shift || raise('missing argument')</div><div class='ctx'>     end</div><div class='ctx'> </div><div class='ctx'>     def trim_mode_opt(trim_mode, disable_percent)</div><div class='hunk'>@@ -57,7 +44,6 @@ class ERB</div><div class='ctx'>     def run(factory=ERB)</div><div class='ctx'>       trim_mode = 0</div><div class='ctx'>       disable_percent = false</div><div class='del'>-      variables = {}</div><div class='ctx'>       begin</div><div class='ctx'>         while switch = ARGV.switch</div><div class='ctx'>           case switch</div><div class='hunk'>@@ -75,99 +61,78 @@ class ERB</div><div class='ctx'>           when '-r'                        # require</div><div class='ctx'>             require ARGV.req_arg</div><div class='ctx'>           when '-S'                        # security level</div><div class='del'>-            warn 'warning: -S option of erb command is deprecated. Please do not use this.'</div><div class='ctx'>             arg = ARGV.req_arg</div><div class='del'>-            raise "invalid safe_level #{arg.dump}" unless arg =~ /\A[0-1]\z/</div><div class='add'>+            raise "invalid safe_level #{arg.dump}" unless arg =~ /^[0-4]$/</div><div class='ctx'>             safe_level = arg.to_i</div><div class='ctx'>           when '-T'                        # trim mode</div><div class='ctx'>             arg = ARGV.req_arg</div><div class='ctx'>             if arg == '-'</div><div class='del'>-              trim_mode = arg</div><div class='add'>+              trim_mode = arg </div><div class='ctx'>               next</div><div class='ctx'>             end</div><div class='del'>-            raise "invalid trim mode #{arg.dump}" unless arg =~ /\A[0-2]\z/</div><div class='add'>+            raise "invalid trim mode #{arg.dump}" unless arg =~ /^[0-2]$/</div><div class='ctx'>             trim_mode = arg.to_i</div><div class='del'>-          when '-E', '--encoding'</div><div class='add'>+          when '-K'                        # KCODE</div><div class='ctx'>             arg = ARGV.req_arg</div><div class='del'>-            set_encoding(*arg.split(/:/, 2))</div><div class='del'>-          when '-U'</div><div class='del'>-            set_encoding(Encoding::UTF_8, Encoding::UTF_8)</div><div class='add'>+            case arg.downcase</div><div class='add'>+            when 'e', '-e', 'euc'</div><div class='add'>+              $KCODE = 'EUC'</div><div class='add'>+            when 's', '-s', 'sjis'</div><div class='add'>+              $KCODE = 'SJIS'</div><div class='add'>+            when 'u', '-u', 'utf8'</div><div class='add'>+              $KCODE = 'UTF8'</div><div class='add'>+            when 'n', '-n', 'none'</div><div class='add'>+              $KCODE = 'NONE'</div><div class='add'>+            else</div><div class='add'>+              raise "invalid KCODE #{arg.dump}"</div><div class='add'>+            end</div><div class='ctx'>           when '-P'</div><div class='ctx'>             disable_percent = true</div><div class='ctx'>           when '--help'</div><div class='ctx'>             raise "print this help"</div><div class='del'>-          when /\A-/</div><div class='del'>-            raise "unknown switch #{switch.dump}"</div><div class='ctx'>           else</div><div class='del'>-            var, val = *switch.split('=', 2)</div><div class='del'>-            (variables ||= {})[var] = val</div><div class='add'>+            raise "unknown switch #{switch.dump}"</div><div class='ctx'>           end</div><div class='ctx'>         end</div><div class='ctx'>       rescue                               # usage</div><div class='ctx'>         STDERR.puts $!.to_s</div><div class='del'>-        STDERR.puts File.basename($0) +</div><div class='del'>-          " [switches] [var=value...] [inputfile]"</div><div class='add'>+        STDERR.puts File.basename($0) + </div><div class='add'>+          " [switches] [inputfile]"</div><div class='ctx'>         STDERR.puts &lt;&lt;EOU</div><div class='ctx'>   -x               print ruby script</div><div class='ctx'>   -n               print ruby script with line number</div><div class='ctx'>   -v               enable verbose mode</div><div class='ctx'>   -d               set $DEBUG to true</div><div class='del'>-  -r library       load a library</div><div class='del'>-  -E ex[:in]       set default external/internal encodings</div><div class='del'>-  -U               set default encoding to UTF-8.</div><div class='del'>-  -T trim_mode     specify trim_mode (0..2, -)</div><div class='add'>+  -r [library]     load a library</div><div class='add'>+  -K [kcode]       specify KANJI code-set</div><div class='add'>+  -S [safe_level]  set $SAFE (0..4)</div><div class='add'>+  -T [trim_mode]   specify trim_mode (0..2, -)</div><div class='ctx'>   -P               ignore lines which start with "%"</div><div class='del'>-  var=value        set variable</div><div class='ctx'> EOU</div><div class='ctx'>         exit 1</div><div class='ctx'>       end</div><div class='ctx'> </div><div class='del'>-      $&lt;.set_encoding(Encoding::UTF_8, nil)</div><div class='ctx'>       src = $&lt;.read</div><div class='ctx'>       filename = $FILENAME</div><div class='ctx'>       exit 2 unless src</div><div class='ctx'>       trim = trim_mode_opt(trim_mode, disable_percent)</div><div class='del'>-      if safe_level.nil?</div><div class='del'>-        erb = factory.new(src.untaint, trim_mode: trim)</div><div class='del'>-      else</div><div class='del'>-        # [deprecated] This will be removed at Ruby 2.7.</div><div class='del'>-        erb = factory.new(src.untaint, safe_level, trim_mode: trim)</div><div class='del'>-      end</div><div class='add'>+      erb = factory.new(src.untaint, safe_level, trim)</div><div class='ctx'>       erb.filename = filename</div><div class='ctx'>       if output</div><div class='ctx'>         if number</div><div class='del'>-          erb.src.each_line.with_index do |line, l|</div><div class='del'>-            puts "%3d %s"%[l+1, line]</div><div class='add'>+          l = 1</div><div class='add'>+          for line in erb.src</div><div class='add'>+            puts "%3d %s"%[l, line]</div><div class='add'>+            l += 1</div><div class='ctx'>           end</div><div class='ctx'>         else</div><div class='ctx'>           puts erb.src</div><div class='ctx'>         end</div><div class='ctx'>       else</div><div class='del'>-        bind = TOPLEVEL_BINDING.taint</div><div class='del'>-        if variables</div><div class='del'>-          enc = erb.encoding</div><div class='del'>-          for var, val in variables do</div><div class='del'>-            val = val.encode(enc) if val</div><div class='del'>-            bind.local_variable_set(var, val)</div><div class='del'>-          end</div><div class='del'>-        end</div><div class='del'>-        erb.run(bind)</div><div class='add'>+        erb.run(TOPLEVEL_BINDING.taint)</div><div class='ctx'>       end</div><div class='ctx'>     end</div><div class='ctx'>     module_function :run</div><div class='del'>-</div><div class='del'>-    def set_encoding(extern, intern = nil)</div><div class='del'>-      verbose, $VERBOSE = $VERBOSE, nil</div><div class='del'>-      Encoding.default_external = extern unless extern.nil? || extern == ""</div><div class='del'>-      Encoding.default_internal = intern unless intern.nil? || intern == ""</div><div class='del'>-      [$stdin, $stdout, $stderr].each do |io|</div><div class='del'>-        io.set_encoding(extern, intern)</div><div class='del'>-      end</div><div class='del'>-    ensure</div><div class='del'>-      $VERBOSE = verbose</div><div class='del'>-    end</div><div class='del'>-    module_function :set_encoding</div><div class='del'>-    class &lt;&lt; self; private :set_encoding; end</div><div class='ctx'>   end</div><div class='ctx'> end</div><div class='ctx'> </div><div class='head'>diff --git a/bin/gem b/bin/gem<br/>deleted file mode 100755<br/>index a4ec754abb..0000000000<br/>--- a/<a href='/ruby.git/tree/bin/gem?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/gem</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,25 +0,0 @@</div><div class='del'>-#!/usr/bin/env ruby</div><div class='del'>-#--</div><div class='del'>-# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.</div><div class='del'>-# All rights reserved.</div><div class='del'>-# See LICENSE.txt for permissions.</div><div class='del'>-#++</div><div class='del'>-</div><div class='del'>-require 'rubygems'</div><div class='del'>-require 'rubygems/gem_runner'</div><div class='del'>-require 'rubygems/exceptions'</div><div class='del'>-</div><div class='del'>-required_version = Gem::Requirement.new "&gt;= 1.8.7"</div><div class='del'>-</div><div class='del'>-unless required_version.satisfied_by? Gem.ruby_version then</div><div class='del'>-  abort "Expected Ruby Version #{required_version}, is #{Gem.ruby_version}"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-args = ARGV.clone</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  Gem::GemRunner.new.run args</div><div class='del'>-rescue Gem::SystemExitException =&gt; e</div><div class='del'>-  exit e.exit_code</div><div class='del'>-end</div><div class='del'>-</div><div class='head'>diff --git a/bin/irb b/bin/irb<br/>index ae6d358c9d..f277bc4b69 100755..100644<br/>--- a/<a href='/ruby.git/tree/bin/irb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/irb</a><br/>+++ b/<a href='/ruby.git/tree/bin/irb?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bin/irb</a></div><div class='hunk'>@@ -1,27 +1,21 @@</div><div class='ctx'> #!/usr/bin/env ruby</div><div class='ctx'> #</div><div class='del'>-# This file was generated by RubyGems.</div><div class='add'>+#   irb.rb - intaractive ruby</div><div class='add'>+#   	$Release Version: 0.9.5 $</div><div class='add'>+#   	$Revision$</div><div class='add'>+#   	$Date$</div><div class='add'>+#   	by Keiju ISHITSUKA(keiju@ruby-lang.org)</div><div class='ctx'> #</div><div class='del'>-# The application 'irb' is installed as part of a gem, and</div><div class='del'>-# this file is here to facilitate running it.</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-require 'rubygems'</div><div class='del'>-</div><div class='del'>-version = "&gt;= 0.a"</div><div class='ctx'> </div><div class='del'>-str = ARGV.first</div><div class='del'>-if str</div><div class='del'>-  str = str.b[/\A_(.*)_\z/, 1]</div><div class='del'>-  if str and Gem::Version.correct?(str)</div><div class='del'>-    version = str</div><div class='del'>-    ARGV.shift</div><div class='del'>-  end</div><div class='del'>-end</div><div class='add'>+require "irb"</div><div class='ctx'> </div><div class='del'>-if Gem.respond_to?(:activate_bin_path)</div><div class='del'>-load Gem.activate_bin_path('irb', 'irb', version)</div><div class='add'>+if __FILE__ == $0</div><div class='add'>+  IRB.start(__FILE__)</div><div class='ctx'> else</div><div class='del'>-gem "irb", version</div><div class='del'>-load Gem.bin_path("irb", "irb", version)</div><div class='add'>+  # check -e option</div><div class='add'>+  if /^-e$/ =~ $0</div><div class='add'>+    IRB.start(__FILE__)</div><div class='add'>+  else</div><div class='add'>+    IRB.setup(__FILE__)</div><div class='add'>+  end</div><div class='ctx'> end</div><div class='head'>diff --git a/bin/rdoc b/bin/rdoc<br/>index 8fa948cddb..fe619137fd 100755..100644<br/>--- a/<a href='/ruby.git/tree/bin/rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/rdoc</a><br/>+++ b/<a href='/ruby.git/tree/bin/rdoc?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bin/rdoc</a></div><div class='hunk'>@@ -1,27 +1,67 @@</div><div class='ctx'> #!/usr/bin/env ruby</div><div class='ctx'> #</div><div class='del'>-# This file was generated by RubyGems.</div><div class='add'>+#  RDoc: Documentation tool for source code</div><div class='add'>+#        (see lib/rdoc/rdoc.rb for more information)</div><div class='ctx'> #</div><div class='del'>-# The application 'rdoc' is installed as part of a gem, and</div><div class='del'>-# this file is here to facilitate running it.</div><div class='add'>+#  Copyright (c) 2003 Dave Thomas</div><div class='add'>+#  Released under the same terms as Ruby</div><div class='ctx'> #</div><div class='add'>+#  $Revision$</div><div class='ctx'> </div><div class='del'>-require 'rubygems'</div><div class='add'>+## Transitional Hack ####</div><div class='add'>+#</div><div class='add'>+#  RDoc was initially distributed independently, and installed</div><div class='add'>+#  itself into &lt;prefix&gt;/lib/ruby/site_ruby/&lt;ver&gt;/rdoc...</div><div class='add'>+#</div><div class='add'>+#  Now that RDoc is part of the distribution, it's installed into</div><div class='add'>+#  &lt;prefix&gt;/lib/ruby/&lt;ver&gt;, which unfortunately appears later in the</div><div class='add'>+#  search path. This means that if you have previously installed RDoc,</div><div class='add'>+#  and then install from ruby-lang, you'll pick up the old one by</div><div class='add'>+#  default. This hack checks for the condition, and readjusts the</div><div class='add'>+#  search path if necessary.</div><div class='add'>+</div><div class='add'>+def adjust_for_existing_rdoc(path)</div><div class='add'>+  </div><div class='add'>+  $stderr.puts %{</div><div class='add'>+  It seems as if you have a previously-installed RDoc in</div><div class='add'>+  the directory #{path}.</div><div class='add'>+</div><div class='add'>+  Because this is now out-of-date, you might want to consider</div><div class='add'>+  removing the directories:</div><div class='add'>+</div><div class='add'>+    #{File.join(path, "rdoc")}</div><div class='add'>+</div><div class='add'>+  and</div><div class='ctx'> </div><div class='del'>-version = "&gt;= 0.a"</div><div class='add'>+    #{File.join(path, "markup")}</div><div class='ctx'> </div><div class='del'>-str = ARGV.first</div><div class='del'>-if str</div><div class='del'>-  str = str.b[/\A_(.*)_\z/, 1]</div><div class='del'>-  if str and Gem::Version.correct?(str)</div><div class='del'>-    version = str</div><div class='del'>-    ARGV.shift</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  # Move all the site_ruby directories to the end</div><div class='add'>+  p $:</div><div class='add'>+  $:.replace($:.partition {|path| /site_ruby/ !~ path}.flatten)</div><div class='add'>+  p $:</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$:.each do |path|</div><div class='add'>+  if /site_ruby/ =~ path </div><div class='add'>+    rdoc_path = File.join(path, 'rdoc', 'rdoc.rb')</div><div class='add'>+    if File.exists?(rdoc_path)</div><div class='add'>+      adjust_for_existing_rdoc(path)</div><div class='add'>+      break</div><div class='add'>+    end</div><div class='ctx'>   end</div><div class='ctx'> end</div><div class='ctx'> </div><div class='del'>-if Gem.respond_to?(:activate_bin_path)</div><div class='del'>-load Gem.activate_bin_path('rdoc', 'rdoc', version)</div><div class='del'>-else</div><div class='del'>-gem "rdoc", version</div><div class='del'>-load Gem.bin_path("rdoc", "rdoc", version)</div><div class='add'>+## End of Transitional Hack ##</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+require 'rdoc/rdoc'</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  r = RDoc::RDoc.new</div><div class='add'>+  r.document(ARGV)</div><div class='add'>+rescue RDoc::RDocError =&gt; e</div><div class='add'>+  $stderr.puts e.message</div><div class='add'>+  exit(1)</div><div class='ctx'> end</div><div class='head'>diff --git a/bin/ri b/bin/ri<br/>index 0cc2f73bb6..fb3e00eda3 100755<br/>--- a/<a href='/ruby.git/tree/bin/ri?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bin/ri</a><br/>+++ b/<a href='/ruby.git/tree/bin/ri?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bin/ri</a></div><div class='hunk'>@@ -1,27 +1,49 @@</div><div class='ctx'> #!/usr/bin/env ruby</div><div class='add'>+# usage:</div><div class='ctx'> #</div><div class='del'>-# This file was generated by RubyGems.</div><div class='add'>+#   ri  name...</div><div class='ctx'> #</div><div class='del'>-# The application 'rdoc' is installed as part of a gem, and</div><div class='del'>-# this file is here to facilitate running it.</div><div class='add'>+# where name can be </div><div class='ctx'> #</div><div class='add'>+#   Class | Class::method | Class#method | Class.method | method</div><div class='add'>+#</div><div class='add'>+# All names may be abbreviated to their minimum unbiguous form. If a name</div><div class='add'>+# _is_ ambiguous, all valid options will be listed.</div><div class='add'>+#</div><div class='add'>+# The form '.' method matches either class or instance methods, while </div><div class='add'>+# #method matches only instance and ::method matches only class methods.</div><div class='add'>+#</div><div class='add'>+#</div><div class='add'>+# == Installing Documentation</div><div class='add'>+#</div><div class='add'>+# 'ri' uses a database of documentation built by the RDoc utility.</div><div class='add'>+# </div><div class='add'>+# So, how do you install this documentation on your system?</div><div class='add'>+# It depends on how you installed Ruby.</div><div class='add'>+#</div><div class='add'>+# &lt;em&gt;If you installed Ruby from source files&lt;/em&gt; (that is, if it some point</div><div class='add'>+# you typed 'make' during the process :), you can install the RDoc</div><div class='add'>+# documentation yourself. Just go back to the place where you have </div><div class='add'>+# your Ruby source and type</div><div class='add'>+#</div><div class='add'>+#    make install-doc</div><div class='add'>+#</div><div class='add'>+# You'll probably need to do this as a superuser, as the documentation</div><div class='add'>+# is installed in the Ruby target tree (normally somewhere under </div><div class='add'>+# &lt;tt&gt;/usr/local&lt;/tt&gt;.</div><div class='add'>+#</div><div class='add'>+# &lt;em&gt;If you installed Ruby from a binary distribution&lt;/em&gt; (perhaps</div><div class='add'>+# using a one-click installer, or using some other packaging system),</div><div class='add'>+# then the team that produced the package probably forgot to package</div><div class='add'>+# the documentation as well. Contact them, and see if they can add</div><div class='add'>+# it to the next release.</div><div class='add'>+#</div><div class='add'>+</div><div class='ctx'> </div><div class='del'>-require 'rubygems'</div><div class='add'>+require 'rdoc/ri/ri_driver'</div><div class='ctx'> </div><div class='del'>-version = "&gt;= 0.a"</div><div class='add'>+######################################################################</div><div class='ctx'> </div><div class='del'>-str = ARGV.first</div><div class='del'>-if str</div><div class='del'>-  str = str.b[/\A_(.*)_\z/, 1]</div><div class='del'>-  if str and Gem::Version.correct?(str)</div><div class='del'>-    version = str</div><div class='del'>-    ARGV.shift</div><div class='del'>-  end</div><div class='del'>-end</div><div class='add'>+ri = RiDriver.new</div><div class='add'>+ri.process_args</div><div class='ctx'> </div><div class='del'>-if Gem.respond_to?(:activate_bin_path)</div><div class='del'>-load Gem.activate_bin_path('rdoc', 'ri', version)</div><div class='del'>-else</div><div class='del'>-gem "rdoc", version</div><div class='del'>-load Gem.bin_path("rdoc", "ri", version)</div><div class='del'>-end</div><div class='head'>diff --git a/bin/testrb b/bin/testrb<br/>new file mode 100755<br/>index 0000000000..ff49cb5466<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/testrb?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>bin/testrb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+require 'test/unit'</div><div class='add'>+(r = Test::Unit::AutoRunner.new(true)).process_args(ARGV) or</div><div class='add'>+  abort r.options.banner + " tests..."</div><div class='add'>+exit r.run</div><div class='head'>diff --git a/bootstraptest/pending.rb b/bootstraptest/pending.rb<br/>deleted file mode 100644<br/>index 744c0adac1..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/pending.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/pending.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,39 +0,0 @@</div><div class='del'>-assert_equal 'A', %q{</div><div class='del'>-  class A</div><div class='del'>-    @@a = 'A'</div><div class='del'>-    def a=(x)</div><div class='del'>-      @@a = x</div><div class='del'>-    end</div><div class='del'>-    def a</div><div class='del'>-      @@a</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  B = A.dup</div><div class='del'>-  B.new.a = 'B'</div><div class='del'>-  A.new.a</div><div class='del'>-}, '[ruby-core:17019]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def m</div><div class='del'>-    lambda{</div><div class='del'>-      proc{</div><div class='del'>-        return :ng1</div><div class='del'>-      }</div><div class='del'>-    }.call.call</div><div class='del'>-    :ng2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  begin</div><div class='del'>-    m()</div><div class='del'>-  rescue LocalJumpError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  r = Range.allocate</div><div class='del'>-  def r.&lt;=&gt;(o) true end</div><div class='del'>-  r.instance_eval { initialize r, r }</div><div class='del'>-  r.inspect</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb<br/>deleted file mode 100755<br/>index 58619fae7e..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/runner.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/runner.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,519 +0,0 @@</div><div class='del'>-"exec" "${RUBY-ruby}" "-x" "$0" "$@" || true # -*- mode: ruby; coding: utf-8 -*-</div><div class='del'>-#!./ruby</div><div class='del'>-# $Id$</div><div class='del'>-</div><div class='del'>-# NOTE:</div><div class='del'>-# Never use optparse in this file.</div><div class='del'>-# Never use test/unit in this file.</div><div class='del'>-# Never use Ruby extensions in this file.</div><div class='del'>-# Maintain Ruby 1.8 compatibility for now</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  require 'fileutils'</div><div class='del'>-  require 'tmpdir'</div><div class='del'>-rescue LoadError</div><div class='del'>-  $:.unshift File.join(File.dirname(__FILE__), '../lib')</div><div class='del'>-  retry</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-if !Dir.respond_to?(:mktmpdir)</div><div class='del'>-  # copied from lib/tmpdir.rb</div><div class='del'>-  def Dir.mktmpdir(prefix_suffix=nil, tmpdir=nil)</div><div class='del'>-    case prefix_suffix</div><div class='del'>-    when nil</div><div class='del'>-      prefix = "d"</div><div class='del'>-      suffix = ""</div><div class='del'>-    when String</div><div class='del'>-      prefix = prefix_suffix</div><div class='del'>-      suffix = ""</div><div class='del'>-    when Array</div><div class='del'>-      prefix = prefix_suffix[0]</div><div class='del'>-      suffix = prefix_suffix[1]</div><div class='del'>-    else</div><div class='del'>-      raise ArgumentError, "unexpected prefix_suffix: #{prefix_suffix.inspect}"</div><div class='del'>-    end</div><div class='del'>-    tmpdir ||= Dir.tmpdir</div><div class='del'>-    t = Time.now.strftime("%Y%m%d")</div><div class='del'>-    n = nil</div><div class='del'>-    begin</div><div class='del'>-      path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"</div><div class='del'>-      path &lt;&lt; "-#{n}" if n</div><div class='del'>-      path &lt;&lt; suffix</div><div class='del'>-      Dir.mkdir(path, 0700)</div><div class='del'>-    rescue Errno::EEXIST</div><div class='del'>-      n ||= 0</div><div class='del'>-      n += 1</div><div class='del'>-      retry</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    if block_given?</div><div class='del'>-      begin</div><div class='del'>-        yield path</div><div class='del'>-      ensure</div><div class='del'>-        FileUtils.remove_entry_secure path</div><div class='del'>-      end</div><div class='del'>-    else</div><div class='del'>-      path</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def main</div><div class='del'>-  @ruby = File.expand_path('miniruby')</div><div class='del'>-  @verbose = false</div><div class='del'>-  $VERBOSE = false</div><div class='del'>-  $stress = false</div><div class='del'>-  @color = nil</div><div class='del'>-  @tty = nil</div><div class='del'>-  @quiet = false</div><div class='del'>-  dir = nil</div><div class='del'>-  quiet = false</div><div class='del'>-  tests = nil</div><div class='del'>-  ARGV.delete_if {|arg|</div><div class='del'>-    case arg</div><div class='del'>-    when /\A--ruby=(.*)/</div><div class='del'>-      @ruby = $1</div><div class='del'>-      @ruby.gsub!(/^([^ ]*)/){File.expand_path($1)}</div><div class='del'>-      @ruby.gsub!(/(\s+-I\s*)((?!(?:\.\/)*-(?:\s|\z))\S+)/){$1+File.expand_path($2)}</div><div class='del'>-      @ruby.gsub!(/(\s+-r\s*)(\.\.?\/\S+)/){$1+File.expand_path($2)}</div><div class='del'>-      true</div><div class='del'>-    when /\A--sets=(.*)/</div><div class='del'>-      tests = Dir.glob("#{File.dirname($0)}/test_{#{$1}}*.rb").sort</div><div class='del'>-      puts tests.map {|path| File.basename(path) }.inspect</div><div class='del'>-      true</div><div class='del'>-    when /\A--dir=(.*)/</div><div class='del'>-      dir = $1</div><div class='del'>-      true</div><div class='del'>-    when /\A(--stress|-s)/</div><div class='del'>-      $stress = true</div><div class='del'>-    when /\A--color(?:=(?:always|(auto)|(never)|(.*)))?\z/</div><div class='del'>-      warn "unknown --color argument: #$3" if $3</div><div class='del'>-      @color = $1 ? nil : !$2</div><div class='del'>-      true</div><div class='del'>-    when /\A--tty(=(?:yes|(no)|(.*)))?\z/</div><div class='del'>-      warn "unknown --tty argument: #$3" if $3</div><div class='del'>-      @tty = !$1 || !$2</div><div class='del'>-      true</div><div class='del'>-    when /\A(-q|--q(uiet))\z/</div><div class='del'>-      quiet = true</div><div class='del'>-      @quiet = true</div><div class='del'>-      true</div><div class='del'>-    when /\A(-v|--v(erbose))\z/</div><div class='del'>-      @verbose = true</div><div class='del'>-    when /\A(-h|--h(elp)?)\z/</div><div class='del'>-      puts(&lt;&lt;-End)</div><div class='del'>-Usage: #{File.basename($0, '.*')} --ruby=PATH [--sets=NAME,NAME,...]</div><div class='del'>-        --sets=NAME,NAME,...        Name of test sets.</div><div class='del'>-        --dir=DIRECTORY             Working directory.</div><div class='del'>-                                    default: /tmp/bootstraptestXXXXX.tmpwd</div><div class='del'>-        --color[=WHEN]              Colorize the output.  WHEN defaults to 'always'</div><div class='del'>-                                    or can be 'never' or 'auto'.</div><div class='del'>-    -s, --stress                    stress test.</div><div class='del'>-    -v, --verbose                   Output test name before exec.</div><div class='del'>-    -q, --quiet                     Don\'t print header message.</div><div class='del'>-    -h, --help                      Print this message and quit.</div><div class='del'>-End</div><div class='del'>-      exit true</div><div class='del'>-    when /\A-j/</div><div class='del'>-      true</div><div class='del'>-    else</div><div class='del'>-      false</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  if tests and not ARGV.empty?</div><div class='del'>-    $stderr.puts "--tests and arguments are exclusive"</div><div class='del'>-    exit false</div><div class='del'>-  end</div><div class='del'>-  tests ||= ARGV</div><div class='del'>-  tests = Dir.glob("#{File.dirname($0)}/test_*.rb").sort if tests.empty?</div><div class='del'>-  pathes = tests.map {|path| File.expand_path(path) }</div><div class='del'>-</div><div class='del'>-  @progress = %w[- \\ | /]</div><div class='del'>-  @progress_bs = "\b" * @progress[0].size</div><div class='del'>-  @tty = $stderr.tty? if @tty.nil?</div><div class='del'>-  case @color</div><div class='del'>-  when nil</div><div class='del'>-    @color = @tty &amp;&amp; /dumb/ !~ ENV["TERM"]</div><div class='del'>-  end</div><div class='del'>-  @tty &amp;&amp;= !@verbose</div><div class='del'>-  if @color</div><div class='del'>-    # dircolors-like style</div><div class='del'>-    colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {}</div><div class='del'>-    begin</div><div class='del'>-      File.read(File.join(__dir__, "../test/colors")).scan(/(\w+)=([^:\n]*)/) do |n, c|</div><div class='del'>-        colors[n] ||= c</div><div class='del'>-      end</div><div class='del'>-    rescue</div><div class='del'>-    end</div><div class='del'>-    @passed = "\e[;#{colors["pass"] || "32"}m"</div><div class='del'>-    @failed = "\e[;#{colors["fail"] || "31"}m"</div><div class='del'>-    @reset = "\e[m"</div><div class='del'>-  else</div><div class='del'>-    @passed = @failed = @reset = ""</div><div class='del'>-  end</div><div class='del'>-  unless quiet</div><div class='del'>-    puts Time.now</div><div class='del'>-    if defined?(RUBY_DESCRIPTION)</div><div class='del'>-      puts "Driver is #{RUBY_DESCRIPTION}"</div><div class='del'>-    elsif defined?(RUBY_PATCHLEVEL)</div><div class='del'>-      puts "Driver is ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}#{RUBY_PLATFORM}) [#{RUBY_PLATFORM}]"</div><div class='del'>-    else</div><div class='del'>-      puts "Driver is ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"</div><div class='del'>-    end</div><div class='del'>-    puts "Target is #{`#{@ruby} -v`.chomp}"</div><div class='del'>-    puts</div><div class='del'>-    $stdout.flush</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  in_temporary_working_directory(dir) {</div><div class='del'>-    exec_test pathes</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def erase(e = true)</div><div class='del'>-  if e and @columns &gt; 0 and !@verbose</div><div class='del'>-    "\r#{" "*@columns}\r"</div><div class='del'>-  else</div><div class='del'>-    ""</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def exec_test(pathes)</div><div class='del'>-  @count = 0</div><div class='del'>-  @error = 0</div><div class='del'>-  @errbuf = []</div><div class='del'>-  @location = nil</div><div class='del'>-  @columns = 0</div><div class='del'>-  @width = pathes.map {|path| File.basename(path).size}.max + 2</div><div class='del'>-  pathes.each do |path|</div><div class='del'>-    @basename = File.basename(path)</div><div class='del'>-    $stderr.printf("%s%-*s ", erase(@quiet), @width, @basename)</div><div class='del'>-    $stderr.flush</div><div class='del'>-    @columns = @width + 1</div><div class='del'>-    $stderr.puts if @verbose</div><div class='del'>-    count = @count</div><div class='del'>-    error = @error</div><div class='del'>-    load File.expand_path(path)</div><div class='del'>-    if @tty</div><div class='del'>-      if @error == error</div><div class='del'>-        msg = "PASS #{@count-count}"</div><div class='del'>-        @columns += msg.size - 1</div><div class='del'>-        $stderr.print "#{@progress_bs}#{@passed}#{msg}#{@reset}"</div><div class='del'>-      else</div><div class='del'>-        msg = "FAIL #{@error-error}/#{@count-count}"</div><div class='del'>-        $stderr.print "#{@progress_bs}#{@failed}#{msg}#{@reset}"</div><div class='del'>-        @columns = 0</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    $stderr.puts unless @quiet and @tty and @error == error</div><div class='del'>-  end</div><div class='del'>-  $stderr.print(erase) if @quiet</div><div class='del'>-  if @error == 0</div><div class='del'>-    if @count == 0</div><div class='del'>-      $stderr.puts "No tests, no problem"</div><div class='del'>-    else</div><div class='del'>-      $stderr.puts "#{@passed}PASS#{@reset} all #{@count} tests"</div><div class='del'>-    end</div><div class='del'>-    exit true</div><div class='del'>-  else</div><div class='del'>-    @errbuf.each do |msg|</div><div class='del'>-      $stderr.puts msg</div><div class='del'>-    end</div><div class='del'>-    $stderr.puts "#{@failed}FAIL#{@reset} #{@error}/#{@count} tests failed"</div><div class='del'>-    exit false</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def show_progress(message = '')</div><div class='del'>-  if @verbose</div><div class='del'>-    $stderr.print "\##{@count} #{@location} "</div><div class='del'>-  elsif @tty</div><div class='del'>-    $stderr.print "#{@progress_bs}#{@progress[@count % @progress.size]}"</div><div class='del'>-  end</div><div class='del'>-  t = Time.now if @verbose</div><div class='del'>-  faildesc, errout = with_stderr {yield}</div><div class='del'>-  t = Time.now - t if @verbose</div><div class='del'>-  if !faildesc</div><div class='del'>-    if @tty</div><div class='del'>-      $stderr.print "#{@progress_bs}#{@progress[@count % @progress.size]}"</div><div class='del'>-    elsif @verbose</div><div class='del'>-      $stderr.printf(". %.3f\n", t)</div><div class='del'>-    else</div><div class='del'>-      $stderr.print '.'</div><div class='del'>-    end</div><div class='del'>-  else</div><div class='del'>-    $stderr.print "#{@failed}F"</div><div class='del'>-    $stderr.printf(" %.3f", t) if @verbose</div><div class='del'>-    $stderr.print "#{@reset}"</div><div class='del'>-    $stderr.puts if @verbose</div><div class='del'>-    error faildesc, message</div><div class='del'>-    unless errout.empty?</div><div class='del'>-      $stderr.print "#{@failed}stderr output is not empty#{@reset}\n", adjust_indent(errout)</div><div class='del'>-    end</div><div class='del'>-    if @tty and !@verbose</div><div class='del'>-      $stderr.printf("%-*s%s", @width, @basename, @progress[@count % @progress.size])</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-rescue Interrupt</div><div class='del'>-  $stderr.puts "\##{@count} #{@location}"</div><div class='del'>-  raise</div><div class='del'>-rescue Exception =&gt; err</div><div class='del'>-  $stderr.print 'E'</div><div class='del'>-  $stderr.puts if @verbose</div><div class='del'>-  error err.message, message</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_check(testsrc, message = '', opt = '', **argh)</div><div class='del'>-  show_progress(message) {</div><div class='del'>-    result = get_result_string(testsrc, opt, **argh)</div><div class='del'>-    check_coredump</div><div class='del'>-    yield(result)</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_equal(expected, testsrc, message = '', opt = '', **argh)</div><div class='del'>-  newtest</div><div class='del'>-  assert_check(testsrc, message, opt, **argh) {|result|</div><div class='del'>-    if expected == result</div><div class='del'>-      nil</div><div class='del'>-    else</div><div class='del'>-      desc = "#{result.inspect} (expected #{expected.inspect})"</div><div class='del'>-      pretty(testsrc, desc, result)</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_match(expected_pattern, testsrc, message = '')</div><div class='del'>-  newtest</div><div class='del'>-  assert_check(testsrc, message) {|result|</div><div class='del'>-    if expected_pattern =~ result</div><div class='del'>-      nil</div><div class='del'>-    else</div><div class='del'>-      desc = "#{expected_pattern.inspect} expected to be =~\n#{result.inspect}"</div><div class='del'>-      pretty(testsrc, desc, result)</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_not_match(unexpected_pattern, testsrc, message = '')</div><div class='del'>-  newtest</div><div class='del'>-  assert_check(testsrc, message) {|result|</div><div class='del'>-    if unexpected_pattern !~ result</div><div class='del'>-      nil</div><div class='del'>-    else</div><div class='del'>-      desc = "#{unexpected_pattern.inspect} expected to be !~\n#{result.inspect}"</div><div class='del'>-      pretty(testsrc, desc, result)</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_valid_syntax(testsrc, message = '')</div><div class='del'>-  newtest</div><div class='del'>-  assert_check(testsrc, message, '-c') {|result|</div><div class='del'>-    result if /Syntax OK/ !~ result</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_normal_exit(testsrc, *rest, timeout: nil, **opt)</div><div class='del'>-  newtest</div><div class='del'>-  message, ignore_signals = rest</div><div class='del'>-  message ||= ''</div><div class='del'>-  show_progress(message) {</div><div class='del'>-    faildesc = nil</div><div class='del'>-    filename = make_srcfile(testsrc)</div><div class='del'>-    old_stderr = $stderr.dup</div><div class='del'>-    timeout_signaled = false</div><div class='del'>-    begin</div><div class='del'>-      $stderr.reopen("assert_normal_exit.log", "w")</div><div class='del'>-      io = IO.popen("#{@ruby} -W0 #{filename}")</div><div class='del'>-      pid = io.pid</div><div class='del'>-      th = Thread.new {</div><div class='del'>-        io.read</div><div class='del'>-        io.close</div><div class='del'>-        $?</div><div class='del'>-      }</div><div class='del'>-      if !th.join(timeout)</div><div class='del'>-        Process.kill :KILL, pid</div><div class='del'>-        timeout_signaled = true</div><div class='del'>-      end</div><div class='del'>-      status = th.value</div><div class='del'>-    ensure</div><div class='del'>-      $stderr.reopen(old_stderr)</div><div class='del'>-      old_stderr.close</div><div class='del'>-    end</div><div class='del'>-    if status &amp;&amp; status.signaled?</div><div class='del'>-      signo = status.termsig</div><div class='del'>-      signame = Signal.list.invert[signo]</div><div class='del'>-      unless ignore_signals and ignore_signals.include?(signame)</div><div class='del'>-        sigdesc = "signal #{signo}"</div><div class='del'>-        if signame</div><div class='del'>-          sigdesc = "SIG#{signame} (#{sigdesc})"</div><div class='del'>-        end</div><div class='del'>-        if timeout_signaled</div><div class='del'>-          sigdesc &lt;&lt; " (timeout)"</div><div class='del'>-        end</div><div class='del'>-        faildesc = pretty(testsrc, "killed by #{sigdesc}", nil)</div><div class='del'>-        stderr_log = File.read("assert_normal_exit.log")</div><div class='del'>-        if !stderr_log.empty?</div><div class='del'>-          faildesc &lt;&lt; "\n" if /\n\z/ !~ faildesc</div><div class='del'>-          stderr_log &lt;&lt; "\n" if /\n\z/ !~ stderr_log</div><div class='del'>-          stderr_log.gsub!(/^.*\n/) { '| ' + $&amp; }</div><div class='del'>-          faildesc &lt;&lt; stderr_log</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    faildesc</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def assert_finish(timeout_seconds, testsrc, message = '')</div><div class='del'>-  timeout_seconds *= 3 if RubyVM::MJIT.enabled? # for --jit-wait</div><div class='del'>-  newtest</div><div class='del'>-  show_progress(message) {</div><div class='del'>-    faildesc = nil</div><div class='del'>-    filename = make_srcfile(testsrc)</div><div class='del'>-    io = IO.popen("#{@ruby} -W0 #{filename}")</div><div class='del'>-    pid = io.pid</div><div class='del'>-    waited = false</div><div class='del'>-    tlimit = Time.now + timeout_seconds</div><div class='del'>-    diff = timeout_seconds</div><div class='del'>-    while diff &gt; 0</div><div class='del'>-      if Process.waitpid pid, Process::WNOHANG</div><div class='del'>-        waited = true</div><div class='del'>-        break</div><div class='del'>-      end</div><div class='del'>-      if io.respond_to?(:read_nonblock)</div><div class='del'>-        if IO.select([io], nil, nil, diff)</div><div class='del'>-          begin</div><div class='del'>-            io.read_nonblock(1024)</div><div class='del'>-          rescue Errno::EAGAIN, IO::WaitReadable, EOFError</div><div class='del'>-            break</div><div class='del'>-          end while true</div><div class='del'>-        end</div><div class='del'>-      else</div><div class='del'>-        sleep 0.1</div><div class='del'>-      end</div><div class='del'>-      diff = tlimit - Time.now</div><div class='del'>-    end</div><div class='del'>-    if !waited</div><div class='del'>-      Process.kill(:KILL, pid)</div><div class='del'>-      Process.waitpid pid</div><div class='del'>-      faildesc = pretty(testsrc, "not finished in #{timeout_seconds} seconds", nil)</div><div class='del'>-    end</div><div class='del'>-    io.close</div><div class='del'>-    faildesc</div><div class='del'>-  }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def flunk(message = '')</div><div class='del'>-  newtest</div><div class='del'>-  show_progress('') { message }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def pretty(src, desc, result)</div><div class='del'>-  src = src.sub(/\A\s*\n/, '')</div><div class='del'>-  (/\n/ =~ src ? "\n#{adjust_indent(src)}" : src) + "  #=&gt; #{desc}"</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-INDENT = 27</div><div class='del'>-</div><div class='del'>-def adjust_indent(src)</div><div class='del'>-  untabify(src).gsub(/^ {#{INDENT}}/o, '').gsub(/^/, '   ').sub(/\s*\z/, "\n")</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def untabify(str)</div><div class='del'>-  str.gsub(/^\t+/) {' ' * (8 * $&amp;.size) }</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def make_srcfile(src, frozen_string_literal: nil)</div><div class='del'>-  filename = 'bootstraptest.tmp.rb'</div><div class='del'>-  File.open(filename, 'w') {|f|</div><div class='del'>-    f.puts "#frozen_string_literal:true" if frozen_string_literal</div><div class='del'>-    f.puts "GC.stress = true" if $stress</div><div class='del'>-    f.puts "print(begin; #{src}; end)"</div><div class='del'>-  }</div><div class='del'>-  filename</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def get_result_string(src, opt = '', **argh)</div><div class='del'>-  if @ruby</div><div class='del'>-    filename = make_srcfile(src, **argh)</div><div class='del'>-    begin</div><div class='del'>-      `#{@ruby} -W0 #{opt} #{filename}`</div><div class='del'>-    ensure</div><div class='del'>-      raise Interrupt if $? and $?.signaled? &amp;&amp; $?.termsig == Signal.list["INT"]</div><div class='del'>-      raise CoreDumpError, "core dumped" if $? and $?.coredump?</div><div class='del'>-    end</div><div class='del'>-  else</div><div class='del'>-    eval(src).to_s</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def with_stderr</div><div class='del'>-  out = err = nil</div><div class='del'>-  begin</div><div class='del'>-    r, w = IO.pipe</div><div class='del'>-    stderr = $stderr.dup</div><div class='del'>-    $stderr.reopen(w)</div><div class='del'>-    w.close</div><div class='del'>-    reader = Thread.start {r.read}</div><div class='del'>-    begin</div><div class='del'>-      out = yield</div><div class='del'>-    ensure</div><div class='del'>-      $stderr.reopen(stderr)</div><div class='del'>-      err = reader.value</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    w.close rescue nil</div><div class='del'>-    r.close rescue nil</div><div class='del'>-  end</div><div class='del'>-  return out, err</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def newtest</div><div class='del'>-  @location = File.basename(caller(2).first)</div><div class='del'>-  @count += 1</div><div class='del'>-  cleanup_coredump</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def error(msg, additional_message)</div><div class='del'>-  msg = "#{@failed}\##{@count} #{@location}#{@reset}: #{msg}  #{additional_message}"</div><div class='del'>-  if @tty</div><div class='del'>-    $stderr.puts "#{erase}#{msg}"</div><div class='del'>-  else</div><div class='del'>-    @errbuf.push msg</div><div class='del'>-  end</div><div class='del'>-  @error += 1</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def in_temporary_working_directory(dir)</div><div class='del'>-  if dir</div><div class='del'>-    Dir.mkdir dir</div><div class='del'>-    Dir.chdir(dir) {</div><div class='del'>-      yield</div><div class='del'>-    }</div><div class='del'>-  else</div><div class='del'>-    Dir.mktmpdir(["bootstraptest", ".tmpwd"]) {|d|</div><div class='del'>-      Dir.chdir(d) {</div><div class='del'>-        yield</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-def cleanup_coredump</div><div class='del'>-  FileUtils.rm_f 'core'</div><div class='del'>-  FileUtils.rm_f Dir.glob('core.*')</div><div class='del'>-  FileUtils.rm_f @ruby+'.stackdump' if @ruby</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-class CoreDumpError &lt; StandardError; end</div><div class='del'>-</div><div class='del'>-def check_coredump</div><div class='del'>-  if File.file?('core') or not Dir.glob('core.*').empty? or</div><div class='del'>-      (@ruby and File.exist?(@ruby+'.stackdump'))</div><div class='del'>-    raise CoreDumpError, "core dumped"</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-main</div><div class='head'>diff --git a/bootstraptest/test_attr.rb b/bootstraptest/test_attr.rb<br/>deleted file mode 100644<br/>index 721a847145..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_attr.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_attr.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,36 +0,0 @@</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  module M</div><div class='del'>-    class A</div><div class='del'>-      class &lt;&lt; self</div><div class='del'>-        attr_accessor :at</div><div class='del'>-        def workflow_rule</div><div class='del'>-          yield self</div><div class='del'>-        end</div><div class='del'>-</div><div class='del'>-        def eval_str(str)</div><div class='del'>-          eval(str)</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    M::A.eval_str(&lt;&lt;-END)</div><div class='del'>-    workflow_rule do |r|</div><div class='del'>-      r.at 1</div><div class='del'>-    end</div><div class='del'>-    END</div><div class='del'>-  rescue ArgumentError =&gt; e</div><div class='del'>-    print "ok"</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:14641]'</div><div class='del'>-</div><div class='del'>-assert_equal %{ok}, %{</div><div class='del'>-  class A</div><div class='del'>-    attr :m</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    A.new.m(3)</div><div class='del'>-  rescue ArgumentError =&gt; e</div><div class='del'>-    print "ok"</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:15120]'</div><div class='head'>diff --git a/bootstraptest/test_autoload.rb b/bootstraptest/test_autoload.rb<br/>deleted file mode 100644<br/>index a9f8e6dacd..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_autoload.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_autoload.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,70 +0,0 @@</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  File.unlink('zzz.rb') if File.file?('zzz.rb')</div><div class='del'>-  instance_eval do</div><div class='del'>-    autoload :ZZZ, './zzz.rb'</div><div class='del'>-    begin</div><div class='del'>-      ZZZ</div><div class='del'>-    rescue LoadError</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:43816]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  open('zzz.rb', 'w') {|f| f.puts '' }</div><div class='del'>-  instance_eval do</div><div class='del'>-    autoload :ZZZ, './zzz.rb'</div><div class='del'>-    begin</div><div class='del'>-      ZZZ</div><div class='del'>-    rescue NameError</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:43816]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  open('zzz.rb', 'w') {|f| f.puts 'class ZZZ; def self.ok;:ok;end;end'}</div><div class='del'>-  instance_eval do</div><div class='del'>-    autoload :ZZZ, './zzz.rb'</div><div class='del'>-    ZZZ.ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:43816]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}</div><div class='del'>-  autoload :ZZZ, "./zzz.rb"</div><div class='del'>-  ZZZ.ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}</div><div class='del'>-  autoload :ZZZ, "./zzz.rb"</div><div class='del'>-  require "./zzz.rb"</div><div class='del'>-  ZZZ.ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'okok', %q{</div><div class='del'>-  open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}</div><div class='del'>-  autoload :ZZZ, "./zzz.rb"</div><div class='del'>-  t1 = Thread.new {ZZZ.ok}</div><div class='del'>-  t2 = Thread.new {ZZZ.ok}</div><div class='del'>-  [t1.value, t2.value].join</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_finish 5, %q{</div><div class='del'>-  autoload :ZZZ, File.expand_path(__FILE__)</div><div class='del'>-  begin</div><div class='del'>-    ZZZ</div><div class='del'>-  rescue NameError</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:21696]'</div><div class='del'>-</div><div class='del'>-assert_equal 'A::C', %q{</div><div class='del'>-  open("zzz.rb", "w") {}</div><div class='del'>-  class A</div><div class='del'>-    autoload :C, "./zzz"</div><div class='del'>-    class C</div><div class='del'>-    end</div><div class='del'>-    C</div><div class='del'>-  end</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_block.rb b/bootstraptest/test_block.rb<br/>deleted file mode 100644<br/>index cdc5960a59..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_block.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_block.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,613 +0,0 @@</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  1.times{</div><div class='del'>-    begin</div><div class='del'>-      a = 1</div><div class='del'>-    ensure</div><div class='del'>-      foo = nil</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  [1,2,3].find{|x| x == 2}</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  class E</div><div class='del'>-    include Enumerable</div><div class='del'>-    def each(&amp;block)</div><div class='del'>-      [1, 2, 3].each(&amp;block)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  E.new.find {|x| x == 2 }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{6}, %q{</div><div class='del'>-  sum = 0</div><div class='del'>-  for x in [1, 2, 3]</div><div class='del'>-    sum += x</div><div class='del'>-  end</div><div class='del'>-  sum</div><div class='del'>-}</div><div class='del'>-assert_equal %q{15}, %q{</div><div class='del'>-  sum = 0</div><div class='del'>-  for x in (1..5)</div><div class='del'>-    sum += x</div><div class='del'>-  end</div><div class='del'>-  sum</div><div class='del'>-}</div><div class='del'>-assert_equal %q{0}, %q{</div><div class='del'>-  sum = 0</div><div class='del'>-  for x in []</div><div class='del'>-    sum += x</div><div class='del'>-  end</div><div class='del'>-  sum</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  ans = []</div><div class='del'>-  1.times{</div><div class='del'>-    for n in 1..3</div><div class='del'>-      a = n</div><div class='del'>-      ans &lt;&lt; a</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1..3}, %q{</div><div class='del'>-  ans = []</div><div class='del'>-  for m in 1..3</div><div class='del'>-    for n in 1..3</div><div class='del'>-      a = [m, n]</div><div class='del'>-      ans &lt;&lt; a</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, 3]}, %q{</div><div class='del'>-  (1..3).to_a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[4, 8, 12]}, %q{</div><div class='del'>-  (1..3).map{|e|</div><div class='del'>-    e * 4</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, 3]}, %q{</div><div class='del'>-  class C</div><div class='del'>-    include Enumerable</div><div class='del'>-    def each</div><div class='del'>-      [1,2,3].each{|e|</div><div class='del'>-        yield e</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  C.new.to_a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[4, 5, 6]}, %q{</div><div class='del'>-  class C</div><div class='del'>-    include Enumerable</div><div class='del'>-    def each</div><div class='del'>-      [1,2,3].each{|e|</div><div class='del'>-        yield e</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  C.new.map{|e|</div><div class='del'>-    e + 3</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{100}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  def n</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{</div><div class='del'>-    n{</div><div class='del'>-      100</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{20}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{|ib|</div><div class='del'>-    m{|jb|</div><div class='del'>-      i = 20</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{|ib|</div><div class='del'>-    m{|jb|</div><div class='del'>-      ib = 20</div><div class='del'>-      kb = 2</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{3}, %q{</div><div class='del'>-  def iter1</div><div class='del'>-    iter2{</div><div class='del'>-      yield</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def iter2</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter1{</div><div class='del'>-    jb = 2</div><div class='del'>-    iter1{</div><div class='del'>-      jb = 3</div><div class='del'>-    }</div><div class='del'>-    jb</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  def iter1</div><div class='del'>-    iter2{</div><div class='del'>-      yield</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def iter2</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter1{</div><div class='del'>-    jb = 2</div><div class='del'>-    iter1{</div><div class='del'>-      jb</div><div class='del'>-    }</div><div class='del'>-    jb</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield 1</div><div class='del'>-  end</div><div class='del'>-  m{|ib|</div><div class='del'>-    ib*2</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{92580}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield 12345, 67890</div><div class='del'>-  end</div><div class='del'>-  m{|ib,jb|</div><div class='del'>-    ib*2+jb</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[10, nil]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 10</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  a = nil</div><div class='del'>-  [iter{|a|</div><div class='del'>-    a</div><div class='del'>-  }, a]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{21}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 10</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|a|</div><div class='del'>-    iter{|a|</div><div class='del'>-      a + 1</div><div class='del'>-    } + a</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[10, 20, 30, 40, nil, nil, nil, nil]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 10, 20, 30, 40</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  a = b = c = d = nil</div><div class='del'>-  iter{|a, b, c, d|</div><div class='del'>-    [a, b, c, d]</div><div class='del'>-  } + [a, b, c, d]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[10, 20, 30, 40, nil, nil]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 10, 20, 30, 40</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  a = b = nil</div><div class='del'>-  iter{|a, b, c, d|</div><div class='del'>-    [a, b, c, d]</div><div class='del'>-  } + [a, b]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1]}, %q{</div><div class='del'>-  $a = []</div><div class='del'>-</div><div class='del'>-  def iter</div><div class='del'>-    yield 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m</div><div class='del'>-    x = iter{|x|</div><div class='del'>-      $a &lt;&lt; x</div><div class='del'>-      y = 0</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  $a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, [2]]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 1, 2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|a, *b|</div><div class='del'>-    [a, b]</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[[1, 2]]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 1, 2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|*a|</div><div class='del'>-    [a]</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, []]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 1, 2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|a, b, *c|</div><div class='del'>-    [a, b, c]</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, nil, []]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 1, 2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|a, b, c, *d|</div><div class='del'>-    [a, b, c, d]</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m{</div><div class='del'>-    1</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{15129}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield 123</div><div class='del'>-  end</div><div class='del'>-  m{|ib|</div><div class='del'>-    m{|jb|</div><div class='del'>-      ib*jb</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  def m a</div><div class='del'>-    yield a</div><div class='del'>-  end</div><div class='del'>-  m(1){|ib|</div><div class='del'>-    m(2){|jb|</div><div class='del'>-      ib*jb</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{9}, %q{</div><div class='del'>-  sum = 0</div><div class='del'>-  3.times{|ib|</div><div class='del'>-    2.times{|jb|</div><div class='del'>-      sum += ib + jb</div><div class='del'>-    }}</div><div class='del'>-  sum</div><div class='del'>-}</div><div class='del'>-assert_equal %q{10}, %q{</div><div class='del'>-  3.times{|bl|</div><div class='del'>-    break 10</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 1,2,3</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|i, j|</div><div class='del'>-    [i, j]</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, nil]}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield 1</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{|i, j|</div><div class='del'>-    [i, j]</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal '0', %q{</div><div class='del'>-def m()</div><div class='del'>-end</div><div class='del'>-m {|(v0,*,(*)),|}</div><div class='del'>-m {|(*v0,(*)),|}</div><div class='del'>-m {|(v0,*v1,(*)),|}</div><div class='del'>-m {|((v0,*v1,v2)),|}</div><div class='del'>-m {|(v0,*v1,v2),|}</div><div class='del'>-m {|(v0,*v1,(v2)),|}</div><div class='del'>-m {|((*),*v0,v1),|}</div><div class='del'>-m {|((v0),*v1,v2),|}</div><div class='del'>-m {|(v0,v1,*v2,v3),|}</div><div class='del'>-m {|v0,(v1,*v2,v3),|}</div><div class='del'>-m {|(v0,*v1,v2),v3,|}</div><div class='del'>-m {|(v0,*v1,v2)|}</div><div class='del'>-m {|(v0,*v1,v2),&amp;v3|}</div><div class='del'>-m {|(v0,*v1,v2),*|}</div><div class='del'>-m {|(v0,*v1,v2),*,&amp;v3|}</div><div class='del'>-m {|*,(v0,*v1,v2)|}</div><div class='del'>-m {|*,(v0,*v1,v2),&amp;v3|}</div><div class='del'>-m {|v0,*,(v1,*v2,v3)|}</div><div class='del'>-m {|v0,*,(v1,*v2,v3),&amp;v4|}</div><div class='del'>-m {|(v0,*v1,v2),*,v3|}</div><div class='del'>-m {|(v0,*v1,v2),*,v3,&amp;v4|}</div><div class='del'>-m {|(v0, *v1, v2)|}</div><div class='del'>-m {|(*,v)|}</div><div class='del'>-0</div><div class='del'>-}, "block parameter (shouldn't SEGV: [ruby-dev:31143])"</div><div class='del'>-</div><div class='del'>-assert_equal 'nil', %q{</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m{|&amp;b| b}.inspect</div><div class='del'>-}, '[ruby-dev:31147]'</div><div class='del'>-</div><div class='del'>-assert_equal 'nil', %q{</div><div class='del'>-  def m()</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m {|(v,(*))|}.inspect</div><div class='del'>-}, '[ruby-dev:31160]'</div><div class='del'>-</div><div class='del'>-assert_equal 'nil', %q{</div><div class='del'>-  def m()</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m {|(*,a,b)|}.inspect</div><div class='del'>-}, '[ruby-dev:31153]'</div><div class='del'>-</div><div class='del'>-assert_equal 'nil', %q{</div><div class='del'>-  def m()</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m {|((*))|}.inspect</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 1, [1, nil], [1, nil], [1, nil], [1, nil], [1, 1], 1, [1, nil], [1, nil], [1, nil], [1, nil], [[1, 1], [1, 1]], [1, 1], [1, 1], [1, 1], [1, nil], [1, nil], [[[1, 1], [1, 1]], [[1, 1], [1, 1]]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [1, 1], [1, 1], [[[[1, 1], [1, 1]], [[1, 1], [1, 1]]], [[[1, 1], [1, 1]], [[1, 1], [1, 1]]]], [[[1, 1], [1, 1]], [[1, 1], [1, 1]]], [[[1, 1], [1, 1]], [[1, 1], [1, 1]]], [[[1, 1], [1, 1]], [[1, 1], [1, 1]]], [[1, 1], [1, 1]], [[1, 1], [1, 1]]]}, %q{</div><div class='del'>-def m(ary = [])</div><div class='del'>-  yield(ary)</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-$ans = []</div><div class='del'>-o = 1</div><div class='del'>-5.times{</div><div class='del'>-  v,(*) = o; $ans &lt;&lt; o</div><div class='del'>-  m(o){|(v,(*))| $ans &lt;&lt; v}</div><div class='del'>-  ((x, y)) = o; $ans &lt;&lt; [x, y]</div><div class='del'>-  m(o){|((x, y))| $ans &lt;&lt; [x, y]}</div><div class='del'>-  (((x, y))) = o; $ans &lt;&lt; [x, y]</div><div class='del'>-  m(o){|(((x, y)))| $ans &lt;&lt; [x, y]}</div><div class='del'>-  o = [o, o]</div><div class='del'>-}; $ans</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal '0', %q{</div><div class='del'>-  def m()</div><div class='del'>-    yield [0]</div><div class='del'>-  end</div><div class='del'>-  m {|*,v| v}.inspect</div><div class='del'>-}, '[ruby-dev:31437]'</div><div class='del'>-assert_equal '[0]', %q{</div><div class='del'>-  def m</div><div class='del'>-    yield [0]</div><div class='del'>-  end</div><div class='del'>-  m{|v, &amp;b| v}.inspect</div><div class='del'>-}, '[ruby-dev:31440]'</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    lambda{|a|}.call(1, 2)</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:31464]'</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    lambda{|&amp;b|}.call(3)</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:31472]'</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    def each</div><div class='del'>-      yield [1,2]</div><div class='del'>-      yield 1,2</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  vs1 = []</div><div class='del'>-  C.new.each {|*v| vs1 &lt;&lt; v }</div><div class='del'>-  vs2 = []</div><div class='del'>-  C.new.to_enum.each {|*v| vs2 &lt;&lt; v }</div><div class='del'>-  vs1 == vs2 ? :ok : :ng</div><div class='del'>-}, '[ruby-dev:32329]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  e = [1,2,3].each</div><div class='del'>-  10000.times {</div><div class='del'>-    e = [e].each</div><div class='del'>-  }</div><div class='del'>-  Thread.new { GC.start }.join</div><div class='del'>-}, '[ruby-dev:32604]'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-assert_equal '[nil, []]', %q{</div><div class='del'>-  def m() yield nil,[] end</div><div class='del'>-  l = lambda {|*v| v}</div><div class='del'>-  GC.stress=true</div><div class='del'>-  r = m(&amp;l)</div><div class='del'>-  GC.stress=false</div><div class='del'>-  r.inspect</div><div class='del'>-}, '[ruby-dev:32567]'</div><div class='del'>-</div><div class='del'>-assert_equal NilClass.to_s, %q{</div><div class='del'>-  r = false; 1.times{|&amp;b| r = b}; r.class</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    define_method(:foo) do |arg, &amp;block|</div><div class='del'>-      if block then block.call else arg end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.foo("ng") {"ok"}</div><div class='del'>-}, '[ruby-talk:266422]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    define_method(:xyz) do |o, k, &amp;block|</div><div class='del'>-      block.call(o, k)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.xyz("o","k") {|o, k| o+k}</div><div class='del'>-}, '[ruby-core:20544]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    define_method(:xyz) do |*args, &amp;block|</div><div class='del'>-      block.call(*args)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.xyz("o","k") {|*args| args.join("")}</div><div class='del'>-}, '[ruby-core:20544]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  STDERR.reopen(STDOUT)</div><div class='del'>-  class C</div><div class='del'>-    define_method(:foo) do |&amp;block|</div><div class='del'>-      block.call if block</div><div class='del'>-    end</div><div class='del'>-    result = "ng"</div><div class='del'>-    new.foo() {result = "ok"}</div><div class='del'>-    result</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal "ok", %q{</div><div class='del'>-  class Bar</div><div class='del'>-    def bar; :ok; end</div><div class='del'>-  end</div><div class='del'>-  def foo</div><div class='del'>-    yield(Bar.new) if block_given?</div><div class='del'>-  end</div><div class='del'>-  foo(&amp;:bar)</div><div class='del'>-}, '[ruby-core:14279]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  class Controller</div><div class='del'>-    def respond_to(&amp;block)</div><div class='del'>-      responder = Responder.new</div><div class='del'>-      block.call(responder)</div><div class='del'>-      responder.respond</div><div class='del'>-    end</div><div class='del'>-    def test_for_bug</div><div class='del'>-      respond_to{|format|</div><div class='del'>-        format.js{</div><div class='del'>-          puts "in test"</div><div class='del'>-          render{|obj|</div><div class='del'>-            puts obj</div><div class='del'>-          }</div><div class='del'>-        }</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-    def render(&amp;block)</div><div class='del'>-      puts "in render"</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class Responder</div><div class='del'>-    def method_missing(symbol, &amp;block)</div><div class='del'>-      puts "enter method_missing"</div><div class='del'>-      @response = Proc.new{</div><div class='del'>-        puts 'in method missing'</div><div class='del'>-        block.call</div><div class='del'>-      }</div><div class='del'>-      puts "leave method_missing"</div><div class='del'>-    end</div><div class='del'>-    def respond</div><div class='del'>-      @response.call</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  t = Controller.new</div><div class='del'>-  t.test_for_bug</div><div class='del'>-}, '[ruby-core:14395]'</div><div class='del'>-</div><div class='del'>-assert_equal 'true', %q{</div><div class='del'>-  class C0</div><div class='del'>-    def foo</div><div class='del'>-      block_given?</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class C1 &lt; C0</div><div class='del'>-    def foo</div><div class='del'>-      super</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  C1.new.foo{}</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'true', %q{</div><div class='del'>-  class C0</div><div class='del'>-    def foo</div><div class='del'>-      block_given?</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class C1 &lt; C0</div><div class='del'>-    def foo</div><div class='del'>-      super()</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  C1.new.foo{}</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  1.times do</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue</div><div class='del'>-      begin</div><div class='del'>-        raise</div><div class='del'>-      rescue</div><div class='del'>-        break</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  'ok'</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_class.rb b/bootstraptest/test_class.rb<br/>deleted file mode 100644<br/>index b7fe0a1acd..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_class.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_class.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,169 +0,0 @@</div><div class='del'>-# class</div><div class='del'>-assert_equal 'true',    %q( class C; end</div><div class='del'>-                            Object.const_defined?(:C) )</div><div class='del'>-assert_equal 'Class',   %q( class C; end</div><div class='del'>-                            C.class )</div><div class='del'>-assert_equal 'C',       %q( class C; end</div><div class='del'>-                            C.name )</div><div class='del'>-assert_equal 'C',       %q( class C; end</div><div class='del'>-                            C.new.class )</div><div class='del'>-assert_equal 'C',       %q( class C; end</div><div class='del'>-                            C.new.class.name )</div><div class='del'>-assert_equal 'Class',   %q( class C; end</div><div class='del'>-                            C.new.class.class )</div><div class='del'>-assert_equal 'true',    %q( Object.__send__(:remove_const, :TrueClass)</div><div class='del'>-                            GC.start</div><div class='del'>-                            true.inspect)</div><div class='del'>-assert_equal 'false',   %q( Object.__send__(:remove_const, :FalseClass)</div><div class='del'>-                            GC.start</div><div class='del'>-                            false.inspect)</div><div class='del'>-assert_equal 'nil',     %q( Object.__send__(:remove_const, :NilClass)</div><div class='del'>-                            GC.start</div><div class='del'>-                            nil.inspect)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# inherited class</div><div class='del'>-assert_equal 'true',    %q( class A; end</div><div class='del'>-                            class C &lt; A; end</div><div class='del'>-                            Object.const_defined?(:C) )</div><div class='del'>-assert_equal 'Class',   %q( class A; end</div><div class='del'>-                            class C &lt; A; end</div><div class='del'>-                            C.class )</div><div class='del'>-assert_equal 'C',       %q( class A; end</div><div class='del'>-                            class C &lt; A; end</div><div class='del'>-                            C.name )</div><div class='del'>-assert_equal 'C',       %q( class A; end</div><div class='del'>-                            class C &lt; A; end</div><div class='del'>-                            C.new.class )</div><div class='del'>-assert_equal 'C',       %q( class A; end</div><div class='del'>-                            class C &lt; A; end</div><div class='del'>-                            C.new.class.name )</div><div class='del'>-assert_equal 'Class',   %q( class A; end</div><div class='del'>-                            class C &lt; A; end</div><div class='del'>-                            C.new.class.class )</div><div class='del'>-</div><div class='del'>-# module</div><div class='del'>-assert_equal 'true',    %q( module M; end</div><div class='del'>-                            Object.const_defined?(:M) )</div><div class='del'>-assert_equal 'Module',  %q( module M; end</div><div class='del'>-                            M.class )</div><div class='del'>-assert_equal 'M',       %q( module M; end</div><div class='del'>-                            M.name )</div><div class='del'>-assert_equal 'C',       %q( module M; end</div><div class='del'>-                            class C; include M; end</div><div class='del'>-                            C.new.class )</div><div class='del'>-</div><div class='del'>-# nested class</div><div class='del'>-assert_equal 'A::B',    %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            A::B )</div><div class='del'>-assert_equal 'A::B',    %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            A::B.name )</div><div class='del'>-assert_equal 'A::B',    %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            A::B.new.class )</div><div class='del'>-assert_equal 'Class',   %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            A::B.new.class.class )</div><div class='del'>-assert_equal 'A::B::C', %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B::C; end</div><div class='del'>-                            A::B::C )</div><div class='del'>-assert_equal 'A::B::C', %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B::C; end</div><div class='del'>-                            A::B::C.name )</div><div class='del'>-assert_equal 'Class',   %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B::C; end</div><div class='del'>-                            A::B::C.class )</div><div class='del'>-assert_equal 'A::B::C', %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B::C; end</div><div class='del'>-                            A::B::C.new.class )</div><div class='del'>-assert_equal 'Class',   %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B::C; end</div><div class='del'>-                            A::B::C.new.class.class )</div><div class='del'>-assert_equal 'A::B2',   %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B2 &lt; A::B; end</div><div class='del'>-                            A::B2 )</div><div class='del'>-assert_equal 'Class',   %q( class A; end</div><div class='del'>-                            class A::B; end</div><div class='del'>-                            class A::B2 &lt; A::B; end</div><div class='del'>-                            A::B2.class )</div><div class='del'>-</div><div class='del'>-# reopen</div><div class='del'>-assert_equal 'true',    %q( class C; end;  c1 = ::C</div><div class='del'>-                            class C; end;  c2 = ::C</div><div class='del'>-                            c1.equal?(c2) )</div><div class='del'>-assert_equal '1',       %q( class C; end</div><div class='del'>-                            class A; end</div><div class='del'>-                            begin class C &lt; A; end; rescue TypeError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class C; end</div><div class='del'>-                            begin module C; end; rescue TypeError; 1 end )</div><div class='del'>-assert_equal '1',       %q( C = 1   # [yarv-dev:782]</div><div class='del'>-                            begin class C; end; rescue TypeError; 1 end )</div><div class='del'>-assert_equal '1',       %q( C = 1   # [yarv-dev:800]</div><div class='del'>-                            begin module C; end; rescue TypeError; 1 end )</div><div class='del'>-</div><div class='del'>-# colon2, colon3</div><div class='del'>-assert_equal '1',       %q( class A; end;  A::C = 1;  A::C )</div><div class='del'>-assert_equal '1',       %q( A = 7;  begin A::C = 7; rescue TypeError; 1 end )</div><div class='del'>-assert_equal '1',       %q( begin 7::C = 7; rescue TypeError; 1 end )</div><div class='del'>-assert_equal 'C',       %q( class A; class ::C; end end;  C )</div><div class='del'>-assert_equal 'Class',   %q( class A; class ::C; end end;  C.class )</div><div class='del'>-assert_equal 'OK',      %q( class A; ::C = "OK"; end;  C )</div><div class='del'>-assert_equal 'String',  %q( class A; ::C = "OK"; end;  C.class )</div><div class='del'>-</div><div class='del'>-# class/module dup</div><div class='del'>-assert_equal 'Class',   %q( class C; end;  C.dup.class )</div><div class='del'>-assert_equal 'Module',  %q( module M; end;  M.dup.class )</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-assert_equal "ok", %q{</div><div class='del'>-  module Foo</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  begin</div><div class='del'>-    def foo(&amp;b)</div><div class='del'>-      Foo.module_eval &amp;b</div><div class='del'>-    end</div><div class='del'>-    foo{</div><div class='del'>-      def bar</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-    bar()</div><div class='del'>-  rescue NameError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:14378]'</div><div class='del'>-</div><div class='del'>-assert_equal '3', %q{</div><div class='del'>-  $i = 0</div><div class='del'>-  class C</div><div class='del'>-    def self.const_missing *args</div><div class='del'>-      $i+=1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  3.times{</div><div class='del'>-    C::FOO</div><div class='del'>-  }</div><div class='del'>-  $i</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_match /::C\z/, %q{</div><div class='del'>-  c = nil</div><div class='del'>-  Module.new{|m| c = class m::C; name; end}</div><div class='del'>-  c</div><div class='del'>-}, '[ruby-dev:38456]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  s = Symbol.dup</div><div class='del'>-  class &lt;&lt; s</div><div class='del'>-  end</div><div class='del'>-  s.allocate.to_s</div><div class='del'>-}, '[ruby-core:30843]'</div><div class='head'>diff --git a/bootstraptest/test_env.rb b/bootstraptest/test_env.rb<br/>deleted file mode 100644<br/>index 7d1b45b75e..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_env.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_env.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12 +0,0 @@</div><div class='del'>-assert_equal "true", %q{</div><div class='del'>-  ENV["ENVTEST"] = "\u{e9 3042 d76c}"</div><div class='del'>-  env = ENV["ENVTEST"]</div><div class='del'>-  env.valid_encoding?</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# different encoding is used for PATH</div><div class='del'>-assert_equal "true", %q{</div><div class='del'>-  ENV["PATH"] = "\u{e9 3042 d76c}"</div><div class='del'>-  env = ENV["PATH"]</div><div class='del'>-  env.valid_encoding?</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_eval.rb b/bootstraptest/test_eval.rb<br/>deleted file mode 100644<br/>index 8e90ac2728..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_eval.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_eval.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,324 +0,0 @@</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    a = :ok</div><div class='del'>-    $b = binding</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  eval('a', $b)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[:ok, :ok2]}, %q{</div><div class='del'>-  def m</div><div class='del'>-    a = :ok</div><div class='del'>-    $b = binding</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  eval('b = :ok2', $b)</div><div class='del'>-  eval('[a, b]', $b)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[nil, 1]}, %q{</div><div class='del'>-  $ans = []</div><div class='del'>-  def m</div><div class='del'>-    $b = binding</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  $ans &lt;&lt; eval(%q{</div><div class='del'>-    $ans &lt;&lt; eval(%q{</div><div class='del'>-      a</div><div class='del'>-    }, $b)</div><div class='del'>-    a = 1</div><div class='del'>-  }, $b)</div><div class='del'>-  $ans</div><div class='del'>-}</div><div class='del'>-assert_equal %q{C}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-    def m</div><div class='del'>-      binding</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  eval('Const', C.new.m)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{top}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  a = 1</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-    def m</div><div class='del'>-      eval('Const', TOPLEVEL_BINDING)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{:ok</div><div class='del'>-ok}, %q{</div><div class='del'>-  class C</div><div class='del'>-    $b = binding</div><div class='del'>-  end</div><div class='del'>-  eval %q{</div><div class='del'>-    def m</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  }, $b</div><div class='del'>-  p C.new.m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  b = proc{</div><div class='del'>-    a = :ok</div><div class='del'>-    binding</div><div class='del'>-  }.call</div><div class='del'>-  a = :ng</div><div class='del'>-  eval("a", b)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{C}, %q{</div><div class='del'>-  class C</div><div class='del'>-    def foo</div><div class='del'>-      binding</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.foo.eval("self.class.to_s")</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  eval('1')</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  eval('a=1; a')</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  a = 1</div><div class='del'>-  eval('a')</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  __send__ :eval, %{</div><div class='del'>-    :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  1.__send__ :instance_eval, %{</div><div class='del'>-    :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  1.instance_eval{</div><div class='del'>-    self</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{foo}, %q{</div><div class='del'>-  'foo'.instance_eval{</div><div class='del'>-    self</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  class Integer</div><div class='del'>-    Const = 1</div><div class='del'>-  end</div><div class='del'>-  1.instance_eval %{</div><div class='del'>-    Const</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{top}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-  end</div><div class='del'>-  C.module_eval{</div><div class='del'>-    Const</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{C}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-  end</div><div class='del'>-  C.class_eval %{</div><div class='del'>-    def m</div><div class='del'>-      Const</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  C.new.m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{top}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-  end</div><div class='del'>-  C.class_eval{</div><div class='del'>-    def m</div><div class='del'>-      Const</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  C.new.m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[:top, :C, :top, :C]}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-  end</div><div class='del'>-  $nest = false</div><div class='del'>-  $ans = []</div><div class='del'>-  def m</div><div class='del'>-    $ans &lt;&lt; Const</div><div class='del'>-    C.module_eval %{</div><div class='del'>-      $ans &lt;&lt; Const</div><div class='del'>-      Boo = false unless defined? Boo</div><div class='del'>-      unless $nest</div><div class='del'>-        $nest = true</div><div class='del'>-        m</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  $ans</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[10, main]}, %q{</div><div class='del'>-  $nested = false</div><div class='del'>-  $ans = []</div><div class='del'>-  $pr = proc{</div><div class='del'>-    $ans &lt;&lt; self</div><div class='del'>-    unless $nested</div><div class='del'>-      $nested = true</div><div class='del'>-      $pr.call</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  class C</div><div class='del'>-    def initialize &amp;b</div><div class='del'>-      10.instance_eval(&amp;b)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new(&amp;$pr)</div><div class='del'>-  $ans</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-%w[break next redo].each do |keyword|</div><div class='del'>-  assert_match %r"Can't escape from eval with #{keyword}\z", %{</div><div class='del'>-    begin</div><div class='del'>-      eval "0 rescue #{keyword}"</div><div class='del'>-    rescue SyntaxError =&gt; e</div><div class='del'>-      e.message</div><div class='del'>-    end</div><div class='del'>-  }, '[ruby-dev:31372]'</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  STDERR.reopen(STDOUT)</div><div class='del'>-  class Foo</div><div class='del'>-     def self.add_method</div><div class='del'>-       class_eval("def some-bad-name; puts 'hello' unless @some_variable.some_function(''); end")</div><div class='del'>-     end</div><div class='del'>-  end</div><div class='del'>-  Foo.add_method</div><div class='del'>-}, '[ruby-core:14556] reported by Frederick Cheung'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class Module</div><div class='del'>-    def my_module_eval(&amp;block)</div><div class='del'>-      module_eval(&amp;block)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  class String</div><div class='del'>-    Integer.my_module_eval do</div><div class='del'>-      def hoge; end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  if Integer.instance_methods(false).map{|m|m.to_sym}.include?(:hoge) &amp;&amp;</div><div class='del'>-     !String.instance_methods(false).map{|m|m.to_sym}.include?(:hoge)</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}, "[ruby-dev:34236]"</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    eval("class nil::Foo; end")</div><div class='del'>-    :ng</div><div class='del'>-  rescue Exception</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    0.instance_eval { def m() :m end }</div><div class='del'>-    1.m</div><div class='del'>-    :ng</div><div class='del'>-  rescue Exception</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:34579]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    12.instance_eval { @@a }</div><div class='del'>-  rescue NameError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:16794]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    12.instance_exec { @@a }</div><div class='del'>-  rescue NameError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:16794]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  nil.instance_eval {</div><div class='del'>-    def defd_using_instance_eval() :ok end</div><div class='del'>-  }</div><div class='del'>-  nil.defd_using_instance_eval</div><div class='del'>-}, '[ruby-core:28324]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  nil.instance_exec {</div><div class='del'>-    def defd_using_instance_exec() :ok end</div><div class='del'>-  }</div><div class='del'>-  nil.defd_using_instance_exec</div><div class='del'>-}, '[ruby-core:28324]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  eval("", method(:proc).call {}.binding)</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal "", %q{</div><div class='del'>-  b = binding</div><div class='del'>-  10.times{</div><div class='del'>-    eval('', b)</div><div class='del'>-  }</div><div class='del'>-  begin</div><div class='del'>-    eval('1.times{raise}', b)</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e.message</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:35392]'</div><div class='del'>-</div><div class='del'>-assert_equal "[:x]", %q{</div><div class='del'>-  def kaboom!</div><div class='del'>-    yield.eval("local_variables")</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  for x in enum_for(:kaboom!)</div><div class='del'>-    binding</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:25125]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  hash = {}</div><div class='del'>-  ("aaaa".."matz").each_with_index do |s, i|</div><div class='del'>-    hash[s] = i</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    eval "class C; @@h = #{hash.inspect}; end"</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:25714]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  begin</div><div class='del'>-    eval("# encoding:utf-16le\nfoo")</div><div class='del'>-  rescue Exception =&gt; e</div><div class='del'>-    p e</div><div class='del'>-    RubyVM::InstructionSequence.compile("p:hello")</div><div class='del'>-  end</div><div class='del'>-}, 'check escaping the internal value th-&gt;base_block'</div><div class='del'>-</div><div class='head'>diff --git a/bootstraptest/test_exception.rb b/bootstraptest/test_exception.rb<br/>deleted file mode 100644<br/>index 0fb6f552b8..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_exception.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_exception.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,432 +0,0 @@</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1+1</div><div class='del'>-  ensure</div><div class='del'>-    2+2</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{4}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1+1</div><div class='del'>-    begin</div><div class='del'>-      2+2</div><div class='del'>-    ensure</div><div class='del'>-      3+3</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    4+4</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{4}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1+1</div><div class='del'>-    begin</div><div class='del'>-      2+2</div><div class='del'>-    ensure</div><div class='del'>-      3+3</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    4+4</div><div class='del'>-    begin</div><div class='del'>-      5+5</div><div class='del'>-    ensure</div><div class='del'>-      6+6</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{NilClass}, %q{</div><div class='del'>-  a = nil</div><div class='del'>-  1.times{|e|</div><div class='del'>-    begin</div><div class='del'>-    rescue =&gt; err</div><div class='del'>-    end</div><div class='del'>-    a = err.class</div><div class='del'>-  }</div><div class='del'>-  a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{RuntimeError}, %q{</div><div class='del'>-  a = nil</div><div class='del'>-  1.times{|e|</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue =&gt; err</div><div class='del'>-    end</div><div class='del'>-    a = err.class</div><div class='del'>-  }</div><div class='del'>-  a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  $!</div><div class='del'>-}</div><div class='del'>-assert_equal %q{FOO}, %q{</div><div class='del'>-  begin</div><div class='del'>-    raise "FOO"</div><div class='del'>-  rescue</div><div class='del'>-    $!</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{FOO}, %q{</div><div class='del'>-  def m</div><div class='del'>-    $!</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    raise "FOO"</div><div class='del'>-  rescue</div><div class='del'>-    m()</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[#&lt;RuntimeError: BAR&gt;, #&lt;RuntimeError: FOO&gt;]}, %q{</div><div class='del'>-  $ans = []</div><div class='del'>-  def m</div><div class='del'>-    $!</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    raise "FOO"</div><div class='del'>-  rescue</div><div class='del'>-    begin</div><div class='del'>-      raise "BAR"</div><div class='del'>-    rescue</div><div class='del'>-      $ans &lt;&lt; m()</div><div class='del'>-    end</div><div class='del'>-    $ans &lt;&lt; m()</div><div class='del'>-  end</div><div class='del'>-  $ans</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[#&lt;RuntimeError: FOO&gt;, #&lt;RuntimeError: FOO&gt;]}, %q{</div><div class='del'>-  $ans = []</div><div class='del'>-  def m</div><div class='del'>-    $!</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  begin</div><div class='del'>-    begin</div><div class='del'>-      raise "FOO"</div><div class='del'>-    ensure</div><div class='del'>-      $ans &lt;&lt; m()</div><div class='del'>-    end</div><div class='del'>-  rescue</div><div class='del'>-    $ans &lt;&lt; m()</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[nil]}, %q{</div><div class='del'>-  $ans = []</div><div class='del'>-  def m</div><div class='del'>-    $!</div><div class='del'>-  end</div><div class='del'>-  def m2</div><div class='del'>-    1.times{</div><div class='del'>-      begin</div><div class='del'>-        return</div><div class='del'>-      ensure</div><div class='del'>-        $ans &lt;&lt; m</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-  m2</div><div class='del'>-  $ans</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  begin</div><div class='del'>-    raise</div><div class='del'>-  rescue</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  begin</div><div class='del'>-    raise</div><div class='del'>-  rescue</div><div class='del'>-    :ok</div><div class='del'>-  ensure</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{RuntimeError}, %q{</div><div class='del'>-  begin</div><div class='del'>-    raise</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e.class</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ng}, %q{</div><div class='del'>-  begin</div><div class='del'>-    raise</div><div class='del'>-  rescue StandardError</div><div class='del'>-    :ng</div><div class='del'>-  rescue Exception</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{c}, %q{</div><div class='del'>-  begin</div><div class='del'>-    begin</div><div class='del'>-      raise "a"</div><div class='del'>-    rescue</div><div class='del'>-      raise "b"</div><div class='del'>-    ensure</div><div class='del'>-      raise "c"</div><div class='del'>-    end</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e.message</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{33}, %q{</div><div class='del'>-  def m a, b</div><div class='del'>-    a + b</div><div class='del'>-  end</div><div class='del'>-  m(1, begin</div><div class='del'>-         raise</div><div class='del'>-       rescue</div><div class='del'>-         2</div><div class='del'>-       end) +</div><div class='del'>-  m(10, begin</div><div class='del'>-         raise</div><div class='del'>-       rescue</div><div class='del'>-         20</div><div class='del'>-       ensure</div><div class='del'>-         30</div><div class='del'>-       end)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{3}, %q{</div><div class='del'>-  def m a, b</div><div class='del'>-    a + b</div><div class='del'>-  end</div><div class='del'>-  m(begin</div><div class='del'>-      raise</div><div class='del'>-    rescue</div><div class='del'>-      1</div><div class='del'>-    end,</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue</div><div class='del'>-      2</div><div class='del'>-    end)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok3}, %q{</div><div class='del'>-  class E1 &lt; Exception</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  begin</div><div class='del'>-    begin</div><div class='del'>-      begin</div><div class='del'>-        m{</div><div class='del'>-          raise</div><div class='del'>-        }</div><div class='del'>-      rescue E1</div><div class='del'>-        :ok2</div><div class='del'>-      ensure</div><div class='del'>-      end</div><div class='del'>-    rescue</div><div class='del'>-      :ok3</div><div class='del'>-    ensure</div><div class='del'>-    end</div><div class='del'>-  rescue E1</div><div class='del'>-    :ok</div><div class='del'>-  ensure</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{7}, %q{</div><div class='del'>-  $i = 0</div><div class='del'>-  def m</div><div class='del'>-    iter{</div><div class='del'>-      begin</div><div class='del'>-        $i += 1</div><div class='del'>-        begin</div><div class='del'>-          $i += 2</div><div class='del'>-          break</div><div class='del'>-        ensure</div><div class='del'>-</div><div class='del'>-        end</div><div class='del'>-      ensure</div><div class='del'>-        $i += 4</div><div class='del'>-      end</div><div class='del'>-      $i = 0</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def iter</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  $i</div><div class='del'>-}</div><div class='del'>-assert_equal %q{10}, %q{</div><div class='del'>-  $i = 0</div><div class='del'>-  def m</div><div class='del'>-    begin</div><div class='del'>-      $i += 1</div><div class='del'>-      begin</div><div class='del'>-        $i += 2</div><div class='del'>-        return</div><div class='del'>-      ensure</div><div class='del'>-        $i += 3</div><div class='del'>-      end</div><div class='del'>-    ensure</div><div class='del'>-      $i += 4</div><div class='del'>-    end</div><div class='del'>-    p :end</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  $i</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1</div><div class='del'>-  rescue</div><div class='del'>-    2</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{4}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1</div><div class='del'>-    begin</div><div class='del'>-      2</div><div class='del'>-    rescue</div><div class='del'>-      3</div><div class='del'>-    end</div><div class='del'>-    4</div><div class='del'>-  rescue</div><div class='del'>-    5</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{3}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1</div><div class='del'>-  rescue</div><div class='del'>-    2</div><div class='del'>-  else</div><div class='del'>-    3</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1+1</div><div class='del'>-  rescue</div><div class='del'>-    2+2</div><div class='del'>-  ensure</div><div class='del'>-    3+3</div><div class='del'>-  end</div><div class='del'>-   }</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1+1</div><div class='del'>-  rescue</div><div class='del'>-    2+2</div><div class='del'>-  ensure</div><div class='del'>-    3+3</div><div class='del'>-  end</div><div class='del'>-   }</div><div class='del'>-assert_equal %q{6}, %q{</div><div class='del'>-  begin</div><div class='del'>-    1+1</div><div class='del'>-  rescue</div><div class='del'>-    2+2</div><div class='del'>-  else</div><div class='del'>-    3+3</div><div class='del'>-  ensure</div><div class='del'>-    4+4</div><div class='del'>-  end</div><div class='del'>-   }</div><div class='del'>-assert_equal %q{12}, %q{</div><div class='del'>- begin</div><div class='del'>-   1+1</div><div class='del'>-   begin</div><div class='del'>-     2+2</div><div class='del'>-   rescue</div><div class='del'>-     3+3</div><div class='del'>-   else</div><div class='del'>-     4+4</div><div class='del'>-   end</div><div class='del'>- rescue</div><div class='del'>-   5+5</div><div class='del'>- else</div><div class='del'>-   6+6</div><div class='del'>- ensure</div><div class='del'>-   7+7</div><div class='del'>- end</div><div class='del'>-   }</div><div class='del'>-assert_equal %q{ok}, %q{ #</div><div class='del'>-  proc{</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-      break</div><div class='del'>-    rescue</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  }.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  proc do</div><div class='del'>-    begin</div><div class='del'>-      raise StandardError</div><div class='del'>-      redo</div><div class='del'>-    rescue StandardError</div><div class='del'>-    end</div><div class='del'>-  end.call</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-##</div><div class='del'>-assert_match /undefined method `foo\'/, %q{#`</div><div class='del'>-  STDERR.reopen(STDOUT)</div><div class='del'>-  class C</div><div class='del'>-    def inspect</div><div class='del'>-      bar {}</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def bar</div><div class='del'>-      raise</div><div class='del'>-    ensure</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.foo</div><div class='del'>-}, "[ruby-dev:31407]"</div><div class='del'>-</div><div class='del'>-assert_equal 'nil', %q{</div><div class='del'>-  doit = false</div><div class='del'>-  exc = nil</div><div class='del'>-  t = Thread.new {</div><div class='del'>-    begin</div><div class='del'>-      doit = true</div><div class='del'>-      sleep 10</div><div class='del'>-    ensure</div><div class='del'>-      exc = $!</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  Thread.pass until doit</div><div class='del'>-  t.kill</div><div class='del'>-  t.join</div><div class='del'>-  exc.inspect</div><div class='del'>-}, '[ruby-dev:32608]'</div><div class='del'>-</div><div class='del'>-assert_equal 'divided by 0', %q{</div><div class='del'>-  class ZeroDivisionError</div><div class='del'>-    def self.new(message)</div><div class='del'>-      42</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    1/0</div><div class='del'>-  rescue Exception =&gt; e</div><div class='del'>-    e.message</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:24767]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    def ===(o)</div><div class='del'>-      true</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue C.new</div><div class='del'>-    end</div><div class='del'>-  rescue TypeError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_finalizer.rb b/bootstraptest/test_finalizer.rb<br/>deleted file mode 100644<br/>index 22a16b1220..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_finalizer.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_finalizer.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,8 +0,0 @@</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-a1,a2,b1,b2=Array.new(4){""}</div><div class='del'>-ObjectSpace.define_finalizer(b2,proc{})</div><div class='del'>-ObjectSpace.define_finalizer(b1,proc{b1.inspect})</div><div class='del'>-</div><div class='del'>-ObjectSpace.define_finalizer(a2,proc{a1.inspect})</div><div class='del'>-ObjectSpace.define_finalizer(a1,proc{})</div><div class='del'>-}, '[ruby-dev:35778]'</div><div class='head'>diff --git a/bootstraptest/test_flip.rb b/bootstraptest/test_flip.rb<br/>deleted file mode 100644<br/>index ff194868b2..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_flip.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_flip.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1 +0,0 @@</div><div class='del'>-assert_equal %q{E}, %q{$_ = "E"; eval("nil if true..~/^E/",nil,"-e"); $_}</div><div class='head'>diff --git a/bootstraptest/test_flow.rb b/bootstraptest/test_flow.rb<br/>deleted file mode 100644<br/>index 9da6d45cbd..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_flow.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_flow.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,601 +0,0 @@</div><div class='del'>-assert_equal %q{[1, 2, 4, 5, 6, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each{; $a &lt;&lt; 2</div><div class='del'>-    break; $a &lt;&lt; 3</div><div class='del'>-  }; $a &lt;&lt; 4</div><div class='del'>-  begin; $a &lt;&lt; 5</div><div class='del'>-  ensure; $a &lt;&lt; 6</div><div class='del'>-  end; $a &lt;&lt; 7</div><div class='del'>-; $a &lt;&lt; 8</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 6, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  begin; $a &lt;&lt; 2</div><div class='del'>-    [1,2].each do; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    end; $a &lt;&lt; 5</div><div class='del'>-  ensure; $a &lt;&lt; 6</div><div class='del'>-  end; $a &lt;&lt; 7</div><div class='del'>-; $a &lt;&lt; 8</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ["a"].inject("ng"){|x,y|</div><div class='del'>-    break :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  unless ''.respond_to? :lines</div><div class='del'>-    class String</div><div class='del'>-      def lines</div><div class='del'>-        self</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  ('a').lines.map{|e|</div><div class='del'>-    break :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, 4, 5]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  ["a"].inject("ng"){|x,y|; $a &lt;&lt; 2</div><div class='del'>-    break :ok; $a &lt;&lt; 3</div><div class='del'>-  }; $a &lt;&lt; 4</div><div class='del'>-; $a &lt;&lt; 5</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 4, 5]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  ('a'..'b').map{|e|; $a &lt;&lt; 2</div><div class='del'>-    break :ok; $a &lt;&lt; 3</div><div class='del'>-  }; $a &lt;&lt; 4</div><div class='del'>-; $a &lt;&lt; 5</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each do; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-    end; $a &lt;&lt; 6</div><div class='del'>-  end; $a &lt;&lt; 7</div><div class='del'>-; $a &lt;&lt; 8</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 6, 9, 10]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i=0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    begin; $a &lt;&lt; 5</div><div class='del'>-    ensure; $a &lt;&lt; 6</div><div class='del'>-      break; $a &lt;&lt; 7</div><div class='del'>-    end; $a &lt;&lt; 8</div><div class='del'>-  end; $a &lt;&lt; 9</div><div class='del'>-; $a &lt;&lt; 10</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 7, 10, 11]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i=0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    begin; $a &lt;&lt; 5</div><div class='del'>-      raise; $a &lt;&lt; 6</div><div class='del'>-    ensure; $a &lt;&lt; 7</div><div class='del'>-      break; $a &lt;&lt; 8</div><div class='del'>-    end; $a &lt;&lt; 9</div><div class='del'>-  end; $a &lt;&lt; 10</div><div class='del'>-; $a &lt;&lt; 11</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 7, 10, 11]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i=0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    begin; $a &lt;&lt; 5</div><div class='del'>-      raise; $a &lt;&lt; 6</div><div class='del'>-    rescue; $a &lt;&lt; 7</div><div class='del'>-      break; $a &lt;&lt; 8</div><div class='del'>-    end; $a &lt;&lt; 9</div><div class='del'>-  end; $a &lt;&lt; 10</div><div class='del'>-; $a &lt;&lt; 11</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each do; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      raise StandardError; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-      break; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each do; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      raise StandardError; $a &lt;&lt; 4</div><div class='del'>-    rescue; $a &lt;&lt; 5</div><div class='del'>-      break; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 6, 8, 10, 11]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each do; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      begin; $a &lt;&lt; 4</div><div class='del'>-        break; $a &lt;&lt; 5</div><div class='del'>-      ensure; $a &lt;&lt; 6</div><div class='del'>-      end; $a &lt;&lt; 7</div><div class='del'>-    ensure; $a &lt;&lt; 8</div><div class='del'>-    end; $a &lt;&lt; 9</div><div class='del'>-  end; $a &lt;&lt; 10</div><div class='del'>-; $a &lt;&lt; 11</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 3, 4, 5, 6, 7, 8, 10, 13, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i = 0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    j = 0; $a &lt;&lt; 5</div><div class='del'>-    while j&lt;3; $a &lt;&lt; 6</div><div class='del'>-      j+=1; $a &lt;&lt; 7</div><div class='del'>-      begin; $a &lt;&lt; 8</div><div class='del'>-        raise; $a &lt;&lt; 9</div><div class='del'>-      rescue; $a &lt;&lt; 10</div><div class='del'>-        break; $a &lt;&lt; 11</div><div class='del'>-      end; $a &lt;&lt; 12</div><div class='del'>-    end; $a &lt;&lt; 13</div><div class='del'>-  end; $a &lt;&lt; 14</div><div class='del'>-; $a &lt;&lt; 15</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 15, 3, 4, 5, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 15, 3, 4, 5, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 15, 16, 17]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i = 0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    j = 0; $a &lt;&lt; 5</div><div class='del'>-    while j&lt;3; $a &lt;&lt; 6</div><div class='del'>-      j+=1; $a &lt;&lt; 7</div><div class='del'>-      1.times{; $a &lt;&lt; 8</div><div class='del'>-        begin; $a &lt;&lt; 9</div><div class='del'>-          raise; $a &lt;&lt; 10</div><div class='del'>-        rescue; $a &lt;&lt; 11</div><div class='del'>-          break; $a &lt;&lt; 12</div><div class='del'>-        end; $a &lt;&lt; 13</div><div class='del'>-      }; $a &lt;&lt; 14</div><div class='del'>-    end; $a &lt;&lt; 15</div><div class='del'>-  end; $a &lt;&lt; 16</div><div class='del'>-; $a &lt;&lt; 17</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 3, 4, 5, 6, 7, 8, 10, 13, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i = 0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    j = 0; $a &lt;&lt; 5</div><div class='del'>-    while j&lt;3; $a &lt;&lt; 6</div><div class='del'>-      j+=1; $a &lt;&lt; 7</div><div class='del'>-      begin; $a &lt;&lt; 8</div><div class='del'>-        raise; $a &lt;&lt; 9</div><div class='del'>-      ensure; $a &lt;&lt; 10</div><div class='del'>-        break; $a &lt;&lt; 11</div><div class='del'>-      end; $a &lt;&lt; 12</div><div class='del'>-    end; $a &lt;&lt; 13</div><div class='del'>-  end; $a &lt;&lt; 14</div><div class='del'>-; $a &lt;&lt; 15</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 15, 3, 4, 5, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 15, 3, 4, 5, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 6, 7, 8, 9, 11, 14, 15, 16, 17]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i = 0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    j = 0; $a &lt;&lt; 5</div><div class='del'>-    while j&lt;3; $a &lt;&lt; 6</div><div class='del'>-      j+=1; $a &lt;&lt; 7</div><div class='del'>-      1.times{; $a &lt;&lt; 8</div><div class='del'>-        begin; $a &lt;&lt; 9</div><div class='del'>-          raise; $a &lt;&lt; 10</div><div class='del'>-        ensure; $a &lt;&lt; 11</div><div class='del'>-          break; $a &lt;&lt; 12</div><div class='del'>-        end; $a &lt;&lt; 13</div><div class='del'>-      }; $a &lt;&lt; 14</div><div class='del'>-    end; $a &lt;&lt; 15</div><div class='del'>-  end; $a &lt;&lt; 16</div><div class='del'>-; $a &lt;&lt; 17</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  while true; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-      break; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 99]}, %q{</div><div class='del'>-$a = [];</div><div class='del'>-begin; ; $a &lt;&lt; 1</div><div class='del'>-  while true; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-      raise; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 6, 8, 9, 10, 11]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  begin; $a &lt;&lt; 2</div><div class='del'>-    [1,2].each do; $a &lt;&lt; 3</div><div class='del'>-      begin; $a &lt;&lt; 4</div><div class='del'>-        break; $a &lt;&lt; 5</div><div class='del'>-      ensure; $a &lt;&lt; 6</div><div class='del'>-      end; $a &lt;&lt; 7</div><div class='del'>-    end; $a &lt;&lt; 8</div><div class='del'>-  ensure; $a &lt;&lt; 9</div><div class='del'>-  end; $a &lt;&lt; 10</div><div class='del'>-; $a &lt;&lt; 11</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 4, 99]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  begin; $a &lt;&lt; 2</div><div class='del'>-    raise StandardError; $a &lt;&lt; 3</div><div class='del'>-  ensure; $a &lt;&lt; 4</div><div class='del'>-  end; $a &lt;&lt; 5</div><div class='del'>-; $a &lt;&lt; 6</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  begin; $a &lt;&lt; 2</div><div class='del'>-  ensure; $a &lt;&lt; 3</div><div class='del'>-  end ; $a &lt;&lt; 4</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 99]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each do; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-      raise StandardError; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{3}, %q{</div><div class='del'>-  def m a, b</div><div class='del'>-    a + b</div><div class='del'>-  end</div><div class='del'>-  m(1,</div><div class='del'>-    while true</div><div class='del'>-      break 2</div><div class='del'>-    end</div><div class='del'>-    )</div><div class='del'>-}</div><div class='del'>-assert_equal %q{4}, %q{</div><div class='del'>-  def m a, b</div><div class='del'>-    a + b</div><div class='del'>-  end</div><div class='del'>-  m(1,</div><div class='del'>-    (i=0; while i&lt;2</div><div class='del'>-       i+=1</div><div class='del'>-       class C</div><div class='del'>-         next 2</div><div class='del'>-       end</div><div class='del'>-     end; 3)</div><div class='del'>-    )</div><div class='del'>-}</div><div class='del'>-assert_equal %q{34}, %q{</div><div class='del'>-  def m a, b</div><div class='del'>-    a+b</div><div class='del'>-  end</div><div class='del'>-  m(1, 1.times{break 3}) +</div><div class='del'>-  m(10, (1.times{next 3}; 20))</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, 3, 6, 7]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  3.times{; $a &lt;&lt; 2</div><div class='del'>-    class C; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    end; $a &lt;&lt; 5</div><div class='del'>-  }; $a &lt;&lt; 6</div><div class='del'>-; $a &lt;&lt; 7</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  3.times{; $a &lt;&lt; 2</div><div class='del'>-    class A; $a &lt;&lt; 3</div><div class='del'>-      class B; $a &lt;&lt; 4</div><div class='del'>-        break; $a &lt;&lt; 5</div><div class='del'>-      end; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  }; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 2, 3, 2, 3, 6, 7]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  3.times{; $a &lt;&lt; 2</div><div class='del'>-    class C; $a &lt;&lt; 3</div><div class='del'>-      next; $a &lt;&lt; 4</div><div class='del'>-    end; $a &lt;&lt; 5</div><div class='del'>-  }; $a &lt;&lt; 6</div><div class='del'>-; $a &lt;&lt; 7</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 2, 3, 4, 2, 3, 4, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  3.times{; $a &lt;&lt; 2</div><div class='del'>-    class C; $a &lt;&lt; 3</div><div class='del'>-      class D; $a &lt;&lt; 4</div><div class='del'>-        next; $a &lt;&lt; 5</div><div class='del'>-      end; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  }; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 6, 7]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  while true; $a &lt;&lt; 2</div><div class='del'>-    class C; $a &lt;&lt; 3</div><div class='del'>-      break; $a &lt;&lt; 4</div><div class='del'>-    end; $a &lt;&lt; 5</div><div class='del'>-  end; $a &lt;&lt; 6</div><div class='del'>-; $a &lt;&lt; 7</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  while true; $a &lt;&lt; 2</div><div class='del'>-    class C; $a &lt;&lt; 3</div><div class='del'>-      class D; $a &lt;&lt; 4</div><div class='del'>-        break; $a &lt;&lt; 5</div><div class='del'>-      end; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, 5, 3, 4, 5, 3, 4, 5, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  i=0; $a &lt;&lt; 2</div><div class='del'>-  while i&lt;3; $a &lt;&lt; 3</div><div class='del'>-    i+=1; $a &lt;&lt; 4</div><div class='del'>-    class C; $a &lt;&lt; 5</div><div class='del'>-      next 10; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  1.times{</div><div class='del'>-    while true</div><div class='del'>-      class C</div><div class='del'>-        begin</div><div class='del'>-          break</div><div class='del'>-        ensure</div><div class='del'>-          break</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2, 3, 5, 2, 3, 5, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  [1,2].each do; $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      next; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-    end; $a &lt;&lt; 6</div><div class='del'>-  end; $a &lt;&lt; 7</div><div class='del'>-; $a &lt;&lt; 8</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 2, 6, 3, 5, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='del'>-  o = "test"; $a &lt;&lt; 2</div><div class='del'>-  def o.test(a); $a &lt;&lt; 3</div><div class='del'>-    return a; $a &lt;&lt; 4</div><div class='del'>-  ensure; $a &lt;&lt; 5</div><div class='del'>-  end; $a &lt;&lt; 6</div><div class='del'>-  o.test(123); $a &lt;&lt; 7</div><div class='del'>-; $a &lt;&lt; 8</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 4, 7, 5, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  def m1 *args; $a &lt;&lt; 2</div><div class='del'>-    ; $a &lt;&lt; 3</div><div class='del'>-  end; $a &lt;&lt; 4</div><div class='del'>-  def m2; $a &lt;&lt; 5</div><div class='del'>-    m1(:a, :b, (return 1; :c)); $a &lt;&lt; 6</div><div class='del'>-  end; $a &lt;&lt; 7</div><div class='del'>-  m2; $a &lt;&lt; 8</div><div class='del'>-; $a &lt;&lt; 9</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 8, 2, 3, 4, 5, 9, 10]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  def m(); $a &lt;&lt; 2</div><div class='del'>-    begin; $a &lt;&lt; 3</div><div class='del'>-      2; $a &lt;&lt; 4</div><div class='del'>-    ensure; $a &lt;&lt; 5</div><div class='del'>-      return 3; $a &lt;&lt; 6</div><div class='del'>-    end; $a &lt;&lt; 7</div><div class='del'>-  end; $a &lt;&lt; 8</div><div class='del'>-  m; $a &lt;&lt; 9</div><div class='del'>-; $a &lt;&lt; 10</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 3, 11, 4, 5, 6, 7, 12, 13]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  def m2; $a &lt;&lt; 2</div><div class='del'>-  end; $a &lt;&lt; 3</div><div class='del'>-  def m(); $a &lt;&lt; 4</div><div class='del'>-    m2(begin; $a &lt;&lt; 5</div><div class='del'>-         2; $a &lt;&lt; 6</div><div class='del'>-       ensure; $a &lt;&lt; 7</div><div class='del'>-         return 3; $a &lt;&lt; 8</div><div class='del'>-       end); $a &lt;&lt; 9</div><div class='del'>-    4; $a &lt;&lt; 10</div><div class='del'>-  end; $a &lt;&lt; 11</div><div class='del'>-  m(); $a &lt;&lt; 12</div><div class='del'>-; $a &lt;&lt; 13</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[1, 16, 2, 3, 4, 5, 6, 7, 10, 11, 17, 18]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='del'>-  def m; $a &lt;&lt; 2</div><div class='del'>-    1; $a &lt;&lt; 3</div><div class='del'>-    1.times{; $a &lt;&lt; 4</div><div class='del'>-      2; $a &lt;&lt; 5</div><div class='del'>-      begin; $a &lt;&lt; 6</div><div class='del'>-        3; $a &lt;&lt; 7</div><div class='del'>-        return; $a &lt;&lt; 8</div><div class='del'>-        4; $a &lt;&lt; 9</div><div class='del'>-      ensure; $a &lt;&lt; 10</div><div class='del'>-        5; $a &lt;&lt; 11</div><div class='del'>-      end; $a &lt;&lt; 12</div><div class='del'>-      6; $a &lt;&lt; 13</div><div class='del'>-    }; $a &lt;&lt; 14</div><div class='del'>-    7; $a &lt;&lt; 15</div><div class='del'>-  end; $a &lt;&lt; 16</div><div class='del'>-  m(); $a &lt;&lt; 17</div><div class='del'>-; $a &lt;&lt; 18</div><div class='del'>-; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='del'>-assert_equal %q{[:ok, :ok2, :last]}, %q{</div><div class='del'>-  a = []</div><div class='del'>-  i = 0</div><div class='del'>-  begin</div><div class='del'>-    while i &lt; 1</div><div class='del'>-      i+=1</div><div class='del'>-      begin</div><div class='del'>-        begin</div><div class='del'>-          next</div><div class='del'>-        ensure</div><div class='del'>-          a &lt;&lt; :ok</div><div class='del'>-        end</div><div class='del'>-      ensure</div><div class='del'>-        a &lt;&lt; :ok2</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    a &lt;&lt; :last</div><div class='del'>-  end</div><div class='del'>-  a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[:ok, :ok2, :last]}, %q{</div><div class='del'>-  a = []</div><div class='del'>-  i = 0</div><div class='del'>-  begin</div><div class='del'>-    while i &lt; 1</div><div class='del'>-      i+=1</div><div class='del'>-      begin</div><div class='del'>-        begin</div><div class='del'>-          break</div><div class='del'>-        ensure</div><div class='del'>-          a &lt;&lt; :ok</div><div class='del'>-        end</div><div class='del'>-      ensure</div><div class='del'>-        a &lt;&lt; :ok2</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    a &lt;&lt; :last</div><div class='del'>-  end</div><div class='del'>-  a</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[:ok, :ok2, :last]}, %q{</div><div class='del'>-  a = []</div><div class='del'>-  i = 0</div><div class='del'>-  begin</div><div class='del'>-    while i &lt; 1</div><div class='del'>-      if i&gt;0</div><div class='del'>-        break</div><div class='del'>-      end</div><div class='del'>-      i+=1</div><div class='del'>-      begin</div><div class='del'>-        begin</div><div class='del'>-          redo</div><div class='del'>-        ensure</div><div class='del'>-          a &lt;&lt; :ok</div><div class='del'>-        end</div><div class='del'>-      ensure</div><div class='del'>-        a &lt;&lt; :ok2</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    a &lt;&lt; :last</div><div class='del'>-  end</div><div class='del'>-  a</div><div class='del'>-}</div><div class='del'>-assert_equal %Q{ENSURE\n}, %q{</div><div class='del'>-  def test</div><div class='del'>-    while true</div><div class='del'>-      return</div><div class='del'>-    end</div><div class='del'>-  ensure</div><div class='del'>-    puts("ENSURE")</div><div class='del'>-  end</div><div class='del'>-  test</div><div class='del'>-}, '[ruby-dev:37967]'</div><div class='del'>-</div><div class='del'>-[['[ruby-core:28129]', %q{</div><div class='del'>-  class Bug2728</div><div class='del'>-    include Enumerable</div><div class='del'>-    define_method(:dynamic_method) do</div><div class='del'>-      "dynamically defined method"</div><div class='del'>-    end</div><div class='del'>-    def each</div><div class='del'>-      begin</div><div class='del'>-        yield :foo</div><div class='del'>-      ensure</div><div class='del'>-        dynamic_method</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  e = Bug2728.new</div><div class='del'>-}],</div><div class='del'>- ['[ruby-core:28132]', %q{</div><div class='del'>-  class Bug2729</div><div class='del'>-    include Enumerable</div><div class='del'>-    def each</div><div class='del'>-      begin</div><div class='del'>-        yield :foo</div><div class='del'>-      ensure</div><div class='del'>-        proc {}.call</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  e = Bug2729.new</div><div class='del'>-}],</div><div class='del'>- ['[ruby-core:39125]', %q{</div><div class='del'>-  class Bug5234</div><div class='del'>-    include Enumerable</div><div class='del'>-    def each</div><div class='del'>-      begin</div><div class='del'>-        yield :foo</div><div class='del'>-      ensure</div><div class='del'>-        proc</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  e = Bug5234.new</div><div class='del'>-}],</div><div class='del'>- ['[ruby-dev:45656]', %q{</div><div class='del'>-  class Bug6460</div><div class='del'>-    include Enumerable</div><div class='del'>-    def each</div><div class='del'>-      begin</div><div class='del'>-        yield :foo</div><div class='del'>-      ensure</div><div class='del'>-        1.times { Proc.new }</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  e = Bug6460.new</div><div class='del'>-}]].each do |bug, src|</div><div class='del'>-  assert_equal "foo", src + %q{e.detect {true}}, bug</div><div class='del'>-  assert_equal "true", src + %q{e.any? {true}}, bug</div><div class='del'>-  assert_equal "false", src + %q{e.all? {false}}, bug</div><div class='del'>-  assert_equal "true", src + %q{e.include?(:foo)}, bug</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-assert_equal "foo", %q{</div><div class='del'>-  class Bug6460</div><div class='del'>-    def m1</div><div class='del'>-      m2 {|e|</div><div class='del'>-        return e</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def m2</div><div class='del'>-      begin</div><div class='del'>-        yield :foo</div><div class='del'>-      ensure</div><div class='del'>-        begin</div><div class='del'>-          begin</div><div class='del'>-            yield :foo</div><div class='del'>-          ensure</div><div class='del'>-            Proc.new</div><div class='del'>-            raise ''</div><div class='del'>-          end</div><div class='del'>-        rescue</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  Bug6460.new.m1</div><div class='del'>-}, '[ruby-dev:46372]'</div><div class='del'>-</div><div class='del'>-assert_equal "foo", %q{</div><div class='del'>-  obj = "foo"</div><div class='del'>-  if obj || any1</div><div class='del'>-    any2 = any2</div><div class='del'>-  else</div><div class='del'>-    raise obj.inspect</div><div class='del'>-  end</div><div class='del'>-  obj</div><div class='del'>-}, '[ruby-core:87830]'</div><div class='head'>diff --git a/bootstraptest/test_fork.rb b/bootstraptest/test_fork.rb<br/>deleted file mode 100644<br/>index 83923dad97..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_fork.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_fork.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,77 +0,0 @@</div><div class='del'>-assert_equal '0', %q{</div><div class='del'>-  begin</div><div class='del'>-    GC.stress = true</div><div class='del'>-    pid = fork {}</div><div class='del'>-    Process.wait pid</div><div class='del'>-    $?.to_i</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-    0</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:32404]'</div><div class='del'>-</div><div class='del'>-assert_finish 10, %q{</div><div class='del'>-  begin</div><div class='del'>-    children = (1..10).map{</div><div class='del'>-      Thread.start{fork{}}.value</div><div class='del'>-    }</div><div class='del'>-    while !children.empty? and pid = Process.wait</div><div class='del'>-      children.delete(pid)</div><div class='del'>-    end</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:22158]'</div><div class='del'>-</div><div class='del'>-# temporarily stop this test to enable explicit failure when</div><div class='del'>-# timer thread couldn't be created (r61706 and r61717).</div><div class='del'>-assert_normal_exit(&lt;&lt;'End', '[ruby-dev:37934]') if false</div><div class='del'>-  main = Thread.current</div><div class='del'>-  Thread.new { sleep 0.01 until main.stop?; Thread.kill main }</div><div class='del'>-  Process.setrlimit(:NPROC, 1) if defined?(Process::RLIMIT_NPROC)</div><div class='del'>-  fork {}</div><div class='del'>-End</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    r, w = IO.pipe</div><div class='del'>-    if pid1 = fork</div><div class='del'>-      w.close</div><div class='del'>-      r.read(1)</div><div class='del'>-      Process.kill("USR1", pid1)</div><div class='del'>-      _, s = Process.wait2(pid1)</div><div class='del'>-      s.success? ? :ok : :ng</div><div class='del'>-    else</div><div class='del'>-      r.close</div><div class='del'>-      if pid2 = fork</div><div class='del'>-        trap("USR1") { Time.now.to_s; Process.kill("USR2", pid2) }</div><div class='del'>-        w.close</div><div class='del'>-        Process.wait2(pid2)</div><div class='del'>-      else</div><div class='del'>-        w.close</div><div class='del'>-        sleep 0.2</div><div class='del'>-      end</div><div class='del'>-      exit true</div><div class='del'>-    end</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:28924]'</div><div class='del'>-</div><div class='del'>-assert_equal '[1, 2]', %q{</div><div class='del'>-  a = []</div><div class='del'>-  main = Thread.current</div><div class='del'>-  trap(:INT) { a.push(1).size == 2 and main.wakeup }</div><div class='del'>-  trap(:TERM) { a.push(2).size == 2 and main.wakeup }</div><div class='del'>-  pid = $$</div><div class='del'>-  begin</div><div class='del'>-    pid = fork do</div><div class='del'>-      Process.kill(:INT, pid)</div><div class='del'>-      Process.kill(:TERM, pid)</div><div class='del'>-    end</div><div class='del'>-    Process.wait(pid)</div><div class='del'>-    100.times {break if a.size &gt; 1; sleep 0.001}</div><div class='del'>-    a.sort</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-    [1, 2]</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:44005] [Ruby 1.9 - Bug #4950]'</div><div class='del'>-</div><div class='head'>diff --git a/bootstraptest/test_gc.rb b/bootstraptest/test_gc.rb<br/>deleted file mode 100644<br/>index eb68c9845e..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_gc.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_gc.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,34 +0,0 @@</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-a = []</div><div class='del'>-ms = "a".."k"</div><div class='del'>-("A".."Z").each do |mod|</div><div class='del'>-  mod = eval("module #{mod}; self; end")</div><div class='del'>-  ms.each do |meth|</div><div class='del'>-    iseq = RubyVM::InstructionSequence.compile("module #{mod}; def #{meth}; end; end")</div><div class='del'>-    GC.stress = true</div><div class='del'>-    iseq.eval</div><div class='del'>-    GC.stress = false</div><div class='del'>-  end</div><div class='del'>-  o = Object.new.extend(mod)</div><div class='del'>-  ms.each do |meth|</div><div class='del'>-    o.send(meth)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-}, '[ruby-dev:39453]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-a = []</div><div class='del'>-ms = "a".."k"</div><div class='del'>-("A".."Z").each do |mod|</div><div class='del'>-  mod = eval("module #{mod}; self; end")</div><div class='del'>-  ms.each do |meth|</div><div class='del'>-    GC.stress = true</div><div class='del'>-    mod.module_eval {define_method(meth) {}}</div><div class='del'>-    GC.stress = false</div><div class='del'>-  end</div><div class='del'>-  o = Object.new.extend(mod)</div><div class='del'>-  ms.each do |meth|</div><div class='del'>-    o.send(meth)</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-}, '[ruby-dev:39453]'</div><div class='head'>diff --git a/bootstraptest/test_insns.rb b/bootstraptest/test_insns.rb<br/>deleted file mode 100644<br/>index 88f36bd0c2..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_insns.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_insns.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,420 +0,0 @@</div><div class='del'>-# C0 coverage of each instructions</div><div class='del'>-</div><div class='del'>-# :NOTE: This is for development purpose; never consider this file as</div><div class='del'>-# ISeq compilation specification.</div><div class='del'>-</div><div class='del'>-begin</div><div class='del'>-  # This library brings some additional coverage.</div><div class='del'>-  # Not mandatory.</div><div class='del'>-  require 'rbconfig/sizeof'</div><div class='del'>-rescue LoadError</div><div class='del'>-  # OK, just skip</div><div class='del'>-else</div><div class='del'>-  $FIXNUM_MAX = RbConfig::LIMITS["FIXNUM_MAX"]</div><div class='del'>-  $FIXNUM_MIN = RbConfig::LIMITS["FIXNUM_MIN"]</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-fsl   = { frozen_string_literal: true } # used later</div><div class='del'>-tests = [</div><div class='del'>-  # insn ,   expression to generate such insn</div><div class='del'>-  [ 'nop',   %q{ raise rescue true }, ],</div><div class='del'>-</div><div class='del'>-  [ 'setlocal *, 0', %q{ x = true }, ],</div><div class='del'>-  [ 'setlocal *, 1', %q{ x = nil; -&gt; { x = true }.call }, ],</div><div class='del'>-  [ 'setlocal',      %q{ x = nil; -&gt; { -&gt; { x = true }.() }.() }, ],</div><div class='del'>-  [ 'getlocal *, 0', %q{ x = true; x }, ],</div><div class='del'>-  [ 'getlocal *, 1', %q{ x = true; -&gt; { x }.call }, ],</div><div class='del'>-  [ 'getlocal',      %q{ x = true; -&gt; { -&gt; { x }.() }.() }, ],</div><div class='del'>-</div><div class='del'>-  [ 'setblockparam', &lt;&lt;~'},', ], # {</div><div class='del'>-    def m&amp;b</div><div class='del'>-      b = # here</div><div class='del'>-        proc { true }</div><div class='del'>-    end</div><div class='del'>-    m { false }.call</div><div class='del'>-  },</div><div class='del'>-  [ 'getblockparam', &lt;&lt;~'},', ], # {</div><div class='del'>-    def m&amp;b</div><div class='del'>-      b # here</div><div class='del'>-    end</div><div class='del'>-    m { true }.call</div><div class='del'>-  },</div><div class='del'>-  [ 'getblockparamproxy', &lt;&lt;~'},', ], # {</div><div class='del'>-    def m&amp;b</div><div class='del'>-      b # here</div><div class='del'>-        .call</div><div class='del'>-    end</div><div class='del'>-    m { true }</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'setspecial', %q{ true if true..true }, ],</div><div class='del'>-  [ 'getspecial', %q{ $&amp;.nil? }, ],</div><div class='del'>-  [ 'getspecial', %q{ $`.nil? }, ],</div><div class='del'>-  [ 'getspecial', %q{ $'.nil? }, ],</div><div class='del'>-  [ 'getspecial', %q{ $+.nil? }, ],</div><div class='del'>-  [ 'getspecial', %q{ $1.nil? }, ],</div><div class='del'>-  [ 'getspecial', %q{ $128.nil? }, ],</div><div class='del'>-</div><div class='del'>-  [ 'getglobal', %q{ String === $0 }, ],</div><div class='del'>-  [ 'getglobal', %q{ $_.nil? }, ],</div><div class='del'>-  [ 'setglobal', %q{ $0 = "true" }, ],</div><div class='del'>-</div><div class='del'>-  [ 'setinstancevariable', %q{ @x = true }, ],</div><div class='del'>-  [ 'getinstancevariable', %q{ @x = true; @x }, ],</div><div class='del'>-</div><div class='del'>-  [ 'setclassvariable', %q{ @@x = true }, ],</div><div class='del'>-  [ 'getclassvariable', %q{ @@x = true; @@x }, ],</div><div class='del'>-</div><div class='del'>-  [ 'setconstant', %q{ X = true }, ],</div><div class='del'>-  [ 'setconstant', %q{ Object::X = true }, ],</div><div class='del'>-  [ 'getconstant', %q{ X = true; X }, ],</div><div class='del'>-  [ 'getconstant', %q{ X = true; Object::X }, ],</div><div class='del'>-</div><div class='del'>-  [ 'getinlinecache / setinlinecache', %q{ def x; X; end; X = true; x; x; x }, ],</div><div class='del'>-</div><div class='del'>-  [ 'putnil',               %q{ $~ == nil }, ],</div><div class='del'>-  [ 'putself',              %q{ $~ != self }, ],</div><div class='del'>-  [ 'putobject INT2FIX(0)', %q{ $~ != 0 }, ],</div><div class='del'>-  [ 'putobject INT2FIX(1)', %q{ $~ != 1 }, ],</div><div class='del'>-  [ 'putobject',            %q{ $~ != -1 }, ],</div><div class='del'>-  [ 'putobject',            %q{ $~ != /x/ }, ],</div><div class='del'>-  [ 'putobject',            %q{ $~ != :x }, ],</div><div class='del'>-  [ 'putobject',            %q{ $~ != (1..2) }, ],</div><div class='del'>-  [ 'putobject',            %q{ $~ != true }, ],</div><div class='del'>-  [ 'putobject',            %q{ /(?&lt;x&gt;x)/ =~ "x"; x == "x" }, ],</div><div class='del'>-</div><div class='del'>-  [ 'putspecialobject',         %q{ {//=&gt;true}[//] }, ],</div><div class='del'>-  [ 'putiseq',                  %q{ -&gt; { true }.() }, ],</div><div class='del'>-  [ 'putstring',                %q{ "true" }, ],</div><div class='del'>-  [ 'tostring / concatstrings', %q{ "#{true}" }, ],</div><div class='del'>-  [ 'freezestring',             %q{ "#{true}" }, fsl, ],</div><div class='del'>-  [ 'freezestring',             %q{ "#{true}" }, '-d', fsl, ],</div><div class='del'>-  [ 'toregexp',                 %q{ /#{true}/ =~ "true" &amp;&amp; $~ }, ],</div><div class='del'>-  [ 'intern',                   %q{ :"#{true}" }, ],</div><div class='del'>-</div><div class='del'>-  [ 'newarray',    %q{ ["true"][0] }, ],</div><div class='del'>-  [ 'duparray',    %q{ [ true ][0] }, ],</div><div class='del'>-  [ 'expandarray', %q{ y = [ true, false, nil ]; x, = y; x }, ],</div><div class='del'>-  [ 'expandarray', %q{ y = [ true, false, nil ]; x, *z = y; x }, ],</div><div class='del'>-  [ 'expandarray', %q{ y = [ true, false, nil ]; x, *z, w = y; x }, ],</div><div class='del'>-  [ 'splatarray',  %q{ x, = *(y = true), false; x }, ],</div><div class='del'>-  [ 'concatarray', %q{ ["t", "r", *x = "u", "e"].join }, ],</div><div class='del'>-  [ 'concatarray', &lt;&lt;~'},', ],  # {</div><div class='del'>-    class X; def to_a; ['u']; end; end</div><div class='del'>-    ['t', 'r', *X.new, 'e'].join</div><div class='del'>-  },</div><div class='del'>-  [ 'concatarray', &lt;&lt;~'},', ],  # {</div><div class='del'>-    r = false</div><div class='del'>-    t = [true, nil]</div><div class='del'>-    q, w, e = r, *t             # here</div><div class='del'>-    w</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'newhash',  %q{ x = {}; x[x] = true }, ],</div><div class='del'>-  [ 'newhash',  %q{ x = true; { x =&gt; x }[x] }, ],</div><div class='del'>-  [ 'newhashfromarray', %q{ { a: true }[:a] }, ],</div><div class='del'>-  [ 'newrange', %q{ x = 1; [*(0..x)][0] == 0 }, ],</div><div class='del'>-  [ 'newrange', %q{ x = 1; [*(0...x)][0] == 0 }, ],</div><div class='del'>-</div><div class='del'>-  [ 'pop',     %q{ def x; true; end; x }, ],</div><div class='del'>-  [ 'dup',     %q{ x = y = true; x }, ],</div><div class='del'>-  [ 'dupn',    %q{ Object::X ||= true }, ],</div><div class='del'>-  [ 'reverse', %q{ q, (w, e), r = 1, [2, 3], 4; e == 3 }, ],</div><div class='del'>-  [ 'swap',    &lt;&lt;~'},', ],      # {</div><div class='del'>-    x = [[false, true]]</div><div class='del'>-    for i, j in x               # here</div><div class='del'>-      ;</div><div class='del'>-    end</div><div class='del'>-    j</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'topn',        %q{ x, y = [], 0; x[*y], = [true, false]; x[0] }, ],</div><div class='del'>-  [ 'setn',        %q{ x, y = [], 0; x[*y]  =  true        ; x[0] }, ],</div><div class='del'>-  [ 'adjuststack', %q{ x = [true]; x[0] ||= nil; x[0] }, ],</div><div class='del'>-</div><div class='del'>-  [ 'defined',      %q{ !defined?(x) }, ],</div><div class='del'>-  [ 'checkkeyword', %q{ def x x:rand;x end; x x: true }, ],</div><div class='del'>-  [ 'checktype',    %q{ x = true; "#{x}" }, ],</div><div class='del'>-  [ 'checkmatch',   &lt;&lt;~'},', ], # {</div><div class='del'>-    x = y = true</div><div class='del'>-    case x</div><div class='del'>-    when false</div><div class='del'>-      y = false</div><div class='del'>-    when true                   # here</div><div class='del'>-      y = nil</div><div class='del'>-    end</div><div class='del'>-    y == nil</div><div class='del'>-  },</div><div class='del'>-  [ 'checkmatch',   &lt;&lt;~'},', ], # {</div><div class='del'>-    x, y = true, [false]</div><div class='del'>-    case x</div><div class='del'>-    when *y                     # here</div><div class='del'>-      z = false</div><div class='del'>-    else</div><div class='del'>-      z = true</div><div class='del'>-    end</div><div class='del'>-    z</div><div class='del'>-  },</div><div class='del'>-  [ 'checkmatch',   &lt;&lt;~'},', ], # {</div><div class='del'>-    x = false</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue                      # here</div><div class='del'>-      x = true</div><div class='del'>-    end</div><div class='del'>-    x</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'defineclass', %q{                 module X;    true end }, ],</div><div class='del'>-  [ 'defineclass', %q{ X = Module.new; module X;    true end }, ],</div><div class='del'>-  [ 'defineclass', %q{                 class X;     true end }, ],</div><div class='del'>-  [ 'defineclass', %q{ X = Class.new;  class X;     true end }, ],</div><div class='del'>-  [ 'defineclass', %q{ X = Class.new;  class Y &lt; X; true end }, ],</div><div class='del'>-  [ 'defineclass', %q{ X = Class.new;  class &lt;&lt; X;  true end }, ],</div><div class='del'>-  [ 'defineclass', &lt;&lt;~'},', ], # {</div><div class='del'>-    X = Class.new</div><div class='del'>-    Y = Class.new(X)</div><div class='del'>-    class Y &lt; X</div><div class='del'>-      true</div><div class='del'>-    end</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_send_without_block', %q{ true.to_s }, ],</div><div class='del'>-  [ 'send',                   %q{ true.tap {|i| i.to_s } }, ],</div><div class='del'>-  [ 'leave',                  %q{ def x; true; end; x }, ],</div><div class='del'>-  [ 'invokesuper',            &lt;&lt;~'},', ], # {</div><div class='del'>-    class X &lt; String</div><div class='del'>-      def empty?</div><div class='del'>-        super                   # here</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-   X.new.empty?</div><div class='del'>-  },</div><div class='del'>-  [ 'invokeblock',            &lt;&lt;~'},', ], # {</div><div class='del'>-    def x</div><div class='del'>-      return yield self         # here</div><div class='del'>-    end</div><div class='del'>-    x do</div><div class='del'>-      true</div><div class='del'>-    end</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_str_freeze', %q{ 'true'.freeze }, ],</div><div class='del'>-  [ 'opt_str_uminus', %q{ -'true' }, ],</div><div class='del'>-  [ 'opt_str_freeze', &lt;&lt;~'},', ], # {</div><div class='del'>-    class String</div><div class='del'>-      def freeze</div><div class='del'>-        true</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    'true'.freeze</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_newarray_max', %q{ [ ].max.nil? }, ],</div><div class='del'>-  [ 'opt_newarray_max', %q{ [1, x = 2, 3].max == 3 }, ],</div><div class='del'>-  [ 'opt_newarray_max', &lt;&lt;~'},', ], # {</div><div class='del'>-    class Array</div><div class='del'>-      def max</div><div class='del'>-        true</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    [1, x = 2, 3].max</div><div class='del'>-  },</div><div class='del'>-  [ 'opt_newarray_min', %q{ [ ].min.nil? }, ],</div><div class='del'>-  [ 'opt_newarray_min', %q{ [3, x = 2, 1].min == 1 }, ],</div><div class='del'>-  [ 'opt_newarray_min', &lt;&lt;~'},', ], # {</div><div class='del'>-    class Array</div><div class='del'>-      def min</div><div class='del'>-        true</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    [3, x = 2, 1].min</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'throw',        %q{ false.tap { break true } }, ],</div><div class='del'>-  [ 'branchif',     %q{ x = nil;  x ||= true }, ],</div><div class='del'>-  [ 'branchif',     %q{ x = true; x ||= nil; x }, ],</div><div class='del'>-  [ 'branchunless', %q{ x = 1;    x &amp;&amp;= true }, ],</div><div class='del'>-  [ 'branchunless', %q{ x = nil;  x &amp;&amp;= true; x.nil? }, ],</div><div class='del'>-  [ 'branchnil',    %q{ x = true; x&amp;.to_s }, ],</div><div class='del'>-  [ 'branchnil',    %q{ x = nil;  (x&amp;.to_s).nil? }, ],</div><div class='del'>-  [ 'jump',         &lt;&lt;~'},', ], # {</div><div class='del'>-    y = 1</div><div class='del'>-    x = if y == 0 then nil elsif y == 1 then true else nil end</div><div class='del'>-    x</div><div class='del'>-  },</div><div class='del'>-  [ 'jump',         &lt;&lt;~'},', ], # {</div><div class='del'>-    # ultra complicated situation: this ||= assignment only generates</div><div class='del'>-    # 15 instructions, not including the class definition.</div><div class='del'>-    class X; attr_accessor :x; end</div><div class='del'>-    x = X.new</div><div class='del'>-    x&amp;.x ||= true               # here</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'once', %q{ /#{true}/o =~ "true" &amp;&amp; $~ }, ],</div><div class='del'>-  [ 'once', &lt;&lt;~'},', ],         # {</div><div class='del'>-    def once expr</div><div class='del'>-      return /#{expr}/o         # here</div><div class='del'>-    end</div><div class='del'>-    x = once(true); x = once(false); x = once(nil);</div><div class='del'>-    x =~ "true" &amp;&amp; $~</div><div class='del'>-  },</div><div class='del'>-  [ 'once', &lt;&lt;~'},', ],         # {</div><div class='del'>-    # recursive once</div><div class='del'>-    def once n</div><div class='del'>-      return %r/#{</div><div class='del'>-        if n == 0</div><div class='del'>-          true</div><div class='del'>-        else</div><div class='del'>-          once(n-1)             # here</div><div class='del'>-        end</div><div class='del'>-      }/ox</div><div class='del'>-    end</div><div class='del'>-    x = once(128); x = once(7); x = once(16);</div><div class='del'>-    x =~ "true" &amp;&amp; $~</div><div class='del'>-  },</div><div class='del'>-  [ 'once', &lt;&lt;~'},', ],         # {</div><div class='del'>-    # inter-thread lockup situation</div><div class='del'>-    def once n</div><div class='del'>-      return Thread.start n do |m|</div><div class='del'>-        Thread.pass</div><div class='del'>-        next %r/#{</div><div class='del'>-          sleep m               # here</div><div class='del'>-          true</div><div class='del'>-        }/ox</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    x = once(1); y = once(0.1); z = y.value</div><div class='del'>-    z =~ "true" &amp;&amp; $~</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_case_dispatch', %q{ case   0 when 1.1 then false else true end }, ],</div><div class='del'>-  [ 'opt_case_dispatch', %q{ case 1.0 when 1.1 then false else true end }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_plus',    %q{ 1 + 1 == 2 }, ],</div><div class='del'>-  if defined? $FIXNUM_MAX then</div><div class='del'>-    [ 'opt_plus',  %Q{ #{ $FIXNUM_MAX } + 1 == #{ $FIXNUM_MAX + 1 } }, ]</div><div class='del'>-  end,</div><div class='del'>-  [ 'opt_plus',    %q{ 1.0 + 1.0 == 2.0 }, ],</div><div class='del'>-  [ 'opt_plus',    %q{ x = +0.0.next_float; x + x &gt;= x }, ],</div><div class='del'>-  [ 'opt_plus',    %q{ 't' + 'rue' }, ],</div><div class='del'>-  [ 'opt_plus',    %q{ ( ['t'] + ['r', ['u', ['e'], ], ] ).join }, ],</div><div class='del'>-  [ 'opt_plus',    %q{ Time.at(1) + 1 == Time.at(2) }, ],</div><div class='del'>-  [ 'opt_minus',   %q{ 1 - 1 == 0 }, ],</div><div class='del'>-  if defined? $FIXNUM_MIN then</div><div class='del'>-    [ 'opt_minus', %Q{ #{ $FIXNUM_MIN } - 1 == #{ $FIXNUM_MIN - 1 } }, ]</div><div class='del'>-  end,</div><div class='del'>-  [ 'opt_minus',   %q{ 1.0 - 1.0 == 0.0 }, ],</div><div class='del'>-  [ 'opt_minus',   %q{ x = -0.0.prev_float; x - x == 0.0 }, ],</div><div class='del'>-  [ 'opt_minus',   %q{ ( [false, true] - [false] )[0] }, ],</div><div class='del'>-  [ 'opt_mult',    %q{ 1 * 1 == 1 }, ],</div><div class='del'>-  [ 'opt_mult',    %q{ 1.0 * 1.0 == 1.0 }, ],</div><div class='del'>-  [ 'opt_mult',    %q{ x = +0.0.next_float; x * x &lt;= x }, ],</div><div class='del'>-  [ 'opt_mult',    %q{ ( "ruet" * 3 )[7,4] }, ],</div><div class='del'>-  [ 'opt_div',     %q{ 1 / 1 == 1 }, ],</div><div class='del'>-  [ 'opt_div',     %q{ 1.0 / 1.0 == 1.0 }, ],</div><div class='del'>-  [ 'opt_div',     %q{ x = +0.0.next_float; x / x &gt;= x }, ],</div><div class='del'>-  [ 'opt_div',     %q{ x = 1/2r; x / x == 1 }, ],</div><div class='del'>-  [ 'opt_mod',     %q{ 1 % 1 == 0 }, ],</div><div class='del'>-  [ 'opt_mod',     %q{ 1.0 % 1.0 == 0.0 }, ],</div><div class='del'>-  [ 'opt_mod',     %q{ x = +0.0.next_float; x % x == 0.0 }, ],</div><div class='del'>-  [ 'opt_mod',     %q{ '%s' % [ true ] }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_eq', %q{ 1 == 1 }, ],</div><div class='del'>-  [ 'opt_eq', &lt;&lt;~'},', ],       # {</div><div class='del'>-    class X; def == other; true; end; end</div><div class='del'>-    X.new == true</div><div class='del'>-  },</div><div class='del'>-  [ 'opt_neq', %q{ 1 != 0 }, ],</div><div class='del'>-  [ 'opt_neq', &lt;&lt;~'},', ],       # {</div><div class='del'>-    class X; def != other; true; end; end</div><div class='del'>-    X.new != true</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_lt', %q{            -1   &lt;  0 }, ],</div><div class='del'>-  [ 'opt_lt', %q{            -1.0 &lt;  0.0 }, ],</div><div class='del'>-  [ 'opt_lt', %q{ -0.0.prev_float &lt;  0.0 }, ],</div><div class='del'>-  [ 'opt_lt', %q{              ?a &lt;  ?z }, ],</div><div class='del'>-  [ 'opt_le', %q{            -1   &lt;= 0 }, ],</div><div class='del'>-  [ 'opt_le', %q{            -1.0 &lt;= 0.0 }, ],</div><div class='del'>-  [ 'opt_le', %q{ -0.0.prev_float &lt;= 0.0 }, ],</div><div class='del'>-  [ 'opt_le', %q{              ?a &lt;= ?z }, ],</div><div class='del'>-  [ 'opt_gt', %q{             1   &gt;  0 }, ],</div><div class='del'>-  [ 'opt_gt', %q{             1.0 &gt;  0.0 }, ],</div><div class='del'>-  [ 'opt_gt', %q{ +0.0.next_float &gt;  0.0 }, ],</div><div class='del'>-  [ 'opt_gt', %q{              ?z &gt;  ?a }, ],</div><div class='del'>-  [ 'opt_ge', %q{             1   &gt;= 0 }, ],</div><div class='del'>-  [ 'opt_ge', %q{             1.0 &gt;= 0.0 }, ],</div><div class='del'>-  [ 'opt_ge', %q{ +0.0.next_float &gt;= 0.0 }, ],</div><div class='del'>-  [ 'opt_ge', %q{              ?z &gt;= ?a }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_ltlt', %q{  '' &lt;&lt; 'true' }, ],</div><div class='del'>-  [ 'opt_ltlt', %q{ ([] &lt;&lt; 'true').join }, ],</div><div class='del'>-  [ 'opt_ltlt', %q{ (1 &lt;&lt; 31) == 2147483648 }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_aref', %q{ ['true'][0] }, ],</div><div class='del'>-  [ 'opt_aref', %q{ { 0 =&gt; 'true'}[0] }, ],</div><div class='del'>-  [ 'opt_aref', %q{ 'true'[0] == ?t }, ],</div><div class='del'>-  [ 'opt_aset', %q{ [][0] = true }, ],</div><div class='del'>-  [ 'opt_aset', %q{ {}[0] = true }, ],</div><div class='del'>-  [ 'opt_aset', %q{ x = 'frue'; x[0] = 't'; x }, ],</div><div class='del'>-  [ 'opt_aset', &lt;&lt;~'},', ], # {</div><div class='del'>-    # opt_aref / opt_aset mixup situation</div><div class='del'>-    class X; def x; {}; end; end</div><div class='del'>-    x = X.new</div><div class='del'>-    x&amp;.x[true] ||= true         # here</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_aref_with', %q{ { 'true' =&gt; true }['true'] }, ],</div><div class='del'>-  [ 'opt_aref_with', %q{ Struct.new(:nil).new['nil'].nil? }, ],</div><div class='del'>-  [ 'opt_aset_with', %q{ {}['true'] = true }, ],</div><div class='del'>-  [ 'opt_aset_with', %q{ Struct.new(:true).new['true'] = true }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_length',  %q{   'true'       .length == 4 }, ],</div><div class='del'>-  [ 'opt_length',  %q{   :true        .length == 4 }, ],</div><div class='del'>-  [ 'opt_length',  %q{ [ 'true' ]     .length == 1 }, ],</div><div class='del'>-  [ 'opt_length',  %q{ { 'true' =&gt; 1 }.length == 1 }, ],</div><div class='del'>-  [ 'opt_size',    %q{   'true'       .size   == 4 }, ],</div><div class='del'>-  [ 'opt_size',    %q{               1.size   &gt;= 4 }, ],</div><div class='del'>-  [ 'opt_size',    %q{ [ 'true' ]     .size   == 1 }, ],</div><div class='del'>-  [ 'opt_size',    %q{ { 'true' =&gt; 1 }.size   == 1 }, ],</div><div class='del'>-  [ 'opt_empty_p', %q{ ''.empty? }, ],</div><div class='del'>-  [ 'opt_empty_p', %q{ [].empty? }, ],</div><div class='del'>-  [ 'opt_empty_p', %q{ {}.empty? }, ],</div><div class='del'>-  [ 'opt_empty_p', %q{ Queue.new.empty? }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_succ',  %q{ 1.succ == 2 }, ],</div><div class='del'>-  if defined? $FIXNUM_MAX then</div><div class='del'>-    [ 'opt_succ',%Q{ #{ $FIXNUM_MAX }.succ == #{ $FIXNUM_MAX + 1 } }, ]</div><div class='del'>-  end,</div><div class='del'>-  [ 'opt_succ',  %q{ '1'.succ == '2' }, ],</div><div class='del'>-  [ 'opt_succ',  %q{ x = Time.at(0); x.succ == Time.at(1) }, ],</div><div class='del'>-</div><div class='del'>-  [ 'opt_not',  %q{ ! false }, ],</div><div class='del'>-  [ 'opt_neq', &lt;&lt;~'},', ],       # {</div><div class='del'>-    class X; def !; true; end; end</div><div class='del'>-    ! X.new</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_regexpmatch1',  %q{ /true/ =~ 'true' &amp;&amp; $~ }, ],</div><div class='del'>-  [ 'opt_regexpmatch1', &lt;&lt;~'},', ],       # {</div><div class='del'>-    class Regexp; def =~ other; true; end; end</div><div class='del'>-    /true/ =~ 'true'</div><div class='del'>-  },</div><div class='del'>-  [ 'opt_regexpmatch2',  %q{ 'true' =~ /true/ &amp;&amp; $~ }, ],</div><div class='del'>-  [ 'opt_regexpmatch2', &lt;&lt;~'},', ],       # {</div><div class='del'>-    class String; def =~ other; true; end; end</div><div class='del'>-    'true' =~ /true/</div><div class='del'>-  },</div><div class='del'>-</div><div class='del'>-  [ 'opt_call_c_function', 'Struct.new(:x).new.x = true', ],</div><div class='del'>-]</div><div class='del'>-</div><div class='del'>-# normal path</div><div class='del'>-tests.compact.each {|(insn, expr, *a)| assert_equal 'true', expr, insn, *a }</div><div class='del'>-</div><div class='del'>-# with trace</div><div class='del'>-tests.compact.each {|(insn, expr, *a)|</div><div class='del'>-  progn = "set_trace_func(proc{})\n" + expr</div><div class='del'>-  assert_equal 'true', progn, insn, *a</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_io.rb b/bootstraptest/test_io.rb<br/>deleted file mode 100644<br/>index 89c00d0b88..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_io.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_io.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,112 +0,0 @@</div><div class='del'>-assert_finish 5, %q{</div><div class='del'>-  r, w = IO.pipe</div><div class='del'>-  t1 = Thread.new { r.sysread(1) }</div><div class='del'>-  t2 = Thread.new { r.sysread(1) }</div><div class='del'>-  sleep 0.01 until t1.stop? and t2.stop?</div><div class='del'>-  w.write "a"</div><div class='del'>-  w.write "a"</div><div class='del'>-}, '[ruby-dev:31866]'</div><div class='del'>-</div><div class='del'>-assert_finish 10, %q{</div><div class='del'>-  begin</div><div class='del'>-    require "io/nonblock"</div><div class='del'>-    require "timeout"</div><div class='del'>-    timeout(3) do</div><div class='del'>-      r, w = IO.pipe</div><div class='del'>-      w.nonblock?</div><div class='del'>-      w.nonblock = true</div><div class='del'>-      w.write_nonblock("a" * 100000)</div><div class='del'>-      w.nonblock = false</div><div class='del'>-      t1 = Thread.new { w.write("b" * 4096) }</div><div class='del'>-      t2 = Thread.new { w.write("c" * 4096) }</div><div class='del'>-      sleep 0.5</div><div class='del'>-      r.sysread(4096).length</div><div class='del'>-      sleep 0.5</div><div class='del'>-      r.sysread(4096).length</div><div class='del'>-      t1.join</div><div class='del'>-      t2.join</div><div class='del'>-    end</div><div class='del'>-  rescue LoadError, Timeout::Error, NotImplementedError</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:32566]'</div><div class='del'>-</div><div class='del'>-assert_finish 1, %q{</div><div class='del'>-  r, w = IO.pipe</div><div class='del'>-  Thread.new {</div><div class='del'>-    w &lt;&lt; "ab"</div><div class='del'>-    sleep 0.01</div><div class='del'>-    w &lt;&lt; "ab"</div><div class='del'>-  }</div><div class='del'>-  r.gets("abab")</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  require 'tmpdir'</div><div class='del'>-  begin</div><div class='del'>-    tmpname = "#{Dir.tmpdir}/ruby-btest-#{$$}-#{rand(0x100000000).to_s(36)}"</div><div class='del'>-    rw = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL)</div><div class='del'>-  rescue Errno::EEXIST</div><div class='del'>-    retry</div><div class='del'>-  end</div><div class='del'>-  save = STDIN.dup</div><div class='del'>-  STDIN.reopen(rw)</div><div class='del'>-  STDIN.reopen(save)</div><div class='del'>-  rw.close</div><div class='del'>-  File.unlink(tmpname)</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  require 'tmpdir'</div><div class='del'>-  begin</div><div class='del'>-    tmpname = "#{Dir.tmpdir}/ruby-btest-#{$$}-#{rand(0x100000000).to_s(36)}"</div><div class='del'>-    rw = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL)</div><div class='del'>-  rescue Errno::EEXIST</div><div class='del'>-    retry</div><div class='del'>-  end</div><div class='del'>-  save = STDIN.dup</div><div class='del'>-  STDIN.reopen(rw)</div><div class='del'>-  STDIN.print "a"</div><div class='del'>-  STDIN.reopen(save)</div><div class='del'>-  rw.close</div><div class='del'>-  File.unlink(tmpname)</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  dup = STDIN.dup</div><div class='del'>-  dupfd = dup.fileno</div><div class='del'>-  dupfd == STDIN.dup.fileno ? :ng : :ok</div><div class='del'>-}, '[ruby-dev:46834]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  ARGF.set_encoding "foo"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-10.times do</div><div class='del'>-  assert_normal_exit %q{</div><div class='del'>-    at_exit { p :foo }</div><div class='del'>-</div><div class='del'>-    megacontent = "abc" * 12345678</div><div class='del'>-    #File.open("megasrc", "w") {|f| f &lt;&lt; megacontent }</div><div class='del'>-</div><div class='del'>-    t0 = Thread.main</div><div class='del'>-    Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }</div><div class='del'>-</div><div class='del'>-    r1, w1 = IO.pipe</div><div class='del'>-    r2, w2 = IO.pipe</div><div class='del'>-    t1 = Thread.new { w1 &lt;&lt; megacontent; w1.close }</div><div class='del'>-    t2 = Thread.new { r2.read; r2.close }</div><div class='del'>-    IO.copy_stream(r1, w2) rescue nil</div><div class='del'>-    w2.close</div><div class='del'>-    r1.close</div><div class='del'>-    t1.join</div><div class='del'>-    t2.join</div><div class='del'>-  }, 'megacontent-copy_stream', ["INT"], :timeout =&gt; 10 or break</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  r, w = IO.pipe</div><div class='del'>-  STDOUT.reopen(w)</div><div class='del'>-  STDOUT.reopen(__FILE__, "r")</div><div class='del'>-}, '[ruby-dev:38131]'</div><div class='head'>diff --git a/bootstraptest/test_jump.rb b/bootstraptest/test_jump.rb<br/>deleted file mode 100644<br/>index 595aaa7c4b..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_jump.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_jump.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,308 +0,0 @@</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    :ng1</div><div class='del'>-    mm{</div><div class='del'>-      yield</div><div class='del'>-    }</div><div class='del'>-    :ng2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def mm</div><div class='del'>-    :ng3</div><div class='del'>-    yield</div><div class='del'>-    :ng4</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{</div><div class='del'>-    break :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  3.times{</div><div class='del'>-    break :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    throw :foo</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{false}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    throw :foo, false</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    throw :foo, nil</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    throw :foo, :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    1.times{</div><div class='del'>-      throw :foo</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    1.times{</div><div class='del'>-      throw :foo, :ok</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    catch(:bar){</div><div class='del'>-      throw :foo, :ok</div><div class='del'>-    }</div><div class='del'>-    :ng</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  catch(:foo){</div><div class='del'>-    catch(:bar){</div><div class='del'>-      1.times{</div><div class='del'>-        throw :foo, :ok</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-    :ng</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{2}, %q{</div><div class='del'>-  module Enumerable</div><div class='del'>-    def all_?</div><div class='del'>-      self.each{|e|</div><div class='del'>-        unless yield(e)</div><div class='del'>-          return false</div><div class='del'>-        end</div><div class='del'>-      }</div><div class='del'>-      true</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  xxx = 0</div><div class='del'>-  [1,2].each{|bi|</div><div class='del'>-    [3,4].each{|bj|</div><div class='del'>-      [true, nil, true].all_?{|be| be}</div><div class='del'>-      break</div><div class='del'>-    }</div><div class='del'>-    xxx += 1</div><div class='del'>-  }</div><div class='del'>-  xxx</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{</div><div class='del'>-    begin</div><div class='del'>-    ensure</div><div class='del'>-      break :ok</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-  i=0</div><div class='del'>-  m{</div><div class='del'>-    if i&gt;10</div><div class='del'>-      i*i</div><div class='del'>-    else</div><div class='del'>-      i+=1</div><div class='del'>-      next</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{</div><div class='del'>-    next :ok</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{131}, %q{</div><div class='del'>-  def m</div><div class='del'>-    yield + 10</div><div class='del'>-  end</div><div class='del'>-  i=0</div><div class='del'>-  m{</div><div class='del'>-    if i&gt;10</div><div class='del'>-      i*i</div><div class='del'>-    else</div><div class='del'>-      i+=1</div><div class='del'>-      redo</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-begin</div><div class='del'>-  eval %q{</div><div class='del'>-    1.times{</div><div class='del'>-      retry</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-rescue SyntaxError</div><div class='del'>-  :ok</div><div class='del'>-end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{3}, %q{</div><div class='del'>-  def m</div><div class='del'>-    return 3</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    :ng1</div><div class='del'>-    mm{</div><div class='del'>-      return :ok</div><div class='del'>-    }</div><div class='del'>-    :ng2</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def mm</div><div class='del'>-    :ng3</div><div class='del'>-    yield</div><div class='del'>-    :ng4</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{100}, %q{</div><div class='del'>-  $i = 0</div><div class='del'>-  def m</div><div class='del'>-    begin</div><div class='del'>-      iter{</div><div class='del'>-        return</div><div class='del'>-      }</div><div class='del'>-    ensure</div><div class='del'>-      $i = 100</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def iter</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-  $i</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  def m</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue</div><div class='del'>-      return :ok</div><div class='del'>-    end</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  def m</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-    rescue</div><div class='del'>-      return 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  def m</div><div class='del'>-    begin</div><div class='del'>-      #</div><div class='del'>-    ensure</div><div class='del'>-      return 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m</div><div class='del'>-}</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    catch {|t| throw t, :ok }</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:31609]'</div><div class='del'>-</div><div class='del'>-assert_equal "1", %q{</div><div class='del'>-  catch do |t|</div><div class='del'>-    begin</div><div class='del'>-      throw t, 1</div><div class='del'>-      2</div><div class='del'>-    ensure</div><div class='del'>-      3</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, "[ruby-dev:31698]"</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  f = 0</div><div class='del'>-  1.times do</div><div class='del'>-    begin</div><div class='del'>-      f += 1</div><div class='del'>-    ensure</div><div class='del'>-      redo unless f &gt; 2</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  -&gt; do</div><div class='del'>-    1.times do</div><div class='del'>-      begin</div><div class='del'>-        raise</div><div class='del'>-      rescue</div><div class='del'>-        return</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end.call</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  while true</div><div class='del'>-    begin</div><div class='del'>-      raise</div><div class='del'>-      next</div><div class='del'>-    rescue</div><div class='del'>-    end</div><div class='del'>-    break</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:28172]'</div><div class='del'>-</div><div class='del'>-assert_equal "true", %q{</div><div class='del'>-  class Object</div><div class='del'>-    def return_eigenclass</div><div class='del'>-      class &lt;&lt; self</div><div class='del'>-        return self</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  s = "foo"</div><div class='del'>-  s.return_eigenclass == class &lt;&lt; s; self; end</div><div class='del'>-}, '[ruby-core:21379]'</div><div class='del'>-</div><div class='del'>-assert_equal "true", %q{</div><div class='del'>-  class Object</div><div class='del'>-    def yield_eigenclass</div><div class='del'>-      class &lt;&lt; self</div><div class='del'>-        yield self</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  s = "foo"</div><div class='del'>-  s.yield_eigenclass {|c| c == class &lt;&lt; s; self; end }</div><div class='del'>-}, '[ruby-dev:40975]'</div><div class='head'>diff --git a/bootstraptest/test_literal.rb b/bootstraptest/test_literal.rb<br/>deleted file mode 100644<br/>index 0c5102c46e..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_literal.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_literal.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,229 +0,0 @@</div><div class='del'>-# empty program</div><div class='del'>-assert_equal '',                ''</div><div class='del'>-assert_equal '',                ' '</div><div class='del'>-assert_equal '',                "\n"</div><div class='del'>-</div><div class='del'>-# special const</div><div class='del'>-assert_equal 'true',            'true'</div><div class='del'>-assert_equal 'TrueClass',       'true.class'</div><div class='del'>-assert_equal 'false',           'false'</div><div class='del'>-assert_equal 'FalseClass',      'false.class'</div><div class='del'>-assert_equal '',                'nil'</div><div class='del'>-assert_equal 'nil',             'nil.inspect'</div><div class='del'>-assert_equal 'NilClass',        'nil.class'</div><div class='del'>-assert_equal 'sym',             ':sym'</div><div class='del'>-assert_equal ':sym',            ':sym.inspect'</div><div class='del'>-assert_equal 'Symbol',          ':sym.class'</div><div class='del'>-assert_equal '1234',            '1234'</div><div class='del'>-assert_equal 'Integer',         '1234.class'</div><div class='del'>-assert_equal '1234',            '1_2_3_4'</div><div class='del'>-assert_equal 'Integer',         '1_2_3_4.class'</div><div class='del'>-assert_equal '18',              '0x12'</div><div class='del'>-assert_equal 'Integer',         '0x12.class'</div><div class='del'>-assert_equal '15',              '0o17'</div><div class='del'>-assert_equal 'Integer',         '0o17.class'</div><div class='del'>-assert_equal '5',               '0b101'</div><div class='del'>-assert_equal 'Integer',         '0b101.class'</div><div class='del'>-assert_equal '123456789012345678901234567890', '123456789012345678901234567890'</div><div class='del'>-assert_equal 'Integer',         '123456789012345678901234567890.class'</div><div class='del'>-assert_equal '2.0',             '2.0'</div><div class='del'>-assert_equal 'Float',           '1.3.class'</div><div class='del'>-</div><div class='del'>-# self</div><div class='del'>-assert_equal 'main',            'self'</div><div class='del'>-assert_equal 'Object',          'self.class'</div><div class='del'>-</div><div class='del'>-# string literal</div><div class='del'>-assert_equal 'a',               '?a'</div><div class='del'>-assert_equal 'String',          '?a.class'</div><div class='del'>-assert_equal 'A',               '?A'</div><div class='del'>-assert_equal 'String',          '?A.class'</div><div class='del'>-assert_equal "\n",              '?\n'</div><div class='del'>-assert_equal 'String',          '?\n.class'</div><div class='del'>-assert_equal ' ',               '?\ '</div><div class='del'>-assert_equal 'String',          '?\ .class'</div><div class='del'>-assert_equal 'string',          "'string'"</div><div class='del'>-assert_equal 'string',          '"string"'</div><div class='del'>-assert_equal 'string',          '%(string)'</div><div class='del'>-assert_equal 'string',          '%q(string)'</div><div class='del'>-assert_equal 'string',          '%Q(string)'</div><div class='del'>-assert_equal 'string string',   '"string string"'</div><div class='del'>-assert_equal ' ',               '" "'</div><div class='del'>-assert_equal "\0",              '"\0"'</div><div class='del'>-assert_equal "\1",              '"\1"'</div><div class='del'>-assert_equal "3",               '"\x33"'</div><div class='del'>-assert_equal "\n",              '"\n"'</div><div class='del'>-</div><div class='del'>-# dynamic string literal</div><div class='del'>-assert_equal '2',               '"#{1 + 1}"'</div><div class='del'>-assert_equal '16',              '"#{2 ** 4}"'</div><div class='del'>-assert_equal 'string',          's = "string"; "#{s}"'</div><div class='del'>-</div><div class='del'>-# dynamic symbol literal</div><div class='del'>-assert_equal 'a3c',             ':"a#{1+2}c"'</div><div class='del'>-assert_equal ':a3c',            ':"a#{1+2}c".inspect'</div><div class='del'>-assert_equal 'Symbol',          ':"a#{1+2}c".class'</div><div class='del'>-</div><div class='del'>-# xstring</div><div class='del'>-assert_equal "foo\n",           %q(`echo foo`)</div><div class='del'>-assert_equal "foo\n",           %q(s = "foo"; `echo #{s}`)</div><div class='del'>-</div><div class='del'>-# regexp</div><div class='del'>-assert_equal '',                '//.source'</div><div class='del'>-assert_equal 'Regexp',          '//.class'</div><div class='del'>-assert_equal '0',               '// =~ "a"'</div><div class='del'>-assert_equal '0',               '// =~ ""'</div><div class='del'>-assert_equal 'a',               '/a/.source'</div><div class='del'>-assert_equal 'Regexp',          '/a/.class'</div><div class='del'>-assert_equal '0',               '/a/ =~ "a"'</div><div class='del'>-assert_equal '0',               '/test/ =~ "test"'</div><div class='del'>-assert_equal '',                '/test/ =~ "tes"'</div><div class='del'>-assert_equal '0',               're = /test/; re =~ "test"'</div><div class='del'>-assert_equal '0',               'str = "test"; /test/ =~ str'</div><div class='del'>-assert_equal '0',               're = /test/; str = "test"; re =~ str'</div><div class='del'>-</div><div class='del'>-# dynamic regexp</div><div class='del'>-assert_equal 'regexp',          %q(/re#{'ge'}xp/.source)</div><div class='del'>-assert_equal 'Regexp',          %q(/re#{'ge'}xp/.class)</div><div class='del'>-</div><div class='del'>-# array</div><div class='del'>-assert_equal 'Array',           '[].class'</div><div class='del'>-assert_equal '0',               '[].size'</div><div class='del'>-assert_equal '0',               '[].length'</div><div class='del'>-assert_equal '[]',              '[].inspect'</div><div class='del'>-assert_equal 'Array',           '[0].class'</div><div class='del'>-assert_equal '1',               '[3].size'</div><div class='del'>-assert_equal '[3]',             '[3].inspect'</div><div class='del'>-assert_equal '3',               'a = [3]; a[0]'</div><div class='del'>-assert_equal 'Array',           '[1,2].class'</div><div class='del'>-assert_equal '2',               '[1,2].size'</div><div class='del'>-assert_equal '[1, 2]',          '[1,2].inspect'</div><div class='del'>-assert_equal 'Array',           '[1,2,3,4,5].class'</div><div class='del'>-assert_equal '5',               '[1,2,3,4,5].size'</div><div class='del'>-assert_equal '[1, 2, 3, 4, 5]', '[1,2,3,4,5].inspect'</div><div class='del'>-assert_equal '1',               'a = [1,2]; a[0]'</div><div class='del'>-assert_equal '2',               'a = [1,2]; a[1]'</div><div class='del'>-assert_equal 'Array',           'a = [1 + 2, 3 + 4, 5 + 6]; a.class'</div><div class='del'>-assert_equal '[3, 7, 11]',      'a = [1 + 2, 3 + 4, 5 + 6]; a.inspect'</div><div class='del'>-assert_equal '7',               'a = [1 + 2, 3 + 4, 5 + 6]; a[1]'</div><div class='del'>-assert_equal '1',               '([0][0] += 1)'</div><div class='del'>-assert_equal '1',               '([2][0] -= 1)'</div><div class='del'>-assert_equal 'Array',           'a = [obj = Object.new]; a.class'</div><div class='del'>-assert_equal '1',               'a = [obj = Object.new]; a.size'</div><div class='del'>-assert_equal 'true',            'a = [obj = Object.new]; a[0] == obj'</div><div class='del'>-assert_equal '5',               'a = [1,2,3]; a[1] = 5; a[1]'</div><div class='del'>-assert_equal 'bar',             '[*:foo];:bar'</div><div class='del'>-assert_equal '[1, 2]',          'def nil.to_a; [2]; end; [1, *nil]'</div><div class='del'>-assert_equal '[1, 2]',          'def nil.to_a; [1, 2]; end; [*nil]'</div><div class='del'>-assert_equal '[0, 1, {2=&gt;3}]',  '[0, *[1], 2=&gt;3]', "[ruby-dev:31592]"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# hash</div><div class='del'>-assert_equal 'Hash',            '{}.class'</div><div class='del'>-assert_equal '{}',              '{}.inspect'</div><div class='del'>-assert_equal 'Hash',            '{1=&gt;2}.class'</div><div class='del'>-assert_equal '{1=&gt;2}',          '{1=&gt;2}.inspect'</div><div class='del'>-assert_equal '2',               'h = {1 =&gt; 2}; h[1]'</div><div class='del'>-assert_equal '0',               'h = {1 =&gt; 2}; h.delete(1); h.size'</div><div class='del'>-assert_equal '',                'h = {1 =&gt; 2}; h.delete(1); h[1]'</div><div class='del'>-assert_equal '2',               'h = {"string" =&gt; "literal", "goto" =&gt; "hell"}; h.size'</div><div class='del'>-assert_equal 'literal', 'h = {"string"=&gt;"literal", "goto"=&gt;"hell"}; h["string"]'</div><div class='del'>-assert_equal 'hell', 'h = {"string"=&gt;"literal", "goto"=&gt;"hell"}; h["goto"]'</div><div class='del'>-</div><div class='del'>-# range</div><div class='del'>-assert_equal 'Range',           '(1..2).class'</div><div class='del'>-assert_equal '1..2',            '(1..2).inspect'</div><div class='del'>-assert_equal '1',               '(1..2).begin'</div><div class='del'>-assert_equal '2',               '(1..2).end'</div><div class='del'>-assert_equal 'false',           '(1..2).exclude_end?'</div><div class='del'>-assert_equal 'Range',           'r = 1..2; r.class'</div><div class='del'>-assert_equal '1..2',            'r = 1..2; r.inspect'</div><div class='del'>-assert_equal '1',               'r = 1..2; r.begin'</div><div class='del'>-assert_equal '2',               'r = 1..2; r.end'</div><div class='del'>-assert_equal 'false',           'r = 1..2; r.exclude_end?'</div><div class='del'>-assert_equal 'Range',           '(1...3).class'</div><div class='del'>-assert_equal '1...3',           '(1...3).inspect'</div><div class='del'>-assert_equal '1',               '(1...3).begin'</div><div class='del'>-assert_equal '3',               '(1...3).end'</div><div class='del'>-assert_equal 'true',            '(1...3).exclude_end?'</div><div class='del'>-assert_equal 'Range',           'r = (1...3); r.class'</div><div class='del'>-assert_equal '1...3',           'r = (1...3); r.inspect'</div><div class='del'>-assert_equal '1',               'r = (1...3); r.begin'</div><div class='del'>-assert_equal '3',               'r = (1...3); r.end'</div><div class='del'>-assert_equal 'true',            'r = (1...3); r.exclude_end?'</div><div class='del'>-assert_equal 'Range',           'r = (1+2 .. 3+4); r.class'</div><div class='del'>-assert_equal '3..7',            'r = (1+2 .. 3+4); r.inspect'</div><div class='del'>-assert_equal '3',               'r = (1+2 .. 3+4); r.begin'</div><div class='del'>-assert_equal '7',               'r = (1+2 .. 3+4); r.end'</div><div class='del'>-assert_equal 'false',           'r = (1+2 .. 3+4); r.exclude_end?'</div><div class='del'>-assert_equal 'Range',           'r = (1+2 ... 3+4); r.class'</div><div class='del'>-assert_equal '3...7',           'r = (1+2 ... 3+4); r.inspect'</div><div class='del'>-assert_equal '3',               'r = (1+2 ... 3+4); r.begin'</div><div class='del'>-assert_equal '7',               'r = (1+2 ... 3+4); r.end'</div><div class='del'>-assert_equal 'true',            'r = (1+2 ... 3+4); r.exclude_end?'</div><div class='del'>-assert_equal 'Range',           'r = ("a".."c"); r.class'</div><div class='del'>-assert_equal '"a".."c"',        'r = ("a".."c"); r.inspect'</div><div class='del'>-assert_equal 'a',               'r = ("a".."c"); r.begin'</div><div class='del'>-assert_equal 'c',               'r = ("a".."c"); r.end'</div><div class='del'>-</div><div class='del'>-assert_equal 'String',          '__FILE__.class'</div><div class='del'>-assert_equal 'Integer',         '__LINE__.class'</div><div class='del'>-</div><div class='del'>-###</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  # this cause "called on terminated object".</div><div class='del'>-  ObjectSpace.each_object(Module) {|m| m.name.inspect }</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  begin</div><div class='del'>-    r = 0**-1</div><div class='del'>-    r + r</div><div class='del'>-  rescue</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:34524]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  begin</div><div class='del'>-    r = Marshal.load("\x04\bU:\rRational[\ai\x06i\x05")</div><div class='del'>-    r + r</div><div class='del'>-  rescue</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:34536]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  "#{}""#{}ok"</div><div class='del'>-}, '[ruby-dev:38968]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  "#{}o""#{}k""#{}"</div><div class='del'>-}, '[ruby-core:25284]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{ #  long array literal</div><div class='del'>-  x = nil</div><div class='del'>-  eval "a = [#{(1..10_000).map{'x'}.join(", ")}]"</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{ #  long array literal (optimized)</div><div class='del'>-  eval "a = [#{(1..10_000).to_a.join(", ")}]"</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{ #  long hash literal</div><div class='del'>-  x = nil</div><div class='del'>-  eval "a = {#{(1..10_000).map{|n| "#{n} =&gt; x"}.join(', ')}}"</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{ #  long hash literal (optimized)</div><div class='del'>-  eval "a = {#{(1..10_000).map{|n| "#{n} =&gt; #{n}"}.join(', ')}}"</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  [print(:ok), exit] # void literal with side-effect</div><div class='del'>-  :dummy</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_literal_suffix.rb b/bootstraptest/test_literal_suffix.rb<br/>deleted file mode 100644<br/>index 4316c9e040..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_literal_suffix.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_literal_suffix.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,54 +0,0 @@</div><div class='del'>-# numbers with suffix</div><div class='del'>-assert_equal '0/1',             '0r'</div><div class='del'>-assert_equal 'Rational',        '0r.class'</div><div class='del'>-assert_equal '1/1',             '1r'</div><div class='del'>-assert_equal 'Rational',        '1r.class'</div><div class='del'>-assert_equal '-1/1',            '-1r'</div><div class='del'>-assert_equal 'Rational',        '(-1r).class'</div><div class='del'>-assert_equal '1/1',             '0x1r'</div><div class='del'>-assert_equal 'Rational',        '0x1r.class'</div><div class='del'>-assert_equal '1/1',             '0b1r'</div><div class='del'>-assert_equal 'Rational',        '0b1r.class'</div><div class='del'>-assert_equal '1/1',             '0d1r'</div><div class='del'>-assert_equal 'Rational',        '0d1r.class'</div><div class='del'>-assert_equal '1/1',             '0o1r'</div><div class='del'>-assert_equal 'Rational',        '0o1r.class'</div><div class='del'>-assert_equal '1/1',             '01r'</div><div class='del'>-assert_equal 'Rational',        '01r.class'</div><div class='del'>-assert_equal '6/5',             '1.2r'</div><div class='del'>-assert_equal 'Rational',        '1.2r.class'</div><div class='del'>-assert_equal '-6/5',            '-1.2r'</div><div class='del'>-assert_equal 'Rational',        '(-1.2r).class'</div><div class='del'>-assert_equal '0+0i',            '0i'</div><div class='del'>-assert_equal 'Complex',         '0i.class'</div><div class='del'>-assert_equal '0+1i',            '1i'</div><div class='del'>-assert_equal 'Complex',         '1i.class'</div><div class='del'>-assert_equal '0+1i',            '0x1i'</div><div class='del'>-assert_equal 'Complex',         '0x1i.class'</div><div class='del'>-assert_equal '0+1i',            '0b1i'</div><div class='del'>-assert_equal 'Complex',         '0b1i.class'</div><div class='del'>-assert_equal '0+1i',            '0d1i'</div><div class='del'>-assert_equal 'Complex',         '0d1i.class'</div><div class='del'>-assert_equal '0+1i',            '0o1i'</div><div class='del'>-assert_equal 'Complex',         '0o1i.class'</div><div class='del'>-assert_equal '0+1i',            '01i'</div><div class='del'>-assert_equal 'Complex',         '01i.class'</div><div class='del'>-assert_equal '0+1.2i',          '1.2i'</div><div class='del'>-assert_equal 'Complex',         '1.2i.class'</div><div class='del'>-assert_equal '0+1/1i',          '1ri'</div><div class='del'>-assert_equal 'Complex',         '1ri.class'</div><div class='del'>-assert_equal '0+6/5i',          '1.2ri'</div><div class='del'>-assert_equal 'Complex',         '1.2ri.class'</div><div class='del'>-assert_equal '0+10.0i',         '1e1i'</div><div class='del'>-assert_equal 'Complex',         '1e1i.class'</div><div class='del'>-assert_equal '1',               '1if true'</div><div class='del'>-assert_equal '1',               '1rescue nil'</div><div class='del'>-assert_equal '10000000000000000001/10000000000000000000',</div><div class='del'>-             '1.0000000000000000001r'</div><div class='del'>-</div><div class='del'>-assert_equal 'syntax error, unexpected tIDENTIFIER, expecting end-of-input',</div><div class='del'>-             %q{begin eval('1ir', nil, '', 0); rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end}</div><div class='del'>-assert_equal 'syntax error, unexpected tIDENTIFIER, expecting end-of-input',</div><div class='del'>-             %q{begin eval('1.2ir', nil, '', 0); rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end}</div><div class='del'>-assert_equal 'syntax error, unexpected tIDENTIFIER, expecting end-of-input',</div><div class='del'>-             %q{begin eval('1e1r', nil, '', 0); rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end}</div><div class='head'>diff --git a/bootstraptest/test_load.rb b/bootstraptest/test_load.rb<br/>deleted file mode 100644<br/>index e63c93a8f4..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_load.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_load.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,27 +0,0 @@</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  open("require-lock-test.rb", "w") {|f|</div><div class='del'>-    f.puts "sleep 0.1"</div><div class='del'>-    f.puts "module M"</div><div class='del'>-    f.puts "end"</div><div class='del'>-  }</div><div class='del'>-  $:.unshift Dir.pwd</div><div class='del'>-  vs = (1..2).map {|i|</div><div class='del'>-    Thread.start {</div><div class='del'>-      require "require-lock-test"</div><div class='del'>-      M</div><div class='del'>-    }</div><div class='del'>-  }.map {|t| t.value }</div><div class='del'>-  vs[0] == M &amp;&amp; vs[1] == M ? :ok : :ng</div><div class='del'>-}, '[ruby-dev:32048]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  %w[a a/foo b].each {|d| Dir.mkdir(d)}</div><div class='del'>-  open("b/foo", "w") {|f| f.puts "$ok = :ok"}</div><div class='del'>-  $:.replace(%w[a b])</div><div class='del'>-  begin</div><div class='del'>-    load "foo"</div><div class='del'>-    $ok</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e.message</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:38097]'</div><div class='head'>diff --git a/bootstraptest/test_marshal.rb b/bootstraptest/test_marshal.rb<br/>deleted file mode 100644<br/>index 7e34176169..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_marshal.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_marshal.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  Marshal.load(Marshal.dump({"k"=&gt;"v"}), lambda {|v| v})</div><div class='del'>-}</div><div class='del'>-</div><div class='head'>diff --git a/bootstraptest/test_massign.rb b/bootstraptest/test_massign.rb<br/>deleted file mode 100644<br/>index 0f63dd424a..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_massign.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_massign.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,183 +0,0 @@</div><div class='del'>-assert_equal '[[1], 2, 3]', '*v1, (a, b) = [1,[2, 3]]; [v1, a, b]'</div><div class='del'>-assert_equal '[[1], 2, 3]', '*v1,(*), (a, b) = [1,:x,[2, 3]]; [v1, a, b]'</div><div class='del'>-</div><div class='del'>-assert_equal '[]',          '*a = *nil; a'</div><div class='del'>-assert_equal '[nil]',       '*a = nil; a'</div><div class='del'>-assert_equal '2',           'a, a = 1, 2; a', "[ruby-dev:31522]"</div><div class='del'>-assert_equal '[1, 2]',      'a, b = 1, 2'</div><div class='del'>-assert_equal '[1, 2]', %q{</div><div class='del'>-  ans = []</div><div class='del'>-  trace_var(:$a){|v| ans &lt;&lt; v}</div><div class='del'>-  trace_var(:$b){|v| ans &lt;&lt; v}</div><div class='del'>-  $a, $b = 1, 2</div><div class='del'>-  ans</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  r = :ok</div><div class='del'>-  :ng.tap {|(r)|}</div><div class='del'>-  r</div><div class='del'>-}, '[ruby-dev:31507]'</div><div class='del'>-</div><div class='del'>-=begin</div><div class='del'>-# generated by this script:</div><div class='del'>-</div><div class='del'>-3.times{|i|</div><div class='del'>-  8.times{|e|</div><div class='del'>-    ary = (0...e).to_a</div><div class='del'>-    a,b,c,d,e,f = nil</div><div class='del'>-    vals = %w(a b c d e f)</div><div class='del'>-    vals[i] = '*' + vals[i]</div><div class='del'>-    program = "#{vals.join(", ")} = *ary"</div><div class='del'>-    eval(program)</div><div class='del'>-    ans = [a,b,c,d,e,f]</div><div class='del'>-    puts %Q{</div><div class='del'>-      assert_equal "#{ans.inspect}", %q{</div><div class='del'>-        ary = #{ary.inspect}</div><div class='del'>-        #{program}; [a, b, c, d, e, f]</div><div class='del'>-      }}</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-=end</div><div class='del'>-</div><div class='del'>-      assert_equal "[[], nil, nil, nil, nil, nil]", %q{</div><div class='del'>-        ary = []</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[], 0, nil, nil, nil, nil]", %q{</div><div class='del'>-        ary = [0]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[], 0, 1, nil, nil, nil]", %q{</div><div class='del'>-        ary = [0, 1]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[], 0, 1, 2, nil, nil]", %q{</div><div class='del'>-        ary = [0, 1, 2]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[], 0, 1, 2, 3, nil]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[], 0, 1, 2, 3, 4]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[0], 1, 2, 3, 4, 5]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4, 5]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[[0, 1], 2, 3, 4, 5, 6]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4, 5, 6]</div><div class='del'>-        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[nil, [], nil, nil, nil, nil]", %q{</div><div class='del'>-        ary = []</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [], nil, nil, nil, nil]", %q{</div><div class='del'>-        ary = [0]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [], 1, nil, nil, nil]", %q{</div><div class='del'>-        ary = [0, 1]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [], 1, 2, nil, nil]", %q{</div><div class='del'>-        ary = [0, 1, 2]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [], 1, 2, 3, nil]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [], 1, 2, 3, 4]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [1], 2, 3, 4, 5]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4, 5]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, [1, 2], 3, 4, 5, 6]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4, 5, 6]</div><div class='del'>-        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[nil, nil, [], nil, nil, nil]", %q{</div><div class='del'>-        ary = []</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, nil, [], nil, nil, nil]", %q{</div><div class='del'>-        ary = [0]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, 1, [], nil, nil, nil]", %q{</div><div class='del'>-        ary = [0, 1]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, 1, [], 2, nil, nil]", %q{</div><div class='del'>-        ary = [0, 1, 2]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, 1, [], 2, 3, nil]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, 1, [], 2, 3, 4]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, 1, [2], 3, 4, 5]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4, 5]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      assert_equal "[0, 1, [2, 3], 4, 5, 6]", %q{</div><div class='del'>-        ary = [0, 1, 2, 3, 4, 5, 6]</div><div class='del'>-        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  a,s=[],"aaa"</div><div class='del'>-  300.times { a&lt;&lt;s; s=s.succ }</div><div class='del'>-  eval &lt;&lt;-END__</div><div class='del'>-  GC.stress=true</div><div class='del'>-  Fiber.new do</div><div class='del'>-    #{ a.join(",") },*zzz=1</div><div class='del'>-  end.resume</div><div class='del'>-  END__</div><div class='del'>-  :ok</div><div class='del'>-}, '[ruby-dev:32581]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  while true</div><div class='del'>-    *, z = 1</div><div class='del'>-    break</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}, '[ruby-dev:32892]'</div><div class='head'>diff --git a/bootstraptest/test_method.rb b/bootstraptest/test_method.rb<br/>deleted file mode 100644<br/>index 3462aa9434..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_method.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_method.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,1192 +0,0 @@</div><div class='del'>-# regular argument</div><div class='del'>-assert_equal '1',       'def m() 1 end; m()'</div><div class='del'>-assert_equal '1',       'def m(a) a end; m(1)'</div><div class='del'>-assert_equal '[1, 2]',  'def m(a,b) [a, b] end; m(1,2)'</div><div class='del'>-assert_equal '[1, 2, 3]', 'def m(a,b,c) [a, b, c] end; m(1,2,3)'</div><div class='del'>-assert_match /\Awrong number of arguments \(.*\b1\b.* 0\)\z/, %q{</div><div class='del'>-  def m; end</div><div class='del'>-  begin</div><div class='del'>-    m(1)</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e.message</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_match /\Awrong number of arguments \(.*\b0\b.* 1\)\z/, %q{</div><div class='del'>-  def m a; end</div><div class='del'>-  begin</div><div class='del'>-    m</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e.message</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# default argument</div><div class='del'>-assert_equal '1',       'def m(x=1) x end; m()'</div><div class='del'>-assert_equal '1',       'def m(x=7) x end; m(1)'</div><div class='del'>-assert_equal '1',       'def m(a,x=1) x end; m(7)'</div><div class='del'>-assert_equal '1',       'def m(a,x=7) x end; m(7,1)'</div><div class='del'>-assert_equal '1',       'def m(a,b,x=1) x end; m(7,7)'</div><div class='del'>-assert_equal '1',       'def m(a,b,x=7) x end; m(7,7,1)'</div><div class='del'>-assert_equal '1',       'def m(a,x=1,y=1) x end; m(7)'</div><div class='del'>-assert_equal '1',       'def m(a,x=1,y=1) y end; m(7)'</div><div class='del'>-assert_equal '1',       'def m(a,x=7,y=1) x end; m(7,1)'</div><div class='del'>-assert_equal '1',       'def m(a,x=7,y=1) y end; m(7,1)'</div><div class='del'>-assert_equal '1',       'def m(a,x=7,y=7) x end; m(7,1,1)'</div><div class='del'>-assert_equal '1',       'def m(a,x=7,y=7) y end; m(7,1,1)'</div><div class='del'>-</div><div class='del'>-# rest argument</div><div class='del'>-assert_equal '[]',      'def m(*a) a end; m().inspect'</div><div class='del'>-assert_equal '[1]',     'def m(*a) a end; m(1).inspect'</div><div class='del'>-assert_equal '[1, 2]',  'def m(*a) a end; m(1,2).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,*a) a end; m(7).inspect'</div><div class='del'>-assert_equal '[1]',     'def m(x,*a) a end; m(7,1).inspect'</div><div class='del'>-assert_equal '[1, 2]',  'def m(x,*a) a end; m(7,1,2).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,y,*a) a end; m(7,7).inspect'</div><div class='del'>-assert_equal '[1]',     'def m(x,y,*a) a end; m(7,7,1).inspect'</div><div class='del'>-assert_equal '[1, 2]',  'def m(x,y,*a) a end; m(7,7,1,2).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,y=7,*a) a end; m(7).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,y,z=7,*a) a end; m(7,7).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,y,z=7,*a) a end; m(7,7,7).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,y,z=7,zz=7,*a) a end; m(7,7,7).inspect'</div><div class='del'>-assert_equal '[]',      'def m(x,y,z=7,zz=7,*a) a end; m(7,7,7,7).inspect'</div><div class='del'>-assert_equal '1',       'def m(x,y,z=7,zz=1,*a) zz end; m(7,7,7).inspect'</div><div class='del'>-assert_equal '1',       'def m(x,y,z=7,zz=1,*a) zz end; m(7,7,7).inspect'</div><div class='del'>-assert_equal '1',       'def m(x,y,z=7,zz=7,*a) zz end; m(7,7,7,1).inspect'</div><div class='del'>-</div><div class='del'>-# block argument</div><div class='del'>-assert_equal 'Proc',    'def m(&amp;block) block end; m{}.class'</div><div class='del'>-assert_equal 'nil',     'def m(&amp;block) block end; m().inspect'</div><div class='del'>-assert_equal 'Proc',    'def m(a,&amp;block) block end; m(7){}.class'</div><div class='del'>-assert_equal 'nil',     'def m(a,&amp;block) block end; m(7).inspect'</div><div class='del'>-assert_equal '1',       'def m(a,&amp;block) a end; m(1){}'</div><div class='del'>-assert_equal 'Proc',    'def m(a,b=nil,&amp;block) block end; m(7){}.class'</div><div class='del'>-assert_equal 'nil',     'def m(a,b=nil,&amp;block) block end; m(7).inspect'</div><div class='del'>-assert_equal 'Proc',    'def m(a,b=nil,&amp;block) block end; m(7,7){}.class'</div><div class='del'>-assert_equal '1',       'def m(a,b=nil,&amp;block) b end; m(7,1){}'</div><div class='del'>-assert_equal 'Proc',    'def m(a,b=nil,*c,&amp;block) block end; m(7){}.class'</div><div class='del'>-assert_equal 'nil',     'def m(a,b=nil,*c,&amp;block) block end; m(7).inspect'</div><div class='del'>-assert_equal '1',       'def m(a,b=nil,*c,&amp;block) a end; m(1).inspect'</div><div class='del'>-assert_equal '1',       'def m(a,b=1,*c,&amp;block) b end; m(7).inspect'</div><div class='del'>-assert_equal '1',       'def m(a,b=7,*c,&amp;block) b end; m(7,1).inspect'</div><div class='del'>-assert_equal '[1]',     'def m(a,b=7,*c,&amp;block) c end; m(7,7,1).inspect'</div><div class='del'>-</div><div class='del'>-# splat</div><div class='del'>-assert_equal '1',       'def m(a) a end; m(*[1])'</div><div class='del'>-assert_equal '1',       'def m(x,a) a end; m(7,*[1])'</div><div class='del'>-assert_equal '1',       'def m(x,y,a) a end; m(7,7,*[1])'</div><div class='del'>-assert_equal '1',       'def m(a,b) a end; m(*[1,7])'</div><div class='del'>-assert_equal '1',       'def m(a,b) b end; m(*[7,1])'</div><div class='del'>-assert_equal '1',       'def m(x,a,b) b end; m(7,*[7,1])'</div><div class='del'>-assert_equal '1',       'def m(x,y,a,b) b end; m(7,7,*[7,1])'</div><div class='del'>-assert_equal '1',       'def m(a,b,c) a end; m(*[1,7,7])'</div><div class='del'>-assert_equal '1',       'def m(a,b,c) b end; m(*[7,1,7])'</div><div class='del'>-assert_equal '1',       'def m(a,b,c) c end; m(*[7,7,1])'</div><div class='del'>-assert_equal '1',       'def m(x,a,b,c) a end; m(7,*[1,7,7])'</div><div class='del'>-assert_equal '1',       'def m(x,y,a,b,c) a end; m(7,7,*[1,7,7])'</div><div class='del'>-</div><div class='del'>-# hash argument</div><div class='del'>-assert_equal '1',       'def m(h) h end; m(7=&gt;1)[7]'</div><div class='del'>-assert_equal '1',       'def m(h) h end; m(7=&gt;1).size'</div><div class='del'>-assert_equal '1',       'def m(h) h end; m(7=&gt;1, 8=&gt;7)[7]'</div><div class='del'>-assert_equal '2',       'def m(h) h end; m(7=&gt;1, 8=&gt;7).size'</div><div class='del'>-assert_equal '1',       'def m(h) h end; m(7=&gt;1, 8=&gt;7, 9=&gt;7)[7]'</div><div class='del'>-assert_equal '3',       'def m(h) h end; m(7=&gt;1, 8=&gt;7, 9=&gt;7).size'</div><div class='del'>-assert_equal '1',       'def m(x,h) h end; m(7, 7=&gt;1)[7]'</div><div class='del'>-assert_equal '1',       'def m(x,h) h end; m(7, 7=&gt;1, 8=&gt;7)[7]'</div><div class='del'>-assert_equal '1',       'def m(x,h) h end; m(7, 7=&gt;1, 8=&gt;7, 9=&gt;7)[7]'</div><div class='del'>-assert_equal '1',       'def m(x,y,h) h end; m(7,7, 7=&gt;1)[7]'</div><div class='del'>-assert_equal '1',       'def m(x,y,h) h end; m(7,7, 7=&gt;1, 8=&gt;7)[7]'</div><div class='del'>-assert_equal '1',       'def m(x,y,h) h end; m(7,7, 7=&gt;1, 8=&gt;7, 9=&gt;7)[7]'</div><div class='del'>-</div><div class='del'>-# block argument</div><div class='del'>-assert_equal '1',       %q(def m(&amp;block) mm(&amp;block) end</div><div class='del'>-                           def mm() yield 1 end</div><div class='del'>-                           m {|a| a })</div><div class='del'>-assert_equal '1',       %q(def m(x,&amp;block) mm(x,&amp;block) end</div><div class='del'>-                           def mm(x) yield 1 end</div><div class='del'>-                           m(7) {|a| a })</div><div class='del'>-assert_equal '1',       %q(def m(x,y,&amp;block) mm(x,y,&amp;block) end</div><div class='del'>-                           def mm(x,y) yield 1 end</div><div class='del'>-                           m(7,7) {|a| a })</div><div class='del'>-</div><div class='del'>-# recursive call</div><div class='del'>-assert_equal '1',       %q(def m(n) n == 0 ? 1 : m(n-1) end; m(5))</div><div class='del'>-</div><div class='del'>-# instance method</div><div class='del'>-assert_equal '1',       %q(class C; def m() 1 end end;  C.new.m)</div><div class='del'>-assert_equal '1',       %q(class C; def m(a) a end end;  C.new.m(1))</div><div class='del'>-assert_equal '1',       %q(class C; def m(a = 1) a end end;  C.new.m)</div><div class='del'>-assert_equal '[1]',     %q(class C; def m(*a) a end end;  C.new.m(1).inspect)</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def m() mm() end</div><div class='del'>-                              def mm() 1 end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-</div><div class='del'>-# singleton method (const)</div><div class='del'>-assert_equal '1',       %q(class C; def C.m() 1 end end;  C.m)</div><div class='del'>-assert_equal '1',       %q(class C; def C.m(a) a end end;  C.m(1))</div><div class='del'>-assert_equal '1',       %q(class C; def C.m(a = 1) a end end;  C.m)</div><div class='del'>-assert_equal '[1]',     %q(class C; def C.m(*a) a end end;  C.m(1).inspect)</div><div class='del'>-assert_equal '1',       %q(class C; end; def C.m() 1 end;  C.m)</div><div class='del'>-assert_equal '1',       %q(class C; end; def C.m(a) a end;  C.m(1))</div><div class='del'>-assert_equal '1',       %q(class C; end; def C.m(a = 1) a end;  C.m)</div><div class='del'>-assert_equal '[1]',     %q(class C; end; def C.m(*a) a end;  C.m(1).inspect)</div><div class='del'>-assert_equal '1',       %q(class C; def m() 7 end end; def C.m() 1 end;  C.m)</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def C.m() mm() end</div><div class='del'>-                              def C.mm() 1 end</div><div class='del'>-                            end</div><div class='del'>-                            C.m )</div><div class='del'>-</div><div class='del'>-# singleton method (lvar)</div><div class='del'>-assert_equal '1',       %q(obj = Object.new; def obj.m() 1 end;  obj.m)</div><div class='del'>-assert_equal '1',       %q(obj = Object.new; def obj.m(a) a end;  obj.m(1))</div><div class='del'>-assert_equal '1',       %q(obj = Object.new; def obj.m(a=1) a end;  obj.m)</div><div class='del'>-assert_equal '[1]',     %q(obj = Object.new; def obj.m(*a) a end;  obj.m(1))</div><div class='del'>-assert_equal '1',       %q(class C; def m() 7 end; end</div><div class='del'>-                           obj = C.new</div><div class='del'>-                           def obj.m() 1 end</div><div class='del'>-                           obj.m)</div><div class='del'>-</div><div class='del'>-# inheritance</div><div class='del'>-assert_equal '1',       %q(class A; def m(a) a end end</div><div class='del'>-                           class B &lt; A; end</div><div class='del'>-                           B.new.m(1))</div><div class='del'>-assert_equal '1',       %q(class A; end</div><div class='del'>-                           class B &lt; A; def m(a) a end end</div><div class='del'>-                           B.new.m(1))</div><div class='del'>-assert_equal '1',       %q(class A; def m(a) a end end</div><div class='del'>-                           class B &lt; A; end</div><div class='del'>-                           class C &lt; B; end</div><div class='del'>-                           C.new.m(1))</div><div class='del'>-</div><div class='del'>-# include</div><div class='del'>-assert_equal '1',       %q(class A; def m(a) a end end</div><div class='del'>-                           module M; end</div><div class='del'>-                           class B &lt; A; include M; end</div><div class='del'>-                           B.new.m(1))</div><div class='del'>-assert_equal '1',       %q(class A; end</div><div class='del'>-                           module M; def m(a) a end end</div><div class='del'>-                           class B &lt; A; include M; end</div><div class='del'>-                           B.new.m(1))</div><div class='del'>-</div><div class='del'>-# alias</div><div class='del'>-assert_equal '1',       %q( def a() 1 end</div><div class='del'>-                            alias m a</div><div class='del'>-                            m() )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def a() 1 end</div><div class='del'>-                              alias m a</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def a() 1 end</div><div class='del'>-                              alias :m a</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def a() 1 end</div><div class='del'>-                              alias m :a</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def a() 1 end</div><div class='del'>-                              alias :m :a</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def a() 1 end</div><div class='del'>-                              alias m a</div><div class='del'>-                              undef a</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-</div><div class='del'>-# undef</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def m() end</div><div class='del'>-                              undef m</div><div class='del'>-                            end</div><div class='del'>-                            begin C.new.m; rescue NoMethodError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class A</div><div class='del'>-                              def m() end</div><div class='del'>-                            end</div><div class='del'>-                            class C &lt; A</div><div class='del'>-                              def m() end</div><div class='del'>-                              undef m</div><div class='del'>-                            end</div><div class='del'>-                            begin C.new.m; rescue NoMethodError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class A; def a() end end   # [yarv-dev:999]</div><div class='del'>-                            class B &lt; A</div><div class='del'>-                              def b() end</div><div class='del'>-                              undef a, b</div><div class='del'>-                            end</div><div class='del'>-                            begin B.new.a; rescue NoMethodError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class A; def a() end end   # [yarv-dev:999]</div><div class='del'>-                            class B &lt; A</div><div class='del'>-                              def b() end</div><div class='del'>-                              undef a, b</div><div class='del'>-                            end</div><div class='del'>-                            begin B.new.b; rescue NoMethodError; 1 end )</div><div class='del'>-</div><div class='del'>-assert_equal '3',  %q{</div><div class='del'>-  def m1</div><div class='del'>-    1</div><div class='del'>-  end</div><div class='del'>-  alias m2 m1</div><div class='del'>-  alias :"#{'m3'}" m1</div><div class='del'>-  m1 + m2 + m3</div><div class='del'>-}, '[ruby-dev:32308]'</div><div class='del'>-assert_equal '1', %q{</div><div class='del'>-  def foobar</div><div class='del'>-  end</div><div class='del'>-  undef :"foo#{:bar}"</div><div class='del'>-  1</div><div class='del'>-}, '[ruby-dev:32308]'</div><div class='del'>-assert_equal '1', %q{</div><div class='del'>-  def foobar</div><div class='del'>-    1</div><div class='del'>-  end</div><div class='del'>-  alias :"bar#{:baz}" :"foo#{:bar}"</div><div class='del'>-  barbaz</div><div class='del'>-}, '[ruby-dev:32308]'</div><div class='del'>-</div><div class='del'>-# private</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def m() mm() end</div><div class='del'>-                              def mm() 1 end</div><div class='del'>-                              private :mm</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def m() 7 end</div><div class='del'>-                              private :m</div><div class='del'>-                            end</div><div class='del'>-                            begin C.m; rescue NoMethodError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def C.m() mm() end</div><div class='del'>-                              def C.mm() 1 end</div><div class='del'>-                              private_class_method :mm</div><div class='del'>-                            end</div><div class='del'>-                            C.m )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def C.m() 7 end</div><div class='del'>-                              private_class_method :m</div><div class='del'>-                            end</div><div class='del'>-                            begin C.m; rescue NoMethodError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class C; def m() 1 end end</div><div class='del'>-                            C.new.m   # cache</div><div class='del'>-                            class C</div><div class='del'>-                              alias mm m; private :mm</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m</div><div class='del'>-                            begin C.new.mm; 7; rescue NoMethodError; 1 end )</div><div class='del'>-</div><div class='del'>-# nested method</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def m</div><div class='del'>-                                def mm() 1 end</div><div class='del'>-                              end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m</div><div class='del'>-                            C.new.mm )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def m</div><div class='del'>-                                def mm() 1 end</div><div class='del'>-                              end</div><div class='del'>-                            end</div><div class='del'>-                            instance_eval "C.new.m; C.new.mm" )</div><div class='del'>-</div><div class='del'>-# method_missing</div><div class='del'>-assert_equal ':m',      %q( class C</div><div class='del'>-                              def method_missing(mid, *args) mid end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m.inspect )</div><div class='del'>-assert_equal ':mm',     %q( class C</div><div class='del'>-                              def method_missing(mid, *args) mid end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.mm.inspect )</div><div class='del'>-assert_equal '[1, 2]',  %q( class C</div><div class='del'>-                              def method_missing(mid, *args) args end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m(1,2).inspect )</div><div class='del'>-assert_equal '1',       %q( class C</div><div class='del'>-                              def method_missing(mid, *args) yield 1 end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m {|a| a })</div><div class='del'>-assert_equal 'nil',     %q( class C</div><div class='del'>-                              def method_missing(mid, *args, &amp;block) block end</div><div class='del'>-                            end</div><div class='del'>-                            C.new.m.inspect )</div><div class='del'>-</div><div class='del'>-# send</div><div class='del'>-assert_equal '1',       %q( class C; def m() 1 end end;</div><div class='del'>-                            C.new.__send__(:m) )</div><div class='del'>-assert_equal '1',       %q( class C; def m() 1 end end;</div><div class='del'>-                            C.new.send(:m) )</div><div class='del'>-assert_equal '1',       %q( class C; def m(a) a end end;</div><div class='del'>-                            C.new.send(:m,1) )</div><div class='del'>-assert_equal '1',       %q( class C; def m(a,b) a end end;</div><div class='del'>-                            C.new.send(:m,1,7) )</div><div class='del'>-assert_equal '1',       %q( class C; def m(x,a=1) a end end;</div><div class='del'>-                            C.new.send(:m,7) )</div><div class='del'>-assert_equal '1',       %q( class C; def m(x,a=7) a end end;</div><div class='del'>-                            C.new.send(:m,7,1) )</div><div class='del'>-assert_equal '[1, 2]',  %q( class C; def m(*a) a end end;</div><div class='del'>-                            C.new.send(:m,1,2).inspect )</div><div class='del'>-assert_equal '1',       %q( class C; def m() 7 end; private :m end</div><div class='del'>-                            begin C.new.public_send(:m); rescue NoMethodError; 1 end )</div><div class='del'>-assert_equal '1',       %q( class C; def m() 1 end; private :m end</div><div class='del'>-                            C.new.send(:m) )</div><div class='del'>-</div><div class='del'>-# with block</div><div class='del'>-assert_equal '[[:ok1, :foo], [:ok2, :foo, :bar]]',</div><div class='del'>-%q{</div><div class='del'>-  class C</div><div class='del'>-    def [](a)</div><div class='del'>-      $ary &lt;&lt; [yield, a]</div><div class='del'>-    end</div><div class='del'>-    def []=(a, b)</div><div class='del'>-      $ary &lt;&lt; [yield, a, b]</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  $ary = []</div><div class='del'>-  C.new[:foo, &amp;lambda{:ok1}]</div><div class='del'>-  C.new[:foo, &amp;lambda{:ok2}] = :bar</div><div class='del'>-  $ary</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# with</div><div class='del'>-assert_equal '[:ok1, [:ok2, 11]]', %q{</div><div class='del'>-  class C</div><div class='del'>-    def []</div><div class='del'>-      $ary &lt;&lt; :ok1</div><div class='del'>-      10</div><div class='del'>-    end</div><div class='del'>-    def []=(a)</div><div class='del'>-      $ary &lt;&lt; [:ok2, a]</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  $ary = []</div><div class='del'>-  C.new[]+=1</div><div class='del'>-  $ary</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# splat and block arguments</div><div class='del'>-assert_equal %q{[[[:x, :y, :z], NilClass], [[1, :x, :y, :z], NilClass], [[1, 2, :x, :y, :z], NilClass], [[:obj], NilClass], [[1, :obj], NilClass], [[1, 2, :obj], NilClass], [[], Proc], [[1], Proc], [[1, 2], Proc], [[], Proc], [[1], Proc], [[1, 2], Proc], [[:x, :y, :z], Proc], [[1, :x, :y, :z], Proc], [[1, 2, :x, :y, :z], Proc]]}, %q{</div><div class='del'>-def m(*args, &amp;b)</div><div class='del'>-  $result &lt;&lt; [args, b.class]</div><div class='del'>-end</div><div class='del'>-$result = []</div><div class='del'>-ary = [:x, :y, :z]</div><div class='del'>-obj = :obj</div><div class='del'>-b = Proc.new{}</div><div class='del'>-</div><div class='del'>-m(*ary)</div><div class='del'>-m(1,*ary)</div><div class='del'>-m(1,2,*ary)</div><div class='del'>-m(*obj)</div><div class='del'>-m(1,*obj)</div><div class='del'>-m(1,2,*obj)</div><div class='del'>-m(){}</div><div class='del'>-m(1){}</div><div class='del'>-m(1,2){}</div><div class='del'>-m(&amp;b)</div><div class='del'>-m(1,&amp;b)</div><div class='del'>-m(1,2,&amp;b)</div><div class='del'>-m(*ary,&amp;b)</div><div class='del'>-m(1,*ary,&amp;b)</div><div class='del'>-m(1,2,*ary,&amp;b)</div><div class='del'>-$result</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# aset and splat</div><div class='del'>-assert_equal '4', %q{class Foo;def []=(a,b,c,d);end;end;Foo.new[1,*a=[2,3]]=4}</div><div class='del'>-assert_equal '4', %q{class Foo;def []=(a,b,c,d);end;end;def m(&amp;blk)Foo.new[1,*a=[2,3],&amp;blk]=4;end;m{}}</div><div class='del'>-</div><div class='del'>-# post test</div><div class='del'>-assert_equal %q{[1, 2, :o1, :o2, [], 3, 4, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, :o2, [], 4, 5, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [], 5, 6, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5], 6, 7, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6], 7, 8, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6, 7], 8, 9, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8, 9)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8], 9, 10, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8, 9], 10, 11, NilClass, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, :o1, :o2, [], 3, 4, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, :o2, [], 4, 5, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [], 5, 6, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5], 6, 7, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6], 7, 8, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6, 7], 8, 9, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8, 9){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8], 9, 10, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8, 9], 10, 11, Proc, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, :o1, :o2, [], 3, 4, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, :o2, [], 4, 5, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[1, 2, 3, 4, [], 5, 6, nil, nil]}, %q{</div><div class='del'>-def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)</div><div class='del'>-  x, y = :x, :y if $foo</div><div class='del'>-  [m1, m2, o1, o2, r, p1, p2, x, y]</div><div class='del'>-end</div><div class='del'>-; m(1, 2, 3, 4, 5, 6)}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#</div><div class='del'>-# super</div><div class='del'>-#</div><div class='del'>-=begin</div><div class='del'>-# below programs are generated by this program:</div><div class='del'>-</div><div class='del'>-BASE = &lt;&lt;EOS__</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; &lt;TEST&gt;; super; end; end</div><div class='del'>-EOS__</div><div class='del'>-</div><div class='del'>-tests = {</div><div class='del'>-%q{</div><div class='del'>-  def m</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-%q{</div><div class='del'>-  def m a</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-},</div><div class='del'>-%q{</div><div class='del'>-  def m a</div><div class='del'>-    a = :a</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-%q{</div><div class='del'>-  def m a, o=:o</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-},</div><div class='del'>-%q{</div><div class='del'>-  def m a, o=:o</div><div class='del'>-    a = :a</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-},</div><div class='del'>-%q{</div><div class='del'>-  def m a, o=:o</div><div class='del'>-    o = :x</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-%q{</div><div class='del'>-  def m a, *r</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-  C1.new.m 1, 2, 3</div><div class='del'>-},</div><div class='del'>-%q{</div><div class='del'>-  def m a, *r</div><div class='del'>-    r = [:x, :y]</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-  C1.new.m 1, 2, 3</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-%q{</div><div class='del'>-  def m a, o=:o, *r</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-  C1.new.m 1, 2, 3</div><div class='del'>-  C1.new.m 1, 2, 3, 4</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-%q{</div><div class='del'>-  def m a, o=:o, *r, &amp;b</div><div class='del'>-} =&gt; %q{</div><div class='del'>-  C1.new.m 1</div><div class='del'>-  C1.new.m 1, 2</div><div class='del'>-  C1.new.m 1, 2, 3</div><div class='del'>-  C1.new.m 1, 2, 3, 4</div><div class='del'>-  C1.new.m(1){}</div><div class='del'>-  C1.new.m(1, 2){}</div><div class='del'>-  C1.new.m(1, 2, 3){}</div><div class='del'>-  C1.new.m(1, 2, 3, 4){}</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-"def m(m1, m2, o1=:o1, o2=:o2, p1, p2)" =&gt;</div><div class='del'>-%q{</div><div class='del'>-C1.new.m(1,2,3,4)</div><div class='del'>-C1.new.m(1,2,3,4,5)</div><div class='del'>-C1.new.m(1,2,3,4,5,6)</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-"def m(m1, m2, *r, p1, p2)" =&gt;</div><div class='del'>-%q{</div><div class='del'>-C1.new.m(1,2,3,4)</div><div class='del'>-C1.new.m(1,2,3,4,5)</div><div class='del'>-C1.new.m(1,2,3,4,5,6)</div><div class='del'>-C1.new.m(1,2,3,4,5,6,7)</div><div class='del'>-C1.new.m(1,2,3,4,5,6,7,8)</div><div class='del'>-},</div><div class='del'>-#</div><div class='del'>-"def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)" =&gt;</div><div class='del'>-%q{</div><div class='del'>-C1.new.m(1,2,3,4)</div><div class='del'>-C1.new.m(1,2,3,4,5)</div><div class='del'>-C1.new.m(1,2,3,4,5,6)</div><div class='del'>-C1.new.m(1,2,3,4,5,6,7)</div><div class='del'>-C1.new.m(1,2,3,4,5,6,7,8)</div><div class='del'>-C1.new.m(1,2,3,4,5,6,7,8,9)</div><div class='del'>-},</div><div class='del'>-</div><div class='del'>-###</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-tests.each{|setup, methods| setup = setup.dup; setup.strip!</div><div class='del'>-  setup = BASE.gsub(/&lt;TEST&gt;/){setup}</div><div class='del'>-  methods.split(/\n/).each{|m| m = m.dup; m.strip!</div><div class='del'>-    next if m.empty?</div><div class='del'>-    expr = "#{setup}; #{m}"</div><div class='del'>-    result = eval(expr)</div><div class='del'>-    puts "assert_equal %q{#{result.inspect}}, %q{\n#{expr}}"</div><div class='del'>-    puts</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-=end</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, :o1, :o2, 3, 4]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, :o2, 4, 5]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='del'>-; C1.new.m 1, 2, 3}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='del'>-; C1.new.m 1, 2, 3, 4}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [:a]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a</div><div class='del'>-    a = :a; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6,7)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7, 8]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6,7,8)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m 1, 2, 3}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m 1, 2, 3, 4}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m(1){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m(1, 2){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m(1, 2, 3){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='del'>-; C1.new.m(1, 2, 3, 4){}}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :x]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o</div><div class='del'>-    o = :x; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :x]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o</div><div class='del'>-    o = :x; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [:a, :o]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o</div><div class='del'>-    a = :a; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [:a, 2]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o</div><div class='del'>-    a = :a; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :x, :y]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, *r</div><div class='del'>-    r = [:x, :y]; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :x, :y]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, *r</div><div class='del'>-    r = [:x, :y]; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :x, :y]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, *r</div><div class='del'>-    r = [:x, :y]; super; end; end</div><div class='del'>-; C1.new.m 1, 2, 3}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, :o1, :o2, 3, 4]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, :o2, 4, 5]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6,7)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7, 8]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6,7,8)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7, 8, 9]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='del'>-; C1.new.m(1,2,3,4,5,6,7,8,9)}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, *r; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, *r; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, *r; super; end; end</div><div class='del'>-; C1.new.m 1, 2, 3}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, []]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m; super; end; end</div><div class='del'>-; C1.new.m}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o; super; end; end</div><div class='del'>-; C1.new.m 1}</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='del'>-class C0; def m *args; [:C0_m, args]; end; end</div><div class='del'>-class C1 &lt; C0; def m a, o=:o; super; end; end</div><div class='del'>-; C1.new.m 1, 2}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    def x=(n)</div><div class='del'>-    end</div><div class='del'>-    def m</div><div class='del'>-      self.x = :ok</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.m</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  proc{</div><div class='del'>-    $SAFE = 1</div><div class='del'>-    class C</div><div class='del'>-      def m</div><div class='del'>-        :ok</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  }.call</div><div class='del'>-  C.new.m</div><div class='del'>-}, '[ruby-core:11998]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class B</div><div class='del'>-    def m() :fail end</div><div class='del'>-  end</div><div class='del'>-  class C &lt; B</div><div class='del'>-    undef m</div><div class='del'>-    begin</div><div class='del'>-      remove_method :m</div><div class='del'>-    rescue NameError</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    C.new.m</div><div class='del'>-  rescue NameError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:31816], [ruby-dev:31817]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  begin</div><div class='del'>-    Process.setrlimit(Process::RLIMIT_STACK, 4_206_592)</div><div class='del'>-    # FreeBSD SEGVs this less than 4M + 12K bytes.</div><div class='del'>-  rescue Exception</div><div class='del'>-    exit</div><div class='del'>-  end</div><div class='del'>-  class C</div><div class='del'>-    attr "a" * (10*1024*1024)</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:31818]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class Module</div><div class='del'>-    def define_method2(name, &amp;block)</div><div class='del'>-      define_method(name, &amp;block)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  class C</div><div class='del'>-    define_method2(:m) {|x, y| :fail }</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    C.new.m([1,2])</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_not_match /method_missing/, %q{</div><div class='del'>-  STDERR.reopen(STDOUT)</div><div class='del'>-  variable_or_mehtod_not_exist</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal '[false, false, false, false, true, true]', %q{</div><div class='del'>-  class C</div><div class='del'>-    define_method(:foo) {</div><div class='del'>-      block_given?</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  C.new.foo {}</div><div class='del'>-</div><div class='del'>-  class D</div><div class='del'>-    def foo</div><div class='del'>-      D.module_eval{</div><div class='del'>-        define_method(:m1){</div><div class='del'>-          block_given?</div><div class='del'>-        }</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-    def bar</div><div class='del'>-      D.module_eval{</div><div class='del'>-        define_method(:m2){</div><div class='del'>-          block_given?</div><div class='del'>-        }</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  D.new.foo</div><div class='del'>-  D.new.bar{}</div><div class='del'>-  [C.new.foo, C.new.foo{}, D.new.m1, D.new.m1{}, D.new.m2, D.new.m2{}]</div><div class='del'>-}, '[ruby-core:14813]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class Foo</div><div class='del'>-    define_method(:foo) do |&amp;b|</div><div class='del'>-      b.call</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  Foo.new.foo do</div><div class='del'>-    break :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:36028]'</div><div class='del'>-</div><div class='del'>-assert_equal '[1, 2, [3, 4]]', %q{</div><div class='del'>-  def regular(a, b, *c)</div><div class='del'>-    [a, b, c]</div><div class='del'>-  end</div><div class='del'>-  regular(*[], 1, *[], *[2, 3], *[], 4)</div><div class='del'>-}, '[ruby-core:19413]'</div><div class='del'>-</div><div class='del'>-assert_equal '[1, [:foo, 3, 4, :foo]]', %q{</div><div class='del'>-  def regular(a, *b)</div><div class='del'>-    [a, b]</div><div class='del'>-  end</div><div class='del'>-  a = b = [:foo]</div><div class='del'>-  regular(1, *a, *[3, 4], *b)</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal '["B", "A"]', %q{</div><div class='del'>-  class A</div><div class='del'>-    def m</div><div class='del'>-      'A'</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class B &lt; A</div><div class='del'>-    define_method(:m) do</div><div class='del'>-      ['B', super()]</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  class C &lt; B</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  C.new.m</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  module Foo</div><div class='del'>-    def foo</div><div class='del'>-      begin</div><div class='del'>-        super</div><div class='del'>-      rescue NoMethodError</div><div class='del'>-        :ok</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    module_function :foo</div><div class='del'>-  end</div><div class='del'>-  Foo.foo</div><div class='del'>-}, '[ruby-dev:37587]'</div><div class='del'>-</div><div class='del'>-assert_equal 'Object#foo', %q{</div><div class='del'>-  class Object</div><div class='del'>-    def self.foo</div><div class='del'>-      "Object.foo"</div><div class='del'>-    end</div><div class='del'>-    def foo</div><div class='del'>-      "Object#foo"</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  module Foo</div><div class='del'>-    def foo</div><div class='del'>-      begin</div><div class='del'>-        super</div><div class='del'>-      rescue NoMethodError</div><div class='del'>-        :ok</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    module_function :foo</div><div class='del'>-  end</div><div class='del'>-  Foo.foo</div><div class='del'>-}, '[ruby-dev:37587]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  class BasicObject</div><div class='del'>-    remove_method :method_missing</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    "a".lalala!</div><div class='del'>-  rescue NoMethodError =&gt; e</div><div class='del'>-    e.message == "undefined method `lalala!' for \"a\":String" ? :ok : :ng</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:22298]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  "hello"[0] ||= "H"</div><div class='del'>-  "ok"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  "hello"[0, 1] ||= "H"</div><div class='del'>-  "ok"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    define_method(:foo) do</div><div class='del'>-      C.class_eval { remove_method(:foo) }</div><div class='del'>-      super()</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  begin</div><div class='del'>-    C.new.foo</div><div class='del'>-  rescue NoMethodError</div><div class='del'>-    'ok'</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  [0][0, &amp;proc{}] += 21</div><div class='del'>-  'ok'</div><div class='del'>-}, '[ruby-core:30534]'</div><div class='del'>-</div><div class='del'>-# should not cache when splat</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class C</div><div class='del'>-    attr_reader :a</div><div class='del'>-    def initialize</div><div class='del'>-      @a = 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m *args</div><div class='del'>-    C.new.a(*args)</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m()</div><div class='del'>-  begin</div><div class='del'>-    m(1)</div><div class='del'>-  rescue ArgumentError</div><div class='del'>-    'ok'</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'DC', %q{</div><div class='del'>-  $result = []</div><div class='del'>-</div><div class='del'>-  class C</div><div class='del'>-    def foo *args</div><div class='del'>-      $result &lt;&lt; 'C'</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  class D</div><div class='del'>-    def foo *args</div><div class='del'>-      $result &lt;&lt; 'D'</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  o1 = $o1 = C.new</div><div class='del'>-  o2 = $o2 = D.new</div><div class='del'>-</div><div class='del'>-  args = Object.new</div><div class='del'>-  def args.to_a</div><div class='del'>-    test1 $o2, nil</div><div class='del'>-    []</div><div class='del'>-  end</div><div class='del'>-  def test1 o, args</div><div class='del'>-    o.foo(*args)</div><div class='del'>-  end</div><div class='del'>-  test1 o1, args</div><div class='del'>-  $result.join</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'DC', %q{</div><div class='del'>-  $result = []</div><div class='del'>-</div><div class='del'>-  class C</div><div class='del'>-    def foo *args</div><div class='del'>-      $result &lt;&lt; 'C'</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  class D</div><div class='del'>-    def foo *args</div><div class='del'>-      $result &lt;&lt; 'D'</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  o1 = $o1 = C.new</div><div class='del'>-  o2 = $o2 = D.new</div><div class='del'>-</div><div class='del'>-  block = Object.new</div><div class='del'>-  def block.to_proc</div><div class='del'>-    test2 $o2, %w(a, b, c), nil</div><div class='del'>-    Proc.new{}</div><div class='del'>-  end</div><div class='del'>-  def test2 o, args, block</div><div class='del'>-    o.foo(*args, &amp;block)</div><div class='del'>-  end</div><div class='del'>-  test2 o1, [], block</div><div class='del'>-  $result.join</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_objectspace.rb b/bootstraptest/test_objectspace.rb<br/>deleted file mode 100644<br/>index 24a1a0ce2c..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_objectspace.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_objectspace.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,46 +0,0 @@</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  eval("", TOPLEVEL_BINDING)</div><div class='del'>-  minobj = ObjectSpace.to_enum(:each_object).min_by {|a| a.object_id }</div><div class='del'>-  maxobj = ObjectSpace.to_enum(:each_object).max_by {|a| a.object_id }</div><div class='del'>-  (((minobj.object_id-100)..(minobj.object_id+100))+</div><div class='del'>-   ((maxobj.object_id-100)..(maxobj.object_id+100))).each {|id|</div><div class='del'>-    begin</div><div class='del'>-      o = ObjectSpace._id2ref(id)</div><div class='del'>-    rescue RangeError</div><div class='del'>-      next</div><div class='del'>-    end</div><div class='del'>-    o.inspect if defined?(o.inspect)</div><div class='del'>-  }</div><div class='del'>-}, '[ruby-dev:31911]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  ary = (1..10).to_a</div><div class='del'>-  ary.permutation(2) {|x|</div><div class='del'>-    if x == [1,2]</div><div class='del'>-      ObjectSpace.each_object(String) {|s|</div><div class='del'>-        s.clear if !s.frozen? &amp;&amp; (s.length == 40 || s.length == 80)</div><div class='del'>-      }</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}, '[ruby-dev:31982]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  ary = (1..100).to_a</div><div class='del'>-  ary.permutation(2) {|x|</div><div class='del'>-    if x == [1,2]</div><div class='del'>-      ObjectSpace.each_object(Array) {|o| o.clear if o == ary &amp;&amp; o.object_id != ary.object_id }</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-}, '[ruby-dev:31985]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  ObjectSpace.define_finalizer("") do</div><div class='del'>-    Thread::Mutex.new.lock</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:44049]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  ObjectSpace.define_finalizer("") do</div><div class='del'>-    Thread.new {}</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:37858]'</div><div class='head'>diff --git a/bootstraptest/test_proc.rb b/bootstraptest/test_proc.rb<br/>deleted file mode 100644<br/>index 1e384411dc..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_proc.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_proc.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,483 +0,0 @@</div><div class='del'>-assert_equal %q{[1, 2, 3]}, %q{</div><div class='del'>-  def getproc &amp;b</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{</div><div class='del'>-    i = 1</div><div class='del'>-    m{</div><div class='del'>-      j = 2</div><div class='del'>-      m{</div><div class='del'>-        k = 3</div><div class='del'>-        getproc{</div><div class='del'>-          [i, j, k]</div><div class='del'>-        }</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-  }.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{7}, %q{</div><div class='del'>-  def make_proc(&amp;b)</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def make_closure</div><div class='del'>-    a = 0</div><div class='del'>-    make_proc{</div><div class='del'>-      a+=1</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  cl = make_closure</div><div class='del'>-  cl.call + cl.call * cl.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  class C</div><div class='del'>-    def foo</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def block</div><div class='del'>-    C.method(:new).to_proc</div><div class='del'>-  end</div><div class='del'>-  b = block()</div><div class='del'>-  b.call.foo</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[0, 1, :last, 0, 2, :last]}, %q{</div><div class='del'>-  def proc &amp;b</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  pr = []</div><div class='del'>-  proc{|i_b|</div><div class='del'>-    p3 = proc{|j_b|</div><div class='del'>-      pr &lt;&lt; proc{|k_b|</div><div class='del'>-        [i_b, j_b, k_b]</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-    p3.call(1)</div><div class='del'>-    p3.call(2)</div><div class='del'>-  }.call(0)</div><div class='del'>-</div><div class='del'>-  pr[0].call(:last).concat pr[1].call(:last)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{12}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def getproc &amp;b</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  iter{</div><div class='del'>-    bvar = 3</div><div class='del'>-    getproc{</div><div class='del'>-      bvar2 = 4</div><div class='del'>-      bvar * bvar2</div><div class='del'>-    }</div><div class='del'>-  }.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{200}, %q{</div><div class='del'>-  def iter</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def getproc &amp;b</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  loc1 = 0</div><div class='del'>-  pr1 = iter{</div><div class='del'>-    bl1 = 1</div><div class='del'>-    getproc{</div><div class='del'>-      loc1 += 1</div><div class='del'>-      bl1  += 1</div><div class='del'>-      loc1 + bl1</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-  pr2 = iter{</div><div class='del'>-    bl1 = 1</div><div class='del'>-    getproc{</div><div class='del'>-      loc1 += 1</div><div class='del'>-      bl1  += 1</div><div class='del'>-      loc1 + bl1</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-  pr1.call; pr2.call</div><div class='del'>-  pr1.call; pr2.call</div><div class='del'>-  pr1.call; pr2.call</div><div class='del'>-  (pr1.call + pr2.call) * loc1</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 2]}, %q{</div><div class='del'>-  def proc(&amp;pr)</div><div class='del'>-    pr</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m</div><div class='del'>-    a = 1</div><div class='del'>-    m2{</div><div class='del'>-      a</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m2</div><div class='del'>-    b = 2</div><div class='del'>-    proc{</div><div class='del'>-      [yield, b]</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  pr = m</div><div class='del'>-  x = ['a', 1,2,3,4,5,6,7,8,9,0,</div><div class='del'>-            1,2,3,4,5,6,7,8,9,0,</div><div class='del'>-            1,2,3,4,5,6,7,8,9,0,</div><div class='del'>-            1,2,3,4,5,6,7,8,9,0,</div><div class='del'>-            1,2,3,4,5,6,7,8,9,0,]</div><div class='del'>-  pr.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  def proc(&amp;pr)</div><div class='del'>-    pr</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m</div><div class='del'>-    a = 1</div><div class='del'>-    m2{</div><div class='del'>-      a</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def m2</div><div class='del'>-    b = 2</div><div class='del'>-    proc{</div><div class='del'>-      [yield, b]</div><div class='del'>-    }</div><div class='del'>-    100000.times{|x|</div><div class='del'>-      "#{x}"</div><div class='del'>-    }</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[:C, :C]}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-    $pr = proc{</div><div class='del'>-      (1..2).map{</div><div class='del'>-        Const</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-  $pr.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{top}, %q{</div><div class='del'>-  Const = :top</div><div class='del'>-  class C</div><div class='del'>-    Const = :C</div><div class='del'>-  end</div><div class='del'>-  pr = proc{</div><div class='del'>-    Const</div><div class='del'>-  }</div><div class='del'>-  C.class_eval %q{</div><div class='del'>-    pr.call</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  def m(&amp;b)</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{|e_proctest| e_proctest}.call(1)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{12}, %q{</div><div class='del'>-  def m(&amp;b)</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{|e_proctest1, e_proctest2|</div><div class='del'>-    a = e_proctest1 * e_proctest2 * 2</div><div class='del'>-    a * 3</div><div class='del'>-  }.call(1, 2)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[[], [1], [1, 2], [1, 2, 3]]}, %q{</div><div class='del'>-  [</div><div class='del'>-  Proc.new{|*args| args}.call(),</div><div class='del'>-  Proc.new{|*args| args}.call(1),</div><div class='del'>-  Proc.new{|*args| args}.call(1, 2),</div><div class='del'>-  Proc.new{|*args| args}.call(1, 2, 3),</div><div class='del'>-  ]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[[nil, []], [1, []], [1, [2]], [1, [2, 3]]]}, %q{</div><div class='del'>-  [</div><div class='del'>-  Proc.new{|a, *b| [a, b]}.call(),</div><div class='del'>-  Proc.new{|a, *b| [a, b]}.call(1),</div><div class='del'>-  Proc.new{|a, *b| [a, b]}.call(1, 2),</div><div class='del'>-  Proc.new{|a, *b| [a, b]}.call(1, 2, 3),</div><div class='del'>-  ]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  pr = proc{</div><div class='del'>-    $SAFE</div><div class='del'>-  }</div><div class='del'>-  $SAFE = 1</div><div class='del'>-  pr.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 1]}, %q{</div><div class='del'>-  pr = proc{</div><div class='del'>-    $SAFE += 1</div><div class='del'>-  }</div><div class='del'>-  [pr.call, $SAFE]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  def m(&amp;b)</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-  m{1}.call</div><div class='del'>-}</div><div class='del'>-assert_equal %q{3}, %q{</div><div class='del'>-  def m(&amp;b)</div><div class='del'>-    b</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  m{</div><div class='del'>-    a = 1</div><div class='del'>-    a + 2</div><div class='del'>-  }.call</div><div class='del'>-}</div><div class='del'>-assert_equal %Q{ok\n}, %q{</div><div class='del'>-  class A; def get_block; proc {puts "ok"} end end</div><div class='del'>-  block = A.new.get_block</div><div class='del'>-  GC.start</div><div class='del'>-  block.call</div><div class='del'>-}, '[ruby-core:14885]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  a = lambda {|x, y, &amp;b| b }</div><div class='del'>-  b = a.curry[1]</div><div class='del'>-  if b.call(2){} == nil</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:15551]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  lambda {</div><div class='del'>-    break :ok</div><div class='del'>-    :ng</div><div class='del'>-  }.call</div><div class='del'>-}, '[ruby-dev:34646]'</div><div class='del'>-</div><div class='del'>-assert_equal %q{[:bar, :foo]}, %q{</div><div class='del'>-  def foo</div><div class='del'>-    klass = Class.new do</div><div class='del'>-      define_method(:bar) do</div><div class='del'>-        return :bar</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-    [klass.new.bar, :foo]</div><div class='del'>-  end</div><div class='del'>-  foo</div><div class='del'>-}, "[ ruby-Bugs-19304 ]"</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-   $x = :ok</div><div class='del'>-   def def7(x, y)</div><div class='del'>-      x[y]</div><div class='del'>-      $x = :ng</div><div class='del'>-   end</div><div class='del'>-   def test_def7</div><div class='del'>-      def7(lambda {|x| x.call}, Proc.new {return})</div><div class='del'>-      $x = :ng</div><div class='del'>-   end</div><div class='del'>-   test_def7</div><div class='del'>-   $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  lambda { a = lambda { return }; $x = :ng; a[]; $x = :ok }.call</div><div class='del'>-  $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  lambda { a = lambda { break }; $x = :ng; a[]; $x = :ok }.call</div><div class='del'>-  $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def def8</div><div class='del'>-    $x = :ng</div><div class='del'>-    lambda { a = Proc.new { return }; a[]}.call</div><div class='del'>-    $x = :ok</div><div class='del'>-  end</div><div class='del'>-  def8</div><div class='del'>-  $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-   def def9</div><div class='del'>-      lambda {|a| $x = :ok; a[]; $x = :ng }.call(Proc.new { return })</div><div class='del'>-      $x = :ng</div><div class='del'>-   end</div><div class='del'>-   def9</div><div class='del'>-   $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-   def def10</div><div class='del'>-     $x = :ng</div><div class='del'>-     lambda { 1.times { return } }.call</div><div class='del'>-     $x = :ok</div><div class='del'>-   end</div><div class='del'>-   $x = :ok</div><div class='del'>-   def10</div><div class='del'>-   $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-   def def11</div><div class='del'>-      yield</div><div class='del'>-   end</div><div class='del'>-   begin</div><div class='del'>-      lambda { def11 { return } }.call</div><div class='del'>-   rescue LocalJumpError</div><div class='del'>-      :ng</div><div class='del'>-   else</div><div class='del'>-      :ok</div><div class='del'>-   end</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-   def def12</div><div class='del'>-      b = Proc.new { $x = :ng; lambda { return }.call; $x = :ok }.call</div><div class='del'>-   end</div><div class='del'>-   def12</div><div class='del'>-   $x</div><div class='del'>-}, '[ruby-core:17164]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def m</div><div class='del'>-    pr = proc{</div><div class='del'>-      proc{</div><div class='del'>-        return :ok</div><div class='del'>-      }</div><div class='del'>-    }.call</div><div class='del'>-    pr.call</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-  m()</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class Foo</div><div class='del'>-    def call_it</div><div class='del'>-      p = Proc.new</div><div class='del'>-      p.call</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def give_it</div><div class='del'>-    proc { :ok }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  f = Foo.new</div><div class='del'>-  a_proc = give_it</div><div class='del'>-  f.call_it(&amp;give_it())</div><div class='del'>-}, '[ruby-core:15711]'</div><div class='del'>-</div><div class='del'>-assert_equal 'foo!', %q{</div><div class='del'>-  class FooProc &lt; Proc</div><div class='del'>-    def initialize</div><div class='del'>-      @foo = "foo!"</div><div class='del'>-    end</div><div class='del'>-</div><div class='del'>-    def bar</div><div class='del'>-      @foo</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def bar</div><div class='del'>-    FooProc.new &amp;lambda{</div><div class='del'>-      p 1</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  fp = bar(&amp;lambda{</div><div class='del'>-    p 2</div><div class='del'>-  })</div><div class='del'>-</div><div class='del'>-  fp.bar</div><div class='del'>-}, 'Subclass of Proc'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  o = Object.new</div><div class='del'>-  def o.write(s); end</div><div class='del'>-  $stderr = o</div><div class='del'>-  at_exit{</div><div class='del'>-    print $!.message</div><div class='del'>-  }</div><div class='del'>-  raise "ok"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  lambda do</div><div class='del'>-    class A</div><div class='del'>-      class B</div><div class='del'>-        proc{return :ng}.call</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end.call</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  $proc = proc{return}</div><div class='del'>-  begin</div><div class='del'>-    lambda do</div><div class='del'>-      class A</div><div class='del'>-        class B</div><div class='del'>-          $proc.call</div><div class='del'>-        end</div><div class='del'>-      end</div><div class='del'>-    end.call</div><div class='del'>-    :ng</div><div class='del'>-  rescue LocalJumpError</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def x</div><div class='del'>-    binding</div><div class='del'>-  end</div><div class='del'>-  b = x{|a| a }</div><div class='del'>-  b.eval('yield("ok")')</div><div class='del'>-}, '[Bug #5634]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def x</div><div class='del'>-    binding</div><div class='del'>-  end</div><div class='del'>-  eval("x { 'ok' }").eval "yield"</div><div class='del'>-}, '[Bug #5634]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def x</div><div class='del'>-    binding</div><div class='del'>-  end</div><div class='del'>-  def m</div><div class='del'>-    x{ 'ok' }</div><div class='del'>-  end</div><div class='del'>-  eval('yield', m)</div><div class='del'>-}, '[Bug #5634]'</div><div class='del'>-</div><div class='head'>diff --git a/bootstraptest/test_string.rb b/bootstraptest/test_string.rb<br/>deleted file mode 100644<br/>index 849dcd45b0..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_string.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_string.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  inspect.clear</div><div class='del'>-}, '[ruby-core:68110]'</div><div class='head'>diff --git a/bootstraptest/test_struct.rb b/bootstraptest/test_struct.rb<br/>deleted file mode 100644<br/>index a65964d5f9..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_struct.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_struct.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-assert_equal 'Struct::Foo', %q{</div><div class='del'>-  Struct.instance_eval { const_set(:Foo, nil) }</div><div class='del'>-  Struct.new("Foo")</div><div class='del'>-  Struct::Foo</div><div class='del'>-}</div><div class='head'>diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb<br/>deleted file mode 100644<br/>index a111990a1f..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_syntax.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_syntax.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,904 +0,0 @@</div><div class='del'>-assert_equal %q{4}, %q{1 &amp;&amp; 2 &amp;&amp; 3 &amp;&amp; 4}</div><div class='del'>-assert_equal %q{}, %q{1 &amp;&amp; nil &amp;&amp; 3 &amp;&amp; 4}</div><div class='del'>-assert_equal %q{}, %q{1 &amp;&amp; 2 &amp;&amp; 3 &amp;&amp; nil}</div><div class='del'>-assert_equal %q{false}, %q{1 &amp;&amp; 2 &amp;&amp; 3 &amp;&amp; false}</div><div class='del'>-assert_equal %q{4}, %q{1 and 2 and 3 and 4}</div><div class='del'>-assert_equal %q{}, %q{1 and nil and 3 and 4}</div><div class='del'>-assert_equal %q{}, %q{1 and 2 and 3 and nil}</div><div class='del'>-assert_equal %q{false}, %q{1 and 2 and 3 and false}</div><div class='del'>-assert_equal %q{}, %q{nil &amp;&amp; true}</div><div class='del'>-assert_equal %q{false}, %q{false &amp;&amp; true}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  case 1</div><div class='del'>-  when 2</div><div class='del'>-    :ng</div><div class='del'>-  end}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case 1</div><div class='del'>-  when 10,20,30</div><div class='del'>-    :ng1</div><div class='del'>-  when 1,2,3</div><div class='del'>-    :ok</div><div class='del'>-  when 100,200,300</div><div class='del'>-    :ng2</div><div class='del'>-  else</div><div class='del'>-    :elseng</div><div class='del'>-  end}</div><div class='del'>-assert_equal %q{elseok}, %q{</div><div class='del'>-  case 123</div><div class='del'>-  when 10,20,30</div><div class='del'>-    :ng1</div><div class='del'>-  when 1,2,3</div><div class='del'>-    :ng2</div><div class='del'>-  when 100,200,300</div><div class='del'>-    :ng3</div><div class='del'>-  else</div><div class='del'>-    :elseok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case 'test'</div><div class='del'>-  when /testx/</div><div class='del'>-    :ng1</div><div class='del'>-  when /test/</div><div class='del'>-    :ok</div><div class='del'>-  when /tetxx/</div><div class='del'>-    :ng2</div><div class='del'>-  else</div><div class='del'>-    :ng_else</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case Object.new</div><div class='del'>-  when Object</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case Object</div><div class='del'>-  when Object.new</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case 'test'</div><div class='del'>-  when 'tes'</div><div class='del'>-    :ng</div><div class='del'>-  when 'te'</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case 'test'</div><div class='del'>-  when 'tes'</div><div class='del'>-    :ng</div><div class='del'>-  when 'te'</div><div class='del'>-    :ng</div><div class='del'>-  when 'test'</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ng}, %q{</div><div class='del'>-  case 'test'</div><div class='del'>-  when 'tes'</div><div class='del'>-    :ng</div><div class='del'>-  when /te/</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case 'test'</div><div class='del'>-  when 'tes'</div><div class='del'>-    :ng</div><div class='del'>-  when /test/</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{100}, %q{</div><div class='del'>-  def test(arg)</div><div class='del'>-    case 1</div><div class='del'>-    when 2</div><div class='del'>-      3</div><div class='del'>-    end</div><div class='del'>-    return arg</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  test(100)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [1, 2]</div><div class='del'>-  case 1</div><div class='del'>-  when *ary</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [1, 2]</div><div class='del'>-  case 3</div><div class='del'>-  when *ary</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [1, 2]</div><div class='del'>-  case 1</div><div class='del'>-  when :x, *ary</div><div class='del'>-    :ok</div><div class='del'>-  when :z</div><div class='del'>-    :ng1</div><div class='del'>-  else</div><div class='del'>-    :ng2</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [1, 2]</div><div class='del'>-  case 3</div><div class='del'>-  when :x, *ary</div><div class='del'>-    :ng1</div><div class='del'>-  when :z</div><div class='del'>-    :ng2</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[:false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :false, :false, :false, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :then, :false, :then, :then, :then, :false, :false, :false, :false, :false, :false, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :false, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :false, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :false, :then, :then, :then, :then, :then, :then, :then, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep, :then, :sep]}, %q{</div><div class='del'>-</div><div class='del'>-  def make_perm ary, num</div><div class='del'>-    if num == 1</div><div class='del'>-      ary.map{|e| [e]}</div><div class='del'>-    else</div><div class='del'>-      base = make_perm(ary, num-1)</div><div class='del'>-      res  = []</div><div class='del'>-      base.each{|b|</div><div class='del'>-        ary.each{|e|</div><div class='del'>-          res &lt;&lt; [e] + b</div><div class='del'>-        }</div><div class='del'>-      }</div><div class='del'>-      res</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def each_test</div><div class='del'>-    conds = make_perm(['fv', 'tv'], 3)</div><div class='del'>-    bangs = make_perm(['', '!'], 3)</div><div class='del'>-    exprs = make_perm(['and', 'or'], 3)</div><div class='del'>-    ['if', 'unless'].each{|syn|</div><div class='del'>-      conds.each{|cs|</div><div class='del'>-        bangs.each{|bs|</div><div class='del'>-          exprs.each{|es|</div><div class='del'>-            yield(syn, cs, bs, es)</div><div class='del'>-          }</div><div class='del'>-        }</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  fv = false</div><div class='del'>-  tv = true</div><div class='del'>-</div><div class='del'>-  $ans = []</div><div class='del'>-  each_test{|syn, conds, bangs, exprs|</div><div class='del'>-    c1, c2, c3 = conds</div><div class='del'>-    bang1, bang2, bang3 = bangs</div><div class='del'>-    e1, e2 = exprs</div><div class='del'>-    eval %Q{</div><div class='del'>-      #{syn} #{bang1}#{c1} #{e1} #{bang2}#{c2} #{e2} #{bang3}#{c3}</div><div class='del'>-        $ans &lt;&lt; :then</div><div class='del'>-      else</div><div class='del'>-        $ans &lt;&lt; :false</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-  each_test{|syn, conds, bangs, exprs|</div><div class='del'>-    c1, c2, c3 = conds</div><div class='del'>-    bang1, bang2, bang3 = bangs</div><div class='del'>-    e1, e2 = exprs</div><div class='del'>-    eval %Q{</div><div class='del'>-      #{syn} #{bang1}#{c1} #{e1} #{bang2}#{c2} #{e2} #{bang3}#{c3}</div><div class='del'>-        $ans &lt;&lt; :then</div><div class='del'>-      end</div><div class='del'>-      $ans &lt;&lt; :sep</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-  $ans</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(m)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{method}, %q{</div><div class='del'>-  def m</div><div class='del'>-  end</div><div class='del'>-  defined?(m)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(a.class)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{method}, %q{</div><div class='del'>-  a = 1</div><div class='del'>-  defined?(a.class)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{["method", "method", "method", "method", nil, nil, "method", "method", "method", nil]}, %q{</div><div class='del'>-  class C</div><div class='del'>-    def test</div><div class='del'>-      [defined?(m1()), defined?(self.m1), defined?(C.new.m1),</div><div class='del'>-       defined?(m2()), defined?(self.m2), defined?(C.new.m2),</div><div class='del'>-       defined?(m3()), defined?(self.m3), defined?(C.new.m3)]</div><div class='del'>-    end</div><div class='del'>-    def m1</div><div class='del'>-    end</div><div class='del'>-    private</div><div class='del'>-    def m2</div><div class='del'>-    end</div><div class='del'>-    protected</div><div class='del'>-    def m3</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.test + [defined?(C.new.m3)]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[nil, nil, nil, nil, "global-variable", "global-variable", nil, nil]}, %q{</div><div class='del'>-  $ans = [defined?($1), defined?($2), defined?($3), defined?($4)]</div><div class='del'>-  /(a)(b)/ =~ 'ab'</div><div class='del'>-  $ans + [defined?($1), defined?($2), defined?($3), defined?($4)]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{nilselftruefalse}, %q{</div><div class='del'>-  defined?(nil) + defined?(self) +</div><div class='del'>-    defined?(true) + defined?(false)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(@a)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{instance-variable}, %q{</div><div class='del'>-  @a = 1</div><div class='del'>-  defined?(@a)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(@@a)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{class variable}, %q{</div><div class='del'>-  @@a = 1</div><div class='del'>-  defined?(@@a)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?($a)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{global-variable}, %q{</div><div class='del'>-  $a = 1</div><div class='del'>-  defined?($a)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(C_definedtest)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{constant}, %q{</div><div class='del'>-  C_definedtest = 1</div><div class='del'>-  defined?(C_definedtest)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(::C_definedtest)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{constant}, %q{</div><div class='del'>-  C_definedtest = 1</div><div class='del'>-  defined?(::C_definedtest)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  defined?(C_definedtestA::C_definedtestB::C_definedtestC)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{constant}, %q{</div><div class='del'>-  class C_definedtestA</div><div class='del'>-    class C_definedtestB</div><div class='del'>-      C_definedtestC = 1</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  defined?(C_definedtestA::C_definedtestB::C_definedtestC)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{30}, %q{</div><div class='del'>-  sum = 0</div><div class='del'>-  30.times{|ib|</div><div class='del'>-    if ib % 10 == 0 .. true</div><div class='del'>-      sum += ib</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  sum</div><div class='del'>-}</div><div class='del'>-assert_equal %q{63}, %q{</div><div class='del'>-  sum = 0</div><div class='del'>-  30.times{|ib|</div><div class='del'>-    if ib % 10 == 0 ... true</div><div class='del'>-      sum += ib</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  sum</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[["NUM", "Type: NUM\n"], ["NUM", "123\n"], ["NUM", "456\n"], ["NUM", "Type: ARP\n"], ["NUM", "aaa\n"], ["NUM", "bbb\n"], ["NUM", "\f\n"], ["ARP", "Type: ARP\n"], ["ARP", "aaa\n"], ["ARP", "bbb\n"]]}, %q{</div><div class='del'>-  t = nil</div><div class='del'>-  unless ''.respond_to? :lines</div><div class='del'>-    class String</div><div class='del'>-      def lines</div><div class='del'>-        self</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  ary = []</div><div class='del'>-"this must not print</div><div class='del'>-Type: NUM</div><div class='del'>-123</div><div class='del'>-456</div><div class='del'>-Type: ARP</div><div class='del'>-aaa</div><div class='del'>-bbb</div><div class='del'>-\f</div><div class='del'>-this must not print</div><div class='del'>-hoge</div><div class='del'>-Type: ARP</div><div class='del'>-aaa</div><div class='del'>-bbb</div><div class='del'>-".lines.each{|l|</div><div class='del'>-    if (t = l[/^Type: (.*)/, 1])..(/^\f/ =~ l)</div><div class='del'>-      ary &lt;&lt; [t, l]</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  ary</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{if true  then 1 ; end}</div><div class='del'>-assert_equal %q{}, %q{if false then 1 ; end}</div><div class='del'>-assert_equal %q{1}, %q{if true  then 1 ; else; 2; end}</div><div class='del'>-assert_equal %q{2}, %q{if false then 1 ; else; 2; end}</div><div class='del'>-assert_equal %q{}, %q{if true  then   ; elsif true then ; 1 ; end}</div><div class='del'>-assert_equal %q{1}, %q{if false then   ; elsif true then ; 1 ; end}</div><div class='del'>-assert_equal %q{}, %q{unless true  then 1 ; end}</div><div class='del'>-assert_equal %q{1}, %q{unless false then 1 ; end}</div><div class='del'>-assert_equal %q{2}, %q{unless true  then 1 ; else; 2; end}</div><div class='del'>-assert_equal %q{1}, %q{unless false then 1 ; else; 2; end}</div><div class='del'>-assert_equal %q{1}, %q{1 if true}</div><div class='del'>-assert_equal %q{}, %q{1 if false}</div><div class='del'>-assert_equal %q{}, %q{1 if nil}</div><div class='del'>-assert_equal %q{}, %q{1 unless true}</div><div class='del'>-assert_equal %q{1}, %q{1 unless false}</div><div class='del'>-assert_equal %q{1}, %q{1 unless nil}</div><div class='del'>-assert_equal %q{1}, %q{1 || 2 || 3 || 4}</div><div class='del'>-assert_equal %q{1}, %q{1 || false || 3 || 4}</div><div class='del'>-assert_equal %q{2}, %q{nil || 2 || 3 || 4}</div><div class='del'>-assert_equal %q{2}, %q{false || 2 || 3 || 4}</div><div class='del'>-assert_equal %q{false}, %q{nil || false || nil || false}</div><div class='del'>-assert_equal %q{1}, %q{1 or 2 or 3 or 4}</div><div class='del'>-assert_equal %q{1}, %q{1 or false or 3 or 4}</div><div class='del'>-assert_equal %q{2}, %q{nil or 2 or 3 or 4}</div><div class='del'>-assert_equal %q{2}, %q{false or 2 or 3 or 4}</div><div class='del'>-assert_equal %q{1}, %q{if true &amp;&amp; ""; then 1; end}</div><div class='del'>-assert_equal %q{1}, %q{if nil || true; then 1; end}</div><div class='del'>-assert_equal %q{false}, %q{nil or false or nil or false}</div><div class='del'>-assert_equal %q{elseng}, %q{</div><div class='del'>-  case</div><div class='del'>-  when 1==2, 2==3</div><div class='del'>-    :ng1</div><div class='del'>-  when false, 4==5</div><div class='del'>-    :ok</div><div class='del'>-  when false</div><div class='del'>-    :ng2</div><div class='del'>-  else</div><div class='del'>-    :elseng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  case</div><div class='del'>-  when nil, nil</div><div class='del'>-    :ng1</div><div class='del'>-  when 1,2,3</div><div class='del'>-    :ok</div><div class='del'>-  when false, false</div><div class='del'>-    :ng2</div><div class='del'>-  else</div><div class='del'>-    :elseng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{elseok}, %q{</div><div class='del'>-  case</div><div class='del'>-  when nil</div><div class='del'>-    :ng1</div><div class='del'>-  when false</div><div class='del'>-    :ng2</div><div class='del'>-  else</div><div class='del'>-    :elseok</div><div class='del'>-  end}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  case</div><div class='del'>-  when 1</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  r = nil</div><div class='del'>-  ary = []</div><div class='del'>-  case</div><div class='del'>-  when false</div><div class='del'>-    r = :ng1</div><div class='del'>-  when false, false</div><div class='del'>-    r = :ng2</div><div class='del'>-  when *ary</div><div class='del'>-    r = :ng3</div><div class='del'>-  when false, *ary</div><div class='del'>-    r = :ng4</div><div class='del'>-  when true, *ary</div><div class='del'>-    r = :ok</div><div class='del'>-  end</div><div class='del'>-  r</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = []</div><div class='del'>-  case</div><div class='del'>-  when false, *ary</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [false, nil]</div><div class='del'>-  case</div><div class='del'>-  when *ary</div><div class='del'>-    :ng</div><div class='del'>-  else</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [false, nil]</div><div class='del'>-  case</div><div class='del'>-  when *ary</div><div class='del'>-    :ng</div><div class='del'>-  when true</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng2</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ng}, %q{</div><div class='del'>-  ary = [false, nil]</div><div class='del'>-  case</div><div class='del'>-  when *ary</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [false, true]</div><div class='del'>-  case</div><div class='del'>-  when *ary</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ary = [false, true]</div><div class='del'>-  case</div><div class='del'>-  when false, false</div><div class='del'>-  when false, *ary</div><div class='del'>-    :ok</div><div class='del'>-  else</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  i = 0</div><div class='del'>-  while i &lt; 10</div><div class='del'>-    i+=1</div><div class='del'>-  end}</div><div class='del'>-assert_equal %q{10}, %q{</div><div class='del'>-  i = 0</div><div class='del'>-  while i &lt; 10</div><div class='del'>-    i+=1</div><div class='del'>-  end; i}</div><div class='del'>-assert_equal %q{}, %q{</div><div class='del'>-  i = 0</div><div class='del'>-  until i &gt; 10</div><div class='del'>-    i+=1</div><div class='del'>-  end}</div><div class='del'>-assert_equal %q{11}, %q{</div><div class='del'>-  i = 0</div><div class='del'>-  until i &gt; 10</div><div class='del'>-    i+=1</div><div class='del'>-  end; i}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  i = 0</div><div class='del'>-  begin</div><div class='del'>-    i+=1</div><div class='del'>-  end while false</div><div class='del'>-  i</div><div class='del'>-}</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  i = 0</div><div class='del'>-  begin</div><div class='del'>-    i+=1</div><div class='del'>-  end until true</div><div class='del'>-  i</div><div class='del'>-}</div><div class='del'>-def assert_syntax_error expected, code, message = ''</div><div class='del'>-  assert_equal "#{expected}",</div><div class='del'>-    "begin eval(%q{#{code}}, nil, '', 0)"'; rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end', message</div><div class='del'>-end</div><div class='del'>-assert_syntax_error "unterminated string meets end of file", '().."', '[ruby-dev:29732]'</div><div class='del'>-assert_equal %q{[]}, %q{$&amp;;[]}, '[ruby-dev:31068]'</div><div class='del'>-assert_syntax_error "syntax error, unexpected *, expecting '}'", %q{{*0}}, '[ruby-dev:31072]'</div><div class='del'>-assert_syntax_error "`@0' is not allowed as an instance variable name", %q{@0..0}, '[ruby-dev:31095]'</div><div class='del'>-assert_syntax_error "identifier $00 is not valid to get", %q{$00..0}, '[ruby-dev:31100]'</div><div class='del'>-assert_syntax_error "identifier $00 is not valid to set", %q{0..$00=1}</div><div class='del'>-assert_equal %q{0}, %q{[*0];0}, '[ruby-dev:31102]'</div><div class='del'>-assert_syntax_error "syntax error, unexpected ')'", %q{v0,(*,v1,) = 0}, '[ruby-dev:31104]'</div><div class='del'>-assert_equal %q{1}, %q{</div><div class='del'>-  class &lt;&lt; (ary=[]); def []; 0; end; def []=(x); super(0,x);end;end; ary[]+=1</div><div class='del'>-}, '[ruby-dev:31110]'</div><div class='del'>-assert_syntax_error "Can't set variable $1", %q{0..$1=1}, '[ruby-dev:31118]'</div><div class='del'>-assert_valid_syntax %q{1.times{1+(1&amp;&amp;next)}}, '[ruby-dev:31119]'</div><div class='del'>-assert_valid_syntax %q{x=-1;loop{x+=1&amp;&amp;redo if (x+=1).zero?}}, '[ruby-dev:31119]'</div><div class='del'>-assert_syntax_error %q{syntax error, unexpected end-of-input}, %q{!}, '[ruby-dev:31243]'</div><div class='del'>-assert_equal %q{[nil]}, %q{[()]}, '[ruby-dev:31252]'</div><div class='del'>-assert_equal %q{true}, %q{!_=()}, '[ruby-dev:31263]'</div><div class='del'>-assert_equal 'ok', %q{while true; redo; end if 1 == 2; :ok}, '[ruby-dev:31360]'</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  1.times {</div><div class='del'>-    begin</div><div class='del'>-    ensure</div><div class='del'>-      next</div><div class='del'>-    end</div><div class='del'>-  }; :ok</div><div class='del'>-}, '[ruby-dev:31373]'</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  flag = false</div><div class='del'>-  1.times {</div><div class='del'>-    next if flag</div><div class='del'>-    flag = true</div><div class='del'>-    begin</div><div class='del'>-    ensure</div><div class='del'>-      redo</div><div class='del'>-    end</div><div class='del'>-  }; :ok</div><div class='del'>-}, '[ruby-dev:31373]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  1.times{</div><div class='del'>-    p(1, (next; 2))</div><div class='del'>-  }; :ok</div><div class='del'>-}</div><div class='del'>-assert_equal '3', %q{</div><div class='del'>-  i = 0</div><div class='del'>-  1 + (while true</div><div class='del'>-         break 2 if (i+=1) &gt; 1</div><div class='del'>-         next</div><div class='del'>-       end)</div><div class='del'>-}</div><div class='del'>-assert_equal '3', %q{</div><div class='del'>-  i = 0</div><div class='del'>-  1 + (while true</div><div class='del'>-         break 2 if (i+=1) &gt; 1</div><div class='del'>-         p(1, (next; 2))</div><div class='del'>-       end)</div><div class='del'>-}</div><div class='del'>-# redo</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  i = 0</div><div class='del'>-  1.times{</div><div class='del'>-    break if i&gt;1</div><div class='del'>-    i+=1</div><div class='del'>-    p(1, (redo; 2))</div><div class='del'>-  }; :ok</div><div class='del'>-}</div><div class='del'>-assert_equal '3', %q{</div><div class='del'>-  i = 0</div><div class='del'>-  1 + (while true</div><div class='del'>-         break 2 if (i+=1) &gt; 1</div><div class='del'>-         redo</div><div class='del'>-       end)</div><div class='del'>-}</div><div class='del'>-assert_equal '3', %q{</div><div class='del'>-  i = 0</div><div class='del'>-  1 + (while true</div><div class='del'>-         break 2 if (i+=1) &gt; 1</div><div class='del'>-         p(1, (redo; 2))</div><div class='del'>-       end)</div><div class='del'>-}</div><div class='del'>-assert_equal '1', %q{</div><div class='del'>-  a = [0]</div><div class='del'>-  a[*a]+=1</div><div class='del'>-}</div><div class='del'>-assert_equal '2', %q{</div><div class='del'>-  ary = [0]</div><div class='del'>-  case 1</div><div class='del'>-  when *ary, 1</div><div class='del'>-    1</div><div class='del'>-  end +</div><div class='del'>-  case</div><div class='del'>-  when *ary</div><div class='del'>-    1</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_match /invalid multibyte char/, %q{</div><div class='del'>-  STDERR.reopen(STDOUT)</div><div class='del'>-  eval("\"\xf0".force_encoding("utf-8"))</div><div class='del'>-}, '[ruby-dev:32429]'</div><div class='del'>-</div><div class='del'>-# method ! and !=</div><div class='del'>-assert_equal 'true', %q{!false}</div><div class='del'>-assert_equal 'true', %q{1 == 1}</div><div class='del'>-assert_equal 'true', %q{1 != 2}</div><div class='del'>-assert_equal 'true', %q{</div><div class='del'>-  class C; def !=(obj); true; end; end</div><div class='del'>-  C.new != 1</div><div class='del'>-}</div><div class='del'>-assert_equal 'true', %q{</div><div class='del'>-  class C; def !@; true; end; end</div><div class='del'>-  !C.new</div><div class='del'>-}</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  eval "while true; return; end rescue p $!"</div><div class='del'>-}, '[ruby-dev:31663]'</div><div class='del'>-assert_equal '1', %q{</div><div class='del'>-  def bar</div><div class='del'>-    raise</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  def foo</div><div class='del'>-    1.times{</div><div class='del'>-      begin</div><div class='del'>-        return bar</div><div class='del'>-      rescue</div><div class='del'>-        :ok</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  foo</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    next if counter != 0</div><div class='del'>-    break</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}, '[ruby-core:14385]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    next if counter != 0</div><div class='del'>-    break :ok</div><div class='del'>-  end # direct</div><div class='del'>-}, '[ruby-core:14385]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    break if counter == 0</div><div class='del'>-    "#{next}"</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}, 'reported by Yusuke ENDOH'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    break if counter == 0</div><div class='del'>-    next</div><div class='del'>-    redo</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}, 'reported by Yusuke ENDOH'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    break if counter == 0</div><div class='del'>-    next</div><div class='del'>-    "#{ redo }"</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}, 'reported by Yusuke ENDOH'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  begin</div><div class='del'>-    raise</div><div class='del'>-  rescue</div><div class='del'>-    counter = 2</div><div class='del'>-    while true</div><div class='del'>-      counter -= 1</div><div class='del'>-      break if counter == 0</div><div class='del'>-      next</div><div class='del'>-      retry</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, 'reported by Yusuke ENDOH'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    break if counter == 0</div><div class='del'>-    next</div><div class='del'>-    "#{ break }"</div><div class='del'>-  end</div><div class='del'>-}, 'reported by Yusuke ENDOH'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  counter = 2</div><div class='del'>-  while true</div><div class='del'>-    counter -= 1</div><div class='del'>-    next if counter != 0</div><div class='del'>-    "#{ break }"</div><div class='del'>-  end</div><div class='del'>-}, 'reported by Yusuke ENDOH'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  1.times do</div><div class='del'>-    [</div><div class='del'>-      1, 2, 3, 4, 5, 6, 7, 8,</div><div class='del'>-      begin</div><div class='del'>-        false ? next : p</div><div class='del'>-        break while true</div><div class='del'>-      end</div><div class='del'>-    ]</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}, '[ruby-dev:32882]'</div><div class='del'>-</div><div class='del'>-assert_equal "1\n2\n", %q{</div><div class='del'>-  i = 0</div><div class='del'>-  while i&lt;2</div><div class='del'>-    i += 1</div><div class='del'>-    next p(i)</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_valid_syntax('1.times {|i|print (42),1;}', '[ruby-list:44479]')</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def a() end</div><div class='del'>-  begin</div><div class='del'>-    if defined?(a(1).a)</div><div class='del'>-      :ng</div><div class='del'>-    else</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  rescue</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:16010]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def a() end</div><div class='del'>-  begin</div><div class='del'>-    if defined?(a::B)</div><div class='del'>-      :ng</div><div class='del'>-    else</div><div class='del'>-      :ok</div><div class='del'>-    end</div><div class='del'>-  rescue</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:16010]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  defined? C &amp;&amp; 0</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  class C</div><div class='del'>-    def m</div><div class='del'>-      defined?(super())</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-  C.new.m</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  class X &lt; RuntimeError;end</div><div class='del'>-  x = [X]</div><div class='del'>-  begin</div><div class='del'>-   raise X</div><div class='del'>-  rescue *x</div><div class='del'>-   :ok</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:14537]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  a = [false]</div><div class='del'>-  (a[0] &amp;&amp;= true) == false ? :ok : :ng</div><div class='del'>-}, '[ruby-dev:34679]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  a = []</div><div class='del'>-  100.times {|i| a &lt;&lt; i &lt;&lt; nil &lt;&lt; nil }</div><div class='del'>-  p a.compact!</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  "#{}""#{}ok"</div><div class='del'>-}, '[ruby-dev:38968]'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  "o" "#{}k"</div><div class='del'>-}, '[ruby-dev:38980]'</div><div class='del'>-</div><div class='del'>-bug2415 = '[ruby-core:26961]'</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  0.times do</div><div class='del'>-    0.times do</div><div class='del'>-      def x(a=1, b, *rest); nil end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, bug2415</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  0.times do</div><div class='del'>-    0.times do</div><div class='del'>-      def x@; nil end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, bug2415</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  0.times do</div><div class='del'>-    0.times do</div><div class='del'>-      def x(a = 0.times do</div><div class='del'>-              def y(a=1, b, *rest); nil; end</div><div class='del'>-            end)</div><div class='del'>-        nil</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, bug2415</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  0.times do</div><div class='del'>-    0.times do</div><div class='del'>-      def x(a = 0.times do</div><div class='del'>-              def x@; nil; end</div><div class='del'>-            end)</div><div class='del'>-        nil</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-}, bug2415</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  a {</div><div class='del'>-    b {|c.d| }</div><div class='del'>-    e</div><div class='del'>-  }</div><div class='del'>-}, '[ruby-dev:39861]'</div><div class='del'>-</div><div class='del'>-bug1240 = '[ruby-core:22637]'</div><div class='del'>-assert_valid_syntax('x y { "#{}".z { } }', bug1240)</div><div class='del'>-assert_valid_syntax('x y { "#{}".z do end }', bug1240)</div><div class='del'>-</div><div class='del'>-assert_valid_syntax('y "#{a 1}" do end', '[ruby-core:29579]')</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  def foo(&amp;block)</div><div class='del'>-    yield</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  foo do</div><div class='del'>-    s = defined?(raise + 1)</div><div class='del'>-    Class</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:30293]'</div><div class='head'>diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb<br/>deleted file mode 100644<br/>index d16295de8b..0000000000<br/>--- a/<a href='/ruby.git/tree/bootstraptest/test_thread.rb?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>bootstraptest/test_thread.rb</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,484 +0,0 @@</div><div class='del'>-# Thread and Fiber</div><div class='del'>-</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  Thread.new{</div><div class='del'>-  }.join</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  Thread.new{</div><div class='del'>-    :ok</div><div class='del'>-  }.value</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-begin</div><div class='del'>-  v = 0</div><div class='del'>-  (1..200).map{|i|</div><div class='del'>-    Thread.new{</div><div class='del'>-      i</div><div class='del'>-    }</div><div class='del'>-  }.each{|t|</div><div class='del'>-    v += t.value</div><div class='del'>-  }</div><div class='del'>-  v == 20100 ? :ok : v</div><div class='del'>-rescue ThreadError =&gt; e</div><div class='del'>-  :ok if /can't create Thread/ =~ e.message</div><div class='del'>-end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-begin</div><div class='del'>-  :ok if 5000 == 5000.times{|e|</div><div class='del'>-    (1..2).map{</div><div class='del'>-      Thread.new{</div><div class='del'>-      }</div><div class='del'>-    }.each{|e|</div><div class='del'>-      e.join()</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-rescue ThreadError =&gt; e</div><div class='del'>-  :ok if /can't create Thread/ =~ e.message</div><div class='del'>-end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-begin</div><div class='del'>-  :ok if 5000 == 5000.times{|e|</div><div class='del'>-    (1..2).map{</div><div class='del'>-      Thread.new{</div><div class='del'>-      }</div><div class='del'>-    }.each{|e|</div><div class='del'>-      e.join(1000000000)</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-rescue ThreadError =&gt; e</div><div class='del'>-  :ok if /can't create Thread/ =~ e.message</div><div class='del'>-end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-begin</div><div class='del'>-  :ok if 5000 == 5000.times{</div><div class='del'>-    t = Thread.new{}</div><div class='del'>-    while t.alive?</div><div class='del'>-      Thread.pass</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-rescue NoMemoryError</div><div class='del'>-  :ok</div><div class='del'>-end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{100}, %q{</div><div class='del'>-  100.times{</div><div class='del'>-    Thread.new{loop{Thread.pass}}</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  Thread.new{</div><div class='del'>-    :ok</div><div class='del'>-  }.join.value</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  begin</div><div class='del'>-    Thread.new{</div><div class='del'>-      raise "ok"</div><div class='del'>-    }.join</div><div class='del'>-  rescue =&gt; e</div><div class='del'>-    e</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  ans = nil</div><div class='del'>-  t = Thread.new{</div><div class='del'>-    begin</div><div class='del'>-      sleep 0.5</div><div class='del'>-    ensure</div><div class='del'>-      ans = :ok</div><div class='del'>-    end</div><div class='del'>-  }</div><div class='del'>-  Thread.pass until t.stop?</div><div class='del'>-  t.kill</div><div class='del'>-  t.join</div><div class='del'>-  ans</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  t = Thread.new{</div><div class='del'>-    sleep</div><div class='del'>-  }</div><div class='del'>-  sleep 0.1</div><div class='del'>-  t.raise</div><div class='del'>-  begin</div><div class='del'>-    t.join</div><div class='del'>-    :ng</div><div class='del'>-  rescue</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  t = Thread.new{</div><div class='del'>-    loop{}</div><div class='del'>-  }</div><div class='del'>-  Thread.pass</div><div class='del'>-  t.raise</div><div class='del'>-  begin</div><div class='del'>-    t.join</div><div class='del'>-    :ng</div><div class='del'>-  rescue</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{ok}, %q{</div><div class='del'>-  t = Thread.new{</div><div class='del'>-  }</div><div class='del'>-  Thread.pass</div><div class='del'>-  t.join</div><div class='del'>-  t.raise # raise to exited thread</div><div class='del'>-  begin</div><div class='del'>-    t.join</div><div class='del'>-    :ok</div><div class='del'>-  rescue</div><div class='del'>-    :ng</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-assert_equal %q{run}, %q{</div><div class='del'>-  t = Thread.new{</div><div class='del'>-    loop{}</div><div class='del'>-  }</div><div class='del'>-  st = t.status</div><div class='del'>-  t.kill</div><div class='del'>-  st</div><div class='del'>-}</div><div class='del'>-assert_equal %q{sleep}, %q{</div><div class='del'>-  t = Thread.new{</div><div class='del'>-    sleep</div><div class='del'>-  }</div><div class='del'>-  sleep 0.1</div><div class='del'>-  st = t.status</div><div class='del'>-  t.kill</div><div class='del'>-  st</div><div class='del'>-}</div><div class='del'>-assert_equal %q{false}, %q{</div><div class='del'>-  t = Thread.new{</div><div class='del'>-  }</div><div class='del'>-  t.kill</div><div class='del'>-  sleep 0.1</div><div class='del'>-  t.status</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[ThreadGroup, true]}, %q{</div><div class='del'>-  ptg = Thread.current.group</div><div class='del'>-  Thread.new{</div><div class='del'>-    ctg = Thread.current.group</div><div class='del'>-    [ctg.class, ctg == ptg]</div><div class='del'>-  }.value</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[1, 1]}, %q{</div><div class='del'>-  thg = ThreadGroup.new</div><div class='del'>-</div><div class='del'>-  t = Thread.new{</div><div class='del'>-    thg.add Thread.current</div><div class='del'>-    sleep</div><div class='del'>-  }</div><div class='del'>-  sleep 0.1</div><div class='del'>-  [thg.list.size, ThreadGroup::Default.list.size]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{true}, %q{</div><div class='del'>-  thg = ThreadGroup.new</div><div class='del'>-</div><div class='del'>-  t = Thread.new{sleep 5}</div><div class='del'>-  thg.add t</div><div class='del'>-  thg.list.include?(t)</div><div class='del'>-}</div><div class='del'>-assert_equal %q{[true, nil, true]}, %q{</div><div class='del'>-  /a/ =~ 'a'</div><div class='del'>-  $a = $~</div><div class='del'>-  Thread.new{</div><div class='del'>-    $b = $~</div><div class='del'>-    /b/ =~ 'b'</div><div class='del'>-    $c = $~</div><div class='del'>-  }.join</div><div class='del'>-  $d = $~</div><div class='del'>-  [$a == $d, $b, $c != $d]</div><div class='del'>-}</div><div class='del'>-assert_equal %q{11}, %q{</div><div class='del'>-  Thread.current[:a] = 1</div><div class='del'>-  Thread.new{</div><div class='del'>-    Thread.current[:a] = 10</div><div class='del'>-    Thread.pass</div><div class='del'>-    Thread.current[:a]</div><div class='del'>-  }.value + Thread.current[:a]</div><div class='del'>-}</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  begin</div><div class='del'>-    100.times do |i|</div><div class='del'>-      begin</div><div class='del'>-        th = Thread.start(Thread.current) {|u| u.raise }</div><div class='del'>-        raise</div><div class='del'>-      rescue</div><div class='del'>-      ensure</div><div class='del'>-        th.join</div><div class='del'>-      end</div><div class='del'>-    end</div><div class='del'>-  rescue</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-dev:31371]'</div><div class='del'>-</div><div class='del'>-assert_equal 'true', %{</div><div class='del'>-  t = Thread.new { loop {} }</div><div class='del'>-  begin</div><div class='del'>-    pid = fork {</div><div class='del'>-      exit t.status != "run"</div><div class='del'>-    }</div><div class='del'>-    Process.wait pid</div><div class='del'>-    $?.success?</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-    true</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %{</div><div class='del'>-  open("zzz.rb", "w") do |f|</div><div class='del'>-    f.puts &lt;&lt;-END</div><div class='del'>-      begin</div><div class='del'>-        Thread.new { fork { GC.start } }.join</div><div class='del'>-        pid, status = Process.wait2</div><div class='del'>-        $result = status.success? ? :ok : :ng</div><div class='del'>-      rescue NotImplementedError</div><div class='del'>-        $result = :ok</div><div class='del'>-      end</div><div class='del'>-    END</div><div class='del'>-  end</div><div class='del'>-  require "./zzz.rb"</div><div class='del'>-  $result</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_finish 3, %{</div><div class='del'>-  th = Thread.new {sleep 0.2}</div><div class='del'>-  th.join(0.1)</div><div class='del'>-  th.join</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_finish 3, %{</div><div class='del'>-  require 'timeout'</div><div class='del'>-  th = Thread.new {sleep 0.2}</div><div class='del'>-  begin</div><div class='del'>-    Timeout.timeout(0.1) {th.join}</div><div class='del'>-  rescue Timeout::Error</div><div class='del'>-  end</div><div class='del'>-  th.join</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  STDERR.reopen(STDOUT)</div><div class='del'>-  exec "/"</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  (0..10).map {</div><div class='del'>-    Thread.new {</div><div class='del'>-     10000.times {</div><div class='del'>-        Object.new.to_s</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-  }.each {|t|</div><div class='del'>-    t.join</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  def m</div><div class='del'>-    t = Thread.new { while true; // =~ "" end }</div><div class='del'>-    sleep 0.01</div><div class='del'>-    10.times {</div><div class='del'>-      if /((ab)*(ab)*)*(b)/ =~ "ab"*7</div><div class='del'>-        return :ng if !$4</div><div class='del'>-        return :ng if $~.size != 5</div><div class='del'>-      end</div><div class='del'>-    }</div><div class='del'>-    :ok</div><div class='del'>-  ensure</div><div class='del'>-    Thread.kill t</div><div class='del'>-  end</div><div class='del'>-  m</div><div class='del'>-}, '[ruby-dev:34492]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  at_exit { Fiber.new{}.resume }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  g = enum_for(:local_variables)</div><div class='del'>-  loop { g.next }</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  g = enum_for(:block_given?)</div><div class='del'>-  loop { g.next }</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  g = enum_for(:binding)</div><div class='del'>-  loop { g.next }</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  g = "abc".enum_for(:scan, /./)</div><div class='del'>-  loop { g.next }</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  g = Module.enum_for(:new)</div><div class='del'>-  loop { g.next }</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  Fiber.new(&amp;Object.method(:class_eval)).resume("foo")</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_normal_exit %q{</div><div class='del'>-  Thread.new("foo", &amp;Object.method(:class_eval)).join</div><div class='del'>-}, '[ruby-dev:34128]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    Thread.new { Thread.stop }</div><div class='del'>-    Thread.stop</div><div class='del'>-    :ng</div><div class='del'>-  rescue Exception</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    m1, m2 = Thread::Mutex.new, Thread::Mutex.new</div><div class='del'>-    f1 = f2 = false</div><div class='del'>-    Thread.new { m1.lock; f2 = true; sleep 0.001 until f1; m2.lock }</div><div class='del'>-    m2.lock; f1 = true; sleep 0.001 until f2; m1.lock</div><div class='del'>-    :ng</div><div class='del'>-  rescue Exception</div><div class='del'>-    :ok</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  m = Thread::Mutex.new</div><div class='del'>-  Thread.new { m.lock }; sleep 0.1; m.lock</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  m = Thread::Mutex.new</div><div class='del'>-  Thread.new { m.lock }; m.lock</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  m = Thread::Mutex.new</div><div class='del'>-  Thread.new { m.lock }.join; m.lock</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  m = Thread::Mutex.new</div><div class='del'>-  Thread.new { m.lock; sleep 0.2 }</div><div class='del'>-  sleep 0.1; m.lock</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  m = Thread::Mutex.new</div><div class='del'>-  Thread.new { m.lock; sleep 0.2; m.unlock }</div><div class='del'>-  sleep 0.1; m.lock</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  t = Thread.new {`echo`}</div><div class='del'>-  t.join</div><div class='del'>-  $? ? :ng : :ok</div><div class='del'>-}, '[ruby-dev:35414]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    100.times{</div><div class='del'>-      (1..100).map{ Thread.new(true) {|x| x == false } }.each{|th| th.join}</div><div class='del'>-    }</div><div class='del'>-  rescue NoMemoryError, StandardError</div><div class='del'>-  end</div><div class='del'>-  :ok</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %{</div><div class='del'>-  open("zzz.rb", "w") do |f|</div><div class='del'>-    f.puts &lt;&lt;-'end;' # do</div><div class='del'>-      begin</div><div class='del'>-        m = Thread::Mutex.new</div><div class='del'>-        parent = Thread.current</div><div class='del'>-        th1 = Thread.new { m.lock; sleep }</div><div class='del'>-        sleep 0.01 until th1.stop?</div><div class='del'>-        Thread.new do</div><div class='del'>-          sleep 0.01 until parent.stop?</div><div class='del'>-          begin</div><div class='del'>-            fork { GC.start }</div><div class='del'>-          rescue Exception</div><div class='del'>-            parent.raise $!</div><div class='del'>-          end</div><div class='del'>-          th1.run</div><div class='del'>-        end</div><div class='del'>-        m.lock</div><div class='del'>-        pid, status = Process.wait2</div><div class='del'>-        $result = status.success? ? :ok : :ng</div><div class='del'>-      rescue NotImplementedError</div><div class='del'>-        $result = :ok</div><div class='del'>-      end</div><div class='del'>-    end;</div><div class='del'>-  end</div><div class='del'>-  require "./zzz.rb"</div><div class='del'>-  $result</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_finish 3, %q{</div><div class='del'>-  require 'thread'</div><div class='del'>-</div><div class='del'>-  lock = Thread::Mutex.new</div><div class='del'>-  cond = Thread::ConditionVariable.new</div><div class='del'>-  t = Thread.new do</div><div class='del'>-    lock.synchronize do</div><div class='del'>-      cond.wait(lock)</div><div class='del'>-    end</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-  begin</div><div class='del'>-    pid = fork do</div><div class='del'>-      # Child</div><div class='del'>-      STDOUT.write "This is the child process.\n"</div><div class='del'>-      STDOUT.write "Child process exiting.\n"</div><div class='del'>-    end</div><div class='del'>-    Process.waitpid(pid)</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-  end</div><div class='del'>-}, '[ruby-core:23572]'</div><div class='del'>-</div><div class='del'>-assert_equal 'ok', %q{</div><div class='del'>-  begin</div><div class='del'>-    Process.waitpid2(fork {})[1].success? ? 'ok' : 'ng'</div><div class='del'>-  rescue NotImplementedError</div><div class='del'>-    'ok'</div><div class='del'>-  end</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-assert_equal 'foo', %q{</div><div class='del'>-  i = 0</div><div class='del'>-  Thread.start {sleep 1; exit!}</div><div class='del'>-  f = proc {|s, c| /#{c.call; s}/o }</div><div class='del'>-  th2 = Thread.new {</div><div class='del'>-    sleep 0.01 until i == 1</div><div class='del'>-    i = 2</div><div class='del'>-    f.call("bar", proc {sleep 2});</div><div class='del'>-    nil</div><div class='del'>-  }</div><div class='del'>-  th1 = Thread.new {</div><div class='del'>-    f.call("foo", proc {i = 1; sleep 0.01 until i == 2; sleep 0.01})</div><div class='del'>-    nil</div><div class='del'>-  }</div><div class='del'>-  [th1, th2].each {|t| t.join }</div><div class='del'>-  GC.start</div><div class='del'>-  f.call.source</div><div class='del'>-}</div><div class='head'>diff --git a/ccan/build_assert/build_assert.h b/ccan/build_assert/build_assert.h<br/>deleted file mode 100644<br/>index a04d1d4709..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/build_assert/build_assert.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/build_assert/build_assert.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,40 +0,0 @@</div><div class='del'>-/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='del'>-#ifndef CCAN_BUILD_ASSERT_H</div><div class='del'>-#define CCAN_BUILD_ASSERT_H</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * BUILD_ASSERT - assert a build-time dependency.</div><div class='del'>- * @cond: the compile-time condition which must be true.</div><div class='del'>- *</div><div class='del'>- * Your compile will fail if the condition isn't true, or can't be evaluated</div><div class='del'>- * by the compiler.  This can only be used within a function.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	#include &lt;stddef.h&gt;</div><div class='del'>- *	...</div><div class='del'>- *	static char *foo_to_char(struct foo *foo)</div><div class='del'>- *	{</div><div class='del'>- *		// This code needs string to be at start of foo.</div><div class='del'>- *		BUILD_ASSERT(offsetof(struct foo, string) == 0);</div><div class='del'>- *		return (char *)foo;</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-#define BUILD_ASSERT(cond) \</div><div class='del'>-	do { (void) sizeof(char [1 - 2*!(cond)]); } while(0)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * BUILD_ASSERT_OR_ZERO - assert a build-time dependency, as an expression.</div><div class='del'>- * @cond: the compile-time condition which must be true.</div><div class='del'>- *</div><div class='del'>- * Your compile will fail if the condition isn't true, or can't be evaluated</div><div class='del'>- * by the compiler.  This can be used in an expression: its value is "0".</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	#define foo_to_char(foo)					\</div><div class='del'>- *		 ((char *)(foo)						\</div><div class='del'>- *		  + BUILD_ASSERT_OR_ZERO(offsetof(struct foo, string) == 0))</div><div class='del'>- */</div><div class='del'>-#define BUILD_ASSERT_OR_ZERO(cond) \</div><div class='del'>-	(sizeof(char [1 - 2*!(cond)]) - 1)</div><div class='del'>-</div><div class='del'>-#endif /* CCAN_BUILD_ASSERT_H */</div><div class='head'>diff --git a/ccan/check_type/check_type.h b/ccan/check_type/check_type.h<br/>deleted file mode 100644<br/>index 1f77a535e4..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/check_type/check_type.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/check_type/check_type.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,63 +0,0 @@</div><div class='del'>-/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='del'>-#ifndef CCAN_CHECK_TYPE_H</div><div class='del'>-#define CCAN_CHECK_TYPE_H</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * check_type - issue a warning or build failure if type is not correct.</div><div class='del'>- * @expr: the expression whose type we should check (not evaluated).</div><div class='del'>- * @type: the exact type we expect the expression to be.</div><div class='del'>- *</div><div class='del'>- * This macro is usually used within other macros to try to ensure that a macro</div><div class='del'>- * argument is of the expected type.  No type promotion of the expression is</div><div class='del'>- * done: an unsigned int is not the same as an int!</div><div class='del'>- *</div><div class='del'>- * check_type() always evaluates to 0.</div><div class='del'>- *</div><div class='del'>- * If your compiler does not support typeof, then the best we can do is fail</div><div class='del'>- * to compile if the sizes of the types are unequal (a less complete check).</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	// They should always pass a 64-bit value to _set_some_value!</div><div class='del'>- *	#define set_some_value(expr)			\</div><div class='del'>- *		_set_some_value((check_type((expr), uint64_t), (expr)))</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * check_types_match - issue a warning or build failure if types are not same.</div><div class='del'>- * @expr1: the first expression (not evaluated).</div><div class='del'>- * @expr2: the second expression (not evaluated).</div><div class='del'>- *</div><div class='del'>- * This macro is usually used within other macros to try to ensure that</div><div class='del'>- * arguments are of identical types.  No type promotion of the expressions is</div><div class='del'>- * done: an unsigned int is not the same as an int!</div><div class='del'>- *</div><div class='del'>- * check_types_match() always evaluates to 0.</div><div class='del'>- *</div><div class='del'>- * If your compiler does not support typeof, then the best we can do is fail</div><div class='del'>- * to compile if the sizes of the types are unequal (a less complete check).</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	// Do subtraction to get to enclosing type, but make sure that</div><div class='del'>- *	// pointer is of correct type for that member.</div><div class='del'>- *	#define container_of(mbr_ptr, encl_type, mbr)			\</div><div class='del'>- *		(check_types_match((mbr_ptr), &amp;((encl_type *)0)-&gt;mbr),	\</div><div class='del'>- *		 ((encl_type *)						\</div><div class='del'>- *		  ((char *)(mbr_ptr) - offsetof(enclosing_type, mbr))))</div><div class='del'>- */</div><div class='del'>-#if HAVE_TYPEOF</div><div class='del'>-#define check_type(expr, type)			\</div><div class='del'>-	((typeof(expr) *)0 != (type *)0)</div><div class='del'>-</div><div class='del'>-#define check_types_match(expr1, expr2)		\</div><div class='del'>-	((typeof(expr1) *)0 != (typeof(expr2) *)0)</div><div class='del'>-#else</div><div class='del'>-#include "ccan/build_assert/build_assert.h"</div><div class='del'>-/* Without typeof, we can only test the sizes. */</div><div class='del'>-#define check_type(expr, type)					\</div><div class='del'>-	BUILD_ASSERT_OR_ZERO(sizeof(expr) == sizeof(type))</div><div class='del'>-</div><div class='del'>-#define check_types_match(expr1, expr2)				\</div><div class='del'>-	BUILD_ASSERT_OR_ZERO(sizeof(expr1) == sizeof(expr2))</div><div class='del'>-#endif /* HAVE_TYPEOF */</div><div class='del'>-</div><div class='del'>-#endif /* CCAN_CHECK_TYPE_H */</div><div class='head'>diff --git a/ccan/container_of/container_of.h b/ccan/container_of/container_of.h<br/>deleted file mode 100644<br/>index ae3e1fc81f..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/container_of/container_of.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/container_of/container_of.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,142 +0,0 @@</div><div class='del'>-/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='del'>-#ifndef CCAN_CONTAINER_OF_H</div><div class='del'>-#define CCAN_CONTAINER_OF_H</div><div class='del'>-#include "ccan/check_type/check_type.h"</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * container_of - get pointer to enclosing structure</div><div class='del'>- * @member_ptr: pointer to the structure member</div><div class='del'>- * @containing_type: the type this member is within</div><div class='del'>- * @member: the name of this member within the structure.</div><div class='del'>- *</div><div class='del'>- * Given a pointer to a member of a structure, this macro does pointer</div><div class='del'>- * subtraction to return the pointer to the enclosing type.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct foo {</div><div class='del'>- *		int fielda, fieldb;</div><div class='del'>- *		// ...</div><div class='del'>- *	};</div><div class='del'>- *	struct info {</div><div class='del'>- *		int some_other_field;</div><div class='del'>- *		struct foo my_foo;</div><div class='del'>- *	};</div><div class='del'>- *</div><div class='del'>- *	static struct info *foo_to_info(struct foo *foo)</div><div class='del'>- *	{</div><div class='del'>- *		return container_of(foo, struct info, my_foo);</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-#define container_of(member_ptr, containing_type, member)		\</div><div class='del'>-	 ((containing_type *)						\</div><div class='del'>-	  ((char *)(member_ptr)						\</div><div class='del'>-	   - container_off(containing_type, member))			\</div><div class='del'>-	  + check_types_match(*(member_ptr), ((containing_type *)0)-&gt;member))</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * container_of_or_null - get pointer to enclosing structure, or NULL</div><div class='del'>- * @member_ptr: pointer to the structure member</div><div class='del'>- * @containing_type: the type this member is within</div><div class='del'>- * @member: the name of this member within the structure.</div><div class='del'>- *</div><div class='del'>- * Given a pointer to a member of a structure, this macro does pointer</div><div class='del'>- * subtraction to return the pointer to the enclosing type, unless it</div><div class='del'>- * is given NULL, in which case it also returns NULL.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct foo {</div><div class='del'>- *		int fielda, fieldb;</div><div class='del'>- *		// ...</div><div class='del'>- *	};</div><div class='del'>- *	struct info {</div><div class='del'>- *		int some_other_field;</div><div class='del'>- *		struct foo my_foo;</div><div class='del'>- *	};</div><div class='del'>- *</div><div class='del'>- *	static struct info *foo_to_info_allowing_null(struct foo *foo)</div><div class='del'>- *	{</div><div class='del'>- *		return container_of_or_null(foo, struct info, my_foo);</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-static inline char *container_of_or_null_(void *member_ptr, size_t offset)</div><div class='del'>-{</div><div class='del'>-	return member_ptr ? (char *)member_ptr - offset : NULL;</div><div class='del'>-}</div><div class='del'>-#define container_of_or_null(member_ptr, containing_type, member)	\</div><div class='del'>-	((containing_type *)						\</div><div class='del'>-	 container_of_or_null_(member_ptr,				\</div><div class='del'>-			       container_off(containing_type, member))	\</div><div class='del'>-	 + check_types_match(*(member_ptr), ((containing_type *)0)-&gt;member))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * container_off - get offset to enclosing structure</div><div class='del'>- * @containing_type: the type this member is within</div><div class='del'>- * @member: the name of this member within the structure.</div><div class='del'>- *</div><div class='del'>- * Given a pointer to a member of a structure, this macro does</div><div class='del'>- * typechecking and figures out the offset to the enclosing type.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct foo {</div><div class='del'>- *		int fielda, fieldb;</div><div class='del'>- *		// ...</div><div class='del'>- *	};</div><div class='del'>- *	struct info {</div><div class='del'>- *		int some_other_field;</div><div class='del'>- *		struct foo my_foo;</div><div class='del'>- *	};</div><div class='del'>- *</div><div class='del'>- *	static struct info *foo_to_info(struct foo *foo)</div><div class='del'>- *	{</div><div class='del'>- *		size_t off = container_off(struct info, my_foo);</div><div class='del'>- *		return (void *)((char *)foo - off);</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-#define container_off(containing_type, member)	\</div><div class='del'>-	offsetof(containing_type, member)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * container_of_var - get pointer to enclosing structure using a variable</div><div class='del'>- * @member_ptr: pointer to the structure member</div><div class='del'>- * @container_var: a pointer of same type as this member's container</div><div class='del'>- * @member: the name of this member within the structure.</div><div class='del'>- *</div><div class='del'>- * Given a pointer to a member of a structure, this macro does pointer</div><div class='del'>- * subtraction to return the pointer to the enclosing type.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	static struct info *foo_to_i(struct foo *foo)</div><div class='del'>- *	{</div><div class='del'>- *		struct info *i = container_of_var(foo, i, my_foo);</div><div class='del'>- *		return i;</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-#if HAVE_TYPEOF</div><div class='del'>-#define container_of_var(member_ptr, container_var, member) \</div><div class='del'>-	container_of(member_ptr, typeof(*container_var), member)</div><div class='del'>-#else</div><div class='del'>-#define container_of_var(member_ptr, container_var, member)	\</div><div class='del'>-	((void *)((char *)(member_ptr)	-			\</div><div class='del'>-		  container_off_var(container_var, member)))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * container_off_var - get offset of a field in enclosing structure</div><div class='del'>- * @container_var: a pointer to a container structure</div><div class='del'>- * @member: the name of a member within the structure.</div><div class='del'>- *</div><div class='del'>- * Given (any) pointer to a structure and a its member name, this</div><div class='del'>- * macro does pointer subtraction to return offset of member in a</div><div class='del'>- * structure memory layout.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-#if HAVE_TYPEOF</div><div class='del'>-#define container_off_var(var, member)		\</div><div class='del'>-	container_off(typeof(*var), member)</div><div class='del'>-#else</div><div class='del'>-#define container_off_var(var, member)			\</div><div class='del'>-	((const char *)&amp;(var)-&gt;member - (const char *)(var))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#endif /* CCAN_CONTAINER_OF_H */</div><div class='head'>diff --git a/ccan/licenses/BSD-MIT b/ccan/licenses/BSD-MIT<br/>deleted file mode 100644<br/>index 89de354795..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/licenses/BSD-MIT?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/licenses/BSD-MIT</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-Permission is hereby granted, free of charge, to any person obtaining a copy</div><div class='del'>-of this software and associated documentation files (the "Software"), to deal</div><div class='del'>-in the Software without restriction, including without limitation the rights</div><div class='del'>-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</div><div class='del'>-copies of the Software, and to permit persons to whom the Software is</div><div class='del'>-furnished to do so, subject to the following conditions:</div><div class='del'>-</div><div class='del'>-The above copyright notice and this permission notice shall be included in</div><div class='del'>-all copies or substantial portions of the Software.</div><div class='del'>-</div><div class='del'>-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='del'>-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='del'>-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='del'>-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='del'>-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='del'>-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</div><div class='del'>-THE SOFTWARE.</div><div class='head'>diff --git a/ccan/licenses/CC0 b/ccan/licenses/CC0<br/>deleted file mode 100644<br/>index feb9b118e6..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/licenses/CC0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/licenses/CC0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,28 +0,0 @@</div><div class='del'>-Statement of Purpose</div><div class='del'>-</div><div class='del'>-The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").</div><div class='del'>-</div><div class='del'>-Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.</div><div class='del'>-</div><div class='del'>-For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.</div><div class='del'>-</div><div class='del'>-1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:</div><div class='del'>-</div><div class='del'>-    the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;</div><div class='del'>-    moral rights retained by the original author(s) and/or performer(s);</div><div class='del'>-    publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;</div><div class='del'>-    rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;</div><div class='del'>-    rights protecting the extraction, dissemination, use and reuse of data in a Work;</div><div class='del'>-    database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and</div><div class='del'>-    other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.</div><div class='del'>-</div><div class='del'>-2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.</div><div class='del'>-</div><div class='del'>-3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.</div><div class='del'>-</div><div class='del'>-4. Limitations and Disclaimers.</div><div class='del'>-</div><div class='del'>-    No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.</div><div class='del'>-    Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.</div><div class='del'>-    Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.</div><div class='del'>-    Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.</div><div class='head'>diff --git a/ccan/list/list.h b/ccan/list/list.h<br/>deleted file mode 100644<br/>index 59ab45ee53..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/list/list.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/list/list.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,788 +0,0 @@</div><div class='del'>-/* Licensed under BSD-MIT - see ccan/licenses/BSD-MIT file for details */</div><div class='del'>-#ifndef CCAN_LIST_H</div><div class='del'>-#define CCAN_LIST_H</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include "ccan/str/str.h"</div><div class='del'>-#include "ccan/container_of/container_of.h"</div><div class='del'>-#include "ccan/check_type/check_type.h"</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * struct list_node - an entry in a doubly-linked list</div><div class='del'>- * @next: next entry (self if empty)</div><div class='del'>- * @prev: previous entry (self if empty)</div><div class='del'>- *</div><div class='del'>- * This is used as an entry in a linked list.</div><div class='del'>- * Example:</div><div class='del'>- *	struct child {</div><div class='del'>- *		const char *name;</div><div class='del'>- *		// Linked list of all us children.</div><div class='del'>- *		struct list_node list;</div><div class='del'>- *	};</div><div class='del'>- */</div><div class='del'>-struct list_node</div><div class='del'>-{</div><div class='del'>-	struct list_node *next, *prev;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * struct list_head - the head of a doubly-linked list</div><div class='del'>- * @h: the list_head (containing next and prev pointers)</div><div class='del'>- *</div><div class='del'>- * This is used as the head of a linked list.</div><div class='del'>- * Example:</div><div class='del'>- *	struct parent {</div><div class='del'>- *		const char *name;</div><div class='del'>- *		struct list_head children;</div><div class='del'>- *		unsigned int num_children;</div><div class='del'>- *	};</div><div class='del'>- */</div><div class='del'>-struct list_head</div><div class='del'>-{</div><div class='del'>-	struct list_node n;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-#define LIST_LOC __FILE__  ":" stringify(__LINE__)</div><div class='del'>-#define list_debug(h, loc) ((void)loc, h)</div><div class='del'>-#define list_debug_node(n, loc) ((void)loc, n)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * LIST_HEAD_INIT - initializer for an empty list_head</div><div class='del'>- * @name: the name of the list.</div><div class='del'>- *</div><div class='del'>- * Explicit initializer for an empty list.</div><div class='del'>- *</div><div class='del'>- * See also:</div><div class='del'>- *	LIST_HEAD, list_head_init()</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	static struct list_head my_list = LIST_HEAD_INIT(my_list);</div><div class='del'>- */</div><div class='del'>-#define LIST_HEAD_INIT(name) { { &amp;(name).n, &amp;(name).n } }</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * LIST_HEAD - define and initialize an empty list_head</div><div class='del'>- * @name: the name of the list.</div><div class='del'>- *</div><div class='del'>- * The LIST_HEAD macro defines a list_head and initializes it to an empty</div><div class='del'>- * list.  It can be prepended by "static" to define a static list_head.</div><div class='del'>- *</div><div class='del'>- * See also:</div><div class='del'>- *	LIST_HEAD_INIT, list_head_init()</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	static LIST_HEAD(my_global_list);</div><div class='del'>- */</div><div class='del'>-#define LIST_HEAD(name) \</div><div class='del'>-	struct list_head name = LIST_HEAD_INIT(name)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_head_init - initialize a list_head</div><div class='del'>- * @h: the list_head to set to the empty list</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	...</div><div class='del'>- *	struct parent *parent = malloc(sizeof(*parent));</div><div class='del'>- *</div><div class='del'>- *	list_head_init(&amp;parent-&gt;children);</div><div class='del'>- *	parent-&gt;num_children = 0;</div><div class='del'>- */</div><div class='del'>-static inline void list_head_init(struct list_head *h)</div><div class='del'>-{</div><div class='del'>-	h-&gt;n.next = h-&gt;n.prev = &amp;h-&gt;n;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_node_init - initialize a list_node</div><div class='del'>- * @n: the list_node to link to itself.</div><div class='del'>- *</div><div class='del'>- * You don't need to use this normally!  But it lets you list_del(@n)</div><div class='del'>- * safely.</div><div class='del'>- */</div><div class='del'>-static inline void list_node_init(struct list_node *n)</div><div class='del'>-{</div><div class='del'>-	n-&gt;next = n-&gt;prev = n;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_add_after - add an entry after an existing node in a linked list</div><div class='del'>- * @h: the list_head to add the node to (for debugging)</div><div class='del'>- * @p: the existing list_node to add the node after</div><div class='del'>- * @n: the new list_node to add to the list.</div><div class='del'>- *</div><div class='del'>- * The existing list_node must already be a member of the list.</div><div class='del'>- * The new list_node does not need to be initialized; it will be overwritten.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child c1, c2, c3;</div><div class='del'>- *	LIST_HEAD(h);</div><div class='del'>- *</div><div class='del'>- *	list_add_tail(&amp;h, &amp;c1.list);</div><div class='del'>- *	list_add_tail(&amp;h, &amp;c3.list);</div><div class='del'>- *	list_add_after(&amp;h, &amp;c1.list, &amp;c2.list);</div><div class='del'>- */</div><div class='del'>-#define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)</div><div class='del'>-static inline void list_add_after_(struct list_head *h,</div><div class='del'>-				   struct list_node *p,</div><div class='del'>-				   struct list_node *n,</div><div class='del'>-				   const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	n-&gt;next = p-&gt;next;</div><div class='del'>-	n-&gt;prev = p;</div><div class='del'>-	p-&gt;next-&gt;prev = n;</div><div class='del'>-	p-&gt;next = n;</div><div class='del'>-	(void)list_debug(h, abortstr);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_add - add an entry at the start of a linked list.</div><div class='del'>- * @h: the list_head to add the node to</div><div class='del'>- * @n: the list_node to add to the list.</div><div class='del'>- *</div><div class='del'>- * The list_node does not need to be initialized; it will be overwritten.</div><div class='del'>- * Example:</div><div class='del'>- *	struct child *child = malloc(sizeof(*child));</div><div class='del'>- *</div><div class='del'>- *	child-&gt;name = "marvin";</div><div class='del'>- *	list_add(&amp;parent-&gt;children, &amp;child-&gt;list);</div><div class='del'>- *	parent-&gt;num_children++;</div><div class='del'>- */</div><div class='del'>-#define list_add(h, n) list_add_(h, n, LIST_LOC)</div><div class='del'>-static inline void list_add_(struct list_head *h,</div><div class='del'>-			     struct list_node *n,</div><div class='del'>-			     const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	list_add_after_(h, &amp;h-&gt;n, n, abortstr);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_add_before - add an entry before an existing node in a linked list</div><div class='del'>- * @h: the list_head to add the node to (for debugging)</div><div class='del'>- * @p: the existing list_node to add the node before</div><div class='del'>- * @n: the new list_node to add to the list.</div><div class='del'>- *</div><div class='del'>- * The existing list_node must already be a member of the list.</div><div class='del'>- * The new list_node does not need to be initialized; it will be overwritten.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_head_init(&amp;h);</div><div class='del'>- *	list_add_tail(&amp;h, &amp;c1.list);</div><div class='del'>- *	list_add_tail(&amp;h, &amp;c3.list);</div><div class='del'>- *	list_add_before(&amp;h, &amp;c3.list, &amp;c2.list);</div><div class='del'>- */</div><div class='del'>-#define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)</div><div class='del'>-static inline void list_add_before_(struct list_head *h,</div><div class='del'>-				    struct list_node *p,</div><div class='del'>-				    struct list_node *n,</div><div class='del'>-				    const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	n-&gt;next = p;</div><div class='del'>-	n-&gt;prev = p-&gt;prev;</div><div class='del'>-	p-&gt;prev-&gt;next = n;</div><div class='del'>-	p-&gt;prev = n;</div><div class='del'>-	(void)list_debug(h, abortstr);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_add_tail - add an entry at the end of a linked list.</div><div class='del'>- * @h: the list_head to add the node to</div><div class='del'>- * @n: the list_node to add to the list.</div><div class='del'>- *</div><div class='del'>- * The list_node does not need to be initialized; it will be overwritten.</div><div class='del'>- * Example:</div><div class='del'>- *	list_add_tail(&amp;parent-&gt;children, &amp;child-&gt;list);</div><div class='del'>- *	parent-&gt;num_children++;</div><div class='del'>- */</div><div class='del'>-#define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)</div><div class='del'>-static inline void list_add_tail_(struct list_head *h,</div><div class='del'>-				  struct list_node *n,</div><div class='del'>-				  const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	list_add_before_(h, &amp;h-&gt;n, n, abortstr);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_empty - is a list empty?</div><div class='del'>- * @h: the list_head</div><div class='del'>- *</div><div class='del'>- * If the list is empty, returns true.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	assert(list_empty(&amp;parent-&gt;children) == (parent-&gt;num_children == 0));</div><div class='del'>- */</div><div class='del'>-#define list_empty(h) list_empty_(h, LIST_LOC)</div><div class='del'>-static inline int list_empty_(const struct list_head *h, const char* abortstr)</div><div class='del'>-{</div><div class='del'>-	(void)list_debug(h, abortstr);</div><div class='del'>-	return h-&gt;n.next == &amp;h-&gt;n;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_empty_nodebug - is a list empty (and don't perform debug checks)?</div><div class='del'>- * @h: the list_head</div><div class='del'>- *</div><div class='del'>- * If the list is empty, returns true.</div><div class='del'>- * This differs from list_empty() in that if CCAN_LIST_DEBUG is set it</div><div class='del'>- * will NOT perform debug checks. Only use this function if you REALLY</div><div class='del'>- * know what you're doing.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	assert(list_empty_nodebug(&amp;parent-&gt;children) == (parent-&gt;num_children == 0));</div><div class='del'>- */</div><div class='del'>-#ifndef CCAN_LIST_DEBUG</div><div class='del'>-#define list_empty_nodebug(h) list_empty(h)</div><div class='del'>-#else</div><div class='del'>-static inline int list_empty_nodebug(const struct list_head *h)</div><div class='del'>-{</div><div class='del'>-	return h-&gt;n.next == &amp;h-&gt;n;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_empty_nocheck - is a list empty?</div><div class='del'>- * @h: the list_head</div><div class='del'>- *</div><div class='del'>- * If the list is empty, returns true. This doesn't perform any</div><div class='del'>- * debug check for list consistency, so it can be called without</div><div class='del'>- * locks, racing with the list being modified. This is ok for</div><div class='del'>- * checks where an incorrect result is not an issue (optimized</div><div class='del'>- * bail out path for example).</div><div class='del'>- */</div><div class='del'>-static inline bool list_empty_nocheck(const struct list_head *h)</div><div class='del'>-{</div><div class='del'>-	return h-&gt;n.next == &amp;h-&gt;n;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_del - delete an entry from an (unknown) linked list.</div><div class='del'>- * @n: the list_node to delete from the list.</div><div class='del'>- *</div><div class='del'>- * Note that this leaves @n in an undefined state; it can be added to</div><div class='del'>- * another list, but not deleted again.</div><div class='del'>- *</div><div class='del'>- * See also:</div><div class='del'>- *	list_del_from(), list_del_init()</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_del(&amp;child-&gt;list);</div><div class='del'>- *	parent-&gt;num_children--;</div><div class='del'>- */</div><div class='del'>-#define list_del(n) list_del_(n, LIST_LOC)</div><div class='del'>-static inline void list_del_(struct list_node *n, const char* abortstr)</div><div class='del'>-{</div><div class='del'>-	(void)list_debug_node(n, abortstr);</div><div class='del'>-	n-&gt;next-&gt;prev = n-&gt;prev;</div><div class='del'>-	n-&gt;prev-&gt;next = n-&gt;next;</div><div class='del'>-#ifdef CCAN_LIST_DEBUG</div><div class='del'>-	/* Catch use-after-del. */</div><div class='del'>-	n-&gt;next = n-&gt;prev = NULL;</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_del_init - delete a node, and reset it so it can be deleted again.</div><div class='del'>- * @n: the list_node to be deleted.</div><div class='del'>- *</div><div class='del'>- * list_del(@n) or list_del_init() again after this will be safe,</div><div class='del'>- * which can be useful in some cases.</div><div class='del'>- *</div><div class='del'>- * See also:</div><div class='del'>- *	list_del_from(), list_del()</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_del_init(&amp;child-&gt;list);</div><div class='del'>- *	parent-&gt;num_children--;</div><div class='del'>- */</div><div class='del'>-#define list_del_init(n) list_del_init_(n, LIST_LOC)</div><div class='del'>-static inline void list_del_init_(struct list_node *n, const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	list_del_(n, abortstr);</div><div class='del'>-	list_node_init(n);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_del_from - delete an entry from a known linked list.</div><div class='del'>- * @h: the list_head the node is in.</div><div class='del'>- * @n: the list_node to delete from the list.</div><div class='del'>- *</div><div class='del'>- * This explicitly indicates which list a node is expected to be in,</div><div class='del'>- * which is better documentation and can catch more bugs.</div><div class='del'>- *</div><div class='del'>- * See also: list_del()</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_del_from(&amp;parent-&gt;children, &amp;child-&gt;list);</div><div class='del'>- *	parent-&gt;num_children--;</div><div class='del'>- */</div><div class='del'>-static inline void list_del_from(struct list_head *h, struct list_node *n)</div><div class='del'>-{</div><div class='del'>-#ifdef CCAN_LIST_DEBUG</div><div class='del'>-	{</div><div class='del'>-		/* Thorough check: make sure it was in list! */</div><div class='del'>-		struct list_node *i;</div><div class='del'>-		for (i = h-&gt;n.next; i != n; i = i-&gt;next)</div><div class='del'>-			assert(i != &amp;h-&gt;n);</div><div class='del'>-	}</div><div class='del'>-#endif /* CCAN_LIST_DEBUG */</div><div class='del'>-</div><div class='del'>-	/* Quick test that catches a surprising number of bugs. */</div><div class='del'>-	assert(!list_empty(h));</div><div class='del'>-	list_del(n);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_swap - swap out an entry from an (unknown) linked list for a new one.</div><div class='del'>- * @o: the list_node to replace from the list.</div><div class='del'>- * @n: the list_node to insert in place of the old one.</div><div class='del'>- *</div><div class='del'>- * Note that this leaves @o in an undefined state; it can be added to</div><div class='del'>- * another list, but not deleted/swapped again.</div><div class='del'>- *</div><div class='del'>- * See also:</div><div class='del'>- *	list_del()</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child x1, x2;</div><div class='del'>- *	LIST_HEAD(xh);</div><div class='del'>- *</div><div class='del'>- *	list_add(&amp;xh, &amp;x1.list);</div><div class='del'>- *	list_swap(&amp;x1.list, &amp;x2.list);</div><div class='del'>- */</div><div class='del'>-#define list_swap(o, n) list_swap_(o, n, LIST_LOC)</div><div class='del'>-static inline void list_swap_(struct list_node *o,</div><div class='del'>-			      struct list_node *n,</div><div class='del'>-			      const char* abortstr)</div><div class='del'>-{</div><div class='del'>-	(void)list_debug_node(o, abortstr);</div><div class='del'>-	*n = *o;</div><div class='del'>-	n-&gt;next-&gt;prev = n;</div><div class='del'>-	n-&gt;prev-&gt;next = n;</div><div class='del'>-#ifdef CCAN_LIST_DEBUG</div><div class='del'>-	/* Catch use-after-del. */</div><div class='del'>-	o-&gt;next = o-&gt;prev = NULL;</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_entry - convert a list_node back into the structure containing it.</div><div class='del'>- * @n: the list_node</div><div class='del'>- * @type: the type of the entry</div><div class='del'>- * @member: the list_node member of the type</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	// First list entry is children.next; convert back to child.</div><div class='del'>- *	child = list_entry(parent-&gt;children.n.next, struct child, list);</div><div class='del'>- *</div><div class='del'>- * See Also:</div><div class='del'>- *	list_top(), list_for_each()</div><div class='del'>- */</div><div class='del'>-#define list_entry(n, type, member) container_of(n, type, member)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_top - get the first entry in a list</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @type: the type of the entry</div><div class='del'>- * @member: the list_node member of the type</div><div class='del'>- *</div><div class='del'>- * If the list is empty, returns NULL.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child *first;</div><div class='del'>- *	first = list_top(&amp;parent-&gt;children, struct child, list);</div><div class='del'>- *	if (!first)</div><div class='del'>- *		printf("Empty list!\n");</div><div class='del'>- */</div><div class='del'>-#define list_top(h, type, member)					\</div><div class='del'>-	((type *)list_top_((h), list_off_(type, member)))</div><div class='del'>-</div><div class='del'>-static inline const void *list_top_(const struct list_head *h, size_t off)</div><div class='del'>-{</div><div class='del'>-	if (list_empty(h))</div><div class='del'>-		return NULL;</div><div class='del'>-	return (const char *)h-&gt;n.next - off;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_pop - remove the first entry in a list</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @type: the type of the entry</div><div class='del'>- * @member: the list_node member of the type</div><div class='del'>- *</div><div class='del'>- * If the list is empty, returns NULL.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child *one;</div><div class='del'>- *	one = list_pop(&amp;parent-&gt;children, struct child, list);</div><div class='del'>- *	if (!one)</div><div class='del'>- *		printf("Empty list!\n");</div><div class='del'>- */</div><div class='del'>-#define list_pop(h, type, member)					\</div><div class='del'>-	((type *)list_pop_((h), list_off_(type, member)))</div><div class='del'>-</div><div class='del'>-static inline const void *list_pop_(const struct list_head *h, size_t off)</div><div class='del'>-{</div><div class='del'>-	struct list_node *n;</div><div class='del'>-</div><div class='del'>-	if (list_empty(h))</div><div class='del'>-		return NULL;</div><div class='del'>-	n = h-&gt;n.next;</div><div class='del'>-	list_del(n);</div><div class='del'>-	return (const char *)n - off;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_tail - get the last entry in a list</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @type: the type of the entry</div><div class='del'>- * @member: the list_node member of the type</div><div class='del'>- *</div><div class='del'>- * If the list is empty, returns NULL.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child *last;</div><div class='del'>- *	last = list_tail(&amp;parent-&gt;children, struct child, list);</div><div class='del'>- *	if (!last)</div><div class='del'>- *		printf("Empty list!\n");</div><div class='del'>- */</div><div class='del'>-#define list_tail(h, type, member) \</div><div class='del'>-	((type *)list_tail_((h), list_off_(type, member)))</div><div class='del'>-</div><div class='del'>-static inline const void *list_tail_(const struct list_head *h, size_t off)</div><div class='del'>-{</div><div class='del'>-	if (list_empty(h))</div><div class='del'>-		return NULL;</div><div class='del'>-	return (const char *)h-&gt;n.prev - off;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each - iterate through a list.</div><div class='del'>- * @h: the list_head (warning: evaluated multiple times!)</div><div class='del'>- * @i: the structure containing the list_node</div><div class='del'>- * @member: the list_node member of the structure</div><div class='del'>- *</div><div class='del'>- * This is a convenient wrapper to iterate @i over the entire list.  It's</div><div class='del'>- * a for loop, so you can break and continue as normal.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_for_each(&amp;parent-&gt;children, child, list)</div><div class='del'>- *		printf("Name: %s\n", child-&gt;name);</div><div class='del'>- */</div><div class='del'>-#define list_for_each(h, i, member)					\</div><div class='del'>-	list_for_each_off(h, i, list_off_var_(i, member))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_rev - iterate through a list backwards.</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the structure containing the list_node</div><div class='del'>- * @member: the list_node member of the structure</div><div class='del'>- *</div><div class='del'>- * This is a convenient wrapper to iterate @i over the entire list.  It's</div><div class='del'>- * a for loop, so you can break and continue as normal.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_for_each_rev(&amp;parent-&gt;children, child, list)</div><div class='del'>- *		printf("Name: %s\n", child-&gt;name);</div><div class='del'>- */</div><div class='del'>-#define list_for_each_rev(h, i, member)					\</div><div class='del'>-	list_for_each_rev_off(h, i, list_off_var_(i, member))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_rev_safe - iterate through a list backwards,</div><div class='del'>- * maybe during deletion</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the structure containing the list_node</div><div class='del'>- * @nxt: the structure containing the list_node</div><div class='del'>- * @member: the list_node member of the structure</div><div class='del'>- *</div><div class='del'>- * This is a convenient wrapper to iterate @i over the entire list backwards.</div><div class='del'>- * It's a for loop, so you can break and continue as normal.  The extra</div><div class='del'>- * variable * @nxt is used to hold the next element, so you can delete @i</div><div class='del'>- * from the list.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child *next;</div><div class='del'>- *	list_for_each_rev_safe(&amp;parent-&gt;children, child, next, list) {</div><div class='del'>- *		printf("Name: %s\n", child-&gt;name);</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-#define list_for_each_rev_safe(h, i, nxt, member)			\</div><div class='del'>-	list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_safe - iterate through a list, maybe during deletion</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the structure containing the list_node</div><div class='del'>- * @nxt: the structure containing the list_node</div><div class='del'>- * @member: the list_node member of the structure</div><div class='del'>- *</div><div class='del'>- * This is a convenient wrapper to iterate @i over the entire list.  It's</div><div class='del'>- * a for loop, so you can break and continue as normal.  The extra variable</div><div class='del'>- * @nxt is used to hold the next element, so you can delete @i from the list.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_for_each_safe(&amp;parent-&gt;children, child, next, list) {</div><div class='del'>- *		list_del(&amp;child-&gt;list);</div><div class='del'>- *		parent-&gt;num_children--;</div><div class='del'>- *	}</div><div class='del'>- */</div><div class='del'>-#define list_for_each_safe(h, i, nxt, member)				\</div><div class='del'>-	list_for_each_safe_off(h, i, nxt, list_off_var_(i, member))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_next - get the next entry in a list</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: a pointer to an entry in the list.</div><div class='del'>- * @member: the list_node member of the structure</div><div class='del'>- *</div><div class='del'>- * If @i was the last entry in the list, returns NULL.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct child *second;</div><div class='del'>- *	second = list_next(&amp;parent-&gt;children, first, list);</div><div class='del'>- *	if (!second)</div><div class='del'>- *		printf("No second child!\n");</div><div class='del'>- */</div><div class='del'>-#define list_next(h, i, member)						\</div><div class='del'>-	((list_typeof(i))list_entry_or_null(list_debug(h,		\</div><div class='del'>-					    __FILE__ ":" stringify(__LINE__)), \</div><div class='del'>-					    (i)-&gt;member.next,		\</div><div class='del'>-					    list_off_var_((i), member)))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_prev - get the previous entry in a list</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: a pointer to an entry in the list.</div><div class='del'>- * @member: the list_node member of the structure</div><div class='del'>- *</div><div class='del'>- * If @i was the first entry in the list, returns NULL.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	first = list_prev(&amp;parent-&gt;children, second, list);</div><div class='del'>- *	if (!first)</div><div class='del'>- *		printf("Can't go back to first child?!\n");</div><div class='del'>- */</div><div class='del'>-#define list_prev(h, i, member)						\</div><div class='del'>-	((list_typeof(i))list_entry_or_null(list_debug(h,		\</div><div class='del'>-					    __FILE__ ":" stringify(__LINE__)), \</div><div class='del'>-					    (i)-&gt;member.prev,		\</div><div class='del'>-					    list_off_var_((i), member)))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_append_list - empty one list onto the end of another.</div><div class='del'>- * @to: the list to append into</div><div class='del'>- * @from: the list to empty.</div><div class='del'>- *</div><div class='del'>- * This takes the entire contents of @from and moves it to the end of</div><div class='del'>- * @to.  After this @from will be empty.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	struct list_head adopter;</div><div class='del'>- *</div><div class='del'>- *	list_append_list(&amp;adopter, &amp;parent-&gt;children);</div><div class='del'>- *	assert(list_empty(&amp;parent-&gt;children));</div><div class='del'>- *	parent-&gt;num_children = 0;</div><div class='del'>- */</div><div class='del'>-#define list_append_list(t, f) list_append_list_(t, f,			\</div><div class='del'>-				   __FILE__ ":" stringify(__LINE__))</div><div class='del'>-static inline void list_append_list_(struct list_head *to,</div><div class='del'>-				     struct list_head *from,</div><div class='del'>-				     const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	struct list_node *from_tail = list_debug(from, abortstr)-&gt;n.prev;</div><div class='del'>-	struct list_node *to_tail = list_debug(to, abortstr)-&gt;n.prev;</div><div class='del'>-</div><div class='del'>-	/* Sew in head and entire list. */</div><div class='del'>-	to-&gt;n.prev = from_tail;</div><div class='del'>-	from_tail-&gt;next = &amp;to-&gt;n;</div><div class='del'>-	to_tail-&gt;next = &amp;from-&gt;n;</div><div class='del'>-	from-&gt;n.prev = to_tail;</div><div class='del'>-</div><div class='del'>-	/* Now remove head. */</div><div class='del'>-	list_del(&amp;from-&gt;n);</div><div class='del'>-	list_head_init(from);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_prepend_list - empty one list into the start of another.</div><div class='del'>- * @to: the list to prepend into</div><div class='del'>- * @from: the list to empty.</div><div class='del'>- *</div><div class='del'>- * This takes the entire contents of @from and moves it to the start</div><div class='del'>- * of @to.  After this @from will be empty.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_prepend_list(&amp;adopter, &amp;parent-&gt;children);</div><div class='del'>- *	assert(list_empty(&amp;parent-&gt;children));</div><div class='del'>- *	parent-&gt;num_children = 0;</div><div class='del'>- */</div><div class='del'>-#define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)</div><div class='del'>-static inline void list_prepend_list_(struct list_head *to,</div><div class='del'>-				      struct list_head *from,</div><div class='del'>-				      const char *abortstr)</div><div class='del'>-{</div><div class='del'>-	struct list_node *from_tail = list_debug(from, abortstr)-&gt;n.prev;</div><div class='del'>-	struct list_node *to_head = list_debug(to, abortstr)-&gt;n.next;</div><div class='del'>-</div><div class='del'>-	/* Sew in head and entire list. */</div><div class='del'>-	to-&gt;n.next = &amp;from-&gt;n;</div><div class='del'>-	from-&gt;n.prev = &amp;to-&gt;n;</div><div class='del'>-	to_head-&gt;prev = from_tail;</div><div class='del'>-	from_tail-&gt;next = to_head;</div><div class='del'>-</div><div class='del'>-	/* Now remove head. */</div><div class='del'>-	list_del(&amp;from-&gt;n);</div><div class='del'>-	list_head_init(from);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* internal macros, do not use directly */</div><div class='del'>-#define list_for_each_off_dir_(h, i, off, dir)				\</div><div class='del'>-	for (i = list_node_to_off_(list_debug(h, LIST_LOC)-&gt;n.dir,	\</div><div class='del'>-				   (off));				\</div><div class='del'>-	list_node_from_off_((void *)i, (off)) != &amp;(h)-&gt;n;		\</div><div class='del'>-	i = list_node_to_off_(list_node_from_off_((void *)i, (off))-&gt;dir, \</div><div class='del'>-			      (off)))</div><div class='del'>-</div><div class='del'>-#define list_for_each_safe_off_dir_(h, i, nxt, off, dir)		\</div><div class='del'>-	for (i = list_node_to_off_(list_debug(h, LIST_LOC)-&gt;n.dir,	\</div><div class='del'>-				   (off)),				\</div><div class='del'>-	nxt = list_node_to_off_(list_node_from_off_(i, (off))-&gt;dir,	\</div><div class='del'>-				(off));					\</div><div class='del'>-	list_node_from_off_(i, (off)) != &amp;(h)-&gt;n;			\</div><div class='del'>-	i = nxt,							\</div><div class='del'>-	nxt = list_node_to_off_(list_node_from_off_(i, (off))-&gt;dir,	\</div><div class='del'>-				(off)))</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_off - iterate through a list of memory regions.</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the pointer to a memory region wich contains list node data.</div><div class='del'>- * @off: offset(relative to @i) at which list node data resides.</div><div class='del'>- *</div><div class='del'>- * This is a low-level wrapper to iterate @i over the entire list, used to</div><div class='del'>- * implement all oher, more high-level, for-each constructs. It's a for loop,</div><div class='del'>- * so you can break and continue as normal.</div><div class='del'>- *</div><div class='del'>- * WARNING! Being the low-level macro that it is, this wrapper doesn't know</div><div class='del'>- * nor care about the type of @i. The only assumption made is that @i points</div><div class='del'>- * to a chunk of memory that at some @offset, relative to @i, contains a</div><div class='del'>- * properly filled `struct list_node' which in turn contains pointers to</div><div class='del'>- * memory chunks and it's turtles all the way down. With all that in mind</div><div class='del'>- * remember that given the wrong pointer/offset couple this macro will</div><div class='del'>- * happily churn all you memory until SEGFAULT stops it, in other words</div><div class='del'>- * caveat emptor.</div><div class='del'>- *</div><div class='del'>- * It is worth mentioning that one of legitimate use-cases for that wrapper</div><div class='del'>- * is operation on opaque types with known offset for `struct list_node'</div><div class='del'>- * member(preferably 0), because it allows you not to disclose the type of</div><div class='del'>- * @i.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_for_each_off(&amp;parent-&gt;children, child,</div><div class='del'>- *				offsetof(struct child, list))</div><div class='del'>- *		printf("Name: %s\n", child-&gt;name);</div><div class='del'>- */</div><div class='del'>-#define list_for_each_off(h, i, off)                                    \</div><div class='del'>-	list_for_each_off_dir_((h),(i),(off),next)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_rev_off - iterate through a list of memory regions backwards</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the pointer to a memory region wich contains list node data.</div><div class='del'>- * @off: offset(relative to @i) at which list node data resides.</div><div class='del'>- *</div><div class='del'>- * See list_for_each_off for details</div><div class='del'>- */</div><div class='del'>-#define list_for_each_rev_off(h, i, off)                                    \</div><div class='del'>-	list_for_each_off_dir_((h),(i),(off),prev)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_safe_off - iterate through a list of memory regions, maybe</div><div class='del'>- * during deletion</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the pointer to a memory region wich contains list node data.</div><div class='del'>- * @nxt: the structure containing the list_node</div><div class='del'>- * @off: offset(relative to @i) at which list node data resides.</div><div class='del'>- *</div><div class='del'>- * For details see `list_for_each_off' and `list_for_each_safe'</div><div class='del'>- * descriptions.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_for_each_safe_off(&amp;parent-&gt;children, child,</div><div class='del'>- *		next, offsetof(struct child, list))</div><div class='del'>- *		printf("Name: %s\n", child-&gt;name);</div><div class='del'>- */</div><div class='del'>-#define list_for_each_safe_off(h, i, nxt, off)                          \</div><div class='del'>-	list_for_each_safe_off_dir_((h),(i),(nxt),(off),next)</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * list_for_each_rev_safe_off - iterate backwards through a list of</div><div class='del'>- * memory regions, maybe during deletion</div><div class='del'>- * @h: the list_head</div><div class='del'>- * @i: the pointer to a memory region wich contains list node data.</div><div class='del'>- * @nxt: the structure containing the list_node</div><div class='del'>- * @off: offset(relative to @i) at which list node data resides.</div><div class='del'>- *</div><div class='del'>- * For details see `list_for_each_rev_off' and `list_for_each_rev_safe'</div><div class='del'>- * descriptions.</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	list_for_each_rev_safe_off(&amp;parent-&gt;children, child,</div><div class='del'>- *		next, offsetof(struct child, list))</div><div class='del'>- *		printf("Name: %s\n", child-&gt;name);</div><div class='del'>- */</div><div class='del'>-#define list_for_each_rev_safe_off(h, i, nxt, off)                      \</div><div class='del'>-	list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)</div><div class='del'>-</div><div class='del'>-/* Other -off variants. */</div><div class='del'>-#define list_entry_off(n, type, off)		\</div><div class='del'>-	((type *)list_node_from_off_((n), (off)))</div><div class='del'>-</div><div class='del'>-#define list_head_off(h, type, off)		\</div><div class='del'>-	((type *)list_head_off((h), (off)))</div><div class='del'>-</div><div class='del'>-#define list_tail_off(h, type, off)		\</div><div class='del'>-	((type *)list_tail_((h), (off)))</div><div class='del'>-</div><div class='del'>-#define list_add_off(h, n, off)                 \</div><div class='del'>-	list_add((h), list_node_from_off_((n), (off)))</div><div class='del'>-</div><div class='del'>-#define list_del_off(n, off)                    \</div><div class='del'>-	list_del(list_node_from_off_((n), (off)))</div><div class='del'>-</div><div class='del'>-#define list_del_from_off(h, n, off)			\</div><div class='del'>-	list_del_from(h, list_node_from_off_((n), (off)))</div><div class='del'>-</div><div class='del'>-/* Offset helper functions so we only single-evaluate. */</div><div class='del'>-static inline void *list_node_to_off_(struct list_node *node, size_t off)</div><div class='del'>-{</div><div class='del'>-	return (void *)((char *)node - off);</div><div class='del'>-}</div><div class='del'>-static inline struct list_node *list_node_from_off_(void *ptr, size_t off)</div><div class='del'>-{</div><div class='del'>-	return (struct list_node *)((char *)ptr + off);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* Get the offset of the member, but make sure it's a list_node. */</div><div class='del'>-#define list_off_(type, member)					\</div><div class='del'>-	(container_off(type, member) +				\</div><div class='del'>-	 check_type(((type *)0)-&gt;member, struct list_node))</div><div class='del'>-</div><div class='del'>-#define list_off_var_(var, member)			\</div><div class='del'>-	(container_off_var(var, member) +		\</div><div class='del'>-	 check_type(var-&gt;member, struct list_node))</div><div class='del'>-</div><div class='del'>-#if HAVE_TYPEOF</div><div class='del'>-#define list_typeof(var) typeof(var)</div><div class='del'>-#else</div><div class='del'>-#define list_typeof(var) void *</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/* Returns member, or NULL if at end of list. */</div><div class='del'>-static inline void *list_entry_or_null(const struct list_head *h,</div><div class='del'>-				       const struct list_node *n,</div><div class='del'>-				       size_t off)</div><div class='del'>-{</div><div class='del'>-	if (n == &amp;h-&gt;n)</div><div class='del'>-		return NULL;</div><div class='del'>-	return (char *)n - off;</div><div class='del'>-}</div><div class='del'>-#endif /* CCAN_LIST_H */</div><div class='head'>diff --git a/ccan/str/str.h b/ccan/str/str.h<br/>deleted file mode 100644<br/>index 9a9da9cd3f..0000000000<br/>--- a/<a href='/ruby.git/tree/ccan/str/str.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>ccan/str/str.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,16 +0,0 @@</div><div class='del'>-/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='del'>-#ifndef CCAN_STR_H</div><div class='del'>-#define CCAN_STR_H</div><div class='del'>-/**</div><div class='del'>- * stringify - Turn expression into a string literal</div><div class='del'>- * @expr: any C expression</div><div class='del'>- *</div><div class='del'>- * Example:</div><div class='del'>- *	#define PRINT_COND_IF_FALSE(cond) \</div><div class='del'>- *		((cond) || printf("%s is false!", stringify(cond)))</div><div class='del'>- */</div><div class='del'>-#define stringify(expr)		stringify_1(expr)</div><div class='del'>-/* Double-indirection required to stringify expansions */</div><div class='del'>-#define stringify_1(expr)	#expr</div><div class='del'>-</div><div class='del'>-#endif /* CCAN_STR_H */</div><div class='head'>diff --git a/class.c b/class.c<br/>index c1cf6ab051..80dc9e4b2d 100644<br/>--- a/<a href='/ruby.git/tree/class.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>class.c</a><br/>+++ b/<a href='/ruby.git/tree/class.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>class.c</a></div><div class='hunk'>@@ -3,600 +3,178 @@</div><div class='ctx'>   class.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Tue Aug 10 15:05:44 JST 1993</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * \defgroup class Classes and their hierarchy.</div><div class='del'>- * \par Terminology</div><div class='del'>- * - class: same as in Ruby.</div><div class='del'>- * - singleton class: class for a particular object</div><div class='del'>- * - eigenclass: = singleton class</div><div class='del'>- * - metaclass: class of a class. metaclass is a kind of singleton class.</div><div class='del'>- * - metametaclass: class of a metaclass.</div><div class='del'>- * - meta^(n)-class: class of a meta^(n-1)-class.</div><div class='del'>- * - attached object: A singleton class knows its unique instance.</div><div class='del'>- *   The instance is called the attached object for the singleton class.</div><div class='del'>- * \{</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "ruby/st.h"</div><div class='del'>-#include "constant.h"</div><div class='del'>-#include "vm_core.h"</div><div class='del'>-#include "id_table.h"</div><div class='add'>+#include "ruby.h"</div><div class='add'>+#include "rubysig.h"</div><div class='add'>+#include "node.h"</div><div class='add'>+#include "st.h"</div><div class='ctx'> #include &lt;ctype.h&gt;</div><div class='ctx'> </div><div class='del'>-#define id_attached id__attached__</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_class_subclass_add(VALUE super, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    rb_subclass_entry_t *entry, *head;</div><div class='del'>-</div><div class='del'>-    if (super &amp;&amp; super != Qundef) {</div><div class='del'>-	entry = ALLOC(rb_subclass_entry_t);</div><div class='del'>-	entry-&gt;klass = klass;</div><div class='del'>-	entry-&gt;next = NULL;</div><div class='del'>-</div><div class='del'>-	head = RCLASS_EXT(super)-&gt;subclasses;</div><div class='del'>-	if (head) {</div><div class='del'>-	    entry-&gt;next = head;</div><div class='del'>-	    RCLASS_EXT(head-&gt;klass)-&gt;parent_subclasses = &amp;entry-&gt;next;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	RCLASS_EXT(super)-&gt;subclasses = entry;</div><div class='del'>-	RCLASS_EXT(klass)-&gt;parent_subclasses = &amp;RCLASS_EXT(super)-&gt;subclasses;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_module_add_to_subclasses_list(VALUE module, VALUE iclass)</div><div class='del'>-{</div><div class='del'>-    rb_subclass_entry_t *entry, *head;</div><div class='del'>-</div><div class='del'>-    entry = ALLOC(rb_subclass_entry_t);</div><div class='del'>-    entry-&gt;klass = iclass;</div><div class='del'>-    entry-&gt;next = NULL;</div><div class='del'>-</div><div class='del'>-    head = RCLASS_EXT(module)-&gt;subclasses;</div><div class='del'>-    if (head) {</div><div class='del'>-	entry-&gt;next = head;</div><div class='del'>-	RCLASS_EXT(head-&gt;klass)-&gt;module_subclasses = &amp;entry-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    RCLASS_EXT(module)-&gt;subclasses = entry;</div><div class='del'>-    RCLASS_EXT(iclass)-&gt;module_subclasses = &amp;RCLASS_EXT(module)-&gt;subclasses;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_class_remove_from_super_subclasses(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    rb_subclass_entry_t *entry;</div><div class='del'>-</div><div class='del'>-    if (RCLASS_EXT(klass)-&gt;parent_subclasses) {</div><div class='del'>-	entry = *RCLASS_EXT(klass)-&gt;parent_subclasses;</div><div class='del'>-</div><div class='del'>-	*RCLASS_EXT(klass)-&gt;parent_subclasses = entry-&gt;next;</div><div class='del'>-	if (entry-&gt;next) {</div><div class='del'>-	    RCLASS_EXT(entry-&gt;next-&gt;klass)-&gt;parent_subclasses = RCLASS_EXT(klass)-&gt;parent_subclasses;</div><div class='del'>-	}</div><div class='del'>-	xfree(entry);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    RCLASS_EXT(klass)-&gt;parent_subclasses = NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_class_remove_from_module_subclasses(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    rb_subclass_entry_t *entry;</div><div class='del'>-</div><div class='del'>-    if (RCLASS_EXT(klass)-&gt;module_subclasses) {</div><div class='del'>-	entry = *RCLASS_EXT(klass)-&gt;module_subclasses;</div><div class='del'>-	*RCLASS_EXT(klass)-&gt;module_subclasses = entry-&gt;next;</div><div class='del'>-</div><div class='del'>-	if (entry-&gt;next) {</div><div class='del'>-	    RCLASS_EXT(entry-&gt;next-&gt;klass)-&gt;module_subclasses = RCLASS_EXT(klass)-&gt;module_subclasses;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	xfree(entry);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    RCLASS_EXT(klass)-&gt;module_subclasses = NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_class_foreach_subclass(VALUE klass, void (*f)(VALUE, VALUE), VALUE arg)</div><div class='del'>-{</div><div class='del'>-    rb_subclass_entry_t *cur = RCLASS_EXT(klass)-&gt;subclasses;</div><div class='del'>-</div><div class='del'>-    /* do not be tempted to simplify this loop into a for loop, the order of</div><div class='del'>-       operations is important here if `f` modifies the linked list */</div><div class='del'>-    while (cur) {</div><div class='del'>-	VALUE curklass = cur-&gt;klass;</div><div class='del'>-	cur = cur-&gt;next;</div><div class='del'>-	f(curklass, arg);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-class_detach_subclasses(VALUE klass, VALUE arg)</div><div class='del'>-{</div><div class='del'>-    rb_class_remove_from_super_subclasses(klass);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_class_detach_subclasses(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    rb_class_foreach_subclass(klass, class_detach_subclasses, Qnil);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-class_detach_module_subclasses(VALUE klass, VALUE arg)</div><div class='del'>-{</div><div class='del'>-    rb_class_remove_from_module_subclasses(klass);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_class_detach_module_subclasses(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    rb_class_foreach_subclass(klass, class_detach_module_subclasses, Qnil);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * Allocates a struct RClass for a new class.</div><div class='del'>- *</div><div class='del'>- * \param flags     initial value for basic.flags of the returned class.</div><div class='del'>- * \param klass     the class of the returned class.</div><div class='del'>- * \return          an uninitialized Class object.</div><div class='del'>- * \pre  \p klass must refer \c Class class or an ancestor of Class.</div><div class='del'>- * \pre  \code (flags | T_CLASS) != 0  \endcode</div><div class='del'>- * \post the returned class can safely be \c #initialize 'd.</div><div class='del'>- *</div><div class='del'>- * \note this function is not Class#allocate.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-class_alloc(VALUE flags, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    NEWOBJ_OF(obj, struct RClass, klass, (flags &amp; T_MASK) | FL_PROMOTED1 /* start from age == 2 */ | (RGENGC_WB_PROTECTED_CLASS ? FL_WB_PROTECTED : 0));</div><div class='del'>-    obj-&gt;ptr = ZALLOC(rb_classext_t);</div><div class='del'>-    /* ZALLOC</div><div class='del'>-      RCLASS_IV_TBL(obj) = 0;</div><div class='del'>-      RCLASS_CONST_TBL(obj) = 0;</div><div class='del'>-      RCLASS_M_TBL(obj) = 0;</div><div class='del'>-      RCLASS_IV_INDEX_TBL(obj) = 0;</div><div class='del'>-      RCLASS_SET_SUPER((VALUE)obj, 0);</div><div class='del'>-      RCLASS_EXT(obj)-&gt;subclasses = NULL;</div><div class='del'>-      RCLASS_EXT(obj)-&gt;parent_subclasses = NULL;</div><div class='del'>-      RCLASS_EXT(obj)-&gt;module_subclasses = NULL;</div><div class='del'>-     */</div><div class='del'>-    RCLASS_SET_ORIGIN((VALUE)obj, (VALUE)obj);</div><div class='del'>-    RCLASS_SERIAL(obj) = rb_next_class_serial();</div><div class='del'>-    RCLASS_REFINED_CLASS(obj) = Qnil;</div><div class='del'>-    RCLASS_EXT(obj)-&gt;allocator = 0;</div><div class='del'>-</div><div class='del'>-    return (VALUE)obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-RCLASS_M_TBL_INIT(VALUE c)</div><div class='del'>-{</div><div class='del'>-    RCLASS_M_TBL(c) = rb_id_table_create(0);</div><div class='del'>-}</div><div class='add'>+extern st_table *rb_class_tbl;</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * A utility function that wraps class_alloc.</div><div class='del'>- *</div><div class='del'>- * allocates a class and initializes safely.</div><div class='del'>- * \param super     a class from which the new class derives.</div><div class='del'>- * \return          a class object.</div><div class='del'>- * \pre  \a super must be a class.</div><div class='del'>- * \post the metaclass of the new class is Class.</div><div class='del'>- */</div><div class='ctx'> VALUE</div><div class='del'>-rb_class_boot(VALUE super)</div><div class='add'>+rb_class_boot(super)</div><div class='add'>+    VALUE super;</div><div class='ctx'> {</div><div class='del'>-    VALUE klass = class_alloc(T_CLASS, rb_cClass);</div><div class='add'>+    NEWOBJ(klass, struct RClass);</div><div class='add'>+    OBJSETUP(klass, rb_cClass, T_CLASS);</div><div class='ctx'> </div><div class='del'>-    RCLASS_SET_SUPER(klass, super);</div><div class='del'>-    RCLASS_M_TBL_INIT(klass);</div><div class='add'>+    klass-&gt;super = super;</div><div class='add'>+    klass-&gt;iv_tbl = 0;</div><div class='add'>+    klass-&gt;m_tbl = 0;		/* safe GC */</div><div class='add'>+    klass-&gt;m_tbl = st_init_numtable();</div><div class='ctx'> </div><div class='ctx'>     OBJ_INFECT(klass, super);</div><div class='ctx'>     return (VALUE)klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Ensures a class can be derived from super.</div><div class='del'>- *</div><div class='del'>- * \param super a reference to an object.</div><div class='del'>- * \exception TypeError if \a super is not a Class or \a super is a singleton class.</div><div class='del'>- */</div><div class='del'>-void</div><div class='del'>-rb_check_inheritable(VALUE super)</div><div class='del'>-{</div><div class='del'>-    if (!RB_TYPE_P(super, T_CLASS)) {</div><div class='del'>-	rb_raise(rb_eTypeError, "superclass must be a Class (%"PRIsVALUE" given)",</div><div class='del'>-		 rb_obj_class(super));</div><div class='del'>-    }</div><div class='del'>-    if (RBASIC(super)-&gt;flags &amp; FL_SINGLETON) {</div><div class='del'>-	rb_raise(rb_eTypeError, "can't make subclass of singleton class");</div><div class='del'>-    }</div><div class='del'>-    if (super == rb_cClass) {</div><div class='del'>-	rb_raise(rb_eTypeError, "can't make subclass of Class");</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Creates a new class.</div><div class='del'>- * \param super     a class from which the new class derives.</div><div class='del'>- * \exception TypeError \a super is not inheritable.</div><div class='del'>- * \exception TypeError \a super is the Class class.</div><div class='del'>- */</div><div class='ctx'> VALUE</div><div class='del'>-rb_class_new(VALUE super)</div><div class='add'>+rb_class_new(super)</div><div class='add'>+    VALUE super;</div><div class='ctx'> {</div><div class='ctx'>     Check_Type(super, T_CLASS);</div><div class='del'>-    rb_check_inheritable(super);</div><div class='del'>-    return rb_class_boot(super);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-clone_method(VALUE old_klass, VALUE new_klass, ID mid, const rb_method_entry_t *me)</div><div class='del'>-{</div><div class='del'>-    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_ISEQ) {</div><div class='del'>-	rb_cref_t *new_cref;</div><div class='del'>-	rb_vm_rewrite_cref(me-&gt;def-&gt;body.iseq.cref, old_klass, new_klass, &amp;new_cref);</div><div class='del'>-	rb_add_method_iseq(new_klass, mid, me-&gt;def-&gt;body.iseq.iseqptr, new_cref, METHOD_ENTRY_VISI(me));</div><div class='add'>+    if (super == rb_cClass) {</div><div class='add'>+	rb_raise(rb_eTypeError, "can't make subclass of Class");</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	rb_method_entry_set(new_klass, mid, me, METHOD_ENTRY_VISI(me));</div><div class='add'>+    if (FL_TEST(super, FL_SINGLETON)) {</div><div class='add'>+	rb_raise(rb_eTypeError, "can't make subclass of virtual class");</div><div class='ctx'>     }</div><div class='add'>+    return rb_class_boot(super);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-struct clone_method_arg {</div><div class='del'>-    VALUE new_klass;</div><div class='del'>-    VALUE old_klass;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static enum rb_id_table_iterator_result</div><div class='del'>-clone_method_i(ID key, VALUE value, void *data)</div><div class='del'>-{</div><div class='del'>-    const struct clone_method_arg *arg = (struct clone_method_arg *)data;</div><div class='del'>-    clone_method(arg-&gt;old_klass, arg-&gt;new_klass, key, (const rb_method_entry_t *)value);</div><div class='del'>-    return ID_TABLE_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct clone_const_arg {</div><div class='del'>-    VALUE klass;</div><div class='del'>-    struct rb_id_table *tbl;</div><div class='del'>-};</div><div class='del'>-</div><div class='ctx'> static int</div><div class='del'>-clone_const(ID key, const rb_const_entry_t *ce, struct clone_const_arg *arg)</div><div class='del'>-{</div><div class='del'>-    rb_const_entry_t *nce = ALLOC(rb_const_entry_t);</div><div class='del'>-    MEMCPY(nce, ce, rb_const_entry_t, 1);</div><div class='del'>-    RB_OBJ_WRITTEN(arg-&gt;klass, Qundef, ce-&gt;value);</div><div class='del'>-    RB_OBJ_WRITTEN(arg-&gt;klass, Qundef, ce-&gt;file);</div><div class='del'>-</div><div class='del'>-    rb_id_table_insert(arg-&gt;tbl, key, (VALUE)nce);</div><div class='del'>-    return ID_TABLE_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static enum rb_id_table_iterator_result</div><div class='del'>-clone_const_i(ID key, VALUE value, void *data)</div><div class='del'>-{</div><div class='del'>-    return clone_const(key, (const rb_const_entry_t *)value, data);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-class_init_copy_check(VALUE clone, VALUE orig)</div><div class='add'>+clone_method(mid, body, tbl)</div><div class='add'>+    ID mid;</div><div class='add'>+    NODE *body;</div><div class='add'>+    st_table *tbl;</div><div class='ctx'> {</div><div class='del'>-    if (orig == rb_cBasicObject) {</div><div class='del'>-	rb_raise(rb_eTypeError, "can't copy the root class");</div><div class='del'>-    }</div><div class='del'>-    if (RCLASS_SUPER(clone) != 0 || clone == rb_cBasicObject) {</div><div class='del'>-	rb_raise(rb_eTypeError, "already initialized class");</div><div class='del'>-    }</div><div class='del'>-    if (FL_TEST(orig, FL_SINGLETON)) {</div><div class='del'>-	rb_raise(rb_eTypeError, "can't copy singleton class");</div><div class='del'>-    }</div><div class='add'>+    st_insert(tbl, mid, (st_data_t)NEW_METHOD(body-&gt;nd_body, body-&gt;nd_noex));</div><div class='add'>+    return ST_CONTINUE;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /* :nodoc: */</div><div class='ctx'> VALUE</div><div class='del'>-rb_mod_init_copy(VALUE clone, VALUE orig)</div><div class='add'>+rb_mod_init_copy(clone, orig)</div><div class='add'>+    VALUE clone, orig;</div><div class='ctx'> {</div><div class='del'>-    if (RB_TYPE_P(clone, T_CLASS)) {</div><div class='del'>-	class_init_copy_check(clone, orig);</div><div class='del'>-    }</div><div class='del'>-    if (!OBJ_INIT_COPY(clone, orig)) return clone;</div><div class='add'>+    rb_obj_init_copy(clone, orig);</div><div class='ctx'>     if (!FL_TEST(CLASS_OF(clone), FL_SINGLETON)) {</div><div class='del'>-	RBASIC_SET_CLASS(clone, rb_singleton_class_clone(orig));</div><div class='del'>-	rb_singleton_class_attached(RBASIC(clone)-&gt;klass, (VALUE)clone);</div><div class='del'>-    }</div><div class='del'>-    RCLASS_SET_SUPER(clone, RCLASS_SUPER(orig));</div><div class='del'>-    RCLASS_EXT(clone)-&gt;allocator = RCLASS_EXT(orig)-&gt;allocator;</div><div class='del'>-    if (RCLASS_IV_TBL(clone)) {</div><div class='del'>-	st_free_table(RCLASS_IV_TBL(clone));</div><div class='del'>-	RCLASS_IV_TBL(clone) = 0;</div><div class='add'>+	RBASIC(clone)-&gt;klass = rb_singleton_class_clone(orig);</div><div class='ctx'>     }</div><div class='del'>-    if (RCLASS_CONST_TBL(clone)) {</div><div class='del'>-	rb_free_const_table(RCLASS_CONST_TBL(clone));</div><div class='del'>-	RCLASS_CONST_TBL(clone) = 0;</div><div class='del'>-    }</div><div class='del'>-    RCLASS_M_TBL(clone) = 0;</div><div class='del'>-    if (RCLASS_IV_TBL(orig)) {</div><div class='del'>-	st_data_t id;</div><div class='del'>-</div><div class='del'>-	RCLASS_IV_TBL(clone) = rb_st_copy(clone, RCLASS_IV_TBL(orig));</div><div class='del'>-	CONST_ID(id, "__tmp_classpath__");</div><div class='del'>-	st_delete(RCLASS_IV_TBL(clone), &amp;id, 0);</div><div class='del'>-	CONST_ID(id, "__classpath__");</div><div class='del'>-	st_delete(RCLASS_IV_TBL(clone), &amp;id, 0);</div><div class='del'>-	CONST_ID(id, "__classid__");</div><div class='del'>-	st_delete(RCLASS_IV_TBL(clone), &amp;id, 0);</div><div class='del'>-    }</div><div class='del'>-    if (RCLASS_CONST_TBL(orig)) {</div><div class='del'>-	struct clone_const_arg arg;</div><div class='add'>+    RCLASS(clone)-&gt;super = RCLASS(orig)-&gt;super;</div><div class='add'>+    if (RCLASS(orig)-&gt;iv_tbl) {</div><div class='add'>+	ID id;</div><div class='ctx'> </div><div class='del'>-	arg.tbl = RCLASS_CONST_TBL(clone) = rb_id_table_create(0);</div><div class='del'>-	arg.klass = clone;</div><div class='del'>-	rb_id_table_foreach(RCLASS_CONST_TBL(orig), clone_const_i, &amp;arg);</div><div class='add'>+	RCLASS(clone)-&gt;iv_tbl = st_copy(RCLASS(orig)-&gt;iv_tbl);</div><div class='add'>+	id = rb_intern("__classpath__");</div><div class='add'>+	st_delete(RCLASS(clone)-&gt;iv_tbl, (st_data_t*)&amp;id, 0);</div><div class='add'>+	id = rb_intern("__classid__");</div><div class='add'>+	st_delete(RCLASS(clone)-&gt;iv_tbl, (st_data_t*)&amp;id, 0);</div><div class='ctx'>     }</div><div class='del'>-    if (RCLASS_M_TBL(orig)) {</div><div class='del'>-	struct clone_method_arg arg;</div><div class='del'>-	arg.old_klass = orig;</div><div class='del'>-	arg.new_klass = clone;</div><div class='del'>-	RCLASS_M_TBL_INIT(clone);</div><div class='del'>-	rb_id_table_foreach(RCLASS_M_TBL(orig), clone_method_i, &amp;arg);</div><div class='add'>+    if (RCLASS(orig)-&gt;m_tbl) {</div><div class='add'>+	RCLASS(clone)-&gt;m_tbl = st_init_numtable();</div><div class='add'>+	st_foreach(RCLASS(orig)-&gt;m_tbl, clone_method,</div><div class='add'>+	  (st_data_t)RCLASS(clone)-&gt;m_tbl);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return clone;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/* :nodoc: */</div><div class='ctx'> VALUE</div><div class='del'>-rb_singleton_class_clone(VALUE obj)</div><div class='add'>+rb_class_init_copy(clone, orig)</div><div class='add'>+    VALUE clone, orig;</div><div class='ctx'> {</div><div class='del'>-    return rb_singleton_class_clone_and_attach(obj, Qundef);</div><div class='add'>+    if (RCLASS(clone)-&gt;super != 0) {</div><div class='add'>+	rb_raise(rb_eTypeError, "already initialized class");</div><div class='add'>+    }</div><div class='add'>+    if (FL_TEST(orig, FL_SINGLETON)) {</div><div class='add'>+	rb_raise(rb_eTypeError, "can't copy singleton class");</div><div class='add'>+    }</div><div class='add'>+    return rb_mod_init_copy(clone, orig);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_singleton_class_clone_and_attach(VALUE obj, VALUE attach)</div><div class='add'>+rb_singleton_class_clone(obj)</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='del'>-    const VALUE klass = RBASIC(obj)-&gt;klass;</div><div class='add'>+    VALUE klass = RBASIC(obj)-&gt;klass;</div><div class='ctx'> </div><div class='ctx'>     if (!FL_TEST(klass, FL_SINGLETON))</div><div class='ctx'> 	return klass;</div><div class='ctx'>     else {</div><div class='ctx'> 	/* copy singleton(unnamed) class */</div><div class='del'>-	VALUE clone = class_alloc(RBASIC(klass)-&gt;flags, 0);</div><div class='add'>+	NEWOBJ(clone, struct RClass);</div><div class='add'>+	OBJSETUP(clone, 0, RBASIC(klass)-&gt;flags);</div><div class='ctx'> </div><div class='ctx'> 	if (BUILTIN_TYPE(obj) == T_CLASS) {</div><div class='del'>-	    RBASIC_SET_CLASS(clone, clone);</div><div class='add'>+	    RBASIC(clone)-&gt;klass = (VALUE)clone;</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='del'>-	    RBASIC_SET_CLASS(clone, rb_singleton_class_clone(klass));</div><div class='add'>+	    RBASIC(clone)-&gt;klass = rb_singleton_class_clone(klass);</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='del'>-	RCLASS_SET_SUPER(clone, RCLASS_SUPER(klass));</div><div class='del'>-	RCLASS_EXT(clone)-&gt;allocator = RCLASS_EXT(klass)-&gt;allocator;</div><div class='del'>-	if (RCLASS_IV_TBL(klass)) {</div><div class='del'>-	    RCLASS_IV_TBL(clone) = rb_st_copy(clone, RCLASS_IV_TBL(klass));</div><div class='add'>+	clone-&gt;super = RCLASS(klass)-&gt;super;</div><div class='add'>+	clone-&gt;iv_tbl = 0;</div><div class='add'>+	clone-&gt;m_tbl = 0;</div><div class='add'>+	if (RCLASS(klass)-&gt;iv_tbl) {</div><div class='add'>+	    clone-&gt;iv_tbl = st_copy(RCLASS(klass)-&gt;iv_tbl);</div><div class='ctx'> 	}</div><div class='del'>-	if (RCLASS_CONST_TBL(klass)) {</div><div class='del'>-	    struct clone_const_arg arg;</div><div class='del'>-	    arg.tbl = RCLASS_CONST_TBL(clone) = rb_id_table_create(0);</div><div class='del'>-	    arg.klass = clone;</div><div class='del'>-	    rb_id_table_foreach(RCLASS_CONST_TBL(klass), clone_const_i, &amp;arg);</div><div class='del'>-	}</div><div class='del'>-	if (attach != Qundef) {</div><div class='del'>-	    rb_singleton_class_attached(clone, attach);</div><div class='del'>-	}</div><div class='del'>-	RCLASS_M_TBL_INIT(clone);</div><div class='del'>-	{</div><div class='del'>-	    struct clone_method_arg arg;</div><div class='del'>-	    arg.old_klass = klass;</div><div class='del'>-	    arg.new_klass = clone;</div><div class='del'>-	    rb_id_table_foreach(RCLASS_M_TBL(klass), clone_method_i, &amp;arg);</div><div class='del'>-	}</div><div class='del'>-	rb_singleton_class_attached(RBASIC(clone)-&gt;klass, clone);</div><div class='add'>+	clone-&gt;m_tbl = st_init_numtable();</div><div class='add'>+	st_foreach(RCLASS(klass)-&gt;m_tbl, clone_method,</div><div class='add'>+	  (st_data_t)clone-&gt;m_tbl);</div><div class='add'>+	rb_singleton_class_attached(RBASIC(clone)-&gt;klass, (VALUE)clone);</div><div class='ctx'> 	FL_SET(clone, FL_SINGLETON);</div><div class='del'>-</div><div class='del'>-	return clone;</div><div class='add'>+	return (VALUE)clone;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * Attach a object to a singleton class.</div><div class='del'>- * @pre \a klass is the singleton class of \a obj.</div><div class='del'>- */</div><div class='ctx'> void</div><div class='del'>-rb_singleton_class_attached(VALUE klass, VALUE obj)</div><div class='add'>+rb_singleton_class_attached(klass, obj)</div><div class='add'>+    VALUE klass, obj;</div><div class='ctx'> {</div><div class='ctx'>     if (FL_TEST(klass, FL_SINGLETON)) {</div><div class='del'>-	if (!RCLASS_IV_TBL(klass)) {</div><div class='del'>-	    RCLASS_IV_TBL(klass) = st_init_numtable();</div><div class='add'>+	if (!RCLASS(klass)-&gt;iv_tbl) {</div><div class='add'>+	    RCLASS(klass)-&gt;iv_tbl = st_init_numtable();</div><div class='ctx'> 	}</div><div class='del'>-	rb_class_ivar_set(klass, id_attached, obj);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#define METACLASS_OF(k) RBASIC(k)-&gt;klass</div><div class='del'>-#define SET_METACLASS_OF(k, cls) RBASIC_SET_CLASS(k, cls)</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * whether k is a meta^(n)-class of Class class</div><div class='del'>- * @retval 1 if \a k is a meta^(n)-class of Class class (n &gt;= 0)</div><div class='del'>- * @retval 0 otherwise</div><div class='del'>- */</div><div class='del'>-#define META_CLASS_OF_CLASS_CLASS_P(k)  (METACLASS_OF(k) == (k))</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-rb_singleton_class_has_metaclass_p(VALUE sklass)</div><div class='del'>-{</div><div class='del'>-    return rb_attr_get(METACLASS_OF(sklass), id_attached) == sklass;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_singleton_class_internal_p(VALUE sklass)</div><div class='del'>-{</div><div class='del'>-    return (RB_TYPE_P(rb_attr_get(sklass, id_attached), T_CLASS) &amp;&amp;</div><div class='del'>-	    !rb_singleton_class_has_metaclass_p(sklass));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * whether k has a metaclass</div><div class='del'>- * @retval 1 if \a k has a metaclass</div><div class='del'>- * @retval 0 otherwise</div><div class='del'>- */</div><div class='del'>-#define HAVE_METACLASS_P(k) \</div><div class='del'>-    (FL_TEST(METACLASS_OF(k), FL_SINGLETON) &amp;&amp; \</div><div class='del'>-     rb_singleton_class_has_metaclass_p(k))</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * ensures \a klass belongs to its own eigenclass.</div><div class='del'>- * @return the eigenclass of \a klass</div><div class='del'>- * @post \a klass belongs to the returned eigenclass.</div><div class='del'>- *       i.e. the attached object of the eigenclass is \a klass.</div><div class='del'>- * @note this macro creates a new eigenclass if necessary.</div><div class='del'>- */</div><div class='del'>-#define ENSURE_EIGENCLASS(klass) \</div><div class='del'>-    (HAVE_METACLASS_P(klass) ? METACLASS_OF(klass) : make_metaclass(klass))</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Creates a metaclass of \a klass</div><div class='del'>- * \param klass     a class</div><div class='del'>- * \return          created metaclass for the class</div><div class='del'>- * \pre \a klass is a Class object</div><div class='del'>- * \pre \a klass has no singleton class.</div><div class='del'>- * \post the class of \a klass is the returned class.</div><div class='del'>- * \post the returned class is meta^(n+1)-class when \a klass is a meta^(n)-klass for n &gt;= 0</div><div class='del'>- */</div><div class='del'>-static inline VALUE</div><div class='del'>-make_metaclass(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    VALUE super;</div><div class='del'>-    VALUE metaclass = rb_class_boot(Qundef);</div><div class='del'>-</div><div class='del'>-    FL_SET(metaclass, FL_SINGLETON);</div><div class='del'>-    rb_singleton_class_attached(metaclass, klass);</div><div class='del'>-</div><div class='del'>-    if (META_CLASS_OF_CLASS_CLASS_P(klass)) {</div><div class='del'>-	SET_METACLASS_OF(klass, metaclass);</div><div class='del'>-	SET_METACLASS_OF(metaclass, metaclass);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	VALUE tmp = METACLASS_OF(klass); /* for a meta^(n)-class klass, tmp is meta^(n)-class of Class class */</div><div class='del'>-	SET_METACLASS_OF(klass, metaclass);</div><div class='del'>-	SET_METACLASS_OF(metaclass, ENSURE_EIGENCLASS(tmp));</div><div class='add'>+	st_insert(RCLASS(klass)-&gt;iv_tbl, rb_intern("__attached__"), obj);</div><div class='ctx'>     }</div><div class='del'>-</div><div class='del'>-    super = RCLASS_SUPER(klass);</div><div class='del'>-    while (RB_TYPE_P(super, T_ICLASS)) super = RCLASS_SUPER(super);</div><div class='del'>-    RCLASS_SET_SUPER(metaclass, super ? ENSURE_EIGENCLASS(super) : rb_cClass);</div><div class='del'>-</div><div class='del'>-    OBJ_INFECT(metaclass, RCLASS_SUPER(metaclass));</div><div class='del'>-</div><div class='del'>-    return metaclass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * Creates a singleton class for \a obj.</div><div class='del'>- * \pre \a obj must not a immediate nor a special const.</div><div class='del'>- * \pre \a obj must not a Class object.</div><div class='del'>- * \pre \a obj has no singleton class.</div><div class='del'>- */</div><div class='del'>-static inline VALUE</div><div class='del'>-make_singleton_class(VALUE obj)</div><div class='add'>+VALUE</div><div class='add'>+rb_make_metaclass(obj, super)</div><div class='add'>+    VALUE obj, super;</div><div class='ctx'> {</div><div class='del'>-    VALUE orig_class = RBASIC(obj)-&gt;klass;</div><div class='del'>-    VALUE klass = rb_class_boot(orig_class);</div><div class='del'>-</div><div class='add'>+    VALUE klass = rb_class_boot(super);</div><div class='ctx'>     FL_SET(klass, FL_SINGLETON);</div><div class='del'>-    RBASIC_SET_CLASS(obj, klass);</div><div class='add'>+    RBASIC(obj)-&gt;klass = klass;</div><div class='ctx'>     rb_singleton_class_attached(klass, obj);</div><div class='del'>-</div><div class='del'>-    SET_METACLASS_OF(klass, METACLASS_OF(rb_class_real(orig_class)));</div><div class='del'>-    return klass;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-boot_defclass(const char *name, VALUE super)</div><div class='del'>-{</div><div class='del'>-    VALUE obj = rb_class_boot(super);</div><div class='del'>-    ID id = rb_intern(name);</div><div class='del'>-</div><div class='del'>-    rb_name_class(obj, id);</div><div class='del'>-    rb_const_set((rb_cObject ? rb_cObject : obj), id, obj);</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-Init_class_hierarchy(void)</div><div class='del'>-{</div><div class='del'>-    rb_cBasicObject = boot_defclass("BasicObject", 0);</div><div class='del'>-    rb_cObject = boot_defclass("Object", rb_cBasicObject);</div><div class='del'>-    rb_gc_register_mark_object(rb_cObject);</div><div class='del'>-</div><div class='del'>-    /* resolve class name ASAP for order-independence */</div><div class='del'>-    rb_class_name(rb_cObject);</div><div class='del'>-</div><div class='del'>-    rb_cModule = boot_defclass("Module", rb_cObject);</div><div class='del'>-    rb_cClass =  boot_defclass("Class",  rb_cModule);</div><div class='del'>-</div><div class='del'>-    rb_const_set(rb_cObject, rb_intern_const("BasicObject"), rb_cBasicObject);</div><div class='del'>-    RBASIC_SET_CLASS(rb_cClass, rb_cClass);</div><div class='del'>-    RBASIC_SET_CLASS(rb_cModule, rb_cClass);</div><div class='del'>-    RBASIC_SET_CLASS(rb_cObject, rb_cClass);</div><div class='del'>-    RBASIC_SET_CLASS(rb_cBasicObject, rb_cClass);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * \internal</div><div class='del'>- * Creates a new *singleton class* for an object.</div><div class='del'>- *</div><div class='del'>- * \pre \a obj has no singleton class.</div><div class='del'>- * \note DO NOT USE the function in an extension libraries. Use \ref rb_singleton_class.</div><div class='del'>- * \param obj     An object.</div><div class='del'>- * \param unused  ignored.</div><div class='del'>- * \return        The singleton class of the object.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_make_metaclass(VALUE obj, VALUE unused)</div><div class='del'>-{</div><div class='del'>-    if (BUILTIN_TYPE(obj) == T_CLASS) {</div><div class='del'>-	return make_metaclass(obj);</div><div class='add'>+    if (BUILTIN_TYPE(obj) == T_CLASS &amp;&amp; FL_TEST(obj, FL_SINGLETON)) {</div><div class='add'>+	RBASIC(klass)-&gt;klass = klass;</div><div class='add'>+	RCLASS(klass)-&gt;super = RBASIC(rb_class_real(RCLASS(obj)-&gt;super))-&gt;klass;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	return make_singleton_class(obj);</div><div class='add'>+	VALUE metasuper = RBASIC(rb_class_real(super))-&gt;klass;</div><div class='add'>+</div><div class='add'>+	/* metaclass of a superclass may be NULL at boot time */</div><div class='add'>+	if (metasuper) {</div><div class='add'>+	    RBASIC(klass)-&gt;klass = metasuper;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-}</div><div class='ctx'> </div><div class='add'>+    return klass;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * Defines a new class.</div><div class='del'>- * \param id     ignored</div><div class='del'>- * \param super  A class from which the new class will derive. NULL means \c Object class.</div><div class='del'>- * \return       the created class</div><div class='del'>- * \throw TypeError if super is not a \c Class object.</div><div class='del'>- *</div><div class='del'>- * \note the returned class will not be associated with \a id.</div><div class='del'>- *       You must explicitly set a class name if necessary.</div><div class='del'>- */</div><div class='ctx'> VALUE</div><div class='del'>-rb_define_class_id(ID id, VALUE super)</div><div class='add'>+rb_define_class_id(id, super)</div><div class='add'>+    ID id;</div><div class='add'>+    VALUE super;</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='ctx'> </div><div class='hunk'>@@ -607,43 +185,31 @@ rb_define_class_id(ID id, VALUE super)</div><div class='ctx'>     return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+void</div><div class='add'>+rb_check_inheritable(super)</div><div class='add'>+    VALUE super;</div><div class='add'>+{</div><div class='add'>+    if (TYPE(super) != T_CLASS) {</div><div class='add'>+	rb_raise(rb_eTypeError, "superclass must be a Class (%s given)",</div><div class='add'>+		 rb_obj_classname(super));</div><div class='add'>+    }</div><div class='add'>+    if (RBASIC(super)-&gt;flags &amp; FL_SINGLETON) {</div><div class='add'>+	rb_raise(rb_eTypeError, "can't make subclass of virtual class");</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * Calls Class#inherited.</div><div class='del'>- * \param super  A class which will be called #inherited.</div><div class='del'>- *               NULL means Object class.</div><div class='del'>- * \param klass  A Class object which derived from \a super</div><div class='del'>- * \return the value \c Class#inherited's returns</div><div class='del'>- * \pre Each of \a super and \a klass must be a \c Class object.</div><div class='del'>- */</div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_class_inherited(VALUE super, VALUE klass)</div><div class='add'>+VALUE</div><div class='add'>+rb_class_inherited(super, klass)</div><div class='add'>+    VALUE super, klass;</div><div class='ctx'> {</div><div class='del'>-    ID inherited;</div><div class='ctx'>     if (!super) super = rb_cObject;</div><div class='del'>-    CONST_ID(inherited, "inherited");</div><div class='del'>-    return rb_funcall(super, inherited, 1, klass);</div><div class='add'>+    return rb_funcall(super, rb_intern("inherited"), 1, klass);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines a top-level class.</div><div class='del'>- * \param name   name of the class</div><div class='del'>- * \param super  a class from which the new class will derive.</div><div class='del'>- * \return the created class</div><div class='del'>- * \throw TypeError if the constant name \a name is already taken but</div><div class='del'>- *                  the constant is not a \c Class.</div><div class='del'>- * \throw TypeError if the class is already defined but the class can not</div><div class='del'>- *                  be reopened because its superclass is not \a super.</div><div class='del'>- * \throw ArgumentError if the \a super is NULL.</div><div class='del'>- * \post top-level constant named \a name refers the returned class.</div><div class='del'>- *</div><div class='del'>- * \note if a class named \a name is already defined and its superclass is</div><div class='del'>- *       \a super, the function just returns the defined class.</div><div class='del'>- */</div><div class='ctx'> VALUE</div><div class='del'>-rb_define_class(const char *name, VALUE super)</div><div class='add'>+rb_define_class(name, super)</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE super;</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='ctx'>     ID id;</div><div class='hunk'>@@ -651,20 +217,19 @@ rb_define_class(const char *name, VALUE super)</div><div class='ctx'>     id = rb_intern(name);</div><div class='ctx'>     if (rb_const_defined(rb_cObject, id)) {</div><div class='ctx'> 	klass = rb_const_get(rb_cObject, id);</div><div class='del'>-	if (!RB_TYPE_P(klass, T_CLASS)) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "%s is not a class (%"PRIsVALUE")",</div><div class='del'>-		     name, rb_obj_class(klass));</div><div class='add'>+	if (TYPE(klass) != T_CLASS) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "%s is not a class", name);</div><div class='ctx'> 	}</div><div class='del'>-	if (rb_class_real(RCLASS_SUPER(klass)) != super) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "superclass mismatch for class %s", name);</div><div class='add'>+	if (rb_class_real(RCLASS(klass)-&gt;super) != super) {</div><div class='add'>+	    rb_name_error(id, "%s is already defined", name);</div><div class='ctx'> 	}</div><div class='ctx'> 	return klass;</div><div class='ctx'>     }</div><div class='ctx'>     if (!super) {</div><div class='del'>-	rb_raise(rb_eArgError, "no super class for `%s'", name);</div><div class='add'>+	rb_warn("no super class for `%s', Object assumed", name);</div><div class='ctx'>     }</div><div class='ctx'>     klass = rb_define_class_id(id, super);</div><div class='del'>-    rb_vm_add_root_module(id, klass);</div><div class='add'>+    st_add_direct(rb_class_tbl, id, klass);</div><div class='ctx'>     rb_name_class(klass, id);</div><div class='ctx'>     rb_const_set(rb_cObject, id, klass);</div><div class='ctx'>     rb_class_inherited(super, klass);</div><div class='hunk'>@@ -672,89 +237,55 @@ rb_define_class(const char *name, VALUE super)</div><div class='ctx'>     return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines a class under the namespace of \a outer.</div><div class='del'>- * \param outer  a class which contains the new class.</div><div class='del'>- * \param name   name of the new class</div><div class='del'>- * \param super  a class from which the new class will derive.</div><div class='del'>- *               NULL means \c Object class.</div><div class='del'>- * \return the created class</div><div class='del'>- * \throw TypeError if the constant name \a name is already taken but</div><div class='del'>- *                  the constant is not a \c Class.</div><div class='del'>- * \throw TypeError if the class is already defined but the class can not</div><div class='del'>- *                  be reopened because its superclass is not \a super.</div><div class='del'>- * \post top-level constant named \a name refers the returned class.</div><div class='del'>- *</div><div class='del'>- * \note if a class named \a name is already defined and its superclass is</div><div class='del'>- *       \a super, the function just returns the defined class.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class='del'>-{</div><div class='del'>-    return rb_define_class_id_under(outer, rb_intern(name), super);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines a class under the namespace of \a outer.</div><div class='del'>- * \param outer  a class which contains the new class.</div><div class='del'>- * \param id     name of the new class</div><div class='del'>- * \param super  a class from which the new class will derive.</div><div class='del'>- *               NULL means \c Object class.</div><div class='del'>- * \return the created class</div><div class='del'>- * \throw TypeError if the constant name \a name is already taken but</div><div class='del'>- *                  the constant is not a \c Class.</div><div class='del'>- * \throw TypeError if the class is already defined but the class can not</div><div class='del'>- *                  be reopened because its superclass is not \a super.</div><div class='del'>- * \post top-level constant named \a name refers the returned class.</div><div class='del'>- *</div><div class='del'>- * \note if a class named \a name is already defined and its superclass is</div><div class='del'>- *       \a super, the function just returns the defined class.</div><div class='del'>- */</div><div class='ctx'> VALUE</div><div class='del'>-rb_define_class_id_under(VALUE outer, ID id, VALUE super)</div><div class='add'>+rb_define_class_under(outer, name, super)</div><div class='add'>+    VALUE outer;</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE super;</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='add'>+    ID id;</div><div class='ctx'> </div><div class='add'>+    id = rb_intern(name);</div><div class='ctx'>     if (rb_const_defined_at(outer, id)) {</div><div class='ctx'> 	klass = rb_const_get_at(outer, id);</div><div class='del'>-	if (!RB_TYPE_P(klass, T_CLASS)) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "%"PRIsVALUE"::%"PRIsVALUE" is not a class"</div><div class='del'>-		     " (%"PRIsVALUE")",</div><div class='del'>-		     outer, rb_id2str(id), rb_obj_class(klass));</div><div class='add'>+	if (TYPE(klass) != T_CLASS) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "%s is not a class", name);</div><div class='ctx'> 	}</div><div class='del'>-	if (rb_class_real(RCLASS_SUPER(klass)) != super) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "superclass mismatch for class "</div><div class='del'>-		     "%"PRIsVALUE"::%"PRIsVALUE""</div><div class='del'>-		     " (%"PRIsVALUE" is given but was %"PRIsVALUE")",</div><div class='del'>-		     outer, rb_id2str(id), RCLASS_SUPER(klass), super);</div><div class='add'>+	if (rb_class_real(RCLASS(klass)-&gt;super) != super) {</div><div class='add'>+	    rb_name_error(id, "%s is already defined", name);</div><div class='ctx'> 	}</div><div class='ctx'> 	return klass;</div><div class='ctx'>     }</div><div class='ctx'>     if (!super) {</div><div class='del'>-	rb_raise(rb_eArgError, "no super class for `%"PRIsVALUE"::%"PRIsVALUE"'",</div><div class='del'>-		 rb_class_path(outer), rb_id2str(id));</div><div class='add'>+	rb_warn("no super class for `%s::%s', Object assumed",</div><div class='add'>+		rb_class2name(outer), name);</div><div class='ctx'>     }</div><div class='ctx'>     klass = rb_define_class_id(id, super);</div><div class='del'>-    rb_set_class_path_string(klass, outer, rb_id2str(id));</div><div class='add'>+    rb_set_class_path(klass, outer, name);</div><div class='ctx'>     rb_const_set(outer, id, klass);</div><div class='ctx'>     rb_class_inherited(super, klass);</div><div class='del'>-    rb_gc_register_mark_object(klass);</div><div class='ctx'> </div><div class='ctx'>     return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_module_new(void)</div><div class='add'>+rb_module_new()</div><div class='ctx'> {</div><div class='del'>-    VALUE mdl = class_alloc(T_MODULE, rb_cModule);</div><div class='del'>-    RCLASS_M_TBL_INIT(mdl);</div><div class='add'>+    NEWOBJ(mdl, struct RClass);</div><div class='add'>+    OBJSETUP(mdl, rb_cModule, T_MODULE);</div><div class='add'>+</div><div class='add'>+    mdl-&gt;super = 0;</div><div class='add'>+    mdl-&gt;iv_tbl = 0;</div><div class='add'>+    mdl-&gt;m_tbl = 0;</div><div class='add'>+    mdl-&gt;m_tbl = st_init_numtable();</div><div class='add'>+</div><div class='ctx'>     return (VALUE)mdl;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_define_module_id(ID id)</div><div class='add'>+rb_define_module_id(id)</div><div class='add'>+    ID id;</div><div class='ctx'> {</div><div class='ctx'>     VALUE mdl;</div><div class='ctx'> </div><div class='hunk'>@@ -765,7 +296,8 @@ rb_define_module_id(ID id)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_define_module(const char *name)</div><div class='add'>+rb_define_module(name)</div><div class='add'>+    const char *name;</div><div class='ctx'> {</div><div class='ctx'>     VALUE module;</div><div class='ctx'>     ID id;</div><div class='hunk'>@@ -773,73 +305,61 @@ rb_define_module(const char *name)</div><div class='ctx'>     id = rb_intern(name);</div><div class='ctx'>     if (rb_const_defined(rb_cObject, id)) {</div><div class='ctx'> 	module = rb_const_get(rb_cObject, id);</div><div class='del'>-	if (!RB_TYPE_P(module, T_MODULE)) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "%s is not a module (%"PRIsVALUE")",</div><div class='del'>-		     name, rb_obj_class(module));</div><div class='del'>-	}</div><div class='del'>-	return module;</div><div class='add'>+	if (TYPE(module) == T_MODULE)</div><div class='add'>+	    return module;</div><div class='add'>+	rb_raise(rb_eTypeError, "%s is not a module", rb_obj_classname(module));</div><div class='ctx'>     }</div><div class='ctx'>     module = rb_define_module_id(id);</div><div class='del'>-    rb_vm_add_root_module(id, module);</div><div class='add'>+    st_add_direct(rb_class_tbl, id, module);</div><div class='ctx'>     rb_const_set(rb_cObject, id, module);</div><div class='ctx'> </div><div class='ctx'>     return module;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_define_module_under(VALUE outer, const char *name)</div><div class='del'>-{</div><div class='del'>-    return rb_define_module_id_under(outer, rb_intern(name));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_define_module_id_under(VALUE outer, ID id)</div><div class='add'>+rb_define_module_under(outer, name)</div><div class='add'>+    VALUE outer;</div><div class='add'>+    const char *name;</div><div class='ctx'> {</div><div class='ctx'>     VALUE module;</div><div class='add'>+    ID id;</div><div class='ctx'> </div><div class='add'>+    id = rb_intern(name);</div><div class='ctx'>     if (rb_const_defined_at(outer, id)) {</div><div class='ctx'> 	module = rb_const_get_at(outer, id);</div><div class='del'>-	if (!RB_TYPE_P(module, T_MODULE)) {</div><div class='del'>-	    rb_raise(rb_eTypeError, "%"PRIsVALUE"::%"PRIsVALUE" is not a module"</div><div class='del'>-		     " (%"PRIsVALUE")",</div><div class='del'>-		     outer, rb_id2str(id), rb_obj_class(module));</div><div class='del'>-	}</div><div class='del'>-	return module;</div><div class='add'>+	if (TYPE(module) == T_MODULE)</div><div class='add'>+	    return module;</div><div class='add'>+	rb_raise(rb_eTypeError, "%s::%s is not a module",</div><div class='add'>+		 rb_class2name(outer), rb_obj_classname(module));</div><div class='ctx'>     }</div><div class='ctx'>     module = rb_define_module_id(id);</div><div class='ctx'>     rb_const_set(outer, id, module);</div><div class='del'>-    rb_set_class_path_string(module, outer, rb_id2str(id));</div><div class='del'>-    rb_gc_register_mark_object(module);</div><div class='add'>+    rb_set_class_path(module, outer, name);</div><div class='ctx'> </div><div class='ctx'>     return module;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_include_class_new(VALUE module, VALUE super)</div><div class='add'>+static VALUE</div><div class='add'>+include_class_new(module, super)</div><div class='add'>+    VALUE module, super;</div><div class='ctx'> {</div><div class='del'>-    VALUE klass = class_alloc(T_ICLASS, rb_cClass);</div><div class='add'>+    NEWOBJ(klass, struct RClass);</div><div class='add'>+    OBJSETUP(klass, rb_cClass, T_ICLASS);</div><div class='ctx'> </div><div class='ctx'>     if (BUILTIN_TYPE(module) == T_ICLASS) {</div><div class='ctx'> 	module = RBASIC(module)-&gt;klass;</div><div class='ctx'>     }</div><div class='del'>-    if (!RCLASS_IV_TBL(module)) {</div><div class='del'>-	RCLASS_IV_TBL(module) = st_init_numtable();</div><div class='add'>+    if (!RCLASS(module)-&gt;iv_tbl) {</div><div class='add'>+	RCLASS(module)-&gt;iv_tbl = st_init_numtable();</div><div class='ctx'>     }</div><div class='del'>-    if (!RCLASS_CONST_TBL(module)) {</div><div class='del'>-	RCLASS_CONST_TBL(module) = rb_id_table_create(0);</div><div class='del'>-    }</div><div class='del'>-    RCLASS_IV_TBL(klass) = RCLASS_IV_TBL(module);</div><div class='del'>-    RCLASS_CONST_TBL(klass) = RCLASS_CONST_TBL(module);</div><div class='del'>-</div><div class='del'>-    RCLASS_M_TBL(OBJ_WB_UNPROTECT(klass)) =</div><div class='del'>-      RCLASS_M_TBL(OBJ_WB_UNPROTECT(RCLASS_ORIGIN(module))); /* TODO: unprotected? */</div><div class='del'>-</div><div class='del'>-    RCLASS_SET_SUPER(klass, super);</div><div class='del'>-    if (RB_TYPE_P(module, T_ICLASS)) {</div><div class='del'>-	RBASIC_SET_CLASS(klass, RBASIC(module)-&gt;klass);</div><div class='add'>+    klass-&gt;iv_tbl = RCLASS(module)-&gt;iv_tbl;</div><div class='add'>+    klass-&gt;m_tbl = RCLASS(module)-&gt;m_tbl;</div><div class='add'>+    klass-&gt;super = super;</div><div class='add'>+    if (TYPE(module) == T_ICLASS) {</div><div class='add'>+	RBASIC(klass)-&gt;klass = RBASIC(module)-&gt;klass;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	RBASIC_SET_CLASS(klass, module);</div><div class='add'>+	RBASIC(klass)-&gt;klass = module;</div><div class='ctx'>     }</div><div class='ctx'>     OBJ_INFECT(klass, module);</div><div class='ctx'>     OBJ_INFECT(klass, super);</div><div class='hunk'>@@ -847,184 +367,80 @@ rb_include_class_new(VALUE module, VALUE super)</div><div class='ctx'>     return (VALUE)klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static int include_modules_at(const VALUE klass, VALUE c, VALUE module, int search_super);</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ensure_includable(VALUE klass, VALUE module)</div><div class='del'>-{</div><div class='del'>-    rb_class_modify_check(klass);</div><div class='del'>-    Check_Type(module, T_MODULE);</div><div class='del'>-    if (!NIL_P(rb_refinement_module_get_refined_class(module))) {</div><div class='del'>-	rb_raise(rb_eArgError, "refinement module is not allowed");</div><div class='del'>-    }</div><div class='del'>-    OBJ_INFECT(klass, module);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> void</div><div class='del'>-rb_include_module(VALUE klass, VALUE module)</div><div class='add'>+rb_include_module(klass, module)</div><div class='add'>+    VALUE klass, module;</div><div class='ctx'> {</div><div class='add'>+    VALUE p, c;</div><div class='ctx'>     int changed = 0;</div><div class='ctx'> </div><div class='del'>-    ensure_includable(klass, module);</div><div class='del'>-</div><div class='del'>-    changed = include_modules_at(klass, RCLASS_ORIGIN(klass), module, TRUE);</div><div class='del'>-    if (changed &lt; 0)</div><div class='del'>-	rb_raise(rb_eArgError, "cyclic include detected");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static enum rb_id_table_iterator_result</div><div class='del'>-add_refined_method_entry_i(ID key, VALUE value, void *data)</div><div class='del'>-{</div><div class='del'>-    rb_add_refined_method_entry((VALUE)data, key);</div><div class='del'>-    return ID_TABLE_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-include_modules_at(const VALUE klass, VALUE c, VALUE module, int search_super)</div><div class='del'>-{</div><div class='del'>-    VALUE p, iclass;</div><div class='del'>-    int method_changed = 0, constant_changed = 0;</div><div class='del'>-    struct rb_id_table *const klass_m_tbl = RCLASS_M_TBL(RCLASS_ORIGIN(klass));</div><div class='add'>+    rb_frozen_class_p(klass);</div><div class='add'>+    if (!OBJ_TAINTED(klass)) {</div><div class='add'>+	rb_secure(4);</div><div class='add'>+    }</div><div class='add'>+    </div><div class='add'>+    if (TYPE(module) != T_MODULE) {</div><div class='add'>+	Check_Type(module, T_MODULE);</div><div class='add'>+    }</div><div class='ctx'> </div><div class='add'>+    OBJ_INFECT(klass, module);</div><div class='add'>+    c = klass;</div><div class='ctx'>     while (module) {</div><div class='del'>-	int superclass_seen = FALSE;</div><div class='del'>-	struct rb_id_table *tbl;</div><div class='add'>+	int superclass_seen = Qfalse;</div><div class='ctx'> </div><div class='del'>-	if (RCLASS_ORIGIN(module) != module)</div><div class='del'>-	    goto skip;</div><div class='del'>-	if (klass_m_tbl &amp;&amp; klass_m_tbl == RCLASS_M_TBL(module))</div><div class='del'>-	    return -1;</div><div class='add'>+	if (RCLASS(klass)-&gt;m_tbl == RCLASS(module)-&gt;m_tbl)</div><div class='add'>+	    rb_raise(rb_eArgError, "cyclic include detected");</div><div class='ctx'> 	/* ignore if the module included already in superclasses */</div><div class='del'>-	for (p = RCLASS_SUPER(klass); p; p = RCLASS_SUPER(p)) {</div><div class='del'>-	    int type = BUILTIN_TYPE(p);</div><div class='del'>-	    if (type == T_ICLASS) {</div><div class='del'>-		if (RCLASS_M_TBL(p) == RCLASS_M_TBL(module)) {</div><div class='add'>+	for (p = RCLASS(klass)-&gt;super; p; p = RCLASS(p)-&gt;super) {</div><div class='add'>+	    switch (BUILTIN_TYPE(p)) {</div><div class='add'>+	      case T_ICLASS:</div><div class='add'>+		if (RCLASS(p)-&gt;m_tbl == RCLASS(module)-&gt;m_tbl) {</div><div class='ctx'> 		    if (!superclass_seen) {</div><div class='del'>-			c = p;  /* move insertion point */</div><div class='add'>+			c = p;	/* move insertion point */</div><div class='ctx'> 		    }</div><div class='ctx'> 		    goto skip;</div><div class='ctx'> 		}</div><div class='add'>+		break;</div><div class='add'>+	      case T_CLASS:</div><div class='add'>+		superclass_seen = Qtrue;</div><div class='add'>+		break;</div><div class='ctx'> 	    }</div><div class='del'>-	    else if (type == T_CLASS) {</div><div class='del'>-		if (!search_super) break;</div><div class='del'>-		superclass_seen = TRUE;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	iclass = rb_include_class_new(module, RCLASS_SUPER(c));</div><div class='del'>-	c = RCLASS_SET_SUPER(c, iclass);</div><div class='del'>-</div><div class='del'>-	{</div><div class='del'>-	    VALUE m = module;</div><div class='del'>-	    if (BUILTIN_TYPE(m) == T_ICLASS) m = RBASIC(m)-&gt;klass;</div><div class='del'>-	    rb_module_add_to_subclasses_list(m, iclass);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (FL_TEST(klass, RMODULE_IS_REFINEMENT)) {</div><div class='del'>-	    VALUE refined_class =</div><div class='del'>-		rb_refinement_module_get_refined_class(klass);</div><div class='del'>-</div><div class='del'>-	    rb_id_table_foreach(RMODULE_M_TBL(module), add_refined_method_entry_i, (void *)refined_class);</div><div class='del'>-	    FL_SET(c, RMODULE_INCLUDED_INTO_REFINEMENT);</div><div class='ctx'> 	}</div><div class='del'>-</div><div class='del'>-	tbl = RMODULE_M_TBL(module);</div><div class='del'>-	if (tbl &amp;&amp; rb_id_table_size(tbl)) method_changed = 1;</div><div class='del'>-</div><div class='del'>-	tbl = RMODULE_CONST_TBL(module);</div><div class='del'>-	if (tbl &amp;&amp; rb_id_table_size(tbl)) constant_changed = 1;</div><div class='add'>+	c = RCLASS(c)-&gt;super = include_class_new(module, RCLASS(c)-&gt;super);</div><div class='add'>+	changed = 1;</div><div class='ctx'>       skip:</div><div class='del'>-	module = RCLASS_SUPER(module);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (method_changed) rb_clear_method_cache_by_class(klass);</div><div class='del'>-    if (constant_changed) rb_clear_constant_cache();</div><div class='del'>-</div><div class='del'>-    return method_changed;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static enum rb_id_table_iterator_result</div><div class='del'>-move_refined_method(ID key, VALUE value, void *data)</div><div class='del'>-{</div><div class='del'>-    rb_method_entry_t *me = (rb_method_entry_t *) value;</div><div class='del'>-    VALUE klass = (VALUE)data;</div><div class='del'>-    struct rb_id_table *tbl = RCLASS_M_TBL(klass);</div><div class='del'>-</div><div class='del'>-    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_REFINED) {</div><div class='del'>-	if (me-&gt;def-&gt;body.refined.orig_me) {</div><div class='del'>-	    const rb_method_entry_t *orig_me = me-&gt;def-&gt;body.refined.orig_me, *new_me;</div><div class='del'>-	    RB_OBJ_WRITE(me, &amp;me-&gt;def-&gt;body.refined.orig_me, NULL);</div><div class='del'>-	    new_me = rb_method_entry_clone(me);</div><div class='del'>-	    rb_id_table_insert(tbl, key, (VALUE)new_me);</div><div class='del'>-	    RB_OBJ_WRITTEN(klass, Qundef, new_me);</div><div class='del'>-	    rb_method_entry_copy(me, orig_me);</div><div class='del'>-	    return ID_TABLE_CONTINUE;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    rb_id_table_insert(tbl, key, (VALUE)me);</div><div class='del'>-	    return ID_TABLE_DELETE;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return ID_TABLE_CONTINUE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_prepend_module(VALUE klass, VALUE module)</div><div class='del'>-{</div><div class='del'>-    VALUE origin;</div><div class='del'>-    int changed = 0;</div><div class='del'>-</div><div class='del'>-    ensure_includable(klass, module);</div><div class='del'>-</div><div class='del'>-    origin = RCLASS_ORIGIN(klass);</div><div class='del'>-    if (origin == klass) {</div><div class='del'>-	origin = class_alloc(T_ICLASS, klass);</div><div class='del'>-	OBJ_WB_UNPROTECT(origin); /* TODO: conservative shading. Need more survey. */</div><div class='del'>-	RCLASS_SET_SUPER(origin, RCLASS_SUPER(klass));</div><div class='del'>-	RCLASS_SET_SUPER(klass, origin);</div><div class='del'>-	RCLASS_SET_ORIGIN(klass, origin);</div><div class='del'>-	RCLASS_M_TBL(origin) = RCLASS_M_TBL(klass);</div><div class='del'>-	RCLASS_M_TBL_INIT(klass);</div><div class='del'>-	rb_id_table_foreach(RCLASS_M_TBL(origin), move_refined_method, (void *)klass);</div><div class='del'>-    }</div><div class='del'>-    changed = include_modules_at(klass, klass, module, FALSE);</div><div class='del'>-    if (changed &lt; 0)</div><div class='del'>-	rb_raise(rb_eArgError, "cyclic prepend detected");</div><div class='del'>-    if (changed) {</div><div class='del'>-	rb_vm_check_redefinition_by_prepend(klass);</div><div class='add'>+	module = RCLASS(module)-&gt;super;</div><div class='ctx'>     }</div><div class='add'>+    if (changed) rb_clear_cache();</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='ctx'>  *     mod.included_modules -&gt; array</div><div class='del'>- *</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns the list of modules included in &lt;i&gt;mod&lt;/i&gt;.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     module Mixin</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     module Outer</div><div class='ctx'>  *       include Mixin</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     Mixin.included_modules   #=&gt; []</div><div class='ctx'>  *     Outer.included_modules   #=&gt; [Mixin]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_mod_included_modules(VALUE mod)</div><div class='add'>+rb_mod_included_modules(mod)</div><div class='add'>+    VALUE mod;</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary = rb_ary_new();</div><div class='ctx'>     VALUE p;</div><div class='del'>-    VALUE origin = RCLASS_ORIGIN(mod);</div><div class='ctx'> </div><div class='del'>-    for (p = RCLASS_SUPER(mod); p; p = RCLASS_SUPER(p)) {</div><div class='del'>-	if (p != origin &amp;&amp; BUILTIN_TYPE(p) == T_ICLASS) {</div><div class='del'>-	    VALUE m = RBASIC(p)-&gt;klass;</div><div class='del'>-	    if (RB_TYPE_P(m, T_MODULE))</div><div class='del'>-		rb_ary_push(ary, m);</div><div class='add'>+    for (p = RCLASS(mod)-&gt;super; p; p = RCLASS(p)-&gt;super) {</div><div class='add'>+	if (BUILTIN_TYPE(p) == T_ICLASS) {</div><div class='add'>+	    rb_ary_push(ary, RBASIC(p)-&gt;klass);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='hunk'>@@ -1032,11 +448,11 @@ rb_mod_included_modules(VALUE mod)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     mod.include?(module)    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     mod.include?(module)    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns &lt;code&gt;true&lt;/code&gt; if &lt;i&gt;module&lt;/i&gt; is included in</div><div class='ctx'>  *  &lt;i&gt;mod&lt;/i&gt; or one of &lt;i&gt;mod&lt;/i&gt;'s ancestors.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     module A</div><div class='ctx'>  *     end</div><div class='ctx'>  *     class B</div><div class='hunk'>@@ -1050,12 +466,14 @@ rb_mod_included_modules(VALUE mod)</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_mod_include_p(VALUE mod, VALUE mod2)</div><div class='add'>+rb_mod_include_p(mod, mod2)</div><div class='add'>+    VALUE mod;</div><div class='add'>+    VALUE mod2;</div><div class='ctx'> {</div><div class='ctx'>     VALUE p;</div><div class='ctx'> </div><div class='ctx'>     Check_Type(mod2, T_MODULE);</div><div class='del'>-    for (p = RCLASS_SUPER(mod); p; p = RCLASS_SUPER(p)) {</div><div class='add'>+    for (p = RCLASS(mod)-&gt;super; p; p = RCLASS(p)-&gt;super) {</div><div class='ctx'> 	if (BUILTIN_TYPE(p) == T_ICLASS) {</div><div class='ctx'> 	    if (RBASIC(p)-&gt;klass == mod2) return Qtrue;</div><div class='ctx'> 	}</div><div class='hunk'>@@ -1066,993 +484,547 @@ rb_mod_include_p(VALUE mod, VALUE mod2)</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='ctx'>  *     mod.ancestors -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns a list of modules included/prepended in &lt;i&gt;mod&lt;/i&gt;</div><div class='del'>- *  (including &lt;i&gt;mod&lt;/i&gt; itself).</div><div class='del'>- *</div><div class='add'>+ *  </div><div class='add'>+ *  Returns a list of modules included in &lt;i&gt;mod&lt;/i&gt; (including</div><div class='add'>+ *  &lt;i&gt;mod&lt;/i&gt; itself).</div><div class='add'>+ *     </div><div class='ctx'>  *     module Mod</div><div class='ctx'>  *       include Math</div><div class='ctx'>  *       include Comparable</div><div class='del'>- *       prepend Enumerable</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='del'>- *     Mod.ancestors        #=&gt; [Enumerable, Mod, Comparable, Math]</div><div class='del'>- *     Math.ancestors       #=&gt; [Math]</div><div class='del'>- *     Enumerable.ancestors #=&gt; [Enumerable]</div><div class='add'>+ *     </div><div class='add'>+ *     Mod.ancestors    #=&gt; [Mod, Comparable, Math]</div><div class='add'>+ *     Math.ancestors   #=&gt; [Math]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_mod_ancestors(VALUE mod)</div><div class='add'>+rb_mod_ancestors(mod)</div><div class='add'>+    VALUE mod;</div><div class='ctx'> {</div><div class='ctx'>     VALUE p, ary = rb_ary_new();</div><div class='ctx'> </div><div class='del'>-    for (p = mod; p; p = RCLASS_SUPER(p)) {</div><div class='add'>+    for (p = mod; p; p = RCLASS(p)-&gt;super) {</div><div class='add'>+	if (FL_TEST(p, FL_SINGLETON))</div><div class='add'>+	    continue;</div><div class='ctx'> 	if (BUILTIN_TYPE(p) == T_ICLASS) {</div><div class='ctx'> 	    rb_ary_push(ary, RBASIC(p)-&gt;klass);</div><div class='ctx'> 	}</div><div class='del'>-	else if (p == RCLASS_ORIGIN(p)) {</div><div class='add'>+	else {</div><div class='ctx'> 	    rb_ary_push(ary, p);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-ins_methods_push(st_data_t name, st_data_t ary)</div><div class='del'>-{</div><div class='del'>-    rb_ary_push((VALUE)ary, ID2SYM((ID)name));</div><div class='del'>-}</div><div class='add'>+#define VISI(x) ((x)&amp;NOEX_MASK)</div><div class='add'>+#define VISI_CHECK(x,f) (VISI(x) == (f))</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-ins_methods_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='del'>-{</div><div class='del'>-    switch ((rb_method_visibility_t)type) {</div><div class='del'>-      case METHOD_VISI_UNDEF:</div><div class='del'>-      case METHOD_VISI_PRIVATE:</div><div class='add'>+ins_methods_push(name, type, ary, visi)</div><div class='add'>+    ID name;</div><div class='add'>+    long type;</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long visi;</div><div class='add'>+{</div><div class='add'>+    if (type == -1) return ST_CONTINUE;</div><div class='add'>+    switch (visi) {</div><div class='add'>+      case NOEX_PRIVATE:</div><div class='add'>+      case NOEX_PROTECTED:</div><div class='add'>+      case NOEX_PUBLIC:</div><div class='add'>+	visi = (type == visi);</div><div class='ctx'> 	break;</div><div class='del'>-      default: /* everything but private */</div><div class='del'>-	ins_methods_push(name, ary);</div><div class='add'>+      default:</div><div class='add'>+	visi = (type != NOEX_PRIVATE);</div><div class='ctx'> 	break;</div><div class='ctx'>     }</div><div class='add'>+    if (visi) {</div><div class='add'>+	rb_ary_push(ary, rb_str_new2(rb_id2name(name)));</div><div class='add'>+    }</div><div class='ctx'>     return ST_CONTINUE;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-ins_methods_prot_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='add'>+ins_methods_i(name, type, ary)</div><div class='add'>+    ID name;</div><div class='add'>+    long type;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if ((rb_method_visibility_t)type == METHOD_VISI_PROTECTED) {</div><div class='del'>-	ins_methods_push(name, ary);</div><div class='del'>-    }</div><div class='del'>-    return ST_CONTINUE;</div><div class='add'>+    return ins_methods_push(name, type, ary, -1); /* everything but private */</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-ins_methods_priv_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='add'>+ins_methods_prot_i(name, type, ary)</div><div class='add'>+    ID name;</div><div class='add'>+    long type;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if ((rb_method_visibility_t)type == METHOD_VISI_PRIVATE) {</div><div class='del'>-	ins_methods_push(name, ary);</div><div class='del'>-    }</div><div class='del'>-    return ST_CONTINUE;</div><div class='add'>+    return ins_methods_push(name, type, ary, NOEX_PROTECTED);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-ins_methods_pub_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='add'>+ins_methods_priv_i(name, type, ary)</div><div class='add'>+    ID name;</div><div class='add'>+    long type;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-    if ((rb_method_visibility_t)type == METHOD_VISI_PUBLIC) {</div><div class='del'>-	ins_methods_push(name, ary);</div><div class='del'>-    }</div><div class='del'>-    return ST_CONTINUE;</div><div class='add'>+    return ins_methods_push(name, type, ary, NOEX_PRIVATE);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-struct method_entry_arg {</div><div class='del'>-    st_table *list;</div><div class='del'>-    int recur;</div><div class='del'>-};</div><div class='add'>+static int</div><div class='add'>+ins_methods_pub_i(name, type, ary)</div><div class='add'>+    ID name;</div><div class='add'>+    long type;</div><div class='add'>+    VALUE ary;</div><div class='add'>+{</div><div class='add'>+    return ins_methods_push(name, type, ary, NOEX_PUBLIC);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-static enum rb_id_table_iterator_result</div><div class='del'>-method_entry_i(ID key, VALUE value, void *data)</div><div class='add'>+static int</div><div class='add'>+method_entry(key, body, list)</div><div class='add'>+    ID key;</div><div class='add'>+    NODE *body;</div><div class='add'>+    st_table *list;</div><div class='ctx'> {</div><div class='del'>-    const rb_method_entry_t *me = (const rb_method_entry_t *)value;</div><div class='del'>-    struct method_entry_arg *arg = (struct method_entry_arg *)data;</div><div class='del'>-    rb_method_visibility_t type;</div><div class='del'>-</div><div class='del'>-    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_REFINED) {</div><div class='del'>-	VALUE owner = me-&gt;owner;</div><div class='del'>-	me = rb_resolve_refined_method(Qnil, me);</div><div class='del'>-	if (!me) return ID_TABLE_CONTINUE;</div><div class='del'>-	if (!arg-&gt;recur &amp;&amp; me-&gt;owner != owner) return ID_TABLE_CONTINUE;</div><div class='del'>-    }</div><div class='del'>-    if (!st_lookup(arg-&gt;list, key, 0)) {</div><div class='del'>-	if (UNDEFINED_METHOD_ENTRY_P(me)) {</div><div class='del'>-	    type = METHOD_VISI_UNDEF; /* none */</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    type = METHOD_ENTRY_VISI(me);</div><div class='del'>-	}</div><div class='del'>-	st_add_direct(arg-&gt;list, key, (st_data_t)type);</div><div class='add'>+    long type;</div><div class='add'>+</div><div class='add'>+    if (key == ID_ALLOCATOR) return ST_CONTINUE;</div><div class='add'>+    if (!st_lookup(list, key, 0)) {</div><div class='add'>+	if (!body-&gt;nd_body) type = -1; /* none */</div><div class='add'>+	else type = VISI(body-&gt;nd_noex);</div><div class='add'>+	st_add_direct(list, key, type);</div><div class='ctx'>     }</div><div class='del'>-    return ID_TABLE_CONTINUE;</div><div class='add'>+    return ST_CONTINUE;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-class_instance_method_list(int argc, const VALUE *argv, VALUE mod, int obj, int (*func) (st_data_t, st_data_t, st_data_t))</div><div class='add'>+class_instance_method_list(argc, argv, mod, func)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE mod;</div><div class='add'>+    int (*func) _((ID, long, VALUE));</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary;</div><div class='del'>-    int recur = TRUE, prepended = 0;</div><div class='del'>-    struct method_entry_arg me_arg;</div><div class='del'>-</div><div class='del'>-    if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]);</div><div class='add'>+    int recur;</div><div class='add'>+    st_table *list;</div><div class='ctx'> </div><div class='del'>-    if (!recur &amp;&amp; RCLASS_ORIGIN(mod) != mod) {</div><div class='del'>-	mod = RCLASS_ORIGIN(mod);</div><div class='del'>-	prepended = 1;</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	recur = Qtrue;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	VALUE r;</div><div class='add'>+	rb_scan_args(argc, argv, "01", &amp;r);</div><div class='add'>+	recur = RTEST(r);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    me_arg.list = st_init_numtable();</div><div class='del'>-    me_arg.recur = recur;</div><div class='del'>-    for (; mod; mod = RCLASS_SUPER(mod)) {</div><div class='del'>-	if (RCLASS_M_TBL(mod)) rb_id_table_foreach(RCLASS_M_TBL(mod), method_entry_i, &amp;me_arg);</div><div class='del'>-	if (BUILTIN_TYPE(mod) == T_ICLASS &amp;&amp; !prepended) continue;</div><div class='del'>-	if (obj &amp;&amp; FL_TEST(mod, FL_SINGLETON)) continue;</div><div class='add'>+    list = st_init_numtable();</div><div class='add'>+    for (; mod; mod = RCLASS(mod)-&gt;super) {</div><div class='add'>+	st_foreach(RCLASS(mod)-&gt;m_tbl, method_entry, (st_data_t)list);</div><div class='add'>+	if (BUILTIN_TYPE(mod) == T_ICLASS) continue;</div><div class='add'>+	if (FL_TEST(mod, FL_SINGLETON)) continue;</div><div class='ctx'> 	if (!recur) break;</div><div class='ctx'>     }</div><div class='ctx'>     ary = rb_ary_new();</div><div class='del'>-    st_foreach(me_arg.list, func, ary);</div><div class='del'>-    st_free_table(me_arg.list);</div><div class='add'>+    st_foreach(list, func, ary);</div><div class='add'>+    st_free_table(list);</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     mod.instance_methods(include_super=true)   -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns an array containing the names of the public and protected instance</div><div class='del'>- *  methods in the receiver. For a module, these are the public and protected methods;</div><div class='del'>- *  for a class, they are the instance (not singleton) methods. If the optional</div><div class='del'>- *  parameter is &lt;code&gt;false&lt;/code&gt;, the methods of any ancestors are not included.</div><div class='del'>- *</div><div class='add'>+ *     mod.instance_methods(include_super=true)   =&gt; array</div><div class='add'>+ *  </div><div class='add'>+ *  Returns an array containing the names of public instance methods in</div><div class='add'>+ *  the receiver. For a module, these are the public methods; for a</div><div class='add'>+ *  class, they are the instance (not singleton) methods. With no</div><div class='add'>+ *  argument, or with an argument that is &lt;code&gt;false&lt;/code&gt;, the</div><div class='add'>+ *  instance methods in &lt;i&gt;mod&lt;/i&gt; are returned, otherwise the methods</div><div class='add'>+ *  in &lt;i&gt;mod&lt;/i&gt; and &lt;i&gt;mod&lt;/i&gt;'s superclasses are returned.</div><div class='add'>+ *     </div><div class='ctx'>  *     module A</div><div class='ctx'>  *       def method1()  end</div><div class='ctx'>  *     end</div><div class='ctx'>  *     class B</div><div class='del'>- *       include A</div><div class='ctx'>  *       def method2()  end</div><div class='ctx'>  *     end</div><div class='ctx'>  *     class C &lt; B</div><div class='ctx'>  *       def method3()  end</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='del'>- *     A.instance_methods(false)                   #=&gt; [:method1]</div><div class='del'>- *     B.instance_methods(false)                   #=&gt; [:method2]</div><div class='del'>- *     B.instance_methods(true).include?(:method1) #=&gt; true</div><div class='del'>- *     C.instance_methods(false)                   #=&gt; [:method3]</div><div class='del'>- *     C.instance_methods.include?(:method2)       #=&gt; true</div><div class='add'>+ *     </div><div class='add'>+ *     A.instance_methods                #=&gt; ["method1"]</div><div class='add'>+ *     B.instance_methods(false)         #=&gt; ["method2"]</div><div class='add'>+ *     C.instance_methods(false)         #=&gt; ["method3"]</div><div class='add'>+ *     C.instance_methods(true).length   #=&gt; 43</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_class_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='add'>+rb_class_instance_methods(argc, argv, mod)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE mod;</div><div class='ctx'> {</div><div class='del'>-    return class_instance_method_list(argc, argv, mod, 0, ins_methods_i);</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, ins_methods_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     mod.protected_instance_methods(include_super=true)   -&gt; array</div><div class='del'>- *</div><div class='add'>+ *     mod.protected_instance_methods(include_super=true)   =&gt; array</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns a list of the protected instance methods defined in</div><div class='del'>- *  &lt;i&gt;mod&lt;/i&gt;. If the optional parameter is &lt;code&gt;false&lt;/code&gt;, the</div><div class='del'>- *  methods of any ancestors are not included.</div><div class='add'>+ *  &lt;i&gt;mod&lt;/i&gt;. If the optional parameter is not &lt;code&gt;false&lt;/code&gt;, the</div><div class='add'>+ *  methods of any ancestors are included.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_class_protected_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='add'>+rb_class_protected_instance_methods(argc, argv, mod)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE mod;</div><div class='ctx'> {</div><div class='del'>-    return class_instance_method_list(argc, argv, mod, 0, ins_methods_prot_i);</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, ins_methods_prot_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     mod.private_instance_methods(include_super=true)    -&gt; array</div><div class='del'>- *</div><div class='add'>+ *     mod.private_instance_methods(include_super=true)    =&gt; array</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns a list of the private instance methods defined in</div><div class='del'>- *  &lt;i&gt;mod&lt;/i&gt;. If the optional parameter is &lt;code&gt;false&lt;/code&gt;, the</div><div class='del'>- *  methods of any ancestors are not included.</div><div class='del'>- *</div><div class='add'>+ *  &lt;i&gt;mod&lt;/i&gt;. If the optional parameter is not &lt;code&gt;false&lt;/code&gt;, the</div><div class='add'>+ *  methods of any ancestors are included.</div><div class='add'>+ *     </div><div class='ctx'>  *     module Mod</div><div class='ctx'>  *       def method1()  end</div><div class='ctx'>  *       private :method1</div><div class='ctx'>  *       def method2()  end</div><div class='ctx'>  *     end</div><div class='del'>- *     Mod.instance_methods           #=&gt; [:method2]</div><div class='del'>- *     Mod.private_instance_methods   #=&gt; [:method1]</div><div class='add'>+ *     Mod.instance_methods           #=&gt; ["method2"]</div><div class='add'>+ *     Mod.private_instance_methods   #=&gt; ["method1"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_class_private_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='add'>+rb_class_private_instance_methods(argc, argv, mod)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE mod;</div><div class='ctx'> {</div><div class='del'>-    return class_instance_method_list(argc, argv, mod, 0, ins_methods_priv_i);</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, ins_methods_priv_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     mod.public_instance_methods(include_super=true)   -&gt; array</div><div class='del'>- *</div><div class='add'>+ *     mod.public_instance_methods(include_super=true)   =&gt; array</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns a list of the public instance methods defined in &lt;i&gt;mod&lt;/i&gt;.</div><div class='del'>- *  If the optional parameter is &lt;code&gt;false&lt;/code&gt;, the methods of</div><div class='del'>- *  any ancestors are not included.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_class_public_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='del'>-{</div><div class='del'>-    return class_instance_method_list(argc, argv, mod, 0, ins_methods_pub_i);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     obj.methods(regular=true)    -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns a list of the names of public and protected methods of</div><div class='del'>- *  &lt;i&gt;obj&lt;/i&gt;. This will include all the methods accessible in</div><div class='del'>- *  &lt;i&gt;obj&lt;/i&gt;'s ancestors.</div><div class='del'>- *  If the optional parameter is &lt;code&gt;false&lt;/code&gt;, it</div><div class='del'>- *  returns an array of &lt;i&gt;obj&lt;i&gt;'s public and protected singleton methods,</div><div class='del'>- *  the array will not include methods in modules included in &lt;i&gt;obj&lt;/i&gt;.</div><div class='del'>- *</div><div class='del'>- *     class Klass</div><div class='del'>- *       def klass_method()</div><div class='del'>- *       end</div><div class='del'>- *     end</div><div class='del'>- *     k = Klass.new</div><div class='del'>- *     k.methods[0..9]    #=&gt; [:klass_method, :nil?, :===,</div><div class='del'>- *                        #    :==~, :!, :eql?</div><div class='del'>- *                        #    :hash, :&lt;=&gt;, :class, :singleton_class]</div><div class='del'>- *     k.methods.length   #=&gt; 56</div><div class='del'>- *</div><div class='del'>- *     k.methods(false)   #=&gt; []</div><div class='del'>- *     def k.singleton_method; end</div><div class='del'>- *     k.methods(false)   #=&gt; [:singleton_method]</div><div class='del'>- *</div><div class='del'>- *     module M123; def m123; end end</div><div class='del'>- *     k.extend M123</div><div class='del'>- *     k.methods(false)   #=&gt; [:singleton_method]</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_obj_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    if (argc &gt; 0 &amp;&amp; !RTEST(argv[0])) {</div><div class='del'>-	return rb_obj_singleton_methods(argc, argv, obj);</div><div class='del'>-    }</div><div class='del'>-    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_i);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     obj.protected_methods(all=true)   -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns the list of protected methods accessible to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='del'>- *  the &lt;i&gt;all&lt;/i&gt; parameter is set to &lt;code&gt;false&lt;/code&gt;, only those methods</div><div class='del'>- *  in the receiver will be listed.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_obj_protected_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_prot_i);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     obj.private_methods(all=true)   -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns the list of private methods accessible to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='del'>- *  the &lt;i&gt;all&lt;/i&gt; parameter is set to &lt;code&gt;false&lt;/code&gt;, only those methods</div><div class='del'>- *  in the receiver will be listed.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_obj_private_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_priv_i);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     obj.public_methods(all=true)   -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns the list of public methods accessible to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='del'>- *  the &lt;i&gt;all&lt;/i&gt; parameter is set to &lt;code&gt;false&lt;/code&gt;, only those methods</div><div class='del'>- *  in the receiver will be listed.</div><div class='add'>+ *  If the optional parameter is not &lt;code&gt;false&lt;/code&gt;, the methods of</div><div class='add'>+ *  any ancestors are included.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_obj_public_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='add'>+rb_class_public_instance_methods(argc, argv, mod)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE mod;</div><div class='ctx'> {</div><div class='del'>-    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_pub_i);</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, ins_methods_pub_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj.singleton_methods(all=true)    -&gt; array</div><div class='del'>- *</div><div class='add'>+ *     obj.singleton_methods(all=true)    =&gt; array</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns an array of the names of singleton methods for &lt;i&gt;obj&lt;/i&gt;.</div><div class='ctx'>  *  If the optional &lt;i&gt;all&lt;/i&gt; parameter is true, the list will include</div><div class='ctx'>  *  methods in modules included in &lt;i&gt;obj&lt;/i&gt;.</div><div class='del'>- *  Only public and protected singleton methods are returned.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     module Other</div><div class='ctx'>  *       def three() end</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     class Single</div><div class='ctx'>  *       def Single.four() end</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     a = Single.new</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     def a.one()</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     class &lt;&lt; a</div><div class='ctx'>  *       include Other</div><div class='ctx'>  *       def two()</div><div class='ctx'>  *       end</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='del'>- *     Single.singleton_methods    #=&gt; [:four]</div><div class='del'>- *     a.singleton_methods(false)  #=&gt; [:two, :one]</div><div class='del'>- *     a.singleton_methods         #=&gt; [:two, :one, :three]</div><div class='add'>+ *     </div><div class='add'>+ *     Single.singleton_methods    #=&gt; ["four"]</div><div class='add'>+ *     a.singleton_methods(false)  #=&gt; ["two", "one"]</div><div class='add'>+ *     a.singleton_methods         #=&gt; ["two", "one", "three"]</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_obj_singleton_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='add'>+rb_obj_singleton_methods(argc, argv, obj)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='del'>-    VALUE ary, klass, origin;</div><div class='del'>-    struct method_entry_arg me_arg;</div><div class='del'>-    struct rb_id_table *mtbl;</div><div class='del'>-    int recur = TRUE;</div><div class='add'>+    VALUE recur, ary, klass;</div><div class='add'>+    st_table *list;</div><div class='ctx'> </div><div class='del'>-    if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]);</div><div class='add'>+    rb_scan_args(argc, argv, "01", &amp;recur);</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	recur = Qtrue;</div><div class='add'>+    }</div><div class='ctx'>     klass = CLASS_OF(obj);</div><div class='del'>-    origin = RCLASS_ORIGIN(klass);</div><div class='del'>-    me_arg.list = st_init_numtable();</div><div class='del'>-    me_arg.recur = recur;</div><div class='add'>+    list = st_init_numtable();</div><div class='ctx'>     if (klass &amp;&amp; FL_TEST(klass, FL_SINGLETON)) {</div><div class='del'>-	if ((mtbl = RCLASS_M_TBL(origin)) != 0) rb_id_table_foreach(mtbl, method_entry_i, &amp;me_arg);</div><div class='del'>-	klass = RCLASS_SUPER(klass);</div><div class='add'>+	st_foreach(RCLASS(klass)-&gt;m_tbl, method_entry, (st_data_t)list);</div><div class='add'>+	klass = RCLASS(klass)-&gt;super;</div><div class='ctx'>     }</div><div class='del'>-    if (recur) {</div><div class='del'>-	while (klass &amp;&amp; (FL_TEST(klass, FL_SINGLETON) || RB_TYPE_P(klass, T_ICLASS))) {</div><div class='del'>-	    if (klass != origin &amp;&amp; (mtbl = RCLASS_M_TBL(klass)) != 0) rb_id_table_foreach(mtbl, method_entry_i, &amp;me_arg);</div><div class='del'>-	    klass = RCLASS_SUPER(klass);</div><div class='add'>+    if (RTEST(recur)) {</div><div class='add'>+	while (klass &amp;&amp; (FL_TEST(klass, FL_SINGLETON) || TYPE(klass) == T_ICLASS)) {</div><div class='add'>+	    st_foreach(RCLASS(klass)-&gt;m_tbl, method_entry, (st_data_t)list);</div><div class='add'>+	    klass = RCLASS(klass)-&gt;super;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     ary = rb_ary_new();</div><div class='del'>-    st_foreach(me_arg.list, ins_methods_i, ary);</div><div class='del'>-    st_free_table(me_arg.list);</div><div class='add'>+    st_foreach(list, ins_methods_i, ary);</div><div class='add'>+    st_free_table(list);</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * \}</div><div class='del'>- */</div><div class='del'>-/*!</div><div class='del'>- * \defgroup defmethod Defining methods</div><div class='del'>- * There are some APIs to define a method from C.</div><div class='del'>- * These API takes a C function as a method body.</div><div class='del'>- *</div><div class='del'>- * \par Method body functions</div><div class='del'>- * Method body functions must return a VALUE and</div><div class='del'>- * can be one of the following form:</div><div class='del'>- * &lt;dl&gt;</div><div class='del'>- * &lt;dt&gt;Fixed number of parameters&lt;/dt&gt;</div><div class='del'>- * &lt;dd&gt;</div><div class='del'>- *     This form is a normal C function, excepting it takes</div><div class='del'>- *     a receiver object as the first argument.</div><div class='del'>- *</div><div class='del'>- *     \code</div><div class='del'>- *     static VALUE my_method(VALUE self, VALUE x, VALUE y);</div><div class='del'>- *     \endcode</div><div class='del'>- * &lt;/dd&gt;</div><div class='del'>- * &lt;dt&gt;argc and argv style&lt;/dt&gt;</div><div class='del'>- * &lt;dd&gt;</div><div class='del'>- *     This form takes three parameters: \a argc, \a argv and \a self.</div><div class='del'>- *     \a self is the receiver. \a argc is the number of arguments.</div><div class='del'>- *     \a argv is a pointer to an array of the arguments.</div><div class='del'>- *</div><div class='del'>- *     \code</div><div class='del'>- *     static VALUE my_method(int argc, VALUE *argv, VALUE self);</div><div class='del'>- *     \endcode</div><div class='del'>- * &lt;/dd&gt;</div><div class='del'>- * &lt;dt&gt;Ruby array style&lt;/dt&gt;</div><div class='del'>- * &lt;dd&gt;</div><div class='del'>- *     This form takes two parameters: self and args.</div><div class='del'>- *     \a self is the receiver. \a args is an Array object which</div><div class='del'>- *     contains the arguments.</div><div class='del'>- *</div><div class='del'>- *     \code</div><div class='del'>- *     static VALUE my_method(VALUE self, VALUE args);</div><div class='del'>- *     \endcode</div><div class='del'>- * &lt;/dd&gt;</div><div class='del'>- *</div><div class='del'>- * \par Number of parameters</div><div class='del'>- * Method defining APIs takes the number of parameters which the</div><div class='del'>- * method will takes. This number is called \a argc.</div><div class='del'>- * \a argc can be:</div><div class='del'>- * &lt;dl&gt;</div><div class='del'>- * &lt;dt&gt;zero or positive number&lt;/dt&gt;</div><div class='del'>- * &lt;dd&gt;This means the method body function takes a fixed number of parameters&lt;/dd&gt;</div><div class='del'>- * &lt;dt&gt;-1&lt;/dt&gt;</div><div class='del'>- * &lt;dd&gt;This means the method body function is "argc and argv" style.&lt;/dd&gt;</div><div class='del'>- * &lt;dt&gt;-2&lt;/dt&gt;</div><div class='del'>- * &lt;dd&gt;This means the method body function is "self and args" style.&lt;/dd&gt;</div><div class='del'>- * &lt;/dl&gt;</div><div class='del'>- * \{</div><div class='del'>- */</div><div class='del'>-</div><div class='ctx'> void</div><div class='del'>-rb_define_method_id(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc)</div><div class='add'>+rb_define_method_id(klass, name, func, argc)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    ID name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='del'>-    rb_add_method_cfunc(klass, mid, func, argc, METHOD_VISI_PUBLIC);</div><div class='add'>+    rb_add_method(klass, name, NEW_CFUNC(func,argc), NOEX_PUBLIC);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_define_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='add'>+rb_define_method(klass, name, func, argc)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='del'>-    rb_add_method_cfunc(klass, rb_intern(name), func, argc, METHOD_VISI_PUBLIC);</div><div class='del'>-}</div><div class='add'>+    ID id = rb_intern(name);</div><div class='add'>+    int ex = NOEX_PUBLIC;</div><div class='ctx'> </div><div class='del'>-void</div><div class='del'>-rb_define_protected_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-{</div><div class='del'>-    rb_add_method_cfunc(klass, rb_intern(name), func, argc, METHOD_VISI_PROTECTED);</div><div class='del'>-}</div><div class='ctx'> </div><div class='del'>-void</div><div class='del'>-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-{</div><div class='del'>-    rb_add_method_cfunc(klass, rb_intern(name), func, argc, METHOD_VISI_PRIVATE);</div><div class='add'>+    rb_add_method(klass, id, NEW_CFUNC(func, argc), ex);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_undef_method(VALUE klass, const char *name)</div><div class='add'>+rb_define_protected_method(klass, name, func, argc)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='del'>-    rb_add_method(klass, rb_intern(name), VM_METHOD_TYPE_UNDEF, 0, METHOD_VISI_UNDEF);</div><div class='add'>+    rb_add_method(klass, rb_intern(name), NEW_CFUNC(func, argc), NOEX_PROTECTED);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static enum rb_id_table_iterator_result</div><div class='del'>-undef_method_i(ID name, VALUE value, void *data)</div><div class='add'>+void</div><div class='add'>+rb_define_private_method(klass, name, func, argc)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='del'>-    VALUE klass = (VALUE)data;</div><div class='del'>-    rb_add_method(klass, name, VM_METHOD_TYPE_UNDEF, 0, METHOD_VISI_UNDEF);</div><div class='del'>-    return ID_TABLE_CONTINUE;</div><div class='add'>+    rb_add_method(klass, rb_intern(name), NEW_CFUNC(func, argc), NOEX_PRIVATE);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_undef_methods_from(VALUE klass, VALUE super)</div><div class='add'>+rb_undef_method(klass, name)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    const char *name;</div><div class='ctx'> {</div><div class='del'>-    struct rb_id_table *mtbl = RCLASS_M_TBL(super);</div><div class='del'>-    if (mtbl) {</div><div class='del'>-	rb_id_table_foreach(mtbl, undef_method_i, (void *)klass);</div><div class='del'>-    }</div><div class='add'>+    rb_add_method(klass, rb_intern(name), 0, NOEX_UNDEF);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * \}</div><div class='del'>- */</div><div class='del'>-/*!</div><div class='del'>- * \addtogroup class</div><div class='del'>- * \{</div><div class='del'>- */</div><div class='del'>-</div><div class='ctx'> #define SPECIAL_SINGLETON(x,c) do {\</div><div class='ctx'>     if (obj == (x)) {\</div><div class='del'>-	return (c);\</div><div class='add'>+	return c;\</div><div class='ctx'>     }\</div><div class='ctx'> } while (0)</div><div class='ctx'> </div><div class='del'>-static inline VALUE</div><div class='del'>-special_singleton_class_of(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    SPECIAL_SINGLETON(Qnil, rb_cNilClass);</div><div class='del'>-    SPECIAL_SINGLETON(Qfalse, rb_cFalseClass);</div><div class='del'>-    SPECIAL_SINGLETON(Qtrue, rb_cTrueClass);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> VALUE</div><div class='del'>-rb_special_singleton_class(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    return special_singleton_class_of(obj);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * \internal</div><div class='del'>- * Returns the singleton class of \a obj. Creates it if necessary.</div><div class='del'>- *</div><div class='del'>- * \note DO NOT expose the returned singleton class to</div><div class='del'>- *       outside of class.c.</div><div class='del'>- *       Use \ref rb_singleton_class instead for</div><div class='del'>- *       consistency of the metaclass hierarchy.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-singleton_class_of(VALUE obj)</div><div class='add'>+rb_singleton_class(obj)</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(obj) || FLONUM_P(obj) || STATIC_SYM_P(obj)) {</div><div class='del'>-      no_singleton:</div><div class='add'>+    if (FIXNUM_P(obj) || SYMBOL_P(obj)) {</div><div class='ctx'> 	rb_raise(rb_eTypeError, "can't define singleton");</div><div class='ctx'>     }</div><div class='del'>-    if (SPECIAL_CONST_P(obj)) {</div><div class='del'>-	klass = special_singleton_class_of(obj);</div><div class='del'>-	if (NIL_P(klass))</div><div class='del'>-	    rb_bug("unknown immediate %p", (void *)obj);</div><div class='del'>-	return klass;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	switch (BUILTIN_TYPE(obj)) {</div><div class='del'>-	  case T_FLOAT: case T_BIGNUM: case T_SYMBOL:</div><div class='del'>-	    goto no_singleton;</div><div class='del'>-	  case T_STRING:</div><div class='del'>-	    if (FL_TEST_RAW(obj, RSTRING_FSTR)) goto no_singleton;</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='add'>+    if (rb_special_const_p(obj)) {</div><div class='add'>+	SPECIAL_SINGLETON(Qnil, rb_cNilClass);</div><div class='add'>+	SPECIAL_SINGLETON(Qfalse, rb_cFalseClass);</div><div class='add'>+	SPECIAL_SINGLETON(Qtrue, rb_cTrueClass);</div><div class='add'>+	rb_bug("unknown immediate %ld", obj);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    klass = RBASIC(obj)-&gt;klass;</div><div class='del'>-    if (!(FL_TEST(klass, FL_SINGLETON) &amp;&amp;</div><div class='del'>-	  rb_ivar_get(klass, id_attached) == obj)) {</div><div class='del'>-	rb_serial_t serial = RCLASS_SERIAL(klass);</div><div class='del'>-	klass = rb_make_metaclass(obj, klass);</div><div class='del'>-	RCLASS_SERIAL(klass) = serial;</div><div class='add'>+    DEFER_INTS;</div><div class='add'>+    if (FL_TEST(RBASIC(obj)-&gt;klass, FL_SINGLETON) &amp;&amp;</div><div class='add'>+	rb_iv_get(RBASIC(obj)-&gt;klass, "__attached__") == obj) {</div><div class='add'>+	klass = RBASIC(obj)-&gt;klass;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	klass = rb_make_metaclass(obj, RBASIC(obj)-&gt;klass);</div><div class='ctx'>     }</div><div class='del'>-</div><div class='ctx'>     if (OBJ_TAINTED(obj)) {</div><div class='ctx'> 	OBJ_TAINT(klass);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='ctx'> 	FL_UNSET(klass, FL_TAINT);</div><div class='ctx'>     }</div><div class='del'>-    RB_FL_SET_RAW(klass, RB_OBJ_FROZEN_RAW(obj));</div><div class='del'>-</div><div class='del'>-    return klass;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_freeze_singleton_class(VALUE x)</div><div class='del'>-{</div><div class='del'>-    /* should not propagate to meta-meta-class, and so on */</div><div class='del'>-    if (!(RBASIC(x)-&gt;flags &amp; FL_SINGLETON)) {</div><div class='del'>-	VALUE klass = RBASIC_CLASS(x);</div><div class='del'>-	if (klass &amp;&amp; (klass = RCLASS_ORIGIN(klass)) != 0 &amp;&amp;</div><div class='del'>-	    FL_TEST(klass, (FL_SINGLETON|FL_FREEZE)) == FL_SINGLETON) {</div><div class='del'>-	    OBJ_FREEZE_RAW(klass);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Returns the singleton class of \a obj, or nil if obj is not a</div><div class='del'>- * singleton object.</div><div class='del'>- *</div><div class='del'>- * \param obj an arbitrary object.</div><div class='del'>- * \return the singleton class or nil.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_singleton_class_get(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    VALUE klass;</div><div class='del'>-</div><div class='del'>-    if (SPECIAL_CONST_P(obj)) {</div><div class='del'>-	return rb_special_singleton_class(obj);</div><div class='del'>-    }</div><div class='del'>-    klass = RBASIC(obj)-&gt;klass;</div><div class='del'>-    if (!FL_TEST(klass, FL_SINGLETON)) return Qnil;</div><div class='del'>-    if (rb_ivar_get(klass, id_attached) != obj) return Qnil;</div><div class='del'>-    return klass;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Returns the singleton class of \a obj. Creates it if necessary.</div><div class='del'>- *</div><div class='del'>- * \param obj an arbitrary object.</div><div class='del'>- * \throw TypeError if \a obj is a Integer or a Symbol.</div><div class='del'>- * \return the singleton class.</div><div class='del'>- *</div><div class='del'>- * \post \a obj has its own singleton class.</div><div class='del'>- * \post if \a obj is a class,</div><div class='del'>- *       the returned singleton class also has its own</div><div class='del'>- *       singleton class in order to keep consistency of the</div><div class='del'>- *       inheritance structure of metaclasses.</div><div class='del'>- * \note a new singleton class will be created</div><div class='del'>- *       if \a obj does not have it.</div><div class='del'>- * \note the singleton classes for nil, true and false are:</div><div class='del'>- *       NilClass, TrueClass and FalseClass.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_singleton_class(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    VALUE klass = singleton_class_of(obj);</div><div class='del'>-</div><div class='del'>-    /* ensures an exposed class belongs to its own eigenclass */</div><div class='del'>-    if (RB_TYPE_P(obj, T_CLASS)) (void)ENSURE_EIGENCLASS(klass);</div><div class='add'>+    if (OBJ_FROZEN(obj)) OBJ_FREEZE(klass);</div><div class='add'>+    ALLOW_INTS;</div><div class='ctx'> </div><div class='ctx'>     return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * \}</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * \addtogroup defmethod</div><div class='del'>- * \{</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines a singleton method for \a obj.</div><div class='del'>- * \param obj    an arbitrary object</div><div class='del'>- * \param name   name of the singleton method</div><div class='del'>- * \param func   the method body</div><div class='del'>- * \param argc   the number of parameters, or -1 or -2. see \ref defmethod.</div><div class='del'>- */</div><div class='ctx'> void</div><div class='del'>-rb_define_singleton_method(VALUE obj, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='add'>+rb_define_singleton_method(obj, name, func, argc)</div><div class='add'>+    VALUE obj;</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='del'>-    rb_define_method(singleton_class_of(obj), name, func, argc);</div><div class='add'>+    rb_define_method(rb_singleton_class(obj), name, func, argc);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines a module function for \a module.</div><div class='del'>- * \param module  an module or a class.</div><div class='del'>- * \param name    name of the function</div><div class='del'>- * \param func    the method body</div><div class='del'>- * \param argc    the number of parameters, or -1 or -2. see \ref defmethod.</div><div class='del'>- */</div><div class='ctx'> void</div><div class='del'>-rb_define_module_function(VALUE module, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='add'>+rb_define_module_function(module, name, func, argc)</div><div class='add'>+    VALUE module;</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='ctx'>     rb_define_private_method(module, name, func, argc);</div><div class='ctx'>     rb_define_singleton_method(module, name, func, argc);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines a global function</div><div class='del'>- * \param name    name of the function</div><div class='del'>- * \param func    the method body</div><div class='del'>- * \param argc    the number of parameters, or -1 or -2. see \ref defmethod.</div><div class='del'>- */</div><div class='ctx'> void</div><div class='del'>-rb_define_global_function(const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='add'>+rb_define_global_function(name, func, argc)</div><div class='add'>+    const char *name;</div><div class='add'>+    VALUE (*func)();</div><div class='add'>+    int argc;</div><div class='ctx'> {</div><div class='ctx'>     rb_define_module_function(rb_mKernel, name, func, argc);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Defines an alias of a method.</div><div class='del'>- * \param klass  the class which the original method belongs to</div><div class='del'>- * \param name1  a new name for the method</div><div class='del'>- * \param name2  the original name of the method</div><div class='del'>- */</div><div class='ctx'> void</div><div class='del'>-rb_define_alias(VALUE klass, const char *name1, const char *name2)</div><div class='add'>+rb_define_alias(klass, name1, name2)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    const char *name1, *name2;</div><div class='ctx'> {</div><div class='ctx'>     rb_alias(klass, rb_intern(name1), rb_intern(name2));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/*!</div><div class='del'>- * Defines (a) public accessor method(s) for an attribute.</div><div class='del'>- * \param klass  the class which the attribute will belongs to</div><div class='del'>- * \param name   name of the attribute</div><div class='del'>- * \param read   a getter method for the attribute will be defined if \a read is non-zero.</div><div class='del'>- * \param write  a setter method for the attribute will be defined if \a write is non-zero.</div><div class='del'>- */</div><div class='ctx'> void</div><div class='del'>-rb_define_attr(VALUE klass, const char *name, int read, int write)</div><div class='del'>-{</div><div class='del'>-    rb_attr(klass, rb_intern(name), read, write, FALSE);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-MJIT_FUNC_EXPORTED VALUE</div><div class='del'>-rb_keyword_error_new(const char *error, VALUE keys)</div><div class='del'>-{</div><div class='del'>-    long i = 0, len = RARRAY_LEN(keys);</div><div class='del'>-    VALUE error_message = rb_sprintf("%s keyword%.*s", error, len &gt; 1, "s");</div><div class='del'>-</div><div class='del'>-    if (len &gt; 0) {</div><div class='del'>-	rb_str_cat_cstr(error_message, ": ");</div><div class='del'>-	while (1) {</div><div class='del'>-            const VALUE k = RARRAY_AREF(keys, i);</div><div class='del'>-	    Check_Type(k, T_SYMBOL); /* wrong hash is given to rb_get_kwargs */</div><div class='del'>-	    rb_str_append(error_message, rb_sym2str(k));</div><div class='del'>-	    if (++i &gt;= len) break;</div><div class='del'>-	    rb_str_cat_cstr(error_message, ", ");</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return rb_exc_new_str(rb_eArgError, error_message);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NORETURN(static void rb_keyword_error(const char *error, VALUE keys));</div><div class='del'>-static void</div><div class='del'>-rb_keyword_error(const char *error, VALUE keys)</div><div class='del'>-{</div><div class='del'>-    rb_exc_raise(rb_keyword_error_new(error, keys));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NORETURN(static void unknown_keyword_error(VALUE hash, const ID *table, int keywords));</div><div class='del'>-static void</div><div class='del'>-unknown_keyword_error(VALUE hash, const ID *table, int keywords)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    for (i = 0; i &lt; keywords; i++) {</div><div class='del'>-	st_data_t key = ID2SYM(table[i]);</div><div class='del'>-        rb_hash_stlike_delete(hash, &amp;key, NULL);</div><div class='del'>-    }</div><div class='del'>-    rb_keyword_error("unknown", rb_hash_keys(hash));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct extract_keywords {</div><div class='del'>-    VALUE kwdhash, nonsymkey;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-separate_symbol(st_data_t key, st_data_t value, st_data_t arg)</div><div class='del'>-{</div><div class='del'>-    struct extract_keywords *argp = (struct extract_keywords *)arg;</div><div class='del'>-    VALUE k = (VALUE)key, v = (VALUE)value;</div><div class='del'>-</div><div class='del'>-    if (argp-&gt;kwdhash) {</div><div class='del'>-        if (UNLIKELY(!SYMBOL_P(k))) {</div><div class='del'>-            argp-&gt;nonsymkey = k;</div><div class='del'>-            return ST_STOP;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else if (SYMBOL_P(k)) {</div><div class='del'>-        if (UNLIKELY(argp-&gt;nonsymkey != Qundef)) {</div><div class='del'>-            argp-&gt;kwdhash = Qnil;</div><div class='del'>-            return ST_STOP;</div><div class='del'>-        }</div><div class='del'>-        argp-&gt;kwdhash = rb_hash_new();</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        if (argp-&gt;nonsymkey == Qundef)</div><div class='del'>-            argp-&gt;nonsymkey = k;</div><div class='del'>-        return ST_CONTINUE;</div><div class='del'>-    }</div><div class='del'>-    rb_hash_aset(argp-&gt;kwdhash, k, v);</div><div class='del'>-    return ST_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_extract_keywords(VALUE *orighash)</div><div class='add'>+rb_define_attr(klass, name, read, write)</div><div class='add'>+    VALUE klass;</div><div class='add'>+    const char *name;</div><div class='add'>+    int read, write;</div><div class='ctx'> {</div><div class='del'>-    struct extract_keywords arg = {0, Qundef};</div><div class='del'>-    VALUE hash = *orighash;</div><div class='del'>-</div><div class='del'>-    if (RHASH_EMPTY_P(hash)) {</div><div class='del'>-	*orighash = 0;</div><div class='del'>-	return hash;</div><div class='del'>-    }</div><div class='del'>-    rb_hash_foreach(hash, separate_symbol, (st_data_t)&amp;arg);</div><div class='del'>-    if (arg.kwdhash) {</div><div class='del'>-        if (arg.nonsymkey != Qundef) {</div><div class='del'>-            rb_raise(rb_eArgError, "non-symbol key in keyword arguments: %+"PRIsVALUE,</div><div class='del'>-                     arg.nonsymkey);</div><div class='del'>-        }</div><div class='del'>-        *orighash = 0;</div><div class='del'>-    }</div><div class='del'>-    return arg.kwdhash;</div><div class='add'>+    rb_attr(klass, rb_intern(name), read, write, Qfalse);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-int</div><div class='del'>-rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *values)</div><div class='del'>-{</div><div class='del'>-    int i = 0, j;</div><div class='del'>-    int rest = 0;</div><div class='del'>-    VALUE missing = Qnil;</div><div class='del'>-    st_data_t key;</div><div class='del'>-</div><div class='del'>-#define extract_kwarg(keyword, val) \</div><div class='del'>-    (key = (st_data_t)(keyword), values ? \</div><div class='del'>-     rb_hash_stlike_delete(keyword_hash, &amp;key, (val)) : \</div><div class='del'>-     rb_hash_stlike_lookup(keyword_hash, key, (val)))</div><div class='del'>-</div><div class='del'>-    if (NIL_P(keyword_hash)) keyword_hash = 0;</div><div class='del'>-</div><div class='del'>-    if (optional &lt; 0) {</div><div class='del'>-	rest = 1;</div><div class='del'>-	optional = -1-optional;</div><div class='del'>-    }</div><div class='del'>-    if (values) {</div><div class='del'>-	for (j = 0; j &lt; required + optional; j++) {</div><div class='del'>-	    values[j] = Qundef;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    if (required) {</div><div class='del'>-	for (; i &lt; required; i++) {</div><div class='del'>-	    VALUE keyword = ID2SYM(table[i]);</div><div class='del'>-	    if (keyword_hash) {</div><div class='del'>-		st_data_t val;</div><div class='del'>-		if (extract_kwarg(keyword, &amp;val)) {</div><div class='del'>-		    if (values) values[i] = (VALUE)val;</div><div class='del'>-		    continue;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    if (NIL_P(missing)) missing = rb_ary_tmp_new(1);</div><div class='del'>-	    rb_ary_push(missing, keyword);</div><div class='del'>-	}</div><div class='del'>-	if (!NIL_P(missing)) {</div><div class='del'>-	    rb_keyword_error("missing", missing);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    j = i;</div><div class='del'>-    if (optional &amp;&amp; keyword_hash) {</div><div class='del'>-	for (i = 0; i &lt; optional; i++) {</div><div class='del'>-	    st_data_t val;</div><div class='del'>-	    if (extract_kwarg(ID2SYM(table[required+i]), &amp;val)) {</div><div class='del'>-		if (values) values[required+i] = (VALUE)val;</div><div class='del'>-		j++;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    if (!rest &amp;&amp; keyword_hash) {</div><div class='del'>-	if (RHASH_SIZE(keyword_hash) &gt; (unsigned int)(values ? 0 : j)) {</div><div class='del'>-	    unknown_keyword_error(keyword_hash, table, required+optional);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return j;</div><div class='del'>-#undef extract_kwarg</div><div class='del'>-}</div><div class='add'>+#ifdef HAVE_STDARG_PROTOTYPES</div><div class='add'>+#include &lt;stdarg.h&gt;</div><div class='add'>+#define va_init_list(a,b) va_start(a,b)</div><div class='add'>+#else</div><div class='add'>+#include &lt;varargs.h&gt;</div><div class='add'>+#define va_init_list(a,b) va_start(a)</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-#undef rb_scan_args</div><div class='ctx'> int</div><div class='add'>+#ifdef HAVE_STDARG_PROTOTYPES</div><div class='ctx'> rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='add'>+#else</div><div class='add'>+rb_scan_args(argc, argv, fmt, va_alist)</div><div class='add'>+    int argc;</div><div class='add'>+    const VALUE *argv;</div><div class='add'>+    const char *fmt;</div><div class='add'>+    va_dcl</div><div class='add'>+#endif</div><div class='add'>+{</div><div class='add'>+    int n, i = 0;</div><div class='ctx'>     const char *p = fmt;</div><div class='ctx'>     VALUE *var;</div><div class='ctx'>     va_list vargs;</div><div class='del'>-    int f_var = 0, f_hash = 0, f_block = 0;</div><div class='del'>-    int n_lead = 0, n_opt = 0, n_trail = 0, n_mand;</div><div class='del'>-    int argi = 0, last_idx = -1;</div><div class='del'>-    VALUE hash = Qnil, last_hash = 0;</div><div class='add'>+</div><div class='add'>+    va_init_list(vargs, fmt);</div><div class='add'>+</div><div class='add'>+    if (*p == '*') goto rest_arg;</div><div class='ctx'> </div><div class='ctx'>     if (ISDIGIT(*p)) {</div><div class='del'>-	n_lead = *p - '0';</div><div class='del'>-	p++;</div><div class='del'>-	if (ISDIGIT(*p)) {</div><div class='del'>-	    n_opt = *p - '0';</div><div class='del'>-	    p++;</div><div class='add'>+	n = *p - '0';</div><div class='add'>+	if (n &gt; argc)</div><div class='add'>+	    rb_raise(rb_eArgError, "wrong number of arguments (%d for %d)", argc, n);</div><div class='add'>+	for (i=0; i&lt;n; i++) {</div><div class='add'>+	    var = va_arg(vargs, VALUE*);</div><div class='add'>+	    if (var) *var = argv[i];</div><div class='ctx'> 	}</div><div class='del'>-    }</div><div class='del'>-    if (*p == '*') {</div><div class='del'>-	f_var = 1;</div><div class='del'>-	p++;</div><div class='del'>-    }</div><div class='del'>-    if (ISDIGIT(*p)) {</div><div class='del'>-	n_trail = *p - '0';</div><div class='del'>-	p++;</div><div class='del'>-    }</div><div class='del'>-    if (*p == ':') {</div><div class='del'>-	f_hash = 1;</div><div class='del'>-	p++;</div><div class='del'>-    }</div><div class='del'>-    if (*p == '&amp;') {</div><div class='del'>-	f_block = 1;</div><div class='ctx'> 	p++;</div><div class='ctx'>     }</div><div class='del'>-    if (*p != '\0') {</div><div class='del'>-	rb_fatal("bad scan arg format: %s", fmt);</div><div class='add'>+    else {</div><div class='add'>+	goto error;</div><div class='ctx'>     }</div><div class='del'>-    n_mand = n_lead + n_trail;</div><div class='del'>-</div><div class='del'>-    if (argc &lt; n_mand)</div><div class='del'>-	goto argc_error;</div><div class='ctx'> </div><div class='del'>-    va_start(vargs, fmt);</div><div class='del'>-</div><div class='del'>-    /* capture an option hash - phase 1: pop */</div><div class='del'>-    if (f_hash &amp;&amp; n_mand &lt; argc) {</div><div class='del'>-	VALUE last = argv[argc - 1];</div><div class='del'>-</div><div class='del'>-	if (NIL_P(last)) {</div><div class='del'>-	    /* nil is taken as an empty option hash only if it is not</div><div class='del'>-	       ambiguous; i.e. '*' is not specified and arguments are</div><div class='del'>-	       given more than sufficient */</div><div class='del'>-	    if (!f_var &amp;&amp; n_mand + n_opt &lt; argc)</div><div class='del'>-		argc--;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    hash = rb_check_hash_type(last);</div><div class='del'>-	    if (!NIL_P(hash)) {</div><div class='del'>-		VALUE opts = rb_extract_keywords(&amp;hash);</div><div class='del'>-		if (!(last_hash = hash)) argc--;</div><div class='del'>-		else last_idx = argc - 1;</div><div class='del'>-		hash = opts ? opts : Qnil;</div><div class='add'>+    if (ISDIGIT(*p)) {</div><div class='add'>+	n = i + *p - '0';</div><div class='add'>+	for (; i&lt;n; i++) {</div><div class='add'>+	    var = va_arg(vargs, VALUE*);</div><div class='add'>+	    if (argc &gt; i) {</div><div class='add'>+		if (var) *var = argv[i];</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		if (var) *var = Qnil;</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='add'>+	p++;</div><div class='ctx'>     }</div><div class='del'>-    /* capture leading mandatory arguments */</div><div class='del'>-    for (i = n_lead; i-- &gt; 0; ) {</div><div class='del'>-	var = va_arg(vargs, VALUE *);</div><div class='del'>-	if (var) *var = (argi == last_idx) ? last_hash : argv[argi];</div><div class='del'>-	argi++;</div><div class='del'>-    }</div><div class='del'>-    /* capture optional arguments */</div><div class='del'>-    for (i = n_opt; i-- &gt; 0; ) {</div><div class='del'>-	var = va_arg(vargs, VALUE *);</div><div class='del'>-	if (argi &lt; argc - n_trail) {</div><div class='del'>-	    if (var) *var = (argi == last_idx) ? last_hash : argv[argi];</div><div class='del'>-	    argi++;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (var) *var = Qnil;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    /* capture variable length arguments */</div><div class='del'>-    if (f_var) {</div><div class='del'>-	int n_var = argc - argi - n_trail;</div><div class='del'>-</div><div class='del'>-	var = va_arg(vargs, VALUE *);</div><div class='del'>-	if (0 &lt; n_var) {</div><div class='del'>-	    if (var) {</div><div class='del'>-		int f_last = (last_idx + 1 == argc - n_trail);</div><div class='del'>-		*var = rb_ary_new4(n_var-f_last, &amp;argv[argi]);</div><div class='del'>-		if (f_last) rb_ary_push(*var, last_hash);</div><div class='del'>-	    }</div><div class='del'>-	    argi += n_var;</div><div class='add'>+</div><div class='add'>+    if(*p == '*') {</div><div class='add'>+      rest_arg:</div><div class='add'>+	var = va_arg(vargs, VALUE*);</div><div class='add'>+	if (argc &gt; i) {</div><div class='add'>+	    if (var) *var = rb_ary_new4(argc-i, argv+i);</div><div class='add'>+	    i = argc;</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='ctx'> 	    if (var) *var = rb_ary_new();</div><div class='ctx'> 	}</div><div class='add'>+	p++;</div><div class='ctx'>     }</div><div class='del'>-    /* capture trailing mandatory arguments */</div><div class='del'>-    for (i = n_trail; i-- &gt; 0; ) {</div><div class='del'>-	var = va_arg(vargs, VALUE *);</div><div class='del'>-	if (var) *var = (argi == last_idx) ? last_hash : argv[argi];</div><div class='del'>-	argi++;</div><div class='del'>-    }</div><div class='del'>-    /* capture an option hash - phase 2: assignment */</div><div class='del'>-    if (f_hash) {</div><div class='del'>-	var = va_arg(vargs, VALUE *);</div><div class='del'>-	if (var) *var = hash;</div><div class='del'>-    }</div><div class='del'>-    /* capture iterator block */</div><div class='del'>-    if (f_block) {</div><div class='del'>-	var = va_arg(vargs, VALUE *);</div><div class='add'>+</div><div class='add'>+    if (*p == '&amp;') {</div><div class='add'>+	var = va_arg(vargs, VALUE*);</div><div class='ctx'> 	if (rb_block_given_p()) {</div><div class='ctx'> 	    *var = rb_block_proc();</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='ctx'> 	    *var = Qnil;</div><div class='ctx'> 	}</div><div class='add'>+	p++;</div><div class='ctx'>     }</div><div class='ctx'>     va_end(vargs);</div><div class='ctx'> </div><div class='del'>-    if (argi &lt; argc) {</div><div class='del'>-      argc_error:</div><div class='del'>-	rb_error_arity(argc, n_mand, f_var ? UNLIMITED_ARGUMENTS : n_mand + n_opt);</div><div class='add'>+    if (*p != '\0') {</div><div class='add'>+	goto error;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (argc &gt; i) {</div><div class='add'>+	rb_raise(rb_eArgError, "wrong number of arguments (%d for %d)", argc, i);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return argc;</div><div class='del'>-}</div><div class='ctx'> </div><div class='del'>-int</div><div class='del'>-rb_class_has_methods(VALUE c)</div><div class='del'>-{</div><div class='del'>-    return rb_id_table_size(RCLASS_M_TBL(c)) == 0 ? FALSE : TRUE;</div><div class='add'>+  error:</div><div class='add'>+    rb_fatal("bad scan arg format: %s", fmt);</div><div class='add'>+    return 0;</div><div class='ctx'> }</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * \}</div><div class='del'>- */</div><div class='head'>diff --git a/common.mk b/common.mk<br/>index 992fb2325e..106e840b2c 100644<br/>--- a/<a href='/ruby.git/tree/common.mk?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>common.mk</a><br/>+++ b/<a href='/ruby.git/tree/common.mk?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>common.mk</a></div><div class='hunk'>@@ -2,92 +2,27 @@ bin: $(PROGRAM) $(WPROGRAM)</div><div class='ctx'> lib: $(LIBRUBY)</div><div class='ctx'> dll: $(LIBRUBY_SO)</div><div class='ctx'> </div><div class='del'>-.SUFFIXES: .inc .h .c .y .i .$(ASMEXT) .$(DTRACE_EXT)</div><div class='del'>-</div><div class='del'>-# V=0 quiet, V=1 verbose.  other values don't work.</div><div class='del'>-V = 0</div><div class='del'>-Q1 = $(V:1=)</div><div class='del'>-Q = $(Q1:0=@)</div><div class='del'>-ECHO0 = $(ECHO1:0=echo)</div><div class='del'>-ECHO = @$(ECHO0)</div><div class='del'>-</div><div class='del'>-mflags = $(MFLAGS)</div><div class='del'>-gnumake_recursive =</div><div class='del'>-enable_shared = $(ENABLE_SHARED:no=)</div><div class='del'>-</div><div class='del'>-UNICODE_VERSION = 11.0.0</div><div class='del'>-UNICODE_EMOJI_VERSION = 11.0</div><div class='del'>-</div><div class='del'>-### set the following environment variable or uncomment the line if</div><div class='del'>-### the Unicode data files should be updated completely on every update ('make up',...).</div><div class='del'>-# ALWAYS_UPDATE_UNICODE = yes</div><div class='del'>-UNICODE_DATA_DIR = enc/unicode/data/$(UNICODE_VERSION)/ucd</div><div class='del'>-UNICODE_SRC_DATA_DIR = $(srcdir)/$(UNICODE_DATA_DIR)</div><div class='del'>-UNICODE_SRC_EMOJI_DATA_DIR = $(srcdir)/enc/unicode/data/emoji/$(UNICODE_EMOJI_VERSION)</div><div class='del'>-UNICODE_HDR_DIR = $(srcdir)/enc/unicode/$(UNICODE_VERSION)</div><div class='del'>-UNICODE_DATA_HEADERS = \</div><div class='del'>-	$(UNICODE_HDR_DIR)/casefold.h \</div><div class='del'>-	$(UNICODE_HDR_DIR)/name2ctype.h \</div><div class='del'>-	$(empty)</div><div class='del'>-</div><div class='del'>-RUBY_RELEASE_DATE = $(RUBY_RELEASE_YEAR)-$(RUBY_RELEASE_MONTH)-$(RUBY_RELEASE_DAY)</div><div class='del'>-RUBYLIB       = $(PATH_SEPARATOR)</div><div class='del'>-RUBYOPT       = -</div><div class='del'>-RUN_OPTS      = --disable-gems</div><div class='del'>-</div><div class='del'>-INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir) -I$(UNICODE_HDR_DIR)</div><div class='del'>-</div><div class='del'>-GEM_HOME =</div><div class='del'>-GEM_PATH =</div><div class='del'>-GEM_VENDOR =</div><div class='del'>-</div><div class='del'>-BENCHMARK_DRIVER_GIT_URL = https://github.com/benchmark-driver/benchmark-driver</div><div class='del'>-BENCHMARK_DRIVER_GIT_REF = v0.14.11</div><div class='del'>-SIMPLECOV_GIT_URL = https://github.com/colszowka/simplecov.git</div><div class='del'>-SIMPLECOV_GIT_REF = v0.15.0</div><div class='del'>-SIMPLECOV_HTML_GIT_URL = https://github.com/colszowka/simplecov-html.git</div><div class='del'>-SIMPLECOV_HTML_GIT_REF = v0.10.2</div><div class='del'>-DOCLIE_GIT_URL = https://github.com/ms-ati/docile.git</div><div class='del'>-DOCLIE_GIT_REF = v1.1.5</div><div class='add'>+RUBYOPT       =</div><div class='ctx'> </div><div class='ctx'> STATIC_RUBY   = static-ruby</div><div class='ctx'> </div><div class='del'>-TIMESTAMPDIR  = $(EXTOUT)/.timestamp</div><div class='ctx'> EXTCONF       = extconf.rb</div><div class='add'>+RBCONFIG      = ./.rbconfig.time</div><div class='ctx'> LIBRUBY_EXTS  = ./.libruby-with-ext.time</div><div class='del'>-REVISION_H    = ./.revision.time</div><div class='del'>-PLATFORM_D    = $(TIMESTAMPDIR)/.$(PLATFORM_DIR).time</div><div class='del'>-ENC_TRANS_D   = $(TIMESTAMPDIR)/.enc-trans.time</div><div class='ctx'> RDOCOUT       = $(EXTOUT)/rdoc</div><div class='del'>-HTMLOUT       = $(EXTOUT)/html</div><div class='del'>-CAPIOUT       = doc/capi</div><div class='del'>-INSTALL_DOC_OPTS = --rdoc-output="$(RDOCOUT)" --html-output="$(HTMLOUT)"</div><div class='ctx'> </div><div class='del'>-INITOBJS      = dmyext.$(OBJEXT) dmyenc.$(OBJEXT)</div><div class='del'>-NORMALMAINOBJ = main.$(OBJEXT)</div><div class='del'>-MAINOBJ       = $(NORMALMAINOBJ)</div><div class='del'>-DLDOBJS	      = $(INITOBJS)</div><div class='del'>-EXTSOLIBS     =</div><div class='del'>-MINIOBJS      = $(ARCHMINIOBJS) miniinit.$(OBJEXT) dmyext.$(OBJEXT) miniprelude.$(OBJEXT)</div><div class='del'>-ENC_MK        = enc.mk</div><div class='del'>-MAKE_ENC      = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \</div><div class='del'>-		RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(mflags)</div><div class='add'>+DMYEXT	      = dmyext.$(OBJEXT)</div><div class='add'>+MAINOBJ	      = main.$(OBJEXT)</div><div class='add'>+EXTOBJS	      = </div><div class='add'>+DLDOBJS	      = $(DMYEXT)</div><div class='ctx'> </div><div class='del'>-COMMONOBJS    = array.$(OBJEXT) \</div><div class='del'>-		ast.$(OBJEXT) \</div><div class='add'>+OBJS	      = array.$(OBJEXT) \</div><div class='ctx'> 		bignum.$(OBJEXT) \</div><div class='ctx'> 		class.$(OBJEXT) \</div><div class='ctx'> 		compar.$(OBJEXT) \</div><div class='del'>-		compile.$(OBJEXT) \</div><div class='del'>-		complex.$(OBJEXT) \</div><div class='del'>-		cont.$(OBJEXT) \</div><div class='del'>-		debug.$(OBJEXT) \</div><div class='del'>-		debug_counter.$(OBJEXT) \</div><div class='ctx'> 		dir.$(OBJEXT) \</div><div class='del'>-		dln_find.$(OBJEXT) \</div><div class='del'>-		encoding.$(OBJEXT) \</div><div class='add'>+		dln.$(OBJEXT) \</div><div class='ctx'> 		enum.$(OBJEXT) \</div><div class='del'>-		enumerator.$(OBJEXT) \</div><div class='ctx'> 		error.$(OBJEXT) \</div><div class='ctx'> 		eval.$(OBJEXT) \</div><div class='ctx'> 		file.$(OBJEXT) \</div><div class='hunk'>@@ -95,3129 +30,414 @@ COMMONOBJS    = array.$(OBJEXT) \</div><div class='ctx'> 		hash.$(OBJEXT) \</div><div class='ctx'> 		inits.$(OBJEXT) \</div><div class='ctx'> 		io.$(OBJEXT) \</div><div class='del'>-		iseq.$(OBJEXT) \</div><div class='del'>-		load.$(OBJEXT) \</div><div class='ctx'> 		marshal.$(OBJEXT) \</div><div class='ctx'> 		math.$(OBJEXT) \</div><div class='del'>-		mjit.$(OBJEXT) \</div><div class='del'>-		mjit_compile.$(OBJEXT) \</div><div class='del'>-		node.$(OBJEXT) \</div><div class='ctx'> 		numeric.$(OBJEXT) \</div><div class='ctx'> 		object.$(OBJEXT) \</div><div class='ctx'> 		pack.$(OBJEXT) \</div><div class='ctx'> 		parse.$(OBJEXT) \</div><div class='del'>-		proc.$(OBJEXT) \</div><div class='ctx'> 		process.$(OBJEXT) \</div><div class='add'>+		prec.$(OBJEXT) \</div><div class='ctx'> 		random.$(OBJEXT) \</div><div class='ctx'> 		range.$(OBJEXT) \</div><div class='del'>-		rational.$(OBJEXT) \</div><div class='ctx'> 		re.$(OBJEXT) \</div><div class='del'>-		regcomp.$(OBJEXT) \</div><div class='del'>-		regenc.$(OBJEXT) \</div><div class='del'>-		regerror.$(OBJEXT) \</div><div class='del'>-		regexec.$(OBJEXT) \</div><div class='del'>-		regparse.$(OBJEXT) \</div><div class='del'>-		regsyntax.$(OBJEXT) \</div><div class='add'>+		regex.$(OBJEXT) \</div><div class='ctx'> 		ruby.$(OBJEXT) \</div><div class='del'>-		safe.$(OBJEXT) \</div><div class='ctx'> 		signal.$(OBJEXT) \</div><div class='ctx'> 		sprintf.$(OBJEXT) \</div><div class='ctx'> 		st.$(OBJEXT) \</div><div class='del'>-		strftime.$(OBJEXT) \</div><div class='ctx'> 		string.$(OBJEXT) \</div><div class='ctx'> 		struct.$(OBJEXT) \</div><div class='del'>-		symbol.$(OBJEXT) \</div><div class='del'>-		thread.$(OBJEXT) \</div><div class='ctx'> 		time.$(OBJEXT) \</div><div class='del'>-		transcode.$(OBJEXT) \</div><div class='del'>-		transient_heap.$(OBJEXT) \</div><div class='ctx'> 		util.$(OBJEXT) \</div><div class='ctx'> 		variable.$(OBJEXT) \</div><div class='ctx'> 		version.$(OBJEXT) \</div><div class='del'>-		vm.$(OBJEXT) \</div><div class='del'>-		vm_backtrace.$(OBJEXT) \</div><div class='del'>-		vm_dump.$(OBJEXT) \</div><div class='del'>-		vm_trace.$(OBJEXT) \</div><div class='del'>-		$(COROUTINE_OBJ) \</div><div class='del'>-		$(DTRACE_OBJ) \</div><div class='del'>-		$(BUILTIN_ENCOBJS) \</div><div class='del'>-		$(BUILTIN_TRANSOBJS) \</div><div class='ctx'> 		$(MISSING)</div><div class='ctx'> </div><div class='del'>-EXPORTOBJS    = $(DLNOBJ) \</div><div class='del'>-		localeinit.$(OBJEXT) \</div><div class='del'>-		loadpath.$(OBJEXT) \</div><div class='del'>-		$(COMMONOBJS)</div><div class='del'>-</div><div class='del'>-OBJS          = $(EXPORTOBJS) prelude.$(OBJEXT)</div><div class='del'>-ALLOBJS       = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS)</div><div class='del'>-</div><div class='del'>-GOLFOBJS      = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)</div><div class='del'>-</div><div class='del'>-DEFAULT_PRELUDES = $(GEM_PRELUDE)</div><div class='del'>-PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(DEFAULT_PRELUDES)</div><div class='del'>-GEM_PRELUDE   = $(srcdir)/gem_prelude.rb</div><div class='del'>-PRELUDES      = {$(srcdir)}prelude.c {$(srcdir)}miniprelude.c</div><div class='del'>-GOLFPRELUDES  = {$(srcdir)}golf_prelude.c</div><div class='del'>-</div><div class='ctx'> SCRIPT_ARGS   =	--dest-dir="$(DESTDIR)" \</div><div class='ctx'> 		--extout="$(EXTOUT)" \</div><div class='add'>+		--make="$(MAKE)" \</div><div class='ctx'> 		--mflags="$(MFLAGS)" \</div><div class='ctx'> 		--make-flags="$(MAKEFLAGS)"</div><div class='del'>-EXTMK_ARGS    =	$(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) \</div><div class='del'>-		--make-flags="V=$(V) MINIRUBY='$(MINIRUBY)'" \</div><div class='del'>-		--gnumake=$(gnumake) --extflags="$(EXTLDFLAGS)" \</div><div class='del'>-		--</div><div class='del'>-INSTRUBY      =	$(SUDO) $(RUNRUBY) -r./$(arch)-fake $(srcdir)/tool/rbinstall.rb</div><div class='del'>-INSTRUBY_ARGS =	$(SCRIPT_ARGS) \</div><div class='del'>-		--data-mode=$(INSTALL_DATA_MODE) \</div><div class='del'>-		--prog-mode=$(INSTALL_PROG_MODE) \</div><div class='del'>-		--installed-list $(INSTALLED_LIST) \</div><div class='del'>-		--mantype="$(MANTYPE)"</div><div class='del'>-INSTALL_PROG_MODE = 0755</div><div class='del'>-INSTALL_DATA_MODE = 0644</div><div class='add'>+EXTMK_ARGS    =	$(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) --</div><div class='add'>+INSTRUBY_ARGS =	$(SCRIPT_ARGS) --installed-list $(INSTALLED_LIST)</div><div class='add'>+</div><div class='add'>+PRE_LIBRUBY_UPDATE = $(MINIRUBY) -e 'ARGV[1] or File.unlink(ARGV[0]) rescue nil' -- \</div><div class='add'>+			$(LIBRUBY_EXTS) $(LIBRUBY_SO_UPDATE)</div><div class='ctx'> </div><div class='ctx'> TESTSDIR      = $(srcdir)/test</div><div class='del'>-TEST_EXCLUDES = --excludes-dir=$(TESTSDIR)/excludes --name=!/memory_leak/</div><div class='del'>-EXCLUDE_TESTFRAMEWORK = --exclude=/testunit/ --exclude=/minitest/</div><div class='ctx'> TESTWORKDIR   = testwork</div><div class='del'>-TESTOPTS      = $(RUBY_TESTOPTS)</div><div class='del'>-</div><div class='del'>-TESTRUN_SCRIPT = $(srcdir)/test.rb</div><div class='del'>-</div><div class='del'>-COMPILE_PRELUDE = $(srcdir)/tool/generic_erb.rb $(srcdir)/template/prelude.c.tmpl</div><div class='del'>-</div><div class='del'>-SHOWFLAGS = showflags</div><div class='del'>-</div><div class='del'>-MAKE_LINK = $(MINIRUBY) -rfileutils -e "include FileUtils::Verbose" \</div><div class='del'>-	  -e "src, dest = ARGV" \</div><div class='del'>-	  -e "exit if File.identical?(src, dest) or cmp(src, dest) rescue nil" \</div><div class='del'>-	  -e "def noraise; yield; rescue; rescue NotImplementedError; end" \</div><div class='del'>-	  -e "noraise {ln_sf('../'*dest.count('/')+src, dest)} or" \</div><div class='del'>-	  -e "noraise {ln(src, dest)} or" \</div><div class='del'>-	  -e "cp(src, dest)"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-all: $(SHOWFLAGS) main docs</div><div class='del'>-</div><div class='del'>-main: $(SHOWFLAGS) exts $(ENCSTATIC:static=lib)encs</div><div class='del'>-	@$(NULLCMD)</div><div class='del'>-</div><div class='del'>-mjit-headers: $(MJIT_SUPPORT)-mjit-headers</div><div class='del'>-no-mjit-headers: PHONY</div><div class='del'>-yes-mjit-headers: mjit_config.h PHONY</div><div class='del'>-</div><div class='del'>-mjit.$(OBJEXT): mjit_config.h</div><div class='del'>-mjit_config.h: Makefile</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# These rules using MJIT_HEADER_SUFFIX must be in common.mk, not</div><div class='del'>-# Makefile.in, in order to override the macro in defs/universal.mk.</div><div class='del'>-</div><div class='del'>-# Other `-Dxxx`s preceding `-DMJIT_HEADER` will be removed in transform_mjit_header.rb.</div><div class='del'>-# So `-DMJIT_HEADER` should be passed first when rb_mjit_header.h is generated.</div><div class='del'>-$(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time: probes.h vm.$(OBJEXT) \</div><div class='del'>-		$(TIMESTAMPDIR)/$(arch)/.time</div><div class='del'>-	$(ECHO) building $(@F:.time=.h)</div><div class='del'>-	$(Q) $(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new</div><div class='del'>-	$(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new</div><div class='del'>-</div><div class='del'>-$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time</div><div class='del'>-</div><div class='del'>-$(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: \</div><div class='del'>-		$(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time \</div><div class='del'>-		$(srcdir)/tool/transform_mjit_header.rb $(PREP) \</div><div class='del'>-		$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h</div><div class='del'>-	$(ECHO) building $@</div><div class='del'>-	$(MINIRUBY) $(srcdir)/tool/transform_mjit_header.rb "$(CC) $(ARCH_FLAG)" $(MJIT_HEADER:.h=)$(MJIT_HEADER_ARCH).h $@</div><div class='del'>-	$(Q) $(MAKEDIRS) $(MJIT_HEADER_INSTALL_DIR)</div><div class='del'>-	$(Q) $(MAKE_LINK) $@ $(MJIT_HEADER_INSTALL_DIR)/$(@F)</div><div class='del'>-</div><div class='del'>-.PHONY: showflags</div><div class='del'>-exts enc trans: $(SHOWFLAGS)</div><div class='del'>-showflags:</div><div class='del'>-	$(MESSAGE_BEGIN) \</div><div class='del'>-	"	BASERUBY = $(BASERUBY)" \</div><div class='del'>-	"	CC = $(CC)" \</div><div class='del'>-	"	LD = $(LD)" \</div><div class='del'>-	"	LDSHARED = $(LDSHARED)" \</div><div class='del'>-	"	CFLAGS = $(CFLAGS)" \</div><div class='del'>-	"	XCFLAGS = $(XCFLAGS)" \</div><div class='del'>-	"	CPPFLAGS = $(CPPFLAGS)" \</div><div class='del'>-	"	DLDFLAGS = $(DLDFLAGS)" \</div><div class='del'>-	"	SOLIBS = $(SOLIBS)" \</div><div class='del'>-	"	LANG = $(LANG)" \</div><div class='del'>-	"	LC_ALL = $(LC_ALL)" \</div><div class='del'>-	"	LC_CTYPE = $(LC_CTYPE)" \</div><div class='del'>-	$(MESSAGE_END)</div><div class='del'>-	-@$(CC_VERSION)</div><div class='ctx'> </div><div class='del'>-.PHONY: showconfig</div><div class='del'>-showconfig:</div><div class='del'>-	@$(ECHO_BEGIN) \</div><div class='del'>-	$(configure_args) \</div><div class='del'>-	$(ECHO_END)</div><div class='add'>+all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY)</div><div class='add'>+	@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS)</div><div class='add'>+prog: $(PROGRAM) $(WPROGRAM)</div><div class='ctx'> </div><div class='del'>-EXTS_NOTE = -f $(EXTS_MK) $(mflags) RUBY="$(MINIRUBY)" top_srcdir="$(srcdir)" note</div><div class='add'>+miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) $(MINIOBJS) $(OBJS) $(DMYEXT)</div><div class='ctx'> </div><div class='del'>-exts: build-ext</div><div class='add'>+$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)</div><div class='ctx'> </div><div class='del'>-EXTS_MK = exts.mk</div><div class='del'>-$(EXTS_MK): ext/configure-ext.mk $(TIMESTAMPDIR)/$(arch)/.time $(srcdir)/template/exts.mk.tmpl</div><div class='del'>-	$(Q)$(MAKE) -f ext/configure-ext.mk $(mflags) V=$(V) EXTSTATIC=$(EXTSTATIC) \</div><div class='del'>-		gnumake=$(gnumake) MINIRUBY="$(MINIRUBY)" \</div><div class='del'>-		EXTLDFLAGS="$(EXTLDFLAGS)" srcdir="$(srcdir)"</div><div class='del'>-	$(ECHO) generating makefile $@</div><div class='del'>-	$(Q)$(MINIRUBY) $(srcdir)/tool/generic_erb.rb -o $@ -c \</div><div class='del'>-	    $(srcdir)/template/exts.mk.tmpl --gnumake=$(gnumake)</div><div class='add'>+$(LIBRUBY_A):	$(OBJS) $(DMYEXT) $(ARCHFILE)</div><div class='ctx'> </div><div class='del'>-ext/configure-ext.mk: $(PREP) all-incs $(MKFILES) $(RBCONFIG) $(LIBRUBY) \</div><div class='del'>-		$(srcdir)/template/configure-ext.mk.tmpl</div><div class='del'>-	$(ECHO) generating makefiles $@</div><div class='del'>-	$(Q)$(MAKEDIRS) $(@D)</div><div class='del'>-	$(Q)$(MINIRUBY) $(srcdir)/tool/generic_erb.rb -o $@ -c \</div><div class='del'>-	    $(srcdir)/template/$(@F).tmpl --srcdir="$(srcdir)" \</div><div class='del'>-	    --miniruby="$(MINIRUBY)" --script-args='$(SCRIPT_ARGS)'</div><div class='del'>-</div><div class='del'>-configure-ext: $(EXTS_MK)</div><div class='del'>-</div><div class='del'>-build-ext: $(EXTS_MK)</div><div class='del'>-	$(Q)$(MAKE) -f $(EXTS_MK) $(mflags) libdir="$(libdir)" LIBRUBY_EXTS=$(LIBRUBY_EXTS) \</div><div class='del'>-	    EXTENCS="$(ENCOBJS)" UPDATE_LIBRARIES=no $(EXTSTATIC)</div><div class='del'>-	$(Q)$(MAKE) $(EXTS_NOTE)</div><div class='del'>-</div><div class='del'>-exts-note: $(EXTS_MK)</div><div class='del'>-	$(Q)$(MAKE) $(EXTS_NOTE)</div><div class='del'>-</div><div class='del'>-ext/extinit.c: $(srcdir)/template/extinit.c.tmpl</div><div class='del'>-	$(Q)$(MINIRUBY) $(srcdir)/tool/generic_erb.rb -o $@ -c \</div><div class='del'>-	    $(srcdir)/template/extinit.c.tmpl $(EXTINITS)</div><div class='del'>-</div><div class='del'>-prog: program wprogram</div><div class='del'>-programs: $(PROGRAM) $(WPROGRAM)</div><div class='del'>-</div><div class='del'>-$(PREP): $(MKFILES)</div><div class='del'>-</div><div class='del'>-miniruby$(EXEEXT): config.status $(ALLOBJS) $(ARCHFILE)</div><div class='del'>-</div><div class='del'>-objs: $(ALLOBJS)</div><div class='del'>-</div><div class='del'>-GORUBY = go$(RUBY_INSTALL_NAME)</div><div class='del'>-GOLF = $(GORUBY)</div><div class='del'>-golf: $(GOLF)</div><div class='del'>-$(GOLF): $(LIBRUBY) $(GOLFOBJS) PHONY</div><div class='del'>-	$(Q) $(MAKE) $(mflags) \</div><div class='del'>-		GOLF=_dummy_golf_target_to_avoid_conflict_just_in_case_ \</div><div class='del'>-		MAINOBJ=goruby.$(OBJEXT) \</div><div class='del'>-		EXTOBJS="golf_prelude.$(OBJEXT) $(EXTOBJS)" \</div><div class='del'>-		PROGRAM=$(GORUBY)$(EXEEXT) \</div><div class='del'>-		V=$(V) \</div><div class='del'>-	program</div><div class='del'>-capi: $(CAPIOUT)/.timestamp PHONY</div><div class='del'>-</div><div class='del'>-$(CAPIOUT)/.timestamp: Doxyfile $(PREP)</div><div class='del'>-	$(Q) $(MAKEDIRS) "$(@D)"</div><div class='del'>-	$(ECHO) generating capi</div><div class='del'>-	-$(Q) $(DOXYGEN) -b</div><div class='del'>-	$(Q) $(MINIRUBY) -e 'File.open(ARGV[0], "w"){'"|f|"' f.puts(Time.now)}' "$@"</div><div class='del'>-</div><div class='del'>-Doxyfile: $(srcdir)/template/Doxyfile.tmpl $(PREP) $(srcdir)/tool/generic_erb.rb $(RBCONFIG)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/tool/generic_erb.rb -o $@ $(srcdir)/template/Doxyfile.tmpl \</div><div class='del'>-	--srcdir="$(srcdir)" --miniruby="$(MINIRUBY)"</div><div class='del'>-</div><div class='del'>-program: $(SHOWFLAGS) $(PROGRAM)</div><div class='del'>-wprogram: $(SHOWFLAGS) $(WPROGRAM)</div><div class='del'>-mini: PHONY miniruby$(EXEEXT)</div><div class='del'>-</div><div class='del'>-$(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)</div><div class='del'>-</div><div class='del'>-$(LIBRUBY_A):	$(LIBRUBY_A_OBJS) $(MAINOBJ) $(INITOBJS) $(ARCHFILE)</div><div class='del'>-</div><div class='del'>-$(LIBRUBY_SO):	$(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(BUILTIN_ENCOBJS)</div><div class='add'>+$(LIBRUBY_SO):	$(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(LIBRUBY_SO_UPDATE)</div><div class='ctx'> </div><div class='ctx'> $(LIBRUBY_EXTS):</div><div class='ctx'> 	@exit &gt; $@</div><div class='ctx'> </div><div class='ctx'> $(STATIC_RUBY)$(EXEEXT): $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A)</div><div class='del'>-	$(Q)$(RM) $@</div><div class='del'>-	$(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDFLAGS)</div><div class='add'>+	@$(RM) $@</div><div class='add'>+	$(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDFLAGS)</div><div class='ctx'> </div><div class='del'>-ruby.imp: $(COMMONOBJS)</div><div class='del'>-	$(Q){ \</div><div class='del'>-	$(NM) -Pgp $(COMMONOBJS) | \</div><div class='del'>-	awk 'BEGIN{print "#!"}; $$2~/^[BDT]$$/&amp;&amp;$$1!~/^$(SYMBOL_PREFIX)(Init_|InitVM_|ruby_static_id_|.*_threadptr_|rb_ec_)|^\./{print $$1}'; \</div><div class='del'>-	($(CHDIR) $(srcdir) &amp;&amp; \</div><div class='del'>-	 exec sed -n '/^MJIT_FUNC_EXPORTED/!d;N;s/.*\n\(rb_[a-zA-Z_0-9]*\).*/$(SYMBOL_PREFIX)\1/p' cont.c gc.c thread*c vm*.c) \</div><div class='del'>-	} | \</div><div class='del'>-	sort -u -o $@</div><div class='add'>+ruby.imp: $(OBJS)</div><div class='add'>+	@$(NM) -Pgp $(OBJS) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@</div><div class='ctx'> </div><div class='del'>-install: install-$(INSTALLDOC)</div><div class='del'>-docs: $(DOCTARGETS)</div><div class='del'>-pkgconfig-data: $(ruby_pc)</div><div class='del'>-$(ruby_pc): $(srcdir)/template/ruby.pc.in config.status</div><div class='del'>-</div><div class='del'>-install-all: docs pre-install-all do-install-all post-install-all</div><div class='del'>-pre-install-all:: all pre-install-local pre-install-ext pre-install-doc</div><div class='del'>-do-install-all: pre-install-all</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=all $(INSTALL_DOC_OPTS)</div><div class='del'>-post-install-all:: post-install-local post-install-ext post-install-doc</div><div class='del'>-	@$(NULLCMD)</div><div class='add'>+install: install-nodoc $(RDOCTARGET)</div><div class='add'>+install-all: install-nodoc install-doc</div><div class='ctx'> </div><div class='ctx'> install-nodoc: pre-install-nodoc do-install-nodoc post-install-nodoc</div><div class='ctx'> pre-install-nodoc:: pre-install-local pre-install-ext</div><div class='del'>-do-install-nodoc: main pre-install-nodoc</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS)</div><div class='add'>+do-install-nodoc: </div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --mantype="$(MANTYPE)"</div><div class='ctx'> post-install-nodoc:: post-install-local post-install-ext</div><div class='ctx'> </div><div class='ctx'> install-local: pre-install-local do-install-local post-install-local</div><div class='ctx'> pre-install-local:: pre-install-bin pre-install-lib pre-install-man</div><div class='del'>-do-install-local: $(PROGRAM) pre-install-local</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=local</div><div class='add'>+do-install-local:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=local --mantype="$(MANTYPE)"</div><div class='ctx'> post-install-local:: post-install-bin post-install-lib post-install-man</div><div class='ctx'> </div><div class='ctx'> install-ext: pre-install-ext do-install-ext post-install-ext</div><div class='ctx'> pre-install-ext:: pre-install-ext-arch pre-install-ext-comm</div><div class='del'>-do-install-ext: exts pre-install-ext</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext</div><div class='add'>+do-install-ext:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext</div><div class='ctx'> post-install-ext:: post-install-ext-arch post-install-ext-comm</div><div class='ctx'> </div><div class='ctx'> install-arch: pre-install-arch do-install-arch post-install-arch</div><div class='ctx'> pre-install-arch:: pre-install-bin pre-install-ext-arch</div><div class='del'>-do-install-arch: main do-install-arch</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=arch</div><div class='add'>+do-install-arch:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=bin --install=ext-arch</div><div class='ctx'> post-install-arch:: post-install-bin post-install-ext-arch</div><div class='ctx'> </div><div class='ctx'> install-comm: pre-install-comm do-install-comm post-install-comm</div><div class='ctx'> pre-install-comm:: pre-install-lib pre-install-ext-comm pre-install-man</div><div class='del'>-do-install-comm: $(PREP) pre-install-comm</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man</div><div class='add'>+do-install-comm:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man</div><div class='ctx'> post-install-comm:: post-install-lib post-install-ext-comm post-install-man</div><div class='ctx'> </div><div class='ctx'> install-bin: pre-install-bin do-install-bin post-install-bin</div><div class='ctx'> pre-install-bin:: install-prereq</div><div class='del'>-do-install-bin: $(PROGRAM) pre-install-bin</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=bin</div><div class='add'>+do-install-bin:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=bin</div><div class='ctx'> post-install-bin::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> install-lib: pre-install-lib do-install-lib post-install-lib</div><div class='ctx'> pre-install-lib:: install-prereq</div><div class='del'>-do-install-lib: $(PREP) pre-install-lib</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib</div><div class='add'>+do-install-lib:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=lib</div><div class='ctx'> post-install-lib::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> install-ext-comm: pre-install-ext-comm do-install-ext-comm post-install-ext-comm</div><div class='ctx'> pre-install-ext-comm:: install-prereq</div><div class='del'>-do-install-ext-comm: exts pre-install-ext-comm</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-comm</div><div class='add'>+do-install-ext-comm:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext-comm</div><div class='ctx'> post-install-ext-comm::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> install-ext-arch: pre-install-ext-arch do-install-ext-arch post-install-ext-arch</div><div class='ctx'> pre-install-ext-arch:: install-prereq</div><div class='del'>-do-install-ext-arch: exts pre-install-ext-arch</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-arch</div><div class='add'>+do-install-ext-arch:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext-arch</div><div class='ctx'> post-install-ext-arch::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> install-man: pre-install-man do-install-man post-install-man</div><div class='ctx'> pre-install-man:: install-prereq</div><div class='del'>-do-install-man: $(PREP) pre-install-man</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=man</div><div class='add'>+do-install-man:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=man --mantype="$(MANTYPE)"</div><div class='ctx'> post-install-man::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='del'>-install-capi: capi pre-install-capi do-install-capi post-install-capi</div><div class='del'>-pre-install-capi:: install-prereq</div><div class='del'>-do-install-capi: $(PREP) pre-install-capi</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=capi</div><div class='del'>-post-install-capi::</div><div class='del'>-	@$(NULLCMD)</div><div class='del'>-</div><div class='ctx'> what-where: no-install</div><div class='del'>-no-install: no-install-$(INSTALLDOC)</div><div class='add'>+no-install: no-install-nodoc no-install-doc</div><div class='ctx'> what-where-all: no-install-all</div><div class='del'>-no-install-all: pre-no-install-all dont-install-all post-no-install-all</div><div class='del'>-pre-no-install-all:: pre-no-install-local pre-no-install-ext pre-no-install-doc</div><div class='del'>-dont-install-all: $(PROGRAM)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=all $(INSTALL_DOC_OPTS)</div><div class='del'>-post-no-install-all:: post-no-install-local post-no-install-ext post-no-install-doc</div><div class='del'>-	@$(NULLCMD)</div><div class='del'>-</div><div class='del'>-uninstall: $(INSTALLED_LIST) sudo-precheck</div><div class='del'>-	$(Q)$(SUDO) $(MINIRUBY) $(srcdir)/tool/rbuninstall.rb --destdir=$(DESTDIR) $(INSTALLED_LIST)</div><div class='del'>-</div><div class='del'>-reinstall: all uninstall install</div><div class='add'>+no-install-all: no-install-nodoc</div><div class='ctx'> </div><div class='ctx'> what-where-nodoc: no-install-nodoc</div><div class='ctx'> no-install-nodoc: pre-no-install-nodoc dont-install-nodoc post-no-install-nodoc</div><div class='ctx'> pre-no-install-nodoc:: pre-no-install-local pre-no-install-ext</div><div class='del'>-dont-install-nodoc:  $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS)</div><div class='add'>+dont-install-nodoc: </div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --mantype="$(MANTYPE)"</div><div class='ctx'> post-no-install-nodoc:: post-no-install-local post-no-install-ext</div><div class='ctx'> </div><div class='ctx'> what-where-local: no-install-local</div><div class='ctx'> no-install-local: pre-no-install-local dont-install-local post-no-install-local</div><div class='ctx'> pre-no-install-local:: pre-no-install-bin pre-no-install-lib pre-no-install-man</div><div class='del'>-dont-install-local: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=local</div><div class='add'>+dont-install-local:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=local --mantype="$(MANTYPE)"</div><div class='ctx'> post-no-install-local:: post-no-install-bin post-no-install-lib post-no-install-man</div><div class='ctx'> </div><div class='ctx'> what-where-ext: no-install-ext</div><div class='ctx'> no-install-ext: pre-no-install-ext dont-install-ext post-no-install-ext</div><div class='ctx'> pre-no-install-ext:: pre-no-install-ext-arch pre-no-install-ext-comm</div><div class='del'>-dont-install-ext: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext</div><div class='add'>+dont-install-ext:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext</div><div class='ctx'> post-no-install-ext:: post-no-install-ext-arch post-no-install-ext-comm</div><div class='ctx'> </div><div class='ctx'> what-where-arch: no-install-arch</div><div class='ctx'> no-install-arch: pre-no-install-arch dont-install-arch post-no-install-arch</div><div class='ctx'> pre-no-install-arch:: pre-no-install-bin pre-no-install-ext-arch</div><div class='del'>-dont-install-arch: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=bin --install=ext-arch</div><div class='add'>+dont-install-arch:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=bin --install=ext-arch</div><div class='ctx'> post-no-install-arch:: post-no-install-lib post-no-install-man post-no-install-ext-arch</div><div class='ctx'> </div><div class='ctx'> what-where-comm: no-install-comm</div><div class='ctx'> no-install-comm: pre-no-install-comm dont-install-comm post-no-install-comm</div><div class='ctx'> pre-no-install-comm:: pre-no-install-lib pre-no-install-ext-comm pre-no-install-man</div><div class='del'>-dont-install-comm: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man</div><div class='add'>+dont-install-comm:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man</div><div class='ctx'> post-no-install-comm:: post-no-install-lib post-no-install-ext-comm post-no-install-man</div><div class='ctx'> </div><div class='ctx'> what-where-bin: no-install-bin</div><div class='ctx'> no-install-bin: pre-no-install-bin dont-install-bin post-no-install-bin</div><div class='ctx'> pre-no-install-bin:: install-prereq</div><div class='del'>-dont-install-bin: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=bin</div><div class='add'>+dont-install-bin:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=bin</div><div class='ctx'> post-no-install-bin::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> what-where-lib: no-install-lib</div><div class='ctx'> no-install-lib: pre-no-install-lib dont-install-lib post-no-install-lib</div><div class='ctx'> pre-no-install-lib:: install-prereq</div><div class='del'>-dont-install-lib: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib</div><div class='add'>+dont-install-lib:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=lib</div><div class='ctx'> post-no-install-lib::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> what-where-ext-comm: no-install-ext-comm</div><div class='ctx'> no-install-ext-comm: pre-no-install-ext-comm dont-install-ext-comm post-no-install-ext-comm</div><div class='ctx'> pre-no-install-ext-comm:: install-prereq</div><div class='del'>-dont-install-ext-comm: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-comm</div><div class='add'>+dont-install-ext-comm:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext-comm</div><div class='ctx'> post-no-install-ext-comm::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> what-where-ext-arch: no-install-ext-arch</div><div class='ctx'> no-install-ext-arch: pre-no-install-ext-arch dont-install-ext-arch post-no-install-ext-arch</div><div class='ctx'> pre-no-install-ext-arch:: install-prereq</div><div class='del'>-dont-install-ext-arch: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-arch</div><div class='add'>+dont-install-ext-arch:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext-arch</div><div class='ctx'> post-no-install-ext-arch::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> what-where-man: no-install-man</div><div class='ctx'> no-install-man: pre-no-install-man dont-install-man post-no-install-man</div><div class='ctx'> pre-no-install-man:: install-prereq</div><div class='del'>-dont-install-man: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=man</div><div class='add'>+dont-install-man:</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=man --mantype="$(MANTYPE)"</div><div class='ctx'> post-no-install-man::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='ctx'> install-doc: rdoc pre-install-doc do-install-doc post-install-doc</div><div class='ctx'> pre-install-doc:: install-prereq</div><div class='del'>-do-install-doc: $(PROGRAM) pre-install-doc</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=rdoc $(INSTALL_DOC_OPTS)</div><div class='add'>+do-install-doc: $(PROGRAM)</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=rdoc --rdoc-output="$(RDOCOUT)"</div><div class='ctx'> post-install-doc::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='del'>-install-gem: pre-install-gem do-install-gem post-install-gem</div><div class='del'>-pre-install-gem:: pre-install-bin pre-install-lib pre-install-man</div><div class='del'>-do-install-gem: $(PROGRAM) pre-install-gem</div><div class='del'>-	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=gem</div><div class='del'>-post-install-gem::</div><div class='del'>-	@$(NULLCMD)</div><div class='del'>-</div><div class='del'>-rdoc: PHONY main</div><div class='add'>+rdoc: $(PROGRAM) PHONY</div><div class='ctx'> 	@echo Generating RDoc documentation</div><div class='del'>-	$(Q) $(XRUBY) "$(srcdir)/libexec/rdoc" --root "$(srcdir)" --page-dir "$(srcdir)/doc" --encoding=UTF-8 --no-force-update --all --ri --op "$(RDOCOUT)" $(RDOCFLAGS) "$(srcdir)"</div><div class='del'>-</div><div class='del'>-html: PHONY main</div><div class='del'>-	@echo Generating RDoc HTML files</div><div class='del'>-	$(Q) $(XRUBY) "$(srcdir)/libexec/rdoc" --root "$(srcdir)" --page-dir "$(srcdir)/doc" --encoding=UTF-8 --no-force-update --all --op "$(HTMLOUT)" $(RDOCFLAGS) "$(srcdir)"</div><div class='del'>-</div><div class='del'>-rdoc-coverage: PHONY main</div><div class='del'>-	@echo Generating RDoc coverage report</div><div class='del'>-	$(Q) $(XRUBY) "$(srcdir)/libexec/rdoc" --root "$(srcdir)" --encoding=UTF-8 --all --quiet -C $(RDOCFLAGS) "$(srcdir)"</div><div class='del'>-</div><div class='del'>-RDOCBENCHOUT=/tmp/rdocbench</div><div class='del'>-</div><div class='del'>-GCBENCH_ITEM=null</div><div class='del'>-</div><div class='del'>-gcbench: PHONY</div><div class='del'>-	$(Q) $(XRUBY) "$(srcdir)/benchmark/gc/gcbench.rb" $(GCBENCH_ITEM)</div><div class='del'>-</div><div class='del'>-gcbench-rdoc: PHONY</div><div class='del'>-	$(Q) $(XRUBY) "$(srcdir)/benchmark/gc/gcbench.rb" rdoc</div><div class='del'>-</div><div class='del'>-nodoc: PHONY</div><div class='add'>+	$(RUNRUBY) "$(srcdir)/bin/rdoc" --all --ri --op "$(RDOCOUT)" "$(srcdir)"</div><div class='ctx'> </div><div class='ctx'> what-where-doc: no-install-doc</div><div class='ctx'> no-install-doc: pre-no-install-doc dont-install-doc post-no-install-doc</div><div class='ctx'> pre-no-install-doc:: install-prereq</div><div class='del'>-dont-install-doc:: $(PREP)</div><div class='del'>-	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=rdoc $(INSTALL_DOC_OPTS)</div><div class='add'>+dont-install-doc::</div><div class='add'>+	$(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=rdoc --rdoc-output="$(RDOCOUT)"</div><div class='ctx'> post-no-install-doc::</div><div class='ctx'> 	@$(NULLCMD)</div><div class='ctx'> </div><div class='del'>-CLEAR_INSTALLED_LIST = clear-installed-list</div><div class='del'>-</div><div class='del'>-install-prereq: $(CLEAR_INSTALLED_LIST) yes-fake sudo-precheck PHONY</div><div class='del'>-</div><div class='del'>-clear-installed-list: PHONY</div><div class='del'>-	@&gt; $(INSTALLED_LIST) set MAKE="$(MAKE)"</div><div class='add'>+install-prereq:</div><div class='add'>+	@exit &gt; $(INSTALLED_LIST)</div><div class='ctx'> </div><div class='del'>-clean: clean-ext clean-enc clean-golf clean-docs clean-extout clean-local clean-platform clean-spec</div><div class='del'>-clean-local:: clean-runnable</div><div class='del'>-	$(Q)$(RM) $(OBJS) $(MINIOBJS) $(MAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES)</div><div class='del'>-	$(Q)$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) dmyenc.$(OBJEXT) $(ARCHFILE) .*.time</div><div class='del'>-	$(Q)$(RM) y.tab.c y.output encdb.h transdb.h config.log rbconfig.rb $(ruby_pc)</div><div class='del'>-	$(Q)$(RM) probes.h probes.$(OBJEXT) probes.stamp ruby-glommed.$(OBJEXT) ruby.imp</div><div class='del'>-	$(Q)$(RM) GNUmakefile.old Makefile.old $(arch)-fake.rb bisect.sh $(ENC_TRANS_D)</div><div class='del'>-	-$(Q) $(RMDIR) enc/jis enc/trans enc 2&gt; $(NULL) || exit 0</div><div class='del'>-clean-runnable:: PHONY</div><div class='del'>-	$(Q)$(CHDIR) bin 2&gt;$(NULL) &amp;&amp; $(RM) $(PROGRAM) $(WPROGRAM) $(GORUBY)$(EXEEXT) bin/*.$(DLEXT) 2&gt;$(NULL) || exit 0</div><div class='del'>-	$(Q)$(CHDIR) lib 2&gt;$(NULL) &amp;&amp; $(RM) $(LIBRUBY_A) $(LIBRUBY) $(LIBRUBY_ALIASES) $(RUBY_BASE_NAME)/$(RUBY_PROGRAM_VERSION) $(RUBY_BASE_NAME)/vendor_ruby 2&gt;$(NULL) || exit 0</div><div class='del'>-	$(Q)$(RMDIR) lib/$(RUBY_BASE_NAME) lib bin 2&gt;$(NULL) || exit 0</div><div class='del'>-clean-ext:: PHONY</div><div class='del'>-clean-golf: PHONY</div><div class='del'>-	$(Q)$(RM) $(GORUBY)$(EXEEXT) $(GOLFOBJS)</div><div class='del'>-clean-rdoc: PHONY</div><div class='del'>-clean-html: PHONY</div><div class='del'>-clean-capi: PHONY</div><div class='del'>-clean-platform: PHONY</div><div class='del'>-clean-extout: PHONY</div><div class='del'>-	-$(Q)$(RMDIR) $(EXTOUT)/$(arch) $(EXTOUT) 2&gt; $(NULL) || exit 0</div><div class='del'>-clean-docs: clean-rdoc clean-html clean-capi</div><div class='del'>-clean-spec: PHONY</div><div class='del'>-clean-rubyspec: clean-spec</div><div class='add'>+clean: clean-ext clean-local</div><div class='add'>+clean-local::</div><div class='add'>+	@$(RM) $(OBJS) $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES)</div><div class='add'>+	@$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) $(ARCHFILE) .*.time</div><div class='add'>+clean-ext:</div><div class='add'>+	@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) clean</div><div class='ctx'> </div><div class='del'>-distclean: distclean-ext distclean-enc distclean-golf distclean-docs distclean-extout distclean-local distclean-platform distclean-spec</div><div class='add'>+distclean: distclean-ext distclean-local</div><div class='ctx'> distclean-local:: clean-local</div><div class='del'>-	$(Q)$(RM) $(MKFILES) yasmdata.rb *.inc $(PRELUDES)</div><div class='del'>-	$(Q)$(RM) config.cache config.status config.status.lineno</div><div class='del'>-	$(Q)$(RM) *~ *.bak *.stackdump core *.core gmon.out $(PREP)</div><div class='del'>-	-$(Q)$(RMALL) $(srcdir)/autom4te.cache</div><div class='del'>-distclean-ext:: PHONY</div><div class='del'>-distclean-golf: clean-golf</div><div class='del'>-distclean-rdoc: clean-rdoc</div><div class='del'>-distclean-html: clean-html</div><div class='del'>-distclean-capi: clean-capi</div><div class='del'>-distclean-docs: clean-docs</div><div class='del'>-distclean-extout: clean-extout</div><div class='del'>-distclean-platform: clean-platform</div><div class='del'>-distclean-spec: clean-spec</div><div class='del'>-distclean-rubyspec: distclean-spec</div><div class='del'>-</div><div class='del'>-realclean:: realclean-ext realclean-local realclean-enc realclean-golf realclean-extout</div><div class='del'>-realclean-local:: distclean-local realclean-srcs-local</div><div class='del'>-</div><div class='del'>-clean-srcs:: clean-srcs-local clean-srcs-ext</div><div class='del'>-realclean-srcs:: realclean-srcs-local realclean-srcs-ext</div><div class='del'>-</div><div class='del'>-clean-srcs-local::</div><div class='del'>-	$(Q)$(RM) parse.c parse.h lex.c enc/trans/newline.c revision.h</div><div class='del'>-	$(Q)$(RM) id.c id.h probes.dmyh probes.h</div><div class='del'>-	$(Q)$(RM) encdb.h transdb.h verconf.h ruby-runner.h</div><div class='del'>-	$(Q)$(RM) mjit_config.h rb_mjit_header.h</div><div class='del'>-	$(Q)$(RM) $(MJIT_MIN_HEADER) $(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h</div><div class='del'>-</div><div class='del'>-realclean-srcs-local:: clean-srcs-local</div><div class='del'>-	$(Q)$(CHDIR) $(srcdir) &amp;&amp; $(exec) $(RM) parse.c parse.h lex.c enc/trans/newline.c $(PRELUDES) revision.h</div><div class='del'>-	$(Q)$(CHDIR) $(srcdir) &amp;&amp; $(exec) $(RM) id.c id.h probes.dmyh</div><div class='del'>-	$(Q)$(CHDIR) $(srcdir) &amp;&amp; $(exec) $(RM) configure aclocal.m4 tool/config.guess tool/config.sub gems/*.gem</div><div class='del'>-</div><div class='del'>-clean-srcs-ext::</div><div class='del'>-realclean-srcs-ext:: clean-srcs-ext</div><div class='del'>-</div><div class='del'>-realclean-ext:: PHONY</div><div class='del'>-realclean-golf: distclean-golf</div><div class='del'>-	$(Q)$(RM) $(GOLFPRELUDES)</div><div class='del'>-realclean-rdoc: distclean-rdoc</div><div class='del'>-realclean-html: distclean-html</div><div class='del'>-realclean-capi: distclean-capi</div><div class='del'>-realclean-docs: distclean-docs</div><div class='del'>-realclean-extout: distclean-extout</div><div class='del'>-realclean-platform: distclean-platform</div><div class='del'>-realclean-spec: distclean-spec</div><div class='del'>-realclean-rubyspec: realclean-spec</div><div class='del'>-</div><div class='del'>-clean-ext:: ext/clean gems/clean timestamp/clean</div><div class='del'>-distclean-ext:: ext/distclean gems/distclean timestamp/distclean</div><div class='del'>-realclean-ext:: ext/realclean gems/realclean timestamp/realclean</div><div class='del'>-</div><div class='del'>-ext/clean.mk ext/distclean.mk ext/realclean.mk::</div><div class='del'>-ext/clean gems/clean:: ext/clean.mk</div><div class='del'>-ext/distclean gems/distclean:: ext/distclean.mk</div><div class='del'>-ext/realclean gems/realclean:: ext/realclean.mk</div><div class='del'>-</div><div class='del'>-timestamp/clean:: ext/clean gems/clean</div><div class='del'>-timestamp/distclean:: ext/distclean gems/distclean</div><div class='del'>-timestamp/realclean:: ext/realclean gems/realclean</div><div class='del'>-</div><div class='del'>-timestamp/clean timestamp/distclean timestamp/realclean::</div><div class='del'>-	$(Q)$(RM) $(TIMESTAMPDIR)/.*.time $(TIMESTAMPDIR)/$(arch)/.time</div><div class='del'>-	$(Q)$(RMDIRS) $(TIMESTAMPDIR)/$(arch) 2&gt; $(NULL) || exit 0</div><div class='del'>-</div><div class='del'>-clean-ext::</div><div class='del'>-	-$(Q)$(RM) ext/extinit.$(OBJEXT)</div><div class='del'>-</div><div class='del'>-distclean-ext realclean-ext::</div><div class='del'>-	-$(Q)$(RM) $(EXTS_MK) ext/extinit.* ext/configure-ext.mk</div><div class='del'>-	-$(Q)$(RMDIR) ext 2&gt; $(NULL) || exit 0</div><div class='del'>-</div><div class='del'>-clean-enc distclean-enc realclean-enc: PHONY</div><div class='del'>-</div><div class='del'>-clean-enc: clean-enc.d</div><div class='del'>-</div><div class='del'>-clean-enc.d: PHONY</div><div class='del'>-	$(Q)$(RM) $(ENC_TRANS_D)</div><div class='del'>-	-$(Q) $(RMDIR) enc/jis enc/trans enc 2&gt; $(NULL) || exit 0</div><div class='del'>-</div><div class='del'>-clean-rdoc distclean-rdoc realclean-rdoc:</div><div class='del'>-	@echo $(@:-rdoc=ing) rdoc</div><div class='del'>-	$(Q)$(RMALL) $(RDOCOUT)</div><div class='del'>-</div><div class='del'>-clean-html distclean-html realclean-html:</div><div class='del'>-	@echo $(@:-html=ing) HTML</div><div class='del'>-	$(Q)$(RMALL) $(HTMLOUT)</div><div class='del'>-</div><div class='del'>-clean-capi distclean-capi realclean-capi:</div><div class='del'>-	@echo $(@:-capi=ing) capi</div><div class='del'>-	$(Q)$(RMALL) $(CAPIOUT)</div><div class='del'>-</div><div class='del'>-clean-platform:</div><div class='del'>-	$(Q) $(RM) $(PLATFORM_D)</div><div class='del'>-	-$(Q) $(RMDIR) $(PLATFORM_DIR) 2&gt; $(NULL) || exit 0</div><div class='del'>-</div><div class='del'>-RUBYSPEC_CAPIEXT = spec/ruby/optional/capi/ext</div><div class='del'>-clean-spec: PHONY</div><div class='del'>-	-$(Q) $(RM) $(RUBYSPEC_CAPIEXT)/*.$(OBJEXT) $(RUBYSPEC_CAPIEXT)/*.$(DLEXT)</div><div class='del'>-	-$(Q) $(RMDIRS) $(RUBYSPEC_CAPIEXT) 2&gt; $(NULL) || exit 0</div><div class='del'>-</div><div class='del'>-check: main test test-testframework test-almost test-spec</div><div class='del'>-	$(ECHO) check succeeded</div><div class='del'>-check-ruby: test test-ruby</div><div class='del'>-</div><div class='del'>-fake: $(CROSS_COMPILING)-fake</div><div class='del'>-yes-fake: $(arch)-fake.rb $(RBCONFIG) PHONY</div><div class='del'>-no-fake -fake: PHONY</div><div class='del'>-</div><div class='del'>-# really doesn't depend on .o, just ensure newer than headers which</div><div class='del'>-# version.o depends on.</div><div class='del'>-$(arch)-fake.rb: $(srcdir)/template/fake.rb.in $(srcdir)/tool/generic_erb.rb version.$(OBJEXT) miniruby$(EXEEXT)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) "$(srcdir)/version.c" | \</div><div class='del'>-	$(BOOTSTRAPRUBY) "$(srcdir)/tool/generic_erb.rb" -o $@ "$(srcdir)/template/fake.rb.in" \</div><div class='del'>-		i=- srcdir="$(srcdir)" BASERUBY="$(BASERUBY)"</div><div class='del'>-</div><div class='del'>-btest: $(TEST_RUNNABLE)-btest</div><div class='del'>-no-btest: PHONY</div><div class='del'>-yes-btest: fake miniruby$(EXEEXT) PHONY</div><div class='del'>-	$(Q)$(exec) $(BOOTSTRAPRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(BTESTRUBY) $(RUN_OPTS)" $(OPTS) $(TESTOPTS) $(BTESTS)</div><div class='del'>-</div><div class='del'>-btest-ruby: $(TEST_RUNNABLE)-btest-ruby</div><div class='del'>-no-btest-ruby: PHONY</div><div class='del'>-yes-btest-ruby: prog PHONY</div><div class='del'>-	$(Q)$(exec) $(RUNRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(PROGRAM) -I$(srcdir)/lib $(RUN_OPTS)" -q $(OPTS) $(TESTOPTS) $(BTESTS)</div><div class='add'>+	@$(RM) $(MKFILES) config.h rbconfig.rb</div><div class='add'>+	@$(RM) config.cache config.log config.status</div><div class='add'>+	@$(RM) *~ *.bak *.stackdump core *.core gmon.out y.tab.c y.output $(PREP)</div><div class='add'>+distclean-ext:</div><div class='add'>+	@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) distclean</div><div class='ctx'> </div><div class='del'>-test-basic: $(TEST_RUNNABLE)-test-basic</div><div class='del'>-no-test-basic: PHONY</div><div class='del'>-yes-test-basic: prog PHONY</div><div class='del'>-	$(Q)$(exec) $(RUNRUBY) "$(srcdir)/basictest/runner.rb" --run-opt=$(RUN_OPTS) $(OPTS) $(TESTOPTS)</div><div class='add'>+realclean:: distclean</div><div class='add'>+	@$(RM) parse.c lex.c</div><div class='ctx'> </div><div class='del'>-test-knownbugs: test-knownbug</div><div class='del'>-test-knownbug: $(TEST_RUNNABLE)-test-knownbug</div><div class='del'>-no-test-knownbug: PHONY</div><div class='del'>-yes-test-knownbug: prog PHONY</div><div class='del'>-	-$(exec) $(RUNRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(PROGRAM) $(RUN_OPTS)" $(OPTS) $(TESTOPTS) $(srcdir)/KNOWNBUGS.rb</div><div class='add'>+check: test test-all</div><div class='ctx'> </div><div class='del'>-test-testframework: $(TEST_RUNNABLE)-test-testframework</div><div class='del'>-yes-test-testframework: prog PHONY</div><div class='del'>-	$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(srcdir)/test/runner.rb" --ruby="$(RUNRUBY)" $(TESTOPTS) testunit minitest</div><div class='del'>-no-test-testframework: PHONY</div><div class='add'>+test: miniruby$(EXEEXT) $(RBCONFIG) $(PROGRAM) PHONY</div><div class='add'>+	@$(MINIRUBY) $(srcdir)/rubytest.rb</div><div class='ctx'> </div><div class='del'>-test-sample: test-basic # backward compatibility for mswin-build</div><div class='del'>-test-short: btest-ruby test-knownbug test-basic</div><div class='del'>-test: test-short</div><div class='add'>+test-all:</div><div class='add'>+	$(RUNRUBY) "$(srcdir)/test/runner.rb" --basedir="$(TESTSDIR)" --runner=$(TESTUI) $(TESTS)</div><div class='ctx'> </div><div class='del'>-# $ make test-all TESTOPTS="--help" displays more detail</div><div class='del'>-# for example, make test-all TESTOPTS="-j2 -v -n test-name -- test-file-name"</div><div class='del'>-test-all: $(TEST_RUNNABLE)-test-all</div><div class='del'>-yes-test-all: programs PHONY</div><div class='del'>-	$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(srcdir)/test/runner.rb" --ruby="$(RUNRUBY)" $(TEST_EXCLUDES) $(TESTOPTS) $(TESTS)</div><div class='del'>-TESTS_BUILD = mkmf</div><div class='del'>-no-test-all: PHONY</div><div class='del'>-	$(gnumake_recursive)$(MINIRUBY) -I"$(srcdir)/lib" "$(srcdir)/test/runner.rb" $(TESTOPTS) $(TESTS_BUILD)</div><div class='del'>-</div><div class='del'>-test-almost: $(TEST_RUNNABLE)-test-almost</div><div class='del'>-yes-test-almost: prog PHONY</div><div class='del'>-	$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(srcdir)/test/runner.rb" --ruby="$(RUNRUBY)" $(TEST_EXCLUDES) $(TESTOPTS) $(EXCLUDE_TESTFRAMEWORK) $(TESTS)</div><div class='del'>-no-test-almost: PHONY</div><div class='del'>-</div><div class='del'>-test-ruby: $(TEST_RUNNABLE)-test-ruby</div><div class='del'>-no-test-ruby: PHONY</div><div class='del'>-yes-test-ruby: prog encs PHONY</div><div class='del'>-	$(gnumake_recursive)$(RUNRUBY) "$(srcdir)/test/runner.rb" $(TEST_EXCLUDES) $(TESTOPTS) -- ruby -ext-</div><div class='del'>-</div><div class='del'>-extconf: $(PREP)</div><div class='del'>-	$(Q) $(MAKEDIRS) "$(EXTCONFDIR)"</div><div class='add'>+extconf:</div><div class='add'>+	$(MINIRUBY) -I$(srcdir)/lib -run -e mkdir -- -p "$(EXTCONFDIR)"</div><div class='ctx'> 	$(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS)</div><div class='ctx'> </div><div class='del'>-$(RBCONFIG): $(srcdir)/tool/mkconfig.rb config.status $(srcdir)/version.h</div><div class='del'>-	$(Q)$(BOOTSTRAPRUBY) -n \</div><div class='del'>-	-e 'BEGIN{version=ARGV.shift;mis=ARGV.dup}' \</div><div class='del'>-	-e 'END{abort "UNICODE version mismatch: #{mis}" unless mis.empty?}' \</div><div class='del'>-	-e '(mis.delete(ARGF.path); ARGF.close) if /ONIG_UNICODE_VERSION_STRING +"#{Regexp.quote(version)}"/o' \</div><div class='del'>-	$(UNICODE_VERSION) $(UNICODE_DATA_HEADERS)</div><div class='del'>-	$(Q)$(BOOTSTRAPRUBY) $(srcdir)/tool/mkconfig.rb \</div><div class='del'>-		-arch=$(arch) -version=$(RUBY_PROGRAM_VERSION) \</div><div class='add'>+$(RBCONFIG): $(srcdir)/mkconfig.rb config.status $(PREP)</div><div class='add'>+	@$(MINIRUBY) $(srcdir)/mkconfig.rb -timestamp=$@ \</div><div class='ctx'> 		-install_name=$(RUBY_INSTALL_NAME) \</div><div class='del'>-		-so_name=$(RUBY_SO_NAME) \</div><div class='del'>-		-unicode_version=$(UNICODE_VERSION) \</div><div class='del'>-		-unicode_emoji_version=$(UNICODE_EMOJI_VERSION) \</div><div class='del'>-	&gt; rbconfig.tmp</div><div class='del'>-	$(IFCHANGE) "--timestamp=$@" rbconfig.rb rbconfig.tmp</div><div class='del'>-</div><div class='del'>-test-rubyspec: test-spec</div><div class='del'>-yes-test-rubyspec: yes-test-spec</div><div class='del'>-</div><div class='del'>-test-spec-precheck: $(arch)-fake.rb programs</div><div class='del'>-</div><div class='del'>-test-spec: $(TEST_RUNNABLE)-test-spec</div><div class='del'>-yes-test-spec: test-spec-precheck</div><div class='del'>-	$(gnumake_recursive)$(Q) \</div><div class='del'>-	$(RUNRUBY) -r./$(arch)-fake $(srcdir)/spec/mspec/bin/mspec run -B $(srcdir)/spec/default.mspec $(MSPECOPT) $(SPECOPTS)</div><div class='del'>-no-test-spec:</div><div class='del'>-</div><div class='del'>-RUNNABLE = $(LIBRUBY_RELATIVE:no=un)-runnable</div><div class='del'>-runnable: $(RUNNABLE) prog $(srcdir)/tool/mkrunnable.rb PHONY</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/tool/mkrunnable.rb -v $(EXTOUT)</div><div class='del'>-yes-runnable: PHONY</div><div class='del'>-</div><div class='del'>-encs: enc trans</div><div class='del'>-libencs: libenc libtrans</div><div class='del'>-encs enc trans libencs libenc libtrans: $(SHOWFLAGS) $(ENC_MK) $(LIBRUBY) $(PREP) PHONY</div><div class='del'>-	$(ECHO) making $@</div><div class='del'>-	$(Q) $(MAKE) $(MAKE_ENC) $@</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-libenc enc: {$(VPATH)}encdb.h</div><div class='del'>-libtrans trans: {$(VPATH)}transdb.h</div><div class='del'>-</div><div class='del'>-# Use MINIRUBY which loads fake.rb for cross compiling</div><div class='del'>-$(ENC_MK): $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \</div><div class='del'>-	$(srcdir)/enc/encinit.c.erb $(srcdir)/lib/mkmf.rb $(RBCONFIG) fake</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/enc/make_encmake.rb --builtin-encs="$(BUILTIN_ENCOBJS)" --builtin-transes="$(BUILTIN_TRANSOBJS)" --module$(ENCSTATIC) $(ENCS) $@</div><div class='add'>+		-so_name=$(RUBY_SO_NAME) rbconfig.rb</div><div class='ctx'> </div><div class='ctx'> .PRECIOUS: $(MKFILES)</div><div class='ctx'> </div><div class='del'>-.PHONY: PHONY all fake prereq incs srcs preludes help</div><div class='del'>-.PHONY: test install install-nodoc install-doc dist</div><div class='del'>-.PHONY: loadpath golf capi rdoc install-prereq clear-installed-list</div><div class='del'>-.PHONY: clean clean-ext clean-local clean-enc clean-golf clean-rdoc clean-html clean-extout</div><div class='del'>-.PHONY: distclean distclean-ext distclean-local distclean-enc distclean-golf distclean-extout</div><div class='del'>-.PHONY: realclean realclean-ext realclean-local realclean-enc realclean-golf realclean-extout</div><div class='del'>-.PHONY: exam check test test-short test-all btest btest-ruby test-basic test-knownbug</div><div class='del'>-.PHONY: run runruby parse benchmark gdb gdb-ruby</div><div class='del'>-.PHONY: update-mspec update-rubyspec test-rubyspec test-spec</div><div class='del'>-.PHONY: touch-unicode-files</div><div class='add'>+.PHONY: test install install-nodoc install-doc</div><div class='ctx'> </div><div class='ctx'> PHONY:</div><div class='ctx'> </div><div class='del'>-{$(VPATH)}parse.c: {$(VPATH)}parse.y $(srcdir)/tool/ytab.sed {$(VPATH)}id.h</div><div class='del'>-{$(VPATH)}parse.h: {$(VPATH)}parse.c</div><div class='del'>-</div><div class='del'>-{$(srcdir)}.y.c:</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q)$(BASERUBY) $(srcdir)/tool/id2token.rb --path-separator=.$(PATH_SEPARATOR)./ --vpath=$(VPATH) id.h $(SRC_FILE) &gt; parse.tmp.y</div><div class='del'>-	$(Q)$(YACC) -d $(YFLAGS) -o y.tab.c parse.tmp.y</div><div class='del'>-	$(Q)$(RM) parse.tmp.y</div><div class='del'>-	$(Q)sed -f $(srcdir)/tool/ytab.sed -e "/^#/s|parse\.tmp\.[iy]|$(SRC_FILE)|" -e "/^#/s!y\.tab\.c!$@!" y.tab.c &gt; $@.new</div><div class='del'>-	$(Q)$(MV) $@.new $@</div><div class='del'>-	$(Q)sed -e "/^#line.*y\.tab\.h/d;/^#line.*parse.*\.y/d" y.tab.h &gt; $(@:.c=.h)</div><div class='del'>-	$(Q)$(RM) y.tab.c y.tab.h</div><div class='del'>-</div><div class='del'>-$(PLATFORM_D):</div><div class='del'>-	$(Q) $(MAKEDIRS) $(PLATFORM_DIR) $(@D)</div><div class='del'>-	@exit &gt; $@</div><div class='del'>-</div><div class='del'>-exe/$(PROGRAM): ruby-runner.c ruby-runner.h exe/.time miniruby$(EXEEXT) {$(VPATH)}config.h</div><div class='del'>-	$(Q) $(CC) $(CFLAGS) $(CPPFLAGS) -DRUBY_INSTALL_NAME=$(@F) $(COUTFLAG)ruby-runner.$(OBJEXT) -c $(CSRCFLAG)$(srcdir)/ruby-runner.c</div><div class='del'>-	$(Q) $(PURIFY) $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(OUTFLAG)$@ ruby-runner.$(OBJEXT) $(LIBS)</div><div class='del'>-	$(Q) $(POSTLINK)</div><div class='del'>-	$(Q) ./miniruby$(EXEEXT) \</div><div class='del'>-	    -e 'prog, dest = ARGV; dest += "/ruby"' \</div><div class='del'>-	    -e 'unless prog=="ruby"' \</div><div class='del'>-	    -e '  begin File.unlink(dest); rescue Errno::ENOENT; end' \</div><div class='del'>-	    -e '  File.symlink(prog, dest)' \</div><div class='del'>-	    -e 'end' \</div><div class='del'>-	$(@F) $(@D)</div><div class='del'>-</div><div class='del'>-exe/.time:</div><div class='del'>-	$(Q) $(MAKEDIRS) $(@D)</div><div class='del'>-	@exit &gt; $@</div><div class='del'>-</div><div class='del'>-$(BUILTIN_ENCOBJS) $(BUILTIN_TRANSOBJS): $(ENC_TRANS_D)</div><div class='del'>-</div><div class='del'>-$(ENC_TRANS_D):</div><div class='del'>-	$(Q) $(MAKEDIRS) enc/trans $(@D)</div><div class='del'>-	@exit &gt; $@</div><div class='del'>-</div><div class='del'>-$(TIMESTAMPDIR)/$(arch)/.time:</div><div class='del'>-	$(Q)$(MAKEDIRS) $(@D) $(EXTOUT)/$(arch)</div><div class='del'>-	@exit &gt; $@</div><div class='del'>-</div><div class='del'>-###</div><div class='del'>-CCAN_DIR = {$(VPATH)}ccan</div><div class='del'>-</div><div class='del'>-RUBY_H_INCLUDES    = {$(VPATH)}ruby.h {$(VPATH)}config.h {$(VPATH)}defines.h \</div><div class='del'>-		     {$(VPATH)}intern.h {$(VPATH)}missing.h {$(VPATH)}st.h \</div><div class='del'>-		     {$(VPATH)}subst.h</div><div class='del'>-</div><div class='del'>-###</div><div class='add'>+{$(VPATH)}parse.c: parse.y</div><div class='ctx'> </div><div class='ctx'> acosh.$(OBJEXT): {$(VPATH)}acosh.c</div><div class='del'>-alloca.$(OBJEXT): {$(VPATH)}alloca.c {$(VPATH)}config.h</div><div class='del'>-crypt.$(OBJEXT): {$(VPATH)}crypt.c {$(VPATH)}crypt.h {$(VPATH)}missing/des_tables.c</div><div class='add'>+alloca.$(OBJEXT): {$(VPATH)}alloca.c</div><div class='add'>+crypt.$(OBJEXT): {$(VPATH)}crypt.c</div><div class='ctx'> dup2.$(OBJEXT): {$(VPATH)}dup2.c</div><div class='ctx'> erf.$(OBJEXT): {$(VPATH)}erf.c</div><div class='del'>-explicit_bzero.$(OBJEXT): {$(VPATH)}explicit_bzero.c</div><div class='ctx'> finite.$(OBJEXT): {$(VPATH)}finite.c</div><div class='ctx'> flock.$(OBJEXT): {$(VPATH)}flock.c</div><div class='ctx'> memcmp.$(OBJEXT): {$(VPATH)}memcmp.c</div><div class='ctx'> memmove.$(OBJEXT): {$(VPATH)}memmove.c</div><div class='ctx'> mkdir.$(OBJEXT): {$(VPATH)}mkdir.c</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}setproctitle.c</div><div class='add'>+vsnprintf.$(OBJEXT): {$(VPATH)}vsnprintf.c</div><div class='add'>+strcasecmp.$(OBJEXT): {$(VPATH)}strcasecmp.c</div><div class='add'>+strncasecmp.$(OBJEXT): {$(VPATH)}strncasecmp.c</div><div class='ctx'> strchr.$(OBJEXT): {$(VPATH)}strchr.c</div><div class='ctx'> strdup.$(OBJEXT): {$(VPATH)}strdup.c</div><div class='ctx'> strerror.$(OBJEXT): {$(VPATH)}strerror.c</div><div class='del'>-strlcat.$(OBJEXT): {$(VPATH)}strlcat.c</div><div class='del'>-strlcpy.$(OBJEXT): {$(VPATH)}strlcpy.c</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}strftime.c</div><div class='ctx'> strstr.$(OBJEXT): {$(VPATH)}strstr.c</div><div class='add'>+strtod.$(OBJEXT): {$(VPATH)}strtod.c</div><div class='add'>+strtol.$(OBJEXT): {$(VPATH)}strtol.c</div><div class='add'>+strtoul.$(OBJEXT): {$(VPATH)}strtoul.c</div><div class='ctx'> nt.$(OBJEXT): {$(VPATH)}nt.c</div><div class='add'>+x68.$(OBJEXT): {$(VPATH)}x68.c</div><div class='add'>+os2.$(OBJEXT): {$(VPATH)}os2.c</div><div class='add'>+dl_os2.$(OBJEXT): {$(VPATH)}dl_os2.c</div><div class='ctx'> ia64.$(OBJEXT): {$(VPATH)}ia64.s</div><div class='ctx'> 	$(CC) $(CFLAGS) -c $&lt;</div><div class='del'>-.coroutine_obj $(COROUTINE_OBJ): \</div><div class='del'>-	{$(VPATH)}$(COROUTINE_H:.h=).$(ASMEXT) \</div><div class='del'>-	$(COROUTINE_H:/Context.h=/.time)</div><div class='del'>-$(COROUTINE_H:/Context.h=/.time):</div><div class='del'>-	$(Q) $(MAKEDIRS) $(@D)</div><div class='del'>-	@exit &gt; $@</div><div class='ctx'> </div><div class='del'>-###</div><div class='del'>-</div><div class='del'>-# dependencies for generated C sources.</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}parse.c</div><div class='del'>-miniprelude.$(OBJEXT): {$(VPATH)}miniprelude.c</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}prelude.c</div><div class='del'>-</div><div class='del'>-# dependencies for optional sources.</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}opt_sc.inc {$(VPATH)}optunifs.inc</div><div class='del'>-</div><div class='del'>-win32/win32.$(OBJEXT): {$(VPATH)}win32/win32.c {$(VPATH)}win32/file.h \</div><div class='del'>-  {$(VPATH)}dln.h {$(VPATH)}dln_find.c {$(VPATH)}encindex.h \</div><div class='del'>-  {$(VPATH)}internal.h {$(VPATH)}util.h $(RUBY_H_INCLUDES) \</div><div class='del'>-  {$(VPATH)}vm.h $(PLATFORM_D)</div><div class='del'>-win32/file.$(OBJEXT): {$(VPATH)}win32/file.c {$(VPATH)}win32/file.h \</div><div class='del'>-  $(RUBY_H_INCLUDES) $(PLATFORM_D)</div><div class='del'>-</div><div class='del'>-$(NEWLINE_C): $(srcdir)/enc/trans/newline.trans $(srcdir)/tool/transcode-tblgen.rb</div><div class='del'>-	$(Q) $(MAKEDIRS) $(@D)</div><div class='del'>-	$(Q) $(BASERUBY) "$(srcdir)/tool/transcode-tblgen.rb" -vo $@ $(srcdir)/enc/trans/newline.trans</div><div class='del'>-enc/trans/newline.$(OBJEXT): $(NEWLINE_C)</div><div class='del'>-</div><div class='del'>-verconf.h: $(srcdir)/template/verconf.h.tmpl $(srcdir)/tool/generic_erb.rb</div><div class='del'>-	$(ECHO) creating $@</div><div class='del'>-	$(Q) $(BOOTSTRAPRUBY) "$(srcdir)/tool/generic_erb.rb" -o $@ $(srcdir)/template/verconf.h.tmpl</div><div class='del'>-</div><div class='del'>-ruby-glommed.$(OBJEXT): $(OBJS)</div><div class='del'>-</div><div class='del'>-$(OBJS):  {$(VPATH)}config.h {$(VPATH)}missing.h</div><div class='del'>-</div><div class='del'>-INSNS2VMOPT = --srcdir="$(srcdir)"</div><div class='del'>-</div><div class='del'>-srcs_vpath = {$(VPATH)}</div><div class='del'>-</div><div class='del'>-# TODO: dependencies on tool/ruby_vm scripts.</div><div class='del'>-inc_common_headers = $(srcdir)/tool/ruby_vm/views/_copyright.erb $(srcdir)/tool/ruby_vm/views/_notice.erb</div><div class='del'>-$(srcs_vpath)opt_sc.inc: $(srcdir)/tool/ruby_vm/views/opt_sc.inc.erb $(inc_common_headers)</div><div class='del'>-$(srcs_vpath)optinsn.inc: $(srcdir)/tool/ruby_vm/views/optinsn.inc.erb $(inc_common_headers)</div><div class='del'>-$(srcs_vpath)optunifs.inc: $(srcdir)/tool/ruby_vm/views/optunifs.inc.erb $(inc_common_headers)</div><div class='del'>-$(srcs_vpath)insns.inc: $(srcdir)/tool/ruby_vm/views/insns.inc.erb $(inc_common_headers)</div><div class='del'>-$(srcs_vpath)insns_info.inc: $(srcdir)/tool/ruby_vm/views/insns_info.inc.erb $(inc_common_headers) \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_insn_type_chars.erb $(srcdir)/tool/ruby_vm/views/_insn_name_info.erb \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_insn_len_info.erb $(srcdir)/tool/ruby_vm/views/_insn_operand_info.erb \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_attributes.erb $(srcdir)/tool/ruby_vm/views/_insn_stack_increase.erb</div><div class='del'>-$(srcs_vpath)vmtc.inc: $(srcdir)/tool/ruby_vm/views/vmtc.inc.erb $(inc_common_headers)</div><div class='del'>-$(srcs_vpath)vm.inc: $(srcdir)/tool/ruby_vm/views/vm.inc.erb $(inc_common_headers) \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_insn_entry.erb $(srcdir)/tool/ruby_vm/views/_trace_instruction.erb</div><div class='del'>-$(srcs_vpath)mjit_compile.inc: $(srcdir)/tool/ruby_vm/views/mjit_compile.inc.erb $(inc_common_headers) \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_mjit_compile_insn.erb $(srcdir)/tool/ruby_vm/views/_mjit_compile_send.erb \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_mjit_compile_ivar.erb \</div><div class='del'>-  $(srcdir)/tool/ruby_vm/views/_mjit_compile_insn_body.erb $(srcdir)/tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb</div><div class='del'>-</div><div class='del'>-common-srcs: $(srcs_vpath)parse.c $(srcs_vpath)lex.c $(srcs_vpath)enc/trans/newline.c $(srcs_vpath)id.c \</div><div class='del'>-	     srcs-lib srcs-ext incs</div><div class='del'>-</div><div class='del'>-missing-srcs: $(srcdir)/missing/des_tables.c</div><div class='del'>-</div><div class='del'>-srcs: common-srcs missing-srcs srcs-enc</div><div class='del'>-</div><div class='del'>-EXT_SRCS = $(srcdir)/ext/ripper/ripper.c \</div><div class='del'>-	   $(srcdir)/ext/rbconfig/sizeof/sizes.c \</div><div class='del'>-	   $(srcdir)/ext/rbconfig/sizeof/limits.c \</div><div class='del'>-	   $(srcdir)/ext/socket/constdefs.c \</div><div class='del'>-	   $(srcdir)/ext/etc/constdefs.h \</div><div class='del'>-	   # EXT_SRCS</div><div class='del'>-</div><div class='del'>-srcs-ext: $(EXT_SRCS)</div><div class='del'>-realclean-srcs-ext::</div><div class='del'>-	$(Q)$(RM) $(EXT_SRCS)</div><div class='del'>-</div><div class='del'>-EXTRA_SRCS = $(srcdir)/ext/json/parser/parser.c \</div><div class='del'>-	     $(srcdir)/ext/date/zonetab.h \</div><div class='del'>-	     $(empty)</div><div class='del'>-</div><div class='del'>-srcs-extra: $(EXTRA_SRCS)</div><div class='del'>-realclean-srcs-extra::</div><div class='del'>-	$(Q)$(RM) $(EXTRA_SRCS)</div><div class='del'>-</div><div class='del'>-LIB_SRCS = $(srcdir)/lib/unicode_normalize/tables.rb</div><div class='del'>-</div><div class='del'>-srcs-lib: $(LIB_SRCS)</div><div class='del'>-</div><div class='del'>-srcs-enc: $(ENC_MK)</div><div class='del'>-	$(ECHO) making srcs under enc</div><div class='del'>-	$(Q) $(MAKE) $(MAKE_ENC) srcs</div><div class='del'>-</div><div class='del'>-all-incs: incs {$(VPATH)}encdb.h {$(VPATH)}transdb.h</div><div class='del'>-incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}known_errors.inc \</div><div class='del'>-      {$(VPATH)}vm_call_iseq_optimized.inc $(srcdir)/revision.h \</div><div class='del'>-      $(REVISION_H) \</div><div class='del'>-      $(UNICODE_DATA_HEADERS) $(srcdir)/enc/jis/props.h \</div><div class='del'>-      {$(VPATH)}id.h {$(VPATH)}probes.dmyh</div><div class='del'>-</div><div class='del'>-insns: $(INSNS)</div><div class='del'>-</div><div class='del'>-id.h: $(srcdir)/tool/generic_erb.rb $(srcdir)/template/id.h.tmpl $(srcdir)/defs/id.def</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb --output=$@ \</div><div class='del'>-		$(srcdir)/template/id.h.tmpl</div><div class='del'>-</div><div class='del'>-id.c: $(srcdir)/tool/generic_erb.rb $(srcdir)/template/id.c.tmpl $(srcdir)/defs/id.def</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb --output=$@ \</div><div class='del'>-		$(srcdir)/template/id.c.tmpl</div><div class='del'>-</div><div class='del'>-{$(VPATH)}node.h: $(srcdir)/tool/node_name.rb</div><div class='del'>-# This dependency is not really correct, but $? should not include</div><div class='del'>-# node_name.rb in the following recipe.</div><div class='del'>-node_name.inc: {$(VPATH)}node.h</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) -n $(srcdir)/tool/node_name.rb &lt; $? &gt; $@</div><div class='del'>-</div><div class='del'>-encdb.h: $(PREP) $(srcdir)/tool/generic_erb.rb $(srcdir)/template/encdb.h.tmpl</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/tool/generic_erb.rb -c -o $@ $(srcdir)/template/encdb.h.tmpl $(srcdir)/enc enc</div><div class='del'>-</div><div class='del'>-transdb.h: $(PREP) srcs-enc $(srcdir)/tool/generic_erb.rb $(srcdir)/template/transdb.h.tmpl</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/tool/generic_erb.rb -c -o $@ $(srcdir)/template/transdb.h.tmpl $(srcdir)/enc/trans enc/trans</div><div class='del'>-</div><div class='del'>-enc/encinit.c: $(ENC_MK) $(srcdir)/enc/encinit.c.erb</div><div class='del'>-</div><div class='del'>-known_errors.inc: $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb -c -o $@ $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def</div><div class='del'>-</div><div class='del'>-vm_call_iseq_optimized.inc: $(srcdir)/tool/mk_call_iseq_optimized.rb</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/mk_call_iseq_optimized.rb &gt; $@</div><div class='del'>-</div><div class='del'>-$(MINIPRELUDE_C): $(COMPILE_PRELUDE)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -o $@ \</div><div class='del'>-		$(srcdir)/template/prelude.c.tmpl</div><div class='del'>-</div><div class='del'>-$(PRELUDE_C): $(COMPILE_PRELUDE) \</div><div class='del'>-	   $(PRELUDE_SCRIPTS)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -c -o $@ \</div><div class='del'>-		$(srcdir)/template/prelude.c.tmpl $(PRELUDE_SCRIPTS)</div><div class='del'>-</div><div class='del'>-$(GOLF_PRELUDE_C): $(COMPILE_PRELUDE) {$(srcdir)}golf_prelude.rb</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -c -o $@ \</div><div class='del'>-		$(srcdir)/template/prelude.c.tmpl golf_prelude.rb</div><div class='del'>-</div><div class='del'>-MAINCPPFLAGS = $(ENABLE_DEBUG_ENV:yes=-DRUBY_DEBUG_ENV=1)</div><div class='del'>-</div><div class='del'>-$(MAINOBJ): $(srcdir)/$(MAINSRC)</div><div class='del'>-	$(ECHO) compiling $(srcdir)/$(MAINSRC)</div><div class='del'>-	$(Q) $(CC) $(MAINCPPFLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$(srcdir)/$(MAINSRC)</div><div class='del'>-</div><div class='del'>-{$(VPATH)}probes.dmyh: {$(srcdir)}probes.d $(srcdir)/tool/gen_dummy_probes.rb</div><div class='del'>-</div><div class='del'>-probes.dmyh:</div><div class='del'>-	$(BASERUBY) $(srcdir)/tool/gen_dummy_probes.rb $(srcdir)/probes.d &gt; $@</div><div class='del'>-</div><div class='del'>-probes.h: {$(VPATH)}probes.$(DTRACE_EXT)</div><div class='del'>-</div><div class='del'>-prereq: incs srcs preludes PHONY</div><div class='del'>-</div><div class='del'>-preludes: {$(VPATH)}prelude.c</div><div class='del'>-preludes: {$(VPATH)}miniprelude.c</div><div class='del'>-preludes: {$(srcdir)}golf_prelude.c</div><div class='del'>-</div><div class='del'>-$(srcdir)/revision.h:</div><div class='del'>-	$(Q)$(gnumake:yes=#) $(RM) $(@F)</div><div class='del'>-	$(Q)$(gnumake:yes=#) exit &gt; $@ || exit &gt; $(@F)</div><div class='del'>-</div><div class='del'>-$(REVISION_H): $(srcdir)/version.h $(srcdir)/tool/file2lastrev.rb $(REVISION_FORCE)</div><div class='del'>-	-$(Q) $(BASERUBY) $(srcdir)/tool/file2lastrev.rb -q --revision.h "$(srcdir)" &gt; revision.tmp</div><div class='del'>-	$(Q)$(IFCHANGE) "--timestamp=$@" "$(srcdir)/revision.h" revision.tmp</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/ripper/ripper.c: $(srcdir)/ext/ripper/tools/preproc.rb $(srcdir)/parse.y id.h</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) VPATH=$${PWD-`pwd`} &amp;&amp; $(CHDIR) $(@D) &amp;&amp; \</div><div class='del'>-	sed -e 's/{\$$([^(){}]*)[^{}]*}//g' -e /AUTOGENERATED/q depend | \</div><div class='del'>-	$(exec) $(MAKE) -f - $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) RM="$(RM)" top_srcdir=../.. srcdir=. VPATH="$${VPATH}" \</div><div class='del'>-		RUBY="$(BASERUBY)" PATH_SEPARATOR="$(PATH_SEPARATOR)"</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/json/parser/parser.c: $(srcdir)/ext/json/parser/parser.rl</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(CHDIR) $(@D) &amp;&amp; $(exec) $(MAKE) -f prereq.mk $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. BASERUBY="$(BASERUBY)"</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/date/zonetab.h: $(srcdir)/ext/date/zonetab.list</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(CHDIR) $(@D) &amp;&amp; $(exec) $(MAKE) -f prereq.mk $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) top_srcdir=../.. srcdir=. VPATH=../.. BASERUBY="$(BASERUBY)"</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/rbconfig/sizeof/sizes.c: $(srcdir)/ext/rbconfig/sizeof/depend \</div><div class='del'>-		$(srcdir)/tool/generic_erb.rb $(srcdir)/template/sizes.c.tmpl $(srcdir)/configure.ac</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='del'>-	sed '/AUTOGENERATED/q' depend | \</div><div class='del'>-	$(exec) $(MAKE) -f - $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. RUBY="$(BASERUBY)" $(@F)</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/rbconfig/sizeof/limits.c: $(srcdir)/ext/rbconfig/sizeof/depend \</div><div class='del'>-		$(srcdir)/tool/generic_erb.rb $(srcdir)/template/limits.c.tmpl</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='del'>-	sed '/AUTOGENERATED/q' depend | \</div><div class='del'>-	$(exec) $(MAKE) -f - $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. RUBY="$(BASERUBY)" $(@F)</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/socket/constdefs.c: $(srcdir)/ext/socket/depend</div><div class='del'>-	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='del'>-	sed '/AUTOGENERATED/q' depend | \</div><div class='del'>-	$(exec) $(MAKE) -f - $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) top_srcdir=../.. srcdir=. VPATH=../.. RUBY="$(BASERUBY)"</div><div class='del'>-</div><div class='del'>-$(srcdir)/ext/etc/constdefs.h: $(srcdir)/ext/etc/depend</div><div class='del'>-	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='del'>-	sed '/AUTOGENERATED/q' depend | \</div><div class='del'>-	$(exec) $(MAKE) -f - $(mflags) \</div><div class='del'>-		Q=$(Q) ECHO=$(ECHO) top_srcdir=../.. srcdir=. VPATH=../.. RUBY="$(BASERUBY)"</div><div class='del'>-</div><div class='del'>-##</div><div class='del'>-</div><div class='del'>-run: fake miniruby$(EXEEXT) PHONY</div><div class='del'>-	$(BTESTRUBY) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='del'>-</div><div class='del'>-runruby: $(PROGRAM) PHONY</div><div class='del'>-	$(RUNRUBY) $(TESTRUN_SCRIPT)</div><div class='del'>-</div><div class='del'>-parse: fake miniruby$(EXEEXT) PHONY</div><div class='del'>-	$(BTESTRUBY) --dump=parsetree_with_comment,insns $(TESTRUN_SCRIPT)</div><div class='del'>-</div><div class='del'>-bisect: PHONY</div><div class='del'>-	$(srcdir)/tool/bisect.sh miniruby $(srcdir)</div><div class='del'>-</div><div class='del'>-bisect-ruby: PHONY</div><div class='del'>-	$(srcdir)/tool/bisect.sh ruby $(srcdir)</div><div class='del'>-</div><div class='del'>-COMPARE_RUBY = $(BASERUBY)</div><div class='del'>-ITEM =</div><div class='del'>-ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb' | sort)</div><div class='del'>-OPTS =</div><div class='del'>-</div><div class='del'>-# You can pass several options through OPTS environment variable.</div><div class='del'>-# $ make benchmark ARGS="--help" displays more detail.</div><div class='del'>-# for example,</div><div class='del'>-#  $ make benchmark COMPARE_RUBY="ruby-trunk" OPTS="-e ruby-2.2.2"</div><div class='del'>-# This command compares trunk and built-ruby and 2.2.2</div><div class='del'>-benchmark: miniruby$(EXEEXT) update-benchmark-driver PHONY</div><div class='del'>-	$(BASERUBY) -rrubygems -I$(srcdir)/benchmark/lib $(srcdir)/benchmark/benchmark-driver/exe/benchmark-driver \</div><div class='del'>-	            --executables="compare-ruby::$(COMPARE_RUBY) -I$(EXTOUT)/common --disable-gem" \</div><div class='del'>-	            --executables="built-ruby::$(MINIRUBY) -r$(srcdir)/prelude --disable-gem" \</div><div class='del'>-	            $(ARGS) $(OPTS)</div><div class='add'>+# when I use -I., there is confliction at "OpenFile" </div><div class='add'>+# so, set . into environment varible "include"</div><div class='add'>+win32.$(OBJEXT): {$(VPATH)}win32.c</div><div class='ctx'> </div><div class='del'>-run.gdb:</div><div class='del'>-	echo set breakpoint pending on         &gt; run.gdb</div><div class='del'>-	echo b ruby_debug_breakpoint          &gt;&gt; run.gdb</div><div class='del'>-	echo '# handle SIGINT nostop'         &gt;&gt; run.gdb</div><div class='del'>-	echo '# handle SIGPIPE nostop'        &gt;&gt; run.gdb</div><div class='del'>-	echo '# b rb_longjmp'                 &gt;&gt; run.gdb</div><div class='del'>-	echo source $(srcdir)/breakpoints.gdb &gt;&gt; run.gdb</div><div class='del'>-	echo source $(srcdir)/.gdbinit        &gt;&gt; run.gdb</div><div class='del'>-	echo 'set $$_exitcode = -999'         &gt;&gt; run.gdb</div><div class='del'>-	echo run                              &gt;&gt; run.gdb</div><div class='del'>-	echo 'if $$_exitcode != -999'         &gt;&gt; run.gdb</div><div class='del'>-	echo '  quit'                         &gt;&gt; run.gdb</div><div class='del'>-	echo end                              &gt;&gt; run.gdb</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-gdb: miniruby$(EXEEXT) run.gdb PHONY</div><div class='del'>-	gdb -x run.gdb --quiet --args $(MINIRUBY) $(TESTRUN_SCRIPT)</div><div class='del'>-</div><div class='del'>-gdb-ruby: $(PROGRAM) run.gdb PHONY</div><div class='del'>-	$(Q) $(RUNRUBY_COMMAND) $(RUNRUBY_DEBUGGER) -- $(TESTRUN_SCRIPT)</div><div class='del'>-</div><div class='del'>-LLDB_INIT = command script import -r $(srcdir)/misc/lldb_cruby.py</div><div class='del'>-</div><div class='del'>-lldb: miniruby$(EXEEXT) PHONY</div><div class='del'>-	lldb -o '$(LLDB_INIT)' miniruby$(EXEEXT) -- $(TESTRUN_SCRIPT)</div><div class='del'>-</div><div class='del'>-lldb-ruby: $(PROGRAM) PHONY</div><div class='del'>-	lldb $(enable_shared:yes=-o 'target modules add ${LIBRUBY_SO}') -o '$(LLDB_INIT)' $(PROGRAM) -- $(TESTRUN_SCRIPT)</div><div class='del'>-</div><div class='del'>-DISTPKGS = gzip,zip,all</div><div class='del'>-dist:</div><div class='del'>-	$(BASERUBY) $(srcdir)/tool/make-snapshot \</div><div class='del'>-	-srcdir=$(srcdir) -packages=$(DISTPKGS) \</div><div class='del'>-	-unicode-version=$(UNICODE_VERSION) \</div><div class='del'>-	tmp $(RELNAME)</div><div class='del'>-</div><div class='del'>-up:: update-remote</div><div class='del'>-</div><div class='del'>-up::</div><div class='del'>-	-$(Q)$(MAKE) $(mflags) Q=$(Q) REVISION_FORCE=PHONY "$(REVISION_H)"</div><div class='del'>-</div><div class='del'>-up::</div><div class='del'>-	-$(Q)$(MAKE) $(mflags) Q=$(Q) after-update</div><div class='del'>-</div><div class='del'>-after-update:: extract-extlibs</div><div class='del'>-</div><div class='del'>-update-remote:: update-src update-download</div><div class='del'>-update-download:: update-unicode update-gems download-extlibs</div><div class='del'>-</div><div class='del'>-update-mspec:</div><div class='del'>-update-rubyspec:</div><div class='del'>-</div><div class='del'>-update-config_files: PHONY</div><div class='del'>-	$(Q) $(BASERUBY) -C "$(srcdir)" tool/downloader.rb -d tool --cache-dir=$(CACHE_DIR) -e gnu \</div><div class='del'>-	    config.guess config.sub</div><div class='del'>-</div><div class='del'>-update-gems: PHONY</div><div class='del'>-	$(ECHO) Downloading bundled gem files...</div><div class='del'>-	$(Q) $(BASERUBY) -C "$(srcdir)" \</div><div class='del'>-	    -I./tool -rdownloader -answ \</div><div class='del'>-	    -e 'gem, ver = *$$F' \</div><div class='del'>-	    -e 'old = Dir.glob("gems/#{gem}-*.gem")' \</div><div class='del'>-	    -e 'gem = "#{gem}-#{ver}.gem"' \</div><div class='del'>-	    -e 'Downloader::RubyGems.download(gem, "gems", nil) and' \</div><div class='del'>-	    -e '(old.delete("gems/#{gem}"); !old.empty?) and' \</div><div class='del'>-	    -e 'File.unlink(*old) and' \</div><div class='del'>-	    -e 'FileUtils.rm_rf(old.map{'"|n|"'n.chomp(".gem")})' \</div><div class='del'>-	    gems/bundled_gems</div><div class='del'>-</div><div class='del'>-extract-gems: PHONY</div><div class='del'>-	$(ECHO) Extracting bundled gem files...</div><div class='del'>-	$(Q) $(RUNRUBY) -C "$(srcdir)/gems" \</div><div class='del'>-	    -I../tool -rgem-unpack -answ \</div><div class='del'>-	    -e 'gem, ver = *$$F' \</div><div class='del'>-	    -e 'Gem.unpack("#{gem}-#{ver}.gem")' \</div><div class='del'>-	    bundled_gems</div><div class='del'>-</div><div class='del'>-update-bundled_gems: PHONY</div><div class='del'>-	$(Q) $(RUNRUBY) -rrubygems \</div><div class='del'>-	    -pla \</div><div class='del'>-	    -e '(gem,src), = Gem::SpecFetcher.fetcher.detect(:latest) {'"|s|" \</div><div class='del'>-	    -e   's.platform=="ruby"&amp;&amp;s.name==$$F[0]' \</div><div class='del'>-	    -e '}' \</div><div class='del'>-	    -e 'gem = src.fetch_spec(gem)' \</div><div class='del'>-	    -e '$$_ = [gem.name, gem.version, gem.metadata["source_code_uri"]||gem.homepage].join(" ")' \</div><div class='del'>-	     "$(srcdir)/gems/bundled_gems" | \</div><div class='del'>-	"$(IFCHANGE)" "$(srcdir)/gems/bundled_gems" -</div><div class='del'>-</div><div class='del'>-test-bundled-gems-precheck: $(arch)-fake.rb programs</div><div class='del'>-</div><div class='del'>-test-bundled-gems-fetch: $(PREP)</div><div class='del'>-	$(Q) $(BASERUBY) -C $(srcdir)/gems ../tool/fetch-bundled_gems.rb src bundled_gems</div><div class='del'>-</div><div class='del'>-test-bundled-gems-prepare: test-bundled-gems-precheck test-bundled-gems-fetch</div><div class='del'>-	$(XRUBY) -C "$(srcdir)" bin/gem install --no-document \</div><div class='del'>-		--install-dir .bundle --conservative "bundler" "minitest:~&gt; 5" 'test-unit' 'rake' 'hoe' 'yard' 'pry' 'packnga'</div><div class='del'>-</div><div class='del'>-PREPARE_BUNDLED_GEMS = test-bundled-gems-prepare</div><div class='del'>-test-bundled-gems: $(TEST_RUNNABLE)-test-bundled-gems</div><div class='del'>-yes-test-bundled-gems: test-bundled-gems-run</div><div class='del'>-no-test-bundled-gems:</div><div class='del'>-test-bundled-gems-run: $(PREPARE_BUNDLED_GEMS)</div><div class='del'>-</div><div class='del'>-test-bundler-precheck: $(arch)-fake.rb programs</div><div class='del'>-</div><div class='del'>-yes-test-bundler-prepare: test-bundler-precheck</div><div class='del'>-	$(XRUBY) -C "$(srcdir)" bin/gem install --no-document \</div><div class='del'>-		--install-dir .bundle --conservative "rspec:~&gt; 3.5"</div><div class='del'>-</div><div class='del'>-RSPECOPTS = --format progress</div><div class='del'>-BUNDLER_SPECS =</div><div class='del'>-test-bundler: $(TEST_RUNNABLE)-test-bundler</div><div class='del'>-yes-test-bundler: yes-test-bundler-prepare</div><div class='del'>-	$(gnumake_recursive)$(Q) \</div><div class='del'>-	$(XRUBY) -C $(srcdir) -Ispec/bundler .bundle/bin/rspec \</div><div class='del'>-		--require spec_helper $(RSPECOPTS) spec/bundler/$(BUNDLER_SPECS)</div><div class='del'>-no-test-bundler:</div><div class='del'>-</div><div class='del'>-UNICODE_FILES = $(UNICODE_SRC_DATA_DIR)/UnicodeData.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/CompositionExclusions.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/NormalizationTest.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/CaseFolding.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/SpecialCasing.txt \</div><div class='del'>-		$(empty)</div><div class='del'>-</div><div class='del'>-UNICODE_PROPERTY_FILES =  \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/Blocks.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/DerivedAge.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/DerivedCoreProperties.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/PropList.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/PropertyAliases.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/PropertyValueAliases.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/Scripts.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/auxiliary/GraphemeBreakProperty.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/auxiliary/GraphemeBreakTest.txt \</div><div class='del'>-		$(empty)</div><div class='del'>-</div><div class='del'>-UNICODE_EMOJI_FILES = \</div><div class='del'>-		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-data.txt \</div><div class='del'>-		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-sequences.txt \</div><div class='del'>-		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-test.txt \</div><div class='del'>-		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-variation-sequences.txt \</div><div class='del'>-		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-zwj-sequences.txt \</div><div class='del'>-		$(empty)</div><div class='del'>-</div><div class='del'>-update-unicode: $(UNICODE_FILES) $(UNICODE_PROPERTY_FILES)</div><div class='del'>-</div><div class='del'>-CACHE_DIR = $(srcdir)/.downloaded-cache</div><div class='del'>-UNICODE_DOWNLOAD = \</div><div class='del'>-	$(BASERUBY) $(srcdir)/tool/downloader.rb \</div><div class='del'>-	    --cache-dir=$(CACHE_DIR) \</div><div class='del'>-	    -d $(UNICODE_SRC_DATA_DIR) \</div><div class='del'>-	    -p $(UNICODE_VERSION)/ucd \</div><div class='del'>-	    -e $(ALWAYS_UPDATE_UNICODE:yes=-a) unicode</div><div class='del'>-UNICODE_EMOJI_DOWNLOAD = \</div><div class='del'>-	$(BASERUBY) $(srcdir)/tool/downloader.rb \</div><div class='del'>-	    --cache-dir=$(CACHE_DIR) \</div><div class='del'>-	    -d $(UNICODE_SRC_EMOJI_DATA_DIR) \</div><div class='del'>-	    -p emoji/$(UNICODE_EMOJI_VERSION) \</div><div class='del'>-	    -e $(ALWAYS_UPDATE_UNICODE:yes=-a) unicode</div><div class='del'>-</div><div class='del'>-$(UNICODE_PROPERTY_FILES): update-unicode-property-files</div><div class='del'>-update-unicode-property-files:</div><div class='del'>-	$(ECHO) Downloading Unicode $(UNICODE_VERSION) property files...</div><div class='del'>-	$(Q) $(MAKEDIRS) "$(UNICODE_SRC_DATA_DIR)/auxiliary"</div><div class='del'>-	$(Q) $(UNICODE_DOWNLOAD) $(UNICODE_PROPERTY_FILES)</div><div class='del'>-	$(ECHO) Downloading Unicode emoji $(UNICODE_EMOJI_VERSION) files...</div><div class='del'>-	$(Q) $(MAKEDIRS) "$(UNICODE_SRC_EMOJI_DATA_DIR)"</div><div class='del'>-	$(Q) $(UNICODE_EMOJI_DOWNLOAD) $(UNICODE_EMOJI_FILES)</div><div class='del'>-</div><div class='del'>-$(UNICODE_FILES): update-unicode-files</div><div class='del'>-update-unicode-files:</div><div class='del'>-	$(ECHO) Downloading Unicode $(UNICODE_VERSION) data files...</div><div class='del'>-	$(Q) $(MAKEDIRS) "$(UNICODE_SRC_DATA_DIR)"</div><div class='del'>-	$(Q) $(UNICODE_DOWNLOAD) $(UNICODE_FILES)</div><div class='del'>-</div><div class='del'>-$(srcdir)/$(HAVE_BASERUBY:yes=lib/unicode_normalize/tables.rb): \</div><div class='del'>-	$(UNICODE_SRC_DATA_DIR)/.unicode-tables.time</div><div class='del'>-</div><div class='del'>-$(UNICODE_SRC_DATA_DIR)/$(ALWAYS_UPDATE_UNICODE:yes=.unicode-tables.time): \</div><div class='del'>-	$(UNICODE_FILES) $(UNICODE_PROPERTY_FILES)</div><div class='del'>-</div><div class='del'>-touch-unicode-files:</div><div class='del'>-	$(MAKEDIRS) $(UNICODE_SRC_DATA_DIR)</div><div class='del'>-	touch $(UNICODE_SRC_DATA_DIR)/.unicode-tables.time $(UNICODE_DATA_HEADERS)</div><div class='del'>-</div><div class='del'>-$(UNICODE_SRC_DATA_DIR)/.unicode-tables.time: $(srcdir)/tool/generic_erb.rb \</div><div class='del'>-		$(srcdir)/template/unicode_norm_gen.tmpl \</div><div class='del'>-		$(ALWAYS_UPDATE_UNICODE:yes=update-unicode)</div><div class='del'>-	$(Q) $(MAKE) $(@D)</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb \</div><div class='del'>-		-c -t$@ -o $(srcdir)/lib/unicode_normalize/tables.rb \</div><div class='del'>-		-I $(srcdir) \</div><div class='del'>-		$(srcdir)/template/unicode_norm_gen.tmpl \</div><div class='del'>-		$(UNICODE_DATA_DIR) lib/unicode_normalize</div><div class='del'>-</div><div class='del'>-$(UNICODE_SRC_DATA_DIR):</div><div class='del'>-	$(Q) $(exec) $(MAKEDIRS) $@ || exit &amp;&amp; echo $(MAKE)</div><div class='del'>-</div><div class='del'>-$(UNICODE_HDR_DIR)/$(ALWAYS_UPDATE_UNICODE:yes=name2ctype.h): \</div><div class='del'>-		$(srcdir)/tool/enc-unicode.rb \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/UnicodeData.txt \</div><div class='del'>-		$(UNICODE_PROPERTY_FILES)</div><div class='del'>-</div><div class='del'>-$(UNICODE_HDR_DIR)/name2ctype.h:</div><div class='del'>-	$(MAKEDIRS) $(@D)</div><div class='del'>-	$(BOOTSTRAPRUBY) $(srcdir)/tool/enc-unicode.rb --header \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR) $(UNICODE_SRC_EMOJI_DATA_DIR) &gt; $@.new</div><div class='del'>-	$(MV) $@.new $@</div><div class='del'>-</div><div class='del'>-# the next non-comment line was:</div><div class='del'>-# $(UNICODE_HDR_DIR)/casefold.h: $(srcdir)/enc/unicode/case-folding.rb \</div><div class='del'>-# but was changed to make sure CI works on systems that don't have gperf</div><div class='del'>-unicode-up: $(UNICODE_DATA_HEADERS)</div><div class='del'>-</div><div class='del'>-$(UNICODE_HDR_DIR)/$(ALWAYS_UPDATE_UNICODE:yes=casefold.h): \</div><div class='del'>-		$(srcdir)/enc/unicode/case-folding.rb \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/UnicodeData.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/SpecialCasing.txt \</div><div class='del'>-		$(UNICODE_SRC_DATA_DIR)/CaseFolding.txt</div><div class='del'>-</div><div class='del'>-$(UNICODE_HDR_DIR)/casefold.h:</div><div class='del'>-	$(MAKEDIRS) $(@D)</div><div class='del'>-	$(Q) $(BASERUBY) $(srcdir)/enc/unicode/case-folding.rb \</div><div class='del'>-		--output-file=$@ \</div><div class='del'>-		--mapping-data-directory=$(UNICODE_SRC_DATA_DIR)</div><div class='del'>-</div><div class='del'>-download-extlibs:</div><div class='del'>-	$(Q) $(BASERUBY) -C $(srcdir) -w tool/extlibs.rb --download ext</div><div class='del'>-</div><div class='del'>-extract-extlibs:</div><div class='del'>-	$(Q) $(BASERUBY) -C $(srcdir) -w tool/extlibs.rb --all ext</div><div class='del'>-</div><div class='del'>-clean-extlibs:</div><div class='del'>-	$(Q) $(RMALL) $(srcdir)/.downloaded-cache</div><div class='del'>-</div><div class='del'>-clean-gems:</div><div class='del'>-	$(Q) $(RM) gems/*.gem</div><div class='del'>-</div><div class='del'>-CLEAN_CACHE = clean-extlibs</div><div class='del'>-</div><div class='del'>-info: info-program info-libruby_a info-libruby_so info-arch</div><div class='del'>-info-program: PHONY</div><div class='del'>-	@echo PROGRAM=$(PROGRAM)</div><div class='del'>-info-libruby_a: PHONY</div><div class='del'>-	@echo LIBRUBY_A=$(LIBRUBY_A)</div><div class='del'>-info-libruby_so: PHONY</div><div class='del'>-	@echo LIBRUBY_SO=$(LIBRUBY_SO)</div><div class='del'>-info-arch: PHONY</div><div class='del'>-	@echo arch=$(arch)</div><div class='del'>-</div><div class='del'>-change: PHONY</div><div class='del'>-	$(BASERUBY) -C "$(srcdir)" ./tool/change_maker.rb $(CHANGES) &gt; change.log</div><div class='del'>-</div><div class='del'>-exam: check</div><div class='del'>-</div><div class='del'>-love: sudo-precheck up all test exam install</div><div class='del'>-	@echo love is all you need</div><div class='del'>-</div><div class='del'>-great: exam</div><div class='del'>-</div><div class='del'>-yes-test-all no-test-all: sudo-precheck</div><div class='del'>-</div><div class='del'>-sudo-precheck: PHONY</div><div class='del'>-	@$(SUDO) echo &gt; $(NULL)</div><div class='del'>-</div><div class='del'>-update-man-date: PHONY</div><div class='del'>-	-$(Q) $(BASERUBY) -I"$(srcdir)/tool" -rvcs -i -p \</div><div class='del'>-	-e 'BEGIN{@vcs=VCS.detect(ARGV.shift)}' \</div><div class='del'>-	-e '$$_.sub!(/^(\.Dd ).*/){$$1+@vcs.modified(ARGF.path).strftime("%B %d, %Y")}' \</div><div class='del'>-	"$(srcdir)" "$(srcdir)"/man/*.1</div><div class='del'>-</div><div class='del'>-help: PHONY</div><div class='del'>-	$(MESSAGE_BEGIN) \</div><div class='del'>-	"                Makefile of Ruby" \</div><div class='del'>-	"" \</div><div class='del'>-	"targets:" \</div><div class='del'>-	"  all (default):       builds all of below" \</div><div class='del'>-	"  miniruby:            builds only miniruby" \</div><div class='del'>-	"  encs:                builds encodings" \</div><div class='del'>-	"  exts:                builds extensions" \</div><div class='del'>-	"  main:                builds encodings, extensions and ruby" \</div><div class='del'>-	"  docs:                builds documents" \</div><div class='del'>-	"  install-capi:        builds C API documents" \</div><div class='del'>-	"  run:                 runs test.rb by miniruby" \</div><div class='del'>-	"  runruby:             runs test.rb by ruby you just built" \</div><div class='del'>-	"  gdb:                 runs test.rb by miniruby under gdb" \</div><div class='del'>-	"  gdb-ruby:            runs test.rb by ruby under gdb" \</div><div class='del'>-	"  check:               equals make test test-all test-spec" \</div><div class='del'>-	"  exam:                equals make check" \</div><div class='del'>-	"  test:                ruby core tests" \</div><div class='del'>-	"  test-all:            all ruby tests [TESTOPTS=-j4 TESTS=&lt;test files&gt;]" \</div><div class='del'>-	"  test-spec:           run the Ruby spec suite" \</div><div class='del'>-	"  test-rubyspec:       same as test-spec" \</div><div class='del'>-	"  test-bundler:        run the Bundler spec" \</div><div class='del'>-	"  test-bundled-gems:   run the test suite of bundled gems" \</div><div class='del'>-	"  up:                  update local copy and autogenerated files" \</div><div class='del'>-	"  benchmark:           benchmark this ruby and COMPARE_RUBY." \</div><div class='del'>-	"  gcbench:             gc benchmark [GCBENCH_ITEM=&lt;item_name&gt;]" \</div><div class='del'>-	"  gcbench-rdoc:        gc benchmark with GCBENCH_ITEM=rdoc" \</div><div class='del'>-	"  install:             install all ruby distributions" \</div><div class='del'>-	"  install-nodoc:       install without rdoc" \</div><div class='del'>-	"  install-cross:       install cross compiling stuff" \</div><div class='del'>-	"  clean:               clean for tarball" \</div><div class='del'>-	"  distclean:           clean for repository" \</div><div class='del'>-	"  change:              make change log template" \</div><div class='del'>-	"  golf:                for golfers" \</div><div class='del'>-	"  goruby:              same as golf" \</div><div class='del'>-	"" \</div><div class='del'>-	"see DeveloperHowto for more detail: " \</div><div class='del'>-	"  https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto" \</div><div class='del'>-	$(MESSAGE_END)</div><div class='add'>+###</div><div class='ctx'> </div><div class='del'>-# AUTOGENERATED DEPENDENCIES START</div><div class='del'>-addr2line.$(OBJEXT): {$(VPATH)}addr2line.c</div><div class='del'>-addr2line.$(OBJEXT): {$(VPATH)}addr2line.h</div><div class='del'>-addr2line.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-addr2line.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-addr2line.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-array.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-array.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}array.c</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-array.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-ast.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-ast.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-ast.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-ast.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-ast.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-ast.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}ast.c</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-ast.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-bignum.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-bignum.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}bignum.c</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-bignum.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-class.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-class.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-class.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-class.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-class.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-class.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}class.c</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}constant.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-class.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-compar.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}compar.c</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-compar.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-compile.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-compile.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-compile.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-compile.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-compile.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-compile.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}compile.c</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}insns.def</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}opt_sc.inc</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}optinsn.inc</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}optunifs.inc</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}re.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}regex.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-compile.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-complex.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-complex.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}complex.c</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-complex.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-cont.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-cont.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-cont.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-cont.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-cont.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-cont.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}$(COROUTINE_H)</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}cont.c</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-cont.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-debug.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-debug.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-debug.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-debug.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-debug.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-debug.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}debug.c</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-debug.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-debug_counter.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-debug_counter.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}debug_counter.c</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-debug_counter.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-dir.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-dir.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}dir.c</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-dir.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-dln.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-dln.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}dln.c</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-dln.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-dln_find.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}dln_find.c</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-dln_find.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-dmydln.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}dmydln.c</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-dmydln.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-dmyenc.$(OBJEXT): {$(VPATH)}dmyenc.c</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}array.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}util.h {$(VPATH)}st.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}bignum.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}class.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubysig.h {$(VPATH)}node.h {$(VPATH)}st.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}compar.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}dir.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}util.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}dln.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}dln.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}dmydln.c {$(VPATH)}dln.c {$(VPATH)}ruby.h \</div><div class='add'>+  config.h {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}dln.h</div><div class='ctx'> dmyext.$(OBJEXT): {$(VPATH)}dmyext.c</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}enc/ascii.c</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-enc/ascii.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}enc/trans/newline.c</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-enc/trans/newline.$(OBJEXT): {$(VPATH)}transcode_data.h</div><div class='del'>-enc/unicode.$(OBJEXT): $(UNICODE_HDR_DIR)/casefold.h</div><div class='del'>-enc/unicode.$(OBJEXT): $(UNICODE_HDR_DIR)/name2ctype.h</div><div class='del'>-enc/unicode.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}enc/unicode.c</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-enc/unicode.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}enc/us_ascii.c</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-enc/us_ascii.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}enc/utf_8.c</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-enc/utf_8.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-encoding.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-encoding.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}encoding.c</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-encoding.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-enum.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-enum.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}enum.c</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-enum.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-enumerator.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-enumerator.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}enumerator.c</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-enumerator.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-error.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-error.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-error.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-error.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-error.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-error.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}error.c</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}known_errors.inc</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-error.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-eval.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-eval.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-eval.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-eval.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-eval.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-eval.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}eval.c</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}eval_error.c</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}eval_jump.c</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}probes_helper.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}vm.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-eval.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-explicit_bzero.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-explicit_bzero.$(OBJEXT): {$(VPATH)}explicit_bzero.c</div><div class='del'>-explicit_bzero.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-file.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-file.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}file.c</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-file.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-gc.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-gc.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-gc.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-gc.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-gc.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-gc.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}constant.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}debug.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}gc.c</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}re.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}regex.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-gc.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-golf_prelude.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-golf_prelude.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-golf_prelude.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-golf_prelude.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-golf_prelude.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-golf_prelude.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}golf_prelude.c</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}golf_prelude.rb</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-golf_prelude.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-goruby.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-goruby.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}backward.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}goruby.c</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}main.c</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-goruby.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-hash.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-hash.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}hash.c</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-hash.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-inits.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-inits.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}inits.c</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-inits.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-io.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-io.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-io.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-io.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-io.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-io.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}io.c</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-io.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-iseq.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-iseq.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-iseq.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-iseq.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-iseq.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-iseq.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}insns.def</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}iseq.c</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}node_name.inc</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-iseq.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-load.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-load.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-load.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-load.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-load.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-load.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}load.c</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-load.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-loadpath.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-loadpath.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='del'>-loadpath.$(OBJEXT): $(top_srcdir)/version.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}loadpath.c</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-loadpath.$(OBJEXT): {$(VPATH)}verconf.h</div><div class='del'>-localeinit.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-localeinit.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}localeinit.c</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-localeinit.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-main.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-main.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}backward.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}main.c</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-main.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-marshal.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-marshal.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}marshal.c</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-marshal.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-math.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-math.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}math.c</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-math.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-miniinit.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}miniinit.c</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-miniinit.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-miniprelude.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-miniprelude.$(OBJEXT): {$(VPATH)}miniprelude.c</div><div class='del'>-mjit.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-mjit.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-mjit.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-mjit.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-mjit.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-mjit.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}constant.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}debug.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}mjit.c</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}mjit_config.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}mjit_worker.c</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-mjit.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-mjit_compile.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-mjit_compile.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-mjit_compile.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-mjit_compile.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-mjit_compile.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-mjit_compile.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}insns.def</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}mjit_compile.c</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}mjit_compile.inc</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}vm_exec.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}vm_insnhelper.h</div><div class='del'>-mjit_compile.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-node.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-node.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-node.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-node.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-node.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-node.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}node.c</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-node.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-numeric.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-numeric.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}numeric.c</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-numeric.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-object.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-object.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}constant.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}object.c</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-object.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-pack.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-pack.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}pack.c</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-pack.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-parse.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-parse.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}defs/keywords</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}lex.c</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}parse.c</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}parse.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}parse.y</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}regex.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='del'>-parse.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-prelude.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-prelude.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-prelude.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-prelude.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-prelude.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-prelude.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}gem_prelude.rb</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}prelude.c</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}prelude.rb</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-prelude.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-proc.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-proc.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-proc.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-proc.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-proc.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-proc.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}proc.c</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-proc.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-process.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-process.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-process.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-process.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-process.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-process.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}hrtime.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}process.c</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-process.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-random.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-random.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}random.c</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}siphash.c</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}siphash.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-random.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-range.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-range.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}range.c</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-range.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-rational.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-rational.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}rational.c</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-rational.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-re.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-re.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}re.c</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}re.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}regex.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-re.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-regcomp.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}regcomp.c</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}regparse.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-regcomp.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-regenc.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}regenc.c</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-regenc.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-regerror.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}regerror.c</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-regerror.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-regexec.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}regexec.c</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-regexec.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-regparse.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}regparse.c</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}regparse.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-regparse.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-regsyntax.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}regint.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}regsyntax.c</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-regsyntax.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-ruby-runner.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-ruby-runner.$(OBJEXT): {$(VPATH)}ruby-runner.c</div><div class='del'>-ruby-runner.$(OBJEXT): {$(VPATH)}ruby-runner.h</div><div class='del'>-ruby.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-ruby.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-ruby.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-ruby.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-ruby.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-ruby.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='del'>-ruby.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}dln.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}ruby.c</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-ruby.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-safe.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-safe.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-safe.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-safe.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-safe.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-safe.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}safe.c</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-safe.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-setproctitle.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-setproctitle.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}setproctitle.c</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-setproctitle.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-signal.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-signal.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-signal.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-signal.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-signal.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-signal.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}signal.c</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-signal.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-sprintf.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-sprintf.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}re.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}regex.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}sprintf.c</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-sprintf.$(OBJEXT): {$(VPATH)}vsnprintf.c</div><div class='del'>-st.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-st.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-st.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-st.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-st.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-st.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}st.c</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-st.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-strftime.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-strftime.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}strftime.c</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-strftime.$(OBJEXT): {$(VPATH)}timev.h</div><div class='del'>-string.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-string.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}crypt.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}re.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}regex.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}string.c</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-string.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-strlcat.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-strlcat.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-strlcat.$(OBJEXT): {$(VPATH)}strlcat.c</div><div class='del'>-strlcpy.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-strlcpy.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-strlcpy.$(OBJEXT): {$(VPATH)}strlcpy.c</div><div class='del'>-struct.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-struct.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-struct.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-struct.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-struct.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-struct.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}struct.c</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-struct.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-symbol.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-symbol.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}id.c</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}id_table.c</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}symbol.c</div><div class='del'>-symbol.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='del'>-thread.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-thread.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-thread.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-thread.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-thread.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-thread.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}debug.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}hrtime.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}thread.c</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}thread.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).c</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}thread_sync.c</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}timev.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-thread.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-time.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-time.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}time.c</div><div class='del'>-time.$(OBJEXT): {$(VPATH)}timev.h</div><div class='del'>-transcode.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-transcode.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}transcode.c</div><div class='del'>-transcode.$(OBJEXT): {$(VPATH)}transcode_data.h</div><div class='del'>-transient_heap.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-transient_heap.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}debug.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}transient_heap.c</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-transient_heap.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-util.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-util.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}util.c</div><div class='del'>-util.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-variable.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-variable.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-variable.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-variable.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-variable.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-variable.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}constant.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}util.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}variable.c</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-variable.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-version.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-version.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-version.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-version.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-version.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-version.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='del'>-version.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-version.$(OBJEXT): $(top_srcdir)/revision.h</div><div class='del'>-version.$(OBJEXT): $(top_srcdir)/version.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}version.c</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-version.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-vm.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-vm.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-vm.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-vm.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-vm.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-vm.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}constant.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}defs/opt_operand.def</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}gc.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}insns.def</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}probes.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}probes_helper.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm.c</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm.inc</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_args.c</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_call_iseq_optimized.inc</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_eval.c</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_exec.c</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_exec.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_insnhelper.c</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_insnhelper.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_method.c</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-vm.$(OBJEXT): {$(VPATH)}vmtc.inc</div><div class='del'>-vm_backtrace.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-vm_backtrace.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-vm_backtrace.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-vm_backtrace.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-vm_backtrace.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-vm_backtrace.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}debug.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}vm_backtrace.c</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-vm_backtrace.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-vm_dump.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-vm_dump.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-vm_dump.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-vm_dump.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-vm_dump.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-vm_dump.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}addr2line.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}vm_dump.c</div><div class='del'>-vm_dump.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-vm_trace.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='del'>-vm_trace.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='del'>-vm_trace.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='del'>-vm_trace.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='del'>-vm_trace.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='del'>-vm_trace.$(OBJEXT): $(top_srcdir)/include/ruby.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}config.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}debug.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}defines.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}id.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}intern.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}internal.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}io.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}method.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}missing.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}node.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}st.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}subst.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='del'>-vm_trace.$(OBJEXT): {$(VPATH)}vm_trace.c</div><div class='del'>-# AUTOGENERATED DEPENDENCIES END</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}enum.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}node.h {$(VPATH)}util.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}error.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}env.h {$(VPATH)}st.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}node.h {$(VPATH)}env.h {$(VPATH)}util.h \</div><div class='add'>+  {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}file.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubyio.h {$(VPATH)}rubysig.h {$(VPATH)}util.h \</div><div class='add'>+  {$(VPATH)}dln.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}gc.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}node.h \</div><div class='add'>+  {$(VPATH)}env.h {$(VPATH)}re.h {$(VPATH)}regex.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}hash.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}st.h {$(VPATH)}util.h {$(VPATH)}rubysig.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}inits.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}io.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubyio.h {$(VPATH)}rubysig.h  {$(VPATH)}util.h \</div><div class='add'>+  {$(VPATH)}env.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}main.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}marshal.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubyio.h {$(VPATH)}st.h {$(VPATH)}util.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}math.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}numeric.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}env.h {$(VPATH)}defines.h {$(VPATH)}intern.h \</div><div class='add'>+  {$(VPATH)}missing.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}object.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}st.h {$(VPATH)}util.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}pack.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}parse.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}env.h {$(VPATH)}node.h {$(VPATH)}st.h \</div><div class='add'>+  {$(VPATH)}regex.h {$(VPATH)}util.h {$(VPATH)}lex.c</div><div class='add'>+prec.$(OBJEXT): {$(VPATH)}prec.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}process.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubysig.h {$(VPATH)}st.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}random.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}range.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}re.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}re.h {$(VPATH)}regex.h</div><div class='add'>+regex.$(OBJEXT): {$(VPATH)}regex.c config.h {$(VPATH)}regex.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}ruby.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}dln.h {$(VPATH)}node.h {$(VPATH)}util.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}signal.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}rubysig.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}sprintf.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}st.c config.h {$(VPATH)}st.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}string.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}re.h {$(VPATH)}regex.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}struct.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}time.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}util.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}util.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}variable.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}env.h {$(VPATH)}node.h {$(VPATH)}st.h {$(VPATH)}util.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}version.c {$(VPATH)}ruby.h config.h \</div><div class='add'>+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \</div><div class='add'>+  {$(VPATH)}version.h</div><div class='head'>diff --git a/compar.c b/compar.c<br/>index 02529c9960..1488b2c65d 100644<br/>--- a/<a href='/ruby.git/tree/compar.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>compar.c</a><br/>+++ b/<a href='/ruby.git/tree/compar.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>compar.c</a></div><div class='hunk'>@@ -3,226 +3,209 @@</div><div class='ctx'>   compar.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Thu Aug 26 14:39:48 JST 1993</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='del'>-#include "ruby/ruby.h"</div><div class='del'>-#include "id.h"</div><div class='add'>+#include "ruby.h"</div><div class='ctx'> </div><div class='ctx'> VALUE rb_mComparable;</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_cmp(VALUE x, VALUE y)</div><div class='add'>+static ID cmp;</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_cmpint(val, a, b)</div><div class='add'>+    VALUE val, a, b;</div><div class='ctx'> {</div><div class='del'>-    return rb_funcallv(x, idCmp, 1, &amp;y);</div><div class='add'>+    if (NIL_P(val)) {</div><div class='add'>+	rb_cmperr(a, b);</div><div class='add'>+    }</div><div class='add'>+    if (FIXNUM_P(val)) return FIX2INT(val);</div><div class='add'>+    if (TYPE(val) == T_BIGNUM) {</div><div class='add'>+	if (RBIGNUM(val)-&gt;sign) return 1;</div><div class='add'>+	return -1;</div><div class='add'>+    }</div><div class='add'>+    if (RTEST(rb_funcall(val, '&gt;', 1, INT2FIX(0)))) return 1;</div><div class='add'>+    if (RTEST(rb_funcall(val, '&lt;', 1, INT2FIX(0)))) return -1;</div><div class='add'>+    return 0;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_cmperr(VALUE x, VALUE y)</div><div class='add'>+rb_cmperr(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    VALUE classname;</div><div class='add'>+    const char *classname;</div><div class='ctx'> </div><div class='del'>-    if (SPECIAL_CONST_P(y) || BUILTIN_TYPE(y) == T_FLOAT) {</div><div class='del'>-	classname = rb_inspect(y);</div><div class='add'>+    if (SPECIAL_CONST_P(y)) {</div><div class='add'>+	y = rb_inspect(y);</div><div class='add'>+	classname = StringValuePtr(y);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	classname = rb_obj_class(y);</div><div class='add'>+	classname = rb_obj_classname(y);</div><div class='ctx'>     }</div><div class='del'>-    rb_raise(rb_eArgError, "comparison of %"PRIsVALUE" with %"PRIsVALUE" failed",</div><div class='del'>-	     rb_obj_class(x), classname);</div><div class='add'>+    rb_raise(rb_eArgError, "comparison of %s with %s failed",</div><div class='add'>+	     rb_obj_classname(x), classname);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+#define cmperr() (rb_cmperr(x, y), Qnil)</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-invcmp_recursive(VALUE x, VALUE y, int recursive)</div><div class='add'>+cmp_eq(a)</div><div class='add'>+    VALUE *a;</div><div class='ctx'> {</div><div class='del'>-    if (recursive) return Qnil;</div><div class='del'>-    return rb_cmp(y, x);</div><div class='del'>-}</div><div class='add'>+    VALUE c = rb_funcall(a[0], cmp, 1, a[1]);</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_invcmp(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    VALUE invcmp = rb_exec_recursive(invcmp_recursive, x, y);</div><div class='del'>-    if (invcmp == Qundef || NIL_P(invcmp)) {</div><div class='del'>-	return Qnil;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	int result = -rb_cmpint(invcmp, x, y);</div><div class='del'>-	return INT2FIX(result);</div><div class='del'>-    }</div><div class='add'>+    if (NIL_P(c)) return Qnil;</div><div class='add'>+    if (rb_cmpint(c, a[0], a[1]) == 0) return Qtrue;</div><div class='add'>+    return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_eq_recursive(VALUE arg1, VALUE arg2, int recursive)</div><div class='add'>+cmp_failed()</div><div class='ctx'> {</div><div class='del'>-    if (recursive) return Qnil;</div><div class='del'>-    return rb_cmp(arg1, arg2);</div><div class='add'>+    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj == other    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     obj == other    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  method, returning true if it returns 0. Also returns true if</div><div class='ctx'>  *  _obj_ and _other_ are the same object.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_equal(VALUE x, VALUE y)</div><div class='add'>+cmp_equal(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    VALUE c;</div><div class='del'>-    if (x == y) return Qtrue;</div><div class='add'>+    VALUE a[2];</div><div class='ctx'> </div><div class='del'>-    c = rb_exec_recursive_paired_outer(cmp_eq_recursive, x, y, y);</div><div class='del'>-</div><div class='del'>-    if (NIL_P(c)) return Qfalse;</div><div class='del'>-    if (rb_cmpint(c, x, y) == 0) return Qtrue;</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='add'>+    if (x == y) return Qtrue;</div><div class='ctx'> </div><div class='del'>-static int</div><div class='del'>-cmpint(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return rb_cmpint(rb_cmp(x, y), x, y);</div><div class='add'>+    a[0] = x; a[1] = y;</div><div class='add'>+    return rb_rescue(cmp_eq, (VALUE)a, cmp_failed, 0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj &gt; other    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     obj &gt; other    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  method, returning true if it returns 1.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_gt(VALUE x, VALUE y)</div><div class='add'>+cmp_gt(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (cmpint(x, y) &gt; 0) return Qtrue;</div><div class='add'>+    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(c)) return cmperr();</div><div class='add'>+    if (rb_cmpint(c, x, y) &gt; 0) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj &gt;= other    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     obj &gt;= other    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  method, returning true if it returns 0 or 1.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_ge(VALUE x, VALUE y)</div><div class='add'>+cmp_ge(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (cmpint(x, y) &gt;= 0) return Qtrue;</div><div class='add'>+    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(c)) return cmperr();</div><div class='add'>+    if (rb_cmpint(c, x, y) &gt;= 0) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj &lt; other    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     obj &lt; other    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  method, returning true if it returns -1.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_lt(VALUE x, VALUE y)</div><div class='add'>+cmp_lt(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (cmpint(x, y) &lt; 0) return Qtrue;</div><div class='add'>+    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(c)) return cmperr();</div><div class='add'>+    if (rb_cmpint(c, x, y) &lt; 0) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj &lt;= other    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     obj &lt;= other    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  method, returning true if it returns -1 or 0.</div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_le(VALUE x, VALUE y)</div><div class='add'>+cmp_le(x, y)</div><div class='add'>+    VALUE x, y;</div><div class='ctx'> {</div><div class='del'>-    if (cmpint(x, y) &lt;= 0) return Qtrue;</div><div class='add'>+    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(c)) return cmperr();</div><div class='add'>+    if (rb_cmpint(c, x, y) &lt;= 0) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     obj.between?(min, max)    -&gt; true or false</div><div class='del'>- *</div><div class='add'>+ *     obj.between?(min, max)    =&gt; true or false</div><div class='add'>+ *  </div><div class='ctx'>  *  Returns &lt;code&gt;false&lt;/code&gt; if &lt;i&gt;obj&lt;/i&gt; &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  &lt;i&gt;min&lt;/i&gt; is less than zero or if &lt;i&gt;anObject&lt;/i&gt; &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='ctx'>  *  &lt;i&gt;max&lt;/i&gt; is greater than zero, &lt;code&gt;true&lt;/code&gt; otherwise.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     3.between?(1, 5)               #=&gt; true</div><div class='ctx'>  *     6.between?(1, 5)               #=&gt; false</div><div class='ctx'>  *     'cat'.between?('ant', 'dog')   #=&gt; true</div><div class='ctx'>  *     'gnu'.between?('ant', 'dog')   #=&gt; false</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_between(VALUE x, VALUE min, VALUE max)</div><div class='add'>+cmp_between(x, min, max)</div><div class='add'>+    VALUE x, min, max;</div><div class='ctx'> {</div><div class='del'>-    if (cmpint(x, min) &lt; 0) return Qfalse;</div><div class='del'>-    if (cmpint(x, max) &gt; 0) return Qfalse;</div><div class='add'>+    if (RTEST(cmp_lt(x, min))) return Qfalse;</div><div class='add'>+    if (RTEST(cmp_gt(x, max))) return Qfalse;</div><div class='ctx'>     return Qtrue;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     obj.clamp(min, max) -&gt;  obj</div><div class='del'>- *</div><div class='del'>- * Returns &lt;i&gt;min&lt;/i&gt; if &lt;i&gt;obj&lt;/i&gt; &lt;code&gt;&lt;=&gt;&lt;/code&gt; &lt;i&gt;min&lt;/i&gt; is less</div><div class='del'>- * than zero, &lt;i&gt;max&lt;/i&gt; if &lt;i&gt;obj&lt;/i&gt; &lt;code&gt;&lt;=&gt;&lt;/code&gt; &lt;i&gt;max&lt;/i&gt; is</div><div class='del'>- * greater than zero and &lt;i&gt;obj&lt;/i&gt; otherwise.</div><div class='del'>- *</div><div class='del'>- *     12.clamp(0, 100)         #=&gt; 12</div><div class='del'>- *     523.clamp(0, 100)        #=&gt; 100</div><div class='del'>- *     -3.123.clamp(0, 100)     #=&gt; 0</div><div class='del'>- *</div><div class='del'>- *     'd'.clamp('a', 'f')      #=&gt; 'd'</div><div class='del'>- *     'z'.clamp('a', 'f')      #=&gt; 'f'</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-cmp_clamp(VALUE x, VALUE min, VALUE max)</div><div class='del'>-{</div><div class='del'>-    int c;</div><div class='del'>-</div><div class='del'>-    if (cmpint(min, max) &gt; 0) {</div><div class='del'>-	rb_raise(rb_eArgError, "min argument must be smaller than max argument");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    c = cmpint(x, min);</div><div class='del'>-    if (c == 0) return x;</div><div class='del'>-    if (c &lt; 0) return min;</div><div class='del'>-    c = cmpint(x, max);</div><div class='del'>-    if (c &gt; 0) return max;</div><div class='del'>-    return x;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='ctx'>  *  The &lt;code&gt;Comparable&lt;/code&gt; mixin is used by classes whose objects</div><div class='ctx'>  *  may be ordered. The class must define the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator,</div><div class='ctx'>  *  which compares the receiver against another object, returning -1, 0,</div><div class='ctx'>  *  or +1 depending on whether the receiver is less than, equal to, or</div><div class='del'>- *  greater than the other object. If the other object is not comparable</div><div class='del'>- *  then the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator should return nil.</div><div class='del'>- *  &lt;code&gt;Comparable&lt;/code&gt; uses</div><div class='add'>+ *  greater than the other object. &lt;code&gt;Comparable&lt;/code&gt; uses</div><div class='ctx'>  *  &lt;code&gt;&lt;=&gt;&lt;/code&gt; to implement the conventional comparison operators</div><div class='ctx'>  *  (&lt;code&gt;&lt;&lt;/code&gt;, &lt;code&gt;&lt;=&lt;/code&gt;, &lt;code&gt;==&lt;/code&gt;, &lt;code&gt;&gt;=&lt;/code&gt;,</div><div class='ctx'>  *  and &lt;code&gt;&gt;&lt;/code&gt;) and the method &lt;code&gt;between?&lt;/code&gt;.</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     class SizeMatters</div><div class='ctx'>  *       include Comparable</div><div class='ctx'>  *       attr :str</div><div class='del'>- *       def &lt;=&gt;(other)</div><div class='del'>- *         str.size &lt;=&gt; other.str.size</div><div class='add'>+ *       def &lt;=&gt;(anOther)</div><div class='add'>+ *         str.size &lt;=&gt; anOther.str.size</div><div class='ctx'>  *       end</div><div class='ctx'>  *       def initialize(str)</div><div class='ctx'>  *         @str = str</div><div class='hunk'>@@ -231,26 +214,23 @@ cmp_clamp(VALUE x, VALUE min, VALUE max)</div><div class='ctx'>  *         @str</div><div class='ctx'>  *       end</div><div class='ctx'>  *     end</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     s1 = SizeMatters.new("Z")</div><div class='ctx'>  *     s2 = SizeMatters.new("YY")</div><div class='ctx'>  *     s3 = SizeMatters.new("XXX")</div><div class='ctx'>  *     s4 = SizeMatters.new("WWWW")</div><div class='ctx'>  *     s5 = SizeMatters.new("VVVVV")</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  *     s1 &lt; s2                       #=&gt; true</div><div class='ctx'>  *     s4.between?(s1, s3)           #=&gt; false</div><div class='ctx'>  *     s4.between?(s3, s5)           #=&gt; true</div><div class='ctx'>  *     [ s3, s2, s5, s4, s1 ].sort   #=&gt; [Z, YY, XXX, WWWW, VVVVV]</div><div class='del'>- *</div><div class='add'>+ *     </div><div class='ctx'>  */</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-Init_Comparable(void)</div><div class='add'>+Init_Comparable()</div><div class='ctx'> {</div><div class='del'>-#undef rb_intern</div><div class='del'>-#define rb_intern(str) rb_intern_const(str)</div><div class='del'>-</div><div class='ctx'>     rb_mComparable = rb_define_module("Comparable");</div><div class='ctx'>     rb_define_method(rb_mComparable, "==", cmp_equal, 1);</div><div class='ctx'>     rb_define_method(rb_mComparable, "&gt;", cmp_gt, 1);</div><div class='hunk'>@@ -258,5 +238,6 @@ Init_Comparable(void)</div><div class='ctx'>     rb_define_method(rb_mComparable, "&lt;", cmp_lt, 1);</div><div class='ctx'>     rb_define_method(rb_mComparable, "&lt;=", cmp_le, 1);</div><div class='ctx'>     rb_define_method(rb_mComparable, "between?", cmp_between, 2);</div><div class='del'>-    rb_define_method(rb_mComparable, "clamp", cmp_clamp, 2);</div><div class='add'>+</div><div class='add'>+    cmp = rb_intern("&lt;=&gt;");</div><div class='ctx'> }</div><div class='head'>diff --git a/compile.c b/compile.c<br/>deleted file mode 100644<br/>index 731b05323b..0000000000<br/>--- a/<a href='/ruby.git/tree/compile.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>compile.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10125 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  compile.c - ruby node tree -&gt; VM instruction sequence</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-  created at: 04/01/01 03:42:15 JST</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2004-2007 Koichi Sasada</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#include "ruby/encoding.h"</div><div class='del'>-#include "ruby/re.h"</div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "encindex.h"</div><div class='del'>-#include &lt;math.h&gt;</div><div class='del'>-</div><div class='del'>-#include "vm_core.h"</div><div class='del'>-#include "vm_debug.h"</div><div class='del'>-#include "iseq.h"</div><div class='del'>-#include "insns.inc"</div><div class='del'>-#include "insns_info.inc"</div><div class='del'>-#include "id_table.h"</div><div class='del'>-#include "gc.h"</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_DLADDR</div><div class='del'>-# include &lt;dlfcn.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#undef RUBY_UNTYPED_DATA_WARNING</div><div class='del'>-#define RUBY_UNTYPED_DATA_WARNING 0</div><div class='del'>-</div><div class='del'>-#define FIXNUM_INC(n, i) ((n)+(INT2FIX(i)&amp;~FIXNUM_FLAG))</div><div class='del'>-#define FIXNUM_OR(n, i) ((n)|INT2FIX(i))</div><div class='del'>-</div><div class='del'>-typedef struct iseq_link_element {</div><div class='del'>-    enum {</div><div class='del'>-	ISEQ_ELEMENT_ANCHOR,</div><div class='del'>-	ISEQ_ELEMENT_LABEL,</div><div class='del'>-	ISEQ_ELEMENT_INSN,</div><div class='del'>-	ISEQ_ELEMENT_ADJUST,</div><div class='del'>-	ISEQ_ELEMENT_TRACE</div><div class='del'>-    } type;</div><div class='del'>-    struct iseq_link_element *next;</div><div class='del'>-    struct iseq_link_element *prev;</div><div class='del'>-} LINK_ELEMENT;</div><div class='del'>-</div><div class='del'>-typedef struct iseq_link_anchor {</div><div class='del'>-    LINK_ELEMENT anchor;</div><div class='del'>-    LINK_ELEMENT *last;</div><div class='del'>-} LINK_ANCHOR;</div><div class='del'>-</div><div class='del'>-typedef enum {</div><div class='del'>-    LABEL_RESCUE_NONE,</div><div class='del'>-    LABEL_RESCUE_BEG,</div><div class='del'>-    LABEL_RESCUE_END,</div><div class='del'>-    LABEL_RESCUE_TYPE_MAX</div><div class='del'>-} LABEL_RESCUE_TYPE;</div><div class='del'>-</div><div class='del'>-typedef struct iseq_label_data {</div><div class='del'>-    LINK_ELEMENT link;</div><div class='del'>-    int label_no;</div><div class='del'>-    int position;</div><div class='del'>-    int sc_state;</div><div class='del'>-    int sp;</div><div class='del'>-    int refcnt;</div><div class='del'>-    unsigned int set: 1;</div><div class='del'>-    unsigned int rescued: 2;</div><div class='del'>-    unsigned int unremovable: 1;</div><div class='del'>-} LABEL;</div><div class='del'>-</div><div class='del'>-typedef struct iseq_insn_data {</div><div class='del'>-    LINK_ELEMENT link;</div><div class='del'>-    enum ruby_vminsn_type insn_id;</div><div class='del'>-    int operand_size;</div><div class='del'>-    int sc_state;</div><div class='del'>-    VALUE *operands;</div><div class='del'>-    struct {</div><div class='del'>-	int line_no;</div><div class='del'>-	rb_event_flag_t events;</div><div class='del'>-    } insn_info;</div><div class='del'>-} INSN;</div><div class='del'>-</div><div class='del'>-typedef struct iseq_adjust_data {</div><div class='del'>-    LINK_ELEMENT link;</div><div class='del'>-    LABEL *label;</div><div class='del'>-    int line_no;</div><div class='del'>-} ADJUST;</div><div class='del'>-</div><div class='del'>-typedef struct iseq_trace_data {</div><div class='del'>-    LINK_ELEMENT link;</div><div class='del'>-    rb_event_flag_t event;</div><div class='del'>-    long data;</div><div class='del'>-} TRACE;</div><div class='del'>-</div><div class='del'>-struct ensure_range {</div><div class='del'>-    LABEL *begin;</div><div class='del'>-    LABEL *end;</div><div class='del'>-    struct ensure_range *next;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct iseq_compile_data_ensure_node_stack {</div><div class='del'>-    const NODE *ensure_node;</div><div class='del'>-    struct iseq_compile_data_ensure_node_stack *prev;</div><div class='del'>-    struct ensure_range *erange;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>- * debug function(macro) interface depend on CPDEBUG</div><div class='del'>- * if it is less than 0, runtime option is in effect.</div><div class='del'>- *</div><div class='del'>- * debug level:</div><div class='del'>- *  0: no debug output</div><div class='del'>- *  1: show node type</div><div class='del'>- *  2: show node important parameters</div><div class='del'>- *  ...</div><div class='del'>- *  5: show other parameters</div><div class='del'>- * 10: show every AST array</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-#ifndef CPDEBUG</div><div class='del'>-#define CPDEBUG 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if CPDEBUG &gt;= 0</div><div class='del'>-#define compile_debug CPDEBUG</div><div class='del'>-#else</div><div class='del'>-#define compile_debug ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_level</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if CPDEBUG</div><div class='del'>-</div><div class='del'>-#define compile_debug_print_indent(level) \</div><div class='del'>-    ruby_debug_print_indent((level), compile_debug, gl_node_level * 2)</div><div class='del'>-</div><div class='del'>-#define debugp(header, value) (void) \</div><div class='del'>-  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='del'>-   ruby_debug_print_value(1, compile_debug, (header), (value)))</div><div class='del'>-</div><div class='del'>-#define debugi(header, id)  (void) \</div><div class='del'>-  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='del'>-   ruby_debug_print_id(1, compile_debug, (header), (id)))</div><div class='del'>-</div><div class='del'>-#define debugp_param(header, value)  (void) \</div><div class='del'>-  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='del'>-   ruby_debug_print_value(1, compile_debug, (header), (value)))</div><div class='del'>-</div><div class='del'>-#define debugp_verbose(header, value)  (void) \</div><div class='del'>-  (compile_debug_print_indent(2) &amp;&amp; \</div><div class='del'>-   ruby_debug_print_value(2, compile_debug, (header), (value)))</div><div class='del'>-</div><div class='del'>-#define debugp_verbose_node(header, value)  (void) \</div><div class='del'>-  (compile_debug_print_indent(10) &amp;&amp; \</div><div class='del'>-   ruby_debug_print_value(10, compile_debug, (header), (value)))</div><div class='del'>-</div><div class='del'>-#define debug_node_start(node)  ((void) \</div><div class='del'>-  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='del'>-   (ruby_debug_print_node(1, CPDEBUG, "", (const NODE *)(node)), gl_node_level)), \</div><div class='del'>-   gl_node_level++)</div><div class='del'>-</div><div class='del'>-#define debug_node_end()  gl_node_level --</div><div class='del'>-</div><div class='del'>-#else</div><div class='del'>-</div><div class='del'>-#define debugi(header, id)                 ((void)0)</div><div class='del'>-#define debugp(header, value)              ((void)0)</div><div class='del'>-#define debugp_verbose(header, value)      ((void)0)</div><div class='del'>-#define debugp_verbose_node(header, value) ((void)0)</div><div class='del'>-#define debugp_param(header, value)        ((void)0)</div><div class='del'>-#define debug_node_start(node)             ((void)0)</div><div class='del'>-#define debug_node_end()                   ((void)0)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if CPDEBUG &gt; 1 || CPDEBUG &lt; 0</div><div class='del'>-#define printf ruby_debug_printf</div><div class='del'>-#define debugs if (compile_debug_print_indent(1)) ruby_debug_printf</div><div class='del'>-#define debug_compile(msg, v) ((void)(compile_debug_print_indent(1) &amp;&amp; fputs((msg), stderr)), (v))</div><div class='del'>-#else</div><div class='del'>-#define debugs                             if(0)printf</div><div class='del'>-#define debug_compile(msg, v) (v)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define LVAR_ERRINFO (1)</div><div class='del'>-</div><div class='del'>-/* create new label */</div><div class='del'>-#define NEW_LABEL(l) new_label_body(iseq, (l))</div><div class='del'>-#define LABEL_FORMAT "&lt;L%03d&gt;"</div><div class='del'>-</div><div class='del'>-#define NEW_ISEQ(node, name, type, line_no) \</div><div class='del'>-  new_child_iseq(iseq, (node), rb_fstring(name), 0, (type), (line_no))</div><div class='del'>-</div><div class='del'>-#define NEW_CHILD_ISEQ(node, name, type, line_no) \</div><div class='del'>-  new_child_iseq(iseq, (node), rb_fstring(name), iseq, (type), (line_no))</div><div class='del'>-</div><div class='del'>-/* add instructions */</div><div class='del'>-#define ADD_SEQ(seq1, seq2) \</div><div class='del'>-  APPEND_LIST((seq1), (seq2))</div><div class='del'>-</div><div class='del'>-/* add an instruction */</div><div class='del'>-#define ADD_INSN(seq, line, insn) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))</div><div class='del'>-</div><div class='del'>-/* insert an instruction before next */</div><div class='del'>-#define INSERT_BEFORE_INSN(next, line, insn) \</div><div class='del'>-  ELEM_INSERT_PREV(&amp;(next)-&gt;link, (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))</div><div class='del'>-</div><div class='del'>-/* insert an instruction after prev */</div><div class='del'>-#define INSERT_AFTER_INSN(prev, line, insn) \</div><div class='del'>-  ELEM_INSERT_NEXT(&amp;(prev)-&gt;link, (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))</div><div class='del'>-</div><div class='del'>-/* add an instruction with some operands (1, 2, 3, 5) */</div><div class='del'>-#define ADD_INSN1(seq, line, insn, op1) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) \</div><div class='del'>-           new_insn_body(iseq, (line), BIN(insn), 1, (VALUE)(op1)))</div><div class='del'>-</div><div class='del'>-/* insert an instruction with some operands (1, 2, 3, 5) before next */</div><div class='del'>-#define INSERT_BEFORE_INSN1(next, line, insn, op1) \</div><div class='del'>-  ELEM_INSERT_PREV(&amp;(next)-&gt;link, (LINK_ELEMENT *) \</div><div class='del'>-           new_insn_body(iseq, (line), BIN(insn), 1, (VALUE)(op1)))</div><div class='del'>-</div><div class='del'>-/* insert an instruction with some operands (1, 2, 3, 5) after prev */</div><div class='del'>-#define INSERT_AFTER_INSN1(prev, line, insn, op1) \</div><div class='del'>-  ELEM_INSERT_NEXT(&amp;(prev)-&gt;link, (LINK_ELEMENT *) \</div><div class='del'>-           new_insn_body(iseq, (line), BIN(insn), 1, (VALUE)(op1)))</div><div class='del'>-</div><div class='del'>-#define LABEL_REF(label) ((label)-&gt;refcnt++)</div><div class='del'>-</div><div class='del'>-/* add an instruction with label operand (alias of ADD_INSN1) */</div><div class='del'>-#define ADD_INSNL(seq, line, insn, label) (ADD_INSN1(seq, line, insn, label), LABEL_REF(label))</div><div class='del'>-</div><div class='del'>-#define ADD_INSN2(seq, line, insn, op1, op2) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) \</div><div class='del'>-           new_insn_body(iseq, (line), BIN(insn), 2, (VALUE)(op1), (VALUE)(op2)))</div><div class='del'>-</div><div class='del'>-#define ADD_INSN3(seq, line, insn, op1, op2, op3) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) \</div><div class='del'>-           new_insn_body(iseq, (line), BIN(insn), 3, (VALUE)(op1), (VALUE)(op2), (VALUE)(op3)))</div><div class='del'>-</div><div class='del'>-/* Specific Insn factory */</div><div class='del'>-#define ADD_SEND(seq, line, id, argc) \</div><div class='del'>-  ADD_SEND_R((seq), (line), (id), (argc), NULL, (VALUE)INT2FIX(0), NULL)</div><div class='del'>-</div><div class='del'>-#define ADD_SEND_WITH_FLAG(seq, line, id, argc, flag) \</div><div class='del'>-  ADD_SEND_R((seq), (line), (id), (argc), NULL, (VALUE)(flag), NULL)</div><div class='del'>-</div><div class='del'>-#define ADD_SEND_WITH_BLOCK(seq, line, id, argc, block) \</div><div class='del'>-  ADD_SEND_R((seq), (line), (id), (argc), (block), (VALUE)INT2FIX(0), NULL)</div><div class='del'>-</div><div class='del'>-#define ADD_CALL_RECEIVER(seq, line) \</div><div class='del'>-  ADD_INSN((seq), (line), putself)</div><div class='del'>-</div><div class='del'>-#define ADD_CALL(seq, line, id, argc) \</div><div class='del'>-  ADD_SEND_R((seq), (line), (id), (argc), NULL, (VALUE)INT2FIX(VM_CALL_FCALL), NULL)</div><div class='del'>-</div><div class='del'>-#define ADD_CALL_WITH_BLOCK(seq, line, id, argc, block) \</div><div class='del'>-  ADD_SEND_R((seq), (line), (id), (argc), (block), (VALUE)INT2FIX(VM_CALL_FCALL), NULL)</div><div class='del'>-</div><div class='del'>-#define ADD_SEND_R(seq, line, id, argc, block, flag, keywords) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_send(iseq, (line), (id), (VALUE)(argc), (block), (VALUE)(flag), (keywords)))</div><div class='del'>-</div><div class='del'>-#define ADD_TRACE(seq, event) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *)new_trace_body(iseq, (event), 0))</div><div class='del'>-#define ADD_TRACE_WITH_DATA(seq, event, data) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *)new_trace_body(iseq, (event), (data)))</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#define DECL_BRANCH_BASE(branches, first_line, first_column, last_line, last_column, type) \</div><div class='del'>-  do { \</div><div class='del'>-      if (ISEQ_COVERAGE(iseq) &amp;&amp; \</div><div class='del'>-	  ISEQ_BRANCH_COVERAGE(iseq) &amp;&amp; \</div><div class='del'>-	  (first_line) &gt; 0) { \</div><div class='del'>-	  VALUE structure = RARRAY_AREF(ISEQ_BRANCH_COVERAGE(iseq), 0); \</div><div class='del'>-	  branches = rb_ary_tmp_new(0); \</div><div class='del'>-	  rb_ary_push(structure, branches); \</div><div class='del'>-	  rb_ary_push(branches, ID2SYM(rb_intern(type))); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(first_line)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(first_column)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(last_line)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(last_column)); \</div><div class='del'>-      } \</div><div class='del'>-  } while (0)</div><div class='del'>-#define ADD_TRACE_BRANCH_COVERAGE(seq, first_line, first_column, last_line, last_column, type, branches) \</div><div class='del'>-  do { \</div><div class='del'>-      if (ISEQ_COVERAGE(iseq) &amp;&amp; \</div><div class='del'>-	  ISEQ_BRANCH_COVERAGE(iseq) &amp;&amp; \</div><div class='del'>-	  (first_line) &gt; 0) { \</div><div class='del'>-	  VALUE counters = RARRAY_AREF(ISEQ_BRANCH_COVERAGE(iseq), 1); \</div><div class='del'>-	  long counter_idx = RARRAY_LEN(counters); \</div><div class='del'>-	  rb_ary_push(counters, INT2FIX(0)); \</div><div class='del'>-	  rb_ary_push(branches, ID2SYM(rb_intern(type))); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(first_line)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(first_column)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(last_line)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(last_column)); \</div><div class='del'>-	  rb_ary_push(branches, INT2FIX(counter_idx)); \</div><div class='del'>-          ADD_TRACE_WITH_DATA(seq, RUBY_EVENT_COVERAGE_BRANCH, counter_idx); \</div><div class='del'>-          ADD_INSN(seq, last_line, nop); \</div><div class='del'>-      } \</div><div class='del'>-  } while (0)</div><div class='del'>-</div><div class='del'>-static void iseq_add_getlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level);</div><div class='del'>-static void iseq_add_setlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level);</div><div class='del'>-</div><div class='del'>-#define ADD_GETLOCAL(seq, line, idx, level) iseq_add_getlocal(iseq, (seq), (line), (idx), (level))</div><div class='del'>-#define ADD_SETLOCAL(seq, line, idx, level) iseq_add_setlocal(iseq, (seq), (line), (idx), (level))</div><div class='del'>-</div><div class='del'>-/* add label */</div><div class='del'>-#define ADD_LABEL(seq, label) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) (label))</div><div class='del'>-</div><div class='del'>-#define APPEND_LABEL(seq, before, label) \</div><div class='del'>-  APPEND_ELEM((seq), (before), (LINK_ELEMENT *) (label))</div><div class='del'>-</div><div class='del'>-#define ADD_ADJUST(seq, line, label) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) new_adjust_body(iseq, (label), (line)))</div><div class='del'>-</div><div class='del'>-#define ADD_ADJUST_RESTORE(seq, label) \</div><div class='del'>-  ADD_ELEM((seq), (LINK_ELEMENT *) new_adjust_body(iseq, (label), -1))</div><div class='del'>-</div><div class='del'>-#define LABEL_UNREMOVABLE(label) \</div><div class='del'>-    ((label) ? (LABEL_REF(label), (label)-&gt;unremovable=1) : 0)</div><div class='del'>-#define ADD_CATCH_ENTRY(type, ls, le, iseqv, lc) do {				\</div><div class='del'>-    VALUE _e = rb_ary_new3(5, (type),						\</div><div class='del'>-			   (VALUE)(ls) | 1, (VALUE)(le) | 1,			\</div><div class='del'>-			   (VALUE)(iseqv), (VALUE)(lc) | 1);			\</div><div class='del'>-    LABEL_UNREMOVABLE(ls);							\</div><div class='del'>-    LABEL_REF(le);								\</div><div class='del'>-    LABEL_REF(lc);								\</div><div class='del'>-    rb_ary_push(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary, freeze_hide_obj(_e));	\</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-/* compile node */</div><div class='del'>-#define COMPILE(anchor, desc, node) \</div><div class='del'>-  (debug_compile("== " desc "\n", \</div><div class='del'>-                 iseq_compile_each(iseq, (anchor), (node), 0)))</div><div class='del'>-</div><div class='del'>-/* compile node, this node's value will be popped */</div><div class='del'>-#define COMPILE_POPPED(anchor, desc, node)    \</div><div class='del'>-  (debug_compile("== " desc "\n", \</div><div class='del'>-                 iseq_compile_each(iseq, (anchor), (node), 1)))</div><div class='del'>-</div><div class='del'>-/* compile node, which is popped when 'popped' is true */</div><div class='del'>-#define COMPILE_(anchor, desc, node, popped)  \</div><div class='del'>-  (debug_compile("== " desc "\n", \</div><div class='del'>-                 iseq_compile_each(iseq, (anchor), (node), (popped))))</div><div class='del'>-</div><div class='del'>-#define COMPILE_RECV(anchor, desc, node) \</div><div class='del'>-    (private_recv_p(node) ? \</div><div class='del'>-     (ADD_INSN(anchor, nd_line(node), putself), VM_CALL_FCALL) : \</div><div class='del'>-     (COMPILE(anchor, desc, node-&gt;nd_recv), 0))</div><div class='del'>-</div><div class='del'>-#define OPERAND_AT(insn, idx) \</div><div class='del'>-  (((INSN*)(insn))-&gt;operands[(idx)])</div><div class='del'>-</div><div class='del'>-#define INSN_OF(insn) \</div><div class='del'>-  (((INSN*)(insn))-&gt;insn_id)</div><div class='del'>-</div><div class='del'>-#define IS_INSN(link) ((link)-&gt;type == ISEQ_ELEMENT_INSN)</div><div class='del'>-#define IS_LABEL(link) ((link)-&gt;type == ISEQ_ELEMENT_LABEL)</div><div class='del'>-#define IS_ADJUST(link) ((link)-&gt;type == ISEQ_ELEMENT_ADJUST)</div><div class='del'>-#define IS_TRACE(link) ((link)-&gt;type == ISEQ_ELEMENT_TRACE)</div><div class='del'>-#define IS_INSN_ID(iobj, insn) (INSN_OF(iobj) == BIN(insn))</div><div class='del'>-#define IS_NEXT_INSN_ID(link, insn) \</div><div class='del'>-    ((link)-&gt;next &amp;&amp; IS_INSN((link)-&gt;next) &amp;&amp; IS_INSN_ID((link)-&gt;next, insn))</div><div class='del'>-</div><div class='del'>-/* error */</div><div class='del'>-#if CPDEBUG &gt; 0</div><div class='del'>-NORETURN(static void append_compile_error(rb_iseq_t *iseq, int line, const char *fmt, ...));</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-append_compile_error(const rb_iseq_t *iseq, int line, const char *fmt, ...)</div><div class='del'>-{</div><div class='del'>-    VALUE err_info = ISEQ_COMPILE_DATA(iseq)-&gt;err_info;</div><div class='del'>-    VALUE file = rb_iseq_path(iseq);</div><div class='del'>-    VALUE err = err_info == Qtrue ? Qfalse : err_info;</div><div class='del'>-    va_list args;</div><div class='del'>-</div><div class='del'>-    va_start(args, fmt);</div><div class='del'>-    err = rb_syntax_error_append(err, file, line, -1, NULL, fmt, args);</div><div class='del'>-    va_end(args);</div><div class='del'>-    if (NIL_P(err_info)) {</div><div class='del'>-	RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;err_info, err);</div><div class='del'>-	rb_set_errinfo(err);</div><div class='del'>-    }</div><div class='del'>-    else if (!err_info) {</div><div class='del'>-	RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;err_info, Qtrue);</div><div class='del'>-    }</div><div class='del'>-    if (compile_debug) rb_exc_fatal(err);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if 0</div><div class='del'>-static void</div><div class='del'>-compile_bug(rb_iseq_t *iseq, int line, const char *fmt, ...)</div><div class='del'>-{</div><div class='del'>-    va_list args;</div><div class='del'>-    va_start(args, fmt);</div><div class='del'>-    rb_report_bug_valist(rb_iseq_path(iseq), line, fmt, args);</div><div class='del'>-    va_end(args);</div><div class='del'>-    abort();</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COMPILE_ERROR append_compile_error</div><div class='del'>-</div><div class='del'>-#define ERROR_ARGS_AT(n) iseq, nd_line(n),</div><div class='del'>-#define ERROR_ARGS ERROR_ARGS_AT(node)</div><div class='del'>-</div><div class='del'>-#define EXPECT_NODE(prefix, node, ndtype, errval) \</div><div class='del'>-do { \</div><div class='del'>-    const NODE *error_node = (node); \</div><div class='del'>-    enum node_type error_type = nd_type(error_node); \</div><div class='del'>-    if (error_type != (ndtype)) { \</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS_AT(error_node) \</div><div class='del'>-		      prefix ": " #ndtype " is expected, but %s", \</div><div class='del'>-		      ruby_node_name(error_type)); \</div><div class='del'>-	return errval; \</div><div class='del'>-    } \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define EXPECT_NODE_NONULL(prefix, parent, ndtype, errval) \</div><div class='del'>-do { \</div><div class='del'>-    COMPILE_ERROR(ERROR_ARGS_AT(parent) \</div><div class='del'>-		  prefix ": must be " #ndtype ", but 0"); \</div><div class='del'>-    return errval; \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define UNKNOWN_NODE(prefix, node, errval) \</div><div class='del'>-do { \</div><div class='del'>-    const NODE *error_node = (node); \</div><div class='del'>-    COMPILE_ERROR(ERROR_ARGS_AT(error_node) prefix ": unknown node (%s)", \</div><div class='del'>-		  ruby_node_name(nd_type(error_node))); \</div><div class='del'>-    return errval; \</div><div class='del'>-} while (0)</div><div class='del'>-</div><div class='del'>-#define COMPILE_OK 1</div><div class='del'>-#define COMPILE_NG 0</div><div class='del'>-</div><div class='del'>-#define CHECK(sub) if (!(sub)) {BEFORE_RETURN;return COMPILE_NG;}</div><div class='del'>-#define BEFORE_RETURN</div><div class='del'>-</div><div class='del'>-/* leave name uninitialized so that compiler warn if INIT_ANCHOR is</div><div class='del'>- * missing */</div><div class='del'>-#define DECL_ANCHOR(name) \</div><div class='del'>-    LINK_ANCHOR name[1] = {{{ISEQ_ELEMENT_ANCHOR,},}}</div><div class='del'>-#define INIT_ANCHOR(name) \</div><div class='del'>-    (name-&gt;last = &amp;name-&gt;anchor)</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-freeze_hide_obj(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    OBJ_FREEZE(obj);</div><div class='del'>-    RBASIC_CLEAR_CLASS(obj);</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#include "optinsn.inc"</div><div class='del'>-#if OPT_INSTRUCTIONS_UNIFICATION</div><div class='del'>-#include "optunifs.inc"</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/* for debug */</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define ISEQ_ARG iseq,</div><div class='del'>-#define ISEQ_ARG_DECLARE rb_iseq_t *iseq,</div><div class='del'>-#else</div><div class='del'>-#define ISEQ_ARG</div><div class='del'>-#define ISEQ_ARG_DECLARE</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if CPDEBUG</div><div class='del'>-#define gl_node_level ISEQ_COMPILE_DATA(iseq)-&gt;node_level</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void dump_disasm_list_with_cursor(const LINK_ELEMENT *link, const LINK_ELEMENT *curr, const LABEL *dest);</div><div class='del'>-static void dump_disasm_list(const LINK_ELEMENT *elem);</div><div class='del'>-</div><div class='del'>-static int insn_data_length(INSN *iobj);</div><div class='del'>-static int calc_sp_depth(int depth, INSN *iobj);</div><div class='del'>-</div><div class='del'>-static INSN *new_insn_body(rb_iseq_t *iseq, int line_no, enum ruby_vminsn_type insn_id, int argc, ...);</div><div class='del'>-static LABEL *new_label_body(rb_iseq_t *iseq, long line);</div><div class='del'>-static ADJUST *new_adjust_body(rb_iseq_t *iseq, LABEL *label, int line);</div><div class='del'>-static TRACE *new_trace_body(rb_iseq_t *iseq, rb_event_flag_t event, long data);</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static int iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *anchor, const NODE *n, int);</div><div class='del'>-static int iseq_setup(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='del'>-static int iseq_setup_insn(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='del'>-static int iseq_optimize(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='del'>-static int iseq_insns_unification(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='del'>-</div><div class='del'>-static int iseq_set_local_table(rb_iseq_t *iseq, const ID *tbl);</div><div class='del'>-static int iseq_set_exception_local_table(rb_iseq_t *iseq);</div><div class='del'>-static int iseq_set_arguments(rb_iseq_t *iseq, LINK_ANCHOR *const anchor, const NODE *const node);</div><div class='del'>-</div><div class='del'>-static int iseq_set_sequence_stackcaching(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='del'>-static int iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='del'>-static int iseq_set_exception_table(rb_iseq_t *iseq);</div><div class='del'>-static int iseq_set_optargs_table(rb_iseq_t *iseq);</div><div class='del'>-</div><div class='del'>-static int compile_defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, VALUE needstr);</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * To make Array to LinkedList, use link_anchor</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-verify_list(ISEQ_ARG_DECLARE const char *info, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-#if CPDEBUG</div><div class='del'>-    int flag = 0;</div><div class='del'>-    LINK_ELEMENT *list, *plist;</div><div class='del'>-</div><div class='del'>-    if (!compile_debug) return;</div><div class='del'>-</div><div class='del'>-    list = anchor-&gt;anchor.next;</div><div class='del'>-    plist = &amp;anchor-&gt;anchor;</div><div class='del'>-    while (list) {</div><div class='del'>-	if (plist != list-&gt;prev) {</div><div class='del'>-	    flag += 1;</div><div class='del'>-	}</div><div class='del'>-	plist = list;</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (anchor-&gt;last != plist &amp;&amp; anchor-&gt;last != 0) {</div><div class='del'>-	flag |= 0x70000;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (flag != 0) {</div><div class='del'>-	rb_bug("list verify error: %08x (%s)", flag, info);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define verify_list(info, anchor) verify_list(iseq, (info), (anchor))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * elem1, elem2 =&gt; elem1, elem2, elem</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-ADD_ELEM(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor, LINK_ELEMENT *elem)</div><div class='del'>-{</div><div class='del'>-    elem-&gt;prev = anchor-&gt;last;</div><div class='del'>-    anchor-&gt;last-&gt;next = elem;</div><div class='del'>-    anchor-&gt;last = elem;</div><div class='del'>-    verify_list("add", anchor);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * elem1, before, elem2 =&gt; elem1, before, elem, elem2</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-APPEND_ELEM(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor, LINK_ELEMENT *before, LINK_ELEMENT *elem)</div><div class='del'>-{</div><div class='del'>-    elem-&gt;prev = before;</div><div class='del'>-    elem-&gt;next = before-&gt;next;</div><div class='del'>-    elem-&gt;next-&gt;prev = elem;</div><div class='del'>-    before-&gt;next = elem;</div><div class='del'>-    if (before == anchor-&gt;last) anchor-&gt;last = elem;</div><div class='del'>-    verify_list("add", anchor);</div><div class='del'>-}</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define ADD_ELEM(anchor, elem) ADD_ELEM(iseq, (anchor), (elem))</div><div class='del'>-#define APPEND_ELEM(anchor, before, elem) APPEND_ELEM(iseq, (anchor), (before), (elem))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define ISEQ_LAST_LINE(iseq) (ISEQ_COMPILE_DATA(iseq)-&gt;last_line)</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_add_mark_object_compile_time(const rb_iseq_t *iseq, VALUE v)</div><div class='del'>-{</div><div class='del'>-    if (!SPECIAL_CONST_P(v)) {</div><div class='del'>-	rb_ary_push(ISEQ_COMPILE_DATA(iseq)-&gt;mark_ary, v);</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-freeze_literal(rb_iseq_t *iseq, VALUE lit)</div><div class='del'>-{</div><div class='del'>-    lit = rb_fstring(lit);</div><div class='del'>-    rb_ary_push(ISEQ_COMPILE_DATA(iseq)-&gt;mark_ary, lit);</div><div class='del'>-    return lit;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-validate_label(st_data_t name, st_data_t label, st_data_t arg)</div><div class='del'>-{</div><div class='del'>-    rb_iseq_t *iseq = (rb_iseq_t *)arg;</div><div class='del'>-    LABEL *lobj = (LABEL *)label;</div><div class='del'>-    if (!lobj-&gt;link.next) {</div><div class='del'>-	do {</div><div class='del'>-	    COMPILE_ERROR(iseq, lobj-&gt;position,</div><div class='del'>-			  "%"PRIsVALUE": undefined label",</div><div class='del'>-			  rb_sym2str((VALUE)name));</div><div class='del'>-	} while (0);</div><div class='del'>-    }</div><div class='del'>-    return ST_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-validate_labels(rb_iseq_t *iseq, st_table *labels_table)</div><div class='del'>-{</div><div class='del'>-    st_foreach(labels_table, validate_label, (st_data_t)iseq);</div><div class='del'>-    st_free_table(labels_table);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_iseq_compile_ifunc(rb_iseq_t *iseq, const struct vm_ifunc *ifunc)</div><div class='del'>-{</div><div class='del'>-    DECL_ANCHOR(ret);</div><div class='del'>-    INIT_ANCHOR(ret);</div><div class='del'>-</div><div class='del'>-    (*ifunc-&gt;func)(iseq, ret, ifunc-&gt;data);</div><div class='del'>-</div><div class='del'>-    ADD_INSN(ret, ISEQ_COMPILE_DATA(iseq)-&gt;last_line, leave);</div><div class='del'>-</div><div class='del'>-    CHECK(iseq_setup_insn(iseq, ret));</div><div class='del'>-    return iseq_setup(iseq, ret);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_iseq_compile_node(rb_iseq_t *iseq, const NODE *node)</div><div class='del'>-{</div><div class='del'>-    DECL_ANCHOR(ret);</div><div class='del'>-    INIT_ANCHOR(ret);</div><div class='del'>-</div><div class='del'>-    if (imemo_type_p((VALUE)node, imemo_ifunc)) {</div><div class='del'>-        rb_raise(rb_eArgError, "unexpected imemo_ifunc");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (node == 0) {</div><div class='del'>-	COMPILE(ret, "nil", node);</div><div class='del'>-	iseq_set_local_table(iseq, 0);</div><div class='del'>-    }</div><div class='del'>-    /* assume node is T_NODE */</div><div class='del'>-    else if (nd_type(node) == NODE_SCOPE) {</div><div class='del'>-	/* iseq type of top, method, class, block */</div><div class='del'>-	iseq_set_local_table(iseq, node-&gt;nd_tbl);</div><div class='del'>-	iseq_set_arguments(iseq, ret, node-&gt;nd_args);</div><div class='del'>-</div><div class='del'>-	switch (iseq-&gt;body-&gt;type) {</div><div class='del'>-	  case ISEQ_TYPE_BLOCK:</div><div class='del'>-	    {</div><div class='del'>-		LABEL *start = ISEQ_COMPILE_DATA(iseq)-&gt;start_label = NEW_LABEL(0);</div><div class='del'>-		LABEL *end = ISEQ_COMPILE_DATA(iseq)-&gt;end_label = NEW_LABEL(0);</div><div class='del'>-</div><div class='del'>-		start-&gt;rescued = LABEL_RESCUE_BEG;</div><div class='del'>-		end-&gt;rescued = LABEL_RESCUE_END;</div><div class='del'>-</div><div class='del'>-		ADD_TRACE(ret, RUBY_EVENT_B_CALL);</div><div class='del'>-		ADD_INSN (ret, FIX2INT(iseq-&gt;body-&gt;location.first_lineno), nop);</div><div class='del'>-		ADD_LABEL(ret, start);</div><div class='del'>-		CHECK(COMPILE(ret, "block body", node-&gt;nd_body));</div><div class='del'>-		ADD_LABEL(ret, end);</div><div class='del'>-		ADD_TRACE(ret, RUBY_EVENT_B_RETURN);</div><div class='del'>-		ISEQ_COMPILE_DATA(iseq)-&gt;last_line = iseq-&gt;body-&gt;location.code_location.end_pos.lineno;</div><div class='del'>-</div><div class='del'>-		/* wide range catch handler must put at last */</div><div class='del'>-		ADD_CATCH_ENTRY(CATCH_TYPE_REDO, start, end, NULL, start);</div><div class='del'>-		ADD_CATCH_ENTRY(CATCH_TYPE_NEXT, start, end, NULL, end);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_TYPE_CLASS:</div><div class='del'>-	    {</div><div class='del'>-		ADD_TRACE(ret, RUBY_EVENT_CLASS);</div><div class='del'>-		CHECK(COMPILE(ret, "scoped node", node-&gt;nd_body));</div><div class='del'>-		ADD_TRACE(ret, RUBY_EVENT_END);</div><div class='del'>-		ISEQ_COMPILE_DATA(iseq)-&gt;last_line = nd_line(node);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_TYPE_METHOD:</div><div class='del'>-	    {</div><div class='del'>-		ADD_TRACE(ret, RUBY_EVENT_CALL);</div><div class='del'>-		CHECK(COMPILE(ret, "scoped node", node-&gt;nd_body));</div><div class='del'>-		ADD_TRACE(ret, RUBY_EVENT_RETURN);</div><div class='del'>-		ISEQ_COMPILE_DATA(iseq)-&gt;last_line = nd_line(node);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  default: {</div><div class='del'>-	    CHECK(COMPILE(ret, "scoped node", node-&gt;nd_body));</div><div class='del'>-	    break;</div><div class='del'>-	  }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	const char *m;</div><div class='del'>-#define INVALID_ISEQ_TYPE(type) \</div><div class='del'>-	ISEQ_TYPE_##type: m = #type; goto invalid_iseq_type</div><div class='del'>-	switch (iseq-&gt;body-&gt;type) {</div><div class='del'>-	  case INVALID_ISEQ_TYPE(METHOD);</div><div class='del'>-	  case INVALID_ISEQ_TYPE(CLASS);</div><div class='del'>-	  case INVALID_ISEQ_TYPE(BLOCK);</div><div class='del'>-	  case INVALID_ISEQ_TYPE(EVAL);</div><div class='del'>-	  case INVALID_ISEQ_TYPE(MAIN);</div><div class='del'>-	  case INVALID_ISEQ_TYPE(TOP);</div><div class='del'>-#undef INVALID_ISEQ_TYPE /* invalid iseq types end */</div><div class='del'>-	  case ISEQ_TYPE_RESCUE:</div><div class='del'>-	    iseq_set_exception_local_table(iseq);</div><div class='del'>-	    CHECK(COMPILE(ret, "rescue", node));</div><div class='del'>-	    break;</div><div class='del'>-	  case ISEQ_TYPE_ENSURE:</div><div class='del'>-	    iseq_set_exception_local_table(iseq);</div><div class='del'>-	    CHECK(COMPILE_POPPED(ret, "ensure", node));</div><div class='del'>-	    break;</div><div class='del'>-	  case ISEQ_TYPE_PLAIN:</div><div class='del'>-	    CHECK(COMPILE(ret, "ensure", node));</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "unknown scope: %d", iseq-&gt;body-&gt;type);</div><div class='del'>-	    return COMPILE_NG;</div><div class='del'>-	  invalid_iseq_type:</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "compile/ISEQ_TYPE_%s should not be reached", m);</div><div class='del'>-	    return COMPILE_NG;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (iseq-&gt;body-&gt;type == ISEQ_TYPE_RESCUE || iseq-&gt;body-&gt;type == ISEQ_TYPE_ENSURE) {</div><div class='del'>-	ADD_GETLOCAL(ret, 0, LVAR_ERRINFO, 0);</div><div class='del'>-	ADD_INSN1(ret, 0, throw, INT2FIX(0) /* continue throw */ );</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ADD_INSN(ret, ISEQ_COMPILE_DATA(iseq)-&gt;last_line, leave);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-#if SUPPORT_JOKE</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;labels_table) {</div><div class='del'>-	st_table *labels_table = ISEQ_COMPILE_DATA(iseq)-&gt;labels_table;</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;labels_table = 0;</div><div class='del'>-	validate_labels(iseq, labels_table);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    CHECK(iseq_setup_insn(iseq, ret));</div><div class='del'>-    return iseq_setup(iseq, ret);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_iseq_translate_threaded_code(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE</div><div class='del'>-    const void * const *table = rb_vm_get_insns_address_table();</div><div class='del'>-    unsigned int i;</div><div class='del'>-    VALUE *encoded = (VALUE *)iseq-&gt;body-&gt;iseq_encoded;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; iseq-&gt;body-&gt;iseq_size; /* */ ) {</div><div class='del'>-	int insn = (int)iseq-&gt;body-&gt;iseq_encoded[i];</div><div class='del'>-	int len = insn_len(insn);</div><div class='del'>-	encoded[i] = (VALUE)table[insn];</div><div class='del'>-	i += len;</div><div class='del'>-    }</div><div class='del'>-    FL_SET(iseq, ISEQ_TRANSLATED);</div><div class='del'>-#endif</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE *</div><div class='del'>-rb_iseq_original_iseq(const rb_iseq_t *iseq) /* cold path */</div><div class='del'>-{</div><div class='del'>-    VALUE *original_code;</div><div class='del'>-</div><div class='del'>-    if (ISEQ_ORIGINAL_ISEQ(iseq)) return ISEQ_ORIGINAL_ISEQ(iseq);</div><div class='del'>-    original_code = ISEQ_ORIGINAL_ISEQ_ALLOC(iseq, iseq-&gt;body-&gt;iseq_size);</div><div class='del'>-    MEMCPY(original_code, iseq-&gt;body-&gt;iseq_encoded, VALUE, iseq-&gt;body-&gt;iseq_size);</div><div class='del'>-</div><div class='del'>-#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE</div><div class='del'>-    {</div><div class='del'>-	unsigned int i;</div><div class='del'>-</div><div class='del'>-	for (i = 0; i &lt; iseq-&gt;body-&gt;iseq_size; /* */ ) {</div><div class='del'>-	    const void *addr = (const void *)original_code[i];</div><div class='del'>-	    const int insn = rb_vm_insn_addr2insn(addr);</div><div class='del'>-</div><div class='del'>-	    original_code[i] = insn;</div><div class='del'>-	    i += insn_len(insn);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return original_code;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*********************************************/</div><div class='del'>-/* definition of data structure for compiler */</div><div class='del'>-/*********************************************/</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * On 32-bit SPARC, GCC by default generates SPARC V7 code that may require</div><div class='del'>- * 8-byte word alignment. On the other hand, Oracle Solaris Studio seems to</div><div class='del'>- * generate SPARCV8PLUS code with unaligned memory access instructions.</div><div class='del'>- * That is why the STRICT_ALIGNMENT is defined only with GCC.</div><div class='del'>- */</div><div class='del'>-#if defined(__sparc) &amp;&amp; SIZEOF_VOIDP == 4 &amp;&amp; defined(__GNUC__)</div><div class='del'>-  #define STRICT_ALIGNMENT</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef STRICT_ALIGNMENT</div><div class='del'>-  #if defined(HAVE_TRUE_LONG_LONG) &amp;&amp; SIZEOF_LONG_LONG &gt; SIZEOF_VALUE</div><div class='del'>-    #define ALIGNMENT_SIZE SIZEOF_LONG_LONG</div><div class='del'>-  #else</div><div class='del'>-    #define ALIGNMENT_SIZE SIZEOF_VALUE</div><div class='del'>-  #endif</div><div class='del'>-  #define PADDING_SIZE_MAX    ((size_t)((ALIGNMENT_SIZE) - 1))</div><div class='del'>-  #define ALIGNMENT_SIZE_MASK PADDING_SIZE_MAX</div><div class='del'>-  /* Note: ALIGNMENT_SIZE == (2 ** N) is expected. */</div><div class='del'>-#else</div><div class='del'>-  #define PADDING_SIZE_MAX 0</div><div class='del'>-#endif /* STRICT_ALIGNMENT */</div><div class='del'>-</div><div class='del'>-#ifdef STRICT_ALIGNMENT</div><div class='del'>-/* calculate padding size for aligned memory access */</div><div class='del'>-static size_t</div><div class='del'>-calc_padding(void *ptr, size_t size)</div><div class='del'>-{</div><div class='del'>-    size_t mis;</div><div class='del'>-    size_t padding = 0;</div><div class='del'>-</div><div class='del'>-    mis = (size_t)ptr &amp; ALIGNMENT_SIZE_MASK;</div><div class='del'>-    if (mis &gt; 0) {</div><div class='del'>-        padding = ALIGNMENT_SIZE - mis;</div><div class='del'>-    }</div><div class='del'>-/*</div><div class='del'>- * On 32-bit sparc or equivalents, when a single VALUE is requested</div><div class='del'>- * and padding == sizeof(VALUE), it is clear that no padding is needed.</div><div class='del'>- */</div><div class='del'>-#if ALIGNMENT_SIZE &gt; SIZEOF_VALUE</div><div class='del'>-    if (size == sizeof(VALUE) &amp;&amp; padding == sizeof(VALUE)) {</div><div class='del'>-        padding = 0;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    return padding;</div><div class='del'>-}</div><div class='del'>-#endif /* STRICT_ALIGNMENT */</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-compile_data_alloc(rb_iseq_t *iseq, size_t size)</div><div class='del'>-{</div><div class='del'>-    void *ptr = 0;</div><div class='del'>-    struct iseq_compile_data_storage *storage =</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;storage_current;</div><div class='del'>-#ifdef STRICT_ALIGNMENT</div><div class='del'>-    size_t padding = calc_padding((void *)&amp;storage-&gt;buff[storage-&gt;pos], size);</div><div class='del'>-#else</div><div class='del'>-    const size_t padding = 0; /* expected to be optimized by compiler */</div><div class='del'>-#endif /* STRICT_ALIGNMENT */</div><div class='del'>-</div><div class='del'>-    if (size &gt;= INT_MAX - padding) rb_memerror();</div><div class='del'>-    if (storage-&gt;pos + size + padding &gt; storage-&gt;size) {</div><div class='del'>-	unsigned int alloc_size = storage-&gt;size;</div><div class='del'>-</div><div class='del'>-	while (alloc_size &lt; size + PADDING_SIZE_MAX) {</div><div class='del'>-	    if (alloc_size &gt;= INT_MAX / 2) rb_memerror();</div><div class='del'>-	    alloc_size *= 2;</div><div class='del'>-	}</div><div class='del'>-	storage-&gt;next = (void *)ALLOC_N(char, alloc_size +</div><div class='del'>-					offsetof(struct iseq_compile_data_storage, buff));</div><div class='del'>-	storage = ISEQ_COMPILE_DATA(iseq)-&gt;storage_current = storage-&gt;next;</div><div class='del'>-	storage-&gt;next = 0;</div><div class='del'>-	storage-&gt;pos = 0;</div><div class='del'>-	storage-&gt;size = alloc_size;</div><div class='del'>-#ifdef STRICT_ALIGNMENT</div><div class='del'>-        padding = calc_padding((void *)&amp;storage-&gt;buff[storage-&gt;pos], size);</div><div class='del'>-#endif /* STRICT_ALIGNMENT */</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-#ifdef STRICT_ALIGNMENT</div><div class='del'>-    storage-&gt;pos += (int)padding;</div><div class='del'>-#endif /* STRICT_ALIGNMENT */</div><div class='del'>-</div><div class='del'>-    ptr = (void *)&amp;storage-&gt;buff[storage-&gt;pos];</div><div class='del'>-    storage-&gt;pos += (int)size;</div><div class='del'>-    return ptr;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static INSN *</div><div class='del'>-compile_data_alloc_insn(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    return (INSN *)compile_data_alloc(iseq, sizeof(INSN));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LABEL *</div><div class='del'>-compile_data_alloc_label(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    return (LABEL *)compile_data_alloc(iseq, sizeof(LABEL));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ADJUST *</div><div class='del'>-compile_data_alloc_adjust(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    return (ADJUST *)compile_data_alloc(iseq, sizeof(ADJUST));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static TRACE *</div><div class='del'>-compile_data_alloc_trace(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    return (TRACE *)compile_data_alloc(iseq, sizeof(TRACE));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * elem1, elemX =&gt; elem1, elem2, elemX</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-ELEM_INSERT_NEXT(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)</div><div class='del'>-{</div><div class='del'>-    elem2-&gt;next = elem1-&gt;next;</div><div class='del'>-    elem2-&gt;prev = elem1;</div><div class='del'>-    elem1-&gt;next = elem2;</div><div class='del'>-    if (elem2-&gt;next) {</div><div class='del'>-	elem2-&gt;next-&gt;prev = elem2;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * elem1, elemX =&gt; elemX, elem2, elem1</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-ELEM_INSERT_PREV(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)</div><div class='del'>-{</div><div class='del'>-    elem2-&gt;prev = elem1-&gt;prev;</div><div class='del'>-    elem2-&gt;next = elem1;</div><div class='del'>-    elem1-&gt;prev = elem2;</div><div class='del'>-    if (elem2-&gt;prev) {</div><div class='del'>-	elem2-&gt;prev-&gt;next = elem2;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * elemX, elem1, elemY =&gt; elemX, elem2, elemY</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-ELEM_REPLACE(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)</div><div class='del'>-{</div><div class='del'>-    elem2-&gt;prev = elem1-&gt;prev;</div><div class='del'>-    elem2-&gt;next = elem1-&gt;next;</div><div class='del'>-    if (elem1-&gt;prev) {</div><div class='del'>-	elem1-&gt;prev-&gt;next = elem2;</div><div class='del'>-    }</div><div class='del'>-    if (elem1-&gt;next) {</div><div class='del'>-	elem1-&gt;next-&gt;prev = elem2;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ELEM_REMOVE(LINK_ELEMENT *elem)</div><div class='del'>-{</div><div class='del'>-    elem-&gt;prev-&gt;next = elem-&gt;next;</div><div class='del'>-    if (elem-&gt;next) {</div><div class='del'>-	elem-&gt;next-&gt;prev = elem-&gt;prev;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-FIRST_ELEMENT(const LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    return anchor-&gt;anchor.next;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-LAST_ELEMENT(LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    return anchor-&gt;last;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-POP_ELEMENT(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *elem = anchor-&gt;last;</div><div class='del'>-    anchor-&gt;last = anchor-&gt;last-&gt;prev;</div><div class='del'>-    anchor-&gt;last-&gt;next = 0;</div><div class='del'>-    verify_list("pop", anchor);</div><div class='del'>-    return elem;</div><div class='del'>-}</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define POP_ELEMENT(anchor) POP_ELEMENT(iseq, (anchor))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-ELEM_FIRST_INSN(LINK_ELEMENT *elem)</div><div class='del'>-{</div><div class='del'>-    while (elem) {</div><div class='del'>-	switch (elem-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	  case ISEQ_ELEMENT_ADJUST:</div><div class='del'>-	    return elem;</div><div class='del'>-	  default:</div><div class='del'>-	    elem = elem-&gt;next;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-LIST_INSN_SIZE_ONE(const LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *first_insn = ELEM_FIRST_INSN(FIRST_ELEMENT(anchor));</div><div class='del'>-    if (first_insn != NULL &amp;&amp;</div><div class='del'>-	ELEM_FIRST_INSN(first_insn-&gt;next) == NULL) {</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-LIST_INSN_SIZE_ZERO(const LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    if (ELEM_FIRST_INSN(FIRST_ELEMENT(anchor)) == NULL) {</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * anc1: e1, e2, e3</div><div class='del'>- * anc2: e4, e5</div><div class='del'>- *#=&gt;</div><div class='del'>- * anc1: e1, e2, e3, e4, e5</div><div class='del'>- * anc2: e4, e5 (broken)</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-APPEND_LIST(ISEQ_ARG_DECLARE LINK_ANCHOR *const anc1, LINK_ANCHOR *const anc2)</div><div class='del'>-{</div><div class='del'>-    if (anc2-&gt;anchor.next) {</div><div class='del'>-	anc1-&gt;last-&gt;next = anc2-&gt;anchor.next;</div><div class='del'>-	anc2-&gt;anchor.next-&gt;prev = anc1-&gt;last;</div><div class='del'>-	anc1-&gt;last = anc2-&gt;last;</div><div class='del'>-    }</div><div class='del'>-    verify_list("append", anc1);</div><div class='del'>-}</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define APPEND_LIST(anc1, anc2) APPEND_LIST(iseq, (anc1), (anc2))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * anc1: e1, e2, e3</div><div class='del'>- * anc2: e4, e5</div><div class='del'>- *#=&gt;</div><div class='del'>- * anc1: e4, e5, e1, e2, e3</div><div class='del'>- * anc2: e4, e5 (broken)</div><div class='del'>- */</div><div class='del'>-static void</div><div class='del'>-INSERT_LIST(ISEQ_ARG_DECLARE LINK_ANCHOR *const anc1, LINK_ANCHOR *const anc2)</div><div class='del'>-{</div><div class='del'>-    if (anc2-&gt;anchor.next) {</div><div class='del'>-	LINK_ELEMENT *first = anc1-&gt;anchor.next;</div><div class='del'>-	anc1-&gt;anchor.next = anc2-&gt;anchor.next;</div><div class='del'>-	anc1-&gt;anchor.next-&gt;prev = &amp;anc1-&gt;anchor;</div><div class='del'>-	anc2-&gt;last-&gt;next = first;</div><div class='del'>-	if (first) {</div><div class='del'>-	    first-&gt;prev = anc2-&gt;last;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    anc1-&gt;last = anc2-&gt;last;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    verify_list("append", anc1);</div><div class='del'>-}</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define INSERT_LIST(anc1, anc2) INSERT_LIST(iseq, (anc1), (anc2))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if CPDEBUG &amp;&amp; 0</div><div class='del'>-static void</div><div class='del'>-debug_list(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *list = FIRST_ELEMENT(anchor);</div><div class='del'>-    printf("----\n");</div><div class='del'>-    printf("anch: %p, frst: %p, last: %p\n", &amp;anchor-&gt;anchor,</div><div class='del'>-	   anchor-&gt;anchor.next, anchor-&gt;last);</div><div class='del'>-    while (list) {</div><div class='del'>-	printf("curr: %p, next: %p, prev: %p, type: %d\n", list, list-&gt;next,</div><div class='del'>-	       list-&gt;prev, FIX2INT(list-&gt;type));</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-    printf("----\n");</div><div class='del'>-</div><div class='del'>-    dump_disasm_list(anchor-&gt;anchor.next);</div><div class='del'>-    verify_list("debug list", anchor);</div><div class='del'>-}</div><div class='del'>-#if CPDEBUG &lt; 0</div><div class='del'>-#define debug_list(anc) debug_list(iseq, (anc))</div><div class='del'>-#endif</div><div class='del'>-#else</div><div class='del'>-#define debug_list(anc) ((void)0)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static TRACE *</div><div class='del'>-new_trace_body(rb_iseq_t *iseq, rb_event_flag_t event, long data)</div><div class='del'>-{</div><div class='del'>-    TRACE *trace = compile_data_alloc_trace(iseq);</div><div class='del'>-</div><div class='del'>-    trace-&gt;link.type = ISEQ_ELEMENT_TRACE;</div><div class='del'>-    trace-&gt;link.next = NULL;</div><div class='del'>-    trace-&gt;event = event;</div><div class='del'>-    trace-&gt;data = data;</div><div class='del'>-</div><div class='del'>-    return trace;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LABEL *</div><div class='del'>-new_label_body(rb_iseq_t *iseq, long line)</div><div class='del'>-{</div><div class='del'>-    LABEL *labelobj = compile_data_alloc_label(iseq);</div><div class='del'>-</div><div class='del'>-    labelobj-&gt;link.type = ISEQ_ELEMENT_LABEL;</div><div class='del'>-    labelobj-&gt;link.next = 0;</div><div class='del'>-</div><div class='del'>-    labelobj-&gt;label_no = ISEQ_COMPILE_DATA(iseq)-&gt;label_no++;</div><div class='del'>-    labelobj-&gt;sc_state = 0;</div><div class='del'>-    labelobj-&gt;sp = -1;</div><div class='del'>-    labelobj-&gt;refcnt = 0;</div><div class='del'>-    labelobj-&gt;set = 0;</div><div class='del'>-    labelobj-&gt;rescued = LABEL_RESCUE_NONE;</div><div class='del'>-    labelobj-&gt;unremovable = 0;</div><div class='del'>-    return labelobj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ADJUST *</div><div class='del'>-new_adjust_body(rb_iseq_t *iseq, LABEL *label, int line)</div><div class='del'>-{</div><div class='del'>-    ADJUST *adjust = compile_data_alloc_adjust(iseq);</div><div class='del'>-    adjust-&gt;link.type = ISEQ_ELEMENT_ADJUST;</div><div class='del'>-    adjust-&gt;link.next = 0;</div><div class='del'>-    adjust-&gt;label = label;</div><div class='del'>-    adjust-&gt;line_no = line;</div><div class='del'>-    LABEL_UNREMOVABLE(label);</div><div class='del'>-    return adjust;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static INSN *</div><div class='del'>-new_insn_core(rb_iseq_t *iseq, int line_no,</div><div class='del'>-	      int insn_id, int argc, VALUE *argv)</div><div class='del'>-{</div><div class='del'>-    INSN *iobj = compile_data_alloc_insn(iseq);</div><div class='del'>-</div><div class='del'>-    /* printf("insn_id: %d, line: %d\n", insn_id, line_no); */</div><div class='del'>-</div><div class='del'>-    iobj-&gt;link.type = ISEQ_ELEMENT_INSN;</div><div class='del'>-    iobj-&gt;link.next = 0;</div><div class='del'>-    iobj-&gt;insn_id = insn_id;</div><div class='del'>-    iobj-&gt;insn_info.line_no = line_no;</div><div class='del'>-    iobj-&gt;insn_info.events = 0;</div><div class='del'>-    iobj-&gt;operands = argv;</div><div class='del'>-    iobj-&gt;operand_size = argc;</div><div class='del'>-    iobj-&gt;sc_state = 0;</div><div class='del'>-    return iobj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static INSN *</div><div class='del'>-new_insn_body(rb_iseq_t *iseq, int line_no, enum ruby_vminsn_type insn_id, int argc, ...)</div><div class='del'>-{</div><div class='del'>-    VALUE *operands = 0;</div><div class='del'>-    va_list argv;</div><div class='del'>-    if (argc &gt; 0) {</div><div class='del'>-	int i;</div><div class='del'>-	va_init_list(argv, argc);</div><div class='del'>-	operands = (VALUE *)compile_data_alloc(iseq, sizeof(VALUE) * argc);</div><div class='del'>-	for (i = 0; i &lt; argc; i++) {</div><div class='del'>-	    VALUE v = va_arg(argv, VALUE);</div><div class='del'>-	    operands[i] = v;</div><div class='del'>-	}</div><div class='del'>-	va_end(argv);</div><div class='del'>-    }</div><div class='del'>-    return new_insn_core(iseq, line_no, insn_id, argc, operands);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct rb_call_info *</div><div class='del'>-new_callinfo(rb_iseq_t *iseq, ID mid, int argc, unsigned int flag, struct rb_call_info_kw_arg *kw_arg, int has_blockiseq)</div><div class='del'>-{</div><div class='del'>-    size_t size = kw_arg != NULL ? sizeof(struct rb_call_info_with_kwarg) : sizeof(struct rb_call_info);</div><div class='del'>-    struct rb_call_info *ci = (struct rb_call_info *)compile_data_alloc(iseq, size);</div><div class='del'>-    struct rb_call_info_with_kwarg *ci_kw = (struct rb_call_info_with_kwarg *)ci;</div><div class='del'>-</div><div class='del'>-    ci-&gt;mid = mid;</div><div class='del'>-    ci-&gt;flag = flag;</div><div class='del'>-    ci-&gt;orig_argc = argc;</div><div class='del'>-</div><div class='del'>-    if (kw_arg) {</div><div class='del'>-	ci-&gt;flag |= VM_CALL_KWARG;</div><div class='del'>-	ci_kw-&gt;kw_arg = kw_arg;</div><div class='del'>-	ci-&gt;orig_argc += kw_arg-&gt;keyword_len;</div><div class='del'>-	iseq-&gt;body-&gt;ci_kw_size++;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	iseq-&gt;body-&gt;ci_size++;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!(ci-&gt;flag &amp; (VM_CALL_ARGS_SPLAT | VM_CALL_ARGS_BLOCKARG | VM_CALL_KW_SPLAT)) &amp;&amp;</div><div class='del'>-	kw_arg == NULL &amp;&amp; !has_blockiseq) {</div><div class='del'>-	ci-&gt;flag |= VM_CALL_ARGS_SIMPLE;</div><div class='del'>-    }</div><div class='del'>-    return ci;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static INSN *</div><div class='del'>-new_insn_send(rb_iseq_t *iseq, int line_no, ID id, VALUE argc, const rb_iseq_t *blockiseq, VALUE flag, struct rb_call_info_kw_arg *keywords)</div><div class='del'>-{</div><div class='del'>-    VALUE *operands = (VALUE *)compile_data_alloc(iseq, sizeof(VALUE) * 3);</div><div class='del'>-    operands[0] = (VALUE)new_callinfo(iseq, id, FIX2INT(argc), FIX2INT(flag), keywords, blockiseq != NULL);</div><div class='del'>-    operands[1] = Qfalse; /* cache */</div><div class='del'>-    operands[2] = (VALUE)blockiseq;</div><div class='del'>-    return new_insn_core(iseq, line_no, BIN(send), 3, operands);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_iseq_t *</div><div class='del'>-new_child_iseq(rb_iseq_t *iseq, const NODE *const node,</div><div class='del'>-	       VALUE name, const rb_iseq_t *parent, enum iseq_type type, int line_no)</div><div class='del'>-{</div><div class='del'>-    rb_iseq_t *ret_iseq;</div><div class='del'>-    rb_ast_body_t ast;</div><div class='del'>-</div><div class='del'>-    ast.root = node;</div><div class='del'>-    ast.compile_option = 0;</div><div class='del'>-    ast.line_count = -1;</div><div class='del'>-</div><div class='del'>-    debugs("[new_child_iseq]&gt; ---------------------------------------\n");</div><div class='del'>-    ret_iseq = rb_iseq_new_with_opt(&amp;ast, name,</div><div class='del'>-				    rb_iseq_path(iseq), rb_iseq_realpath(iseq),</div><div class='del'>-				    INT2FIX(line_no), parent, type, ISEQ_COMPILE_DATA(iseq)-&gt;option);</div><div class='del'>-    debugs("[new_child_iseq]&lt; ---------------------------------------\n");</div><div class='del'>-    iseq_add_mark_object_compile_time(iseq, (VALUE)ret_iseq);</div><div class='del'>-    return ret_iseq;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_iseq_t *</div><div class='del'>-new_child_iseq_ifunc(rb_iseq_t *iseq, const struct vm_ifunc *ifunc,</div><div class='del'>-		     VALUE name, const rb_iseq_t *parent, enum iseq_type type, int line_no)</div><div class='del'>-{</div><div class='del'>-    rb_iseq_t *ret_iseq;</div><div class='del'>-</div><div class='del'>-    debugs("[new_child_iseq_ifunc]&gt; ---------------------------------------\n");</div><div class='del'>-    ret_iseq = rb_iseq_new_ifunc(ifunc, name,</div><div class='del'>-				 rb_iseq_path(iseq), rb_iseq_realpath(iseq),</div><div class='del'>-				 INT2FIX(line_no), parent, type, ISEQ_COMPILE_DATA(iseq)-&gt;option);</div><div class='del'>-    debugs("[new_child_iseq_ifunc]&lt; ---------------------------------------\n");</div><div class='del'>-    iseq_add_mark_object_compile_time(iseq, (VALUE)ret_iseq);</div><div class='del'>-    return ret_iseq;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_catch_except_p(struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    body-&gt;catch_except_p = TRUE;</div><div class='del'>-    if (body-&gt;parent_iseq != NULL) {</div><div class='del'>-        set_catch_except_p(body-&gt;parent_iseq-&gt;body);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* Set body-&gt;catch_except_p to TRUE if the ISeq may catch an exception. If it is FALSE,</div><div class='del'>-   JIT-ed code may be optimized.  If we are extremely conservative, we should set TRUE</div><div class='del'>-   if catch table exists.  But we want to optimize while loop, which always has catch</div><div class='del'>-   table entries for break/next/redo.</div><div class='del'>-</div><div class='del'>-   So this function sets TRUE for limited ISeqs with break/next/redo catch table entries</div><div class='del'>-   whose child ISeq would really raise an exception. */</div><div class='del'>-static void</div><div class='del'>-update_catch_except_flags(struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    unsigned int pos;</div><div class='del'>-    size_t i;</div><div class='del'>-    int insn;</div><div class='del'>-    const struct iseq_catch_table *ct = body-&gt;catch_table;</div><div class='del'>-</div><div class='del'>-    /* This assumes that a block has parent_iseq which may catch an exception from the block, and that</div><div class='del'>-       BREAK/NEXT/REDO catch table entries are used only when `throw` insn is used in the block. */</div><div class='del'>-    pos = 0;</div><div class='del'>-    while (pos &lt; body-&gt;iseq_size) {</div><div class='del'>-#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE</div><div class='del'>-        insn = rb_vm_insn_addr2insn((void *)body-&gt;iseq_encoded[pos]);</div><div class='del'>-#else</div><div class='del'>-        insn = (int)body-&gt;iseq_encoded[pos];</div><div class='del'>-#endif</div><div class='del'>-        if (insn == BIN(throw)) {</div><div class='del'>-            set_catch_except_p(body);</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-        pos += insn_len(insn);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (ct == NULL)</div><div class='del'>-        return;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; ct-&gt;size; i++) {</div><div class='del'>-        const struct iseq_catch_table_entry *entry = &amp;ct-&gt;entries[i];</div><div class='del'>-        if (entry-&gt;type != CATCH_TYPE_BREAK</div><div class='del'>-            &amp;&amp; entry-&gt;type != CATCH_TYPE_NEXT</div><div class='del'>-            &amp;&amp; entry-&gt;type != CATCH_TYPE_REDO) {</div><div class='del'>-            body-&gt;catch_except_p = TRUE;</div><div class='del'>-            break;</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-iseq_insert_nop_between_end_and_cont(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    VALUE catch_table_ary = ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary;</div><div class='del'>-    unsigned int i, tlen = (unsigned int)RARRAY_LEN(catch_table_ary);</div><div class='del'>-    const VALUE *tptr = RARRAY_CONST_PTR_TRANSIENT(catch_table_ary);</div><div class='del'>-    for (i = 0; i &lt; tlen; i++) {</div><div class='del'>-        const VALUE *ptr = RARRAY_CONST_PTR_TRANSIENT(tptr[i]);</div><div class='del'>-        LINK_ELEMENT *end = (LINK_ELEMENT *)(ptr[2] &amp; ~1);</div><div class='del'>-        LINK_ELEMENT *cont = (LINK_ELEMENT *)(ptr[4] &amp; ~1);</div><div class='del'>-        LINK_ELEMENT *e;</div><div class='del'>-        for (e = end; e &amp;&amp; (IS_LABEL(e) || IS_TRACE(e)); e = e-&gt;next) {</div><div class='del'>-            if (e == cont) {</div><div class='del'>-                INSN *nop = new_insn_core(iseq, 0, BIN(nop), 0, 0);</div><div class='del'>-                ELEM_INSERT_NEXT(end, &amp;nop-&gt;link);</div><div class='del'>-                break;</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_setup_insn(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    if (RTEST(ISEQ_COMPILE_DATA(iseq)-&gt;err_info))</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-</div><div class='del'>-    /* debugs("[compile step 2] (iseq_array_to_linkedlist)\n"); */</div><div class='del'>-</div><div class='del'>-    if (compile_debug &gt; 5)</div><div class='del'>-	dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='del'>-</div><div class='del'>-    debugs("[compile step 3.1 (iseq_optimize)]\n");</div><div class='del'>-    iseq_optimize(iseq, anchor);</div><div class='del'>-</div><div class='del'>-    if (compile_debug &gt; 5)</div><div class='del'>-	dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='del'>-</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;instructions_unification) {</div><div class='del'>-	debugs("[compile step 3.2 (iseq_insns_unification)]\n");</div><div class='del'>-	iseq_insns_unification(iseq, anchor);</div><div class='del'>-	if (compile_debug &gt; 5)</div><div class='del'>-	    dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;stack_caching) {</div><div class='del'>-	debugs("[compile step 3.3 (iseq_set_sequence_stackcaching)]\n");</div><div class='del'>-	iseq_set_sequence_stackcaching(iseq, anchor);</div><div class='del'>-	if (compile_debug &gt; 5)</div><div class='del'>-	    dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    debugs("[compile step 3.4 (iseq_insert_nop_between_end_and_cont)]\n");</div><div class='del'>-    iseq_insert_nop_between_end_and_cont(iseq);</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_setup(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    if (RTEST(ISEQ_COMPILE_DATA(iseq)-&gt;err_info))</div><div class='del'>-        return COMPILE_NG;</div><div class='del'>-</div><div class='del'>-    debugs("[compile step 4.1 (iseq_set_sequence)]\n");</div><div class='del'>-    if (!iseq_set_sequence(iseq, anchor)) return COMPILE_NG;</div><div class='del'>-    if (compile_debug &gt; 5)</div><div class='del'>-	dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='del'>-</div><div class='del'>-    debugs("[compile step 4.2 (iseq_set_exception_table)]\n");</div><div class='del'>-    if (!iseq_set_exception_table(iseq)) return COMPILE_NG;</div><div class='del'>-</div><div class='del'>-    debugs("[compile step 4.3 (set_optargs_table)] \n");</div><div class='del'>-    if (!iseq_set_optargs_table(iseq)) return COMPILE_NG;</div><div class='del'>-</div><div class='del'>-    debugs("[compile step 5 (iseq_translate_threaded_code)] \n");</div><div class='del'>-    if (!rb_iseq_translate_threaded_code(iseq)) return COMPILE_NG;</div><div class='del'>-</div><div class='del'>-    update_catch_except_flags(iseq-&gt;body);</div><div class='del'>-</div><div class='del'>-    if (compile_debug &gt; 1) {</div><div class='del'>-	VALUE str = rb_iseq_disasm(iseq);</div><div class='del'>-	printf("%s\n", StringValueCStr(str));</div><div class='del'>-    }</div><div class='del'>-    debugs("[compile step: finish]\n");</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_set_exception_local_table(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    /* TODO: every id table is same -&gt; share it.</div><div class='del'>-     * Current problem is iseq_free().</div><div class='del'>-     */</div><div class='del'>-    ID id_dollar_bang;</div><div class='del'>-    ID *ids = (ID *)ALLOC_N(ID, 1);</div><div class='del'>-</div><div class='del'>-    CONST_ID(id_dollar_bang, "#$!");</div><div class='del'>-    iseq-&gt;body-&gt;local_table_size = 1;</div><div class='del'>-    ids[0] = id_dollar_bang;</div><div class='del'>-    iseq-&gt;body-&gt;local_table = ids;</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-get_lvar_level(const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    int lev = 0;</div><div class='del'>-    while (iseq != iseq-&gt;body-&gt;local_iseq) {</div><div class='del'>-	lev++;</div><div class='del'>-	iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='del'>-    }</div><div class='del'>-    return lev;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-get_dyna_var_idx_at_raw(const rb_iseq_t *iseq, ID id)</div><div class='del'>-{</div><div class='del'>-    unsigned int i;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; iseq-&gt;body-&gt;local_table_size; i++) {</div><div class='del'>-	if (iseq-&gt;body-&gt;local_table[i] == id) {</div><div class='del'>-	    return (int)i;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return -1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-get_local_var_idx(const rb_iseq_t *iseq, ID id)</div><div class='del'>-{</div><div class='del'>-    int idx = get_dyna_var_idx_at_raw(iseq-&gt;body-&gt;local_iseq, id);</div><div class='del'>-</div><div class='del'>-    if (idx &lt; 0) {</div><div class='del'>-        COMPILE_ERROR(iseq, ISEQ_LAST_LINE(iseq),</div><div class='del'>-                      "get_local_var_idx: %d", idx);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return idx;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-get_dyna_var_idx(const rb_iseq_t *iseq, ID id, int *level, int *ls)</div><div class='del'>-{</div><div class='del'>-    int lv = 0, idx = -1;</div><div class='del'>-    const rb_iseq_t *const topmost_iseq = iseq;</div><div class='del'>-</div><div class='del'>-    while (iseq) {</div><div class='del'>-	idx = get_dyna_var_idx_at_raw(iseq, id);</div><div class='del'>-	if (idx &gt;= 0) {</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='del'>-	lv++;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (idx &lt; 0) {</div><div class='del'>-        COMPILE_ERROR(topmost_iseq, ISEQ_LAST_LINE(topmost_iseq),</div><div class='del'>-                      "get_dyna_var_idx: -1");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *level = lv;</div><div class='del'>-    *ls = iseq-&gt;body-&gt;local_table_size;</div><div class='del'>-    return idx;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_local_block_param_p(const rb_iseq_t *iseq, unsigned int idx, unsigned int level)</div><div class='del'>-{</div><div class='del'>-    const struct rb_iseq_constant_body *body;</div><div class='del'>-    while (level &gt; 0) {</div><div class='del'>-	iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='del'>-	level--;</div><div class='del'>-    }</div><div class='del'>-    body = iseq-&gt;body;</div><div class='del'>-    if (body-&gt;local_iseq == iseq &amp;&amp; /* local variables */</div><div class='del'>-	body-&gt;param.flags.has_block &amp;&amp;</div><div class='del'>-	body-&gt;local_table_size - body-&gt;param.block_start == idx) {</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_block_param_id_p(const rb_iseq_t *iseq, ID id, int *pidx, int *plevel)</div><div class='del'>-{</div><div class='del'>-    int level, ls;</div><div class='del'>-    int idx = get_dyna_var_idx(iseq, id, &amp;level, &amp;ls);</div><div class='del'>-    if (iseq_local_block_param_p(iseq, ls - idx, level)) {</div><div class='del'>-	*pidx = ls - idx;</div><div class='del'>-	*plevel = level;</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-iseq_add_getlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level)</div><div class='del'>-{</div><div class='del'>-    if (iseq_local_block_param_p(iseq, idx, level)) {</div><div class='del'>-	ADD_INSN2(seq, line, getblockparam, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ADD_INSN2(seq, line, getlocal, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-iseq_add_setlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level)</div><div class='del'>-{</div><div class='del'>-    if (iseq_local_block_param_p(iseq, idx, level)) {</div><div class='del'>-	ADD_INSN2(seq, line, setblockparam, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ADD_INSN2(seq, line, setlocal, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-iseq_calc_param_size(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    if (body-&gt;param.flags.has_opt ||</div><div class='del'>-	body-&gt;param.flags.has_post ||</div><div class='del'>-	body-&gt;param.flags.has_rest ||</div><div class='del'>-	body-&gt;param.flags.has_block ||</div><div class='del'>-	body-&gt;param.flags.has_kw ||</div><div class='del'>-	body-&gt;param.flags.has_kwrest) {</div><div class='del'>-</div><div class='del'>-	if (body-&gt;param.flags.has_block) {</div><div class='del'>-	    body-&gt;param.size = body-&gt;param.block_start + 1;</div><div class='del'>-	}</div><div class='del'>-	else if (body-&gt;param.flags.has_kwrest) {</div><div class='del'>-	    body-&gt;param.size = body-&gt;param.keyword-&gt;rest_start + 1;</div><div class='del'>-	}</div><div class='del'>-	else if (body-&gt;param.flags.has_kw) {</div><div class='del'>-	    body-&gt;param.size = body-&gt;param.keyword-&gt;bits_start + 1;</div><div class='del'>-	}</div><div class='del'>-	else if (body-&gt;param.flags.has_post) {</div><div class='del'>-	    body-&gt;param.size = body-&gt;param.post_start + body-&gt;param.post_num;</div><div class='del'>-	}</div><div class='del'>-	else if (body-&gt;param.flags.has_rest) {</div><div class='del'>-	    body-&gt;param.size = body-&gt;param.rest_start + 1;</div><div class='del'>-	}</div><div class='del'>-	else if (body-&gt;param.flags.has_opt) {</div><div class='del'>-	    body-&gt;param.size = body-&gt;param.lead_num + body-&gt;param.opt_num;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-            UNREACHABLE;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	body-&gt;param.size = body-&gt;param.lead_num;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_set_arguments_keywords(rb_iseq_t *iseq, LINK_ANCHOR *const optargs,</div><div class='del'>-			    const struct rb_args_info *args, int arg_size)</div><div class='del'>-{</div><div class='del'>-    const NODE *node = args-&gt;kw_args;</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    struct rb_iseq_param_keyword *keyword;</div><div class='del'>-    const VALUE default_values = rb_ary_tmp_new(1);</div><div class='del'>-    const VALUE complex_mark = rb_str_tmp_new(0);</div><div class='del'>-    int kw = 0, rkw = 0, di = 0, i;</div><div class='del'>-</div><div class='del'>-    body-&gt;param.flags.has_kw = TRUE;</div><div class='del'>-    body-&gt;param.keyword = keyword = ZALLOC_N(struct rb_iseq_param_keyword, 1);</div><div class='del'>-</div><div class='del'>-    while (node) {</div><div class='del'>-	kw++;</div><div class='del'>-	node = node-&gt;nd_next;</div><div class='del'>-    }</div><div class='del'>-    arg_size += kw;</div><div class='del'>-    keyword-&gt;bits_start = arg_size++;</div><div class='del'>-</div><div class='del'>-    node = args-&gt;kw_args;</div><div class='del'>-    while (node) {</div><div class='del'>-	const NODE *val_node = node-&gt;nd_body-&gt;nd_value;</div><div class='del'>-	VALUE dv;</div><div class='del'>-</div><div class='del'>-	if (val_node == (const NODE *)-1) {</div><div class='del'>-	    ++rkw;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    switch (nd_type(val_node)) {</div><div class='del'>-	      case NODE_LIT:</div><div class='del'>-		dv = val_node-&gt;nd_lit;</div><div class='del'>-		iseq_add_mark_object_compile_time(iseq, dv);</div><div class='del'>-		break;</div><div class='del'>-	      case NODE_NIL:</div><div class='del'>-		dv = Qnil;</div><div class='del'>-		break;</div><div class='del'>-	      case NODE_TRUE:</div><div class='del'>-		dv = Qtrue;</div><div class='del'>-		break;</div><div class='del'>-	      case NODE_FALSE:</div><div class='del'>-		dv = Qfalse;</div><div class='del'>-		break;</div><div class='del'>-	      default:</div><div class='del'>-		COMPILE_POPPED(optargs, "kwarg", node); /* nd_type(node) == NODE_KW_ARG */</div><div class='del'>-		dv = complex_mark;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    keyword-&gt;num = ++di;</div><div class='del'>-	    rb_ary_push(default_values, dv);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	node = node-&gt;nd_next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    keyword-&gt;num = kw;</div><div class='del'>-</div><div class='del'>-    if (args-&gt;kw_rest_arg-&gt;nd_vid != 0) {</div><div class='del'>-	keyword-&gt;rest_start = arg_size++;</div><div class='del'>-	body-&gt;param.flags.has_kwrest = TRUE;</div><div class='del'>-    }</div><div class='del'>-    keyword-&gt;required_num = rkw;</div><div class='del'>-    keyword-&gt;table = &amp;body-&gt;local_table[keyword-&gt;bits_start - keyword-&gt;num];</div><div class='del'>-</div><div class='del'>-    {</div><div class='del'>-	VALUE *dvs = ALLOC_N(VALUE, RARRAY_LEN(default_values));</div><div class='del'>-</div><div class='del'>-	for (i = 0; i &lt; RARRAY_LEN(default_values); i++) {</div><div class='del'>-	    VALUE dv = RARRAY_AREF(default_values, i);</div><div class='del'>-	    if (dv == complex_mark) dv = Qundef;</div><div class='del'>-	    if (!SPECIAL_CONST_P(dv)) {</div><div class='del'>-		RB_OBJ_WRITTEN(iseq, Qundef, dv);</div><div class='del'>-	    }</div><div class='del'>-	    dvs[i] = dv;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	keyword-&gt;default_values = dvs;</div><div class='del'>-    }</div><div class='del'>-    return arg_size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_set_arguments(rb_iseq_t *iseq, LINK_ANCHOR *const optargs, const NODE *const node_args)</div><div class='del'>-{</div><div class='del'>-    debugs("iseq_set_arguments: %s\n", node_args ? "" : "0");</div><div class='del'>-</div><div class='del'>-    if (node_args) {</div><div class='del'>-	struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-	struct rb_args_info *args = node_args-&gt;nd_ainfo;</div><div class='del'>-	ID rest_id = 0;</div><div class='del'>-	int last_comma = 0;</div><div class='del'>-	ID block_id = 0;</div><div class='del'>-	int arg_size;</div><div class='del'>-</div><div class='del'>-	EXPECT_NODE("iseq_set_arguments", node_args, NODE_ARGS, COMPILE_NG);</div><div class='del'>-</div><div class='del'>-	body-&gt;param.lead_num = arg_size = (int)args-&gt;pre_args_num;</div><div class='del'>-	if (body-&gt;param.lead_num &gt; 0) body-&gt;param.flags.has_lead = TRUE;</div><div class='del'>-	debugs("  - argc: %d\n", body-&gt;param.lead_num);</div><div class='del'>-</div><div class='del'>-	rest_id = args-&gt;rest_arg;</div><div class='del'>-	if (rest_id == 1) {</div><div class='del'>-	    last_comma = 1;</div><div class='del'>-	    rest_id = 0;</div><div class='del'>-	}</div><div class='del'>-	block_id = args-&gt;block_arg;</div><div class='del'>-</div><div class='del'>-	if (args-&gt;opt_args) {</div><div class='del'>-	    const NODE *node = args-&gt;opt_args;</div><div class='del'>-	    LABEL *label;</div><div class='del'>-	    VALUE labels = rb_ary_tmp_new(1);</div><div class='del'>-	    VALUE *opt_table;</div><div class='del'>-	    int i = 0, j;</div><div class='del'>-</div><div class='del'>-	    while (node) {</div><div class='del'>-		label = NEW_LABEL(nd_line(node));</div><div class='del'>-		rb_ary_push(labels, (VALUE)label | 1);</div><div class='del'>-		ADD_LABEL(optargs, label);</div><div class='del'>-		COMPILE_POPPED(optargs, "optarg", node-&gt;nd_body);</div><div class='del'>-		node = node-&gt;nd_next;</div><div class='del'>-		i += 1;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    /* last label */</div><div class='del'>-	    label = NEW_LABEL(nd_line(node_args));</div><div class='del'>-	    rb_ary_push(labels, (VALUE)label | 1);</div><div class='del'>-	    ADD_LABEL(optargs, label);</div><div class='del'>-</div><div class='del'>-	    opt_table = ALLOC_N(VALUE, i+1);</div><div class='del'>-</div><div class='del'>-            MEMCPY(opt_table, RARRAY_CONST_PTR_TRANSIENT(labels), VALUE, i+1);</div><div class='del'>-	    for (j = 0; j &lt; i+1; j++) {</div><div class='del'>-		opt_table[j] &amp;= ~1;</div><div class='del'>-	    }</div><div class='del'>-	    rb_ary_clear(labels);</div><div class='del'>-</div><div class='del'>-	    body-&gt;param.flags.has_opt = TRUE;</div><div class='del'>-	    body-&gt;param.opt_num = i;</div><div class='del'>-	    body-&gt;param.opt_table = opt_table;</div><div class='del'>-	    arg_size += i;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (rest_id) {</div><div class='del'>-	    body-&gt;param.rest_start = arg_size++;</div><div class='del'>-	    body-&gt;param.flags.has_rest = TRUE;</div><div class='del'>-	    assert(body-&gt;param.rest_start != -1);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (args-&gt;first_post_arg) {</div><div class='del'>-	    body-&gt;param.post_start = arg_size;</div><div class='del'>-	    body-&gt;param.post_num = args-&gt;post_args_num;</div><div class='del'>-	    body-&gt;param.flags.has_post = TRUE;</div><div class='del'>-	    arg_size += args-&gt;post_args_num;</div><div class='del'>-</div><div class='del'>-	    if (body-&gt;param.flags.has_rest) { /* TODO: why that? */</div><div class='del'>-		body-&gt;param.post_start = body-&gt;param.rest_start + 1;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (args-&gt;kw_args) {</div><div class='del'>-	    arg_size = iseq_set_arguments_keywords(iseq, optargs, args, arg_size);</div><div class='del'>-	}</div><div class='del'>-	else if (args-&gt;kw_rest_arg) {</div><div class='del'>-	    struct rb_iseq_param_keyword *keyword = ZALLOC_N(struct rb_iseq_param_keyword, 1);</div><div class='del'>-	    keyword-&gt;rest_start = arg_size++;</div><div class='del'>-	    body-&gt;param.keyword = keyword;</div><div class='del'>-	    body-&gt;param.flags.has_kwrest = TRUE;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (block_id) {</div><div class='del'>-	    body-&gt;param.block_start = arg_size++;</div><div class='del'>-	    body-&gt;param.flags.has_block = TRUE;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	iseq_calc_param_size(iseq);</div><div class='del'>-	body-&gt;param.size = arg_size;</div><div class='del'>-</div><div class='del'>-	if (args-&gt;pre_init) { /* m_init */</div><div class='del'>-	    COMPILE_POPPED(optargs, "init arguments (m)", args-&gt;pre_init);</div><div class='del'>-	}</div><div class='del'>-	if (args-&gt;post_init) { /* p_init */</div><div class='del'>-	    COMPILE_POPPED(optargs, "init arguments (p)", args-&gt;post_init);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='del'>-	    if (body-&gt;param.flags.has_opt    == FALSE &amp;&amp;</div><div class='del'>-		body-&gt;param.flags.has_post   == FALSE &amp;&amp;</div><div class='del'>-		body-&gt;param.flags.has_rest   == FALSE &amp;&amp;</div><div class='del'>-		body-&gt;param.flags.has_kw     == FALSE &amp;&amp;</div><div class='del'>-		body-&gt;param.flags.has_kwrest == FALSE) {</div><div class='del'>-</div><div class='del'>-		if (body-&gt;param.lead_num == 1 &amp;&amp; last_comma == 0) {</div><div class='del'>-		    /* {|a|} */</div><div class='del'>-		    body-&gt;param.flags.ambiguous_param0 = TRUE;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_set_local_table(rb_iseq_t *iseq, const ID *tbl)</div><div class='del'>-{</div><div class='del'>-    unsigned int size;</div><div class='del'>-</div><div class='del'>-    if (tbl) {</div><div class='del'>-	size = (unsigned int)*tbl;</div><div class='del'>-	tbl++;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	size = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (size &gt; 0) {</div><div class='del'>-	ID *ids = (ID *)ALLOC_N(ID, size);</div><div class='del'>-	MEMCPY(ids, tbl, ID, size);</div><div class='del'>-	iseq-&gt;body-&gt;local_table = ids;</div><div class='del'>-    }</div><div class='del'>-    iseq-&gt;body-&gt;local_table_size = size;</div><div class='del'>-</div><div class='del'>-    debugs("iseq_set_local_table: %u\n", iseq-&gt;body-&gt;local_table_size);</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-cdhash_cmp(VALUE val, VALUE lit)</div><div class='del'>-{</div><div class='del'>-    int tval, tlit;</div><div class='del'>-</div><div class='del'>-    if (val == lit) {</div><div class='del'>-        return 0;</div><div class='del'>-    }</div><div class='del'>-    else if ((tlit = OBJ_BUILTIN_TYPE(lit)) == -1) {</div><div class='del'>-        return val != lit;</div><div class='del'>-    }</div><div class='del'>-    else if ((tval = OBJ_BUILTIN_TYPE(val)) == -1) {</div><div class='del'>-        return -1;</div><div class='del'>-    }</div><div class='del'>-    else if (tlit != tval) {</div><div class='del'>-        return -1;</div><div class='del'>-    }</div><div class='del'>-    else if (tlit == T_SYMBOL) {</div><div class='del'>-        return val != lit;</div><div class='del'>-    }</div><div class='del'>-    else if (tlit == T_STRING) {</div><div class='del'>-        return rb_str_hash_cmp(lit, val);</div><div class='del'>-    }</div><div class='del'>-    else if (tlit == T_BIGNUM) {</div><div class='del'>-        long x = FIX2LONG(rb_big_cmp(lit, val));</div><div class='del'>-</div><div class='del'>-        /* Given lit and val are both Bignum, x must be -1, 0, 1.</div><div class='del'>-         * There is no need to call rb_fix2int here. */</div><div class='del'>-        RUBY_ASSERT((x == 1) || (x == 0) || (x == -1));</div><div class='del'>-        return (int)x;</div><div class='del'>-    }</div><div class='del'>-    else if (tlit == T_FLOAT) {</div><div class='del'>-        return rb_float_cmp(lit, val);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        UNREACHABLE_RETURN(-1);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static st_index_t</div><div class='del'>-cdhash_hash(VALUE a)</div><div class='del'>-{</div><div class='del'>-    switch (OBJ_BUILTIN_TYPE(a)) {</div><div class='del'>-      case -1:</div><div class='del'>-      case T_SYMBOL:</div><div class='del'>-        return (st_index_t)a;</div><div class='del'>-      case T_STRING:</div><div class='del'>-        return rb_str_hash(a);</div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-        return FIX2LONG(rb_big_hash(a));</div><div class='del'>-      case T_FLOAT:</div><div class='del'>-        return rb_dbl_long_hash(RFLOAT_VALUE(a));</div><div class='del'>-      default:</div><div class='del'>-        UNREACHABLE_RETURN(0);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const struct st_hash_type cdhash_type = {</div><div class='del'>-    cdhash_cmp,</div><div class='del'>-    cdhash_hash,</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct cdhash_set_label_struct {</div><div class='del'>-    VALUE hash;</div><div class='del'>-    int pos;</div><div class='del'>-    int len;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-cdhash_set_label_i(VALUE key, VALUE val, void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct cdhash_set_label_struct *data = (struct cdhash_set_label_struct *)ptr;</div><div class='del'>-    LABEL *lobj = (LABEL *)(val &amp; ~1);</div><div class='del'>-    rb_hash_aset(data-&gt;hash, key, INT2FIX(lobj-&gt;position - (data-&gt;pos+data-&gt;len)));</div><div class='del'>-    return ST_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-get_ivar_ic_value(rb_iseq_t *iseq,ID id)</div><div class='del'>-{</div><div class='del'>-    VALUE val;</div><div class='del'>-    struct rb_id_table *tbl = ISEQ_COMPILE_DATA(iseq)-&gt;ivar_cache_table;</div><div class='del'>-    if (tbl) {</div><div class='del'>-	if (rb_id_table_lookup(tbl,id,&amp;val)) {</div><div class='del'>-	    return val;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	tbl = rb_id_table_create(1);</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;ivar_cache_table = tbl;</div><div class='del'>-    }</div><div class='del'>-    val = INT2FIX(iseq-&gt;body-&gt;is_size++);</div><div class='del'>-    rb_id_table_insert(tbl,id,val);</div><div class='del'>-    return val;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define BADINSN_DUMP(anchor, list, dest) \</div><div class='del'>-    dump_disasm_list_with_cursor(FIRST_ELEMENT(anchor), list, dest)</div><div class='del'>-</div><div class='del'>-#define BADINSN_ERROR \</div><div class='del'>-    (xfree(generated_iseq), \</div><div class='del'>-     xfree(insns_info), \</div><div class='del'>-     BADINSN_DUMP(anchor, list, NULL), \</div><div class='del'>-     COMPILE_ERROR)</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-fix_sp_depth(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    int stack_max = 0, sp = 0, line = 0;</div><div class='del'>-    LINK_ELEMENT *list;</div><div class='del'>-</div><div class='del'>-    for (list = FIRST_ELEMENT(anchor); list; list = list-&gt;next) {</div><div class='del'>-	if (list-&gt;type == ISEQ_ELEMENT_LABEL) {</div><div class='del'>-	    LABEL *lobj = (LABEL *)list;</div><div class='del'>-	    lobj-&gt;set = TRUE;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    for (list = FIRST_ELEMENT(anchor); list; list = list-&gt;next) {</div><div class='del'>-	switch (list-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	    {</div><div class='del'>-		int j, len, insn;</div><div class='del'>-		const char *types;</div><div class='del'>-		VALUE *operands;</div><div class='del'>-		INSN *iobj = (INSN *)list;</div><div class='del'>-</div><div class='del'>-		/* update sp */</div><div class='del'>-		sp = calc_sp_depth(sp, iobj);</div><div class='del'>-		if (sp &lt; 0) {</div><div class='del'>-		    BADINSN_DUMP(anchor, list, NULL);</div><div class='del'>-		    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-				  "argument stack underflow (%d)", sp);</div><div class='del'>-		    return -1;</div><div class='del'>-		}</div><div class='del'>-		if (sp &gt; stack_max) {</div><div class='del'>-		    stack_max = sp;</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-		line = iobj-&gt;insn_info.line_no;</div><div class='del'>-		/* fprintf(stderr, "insn: %-16s, sp: %d\n", insn_name(iobj-&gt;insn_id), sp); */</div><div class='del'>-		operands = iobj-&gt;operands;</div><div class='del'>-		insn = iobj-&gt;insn_id;</div><div class='del'>-		types = insn_op_types(insn);</div><div class='del'>-		len = insn_len(insn);</div><div class='del'>-</div><div class='del'>-		/* operand check */</div><div class='del'>-		if (iobj-&gt;operand_size != len - 1) {</div><div class='del'>-		    /* printf("operand size miss! (%d, %d)\n", iobj-&gt;operand_size, len); */</div><div class='del'>-		    BADINSN_DUMP(anchor, list, NULL);</div><div class='del'>-		    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-				  "operand size miss! (%d for %d)",</div><div class='del'>-				  iobj-&gt;operand_size, len - 1);</div><div class='del'>-		    return -1;</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-		for (j = 0; types[j]; j++) {</div><div class='del'>-		    if (types[j] == TS_OFFSET) {</div><div class='del'>-			/* label(destination position) */</div><div class='del'>-			LABEL *lobj = (LABEL *)operands[j];</div><div class='del'>-			if (!lobj-&gt;set) {</div><div class='del'>-			    BADINSN_DUMP(anchor, list, NULL);</div><div class='del'>-			    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-					  "unknown label: "LABEL_FORMAT, lobj-&gt;label_no);</div><div class='del'>-			    return -1;</div><div class='del'>-			}</div><div class='del'>-			if (lobj-&gt;sp == -1) {</div><div class='del'>-			    lobj-&gt;sp = sp;</div><div class='del'>-			}</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_LABEL:</div><div class='del'>-	    {</div><div class='del'>-		LABEL *lobj = (LABEL *)list;</div><div class='del'>-		if (lobj-&gt;sp == -1) {</div><div class='del'>-		    lobj-&gt;sp = sp;</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    sp = lobj-&gt;sp;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_TRACE:</div><div class='del'>-	    {</div><div class='del'>-		/* ignore */</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_ADJUST:</div><div class='del'>-	    {</div><div class='del'>-		ADJUST *adjust = (ADJUST *)list;</div><div class='del'>-		int orig_sp = sp;</div><div class='del'>-</div><div class='del'>-		sp = adjust-&gt;label ? adjust-&gt;label-&gt;sp : 0;</div><div class='del'>-		if (adjust-&gt;line_no != -1 &amp;&amp; orig_sp - sp &lt; 0) {</div><div class='del'>-		    BADINSN_DUMP(anchor, list, NULL);</div><div class='del'>-		    COMPILE_ERROR(iseq, adjust-&gt;line_no,</div><div class='del'>-				  "iseq_set_sequence: adjust bug %d &lt; %d",</div><div class='del'>-				  orig_sp, sp);</div><div class='del'>-		    return -1;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  default:</div><div class='del'>-	    BADINSN_DUMP(anchor, list, NULL);</div><div class='del'>-	    COMPILE_ERROR(iseq, line, "unknown list type: %d", list-&gt;type);</div><div class='del'>-	    return -1;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return stack_max;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-add_insn_info(struct iseq_insn_info_entry *insns_info, unsigned int *positions,</div><div class='del'>-              int insns_info_index, int code_index, const INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    if (insns_info_index == 0 ||</div><div class='del'>-        insns_info[insns_info_index-1].line_no != iobj-&gt;insn_info.line_no ||</div><div class='del'>-        insns_info[insns_info_index-1].events  != iobj-&gt;insn_info.events) {</div><div class='del'>-        insns_info[insns_info_index].line_no    = iobj-&gt;insn_info.line_no;</div><div class='del'>-        insns_info[insns_info_index].events     = iobj-&gt;insn_info.events;</div><div class='del'>-        positions[insns_info_index]             = code_index;</div><div class='del'>-        return TRUE;</div><div class='del'>-    }</div><div class='del'>-    return FALSE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-add_adjust_info(struct iseq_insn_info_entry *insns_info, unsigned int *positions,</div><div class='del'>-                int insns_info_index, int code_index, const ADJUST *adjust)</div><div class='del'>-{</div><div class='del'>-    if (insns_info_index &gt; 0 ||</div><div class='del'>-        insns_info[insns_info_index-1].line_no != adjust-&gt;line_no) {</div><div class='del'>-        insns_info[insns_info_index].line_no    = adjust-&gt;line_no;</div><div class='del'>-        insns_info[insns_info_index].events     = 0;</div><div class='del'>-        positions[insns_info_index]             = code_index;</div><div class='del'>-        return TRUE;</div><div class='del'>-    }</div><div class='del'>-    return FALSE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/**</div><div class='del'>-  ruby insn object list -&gt; raw instruction sequence</div><div class='del'>- */</div><div class='del'>-static int</div><div class='del'>-iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    struct iseq_insn_info_entry *insns_info;</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    unsigned int *positions;</div><div class='del'>-    LINK_ELEMENT *list;</div><div class='del'>-    VALUE *generated_iseq;</div><div class='del'>-    rb_event_flag_t events = 0;</div><div class='del'>-    long data = 0;</div><div class='del'>-</div><div class='del'>-    int insn_num, code_index, insns_info_index, sp = 0;</div><div class='del'>-    int stack_max = fix_sp_depth(iseq, anchor);</div><div class='del'>-</div><div class='del'>-    if (stack_max &lt; 0) return COMPILE_NG;</div><div class='del'>-</div><div class='del'>-    /* fix label position */</div><div class='del'>-    list = FIRST_ELEMENT(anchor);</div><div class='del'>-    insn_num = code_index = 0;</div><div class='del'>-    while (list) {</div><div class='del'>-	switch (list-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	    {</div><div class='del'>-		INSN *iobj = (INSN *)list;</div><div class='del'>-		/* update sp */</div><div class='del'>-		sp = calc_sp_depth(sp, iobj);</div><div class='del'>-		insn_num++;</div><div class='del'>-                if (ISEQ_COVERAGE(iseq)) {</div><div class='del'>-                    if (ISEQ_LINE_COVERAGE(iseq) &amp;&amp; (events &amp; RUBY_EVENT_COVERAGE_LINE) &amp;&amp;</div><div class='del'>-                        !(rb_get_coverage_mode() &amp; COVERAGE_TARGET_ONESHOT_LINES)) {</div><div class='del'>-                        int line = iobj-&gt;insn_info.line_no;</div><div class='del'>-                        if (line &gt;= 1) {</div><div class='del'>-                            RARRAY_ASET(ISEQ_LINE_COVERAGE(iseq), line - 1, INT2FIX(0));</div><div class='del'>-                        }</div><div class='del'>-                    }</div><div class='del'>-                    if (ISEQ_BRANCH_COVERAGE(iseq) &amp;&amp; (events &amp; RUBY_EVENT_COVERAGE_BRANCH)) {</div><div class='del'>-                        while (RARRAY_LEN(ISEQ_PC2BRANCHINDEX(iseq)) &lt;= code_index) {</div><div class='del'>-                            rb_ary_push(ISEQ_PC2BRANCHINDEX(iseq), Qnil);</div><div class='del'>-                        }</div><div class='del'>-                        RARRAY_ASET(ISEQ_PC2BRANCHINDEX(iseq), code_index, INT2FIX(data));</div><div class='del'>-                    }</div><div class='del'>-		}</div><div class='del'>-                code_index += insn_data_length(iobj);</div><div class='del'>-		iobj-&gt;insn_info.events |= events;</div><div class='del'>-		events = 0;</div><div class='del'>-                data = 0;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_LABEL:</div><div class='del'>-	    {</div><div class='del'>-		LABEL *lobj = (LABEL *)list;</div><div class='del'>-		lobj-&gt;position = code_index;</div><div class='del'>-		sp = lobj-&gt;sp;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_TRACE:</div><div class='del'>-	    {</div><div class='del'>-		TRACE *trace = (TRACE *)list;</div><div class='del'>-		events |= trace-&gt;event;</div><div class='del'>-                if (trace-&gt;event &amp; RUBY_EVENT_COVERAGE_BRANCH) data = trace-&gt;data;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_ADJUST:</div><div class='del'>-	    {</div><div class='del'>-		ADJUST *adjust = (ADJUST *)list;</div><div class='del'>-		if (adjust-&gt;line_no != -1) {</div><div class='del'>-		    int orig_sp = sp;</div><div class='del'>-		    sp = adjust-&gt;label ? adjust-&gt;label-&gt;sp : 0;</div><div class='del'>-		    if (orig_sp - sp &gt; 0) {</div><div class='del'>-			if (orig_sp - sp &gt; 1) code_index++; /* 1 operand */</div><div class='del'>-			code_index++; /* insn */</div><div class='del'>-			insn_num++;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  default: break;</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* make instruction sequence */</div><div class='del'>-    generated_iseq = ALLOC_N(VALUE, code_index);</div><div class='del'>-    insns_info = ALLOC_N(struct iseq_insn_info_entry, insn_num);</div><div class='del'>-    positions = ALLOC_N(unsigned int, insn_num);</div><div class='del'>-    body-&gt;is_entries = ZALLOC_N(union iseq_inline_storage_entry, body-&gt;is_size);</div><div class='del'>-    body-&gt;ci_entries = (struct rb_call_info *)ruby_xmalloc(sizeof(struct rb_call_info) * body-&gt;ci_size +</div><div class='del'>-								 sizeof(struct rb_call_info_with_kwarg) * body-&gt;ci_kw_size);</div><div class='del'>-    MEMZERO(body-&gt;ci_entries + body-&gt;ci_size, struct rb_call_info_with_kwarg,  body-&gt;ci_kw_size); /* need to clear ci_kw entries */</div><div class='del'>-    body-&gt;cc_entries = ZALLOC_N(struct rb_call_cache, body-&gt;ci_size + body-&gt;ci_kw_size);</div><div class='del'>-</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;ci_index = ISEQ_COMPILE_DATA(iseq)-&gt;ci_kw_index = 0;</div><div class='del'>-</div><div class='del'>-    list = FIRST_ELEMENT(anchor);</div><div class='del'>-    insns_info_index = code_index = sp = 0;</div><div class='del'>-</div><div class='del'>-    while (list) {</div><div class='del'>-	switch (list-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	    {</div><div class='del'>-		int j, len, insn;</div><div class='del'>-		const char *types;</div><div class='del'>-		VALUE *operands;</div><div class='del'>-		INSN *iobj = (INSN *)list;</div><div class='del'>-</div><div class='del'>-		/* update sp */</div><div class='del'>-		sp = calc_sp_depth(sp, iobj);</div><div class='del'>-		/* fprintf(stderr, "insn: %-16s, sp: %d\n", insn_name(iobj-&gt;insn_id), sp); */</div><div class='del'>-		operands = iobj-&gt;operands;</div><div class='del'>-		insn = iobj-&gt;insn_id;</div><div class='del'>-		generated_iseq[code_index] = insn;</div><div class='del'>-		types = insn_op_types(insn);</div><div class='del'>-		len = insn_len(insn);</div><div class='del'>-</div><div class='del'>-		for (j = 0; types[j]; j++) {</div><div class='del'>-		    char type = types[j];</div><div class='del'>-		    /* printf("--&gt; [%c - (%d-%d)]\n", type, k, j); */</div><div class='del'>-		    switch (type) {</div><div class='del'>-		      case TS_OFFSET:</div><div class='del'>-			{</div><div class='del'>-			    /* label(destination position) */</div><div class='del'>-			    LABEL *lobj = (LABEL *)operands[j];</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = lobj-&gt;position - (code_index + len);</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		      case TS_CDHASH:</div><div class='del'>-			{</div><div class='del'>-			    VALUE map = operands[j];</div><div class='del'>-			    struct cdhash_set_label_struct data;</div><div class='del'>-                            data.hash = map;</div><div class='del'>-                            data.pos = code_index;</div><div class='del'>-                            data.len = len;</div><div class='del'>-			    rb_hash_foreach(map, cdhash_set_label_i, (VALUE)&amp;data);</div><div class='del'>-</div><div class='del'>-			    rb_hash_rehash(map);</div><div class='del'>-			    freeze_hide_obj(map);</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = map;</div><div class='del'>-			    RB_OBJ_WRITTEN(iseq, Qundef, map);</div><div class='del'>-			    FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		      case TS_LINDEX:</div><div class='del'>-		      case TS_NUM:	/* ulong */</div><div class='del'>-			generated_iseq[code_index + 1 + j] = FIX2INT(operands[j]);</div><div class='del'>-			break;</div><div class='del'>-		      case TS_VALUE:	/* VALUE */</div><div class='del'>-		      case TS_ISEQ:	/* iseq */</div><div class='del'>-			{</div><div class='del'>-			    VALUE v = operands[j];</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = v;</div><div class='del'>-			    /* to mark ruby object */</div><div class='del'>-			    if (!SPECIAL_CONST_P(v)) {</div><div class='del'>-				RB_OBJ_WRITTEN(iseq, Qundef, v);</div><div class='del'>-				FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-			    }</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		      case TS_ISE: /* inline storage entry */</div><div class='del'>-			/* Treated as an IC, but may contain a markable VALUE */</div><div class='del'>-			FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-		      case TS_IC: /* inline cache */</div><div class='del'>-			{</div><div class='del'>-			    unsigned int ic_index = FIX2UINT(operands[j]);</div><div class='del'>-			    IC ic = (IC)&amp;body-&gt;is_entries[ic_index];</div><div class='del'>-			    if (UNLIKELY(ic_index &gt;= body-&gt;is_size)) {</div><div class='del'>-                                BADINSN_DUMP(anchor, &amp;iobj-&gt;link, 0);</div><div class='del'>-                                COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-                                              "iseq_set_sequence: ic_index overflow: index: %d, size: %d",</div><div class='del'>-                                              ic_index, body-&gt;is_size);</div><div class='del'>-			    }</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = (VALUE)ic;</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		      case TS_CALLINFO: /* call info */</div><div class='del'>-			{</div><div class='del'>-			    struct rb_call_info *base_ci = (struct rb_call_info *)operands[j];</div><div class='del'>-			    struct rb_call_info *ci;</div><div class='del'>-</div><div class='del'>-			    if (base_ci-&gt;flag &amp; VM_CALL_KWARG) {</div><div class='del'>-				struct rb_call_info_with_kwarg *ci_kw_entries = (struct rb_call_info_with_kwarg *)&amp;body-&gt;ci_entries[body-&gt;ci_size];</div><div class='del'>-				struct rb_call_info_with_kwarg *ci_kw = &amp;ci_kw_entries[ISEQ_COMPILE_DATA(iseq)-&gt;ci_kw_index++];</div><div class='del'>-				*ci_kw = *((struct rb_call_info_with_kwarg *)base_ci);</div><div class='del'>-				ci = (struct rb_call_info *)ci_kw;</div><div class='del'>-				assert(ISEQ_COMPILE_DATA(iseq)-&gt;ci_kw_index &lt;= body-&gt;ci_kw_size);</div><div class='del'>-			    }</div><div class='del'>-			    else {</div><div class='del'>-				ci = &amp;body-&gt;ci_entries[ISEQ_COMPILE_DATA(iseq)-&gt;ci_index++];</div><div class='del'>-				*ci = *base_ci;</div><div class='del'>-				assert(ISEQ_COMPILE_DATA(iseq)-&gt;ci_index &lt;= body-&gt;ci_size);</div><div class='del'>-			    }</div><div class='del'>-</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = (VALUE)ci;</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		      case TS_CALLCACHE:</div><div class='del'>-			{</div><div class='del'>-			    struct rb_call_cache *cc = &amp;body-&gt;cc_entries[ISEQ_COMPILE_DATA(iseq)-&gt;ci_index + ISEQ_COMPILE_DATA(iseq)-&gt;ci_kw_index - 1];</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = (VALUE)cc;</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		      case TS_ID: /* ID */</div><div class='del'>-			generated_iseq[code_index + 1 + j] = SYM2ID(operands[j]);</div><div class='del'>-			break;</div><div class='del'>-		      case TS_GENTRY:</div><div class='del'>-			{</div><div class='del'>-			    struct rb_global_entry *entry =</div><div class='del'>-				(struct rb_global_entry *)(operands[j] &amp; (~1));</div><div class='del'>-			    generated_iseq[code_index + 1 + j] = (VALUE)entry;</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		      case TS_FUNCPTR:</div><div class='del'>-			generated_iseq[code_index + 1 + j] = operands[j];</div><div class='del'>-			break;</div><div class='del'>-		      default:</div><div class='del'>-			BADINSN_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-				      "unknown operand type: %c", type);</div><div class='del'>-			return COMPILE_NG;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		if (add_insn_info(insns_info, positions, insns_info_index, code_index, iobj)) insns_info_index++;</div><div class='del'>-		code_index += len;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_LABEL:</div><div class='del'>-	    {</div><div class='del'>-		LABEL *lobj = (LABEL *)list;</div><div class='del'>-		sp = lobj-&gt;sp;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_ADJUST:</div><div class='del'>-	    {</div><div class='del'>-		ADJUST *adjust = (ADJUST *)list;</div><div class='del'>-		int orig_sp = sp;</div><div class='del'>-</div><div class='del'>-		if (adjust-&gt;label) {</div><div class='del'>-		    sp = adjust-&gt;label-&gt;sp;</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    sp = 0;</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-		if (adjust-&gt;line_no != -1) {</div><div class='del'>-		    const int diff = orig_sp - sp;</div><div class='del'>-		    if (diff &gt; 0) {</div><div class='del'>-			if (add_adjust_info(insns_info, positions, insns_info_index, code_index, adjust)) insns_info_index++;</div><div class='del'>-		    }</div><div class='del'>-		    if (diff &gt; 1) {</div><div class='del'>-			generated_iseq[code_index++] = BIN(adjuststack);</div><div class='del'>-			generated_iseq[code_index++] = orig_sp - sp;</div><div class='del'>-		    }</div><div class='del'>-		    else if (diff == 1) {</div><div class='del'>-			generated_iseq[code_index++] = BIN(pop);</div><div class='del'>-		    }</div><div class='del'>-		    else if (diff &lt; 0) {</div><div class='del'>-			int label_no = adjust-&gt;label ? adjust-&gt;label-&gt;label_no : -1;</div><div class='del'>-			xfree(generated_iseq);</div><div class='del'>-			xfree(insns_info);</div><div class='del'>-			xfree(positions);</div><div class='del'>-			debug_list(anchor);</div><div class='del'>-			COMPILE_ERROR(iseq, adjust-&gt;line_no,</div><div class='del'>-				      "iseq_set_sequence: adjust bug to %d %d &lt; %d",</div><div class='del'>-				      label_no, orig_sp, sp);</div><div class='del'>-			return COMPILE_NG;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  default:</div><div class='del'>-	    /* ignore */</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    body-&gt;iseq_encoded = (void *)generated_iseq;</div><div class='del'>-    body-&gt;iseq_size = code_index;</div><div class='del'>-    body-&gt;stack_max = stack_max;</div><div class='del'>-</div><div class='del'>-    /* get rid of memory leak when REALLOC failed */</div><div class='del'>-    body-&gt;insns_info.body = insns_info;</div><div class='del'>-    body-&gt;insns_info.positions = positions;</div><div class='del'>-</div><div class='del'>-    REALLOC_N(insns_info, struct iseq_insn_info_entry, insns_info_index);</div><div class='del'>-    body-&gt;insns_info.body = insns_info;</div><div class='del'>-    REALLOC_N(positions, unsigned int, insns_info_index);</div><div class='del'>-    body-&gt;insns_info.positions = positions;</div><div class='del'>-    body-&gt;insns_info.size = insns_info_index;</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-label_get_position(LABEL *lobj)</div><div class='del'>-{</div><div class='del'>-    return lobj-&gt;position;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-label_get_sp(LABEL *lobj)</div><div class='del'>-{</div><div class='del'>-    return lobj-&gt;sp;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_set_exception_table(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    const VALUE *tptr, *ptr;</div><div class='del'>-    unsigned int tlen, i;</div><div class='del'>-    struct iseq_catch_table_entry *entry;</div><div class='del'>-</div><div class='del'>-    tlen = (int)RARRAY_LEN(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary);</div><div class='del'>-    tptr = RARRAY_CONST_PTR_TRANSIENT(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary);</div><div class='del'>-</div><div class='del'>-    if (tlen &gt; 0) {</div><div class='del'>-	struct iseq_catch_table *table = xmalloc(iseq_catch_table_bytes(tlen));</div><div class='del'>-	table-&gt;size = tlen;</div><div class='del'>-</div><div class='del'>-	for (i = 0; i &lt; table-&gt;size; i++) {</div><div class='del'>-            ptr = RARRAY_CONST_PTR_TRANSIENT(tptr[i]);</div><div class='del'>-	    entry = &amp;table-&gt;entries[i];</div><div class='del'>-	    entry-&gt;type = (enum catch_type)(ptr[0] &amp; 0xffff);</div><div class='del'>-	    entry-&gt;start = label_get_position((LABEL *)(ptr[1] &amp; ~1));</div><div class='del'>-	    entry-&gt;end = label_get_position((LABEL *)(ptr[2] &amp; ~1));</div><div class='del'>-	    entry-&gt;iseq = (rb_iseq_t *)ptr[3];</div><div class='del'>-	    RB_OBJ_WRITTEN(iseq, Qundef, entry-&gt;iseq);</div><div class='del'>-</div><div class='del'>-	    /* stack depth */</div><div class='del'>-	    if (ptr[4]) {</div><div class='del'>-		LABEL *lobj = (LABEL *)(ptr[4] &amp; ~1);</div><div class='del'>-		entry-&gt;cont = label_get_position(lobj);</div><div class='del'>-		entry-&gt;sp = label_get_sp(lobj);</div><div class='del'>-</div><div class='del'>-		/* TODO: Dirty Hack!  Fix me */</div><div class='del'>-		if (entry-&gt;type == CATCH_TYPE_RESCUE ||</div><div class='del'>-		    entry-&gt;type == CATCH_TYPE_BREAK ||</div><div class='del'>-		    entry-&gt;type == CATCH_TYPE_NEXT) {</div><div class='del'>-		    entry-&gt;sp--;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		entry-&gt;cont = 0;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	iseq-&gt;body-&gt;catch_table = table;</div><div class='del'>-	RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary, 0); /* free */</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	iseq-&gt;body-&gt;catch_table = NULL;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * set optional argument table</div><div class='del'>- *   def foo(a, b=expr1, c=expr2)</div><div class='del'>- *   =&gt;</div><div class='del'>- *    b:</div><div class='del'>- *      expr1</div><div class='del'>- *    c:</div><div class='del'>- *      expr2</div><div class='del'>- */</div><div class='del'>-static int</div><div class='del'>-iseq_set_optargs_table(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    VALUE *opt_table = (VALUE *)iseq-&gt;body-&gt;param.opt_table;</div><div class='del'>-</div><div class='del'>-    if (iseq-&gt;body-&gt;param.flags.has_opt) {</div><div class='del'>-	for (i = 0; i &lt; iseq-&gt;body-&gt;param.opt_num + 1; i++) {</div><div class='del'>-	    opt_table[i] = label_get_position((LABEL *)opt_table[i]);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-get_destination_insn(INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    LABEL *lobj = (LABEL *)OPERAND_AT(iobj, 0);</div><div class='del'>-    LINK_ELEMENT *list;</div><div class='del'>-    rb_event_flag_t events = 0;</div><div class='del'>-</div><div class='del'>-    list = lobj-&gt;link.next;</div><div class='del'>-    while (list) {</div><div class='del'>-	switch (list-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	  case ISEQ_ELEMENT_ADJUST:</div><div class='del'>-	    goto found;</div><div class='del'>-	  case ISEQ_ELEMENT_LABEL:</div><div class='del'>-	    /* ignore */</div><div class='del'>-	    break;</div><div class='del'>-	  case ISEQ_ELEMENT_TRACE:</div><div class='del'>-	    {</div><div class='del'>-		TRACE *trace = (TRACE *)list;</div><div class='del'>-		events |= trace-&gt;event;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  default: break;</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-  found:</div><div class='del'>-    if (list &amp;&amp; IS_INSN(list)) {</div><div class='del'>-	INSN *iobj = (INSN *)list;</div><div class='del'>-	iobj-&gt;insn_info.events |= events;</div><div class='del'>-    }</div><div class='del'>-    return list;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-get_next_insn(INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *list = iobj-&gt;link.next;</div><div class='del'>-</div><div class='del'>-    while (list) {</div><div class='del'>-	if (IS_INSN(list) || IS_ADJUST(list)) {</div><div class='del'>-	    return list;</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LINK_ELEMENT *</div><div class='del'>-get_prev_insn(INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *list = iobj-&gt;link.prev;</div><div class='del'>-</div><div class='del'>-    while (list) {</div><div class='del'>-	if (IS_INSN(list) || IS_ADJUST(list)) {</div><div class='del'>-	    return list;</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;prev;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-unref_destination(INSN *iobj, int pos)</div><div class='del'>-{</div><div class='del'>-    LABEL *lobj = (LABEL *)OPERAND_AT(iobj, pos);</div><div class='del'>-    --lobj-&gt;refcnt;</div><div class='del'>-    if (!lobj-&gt;refcnt) ELEM_REMOVE(&amp;lobj-&gt;link);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-replace_destination(INSN *dobj, INSN *nobj)</div><div class='del'>-{</div><div class='del'>-    VALUE n = OPERAND_AT(nobj, 0);</div><div class='del'>-    LABEL *dl = (LABEL *)OPERAND_AT(dobj, 0);</div><div class='del'>-    LABEL *nl = (LABEL *)n;</div><div class='del'>-    --dl-&gt;refcnt;</div><div class='del'>-    ++nl-&gt;refcnt;</div><div class='del'>-    OPERAND_AT(dobj, 0) = n;</div><div class='del'>-    if (!dl-&gt;refcnt) ELEM_REMOVE(&amp;dl-&gt;link);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LABEL*</div><div class='del'>-find_destination(INSN *i)</div><div class='del'>-{</div><div class='del'>-    int pos, len = insn_len(i-&gt;insn_id);</div><div class='del'>-    for (pos = 0; pos &lt; len; ++pos) {</div><div class='del'>-	if (insn_op_types(i-&gt;insn_id)[pos] == TS_OFFSET) {</div><div class='del'>-	    return (LABEL *)OPERAND_AT(i, pos);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-remove_unreachable_chunk(rb_iseq_t *iseq, LINK_ELEMENT *i)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *first = i, *end;</div><div class='del'>-    int *unref_counts = 0, nlabels = ISEQ_COMPILE_DATA(iseq)-&gt;label_no;</div><div class='del'>-</div><div class='del'>-    if (!i) return 0;</div><div class='del'>-    unref_counts = ALLOCA_N(int, nlabels);</div><div class='del'>-    MEMZERO(unref_counts, int, nlabels);</div><div class='del'>-    end = i;</div><div class='del'>-    do {</div><div class='del'>-	LABEL *lab;</div><div class='del'>-	if (IS_INSN(i)) {</div><div class='del'>-	    if (IS_INSN_ID(i, leave)) {</div><div class='del'>-		end = i;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    else if ((lab = find_destination((INSN *)i)) != 0) {</div><div class='del'>-		if (lab-&gt;unremovable) break;</div><div class='del'>-		unref_counts[lab-&gt;label_no]++;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else if (IS_LABEL(i)) {</div><div class='del'>-	    lab = (LABEL *)i;</div><div class='del'>-	    if (lab-&gt;unremovable) return 0;</div><div class='del'>-	    if (lab-&gt;refcnt &gt; unref_counts[lab-&gt;label_no]) {</div><div class='del'>-		if (i == first) return 0;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='del'>-	else if (IS_TRACE(i)) {</div><div class='del'>-	    /* do nothing */</div><div class='del'>-	}</div><div class='del'>-	else if (IS_ADJUST(i)) {</div><div class='del'>-	    LABEL *dest = ((ADJUST *)i)-&gt;label;</div><div class='del'>-	    if (dest &amp;&amp; dest-&gt;unremovable) return 0;</div><div class='del'>-	}</div><div class='del'>-	end = i;</div><div class='del'>-    } while ((i = i-&gt;next) != 0);</div><div class='del'>-    i = first;</div><div class='del'>-    do {</div><div class='del'>-	if (IS_INSN(i)) {</div><div class='del'>-	    struct rb_iseq_constant_body *body = iseq-&gt;body;</div><div class='del'>-	    VALUE insn = INSN_OF(i);</div><div class='del'>-	    int pos, len = insn_len(insn);</div><div class='del'>-	    for (pos = 0; pos &lt; len; ++pos) {</div><div class='del'>-		switch (insn_op_types(insn)[pos]) {</div><div class='del'>-		  case TS_OFFSET:</div><div class='del'>-		    unref_destination((INSN *)i, pos);</div><div class='del'>-		    break;</div><div class='del'>-		  case TS_CALLINFO:</div><div class='del'>-		    if (((struct rb_call_info *)OPERAND_AT(i, pos))-&gt;flag &amp; VM_CALL_KWARG)</div><div class='del'>-			--(body-&gt;ci_kw_size);</div><div class='del'>-		    else</div><div class='del'>-			--(body-&gt;ci_size);</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	ELEM_REMOVE(i);</div><div class='del'>-    } while ((i != end) &amp;&amp; (i = i-&gt;next) != 0);</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_pop_newarray(rb_iseq_t *iseq, INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    switch (OPERAND_AT(iobj, 0)) {</div><div class='del'>-      case INT2FIX(0): /* empty array */</div><div class='del'>-	ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-	return TRUE;</div><div class='del'>-      case INT2FIX(1): /* single element array */</div><div class='del'>-	ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-	return FALSE;</div><div class='del'>-      default:</div><div class='del'>-	iobj-&gt;insn_id = BIN(adjuststack);</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-same_debug_pos_p(LINK_ELEMENT *iobj1, LINK_ELEMENT *iobj2)</div><div class='del'>-{</div><div class='del'>-    VALUE debug1 = OPERAND_AT(iobj1, 0);</div><div class='del'>-    VALUE debug2 = OPERAND_AT(iobj2, 0);</div><div class='del'>-    if (debug1 == debug2) return TRUE;</div><div class='del'>-    if (!RB_TYPE_P(debug1, T_ARRAY)) return FALSE;</div><div class='del'>-    if (!RB_TYPE_P(debug2, T_ARRAY)) return FALSE;</div><div class='del'>-    if (RARRAY_LEN(debug1) != 2) return FALSE;</div><div class='del'>-    if (RARRAY_LEN(debug2) != 2) return FALSE;</div><div class='del'>-    if (RARRAY_AREF(debug1, 0) != RARRAY_AREF(debug2, 0)) return FALSE;</div><div class='del'>-    if (RARRAY_AREF(debug1, 1) != RARRAY_AREF(debug2, 1)) return FALSE;</div><div class='del'>-    return TRUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-is_frozen_putstring(INSN *insn, VALUE *op)</div><div class='del'>-{</div><div class='del'>-    if (IS_INSN_ID(insn, putstring)) {</div><div class='del'>-        *op = OPERAND_AT(insn, 0);</div><div class='del'>-        return 1;</div><div class='del'>-    }</div><div class='del'>-    else if (IS_INSN_ID(insn, putobject)) { /* frozen_string_literal */</div><div class='del'>-        *op = OPERAND_AT(insn, 0);</div><div class='del'>-        return RB_TYPE_P(*op, T_STRING);</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-optimize_checktype(rb_iseq_t *iseq, INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    /*</div><div class='del'>-     *   putobject obj</div><div class='del'>-     *   dup</div><div class='del'>-     *   checktype T_XXX</div><div class='del'>-     *   branchif l1</div><div class='del'>-     * l2:</div><div class='del'>-     *   ...</div><div class='del'>-     * l1:</div><div class='del'>-     *</div><div class='del'>-     * =&gt; obj is a T_XXX</div><div class='del'>-     *</div><div class='del'>-     *   putobject obj (T_XXX)</div><div class='del'>-     *   jump L1</div><div class='del'>-     * L1:</div><div class='del'>-     *</div><div class='del'>-     * =&gt; obj is not a T_XXX</div><div class='del'>-     *</div><div class='del'>-     *   putobject obj (T_XXX)</div><div class='del'>-     *   jump L2</div><div class='del'>-     * L2:</div><div class='del'>-     */</div><div class='del'>-    int line;</div><div class='del'>-    INSN *niobj, *ciobj, *dup = 0;</div><div class='del'>-    LABEL *dest = 0;</div><div class='del'>-    VALUE type;</div><div class='del'>-</div><div class='del'>-    switch (INSN_OF(iobj)) {</div><div class='del'>-      case BIN(putstring):</div><div class='del'>-	type = INT2FIX(T_STRING);</div><div class='del'>-	break;</div><div class='del'>-      case BIN(putnil):</div><div class='del'>-	type = INT2FIX(T_NIL);</div><div class='del'>-	break;</div><div class='del'>-      case BIN(putobject):</div><div class='del'>-	type = INT2FIX(TYPE(OPERAND_AT(iobj, 0)));</div><div class='del'>-	break;</div><div class='del'>-      default: return FALSE;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ciobj = (INSN *)get_next_insn(iobj);</div><div class='del'>-    if (IS_INSN_ID(ciobj, jump)) {</div><div class='del'>-	ciobj = (INSN *)get_next_insn((INSN*)OPERAND_AT(ciobj, 0));</div><div class='del'>-    }</div><div class='del'>-    if (IS_INSN_ID(ciobj, dup)) {</div><div class='del'>-	ciobj = (INSN *)get_next_insn(dup = ciobj);</div><div class='del'>-    }</div><div class='del'>-    if (!ciobj || !IS_INSN_ID(ciobj, checktype)) return FALSE;</div><div class='del'>-    niobj = (INSN *)get_next_insn(ciobj);</div><div class='del'>-    if (!niobj) {</div><div class='del'>-      no_branch:</div><div class='del'>-	/* TODO: putobject true/false */</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-    switch (INSN_OF(niobj)) {</div><div class='del'>-      case BIN(branchif):</div><div class='del'>-	if (OPERAND_AT(ciobj, 0) == type) {</div><div class='del'>-	    dest = (LABEL *)OPERAND_AT(niobj, 0);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      case BIN(branchunless):</div><div class='del'>-	if (OPERAND_AT(ciobj, 0) != type) {</div><div class='del'>-	    dest = (LABEL *)OPERAND_AT(niobj, 0);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      default:</div><div class='del'>-	goto no_branch;</div><div class='del'>-    }</div><div class='del'>-    line = ciobj-&gt;insn_info.line_no;</div><div class='del'>-    if (!dest) {</div><div class='del'>-	if (niobj-&gt;link.next &amp;&amp; IS_LABEL(niobj-&gt;link.next)) {</div><div class='del'>-	    dest = (LABEL *)niobj-&gt;link.next; /* reuse label */</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    dest = NEW_LABEL(line);</div><div class='del'>-	    ELEM_INSERT_NEXT(&amp;niobj-&gt;link, &amp;dest-&gt;link);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    INSERT_AFTER_INSN1(iobj, line, jump, dest);</div><div class='del'>-    LABEL_REF(dest);</div><div class='del'>-    if (!dup) INSERT_AFTER_INSN(iobj, line, pop);</div><div class='del'>-    return TRUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_peephole_optimize(rb_iseq_t *iseq, LINK_ELEMENT *list, const int do_tailcallopt)</div><div class='del'>-{</div><div class='del'>-    INSN *const iobj = (INSN *)list;</div><div class='del'>-</div><div class='del'>-  again:</div><div class='del'>-    optimize_checktype(iseq, iobj);</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, jump)) {</div><div class='del'>-	INSN *niobj, *diobj, *piobj, *dniobj;</div><div class='del'>-	diobj = (INSN *)get_destination_insn(iobj);</div><div class='del'>-	niobj = (INSN *)get_next_insn(iobj);</div><div class='del'>-</div><div class='del'>-	if (diobj == niobj) {</div><div class='del'>-	    /*</div><div class='del'>-	     *   jump LABEL</div><div class='del'>-	     *  LABEL:</div><div class='del'>-	     * =&gt;</div><div class='del'>-	     *   LABEL:</div><div class='del'>-	     */</div><div class='del'>-	    unref_destination(iobj, 0);</div><div class='del'>-	    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-	    return COMPILE_OK;</div><div class='del'>-	}</div><div class='del'>-	else if (iobj != diobj &amp;&amp; IS_INSN_ID(diobj, jump) &amp;&amp;</div><div class='del'>-		 OPERAND_AT(iobj, 0) != OPERAND_AT(diobj, 0)) {</div><div class='del'>-	    /*</div><div class='del'>-	     *  useless jump elimination:</div><div class='del'>-	     *     jump LABEL1</div><div class='del'>-	     *     ...</div><div class='del'>-	     *   LABEL1:</div><div class='del'>-	     *     jump LABEL2</div><div class='del'>-	     *</div><div class='del'>-	     *   =&gt; in this case, first jump instruction should jump to</div><div class='del'>-	     *      LABEL2 directly</div><div class='del'>-	     */</div><div class='del'>-	    replace_destination(iobj, diobj);</div><div class='del'>-	    remove_unreachable_chunk(iseq, iobj-&gt;link.next);</div><div class='del'>-	    goto again;</div><div class='del'>-	}</div><div class='del'>-	else if (dniobj = 0,</div><div class='del'>-		 IS_INSN_ID(diobj, leave) ||</div><div class='del'>-		 (diobj-&gt;operand_size == 0 &amp;&amp;</div><div class='del'>-		  (dniobj = (INSN *)get_next_insn(diobj)) != 0 &amp;&amp;</div><div class='del'>-		  (IS_INSN_ID(dniobj, leave) || (dniobj = 0)))) {</div><div class='del'>-	    INSN *pop;</div><div class='del'>-	    /*</div><div class='del'>-	     *  jump LABEL</div><div class='del'>-	     *  ...</div><div class='del'>-	     * LABEL:</div><div class='del'>-	     *  leave</div><div class='del'>-	     * =&gt;</div><div class='del'>-	     *  leave</div><div class='del'>-	     *  pop</div><div class='del'>-	     *  ...</div><div class='del'>-	     * LABEL:</div><div class='del'>-	     *  leave</div><div class='del'>-	     */</div><div class='del'>-	    /* replace */</div><div class='del'>-	    unref_destination(iobj, 0);</div><div class='del'>-	    iobj-&gt;insn_id = diobj-&gt;insn_id;</div><div class='del'>-	    iobj-&gt;operand_size = 0;</div><div class='del'>-	    iobj-&gt;insn_info = diobj-&gt;insn_info;</div><div class='del'>-	    if (dniobj) {</div><div class='del'>-		dniobj = new_insn_body(iseq, dniobj-&gt;insn_info.line_no, BIN(leave), 0);</div><div class='del'>-		ELEM_INSERT_NEXT(&amp;iobj-&gt;link, &amp;dniobj-&gt;link);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		dniobj = iobj;</div><div class='del'>-	    }</div><div class='del'>-	    /* adjust stack depth */</div><div class='del'>-	    pop = new_insn_body(iseq, diobj-&gt;insn_info.line_no, BIN(pop), 0);</div><div class='del'>-	    ELEM_INSERT_NEXT(&amp;dniobj-&gt;link, &amp;pop-&gt;link);</div><div class='del'>-	    goto again;</div><div class='del'>-	}</div><div class='del'>-	else if ((piobj = (INSN *)get_prev_insn(iobj)) != 0 &amp;&amp;</div><div class='del'>-		 (IS_INSN_ID(piobj, branchif) ||</div><div class='del'>-		  IS_INSN_ID(piobj, branchunless))) {</div><div class='del'>-	    INSN *pdiobj = (INSN *)get_destination_insn(piobj);</div><div class='del'>-	    if (niobj == pdiobj) {</div><div class='del'>-		int refcnt = IS_LABEL(piobj-&gt;link.next) ?</div><div class='del'>-		    ((LABEL *)piobj-&gt;link.next)-&gt;refcnt : 0;</div><div class='del'>-		/*</div><div class='del'>-		 * useless jump elimination (if/unless destination):</div><div class='del'>-		 *   if   L1</div><div class='del'>-		 *   jump L2</div><div class='del'>-		 * L1:</div><div class='del'>-		 *   ...</div><div class='del'>-		 * L2:</div><div class='del'>-		 *</div><div class='del'>-		 * ==&gt;</div><div class='del'>-		 *   unless L2</div><div class='del'>-		 * L1:</div><div class='del'>-		 *   ...</div><div class='del'>-		 * L2:</div><div class='del'>-		 */</div><div class='del'>-		piobj-&gt;insn_id = (IS_INSN_ID(piobj, branchif))</div><div class='del'>-		  ? BIN(branchunless) : BIN(branchif);</div><div class='del'>-		replace_destination(piobj, iobj);</div><div class='del'>-		if (refcnt &lt;= 1) {</div><div class='del'>-		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    /* TODO: replace other branch destinations too */</div><div class='del'>-		}</div><div class='del'>-		return COMPILE_OK;</div><div class='del'>-	    }</div><div class='del'>-	    else if (diobj == pdiobj) {</div><div class='del'>-		/*</div><div class='del'>-		 * useless jump elimination (if/unless before jump):</div><div class='del'>-		 * L1:</div><div class='del'>-		 *   ...</div><div class='del'>-		 *   if   L1</div><div class='del'>-		 *   jump L1</div><div class='del'>-		 *</div><div class='del'>-		 * ==&gt;</div><div class='del'>-		 * L1:</div><div class='del'>-		 *   ...</div><div class='del'>-		 *   pop</div><div class='del'>-		 *   jump L1</div><div class='del'>-		 */</div><div class='del'>-		INSN *popiobj = new_insn_core(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-					      BIN(pop), 0, 0);</div><div class='del'>-		ELEM_REPLACE(&amp;piobj-&gt;link, &amp;popiobj-&gt;link);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	if (remove_unreachable_chunk(iseq, iobj-&gt;link.next)) {</div><div class='del'>-	    goto again;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * putstring "beg"</div><div class='del'>-     * putstring "end"</div><div class='del'>-     * newrange excl</div><div class='del'>-     *</div><div class='del'>-     * ==&gt;</div><div class='del'>-     *</div><div class='del'>-     * putobject "beg".."end"</div><div class='del'>-     */</div><div class='del'>-    if (IS_INSN_ID(iobj, checkmatch)) {</div><div class='del'>-        INSN *range = (INSN *)get_prev_insn(iobj);</div><div class='del'>-        INSN *beg, *end;</div><div class='del'>-        VALUE str_beg, str_end;</div><div class='del'>-</div><div class='del'>-	if (range &amp;&amp; IS_INSN_ID(range, newrange) &amp;&amp;</div><div class='del'>-                (end = (INSN *)get_prev_insn(range)) != 0 &amp;&amp;</div><div class='del'>-                is_frozen_putstring(end, &amp;str_end) &amp;&amp;</div><div class='del'>-                (beg = (INSN *)get_prev_insn(end)) != 0 &amp;&amp;</div><div class='del'>-                is_frozen_putstring(beg, &amp;str_beg)) {</div><div class='del'>-	    int excl = FIX2INT(OPERAND_AT(range, 0));</div><div class='del'>-	    VALUE lit_range = rb_range_new(str_beg, str_end, excl);</div><div class='del'>-</div><div class='del'>-	    iseq_add_mark_object_compile_time(iseq, lit_range);</div><div class='del'>-	    ELEM_REMOVE(&amp;beg-&gt;link);</div><div class='del'>-	    ELEM_REMOVE(&amp;end-&gt;link);</div><div class='del'>-	    range-&gt;insn_id = BIN(putobject);</div><div class='del'>-	    OPERAND_AT(range, 0) = lit_range;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, leave)) {</div><div class='del'>-	remove_unreachable_chunk(iseq, iobj-&gt;link.next);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, branchif) ||</div><div class='del'>-	IS_INSN_ID(iobj, branchnil) ||</div><div class='del'>-	IS_INSN_ID(iobj, branchunless)) {</div><div class='del'>-	/*</div><div class='del'>-	 *   if L1</div><div class='del'>-	 *   ...</div><div class='del'>-	 * L1:</div><div class='del'>-	 *   jump L2</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *   if L2</div><div class='del'>-	 */</div><div class='del'>-	INSN *nobj = (INSN *)get_destination_insn(iobj);</div><div class='del'>-	INSN *pobj = (INSN *)iobj-&gt;link.prev;</div><div class='del'>-	int prev_dup = 0;</div><div class='del'>-	if (pobj) {</div><div class='del'>-	    if (!IS_INSN(&amp;pobj-&gt;link))</div><div class='del'>-		pobj = 0;</div><div class='del'>-	    else if (IS_INSN_ID(pobj, dup))</div><div class='del'>-		prev_dup = 1;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	for (;;) {</div><div class='del'>-	    if (IS_INSN_ID(nobj, jump)) {</div><div class='del'>-		replace_destination(iobj, nobj);</div><div class='del'>-	    }</div><div class='del'>-	    else if (prev_dup &amp;&amp; IS_INSN_ID(nobj, dup) &amp;&amp;</div><div class='del'>-		     !!(nobj = (INSN *)nobj-&gt;link.next) &amp;&amp;</div><div class='del'>-		     /* basic blocks, with no labels in the middle */</div><div class='del'>-		     nobj-&gt;insn_id == iobj-&gt;insn_id) {</div><div class='del'>-		/*</div><div class='del'>-		 *   dup</div><div class='del'>-		 *   if L1</div><div class='del'>-		 *   ...</div><div class='del'>-		 * L1:</div><div class='del'>-		 *   dup</div><div class='del'>-		 *   if L2</div><div class='del'>-		 * =&gt;</div><div class='del'>-		 *   dup</div><div class='del'>-		 *   if L2</div><div class='del'>-		 *   ...</div><div class='del'>-		 * L1:</div><div class='del'>-		 *   dup</div><div class='del'>-		 *   if L2</div><div class='del'>-		 */</div><div class='del'>-		replace_destination(iobj, nobj);</div><div class='del'>-	    }</div><div class='del'>-	    else if (pobj) {</div><div class='del'>-		/*</div><div class='del'>-		 *   putnil</div><div class='del'>-		 *   if L1</div><div class='del'>-		 * =&gt;</div><div class='del'>-		 *   # nothing</div><div class='del'>-		 *</div><div class='del'>-		 *   putobject true</div><div class='del'>-		 *   if L1</div><div class='del'>-		 * =&gt;</div><div class='del'>-		 *   jump L1</div><div class='del'>-		 *</div><div class='del'>-		 *   putstring ".."</div><div class='del'>-		 *   if L1</div><div class='del'>-		 * =&gt;</div><div class='del'>-		 *   jump L1</div><div class='del'>-		 *</div><div class='del'>-		 *   putstring ".."</div><div class='del'>-		 *   dup</div><div class='del'>-		 *   if L1</div><div class='del'>-		 * =&gt;</div><div class='del'>-		 *   putstring ".."</div><div class='del'>-		 *   jump L1</div><div class='del'>-		 *</div><div class='del'>-		 */</div><div class='del'>-		int cond;</div><div class='del'>-		if (prev_dup &amp;&amp; IS_INSN(pobj-&gt;link.prev)) {</div><div class='del'>-		    pobj = (INSN *)pobj-&gt;link.prev;</div><div class='del'>-		}</div><div class='del'>-		if (IS_INSN_ID(pobj, putobject)) {</div><div class='del'>-		    cond = (IS_INSN_ID(iobj, branchif) ?</div><div class='del'>-			    OPERAND_AT(pobj, 0) != Qfalse :</div><div class='del'>-			    IS_INSN_ID(iobj, branchunless) ?</div><div class='del'>-			    OPERAND_AT(pobj, 0) == Qfalse :</div><div class='del'>-			    FALSE);</div><div class='del'>-		}</div><div class='del'>-		else if (IS_INSN_ID(pobj, putstring) ||</div><div class='del'>-			 IS_INSN_ID(pobj, duparray) ||</div><div class='del'>-			 IS_INSN_ID(pobj, newarray)) {</div><div class='del'>-		    cond = IS_INSN_ID(iobj, branchif);</div><div class='del'>-		}</div><div class='del'>-		else if (IS_INSN_ID(pobj, putnil)) {</div><div class='del'>-		    cond = !IS_INSN_ID(iobj, branchif);</div><div class='del'>-		}</div><div class='del'>-		else break;</div><div class='del'>-		if (prev_dup || !IS_INSN_ID(pobj, newarray)) {</div><div class='del'>-		    ELEM_REMOVE(iobj-&gt;link.prev);</div><div class='del'>-		}</div><div class='del'>-		else if (!iseq_pop_newarray(iseq, pobj)) {</div><div class='del'>-		    pobj = new_insn_core(iseq, pobj-&gt;insn_info.line_no, BIN(pop), 0, NULL);</div><div class='del'>-                    ELEM_INSERT_PREV(&amp;iobj-&gt;link, &amp;pobj-&gt;link);</div><div class='del'>-		}</div><div class='del'>-		if (cond) {</div><div class='del'>-		    if (prev_dup) {</div><div class='del'>-			pobj = new_insn_core(iseq, pobj-&gt;insn_info.line_no, BIN(putnil), 0, NULL);</div><div class='del'>-			ELEM_INSERT_NEXT(&amp;iobj-&gt;link, &amp;pobj-&gt;link);</div><div class='del'>-		    }</div><div class='del'>-		    iobj-&gt;insn_id = BIN(jump);</div><div class='del'>-		    goto again;</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    unref_destination(iobj, 0);</div><div class='del'>-		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    else break;</div><div class='del'>-	    nobj = (INSN *)get_destination_insn(nobj);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, pop)) {</div><div class='del'>-	/*</div><div class='del'>-	 *  putself / putnil / putobject obj / putstring "..."</div><div class='del'>-	 *  pop</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  # do nothing</div><div class='del'>-	 */</div><div class='del'>-	LINK_ELEMENT *prev = iobj-&gt;link.prev;</div><div class='del'>-	if (IS_INSN(prev)) {</div><div class='del'>-	    enum ruby_vminsn_type previ = ((INSN *)prev)-&gt;insn_id;</div><div class='del'>-	    if (previ == BIN(putobject) || previ == BIN(putnil) ||</div><div class='del'>-		previ == BIN(putself) || previ == BIN(putstring) ||</div><div class='del'>-		previ == BIN(dup) ||</div><div class='del'>-		previ == BIN(getlocal) ||</div><div class='del'>-		previ == BIN(getblockparam) ||</div><div class='del'>-		previ == BIN(getblockparamproxy) ||</div><div class='del'>-		/* getinstancevariable may issue a warning */</div><div class='del'>-		previ == BIN(duparray)) {</div><div class='del'>-		/* just push operand or static value and pop soon, no</div><div class='del'>-		 * side effects */</div><div class='del'>-		ELEM_REMOVE(prev);</div><div class='del'>-		ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-	    }</div><div class='del'>-	    else if (previ == BIN(newarray) &amp;&amp; iseq_pop_newarray(iseq, (INSN*)prev)) {</div><div class='del'>-		ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-	    }</div><div class='del'>-	    else if (previ == BIN(concatarray)) {</div><div class='del'>-		INSN *piobj = (INSN *)prev;</div><div class='del'>-		INSERT_BEFORE_INSN1(piobj, piobj-&gt;insn_info.line_no, splatarray, Qfalse);</div><div class='del'>-		INSN_OF(piobj) = BIN(pop);</div><div class='del'>-	    }</div><div class='del'>-	    else if (previ == BIN(concatstrings)) {</div><div class='del'>-		if (OPERAND_AT(prev, 0) == INT2FIX(1)) {</div><div class='del'>-		    ELEM_REMOVE(prev);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-		    INSN_OF(prev) = BIN(adjuststack);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, newarray) ||</div><div class='del'>-	IS_INSN_ID(iobj, duparray) ||</div><div class='del'>-	IS_INSN_ID(iobj, expandarray) ||</div><div class='del'>-	IS_INSN_ID(iobj, concatarray) ||</div><div class='del'>-	IS_INSN_ID(iobj, splatarray) ||</div><div class='del'>-	0) {</div><div class='del'>-	/*</div><div class='del'>-	 *  newarray N</div><div class='del'>-	 *  splatarray</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  newarray N</div><div class='del'>-	 * newarray always puts an array</div><div class='del'>-	 */</div><div class='del'>-	LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='del'>-	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, splatarray)) {</div><div class='del'>-	    /* remove splatarray following always-array insn */</div><div class='del'>-	    ELEM_REMOVE(next);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, tostring)) {</div><div class='del'>-	LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='del'>-	/*</div><div class='del'>-	 *  tostring</div><div class='del'>-	 *  concatstrings 1</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  tostring</div><div class='del'>-	 */</div><div class='del'>-	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, concatstrings) &amp;&amp;</div><div class='del'>-	    OPERAND_AT(next, 0) == INT2FIX(1)) {</div><div class='del'>-	    ELEM_REMOVE(next);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, putstring) ||</div><div class='del'>-	(IS_INSN_ID(iobj, putobject) &amp;&amp; RB_TYPE_P(OPERAND_AT(iobj, 0), T_STRING))) {</div><div class='del'>-	/*</div><div class='del'>-	 *  putstring ""</div><div class='del'>-	 *  concatstrings N</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  concatstrings N-1</div><div class='del'>-	 */</div><div class='del'>-	if (IS_NEXT_INSN_ID(&amp;iobj-&gt;link, concatstrings) &amp;&amp;</div><div class='del'>-	    RSTRING_LEN(OPERAND_AT(iobj, 0)) == 0) {</div><div class='del'>-	    INSN *next = (INSN *)iobj-&gt;link.next;</div><div class='del'>-	    if ((OPERAND_AT(next, 0) = FIXNUM_INC(OPERAND_AT(next, 0), -1)) == INT2FIX(1)) {</div><div class='del'>-		ELEM_REMOVE(&amp;next-&gt;link);</div><div class='del'>-	    }</div><div class='del'>-	    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, concatstrings)) {</div><div class='del'>-	/*</div><div class='del'>-	 *  concatstrings N</div><div class='del'>-	 *  concatstrings M</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  concatstrings N+M-1</div><div class='del'>-	 */</div><div class='del'>-	LINK_ELEMENT *next = iobj-&gt;link.next, *freeze = 0;</div><div class='del'>-	INSN *jump = 0;</div><div class='del'>-	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, freezestring))</div><div class='del'>-	    next = (freeze = next)-&gt;next;</div><div class='del'>-	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, jump))</div><div class='del'>-	    next = get_destination_insn(jump = (INSN *)next);</div><div class='del'>-	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, concatstrings)) {</div><div class='del'>-	    int n = FIX2INT(OPERAND_AT(iobj, 0)) + FIX2INT(OPERAND_AT(next, 0)) - 1;</div><div class='del'>-	    OPERAND_AT(iobj, 0) = INT2FIX(n);</div><div class='del'>-	    if (jump) {</div><div class='del'>-		LABEL *label = ((LABEL *)OPERAND_AT(jump, 0));</div><div class='del'>-		if (!--label-&gt;refcnt) {</div><div class='del'>-		    ELEM_REMOVE(&amp;label-&gt;link);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    label = NEW_LABEL(0);</div><div class='del'>-		    OPERAND_AT(jump, 0) = (VALUE)label;</div><div class='del'>-		}</div><div class='del'>-		label-&gt;refcnt++;</div><div class='del'>-		if (freeze &amp;&amp; IS_NEXT_INSN_ID(next, freezestring)) {</div><div class='del'>-		    if (same_debug_pos_p(freeze, next-&gt;next)) {</div><div class='del'>-			ELEM_REMOVE(freeze);</div><div class='del'>-		    }</div><div class='del'>-		    else {</div><div class='del'>-			next = next-&gt;next;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		ELEM_INSERT_NEXT(next, &amp;label-&gt;link);</div><div class='del'>-		CHECK(iseq_peephole_optimize(iseq, get_next_insn(jump), do_tailcallopt));</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		if (freeze) ELEM_REMOVE(freeze);</div><div class='del'>-		ELEM_REMOVE(next);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, freezestring) &amp;&amp;</div><div class='del'>-	NIL_P(OPERAND_AT(iobj, 0)) &amp;&amp;</div><div class='del'>-	IS_NEXT_INSN_ID(&amp;iobj-&gt;link, send)) {</div><div class='del'>-	INSN *niobj = (INSN *)iobj-&gt;link.next;</div><div class='del'>-	struct rb_call_info *ci = (struct rb_call_info *)OPERAND_AT(niobj, 0);</div><div class='del'>-	/*</div><div class='del'>-	 *  freezestring nil # no debug_info</div><div class='del'>-	 *  send &lt;:+@, 0, ARG_SIMPLE&gt;  # :-@, too</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  send &lt;:+@, 0, ARG_SIMPLE&gt;  # :-@, too</div><div class='del'>-	 */</div><div class='del'>-	if ((ci-&gt;mid == idUPlus || ci-&gt;mid == idUMinus) &amp;&amp;</div><div class='del'>-	    (ci-&gt;flag &amp; VM_CALL_ARGS_SIMPLE) &amp;&amp;</div><div class='del'>-	    ci-&gt;orig_argc == 0) {</div><div class='del'>-	    ELEM_REMOVE(list);</div><div class='del'>-	    return COMPILE_OK;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (do_tailcallopt &amp;&amp;</div><div class='del'>-	(IS_INSN_ID(iobj, send) ||</div><div class='del'>-	 IS_INSN_ID(iobj, opt_aref_with) ||</div><div class='del'>-	 IS_INSN_ID(iobj, opt_aset_with) ||</div><div class='del'>-	 IS_INSN_ID(iobj, invokesuper))) {</div><div class='del'>-	/*</div><div class='del'>-	 *  send ...</div><div class='del'>-	 *  leave</div><div class='del'>-	 * =&gt;</div><div class='del'>-	 *  send ..., ... | VM_CALL_TAILCALL, ...</div><div class='del'>-	 *  leave # unreachable</div><div class='del'>-	 */</div><div class='del'>-	INSN *piobj = NULL;</div><div class='del'>-	if (iobj-&gt;link.next) {</div><div class='del'>-	    LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='del'>-	    do {</div><div class='del'>-		if (!IS_INSN(next)) {</div><div class='del'>-		    next = next-&gt;next;</div><div class='del'>-		    continue;</div><div class='del'>-		}</div><div class='del'>-		switch (INSN_OF(next)) {</div><div class='del'>-		  case BIN(nop):</div><div class='del'>-		    next = next-&gt;next;</div><div class='del'>-		    break;</div><div class='del'>-		  case BIN(jump):</div><div class='del'>-		    /* if cond</div><div class='del'>-		     *   return tailcall</div><div class='del'>-		     * end</div><div class='del'>-		     */</div><div class='del'>-		    next = get_destination_insn((INSN *)next);</div><div class='del'>-		    break;</div><div class='del'>-		  case BIN(leave):</div><div class='del'>-		    piobj = iobj;</div><div class='del'>-		  default:</div><div class='del'>-		    next = NULL;</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	    } while (next);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (piobj) {</div><div class='del'>-	    struct rb_call_info *ci = (struct rb_call_info *)piobj-&gt;operands[0];</div><div class='del'>-	    if (IS_INSN_ID(piobj, send) || IS_INSN_ID(piobj, invokesuper)) {</div><div class='del'>-		if (piobj-&gt;operands[2] == 0) { /* no blockiseq */</div><div class='del'>-		    ci-&gt;flag |= VM_CALL_TAILCALL;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		ci-&gt;flag |= VM_CALL_TAILCALL;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, dup)) {</div><div class='del'>-	if (IS_NEXT_INSN_ID(&amp;iobj-&gt;link, setlocal)) {</div><div class='del'>-	    LINK_ELEMENT *set1 = iobj-&gt;link.next, *set2 = NULL;</div><div class='del'>-	    if (IS_NEXT_INSN_ID(set1, setlocal)) {</div><div class='del'>-		set2 = set1-&gt;next;</div><div class='del'>-		if (OPERAND_AT(set1, 0) == OPERAND_AT(set2, 0) &amp;&amp;</div><div class='del'>-		    OPERAND_AT(set1, 1) == OPERAND_AT(set2, 1)) {</div><div class='del'>-		    ELEM_REMOVE(set1);</div><div class='del'>-		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else if (IS_NEXT_INSN_ID(set1, dup) &amp;&amp;</div><div class='del'>-		     IS_NEXT_INSN_ID(set1-&gt;next, setlocal)) {</div><div class='del'>-		set2 = set1-&gt;next-&gt;next;</div><div class='del'>-		if (OPERAND_AT(set1, 0) == OPERAND_AT(set2, 0) &amp;&amp;</div><div class='del'>-		    OPERAND_AT(set1, 1) == OPERAND_AT(set2, 1)) {</div><div class='del'>-		    ELEM_REMOVE(set1-&gt;next);</div><div class='del'>-		    ELEM_REMOVE(set2);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, getlocal)) {</div><div class='del'>-	LINK_ELEMENT *niobj = &amp;iobj-&gt;link;</div><div class='del'>-	if (IS_NEXT_INSN_ID(niobj, dup)) {</div><div class='del'>-	    niobj = niobj-&gt;next;</div><div class='del'>-	}</div><div class='del'>-	if (IS_NEXT_INSN_ID(niobj, setlocal)) {</div><div class='del'>-	    LINK_ELEMENT *set1 = niobj-&gt;next;</div><div class='del'>-	    if (OPERAND_AT(iobj, 0) == OPERAND_AT(set1, 0) &amp;&amp;</div><div class='del'>-		OPERAND_AT(iobj, 1) == OPERAND_AT(set1, 1)) {</div><div class='del'>-		ELEM_REMOVE(set1);</div><div class='del'>-		ELEM_REMOVE(niobj);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-insn_set_specialized_instruction(rb_iseq_t *iseq, INSN *iobj, int insn_id)</div><div class='del'>-{</div><div class='del'>-    iobj-&gt;insn_id = insn_id;</div><div class='del'>-    iobj-&gt;operand_size = insn_len(insn_id) - 1;</div><div class='del'>-</div><div class='del'>-    if (insn_id == BIN(opt_neq)) {</div><div class='del'>-	VALUE *old_operands = iobj-&gt;operands;</div><div class='del'>-	iobj-&gt;operand_size = 4;</div><div class='del'>-	iobj-&gt;operands = (VALUE *)compile_data_alloc(iseq, iobj-&gt;operand_size * sizeof(VALUE));</div><div class='del'>-	iobj-&gt;operands[0] = (VALUE)new_callinfo(iseq, idEq, 1, 0, NULL, FALSE);</div><div class='del'>-	iobj-&gt;operands[1] = Qfalse; /* CALL_CACHE */</div><div class='del'>-	iobj-&gt;operands[2] = old_operands[0];</div><div class='del'>-	iobj-&gt;operands[3] = Qfalse; /* CALL_CACHE */</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_specialized_instruction(rb_iseq_t *iseq, INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    if (IS_INSN_ID(iobj, newarray) &amp;&amp; iobj-&gt;link.next &amp;&amp;</div><div class='del'>-	IS_INSN(iobj-&gt;link.next)) {</div><div class='del'>-	/*</div><div class='del'>-	 *   [a, b, ...].max/min -&gt; a, b, c, opt_newarray_max/min</div><div class='del'>-	 */</div><div class='del'>-	INSN *niobj = (INSN *)iobj-&gt;link.next;</div><div class='del'>-	if (IS_INSN_ID(niobj, send)) {</div><div class='del'>-	    struct rb_call_info *ci = (struct rb_call_info *)OPERAND_AT(niobj, 0);</div><div class='del'>-	    if ((ci-&gt;flag &amp; VM_CALL_ARGS_SIMPLE) &amp;&amp; ci-&gt;orig_argc == 0) {</div><div class='del'>-		switch (ci-&gt;mid) {</div><div class='del'>-		  case idMax:</div><div class='del'>-		    iobj-&gt;insn_id = BIN(opt_newarray_max);</div><div class='del'>-		    ELEM_REMOVE(&amp;niobj-&gt;link);</div><div class='del'>-		    return COMPILE_OK;</div><div class='del'>-		  case idMin:</div><div class='del'>-		    iobj-&gt;insn_id = BIN(opt_newarray_min);</div><div class='del'>-		    ELEM_REMOVE(&amp;niobj-&gt;link);</div><div class='del'>-		    return COMPILE_OK;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (IS_INSN_ID(iobj, send)) {</div><div class='del'>-	struct rb_call_info *ci = (struct rb_call_info *)OPERAND_AT(iobj, 0);</div><div class='del'>-	const rb_iseq_t *blockiseq = (rb_iseq_t *)OPERAND_AT(iobj, 2);</div><div class='del'>-</div><div class='del'>-#define SP_INSN(opt) insn_set_specialized_instruction(iseq, iobj, BIN(opt_##opt))</div><div class='del'>-	if (ci-&gt;flag &amp; VM_CALL_ARGS_SIMPLE) {</div><div class='del'>-	    switch (ci-&gt;orig_argc) {</div><div class='del'>-	      case 0:</div><div class='del'>-		switch (ci-&gt;mid) {</div><div class='del'>-		  case idLength: SP_INSN(length); return COMPILE_OK;</div><div class='del'>-		  case idSize:	 SP_INSN(size);	  return COMPILE_OK;</div><div class='del'>-		  case idEmptyP: SP_INSN(empty_p);return COMPILE_OK;</div><div class='del'>-		  case idSucc:	 SP_INSN(succ);	  return COMPILE_OK;</div><div class='del'>-		  case idNot:	 SP_INSN(not);	  return COMPILE_OK;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      case 1:</div><div class='del'>-		switch (ci-&gt;mid) {</div><div class='del'>-		  case idPLUS:	 SP_INSN(plus);	  return COMPILE_OK;</div><div class='del'>-		  case idMINUS:	 SP_INSN(minus);  return COMPILE_OK;</div><div class='del'>-		  case idMULT:	 SP_INSN(mult);	  return COMPILE_OK;</div><div class='del'>-		  case idDIV:	 SP_INSN(div);	  return COMPILE_OK;</div><div class='del'>-		  case idMOD:	 SP_INSN(mod);	  return COMPILE_OK;</div><div class='del'>-		  case idEq:	 SP_INSN(eq);	  return COMPILE_OK;</div><div class='del'>-		  case idNeq:	 SP_INSN(neq);	  return COMPILE_OK;</div><div class='del'>-		  case idLT:	 SP_INSN(lt);	  return COMPILE_OK;</div><div class='del'>-		  case idLE:	 SP_INSN(le);	  return COMPILE_OK;</div><div class='del'>-		  case idGT:	 SP_INSN(gt);	  return COMPILE_OK;</div><div class='del'>-		  case idGE:	 SP_INSN(ge);	  return COMPILE_OK;</div><div class='del'>-		  case idLTLT:	 SP_INSN(ltlt);	  return COMPILE_OK;</div><div class='del'>-		  case idAREF:	 SP_INSN(aref);	  return COMPILE_OK;</div><div class='del'>-                  case idAnd:    SP_INSN(and);    return COMPILE_OK;</div><div class='del'>-                  case idOr:     SP_INSN(or);    return COMPILE_OK;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      case 2:</div><div class='del'>-		switch (ci-&gt;mid) {</div><div class='del'>-		  case idASET:	 SP_INSN(aset);	  return COMPILE_OK;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if ((ci-&gt;flag &amp; VM_CALL_ARGS_BLOCKARG) == 0 &amp;&amp; blockiseq == NULL) {</div><div class='del'>-	    iobj-&gt;insn_id = BIN(opt_send_without_block);</div><div class='del'>-	    iobj-&gt;operand_size = insn_len(iobj-&gt;insn_id) - 1;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#undef SP_INSN</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline int</div><div class='del'>-tailcallable_p(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    switch (iseq-&gt;body-&gt;type) {</div><div class='del'>-      case ISEQ_TYPE_TOP:</div><div class='del'>-      case ISEQ_TYPE_EVAL:</div><div class='del'>-      case ISEQ_TYPE_MAIN:</div><div class='del'>-	/* not tail callable because cfp will be over popped */</div><div class='del'>-      case ISEQ_TYPE_RESCUE:</div><div class='del'>-      case ISEQ_TYPE_ENSURE:</div><div class='del'>-	/* rescue block can't tail call because of errinfo */</div><div class='del'>-	return FALSE;</div><div class='del'>-      default:</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_optimize(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *list;</div><div class='del'>-    const int do_peepholeopt = ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;peephole_optimization;</div><div class='del'>-    const int do_tailcallopt = tailcallable_p(iseq) &amp;&amp;</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;tailcall_optimization;</div><div class='del'>-    const int do_si = ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction;</div><div class='del'>-    const int do_ou = ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;operands_unification;</div><div class='del'>-    int rescue_level = 0;</div><div class='del'>-    int tailcallopt = do_tailcallopt;</div><div class='del'>-</div><div class='del'>-    list = FIRST_ELEMENT(anchor);</div><div class='del'>-</div><div class='del'>-    while (list) {</div><div class='del'>-	if (IS_INSN(list)) {</div><div class='del'>-	    if (do_peepholeopt) {</div><div class='del'>-		iseq_peephole_optimize(iseq, list, tailcallopt);</div><div class='del'>-	    }</div><div class='del'>-	    if (do_si) {</div><div class='del'>-		iseq_specialized_instruction(iseq, (INSN *)list);</div><div class='del'>-	    }</div><div class='del'>-	    if (do_ou) {</div><div class='del'>-		insn_operands_unification((INSN *)list);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	if (IS_LABEL(list)) {</div><div class='del'>-	    switch (((LABEL *)list)-&gt;rescued) {</div><div class='del'>-	      case LABEL_RESCUE_BEG:</div><div class='del'>-		rescue_level++;</div><div class='del'>-		tailcallopt = FALSE;</div><div class='del'>-		break;</div><div class='del'>-	      case LABEL_RESCUE_END:</div><div class='del'>-		if (!--rescue_level) tailcallopt = do_tailcallopt;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if OPT_INSTRUCTIONS_UNIFICATION</div><div class='del'>-static INSN *</div><div class='del'>-new_unified_insn(rb_iseq_t *iseq,</div><div class='del'>-		 int insn_id, int size, LINK_ELEMENT *seq_list)</div><div class='del'>-{</div><div class='del'>-    INSN *iobj = 0;</div><div class='del'>-    LINK_ELEMENT *list = seq_list;</div><div class='del'>-    int i, argc = 0;</div><div class='del'>-    VALUE *operands = 0, *ptr = 0;</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-    /* count argc */</div><div class='del'>-    for (i = 0; i &lt; size; i++) {</div><div class='del'>-	iobj = (INSN *)list;</div><div class='del'>-	argc += iobj-&gt;operand_size;</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (argc &gt; 0) {</div><div class='del'>-	ptr = operands =</div><div class='del'>-	    (VALUE *)compile_data_alloc(iseq, sizeof(VALUE) * argc);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* copy operands */</div><div class='del'>-    list = seq_list;</div><div class='del'>-    for (i = 0; i &lt; size; i++) {</div><div class='del'>-	iobj = (INSN *)list;</div><div class='del'>-	MEMCPY(ptr, iobj-&gt;operands, VALUE, iobj-&gt;operand_size);</div><div class='del'>-	ptr += iobj-&gt;operand_size;</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return new_insn_core(iseq, iobj-&gt;insn_info.line_no, insn_id, argc, operands);</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * This scheme can get more performance if do this optimize with</div><div class='del'>- * label address resolving.</div><div class='del'>- * It's future work (if compile time was bottle neck).</div><div class='del'>- */</div><div class='del'>-static int</div><div class='del'>-iseq_insns_unification(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-#if OPT_INSTRUCTIONS_UNIFICATION</div><div class='del'>-    LINK_ELEMENT *list;</div><div class='del'>-    INSN *iobj, *niobj;</div><div class='del'>-    int id, k;</div><div class='del'>-    intptr_t j;</div><div class='del'>-</div><div class='del'>-    list = FIRST_ELEMENT(anchor);</div><div class='del'>-    while (list) {</div><div class='del'>-	if (IS_INSN(list)) {</div><div class='del'>-	    iobj = (INSN *)list;</div><div class='del'>-	    id = iobj-&gt;insn_id;</div><div class='del'>-	    if (unified_insns_data[id] != 0) {</div><div class='del'>-		const int *const *entry = unified_insns_data[id];</div><div class='del'>-		for (j = 1; j &lt; (intptr_t)entry[0]; j++) {</div><div class='del'>-		    const int *unified = entry[j];</div><div class='del'>-		    LINK_ELEMENT *li = list-&gt;next;</div><div class='del'>-		    for (k = 2; k &lt; unified[1]; k++) {</div><div class='del'>-			if (!IS_INSN(li) ||</div><div class='del'>-			    ((INSN *)li)-&gt;insn_id != unified[k]) {</div><div class='del'>-			    goto miss;</div><div class='del'>-			}</div><div class='del'>-			li = li-&gt;next;</div><div class='del'>-		    }</div><div class='del'>-		    /* matched */</div><div class='del'>-		    niobj =</div><div class='del'>-			new_unified_insn(iseq, unified[0], unified[1] - 1,</div><div class='del'>-					 list);</div><div class='del'>-</div><div class='del'>-		    /* insert to list */</div><div class='del'>-		    niobj-&gt;link.prev = (LINK_ELEMENT *)iobj-&gt;link.prev;</div><div class='del'>-		    niobj-&gt;link.next = li;</div><div class='del'>-		    if (li) {</div><div class='del'>-			li-&gt;prev = (LINK_ELEMENT *)niobj;</div><div class='del'>-		    }</div><div class='del'>-</div><div class='del'>-		    list-&gt;prev-&gt;next = (LINK_ELEMENT *)niobj;</div><div class='del'>-		    list = (LINK_ELEMENT *)niobj;</div><div class='del'>-		    break;</div><div class='del'>-		  miss:;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if OPT_STACK_CACHING</div><div class='del'>-</div><div class='del'>-#define SC_INSN(insn, stat) sc_insn_info[(insn)][(stat)]</div><div class='del'>-#define SC_NEXT(insn)       sc_insn_next[(insn)]</div><div class='del'>-</div><div class='del'>-#include "opt_sc.inc"</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-insn_set_sc_state(rb_iseq_t *iseq, const LINK_ELEMENT *anchor, INSN *iobj, int state)</div><div class='del'>-{</div><div class='del'>-    int nstate;</div><div class='del'>-    int insn_id;</div><div class='del'>-</div><div class='del'>-    insn_id = iobj-&gt;insn_id;</div><div class='del'>-    iobj-&gt;insn_id = SC_INSN(insn_id, state);</div><div class='del'>-    nstate = SC_NEXT(iobj-&gt;insn_id);</div><div class='del'>-</div><div class='del'>-    if (insn_id == BIN(jump) ||</div><div class='del'>-	insn_id == BIN(branchif) || insn_id == BIN(branchunless)) {</div><div class='del'>-	LABEL *lobj = (LABEL *)OPERAND_AT(iobj, 0);</div><div class='del'>-</div><div class='del'>-	if (lobj-&gt;sc_state != 0) {</div><div class='del'>-	    if (lobj-&gt;sc_state != nstate) {</div><div class='del'>-		BADINSN_DUMP(anchor, iobj, lobj);</div><div class='del'>-		COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-			      "insn_set_sc_state error: %d at "LABEL_FORMAT</div><div class='del'>-			      ", %d expected\n",</div><div class='del'>-			      lobj-&gt;sc_state, lobj-&gt;label_no, nstate);</div><div class='del'>-		return COMPILE_NG;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    lobj-&gt;sc_state = nstate;</div><div class='del'>-	}</div><div class='del'>-	if (insn_id == BIN(jump)) {</div><div class='del'>-	    nstate = SCS_XX;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (insn_id == BIN(leave)) {</div><div class='del'>-	nstate = SCS_XX;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return nstate;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-label_set_sc_state(LABEL *lobj, int state)</div><div class='del'>-{</div><div class='del'>-    if (lobj-&gt;sc_state != 0) {</div><div class='del'>-	if (lobj-&gt;sc_state != state) {</div><div class='del'>-	    state = lobj-&gt;sc_state;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	lobj-&gt;sc_state = state;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return state;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_set_sequence_stackcaching(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='del'>-{</div><div class='del'>-#if OPT_STACK_CACHING</div><div class='del'>-    LINK_ELEMENT *list;</div><div class='del'>-    int state, insn_id;</div><div class='del'>-</div><div class='del'>-    /* initialize */</div><div class='del'>-    state = SCS_XX;</div><div class='del'>-    list = FIRST_ELEMENT(anchor);</div><div class='del'>-    /* dump_disasm_list(list); */</div><div class='del'>-</div><div class='del'>-    /* for each list element */</div><div class='del'>-    while (list) {</div><div class='del'>-      redo_point:</div><div class='del'>-	switch (list-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	    {</div><div class='del'>-		INSN *iobj = (INSN *)list;</div><div class='del'>-		insn_id = iobj-&gt;insn_id;</div><div class='del'>-</div><div class='del'>-		/* dump_disasm_list(list); */</div><div class='del'>-</div><div class='del'>-		switch (insn_id) {</div><div class='del'>-		  case BIN(nop):</div><div class='del'>-		    {</div><div class='del'>-			/* exception merge point */</div><div class='del'>-			if (state != SCS_AX) {</div><div class='del'>-			    INSN *rpobj =</div><div class='del'>-				new_insn_body(iseq, 0, BIN(reput), 0);</div><div class='del'>-</div><div class='del'>-			    /* replace this insn */</div><div class='del'>-			    ELEM_REPLACE(list, (LINK_ELEMENT *)rpobj);</div><div class='del'>-			    list = (LINK_ELEMENT *)rpobj;</div><div class='del'>-			    goto redo_point;</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		    }</div><div class='del'>-		  case BIN(swap):</div><div class='del'>-		    {</div><div class='del'>-			if (state == SCS_AB || state == SCS_BA) {</div><div class='del'>-			    state = (state == SCS_AB ? SCS_BA : SCS_AB);</div><div class='del'>-</div><div class='del'>-			    ELEM_REMOVE(list);</div><div class='del'>-			    list = list-&gt;next;</div><div class='del'>-			    goto redo_point;</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		    }</div><div class='del'>-		  case BIN(pop):</div><div class='del'>-		    {</div><div class='del'>-			switch (state) {</div><div class='del'>-			  case SCS_AX:</div><div class='del'>-			  case SCS_BX:</div><div class='del'>-			    state = SCS_XX;</div><div class='del'>-			    break;</div><div class='del'>-			  case SCS_AB:</div><div class='del'>-			    state = SCS_AX;</div><div class='del'>-			    break;</div><div class='del'>-			  case SCS_BA:</div><div class='del'>-			    state = SCS_BX;</div><div class='del'>-			    break;</div><div class='del'>-			  case SCS_XX:</div><div class='del'>-			    goto normal_insn;</div><div class='del'>-			  default:</div><div class='del'>-			    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='del'>-					  "unreachable");</div><div class='del'>-			    return COMPILE_NG;</div><div class='del'>-			}</div><div class='del'>-			/* remove useless pop */</div><div class='del'>-			ELEM_REMOVE(list);</div><div class='del'>-			list = list-&gt;next;</div><div class='del'>-			goto redo_point;</div><div class='del'>-		    }</div><div class='del'>-		  default:;</div><div class='del'>-		    /* none */</div><div class='del'>-		}		/* end of switch */</div><div class='del'>-	      normal_insn:</div><div class='del'>-		state = insn_set_sc_state(iseq, anchor, iobj, state);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_LABEL:</div><div class='del'>-	    {</div><div class='del'>-		LABEL *lobj;</div><div class='del'>-		lobj = (LABEL *)list;</div><div class='del'>-</div><div class='del'>-		state = label_set_sc_state(lobj, state);</div><div class='del'>-	    }</div><div class='del'>-	  default:</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	list = list-&gt;next;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-all_string_result_p(const NODE *node)</div><div class='del'>-{</div><div class='del'>-    if (!node) return FALSE;</div><div class='del'>-    switch (nd_type(node)) {</div><div class='del'>-      case NODE_STR: case NODE_DSTR:</div><div class='del'>-	return TRUE;</div><div class='del'>-      case NODE_IF: case NODE_UNLESS:</div><div class='del'>-	if (!node-&gt;nd_body || !node-&gt;nd_else) return FALSE;</div><div class='del'>-	if (all_string_result_p(node-&gt;nd_body))</div><div class='del'>-	    return all_string_result_p(node-&gt;nd_else);</div><div class='del'>-	return FALSE;</div><div class='del'>-      case NODE_AND: case NODE_OR:</div><div class='del'>-	if (!node-&gt;nd_2nd)</div><div class='del'>-	    return all_string_result_p(node-&gt;nd_1st);</div><div class='del'>-	if (!all_string_result_p(node-&gt;nd_1st))</div><div class='del'>-	    return FALSE;</div><div class='del'>-	return all_string_result_p(node-&gt;nd_2nd);</div><div class='del'>-      default:</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_dstr_fragments(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int *cntp)</div><div class='del'>-{</div><div class='del'>-    const NODE *list = node-&gt;nd_next;</div><div class='del'>-    VALUE lit = node-&gt;nd_lit;</div><div class='del'>-    LINK_ELEMENT *first_lit = 0;</div><div class='del'>-    int cnt = 0;</div><div class='del'>-</div><div class='del'>-    debugp_param("nd_lit", lit);</div><div class='del'>-    if (!NIL_P(lit)) {</div><div class='del'>-	cnt++;</div><div class='del'>-	if (!RB_TYPE_P(lit, T_STRING)) {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "dstr: must be string: %s",</div><div class='del'>-			  rb_builtin_type_name(TYPE(lit)));</div><div class='del'>-	    return COMPILE_NG;</div><div class='del'>-	}</div><div class='del'>-	lit = freeze_literal(iseq, lit);</div><div class='del'>-	ADD_INSN1(ret, nd_line(node), putobject, lit);</div><div class='del'>-	if (RSTRING_LEN(lit) == 0) first_lit = LAST_ELEMENT(ret);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    while (list) {</div><div class='del'>-	const NODE *const head = list-&gt;nd_head;</div><div class='del'>-	if (nd_type(head) == NODE_STR) {</div><div class='del'>-	    lit = freeze_literal(iseq, head-&gt;nd_lit);</div><div class='del'>-	    ADD_INSN1(ret, nd_line(head), putobject, lit);</div><div class='del'>-	    lit = Qnil;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE(ret, "each string", head));</div><div class='del'>-	}</div><div class='del'>-	cnt++;</div><div class='del'>-	list = list-&gt;nd_next;</div><div class='del'>-    }</div><div class='del'>-    if (NIL_P(lit) &amp;&amp; first_lit) {</div><div class='del'>-	ELEM_REMOVE(first_lit);</div><div class='del'>-	--cnt;</div><div class='del'>-    }</div><div class='del'>-    *cntp = cnt;</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_dstr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='del'>-{</div><div class='del'>-    int cnt;</div><div class='del'>-    CHECK(compile_dstr_fragments(iseq, ret, node, &amp;cnt));</div><div class='del'>-    ADD_INSN1(ret, nd_line(node), concatstrings, INT2FIX(cnt));</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_dregx(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='del'>-{</div><div class='del'>-    int cnt;</div><div class='del'>-    CHECK(compile_dstr_fragments(iseq, ret, node, &amp;cnt));</div><div class='del'>-    ADD_INSN2(ret, nd_line(node), toregexp, INT2FIX(node-&gt;nd_cflag), INT2FIX(cnt));</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_flip_flop(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int again,</div><div class='del'>-		  LABEL *then_label, LABEL *else_label)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    LABEL *lend = NEW_LABEL(line);</div><div class='del'>-    rb_num_t cnt = ISEQ_FLIP_CNT_INCREMENT(iseq-&gt;body-&gt;local_iseq)</div><div class='del'>-	+ VM_SVAR_FLIPFLOP_START;</div><div class='del'>-    VALUE key = INT2FIX(cnt);</div><div class='del'>-</div><div class='del'>-    ADD_INSN2(ret, line, getspecial, key, INT2FIX(0));</div><div class='del'>-    ADD_INSNL(ret, line, branchif, lend);</div><div class='del'>-</div><div class='del'>-    /* *flip == 0 */</div><div class='del'>-    CHECK(COMPILE(ret, "flip2 beg", node-&gt;nd_beg));</div><div class='del'>-    ADD_INSNL(ret, line, branchunless, else_label);</div><div class='del'>-    ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='del'>-    ADD_INSN1(ret, line, setspecial, key);</div><div class='del'>-    if (!again) {</div><div class='del'>-	ADD_INSNL(ret, line, jump, then_label);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* *flip == 1 */</div><div class='del'>-    ADD_LABEL(ret, lend);</div><div class='del'>-    CHECK(COMPILE(ret, "flip2 end", node-&gt;nd_end));</div><div class='del'>-    ADD_INSNL(ret, line, branchunless, then_label);</div><div class='del'>-    ADD_INSN1(ret, line, putobject, Qfalse);</div><div class='del'>-    ADD_INSN1(ret, line, setspecial, key);</div><div class='del'>-    ADD_INSNL(ret, line, jump, then_label);</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_branch_condition(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *cond,</div><div class='del'>-			 LABEL *then_label, LABEL *else_label)</div><div class='del'>-{</div><div class='del'>-  again:</div><div class='del'>-    switch (nd_type(cond)) {</div><div class='del'>-      case NODE_AND:</div><div class='del'>-	{</div><div class='del'>-	    LABEL *label = NEW_LABEL(nd_line(cond));</div><div class='del'>-	    CHECK(compile_branch_condition(iseq, ret, cond-&gt;nd_1st, label,</div><div class='del'>-					   else_label));</div><div class='del'>-	    if (!label-&gt;refcnt) break;</div><div class='del'>-	    ADD_LABEL(ret, label);</div><div class='del'>-	    cond = cond-&gt;nd_2nd;</div><div class='del'>-	    goto again;</div><div class='del'>-	}</div><div class='del'>-      case NODE_OR:</div><div class='del'>-	{</div><div class='del'>-	    LABEL *label = NEW_LABEL(nd_line(cond));</div><div class='del'>-	    CHECK(compile_branch_condition(iseq, ret, cond-&gt;nd_1st, then_label,</div><div class='del'>-					   label));</div><div class='del'>-	    if (!label-&gt;refcnt) break;</div><div class='del'>-	    ADD_LABEL(ret, label);</div><div class='del'>-	    cond = cond-&gt;nd_2nd;</div><div class='del'>-	    goto again;</div><div class='del'>-	}</div><div class='del'>-      case NODE_LIT:		/* NODE_LIT is always true */</div><div class='del'>-      case NODE_TRUE:</div><div class='del'>-      case NODE_STR:</div><div class='del'>-      case NODE_ZARRAY:</div><div class='del'>-      case NODE_LAMBDA:</div><div class='del'>-	/* printf("useless condition eliminate (%s)\n",  ruby_node_name(nd_type(cond))); */</div><div class='del'>-	ADD_INSNL(ret, nd_line(cond), jump, then_label);</div><div class='del'>-	break;</div><div class='del'>-      case NODE_FALSE:</div><div class='del'>-      case NODE_NIL:</div><div class='del'>-	/* printf("useless condition eliminate (%s)\n", ruby_node_name(nd_type(cond))); */</div><div class='del'>-	ADD_INSNL(ret, nd_line(cond), jump, else_label);</div><div class='del'>-	break;</div><div class='del'>-      case NODE_ARRAY:</div><div class='del'>-      case NODE_ARGSCAT:</div><div class='del'>-      case NODE_DREGX:</div><div class='del'>-      case NODE_DSTR:</div><div class='del'>-	CHECK(COMPILE_POPPED(ret, "branch condition", cond));</div><div class='del'>-	ADD_INSNL(ret, nd_line(cond), jump, then_label);</div><div class='del'>-	break;</div><div class='del'>-      case NODE_FLIP2:</div><div class='del'>-	CHECK(compile_flip_flop(iseq, ret, cond, TRUE, then_label, else_label));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_FLIP3:</div><div class='del'>-	CHECK(compile_flip_flop(iseq, ret, cond, FALSE, then_label, else_label));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_DEFINED:</div><div class='del'>-	CHECK(compile_defined_expr(iseq, ret, cond, Qfalse));</div><div class='del'>-	goto branch;</div><div class='del'>-      default:</div><div class='del'>-	CHECK(COMPILE(ret, "branch condition", cond));</div><div class='del'>-      branch:</div><div class='del'>-	ADD_INSNL(ret, nd_line(cond), branchunless, else_label);</div><div class='del'>-	ADD_INSNL(ret, nd_line(cond), jump, then_label);</div><div class='del'>-	break;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_array_keyword_arg(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='del'>-			  const NODE *const root_node,</div><div class='del'>-			  struct rb_call_info_kw_arg **const kw_arg_ptr,</div><div class='del'>-			  unsigned int *flag)</div><div class='del'>-{</div><div class='del'>-    if (kw_arg_ptr == NULL) return FALSE;</div><div class='del'>-</div><div class='del'>-    if (nd_type(root_node) == NODE_HASH &amp;&amp; root_node-&gt;nd_head &amp;&amp; nd_type(root_node-&gt;nd_head) == NODE_ARRAY) {</div><div class='del'>-	const NODE *node = root_node-&gt;nd_head;</div><div class='del'>-</div><div class='del'>-	while (node) {</div><div class='del'>-	    const NODE *key_node = node-&gt;nd_head;</div><div class='del'>-</div><div class='del'>-	    assert(nd_type(node) == NODE_ARRAY);</div><div class='del'>-	    if (!key_node) {</div><div class='del'>-		if (flag &amp;&amp; !root_node-&gt;nd_alen) *flag |= VM_CALL_KW_SPLAT;</div><div class='del'>-		return FALSE;</div><div class='del'>-	    }</div><div class='del'>-	    else if (nd_type(key_node) == NODE_LIT &amp;&amp; RB_TYPE_P(key_node-&gt;nd_lit, T_SYMBOL)) {</div><div class='del'>-		/* can be keywords */</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		return FALSE;</div><div class='del'>-	    }</div><div class='del'>-	    node = node-&gt;nd_next; /* skip value node */</div><div class='del'>-	    node = node-&gt;nd_next;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	/* may be keywords */</div><div class='del'>-	node = root_node-&gt;nd_head;</div><div class='del'>-	{</div><div class='del'>-	    int len = (int)node-&gt;nd_alen / 2;</div><div class='del'>-	    struct rb_call_info_kw_arg *kw_arg  = (struct rb_call_info_kw_arg *)ruby_xmalloc(sizeof(struct rb_call_info_kw_arg) + sizeof(VALUE) * (len - 1));</div><div class='del'>-	    VALUE *keywords = kw_arg-&gt;keywords;</div><div class='del'>-	    int i = 0;</div><div class='del'>-	    kw_arg-&gt;keyword_len = len;</div><div class='del'>-</div><div class='del'>-	    *kw_arg_ptr = kw_arg;</div><div class='del'>-</div><div class='del'>-	    for (i=0; node != NULL; i++, node = node-&gt;nd_next-&gt;nd_next) {</div><div class='del'>-		const NODE *key_node = node-&gt;nd_head;</div><div class='del'>-		const NODE *val_node = node-&gt;nd_next-&gt;nd_head;</div><div class='del'>-		keywords[i] = key_node-&gt;nd_lit;</div><div class='del'>-		COMPILE(ret, "keyword values", val_node);</div><div class='del'>-	    }</div><div class='del'>-	    assert(i == len);</div><div class='del'>-	    return TRUE;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return FALSE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-enum compile_array_type_t {</div><div class='del'>-    COMPILE_ARRAY_TYPE_ARRAY,</div><div class='del'>-    COMPILE_ARRAY_TYPE_HASH,</div><div class='del'>-    COMPILE_ARRAY_TYPE_ARGS</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static inline int</div><div class='del'>-static_literal_node_p(const NODE *node, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    node = node-&gt;nd_head;</div><div class='del'>-    switch (nd_type(node)) {</div><div class='del'>-      case NODE_LIT:</div><div class='del'>-      case NODE_NIL:</div><div class='del'>-      case NODE_TRUE:</div><div class='del'>-      case NODE_FALSE:</div><div class='del'>-	return TRUE;</div><div class='del'>-      case NODE_STR:</div><div class='del'>-        if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal) {</div><div class='del'>-            return TRUE;</div><div class='del'>-        } else {</div><div class='del'>-            return FALSE;</div><div class='del'>-        }</div><div class='del'>-      default:</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-static_literal_value(const NODE *node, rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    node = node-&gt;nd_head;</div><div class='del'>-    switch (nd_type(node)) {</div><div class='del'>-      case NODE_NIL:</div><div class='del'>-	return Qnil;</div><div class='del'>-      case NODE_TRUE:</div><div class='del'>-	return Qtrue;</div><div class='del'>-      case NODE_FALSE:</div><div class='del'>-	return Qfalse;</div><div class='del'>-      case NODE_STR:</div><div class='del'>-        if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_frozen_string_literal || RTEST(ruby_debug)) {</div><div class='del'>-            VALUE lit;</div><div class='del'>-            VALUE debug_info = rb_ary_new_from_args(2, rb_iseq_path(iseq), INT2FIX((int)nd_line(node)));</div><div class='del'>-            lit = rb_str_dup(node-&gt;nd_lit);</div><div class='del'>-            rb_ivar_set(lit, id_debug_created_info, rb_obj_freeze(debug_info));</div><div class='del'>-            return rb_str_freeze(lit);</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            return rb_fstring(node-&gt;nd_lit);</div><div class='del'>-        }</div><div class='del'>-      default:</div><div class='del'>-	return node-&gt;nd_lit;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_array(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node_root,</div><div class='del'>-	      enum compile_array_type_t type, struct rb_call_info_kw_arg **keywords_ptr,</div><div class='del'>-	      unsigned int *flag, int popped)</div><div class='del'>-{</div><div class='del'>-    const NODE *node = node_root;</div><div class='del'>-    int line = (int)nd_line(node);</div><div class='del'>-    int len = 0;</div><div class='del'>-</div><div class='del'>-    if (nd_type(node) == NODE_ZARRAY) {</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    switch (type) {</div><div class='del'>-	      case COMPILE_ARRAY_TYPE_ARRAY: ADD_INSN1(ret, line, newarray, INT2FIX(0)); break;</div><div class='del'>-	      case COMPILE_ARRAY_TYPE_HASH: ADD_INSN1(ret, line, newhash, INT2FIX(0)); break;</div><div class='del'>-	      case COMPILE_ARRAY_TYPE_ARGS: /* do nothing */ break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	int opt_p = 1;</div><div class='del'>-	int first = 1, i;</div><div class='del'>-</div><div class='del'>-	while (node) {</div><div class='del'>-	    const NODE *start_node = node, *end_node;</div><div class='del'>-	    const NODE *kw = 0;</div><div class='del'>-	    const int max = 0x100;</div><div class='del'>-	    DECL_ANCHOR(anchor);</div><div class='del'>-	    INIT_ANCHOR(anchor);</div><div class='del'>-</div><div class='del'>-	    for (i=0; i&lt;max &amp;&amp; node; i++, len++, node = node-&gt;nd_next) {</div><div class='del'>-		if (CPDEBUG &gt; 0) {</div><div class='del'>-		    EXPECT_NODE("compile_array", node, NODE_ARRAY, -1);</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-		if (type != COMPILE_ARRAY_TYPE_ARRAY &amp;&amp; !node-&gt;nd_head) {</div><div class='del'>-		    kw = node-&gt;nd_next;</div><div class='del'>-		    node = 0;</div><div class='del'>-		    if (kw) {</div><div class='del'>-			opt_p = 0;</div><div class='del'>-			node = kw-&gt;nd_next;</div><div class='del'>-			kw = kw-&gt;nd_head;</div><div class='del'>-		    }</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-                if (opt_p &amp;&amp; !static_literal_node_p(node, iseq)) {</div><div class='del'>-		    opt_p = 0;</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-		if (type == COMPILE_ARRAY_TYPE_ARGS &amp;&amp;</div><div class='del'>-		    node-&gt;nd_next == NULL /* last node */ &amp;&amp;</div><div class='del'>-		    compile_array_keyword_arg(iseq, anchor, node-&gt;nd_head, keywords_ptr, flag)) {</div><div class='del'>-		    len--;</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    COMPILE_(anchor, "array element", node-&gt;nd_head, popped);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (opt_p &amp;&amp; type != COMPILE_ARRAY_TYPE_ARGS) {</div><div class='del'>-		if (!popped) {</div><div class='del'>-		    VALUE ary = rb_ary_tmp_new(i);</div><div class='del'>-</div><div class='del'>-		    end_node = node;</div><div class='del'>-		    node = start_node;</div><div class='del'>-</div><div class='del'>-		    while (node != end_node) {</div><div class='del'>-                        rb_ary_push(ary, static_literal_value(node, iseq));</div><div class='del'>-			node = node-&gt;nd_next;</div><div class='del'>-		    }</div><div class='del'>-		    while (node &amp;&amp; node-&gt;nd_next &amp;&amp;</div><div class='del'>-                           static_literal_node_p(node, iseq) &amp;&amp;</div><div class='del'>-                           static_literal_node_p(node-&gt;nd_next, iseq)) {</div><div class='del'>-			VALUE elem[2];</div><div class='del'>-                        elem[0] = static_literal_value(node, iseq);</div><div class='del'>-                        elem[1] = static_literal_value(node-&gt;nd_next, iseq);</div><div class='del'>-			rb_ary_cat(ary, elem, 2);</div><div class='del'>-			node = node-&gt;nd_next-&gt;nd_next;</div><div class='del'>-			len++;</div><div class='del'>-		    }</div><div class='del'>-</div><div class='del'>-		    OBJ_FREEZE(ary);</div><div class='del'>-</div><div class='del'>-		    iseq_add_mark_object_compile_time(iseq, ary);</div><div class='del'>-</div><div class='del'>-		    if (first) {</div><div class='del'>-			first = 0;</div><div class='del'>-			if (type == COMPILE_ARRAY_TYPE_ARRAY) {</div><div class='del'>-			    ADD_INSN1(ret, line, duparray, ary);</div><div class='del'>-			}</div><div class='del'>-			else { /* COMPILE_ARRAY_TYPE_HASH */</div><div class='del'>-                            VALUE hash;</div><div class='del'>-</div><div class='del'>-                            hash = rb_hash_new_with_size(RARRAY_LEN(ary) / 2);</div><div class='del'>-                            rb_hash_bulk_insert(RARRAY_LEN(ary), RARRAY_CONST_PTR_TRANSIENT(ary), hash);</div><div class='del'>-                            iseq_add_mark_object_compile_time(iseq, hash);</div><div class='del'>-                            ADD_INSN1(ret, line, duphash, hash);</div><div class='del'>-			}</div><div class='del'>-		    }</div><div class='del'>-		    else {</div><div class='del'>-			if (type == COMPILE_ARRAY_TYPE_ARRAY) {</div><div class='del'>-			    ADD_INSN1(ret, line, putobject, ary);</div><div class='del'>-			    ADD_INSN(ret, line, concatarray);</div><div class='del'>-			}</div><div class='del'>-			else {</div><div class='del'>-			    COMPILE_ERROR(ERROR_ARGS "core#hash_merge_ary");</div><div class='del'>-			    return -1;</div><div class='del'>-			}</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		if (!popped || kw) {</div><div class='del'>-		    switch (type) {</div><div class='del'>-		      case COMPILE_ARRAY_TYPE_ARRAY:</div><div class='del'>-			ADD_INSN1(anchor, line, newarray, INT2FIX(i));</div><div class='del'>-</div><div class='del'>-			if (first) {</div><div class='del'>-			    first = 0;</div><div class='del'>-			}</div><div class='del'>-			else {</div><div class='del'>-			    ADD_INSN(anchor, line, concatarray);</div><div class='del'>-			}</div><div class='del'>-</div><div class='del'>-			APPEND_LIST(ret, anchor);</div><div class='del'>-			break;</div><div class='del'>-		      case COMPILE_ARRAY_TYPE_HASH:</div><div class='del'>-			if (i &gt; 0) {</div><div class='del'>-			    if (first) {</div><div class='del'>-				if (!popped) {</div><div class='del'>-				    ADD_INSN1(anchor, line, newhash, INT2FIX(i));</div><div class='del'>-				}</div><div class='del'>-				APPEND_LIST(ret, anchor);</div><div class='del'>-			    }</div><div class='del'>-			    else {</div><div class='del'>-				if (!popped) {</div><div class='del'>-				    ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-				    ADD_INSN(ret, line, swap);</div><div class='del'>-				}</div><div class='del'>-				APPEND_LIST(ret, anchor);</div><div class='del'>-				if (!popped) {</div><div class='del'>-				    ADD_SEND(ret, line, id_core_hash_merge_ptr, INT2FIX(i + 1));</div><div class='del'>-				}</div><div class='del'>-			    }</div><div class='del'>-			}</div><div class='del'>-			if (kw) {</div><div class='del'>-			    if (!popped) {</div><div class='del'>-				ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-				if (i &gt; 0 || !first) ADD_INSN(ret, line, swap);</div><div class='del'>-				else ADD_INSN1(ret, line, newhash, INT2FIX(0));</div><div class='del'>-			    }</div><div class='del'>-			    COMPILE(ret, "keyword splat", kw);</div><div class='del'>-			    if (popped) {</div><div class='del'>-				ADD_INSN(ret, line, pop);</div><div class='del'>-			    }</div><div class='del'>-			    else {</div><div class='del'>-				ADD_SEND(ret, line, id_core_hash_merge_kwd, INT2FIX(2));</div><div class='del'>-			    }</div><div class='del'>-			}</div><div class='del'>-			first = 0;</div><div class='del'>-			break;</div><div class='del'>-		      case COMPILE_ARRAY_TYPE_ARGS:</div><div class='del'>-			APPEND_LIST(ret, anchor);</div><div class='del'>-			break;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    /* popped */</div><div class='del'>-		    APPEND_LIST(ret, anchor);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return len;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-case_when_optimizable_literal(const NODE *const node)</div><div class='del'>-{</div><div class='del'>-    switch (nd_type(node)) {</div><div class='del'>-      case NODE_LIT: {</div><div class='del'>-	VALUE v = node-&gt;nd_lit;</div><div class='del'>-	double ival;</div><div class='del'>-	if (RB_TYPE_P(v, T_FLOAT) &amp;&amp;</div><div class='del'>-	    modf(RFLOAT_VALUE(v), &amp;ival) == 0.0) {</div><div class='del'>-	    return FIXABLE(ival) ? LONG2FIX((long)ival) : rb_dbl2big(ival);</div><div class='del'>-	}</div><div class='del'>-	if (SYMBOL_P(v) || rb_obj_is_kind_of(v, rb_cNumeric)) {</div><div class='del'>-	    return v;</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_NIL:</div><div class='del'>-	return Qnil;</div><div class='del'>-      case NODE_TRUE:</div><div class='del'>-	return Qtrue;</div><div class='del'>-      case NODE_FALSE:</div><div class='del'>-	return Qfalse;</div><div class='del'>-      case NODE_STR:</div><div class='del'>-	return rb_fstring(node-&gt;nd_lit);</div><div class='del'>-    }</div><div class='del'>-    return Qundef;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-when_vals(rb_iseq_t *iseq, LINK_ANCHOR *const cond_seq, const NODE *vals,</div><div class='del'>-	  LABEL *l1, int only_special_literals, VALUE literals)</div><div class='del'>-{</div><div class='del'>-    while (vals) {</div><div class='del'>-	const NODE *val = vals-&gt;nd_head;</div><div class='del'>-	VALUE lit = case_when_optimizable_literal(val);</div><div class='del'>-</div><div class='del'>-	if (lit == Qundef) {</div><div class='del'>-	    only_special_literals = 0;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (rb_hash_lookup(literals, lit) != Qnil) {</div><div class='del'>-		VALUE file = rb_iseq_path(iseq);</div><div class='del'>-		rb_compile_warning(RSTRING_PTR(file), nd_line(val),</div><div class='del'>-				   "duplicated when clause is ignored");</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		rb_hash_aset(literals, lit, (VALUE)(l1) | 1);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_INSN(cond_seq, nd_line(val), dup); /* dup target */</div><div class='del'>-</div><div class='del'>-	if (nd_type(val) == NODE_STR) {</div><div class='del'>-	    debugp_param("nd_lit", val-&gt;nd_lit);</div><div class='del'>-	    lit = freeze_literal(iseq, val-&gt;nd_lit);</div><div class='del'>-	    ADD_INSN1(cond_seq, nd_line(val), putobject, lit);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (!COMPILE(cond_seq, "when cond", val)) return -1;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_INSN1(cond_seq, nd_line(vals), checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='del'>-	ADD_INSNL(cond_seq, nd_line(val), branchif, l1);</div><div class='del'>-	vals = vals-&gt;nd_next;</div><div class='del'>-    }</div><div class='del'>-    return only_special_literals;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-when_splat_vals(rb_iseq_t *iseq, LINK_ANCHOR *const cond_seq, const NODE *vals,</div><div class='del'>-                LABEL *l1, int only_special_literals, VALUE literals)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(vals);</div><div class='del'>-</div><div class='del'>-    switch (nd_type(vals)) {</div><div class='del'>-      case NODE_ARRAY:</div><div class='del'>-        if (when_vals(iseq, cond_seq, vals, l1, only_special_literals, literals) &lt; 0)</div><div class='del'>-            return COMPILE_NG;</div><div class='del'>-        break;</div><div class='del'>-      case NODE_SPLAT:</div><div class='del'>-        ADD_INSN (cond_seq, line, dup);</div><div class='del'>-        CHECK(COMPILE(cond_seq, "when splat", vals-&gt;nd_head));</div><div class='del'>-        ADD_INSN1(cond_seq, line, splatarray, Qfalse);</div><div class='del'>-        ADD_INSN1(cond_seq, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE | VM_CHECKMATCH_ARRAY));</div><div class='del'>-        ADD_INSNL(cond_seq, line, branchif, l1);</div><div class='del'>-        break;</div><div class='del'>-      case NODE_ARGSCAT:</div><div class='del'>-        CHECK(when_splat_vals(iseq, cond_seq, vals-&gt;nd_head, l1, only_special_literals, literals));</div><div class='del'>-        CHECK(when_splat_vals(iseq, cond_seq, vals-&gt;nd_body, l1, only_special_literals, literals));</div><div class='del'>-        break;</div><div class='del'>-      case NODE_ARGSPUSH:</div><div class='del'>-        CHECK(when_splat_vals(iseq, cond_seq, vals-&gt;nd_head, l1, only_special_literals, literals));</div><div class='del'>-        ADD_INSN (cond_seq, line, dup);</div><div class='del'>-        CHECK(COMPILE(cond_seq, "when argspush body", vals-&gt;nd_body));</div><div class='del'>-        ADD_INSN1(cond_seq, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='del'>-        ADD_INSNL(cond_seq, line, branchif, l1);</div><div class='del'>-        break;</div><div class='del'>-      default:</div><div class='del'>-        ADD_INSN (cond_seq, line, dup);</div><div class='del'>-        CHECK(COMPILE(cond_seq, "when val", vals));</div><div class='del'>-        ADD_INSN1(cond_seq, line, splatarray, Qfalse);</div><div class='del'>-        ADD_INSN1(cond_seq, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE | VM_CHECKMATCH_ARRAY));</div><div class='del'>-        ADD_INSNL(cond_seq, line, branchif, l1);</div><div class='del'>-        break;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_massign_lhs(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='del'>-{</div><div class='del'>-    switch (nd_type(node)) {</div><div class='del'>-      case NODE_ATTRASGN: {</div><div class='del'>-	INSN *iobj;</div><div class='del'>-	struct rb_call_info *ci;</div><div class='del'>-	VALUE dupidx;</div><div class='del'>-	int line = nd_line(node);</div><div class='del'>-</div><div class='del'>-	CHECK(COMPILE_POPPED(ret, "masgn lhs (NODE_ATTRASGN)", node));</div><div class='del'>-</div><div class='del'>-	iobj = (INSN *)get_prev_insn((INSN *)LAST_ELEMENT(ret)); /* send insn */</div><div class='del'>-	ci = (struct rb_call_info *)iobj-&gt;operands[0];</div><div class='del'>-	ci-&gt;orig_argc += 1;</div><div class='del'>-	dupidx = INT2FIX(ci-&gt;orig_argc);</div><div class='del'>-</div><div class='del'>-	INSERT_BEFORE_INSN1(iobj, line, topn, dupidx);</div><div class='del'>-	if (ci-&gt;flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='del'>-	    --ci-&gt;orig_argc;</div><div class='del'>-	    INSERT_BEFORE_INSN1(iobj, line, newarray, INT2FIX(1));</div><div class='del'>-	    INSERT_BEFORE_INSN(iobj, line, concatarray);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN(ret, line, pop);	/* result */</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_MASGN: {</div><div class='del'>-	DECL_ANCHOR(anchor);</div><div class='del'>-	INIT_ANCHOR(anchor);</div><div class='del'>-	CHECK(COMPILE_POPPED(anchor, "nest masgn lhs", node));</div><div class='del'>-	ELEM_REMOVE(FIRST_ELEMENT(anchor));</div><div class='del'>-	ADD_SEQ(ret, anchor);</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      default: {</div><div class='del'>-	DECL_ANCHOR(anchor);</div><div class='del'>-	INIT_ANCHOR(anchor);</div><div class='del'>-	CHECK(COMPILE_POPPED(anchor, "masgn lhs", node));</div><div class='del'>-	ELEM_REMOVE(FIRST_ELEMENT(anchor));</div><div class='del'>-	ADD_SEQ(ret, anchor);</div><div class='del'>-      }</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_massign_opt_lhs(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *lhsn)</div><div class='del'>-{</div><div class='del'>-    if (lhsn) {</div><div class='del'>-	CHECK(compile_massign_opt_lhs(iseq, ret, lhsn-&gt;nd_next));</div><div class='del'>-	CHECK(compile_massign_lhs(iseq, ret, lhsn-&gt;nd_head));</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_massign_opt(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='del'>-		    const NODE *rhsn, const NODE *orig_lhsn)</div><div class='del'>-{</div><div class='del'>-    VALUE mem[64];</div><div class='del'>-    const int memsize = numberof(mem);</div><div class='del'>-    int memindex = 0;</div><div class='del'>-    int llen = 0, rlen = 0;</div><div class='del'>-    int i;</div><div class='del'>-    const NODE *lhsn = orig_lhsn;</div><div class='del'>-</div><div class='del'>-#define MEMORY(v) { \</div><div class='del'>-    int i; \</div><div class='del'>-    if (memindex == memsize) return 0; \</div><div class='del'>-    for (i=0; i&lt;memindex; i++) { \</div><div class='del'>-	if (mem[i] == (v)) return 0; \</div><div class='del'>-    } \</div><div class='del'>-    mem[memindex++] = (v); \</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-    if (rhsn == 0 || nd_type(rhsn) != NODE_ARRAY) {</div><div class='del'>-	return 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    while (lhsn) {</div><div class='del'>-	const NODE *ln = lhsn-&gt;nd_head;</div><div class='del'>-	switch (nd_type(ln)) {</div><div class='del'>-	  case NODE_LASGN:</div><div class='del'>-	    MEMORY(ln-&gt;nd_vid);</div><div class='del'>-	    break;</div><div class='del'>-	  case NODE_DASGN:</div><div class='del'>-	  case NODE_DASGN_CURR:</div><div class='del'>-	  case NODE_IASGN:</div><div class='del'>-	  case NODE_CVASGN:</div><div class='del'>-	    MEMORY(ln-&gt;nd_vid);</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    return 0;</div><div class='del'>-	}</div><div class='del'>-	lhsn = lhsn-&gt;nd_next;</div><div class='del'>-	llen++;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    while (rhsn) {</div><div class='del'>-	if (llen &lt;= rlen) {</div><div class='del'>-	    COMPILE_POPPED(ret, "masgn val (popped)", rhsn-&gt;nd_head);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    COMPILE(ret, "masgn val", rhsn-&gt;nd_head);</div><div class='del'>-	}</div><div class='del'>-	rhsn = rhsn-&gt;nd_next;</div><div class='del'>-	rlen++;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (llen &gt; rlen) {</div><div class='del'>-	for (i=0; i&lt;llen-rlen; i++) {</div><div class='del'>-	    ADD_INSN(ret, nd_line(orig_lhsn), putnil);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    compile_massign_opt_lhs(iseq, ret, orig_lhsn);</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-adjust_stack(rb_iseq_t *iseq, LINK_ANCHOR *const ret, int line, int rlen, int llen)</div><div class='del'>-{</div><div class='del'>-    if (rlen &lt; llen) {</div><div class='del'>-	do {ADD_INSN(ret, line, putnil);} while (++rlen &lt; llen);</div><div class='del'>-    }</div><div class='del'>-    else if (rlen &gt; llen) {</div><div class='del'>-	do {ADD_INSN(ret, line, pop);} while (--rlen &gt; llen);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_massign(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const NODE *rhsn = node-&gt;nd_value;</div><div class='del'>-    const NODE *splatn = node-&gt;nd_args;</div><div class='del'>-    const NODE *lhsn = node-&gt;nd_head;</div><div class='del'>-    int lhs_splat = (splatn &amp;&amp; NODE_NAMED_REST_P(splatn)) ? 1 : 0;</div><div class='del'>-</div><div class='del'>-    if (!popped || splatn || !compile_massign_opt(iseq, ret, rhsn, lhsn)) {</div><div class='del'>-	int llen = 0;</div><div class='del'>-	int expand = 1;</div><div class='del'>-	DECL_ANCHOR(lhsseq);</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(lhsseq);</div><div class='del'>-</div><div class='del'>-	while (lhsn) {</div><div class='del'>-	    CHECK(compile_massign_lhs(iseq, lhsseq, lhsn-&gt;nd_head));</div><div class='del'>-	    llen += 1;</div><div class='del'>-	    lhsn = lhsn-&gt;nd_next;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	COMPILE(ret, "normal masgn rhs", rhsn);</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, nd_line(node), dup);</div><div class='del'>-	}</div><div class='del'>-	else if (!lhs_splat) {</div><div class='del'>-	    INSN *last = (INSN*)ret-&gt;last;</div><div class='del'>-	    if (IS_INSN(&amp;last-&gt;link) &amp;&amp;</div><div class='del'>-		IS_INSN_ID(last, newarray) &amp;&amp;</div><div class='del'>-		last-&gt;operand_size == 1) {</div><div class='del'>-		int rlen = FIX2INT(OPERAND_AT(last, 0));</div><div class='del'>-		/* special case: assign to aset or attrset */</div><div class='del'>-		if (llen == 2) {</div><div class='del'>-		    POP_ELEMENT(ret);</div><div class='del'>-		    adjust_stack(iseq, ret, nd_line(node), rlen, llen);</div><div class='del'>-		    ADD_INSN(ret, nd_line(node), swap);</div><div class='del'>-		    expand = 0;</div><div class='del'>-		}</div><div class='del'>-		else if (llen &gt; 2 &amp;&amp; llen != rlen) {</div><div class='del'>-		    POP_ELEMENT(ret);</div><div class='del'>-		    adjust_stack(iseq, ret, nd_line(node), rlen, llen);</div><div class='del'>-		    ADD_INSN1(ret, nd_line(node), reverse, INT2FIX(llen));</div><div class='del'>-		    expand = 0;</div><div class='del'>-		}</div><div class='del'>-		else if (llen &gt; 2) {</div><div class='del'>-		    last-&gt;insn_id = BIN(reverse);</div><div class='del'>-		    expand = 0;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	if (expand) {</div><div class='del'>-	    ADD_INSN2(ret, nd_line(node), expandarray,</div><div class='del'>-		      INT2FIX(llen), INT2FIX(lhs_splat));</div><div class='del'>-	}</div><div class='del'>-	ADD_SEQ(ret, lhsseq);</div><div class='del'>-</div><div class='del'>-	if (lhs_splat) {</div><div class='del'>-	    if (nd_type(splatn) == NODE_POSTARG) {</div><div class='del'>-		/*a, b, *r, p1, p2 */</div><div class='del'>-		const NODE *postn = splatn-&gt;nd_2nd;</div><div class='del'>-		const NODE *restn = splatn-&gt;nd_1st;</div><div class='del'>-		int num = (int)postn-&gt;nd_alen;</div><div class='del'>-		int flag = 0x02 | (NODE_NAMED_REST_P(restn) ? 0x01 : 0x00);</div><div class='del'>-</div><div class='del'>-		ADD_INSN2(ret, nd_line(splatn), expandarray,</div><div class='del'>-			  INT2FIX(num), INT2FIX(flag));</div><div class='del'>-</div><div class='del'>-		if (NODE_NAMED_REST_P(restn)) {</div><div class='del'>-		    CHECK(compile_massign_lhs(iseq, ret, restn));</div><div class='del'>-		}</div><div class='del'>-		while (postn) {</div><div class='del'>-		    CHECK(compile_massign_lhs(iseq, ret, postn-&gt;nd_head));</div><div class='del'>-		    postn = postn-&gt;nd_next;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		/* a, b, *r */</div><div class='del'>-		CHECK(compile_massign_lhs(iseq, ret, splatn));</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_const_prefix(rb_iseq_t *iseq, const NODE *const node,</div><div class='del'>-		     LINK_ANCHOR *const pref, LINK_ANCHOR *const body)</div><div class='del'>-{</div><div class='del'>-    switch (nd_type(node)) {</div><div class='del'>-      case NODE_CONST:</div><div class='del'>-	debugi("compile_const_prefix - colon", node-&gt;nd_vid);</div><div class='del'>-	ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node-&gt;nd_vid));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_COLON3:</div><div class='del'>-	debugi("compile_const_prefix - colon3", node-&gt;nd_mid);</div><div class='del'>-	ADD_INSN(body, nd_line(node), pop);</div><div class='del'>-	ADD_INSN1(body, nd_line(node), putobject, rb_cObject);</div><div class='del'>-	ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_COLON2:</div><div class='del'>-	CHECK(compile_const_prefix(iseq, node-&gt;nd_head, pref, body));</div><div class='del'>-	debugi("compile_const_prefix - colon2", node-&gt;nd_mid);</div><div class='del'>-	ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-	break;</div><div class='del'>-      default:</div><div class='del'>-	CHECK(COMPILE(pref, "const colon2 prefix", node));</div><div class='del'>-	break;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_cpath(LINK_ANCHOR *const ret, rb_iseq_t *iseq, const NODE *cpath)</div><div class='del'>-{</div><div class='del'>-    if (nd_type(cpath) == NODE_COLON3) {</div><div class='del'>-	/* toplevel class ::Foo */</div><div class='del'>-	ADD_INSN1(ret, nd_line(cpath), putobject, rb_cObject);</div><div class='del'>-	return VM_DEFINECLASS_FLAG_SCOPED;</div><div class='del'>-    }</div><div class='del'>-    else if (cpath-&gt;nd_head) {</div><div class='del'>-	/* Bar::Foo */</div><div class='del'>-	COMPILE(ret, "nd_else-&gt;nd_head", cpath-&gt;nd_head);</div><div class='del'>-	return VM_DEFINECLASS_FLAG_SCOPED;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* class at cbase Foo */</div><div class='del'>-	ADD_INSN1(ret, nd_line(cpath), putspecialobject,</div><div class='del'>-		  INT2FIX(VM_SPECIAL_OBJECT_CONST_BASE));</div><div class='del'>-	return 0;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define private_recv_p(node) (nd_type((node)-&gt;nd_recv) == NODE_SELF)</div><div class='del'>-static int</div><div class='del'>-defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='del'>-	     const NODE *const node, LABEL **lfinish, VALUE needstr);</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-defined_expr0(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='del'>-	      const NODE *const node, LABEL **lfinish, VALUE needstr)</div><div class='del'>-{</div><div class='del'>-    enum defined_type expr_type = DEFINED_NOT_DEFINED;</div><div class='del'>-    enum node_type type;</div><div class='del'>-</div><div class='del'>-    switch (type = nd_type(node)) {</div><div class='del'>-</div><div class='del'>-	/* easy literals */</div><div class='del'>-      case NODE_NIL:</div><div class='del'>-	expr_type = DEFINED_NIL;</div><div class='del'>-	break;</div><div class='del'>-      case NODE_SELF:</div><div class='del'>-	expr_type = DEFINED_SELF;</div><div class='del'>-	break;</div><div class='del'>-      case NODE_TRUE:</div><div class='del'>-	expr_type = DEFINED_TRUE;</div><div class='del'>-	break;</div><div class='del'>-      case NODE_FALSE:</div><div class='del'>-	expr_type = DEFINED_FALSE;</div><div class='del'>-	break;</div><div class='del'>-</div><div class='del'>-      case NODE_ARRAY:{</div><div class='del'>-	const NODE *vals = node;</div><div class='del'>-</div><div class='del'>-	do {</div><div class='del'>-	    defined_expr0(iseq, ret, vals-&gt;nd_head, lfinish, Qfalse);</div><div class='del'>-</div><div class='del'>-	    if (!lfinish[1]) {</div><div class='del'>-		lfinish[1] = NEW_LABEL(nd_line(node));</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSNL(ret, nd_line(node), branchunless, lfinish[1]);</div><div class='del'>-	} while ((vals = vals-&gt;nd_next) != NULL);</div><div class='del'>-      }</div><div class='del'>-      case NODE_STR:</div><div class='del'>-      case NODE_LIT:</div><div class='del'>-      case NODE_ZARRAY:</div><div class='del'>-      case NODE_AND:</div><div class='del'>-      case NODE_OR:</div><div class='del'>-      default:</div><div class='del'>-	expr_type = DEFINED_EXPR;</div><div class='del'>-	break;</div><div class='del'>-</div><div class='del'>-	/* variables */</div><div class='del'>-      case NODE_LVAR:</div><div class='del'>-      case NODE_DVAR:</div><div class='del'>-	expr_type = DEFINED_LVAR;</div><div class='del'>-	break;</div><div class='del'>-</div><div class='del'>-      case NODE_IVAR:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_IVAR),</div><div class='del'>-		  ID2SYM(node-&gt;nd_vid), needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-      case NODE_GVAR:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_GVAR),</div><div class='del'>-		  ID2SYM(node-&gt;nd_entry-&gt;id), needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-      case NODE_CVAR:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_CVAR),</div><div class='del'>-		  ID2SYM(node-&gt;nd_vid), needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-      case NODE_CONST:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_CONST),</div><div class='del'>-		  ID2SYM(node-&gt;nd_vid), needstr);</div><div class='del'>-	return 1;</div><div class='del'>-      case NODE_COLON2:</div><div class='del'>-	if (!lfinish[1]) {</div><div class='del'>-	    lfinish[1] = NEW_LABEL(nd_line(node));</div><div class='del'>-	}</div><div class='del'>-	defined_expr0(iseq, ret, node-&gt;nd_head, lfinish, Qfalse);</div><div class='del'>-	ADD_INSNL(ret, nd_line(node), branchunless, lfinish[1]);</div><div class='del'>-	COMPILE(ret, "defined/colon2#nd_head", node-&gt;nd_head);</div><div class='del'>-</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined,</div><div class='del'>-		  (rb_is_const_id(node-&gt;nd_mid) ?</div><div class='del'>-		   INT2FIX(DEFINED_CONST) : INT2FIX(DEFINED_METHOD)),</div><div class='del'>-		  ID2SYM(node-&gt;nd_mid), needstr);</div><div class='del'>-	return 1;</div><div class='del'>-      case NODE_COLON3:</div><div class='del'>-	ADD_INSN1(ret, nd_line(node), putobject, rb_cObject);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined,</div><div class='del'>-		  INT2FIX(DEFINED_CONST), ID2SYM(node-&gt;nd_mid), needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-	/* method dispatch */</div><div class='del'>-      case NODE_CALL:</div><div class='del'>-      case NODE_OPCALL:</div><div class='del'>-      case NODE_VCALL:</div><div class='del'>-      case NODE_FCALL:</div><div class='del'>-      case NODE_ATTRASGN:{</div><div class='del'>-	const int explicit_receiver =</div><div class='del'>-	    (type == NODE_CALL || type == NODE_OPCALL ||</div><div class='del'>-	     (type == NODE_ATTRASGN &amp;&amp; !private_recv_p(node)));</div><div class='del'>-</div><div class='del'>-	if (!lfinish[1] &amp;&amp; (node-&gt;nd_args || explicit_receiver)) {</div><div class='del'>-	    lfinish[1] = NEW_LABEL(nd_line(node));</div><div class='del'>-	}</div><div class='del'>-	if (node-&gt;nd_args) {</div><div class='del'>-	    defined_expr0(iseq, ret, node-&gt;nd_args, lfinish, Qfalse);</div><div class='del'>-	    ADD_INSNL(ret, nd_line(node), branchunless, lfinish[1]);</div><div class='del'>-	}</div><div class='del'>-	if (explicit_receiver) {</div><div class='del'>-	    defined_expr0(iseq, ret, node-&gt;nd_recv, lfinish, Qfalse);</div><div class='del'>-	    ADD_INSNL(ret, nd_line(node), branchunless, lfinish[1]);</div><div class='del'>-	    COMPILE(ret, "defined/recv", node-&gt;nd_recv);</div><div class='del'>-	    ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_METHOD),</div><div class='del'>-		      ID2SYM(node-&gt;nd_mid), needstr);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSN(ret, nd_line(node), putself);</div><div class='del'>-	    ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_FUNC),</div><div class='del'>-		      ID2SYM(node-&gt;nd_mid), needstr);</div><div class='del'>-	}</div><div class='del'>-	return 1;</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      case NODE_YIELD:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_YIELD), 0,</div><div class='del'>-		  needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-      case NODE_BACK_REF:</div><div class='del'>-      case NODE_NTH_REF:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_REF),</div><div class='del'>-		  INT2FIX((node-&gt;nd_nth &lt;&lt; 1) | (type == NODE_BACK_REF)),</div><div class='del'>-		  needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-      case NODE_SUPER:</div><div class='del'>-      case NODE_ZSUPER:</div><div class='del'>-	ADD_INSN(ret, nd_line(node), putnil);</div><div class='del'>-	ADD_INSN3(ret, nd_line(node), defined, INT2FIX(DEFINED_ZSUPER), 0,</div><div class='del'>-		  needstr);</div><div class='del'>-	return 1;</div><div class='del'>-</div><div class='del'>-      case NODE_OP_ASGN1:</div><div class='del'>-      case NODE_OP_ASGN2:</div><div class='del'>-      case NODE_OP_ASGN_OR:</div><div class='del'>-      case NODE_OP_ASGN_AND:</div><div class='del'>-      case NODE_MASGN:</div><div class='del'>-      case NODE_LASGN:</div><div class='del'>-      case NODE_DASGN:</div><div class='del'>-      case NODE_DASGN_CURR:</div><div class='del'>-      case NODE_GASGN:</div><div class='del'>-      case NODE_IASGN:</div><div class='del'>-      case NODE_CDECL:</div><div class='del'>-      case NODE_CVASGN:</div><div class='del'>-	expr_type = DEFINED_ASGN;</div><div class='del'>-	break;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (expr_type) {</div><div class='del'>-	if (needstr != Qfalse) {</div><div class='del'>-	    VALUE str = rb_iseq_defined_string(expr_type);</div><div class='del'>-	    ADD_INSN1(ret, nd_line(node), putobject, str);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSN1(ret, nd_line(node), putobject, Qtrue);</div><div class='del'>-	}</div><div class='del'>-	return 1;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-build_defined_rescue_iseq(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *unused)</div><div class='del'>-{</div><div class='del'>-    ADD_INSN(ret, 0, putnil);</div><div class='del'>-    iseq_set_exception_local_table(iseq);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='del'>-	     const NODE *const node, LABEL **lfinish, VALUE needstr)</div><div class='del'>-{</div><div class='del'>-    LINK_ELEMENT *lcur = ret-&gt;last;</div><div class='del'>-    int done = defined_expr0(iseq, ret, node, lfinish, needstr);</div><div class='del'>-    if (lfinish[1]) {</div><div class='del'>-	int line = nd_line(node);</div><div class='del'>-	LABEL *lstart = NEW_LABEL(line);</div><div class='del'>-	LABEL *lend = NEW_LABEL(line);</div><div class='del'>-	const rb_iseq_t *rescue;</div><div class='del'>-	rescue = new_child_iseq_ifunc(iseq, IFUNC_NEW(build_defined_rescue_iseq, 0, 0),</div><div class='del'>-				      rb_str_concat(rb_str_new2("defined guard in "),</div><div class='del'>-						    iseq-&gt;body-&gt;location.label),</div><div class='del'>-				      iseq, ISEQ_TYPE_RESCUE, 0);</div><div class='del'>-	lstart-&gt;rescued = LABEL_RESCUE_BEG;</div><div class='del'>-	lend-&gt;rescued = LABEL_RESCUE_END;</div><div class='del'>-	APPEND_LABEL(ret, lcur, lstart);</div><div class='del'>-	ADD_LABEL(ret, lend);</div><div class='del'>-	ADD_CATCH_ENTRY(CATCH_TYPE_RESCUE, lstart, lend, rescue, lfinish[1]);</div><div class='del'>-    }</div><div class='del'>-    return done;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, VALUE needstr)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    if (!node-&gt;nd_head) {</div><div class='del'>-	VALUE str = rb_iseq_defined_string(DEFINED_NIL);</div><div class='del'>-	ADD_INSN1(ret, line, putobject, str);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	LABEL *lfinish[2];</div><div class='del'>-	LINK_ELEMENT *last = ret-&gt;last;</div><div class='del'>-	lfinish[0] = NEW_LABEL(line);</div><div class='del'>-	lfinish[1] = 0;</div><div class='del'>-	defined_expr(iseq, ret, node-&gt;nd_head, lfinish, needstr);</div><div class='del'>-	if (lfinish[1]) {</div><div class='del'>-	    ELEM_INSERT_NEXT(last, &amp;new_insn_body(iseq, line, BIN(putnil), 0)-&gt;link);</div><div class='del'>-	    ADD_INSN(ret, line, swap);</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    ADD_LABEL(ret, lfinish[1]);</div><div class='del'>-	}</div><div class='del'>-	ADD_LABEL(ret, lfinish[0]);</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-make_name_for_block(const rb_iseq_t *orig_iseq)</div><div class='del'>-{</div><div class='del'>-    int level = 1;</div><div class='del'>-    const rb_iseq_t *iseq = orig_iseq;</div><div class='del'>-</div><div class='del'>-    if (orig_iseq-&gt;body-&gt;parent_iseq != 0) {</div><div class='del'>-	while (orig_iseq-&gt;body-&gt;local_iseq != iseq) {</div><div class='del'>-	    if (iseq-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='del'>-		level++;</div><div class='del'>-	    }</div><div class='del'>-	    iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (level == 1) {</div><div class='del'>-	return rb_sprintf("block in %"PRIsVALUE, iseq-&gt;body-&gt;location.label);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_sprintf("block (%d levels) in %"PRIsVALUE, level, iseq-&gt;body-&gt;location.label);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-push_ensure_entry(rb_iseq_t *iseq,</div><div class='del'>-		  struct iseq_compile_data_ensure_node_stack *enl,</div><div class='del'>-		  struct ensure_range *er, const NODE *const node)</div><div class='del'>-{</div><div class='del'>-    enl-&gt;ensure_node = node;</div><div class='del'>-    enl-&gt;prev = ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack;	/* prev */</div><div class='del'>-    enl-&gt;erange = er;</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = enl;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-add_ensure_range(rb_iseq_t *iseq, struct ensure_range *erange,</div><div class='del'>-		 LABEL *lstart, LABEL *lend)</div><div class='del'>-{</div><div class='del'>-    struct ensure_range *ne =</div><div class='del'>-	compile_data_alloc(iseq, sizeof(struct ensure_range));</div><div class='del'>-</div><div class='del'>-    while (erange-&gt;next != 0) {</div><div class='del'>-	erange = erange-&gt;next;</div><div class='del'>-    }</div><div class='del'>-    ne-&gt;next = 0;</div><div class='del'>-    ne-&gt;begin = lend;</div><div class='del'>-    ne-&gt;end = erange-&gt;end;</div><div class='del'>-    erange-&gt;end = lstart;</div><div class='del'>-</div><div class='del'>-    erange-&gt;next = ne;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-add_ensure_iseq(LINK_ANCHOR *const ret, rb_iseq_t *iseq, int is_return)</div><div class='del'>-{</div><div class='del'>-    struct iseq_compile_data_ensure_node_stack *enlp =</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack;</div><div class='del'>-    struct iseq_compile_data_ensure_node_stack *prev_enlp = enlp;</div><div class='del'>-    DECL_ANCHOR(ensure);</div><div class='del'>-</div><div class='del'>-    INIT_ANCHOR(ensure);</div><div class='del'>-    while (enlp) {</div><div class='del'>-	if (enlp-&gt;erange != NULL) {</div><div class='del'>-	    DECL_ANCHOR(ensure_part);</div><div class='del'>-	    LABEL *lstart = NEW_LABEL(0);</div><div class='del'>-	    LABEL *lend = NEW_LABEL(0);</div><div class='del'>-	    INIT_ANCHOR(ensure_part);</div><div class='del'>-</div><div class='del'>-	    add_ensure_range(iseq, enlp-&gt;erange, lstart, lend);</div><div class='del'>-</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = enlp-&gt;prev;</div><div class='del'>-	    ADD_LABEL(ensure_part, lstart);</div><div class='del'>-	    COMPILE_POPPED(ensure_part, "ensure part", enlp-&gt;ensure_node);</div><div class='del'>-	    ADD_LABEL(ensure_part, lend);</div><div class='del'>-	    ADD_SEQ(ensure, ensure_part);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (!is_return) {</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	enlp = enlp-&gt;prev;</div><div class='del'>-    }</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = prev_enlp;</div><div class='del'>-    ADD_SEQ(ret, ensure);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-setup_args(rb_iseq_t *iseq, LINK_ANCHOR *const args, const NODE *argn,</div><div class='del'>-	   unsigned int *flag, struct rb_call_info_kw_arg **keywords)</div><div class='del'>-{</div><div class='del'>-    VALUE argc = INT2FIX(0);</div><div class='del'>-    int nsplat = 0;</div><div class='del'>-    DECL_ANCHOR(arg_block);</div><div class='del'>-    DECL_ANCHOR(args_splat);</div><div class='del'>-</div><div class='del'>-    INIT_ANCHOR(arg_block);</div><div class='del'>-    INIT_ANCHOR(args_splat);</div><div class='del'>-    if (argn &amp;&amp; nd_type(argn) == NODE_BLOCK_PASS) {</div><div class='del'>-	COMPILE(arg_block, "block", argn-&gt;nd_body);</div><div class='del'>-	*flag |= VM_CALL_ARGS_BLOCKARG;</div><div class='del'>-	argn = argn-&gt;nd_head;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-  setup_argn:</div><div class='del'>-    if (argn) {</div><div class='del'>-	switch (nd_type(argn)) {</div><div class='del'>-	  case NODE_SPLAT: {</div><div class='del'>-	    COMPILE(args, "args (splat)", argn-&gt;nd_head);</div><div class='del'>-	    ADD_INSN1(args, nd_line(argn), splatarray, nsplat ? Qtrue : Qfalse);</div><div class='del'>-	    argc = INT2FIX(1);</div><div class='del'>-	    nsplat++;</div><div class='del'>-	    *flag |= VM_CALL_ARGS_SPLAT;</div><div class='del'>-	    break;</div><div class='del'>-	  }</div><div class='del'>-	  case NODE_ARGSCAT:</div><div class='del'>-	  case NODE_ARGSPUSH: {</div><div class='del'>-	    int next_is_array = (nd_type(argn-&gt;nd_head) == NODE_ARRAY);</div><div class='del'>-	    DECL_ANCHOR(tmp);</div><div class='del'>-</div><div class='del'>-	    INIT_ANCHOR(tmp);</div><div class='del'>-	    COMPILE(tmp, "args (cat: splat)", argn-&gt;nd_body);</div><div class='del'>-	    if (nd_type(argn) == NODE_ARGSCAT) {</div><div class='del'>-		ADD_INSN1(tmp, nd_line(argn), splatarray, nsplat ? Qtrue : Qfalse);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		ADD_INSN1(tmp, nd_line(argn), newarray, INT2FIX(1));</div><div class='del'>-	    }</div><div class='del'>-	    INSERT_LIST(args_splat, tmp);</div><div class='del'>-	    nsplat++;</div><div class='del'>-	    *flag |= VM_CALL_ARGS_SPLAT;</div><div class='del'>-	    if (nd_type(argn-&gt;nd_body) == NODE_HASH)</div><div class='del'>-		*flag |= VM_CALL_KW_SPLAT;</div><div class='del'>-</div><div class='del'>-	    if (next_is_array) {</div><div class='del'>-		int len = compile_array(iseq, args, argn-&gt;nd_head, COMPILE_ARRAY_TYPE_ARGS, NULL, flag, FALSE);</div><div class='del'>-		if (len &lt; 0) return Qnil;</div><div class='del'>-		argc = INT2FIX(len + 1);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		argn = argn-&gt;nd_head;</div><div class='del'>-		goto setup_argn;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  }</div><div class='del'>-	  case NODE_ARRAY:</div><div class='del'>-	    {</div><div class='del'>-		int len = compile_array(iseq, args, argn, COMPILE_ARRAY_TYPE_ARGS, keywords, flag, FALSE);</div><div class='del'>-		if (len &lt; 0) return Qnil;</div><div class='del'>-		argc = INT2FIX(len);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  default: {</div><div class='del'>-	    UNKNOWN_NODE("setup_arg", argn, Qnil);</div><div class='del'>-	  }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (nsplat &gt; 1) {</div><div class='del'>-	int i;</div><div class='del'>-	for (i=1; i&lt;nsplat; i++) {</div><div class='del'>-	    ADD_INSN(args_splat, nd_line(argn), concatarray);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!LIST_INSN_SIZE_ZERO(args_splat)) {</div><div class='del'>-	ADD_SEQ(args, args_splat);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (*flag &amp; VM_CALL_ARGS_BLOCKARG) {</div><div class='del'>-	if (LIST_INSN_SIZE_ONE(arg_block)) {</div><div class='del'>-	    LINK_ELEMENT *elem = FIRST_ELEMENT(arg_block);</div><div class='del'>-	    if (elem-&gt;type == ISEQ_ELEMENT_INSN) {</div><div class='del'>-		INSN *iobj = (INSN *)elem;</div><div class='del'>-		if (iobj-&gt;insn_id == BIN(getblockparam)) {</div><div class='del'>-		    iobj-&gt;insn_id = BIN(getblockparamproxy);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	ADD_SEQ(args, arg_block);</div><div class='del'>-    }</div><div class='del'>-    return argc;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-build_postexe_iseq(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *body)</div><div class='del'>-{</div><div class='del'>-    int line = nd_line(body);</div><div class='del'>-    VALUE argc = INT2FIX(0);</div><div class='del'>-    const rb_iseq_t *block = NEW_CHILD_ISEQ(body, make_name_for_block(iseq-&gt;body-&gt;parent_iseq), ISEQ_TYPE_BLOCK, line);</div><div class='del'>-</div><div class='del'>-    ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-    ADD_CALL_WITH_BLOCK(ret, line, id_core_set_postexe, argc, block);</div><div class='del'>-    iseq_set_local_table(iseq, 0);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-compile_named_capture_assign(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='del'>-{</div><div class='del'>-    const NODE *vars;</div><div class='del'>-    LINK_ELEMENT *last;</div><div class='del'>-    int line = nd_line(node);</div><div class='del'>-    LABEL *fail_label = NEW_LABEL(line), *end_label = NEW_LABEL(line);</div><div class='del'>-</div><div class='del'>-#if !(defined(NAMED_CAPTURE_BY_SVAR) &amp;&amp; NAMED_CAPTURE_BY_SVAR-0)</div><div class='del'>-    ADD_INSN1(ret, line, getglobal, ((VALUE)rb_global_entry(idBACKREF) | 1));</div><div class='del'>-#else</div><div class='del'>-    ADD_INSN2(ret, line, getspecial, INT2FIX(1) /* '~' */, INT2FIX(0));</div><div class='del'>-#endif</div><div class='del'>-    ADD_INSN(ret, line, dup);</div><div class='del'>-    ADD_INSNL(ret, line, branchunless, fail_label);</div><div class='del'>-</div><div class='del'>-    for (vars = node; vars; vars = vars-&gt;nd_next) {</div><div class='del'>-	INSN *cap;</div><div class='del'>-	if (vars-&gt;nd_next) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-	last = ret-&gt;last;</div><div class='del'>-	COMPILE_POPPED(ret, "capture", vars-&gt;nd_head);</div><div class='del'>-	last = last-&gt;next; /* putobject :var */</div><div class='del'>-	cap = new_insn_send(iseq, line, idAREF, INT2FIX(1),</div><div class='del'>-			    NULL, INT2FIX(0), NULL);</div><div class='del'>-	ELEM_INSERT_PREV(last-&gt;next, (LINK_ELEMENT *)cap);</div><div class='del'>-#if !defined(NAMED_CAPTURE_SINGLE_OPT) || NAMED_CAPTURE_SINGLE_OPT-0</div><div class='del'>-	if (!vars-&gt;nd_next &amp;&amp; vars == node) {</div><div class='del'>-	    /* only one name */</div><div class='del'>-	    DECL_ANCHOR(nom);</div><div class='del'>-</div><div class='del'>-	    INIT_ANCHOR(nom);</div><div class='del'>-	    ADD_INSNL(nom, line, jump, end_label);</div><div class='del'>-	    ADD_LABEL(nom, fail_label);</div><div class='del'>-# if 0				/* $~ must be MatchData or nil */</div><div class='del'>-	    ADD_INSN(nom, line, pop);</div><div class='del'>-	    ADD_INSN(nom, line, putnil);</div><div class='del'>-# endif</div><div class='del'>-	    ADD_LABEL(nom, end_label);</div><div class='del'>-	    (nom-&gt;last-&gt;next = cap-&gt;link.next)-&gt;prev = nom-&gt;last;</div><div class='del'>-	    (cap-&gt;link.next = nom-&gt;anchor.next)-&gt;prev = &amp;cap-&gt;link;</div><div class='del'>-	    return;</div><div class='del'>-	}</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    ADD_INSNL(ret, line, jump, end_label);</div><div class='del'>-    ADD_LABEL(ret, fail_label);</div><div class='del'>-    ADD_INSN(ret, line, pop);</div><div class='del'>-    for (vars = node; vars; vars = vars-&gt;nd_next) {</div><div class='del'>-	last = ret-&gt;last;</div><div class='del'>-	COMPILE_POPPED(ret, "capture", vars-&gt;nd_head);</div><div class='del'>-	last = last-&gt;next; /* putobject :var */</div><div class='del'>-	((INSN*)last)-&gt;insn_id = BIN(putnil);</div><div class='del'>-	((INSN*)last)-&gt;operand_size = 0;</div><div class='del'>-    }</div><div class='del'>-    ADD_LABEL(ret, end_label);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-number_literal_p(const NODE *n)</div><div class='del'>-{</div><div class='del'>-    return (n &amp;&amp; nd_type(n) == NODE_LIT &amp;&amp; RB_INTEGER_TYPE_P(n-&gt;nd_lit));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_if(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped, const enum node_type type)</div><div class='del'>-{</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    const NODE *const node_body = type == NODE_IF ? node-&gt;nd_body : node-&gt;nd_else;</div><div class='del'>-    const NODE *const node_else = type == NODE_IF ? node-&gt;nd_else : node-&gt;nd_body;</div><div class='del'>-</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    const int lineno = nd_first_lineno(node);</div><div class='del'>-    const int column = nd_first_column(node);</div><div class='del'>-    const int last_lineno = nd_last_lineno(node);</div><div class='del'>-    const int last_column = nd_last_column(node);</div><div class='del'>-    DECL_ANCHOR(cond_seq);</div><div class='del'>-    DECL_ANCHOR(then_seq);</div><div class='del'>-    DECL_ANCHOR(else_seq);</div><div class='del'>-    LABEL *then_label, *else_label, *end_label;</div><div class='del'>-    VALUE branches = 0;</div><div class='del'>-    int ci_size, ci_kw_size;</div><div class='del'>-</div><div class='del'>-    INIT_ANCHOR(cond_seq);</div><div class='del'>-    INIT_ANCHOR(then_seq);</div><div class='del'>-    INIT_ANCHOR(else_seq);</div><div class='del'>-    then_label = NEW_LABEL(line);</div><div class='del'>-    else_label = NEW_LABEL(line);</div><div class='del'>-    end_label = 0;</div><div class='del'>-</div><div class='del'>-    compile_branch_condition(iseq, cond_seq, node-&gt;nd_cond,</div><div class='del'>-			     then_label, else_label);</div><div class='del'>-</div><div class='del'>-    ci_size = body-&gt;ci_size;</div><div class='del'>-    ci_kw_size = body-&gt;ci_kw_size;</div><div class='del'>-    CHECK(COMPILE_(then_seq, "then", node_body, popped));</div><div class='del'>-    if (!then_label-&gt;refcnt) {</div><div class='del'>-        body-&gt;ci_size = ci_size;</div><div class='del'>-        body-&gt;ci_kw_size = ci_kw_size;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ci_size = body-&gt;ci_size;</div><div class='del'>-    ci_kw_size = body-&gt;ci_kw_size;</div><div class='del'>-    CHECK(COMPILE_(else_seq, "else", node_else, popped));</div><div class='del'>-    if (!else_label-&gt;refcnt) {</div><div class='del'>-        body-&gt;ci_size = ci_size;</div><div class='del'>-        body-&gt;ci_kw_size = ci_kw_size;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ADD_SEQ(ret, cond_seq);</div><div class='del'>-</div><div class='del'>-    if (then_label-&gt;refcnt &amp;&amp; else_label-&gt;refcnt) {</div><div class='del'>-	DECL_BRANCH_BASE(branches, lineno, column, last_lineno, last_column, type == NODE_IF ? "if" : "unless");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (then_label-&gt;refcnt) {</div><div class='del'>-	ADD_LABEL(ret, then_label);</div><div class='del'>-	if (else_label-&gt;refcnt) {</div><div class='del'>-	    ADD_TRACE_BRANCH_COVERAGE(</div><div class='del'>-		ret,</div><div class='del'>-		node_body ? nd_first_lineno(node_body) : lineno,</div><div class='del'>-		node_body ? nd_first_column(node_body) : column,</div><div class='del'>-		node_body ? nd_last_lineno(node_body) : last_lineno,</div><div class='del'>-		node_body ? nd_last_column(node_body) : last_column,</div><div class='del'>-		type == NODE_IF ? "then" : "else",</div><div class='del'>-		branches);</div><div class='del'>-	    end_label = NEW_LABEL(line);</div><div class='del'>-	    ADD_INSNL(then_seq, line, jump, end_label);</div><div class='del'>-	}</div><div class='del'>-	ADD_SEQ(ret, then_seq);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (else_label-&gt;refcnt) {</div><div class='del'>-	ADD_LABEL(ret, else_label);</div><div class='del'>-	if (then_label-&gt;refcnt) {</div><div class='del'>-	    ADD_TRACE_BRANCH_COVERAGE(</div><div class='del'>-		ret,</div><div class='del'>-		node_else ? nd_first_lineno(node_else) : lineno,</div><div class='del'>-		node_else ? nd_first_column(node_else) : column,</div><div class='del'>-		node_else ? nd_last_lineno(node_else) : last_lineno,</div><div class='del'>-		node_else ? nd_last_column(node_else) : last_column,</div><div class='del'>-		type == NODE_IF ? "else" : "then",</div><div class='del'>-		branches);</div><div class='del'>-	}</div><div class='del'>-	ADD_SEQ(ret, else_seq);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (end_label) {</div><div class='del'>-	ADD_LABEL(ret, end_label);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_case(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_node, int popped)</div><div class='del'>-{</div><div class='del'>-    const NODE *vals;</div><div class='del'>-    const NODE *node = orig_node;</div><div class='del'>-    LABEL *endlabel, *elselabel;</div><div class='del'>-    DECL_ANCHOR(head);</div><div class='del'>-    DECL_ANCHOR(body_seq);</div><div class='del'>-    DECL_ANCHOR(cond_seq);</div><div class='del'>-    int only_special_literals = 1;</div><div class='del'>-    VALUE literals = rb_hash_new();</div><div class='del'>-    int line, lineno, column, last_lineno, last_column;</div><div class='del'>-    enum node_type type;</div><div class='del'>-    VALUE branches = 0;</div><div class='del'>-</div><div class='del'>-    INIT_ANCHOR(head);</div><div class='del'>-    INIT_ANCHOR(body_seq);</div><div class='del'>-    INIT_ANCHOR(cond_seq);</div><div class='del'>-</div><div class='del'>-    RHASH_TBL_RAW(literals)-&gt;type = &amp;cdhash_type;</div><div class='del'>-</div><div class='del'>-    CHECK(COMPILE(head, "case base", node-&gt;nd_head));</div><div class='del'>-</div><div class='del'>-    DECL_BRANCH_BASE(branches, nd_first_lineno(node), nd_first_column(node), nd_last_lineno(node), nd_last_column(node), "case");</div><div class='del'>-</div><div class='del'>-    node = node-&gt;nd_body;</div><div class='del'>-    EXPECT_NODE("NODE_CASE", node, NODE_WHEN, COMPILE_NG);</div><div class='del'>-    type = nd_type(node);</div><div class='del'>-    line = nd_line(node);</div><div class='del'>-    lineno = nd_first_lineno(node);</div><div class='del'>-    column = nd_first_column(node);</div><div class='del'>-    last_lineno = nd_last_lineno(node);</div><div class='del'>-    last_column = nd_last_column(node);</div><div class='del'>-</div><div class='del'>-    endlabel = NEW_LABEL(line);</div><div class='del'>-    elselabel = NEW_LABEL(line);</div><div class='del'>-</div><div class='del'>-    ADD_SEQ(ret, head);	/* case VAL */</div><div class='del'>-</div><div class='del'>-    while (type == NODE_WHEN) {</div><div class='del'>-	LABEL *l1;</div><div class='del'>-</div><div class='del'>-	l1 = NEW_LABEL(line);</div><div class='del'>-	ADD_LABEL(body_seq, l1);</div><div class='del'>-	ADD_INSN(body_seq, line, pop);</div><div class='del'>-	ADD_TRACE_BRANCH_COVERAGE(</div><div class='del'>-		body_seq,</div><div class='del'>-		node-&gt;nd_body ? nd_first_lineno(node-&gt;nd_body) : lineno,</div><div class='del'>-		node-&gt;nd_body ? nd_first_column(node-&gt;nd_body) : column,</div><div class='del'>-		node-&gt;nd_body ? nd_last_lineno(node-&gt;nd_body) : last_lineno,</div><div class='del'>-		node-&gt;nd_body ? nd_last_column(node-&gt;nd_body) : last_column,</div><div class='del'>-		"when",</div><div class='del'>-		branches);</div><div class='del'>-	CHECK(COMPILE_(body_seq, "when body", node-&gt;nd_body, popped));</div><div class='del'>-	ADD_INSNL(body_seq, line, jump, endlabel);</div><div class='del'>-</div><div class='del'>-	vals = node-&gt;nd_head;</div><div class='del'>-	if (vals) {</div><div class='del'>-	    switch (nd_type(vals)) {</div><div class='del'>-	      case NODE_ARRAY:</div><div class='del'>-		only_special_literals = when_vals(iseq, cond_seq, vals, l1, only_special_literals, literals);</div><div class='del'>-		if (only_special_literals &lt; 0) return COMPILE_NG;</div><div class='del'>-		break;</div><div class='del'>-	      case NODE_SPLAT:</div><div class='del'>-	      case NODE_ARGSCAT:</div><div class='del'>-	      case NODE_ARGSPUSH:</div><div class='del'>-		only_special_literals = 0;</div><div class='del'>-		CHECK(when_splat_vals(iseq, cond_seq, vals, l1, only_special_literals, literals));</div><div class='del'>-		break;</div><div class='del'>-	      default:</div><div class='del'>-		UNKNOWN_NODE("NODE_CASE", vals, COMPILE_NG);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    EXPECT_NODE_NONULL("NODE_CASE", node, NODE_ARRAY, COMPILE_NG);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	node = node-&gt;nd_next;</div><div class='del'>-	if (!node) {</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	type = nd_type(node);</div><div class='del'>-	line = nd_line(node);</div><div class='del'>-	lineno = nd_first_lineno(node);</div><div class='del'>-	column = nd_first_column(node);</div><div class='del'>-	last_lineno = nd_last_lineno(node);</div><div class='del'>-	last_column = nd_last_column(node);</div><div class='del'>-    }</div><div class='del'>-    /* else */</div><div class='del'>-    if (node) {</div><div class='del'>-	ADD_LABEL(cond_seq, elselabel);</div><div class='del'>-	ADD_INSN(cond_seq, line, pop);</div><div class='del'>-	ADD_TRACE_BRANCH_COVERAGE(cond_seq, nd_first_lineno(node), nd_first_column(node), nd_last_lineno(node), nd_last_column(node), "else", branches);</div><div class='del'>-	CHECK(COMPILE_(cond_seq, "else", node, popped));</div><div class='del'>-	ADD_INSNL(cond_seq, line, jump, endlabel);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	debugs("== else (implicit)\n");</div><div class='del'>-	ADD_LABEL(cond_seq, elselabel);</div><div class='del'>-	ADD_INSN(cond_seq, nd_line(orig_node), pop);</div><div class='del'>-	ADD_TRACE_BRANCH_COVERAGE(cond_seq, nd_first_lineno(orig_node), nd_first_column(orig_node), nd_last_lineno(orig_node), nd_last_column(orig_node), "else", branches);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(cond_seq, nd_line(orig_node), putnil);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSNL(cond_seq, nd_line(orig_node), jump, endlabel);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (only_special_literals &amp;&amp; ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='del'>-	iseq_add_mark_object_compile_time(iseq, literals);</div><div class='del'>-</div><div class='del'>-	ADD_INSN(ret, nd_line(orig_node), dup);</div><div class='del'>-	ADD_INSN2(ret, nd_line(orig_node), opt_case_dispatch, literals, elselabel);</div><div class='del'>-	LABEL_REF(elselabel);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ADD_SEQ(ret, cond_seq);</div><div class='del'>-    ADD_SEQ(ret, body_seq);</div><div class='del'>-    ADD_LABEL(ret, endlabel);</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_case2(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_node, int popped)</div><div class='del'>-{</div><div class='del'>-    const NODE *vals;</div><div class='del'>-    const NODE *val;</div><div class='del'>-    const NODE *node = orig_node-&gt;nd_body;</div><div class='del'>-    LABEL *endlabel;</div><div class='del'>-    DECL_ANCHOR(body_seq);</div><div class='del'>-    VALUE branches = 0;</div><div class='del'>-</div><div class='del'>-    DECL_BRANCH_BASE(branches, nd_first_lineno(orig_node), nd_first_column(orig_node), nd_last_lineno(orig_node), nd_last_column(orig_node), "case");</div><div class='del'>-</div><div class='del'>-    INIT_ANCHOR(body_seq);</div><div class='del'>-    endlabel = NEW_LABEL(nd_line(node));</div><div class='del'>-</div><div class='del'>-    while (node &amp;&amp; nd_type(node) == NODE_WHEN) {</div><div class='del'>-	const int line = nd_line(node);</div><div class='del'>-	const int lineno = nd_first_lineno(node);</div><div class='del'>-	const int column = nd_first_column(node);</div><div class='del'>-	const int last_lineno = nd_last_lineno(node);</div><div class='del'>-	const int last_column = nd_last_column(node);</div><div class='del'>-	LABEL *l1 = NEW_LABEL(line);</div><div class='del'>-	ADD_LABEL(body_seq, l1);</div><div class='del'>-	ADD_TRACE_BRANCH_COVERAGE(</div><div class='del'>-		body_seq,</div><div class='del'>-		node-&gt;nd_body ? nd_first_lineno(node-&gt;nd_body) : lineno,</div><div class='del'>-		node-&gt;nd_body ? nd_first_column(node-&gt;nd_body) : column,</div><div class='del'>-		node-&gt;nd_body ? nd_last_lineno(node-&gt;nd_body) : last_lineno,</div><div class='del'>-		node-&gt;nd_body ? nd_last_column(node-&gt;nd_body) : last_column,</div><div class='del'>-		"when",</div><div class='del'>-		branches);</div><div class='del'>-	CHECK(COMPILE_(body_seq, "when", node-&gt;nd_body, popped));</div><div class='del'>-	ADD_INSNL(body_seq, line, jump, endlabel);</div><div class='del'>-</div><div class='del'>-	vals = node-&gt;nd_head;</div><div class='del'>-	if (!vals) {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "NODE_WHEN: must be NODE_ARRAY, but 0");</div><div class='del'>-	    return COMPILE_NG;</div><div class='del'>-	}</div><div class='del'>-	switch (nd_type(vals)) {</div><div class='del'>-	  case NODE_ARRAY:</div><div class='del'>-	    while (vals) {</div><div class='del'>-		LABEL *lnext;</div><div class='del'>-		val = vals-&gt;nd_head;</div><div class='del'>-		lnext = NEW_LABEL(nd_line(val));</div><div class='del'>-		debug_compile("== when2\n", (void)0);</div><div class='del'>-		CHECK(compile_branch_condition(iseq, ret, val, l1, lnext));</div><div class='del'>-		ADD_LABEL(ret, lnext);</div><div class='del'>-		vals = vals-&gt;nd_next;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  case NODE_SPLAT:</div><div class='del'>-	  case NODE_ARGSCAT:</div><div class='del'>-	  case NODE_ARGSPUSH:</div><div class='del'>-	    ADD_INSN(ret, nd_line(vals), putnil);</div><div class='del'>-	    CHECK(COMPILE(ret, "when2/cond splat", vals));</div><div class='del'>-	    ADD_INSN1(ret, nd_line(vals), checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_WHEN | VM_CHECKMATCH_ARRAY));</div><div class='del'>-	    ADD_INSNL(ret, nd_line(vals), branchif, l1);</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    UNKNOWN_NODE("NODE_WHEN", vals, COMPILE_NG);</div><div class='del'>-	}</div><div class='del'>-	node = node-&gt;nd_next;</div><div class='del'>-    }</div><div class='del'>-    /* else */</div><div class='del'>-    ADD_TRACE_BRANCH_COVERAGE(</div><div class='del'>-	ret,</div><div class='del'>-	node ? nd_first_lineno(node) : nd_first_lineno(orig_node),</div><div class='del'>-	node ? nd_first_column(node) : nd_first_column(orig_node),</div><div class='del'>-	node ? nd_last_lineno(node) : nd_last_lineno(orig_node),</div><div class='del'>-	node ? nd_last_column(node) : nd_last_column(orig_node),</div><div class='del'>-	"else",</div><div class='del'>-	branches);</div><div class='del'>-    CHECK(COMPILE_(ret, "else", node, popped));</div><div class='del'>-    ADD_INSNL(ret, nd_line(orig_node), jump, endlabel);</div><div class='del'>-</div><div class='del'>-    ADD_SEQ(ret, body_seq);</div><div class='del'>-    ADD_LABEL(ret, endlabel);</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_loop(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped, const enum node_type type)</div><div class='del'>-{</div><div class='del'>-    const int line = (int)nd_line(node);</div><div class='del'>-    const int lineno = nd_first_lineno(node);</div><div class='del'>-    const int column = nd_first_column(node);</div><div class='del'>-    const int last_lineno = nd_last_lineno(node);</div><div class='del'>-    const int last_column = nd_last_column(node);</div><div class='del'>-    LABEL *prev_start_label = ISEQ_COMPILE_DATA(iseq)-&gt;start_label;</div><div class='del'>-    LABEL *prev_end_label = ISEQ_COMPILE_DATA(iseq)-&gt;end_label;</div><div class='del'>-    LABEL *prev_redo_label = ISEQ_COMPILE_DATA(iseq)-&gt;redo_label;</div><div class='del'>-    int prev_loopval_popped = ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped;</div><div class='del'>-    VALUE branches = 0;</div><div class='del'>-</div><div class='del'>-    struct iseq_compile_data_ensure_node_stack enl;</div><div class='del'>-</div><div class='del'>-    LABEL *next_label = ISEQ_COMPILE_DATA(iseq)-&gt;start_label = NEW_LABEL(line);	/* next  */</div><div class='del'>-    LABEL *redo_label = ISEQ_COMPILE_DATA(iseq)-&gt;redo_label = NEW_LABEL(line);	/* redo  */</div><div class='del'>-    LABEL *break_label = ISEQ_COMPILE_DATA(iseq)-&gt;end_label = NEW_LABEL(line);	/* break */</div><div class='del'>-    LABEL *end_label = NEW_LABEL(line);</div><div class='del'>-    LABEL *adjust_label = NEW_LABEL(line);</div><div class='del'>-</div><div class='del'>-    LABEL *next_catch_label = NEW_LABEL(line);</div><div class='del'>-    LABEL *tmp_label = NULL;</div><div class='del'>-</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped = 0;</div><div class='del'>-    push_ensure_entry(iseq, &amp;enl, NULL, NULL);</div><div class='del'>-</div><div class='del'>-    if (node-&gt;nd_state == 1) {</div><div class='del'>-	ADD_INSNL(ret, line, jump, next_label);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	tmp_label = NEW_LABEL(line);</div><div class='del'>-	ADD_INSNL(ret, line, jump, tmp_label);</div><div class='del'>-    }</div><div class='del'>-    ADD_LABEL(ret, adjust_label);</div><div class='del'>-    ADD_INSN(ret, line, putnil);</div><div class='del'>-    ADD_LABEL(ret, next_catch_label);</div><div class='del'>-    ADD_INSN(ret, line, pop);</div><div class='del'>-    ADD_INSNL(ret, line, jump, next_label);</div><div class='del'>-    if (tmp_label) ADD_LABEL(ret, tmp_label);</div><div class='del'>-</div><div class='del'>-    ADD_LABEL(ret, redo_label);</div><div class='del'>-    DECL_BRANCH_BASE(branches, lineno, column, last_lineno, last_column, type == NODE_WHILE ? "while" : "until");</div><div class='del'>-    ADD_TRACE_BRANCH_COVERAGE(</div><div class='del'>-	ret,</div><div class='del'>-	node-&gt;nd_body ? nd_first_lineno(node-&gt;nd_body) : lineno,</div><div class='del'>-	node-&gt;nd_body ? nd_first_column(node-&gt;nd_body) : column,</div><div class='del'>-	node-&gt;nd_body ? nd_last_lineno(node-&gt;nd_body) : last_lineno,</div><div class='del'>-	node-&gt;nd_body ? nd_last_column(node-&gt;nd_body) : last_column,</div><div class='del'>-	"body",</div><div class='del'>-	branches);</div><div class='del'>-    CHECK(COMPILE_POPPED(ret, "while body", node-&gt;nd_body));</div><div class='del'>-    ADD_LABEL(ret, next_label);	/* next */</div><div class='del'>-</div><div class='del'>-    if (type == NODE_WHILE) {</div><div class='del'>-	compile_branch_condition(iseq, ret, node-&gt;nd_cond,</div><div class='del'>-				 redo_label, end_label);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* until */</div><div class='del'>-	compile_branch_condition(iseq, ret, node-&gt;nd_cond,</div><div class='del'>-				 end_label, redo_label);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ADD_LABEL(ret, end_label);</div><div class='del'>-    ADD_ADJUST_RESTORE(ret, adjust_label);</div><div class='del'>-</div><div class='del'>-    if (node-&gt;nd_state == Qundef) {</div><div class='del'>-	/* ADD_INSN(ret, line, putundef); */</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS "unsupported: putundef");</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ADD_INSN(ret, line, putnil);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ADD_LABEL(ret, break_label);	/* break */</div><div class='del'>-</div><div class='del'>-    if (popped) {</div><div class='del'>-	ADD_INSN(ret, line, pop);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ADD_CATCH_ENTRY(CATCH_TYPE_BREAK, redo_label, break_label, NULL,</div><div class='del'>-		    break_label);</div><div class='del'>-    ADD_CATCH_ENTRY(CATCH_TYPE_NEXT, redo_label, break_label, NULL,</div><div class='del'>-		    next_catch_label);</div><div class='del'>-    ADD_CATCH_ENTRY(CATCH_TYPE_REDO, redo_label, break_label, NULL,</div><div class='del'>-		    ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='del'>-</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;start_label = prev_start_label;</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;end_label = prev_end_label;</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;redo_label = prev_redo_label;</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped = prev_loopval_popped;</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack-&gt;prev;</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_iter(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    const rb_iseq_t *prevblock = ISEQ_COMPILE_DATA(iseq)-&gt;current_block;</div><div class='del'>-    LABEL *retry_label = NEW_LABEL(line);</div><div class='del'>-    LABEL *retry_end_l = NEW_LABEL(line);</div><div class='del'>-    const rb_iseq_t *child_iseq;</div><div class='del'>-</div><div class='del'>-    ADD_LABEL(ret, retry_label);</div><div class='del'>-    if (nd_type(node) == NODE_FOR) {</div><div class='del'>-	CHECK(COMPILE(ret, "iter caller (for)", node-&gt;nd_iter));</div><div class='del'>-</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = child_iseq =</div><div class='del'>-	    NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq),</div><div class='del'>-			   ISEQ_TYPE_BLOCK, line);</div><div class='del'>-	ADD_SEND_WITH_BLOCK(ret, line, idEach, INT2FIX(0), child_iseq);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = child_iseq =</div><div class='del'>-	    NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq),</div><div class='del'>-			   ISEQ_TYPE_BLOCK, line);</div><div class='del'>-	CHECK(COMPILE(ret, "iter caller", node-&gt;nd_iter));</div><div class='del'>-    }</div><div class='del'>-    ADD_LABEL(ret, retry_end_l);</div><div class='del'>-</div><div class='del'>-    if (popped) {</div><div class='del'>-	ADD_INSN(ret, line, pop);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;current_block = prevblock;</div><div class='del'>-</div><div class='del'>-    ADD_CATCH_ENTRY(CATCH_TYPE_BREAK, retry_label, retry_end_l, child_iseq, retry_end_l);</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_for_masgn(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    /* massign to var in "for"</div><div class='del'>-     * (args.length == 1 &amp;&amp; Array.try_convert(args[0])) || args</div><div class='del'>-     */</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    const NODE *var = node-&gt;nd_var;</div><div class='del'>-    LABEL *not_single = NEW_LABEL(nd_line(var));</div><div class='del'>-    LABEL *not_ary = NEW_LABEL(nd_line(var));</div><div class='del'>-    CHECK(COMPILE(ret, "for var", var));</div><div class='del'>-    ADD_INSN(ret, line, dup);</div><div class='del'>-    ADD_CALL(ret, line, idLength, INT2FIX(0));</div><div class='del'>-    ADD_INSN1(ret, line, putobject, INT2FIX(1));</div><div class='del'>-    ADD_CALL(ret, line, idEq, INT2FIX(1));</div><div class='del'>-    ADD_INSNL(ret, line, branchunless, not_single);</div><div class='del'>-    ADD_INSN(ret, line, dup);</div><div class='del'>-    ADD_INSN1(ret, line, putobject, INT2FIX(0));</div><div class='del'>-    ADD_CALL(ret, line, idAREF, INT2FIX(1));</div><div class='del'>-    ADD_INSN1(ret, line, putobject, rb_cArray);</div><div class='del'>-    ADD_INSN(ret, line, swap);</div><div class='del'>-    ADD_CALL(ret, line, rb_intern("try_convert"), INT2FIX(1));</div><div class='del'>-    ADD_INSN(ret, line, dup);</div><div class='del'>-    ADD_INSNL(ret, line, branchunless, not_ary);</div><div class='del'>-    ADD_INSN(ret, line, swap);</div><div class='del'>-    ADD_LABEL(ret, not_ary);</div><div class='del'>-    ADD_INSN(ret, line, pop);</div><div class='del'>-    ADD_LABEL(ret, not_single);</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_break(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    unsigned long throw_flag = 0;</div><div class='del'>-</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;redo_label != 0) {</div><div class='del'>-	/* while/until */</div><div class='del'>-	LABEL *splabel = NEW_LABEL(0);</div><div class='del'>-	ADD_LABEL(ret, splabel);</div><div class='del'>-	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='del'>-	CHECK(COMPILE_(ret, "break val (while/until)", node-&gt;nd_stts,</div><div class='del'>-		       ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped));</div><div class='del'>-	add_ensure_iseq(ret, iseq, 0);</div><div class='del'>-	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;end_label);</div><div class='del'>-	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (iseq-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='del'>-      break_by_insn:</div><div class='del'>-	/* escape from block */</div><div class='del'>-	CHECK(COMPILE(ret, "break val (block)", node-&gt;nd_stts));</div><div class='del'>-        ADD_INSN1(ret, line, throw, INT2FIX(throw_flag | TAG_BREAK));</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (iseq-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='del'>-      break_in_eval:</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with break");</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	const rb_iseq_t *ip = iseq-&gt;body-&gt;parent_iseq;</div><div class='del'>-</div><div class='del'>-	while (ip) {</div><div class='del'>-	    if (!ISEQ_COMPILE_DATA(ip)) {</div><div class='del'>-		ip = 0;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (ISEQ_COMPILE_DATA(ip)-&gt;redo_label != 0) {</div><div class='del'>-                throw_flag = VM_THROW_NO_ESCAPE_FLAG;</div><div class='del'>-		goto break_by_insn;</div><div class='del'>-	    }</div><div class='del'>-	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='del'>-		goto break_by_insn;</div><div class='del'>-	    }</div><div class='del'>-	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='del'>-		goto break_in_eval;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='del'>-	}</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS "Invalid break");</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_next(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    unsigned long throw_flag = 0;</div><div class='del'>-</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;redo_label != 0) {</div><div class='del'>-	LABEL *splabel = NEW_LABEL(0);</div><div class='del'>-	debugs("next in while loop\n");</div><div class='del'>-	ADD_LABEL(ret, splabel);</div><div class='del'>-	CHECK(COMPILE(ret, "next val/valid syntax?", node-&gt;nd_stts));</div><div class='del'>-	add_ensure_iseq(ret, iseq, 0);</div><div class='del'>-	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='del'>-	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='del'>-	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (ISEQ_COMPILE_DATA(iseq)-&gt;end_label) {</div><div class='del'>-	LABEL *splabel = NEW_LABEL(0);</div><div class='del'>-	debugs("next in block\n");</div><div class='del'>-	ADD_LABEL(ret, splabel);</div><div class='del'>-	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='del'>-	CHECK(COMPILE(ret, "next val", node-&gt;nd_stts));</div><div class='del'>-	add_ensure_iseq(ret, iseq, 0);</div><div class='del'>-	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;end_label);</div><div class='del'>-	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='del'>-	splabel-&gt;unremovable = FALSE;</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (iseq-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='del'>-      next_in_eval:</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with next");</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	const rb_iseq_t *ip = iseq;</div><div class='del'>-</div><div class='del'>-	while (ip) {</div><div class='del'>-	    if (!ISEQ_COMPILE_DATA(ip)) {</div><div class='del'>-		ip = 0;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-            throw_flag = VM_THROW_NO_ESCAPE_FLAG;</div><div class='del'>-	    if (ISEQ_COMPILE_DATA(ip)-&gt;redo_label != 0) {</div><div class='del'>-		/* while loop */</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='del'>-		goto next_in_eval;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='del'>-	}</div><div class='del'>-	if (ip != 0) {</div><div class='del'>-	    CHECK(COMPILE(ret, "next val", node-&gt;nd_stts));</div><div class='del'>-            ADD_INSN1(ret, line, throw, INT2FIX(throw_flag | TAG_NEXT));</div><div class='del'>-</div><div class='del'>-	    if (popped) {</div><div class='del'>-		ADD_INSN(ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "Invalid next");</div><div class='del'>-	    return COMPILE_NG;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_redo(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;redo_label) {</div><div class='del'>-	LABEL *splabel = NEW_LABEL(0);</div><div class='del'>-	debugs("redo in while");</div><div class='del'>-	ADD_LABEL(ret, splabel);</div><div class='del'>-	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='del'>-	add_ensure_iseq(ret, iseq, 0);</div><div class='del'>-	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='del'>-	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (iseq-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='del'>-      redo_in_eval:</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with redo");</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-    else if (ISEQ_COMPILE_DATA(iseq)-&gt;start_label) {</div><div class='del'>-	LABEL *splabel = NEW_LABEL(0);</div><div class='del'>-</div><div class='del'>-	debugs("redo in block");</div><div class='del'>-	ADD_LABEL(ret, splabel);</div><div class='del'>-	add_ensure_iseq(ret, iseq, 0);</div><div class='del'>-	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='del'>-	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='del'>-	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	const rb_iseq_t *ip = iseq;</div><div class='del'>-</div><div class='del'>-	while (ip) {</div><div class='del'>-	    if (!ISEQ_COMPILE_DATA(ip)) {</div><div class='del'>-		ip = 0;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (ISEQ_COMPILE_DATA(ip)-&gt;redo_label != 0) {</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='del'>-		goto redo_in_eval;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='del'>-	}</div><div class='del'>-	if (ip != 0) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-            ADD_INSN1(ret, line, throw, INT2FIX(VM_THROW_NO_ESCAPE_FLAG | TAG_REDO));</div><div class='del'>-</div><div class='del'>-	    if (popped) {</div><div class='del'>-		ADD_INSN(ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "Invalid redo");</div><div class='del'>-	    return COMPILE_NG;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_retry(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-</div><div class='del'>-    if (iseq-&gt;body-&gt;type == ISEQ_TYPE_RESCUE) {</div><div class='del'>-	ADD_INSN(ret, line, putnil);</div><div class='del'>-	ADD_INSN1(ret, line, throw, INT2FIX(TAG_RETRY));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	COMPILE_ERROR(ERROR_ARGS "Invalid retry");</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_rescue(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    LABEL *lstart = NEW_LABEL(line);</div><div class='del'>-    LABEL *lend = NEW_LABEL(line);</div><div class='del'>-    LABEL *lcont = NEW_LABEL(line);</div><div class='del'>-    const rb_iseq_t *rescue = NEW_CHILD_ISEQ(node-&gt;nd_resq,</div><div class='del'>-					     rb_str_concat(rb_str_new2("rescue in "), iseq-&gt;body-&gt;location.label),</div><div class='del'>-					     ISEQ_TYPE_RESCUE, line);</div><div class='del'>-</div><div class='del'>-    lstart-&gt;rescued = LABEL_RESCUE_BEG;</div><div class='del'>-    lend-&gt;rescued = LABEL_RESCUE_END;</div><div class='del'>-    ADD_LABEL(ret, lstart);</div><div class='del'>-    CHECK(COMPILE(ret, "rescue head", node-&gt;nd_head));</div><div class='del'>-    ADD_LABEL(ret, lend);</div><div class='del'>-    if (node-&gt;nd_else) {</div><div class='del'>-	ADD_INSN(ret, line, pop);</div><div class='del'>-	CHECK(COMPILE(ret, "rescue else", node-&gt;nd_else));</div><div class='del'>-    }</div><div class='del'>-    ADD_INSN(ret, line, nop);</div><div class='del'>-    ADD_LABEL(ret, lcont);</div><div class='del'>-</div><div class='del'>-    if (popped) {</div><div class='del'>-	ADD_INSN(ret, line, pop);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* register catch entry */</div><div class='del'>-    ADD_CATCH_ENTRY(CATCH_TYPE_RESCUE, lstart, lend, rescue, lcont);</div><div class='del'>-    ADD_CATCH_ENTRY(CATCH_TYPE_RETRY, lend, lcont, NULL, lstart);</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_resbody(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    const NODE *resq = node;</div><div class='del'>-    const NODE *narg;</div><div class='del'>-    LABEL *label_miss, *label_hit;</div><div class='del'>-</div><div class='del'>-    while (resq) {</div><div class='del'>-	label_miss = NEW_LABEL(line);</div><div class='del'>-	label_hit = NEW_LABEL(line);</div><div class='del'>-</div><div class='del'>-	narg = resq-&gt;nd_args;</div><div class='del'>-	if (narg) {</div><div class='del'>-	    switch (nd_type(narg)) {</div><div class='del'>-	      case NODE_ARRAY:</div><div class='del'>-		while (narg) {</div><div class='del'>-		    ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='del'>-		    CHECK(COMPILE(ret, "rescue arg", narg-&gt;nd_head));</div><div class='del'>-		    ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_RESCUE));</div><div class='del'>-		    ADD_INSNL(ret, line, branchif, label_hit);</div><div class='del'>-		    narg = narg-&gt;nd_next;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      case NODE_SPLAT:</div><div class='del'>-	      case NODE_ARGSCAT:</div><div class='del'>-	      case NODE_ARGSPUSH:</div><div class='del'>-		ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='del'>-		CHECK(COMPILE(ret, "rescue/cond splat", narg));</div><div class='del'>-		ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_RESCUE | VM_CHECKMATCH_ARRAY));</div><div class='del'>-		ADD_INSNL(ret, line, branchif, label_hit);</div><div class='del'>-		break;</div><div class='del'>-	      default:</div><div class='del'>-		UNKNOWN_NODE("NODE_RESBODY", narg, COMPILE_NG);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='del'>-	    ADD_INSN1(ret, line, putobject, rb_eStandardError);</div><div class='del'>-	    ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_RESCUE));</div><div class='del'>-	    ADD_INSNL(ret, line, branchif, label_hit);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSNL(ret, line, jump, label_miss);</div><div class='del'>-	ADD_LABEL(ret, label_hit);</div><div class='del'>-	CHECK(COMPILE(ret, "resbody body", resq-&gt;nd_body));</div><div class='del'>-	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;tailcall_optimization) {</div><div class='del'>-	    ADD_INSN(ret, line, nop);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN(ret, line, leave);</div><div class='del'>-	ADD_LABEL(ret, label_miss);</div><div class='del'>-	resq = resq-&gt;nd_head;</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_ensure(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-    DECL_ANCHOR(ensr);</div><div class='del'>-    const rb_iseq_t *ensure = NEW_CHILD_ISEQ(node-&gt;nd_ensr,</div><div class='del'>-					     rb_str_concat(rb_str_new2 ("ensure in "), iseq-&gt;body-&gt;location.label),</div><div class='del'>-					     ISEQ_TYPE_ENSURE, line);</div><div class='del'>-    LABEL *lstart = NEW_LABEL(line);</div><div class='del'>-    LABEL *lend = NEW_LABEL(line);</div><div class='del'>-    LABEL *lcont = NEW_LABEL(line);</div><div class='del'>-    LINK_ELEMENT *last;</div><div class='del'>-    int last_leave = 0;</div><div class='del'>-    struct ensure_range er;</div><div class='del'>-    struct iseq_compile_data_ensure_node_stack enl;</div><div class='del'>-    struct ensure_range *erange;</div><div class='del'>-</div><div class='del'>-    INIT_ANCHOR(ensr);</div><div class='del'>-    CHECK(COMPILE_POPPED(ensr, "ensure ensr", node-&gt;nd_ensr));</div><div class='del'>-    last = ensr-&gt;last;</div><div class='del'>-    last_leave = last &amp;&amp; IS_INSN(last) &amp;&amp; IS_INSN_ID(last, leave);</div><div class='del'>-</div><div class='del'>-    er.begin = lstart;</div><div class='del'>-    er.end = lend;</div><div class='del'>-    er.next = 0;</div><div class='del'>-    push_ensure_entry(iseq, &amp;enl, &amp;er, node-&gt;nd_ensr);</div><div class='del'>-</div><div class='del'>-    ADD_LABEL(ret, lstart);</div><div class='del'>-    CHECK(COMPILE_(ret, "ensure head", node-&gt;nd_head, (popped | last_leave)));</div><div class='del'>-    ADD_LABEL(ret, lend);</div><div class='del'>-    ADD_SEQ(ret, ensr);</div><div class='del'>-    if (!popped &amp;&amp; last_leave) ADD_INSN(ret, line, putnil);</div><div class='del'>-    ADD_LABEL(ret, lcont);</div><div class='del'>-    if (last_leave) ADD_INSN(ret, line, pop);</div><div class='del'>-</div><div class='del'>-    erange = ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack-&gt;erange;</div><div class='del'>-    if (lstart-&gt;link.next != &amp;lend-&gt;link) {</div><div class='del'>-	while (erange) {</div><div class='del'>-	    ADD_CATCH_ENTRY(CATCH_TYPE_ENSURE, erange-&gt;begin, erange-&gt;end,</div><div class='del'>-			    ensure, lcont);</div><div class='del'>-	    erange = erange-&gt;next;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = enl.prev;</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_return(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = nd_line(node);</div><div class='del'>-</div><div class='del'>-    if (iseq) {</div><div class='del'>-	enum iseq_type type = iseq-&gt;body-&gt;type;</div><div class='del'>-	const rb_iseq_t *is = iseq;</div><div class='del'>-	enum iseq_type t = type;</div><div class='del'>-	const NODE *retval = node-&gt;nd_stts;</div><div class='del'>-	LABEL *splabel = 0;</div><div class='del'>-</div><div class='del'>-	while (t == ISEQ_TYPE_RESCUE || t == ISEQ_TYPE_ENSURE) {</div><div class='del'>-	    if (!(is = is-&gt;body-&gt;parent_iseq)) break;</div><div class='del'>-	    t = is-&gt;body-&gt;type;</div><div class='del'>-	}</div><div class='del'>-	switch (t) {</div><div class='del'>-	  case ISEQ_TYPE_TOP:</div><div class='del'>-	  case ISEQ_TYPE_MAIN:</div><div class='del'>-	    if (is == iseq) {</div><div class='del'>-		/* plain top-level, leave directly */</div><div class='del'>-		type = ISEQ_TYPE_METHOD;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (type == ISEQ_TYPE_METHOD) {</div><div class='del'>-	    splabel = NEW_LABEL(0);</div><div class='del'>-	    ADD_LABEL(ret, splabel);</div><div class='del'>-	    ADD_ADJUST(ret, line, 0);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	CHECK(COMPILE(ret, "return nd_stts (return val)", retval));</div><div class='del'>-</div><div class='del'>-	if (type == ISEQ_TYPE_METHOD) {</div><div class='del'>-	    add_ensure_iseq(ret, iseq, 1);</div><div class='del'>-	    ADD_TRACE(ret, RUBY_EVENT_RETURN);</div><div class='del'>-	    ADD_INSN(ret, line, leave);</div><div class='del'>-	    ADD_ADJUST_RESTORE(ret, splabel);</div><div class='del'>-</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN(ret, line, putnil);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSN1(ret, line, throw, INT2FIX(TAG_RETURN));</div><div class='del'>-	    if (popped) {</div><div class='del'>-		ADD_INSN(ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-compile_evstr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='del'>-{</div><div class='del'>-    CHECK(COMPILE_(ret, "nd_body", node, popped));</div><div class='del'>-</div><div class='del'>-    if (!popped &amp;&amp; !all_string_result_p(node)) {</div><div class='del'>-	const int line = nd_line(node);</div><div class='del'>-	const unsigned int flag = VM_CALL_FCALL;</div><div class='del'>-	LABEL *isstr = NEW_LABEL(line);</div><div class='del'>-	ADD_INSN(ret, line, dup);</div><div class='del'>-	ADD_INSN1(ret, line, checktype, INT2FIX(T_STRING));</div><div class='del'>-	ADD_INSNL(ret, line, branchif, isstr);</div><div class='del'>-	ADD_INSN(ret, line, dup);</div><div class='del'>-	ADD_SEND_R(ret, line, idTo_s, INT2FIX(0), NULL, INT2FIX(flag), NULL);</div><div class='del'>-	ADD_INSN(ret, line, tostring);</div><div class='del'>-	ADD_LABEL(ret, isstr);</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int popped);</div><div class='del'>-/**</div><div class='del'>-  compile each node</div><div class='del'>-</div><div class='del'>-  self:  InstructionSequence</div><div class='del'>-  node:  Ruby compiled node</div><div class='del'>-  popped: This node will be popped</div><div class='del'>- */</div><div class='del'>-static int</div><div class='del'>-iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, const NODE *node, int popped)</div><div class='del'>-{</div><div class='del'>-    if (node == 0) {</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    int lineno = ISEQ_COMPILE_DATA(iseq)-&gt;last_line;</div><div class='del'>-	    if (lineno == 0) lineno = FIX2INT(rb_iseq_first_lineno(iseq));</div><div class='del'>-	    debugs("node: NODE_NIL(implicit)\n");</div><div class='del'>-	    ADD_INSN(ret, lineno, putnil);</div><div class='del'>-	}</div><div class='del'>-	return COMPILE_OK;</div><div class='del'>-    }</div><div class='del'>-    return iseq_compile_each0(iseq, ret, node, popped);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int popped)</div><div class='del'>-{</div><div class='del'>-    const int line = (int)nd_line(node);</div><div class='del'>-    const enum node_type type = nd_type(node);</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-</div><div class='del'>-    if (ISEQ_COMPILE_DATA(iseq)-&gt;last_line == line) {</div><div class='del'>-	/* ignore */</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	if (node-&gt;flags &amp; NODE_FL_NEWLINE) {</div><div class='del'>-	    int event = RUBY_EVENT_LINE;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;last_line = line;</div><div class='del'>-	    if (ISEQ_COVERAGE(iseq) &amp;&amp; ISEQ_LINE_COVERAGE(iseq)) {</div><div class='del'>-		event |= RUBY_EVENT_COVERAGE_LINE;</div><div class='del'>-	    }</div><div class='del'>-	    ADD_TRACE(ret, event);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    debug_node_start(node);</div><div class='del'>-#undef BEFORE_RETURN</div><div class='del'>-#define BEFORE_RETURN debug_node_end()</div><div class='del'>-</div><div class='del'>-    switch (type) {</div><div class='del'>-      case NODE_BLOCK:{</div><div class='del'>-	while (node &amp;&amp; nd_type(node) == NODE_BLOCK) {</div><div class='del'>-	    CHECK(COMPILE_(ret, "BLOCK body", node-&gt;nd_head,</div><div class='del'>-			   (node-&gt;nd_next ? 1 : popped)));</div><div class='del'>-	    node = node-&gt;nd_next;</div><div class='del'>-	}</div><div class='del'>-	if (node) {</div><div class='del'>-	    CHECK(COMPILE_(ret, "BLOCK next", node-&gt;nd_next, popped));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_IF:</div><div class='del'>-      case NODE_UNLESS:</div><div class='del'>-	CHECK(compile_if(iseq, ret, node, popped, type));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_CASE:</div><div class='del'>-	CHECK(compile_case(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_CASE2:</div><div class='del'>-	CHECK(compile_case2(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_WHILE:</div><div class='del'>-      case NODE_UNTIL:</div><div class='del'>-	CHECK(compile_loop(iseq, ret, node, popped, type));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_FOR:</div><div class='del'>-      case NODE_ITER:</div><div class='del'>-	CHECK(compile_iter(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_FOR_MASGN:</div><div class='del'>-	CHECK(compile_for_masgn(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_BREAK:</div><div class='del'>-	CHECK(compile_break(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_NEXT:</div><div class='del'>-	CHECK(compile_next(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_REDO:</div><div class='del'>-	CHECK(compile_redo(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_RETRY:</div><div class='del'>-	CHECK(compile_retry(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_BEGIN:{</div><div class='del'>-	CHECK(COMPILE_(ret, "NODE_BEGIN", node-&gt;nd_body, popped));</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_RESCUE:</div><div class='del'>-	CHECK(compile_rescue(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_RESBODY:</div><div class='del'>-	CHECK(compile_resbody(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_ENSURE:</div><div class='del'>-	CHECK(compile_ensure(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-</div><div class='del'>-      case NODE_AND:</div><div class='del'>-      case NODE_OR:{</div><div class='del'>-	LABEL *end_label = NEW_LABEL(line);</div><div class='del'>-	CHECK(COMPILE(ret, "nd_1st", node-&gt;nd_1st));</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-	if (type == NODE_AND) {</div><div class='del'>-	    ADD_INSNL(ret, line, branchunless, end_label);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSNL(ret, line, branchif, end_label);</div><div class='del'>-	}</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	CHECK(COMPILE_(ret, "nd_2nd", node-&gt;nd_2nd, popped));</div><div class='del'>-	ADD_LABEL(ret, end_label);</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      case NODE_MASGN:{</div><div class='del'>-	compile_massign(iseq, ret, node, popped);</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      case NODE_LASGN:{</div><div class='del'>-	ID id = node-&gt;nd_vid;</div><div class='del'>-	int idx = body-&gt;local_iseq-&gt;body-&gt;local_table_size - get_local_var_idx(iseq, id);</div><div class='del'>-</div><div class='del'>-	debugs("lvar: %s idx: %d\n", rb_id2name(id), idx);</div><div class='del'>-	CHECK(COMPILE(ret, "rvalue", node-&gt;nd_value));</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-	ADD_SETLOCAL(ret, line, idx, get_lvar_level(iseq));</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DASGN:</div><div class='del'>-      case NODE_DASGN_CURR:{</div><div class='del'>-	int idx, lv, ls;</div><div class='del'>-	ID id = node-&gt;nd_vid;</div><div class='del'>-	CHECK(COMPILE(ret, "dvalue", node-&gt;nd_value));</div><div class='del'>-	debugi("dassn id", rb_id2str(id) ? id : '*');</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	idx = get_dyna_var_idx(iseq, id, &amp;lv, &amp;ls);</div><div class='del'>-</div><div class='del'>-	if (idx &lt; 0) {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "NODE_DASGN(_CURR): unknown id (%"PRIsVALUE")",</div><div class='del'>-			  rb_id2str(id));</div><div class='del'>-	    goto ng;</div><div class='del'>-	}</div><div class='del'>-	ADD_SETLOCAL(ret, line, ls - idx, lv);</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_GASGN:{</div><div class='del'>-	CHECK(COMPILE(ret, "lvalue", node-&gt;nd_value));</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN1(ret, line, setglobal,</div><div class='del'>-		  ((VALUE)node-&gt;nd_entry | 1));</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_IASGN:{</div><div class='del'>-	CHECK(COMPILE(ret, "lvalue", node-&gt;nd_value));</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN2(ret, line, setinstancevariable,</div><div class='del'>-		  ID2SYM(node-&gt;nd_vid),</div><div class='del'>-		  get_ivar_ic_value(iseq,node-&gt;nd_vid));</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_CDECL:{</div><div class='del'>-	CHECK(COMPILE(ret, "lvalue", node-&gt;nd_value));</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (node-&gt;nd_vid) {</div><div class='del'>-	    ADD_INSN1(ret, line, putspecialobject,</div><div class='del'>-		      INT2FIX(VM_SPECIAL_OBJECT_CONST_BASE));</div><div class='del'>-	    ADD_INSN1(ret, line, setconstant, ID2SYM(node-&gt;nd_vid));</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    compile_cpath(ret, iseq, node-&gt;nd_else);</div><div class='del'>-	    ADD_INSN1(ret, line, setconstant, ID2SYM(node-&gt;nd_else-&gt;nd_mid));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_CVASGN:{</div><div class='del'>-	CHECK(COMPILE(ret, "cvasgn val", node-&gt;nd_value));</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN1(ret, line, setclassvariable,</div><div class='del'>-		  ID2SYM(node-&gt;nd_vid));</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_OP_ASGN1: {</div><div class='del'>-	DECL_ANCHOR(args);</div><div class='del'>-	VALUE argc;</div><div class='del'>-	unsigned int flag = 0;</div><div class='del'>-	unsigned int asgnflag = 0;</div><div class='del'>-	ID id = node-&gt;nd_mid;</div><div class='del'>-	int boff = 0;</div><div class='del'>-</div><div class='del'>-	/*</div><div class='del'>-	 * a[x] (op)= y</div><div class='del'>-	 *</div><div class='del'>-	 * nil       # nil</div><div class='del'>-	 * eval a    # nil a</div><div class='del'>-	 * eval x    # nil a x</div><div class='del'>-	 * dupn 2    # nil a x a x</div><div class='del'>-	 * send :[]  # nil a x a[x]</div><div class='del'>-	 * eval y    # nil a x a[x] y</div><div class='del'>-	 * send op   # nil a x ret</div><div class='del'>-	 * setn 3    # ret a x ret</div><div class='del'>-	 * send []=  # ret ?</div><div class='del'>-	 * pop       # ret</div><div class='del'>-	 */</div><div class='del'>-</div><div class='del'>-	/*</div><div class='del'>-	 * nd_recv[nd_args-&gt;nd_body] (nd_mid)= nd_args-&gt;nd_head;</div><div class='del'>-	 * NODE_OP_ASGN nd_recv</div><div class='del'>-	 *              nd_args-&gt;nd_head</div><div class='del'>-	 *              nd_args-&gt;nd_body</div><div class='del'>-	 *              nd_mid</div><div class='del'>-	 */</div><div class='del'>-</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-	asgnflag = COMPILE_RECV(ret, "NODE_OP_ASGN1 recv", node);</div><div class='del'>-	switch (nd_type(node-&gt;nd_args-&gt;nd_head)) {</div><div class='del'>-	  case NODE_ZARRAY:</div><div class='del'>-	    argc = INT2FIX(0);</div><div class='del'>-	    break;</div><div class='del'>-	  case NODE_BLOCK_PASS:</div><div class='del'>-	    boff = 1;</div><div class='del'>-	  default:</div><div class='del'>-	    INIT_ANCHOR(args);</div><div class='del'>-	    argc = setup_args(iseq, args, node-&gt;nd_args-&gt;nd_head, &amp;flag, NULL);</div><div class='del'>-	    CHECK(!NIL_P(argc));</div><div class='del'>-	    ADD_SEQ(ret, args);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN1(ret, line, dupn, FIXNUM_INC(argc, 1 + boff));</div><div class='del'>-	ADD_SEND_WITH_FLAG(ret, line, idAREF, argc, INT2FIX(flag));</div><div class='del'>-	flag |= asgnflag;</div><div class='del'>-</div><div class='del'>-	if (id == idOROP || id == idANDOP) {</div><div class='del'>-	    /* a[x] ||= y  or  a[x] &amp;&amp;= y</div><div class='del'>-</div><div class='del'>-	       unless/if a[x]</div><div class='del'>-	       a[x]= y</div><div class='del'>-	       else</div><div class='del'>-	       nil</div><div class='del'>-	       end</div><div class='del'>-	    */</div><div class='del'>-	    LABEL *label = NEW_LABEL(line);</div><div class='del'>-	    LABEL *lfin = NEW_LABEL(line);</div><div class='del'>-</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	    if (id == idOROP) {</div><div class='del'>-		ADD_INSNL(ret, line, branchif, label);</div><div class='del'>-	    }</div><div class='del'>-	    else { /* idANDOP */</div><div class='del'>-		ADD_INSNL(ret, line, branchunless, label);</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_ASGN1 args-&gt;body: ", node-&gt;nd_args-&gt;nd_body));</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2+boff));</div><div class='del'>-	    }</div><div class='del'>-	    if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='del'>-		ADD_INSN1(ret, line, newarray, INT2FIX(1));</div><div class='del'>-		if (boff &gt; 0) {</div><div class='del'>-		    ADD_INSN1(ret, line, dupn, INT2FIX(3));</div><div class='del'>-		    ADD_INSN(ret, line, swap);</div><div class='del'>-		    ADD_INSN(ret, line, pop);</div><div class='del'>-		}</div><div class='del'>-		ADD_INSN(ret, line, concatarray);</div><div class='del'>-		if (boff &gt; 0) {</div><div class='del'>-		    ADD_INSN1(ret, line, setn, INT2FIX(3));</div><div class='del'>-		    ADD_INSN(ret, line, pop);</div><div class='del'>-		    ADD_INSN(ret, line, pop);</div><div class='del'>-		}</div><div class='del'>-		ADD_SEND_WITH_FLAG(ret, line, idASET, argc, INT2FIX(flag));</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		if (boff &gt; 0)</div><div class='del'>-		    ADD_INSN(ret, line, swap);</div><div class='del'>-		ADD_SEND_WITH_FLAG(ret, line, idASET, FIXNUM_INC(argc, 1), INT2FIX(flag));</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    ADD_INSNL(ret, line, jump, lfin);</div><div class='del'>-	    ADD_LABEL(ret, label);</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2+boff));</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN1(ret, line, adjuststack, FIXNUM_INC(argc, 2+boff));</div><div class='del'>-	    ADD_LABEL(ret, lfin);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_ASGN1 args-&gt;body: ", node-&gt;nd_args-&gt;nd_body));</div><div class='del'>-	    ADD_SEND(ret, line, id, INT2FIX(1));</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2+boff));</div><div class='del'>-	    }</div><div class='del'>-	    if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='del'>-		ADD_INSN1(ret, line, newarray, INT2FIX(1));</div><div class='del'>-		if (boff &gt; 0) {</div><div class='del'>-		    ADD_INSN1(ret, line, dupn, INT2FIX(3));</div><div class='del'>-		    ADD_INSN(ret, line, swap);</div><div class='del'>-		    ADD_INSN(ret, line, pop);</div><div class='del'>-		}</div><div class='del'>-		ADD_INSN(ret, line, concatarray);</div><div class='del'>-		if (boff &gt; 0) {</div><div class='del'>-		    ADD_INSN1(ret, line, setn, INT2FIX(3));</div><div class='del'>-		    ADD_INSN(ret, line, pop);</div><div class='del'>-		    ADD_INSN(ret, line, pop);</div><div class='del'>-		}</div><div class='del'>-		ADD_SEND_WITH_FLAG(ret, line, idASET, argc, INT2FIX(flag));</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		if (boff &gt; 0)</div><div class='del'>-		    ADD_INSN(ret, line, swap);</div><div class='del'>-		ADD_SEND_WITH_FLAG(ret, line, idASET, FIXNUM_INC(argc, 1), INT2FIX(flag));</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_OP_ASGN2:{</div><div class='del'>-	ID atype = node-&gt;nd_next-&gt;nd_mid;</div><div class='del'>-	ID vid = node-&gt;nd_next-&gt;nd_vid, aid = rb_id_attrset(vid);</div><div class='del'>-	VALUE asgnflag;</div><div class='del'>-	LABEL *lfin = NEW_LABEL(line);</div><div class='del'>-	LABEL *lcfin = NEW_LABEL(line);</div><div class='del'>-	LABEL *lskip = 0;</div><div class='del'>-	/*</div><div class='del'>-	  class C; attr_accessor :c; end</div><div class='del'>-	  r = C.new</div><div class='del'>-	  r.a &amp;&amp;= v # asgn2</div><div class='del'>-</div><div class='del'>-	  eval r    # r</div><div class='del'>-	  dup       # r r</div><div class='del'>-	  eval r.a  # r o</div><div class='del'>-</div><div class='del'>-	  # or</div><div class='del'>-	  dup       # r o o</div><div class='del'>-	  if lcfin  # r o</div><div class='del'>-	  pop       # r</div><div class='del'>-	  eval v    # r v</div><div class='del'>-	  swap      # v r</div><div class='del'>-	  topn 1    # v r v</div><div class='del'>-	  send a=   # v ?</div><div class='del'>-	  jump lfin # v ?</div><div class='del'>-</div><div class='del'>-	  lcfin:      # r o</div><div class='del'>-	  swap      # o r</div><div class='del'>-</div><div class='del'>-	  lfin:       # o ?</div><div class='del'>-	  pop       # o</div><div class='del'>-</div><div class='del'>-	  # and</div><div class='del'>-	  dup       # r o o</div><div class='del'>-	  unless lcfin</div><div class='del'>-	  pop       # r</div><div class='del'>-	  eval v    # r v</div><div class='del'>-	  swap      # v r</div><div class='del'>-	  topn 1    # v r v</div><div class='del'>-	  send a=   # v ?</div><div class='del'>-	  jump lfin # v ?</div><div class='del'>-</div><div class='del'>-	  # others</div><div class='del'>-	  eval v    # r o v</div><div class='del'>-	  send ??   # r w</div><div class='del'>-	  send a=   # w</div><div class='del'>-</div><div class='del'>-	*/</div><div class='del'>-</div><div class='del'>-	asgnflag = COMPILE_RECV(ret, "NODE_OP_ASGN2#recv", node);</div><div class='del'>-	if (node-&gt;nd_next-&gt;nd_aid) {</div><div class='del'>-	    lskip = NEW_LABEL(line);</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	    ADD_INSNL(ret, line, branchnil, lskip);</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN(ret, line, dup);</div><div class='del'>-	ADD_SEND(ret, line, vid, INT2FIX(0));</div><div class='del'>-</div><div class='del'>-	if (atype == idOROP || atype == idANDOP) {</div><div class='del'>-	    ADD_INSN(ret, line, dup);</div><div class='del'>-	    if (atype == idOROP) {</div><div class='del'>-		ADD_INSNL(ret, line, branchif, lcfin);</div><div class='del'>-	    }</div><div class='del'>-	    else { /* idANDOP */</div><div class='del'>-		ADD_INSNL(ret, line, branchunless, lcfin);</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_ASGN2 val", node-&gt;nd_value));</div><div class='del'>-	    ADD_INSN(ret, line, swap);</div><div class='del'>-	    ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='del'>-	    ADD_SEND_WITH_FLAG(ret, line, aid, INT2FIX(1), INT2FIX(asgnflag));</div><div class='del'>-	    ADD_INSNL(ret, line, jump, lfin);</div><div class='del'>-</div><div class='del'>-	    ADD_LABEL(ret, lcfin);</div><div class='del'>-	    ADD_INSN(ret, line, swap);</div><div class='del'>-</div><div class='del'>-	    ADD_LABEL(ret, lfin);</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    if (lskip) {</div><div class='del'>-		ADD_LABEL(ret, lskip);</div><div class='del'>-	    }</div><div class='del'>-	    if (popped) {</div><div class='del'>-		/* we can apply more optimize */</div><div class='del'>-		ADD_INSN(ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_ASGN2 val", node-&gt;nd_value));</div><div class='del'>-	    ADD_SEND(ret, line, atype, INT2FIX(1));</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN(ret, line, swap);</div><div class='del'>-		ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='del'>-	    }</div><div class='del'>-	    ADD_SEND_WITH_FLAG(ret, line, aid, INT2FIX(1), INT2FIX(asgnflag));</div><div class='del'>-	    if (lskip &amp;&amp; popped) {</div><div class='del'>-		ADD_LABEL(ret, lskip);</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    if (lskip &amp;&amp; !popped) {</div><div class='del'>-		ADD_LABEL(ret, lskip);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_OP_CDECL: {</div><div class='del'>-	LABEL *lfin = 0;</div><div class='del'>-	LABEL *lassign = 0;</div><div class='del'>-	ID mid;</div><div class='del'>-</div><div class='del'>-	switch (nd_type(node-&gt;nd_head)) {</div><div class='del'>-	  case NODE_COLON3:</div><div class='del'>-	    ADD_INSN1(ret, line, putobject, rb_cObject);</div><div class='del'>-	    break;</div><div class='del'>-	  case NODE_COLON2:</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_CDECL/colon2#nd_head", node-&gt;nd_head-&gt;nd_head));</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "%s: invalid node in NODE_OP_CDECL",</div><div class='del'>-			  ruby_node_name(nd_type(node-&gt;nd_head)));</div><div class='del'>-	    goto ng;</div><div class='del'>-	}</div><div class='del'>-	mid = node-&gt;nd_head-&gt;nd_mid;</div><div class='del'>-	/* cref */</div><div class='del'>-	if (node-&gt;nd_aid == idOROP) {</div><div class='del'>-	    lassign = NEW_LABEL(line);</div><div class='del'>-	    ADD_INSN(ret, line, dup); /* cref cref */</div><div class='del'>-	    ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_CONST),</div><div class='del'>-		      ID2SYM(mid), Qfalse); /* cref bool */</div><div class='del'>-	    ADD_INSNL(ret, line, branchunless, lassign); /* cref */</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN(ret, line, dup); /* cref cref */</div><div class='del'>-	ADD_INSN1(ret, line, getconstant, ID2SYM(mid)); /* cref obj */</div><div class='del'>-</div><div class='del'>-	if (node-&gt;nd_aid == idOROP || node-&gt;nd_aid == idANDOP) {</div><div class='del'>-	    lfin = NEW_LABEL(line);</div><div class='del'>-	    if (!popped) ADD_INSN(ret, line, dup); /* cref [obj] obj */</div><div class='del'>-	    if (node-&gt;nd_aid == idOROP)</div><div class='del'>-		ADD_INSNL(ret, line, branchif, lfin);</div><div class='del'>-	    else /* idANDOP */</div><div class='del'>-		ADD_INSNL(ret, line, branchunless, lfin);</div><div class='del'>-	    /* cref [obj] */</div><div class='del'>-	    if (!popped) ADD_INSN(ret, line, pop); /* cref */</div><div class='del'>-	    if (lassign) ADD_LABEL(ret, lassign);</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_CDECL#nd_value", node-&gt;nd_value));</div><div class='del'>-	    /* cref value */</div><div class='del'>-	    if (popped)</div><div class='del'>-		ADD_INSN1(ret, line, topn, INT2FIX(1)); /* cref value cref */</div><div class='del'>-	    else {</div><div class='del'>-		ADD_INSN1(ret, line, dupn, INT2FIX(2)); /* cref value cref value */</div><div class='del'>-		ADD_INSN(ret, line, swap); /* cref value value cref */</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN1(ret, line, setconstant, ID2SYM(mid)); /* cref [value] */</div><div class='del'>-	    ADD_LABEL(ret, lfin);			    /* cref [value] */</div><div class='del'>-	    if (!popped) ADD_INSN(ret, line, swap); /* [value] cref */</div><div class='del'>-	    ADD_INSN(ret, line, pop); /* [value] */</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE(ret, "NODE_OP_CDECL#nd_value", node-&gt;nd_value));</div><div class='del'>-	    /* cref obj value */</div><div class='del'>-	    ADD_CALL(ret, line, node-&gt;nd_aid, INT2FIX(1));</div><div class='del'>-	    /* cref value */</div><div class='del'>-	    ADD_INSN(ret, line, swap); /* value cref */</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN1(ret, line, topn, INT2FIX(1)); /* value cref value */</div><div class='del'>-		ADD_INSN(ret, line, swap); /* value value cref */</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN1(ret, line, setconstant, ID2SYM(mid));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_OP_ASGN_AND:</div><div class='del'>-      case NODE_OP_ASGN_OR:{</div><div class='del'>-	LABEL *lfin = NEW_LABEL(line);</div><div class='del'>-	LABEL *lassign;</div><div class='del'>-</div><div class='del'>-	if (nd_type(node) == NODE_OP_ASGN_OR) {</div><div class='del'>-	    LABEL *lfinish[2];</div><div class='del'>-	    lfinish[0] = lfin;</div><div class='del'>-	    lfinish[1] = 0;</div><div class='del'>-	    defined_expr(iseq, ret, node-&gt;nd_head, lfinish, Qfalse);</div><div class='del'>-	    lassign = lfinish[1];</div><div class='del'>-	    if (!lassign) {</div><div class='del'>-		lassign = NEW_LABEL(line);</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSNL(ret, line, branchunless, lassign);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    lassign = NEW_LABEL(line);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	CHECK(COMPILE(ret, "NODE_OP_ASGN_AND/OR#nd_head", node-&gt;nd_head));</div><div class='del'>-	ADD_INSN(ret, line, dup);</div><div class='del'>-</div><div class='del'>-	if (nd_type(node) == NODE_OP_ASGN_AND) {</div><div class='del'>-	    ADD_INSNL(ret, line, branchunless, lfin);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSNL(ret, line, branchif, lfin);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_INSN(ret, line, pop);</div><div class='del'>-	ADD_LABEL(ret, lassign);</div><div class='del'>-	CHECK(COMPILE(ret, "NODE_OP_ASGN_AND/OR#nd_value", node-&gt;nd_value));</div><div class='del'>-	ADD_LABEL(ret, lfin);</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    /* we can apply more optimize */</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_CALL:</div><div class='del'>-      case NODE_OPCALL:</div><div class='del'>-	/* optimization shortcut</div><div class='del'>-	 *   "literal".freeze -&gt; opt_str_freeze("literal")</div><div class='del'>-	 */</div><div class='del'>-	if (node-&gt;nd_recv &amp;&amp; nd_type(node-&gt;nd_recv) == NODE_STR &amp;&amp;</div><div class='del'>-	    (node-&gt;nd_mid == idFreeze || node-&gt;nd_mid == idUMinus) &amp;&amp;</div><div class='del'>-	    node-&gt;nd_args == NULL &amp;&amp;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;current_block == NULL &amp;&amp;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='del'>-	    VALUE str = freeze_literal(iseq, node-&gt;nd_recv-&gt;nd_lit);</div><div class='del'>-	    if (node-&gt;nd_mid == idUMinus) {</div><div class='del'>-		ADD_INSN3(ret, line, opt_str_uminus, str,</div><div class='del'>-                          new_callinfo(iseq, idUMinus, 0, 0, NULL, FALSE),</div><div class='del'>-                          Qundef /* CALL_CACHE */);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		ADD_INSN3(ret, line, opt_str_freeze, str,</div><div class='del'>-                          new_callinfo(iseq, idFreeze, 0, 0, NULL, FALSE),</div><div class='del'>-                          Qundef /* CALL_CACHE */);</div><div class='del'>-	    }</div><div class='del'>-	    if (popped) {</div><div class='del'>-		ADD_INSN(ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	/* optimization shortcut</div><div class='del'>-	 *   obj["literal"] -&gt; opt_aref_with(obj, "literal")</div><div class='del'>-	 */</div><div class='del'>-	if (node-&gt;nd_mid == idAREF &amp;&amp; !private_recv_p(node) &amp;&amp; node-&gt;nd_args &amp;&amp;</div><div class='del'>-	    nd_type(node-&gt;nd_args) == NODE_ARRAY &amp;&amp; node-&gt;nd_args-&gt;nd_alen == 1 &amp;&amp;</div><div class='del'>-	    nd_type(node-&gt;nd_args-&gt;nd_head) == NODE_STR &amp;&amp;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;current_block == NULL &amp;&amp;</div><div class='del'>-            !ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal &amp;&amp;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='del'>-	    VALUE str = freeze_literal(iseq, node-&gt;nd_args-&gt;nd_head-&gt;nd_lit);</div><div class='del'>-	    CHECK(COMPILE(ret, "recv", node-&gt;nd_recv));</div><div class='del'>-	    ADD_INSN3(ret, line, opt_aref_with, str,</div><div class='del'>-		      new_callinfo(iseq, idAREF, 1, 0, NULL, FALSE),</div><div class='del'>-		      NULL/* CALL_CACHE */);</div><div class='del'>-	    if (popped) {</div><div class='del'>-		ADD_INSN(ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-      case NODE_QCALL:</div><div class='del'>-      case NODE_FCALL:</div><div class='del'>-      case NODE_VCALL:{		/* VCALL: variable or call */</div><div class='del'>-	/*</div><div class='del'>-	  call:  obj.method(...)</div><div class='del'>-	  fcall: func(...)</div><div class='del'>-	  vcall: func</div><div class='del'>-	*/</div><div class='del'>-	DECL_ANCHOR(recv);</div><div class='del'>-	DECL_ANCHOR(args);</div><div class='del'>-	LABEL *else_label = 0;</div><div class='del'>-	LABEL *end_label = 0;</div><div class='del'>-	VALUE branches = 0;</div><div class='del'>-	ID mid = node-&gt;nd_mid;</div><div class='del'>-	VALUE argc;</div><div class='del'>-	unsigned int flag = 0;</div><div class='del'>-	struct rb_call_info_kw_arg *keywords = NULL;</div><div class='del'>-	const rb_iseq_t *parent_block = ISEQ_COMPILE_DATA(iseq)-&gt;current_block;</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = NULL;</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(recv);</div><div class='del'>-	INIT_ANCHOR(args);</div><div class='del'>-#if SUPPORT_JOKE</div><div class='del'>-	if (nd_type(node) == NODE_VCALL) {</div><div class='del'>-            ID id_bitblt;</div><div class='del'>-	    ID id_answer;</div><div class='del'>-</div><div class='del'>-            CONST_ID(id_bitblt, "bitblt");</div><div class='del'>-	    CONST_ID(id_answer, "the_answer_to_life_the_universe_and_everything");</div><div class='del'>-</div><div class='del'>-            if (mid == id_bitblt) {</div><div class='del'>-                ADD_INSN(ret, line, bitblt);</div><div class='del'>-                break;</div><div class='del'>-            }</div><div class='del'>-            else if (mid == id_answer) {</div><div class='del'>-		ADD_INSN(ret, line, answer);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	/* only joke */</div><div class='del'>-	{</div><div class='del'>-	    ID goto_id;</div><div class='del'>-	    ID label_id;</div><div class='del'>-</div><div class='del'>-	    CONST_ID(goto_id, "__goto__");</div><div class='del'>-	    CONST_ID(label_id, "__label__");</div><div class='del'>-</div><div class='del'>-	    if (nd_type(node) == NODE_FCALL &amp;&amp;</div><div class='del'>-		(mid == goto_id || mid == label_id)) {</div><div class='del'>-		LABEL *label;</div><div class='del'>-		st_data_t data;</div><div class='del'>-		st_table *labels_table = ISEQ_COMPILE_DATA(iseq)-&gt;labels_table;</div><div class='del'>-		VALUE label_name;</div><div class='del'>-</div><div class='del'>-		if (!labels_table) {</div><div class='del'>-		    labels_table = st_init_numtable();</div><div class='del'>-		    ISEQ_COMPILE_DATA(iseq)-&gt;labels_table = labels_table;</div><div class='del'>-		}</div><div class='del'>-		if (nd_type(node-&gt;nd_args-&gt;nd_head) == NODE_LIT &amp;&amp;</div><div class='del'>-		    SYMBOL_P(node-&gt;nd_args-&gt;nd_head-&gt;nd_lit)) {</div><div class='del'>-</div><div class='del'>-		    label_name = node-&gt;nd_args-&gt;nd_head-&gt;nd_lit;</div><div class='del'>-		    if (!st_lookup(labels_table, (st_data_t)label_name, &amp;data)) {</div><div class='del'>-			label = NEW_LABEL(line);</div><div class='del'>-			label-&gt;position = line;</div><div class='del'>-			st_insert(labels_table, (st_data_t)label_name, (st_data_t)label);</div><div class='del'>-		    }</div><div class='del'>-		    else {</div><div class='del'>-			label = (LABEL *)data;</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    COMPILE_ERROR(ERROR_ARGS "invalid goto/label format");</div><div class='del'>-		    goto ng;</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-		if (mid == goto_id) {</div><div class='del'>-		    ADD_INSNL(ret, line, jump, label);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    ADD_LABEL(ret, label);</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-#endif</div><div class='del'>-	/* receiver */</div><div class='del'>-	if (type == NODE_CALL || type == NODE_OPCALL || type == NODE_QCALL) {</div><div class='del'>-	    int idx, level;</div><div class='del'>-</div><div class='del'>-	    if (mid == idCall &amp;&amp;</div><div class='del'>-		nd_type(node-&gt;nd_recv) == NODE_LVAR &amp;&amp;</div><div class='del'>-		iseq_block_param_id_p(iseq, node-&gt;nd_recv-&gt;nd_vid, &amp;idx, &amp;level)) {</div><div class='del'>-		ADD_INSN2(recv, nd_line(node-&gt;nd_recv), getblockparamproxy, INT2FIX(idx + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		CHECK(COMPILE(recv, "recv", node-&gt;nd_recv));</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (type == NODE_QCALL) {</div><div class='del'>-		else_label = NEW_LABEL(line);</div><div class='del'>-		end_label = NEW_LABEL(line);</div><div class='del'>-</div><div class='del'>-		DECL_BRANCH_BASE(branches, nd_first_lineno(node), nd_first_column(node), nd_last_lineno(node), nd_last_column(node), "&amp;.");</div><div class='del'>-		ADD_INSN(recv, line, dup);</div><div class='del'>-		ADD_INSNL(recv, line, branchnil, else_label);</div><div class='del'>-		ADD_TRACE_BRANCH_COVERAGE(recv, nd_first_lineno(node), nd_first_column(node), nd_last_lineno(node), nd_last_column(node), "then", branches);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else if (type == NODE_FCALL || type == NODE_VCALL) {</div><div class='del'>-	    ADD_CALL_RECEIVER(recv, line);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	/* args */</div><div class='del'>-	if (type != NODE_VCALL) {</div><div class='del'>-	    argc = setup_args(iseq, args, node-&gt;nd_args, &amp;flag, &amp;keywords);</div><div class='del'>-	    CHECK(!NIL_P(argc));</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    argc = INT2FIX(0);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_SEQ(ret, recv);</div><div class='del'>-	ADD_SEQ(ret, args);</div><div class='del'>-</div><div class='del'>-	debugp_param("call args argc", argc);</div><div class='del'>-	debugp_param("call method", ID2SYM(mid));</div><div class='del'>-</div><div class='del'>-	switch ((int)type) {</div><div class='del'>-	  case NODE_VCALL:</div><div class='del'>-	    flag |= VM_CALL_VCALL;</div><div class='del'>-	    /* VCALL is funcall, so fall through */</div><div class='del'>-	  case NODE_FCALL:</div><div class='del'>-	    flag |= VM_CALL_FCALL;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_SEND_R(ret, line, mid, argc, parent_block, INT2FIX(flag), keywords);</div><div class='del'>-</div><div class='del'>-	if (else_label &amp;&amp; end_label) {</div><div class='del'>-	    ADD_INSNL(ret, line, jump, end_label);</div><div class='del'>-	    ADD_LABEL(ret, else_label);</div><div class='del'>-	    ADD_TRACE_BRANCH_COVERAGE(ret, nd_first_lineno(node), nd_first_column(node), nd_last_lineno(node), nd_last_column(node), "else", branches);</div><div class='del'>-	    ADD_LABEL(ret, end_label);</div><div class='del'>-	}</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_SUPER:</div><div class='del'>-      case NODE_ZSUPER:{</div><div class='del'>-	DECL_ANCHOR(args);</div><div class='del'>-	int argc;</div><div class='del'>-	unsigned int flag = 0;</div><div class='del'>-	struct rb_call_info_kw_arg *keywords = NULL;</div><div class='del'>-	const rb_iseq_t *parent_block = ISEQ_COMPILE_DATA(iseq)-&gt;current_block;</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(args);</div><div class='del'>-	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = NULL;</div><div class='del'>-	if (type == NODE_SUPER) {</div><div class='del'>-	    VALUE vargc = setup_args(iseq, args, node-&gt;nd_args, &amp;flag, &amp;keywords);</div><div class='del'>-	    CHECK(!NIL_P(vargc));</div><div class='del'>-	    argc = FIX2INT(vargc);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    /* NODE_ZSUPER */</div><div class='del'>-	    int i;</div><div class='del'>-	    const rb_iseq_t *liseq = body-&gt;local_iseq;</div><div class='del'>-	    const struct rb_iseq_constant_body *const local_body = liseq-&gt;body;</div><div class='del'>-	    const struct rb_iseq_param_keyword *const local_kwd = local_body-&gt;param.keyword;</div><div class='del'>-	    int lvar_level = get_lvar_level(iseq);</div><div class='del'>-</div><div class='del'>-	    argc = local_body-&gt;param.lead_num;</div><div class='del'>-</div><div class='del'>-	    /* normal arguments */</div><div class='del'>-	    for (i = 0; i &lt; local_body-&gt;param.lead_num; i++) {</div><div class='del'>-		int idx = local_body-&gt;local_table_size - i;</div><div class='del'>-		ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (local_body-&gt;param.flags.has_opt) {</div><div class='del'>-		/* optional arguments */</div><div class='del'>-		int j;</div><div class='del'>-		for (j = 0; j &lt; local_body-&gt;param.opt_num; j++) {</div><div class='del'>-		    int idx = local_body-&gt;local_table_size - (i + j);</div><div class='del'>-		    ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-		}</div><div class='del'>-		i += j;</div><div class='del'>-		argc = i;</div><div class='del'>-	    }</div><div class='del'>-	    if (local_body-&gt;param.flags.has_rest) {</div><div class='del'>-		/* rest argument */</div><div class='del'>-		int idx = local_body-&gt;local_table_size - local_body-&gt;param.rest_start;</div><div class='del'>-</div><div class='del'>-		ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-		ADD_INSN1(args, line, splatarray, Qfalse);</div><div class='del'>-</div><div class='del'>-		argc = local_body-&gt;param.rest_start + 1;</div><div class='del'>-		flag |= VM_CALL_ARGS_SPLAT;</div><div class='del'>-	    }</div><div class='del'>-	    if (local_body-&gt;param.flags.has_post) {</div><div class='del'>-		/* post arguments */</div><div class='del'>-		int post_len = local_body-&gt;param.post_num;</div><div class='del'>-		int post_start = local_body-&gt;param.post_start;</div><div class='del'>-</div><div class='del'>-		if (local_body-&gt;param.flags.has_rest) {</div><div class='del'>-		    int j;</div><div class='del'>-		    for (j=0; j&lt;post_len; j++) {</div><div class='del'>-			int idx = local_body-&gt;local_table_size - (post_start + j);</div><div class='del'>-			ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-		    }</div><div class='del'>-		    ADD_INSN1(args, line, newarray, INT2FIX(j));</div><div class='del'>-		    ADD_INSN (args, line, concatarray);</div><div class='del'>-		    /* argc is settled at above */</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    int j;</div><div class='del'>-		    for (j=0; j&lt;post_len; j++) {</div><div class='del'>-			int idx = local_body-&gt;local_table_size - (post_start + j);</div><div class='del'>-			ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-		    }</div><div class='del'>-		    argc = post_len + post_start;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (local_body-&gt;param.flags.has_kw) { /* TODO: support keywords */</div><div class='del'>-		int local_size = local_body-&gt;local_table_size;</div><div class='del'>-		argc++;</div><div class='del'>-</div><div class='del'>-		ADD_INSN1(args, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-</div><div class='del'>-		if (local_body-&gt;param.flags.has_kwrest) {</div><div class='del'>-		    int idx = local_body-&gt;local_table_size - local_kwd-&gt;rest_start;</div><div class='del'>-		    ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-		    ADD_SEND (args, line, rb_intern("dup"), INT2FIX(0));</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    ADD_INSN1(args, line, newhash, INT2FIX(0));</div><div class='del'>-		}</div><div class='del'>-		for (i = 0; i &lt; local_kwd-&gt;num; ++i) {</div><div class='del'>-		    ID id = local_kwd-&gt;table[i];</div><div class='del'>-		    int idx = local_size - get_local_var_idx(liseq, id);</div><div class='del'>-		    ADD_INSN1(args, line, putobject, ID2SYM(id));</div><div class='del'>-		    ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-		}</div><div class='del'>-		ADD_SEND(args, line, id_core_hash_merge_ptr, INT2FIX(i * 2 + 1));</div><div class='del'>-		if (local_body-&gt;param.flags.has_rest) {</div><div class='del'>-		    ADD_INSN1(args, line, newarray, INT2FIX(1));</div><div class='del'>-		    ADD_INSN (args, line, concatarray);</div><div class='del'>-		    --argc;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else if (local_body-&gt;param.flags.has_kwrest) {</div><div class='del'>-		int idx = local_body-&gt;local_table_size - local_kwd-&gt;rest_start;</div><div class='del'>-		ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='del'>-</div><div class='del'>-		ADD_SEND (args, line, rb_intern("dup"), INT2FIX(0));</div><div class='del'>-		if (local_body-&gt;param.flags.has_rest) {</div><div class='del'>-		    ADD_INSN1(args, line, newarray, INT2FIX(1));</div><div class='del'>-		    ADD_INSN (args, line, concatarray);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    argc++;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_INSN(ret, line, putself);</div><div class='del'>-	ADD_SEQ(ret, args);</div><div class='del'>-	ADD_INSN3(ret, line, invokesuper,</div><div class='del'>-		  new_callinfo(iseq, 0, argc, flag | VM_CALL_SUPER | (type == NODE_ZSUPER ? VM_CALL_ZSUPER : 0) | VM_CALL_FCALL, keywords, parent_block != NULL),</div><div class='del'>-		  Qnil, /* CALL_CACHE */</div><div class='del'>-		  parent_block);</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ARRAY:{</div><div class='del'>-	CHECK(compile_array(iseq, ret, node, COMPILE_ARRAY_TYPE_ARRAY, NULL, NULL, popped) &gt;= 0);</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ZARRAY:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN1(ret, line, newarray, INT2FIX(0));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_VALUES:{</div><div class='del'>-	const NODE *n = node;</div><div class='del'>-	if (popped) {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "NODE_VALUES: must not be popped");</div><div class='del'>-	}</div><div class='del'>-	while (n) {</div><div class='del'>-	    CHECK(COMPILE(ret, "values item", n-&gt;nd_head));</div><div class='del'>-	    n = n-&gt;nd_next;</div><div class='del'>-	}</div><div class='del'>-	ADD_INSN1(ret, line, newarray, INT2FIX(node-&gt;nd_alen));</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_HASH:{</div><div class='del'>-	DECL_ANCHOR(list);</div><div class='del'>-	enum node_type type = node-&gt;nd_head ? nd_type(node-&gt;nd_head) : NODE_ZARRAY;</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(list);</div><div class='del'>-	switch (type) {</div><div class='del'>-	  case NODE_ARRAY:</div><div class='del'>-	    CHECK(compile_array(iseq, list, node-&gt;nd_head, COMPILE_ARRAY_TYPE_HASH, NULL, NULL, popped) &gt;= 0);</div><div class='del'>-	    ADD_SEQ(ret, list);</div><div class='del'>-	    break;</div><div class='del'>-</div><div class='del'>-	  case NODE_ZARRAY:</div><div class='del'>-	    if (popped) break;</div><div class='del'>-	    ADD_INSN1(ret, line, newhash, INT2FIX(0));</div><div class='del'>-	    break;</div><div class='del'>-</div><div class='del'>-	  default:</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS_AT(node-&gt;nd_head) "can't make hash with this node: %s",</div><div class='del'>-			  ruby_node_name(type));</div><div class='del'>-	    goto ng;</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_RETURN:</div><div class='del'>-	CHECK(compile_return(iseq, ret, node, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_YIELD:{</div><div class='del'>-	DECL_ANCHOR(args);</div><div class='del'>-	VALUE argc;</div><div class='del'>-	unsigned int flag = 0;</div><div class='del'>-	struct rb_call_info_kw_arg *keywords = NULL;</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(args);</div><div class='del'>-	if (body-&gt;type == ISEQ_TYPE_TOP ||</div><div class='del'>-	    body-&gt;type == ISEQ_TYPE_MAIN) {</div><div class='del'>-	    COMPILE_ERROR(ERROR_ARGS "Invalid yield");</div><div class='del'>-	    goto ng;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (node-&gt;nd_head) {</div><div class='del'>-	    argc = setup_args(iseq, args, node-&gt;nd_head, &amp;flag, &amp;keywords);</div><div class='del'>-	    CHECK(!NIL_P(argc));</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    argc = INT2FIX(0);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_SEQ(ret, args);</div><div class='del'>-	ADD_INSN1(ret, line, invokeblock, new_callinfo(iseq, 0, FIX2INT(argc), flag, keywords, FALSE));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_LVAR:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ID id = node-&gt;nd_vid;</div><div class='del'>-	    int idx = body-&gt;local_iseq-&gt;body-&gt;local_table_size - get_local_var_idx(iseq, id);</div><div class='del'>-</div><div class='del'>-	    debugs("id: %s idx: %d\n", rb_id2name(id), idx);</div><div class='del'>-	    ADD_GETLOCAL(ret, line, idx, get_lvar_level(iseq));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DVAR:{</div><div class='del'>-	int lv, idx, ls;</div><div class='del'>-	debugi("nd_vid", node-&gt;nd_vid);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    idx = get_dyna_var_idx(iseq, node-&gt;nd_vid, &amp;lv, &amp;ls);</div><div class='del'>-	    if (idx &lt; 0) {</div><div class='del'>-		COMPILE_ERROR(ERROR_ARGS "unknown dvar (%"PRIsVALUE")",</div><div class='del'>-			      rb_id2str(node-&gt;nd_vid));</div><div class='del'>-		goto ng;</div><div class='del'>-	    }</div><div class='del'>-	    ADD_GETLOCAL(ret, line, ls - idx, lv);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_GVAR:{</div><div class='del'>-	ADD_INSN1(ret, line, getglobal,</div><div class='del'>-		  ((VALUE)node-&gt;nd_entry | 1));</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_IVAR:{</div><div class='del'>-	debugi("nd_vid", node-&gt;nd_vid);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN2(ret, line, getinstancevariable,</div><div class='del'>-		      ID2SYM(node-&gt;nd_vid),</div><div class='del'>-		      get_ivar_ic_value(iseq,node-&gt;nd_vid));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_CONST:{</div><div class='del'>-	debugi("nd_vid", node-&gt;nd_vid);</div><div class='del'>-</div><div class='del'>-	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='del'>-	    LABEL *lend = NEW_LABEL(line);</div><div class='del'>-	    int ic_index = body-&gt;is_size++;</div><div class='del'>-</div><div class='del'>-            ADD_INSN2(ret, line, opt_getinlinecache, lend, INT2FIX(ic_index));</div><div class='del'>-	    ADD_INSN1(ret, line, getconstant, ID2SYM(node-&gt;nd_vid));</div><div class='del'>-            ADD_INSN1(ret, line, opt_setinlinecache, INT2FIX(ic_index));</div><div class='del'>-	    ADD_LABEL(ret, lend);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	    ADD_INSN1(ret, line, getconstant, ID2SYM(node-&gt;nd_vid));</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_CVAR:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN1(ret, line, getclassvariable,</div><div class='del'>-		      ID2SYM(node-&gt;nd_vid));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_NTH_REF:{</div><div class='del'>-        if (!popped) {</div><div class='del'>-	    if (!node-&gt;nd_nth) {</div><div class='del'>-		ADD_INSN(ret, line, putnil);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN2(ret, line, getspecial, INT2FIX(1) /* '~'  */,</div><div class='del'>-		      INT2FIX(node-&gt;nd_nth &lt;&lt; 1));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_BACK_REF:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN2(ret, line, getspecial, INT2FIX(1) /* '~' */,</div><div class='del'>-		      INT2FIX(0x01 | (node-&gt;nd_nth &lt;&lt; 1)));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_MATCH:</div><div class='del'>-      case NODE_MATCH2:</div><div class='del'>-      case NODE_MATCH3:{</div><div class='del'>-	DECL_ANCHOR(recv);</div><div class='del'>-	DECL_ANCHOR(val);</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(recv);</div><div class='del'>-	INIT_ANCHOR(val);</div><div class='del'>-	switch (nd_type(node)) {</div><div class='del'>-	  case NODE_MATCH:</div><div class='del'>-	    ADD_INSN1(recv, line, putobject, node-&gt;nd_lit);</div><div class='del'>-	    ADD_INSN2(val, line, getspecial, INT2FIX(0),</div><div class='del'>-		      INT2FIX(0));</div><div class='del'>-	    break;</div><div class='del'>-	  case NODE_MATCH2:</div><div class='del'>-	    CHECK(COMPILE(recv, "receiver", node-&gt;nd_recv));</div><div class='del'>-	    CHECK(COMPILE(val, "value", node-&gt;nd_value));</div><div class='del'>-	    break;</div><div class='del'>-	  case NODE_MATCH3:</div><div class='del'>-	    CHECK(COMPILE(recv, "receiver", node-&gt;nd_value));</div><div class='del'>-	    CHECK(COMPILE(val, "value", node-&gt;nd_recv));</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='del'>-	    /* TODO: detect by node */</div><div class='del'>-	    if (recv-&gt;last == recv-&gt;anchor.next &amp;&amp;</div><div class='del'>-		INSN_OF(recv-&gt;last) == BIN(putobject) &amp;&amp;</div><div class='del'>-		nd_type(node) == NODE_MATCH2) {</div><div class='del'>-		ADD_SEQ(ret, val);</div><div class='del'>-		ADD_INSN1(ret, line, opt_regexpmatch1,</div><div class='del'>-			  OPERAND_AT(recv-&gt;last, 0));</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		ADD_SEQ(ret, recv);</div><div class='del'>-		ADD_SEQ(ret, val);</div><div class='del'>-		ADD_INSN2(ret, line, opt_regexpmatch2, new_callinfo(iseq, idEqTilde, 1, 0, NULL, FALSE), Qnil);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_SEQ(ret, recv);</div><div class='del'>-	    ADD_SEQ(ret, val);</div><div class='del'>-	    ADD_SEND(ret, line, idEqTilde, INT2FIX(1));</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (node-&gt;nd_args) {</div><div class='del'>-	    compile_named_capture_assign(iseq, ret, node-&gt;nd_args);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_LIT:{</div><div class='del'>-	debugp_param("lit", node-&gt;nd_lit);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN1(ret, line, putobject, node-&gt;nd_lit);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_STR:{</div><div class='del'>-	debugp_param("nd_lit", node-&gt;nd_lit);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    VALUE lit = node-&gt;nd_lit;</div><div class='del'>-	    if (!ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal) {</div><div class='del'>-		lit = freeze_literal(iseq, lit);</div><div class='del'>-		ADD_INSN1(ret, line, putstring, lit);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_frozen_string_literal || RTEST(ruby_debug)) {</div><div class='del'>-		    VALUE debug_info = rb_ary_new_from_args(2, rb_iseq_path(iseq), INT2FIX(line));</div><div class='del'>-		    lit = rb_str_dup(lit);</div><div class='del'>-		    rb_ivar_set(lit, id_debug_created_info, rb_obj_freeze(debug_info));</div><div class='del'>-		    lit = rb_str_freeze(lit);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    lit = rb_fstring(lit);</div><div class='del'>-		}</div><div class='del'>-		ADD_INSN1(ret, line, putobject, lit);</div><div class='del'>-		iseq_add_mark_object_compile_time(iseq, lit);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DSTR:{</div><div class='del'>-	compile_dstr(iseq, ret, node);</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal) {</div><div class='del'>-		VALUE debug_info = Qnil;</div><div class='del'>-		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_frozen_string_literal || RTEST(ruby_debug)) {</div><div class='del'>-		    debug_info = rb_ary_new_from_args(2, rb_iseq_path(iseq), INT2FIX(line));</div><div class='del'>-		    iseq_add_mark_object_compile_time(iseq, rb_obj_freeze(debug_info));</div><div class='del'>-		}</div><div class='del'>-		ADD_INSN1(ret, line, freezestring, debug_info);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_XSTR:{</div><div class='del'>-	ADD_CALL_RECEIVER(ret, line);</div><div class='del'>-	ADD_INSN1(ret, line, putobject, freeze_literal(iseq, node-&gt;nd_lit));</div><div class='del'>-	ADD_CALL(ret, line, idBackquote, INT2FIX(1));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DXSTR:{</div><div class='del'>-	ADD_CALL_RECEIVER(ret, line);</div><div class='del'>-	compile_dstr(iseq, ret, node);</div><div class='del'>-	ADD_CALL(ret, line, idBackquote, INT2FIX(1));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_EVSTR:</div><div class='del'>-	CHECK(compile_evstr(iseq, ret, node-&gt;nd_body, popped));</div><div class='del'>-	break;</div><div class='del'>-      case NODE_DREGX:{</div><div class='del'>-	compile_dregx(iseq, ret, node);</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ONCE:{</div><div class='del'>-	int ic_index = body-&gt;is_size++;</div><div class='del'>-	const rb_iseq_t *block_iseq;</div><div class='del'>-	block_iseq = NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq), ISEQ_TYPE_PLAIN, line);</div><div class='del'>-</div><div class='del'>-	ADD_INSN2(ret, line, once, block_iseq, INT2FIX(ic_index));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ARGSCAT:{</div><div class='del'>-	if (popped) {</div><div class='del'>-	    CHECK(COMPILE(ret, "argscat head", node-&gt;nd_head));</div><div class='del'>-	    ADD_INSN1(ret, line, splatarray, Qfalse);</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    CHECK(COMPILE(ret, "argscat body", node-&gt;nd_body));</div><div class='del'>-	    ADD_INSN1(ret, line, splatarray, Qfalse);</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE(ret, "argscat head", node-&gt;nd_head));</div><div class='del'>-	    CHECK(COMPILE(ret, "argscat body", node-&gt;nd_body));</div><div class='del'>-	    ADD_INSN(ret, line, concatarray);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ARGSPUSH:{</div><div class='del'>-	if (popped) {</div><div class='del'>-	    CHECK(COMPILE(ret, "arsgpush head", node-&gt;nd_head));</div><div class='del'>-	    ADD_INSN1(ret, line, splatarray, Qfalse);</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    CHECK(COMPILE_(ret, "argspush body", node-&gt;nd_body, popped));</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE(ret, "arsgpush head", node-&gt;nd_head));</div><div class='del'>-	    CHECK(COMPILE_(ret, "argspush body", node-&gt;nd_body, popped));</div><div class='del'>-	    ADD_INSN1(ret, line, newarray, INT2FIX(1));</div><div class='del'>-	    ADD_INSN(ret, line, concatarray);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_SPLAT:{</div><div class='del'>-	CHECK(COMPILE(ret, "splat", node-&gt;nd_head));</div><div class='del'>-	ADD_INSN1(ret, line, splatarray, Qtrue);</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DEFN:{</div><div class='del'>-	const rb_iseq_t *method_iseq = NEW_ISEQ(node-&gt;nd_defn,</div><div class='del'>-						rb_id2str(node-&gt;nd_mid),</div><div class='del'>-						ISEQ_TYPE_METHOD, line);</div><div class='del'>-</div><div class='del'>-	debugp_param("defn/iseq", rb_iseqw_new(method_iseq));</div><div class='del'>-</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-	ADD_INSN1(ret, line, putobject, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-	ADD_INSN1(ret, line, putiseq, method_iseq);</div><div class='del'>-	ADD_SEND (ret, line, id_core_define_method, INT2FIX(2));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DEFS:{</div><div class='del'>-	const rb_iseq_t * singleton_method = NEW_ISEQ(node-&gt;nd_defn,</div><div class='del'>-						      rb_id2str(node-&gt;nd_mid),</div><div class='del'>-						      ISEQ_TYPE_METHOD, line);</div><div class='del'>-</div><div class='del'>-	debugp_param("defs/iseq", rb_iseqw_new(singleton_method));</div><div class='del'>-</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-	CHECK(COMPILE(ret, "defs: recv", node-&gt;nd_recv));</div><div class='del'>-	ADD_INSN1(ret, line, putobject, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-	ADD_INSN1(ret, line, putiseq, singleton_method);</div><div class='del'>-	ADD_SEND (ret, line, id_core_define_singleton_method, INT2FIX(3));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ALIAS:{</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_CBASE));</div><div class='del'>-	CHECK(COMPILE(ret, "alias arg1", node-&gt;nd_1st));</div><div class='del'>-	CHECK(COMPILE(ret, "alias arg2", node-&gt;nd_2nd));</div><div class='del'>-	ADD_SEND(ret, line, id_core_set_method_alias, INT2FIX(3));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_VALIAS:{</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-	ADD_INSN1(ret, line, putobject, ID2SYM(node-&gt;nd_alias));</div><div class='del'>-	ADD_INSN1(ret, line, putobject, ID2SYM(node-&gt;nd_orig));</div><div class='del'>-	ADD_SEND(ret, line, id_core_set_variable_alias, INT2FIX(2));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_UNDEF:{</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_CBASE));</div><div class='del'>-	CHECK(COMPILE(ret, "undef arg", node-&gt;nd_undef));</div><div class='del'>-	ADD_SEND(ret, line, id_core_undef_method, INT2FIX(2));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_CLASS:{</div><div class='del'>-	const rb_iseq_t *class_iseq = NEW_CHILD_ISEQ(node-&gt;nd_body,</div><div class='del'>-						     rb_sprintf("&lt;class:%"PRIsVALUE"&gt;", rb_id2str(node-&gt;nd_cpath-&gt;nd_mid)),</div><div class='del'>-						     ISEQ_TYPE_CLASS, line);</div><div class='del'>-	const int flags = VM_DEFINECLASS_TYPE_CLASS |</div><div class='del'>-	    (node-&gt;nd_super ? VM_DEFINECLASS_FLAG_HAS_SUPERCLASS : 0) |</div><div class='del'>-	    compile_cpath(ret, iseq, node-&gt;nd_cpath);</div><div class='del'>-</div><div class='del'>-	CHECK(COMPILE(ret, "super", node-&gt;nd_super));</div><div class='del'>-	ADD_INSN3(ret, line, defineclass, ID2SYM(node-&gt;nd_cpath-&gt;nd_mid), class_iseq, INT2FIX(flags));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_MODULE:{</div><div class='del'>-        const rb_iseq_t *module_iseq = NEW_CHILD_ISEQ(node-&gt;nd_body,</div><div class='del'>-						      rb_sprintf("&lt;module:%"PRIsVALUE"&gt;", rb_id2str(node-&gt;nd_cpath-&gt;nd_mid)),</div><div class='del'>-						      ISEQ_TYPE_CLASS, line);</div><div class='del'>-	const int flags = VM_DEFINECLASS_TYPE_MODULE |</div><div class='del'>-	    compile_cpath(ret, iseq, node-&gt;nd_cpath);</div><div class='del'>-</div><div class='del'>-	ADD_INSN (ret, line, putnil); /* dummy */</div><div class='del'>-	ADD_INSN3(ret, line, defineclass, ID2SYM(node-&gt;nd_cpath-&gt;nd_mid), module_iseq, INT2FIX(flags));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_SCLASS:{</div><div class='del'>-	ID singletonclass;</div><div class='del'>-	const rb_iseq_t *singleton_class = NEW_ISEQ(node-&gt;nd_body, rb_fstring_lit("singleton class"),</div><div class='del'>-						    ISEQ_TYPE_CLASS, line);</div><div class='del'>-</div><div class='del'>-	CHECK(COMPILE(ret, "sclass#recv", node-&gt;nd_recv));</div><div class='del'>-	ADD_INSN (ret, line, putnil);</div><div class='del'>-	CONST_ID(singletonclass, "singletonclass");</div><div class='del'>-	ADD_INSN3(ret, line, defineclass,</div><div class='del'>-		  ID2SYM(singletonclass), singleton_class,</div><div class='del'>-		  INT2FIX(VM_DEFINECLASS_TYPE_SINGLETON_CLASS));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_COLON2:{</div><div class='del'>-	if (rb_is_const_id(node-&gt;nd_mid)) {</div><div class='del'>-	    /* constant */</div><div class='del'>-	    LABEL *lend = NEW_LABEL(line);</div><div class='del'>-	    int ic_index = body-&gt;is_size++;</div><div class='del'>-</div><div class='del'>-	    DECL_ANCHOR(pref);</div><div class='del'>-	    DECL_ANCHOR(body);</div><div class='del'>-</div><div class='del'>-	    INIT_ANCHOR(pref);</div><div class='del'>-	    INIT_ANCHOR(body);</div><div class='del'>-	    CHECK(compile_const_prefix(iseq, node, pref, body));</div><div class='del'>-	    if (LIST_INSN_SIZE_ZERO(pref)) {</div><div class='del'>-		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='del'>-                    ADD_INSN2(ret, line, opt_getinlinecache, lend, INT2FIX(ic_index));</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    ADD_INSN(ret, line, putnil);</div><div class='del'>-		}</div><div class='del'>-</div><div class='del'>-		ADD_SEQ(ret, body);</div><div class='del'>-</div><div class='del'>-		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='del'>-                    ADD_INSN1(ret, line, opt_setinlinecache, INT2FIX(ic_index));</div><div class='del'>-		    ADD_LABEL(ret, lend);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		ADD_SEQ(ret, pref);</div><div class='del'>-		ADD_SEQ(ret, body);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    /* function call */</div><div class='del'>-	    ADD_CALL_RECEIVER(ret, line);</div><div class='del'>-	    CHECK(COMPILE(ret, "colon2#nd_head", node-&gt;nd_head));</div><div class='del'>-	    ADD_CALL(ret, line, node-&gt;nd_mid, INT2FIX(1));</div><div class='del'>-	}</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_COLON3:{</div><div class='del'>-	LABEL *lend = NEW_LABEL(line);</div><div class='del'>-	int ic_index = body-&gt;is_size++;</div><div class='del'>-</div><div class='del'>-	debugi("colon3#nd_mid", node-&gt;nd_mid);</div><div class='del'>-</div><div class='del'>-	/* add cache insn */</div><div class='del'>-	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='del'>-            ADD_INSN2(ret, line, opt_getinlinecache, lend, INT2FIX(ic_index));</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	ADD_INSN1(ret, line, putobject, rb_cObject);</div><div class='del'>-	ADD_INSN1(ret, line, getconstant, ID2SYM(node-&gt;nd_mid));</div><div class='del'>-</div><div class='del'>-	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='del'>-            ADD_INSN1(ret, line, opt_setinlinecache, INT2FIX(ic_index));</div><div class='del'>-	    ADD_LABEL(ret, lend);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DOT2:</div><div class='del'>-      case NODE_DOT3:{</div><div class='del'>-	int excl = type == NODE_DOT3;</div><div class='del'>-	VALUE flag = INT2FIX(excl);</div><div class='del'>-	const NODE *b = node-&gt;nd_beg;</div><div class='del'>-	const NODE *e = node-&gt;nd_end;</div><div class='del'>-	if (number_literal_p(b) &amp;&amp; number_literal_p(e)) {</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		VALUE val = rb_range_new(b-&gt;nd_lit, e-&gt;nd_lit, excl);</div><div class='del'>-		iseq_add_mark_object_compile_time(iseq, val);</div><div class='del'>-		ADD_INSN1(ret, line, putobject, val);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    CHECK(COMPILE_(ret, "min", b, popped));</div><div class='del'>-	    CHECK(COMPILE_(ret, "max", e, popped));</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN1(ret, line, newrange, flag);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_FLIP2:</div><div class='del'>-      case NODE_FLIP3:{</div><div class='del'>-	LABEL *lend = NEW_LABEL(line);</div><div class='del'>-	LABEL *ltrue = NEW_LABEL(line);</div><div class='del'>-	LABEL *lfalse = NEW_LABEL(line);</div><div class='del'>-	CHECK(compile_flip_flop(iseq, ret, node, type == NODE_FLIP2,</div><div class='del'>-				ltrue, lfalse));</div><div class='del'>-	ADD_LABEL(ret, ltrue);</div><div class='del'>-	ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='del'>-	ADD_INSNL(ret, line, jump, lend);</div><div class='del'>-	ADD_LABEL(ret, lfalse);</div><div class='del'>-	ADD_INSN1(ret, line, putobject, Qfalse);</div><div class='del'>-	ADD_LABEL(ret, lend);</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_SELF:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putself);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_NIL:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_TRUE:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_FALSE:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN1(ret, line, putobject, Qfalse);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ERRINFO:{</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    if (body-&gt;type == ISEQ_TYPE_RESCUE) {</div><div class='del'>-		ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		const rb_iseq_t *ip = iseq;</div><div class='del'>-		int level = 0;</div><div class='del'>-		while (ip) {</div><div class='del'>-		    if (ip-&gt;body-&gt;type == ISEQ_TYPE_RESCUE) {</div><div class='del'>-			break;</div><div class='del'>-		    }</div><div class='del'>-		    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='del'>-		    level++;</div><div class='del'>-		}</div><div class='del'>-		if (ip) {</div><div class='del'>-		    ADD_GETLOCAL(ret, line, LVAR_ERRINFO, level);</div><div class='del'>-		}</div><div class='del'>-		else {</div><div class='del'>-		    ADD_INSN(ret, line, putnil);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_DEFINED:</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    CHECK(compile_defined_expr(iseq, ret, node, Qtrue));</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      case NODE_POSTEXE:{</div><div class='del'>-	/* compiled to:</div><div class='del'>-	 *   ONCE{ rb_mRubyVMFrozenCore::core#set_postexe{ ... } }</div><div class='del'>-	 */</div><div class='del'>-	int is_index = body-&gt;is_size++;</div><div class='del'>-	const rb_iseq_t *once_iseq =</div><div class='del'>-	    new_child_iseq_ifunc(iseq, IFUNC_NEW(build_postexe_iseq, node-&gt;nd_body, 0),</div><div class='del'>-				 rb_fstring(make_name_for_block(iseq)), iseq, ISEQ_TYPE_BLOCK, line);</div><div class='del'>-</div><div class='del'>-	ADD_INSN2(ret, line, once, once_iseq, INT2FIX(is_index));</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_KW_ARG:</div><div class='del'>-	{</div><div class='del'>-	    LABEL *end_label = NEW_LABEL(nd_line(node));</div><div class='del'>-	    const NODE *default_value = node-&gt;nd_body-&gt;nd_value;</div><div class='del'>-</div><div class='del'>-	    if (default_value == (const NODE *)-1) {</div><div class='del'>-		/* required argument. do nothing */</div><div class='del'>-		COMPILE_ERROR(ERROR_ARGS "unreachable");</div><div class='del'>-		goto ng;</div><div class='del'>-	    }</div><div class='del'>-	    else if (nd_type(default_value) == NODE_LIT ||</div><div class='del'>-		     nd_type(default_value) == NODE_NIL ||</div><div class='del'>-		     nd_type(default_value) == NODE_TRUE ||</div><div class='del'>-		     nd_type(default_value) == NODE_FALSE) {</div><div class='del'>-		COMPILE_ERROR(ERROR_ARGS "unreachable");</div><div class='del'>-		goto ng;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		/* if keywordcheck(_kw_bits, nth_keyword)</div><div class='del'>-		 *   kw = default_value</div><div class='del'>-		 * end</div><div class='del'>-		 */</div><div class='del'>-		int kw_bits_idx = body-&gt;local_table_size - body-&gt;param.keyword-&gt;bits_start;</div><div class='del'>-		int keyword_idx = body-&gt;param.keyword-&gt;num;</div><div class='del'>-</div><div class='del'>-		ADD_INSN2(ret, line, checkkeyword, INT2FIX(kw_bits_idx + VM_ENV_DATA_SIZE - 1), INT2FIX(keyword_idx));</div><div class='del'>-		ADD_INSNL(ret, line, branchif, end_label);</div><div class='del'>-		CHECK(COMPILE_POPPED(ret, "keyword default argument", node-&gt;nd_body));</div><div class='del'>-		ADD_LABEL(ret, end_label);</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-      case NODE_DSYM:{</div><div class='del'>-	compile_dstr(iseq, ret, node);</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, intern);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_ATTRASGN:{</div><div class='del'>-	DECL_ANCHOR(recv);</div><div class='del'>-	DECL_ANCHOR(args);</div><div class='del'>-	unsigned int flag = 0;</div><div class='del'>-	ID mid = node-&gt;nd_mid;</div><div class='del'>-	LABEL *lskip = 0;</div><div class='del'>-	VALUE argc;</div><div class='del'>-</div><div class='del'>-	/* optimization shortcut</div><div class='del'>-	 *   obj["literal"] = value -&gt; opt_aset_with(obj, "literal", value)</div><div class='del'>-	 */</div><div class='del'>-	if (mid == idASET &amp;&amp; !private_recv_p(node) &amp;&amp; node-&gt;nd_args &amp;&amp;</div><div class='del'>-	    nd_type(node-&gt;nd_args) == NODE_ARRAY &amp;&amp; node-&gt;nd_args-&gt;nd_alen == 2 &amp;&amp;</div><div class='del'>-	    nd_type(node-&gt;nd_args-&gt;nd_head) == NODE_STR &amp;&amp;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;current_block == NULL &amp;&amp;</div><div class='del'>-            !ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal &amp;&amp;</div><div class='del'>-	    ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction)</div><div class='del'>-	{</div><div class='del'>-	    VALUE str = freeze_literal(iseq, node-&gt;nd_args-&gt;nd_head-&gt;nd_lit);</div><div class='del'>-	    CHECK(COMPILE(ret, "recv", node-&gt;nd_recv));</div><div class='del'>-	    CHECK(COMPILE(ret, "value", node-&gt;nd_args-&gt;nd_next-&gt;nd_head));</div><div class='del'>-	    if (!popped) {</div><div class='del'>-		ADD_INSN(ret, line, swap);</div><div class='del'>-		ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='del'>-	    }</div><div class='del'>-	    ADD_INSN3(ret, line, opt_aset_with, str,</div><div class='del'>-		      new_callinfo(iseq, idASET, 2, 0, NULL, FALSE),</div><div class='del'>-		      NULL/* CALL_CACHE */);</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	INIT_ANCHOR(recv);</div><div class='del'>-	INIT_ANCHOR(args);</div><div class='del'>-	argc = setup_args(iseq, args, node-&gt;nd_args, &amp;flag, NULL);</div><div class='del'>-	CHECK(!NIL_P(argc));</div><div class='del'>-</div><div class='del'>-	flag |= COMPILE_RECV(recv, "recv", node);</div><div class='del'>-</div><div class='del'>-	debugp_param("argc", argc);</div><div class='del'>-	debugp_param("nd_mid", ID2SYM(mid));</div><div class='del'>-</div><div class='del'>-	if (!rb_is_attrset_id(mid)) {</div><div class='del'>-	    /* safe nav attr */</div><div class='del'>-	    mid = rb_id_attrset(mid);</div><div class='del'>-	    ADD_INSN(recv, line, dup);</div><div class='del'>-	    lskip = NEW_LABEL(line);</div><div class='del'>-	    ADD_INSNL(recv, line, branchnil, lskip);</div><div class='del'>-	}</div><div class='del'>-	if (!popped) {</div><div class='del'>-	    ADD_INSN(ret, line, putnil);</div><div class='del'>-	    ADD_SEQ(ret, recv);</div><div class='del'>-	    ADD_SEQ(ret, args);</div><div class='del'>-</div><div class='del'>-	    if (flag &amp; VM_CALL_ARGS_BLOCKARG) {</div><div class='del'>-		ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='del'>-		if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='del'>-		    ADD_INSN1(ret, line, putobject, INT2FIX(-1));</div><div class='del'>-		    ADD_SEND(ret, line, idAREF, INT2FIX(1));</div><div class='del'>-		}</div><div class='del'>-		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 3));</div><div class='del'>-		ADD_INSN (ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	    else if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='del'>-		ADD_INSN(ret, line, dup);</div><div class='del'>-		ADD_INSN1(ret, line, putobject, INT2FIX(-1));</div><div class='del'>-		ADD_SEND(ret, line, idAREF, INT2FIX(1));</div><div class='del'>-		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2));</div><div class='del'>-		ADD_INSN (ret, line, pop);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 1));</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    ADD_SEQ(ret, recv);</div><div class='del'>-	    ADD_SEQ(ret, args);</div><div class='del'>-	}</div><div class='del'>-	ADD_SEND_WITH_FLAG(ret, line, mid, argc, INT2FIX(flag));</div><div class='del'>-	if (lskip) ADD_LABEL(ret, lskip);</div><div class='del'>-	ADD_INSN(ret, line, pop);</div><div class='del'>-</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      case NODE_LAMBDA:{</div><div class='del'>-	/* compile same as lambda{...} */</div><div class='del'>-	const rb_iseq_t *block = NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq), ISEQ_TYPE_BLOCK, line);</div><div class='del'>-	VALUE argc = INT2FIX(0);</div><div class='del'>-</div><div class='del'>-	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='del'>-	ADD_CALL_WITH_BLOCK(ret, line, idLambda, argc, block);</div><div class='del'>-</div><div class='del'>-	if (popped) {</div><div class='del'>-	    ADD_INSN(ret, line, pop);</div><div class='del'>-	}</div><div class='del'>-	break;</div><div class='del'>-      }</div><div class='del'>-      default:</div><div class='del'>-	UNKNOWN_NODE("iseq_compile_each", node, COMPILE_NG);</div><div class='del'>-      ng:</div><div class='del'>-	debug_node_end();</div><div class='del'>-	return COMPILE_NG;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    debug_node_end();</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/***************************/</div><div class='del'>-/* instruction information */</div><div class='del'>-/***************************/</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-insn_data_length(INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    return insn_len(iobj-&gt;insn_id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-calc_sp_depth(int depth, INSN *insn)</div><div class='del'>-{</div><div class='del'>-    return insn_stack_increase(depth, insn-&gt;insn_id, insn-&gt;operands);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-opobj_inspect(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    struct RBasic *r = (struct RBasic *) obj;</div><div class='del'>-    if (!SPECIAL_CONST_P(r)  &amp;&amp; r-&gt;klass == 0) {</div><div class='del'>-	switch (BUILTIN_TYPE(r)) {</div><div class='del'>-	  case T_STRING:</div><div class='del'>-	    obj = rb_str_new_cstr(RSTRING_PTR(obj));</div><div class='del'>-	    break;</div><div class='del'>-	  case T_ARRAY:</div><div class='del'>-	    obj = rb_ary_dup(obj);</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return rb_inspect(obj);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-insn_data_to_s_detail(INSN *iobj)</div><div class='del'>-{</div><div class='del'>-    VALUE str = rb_sprintf("%-20s ", insn_name(iobj-&gt;insn_id));</div><div class='del'>-</div><div class='del'>-    if (iobj-&gt;operands) {</div><div class='del'>-	const char *types = insn_op_types(iobj-&gt;insn_id);</div><div class='del'>-	int j;</div><div class='del'>-</div><div class='del'>-	for (j = 0; types[j]; j++) {</div><div class='del'>-	    char type = types[j];</div><div class='del'>-</div><div class='del'>-	    switch (type) {</div><div class='del'>-	      case TS_OFFSET:	/* label(destination position) */</div><div class='del'>-		{</div><div class='del'>-		    LABEL *lobj = (LABEL *)OPERAND_AT(iobj, j);</div><div class='del'>-		    rb_str_catf(str, LABEL_FORMAT, lobj-&gt;label_no);</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      case TS_ISEQ:	/* iseq */</div><div class='del'>-		{</div><div class='del'>-		    rb_iseq_t *iseq = (rb_iseq_t *)OPERAND_AT(iobj, j);</div><div class='del'>-		    VALUE val = Qnil;</div><div class='del'>-		    if (0 &amp;&amp; iseq) { /* TODO: invalidate now */</div><div class='del'>-			val = (VALUE)iseq;</div><div class='del'>-		    }</div><div class='del'>-		    rb_str_concat(str, opobj_inspect(val));</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      case TS_LINDEX:</div><div class='del'>-	      case TS_NUM:	/* ulong */</div><div class='del'>-	      case TS_VALUE:	/* VALUE */</div><div class='del'>-		{</div><div class='del'>-		    VALUE v = OPERAND_AT(iobj, j);</div><div class='del'>-		    rb_str_concat(str, opobj_inspect(v));</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	      case TS_ID:	/* ID */</div><div class='del'>-		rb_str_concat(str, opobj_inspect(OPERAND_AT(iobj, j)));</div><div class='del'>-		break;</div><div class='del'>-	      case TS_GENTRY:</div><div class='del'>-		{</div><div class='del'>-		    struct rb_global_entry *entry = (struct rb_global_entry *)</div><div class='del'>-		      (OPERAND_AT(iobj, j) &amp; (~1));</div><div class='del'>-		    rb_str_append(str, rb_id2str(entry-&gt;id));</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	      case TS_IC:	/* inline cache */</div><div class='del'>-	      case TS_ISE:	/* inline storage entry */</div><div class='del'>-		rb_str_catf(str, "&lt;ic:%d&gt;", FIX2INT(OPERAND_AT(iobj, j)));</div><div class='del'>-		break;</div><div class='del'>-	      case TS_CALLINFO: /* call info */</div><div class='del'>-		{</div><div class='del'>-		    struct rb_call_info *ci = (struct rb_call_info *)OPERAND_AT(iobj, j);</div><div class='del'>-		    rb_str_cat2(str, "&lt;callinfo:");</div><div class='del'>-		    if (ci-&gt;mid) rb_str_catf(str, "%"PRIsVALUE, rb_id2str(ci-&gt;mid));</div><div class='del'>-		    rb_str_catf(str, ", %d&gt;", ci-&gt;orig_argc);</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	      case TS_CALLCACHE: /* call cache */</div><div class='del'>-		{</div><div class='del'>-		    rb_str_catf(str, "&lt;call cache&gt;");</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	      case TS_CDHASH:	/* case/when condition cache */</div><div class='del'>-		rb_str_cat2(str, "&lt;ch&gt;");</div><div class='del'>-		break;</div><div class='del'>-	      case TS_FUNCPTR:</div><div class='del'>-		{</div><div class='del'>-		    const void *func = (const void *)OPERAND_AT(iobj, j);</div><div class='del'>-#ifdef HAVE_DLADDR</div><div class='del'>-		    Dl_info info;</div><div class='del'>-		    if (dladdr(func, &amp;info) &amp;&amp; info.dli_sname) {</div><div class='del'>-			rb_str_cat2(str, info.dli_sname);</div><div class='del'>-			break;</div><div class='del'>-		    }</div><div class='del'>-#endif</div><div class='del'>-		    rb_str_catf(str, "&lt;%p&gt;", func);</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      default:{</div><div class='del'>-		rb_raise(rb_eSyntaxError, "unknown operand type: %c", type);</div><div class='del'>-	      }</div><div class='del'>-	    }</div><div class='del'>-	    if (types[j + 1]) {</div><div class='del'>-		rb_str_cat2(str, ", ");</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-dump_disasm_list(const LINK_ELEMENT *link)</div><div class='del'>-{</div><div class='del'>-    dump_disasm_list_with_cursor(link, NULL, NULL);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-dump_disasm_list_with_cursor(const LINK_ELEMENT *link, const LINK_ELEMENT *curr, const LABEL *dest)</div><div class='del'>-{</div><div class='del'>-    int pos = 0;</div><div class='del'>-    INSN *iobj;</div><div class='del'>-    LABEL *lobj;</div><div class='del'>-    VALUE str;</div><div class='del'>-</div><div class='del'>-    printf("-- raw disasm--------\n");</div><div class='del'>-</div><div class='del'>-    while (link) {</div><div class='del'>-	if (curr) printf(curr == link ? "*" : " ");</div><div class='del'>-	switch (link-&gt;type) {</div><div class='del'>-	  case ISEQ_ELEMENT_INSN:</div><div class='del'>-	    {</div><div class='del'>-		iobj = (INSN *)link;</div><div class='del'>-		str = insn_data_to_s_detail(iobj);</div><div class='del'>-		printf("%04d %-65s(%4u)\n", pos, StringValueCStr(str), iobj-&gt;insn_info.line_no);</div><div class='del'>-		pos += insn_data_length(iobj);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_LABEL:</div><div class='del'>-	    {</div><div class='del'>-		lobj = (LABEL *)link;</div><div class='del'>-		printf(LABEL_FORMAT" [sp: %d]%s\n", lobj-&gt;label_no, lobj-&gt;sp,</div><div class='del'>-		       dest == lobj ? " &lt;---" : "");</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_TRACE:</div><div class='del'>-	    {</div><div class='del'>-		TRACE *trace = (TRACE *)link;</div><div class='del'>-		printf("trace: %0x\n", trace-&gt;event);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  case ISEQ_ELEMENT_ADJUST:</div><div class='del'>-	    {</div><div class='del'>-		ADJUST *adjust = (ADJUST *)link;</div><div class='del'>-		printf("adjust: [label: %d]\n", adjust-&gt;label ? adjust-&gt;label-&gt;label_no : -1);</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	  default:</div><div class='del'>-	    /* ignore */</div><div class='del'>-	    rb_raise(rb_eSyntaxError, "dump_disasm_list error: %ld\n", FIX2LONG(link-&gt;type));</div><div class='del'>-	}</div><div class='del'>-	link = link-&gt;next;</div><div class='del'>-    }</div><div class='del'>-    printf("---------------------\n");</div><div class='del'>-    fflush(stdout);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-const char *</div><div class='del'>-rb_insns_name(int i)</div><div class='del'>-{</div><div class='del'>-    return insn_name(i);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_insns_name_array(void)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = rb_ary_new_capa(VM_INSTRUCTION_SIZE);</div><div class='del'>-    int i;</div><div class='del'>-    for (i = 0; i &lt; VM_INSTRUCTION_SIZE; i++) {</div><div class='del'>-	rb_ary_push(ary, rb_fstring_cstr(insn_name(i)));</div><div class='del'>-    }</div><div class='del'>-    return rb_obj_freeze(ary);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static LABEL *</div><div class='del'>-register_label(rb_iseq_t *iseq, struct st_table *labels_table, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    LABEL *label = 0;</div><div class='del'>-    st_data_t tmp;</div><div class='del'>-    obj = rb_to_symbol_type(obj);</div><div class='del'>-</div><div class='del'>-    if (st_lookup(labels_table, obj, &amp;tmp) == 0) {</div><div class='del'>-	label = NEW_LABEL(0);</div><div class='del'>-	st_insert(labels_table, obj, (st_data_t)label);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	label = (LABEL *)tmp;</div><div class='del'>-    }</div><div class='del'>-    LABEL_REF(label);</div><div class='del'>-    return label;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-get_exception_sym2type(VALUE sym)</div><div class='del'>-{</div><div class='del'>-#undef rb_intern</div><div class='del'>-#define rb_intern(str) rb_intern_const(str)</div><div class='del'>-    static VALUE symRescue, symEnsure, symRetry;</div><div class='del'>-    static VALUE symBreak, symRedo, symNext;</div><div class='del'>-</div><div class='del'>-    if (symRescue == 0) {</div><div class='del'>-	symRescue = ID2SYM(rb_intern("rescue"));</div><div class='del'>-	symEnsure = ID2SYM(rb_intern("ensure"));</div><div class='del'>-	symRetry  = ID2SYM(rb_intern("retry"));</div><div class='del'>-	symBreak  = ID2SYM(rb_intern("break"));</div><div class='del'>-	symRedo   = ID2SYM(rb_intern("redo"));</div><div class='del'>-	symNext   = ID2SYM(rb_intern("next"));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (sym == symRescue) return CATCH_TYPE_RESCUE;</div><div class='del'>-    if (sym == symEnsure) return CATCH_TYPE_ENSURE;</div><div class='del'>-    if (sym == symRetry)  return CATCH_TYPE_RETRY;</div><div class='del'>-    if (sym == symBreak)  return CATCH_TYPE_BREAK;</div><div class='del'>-    if (sym == symRedo)   return CATCH_TYPE_REDO;</div><div class='del'>-    if (sym == symNext)   return CATCH_TYPE_NEXT;</div><div class='del'>-    rb_raise(rb_eSyntaxError, "invalid exception symbol: %+"PRIsVALUE, sym);</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_build_from_ary_exception(rb_iseq_t *iseq, struct st_table *labels_table,</div><div class='del'>-		     VALUE exception)</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(exception); i++) {</div><div class='del'>-	const rb_iseq_t *eiseq;</div><div class='del'>-	VALUE v, type;</div><div class='del'>-	LABEL *lstart, *lend, *lcont;</div><div class='del'>-	unsigned int sp;</div><div class='del'>-</div><div class='del'>-	v = rb_to_array_type(RARRAY_AREF(exception, i));</div><div class='del'>-	if (RARRAY_LEN(v) != 6) {</div><div class='del'>-	    rb_raise(rb_eSyntaxError, "wrong exception entry");</div><div class='del'>-	}</div><div class='del'>-        type = get_exception_sym2type(RARRAY_AREF(v, 0));</div><div class='del'>-        if (RARRAY_AREF(v, 1) == Qnil) {</div><div class='del'>-	    eiseq = NULL;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-            eiseq = rb_iseqw_to_iseq(rb_iseq_load(RARRAY_AREF(v, 1), (VALUE)iseq, Qnil));</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        lstart = register_label(iseq, labels_table, RARRAY_AREF(v, 2));</div><div class='del'>-        lend   = register_label(iseq, labels_table, RARRAY_AREF(v, 3));</div><div class='del'>-        lcont  = register_label(iseq, labels_table, RARRAY_AREF(v, 4));</div><div class='del'>-        sp     = NUM2UINT(RARRAY_AREF(v, 5));</div><div class='del'>-</div><div class='del'>-	/* TODO: Dirty Hack!  Fix me */</div><div class='del'>-	if (type == CATCH_TYPE_RESCUE ||</div><div class='del'>-	    type == CATCH_TYPE_BREAK ||</div><div class='del'>-	    type == CATCH_TYPE_NEXT) {</div><div class='del'>-	    ++sp;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	lcont-&gt;sp = sp;</div><div class='del'>-</div><div class='del'>-	ADD_CATCH_ENTRY(type, lstart, lend, eiseq, lcont);</div><div class='del'>-</div><div class='del'>-	RB_GC_GUARD(v);</div><div class='del'>-    }</div><div class='del'>-    return COMPILE_OK;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct st_table *</div><div class='del'>-insn_make_insn_table(void)</div><div class='del'>-{</div><div class='del'>-    struct st_table *table;</div><div class='del'>-    int i;</div><div class='del'>-    table = st_init_numtable();</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;VM_INSTRUCTION_SIZE; i++) {</div><div class='del'>-	st_insert(table, ID2SYM(rb_intern(insn_name(i))), i);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return table;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const rb_iseq_t *</div><div class='del'>-iseq_build_load_iseq(const rb_iseq_t *iseq, VALUE op)</div><div class='del'>-{</div><div class='del'>-    VALUE iseqw;</div><div class='del'>-    const rb_iseq_t *loaded_iseq;</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(op, T_ARRAY)) {</div><div class='del'>-	iseqw = rb_iseq_load(op, (VALUE)iseq, Qnil);</div><div class='del'>-    }</div><div class='del'>-    else if (CLASS_OF(op) == rb_cISeq) {</div><div class='del'>-	iseqw = op;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	rb_raise(rb_eSyntaxError, "ISEQ is required");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    loaded_iseq = rb_iseqw_to_iseq(iseqw);</div><div class='del'>-    return loaded_iseq;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-iseq_build_callinfo_from_hash(rb_iseq_t *iseq, VALUE op)</div><div class='del'>-{</div><div class='del'>-    ID mid = 0;</div><div class='del'>-    int orig_argc = 0;</div><div class='del'>-    unsigned int flag = 0;</div><div class='del'>-    struct rb_call_info_kw_arg *kw_arg = 0;</div><div class='del'>-</div><div class='del'>-    if (!NIL_P(op)) {</div><div class='del'>-	VALUE vmid = rb_hash_aref(op, ID2SYM(rb_intern("mid")));</div><div class='del'>-	VALUE vflag = rb_hash_aref(op, ID2SYM(rb_intern("flag")));</div><div class='del'>-	VALUE vorig_argc = rb_hash_aref(op, ID2SYM(rb_intern("orig_argc")));</div><div class='del'>-	VALUE vkw_arg = rb_hash_aref(op, ID2SYM(rb_intern("kw_arg")));</div><div class='del'>-</div><div class='del'>-	if (!NIL_P(vmid)) mid = SYM2ID(vmid);</div><div class='del'>-	if (!NIL_P(vflag)) flag = NUM2UINT(vflag);</div><div class='del'>-	if (!NIL_P(vorig_argc)) orig_argc = FIX2INT(vorig_argc);</div><div class='del'>-</div><div class='del'>-	if (!NIL_P(vkw_arg)) {</div><div class='del'>-	    int i;</div><div class='del'>-	    int len = RARRAY_LENINT(vkw_arg);</div><div class='del'>-	    size_t n = rb_call_info_kw_arg_bytes(len);</div><div class='del'>-</div><div class='del'>-	    kw_arg = xmalloc(n);</div><div class='del'>-	    kw_arg-&gt;keyword_len = len;</div><div class='del'>-	    for (i = 0; i &lt; len; i++) {</div><div class='del'>-		VALUE kw = RARRAY_AREF(vkw_arg, i);</div><div class='del'>-		SYM2ID(kw);	/* make immortal */</div><div class='del'>-		kw_arg-&gt;keywords[i] = kw;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return (VALUE)new_callinfo(iseq, mid, orig_argc, flag, kw_arg, (flag &amp; VM_CALL_ARGS_SIMPLE) == 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_event_flag_t</div><div class='del'>-event_name_to_flag(VALUE sym)</div><div class='del'>-{</div><div class='del'>-#define CHECK_EVENT(ev) if (sym == ID2SYM(rb_intern(#ev))) return ev;</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_LINE);</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_CLASS);</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_END);</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_CALL);</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_RETURN);</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_B_CALL);</div><div class='del'>-		CHECK_EVENT(RUBY_EVENT_B_RETURN);</div><div class='del'>-#undef CHECK_EVENT</div><div class='del'>-    return RUBY_EVENT_NONE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-iseq_build_from_ary_body(rb_iseq_t *iseq, LINK_ANCHOR *const anchor,</div><div class='del'>-			 VALUE body, VALUE labels_wrapper)</div><div class='del'>-{</div><div class='del'>-    /* TODO: body should be frozen */</div><div class='del'>-    long i, len = RARRAY_LEN(body);</div><div class='del'>-    struct st_table *labels_table = DATA_PTR(labels_wrapper);</div><div class='del'>-    int j;</div><div class='del'>-    int line_no = 0;</div><div class='del'>-    int ret = COMPILE_OK;</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * index -&gt; LABEL *label</div><div class='del'>-     */</div><div class='del'>-    static struct st_table *insn_table;</div><div class='del'>-</div><div class='del'>-    if (insn_table == 0) {</div><div class='del'>-	insn_table = insn_make_insn_table();</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;len; i++) {</div><div class='del'>-        VALUE obj = RARRAY_AREF(body, i);</div><div class='del'>-</div><div class='del'>-	if (SYMBOL_P(obj)) {</div><div class='del'>-	    rb_event_flag_t event;</div><div class='del'>-	    if ((event = event_name_to_flag(obj)) != RUBY_EVENT_NONE) {</div><div class='del'>-		ADD_TRACE(anchor, event);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		LABEL *label = register_label(iseq, labels_table, obj);</div><div class='del'>-		ADD_LABEL(anchor, label);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else if (FIXNUM_P(obj)) {</div><div class='del'>-	    line_no = NUM2INT(obj);</div><div class='del'>-	}</div><div class='del'>-	else if (RB_TYPE_P(obj, T_ARRAY)) {</div><div class='del'>-	    VALUE *argv = 0;</div><div class='del'>-	    int argc = RARRAY_LENINT(obj) - 1;</div><div class='del'>-	    st_data_t insn_id;</div><div class='del'>-	    VALUE insn;</div><div class='del'>-</div><div class='del'>-	    insn = (argc &lt; 0) ? Qnil : RARRAY_AREF(obj, 0);</div><div class='del'>-	    if (st_lookup(insn_table, (st_data_t)insn, &amp;insn_id) == 0) {</div><div class='del'>-		/* TODO: exception */</div><div class='del'>-		COMPILE_ERROR(iseq, line_no,</div><div class='del'>-			      "unknown instruction: %+"PRIsVALUE, insn);</div><div class='del'>-		ret = COMPILE_NG;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (argc != insn_len((VALUE)insn_id)-1) {</div><div class='del'>-		COMPILE_ERROR(iseq, line_no,</div><div class='del'>-			      "operand size mismatch");</div><div class='del'>-		ret = COMPILE_NG;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    if (argc &gt; 0) {</div><div class='del'>-		argv = compile_data_alloc(iseq, sizeof(VALUE) * argc);</div><div class='del'>-		for (j=0; j&lt;argc; j++) {</div><div class='del'>-		    VALUE op = rb_ary_entry(obj, j+1);</div><div class='del'>-		    switch (insn_op_type((VALUE)insn_id, j)) {</div><div class='del'>-		      case TS_OFFSET: {</div><div class='del'>-			LABEL *label = register_label(iseq, labels_table, op);</div><div class='del'>-			argv[j] = (VALUE)label;</div><div class='del'>-			break;</div><div class='del'>-		      }</div><div class='del'>-		      case TS_LINDEX:</div><div class='del'>-		      case TS_NUM:</div><div class='del'>-			(void)NUM2INT(op);</div><div class='del'>-			argv[j] = op;</div><div class='del'>-			break;</div><div class='del'>-		      case TS_VALUE:</div><div class='del'>-			argv[j] = op;</div><div class='del'>-			iseq_add_mark_object_compile_time(iseq, op);</div><div class='del'>-			break;</div><div class='del'>-		      case TS_ISEQ:</div><div class='del'>-			{</div><div class='del'>-			    if (op != Qnil) {</div><div class='del'>-				VALUE v = (VALUE)iseq_build_load_iseq(iseq, op);</div><div class='del'>-				argv[j] = v;</div><div class='del'>-				iseq_add_mark_object_compile_time(iseq, v);</div><div class='del'>-			    }</div><div class='del'>-			    else {</div><div class='del'>-				argv[j] = 0;</div><div class='del'>-			    }</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		      case TS_GENTRY:</div><div class='del'>-			op = rb_to_symbol_type(op);</div><div class='del'>-			argv[j] = (VALUE)rb_global_entry(SYM2ID(op));</div><div class='del'>-			break;</div><div class='del'>-		      case TS_ISE:</div><div class='del'>-			FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-		      case TS_IC:</div><div class='del'>-			argv[j] = op;</div><div class='del'>-			if (NUM2UINT(op) &gt;= iseq-&gt;body-&gt;is_size) {</div><div class='del'>-			    iseq-&gt;body-&gt;is_size = NUM2INT(op) + 1;</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		      case TS_CALLINFO:</div><div class='del'>-			argv[j] = iseq_build_callinfo_from_hash(iseq, op);</div><div class='del'>-			break;</div><div class='del'>-		      case TS_CALLCACHE:</div><div class='del'>-			argv[j] = Qfalse;</div><div class='del'>-			break;</div><div class='del'>-		      case TS_ID:</div><div class='del'>-			argv[j] = rb_to_symbol_type(op);</div><div class='del'>-			break;</div><div class='del'>-		      case TS_CDHASH:</div><div class='del'>-			{</div><div class='del'>-			    int i;</div><div class='del'>-			    VALUE map = rb_hash_new_with_size(RARRAY_LEN(op)/2);</div><div class='del'>-</div><div class='del'>-                            RHASH_TBL_RAW(map)-&gt;type = &amp;cdhash_type;</div><div class='del'>-			    op = rb_to_array_type(op);</div><div class='del'>-			    for (i=0; i&lt;RARRAY_LEN(op); i+=2) {</div><div class='del'>-				VALUE key = RARRAY_AREF(op, i);</div><div class='del'>-				VALUE sym = RARRAY_AREF(op, i+1);</div><div class='del'>-				LABEL *label =</div><div class='del'>-				  register_label(iseq, labels_table, sym);</div><div class='del'>-				rb_hash_aset(map, key, (VALUE)label | 1);</div><div class='del'>-			    }</div><div class='del'>-			    RB_GC_GUARD(op);</div><div class='del'>-			    argv[j] = map;</div><div class='del'>-			    iseq_add_mark_object_compile_time(iseq, map);</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		      case TS_FUNCPTR:</div><div class='del'>-			{</div><div class='del'>-#if SIZEOF_VALUE &lt;= SIZEOF_LONG</div><div class='del'>-			    long funcptr = NUM2LONG(op);</div><div class='del'>-#else</div><div class='del'>-			    LONG_LONG funcptr = NUM2LL(op);</div><div class='del'>-#endif</div><div class='del'>-			    argv[j] = (VALUE)funcptr;</div><div class='del'>-			}</div><div class='del'>-			break;</div><div class='del'>-		      default:</div><div class='del'>-			rb_raise(rb_eSyntaxError, "unknown operand: %c", insn_op_type((VALUE)insn_id, j));</div><div class='del'>-		    }</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    ADD_ELEM(anchor,</div><div class='del'>-		     (LINK_ELEMENT*)new_insn_core(iseq, line_no,</div><div class='del'>-						  (enum ruby_vminsn_type)insn_id, argc, argv));</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    rb_raise(rb_eTypeError, "unexpected object for instruction");</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    DATA_PTR(labels_wrapper) = 0;</div><div class='del'>-    validate_labels(iseq, labels_table);</div><div class='del'>-    if (!ret) return ret;</div><div class='del'>-    return iseq_setup(iseq, anchor);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define CHECK_ARRAY(v)   rb_to_array_type(v)</div><div class='del'>-#define CHECK_SYMBOL(v)  rb_to_symbol_type(v)</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-int_param(int *dst, VALUE param, VALUE sym)</div><div class='del'>-{</div><div class='del'>-    VALUE val = rb_hash_aref(param, sym);</div><div class='del'>-    if (FIXNUM_P(val)) {</div><div class='del'>-	*dst = FIX2INT(val);</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    else if (!NIL_P(val)) {</div><div class='del'>-	rb_raise(rb_eTypeError, "invalid %+"PRIsVALUE" Fixnum: %+"PRIsVALUE,</div><div class='del'>-		 sym, val);</div><div class='del'>-    }</div><div class='del'>-    return FALSE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const struct rb_iseq_param_keyword *</div><div class='del'>-iseq_build_kw(rb_iseq_t *iseq, VALUE params, VALUE keywords)</div><div class='del'>-{</div><div class='del'>-    int i, j;</div><div class='del'>-    int len = RARRAY_LENINT(keywords);</div><div class='del'>-    int default_len;</div><div class='del'>-    VALUE key, sym, default_val;</div><div class='del'>-    VALUE *dvs;</div><div class='del'>-    ID *ids;</div><div class='del'>-    struct rb_iseq_param_keyword *keyword = ZALLOC(struct rb_iseq_param_keyword);</div><div class='del'>-</div><div class='del'>-    iseq-&gt;body-&gt;param.flags.has_kw = TRUE;</div><div class='del'>-</div><div class='del'>-    keyword-&gt;num = len;</div><div class='del'>-#define SYM(s) ID2SYM(rb_intern(#s))</div><div class='del'>-    (void)int_param(&amp;keyword-&gt;bits_start, params, SYM(kwbits));</div><div class='del'>-    i = keyword-&gt;bits_start - keyword-&gt;num;</div><div class='del'>-    ids = (ID *)&amp;iseq-&gt;body-&gt;local_table[i];</div><div class='del'>-#undef SYM</div><div class='del'>-</div><div class='del'>-    /* required args */</div><div class='del'>-    for (i = 0; i &lt; len; i++) {</div><div class='del'>-	VALUE val = RARRAY_AREF(keywords, i);</div><div class='del'>-</div><div class='del'>-	if (!SYMBOL_P(val)) {</div><div class='del'>-	    goto default_values;</div><div class='del'>-	}</div><div class='del'>-	ids[i] = SYM2ID(val);</div><div class='del'>-	keyword-&gt;required_num++;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-  default_values: /* note: we intentionally preserve `i' from previous loop */</div><div class='del'>-    default_len = len - i;</div><div class='del'>-    if (default_len == 0) {</div><div class='del'>-	keyword-&gt;table = ids;</div><div class='del'>-	return keyword;</div><div class='del'>-    }</div><div class='del'>-    else if (default_len &lt; 0) {</div><div class='del'>-        UNREACHABLE;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    dvs = ALLOC_N(VALUE, (unsigned int)default_len);</div><div class='del'>-</div><div class='del'>-    for (j = 0; i &lt; len; i++, j++) {</div><div class='del'>-	key = RARRAY_AREF(keywords, i);</div><div class='del'>-	CHECK_ARRAY(key);</div><div class='del'>-</div><div class='del'>-	switch (RARRAY_LEN(key)) {</div><div class='del'>-	  case 1:</div><div class='del'>-	    sym = RARRAY_AREF(key, 0);</div><div class='del'>-	    default_val = Qundef;</div><div class='del'>-	    break;</div><div class='del'>-	  case 2:</div><div class='del'>-	    sym = RARRAY_AREF(key, 0);</div><div class='del'>-	    default_val = RARRAY_AREF(key, 1);</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    rb_raise(rb_eTypeError, "keyword default has unsupported len %+"PRIsVALUE, key);</div><div class='del'>-	}</div><div class='del'>-	ids[i] = SYM2ID(sym);</div><div class='del'>-	dvs[j] = default_val;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    keyword-&gt;table = ids;</div><div class='del'>-    keyword-&gt;default_values = dvs;</div><div class='del'>-</div><div class='del'>-    return keyword;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE misc, VALUE locals, VALUE params,</div><div class='del'>-			 VALUE exception, VALUE body)</div><div class='del'>-{</div><div class='del'>-#define SYM(s) ID2SYM(rb_intern(#s))</div><div class='del'>-    int i, len;</div><div class='del'>-    unsigned int arg_size, local_size, stack_max;</div><div class='del'>-    ID *tbl;</div><div class='del'>-    struct st_table *labels_table = st_init_numtable();</div><div class='del'>-    VALUE labels_wrapper = Data_Wrap_Struct(0, 0, st_free_table, labels_table);</div><div class='del'>-    VALUE arg_opt_labels = rb_hash_aref(params, SYM(opt));</div><div class='del'>-    VALUE keywords = rb_hash_aref(params, SYM(keyword));</div><div class='del'>-    VALUE sym_arg_rest = ID2SYM(rb_intern("#arg_rest"));</div><div class='del'>-    DECL_ANCHOR(anchor);</div><div class='del'>-    INIT_ANCHOR(anchor);</div><div class='del'>-</div><div class='del'>-    len = RARRAY_LENINT(locals);</div><div class='del'>-    iseq-&gt;body-&gt;local_table_size = len;</div><div class='del'>-    iseq-&gt;body-&gt;local_table = tbl = len &gt; 0 ? (ID *)ALLOC_N(ID, iseq-&gt;body-&gt;local_table_size) : NULL;</div><div class='del'>-</div><div class='del'>-    for (i = 0; i &lt; len; i++) {</div><div class='del'>-	VALUE lv = RARRAY_AREF(locals, i);</div><div class='del'>-</div><div class='del'>-	if (sym_arg_rest == lv) {</div><div class='del'>-	    tbl[i] = 0;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    tbl[i] = FIXNUM_P(lv) ? (ID)FIX2LONG(lv) : SYM2ID(CHECK_SYMBOL(lv));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-#define INT_PARAM(F) int_param(&amp;iseq-&gt;body-&gt;param.F, params, SYM(F))</div><div class='del'>-    if (INT_PARAM(lead_num)) {</div><div class='del'>-	iseq-&gt;body-&gt;param.flags.has_lead = TRUE;</div><div class='del'>-    }</div><div class='del'>-    if (INT_PARAM(post_num)) iseq-&gt;body-&gt;param.flags.has_post = TRUE;</div><div class='del'>-    if (INT_PARAM(post_start)) iseq-&gt;body-&gt;param.flags.has_post = TRUE;</div><div class='del'>-    if (INT_PARAM(rest_start)) iseq-&gt;body-&gt;param.flags.has_rest = TRUE;</div><div class='del'>-    if (INT_PARAM(block_start)) iseq-&gt;body-&gt;param.flags.has_block = TRUE;</div><div class='del'>-#undef INT_PARAM</div><div class='del'>-    {</div><div class='del'>-#define INT_PARAM(F) F = (int_param(&amp;x, misc, SYM(F)) ? (unsigned int)x : 0)</div><div class='del'>-	int x;</div><div class='del'>-	INT_PARAM(arg_size);</div><div class='del'>-	INT_PARAM(local_size);</div><div class='del'>-	INT_PARAM(stack_max);</div><div class='del'>-#undef INT_PARAM</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(arg_opt_labels, T_ARRAY)) {</div><div class='del'>-	len = RARRAY_LENINT(arg_opt_labels);</div><div class='del'>-	iseq-&gt;body-&gt;param.flags.has_opt = !!(len - 1 &gt;= 0);</div><div class='del'>-</div><div class='del'>-	if (iseq-&gt;body-&gt;param.flags.has_opt) {</div><div class='del'>-	    VALUE *opt_table = ALLOC_N(VALUE, len);</div><div class='del'>-</div><div class='del'>-	    for (i = 0; i &lt; len; i++) {</div><div class='del'>-		VALUE ent = RARRAY_AREF(arg_opt_labels, i);</div><div class='del'>-		LABEL *label = register_label(iseq, labels_table, ent);</div><div class='del'>-		opt_table[i] = (VALUE)label;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    iseq-&gt;body-&gt;param.opt_num = len - 1;</div><div class='del'>-	    iseq-&gt;body-&gt;param.opt_table = opt_table;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (!NIL_P(arg_opt_labels)) {</div><div class='del'>-	rb_raise(rb_eTypeError, ":opt param is not an array: %+"PRIsVALUE,</div><div class='del'>-		 arg_opt_labels);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(keywords, T_ARRAY)) {</div><div class='del'>-	iseq-&gt;body-&gt;param.keyword = iseq_build_kw(iseq, params, keywords);</div><div class='del'>-    }</div><div class='del'>-    else if (!NIL_P(keywords)) {</div><div class='del'>-	rb_raise(rb_eTypeError, ":keywords param is not an array: %+"PRIsVALUE,</div><div class='del'>-		 keywords);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (Qtrue == rb_hash_aref(params, SYM(ambiguous_param0))) {</div><div class='del'>-	iseq-&gt;body-&gt;param.flags.ambiguous_param0 = TRUE;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (int_param(&amp;i, params, SYM(kwrest))) {</div><div class='del'>-	struct rb_iseq_param_keyword *keyword = (struct rb_iseq_param_keyword *)iseq-&gt;body-&gt;param.keyword;</div><div class='del'>-	if (keyword == NULL) {</div><div class='del'>-	    iseq-&gt;body-&gt;param.keyword = keyword = ZALLOC(struct rb_iseq_param_keyword);</div><div class='del'>-	}</div><div class='del'>-	keyword-&gt;rest_start = i;</div><div class='del'>-	iseq-&gt;body-&gt;param.flags.has_kwrest = TRUE;</div><div class='del'>-    }</div><div class='del'>-#undef SYM</div><div class='del'>-    iseq_calc_param_size(iseq);</div><div class='del'>-</div><div class='del'>-    /* exception */</div><div class='del'>-    iseq_build_from_ary_exception(iseq, labels_table, exception);</div><div class='del'>-</div><div class='del'>-    /* body */</div><div class='del'>-    iseq_build_from_ary_body(iseq, anchor, body, labels_wrapper);</div><div class='del'>-</div><div class='del'>-    iseq-&gt;body-&gt;param.size = arg_size;</div><div class='del'>-    iseq-&gt;body-&gt;local_table_size = local_size;</div><div class='del'>-    iseq-&gt;body-&gt;stack_max = stack_max;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* for parser */</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_dvar_defined(ID id, const struct rb_block *base_block)</div><div class='del'>-{</div><div class='del'>-    const rb_iseq_t *iseq;</div><div class='del'>-</div><div class='del'>-    if (base_block &amp;&amp; (iseq = vm_block_iseq(base_block)) != NULL) {</div><div class='del'>-	const struct rb_iseq_constant_body *body = iseq-&gt;body;</div><div class='del'>-	while (body-&gt;type == ISEQ_TYPE_BLOCK ||</div><div class='del'>-	       body-&gt;type == ISEQ_TYPE_RESCUE ||</div><div class='del'>-	       body-&gt;type == ISEQ_TYPE_ENSURE ||</div><div class='del'>-	       body-&gt;type == ISEQ_TYPE_EVAL ||</div><div class='del'>-	       body-&gt;type == ISEQ_TYPE_MAIN</div><div class='del'>-	       ) {</div><div class='del'>-	    unsigned int i;</div><div class='del'>-</div><div class='del'>-	    for (i = 0; i &lt; body-&gt;local_table_size; i++) {</div><div class='del'>-		if (body-&gt;local_table[i] == id) {</div><div class='del'>-		    return 1;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    iseq = body-&gt;parent_iseq;</div><div class='del'>-	    body = iseq-&gt;body;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-rb_local_defined(ID id, const struct rb_block *base_block)</div><div class='del'>-{</div><div class='del'>-    const rb_iseq_t *iseq;</div><div class='del'>-</div><div class='del'>-    if (base_block &amp;&amp; (iseq = vm_block_iseq(base_block)) != NULL) {</div><div class='del'>-	unsigned int i;</div><div class='del'>-	const struct rb_iseq_constant_body *const body = iseq-&gt;body-&gt;local_iseq-&gt;body;</div><div class='del'>-</div><div class='del'>-	for (i=0; i&lt;body-&gt;local_table_size; i++) {</div><div class='del'>-	    if (body-&gt;local_table[i] == id) {</div><div class='del'>-		return 1;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-caller_location(VALUE *path, VALUE *realpath)</div><div class='del'>-{</div><div class='del'>-    const rb_execution_context_t *ec = GET_EC();</div><div class='del'>-    const rb_control_frame_t *const cfp =</div><div class='del'>-        rb_vm_get_ruby_level_next_cfp(ec, ec-&gt;cfp);</div><div class='del'>-</div><div class='del'>-    if (cfp) {</div><div class='del'>-	int line = rb_vm_get_sourceline(cfp);</div><div class='del'>-	*path = rb_iseq_path(cfp-&gt;iseq);</div><div class='del'>-	*realpath = rb_iseq_realpath(cfp-&gt;iseq);</div><div class='del'>-	return line;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	*path = rb_fstring_lit("&lt;compiled&gt;");</div><div class='del'>-	*realpath = *path;</div><div class='del'>-	return 1;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-typedef struct {</div><div class='del'>-    VALUE arg;</div><div class='del'>-    rb_insn_func_t func;</div><div class='del'>-    int line;</div><div class='del'>-} accessor_args;</div><div class='del'>-</div><div class='del'>-static const rb_iseq_t *</div><div class='del'>-method_for_self(VALUE name, VALUE arg, rb_insn_func_t func,</div><div class='del'>-		VALUE (*build)(rb_iseq_t *, LINK_ANCHOR *const, VALUE))</div><div class='del'>-{</div><div class='del'>-    VALUE path, realpath;</div><div class='del'>-    accessor_args acc;</div><div class='del'>-</div><div class='del'>-    acc.arg = arg;</div><div class='del'>-    acc.func = func;</div><div class='del'>-    acc.line = caller_location(&amp;path, &amp;realpath);</div><div class='del'>-    return rb_iseq_new_ifunc(IFUNC_NEW(build, (VALUE)&amp;acc, 0),</div><div class='del'>-			     rb_sym2str(name), path, realpath,</div><div class='del'>-			     INT2FIX(acc.line), 0, ISEQ_TYPE_METHOD, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-for_self_aref(rb_iseq_t *iseq, LINK_ANCHOR *const ret, VALUE a)</div><div class='del'>-{</div><div class='del'>-    const accessor_args *const args = (void *)a;</div><div class='del'>-    const int line = args-&gt;line;</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-</div><div class='del'>-    iseq_set_local_table(iseq, 0);</div><div class='del'>-    body-&gt;param.lead_num = 0;</div><div class='del'>-    body-&gt;param.size = 0;</div><div class='del'>-</div><div class='del'>-    ADD_INSN1(ret, line, putobject, args-&gt;arg);</div><div class='del'>-    ADD_INSN1(ret, line, opt_call_c_function, (VALUE)args-&gt;func);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-for_self_aset(rb_iseq_t *iseq, LINK_ANCHOR *const ret, VALUE a)</div><div class='del'>-{</div><div class='del'>-    const accessor_args *const args = (void *)a;</div><div class='del'>-    const int line = args-&gt;line;</div><div class='del'>-    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    static const ID vars[] = {1, idUScore};</div><div class='del'>-</div><div class='del'>-    iseq_set_local_table(iseq, vars);</div><div class='del'>-    body-&gt;param.lead_num = 1;</div><div class='del'>-    body-&gt;param.size = 1;</div><div class='del'>-</div><div class='del'>-    ADD_GETLOCAL(ret, line, numberof(vars)-1, 0);</div><div class='del'>-    ADD_INSN1(ret, line, putobject, args-&gt;arg);</div><div class='del'>-    ADD_INSN1(ret, line, opt_call_c_function, (VALUE)args-&gt;func);</div><div class='del'>-    ADD_INSN(ret, line, pop);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * func (index) -&gt; (value)</div><div class='del'>- */</div><div class='del'>-const rb_iseq_t *</div><div class='del'>-rb_method_for_self_aref(VALUE name, VALUE arg, rb_insn_func_t func)</div><div class='del'>-{</div><div class='del'>-    return method_for_self(name, arg, func, for_self_aref);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * func (index, value) -&gt; (index, value)</div><div class='del'>- */</div><div class='del'>-const rb_iseq_t *</div><div class='del'>-rb_method_for_self_aset(VALUE name, VALUE arg, rb_insn_func_t func)</div><div class='del'>-{</div><div class='del'>-    return method_for_self(name, arg, func, for_self_aset);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* ISeq binary format */</div><div class='del'>-</div><div class='del'>-#ifndef IBF_ISEQ_DEBUG</div><div class='del'>-#define IBF_ISEQ_DEBUG 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-typedef unsigned int ibf_offset_t;</div><div class='del'>-#define IBF_OFFSET(ptr) ((ibf_offset_t)(VALUE)(ptr))</div><div class='del'>-</div><div class='del'>-struct ibf_header {</div><div class='del'>-    char magic[4]; /* YARB */</div><div class='del'>-    unsigned int major_version;</div><div class='del'>-    unsigned int minor_version;</div><div class='del'>-    unsigned int size;</div><div class='del'>-    unsigned int extra_size;</div><div class='del'>-</div><div class='del'>-    unsigned int iseq_list_size;</div><div class='del'>-    unsigned int id_list_size;</div><div class='del'>-    unsigned int object_list_size;</div><div class='del'>-</div><div class='del'>-    ibf_offset_t iseq_list_offset;</div><div class='del'>-    ibf_offset_t id_list_offset;</div><div class='del'>-    ibf_offset_t object_list_offset;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_dump {</div><div class='del'>-    VALUE str;</div><div class='del'>-    VALUE iseq_list;      /* [iseq0 offset, ...] */</div><div class='del'>-    VALUE obj_list;       /* [objs] */</div><div class='del'>-    st_table *iseq_table; /* iseq -&gt; iseq number */</div><div class='del'>-    st_table *id_table;   /* id -&gt; id number */</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-rb_iseq_t * iseq_alloc(void);</div><div class='del'>-</div><div class='del'>-struct ibf_load {</div><div class='del'>-    const RUBY_ALIGNAS(SIZEOF_VALUE) char *buff;</div><div class='del'>-    const struct ibf_header *header;</div><div class='del'>-    ID *id_list;     /* [id0, ...] */</div><div class='del'>-    VALUE iseq_list; /* [iseq0, ...] */</div><div class='del'>-    VALUE obj_list;  /* [obj0, ...] */</div><div class='del'>-    VALUE loader_obj;</div><div class='del'>-    VALUE str;</div><div class='del'>-    rb_iseq_t *iseq;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static ibf_offset_t</div><div class='del'>-ibf_dump_pos(struct ibf_dump *dump)</div><div class='del'>-{</div><div class='del'>-    long pos = RSTRING_LEN(dump-&gt;str);</div><div class='del'>-#if SIZEOF_LONG &gt; SIZEOF_INT</div><div class='del'>-    if (pos &gt;= UINT_MAX) {</div><div class='del'>-        rb_raise(rb_eRuntimeError, "dump size exceeds");</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return (unsigned int)pos;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_align(struct ibf_dump *dump, size_t align)</div><div class='del'>-{</div><div class='del'>-    ibf_offset_t pos = ibf_dump_pos(dump);</div><div class='del'>-    if (pos % align) {</div><div class='del'>-        static const char padding[sizeof(VALUE)];</div><div class='del'>-        size_t size = align - ((size_t)pos % align);</div><div class='del'>-#if SIZEOF_LONG &gt; SIZEOF_INT</div><div class='del'>-        if (pos + size &gt;= UINT_MAX) {</div><div class='del'>-            rb_raise(rb_eRuntimeError, "dump size exceeds");</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-        for (; size &gt; sizeof(padding); size -= sizeof(padding)) {</div><div class='del'>-            rb_str_cat(dump-&gt;str, padding, sizeof(padding));</div><div class='del'>-        }</div><div class='del'>-        rb_str_cat(dump-&gt;str, padding, size);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ibf_offset_t</div><div class='del'>-ibf_dump_write(struct ibf_dump *dump, const void *buff, unsigned long size)</div><div class='del'>-{</div><div class='del'>-    ibf_offset_t pos = ibf_dump_pos(dump);</div><div class='del'>-    rb_str_cat(dump-&gt;str, (const char *)buff, size);</div><div class='del'>-    /* TODO: overflow check */</div><div class='del'>-    return pos;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_overwrite(struct ibf_dump *dump, void *buff, unsigned int size, long offset)</div><div class='del'>-{</div><div class='del'>-    VALUE str = dump-&gt;str;</div><div class='del'>-    char *ptr = RSTRING_PTR(str);</div><div class='del'>-    if ((unsigned long)(size + offset) &gt; (unsigned long)RSTRING_LEN(str))</div><div class='del'>-	rb_bug("ibf_dump_overwrite: overflow");</div><div class='del'>-    memcpy(ptr + offset, buff, size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-ibf_load_alloc(const struct ibf_load *load, ibf_offset_t offset, int size)</div><div class='del'>-{</div><div class='del'>-    void *buff = ruby_xmalloc(size);</div><div class='del'>-    memcpy(buff, load-&gt;buff + offset, size);</div><div class='del'>-    return buff;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define IBF_W_ALIGN(type) (RUBY_ALIGNOF(type) &gt; 1 ? ibf_dump_align(dump, RUBY_ALIGNOF(type)) : (void)0)</div><div class='del'>-</div><div class='del'>-#define IBF_W(b, type, n) (IBF_W_ALIGN(type), (type *)(VALUE)IBF_WP(b, type, n))</div><div class='del'>-#define IBF_WV(variable)   ibf_dump_write(dump, &amp;(variable), sizeof(variable))</div><div class='del'>-#define IBF_WP(b, type, n) ibf_dump_write(dump, (b), sizeof(type) * (n))</div><div class='del'>-#define IBF_R(val, type, n) (type *)ibf_load_alloc(load, IBF_OFFSET(val), sizeof(type) * (n))</div><div class='del'>-#define IBF_ZERO(variable) memset(&amp;(variable), 0, sizeof(variable))</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-ibf_table_lookup(struct st_table *table, st_data_t key)</div><div class='del'>-{</div><div class='del'>-    st_data_t val;</div><div class='del'>-</div><div class='del'>-    if (st_lookup(table, key, &amp;val)) {</div><div class='del'>-	return (int)val;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return -1;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-ibf_table_index(struct st_table *table, st_data_t key)</div><div class='del'>-{</div><div class='del'>-    int index = ibf_table_lookup(table, key);</div><div class='del'>-</div><div class='del'>-    if (index &lt; 0) { /* not found */</div><div class='del'>-	index = (int)table-&gt;num_entries;</div><div class='del'>-	st_insert(table, key, (st_data_t)index);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return index;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* dump/load generic */</div><div class='del'>-</div><div class='del'>-static VALUE ibf_load_object(const struct ibf_load *load, VALUE object_index);</div><div class='del'>-static rb_iseq_t *ibf_load_iseq(const struct ibf_load *load, const rb_iseq_t *index_iseq);</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_dump_object(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    long index = RARRAY_LEN(dump-&gt;obj_list);</div><div class='del'>-    long i;</div><div class='del'>-    for (i=0; i&lt;index; i++) {</div><div class='del'>-	if (RARRAY_AREF(dump-&gt;obj_list, i) == obj) return (VALUE)i; /* dedup */</div><div class='del'>-    }</div><div class='del'>-    rb_ary_push(dump-&gt;obj_list, obj);</div><div class='del'>-    return (VALUE)index;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_dump_id(struct ibf_dump *dump, ID id)</div><div class='del'>-{</div><div class='del'>-    return (VALUE)ibf_table_index(dump-&gt;id_table, (st_data_t)id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ID</div><div class='del'>-ibf_load_id(const struct ibf_load *load, const ID id_index)</div><div class='del'>-{</div><div class='del'>-    ID id;</div><div class='del'>-</div><div class='del'>-    if (id_index == 0) {</div><div class='del'>-	id = 0;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	id = load-&gt;id_list[(long)id_index];</div><div class='del'>-</div><div class='del'>-	if (id == 0) {</div><div class='del'>-	    long *indices = (long *)(load-&gt;buff + load-&gt;header-&gt;id_list_offset);</div><div class='del'>-	    VALUE str = ibf_load_object(load, indices[id_index]);</div><div class='del'>-	    id = NIL_P(str) ? 0 : rb_intern_str(str); /* str == nil -&gt; internal junk id */</div><div class='del'>-	    load-&gt;id_list[(long)id_index] = id;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return id;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* dump/load: code */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_dump_callinfo(struct ibf_dump *dump, const struct rb_call_info *ci)</div><div class='del'>-{</div><div class='del'>-    return (ci-&gt;flag &amp; VM_CALL_KWARG) ? Qtrue : Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ibf_offset_t ibf_dump_iseq_each(struct ibf_dump *dump, const rb_iseq_t *iseq);</div><div class='del'>-</div><div class='del'>-static rb_iseq_t *</div><div class='del'>-ibf_dump_iseq(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    if (iseq == NULL) {</div><div class='del'>-	return (rb_iseq_t *)-1;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	int iseq_index = ibf_table_lookup(dump-&gt;iseq_table, (st_data_t)iseq);</div><div class='del'>-	if (iseq_index &lt; 0) {</div><div class='del'>-	    iseq_index = ibf_table_index(dump-&gt;iseq_table, (st_data_t)iseq);</div><div class='del'>-	    rb_ary_store(dump-&gt;iseq_list, iseq_index, LONG2NUM(ibf_dump_iseq_each(dump, rb_iseq_check(iseq))));</div><div class='del'>-	}</div><div class='del'>-	return (rb_iseq_t *)(VALUE)iseq_index;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_dump_gentry(struct ibf_dump *dump, const struct rb_global_entry *entry)</div><div class='del'>-{</div><div class='del'>-    return (VALUE)ibf_dump_id(dump, entry-&gt;id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_gentry(const struct ibf_load *load, const struct rb_global_entry *entry)</div><div class='del'>-{</div><div class='del'>-    ID gid = ibf_load_id(load, (ID)(VALUE)entry);</div><div class='del'>-    return (VALUE)rb_global_entry(gid);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE *</div><div class='del'>-ibf_dump_code(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    const struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    const int iseq_size = body-&gt;iseq_size;</div><div class='del'>-    int code_index;</div><div class='del'>-    VALUE *code;</div><div class='del'>-    const VALUE *orig_code = rb_iseq_original_iseq(iseq);</div><div class='del'>-</div><div class='del'>-    code = ALLOCA_N(VALUE, iseq_size);</div><div class='del'>-</div><div class='del'>-    for (code_index=0; code_index&lt;iseq_size;) {</div><div class='del'>-	const VALUE insn = orig_code[code_index];</div><div class='del'>-	const char *types = insn_op_types(insn);</div><div class='del'>-	int op_index;</div><div class='del'>-</div><div class='del'>-	code[code_index++] = (VALUE)insn;</div><div class='del'>-</div><div class='del'>-	for (op_index=0; types[op_index]; op_index++, code_index++) {</div><div class='del'>-	    VALUE op = orig_code[code_index];</div><div class='del'>-	    switch (types[op_index]) {</div><div class='del'>-	      case TS_CDHASH:</div><div class='del'>-	      case TS_VALUE:</div><div class='del'>-		code[code_index] = ibf_dump_object(dump, op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_ISEQ:</div><div class='del'>-		code[code_index] = (VALUE)ibf_dump_iseq(dump, (const rb_iseq_t *)op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_IC:</div><div class='del'>-	      case TS_ISE:</div><div class='del'>-		{</div><div class='del'>-		    unsigned int i;</div><div class='del'>-		    for (i=0; i&lt;body-&gt;is_size; i++) {</div><div class='del'>-			if (op == (VALUE)&amp;body-&gt;is_entries[i]) {</div><div class='del'>-			    break;</div><div class='del'>-			}</div><div class='del'>-		    }</div><div class='del'>-		    code[code_index] = i;</div><div class='del'>-		}</div><div class='del'>-		break;</div><div class='del'>-	      case TS_CALLINFO:</div><div class='del'>-		code[code_index] = ibf_dump_callinfo(dump, (const struct rb_call_info *)op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_CALLCACHE:</div><div class='del'>-		code[code_index] = 0;</div><div class='del'>-		break;</div><div class='del'>-	      case TS_ID:</div><div class='del'>-		code[code_index] = ibf_dump_id(dump, (ID)op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_GENTRY:</div><div class='del'>-		code[code_index] = ibf_dump_gentry(dump, (const struct rb_global_entry *)op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_FUNCPTR:</div><div class='del'>-		rb_raise(rb_eRuntimeError, "TS_FUNCPTR is not supported");</div><div class='del'>-		break;</div><div class='del'>-	      default:</div><div class='del'>-		code[code_index] = op;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	assert(insn_len(insn) == op_index+1);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return IBF_W(code, VALUE, iseq_size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE *</div><div class='del'>-ibf_load_code(const struct ibf_load *load, const rb_iseq_t *iseq, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    const int iseq_size = body-&gt;iseq_size;</div><div class='del'>-    int code_index;</div><div class='del'>-    VALUE *code = IBF_R(body-&gt;iseq_encoded, VALUE, iseq_size);</div><div class='del'>-</div><div class='del'>-    struct rb_iseq_constant_body *load_body = iseq-&gt;body;</div><div class='del'>-    struct rb_call_info *ci_entries = load_body-&gt;ci_entries;</div><div class='del'>-    struct rb_call_info_with_kwarg *ci_kw_entries = (struct rb_call_info_with_kwarg *)&amp;load_body-&gt;ci_entries[load_body-&gt;ci_size];</div><div class='del'>-    struct rb_call_cache *cc_entries = load_body-&gt;cc_entries;</div><div class='del'>-    union iseq_inline_storage_entry *is_entries = load_body-&gt;is_entries;</div><div class='del'>-</div><div class='del'>-    load_body-&gt;iseq_encoded = code;</div><div class='del'>-    load_body-&gt;iseq_size = 0;</div><div class='del'>-    for (code_index=0; code_index&lt;iseq_size;) {</div><div class='del'>-	const VALUE insn = code[code_index++];</div><div class='del'>-	const char *types = insn_op_types(insn);</div><div class='del'>-	int op_index;</div><div class='del'>-</div><div class='del'>-	for (op_index=0; types[op_index]; op_index++, code_index++) {</div><div class='del'>-	    VALUE op = code[code_index];</div><div class='del'>-</div><div class='del'>-	    switch (types[op_index]) {</div><div class='del'>-	      case TS_CDHASH:</div><div class='del'>-	      case TS_VALUE:</div><div class='del'>-	        {</div><div class='del'>-		    VALUE v = ibf_load_object(load, op);</div><div class='del'>-		    code[code_index] = v;</div><div class='del'>-		    if (!SPECIAL_CONST_P(v)) {</div><div class='del'>-			RB_OBJ_WRITTEN(iseq, Qundef, v);</div><div class='del'>-			FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-		    }</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	      case TS_ISEQ:</div><div class='del'>-	        {</div><div class='del'>-		    VALUE v = (VALUE)ibf_load_iseq(load, (const rb_iseq_t *)op);</div><div class='del'>-		    code[code_index] = v;</div><div class='del'>-		    if (!SPECIAL_CONST_P(v)) {</div><div class='del'>-			RB_OBJ_WRITTEN(iseq, Qundef, v);</div><div class='del'>-			FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-		    }</div><div class='del'>-		    break;</div><div class='del'>-		}</div><div class='del'>-	      case TS_ISE:</div><div class='del'>-		FL_SET(iseq, ISEQ_MARKABLE_ISEQ);</div><div class='del'>-	      case TS_IC:</div><div class='del'>-		code[code_index] = (VALUE)&amp;is_entries[(int)op];</div><div class='del'>-		break;</div><div class='del'>-	      case TS_CALLINFO:</div><div class='del'>-		code[code_index] = op ? (VALUE)ci_kw_entries++ : (VALUE)ci_entries++; /* op is Qtrue (kw) or Qfalse (!kw) */</div><div class='del'>-		break;</div><div class='del'>-	      case TS_CALLCACHE:</div><div class='del'>-		code[code_index] = (VALUE)cc_entries++;</div><div class='del'>-		break;</div><div class='del'>-	      case TS_ID:</div><div class='del'>-		code[code_index] = ibf_load_id(load, (ID)op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_GENTRY:</div><div class='del'>-		code[code_index] = ibf_load_gentry(load, (const struct rb_global_entry *)op);</div><div class='del'>-		break;</div><div class='del'>-	      case TS_FUNCPTR:</div><div class='del'>-		rb_raise(rb_eRuntimeError, "TS_FUNCPTR is not supported");</div><div class='del'>-		break;</div><div class='del'>-	      default:</div><div class='del'>-		/* code[code_index] = op; */</div><div class='del'>-		continue;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	if (insn_len(insn) != op_index+1) {</div><div class='del'>-	    rb_raise(rb_eRuntimeError, "operand size mismatch");</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    load_body-&gt;iseq_size = code_index;</div><div class='del'>-</div><div class='del'>-    return code;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE *</div><div class='del'>-ibf_dump_param_opt_table(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    int opt_num = iseq-&gt;body-&gt;param.opt_num;</div><div class='del'>-</div><div class='del'>-    if (opt_num &gt; 0) {</div><div class='del'>-	return IBF_W(iseq-&gt;body-&gt;param.opt_table, VALUE, opt_num + 1);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE *</div><div class='del'>-ibf_load_param_opt_table(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    int opt_num = body-&gt;param.opt_num;</div><div class='del'>-</div><div class='del'>-    if (opt_num &gt; 0) {</div><div class='del'>-	ibf_offset_t offset = IBF_OFFSET(body-&gt;param.opt_table);</div><div class='del'>-	VALUE *table = ALLOC_N(VALUE, opt_num+1);</div><div class='del'>-	MEMCPY(table, load-&gt;buff + offset, VALUE, opt_num+1);</div><div class='del'>-	return table;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct rb_iseq_param_keyword *</div><div class='del'>-ibf_dump_param_keyword(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    const struct rb_iseq_param_keyword *kw = iseq-&gt;body-&gt;param.keyword;</div><div class='del'>-</div><div class='del'>-    if (kw) {</div><div class='del'>-	struct rb_iseq_param_keyword dump_kw = *kw;</div><div class='del'>-	int dv_num = kw-&gt;num - kw-&gt;required_num;</div><div class='del'>-	ID *ids = kw-&gt;num &gt; 0 ? ALLOCA_N(ID, kw-&gt;num) : NULL;</div><div class='del'>-	VALUE *dvs = dv_num &gt; 0 ? ALLOCA_N(VALUE, dv_num) : NULL;</div><div class='del'>-	int i;</div><div class='del'>-</div><div class='del'>-	for (i=0; i&lt;kw-&gt;num; i++) ids[i] = (ID)ibf_dump_id(dump, kw-&gt;table[i]);</div><div class='del'>-	for (i=0; i&lt;dv_num; i++) dvs[i] = (VALUE)ibf_dump_object(dump, kw-&gt;default_values[i]);</div><div class='del'>-</div><div class='del'>-	dump_kw.table = IBF_W(ids, ID, kw-&gt;num);</div><div class='del'>-	dump_kw.default_values = IBF_W(dvs, VALUE, dv_num);</div><div class='del'>-	return IBF_W(&amp;dump_kw, struct rb_iseq_param_keyword, 1);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const struct rb_iseq_param_keyword *</div><div class='del'>-ibf_load_param_keyword(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    if (body-&gt;param.keyword) {</div><div class='del'>-	struct rb_iseq_param_keyword *kw = IBF_R(body-&gt;param.keyword, struct rb_iseq_param_keyword, 1);</div><div class='del'>-	ID *ids = IBF_R(kw-&gt;table, ID, kw-&gt;num);</div><div class='del'>-	int dv_num = kw-&gt;num - kw-&gt;required_num;</div><div class='del'>-	VALUE *dvs = IBF_R(kw-&gt;default_values, VALUE, dv_num);</div><div class='del'>-	int i;</div><div class='del'>-</div><div class='del'>-	for (i=0; i&lt;kw-&gt;num; i++) {</div><div class='del'>-	    ids[i] = ibf_load_id(load, ids[i]);</div><div class='del'>-	}</div><div class='del'>-	for (i=0; i&lt;dv_num; i++) {</div><div class='del'>-	    dvs[i] = ibf_load_object(load, dvs[i]);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	kw-&gt;table = ids;</div><div class='del'>-	kw-&gt;default_values = dvs;</div><div class='del'>-	return kw;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct iseq_insn_info_entry *</div><div class='del'>-ibf_dump_insns_info_body(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    return IBF_W(iseq-&gt;body-&gt;insns_info.body, struct iseq_insn_info_entry, iseq-&gt;body-&gt;insns_info.size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct iseq_insn_info_entry *</div><div class='del'>-ibf_load_insns_info_body(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    return IBF_R(body-&gt;insns_info.body, struct iseq_insn_info_entry, body-&gt;insns_info.size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static unsigned int *</div><div class='del'>-ibf_dump_insns_info_positions(struct ibf_dump *dump, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    return IBF_W(body-&gt;insns_info.positions, unsigned int, body-&gt;insns_info.size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static unsigned int *</div><div class='del'>-ibf_load_insns_info_positions(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    return IBF_R(body-&gt;insns_info.positions, unsigned int, body-&gt;insns_info.size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ID *</div><div class='del'>-ibf_dump_local_table(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    const struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    const int size = body-&gt;local_table_size;</div><div class='del'>-    ID *table = ALLOCA_N(ID, size);</div><div class='del'>-    int i;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;size; i++) {</div><div class='del'>-	table[i] = ibf_dump_id(dump, body-&gt;local_table[i]);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return IBF_W(table, ID, size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ID *</div><div class='del'>-ibf_load_local_table(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    const int size = body-&gt;local_table_size;</div><div class='del'>-</div><div class='del'>-    if (size &gt; 0) {</div><div class='del'>-	ID *table = IBF_R(body-&gt;local_table, ID, size);</div><div class='del'>-	int i;</div><div class='del'>-</div><div class='del'>-	for (i=0; i&lt;size; i++) {</div><div class='del'>-	    table[i] = ibf_load_id(load, table[i]);</div><div class='del'>-	}</div><div class='del'>-	return table;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct iseq_catch_table *</div><div class='del'>-ibf_dump_catch_table(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    const struct iseq_catch_table *table = iseq-&gt;body-&gt;catch_table;</div><div class='del'>-</div><div class='del'>-    if (table) {</div><div class='del'>-	int byte_size = iseq_catch_table_bytes(iseq-&gt;body-&gt;catch_table-&gt;size);</div><div class='del'>-	struct iseq_catch_table *dump_table = (struct iseq_catch_table *)ALLOCA_N(char, byte_size);</div><div class='del'>-	unsigned int i;</div><div class='del'>-	dump_table-&gt;size = table-&gt;size;</div><div class='del'>-	for (i=0; i&lt;table-&gt;size; i++) {</div><div class='del'>-	    dump_table-&gt;entries[i] = table-&gt;entries[i];</div><div class='del'>-	    dump_table-&gt;entries[i].iseq = ibf_dump_iseq(dump, table-&gt;entries[i].iseq);</div><div class='del'>-	}</div><div class='del'>-	return (struct iseq_catch_table *)(VALUE)ibf_dump_write(dump, dump_table, byte_size);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct iseq_catch_table *</div><div class='del'>-ibf_load_catch_table(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    if (body-&gt;catch_table) {</div><div class='del'>-	struct iseq_catch_table *table;</div><div class='del'>-	unsigned int i;</div><div class='del'>-	unsigned int size;</div><div class='del'>-	size = *(unsigned int *)(load-&gt;buff + IBF_OFFSET(body-&gt;catch_table));</div><div class='del'>-	table = ibf_load_alloc(load, IBF_OFFSET(body-&gt;catch_table), iseq_catch_table_bytes(size));</div><div class='del'>-	for (i=0; i&lt;size; i++) {</div><div class='del'>-	    table-&gt;entries[i].iseq = ibf_load_iseq(load, table-&gt;entries[i].iseq);</div><div class='del'>-	}</div><div class='del'>-	return table;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct rb_call_info *</div><div class='del'>-ibf_dump_ci_entries(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    const struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='del'>-    const unsigned int ci_size = body-&gt;ci_size;</div><div class='del'>-    const unsigned int ci_kw_size = body-&gt;ci_kw_size;</div><div class='del'>-    const struct rb_call_info *ci_entries = body-&gt;ci_entries;</div><div class='del'>-    struct rb_call_info *dump_ci_entries;</div><div class='del'>-    struct rb_call_info_with_kwarg *dump_ci_kw_entries;</div><div class='del'>-    int byte_size = ci_size * sizeof(struct rb_call_info) +</div><div class='del'>-                    ci_kw_size * sizeof(struct rb_call_info_with_kwarg);</div><div class='del'>-    unsigned int i;</div><div class='del'>-</div><div class='del'>-    dump_ci_entries = (struct rb_call_info *)ALLOCA_N(char, byte_size);</div><div class='del'>-    dump_ci_kw_entries = (struct rb_call_info_with_kwarg *)&amp;dump_ci_entries[ci_size];</div><div class='del'>-    memcpy(dump_ci_entries, ci_entries, byte_size);</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;ci_size; i++) { /* conver ID for each ci */</div><div class='del'>-	dump_ci_entries[i].mid = ibf_dump_id(dump, dump_ci_entries[i].mid);</div><div class='del'>-    }</div><div class='del'>-    for (i=0; i&lt;ci_kw_size; i++) {</div><div class='del'>-	const struct rb_call_info_kw_arg *kw_arg = dump_ci_kw_entries[i].kw_arg;</div><div class='del'>-	int j;</div><div class='del'>-	VALUE *keywords = ALLOCA_N(VALUE, kw_arg-&gt;keyword_len);</div><div class='del'>-	for (j=0; j&lt;kw_arg-&gt;keyword_len; j++) {</div><div class='del'>-	    keywords[j] = (VALUE)ibf_dump_object(dump, kw_arg-&gt;keywords[j]); /* kw_arg-&gt;keywords[n] is Symbol */</div><div class='del'>-	}</div><div class='del'>-	dump_ci_kw_entries[i].kw_arg = (struct rb_call_info_kw_arg *)(VALUE)ibf_dump_write(dump, &amp;kw_arg-&gt;keyword_len, sizeof(int));</div><div class='del'>-	ibf_dump_write(dump, keywords, sizeof(VALUE) * kw_arg-&gt;keyword_len);</div><div class='del'>-</div><div class='del'>-	dump_ci_kw_entries[i].ci.mid = ibf_dump_id(dump, dump_ci_kw_entries[i].ci.mid);</div><div class='del'>-    }</div><div class='del'>-    return (struct rb_call_info *)(VALUE)ibf_dump_write(dump, dump_ci_entries, byte_size);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct rb_call_info *</div><div class='del'>-ibf_load_ci_entries(const struct ibf_load *load, const struct rb_iseq_constant_body *body)</div><div class='del'>-{</div><div class='del'>-    unsigned int i;</div><div class='del'>-    const unsigned int ci_size = body-&gt;ci_size;</div><div class='del'>-    const unsigned int ci_kw_size = body-&gt;ci_kw_size;</div><div class='del'>-    struct rb_call_info *ci_entries = ibf_load_alloc(load, IBF_OFFSET(body-&gt;ci_entries),</div><div class='del'>-						     sizeof(struct rb_call_info) * body-&gt;ci_size +</div><div class='del'>-						     sizeof(struct rb_call_info_with_kwarg) * body-&gt;ci_kw_size);</div><div class='del'>-    struct rb_call_info_with_kwarg *ci_kw_entries = (struct rb_call_info_with_kwarg *)&amp;ci_entries[ci_size];</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;ci_size; i++) {</div><div class='del'>-	ci_entries[i].mid = ibf_load_id(load, ci_entries[i].mid);</div><div class='del'>-    }</div><div class='del'>-    for (i=0; i&lt;ci_kw_size; i++) {</div><div class='del'>-	int j;</div><div class='del'>-	ibf_offset_t kw_arg_offset = IBF_OFFSET(ci_kw_entries[i].kw_arg);</div><div class='del'>-	const int keyword_len = *(int *)(load-&gt;buff + kw_arg_offset);</div><div class='del'>-	const VALUE *keywords = (VALUE *)(load-&gt;buff + kw_arg_offset + sizeof(int));</div><div class='del'>-	struct rb_call_info_kw_arg *kw_arg = ruby_xmalloc(sizeof(struct rb_call_info_kw_arg) + sizeof(VALUE) * (keyword_len - 1));</div><div class='del'>-	kw_arg-&gt;keyword_len = keyword_len;</div><div class='del'>-	for (j=0; j&lt;kw_arg-&gt;keyword_len; j++) {</div><div class='del'>-	    kw_arg-&gt;keywords[j] = (VALUE)ibf_load_object(load, keywords[j]);</div><div class='del'>-	}</div><div class='del'>-	ci_kw_entries[i].kw_arg = kw_arg;</div><div class='del'>-	ci_kw_entries[i].ci.mid = ibf_load_id(load, ci_kw_entries[i].ci.mid);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ci_entries;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static ibf_offset_t</div><div class='del'>-ibf_dump_iseq_each(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    struct rb_iseq_constant_body dump_body;</div><div class='del'>-#if VM_INSN_INFO_TABLE_IMPL == 2</div><div class='del'>-    unsigned int *positions;</div><div class='del'>-#endif</div><div class='del'>-    dump_body = *iseq-&gt;body;</div><div class='del'>-</div><div class='del'>-    dump_body.location.pathobj = ibf_dump_object(dump, dump_body.location.pathobj); /* TODO: freeze */</div><div class='del'>-    dump_body.location.base_label = ibf_dump_object(dump, dump_body.location.base_label);</div><div class='del'>-    dump_body.location.label = ibf_dump_object(dump, dump_body.location.label);</div><div class='del'>-</div><div class='del'>-    dump_body.iseq_encoded =         ibf_dump_code(dump, iseq);</div><div class='del'>-    dump_body.param.opt_table =      ibf_dump_param_opt_table(dump, iseq);</div><div class='del'>-    dump_body.param.keyword =        ibf_dump_param_keyword(dump, iseq);</div><div class='del'>-    dump_body.insns_info.body =      ibf_dump_insns_info_body(dump, iseq);</div><div class='del'>-#if VM_INSN_INFO_TABLE_IMPL == 2</div><div class='del'>-    positions = rb_iseq_insns_info_decode_positions(&amp;dump_body);</div><div class='del'>-    dump_body.insns_info.positions = positions;</div><div class='del'>-    dump_body.insns_info.succ_index_table = 0;</div><div class='del'>-#endif</div><div class='del'>-    dump_body.insns_info.positions = ibf_dump_insns_info_positions(dump, &amp;dump_body);</div><div class='del'>-#if VM_INSN_INFO_TABLE_IMPL == 2</div><div class='del'>-    ruby_xfree(positions);</div><div class='del'>-#endif</div><div class='del'>-    dump_body.local_table =          ibf_dump_local_table(dump, iseq);</div><div class='del'>-    dump_body.catch_table =          ibf_dump_catch_table(dump, iseq);</div><div class='del'>-    dump_body.parent_iseq =          ibf_dump_iseq(dump, iseq-&gt;body-&gt;parent_iseq);</div><div class='del'>-    dump_body.local_iseq =           ibf_dump_iseq(dump, iseq-&gt;body-&gt;local_iseq);</div><div class='del'>-    dump_body.is_entries =           NULL;</div><div class='del'>-    dump_body.ci_entries =           ibf_dump_ci_entries(dump, iseq);</div><div class='del'>-    dump_body.cc_entries =           NULL;</div><div class='del'>-    dump_body.variable.coverage      = Qnil;</div><div class='del'>-    dump_body.variable.original_iseq = NULL;</div><div class='del'>-</div><div class='del'>-    IBF_W_ALIGN(struct rb_iseq_constant_body);</div><div class='del'>-    return IBF_WV(dump_body);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_location_str(const struct ibf_load *load, VALUE str_index)</div><div class='del'>-{</div><div class='del'>-    VALUE str = ibf_load_object(load, str_index);</div><div class='del'>-    if (str != Qnil) {</div><div class='del'>-	str = rb_fstring(str);</div><div class='del'>-    }</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_load_iseq_each(const struct ibf_load *load, rb_iseq_t *iseq, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    struct rb_iseq_constant_body *load_body = iseq-&gt;body = ZALLOC(struct rb_iseq_constant_body);</div><div class='del'>-    const struct rb_iseq_constant_body *body = (struct rb_iseq_constant_body *)(load-&gt;buff + offset);</div><div class='del'>-</div><div class='del'>-    /* memcpy(load_body, load-&gt;buff + offset, sizeof(*load_body)); */</div><div class='del'>-    load_body-&gt;type = body-&gt;type;</div><div class='del'>-    load_body-&gt;stack_max = body-&gt;stack_max;</div><div class='del'>-    load_body-&gt;param = body-&gt;param;</div><div class='del'>-    load_body-&gt;param.flags.has_kw = FALSE;</div><div class='del'>-    load_body-&gt;local_table_size = body-&gt;local_table_size;</div><div class='del'>-    load_body-&gt;is_size = body-&gt;is_size;</div><div class='del'>-    load_body-&gt;ci_size = body-&gt;ci_size;</div><div class='del'>-    load_body-&gt;ci_kw_size = body-&gt;ci_kw_size;</div><div class='del'>-    load_body-&gt;insns_info.size = body-&gt;insns_info.size;</div><div class='del'>-</div><div class='del'>-    ISEQ_COVERAGE_SET(iseq, Qnil);</div><div class='del'>-    ISEQ_ORIGINAL_ISEQ_CLEAR(iseq);</div><div class='del'>-    iseq-&gt;body-&gt;variable.flip_count = body-&gt;variable.flip_count;</div><div class='del'>-</div><div class='del'>-    {</div><div class='del'>-	VALUE realpath = Qnil, path = ibf_load_object(load, body-&gt;location.pathobj);</div><div class='del'>-	if (RB_TYPE_P(path, T_STRING)) {</div><div class='del'>-	    realpath = path = rb_fstring(path);</div><div class='del'>-	}</div><div class='del'>-	else if (RB_TYPE_P(path, T_ARRAY)) {</div><div class='del'>-	    VALUE pathobj = path;</div><div class='del'>-	    if (RARRAY_LEN(pathobj) != 2) {</div><div class='del'>-		rb_raise(rb_eRuntimeError, "path object size mismatch");</div><div class='del'>-	    }</div><div class='del'>-	    path = rb_fstring(RARRAY_AREF(pathobj, 0));</div><div class='del'>-	    realpath = RARRAY_AREF(pathobj, 1);</div><div class='del'>-	    if (!NIL_P(realpath)) {</div><div class='del'>-		if (!RB_TYPE_P(realpath, T_STRING)) {</div><div class='del'>-		    rb_raise(rb_eArgError, "unexpected realpath %"PRIxVALUE</div><div class='del'>-			     "(%x), path=%+"PRIsVALUE,</div><div class='del'>-			     realpath, TYPE(realpath), path);</div><div class='del'>-		}</div><div class='del'>-		realpath = rb_fstring(realpath);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    rb_raise(rb_eRuntimeError, "unexpected path object");</div><div class='del'>-	}</div><div class='del'>-	rb_iseq_pathobj_set(iseq, path, realpath);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    RB_OBJ_WRITE(iseq, &amp;load_body-&gt;location.base_label,    ibf_load_location_str(load, body-&gt;location.base_label));</div><div class='del'>-    RB_OBJ_WRITE(iseq, &amp;load_body-&gt;location.label,         ibf_load_location_str(load, body-&gt;location.label));</div><div class='del'>-    load_body-&gt;location.first_lineno = body-&gt;location.first_lineno;</div><div class='del'>-    load_body-&gt;location.node_id = body-&gt;location.node_id;</div><div class='del'>-    load_body-&gt;location.code_location = body-&gt;location.code_location;</div><div class='del'>-    load_body-&gt;catch_except_p = body-&gt;catch_except_p;</div><div class='del'>-</div><div class='del'>-    load_body-&gt;is_entries           = ZALLOC_N(union iseq_inline_storage_entry, body-&gt;is_size);</div><div class='del'>-    load_body-&gt;ci_entries           = ibf_load_ci_entries(load, body);</div><div class='del'>-    load_body-&gt;cc_entries           = ZALLOC_N(struct rb_call_cache, body-&gt;ci_size + body-&gt;ci_kw_size);</div><div class='del'>-    load_body-&gt;param.opt_table      = ibf_load_param_opt_table(load, body);</div><div class='del'>-    load_body-&gt;param.keyword        = ibf_load_param_keyword(load, body);</div><div class='del'>-    load_body-&gt;param.flags.has_kw   = body-&gt;param.flags.has_kw;</div><div class='del'>-    load_body-&gt;insns_info.body      = ibf_load_insns_info_body(load, body);</div><div class='del'>-    load_body-&gt;insns_info.positions = ibf_load_insns_info_positions(load, body);</div><div class='del'>-    load_body-&gt;local_table          = ibf_load_local_table(load, body);</div><div class='del'>-    load_body-&gt;catch_table          = ibf_load_catch_table(load, body);</div><div class='del'>-    load_body-&gt;parent_iseq          = ibf_load_iseq(load, body-&gt;parent_iseq);</div><div class='del'>-    load_body-&gt;local_iseq           = ibf_load_iseq(load, body-&gt;local_iseq);</div><div class='del'>-</div><div class='del'>-    ibf_load_code(load, iseq, body);</div><div class='del'>-#if VM_INSN_INFO_TABLE_IMPL == 2</div><div class='del'>-    rb_iseq_insns_info_encode_positions(iseq);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    rb_iseq_translate_threaded_code(iseq);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_iseq_list(struct ibf_dump *dump, struct ibf_header *header)</div><div class='del'>-{</div><div class='del'>-    const long size = RARRAY_LEN(dump-&gt;iseq_list);</div><div class='del'>-    ibf_offset_t *list = ALLOCA_N(ibf_offset_t, size);</div><div class='del'>-    long i;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;size; i++) {</div><div class='del'>-	list[i] = (ibf_offset_t)NUM2LONG(rb_ary_entry(dump-&gt;iseq_list, i));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ibf_dump_align(dump, sizeof(ibf_offset_t));</div><div class='del'>-    header-&gt;iseq_list_offset = ibf_dump_write(dump, list, sizeof(ibf_offset_t) * size);</div><div class='del'>-    header-&gt;iseq_list_size = (unsigned int)size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct ibf_dump_id_list_i_arg {</div><div class='del'>-    struct ibf_dump *dump;</div><div class='del'>-    long *list;</div><div class='del'>-    int current_i;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-ibf_dump_id_list_i(st_data_t key, st_data_t val, st_data_t ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_dump_id_list_i_arg *arg = (struct ibf_dump_id_list_i_arg *)ptr;</div><div class='del'>-    int i = (int)val;</div><div class='del'>-    ID id = (ID)key;</div><div class='del'>-    assert(arg-&gt;current_i == i);</div><div class='del'>-    arg-&gt;current_i++;</div><div class='del'>-</div><div class='del'>-    if (rb_id2name(id)) {</div><div class='del'>-	arg-&gt;list[i] = (long)ibf_dump_object(arg-&gt;dump, rb_id2str(id));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	arg-&gt;list[i] = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ST_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_id_list(struct ibf_dump *dump, struct ibf_header *header)</div><div class='del'>-{</div><div class='del'>-    const long size = dump-&gt;id_table-&gt;num_entries;</div><div class='del'>-    struct ibf_dump_id_list_i_arg arg;</div><div class='del'>-    arg.list = ALLOCA_N(long, size);</div><div class='del'>-    arg.dump = dump;</div><div class='del'>-    arg.current_i = 0;</div><div class='del'>-</div><div class='del'>-    st_foreach(dump-&gt;id_table, ibf_dump_id_list_i, (st_data_t)&amp;arg);</div><div class='del'>-</div><div class='del'>-    ibf_dump_align(dump, sizeof(long));</div><div class='del'>-    header-&gt;id_list_offset = ibf_dump_write(dump, arg.list, sizeof(long) * size);</div><div class='del'>-    header-&gt;id_list_size = (unsigned int)size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define IBF_OBJECT_INTERNAL FL_PROMOTED0</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Binary format</div><div class='del'>- * - ibf_object_header</div><div class='del'>- * - ibf_object_xxx (xxx is type)</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-struct ibf_object_header {</div><div class='del'>-    unsigned int type: 5;</div><div class='del'>-    unsigned int special_const: 1;</div><div class='del'>-    unsigned int frozen: 1;</div><div class='del'>-    unsigned int internal: 1;</div><div class='del'>-};</div><div class='del'>-static const size_t ibf_object_header_align =</div><div class='del'>-    RUBY_ALIGNOF(struct ibf_object_header);</div><div class='del'>-</div><div class='del'>-enum ibf_object_class_index {</div><div class='del'>-    IBF_OBJECT_CLASS_OBJECT,</div><div class='del'>-    IBF_OBJECT_CLASS_ARRAY,</div><div class='del'>-    IBF_OBJECT_CLASS_STANDARD_ERROR</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_string {</div><div class='del'>-    long encindex;</div><div class='del'>-    long len;</div><div class='del'>-    char ptr[FLEX_ARY_LEN];</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_regexp {</div><div class='del'>-    long srcstr;</div><div class='del'>-    char option;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_array {</div><div class='del'>-    long len;</div><div class='del'>-    long ary[FLEX_ARY_LEN];</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_hash {</div><div class='del'>-    long len;</div><div class='del'>-    long keyval[FLEX_ARY_LEN];</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_struct_range {</div><div class='del'>-    long class_index;</div><div class='del'>-    long len;</div><div class='del'>-    long beg;</div><div class='del'>-    long end;</div><div class='del'>-    int excl;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_bignum {</div><div class='del'>-    ssize_t slen;</div><div class='del'>-    BDIGIT digits[FLEX_ARY_LEN];</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-enum ibf_object_data_type {</div><div class='del'>-    IBF_OBJECT_DATA_ENCODING</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_complex_rational {</div><div class='del'>-    long a, b;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct ibf_object_symbol {</div><div class='del'>-    long str;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-#define IBF_ALIGNED_OFFSET(align, offset) /* offset &gt; 0 */ \</div><div class='del'>-    ((((offset) - 1) / (align) + 1) * (align))</div><div class='del'>-#define IBF_OBJHEADER(offset)     (const struct ibf_object_header *)\</div><div class='del'>-    ibf_load_check_offset(load, IBF_ALIGNED_OFFSET(ibf_object_header_align, offset))</div><div class='del'>-#define IBF_OBJBODY(type, offset) (const type *)\</div><div class='del'>-    ibf_load_check_offset(load, IBF_ALIGNED_OFFSET(RUBY_ALIGNOF(type), offset))</div><div class='del'>-</div><div class='del'>-static const void *</div><div class='del'>-ibf_load_check_offset(const struct ibf_load *load, size_t offset)</div><div class='del'>-{</div><div class='del'>-    if (offset &gt;= (size_t)RSTRING_LEN(load-&gt;str)) {</div><div class='del'>-	rb_raise(rb_eIndexError, "object offset out of range: %"PRIdSIZE, offset);</div><div class='del'>-    }</div><div class='del'>-    return load-&gt;buff + offset;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NORETURN(static void ibf_dump_object_unsupported(struct ibf_dump *dump, VALUE obj));</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_unsupported(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    char buff[0x100];</div><div class='del'>-    rb_raw_obj_info(buff, sizeof(buff), obj);</div><div class='del'>-    rb_raise(rb_eNotImpError, "ibf_dump_object_unsupported: %s", buff);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_unsupported(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    rb_raise(rb_eArgError, "unsupported");</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_class(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    enum ibf_object_class_index cindex;</div><div class='del'>-    if (obj == rb_cObject) {</div><div class='del'>-	cindex = IBF_OBJECT_CLASS_OBJECT;</div><div class='del'>-    }</div><div class='del'>-    else if (obj == rb_cArray) {</div><div class='del'>-	cindex = IBF_OBJECT_CLASS_ARRAY;</div><div class='del'>-    }</div><div class='del'>-    else if (obj == rb_eStandardError) {</div><div class='del'>-	cindex = IBF_OBJECT_CLASS_STANDARD_ERROR;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	rb_obj_info_dump(obj);</div><div class='del'>-	rb_p(obj);</div><div class='del'>-	rb_bug("unsupported class");</div><div class='del'>-    }</div><div class='del'>-    ibf_dump_write(dump, &amp;cindex, sizeof(cindex));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_class(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const enum ibf_object_class_index *cindexp = IBF_OBJBODY(enum ibf_object_class_index, offset);</div><div class='del'>-    enum ibf_object_class_index cindex = *cindexp;</div><div class='del'>-</div><div class='del'>-    switch (cindex) {</div><div class='del'>-      case IBF_OBJECT_CLASS_OBJECT:</div><div class='del'>-	return rb_cObject;</div><div class='del'>-      case IBF_OBJECT_CLASS_ARRAY:</div><div class='del'>-	return rb_cArray;</div><div class='del'>-      case IBF_OBJECT_CLASS_STANDARD_ERROR:</div><div class='del'>-	return rb_eStandardError;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_raise(rb_eArgError, "ibf_load_object_class: unknown class (%d)", (int)cindex);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_float(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    double dbl = RFLOAT_VALUE(obj);</div><div class='del'>-    (void)IBF_W(&amp;dbl, double, 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_float(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const double *dblp = IBF_OBJBODY(double, offset);</div><div class='del'>-    return DBL2NUM(*dblp);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_string(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    long encindex = (long)rb_enc_get_index(obj);</div><div class='del'>-    long len = RSTRING_LEN(obj);</div><div class='del'>-    const char *ptr = RSTRING_PTR(obj);</div><div class='del'>-    long buff[2];</div><div class='del'>-</div><div class='del'>-    if (encindex &gt; RUBY_ENCINDEX_BUILTIN_MAX) {</div><div class='del'>-	rb_encoding *enc = rb_enc_from_index((int)encindex);</div><div class='del'>-	const char *enc_name = rb_enc_name(enc);</div><div class='del'>-	encindex = RUBY_ENCINDEX_BUILTIN_MAX + ibf_dump_object(dump, rb_str_new2(enc_name));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    buff[0] = encindex;</div><div class='del'>-    buff[1] = len;</div><div class='del'>-    (void)IBF_W(buff, long, 2);</div><div class='del'>-    IBF_WP(ptr, char, len);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_string(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_string *string = IBF_OBJBODY(struct ibf_object_string, offset);</div><div class='del'>-    VALUE str = rb_str_new(string-&gt;ptr, string-&gt;len);</div><div class='del'>-    int encindex = (int)string-&gt;encindex;</div><div class='del'>-</div><div class='del'>-    if (encindex &gt; RUBY_ENCINDEX_BUILTIN_MAX) {</div><div class='del'>-	VALUE enc_name_str = ibf_load_object(load, encindex - RUBY_ENCINDEX_BUILTIN_MAX);</div><div class='del'>-	encindex = rb_enc_find_index(RSTRING_PTR(enc_name_str));</div><div class='del'>-    }</div><div class='del'>-    rb_enc_associate_index(str, encindex);</div><div class='del'>-</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(str);</div><div class='del'>-    if (header-&gt;frozen)   str = rb_fstring(str);</div><div class='del'>-</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_regexp(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    struct ibf_object_regexp regexp;</div><div class='del'>-    VALUE srcstr = RREGEXP_SRC(obj);</div><div class='del'>-    IBF_ZERO(regexp);</div><div class='del'>-    regexp.option = (char)rb_reg_options(obj);</div><div class='del'>-    regexp.srcstr = (long)ibf_dump_object(dump, srcstr);</div><div class='del'>-    (void)IBF_W(&amp;regexp, struct ibf_object_regexp, 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_regexp(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_regexp *regexp = IBF_OBJBODY(struct ibf_object_regexp, offset);</div><div class='del'>-    VALUE srcstr = ibf_load_object(load, regexp-&gt;srcstr);</div><div class='del'>-    VALUE reg = rb_reg_compile(srcstr, (int)regexp-&gt;option, NULL, 0);</div><div class='del'>-</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(reg);</div><div class='del'>-    if (header-&gt;frozen)   rb_obj_freeze(reg);</div><div class='del'>-</div><div class='del'>-    return reg;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_array(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    long i, len = (int)RARRAY_LEN(obj);</div><div class='del'>-    (void)IBF_W(&amp;len, long, 1);</div><div class='del'>-    for (i=0; i&lt;len; i++) {</div><div class='del'>-	long index = (long)ibf_dump_object(dump, RARRAY_AREF(obj, i));</div><div class='del'>-	IBF_WV(index);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_array(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_array *array = IBF_OBJBODY(struct ibf_object_array, offset);</div><div class='del'>-    VALUE ary = rb_ary_new_capa(array-&gt;len);</div><div class='del'>-    int i;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;array-&gt;len; i++) {</div><div class='del'>-	rb_ary_push(ary, ibf_load_object(load, array-&gt;ary[i]));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(ary);</div><div class='del'>-    if (header-&gt;frozen)   rb_obj_freeze(ary);</div><div class='del'>-</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-ibf_dump_object_hash_i(st_data_t key, st_data_t val, st_data_t ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='del'>-    long keyval[2];</div><div class='del'>-    keyval[0] = (long)ibf_dump_object(dump, (VALUE)key);</div><div class='del'>-    keyval[1] = (long)ibf_dump_object(dump, (VALUE)val);</div><div class='del'>-    (void)IBF_W(keyval, long, 2);</div><div class='del'>-    return ST_CONTINUE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_hash(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    long len = RHASH_SIZE(obj);</div><div class='del'>-    (void)IBF_W(&amp;len, long, 1);</div><div class='del'>-    if (len &gt; 0) rb_hash_foreach(obj, ibf_dump_object_hash_i, (VALUE)dump);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_hash(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_hash *hash = IBF_OBJBODY(struct ibf_object_hash, offset);</div><div class='del'>-    VALUE obj = rb_hash_new_with_size(hash-&gt;len);</div><div class='del'>-    int i;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;hash-&gt;len; i++) {</div><div class='del'>-	VALUE key = ibf_load_object(load, hash-&gt;keyval[i*2  ]);</div><div class='del'>-	VALUE val = ibf_load_object(load, hash-&gt;keyval[i*2+1]);</div><div class='del'>-	rb_hash_aset(obj, key, val);</div><div class='del'>-    }</div><div class='del'>-    rb_hash_rehash(obj);</div><div class='del'>-</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='del'>-    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='del'>-</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_struct(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    if (rb_obj_is_kind_of(obj, rb_cRange)) {</div><div class='del'>-	struct ibf_object_struct_range range;</div><div class='del'>-	VALUE beg, end;</div><div class='del'>-	IBF_ZERO(range);</div><div class='del'>-	range.len = 3;</div><div class='del'>-	range.class_index = 0;</div><div class='del'>-</div><div class='del'>-	rb_range_values(obj, &amp;beg, &amp;end, &amp;range.excl);</div><div class='del'>-	range.beg = (long)ibf_dump_object(dump, beg);</div><div class='del'>-	range.end = (long)ibf_dump_object(dump, end);</div><div class='del'>-</div><div class='del'>-	IBF_W_ALIGN(struct ibf_object_struct_range);</div><div class='del'>-	IBF_WV(range);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        rb_raise(rb_eNotImpError, "ibf_dump_object_struct: unsupported class %"PRIsVALUE,</div><div class='del'>-                 rb_class_name(CLASS_OF(obj)));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_struct(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_struct_range *range = IBF_OBJBODY(struct ibf_object_struct_range, offset);</div><div class='del'>-    VALUE beg = ibf_load_object(load, range-&gt;beg);</div><div class='del'>-    VALUE end = ibf_load_object(load, range-&gt;end);</div><div class='del'>-    VALUE obj = rb_range_new(beg, end, range-&gt;excl);</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='del'>-    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_bignum(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    ssize_t len = BIGNUM_LEN(obj);</div><div class='del'>-    ssize_t slen = BIGNUM_SIGN(obj) &gt; 0 ? len : len * -1;</div><div class='del'>-    BDIGIT *d = BIGNUM_DIGITS(obj);</div><div class='del'>-</div><div class='del'>-    (void)IBF_W(&amp;slen, ssize_t, 1);</div><div class='del'>-    IBF_WP(d, BDIGIT, len);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_bignum(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_bignum *bignum = IBF_OBJBODY(struct ibf_object_bignum, offset);</div><div class='del'>-    int sign = bignum-&gt;slen &gt; 0;</div><div class='del'>-    ssize_t len = sign &gt; 0 ? bignum-&gt;slen : -1 * bignum-&gt;slen;</div><div class='del'>-    VALUE obj = rb_integer_unpack(bignum-&gt;digits, len * 2, 2, 0,</div><div class='del'>-				  INTEGER_PACK_LITTLE_ENDIAN | (sign == 0 ? INTEGER_PACK_NEGATIVE : 0));</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='del'>-    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_data(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    if (rb_data_is_encoding(obj)) {</div><div class='del'>-	rb_encoding *enc = rb_to_encoding(obj);</div><div class='del'>-	const char *name = rb_enc_name(enc);</div><div class='del'>-	long len = strlen(name) + 1;</div><div class='del'>-	long data[2];</div><div class='del'>-	data[0] = IBF_OBJECT_DATA_ENCODING;</div><div class='del'>-	data[1] = len;</div><div class='del'>-	(void)IBF_W(data, long, 2);</div><div class='del'>-	IBF_WP(name, char, len);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ibf_dump_object_unsupported(dump, obj);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_data(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const long *body = IBF_OBJBODY(long, offset);</div><div class='del'>-    const enum ibf_object_data_type type = (enum ibf_object_data_type)body[0];</div><div class='del'>-    /* const long len = body[1]; */</div><div class='del'>-    const char *data = (const char *)&amp;body[2];</div><div class='del'>-</div><div class='del'>-    switch (type) {</div><div class='del'>-      case IBF_OBJECT_DATA_ENCODING:</div><div class='del'>-	{</div><div class='del'>-	    VALUE encobj = rb_enc_from_encoding(rb_enc_find(data));</div><div class='del'>-	    return encobj;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ibf_load_object_unsupported(load, header, offset);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_complex_rational(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    long data[2];</div><div class='del'>-    data[0] = (long)ibf_dump_object(dump, RCOMPLEX(obj)-&gt;real);</div><div class='del'>-    data[1] = (long)ibf_dump_object(dump, RCOMPLEX(obj)-&gt;imag);</div><div class='del'>-</div><div class='del'>-    (void)IBF_W(data, long, 2);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_complex_rational(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    const struct ibf_object_complex_rational *nums = IBF_OBJBODY(struct ibf_object_complex_rational, offset);</div><div class='del'>-    VALUE a = ibf_load_object(load, nums-&gt;a);</div><div class='del'>-    VALUE b = ibf_load_object(load, nums-&gt;b);</div><div class='del'>-    VALUE obj = header-&gt;type == T_COMPLEX ?</div><div class='del'>-      rb_complex_new(a, b) : rb_rational_new(a, b);</div><div class='del'>-</div><div class='del'>-    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='del'>-    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_symbol(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    VALUE str = rb_sym2str(obj);</div><div class='del'>-    long str_index = (long)ibf_dump_object(dump, str);</div><div class='del'>-    (void)IBF_W(&amp;str_index, long, 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object_symbol(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='del'>-{</div><div class='del'>-    /* const struct ibf_object_header *header = IBF_OBJHEADER(offset); */</div><div class='del'>-    const struct ibf_object_symbol *symbol = IBF_OBJBODY(struct ibf_object_symbol, offset);</div><div class='del'>-    VALUE str = ibf_load_object(load, symbol-&gt;str);</div><div class='del'>-    ID id = rb_intern_str(str);</div><div class='del'>-    return ID2SYM(id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-typedef void (*ibf_dump_object_function)(struct ibf_dump *dump, VALUE obj);</div><div class='del'>-static ibf_dump_object_function dump_object_functions[RUBY_T_MASK+1] = {</div><div class='del'>-    ibf_dump_object_unsupported, /* T_NONE */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_OBJECT */</div><div class='del'>-    ibf_dump_object_class,       /* T_CLASS */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_MODULE */</div><div class='del'>-    ibf_dump_object_float,       /* T_FLOAT */</div><div class='del'>-    ibf_dump_object_string,      /* T_STRING */</div><div class='del'>-    ibf_dump_object_regexp,      /* T_REGEXP */</div><div class='del'>-    ibf_dump_object_array,       /* T_ARRAY */</div><div class='del'>-    ibf_dump_object_hash,        /* T_HASH */</div><div class='del'>-    ibf_dump_object_struct,      /* T_STRUCT */</div><div class='del'>-    ibf_dump_object_bignum,      /* T_BIGNUM */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_FILE */</div><div class='del'>-    ibf_dump_object_data,        /* T_DATA */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_MATCH */</div><div class='del'>-    ibf_dump_object_complex_rational, /* T_COMPLEX */</div><div class='del'>-    ibf_dump_object_complex_rational, /* T_RATIONAL */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x10 */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x11 T_NIL */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x12 T_TRUE */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x13 T_FALSE */</div><div class='del'>-    ibf_dump_object_symbol,      /* 0x14 T_SYMBOL */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_FIXNUM */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_UNDEF */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x17 */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x18 */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x19 */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_IMEMO 0x1a */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_NODE 0x1b */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_ICLASS 0x1c */</div><div class='del'>-    ibf_dump_object_unsupported, /* T_ZOMBIE 0x1d */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x1e */</div><div class='del'>-    ibf_dump_object_unsupported, /* 0x1f */</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static ibf_offset_t</div><div class='del'>-ibf_dump_object_object(struct ibf_dump *dump, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    struct ibf_object_header obj_header;</div><div class='del'>-    ibf_offset_t current_offset;</div><div class='del'>-    IBF_ZERO(obj_header);</div><div class='del'>-    obj_header.type = TYPE(obj);</div><div class='del'>-</div><div class='del'>-    IBF_W_ALIGN(ibf_offset_t);</div><div class='del'>-    current_offset = ibf_dump_pos(dump);</div><div class='del'>-</div><div class='del'>-    if (SPECIAL_CONST_P(obj)) {</div><div class='del'>-	if (RB_TYPE_P(obj, T_SYMBOL) ||</div><div class='del'>-	    RB_TYPE_P(obj, T_FLOAT)) {</div><div class='del'>-	    obj_header.internal = FALSE;</div><div class='del'>-	    goto dump_object;</div><div class='del'>-	}</div><div class='del'>-	obj_header.special_const = TRUE;</div><div class='del'>-	obj_header.frozen = TRUE;</div><div class='del'>-	obj_header.internal = TRUE;</div><div class='del'>-	IBF_WV(obj_header);</div><div class='del'>-	(void)IBF_W(&amp;obj, VALUE, 1);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	obj_header.internal = (RBASIC_CLASS(obj) == 0) ? TRUE : FALSE;</div><div class='del'>-      dump_object:</div><div class='del'>-	obj_header.special_const = FALSE;</div><div class='del'>-	obj_header.frozen = FL_TEST(obj, FL_FREEZE) ? TRUE : FALSE;</div><div class='del'>-	IBF_WV(obj_header);</div><div class='del'>-	(*dump_object_functions[obj_header.type])(dump, obj);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return current_offset;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-typedef VALUE (*ibf_load_object_function)(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t);</div><div class='del'>-static ibf_load_object_function load_object_functions[RUBY_T_MASK+1] = {</div><div class='del'>-    ibf_load_object_unsupported, /* T_NONE */</div><div class='del'>-    ibf_load_object_unsupported, /* T_OBJECT */</div><div class='del'>-    ibf_load_object_class,       /* T_CLASS */</div><div class='del'>-    ibf_load_object_unsupported, /* T_MODULE */</div><div class='del'>-    ibf_load_object_float,       /* T_FLOAT */</div><div class='del'>-    ibf_load_object_string,      /* T_STRING */</div><div class='del'>-    ibf_load_object_regexp,      /* T_REGEXP */</div><div class='del'>-    ibf_load_object_array,       /* T_ARRAY */</div><div class='del'>-    ibf_load_object_hash,        /* T_HASH */</div><div class='del'>-    ibf_load_object_struct,      /* T_STRUCT */</div><div class='del'>-    ibf_load_object_bignum,      /* T_BIGNUM */</div><div class='del'>-    ibf_load_object_unsupported, /* T_FILE */</div><div class='del'>-    ibf_load_object_data,        /* T_DATA */</div><div class='del'>-    ibf_load_object_unsupported, /* T_MATCH */</div><div class='del'>-    ibf_load_object_complex_rational, /* T_COMPLEX */</div><div class='del'>-    ibf_load_object_complex_rational, /* T_RATIONAL */</div><div class='del'>-    ibf_load_object_unsupported, /* 0x10 */</div><div class='del'>-    ibf_load_object_unsupported, /* T_NIL */</div><div class='del'>-    ibf_load_object_unsupported, /* T_TRUE */</div><div class='del'>-    ibf_load_object_unsupported, /* T_FALSE */</div><div class='del'>-    ibf_load_object_symbol,</div><div class='del'>-    ibf_load_object_unsupported, /* T_FIXNUM */</div><div class='del'>-    ibf_load_object_unsupported, /* T_UNDEF */</div><div class='del'>-    ibf_load_object_unsupported, /* 0x17 */</div><div class='del'>-    ibf_load_object_unsupported, /* 0x18 */</div><div class='del'>-    ibf_load_object_unsupported, /* 0x19 */</div><div class='del'>-    ibf_load_object_unsupported, /* T_IMEMO 0x1a */</div><div class='del'>-    ibf_load_object_unsupported, /* T_NODE 0x1b */</div><div class='del'>-    ibf_load_object_unsupported, /* T_ICLASS 0x1c */</div><div class='del'>-    ibf_load_object_unsupported, /* T_ZOMBIE 0x1d */</div><div class='del'>-    ibf_load_object_unsupported, /* 0x1e */</div><div class='del'>-    ibf_load_object_unsupported, /* 0x1f */</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-ibf_load_object(const struct ibf_load *load, VALUE object_index)</div><div class='del'>-{</div><div class='del'>-    if (object_index == 0) {</div><div class='del'>-	return Qnil;</div><div class='del'>-    }</div><div class='del'>-    else if (object_index &gt;= load-&gt;header-&gt;object_list_size) {</div><div class='del'>-	rb_raise(rb_eIndexError, "object index out of range: %"PRIdVALUE, object_index);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	VALUE obj = rb_ary_entry(load-&gt;obj_list, (long)object_index);</div><div class='del'>-	if (obj == Qnil) { /* TODO: avoid multiple Qnil load */</div><div class='del'>-	    ibf_offset_t *offsets = (ibf_offset_t *)(load-&gt;header-&gt;object_list_offset + load-&gt;buff);</div><div class='del'>-	    ibf_offset_t offset = offsets[object_index];</div><div class='del'>-	    const struct ibf_object_header *header = IBF_OBJHEADER(offset);</div><div class='del'>-	    size_t value_offset;</div><div class='del'>-</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	    fprintf(stderr, "ibf_load_object: list=%#x offsets=%p offset=%#x\n",</div><div class='del'>-	            load-&gt;header-&gt;object_list_offset, offsets, offset);</div><div class='del'>-	    fprintf(stderr, "ibf_load_object: type=%#x special=%d frozen=%d internal=%d\n",</div><div class='del'>-	            header-&gt;type, header-&gt;special_const, header-&gt;frozen, header-&gt;internal);</div><div class='del'>-#endif</div><div class='del'>-	    value_offset = (const char *)(header + 1) - load-&gt;buff;</div><div class='del'>-	    if (value_offset &gt;= (size_t)RSTRING_LEN(load-&gt;str)) {</div><div class='del'>-		rb_raise(rb_eIndexError, "object offset out of range: %"PRIdSIZE, value_offset);</div><div class='del'>-	    }</div><div class='del'>-	    offset = (ibf_offset_t)value_offset;</div><div class='del'>-</div><div class='del'>-	    if (header-&gt;special_const) {</div><div class='del'>-		const VALUE *vp = IBF_OBJBODY(VALUE, offset);</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-		fprintf(stderr, "ibf_load_object: vp=%p\n", vp);</div><div class='del'>-#endif</div><div class='del'>-		obj = *vp;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		obj = (*load_object_functions[header-&gt;type])(load, header, offset);</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    rb_ary_store(load-&gt;obj_list, (long)object_index, obj);</div><div class='del'>-	}</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	fprintf(stderr, "ibf_load_object: index=%#"PRIxVALUE" obj=%#"PRIxVALUE"\n",</div><div class='del'>-	        object_index, obj);</div><div class='del'>-#endif</div><div class='del'>-	return obj;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_object_list(struct ibf_dump *dump, struct ibf_header *header)</div><div class='del'>-{</div><div class='del'>-    VALUE list = rb_ary_tmp_new(RARRAY_LEN(dump-&gt;obj_list));</div><div class='del'>-    int i, size;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY_LEN(dump-&gt;obj_list); i++) {</div><div class='del'>-	VALUE obj = RARRAY_AREF(dump-&gt;obj_list, i);</div><div class='del'>-	ibf_offset_t offset = ibf_dump_object_object(dump, obj);</div><div class='del'>-	rb_ary_push(list, UINT2NUM(offset));</div><div class='del'>-    }</div><div class='del'>-    size = i;</div><div class='del'>-    IBF_W_ALIGN(ibf_offset_t);</div><div class='del'>-    header-&gt;object_list_offset = ibf_dump_pos(dump);</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;size; i++) {</div><div class='del'>-	ibf_offset_t offset = NUM2UINT(RARRAY_AREF(list, i));</div><div class='del'>-	IBF_WV(offset);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    header-&gt;object_list_size = size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_mark(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='del'>-    rb_gc_mark(dump-&gt;str);</div><div class='del'>-    rb_gc_mark(dump-&gt;iseq_list);</div><div class='del'>-    rb_gc_mark(dump-&gt;obj_list);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_free(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='del'>-    if (dump-&gt;iseq_table) {</div><div class='del'>-	st_free_table(dump-&gt;iseq_table);</div><div class='del'>-	dump-&gt;iseq_table = 0;</div><div class='del'>-    }</div><div class='del'>-    if (dump-&gt;id_table) {</div><div class='del'>-	st_free_table(dump-&gt;id_table);</div><div class='del'>-	dump-&gt;id_table = 0;</div><div class='del'>-    }</div><div class='del'>-    ruby_xfree(dump);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-ibf_dump_memsize(const void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='del'>-    size_t size = sizeof(*dump);</div><div class='del'>-    if (dump-&gt;iseq_table) size += st_memsize(dump-&gt;iseq_table);</div><div class='del'>-    if (dump-&gt;id_table) size += st_memsize(dump-&gt;id_table);</div><div class='del'>-    return size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const rb_data_type_t ibf_dump_type = {</div><div class='del'>-    "ibf_dump",</div><div class='del'>-    {ibf_dump_mark, ibf_dump_free, ibf_dump_memsize,},</div><div class='del'>-    0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_dump_setup(struct ibf_dump *dump, VALUE dumper_obj)</div><div class='del'>-{</div><div class='del'>-    RB_OBJ_WRITE(dumper_obj, &amp;dump-&gt;str, rb_str_new(0, 0));</div><div class='del'>-    RB_OBJ_WRITE(dumper_obj, &amp;dump-&gt;iseq_list, rb_ary_tmp_new(0));</div><div class='del'>-    RB_OBJ_WRITE(dumper_obj, &amp;dump-&gt;obj_list, rb_ary_tmp_new(1));</div><div class='del'>-    rb_ary_push(dump-&gt;obj_list, Qnil); /* 0th is nil */</div><div class='del'>-    dump-&gt;iseq_table = st_init_numtable(); /* need free */</div><div class='del'>-    dump-&gt;id_table = st_init_numtable();   /* need free */</div><div class='del'>-</div><div class='del'>-    ibf_table_index(dump-&gt;id_table, 0); /* id_index:0 is 0 */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_iseq_ibf_dump(const rb_iseq_t *iseq, VALUE opt)</div><div class='del'>-{</div><div class='del'>-    struct ibf_dump *dump;</div><div class='del'>-    struct ibf_header header = {{0}};</div><div class='del'>-    VALUE dump_obj;</div><div class='del'>-    VALUE str;</div><div class='del'>-</div><div class='del'>-    if (iseq-&gt;body-&gt;parent_iseq != NULL ||</div><div class='del'>-	iseq-&gt;body-&gt;local_iseq != iseq) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "should be top of iseq");</div><div class='del'>-    }</div><div class='del'>-    if (RTEST(ISEQ_COVERAGE(iseq))) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "should not compile with coverage");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    dump_obj = TypedData_Make_Struct(0, struct ibf_dump, &amp;ibf_dump_type, dump);</div><div class='del'>-    ibf_dump_setup(dump, dump_obj);</div><div class='del'>-</div><div class='del'>-    ibf_dump_write(dump, &amp;header, sizeof(header));</div><div class='del'>-    ibf_dump_write(dump, RUBY_PLATFORM, strlen(RUBY_PLATFORM) + 1);</div><div class='del'>-    ibf_dump_iseq(dump, iseq);</div><div class='del'>-</div><div class='del'>-    header.magic[0] = 'Y'; /* YARB */</div><div class='del'>-    header.magic[1] = 'A';</div><div class='del'>-    header.magic[2] = 'R';</div><div class='del'>-    header.magic[3] = 'B';</div><div class='del'>-    header.major_version = ISEQ_MAJOR_VERSION;</div><div class='del'>-    header.minor_version = ISEQ_MINOR_VERSION;</div><div class='del'>-    ibf_dump_iseq_list(dump, &amp;header);</div><div class='del'>-    ibf_dump_id_list(dump, &amp;header);</div><div class='del'>-    ibf_dump_object_list(dump, &amp;header);</div><div class='del'>-    header.size = ibf_dump_pos(dump);</div><div class='del'>-</div><div class='del'>-    if (RTEST(opt)) {</div><div class='del'>-	VALUE opt_str = opt;</div><div class='del'>-	const char *ptr = StringValuePtr(opt_str);</div><div class='del'>-	header.extra_size = RSTRING_LENINT(opt_str);</div><div class='del'>-	ibf_dump_write(dump, ptr, header.extra_size);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	header.extra_size = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    ibf_dump_overwrite(dump, &amp;header, sizeof(header), 0);</div><div class='del'>-</div><div class='del'>-    str = dump-&gt;str;</div><div class='del'>-    ibf_dump_free(dump);</div><div class='del'>-    DATA_PTR(dump_obj) = NULL;</div><div class='del'>-    RB_GC_GUARD(dump_obj);</div><div class='del'>-    return str;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const ibf_offset_t *</div><div class='del'>-ibf_iseq_list(const struct ibf_load *load)</div><div class='del'>-{</div><div class='del'>-    return (ibf_offset_t *)(load-&gt;buff + load-&gt;header-&gt;iseq_list_offset);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ibf_load_iseq_complete(rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    struct ibf_load *load = RTYPEDDATA_DATA(iseq-&gt;aux.loader.obj);</div><div class='del'>-    rb_iseq_t *prev_src_iseq = load-&gt;iseq;</div><div class='del'>-    const ibf_offset_t offset = ibf_iseq_list(load)[iseq-&gt;aux.loader.index];</div><div class='del'>-    load-&gt;iseq = iseq;</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-    fprintf(stderr, "rb_ibf_load_iseq_complete: index=%#x offset=%#x size=%#x\n",</div><div class='del'>-	    iseq-&gt;aux.loader.index, offset,</div><div class='del'>-	    load-&gt;header-&gt;size);</div><div class='del'>-#endif</div><div class='del'>-    if (offset % sizeof(VALUE)) {</div><div class='del'>-        rb_raise(rb_eArgError, "unaligned iseq offset: %#x @ %u",</div><div class='del'>-                 offset, iseq-&gt;aux.loader.index);</div><div class='del'>-    }</div><div class='del'>-    ibf_load_iseq_each(load, iseq, offset);</div><div class='del'>-    ISEQ_COMPILE_DATA_CLEAR(iseq);</div><div class='del'>-    FL_UNSET(iseq, ISEQ_NOT_LOADED_YET);</div><div class='del'>-    rb_iseq_init_trace(iseq);</div><div class='del'>-    load-&gt;iseq = prev_src_iseq;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if USE_LAZY_LOAD</div><div class='del'>-const rb_iseq_t *</div><div class='del'>-rb_iseq_complete(const rb_iseq_t *iseq)</div><div class='del'>-{</div><div class='del'>-    rb_ibf_load_iseq_complete((rb_iseq_t *)iseq);</div><div class='del'>-    return iseq;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static rb_iseq_t *</div><div class='del'>-ibf_load_iseq(const struct ibf_load *load, const rb_iseq_t *index_iseq)</div><div class='del'>-{</div><div class='del'>-    int iseq_index = (int)(VALUE)index_iseq;</div><div class='del'>-</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-    fprintf(stderr, "ibf_load_iseq: index_iseq=%p iseq_list=%p\n",</div><div class='del'>-	    index_iseq, (void *)load-&gt;iseq_list);</div><div class='del'>-#endif</div><div class='del'>-    if (iseq_index == -1) {</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	VALUE iseqv = rb_ary_entry(load-&gt;iseq_list, iseq_index);</div><div class='del'>-</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	fprintf(stderr, "ibf_load_iseq: iseqv=%p\n", (void *)iseqv);</div><div class='del'>-#endif</div><div class='del'>-	if (iseqv != Qnil) {</div><div class='del'>-	    return (rb_iseq_t *)iseqv;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    rb_iseq_t *iseq = iseq_imemo_alloc();</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	    fprintf(stderr, "ibf_load_iseq: new iseq=%p\n", iseq);</div><div class='del'>-#endif</div><div class='del'>-	    FL_SET(iseq, ISEQ_NOT_LOADED_YET);</div><div class='del'>-	    iseq-&gt;aux.loader.obj = load-&gt;loader_obj;</div><div class='del'>-	    iseq-&gt;aux.loader.index = iseq_index;</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	    fprintf(stderr, "ibf_load_iseq: iseq=%p loader_obj=%p index=%d\n",</div><div class='del'>-		    iseq, (void *)load-&gt;loader_obj, iseq_index);</div><div class='del'>-#endif</div><div class='del'>-	    rb_ary_store(load-&gt;iseq_list, iseq_index, (VALUE)iseq);</div><div class='del'>-</div><div class='del'>-#if !USE_LAZY_LOAD</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	    fprintf(stderr, "ibf_load_iseq: loading iseq=%p\n", iseq);</div><div class='del'>-#endif</div><div class='del'>-	    rb_ibf_load_iseq_complete(iseq);</div><div class='del'>-#endif /* !USE_LAZY_LOAD */</div><div class='del'>-</div><div class='del'>-#if IBF_ISEQ_DEBUG</div><div class='del'>-	    fprintf(stderr, "ibf_load_iseq: iseq=%p loaded %p\n",</div><div class='del'>-		    iseq, load-&gt;iseq);</div><div class='del'>-#endif</div><div class='del'>-	    return iseq;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_load_setup(struct ibf_load *load, VALUE loader_obj, VALUE str)</div><div class='del'>-{</div><div class='del'>-    rb_check_safe_obj(str);</div><div class='del'>-</div><div class='del'>-    if (RSTRING_LENINT(str) &lt; (int)sizeof(struct ibf_header)) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "broken binary format");</div><div class='del'>-    }</div><div class='del'>-    RB_OBJ_WRITE(loader_obj, &amp;load-&gt;str, str);</div><div class='del'>-    load-&gt;loader_obj = loader_obj;</div><div class='del'>-    load-&gt;buff = StringValuePtr(str);</div><div class='del'>-    load-&gt;header = (struct ibf_header *)load-&gt;buff;</div><div class='del'>-    RB_OBJ_WRITE(loader_obj, &amp;load-&gt;iseq_list, rb_ary_tmp_new(0));</div><div class='del'>-    RB_OBJ_WRITE(loader_obj, &amp;load-&gt;obj_list, rb_ary_tmp_new(0));</div><div class='del'>-    load-&gt;id_list = ZALLOC_N(ID, load-&gt;header-&gt;id_list_size);</div><div class='del'>-    load-&gt;iseq = NULL;</div><div class='del'>-</div><div class='del'>-    if (RSTRING_LENINT(str) &lt; (int)load-&gt;header-&gt;size) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "broken binary format");</div><div class='del'>-    }</div><div class='del'>-    if (strncmp(load-&gt;header-&gt;magic, "YARB", 4) != 0) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "unknown binary format");</div><div class='del'>-    }</div><div class='del'>-    if (load-&gt;header-&gt;major_version != ISEQ_MAJOR_VERSION ||</div><div class='del'>-	load-&gt;header-&gt;minor_version != ISEQ_MINOR_VERSION) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "unmatched version file (%u.%u for %u.%u)",</div><div class='del'>-		 load-&gt;header-&gt;major_version, load-&gt;header-&gt;minor_version, ISEQ_MAJOR_VERSION, ISEQ_MINOR_VERSION);</div><div class='del'>-    }</div><div class='del'>-    if (strcmp(load-&gt;buff + sizeof(struct ibf_header), RUBY_PLATFORM) != 0) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "unmatched platform");</div><div class='del'>-    }</div><div class='del'>-    if (load-&gt;header-&gt;iseq_list_offset % RUBY_ALIGNOF(ibf_offset_t)) {</div><div class='del'>-        rb_raise(rb_eArgError, "unaligned iseq list offset: %u",</div><div class='del'>-                 load-&gt;header-&gt;iseq_list_offset);</div><div class='del'>-    }</div><div class='del'>-    if (load-&gt;header-&gt;id_list_offset % RUBY_ALIGNOF(long)) {</div><div class='del'>-        rb_raise(rb_eArgError, "unaligned ID list offset: %u",</div><div class='del'>-                 load-&gt;header-&gt;id_list_offset);</div><div class='del'>-    }</div><div class='del'>-    if (load-&gt;header-&gt;object_list_offset % RUBY_ALIGNOF(ibf_offset_t)) {</div><div class='del'>-        rb_raise(rb_eArgError, "unaligned object list offset: %u",</div><div class='del'>-                 load-&gt;header-&gt;object_list_offset);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_loader_mark(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_load *load = (struct ibf_load *)ptr;</div><div class='del'>-    rb_gc_mark(load-&gt;str);</div><div class='del'>-    rb_gc_mark(load-&gt;iseq_list);</div><div class='del'>-    rb_gc_mark(load-&gt;obj_list);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-ibf_loader_free(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_load *load = (struct ibf_load *)ptr;</div><div class='del'>-    ruby_xfree(load-&gt;id_list);</div><div class='del'>-    ruby_xfree(load);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-ibf_loader_memsize(const void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct ibf_load *load = (struct ibf_load *)ptr;</div><div class='del'>-    return sizeof(struct ibf_load) + load-&gt;header-&gt;id_list_size * sizeof(ID);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const rb_data_type_t ibf_load_type = {</div><div class='del'>-    "ibf_loader",</div><div class='del'>-    {ibf_loader_mark, ibf_loader_free, ibf_loader_memsize,},</div><div class='del'>-    0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-const rb_iseq_t *</div><div class='del'>-rb_iseq_ibf_load(VALUE str)</div><div class='del'>-{</div><div class='del'>-    struct ibf_load *load;</div><div class='del'>-    rb_iseq_t *iseq;</div><div class='del'>-    VALUE loader_obj = TypedData_Make_Struct(0, struct ibf_load, &amp;ibf_load_type, load);</div><div class='del'>-</div><div class='del'>-    ibf_load_setup(load, loader_obj, str);</div><div class='del'>-    iseq = ibf_load_iseq(load, 0);</div><div class='del'>-</div><div class='del'>-    RB_GC_GUARD(loader_obj);</div><div class='del'>-    return iseq;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_iseq_ibf_load_extra_data(VALUE str)</div><div class='del'>-{</div><div class='del'>-    struct ibf_load *load;</div><div class='del'>-    VALUE loader_obj = TypedData_Make_Struct(0, struct ibf_load, &amp;ibf_load_type, load);</div><div class='del'>-    VALUE extra_str;</div><div class='del'>-</div><div class='del'>-    ibf_load_setup(load, loader_obj, str);</div><div class='del'>-    extra_str = rb_str_new(load-&gt;buff + load-&gt;header-&gt;size, load-&gt;header-&gt;extra_size);</div><div class='del'>-    RB_GC_GUARD(loader_obj);</div><div class='del'>-    return extra_str;</div><div class='del'>-}</div><div class='head'>diff --git a/complex.c b/complex.c<br/>deleted file mode 100644<br/>index 685d4bc075..0000000000<br/>--- a/<a href='/ruby.git/tree/complex.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>complex.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2300 +0,0 @@</div><div class='del'>-/*</div><div class='del'>-  complex.c: Coded by Tadayoshi Funaba 2008-2012</div><div class='del'>-</div><div class='del'>-  This implementation is based on Keiju Ishitsuka's Complex library</div><div class='del'>-  which is written in ruby.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#include "ruby/config.h"</div><div class='del'>-#if defined _MSC_VER</div><div class='del'>-/* Microsoft Visual C does not define M_PI and others by default */</div><div class='del'>-# define _USE_MATH_DEFINES 1</div><div class='del'>-#endif</div><div class='del'>-#include &lt;math.h&gt;</div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "id.h"</div><div class='del'>-</div><div class='del'>-#define NDEBUG</div><div class='del'>-#include "ruby_assert.h"</div><div class='del'>-</div><div class='del'>-#define ZERO INT2FIX(0)</div><div class='del'>-#define ONE INT2FIX(1)</div><div class='del'>-#define TWO INT2FIX(2)</div><div class='del'>-#if USE_FLONUM</div><div class='del'>-#define RFLOAT_0 DBL2NUM(0)</div><div class='del'>-#else</div><div class='del'>-static VALUE RFLOAT_0;</div><div class='del'>-#endif</div><div class='del'>-#if defined(HAVE_SIGNBIT) &amp;&amp; defined(__GNUC__) &amp;&amp; defined(__sun) &amp;&amp; \</div><div class='del'>-    !defined(signbit)</div><div class='del'>-extern int signbit(double);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-VALUE rb_cComplex;</div><div class='del'>-</div><div class='del'>-static ID id_abs, id_arg,</div><div class='del'>-    id_denominator, id_fdiv, id_numerator, id_quo,</div><div class='del'>-    id_real_p, id_i_real, id_i_imag,</div><div class='del'>-    id_finite_p, id_infinite_p, id_rationalize,</div><div class='del'>-    id_PI;</div><div class='del'>-#define id_to_i idTo_i</div><div class='del'>-#define id_to_r idTo_r</div><div class='del'>-#define id_negate idUMinus</div><div class='del'>-#define id_expt idPow</div><div class='del'>-#define id_to_f idTo_f</div><div class='del'>-</div><div class='del'>-#define f_boolcast(x) ((x) ? Qtrue : Qfalse)</div><div class='del'>-</div><div class='del'>-#define binop(n,op) \</div><div class='del'>-inline static VALUE \</div><div class='del'>-f_##n(VALUE x, VALUE y)\</div><div class='del'>-{\</div><div class='del'>-    return rb_funcall(x, (op), 1, y);\</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define fun1(n) \</div><div class='del'>-inline static VALUE \</div><div class='del'>-f_##n(VALUE x)\</div><div class='del'>-{\</div><div class='del'>-    return rb_funcall(x, id_##n, 0);\</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define fun2(n) \</div><div class='del'>-inline static VALUE \</div><div class='del'>-f_##n(VALUE x, VALUE y)\</div><div class='del'>-{\</div><div class='del'>-    return rb_funcall(x, id_##n, 1, y);\</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define PRESERVE_SIGNEDZERO</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_add(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    if (FIXNUM_ZERO_P(y))</div><div class='del'>-	return x;</div><div class='del'>-    if (FIXNUM_ZERO_P(x))</div><div class='del'>-	return y;</div><div class='del'>-    return rb_funcall(x, '+', 1, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_div(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    if (FIXNUM_P(y) &amp;&amp; FIX2LONG(y) == 1)</div><div class='del'>-	return x;</div><div class='del'>-    return rb_funcall(x, '/', 1, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_gt_p(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    if (RB_INTEGER_TYPE_P(x)) {</div><div class='del'>-        if (FIXNUM_P(x) &amp;&amp; FIXNUM_P(y))</div><div class='del'>-            return (SIGNED_VALUE)x &gt; (SIGNED_VALUE)y;</div><div class='del'>-        return RTEST(rb_int_gt(x, y));</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(x))</div><div class='del'>-        return RTEST(rb_float_gt(x, y));</div><div class='del'>-    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='del'>-        int const cmp = rb_cmpint(rb_rational_cmp(x, y), x, y);</div><div class='del'>-        return cmp &gt; 0;</div><div class='del'>-    }</div><div class='del'>-    return RTEST(rb_funcall(x, '&gt;', 1, y));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_mul(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    if (FIXNUM_ZERO_P(y) &amp;&amp; RB_INTEGER_TYPE_P(x))</div><div class='del'>-	return ZERO;</div><div class='del'>-    if (FIXNUM_ZERO_P(x) &amp;&amp; RB_INTEGER_TYPE_P(y))</div><div class='del'>-	return ZERO;</div><div class='del'>-    if (y == ONE) return x;</div><div class='del'>-    if (x == ONE) return y;</div><div class='del'>-    return rb_funcall(x, '*', 1, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_sub(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    if (FIXNUM_ZERO_P(y))</div><div class='del'>-	return x;</div><div class='del'>-    return rb_funcall(x, '-', 1, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-fun1(abs)</div><div class='del'>-fun1(arg)</div><div class='del'>-fun1(denominator)</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_negate(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_INTEGER_TYPE_P(x)) {</div><div class='del'>-        return rb_int_uminus(x);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='del'>-        return rb_float_uminus(x);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='del'>-        return rb_rational_uminus(x);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_TYPE_P(x, T_COMPLEX)) {</div><div class='del'>-        return rb_complex_uminus(x);</div><div class='del'>-    }</div><div class='del'>-    return rb_funcall(x, id_negate, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-fun1(numerator)</div><div class='del'>-fun1(real_p)</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_to_i(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(x, T_STRING))</div><div class='del'>-	return rb_str_to_inum(x, 10, 0);</div><div class='del'>-    return rb_funcall(x, id_to_i, 0);</div><div class='del'>-}</div><div class='del'>-inline static VALUE</div><div class='del'>-f_to_f(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(x, T_STRING))</div><div class='del'>-	return DBL2NUM(rb_str_to_dbl(x, 0));</div><div class='del'>-    return rb_funcall(x, id_to_f, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-fun1(to_r)</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_eqeq_p(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    if (FIXNUM_P(x) &amp;&amp; FIXNUM_P(y))</div><div class='del'>-	return x == y;</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(x) || RB_FLOAT_TYPE_P(y))</div><div class='del'>-	return NUM2DBL(x) == NUM2DBL(y);</div><div class='del'>-    return (int)rb_equal(x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-fun2(expt)</div><div class='del'>-fun2(fdiv)</div><div class='del'>-fun2(quo)</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_negative_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_INTEGER_TYPE_P(x))</div><div class='del'>-        return INT_NEGATIVE_P(x);</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(x))</div><div class='del'>-        return RFLOAT_VALUE(x) &lt; 0.0;</div><div class='del'>-    else if (RB_TYPE_P(x, T_RATIONAL))</div><div class='del'>-        return INT_NEGATIVE_P(RRATIONAL(x)-&gt;num);</div><div class='del'>-    return rb_num_negative_p(x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define f_positive_p(x) (!f_negative_p(x))</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_zero_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_INTEGER_TYPE_P(x)) {</div><div class='del'>-        return FIXNUM_ZERO_P(x);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='del'>-        const VALUE num = RRATIONAL(x)-&gt;num;</div><div class='del'>-        return FIXNUM_ZERO_P(num);</div><div class='del'>-    }</div><div class='del'>-    return (int)rb_equal(x, ZERO);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define f_nonzero_p(x) (!f_zero_p(x))</div><div class='del'>-</div><div class='del'>-VALUE rb_flo_is_finite_p(VALUE num);</div><div class='del'>-inline static int</div><div class='del'>-f_finite_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_INTEGER_TYPE_P(x)) {</div><div class='del'>-        return TRUE;</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='del'>-	return (int)rb_flo_is_finite_p(x);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    return RTEST(rb_funcallv(x, id_finite_p, 0, 0));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE rb_flo_is_infinite_p(VALUE num);</div><div class='del'>-inline static VALUE</div><div class='del'>-f_infinite_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_INTEGER_TYPE_P(x)) {</div><div class='del'>-        return Qnil;</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='del'>-	return rb_flo_is_infinite_p(x);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='del'>-        return Qnil;</div><div class='del'>-    }</div><div class='del'>-    return rb_funcallv(x, id_infinite_p, 0, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_kind_of_p(VALUE x, VALUE c)</div><div class='del'>-{</div><div class='del'>-    return (int)rb_obj_is_kind_of(x, c);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-k_numeric_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return f_kind_of_p(x, rb_cNumeric);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define k_exact_p(x) (!RB_FLOAT_TYPE_P(x))</div><div class='del'>-</div><div class='del'>-#define k_exact_zero_p(x) (k_exact_p(x) &amp;&amp; f_zero_p(x))</div><div class='del'>-</div><div class='del'>-#define get_dat1(x) \</div><div class='del'>-    struct RComplex *dat = RCOMPLEX(x)</div><div class='del'>-</div><div class='del'>-#define get_dat2(x,y) \</div><div class='del'>-    struct RComplex *adat = RCOMPLEX(x), *bdat = RCOMPLEX(y)</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-nucomp_s_new_internal(VALUE klass, VALUE real, VALUE imag)</div><div class='del'>-{</div><div class='del'>-    NEWOBJ_OF(obj, struct RComplex, klass, T_COMPLEX | (RGENGC_WB_PROTECTED_COMPLEX ? FL_WB_PROTECTED : 0));</div><div class='del'>-</div><div class='del'>-    RCOMPLEX_SET_REAL(obj, real);</div><div class='del'>-    RCOMPLEX_SET_IMAG(obj, imag);</div><div class='del'>-    OBJ_FREEZE_RAW(obj);</div><div class='del'>-</div><div class='del'>-    return (VALUE)obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_s_alloc(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    return nucomp_s_new_internal(klass, ZERO, ZERO);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_complex_new_bang1(VALUE klass, VALUE x)</div><div class='del'>-{</div><div class='del'>-    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='del'>-    return nucomp_s_new_internal(klass, x, ZERO);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_complex_new_bang2(VALUE klass, VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='del'>-    assert(!RB_TYPE_P(y, T_COMPLEX));</div><div class='del'>-    return nucomp_s_new_internal(klass, x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef CANONICALIZATION_FOR_MATHN</div><div class='del'>-static int canonicalization = 0;</div><div class='del'>-</div><div class='del'>-RUBY_FUNC_EXPORTED void</div><div class='del'>-nucomp_canonicalization(int f)</div><div class='del'>-{</div><div class='del'>-    canonicalization = f;</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-#define canonicalization 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-inline static void</div><div class='del'>-nucomp_real_check(VALUE num)</div><div class='del'>-{</div><div class='del'>-    if (!RB_INTEGER_TYPE_P(num) &amp;&amp;</div><div class='del'>-	!RB_FLOAT_TYPE_P(num) &amp;&amp;</div><div class='del'>-	!RB_TYPE_P(num, T_RATIONAL)) {</div><div class='del'>-	if (!k_numeric_p(num) || !f_real_p(num))</div><div class='del'>-	    rb_raise(rb_eTypeError, "not a real");</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-nucomp_s_canonicalize_internal(VALUE klass, VALUE real, VALUE imag)</div><div class='del'>-{</div><div class='del'>-    int complex_r, complex_i;</div><div class='del'>-#ifdef CANONICALIZATION_FOR_MATHN</div><div class='del'>-    if (k_exact_zero_p(imag) &amp;&amp; canonicalization)</div><div class='del'>-	return real;</div><div class='del'>-#endif</div><div class='del'>-    complex_r = RB_TYPE_P(real, T_COMPLEX);</div><div class='del'>-    complex_i = RB_TYPE_P(imag, T_COMPLEX);</div><div class='del'>-    if (!complex_r &amp;&amp; !complex_i) {</div><div class='del'>-	return nucomp_s_new_internal(klass, real, imag);</div><div class='del'>-    }</div><div class='del'>-    else if (!complex_r) {</div><div class='del'>-	get_dat1(imag);</div><div class='del'>-</div><div class='del'>-	return nucomp_s_new_internal(klass,</div><div class='del'>-				     f_sub(real, dat-&gt;imag),</div><div class='del'>-				     f_add(ZERO, dat-&gt;real));</div><div class='del'>-    }</div><div class='del'>-    else if (!complex_i) {</div><div class='del'>-	get_dat1(real);</div><div class='del'>-</div><div class='del'>-	return nucomp_s_new_internal(klass,</div><div class='del'>-				     dat-&gt;real,</div><div class='del'>-				     f_add(dat-&gt;imag, imag));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	get_dat2(real, imag);</div><div class='del'>-</div><div class='del'>-	return nucomp_s_new_internal(klass,</div><div class='del'>-				     f_sub(adat-&gt;real, bdat-&gt;imag),</div><div class='del'>-				     f_add(adat-&gt;imag, bdat-&gt;real));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    Complex.rect(real[, imag])         -&gt;  complex</div><div class='del'>- *    Complex.rectangular(real[, imag])  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Returns a complex object which denotes the given rectangular form.</div><div class='del'>- *</div><div class='del'>- *    Complex.rectangular(1, 2)  #=&gt; (1+2i)</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_s_new(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    VALUE real, imag;</div><div class='del'>-</div><div class='del'>-    switch (rb_scan_args(argc, argv, "11", &amp;real, &amp;imag)) {</div><div class='del'>-      case 1:</div><div class='del'>-	nucomp_real_check(real);</div><div class='del'>-	imag = ZERO;</div><div class='del'>-	break;</div><div class='del'>-      default:</div><div class='del'>-	nucomp_real_check(real);</div><div class='del'>-	nucomp_real_check(imag);</div><div class='del'>-	break;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return nucomp_s_canonicalize_internal(klass, real, imag);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_complex_new2(VALUE klass, VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='del'>-    return nucomp_s_canonicalize_internal(klass, x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE nucomp_convert(VALUE klass, VALUE a1, VALUE a2, int raise);</div><div class='del'>-static VALUE nucomp_s_convert(int argc, VALUE *argv, VALUE klass);</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    Complex(x[, y])  -&gt;  numeric</div><div class='del'>- *</div><div class='del'>- * Returns x+i*y;</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 2)    #=&gt; (1+2i)</div><div class='del'>- *    Complex('1+2i')  #=&gt; (1+2i)</div><div class='del'>- *    Complex(nil)     #=&gt; TypeError</div><div class='del'>- *    Complex(1, nil)  #=&gt; TypeError</div><div class='del'>- *</div><div class='del'>- * Syntax of string form:</div><div class='del'>- *</div><div class='del'>- *   string form = extra spaces , complex , extra spaces ;</div><div class='del'>- *   complex = real part | [ sign ] , imaginary part</div><div class='del'>- *           | real part , sign , imaginary part</div><div class='del'>- *           | rational , "@" , rational ;</div><div class='del'>- *   real part = rational ;</div><div class='del'>- *   imaginary part = imaginary unit | unsigned rational , imaginary unit ;</div><div class='del'>- *   rational = [ sign ] , unsigned rational ;</div><div class='del'>- *   unsigned rational = numerator | numerator , "/" , denominator ;</div><div class='del'>- *   numerator = integer part | fractional part | integer part , fractional part ;</div><div class='del'>- *   denominator = digits ;</div><div class='del'>- *   integer part = digits ;</div><div class='del'>- *   fractional part = "." , digits , [ ( "e" | "E" ) , [ sign ] , digits ] ;</div><div class='del'>- *   imaginary unit = "i" | "I" | "j" | "J" ;</div><div class='del'>- *   sign = "-" | "+" ;</div><div class='del'>- *   digits = digit , { digit | "_" , digit };</div><div class='del'>- *   digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;</div><div class='del'>- *   extra spaces = ? \s* ? ;</div><div class='del'>- *</div><div class='del'>- * See String#to_c.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_f_complex(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    VALUE a1, a2, opts = Qnil;</div><div class='del'>-    int raise = TRUE;</div><div class='del'>-</div><div class='del'>-    if (rb_scan_args(argc, argv, "11:", &amp;a1, &amp;a2, &amp;opts) == 1) {</div><div class='del'>-        a2 = Qundef;</div><div class='del'>-    }</div><div class='del'>-    if (!NIL_P(opts)) {</div><div class='del'>-        static ID kwds[1];</div><div class='del'>-        VALUE exception;</div><div class='del'>-        if (!kwds[0]) {</div><div class='del'>-            kwds[0] = rb_intern_const("exception");</div><div class='del'>-        }</div><div class='del'>-        rb_get_kwargs(opts, kwds, 0, 1, &amp;exception);</div><div class='del'>-        raise = (exception != Qfalse);</div><div class='del'>-    }</div><div class='del'>-    return nucomp_convert(rb_cComplex, a1, a2, raise);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define imp1(n) \</div><div class='del'>-inline static VALUE \</div><div class='del'>-m_##n##_bang(VALUE x)\</div><div class='del'>-{\</div><div class='del'>-    return rb_math_##n(x);\</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-imp1(cos)</div><div class='del'>-imp1(cosh)</div><div class='del'>-imp1(exp)</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-m_log_bang(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return rb_math_log(1, &amp;x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-imp1(sin)</div><div class='del'>-imp1(sinh)</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-m_cos(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (!RB_TYPE_P(x, T_COMPLEX))</div><div class='del'>-	return m_cos_bang(x);</div><div class='del'>-    {</div><div class='del'>-	get_dat1(x);</div><div class='del'>-	return f_complex_new2(rb_cComplex,</div><div class='del'>-			      f_mul(m_cos_bang(dat-&gt;real),</div><div class='del'>-				    m_cosh_bang(dat-&gt;imag)),</div><div class='del'>-			      f_mul(f_negate(m_sin_bang(dat-&gt;real)),</div><div class='del'>-				    m_sinh_bang(dat-&gt;imag)));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-m_sin(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (!RB_TYPE_P(x, T_COMPLEX))</div><div class='del'>-	return m_sin_bang(x);</div><div class='del'>-    {</div><div class='del'>-	get_dat1(x);</div><div class='del'>-	return f_complex_new2(rb_cComplex,</div><div class='del'>-			      f_mul(m_sin_bang(dat-&gt;real),</div><div class='del'>-				    m_cosh_bang(dat-&gt;imag)),</div><div class='del'>-			      f_mul(m_cos_bang(dat-&gt;real),</div><div class='del'>-				    m_sinh_bang(dat-&gt;imag)));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-f_complex_polar(VALUE klass, VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='del'>-    assert(!RB_TYPE_P(y, T_COMPLEX));</div><div class='del'>-    if (f_zero_p(x) || f_zero_p(y)) {</div><div class='del'>-	if (canonicalization) return x;</div><div class='del'>-	return nucomp_s_new_internal(klass, x, RFLOAT_0);</div><div class='del'>-    }</div><div class='del'>-    if (RB_FLOAT_TYPE_P(y)) {</div><div class='del'>-	const double arg = RFLOAT_VALUE(y);</div><div class='del'>-	if (arg == M_PI) {</div><div class='del'>-	    x = f_negate(x);</div><div class='del'>-	    if (canonicalization) return x;</div><div class='del'>-	    y = RFLOAT_0;</div><div class='del'>-	}</div><div class='del'>-	else if (arg == M_PI_2) {</div><div class='del'>-	    y = x;</div><div class='del'>-	    x = RFLOAT_0;</div><div class='del'>-	}</div><div class='del'>-	else if (arg == M_PI_2+M_PI) {</div><div class='del'>-	    y = f_negate(x);</div><div class='del'>-	    x = RFLOAT_0;</div><div class='del'>-	}</div><div class='del'>-	else if (RB_FLOAT_TYPE_P(x)) {</div><div class='del'>-	    const double abs = RFLOAT_VALUE(x);</div><div class='del'>-	    const double real = abs * cos(arg), imag = abs * sin(arg);</div><div class='del'>-	    x = DBL2NUM(real);</div><div class='del'>-	    if (canonicalization &amp;&amp; imag == 0.0) return x;</div><div class='del'>-	    y = DBL2NUM(imag);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    y = f_mul(x, DBL2NUM(sin(arg)));</div><div class='del'>-	    x = f_mul(x, DBL2NUM(cos(arg)));</div><div class='del'>-	    if (canonicalization &amp;&amp; f_zero_p(y)) return x;</div><div class='del'>-	}</div><div class='del'>-	return nucomp_s_new_internal(klass, x, y);</div><div class='del'>-    }</div><div class='del'>-    return nucomp_s_canonicalize_internal(klass,</div><div class='del'>-					  f_mul(x, m_cos(y)),</div><div class='del'>-					  f_mul(x, m_sin(y)));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* returns a Complex or Float of ang*PI-rotated abs */</div><div class='del'>-VALUE</div><div class='del'>-rb_dbl_complex_new_polar_pi(double abs, double ang)</div><div class='del'>-{</div><div class='del'>-    double fi;</div><div class='del'>-    const double fr = modf(ang, &amp;fi);</div><div class='del'>-    int pos = fr == +0.5;</div><div class='del'>-</div><div class='del'>-    if (pos || fr == -0.5) {</div><div class='del'>-	if ((modf(fi / 2.0, &amp;fi) != fr) ^ pos) abs = -abs;</div><div class='del'>-	return rb_complex_new(RFLOAT_0, DBL2NUM(abs));</div><div class='del'>-    }</div><div class='del'>-    else if (fr == 0.0) {</div><div class='del'>-	if (modf(fi / 2.0, &amp;fi) != 0.0) abs = -abs;</div><div class='del'>-	return DBL2NUM(abs);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	ang *= M_PI;</div><div class='del'>-	return rb_complex_new(DBL2NUM(abs * cos(ang)), DBL2NUM(abs * sin(ang)));</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    Complex.polar(abs[, arg])  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Returns a complex object which denotes the given polar form.</div><div class='del'>- *</div><div class='del'>- *    Complex.polar(3, 0)            #=&gt; (3.0+0.0i)</div><div class='del'>- *    Complex.polar(3, Math::PI/2)   #=&gt; (1.836909530733566e-16+3.0i)</div><div class='del'>- *    Complex.polar(3, Math::PI)     #=&gt; (-3.0+3.673819061467132e-16i)</div><div class='del'>- *    Complex.polar(3, -Math::PI/2)  #=&gt; (1.836909530733566e-16-3.0i)</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_s_polar(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    VALUE abs, arg;</div><div class='del'>-</div><div class='del'>-    switch (rb_scan_args(argc, argv, "11", &amp;abs, &amp;arg)) {</div><div class='del'>-      case 1:</div><div class='del'>-	nucomp_real_check(abs);</div><div class='del'>-	if (canonicalization) return abs;</div><div class='del'>-	return nucomp_s_new_internal(klass, abs, ZERO);</div><div class='del'>-      default:</div><div class='del'>-	nucomp_real_check(abs);</div><div class='del'>-	nucomp_real_check(arg);</div><div class='del'>-	break;</div><div class='del'>-    }</div><div class='del'>-    return f_complex_polar(klass, abs, arg);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.real  -&gt;  real</div><div class='del'>- *</div><div class='del'>- * Returns the real part.</div><div class='del'>- *</div><div class='del'>- *    Complex(7).real      #=&gt; 7</div><div class='del'>- *    Complex(9, -4).real  #=&gt; 9</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_real(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return dat-&gt;real;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.imag       -&gt;  real</div><div class='del'>- *    cmp.imaginary  -&gt;  real</div><div class='del'>- *</div><div class='del'>- * Returns the imaginary part.</div><div class='del'>- *</div><div class='del'>- *    Complex(7).imaginary      #=&gt; 0</div><div class='del'>- *    Complex(9, -4).imaginary  #=&gt; -4</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_imag(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return dat-&gt;imag;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    -cmp  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Returns negation of the value.</div><div class='del'>- *</div><div class='del'>- *    -Complex(1, 2)  #=&gt; (-1-2i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_uminus(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return f_complex_new2(CLASS_OF(self),</div><div class='del'>-			  f_negate(dat-&gt;real), f_negate(dat-&gt;imag));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp + numeric  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Performs addition.</div><div class='del'>- *</div><div class='del'>- *    Complex(2, 3)  + Complex(2, 3)   #=&gt; (4+6i)</div><div class='del'>- *    Complex(900)   + Complex(1)      #=&gt; (901+0i)</div><div class='del'>- *    Complex(-2, 9) + Complex(-9, 2)  #=&gt; (-11+11i)</div><div class='del'>- *    Complex(9, 8)  + 4               #=&gt; (13+8i)</div><div class='del'>- *    Complex(20, 9) + 9.8             #=&gt; (29.8+9i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_plus(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	VALUE real, imag;</div><div class='del'>-</div><div class='del'>-	get_dat2(self, other);</div><div class='del'>-</div><div class='del'>-	real = f_add(adat-&gt;real, bdat-&gt;real);</div><div class='del'>-	imag = f_add(adat-&gt;imag, bdat-&gt;imag);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self), real, imag);</div><div class='del'>-    }</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='del'>-	get_dat1(self);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self),</div><div class='del'>-			      f_add(dat-&gt;real, other), dat-&gt;imag);</div><div class='del'>-    }</div><div class='del'>-    return rb_num_coerce_bin(self, other, '+');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp - numeric  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Performs subtraction.</div><div class='del'>- *</div><div class='del'>- *    Complex(2, 3)  - Complex(2, 3)   #=&gt; (0+0i)</div><div class='del'>- *    Complex(900)   - Complex(1)      #=&gt; (899+0i)</div><div class='del'>- *    Complex(-2, 9) - Complex(-9, 2)  #=&gt; (7+7i)</div><div class='del'>- *    Complex(9, 8)  - 4               #=&gt; (5+8i)</div><div class='del'>- *    Complex(20, 9) - 9.8             #=&gt; (10.2+9i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_minus(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	VALUE real, imag;</div><div class='del'>-</div><div class='del'>-	get_dat2(self, other);</div><div class='del'>-</div><div class='del'>-	real = f_sub(adat-&gt;real, bdat-&gt;real);</div><div class='del'>-	imag = f_sub(adat-&gt;imag, bdat-&gt;imag);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self), real, imag);</div><div class='del'>-    }</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='del'>-	get_dat1(self);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self),</div><div class='del'>-			      f_sub(dat-&gt;real, other), dat-&gt;imag);</div><div class='del'>-    }</div><div class='del'>-    return rb_num_coerce_bin(self, other, '-');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-safe_mul(VALUE a, VALUE b, int az, int bz)</div><div class='del'>-{</div><div class='del'>-    double v;</div><div class='del'>-    if (!az &amp;&amp; bz &amp;&amp; RB_FLOAT_TYPE_P(a) &amp;&amp; (v = RFLOAT_VALUE(a), !isnan(v))) {</div><div class='del'>-	a = signbit(v) ? DBL2NUM(-1.0) : DBL2NUM(1.0);</div><div class='del'>-    }</div><div class='del'>-    if (!bz &amp;&amp; az &amp;&amp; RB_FLOAT_TYPE_P(b) &amp;&amp; (v = RFLOAT_VALUE(b), !isnan(v))) {</div><div class='del'>-	b = signbit(v) ? DBL2NUM(-1.0) : DBL2NUM(1.0);</div><div class='del'>-    }</div><div class='del'>-    return f_mul(a, b);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-comp_mul(VALUE areal, VALUE aimag, VALUE breal, VALUE bimag, VALUE *real, VALUE *imag)</div><div class='del'>-{</div><div class='del'>-    int arzero = f_zero_p(areal);</div><div class='del'>-    int aizero = f_zero_p(aimag);</div><div class='del'>-    int brzero = f_zero_p(breal);</div><div class='del'>-    int bizero = f_zero_p(bimag);</div><div class='del'>-    *real = f_sub(safe_mul(areal, breal, arzero, brzero),</div><div class='del'>-                  safe_mul(aimag, bimag, aizero, bizero));</div><div class='del'>-    *imag = f_add(safe_mul(areal, bimag, arzero, bizero),</div><div class='del'>-                  safe_mul(aimag, breal, aizero, brzero));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp * numeric  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Performs multiplication.</div><div class='del'>- *</div><div class='del'>- *    Complex(2, 3)  * Complex(2, 3)   #=&gt; (-5+12i)</div><div class='del'>- *    Complex(900)   * Complex(1)      #=&gt; (900+0i)</div><div class='del'>- *    Complex(-2, 9) * Complex(-9, 2)  #=&gt; (0-85i)</div><div class='del'>- *    Complex(9, 8)  * 4               #=&gt; (36+32i)</div><div class='del'>- *    Complex(20, 9) * 9.8             #=&gt; (196.0+88.2i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_mul(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	VALUE real, imag;</div><div class='del'>-	get_dat2(self, other);</div><div class='del'>-</div><div class='del'>-        comp_mul(adat-&gt;real, adat-&gt;imag, bdat-&gt;real, bdat-&gt;imag, &amp;real, &amp;imag);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self), real, imag);</div><div class='del'>-    }</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='del'>-	get_dat1(self);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self),</div><div class='del'>-			      f_mul(dat-&gt;real, other),</div><div class='del'>-			      f_mul(dat-&gt;imag, other));</div><div class='del'>-    }</div><div class='del'>-    return rb_num_coerce_bin(self, other, '*');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_divide(VALUE self, VALUE other,</div><div class='del'>-	 VALUE (*func)(VALUE, VALUE), ID id)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-        VALUE r, n, x, y;</div><div class='del'>-	int flo;</div><div class='del'>-	get_dat2(self, other);</div><div class='del'>-</div><div class='del'>-	flo = (RB_FLOAT_TYPE_P(adat-&gt;real) || RB_FLOAT_TYPE_P(adat-&gt;imag) ||</div><div class='del'>-	       RB_FLOAT_TYPE_P(bdat-&gt;real) || RB_FLOAT_TYPE_P(bdat-&gt;imag));</div><div class='del'>-</div><div class='del'>-	if (f_gt_p(f_abs(bdat-&gt;real), f_abs(bdat-&gt;imag))) {</div><div class='del'>-	    r = (*func)(bdat-&gt;imag, bdat-&gt;real);</div><div class='del'>-	    n = f_mul(bdat-&gt;real, f_add(ONE, f_mul(r, r)));</div><div class='del'>-	    if (flo)</div><div class='del'>-		return f_complex_new2(CLASS_OF(self),</div><div class='del'>-				      (*func)(self, n),</div><div class='del'>-				      (*func)(f_negate(f_mul(self, r)), n));</div><div class='del'>-            x = (*func)(f_add(adat-&gt;real, f_mul(adat-&gt;imag, r)), n);</div><div class='del'>-            y = (*func)(f_sub(adat-&gt;imag, f_mul(adat-&gt;real, r)), n);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    r = (*func)(bdat-&gt;real, bdat-&gt;imag);</div><div class='del'>-	    n = f_mul(bdat-&gt;imag, f_add(ONE, f_mul(r, r)));</div><div class='del'>-	    if (flo)</div><div class='del'>-		return f_complex_new2(CLASS_OF(self),</div><div class='del'>-				      (*func)(f_mul(self, r), n),</div><div class='del'>-				      (*func)(f_negate(self), n));</div><div class='del'>-            x = (*func)(f_add(f_mul(adat-&gt;real, r), adat-&gt;imag), n);</div><div class='del'>-            y = (*func)(f_sub(f_mul(adat-&gt;imag, r), adat-&gt;real), n);</div><div class='del'>-	}</div><div class='del'>-        x = rb_rational_canonicalize(x);</div><div class='del'>-        y = rb_rational_canonicalize(y);</div><div class='del'>-        return f_complex_new2(CLASS_OF(self), x, y);</div><div class='del'>-    }</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='del'>-	get_dat1(self);</div><div class='del'>-</div><div class='del'>-	return f_complex_new2(CLASS_OF(self),</div><div class='del'>-			      (*func)(dat-&gt;real, other),</div><div class='del'>-			      (*func)(dat-&gt;imag, other));</div><div class='del'>-    }</div><div class='del'>-    return rb_num_coerce_bin(self, other, id);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define rb_raise_zerodiv() rb_raise(rb_eZeroDivError, "divided by 0")</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp / numeric     -&gt;  complex</div><div class='del'>- *    cmp.quo(numeric)  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Performs division.</div><div class='del'>- *</div><div class='del'>- *    Complex(2, 3)  / Complex(2, 3)   #=&gt; ((1/1)+(0/1)*i)</div><div class='del'>- *    Complex(900)   / Complex(1)      #=&gt; ((900/1)+(0/1)*i)</div><div class='del'>- *    Complex(-2, 9) / Complex(-9, 2)  #=&gt; ((36/85)-(77/85)*i)</div><div class='del'>- *    Complex(9, 8)  / 4               #=&gt; ((9/4)+(2/1)*i)</div><div class='del'>- *    Complex(20, 9) / 9.8             #=&gt; (2.0408163265306123+0.9183673469387754i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_div(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    return f_divide(self, other, f_quo, id_quo);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define nucomp_quo rb_complex_div</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.fdiv(numeric)  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Performs division as each part is a float, never returns a float.</div><div class='del'>- *</div><div class='del'>- *    Complex(11, 22).fdiv(3)  #=&gt; (3.6666666666666665+7.333333333333333i)</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_fdiv(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    return f_divide(self, other, f_fdiv, id_fdiv);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static VALUE</div><div class='del'>-f_reciprocal(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return f_quo(ONE, x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp ** numeric  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Performs exponentiation.</div><div class='del'>- *</div><div class='del'>- *    Complex('i') ** 2              #=&gt; (-1+0i)</div><div class='del'>- *    Complex(-8) ** Rational(1, 3)  #=&gt; (1.0000000000000002+1.7320508075688772i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_pow(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; k_exact_zero_p(other))</div><div class='del'>-	return f_complex_new_bang1(CLASS_OF(self), ONE);</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(other, T_RATIONAL) &amp;&amp; RRATIONAL(other)-&gt;den == LONG2FIX(1))</div><div class='del'>-	other = RRATIONAL(other)-&gt;num; /* c14n */</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	get_dat1(other);</div><div class='del'>-</div><div class='del'>-	if (k_exact_zero_p(dat-&gt;imag))</div><div class='del'>-	    other = dat-&gt;real; /* c14n */</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	VALUE r, theta, nr, ntheta;</div><div class='del'>-</div><div class='del'>-	get_dat1(other);</div><div class='del'>-</div><div class='del'>-	r = f_abs(self);</div><div class='del'>-	theta = f_arg(self);</div><div class='del'>-</div><div class='del'>-	nr = m_exp_bang(f_sub(f_mul(dat-&gt;real, m_log_bang(r)),</div><div class='del'>-			      f_mul(dat-&gt;imag, theta)));</div><div class='del'>-	ntheta = f_add(f_mul(theta, dat-&gt;real),</div><div class='del'>-		       f_mul(dat-&gt;imag, m_log_bang(r)));</div><div class='del'>-	return f_complex_polar(CLASS_OF(self), nr, ntheta);</div><div class='del'>-    }</div><div class='del'>-    if (FIXNUM_P(other)) {</div><div class='del'>-        long n = FIX2LONG(other);</div><div class='del'>-        if (n == 0) {</div><div class='del'>-            return nucomp_s_new_internal(CLASS_OF(self), ONE, ZERO);</div><div class='del'>-        }</div><div class='del'>-        if (n &lt; 0) {</div><div class='del'>-            self = f_reciprocal(self);</div><div class='del'>-            other = rb_int_uminus(other);</div><div class='del'>-            n = -n;</div><div class='del'>-        }</div><div class='del'>-        {</div><div class='del'>-            get_dat1(self);</div><div class='del'>-            VALUE xr = dat-&gt;real, xi = dat-&gt;imag, zr = xr, zi = xi;</div><div class='del'>-</div><div class='del'>-            if (f_zero_p(xi)) {</div><div class='del'>-                zr = rb_num_pow(zr, other);</div><div class='del'>-            }</div><div class='del'>-            else if (f_zero_p(xr)) {</div><div class='del'>-                zi = rb_num_pow(zi, other);</div><div class='del'>-                if (n &amp; 2) zi = f_negate(zi);</div><div class='del'>-                if (!(n &amp; 1)) {</div><div class='del'>-                    VALUE tmp = zr;</div><div class='del'>-                    zr = zi;</div><div class='del'>-                    zi = tmp;</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                while (--n) {</div><div class='del'>-                    long q, r;</div><div class='del'>-</div><div class='del'>-                    for (; q = n / 2, r = n % 2, r == 0; n = q) {</div><div class='del'>-                        VALUE tmp = f_sub(f_mul(xr, xr), f_mul(xi, xi));</div><div class='del'>-                        xi = f_mul(f_mul(TWO, xr), xi);</div><div class='del'>-                        xr = tmp;</div><div class='del'>-                    }</div><div class='del'>-                    comp_mul(zr, zi, xr, xi, &amp;zr, &amp;zi);</div><div class='del'>-                }</div><div class='del'>-            }</div><div class='del'>-            return nucomp_s_new_internal(CLASS_OF(self), zr, zi);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='del'>-	VALUE r, theta;</div><div class='del'>-</div><div class='del'>-	if (RB_TYPE_P(other, T_BIGNUM))</div><div class='del'>-	    rb_warn("in a**b, b may be too big");</div><div class='del'>-</div><div class='del'>-	r = f_abs(self);</div><div class='del'>-	theta = f_arg(self);</div><div class='del'>-</div><div class='del'>-	return f_complex_polar(CLASS_OF(self), f_expt(r, other),</div><div class='del'>-			       f_mul(theta, other));</div><div class='del'>-    }</div><div class='del'>-    return rb_num_coerce_bin(self, other, id_expt);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp == object  -&gt;  true or false</div><div class='del'>- *</div><div class='del'>- * Returns true if cmp equals object numerically.</div><div class='del'>- *</div><div class='del'>- *    Complex(2, 3)  == Complex(2, 3)   #=&gt; true</div><div class='del'>- *    Complex(5)     == 5               #=&gt; true</div><div class='del'>- *    Complex(0)     == 0.0             #=&gt; true</div><div class='del'>- *    Complex('1/3') == 0.33            #=&gt; false</div><div class='del'>- *    Complex('1/2') == '1/2'           #=&gt; false</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_eqeq_p(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	get_dat2(self, other);</div><div class='del'>-</div><div class='del'>-	return f_boolcast(f_eqeq_p(adat-&gt;real, bdat-&gt;real) &amp;&amp;</div><div class='del'>-			  f_eqeq_p(adat-&gt;imag, bdat-&gt;imag));</div><div class='del'>-    }</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='del'>-	get_dat1(self);</div><div class='del'>-</div><div class='del'>-	return f_boolcast(f_eqeq_p(dat-&gt;real, other) &amp;&amp; f_zero_p(dat-&gt;imag));</div><div class='del'>-    }</div><div class='del'>-    return f_boolcast(f_eqeq_p(other, self));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_coerce(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (k_numeric_p(other) &amp;&amp; f_real_p(other))</div><div class='del'>-	return rb_assoc_new(f_complex_new_bang1(CLASS_OF(self), other), self);</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX))</div><div class='del'>-	return rb_assoc_new(other, self);</div><div class='del'>-</div><div class='del'>-    rb_raise(rb_eTypeError, "%"PRIsVALUE" can't be coerced into %"PRIsVALUE,</div><div class='del'>-	     rb_obj_class(other), rb_obj_class(self));</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.abs        -&gt;  real</div><div class='del'>- *    cmp.magnitude  -&gt;  real</div><div class='del'>- *</div><div class='del'>- * Returns the absolute part of its polar form.</div><div class='del'>- *</div><div class='del'>- *    Complex(-1).abs         #=&gt; 1</div><div class='del'>- *    Complex(3.0, -4.0).abs  #=&gt; 5.0</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_abs(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    if (f_zero_p(dat-&gt;real)) {</div><div class='del'>-	VALUE a = f_abs(dat-&gt;imag);</div><div class='del'>-	if (RB_FLOAT_TYPE_P(dat-&gt;real) &amp;&amp; !RB_FLOAT_TYPE_P(dat-&gt;imag))</div><div class='del'>-	    a = f_to_f(a);</div><div class='del'>-	return a;</div><div class='del'>-    }</div><div class='del'>-    if (f_zero_p(dat-&gt;imag)) {</div><div class='del'>-	VALUE a = f_abs(dat-&gt;real);</div><div class='del'>-	if (!RB_FLOAT_TYPE_P(dat-&gt;real) &amp;&amp; RB_FLOAT_TYPE_P(dat-&gt;imag))</div><div class='del'>-	    a = f_to_f(a);</div><div class='del'>-	return a;</div><div class='del'>-    }</div><div class='del'>-    return rb_math_hypot(dat-&gt;real, dat-&gt;imag);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.abs2  -&gt;  real</div><div class='del'>- *</div><div class='del'>- * Returns square of the absolute value.</div><div class='del'>- *</div><div class='del'>- *    Complex(-1).abs2         #=&gt; 1</div><div class='del'>- *    Complex(3.0, -4.0).abs2  #=&gt; 25.0</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_abs2(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return f_add(f_mul(dat-&gt;real, dat-&gt;real),</div><div class='del'>-		 f_mul(dat-&gt;imag, dat-&gt;imag));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.arg    -&gt;  float</div><div class='del'>- *    cmp.angle  -&gt;  float</div><div class='del'>- *    cmp.phase  -&gt;  float</div><div class='del'>- *</div><div class='del'>- * Returns the angle part of its polar form.</div><div class='del'>- *</div><div class='del'>- *    Complex.polar(3, Math::PI/2).arg  #=&gt; 1.5707963267948966</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_arg(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return rb_math_atan2(dat-&gt;imag, dat-&gt;real);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.rect         -&gt;  array</div><div class='del'>- *    cmp.rectangular  -&gt;  array</div><div class='del'>- *</div><div class='del'>- * Returns an array; [cmp.real, cmp.imag].</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 2).rectangular  #=&gt; [1, 2]</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_rect(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return rb_assoc_new(dat-&gt;real, dat-&gt;imag);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.polar  -&gt;  array</div><div class='del'>- *</div><div class='del'>- * Returns an array; [cmp.abs, cmp.arg].</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 2).polar  #=&gt; [2.23606797749979, 1.1071487177940904]</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_polar(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return rb_assoc_new(f_abs(self), f_arg(self));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.conj       -&gt;  complex</div><div class='del'>- *    cmp.conjugate  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Returns the complex conjugate.</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 2).conjugate  #=&gt; (1-2i)</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_conjugate(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return f_complex_new2(CLASS_OF(self), dat-&gt;real, f_negate(dat-&gt;imag));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.real?  -&gt;  false</div><div class='del'>- *</div><div class='del'>- * Returns false.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_false(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.denominator  -&gt;  integer</div><div class='del'>- *</div><div class='del'>- * Returns the denominator (lcm of both denominator - real and imag).</div><div class='del'>- *</div><div class='del'>- * See numerator.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_denominator(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    return rb_lcm(f_denominator(dat-&gt;real), f_denominator(dat-&gt;imag));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.numerator  -&gt;  numeric</div><div class='del'>- *</div><div class='del'>- * Returns the numerator.</div><div class='del'>- *</div><div class='del'>- *        1   2       3+4i  &lt;-  numerator</div><div class='del'>- *        - + -i  -&gt;  ----</div><div class='del'>- *        2   3        6    &lt;-  denominator</div><div class='del'>- *</div><div class='del'>- *    c = Complex('1/2+2/3i')  #=&gt; ((1/2)+(2/3)*i)</div><div class='del'>- *    n = c.numerator          #=&gt; (3+4i)</div><div class='del'>- *    d = c.denominator        #=&gt; 6</div><div class='del'>- *    n / d                    #=&gt; ((1/2)+(2/3)*i)</div><div class='del'>- *    Complex(Rational(n.real, d), Rational(n.imag, d))</div><div class='del'>- *                             #=&gt; ((1/2)+(2/3)*i)</div><div class='del'>- * See denominator.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_numerator(VALUE self)</div><div class='del'>-{</div><div class='del'>-    VALUE cd;</div><div class='del'>-</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    cd = f_denominator(self);</div><div class='del'>-    return f_complex_new2(CLASS_OF(self),</div><div class='del'>-			  f_mul(f_numerator(dat-&gt;real),</div><div class='del'>-				f_div(cd, f_denominator(dat-&gt;real))),</div><div class='del'>-			  f_mul(f_numerator(dat-&gt;imag),</div><div class='del'>-				f_div(cd, f_denominator(dat-&gt;imag))));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_hash(VALUE self)</div><div class='del'>-{</div><div class='del'>-    st_index_t v, h[2];</div><div class='del'>-    VALUE n;</div><div class='del'>-</div><div class='del'>-    get_dat1(self);</div><div class='del'>-    n = rb_hash(dat-&gt;real);</div><div class='del'>-    h[0] = NUM2LONG(n);</div><div class='del'>-    n = rb_hash(dat-&gt;imag);</div><div class='del'>-    h[1] = NUM2LONG(n);</div><div class='del'>-    v = rb_memhash(h, sizeof(h));</div><div class='del'>-    return ST2FIX(v);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_eql_p(VALUE self, VALUE other)</div><div class='del'>-{</div><div class='del'>-    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='del'>-	get_dat2(self, other);</div><div class='del'>-</div><div class='del'>-	return f_boolcast((CLASS_OF(adat-&gt;real) == CLASS_OF(bdat-&gt;real)) &amp;&amp;</div><div class='del'>-			  (CLASS_OF(adat-&gt;imag) == CLASS_OF(bdat-&gt;imag)) &amp;&amp;</div><div class='del'>-			  f_eqeq_p(self, other));</div><div class='del'>-</div><div class='del'>-    }</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_signbit(VALUE x)</div><div class='del'>-{</div><div class='del'>-    if (RB_FLOAT_TYPE_P(x)) {</div><div class='del'>-	double f = RFLOAT_VALUE(x);</div><div class='del'>-	return !isnan(f) &amp;&amp; signbit(f);</div><div class='del'>-    }</div><div class='del'>-    return f_negative_p(x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-f_tpositive_p(VALUE x)</div><div class='del'>-{</div><div class='del'>-    return !f_signbit(x);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-f_format(VALUE self, VALUE (*func)(VALUE))</div><div class='del'>-{</div><div class='del'>-    VALUE s;</div><div class='del'>-    int impos;</div><div class='del'>-</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    impos = f_tpositive_p(dat-&gt;imag);</div><div class='del'>-</div><div class='del'>-    s = (*func)(dat-&gt;real);</div><div class='del'>-    rb_str_cat2(s, !impos ? "-" : "+");</div><div class='del'>-</div><div class='del'>-    rb_str_concat(s, (*func)(f_abs(dat-&gt;imag)));</div><div class='del'>-    if (!rb_isdigit(RSTRING_PTR(s)[RSTRING_LEN(s) - 1]))</div><div class='del'>-	rb_str_cat2(s, "*");</div><div class='del'>-    rb_str_cat2(s, "i");</div><div class='del'>-</div><div class='del'>-    return s;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.to_s  -&gt;  string</div><div class='del'>- *</div><div class='del'>- * Returns the value as a string.</div><div class='del'>- *</div><div class='del'>- *    Complex(2).to_s                       #=&gt; "2+0i"</div><div class='del'>- *    Complex('-8/6').to_s                  #=&gt; "-4/3+0i"</div><div class='del'>- *    Complex('1/2i').to_s                  #=&gt; "0+1/2i"</div><div class='del'>- *    Complex(0, Float::INFINITY).to_s      #=&gt; "0+Infinity*i"</div><div class='del'>- *    Complex(Float::NAN, Float::NAN).to_s  #=&gt; "NaN+NaN*i"</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_to_s(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return f_format(self, rb_String);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.inspect  -&gt;  string</div><div class='del'>- *</div><div class='del'>- * Returns the value as a string for inspection.</div><div class='del'>- *</div><div class='del'>- *    Complex(2).inspect                       #=&gt; "(2+0i)"</div><div class='del'>- *    Complex('-8/6').inspect                  #=&gt; "((-4/3)+0i)"</div><div class='del'>- *    Complex('1/2i').inspect                  #=&gt; "(0+(1/2)*i)"</div><div class='del'>- *    Complex(0, Float::INFINITY).inspect      #=&gt; "(0+Infinity*i)"</div><div class='del'>- *    Complex(Float::NAN, Float::NAN).inspect  #=&gt; "(NaN+NaN*i)"</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_inspect(VALUE self)</div><div class='del'>-{</div><div class='del'>-    VALUE s;</div><div class='del'>-</div><div class='del'>-    s = rb_usascii_str_new2("(");</div><div class='del'>-    rb_str_concat(s, f_format(self, rb_inspect));</div><div class='del'>-    rb_str_cat2(s, ")");</div><div class='del'>-</div><div class='del'>-    return s;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define FINITE_TYPE_P(v) (RB_INTEGER_TYPE_P(v) || RB_TYPE_P(v, T_RATIONAL))</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.finite?  -&gt;  true or false</div><div class='del'>- *</div><div class='del'>- * Returns +true+ if +cmp+'s real and imaginary parts are both finite numbers,</div><div class='del'>- * otherwise returns +false+.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_complex_finite_p(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    if (f_finite_p(dat-&gt;real) &amp;&amp; f_finite_p(dat-&gt;imag)) {</div><div class='del'>-	return Qtrue;</div><div class='del'>-    }</div><div class='del'>-    return Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.infinite?  -&gt;  nil or 1</div><div class='del'>- *</div><div class='del'>- * Returns +1+ if +cmp+'s real or imaginary part is an infinite number,</div><div class='del'>- * otherwise returns +nil+.</div><div class='del'>- *</div><div class='del'>- *  For example:</div><div class='del'>- *</div><div class='del'>- *     (1+1i).infinite?                   #=&gt; nil</div><div class='del'>- *     (Float::INFINITY + 1i).infinite?   #=&gt; 1</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_complex_infinite_p(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    if (NIL_P(f_infinite_p(dat-&gt;real)) &amp;&amp; NIL_P(f_infinite_p(dat-&gt;imag))) {</div><div class='del'>-	return Qnil;</div><div class='del'>-    }</div><div class='del'>-    return ONE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_dumper(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_loader(VALUE self, VALUE a)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    RCOMPLEX_SET_REAL(dat, rb_ivar_get(a, id_i_real));</div><div class='del'>-    RCOMPLEX_SET_IMAG(dat, rb_ivar_get(a, id_i_imag));</div><div class='del'>-    OBJ_FREEZE_RAW(self);</div><div class='del'>-</div><div class='del'>-    return self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_marshal_dump(VALUE self)</div><div class='del'>-{</div><div class='del'>-    VALUE a;</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    a = rb_assoc_new(dat-&gt;real, dat-&gt;imag);</div><div class='del'>-    rb_copy_generic_ivar(a, self);</div><div class='del'>-    return a;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_marshal_load(VALUE self, VALUE a)</div><div class='del'>-{</div><div class='del'>-    Check_Type(a, T_ARRAY);</div><div class='del'>-    if (RARRAY_LEN(a) != 2)</div><div class='del'>-	rb_raise(rb_eArgError, "marshaled complex must have an array whose length is 2 but %ld", RARRAY_LEN(a));</div><div class='del'>-    rb_ivar_set(self, id_i_real, RARRAY_AREF(a, 0));</div><div class='del'>-    rb_ivar_set(self, id_i_imag, RARRAY_AREF(a, 1));</div><div class='del'>-    return self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* --- */</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_raw(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return nucomp_s_new_internal(rb_cComplex, x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_new(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return nucomp_s_canonicalize_internal(rb_cComplex, x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_new_polar(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return f_complex_polar(rb_cComplex, x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_complex_polar(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    return rb_complex_new_polar(x, y);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_Complex(VALUE x, VALUE y)</div><div class='del'>-{</div><div class='del'>-    VALUE a[2];</div><div class='del'>-    a[0] = x;</div><div class='del'>-    a[1] = y;</div><div class='del'>-    return nucomp_s_convert(2, a, rb_cComplex);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*!</div><div class='del'>- * Creates a Complex object.</div><div class='del'>- *</div><div class='del'>- * \param real    real part value</div><div class='del'>- * \param imag    imaginary part value</div><div class='del'>- * \return        a new Complex object</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_dbl_complex_new(double real, double imag)</div><div class='del'>-{</div><div class='del'>-    return rb_complex_raw(DBL2NUM(real), DBL2NUM(imag));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.to_i  -&gt;  integer</div><div class='del'>- *</div><div class='del'>- * Returns the value as an integer if possible (the imaginary part</div><div class='del'>- * should be exactly zero).</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 0).to_i    #=&gt; 1</div><div class='del'>- *    Complex(1, 0.0).to_i  # RangeError</div><div class='del'>- *    Complex(1, 2).to_i    # RangeError</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_to_i(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='del'>-	rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Integer",</div><div class='del'>-		 self);</div><div class='del'>-    }</div><div class='del'>-    return f_to_i(dat-&gt;real);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.to_f  -&gt;  float</div><div class='del'>- *</div><div class='del'>- * Returns the value as a float if possible (the imaginary part should</div><div class='del'>- * be exactly zero).</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 0).to_f    #=&gt; 1.0</div><div class='del'>- *    Complex(1, 0.0).to_f  # RangeError</div><div class='del'>- *    Complex(1, 2).to_f    # RangeError</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_to_f(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='del'>-	rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Float",</div><div class='del'>-		 self);</div><div class='del'>-    }</div><div class='del'>-    return f_to_f(dat-&gt;real);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.to_r  -&gt;  rational</div><div class='del'>- *</div><div class='del'>- * Returns the value as a rational if possible (the imaginary part</div><div class='del'>- * should be exactly zero).</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 0).to_r    #=&gt; (1/1)</div><div class='del'>- *    Complex(1, 0.0).to_r  # RangeError</div><div class='del'>- *    Complex(1, 2).to_r    # RangeError</div><div class='del'>- *</div><div class='del'>- * See rationalize.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_to_r(VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='del'>-	rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Rational",</div><div class='del'>-		 self);</div><div class='del'>-    }</div><div class='del'>-    return f_to_r(dat-&gt;real);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    cmp.rationalize([eps])  -&gt;  rational</div><div class='del'>- *</div><div class='del'>- * Returns the value as a rational if possible (the imaginary part</div><div class='del'>- * should be exactly zero).</div><div class='del'>- *</div><div class='del'>- *    Complex(1.0/3, 0).rationalize  #=&gt; (1/3)</div><div class='del'>- *    Complex(1, 0.0).rationalize    # RangeError</div><div class='del'>- *    Complex(1, 2).rationalize      # RangeError</div><div class='del'>- *</div><div class='del'>- * See to_r.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_rationalize(int argc, VALUE *argv, VALUE self)</div><div class='del'>-{</div><div class='del'>-    get_dat1(self);</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-</div><div class='del'>-    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='del'>-       rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Rational",</div><div class='del'>-                self);</div><div class='del'>-    }</div><div class='del'>-    return rb_funcallv(dat-&gt;real, id_rationalize, argc, argv);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    complex.to_c  -&gt;  self</div><div class='del'>- *</div><div class='del'>- * Returns self.</div><div class='del'>- *</div><div class='del'>- *    Complex(2).to_c      #=&gt; (2+0i)</div><div class='del'>- *    Complex(-8, 6).to_c  #=&gt; (-8+6i)</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_to_c(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    nil.to_c  -&gt;  (0+0i)</div><div class='del'>- *</div><div class='del'>- * Returns zero as a complex.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-nilclass_to_c(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return rb_complex_new1(INT2FIX(0));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.to_c  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Returns the value as a complex.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_to_c(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return rb_complex_new1(self);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#include &lt;ctype.h&gt;</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-issign(int c)</div><div class='del'>-{</div><div class='del'>-    return (c == '-' || c == '+');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-read_sign(const char **s,</div><div class='del'>-	  char **b)</div><div class='del'>-{</div><div class='del'>-    int sign = '?';</div><div class='del'>-</div><div class='del'>-    if (issign(**s)) {</div><div class='del'>-	sign = **b = **s;</div><div class='del'>-	(*s)++;</div><div class='del'>-	(*b)++;</div><div class='del'>-    }</div><div class='del'>-    return sign;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-isdecimal(int c)</div><div class='del'>-{</div><div class='del'>-    return isdigit((unsigned char)c);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-read_digits(const char **s, int strict,</div><div class='del'>-	    char **b)</div><div class='del'>-{</div><div class='del'>-    int us = 1;</div><div class='del'>-</div><div class='del'>-    if (!isdecimal(**s))</div><div class='del'>-	return 0;</div><div class='del'>-</div><div class='del'>-    while (isdecimal(**s) || **s == '_') {</div><div class='del'>-	if (**s == '_') {</div><div class='del'>-	    if (strict) {</div><div class='del'>-		if (us)</div><div class='del'>-		    return 0;</div><div class='del'>-	    }</div><div class='del'>-	    us = 1;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    **b = **s;</div><div class='del'>-	    (*b)++;</div><div class='del'>-	    us = 0;</div><div class='del'>-	}</div><div class='del'>-	(*s)++;</div><div class='del'>-    }</div><div class='del'>-    if (us)</div><div class='del'>-	do {</div><div class='del'>-	    (*s)--;</div><div class='del'>-	} while (**s == '_');</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-islettere(int c)</div><div class='del'>-{</div><div class='del'>-    return (c == 'e' || c == 'E');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-read_num(const char **s, int strict,</div><div class='del'>-	 char **b)</div><div class='del'>-{</div><div class='del'>-    if (**s != '.') {</div><div class='del'>-	if (!read_digits(s, strict, b))</div><div class='del'>-	    return 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (**s == '.') {</div><div class='del'>-	**b = **s;</div><div class='del'>-	(*s)++;</div><div class='del'>-	(*b)++;</div><div class='del'>-	if (!read_digits(s, strict, b)) {</div><div class='del'>-	    (*b)--;</div><div class='del'>-	    return 0;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (islettere(**s)) {</div><div class='del'>-	**b = **s;</div><div class='del'>-	(*s)++;</div><div class='del'>-	(*b)++;</div><div class='del'>-	read_sign(s, b);</div><div class='del'>-	if (!read_digits(s, strict, b)) {</div><div class='del'>-	    (*b)--;</div><div class='del'>-	    return 0;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-read_den(const char **s, int strict,</div><div class='del'>-	 char **b)</div><div class='del'>-{</div><div class='del'>-    if (!read_digits(s, strict, b))</div><div class='del'>-	return 0;</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-read_rat_nos(const char **s, int strict,</div><div class='del'>-	     char **b)</div><div class='del'>-{</div><div class='del'>-    if (!read_num(s, strict, b))</div><div class='del'>-	return 0;</div><div class='del'>-    if (**s == '/') {</div><div class='del'>-	**b = **s;</div><div class='del'>-	(*s)++;</div><div class='del'>-	(*b)++;</div><div class='del'>-	if (!read_den(s, strict, b)) {</div><div class='del'>-	    (*b)--;</div><div class='del'>-	    return 0;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-read_rat(const char **s, int strict,</div><div class='del'>-	 char **b)</div><div class='del'>-{</div><div class='del'>-    read_sign(s, b);</div><div class='del'>-    if (!read_rat_nos(s, strict, b))</div><div class='del'>-	return 0;</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-isimagunit(int c)</div><div class='del'>-{</div><div class='del'>-    return (c == 'i' || c == 'I' ||</div><div class='del'>-	    c == 'j' || c == 'J');</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-str2num(char *s)</div><div class='del'>-{</div><div class='del'>-    if (strchr(s, '/'))</div><div class='del'>-	return rb_cstr_to_rat(s, 0);</div><div class='del'>-    if (strpbrk(s, ".eE"))</div><div class='del'>-	return DBL2NUM(rb_cstr_to_dbl(s, 0));</div><div class='del'>-    return rb_cstr_to_inum(s, 10, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-read_comp(const char **s, int strict,</div><div class='del'>-	  VALUE *ret, char **b)</div><div class='del'>-{</div><div class='del'>-    char *bb;</div><div class='del'>-    int sign;</div><div class='del'>-    VALUE num, num2;</div><div class='del'>-</div><div class='del'>-    bb = *b;</div><div class='del'>-</div><div class='del'>-    sign = read_sign(s, b);</div><div class='del'>-</div><div class='del'>-    if (isimagunit(**s)) {</div><div class='del'>-	(*s)++;</div><div class='del'>-	num = INT2FIX((sign == '-') ? -1 : + 1);</div><div class='del'>-	*ret = rb_complex_new2(ZERO, num);</div><div class='del'>-	return 1; /* e.g. "i" */</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!read_rat_nos(s, strict, b)) {</div><div class='del'>-	**b = '\0';</div><div class='del'>-	num = str2num(bb);</div><div class='del'>-	*ret = rb_complex_new2(num, ZERO);</div><div class='del'>-	return 0; /* e.g. "-" */</div><div class='del'>-    }</div><div class='del'>-    **b = '\0';</div><div class='del'>-    num = str2num(bb);</div><div class='del'>-</div><div class='del'>-    if (isimagunit(**s)) {</div><div class='del'>-	(*s)++;</div><div class='del'>-	*ret = rb_complex_new2(ZERO, num);</div><div class='del'>-	return 1; /* e.g. "3i" */</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (**s == '@') {</div><div class='del'>-	int st;</div><div class='del'>-</div><div class='del'>-	(*s)++;</div><div class='del'>-	bb = *b;</div><div class='del'>-	st = read_rat(s, strict, b);</div><div class='del'>-	**b = '\0';</div><div class='del'>-	if (strlen(bb) &lt; 1 ||</div><div class='del'>-	    !isdecimal(*(bb + strlen(bb) - 1))) {</div><div class='del'>-	    *ret = rb_complex_new2(num, ZERO);</div><div class='del'>-	    return 0; /* e.g. "1@-" */</div><div class='del'>-	}</div><div class='del'>-	num2 = str2num(bb);</div><div class='del'>-	*ret = rb_complex_new_polar(num, num2);</div><div class='del'>-	if (!st)</div><div class='del'>-	    return 0; /* e.g. "1@2." */</div><div class='del'>-	else</div><div class='del'>-	    return 1; /* e.g. "1@2" */</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (issign(**s)) {</div><div class='del'>-	bb = *b;</div><div class='del'>-	sign = read_sign(s, b);</div><div class='del'>-	if (isimagunit(**s))</div><div class='del'>-	    num2 = INT2FIX((sign == '-') ? -1 : + 1);</div><div class='del'>-	else {</div><div class='del'>-	    if (!read_rat_nos(s, strict, b)) {</div><div class='del'>-		*ret = rb_complex_new2(num, ZERO);</div><div class='del'>-		return 0; /* e.g. "1+xi" */</div><div class='del'>-	    }</div><div class='del'>-	    **b = '\0';</div><div class='del'>-	    num2 = str2num(bb);</div><div class='del'>-	}</div><div class='del'>-	if (!isimagunit(**s)) {</div><div class='del'>-	    *ret = rb_complex_new2(num, ZERO);</div><div class='del'>-	    return 0; /* e.g. "1+3x" */</div><div class='del'>-	}</div><div class='del'>-	(*s)++;</div><div class='del'>-	*ret = rb_complex_new2(num, num2);</div><div class='del'>-	return 1; /* e.g. "1+2i" */</div><div class='del'>-    }</div><div class='del'>-    /* !(@, - or +) */</div><div class='del'>-    {</div><div class='del'>-	*ret = rb_complex_new2(num, ZERO);</div><div class='del'>-	return 1; /* e.g. "3" */</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-inline static void</div><div class='del'>-skip_ws(const char **s)</div><div class='del'>-{</div><div class='del'>-    while (isspace((unsigned char)**s))</div><div class='del'>-	(*s)++;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-parse_comp(const char *s, int strict, VALUE *num)</div><div class='del'>-{</div><div class='del'>-    char *buf, *b;</div><div class='del'>-    VALUE tmp;</div><div class='del'>-    int ret = 1;</div><div class='del'>-</div><div class='del'>-    buf = ALLOCV_N(char, tmp, strlen(s) + 1);</div><div class='del'>-    b = buf;</div><div class='del'>-</div><div class='del'>-    skip_ws(&amp;s);</div><div class='del'>-    if (!read_comp(&amp;s, strict, num, &amp;b)) {</div><div class='del'>-        ret = 0;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        skip_ws(&amp;s);</div><div class='del'>-</div><div class='del'>-        if (strict)</div><div class='del'>-            if (*s != '\0')</div><div class='del'>-                ret = 0;</div><div class='del'>-    }</div><div class='del'>-    ALLOCV_END(tmp);</div><div class='del'>-</div><div class='del'>-    return ret;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-string_to_c_strict(VALUE self, int raise)</div><div class='del'>-{</div><div class='del'>-    char *s;</div><div class='del'>-    VALUE num;</div><div class='del'>-</div><div class='del'>-    rb_must_asciicompat(self);</div><div class='del'>-</div><div class='del'>-    s = RSTRING_PTR(self);</div><div class='del'>-</div><div class='del'>-    if (!s || memchr(s, '\0', RSTRING_LEN(self))) {</div><div class='del'>-        if (!raise) return Qnil;</div><div class='del'>-	rb_raise(rb_eArgError, "string contains null byte");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (s &amp;&amp; s[RSTRING_LEN(self)]) {</div><div class='del'>-	rb_str_modify(self);</div><div class='del'>-	s = RSTRING_PTR(self);</div><div class='del'>-	s[RSTRING_LEN(self)] = '\0';</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!s)</div><div class='del'>-	s = (char *)"";</div><div class='del'>-</div><div class='del'>-    if (!parse_comp(s, 1, &amp;num)) {</div><div class='del'>-        if (!raise) return Qnil;</div><div class='del'>-	rb_raise(rb_eArgError, "invalid value for convert(): %+"PRIsVALUE,</div><div class='del'>-		 self);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return num;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    str.to_c  -&gt;  complex</div><div class='del'>- *</div><div class='del'>- * Returns a complex which denotes the string form.  The parser</div><div class='del'>- * ignores leading whitespaces and trailing garbage.  Any digit</div><div class='del'>- * sequences can be separated by an underscore.  Returns zero for null</div><div class='del'>- * or garbage string.</div><div class='del'>- *</div><div class='del'>- *    '9'.to_c           #=&gt; (9+0i)</div><div class='del'>- *    '2.5'.to_c         #=&gt; (2.5+0i)</div><div class='del'>- *    '2.5/1'.to_c       #=&gt; ((5/2)+0i)</div><div class='del'>- *    '-3/2'.to_c        #=&gt; ((-3/2)+0i)</div><div class='del'>- *    '-i'.to_c          #=&gt; (0-1i)</div><div class='del'>- *    '45i'.to_c         #=&gt; (0+45i)</div><div class='del'>- *    '3-4i'.to_c        #=&gt; (3-4i)</div><div class='del'>- *    '-4e2-4e-2i'.to_c  #=&gt; (-400.0-0.04i)</div><div class='del'>- *    '-0.0-0.0i'.to_c   #=&gt; (-0.0-0.0i)</div><div class='del'>- *    '1/2+3/4i'.to_c    #=&gt; ((1/2)+(3/4)*i)</div><div class='del'>- *    'ruby'.to_c        #=&gt; (0+0i)</div><div class='del'>- *</div><div class='del'>- * See Kernel.Complex.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-string_to_c(VALUE self)</div><div class='del'>-{</div><div class='del'>-    char *s;</div><div class='del'>-    VALUE num;</div><div class='del'>-</div><div class='del'>-    rb_must_asciicompat(self);</div><div class='del'>-</div><div class='del'>-    s = RSTRING_PTR(self);</div><div class='del'>-</div><div class='del'>-    if (s &amp;&amp; s[RSTRING_LEN(self)]) {</div><div class='del'>-	rb_str_modify(self);</div><div class='del'>-	s = RSTRING_PTR(self);</div><div class='del'>-	s[RSTRING_LEN(self)] = '\0';</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!s)</div><div class='del'>-	s = (char *)"";</div><div class='del'>-</div><div class='del'>-    (void)parse_comp(s, 0, &amp;num);</div><div class='del'>-</div><div class='del'>-    return num;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-to_complex(VALUE val)</div><div class='del'>-{</div><div class='del'>-    return rb_convert_type(val, T_COMPLEX, "Complex", "to_c");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_convert(VALUE klass, VALUE a1, VALUE a2, int raise)</div><div class='del'>-{</div><div class='del'>-    if (NIL_P(a1) || NIL_P(a2))</div><div class='del'>-	rb_raise(rb_eTypeError, "can't convert nil into Complex");</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(a1, T_STRING)) {</div><div class='del'>-	a1 = string_to_c_strict(a1, raise);</div><div class='del'>-        if (NIL_P(a1)) return Qnil;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(a2, T_STRING)) {</div><div class='del'>-	a2 = string_to_c_strict(a2, raise);</div><div class='del'>-        if (NIL_P(a2)) return Qnil;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(a1, T_COMPLEX)) {</div><div class='del'>-	{</div><div class='del'>-	    get_dat1(a1);</div><div class='del'>-</div><div class='del'>-	    if (k_exact_zero_p(dat-&gt;imag))</div><div class='del'>-		a1 = dat-&gt;real;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(a2, T_COMPLEX)) {</div><div class='del'>-	{</div><div class='del'>-	    get_dat1(a2);</div><div class='del'>-</div><div class='del'>-	    if (k_exact_zero_p(dat-&gt;imag))</div><div class='del'>-		a2 = dat-&gt;real;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (RB_TYPE_P(a1, T_COMPLEX)) {</div><div class='del'>-	if (a2 == Qundef || (k_exact_zero_p(a2)))</div><div class='del'>-	    return a1;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (a2 == Qundef) {</div><div class='del'>-	if (k_numeric_p(a1) &amp;&amp; !f_real_p(a1))</div><div class='del'>-	    return a1;</div><div class='del'>-	/* should raise exception for consistency */</div><div class='del'>-	if (!k_numeric_p(a1)) {</div><div class='del'>-            if (!raise)</div><div class='del'>-                return rb_protect(to_complex, a1, NULL);</div><div class='del'>-	    return to_complex(a1);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	if ((k_numeric_p(a1) &amp;&amp; k_numeric_p(a2)) &amp;&amp;</div><div class='del'>-	    (!f_real_p(a1) || !f_real_p(a2)))</div><div class='del'>-	    return f_add(a1,</div><div class='del'>-			 f_mul(a2,</div><div class='del'>-			       f_complex_new_bang2(rb_cComplex, ZERO, ONE)));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    {</div><div class='del'>-        int argc;</div><div class='del'>-	VALUE argv2[2];</div><div class='del'>-	argv2[0] = a1;</div><div class='del'>-        if (a2 == Qundef) {</div><div class='del'>-            argv2[1] = Qnil;</div><div class='del'>-            argc = 1;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            if (!raise &amp;&amp; !RB_INTEGER_TYPE_P(a2) &amp;&amp; !RB_FLOAT_TYPE_P(a2) &amp;&amp; !RB_TYPE_P(a2, T_RATIONAL))</div><div class='del'>-                return Qnil;</div><div class='del'>-            argv2[1] = a2;</div><div class='del'>-            argc = 2;</div><div class='del'>-        }</div><div class='del'>-	return nucomp_s_new(argc, argv2, klass);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-nucomp_s_convert(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    VALUE a1, a2;</div><div class='del'>-</div><div class='del'>-    if (rb_scan_args(argc, argv, "11", &amp;a1, &amp;a2) == 1) {</div><div class='del'>-        a2 = Qundef;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return nucomp_convert(klass, a1, a2, TRUE);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* --- */</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.real  -&gt;  self</div><div class='del'>- *</div><div class='del'>- * Returns self.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_real(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.imag       -&gt;  0</div><div class='del'>- *    num.imaginary  -&gt;  0</div><div class='del'>- *</div><div class='del'>- * Returns zero.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_imag(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return INT2FIX(0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.abs2  -&gt;  real</div><div class='del'>- *</div><div class='del'>- * Returns square of self.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_abs2(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return f_mul(self, self);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.arg    -&gt;  0 or float</div><div class='del'>- *    num.angle  -&gt;  0 or float</div><div class='del'>- *    num.phase  -&gt;  0 or float</div><div class='del'>- *</div><div class='del'>- * Returns 0 if the value is positive, pi otherwise.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_arg(VALUE self)</div><div class='del'>-{</div><div class='del'>-    if (f_positive_p(self))</div><div class='del'>-        return INT2FIX(0);</div><div class='del'>-    return DBL2NUM(M_PI);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.rect  -&gt;  array</div><div class='del'>- *    num.rectangular  -&gt;  array</div><div class='del'>- *</div><div class='del'>- * Returns an array; [num, 0].</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_rect(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return rb_assoc_new(self, INT2FIX(0));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE float_arg(VALUE self);</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.polar  -&gt;  array</div><div class='del'>- *</div><div class='del'>- * Returns an array; [num.abs, num.arg].</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_polar(VALUE self)</div><div class='del'>-{</div><div class='del'>-    VALUE abs, arg;</div><div class='del'>-</div><div class='del'>-    if (RB_INTEGER_TYPE_P(self)) {</div><div class='del'>-        abs = rb_int_abs(self);</div><div class='del'>-        arg = numeric_arg(self);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_FLOAT_TYPE_P(self)) {</div><div class='del'>-        abs = rb_float_abs(self);</div><div class='del'>-        arg = float_arg(self);</div><div class='del'>-    }</div><div class='del'>-    else if (RB_TYPE_P(self, T_RATIONAL)) {</div><div class='del'>-        abs = rb_rational_abs(self);</div><div class='del'>-        arg = numeric_arg(self);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        abs = f_abs(self);</div><div class='del'>-        arg = f_arg(self);</div><div class='del'>-    }</div><div class='del'>-    return rb_assoc_new(abs, arg);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    num.conj       -&gt;  self</div><div class='del'>- *    num.conjugate  -&gt;  self</div><div class='del'>- *</div><div class='del'>- * Returns self.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-numeric_conj(VALUE self)</div><div class='del'>-{</div><div class='del'>-    return self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *    flo.arg    -&gt;  0 or float</div><div class='del'>- *    flo.angle  -&gt;  0 or float</div><div class='del'>- *    flo.phase  -&gt;  0 or float</div><div class='del'>- *</div><div class='del'>- * Returns 0 if the value is positive, pi otherwise.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-float_arg(VALUE self)</div><div class='del'>-{</div><div class='del'>-    if (isnan(RFLOAT_VALUE(self)))</div><div class='del'>-	return self;</div><div class='del'>-    if (f_tpositive_p(self))</div><div class='del'>-	return INT2FIX(0);</div><div class='del'>-    return rb_const_get(rb_mMath, id_PI);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * A complex number can be represented as a paired real number with</div><div class='del'>- * imaginary unit; a+bi.  Where a is real part, b is imaginary part</div><div class='del'>- * and i is imaginary unit.  Real a equals complex a+0i</div><div class='del'>- * mathematically.</div><div class='del'>- *</div><div class='del'>- * Complex object can be created as literal, and also by using</div><div class='del'>- * Kernel#Complex, Complex::rect, Complex::polar or to_c method.</div><div class='del'>- *</div><div class='del'>- *    2+1i                 #=&gt; (2+1i)</div><div class='del'>- *    Complex(1)           #=&gt; (1+0i)</div><div class='del'>- *    Complex(2, 3)        #=&gt; (2+3i)</div><div class='del'>- *    Complex.polar(2, 3)  #=&gt; (-1.9799849932008908+0.2822400161197344i)</div><div class='del'>- *    3.to_c               #=&gt; (3+0i)</div><div class='del'>- *</div><div class='del'>- * You can also create complex object from floating-point numbers or</div><div class='del'>- * strings.</div><div class='del'>- *</div><div class='del'>- *    Complex(0.3)         #=&gt; (0.3+0i)</div><div class='del'>- *    Complex('0.3-0.5i')  #=&gt; (0.3-0.5i)</div><div class='del'>- *    Complex('2/3+3/4i')  #=&gt; ((2/3)+(3/4)*i)</div><div class='del'>- *    Complex('1@2')       #=&gt; (-0.4161468365471424+0.9092974268256817i)</div><div class='del'>- *</div><div class='del'>- *    0.3.to_c             #=&gt; (0.3+0i)</div><div class='del'>- *    '0.3-0.5i'.to_c      #=&gt; (0.3-0.5i)</div><div class='del'>- *    '2/3+3/4i'.to_c      #=&gt; ((2/3)+(3/4)*i)</div><div class='del'>- *    '1@2'.to_c           #=&gt; (-0.4161468365471424+0.9092974268256817i)</div><div class='del'>- *</div><div class='del'>- * A complex object is either an exact or an inexact number.</div><div class='del'>- *</div><div class='del'>- *    Complex(1, 1) / 2    #=&gt; ((1/2)+(1/2)*i)</div><div class='del'>- *    Complex(1, 1) / 2.0  #=&gt; (0.5+0.5i)</div><div class='del'>- */</div><div class='del'>-void</div><div class='del'>-Init_Complex(void)</div><div class='del'>-{</div><div class='del'>-    VALUE compat;</div><div class='del'>-#undef rb_intern</div><div class='del'>-#define rb_intern(str) rb_intern_const(str)</div><div class='del'>-</div><div class='del'>-    id_abs = rb_intern("abs");</div><div class='del'>-    id_arg = rb_intern("arg");</div><div class='del'>-    id_denominator = rb_intern("denominator");</div><div class='del'>-    id_fdiv = rb_intern("fdiv");</div><div class='del'>-    id_numerator = rb_intern("numerator");</div><div class='del'>-    id_quo = rb_intern("quo");</div><div class='del'>-    id_real_p = rb_intern("real?");</div><div class='del'>-    id_i_real = rb_intern("@real");</div><div class='del'>-    id_i_imag = rb_intern("@image"); /* @image, not @imag */</div><div class='del'>-    id_finite_p = rb_intern("finite?");</div><div class='del'>-    id_infinite_p = rb_intern("infinite?");</div><div class='del'>-    id_rationalize = rb_intern("rationalize");</div><div class='del'>-    id_PI = rb_intern("PI");</div><div class='del'>-</div><div class='del'>-    rb_cComplex = rb_define_class("Complex", rb_cNumeric);</div><div class='del'>-</div><div class='del'>-    rb_define_alloc_func(rb_cComplex, nucomp_s_alloc);</div><div class='del'>-    rb_undef_method(CLASS_OF(rb_cComplex), "allocate");</div><div class='del'>-</div><div class='del'>-    rb_undef_method(CLASS_OF(rb_cComplex), "new");</div><div class='del'>-</div><div class='del'>-    rb_define_singleton_method(rb_cComplex, "rectangular", nucomp_s_new, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cComplex, "rect", nucomp_s_new, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cComplex, "polar", nucomp_s_polar, -1);</div><div class='del'>-</div><div class='del'>-    rb_define_global_function("Complex", nucomp_f_complex, -1);</div><div class='del'>-</div><div class='del'>-    rb_undef_methods_from(rb_cComplex, rb_mComparable);</div><div class='del'>-    rb_undef_method(rb_cComplex, "%");</div><div class='del'>-    rb_undef_method(rb_cComplex, "&lt;=&gt;");</div><div class='del'>-    rb_undef_method(rb_cComplex, "div");</div><div class='del'>-    rb_undef_method(rb_cComplex, "divmod");</div><div class='del'>-    rb_undef_method(rb_cComplex, "floor");</div><div class='del'>-    rb_undef_method(rb_cComplex, "ceil");</div><div class='del'>-    rb_undef_method(rb_cComplex, "modulo");</div><div class='del'>-    rb_undef_method(rb_cComplex, "remainder");</div><div class='del'>-    rb_undef_method(rb_cComplex, "round");</div><div class='del'>-    rb_undef_method(rb_cComplex, "step");</div><div class='del'>-    rb_undef_method(rb_cComplex, "truncate");</div><div class='del'>-    rb_undef_method(rb_cComplex, "i");</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "real", rb_complex_real, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "imaginary", rb_complex_imag, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "imag", rb_complex_imag, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "-@", rb_complex_uminus, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "+", rb_complex_plus, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "-", rb_complex_minus, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "*", rb_complex_mul, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "/", rb_complex_div, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "quo", nucomp_quo, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "fdiv", nucomp_fdiv, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "**", rb_complex_pow, 1);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "==", nucomp_eqeq_p, 1);</div><div class='del'>-    rb_define_method(rb_cComplex, "coerce", nucomp_coerce, 1);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "abs", rb_complex_abs, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "magnitude", rb_complex_abs, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "abs2", nucomp_abs2, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "arg", rb_complex_arg, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "angle", rb_complex_arg, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "phase", rb_complex_arg, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "rectangular", nucomp_rect, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "rect", nucomp_rect, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "polar", nucomp_polar, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "conjugate", rb_complex_conjugate, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "conj", rb_complex_conjugate, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "real?", nucomp_false, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "numerator", nucomp_numerator, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "denominator", nucomp_denominator, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "hash", nucomp_hash, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "eql?", nucomp_eql_p, 1);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "to_s", nucomp_to_s, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "inspect", nucomp_inspect, 0);</div><div class='del'>-</div><div class='del'>-    rb_undef_method(rb_cComplex, "positive?");</div><div class='del'>-    rb_undef_method(rb_cComplex, "negative?");</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "finite?", rb_complex_finite_p, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "infinite?", rb_complex_infinite_p, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_private_method(rb_cComplex, "marshal_dump", nucomp_marshal_dump, 0);</div><div class='del'>-    /* :nodoc: */</div><div class='del'>-    compat = rb_define_class_under(rb_cComplex, "compatible", rb_cObject);</div><div class='del'>-    rb_define_private_method(compat, "marshal_load", nucomp_marshal_load, 1);</div><div class='del'>-    rb_marshal_define_compat(rb_cComplex, compat, nucomp_dumper, nucomp_loader);</div><div class='del'>-</div><div class='del'>-    /* --- */</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cComplex, "to_i", nucomp_to_i, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "to_f", nucomp_to_f, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "to_r", nucomp_to_r, 0);</div><div class='del'>-    rb_define_method(rb_cComplex, "rationalize", nucomp_rationalize, -1);</div><div class='del'>-    rb_define_method(rb_cComplex, "to_c", nucomp_to_c, 0);</div><div class='del'>-    rb_define_method(rb_cNilClass, "to_c", nilclass_to_c, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "to_c", numeric_to_c, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cString, "to_c", string_to_c, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_private_method(CLASS_OF(rb_cComplex), "convert", nucomp_s_convert, -1);</div><div class='del'>-</div><div class='del'>-    /* --- */</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cNumeric, "real", numeric_real, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "imaginary", numeric_imag, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "imag", numeric_imag, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "abs2", numeric_abs2, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "arg", numeric_arg, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "angle", numeric_arg, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "phase", numeric_arg, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "rectangular", numeric_rect, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "rect", numeric_rect, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "polar", numeric_polar, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "conjugate", numeric_conj, 0);</div><div class='del'>-    rb_define_method(rb_cNumeric, "conj", numeric_conj, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cFloat, "arg", float_arg, 0);</div><div class='del'>-    rb_define_method(rb_cFloat, "angle", float_arg, 0);</div><div class='del'>-    rb_define_method(rb_cFloat, "phase", float_arg, 0);</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * The imaginary unit.</div><div class='del'>-     */</div><div class='del'>-    rb_define_const(rb_cComplex, "I",</div><div class='del'>-		    f_complex_new_bang2(rb_cComplex, ZERO, ONE));</div><div class='del'>-</div><div class='del'>-#if !USE_FLONUM</div><div class='del'>-    rb_gc_register_mark_object(RFLOAT_0 = DBL2NUM(0.0));</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    rb_provide("complex.so");	/* for backward compatibility */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>-Local variables:</div><div class='del'>-c-file-style: "ruby"</div><div class='del'>-End:</div><div class='del'>-*/</div><div class='head'>diff --git a/config.guess b/config.guess<br/>new file mode 100644<br/>index 0000000000..dd1688b7b5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/config.guess?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>config.guess</a></div><div class='hunk'>@@ -0,0 +1,1459 @@</div><div class='add'>+#! /bin/sh</div><div class='add'>+# Attempt to guess a canonical system name.</div><div class='add'>+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,</div><div class='add'>+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+timestamp='2004-06-11'</div><div class='add'>+</div><div class='add'>+# This file is free software; you can redistribute it and/or modify it</div><div class='add'>+# under the terms of the GNU General Public License as published by</div><div class='add'>+# the Free Software Foundation; either version 2 of the License, or</div><div class='add'>+# (at your option) any later version.</div><div class='add'>+#</div><div class='add'>+# This program is distributed in the hope that it will be useful, but</div><div class='add'>+# WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='add'>+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</div><div class='add'>+# General Public License for more details.</div><div class='add'>+#</div><div class='add'>+# You should have received a copy of the GNU General Public License</div><div class='add'>+# along with this program; if not, write to the Free Software</div><div class='add'>+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</div><div class='add'>+#</div><div class='add'>+# As a special exception to the GNU General Public License, if you</div><div class='add'>+# distribute this file as part of a program that contains a</div><div class='add'>+# configuration script generated by Autoconf, you may include it under</div><div class='add'>+# the same distribution terms that you use for the rest of that program.</div><div class='add'>+</div><div class='add'>+# Originally written by Per Bothner &lt;per@bothner.com&gt;.</div><div class='add'>+# Please send patches to &lt;config-patches@gnu.org&gt;.  Submit a context</div><div class='add'>+# diff and a properly formatted ChangeLog entry.</div><div class='add'>+#</div><div class='add'>+# This script attempts to guess a canonical system name similar to</div><div class='add'>+# config.sub.  If it succeeds, it prints the system name on stdout, and</div><div class='add'>+# exits with 0.  Otherwise, it exits with 1.</div><div class='add'>+#</div><div class='add'>+# The plan is that this can be called by configure scripts if you</div><div class='add'>+# don't specify an explicit build system type.</div><div class='add'>+</div><div class='add'>+me=`echo "$0" | sed -e 's,.*/,,'`</div><div class='add'>+</div><div class='add'>+usage="\</div><div class='add'>+Usage: $0 [OPTION]</div><div class='add'>+</div><div class='add'>+Output the configuration name of the system \`$me' is run on.</div><div class='add'>+</div><div class='add'>+Operation modes:</div><div class='add'>+  -h, --help         print this help, then exit</div><div class='add'>+  -t, --time-stamp   print date of last modification, then exit</div><div class='add'>+  -v, --version      print version number, then exit</div><div class='add'>+</div><div class='add'>+Report bugs and patches to &lt;config-patches@gnu.org&gt;."</div><div class='add'>+</div><div class='add'>+version="\</div><div class='add'>+GNU config.guess ($timestamp)</div><div class='add'>+</div><div class='add'>+Originally written by Per Bothner.</div><div class='add'>+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001</div><div class='add'>+Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+This is free software; see the source for copying conditions.  There is NO</div><div class='add'>+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."</div><div class='add'>+</div><div class='add'>+help="</div><div class='add'>+Try \`$me --help' for more information."</div><div class='add'>+</div><div class='add'>+# Parse command line</div><div class='add'>+while test $# -gt 0 ; do</div><div class='add'>+  case $1 in</div><div class='add'>+    --time-stamp | --time* | -t )</div><div class='add'>+       echo "$timestamp" ; exit 0 ;;</div><div class='add'>+    --version | -v )</div><div class='add'>+       echo "$version" ; exit 0 ;;</div><div class='add'>+    --help | --h* | -h )</div><div class='add'>+       echo "$usage"; exit 0 ;;</div><div class='add'>+    -- )     # Stop option processing</div><div class='add'>+       shift; break ;;</div><div class='add'>+    - )	# Use stdin as input.</div><div class='add'>+       break ;;</div><div class='add'>+    -* )</div><div class='add'>+       echo "$me: invalid option $1$help" &gt;&amp;2</div><div class='add'>+       exit 1 ;;</div><div class='add'>+    * )</div><div class='add'>+       break ;;</div><div class='add'>+  esac</div><div class='add'>+done</div><div class='add'>+</div><div class='add'>+if test $# != 0; then</div><div class='add'>+  echo "$me: too many arguments$help" &gt;&amp;2</div><div class='add'>+  exit 1</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+trap 'exit 1' 1 2 15</div><div class='add'>+</div><div class='add'>+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a</div><div class='add'>+# compiler to aid in system detection is discouraged as it requires</div><div class='add'>+# temporary files to be created and, as you can see below, it is a</div><div class='add'>+# headache to deal with in a portable fashion.</div><div class='add'>+</div><div class='add'>+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still</div><div class='add'>+# use `HOST_CC' if defined, but it is deprecated.</div><div class='add'>+</div><div class='add'>+# Portable tmp directory creation inspired by the Autoconf team.</div><div class='add'>+</div><div class='add'>+set_cc_for_build='</div><div class='add'>+trap "exitcode=\$?; (rm -f \$tmpfiles 2&gt;/dev/null; rmdir \$tmp 2&gt;/dev/null) &amp;&amp; exit \$exitcode" 0 ;</div><div class='add'>+trap "rm -f \$tmpfiles 2&gt;/dev/null; rmdir \$tmp 2&gt;/dev/null; exit 1" 1 2 13 15 ;</div><div class='add'>+: ${TMPDIR=/tmp} ;</div><div class='add'>+ { tmp=`(umask 077 &amp;&amp; mktemp -d -q "$TMPDIR/cgXXXXXX") 2&gt;/dev/null` &amp;&amp; test -n "$tmp" &amp;&amp; test -d "$tmp" ; } ||</div><div class='add'>+ { test -n "$RANDOM" &amp;&amp; tmp=$TMPDIR/cg$$-$RANDOM &amp;&amp; (umask 077 &amp;&amp; mkdir $tmp) ; } ||</div><div class='add'>+ { tmp=$TMPDIR/cg-$$ &amp;&amp; (umask 077 &amp;&amp; mkdir $tmp) &amp;&amp; echo "Warning: creating insecure temp directory" &gt;&amp;2 ; } ||</div><div class='add'>+ { echo "$me: cannot create a temporary directory in $TMPDIR" &gt;&amp;2 ; exit 1 ; } ;</div><div class='add'>+dummy=$tmp/dummy ;</div><div class='add'>+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;</div><div class='add'>+case $CC_FOR_BUILD,$HOST_CC,$CC in</div><div class='add'>+ ,,)    echo "int x;" &gt; $dummy.c ;</div><div class='add'>+	for c in cc gcc c89 c99 ; do</div><div class='add'>+	  if ($c -c -o $dummy.o $dummy.c) &gt;/dev/null 2&gt;&amp;1 ; then</div><div class='add'>+	     CC_FOR_BUILD="$c"; break ;</div><div class='add'>+	  fi ;</div><div class='add'>+	done ;</div><div class='add'>+	if test x"$CC_FOR_BUILD" = x ; then</div><div class='add'>+	  CC_FOR_BUILD=no_compiler_found ;</div><div class='add'>+	fi</div><div class='add'>+	;;</div><div class='add'>+ ,,*)   CC_FOR_BUILD=$CC ;;</div><div class='add'>+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;</div><div class='add'>+esac ;'</div><div class='add'>+</div><div class='add'>+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.</div><div class='add'>+# (ghazi@noc.rutgers.edu 1994-08-24)</div><div class='add'>+if (test -f /.attbin/uname) &gt;/dev/null 2&gt;&amp;1 ; then</div><div class='add'>+	PATH=$PATH:/.attbin ; export PATH</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+UNAME_MACHINE=`(uname -m) 2&gt;/dev/null` || UNAME_MACHINE=unknown</div><div class='add'>+UNAME_RELEASE=`(uname -r) 2&gt;/dev/null` || UNAME_RELEASE=unknown</div><div class='add'>+UNAME_SYSTEM=`(uname -s) 2&gt;/dev/null`  || UNAME_SYSTEM=unknown</div><div class='add'>+UNAME_VERSION=`(uname -v) 2&gt;/dev/null` || UNAME_VERSION=unknown</div><div class='add'>+</div><div class='add'>+# Note: order is significant - the case branches are not exclusive.</div><div class='add'>+</div><div class='add'>+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in</div><div class='add'>+    *:NetBSD:*:*)</div><div class='add'>+	# NetBSD (nbsd) targets should (where applicable) match one or</div><div class='add'>+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,</div><div class='add'>+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently</div><div class='add'>+	# switched to ELF, *-*-netbsd* would select the old</div><div class='add'>+	# object file format.  This provides both forward</div><div class='add'>+	# compatibility and a consistent mechanism for selecting the</div><div class='add'>+	# object file format.</div><div class='add'>+	#</div><div class='add'>+	# Note: NetBSD doesn't particularly care about the vendor</div><div class='add'>+	# portion of the name.  We always set it to "unknown".</div><div class='add'>+	sysctl="sysctl -n hw.machine_arch"</div><div class='add'>+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2&gt;/dev/null || \</div><div class='add'>+	    /usr/sbin/$sysctl 2&gt;/dev/null || echo unknown)`</div><div class='add'>+	case "${UNAME_MACHINE_ARCH}" in</div><div class='add'>+	    armeb) machine=armeb-unknown ;;</div><div class='add'>+	    arm*) machine=arm-unknown ;;</div><div class='add'>+	    sh3el) machine=shl-unknown ;;</div><div class='add'>+	    sh3eb) machine=sh-unknown ;;</div><div class='add'>+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;</div><div class='add'>+	esac</div><div class='add'>+	# The Operating System including object format, if it has switched</div><div class='add'>+	# to ELF recently, or will in the future.</div><div class='add'>+	case "${UNAME_MACHINE_ARCH}" in</div><div class='add'>+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)</div><div class='add'>+		eval $set_cc_for_build</div><div class='add'>+		if echo __ELF__ | $CC_FOR_BUILD -E - 2&gt;/dev/null \</div><div class='add'>+			| grep __ELF__ &gt;/dev/null</div><div class='add'>+		then</div><div class='add'>+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).</div><div class='add'>+		    # Return netbsd for either.  FIX?</div><div class='add'>+		    os=netbsd</div><div class='add'>+		else</div><div class='add'>+		    os=netbsdelf</div><div class='add'>+		fi</div><div class='add'>+		;;</div><div class='add'>+	    *)</div><div class='add'>+	        os=netbsd</div><div class='add'>+		;;</div><div class='add'>+	esac</div><div class='add'>+	# The OS release</div><div class='add'>+	# Debian GNU/NetBSD machines have a different userland, and</div><div class='add'>+	# thus, need a distinct triplet. However, they do not need</div><div class='add'>+	# kernel version information, so it can be replaced with a</div><div class='add'>+	# suitable tag, in the style of linux-gnu.</div><div class='add'>+	case "${UNAME_VERSION}" in</div><div class='add'>+	    Debian*)</div><div class='add'>+		release='-gnu'</div><div class='add'>+		;;</div><div class='add'>+	    *)</div><div class='add'>+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`</div><div class='add'>+		;;</div><div class='add'>+	esac</div><div class='add'>+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:</div><div class='add'>+	# contains redundant information, the shorter form:</div><div class='add'>+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.</div><div class='add'>+	echo "${machine}-${os}${release}"</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    amd64:OpenBSD:*:*)</div><div class='add'>+	echo x86_64-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    amiga:OpenBSD:*:*)</div><div class='add'>+	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    arc:OpenBSD:*:*)</div><div class='add'>+	echo mipsel-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    cats:OpenBSD:*:*)</div><div class='add'>+	echo arm-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    hp300:OpenBSD:*:*)</div><div class='add'>+	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    luna88k:OpenBSD:*:*)</div><div class='add'>+    	echo m88k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mac68k:OpenBSD:*:*)</div><div class='add'>+	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    macppc:OpenBSD:*:*)</div><div class='add'>+	echo powerpc-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mvme68k:OpenBSD:*:*)</div><div class='add'>+	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mvme88k:OpenBSD:*:*)</div><div class='add'>+	echo m88k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mvmeppc:OpenBSD:*:*)</div><div class='add'>+	echo powerpc-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    pmax:OpenBSD:*:*)</div><div class='add'>+	echo mipsel-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sgi:OpenBSD:*:*)</div><div class='add'>+	echo mipseb-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sun3:OpenBSD:*:*)</div><div class='add'>+	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    wgrisc:OpenBSD:*:*)</div><div class='add'>+	echo mipsel-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:OpenBSD:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:ekkoBSD:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    macppc:MirBSD:*:*)</div><div class='add'>+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:MirBSD:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    alpha:OSF1:*:*)</div><div class='add'>+	case $UNAME_RELEASE in</div><div class='add'>+	*4.0)</div><div class='add'>+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`</div><div class='add'>+		;;</div><div class='add'>+	*5.*)</div><div class='add'>+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`</div><div class='add'>+		;;</div><div class='add'>+	esac</div><div class='add'>+	# According to Compaq, /usr/sbin/psrinfo has been available on</div><div class='add'>+	# OSF/1 and Tru64 systems produced since 1995.  I hope that</div><div class='add'>+	# covers most systems running today.  This code pipes the CPU</div><div class='add'>+	# types through head -n 1, so we only detect the type of CPU 0.</div><div class='add'>+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`</div><div class='add'>+	case "$ALPHA_CPU_TYPE" in</div><div class='add'>+	    "EV4 (21064)")</div><div class='add'>+		UNAME_MACHINE="alpha" ;;</div><div class='add'>+	    "EV4.5 (21064)")</div><div class='add'>+		UNAME_MACHINE="alpha" ;;</div><div class='add'>+	    "LCA4 (21066/21068)")</div><div class='add'>+		UNAME_MACHINE="alpha" ;;</div><div class='add'>+	    "EV5 (21164)")</div><div class='add'>+		UNAME_MACHINE="alphaev5" ;;</div><div class='add'>+	    "EV5.6 (21164A)")</div><div class='add'>+		UNAME_MACHINE="alphaev56" ;;</div><div class='add'>+	    "EV5.6 (21164PC)")</div><div class='add'>+		UNAME_MACHINE="alphapca56" ;;</div><div class='add'>+	    "EV5.7 (21164PC)")</div><div class='add'>+		UNAME_MACHINE="alphapca57" ;;</div><div class='add'>+	    "EV6 (21264)")</div><div class='add'>+		UNAME_MACHINE="alphaev6" ;;</div><div class='add'>+	    "EV6.7 (21264A)")</div><div class='add'>+		UNAME_MACHINE="alphaev67" ;;</div><div class='add'>+	    "EV6.8CB (21264C)")</div><div class='add'>+		UNAME_MACHINE="alphaev68" ;;</div><div class='add'>+	    "EV6.8AL (21264B)")</div><div class='add'>+		UNAME_MACHINE="alphaev68" ;;</div><div class='add'>+	    "EV6.8CX (21264D)")</div><div class='add'>+		UNAME_MACHINE="alphaev68" ;;</div><div class='add'>+	    "EV6.9A (21264/EV69A)")</div><div class='add'>+		UNAME_MACHINE="alphaev69" ;;</div><div class='add'>+	    "EV7 (21364)")</div><div class='add'>+		UNAME_MACHINE="alphaev7" ;;</div><div class='add'>+	    "EV7.9 (21364A)")</div><div class='add'>+		UNAME_MACHINE="alphaev79" ;;</div><div class='add'>+	esac</div><div class='add'>+	# A Pn.n version is a patched version.</div><div class='add'>+	# A Vn.n version is a released version.</div><div class='add'>+	# A Tn.n version is a released field test version.</div><div class='add'>+	# A Xn.n version is an unreleased experimental baselevel.</div><div class='add'>+	# 1.2 uses "1.2" for uname -r.</div><div class='add'>+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Alpha*:OpenVMS:*:*)</div><div class='add'>+	echo alpha-hp-vms</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Alpha\ *:Windows_NT*:*)</div><div class='add'>+	# How do we know it's Interix rather than the generic POSIX subsystem?</div><div class='add'>+	# Should we change UNAME_MACHINE based on the output of uname instead</div><div class='add'>+	# of the specific Alpha model?</div><div class='add'>+	echo alpha-pc-interix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    21064:Windows_NT:50:3)</div><div class='add'>+	echo alpha-dec-winnt3.5</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Amiga*:UNIX_System_V:4.0:*)</div><div class='add'>+	echo m68k-unknown-sysv4</div><div class='add'>+	exit 0;;</div><div class='add'>+    *:[Aa]miga[Oo][Ss]:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-amigaos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:[Mm]orph[Oo][Ss]:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-morphos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:OS/390:*:*)</div><div class='add'>+	echo i370-ibm-openedition</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:OS400:*:*)</div><div class='add'>+        echo powerpc-ibm-os400</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)</div><div class='add'>+	echo arm-acorn-riscix${UNAME_RELEASE}</div><div class='add'>+	exit 0;;</div><div class='add'>+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)</div><div class='add'>+	echo hppa1.1-hitachi-hiuxmpp</div><div class='add'>+	exit 0;;</div><div class='add'>+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)</div><div class='add'>+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.</div><div class='add'>+	if test "`(/bin/universe) 2&gt;/dev/null`" = att ; then</div><div class='add'>+		echo pyramid-pyramid-sysv3</div><div class='add'>+	else</div><div class='add'>+		echo pyramid-pyramid-bsd</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    NILE*:*:*:dcosx)</div><div class='add'>+	echo pyramid-pyramid-svr4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    DRS?6000:unix:4.0:6*)</div><div class='add'>+	echo sparc-icl-nx6</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    DRS?6000:UNIX_SV:4.2*:7*)</div><div class='add'>+	case `/usr/bin/uname -p` in</div><div class='add'>+	    sparc) echo sparc-icl-nx7 &amp;&amp; exit 0 ;;</div><div class='add'>+	esac ;;</div><div class='add'>+    sun4H:SunOS:5.*:*)</div><div class='add'>+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)</div><div class='add'>+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i86pc:SunOS:5.*:*)</div><div class='add'>+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sun4*:SunOS:6*:*)</div><div class='add'>+	# According to config.sub, this is the proper way to canonicalize</div><div class='add'>+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but</div><div class='add'>+	# it's likely to be more like Solaris than SunOS4.</div><div class='add'>+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sun4*:SunOS:*:*)</div><div class='add'>+	case "`/usr/bin/arch -k`" in</div><div class='add'>+	    Series*|S4*)</div><div class='add'>+		UNAME_RELEASE=`uname -v`</div><div class='add'>+		;;</div><div class='add'>+	esac</div><div class='add'>+	# Japanese Language versions have a version number like `4.1.3-JL'.</div><div class='add'>+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sun3*:SunOS:*:*)</div><div class='add'>+	echo m68k-sun-sunos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sun*:*:4.2BSD:*)</div><div class='add'>+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2&gt;/dev/null`</div><div class='add'>+	test "x${UNAME_RELEASE}" = "x" &amp;&amp; UNAME_RELEASE=3</div><div class='add'>+	case "`/bin/arch`" in</div><div class='add'>+	    sun3)</div><div class='add'>+		echo m68k-sun-sunos${UNAME_RELEASE}</div><div class='add'>+		;;</div><div class='add'>+	    sun4)</div><div class='add'>+		echo sparc-sun-sunos${UNAME_RELEASE}</div><div class='add'>+		;;</div><div class='add'>+	esac</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    aushp:SunOS:*:*)</div><div class='add'>+	echo sparc-auspex-sunos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    # The situation for MiNT is a little confusing.  The machine name</div><div class='add'>+    # can be virtually everything (everything which is not</div><div class='add'>+    # "atarist" or "atariste" at least should have a processor</div><div class='add'>+    # &gt; m68000).  The system name ranges from "MiNT" over "FreeMiNT"</div><div class='add'>+    # to the lowercase version "mint" (or "freemint").  Finally</div><div class='add'>+    # the system name "TOS" denotes a system which is actually not</div><div class='add'>+    # MiNT.  But MiNT is downward compatible to TOS, so this should</div><div class='add'>+    # be no problem.</div><div class='add'>+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)</div><div class='add'>+        echo m68k-atari-mint${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)</div><div class='add'>+	echo m68k-atari-mint${UNAME_RELEASE}</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)</div><div class='add'>+        echo m68k-atari-mint${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)</div><div class='add'>+        echo m68k-milan-mint${UNAME_RELEASE}</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)</div><div class='add'>+        echo m68k-hades-mint${UNAME_RELEASE}</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)</div><div class='add'>+        echo m68k-unknown-mint${UNAME_RELEASE}</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    m68k:machten:*:*)</div><div class='add'>+	echo m68k-apple-machten${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    powerpc:machten:*:*)</div><div class='add'>+	echo powerpc-apple-machten${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    RISC*:Mach:*:*)</div><div class='add'>+	echo mips-dec-mach_bsd4.3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    RISC*:ULTRIX:*:*)</div><div class='add'>+	echo mips-dec-ultrix${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    VAX*:ULTRIX*:*:*)</div><div class='add'>+	echo vax-dec-ultrix${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    2020:CLIX:*:* | 2430:CLIX:*:*)</div><div class='add'>+	echo clipper-intergraph-clix${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mips:*:*:UMIPS | mips:*:*:RISCos)</div><div class='add'>+	eval $set_cc_for_build</div><div class='add'>+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+#ifdef __cplusplus</div><div class='add'>+#include &lt;stdio.h&gt;  /* for printf() prototype */</div><div class='add'>+	int main (int argc, char *argv[]) {</div><div class='add'>+#else</div><div class='add'>+	int main (argc, argv) int argc; char *argv[]; {</div><div class='add'>+#endif</div><div class='add'>+	#if defined (host_mips) &amp;&amp; defined (MIPSEB)</div><div class='add'>+	#if defined (SYSTYPE_SYSV)</div><div class='add'>+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);</div><div class='add'>+	#endif</div><div class='add'>+	#if defined (SYSTYPE_SVR4)</div><div class='add'>+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);</div><div class='add'>+	#endif</div><div class='add'>+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)</div><div class='add'>+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);</div><div class='add'>+	#endif</div><div class='add'>+	#endif</div><div class='add'>+	  exit (-1);</div><div class='add'>+	}</div><div class='add'>+EOF</div><div class='add'>+	$CC_FOR_BUILD -o $dummy $dummy.c \</div><div class='add'>+	  &amp;&amp; $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \</div><div class='add'>+	  &amp;&amp; exit 0</div><div class='add'>+	echo mips-mips-riscos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Motorola:PowerMAX_OS:*:*)</div><div class='add'>+	echo powerpc-motorola-powermax</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Motorola:*:4.3:PL8-*)</div><div class='add'>+	echo powerpc-harris-powermax</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)</div><div class='add'>+	echo powerpc-harris-powermax</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Night_Hawk:Power_UNIX:*:*)</div><div class='add'>+	echo powerpc-harris-powerunix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    m88k:CX/UX:7*:*)</div><div class='add'>+	echo m88k-harris-cxux7</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    m88k:*:4*:R4*)</div><div class='add'>+	echo m88k-motorola-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    m88k:*:3*:R3*)</div><div class='add'>+	echo m88k-motorola-sysv3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    AViiON:dgux:*:*)</div><div class='add'>+        # DG/UX returns AViiON for all architectures</div><div class='add'>+        UNAME_PROCESSOR=`/usr/bin/uname -p`</div><div class='add'>+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]</div><div class='add'>+	then</div><div class='add'>+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \</div><div class='add'>+	       [ ${TARGET_BINARY_INTERFACE}x = x ]</div><div class='add'>+	    then</div><div class='add'>+		echo m88k-dg-dgux${UNAME_RELEASE}</div><div class='add'>+	    else</div><div class='add'>+		echo m88k-dg-dguxbcs${UNAME_RELEASE}</div><div class='add'>+	    fi</div><div class='add'>+	else</div><div class='add'>+	    echo i586-dg-dgux${UNAME_RELEASE}</div><div class='add'>+	fi</div><div class='add'>+ 	exit 0 ;;</div><div class='add'>+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)</div><div class='add'>+	echo m88k-dolphin-sysv3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    M88*:*:R3*:*)</div><div class='add'>+	# Delta 88k system running SVR3</div><div class='add'>+	echo m88k-motorola-sysv3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)</div><div class='add'>+	echo m88k-tektronix-sysv3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)</div><div class='add'>+	echo m68k-tektronix-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:IRIX*:*:*)</div><div class='add'>+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.</div><div class='add'>+	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id</div><div class='add'>+	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '</div><div class='add'>+    i*86:AIX:*:*)</div><div class='add'>+	echo i386-ibm-aix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ia64:AIX:*:*)</div><div class='add'>+	if [ -x /usr/bin/oslevel ] ; then</div><div class='add'>+		IBM_REV=`/usr/bin/oslevel`</div><div class='add'>+	else</div><div class='add'>+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}</div><div class='add'>+	fi</div><div class='add'>+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:AIX:2:3)</div><div class='add'>+	if grep bos325 /usr/include/stdio.h &gt;/dev/null 2&gt;&amp;1; then</div><div class='add'>+		eval $set_cc_for_build</div><div class='add'>+		sed 's/^		//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+		#include &lt;sys/systemcfg.h&gt;</div><div class='add'>+</div><div class='add'>+		main()</div><div class='add'>+			{</div><div class='add'>+			if (!__power_pc())</div><div class='add'>+				exit(1);</div><div class='add'>+			puts("powerpc-ibm-aix3.2.5");</div><div class='add'>+			exit(0);</div><div class='add'>+			}</div><div class='add'>+EOF</div><div class='add'>+		$CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp; $dummy &amp;&amp; exit 0</div><div class='add'>+		echo rs6000-ibm-aix3.2.5</div><div class='add'>+	elif grep bos324 /usr/include/stdio.h &gt;/dev/null 2&gt;&amp;1; then</div><div class='add'>+		echo rs6000-ibm-aix3.2.4</div><div class='add'>+	else</div><div class='add'>+		echo rs6000-ibm-aix3.2</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:AIX:*:[45])</div><div class='add'>+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`</div><div class='add'>+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' &gt;/dev/null 2&gt;&amp;1; then</div><div class='add'>+		IBM_ARCH=rs6000</div><div class='add'>+	else</div><div class='add'>+		IBM_ARCH=powerpc</div><div class='add'>+	fi</div><div class='add'>+	if [ -x /usr/bin/oslevel ] ; then</div><div class='add'>+		IBM_REV=`/usr/bin/oslevel`</div><div class='add'>+	else</div><div class='add'>+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}</div><div class='add'>+	fi</div><div class='add'>+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:AIX:*:*)</div><div class='add'>+	echo rs6000-ibm-aix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)</div><div class='add'>+	echo romp-ibm-bsd4.4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and</div><div class='add'>+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to</div><div class='add'>+	exit 0 ;;                           # report: romp-ibm BSD 4.3</div><div class='add'>+    *:BOSX:*:*)</div><div class='add'>+	echo rs6000-bull-bosx</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    DPX/2?00:B.O.S.:*:*)</div><div class='add'>+	echo m68k-bull-sysv3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    9000/[34]??:4.3bsd:1.*:*)</div><div class='add'>+	echo m68k-hp-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)</div><div class='add'>+	echo m68k-hp-bsd4.4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    9000/[34678]??:HP-UX:*:*)</div><div class='add'>+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`</div><div class='add'>+	case "${UNAME_MACHINE}" in</div><div class='add'>+	    9000/31? )            HP_ARCH=m68000 ;;</div><div class='add'>+	    9000/[34]?? )         HP_ARCH=m68k ;;</div><div class='add'>+	    9000/[678][0-9][0-9])</div><div class='add'>+		if [ -x /usr/bin/getconf ]; then</div><div class='add'>+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2&gt;/dev/null`</div><div class='add'>+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2&gt;/dev/null`</div><div class='add'>+                    case "${sc_cpu_version}" in</div><div class='add'>+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0</div><div class='add'>+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1</div><div class='add'>+                      532)                      # CPU_PA_RISC2_0</div><div class='add'>+                        case "${sc_kernel_bits}" in</div><div class='add'>+                          32) HP_ARCH="hppa2.0n" ;;</div><div class='add'>+                          64) HP_ARCH="hppa2.0w" ;;</div><div class='add'>+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20</div><div class='add'>+                        esac ;;</div><div class='add'>+                    esac</div><div class='add'>+		fi</div><div class='add'>+		if [ "${HP_ARCH}" = "" ]; then</div><div class='add'>+		    eval $set_cc_for_build</div><div class='add'>+		    sed 's/^              //' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+</div><div class='add'>+              #define _HPUX_SOURCE</div><div class='add'>+              #include &lt;stdlib.h&gt;</div><div class='add'>+              #include &lt;unistd.h&gt;</div><div class='add'>+</div><div class='add'>+              int main ()</div><div class='add'>+              {</div><div class='add'>+              #if defined(_SC_KERNEL_BITS)</div><div class='add'>+                  long bits = sysconf(_SC_KERNEL_BITS);</div><div class='add'>+              #endif</div><div class='add'>+                  long cpu  = sysconf (_SC_CPU_VERSION);</div><div class='add'>+</div><div class='add'>+                  switch (cpu)</div><div class='add'>+              	{</div><div class='add'>+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;</div><div class='add'>+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;</div><div class='add'>+              	case CPU_PA_RISC2_0:</div><div class='add'>+              #if defined(_SC_KERNEL_BITS)</div><div class='add'>+              	    switch (bits)</div><div class='add'>+              		{</div><div class='add'>+              		case 64: puts ("hppa2.0w"); break;</div><div class='add'>+              		case 32: puts ("hppa2.0n"); break;</div><div class='add'>+              		default: puts ("hppa2.0"); break;</div><div class='add'>+              		} break;</div><div class='add'>+              #else  /* !defined(_SC_KERNEL_BITS) */</div><div class='add'>+              	    puts ("hppa2.0"); break;</div><div class='add'>+              #endif</div><div class='add'>+              	default: puts ("hppa1.0"); break;</div><div class='add'>+              	}</div><div class='add'>+                  exit (0);</div><div class='add'>+              }</div><div class='add'>+EOF</div><div class='add'>+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2&gt;/dev/null) &amp;&amp; HP_ARCH=`$dummy`</div><div class='add'>+		    test -z "$HP_ARCH" &amp;&amp; HP_ARCH=hppa</div><div class='add'>+		fi ;;</div><div class='add'>+	esac</div><div class='add'>+	if [ ${HP_ARCH} = "hppa2.0w" ]</div><div class='add'>+	then</div><div class='add'>+	    # avoid double evaluation of $set_cc_for_build</div><div class='add'>+	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build</div><div class='add'>+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ &gt;/dev/null</div><div class='add'>+	    then</div><div class='add'>+		HP_ARCH="hppa2.0w"</div><div class='add'>+	    else</div><div class='add'>+		HP_ARCH="hppa64"</div><div class='add'>+	    fi</div><div class='add'>+	fi</div><div class='add'>+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ia64:HP-UX:*:*)</div><div class='add'>+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`</div><div class='add'>+	echo ia64-hp-hpux${HPUX_REV}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    3050*:HI-UX:*:*)</div><div class='add'>+	eval $set_cc_for_build</div><div class='add'>+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+	#include &lt;unistd.h&gt;</div><div class='add'>+	int</div><div class='add'>+	main ()</div><div class='add'>+	{</div><div class='add'>+	  long cpu = sysconf (_SC_CPU_VERSION);</div><div class='add'>+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns</div><div class='add'>+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct</div><div class='add'>+	     results, however.  */</div><div class='add'>+	  if (CPU_IS_PA_RISC (cpu))</div><div class='add'>+	    {</div><div class='add'>+	      switch (cpu)</div><div class='add'>+		{</div><div class='add'>+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;</div><div class='add'>+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;</div><div class='add'>+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;</div><div class='add'>+		  default: puts ("hppa-hitachi-hiuxwe2"); break;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	  else if (CPU_IS_HP_MC68K (cpu))</div><div class='add'>+	    puts ("m68k-hitachi-hiuxwe2");</div><div class='add'>+	  else puts ("unknown-hitachi-hiuxwe2");</div><div class='add'>+	  exit (0);</div><div class='add'>+	}</div><div class='add'>+EOF</div><div class='add'>+	$CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp; $dummy &amp;&amp; exit 0</div><div class='add'>+	echo unknown-hitachi-hiuxwe2</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )</div><div class='add'>+	echo hppa1.1-hp-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    9000/8??:4.3bsd:*:*)</div><div class='add'>+	echo hppa1.0-hp-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)</div><div class='add'>+	echo hppa1.0-hp-mpeix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )</div><div class='add'>+	echo hppa1.1-hp-osf</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    hp8??:OSF1:*:*)</div><div class='add'>+	echo hppa1.0-hp-osf</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:OSF1:*:*)</div><div class='add'>+	if [ -x /usr/sbin/sysversion ] ; then</div><div class='add'>+	    echo ${UNAME_MACHINE}-unknown-osf1mk</div><div class='add'>+	else</div><div class='add'>+	    echo ${UNAME_MACHINE}-unknown-osf1</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    parisc*:Lites*:*:*)</div><div class='add'>+	echo hppa1.1-hp-lites</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)</div><div class='add'>+	echo c1-convex-bsd</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)</div><div class='add'>+	if getsysinfo -f scalar_acc</div><div class='add'>+	then echo c32-convex-bsd</div><div class='add'>+	else echo c2-convex-bsd</div><div class='add'>+	fi</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)</div><div class='add'>+	echo c34-convex-bsd</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)</div><div class='add'>+	echo c38-convex-bsd</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)</div><div class='add'>+	echo c4-convex-bsd</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    CRAY*Y-MP:*:*:*)</div><div class='add'>+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    CRAY*[A-Z]90:*:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \</div><div class='add'>+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \</div><div class='add'>+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \</div><div class='add'>+	      -e 's/\.[^.]*$/.X/'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    CRAY*TS:*:*:*)</div><div class='add'>+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    CRAY*T3E:*:*:*)</div><div class='add'>+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    CRAY*SV1:*:*:*)</div><div class='add'>+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:UNICOS/mp:*:*)</div><div class='add'>+	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)</div><div class='add'>+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`</div><div class='add'>+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`</div><div class='add'>+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`</div><div class='add'>+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    5000:UNIX_System_V:4.*:*)</div><div class='add'>+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`</div><div class='add'>+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`</div><div class='add'>+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sparc*:BSD/OS:*:*)</div><div class='add'>+	echo sparc-unknown-bsdi${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:BSD/OS:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:FreeBSD:*:*)</div><div class='add'>+	# Determine whether the default compiler uses glibc.</div><div class='add'>+	eval $set_cc_for_build</div><div class='add'>+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+	#include &lt;features.h&gt;</div><div class='add'>+	#if __GLIBC__ &gt;= 2</div><div class='add'>+	LIBC=gnu</div><div class='add'>+	#else</div><div class='add'>+	LIBC=</div><div class='add'>+	#endif</div><div class='add'>+EOF</div><div class='add'>+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^LIBC=`</div><div class='add'>+	# GNU/KFreeBSD systems have a "k" prefix to indicate we are using</div><div class='add'>+	# FreeBSD's kernel, but not the complete OS.</div><div class='add'>+	case ${LIBC} in gnu) kernel_only='k' ;; esac</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*:CYGWIN*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-cygwin</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*:MINGW*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-mingw32</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*:PW*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-pw32</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    x86:Interix*:[34]*)</div><div class='add'>+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)</div><div class='add'>+	echo i${UNAME_MACHINE}-pc-mks</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)</div><div class='add'>+	# How do we know it's Interix rather than the generic POSIX subsystem?</div><div class='add'>+	# It also conflicts with pre-2.0 versions of AT&amp;T UWIN. Should we</div><div class='add'>+	# UNAME_MACHINE based on the output of uname instead of i386?</div><div class='add'>+	echo i586-pc-interix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*:UWIN*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-uwin</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    p*:CYGWIN*:*)</div><div class='add'>+	echo powerpcle-unknown-cygwin</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    prep*:SunOS:5.*:*)</div><div class='add'>+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:GNU:*:*)</div><div class='add'>+	# the GNU system</div><div class='add'>+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:GNU/*:*:*)</div><div class='add'>+	# other systems with GNU libc and userland</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:Minix:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-minix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    arm*:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    cris:Linux:*:*)</div><div class='add'>+	echo cris-axis-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ia64:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    m32r*:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    m68*:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mips:Linux:*:*)</div><div class='add'>+	eval $set_cc_for_build</div><div class='add'>+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+	#undef CPU</div><div class='add'>+	#undef mips</div><div class='add'>+	#undef mipsel</div><div class='add'>+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)</div><div class='add'>+	CPU=mipsel</div><div class='add'>+	#else</div><div class='add'>+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)</div><div class='add'>+	CPU=mips</div><div class='add'>+	#else</div><div class='add'>+	CPU=</div><div class='add'>+	#endif</div><div class='add'>+	#endif</div><div class='add'>+EOF</div><div class='add'>+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^CPU=`</div><div class='add'>+	test x"${CPU}" != x &amp;&amp; echo "${CPU}-unknown-linux-gnu" &amp;&amp; exit 0</div><div class='add'>+	;;</div><div class='add'>+    mips64:Linux:*:*)</div><div class='add'>+	eval $set_cc_for_build</div><div class='add'>+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+	#undef CPU</div><div class='add'>+	#undef mips64</div><div class='add'>+	#undef mips64el</div><div class='add'>+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)</div><div class='add'>+	CPU=mips64el</div><div class='add'>+	#else</div><div class='add'>+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)</div><div class='add'>+	CPU=mips64</div><div class='add'>+	#else</div><div class='add'>+	CPU=</div><div class='add'>+	#endif</div><div class='add'>+	#endif</div><div class='add'>+EOF</div><div class='add'>+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^CPU=`</div><div class='add'>+	test x"${CPU}" != x &amp;&amp; echo "${CPU}-unknown-linux-gnu" &amp;&amp; exit 0</div><div class='add'>+	;;</div><div class='add'>+    ppc:Linux:*:*)</div><div class='add'>+	echo powerpc-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    ppc64:Linux:*:*)</div><div class='add'>+	echo powerpc64-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    alpha:Linux:*:*)</div><div class='add'>+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' &lt; /proc/cpuinfo` in</div><div class='add'>+	  EV5)   UNAME_MACHINE=alphaev5 ;;</div><div class='add'>+	  EV56)  UNAME_MACHINE=alphaev56 ;;</div><div class='add'>+	  PCA56) UNAME_MACHINE=alphapca56 ;;</div><div class='add'>+	  PCA57) UNAME_MACHINE=alphapca56 ;;</div><div class='add'>+	  EV6)   UNAME_MACHINE=alphaev6 ;;</div><div class='add'>+	  EV67)  UNAME_MACHINE=alphaev67 ;;</div><div class='add'>+	  EV68*) UNAME_MACHINE=alphaev68 ;;</div><div class='add'>+        esac</div><div class='add'>+	objdump --private-headers /bin/sh | grep ld.so.1 &gt;/dev/null</div><div class='add'>+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    parisc:Linux:*:* | hppa:Linux:*:*)</div><div class='add'>+	# Look for CPU level</div><div class='add'>+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2&gt;/dev/null | cut -d' ' -f2` in</div><div class='add'>+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;</div><div class='add'>+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;</div><div class='add'>+	  *)    echo hppa-unknown-linux-gnu ;;</div><div class='add'>+	esac</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    parisc64:Linux:*:* | hppa64:Linux:*:*)</div><div class='add'>+	echo hppa64-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    s390:Linux:*:* | s390x:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-ibm-linux</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sh64*:Linux:*:*)</div><div class='add'>+    	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sh*:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    sparc:Linux:*:* | sparc64:Linux:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    x86_64:Linux:*:*)</div><div class='add'>+	echo x86_64-unknown-linux-gnu</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:Linux:*:*)</div><div class='add'>+	# The BFD linker knows what the default object file format is, so</div><div class='add'>+	# first see if it will tell us. cd to the root directory to prevent</div><div class='add'>+	# problems with other programs or directories called `ld' in the path.</div><div class='add'>+	# Set LC_ALL=C to ensure ld outputs messages in English.</div><div class='add'>+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2&gt;&amp;1 \</div><div class='add'>+			 | sed -ne '/supported targets:/!d</div><div class='add'>+				    s/[ 	][ 	]*/ /g</div><div class='add'>+				    s/.*supported targets: *//</div><div class='add'>+				    s/ .*//</div><div class='add'>+				    p'`</div><div class='add'>+        case "$ld_supported_targets" in</div><div class='add'>+	  elf32-i386)</div><div class='add'>+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"</div><div class='add'>+		;;</div><div class='add'>+	  a.out-i386-linux)</div><div class='add'>+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"</div><div class='add'>+		exit 0 ;;</div><div class='add'>+	  coff-i386)</div><div class='add'>+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"</div><div class='add'>+		exit 0 ;;</div><div class='add'>+	  "")</div><div class='add'>+		# Either a pre-BFD a.out linker (linux-gnuoldld) or</div><div class='add'>+		# one that does not give us useful --help.</div><div class='add'>+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"</div><div class='add'>+		exit 0 ;;</div><div class='add'>+	esac</div><div class='add'>+	# Determine whether the default compiler is a.out or elf</div><div class='add'>+	eval $set_cc_for_build</div><div class='add'>+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c</div><div class='add'>+	#include &lt;features.h&gt;</div><div class='add'>+	#ifdef __ELF__</div><div class='add'>+	# ifdef __GLIBC__</div><div class='add'>+	#  if __GLIBC__ &gt;= 2</div><div class='add'>+	LIBC=gnu</div><div class='add'>+	#  else</div><div class='add'>+	LIBC=gnulibc1</div><div class='add'>+	#  endif</div><div class='add'>+	# else</div><div class='add'>+	LIBC=gnulibc1</div><div class='add'>+	# endif</div><div class='add'>+	#else</div><div class='add'>+	#ifdef __INTEL_COMPILER</div><div class='add'>+	LIBC=gnu</div><div class='add'>+	#else</div><div class='add'>+	LIBC=gnuaout</div><div class='add'>+	#endif</div><div class='add'>+	#endif</div><div class='add'>+	#ifdef __dietlibc__</div><div class='add'>+	LIBC=dietlibc</div><div class='add'>+	#endif</div><div class='add'>+EOF</div><div class='add'>+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^LIBC=`</div><div class='add'>+	test x"${LIBC}" != x &amp;&amp; echo "${UNAME_MACHINE}-pc-linux-${LIBC}" &amp;&amp; exit 0</div><div class='add'>+	test x"${TENTATIVE}" != x &amp;&amp; echo "${TENTATIVE}" &amp;&amp; exit 0</div><div class='add'>+	;;</div><div class='add'>+    i*86:DYNIX/ptx:4*:*)</div><div class='add'>+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.</div><div class='add'>+	# earlier versions are messed up and put the nodename in both</div><div class='add'>+	# sysname and nodename.</div><div class='add'>+	echo i386-sequent-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:UNIX_SV:4.2MP:2.*)</div><div class='add'>+        # Unixware is an offshoot of SVR4, but it has its own version</div><div class='add'>+        # number series starting with 2...</div><div class='add'>+        # I am not positive that other SVR4 systems won't match this,</div><div class='add'>+	# I just have to hope.  -- rms.</div><div class='add'>+        # Use sysv4.2uw... so that sysv4* matches it.</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:OS/2:*:*)</div><div class='add'>+	# If we were able to find `uname', then EMX Unix compatibility</div><div class='add'>+	# is probably installed.</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-os2-emx</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:XTS-300:*:STOP)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-stop</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:atheos:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-atheos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+	i*86:syllable:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-syllable</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)</div><div class='add'>+	echo i386-unknown-lynxos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:*DOS:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-pc-msdosdjgpp</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)</div><div class='add'>+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`</div><div class='add'>+	if grep Novell /usr/include/link.h &gt;/dev/null 2&gt;/dev/null; then</div><div class='add'>+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}</div><div class='add'>+	else</div><div class='add'>+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:*:5:[78]*)</div><div class='add'>+	case `/bin/uname -X | grep "^Machine"` in</div><div class='add'>+	    *486*)	     UNAME_MACHINE=i486 ;;</div><div class='add'>+	    *Pentium)	     UNAME_MACHINE=i586 ;;</div><div class='add'>+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;</div><div class='add'>+	esac</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i*86:*:3.2:*)</div><div class='add'>+	if test -f /usr/options/cb.name; then</div><div class='add'>+		UNAME_REL=`sed -n 's/.*Version //p' &lt;/usr/options/cb.name`</div><div class='add'>+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL</div><div class='add'>+	elif /bin/uname -X 2&gt;/dev/null &gt;/dev/null ; then</div><div class='add'>+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`</div><div class='add'>+		(/bin/uname -X|grep i80486 &gt;/dev/null) &amp;&amp; UNAME_MACHINE=i486</div><div class='add'>+		(/bin/uname -X|grep '^Machine.*Pentium' &gt;/dev/null) \</div><div class='add'>+			&amp;&amp; UNAME_MACHINE=i586</div><div class='add'>+		(/bin/uname -X|grep '^Machine.*Pent *II' &gt;/dev/null) \</div><div class='add'>+			&amp;&amp; UNAME_MACHINE=i686</div><div class='add'>+		(/bin/uname -X|grep '^Machine.*Pentium Pro' &gt;/dev/null) \</div><div class='add'>+			&amp;&amp; UNAME_MACHINE=i686</div><div class='add'>+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL</div><div class='add'>+	else</div><div class='add'>+		echo ${UNAME_MACHINE}-pc-sysv32</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    pc:*:*:*)</div><div class='add'>+	# Left here for compatibility:</div><div class='add'>+        # uname -m prints for DJGPP always 'pc', but it prints nothing about</div><div class='add'>+        # the processor, so we play safe by assuming i386.</div><div class='add'>+	echo i386-pc-msdosdjgpp</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    Intel:Mach:3*:*)</div><div class='add'>+	echo i386-pc-mach3</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    paragon:*:*:*)</div><div class='add'>+	echo i860-intel-osf1</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    i860:*:4.*:*) # i860-SVR4</div><div class='add'>+	if grep Stardent /usr/include/sys/uadmin.h &gt;/dev/null 2&gt;&amp;1 ; then</div><div class='add'>+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4</div><div class='add'>+	else # Add other i860-SVR4 vendors below as they are discovered.</div><div class='add'>+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mini*:CTIX:SYS*5:*)</div><div class='add'>+	# "miniframe"</div><div class='add'>+	echo m68010-convergent-sysv</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mc68k:UNIX:SYSTEM5:3.51m)</div><div class='add'>+	echo m68k-convergent-sysv</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    M680?0:D-NIX:5.3:*)</div><div class='add'>+	echo m68k-diab-dnix</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    M68*:*:R3V[5678]*:*)</div><div class='add'>+	test -r /sysV68 &amp;&amp; echo 'm68k-motorola-sysv' &amp;&amp; exit 0 ;;</div><div class='add'>+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)</div><div class='add'>+	OS_REL=''</div><div class='add'>+	test -r /etc/.relid \</div><div class='add'>+	&amp;&amp; OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' &lt; /etc/.relid`</div><div class='add'>+	/bin/uname -p 2&gt;/dev/null | grep 86 &gt;/dev/null \</div><div class='add'>+	  &amp;&amp; echo i486-ncr-sysv4.3${OS_REL} &amp;&amp; exit 0</div><div class='add'>+	/bin/uname -p 2&gt;/dev/null | /bin/grep entium &gt;/dev/null \</div><div class='add'>+	  &amp;&amp; echo i586-ncr-sysv4.3${OS_REL} &amp;&amp; exit 0 ;;</div><div class='add'>+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)</div><div class='add'>+        /bin/uname -p 2&gt;/dev/null | grep 86 &gt;/dev/null \</div><div class='add'>+          &amp;&amp; echo i486-ncr-sysv4 &amp;&amp; exit 0 ;;</div><div class='add'>+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)</div><div class='add'>+	echo m68k-unknown-lynxos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mc68030:UNIX_System_V:4.*:*)</div><div class='add'>+	echo m68k-atari-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    TSUNAMI:LynxOS:2.*:*)</div><div class='add'>+	echo sparc-unknown-lynxos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    rs6000:LynxOS:2.*:*)</div><div class='add'>+	echo rs6000-unknown-lynxos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)</div><div class='add'>+	echo powerpc-unknown-lynxos${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    SM[BE]S:UNIX_SV:*:*)</div><div class='add'>+	echo mips-dde-sysv${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    RM*:ReliantUNIX-*:*:*)</div><div class='add'>+	echo mips-sni-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    RM*:SINIX-*:*:*)</div><div class='add'>+	echo mips-sni-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:SINIX-*:*:*)</div><div class='add'>+	if uname -p 2&gt;/dev/null &gt;/dev/null ; then</div><div class='add'>+		UNAME_MACHINE=`(uname -p) 2&gt;/dev/null`</div><div class='add'>+		echo ${UNAME_MACHINE}-sni-sysv4</div><div class='add'>+	else</div><div class='add'>+		echo ns32k-sni-sysv</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort</div><div class='add'>+                      # says &lt;Richard.M.Bartel@ccMail.Census.GOV&gt;</div><div class='add'>+        echo i586-unisys-sysv4</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    *:UNIX_System_V:4*:FTX*)</div><div class='add'>+	# From Gerald Hewes &lt;hewes@openmarket.com&gt;.</div><div class='add'>+	# How about differentiating between stratus architectures? -djm</div><div class='add'>+	echo hppa1.1-stratus-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:*:*:FTX*)</div><div class='add'>+	# From seanf@swdc.stratus.com.</div><div class='add'>+	echo i860-stratus-sysv4</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:VOS:*:*)</div><div class='add'>+	# From Paul.Green@stratus.com.</div><div class='add'>+	echo hppa1.1-stratus-vos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    mc68*:A/UX:*:*)</div><div class='add'>+	echo m68k-apple-aux${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    news*:NEWS-OS:6*:*)</div><div class='add'>+	echo mips-sony-newsos6</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)</div><div class='add'>+	if [ -d /usr/nec ]; then</div><div class='add'>+	        echo mips-nec-sysv${UNAME_RELEASE}</div><div class='add'>+	else</div><div class='add'>+	        echo mips-unknown-sysv${UNAME_RELEASE}</div><div class='add'>+	fi</div><div class='add'>+        exit 0 ;;</div><div class='add'>+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.</div><div class='add'>+	echo powerpc-be-beos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.</div><div class='add'>+	echo powerpc-apple-beos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.</div><div class='add'>+	echo i586-pc-beos</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    SX-4:SUPER-UX:*:*)</div><div class='add'>+	echo sx4-nec-superux${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    SX-5:SUPER-UX:*:*)</div><div class='add'>+	echo sx5-nec-superux${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    SX-6:SUPER-UX:*:*)</div><div class='add'>+	echo sx6-nec-superux${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    Power*:Rhapsody:*:*)</div><div class='add'>+	echo powerpc-apple-rhapsody${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:Rhapsody:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:Darwin:*:*)</div><div class='add'>+	case `uname -p` in</div><div class='add'>+	    *86) UNAME_PROCESSOR=i686 ;;</div><div class='add'>+	    powerpc) UNAME_PROCESSOR=powerpc ;;</div><div class='add'>+	esac</div><div class='add'>+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:procnto*:*:* | *:QNX:[0123456789]*:*)</div><div class='add'>+	UNAME_PROCESSOR=`uname -p`</div><div class='add'>+	if test "$UNAME_PROCESSOR" = "x86"; then</div><div class='add'>+		UNAME_PROCESSOR=i386</div><div class='add'>+		UNAME_MACHINE=pc</div><div class='add'>+	fi</div><div class='add'>+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:QNX:*:4*)</div><div class='add'>+	echo i386-pc-qnx</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    NSR-?:NONSTOP_KERNEL:*:*)</div><div class='add'>+	echo nsr-tandem-nsk${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:NonStop-UX:*:*)</div><div class='add'>+	echo mips-compaq-nonstopux</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    BS2000:POSIX*:*:*)</div><div class='add'>+	echo bs2000-siemens-sysv</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    DS/*:UNIX_System_V:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:Plan9:*:*)</div><div class='add'>+	# "uname -m" is not consistent, so use $cputype instead. 386</div><div class='add'>+	# is converted to i386 for consistency with other x86</div><div class='add'>+	# operating systems.</div><div class='add'>+	if test "$cputype" = "386"; then</div><div class='add'>+	    UNAME_MACHINE=i386</div><div class='add'>+	else</div><div class='add'>+	    UNAME_MACHINE="$cputype"</div><div class='add'>+	fi</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-plan9</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:TOPS-10:*:*)</div><div class='add'>+	echo pdp10-unknown-tops10</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:TENEX:*:*)</div><div class='add'>+	echo pdp10-unknown-tenex</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)</div><div class='add'>+	echo pdp10-dec-tops20</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)</div><div class='add'>+	echo pdp10-xkl-tops20</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:TOPS-20:*:*)</div><div class='add'>+	echo pdp10-unknown-tops20</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:ITS:*:*)</div><div class='add'>+	echo pdp10-unknown-its</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    SEI:*:*:SEIUX)</div><div class='add'>+        echo mips-sei-seiux${UNAME_RELEASE}</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    *:DragonFly:*:*)</div><div class='add'>+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`</div><div class='add'>+	exit 0 ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+#echo '(No uname command or uname output not recognized.)' 1&gt;&amp;2</div><div class='add'>+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1&gt;&amp;2</div><div class='add'>+</div><div class='add'>+eval $set_cc_for_build</div><div class='add'>+cat &gt;$dummy.c &lt;&lt;EOF</div><div class='add'>+#ifdef _SEQUENT_</div><div class='add'>+# include &lt;sys/types.h&gt;</div><div class='add'>+# include &lt;sys/utsname.h&gt;</div><div class='add'>+#endif</div><div class='add'>+main ()</div><div class='add'>+{</div><div class='add'>+#if defined (sony)</div><div class='add'>+#if defined (MIPSEB)</div><div class='add'>+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,</div><div class='add'>+     I don't know....  */</div><div class='add'>+  printf ("mips-sony-bsd\n"); exit (0);</div><div class='add'>+#else</div><div class='add'>+#include &lt;sys/param.h&gt;</div><div class='add'>+  printf ("m68k-sony-newsos%s\n",</div><div class='add'>+#ifdef NEWSOS4</div><div class='add'>+          "4"</div><div class='add'>+#else</div><div class='add'>+	  ""</div><div class='add'>+#endif</div><div class='add'>+         ); exit (0);</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (__arm) &amp;&amp; defined (__acorn) &amp;&amp; defined (__unix)</div><div class='add'>+  printf ("arm-acorn-riscix"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (hp300) &amp;&amp; !defined (hpux)</div><div class='add'>+  printf ("m68k-hp-bsd\n"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (NeXT)</div><div class='add'>+#if !defined (__ARCHITECTURE__)</div><div class='add'>+#define __ARCHITECTURE__ "m68k"</div><div class='add'>+#endif</div><div class='add'>+  int version;</div><div class='add'>+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2&gt;/dev/null`;</div><div class='add'>+  if (version &lt; 4)</div><div class='add'>+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);</div><div class='add'>+  else</div><div class='add'>+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);</div><div class='add'>+  exit (0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (MULTIMAX) || defined (n16)</div><div class='add'>+#if defined (UMAXV)</div><div class='add'>+  printf ("ns32k-encore-sysv\n"); exit (0);</div><div class='add'>+#else</div><div class='add'>+#if defined (CMU)</div><div class='add'>+  printf ("ns32k-encore-mach\n"); exit (0);</div><div class='add'>+#else</div><div class='add'>+  printf ("ns32k-encore-bsd\n"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (__386BSD__)</div><div class='add'>+  printf ("i386-pc-bsd\n"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (sequent)</div><div class='add'>+#if defined (i386)</div><div class='add'>+  printf ("i386-sequent-dynix\n"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+#if defined (ns32000)</div><div class='add'>+  printf ("ns32k-sequent-dynix\n"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (_SEQUENT_)</div><div class='add'>+    struct utsname un;</div><div class='add'>+</div><div class='add'>+    uname(&amp;un);</div><div class='add'>+</div><div class='add'>+    if (strncmp(un.version, "V2", 2) == 0) {</div><div class='add'>+	printf ("i386-sequent-ptx2\n"); exit (0);</div><div class='add'>+    }</div><div class='add'>+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */</div><div class='add'>+	printf ("i386-sequent-ptx1\n"); exit (0);</div><div class='add'>+    }</div><div class='add'>+    printf ("i386-sequent-ptx\n"); exit (0);</div><div class='add'>+</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (vax)</div><div class='add'>+# if !defined (ultrix)</div><div class='add'>+#  include &lt;sys/param.h&gt;</div><div class='add'>+#  if defined (BSD)</div><div class='add'>+#   if BSD == 43</div><div class='add'>+      printf ("vax-dec-bsd4.3\n"); exit (0);</div><div class='add'>+#   else</div><div class='add'>+#    if BSD == 199006</div><div class='add'>+      printf ("vax-dec-bsd4.3reno\n"); exit (0);</div><div class='add'>+#    else</div><div class='add'>+      printf ("vax-dec-bsd\n"); exit (0);</div><div class='add'>+#    endif</div><div class='add'>+#   endif</div><div class='add'>+#  else</div><div class='add'>+    printf ("vax-dec-bsd\n"); exit (0);</div><div class='add'>+#  endif</div><div class='add'>+# else</div><div class='add'>+    printf ("vax-dec-ultrix\n"); exit (0);</div><div class='add'>+# endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined (alliant) &amp;&amp; defined (i860)</div><div class='add'>+  printf ("i860-alliant-bsd\n"); exit (0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+  exit (1);</div><div class='add'>+}</div><div class='add'>+EOF</div><div class='add'>+</div><div class='add'>+$CC_FOR_BUILD -o $dummy $dummy.c 2&gt;/dev/null &amp;&amp; $dummy &amp;&amp; exit 0</div><div class='add'>+</div><div class='add'>+# Apollos put the system type in the environment.</div><div class='add'>+</div><div class='add'>+test -d /usr/apollo &amp;&amp; { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }</div><div class='add'>+</div><div class='add'>+# Convex versions that predate uname can use getsysinfo(1)</div><div class='add'>+</div><div class='add'>+if [ -x /usr/convex/getsysinfo ]</div><div class='add'>+then</div><div class='add'>+    case `getsysinfo -f cpu_type` in</div><div class='add'>+    c1*)</div><div class='add'>+	echo c1-convex-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    c2*)</div><div class='add'>+	if getsysinfo -f scalar_acc</div><div class='add'>+	then echo c32-convex-bsd</div><div class='add'>+	else echo c2-convex-bsd</div><div class='add'>+	fi</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    c34*)</div><div class='add'>+	echo c34-convex-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    c38*)</div><div class='add'>+	echo c38-convex-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    c4*)</div><div class='add'>+	echo c4-convex-bsd</div><div class='add'>+	exit 0 ;;</div><div class='add'>+    esac</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+cat &gt;&amp;2 &lt;&lt;EOF</div><div class='add'>+$0: unable to guess system type</div><div class='add'>+</div><div class='add'>+This script, last modified $timestamp, has failed to recognize</div><div class='add'>+the operating system you are using. It is advised that you</div><div class='add'>+download the most up to date version of the config scripts from</div><div class='add'>+</div><div class='add'>+    ftp://ftp.gnu.org/pub/gnu/config/</div><div class='add'>+</div><div class='add'>+If the version you run ($0) is already up to date, please</div><div class='add'>+send the following data and any information you think might be</div><div class='add'>+pertinent to &lt;config-patches@gnu.org&gt; in order to provide the needed</div><div class='add'>+information to handle your system.</div><div class='add'>+</div><div class='add'>+config.guess timestamp = $timestamp</div><div class='add'>+</div><div class='add'>+uname -m = `(uname -m) 2&gt;/dev/null || echo unknown`</div><div class='add'>+uname -r = `(uname -r) 2&gt;/dev/null || echo unknown`</div><div class='add'>+uname -s = `(uname -s) 2&gt;/dev/null || echo unknown`</div><div class='add'>+uname -v = `(uname -v) 2&gt;/dev/null || echo unknown`</div><div class='add'>+</div><div class='add'>+/usr/bin/uname -p = `(/usr/bin/uname -p) 2&gt;/dev/null`</div><div class='add'>+/bin/uname -X     = `(/bin/uname -X) 2&gt;/dev/null`</div><div class='add'>+</div><div class='add'>+hostinfo               = `(hostinfo) 2&gt;/dev/null`</div><div class='add'>+/bin/universe          = `(/bin/universe) 2&gt;/dev/null`</div><div class='add'>+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2&gt;/dev/null`</div><div class='add'>+/bin/arch              = `(/bin/arch) 2&gt;/dev/null`</div><div class='add'>+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2&gt;/dev/null`</div><div class='add'>+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2&gt;/dev/null`</div><div class='add'>+</div><div class='add'>+UNAME_MACHINE = ${UNAME_MACHINE}</div><div class='add'>+UNAME_RELEASE = ${UNAME_RELEASE}</div><div class='add'>+UNAME_SYSTEM  = ${UNAME_SYSTEM}</div><div class='add'>+UNAME_VERSION = ${UNAME_VERSION}</div><div class='add'>+EOF</div><div class='add'>+</div><div class='add'>+exit 1</div><div class='add'>+</div><div class='add'>+# Local variables:</div><div class='add'>+# eval: (add-hook 'write-file-hooks 'time-stamp)</div><div class='add'>+# time-stamp-start: "timestamp='"</div><div class='add'>+# time-stamp-format: "%:y-%02m-%02d"</div><div class='add'>+# time-stamp-end: "'"</div><div class='add'>+# End:</div><div class='head'>diff --git a/config.sub b/config.sub<br/>new file mode 100644<br/>index 0000000000..506d3ab77f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/config.sub?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>config.sub</a></div><div class='hunk'>@@ -0,0 +1,1537 @@</div><div class='add'>+#! /bin/sh</div><div class='add'>+# Configuration validation subroutine script.</div><div class='add'>+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,</div><div class='add'>+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+timestamp='2004-06-11'</div><div class='add'>+</div><div class='add'>+# This file is (in principle) common to ALL GNU software.</div><div class='add'>+# The presence of a machine in this file suggests that SOME GNU software</div><div class='add'>+# can handle that machine.  It does not imply ALL GNU software can.</div><div class='add'>+#</div><div class='add'>+# This file is free software; you can redistribute it and/or modify</div><div class='add'>+# it under the terms of the GNU General Public License as published by</div><div class='add'>+# the Free Software Foundation; either version 2 of the License, or</div><div class='add'>+# (at your option) any later version.</div><div class='add'>+#</div><div class='add'>+# This program is distributed in the hope that it will be useful,</div><div class='add'>+# but WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='add'>+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</div><div class='add'>+# GNU General Public License for more details.</div><div class='add'>+#</div><div class='add'>+# You should have received a copy of the GNU General Public License</div><div class='add'>+# along with this program; if not, write to the Free Software</div><div class='add'>+# Foundation, Inc., 59 Temple Place - Suite 330,</div><div class='add'>+# Boston, MA 02111-1307, USA.</div><div class='add'>+</div><div class='add'>+# As a special exception to the GNU General Public License, if you</div><div class='add'>+# distribute this file as part of a program that contains a</div><div class='add'>+# configuration script generated by Autoconf, you may include it under</div><div class='add'>+# the same distribution terms that you use for the rest of that program.</div><div class='add'>+</div><div class='add'>+# Please send patches to &lt;config-patches@gnu.org&gt;.  Submit a context</div><div class='add'>+# diff and a properly formatted ChangeLog entry.</div><div class='add'>+#</div><div class='add'>+# Configuration subroutine to validate and canonicalize a configuration type.</div><div class='add'>+# Supply the specified configuration type as an argument.</div><div class='add'>+# If it is invalid, we print an error message on stderr and exit with code 1.</div><div class='add'>+# Otherwise, we print the canonical config type on stdout and succeed.</div><div class='add'>+</div><div class='add'>+# This file is supposed to be the same for all GNU packages</div><div class='add'>+# and recognize all the CPU types, system types and aliases</div><div class='add'>+# that are meaningful with *any* GNU software.</div><div class='add'>+# Each package is responsible for reporting which valid configurations</div><div class='add'>+# it does not support.  The user should be able to distinguish</div><div class='add'>+# a failure to support a valid configuration from a meaningless</div><div class='add'>+# configuration.</div><div class='add'>+</div><div class='add'>+# The goal of this file is to map all the various variations of a given</div><div class='add'>+# machine specification into a single specification in the form:</div><div class='add'>+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM</div><div class='add'>+# or in some cases, the newer four-part form:</div><div class='add'>+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM</div><div class='add'>+# It is wrong to echo any other type of specification.</div><div class='add'>+</div><div class='add'>+me=`echo "$0" | sed -e 's,.*/,,'`</div><div class='add'>+</div><div class='add'>+usage="\</div><div class='add'>+Usage: $0 [OPTION] CPU-MFR-OPSYS</div><div class='add'>+       $0 [OPTION] ALIAS</div><div class='add'>+</div><div class='add'>+Canonicalize a configuration name.</div><div class='add'>+</div><div class='add'>+Operation modes:</div><div class='add'>+  -h, --help         print this help, then exit</div><div class='add'>+  -t, --time-stamp   print date of last modification, then exit</div><div class='add'>+  -v, --version      print version number, then exit</div><div class='add'>+</div><div class='add'>+Report bugs and patches to &lt;config-patches@gnu.org&gt;."</div><div class='add'>+</div><div class='add'>+version="\</div><div class='add'>+GNU config.sub ($timestamp)</div><div class='add'>+</div><div class='add'>+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001</div><div class='add'>+Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+This is free software; see the source for copying conditions.  There is NO</div><div class='add'>+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."</div><div class='add'>+</div><div class='add'>+help="</div><div class='add'>+Try \`$me --help' for more information."</div><div class='add'>+</div><div class='add'>+# Parse command line</div><div class='add'>+while test $# -gt 0 ; do</div><div class='add'>+  case $1 in</div><div class='add'>+    --time-stamp | --time* | -t )</div><div class='add'>+       echo "$timestamp" ; exit 0 ;;</div><div class='add'>+    --version | -v )</div><div class='add'>+       echo "$version" ; exit 0 ;;</div><div class='add'>+    --help | --h* | -h )</div><div class='add'>+       echo "$usage"; exit 0 ;;</div><div class='add'>+    -- )     # Stop option processing</div><div class='add'>+       shift; break ;;</div><div class='add'>+    - )	# Use stdin as input.</div><div class='add'>+       break ;;</div><div class='add'>+    -* )</div><div class='add'>+       echo "$me: invalid option $1$help"</div><div class='add'>+       exit 1 ;;</div><div class='add'>+</div><div class='add'>+    *local*)</div><div class='add'>+       # First pass through any local machine types.</div><div class='add'>+       echo $1</div><div class='add'>+       exit 0;;</div><div class='add'>+</div><div class='add'>+    * )</div><div class='add'>+       break ;;</div><div class='add'>+  esac</div><div class='add'>+done</div><div class='add'>+</div><div class='add'>+case $# in</div><div class='add'>+ 0) echo "$me: missing argument$help" &gt;&amp;2</div><div class='add'>+    exit 1;;</div><div class='add'>+ 1) ;;</div><div class='add'>+ *) echo "$me: too many arguments$help" &gt;&amp;2</div><div class='add'>+    exit 1;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).</div><div class='add'>+# Here we must recognize all the valid KERNEL-OS combinations.</div><div class='add'>+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`</div><div class='add'>+case $maybe_os in</div><div class='add'>+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \</div><div class='add'>+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)</div><div class='add'>+    os=-$maybe_os</div><div class='add'>+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`</div><div class='add'>+    ;;</div><div class='add'>+  *)</div><div class='add'>+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`</div><div class='add'>+    if [ $basic_machine != $1 ]</div><div class='add'>+    then os=`echo $1 | sed 's/.*-/-/'`</div><div class='add'>+    else os=; fi</div><div class='add'>+    ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+### Let's recognize common machines as not being operating systems so</div><div class='add'>+### that things like config.sub decstation-3100 work.  We also</div><div class='add'>+### recognize some manufacturers as not being operating systems, so we</div><div class='add'>+### can provide default operating systems below.</div><div class='add'>+case $os in</div><div class='add'>+	-sun*os*)</div><div class='add'>+		# Prevent following clause from handling this invalid input.</div><div class='add'>+		;;</div><div class='add'>+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \</div><div class='add'>+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \</div><div class='add'>+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \</div><div class='add'>+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\</div><div class='add'>+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \</div><div class='add'>+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \</div><div class='add'>+	-apple | -axis)</div><div class='add'>+		os=</div><div class='add'>+		basic_machine=$1</div><div class='add'>+		;;</div><div class='add'>+	-sim | -cisco | -oki | -wec | -winbond)</div><div class='add'>+		os=</div><div class='add'>+		basic_machine=$1</div><div class='add'>+		;;</div><div class='add'>+	-scout)</div><div class='add'>+		;;</div><div class='add'>+	-wrs)</div><div class='add'>+		os=-vxworks</div><div class='add'>+		basic_machine=$1</div><div class='add'>+		;;</div><div class='add'>+	-chorusos*)</div><div class='add'>+		os=-chorusos</div><div class='add'>+		basic_machine=$1</div><div class='add'>+		;;</div><div class='add'>+ 	-chorusrdb)</div><div class='add'>+ 		os=-chorusrdb</div><div class='add'>+		basic_machine=$1</div><div class='add'>+ 		;;</div><div class='add'>+	-hiux*)</div><div class='add'>+		os=-hiuxwe2</div><div class='add'>+		;;</div><div class='add'>+	-sco5)</div><div class='add'>+		os=-sco3.2v5</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-sco4)</div><div class='add'>+		os=-sco3.2v4</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-sco3.2.[4-9]*)</div><div class='add'>+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-sco3.2v[4-9]*)</div><div class='add'>+		# Don't forget version if it is 3.2v4 or newer.</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-sco*)</div><div class='add'>+		os=-sco3.2v2</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-udk*)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-isc)</div><div class='add'>+		os=-isc2.2</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-clix*)</div><div class='add'>+		basic_machine=clipper-intergraph</div><div class='add'>+		;;</div><div class='add'>+	-isc*)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='add'>+		;;</div><div class='add'>+	-lynx*)</div><div class='add'>+		os=-lynxos</div><div class='add'>+		;;</div><div class='add'>+	-ptx*)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`</div><div class='add'>+		;;</div><div class='add'>+	-windowsnt*)</div><div class='add'>+		os=`echo $os | sed -e 's/windowsnt/winnt/'`</div><div class='add'>+		;;</div><div class='add'>+	-psos*)</div><div class='add'>+		os=-psos</div><div class='add'>+		;;</div><div class='add'>+	-mint | -mint[0-9]*)</div><div class='add'>+		basic_machine=m68k-atari</div><div class='add'>+		os=-mint</div><div class='add'>+		;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+# Decode aliases for certain CPU-COMPANY combinations.</div><div class='add'>+case $basic_machine in</div><div class='add'>+	# Recognize the basic CPU types without company name.</div><div class='add'>+	# Some are omitted here because they have special meanings below.</div><div class='add'>+	1750a | 580 \</div><div class='add'>+	| a29k \</div><div class='add'>+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \</div><div class='add'>+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \</div><div class='add'>+	| am33_2.0 \</div><div class='add'>+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \</div><div class='add'>+	| c4x | clipper \</div><div class='add'>+	| d10v | d30v | dlx | dsp16xx \</div><div class='add'>+	| fr30 | frv \</div><div class='add'>+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \</div><div class='add'>+	| i370 | i860 | i960 | ia64 \</div><div class='add'>+	| ip2k | iq2000 \</div><div class='add'>+	| m32r | m68000 | m68k | m88k | mcore \</div><div class='add'>+	| mips | mipsbe | mipseb | mipsel | mipsle \</div><div class='add'>+	| mips16 \</div><div class='add'>+	| mips64 | mips64el \</div><div class='add'>+	| mips64vr | mips64vrel \</div><div class='add'>+	| mips64orion | mips64orionel \</div><div class='add'>+	| mips64vr4100 | mips64vr4100el \</div><div class='add'>+	| mips64vr4300 | mips64vr4300el \</div><div class='add'>+	| mips64vr5000 | mips64vr5000el \</div><div class='add'>+	| mipsisa32 | mipsisa32el \</div><div class='add'>+	| mipsisa32r2 | mipsisa32r2el \</div><div class='add'>+	| mipsisa64 | mipsisa64el \</div><div class='add'>+	| mipsisa64r2 | mipsisa64r2el \</div><div class='add'>+	| mipsisa64sb1 | mipsisa64sb1el \</div><div class='add'>+	| mipsisa64sr71k | mipsisa64sr71kel \</div><div class='add'>+	| mipstx39 | mipstx39el \</div><div class='add'>+	| mn10200 | mn10300 \</div><div class='add'>+	| msp430 \</div><div class='add'>+	| ns16k | ns32k \</div><div class='add'>+	| openrisc | or32 \</div><div class='add'>+	| pdp10 | pdp11 | pj | pjl \</div><div class='add'>+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \</div><div class='add'>+	| pyramid \</div><div class='add'>+	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \</div><div class='add'>+	| sh64 | sh64le \</div><div class='add'>+	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \</div><div class='add'>+	| strongarm \</div><div class='add'>+	| tahoe | thumb | tic4x | tic80 | tron \</div><div class='add'>+	| v850 | v850e \</div><div class='add'>+	| we32k \</div><div class='add'>+	| x86 | xscale | xstormy16 | xtensa \</div><div class='add'>+	| z8k)</div><div class='add'>+		basic_machine=$basic_machine-unknown</div><div class='add'>+		;;</div><div class='add'>+	m6811 | m68hc11 | m6812 | m68hc12)</div><div class='add'>+		# Motorola 68HC11/12.</div><div class='add'>+		basic_machine=$basic_machine-unknown</div><div class='add'>+		os=-none</div><div class='add'>+		;;</div><div class='add'>+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)</div><div class='add'>+		;;</div><div class='add'>+</div><div class='add'>+	# We use `pc' rather than `unknown'</div><div class='add'>+	# because (1) that's what they normally are, and</div><div class='add'>+	# (2) the word "unknown" tends to confuse beginning users.</div><div class='add'>+	i*86 | x86_64)</div><div class='add'>+	  basic_machine=$basic_machine-pc</div><div class='add'>+	  ;;</div><div class='add'>+	# Object if more than one company name word.</div><div class='add'>+	*-*-*)</div><div class='add'>+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1&gt;&amp;2</div><div class='add'>+		exit 1</div><div class='add'>+		;;</div><div class='add'>+	# Recognize the basic CPU types with company name.</div><div class='add'>+	580-* \</div><div class='add'>+	| a29k-* \</div><div class='add'>+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \</div><div class='add'>+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \</div><div class='add'>+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \</div><div class='add'>+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \</div><div class='add'>+	| avr-* \</div><div class='add'>+	| bs2000-* \</div><div class='add'>+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \</div><div class='add'>+	| clipper-* | cydra-* \</div><div class='add'>+	| d10v-* | d30v-* | dlx-* \</div><div class='add'>+	| elxsi-* \</div><div class='add'>+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \</div><div class='add'>+	| h8300-* | h8500-* \</div><div class='add'>+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \</div><div class='add'>+	| i*86-* | i860-* | i960-* | ia64-* \</div><div class='add'>+	| ip2k-* | iq2000-* \</div><div class='add'>+	| m32r-* \</div><div class='add'>+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \</div><div class='add'>+	| m88110-* | m88k-* | mcore-* \</div><div class='add'>+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \</div><div class='add'>+	| mips16-* \</div><div class='add'>+	| mips64-* | mips64el-* \</div><div class='add'>+	| mips64vr-* | mips64vrel-* \</div><div class='add'>+	| mips64orion-* | mips64orionel-* \</div><div class='add'>+	| mips64vr4100-* | mips64vr4100el-* \</div><div class='add'>+	| mips64vr4300-* | mips64vr4300el-* \</div><div class='add'>+	| mips64vr5000-* | mips64vr5000el-* \</div><div class='add'>+	| mipsisa32-* | mipsisa32el-* \</div><div class='add'>+	| mipsisa32r2-* | mipsisa32r2el-* \</div><div class='add'>+	| mipsisa64-* | mipsisa64el-* \</div><div class='add'>+	| mipsisa64r2-* | mipsisa64r2el-* \</div><div class='add'>+	| mipsisa64sb1-* | mipsisa64sb1el-* \</div><div class='add'>+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \</div><div class='add'>+	| mipstx39-* | mipstx39el-* \</div><div class='add'>+	| msp430-* \</div><div class='add'>+	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \</div><div class='add'>+	| orion-* \</div><div class='add'>+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \</div><div class='add'>+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \</div><div class='add'>+	| pyramid-* \</div><div class='add'>+	| romp-* | rs6000-* \</div><div class='add'>+	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \</div><div class='add'>+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \</div><div class='add'>+	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \</div><div class='add'>+	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \</div><div class='add'>+	| tahoe-* | thumb-* \</div><div class='add'>+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \</div><div class='add'>+	| tron-* \</div><div class='add'>+	| v850-* | v850e-* | vax-* \</div><div class='add'>+	| we32k-* \</div><div class='add'>+	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \</div><div class='add'>+	| xtensa-* \</div><div class='add'>+	| ymp-* \</div><div class='add'>+	| z8k-*)</div><div class='add'>+		;;</div><div class='add'>+	# Recognize the various machine names and aliases which stand</div><div class='add'>+	# for a CPU type and a company and sometimes even an OS.</div><div class='add'>+	386bsd)</div><div class='add'>+		basic_machine=i386-unknown</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)</div><div class='add'>+		basic_machine=m68000-att</div><div class='add'>+		;;</div><div class='add'>+	3b*)</div><div class='add'>+		basic_machine=we32k-att</div><div class='add'>+		;;</div><div class='add'>+	a29khif)</div><div class='add'>+		basic_machine=a29k-amd</div><div class='add'>+		os=-udi</div><div class='add'>+		;;</div><div class='add'>+	adobe68k)</div><div class='add'>+		basic_machine=m68010-adobe</div><div class='add'>+		os=-scout</div><div class='add'>+		;;</div><div class='add'>+	alliant | fx80)</div><div class='add'>+		basic_machine=fx80-alliant</div><div class='add'>+		;;</div><div class='add'>+	altos | altos3068)</div><div class='add'>+		basic_machine=m68k-altos</div><div class='add'>+		;;</div><div class='add'>+	am29k)</div><div class='add'>+		basic_machine=a29k-none</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	amd64)</div><div class='add'>+		basic_machine=x86_64-pc</div><div class='add'>+		;;</div><div class='add'>+	amd64-*)</div><div class='add'>+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	amdahl)</div><div class='add'>+		basic_machine=580-amdahl</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	amiga | amiga-*)</div><div class='add'>+		basic_machine=m68k-unknown</div><div class='add'>+		;;</div><div class='add'>+	amigaos | amigados)</div><div class='add'>+		basic_machine=m68k-unknown</div><div class='add'>+		os=-amigaos</div><div class='add'>+		;;</div><div class='add'>+	amigaunix | amix)</div><div class='add'>+		basic_machine=m68k-unknown</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	apollo68)</div><div class='add'>+		basic_machine=m68k-apollo</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	apollo68bsd)</div><div class='add'>+		basic_machine=m68k-apollo</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	aux)</div><div class='add'>+		basic_machine=m68k-apple</div><div class='add'>+		os=-aux</div><div class='add'>+		;;</div><div class='add'>+	balance)</div><div class='add'>+		basic_machine=ns32k-sequent</div><div class='add'>+		os=-dynix</div><div class='add'>+		;;</div><div class='add'>+	c90)</div><div class='add'>+		basic_machine=c90-cray</div><div class='add'>+		os=-unicos</div><div class='add'>+		;;</div><div class='add'>+	convex-c1)</div><div class='add'>+		basic_machine=c1-convex</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	convex-c2)</div><div class='add'>+		basic_machine=c2-convex</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	convex-c32)</div><div class='add'>+		basic_machine=c32-convex</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	convex-c34)</div><div class='add'>+		basic_machine=c34-convex</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	convex-c38)</div><div class='add'>+		basic_machine=c38-convex</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	cray | j90)</div><div class='add'>+		basic_machine=j90-cray</div><div class='add'>+		os=-unicos</div><div class='add'>+		;;</div><div class='add'>+	crds | unos)</div><div class='add'>+		basic_machine=m68k-crds</div><div class='add'>+		;;</div><div class='add'>+	cris | cris-* | etrax*)</div><div class='add'>+		basic_machine=cris-axis</div><div class='add'>+		;;</div><div class='add'>+	da30 | da30-*)</div><div class='add'>+		basic_machine=m68k-da30</div><div class='add'>+		;;</div><div class='add'>+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)</div><div class='add'>+		basic_machine=mips-dec</div><div class='add'>+		;;</div><div class='add'>+	decsystem10* | dec10*)</div><div class='add'>+		basic_machine=pdp10-dec</div><div class='add'>+		os=-tops10</div><div class='add'>+		;;</div><div class='add'>+	decsystem20* | dec20*)</div><div class='add'>+		basic_machine=pdp10-dec</div><div class='add'>+		os=-tops20</div><div class='add'>+		;;</div><div class='add'>+	delta | 3300 | motorola-3300 | motorola-delta \</div><div class='add'>+	      | 3300-motorola | delta-motorola)</div><div class='add'>+		basic_machine=m68k-motorola</div><div class='add'>+		;;</div><div class='add'>+	delta88)</div><div class='add'>+		basic_machine=m88k-motorola</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	dpx20 | dpx20-*)</div><div class='add'>+		basic_machine=rs6000-bull</div><div class='add'>+		os=-bosx</div><div class='add'>+		;;</div><div class='add'>+	dpx2* | dpx2*-bull)</div><div class='add'>+		basic_machine=m68k-bull</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	ebmon29k)</div><div class='add'>+		basic_machine=a29k-amd</div><div class='add'>+		os=-ebmon</div><div class='add'>+		;;</div><div class='add'>+	elxsi)</div><div class='add'>+		basic_machine=elxsi-elxsi</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	encore | umax | mmax)</div><div class='add'>+		basic_machine=ns32k-encore</div><div class='add'>+		;;</div><div class='add'>+	es1800 | OSE68k | ose68k | ose | OSE)</div><div class='add'>+		basic_machine=m68k-ericsson</div><div class='add'>+		os=-ose</div><div class='add'>+		;;</div><div class='add'>+	fx2800)</div><div class='add'>+		basic_machine=i860-alliant</div><div class='add'>+		;;</div><div class='add'>+	genix)</div><div class='add'>+		basic_machine=ns32k-ns</div><div class='add'>+		;;</div><div class='add'>+	gmicro)</div><div class='add'>+		basic_machine=tron-gmicro</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	go32)</div><div class='add'>+		basic_machine=i386-pc</div><div class='add'>+		os=-go32</div><div class='add'>+		;;</div><div class='add'>+	h3050r* | hiux*)</div><div class='add'>+		basic_machine=hppa1.1-hitachi</div><div class='add'>+		os=-hiuxwe2</div><div class='add'>+		;;</div><div class='add'>+	h8300hms)</div><div class='add'>+		basic_machine=h8300-hitachi</div><div class='add'>+		os=-hms</div><div class='add'>+		;;</div><div class='add'>+	h8300xray)</div><div class='add'>+		basic_machine=h8300-hitachi</div><div class='add'>+		os=-xray</div><div class='add'>+		;;</div><div class='add'>+	h8500hms)</div><div class='add'>+		basic_machine=h8500-hitachi</div><div class='add'>+		os=-hms</div><div class='add'>+		;;</div><div class='add'>+	harris)</div><div class='add'>+		basic_machine=m88k-harris</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	hp300-*)</div><div class='add'>+		basic_machine=m68k-hp</div><div class='add'>+		;;</div><div class='add'>+	hp300bsd)</div><div class='add'>+		basic_machine=m68k-hp</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	hp300hpux)</div><div class='add'>+		basic_machine=m68k-hp</div><div class='add'>+		os=-hpux</div><div class='add'>+		;;</div><div class='add'>+	hp3k9[0-9][0-9] | hp9[0-9][0-9])</div><div class='add'>+		basic_machine=hppa1.0-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k2[0-9][0-9] | hp9k31[0-9])</div><div class='add'>+		basic_machine=m68000-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k3[2-9][0-9])</div><div class='add'>+		basic_machine=m68k-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k6[0-9][0-9] | hp6[0-9][0-9])</div><div class='add'>+		basic_machine=hppa1.0-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k7[0-79][0-9] | hp7[0-79][0-9])</div><div class='add'>+		basic_machine=hppa1.1-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k78[0-9] | hp78[0-9])</div><div class='add'>+		# FIXME: really hppa2.0-hp</div><div class='add'>+		basic_machine=hppa1.1-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)</div><div class='add'>+		# FIXME: really hppa2.0-hp</div><div class='add'>+		basic_machine=hppa1.1-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k8[0-9][13679] | hp8[0-9][13679])</div><div class='add'>+		basic_machine=hppa1.1-hp</div><div class='add'>+		;;</div><div class='add'>+	hp9k8[0-9][0-9] | hp8[0-9][0-9])</div><div class='add'>+		basic_machine=hppa1.0-hp</div><div class='add'>+		;;</div><div class='add'>+	hppa-next)</div><div class='add'>+		os=-nextstep3</div><div class='add'>+		;;</div><div class='add'>+	hppaosf)</div><div class='add'>+		basic_machine=hppa1.1-hp</div><div class='add'>+		os=-osf</div><div class='add'>+		;;</div><div class='add'>+	hppro)</div><div class='add'>+		basic_machine=hppa1.1-hp</div><div class='add'>+		os=-proelf</div><div class='add'>+		;;</div><div class='add'>+	i370-ibm* | ibm*)</div><div class='add'>+		basic_machine=i370-ibm</div><div class='add'>+		;;</div><div class='add'>+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?</div><div class='add'>+	i*86v32)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='add'>+		os=-sysv32</div><div class='add'>+		;;</div><div class='add'>+	i*86v4*)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	i*86v)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	i*86sol2)</div><div class='add'>+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='add'>+		os=-solaris2</div><div class='add'>+		;;</div><div class='add'>+	i386mach)</div><div class='add'>+		basic_machine=i386-mach</div><div class='add'>+		os=-mach</div><div class='add'>+		;;</div><div class='add'>+	i386-vsta | vsta)</div><div class='add'>+		basic_machine=i386-unknown</div><div class='add'>+		os=-vsta</div><div class='add'>+		;;</div><div class='add'>+	iris | iris4d)</div><div class='add'>+		basic_machine=mips-sgi</div><div class='add'>+		case $os in</div><div class='add'>+		    -irix*)</div><div class='add'>+			;;</div><div class='add'>+		    *)</div><div class='add'>+			os=-irix4</div><div class='add'>+			;;</div><div class='add'>+		esac</div><div class='add'>+		;;</div><div class='add'>+	isi68 | isi)</div><div class='add'>+		basic_machine=m68k-isi</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	m88k-omron*)</div><div class='add'>+		basic_machine=m88k-omron</div><div class='add'>+		;;</div><div class='add'>+	magnum | m3230)</div><div class='add'>+		basic_machine=mips-mips</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	merlin)</div><div class='add'>+		basic_machine=ns32k-utek</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	mingw32)</div><div class='add'>+		basic_machine=i386-pc</div><div class='add'>+		os=-mingw32</div><div class='add'>+		;;</div><div class='add'>+	miniframe)</div><div class='add'>+		basic_machine=m68000-convergent</div><div class='add'>+		;;</div><div class='add'>+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)</div><div class='add'>+		basic_machine=m68k-atari</div><div class='add'>+		os=-mint</div><div class='add'>+		;;</div><div class='add'>+	mips3*-*)</div><div class='add'>+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`</div><div class='add'>+		;;</div><div class='add'>+	mips3*)</div><div class='add'>+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown</div><div class='add'>+		;;</div><div class='add'>+	mmix*)</div><div class='add'>+		basic_machine=mmix-knuth</div><div class='add'>+		os=-mmixware</div><div class='add'>+		;;</div><div class='add'>+	monitor)</div><div class='add'>+		basic_machine=m68k-rom68k</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	morphos)</div><div class='add'>+		basic_machine=powerpc-unknown</div><div class='add'>+		os=-morphos</div><div class='add'>+		;;</div><div class='add'>+	msdos)</div><div class='add'>+		basic_machine=i386-pc</div><div class='add'>+		os=-msdos</div><div class='add'>+		;;</div><div class='add'>+	mvs)</div><div class='add'>+		basic_machine=i370-ibm</div><div class='add'>+		os=-mvs</div><div class='add'>+		;;</div><div class='add'>+	ncr3000)</div><div class='add'>+		basic_machine=i486-ncr</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	netbsd386)</div><div class='add'>+		basic_machine=i386-unknown</div><div class='add'>+		os=-netbsd</div><div class='add'>+		;;</div><div class='add'>+	netwinder)</div><div class='add'>+		basic_machine=armv4l-rebel</div><div class='add'>+		os=-linux</div><div class='add'>+		;;</div><div class='add'>+	news | news700 | news800 | news900)</div><div class='add'>+		basic_machine=m68k-sony</div><div class='add'>+		os=-newsos</div><div class='add'>+		;;</div><div class='add'>+	news1000)</div><div class='add'>+		basic_machine=m68030-sony</div><div class='add'>+		os=-newsos</div><div class='add'>+		;;</div><div class='add'>+	news-3600 | risc-news)</div><div class='add'>+		basic_machine=mips-sony</div><div class='add'>+		os=-newsos</div><div class='add'>+		;;</div><div class='add'>+	necv70)</div><div class='add'>+		basic_machine=v70-nec</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	next | m*-next )</div><div class='add'>+		basic_machine=m68k-next</div><div class='add'>+		case $os in</div><div class='add'>+		    -nextstep* )</div><div class='add'>+			;;</div><div class='add'>+		    -ns2*)</div><div class='add'>+		      os=-nextstep2</div><div class='add'>+			;;</div><div class='add'>+		    *)</div><div class='add'>+		      os=-nextstep3</div><div class='add'>+			;;</div><div class='add'>+		esac</div><div class='add'>+		;;</div><div class='add'>+	nh3000)</div><div class='add'>+		basic_machine=m68k-harris</div><div class='add'>+		os=-cxux</div><div class='add'>+		;;</div><div class='add'>+	nh[45]000)</div><div class='add'>+		basic_machine=m88k-harris</div><div class='add'>+		os=-cxux</div><div class='add'>+		;;</div><div class='add'>+	nindy960)</div><div class='add'>+		basic_machine=i960-intel</div><div class='add'>+		os=-nindy</div><div class='add'>+		;;</div><div class='add'>+	mon960)</div><div class='add'>+		basic_machine=i960-intel</div><div class='add'>+		os=-mon960</div><div class='add'>+		;;</div><div class='add'>+	nonstopux)</div><div class='add'>+		basic_machine=mips-compaq</div><div class='add'>+		os=-nonstopux</div><div class='add'>+		;;</div><div class='add'>+	np1)</div><div class='add'>+		basic_machine=np1-gould</div><div class='add'>+		;;</div><div class='add'>+	nv1)</div><div class='add'>+		basic_machine=nv1-cray</div><div class='add'>+		os=-unicosmp</div><div class='add'>+		;;</div><div class='add'>+	nsr-tandem)</div><div class='add'>+		basic_machine=nsr-tandem</div><div class='add'>+		;;</div><div class='add'>+	op50n-* | op60c-*)</div><div class='add'>+		basic_machine=hppa1.1-oki</div><div class='add'>+		os=-proelf</div><div class='add'>+		;;</div><div class='add'>+	or32 | or32-*)</div><div class='add'>+		basic_machine=or32-unknown</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	os400)</div><div class='add'>+		basic_machine=powerpc-ibm</div><div class='add'>+		os=-os400</div><div class='add'>+		;;</div><div class='add'>+	OSE68000 | ose68000)</div><div class='add'>+		basic_machine=m68000-ericsson</div><div class='add'>+		os=-ose</div><div class='add'>+		;;</div><div class='add'>+	os68k)</div><div class='add'>+		basic_machine=m68k-none</div><div class='add'>+		os=-os68k</div><div class='add'>+		;;</div><div class='add'>+	pa-hitachi)</div><div class='add'>+		basic_machine=hppa1.1-hitachi</div><div class='add'>+		os=-hiuxwe2</div><div class='add'>+		;;</div><div class='add'>+	paragon)</div><div class='add'>+		basic_machine=i860-intel</div><div class='add'>+		os=-osf</div><div class='add'>+		;;</div><div class='add'>+	pbd)</div><div class='add'>+		basic_machine=sparc-tti</div><div class='add'>+		;;</div><div class='add'>+	pbb)</div><div class='add'>+		basic_machine=m68k-tti</div><div class='add'>+		;;</div><div class='add'>+	pc532 | pc532-*)</div><div class='add'>+		basic_machine=ns32k-pc532</div><div class='add'>+		;;</div><div class='add'>+	pentium | p5 | k5 | k6 | nexgen | viac3)</div><div class='add'>+		basic_machine=i586-pc</div><div class='add'>+		;;</div><div class='add'>+	pentiumpro | p6 | 6x86 | athlon | athlon_*)</div><div class='add'>+		basic_machine=i686-pc</div><div class='add'>+		;;</div><div class='add'>+	pentiumii | pentium2 | pentiumiii | pentium3)</div><div class='add'>+		basic_machine=i686-pc</div><div class='add'>+		;;</div><div class='add'>+	pentium4)</div><div class='add'>+		basic_machine=i786-pc</div><div class='add'>+		;;</div><div class='add'>+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)</div><div class='add'>+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	pentiumpro-* | p6-* | 6x86-* | athlon-*)</div><div class='add'>+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)</div><div class='add'>+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	pentium4-*)</div><div class='add'>+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	pn)</div><div class='add'>+		basic_machine=pn-gould</div><div class='add'>+		;;</div><div class='add'>+	power)	basic_machine=power-ibm</div><div class='add'>+		;;</div><div class='add'>+	ppc)	basic_machine=powerpc-unknown</div><div class='add'>+		;;</div><div class='add'>+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	ppcle | powerpclittle | ppc-le | powerpc-little)</div><div class='add'>+		basic_machine=powerpcle-unknown</div><div class='add'>+		;;</div><div class='add'>+	ppcle-* | powerpclittle-*)</div><div class='add'>+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	ppc64)	basic_machine=powerpc64-unknown</div><div class='add'>+		;;</div><div class='add'>+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)</div><div class='add'>+		basic_machine=powerpc64le-unknown</div><div class='add'>+		;;</div><div class='add'>+	ppc64le-* | powerpc64little-*)</div><div class='add'>+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='add'>+		;;</div><div class='add'>+	ps2)</div><div class='add'>+		basic_machine=i386-ibm</div><div class='add'>+		;;</div><div class='add'>+	pw32)</div><div class='add'>+		basic_machine=i586-unknown</div><div class='add'>+		os=-pw32</div><div class='add'>+		;;</div><div class='add'>+	rom68k)</div><div class='add'>+		basic_machine=m68k-rom68k</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	rm[46]00)</div><div class='add'>+		basic_machine=mips-siemens</div><div class='add'>+		;;</div><div class='add'>+	rtpc | rtpc-*)</div><div class='add'>+		basic_machine=romp-ibm</div><div class='add'>+		;;</div><div class='add'>+	s390 | s390-*)</div><div class='add'>+		basic_machine=s390-ibm</div><div class='add'>+		;;</div><div class='add'>+	s390x | s390x-*)</div><div class='add'>+		basic_machine=s390x-ibm</div><div class='add'>+		;;</div><div class='add'>+	sa29200)</div><div class='add'>+		basic_machine=a29k-amd</div><div class='add'>+		os=-udi</div><div class='add'>+		;;</div><div class='add'>+	sb1)</div><div class='add'>+		basic_machine=mipsisa64sb1-unknown</div><div class='add'>+		;;</div><div class='add'>+	sb1el)</div><div class='add'>+		basic_machine=mipsisa64sb1el-unknown</div><div class='add'>+		;;</div><div class='add'>+	sei)</div><div class='add'>+		basic_machine=mips-sei</div><div class='add'>+		os=-seiux</div><div class='add'>+		;;</div><div class='add'>+	sequent)</div><div class='add'>+		basic_machine=i386-sequent</div><div class='add'>+		;;</div><div class='add'>+	sh)</div><div class='add'>+		basic_machine=sh-hitachi</div><div class='add'>+		os=-hms</div><div class='add'>+		;;</div><div class='add'>+	sh64)</div><div class='add'>+		basic_machine=sh64-unknown</div><div class='add'>+		;;</div><div class='add'>+	sparclite-wrs | simso-wrs)</div><div class='add'>+		basic_machine=sparclite-wrs</div><div class='add'>+		os=-vxworks</div><div class='add'>+		;;</div><div class='add'>+	sps7)</div><div class='add'>+		basic_machine=m68k-bull</div><div class='add'>+		os=-sysv2</div><div class='add'>+		;;</div><div class='add'>+	spur)</div><div class='add'>+		basic_machine=spur-unknown</div><div class='add'>+		;;</div><div class='add'>+	st2000)</div><div class='add'>+		basic_machine=m68k-tandem</div><div class='add'>+		;;</div><div class='add'>+	stratus)</div><div class='add'>+		basic_machine=i860-stratus</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	sun2)</div><div class='add'>+		basic_machine=m68000-sun</div><div class='add'>+		;;</div><div class='add'>+	sun2os3)</div><div class='add'>+		basic_machine=m68000-sun</div><div class='add'>+		os=-sunos3</div><div class='add'>+		;;</div><div class='add'>+	sun2os4)</div><div class='add'>+		basic_machine=m68000-sun</div><div class='add'>+		os=-sunos4</div><div class='add'>+		;;</div><div class='add'>+	sun3os3)</div><div class='add'>+		basic_machine=m68k-sun</div><div class='add'>+		os=-sunos3</div><div class='add'>+		;;</div><div class='add'>+	sun3os4)</div><div class='add'>+		basic_machine=m68k-sun</div><div class='add'>+		os=-sunos4</div><div class='add'>+		;;</div><div class='add'>+	sun4os3)</div><div class='add'>+		basic_machine=sparc-sun</div><div class='add'>+		os=-sunos3</div><div class='add'>+		;;</div><div class='add'>+	sun4os4)</div><div class='add'>+		basic_machine=sparc-sun</div><div class='add'>+		os=-sunos4</div><div class='add'>+		;;</div><div class='add'>+	sun4sol2)</div><div class='add'>+		basic_machine=sparc-sun</div><div class='add'>+		os=-solaris2</div><div class='add'>+		;;</div><div class='add'>+	sun3 | sun3-*)</div><div class='add'>+		basic_machine=m68k-sun</div><div class='add'>+		;;</div><div class='add'>+	sun4)</div><div class='add'>+		basic_machine=sparc-sun</div><div class='add'>+		;;</div><div class='add'>+	sun386 | sun386i | roadrunner)</div><div class='add'>+		basic_machine=i386-sun</div><div class='add'>+		;;</div><div class='add'>+	sv1)</div><div class='add'>+		basic_machine=sv1-cray</div><div class='add'>+		os=-unicos</div><div class='add'>+		;;</div><div class='add'>+	symmetry)</div><div class='add'>+		basic_machine=i386-sequent</div><div class='add'>+		os=-dynix</div><div class='add'>+		;;</div><div class='add'>+	t3e)</div><div class='add'>+		basic_machine=alphaev5-cray</div><div class='add'>+		os=-unicos</div><div class='add'>+		;;</div><div class='add'>+	t90)</div><div class='add'>+		basic_machine=t90-cray</div><div class='add'>+		os=-unicos</div><div class='add'>+		;;</div><div class='add'>+	tic54x | c54x*)</div><div class='add'>+		basic_machine=tic54x-unknown</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	tic55x | c55x*)</div><div class='add'>+		basic_machine=tic55x-unknown</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	tic6x | c6x*)</div><div class='add'>+		basic_machine=tic6x-unknown</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	tx39)</div><div class='add'>+		basic_machine=mipstx39-unknown</div><div class='add'>+		;;</div><div class='add'>+	tx39el)</div><div class='add'>+		basic_machine=mipstx39el-unknown</div><div class='add'>+		;;</div><div class='add'>+	toad1)</div><div class='add'>+		basic_machine=pdp10-xkl</div><div class='add'>+		os=-tops20</div><div class='add'>+		;;</div><div class='add'>+	tower | tower-32)</div><div class='add'>+		basic_machine=m68k-ncr</div><div class='add'>+		;;</div><div class='add'>+	tpf)</div><div class='add'>+		basic_machine=s390x-ibm</div><div class='add'>+		os=-tpf</div><div class='add'>+		;;</div><div class='add'>+	udi29k)</div><div class='add'>+		basic_machine=a29k-amd</div><div class='add'>+		os=-udi</div><div class='add'>+		;;</div><div class='add'>+	ultra3)</div><div class='add'>+		basic_machine=a29k-nyu</div><div class='add'>+		os=-sym1</div><div class='add'>+		;;</div><div class='add'>+	v810 | necv810)</div><div class='add'>+		basic_machine=v810-nec</div><div class='add'>+		os=-none</div><div class='add'>+		;;</div><div class='add'>+	vaxv)</div><div class='add'>+		basic_machine=vax-dec</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	vms)</div><div class='add'>+		basic_machine=vax-dec</div><div class='add'>+		os=-vms</div><div class='add'>+		;;</div><div class='add'>+	vpp*|vx|vx-*)</div><div class='add'>+		basic_machine=f301-fujitsu</div><div class='add'>+		;;</div><div class='add'>+	vxworks960)</div><div class='add'>+		basic_machine=i960-wrs</div><div class='add'>+		os=-vxworks</div><div class='add'>+		;;</div><div class='add'>+	vxworks68)</div><div class='add'>+		basic_machine=m68k-wrs</div><div class='add'>+		os=-vxworks</div><div class='add'>+		;;</div><div class='add'>+	vxworks29k)</div><div class='add'>+		basic_machine=a29k-wrs</div><div class='add'>+		os=-vxworks</div><div class='add'>+		;;</div><div class='add'>+	w65*)</div><div class='add'>+		basic_machine=w65-wdc</div><div class='add'>+		os=-none</div><div class='add'>+		;;</div><div class='add'>+	w89k-*)</div><div class='add'>+		basic_machine=hppa1.1-winbond</div><div class='add'>+		os=-proelf</div><div class='add'>+		;;</div><div class='add'>+	xps | xps100)</div><div class='add'>+		basic_machine=xps100-honeywell</div><div class='add'>+		;;</div><div class='add'>+	ymp)</div><div class='add'>+		basic_machine=ymp-cray</div><div class='add'>+		os=-unicos</div><div class='add'>+		;;</div><div class='add'>+	z8k-*-coff)</div><div class='add'>+		basic_machine=z8k-unknown</div><div class='add'>+		os=-sim</div><div class='add'>+		;;</div><div class='add'>+	none)</div><div class='add'>+		basic_machine=none-none</div><div class='add'>+		os=-none</div><div class='add'>+		;;</div><div class='add'>+</div><div class='add'>+# Here we handle the default manufacturer of certain CPU types.  It is in</div><div class='add'>+# some cases the only manufacturer, in others, it is the most popular.</div><div class='add'>+	w89k)</div><div class='add'>+		basic_machine=hppa1.1-winbond</div><div class='add'>+		;;</div><div class='add'>+	op50n)</div><div class='add'>+		basic_machine=hppa1.1-oki</div><div class='add'>+		;;</div><div class='add'>+	op60c)</div><div class='add'>+		basic_machine=hppa1.1-oki</div><div class='add'>+		;;</div><div class='add'>+	romp)</div><div class='add'>+		basic_machine=romp-ibm</div><div class='add'>+		;;</div><div class='add'>+	rs6000)</div><div class='add'>+		basic_machine=rs6000-ibm</div><div class='add'>+		;;</div><div class='add'>+	vax)</div><div class='add'>+		basic_machine=vax-dec</div><div class='add'>+		;;</div><div class='add'>+	pdp10)</div><div class='add'>+		# there are many clones, so DEC is not a safe bet</div><div class='add'>+		basic_machine=pdp10-unknown</div><div class='add'>+		;;</div><div class='add'>+	pdp11)</div><div class='add'>+		basic_machine=pdp11-dec</div><div class='add'>+		;;</div><div class='add'>+	we32k)</div><div class='add'>+		basic_machine=we32k-att</div><div class='add'>+		;;</div><div class='add'>+	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)</div><div class='add'>+		basic_machine=sh-unknown</div><div class='add'>+		;;</div><div class='add'>+	sh64)</div><div class='add'>+		basic_machine=sh64-unknown</div><div class='add'>+		;;</div><div class='add'>+	sparc | sparcv9 | sparcv9b)</div><div class='add'>+		basic_machine=sparc-sun</div><div class='add'>+		;;</div><div class='add'>+	cydra)</div><div class='add'>+		basic_machine=cydra-cydrome</div><div class='add'>+		;;</div><div class='add'>+	orion)</div><div class='add'>+		basic_machine=orion-highlevel</div><div class='add'>+		;;</div><div class='add'>+	orion105)</div><div class='add'>+		basic_machine=clipper-highlevel</div><div class='add'>+		;;</div><div class='add'>+	mac | mpw | mac-mpw)</div><div class='add'>+		basic_machine=m68k-apple</div><div class='add'>+		;;</div><div class='add'>+	pmac | pmac-mpw)</div><div class='add'>+		basic_machine=powerpc-apple</div><div class='add'>+		;;</div><div class='add'>+	*-unknown)</div><div class='add'>+		# Make sure to match an already-canonicalized machine name.</div><div class='add'>+		;;</div><div class='add'>+	*)</div><div class='add'>+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1&gt;&amp;2</div><div class='add'>+		exit 1</div><div class='add'>+		;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+# Here we canonicalize certain aliases for manufacturers.</div><div class='add'>+case $basic_machine in</div><div class='add'>+	*-digital*)</div><div class='add'>+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`</div><div class='add'>+		;;</div><div class='add'>+	*-commodore*)</div><div class='add'>+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`</div><div class='add'>+		;;</div><div class='add'>+	*)</div><div class='add'>+		;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+# Decode manufacturer-specific aliases for certain operating systems.</div><div class='add'>+</div><div class='add'>+if [ x"$os" != x"" ]</div><div class='add'>+then</div><div class='add'>+case $os in</div><div class='add'>+        # First match some system type aliases</div><div class='add'>+        # that might get confused with valid system types.</div><div class='add'>+	# -solaris* is a basic system type, with this one exception.</div><div class='add'>+	-solaris1 | -solaris1.*)</div><div class='add'>+		os=`echo $os | sed -e 's|solaris1|sunos4|'`</div><div class='add'>+		;;</div><div class='add'>+	-solaris)</div><div class='add'>+		os=-solaris2</div><div class='add'>+		;;</div><div class='add'>+	-svr4*)</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	-unixware*)</div><div class='add'>+		os=-sysv4.2uw</div><div class='add'>+		;;</div><div class='add'>+	-gnu/linux*)</div><div class='add'>+		os=`echo $os | sed -e 's|gnu/linux|linux|'`</div><div class='add'>+		;;</div><div class='add'>+	# First accept the basic system types.</div><div class='add'>+	# The portable systems comes first.</div><div class='add'>+	# Each alternative MUST END IN A *, to match a version number.</div><div class='add'>+	# -sysv* is not here because it comes later, after sysvr4.</div><div class='add'>+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \</div><div class='add'>+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\</div><div class='add'>+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \</div><div class='add'>+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \</div><div class='add'>+	      | -aos* \</div><div class='add'>+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \</div><div class='add'>+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \</div><div class='add'>+	      | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \</div><div class='add'>+	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \</div><div class='add'>+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \</div><div class='add'>+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \</div><div class='add'>+	      | -chorusos* | -chorusrdb* \</div><div class='add'>+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \</div><div class='add'>+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \</div><div class='add'>+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \</div><div class='add'>+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \</div><div class='add'>+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \</div><div class='add'>+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \</div><div class='add'>+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \</div><div class='add'>+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)</div><div class='add'>+	# Remember, each alternative MUST END IN *, to match a version number.</div><div class='add'>+		;;</div><div class='add'>+	-qnx*)</div><div class='add'>+		case $basic_machine in</div><div class='add'>+		    x86-* | i*86-*)</div><div class='add'>+			;;</div><div class='add'>+		    *)</div><div class='add'>+			os=-nto$os</div><div class='add'>+			;;</div><div class='add'>+		esac</div><div class='add'>+		;;</div><div class='add'>+	-nto-qnx*)</div><div class='add'>+		;;</div><div class='add'>+	-nto*)</div><div class='add'>+		os=`echo $os | sed -e 's|nto|nto-qnx|'`</div><div class='add'>+		;;</div><div class='add'>+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \</div><div class='add'>+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \</div><div class='add'>+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)</div><div class='add'>+		;;</div><div class='add'>+	-mac*)</div><div class='add'>+		os=`echo $os | sed -e 's|mac|macos|'`</div><div class='add'>+		;;</div><div class='add'>+	-linux-dietlibc)</div><div class='add'>+		os=-linux-dietlibc</div><div class='add'>+		;;</div><div class='add'>+	-linux*)</div><div class='add'>+		os=-linux</div><div class='add'>+		;;</div><div class='add'>+	-sunos5*)</div><div class='add'>+		os=`echo $os | sed -e 's|sunos5|solaris2|'`</div><div class='add'>+		;;</div><div class='add'>+	-sunos6*)</div><div class='add'>+		os=`echo $os | sed -e 's|sunos6|solaris3|'`</div><div class='add'>+		;;</div><div class='add'>+	-opened*)</div><div class='add'>+		os=-openedition</div><div class='add'>+		;;</div><div class='add'>+        -os400*)</div><div class='add'>+		os=-os400</div><div class='add'>+		;;</div><div class='add'>+	-wince*)</div><div class='add'>+		os=-wince</div><div class='add'>+		;;</div><div class='add'>+	-osfrose*)</div><div class='add'>+		os=-osfrose</div><div class='add'>+		;;</div><div class='add'>+	-osf*)</div><div class='add'>+		os=-osf</div><div class='add'>+		;;</div><div class='add'>+	-utek*)</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	-dynix*)</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	-acis*)</div><div class='add'>+		os=-aos</div><div class='add'>+		;;</div><div class='add'>+	-atheos*)</div><div class='add'>+		os=-atheos</div><div class='add'>+		;;</div><div class='add'>+	-syllable*)</div><div class='add'>+		os=-syllable</div><div class='add'>+		;;</div><div class='add'>+	-386bsd)</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	-ctix* | -uts*)</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	-nova*)</div><div class='add'>+		os=-rtmk-nova</div><div class='add'>+		;;</div><div class='add'>+	-ns2 )</div><div class='add'>+		os=-nextstep2</div><div class='add'>+		;;</div><div class='add'>+	-nsk*)</div><div class='add'>+		os=-nsk</div><div class='add'>+		;;</div><div class='add'>+	# Preserve the version number of sinix5.</div><div class='add'>+	-sinix5.*)</div><div class='add'>+		os=`echo $os | sed -e 's|sinix|sysv|'`</div><div class='add'>+		;;</div><div class='add'>+	-sinix*)</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+        -tpf*)</div><div class='add'>+		os=-tpf</div><div class='add'>+		;;</div><div class='add'>+	-triton*)</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	-oss*)</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	-svr4)</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	-svr3)</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	-sysvr4)</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	# This must come after -sysvr4.</div><div class='add'>+	-sysv*)</div><div class='add'>+		;;</div><div class='add'>+	-ose*)</div><div class='add'>+		os=-ose</div><div class='add'>+		;;</div><div class='add'>+	-es1800*)</div><div class='add'>+		os=-ose</div><div class='add'>+		;;</div><div class='add'>+	-xenix)</div><div class='add'>+		os=-xenix</div><div class='add'>+		;;</div><div class='add'>+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)</div><div class='add'>+		os=-mint</div><div class='add'>+		;;</div><div class='add'>+	-aros*)</div><div class='add'>+		os=-aros</div><div class='add'>+		;;</div><div class='add'>+	-kaos*)</div><div class='add'>+		os=-kaos</div><div class='add'>+		;;</div><div class='add'>+	-none)</div><div class='add'>+		;;</div><div class='add'>+	*)</div><div class='add'>+		# Get rid of the `-' at the beginning of $os.</div><div class='add'>+		os=`echo $os | sed 's/[^-]*-//'`</div><div class='add'>+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1&gt;&amp;2</div><div class='add'>+		exit 1</div><div class='add'>+		;;</div><div class='add'>+esac</div><div class='add'>+else</div><div class='add'>+</div><div class='add'>+# Here we handle the default operating systems that come with various machines.</div><div class='add'>+# The value should be what the vendor currently ships out the door with their</div><div class='add'>+# machine or put another way, the most popular os provided with the machine.</div><div class='add'>+</div><div class='add'>+# Note that if you're going to try to match "-MANUFACTURER" here (say,</div><div class='add'>+# "-sun"), then you have to tell the case statement up towards the top</div><div class='add'>+# that MANUFACTURER isn't an operating system.  Otherwise, code above</div><div class='add'>+# will signal an error saying that MANUFACTURER isn't an operating</div><div class='add'>+# system, and we'll never get to this point.</div><div class='add'>+</div><div class='add'>+case $basic_machine in</div><div class='add'>+	*-acorn)</div><div class='add'>+		os=-riscix1.2</div><div class='add'>+		;;</div><div class='add'>+	arm*-rebel)</div><div class='add'>+		os=-linux</div><div class='add'>+		;;</div><div class='add'>+	arm*-semi)</div><div class='add'>+		os=-aout</div><div class='add'>+		;;</div><div class='add'>+    c4x-* | tic4x-*)</div><div class='add'>+        os=-coff</div><div class='add'>+        ;;</div><div class='add'>+	# This must come before the *-dec entry.</div><div class='add'>+	pdp10-*)</div><div class='add'>+		os=-tops20</div><div class='add'>+		;;</div><div class='add'>+	pdp11-*)</div><div class='add'>+		os=-none</div><div class='add'>+		;;</div><div class='add'>+	*-dec | vax-*)</div><div class='add'>+		os=-ultrix4.2</div><div class='add'>+		;;</div><div class='add'>+	m68*-apollo)</div><div class='add'>+		os=-domain</div><div class='add'>+		;;</div><div class='add'>+	i386-sun)</div><div class='add'>+		os=-sunos4.0.2</div><div class='add'>+		;;</div><div class='add'>+	m68000-sun)</div><div class='add'>+		os=-sunos3</div><div class='add'>+		# This also exists in the configure program, but was not the</div><div class='add'>+		# default.</div><div class='add'>+		# os=-sunos4</div><div class='add'>+		;;</div><div class='add'>+	m68*-cisco)</div><div class='add'>+		os=-aout</div><div class='add'>+		;;</div><div class='add'>+	mips*-cisco)</div><div class='add'>+		os=-elf</div><div class='add'>+		;;</div><div class='add'>+	mips*-*)</div><div class='add'>+		os=-elf</div><div class='add'>+		;;</div><div class='add'>+	or32-*)</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	*-tti)	# must be before sparc entry or we get the wrong os.</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	sparc-* | *-sun)</div><div class='add'>+		os=-sunos4.1.1</div><div class='add'>+		;;</div><div class='add'>+	*-be)</div><div class='add'>+		os=-beos</div><div class='add'>+		;;</div><div class='add'>+	*-ibm)</div><div class='add'>+		os=-aix</div><div class='add'>+		;;</div><div class='add'>+	*-wec)</div><div class='add'>+		os=-proelf</div><div class='add'>+		;;</div><div class='add'>+	*-winbond)</div><div class='add'>+		os=-proelf</div><div class='add'>+		;;</div><div class='add'>+	*-oki)</div><div class='add'>+		os=-proelf</div><div class='add'>+		;;</div><div class='add'>+	*-hp)</div><div class='add'>+		os=-hpux</div><div class='add'>+		;;</div><div class='add'>+	*-hitachi)</div><div class='add'>+		os=-hiux</div><div class='add'>+		;;</div><div class='add'>+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	*-cbm)</div><div class='add'>+		os=-amigaos</div><div class='add'>+		;;</div><div class='add'>+	*-dg)</div><div class='add'>+		os=-dgux</div><div class='add'>+		;;</div><div class='add'>+	*-dolphin)</div><div class='add'>+		os=-sysv3</div><div class='add'>+		;;</div><div class='add'>+	m68k-ccur)</div><div class='add'>+		os=-rtu</div><div class='add'>+		;;</div><div class='add'>+	m88k-omron*)</div><div class='add'>+		os=-luna</div><div class='add'>+		;;</div><div class='add'>+	*-next )</div><div class='add'>+		os=-nextstep</div><div class='add'>+		;;</div><div class='add'>+	*-sequent)</div><div class='add'>+		os=-ptx</div><div class='add'>+		;;</div><div class='add'>+	*-crds)</div><div class='add'>+		os=-unos</div><div class='add'>+		;;</div><div class='add'>+	*-ns)</div><div class='add'>+		os=-genix</div><div class='add'>+		;;</div><div class='add'>+	i370-*)</div><div class='add'>+		os=-mvs</div><div class='add'>+		;;</div><div class='add'>+	*-next)</div><div class='add'>+		os=-nextstep3</div><div class='add'>+		;;</div><div class='add'>+	*-gould)</div><div class='add'>+		os=-sysv</div><div class='add'>+		;;</div><div class='add'>+	*-highlevel)</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	*-encore)</div><div class='add'>+		os=-bsd</div><div class='add'>+		;;</div><div class='add'>+	*-sgi)</div><div class='add'>+		os=-irix</div><div class='add'>+		;;</div><div class='add'>+	*-siemens)</div><div class='add'>+		os=-sysv4</div><div class='add'>+		;;</div><div class='add'>+	*-masscomp)</div><div class='add'>+		os=-rtu</div><div class='add'>+		;;</div><div class='add'>+	f30[01]-fujitsu | f700-fujitsu)</div><div class='add'>+		os=-uxpv</div><div class='add'>+		;;</div><div class='add'>+	*-rom68k)</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	*-*bug)</div><div class='add'>+		os=-coff</div><div class='add'>+		;;</div><div class='add'>+	*-apple)</div><div class='add'>+		os=-macos</div><div class='add'>+		;;</div><div class='add'>+	*-atari*)</div><div class='add'>+		os=-mint</div><div class='add'>+		;;</div><div class='add'>+	*)</div><div class='add'>+		os=-none</div><div class='add'>+		;;</div><div class='add'>+esac</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+# Here we handle the case where we know the os, and the CPU type, but not the</div><div class='add'>+# manufacturer.  We pick the logical manufacturer.</div><div class='add'>+vendor=unknown</div><div class='add'>+case $basic_machine in</div><div class='add'>+	*-unknown)</div><div class='add'>+		case $os in</div><div class='add'>+			-riscix*)</div><div class='add'>+				vendor=acorn</div><div class='add'>+				;;</div><div class='add'>+			-sunos*)</div><div class='add'>+				vendor=sun</div><div class='add'>+				;;</div><div class='add'>+			-aix*)</div><div class='add'>+				vendor=ibm</div><div class='add'>+				;;</div><div class='add'>+			-beos*)</div><div class='add'>+				vendor=be</div><div class='add'>+				;;</div><div class='add'>+			-hpux*)</div><div class='add'>+				vendor=hp</div><div class='add'>+				;;</div><div class='add'>+			-mpeix*)</div><div class='add'>+				vendor=hp</div><div class='add'>+				;;</div><div class='add'>+			-hiux*)</div><div class='add'>+				vendor=hitachi</div><div class='add'>+				;;</div><div class='add'>+			-unos*)</div><div class='add'>+				vendor=crds</div><div class='add'>+				;;</div><div class='add'>+			-dgux*)</div><div class='add'>+				vendor=dg</div><div class='add'>+				;;</div><div class='add'>+			-luna*)</div><div class='add'>+				vendor=omron</div><div class='add'>+				;;</div><div class='add'>+			-genix*)</div><div class='add'>+				vendor=ns</div><div class='add'>+				;;</div><div class='add'>+			-mvs* | -opened*)</div><div class='add'>+				vendor=ibm</div><div class='add'>+				;;</div><div class='add'>+			-os400*)</div><div class='add'>+				vendor=ibm</div><div class='add'>+				;;</div><div class='add'>+			-ptx*)</div><div class='add'>+				vendor=sequent</div><div class='add'>+				;;</div><div class='add'>+			-tpf*)</div><div class='add'>+				vendor=ibm</div><div class='add'>+				;;</div><div class='add'>+			-vxsim* | -vxworks* | -windiss*)</div><div class='add'>+				vendor=wrs</div><div class='add'>+				;;</div><div class='add'>+			-aux*)</div><div class='add'>+				vendor=apple</div><div class='add'>+				;;</div><div class='add'>+			-hms*)</div><div class='add'>+				vendor=hitachi</div><div class='add'>+				;;</div><div class='add'>+			-mpw* | -macos*)</div><div class='add'>+				vendor=apple</div><div class='add'>+				;;</div><div class='add'>+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)</div><div class='add'>+				vendor=atari</div><div class='add'>+				;;</div><div class='add'>+			-vos*)</div><div class='add'>+				vendor=stratus</div><div class='add'>+				;;</div><div class='add'>+		esac</div><div class='add'>+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`</div><div class='add'>+		;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+echo $basic_machine$os</div><div class='add'>+exit 0</div><div class='add'>+</div><div class='add'>+# Local variables:</div><div class='add'>+# eval: (add-hook 'write-file-hooks 'time-stamp)</div><div class='add'>+# time-stamp-start: "timestamp='"</div><div class='add'>+# time-stamp-format: "%:y-%02m-%02d"</div><div class='add'>+# time-stamp-end: "'"</div><div class='add'>+# End:</div><div class='head'>diff --git a/configure.ac b/configure.ac<br/>deleted file mode 100644<br/>index 4e3f1ef0e5..0000000000<br/>--- a/<a href='/ruby.git/tree/configure.ac?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>configure.ac</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,4060 +0,0 @@</div><div class='del'>-dnl Process this file with autoconf to produce a configure script.</div><div class='del'>-AC_INIT()</div><div class='del'>-{</div><div class='del'>-AC_CONFIG_AUX_DIR(tool)</div><div class='del'>-AC_CONFIG_MACRO_DIRS(tool/m4)</div><div class='del'>-</div><div class='del'>-AC_PREREQ(2.67)</div><div class='del'>-</div><div class='del'>-dnl   override AC_CHECKING</div><div class='del'>-dnl   placed here due to aclocal(1)'s</div><div class='del'>-dnl   ignoring this definition in separate files</div><div class='del'>-AC_DEFUN([AC_CHECKING],[dnl</div><div class='del'>-AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl</div><div class='del'>-AS_MESSAGE([checking ${msg_checking}$1${msg_reset}...])])dnl</div><div class='del'>-</div><div class='del'>-AC_DISABLE_OPTION_CHECKING</div><div class='del'>-</div><div class='del'>-AC_ARG_VAR([cflags], [additional CFLAGS (ignored when CFLAGS is given)])</div><div class='del'>-AC_ARG_VAR([cppflags], [additional CPPFLAGS (ignored when CPPFLAGS is given)])</div><div class='del'>-AC_ARG_VAR([cxxflags], [additional CXXFLAGS (ignored when CXXFLAGS is given)])</div><div class='del'>-</div><div class='del'>-: "environment section" &amp;&amp; {</div><div class='del'>-HAVE_BASERUBY=yes</div><div class='del'>-AC_ARG_WITH(baseruby,</div><div class='del'>-	AS_HELP_STRING([--with-baseruby=RUBY], [use RUBY as baseruby; RUBY is the pathname of ruby]),</div><div class='del'>-	[AS_CASE(["$withval"],</div><div class='del'>-	    [*ruby*],[BASERUBY=$withval],</div><div class='del'>-	    [no],[HAVE_BASERUBY=no],</div><div class='del'>-	    [AC_MSG_ERROR(need ruby)])</div><div class='del'>-	],</div><div class='del'>-	[</div><div class='del'>-		AC_PATH_PROG([BASERUBY], [ruby], [false])</div><div class='del'>-	])</div><div class='del'>-AS_IF([test "$HAVE_BASERUBY" = yes -a "`RUBYOPT=- $BASERUBY -e 'print 42' 2&gt;/dev/null`" = 42], [</div><div class='del'>-    AS_IF([test "`RUBYOPT=- $BASERUBY --disable=gems -e 'print 42' 2&gt;/dev/null`" = 42], [</div><div class='del'>-	BASERUBY="$BASERUBY --disable=gems"</div><div class='del'>-    ])</div><div class='del'>-    $BASERUBY -C "$srcdir" tool/downloader.rb -d tool -e gnu config.guess config.sub &gt;&amp;AS_MESSAGE_FD</div><div class='del'>-], [</div><div class='del'>-    BASERUBY="echo executable host ruby is required.  use --with-baseruby option.; false"</div><div class='del'>-    HAVE_BASERUBY=no</div><div class='del'>-])</div><div class='del'>-AC_SUBST(BASERUBY)</div><div class='del'>-AC_SUBST(HAVE_BASERUBY)</div><div class='del'>-</div><div class='del'>-: ${GIT=git}</div><div class='del'>-HAVE_GIT=yes</div><div class='del'>-AC_ARG_WITH(git,</div><div class='del'>-	AS_HELP_STRING([--without-git], [never use git]),</div><div class='del'>-	[AS_CASE([$withval],</div><div class='del'>-	    [no],  [GIT=never-use HAVE_GIT=no],</div><div class='del'>-	    [yes], [],</div><div class='del'>-	    [GIT=$withval])])</div><div class='del'>-AS_IF([test x"$HAVE_GIT" = xyes], [command -v "$GIT" &gt; /dev/null || HAVE_GIT=no])</div><div class='del'>-AC_SUBST(GIT)</div><div class='del'>-AC_SUBST(HAVE_GIT)</div><div class='del'>-</div><div class='del'>-eval `sed -n ['s/^@%:@define RUBY_API_VERSION_\([A-Z][A-Z_0-9]*\) \([0-9][0-9]*\)/API_\1=\2/p'] $srcdir/include/ruby/version.h`</div><div class='del'>-RUBY_PROGRAM_VERSION=`sed -n 's/^@%:@define RUBY_VERSION "\(.*\)"/\1/p' $srcdir/version.h`</div><div class='del'>-MAJOR=`echo $RUBY_PROGRAM_VERSION | cut -d. -f1`</div><div class='del'>-MINOR=`echo $RUBY_PROGRAM_VERSION | cut -d. -f2`</div><div class='del'>-TEENY=`echo $RUBY_PROGRAM_VERSION | cut -d. -f3`</div><div class='del'>-for v in MAJOR MINOR TEENY; do</div><div class='del'>-    AS_IF([eval "test \"\$$v\" = ''"], [</div><div class='del'>-	AC_MSG_ERROR(could not determine $v number from version.h)</div><div class='del'>-    ])</div><div class='del'>-done</div><div class='del'>-AS_IF([test "$MAJOR.$MINOR" != "$API_MAJOR.$API_MINOR"], [</div><div class='del'>-    AC_MSG_ERROR([API version $API_MAJOR.$API_MINOR differs from program version $MAJOR.$MINOR])</div><div class='del'>-])</div><div class='del'>-AC_SUBST(MAJOR)</div><div class='del'>-AC_SUBST(MINOR)</div><div class='del'>-AC_SUBST(TEENY)</div><div class='del'>-AC_SUBST(RUBY_PROGRAM_VERSION)</div><div class='del'>-AC_SUBST(RUBY_API_VERSION, '$(MAJOR).$(MINOR)')</div><div class='del'>-RUBY_PATCHLEVEL=`sed -n 's/^#define RUBY_PATCHLEVEL //p' $srcdir/version.h`</div><div class='del'>-dnl checks for alternative programs</div><div class='del'>-AC_CANONICAL_BUILD</div><div class='del'>-RUBY_RM_RECURSIVE</div><div class='del'>-AC_ARG_WITH(gcc,</div><div class='del'>-	AS_HELP_STRING([--without-gcc], [never use gcc]),</div><div class='del'>-	[</div><div class='del'>-	AS_CASE([$withval],</div><div class='del'>-	    [no],  [: ${CC=cc}],</div><div class='del'>-	    [yes], [: ${CC=gcc}],</div><div class='del'>-	           [CC=$withval])])</div><div class='del'>-dnl If the user switches compilers, we can't believe the cache</div><div class='del'>-AS_IF([test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"], [</div><div class='del'>-  AC_MSG_ERROR(cached CC is different -- throw away $cache_file</div><div class='del'>-(it is also a good idea to do 'make clean' before compiling))</div><div class='del'>-])</div><div class='del'>-test -z "$CC" || ac_cv_prog_CC="$CC"</div><div class='del'>-</div><div class='del'>-AS_IF([test "$program_prefix" = NONE], [</div><div class='del'>-  program_prefix=</div><div class='del'>-])</div><div class='del'>-AS_IF([test "$prefix" -ef .], [</div><div class='del'>-  AC_MSG_ERROR(--prefix cannot be the current working directory.)</div><div class='del'>-])</div><div class='del'>-RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`</div><div class='del'>-RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"`</div><div class='del'>-AC_SUBST(RUBY_BASE_NAME)</div><div class='del'>-AC_SUBST(RUBYW_BASE_NAME)</div><div class='del'>-AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version}')</div><div class='del'>-</div><div class='del'>-AC_CANONICAL_TARGET</div><div class='del'>-test x"$target_alias" = x &amp;&amp;</div><div class='del'>-target_os=`echo $target_os | sed 's/linux-gnu$/linux/;s/linux-gnu/linux-/'`</div><div class='del'>-ac_install_sh='' # unusable for extension libraries.</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(os-version-style,</div><div class='del'>-	AS_HELP_STRING([--with-os-version-style=TYPE],</div><div class='del'>-		       [OS version number for target and target_os [[full]]]</div><div class='del'>-		       [(full|teeny|minor+0|minor|major+0|major|none)]),</div><div class='del'>-	[os_version_style=$withval],</div><div class='del'>-	[os_version_style=full</div><div class='del'>-	    AS_CASE($target_os, [[*[0-9].*]],</div><div class='del'>-		[AS_CASE([`/usr/bin/ruby -e 'puts RUBY_PLATFORM' 2&gt;/dev/null`],</div><div class='del'>-		    [[*-*[0-9].*.0]], [os_version_style=minor+0],</div><div class='del'>-		    [[*-*[0-9].*.*]], [os_version_style=full],</div><div class='del'>-		    [[*-*[0-9].0]  ], [os_version_style=major+0],</div><div class='del'>-		    [[*-*[0-9].*]  ], [os_version_style=minor],</div><div class='del'>-		    [[*-*[0-9]]    ], [os_version_style=major],</div><div class='del'>-		)])</div><div class='del'>-	])</div><div class='del'>-os_version_style_transform=</div><div class='del'>-AS_CASE("${os_version_style}",</div><div class='del'>-	[full|teeny], [],</div><div class='del'>-	[minor+0], [os_version_style_transform=['s/\([0-9]\.[0-9][0-9]*\)\.[0-9][.0-9]*$/\1.0/']],</div><div class='del'>-	[minor],   [os_version_style_transform=['s/\([0-9]\.[0-9][0-9]*\)\.[0-9][.0-9]*$/\1/']],</div><div class='del'>-	[major+0], [os_version_style_transform=['s/\([0-9]\)\.[0-9][.0-9]*$/\1.0/']],</div><div class='del'>-	[major],   [os_version_style_transform=['s/\([0-9]\)\.[0-9][.0-9]*$/\1/']],</div><div class='del'>-	[none],    [os_version_style_transform=['s/[0-9]\.[0-9][.0-9]*$//']],</div><div class='del'>-	[AC_MSG_ERROR(unknown --with-os-version-style: $withval)])</div><div class='del'>-AS_IF([test -z "$target_alias" -a -n "$os_version_style_transform"],</div><div class='del'>-	[</div><div class='del'>-	target=`echo ${target} | sed "$os_version_style_transform"`</div><div class='del'>-	target_os=`echo ${target_os} | sed "$os_version_style_transform"`</div><div class='del'>-	])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(arch,</div><div class='del'>-	AS_HELP_STRING([--with-arch=ARCHS],</div><div class='del'>-		       [build an Apple/NeXT Multi Architecture Binary (MAB);</div><div class='del'>-                          ARCHS is a comma-delimited list of architectures for</div><div class='del'>-                          which to build; if this option is disabled or omitted</div><div class='del'>-			  entirely, then the package will be built only for the</div><div class='del'>-			  target platform]),</div><div class='del'>-       [target_archs="$withval"], [unset target_archs])</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(load-relative,</div><div class='del'>-       AS_HELP_STRING([--enable-load-relative], [resolve load paths at run time]),</div><div class='del'>-       [load_relative=$enableval])</div><div class='del'>-</div><div class='del'>-AC_ARG_PROGRAM</div><div class='del'>-</div><div class='del'>-dnl Checks for programs.</div><div class='del'>-</div><div class='del'>-cflagspat=</div><div class='del'>-test -z "$optflags" ||</div><div class='del'>-    cflagspat="$cflagspat;s|"`eval echo '"'"${optflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^ */ /;s/ *$/ /'`'| |g'</div><div class='del'>-test -z "$debugflags" ||</div><div class='del'>-    cflagspat="$cflagspat;s|"`eval echo '"'"${debugflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^ */ /;s/ *$/ /'`'| |g'</div><div class='del'>-test -z "warnflags" ||</div><div class='del'>-    cflagspat="$cflagspat;s|"`eval echo '"'"${warnflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^ */ /;s/ *$/ /'`'| |g'</div><div class='del'>-AS_IF([test -z "${CFLAGS+set}"], [</div><div class='del'>-    cflags=`echo " $cflags " | sed "$cflagspat;s/^ *//;s/ *$//"`</div><div class='del'>-    orig_cflags="$cflags"</div><div class='del'>-    cflags="$cflags "'${optflags} ${debugflags} ${warnflags}'</div><div class='del'>-])</div><div class='del'>-AS_IF([test -z "${CXXFLAGS+set}"], [</div><div class='del'>-    cxxflags=`echo " $cxxflags " | sed "$cflagspat;s/^ *//;s/ *$//"`</div><div class='del'>-    orig_cxxflags="$cxxflags"</div><div class='del'>-    cxxflags="$cxxflags "'${optflags} ${debugflags} ${warnflags}'</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$host_os:$build_os"],</div><div class='del'>-[darwin*:darwin*], [</div><div class='del'>-    AC_CHECK_TOOLS(CC, [clang gcc cc])</div><div class='del'>-    # Following Apple deployed clang are broken</div><div class='del'>-    # clang version 1.0 (http://llvm.org/svn/llvm-project/cfe/tags/Apple/clang-23 exported)</div><div class='del'>-    # Apple clang version 2.0 (tags/Apple/clang-137) (based on LLVM 2.9svn)</div><div class='del'>-    # Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)</div><div class='del'>-    AS_IF([! $CC -E -xc - &lt;&lt;SRC &gt;/dev/null], [</div><div class='del'>-	@%:@if defined __APPLE_CC__ &amp;&amp; defined __clang_major__ &amp;&amp; __clang_major__ &lt; 3</div><div class='del'>-	@%:@error premature clang</div><div class='del'>-	@%:@endif</div><div class='del'>-SRC</div><div class='del'>-	AC_MSG_ERROR([clang version 3.0 or later is required])</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AS_IF([test x"${build}" != x"${host}"], [</div><div class='del'>-  AC_CHECK_TOOL(CC, gcc)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_PROG_CC</div><div class='del'>-AS_CASE([$CC],</div><div class='del'>-[gcc-*], [</div><div class='del'>-    gcc_prefix=gcc- gcc_suffix=`echo "$CC" | sed 's/^gcc//'`</div><div class='del'>-    AC_PROG_CXX(g++${gcc_suffix})],</div><div class='del'>-[clang-*], [</div><div class='del'>-    gcc_prefix=clang- gcc_suffix=`echo "$CC" | sed 's/^clang//'`</div><div class='del'>-    AC_PROG_CXX(clang++${gcc_suffix})],</div><div class='del'>-[gcc_prefix= gcc_suffix=])</div><div class='del'>-</div><div class='del'>-dnl Select the appropriate C++ compiler in OS X</div><div class='del'>-AS_CASE(["$build_os"],</div><div class='del'>-  [darwin1*.*], [</div><div class='del'>-    AS_CASE(["x$CC"],</div><div class='del'>-      [xgcc-4.2|x/usr/bin/gcc-4.2], [: ${CXX=g++-4.2}],</div><div class='del'>-      [xgcc|x/usr/bin/gcc],         [: ${CXX=g++}],</div><div class='del'>-      [xcc|x/usr/bin/cc],           [: ${CXX=c++}],</div><div class='del'>-      [xicc],                       [: ${CXX=icpc}],</div><div class='del'>-      [xclang|x/usr/bin/clang],     [: ${CXX=clang++}])</div><div class='del'>-  ])</div><div class='del'>-test -z "$CXX" || ac_cv_prog_CXX="$CXX"</div><div class='del'>-</div><div class='del'>-AC_PROG_CXX</div><div class='del'>-RUBY_MINGW32</div><div class='del'>-AC_PROG_GCC_TRADITIONAL</div><div class='del'>-AC_SUBST(GCC)</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[solaris*], [AC_PATH_TOOL([LD], [ld], [/usr/ccs/bin/ld], [/usr/ccs/bin:$PATH])],</div><div class='del'>-[AC_CHECK_TOOL([LD], [ld], [ld])])</div><div class='del'>-AC_SUBST(LD)</div><div class='del'>-AS_IF([test "$GCC" = yes], [</div><div class='del'>-    linker_flag=-Wl,</div><div class='del'>-    : ${optflags=-O3}</div><div class='del'>-    gcc_major=`echo =__GNUC__ | $CC -E -xc - | sed '/^=/!d;s///'`</div><div class='del'>-    gcc_minor=`echo =__GNUC_MINOR__ | $CC -E -xc - | sed '/^=/!d;s///'`</div><div class='del'>-    test -n "$gcc_major" || gcc_major=0</div><div class='del'>-    test -n "$gcc_minor" || gcc_minor=0</div><div class='del'>-    AS_CASE(["x$CC"], [xicc], [</div><div class='del'>-      icc_version=`echo =__ICC | $CC -E -xc - | sed '/^=/!d;s///'`</div><div class='del'>-    ])</div><div class='del'>-    test -n "$icc_version" || icc_version=0</div><div class='del'>-    # RUBY_APPEND_OPTIONS(XCFLAGS, ["-include ruby/config.h" "-include ruby/missing.h"])</div><div class='del'>-], [</div><div class='del'>-    linker_flag=</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$GCC" = yes -a "$gcc_major" -lt 3 ], [</div><div class='del'>-    AC_MSG_ERROR([too old GCC])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-RUBY_PROG_GNU_LD</div><div class='del'>-RUBY_CPPOUTFILE</div><div class='del'>-</div><div class='del'>-: ${OUTFLAG='-o '}</div><div class='del'>-: ${COUTFLAG=${OUTFLAG}}</div><div class='del'>-: ${CSRCFLAG=''}</div><div class='del'>-AC_SUBST(OUTFLAG)</div><div class='del'>-AC_SUBST(COUTFLAG)</div><div class='del'>-AC_SUBST(CSRCFLAG)</div><div class='del'>-</div><div class='del'>-: ${MJIT_CC=$CC}</div><div class='del'>-AS_IF([test "x$cross_compiling" = xno], [</div><div class='del'>-    AC_PATH_PROG([MJIT_CC], ${MJIT_CC})</div><div class='del'>-    AS_CASE([$target_os],</div><div class='del'>-	[*mingw*], [command -v cygpath &gt; /dev/null &amp;&amp; MJIT_CC=`cygpath -ma $MJIT_CC`])</div><div class='del'>-    shift 2</div><div class='del'>-    MJIT_CC="$MJIT_CC${1+ }$*"</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$build_os"],</div><div class='del'>-  [darwin1*.*], [</div><div class='del'>-    # Xcode linker warns for deprecated architecture and wrongly</div><div class='del'>-    # installed TBD files.</div><div class='del'>-    CC_WRAPPER=""</div><div class='del'>-    echo 'int main(void) {return 0;}' &gt; conftest.c</div><div class='del'>-    AS_IF([$CC -framework Foundation -o conftest conftest.c 2&gt;&amp;1 |</div><div class='del'>-	   grep '^ld: warning: text-based stub file' &gt;/dev/null], [</div><div class='del'>-	CC_WRAPPER=`cd -P "$srcdir/tool" &amp;&amp; pwd`/darwin-cc</div><div class='del'>-	CC="$CC_WRAPPER $CC"</div><div class='del'>-    ])</div><div class='del'>-    rm -fr conftest*</div><div class='del'>-  ])</div><div class='del'>-</div><div class='del'>-cc_version=</div><div class='del'>-for option in --version -v -V -qversion; do</div><div class='del'>-    cc_version_message=`$CC $option 2&gt;&amp;1`</div><div class='del'>-    cc_version_status=$?</div><div class='del'>-    AS_CASE($cc_version_status, [0], [:], [continue])</div><div class='del'>-    AS_CASE($cc_version_message, [*Warning*], [continue])</div><div class='del'>-    cc_version='$(CC) '$option</div><div class='del'>-    break</div><div class='del'>-done</div><div class='del'>-AC_SUBST(CC_VERSION, $cc_version)</div><div class='del'>-AC_SUBST(CC_VERSION_MESSAGE, $cc_version_message)</div><div class='del'>-</div><div class='del'>-: ${DLDFLAGS="$LDFLAGS"}</div><div class='del'>-</div><div class='del'>-RUBY_UNIVERSAL_ARCH</div><div class='del'>-AS_IF([test "$target_cpu" != "$host_cpu" -a "$GCC" = yes -a "$cross_compiling" = no -a "$universal_binary" = no], [</div><div class='del'>-    RUBY_DEFAULT_ARCH("$target_cpu")</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"], [darwin*], [</div><div class='del'>-if libtool 2&gt;&amp;1 | grep no_warning_for_no_symbols &gt; /dev/null; then</div><div class='del'>-  ac_cv_prog_ac_ct_RANLIB=:</div><div class='del'>-  ac_cv_prog_ac_ct_AR='libtool -static'</div><div class='del'>-  rb_cv_arflags='-no_warning_for_no_symbols -o'</div><div class='del'>-fi</div><div class='del'>-])</div><div class='del'>-AC_CHECK_TOOLS(RANLIB, [${gcc_prefix}ranlib${gcc_suffix} ranlib], :)</div><div class='del'>-AC_CHECK_TOOLS(AR, [${gcc_prefix}ar${gcc_suffix} ar])</div><div class='del'>-AS_IF([test -z "$AR"], [</div><div class='del'>-  AC_CHECK_PROGS(AR, aal, ar)</div><div class='del'>-])</div><div class='del'>-AC_CACHE_CHECK([for $AR flags], [rb_cv_arflags], [</div><div class='del'>-    AS_IF([$AR rcD conftest.a &gt; /dev/null 2&gt;&amp;1 &amp;&amp; rm conftest.a],</div><div class='del'>-	[rb_cv_arflags=rcD], [rb_cv_arflags=rcu])</div><div class='del'>-])</div><div class='del'>-AC_SUBST(ARFLAGS, ["$rb_cv_arflags "])</div><div class='del'>-</div><div class='del'>-AC_CHECK_TOOL(AS, as)</div><div class='del'>-ASFLAGS=$ASFLAGS</div><div class='del'>-AC_SUBST(ASFLAGS)</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],[cygwin*|mingw*], [ac_cv_prog_ac_ct_OBJCOPY=":"])</div><div class='del'>-</div><div class='del'>-# BSD's ports and MacPorts prefix GNU binutils with 'g'</div><div class='del'>-AC_CHECK_TOOLS(OBJDUMP, [objdump gobjdump])</div><div class='del'>-AC_CHECK_TOOLS(OBJCOPY, [objcopy gobjcopy])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[cygwin*|mingw*], [</div><div class='del'>-    AC_CHECK_TOOL(WINDRES, windres)</div><div class='del'>-    AC_CHECK_TOOL(DLLWRAP, dllwrap)</div><div class='del'>-    target=`echo $target | sed "s/^$target_cpu-/-/"`</div><div class='del'>-    target_alias=`echo $target_alias | sed "s/^$target_cpu-/-/"`</div><div class='del'>-    target_cpu=`echo $target_cpu | sed s/i.86/i386/`</div><div class='del'>-    AS_CASE(["$target"], [-*], [ target="$target_cpu${target}"])</div><div class='del'>-    AS_CASE(["$target_alias"], [-*], [ target_alias="$target_cpu${target_alias}"])</div><div class='del'>-    AS_CASE(["$target_os"],</div><div class='del'>-    [mingw*], [</div><div class='del'>-	test "$rb_cv_msvcrt" = "" &amp;&amp; unset rb_cv_msvcrt</div><div class='del'>-	AC_CACHE_CHECK(for mingw32 runtime DLL, rb_cv_msvcrt, [</div><div class='del'>-	AC_TRY_LINK([@%:@include &lt;stdio.h&gt;],</div><div class='del'>-		    [FILE* volatile f = stdin; return 0;],</div><div class='del'>-		    [rb_cv_msvcrt=`$OBJDUMP -p conftest$ac_exeext |</div><div class='del'>-				   tr A-Z a-z |</div><div class='del'>-				   sed -n '/^[[ 	]]*dll name: \(msvc.*\)\.dll$/{s//\1/p;q;}'`],</div><div class='del'>-		    [rb_cv_msvcrt=msvcrt])</div><div class='del'>-	test "$rb_cv_msvcrt" = "" &amp;&amp; rb_cv_msvcrt=msvcrt])</div><div class='del'>-	RT_VER=`echo "$rb_cv_msvcrt" | tr -cd [0-9]`</div><div class='del'>-	test "$RT_VER" = "" &amp;&amp; RT_VER=60</div><div class='del'>-	AC_DEFINE_UNQUOTED(RUBY_MSVCRT_VERSION, $RT_VER)</div><div class='del'>-	sysconfdir=</div><div class='del'>-    ])</div><div class='del'>-    : ${enable_shared=yes}</div><div class='del'>-    ],</div><div class='del'>-[aix*],     [AC_CHECK_TOOL(NM, nm, /usr/ccs/bin/nm, /usr/ccs/bin:$PATH)],</div><div class='del'>-[hiuxmpp*], [AC_DEFINE(__HIUX_MPP__)])    # by TOYODA Eizi &lt;toyoda@npd.kishou.go.jp&gt;</div><div class='del'>-AC_CHECK_TOOLS(NM, [${gcc_prefix}nm${gcc_suffix} nm])</div><div class='del'>-</div><div class='del'>-AC_PROG_LN_S</div><div class='del'>-AC_PROG_MAKE_SET</div><div class='del'>-AC_PROG_INSTALL</div><div class='del'>-AC_PROG_MKDIR_P</div><div class='del'>-AS_IF([test "x$MKDIR_P" = "x -d"], [</div><div class='del'>-  AS_IF([test x"$as_mkdir_p" != xfalse], [</div><div class='del'>-    MKDIR_P='mkdir -p'</div><div class='del'>-    echo "use 'mkdir -p' as MKDIR_P"</div><div class='del'>-  ], [</div><div class='del'>-    AC_MSG_ERROR([mkdir -p is required])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-MAKEDIRS="$MKDIR_P"</div><div class='del'>-AC_SUBST(MAKEDIRS)</div><div class='del'>-</div><div class='del'>-AC_CHECK_PROG([DTRACE], [${ac_tool_prefix}dtrace], [${ac_tool_prefix}dtrace])</div><div class='del'>-AS_IF([test "$cross_compiling:$ac_cv_prog_DTRACE" = no: -a -n "$ac_tool_prefix"], [</div><div class='del'>-    AC_CHECK_PROG([DTRACE], [dtrace], [dtrace])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CHECK_PROGS(DOT, dot)</div><div class='del'>-AC_CHECK_PROGS(DOXYGEN, doxygen)</div><div class='del'>-</div><div class='del'>-AC_CHECK_PROG(PKG_CONFIG, pkg-config, [pkg-config], [], [],</div><div class='del'>-    [`"$as_dir/$ac_word$ac_exec_ext" --print-errors --version &gt; /dev/null 2&gt;&amp;1 || echo "$as_dir/$ac_word$ac_exec_ext"`])</div><div class='del'>-</div><div class='del'>-# checks for UNIX variants that set C preprocessor variables</div><div class='del'>-AC_USE_SYSTEM_EXTENSIONS</div><div class='del'>-</div><div class='del'>-AC_SUBST(RM, ['rm -f'])</div><div class='del'>-AC_SUBST(CP, ['cp'])</div><div class='del'>-RMDIRS='$(top_srcdir)/tool/rmdirs'</div><div class='del'>-RMDIR=rmdir</div><div class='del'>-mkdir "rmdirs_$$_test" "rmdirs_$$_test/a"</div><div class='del'>-rmdir --ignore-fail-on-non-empty "rmdirs_$$_test" 2&gt;/dev/null &amp;&amp;</div><div class='del'>-RMDIR='rmdir --ignore-fail-on-non-empty'</div><div class='del'>-$RMDIR -p "rmdirs_$$_test/a" 2&gt;/dev/null &amp;&amp;</div><div class='del'>-{ test -d "rmdirs_$$_test" || RMDIRS="$RMDIR -p"; }</div><div class='del'>-rmdir "rmdirs_$$_test/a" "rmdirs_$$_test" 2&gt;/dev/null</div><div class='del'>-AC_SUBST(RMDIR)</div><div class='del'>-AC_SUBST(RMDIRS)</div><div class='del'>-AC_SUBST(RMALL, ['rm -fr'])</div><div class='del'>-</div><div class='del'>-AC_MSG_CHECKING([for cd using physical directory])</div><div class='del'>-rm -fr conf$$.dir</div><div class='del'>-mkdir conf$$.dir &amp;&amp;</div><div class='del'>-(cd conf$$.dir &amp;&amp; mkdir src build &amp;&amp; cd src &amp;&amp;</div><div class='del'>-$as_ln_s ../build . &gt; /dev/null 2&gt;&amp;1 &amp;&amp; cd build &amp;&amp;</div><div class='del'>-for chdir in 'cd -P' 'PWD= cd'; do</div><div class='del'>-    /bin/sh -c "$chdir ../src &amp;&amp; echo '$chdir' &gt; cdcmd" 2&gt; /dev/null &amp;&amp; break</div><div class='del'>-done)</div><div class='del'>-AS_IF([test -f conf$$.dir/src/cdcmd], [</div><div class='del'>-    read CHDIR &lt; conf$$.dir/src/cdcmd 2&gt; /dev/null</div><div class='del'>-], [</div><div class='del'>-    CHDIR=cd</div><div class='del'>-])</div><div class='del'>-rm -fr conf$$.dir</div><div class='del'>-AC_MSG_RESULT([$CHDIR])</div><div class='del'>-AC_SUBST(CHDIR)</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-: "compiler section" &amp;&amp; {</div><div class='del'>-RUBY_WERROR_FLAG([</div><div class='del'>-    AC_MSG_CHECKING([whether CFLAGS is valid])</div><div class='del'>-    AC_TRY_COMPILE([], [],</div><div class='del'>-	[AC_MSG_RESULT(yes)],</div><div class='del'>-	[</div><div class='del'>-	AC_MSG_RESULT(no)</div><div class='del'>-	AC_MSG_ERROR([something wrong with CFLAGS="$CFLAGS"])</div><div class='del'>-	]</div><div class='del'>-    )</div><div class='del'>-</div><div class='del'>-    AC_MSG_CHECKING([whether LDFLAGS is valid])</div><div class='del'>-    {</div><div class='del'>-	mkdir tmp.$$.try_link &amp;&amp;</div><div class='del'>-	cd tmp.$$.try_link &amp;&amp;</div><div class='del'>-	cp ../confdefs.h . &amp;&amp;</div><div class='del'>-	echo '&lt;?xml?&gt;&lt;plist&gt;&lt;dict&gt;&lt;key&gt;CFBundleIdentifier&lt;/key&gt;&lt;string&gt;&lt;/string&gt;&lt;/dict&gt;&lt;/plist&gt;' &gt; Info.plist &amp;&amp;</div><div class='del'>-	:</div><div class='del'>-    } || AC_MSG_ERROR([failed to make temporary directory])</div><div class='del'>-    AC_TRY_LINK([], [],</div><div class='del'>-	[AC_MSG_RESULT(yes)],</div><div class='del'>-	[</div><div class='del'>-	cd .. &amp;&amp; rm -fr tmp.$$.try_link</div><div class='del'>-	AC_MSG_RESULT(no)</div><div class='del'>-	AC_MSG_ERROR([something wrong with LDFLAGS="$LDFLAGS"])</div><div class='del'>-	]</div><div class='del'>-    )</div><div class='del'>-    cd .. &amp;&amp; rm -fr tmp.$$.try_link</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-: ${RPATHFLAG=''}</div><div class='del'>-rpathflag=''</div><div class='del'>-AS_IF([test x"${RPATHFLAG}" = x], [</div><div class='del'>-    AS_CASE(["$target_os"],</div><div class='del'>-	[hpux*], [AS_IF([test "$rb_cv_prog_gnu_ld" = no], [rpathflag='+b '])],</div><div class='del'>-	[aix*], [rpathflag='-blibpath:'],</div><div class='del'>-	[for rpathflag in -R "-rpath "; do</div><div class='del'>-	    AS_CASE("$rpathflag",</div><div class='del'>-		    [*" "], [AS_CASE(["${linker_flag}"],</div><div class='del'>-				     [*,], [rpathflag=`echo "$rpathflag" | tr ' ' ,`])])</div><div class='del'>-	    rpathflag="${linker_flag}${rpathflag}"</div><div class='del'>-	    RUBY_TRY_LDFLAGS([${rpathflag}.], [], [rpathflag=])</div><div class='del'>-	    AS_IF([test "x${rpathflag}" != x], [])</div><div class='del'>-        done])</div><div class='del'>-], [</div><div class='del'>-    rpathflag=`echo "$RPATHFLAG" | sed 's/%.*//'`</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE([$RUBY_PATCHLEVEL], [-*],</div><div class='del'>-	[RUBY_DEVEL=yes], [RUBY_DEVEL=no])</div><div class='del'>-particular_werror_flags=$RUBY_DEVEL</div><div class='del'>-AC_ARG_ENABLE(werror,</div><div class='del'>-	AS_HELP_STRING([--disable-werror],</div><div class='del'>-		       [don't make warnings into errors</div><div class='del'>-		       even if a compiler support -Werror feature</div><div class='del'>-		       [[disabled by default unless development version]]]),</div><div class='del'>-	[particular_werror_flags=$enableval])</div><div class='del'>-</div><div class='del'>-rb_cv_warnflags="$warnflags"</div><div class='del'>-AS_CASE(["$GCC:${warnflags+set}:${extra_warnflags:+set}:"],</div><div class='del'>-[yes::*|yes:*:set:], [# GCC &amp;&amp; (!warnflags || extra_warnflags)</div><div class='del'>-    AS_IF([test $gcc_major -ge 4], [</div><div class='del'>-	extra_warnflags="$extra_warnflags -Werror=extra-tokens"</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test $gcc_major -ge 5 -a $gcc_major -le 6], [</div><div class='del'>-	extra_warnflags="$extra_warnflags -Wno-maybe-uninitialized"</div><div class='del'>-    ])</div><div class='del'>-    # ICC doesn't support -Werror=</div><div class='del'>-    AS_IF([test $icc_version -gt 0], [</div><div class='del'>-	particular_werror_flags=no</div><div class='del'>-    ])</div><div class='del'>-    for wflag in \</div><div class='del'>-		 -Werror=declaration-after-statement \</div><div class='del'>-		 -Werror=deprecated-declarations \</div><div class='del'>-		 -Werror=division-by-zero \</div><div class='del'>-		 -Werror=duplicated-cond \</div><div class='del'>-		 -Werror=implicit-function-declaration \</div><div class='del'>-		 -Werror=implicit-int \</div><div class='del'>-		 -Werror=misleading-indentation \</div><div class='del'>-		 -Werror=pointer-arith \</div><div class='del'>-		 -Werror=restrict \</div><div class='del'>-		 -Werror=shorten-64-to-32 \</div><div class='del'>-		 -Werror=write-strings \</div><div class='del'>-		 -Wimplicit-fallthrough=0 \</div><div class='del'>-		 -Wmissing-noreturn \</div><div class='del'>-		 -Wno-cast-function-type \</div><div class='del'>-		 -Wno-constant-logical-operand \</div><div class='del'>-		 -Wno-long-long \</div><div class='del'>-		 -Wno-missing-field-initializers \</div><div class='del'>-		 -Wno-overlength-strings \</div><div class='del'>-		 -Wno-packed-bitfield-compat \</div><div class='del'>-		 -Wno-parentheses-equality \</div><div class='del'>-		 -Wno-self-assign \</div><div class='del'>-		 -Wno-tautological-compare \</div><div class='del'>-		 -Wno-unused-parameter \</div><div class='del'>-		 -Wno-unused-value \</div><div class='del'>-		 -Wsuggest-attribute=format \</div><div class='del'>-		 -Wsuggest-attribute=noreturn \</div><div class='del'>-		 -Wunused-variable \</div><div class='del'>-		 -diag-disable=175,188,2259 \</div><div class='del'>-		 $extra_warnflags \</div><div class='del'>-		 ; do</div><div class='del'>-	AS_IF([test "$particular_werror_flags" != yes], [</div><div class='del'>-	    wflag=`echo x$wflag | sed 's/^x-Werror=/-W/;s/^x//'`</div><div class='del'>-	])</div><div class='del'>-	ok=no</div><div class='del'>-	RUBY_TRY_CFLAGS($wflag, [</div><div class='del'>-	    RUBY_APPEND_OPTIONS(warnflags, $wflag)</div><div class='del'>-	    ok=yes</div><div class='del'>-	])</div><div class='del'>-	AS_CASE([$ok:$wflag], [no:-Werror=*], [</div><div class='del'>-	    wflag=`echo x$wflag | sed 's/^x-Werror=/-W/'`</div><div class='del'>-	    RUBY_TRY_CFLAGS($wflag, [</div><div class='del'>-		RUBY_APPEND_OPTIONS(warnflags, $wflag)</div><div class='del'>-		particular_werror_flags=no</div><div class='del'>-	    ])</div><div class='del'>-	])</div><div class='del'>-    done</div><div class='del'>-    AS_CASE([" $warnflags "],[*" -Wno-missing-field-initializers "*], [wflag="-Wall -Wextra"],</div><div class='del'>-                             [wflag=-Wall])</div><div class='del'>-    RUBY_TRY_CFLAGS($wflag, [warnflags="$wflag${warnflags+ $warnflags}"])</div><div class='del'>-    # Disable warnflags while conftest. -Werror=* flags might make bad OS capability guess.</div><div class='del'>-    rb_cv_warnflags="$warnflags"</div><div class='del'>-    warnflags=</div><div class='del'>-])</div><div class='del'>-RUBY_TRY_CFLAGS(-Qunused-arguments, [RUBY_APPEND_OPTIONS(rb_cv_wsuppress_flags, -Qunused-arguments)])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(compress-debug-sections,</div><div class='del'>-	AS_HELP_STRING([--with-compress-debug-sections=type],</div><div class='del'>-	    [enable debug section compression]),</div><div class='del'>-	[compress_debug_sections=$withval], [compress_debug_sections=])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$GCC" = yes], [</div><div class='del'>-    # -D_FORTIFY_SOURCE</div><div class='del'>-    # When defined _FORTIFY_SOURCE, glibc enables some additional sanity</div><div class='del'>-    # argument check. The performance drop is very little and Ubuntu enables</div><div class='del'>-    # _FORTIFY_SOURCE=2 by default. So, let's support it for protecting us from</div><div class='del'>-    # a mistake of silly C extensions.</div><div class='del'>-    RUBY_TRY_CFLAGS(-D_FORTIFY_SOURCE=2, [RUBY_APPEND_OPTION(XCFLAGS, -D_FORTIFY_SOURCE=2)])</div><div class='del'>-</div><div class='del'>-    : ${MJIT_HEADER_FLAGS='-P -dD'}</div><div class='del'>-</div><div class='del'>-    # -fstack-protector</div><div class='del'>-    AS_CASE(["$target_os"],</div><div class='del'>-    [mingw*], [</div><div class='del'>-	stack_protector=no</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test -z "${stack_protector+set}"], [</div><div class='del'>-	AS_FOR(option, opt, [-fstack-protector-strong -fstack-protector], [</div><div class='del'>-	    RUBY_TRY_CFLAGS(option, [stack_protector=yes])</div><div class='del'>-	    AS_IF([test "x$stack_protector" = xyes], [</div><div class='del'>-		RUBY_TRY_LDFLAGS(option, [], [stack_protector=])</div><div class='del'>-	    ])</div><div class='del'>-	    AS_IF([test "x$stack_protector" = xyes], [stack_protector=option; break])</div><div class='del'>-	])</div><div class='del'>-    ])</div><div class='del'>-    AS_CASE(["$stack_protector"], [-*], [</div><div class='del'>-	RUBY_APPEND_OPTION(XCFLAGS, $stack_protector)</div><div class='del'>-	RUBY_APPEND_OPTION(XLDFLAGS, $stack_protector)</div><div class='del'>-	RUBY_APPEND_OPTION(LDFLAGS, $stack_protector)</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    AS_CASE("${compress_debug_sections:-zlib}",</div><div class='del'>-    [none|no], [], [</div><div class='del'>-    RUBY_TRY_LDFLAGS(${linker_flag}--compress-debug-sections=${compress_debug_sections:-zlib},</div><div class='del'>-		     [compress_debug_sections=${compress_debug_sections:-zlib}],</div><div class='del'>-		     [compress_debug_sections=no])</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test "x$compress_debug_sections" != xno], [</div><div class='del'>-	RUBY_APPEND_OPTION(DLDFLAGS, ${linker_flag}--compress-debug-sections=$compress_debug_sections)</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    AS_CASE(["$target_os"],[mingw*], [</div><div class='del'>-      # On  Windows  platforms,   system  provided  headers  are  VC++</div><div class='del'>-      # optimized.  That  is, C++  habits are often  contaminated into</div><div class='del'>-      # various  headers.  Most frequent  situation is  the use  of //</div><div class='del'>-      # comments.   We  bypass  ANSI   C  mode  for  them.   Otherwise</div><div class='del'>-      # extension libs cannot include those headers.</div><div class='del'>-</div><div class='del'>-      # Since math.h in some mingw64 wrongly declares frexp and modf</div><div class='del'>-      # to be pure, the variables pointed by the second arguments are</div><div class='del'>-      # considered uninitialized unexpectedly.</div><div class='del'>-      AC_CACHE_CHECK([whether frexp and modf are broken],</div><div class='del'>-	rb_cv_mingw64_broken_frexp_modf,</div><div class='del'>-	[</div><div class='del'>-	  save_CFLAGS="$CFLAGS"</div><div class='del'>-	  AS_IF([test "$particular_werror_flags" = "yes"], [</div><div class='del'>-	    CFLAGS="$CFLAGS -Werror=uninitialized"</div><div class='del'>-	  ], [</div><div class='del'>-	    CFLAGS="$CFLAGS -Werror -Wuninitialized"</div><div class='del'>-	  ])</div><div class='del'>-	  AC_TRY_COMPILE([@%:@include &lt;math.h&gt;</div><div class='del'>-	    int foo(double x)</div><div class='del'>-	    {</div><div class='del'>-	      int exp;</div><div class='del'>-	      frexp(x, &amp;exp);</div><div class='del'>-	      return exp;</div><div class='del'>-	    }], [if (foo(0.0)) return 1;],</div><div class='del'>-	    [rb_cv_mingw64_broken_frexp_modf=no],</div><div class='del'>-	    [rb_cv_mingw64_broken_frexp_modf=yes])</div><div class='del'>-	  CFLAGS="$save_CFLAGS"</div><div class='del'>-	])</div><div class='del'>-      AS_IF([test "$rb_cv_mingw64_broken_frexp_modf" = yes], [</div><div class='del'>-	AC_DEFINE(RUBY_MINGW64_BROKEN_FREXP_MODF)</div><div class='del'>-      ])</div><div class='del'>-    ],</div><div class='del'>-    [cygwin*|darwin*|netbsd*], [</div><div class='del'>-      # need lgamma_r(), finite()</div><div class='del'>-    ],</div><div class='del'>-    [solaris*], [</div><div class='del'>-      # ANSI (no XCFLAGS because this is C only)</div><div class='del'>-      # Because "-std=gnu99" affects existance of functions on Solaris,</div><div class='del'>-      # "-std=gnu99" will be appended to CPPFLAGS.</div><div class='del'>-	for ansi_options in -std=gnu99; do</div><div class='del'>-	    RUBY_TRY_CFLAGS(${ansi_options}, [</div><div class='del'>-		RUBY_APPEND_OPTIONS(CPPFLAGS, ${ansi_options})</div><div class='del'>-	    ], [ansi_options=])</div><div class='del'>-	    test "x${ansi_options}" = x || break</div><div class='del'>-	done</div><div class='del'>-    ],</div><div class='del'>-    [</div><div class='del'>-      # ANSI (no XCFLAGS because this is C only)</div><div class='del'>-      rb_tmp_std_check=`echo $CC $CFLAGS $optflags $warnflags $debugflags | fgrep std= | tr -d  '\015'`</div><div class='del'>-      AS_IF([test "x$rb_tmp_std_check" = "x"],</div><div class='del'>-      [</div><div class='del'>-	for ansi_options in -std=gnu99; do</div><div class='del'>-	    RUBY_TRY_CFLAGS(${ansi_options}, [</div><div class='del'>-		RUBY_APPEND_OPTIONS(warnflags, ${ansi_options})</div><div class='del'>-		RUBY_APPEND_OPTIONS(strict_warnflags, ${ansi_options})</div><div class='del'>-	    ], [ansi_options=])</div><div class='del'>-	    test "x${ansi_options}" = x || break</div><div class='del'>-	done</div><div class='del'>-      ])</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    # suppress annoying -Wstrict-overflow warnings</div><div class='del'>-    RUBY_TRY_CFLAGS(-fno-strict-overflow, [RUBY_APPEND_OPTION(XCFLAGS, -fno-strict-overflow)])</div><div class='del'>-</div><div class='del'>-    test "${debugflags+set}" || {RUBY_TRY_CFLAGS(-ggdb3, [debugflags=-ggdb3])}</div><div class='del'>-    test "${debugflags+set}" || {RUBY_TRY_CFLAGS(-ggdb, [debugflags=-ggdb])}</div><div class='del'>-    test "${debugflags+set}" || {RUBY_TRY_CFLAGS(-g3, [debugflags=-g3])}</div><div class='del'>-])</div><div class='del'>-test $ac_cv_prog_cc_g = yes &amp;&amp; : ${debugflags=-g}</div><div class='del'>-AS_IF([test "x$RUBY_DEVEL" = xyes], [RUBY_APPEND_OPTION(XCFLAGS, -DRUBY_DEVEL=1)])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$GCC" = ""], [</div><div class='del'>-    AS_CASE(["$target_os"],[aix*],[warnflags="$warnflags -qinfo=por" rb_cv_warnflags="$rb_cv_warnflags -qinfo=por"])</div><div class='del'>-])</div><div class='del'>-AS_IF([test "$GCC" = yes], [</div><div class='del'>-    AS_IF([test "$gcc_major" -ge 4], [</div><div class='del'>-	RUBY_TRY_CFLAGS(-fvisibility=hidden, [visibility_option=yes], [visibility_option=no])</div><div class='del'>-    ])</div><div class='del'>-    AC_SUBST(WERRORFLAG, "-Werror")</div><div class='del'>-    AS_IF([test "$visibility_option" = yes], [</div><div class='del'>-	RUBY_APPEND_OPTION(XCFLAGS, -fvisibility=hidden)</div><div class='del'>-	AC_DEFINE(RUBY_SYMBOL_EXPORT_BEGIN, [_Pragma("GCC visibility push(default)")])</div><div class='del'>-	AC_DEFINE(RUBY_SYMBOL_EXPORT_END,   [_Pragma("GCC visibility pop")])</div><div class='del'>-    ], [</div><div class='del'>-	RUBY_TRY_LDFLAGS([-Wl,-unexported_symbol,_Init_*], [visibility_option=ld], [visibility_option=no])</div><div class='del'>-    ])</div><div class='del'>-    test "$visibility_option" = no || OBJCOPY=:</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$GCC" = yes], [</div><div class='del'>-    # optflags</div><div class='del'>-</div><div class='del'>-    AS_CASE(["$target_os"], [mingw*], [</div><div class='del'>-	RUBY_TRY_CFLAGS(-fno-omit-frame-pointer, [optflags="${optflags+$optflags }-fno-omit-frame-pointer"])</div><div class='del'>-	RUBY_TRY_CFLAGS(-static-libgcc, [static_libgcc=yes], [static_libgcc=no])</div><div class='del'>-	AS_IF([test "$static_libgcc" = yes], [</div><div class='del'>-	    RUBY_APPEND_OPTION(EXTLDFLAGS, -static-libgcc)</div><div class='del'>-	])</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    # disable fast-math</div><div class='del'>-    for oflag in -fno-fast-math; do</div><div class='del'>-	RUBY_TRY_CFLAGS($oflag, [RUBY_APPEND_OPTION(CFLAGS, $oflag)])</div><div class='del'>-    done</div><div class='del'>-    for oflag in -fexcess-precision=standard -fp-model\ precise; do</div><div class='del'>-	RUBY_TRY_CFLAGS($oflag, [RUBY_APPEND_OPTION(XCFLAGS, $oflag)])</div><div class='del'>-    done</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_cpu"], [[i[3-6]86*]], [</div><div class='del'>-    AC_CACHE_CHECK([for __sync_val_compare_and_swap], [rb_cv_gcc_compiler_cas], [</div><div class='del'>-	AC_TRY_LINK([unsigned long atomic_var;],</div><div class='del'>-	    [__sync_val_compare_and_swap(&amp;atomic_var, 0, 1);],</div><div class='del'>-	    [rb_cv_gcc_compiler_cas=yes],</div><div class='del'>-	    [</div><div class='del'>-	    save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -march=i486"</div><div class='del'>-	    AC_TRY_LINK([unsigned long atomic_var;],</div><div class='del'>-		[__sync_val_compare_and_swap(&amp;atomic_var, 0, 1);],</div><div class='del'>-		[rb_cv_gcc_compiler_cas=i486],</div><div class='del'>-		[rb_cv_gcc_compiler_cas=no])</div><div class='del'>-	    CFLAGS="$save_CFLAGS"</div><div class='del'>-	    ])</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test "$rb_cv_gcc_compiler_cas" = i486], [ARCH_FLAG="-march=i486"])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(opt-dir,</div><div class='del'>-	AS_HELP_STRING([--with-opt-dir=DIR-LIST],</div><div class='del'>-		       [add optional headers and libraries directories separated by $PATH_SEPARATOR]),</div><div class='del'>-	[</div><div class='del'>-		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -I\1/include|g;s/^ //"`</div><div class='del'>-		CPPFLAGS="$CPPFLAGS $val"</div><div class='del'>-		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -L\1/lib${rpathflag:+ $rpathflag\\\\1/lib}|g;s/^ //"`</div><div class='del'>-		LDFLAGS="$LDFLAGS $val"</div><div class='del'>-		LDFLAGS_OPTDIR="$val"</div><div class='del'>-		OPT_DIR="$withval"</div><div class='del'>-	], [OPT_DIR=])</div><div class='del'>-</div><div class='del'>-test -z "${ac_env_CFLAGS_set}" -a -n "${cflags+set}" &amp;&amp; eval CFLAGS="\"$cflags $ARCH_FLAG\""</div><div class='del'>-test -z "${ac_env_CXXFLAGS_set}" -a -n "${cxxflags+set}" &amp;&amp; eval CXXFLAGS="\"$cxxflags $ARCH_FLAG\""</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK([whether compiler has statement and declarations in expressions],</div><div class='del'>-  rb_cv_have_stmt_and_decl_in_expr,</div><div class='del'>-  [AC_TRY_COMPILE([],[ __extension__ ({ int a = 0; a; }); ],</div><div class='del'>-  [rb_cv_have_stmt_and_decl_in_expr=yes],</div><div class='del'>-  [rb_cv_have_stmt_and_decl_in_expr=no])])</div><div class='del'>-AS_IF([test "$rb_cv_have_stmt_and_decl_in_expr" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_STMT_AND_DECL_IN_EXPR)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-: "header and library section" &amp;&amp; {</div><div class='del'>-AC_ARG_WITH(winnt-ver,</div><div class='del'>-  AS_HELP_STRING([--with-winnt-ver=0xXXXX], [target Windows NT version (default to 0x0600)]),</div><div class='del'>-  [with_winnt_ver="$withval"], [with_winnt_ver="0x0600"])</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[mingw*], [</div><div class='del'>-  RUBY_APPEND_OPTION(CPPFLAGS, -D_WIN32_WINNT=$with_winnt_ver)</div><div class='del'>-  RUBY_APPEND_OPTION(CPPFLAGS, -D__MINGW_USE_VC2005_COMPAT)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[freebsd*], [</div><div class='del'>-  AC_CACHE_CHECK([whether pthread should be enabled by default],</div><div class='del'>-    rb_cv_enable_pthread_default,</div><div class='del'>-    [AC_TRY_CPP([</div><div class='del'>-#include &lt;osreldate.h&gt;</div><div class='del'>-#if __FreeBSD_version &lt; 502102</div><div class='del'>-#error pthread should be disabled on this platform</div><div class='del'>-#endif</div><div class='del'>-      ],</div><div class='del'>-      rb_cv_enable_pthread_default=yes,</div><div class='del'>-      rb_cv_enable_pthread_default=no)])</div><div class='del'>-  enable_pthread=$rb_cv_enable_pthread_default</div><div class='del'>-  ],</div><div class='del'>-[mingw*], [</div><div class='del'>-  enable_pthread=no</div><div class='del'>-  ],</div><div class='del'>-[</div><div class='del'>-  enable_pthread=yes</div><div class='del'>-  ])</div><div class='del'>-</div><div class='del'>-dnl Checks for libraries.</div><div class='del'>-AS_CASE(["$target_os"],[*bsd*|dragonfly*],[],[ac_cv_func_daemon=no])</div><div class='del'>-</div><div class='del'>-AS_UNSET(ORIG_LIBS)</div><div class='del'>-POSTLINK=:</div><div class='del'>-AC_SUBST(POSTLINK)</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[nextstep*], [	],</div><div class='del'>-[openstep*], [	],</div><div class='del'>-[rhapsody*], [	],</div><div class='del'>-[darwin*], [</div><div class='del'>-		ORIG_LIBS="$LIBS"</div><div class='del'>-		RUBY_PREPEND_OPTION(LIBS, -lobjc)</div><div class='del'>-		RUBY_APPEND_OPTIONS(CPPFLAGS, -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT)</div><div class='del'>-		AC_MSG_CHECKING(whether Mac OS X 10.5 or later)</div><div class='del'>-		AC_TRY_CPP([#include &lt;AvailabilityMacros.h&gt;</div><div class='del'>-		    #if MAC_OS_X_VERSION_MAX_ALLOWED &lt;= 1040</div><div class='del'>-		    #error pre OS X 10.4</div><div class='del'>-		    [!&lt;===== pre OS X 10.4 =====&gt;]</div><div class='del'>-		    #endif</div><div class='del'>-		    ],</div><div class='del'>-		    [macosx_10_5=yes], [macosx_10_5=no])</div><div class='del'>-		AC_MSG_RESULT($macosx_10_5)</div><div class='del'>-		AS_IF([test "${target_os@%:@darwin}" -ge 16], [</div><div class='del'>-		    ac_cv_func___syscall=no</div><div class='del'>-		    ac_cv_func_syscall=no</div><div class='del'>-		    ac_cv_header_sys_syscall_h=no</div><div class='del'>-		    ac_cv_header_syscall_h=no</div><div class='del'>-		])</div><div class='del'>-		AS_IF([test $macosx_10_5 = yes], [</div><div class='del'>-		    ac_cv_func_getcontext=no</div><div class='del'>-		    ac_cv_func_setcontext=no</div><div class='del'>-		], [</div><div class='del'>-		    AC_DEFINE(BROKEN_SETREUID, 1)</div><div class='del'>-		    AC_DEFINE(BROKEN_SETREGID, 1)</div><div class='del'>-		])</div><div class='del'>-		incs=`$CC -v -E -xc - &lt; /dev/null 2&gt;&amp;1 | sed ['1,/^@%:@include &lt;/d;s/^ *//;s|[^./][^/]*/\.\./||g;/\/include$/!d;s||/lib|;/\/usr\/lib/d']`</div><div class='del'>-		for d in `$CC -print-search-dirs | sed -e '/^libraries: */!d;s///' | tr : '\012' | fgrep -v /../ | sed -n 's|^\(/.*/lib\)/$|\1|p'`; do</div><div class='del'>-		    incs=`echo "$incs" | fgrep -v "$d"`</div><div class='del'>-		done</div><div class='del'>-		for d in $incs; do</div><div class='del'>-		    test -d "$d" &amp;&amp; RUBY_APPEND_OPTIONS(LDFLAGS, "-L$d")</div><div class='del'>-		done</div><div class='del'>-		ac_cv_type_getgroups=gid_t # getgroups() on Rosetta fills garbage</div><div class='del'>-		ac_cv_lib_crypt_crypt=no</div><div class='del'>-		ac_cv_func_fdatasync=no # Mac OS X wrongly reports it has fdatasync()</div><div class='del'>-		ac_cv_func_vfork=no</div><div class='del'>-		AS_IF([test $gcc_major -lt 4 -o \( $gcc_major -eq 4 -a $gcc_minor -lt 3 \)], [</div><div class='del'>-		    ac_cv_func___builtin_setjmp=no</div><div class='del'>-		])</div><div class='del'>-		with_setjmp_type=sigsetjmp # to hijack SIGCHLD handler</div><div class='del'>-		AC_CACHE_CHECK(for broken crypt with 8bit chars, rb_cv_broken_crypt,</div><div class='del'>-		    [AC_TRY_RUN([</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;unistd.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-broken_crypt(const char *salt, const char *buf1, const char *buf2)</div><div class='del'>-{</div><div class='del'>-#if 0</div><div class='del'>-    printf("%.2x%.2x: %s -&gt; %s\n", (unsigned char)salt[0], (unsigned char)salt[1],</div><div class='del'>-	   buf1+2, buf2+2);</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-    int i;</div><div class='del'>-    char salt[2], buf[256], *s;</div><div class='del'>-    for (i = 0; i &lt; 128*128; i++) {</div><div class='del'>-	salt[0] = 0x80 | (i &amp; 0x7f);</div><div class='del'>-	salt[1] = 0x80 | (i &gt;&gt; 7);</div><div class='del'>-	strcpy(buf, crypt("", salt));</div><div class='del'>-	if (strcmp(buf, s = crypt("", salt))) {</div><div class='del'>-	    broken_crypt(salt, buf, s);</div><div class='del'>-	    return 1;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    salt[0] = salt[1] = ' ';</div><div class='del'>-    strcpy(buf, crypt("", salt));</div><div class='del'>-    salt[0] = salt[1] = 0x80 | ' ';</div><div class='del'>-    if (strcmp(buf, s = crypt("", salt))) {</div><div class='del'>-	broken_crypt(salt, buf, s);</div><div class='del'>-	return 1;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-		    rb_cv_broken_crypt=no,</div><div class='del'>-		    rb_cv_broken_crypt=yes,</div><div class='del'>-		    rb_cv_broken_crypt=yes)])</div><div class='del'>-		AS_IF([test "$rb_cv_broken_crypt" = yes], [</div><div class='del'>-		   AC_DEFINE(BROKEN_CRYPT, 1)</div><div class='del'>-		])</div><div class='del'>-		POSTLINK=""</div><div class='del'>-		AC_CHECK_PROGS(codesign, codesign)</div><div class='del'>-		AC_CHECK_PROGS(dsymutil, dsymutil)</div><div class='del'>-		AS_IF([test -n "$codesign"], [</div><div class='del'>-		    POSTLINK="{ test -z '\$(RUBY_CODESIGN)' || $codesign -s '\$(RUBY_CODESIGN)' -f \$@; }${POSTLINK:+; $POSTLINK}"</div><div class='del'>-		])</div><div class='del'>-		AS_IF([test -n "$dsymutil"], [</div><div class='del'>-		    POSTLINK="$dsymutil \$@${POSTLINK:+; $POSTLINK}"</div><div class='del'>-		])</div><div class='del'>-		AS_IF([test -n "${POSTLINK}"], [</div><div class='del'>-		    LINK_SO="$LINK_SO</div><div class='del'>-\$(POSTLINK)"</div><div class='del'>-		])</div><div class='del'>-		AC_CHECK_HEADERS(crt_externs.h, [], [], [</div><div class='del'>-		    #include &lt;crt_externs.h&gt;</div><div class='del'>-		])</div><div class='del'>-		],</div><div class='del'>-[hpux*], [	LIBS="-lm $LIBS"</div><div class='del'>-		ac_cv_c_inline=no],</div><div class='del'>-[solaris*], [	LIBS="-lm $LIBS"</div><div class='del'>-		ac_cv_func_vfork=no</div><div class='del'>-		AC_MSG_CHECKING(whether _XOPEN_SOURCE is already given)</div><div class='del'>-		AC_TRY_COMPILE([#include &lt;unistd.h&gt;</div><div class='del'>-			#ifndef _XOPEN_SOURCE</div><div class='del'>-			#error _XOPEN_SOURCE is not defined</div><div class='del'>-			#endif</div><div class='del'>-			], [],</div><div class='del'>-		        [given_xopen_source=yes], [given_xopen_source=no])</div><div class='del'>-		AC_MSG_RESULT($given_xopen_source)</div><div class='del'>-		AS_IF([test $given_xopen_source = no], [</div><div class='del'>-		  AC_MSG_CHECKING(appropriate _XOPEN_SOURCE value to define)</div><div class='del'>-		  define_xopen_source=""</div><div class='del'>-		  for tmp_xpg in 7 6 5; do</div><div class='del'>-		    AS_IF([test x"$define_xopen_source" != x], [</div><div class='del'>-		      break</div><div class='del'>-		    ])</div><div class='del'>-		    RUBY_WERROR_FLAG([AC_TRY_COMPILE([</div><div class='del'>-			#define _XOPEN_SOURCE ${tmp_xpg}00</div><div class='del'>-			#include &lt;unistd.h&gt;</div><div class='del'>-			#ifndef _XPG${tmp_xpg}</div><div class='del'>-			#error _XPG${tmp_xpg} should be defined by _XOPEN_SOURCE=${tmp_xpg}00</div><div class='del'>-			#endif</div><div class='del'>-			], [],</div><div class='del'>-			[define_xopen_source=${tmp_xpg}00], [])</div><div class='del'>-			])</div><div class='del'>-		  done</div><div class='del'>-		  AS_IF([test x"$define_xopen_source" = x], [</div><div class='del'>-		    define_xopen_source=no</div><div class='del'>-		  ])</div><div class='del'>-		  AC_MSG_RESULT($define_xopen_source)</div><div class='del'>-		  AS_IF([test x"$define_xopen_source" != xno], [</div><div class='del'>-		    RUBY_APPEND_OPTIONS(CPPFLAGS, -D_XOPEN_SOURCE=$define_xopen_source)</div><div class='del'>-		  ])</div><div class='del'>-		])</div><div class='del'>-		],</div><div class='del'>-[haiku*], [</div><div class='del'>-		LIBS="$LIBS" # m lib is include in root</div><div class='del'>-		],</div><div class='del'>-[cygwin*], [	ac_cv_header_langinfo_h=yes</div><div class='del'>-		RUBY_APPEND_OPTIONS(CPPFLAGS, -D_XOPEN_SOURCE -D_GNU_SOURCE)</div><div class='del'>-		AC_CHECK_FUNCS(cygwin_conv_path)</div><div class='del'>-		AC_LIBOBJ([langinfo])</div><div class='del'>-		],</div><div class='del'>-[mingw*], [	LIBS="-lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi $LIBS"</div><div class='del'>-		ac_cv_header_a_out_h=no</div><div class='del'>-		ac_cv_header_pwd_h=no</div><div class='del'>-		ac_cv_header_utime_h=no</div><div class='del'>-		ac_cv_header_sys_ioctl_h=no</div><div class='del'>-		ac_cv_header_sys_param_h=no</div><div class='del'>-		ac_cv_header_sys_resource_h=no</div><div class='del'>-		ac_cv_header_sys_select_h=no</div><div class='del'>-		ac_cv_header_sys_time_h=no</div><div class='del'>-		ac_cv_header_sys_times_h=no</div><div class='del'>-		ac_cv_header_sys_socket_h=no</div><div class='del'>-		ac_cv_func_lstat=yes</div><div class='del'>-		ac_cv_func_times=yes</div><div class='del'>-		ac_cv_func_waitpid=yes</div><div class='del'>-		ac_cv_func_fsync=yes</div><div class='del'>-		ac_cv_func_seekdir=yes</div><div class='del'>-		ac_cv_func_telldir=yes</div><div class='del'>-		ac_cv_func_isinf=yes</div><div class='del'>-		ac_cv_func_isnan=yes</div><div class='del'>-		ac_cv_func_finite=yes</div><div class='del'>-		ac_cv_func_lchown=yes</div><div class='del'>-		ac_cv_func_link=yes</div><div class='del'>-		ac_cv_func_readlink=yes</div><div class='del'>-		ac_cv_func_symlink=yes</div><div class='del'>-		ac_cv_lib_crypt_crypt=no</div><div class='del'>-		ac_cv_func_getpgrp_void=no</div><div class='del'>-		ac_cv_func_memcmp_working=yes</div><div class='del'>-		ac_cv_lib_dl_dlopen=no</div><div class='del'>-		rb_cv_binary_elf=no</div><div class='del'>-		rb_cv_negative_time_t=no</div><div class='del'>-		ac_cv_func_fcntl=yes</div><div class='del'>-		ac_cv_func_flock=yes</div><div class='del'>-		ac_cv_func_gmtime_r=yes</div><div class='del'>-		rb_cv_large_fd_select=yes</div><div class='del'>-		ac_cv_type_struct_timeval=yes</div><div class='del'>-                ac_cv_func_clock_gettime=yes</div><div class='del'>-                ac_cv_func_clock_getres=yes</div><div class='del'>-		ac_cv_func_malloc_usable_size=no</div><div class='del'>-		ac_cv_type_off_t=yes</div><div class='del'>-		ac_cv_sizeof_off_t=8</div><div class='del'>-		AS_IF([test "$target_cpu" = x64], [</div><div class='del'>-		    ac_cv_func___builtin_setjmp=yes</div><div class='del'>-		    ac_cv_func_round=no</div><div class='del'>-		    rb_cv_fiber_coroutine=yes</div><div class='del'>-		])</div><div class='del'>-		ac_cv_func_tgamma=no</div><div class='del'>-		rb_cv_negative_time_t=yes</div><div class='del'>-		AC_CHECK_TYPE([NET_LUID], [], [],</div><div class='del'>-			      [@%:@include &lt;winsock2.h&gt;</div><div class='del'>-			      @%:@include &lt;iphlpapi.h&gt;])</div><div class='del'>-		AS_IF([test x"$ac_cv_type_NET_LUID" = xyes], [</div><div class='del'>-		    AC_DEFINE(HAVE_TYPE_NET_LUID, 1)</div><div class='del'>-		])</div><div class='del'>-		AC_CHECK_FUNCS(_gmtime64_s)</div><div class='del'>-		AC_CHECK_FUNCS(_wfreopen_s)</div><div class='del'>-		AC_LIBOBJ([langinfo])</div><div class='del'>-		],</div><div class='del'>-[bsdi*], [	LIBS="-lm $LIBS"</div><div class='del'>-		AC_DEFINE(BROKEN_SETREUID, 1)</div><div class='del'>-		AC_DEFINE(BROKEN_SETREGID, 1)</div><div class='del'>-                ac_cv_sizeof_rlim_t=8],</div><div class='del'>-[freebsd*], [	LIBS="-lm $LIBS"</div><div class='del'>-		ac_cv_func_getpeername=no</div><div class='del'>-		ac_cv_func_getsockname=no</div><div class='del'>-		ac_cv_func_shutdown=no</div><div class='del'>-		ac_cv_func_close=no</div><div class='del'>-		],</div><div class='del'>-[netbsd*], [	LIBS="-lm $LIBS"</div><div class='del'>-		],</div><div class='del'>-[dragonfly*], [	LIBS="-lm $LIBS"</div><div class='del'>-		# isinf() and isnan() are macros on DragonFly.</div><div class='del'>-		ac_cv_func_isinf=yes</div><div class='del'>-		ac_cv_func_isnan=yes</div><div class='del'>-		],</div><div class='del'>-[aix*],[	LIBS="-lm $LIBS"</div><div class='del'>-		ac_cv_func_round=no</div><div class='del'>-		ac_cv_func___builtin_setjmp=no</div><div class='del'>-		],</div><div class='del'>-[linux*],[	LIBS="-lm $LIBS"</div><div class='del'>-		# __builtin_longjmp in ppc64* Linux does not restore</div><div class='del'>-		# the TOC register (r2), which is problematic</div><div class='del'>-		# when a global exit happens from JITted .so code.</div><div class='del'>-		AS_CASE(["$target_cpu"], [powerpc64*], [</div><div class='del'>-			ac_cv_func___builtin_setjmp=no</div><div class='del'>-		])</div><div class='del'>-		# With gcc-8's -fcf-protection, MJIT's __builtin_longjmp fails.</div><div class='del'>-		AS_CASE(["$CC $CFLAGS "], [*" -fcf-protection "*], [cf_protection=yes], [cf_protection=no])</div><div class='del'>-		AS_IF([test "$cf_protection" = yes], [</div><div class='del'>-			ac_cv_func___builtin_setjmp=no</div><div class='del'>-		])</div><div class='del'>-		],</div><div class='del'>-[	LIBS="-lm $LIBS"])</div><div class='del'>-: ${ORIG_LIBS=$LIBS}</div><div class='del'>-</div><div class='del'>-AC_CHECK_LIB(crypt, crypt)      # glibc (GNU/Linux, GNU/Hurd, GNU/kFreeBSD)</div><div class='del'>-AC_CHECK_LIB(dl, dlopen)	# Dynamic linking for SunOS/Solaris and SYSV</div><div class='del'>-AC_CHECK_LIB(dld, shl_load)	# Dynamic linking for HP-UX</div><div class='del'>-AC_CHECK_LIB(socket, shutdown)  # SunOS/Solaris</div><div class='del'>-</div><div class='del'>-dnl Checks for header files.</div><div class='del'>-AC_HEADER_DIRENT</div><div class='del'>-dnl AC_HEADER_STDC has been checked in AC_USE_SYSTEM_EXTENSIONS</div><div class='del'>-AC_HEADER_STDBOOL</div><div class='del'>-AC_HEADER_SYS_WAIT</div><div class='del'>-</div><div class='del'>-AC_CHECK_HEADERS(a.out.h)</div><div class='del'>-AC_CHECK_HEADERS(atomic.h)</div><div class='del'>-AC_CHECK_HEADERS(direct.h)</div><div class='del'>-AC_CHECK_HEADERS(grp.h)</div><div class='del'>-AC_CHECK_HEADERS(fcntl.h)</div><div class='del'>-AC_CHECK_HEADERS(float.h)</div><div class='del'>-AC_CHECK_HEADERS(ieeefp.h)</div><div class='del'>-AC_CHECK_HEADERS(intrinsics.h)</div><div class='del'>-AC_CHECK_HEADERS(langinfo.h)</div><div class='del'>-AC_CHECK_HEADERS(limits.h)</div><div class='del'>-AC_CHECK_HEADERS(locale.h)</div><div class='del'>-AC_CHECK_HEADERS(malloc.h)</div><div class='del'>-AC_CHECK_HEADERS(malloc/malloc.h)</div><div class='del'>-AC_CHECK_HEADERS(malloc_np.h)</div><div class='del'>-AC_CHECK_HEADERS(net/socket.h)</div><div class='del'>-AC_CHECK_HEADERS(process.h)</div><div class='del'>-AC_CHECK_HEADERS(pwd.h)</div><div class='del'>-AC_CHECK_HEADERS(sanitizer/asan_interface.h)</div><div class='del'>-AC_CHECK_HEADERS(sanitizer/msan_interface.h)</div><div class='del'>-AC_CHECK_HEADERS(setjmpex.h)</div><div class='del'>-AC_CHECK_HEADERS(stdalign.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/attr.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/eventfd.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/fcntl.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/file.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/id.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/ioctl.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/mkdev.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/param.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/prctl.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/resource.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/select.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/sendfile.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/socket.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/syscall.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/sysmacros.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/time.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/times.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/uio.h)</div><div class='del'>-AC_CHECK_HEADERS(sys/utime.h)</div><div class='del'>-AC_CHECK_HEADERS(syscall.h)</div><div class='del'>-AC_CHECK_HEADERS(time.h)</div><div class='del'>-AC_CHECK_HEADERS(ucontext.h)</div><div class='del'>-AC_CHECK_HEADERS(utime.h)</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH([gmp],</div><div class='del'>-  [AS_HELP_STRING([--without-gmp],</div><div class='del'>-    [disable GNU GMP to accelerate Bignum operations])],</div><div class='del'>-  [],</div><div class='del'>-  [with_gmp=yes])</div><div class='del'>-AS_IF([test "x$with_gmp" != xno],</div><div class='del'>-  [AC_CHECK_HEADERS(gmp.h)</div><div class='del'>-   AS_IF([test "x$ac_cv_header_gmp_h" != xno],</div><div class='del'>-     AC_SEARCH_LIBS([__gmpz_init], [gmp],</div><div class='del'>-       [AC_DEFINE(HAVE_LIBGMP, 1)]))])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH([jemalloc],</div><div class='del'>-  [AS_HELP_STRING([--with-jemalloc],[use jemalloc allocator])],</div><div class='del'>-  [with_jemalloc=$withval], [with_jemalloc=no])</div><div class='del'>-AS_IF([test "x$with_jemalloc" != xno],[</div><div class='del'>-  AC_SEARCH_LIBS([malloc_conf], [jemalloc],</div><div class='del'>-    [</div><div class='del'>-      AC_DEFINE(HAVE_LIBJEMALLOC, 1)</div><div class='del'>-      with_jemalloc=yes</div><div class='del'>-    ],</div><div class='del'>-    [test x$with_jemalloc = xyes &amp;&amp; with_jemalloc=no])</div><div class='del'>-  AC_CHECK_HEADER(jemalloc/jemalloc.h, [</div><div class='del'>-    AC_DEFINE(RUBY_ALTERNATIVE_MALLOC_HEADER, [&lt;jemalloc/jemalloc.h&gt;])</div><div class='del'>-  ])</div><div class='del'>-  AS_IF([test "x$with_jemalloc" != xyes], [</div><div class='del'>-    AC_CACHE_CHECK([for jemalloc with JEMALLOC_MANGLE], rb_cv_jemalloc_demangle,</div><div class='del'>-      [AC_LINK_IFELSE([AC_LANG_PROGRAM([@%:@define JEMALLOC_MANGLE 1</div><div class='del'>-      @%:@ifdef RUBY_ALTERNATIVE_MALLOC_HEADER</div><div class='del'>-      @%:@include RUBY_ALTERNATIVE_MALLOC_HEADER</div><div class='del'>-      @%:@else</div><div class='del'>-      @%:@include &lt;jemalloc.h&gt;</div><div class='del'>-      @%:@endif], [return !&amp;malloc_conf])],</div><div class='del'>-      [rb_cv_jemalloc_demangle=yes],</div><div class='del'>-      [rb_cv_jemalloc_demangle=no])</div><div class='del'>-    ])</div><div class='del'>-  ])</div><div class='del'>-  AS_IF([test "x$rb_cv_jemalloc_demangle" = xyes], [</div><div class='del'>-    AC_DEFINE(JEMALLOC_MANGLE)</div><div class='del'>-    with_jemalloc=yes</div><div class='del'>-  ])</div><div class='del'>-  AS_CASE(["$with_jemalloc"],</div><div class='del'>-    [yes],</div><div class='del'>-    [</div><div class='del'>-      AC_DEFINE(HAVE_MALLOC_CONF)</div><div class='del'>-      ac_cv_func_malloc_usable_size=yes</div><div class='del'>-    ],</div><div class='del'>-    [no],</div><div class='del'>-    [AC_MSG_ERROR([jemalloc requested but not found])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-dnl check for large file stuff</div><div class='del'>-mv confdefs.h confdefs1.h</div><div class='del'>-: &gt; confdefs.h</div><div class='del'>-AC_SYS_LARGEFILE</div><div class='del'>-# On 32-bit Solaris, it is safe to define _LARGEFILE_SOURCE</div><div class='del'>-# which is not added by AC_SYS_LARGEFILE.</div><div class='del'>-AS_IF([test x"$enable_largefile" != xno], [</div><div class='del'>-  AS_CASE(["$target_os"], [solaris*], [</div><div class='del'>-    AC_MSG_CHECKING([wheather _LARGEFILE_SOURCE should be defined])</div><div class='del'>-    AS_CASE(["${ac_cv_sys_file_offset_bits}:${ac_cv_sys_large_files}"],</div><div class='del'>-      ["64:"|"64:no"|"64:unknown"], [</div><div class='del'>-	# insert _LARGEFILE_SOURCE before _FILE_OFFSET_BITS line</div><div class='del'>-	# that is the same order as "getconf LFS_CFLAGS" output</div><div class='del'>-	mv confdefs.h largefile0.h</div><div class='del'>-	: &gt; confdefs.h</div><div class='del'>-	AC_DEFINE(_LARGEFILE_SOURCE)</div><div class='del'>-	cat largefile0.h &gt;&gt; confdefs.h</div><div class='del'>-	rm largefile0.h</div><div class='del'>-	AC_MSG_RESULT([yes])</div><div class='del'>-      ], [AC_MSG_RESULT([no])])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-mv confdefs.h largefile.h</div><div class='del'>-mv confdefs1.h confdefs.h</div><div class='del'>-cat largefile.h &gt;&gt; confdefs.h</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-    [aix*], [</div><div class='del'>-    AS_CASE(["$target_cpu:$ac_cv_sys_large_files"],</div><div class='del'>-	[ppc64:*|powerpc64:*], [],</div><div class='del'>-	[*:no|*:unknown], [],</div><div class='del'>-	[</div><div class='del'>-	    # AIX currently does not support a 32-bit call to posix_fadvise()</div><div class='del'>-	    # if _LARGE_FILES is defined.</div><div class='del'>-	    ac_cv_func_posix_fadvise=no</div><div class='del'>-	])</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-AC_C_BIGENDIAN</div><div class='del'>-AC_C_CONST</div><div class='del'>-AC_C_CHAR_UNSIGNED</div><div class='del'>-AC_C_INLINE</div><div class='del'>-AC_C_VOLATILE</div><div class='del'>-AC_C_TYPEOF</div><div class='del'>-</div><div class='del'>-AS_CASE(":$ac_cv_c_const:$ac_cv_c_volatile:",</div><div class='del'>-    [*:no:*], [AC_MSG_ERROR(ANSI C-conforming const and volatile are mandatory)])</div><div class='del'>-</div><div class='del'>-AC_CHECK_TYPES([long long, off_t])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK([char bit], [rb_cv_char_bit],</div><div class='del'>-    [test "$universal_binary" = yes &amp;&amp; cross_compiling=yes</div><div class='del'>-    AC_COMPUTE_INT([rb_cv_char_bit], [CHAR_BIT],</div><div class='del'>-	[AC_INCLUDES_DEFAULT([@%:@include &lt;limits.h&gt;])], [rb_cv_char_bit=8])</div><div class='del'>-    test "$universal_binary" = yes &amp;&amp; cross_compiling=$real_cross_compiling])</div><div class='del'>-</div><div class='del'>-RUBY_CHECK_SIZEOF(int, [], [ILP])</div><div class='del'>-RUBY_CHECK_SIZEOF(short)</div><div class='del'>-RUBY_CHECK_SIZEOF(long, [int], [ILP LP])</div><div class='del'>-RUBY_CHECK_SIZEOF(long long)</div><div class='del'>-RUBY_CHECK_SIZEOF(__int64, [8], [ILP LP])</div><div class='del'>-RUBY_CHECK_SIZEOF(__int128, [16], [ILP LP])</div><div class='del'>-RUBY_CHECK_SIZEOF(off_t)</div><div class='del'>-RUBY_CHECK_SIZEOF(void*, [int long "long long"], [ILP LP LLP])</div><div class='del'>-RUBY_CHECK_SIZEOF(float)</div><div class='del'>-RUBY_CHECK_SIZEOF(double)</div><div class='del'>-RUBY_CHECK_SIZEOF(time_t, [long "long long"], [], [@%:@include &lt;time.h&gt;])</div><div class='del'>-RUBY_CHECK_SIZEOF(clock_t, [], [], [@%:@include &lt;time.h&gt;])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(packed struct attribute, rb_cv_packed_struct,</div><div class='del'>-    [rb_cv_packed_struct=no</div><div class='del'>-    for mac in \</div><div class='del'>-	"__pragma(pack(push, 1)) x __pragma(pack(pop))" \</div><div class='del'>-	"x __attribute__((packed))" \</div><div class='del'>-	; do</div><div class='del'>-	AC_TRY_COMPILE([@%:@define PACKED_STRUCT(x) $mac</div><div class='del'>-			PACKED_STRUCT(struct { int a; });], [],</div><div class='del'>-		[rb_cv_packed_struct=$mac; break])</div><div class='del'>-    done])</div><div class='del'>-AS_IF([test "$rb_cv_packed_struct" != no], [</div><div class='del'>-    AC_DEFINE_UNQUOTED([PACKED_STRUCT(x)], [$rb_cv_packed_struct])</div><div class='del'>-    RUBY_TRY_CFLAGS(-Wno-address-of-packed-member, [AC_DEFINE(USE_UNALIGNED_MEMBER_ACCESS)])</div><div class='del'>-], [</div><div class='del'>-    AC_DEFINE_UNQUOTED([PACKED_STRUCT(x)], x)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "x$ac_cv_type_long_long" = xyes], [</div><div class='del'>-    RUBY_CHECK_PRINTF_PREFIX(long long, ll I64, LL)</div><div class='del'>-], [test "x$ac_cv_type___int64" = xyes], [</div><div class='del'>-    RUBY_CHECK_PRINTF_PREFIX(__int64, ll I64, LL)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-RUBY_REPLACE_TYPE(pid_t, int, PIDT)</div><div class='del'>-RUBY_REPLACE_TYPE(uid_t, int, UIDT)</div><div class='del'>-RUBY_REPLACE_TYPE(gid_t, int, GIDT)</div><div class='del'>-RUBY_REPLACE_TYPE(time_t, [], TIMET, [@%:@include &lt;time.h&gt;])</div><div class='del'>-RUBY_REPLACE_TYPE(dev_t, [int long "long long"], DEVT)</div><div class='del'>-RUBY_REPLACE_TYPE(mode_t, ["unsigned short" "unsigned int" long], MODET, [@%:@include &lt;sys/stat.h&gt;])</div><div class='del'>-RUBY_REPLACE_TYPE(rlim_t, [int long "long long"], RLIM, [</div><div class='del'>-@%:@ifdef HAVE_SYS_TYPES_H</div><div class='del'>-@%:@include &lt;sys/types.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifdef HAVE_SYS_TYPES_H</div><div class='del'>-@%:@include &lt;sys/time.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@include &lt;sys/resource.h&gt;</div><div class='del'>-])</div><div class='del'>-RUBY_REPLACE_TYPE(off_t, [], OFFT)</div><div class='del'>-RUBY_REPLACE_TYPE(clockid_t, [], CLOCKID, [@%:@ifdef HAVE_TIME_H</div><div class='del'>-@%:@ include &lt;time.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifdef HAVE_SYS_TIME_H</div><div class='del'>-@%:@ include &lt;sys/time.h&gt;</div><div class='del'>-@%:@endif])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for prototypes, rb_cv_have_prototypes,</div><div class='del'>-  [AC_TRY_COMPILE([int foo(int x) { return 0; }], [return foo(10);],</div><div class='del'>-	rb_cv_have_prototypes=yes,</div><div class='del'>-	rb_cv_have_prototypes=no)])</div><div class='del'>-AS_IF([test "$rb_cv_have_prototypes" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_PROTOTYPES)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(token paste string, rb_cv_tokenpaste,</div><div class='del'>-  [AC_TRY_COMPILE([@%:@define paste(a,b) a@%:@@%:@b],</div><div class='del'>-		  [int xy = 1; return paste(x,y);],</div><div class='del'>-		  rb_cv_tokenpaste=ansi,</div><div class='del'>-		  rb_cv_tokenpaste=knr)])</div><div class='del'>-AS_IF([test "$rb_cv_tokenpaste" = ansi], [</div><div class='del'>-  AC_DEFINE(TOKEN_PASTE(x,y),[x@%:@@%:@y])</div><div class='del'>-], [</div><div class='del'>-  AC_DEFINE(TOKEN_PASTE(x,y),[x/**/y])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(stringization, rb_cv_stringization, [</div><div class='del'>-  rb_cv_stringization=no</div><div class='del'>-  for string in "#expr" '"expr"'; do</div><div class='del'>-    AC_COMPILE_IFELSE([</div><div class='del'>-      AC_LANG_BOOL_COMPILE_TRY([</div><div class='del'>-#define STRINGIZE0(expr) $string</div><div class='del'>-#define STRINGIZE(expr) STRINGIZE0(expr)</div><div class='del'>-#undef real_test_for_stringization</div><div class='del'>-#define test_for_stringization -.real_test_for_stringization.-</div><div class='del'>-const char stringized[[]] = STRINGIZE(test_for_stringization);</div><div class='del'>-], [sizeof(stringized) == 32])],</div><div class='del'>-      [rb_cv_stringization="$string"; break],</div><div class='del'>-      [rb_cv_stringization=no])</div><div class='del'>-  done]</div><div class='del'>-)</div><div class='del'>-AC_DEFINE(STRINGIZE(expr),STRINGIZE0(expr))</div><div class='del'>-AS_IF([test x"$rb_cv_stringization" != xno -a "$rb_cv_stringization" != "#expr"], [</div><div class='del'>-  AC_DEFINE_UNQUOTED(STRINGIZE0(expr),$rb_cv_stringization)</div><div class='del'>-  AC_DEFINE(OLD_FASHIONED_STRINGIZATION,1)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK([string literal concatenation],</div><div class='del'>-  rb_cv_string_literal_concatenation, [</div><div class='del'>-  AC_COMPILE_IFELSE([</div><div class='del'>-    AC_LANG_BOOL_COMPILE_TRY([</div><div class='del'>-const char concatenated_literal[[]] = "literals" "to"</div><div class='del'>-  "be" "concatenated.";</div><div class='del'>-], [sizeof(concatenated_literal) == 26])],</div><div class='del'>-    [rb_cv_string_literal_concatenation=yes],</div><div class='del'>-    [rb_cv_string_literal_concatenation=no])]</div><div class='del'>-)</div><div class='del'>-AS_IF([test "$rb_cv_string_literal_concatenation" = no], [</div><div class='del'>-  AC_MSG_ERROR([No string literal concatenation])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for variable length prototypes and stdarg.h, rb_cv_stdarg,</div><div class='del'>-  [AC_TRY_COMPILE([</div><div class='del'>-#include &lt;stdarg.h&gt;</div><div class='del'>-int foo(int x, ...) {</div><div class='del'>-	va_list va;</div><div class='del'>-	va_start(va, x);</div><div class='del'>-	va_arg(va, int);</div><div class='del'>-	va_arg(va, char *);</div><div class='del'>-	va_arg(va, double);</div><div class='del'>-	return 0;</div><div class='del'>-}</div><div class='del'>-], [return foo(10, "", 3.14);],</div><div class='del'>-	rb_cv_stdarg=yes,</div><div class='del'>-	rb_cv_stdarg=no)])</div><div class='del'>-AS_IF([test "$rb_cv_stdarg" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_STDARG_PROTOTYPES)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for variable length macro, rb_cv_va_args_macro,</div><div class='del'>-  [AC_TRY_COMPILE([</div><div class='del'>-int foo(int x, ...);</div><div class='del'>-@%:@define FOO(a, ...) foo(a, @%:@@%:@__VA_ARGS__)</div><div class='del'>-], [FOO(1);FOO(1,2);FOO(1,2,3);],</div><div class='del'>-  rb_cv_va_args_macro=yes,</div><div class='del'>-  rb_cv_va_args_macro=no)])</div><div class='del'>-AS_IF([test "$rb_cv_va_args_macro" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_VA_ARGS_MACRO)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK([for alignas() syntax], rb_cv_have_alignas, [</div><div class='del'>-rb_cv_have_alignas=no</div><div class='del'>-RUBY_WERROR_FLAG([</div><div class='del'>-for attr in \</div><div class='del'>-    "_Alignas(x)" \</div><div class='del'>-    "alignas(x)" \</div><div class='del'>-    "@&lt;:@@&lt;:@alignas(x)@:&gt;@@:&gt;@" \</div><div class='del'>-    "__declspec(aligned(x))" \</div><div class='del'>-    "__attribute__((__aligned__(x)))" \</div><div class='del'>-;</div><div class='del'>-do</div><div class='del'>-    # C11 _Alignas and GCC __attribute__((__aligned__)) behave</div><div class='del'>-    # slightly differently.  What we want is GCC's.  Check that</div><div class='del'>-    # here by something C11 does not allow (`struct ALIGNAS ...`)</div><div class='del'>-    AC_TRY_COMPILE(</div><div class='del'>-	[@%:@define ALIGNAS(x) $attr</div><div class='del'>-	struct ALIGNAS(128) conftest_tag { int foo; } foo; ], [],</div><div class='del'>-        [rb_cv_have_alignas="$attr"; break], [])</div><div class='del'>-done</div><div class='del'>-])])</div><div class='del'>-AS_IF([test "$rb_cv_have_alignas" != no], [</div><div class='del'>-    AC_DEFINE_UNQUOTED([RUBY_ALIGNAS(x)], $rb_cv_have_alignas)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK([for alignof() syntax], rb_cv_have_alignof,[</div><div class='del'>-rb_cv_have_alignof=no</div><div class='del'>-RUBY_WERROR_FLAG([</div><div class='del'>-for expr in \</div><div class='del'>-    "alignof" \</div><div class='del'>-    "_Alignof" \</div><div class='del'>-    "__alignof" \</div><div class='del'>-    "__alignof__" \</div><div class='del'>-;</div><div class='del'>-do</div><div class='del'>-    AC_TRY_COMPILE([</div><div class='del'>-    @%:@ifdef HAVE_STDALIGN_H</div><div class='del'>-    @%:@include &lt;stdalign.h&gt;</div><div class='del'>-    @%:@endif],[return (int)$expr(int);],</div><div class='del'>-        [rb_cv_have_alignof="$expr"; break], [])</div><div class='del'>-done</div><div class='del'>-])])</div><div class='del'>-AS_IF([test "$rb_cv_have_alignof" != no], [</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_ALIGNOF, $rb_cv_have_alignof)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__const__, CONSTFUNC)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__pure__, PUREFUNC)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__noreturn__, NORETURN)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__deprecated__, DEPRECATED)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__deprecated__("by "@%:@n), DEPRECATED_BY(n,x), rb_cv_func_deprecated_by)</div><div class='del'>-RUBY_TYPE_ATTRIBUTE(__deprecated__ mesg, DEPRECATED_TYPE(mesg,x), rb_cv_type_deprecated)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__noinline__, NOINLINE)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__always_inline__, ALWAYS_INLINE)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__no_sanitize__(san), NO_SANITIZE(san, x), rb_cv_func_no_sanitize)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__no_sanitize_address__, NO_SANITIZE_ADDRESS)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__no_address_safety_analysis__, NO_ADDRESS_SAFETY_ANALYSIS)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__warn_unused_result__, WARN_UNUSED_RESULT)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__unused__, MAYBE_UNUSED)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__error__ mesg, ERRORFUNC(mesg,x), rb_cv_func___error__)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__warning__ mesg, WARNINGFUNC(mesg,x), rb_cv_func___warning__)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__weak__, WEAK, rb_cv_func_weak)</div><div class='del'>-AS_IF([test "$rb_cv_func_weak" != x], [</div><div class='del'>-   AC_DEFINE(HAVE_FUNC_WEAK)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-if_i386=${universal_binary+[defined __i386__]}</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__stdcall__,  FUNC_STDCALL,  rb_cv_func_stdcall,  ${if_i386})</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__cdecl__,    FUNC_CDECL,    rb_cv_func_cdecl,    ${if_i386})</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__fastcall__, FUNC_FASTCALL, rb_cv_func_fastcall, ${if_i386})</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__optimize__("O0"), FUNC_UNOPTIMIZED, rb_cv_func_unoptimized)</div><div class='del'>-RUBY_FUNC_ATTRIBUTE(__optimize__("-Os","-fomit-frame-pointer"), FUNC_MINIMIZED, rb_cv_func_minimized)</div><div class='del'>-</div><div class='del'>-AS_IF([test "$GCC" = yes], [</div><div class='del'>-    AC_CACHE_CHECK([for function alias], [rb_cv_gcc_function_alias],</div><div class='del'>-	[rb_cv_gcc_function_alias=no</div><div class='del'>-	for a in alias weak,alias; do</div><div class='del'>-	    AC_TRY_LINK([void foo(void) {}</div><div class='del'>-		void bar(void) __attribute__(($a("foo")));], [bar()],</div><div class='del'>-		[rb_cv_gcc_function_alias=$a; break])</div><div class='del'>-	done])</div><div class='del'>-    AS_IF([test "$rb_cv_gcc_function_alias" != no], [</div><div class='del'>-	AC_DEFINE(HAVE_ATTRIBUTE_FUNCTION_ALIAS)</div><div class='del'>-	AC_DEFINE_UNQUOTED([RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args)],</div><div class='del'>-			   [type prot __attribute__(($rb_cv_gcc_function_alias(@%:@name)));])</div><div class='del'>-	AC_DEFINE_UNQUOTED([RUBY_ALIAS_FUNCTION_VOID(prot, name, args)],</div><div class='del'>-			   [RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)])</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    AC_CACHE_CHECK([for __atomic builtins], [rb_cv_gcc_atomic_builtins], [</div><div class='del'>-	AC_TRY_LINK([unsigned char atomic_var;],</div><div class='del'>-		    [</div><div class='del'>-			__atomic_exchange_n(&amp;atomic_var, 0, __ATOMIC_SEQ_CST);</div><div class='del'>-			__atomic_exchange_n(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='del'>-			__atomic_fetch_add(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='del'>-			__atomic_fetch_sub(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='del'>-			__atomic_or_fetch(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='del'>-		    ],</div><div class='del'>-		    [rb_cv_gcc_atomic_builtins=yes],</div><div class='del'>-		    [rb_cv_gcc_atomic_builtins=no])])</div><div class='del'>-    AS_IF([test "$rb_cv_gcc_atomic_builtins" = yes], [</div><div class='del'>-	AC_DEFINE(HAVE_GCC_ATOMIC_BUILTINS)</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    AC_CACHE_CHECK([for __sync builtins], [rb_cv_gcc_sync_builtins], [</div><div class='del'>-	AC_TRY_LINK([unsigned char atomic_var;],</div><div class='del'>-		    [</div><div class='del'>-			__sync_lock_test_and_set(&amp;atomic_var, 0);</div><div class='del'>-			__sync_lock_test_and_set(&amp;atomic_var, 1);</div><div class='del'>-			__sync_fetch_and_add(&amp;atomic_var, 1);</div><div class='del'>-			__sync_fetch_and_sub(&amp;atomic_var, 1);</div><div class='del'>-			__sync_or_and_fetch(&amp;atomic_var, 1);</div><div class='del'>-			__sync_val_compare_and_swap(&amp;atomic_var, 0, 1);</div><div class='del'>-		    ],</div><div class='del'>-		    [rb_cv_gcc_sync_builtins=yes],</div><div class='del'>-		    [rb_cv_gcc_sync_builtins=no])])</div><div class='del'>-    AS_IF([test "$rb_cv_gcc_sync_builtins" = yes], [</div><div class='del'>-	AC_DEFINE(HAVE_GCC_SYNC_BUILTINS)</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-    AC_CACHE_CHECK(for __builtin_unreachable, rb_cv_func___builtin_unreachable,</div><div class='del'>-    [RUBY_WERROR_FLAG(</div><div class='del'>-    [AC_TRY_LINK([volatile int zero;],</div><div class='del'>-	[if (zero) __builtin_unreachable();],</div><div class='del'>-	[rb_cv_func___builtin_unreachable=yes],</div><div class='del'>-	[rb_cv_func___builtin_unreachable=no])</div><div class='del'>-    ])</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test "$rb_cv_func___builtin_unreachable" = yes], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(UNREACHABLE, [__builtin_unreachable()])</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for exported function attribute, rb_cv_func_exported, [</div><div class='del'>-rb_cv_func_exported=no</div><div class='del'>-RUBY_WERROR_FLAG([</div><div class='del'>-for mac in '__attribute__ ((__visibility__("default")))' '__declspec(dllexport)'; do</div><div class='del'>-  AC_TRY_COMPILE([@%:@define RUBY_FUNC_EXPORTED $mac extern</div><div class='del'>-    RUBY_FUNC_EXPORTED void conftest_attribute_check(void);], [],</div><div class='del'>-    [rb_cv_func_exported="$mac"; break])</div><div class='del'>-done</div><div class='del'>-])])</div><div class='del'>-AS_IF([test "$rb_cv_func_exported" != no], [</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_FUNC_EXPORTED, [$rb_cv_func_exported extern])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-RUBY_APPEND_OPTION(XCFLAGS, -DRUBY_EXPORT)</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(mathn,</div><div class='del'>-    AS_HELP_STRING([--disable-mathn], [disable canonicalization for mathn]),</div><div class='del'>-    [mathn=$enableval], [mathn=yes])</div><div class='del'>-test "x$mathn" = xyes || mathn=</div><div class='del'>-AC_SUBST(MATHN, $mathn)</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for function name string predefined identifier,</div><div class='del'>-    rb_cv_function_name_string,</div><div class='del'>-    [rb_cv_function_name_string=no</div><div class='del'>-    RUBY_WERROR_FLAG([</div><div class='del'>-	for func in __func__ __FUNCTION__; do</div><div class='del'>-	    AC_TRY_LINK([@%:@include &lt;stdio.h&gt;],</div><div class='del'>-			[puts($func);],</div><div class='del'>-			[rb_cv_function_name_string=$func</div><div class='del'>-			break])</div><div class='del'>-	done</div><div class='del'>-    ])]</div><div class='del'>-)</div><div class='del'>-AS_IF([test "$rb_cv_function_name_string" != no], [</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_FUNCTION_NAME_STRING, [$rb_cv_function_name_string])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(if enum over int is allowed, rb_cv_enum_over_int, [</div><div class='del'>-    rb_cv_enum_over_int=no</div><div class='del'>-    AS_IF([test "x$ac_cv_type_long_long" = xyes], [</div><div class='del'>-	type="unsigned long long" max="ULLONG_MAX"</div><div class='del'>-    ], [</div><div class='del'>-	type="unsigned long" max="ULONG_MAX"</div><div class='del'>-    ])</div><div class='del'>-    RUBY_WERROR_FLAG([</div><div class='del'>-        AC_COMPILE_IFELSE([</div><div class='del'>-            AC_LANG_BOOL_COMPILE_TRY([</div><div class='del'>-                    @%:@include &lt;limits.h&gt;</div><div class='del'>-                    enum {conftest_max = $max};</div><div class='del'>-                ], [</div><div class='del'>-                    (conftest_max == $max) &amp;&amp;</div><div class='del'>-                    (sizeof(conftest_max) == sizeof($type))</div><div class='del'>-                ]</div><div class='del'>-	    )],</div><div class='del'>-	    [rb_cv_enum_over_int=yes],</div><div class='del'>-	    [rb_cv_enum_over_int=no]</div><div class='del'>-	)</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AS_IF([test $rb_cv_enum_over_int = yes], [</div><div class='del'>-    AC_DEFINE(ENUM_OVER_INT, 1)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-dnl Check whether we need to define sys_nerr locally</div><div class='del'>-AC_CHECK_DECLS([sys_nerr], [], [], [$ac_includes_default</div><div class='del'>-@%:@include &lt;errno.h&gt;])</div><div class='del'>-</div><div class='del'>-AC_CHECK_DECLS([getenv])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_cpu"],</div><div class='del'>-[alpha*|sh4|sh4el|sh4eb], [AS_CASE(["$target_os"::"$GCC"],</div><div class='del'>-		[*::yes],  # gcc</div><div class='del'>-			[CFLAGS="-mieee $CFLAGS"],</div><div class='del'>-		[osf*],    # ccc</div><div class='del'>-			[CFLAGS="-ieee $CFLAGS"],</div><div class='del'>-		)],</div><div class='del'>-[sparc*], [AC_LIBOBJ([sparc])])</div><div class='del'>-</div><div class='del'>-ac_cv_header_net_socket_h=${ac_cv_header_net_socket_h=no}</div><div class='del'>-AS_IF([test "$ac_cv_header_net_socket_h" = yes], [</div><div class='del'>-    ac_cv_header_sys_socket_h=${ac_cv_header_sys_socket_h=no}</div><div class='del'>-], [</div><div class='del'>-    ac_cv_header_sys_socket_h=${ac_cv_header_sys_socket_h=yes}</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-AC_TYPE_SIZE_T</div><div class='del'>-RUBY_CHECK_SIGNEDNESS(size_t, [AC_MSG_ERROR(size_t is signed)], [],</div><div class='del'>-		      [@%:@include &lt;sys/types.h&gt;])</div><div class='del'>-RUBY_CHECK_SIZEOF(size_t, [int long void*], [], [@%:@include &lt;sys/types.h&gt;])</div><div class='del'>-RUBY_CHECK_SIZEOF(ptrdiff_t, size_t, [], [@%:@include &lt;stddef.h&gt;])</div><div class='del'>-RUBY_CHECK_PRINTF_PREFIX(size_t, z)</div><div class='del'>-RUBY_CHECK_PRINTF_PREFIX(ptrdiff_t, t)</div><div class='del'>-AC_STRUCT_ST_BLKSIZE</div><div class='del'>-AC_STRUCT_ST_BLOCKS</div><div class='del'>-AC_STRUCT_ST_RDEV</div><div class='del'>-RUBY_CHECK_SIZEOF([struct stat.st_size], [off_t int long "long long"], [], [@%:@include &lt;sys/stat.h&gt;])</div><div class='del'>-AS_IF([test "$ac_cv_member_struct_stat_st_blocks" = yes], [</div><div class='del'>-    RUBY_CHECK_SIZEOF([struct stat.st_blocks], [off_t int long "long long"], [], [@%:@include &lt;sys/stat.h&gt;])</div><div class='del'>-])</div><div class='del'>-RUBY_CHECK_SIZEOF([struct stat.st_ino], [long "long long"], [], [@%:@include &lt;sys/stat.h&gt;])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_atim])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_atimespec])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_atimensec])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_mtim])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_mtimespec])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_mtimensec])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_ctim])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_ctimespec])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_ctimensec])</div><div class='del'>-AC_CHECK_MEMBERS([struct stat.st_birthtimespec])</div><div class='del'>-</div><div class='del'>-AC_CHECK_TYPES([struct timeval], [], [], [@%:@ifdef HAVE_TIME_H</div><div class='del'>-@%:@include &lt;time.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifdef HAVE_SYS_TIME_H</div><div class='del'>-@%:@include &lt;sys/time.h&gt;</div><div class='del'>-@%:@endif])</div><div class='del'>-</div><div class='del'>-AS_IF([test "${ac_cv_type_struct_timeval}" = yes], [</div><div class='del'>-    RUBY_CHECK_SIZEOF([struct timeval.tv_sec], [time_t long "long long"], [],</div><div class='del'>-		      [@%:@ifdef HAVE_TIME_H</div><div class='del'>-@%:@include &lt;time.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifdef HAVE_SYS_TIME_H</div><div class='del'>-@%:@include &lt;sys/time.h&gt;</div><div class='del'>-@%:@endif])</div><div class='del'>-    AS_CASE(${ac_cv_sizeof_struct_timeval_tv_sec},</div><div class='del'>-	    [SIZEOF_INT], [t=int],</div><div class='del'>-	    [SIZEOF_LONG], [t=long],</div><div class='del'>-	    [SIZEOF_LONG_LONG], [t=LONG_LONG],</div><div class='del'>-	    [t=])</div><div class='del'>-    AS_IF([test "${t}" != ""], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(TYPEOF_TIMEVAL_TV_SEC, [$t])</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CHECK_TYPES([struct timespec], [], [], [@%:@ifdef HAVE_TIME_H</div><div class='del'>-@%:@include &lt;time.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifdef HAVE_SYS_TIME_H</div><div class='del'>-@%:@include &lt;sys/time.h&gt;</div><div class='del'>-@%:@endif])</div><div class='del'>-</div><div class='del'>-AC_CHECK_TYPES([struct timezone], [], [], [@%:@ifdef HAVE_TIME_H</div><div class='del'>-@%:@ include &lt;time.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifdef HAVE_SYS_TIME_H</div><div class='del'>-@%:@ include &lt;sys/time.h&gt;</div><div class='del'>-@%:@endif])</div><div class='del'>-</div><div class='del'>-AC_CACHE_VAL([rb_cv_large_fd_select],</div><div class='del'>-    [AC_CHECK_TYPE(fd_mask, [rb_cv_large_fd_select=yes], [rb_cv_large_fd_select=no], [AC_INCLUDES_DEFAULT([])</div><div class='del'>-@%:@ifdef HAVE_SYS_SELECT_H</div><div class='del'>-@%:@ include &lt;sys/select.h&gt;</div><div class='del'>-@%:@endif])])</div><div class='del'>-AS_IF([test "$rb_cv_large_fd_select" = yes], [</div><div class='del'>-    AC_DEFINE(HAVE_RB_FD_INIT, 1)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-RUBY_DEFINT(int8_t, 1)</div><div class='del'>-RUBY_DEFINT(uint8_t, 1, unsigned)</div><div class='del'>-RUBY_DEFINT(int16_t, 2)</div><div class='del'>-RUBY_DEFINT(uint16_t, 2, unsigned)</div><div class='del'>-RUBY_DEFINT(int32_t, 4)</div><div class='del'>-RUBY_DEFINT(uint32_t, 4, unsigned)</div><div class='del'>-RUBY_DEFINT(int64_t, 8)</div><div class='del'>-RUBY_DEFINT(uint64_t, 8, unsigned)</div><div class='del'>-RUBY_DEFINT(int128_t, 16)</div><div class='del'>-RUBY_DEFINT(uint128_t, 16, unsigned)</div><div class='del'>-RUBY_DEFINT(intptr_t, void*)</div><div class='del'>-RUBY_DEFINT(uintptr_t, void*, unsigned)</div><div class='del'>-AS_IF([test "x$rb_cv_type_intptr_t" != xno], [</div><div class='del'>-    RUBY_CHECK_PRINTF_PREFIX(intptr_t, '' ll I64 l, PTR)</div><div class='del'>-])</div><div class='del'>-RUBY_DEFINT(ssize_t, size_t, [], [@%:@include &lt;sys/types.h&gt;])	dnl may differ from int, so not use AC_TYPE_SSIZE_T.</div><div class='del'>-AS_IF([test "x$rb_cv_type_int64_t" != xno], [</div><div class='del'>-    RUBY_CHECK_PRINTF_PREFIX(int64_t, ll I64 l, 64)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for stack end address, rb_cv_stack_end_address,</div><div class='del'>-[rb_cv_stack_end_address=no</div><div class='del'>-  AC_TRY_LINK(</div><div class='del'>-    [extern void *__libc_stack_end;],</div><div class='del'>-    [if (!__libc_stack_end) return 1;],</div><div class='del'>-    [rb_cv_stack_end_address="__libc_stack_end"])</div><div class='del'>-])</div><div class='del'>-AS_IF([test $rb_cv_stack_end_address != no], [</div><div class='del'>-  AC_DEFINE_UNQUOTED(STACK_END_ADDRESS, $rb_cv_stack_end_address)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-dnl Checks for library functions.</div><div class='del'>-AC_TYPE_GETGROUPS</div><div class='del'>-AC_TYPE_SIGNAL</div><div class='del'>-AS_CASE(["${target_cpu}-${target_os}:${target_archs}"],</div><div class='del'>-[powerpc-darwin*], [</div><div class='del'>-  AC_LIBSOURCES(alloca.c)</div><div class='del'>-  AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.${ac_objext}])</div><div class='del'>-  AC_DEFINE(C_ALLOCA)</div><div class='del'>-  AC_DEFINE_UNQUOTED(alloca, alloca)</div><div class='del'>-  ],</div><div class='del'>-[universal-darwin*:*ppc*], [</div><div class='del'>-  AC_LIBSOURCES(alloca.c)</div><div class='del'>-  AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.${ac_objext}])</div><div class='del'>-  RUBY_DEFINE_IF([defined __powerpc__], C_ALLOCA, 1)</div><div class='del'>-  RUBY_DEFINE_IF([defined __powerpc__], alloca, alloca)</div><div class='del'>-  ],</div><div class='del'>-[</div><div class='del'>-  AC_FUNC_ALLOCA</div><div class='del'>-  ])</div><div class='del'>-AS_IF([test "x$ALLOCA" = "x"], [</div><div class='del'>-    AC_CACHE_CHECK([for dynamic size alloca], rb_cv_dynamic_alloca, [</div><div class='del'>-    for chk in ok __chkstk; do</div><div class='del'>-	AC_TRY_LINK([</div><div class='del'>-	    @%:@ifdef HAVE_ALLOCA_H</div><div class='del'>-	    @%:@include &lt;alloca.h&gt;</div><div class='del'>-	    @%:@endif</div><div class='del'>-	    void $chk() {}</div><div class='del'>-	    int dynamic_alloca_test;</div><div class='del'>-	    int dynamic_alloca_result;],</div><div class='del'>-	    [dynamic_alloca_result = alloca(dynamic_alloca_test) != 0;],</div><div class='del'>-	    [rb_cv_dynamic_alloca=$chk; break])</div><div class='del'>-    done])</div><div class='del'>-    AS_IF([test "x$rb_cv_dynamic_alloca" = "x__chkstk"], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(RUBY_ALLOCA_CHKSTK, _$rb_cv_dynamic_alloca)</div><div class='del'>-	AS_CASE("$target_cpu",</div><div class='del'>-	[x64|x86_64], [</div><div class='del'>-	    AC_SUBST([ALLOCA], [\${LIBOBJDIR}x86_64-chkstk.${ac_objext}])</div><div class='del'>-	],)</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AC_FUNC_MEMCMP</div><div class='del'>-</div><div class='del'>-# http://sources.redhat.com/ml/libc-hacker/2005-08/msg00008.html</div><div class='del'>-# Debian GNU/Linux Etch's libc6.1 2.3.6.ds1-13etch5 has this problem.</div><div class='del'>-# Debian GNU/Linux Lenny's libc6.1 2.7-10 has no problem.</div><div class='del'>-AC_CACHE_CHECK(for broken erfc of glibc-2.3.6 on IA64, rb_cv_broken_glibc_ia64_erfc,</div><div class='del'>-  [AC_TRY_RUN([</div><div class='del'>-#include &lt;math.h&gt;</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-   erfc(10000.0);</div><div class='del'>-   return 0;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_broken_glibc_ia64_erfc=no,</div><div class='del'>-	rb_cv_broken_glibc_ia64_erfc=yes,</div><div class='del'>-	rb_cv_broken_glibc_ia64_erfc=no)])</div><div class='del'>-AS_CASE([$rb_cv_broken_glibc_ia64_erfc],[yes],[ac_cv_func_erf=no])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],[freebsd*],[</div><div class='del'>-	 AC_DEFINE(BROKEN_CLOSE)</div><div class='del'>-	 AC_REPLACE_FUNCS(close)</div><div class='del'>-	 ])</div><div class='del'>-</div><div class='del'>-AC_REPLACE_FUNCS(acosh)</div><div class='del'>-AC_REPLACE_FUNCS(cbrt)</div><div class='del'>-AC_REPLACE_FUNCS(crypt)</div><div class='del'>-AC_REPLACE_FUNCS(dup2)</div><div class='del'>-AC_REPLACE_FUNCS(erf)</div><div class='del'>-AC_REPLACE_FUNCS(explicit_bzero)</div><div class='del'>-AC_REPLACE_FUNCS(ffs)</div><div class='del'>-AC_REPLACE_FUNCS(finite)</div><div class='del'>-AC_REPLACE_FUNCS(flock)</div><div class='del'>-AC_REPLACE_FUNCS(hypot)</div><div class='del'>-AC_REPLACE_FUNCS(isinf)</div><div class='del'>-AC_REPLACE_FUNCS(isnan)</div><div class='del'>-AC_REPLACE_FUNCS(lgamma_r)</div><div class='del'>-AC_REPLACE_FUNCS(memmove)</div><div class='del'>-AC_REPLACE_FUNCS(nan)</div><div class='del'>-AC_REPLACE_FUNCS(nextafter)</div><div class='del'>-AC_REPLACE_FUNCS(setproctitle)</div><div class='del'>-AC_REPLACE_FUNCS(strchr)</div><div class='del'>-AC_REPLACE_FUNCS(strerror)</div><div class='del'>-AC_REPLACE_FUNCS(strlcat)</div><div class='del'>-AC_REPLACE_FUNCS(strlcpy)</div><div class='del'>-AC_REPLACE_FUNCS(strstr)</div><div class='del'>-AC_REPLACE_FUNCS(tgamma)</div><div class='del'>-</div><div class='del'>-# for missing/setproctitle.c</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)],</div><div class='del'>-[hpux*], [AC_DEFINE(SPT_TYPE,SPT_PSTAT) ],</div><div class='del'>-[])</div><div class='del'>-AC_CHECK_HEADERS(sys/pstat.h)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for signbit, rb_cv_have_signbit,</div><div class='del'>-  [AC_TRY_LINK([</div><div class='del'>-#include &lt;math.h&gt;</div><div class='del'>-], [int v = signbit(-0.0);],</div><div class='del'>-	rb_cv_have_signbit=yes,</div><div class='del'>-	rb_cv_have_signbit=no)])</div><div class='del'>-AS_IF([test "$rb_cv_have_signbit" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_SIGNBIT)</div><div class='del'>-], [</div><div class='del'>-  AC_LIBOBJ([signbit])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for broken memmem, rb_cv_broken_memmem, [</div><div class='del'>-    AC_TRY_RUN([</div><div class='del'>-@%:@include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main(int argc, char **argv)</div><div class='del'>-{</div><div class='del'>-    const char *str = "hogefugafoobar";</div><div class='del'>-    const char *rs = "foo";</div><div class='del'>-    const char *empty = "";</div><div class='del'>-    char *p;</div><div class='del'>-</div><div class='del'>-    p = memmem(str, strlen(str), rs, strlen(rs));</div><div class='del'>-    if (p == str+8) {</div><div class='del'>-	p = memmem(str, strlen(str), empty, strlen(empty));</div><div class='del'>-	if (p == str)</div><div class='del'>-	    return 0;</div><div class='del'>-    }</div><div class='del'>-    return 1;</div><div class='del'>-}</div><div class='del'>-    ],</div><div class='del'>-    rb_cv_broken_memmem=no,</div><div class='del'>-    rb_cv_broken_memmem=yes,</div><div class='del'>-    rb_cv_broken_memmem=yes)</div><div class='del'>-])</div><div class='del'>-test x"$rb_cv_broken_memmem" = xyes &amp;&amp; ac_cv_func_memmem=no</div><div class='del'>-</div><div class='del'>-AC_FUNC_FORK</div><div class='del'>-</div><div class='del'>-AC_CHECK_FUNCS(__syscall)</div><div class='del'>-AC_CHECK_FUNCS(_longjmp)		# used for AC_ARG_WITH(setjmp-type)</div><div class='del'>-# we don't use _setjmp if _longjmp doesn't exist.</div><div class='del'>-test x$ac_cv_func__longjmp = xno &amp;&amp; ac_cv_func__setjmp=no</div><div class='del'>-AC_CHECK_FUNCS(arc4random_buf)</div><div class='del'>-AC_CHECK_FUNCS(atan2l atan2f)</div><div class='del'>-AC_CHECK_FUNCS(chroot)</div><div class='del'>-AC_CHECK_FUNCS(chsize)</div><div class='del'>-AC_CHECK_FUNCS(clock_gettime)</div><div class='del'>-AC_CHECK_FUNCS(cosh)</div><div class='del'>-AC_CHECK_FUNCS(crypt_r)</div><div class='del'>-AC_CHECK_FUNCS(daemon)</div><div class='del'>-AC_CHECK_FUNCS(dirfd)</div><div class='del'>-AC_CHECK_FUNCS(dl_iterate_phdr)</div><div class='del'>-AC_CHECK_FUNCS(dlopen)</div><div class='del'>-AC_CHECK_FUNCS(dladdr)</div><div class='del'>-AC_CHECK_FUNCS(dup)</div><div class='del'>-AC_CHECK_FUNCS(dup3)</div><div class='del'>-AC_CHECK_FUNCS(eaccess)</div><div class='del'>-AC_CHECK_FUNCS(endgrent)</div><div class='del'>-AC_CHECK_FUNCS(eventfd)</div><div class='del'>-AC_CHECK_FUNCS(fchmod)</div><div class='del'>-AC_CHECK_FUNCS(fchown)</div><div class='del'>-AC_CHECK_FUNCS(fcntl)</div><div class='del'>-AC_CHECK_FUNCS(fdatasync)</div><div class='del'>-AC_CHECK_FUNCS(fdopendir)</div><div class='del'>-AC_CHECK_FUNCS(fgetattrlist)</div><div class='del'>-AC_CHECK_FUNCS(fmod)</div><div class='del'>-AC_CHECK_FUNCS(fstatat)</div><div class='del'>-AC_CHECK_FUNCS(fsync)</div><div class='del'>-AC_CHECK_FUNCS(ftruncate)</div><div class='del'>-AC_CHECK_FUNCS(ftruncate64)		# used for Win32 platform</div><div class='del'>-AC_CHECK_FUNCS(getattrlist)</div><div class='del'>-AC_CHECK_FUNCS(getcwd)</div><div class='del'>-AC_CHECK_FUNCS(getgidx)</div><div class='del'>-AC_CHECK_FUNCS(getgrnam)</div><div class='del'>-AC_CHECK_FUNCS(getgrnam_r)</div><div class='del'>-AC_CHECK_FUNCS(getgroups)</div><div class='del'>-AC_CHECK_FUNCS(getpgid)</div><div class='del'>-AC_CHECK_FUNCS(getpgrp)</div><div class='del'>-AC_CHECK_FUNCS(getpriority)</div><div class='del'>-AC_CHECK_FUNCS(getpwnam_r)</div><div class='del'>-AC_CHECK_FUNCS(getresgid)</div><div class='del'>-AC_CHECK_FUNCS(getresuid)</div><div class='del'>-AC_CHECK_FUNCS(getrlimit)</div><div class='del'>-AC_CHECK_FUNCS(getsid)</div><div class='del'>-AC_CHECK_FUNCS(gettimeofday)		# for making ac_cv_func_gettimeofday</div><div class='del'>-AC_CHECK_FUNCS(getuidx)</div><div class='del'>-AC_CHECK_FUNCS(gmtime_r)</div><div class='del'>-AC_CHECK_FUNCS(grantpt)</div><div class='del'>-AC_CHECK_FUNCS(initgroups)</div><div class='del'>-AC_CHECK_FUNCS(ioctl)</div><div class='del'>-AC_CHECK_FUNCS(isfinite)</div><div class='del'>-AC_CHECK_FUNCS(issetugid)</div><div class='del'>-AC_CHECK_FUNCS(killpg)</div><div class='del'>-AC_CHECK_FUNCS(lchmod)</div><div class='del'>-AC_CHECK_FUNCS(lchown)</div><div class='del'>-AC_CHECK_FUNCS(link)</div><div class='del'>-AC_CHECK_FUNCS(llabs)</div><div class='del'>-AC_CHECK_FUNCS(lockf)</div><div class='del'>-AC_CHECK_FUNCS(log2)</div><div class='del'>-AC_CHECK_FUNCS(lstat)</div><div class='del'>-AC_CHECK_FUNCS(lutimes)</div><div class='del'>-AC_CHECK_FUNCS(malloc_usable_size)</div><div class='del'>-AC_CHECK_FUNCS(malloc_size)</div><div class='del'>-AC_CHECK_FUNCS(mblen)</div><div class='del'>-AC_CHECK_FUNCS(memalign)</div><div class='del'>-AC_CHECK_FUNCS(memset_s)</div><div class='del'>-AC_CHECK_FUNCS(writev)</div><div class='del'>-AC_CHECK_FUNCS(memrchr)</div><div class='del'>-AC_CHECK_FUNCS(memmem)</div><div class='del'>-AC_CHECK_FUNCS(mkfifo)</div><div class='del'>-AC_CHECK_FUNCS(mknod)</div><div class='del'>-AC_CHECK_FUNCS(mktime)</div><div class='del'>-AC_CHECK_FUNCS(openat)</div><div class='del'>-AC_CHECK_FUNCS(pipe2)</div><div class='del'>-AC_CHECK_FUNCS(poll)</div><div class='del'>-AC_CHECK_FUNCS(posix_fadvise)</div><div class='del'>-AC_CHECK_FUNCS(posix_memalign)</div><div class='del'>-AC_CHECK_FUNCS(ppoll)</div><div class='del'>-AC_CHECK_FUNCS(pread)</div><div class='del'>-AC_CHECK_FUNCS(pwrite)</div><div class='del'>-AC_CHECK_FUNCS(qsort_r)</div><div class='del'>-AC_CHECK_FUNCS(qsort_s)</div><div class='del'>-AC_CHECK_FUNCS(readlink)</div><div class='del'>-AC_CHECK_FUNCS(round)</div><div class='del'>-AC_CHECK_FUNCS(sched_getaffinity)</div><div class='del'>-AC_CHECK_FUNCS(seekdir)</div><div class='del'>-AC_CHECK_FUNCS(select_large_fdset)</div><div class='del'>-AC_CHECK_FUNCS(sendfile)</div><div class='del'>-AC_CHECK_FUNCS(setegid)</div><div class='del'>-AC_CHECK_FUNCS(setenv)</div><div class='del'>-AC_CHECK_FUNCS(seteuid)</div><div class='del'>-AC_CHECK_FUNCS(setgid)</div><div class='del'>-AC_CHECK_FUNCS(setgroups)</div><div class='del'>-AC_CHECK_FUNCS(setpgid)</div><div class='del'>-AC_CHECK_FUNCS(setpgrp)</div><div class='del'>-AC_CHECK_FUNCS(setregid)</div><div class='del'>-AC_CHECK_FUNCS(setresgid)</div><div class='del'>-AC_CHECK_FUNCS(setresuid)</div><div class='del'>-AC_CHECK_FUNCS(setreuid)</div><div class='del'>-AC_CHECK_FUNCS(setrgid)</div><div class='del'>-AC_CHECK_FUNCS(setrlimit)</div><div class='del'>-AC_CHECK_FUNCS(setruid)</div><div class='del'>-AC_CHECK_FUNCS(setsid)</div><div class='del'>-AC_CHECK_FUNCS(setuid)</div><div class='del'>-AC_CHECK_FUNCS(shutdown)</div><div class='del'>-AC_CHECK_FUNCS(sigaction)</div><div class='del'>-AC_CHECK_FUNCS(sigaltstack)</div><div class='del'>-AC_CHECK_FUNCS(sigprocmask)</div><div class='del'>-AC_CHECK_FUNCS(sinh)</div><div class='del'>-AC_CHECK_FUNCS(spawnv)</div><div class='del'>-AC_CHECK_FUNCS(symlink)</div><div class='del'>-AC_CHECK_FUNCS(syscall)</div><div class='del'>-AC_CHECK_FUNCS(sysconf)</div><div class='del'>-AC_CHECK_FUNCS(tanh)</div><div class='del'>-AC_CHECK_FUNCS(telldir)</div><div class='del'>-AC_CHECK_FUNCS(timegm)</div><div class='del'>-AC_CHECK_FUNCS(times)</div><div class='del'>-AC_CHECK_FUNCS(truncate)</div><div class='del'>-AC_CHECK_FUNCS(truncate64)		# used for Win32</div><div class='del'>-AC_CHECK_FUNCS(unsetenv)</div><div class='del'>-AC_CHECK_FUNCS(utimensat)</div><div class='del'>-AC_CHECK_FUNCS(utimes)</div><div class='del'>-AC_CHECK_FUNCS(wait4)</div><div class='del'>-AC_CHECK_FUNCS(waitpid)</div><div class='del'>-</div><div class='del'>-AS_CASE(["$ac_cv_func_memset_s:$ac_cv_func_qsort_s"], [*yes*],</div><div class='del'>-    [RUBY_DEFINE_IF([!defined __STDC_WANT_LIB_EXT1__], [__STDC_WANT_LIB_EXT1__], 1)])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_getcwd" = yes], [</div><div class='del'>-    AC_CACHE_CHECK(if getcwd allocates buffer if NULL is given, [rb_cv_getcwd_malloc],</div><div class='del'>-	[AC_TRY_RUN([</div><div class='del'>-@%:@include &lt;stddef.h&gt;</div><div class='del'>-@%:@include &lt;stdio.h&gt;</div><div class='del'>-@%:@ifdef HAVE_UNISTD_H</div><div class='del'>-@%:@include &lt;unistd.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifndef EXIT_SUCCESS</div><div class='del'>-@%:@define EXIT_SUCCESS 0</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifndef EXIT_FAILURE</div><div class='del'>-@%:@define EXIT_FAILURE 1</div><div class='del'>-@%:@endif</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main(int argc, char **argv)</div><div class='del'>-{</div><div class='del'>-    if (!getcwd(NULL, 0)) return EXIT_FAILURE;</div><div class='del'>-    return EXIT_SUCCESS;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	    rb_cv_getcwd_malloc=yes,</div><div class='del'>-	    rb_cv_getcwd_malloc=no,</div><div class='del'>-	    AS_CASE($target_os,</div><div class='del'>-		[linux*|darwin*|*bsd|cygwin*|mingw*|mswin*],</div><div class='del'>-		[rb_cv_getcwd_malloc=yes],</div><div class='del'>-		[rb_cv_getcwd_malloc=no]))])</div><div class='del'>-    AS_IF([test "$rb_cv_getcwd_malloc" = no], [AC_DEFINE(NO_GETCWD_MALLOC, 1)])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_crypt_r" = yes],</div><div class='del'>-    [AC_CHECK_HEADERS(crypt.h)])</div><div class='del'>-AS_IF([test "$ac_cv_func_crypt_r:$ac_cv_header_crypt_h" = yes:yes],</div><div class='del'>-    [AC_CHECK_MEMBERS([struct crypt_data.initialized], [], [],</div><div class='del'>-		      [AC_INCLUDES_DEFAULT([@%:@include &lt;crypt.h&gt;])])])</div><div class='del'>-</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_alloca_with_align, [__builtin_alloca_with_align(1, 4096)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_assume_aligned, [__builtin_assume_aligned((void*)32, 32)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap16, [__builtin_bswap16(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap32, [__builtin_bswap32(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap64, [__builtin_bswap64(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_popcount, [__builtin_popcount(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_popcountll, [__builtin_popcountll(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_clz, [__builtin_clz(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_clzl, [__builtin_clzl(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_clzll, [__builtin_clzll(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_ctz, [__builtin_ctz(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_ctzll, [__builtin_ctzll(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_add_overflow, [int x;__builtin_add_overflow(0,0,&amp;x)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_sub_overflow, [int x;__builtin_sub_overflow(0,0,&amp;x)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_mul_overflow, [int x;__builtin_mul_overflow(0,0,&amp;x)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_mul_overflow_p, [__builtin_mul_overflow_p(0,0,(int)0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_constant_p, [__builtin_constant_p(0)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr, [</div><div class='del'>-    [int x[__extension__(__builtin_choose_expr(1, 1, -1))]];</div><div class='del'>-    [int y[__extension__(__builtin_choose_expr(0, -1, 1))]];</div><div class='del'>-    ])</div><div class='del'>-AS_IF([test x$rb_cv_builtin___builtin_choose_expr = xyes], [</div><div class='del'>-    RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr_constant_p, [</div><div class='del'>-    [int x[__extension__(__builtin_choose_expr(__builtin_constant_p(1), 1, -1))]];</div><div class='del'>-    [int y[__extension__(__builtin_choose_expr(__builtin_constant_p(foo), -1, 1))]];</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_types_compatible_p, [__builtin_types_compatible_p(int, int)])</div><div class='del'>-RUBY_CHECK_BUILTIN_FUNC(__builtin_trap, [__builtin_trap()])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_qsort_r" != no], [</div><div class='del'>-  AC_CACHE_CHECK(whether qsort_r is GNU version, rb_cv_gnu_qsort_r,</div><div class='del'>-    [AC_TRY_COMPILE([</div><div class='del'>-@%:@include &lt;stdlib.h&gt;</div><div class='del'>-void (qsort_r)(void *base, size_t nmemb, size_t size,</div><div class='del'>-	    int (*compar)(const void *, const void *, void *),</div><div class='del'>-	    void *arg);</div><div class='del'>-],[ ],</div><div class='del'>-      [rb_cv_gnu_qsort_r=yes],</div><div class='del'>-      [rb_cv_gnu_qsort_r=no])</div><div class='del'>-  ])</div><div class='del'>-  AC_CACHE_CHECK(whether qsort_r is BSD version, rb_cv_bsd_qsort_r,</div><div class='del'>-    [AC_TRY_COMPILE([</div><div class='del'>-@%:@include &lt;stdlib.h&gt;</div><div class='del'>-void (qsort_r)(void *base, size_t nmemb, size_t size,</div><div class='del'>-	     void *arg, int (*compar)(void *, const void *, const void *));</div><div class='del'>-],[ ],</div><div class='del'>-      [rb_cv_bsd_qsort_r=yes],</div><div class='del'>-      [rb_cv_bsd_qsort_r=no])</div><div class='del'>-  ])</div><div class='del'>-  AS_CASE("$rb_cv_gnu_qsort_r:$rb_cv_bsd_qsort_r",</div><div class='del'>-  [yes:no], [</div><div class='del'>-    AC_DEFINE(HAVE_GNU_QSORT_R, 1)</div><div class='del'>-  ],</div><div class='del'>-  [no:yes], [</div><div class='del'>-    AC_DEFINE(HAVE_BSD_QSORT_R, 1)</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(whether atan2 handles Inf as C99, rb_cv_atan2_inf_c99, [</div><div class='del'>-    AS_IF([test $ac_cv_func_atan2f:$ac_cv_func_atan2l = yes:yes], [</div><div class='del'>-	AC_TRY_RUN([</div><div class='del'>-@%:@include &lt;math.h&gt;</div><div class='del'>-@%:@ifdef HAVE_UNISTD_H</div><div class='del'>-@%:@include &lt;unistd.h&gt;</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifndef EXIT_SUCCESS</div><div class='del'>-@%:@define EXIT_SUCCESS 0</div><div class='del'>-@%:@endif</div><div class='del'>-@%:@ifndef EXIT_FAILURE</div><div class='del'>-@%:@define EXIT_FAILURE 1</div><div class='del'>-@%:@endif</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main(int argc, char **argv)</div><div class='del'>-{</div><div class='del'>-    if (fabs(atan2(INFINITY, INFINITY) - M_PI_4) &lt;= 0.01) return EXIT_SUCCESS;</div><div class='del'>-    return EXIT_FAILURE;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	[rb_cv_atan2_inf_c99=yes],</div><div class='del'>-	[rb_cv_atan2_inf_c99=no],</div><div class='del'>-	[AS_CASE($target_os, [mingw*|mswin*], [rb_cv_atan2_inf_c99=no], [rb_cv_atan2_inf_c99=yes])]</div><div class='del'>-	)</div><div class='del'>-    ], [rb_cv_atan2_inf_c99=no])</div><div class='del'>-])</div><div class='del'>-AS_IF([test "x$rb_cv_atan2_inf_c99" = xyes], [AC_DEFINE(ATAN2_INF_C99)])</div><div class='del'>-</div><div class='del'>-# Some platform need -lrt for clock_gettime, but the other don't.</div><div class='del'>-AS_IF([test x"$ac_cv_func_clock_gettime" != xyes], [</div><div class='del'>-    # glibc 2.17 moves clock_* functions from librt to the main C library.</div><div class='del'>-    # http://sourceware.org/ml/libc-announce/2012/msg00001.html</div><div class='del'>-    AC_CHECK_LIB(rt, clock_gettime)</div><div class='del'>-    AS_IF([test x"$ac_cv_lib_rt_clock_gettime" = xyes], [</div><div class='del'>-	AC_DEFINE(HAVE_CLOCK_GETTIME, 1)</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AC_CHECK_FUNCS(clock_getres) # clock_getres should be tested after clock_gettime test including librt test.</div><div class='del'>-AC_CHECK_LIB([rt], [timer_create])</div><div class='del'>-AC_CHECK_LIB([rt], [timer_settime])</div><div class='del'>-AS_IF([test x"$ac_cv_lib_rt_timer_create" = xyes], [</div><div class='del'>-    AC_DEFINE(HAVE_TIMER_CREATE, 1)</div><div class='del'>-])</div><div class='del'>-AS_IF([test x"$ac_cv_lib_rt_timer_settime" = xyes], [</div><div class='del'>-    AC_DEFINE(HAVE_TIMER_SETTIME, 1)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for unsetenv returns a value, rb_cv_unsetenv_return_value,</div><div class='del'>-  [AC_TRY_COMPILE([</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-], [int v = unsetenv("foo");],</div><div class='del'>-	rb_cv_unsetenv_return_value=yes,</div><div class='del'>-	rb_cv_unsetenv_return_value=no)])</div><div class='del'>-AS_IF([test "$rb_cv_unsetenv_return_value" = no], [</div><div class='del'>-  AC_DEFINE(VOID_UNSETENV)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-# End of setjmp check.</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(setreuid,</div><div class='del'>-       AS_HELP_STRING([--enable-setreuid], [use setreuid()/setregid() according to need even if obsolete]),</div><div class='del'>-       [use_setreuid=$enableval])</div><div class='del'>-AS_IF([test "$use_setreuid" = yes], [</div><div class='del'>-    AC_DEFINE(USE_SETREUID)</div><div class='del'>-    AC_DEFINE(USE_SETREGID)</div><div class='del'>-])</div><div class='del'>-AC_STRUCT_TIMEZONE</div><div class='del'>-AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff,</div><div class='del'>-  [AC_TRY_COMPILE([</div><div class='del'>-@%:@define _BSD_SOURCE</div><div class='del'>-@%:@define _DEFAULT_SOURCE</div><div class='del'>-@%:@include &lt;time.h&gt;</div><div class='del'>-   ],</div><div class='del'>-    [struct tm t; t.tm_gmtoff = 3600;],</div><div class='del'>-  [rb_cv_member_struct_tm_tm_gmtoff=yes],</div><div class='del'>-  [rb_cv_member_struct_tm_tm_gmtoff=no])])</div><div class='del'>-AS_IF([test "$rb_cv_member_struct_tm_tm_gmtoff" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_STRUCT_TM_TM_GMTOFF)</div><div class='del'>-])</div><div class='del'>-AC_CACHE_CHECK(for external int daylight, rb_cv_have_daylight,</div><div class='del'>-  [AC_TRY_LINK([#include &lt;time.h&gt;</div><div class='del'>-  int i;],</div><div class='del'>-	[i = daylight;],</div><div class='del'>-	rb_cv_have_daylight=yes,</div><div class='del'>-	rb_cv_have_daylight=no)])</div><div class='del'>-AS_IF([test "$rb_cv_have_daylight" = yes], [</div><div class='del'>-  AC_DEFINE(HAVE_DAYLIGHT)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for negative time_t for gmtime(3), rb_cv_negative_time_t,</div><div class='del'>-  [AC_TRY_RUN([</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;time.h&gt;</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-check(tm, y, m, d, h, s)</div><div class='del'>-    struct tm *tm;</div><div class='del'>-    int y, m, d, h, s;</div><div class='del'>-{</div><div class='del'>-    if (!tm ||</div><div class='del'>-	tm-&gt;tm_year != y ||</div><div class='del'>-	tm-&gt;tm_mon  != m-1 ||</div><div class='del'>-	tm-&gt;tm_mday != d ||</div><div class='del'>-	tm-&gt;tm_hour != h ||</div><div class='del'>-	tm-&gt;tm_sec  != s) {</div><div class='del'>-	exit(1);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-   time_t t = -1;</div><div class='del'>-   struct tm *tm;</div><div class='del'>-</div><div class='del'>-   check(gmtime(&amp;t), 69, 12, 31, 23, 59);</div><div class='del'>-   t = ~(time_t)0 &lt;&lt; 31;</div><div class='del'>-   check(gmtime(&amp;t), 1, 12, 13, 20, 52);</div><div class='del'>-   return 0;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_negative_time_t=yes,</div><div class='del'>-	rb_cv_negative_time_t=no,</div><div class='del'>-	rb_cv_negative_time_t=yes)])</div><div class='del'>-AS_IF([test "$rb_cv_negative_time_t" = yes], [</div><div class='del'>-  AC_DEFINE(NEGATIVE_TIME_T)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-# [ruby-dev:40910] overflow of time on FreeBSD</div><div class='del'>-# http://www.freebsd.org/cgi/query-pr.cgi?pr=145341</div><div class='del'>-AC_CACHE_CHECK(for localtime(3) overflow correctly, rb_cv_localtime_overflow,</div><div class='del'>-  [AC_TRY_RUN([</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;time.h&gt;</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-check(time_t t1)</div><div class='del'>-{</div><div class='del'>-    struct tm *tm;</div><div class='del'>-    time_t t2;</div><div class='del'>-    tm = localtime(&amp;t1);</div><div class='del'>-    if (!tm)</div><div class='del'>-	return; /* overflow detected.  ok. */</div><div class='del'>-    t2 = mktime(tm);</div><div class='del'>-    if (t1 == t2)</div><div class='del'>-        return; /* round-trip.  ok. */</div><div class='del'>-    exit(1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-    time_t t;</div><div class='del'>-    if (~(time_t)0 &lt;= 0) {</div><div class='del'>-        t = (((time_t)1) &lt;&lt; (sizeof(time_t) * 8 - 2));</div><div class='del'>-        t |= t - 1;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        t = ~(time_t)0;</div><div class='del'>-    }</div><div class='del'>-    check(t);</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_localtime_overflow=yes,</div><div class='del'>-	rb_cv_localtime_overflow=no,</div><div class='del'>-	rb_cv_localtime_overflow=no)])</div><div class='del'>-AS_IF([test "$rb_cv_localtime_overflow" = no], [</div><div class='del'>-  AC_DEFINE(LOCALTIME_OVERFLOW_PROBLEM)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_sigprocmask" = yes &amp;&amp; test "$ac_cv_func_sigaction" = yes], [</div><div class='del'>-   AC_DEFINE(POSIX_SIGNAL)</div><div class='del'>-], [</div><div class='del'>-  AC_CHECK_FUNCS(sigsetmask)</div><div class='del'>-  AC_CACHE_CHECK(for BSD signal semantics, rb_cv_bsd_signal,</div><div class='del'>-    [AC_TRY_RUN([</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;signal.h&gt;</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-sig_handler(dummy)</div><div class='del'>-     int dummy;</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  signal(SIGINT, sig_handler);</div><div class='del'>-  kill(getpid(), SIGINT);</div><div class='del'>-  kill(getpid(), SIGINT);</div><div class='del'>-  return 0;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_bsd_signal=yes,</div><div class='del'>-	rb_cv_bsd_signal=no,</div><div class='del'>-	rb_cv_bsd_signal=$ac_cv_func_sigsetmask)])</div><div class='del'>-  AS_IF([test "$rb_cv_bsd_signal" = yes], [</div><div class='del'>-    AC_DEFINE(BSD_SIGNAL)</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CHECK_TYPES([sig_t],[],[],[@%:@include &lt;signal.h&gt;])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_getpgid" = no], [</div><div class='del'>-  # AC_FUNC_GETPGRP fails when cross-compiling with old autoconf.</div><div class='del'>-  # autoconf is changed between 2.52d and 2.52f?</div><div class='del'>-  # http://lists.gnu.org/archive/html/bug-gnu-utils/2001-09/msg00181.html</div><div class='del'>-  # "autoconf cleanup for AC_FUNC_GETPGRP and GETPGRP_VOID"</div><div class='del'>-AC_FUNC_GETPGRP</div><div class='del'>-])</div><div class='del'>-AS_IF([test "$ac_cv_func_setpgid:$ac_cv_func_setpgrp" = no:yes], [</div><div class='del'>-  # AC_FUNC_SETPGRP fails when cross-compiling.  (until autoconf 2.69?)</div><div class='del'>-  # https://lists.gnu.org/archive/html/bug-autoconf/2013-02/msg00002.html</div><div class='del'>-  # "AC_FUNC_SETPGRP fails to work properly when cross-compiling"</div><div class='del'>-AC_FUNC_SETPGRP</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test x"$ac_cv_func_dirfd" = xno], [</div><div class='del'>-  AS_CASE(["$target_os"],[solaris*],</div><div class='del'>-          [AC_CHECK_MEMBERS([DIR.d_fd, DIR.dd_fd],,,[</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;dirent.h&gt;</div><div class='del'>-])])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test x"$target_cpu" = xia64], [</div><div class='del'>-    AC_LIBOBJ([ia64])</div><div class='del'>-    AC_CACHE_CHECK(for __libc_ia64_register_backing_store_base,</div><div class='del'>-                   rb_cv___libc_ia64_register_backing_store_base,</div><div class='del'>-    [rb_cv___libc_ia64_register_backing_store_base=no</div><div class='del'>-    AC_TRY_LINK(</div><div class='del'>-      [extern unsigned long __libc_ia64_register_backing_store_base;],</div><div class='del'>-      [unsigned long p = __libc_ia64_register_backing_store_base;</div><div class='del'>-       printf("%ld\n", p);],</div><div class='del'>-      [rb_cv___libc_ia64_register_backing_store_base=yes])])</div><div class='del'>-    AS_IF([test $rb_cv___libc_ia64_register_backing_store_base = yes], [</div><div class='del'>-      AC_DEFINE(HAVE___LIBC_IA64_REGISTER_BACKING_STORE_BASE)</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign,</div><div class='del'>-    [AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [(-1==(-1&gt;&gt;1))])],</div><div class='del'>-	rb_cv_rshift_sign=yes,</div><div class='del'>-	rb_cv_rshift_sign=no)])</div><div class='del'>-AS_IF([test "$rb_cv_rshift_sign" = yes], [</div><div class='del'>-  AC_DEFINE(RSHIFT(x,y), ((x)&gt;&gt;(int)(y)))</div><div class='del'>-], [</div><div class='del'>-  AC_DEFINE(RSHIFT(x,y), (((x)&lt;0) ? ~((~(x))&gt;&gt;(int)(y)) : (x)&gt;&gt;(int)(y)))</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$ac_cv_func_gettimeofday:$ac_cv_func_clock_gettime"],</div><div class='del'>-[*yes*], [],</div><div class='del'>-[</div><div class='del'>-    AC_MSG_ERROR(clock_gettime() or gettimeofday() must exist)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_sysconf" = yes], [</div><div class='del'>-  RUBY_CHECK_SYSCONF(CLK_TCK)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "${universal_binary-no}" = yes ], [</div><div class='del'>-    archflagpat=`eval echo '"'"${ARCH_FLAG}"'"' | sed 's/[[][|.*]]/\\&amp;/g'`</div><div class='del'>-    save_CFLAGS="$CFLAGS" new_cflags=`echo "$CFLAGS" | sed "s|$archflagpat"'||'`</div><div class='del'>-    save_LDFLAGS="$LDFLAGS" new_ldflags=`echo "$LDFLAGS" | sed "s|$archflagpat"'||'`</div><div class='del'>-    stack_dir=</div><div class='del'>-    for archs in ${universal_archnames}; do</div><div class='del'>-	archs=`echo $archs | sed 's/=.*//'`</div><div class='del'>-	CFLAGS="$new_cflags -arch $archs"</div><div class='del'>-	LDFLAGS="$new_ldflags -arch $archs"</div><div class='del'>-	RUBY_STACK_GROW_DIRECTION($archs, dir)</div><div class='del'>-	AS_IF([test x$stack_dir = x], [</div><div class='del'>-	    stack_dir=$dir</div><div class='del'>-	], [test x$stack_dir != x$dir], [</div><div class='del'>-	    stack_dir=no</div><div class='del'>-	])</div><div class='del'>-    done</div><div class='del'>-    CFLAGS="$save_CFLAGS" LDFLAGS="$save_LDFLAGS"</div><div class='del'>-    AS_IF([test x$stack_dir = xno], [</div><div class='del'>-	for archs in ${universal_archnames}; do</div><div class='del'>-	    archs=`echo $archs | sed 's/=.*//'`</div><div class='del'>-	    eval dir=\$[rb_cv_stack_grow_dir_]AS_TR_SH([$archs])</div><div class='del'>-	    RUBY_DEFINE_IF([defined __${archs}__], STACK_GROW_DIRECTION, $dir)</div><div class='del'>-	done</div><div class='del'>-    ], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $stack_dir)</div><div class='del'>-    ])</div><div class='del'>-], [</div><div class='del'>-    RUBY_STACK_GROW_DIRECTION($target_cpu, dir)</div><div class='del'>-    AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $dir)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(fiber-coroutine,</div><div class='del'>-    AS_HELP_STRING([--disable-fiber-coroutine], [disable native coroutine implementation for fiber]),</div><div class='del'>-    [rb_cv_fiber_coroutine=$enableval])</div><div class='del'>-AS_CASE(["$rb_cv_fiber_coroutine"], [yes|''], [</div><div class='del'>-    AC_MSG_CHECKING(native coroutine implementation for ${target_cpu}-${target_os})</div><div class='del'>-    AS_CASE(["$target_cpu-$target_os"],</div><div class='del'>-	[x*64-darwin*], [</div><div class='del'>-	    rb_cv_fiber_coroutine=amd64</div><div class='del'>-	],</div><div class='del'>-	[x*64-linux], [</div><div class='del'>-	    AS_CASE(["$ac_cv_sizeof_voidp"],</div><div class='del'>-	        [8], [ rb_cv_fiber_coroutine=amd64 ],</div><div class='del'>-	        [4], [ rb_cv_fiber_coroutine=x86 ],</div><div class='del'>-		[*], [ rb_cv_fiber_coroutine= ]</div><div class='del'>-	    )</div><div class='del'>-	],</div><div class='del'>-	[*86-linux], [</div><div class='del'>-	    rb_cv_fiber_coroutine=x86</div><div class='del'>-	],</div><div class='del'>-	[x64-mingw32], [</div><div class='del'>-	    rb_cv_fiber_coroutine=win64</div><div class='del'>-	],</div><div class='del'>-	[powerpc64le-linux], [</div><div class='del'>-	    rb_cv_fiber_coroutine=ppc64le</div><div class='del'>-	],</div><div class='del'>-	[*], [</div><div class='del'>-	    rb_cv_fiber_coroutine=</div><div class='del'>-	]</div><div class='del'>-    )</div><div class='del'>-    AC_MSG_RESULT(${rb_cv_fiber_coroutine:-no})</div><div class='del'>-])</div><div class='del'>-AS_IF([test "${rb_cv_fiber_coroutine:-no}" != no], [</div><div class='del'>-    COROUTINE_H=coroutine/$rb_cv_fiber_coroutine/Context.h</div><div class='del'>-    AC_DEFINE_UNQUOTED(FIBER_USE_COROUTINE, ["$COROUTINE_H"])</div><div class='del'>-    AC_SUBST(X_FIBER_COROUTINE_H, [$COROUTINE_H])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test x"$enable_pthread" = xyes], [</div><div class='del'>-    for pthread_lib in thr pthread pthreads c c_r root; do</div><div class='del'>-	AC_CHECK_LIB($pthread_lib, pthread_create,</div><div class='del'>-		     rb_with_pthread=yes, rb_with_pthread=no)</div><div class='del'>-	AS_IF([test "$rb_with_pthread" = "yes"], [break])</div><div class='del'>-    done</div><div class='del'>-    AS_IF([test x"$rb_with_pthread" = xyes], [</div><div class='del'>-	AC_DEFINE(_REENTRANT)</div><div class='del'>-	AC_DEFINE(_THREAD_SAFE)</div><div class='del'>-	AC_DEFINE(HAVE_LIBPTHREAD)</div><div class='del'>-	AC_CHECK_HEADERS(pthread_np.h, [], [], [@%:@include &lt;pthread.h&gt;])</div><div class='del'>-	AS_CASE(["$pthread_lib:$target_os"],</div><div class='del'>-		[c:*], [],</div><div class='del'>-		[root:*], [],</div><div class='del'>-		[c_r:*|*:openbsd*|*:mirbsd*],  [LIBS="-pthread $LIBS"],</div><div class='del'>-		[LIBS="-l$pthread_lib $LIBS"])</div><div class='del'>-    ], [</div><div class='del'>-	AC_MSG_WARN("Don't know how to find pthread library on your system -- thread support disabled")</div><div class='del'>-    ])</div><div class='del'>-    AC_CACHE_CHECK([whether pthread_t is scalar type], [rb_cv_scalar_pthread_t], [</div><div class='del'>-	AC_TRY_COMPILE([</div><div class='del'>-	    @%:@include &lt;pthread.h&gt;</div><div class='del'>-	    ], [</div><div class='del'>-	    pthread_t thread_id;</div><div class='del'>-	    thread_id = 0;</div><div class='del'>-	    if (!thread_id) return 0;</div><div class='del'>-	    ], [rb_cv_scalar_pthread_t=yes], [rb_cv_scalar_pthread_t=no])</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test x"$rb_cv_scalar_pthread_t" = xyes], [</div><div class='del'>-	: # RUBY_CHECK_SIZEOF(pthread_t, [void* int long], [], [@%:@include &lt;pthread.h&gt;])</div><div class='del'>-    ], [</div><div class='del'>-	AC_DEFINE(NON_SCALAR_THREAD_ID)</div><div class='del'>-    ])</div><div class='del'>-    AC_CHECK_FUNCS(sched_yield pthread_attr_setinheritsched \</div><div class='del'>-	pthread_attr_get_np pthread_attr_getstack pthread_attr_getguardsize \</div><div class='del'>-	pthread_get_stackaddr_np pthread_get_stacksize_np \</div><div class='del'>-	thr_stksegment pthread_stackseg_np pthread_getthrds_np \</div><div class='del'>-	pthread_condattr_setclock \</div><div class='del'>-	pthread_sigmask pthread_setname_np pthread_set_name_np)</div><div class='del'>-    AS_CASE(["$target_os"],[aix*],[ac_cv_func_pthread_getattr_np=no],[AC_CHECK_FUNCS(pthread_getattr_np)])</div><div class='del'>-    set_current_thread_name=</div><div class='del'>-    AS_IF([test "$ac_cv_func_pthread_setname_np" = yes], [</div><div class='del'>-	AC_CACHE_CHECK([arguments of pthread_setname_np], [rb_cv_func_pthread_setname_np_arguments],</div><div class='del'>-	    [rb_cv_func_pthread_setname_np_arguments=</div><div class='del'>-	    # Linux,AIX,  (pthread_self(), name)</div><div class='del'>-	    # NetBSD (pthread_self(), name, \"%s\")</div><div class='del'>-	    # Darwin (name)</div><div class='del'>-	    for mac in \</div><div class='del'>-		"(pthread_self(), name)" \</div><div class='del'>-		"(pthread_self(), name, \"%s\")" \</div><div class='del'>-		"(name)" \</div><div class='del'>-		; do</div><div class='del'>-		AC_TRY_COMPILE([</div><div class='del'>-		    @%:@include &lt;pthread.h&gt;</div><div class='del'>-		    @%:@ifdef HAVE_PTHREAD_NP_H</div><div class='del'>-		    @%:@include &lt;pthread_np.h&gt;</div><div class='del'>-		    @%:@endif</div><div class='del'>-		    @%:@define SET_THREAD_NAME(name) pthread_setname_np${mac}</div><div class='del'>-		    ],</div><div class='del'>-		    [if (SET_THREAD_NAME("conftest")) return 1;],</div><div class='del'>-		    [rb_cv_func_pthread_setname_np_arguments="${mac}"</div><div class='del'>-		    break])</div><div class='del'>-	    done</div><div class='del'>-	    ]</div><div class='del'>-	)</div><div class='del'>-	AS_IF([test -n "${rb_cv_func_pthread_setname_np_arguments}"], [</div><div class='del'>-	    set_current_thread_name="pthread_setname_np${rb_cv_func_pthread_setname_np_arguments}"</div><div class='del'>-	])</div><div class='del'>-    ], [test "$ac_cv_func_pthread_set_name_np" = yes], [</div><div class='del'>-	set_current_thread_name="pthread_set_name_np(pthread_self(), name)"</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test -n "$set_current_thread_name"], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(SET_CURRENT_THREAD_NAME(name), $set_current_thread_name)</div><div class='del'>-	AS_CASE([$set_current_thread_name],</div><div class='del'>-	    [*'pthread_self()'*], [</div><div class='del'>-		set_another_thread_name=`echo "$set_current_thread_name" | sed 's/pthread_self()/thid/'`</div><div class='del'>-		AC_DEFINE_UNQUOTED(SET_ANOTHER_THREAD_NAME(thid,name), $set_another_thread_name)</div><div class='del'>-	    ])</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test x"$ac_cv_header_ucontext_h" = xno], [</div><div class='del'>-    AC_CACHE_CHECK([if signal.h defines ucontext_t], [rb_cv_ucontext_in_signal_h],</div><div class='del'>-	[AC_TRY_COMPILE([@%:@include &lt;signal.h&gt;],</div><div class='del'>-	[size_t size = sizeof(ucontext_t);],</div><div class='del'>-	[rb_cv_ucontext_in_signal_h=yes], [rb_cv_ucontext_in_signal_h=no])])</div><div class='del'>-    AS_IF([test x"$rb_cv_ucontext_in_signal_h" = xyes], [</div><div class='del'>-	    AC_DEFINE_UNQUOTED(UCONTEXT_IN_SIGNAL_H, 1)</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AS_IF([test x"$ac_cv_header_ucontext_h" = xyes -o x"$rb_cv_ucontext_in_signal_h" = xyes], [</div><div class='del'>-    AC_CACHE_CHECK([if mcontext_t is a pointer], [rb_cv_mcontext_t_ptr],</div><div class='del'>-	[AC_TRY_COMPILE([</div><div class='del'>-	    @%:@include &lt;signal.h&gt;</div><div class='del'>-	    @%:@ifdef HAVE_UCONTEXT_H</div><div class='del'>-	    @%:@include &lt;ucontext.h&gt;</div><div class='del'>-	    @%:@endif</div><div class='del'>-        mcontext_t test(mcontext_t mc) {return mc+1;}</div><div class='del'>-	],</div><div class='del'>-	[test(0);],</div><div class='del'>-	[rb_cv_mcontext_t_ptr=yes], [rb_cv_mcontext_t_ptr=no])])</div><div class='del'>-    AS_IF([test x"$rb_cv_mcontext_t_ptr" = xyes], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(DEFINE_MCONTEXT_PTR(mc, uc), mcontext_t mc = (uc)-&gt;uc_mcontext)</div><div class='del'>-    ], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(DEFINE_MCONTEXT_PTR(mc, uc), mcontext_t *mc = &amp;(uc)-&gt;uc_mcontext)</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test x"$rb_with_pthread" = xyes], [</div><div class='del'>-	AC_CHECK_FUNCS(getcontext setcontext)</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$ac_cv_func_fork_works" = "yes" -a "$rb_with_pthread" = "yes"], [</div><div class='del'>-    AC_CACHE_CHECK([if fork works with pthread], rb_cv_fork_with_pthread,</div><div class='del'>-	[AC_TRY_RUN([</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;unistd.h&gt;</div><div class='del'>-#include &lt;pthread.h&gt;</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/wait.h&gt;</div><div class='del'>-#include &lt;signal.h&gt;</div><div class='del'>-#ifndef EXIT_SUCCESS</div><div class='del'>-#define EXIT_SUCCESS 0</div><div class='del'>-#endif</div><div class='del'>-#ifndef EXIT_FAILURE</div><div class='del'>-#define EXIT_FAILURE 1</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-void *</div><div class='del'>-thread_func(void *dmy)</div><div class='del'>-{</div><div class='del'>-    return dmy;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-use_threads(void)</div><div class='del'>-{</div><div class='del'>-    pthread_t tid;</div><div class='del'>-    if (pthread_create(&amp;tid, 0, thread_func, 0) != 0) {</div><div class='del'>-	return -1;</div><div class='del'>-    }</div><div class='del'>-    if (pthread_join(tid, 0) != 0) {</div><div class='del'>-	return -1;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main(int argc, char *argv[])</div><div class='del'>-{</div><div class='del'>-    pid_t pid;</div><div class='del'>-    if (use_threads()) return EXIT_FAILURE;</div><div class='del'>-    pid = fork();</div><div class='del'>-</div><div class='del'>-    if (pid) {</div><div class='del'>-	int loc;</div><div class='del'>-	sleep(1);</div><div class='del'>-	if (waitpid(pid, &amp;loc, WNOHANG) == 0) {</div><div class='del'>-	    kill(pid, SIGKILL);</div><div class='del'>-	    return EXIT_FAILURE;</div><div class='del'>-	}</div><div class='del'>-        if (!WIFEXITED(loc) || WEXITSTATUS(loc) != EXIT_SUCCESS)</div><div class='del'>-           return EXIT_FAILURE;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	if (use_threads()) return EXIT_FAILURE;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return EXIT_SUCCESS;</div><div class='del'>-}],</div><div class='del'>-	rb_cv_fork_with_pthread=yes,</div><div class='del'>-	rb_cv_fork_with_pthread=no,</div><div class='del'>-	rb_cv_fork_with_pthread=yes)])</div><div class='del'>-    test x$rb_cv_fork_with_pthread = xyes || AC_DEFINE(CANNOT_FORK_WITH_PTHREAD)</div><div class='del'>-])</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-: "runtime section" &amp;&amp; {</div><div class='del'>-dnl wheather use dln_a_out or not</div><div class='del'>-AC_ARG_WITH(dln-a-out,</div><div class='del'>-	AS_HELP_STRING([--with-dln-a-out], [use dln_a_out if possible]),</div><div class='del'>-	[</div><div class='del'>-	AS_CASE([$withval],</div><div class='del'>-	[yes], [</div><div class='del'>-	    AS_IF([test "$enable_shared" = yes], [</div><div class='del'>-		AC_MSG_ERROR(dln_a_out can not make shared library)</div><div class='del'>-	    ])</div><div class='del'>-	    with_dln_a_out=yes],</div><div class='del'>-	[</div><div class='del'>-	    with_dln_a_out=no])], [with_dln_a_out=no])</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(whether ELF binaries are produced, rb_cv_binary_elf,</div><div class='del'>-[AC_TRY_LINK([],[], [</div><div class='del'>-AS_CASE(["`head -1 conftest$EXEEXT | tr -dc '\177ELF' | tr '\177' .`"],</div><div class='del'>-[.ELF*], [rb_cv_binary_elf=yes], [rb_cv_binary_elf=no])],</div><div class='del'>-rb_cv_binary_elf=no)])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='del'>-  AC_DEFINE(USE_ELF)</div><div class='del'>-  AS_IF([test "$with_dln_a_out" = yes], [</div><div class='del'>-    AC_MSG_ERROR(dln_a_out does not work with ELF)</div><div class='del'>-  ])</div><div class='del'>-  AC_CHECK_HEADERS([elf.h elf_abi.h])</div><div class='del'>-  AS_IF([test $ac_cv_header_elf_h = yes -o $ac_cv_header_elf_abi_h = yes], [</div><div class='del'>-    AC_LIBOBJ([addr2line])</div><div class='del'>-    AS_IF([test "x$compress_debug_sections" = xzlib], [</div><div class='del'>-      AC_CHECK_LIB([z], [uncompress])</div><div class='del'>-    ])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_CHECK_HEADERS([mach-o/loader.h])</div><div class='del'>-AS_IF([test "$ac_cv_header_mach_o_loader_h" = yes], [</div><div class='del'>-  AC_LIBOBJ([addr2line])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[linux* | gnu* | k*bsd*-gnu | bsdi* | kopensolaris*-gnu], [</div><div class='del'>-    AS_IF([test "$rb_cv_binary_elf" = no], [</div><div class='del'>-	with_dln_a_out=yes</div><div class='del'>-    ], [</div><div class='del'>-	LDFLAGS="$LDFLAGS -rdynamic"</div><div class='del'>-    ])])</div><div class='del'>-LIBEXT=a</div><div class='del'>-</div><div class='del'>-AC_SUBST(DLDFLAGS)dnl</div><div class='del'>-AC_SUBST(ARCH_FLAG)dnl</div><div class='del'>-AC_SUBST(MJIT_HEADER_FLAGS)dnl</div><div class='del'>-AC_SUBST(MJIT_HEADER_INSTALL_DIR)dnl</div><div class='del'>-AC_SUBST(MJIT_CC)dnl</div><div class='del'>-AS_IF([test "$GCC" = "yes"], [</div><div class='del'>-    AS_CASE(["$target_os"],[aix*],[mjit_std_cflag="-std=gnu99"])</div><div class='del'>-])</div><div class='del'>-AC_SUBST(MJIT_CFLAGS, [${MJIT_CFLAGS-"-w ${mjit_std_cflag} ${orig_cflags}"}])dnl</div><div class='del'>-AC_SUBST(MJIT_OPTFLAGS, [${MJIT_OPTFLAGS-'$(optflags)'}])dnl</div><div class='del'>-AC_SUBST(MJIT_DEBUGFLAGS, [${MJIT_DEBUGFLAGS-'$(debugflags)'}])dnl</div><div class='del'>-AC_SUBST(MJIT_LDSHARED)dnl</div><div class='del'>-</div><div class='del'>-AC_SUBST(STATIC)dnl</div><div class='del'>-AC_SUBST(CCDLFLAGS)dnl</div><div class='del'>-AC_SUBST(LDSHARED)dnl</div><div class='del'>-AC_SUBST(LDSHAREDXX)dnl</div><div class='del'>-AC_SUBST(DLEXT)dnl</div><div class='del'>-AC_SUBST(DLEXT2)dnl</div><div class='del'>-AC_SUBST(LIBEXT)dnl</div><div class='del'>-AC_SUBST(ASMEXT, S)dnl</div><div class='del'>-</div><div class='del'>-STATIC=</div><div class='del'>-</div><div class='del'>-AS_IF([test "$with_dln_a_out" != yes], [</div><div class='del'>-  rb_cv_dlopen=unknown</div><div class='del'>-  AC_MSG_CHECKING(whether OS depend dynamic link works)</div><div class='del'>-  AS_IF([test "$GCC" = yes], [</div><div class='del'>-    AS_CASE(["$target_os"],</div><div class='del'>-    [darwin*], [</div><div class='del'>-      # The -fno-common is needed if we wish to embed the Ruby interpreter</div><div class='del'>-      # into a plugin module of some project (as opposed to embedding it</div><div class='del'>-      # within the project's application).  The -I/usr/local/include is</div><div class='del'>-      # needed because CPP as discovered by configure (cc -E -traditional)</div><div class='del'>-      # fails to consult /usr/local/include by default.  This causes</div><div class='del'>-      # mkmf.rb's have_header() to fail if the desired resource happens to be</div><div class='del'>-      # installed in the /usr/local tree.</div><div class='del'>-      RUBY_APPEND_OPTION(CCDLFLAGS, -fno-common)],</div><div class='del'>-    [bsdi*|cygwin*|mingw*|aix*|interix*], [ ],</div><div class='del'>-    [</div><div class='del'>-      RUBY_APPEND_OPTION(CCDLFLAGS, -fPIC)])</div><div class='del'>-  ], [</div><div class='del'>-    AS_CASE(["$target_os"],</div><div class='del'>-	[hpux*],          [CCDLFLAGS="$CCDLFLAGS +Z"],</div><div class='del'>-	[solaris*|irix*], [CCDLFLAGS="$CCDLFLAGS -KPIC"],</div><div class='del'>-	[sunos*],         [CCDLFLAGS="$CCDLFLAGS -PIC"],</div><div class='del'>-	[esix*|uxpds*],   [CCDLFLAGS="$CCDLFLAGS -KPIC"],</div><div class='del'>-	                  [: ${CCDLFLAGS=""}])</div><div class='del'>-  ])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-  AC_ARG_ENABLE(rpath,</div><div class='del'>-       AS_HELP_STRING([--enable-rpath], [embed run path into extension libraries.</div><div class='del'>-       enabled by default on ELF platforms]),</div><div class='del'>-       [enable_rpath=$enableval], [enable_rpath="$rb_cv_binary_elf"])</div><div class='del'>-</div><div class='del'>-  AS_CASE(["$target_os"],</div><div class='del'>-	[hpux*], [	DLDFLAGS="$DLDFLAGS -E"</div><div class='del'>-			: ${LDSHARED='$(LD) -b'}</div><div class='del'>-			XLDFLAGS="$XLDFLAGS -Wl,-E"</div><div class='del'>-			: ${LIBPATHENV=SHLIB_PATH}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[solaris*], [	AS_IF([test "$GCC" = yes], [</div><div class='del'>-			    : ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			    AS_IF([test "$rb_cv_prog_gnu_ld" = yes], [</div><div class='del'>-				LDFLAGS="$LDFLAGS -Wl,-E"</div><div class='del'>-			    ])</div><div class='del'>-			], [</div><div class='del'>-			    : ${LDSHARED='$(CC) -G'}</div><div class='del'>-			])</div><div class='del'>-			AS_IF([test "$ac_cv_sizeof_voidp" = 8], [</div><div class='del'>-			    : ${LIBPATHENV=LD_LIBRARY_PATH_64}</div><div class='del'>-			    : ${PRELOADENV=LD_PRELOAD_64}</div><div class='del'>-			], [</div><div class='del'>-			    : ${LIBPATHENV=LD_LIBRARY_PATH_32}</div><div class='del'>-			    : ${PRELOADENV=LD_PRELOAD_32}</div><div class='del'>-			])</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[sunos*], [	: ${LDSHARED='$(LD) -assert nodefinitions'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[irix*], [	: ${LDSHARED='$(LD) -shared'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[sysv4*], [	: ${LDSHARED='$(LD) -G'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[nto-qnx*], [	: ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[esix*|uxpds*], [ : ${LDSHARED='$(LD) -G'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[osf*], [	: ${LDSHARED='$(LD) -shared -expect_unresolved "*"'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[bsdi3*], [	AS_CASE(["$CC"],</div><div class='del'>-			[*shlicc*], [	: ${LDSHARED='$(CC) -r'}</div><div class='del'>-					rb_cv_dlopen=yes])],</div><div class='del'>-	[linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu | haiku*], [</div><div class='del'>-			: ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='del'>-			    LDFLAGS="$LDFLAGS -Wl,-export-dynamic"</div><div class='del'>-			])</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[interix*], [	: ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			XLDFLAGS="$XLDFLAGS -Wl,-E"</div><div class='del'>-			LIBPATHFLAG=" -L%1\$-s"</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[freebsd*|dragonfly*], [</div><div class='del'>-			: ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='del'>-			    LDFLAGS="$LDFLAGS -rdynamic"</div><div class='del'>-			    DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$@'</div><div class='del'>-			], [</div><div class='del'>-			  test "$GCC" = yes &amp;&amp; test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'</div><div class='del'>-			])</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[openbsd*|mirbsd*], [	: ${LDSHARED='$(CC) -shared ${CCDLFLAGS}'}</div><div class='del'>-			AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='del'>-			    LDFLAGS="$LDFLAGS -Wl,-E"</div><div class='del'>-			])</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[darwin*], [	: ${LDSHARED='$(CC) -dynamic -bundle'}</div><div class='del'>-			: ${DLDSHARED='$(CC) -dynamiclib'}</div><div class='del'>-			: ${LDFLAGS=""}</div><div class='del'>-			: ${LIBPATHENV=DYLD_FALLBACK_LIBRARY_PATH}</div><div class='del'>-			: ${PRELOADENV=DYLD_INSERT_LIBRARIES}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-        [aix*], [	: ${LDSHARED='$(CC)'}</div><div class='del'>-			AS_IF([test "$GCC" = yes], [</div><div class='del'>-			    LDSHARED="$LDSHARED ${linker_flag}-G -shared"</div><div class='del'>-			], [</div><div class='del'>-			    LDSHARED="$LDSHARED ${linker_flag}-G"</div><div class='del'>-			])</div><div class='del'>-			EXTDLDFLAGS='-e$(TARGET_ENTRY)'</div><div class='del'>-			XLDFLAGS="${linker_flag}"'-bE:$(ARCHFILE)'" ${linker_flag}-brtl"</div><div class='del'>-			XLDFLAGS="$XLDFLAGS ${linker_flag}-blibpath:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"</div><div class='del'>-			: ${ARCHFILE="ruby.imp"}</div><div class='del'>-                        TRY_LINK='$(CC) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'</div><div class='del'>-                        TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(LOCAL_LIBS) $(LIBS)'</div><div class='del'>-			: ${LIBPATHENV=LIBPATH}</div><div class='del'>-			: ${PRELOADENV=LDR_PRELOAD}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[nto-qnx*], [	DLDFLAGS="$DLDFLAGS -L/lib -L/usr/lib -L/usr/local/lib"</div><div class='del'>-			: ${LDSHARED='$(LD) -Bshareable -x'}</div><div class='del'>-			LDFLAGS="$LDFLAGS -L/lib -L/usr/lib -L/usr/local/lib"</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[cygwin*|mingw*], [</div><div class='del'>-			: ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			XLDFLAGS="$XLDFLAGS -Wl,--stack,0x00200000,--enable-auto-import"</div><div class='del'>-			DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-image-base,--enable-auto-import"</div><div class='del'>-			: ${LIBPATHENV=PATH}</div><div class='del'>-			: ${PRELOADENV=""}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[hiuxmpp], [	: ${LDSHARED='$(LD) -r'}],</div><div class='del'>-	[atheos*], [	: ${LDSHARED='$(CC) -shared'}</div><div class='del'>-			rb_cv_dlopen=yes],</div><div class='del'>-	[	: ${LDSHARED='$(LD)'}])</div><div class='del'>-  AC_MSG_RESULT($rb_cv_dlopen)</div><div class='del'>-</div><div class='del'>-  AS_IF([test "$rb_cv_dlopen" = yes], [</div><div class='del'>-    AS_CASE(["$target_os"],</div><div class='del'>-      [darwin*], [</div><div class='del'>-	for flag in \</div><div class='del'>-	  "-undefined dynamic_lookup" \</div><div class='del'>-	  "-multiply_defined suppress" \</div><div class='del'>-	  ; do</div><div class='del'>-	  test "x${linker_flag}" = x || flag="${linker_flag}`echo ${flag} | tr ' ' ,`"</div><div class='del'>-	  RUBY_TRY_LDFLAGS([$flag], [], [flag=])</div><div class='del'>-	  AS_IF([test "x$flag" != x], [</div><div class='del'>-	    RUBY_APPEND_OPTIONS(DLDFLAGS, [$flag])</div><div class='del'>-	  ])</div><div class='del'>-	done</div><div class='del'>-      ])</div><div class='del'>-  ])</div><div class='del'>-</div><div class='del'>-  AS_IF([test "$enable_rpath:${RPATHFLAG}" = yes:], [</div><div class='del'>-      AS_IF([test "x$rpathflag" != x], [</div><div class='del'>-	  RPATHFLAG=" ${rpathflag}%1\$-s"</div><div class='del'>-      ])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-AS_IF([test "${LDSHAREDXX}" = ""], [</div><div class='del'>-    AS_CASE(["${LDSHARED}"],</div><div class='del'>-	[*'$(CC)'*], [</div><div class='del'>-	    LDSHAREDXX=`echo "${LDSHARED}" | sed 's/\$(CC)/$(CXX)/'`</div><div class='del'>-	    ],</div><div class='del'>-	[*'${CC}'*], [</div><div class='del'>-	    LDSHAREDXX=`echo "${LDSHARED}" | sed 's/\${CC}/${CXX}/'`</div><div class='del'>-	    ],</div><div class='del'>-	[*$CC*], [</div><div class='del'>-	    LDSHAREDXX=`echo "${LDSHARED}" | sed "s|$CC|$CXX|"`</div><div class='del'>-	    ],</div><div class='del'>-	[ld" "*], [</div><div class='del'>-	    ])</div><div class='del'>-])</div><div class='del'>-AS_CASE([${RPATHFLAG}],[*'%1$'*],[: ${LIBPATHFLAG=' -L%1$-s'}],[: ${LIBPATHFLAG=' -L%s'}])</div><div class='del'>-</div><div class='del'>-AC_SUBST(LINK_SO)</div><div class='del'>-AC_SUBST(LIBPATHFLAG)</div><div class='del'>-AC_SUBST(RPATHFLAG)</div><div class='del'>-AC_SUBST(LIBPATHENV, "${LIBPATHENV-LD_LIBRARY_PATH}")</div><div class='del'>-AC_SUBST(PRELOADENV, "${PRELOADENV-LD_PRELOAD}")</div><div class='del'>-AC_SUBST(TRY_LINK)</div><div class='del'>-</div><div class='del'>-AS_IF([test "x$OPT_DIR" != x], [</div><div class='del'>-    pat=`echo "${LDFLAGS_OPTDIR}" | sed ['s/[][\\.*|]/\\\\&amp;/']`</div><div class='del'>-    LDFLAGS=`echo "${LDFLAGS}" | sed "s| ${pat}||"`</div><div class='del'>-    val=`IFS="$PATH_SEPARATOR"</div><div class='del'>-        for dir in $OPT_DIR; do</div><div class='del'>-            echo x ${LIBPATHFLAG} ${RPATHFLAG} |</div><div class='del'>-            sed "s/^x *//;s${IFS}"'%1\\$-s'"${IFS}${dir}/lib${IFS}g;s${IFS}%s${IFS}${dir}/lib${IFS}g"</div><div class='del'>-        done | tr '\012' ' ' | sed 's/ *$//'`</div><div class='del'>-    AS_IF([test x"$val" != x], [</div><div class='del'>-	test x"${LDFLAGS}" = x || LDFLAGS="$LDFLAGS "</div><div class='del'>-	LDFLAGS="$LDFLAGS$val"</div><div class='del'>-	test x"${DLDFLAGS}" = x || DLDFLAGS="$DLDFLAGS "</div><div class='del'>-	DLDFLAGS="$DLDFLAGS$val"</div><div class='del'>-    ])</div><div class='del'>-    LDFLAGS_OPTDIR="$val"</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-[freebsd*], [</div><div class='del'>-    AC_CHECK_LIB([procstat], [procstat_open_sysctl])</div><div class='del'>-    AS_IF([test "x$ac_cv_lib_procstat_procstat_open_sysctl" = xyes], [</div><div class='del'>-	AC_CHECK_FUNCS(procstat_getvmmap)</div><div class='del'>-    ])</div><div class='del'>-    ])</div><div class='del'>-AS_CASE(["$target_cpu-$target_os"],</div><div class='del'>-[*-darwin*], [</div><div class='del'>-    AC_CHECK_HEADERS([execinfo.h])</div><div class='del'>-    AS_IF([test "x$ac_cv_header_execinfo_h" = xyes], [</div><div class='del'>-	AC_CHECK_LIB([execinfo], [backtrace])</div><div class='del'>-	AC_CHECK_HEADERS([libunwind.h])</div><div class='del'>-    ])],</div><div class='del'>-[*-freebsd*|x86_64-netbsd*], [</div><div class='del'>-    AC_CHECK_HEADERS([execinfo.h])</div><div class='del'>-    AS_IF([test "x$ac_cv_header_execinfo_h" = xyes], [</div><div class='del'>-	AC_CHECK_LIB([execinfo], [backtrace])</div><div class='del'>-	AC_CHECK_LIB([unwind], [unw_backtrace])</div><div class='del'>-    ])])</div><div class='del'>-AC_CHECK_FUNCS(backtrace)</div><div class='del'>-</div><div class='del'>-AS_IF([test "x$ac_cv_func_backtrace" = xyes], [</div><div class='del'>-  AC_CACHE_CHECK(for broken backtrace, rb_cv_broken_backtrace,</div><div class='del'>-    [AC_TRY_RUN([</div><div class='del'>-#include &lt;unistd.h&gt;</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;stdint.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-#include &lt;signal.h&gt;</div><div class='del'>-#include &lt;execinfo.h&gt;</div><div class='del'>-</div><div class='del'>-#define TRACE_SIZE 256</div><div class='del'>-</div><div class='del'>-void sigsegv(int signum, siginfo_t *info, void *ctx){</div><div class='del'>-    void *trace[TRACE_SIZE];</div><div class='del'>-    int n = backtrace(trace, TRACE_SIZE);</div><div class='del'>-    if (n &gt; 0) {</div><div class='del'>-	/*fprintf(stdout, "backtrace:%d\n",n);*/</div><div class='del'>-    } else {</div><div class='del'>-	_exit(EXIT_FAILURE);</div><div class='del'>-    }</div><div class='del'>-    _exit(EXIT_SUCCESS);</div><div class='del'>-}</div><div class='del'>-int</div><div class='del'>-main(void)</div><div class='del'>-{</div><div class='del'>-    volatile int *a = NULL;</div><div class='del'>-    stack_t ss;</div><div class='del'>-    struct sigaction sa;</div><div class='del'>-</div><div class='del'>-    ss.ss_sp = malloc(SIGSTKSZ);</div><div class='del'>-    if (ss.ss_sp == NULL) {</div><div class='del'>-	fprintf(stderr, "cannot allocate memory for sigaltstack\n");</div><div class='del'>-	return EXIT_FAILURE;</div><div class='del'>-    }</div><div class='del'>-    ss.ss_size = SIGSTKSZ;</div><div class='del'>-    ss.ss_flags = 0;</div><div class='del'>-    if (sigaltstack(&amp;ss, NULL) == -1) {</div><div class='del'>-	fprintf(stderr, "sigaltstack failed\n");</div><div class='del'>-	return EXIT_FAILURE;</div><div class='del'>-    }</div><div class='del'>-    memset(&amp;sa, 0, sizeof(struct sigaction));</div><div class='del'>-    sigemptyset(&amp;sa.sa_mask);</div><div class='del'>-    sa.sa_sigaction = sigsegv;</div><div class='del'>-    sa.sa_flags |= SA_SIGINFO;</div><div class='del'>-    sa.sa_flags |= SA_ONSTACK;</div><div class='del'>-    sigaction(SIGSEGV, &amp;sa, NULL);</div><div class='del'>-    a[0] = 1;</div><div class='del'>-    return EXIT_SUCCESS;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_broken_backtrace=no,</div><div class='del'>-	rb_cv_broken_backtrace=yes,</div><div class='del'>-	rb_cv_broken_backtrace=no)])</div><div class='del'>-  AS_IF([test "$rb_cv_broken_backtrace" = yes], [</div><div class='del'>-    AC_DEFINE(BROKEN_BACKTRACE, 1)</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(valgrind,</div><div class='del'>-        AS_HELP_STRING([--without-valgrind],[disable valgrind memcheck support]),</div><div class='del'>-        [], with_valgrind=yes)</div><div class='del'>-AS_IF([test x$with_valgrind != xno],</div><div class='del'>-        [AC_CHECK_HEADERS(valgrind/memcheck.h)])</div><div class='del'>-</div><div class='del'>-dln_a_out_works=no</div><div class='del'>-AS_IF([test "$ac_cv_header_a_out_h" = yes], [</div><div class='del'>-  AS_IF([test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown], [</div><div class='del'>-    cat confdefs.h &gt; config.h</div><div class='del'>-    AC_CACHE_CHECK(whether matz's dln works, rb_cv_dln_a_out,</div><div class='del'>-    [AC_TRY_COMPILE([</div><div class='del'>-#define USE_DLN_A_OUT</div><div class='del'>-#include "dln.c"</div><div class='del'>-],</div><div class='del'>-	[],</div><div class='del'>-	rb_cv_dln_a_out=yes,</div><div class='del'>-	rb_cv_dln_a_out=no)])</div><div class='del'>-    AS_IF([test "$rb_cv_dln_a_out" = yes], [</div><div class='del'>-      dln_a_out_works=yes</div><div class='del'>-      AC_DEFINE(USE_DLN_A_OUT)</div><div class='del'>-    ])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$dln_a_out_works" = yes], [</div><div class='del'>-  AS_IF([test "$GCC" = yes], [</div><div class='del'>-    STATIC=-static</div><div class='del'>-  ], [</div><div class='del'>-    STATIC=-Bstatic</div><div class='del'>-  ])</div><div class='del'>-  DLEXT=so</div><div class='del'>-  CCDLFLAGS=</div><div class='del'>-], [</div><div class='del'>-  AS_CASE(["$target_os"],</div><div class='del'>-    [hpux*], [</div><div class='del'>-	DLEXT=sl],</div><div class='del'>-    [darwin*], [</div><div class='del'>-	SOEXT=dylib</div><div class='del'>-	DLEXT=bundle],</div><div class='del'>-    [cygwin*|mingw*|*djgpp*], [</div><div class='del'>-	LOAD_RELATIVE=1</div><div class='del'>-	SOEXT=dll</div><div class='del'>-	DLEXT=so],</div><div class='del'>-    [</div><div class='del'>-	DLEXT=so])</div><div class='del'>-])</div><div class='del'>-: ${SOEXT="${DLEXT}"}</div><div class='del'>-AC_SUBST(SOEXT)</div><div class='del'>-AS_IF([test "$rb_cv_dlopen:$load_relative" = yes:yes], [</div><div class='del'>-    AS_IF([test "$ac_cv_func_dladdr" = yes], [</div><div class='del'>-	LOAD_RELATIVE=1</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AS_IF([test x"$LOAD_RELATIVE" = x1], [</div><div class='del'>-    load_relative=yes</div><div class='del'>-], [</div><div class='del'>-    unset load_relative</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-len=2 # .rb</div><div class='del'>-n=`expr "$DLEXT"  : '.*'`; test "$n" -gt "$len" &amp;&amp; len=$n</div><div class='del'>-n=`expr "$DLEXT2" : '.*'`; test "$n" -gt "$len" &amp;&amp; len=$n</div><div class='del'>-AC_DEFINE_UNQUOTED(DLEXT_MAXLEN, `expr $len + 1`)</div><div class='del'>-test ".$DLEXT"  = "." || AC_DEFINE_UNQUOTED(DLEXT,  ".$DLEXT")</div><div class='del'>-test ".$DLEXT2" = "." || AC_DEFINE_UNQUOTED(DLEXT2, ".$DLEXT2")</div><div class='del'>-AC_SUBST(DLEXT)</div><div class='del'>-</div><div class='del'>-AS_IF([test "$with_dln_a_out" = yes], [</div><div class='del'>-  STRIP=true</div><div class='del'>-], [</div><div class='del'>-  AC_CHECK_TOOL(STRIP, strip, :)dnl</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-  [linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu], [</div><div class='del'>-	STRIP="$STRIP -S -x"],</div><div class='del'>-  [darwin*], [</div><div class='del'>-	STRIP="$STRIP -A -n"])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(ext,</div><div class='del'>-            AC_HELP_STRING([--with-ext=EXTS],</div><div class='del'>-                           [pass to --with-ext option of extmk.rb]))</div><div class='del'>-AC_ARG_WITH(out-ext,</div><div class='del'>-            AC_HELP_STRING([--with-out-ext=EXTS],</div><div class='del'>-                           [pass to --without-ext option of extmk.rb]))</div><div class='del'>-EXTSTATIC=</div><div class='del'>-AC_SUBST(EXTSTATIC)dnl</div><div class='del'>-AC_ARG_WITH(static-linked-ext,</div><div class='del'>-	    AS_HELP_STRING([--with-static-linked-ext], [link external modules statically]),</div><div class='del'>-            [AS_CASE([$withval],[yes],[STATIC=;EXTSTATIC=static],[no],[],[EXTSTATIC="$withval"])])</div><div class='del'>-AS_CASE([",$EXTSTATIC,"], [,static,|*,enc,*], [</div><div class='del'>-  ENCOBJS='enc/encinit.$(OBJEXT) enc/libenc.$(LIBEXT) enc/libtrans.$(LIBEXT)'</div><div class='del'>-  EXTOBJS='ext/extinit.$(OBJEXT)'</div><div class='del'>-  AC_DEFINE_UNQUOTED(EXTSTATIC, 1)</div><div class='del'>-  AC_SUBST(ENCSTATIC, static)</div><div class='del'>-], [</div><div class='del'>-  ENCOBJS='dmyenc.$(OBJEXT)'</div><div class='del'>-  EXTOBJS='dmyext.$(OBJEXT)'</div><div class='del'>-])</div><div class='del'>-AC_SUBST(ENCOBJS)</div><div class='del'>-AC_SUBST(EXTOBJS)</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(setup,</div><div class='del'>-	    AS_HELP_STRING([--with-setup=SETUP], [use extension libraries setup]),</div><div class='del'>-	    [setup=$withval])</div><div class='del'>-AS_IF([test -n "$setup"], [</div><div class='del'>-    AS_IF([! test -f "ext/$setup" -o -f "$srcdir/ext/$setup"], [</div><div class='del'>-	AC_MSG_ERROR(Setup file $setup not found under ext or $srcdir/ext)</div><div class='del'>-    ])</div><div class='del'>-], [test -f "$srcdir/ext/Setup.$target_os"], [</div><div class='del'>-    setup="Setup.$target_os"</div><div class='del'>-], [</div><div class='del'>-    setup=</div><div class='del'>-    for file in "$srcdir"/ext/Setup.*; do</div><div class='del'>-	AS_CASE(["$file"], [*~|*.bak|*.orig|*.rej|*.tmp], [continue])</div><div class='del'>-	setup=`basename "$file"`</div><div class='del'>-	AS_CASE(["$target_os"], [`expr "$setup" : 'Setup.\(.*\)'`*], [break])</div><div class='del'>-	platform=`sed '/^option  *platform  */!d;s///;s/|/*|/g;q' "$file"`</div><div class='del'>-	AS_IF([test "x$platform" != x], [</div><div class='del'>-	    eval "AS_CASE([\"\$target_os\"], [$platform*], [break])"</div><div class='del'>-	])</div><div class='del'>-	setup=</div><div class='del'>-    done</div><div class='del'>-    : ${setup:=Setup}</div><div class='del'>-])</div><div class='del'>-AC_SUBST(setup)</div><div class='del'>-</div><div class='del'>-rubylibprefix='${libdir}/${RUBY_BASE_NAME}'</div><div class='del'>-AC_ARG_WITH(rubylibprefix,</div><div class='del'>-	    AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for ruby libraries [[LIBDIR/RUBY_BASE_NAME]]]),</div><div class='del'>-	    [AS_IF([test "x$withval" = xno], [</div><div class='del'>-		AC_MSG_ERROR([No ruby, No libprefix])</div><div class='del'>-	    ])</div><div class='del'>-	    rubylibprefix="$withval"])</div><div class='del'>-AC_SUBST(rubylibprefix)</div><div class='del'>-</div><div class='del'>-AS_IF([test x"${exec_prefix}" != xNONE], [</div><div class='del'>-    RUBY_EXEC_PREFIX="$exec_prefix"</div><div class='del'>-], [test x"$prefix" != xNONE], [</div><div class='del'>-    RUBY_EXEC_PREFIX="$prefix"</div><div class='del'>-], [</div><div class='del'>-    RUBY_EXEC_PREFIX=$ac_default_prefix</div><div class='del'>-])</div><div class='del'>-pat=`echo "${RUBY_EXEC_PREFIX}" | tr -c '\012' .`'\(.*\)'</div><div class='del'>-for var in bindir libdir rubylibprefix; do</div><div class='del'>-    eval val='"$'$var'"'</div><div class='del'>-    AS_CASE(["$val"], ["${RUBY_EXEC_PREFIX}"*], [val='${exec_prefix}'"`expr \"$val\" : \"$pat\"`"])</div><div class='del'>-    eval $var='"$val"'</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-BTESTRUBY='$(MINIRUBY)'</div><div class='del'>-AS_IF([test x"$cross_compiling" = xyes], [</div><div class='del'>-  test x"$MINIRUBY" = x &amp;&amp; MINIRUBY="${RUBY-$BASERUBY} -I`$CHDIR .; pwd` "-r'$(arch)-fake'</div><div class='del'>-  XRUBY_LIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["libdir"]']`</div><div class='del'>-  XRUBY_RUBYLIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["rubylibdir"]']`</div><div class='del'>-  XRUBY_RUBYHDRDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["rubyhdrdir"]']`</div><div class='del'>-  AC_SUBST(XRUBY_LIBDIR)</div><div class='del'>-  AC_SUBST(XRUBY_RUBYLIBDIR)</div><div class='del'>-  AC_SUBST(XRUBY_RUBYHDRDIR)</div><div class='del'>-  PREP='$(arch)-fake.rb'</div><div class='del'>-  RUNRUBY_COMMAND='$(MINIRUBY) -I`cd $(srcdir)/lib; pwd`'</div><div class='del'>-  RUNRUBY='$(RUNRUBY_COMMAND)'</div><div class='del'>-  XRUBY='$(MINIRUBY)'</div><div class='del'>-  BOOTSTRAPRUBY='$(BASERUBY)'</div><div class='del'>-  TEST_RUNNABLE=no</div><div class='del'>-  CROSS_COMPILING=yes</div><div class='del'>-], [</div><div class='del'>-  MINIRUBY='./miniruby$(EXEEXT) -I$(srcdir)/lib -I.'</div><div class='del'>-  MINIRUBY="$MINIRUBY"' -I$(EXTOUT)/common'</div><div class='del'>-  PREP='miniruby$(EXEEXT)'</div><div class='del'>-  RUNRUBY_COMMAND='$(MINIRUBY) $(srcdir)/tool/runruby.rb --extout=$(EXTOUT) $(RUNRUBYOPT)'</div><div class='del'>-  RUNRUBY='$(RUNRUBY_COMMAND) --'</div><div class='del'>-  XRUBY='$(RUNRUBY)'</div><div class='del'>-  BOOTSTRAPRUBY='$(MINIRUBY)'</div><div class='del'>-  TEST_RUNNABLE=yes</div><div class='del'>-  CROSS_COMPILING=no</div><div class='del'>-])</div><div class='del'>-AC_SUBST(TEST_RUNNABLE)</div><div class='del'>-AC_SUBST(CROSS_COMPILING)</div><div class='del'>-AC_SUBST(MINIRUBY)</div><div class='del'>-AC_SUBST(BTESTRUBY)</div><div class='del'>-AC_SUBST(PREP)</div><div class='del'>-AC_SUBST(RUNRUBY_COMMAND)</div><div class='del'>-AC_SUBST(RUNRUBY)</div><div class='del'>-AC_SUBST(XRUBY)</div><div class='del'>-AC_SUBST(BOOTSTRAPRUBY)</div><div class='del'>-AC_SUBST(EXTOUT, [${EXTOUT=.ext}])</div><div class='del'>-</div><div class='del'>-FIRSTMAKEFILE=""</div><div class='del'>-LIBRUBY_A='lib$(RUBY_SO_NAME)-static.a'</div><div class='del'>-LIBRUBY='$(LIBRUBY_A)'</div><div class='del'>-LIBRUBYARG_STATIC='-l$(RUBY_SO_NAME)-static'</div><div class='del'>-LIBRUBYARG='$(LIBRUBYARG_STATIC)'</div><div class='del'>-SOLIBS='$(MAINLIBS)'</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-  [cygwin*|mingw*|haiku*|darwin*], [</div><div class='del'>-    : ${DLDLIBS=""}</div><div class='del'>-    ],</div><div class='del'>-  [</div><div class='del'>-    DLDLIBS="$DLDLIBS -lc"</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(multiarch,</div><div class='del'>-	      AS_HELP_STRING([--enable-multiarch], [enable multiarch compatible directories]),</div><div class='del'>-	      [multiarch=], [unset multiarch])</div><div class='del'>-AS_IF([test ${multiarch+set}], [</div><div class='del'>-   AC_DEFINE(ENABLE_MULTIARCH)</div><div class='del'>-   MJIT_HEADER_INSTALL_DIR=include/'${arch}/${RUBY_VERSION_NAME}'</div><div class='del'>-], [</div><div class='del'>-   MJIT_HEADER_INSTALL_DIR=include/'${RUBY_VERSION_NAME}/${arch}'</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-archlibdir='${libdir}/${arch}'</div><div class='del'>-sitearchlibdir='${libdir}/${sitearch}'</div><div class='del'>-archincludedir='${includedir}/${arch}'</div><div class='del'>-sitearchincludedir='${includedir}/${sitearch}'</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(soname,</div><div class='del'>-	AS_HELP_STRING([--with-soname=SONAME], [base name of shared library]),</div><div class='del'>-	[RUBY_SO_NAME=$withval],</div><div class='del'>-	[</div><div class='del'>-	    AS_CASE(["$target_os"],</div><div class='del'>-	    [darwin*], [</div><div class='del'>-	        RUBY_SO_NAME='$(RUBY_BASE_NAME).$(RUBY_API_VERSION)'</div><div class='del'>-	    ],</div><div class='del'>-	    [cygwin*], [</div><div class='del'>-	        RUBY_SO_NAME='$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'</div><div class='del'>-	    ],</div><div class='del'>-	    [mingw*], [</div><div class='del'>-		RUBY_SO_NAME="${rb_cv_msvcrt}"'-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'</div><div class='del'>-		AS_IF([test x"${target_cpu}" != xi386], [</div><div class='del'>-		    RUBY_SO_NAME="${target_cpu}-${RUBY_SO_NAME}"</div><div class='del'>-		])</div><div class='del'>-	    ],</div><div class='del'>-	    [RUBY_SO_NAME='$(RUBY_BASE_NAME)'])</div><div class='del'>-	])</div><div class='del'>-</div><div class='del'>-LIBRUBY_LDSHARED=${DLDSHARED=${LDSHARED}}</div><div class='del'>-LIBRUBY_DLDFLAGS=$DLDFLAGS</div><div class='del'>-LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)'</div><div class='del'>-LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_API_VERSION)'</div><div class='del'>-LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-ENABLE_SHARED=no</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(shared,</div><div class='del'>-       AS_HELP_STRING([--enable-shared], [build a shared library for Ruby]),</div><div class='del'>-       [enable_shared=$enableval])</div><div class='del'>-libprefix=${multiarch+'$(archlibdir)'}${multiarch-'$(libdir)'}</div><div class='del'>-LIBRUBY_RELATIVE=${load_relative-no}</div><div class='del'>-AS_CASE("$enable_shared", [yes], [</div><div class='del'>-  LIBRUBY='$(LIBRUBY_SO)'</div><div class='del'>-  LIBRUBYARG_SHARED='-l$(RUBY_SO_NAME)'</div><div class='del'>-  LIBRUBYARG='$(LIBRUBYARG_SHARED)'</div><div class='del'>-  LIBRUBY_RELATIVE=no</div><div class='del'>-  test -z "$CCDLFLAGS" || CFLAGS="$CFLAGS $CCDLFLAGS"</div><div class='del'>-  ENABLE_SHARED=yes</div><div class='del'>-</div><div class='del'>-  # libdir can be overridden in config.site file (on OpenSUSE at least).</div><div class='del'>-  libdir_basename=lib</div><div class='del'>-  AS_IF([test "$bindir" = '${exec_prefix}/bin'], [</div><div class='del'>-    AS_CASE(["$libdir"], ['${exec_prefix}/'*], [libdir_basename=`basename "$libdir"`])</div><div class='del'>-  ])</div><div class='del'>-  AC_DEFINE_UNQUOTED(LIBDIR_BASENAME, ["${libdir_basename}"])</div><div class='del'>-  libdir_basename="${libdir_basename}"${multiarch+'/${arch}'}</div><div class='del'>-</div><div class='del'>-  AS_CASE(["$target_os"],</div><div class='del'>-    [freebsd*|dragonfly*], [],</div><div class='del'>-    [</div><div class='del'>-     AS_IF([test "$GCC" = yes], [</div><div class='del'>-       RUBY_TRY_LDFLAGS([${linker_flag}--no-undefined], [no_undefined=yes], [no_undefined=no])</div><div class='del'>-       AS_IF([test "no_undefined" = yes], [</div><div class='del'>-	  RUBY_APPEND_OPTION(EXTLDFLAGS, [${linker_flag}--no-undefined])</div><div class='del'>-       ])</div><div class='del'>-     ])</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-  AS_CASE(["$target_os"],</div><div class='del'>-    [sunos4*], [</div><div class='del'>-	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-	],</div><div class='del'>-    [linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu | haiku*], [</div><div class='del'>-	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,$(LIBRUBY_SONAME)' "$LDFLAGS_OPTDIR"])</div><div class='del'>-	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-	AS_IF([test "$load_relative" = yes], [</div><div class='del'>-	    libprefix="'\$\${ORIGIN}/../${libdir_basename}'"</div><div class='del'>-	    LIBRUBY_RPATHFLAGS="-Wl,-rpath,${libprefix}"</div><div class='del'>-	    LIBRUBY_RELATIVE=yes</div><div class='del'>-	])</div><div class='del'>-	],</div><div class='del'>-    [freebsd*|dragonfly*], [</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'</div><div class='del'>-	LIBRUBY_SONAME='$(LIBRUBY_SO)'</div><div class='del'>-	AS_IF([test "$rb_cv_binary_elf" != "yes" ], [</div><div class='del'>-	    LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"</div><div class='del'>-	    LIBRUBY_ALIASES=''</div><div class='del'>-	])</div><div class='del'>-	],</div><div class='del'>-    [netbsd*], [</div><div class='del'>-	LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'</div><div class='del'>-	LIBRUBY_SO="${LIBRUBY_SONAME}"'.$(TEENY)'</div><div class='del'>-	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,$(LIBRUBY_SONAME)' "$LDFLAGS_OPTDIR"])</div><div class='del'>-	AS_IF([test "$rb_cv_binary_elf" = yes], [ # ELF platforms</div><div class='del'>-	   LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-	], [	# a.out platforms</div><div class='del'>-	   LIBRUBY_ALIASES=""</div><div class='del'>-	])</div><div class='del'>-	],</div><div class='del'>-    [openbsd*|mirbsd*], [</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}`</div><div class='del'>-	],</div><div class='del'>-    [solaris*], [</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)'</div><div class='del'>-	LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)'</div><div class='del'>-	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ["${linker_flag}-h${linker_flag:+,}"'$(@F)'])</div><div class='del'>-	XLDFLAGS="$XLDFLAGS "'-R${libdir}'</div><div class='del'>-	],</div><div class='del'>-    [hpux*], [</div><div class='del'>-	XLDFLAGS="$XLDFLAGS "'-Wl,+s,+b,$(libdir)'</div><div class='del'>-	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-	],</div><div class='del'>-    [aix*], [</div><div class='del'>-	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ["${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"])</div><div class='del'>-	LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'</div><div class='del'>-	LIBS="$LIBS -lm -lc"</div><div class='del'>-	],</div><div class='del'>-    [darwin*], [</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='del'>-	LIBRUBY_SONAME='$(LIBRUBY_SO)'</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).$(SOEXT)'</div><div class='del'>-	AS_IF([test "$load_relative" = yes], [</div><div class='del'>-	    libprefix="@executable_path/../${libdir_basename}"</div><div class='del'>-	    LIBRUBY_RELATIVE=yes</div><div class='del'>-	])</div><div class='del'>-	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS -install_name ${libprefix}"'/$(LIBRUBY_SONAME)'</div><div class='del'>-	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-compatibility_version $(RUBY_API_VERSION)'</div><div class='del'>-	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-current_version $(RUBY_PROGRAM_VERSION)'</div><div class='del'>-	AS_IF([test "$visibility_option" = ld], [</div><div class='del'>-	    LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,_Init_*'</div><div class='del'>-	    LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,_ruby_static_id_*'</div><div class='del'>-	    LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,*_threadptr_*'</div><div class='del'>-	])</div><div class='del'>-	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "' $(XLDFLAGS)'</div><div class='del'>-	],</div><div class='del'>-    [interix*], [</div><div class='del'>-	LIBRUBYARG_SHARED='-L. -L${libdir} -l$(RUBY_SO_NAME)'</div><div class='del'>-	],</div><div class='del'>-    [mingw*|cygwin*|mswin*], [</div><div class='del'>-	LIBRUBY_RELATIVE=yes</div><div class='del'>-	])</div><div class='del'>-], [</div><div class='del'>-  LIBRUBYARG_SHARED=</div><div class='del'>-</div><div class='del'>-  # enable PIE if possible</div><div class='del'>-  AC_ARG_ENABLE(pie,</div><div class='del'>-          AS_HELP_STRING([--disable-pie], [disable PIE feature]),</div><div class='del'>-          [pie=$enableval], [pie=])</div><div class='del'>-  AS_IF([test "$GCC" = yes -a -z "$EXTSTATIC" -a "x$pie" != xno], [</div><div class='del'>-    RUBY_TRY_CFLAGS(-fPIE, [pie=yes], [pie=no])</div><div class='del'>-    AS_IF([test "$pie" = yes], [</div><div class='del'>-      # Use -fPIE when testing -pie.  RUBY_TRY_LDFLAGS sets</div><div class='del'>-      # $save_CFLAGS internally, so set other name here.</div><div class='del'>-      save_CFLAGS_before_pie="$CFLAGS"</div><div class='del'>-      CFLAGS="$CFLAGS -fPIE"</div><div class='del'>-</div><div class='del'>-      # gcc need -pie but clang need -Wl,-pie.</div><div class='del'>-      for pie in -pie -Wl,-pie; do</div><div class='del'>-	RUBY_TRY_LDFLAGS([$pie], [], [pie=])</div><div class='del'>-	AS_IF([test "x$pie" != x], [</div><div class='del'>-	  RUBY_APPEND_OPTION(XCFLAGS, -fPIE)</div><div class='del'>-	  RUBY_APPEND_OPTION(XLDFLAGS, $pie)</div><div class='del'>-	  break</div><div class='del'>-	])</div><div class='del'>-      done</div><div class='del'>-      CFLAGS="$save_CFLAGS_before_pie"</div><div class='del'>-    ])</div><div class='del'>-  ])</div><div class='del'>-])</div><div class='del'>-AS_IF([test "$enable_rpath" = yes], [</div><div class='del'>-    test -z "$LIBRUBY_RPATHFLAGS" || LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS "</div><div class='del'>-    rpathflag="${RPATHFLAG}"</div><div class='del'>-    AS_CASE(["${cross_compiling}${load_relative}"], [*yes*], [], [rpathflag="$RPATHFLAG$LIBPATHFLAG"])</div><div class='del'>-    rpathflag=`IFS="$PATH_SEPARATOR"</div><div class='del'>-        echo x "$rpathflag" |</div><div class='del'>-        sed "s/^x *//;s${IFS}"'%1\\$-s'"${IFS}${libprefix}${IFS}g;s${IFS}%s${IFS}${libprefix}${IFS}g"</div><div class='del'>-    `</div><div class='del'>-    LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"</div><div class='del'>-    LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"</div><div class='del'>-    LIBRUBYARG_STATIC="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_STATIC"</div><div class='del'>-])</div><div class='del'>-AC_SUBST(LIBRUBY_RELATIVE)</div><div class='del'>-</div><div class='del'>-LDFLAGS="-L. $LDFLAGS"</div><div class='del'>-AC_SUBST(ARCHFILE)</div><div class='del'>-</div><div class='del'>-AS_IF([test "$EXEEXT" = .exe], [</div><div class='del'>-    EXECUTABLE_EXTS='".exe",".com",".cmd",".bat"'</div><div class='del'>-    AC_DEFINE_UNQUOTED(EXECUTABLE_EXTS, $EXECUTABLE_EXTS)</div><div class='del'>-    EXECUTABLE_EXTS=`echo $EXECUTABLE_EXTS | tr -d '"' | tr , ' '`</div><div class='del'>-    AC_SUBST(EXECUTABLE_EXTS)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AS_CASE("$cross_compiling:${LIBPATHENV}", [yes:* | no:], [], [</div><div class='del'>-    AC_MSG_CHECKING(whether wrapper for $LIBPATHENV is needed)</div><div class='del'>-    AS_IF([env ${LIBPATHENV}=/lib /bin/sh -c ': ${'${LIBPATHENV}'?}' 2&gt;/dev/null],</div><div class='del'>-	[AC_MSG_RESULT(no)],</div><div class='del'>-	[PREP="$PREP"' exe/$(PROGRAM)'</div><div class='del'>-	AC_MSG_RESULT(yes)]</div><div class='del'>-    )</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(dtrace,</div><div class='del'>-        AS_HELP_STRING([--enable-dtrace],</div><div class='del'>-        [enable DTrace for tracing inside ruby. enabled by default on systems having dtrace]),</div><div class='del'>-        [enable_dtrace=$enableval], [enable_dtrace=auto])</div><div class='del'>-</div><div class='del'>-LIBRUBY_A_OBJS='$(OBJS)'</div><div class='del'>-DTRACE_REBUILD=</div><div class='del'>-AS_CASE(["${enable_dtrace}"],</div><div class='del'>-[yes|auto], [</div><div class='del'>-    RUBY_DTRACE_AVAILABLE()</div><div class='del'>-], [</div><div class='del'>-    rb_cv_dtrace_available=no</div><div class='del'>-])</div><div class='del'>-AS_IF([test "${enable_dtrace}" = yes], [dnl</div><div class='del'>-    AS_IF([test -z "$DTRACE"], [dnl</div><div class='del'>-	AC_MSG_ERROR([dtrace(1) is missing])</div><div class='del'>-    ], [test "$cross_compiling" = yes], [dnl</div><div class='del'>-	AC_MSG_ERROR([--enable-dtrace, however, cross compiling])</div><div class='del'>-    ], [test "${rb_cv_dtrace_available}" = "no"], [dnl</div><div class='del'>-       AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])</div><div class='del'>-    ])</div><div class='del'>-])</div><div class='del'>-AS_CASE([$rb_cv_dtrace_available],</div><div class='del'>-[yes*], [dnl</div><div class='del'>-    RUBY_DTRACE_POSTPROCESS()</div><div class='del'>-    AS_IF([test "$rb_cv_prog_dtrace_g" != no], [dnl</div><div class='del'>-	DTRACE_OBJ='probes.$(OBJEXT)'</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test "$rb_cv_prog_dtrace_g" = rebuild], [dnl</div><div class='del'>-	DTRACE_REBUILD=yes</div><div class='del'>-	LIBRUBY_A_OBJS='$(DTRACE_GLOMMED_OBJ)'</div><div class='del'>-    ])</div><div class='del'>-    AS_CASE("${target_os}", [freebsd*], [dnl</div><div class='del'>-        # FreeBSD's dtrace requires libelf</div><div class='del'>-        LIBS="-lelf $LIBS"</div><div class='del'>-    ])</div><div class='del'>-    DTRACE_EXT=d</div><div class='del'>-], [dnl</div><div class='del'>-    enable_dtrace=no</div><div class='del'>-    DTRACE_EXT=dmyh</div><div class='del'>-])</div><div class='del'>-AC_SUBST(DTRACE_EXT)</div><div class='del'>-AC_SUBST(DTRACE_OBJ)</div><div class='del'>-AC_SUBST(DTRACE_REBUILD)</div><div class='del'>-AC_SUBST(DTRACE_OPT)</div><div class='del'>-AC_SUBST(LIBRUBY_A_OBJS)</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(gcov,</div><div class='del'>-       AS_HELP_STRING([--enable-gcov], [enable coverage measurement by gcov]),</div><div class='del'>-       [gcov=yes])</div><div class='del'>-AS_IF([test x"$gcov" = xyes], [</div><div class='del'>-    CFLAGS="$CFLAGS -coverage"</div><div class='del'>-    LDFLAGS="$LDFLAGS -coverage"</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-RUBY_SETJMP_TYPE</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-: "build section" &amp;&amp; {</div><div class='del'>-dnl build rdoc index if requested</div><div class='del'>-RDOCTARGET=""</div><div class='del'>-CAPITARGET=""</div><div class='del'>-AC_ARG_ENABLE(install-doc,</div><div class='del'>-       AS_HELP_STRING([--disable-install-doc], [do not install either rdoc indexes or C API documents during install]),</div><div class='del'>-       [install_doc=$enableval], [install_doc=yes])</div><div class='del'>-AC_ARG_ENABLE(install-rdoc,</div><div class='del'>-      AS_HELP_STRING([--disable-install-rdoc], [do not install rdoc indexes during install]),</div><div class='del'>-      [install_rdoc=$enableval], [install_rdoc=yes])</div><div class='del'>-AC_ARG_ENABLE(install-capi,</div><div class='del'>-      AS_HELP_STRING([--disable-install-capi], [do not install C API documents during install]),</div><div class='del'>-      [install_capi=$enableval], [install_capi=no])</div><div class='del'>-</div><div class='del'>-AS_IF([test "$install_doc" != no], [</div><div class='del'>-    AS_IF([test "$install_rdoc" != no], [</div><div class='del'>-	RDOCTARGET="rdoc"</div><div class='del'>-    ], [</div><div class='del'>-	RDOCTARGET="nodoc"</div><div class='del'>-    ])</div><div class='del'>-    AS_IF([test "$install_capi" != no -a -n "$DOXYGEN"], [</div><div class='del'>-	CAPITARGET="capi"</div><div class='del'>-    ], [</div><div class='del'>-	CAPITARGET="nodoc"</div><div class='del'>-    ])</div><div class='del'>-], [</div><div class='del'>-    RDOCTARGET="nodoc"</div><div class='del'>-    CAPITARGET="nodoc"</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_SUBST(RDOCTARGET)</div><div class='del'>-AC_SUBST(CAPITARGET)</div><div class='del'>-</div><div class='del'>-AS_CASE(["$RDOCTARGET:$CAPITARGET"],[nodoc:nodoc],[INSTALLDOC=nodoc],[INSTALLDOC=all])</div><div class='del'>-AC_SUBST(INSTALLDOC)</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(jit-support,</div><div class='del'>-        AS_HELP_STRING([--disable-jit-support], [disable JIT features]),</div><div class='del'>-        [MJIT_SUPPORT=$enableval</div><div class='del'>-         AS_IF([test x"$enable_jit_support" = "xyes"],</div><div class='del'>-                 [AC_DEFINE(USE_MJIT, 1)],</div><div class='del'>-                 [AC_DEFINE(USE_MJIT, 0)])],</div><div class='del'>-        [MJIT_SUPPORT=yes</div><div class='del'>-         AC_DEFINE(USE_MJIT, 1)])</div><div class='del'>-</div><div class='del'>-AC_SUBST(MJIT_SUPPORT)</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(install-static-library,</div><div class='del'>-	AS_HELP_STRING([--disable-install-static-library], [do not install static ruby library]),</div><div class='del'>-	[INSTALL_STATIC_LIBRARY=$enableval],</div><div class='del'>-	AS_IF([test x"$enable_shared" = xyes],</div><div class='del'>-	    [INSTALL_STATIC_LIBRARY=no],</div><div class='del'>-	    [INSTALL_STATIC_LIBRARY=yes]))</div><div class='del'>-AC_SUBST(INSTALL_STATIC_LIBRARY)</div><div class='del'>-</div><div class='del'>-AS_IF([test "$rb_with_pthread" = "yes"], [</div><div class='del'>-    THREAD_MODEL=pthread</div><div class='del'>-])</div><div class='del'>-AC_CACHE_CHECK([for prefix of external symbols], rb_cv_symbol_prefix, [</div><div class='del'>-    AC_TRY_COMPILE([extern void conftest_external(void) {}], [], [</div><div class='del'>-	rb_cv_symbol_prefix=`$NM conftest.$ac_objext |</div><div class='del'>-			     sed -n ['/.*T[ 	]\([^ 	]*\)conftest_external.*/!d;s//\1/p;q']`</div><div class='del'>-	],</div><div class='del'>-	[rb_cv_symbol_prefix=''])</div><div class='del'>-    test -n "$rb_cv_symbol_prefix" || rb_cv_symbol_prefix=NONE</div><div class='del'>-])</div><div class='del'>-SYMBOL_PREFIX="$rb_cv_symbol_prefix"</div><div class='del'>-test "x$SYMBOL_PREFIX" = xNONE &amp;&amp; SYMBOL_PREFIX=''</div><div class='del'>-DLNOBJ=dln.o</div><div class='del'>-AC_ARG_ENABLE(dln,</div><div class='del'>-	      AC_HELP_STRING([--disable-dln], [disable dynamic link feature]),</div><div class='del'>-	      [test "$enableval" = yes || DLNOBJ=dmydln.o])</div><div class='del'>-AC_SUBST(DLNOBJ)</div><div class='del'>-MINIDLNOBJ=dmydln.o</div><div class='del'>-</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-    [linux*], [</div><div class='del'>-	],</div><div class='del'>-    [netbsd*], [</div><div class='del'>-	RUBY_APPEND_OPTION(CFLAGS, -pipe)</div><div class='del'>-	],</div><div class='del'>-    [darwin*], [</div><div class='del'>-	RUBY_APPEND_OPTION(CFLAGS, -pipe)</div><div class='del'>-	AC_COMPILE_IFELSE([</div><div class='del'>-	    AC_LANG_BOOL_COMPILE_TRY([@%:@include &lt;AvailabilityMacros.h&gt;],</div><div class='del'>-		[MAC_OS_X_VERSION_MIN_REQUIRED &gt;= MAC_OS_X_VERSION_10_7])],</div><div class='del'>-	    [dnl</div><div class='del'>-		RUBY_APPEND_OPTION(XLDFLAGS, [-framework Security])</div><div class='del'>-		RUBY_APPEND_OPTION(LIBRUBYARG_STATIC, [-framework Security])</div><div class='del'>-	    ]dnl</div><div class='del'>-	)</div><div class='del'>-	RUBY_APPEND_OPTION(XLDFLAGS, [-framework Foundation])</div><div class='del'>-	RUBY_APPEND_OPTION(LIBRUBYARG_STATIC, [-framework Foundation])</div><div class='del'>-	],</div><div class='del'>-    [osf*], [</div><div class='del'>-	AS_IF([test "$GCC" != "yes" ], [</div><div class='del'>-	  # compile something small: taint.c is fine for this.</div><div class='del'>-	  # the main point is the '-v' flag of 'cc'.</div><div class='del'>-	  AS_CASE(["`cc -v -I. -c main.c -o /tmp/main.o 2&gt;&amp;1`"],</div><div class='del'>-	  [*/gemc_cc*], [   # we have the new DEC GEM CC</div><div class='del'>-                        CFLAGS="$CFLAGS -oldc"</div><div class='del'>-                        ],</div><div class='del'>-          [            # we have the old MIPS CC</div><div class='del'>-                        ])</div><div class='del'>-	  # cleanup</div><div class='del'>-	  rm -f /tmp/main.o</div><div class='del'>-	  CFLAGS="$CFLAGS -std"</div><div class='del'>-	])</div><div class='del'>-	],</div><div class='del'>-    [cygwin*|mingw*], [</div><div class='del'>-	LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' -Wl,--out-implib=$(LIBRUBY)'</div><div class='del'>-	AS_CASE(["$target_os"],</div><div class='del'>-	[cygwin*], [</div><div class='del'>-	    AS_IF([test x"$enable_shared" = xyes], [</div><div class='del'>-		LIBRUBY_SO='cyg$(RUBY_SO_NAME)'.dll</div><div class='del'>-		LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)'</div><div class='del'>-	    ])</div><div class='del'>-	    ],</div><div class='del'>-	[mingw*], [</div><div class='del'>-	    AS_IF([test x"$enable_shared" = xyes], [</div><div class='del'>-		LIBRUBY_SO='$(RUBY_SO_NAME)'.dll</div><div class='del'>-		LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)'</div><div class='del'>-	    ])</div><div class='del'>-	    EXPORT_PREFIX=' '</div><div class='del'>-	    DLDFLAGS="${DLDFLAGS}"' $(DEFFILE)'</div><div class='del'>-	    AC_LIBOBJ([win32/win32])</div><div class='del'>-	    AC_LIBOBJ([win32/file])</div><div class='del'>-	    COMMON_LIBS=m</div><div class='del'>-#	    COMMON_MACROS="WIN32_LEAN_AND_MEAN="</div><div class='del'>-	    COMMON_HEADERS="winsock2.h windows.h"</div><div class='del'>-	    THREAD_MODEL=win32</div><div class='del'>-	    PLATFORM_DIR=win32</div><div class='del'>-	    ])</div><div class='del'>-	LIBRUBY_ALIASES=''</div><div class='del'>-	FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in</div><div class='del'>-	AS_IF([test x"$enable_shared" = xyes], [</div><div class='del'>-	    LIBRUBY='lib$(RUBY_SO_NAME).dll.a'</div><div class='del'>-	], [</div><div class='del'>-	    LIBRUBY_SO=dummy</div><div class='del'>-	    LIBRUBY='lib$(RUBY_SO_NAME).a'</div><div class='del'>-	    LIBRUBYARG='-l$(RUBY_SO_NAME)'</div><div class='del'>-	])</div><div class='del'>-	],</div><div class='del'>-    [hpux*], [</div><div class='del'>-	AS_CASE(["$YACC"],[*yacc*], [</div><div class='del'>-	    XCFLAGS="$XCFLAGS -DYYMAXDEPTH=300"</div><div class='del'>-	    YACC="$YACC -Nl40000 -Nm40000"</div><div class='del'>-	])</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-MINIOBJS="$MINIDLNOBJ"</div><div class='del'>-</div><div class='del'>-AS_CASE(["$THREAD_MODEL"],</div><div class='del'>-[pthread], [AC_CHECK_HEADERS(pthread.h)],</div><div class='del'>-[win32],   [],</div><div class='del'>-[""],      [AC_MSG_ERROR(thread model is missing)],</div><div class='del'>-           [AC_MSG_ERROR(unknown thread model $THREAD_MODEL)])</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(debug-env,</div><div class='del'>-       AS_HELP_STRING([--enable-debug-env], [enable RUBY_DEBUG environment variable]),</div><div class='del'>-       [AC_SUBST(ENABLE_DEBUG_ENV, yes)])</div><div class='del'>-</div><div class='del'>-AS_CASE(["$FIRSTMAKEFILE"], [*GNUmakefile:*], [gnumake=yes], [</div><div class='del'>-    AC_MSG_CHECKING([if ${MAKE-make} is GNU make])</div><div class='del'>-    mkdir conftest.dir</div><div class='del'>-    echo "all:; @echo yes" &gt; conftest.dir/GNUmakefile</div><div class='del'>-    echo "all:; @echo no" &gt; conftest.dir/Makefile</div><div class='del'>-    gnumake=`(cd conftest.dir; ${MAKE-make})`</div><div class='del'>-    rm -fr conftest.dir</div><div class='del'>-    AS_CASE(["$gnumake"],</div><div class='del'>-    [*yes*], [</div><div class='del'>-	FIRSTMAKEFILE=GNUmakefile:template/GNUmakefile.in</div><div class='del'>-	gnumake=yes],</div><div class='del'>-    [</div><div class='del'>-	gnumake=no])</div><div class='del'>-    AC_MSG_RESULT($gnumake)</div><div class='del'>-])</div><div class='del'>-AS_IF([test "$gnumake" = yes], [ NULLCMD=: ], [</div><div class='del'>-    AC_MSG_CHECKING([for safe null command for ${MAKE-make}])</div><div class='del'>-    mkdir conftest.dir</div><div class='del'>-    NULLCMD=</div><div class='del'>-    for cmd in : true; do</div><div class='del'>-	echo 'A=1' &gt; conftest.dir/Makefile</div><div class='del'>-	echo 'B=$(A:1=@'$cmd')' &gt;&gt; conftest.dir/Makefile</div><div class='del'>-	echo 'all:; $B 1 2 3 4 5 6 7 8 9' &gt;&gt; conftest.dir/Makefile</div><div class='del'>-	AS_IF([(cd conftest.dir; ${MAKE-make} &gt;/dev/null 2&gt;/dev/null)], [</div><div class='del'>-	    NULLCMD=$cmd</div><div class='del'>-	    break</div><div class='del'>-	])</div><div class='del'>-    done</div><div class='del'>-    rm -fr conftest.dir</div><div class='del'>-    AS_IF([test -z "$NULLCMD"], [</div><div class='del'>-	AC_MSG_ERROR(no candidate for safe null command)</div><div class='del'>-    ])</div><div class='del'>-    AC_MSG_RESULT($NULLCMD)</div><div class='del'>-])</div><div class='del'>-AC_SUBST(NULLCMD)</div><div class='del'>-</div><div class='del'>-AS_IF([test "${universal_binary-no}" = yes ], [</div><div class='del'>-    AC_CACHE_CHECK([for architecture macros], rb_cv_architecture_macros, [</div><div class='del'>-    mv confdefs.h confdefs1.h</div><div class='del'>-    : &gt; confdefs.h</div><div class='del'>-    AC_TRY_COMPILE([@%:@if defined __`echo ${universal_archnames} |</div><div class='del'>-    sed 's/=[^ ]*//g;s/ /__ || defined __/g'`__</div><div class='del'>-@%:@else</div><div class='del'>-@%:@error</div><div class='del'>-&gt;&gt;&gt;&gt;&gt;&gt;&lt;&lt;&lt;&lt;&lt;&lt;</div><div class='del'>-@%:@endif], [],</div><div class='del'>-[</div><div class='del'>-    rb_cv_architecture_macros=yes</div><div class='del'>-    mv -f confdefs1.h confdefs.h</div><div class='del'>-], [</div><div class='del'>-    rb_cv_architecture_macros=no</div><div class='del'>-    archflagpat=`eval echo '"'"${ARCH_FLAG}"'"' | sed 's/[[][|.*]]/\\&amp;/g'`</div><div class='del'>-    new_cflags=`echo "$CFLAGS" | sed "s|$archflagpat"'||'`</div><div class='del'>-    for archs in ${universal_archnames}; do</div><div class='del'>-	cpu=${archs@%:@*=}</div><div class='del'>-	archs=${archs%=*}</div><div class='del'>-	CFLAGS="$new_cflags -arch $archs"</div><div class='del'>-	archs="__${archs}__"</div><div class='del'>-	AC_MSG_CHECKING([for macro ${archs} on ${cpu}])</div><div class='del'>-	AC_TRY_COMPILE([@%:@ifndef ${archs}</div><div class='del'>-@%:@error</div><div class='del'>-@%:@endif], [], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])</div><div class='del'>-    done</div><div class='del'>-    mv -f confdefs1.h confdefs.h</div><div class='del'>-    AC_MSG_ERROR([failed])</div><div class='del'>-    ])])</div><div class='del'>-    AC_CACHE_CHECK(whether __ARCHITECTURE__ is available, rb_cv_architecture_available,</div><div class='del'>-	AC_TRY_COMPILE([@%:@include &lt;stdio.h&gt;</div><div class='del'>-		const char arch[[]] = __ARCHITECTURE__;], [puts(arch);],</div><div class='del'>-		[rb_cv_architecture_available=yes], [rb_cv_architecture_available=no]))</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-: ${MJIT_LDSHARED=`echo "$LDSHARED" | sed ['s|\$(LD)|'"${LD}"'|g;s|\$(CC)|$(MJIT_CC)|g']`}</div><div class='del'>-</div><div class='del'>-MAINLIBS="$LIBS"</div><div class='del'>-LIBS=$ORIG_LIBS</div><div class='del'>-AS_IF([test -n "${LIBS}"], [</div><div class='del'>-    libspat=`echo "${LIBS}" | sed 's/[[][|.*$^]]/\\&amp;/g;s/^  */ /;s/^  *$/ /'`</div><div class='del'>-    MAINFLAGS=`echo " $MAINLIBS " | sed "s|$libspat"'||;s/^ *//;s/ *$//'`</div><div class='del'>-])</div><div class='del'>-LIBRUBYARG_STATIC="${LIBRUBYARG_STATIC} \$(MAINLIBS)"</div><div class='del'>-CPPFLAGS="$CPPFLAGS "'$(DEFS)'</div><div class='del'>-test -z "$CPPFLAGS" || CPPFLAGS="$CPPFLAGS "; CPPFLAGS="$CPPFLAGS"'${cppflags}'</div><div class='del'>-AS_IF([test -n "${cflags+set}"], [</div><div class='del'>-    cflagspat=`eval echo '"'"${cflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^  */ /;s/^  *$/ /'`</div><div class='del'>-    CFLAGS=`echo " $CFLAGS " | sed "s|$cflagspat"'|${cflags}|;s/^ *//;s/ *$//'`</div><div class='del'>-])</div><div class='del'>-AS_IF([test -n "${cxxflags+set}"], [</div><div class='del'>-    cxxflagspat=`eval echo '"'"${cxxflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^  */ /;s/^  *$/ /'`</div><div class='del'>-    CXXFLAGS=`echo " $CXXFLAGS " | sed "s|$cxxflagspat"'|${cxxflags}|;s/^ *//;s/ *$//'`</div><div class='del'>-])</div><div class='del'>-AS_IF([test "${ARCH_FLAG}"], [</div><div class='del'>-    archflagpat=`eval echo '"'"${ARCH_FLAG}"'"' | sed 's/[[][|.*]]/\\&amp;/g'`</div><div class='del'>-    CFLAGS=`echo "$CFLAGS" | sed "s| *$archflagpat"'||'`</div><div class='del'>-    CXXFLAGS=`echo "$CXXFLAGS" | sed "s| *$archflagpat"'||'`</div><div class='del'>-    LDFLAGS=`echo "$LDFLAGS" | sed "s| *$archflagpat"'||'`</div><div class='del'>-])</div><div class='del'>-warnflags="$rb_cv_warnflags"</div><div class='del'>-AC_SUBST(cppflags)dnl</div><div class='del'>-AC_SUBST(cflags, ["${orig_cflags:+$orig_cflags }"'${optflags} ${debugflags} ${warnflags}'])dnl</div><div class='del'>-AC_SUBST(cxxflags, ["${orig_cxxflags:+$orig_cxxflags }"'${optflags} ${debugflags} ${warnflags}'])dnl</div><div class='del'>-AC_SUBST(optflags)dnl</div><div class='del'>-AC_SUBST(debugflags)dnl</div><div class='del'>-AC_SUBST(warnflags)dnl</div><div class='del'>-AC_SUBST(strict_warnflags)dnl</div><div class='del'>-AC_SUBST(XCFLAGS)dnl</div><div class='del'>-AC_SUBST(XLDFLAGS)dnl</div><div class='del'>-AC_SUBST(EXTLDFLAGS)dnl</div><div class='del'>-AC_SUBST(EXTDLDFLAGS)dnl</div><div class='del'>-AC_SUBST(LIBRUBY_LDSHARED)</div><div class='del'>-AC_SUBST(LIBRUBY_DLDFLAGS)</div><div class='del'>-AC_SUBST(RUBY_INSTALL_NAME)</div><div class='del'>-AC_SUBST(rubyw_install_name)</div><div class='del'>-AC_SUBST(RUBYW_INSTALL_NAME)</div><div class='del'>-AC_SUBST(RUBY_SO_NAME)</div><div class='del'>-AC_SUBST(LIBRUBY_A)</div><div class='del'>-AC_SUBST(LIBRUBY_SO)</div><div class='del'>-AC_SUBST(LIBRUBY_SONAME)</div><div class='del'>-AC_SUBST(LIBRUBY_ALIASES)</div><div class='del'>-AC_SUBST(LIBRUBY)</div><div class='del'>-AC_SUBST(LIBRUBYARG)</div><div class='del'>-AC_SUBST(LIBRUBYARG_STATIC)</div><div class='del'>-AC_SUBST(LIBRUBYARG_SHARED)</div><div class='del'>-AC_SUBST(SOLIBS)</div><div class='del'>-AC_SUBST(DLDLIBS)</div><div class='del'>-AC_SUBST(DLDSHARED)</div><div class='del'>-AC_SUBST(ENABLE_SHARED)</div><div class='del'>-AC_SUBST(MAINLIBS)</div><div class='del'>-AC_SUBST(COMMON_LIBS)</div><div class='del'>-AC_SUBST(COMMON_MACROS)</div><div class='del'>-AC_SUBST(COMMON_HEADERS)</div><div class='del'>-AC_SUBST(EXPORT_PREFIX)</div><div class='del'>-AC_SUBST(SYMBOL_PREFIX)</div><div class='del'>-AC_SUBST(MINIOBJS)</div><div class='del'>-AC_SUBST(THREAD_MODEL)</div><div class='del'>-AC_SUBST(PLATFORM_DIR)</div><div class='del'>-</div><div class='del'>-firstmf=`echo $FIRSTMAKEFILE | sed 's/:.*//'`</div><div class='del'>-firsttmpl=`echo $FIRSTMAKEFILE | sed 's/.*://'`</div><div class='del'>-MAKEFILES="Makefile $firstmf"</div><div class='del'>-MAKEFILES="`echo $MAKEFILES`"</div><div class='del'>-AC_SUBST(MAKEFILES)</div><div class='del'>-</div><div class='del'>-ri_prefix=</div><div class='del'>-test "$program_prefix" != NONE &amp;&amp;</div><div class='del'>-  ri_prefix=$program_prefix</div><div class='del'>-</div><div class='del'>-ri_suffix=</div><div class='del'>-test "$program_suffix" != NONE &amp;&amp;</div><div class='del'>-  ri_suffix=$program_suffix</div><div class='del'>-</div><div class='del'>-RUBY_INSTALL_NAME="${ri_prefix}"'$(RUBY_BASE_NAME)'"${ri_suffix}"</div><div class='del'>-AS_CASE(["$target_os"],</div><div class='del'>-  [cygwin*|mingw*], [</div><div class='del'>-    RUBYW_INSTALL_NAME="${ri_prefix}"'$(RUBYW_BASE_NAME)'"${ri_suffix}"</div><div class='del'>-    rubyw_install_name='$(RUBYW_INSTALL_NAME)'</div><div class='del'>-    ])</div><div class='del'>-</div><div class='del'>-rubylibdir='${rubylibprefix}/${ruby_version}'</div><div class='del'>-rubyarchdir=${multiarch+'${rubyarchprefix}/${ruby_version}'}${multiarch-'${rubylibdir}/${arch}'}</div><div class='del'>-</div><div class='del'>-rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'}</div><div class='del'>-AC_ARG_WITH(rubyarchprefix,</div><div class='del'>-	    AS_HELP_STRING([--with-rubyarchprefix=DIR],</div><div class='del'>-			   [prefix for architecture dependent ruby libraries [[RUBYLIBPREFIX/ARCH]]]),</div><div class='del'>-	    [rubyarchprefix="$withval"])</div><div class='del'>-AC_SUBST(rubyarchprefix)</div><div class='del'>-</div><div class='del'>-rubysitearchprefix=${multiarch+'${sitearchlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${sitearch}'}</div><div class='del'>-AC_ARG_WITH(rubysitearchprefix,</div><div class='del'>-	    AS_HELP_STRING([--with-rubysitearchprefix=DIR],</div><div class='del'>-			   [prefix for architecture dependent site libraries [[RUBYLIBPREFIX/SITEARCH]]]),</div><div class='del'>-	    [rubysitearchprefix="$withval"])</div><div class='del'>-AC_SUBST(rubysitearchprefix)</div><div class='del'>-</div><div class='del'>-RI_BASE_NAME=`echo ${RUBY_BASE_NAME} | sed 's/ruby/ri/'`</div><div class='del'>-ridir='${datarootdir}/${RI_BASE_NAME}'</div><div class='del'>-AC_ARG_WITH(ridir,</div><div class='del'>-	    AS_HELP_STRING([--with-ridir=DIR], [ri documentation [[DATAROOTDIR/ri]]]),</div><div class='del'>-	    [ridir=$withval])</div><div class='del'>-AC_SUBST(ridir)</div><div class='del'>-AC_SUBST(RI_BASE_NAME)</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(ruby-version,</div><div class='del'>-	    AS_HELP_STRING([--with-ruby-version=STR], [ruby version string for version specific directories [[full]] (full|minor|STR)]),</div><div class='del'>-            [ruby_version=$withval],</div><div class='del'>-            [ruby_version=full])</div><div class='del'>-unset RUBY_LIB_VERSION</div><div class='del'>-unset RUBY_LIB_VERSION_STYLE</div><div class='del'>-AS_CASE(["$ruby_version"],</div><div class='del'>-  [full],  [RUBY_LIB_VERSION_STYLE='3	/* full */'],</div><div class='del'>-  [minor], [RUBY_LIB_VERSION_STYLE='2	/* minor */'])</div><div class='del'>-AS_IF([test ${RUBY_LIB_VERSION_STYLE+set}], [</div><div class='del'>-    {</div><div class='del'>-    echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE"</div><div class='del'>-    echo '#define STRINGIZE(x) x'</div><div class='del'>-    test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0'</div><div class='del'>-    echo '#include "version.h"'</div><div class='del'>-    echo 'ruby_version=RUBY_LIB_VERSION'</div><div class='del'>-    } &gt; conftest.c</div><div class='del'>-    ruby_version="`$CPP -I. -I"${srcdir}" -I"${srcdir}/include" conftest.c | sed '/^ruby_version=/!d;s/ //g'`"</div><div class='del'>-    eval $ruby_version</div><div class='del'>-], [test -z "${ruby_version}"], [</div><div class='del'>-    AC_MSG_ERROR([No ruby version, No place for bundled libraries])</div><div class='del'>-], [</div><div class='del'>-    RUBY_LIB_VERSION="${ruby_version}"</div><div class='del'>-])</div><div class='del'>-AC_SUBST(RUBY_LIB_VERSION_STYLE)</div><div class='del'>-AC_SUBST(RUBY_LIB_VERSION)</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(sitedir,</div><div class='del'>-	    AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]], "no" to disable site directory]),</div><div class='del'>-            [sitedir=$withval],</div><div class='del'>-            [sitedir='${rubylibprefix}/site_ruby'])</div><div class='del'>-sitelibdir='${sitedir}/${ruby_version}'</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(sitearchdir,</div><div class='del'>-	    AS_HELP_STRING([--with-sitearchdir=DIR],</div><div class='del'>-			   [architecture dependent site libraries in DIR [[SITEDIR/SITEARCH]], "no" to disable site directory]),</div><div class='del'>-            [sitearchdir=$withval],</div><div class='del'>-            [sitearchdir=${multiarch+'${rubysitearchprefix}/site_ruby/${ruby_version}'}${multiarch-'${sitelibdir}/${sitearch}'}])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(vendordir,</div><div class='del'>-	    AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]], "no" to disable vendor directory]),</div><div class='del'>-            [vendordir=$withval],</div><div class='del'>-            [vendordir='${rubylibprefix}/vendor_ruby'])</div><div class='del'>-vendorlibdir='${vendordir}/${ruby_version}'</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(vendorarchdir,</div><div class='del'>-	    AS_HELP_STRING([--with-vendorarchdir=DIR],</div><div class='del'>-			   [architecture dependent vendor libraries in DIR [[VENDORDIR/SITEARCH]], "no" to disable vendor directory]),</div><div class='del'>-            [vendorarchdir=$withval],</div><div class='del'>-            [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}])</div><div class='del'>-</div><div class='del'>-AS_IF([test "${LOAD_RELATIVE+set}"], [</div><div class='del'>-    AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)</div><div class='del'>-    RUBY_EXEC_PREFIX=''</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_SUBST(RUBY_EXEC_PREFIX)</div><div class='del'>-</div><div class='del'>-AC_SUBST(libdirname, ${multiarch+arch}libdir)</div><div class='del'>-AC_SUBST(archlibdir)dnl</div><div class='del'>-AC_SUBST(sitearchlibdir)dnl</div><div class='del'>-AC_SUBST(archincludedir)dnl</div><div class='del'>-AC_SUBST(sitearchincludedir)dnl</div><div class='del'>-AC_SUBST(arch)dnl</div><div class='del'>-AC_SUBST(sitearch)dnl</div><div class='del'>-AC_SUBST(ruby_version)dnl</div><div class='del'>-AC_SUBST(rubylibdir)dnl</div><div class='del'>-AC_SUBST(rubyarchdir)dnl</div><div class='del'>-AC_SUBST(sitedir)dnl</div><div class='del'>-AC_SUBST(sitelibdir)dnl</div><div class='del'>-AC_SUBST(sitearchdir)dnl</div><div class='del'>-AC_SUBST(vendordir)dnl</div><div class='del'>-AC_SUBST(vendorlibdir)dnl</div><div class='del'>-AC_SUBST(vendorarchdir)dnl</div><div class='del'>-</div><div class='del'>-AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl</div><div class='del'>-AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl</div><div class='del'>-</div><div class='del'>-AS_IF([test "${universal_binary-no}" = yes ], [</div><div class='del'>-    arch="universal-${target_os}"</div><div class='del'>-    AS_IF([test "${rb_cv_architecture_available}" = yes], [</div><div class='del'>-	AC_DEFINE_UNQUOTED(RUBY_PLATFORM_CPU, __ARCHITECTURE__)</div><div class='del'>-    ], [</div><div class='del'>-	for archs in ${universal_archnames}; do</div><div class='del'>-	    cpu=`echo $archs | sed 's/.*=//'`</div><div class='del'>-	    archs=`echo $archs | sed 's/=.*//'`</div><div class='del'>-	    RUBY_DEFINE_IF([defined __${archs}__ &amp;&amp;! defined RUBY_PLATFORM_CPU], RUBY_PLATFORM_CPU, ["${cpu}"])</div><div class='del'>-	done</div><div class='del'>-    ])</div><div class='del'>-    ints='long int short'</div><div class='del'>-    test "$ac_cv_type_long_long" = yes &amp;&amp; ints="'long long' $ints"</div><div class='del'>-    AC_SUBST(UNIVERSAL_ARCHNAMES, "${universal_archnames}")</div><div class='del'>-    AC_SUBST(UNIVERSAL_INTS, "${ints}")</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_PLATFORM_OS, "${target_os}")</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_ARCH, "universal-"RUBY_PLATFORM_OS)</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "universal."RUBY_PLATFORM_CPU"-"RUBY_PLATFORM_OS)</div><div class='del'>-], [</div><div class='del'>-    arch="${target_cpu}-${target_os}"</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "$arch")</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-unset sitearch</div><div class='del'>-AS_CASE(["$target_os"],[mingw*],[sitearch="$target_cpu-$rb_cv_msvcrt"])</div><div class='del'>-: ${sitearch='${arch}'}</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(search-path,</div><div class='del'>-		AS_HELP_STRING([--with-search-path=DIR], [specify the additional search path]),</div><div class='del'>-		[search_path=$withval])</div><div class='del'>-AS_IF([test "$search_path" != ""], [</div><div class='del'>-    AC_SUBST(RUBY_SEARCH_PATH, $search_path)</div><div class='del'>-])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(rubyhdrdir,</div><div class='del'>-	    AS_HELP_STRING([--with-rubyhdrdir=DIR], [core headers in DIR [[INCLUDEDIR/RUBY_BASE_NAME-RUBY_VERSION]]]),</div><div class='del'>-	    [rubyhdrdir=$withval],</div><div class='del'>-	    [rubyhdrdir='${includedir}/${RUBY_VERSION_NAME}'])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(rubyarchhdrdir,</div><div class='del'>-	    AS_HELP_STRING([--with-rubyarchhdrdir=DIR],</div><div class='del'>-			   [architecture dependent core headers in DIR [[$(rubyhdrdir)/$(arch)]]]),</div><div class='del'>-	    [rubyarchhdrdir=$withval],</div><div class='del'>-	    [rubyarchhdrdir=${multiarch+'${archincludedir}/${RUBY_VERSION_NAME}'}${multiarch-'${rubyhdrdir}/${arch}'}])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(sitehdrdir,</div><div class='del'>-	    AS_HELP_STRING([--with-sitehdrdir=DIR], [core site headers in DIR [[RUBYHDRDIR/site_ruby]]]),</div><div class='del'>-	    [sitehdrdir=$withval],</div><div class='del'>-	    [sitehdrdir='${rubyhdrdir}/site_ruby'])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(sitearchhdrdir,</div><div class='del'>-	    AS_HELP_STRING([--with-sitearchhdrdir=DIR],</div><div class='del'>-			   [architecture dependent core site headers in DIR [[RUBYHDRDIR/site_ruby]]]),</div><div class='del'>-	    [sitearchhdrdir=$withval],</div><div class='del'>-	    [sitearchhdrdir=${multiarch+'${sitearchincludedir}/${RUBY_VERSION_NAME}/site_ruby'}${multiarch-'${sitehdrdir}/${sitearch}'}])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(vendorhdrdir,</div><div class='del'>-	    AS_HELP_STRING([--with-vendorhdrdir=DIR], [core vendor headers in DIR [[RUBYHDRDIR/vendor_ruby]]]),</div><div class='del'>-	    [vendorhdrdir=$withval],</div><div class='del'>-	    [vendorhdrdir='${rubyhdrdir}/vendor_ruby'])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(vendorarchhdrdir,</div><div class='del'>-	    AS_HELP_STRING([--with-vendorarchhdrdir=DIR],</div><div class='del'>-			   [architecture dependent core vendor headers in DIR [[RUBYHDRDIR/vendor_ruby]]]),</div><div class='del'>-	    [vendorarchhdrdir=$withval],</div><div class='del'>-	    [vendorarchhdrdir=${multiarch+'${sitearchincludedir}/${RUBY_VERSION_NAME}/vendor_ruby'}${multiarch-'${vendorhdrdir}/${sitearch}'}])</div><div class='del'>-</div><div class='del'>-AC_SUBST(rubyhdrdir)dnl</div><div class='del'>-AC_SUBST(sitehdrdir)dnl</div><div class='del'>-AC_SUBST(vendorhdrdir)dnl</div><div class='del'>-AC_SUBST(rubyarchhdrdir)dnl</div><div class='del'>-AC_SUBST(sitearchhdrdir)dnl</div><div class='del'>-AC_SUBST(vendorarchhdrdir)dnl</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(mantype,</div><div class='del'>-	AS_HELP_STRING([--with-mantype=TYPE], [specify man page type; TYPE is one of man and doc]),</div><div class='del'>-		[</div><div class='del'>-			AS_CASE(["$withval"],</div><div class='del'>-			[man|man.gz|man.bz2|doc|doc.gz|doc.bz2], [MANTYPE=$withval],</div><div class='del'>-			[AC_MSG_ERROR(invalid man type: $withval)])</div><div class='del'>-		])</div><div class='del'>-AS_IF([test -z "$MANTYPE"], [</div><div class='del'>-	dnl Looks for nroff with -mdoc support.</div><div class='del'>-	AC_CACHE_VAL([ac_cv_path_NROFF], [</div><div class='del'>-		AC_PATH_PROGS_FEATURE_CHECK([NROFF],</div><div class='del'>-			[nroff awf mandoc],</div><div class='del'>-			[$ac_path_NROFF -mdoc ${srcdir}/man/ruby.1 \</div><div class='del'>-				&gt;/dev/null 2&gt;&amp;1 &amp;&amp;</div><div class='del'>-				ac_cv_path_NROFF=$ac_path_NROFF \</div><div class='del'>-				ac_path_NROFF_found=:],</div><div class='del'>-			[], ["/usr/bin:/usr/ucb"]</div><div class='del'>-		)</div><div class='del'>-	])</div><div class='del'>-	AS_IF([test -n "$ac_cv_path_NROFF"], [</div><div class='del'>-		MANTYPE=doc</div><div class='del'>-	], [</div><div class='del'>-		MANTYPE=man</div><div class='del'>-	])</div><div class='del'>-])</div><div class='del'>-AC_SUBST(MANTYPE)</div><div class='del'>-</div><div class='del'>-AC_ARG_ENABLE(rubygems,</div><div class='del'>-	AS_HELP_STRING([--disable-rubygems], [disable rubygems by default]),</div><div class='del'>-	[enable_rubygems="$enableval"], [enable_rubygems=yes])</div><div class='del'>-AS_IF([test x"$enable_rubygems" = xno], [</div><div class='del'>-    USE_RUBYGEMS=no</div><div class='del'>-], [</div><div class='del'>-    USE_RUBYGEMS=yes</div><div class='del'>-])</div><div class='del'>-AC_SUBST(USE_RUBYGEMS)</div><div class='del'>-</div><div class='del'>-arch_hdrdir="${EXTOUT}/include/${arch}/ruby"</div><div class='del'>-AS_MKDIR_P("${arch_hdrdir}")</div><div class='del'>-config_h="${arch_hdrdir}/config.h"</div><div class='del'>-guard=INCLUDE_RUBY_CONFIG_H</div><div class='del'>-{</div><div class='del'>-  echo "#ifndef $guard"</div><div class='del'>-  echo "#define $guard 1"</div><div class='del'>-  grep -v "^#define PACKAGE_" confdefs.h</div><div class='del'>-  echo "#endif /* $guard */"</div><div class='del'>-} | tr -d '\015' |</div><div class='del'>-(</div><div class='del'>-  AS_IF([test "x$CONFIGURE_TTY" = xyes], [color=--color], [color=])</div><div class='del'>-  exec ${srcdir}/tool/ifchange $color "${config_h}" -</div><div class='del'>-) &gt;&amp;AS_MESSAGE_FD || AC_MSG_ERROR([failed to create ${config_h}])</div><div class='del'>-tr -d '\015' &lt; largefile.h &gt; confdefs.h</div><div class='del'>-rm largefile.h</div><div class='del'>-</div><div class='del'>-BUILTIN_ENCS=["`sed -n -e '/^BUILTIN_ENCS[ 	]*=/{' \</div><div class='del'>-	-e s/// -e :l -e '/\\\\$/N' -e 's/\\\\\\n/ /' -e 't l' -e p \</div><div class='del'>-	-e '}' "${srcdir}/enc/Makefile.in"`"]</div><div class='del'>-BUILTIN_ENCOBJS=</div><div class='del'>-for e in $BUILTIN_ENCS; do BUILTIN_ENCOBJS="$BUILTIN_ENCOBJS "`echo $e | sed 's/\.c$/.$(OBJEXT)/'`; done</div><div class='del'>-AC_SUBST(BUILTIN_ENCOBJS)</div><div class='del'>-</div><div class='del'>-BUILTIN_TRANSES=["`sed -n -e '/^BUILTIN_TRANSES[ 	]*=/{' \</div><div class='del'>-	-e s/// -e :l -e '/\\\\$/N' -e 's/\\\\\\n/ /' -e 't l' -e p \</div><div class='del'>-	-e '}' "${srcdir}/enc/Makefile.in"`"]</div><div class='del'>-BUILTIN_TRANSSRCS=</div><div class='del'>-BUILTIN_TRANSOBJS=</div><div class='del'>-for e in $BUILTIN_TRANSES; do</div><div class='del'>-  BUILTIN_TRANSSRCS="$BUILTIN_TRANSSRCS "`echo $e | sed 's/\.trans$/.c/'`</div><div class='del'>-  BUILTIN_TRANSOBJS="$BUILTIN_TRANSOBJS "`echo $e | sed 's/\.trans$/.$(OBJEXT)/'`</div><div class='del'>-done</div><div class='del'>-AC_SUBST(BUILTIN_TRANSSRCS)</div><div class='del'>-AC_SUBST(BUILTIN_TRANSOBJS)</div><div class='del'>-</div><div class='del'>-PACKAGE=$RUBY_BASE_NAME</div><div class='del'>-AC_SUBST(PACKAGE)</div><div class='del'>-AS_MESSAGE([$PACKAGE library version = $ruby_version])</div><div class='del'>-</div><div class='del'>-AS_IF([test x"$CC_WRAPPER" != x], [</div><div class='del'>-    CC='$(CC_WRAPPER) '"${CC@%:@$CC_WRAPPER }"</div><div class='del'>-    CPP='$(CC_WRAPPER) '"${CPP@%:@$CC_WRAPPER }"</div><div class='del'>-    CC_WRAPPER='$(rubyarchdir)/darwin-cc'</div><div class='del'>-    XCC_WRAPPER='$(top_srcdir)/tool/darwin-cc'</div><div class='del'>-])</div><div class='del'>-AC_SUBST(CC_WRAPPER, '')</div><div class='del'>-AC_SUBST(XCC_WRAPPER)</div><div class='del'>-</div><div class='del'>-AS_CASE([" $CPP "], [*" $CC "*], [CPP=`echo " $CPP " | sed "s| $CC |"' $(CC) |;s/^ *//;s/  *$//'`])</div><div class='del'>-</div><div class='del'>-AS_IF([test x"$firstmf" != x], [</div><div class='del'>-    AC_CONFIG_FILES($firstmf:$firsttmpl, [], [firstmf="$firstmf" firsttmpl="$firsttmpl"])</div><div class='del'>-])</div><div class='del'>-AC_CONFIG_FILES(Makefile, [</div><div class='del'>-    tmpmk=confmk$$.tmp</div><div class='del'>-    {</div><div class='del'>-	AS_IF([test ${VCS+set}], [</div><div class='del'>-	    :</div><div class='del'>-	], [svn info "$srcdir" &gt; /dev/null 2&gt;&amp;1], [</div><div class='del'>-	    VCS='svn'</div><div class='del'>-	], [git_dir=`$GIT --work-tree="$srcdir" --git-dir="$srcdir/.git" rev-parse --git-dir 2&gt;/dev/null`], [</div><div class='del'>-	    AS_IF([test -d "$git_dir/svn"], [</div><div class='del'>-		VCS='$(GIT) svn'</div><div class='del'>-	    ], [</div><div class='del'>-		VCS='$(GIT)'</div><div class='del'>-	    ])</div><div class='del'>-	], [</div><div class='del'>-	    VCS='echo cannot'</div><div class='del'>-	])</div><div class='del'>-	AS_CASE("$VCS",</div><div class='del'>-		[svn],          [VCSUP='$(VCS) up $(SVNUPOPTIONS)'],</div><div class='del'>-		['$(GIT) svn'], [VCSUP='$(VCS) rebase $(GITSVNREBASEOPTIONS)'],</div><div class='del'>-		['$(GIT)'|git], [VCSUP='$(VCS) pull $(GITPULLOPTIONS)'],</div><div class='del'>-		[VCSUP='$(VCS)'])</div><div class='del'>-	sed -n \</div><div class='del'>-	    -e '[/^@%:@define \(RUBY_RELEASE_[A-Z]*\) \([0-9][0-9]*\)/]{' \</div><div class='del'>-	    -e   's//\1 = \2/' \</div><div class='del'>-	    -e   '[s/ \([0-9]\)$/ 0\1/]' \</div><div class='del'>-	    -e   p \</div><div class='del'>-	    -e '}' "$srcdir/version.h"</div><div class='del'>-	sed '/^MISSING/s/\$U\././g;/^VCS *=/s#@VCS@#'"$VCS"'#;/^VCSUP *=/s#@VCSUP@#'"$VCSUP"'#' Makefile</div><div class='del'>-	echo; test x"$EXEEXT" = x || echo 'miniruby: miniruby$(EXEEXT)'</div><div class='del'>-	AS_IF([test "$gnumake" != yes], [</div><div class='del'>-	    echo ['$(MKFILES): $(srcdir)/common.mk']</div><div class='del'>-	    sed ['s/{\$([^(){}]*)[^{}]*}//g'] ${srcdir}/common.mk</div><div class='del'>-	], [</div><div class='del'>-	    echo 'distclean-local::; @$(RM) GNUmakefile uncommon.mk'</div><div class='del'>-	])</div><div class='del'>-    } &gt; $tmpmk &amp;&amp; AS_IF([! grep '^ruby:' $tmpmk &gt; /dev/null], [</div><div class='del'>-	AS_IF([test "${gnumake}" = yes], [</div><div class='del'>-	    tmpgmk=confgmk$$.tmp</div><div class='del'>-	    {</div><div class='del'>-		echo "include $tmpmk"</div><div class='del'>-		echo "-include uncommon.mk"</div><div class='del'>-	    } &gt; $tmpgmk</div><div class='del'>-	], [</div><div class='del'>-	    tmpgmk=$tmpmk</div><div class='del'>-	]) &amp;&amp;</div><div class='del'>-	test -z "`${MAKE-make} -f $tmpgmk info-program | grep '^PROGRAM=ruby$'`" &amp;&amp;</div><div class='del'>-	echo 'ruby: $(PROGRAM);' &gt;&gt; $tmpmk</div><div class='del'>-	test "$tmpmk" = "$tmpgmk" || rm -f "$tmpgmk"</div><div class='del'>-    ]) &amp;&amp; mv -f $tmpmk Makefile],</div><div class='del'>-[EXEEXT='$EXEEXT' gnumake='$gnumake' GIT='$GIT'])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH([ruby-pc],</div><div class='del'>-	    AC_HELP_STRING([--with-ruby-pc=FILENAME], [pc file basename]),</div><div class='del'>-	    [ruby_pc="$withval"],</div><div class='del'>-	    [ruby_pc="${RUBY_BASE_NAME}-${MAJOR}.${MINOR}.pc"])</div><div class='del'>-AC_SUBST(ruby_pc)</div><div class='del'>-AC_SUBST(exec, [exec])</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(destdir,</div><div class='del'>-	    AS_HELP_STRING([--with-destdir=DESTDIR], [specify default directory to install]),</div><div class='del'>-	    [DESTDIR="$withval"])</div><div class='del'>-AC_SUBST(DESTDIR)</div><div class='del'>-</div><div class='del'>-AC_CONFIG_FILES($ruby_pc:template/ruby.pc.in,</div><div class='del'>-    [</div><div class='del'>-    AS_IF([sed ['s/\$(\([A-Za-z_][A-Za-z0-9_]*\))/${\1}/g;s/@[A-Za-z_][A-Za-z0-9_]*@//'] $ruby_pc &gt; ruby.tmp.pc &amp;&amp;</div><div class='del'>-	{</div><div class='del'>-	    test -z "$PKG_CONFIG" ||</div><div class='del'>-	    PKG_CONFIG_PATH=. $PKG_CONFIG --print-errors ruby.tmp</div><div class='del'>-	}],</div><div class='del'>-    [</div><div class='del'>-	mv -f ruby.tmp.pc $ruby_pc</div><div class='del'>-    ], [</div><div class='del'>-	exit 1</div><div class='del'>-    ])</div><div class='del'>-    ],</div><div class='del'>-    [ruby_pc='$ruby_pc' PKG_CONFIG='$PKG_CONFIG'])</div><div class='del'>-</div><div class='del'>-AC_OUTPUT</div><div class='del'>-}</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-AS_IF([test "$silent" = yes], [], [</div><div class='del'>-AS_IF([${FOLD+:} false], [], [</div><div class='del'>-AS_IF([test "`echo abcdefg hijklmno | fold -s -w10 | sed 1d`" = hijklmno], [FOLD="fold"], [FOLD=])</div><div class='del'>-])</div><div class='del'>-AS_REQUIRE_SHELL_FN([config_summary],</div><div class='del'>-    [AS_FUNCTION_DESCRIBE([config_summary], [NAME, VAL], [configuration summary])],</div><div class='del'>-    [AS_IF([test -z "$2"], [], [</div><div class='del'>-	AS_ECHO_N(["   * $1:                     "]) | dd bs=1 count=26 2&gt;/dev/null</div><div class='del'>-	AS_IF([test "$FOLD"], [</div><div class='del'>-	    echo "$2" | fold -s -w50 |</div><div class='del'>-	    sed '1!s/^/                          /;$!s/$/\\/'</div><div class='del'>-	], [echo "$2"])</div><div class='del'>-    ])]</div><div class='del'>-)</div><div class='del'>-</div><div class='del'>-echo "---"</div><div class='del'>-echo "Configuration summary for $RUBY_BASE_NAME version $RUBY_PROGRAM_VERSION"</div><div class='del'>-echo ""</div><div class='del'>-config_summary "Installation prefix" "$prefix"</div><div class='del'>-config_summary "exec prefix"         "$exec_prefix"</div><div class='del'>-config_summary "arch"                "$arch"</div><div class='del'>-config_summary "site arch"           "$sitearch"</div><div class='del'>-config_summary "RUBY_BASE_NAME"      "$RUBY_BASE_NAME"</div><div class='del'>-config_summary "enable shared"       "$enable_shared"</div><div class='del'>-config_summary "ruby lib prefix"     "$rubylibprefix"</div><div class='del'>-config_summary "site libraries path" "$rubysitearchprefix"</div><div class='del'>-config_summary "vendor path"         "$vendordir"</div><div class='del'>-config_summary "target OS"           "$target_os"</div><div class='del'>-config_summary "compiler"            "$CC"</div><div class='del'>-config_summary "with pthread"        "$enable_pthread"</div><div class='del'>-config_summary "enable shared libs"  "$ENABLE_SHARED"</div><div class='del'>-config_summary "dynamic library ext" "$DLEXT"</div><div class='del'>-config_summary "CFLAGS"              "$cflags"</div><div class='del'>-config_summary "CPPFLAGS"            "$cppflags"</div><div class='del'>-config_summary "LDFLAGS"             "$LDFLAGS"</div><div class='del'>-config_summary "DLDFLAGS"            "$DLDFLAGS"</div><div class='del'>-config_summary "optflags"            "$optflags"</div><div class='del'>-config_summary "debugflags"          "$debugflags"</div><div class='del'>-config_summary "warnflags"           "$warnflags"</div><div class='del'>-config_summary "strip command"       "$STRIP"</div><div class='del'>-config_summary "install doc"         "$install_doc"</div><div class='del'>-config_summary "JIT support"         "$MJIT_SUPPORT"</div><div class='del'>-config_summary "man page type"       "$MANTYPE"</div><div class='del'>-config_summary "search path"         "$search_path"</div><div class='del'>-config_summary "static-linked-ext"   ${EXTSTATIC:+"yes"}</div><div class='del'>-echo ""</div><div class='del'>-echo "---"</div><div class='del'>-])</div><div class='head'>diff --git a/configure.in b/configure.in<br/>new file mode 100644<br/>index 0000000000..77437d6ffa<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/configure.in?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>configure.in</a></div><div class='hunk'>@@ -0,0 +1,1655 @@</div><div class='add'>+dnl Process this file with autoconf to produce a configure script.</div><div class='add'>+AC_INIT()</div><div class='add'>+</div><div class='add'>+AC_PREREQ(2.58)</div><div class='add'>+</div><div class='add'>+AC_DEFUN([RUBY_MINGW32],</div><div class='add'>+[case "$host_os" in</div><div class='add'>+cygwin*)</div><div class='add'>+AC_CACHE_CHECK(for mingw32 environment, rb_cv_mingw32,</div><div class='add'>+[AC_TRY_CPP([</div><div class='add'>+#ifndef __MINGW32__</div><div class='add'>+# error</div><div class='add'>+#endif</div><div class='add'>+], rb_cv_mingw32=yes,rb_cv_mingw32=no)</div><div class='add'>+rm -f conftest*])</div><div class='add'>+test "$rb_cv_mingw32" = yes &amp;&amp; target_os="mingw32"</div><div class='add'>+  ;;</div><div class='add'>+esac])</div><div class='add'>+</div><div class='add'>+AC_DEFUN([RUBY_CPPOUTFILE],</div><div class='add'>+[AC_CACHE_CHECK(whether ${CPP} accepts -o, rb_cv_cppoutfile,</div><div class='add'>+[cppflags=$CPPFLAGS</div><div class='add'>+CPPFLAGS='-o conftest.i'</div><div class='add'>+AC_TRY_CPP([], rb_cv_cppoutfile=yes, rb_cv_cppoutfile=no)</div><div class='add'>+CPPFLAGS=$cppflags</div><div class='add'>+rm -f conftest*])</div><div class='add'>+if test "$rb_cv_cppoutfile" = yes; then</div><div class='add'>+  CPPOUTFILE='-o conftest.i'</div><div class='add'>+elif test "$rb_cv_cppoutfile" = no; then</div><div class='add'>+  CPPOUTFILE='&gt; conftest.i'</div><div class='add'>+elif test -n "$rb_cv_cppoutfile"; then</div><div class='add'>+  CPPOUTFILE="$rb_cv_cppoutfile"</div><div class='add'>+fi</div><div class='add'>+AC_SUBST(CPPOUTFILE)])</div><div class='add'>+</div><div class='add'>+AC_DEFUN([RUBY_PROG_GNU_LD],</div><div class='add'>+[AC_CACHE_CHECK(whether the linker is GNU ld, rb_cv_prog_gnu_ld,</div><div class='add'>+[if `$CC $CFLAGS $CPPFLAGS $LDFLAGS --print-prog-name=ld 2&gt;&amp;1` -v 2&gt;&amp;1 | grep "GNU ld" &gt; /dev/null; then</div><div class='add'>+  rb_cv_prog_gnu_ld=yes</div><div class='add'>+else</div><div class='add'>+  rb_cv_prog_gnu_ld=no</div><div class='add'>+fi</div><div class='add'>+])</div><div class='add'>+GNU_LD=$rb_cv_prog_gnu_ld</div><div class='add'>+AC_SUBST(GNU_LD)])</div><div class='add'>+</div><div class='add'>+rb_version=`grep RUBY_VERSION $srcdir/version.h`</div><div class='add'>+MAJOR=`expr "$rb_version" : '#define RUBY_VERSION "\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*"'`</div><div class='add'>+MINOR=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*"'`</div><div class='add'>+TEENY=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)"'`</div><div class='add'>+AC_SUBST(MAJOR)</div><div class='add'>+AC_SUBST(MINOR)</div><div class='add'>+AC_SUBST(TEENY)</div><div class='add'>+dnl checks for alternative programs</div><div class='add'>+AC_ARG_WITH(gcc, [  --without-gcc           never use gcc], [</div><div class='add'>+	case $withval in</div><div class='add'>+	no)	: ${CC=cc}</div><div class='add'>+		;;</div><div class='add'>+	yes)	: ${CC=gcc}</div><div class='add'>+		;;</div><div class='add'>+	*)	CC=$withval</div><div class='add'>+		;;</div><div class='add'>+	esac])</div><div class='add'>+dnl If the user switches compilers, we can't believe the cache</div><div class='add'>+if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"</div><div class='add'>+then</div><div class='add'>+  AC_MSG_ERROR(cached CC is different -- throw away $cache_file</div><div class='add'>+(it is also a good idea to do 'make clean' before compiling))</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+if test "$program_prefix" = NONE; then</div><div class='add'>+  program_prefix=</div><div class='add'>+fi</div><div class='add'>+AC_CANONICAL_TARGET</div><div class='add'>+target_os=`echo $target_os | sed 's/linux-gnu$/linux/;s/linux-gnu/linux-/'`</div><div class='add'>+ac_install_sh='' # unusable for extension libraries.</div><div class='add'>+</div><div class='add'>+dnl checks for fat-binary</div><div class='add'>+AC_ARG_ENABLE(fat-binary,</div><div class='add'>+       [  --enable-fat-binary=ARCHS</div><div class='add'>+                          build an Apple/NeXT Multi Architecture Binary (MAB);</div><div class='add'>+                          ARCHS is a comma-delimited list of architectures for</div><div class='add'>+                          which to build; if ARCHS is omitted, then the package</div><div class='add'>+                          will be built for all architectures supported by the</div><div class='add'>+                          platform ("ppc" for MacOS/X and Darwin; "ppc,i386"</div><div class='add'>+                          for Rhapsody; "m68k,i386,sparc" for OpenStep;</div><div class='add'>+                          "m68k,i386,sparc,hppa" for NextStep); if this option</div><div class='add'>+                          is disabled or omitted entirely, then the package</div><div class='add'>+                          will be built only for the target platform],</div><div class='add'>+       [fat_binary=$enableval], [fat_binary=no])</div><div class='add'>+if test "$fat_binary" != no; then</div><div class='add'>+</div><div class='add'>+    AC_MSG_CHECKING([target architectures])</div><div class='add'>+</div><div class='add'>+    # Respect TARGET_ARCHS setting from environment if available.</div><div class='add'>+    if test -z "$TARGET_ARCHS"; then</div><div class='add'>+	# Respect ARCH given to --enable-fat-binary if present.</div><div class='add'>+	if test "$fat_binary" != yes; then</div><div class='add'>+	    TARGET_ARCHS=`echo "$fat_binary" | tr ',' ' '`</div><div class='add'>+	else</div><div class='add'>+	    # Choose a default set of architectures based upon platform.</div><div class='add'>+	    case "$target_os" in</div><div class='add'>+	    darwin*)</div><div class='add'>+		TARGET_ARCHS="ppc"</div><div class='add'>+		;;</div><div class='add'>+	    rhapsody*)</div><div class='add'>+		TARGET_ARCHS="ppc i386"</div><div class='add'>+		;;</div><div class='add'>+	    openstep*)</div><div class='add'>+		TARGET_ARCHS="m68k i386 sparc"</div><div class='add'>+		;;</div><div class='add'>+	    nextstep*)</div><div class='add'>+		TARGET_ARCHS="m68k i386 sparc hppa"</div><div class='add'>+		;;</div><div class='add'>+	    *)</div><div class='add'>+		TARGET_ARCHS=`arch`</div><div class='add'>+	    esac</div><div class='add'>+	fi</div><div class='add'>+    fi</div><div class='add'>+</div><div class='add'>+    AC_MSG_RESULT([$TARGET_ARCHS])</div><div class='add'>+</div><div class='add'>+    # /usr/lib/arch_tool -archify_list $TARGET_ARCHS</div><div class='add'>+    ARCH_FLAG=</div><div class='add'>+    for archs in $TARGET_ARCHS </div><div class='add'>+    do</div><div class='add'>+        ARCH_FLAG="$ARCH_FLAG -arch $archs"</div><div class='add'>+    done</div><div class='add'>+    AC_DEFINE(NEXT_FAT_BINARY)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+case $target_cpu in</div><div class='add'>+  i?86) frame_address=yes;;</div><div class='add'>+  *)    frame_address=no;;</div><div class='add'>+esac</div><div class='add'>+AC_ARG_ENABLE(frame-address,</div><div class='add'>+       [  --enable-frame-address  use GCC __builtin_frame_address(). ],</div><div class='add'>+       [frame_address=$enableval])</div><div class='add'>+if test $frame_address = yes; then</div><div class='add'>+    AC_DEFINE(USE_BUILTIN_FRAME_ADDRESS)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_ARG_PROGRAM</div><div class='add'>+</div><div class='add'>+dnl Checks for programs.</div><div class='add'>+</div><div class='add'>+if test x"${build}" != x"${host}"; then</div><div class='add'>+  AC_CHECK_TOOL(CC, gcc)</div><div class='add'>+fi</div><div class='add'>+AC_PROG_CC</div><div class='add'>+AC_PROG_GCC_TRADITIONAL</div><div class='add'>+</div><div class='add'>+RUBY_PROG_GNU_LD</div><div class='add'>+RUBY_CPPOUTFILE</div><div class='add'>+</div><div class='add'>+: ${OUTFLAG='-o '}</div><div class='add'>+AC_SUBST(OUTFLAG)</div><div class='add'>+</div><div class='add'>+RUBY_MINGW32</div><div class='add'>+</div><div class='add'>+AC_PROG_YACC</div><div class='add'>+if test "$YACC" = "yacc"; then</div><div class='add'>+  AC_DEFINE([OLD_YACC])</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_CHECK_TOOL(RANLIB, ranlib, :)</div><div class='add'>+AC_CHECK_TOOL(AR, ar)</div><div class='add'>+if test -z "$AR"; then</div><div class='add'>+  AC_CHECK_PROGS(AR, aal, ar)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_CHECK_TOOL(AS, as)</div><div class='add'>+ASFLAGS=$ASFLAGS</div><div class='add'>+AC_SUBST(ASFLAGS)</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+cygwin*|mingw*)</div><div class='add'>+    AC_CHECK_TOOL(NM, nm)</div><div class='add'>+    AC_CHECK_TOOL(WINDRES, windres)</div><div class='add'>+    AC_CHECK_TOOL(DLLWRAP, dllwrap)</div><div class='add'>+    target_cpu=`echo $target_cpu | sed s/i.86/i386/`</div><div class='add'>+    case "$target_os" in</div><div class='add'>+    mingw*)</div><div class='add'>+	test "$rb_cv_msvcrt" = "" &amp;&amp; unset rb_cv_msvcrt</div><div class='add'>+	AC_CHECK_TOOL(OBJDUMP, objdump)</div><div class='add'>+	AC_CACHE_CHECK(for mingw32 runtime DLL, rb_cv_msvcrt, [</div><div class='add'>+	AC_TRY_LINK([#include &lt;stdio.h&gt;],</div><div class='add'>+		    [FILE* volatile f = stdin; return 0;],</div><div class='add'>+		    [rb_cv_msvcrt=`$OBJDUMP -p conftest$ac_exeext |</div><div class='add'>+				   tr A-Z a-z |</div><div class='add'>+				   sed -n '/^[[ 	]]*dll name: \(msvc.*\)\.dll$/{s//\1/p;q;}'`],</div><div class='add'>+		    [rb_cv_msvcrt=msvcrt])</div><div class='add'>+	test "$rb_cv_msvcrt" = "" &amp;&amp; rb_cv_msvcrt=msvcrt])</div><div class='add'>+	AC_ARG_WITH(winsock2,</div><div class='add'>+		[  --with-winsock2         link winsock2 (MinGW only)], [</div><div class='add'>+		case $withval in</div><div class='add'>+		yes) with_winsock2=yes;;</div><div class='add'>+		*)   with_winsock2=no;;</div><div class='add'>+		esac], [with_winsock2=no])</div><div class='add'>+	if test "$with_winsock2" = yes; then</div><div class='add'>+	  AC_DEFINE(USE_WINSOCK2)</div><div class='add'>+	fi</div><div class='add'>+    esac</div><div class='add'>+    : ${enable_shared=yes}</div><div class='add'>+    ;;</div><div class='add'>+aix*)</div><div class='add'>+    AC_CHECK_TOOL(NM, nm, /usr/ccs/bin/nm, /usr/ccs/bin:$PATH)</div><div class='add'>+    ;;</div><div class='add'>+hiuxmpp*)</div><div class='add'>+    # by TOYODA Eizi &lt;toyoda@npd.kishou.go.jp&gt;</div><div class='add'>+    AC_DEFINE(__HIUX_MPP__)</div><div class='add'>+    ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+AC_PROG_LN_S</div><div class='add'>+AC_PROG_MAKE_SET</div><div class='add'>+AC_PROG_INSTALL</div><div class='add'>+</div><div class='add'>+# checks for UNIX variants that set C preprocessor variables</div><div class='add'>+AC_AIX</div><div class='add'>+AC_MINIX</div><div class='add'>+</div><div class='add'>+AC_SUBST(RM, ['rm -f'])</div><div class='add'>+AC_SUBST(CP, ['cp'])</div><div class='add'>+if $as_mkdir_p; then</div><div class='add'>+  AC_SUBST(MAKEDIRS, ['mkdir -p'])</div><div class='add'>+else</div><div class='add'>+  AC_SUBST(MAKEDIRS, ['install -d'])</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+dnl check for large file stuff</div><div class='add'>+AC_SYS_LARGEFILE</div><div class='add'>+</div><div class='add'>+AC_CHECK_TYPES([long long, off_t])</div><div class='add'>+</div><div class='add'>+AC_CHECK_SIZEOF(int, 4)</div><div class='add'>+AC_CHECK_SIZEOF(short, 2)</div><div class='add'>+AC_CHECK_SIZEOF(long, 4)</div><div class='add'>+AC_CHECK_SIZEOF(long long, 0)</div><div class='add'>+AC_CHECK_SIZEOF(__int64, 0)</div><div class='add'>+AC_CHECK_SIZEOF(off_t, 0)</div><div class='add'>+AC_CHECK_SIZEOF(void*, 4)</div><div class='add'>+AC_CHECK_SIZEOF(float, 4)</div><div class='add'>+AC_CHECK_SIZEOF(double, 8)</div><div class='add'>+AC_CHECK_SIZEOF(time_t, 0)</div><div class='add'>+</div><div class='add'>+for id in pid_t gid_t uid_t; do</div><div class='add'>+    AC_CHECK_TYPE($id, [typ=$id], [typ=int])</div><div class='add'>+    AC_DEFINE_UNQUOTED(rb_$id, $typ)</div><div class='add'>+done</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for prototypes, rb_cv_have_prototypes,</div><div class='add'>+  [AC_TRY_COMPILE([int foo(int x) { return 0; }], [return foo(10);],</div><div class='add'>+	rb_cv_have_prototypes=yes,</div><div class='add'>+	rb_cv_have_prototypes=no)])</div><div class='add'>+if test "$rb_cv_have_prototypes" = yes; then</div><div class='add'>+  AC_DEFINE(HAVE_PROTOTYPES)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(token paste string, rb_cv_tokenpaste,</div><div class='add'>+  [AC_TRY_COMPILE([#define paste(a,b) a##b],</div><div class='add'>+		  [int xy = 1; return paste(x,y);],</div><div class='add'>+		  rb_cv_tokenpaste=ansi,</div><div class='add'>+		  rb_cv_tokenpaste=knr)])</div><div class='add'>+if test "$rb_cv_tokenpaste" = ansi; then</div><div class='add'>+  AC_DEFINE(TOKEN_PASTE(x,y),[x##y])</div><div class='add'>+else</div><div class='add'>+  AC_DEFINE(TOKEN_PASTE(x,y),[x/**/y])</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for variable length prototypes and stdarg.h, rb_cv_stdarg,</div><div class='add'>+  [AC_TRY_COMPILE([</div><div class='add'>+#include &lt;stdarg.h&gt;</div><div class='add'>+int foo(int x, ...) {</div><div class='add'>+	va_list va;</div><div class='add'>+	va_start(va, x);</div><div class='add'>+	va_arg(va, int);</div><div class='add'>+	va_arg(va, char *);</div><div class='add'>+	va_arg(va, double);</div><div class='add'>+	return 0;</div><div class='add'>+}</div><div class='add'>+], [return foo(10, "", 3.14);],</div><div class='add'>+	rb_cv_stdarg=yes,</div><div class='add'>+	rb_cv_stdarg=no)])</div><div class='add'>+if test "$rb_cv_stdarg" = yes; then</div><div class='add'>+  AC_DEFINE(HAVE_STDARG_PROTOTYPES)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_DEFUN([RUBY_FUNC_ATTRIBUTE], [dnl</div><div class='add'>+m4_ifval([$2], dnl</div><div class='add'>+  [AS_VAR_PUSHDEF([attrib],[$2])], dnl</div><div class='add'>+  [AS_VAR_PUSHDEF([attrib],[FUNC_]AS_TR_CPP($1))] dnl</div><div class='add'>+)dnl</div><div class='add'>+m4_ifval([$3], dnl</div><div class='add'>+  [AS_VAR_PUSHDEF([rbcv],[$3])], dnl</div><div class='add'>+  [AS_VAR_PUSHDEF([rbcv],[rb_cv_func_][$1])]dnl</div><div class='add'>+)dnl</div><div class='add'>+AC_CACHE_CHECK(for [$1] function attribute, rbcv,</div><div class='add'>+[rbcv=x</div><div class='add'>+if test "${ac_c_werror_flag+set}"; then</div><div class='add'>+  rb_c_werror_flag="$ac_c_werror_flag"</div><div class='add'>+else</div><div class='add'>+  unset rb_c_werror_flag</div><div class='add'>+fi</div><div class='add'>+ac_c_werror_flag=yes</div><div class='add'>+for mac in "__attribute__ (($1)) x" "x __attribute__ (($1))" "__declspec($1) x" x; do</div><div class='add'>+  AC_TRY_COMPILE(</div><div class='add'>+    [#define ]attrib[(x) $mac</div><div class='add'>+    ]attrib[(void conftest_attribute_check(void));], [],</div><div class='add'>+    [rbcv="$mac"; break])</div><div class='add'>+done</div><div class='add'>+if test "${rb_c_werror_flag+set}"; then</div><div class='add'>+  ac_c_werror_flag="$rb_c_werror_flag"</div><div class='add'>+else</div><div class='add'>+  unset ac_c_werror_flag</div><div class='add'>+fi</div><div class='add'>+])</div><div class='add'>+AC_DEFINE_UNQUOTED(attrib[(x)], $rbcv)</div><div class='add'>+AS_VAR_POPDEF([attrib])</div><div class='add'>+AS_VAR_POPDEF([rbcv])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(noreturn, NORETURN)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(noinline, NOINLINE)</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([for RUBY_EXTERN], rb_cv_ruby_extern,</div><div class='add'>+[rb_cv_ruby_extern=no</div><div class='add'>+for mac in "__attribute__((dllimport))" "__declspec(dllimport)"; do</div><div class='add'>+  AC_TRY_COMPILE(</div><div class='add'>+    [extern $mac void conftest(void);],</div><div class='add'>+    [rb_cv_ruby_extern="extern $mac"; break])</div><div class='add'>+done])</div><div class='add'>+test "x$rb_cv_ruby_extern" = xno || AC_DEFINE_UNQUOTED(RUBY_EXTERN, $rb_cv_ruby_extern)</div><div class='add'>+</div><div class='add'>+XCFLAGS="$XCFLAGS -DRUBY_EXPORT"</div><div class='add'>+</div><div class='add'>+dnl Check whether we need to define sys_nerr locally</div><div class='add'>+AC_CHECK_DECLS([sys_nerr], [], [], [$ac_includes_default</div><div class='add'>+#include &lt;errno.h&gt;])</div><div class='add'>+</div><div class='add'>+dnl whether link libc_r or not</div><div class='add'>+AC_ARG_WITH(libc_r, </div><div class='add'>+	[  --with-libc_r           link libc_r if possible (FreeBSD only)], [</div><div class='add'>+	case $withval in</div><div class='add'>+	yes) with_libc_r=yes;;</div><div class='add'>+	*)   with_libc_r=no;;</div><div class='add'>+	esac], [with_libc_r=no])</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(pthread,</div><div class='add'>+       [  --enable-pthread        use pthread library.],</div><div class='add'>+       [enable_pthread=$enableval], [enable_pthread=no])</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(fastthread,</div><div class='add'>+       [  --disable-fastthread    do not use the fastthread mutex], [</div><div class='add'>+	: handled by ext/thread/extconf.rb</div><div class='add'>+        ])</div><div class='add'>+</div><div class='add'>+dnl Checks for libraries.</div><div class='add'>+case "$target_os" in</div><div class='add'>+nextstep*)	;;</div><div class='add'>+openstep*)	;;</div><div class='add'>+rhapsody*)	;;</div><div class='add'>+darwin*)	LIBS="-lobjc $LIBS";;</div><div class='add'>+hpux*)		LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_c_inline=no;;</div><div class='add'>+human*)		ac_cv_func_getpgrp_void=yes</div><div class='add'>+		ac_cv_func_setitimer=no</div><div class='add'>+		;;</div><div class='add'>+beos*)		ac_cv_func_link=no;;</div><div class='add'>+cygwin*)	rb_cv_have_daylight=no</div><div class='add'>+		ac_cv_var_tzname=no</div><div class='add'>+		ac_cv_func__setjmp=no</div><div class='add'>+		ac_cv_func_setitimer=no</div><div class='add'>+		;;</div><div class='add'>+mingw*)		if test "$with_winsock2" = yes; then</div><div class='add'>+		  LIBS="-lws2_32 $LIBS"</div><div class='add'>+		else</div><div class='add'>+		  LIBS="-lwsock32 $LIBS"</div><div class='add'>+		fi</div><div class='add'>+		ac_cv_header_a_out_h=no</div><div class='add'>+		ac_cv_header_pwd_h=no</div><div class='add'>+		ac_cv_header_utime_h=no</div><div class='add'>+		ac_cv_header_sys_ioctl_h=no</div><div class='add'>+		ac_cv_header_sys_param_h=no</div><div class='add'>+		ac_cv_header_sys_resource_h=no</div><div class='add'>+		ac_cv_header_sys_select_h=no</div><div class='add'>+		ac_cv_header_sys_time_h=no</div><div class='add'>+		ac_cv_header_sys_times_h=no</div><div class='add'>+		ac_cv_func_times=yes</div><div class='add'>+		ac_cv_func_waitpid=yes</div><div class='add'>+		ac_cv_func_fsync=yes</div><div class='add'>+		ac_cv_func_vsnprintf=yes</div><div class='add'>+		ac_cv_func_seekdir=yes</div><div class='add'>+		ac_cv_func_telldir=yes</div><div class='add'>+		ac_cv_func_isinf=yes</div><div class='add'>+		ac_cv_func_isnan=yes</div><div class='add'>+		ac_cv_func_finite=yes</div><div class='add'>+		ac_cv_func_link=yes</div><div class='add'>+		ac_cv_lib_crypt_crypt=no</div><div class='add'>+		ac_cv_func_getpgrp_void=no</div><div class='add'>+		ac_cv_func_setpgrp_void=yes</div><div class='add'>+		ac_cv_func_memcmp_working=yes</div><div class='add'>+		ac_cv_lib_dl_dlopen=no</div><div class='add'>+		rb_cv_binary_elf=no</div><div class='add'>+		rb_cv_negative_time_t=no</div><div class='add'>+		enable_pthread=no</div><div class='add'>+		;;</div><div class='add'>+os2-emx*)	LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_lib_dir_opendir=no;;</div><div class='add'>+msdosdjgpp*)	LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_func_getpgrp_void=yes</div><div class='add'>+		ac_cv_func_setitimer=no</div><div class='add'>+                ac_cv_sizeof_rlim_t=4</div><div class='add'>+		;;</div><div class='add'>+bsdi*)          LIBS="-lm $LIBS"</div><div class='add'>+                ac_cv_sizeof_rlim_t=8;;</div><div class='add'>+freebsd*)	LIBS="-lm $LIBS"</div><div class='add'>+		AC_CACHE_CHECK([whether -lxpg4 has to be linked],</div><div class='add'>+		  rb_cv_lib_xpg4_needed,</div><div class='add'>+		  [AC_TRY_CPP([</div><div class='add'>+#include &lt;osreldate.h&gt;</div><div class='add'>+#if __FreeBSD_version &lt; 400020 || \</div><div class='add'>+   (__FreeBSD_version &gt;= 500000 &amp;&amp; __FreeBSD_version &lt; 500005)</div><div class='add'>+#error needs libxpg4</div><div class='add'>+#endif</div><div class='add'>+		   ],</div><div class='add'>+		   rb_cv_lib_xpg4_needed=no,</div><div class='add'>+		   rb_cv_lib_xpg4_needed=yes,</div><div class='add'>+		   rb_cv_lib_xpg4_needed=yes)])</div><div class='add'>+		if test "$rb_cv_lib_xpg4_needed" = yes; then</div><div class='add'>+			AC_CHECK_LIB(xpg4, setlocale)</div><div class='add'>+		fi</div><div class='add'>+		if test "$with_libc_r" = yes; then</div><div class='add'>+			AC_CACHE_CHECK([whether libc_r is supplementary to libc],</div><div class='add'>+			  rb_cv_supplementary_lib_c_r,</div><div class='add'>+			  [AC_TRY_CPP([</div><div class='add'>+#include &lt;osreldate.h&gt;</div><div class='add'>+#if 500016 &lt;= __FreeBSD_version</div><div class='add'>+#error libc_r is supplementary to libc</div><div class='add'>+#endif</div><div class='add'>+			   ],</div><div class='add'>+			   rb_cv_supplementary_lib_c_r=no,</div><div class='add'>+			   rb_cv_supplementary_lib_c_r=yes,</div><div class='add'>+			   rb_cv_supplementary_lib_c_r=yes)])</div><div class='add'>+			if test "$rb_cv_supplementary_lib_c_r" = yes; then</div><div class='add'>+			   MAINLIBS="-lc_r $MAINLIBS"</div><div class='add'>+			fi</div><div class='add'>+		fi</div><div class='add'>+		;;</div><div class='add'>+dragonfly*)	LIBS="-lm $LIBS"</div><div class='add'>+		;;</div><div class='add'>+bow)		ac_cv_func_setitimer=no</div><div class='add'>+		;;</div><div class='add'>+superux*)     ac_cv_func_setitimer=no</div><div class='add'>+              ;;</div><div class='add'>+solaris*2.10)  if test -z "$GCC"; then</div><div class='add'>+                      ac_cv_func_isinf=yes</div><div class='add'>+              fi</div><div class='add'>+               LIBS="-lm $LIBS"</div><div class='add'>+              ;;</div><div class='add'>+*) LIBS="-lm $LIBS";;</div><div class='add'>+esac</div><div class='add'>+AC_CHECK_LIB(crypt, crypt)</div><div class='add'>+AC_CHECK_LIB(dl, dlopen)	# Dynamic linking for SunOS/Solaris and SYSV</div><div class='add'>+AC_CHECK_LIB(dld, shl_load)	# Dynamic linking for HP-UX</div><div class='add'>+</div><div class='add'>+case "$target_cpu" in</div><div class='add'>+alpha*)		case "$target_os"::"$GCC" in</div><div class='add'>+		*::yes)	CFLAGS="-mieee $CFLAGS" ;;   # gcc</div><div class='add'>+		osf*)   CFLAGS="-ieee $CFLAGS" ;;    # ccc</div><div class='add'>+		esac ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+dnl Checks for header files.</div><div class='add'>+AC_HEADER_DIRENT</div><div class='add'>+AC_HEADER_STDC</div><div class='add'>+AC_HEADER_SYS_WAIT</div><div class='add'>+AC_CHECK_HEADERS(stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h sys/syscall.h\</div><div class='add'>+		 fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\</div><div class='add'>+		 syscall.h pwd.h grp.h a.out.h utime.h memory.h direct.h sys/resource.h \</div><div class='add'>+		 sys/mkdev.h sys/utime.h netinet/in_systm.h float.h ieeefp.h pthread.h \</div><div class='add'>+		 ucontext.h intrinsics.h)</div><div class='add'>+</div><div class='add'>+dnl Check additional types.</div><div class='add'>+AC_CHECK_SIZEOF(rlim_t, 0, [</div><div class='add'>+  #ifdef HAVE_SYS_TYPES_H</div><div class='add'>+  # include &lt;sys/types.h&gt;</div><div class='add'>+  #endif</div><div class='add'>+  #ifdef HAVE_SYS_TIME_H</div><div class='add'>+  # include &lt;sys/time.h&gt;</div><div class='add'>+  #endif</div><div class='add'>+  #ifdef HAVE_SYS_RESOURCE_H</div><div class='add'>+  # include &lt;sys/resource.h&gt;</div><div class='add'>+  #endif</div><div class='add'>+  #ifdef HAVE_UNISTD_H</div><div class='add'>+  # include &lt;unistd.h&gt;</div><div class='add'>+  #endif</div><div class='add'>+  #include &lt;stdio.h&gt;</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+dnl Checks for typedefs, structures, and compiler characteristics.</div><div class='add'>+AC_TYPE_SIZE_T</div><div class='add'>+AC_STRUCT_ST_BLKSIZE</div><div class='add'>+AC_STRUCT_ST_BLOCKS</div><div class='add'>+AC_STRUCT_ST_RDEV</div><div class='add'>+</div><div class='add'>+dnl Checks for library functions.</div><div class='add'>+AC_TYPE_GETGROUPS</div><div class='add'>+AC_TYPE_SIGNAL</div><div class='add'>+case "${target_cpu}-${target_os}" in</div><div class='add'>+powerpc-darwin*)</div><div class='add'>+  AC_LIBSOURCES(alloca.c)</div><div class='add'>+  AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.${ac_objext}])</div><div class='add'>+  AC_DEFINE(C_ALLOCA)</div><div class='add'>+  AC_DEFINE_UNQUOTED(alloca, alloca)</div><div class='add'>+  ;;</div><div class='add'>+*)</div><div class='add'>+  AC_FUNC_ALLOCA</div><div class='add'>+  ;;</div><div class='add'>+esac</div><div class='add'>+AC_FUNC_MEMCMP</div><div class='add'>+AC_FUNC_FSEEKO</div><div class='add'>+AC_CHECK_FUNCS(ftello)</div><div class='add'>+AC_REPLACE_FUNCS(dup2 memmove strcasecmp strncasecmp strerror strftime\</div><div class='add'>+		 strchr strstr strtoul crypt flock vsnprintf\</div><div class='add'>+		 isnan finite isinf hypot acosh erf)</div><div class='add'>+AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync getcwd eaccess\</div><div class='add'>+	      truncate chsize times utimes fcntl lockf lstat symlink link\</div><div class='add'>+	      readlink setitimer setruid seteuid setreuid setresuid\</div><div class='add'>+	      setproctitle setrgid setegid setregid setresgid issetugid pause\</div><div class='add'>+	      lchown lchmod getpgrp setpgrp getpgid setpgid initgroups\</div><div class='add'>+	      getgroups setgroups getpriority getrlimit setrlimit sysconf\</div><div class='add'>+              dlopen sigprocmask\</div><div class='add'>+	      sigaction _setjmp setsid telldir seekdir fchmod mktime timegm\</div><div class='add'>+	      cosh sinh tanh setuid setgid setenv unsetenv)</div><div class='add'>+AC_ARG_ENABLE(setreuid,</div><div class='add'>+       [  --enable-setreuid       use setreuid()/setregid() according to need even if obsolete.],</div><div class='add'>+       [use_setreuid=$enableval])</div><div class='add'>+if test "$use_setreuid" = yes; then</div><div class='add'>+    AC_DEFINE(USE_SETREUID)</div><div class='add'>+    AC_DEFINE(USE_SETREGID)</div><div class='add'>+fi</div><div class='add'>+AC_STRUCT_TIMEZONE</div><div class='add'>+AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff,</div><div class='add'>+  [AC_TRY_COMPILE([#include &lt;time.h&gt;],</div><div class='add'>+    [struct tm t; t.tm_gmtoff = 3600;],</div><div class='add'>+  [rb_cv_member_struct_tm_tm_gmtoff=yes],</div><div class='add'>+  [rb_cv_member_struct_tm_tm_gmtoff=no])])</div><div class='add'>+if test "$rb_cv_member_struct_tm_tm_gmtoff" = yes; then</div><div class='add'>+  AC_DEFINE(HAVE_STRUCT_TM_TM_GMTOFF)</div><div class='add'>+fi</div><div class='add'>+AC_CACHE_CHECK(for external int daylight, rb_cv_have_daylight,</div><div class='add'>+  [AC_TRY_LINK([#include &lt;time.h&gt;</div><div class='add'>+  int i;],</div><div class='add'>+  	[i = daylight;],</div><div class='add'>+	rb_cv_have_daylight=yes,</div><div class='add'>+	rb_cv_have_daylight=no)])</div><div class='add'>+if test "$rb_cv_have_daylight" = yes; then</div><div class='add'>+  AC_DEFINE(HAVE_DAYLIGHT)</div><div class='add'>+fi</div><div class='add'>+AC_CACHE_CHECK(for negative time_t for gmtime(3), rb_cv_negative_time_t,</div><div class='add'>+  [AC_TRY_RUN([</div><div class='add'>+#include &lt;time.h&gt;</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+check(tm, y, m, d, h, s)</div><div class='add'>+    struct tm *tm;</div><div class='add'>+    int y, m, d, h, s;</div><div class='add'>+{</div><div class='add'>+    if (!tm ||</div><div class='add'>+	tm-&gt;tm_year != y ||</div><div class='add'>+	tm-&gt;tm_mon  != m-1 ||</div><div class='add'>+	tm-&gt;tm_mday != d ||</div><div class='add'>+	tm-&gt;tm_hour != h ||</div><div class='add'>+	tm-&gt;tm_sec  != s) {</div><div class='add'>+	exit(1);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+main()</div><div class='add'>+{</div><div class='add'>+   time_t t = -1;</div><div class='add'>+   struct tm *tm;</div><div class='add'>+</div><div class='add'>+   check(gmtime(&amp;t), 69, 12, 31, 23, 59);</div><div class='add'>+   t = ~(time_t)0 &lt;&lt; 31;</div><div class='add'>+   check(gmtime(&amp;t), 1, 12, 13, 20, 52);</div><div class='add'>+   return 0;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	rb_cv_negative_time_t=yes,</div><div class='add'>+	rb_cv_negative_time_t=no,</div><div class='add'>+	rb_cv_negative_time_t=yes)])</div><div class='add'>+if test "$rb_cv_negative_time_t" = yes; then</div><div class='add'>+  AC_DEFINE(NEGATIVE_TIME_T)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+if test "$ac_cv_func_sigprocmask" = yes &amp;&amp; test "$ac_cv_func_sigaction" = yes; then</div><div class='add'>+   AC_DEFINE(POSIX_SIGNAL)</div><div class='add'>+else</div><div class='add'>+  AC_CACHE_CHECK(for BSD signal semantics, rb_cv_bsd_signal,</div><div class='add'>+    [AC_TRY_RUN([</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;signal.h&gt;</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+sig_handler(dummy)</div><div class='add'>+     int dummy;</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+main()</div><div class='add'>+{</div><div class='add'>+  signal(SIGINT, sig_handler);</div><div class='add'>+  kill(getpid(), SIGINT);</div><div class='add'>+  kill(getpid(), SIGINT);</div><div class='add'>+  return 0;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	rb_cv_bsd_signal=yes,</div><div class='add'>+	rb_cv_bsd_signal=no,</div><div class='add'>+	rb_cv_bsd_signal=no)])</div><div class='add'>+  if test "$rb_cv_bsd_signal" = yes; then</div><div class='add'>+    AC_DEFINE(BSD_SIGNAL)</div><div class='add'>+  fi</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_FUNC_GETPGRP</div><div class='add'>+AC_FUNC_SETPGRP  </div><div class='add'>+</div><div class='add'>+AC_C_BIGENDIAN</div><div class='add'>+AC_C_CONST</div><div class='add'>+AC_C_CHAR_UNSIGNED</div><div class='add'>+AC_C_INLINE</div><div class='add'>+AC_C_VOLATILE</div><div class='add'>+</div><div class='add'>+if test x"$target_cpu" = xia64; then</div><div class='add'>+    AC_LIBOBJ([ia64])</div><div class='add'>+    AC_CACHE_CHECK(for __libc_ia64_register_backing_store_base,</div><div class='add'>+                   rb_cv___libc_ia64_register_backing_store_base,</div><div class='add'>+    [rb_cv___libc_ia64_register_backing_store_base=no</div><div class='add'>+    AC_TRY_LINK(</div><div class='add'>+      [extern unsigned long __libc_ia64_register_backing_store_base;],</div><div class='add'>+      [unsigned long p = __libc_ia64_register_backing_store_base;</div><div class='add'>+       printf("%ld\n", p);],</div><div class='add'>+      [rb_cv___libc_ia64_register_backing_store_base=yes])])</div><div class='add'>+    if test $rb_cv___libc_ia64_register_backing_store_base = yes; then</div><div class='add'>+      AC_DEFINE(HAVE___LIBC_IA64_REGISTER_BACKING_STORE_BASE)</div><div class='add'>+    fi</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign,</div><div class='add'>+    [AC_TRY_RUN([</div><div class='add'>+int</div><div class='add'>+main()</div><div class='add'>+{</div><div class='add'>+  if (-1==(-1&gt;&gt;1))</div><div class='add'>+    return 0;</div><div class='add'>+  return 1;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	rb_cv_rshift_sign=yes,</div><div class='add'>+	rb_cv_rshift_sign=no,</div><div class='add'>+	rb_cv_rshift_sign=yes)])</div><div class='add'>+if test "$rb_cv_rshift_sign" = yes; then</div><div class='add'>+  AC_DEFINE(RSHIFT(x,y), ((x)&gt;&gt;(int)y))</div><div class='add'>+else</div><div class='add'>+  AC_DEFINE(RSHIFT(x,y), (((x)&lt;0) ? ~((~(x))&gt;&gt;y) : (x)&gt;&gt;y))</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_MSG_CHECKING(read count field in FILE structures)</div><div class='add'>+AC_CACHE_VAL(rb_cv_fcnt,</div><div class='add'>+[for fcnt in	dnl</div><div class='add'>+     _cnt	dnl</div><div class='add'>+     __cnt	dnl</div><div class='add'>+     _r		dnl</div><div class='add'>+     readCount	dnl</div><div class='add'>+     _rcount	dnl for emx0.9c</div><div class='add'>+; do</div><div class='add'>+    AC_TRY_COMPILE([#include &lt;stdio.h&gt;</div><div class='add'>+],</div><div class='add'>+	[FILE *f = stdin; f-&gt;$fcnt = 0;],</div><div class='add'>+	rb_cv_fcnt="$fcnt"; break,</div><div class='add'>+	rb_cv_fcnt="not found")</div><div class='add'>+done])</div><div class='add'>+if test "$rb_cv_fcnt" = "not found"; then</div><div class='add'>+  AC_MSG_RESULT([not found(OK if using GNU libc)])</div><div class='add'>+else</div><div class='add'>+  AC_MSG_RESULT($rb_cv_fcnt)</div><div class='add'>+  AC_DEFINE_UNQUOTED(FILE_COUNT, $rb_cv_fcnt)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_MSG_CHECKING(read buffer ptr field in FILE structures)</div><div class='add'>+AC_CACHE_VAL(rb_cv_frptr,</div><div class='add'>+[for frptr in	dnl</div><div class='add'>+     _IO_read_ptr dnl</div><div class='add'>+     _ptr	dnl</div><div class='add'>+     __ptr	dnl</div><div class='add'>+     bufpos	dnl</div><div class='add'>+     _p	dnl</div><div class='add'>+; do</div><div class='add'>+    AC_TRY_COMPILE([#include &lt;stdio.h&gt;</div><div class='add'>+],</div><div class='add'>+	[FILE *f = stdin; char buf[256]; f-&gt;$frptr = buf;],</div><div class='add'>+	rb_cv_frptr="$frptr"; break,</div><div class='add'>+	rb_cv_frptr="not found")</div><div class='add'>+done])</div><div class='add'>+if test "$rb_cv_frptr" = "not found"; then</div><div class='add'>+  AC_MSG_RESULT([not found])</div><div class='add'>+else</div><div class='add'>+  AC_MSG_RESULT($rb_cv_frptr)</div><div class='add'>+  AC_DEFINE_UNQUOTED(FILE_READPTR, $rb_cv_frptr)</div><div class='add'>+</div><div class='add'>+  if test "$rb_cv_fcnt" = "not found"; then</div><div class='add'>+    AC_MSG_CHECKING(read buffer end field in FILE structures)</div><div class='add'>+    AC_CACHE_VAL(rb_cv_frend,</div><div class='add'>+    [for frend in	dnl</div><div class='add'>+         _IO_read_end	dnl</div><div class='add'>+         bufread 	dnl</div><div class='add'>+    ; do</div><div class='add'>+        AC_TRY_COMPILE([#include &lt;stdio.h&gt;</div><div class='add'>+    ],</div><div class='add'>+  	[FILE *f = stdin; char buf[256]; f-&gt;$frend = buf;],</div><div class='add'>+  	rb_cv_frend="$frend"; break,</div><div class='add'>+  	rb_cv_frend="not found")</div><div class='add'>+    done])</div><div class='add'>+    if test "$rb_cv_frend" = "not found"; then</div><div class='add'>+      AC_MSG_RESULT([not found])</div><div class='add'>+    else</div><div class='add'>+      AC_MSG_RESULT($rb_cv_frend)</div><div class='add'>+      AC_DEFINE_UNQUOTED(FILE_READEND, $rb_cv_frend)</div><div class='add'>+    fi</div><div class='add'>+  fi</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_DEFUN([RUBY_CHECK_IO_NEED],</div><div class='add'>+[AC_CACHE_CHECK(whether need to [$1], [$2],</div><div class='add'>+    [AC_TRY_RUN([</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#ifndef SEEK_SET</div><div class='add'>+#define SEEK_SET 0</div><div class='add'>+#endif</div><div class='add'>+#ifndef SEEK_CUR</div><div class='add'>+#define SEEK_CUR 1</div><div class='add'>+#endif</div><div class='add'>+#define before_seek(f) ]ifelse(index($2,flush_before_seek),-1,[fflush(f)],[(f,0)])[</div><div class='add'>+#define reset_rw(f) ]ifelse(index($2,seek_between_rw),-1,[do_seek(f,SEEK_CUR)],[(f,0)])[</div><div class='add'>+#define do_seek(f, w) (before_seek(f), fseek(f,0,w))</div><div class='add'>+</div><div class='add'>+char *fn = "conftest.dat";</div><div class='add'>+char *wombat = "wombat\n";</div><div class='add'>+char *koara = "koara\n";</div><div class='add'>+char *kangaroo = "kangaroo\n";</div><div class='add'>+</div><div class='add'>+int main()</div><div class='add'>+{</div><div class='add'>+    char buf[BUFSIZ];</div><div class='add'>+    FILE *f;</div><div class='add'>+    int r = 1;</div><div class='add'>+</div><div class='add'>+    if (!(f = fopen(fn, "w+"))) return 1;</div><div class='add'>+    fputs(wombat, f);</div><div class='add'>+    do_seek(f, SEEK_SET);</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, wombat)) goto fail;</div><div class='add'>+    reset_rw(f);</div><div class='add'>+    fputs(koara, f);</div><div class='add'>+    fputs(kangaroo, f);</div><div class='add'>+    do_seek(f, SEEK_SET);</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, wombat)) goto fail;</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, koara)) goto fail;</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, kangaroo)) goto fail;</div><div class='add'>+    do_seek(f, SEEK_SET);</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, wombat)) goto fail;</div><div class='add'>+    reset_rw(f);</div><div class='add'>+    fputc('X', f);</div><div class='add'>+    reset_rw(f);</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, koara+1)) goto fail;</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, kangaroo)) goto fail;</div><div class='add'>+    do_seek(f, SEEK_SET);</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, wombat)) goto fail;</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || buf[0] != 'X' || strcmp(buf+1, koara+1)) goto fail;</div><div class='add'>+    if (!fgets(buf, BUFSIZ, f) || strcmp(buf, kangaroo)) goto fail;</div><div class='add'>+    r = 0;</div><div class='add'>+  fail:</div><div class='add'>+    fclose(f);</div><div class='add'>+    unlink(fn);</div><div class='add'>+    return r;</div><div class='add'>+}</div><div class='add'>+], [$2]=no, [$2]=yes, [$2]=[$3])])])</div><div class='add'>+RUBY_CHECK_IO_NEED(seek between R/W, rb_cv_need_io_seek_between_rw, yes)</div><div class='add'>+if test "$rb_cv_need_io_seek_between_rw" = yes; then</div><div class='add'>+  AC_DEFINE(NEED_IO_SEEK_BETWEEN_RW, 1)</div><div class='add'>+fi</div><div class='add'>+dnl RUBY_CHECK_IO_NEED(flush before seek, rb_cv_need_io_flush_before_seek, no)</div><div class='add'>+dnl if test "$rb_cv_need_io_flush_before_seek" = yes; then</div><div class='add'>+dnl   AC_DEFINE(NEED_IO_FLUSH_BEFORE_SEEK, 1)</div><div class='add'>+dnl fi</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([whether st_ino is huge], rb_cv_huge_st_ino,</div><div class='add'>+[AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([</div><div class='add'>+#include &lt;sys/stat.h&gt;</div><div class='add'>+struct stat test_stat;</div><div class='add'>+], [sizeof(test_stat.st_ino)&gt;sizeof(long)])],</div><div class='add'>+rb_cv_huge_st_ino=yes,</div><div class='add'>+rb_cv_huge_st_ino=no)</div><div class='add'>+])</div><div class='add'>+if test $rb_cv_huge_st_ino = yes; then</div><div class='add'>+  AC_DEFINE(HUGE_ST_INO)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+if test "$ac_cv_func_sysconf" = yes; then</div><div class='add'>+  AC_DEFUN([RUBY_CHECK_SYSCONF], [dnl</div><div class='add'>+  AC_CACHE_CHECK([whether _SC_$1 is supported], rb_cv_have_sc_[]m4_tolower($1),</div><div class='add'>+    [AC_TRY_COMPILE([#include &lt;unistd.h&gt;</div><div class='add'>+      ],</div><div class='add'>+      [_SC_$1 &gt;= 0],</div><div class='add'>+      rb_cv_have_sc_[]m4_tolower($1)=yes,</div><div class='add'>+      rb_cv_have_sc_[]m4_tolower($1)=no)</div><div class='add'>+    ])</div><div class='add'>+  if test "$rb_cv_have_sc_[]m4_tolower($1)" = yes; then</div><div class='add'>+    AC_DEFINE(HAVE__SC_$1)</div><div class='add'>+  fi</div><div class='add'>+  ])</div><div class='add'>+  RUBY_CHECK_SYSCONF(CLK_TCK)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+case "$target_cpu" in</div><div class='add'>+m68*|i?86|ia64|sparc*|alpha*) rb_cv_stack_grow_dir=-1;;</div><div class='add'>+hppa*) rb_cv_stack_grow_dir=+1;;</div><div class='add'>+esac</div><div class='add'>+AC_CACHE_CHECK(stack growing direction, rb_cv_stack_grow_dir,</div><div class='add'>+  [AC_TRY_RUN([</div><div class='add'>+/* recurse to get rid of inlining */</div><div class='add'>+static int</div><div class='add'>+stack_growup_p(addr, n)</div><div class='add'>+    volatile int *addr, n;</div><div class='add'>+{</div><div class='add'>+    volatile int end;</div><div class='add'>+    if (n &gt; 0)</div><div class='add'>+	return *addr = stack_growup_p(addr, n - 1);</div><div class='add'>+    else</div><div class='add'>+	return (&amp;end &gt; addr);</div><div class='add'>+}</div><div class='add'>+int main()</div><div class='add'>+{</div><div class='add'>+    int x;</div><div class='add'>+    return stack_growup_p(&amp;x, 10);</div><div class='add'>+}</div><div class='add'>+], rb_cv_stack_grow_dir=-1, rb_cv_stack_grow_dir=+1, rb_cv_stack_grow_dir=0)])</div><div class='add'>+AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $rb_cv_stack_grow_dir)</div><div class='add'>+</div><div class='add'>+if test x"$enable_pthread" = xyes; then</div><div class='add'>+    for pthread_lib in pthread pthreads c c_r; do</div><div class='add'>+ 	AC_CHECK_LIB($pthread_lib, pthread_kill,</div><div class='add'>+		     rb_with_pthread=yes, rb_with_pthread=no)</div><div class='add'>+	if test "$rb_with_pthread" = "yes"; then break; fi</div><div class='add'>+    done</div><div class='add'>+    if test x"$rb_with_pthread" = xyes; then</div><div class='add'>+	AC_DEFINE(_REENTRANT)</div><div class='add'>+	AC_DEFINE(_THREAD_SAFE)</div><div class='add'>+	AC_DEFINE(HAVE_LIBPTHREAD)</div><div class='add'>+	case $pthread_lib in</div><div class='add'>+	c)</div><div class='add'>+	    ;;</div><div class='add'>+	c_r)</div><div class='add'>+	    MAINLIBS="-pthread $MAINLIBS"</div><div class='add'>+	    ;;</div><div class='add'>+	*)</div><div class='add'>+      	    LIBS="-l$pthread_lib $LIBS"</div><div class='add'>+	    ;;</div><div class='add'>+	esac</div><div class='add'>+    else</div><div class='add'>+	AC_MSG_WARN("Don't know how to find pthread library on your system -- thread support disabled")</div><div class='add'>+    fi</div><div class='add'>+    AC_CHECK_FUNCS(nanosleep)</div><div class='add'>+    if test x"$ac_cv_func_nanosleep" = xno; then</div><div class='add'>+       AC_CHECK_LIB(rt, nanosleep)</div><div class='add'>+       if test x"$ac_cv_lib_rt_nanosleep" = xyes; then</div><div class='add'>+           AC_DEFINE(HAVE_NANOSLEEP)</div><div class='add'>+       fi</div><div class='add'>+    fi</div><div class='add'>+fi</div><div class='add'>+if test x"$ac_cv_header_ucontext_h" = xyes; then</div><div class='add'>+    if test x"$rb_with_pthread" = xyes; then</div><div class='add'>+	AC_CHECK_FUNCS(getcontext setcontext)</div><div class='add'>+    fi</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+dnl default value for $KANJI</div><div class='add'>+DEFAULT_KCODE="KCODE_NONE"</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(default-kcode, </div><div class='add'>+	[  --with-default-kcode=CODE specify default value for \$KCODE (utf8|euc|sjis|none)], </div><div class='add'>+	[case $withval in</div><div class='add'>+	utf8) DEFAULT_KCODE="KCODE_UTF8";;</div><div class='add'>+	euc)  DEFAULT_KCODE="KCODE_EUC";;</div><div class='add'>+	sjis) DEFAULT_KCODE="KCODE_SJIS";;</div><div class='add'>+	none) DEFAULT_KCODE="KCODE_NONE";;</div><div class='add'>+        *)    AC_MSG_WARN($withval is not valid kcode; ignored);;</div><div class='add'>+	esac])</div><div class='add'>+AC_DEFINE_UNQUOTED(DEFAULT_KCODE, $DEFAULT_KCODE)</div><div class='add'>+</div><div class='add'>+dnl wheather use dln_a_out or not</div><div class='add'>+AC_ARG_WITH(dln-a-out, </div><div class='add'>+	[  --with-dln-a-out        use dln_a_out if possible], [</div><div class='add'>+	case $withval in</div><div class='add'>+	yes) with_dln_a_out=yes;;</div><div class='add'>+	*)   with_dln_a_out=no;;</div><div class='add'>+	esac], [with_dln_a_out=no])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(whether ELF binaries are produced, rb_cv_binary_elf,</div><div class='add'>+[AC_TRY_RUN([</div><div class='add'>+/* Test for whether ELF binaries are produced */</div><div class='add'>+#include &lt;fcntl.h&gt;</div><div class='add'>+#include &lt;stdlib.h&gt;</div><div class='add'>+main() {</div><div class='add'>+	char buffer[4];</div><div class='add'>+	int i=open("conftest",O_RDONLY);</div><div class='add'>+	if(i==-1)</div><div class='add'>+		exit(1); /* fail */</div><div class='add'>+	if(read(i,&amp;buffer[0],4)&lt;4)</div><div class='add'>+		exit(1); /* fail */</div><div class='add'>+	if(buffer[0] != 127 || buffer[1] != 'E' ||</div><div class='add'>+           buffer[2] != 'L' || buffer[3] != 'F')</div><div class='add'>+		exit(1); /* fail */</div><div class='add'>+	exit(0); /* succeed (yes, it's ELF) */</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+rb_cv_binary_elf=yes,</div><div class='add'>+rb_cv_binary_elf=no,</div><div class='add'>+rb_cv_binary_elf=yes)])</div><div class='add'>+</div><div class='add'>+if test "$rb_cv_binary_elf" = yes; then</div><div class='add'>+  AC_DEFINE(USE_ELF)</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+linux* | gnu* | k*bsd*-gnu | bsdi*)</div><div class='add'>+    if test "$rb_cv_binary_elf" = no; then</div><div class='add'>+	with_dln_a_out=yes</div><div class='add'>+    else</div><div class='add'>+	LDFLAGS="$LDFLAGS -rdynamic"</div><div class='add'>+    fi;;</div><div class='add'>+esac</div><div class='add'>+LIBEXT=a</div><div class='add'>+</div><div class='add'>+AC_SUBST(DLDFLAGS)dnl</div><div class='add'>+AC_SUBST(ARCH_FLAG)dnl</div><div class='add'>+</div><div class='add'>+AC_SUBST(STATIC)dnl</div><div class='add'>+AC_SUBST(CCDLFLAGS)dnl</div><div class='add'>+AC_SUBST(LDSHARED)dnl</div><div class='add'>+AC_SUBST(DLEXT)dnl</div><div class='add'>+AC_SUBST(DLEXT2)dnl</div><div class='add'>+AC_SUBST(LIBEXT)dnl</div><div class='add'>+</div><div class='add'>+STATIC=</div><div class='add'>+: ${LIBPATHFLAG=' -L"%s"'}</div><div class='add'>+: ${PATHFLAG=''}</div><div class='add'>+</div><div class='add'>+if test "$with_dln_a_out" != yes; then</div><div class='add'>+  rb_cv_dlopen=unknown</div><div class='add'>+  AC_MSG_CHECKING(whether OS depend dynamic link works)</div><div class='add'>+  if test "$GCC" = yes; then</div><div class='add'>+    case "$target_os" in</div><div class='add'>+    nextstep*)	CCDLFLAGS="$CCDLFLAGS -fno-common";;</div><div class='add'>+    openstep*)	CCDLFLAGS="$CCDLFLAGS -fno-common";;</div><div class='add'>+    rhapsody*)	CCDLFLAGS="$CCDLFLAGS -fno-common";;</div><div class='add'>+    darwin*)	CCDLFLAGS="$CCDLFLAGS -fno-common";;</div><div class='add'>+    human*|bsdi*|beos*|cygwin*|mingw*|aix*|interix*) ;;</div><div class='add'>+    *) CCDLFLAGS="$CCDLFLAGS -fPIC";;</div><div class='add'>+    esac</div><div class='add'>+  else</div><div class='add'>+    case "$target_os" in</div><div class='add'>+	hpux*)		CCDLFLAGS="$CCDLFLAGS +Z";;</div><div class='add'>+	solaris*|irix*)	CCDLFLAGS="$CCDLFLAGS -KPIC" ;;</div><div class='add'>+	sunos*)		CCDLFLAGS="$CCDLFLAGS -PIC" ;;</div><div class='add'>+	esix*|uxpds*)   CCDLFLAGS="$CCDLFLAGS -KPIC" ;;</div><div class='add'>+	*)		: ${CCDLFLAGS=""} ;;</div><div class='add'>+    esac</div><div class='add'>+  fi</div><div class='add'>+</div><div class='add'>+  case "$target_os" in</div><div class='add'>+	hpux*)		DLDFLAGS="$DLDFLAGS -E"</div><div class='add'>+			: ${LDSHARED='ld -b'}</div><div class='add'>+			XLDFLAGS="$XLDFLAGS -Wl,-E"</div><div class='add'>+			: ${LIBPATHENV=SHLIB_PATH}</div><div class='add'>+			rb_cv_dlopen=yes;;</div><div class='add'>+	solaris*) 	if test "$GCC" = yes; then</div><div class='add'>+                          : ${LDSHARED='$(CC) -shared'}</div><div class='add'>+			   if test "$rb_cv_prog_gnu_ld" = yes; then</div><div class='add'>+	 		       LDFLAGS="$LDFLAGS -Wl,-E"</div><div class='add'>+			   fi</div><div class='add'>+			else</div><div class='add'>+			   : ${LDSHARED='ld -G'}</div><div class='add'>+			fi</div><div class='add'>+			rb_cv_dlopen=yes;;</div><div class='add'>+	sunos*) 	: ${LDSHARED='ld -assert nodefinitions'}</div><div class='add'>+			rb_cv_dlopen=yes;;</div><div class='add'>+	irix*)		: ${LDSHARED='ld -shared'}</div><div class='add'>+			rb_cv_dlopen=yes;;</div><div class='add'>+	sysv4*) 	: ${LDSHARED='ld -G'}</div><div class='add'>+			rb_cv_dlopen=yes;;</div><div class='add'>+        nto-qnx*)       : ${LDSHARED="qcc -shared"}</div><div class='add'>+                        rb_cv_dlopen=yes ;;</div><div class='add'>+	esix*|uxpds*) 	: ${LDSHARED="ld -G"}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	osf*) 		: ${LDSHARED="ld -shared -expect_unresolved \"*\""}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	bsdi3*) 	case "$CC" in</div><div class='add'>+			*shlicc*)	: ${LDSHARED="$CC -r"}</div><div class='add'>+					rb_cv_dlopen=yes ;;</div><div class='add'>+			esac ;;</div><div class='add'>+	linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi*)</div><div class='add'>+			: ${LDSHARED='${CC} -shared'}</div><div class='add'>+			if test "$rb_cv_binary_elf" = yes; then</div><div class='add'>+			    LDFLAGS="$LDFLAGS -Wl,-export-dynamic"</div><div class='add'>+			fi</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	interix*) 	: ${LDSHARED="$CC -shared"}</div><div class='add'>+			XLDFLAGS="$XLDFLAGS -Wl,-E"</div><div class='add'>+			LIBPATHFLAG=" -L'%1\$-s'"</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	freebsd*|dragonfly*)       : ${LDSHARED="$CC -shared"}</div><div class='add'>+			if test "$rb_cv_binary_elf" = yes; then</div><div class='add'>+			    LDFLAGS="$LDFLAGS -rdynamic"</div><div class='add'>+			    DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$(.TARGET)'</div><div class='add'>+			else</div><div class='add'>+			  test "$GCC" = yes &amp;&amp; test "$rb_cv_prog_gnu_ld" = yes || LDSHARED="ld -Bshareable"</div><div class='add'>+			fi</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	openbsd*) 	: ${LDSHARED="\$(CC) -shared ${CCDLFLAGS}"}</div><div class='add'>+			if test "$rb_cv_binary_elf" = yes; then</div><div class='add'>+			    LDFLAGS="$LDFLAGS -Wl,-E"</div><div class='add'>+			fi</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	nextstep*)	: ${LDSHARED='cc -r -nostdlib'}</div><div class='add'>+			LDFLAGS="$LDFLAGS -u libsys_s"</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	openstep*)	: ${LDSHARED='cc -dynamic -bundle -undefined suppress'}</div><div class='add'>+			: ${LDFLAGS=""}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	rhapsody*)	: ${LDSHARED='cc -dynamic -bundle -undefined suppress'}</div><div class='add'>+			: ${LDFLAGS=""}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	darwin*)	: ${LDSHARED='cc -dynamic -bundle -undefined suppress -flat_namespace'}</div><div class='add'>+			: ${LDFLAGS=""}</div><div class='add'>+			: ${LIBPATHENV=DYLD_LIBRARY_PATH}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+        aix*)           if test "$GCC" = yes; then</div><div class='add'>+			    : ${LDSHARED='$(CC) -shared'}</div><div class='add'>+			    DLDFLAGS='-Wl,-G -eInit_$(TARGET)'</div><div class='add'>+			    LDFLAGS='-Wl,-brtl'</div><div class='add'>+			    XLDFLAGS='-Wl,-bE:ruby.imp'</div><div class='add'>+			else</div><div class='add'>+			    : ${LDSHARED='/usr/ccs/bin/ld'}</div><div class='add'>+			    DLDFLAGS='-G -eInit_$(TARGET)'</div><div class='add'>+			    LDFLAGS='-brtl'</div><div class='add'>+			    XLDFLAGS='-bE:ruby.imp'</div><div class='add'>+                        fi</div><div class='add'>+                        : ${ARCHFILE="ruby.imp"}</div><div class='add'>+                        TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'</div><div class='add'>+                        TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)'</div><div class='add'>+                        : ${LIBPATHENV=SHLIB_PATH}</div><div class='add'>+                        rb_cv_dlopen=yes ;;</div><div class='add'>+	human*)		: ${DLDFLAGS=''}</div><div class='add'>+			: ${LDSHARED=''}</div><div class='add'>+			: ${LDFLAGS=''}</div><div class='add'>+			: ${LINK_SO='ar cru $@ $(OBJS)'}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	beos*) 		case "$target_cpu" in</div><div class='add'>+			  powerpc*)</div><div class='add'>+			    : ${LDSHARED="ld -xms"}</div><div class='add'>+			    DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'</div><div class='add'>+                            ;;</div><div class='add'>+			  i586*)</div><div class='add'>+			    : ${LDSHARED="ld -shared"}</div><div class='add'>+			    DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -lbe -lroot"</div><div class='add'>+			    ;;</div><div class='add'>+			esac</div><div class='add'>+			: ${LIBPATHENV=LIBRARY_PATH}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	nto-qnx*)	DLDFLAGS="$DLDFLAGS -L/lib -L/usr/lib -L/usr/local/lib"</div><div class='add'>+			: ${LDSHARED='ld -Bshareable -x'}</div><div class='add'>+			LDFLAGS="$LDFLAGS -L/lib -L/usr/lib -L/usr/local/lib"</div><div class='add'>+			rb_cv_dlopen=yes;;</div><div class='add'>+	cygwin*|mingw*)	: ${LDSHARED="${CC} -shared -s"}</div><div class='add'>+			XLDFLAGS="$XLDFLAGS -Wl,--stack,0x02000000"</div><div class='add'>+			DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-import,--export-all"</div><div class='add'>+			: ${LIBPATHENV=""}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	hiuxmpp)	: ${LDSHARED='ld -r'} ;;</div><div class='add'>+	atheos*) 	: ${LDSHARED="$CC -shared"}</div><div class='add'>+			rb_cv_dlopen=yes ;;</div><div class='add'>+	os2-emx*)	LDFLAGS="$LDFLAGS -Zbsd-signals"</div><div class='add'>+			;;</div><div class='add'>+	*) 		: ${LDSHARED='ld'} ;;</div><div class='add'>+  esac</div><div class='add'>+  AC_MSG_RESULT($rb_cv_dlopen)</div><div class='add'>+</div><div class='add'>+  AC_ARG_ENABLE(rpath,</div><div class='add'>+       [  --disable-rpath         embed run path into extension libraries.],</div><div class='add'>+       [enable_rpath=$enableval], [enable_rpath="$rb_cv_binary_elf"])</div><div class='add'>+  if test "$enable_rpath" = yes; then</div><div class='add'>+    LIBPATHFLAG=" -L'%1\$-s'"</div><div class='add'>+    if test "$GCC" = yes; then</div><div class='add'>+       RPATHFLAG=" -Wl,-R'%1\$-s'"</div><div class='add'>+    else</div><div class='add'>+       RPATHFLAG=" -R'%1\$-s'"</div><div class='add'>+    fi</div><div class='add'>+  fi</div><div class='add'>+fi</div><div class='add'>+AC_SUBST(LINK_SO)</div><div class='add'>+AC_SUBST(LIBPATHFLAG)</div><div class='add'>+AC_SUBST(RPATHFLAG)</div><div class='add'>+AC_SUBST(LIBPATHENV, "${LIBPATHENV-LD_LIBRARY_PATH}")</div><div class='add'>+AC_SUBST(TRY_LINK)</div><div class='add'>+</div><div class='add'>+dln_a_out_works=no</div><div class='add'>+if test "$ac_cv_header_a_out_h" = yes; then</div><div class='add'>+  if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then</div><div class='add'>+    cat confdefs.h &gt; config.h</div><div class='add'>+    AC_CACHE_CHECK(whether matz's dln works, rb_cv_dln_a_out,</div><div class='add'>+    [AC_TRY_COMPILE([</div><div class='add'>+#define USE_DLN_A_OUT</div><div class='add'>+#include "dln.c"</div><div class='add'>+],</div><div class='add'>+	[], </div><div class='add'>+	rb_cv_dln_a_out=yes,</div><div class='add'>+	rb_cv_dln_a_out=no)])</div><div class='add'>+    if test "$rb_cv_dln_a_out" = yes; then</div><div class='add'>+      dln_a_out_works=yes</div><div class='add'>+      AC_DEFINE(USE_DLN_A_OUT)</div><div class='add'>+    fi</div><div class='add'>+  fi</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+if test "$dln_a_out_works" = yes; then</div><div class='add'>+  if test "$GCC" = yes; then</div><div class='add'>+    STATIC=-static</div><div class='add'>+  else</div><div class='add'>+    STATIC=-Bstatic</div><div class='add'>+  fi</div><div class='add'>+  DLEXT=so</div><div class='add'>+  CCDLFLAGS=</div><div class='add'>+else</div><div class='add'>+  case "$target_os" in</div><div class='add'>+    hpux*)	DLEXT=sl;;</div><div class='add'>+    nextstep*|openstep*|rhapsody*|darwin*)</div><div class='add'>+		DLEXT=bundle;;</div><div class='add'>+    os2-emx*)	DLEXT=dll;;</div><div class='add'>+    cygwin*|mingw*)</div><div class='add'>+		DLEXT=so DLEXT2=dll;;</div><div class='add'>+    *)		DLEXT=so;;</div><div class='add'>+  esac</div><div class='add'>+fi</div><div class='add'>+len=2 # .rb</div><div class='add'>+n=`expr "$DLEXT"  : '.*'`; test "$n" -gt "$len" &amp;&amp; len=$n</div><div class='add'>+n=`expr "$DLEXT2" : '.*'`; test "$n" -gt "$len" &amp;&amp; len=$n</div><div class='add'>+AC_DEFINE_UNQUOTED(DLEXT_MAXLEN, `expr $len + 1`)</div><div class='add'>+test ".$DLEXT"  = "." || AC_DEFINE_UNQUOTED(DLEXT,  ".$DLEXT")</div><div class='add'>+test ".$DLEXT2" = "." || AC_DEFINE_UNQUOTED(DLEXT2, ".$DLEXT2")</div><div class='add'>+</div><div class='add'>+AC_SUBST(STRIP)dnl</div><div class='add'>+if test "$with_dln_a_out" = yes; then</div><div class='add'>+  STRIP=true</div><div class='add'>+else</div><div class='add'>+  STRIP=strip</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+  linux* | gnu* | k*bsd*-gnu)</div><div class='add'>+	STRIP='strip -S -x';;</div><div class='add'>+  nextstep*)</div><div class='add'>+	STRIP='strip -A -n';;</div><div class='add'>+  openstep*)</div><div class='add'>+	STRIP='strip -A -n';;</div><div class='add'>+  rhapsody*)</div><div class='add'>+	STRIP='strip -A -n';;</div><div class='add'>+  darwin*)</div><div class='add'>+	STRIP='strip -A -n';;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+EXTSTATIC=</div><div class='add'>+AC_SUBST(EXTSTATIC)dnl</div><div class='add'>+AC_ARG_WITH(static-linked-ext,</div><div class='add'>+	    [  --with-static-linked-ext link external modules statically],</div><div class='add'>+            [case $withval in</div><div class='add'>+	     yes) STATIC=</div><div class='add'>+		  EXTSTATIC=static;;</div><div class='add'>+	     *)	;;</div><div class='add'>+	     esac])</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+  human*)</div><div class='add'>+    AC_CHECK_LIB(signal, _harderr)</div><div class='add'>+    AC_CHECK_LIB(hmem, hmemset)</div><div class='add'>+    AC_CHECK_FUNCS(select gettimeofday)</div><div class='add'>+    AC_CACHE_CHECK(whether PD libc _dtos18 fail to convert big number,</div><div class='add'>+		   rb_cv_missing__dtos18,</div><div class='add'>+    [AC_TRY_RUN(</div><div class='add'>+changequote(&lt;&lt;, &gt;&gt;)dnl</div><div class='add'>+&lt;&lt;</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+main ()</div><div class='add'>+{</div><div class='add'>+   char buf[256];</div><div class='add'>+   sprintf (buf, "%g", 1e+300);</div><div class='add'>+   exit (strcmp (buf, "1e+300") ? 0 : 1);</div><div class='add'>+}</div><div class='add'>+&gt;&gt;,</div><div class='add'>+changequote([, ])dnl</div><div class='add'>+rb_cv_missing__dtos18=yes, rb_cv_missing__dtos18=no, rb_cv_missing__dtos18=no)])</div><div class='add'>+    if test "$rb_cv_missing__dtos18" = yes; then</div><div class='add'>+      AC_DEFINE(MISSING__DTOS18)</div><div class='add'>+    fi</div><div class='add'>+    AC_CACHE_CHECK(whether PD libc fconvert fail to round,</div><div class='add'>+		   rb_cv_missing_fconvert,</div><div class='add'>+    [AC_TRY_RUN(</div><div class='add'>+changequote(&lt;&lt;, &gt;&gt;)dnl</div><div class='add'>+&lt;&lt;</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;math.h&gt;</div><div class='add'>+main ()</div><div class='add'>+{</div><div class='add'>+  char buf[256];</div><div class='add'>+  sprintf (buf, "%f", log(exp(1.0)));</div><div class='add'>+  exit (strcmp (buf, "1.000000") ? 0 : 1);</div><div class='add'>+}</div><div class='add'>+&gt;&gt;,</div><div class='add'>+changequote([, ])dnl</div><div class='add'>+rb_cv_missing_fconvert=yes, rb_cv_missing_fconvert=no, rb_cv_missing_fconvert=no)])</div><div class='add'>+    if test "$rb_cv_missing_fconvert" = yes; then</div><div class='add'>+      AC_DEFINE(MISSING_FCONVERT)</div><div class='add'>+    fi</div><div class='add'>+    AC_LIBOBJ([x68.o])</div><div class='add'>+    CFLAGS="$CFLAGS -fansi-only"</div><div class='add'>+    XCFLAGS="$XCFLAGS -cc1-stack=262144 -cpp-stack=2694144"</div><div class='add'>+    EXEEXT=.x</div><div class='add'>+    OBJEXT=o</div><div class='add'>+    setup=Setup.x68</div><div class='add'>+    ;;</div><div class='add'>+  dnl OS/2 environment w/ Autoconf 2.1x for EMX</div><div class='add'>+  os2-emx)</div><div class='add'>+    AC_LIBOBJ([os2])</div><div class='add'>+    setup=Setup.emx</div><div class='add'>+    ;;</div><div class='add'>+  *djgpp*)</div><div class='add'>+    setup=Setup.dj</div><div class='add'>+    ;;</div><div class='add'>+  *)</div><div class='add'>+    setup=Setup</div><div class='add'>+    ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+AC_SUBST(setup)</div><div class='add'>+</div><div class='add'>+if test "$prefix" = NONE; then</div><div class='add'>+  prefix=$ac_default_prefix</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+#if test "$fat_binary" != no ; then</div><div class='add'>+#  CFLAGS="$CFLAGS $ARCH_FLAG"</div><div class='add'>+#fi</div><div class='add'>+</div><div class='add'>+if test x"$cross_compiling" = xyes; then</div><div class='add'>+  test x"$MINIRUBY" = x &amp;&amp; MINIRUBY="${RUBY-ruby} -I`pwd` -rfake"</div><div class='add'>+  PREP=fake.rb</div><div class='add'>+  RUNRUBY='$(MINIRUBY) -I`cd $(srcdir)/lib; pwd`'</div><div class='add'>+else</div><div class='add'>+  MINIRUBY='./miniruby$(EXEEXT)'</div><div class='add'>+  PREP='miniruby$(EXEEXT)'</div><div class='add'>+  RUNRUBY='$(MINIRUBY) $(srcdir)/runruby.rb --extout=$(EXTOUT) --'</div><div class='add'>+fi</div><div class='add'>+AC_SUBST(MINIRUBY)</div><div class='add'>+AC_SUBST(PREP)</div><div class='add'>+AC_SUBST(RUNRUBY)</div><div class='add'>+AC_SUBST(EXTOUT, [${EXTOUT-.ext}])</div><div class='add'>+</div><div class='add'>+FIRSTMAKEFILE=""</div><div class='add'>+LIBRUBY_A='lib$(RUBY_SO_NAME)-static.a'</div><div class='add'>+LIBRUBY='$(LIBRUBY_A)'</div><div class='add'>+LIBRUBYARG_STATIC='-l$(RUBY_SO_NAME)-static'</div><div class='add'>+LIBRUBYARG='$(LIBRUBYARG_STATIC)'</div><div class='add'>+SOLIBS=</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+  cygwin*|mingw*|beos*|openstep*|nextstep*|rhapsody*|darwin*|os2-emx*)</div><div class='add'>+    : ${DLDLIBS=""}</div><div class='add'>+    ;;</div><div class='add'>+  *)</div><div class='add'>+    DLDLIBS="$DLDLIBS -lc"</div><div class='add'>+    ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+RUBY_SO_NAME='$(RUBY_INSTALL_NAME)'</div><div class='add'>+LIBRUBY_LDSHARED=$LDSHARED</div><div class='add'>+LIBRUBY_DLDFLAGS=$DLDFLAGS</div><div class='add'>+LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY)'</div><div class='add'>+LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so'</div><div class='add'>+ENABLE_SHARED=no</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(shared,</div><div class='add'>+       [  --enable-shared         build a shared library for Ruby. ],</div><div class='add'>+       [enable_shared=$enableval])</div><div class='add'>+if test "$enable_shared" = 'yes'; then</div><div class='add'>+  LIBRUBY='$(LIBRUBY_SO)'</div><div class='add'>+  LIBRUBYARG_SHARED='-l$(RUBY_SO_NAME)'</div><div class='add'>+  LIBRUBYARG='$(LIBRUBYARG_SHARED)'</div><div class='add'>+  CFLAGS="$CFLAGS $CCDLFLAGS"</div><div class='add'>+  ENABLE_SHARED=yes</div><div class='add'>+  if test "$rb_cv_binary_elf" = yes; then</div><div class='add'>+    SOLIBS='$(LIBS)'</div><div class='add'>+  fi</div><div class='add'>+  case "$target_os" in</div><div class='add'>+    sunos4*)</div><div class='add'>+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'</div><div class='add'>+	;;</div><div class='add'>+    linux* | gnu* | k*bsd*-gnu | atheos*)</div><div class='add'>+	LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'</div><div class='add'>+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'</div><div class='add'>+	;;</div><div class='add'>+    freebsd*|dragonfly*)</div><div class='add'>+	SOLIBS='$(LIBS)'</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'</div><div class='add'>+	if test "$rb_cv_binary_elf" != "yes" ; then</div><div class='add'>+	    LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"</div><div class='add'>+	    LIBRUBY_ALIASES=''</div><div class='add'>+	fi</div><div class='add'>+	;;</div><div class='add'>+    netbsd*)</div><div class='add'>+	SOLIBS='$(LIBS)'</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'</div><div class='add'>+	LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'</div><div class='add'>+	if test "$rb_cv_binary_elf" = yes; then # ELF platforms</div><div class='add'>+	   LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'</div><div class='add'>+	else	# a.out platforms</div><div class='add'>+	   LIBRUBY_ALIASES=""</div><div class='add'>+	fi</div><div class='add'>+ 	;;</div><div class='add'>+    openbsd*)</div><div class='add'>+	SOLIBS='$(LIBS)'</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}`</div><div class='add'>+	;;</div><div class='add'>+    solaris*)</div><div class='add'>+	SOLIBS='$(LIBS)'</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)'</div><div class='add'>+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY) lib$(RUBY_SO_NAME).so'</div><div class='add'>+	if test "$GCC" = yes; then</div><div class='add'>+	    LIBRUBY_DLDFLAGS="$DLDFLAGS "'-Wl,-h,$(@F)'</div><div class='add'>+	fi</div><div class='add'>+	XLDFLAGS="$XLDFLAGS "'-R${libdir}'</div><div class='add'>+ 	;;</div><div class='add'>+    hpux*)</div><div class='add'>+	XLDFLAGS="$XLDFLAGS "'-Wl,+s,+b,$(libdir)'</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).sl.$(MAJOR).$(MINOR).$(TEENY)'</div><div class='add'>+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).sl'</div><div class='add'>+	;;</div><div class='add'>+    aix*)</div><div class='add'>+	if test "$GCC" = yes; then</div><div class='add'>+	    LIBRUBY_DLDFLAGS='-Wl,-G -Wl,-bnoentry'</div><div class='add'>+	else</div><div class='add'>+	    LIBRUBY_DLDFLAGS='-G -bnoentry'</div><div class='add'>+	fi</div><div class='add'>+	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS $XLDFLAGS"</div><div class='add'>+	LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'</div><div class='add'>+	SOLIBS='-lm -lc'</div><div class='add'>+	;;</div><div class='add'>+    beos*)</div><div class='add'>+	case "$target_cpu" in</div><div class='add'>+	powerpc*)</div><div class='add'>+	    LIBRUBY_DLDFLAGS='-f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'</div><div class='add'>+	    ;;</div><div class='add'>+	esac</div><div class='add'>+	;;</div><div class='add'>+    darwin*)</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(MAJOR).$(MINOR).$(TEENY).dylib'</div><div class='add'>+	LIBRUBY_LDSHARED='cc -dynamiclib -undefined suppress -flat_namespace'</div><div class='add'>+	LIBRUBY_DLDFLAGS='-install_name $(libdir)/lib$(RUBY_SO_NAME).dylib -current_version $(MAJOR).$(MINOR).$(TEENY) -compatibility_version $(MAJOR).$(MINOR)'</div><div class='add'>+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).$(MAJOR).$(MINOR).dylib lib$(RUBY_SO_NAME).dylib'</div><div class='add'>+	;;</div><div class='add'>+    interix*)</div><div class='add'>+	LIBRUBYARG_SHARED='-L${libdir} -L. -l$(RUBY_SO_NAME)'</div><div class='add'>+	;;</div><div class='add'>+    *)</div><div class='add'>+	;;</div><div class='add'>+  esac</div><div class='add'>+fi</div><div class='add'>+if test "$enable_rpath" = yes; then</div><div class='add'>+    if test "$GCC" = yes; then</div><div class='add'>+       LIBRUBYARG_SHARED='-Wl,-R -Wl,$(libdir) -L$(libdir) -L. '"$LIBRUBYARG_SHARED"</div><div class='add'>+    else</div><div class='add'>+       LIBRUBYARG_SHARED='-R $(libdir) -L$(libdir) -L. '"$LIBRUBYARG_SHARED"</div><div class='add'>+    fi</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+XLDFLAGS="$XLDFLAGS -L."</div><div class='add'>+AC_SUBST(ARCHFILE)</div><div class='add'>+</div><div class='add'>+dnl build rdoc index if requested</div><div class='add'>+RDOCTARGET=""</div><div class='add'>+AC_ARG_ENABLE(install-doc,</div><div class='add'>+       [  --enable-install-doc    build and install rdoc indexes during install ],</div><div class='add'>+       [install_doc=$enableval], [install_doc=no])</div><div class='add'>+if test "$install_doc" != no; then</div><div class='add'>+   RDOCTARGET="install-doc"</div><div class='add'>+fi</div><div class='add'>+AC_SUBST(RDOCTARGET)</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+    netbsd*)</div><div class='add'>+    	CFLAGS="$CFLAGS -pipe"</div><div class='add'>+	;;</div><div class='add'>+    nextstep*|openstep*)</div><div class='add'>+	# The -fno-common is needed if we wish to embed the Ruby interpreter</div><div class='add'>+	# into a plugin module of some project (as opposed to embedding it</div><div class='add'>+	# within the project's application).  The -I/usr/local/include is</div><div class='add'>+	# needed because CPP as discovered by configure (cc -E -traditional)</div><div class='add'>+	# fails to consult /usr/local/include by default.  This causes</div><div class='add'>+	# mkmf.rb's have_header() to fail if the desired resource happens to be</div><div class='add'>+	# installed in the /usr/local tree.</div><div class='add'>+    	CFLAGS="$CFLAGS -pipe -fno-common"</div><div class='add'>+	CPPFLAGS="$CPPFLAGS -I/usr/local/include"</div><div class='add'>+	;;</div><div class='add'>+    rhapsody*)</div><div class='add'>+    	CFLAGS="$CFLAGS -pipe -no-precomp -fno-common"</div><div class='add'>+	;;</div><div class='add'>+    darwin*)</div><div class='add'>+    	CFLAGS="$CFLAGS -pipe -fno-common"</div><div class='add'>+	;;</div><div class='add'>+    os2-emx)</div><div class='add'>+    	CFLAGS="$CFLAGS -DOS2 -Zmts"</div><div class='add'>+	LIBRUBY_A=`echo $LIBRUBY_A | sed 's/^lib//'`</div><div class='add'>+	LIBRUBY_SO=`echo $LIBRUBY_SO | sed 's/^lib//'`</div><div class='add'>+	LIBRUBY_ALIASES=`for i in $LIBRUBY_ALIASES; do echo "$i"; done | sed 's/^lib//'`</div><div class='add'>+	;;</div><div class='add'>+    osf*)</div><div class='add'>+	if test "$GCC" != "yes" ; then</div><div class='add'>+	  # compile something small: taint.c is fine for this.</div><div class='add'>+	  # the main point is the '-v' flag of 'cc'.</div><div class='add'>+	  case "`cc -v -I. -c main.c -o /tmp/main.o 2&gt;&amp;1`" in</div><div class='add'>+	  */gemc_cc*)   # we have the new DEC GEM CC</div><div class='add'>+                        CFLAGS="$CFLAGS -oldc"</div><div class='add'>+                        ;;</div><div class='add'>+          *)            # we have the old MIPS CC</div><div class='add'>+                        ;;</div><div class='add'>+          esac</div><div class='add'>+	  # cleanup</div><div class='add'>+	  rm -f /tmp/main.o</div><div class='add'>+	  CFLAGS="$CFLAGS -std"</div><div class='add'>+	fi</div><div class='add'>+		;;</div><div class='add'>+    beos*)</div><div class='add'>+	case "$target_cpu" in</div><div class='add'>+	powerpc*)</div><div class='add'>+	    CFLAGS="$CFLAGS -relax_pointers"</div><div class='add'>+	    ;;</div><div class='add'>+	esac</div><div class='add'>+	;;</div><div class='add'>+    cygwin*|mingw*)</div><div class='add'>+	case "$target_os" in</div><div class='add'>+	cygwin*)</div><div class='add'>+	    if test x"$enable_shared" = xyes; then</div><div class='add'>+		LIBRUBY_SO='cyg$(RUBY_SO_NAME)'${MAJOR}${MINOR}.dll</div><div class='add'>+		LIBRUBY='lib$(RUBY_SO_NAME).dll.a'</div><div class='add'>+	    fi</div><div class='add'>+	    AC_LIBOBJ([strftime])</div><div class='add'>+	    ;;</div><div class='add'>+	mingw*)</div><div class='add'>+	    RUBY_SO_NAME=${rb_cv_msvcrt}-'$(RUBY_INSTALL_NAME)'${MAJOR}${MINOR}</div><div class='add'>+	    if test x"$enable_shared" = xyes; then</div><div class='add'>+		LIBRUBY_SO='$(RUBY_SO_NAME)'.dll</div><div class='add'>+		LIBRUBY='lib$(LIBRUBY_SO).a'</div><div class='add'>+	    fi</div><div class='add'>+	    AC_LIBOBJ([win32])</div><div class='add'>+	    COMMON_LIBS=m</div><div class='add'>+#	    COMMON_MACROS="WIN32_LEAN_AND_MEAN="</div><div class='add'>+	    COMMON_HEADERS="windows.h winsock.h"</div><div class='add'>+	    ;;</div><div class='add'>+	esac</div><div class='add'>+	LIBRUBY_DLDFLAGS="${DLDFLAGS}"' -Wl,--out-implib=$(LIBRUBY)'</div><div class='add'>+	LIBRUBY_ALIASES=''</div><div class='add'>+	FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in</div><div class='add'>+	SOLIBS='$(LIBS)'</div><div class='add'>+	if test x"$enable_shared" = xno; then</div><div class='add'>+	    LIBRUBY_SO=dummy</div><div class='add'>+	    LIBRUBY='lib$(RUBY_SO_NAME).a'</div><div class='add'>+	    LIBRUBYARG='-l$(RUBY_SO_NAME)'</div><div class='add'>+	fi</div><div class='add'>+	MINIOBJS=dmydln.o</div><div class='add'>+	;;</div><div class='add'>+    hpux*)</div><div class='add'>+	case "$YACC" in</div><div class='add'>+	  *yacc*)</div><div class='add'>+	    XCFLAGS="$XCFLAGS -DYYMAXDEPTH=300"</div><div class='add'>+	    YACC="$YACC -Nl40000 -Nm40000"</div><div class='add'>+	    ;;</div><div class='add'>+	esac</div><div class='add'>+	MINIOBJS=dmydln.o</div><div class='add'>+	;;</div><div class='add'>+    *)</div><div class='add'>+	;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+case "$build_os" in</div><div class='add'>+  *msdosdjgpp*) FIRSTMAKEFILE=GNUmakefile:djgpp/GNUmakefile.in;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+AC_SUBST(XCFLAGS)dnl</div><div class='add'>+AC_SUBST(XLDFLAGS)dnl</div><div class='add'>+AC_SUBST(LIBRUBY_LDSHARED)</div><div class='add'>+AC_SUBST(LIBRUBY_DLDFLAGS)</div><div class='add'>+AC_SUBST(RUBY_INSTALL_NAME)</div><div class='add'>+AC_SUBST(rubyw_install_name)</div><div class='add'>+AC_SUBST(RUBYW_INSTALL_NAME)</div><div class='add'>+AC_SUBST(RUBY_SO_NAME)</div><div class='add'>+AC_SUBST(LIBRUBY_A)</div><div class='add'>+AC_SUBST(LIBRUBY_SO)</div><div class='add'>+AC_SUBST(LIBRUBY_ALIASES)</div><div class='add'>+AC_SUBST(LIBRUBY)</div><div class='add'>+AC_SUBST(LIBRUBYARG)</div><div class='add'>+AC_SUBST(LIBRUBYARG_STATIC)</div><div class='add'>+AC_SUBST(LIBRUBYARG_SHARED)</div><div class='add'>+AC_SUBST(SOLIBS)</div><div class='add'>+AC_SUBST(DLDLIBS)</div><div class='add'>+AC_SUBST(ENABLE_SHARED)</div><div class='add'>+AC_SUBST(MAINLIBS)</div><div class='add'>+AC_SUBST(COMMON_LIBS)</div><div class='add'>+AC_SUBST(COMMON_MACROS)</div><div class='add'>+AC_SUBST(COMMON_HEADERS)</div><div class='add'>+AC_SUBST(EXPORT_PREFIX)</div><div class='add'>+AC_SUBST(MINIOBJS)</div><div class='add'>+</div><div class='add'>+MAKEFILES="Makefile `echo $FIRSTMAKEFILE | sed 's/:.*//'`"</div><div class='add'>+MAKEFILES="`echo $MAKEFILES`"</div><div class='add'>+AC_SUBST(MAKEFILES)</div><div class='add'>+</div><div class='add'>+ri_prefix=</div><div class='add'>+test "$program_prefix" != NONE &amp;&amp;</div><div class='add'>+  ri_prefix=$program_prefix</div><div class='add'>+</div><div class='add'>+ri_suffix=</div><div class='add'>+test "$program_suffix" != NONE &amp;&amp;</div><div class='add'>+  ri_suffix=$program_suffix</div><div class='add'>+</div><div class='add'>+RUBY_INSTALL_NAME="${ri_prefix}ruby${ri_suffix}"</div><div class='add'>+case "$target_os" in</div><div class='add'>+  cygwin*|mingw*)</div><div class='add'>+    RUBYW_INSTALL_NAME="${ri_prefix}rubyw${ri_suffix}"</div><div class='add'>+    rubyw_install_name="$RUBYW_INSTALL_NAME"</div><div class='add'>+    ;;</div><div class='add'>+esac</div><div class='add'>+case "$target_os" in</div><div class='add'>+  cygwin*|mingw*|*djgpp*|os2-emx*)</div><div class='add'>+    RUBY_LIB_PREFIX="/lib/ruby"</div><div class='add'>+    ;;</div><div class='add'>+  *)</div><div class='add'>+    RUBY_LIB_PREFIX="${prefix}/lib/ruby"</div><div class='add'>+    ;;</div><div class='add'>+esac</div><div class='add'>+RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${MAJOR}.${MINOR}"</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(sitedir,</div><div class='add'>+	    [  --with-sitedir=DIR      site libraries in DIR [PREFIX/lib/ruby/site_ruby]],</div><div class='add'>+            [sitedir=$withval],</div><div class='add'>+            [sitedir='${prefix}/lib/ruby/site_ruby'])</div><div class='add'>+SITE_DIR=`eval echo \\"${sitedir}\\"`</div><div class='add'>+case "$target_os" in</div><div class='add'>+  cygwin*|mingw*|*djgpp*|os2-emx*)</div><div class='add'>+    RUBY_SITE_LIB_PATH="`expr "$SITE_DIR" : "$prefix\(/.*\)"`" ||</div><div class='add'>+    RUBY_SITE_LIB_PATH="$SITE_DIR";;</div><div class='add'>+  *)</div><div class='add'>+    RUBY_SITE_LIB_PATH="$SITE_DIR";;</div><div class='add'>+esac</div><div class='add'>+RUBY_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${MAJOR}.${MINOR}"</div><div class='add'>+</div><div class='add'>+AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}")</div><div class='add'>+AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}")</div><div class='add'>+AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH2}")</div><div class='add'>+</div><div class='add'>+AC_SUBST(arch)dnl</div><div class='add'>+AC_SUBST(sitearch)dnl</div><div class='add'>+AC_SUBST(sitedir)dnl</div><div class='add'>+</div><div class='add'>+configure_args=$ac_configure_args</div><div class='add'>+AC_SUBST(configure_args)dnl</div><div class='add'>+</div><div class='add'>+if test "$fat_binary" != no ; then</div><div class='add'>+    arch="fat-${target_os}"</div><div class='add'>+</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_THIN_ARCHLIB,</div><div class='add'>+                 "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")</div><div class='add'>+</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB,</div><div class='add'>+                 "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}")</div><div class='add'>+else</div><div class='add'>+    arch="${target_cpu}-${target_os}"</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "${arch}")</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+case "$target_os" in</div><div class='add'>+  mingw*) sitearch="i386-$rb_cv_msvcrt" ;;</div><div class='add'>+  *) sitearch="${arch}" ;;</div><div class='add'>+esac</div><div class='add'>+</div><div class='add'>+AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_LIB_PATH}/${arch}")</div><div class='add'>+AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH2}/${sitearch}")</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(search-path,</div><div class='add'>+		[  --with-search-path=DIR specify the additional search path],</div><div class='add'>+		[search_path=$withval])</div><div class='add'>+if test "$search_path" != ""; then</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_SEARCH_PATH,"$search_path")</div><div class='add'>+fi</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(mantype,</div><div class='add'>+		[  --with-mantype=TYPE specify man page type; TYPE is one of man and doc],</div><div class='add'>+		[</div><div class='add'>+			case "$withval" in</div><div class='add'>+			man|doc)</div><div class='add'>+				MANTYPE=$withval</div><div class='add'>+				;;</div><div class='add'>+			*)</div><div class='add'>+				AC_MSG_ERROR(invalid man type: $withval)</div><div class='add'>+				;;</div><div class='add'>+			esac</div><div class='add'>+		])</div><div class='add'>+if test -z "$MANTYPE"; then</div><div class='add'>+	AC_PATH_PROGS(NROFF, nroff awf, /bin/false, "/usr/bin:/usr/ucb")</div><div class='add'>+	if ${NROFF} -mdoc ${srcdir}/ruby.1 &gt;/dev/null 2&gt;&amp;1; then</div><div class='add'>+		MANTYPE=doc</div><div class='add'>+	else</div><div class='add'>+		MANTYPE=man</div><div class='add'>+	fi</div><div class='add'>+fi</div><div class='add'>+AC_SUBST(MANTYPE)</div><div class='add'>+</div><div class='add'>+if test -f config.h &amp;&amp; tr -d '\015' &lt; confdefs.h | cmp -s config.h -; then</div><div class='add'>+  echo "config.h unchanged"</div><div class='add'>+else</div><div class='add'>+  echo "creating config.h"</div><div class='add'>+  tr -d '\015' &lt; confdefs.h &gt; config.h</div><div class='add'>+fi</div><div class='add'>+: &gt; confdefs.h</div><div class='add'>+</div><div class='add'>+AC_CONFIG_FILES($FIRSTMAKEFILE)</div><div class='add'>+AC_CONFIG_FILES(Makefile, [{</div><div class='add'>+	echo; test x"$EXEEXT" = x || echo 'miniruby: miniruby$(EXEEXT)'</div><div class='add'>+	test "$RUBY_INSTALL_NAME$EXEEXT" = ruby || echo 'ruby: $(PROGRAM);'</div><div class='add'>+	sed ['s/{\$([^(){}]*)[^{}]*}//g'] ${srcdir}/common.mk</div><div class='add'>+} &gt;&gt; Makefile], [RUBY_INSTALL_NAME=$RUBY_INSTALL_NAME EXEEXT=$EXEEXT])</div><div class='add'>+AC_OUTPUT</div><div class='head'>diff --git a/constant.h b/constant.h<br/>deleted file mode 100644<br/>index fcccf07384..0000000000<br/>--- a/<a href='/ruby.git/tree/constant.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>constant.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,51 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  constant.h -</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-  created at: Sun Nov 15 00:09:33 2009</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2009 Yusuke Endoh</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-#ifndef CONSTANT_H</div><div class='del'>-#define CONSTANT_H</div><div class='del'>-</div><div class='del'>-typedef enum {</div><div class='del'>-    CONST_DEPRECATED = 0x100,</div><div class='del'>-</div><div class='del'>-    CONST_VISIBILITY_MASK = 0xff,</div><div class='del'>-    CONST_PUBLIC    = 0x00,</div><div class='del'>-    CONST_PRIVATE,</div><div class='del'>-    CONST_VISIBILITY_MAX</div><div class='del'>-} rb_const_flag_t;</div><div class='del'>-</div><div class='del'>-#define RB_CONST_PRIVATE_P(ce) \</div><div class='del'>-    (((ce)-&gt;flag &amp; CONST_VISIBILITY_MASK) == CONST_PRIVATE)</div><div class='del'>-#define RB_CONST_PUBLIC_P(ce) \</div><div class='del'>-    (((ce)-&gt;flag &amp; CONST_VISIBILITY_MASK) == CONST_PUBLIC)</div><div class='del'>-</div><div class='del'>-#define RB_CONST_DEPRECATED_P(ce) \</div><div class='del'>-    ((ce)-&gt;flag &amp; CONST_DEPRECATED)</div><div class='del'>-</div><div class='del'>-typedef struct rb_const_entry_struct {</div><div class='del'>-    rb_const_flag_t flag;</div><div class='del'>-    int line;</div><div class='del'>-    const VALUE value;            /* should be mark */</div><div class='del'>-    const VALUE file;             /* should be mark */</div><div class='del'>-} rb_const_entry_t;</div><div class='del'>-</div><div class='del'>-VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);</div><div class='del'>-VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);</div><div class='del'>-VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);</div><div class='del'>-void rb_free_const_table(struct rb_id_table *tbl);</div><div class='del'>-VALUE rb_public_const_get(VALUE klass, ID id);</div><div class='del'>-VALUE rb_public_const_get_at(VALUE klass, ID id);</div><div class='del'>-VALUE rb_public_const_get_from(VALUE klass, ID id);</div><div class='del'>-int rb_public_const_defined(VALUE klass, ID id);</div><div class='del'>-int rb_public_const_defined_at(VALUE klass, ID id);</div><div class='del'>-int rb_public_const_defined_from(VALUE klass, ID id);</div><div class='del'>-rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);</div><div class='del'>-int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);</div><div class='del'>-</div><div class='del'>-#endif /* CONSTANT_H */</div><div class='head'>diff --git a/cont.c b/cont.c<br/>deleted file mode 100644<br/>index da469b6cd5..0000000000<br/>--- a/<a href='/ruby.git/tree/cont.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>cont.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,2140 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  cont.c -</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-  created at: Thu May 23 09:03:43 2007</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2007 Koichi Sasada</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "vm_core.h"</div><div class='del'>-#include "gc.h"</div><div class='del'>-#include "eval_intern.h"</div><div class='del'>-#include "mjit.h"</div><div class='del'>-</div><div class='del'>-/* FIBER_USE_NATIVE enables Fiber performance improvement using system</div><div class='del'>- * dependent method such as make/setcontext on POSIX system or</div><div class='del'>- * CreateFiber() API on Windows.</div><div class='del'>- * This hack make Fiber context switch faster (x2 or more).</div><div class='del'>- * However, it decrease maximum number of Fiber.  For example, on the</div><div class='del'>- * 32bit POSIX OS, ten or twenty thousands Fiber can be created.</div><div class='del'>- *</div><div class='del'>- * Details is reported in the paper "A Fast Fiber Implementation for Ruby 1.9"</div><div class='del'>- * in Proc. of 51th Programming Symposium, pp.21--28 (2010) (in Japanese).</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>-  Enable FIBER_USE_COROUTINE to make fiber yield/resume much faster by using native assembly implementations.</div><div class='del'>-</div><div class='del'>-  rvm install ruby-head-ioquatix-native-fiber --url https://github.com/ioquatix/ruby --branch native-fiber</div><div class='del'>-</div><div class='del'>-  # Without libcoro</div><div class='del'>-  koyoko% ./build/bin/ruby ./fiber_benchmark.rb 10000 1000</div><div class='del'>-  setup time for 10000 fibers:   0.099961</div><div class='del'>-  execution time for 1000 messages:  19.505909</div><div class='del'>-</div><div class='del'>-  # With libcoro</div><div class='del'>-  koyoko% ./build/bin/ruby ./fiber_benchmark.rb 10000 1000</div><div class='del'>-  setup time for 10000 fibers:   0.099268</div><div class='del'>-  execution time for 1000 messages:   8.491746</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#ifdef FIBER_USE_COROUTINE</div><div class='del'>-#include FIBER_USE_COROUTINE</div><div class='del'>-#define FIBER_USE_NATIVE 1</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if !defined(FIBER_USE_NATIVE)</div><div class='del'>-# if defined(HAVE_GETCONTEXT) &amp;&amp; defined(HAVE_SETCONTEXT)</div><div class='del'>-#   if 0</div><div class='del'>-#   elif defined(__NetBSD__)</div><div class='del'>-/* On our experience, NetBSD doesn't support using setcontext() and pthread</div><div class='del'>- * simultaneously.  This is because pthread_self(), TLS and other information</div><div class='del'>- * are represented by stack pointer (higher bits of stack pointer).</div><div class='del'>- * TODO: check such constraint on configure.</div><div class='del'>- */</div><div class='del'>-#     define FIBER_USE_NATIVE 0</div><div class='del'>-#   elif defined(__sun)</div><div class='del'>-/* On Solaris because resuming any Fiber caused SEGV, for some reason.</div><div class='del'>- */</div><div class='del'>-#     define FIBER_USE_NATIVE 0</div><div class='del'>-#   elif defined(__ia64)</div><div class='del'>-/* At least, Linux/ia64's getcontext(3) doesn't save register window.</div><div class='del'>- */</div><div class='del'>-#     define FIBER_USE_NATIVE 0</div><div class='del'>-#   elif defined(__GNU__)</div><div class='del'>-/* GNU/Hurd doesn't fully support getcontext, setcontext, makecontext</div><div class='del'>- * and swapcontext functions. Disabling their usage till support is</div><div class='del'>- * implemented. More info at</div><div class='del'>- * http://darnassus.sceen.net/~hurd-web/open_issues/glibc/#getcontext</div><div class='del'>- */</div><div class='del'>-#     define FIBER_USE_NATIVE 0</div><div class='del'>-#   else</div><div class='del'>-#     define FIBER_USE_NATIVE 1</div><div class='del'>-#   endif</div><div class='del'>-# elif defined(_WIN32)</div><div class='del'>-#  define FIBER_USE_NATIVE 1</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-#if !defined(FIBER_USE_NATIVE)</div><div class='del'>-#define FIBER_USE_NATIVE 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-#ifndef _WIN32</div><div class='del'>-#include &lt;unistd.h&gt;</div><div class='del'>-#include &lt;sys/mman.h&gt;</div><div class='del'>-#include &lt;ucontext.h&gt;</div><div class='del'>-#endif</div><div class='del'>-#define RB_PAGE_SIZE (pagesize)</div><div class='del'>-#define RB_PAGE_MASK (~(RB_PAGE_SIZE - 1))</div><div class='del'>-static long pagesize;</div><div class='del'>-#endif /*FIBER_USE_NATIVE*/</div><div class='del'>-</div><div class='del'>-#define CAPTURE_JUST_VALID_VM_STACK 1</div><div class='del'>-</div><div class='del'>-enum context_type {</div><div class='del'>-    CONTINUATION_CONTEXT = 0,</div><div class='del'>-    FIBER_CONTEXT = 1</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct cont_saved_vm_stack {</div><div class='del'>-    VALUE *ptr;</div><div class='del'>-#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='del'>-    size_t slen;  /* length of stack (head of ec-&gt;vm_stack) */</div><div class='del'>-    size_t clen;  /* length of control frames (tail of ec-&gt;vm_stack) */</div><div class='del'>-#endif</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-typedef struct rb_context_struct {</div><div class='del'>-    enum context_type type;</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE self;</div><div class='del'>-    VALUE value;</div><div class='del'>-</div><div class='del'>-    struct cont_saved_vm_stack saved_vm_stack;</div><div class='del'>-</div><div class='del'>-    struct {</div><div class='del'>-	VALUE *stack;</div><div class='del'>-	VALUE *stack_src;</div><div class='del'>-	size_t stack_size;</div><div class='del'>-#ifdef __ia64</div><div class='del'>-	VALUE *register_stack;</div><div class='del'>-	VALUE *register_stack_src;</div><div class='del'>-	int register_stack_size;</div><div class='del'>-#endif</div><div class='del'>-    } machine;</div><div class='del'>-    rb_execution_context_t saved_ec;</div><div class='del'>-    rb_jmpbuf_t jmpbuf;</div><div class='del'>-    rb_ensure_entry_t *ensure_array;</div><div class='del'>-    /* Pointer to MJIT info about the continuation.  */</div><div class='del'>-    struct mjit_cont *mjit_cont;</div><div class='del'>-} rb_context_t;</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Fiber status:</div><div class='del'>- *    [Fiber.new] ------&gt; FIBER_CREATED</div><div class='del'>- *                        | [Fiber#resume]</div><div class='del'>- *                        v</div><div class='del'>- *                   +--&gt; FIBER_RESUMED ----+</div><div class='del'>- *    [Fiber#resume] |    | [Fiber.yield]   |</div><div class='del'>- *                   |    v                 |</div><div class='del'>- *                   +-- FIBER_SUSPENDED    | [Terminate]</div><div class='del'>- *                                          |</div><div class='del'>- *                       FIBER_TERMINATED &lt;-+</div><div class='del'>- */</div><div class='del'>-enum fiber_status {</div><div class='del'>-    FIBER_CREATED,</div><div class='del'>-    FIBER_RESUMED,</div><div class='del'>-    FIBER_SUSPENDED,</div><div class='del'>-    FIBER_TERMINATED</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-#define FIBER_CREATED_P(fib)    ((fib)-&gt;status == FIBER_CREATED)</div><div class='del'>-#define FIBER_RESUMED_P(fib)    ((fib)-&gt;status == FIBER_RESUMED)</div><div class='del'>-#define FIBER_SUSPENDED_P(fib)  ((fib)-&gt;status == FIBER_SUSPENDED)</div><div class='del'>-#define FIBER_TERMINATED_P(fib) ((fib)-&gt;status == FIBER_TERMINATED)</div><div class='del'>-#define FIBER_RUNNABLE_P(fib)   (FIBER_CREATED_P(fib) || FIBER_SUSPENDED_P(fib))</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE &amp;&amp; !defined(FIBER_USE_COROUTINE) &amp;&amp; !defined(_WIN32)</div><div class='del'>-static inline int</div><div class='del'>-fiber_context_create(ucontext_t *context, void (*func)(), void *arg, void *ptr, size_t size)</div><div class='del'>-{</div><div class='del'>-    if (getcontext(context) &lt; 0) return -1;</div><div class='del'>-    /*</div><div class='del'>-     * getcontext() may fail by some reasons:</div><div class='del'>-     *   1. SELinux policy banned one of "rt_sigprocmask",</div><div class='del'>-     *      "sigprocmask" or "swapcontext";</div><div class='del'>-     *   2. libseccomp (aka. syscall filter) banned one of them.</div><div class='del'>-     */</div><div class='del'>-    context-&gt;uc_link = NULL;</div><div class='del'>-    context-&gt;uc_stack.ss_sp = ptr;</div><div class='del'>-    context-&gt;uc_stack.ss_size = size;</div><div class='del'>-    makecontext(context, func, 0);</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-struct rb_fiber_struct {</div><div class='del'>-    rb_context_t cont;</div><div class='del'>-    VALUE first_proc;</div><div class='del'>-    struct rb_fiber_struct *prev;</div><div class='del'>-    BITFIELD(enum fiber_status, status, 2);</div><div class='del'>-    /* If a fiber invokes "transfer",</div><div class='del'>-     * then this fiber can't "resume" any more after that.</div><div class='del'>-     * You shouldn't mix "transfer" and "resume".</div><div class='del'>-     */</div><div class='del'>-    unsigned int transferred : 1;</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-#define FIBER_ALLOCATE_STACK</div><div class='del'>-    coroutine_context context;</div><div class='del'>-    void *ss_sp;</div><div class='del'>-    size_t ss_size;</div><div class='del'>-#elif defined(_WIN32)</div><div class='del'>-    void *fib_handle;</div><div class='del'>-#else</div><div class='del'>-#define FIBER_ALLOCATE_STACK</div><div class='del'>-    ucontext_t context;</div><div class='del'>-    /* Because context.uc_stack.ss_sp and context.uc_stack.ss_size</div><div class='del'>-     * are not necessarily valid after makecontext() or swapcontext(),</div><div class='del'>-     * they are saved in these variables for later use.</div><div class='del'>-     */</div><div class='del'>-    void *ss_sp;</div><div class='del'>-    size_t ss_size;</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-#ifdef FIBER_ALLOCATE_STACK</div><div class='del'>-#define MAX_MACHINE_STACK_CACHE  10</div><div class='del'>-static int machine_stack_cache_index = 0;</div><div class='del'>-typedef struct machine_stack_cache_struct {</div><div class='del'>-    void *ptr;</div><div class='del'>-    size_t size;</div><div class='del'>-} machine_stack_cache_t;</div><div class='del'>-static machine_stack_cache_t machine_stack_cache[MAX_MACHINE_STACK_CACHE];</div><div class='del'>-static machine_stack_cache_t terminated_machine_stack;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static const char *</div><div class='del'>-fiber_status_name(enum fiber_status s)</div><div class='del'>-{</div><div class='del'>-    switch (s) {</div><div class='del'>-      case FIBER_CREATED: return "created";</div><div class='del'>-      case FIBER_RESUMED: return "resumed";</div><div class='del'>-      case FIBER_SUSPENDED: return "suspended";</div><div class='del'>-      case FIBER_TERMINATED: return "terminated";</div><div class='del'>-    }</div><div class='del'>-    VM_UNREACHABLE(fiber_status_name);</div><div class='del'>-    return NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fiber_verify(const rb_fiber_t *fib)</div><div class='del'>-{</div><div class='del'>-#if VM_CHECK_MODE &gt; 0</div><div class='del'>-    VM_ASSERT(fib-&gt;cont.saved_ec.fiber_ptr == fib);</div><div class='del'>-</div><div class='del'>-    switch (fib-&gt;status) {</div><div class='del'>-      case FIBER_RESUMED:</div><div class='del'>-	VM_ASSERT(fib-&gt;cont.saved_ec.vm_stack != NULL);</div><div class='del'>-	break;</div><div class='del'>-      case FIBER_SUSPENDED:</div><div class='del'>-	VM_ASSERT(fib-&gt;cont.saved_ec.vm_stack != NULL);</div><div class='del'>-	break;</div><div class='del'>-      case FIBER_CREATED:</div><div class='del'>-      case FIBER_TERMINATED:</div><div class='del'>-	/* TODO */</div><div class='del'>-	break;</div><div class='del'>-      default:</div><div class='del'>-	VM_UNREACHABLE(fiber_verify);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if VM_CHECK_MODE &gt; 0</div><div class='del'>-void</div><div class='del'>-rb_ec_verify(const rb_execution_context_t *ec)</div><div class='del'>-{</div><div class='del'>-    /* TODO */</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fiber_status_set(rb_fiber_t *fib, enum fiber_status s)</div><div class='del'>-{</div><div class='del'>-    if (0) fprintf(stderr, "fib: %p, status: %s -&gt; %s\n", (void *)fib, fiber_status_name(fib-&gt;status), fiber_status_name(s));</div><div class='del'>-    VM_ASSERT(!FIBER_TERMINATED_P(fib));</div><div class='del'>-    VM_ASSERT(fib-&gt;status != s);</div><div class='del'>-    fiber_verify(fib);</div><div class='del'>-    fib-&gt;status = s;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_ec_set_vm_stack(rb_execution_context_t *ec, VALUE *stack, size_t size)</div><div class='del'>-{</div><div class='del'>-    ec-&gt;vm_stack = stack;</div><div class='del'>-    ec-&gt;vm_stack_size = size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-ec_switch(rb_thread_t *th, rb_fiber_t *fib)</div><div class='del'>-{</div><div class='del'>-    rb_execution_context_t *ec = &amp;fib-&gt;cont.saved_ec;</div><div class='del'>-</div><div class='del'>-    ruby_current_execution_context_ptr = th-&gt;ec = ec;</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * timer-thread may set trap interrupt on previous th-&gt;ec at any time;</div><div class='del'>-     * ensure we do not delay (or lose) the trap interrupt handling.</div><div class='del'>-     */</div><div class='del'>-    if (th-&gt;vm-&gt;main_thread == th &amp;&amp; rb_signal_buff_size() &gt; 0) {</div><div class='del'>-        RUBY_VM_SET_TRAP_INTERRUPT(ec);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(ec-&gt;fiber_ptr-&gt;cont.self == 0 || ec-&gt;vm_stack != NULL);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const rb_data_type_t cont_data_type, fiber_data_type;</div><div class='del'>-static VALUE rb_cContinuation;</div><div class='del'>-static VALUE rb_cFiber;</div><div class='del'>-static VALUE rb_eFiberError;</div><div class='del'>-</div><div class='del'>-static rb_context_t *</div><div class='del'>-cont_ptr(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    rb_context_t *cont;</div><div class='del'>-</div><div class='del'>-    TypedData_Get_Struct(obj, rb_context_t, &amp;cont_data_type, cont);</div><div class='del'>-</div><div class='del'>-    return cont;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_fiber_t *</div><div class='del'>-fiber_ptr(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib;</div><div class='del'>-</div><div class='del'>-    TypedData_Get_Struct(obj, rb_fiber_t, &amp;fiber_data_type, fib);</div><div class='del'>-    if (!fib) rb_raise(rb_eFiberError, "uninitialized fiber");</div><div class='del'>-</div><div class='del'>-    return fib;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NOINLINE(static VALUE cont_capture(volatile int *volatile stat));</div><div class='del'>-</div><div class='del'>-#define THREAD_MUST_BE_RUNNING(th) do { \</div><div class='del'>-	if (!(th)-&gt;ec-&gt;tag) rb_raise(rb_eThreadError, "not running thread");	\</div><div class='del'>-    } while (0)</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-cont_thread_value(const rb_context_t *cont)</div><div class='del'>-{</div><div class='del'>-    return cont-&gt;saved_ec.thread_ptr-&gt;self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-cont_mark(void *ptr)</div><div class='del'>-{</div><div class='del'>-    rb_context_t *cont = ptr;</div><div class='del'>-</div><div class='del'>-    RUBY_MARK_ENTER("cont");</div><div class='del'>-    rb_gc_mark(cont-&gt;value);</div><div class='del'>-</div><div class='del'>-    rb_execution_context_mark(&amp;cont-&gt;saved_ec);</div><div class='del'>-    rb_gc_mark(cont_thread_value(cont));</div><div class='del'>-</div><div class='del'>-    if (cont-&gt;saved_vm_stack.ptr) {</div><div class='del'>-#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='del'>-	rb_gc_mark_locations(cont-&gt;saved_vm_stack.ptr,</div><div class='del'>-			     cont-&gt;saved_vm_stack.ptr + cont-&gt;saved_vm_stack.slen + cont-&gt;saved_vm_stack.clen);</div><div class='del'>-#else</div><div class='del'>-	rb_gc_mark_locations(cont-&gt;saved_vm_stack.ptr,</div><div class='del'>-			     cont-&gt;saved_vm_stack.ptr, cont-&gt;saved_ec.stack_size);</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (cont-&gt;machine.stack) {</div><div class='del'>-	if (cont-&gt;type == CONTINUATION_CONTEXT) {</div><div class='del'>-	    /* cont */</div><div class='del'>-	    rb_gc_mark_locations(cont-&gt;machine.stack,</div><div class='del'>-				 cont-&gt;machine.stack + cont-&gt;machine.stack_size);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    /* fiber */</div><div class='del'>-	    const rb_fiber_t *fib = (rb_fiber_t*)cont;</div><div class='del'>-</div><div class='del'>-	    if (!FIBER_TERMINATED_P(fib)) {</div><div class='del'>-		rb_gc_mark_locations(cont-&gt;machine.stack,</div><div class='del'>-				     cont-&gt;machine.stack + cont-&gt;machine.stack_size);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    if (cont-&gt;machine.register_stack) {</div><div class='del'>-	rb_gc_mark_locations(cont-&gt;machine.register_stack,</div><div class='del'>-			     cont-&gt;machine.register_stack + cont-&gt;machine.register_stack_size);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    RUBY_MARK_LEAVE("cont");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-fiber_is_root_p(const rb_fiber_t *fib)</div><div class='del'>-{</div><div class='del'>-    return fib == fib-&gt;cont.saved_ec.thread_ptr-&gt;root_fiber;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-cont_free(void *ptr)</div><div class='del'>-{</div><div class='del'>-    rb_context_t *cont = ptr;</div><div class='del'>-</div><div class='del'>-    RUBY_FREE_ENTER("cont");</div><div class='del'>-    ruby_xfree(cont-&gt;saved_ec.vm_stack);</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-    if (cont-&gt;type == CONTINUATION_CONTEXT) {</div><div class='del'>-	/* cont */</div><div class='del'>-	ruby_xfree(cont-&gt;ensure_array);</div><div class='del'>-	RUBY_FREE_UNLESS_NULL(cont-&gt;machine.stack);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* fiber */</div><div class='del'>-	rb_fiber_t *fib = (rb_fiber_t*)cont;</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-	coroutine_destroy(&amp;fib-&gt;context);</div><div class='del'>-	if (fib-&gt;ss_sp != NULL) {</div><div class='del'>-	    if (fiber_is_root_p(fib)) {</div><div class='del'>-		rb_bug("Illegal root fiber parameter");</div><div class='del'>-	    }</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-            VirtualFree((void*)fib-&gt;ss_sp, 0, MEM_RELEASE);</div><div class='del'>-#else</div><div class='del'>-	    munmap((void*)fib-&gt;ss_sp, fib-&gt;ss_size);</div><div class='del'>-#endif</div><div class='del'>-            fib-&gt;ss_sp = NULL;</div><div class='del'>-	}</div><div class='del'>-#elif defined(_WIN32)</div><div class='del'>-	if (!fiber_is_root_p(fib)) {</div><div class='del'>-	    /* don't delete root fiber handle */</div><div class='del'>-	    if (fib-&gt;fib_handle) {</div><div class='del'>-		DeleteFiber(fib-&gt;fib_handle);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-#else /* not WIN32 */</div><div class='del'>-        /* fib-&gt;ss_sp == NULL is possible for root fiber */</div><div class='del'>-	if (fib-&gt;ss_sp != NULL) {</div><div class='del'>-	    munmap((void*)fib-&gt;ss_sp, fib-&gt;ss_size);</div><div class='del'>-	}</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-#else /* not FIBER_USE_NATIVE */</div><div class='del'>-    ruby_xfree(cont-&gt;ensure_array);</div><div class='del'>-    RUBY_FREE_UNLESS_NULL(cont-&gt;machine.stack);</div><div class='del'>-#endif</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    RUBY_FREE_UNLESS_NULL(cont-&gt;machine.register_stack);</div><div class='del'>-#endif</div><div class='del'>-    RUBY_FREE_UNLESS_NULL(cont-&gt;saved_vm_stack.ptr);</div><div class='del'>-</div><div class='del'>-    if (mjit_enabled &amp;&amp; cont-&gt;mjit_cont != NULL) {</div><div class='del'>-        mjit_cont_free(cont-&gt;mjit_cont);</div><div class='del'>-    }</div><div class='del'>-    /* free rb_cont_t or rb_fiber_t */</div><div class='del'>-    ruby_xfree(ptr);</div><div class='del'>-    RUBY_FREE_LEAVE("cont");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-cont_memsize(const void *ptr)</div><div class='del'>-{</div><div class='del'>-    const rb_context_t *cont = ptr;</div><div class='del'>-    size_t size = 0;</div><div class='del'>-</div><div class='del'>-    size = sizeof(*cont);</div><div class='del'>-    if (cont-&gt;saved_vm_stack.ptr) {</div><div class='del'>-#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='del'>-	size_t n = (cont-&gt;saved_vm_stack.slen + cont-&gt;saved_vm_stack.clen);</div><div class='del'>-#else</div><div class='del'>-	size_t n = cont-&gt;saved_ec.vm_stack_size;</div><div class='del'>-#endif</div><div class='del'>-	size += n * sizeof(*cont-&gt;saved_vm_stack.ptr);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (cont-&gt;machine.stack) {</div><div class='del'>-	size += cont-&gt;machine.stack_size * sizeof(*cont-&gt;machine.stack);</div><div class='del'>-    }</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    if (cont-&gt;machine.register_stack) {</div><div class='del'>-	size += cont-&gt;machine.register_stack_size * sizeof(*cont-&gt;machine.register_stack);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_fiber_mark_self(const rb_fiber_t *fib)</div><div class='del'>-{</div><div class='del'>-    if (fib-&gt;cont.self) {</div><div class='del'>-	rb_gc_mark(fib-&gt;cont.self);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	rb_execution_context_mark(&amp;fib-&gt;cont.saved_ec);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fiber_mark(void *ptr)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = ptr;</div><div class='del'>-    RUBY_MARK_ENTER("cont");</div><div class='del'>-    fiber_verify(fib);</div><div class='del'>-    rb_gc_mark(fib-&gt;first_proc);</div><div class='del'>-    if (fib-&gt;prev) rb_fiber_mark_self(fib-&gt;prev);</div><div class='del'>-</div><div class='del'>-#if !FIBER_USE_NATIVE</div><div class='del'>-    if (fib-&gt;status == FIBER_TERMINATED) {</div><div class='del'>-	/* FIBER_TERMINATED fiber should not mark machine stack */</div><div class='del'>-	if (fib-&gt;cont.saved_ec.machine.stack_end != NULL) {</div><div class='del'>-	    fib-&gt;cont.saved_ec.machine.stack_end = NULL;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    cont_mark(&amp;fib-&gt;cont);</div><div class='del'>-    RUBY_MARK_LEAVE("cont");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fiber_free(void *ptr)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = ptr;</div><div class='del'>-    RUBY_FREE_ENTER("fiber");</div><div class='del'>-</div><div class='del'>-    if (fib-&gt;cont.saved_ec.local_storage) {</div><div class='del'>-	st_free_table(fib-&gt;cont.saved_ec.local_storage);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    cont_free(&amp;fib-&gt;cont);</div><div class='del'>-    RUBY_FREE_LEAVE("fiber");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-fiber_memsize(const void *ptr)</div><div class='del'>-{</div><div class='del'>-    const rb_fiber_t *fib = ptr;</div><div class='del'>-    size_t size = sizeof(*fib);</div><div class='del'>-    const rb_execution_context_t *saved_ec = &amp;fib-&gt;cont.saved_ec;</div><div class='del'>-    const rb_thread_t *th = rb_ec_thread_ptr(saved_ec);</div><div class='del'>-</div><div class='del'>-    /*</div><div class='del'>-     * vm.c::thread_memsize already counts th-&gt;ec-&gt;local_storage</div><div class='del'>-     */</div><div class='del'>-    if (saved_ec-&gt;local_storage &amp;&amp; fib != th-&gt;root_fiber) {</div><div class='del'>-	size += st_memsize(saved_ec-&gt;local_storage);</div><div class='del'>-    }</div><div class='del'>-    size += cont_memsize(&amp;fib-&gt;cont);</div><div class='del'>-    return size;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_obj_is_fiber(VALUE obj)</div><div class='del'>-{</div><div class='del'>-    if (rb_typeddata_is_kind_of(obj, &amp;fiber_data_type)) {</div><div class='del'>-	return Qtrue;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return Qfalse;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-cont_save_machine_stack(rb_thread_t *th, rb_context_t *cont)</div><div class='del'>-{</div><div class='del'>-    size_t size;</div><div class='del'>-</div><div class='del'>-    SET_MACHINE_STACK_END(&amp;th-&gt;ec-&gt;machine.stack_end);</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    th-&gt;ec-&gt;machine.register_stack_end = rb_ia64_bsp();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    if (th-&gt;ec-&gt;machine.stack_start &gt; th-&gt;ec-&gt;machine.stack_end) {</div><div class='del'>-	size = cont-&gt;machine.stack_size = th-&gt;ec-&gt;machine.stack_start - th-&gt;ec-&gt;machine.stack_end;</div><div class='del'>-	cont-&gt;machine.stack_src = th-&gt;ec-&gt;machine.stack_end;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	size = cont-&gt;machine.stack_size = th-&gt;ec-&gt;machine.stack_end - th-&gt;ec-&gt;machine.stack_start;</div><div class='del'>-	cont-&gt;machine.stack_src = th-&gt;ec-&gt;machine.stack_start;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (cont-&gt;machine.stack) {</div><div class='del'>-	REALLOC_N(cont-&gt;machine.stack, VALUE, size);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	cont-&gt;machine.stack = ALLOC_N(VALUE, size);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    FLUSH_REGISTER_WINDOWS;</div><div class='del'>-    MEMCPY(cont-&gt;machine.stack, cont-&gt;machine.stack_src, VALUE, size);</div><div class='del'>-</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    rb_ia64_flushrs();</div><div class='del'>-    size = cont-&gt;machine.register_stack_size = th-&gt;ec-&gt;machine.register_stack_end - th-&gt;ec-&gt;machine.register_stack_start;</div><div class='del'>-    cont-&gt;machine.register_stack_src = th-&gt;ec-&gt;machine.register_stack_start;</div><div class='del'>-    if (cont-&gt;machine.register_stack) {</div><div class='del'>-	REALLOC_N(cont-&gt;machine.register_stack, VALUE, size);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	cont-&gt;machine.register_stack = ALLOC_N(VALUE, size);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    MEMCPY(cont-&gt;machine.register_stack, cont-&gt;machine.register_stack_src, VALUE, size);</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static const rb_data_type_t cont_data_type = {</div><div class='del'>-    "continuation",</div><div class='del'>-    {cont_mark, cont_free, cont_memsize,},</div><div class='del'>-    0, 0, RUBY_TYPED_FREE_IMMEDIATELY</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-cont_save_thread(rb_context_t *cont, rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    rb_execution_context_t *sec = &amp;cont-&gt;saved_ec;</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(th-&gt;status == THREAD_RUNNABLE);</div><div class='del'>-</div><div class='del'>-    /* save thread context */</div><div class='del'>-    *sec = *th-&gt;ec;</div><div class='del'>-</div><div class='del'>-    /* saved_ec-&gt;machine.stack_end should be NULL */</div><div class='del'>-    /* because it may happen GC afterward */</div><div class='del'>-    sec-&gt;machine.stack_end = NULL;</div><div class='del'>-</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    sec-&gt;machine.register_stack_start = NULL;</div><div class='del'>-    sec-&gt;machine.register_stack_end = NULL;</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-cont_init(rb_context_t *cont, rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    /* save thread context */</div><div class='del'>-    cont_save_thread(cont, th);</div><div class='del'>-    cont-&gt;saved_ec.thread_ptr = th;</div><div class='del'>-    cont-&gt;saved_ec.local_storage = NULL;</div><div class='del'>-    cont-&gt;saved_ec.local_storage_recursive_hash = Qnil;</div><div class='del'>-    cont-&gt;saved_ec.local_storage_recursive_hash_for_trace = Qnil;</div><div class='del'>-    if (mjit_enabled) {</div><div class='del'>-        cont-&gt;mjit_cont = mjit_cont_new(&amp;cont-&gt;saved_ec);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_context_t *</div><div class='del'>-cont_new(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    rb_context_t *cont;</div><div class='del'>-    volatile VALUE contval;</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-    THREAD_MUST_BE_RUNNING(th);</div><div class='del'>-    contval = TypedData_Make_Struct(klass, rb_context_t, &amp;cont_data_type, cont);</div><div class='del'>-    cont-&gt;self = contval;</div><div class='del'>-    cont_init(cont, th);</div><div class='del'>-    return cont;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if 0</div><div class='del'>-void</div><div class='del'>-show_vm_stack(const rb_execution_context_t *ec)</div><div class='del'>-{</div><div class='del'>-    VALUE *p = ec-&gt;vm_stack;</div><div class='del'>-    while (p &lt; ec-&gt;cfp-&gt;sp) {</div><div class='del'>-	fprintf(stderr, "%3d ", (int)(p - ec-&gt;vm_stack));</div><div class='del'>-	rb_obj_info_dump(*p);</div><div class='del'>-	p++;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-show_vm_pcs(const rb_control_frame_t *cfp,</div><div class='del'>-	    const rb_control_frame_t *end_of_cfp)</div><div class='del'>-{</div><div class='del'>-    int i=0;</div><div class='del'>-    while (cfp != end_of_cfp) {</div><div class='del'>-	int pc = 0;</div><div class='del'>-	if (cfp-&gt;iseq) {</div><div class='del'>-	    pc = cfp-&gt;pc - cfp-&gt;iseq-&gt;body-&gt;iseq_encoded;</div><div class='del'>-	}</div><div class='del'>-	fprintf(stderr, "%2d pc: %d\n", i++, pc);</div><div class='del'>-	cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-COMPILER_WARNING_PUSH</div><div class='del'>-#ifdef __clang__</div><div class='del'>-COMPILER_WARNING_IGNORED(-Wduplicate-decl-specifier)</div><div class='del'>-#endif</div><div class='del'>-static VALUE</div><div class='del'>-cont_capture(volatile int *volatile stat)</div><div class='del'>-{</div><div class='del'>-    rb_context_t *volatile cont;</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-    volatile VALUE contval;</div><div class='del'>-    const rb_execution_context_t *ec = th-&gt;ec;</div><div class='del'>-</div><div class='del'>-    THREAD_MUST_BE_RUNNING(th);</div><div class='del'>-    rb_vm_stack_to_heap(th-&gt;ec);</div><div class='del'>-    cont = cont_new(rb_cContinuation);</div><div class='del'>-    contval = cont-&gt;self;</div><div class='del'>-</div><div class='del'>-#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='del'>-    cont-&gt;saved_vm_stack.slen = ec-&gt;cfp-&gt;sp - ec-&gt;vm_stack;</div><div class='del'>-    cont-&gt;saved_vm_stack.clen = ec-&gt;vm_stack + ec-&gt;vm_stack_size - (VALUE*)ec-&gt;cfp;</div><div class='del'>-    cont-&gt;saved_vm_stack.ptr = ALLOC_N(VALUE, cont-&gt;saved_vm_stack.slen + cont-&gt;saved_vm_stack.clen);</div><div class='del'>-    MEMCPY(cont-&gt;saved_vm_stack.ptr,</div><div class='del'>-	   ec-&gt;vm_stack,</div><div class='del'>-	   VALUE, cont-&gt;saved_vm_stack.slen);</div><div class='del'>-    MEMCPY(cont-&gt;saved_vm_stack.ptr + cont-&gt;saved_vm_stack.slen,</div><div class='del'>-	   (VALUE*)ec-&gt;cfp,</div><div class='del'>-	   VALUE,</div><div class='del'>-	   cont-&gt;saved_vm_stack.clen);</div><div class='del'>-#else</div><div class='del'>-    cont-&gt;saved_vm_stack.ptr = ALLOC_N(VALUE, ec-&gt;vm_stack_size);</div><div class='del'>-    MEMCPY(cont-&gt;saved_vm_stack.ptr, ec-&gt;vm_stack, VALUE, ec-&gt;vm_stack_size);</div><div class='del'>-#endif</div><div class='del'>-    rb_ec_set_vm_stack(&amp;cont-&gt;saved_ec, NULL, 0);</div><div class='del'>-    cont_save_machine_stack(th, cont);</div><div class='del'>-</div><div class='del'>-    /* backup ensure_list to array for search in another context */</div><div class='del'>-    {</div><div class='del'>-	rb_ensure_list_t *p;</div><div class='del'>-	int size = 0;</div><div class='del'>-	rb_ensure_entry_t *entry;</div><div class='del'>-	for (p=th-&gt;ec-&gt;ensure_list; p; p=p-&gt;next)</div><div class='del'>-	    size++;</div><div class='del'>-	entry = cont-&gt;ensure_array = ALLOC_N(rb_ensure_entry_t,size+1);</div><div class='del'>-	for (p=th-&gt;ec-&gt;ensure_list; p; p=p-&gt;next) {</div><div class='del'>-	    if (!p-&gt;entry.marker)</div><div class='del'>-		p-&gt;entry.marker = rb_ary_tmp_new(0); /* dummy object */</div><div class='del'>-	    *entry++ = p-&gt;entry;</div><div class='del'>-	}</div><div class='del'>-	entry-&gt;marker = 0;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (ruby_setjmp(cont-&gt;jmpbuf)) {</div><div class='del'>-	VALUE value;</div><div class='del'>-</div><div class='del'>-	VAR_INITIALIZED(cont);</div><div class='del'>-	value = cont-&gt;value;</div><div class='del'>-	if (cont-&gt;argc == -1) rb_exc_raise(value);</div><div class='del'>-	cont-&gt;value = Qnil;</div><div class='del'>-	*stat = 1;</div><div class='del'>-	return value;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	*stat = 0;</div><div class='del'>-	return contval;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-COMPILER_WARNING_POP</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-fiber_restore_thread(rb_thread_t *th, rb_fiber_t *fib)</div><div class='del'>-{</div><div class='del'>-    ec_switch(th, fib);</div><div class='del'>-    VM_ASSERT(th-&gt;ec-&gt;fiber_ptr == fib);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-cont_restore_thread(rb_context_t *cont)</div><div class='del'>-{</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-    /* restore thread context */</div><div class='del'>-    if (cont-&gt;type == CONTINUATION_CONTEXT) {</div><div class='del'>-	/* continuation */</div><div class='del'>-	rb_execution_context_t *sec = &amp;cont-&gt;saved_ec;</div><div class='del'>-	rb_fiber_t *fib = NULL;</div><div class='del'>-</div><div class='del'>-	if (sec-&gt;fiber_ptr != NULL) {</div><div class='del'>-	    fib = sec-&gt;fiber_ptr;</div><div class='del'>-	}</div><div class='del'>-	else if (th-&gt;root_fiber) {</div><div class='del'>-	    fib = th-&gt;root_fiber;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	if (fib &amp;&amp; th-&gt;ec != &amp;fib-&gt;cont.saved_ec) {</div><div class='del'>-	    ec_switch(th, fib);</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-        if (th-&gt;ec-&gt;trace_arg != sec-&gt;trace_arg) {</div><div class='del'>-            rb_raise(rb_eRuntimeError, "can't call across trace_func");</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-	/* copy vm stack */</div><div class='del'>-#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='del'>-	MEMCPY(th-&gt;ec-&gt;vm_stack,</div><div class='del'>-	       cont-&gt;saved_vm_stack.ptr,</div><div class='del'>-	       VALUE, cont-&gt;saved_vm_stack.slen);</div><div class='del'>-	MEMCPY(th-&gt;ec-&gt;vm_stack + th-&gt;ec-&gt;vm_stack_size - cont-&gt;saved_vm_stack.clen,</div><div class='del'>-	       cont-&gt;saved_vm_stack.ptr + cont-&gt;saved_vm_stack.slen,</div><div class='del'>-	       VALUE, cont-&gt;saved_vm_stack.clen);</div><div class='del'>-#else</div><div class='del'>-	MEMCPY(th-&gt;ec-&gt;vm_stack, cont-&gt;saved_vm_stack.ptr, VALUE, sec-&gt;vm_stack_size);</div><div class='del'>-#endif</div><div class='del'>-	/* other members of ec */</div><div class='del'>-</div><div class='del'>-	th-&gt;ec-&gt;cfp = sec-&gt;cfp;</div><div class='del'>-	th-&gt;ec-&gt;raised_flag = sec-&gt;raised_flag;</div><div class='del'>-	th-&gt;ec-&gt;tag = sec-&gt;tag;</div><div class='del'>-	th-&gt;ec-&gt;protect_tag = sec-&gt;protect_tag;</div><div class='del'>-	th-&gt;ec-&gt;root_lep = sec-&gt;root_lep;</div><div class='del'>-	th-&gt;ec-&gt;root_svar = sec-&gt;root_svar;</div><div class='del'>-	th-&gt;ec-&gt;ensure_list = sec-&gt;ensure_list;</div><div class='del'>-	th-&gt;ec-&gt;errinfo = sec-&gt;errinfo;</div><div class='del'>-</div><div class='del'>-	VM_ASSERT(th-&gt;ec-&gt;vm_stack != NULL);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	/* fiber */</div><div class='del'>-	fiber_restore_thread(th, (rb_fiber_t*)cont);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-static COROUTINE</div><div class='del'>-fiber_entry(coroutine_context * from, coroutine_context * to)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_start();</div><div class='del'>-}</div><div class='del'>-#elif defined(_WIN32)</div><div class='del'>-static void</div><div class='del'>-fiber_set_stack_location(void)</div><div class='del'>-{</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-    VALUE *ptr;</div><div class='del'>-</div><div class='del'>-    SET_MACHINE_STACK_END(&amp;ptr);</div><div class='del'>-    th-&gt;ec-&gt;machine.stack_start = (void*)(((VALUE)ptr &amp; RB_PAGE_MASK) + STACK_UPPER((void *)&amp;ptr, 0, RB_PAGE_SIZE));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NORETURN(static VOID CALLBACK fiber_entry(void *arg));</div><div class='del'>-static VOID CALLBACK</div><div class='del'>-fiber_entry(void *arg)</div><div class='del'>-{</div><div class='del'>-    fiber_set_stack_location();</div><div class='del'>-    rb_fiber_start();</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-NORETURN(static void fiber_entry(void *arg));</div><div class='del'>-static void</div><div class='del'>-fiber_entry(void *arg)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_start();</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef FIBER_ALLOCATE_STACK</div><div class='del'>-/*</div><div class='del'>- * FreeBSD require a first (i.e. addr) argument of mmap(2) is not NULL</div><div class='del'>- * if MAP_STACK is passed.</div><div class='del'>- * http://www.FreeBSD.org/cgi/query-pr.cgi?pr=158755</div><div class='del'>- */</div><div class='del'>-#if defined(MAP_STACK) &amp;&amp; !defined(__FreeBSD__) &amp;&amp; !defined(__FreeBSD_kernel__)</div><div class='del'>-#define FIBER_STACK_FLAGS (MAP_PRIVATE | MAP_ANON | MAP_STACK)</div><div class='del'>-#else</div><div class='del'>-#define FIBER_STACK_FLAGS (MAP_PRIVATE | MAP_ANON)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define ERRNOMSG strerror(errno)</div><div class='del'>-</div><div class='del'>-static char*</div><div class='del'>-fiber_machine_stack_alloc(size_t size)</div><div class='del'>-{</div><div class='del'>-    char *ptr;</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-    DWORD old_protect;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    if (machine_stack_cache_index &gt; 0) {</div><div class='del'>-        if (machine_stack_cache[machine_stack_cache_index - 1].size == (size / sizeof(VALUE))) {</div><div class='del'>-            ptr = machine_stack_cache[machine_stack_cache_index - 1].ptr;</div><div class='del'>-            machine_stack_cache_index--;</div><div class='del'>-            machine_stack_cache[machine_stack_cache_index].ptr = NULL;</div><div class='del'>-            machine_stack_cache[machine_stack_cache_index].size = 0;</div><div class='del'>-        } else {</div><div class='del'>-            /* TODO handle multiple machine stack size */</div><div class='del'>-            rb_bug("machine_stack_cache size is not canonicalized");</div><div class='del'>-        }</div><div class='del'>-    } else {</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-        ptr = VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE);</div><div class='del'>-</div><div class='del'>-        if (!ptr) {</div><div class='del'>-            rb_raise(rb_eFiberError, "can't allocate machine stack to fiber: %s", ERRNOMSG);</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        if (!VirtualProtect(ptr, RB_PAGE_SIZE, PAGE_READWRITE | PAGE_GUARD, &amp;old_protect)) {</div><div class='del'>-            rb_raise(rb_eFiberError, "can't set a guard page: %s", ERRNOMSG);</div><div class='del'>-        }</div><div class='del'>-#else</div><div class='del'>-        void *page;</div><div class='del'>-        STACK_GROW_DIR_DETECTION;</div><div class='del'>-</div><div class='del'>-        errno = 0;</div><div class='del'>-        ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, FIBER_STACK_FLAGS, -1, 0);</div><div class='del'>-        if (ptr == MAP_FAILED) {</div><div class='del'>-            rb_raise(rb_eFiberError, "can't alloc machine stack to fiber: %s", ERRNOMSG);</div><div class='del'>-        }</div><div class='del'>-</div><div class='del'>-        /* guard page setup */</div><div class='del'>-        page = ptr + STACK_DIR_UPPER(size - RB_PAGE_SIZE, 0);</div><div class='del'>-        if (mprotect(page, RB_PAGE_SIZE, PROT_NONE) &lt; 0) {</div><div class='del'>-            rb_raise(rb_eFiberError, "can't set a guard page: %s", ERRNOMSG);</div><div class='del'>-        }</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return ptr;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-static void</div><div class='del'>-fiber_initialize_machine_stack_context(rb_fiber_t *fib, size_t size)</div><div class='del'>-{</div><div class='del'>-    rb_execution_context_t *sec = &amp;fib-&gt;cont.saved_ec;</div><div class='del'>-</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-    char *ptr;</div><div class='del'>-    STACK_GROW_DIR_DETECTION;</div><div class='del'>-</div><div class='del'>-    ptr = fiber_machine_stack_alloc(size);</div><div class='del'>-    fib-&gt;ss_sp = ptr;</div><div class='del'>-    fib-&gt;ss_size = size;</div><div class='del'>-    coroutine_initialize(&amp;fib-&gt;context, fiber_entry, ptr+size, size);</div><div class='del'>-    sec-&gt;machine.stack_start = (VALUE*)(ptr + STACK_DIR_UPPER(0, size));</div><div class='del'>-    sec-&gt;machine.stack_maxsize = size - RB_PAGE_SIZE;</div><div class='del'>-#elif defined(_WIN32)</div><div class='del'>-# if defined(_MSC_VER) &amp;&amp; _MSC_VER &lt;= 1200</div><div class='del'>-#   define CreateFiberEx(cs, stacksize, flags, entry, param) \</div><div class='del'>-    CreateFiber((stacksize), (entry), (param))</div><div class='del'>-# endif</div><div class='del'>-    fib-&gt;fib_handle = CreateFiberEx(size - 1, size, 0, fiber_entry, NULL);</div><div class='del'>-    if (!fib-&gt;fib_handle) {</div><div class='del'>-	/* try to release unnecessary fibers &amp; retry to create */</div><div class='del'>-	rb_gc();</div><div class='del'>-	fib-&gt;fib_handle = CreateFiberEx(size - 1, size, 0, fiber_entry, NULL);</div><div class='del'>-	if (!fib-&gt;fib_handle) {</div><div class='del'>-	    rb_raise(rb_eFiberError, "can't create fiber");</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    sec-&gt;machine.stack_maxsize = size;</div><div class='del'>-#else /* not WIN32 */</div><div class='del'>-    char *ptr;</div><div class='del'>-    STACK_GROW_DIR_DETECTION;</div><div class='del'>-</div><div class='del'>-    ptr = fiber_machine_stack_alloc(size);</div><div class='del'>-    fib-&gt;ss_sp = ptr;</div><div class='del'>-    fib-&gt;ss_size = size;</div><div class='del'>-    if (fiber_context_create(&amp;fib-&gt;context, fiber_entry, NULL, fib-&gt;ss_sp, fib-&gt;ss_size)) {</div><div class='del'>-	rb_raise(rb_eFiberError, "can't get context for creating fiber: %s", ERRNOMSG);</div><div class='del'>-    }</div><div class='del'>-    sec-&gt;machine.stack_start = (VALUE*)(ptr + STACK_DIR_UPPER(0, size));</div><div class='del'>-    sec-&gt;machine.stack_maxsize = size - RB_PAGE_SIZE;</div><div class='del'>-#endif</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    sth-&gt;machine.register_stack_maxsize = sth-&gt;machine.stack_maxsize;</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NOINLINE(static void fiber_setcontext(rb_fiber_t *newfib, rb_fiber_t *oldfib));</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-fiber_setcontext(rb_fiber_t *newfib, rb_fiber_t *oldfib)</div><div class='del'>-{</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-    /* save oldfib's machine stack / TODO: is it needed? */</div><div class='del'>-    if (!FIBER_TERMINATED_P(oldfib)) {</div><div class='del'>-	STACK_GROW_DIR_DETECTION;</div><div class='del'>-	SET_MACHINE_STACK_END(&amp;th-&gt;ec-&gt;machine.stack_end);</div><div class='del'>-	if (STACK_DIR_UPPER(0, 1)) {</div><div class='del'>-	    oldfib-&gt;cont.machine.stack_size = th-&gt;ec-&gt;machine.stack_start - th-&gt;ec-&gt;machine.stack_end;</div><div class='del'>-	    oldfib-&gt;cont.machine.stack = th-&gt;ec-&gt;machine.stack_end;</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    oldfib-&gt;cont.machine.stack_size = th-&gt;ec-&gt;machine.stack_end - th-&gt;ec-&gt;machine.stack_start;</div><div class='del'>-	    oldfib-&gt;cont.machine.stack = th-&gt;ec-&gt;machine.stack_start;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* exchange machine_stack_start between oldfib and newfib */</div><div class='del'>-    oldfib-&gt;cont.saved_ec.machine.stack_start = th-&gt;ec-&gt;machine.stack_start;</div><div class='del'>-</div><div class='del'>-    /* oldfib-&gt;machine.stack_end should be NULL */</div><div class='del'>-    oldfib-&gt;cont.saved_ec.machine.stack_end = NULL;</div><div class='del'>-</div><div class='del'>-    /* restore thread context */</div><div class='del'>-    fiber_restore_thread(th, newfib);</div><div class='del'>-</div><div class='del'>-    /* swap machine context */</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-    coroutine_transfer(&amp;oldfib-&gt;context, &amp;newfib-&gt;context);</div><div class='del'>-#elif defined(_WIN32)</div><div class='del'>-    SwitchToFiber(newfib-&gt;fib_handle);</div><div class='del'>-#else</div><div class='del'>-    if (!newfib-&gt;context.uc_stack.ss_sp &amp;&amp; th-&gt;root_fiber != newfib) {</div><div class='del'>-	rb_bug("non_root_fiber-&gt;context.uc_stac.ss_sp should not be NULL");</div><div class='del'>-    }</div><div class='del'>-    swapcontext(&amp;oldfib-&gt;context, &amp;newfib-&gt;context);</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-#endif /* FIBER_USE_NATIVE */</div><div class='del'>-</div><div class='del'>-NOINLINE(NORETURN(static void cont_restore_1(rb_context_t *)));</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-cont_restore_1(rb_context_t *cont)</div><div class='del'>-{</div><div class='del'>-    cont_restore_thread(cont);</div><div class='del'>-</div><div class='del'>-    /* restore machine stack */</div><div class='del'>-#ifdef _M_AMD64</div><div class='del'>-    {</div><div class='del'>-	/* workaround for x64 SEH */</div><div class='del'>-	jmp_buf buf;</div><div class='del'>-	setjmp(buf);</div><div class='del'>-	((_JUMP_BUFFER*)(&amp;cont-&gt;jmpbuf))-&gt;Frame =</div><div class='del'>-	    ((_JUMP_BUFFER*)(&amp;buf))-&gt;Frame;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    if (cont-&gt;machine.stack_src) {</div><div class='del'>-	FLUSH_REGISTER_WINDOWS;</div><div class='del'>-	MEMCPY(cont-&gt;machine.stack_src, cont-&gt;machine.stack,</div><div class='del'>-		VALUE, cont-&gt;machine.stack_size);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-#ifdef __ia64</div><div class='del'>-    if (cont-&gt;machine.register_stack_src) {</div><div class='del'>-	MEMCPY(cont-&gt;machine.register_stack_src, cont-&gt;machine.register_stack,</div><div class='del'>-	       VALUE, cont-&gt;machine.register_stack_size);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    ruby_longjmp(cont-&gt;jmpbuf, 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NORETURN(NOINLINE(static void cont_restore_0(rb_context_t *, VALUE *)));</div><div class='del'>-</div><div class='del'>-#ifdef __ia64</div><div class='del'>-#define C(a) rse_##a##0, rse_##a##1, rse_##a##2, rse_##a##3, rse_##a##4</div><div class='del'>-#define E(a) rse_##a##0= rse_##a##1= rse_##a##2= rse_##a##3= rse_##a##4</div><div class='del'>-static volatile int C(a), C(b), C(c), C(d), C(e);</div><div class='del'>-static volatile int C(f), C(g), C(h), C(i), C(j);</div><div class='del'>-static volatile int C(k), C(l), C(m), C(n), C(o);</div><div class='del'>-static volatile int C(p), C(q), C(r), C(s), C(t);</div><div class='del'>-#if 0</div><div class='del'>-{/* the above lines make cc-mode.el confused so much */}</div><div class='del'>-#endif</div><div class='del'>-int rb_dummy_false = 0;</div><div class='del'>-NORETURN(NOINLINE(static void register_stack_extend(rb_context_t *, VALUE *, VALUE *)));</div><div class='del'>-static void</div><div class='del'>-register_stack_extend(rb_context_t *cont, VALUE *vp, VALUE *curr_bsp)</div><div class='del'>-{</div><div class='del'>-    if (rb_dummy_false) {</div><div class='del'>-        /* use registers as much as possible */</div><div class='del'>-        E(a) = E(b) = E(c) = E(d) = E(e) =</div><div class='del'>-        E(f) = E(g) = E(h) = E(i) = E(j) =</div><div class='del'>-        E(k) = E(l) = E(m) = E(n) = E(o) =</div><div class='del'>-        E(p) = E(q) = E(r) = E(s) = E(t) = 0;</div><div class='del'>-        E(a) = E(b) = E(c) = E(d) = E(e) =</div><div class='del'>-        E(f) = E(g) = E(h) = E(i) = E(j) =</div><div class='del'>-        E(k) = E(l) = E(m) = E(n) = E(o) =</div><div class='del'>-        E(p) = E(q) = E(r) = E(s) = E(t) = 0;</div><div class='del'>-    }</div><div class='del'>-    if (curr_bsp &lt; cont-&gt;machine.register_stack_src+cont-&gt;machine.register_stack_size) {</div><div class='del'>-        register_stack_extend(cont, vp, (VALUE*)rb_ia64_bsp());</div><div class='del'>-    }</div><div class='del'>-    cont_restore_0(cont, vp);</div><div class='del'>-}</div><div class='del'>-#undef C</div><div class='del'>-#undef E</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-cont_restore_0(rb_context_t *cont, VALUE *addr_in_prev_frame)</div><div class='del'>-{</div><div class='del'>-    if (cont-&gt;machine.stack_src) {</div><div class='del'>-#ifdef HAVE_ALLOCA</div><div class='del'>-#define STACK_PAD_SIZE 1</div><div class='del'>-#else</div><div class='del'>-#define STACK_PAD_SIZE 1024</div><div class='del'>-#endif</div><div class='del'>-	VALUE space[STACK_PAD_SIZE];</div><div class='del'>-</div><div class='del'>-#if !STACK_GROW_DIRECTION</div><div class='del'>-	if (addr_in_prev_frame &gt; &amp;space[0]) {</div><div class='del'>-	    /* Stack grows downward */</div><div class='del'>-#endif</div><div class='del'>-#if STACK_GROW_DIRECTION &lt;= 0</div><div class='del'>-	    volatile VALUE *const end = cont-&gt;machine.stack_src;</div><div class='del'>-	    if (&amp;space[0] &gt; end) {</div><div class='del'>-# ifdef HAVE_ALLOCA</div><div class='del'>-		volatile VALUE *sp = ALLOCA_N(VALUE, &amp;space[0] - end);</div><div class='del'>-		space[0] = *sp;</div><div class='del'>-# else</div><div class='del'>-		cont_restore_0(cont, &amp;space[0]);</div><div class='del'>-# endif</div><div class='del'>-	    }</div><div class='del'>-#endif</div><div class='del'>-#if !STACK_GROW_DIRECTION</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    /* Stack grows upward */</div><div class='del'>-#endif</div><div class='del'>-#if STACK_GROW_DIRECTION &gt;= 0</div><div class='del'>-	    volatile VALUE *const end = cont-&gt;machine.stack_src + cont-&gt;machine.stack_size;</div><div class='del'>-	    if (&amp;space[STACK_PAD_SIZE] &lt; end) {</div><div class='del'>-# ifdef HAVE_ALLOCA</div><div class='del'>-		volatile VALUE *sp = ALLOCA_N(VALUE, end - &amp;space[STACK_PAD_SIZE]);</div><div class='del'>-		space[0] = *sp;</div><div class='del'>-# else</div><div class='del'>-		cont_restore_0(cont, &amp;space[STACK_PAD_SIZE-1]);</div><div class='del'>-# endif</div><div class='del'>-	    }</div><div class='del'>-#endif</div><div class='del'>-#if !STACK_GROW_DIRECTION</div><div class='del'>-	}</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    cont_restore_1(cont);</div><div class='del'>-}</div><div class='del'>-#ifdef __ia64</div><div class='del'>-#define cont_restore_0(cont, vp) register_stack_extend((cont), (vp), (VALUE*)rb_ia64_bsp())</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  Document-class: Continuation</div><div class='del'>- *</div><div class='del'>- *  Continuation objects are generated by Kernel#callcc,</div><div class='del'>- *  after having +require+d &lt;i&gt;continuation&lt;/i&gt;. They hold</div><div class='del'>- *  a return address and execution context, allowing a nonlocal return</div><div class='del'>- *  to the end of the &lt;code&gt;callcc&lt;/code&gt; block from anywhere within a</div><div class='del'>- *  program. Continuations are somewhat analogous to a structured</div><div class='del'>- *  version of C's &lt;code&gt;setjmp/longjmp&lt;/code&gt; (although they contain</div><div class='del'>- *  more state, so you might consider them closer to threads).</div><div class='del'>- *</div><div class='del'>- *  For instance:</div><div class='del'>- *</div><div class='del'>- *     require "continuation"</div><div class='del'>- *     arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]</div><div class='del'>- *     callcc{|cc| $cc = cc}</div><div class='del'>- *     puts(message = arr.shift)</div><div class='del'>- *     $cc.call unless message =~ /Max/</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *     Freddie</div><div class='del'>- *     Herbie</div><div class='del'>- *     Ron</div><div class='del'>- *     Max</div><div class='del'>- *</div><div class='del'>- *  Also you can call callcc in other methods:</div><div class='del'>- *</div><div class='del'>- *     require "continuation"</div><div class='del'>- *</div><div class='del'>- *     def g</div><div class='del'>- *       arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]</div><div class='del'>- *       cc = callcc { |cc| cc }</div><div class='del'>- *       puts arr.shift</div><div class='del'>- *       return cc, arr.size</div><div class='del'>- *     end</div><div class='del'>- *</div><div class='del'>- *     def f</div><div class='del'>- *       c, size = g</div><div class='del'>- *       c.call(c) if size &gt; 1</div><div class='del'>- *     end</div><div class='del'>- *</div><div class='del'>- *     f</div><div class='del'>- *</div><div class='del'>- *  This (somewhat contrived) example allows the inner loop to abandon</div><div class='del'>- *  processing early:</div><div class='del'>- *</div><div class='del'>- *     require "continuation"</div><div class='del'>- *     callcc {|cont|</div><div class='del'>- *       for i in 0..4</div><div class='del'>- *         print "\n#{i}: "</div><div class='del'>- *         for j in i*5...(i+1)*5</div><div class='del'>- *           cont.call() if j == 17</div><div class='del'>- *           printf "%3d", j</div><div class='del'>- *         end</div><div class='del'>- *       end</div><div class='del'>- *     }</div><div class='del'>- *     puts</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *     0:   0  1  2  3  4</div><div class='del'>- *     1:   5  6  7  8  9</div><div class='del'>- *     2:  10 11 12 13 14</div><div class='del'>- *     3:  15 16</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     callcc {|cont| block }   -&gt;  obj</div><div class='del'>- *</div><div class='del'>- *  Generates a Continuation object, which it passes to</div><div class='del'>- *  the associated block. You need to &lt;code&gt;require</div><div class='del'>- *  'continuation'&lt;/code&gt; before using this method. Performing a</div><div class='del'>- *  &lt;em&gt;cont&lt;/em&gt;&lt;code&gt;.call&lt;/code&gt; will cause the #callcc</div><div class='del'>- *  to return (as will falling through the end of the block). The</div><div class='del'>- *  value returned by the #callcc is the value of the</div><div class='del'>- *  block, or the value passed to &lt;em&gt;cont&lt;/em&gt;&lt;code&gt;.call&lt;/code&gt;. See</div><div class='del'>- *  class Continuation for more details. Also see</div><div class='del'>- *  Kernel#throw for an alternative mechanism for</div><div class='del'>- *  unwinding a call stack.</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_callcc(VALUE self)</div><div class='del'>-{</div><div class='del'>-    volatile int called;</div><div class='del'>-    volatile VALUE val = cont_capture(&amp;called);</div><div class='del'>-</div><div class='del'>-    if (called) {</div><div class='del'>-	return val;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	return rb_yield(val);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-make_passing_arg(int argc, const VALUE *argv)</div><div class='del'>-{</div><div class='del'>-    switch (argc) {</div><div class='del'>-      case 0:</div><div class='del'>-	return Qnil;</div><div class='del'>-      case 1:</div><div class='del'>-	return argv[0];</div><div class='del'>-      default:</div><div class='del'>-	return rb_ary_new4(argc, argv);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* CAUTION!! : Currently, error in rollback_func is not supported  */</div><div class='del'>-/* same as rb_protect if set rollback_func to NULL */</div><div class='del'>-void</div><div class='del'>-ruby_register_rollback_func_for_ensure(VALUE (*ensure_func)(ANYARGS), VALUE (*rollback_func)(ANYARGS))</div><div class='del'>-{</div><div class='del'>-    st_table **table_p = &amp;GET_VM()-&gt;ensure_rollback_table;</div><div class='del'>-    if (UNLIKELY(*table_p == NULL)) {</div><div class='del'>-	*table_p = st_init_numtable();</div><div class='del'>-    }</div><div class='del'>-    st_insert(*table_p, (st_data_t)ensure_func, (st_data_t)rollback_func);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-lookup_rollback_func(VALUE (*ensure_func)(ANYARGS))</div><div class='del'>-{</div><div class='del'>-    st_table *table = GET_VM()-&gt;ensure_rollback_table;</div><div class='del'>-    st_data_t val;</div><div class='del'>-    if (table &amp;&amp; st_lookup(table, (st_data_t)ensure_func, &amp;val))</div><div class='del'>-	return (VALUE) val;</div><div class='del'>-    return Qundef;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-static inline void</div><div class='del'>-rollback_ensure_stack(VALUE self,rb_ensure_list_t *current,rb_ensure_entry_t *target)</div><div class='del'>-{</div><div class='del'>-    rb_ensure_list_t *p;</div><div class='del'>-    rb_ensure_entry_t *entry;</div><div class='del'>-    size_t i, j;</div><div class='del'>-    size_t cur_size;</div><div class='del'>-    size_t target_size;</div><div class='del'>-    size_t base_point;</div><div class='del'>-    VALUE (*func)(ANYARGS);</div><div class='del'>-</div><div class='del'>-    cur_size = 0;</div><div class='del'>-    for (p=current; p; p=p-&gt;next)</div><div class='del'>-	cur_size++;</div><div class='del'>-    target_size = 0;</div><div class='del'>-    for (entry=target; entry-&gt;marker; entry++)</div><div class='del'>-	target_size++;</div><div class='del'>-</div><div class='del'>-    /* search common stack point */</div><div class='del'>-    p = current;</div><div class='del'>-    base_point = cur_size;</div><div class='del'>-    while (base_point) {</div><div class='del'>-	if (target_size &gt;= base_point &amp;&amp;</div><div class='del'>-	    p-&gt;entry.marker == target[target_size - base_point].marker)</div><div class='del'>-	    break;</div><div class='del'>-	base_point --;</div><div class='del'>-	p = p-&gt;next;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* rollback function check */</div><div class='del'>-    for (i=0; i &lt; target_size - base_point; i++) {</div><div class='del'>-	if (!lookup_rollback_func(target[i].e_proc)) {</div><div class='del'>-	    rb_raise(rb_eRuntimeError, "continuation called from out of critical rb_ensure scope");</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    /* pop ensure stack */</div><div class='del'>-    while (cur_size &gt; base_point) {</div><div class='del'>-	/* escape from ensure block */</div><div class='del'>-	(*current-&gt;entry.e_proc)(current-&gt;entry.data2);</div><div class='del'>-	current = current-&gt;next;</div><div class='del'>-	cur_size--;</div><div class='del'>-    }</div><div class='del'>-    /* push ensure stack */</div><div class='del'>-    for (j = 0; j &lt; i; j++) {</div><div class='del'>-        func = (VALUE (*)(ANYARGS)) lookup_rollback_func(target[i - j - 1].e_proc);</div><div class='del'>-        if ((VALUE)func != Qundef) {</div><div class='del'>-            (*func)(target[i - j - 1].data2);</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     cont.call(args, ...)</div><div class='del'>- *     cont[args, ...]</div><div class='del'>- *</div><div class='del'>- *  Invokes the continuation. The program continues from the end of the</div><div class='del'>- *  &lt;code&gt;callcc&lt;/code&gt; block. If no arguments are given, the original</div><div class='del'>- *  &lt;code&gt;callcc&lt;/code&gt; returns &lt;code&gt;nil&lt;/code&gt;. If one argument is</div><div class='del'>- *  given, &lt;code&gt;callcc&lt;/code&gt; returns it. Otherwise, an array</div><div class='del'>- *  containing &lt;i&gt;args&lt;/i&gt; is returned.</div><div class='del'>- *</div><div class='del'>- *     callcc {|cont|  cont.call }           #=&gt; nil</div><div class='del'>- *     callcc {|cont|  cont.call 1 }         #=&gt; 1</div><div class='del'>- *     callcc {|cont|  cont.call 1, 2, 3 }   #=&gt; [1, 2, 3]</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_cont_call(int argc, VALUE *argv, VALUE contval)</div><div class='del'>-{</div><div class='del'>-    rb_context_t *cont = cont_ptr(contval);</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-    if (cont_thread_value(cont) != th-&gt;self) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "continuation called across threads");</div><div class='del'>-    }</div><div class='del'>-    if (cont-&gt;saved_ec.protect_tag != th-&gt;ec-&gt;protect_tag) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "continuation called across stack rewinding barrier");</div><div class='del'>-    }</div><div class='del'>-    if (cont-&gt;saved_ec.fiber_ptr) {</div><div class='del'>-	if (th-&gt;ec-&gt;fiber_ptr != cont-&gt;saved_ec.fiber_ptr) {</div><div class='del'>-	    rb_raise(rb_eRuntimeError, "continuation called across fiber");</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    rollback_ensure_stack(contval, th-&gt;ec-&gt;ensure_list, cont-&gt;ensure_array);</div><div class='del'>-</div><div class='del'>-    cont-&gt;argc = argc;</div><div class='del'>-    cont-&gt;value = make_passing_arg(argc, argv);</div><div class='del'>-</div><div class='del'>-    cont_restore_0(cont, &amp;contval);</div><div class='del'>-    return Qnil; /* unreachable */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*********/</div><div class='del'>-/* fiber */</div><div class='del'>-/*********/</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  Document-class: Fiber</div><div class='del'>- *</div><div class='del'>- *  Fibers are primitives for implementing light weight cooperative</div><div class='del'>- *  concurrency in Ruby. Basically they are a means of creating code blocks</div><div class='del'>- *  that can be paused and resumed, much like threads. The main difference</div><div class='del'>- *  is that they are never preempted and that the scheduling must be done by</div><div class='del'>- *  the programmer and not the VM.</div><div class='del'>- *</div><div class='del'>- *  As opposed to other stackless light weight concurrency models, each fiber</div><div class='del'>- *  comes with a stack.  This enables the fiber to be paused from deeply</div><div class='del'>- *  nested function calls within the fiber block.  See the ruby(1)</div><div class='del'>- *  manpage to configure the size of the fiber stack(s).</div><div class='del'>- *</div><div class='del'>- *  When a fiber is created it will not run automatically. Rather it must</div><div class='del'>- *  be explicitly asked to run using the &lt;code&gt;Fiber#resume&lt;/code&gt; method.</div><div class='del'>- *  The code running inside the fiber can give up control by calling</div><div class='del'>- *  &lt;code&gt;Fiber.yield&lt;/code&gt; in which case it yields control back to caller</div><div class='del'>- *  (the caller of the &lt;code&gt;Fiber#resume&lt;/code&gt;).</div><div class='del'>- *</div><div class='del'>- *  Upon yielding or termination the Fiber returns the value of the last</div><div class='del'>- *  executed expression</div><div class='del'>- *</div><div class='del'>- *  For instance:</div><div class='del'>- *</div><div class='del'>- *    fiber = Fiber.new do</div><div class='del'>- *      Fiber.yield 1</div><div class='del'>- *      2</div><div class='del'>- *    end</div><div class='del'>- *</div><div class='del'>- *    puts fiber.resume</div><div class='del'>- *    puts fiber.resume</div><div class='del'>- *    puts fiber.resume</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *    1</div><div class='del'>- *    2</div><div class='del'>- *    FiberError: dead fiber called</div><div class='del'>- *</div><div class='del'>- *  The &lt;code&gt;Fiber#resume&lt;/code&gt; method accepts an arbitrary number of</div><div class='del'>- *  parameters, if it is the first call to &lt;code&gt;resume&lt;/code&gt; then they</div><div class='del'>- *  will be passed as block arguments. Otherwise they will be the return</div><div class='del'>- *  value of the call to &lt;code&gt;Fiber.yield&lt;/code&gt;</div><div class='del'>- *</div><div class='del'>- *  Example:</div><div class='del'>- *</div><div class='del'>- *    fiber = Fiber.new do |first|</div><div class='del'>- *      second = Fiber.yield first + 2</div><div class='del'>- *    end</div><div class='del'>- *</div><div class='del'>- *    puts fiber.resume 10</div><div class='del'>- *    puts fiber.resume 14</div><div class='del'>- *    puts fiber.resume 18</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *    12</div><div class='del'>- *    14</div><div class='del'>- *    FiberError: dead fiber called</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static const rb_data_type_t fiber_data_type = {</div><div class='del'>-    "fiber",</div><div class='del'>-    {fiber_mark, fiber_free, fiber_memsize,},</div><div class='del'>-    0, 0, RUBY_TYPED_FREE_IMMEDIATELY</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-fiber_alloc(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    return TypedData_Wrap_Struct(klass, &amp;fiber_data_type, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_fiber_t*</div><div class='del'>-fiber_t_alloc(VALUE fibval)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib;</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-    if (DATA_PTR(fibval) != 0) {</div><div class='del'>-	rb_raise(rb_eRuntimeError, "cannot initialize twice");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    THREAD_MUST_BE_RUNNING(th);</div><div class='del'>-    fib = ZALLOC(rb_fiber_t);</div><div class='del'>-    fib-&gt;cont.self = fibval;</div><div class='del'>-    fib-&gt;cont.type = FIBER_CONTEXT;</div><div class='del'>-    cont_init(&amp;fib-&gt;cont, th);</div><div class='del'>-    fib-&gt;cont.saved_ec.fiber_ptr = fib;</div><div class='del'>-    fib-&gt;prev = NULL;</div><div class='del'>-</div><div class='del'>-    /* fib-&gt;status == 0 == CREATED</div><div class='del'>-     * So that we don't need to set status: fiber_status_set(fib, FIBER_CREATED); */</div><div class='del'>-    VM_ASSERT(FIBER_CREATED_P(fib));</div><div class='del'>-</div><div class='del'>-    DATA_PTR(fibval) = fib;</div><div class='del'>-</div><div class='del'>-    return fib;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-rb_control_frame_t *</div><div class='del'>-rb_vm_push_frame(rb_execution_context_t *sec,</div><div class='del'>-		 const rb_iseq_t *iseq,</div><div class='del'>-		 VALUE type,</div><div class='del'>-		 VALUE self,</div><div class='del'>-		 VALUE specval,</div><div class='del'>-		 VALUE cref_or_me,</div><div class='del'>-		 const VALUE *pc,</div><div class='del'>-		 VALUE *sp,</div><div class='del'>-		 int local_size,</div><div class='del'>-		 int stack_max);</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-fiber_init(VALUE fibval, VALUE proc)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = fiber_t_alloc(fibval);</div><div class='del'>-    rb_context_t *cont = &amp;fib-&gt;cont;</div><div class='del'>-    rb_execution_context_t *sec = &amp;cont-&gt;saved_ec;</div><div class='del'>-    rb_thread_t *cth = GET_THREAD();</div><div class='del'>-    rb_vm_t *vm = cth-&gt;vm;</div><div class='del'>-    size_t fib_stack_bytes = vm-&gt;default_params.fiber_vm_stack_size;</div><div class='del'>-    size_t thr_stack_bytes = vm-&gt;default_params.thread_vm_stack_size;</div><div class='del'>-    VALUE *vm_stack;</div><div class='del'>-</div><div class='del'>-    /* initialize cont */</div><div class='del'>-    cont-&gt;saved_vm_stack.ptr = NULL;</div><div class='del'>-    if (fib_stack_bytes == thr_stack_bytes) {</div><div class='del'>-        vm_stack = rb_thread_recycle_stack(fib_stack_bytes / sizeof(VALUE));</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        vm_stack = ruby_xmalloc(fib_stack_bytes);</div><div class='del'>-    }</div><div class='del'>-    rb_ec_set_vm_stack(sec, vm_stack, fib_stack_bytes / sizeof(VALUE));</div><div class='del'>-    sec-&gt;cfp = (void *)(sec-&gt;vm_stack + sec-&gt;vm_stack_size);</div><div class='del'>-</div><div class='del'>-    rb_vm_push_frame(sec,</div><div class='del'>-		     NULL,</div><div class='del'>-		     VM_FRAME_MAGIC_DUMMY | VM_ENV_FLAG_LOCAL | VM_FRAME_FLAG_FINISH | VM_FRAME_FLAG_CFRAME,</div><div class='del'>-		     Qnil, /* self */</div><div class='del'>-		     VM_BLOCK_HANDLER_NONE,</div><div class='del'>-		     0, /* specval */</div><div class='del'>-		     NULL, /* pc */</div><div class='del'>-		     sec-&gt;vm_stack, /* sp */</div><div class='del'>-		     0, /* local_size */</div><div class='del'>-		     0);</div><div class='del'>-</div><div class='del'>-    sec-&gt;tag = NULL;</div><div class='del'>-    sec-&gt;local_storage = NULL;</div><div class='del'>-    sec-&gt;local_storage_recursive_hash = Qnil;</div><div class='del'>-    sec-&gt;local_storage_recursive_hash_for_trace = Qnil;</div><div class='del'>-</div><div class='del'>-    fib-&gt;first_proc = proc;</div><div class='del'>-</div><div class='del'>-#if !FIBER_USE_NATIVE</div><div class='del'>-    MEMCPY(&amp;cont-&gt;jmpbuf, &amp;cth-&gt;root_jmpbuf, rb_jmpbuf_t, 1);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    return fibval;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* :nodoc: */</div><div class='del'>-static VALUE</div><div class='del'>-rb_fiber_init(VALUE fibval)</div><div class='del'>-{</div><div class='del'>-    return fiber_init(fibval, rb_block_proc());</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_fiber_new(VALUE (*func)(ANYARGS), VALUE obj)</div><div class='del'>-{</div><div class='del'>-    return fiber_init(fiber_alloc(rb_cFiber), rb_proc_new(func, obj));</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void rb_fiber_terminate(rb_fiber_t *fib, int need_interrupt);</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_fiber_start(void)</div><div class='del'>-{</div><div class='del'>-    rb_thread_t * volatile th = GET_THREAD();</div><div class='del'>-    rb_fiber_t *fib = th-&gt;ec-&gt;fiber_ptr;</div><div class='del'>-    rb_proc_t *proc;</div><div class='del'>-    enum ruby_tag_type state;</div><div class='del'>-    int need_interrupt = TRUE;</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(th-&gt;ec == ruby_current_execution_context_ptr);</div><div class='del'>-    VM_ASSERT(FIBER_RESUMED_P(fib));</div><div class='del'>-</div><div class='del'>-    EC_PUSH_TAG(th-&gt;ec);</div><div class='del'>-    if ((state = EC_EXEC_TAG()) == TAG_NONE) {</div><div class='del'>-	rb_context_t *cont = &amp;VAR_FROM_MEMORY(fib)-&gt;cont;</div><div class='del'>-	int argc;</div><div class='del'>-	const VALUE *argv, args = cont-&gt;value;</div><div class='del'>-	GetProcPtr(fib-&gt;first_proc, proc);</div><div class='del'>-	argv = (argc = cont-&gt;argc) &gt; 1 ? RARRAY_CONST_PTR(args) : &amp;args;</div><div class='del'>-	cont-&gt;value = Qnil;</div><div class='del'>-	th-&gt;ec-&gt;errinfo = Qnil;</div><div class='del'>-	th-&gt;ec-&gt;root_lep = rb_vm_proc_local_ep(fib-&gt;first_proc);</div><div class='del'>-	th-&gt;ec-&gt;root_svar = Qfalse;</div><div class='del'>-</div><div class='del'>-	EXEC_EVENT_HOOK(th-&gt;ec, RUBY_EVENT_FIBER_SWITCH, th-&gt;self, 0, 0, 0, Qnil);</div><div class='del'>-	cont-&gt;value = rb_vm_invoke_proc(th-&gt;ec, proc, argc, argv, VM_BLOCK_HANDLER_NONE);</div><div class='del'>-    }</div><div class='del'>-    EC_POP_TAG();</div><div class='del'>-</div><div class='del'>-    if (state) {</div><div class='del'>-	VALUE err = th-&gt;ec-&gt;errinfo;</div><div class='del'>-	VM_ASSERT(FIBER_RESUMED_P(fib));</div><div class='del'>-</div><div class='del'>-	if (state == TAG_RAISE || state == TAG_FATAL) {</div><div class='del'>-	    rb_threadptr_pending_interrupt_enque(th, err);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    err = rb_vm_make_jump_tag_but_local_jump(state, err);</div><div class='del'>-	    if (!NIL_P(err)) {</div><div class='del'>-		rb_threadptr_pending_interrupt_enque(th, err);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	need_interrupt = TRUE;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    rb_fiber_terminate(fib, need_interrupt);</div><div class='del'>-    VM_UNREACHABLE(rb_fiber_start);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static rb_fiber_t *</div><div class='del'>-root_fiber_alloc(rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    VALUE fibval = fiber_alloc(rb_cFiber);</div><div class='del'>-    rb_fiber_t *fib = th-&gt;ec-&gt;fiber_ptr;</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(DATA_PTR(fibval) == NULL);</div><div class='del'>-    VM_ASSERT(fib-&gt;cont.type == FIBER_CONTEXT);</div><div class='del'>-    VM_ASSERT(fib-&gt;status == FIBER_RESUMED);</div><div class='del'>-</div><div class='del'>-    th-&gt;root_fiber = fib;</div><div class='del'>-    DATA_PTR(fibval) = fib;</div><div class='del'>-    fib-&gt;cont.self = fibval;</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-    coroutine_initialize(&amp;fib-&gt;context, NULL, NULL, 0);</div><div class='del'>-#elif defined(_WIN32)</div><div class='del'>-    /* setup fib_handle for root Fiber */</div><div class='del'>-    if (fib-&gt;fib_handle == 0) {</div><div class='del'>-        if ((fib-&gt;fib_handle = ConvertThreadToFiber(0)) == 0) {</div><div class='del'>-            rb_bug("root_fiber_alloc: ConvertThreadToFiber() failed - %s\n", rb_w32_strerror(-1));</div><div class='del'>-        }</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        rb_bug("root_fiber_alloc: fib_handle is not NULL.");</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    return fib;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_threadptr_root_fiber_setup(rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = ruby_mimmalloc(sizeof(rb_fiber_t));</div><div class='del'>-    MEMZERO(fib, rb_fiber_t, 1);</div><div class='del'>-    fib-&gt;cont.type = FIBER_CONTEXT;</div><div class='del'>-    fib-&gt;cont.saved_ec.fiber_ptr = fib;</div><div class='del'>-    fib-&gt;cont.saved_ec.thread_ptr = th;</div><div class='del'>-    fiber_status_set(fib, FIBER_RESUMED); /* skip CREATED */</div><div class='del'>-    th-&gt;ec = &amp;fib-&gt;cont.saved_ec;</div><div class='del'>-</div><div class='del'>-    /* NOTE: On WIN32, fib_handle is not allocated yet. */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_threadptr_root_fiber_release(rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    if (th-&gt;root_fiber) {</div><div class='del'>-	/* ignore. A root fiber object will free th-&gt;ec */</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	VM_ASSERT(th-&gt;ec-&gt;fiber_ptr-&gt;cont.type == FIBER_CONTEXT);</div><div class='del'>-	VM_ASSERT(th-&gt;ec-&gt;fiber_ptr-&gt;cont.self == 0);</div><div class='del'>-	fiber_free(th-&gt;ec-&gt;fiber_ptr);</div><div class='del'>-</div><div class='del'>-	if (th-&gt;ec == ruby_current_execution_context_ptr) {</div><div class='del'>-	    ruby_current_execution_context_ptr = NULL;</div><div class='del'>-	}</div><div class='del'>-	th-&gt;ec = NULL;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline rb_fiber_t*</div><div class='del'>-fiber_current(void)</div><div class='del'>-{</div><div class='del'>-    rb_execution_context_t *ec = GET_EC();</div><div class='del'>-    if (ec-&gt;fiber_ptr-&gt;cont.self == 0) {</div><div class='del'>-	root_fiber_alloc(rb_ec_thread_ptr(ec));</div><div class='del'>-    }</div><div class='del'>-    return ec-&gt;fiber_ptr;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline rb_fiber_t*</div><div class='del'>-return_fiber(void)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = fiber_current();</div><div class='del'>-    rb_fiber_t *prev = fib-&gt;prev;</div><div class='del'>-</div><div class='del'>-    if (!prev) {</div><div class='del'>-	rb_thread_t *th = GET_THREAD();</div><div class='del'>-	rb_fiber_t *root_fiber = th-&gt;root_fiber;</div><div class='del'>-</div><div class='del'>-	VM_ASSERT(root_fiber != NULL);</div><div class='del'>-</div><div class='del'>-	if (root_fiber == fib) {</div><div class='del'>-	    rb_raise(rb_eFiberError, "can't yield from root fiber");</div><div class='del'>-	}</div><div class='del'>-	return root_fiber;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	fib-&gt;prev = NULL;</div><div class='del'>-	return prev;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_fiber_current(void)</div><div class='del'>-{</div><div class='del'>-    return fiber_current()-&gt;cont.self;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-fiber_store(rb_fiber_t *next_fib, rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib;</div><div class='del'>-</div><div class='del'>-    if (th-&gt;ec-&gt;fiber_ptr != NULL) {</div><div class='del'>-        fib = th-&gt;ec-&gt;fiber_ptr;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        /* create root fiber */</div><div class='del'>-        fib = root_fiber_alloc(th);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(FIBER_RESUMED_P(fib) || FIBER_TERMINATED_P(fib));</div><div class='del'>-    VM_ASSERT(FIBER_RUNNABLE_P(next_fib));</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-    if (FIBER_CREATED_P(next_fib)) {</div><div class='del'>-        fiber_initialize_machine_stack_context(next_fib, th-&gt;vm-&gt;default_params.fiber_machine_stack_size);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    if (FIBER_RESUMED_P(fib)) fiber_status_set(fib, FIBER_SUSPENDED);</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE == 0</div><div class='del'>-    /* should (re-)allocate stack are before fib-&gt;status change to pass fiber_verify() */</div><div class='del'>-    cont_save_machine_stack(th, &amp;fib-&gt;cont);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    fiber_status_set(next_fib, FIBER_RESUMED);</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-    fiber_setcontext(next_fib, fib);</div><div class='del'>-    /* restored */</div><div class='del'>-#ifdef MAX_MACHINE_STACK_CACHE</div><div class='del'>-    if (terminated_machine_stack.ptr) {</div><div class='del'>-        if (machine_stack_cache_index &lt; MAX_MACHINE_STACK_CACHE) {</div><div class='del'>-            machine_stack_cache[machine_stack_cache_index++] = terminated_machine_stack;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            if (terminated_machine_stack.ptr != fib-&gt;cont.machine.stack) {</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-                VirtualFree(terminated_machine_stack.ptr, 0, MEM_RELEASE);</div><div class='del'>-#else</div><div class='del'>-                munmap((void*)terminated_machine_stack.ptr, terminated_machine_stack.size * sizeof(VALUE));</div><div class='del'>-#endif</div><div class='del'>-            }</div><div class='del'>-            else {</div><div class='del'>-                rb_bug("terminated fiber resumed");</div><div class='del'>-            }</div><div class='del'>-        }</div><div class='del'>-        terminated_machine_stack.ptr = NULL;</div><div class='del'>-        terminated_machine_stack.size = 0;</div><div class='del'>-    }</div><div class='del'>-#endif /* not _WIN32 */</div><div class='del'>-    fib = th-&gt;ec-&gt;fiber_ptr;</div><div class='del'>-    if (fib-&gt;cont.argc == -1) rb_exc_raise(fib-&gt;cont.value);</div><div class='del'>-    return fib-&gt;cont.value;</div><div class='del'>-</div><div class='del'>-#else /* FIBER_USE_NATIVE */</div><div class='del'>-    fib-&gt;cont.saved_ec.machine.stack_end = NULL;</div><div class='del'>-    if (ruby_setjmp(fib-&gt;cont.jmpbuf)) {</div><div class='del'>-        /* restored */</div><div class='del'>-        fib = th-&gt;ec-&gt;fiber_ptr;</div><div class='del'>-        if (fib-&gt;cont.argc == -1) rb_exc_raise(fib-&gt;cont.value);</div><div class='del'>-        if (next_fib-&gt;cont.value == Qundef) {</div><div class='del'>-            cont_restore_0(&amp;next_fib-&gt;cont, &amp;next_fib-&gt;cont.value);</div><div class='del'>-            VM_UNREACHABLE(fiber_store);</div><div class='del'>-        }</div><div class='del'>-        return fib-&gt;cont.value;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        VALUE undef = Qundef;</div><div class='del'>-        cont_restore_0(&amp;next_fib-&gt;cont, &amp;undef);</div><div class='del'>-        VM_UNREACHABLE(fiber_store);</div><div class='del'>-    }</div><div class='del'>-#endif /* FIBER_USE_NATIVE */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline VALUE</div><div class='del'>-fiber_switch(rb_fiber_t *fib, int argc, const VALUE *argv, int is_resume)</div><div class='del'>-{</div><div class='del'>-    VALUE value;</div><div class='del'>-    rb_context_t *cont = &amp;fib-&gt;cont;</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-    /* make sure the root_fiber object is available */</div><div class='del'>-    if (th-&gt;root_fiber == NULL) root_fiber_alloc(th);</div><div class='del'>-</div><div class='del'>-    if (th-&gt;ec-&gt;fiber_ptr == fib) {</div><div class='del'>-	/* ignore fiber context switch</div><div class='del'>-         * because destination fiber is same as current fiber</div><div class='del'>-	 */</div><div class='del'>-	return make_passing_arg(argc, argv);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (cont_thread_value(cont) != th-&gt;self) {</div><div class='del'>-	rb_raise(rb_eFiberError, "fiber called across threads");</div><div class='del'>-    }</div><div class='del'>-    else if (cont-&gt;saved_ec.protect_tag != th-&gt;ec-&gt;protect_tag) {</div><div class='del'>-	rb_raise(rb_eFiberError, "fiber called across stack rewinding barrier");</div><div class='del'>-    }</div><div class='del'>-    else if (FIBER_TERMINATED_P(fib)) {</div><div class='del'>-	value = rb_exc_new2(rb_eFiberError, "dead fiber called");</div><div class='del'>-</div><div class='del'>-	if (!FIBER_TERMINATED_P(th-&gt;ec-&gt;fiber_ptr)) {</div><div class='del'>-	    rb_exc_raise(value);</div><div class='del'>-	    VM_UNREACHABLE(fiber_switch);</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    /* th-&gt;ec-&gt;fiber_ptr is also dead =&gt; switch to root fiber */</div><div class='del'>-	    /* (this means we're being called from rb_fiber_terminate, */</div><div class='del'>-	    /* and the terminated fiber's return_fiber() is already dead) */</div><div class='del'>-	    VM_ASSERT(FIBER_SUSPENDED_P(th-&gt;root_fiber));</div><div class='del'>-</div><div class='del'>-	    cont = &amp;th-&gt;root_fiber-&gt;cont;</div><div class='del'>-	    cont-&gt;argc = -1;</div><div class='del'>-	    cont-&gt;value = value;</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-	    fiber_setcontext(th-&gt;root_fiber, th-&gt;ec-&gt;fiber_ptr);</div><div class='del'>-#else</div><div class='del'>-	    cont_restore_0(cont, &amp;value);</div><div class='del'>-#endif</div><div class='del'>-	    VM_UNREACHABLE(fiber_switch);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (is_resume) {</div><div class='del'>-	fib-&gt;prev = fiber_current();</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(FIBER_RUNNABLE_P(fib));</div><div class='del'>-</div><div class='del'>-    cont-&gt;argc = argc;</div><div class='del'>-    cont-&gt;value = make_passing_arg(argc, argv);</div><div class='del'>-    value = fiber_store(fib, th);</div><div class='del'>-    RUBY_VM_CHECK_INTS(th-&gt;ec);</div><div class='del'>-</div><div class='del'>-    EXEC_EVENT_HOOK(th-&gt;ec, RUBY_EVENT_FIBER_SWITCH, th-&gt;self, 0, 0, 0, Qnil);</div><div class='del'>-</div><div class='del'>-    return value;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_fiber_transfer(VALUE fibval, int argc, const VALUE *argv)</div><div class='del'>-{</div><div class='del'>-    return fiber_switch(fiber_ptr(fibval), argc, argv, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_fiber_close(rb_fiber_t *fib)</div><div class='del'>-{</div><div class='del'>-    rb_execution_context_t *ec = &amp;fib-&gt;cont.saved_ec;</div><div class='del'>-    VALUE *vm_stack = ec-&gt;vm_stack;</div><div class='del'>-    size_t stack_bytes = ec-&gt;vm_stack_size * sizeof(VALUE);</div><div class='del'>-</div><div class='del'>-    fiber_status_set(fib, FIBER_TERMINATED);</div><div class='del'>-    if (stack_bytes == rb_ec_vm_ptr(ec)-&gt;default_params.thread_vm_stack_size) {</div><div class='del'>-        rb_thread_recycle_stack_release(vm_stack);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-        ruby_xfree(vm_stack);</div><div class='del'>-    }</div><div class='del'>-    rb_ec_set_vm_stack(ec, NULL, 0);</div><div class='del'>-</div><div class='del'>-#if !FIBER_USE_NATIVE</div><div class='del'>-    /* should not mark machine stack any more */</div><div class='del'>-    ec-&gt;machine.stack_end = NULL;</div><div class='del'>-#endif</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-rb_fiber_terminate(rb_fiber_t *fib, int need_interrupt)</div><div class='del'>-{</div><div class='del'>-    VALUE value = fib-&gt;cont.value;</div><div class='del'>-    rb_fiber_t *ret_fib;</div><div class='del'>-</div><div class='del'>-    VM_ASSERT(FIBER_RESUMED_P(fib));</div><div class='del'>-    rb_fiber_close(fib);</div><div class='del'>-</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-#if defined(FIBER_USE_COROUTINE)</div><div class='del'>-    coroutine_destroy(&amp;fib-&gt;context);</div><div class='del'>-#elif !defined(_WIN32)</div><div class='del'>-    fib-&gt;context.uc_stack.ss_sp = NULL;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef MAX_MACHINE_STACK_CACHE</div><div class='del'>-    /* Ruby must not switch to other thread until storing terminated_machine_stack */</div><div class='del'>-    terminated_machine_stack.ptr = fib-&gt;ss_sp;</div><div class='del'>-    terminated_machine_stack.size = fib-&gt;ss_size / sizeof(VALUE);</div><div class='del'>-    fib-&gt;ss_sp = NULL;</div><div class='del'>-    fib-&gt;cont.machine.stack = NULL;</div><div class='del'>-    fib-&gt;cont.machine.stack_size = 0;</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    ret_fib = return_fiber();</div><div class='del'>-    if (need_interrupt) RUBY_VM_SET_INTERRUPT(&amp;ret_fib-&gt;cont.saved_ec);</div><div class='del'>-    fiber_switch(ret_fib, 1, &amp;value, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_fiber_resume(VALUE fibval, int argc, const VALUE *argv)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = fiber_ptr(fibval);</div><div class='del'>-</div><div class='del'>-    if (fib-&gt;prev != 0 || fiber_is_root_p(fib)) {</div><div class='del'>-	rb_raise(rb_eFiberError, "double resume");</div><div class='del'>-    }</div><div class='del'>-    if (fib-&gt;transferred != 0) {</div><div class='del'>-	rb_raise(rb_eFiberError, "cannot resume transferred Fiber");</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return fiber_switch(fib, argc, argv, 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_fiber_yield(int argc, const VALUE *argv)</div><div class='del'>-{</div><div class='del'>-    return fiber_switch(return_fiber(), argc, argv, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_fiber_reset_root_local_storage(rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    if (th-&gt;root_fiber &amp;&amp; th-&gt;root_fiber != th-&gt;ec-&gt;fiber_ptr) {</div><div class='del'>-	th-&gt;ec-&gt;local_storage = th-&gt;root_fiber-&gt;cont.saved_ec.local_storage;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     fiber.alive? -&gt; true or false</div><div class='del'>- *</div><div class='del'>- *  Returns true if the fiber can still be resumed (or transferred</div><div class='del'>- *  to). After finishing execution of the fiber block this method will</div><div class='del'>- *  always return false. You need to &lt;code&gt;require 'fiber'&lt;/code&gt;</div><div class='del'>- *  before using this method.</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_fiber_alive_p(VALUE fibval)</div><div class='del'>-{</div><div class='del'>-    return FIBER_TERMINATED_P(fiber_ptr(fibval)) ? Qfalse : Qtrue;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     fiber.resume(args, ...) -&gt; obj</div><div class='del'>- *</div><div class='del'>- *  Resumes the fiber from the point at which the last &lt;code&gt;Fiber.yield&lt;/code&gt;</div><div class='del'>- *  was called, or starts running it if it is the first call to</div><div class='del'>- *  &lt;code&gt;resume&lt;/code&gt;. Arguments passed to resume will be the value of</div><div class='del'>- *  the &lt;code&gt;Fiber.yield&lt;/code&gt; expression or will be passed as block</div><div class='del'>- *  parameters to the fiber's block if this is the first &lt;code&gt;resume&lt;/code&gt;.</div><div class='del'>- *</div><div class='del'>- *  Alternatively, when resume is called it evaluates to the arguments passed</div><div class='del'>- *  to the next &lt;code&gt;Fiber.yield&lt;/code&gt; statement inside the fiber's block</div><div class='del'>- *  or to the block value if it runs to completion without any</div><div class='del'>- *  &lt;code&gt;Fiber.yield&lt;/code&gt;</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_fiber_m_resume(int argc, VALUE *argv, VALUE fib)</div><div class='del'>-{</div><div class='del'>-    return rb_fiber_resume(fib, argc, argv);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     fiber.transfer(args, ...) -&gt; obj</div><div class='del'>- *</div><div class='del'>- *  Transfer control to another fiber, resuming it from where it last</div><div class='del'>- *  stopped or starting it if it was not resumed before. The calling</div><div class='del'>- *  fiber will be suspended much like in a call to</div><div class='del'>- *  &lt;code&gt;Fiber.yield&lt;/code&gt;. You need to &lt;code&gt;require 'fiber'&lt;/code&gt;</div><div class='del'>- *  before using this method.</div><div class='del'>- *</div><div class='del'>- *  The fiber which receives the transfer call is treats it much like</div><div class='del'>- *  a resume call. Arguments passed to transfer are treated like those</div><div class='del'>- *  passed to resume.</div><div class='del'>- *</div><div class='del'>- *  You cannot resume a fiber that transferred control to another one.</div><div class='del'>- *  This will cause a double resume error. You need to transfer control</div><div class='del'>- *  back to this fiber before it can yield and resume.</div><div class='del'>- *</div><div class='del'>- *  Example:</div><div class='del'>- *</div><div class='del'>- *    fiber1 = Fiber.new do</div><div class='del'>- *      puts "In Fiber 1"</div><div class='del'>- *      Fiber.yield</div><div class='del'>- *    end</div><div class='del'>- *</div><div class='del'>- *    fiber2 = Fiber.new do</div><div class='del'>- *      puts "In Fiber 2"</div><div class='del'>- *      fiber1.transfer</div><div class='del'>- *      puts "Never see this message"</div><div class='del'>- *    end</div><div class='del'>- *</div><div class='del'>- *    fiber3 = Fiber.new do</div><div class='del'>- *      puts "In Fiber 3"</div><div class='del'>- *    end</div><div class='del'>- *</div><div class='del'>- *    fiber2.resume</div><div class='del'>- *    fiber3.resume</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *    In fiber 2</div><div class='del'>- *    In fiber 1</div><div class='del'>- *    In fiber 3</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_fiber_m_transfer(int argc, VALUE *argv, VALUE fibval)</div><div class='del'>-{</div><div class='del'>-    rb_fiber_t *fib = fiber_ptr(fibval);</div><div class='del'>-    fib-&gt;transferred = 1;</div><div class='del'>-    return fiber_switch(fib, argc, argv, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     Fiber.yield(args, ...) -&gt; obj</div><div class='del'>- *</div><div class='del'>- *  Yields control back to the context that resumed the fiber, passing</div><div class='del'>- *  along any arguments that were passed to it. The fiber will resume</div><div class='del'>- *  processing at this point when &lt;code&gt;resume&lt;/code&gt; is called next.</div><div class='del'>- *  Any arguments passed to the next &lt;code&gt;resume&lt;/code&gt; will be the</div><div class='del'>- *  value that this &lt;code&gt;Fiber.yield&lt;/code&gt; expression evaluates to.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_fiber_s_yield(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-{</div><div class='del'>-    return rb_fiber_yield(argc, argv);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     Fiber.current() -&gt; fiber</div><div class='del'>- *</div><div class='del'>- *  Returns the current fiber. You need to &lt;code&gt;require 'fiber'&lt;/code&gt;</div><div class='del'>- *  before using this method. If you are not running in the context of</div><div class='del'>- *  a fiber this method will return the root fiber.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_fiber_s_current(VALUE klass)</div><div class='del'>-{</div><div class='del'>-    return rb_fiber_current();</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *   fiber.to_s   -&gt; string</div><div class='del'>- *</div><div class='del'>- * Returns fiber information string.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-fiber_to_s(VALUE fibval)</div><div class='del'>-{</div><div class='del'>-    const rb_fiber_t *fib = fiber_ptr(fibval);</div><div class='del'>-    const rb_proc_t *proc;</div><div class='del'>-    char status_info[0x10];</div><div class='del'>-</div><div class='del'>-    snprintf(status_info, 0x10, " (%s)", fiber_status_name(fib-&gt;status));</div><div class='del'>-    if (!rb_obj_is_proc(fib-&gt;first_proc)) {</div><div class='del'>-	VALUE str = rb_any_to_s(fibval);</div><div class='del'>-	strlcat(status_info, "&gt;", sizeof(status_info));</div><div class='del'>-	rb_str_set_len(str, RSTRING_LEN(str)-1);</div><div class='del'>-	rb_str_cat_cstr(str, status_info);</div><div class='del'>-	return str;</div><div class='del'>-    }</div><div class='del'>-    GetProcPtr(fib-&gt;first_proc, proc);</div><div class='del'>-    return rb_block_to_s(fibval, &amp;proc-&gt;block, status_info);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_WORKING_FORK</div><div class='del'>-void</div><div class='del'>-rb_fiber_atfork(rb_thread_t *th)</div><div class='del'>-{</div><div class='del'>-    if (th-&gt;root_fiber) {</div><div class='del'>-        if (&amp;th-&gt;root_fiber-&gt;cont.saved_ec != th-&gt;ec) {</div><div class='del'>-            th-&gt;root_fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='del'>-        }</div><div class='del'>-        th-&gt;root_fiber-&gt;prev = 0;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  Document-class: FiberError</div><div class='del'>- *</div><div class='del'>- *  Raised when an invalid operation is attempted on a Fiber, in</div><div class='del'>- *  particular when attempting to call/resume a dead fiber,</div><div class='del'>- *  attempting to yield from the root fiber, or calling a fiber across</div><div class='del'>- *  threads.</div><div class='del'>- *</div><div class='del'>- *     fiber = Fiber.new{}</div><div class='del'>- *     fiber.resume #=&gt; nil</div><div class='del'>- *     fiber.resume #=&gt; FiberError: dead fiber called</div><div class='del'>- */</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-Init_Cont(void)</div><div class='del'>-{</div><div class='del'>-#if FIBER_USE_NATIVE</div><div class='del'>-    rb_thread_t *th = GET_THREAD();</div><div class='del'>-</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-    SYSTEM_INFO info;</div><div class='del'>-    GetSystemInfo(&amp;info);</div><div class='del'>-    pagesize = info.dwPageSize;</div><div class='del'>-#else /* not WIN32 */</div><div class='del'>-    pagesize = sysconf(_SC_PAGESIZE);</div><div class='del'>-#endif</div><div class='del'>-    SET_MACHINE_STACK_END(&amp;th-&gt;ec-&gt;machine.stack_end);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    rb_cFiber = rb_define_class("Fiber", rb_cObject);</div><div class='del'>-    rb_define_alloc_func(rb_cFiber, fiber_alloc);</div><div class='del'>-    rb_eFiberError = rb_define_class("FiberError", rb_eStandardError);</div><div class='del'>-    rb_define_singleton_method(rb_cFiber, "yield", rb_fiber_s_yield, -1);</div><div class='del'>-    rb_define_method(rb_cFiber, "initialize", rb_fiber_init, 0);</div><div class='del'>-    rb_define_method(rb_cFiber, "resume", rb_fiber_m_resume, -1);</div><div class='del'>-    rb_define_method(rb_cFiber, "to_s", fiber_to_s, 0);</div><div class='del'>-    rb_define_alias(rb_cFiber, "inspect", "to_s");</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-RUBY_SYMBOL_EXPORT_BEGIN</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-ruby_Init_Continuation_body(void)</div><div class='del'>-{</div><div class='del'>-    rb_cContinuation = rb_define_class("Continuation", rb_cObject);</div><div class='del'>-    rb_undef_alloc_func(rb_cContinuation);</div><div class='del'>-    rb_undef_method(CLASS_OF(rb_cContinuation), "new");</div><div class='del'>-    rb_define_method(rb_cContinuation, "call", rb_cont_call, -1);</div><div class='del'>-    rb_define_method(rb_cContinuation, "[]", rb_cont_call, -1);</div><div class='del'>-    rb_define_global_function("callcc", rb_callcc, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-ruby_Init_Fiber_as_Coroutine(void)</div><div class='del'>-{</div><div class='del'>-    rb_define_method(rb_cFiber, "transfer", rb_fiber_m_transfer, -1);</div><div class='del'>-    rb_define_method(rb_cFiber, "alive?", rb_fiber_alive_p, 0);</div><div class='del'>-    rb_define_singleton_method(rb_cFiber, "current", rb_fiber_s_current, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-RUBY_SYMBOL_EXPORT_END</div><div class='head'>diff --git a/coroutine/amd64/Context.S b/coroutine/amd64/Context.S<br/>deleted file mode 100644<br/>index 6193993e03..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/amd64/Context.S?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/amd64/Context.S</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,46 +0,0 @@</div><div class='del'>-##</div><div class='del'>-##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-##</div><div class='del'>-##  Created by Samuel Williams on 10/5/2018.</div><div class='del'>-##  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-##</div><div class='del'>-</div><div class='del'>-.text</div><div class='del'>-</div><div class='del'>-# For older linkers</div><div class='del'>-.globl _coroutine_transfer</div><div class='del'>-_coroutine_transfer:</div><div class='del'>-</div><div class='del'>-.globl coroutine_transfer</div><div class='del'>-coroutine_transfer:</div><div class='del'>-	# Save caller state</div><div class='del'>-	pushq %rbp</div><div class='del'>-	pushq %rbx</div><div class='del'>-	pushq %r12</div><div class='del'>-	pushq %r13</div><div class='del'>-	pushq %r14</div><div class='del'>-	pushq %r15</div><div class='del'>-</div><div class='del'>-	# Save caller stack pointer</div><div class='del'>-	movq %rsp, (%rdi)</div><div class='del'>-</div><div class='del'>-	# Restore callee stack pointer</div><div class='del'>-	movq (%rsi), %rsp</div><div class='del'>-</div><div class='del'>-	# Restore callee stack</div><div class='del'>-	popq %r15</div><div class='del'>-	popq %r14</div><div class='del'>-	popq %r13</div><div class='del'>-	popq %r12</div><div class='del'>-	popq %rbx</div><div class='del'>-	popq %rbp</div><div class='del'>-</div><div class='del'>-	# Put the first argument into the return value</div><div class='del'>-	movq %rdi, %rax</div><div class='del'>-</div><div class='del'>-	# We pop the return address and jump to it</div><div class='del'>-	ret</div><div class='del'>-</div><div class='del'>-#if defined(__linux__) &amp;&amp; defined(__ELF__)</div><div class='del'>-.section .note.GNU-stack,"",%progbits</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/amd64/Context.h b/coroutine/amd64/Context.h<br/>deleted file mode 100644<br/>index 1801c1e2c5..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/amd64/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/amd64/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,59 +0,0 @@</div><div class='del'>-/*</div><div class='del'>- *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>- *</div><div class='del'>- *  Created by Samuel Williams on 10/5/2018.</div><div class='del'>- *  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __attribute__((noreturn)) void</div><div class='del'>-</div><div class='del'>-const size_t COROUTINE_REGISTERS = 6;</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef COROUTINE(* coroutine_start)(coroutine_context *from, coroutine_context *self);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    /* Force 16-byte alignment */</div><div class='del'>-    context-&gt;stack_pointer = (void**)((uintptr_t)stack_pointer &amp; ~0xF);</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *--context-&gt;stack_pointer = NULL;</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)start;</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-    context-&gt;stack_pointer = NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/arm32/Context.S b/coroutine/arm32/Context.S<br/>deleted file mode 100644<br/>index c2b93d0a34..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/arm32/Context.S?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm32/Context.S</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,14 +0,0 @@</div><div class='del'>-##</div><div class='del'>-##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-##</div><div class='del'>-##  Created by Samuel Williams on 10/5/2018.</div><div class='del'>-##  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-##</div><div class='del'>-</div><div class='del'>-.text</div><div class='del'>-</div><div class='del'>-.globl coroutine_transfer</div><div class='del'>-coroutine_transfer:</div><div class='del'>-	stmia r1!, {r4-r11,sp,lr}</div><div class='del'>-	ldmia r0!, {r4-r11,sp,pc}</div><div class='del'>-	bx lr</div><div class='head'>diff --git a/coroutine/arm32/Context.h b/coroutine/arm32/Context.h<br/>deleted file mode 100644<br/>index 60732df7a0..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/arm32/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm32/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,56 +0,0 @@</div><div class='del'>-/*</div><div class='del'>- *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>- *</div><div class='del'>- *  Created by Samuel Williams on 10/5/2018.</div><div class='del'>- *  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __attribute__((noreturn)) void</div><div class='del'>-</div><div class='del'>-const size_t COROUTINE_REGISTERS = 9;</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef COROUTINE(* coroutine_start)(coroutine_context *from, coroutine_context *self);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    context-&gt;stack_pointer = (void**)stack_pointer;</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)start;</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/arm64/Context.S b/coroutine/arm64/Context.S<br/>deleted file mode 100644<br/>index f6e5f0a6bc..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/arm64/Context.S?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm64/Context.S</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,59 +0,0 @@</div><div class='del'>-##</div><div class='del'>-##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-##</div><div class='del'>-##  Created by Samuel Williams on 10/5/2018.</div><div class='del'>-##  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-##</div><div class='del'>-</div><div class='del'>-.text</div><div class='del'>-.align 2</div><div class='del'>-</div><div class='del'>-.global coroutine_transfer</div><div class='del'>-coroutine_transfer:</div><div class='del'>-</div><div class='del'>-	# Make space on the stack for caller registers</div><div class='del'>-	sub sp, sp, 0xb0</div><div class='del'>-	</div><div class='del'>-	# Save caller registers</div><div class='del'>-	stp d8, d9, [sp, 0x00]</div><div class='del'>-	stp d10, d11, [sp, 0x10]</div><div class='del'>-	stp d12, d13, [sp, 0x20]</div><div class='del'>-	stp d14, d15, [sp, 0x30]</div><div class='del'>-	stp x19, x20, [sp, 0x40]</div><div class='del'>-	stp x21, x22, [sp, 0x50]</div><div class='del'>-	stp x23, x24, [sp, 0x60]</div><div class='del'>-	stp x25, x26, [sp, 0x70]</div><div class='del'>-	stp x27, x28, [sp, 0x80]</div><div class='del'>-	stp x29, x30, [sp, 0x90]</div><div class='del'>-</div><div class='del'>-	# Save return address</div><div class='del'>-	str x30, [sp, 0xa0]</div><div class='del'>-</div><div class='del'>-	# Save stack pointer to x0 (first argument)</div><div class='del'>-	mov x2, sp</div><div class='del'>-	str x2, [x0, 0]</div><div class='del'>-</div><div class='del'>-	# Load stack pointer from x1 (second argument)</div><div class='del'>-	ldr x3, [x1, 0]</div><div class='del'>-	mov sp, x3</div><div class='del'>-</div><div class='del'>-	# Restore caller registers</div><div class='del'>-	ldp d8, d9, [sp, 0x00]</div><div class='del'>-	ldp d10, d11, [sp, 0x10]</div><div class='del'>-	ldp d12, d13, [sp, 0x20]</div><div class='del'>-	ldp d14, d15, [sp, 0x30]</div><div class='del'>-	ldp x19, x20, [sp, 0x40]</div><div class='del'>-	ldp x21, x22, [sp, 0x50]</div><div class='del'>-	ldp x23, x24, [sp, 0x60]</div><div class='del'>-	ldp x25, x26, [sp, 0x70]</div><div class='del'>-	ldp x27, x28, [sp, 0x80]</div><div class='del'>-	ldp x29, x30, [sp, 0x90]</div><div class='del'>-</div><div class='del'>-	# Load return address into x4</div><div class='del'>-	ldr x4, [sp, 0xa0]</div><div class='del'>-</div><div class='del'>-	# Pop stack frame</div><div class='del'>-	add sp, sp, 0xb0</div><div class='del'>-</div><div class='del'>-	# Jump to return address (in x4)</div><div class='del'>-	ret x4</div><div class='head'>diff --git a/coroutine/arm64/Context.h b/coroutine/arm64/Context.h<br/>deleted file mode 100644<br/>index 03b91fd937..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/arm64/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/arm64/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,57 +0,0 @@</div><div class='del'>-/*</div><div class='del'>- *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>- *</div><div class='del'>- *  Created by Samuel Williams on 10/5/2018.</div><div class='del'>- *  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __attribute__((noreturn)) void</div><div class='del'>-</div><div class='del'>-const size_t COROUTINE_REGISTERS = 0xb0 / 8;</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef COROUTINE(* coroutine_start)(coroutine_context *from, coroutine_context *self);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    /* Force 16-byte alignment */</div><div class='del'>-    context-&gt;stack_pointer = (void**)((uintptr_t)stack_pointer &amp; ~0xF);</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer[0xa0 / 8] = (void*)start;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/ppc64le/Context.S b/coroutine/ppc64le/Context.S<br/>deleted file mode 100644<br/>index 1b39086f8f..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/ppc64le/Context.S?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/ppc64le/Context.S</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,72 +0,0 @@</div><div class='del'>-.text</div><div class='del'>-.align 2</div><div class='del'>-</div><div class='del'>-.globl coroutine_transfer</div><div class='del'>-.type   coroutine_transfer, @function</div><div class='del'>-coroutine_transfer:</div><div class='del'>-	# Make space on the stack for caller registers</div><div class='del'>-	addi 1,1,-152</div><div class='del'>-</div><div class='del'>-	# Save caller registers</div><div class='del'>-	std 14,0(1)</div><div class='del'>-	std 15,8(1)</div><div class='del'>-	std 16,16(1)</div><div class='del'>-	std 17,24(1)</div><div class='del'>-	std 18,32(1)</div><div class='del'>-	std 19,40(1)</div><div class='del'>-	std 20,48(1)</div><div class='del'>-	std 21,56(1)</div><div class='del'>-	std 22,64(1)</div><div class='del'>-	std 23,72(1)</div><div class='del'>-	std 24,80(1)</div><div class='del'>-	std 25,88(1)</div><div class='del'>-	std 26,96(1)</div><div class='del'>-	std 27,104(1)</div><div class='del'>-	std 28,112(1)</div><div class='del'>-	std 29,120(1)</div><div class='del'>-	std 30,128(1)</div><div class='del'>-	std 31,136(1)</div><div class='del'>-</div><div class='del'>-	# Save return address</div><div class='del'>-	mflr 0</div><div class='del'>-	std 0,144(1)</div><div class='del'>-</div><div class='del'>-	# Save stack pointer to first argument</div><div class='del'>-	std 1,0(3)</div><div class='del'>-</div><div class='del'>-	# Load stack pointer from second argument</div><div class='del'>-	ld 1,0(4)</div><div class='del'>-</div><div class='del'>-	# Restore caller registers</div><div class='del'>-	ld 14,0(1)</div><div class='del'>-	ld 15,8(1)</div><div class='del'>-	ld 16,16(1)</div><div class='del'>-	ld 17,24(1)</div><div class='del'>-	ld 18,32(1)</div><div class='del'>-	ld 19,40(1)</div><div class='del'>-	ld 20,48(1)</div><div class='del'>-	ld 21,56(1)</div><div class='del'>-	ld 22,64(1)</div><div class='del'>-	ld 23,72(1)</div><div class='del'>-	ld 24,80(1)</div><div class='del'>-	ld 25,88(1)</div><div class='del'>-	ld 26,96(1)</div><div class='del'>-	ld 27,104(1)</div><div class='del'>-	ld 28,112(1)</div><div class='del'>-	ld 29,120(1)</div><div class='del'>-	ld 30,128(1)</div><div class='del'>-	ld 31,136(1)</div><div class='del'>-</div><div class='del'>-	# Load return address</div><div class='del'>-	ld 0,144(1)</div><div class='del'>-	mtlr 0</div><div class='del'>-</div><div class='del'>-	# Pop stack frame</div><div class='del'>-	addi 1,1,152</div><div class='del'>-</div><div class='del'>-	# Jump to return address</div><div class='del'>-	blr</div><div class='del'>-</div><div class='del'>-#if defined(__linux__) &amp;&amp; defined(__ELF__)</div><div class='del'>-.section .note.GNU-stack,"",%progbits</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/ppc64le/Context.h b/coroutine/ppc64le/Context.h<br/>deleted file mode 100644<br/>index de592f5a46..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/ppc64le/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/ppc64le/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,54 +0,0 @@</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __attribute__((noreturn)) void</div><div class='del'>-</div><div class='del'>-const size_t COROUTINE_REGISTERS =</div><div class='del'>-  19  /* 18 general purpose registers (r14-r31) and 1 return address */</div><div class='del'>-  + 4;  /* space for fiber_entry() to store the link register */</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef COROUTINE(* coroutine_start)(coroutine_context *from, coroutine_context *self);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    /* Force 16-byte alignment */</div><div class='del'>-    context-&gt;stack_pointer = (void**)((uintptr_t)stack_pointer &amp; ~0xF);</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-</div><div class='del'>-    /* Skip a global prologue that sets the TOC register */</div><div class='del'>-    context-&gt;stack_pointer[18] = ((char*)start) + 8;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-    context-&gt;stack_pointer = NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/win32/Context.asm b/coroutine/win32/Context.asm<br/>deleted file mode 100644<br/>index 2647ea4bc4..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/win32/Context.asm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win32/Context.asm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,55 +0,0 @@</div><div class='del'>-;;</div><div class='del'>-;;  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-;;</div><div class='del'>-;;  Created by Samuel Williams on 10/5/2018.</div><div class='del'>-;;  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-;;</div><div class='del'>-</div><div class='del'>-.386</div><div class='del'>-.model flat</div><div class='del'>-</div><div class='del'>-.code</div><div class='del'>-</div><div class='del'>-assume fs:nothing</div><div class='del'>-</div><div class='del'>-; Using fastcall is a big win (and it's the same has how x64 works).</div><div class='del'>-; In coroutine transfer, the arguments are passed in ecx and edx. We don't need</div><div class='del'>-; to touch these in order to pass them to the destination coroutine.</div><div class='del'>-</div><div class='del'>-@coroutine_transfer@8 proc</div><div class='del'>-	; Save the thread information block:</div><div class='del'>-	push fs:[0]</div><div class='del'>-	push fs:[4]</div><div class='del'>-	push fs:[8]</div><div class='del'>-</div><div class='del'>-	; Save caller registers:</div><div class='del'>-	push ebp</div><div class='del'>-	push ebx</div><div class='del'>-	push edi</div><div class='del'>-	push esi</div><div class='del'>-</div><div class='del'>-	; Save caller stack pointer:</div><div class='del'>-	mov dword ptr [ecx], esp</div><div class='del'>-</div><div class='del'>-	; Restore callee stack pointer:</div><div class='del'>-	mov esp, dword ptr [edx]</div><div class='del'>-</div><div class='del'>-	; Restore callee stack:</div><div class='del'>-	pop esi</div><div class='del'>-	pop edi</div><div class='del'>-	pop ebx</div><div class='del'>-	pop ebp</div><div class='del'>-</div><div class='del'>-	; Restore the thread information block:</div><div class='del'>-	pop fs:[8]</div><div class='del'>-	pop fs:[4]</div><div class='del'>-	pop fs:[0]</div><div class='del'>-</div><div class='del'>-	; Save the first argument as the return value:</div><div class='del'>-	mov eax, dword ptr ecx</div><div class='del'>-</div><div class='del'>-	; Jump to the address on the stack:</div><div class='del'>-	ret</div><div class='del'>-@coroutine_transfer@8 endp</div><div class='del'>-</div><div class='del'>-end</div><div class='head'>diff --git a/coroutine/win32/Context.h b/coroutine/win32/Context.h<br/>deleted file mode 100644<br/>index aa9f17ddab..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/win32/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win32/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,62 +0,0 @@</div><div class='del'>-/*</div><div class='del'>- *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>- *</div><div class='del'>- *  Created by Samuel Williams on 10/5/2018.</div><div class='del'>- *  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __declspec(noreturn) void __fastcall</div><div class='del'>-</div><div class='del'>-/* This doesn't include thread information block */</div><div class='del'>-const size_t COROUTINE_REGISTERS = 4;</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef void(__fastcall * coroutine_start)(coroutine_context *from, coroutine_context *self);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    context-&gt;stack_pointer = (void**)stack_pointer;</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)start;</div><div class='del'>-</div><div class='del'>-    /* Windows Thread Information Block */</div><div class='del'>-    *--context-&gt;stack_pointer = 0; /* fs:[0] */</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)stack_pointer; /* fs:[4] */</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)((char *)stack_pointer - stack_size);  /* fs:[8] */</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * __fastcall coroutine_transfer(coroutine_context * current, coroutine_context * target);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/win64/Context.S b/coroutine/win64/Context.S<br/>deleted file mode 100644<br/>index 4b16e0ce8c..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/win64/Context.S?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win64/Context.S</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,77 +0,0 @@</div><div class='del'>-##</div><div class='del'>-##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-##</div><div class='del'>-##  Created by Samuel Williams on 4/11/2018.</div><div class='del'>-##  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-##</div><div class='del'>-</div><div class='del'>-.text</div><div class='del'>-</div><div class='del'>-.globl coroutine_transfer</div><div class='del'>-coroutine_transfer:</div><div class='del'>-	# Save the thread information block:</div><div class='del'>-	pushq %gs:8</div><div class='del'>-	pushq %gs:16</div><div class='del'>-</div><div class='del'>-	# Save caller registers:</div><div class='del'>-	pushq %rbp</div><div class='del'>-	pushq %rbx</div><div class='del'>-	pushq %rdi</div><div class='del'>-	pushq %rsi</div><div class='del'>-	pushq %r12</div><div class='del'>-	pushq %r13</div><div class='del'>-	pushq %r14</div><div class='del'>-	pushq %r15</div><div class='del'>-</div><div class='del'>-	movaps %xmm15, -168(%rsp)</div><div class='del'>-	movaps %xmm14, -152(%rsp)</div><div class='del'>-	movaps %xmm13, -136(%rsp)</div><div class='del'>-	movaps %xmm12, -120(%rsp)</div><div class='del'>-	movaps %xmm11, -104(%rsp)</div><div class='del'>-	movaps %xmm10, -88(%rsp)</div><div class='del'>-	movaps %xmm9, -72(%rsp)</div><div class='del'>-	movaps %xmm8, -56(%rsp)</div><div class='del'>-	movaps %xmm7, -40(%rsp)</div><div class='del'>-	movaps %xmm6, -24(%rsp)</div><div class='del'>-</div><div class='del'>-	# Save caller stack pointer:</div><div class='del'>-	mov %rsp, (%rcx)</div><div class='del'>-</div><div class='del'>-	# Restore callee stack pointer:</div><div class='del'>-	mov (%rdx), %rsp</div><div class='del'>-</div><div class='del'>-	movaps -24(%rsp), %xmm6</div><div class='del'>-	movaps -40(%rsp), %xmm7</div><div class='del'>-	movaps -56(%rsp), %xmm8</div><div class='del'>-	movaps -72(%rsp), %xmm9</div><div class='del'>-	movaps -88(%rsp), %xmm10</div><div class='del'>-	movaps -104(%rsp), %xmm11</div><div class='del'>-	movaps -120(%rsp), %xmm12</div><div class='del'>-	movaps -136(%rsp), %xmm13</div><div class='del'>-	movaps -152(%rsp), %xmm14</div><div class='del'>-	movaps -168(%rsp), %xmm15</div><div class='del'>-</div><div class='del'>-	# Restore callee stack:</div><div class='del'>-	popq %r15</div><div class='del'>-	popq %r14</div><div class='del'>-	popq %r13</div><div class='del'>-	popq %r12</div><div class='del'>-	popq %rsi</div><div class='del'>-	popq %rdi</div><div class='del'>-	popq %rbx</div><div class='del'>-	popq %rbp</div><div class='del'>-</div><div class='del'>-	# Restore the thread information block:</div><div class='del'>-	popq %gs:16</div><div class='del'>-	popq %gs:8</div><div class='del'>-</div><div class='del'>-	# Put the first argument into the return value:</div><div class='del'>-	mov %rcx, %rax</div><div class='del'>-</div><div class='del'>-	# We pop the return address and jump to it:</div><div class='del'>-	ret</div><div class='del'>-</div><div class='del'>-.globl coroutine_trampoline</div><div class='del'>-coroutine_trampoline:</div><div class='del'>-	# Do not remove this. This forces 16-byte alignment when entering the coroutine.</div><div class='del'>-	ret</div><div class='head'>diff --git a/coroutine/win64/Context.asm b/coroutine/win64/Context.asm<br/>deleted file mode 100644<br/>index 59673ffa3e..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/win64/Context.asm?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win64/Context.asm</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,79 +0,0 @@</div><div class='del'>-;;</div><div class='del'>-;;  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-;;</div><div class='del'>-;;  Created by Samuel Williams on 10/5/2018.</div><div class='del'>-;;  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-;;</div><div class='del'>-</div><div class='del'>-.code</div><div class='del'>-</div><div class='del'>-coroutine_transfer proc</div><div class='del'>-	; Save the thread information block:</div><div class='del'>-	push qword ptr gs:[8]</div><div class='del'>-	push qword ptr gs:[16]</div><div class='del'>-</div><div class='del'>-	; Save caller registers:</div><div class='del'>-	push rbp</div><div class='del'>-	push rbx</div><div class='del'>-	push rdi</div><div class='del'>-	push rsi</div><div class='del'>-	push r12</div><div class='del'>-	push r13</div><div class='del'>-	push r14</div><div class='del'>-	push r15</div><div class='del'>-</div><div class='del'>-	movaps [rsp - 24], xmm6</div><div class='del'>-	movaps [rsp - 40], xmm7</div><div class='del'>-	movaps [rsp - 56], xmm8</div><div class='del'>-	movaps [rsp - 72], xmm9</div><div class='del'>-	movaps [rsp - 88], xmm10</div><div class='del'>-	movaps [rsp - 104], xmm11</div><div class='del'>-	movaps [rsp - 120], xmm12</div><div class='del'>-	movaps [rsp - 136], xmm13</div><div class='del'>-	movaps [rsp - 152], xmm14</div><div class='del'>-	movaps [rsp - 168], xmm15</div><div class='del'>-</div><div class='del'>-	; Save caller stack pointer:</div><div class='del'>-	mov [rcx], rsp</div><div class='del'>-</div><div class='del'>-	; Restore callee stack pointer:</div><div class='del'>-	mov rsp, [rdx]</div><div class='del'>-</div><div class='del'>-	movaps xmm15, [rsp - 168]</div><div class='del'>-	movaps xmm14, [rsp - 152]</div><div class='del'>-	movaps xmm13, [rsp - 136]</div><div class='del'>-	movaps xmm12, [rsp - 120]</div><div class='del'>-	movaps xmm11, [rsp - 104]</div><div class='del'>-	movaps xmm10, [rsp - 88]</div><div class='del'>-	movaps xmm9, [rsp - 72]</div><div class='del'>-	movaps xmm8, [rsp - 56]</div><div class='del'>-	movaps xmm7, [rsp - 40]</div><div class='del'>-	movaps xmm6, [rsp - 24]</div><div class='del'>-</div><div class='del'>-	; Restore callee stack:</div><div class='del'>-	pop r15</div><div class='del'>-	pop r14</div><div class='del'>-	pop r13</div><div class='del'>-	pop r12</div><div class='del'>-	pop rsi</div><div class='del'>-	pop rdi</div><div class='del'>-	pop rbx</div><div class='del'>-	pop rbp</div><div class='del'>-</div><div class='del'>-	; Restore the thread information block:</div><div class='del'>-	pop qword ptr gs:[16]</div><div class='del'>-	pop qword ptr gs:[8]</div><div class='del'>-</div><div class='del'>-	; Put the first argument into the return value:</div><div class='del'>-	mov rax, rcx</div><div class='del'>-</div><div class='del'>-	; We pop the return address and jump to it:</div><div class='del'>-	ret</div><div class='del'>-coroutine_transfer endp</div><div class='del'>-</div><div class='del'>-coroutine_trampoline proc</div><div class='del'>-	; Do not remove this. This forces 16-byte alignment when entering the coroutine.</div><div class='del'>-	ret</div><div class='del'>-coroutine_trampoline endp</div><div class='del'>-</div><div class='del'>-end</div><div class='head'>diff --git a/coroutine/win64/Context.h b/coroutine/win64/Context.h<br/>deleted file mode 100644<br/>index 16a8f583ab..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/win64/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/win64/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,72 +0,0 @@</div><div class='del'>-/*</div><div class='del'>- *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>- *</div><div class='del'>- *  Created by Samuel Williams on 10/5/2018.</div><div class='del'>- *  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __declspec(noreturn) void</div><div class='del'>-</div><div class='del'>-const size_t COROUTINE_REGISTERS = 8;</div><div class='del'>-const size_t COROUTINE_XMM_REGISTERS = 1+10*2;</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef void(* coroutine_start)(coroutine_context *from, coroutine_context *self);</div><div class='del'>-</div><div class='del'>-void coroutine_trampoline();</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    /* Force 16-byte alignment */</div><div class='del'>-    context-&gt;stack_pointer = (void**)((uintptr_t)stack_pointer &amp; ~0xF);</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    /* Win64 ABI requires space for arguments */</div><div class='del'>-    context-&gt;stack_pointer -= 4;</div><div class='del'>-</div><div class='del'>-    /* Return address */</div><div class='del'>-    *--context-&gt;stack_pointer = 0;</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)start;</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)coroutine_trampoline;</div><div class='del'>-</div><div class='del'>-    /* Windows Thread Information Block */</div><div class='del'>-    /* *--context-&gt;stack_pointer = 0; */ /* gs:[0x00] is not used */</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)stack_pointer; /* gs:[0x08] */</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)((char *)stack_pointer - stack_size);  /* gs:[0x10] */</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-    memset(context-&gt;stack_pointer - COROUTINE_XMM_REGISTERS, 0, sizeof(void*) * COROUTINE_XMM_REGISTERS);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target);</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/x86/Context.S b/coroutine/x86/Context.S<br/>deleted file mode 100644<br/>index d6a0a2def7..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/x86/Context.S?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/x86/Context.S</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,43 +0,0 @@</div><div class='del'>-##</div><div class='del'>-##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>-##</div><div class='del'>-##  Created by Samuel Williams on 3/11/2018.</div><div class='del'>-##  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-##</div><div class='del'>-</div><div class='del'>-.text</div><div class='del'>-</div><div class='del'>-.globl coroutine_transfer</div><div class='del'>-coroutine_transfer:</div><div class='del'>-</div><div class='del'>-# For older linkers</div><div class='del'>-.globl _coroutine_transfer</div><div class='del'>-_coroutine_transfer:</div><div class='del'>-</div><div class='del'>-	# Save caller registers</div><div class='del'>-	pushl %ebp</div><div class='del'>-	pushl %ebx</div><div class='del'>-	pushl %edi</div><div class='del'>-	pushl %esi</div><div class='del'>-</div><div class='del'>-	# Save caller stack pointer</div><div class='del'>-	movl %esp, (%ecx)</div><div class='del'>-</div><div class='del'>-	# Restore callee stack pointer</div><div class='del'>-	movl (%edx), %esp</div><div class='del'>-</div><div class='del'>-	# Restore callee stack</div><div class='del'>-	popl %esi</div><div class='del'>-	popl %edi</div><div class='del'>-	popl %ebx</div><div class='del'>-	popl %ebp</div><div class='del'>-</div><div class='del'>-	# Save the first argument as the return value</div><div class='del'>-	movl %ecx, %eax</div><div class='del'>-</div><div class='del'>-	# Jump to the address on the stack</div><div class='del'>-	ret</div><div class='del'>-</div><div class='del'>-#if defined(__linux__) &amp;&amp; defined(__ELF__)</div><div class='del'>-.section .note.GNU-stack,"",%progbits</div><div class='del'>-#endif</div><div class='head'>diff --git a/coroutine/x86/Context.h b/coroutine/x86/Context.h<br/>deleted file mode 100644<br/>index b077227a1d..0000000000<br/>--- a/<a href='/ruby.git/tree/coroutine/x86/Context.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coroutine/x86/Context.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,59 +0,0 @@</div><div class='del'>-/*</div><div class='del'>- *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='del'>- *</div><div class='del'>- *  Created by Samuel Williams on 3/11/2018.</div><div class='del'>- *  Copyright, 2018, by Samuel Williams. All rights reserved.</div><div class='del'>-*/</div><div class='del'>-</div><div class='del'>-#pragma once</div><div class='del'>-</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-extern "C" {</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define COROUTINE __attribute__((noreturn, fastcall)) void</div><div class='del'>-</div><div class='del'>-const size_t COROUTINE_REGISTERS = 4;</div><div class='del'>-</div><div class='del'>-typedef struct</div><div class='del'>-{</div><div class='del'>-    void **stack_pointer;</div><div class='del'>-} coroutine_context;</div><div class='del'>-</div><div class='del'>-typedef COROUTINE(* coroutine_start)(coroutine_context *from, coroutine_context *self) __attribute__((fastcall));</div><div class='del'>-</div><div class='del'>-static inline void coroutine_initialize(</div><div class='del'>-    coroutine_context *context,</div><div class='del'>-    coroutine_start start,</div><div class='del'>-    void *stack_pointer,</div><div class='del'>-    size_t stack_size</div><div class='del'>-) {</div><div class='del'>-    /* Force 16-byte alignment */</div><div class='del'>-    context-&gt;stack_pointer = (void**)((uintptr_t)stack_pointer &amp; ~0xF);</div><div class='del'>-</div><div class='del'>-    if (!start) {</div><div class='del'>-        assert(!context-&gt;stack_pointer);</div><div class='del'>-        /* We are main coroutine for this thread */</div><div class='del'>-        return;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    *--context-&gt;stack_pointer = NULL;</div><div class='del'>-    *--context-&gt;stack_pointer = (void*)start;</div><div class='del'>-</div><div class='del'>-    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='del'>-    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target) __attribute__((fastcall));</div><div class='del'>-</div><div class='del'>-static inline void coroutine_destroy(coroutine_context * context)</div><div class='del'>-{</div><div class='del'>-    context-&gt;stack_pointer = NULL;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if __cplusplus</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='head'>diff --git a/coverage/README b/coverage/README<br/>deleted file mode 100644<br/>index 7e4ff59e2a..0000000000<br/>--- a/<a href='/ruby.git/tree/coverage/README?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>coverage/README</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-Usage</div><div class='del'>-</div><div class='del'>-The make task `update-coverage' retrieves simplecov for coverage report.</div><div class='del'>-</div><div class='del'>-COVERAGE=1 make test-all TESTS=test/cgi</div><div class='del'>-</div><div class='del'>-it generate test coverage to coverage directory.</div><div class='del'>-</div><div class='del'>-Limitation</div><div class='del'>-</div><div class='del'>- * test_coverage.rb and test_process.rb broke test suit with SimpleCov</div><div class='del'>- * some tests failed randomly.</div><div class='del'>-</div><div class='del'>-TODO</div><div class='del'>-</div><div class='del'>- * more reduce bundled simplecov(additional configuration, formatter, etc)</div><div class='del'>- * measure rubyspec coverage</div><div class='head'>diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in<br/>index 192cf43b37..03208df11c 100644<br/>--- a/<a href='/ruby.git/tree/cygwin/GNUmakefile.in?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>cygwin/GNUmakefile.in</a><br/>+++ b/<a href='/ruby.git/tree/cygwin/GNUmakefile.in?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>cygwin/GNUmakefile.in</a></div><div class='hunk'>@@ -1,16 +1,14 @@</div><div class='ctx'> include Makefile</div><div class='ctx'> </div><div class='ctx'> ENABLE_SHARED=@ENABLE_SHARED@</div><div class='del'>-DLLWRAP = @DLLWRAP@ --target=@target_os@ --driver-name="$(CC)"</div><div class='del'>-WINDRES = @WINDRES@ --preprocessor="$(CPP) -xc" -DRC_INVOKED</div><div class='del'>-STRIP = @STRIP@</div><div class='add'>+DLLWRAP = @DLLWRAP@ --target=@target_os@</div><div class='ctx'> </div><div class='ctx'> ifeq (@target_os@,cygwin)</div><div class='del'>-  DLL_BASE_NAME := $(LIBRUBY_SO:.dll=)</div><div class='add'>+  DLL_BASE_NAME := $(subst .dll,,$(LIBRUBY_SO))</div><div class='ctx'> else</div><div class='ctx'>   DLL_BASE_NAME := $(RUBY_SO_NAME)</div><div class='ctx'>   DLLWRAP += -mno-cygwin</div><div class='del'>-  VPATH := $(VPATH):$(srcdir)/win32</div><div class='add'>+  VPATH += $(srcdir)/win32</div><div class='ctx'> endif</div><div class='ctx'> </div><div class='ctx'> ifneq ($(ENABLE_SHARED),yes)</div><div class='hunk'>@@ -27,15 +25,9 @@ else</div><div class='ctx'> endif</div><div class='ctx'> </div><div class='ctx'> WPROGRAM = $(RUBYW_INSTALL_NAME)$(EXEEXT)</div><div class='del'>-</div><div class='del'>--include uncommon.mk</div><div class='del'>-</div><div class='del'>-include $(srcdir)/defs/gmake.mk</div><div class='del'>-</div><div class='ctx'> SOLIBS := $(DLL_BASE_NAME).res.@OBJEXT@ $(SOLIBS)</div><div class='del'>-override EXTOBJS += $(if $(filter-out $(RUBYW_INSTALL_NAME),$(@:$(EXEEXT)=)),$(RUBY_INSTALL_NAME),$(@:$(EXEEXT)=)).res.$(OBJEXT)</div><div class='add'>+EXTOBJS += $(@:$(EXEEXT)=.res.@OBJEXT@)</div><div class='ctx'> RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc</div><div class='del'>-RUBYDEF = $(DLL_BASE_NAME).def</div><div class='ctx'> </div><div class='ctx'> ruby: $(PROGRAM)</div><div class='ctx'> rubyw: $(WPROGRAM)</div><div class='hunk'>@@ -44,63 +36,43 @@ $(LIBRUBY): $(RUBY_EXP) $(LIBRUBY_SO)</div><div class='ctx'> $(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.@OBJEXT@</div><div class='ctx'> </div><div class='ctx'> %.res.@OBJEXT@: %.rc</div><div class='del'>-	$(ECHO) compiling $@</div><div class='del'>-	$(Q) $(WINDRES) --include-dir . --include-dir $(&lt;D) --include-dir $(srcdir)/win32 $&lt; $@</div><div class='add'>+	@WINDRES@ --include-dir . --include-dir $(&lt;D) --include-dir $(srcdir)/win32 $&lt; $@</div><div class='ctx'> </div><div class='del'>-%.rc: $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/win32/resource.rb \</div><div class='add'>+$(RCFILES): $(RBCONFIG)</div><div class='add'>+	@$(MINIRUBY) $(srcdir)/win32/resource.rb \</div><div class='ctx'> 	  -ruby_name=$(RUBY_INSTALL_NAME) -rubyw_name=$(RUBYW_INSTALL_NAME) \</div><div class='del'>-	  -so_name=$(DLL_BASE_NAME) -output=$(*F) \</div><div class='add'>+	  -so_name=$(DLL_BASE_NAME) \</div><div class='ctx'> 	  . $(icondirs) $(srcdir)/win32</div><div class='ctx'> </div><div class='ctx'> $(PROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@</div><div class='ctx'> $(WPROGRAM): $(RUBYW_INSTALL_NAME).res.@OBJEXT@</div><div class='ctx'> 	@rm -f $@</div><div class='del'>-	$(ECHO) linking $@</div><div class='del'>-	$(Q) $(PURIFY) $(CC) -mwindows -e $(SYMBOL_PREFIX)mainCRTStartup $(LDFLAGS) $(XLDFLAGS) \</div><div class='add'>+	$(PURIFY) $(CC) -mwindows -e _mainCRTStartup $(LDFLAGS) $(XLDFLAGS) \</div><div class='ctx'> 	  $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@</div><div class='del'>-$(STUBPROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@</div><div class='ctx'> </div><div class='ctx'> $(RUBY_EXP): $(LIBRUBY_A)</div><div class='del'>-	$(ECHO) creating $@</div><div class='del'>-	$(Q) $(DLLWRAP) \</div><div class='add'>+	$(DLLWRAP) \</div><div class='ctx'> 	  --output-exp=$(RUBY_EXP) \</div><div class='ctx'> 	  --export-all $(LIBRUBY_A) $(LIBS) -o $(PROGRAM)</div><div class='del'>-	$(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM)</div><div class='add'>+	$(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM)</div><div class='ctx'> 	@rm -f $(PROGRAM)</div><div class='ctx'> </div><div class='ctx'> GNUmakefile:	$(srcdir)/cygwin/GNUmakefile.in</div><div class='ctx'> </div><div class='ctx'> ifeq (@target_os@,mingw32)</div><div class='del'>-$(OBJS) $(MAINOBJ): win32.h</div><div class='del'>-</div><div class='del'>-dir.$(OBJEXT) win32/win32.$(OBJEXT): win32/dir.h</div><div class='del'>-file.$(OBJEXT) win32/win32.$(OBJEXT): win32/file.h</div><div class='del'>-</div><div class='del'>-MSYS2_ARG_CONV_EXCL_PARAM = --exclude=;--name=</div><div class='del'>-</div><div class='del'>-yes-test-ruby:	 export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM)</div><div class='del'>-yes-test-all:	 export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM)</div><div class='del'>-yes-test-almost: export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM)</div><div class='del'>-</div><div class='add'>+$(OBJS) $(MAINOBJ): win32/win32.h</div><div class='ctx'> endif</div><div class='ctx'> </div><div class='del'>-$(LIBRUBY_SO): $(RUBYDEF)</div><div class='del'>-</div><div class='del'>-$(RUBYDEF): $(LIBRUBY_A) $(PREP) $(RBCONFIG)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MINIRUBY) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A)</div><div class='del'>-</div><div class='del'>-clean-local::</div><div class='del'>-	@$(RM) $(RUBYDEF)</div><div class='del'>-</div><div class='ctx'> ifeq (@target_os@,cygwin)</div><div class='del'>-cygwin-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)0.dll: $(LIBRUBY_A) $(RUBYDEF)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) @DLLWRAP@ -s --def=$(RUBYDEF) -o $@</div><div class='add'>+cygwin-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR).dll: $(LIBRUBY_A)</div><div class='add'>+	@NM@ --extern --defined $(LIBRUBY_A) | \</div><div class='add'>+	  $(MINIRUBY) -ne 'BEGIN{puts "EXPORTS"}; puts $$1+"=cyg$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)."+$$1 if / [CDT] _(.*)$$/' &gt;rubydll.def</div><div class='add'>+	@DLLWRAP@ -s --def=rubydll.def -o $@</div><div class='add'>+	@rm -f rubydll.def</div><div class='ctx'> endif</div><div class='ctx'> </div><div class='ctx'> clean-local::</div><div class='ctx'> 	@$(RM) $(RUBY_EXP) $(RCFILES:.rc=.res.@OBJEXT@)</div><div class='add'>+</div><div class='add'>+distclean-local::</div><div class='ctx'> 	@$(RM) $(RCFILES)</div><div class='head'>diff --git a/debug.c b/debug.c<br/>deleted file mode 100644<br/>index e4ad163ad1..0000000000<br/>--- a/<a href='/ruby.git/tree/debug.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>debug.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,227 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  debug.c -</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-  created at: 04/08/25 02:31:54 JST</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2004-2007 Koichi Sasada</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#include "ruby/ruby.h"</div><div class='del'>-#include "ruby/encoding.h"</div><div class='del'>-#include "ruby/io.h"</div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-#include "vm_debug.h"</div><div class='del'>-#include "eval_intern.h"</div><div class='del'>-#include "vm_core.h"</div><div class='del'>-#include "symbol.h"</div><div class='del'>-#include "id.h"</div><div class='del'>-</div><div class='del'>-/* for gdb */</div><div class='del'>-const union {</div><div class='del'>-    enum ruby_special_consts    special_consts;</div><div class='del'>-    enum ruby_value_type        value_type;</div><div class='del'>-    enum ruby_tag_type          tag_type;</div><div class='del'>-    enum node_type              node_type;</div><div class='del'>-    enum ruby_method_ids        method_ids;</div><div class='del'>-    enum ruby_id_types          id_types;</div><div class='del'>-    enum ruby_fl_type           fl_types;</div><div class='del'>-    enum ruby_encoding_consts   encoding_consts;</div><div class='del'>-    enum ruby_coderange_type    enc_coderange_types;</div><div class='del'>-    enum ruby_econv_flag_type   econv_flag_types;</div><div class='del'>-    enum ruby_robject_flags     robject_flags;</div><div class='del'>-    enum ruby_rmodule_flags     rmodule_flags;</div><div class='del'>-    enum ruby_rstring_flags     rstring_flags;</div><div class='del'>-    enum ruby_rarray_flags      rarray_flags;</div><div class='del'>-    enum {</div><div class='del'>-	RUBY_FMODE_READABLE		= FMODE_READABLE,</div><div class='del'>-	RUBY_FMODE_WRITABLE		= FMODE_WRITABLE,</div><div class='del'>-	RUBY_FMODE_READWRITE		= FMODE_READWRITE,</div><div class='del'>-	RUBY_FMODE_BINMODE		= FMODE_BINMODE,</div><div class='del'>-	RUBY_FMODE_SYNC 		= FMODE_SYNC,</div><div class='del'>-	RUBY_FMODE_TTY			= FMODE_TTY,</div><div class='del'>-	RUBY_FMODE_DUPLEX		= FMODE_DUPLEX,</div><div class='del'>-	RUBY_FMODE_APPEND		= FMODE_APPEND,</div><div class='del'>-	RUBY_FMODE_CREATE		= FMODE_CREATE,</div><div class='del'>-	RUBY_FMODE_NOREVLOOKUP		= 0x00000100,</div><div class='del'>-	RUBY_FMODE_TRUNC		= FMODE_TRUNC,</div><div class='del'>-	RUBY_FMODE_TEXTMODE		= FMODE_TEXTMODE,</div><div class='del'>-	RUBY_FMODE_PREP 		= 0x00010000,</div><div class='del'>-	RUBY_FMODE_SETENC_BY_BOM	= FMODE_SETENC_BY_BOM,</div><div class='del'>-	RUBY_FMODE_UNIX 		= 0x00200000,</div><div class='del'>-	RUBY_FMODE_INET 		= 0x00400000,</div><div class='del'>-	RUBY_FMODE_INET6		= 0x00800000,</div><div class='del'>-</div><div class='del'>-        RUBY_NODE_TYPESHIFT = NODE_TYPESHIFT,</div><div class='del'>-        RUBY_NODE_TYPEMASK  = NODE_TYPEMASK,</div><div class='del'>-        RUBY_NODE_LSHIFT    = NODE_LSHIFT,</div><div class='del'>-        RUBY_NODE_FL_NEWLINE   = NODE_FL_NEWLINE</div><div class='del'>-    } various;</div><div class='del'>-    union {</div><div class='del'>-	enum imemo_type                     types;</div><div class='del'>-	enum {RUBY_IMEMO_MASK = IMEMO_MASK} mask;</div><div class='del'>-	struct RIMemo                      *ptr;</div><div class='del'>-    } imemo;</div><div class='del'>-    struct RSymbol *symbol_ptr;</div><div class='del'>-    enum vm_call_flag_bits vm_call_flags;</div><div class='del'>-} ruby_dummy_gdb_enums;</div><div class='del'>-</div><div class='del'>-const SIGNED_VALUE RUBY_NODE_LMASK = NODE_LMASK;</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-ruby_debug_print_indent(int level, int debug_level, int indent_level)</div><div class='del'>-{</div><div class='del'>-    if (level &lt; debug_level) {</div><div class='del'>-	fprintf(stderr, "%*s", indent_level, "");</div><div class='del'>-	fflush(stderr);</div><div class='del'>-	return TRUE;</div><div class='del'>-    }</div><div class='del'>-    return FALSE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-ruby_debug_printf(const char *format, ...)</div><div class='del'>-{</div><div class='del'>-    va_list ap;</div><div class='del'>-    va_start(ap, format);</div><div class='del'>-    vfprintf(stderr, format, ap);</div><div class='del'>-    va_end(ap);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#include "gc.h"</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-ruby_debug_print_value(int level, int debug_level, const char *header, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    if (level &lt; debug_level) {</div><div class='del'>-	char buff[0x100];</div><div class='del'>-	rb_raw_obj_info(buff, 0x100, obj);</div><div class='del'>-</div><div class='del'>-	fprintf(stderr, "DBG&gt; %s: %s\n", header, buff);</div><div class='del'>-	fflush(stderr);</div><div class='del'>-    }</div><div class='del'>-    return obj;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-ruby_debug_print_v(VALUE v)</div><div class='del'>-{</div><div class='del'>-    ruby_debug_print_value(0, 1, "", v);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-ID</div><div class='del'>-ruby_debug_print_id(int level, int debug_level, const char *header, ID id)</div><div class='del'>-{</div><div class='del'>-    if (level &lt; debug_level) {</div><div class='del'>-	fprintf(stderr, "DBG&gt; %s: %s\n", header, rb_id2name(id));</div><div class='del'>-	fflush(stderr);</div><div class='del'>-    }</div><div class='del'>-    return id;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-NODE *</div><div class='del'>-ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node)</div><div class='del'>-{</div><div class='del'>-    if (level &lt; debug_level) {</div><div class='del'>-	fprintf(stderr, "DBG&gt; %s: %s (%u)\n", header,</div><div class='del'>-		ruby_node_name(nd_type(node)), nd_line(node));</div><div class='del'>-    }</div><div class='del'>-    return (NODE *)node;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-ruby_debug_breakpoint(void)</div><div class='del'>-{</div><div class='del'>-    /* */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if defined _WIN32</div><div class='del'>-# if RUBY_MSVCRT_VERSION &gt;= 80</div><div class='del'>-extern int ruby_w32_rtc_error;</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-#if defined _WIN32 || defined __CYGWIN__</div><div class='del'>-#include &lt;windows.h&gt;</div><div class='del'>-UINT ruby_w32_codepage[2];</div><div class='del'>-#endif</div><div class='del'>-extern int ruby_rgengc_debug;</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-ruby_env_debug_option(const char *str, int len, void *arg)</div><div class='del'>-{</div><div class='del'>-    int ov;</div><div class='del'>-    size_t retlen;</div><div class='del'>-    unsigned long n;</div><div class='del'>-#define SET_WHEN(name, var, val) do {	    \</div><div class='del'>-	if (len == sizeof(name) - 1 &amp;&amp;	    \</div><div class='del'>-	    strncmp(str, (name), len) == 0) { \</div><div class='del'>-	    (var) = (val);		    \</div><div class='del'>-	    return 1;			    \</div><div class='del'>-	}				    \</div><div class='del'>-    } while (0)</div><div class='del'>-#define NAME_MATCH_VALUE(name)				\</div><div class='del'>-    ((size_t)len &gt;= sizeof(name)-1 &amp;&amp;			\</div><div class='del'>-     strncmp(str, (name), sizeof(name)-1) == 0 &amp;&amp;	\</div><div class='del'>-     ((len == sizeof(name)-1 &amp;&amp; !(len = 0)) ||		\</div><div class='del'>-      (str[sizeof(name)-1] == '=' &amp;&amp;			\</div><div class='del'>-       (str += sizeof(name), len -= sizeof(name), 1))))</div><div class='del'>-#define SET_UINT(val) do { \</div><div class='del'>-	n = ruby_scan_digits(str, len, 10, &amp;retlen, &amp;ov); \</div><div class='del'>-	if (!ov &amp;&amp; retlen) { \</div><div class='del'>-	    val = (unsigned int)n; \</div><div class='del'>-	} \</div><div class='del'>-	str += retlen; \</div><div class='del'>-	len -= retlen; \</div><div class='del'>-    } while (0)</div><div class='del'>-#define SET_UINT_LIST(name, vals, num) do { \</div><div class='del'>-	int i; \</div><div class='del'>-	for (i = 0; i &lt; (num); ++i) { \</div><div class='del'>-	    SET_UINT((vals)[i]); \</div><div class='del'>-	    if (!len || *str != ':') break; \</div><div class='del'>-	    ++str; \</div><div class='del'>-	    --len; \</div><div class='del'>-	} \</div><div class='del'>-	if (len &gt; 0) { \</div><div class='del'>-	    fprintf(stderr, "ignored "name" option: `%.*s'\n", len, str); \</div><div class='del'>-	} \</div><div class='del'>-    } while (0)</div><div class='del'>-#define SET_WHEN_UINT(name, vals, num, req) \</div><div class='del'>-    if (NAME_MATCH_VALUE(name)) SET_UINT_LIST(name, vals, num);</div><div class='del'>-</div><div class='del'>-    SET_WHEN("gc_stress", *ruby_initial_gc_stress_ptr, Qtrue);</div><div class='del'>-    SET_WHEN("core", ruby_enable_coredump, 1);</div><div class='del'>-    if (NAME_MATCH_VALUE("rgengc")) {</div><div class='del'>-	if (!len) ruby_rgengc_debug = 1;</div><div class='del'>-	else SET_UINT_LIST("rgengc", &amp;ruby_rgengc_debug, 1);</div><div class='del'>-	return 1;</div><div class='del'>-    }</div><div class='del'>-#if defined _WIN32</div><div class='del'>-# if RUBY_MSVCRT_VERSION &gt;= 80</div><div class='del'>-    SET_WHEN("rtc_error", ruby_w32_rtc_error, 1);</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-#if defined _WIN32 || defined __CYGWIN__</div><div class='del'>-    if (NAME_MATCH_VALUE("codepage")) {</div><div class='del'>-	if (!len) fprintf(stderr, "missing codepage argument");</div><div class='del'>-	else SET_UINT_LIST("codepage", ruby_w32_codepage, numberof(ruby_w32_codepage));</div><div class='del'>-	return 1;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-set_debug_option(const char *str, int len, void *arg)</div><div class='del'>-{</div><div class='del'>-    if (!ruby_env_debug_option(str, len, arg)) {</div><div class='del'>-	fprintf(stderr, "unexpected debug option: %.*s\n", len, str);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-ruby_set_debug_option(const char *str)</div><div class='del'>-{</div><div class='del'>-    ruby_each_words(str, set_debug_option, 0);</div><div class='del'>-}</div><div class='head'>diff --git a/debug_counter.c b/debug_counter.c<br/>deleted file mode 100644<br/>index 8c4004af41..0000000000<br/>--- a/<a href='/ruby.git/tree/debug_counter.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>debug_counter.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,55 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  debug_counter.c -</div><div class='del'>-</div><div class='del'>-  created at: Tue Feb 21 16:51:18 2017</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2017 Koichi Sasada</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#include "debug_counter.h"</div><div class='del'>-#if USE_DEBUG_COUNTER</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;locale.h&gt;</div><div class='del'>-#include "internal.h"</div><div class='del'>-</div><div class='del'>-static const char *const debug_counter_names[] = {</div><div class='del'>-    ""</div><div class='del'>-#define RB_DEBUG_COUNTER(name) #name,</div><div class='del'>-#include "debug_counter.h"</div><div class='del'>-#undef RB_DEBUG_COUNTER</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-size_t rb_debug_counter[numberof(debug_counter_names)];</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_debug_counter_show_results(const char *msg)</div><div class='del'>-{</div><div class='del'>-    const char *env = getenv("RUBY_DEBUG_COUNTER_DISABLE");</div><div class='del'>-</div><div class='del'>-    setlocale(LC_NUMERIC, "");</div><div class='del'>-</div><div class='del'>-    if (env == NULL || strcmp("1", env) != 0) {</div><div class='del'>-	int i;</div><div class='del'>-        fprintf(stderr, "[RUBY_DEBUG_COUNTER]\t%d %s\n", getpid(), msg);</div><div class='del'>-	for (i=0; i&lt;RB_DEBUG_COUNTER_MAX; i++) {</div><div class='del'>-            fprintf(stderr, "[RUBY_DEBUG_COUNTER]\t%-30s\t%'14"PRIuSIZE"\n",</div><div class='del'>-		    debug_counter_names[i],</div><div class='del'>-		    rb_debug_counter[i]);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-__attribute__((destructor))</div><div class='del'>-static void</div><div class='del'>-debug_counter_show_results_at_exit(void)</div><div class='del'>-{</div><div class='del'>-    rb_debug_counter_show_results("normal exit.");</div><div class='del'>-}</div><div class='del'>-#else</div><div class='del'>-void</div><div class='del'>-rb_debug_counter_show_results(const char *msg)</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-#endif /* USE_DEBUG_COUNTER */</div><div class='head'>diff --git a/debug_counter.h b/debug_counter.h<br/>deleted file mode 100644<br/>index bd03204af4..0000000000<br/>--- a/<a href='/ruby.git/tree/debug_counter.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>debug_counter.h</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,283 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  debug_counter.h -</div><div class='del'>-</div><div class='del'>-  created at: Tue Feb 21 16:51:18 2017</div><div class='del'>-</div><div class='del'>-  Copyright (C) 2017 Koichi Sasada</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#ifndef USE_DEBUG_COUNTER</div><div class='del'>-#define USE_DEBUG_COUNTER 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef RB_DEBUG_COUNTER</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * method cache (mc) counts.</div><div class='del'>- *</div><div class='del'>- * * mc_inline_hit/miss: inline mc hit/miss counts (VM send insn)</div><div class='del'>- * * mc_global_hit/miss: global method cache hit/miss counts</div><div class='del'>- *                       two types: (1) inline cache miss (VM send insn)</div><div class='del'>- *                                  (2) called from C (rb_funcall).</div><div class='del'>- * * mc_global_state_miss: inline mc miss by global_state miss.</div><div class='del'>- * * mc_class_serial_miss:            ... by mc_class_serial_miss</div><div class='del'>- * * mc_cme_complement: cme complement counts.</div><div class='del'>- * * mc_cme_complement_hit: cme cache hit counts.</div><div class='del'>- * * mc_search_super: search_method() call counts.</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(mc_inline_hit)</div><div class='del'>-RB_DEBUG_COUNTER(mc_inline_miss)</div><div class='del'>-RB_DEBUG_COUNTER(mc_global_hit)</div><div class='del'>-RB_DEBUG_COUNTER(mc_global_miss)</div><div class='del'>-RB_DEBUG_COUNTER(mc_global_state_miss)</div><div class='del'>-RB_DEBUG_COUNTER(mc_class_serial_miss)</div><div class='del'>-RB_DEBUG_COUNTER(mc_cme_complement)</div><div class='del'>-RB_DEBUG_COUNTER(mc_cme_complement_hit)</div><div class='del'>-RB_DEBUG_COUNTER(mc_search_super)</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * control frame push counts.</div><div class='del'>- *</div><div class='del'>- * * frame_push: frame push counts.</div><div class='del'>- * * frame_push_*: frame push counts per each type.</div><div class='del'>- * * frame_R2R: Ruby frame to Ruby frame</div><div class='del'>- * * frame_R2C: Ruby frame to C frame</div><div class='del'>- * * frame_C2C: C frame to C frame</div><div class='del'>- * * frame_C2R: C frame to Ruby frame</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(frame_push)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_method)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_block)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_class)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_top)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_cfunc)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_ifunc)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_eval)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_rescue)</div><div class='del'>-RB_DEBUG_COUNTER(frame_push_dummy)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(frame_R2R)</div><div class='del'>-RB_DEBUG_COUNTER(frame_R2C)</div><div class='del'>-RB_DEBUG_COUNTER(frame_C2C)</div><div class='del'>-RB_DEBUG_COUNTER(frame_C2R)</div><div class='del'>-</div><div class='del'>-/* instance variable counts</div><div class='del'>- *</div><div class='del'>- * * ivar_get_ic_hit/miss: ivar_get inline cache (ic) hit/miss counts (VM insn)</div><div class='del'>- * * ivar_get_ic_miss_serial: ivar_get ic miss reason by serial (VM insn)</div><div class='del'>- * * ivar_get_ic_miss_unset:                      ... by unset (VM insn)</div><div class='del'>- * * ivar_get_ic_miss_noobject:                   ... by "not T_OBJECT" (VM insn)</div><div class='del'>- * * ivar_set_...: same counts with ivar_set (VM insn)</div><div class='del'>- * * ivar_get/set_base: call counts of "rb_ivar_get/set()".</div><div class='del'>- *                      because of (1) ic miss.</div><div class='del'>- *                                 (2) direct call by C extensions.</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(ivar_get_ic_hit)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_get_ic_miss)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_get_ic_miss_serial)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_get_ic_miss_unset)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_get_ic_miss_noobject)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_ic_hit)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_ic_miss)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_ic_miss_serial)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_ic_miss_unset)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_ic_miss_oorange)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_get_base)</div><div class='del'>-RB_DEBUG_COUNTER(ivar_set_base)</div><div class='del'>-</div><div class='del'>-/* local variable counts</div><div class='del'>- *</div><div class='del'>- * * lvar_get: total lvar get counts (VM insn)</div><div class='del'>- * * lvar_get_dynamic: lvar get counts if accessing upper env (VM insn)</div><div class='del'>- * * lvar_set*: same as "get"</div><div class='del'>- * * lvar_set_slowpath: counts using vm_env_write_slowpath()</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(lvar_get)</div><div class='del'>-RB_DEBUG_COUNTER(lvar_get_dynamic)</div><div class='del'>-RB_DEBUG_COUNTER(lvar_set)</div><div class='del'>-RB_DEBUG_COUNTER(lvar_set_dynamic)</div><div class='del'>-RB_DEBUG_COUNTER(lvar_set_slowpath)</div><div class='del'>-</div><div class='del'>-/* GC counts:</div><div class='del'>- *</div><div class='del'>- * * count: simple count</div><div class='del'>- * * _minor: minor gc</div><div class='del'>- * * _major: major gc</div><div class='del'>- * * other suffix is corresponding to last_gc_info or</div><div class='del'>- *   gc_profile_record_flag in gc.c.</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(gc_count)</div><div class='del'>-RB_DEBUG_COUNTER(gc_minor_newobj)</div><div class='del'>-RB_DEBUG_COUNTER(gc_minor_malloc)</div><div class='del'>-RB_DEBUG_COUNTER(gc_minor_method)</div><div class='del'>-RB_DEBUG_COUNTER(gc_minor_capi)</div><div class='del'>-RB_DEBUG_COUNTER(gc_minor_stress)</div><div class='del'>-RB_DEBUG_COUNTER(gc_major_nofree)</div><div class='del'>-RB_DEBUG_COUNTER(gc_major_oldgen)</div><div class='del'>-RB_DEBUG_COUNTER(gc_major_shady)</div><div class='del'>-RB_DEBUG_COUNTER(gc_major_force)</div><div class='del'>-RB_DEBUG_COUNTER(gc_major_oldmalloc)</div><div class='del'>-</div><div class='del'>-/* object allocation counts:</div><div class='del'>- *</div><div class='del'>- * * obj_newobj: newobj counts</div><div class='del'>- * * obj_newobj_slowpath: newobj with slowpath counts</div><div class='del'>- * * obj_newobj_wb_unprotected: newobj for wb_unprotecte.</div><div class='del'>- * * obj_free: obj_free() counts</div><div class='del'>- * * obj_promote: promoted counts (oldgen)</div><div class='del'>- * * obj_wb_unprotect: wb unprotect counts</div><div class='del'>- *</div><div class='del'>- * * obj_[type]_[attr]: *free'ed counts* for each type.</div><div class='del'>- *                      Note that it is not a allocated counts.</div><div class='del'>- * * [type]</div><div class='del'>- *   * _obj: T_OBJECT</div><div class='del'>- *   * _str: T_STRING</div><div class='del'>- *   * _ary: T_ARRAY</div><div class='del'>- *   * _xxx: T_XXX (hash, struct, ...)</div><div class='del'>- *</div><div class='del'>- * * [attr]</div><div class='del'>- *   * _ptr: R?? is not embed.</div><div class='del'>- *   * _embed: R?? is embed.</div><div class='del'>- *   * _transient: R?? uses transient heap.</div><div class='del'>- * * type specific attr.</div><div class='del'>- *   * str_shared: str is shared.</div><div class='del'>- *   * str_nofree:        nofree</div><div class='del'>- *   * str_fstr:          fstr</div><div class='del'>- *   * hash_empty: hash is empty</div><div class='del'>- *   * hash_under4:     has under 4 entries</div><div class='del'>- *   * hash_ge4:        has n entries (4&lt;=n&lt;8)</div><div class='del'>- *   * hash_ge8:        has n entries (8&lt;=n)</div><div class='del'>- *   * data_empty: T_DATA but no memory free.</div><div class='del'>- *   * data_xfree:        free'ed by xfree().</div><div class='del'>- *   * data_imm_free:     free'ed immediately.</div><div class='del'>- *   * data_zombie:       free'ed with zombie.</div><div class='del'>- *   * imemo_*: T_IMEMO with each type.</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(obj_newobj)</div><div class='del'>-RB_DEBUG_COUNTER(obj_newobj_slowpath)</div><div class='del'>-RB_DEBUG_COUNTER(obj_newobj_wb_unprotected)</div><div class='del'>-RB_DEBUG_COUNTER(obj_free)</div><div class='del'>-RB_DEBUG_COUNTER(obj_promote)</div><div class='del'>-RB_DEBUG_COUNTER(obj_wb_unprotect)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_obj_embed)</div><div class='del'>-RB_DEBUG_COUNTER(obj_obj_transient)</div><div class='del'>-RB_DEBUG_COUNTER(obj_obj_ptr)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_str_ptr)</div><div class='del'>-RB_DEBUG_COUNTER(obj_str_embed)</div><div class='del'>-RB_DEBUG_COUNTER(obj_str_shared)</div><div class='del'>-RB_DEBUG_COUNTER(obj_str_nofree)</div><div class='del'>-RB_DEBUG_COUNTER(obj_str_fstr)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_ary_embed)</div><div class='del'>-RB_DEBUG_COUNTER(obj_ary_transient)</div><div class='del'>-RB_DEBUG_COUNTER(obj_ary_ptr)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_empty)</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_under4)</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_ge4)</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_ge8)</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_ar)</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_st)</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_transient)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_hash_force_convert)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_struct_embed)</div><div class='del'>-RB_DEBUG_COUNTER(obj_struct_transient)</div><div class='del'>-RB_DEBUG_COUNTER(obj_struct_ptr)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_regexp_ptr)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_data_empty)</div><div class='del'>-RB_DEBUG_COUNTER(obj_data_xfree)</div><div class='del'>-RB_DEBUG_COUNTER(obj_data_imm_free)</div><div class='del'>-RB_DEBUG_COUNTER(obj_data_zombie)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_match_ptr)</div><div class='del'>-RB_DEBUG_COUNTER(obj_file_ptr)</div><div class='del'>-RB_DEBUG_COUNTER(obj_bignum_ptr)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_symbol)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_ment)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_iseq)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_env)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_tmpbuf)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_ast)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_cref)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_svar)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_throw_data)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_ifunc)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_memo)</div><div class='del'>-RB_DEBUG_COUNTER(obj_imemo_parser_strterm)</div><div class='del'>-</div><div class='del'>-RB_DEBUG_COUNTER(obj_iclass_ptr)</div><div class='del'>-RB_DEBUG_COUNTER(obj_class_ptr)</div><div class='del'>-RB_DEBUG_COUNTER(obj_module_ptr)</div><div class='del'>-</div><div class='del'>-/* heap function counts</div><div class='del'>- *</div><div class='del'>- * * heap_xmalloc/realloc/xfree: call counts</div><div class='del'>- */</div><div class='del'>-RB_DEBUG_COUNTER(heap_xmalloc)</div><div class='del'>-RB_DEBUG_COUNTER(heap_xrealloc)</div><div class='del'>-RB_DEBUG_COUNTER(heap_xfree)</div><div class='del'>-</div><div class='del'>-/* transient_heap */</div><div class='del'>-RB_DEBUG_COUNTER(theap_alloc)</div><div class='del'>-RB_DEBUG_COUNTER(theap_alloc_fail)</div><div class='del'>-RB_DEBUG_COUNTER(theap_evacuate)</div><div class='del'>-</div><div class='del'>-/* load (not implemented yet) */</div><div class='del'>-/*</div><div class='del'>-RB_DEBUG_COUNTER(load_files)</div><div class='del'>-RB_DEBUG_COUNTER(load_path_is_not_realpath)</div><div class='del'>-*/</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifndef RUBY_DEBUG_COUNTER_H</div><div class='del'>-#define RUBY_DEBUG_COUNTER_H 1</div><div class='del'>-</div><div class='del'>-#if !defined(__GNUC__) &amp;&amp; USE_DEBUG_COUNTER</div><div class='del'>-#error "USE_DEBUG_COUNTER is not supported by other than __GNUC__"</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-enum rb_debug_counter_type {</div><div class='del'>-#define RB_DEBUG_COUNTER(name) RB_DEBUG_COUNTER_##name,</div><div class='del'>-#include __FILE__</div><div class='del'>-    RB_DEBUG_COUNTER_MAX</div><div class='del'>-#undef RB_DEBUG_COUNTER</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-#if USE_DEBUG_COUNTER</div><div class='del'>-#include "ruby/ruby.h"</div><div class='del'>-</div><div class='del'>-extern size_t rb_debug_counter[];</div><div class='del'>-</div><div class='del'>-inline static int</div><div class='del'>-rb_debug_counter_add(enum rb_debug_counter_type type, int add, int cond)</div><div class='del'>-{</div><div class='del'>-    if (cond) {</div><div class='del'>-	rb_debug_counter[(int)type] += add;</div><div class='del'>-    }</div><div class='del'>-    return cond;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define RB_DEBUG_COUNTER_INC(type)                rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)</div><div class='del'>-#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))</div><div class='del'>-#define RB_DEBUG_COUNTER_INC_IF(type, cond)       rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, (cond))</div><div class='del'>-</div><div class='del'>-#else</div><div class='del'>-#define RB_DEBUG_COUNTER_INC(type)              ((void)0)</div><div class='del'>-#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (cond)</div><div class='del'>-#define RB_DEBUG_COUNTER_INC_IF(type, cond)     (cond)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-void rb_debug_counter_show_results(const char *msg);</div><div class='del'>-</div><div class='del'>-#endif /* RUBY_DEBUG_COUNTER_H */</div><div class='head'>diff --git a/defines.h b/defines.h<br/>new file mode 100644<br/>index 0000000000..e649860d80<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/defines.h?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>defines.h</a></div><div class='hunk'>@@ -0,0 +1,259 @@</div><div class='add'>+/************************************************</div><div class='add'>+</div><div class='add'>+  defines.h -</div><div class='add'>+</div><div class='add'>+  $Author$</div><div class='add'>+  $Date$</div><div class='add'>+  created at: Wed May 18 00:21:44 JST 1994</div><div class='add'>+</div><div class='add'>+************************************************/</div><div class='add'>+#ifndef DEFINES_H</div><div class='add'>+#define DEFINES_H</div><div class='add'>+</div><div class='add'>+#define RUBY</div><div class='add'>+</div><div class='add'>+#ifdef __cplusplus</div><div class='add'>+# ifndef  HAVE_PROTOTYPES</div><div class='add'>+#  define HAVE_PROTOTYPES 1</div><div class='add'>+# endif</div><div class='add'>+# ifndef  HAVE_STDARG_PROTOTYPES</div><div class='add'>+#  define HAVE_STDARG_PROTOTYPES 1</div><div class='add'>+# endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#undef _</div><div class='add'>+#ifdef HAVE_PROTOTYPES</div><div class='add'>+# define _(args) args</div><div class='add'>+#else</div><div class='add'>+# define _(args) ()</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#undef __</div><div class='add'>+#ifdef HAVE_STDARG_PROTOTYPES</div><div class='add'>+# define __(args) args</div><div class='add'>+#else</div><div class='add'>+# define __(args) ()</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef __cplusplus</div><div class='add'>+#define ANYARGS ...</div><div class='add'>+#else</div><div class='add'>+#define ANYARGS</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define xmalloc ruby_xmalloc</div><div class='add'>+#define xcalloc ruby_xcalloc</div><div class='add'>+#define xrealloc ruby_xrealloc</div><div class='add'>+#define xfree ruby_xfree</div><div class='add'>+</div><div class='add'>+void *xmalloc _((long));</div><div class='add'>+void *xcalloc _((long,long));</div><div class='add'>+void *xrealloc _((void*,long));</div><div class='add'>+void xfree _((void*));</div><div class='add'>+</div><div class='add'>+#if SIZEOF_LONG_LONG &gt; 0</div><div class='add'>+# define LONG_LONG long long</div><div class='add'>+#elif SIZEOF___INT64 &gt; 0</div><div class='add'>+# define HAVE_LONG_LONG 1</div><div class='add'>+# define LONG_LONG __int64</div><div class='add'>+# undef SIZEOF_LONG_LONG</div><div class='add'>+# define SIZEOF_LONG_LONG SIZEOF___INT64</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if SIZEOF_INT*2 &lt;= SIZEOF_LONG_LONG</div><div class='add'>+# define BDIGIT unsigned int</div><div class='add'>+# define SIZEOF_BDIGITS SIZEOF_INT</div><div class='add'>+# define BDIGIT_DBL unsigned LONG_LONG</div><div class='add'>+# define BDIGIT_DBL_SIGNED LONG_LONG</div><div class='add'>+#elif SIZEOF_INT*2 &lt;= SIZEOF_LONG</div><div class='add'>+# define BDIGIT unsigned int</div><div class='add'>+# define SIZEOF_BDIGITS SIZEOF_INT</div><div class='add'>+# define BDIGIT_DBL unsigned long</div><div class='add'>+# define BDIGIT_DBL_SIGNED long</div><div class='add'>+#elif SIZEOF_SHORT*2 &lt;= SIZEOF_LONG</div><div class='add'>+# define BDIGIT unsigned short</div><div class='add'>+# define SIZEOF_BDIGITS SIZEOF_SHORT</div><div class='add'>+# define BDIGIT_DBL unsigned long</div><div class='add'>+# define BDIGIT_DBL_SIGNED long</div><div class='add'>+#else</div><div class='add'>+# define BDIGIT unsigned short</div><div class='add'>+# define SIZEOF_BDIGITS (SIZEOF_LONG/2)</div><div class='add'>+# define BDIGIT_DBL unsigned long</div><div class='add'>+# define BDIGIT_DBL_SIGNED long</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef __CYGWIN__</div><div class='add'>+#undef _WIN32</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(MSDOS) || defined(_WIN32) || defined(__human68k__) || defined(__EMX__)</div><div class='add'>+#define DOSISH 1</div><div class='add'>+#ifndef _WIN32_WCE</div><div class='add'>+# define DOSISH_DRIVE_LETTER</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/* define RUBY_USE_EUC/SJIS for default kanji-code */</div><div class='add'>+#ifndef DEFAULT_KCODE</div><div class='add'>+#if defined(DOSISH) || defined(__CYGWIN__) || defined(__MACOS__) || defined(OS2)</div><div class='add'>+#define DEFAULT_KCODE KCODE_SJIS</div><div class='add'>+#else</div><div class='add'>+#define DEFAULT_KCODE KCODE_EUC</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef __NeXT__</div><div class='add'>+/* NextStep, OpenStep, Rhapsody */</div><div class='add'>+#ifndef S_IRUSR</div><div class='add'>+#define S_IRUSR 0000400        /* read permission, owner */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IRGRP</div><div class='add'>+#define S_IRGRP 0000040        /* read permission, group */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IROTH</div><div class='add'>+#define S_IROTH 0000004        /* read permission, other */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IWUSR</div><div class='add'>+#define S_IWUSR 0000200        /* write permission, owner */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IWGRP</div><div class='add'>+#define S_IWGRP 0000020        /* write permission, group */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IWOTH</div><div class='add'>+#define S_IWOTH 0000002        /* write permission, other */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IXUSR</div><div class='add'>+#define S_IXUSR 0000100        /* execute/search permission, owner */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IXGRP</div><div class='add'>+#define S_IXGRP 0000010        /* execute/search permission, group */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IXOTH</div><div class='add'>+#define S_IXOTH 0000001        /* execute/search permission, other */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IRWXU</div><div class='add'>+#define S_IRWXU 0000700        /* read, write, execute permissions, owner */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IRWXG</div><div class='add'>+#define S_IRWXG 0000070        /* read, write, execute permissions, group */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_IRWXO</div><div class='add'>+#define S_IRWXO 0000007        /* read, write, execute permissions, other */</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_ISBLK</div><div class='add'>+#define S_ISBLK(mode)  (((mode) &amp; (0170000)) == (0060000))</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_ISCHR</div><div class='add'>+#define S_ISCHR(mode)  (((mode) &amp; (0170000)) == (0020000))</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_ISDIR</div><div class='add'>+#define S_ISDIR(mode)  (((mode) &amp; (0170000)) == (0040000))</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_ISFIFO</div><div class='add'>+#define S_ISFIFO(mode) (((mode) &amp; (0170000)) == (0010000))</div><div class='add'>+#endif</div><div class='add'>+#ifndef S_ISREG</div><div class='add'>+#define S_ISREG(mode)  (((mode) &amp; (0170000)) == (0100000))</div><div class='add'>+#endif</div><div class='add'>+/* Do not trust WORDS_BIGENDIAN from configure since -arch compiler flag may</div><div class='add'>+   result in a different endian.  Instead trust __BIG_ENDIAN__ and</div><div class='add'>+   __LITTLE_ENDIAN__ which are set correctly by -arch. */</div><div class='add'>+#undef WORDS_BIGENDIAN</div><div class='add'>+#ifdef __BIG_ENDIAN__</div><div class='add'>+#define WORDS_BIGENDIAN</div><div class='add'>+#endif</div><div class='add'>+#ifndef __APPLE__</div><div class='add'>+/* NextStep, OpenStep (but not Rhapsody) */</div><div class='add'>+#ifndef GETPGRP_VOID</div><div class='add'>+#define GETPGRP_VOID 1</div><div class='add'>+#endif</div><div class='add'>+#ifndef WNOHANG</div><div class='add'>+#define WNOHANG 01</div><div class='add'>+#endif</div><div class='add'>+#ifndef WUNTRACED</div><div class='add'>+#define WUNTRACED 02</div><div class='add'>+#endif</div><div class='add'>+#ifndef X_OK</div><div class='add'>+#define X_OK 1</div><div class='add'>+#endif</div><div class='add'>+#endif /* __APPLE__ */</div><div class='add'>+#endif /* NeXT */</div><div class='add'>+</div><div class='add'>+#ifdef _WIN32</div><div class='add'>+#include "win32/win32.h"</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(__VMS)</div><div class='add'>+#include "vms.h"</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(__BEOS__)</div><div class='add'>+#include &lt;net/socket.h&gt; /* intern.h needs fd_set definition */</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef RUBY_EXPORT</div><div class='add'>+#undef RUBY_EXTERN</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef RUBY_EXTERN</div><div class='add'>+#define RUBY_EXTERN extern</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef EXTERN</div><div class='add'>+#define EXTERN RUBY_EXTERN	/* deprecated */</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(sparc) || defined(__sparc__)</div><div class='add'>+static inline void</div><div class='add'>+flush_register_windows(void)</div><div class='add'>+{</div><div class='add'>+    asm</div><div class='add'>+#ifdef __GNUC__</div><div class='add'>+	volatile</div><div class='add'>+#endif</div><div class='add'>+# if defined(__sparc_v9__) || defined(__sparcv9) || defined(__arch64__)</div><div class='add'>+	("flushw")</div><div class='add'>+# elif defined(linux) || defined(__linux__)</div><div class='add'>+	("ta  0x83")</div><div class='add'>+# else /* Solaris, OpenBSD, NetBSD, etc. */</div><div class='add'>+	("ta  0x03")</div><div class='add'>+# endif /* trap always to flush register windows if we are on a Sparc system */</div><div class='add'>+	;</div><div class='add'>+}</div><div class='add'>+#  define FLUSH_REGISTER_WINDOWS flush_register_windows()</div><div class='add'>+#elif defined(__ia64)</div><div class='add'>+void *rb_ia64_bsp(void);</div><div class='add'>+void rb_ia64_flushrs(void);</div><div class='add'>+#  define FLUSH_REGISTER_WINDOWS rb_ia64_flushrs()</div><div class='add'>+#else</div><div class='add'>+#  define FLUSH_REGISTER_WINDOWS ((void)0)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(DOSISH)</div><div class='add'>+#define PATH_SEP ";"</div><div class='add'>+#elif defined(riscos)</div><div class='add'>+#define PATH_SEP ","</div><div class='add'>+#else</div><div class='add'>+#define PATH_SEP ":"</div><div class='add'>+#endif</div><div class='add'>+#define PATH_SEP_CHAR PATH_SEP[0]</div><div class='add'>+</div><div class='add'>+#if defined(__human68k__)</div><div class='add'>+#define PATH_ENV "path"</div><div class='add'>+#else</div><div class='add'>+#define PATH_ENV "PATH"</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(DOSISH) &amp;&amp; !defined(__human68k__) &amp;&amp; !defined(__EMX__)</div><div class='add'>+#define ENV_IGNORECASE</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef DLEXT_MAXLEN</div><div class='add'>+#define DLEXT_MAXLEN 4</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef RUBY_PLATFORM</div><div class='add'>+#define RUBY_PLATFORM "unknown-unknown"</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#endif</div><div class='head'>diff --git a/defs/gmake.mk b/defs/gmake.mk<br/>deleted file mode 100644<br/>index 72955c5ce1..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/gmake.mk?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/gmake.mk</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,205 +0,0 @@</div><div class='del'>-# -*- makefile-gmake -*-</div><div class='del'>-gnumake = yes</div><div class='del'>-override gnumake_recursive := $(if $(findstring n,$(firstword $(MFLAGS))),,+)</div><div class='del'>-override mflags := $(filter-out -j%,$(MFLAGS))</div><div class='del'>-MSPECOPT += $(if $(filter -j%,$(MFLAGS)),-j)</div><div class='del'>-</div><div class='del'>-CHECK_TARGETS := great exam love check test check% test% btest%</div><div class='del'>-# expand test targets, and those dependents</div><div class='del'>-TEST_TARGETS := $(filter $(CHECK_TARGETS),$(MAKECMDGOALS))</div><div class='del'>-TEST_DEPENDS := $(filter-out commit $(TEST_TARGETS),$(MAKECMDGOALS))</div><div class='del'>-TEST_TARGETS := $(patsubst great,exam,$(TEST_TARGETS))</div><div class='del'>-TEST_DEPENDS := $(filter-out great $(TEST_TARGETS),$(TEST_DEPENDS))</div><div class='del'>-TEST_TARGETS := $(patsubst exam,check,$(TEST_TARGETS))</div><div class='del'>-TEST_TARGETS := $(patsubst check,test-spec test-all,$(TEST_TARGETS))</div><div class='del'>-TEST_TARGETS := $(patsubst test-rubyspec,test-spec,$(TEST_TARGETS))</div><div class='del'>-TEST_DEPENDS := $(filter-out exam check test-spec $(TEST_TARGETS),$(TEST_DEPENDS))</div><div class='del'>-TEST_TARGETS := $(patsubst love,check,$(TEST_TARGETS))</div><div class='del'>-TEST_DEPENDS := $(filter-out love $(TEST_TARGETS),$(TEST_DEPENDS))</div><div class='del'>-TEST_TARGETS := $(patsubst test-all,test test-testframework test-almost,$(patsubst check-%,test test-%,$(TEST_TARGETS)))</div><div class='del'>-TEST_DEPENDS := $(filter-out test-all $(TEST_TARGETS),$(TEST_DEPENDS))</div><div class='del'>-TEST_TARGETS := $(patsubst test,test-short,$(TEST_TARGETS))</div><div class='del'>-TEST_DEPENDS := $(filter-out test $(TEST_TARGETS),$(TEST_DEPENDS))</div><div class='del'>-TEST_TARGETS := $(patsubst test-short,btest-ruby test-knownbug test-basic,$(TEST_TARGETS))</div><div class='del'>-TEST_DEPENDS := $(filter-out test-short $(TEST_TARGETS),$(TEST_DEPENDS))</div><div class='del'>-TEST_DEPENDS += $(if $(filter great exam love check,$(MAKECMDGOALS)),all exts)</div><div class='del'>-</div><div class='del'>-ifneq ($(filter -O0 -Od,$(optflags)),)</div><div class='del'>-override XCFLAGS := $(filter-out -D_FORTIFY_SOURCE=%,$(XCFLAGS))</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ifeq ($(if $(filter all main exts enc trans libencs libenc libtrans \</div><div class='del'>-		    prog program ruby ruby$(EXEEXT) \</div><div class='del'>-		    wprogram rubyw rubyw$(EXEEXT) \</div><div class='del'>-		    miniruby$(EXEEXT) mini,\</div><div class='del'>-	     $(MAKECMDGOALS)),,$(MAKECMDGOALS)),)</div><div class='del'>--include $(SHOWFLAGS)</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ifneq ($(filter universal-%,$(arch)),)</div><div class='del'>-define archcmd</div><div class='del'>-%.$(1).S: %.c</div><div class='del'>-	@$$(ECHO) translating $$&lt; with $(2)</div><div class='del'>-	$$(Q) $$(CC) $$(CFLAGS_NO_ARCH) $(2) $$(XCFLAGS) $$(CPPFLAGS) $$(COUTFLAG)$$@ -S $$&lt;</div><div class='del'>-</div><div class='del'>-%.S: %.$(1).S</div><div class='del'>-</div><div class='del'>-%.$(1).i: %.c</div><div class='del'>-	@$$(ECHO) preprocessing $$&lt; with $(2)</div><div class='del'>-	$$(Q) $$(CPP) $$(warnflags) $(2) $$(XCFLAGS) $$(CPPFLAGS) $$(COUTFLAG)$$@ -E $$&lt; &gt; $$@</div><div class='del'>-</div><div class='del'>-%.i: %.$(1).i</div><div class='del'>-endef</div><div class='del'>-</div><div class='del'>-$(foreach arch,$(arch_flags),\</div><div class='del'>-	$(eval $(call archcmd,$(patsubst -arch=%,%,$(value arch)),$(patsubst -arch=%,-arch %,$(value arch)))))</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-.PHONY: $(addprefix yes-,$(TEST_TARGETS))</div><div class='del'>-</div><div class='del'>-ifneq ($(filter-out btest%,$(TEST_TARGETS)),)</div><div class='del'>-$(addprefix yes-,$(TEST_TARGETS)): $(TEST_DEPENDS)</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ORDERED_TEST_TARGETS := $(filter $(TEST_TARGETS), \</div><div class='del'>-	btest-ruby test-knownbug test-basic \</div><div class='del'>-	test-testframework test-ruby test-almost test-all \</div><div class='del'>-	test-spec test-bundler-prepare test-bundler \</div><div class='del'>-	)</div><div class='del'>-prev_test := $(if $(filter test-spec,$(ORDERED_TEST_TARGETS)),test-spec-precheck)</div><div class='del'>-$(foreach test,$(ORDERED_TEST_TARGETS), \</div><div class='del'>-	$(eval yes-$(value test) no-$(value test): $(value prev_test)); \</div><div class='del'>-	$(eval prev_test := $(value test)))</div><div class='del'>-</div><div class='del'>-ifneq ($(if $(filter install,$(MAKECMDGOALS)),$(filter uninstall,$(MAKECMDGOALS))),)</div><div class='del'>-install-targets := $(filter install uninstall,$(MAKECMDGOALS))</div><div class='del'>-$(word 1,$(install-targets)): $(word 0,$(install-targets))</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ifneq ($(filter reinstall,$(MAKECMDGOALS)),)</div><div class='del'>-install-prereq: uninstall</div><div class='del'>-uninstall sudo-precheck: all $(if $(filter all,$(INSTALLDOC)),docs)</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ifneq ($(filter love,$(MAKECMDGOALS)),)</div><div class='del'>-showflags: up</div><div class='del'>-sudo-precheck: test yes-test-testframework no-test-testframework</div><div class='del'>-install-prereq: sudo-precheck</div><div class='del'>-yes-test-all no-test-all: install</div><div class='del'>-yes-test-almost no-test-almost: install</div><div class='del'>-endif</div><div class='del'>-ifneq ($(filter great,$(MAKECMDGOALS)),)</div><div class='del'>-love: test-rubyspec</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-$(srcdir)/missing/des_tables.c: $(srcdir)/missing/crypt.c</div><div class='del'>-ifeq ($(if $(filter yes,$(CROSS_COMPILING)),,$(CC)),)</div><div class='del'>-	touch $@</div><div class='del'>-else</div><div class='del'>-	@$(ECHO) building make_des_table</div><div class='del'>-	$(CC) $(CPPFLAGS) -DDUMP $(LDFLAGS) $(XLDFLAGS) $(LIBS) -omake_des_table $(srcdir)/missing/crypt.c</div><div class='del'>-	@[ -x ./make_des_table ]</div><div class='del'>-	@$(ECHO) generating $@</div><div class='del'>-	$(Q) $(MAKEDIRS) $(@D)</div><div class='del'>-	$(Q) ./make_des_table &gt; $@.new</div><div class='del'>-	$(Q) mv $@.new $@</div><div class='del'>-	$(Q) $(RMALL) make_des_table*</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-STUBPROGRAM = rubystub$(EXEEXT)</div><div class='del'>-IGNOREDPATTERNS = %~ .% %.orig %.rej \#%\#</div><div class='del'>-SCRIPTBINDIR := $(if $(EXEEXT),,exec/)</div><div class='del'>-SCRIPTPROGRAMS = $(addprefix $(SCRIPTBINDIR),$(addsuffix $(EXEEXT),$(filter-out $(IGNOREDPATTERNS),$(notdir $(wildcard $(srcdir)/libexec/*)))))</div><div class='del'>-</div><div class='del'>-stub: $(STUBPROGRAM)</div><div class='del'>-scriptbin: $(SCRIPTPROGRAMS)</div><div class='del'>-ifneq ($(STUBPROGRAM),rubystub)</div><div class='del'>-rubystub: $(STUBPROGRAM)</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-$(SCRIPTPROGRAMS): $(STUBPROGRAM)</div><div class='del'>-</div><div class='del'>-$(STUBPROGRAM): rubystub.$(OBJEXT) $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)</div><div class='del'>-</div><div class='del'>-rubystub$(EXEEXT):</div><div class='del'>-	@rm -f $@</div><div class='del'>-	$(ECHO) linking $@</div><div class='del'>-	$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) rubystub.$(OBJEXT) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@</div><div class='del'>-	$(Q) $(POSTLINK)</div><div class='del'>-	$(if $(STRIP),$(Q) $(STRIP) $@)</div><div class='del'>-</div><div class='del'>-$(SCRIPTBINDIR)%$(EXEEXT): bin/% $(STUBPROGRAM) \</div><div class='del'>-			   $(if $(SCRIPTBINDIR),$(TIMESTAMPDIR)/.exec.time)</div><div class='del'>-	$(ECHO) generating $@</div><div class='del'>-	$(Q) { cat $(STUBPROGRAM); echo; sed -e '1{' -e '/^#!.*ruby/!i\' -e '#!/bin/ruby' -e '}' $&lt;; } &gt; $@</div><div class='del'>-	$(Q) chmod +x $@</div><div class='del'>-	$(Q) $(POSTLINK)</div><div class='del'>-</div><div class='del'>-$(TIMESTAMPDIR)/.exec.time:</div><div class='del'>-	$(Q) mkdir exec</div><div class='del'>-	$(Q) exit &gt; $@</div><div class='del'>-</div><div class='del'>-.PHONY: commit</div><div class='del'>-commit: $(if $(filter commit,$(MAKECMDGOALS)),$(filter-out commit,$(MAKECMDGOALS)))</div><div class='del'>-	@$(BASERUBY) -C "$(srcdir)" -I./tool -rvcs -e 'VCS.detect(".").commit'</div><div class='del'>-	+$(Q) \</div><div class='del'>-	{ \</div><div class='del'>-	  cd "$(srcdir)"; \</div><div class='del'>-	  sed 's/^@.*@$$//;s/@[A-Za-z_][A-Za-z_0-9]*@//g;/^all-incs:/d' defs/gmake.mk Makefile.in; \</div><div class='del'>-	  sed 's/{[.;]*$$([a-zA-Z0-9_]*)}//g' common.mk; \</div><div class='del'>-	} | \</div><div class='del'>-	$(MAKE) $(mflags) Q=$(Q) srcdir="$(srcdir)" srcs_vpath="$(srcdir)/" CHDIR="$(CHDIR)" \</div><div class='del'>-		BOOTSTRAPRUBY="$(BOOTSTRAPRUBY)" MINIRUBY="$(BASERUBY)" BASERUBY="$(BASERUBY)" \</div><div class='del'>-		VCSUP="" ENC_MK=.top-enc.mk REVISION_FORCE=PHONY CONFIGURE="$(CONFIGURE)" -f - \</div><div class='del'>-		update-src srcs all-incs</div><div class='del'>-</div><div class='del'>-ifeq ($(words $(filter update-gems extract-gems,$(MAKECMDGOALS))),2)</div><div class='del'>-extract-gems: update-gems</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ifeq ($(filter 0 1,$(words $(arch_flags))),)</div><div class='del'>-$(foreach x,$(patsubst -arch=%,%,$(arch_flags)), \</div><div class='del'>-	  $(eval $$(MJIT_HEADER:.h=)-$(value x).h \</div><div class='del'>-		 $$(MJIT_MIN_HEADER:.h=)-$(value x).h \</div><div class='del'>-		 $$(TIMESTAMPDIR)/$$(MJIT_HEADER:.h=)-$(value x).time \</div><div class='del'>-		 : ARCH_FLAG := -arch $(value x)))</div><div class='del'>-</div><div class='del'>-$(foreach x,$(patsubst -arch=%,%,$(arch_flags)), \</div><div class='del'>-	$(eval $$(MJIT_HEADER:.h=)-$(value x).h: \</div><div class='del'>-		$$(TIMESTAMPDIR)/$$(MJIT_HEADER:.h=)-$(value x).time))</div><div class='del'>-</div><div class='del'>-mjit_min_headers := $(patsubst -arch=%,$(MJIT_MIN_HEADER:.h=-%.h),$(arch_flags))</div><div class='del'>-$(MJIT_MIN_HEADER): $(mjit_min_headers) $(PREP)</div><div class='del'>-	@ set -e; set $(patsubst -arch=%,%,$(arch_flags)); \</div><div class='del'>-	cd $(@D); h=$(@F:.h=); \</div><div class='del'>-	exec &gt; $(@F).new; \</div><div class='del'>-	echo '#if 0'; \</div><div class='del'>-	for arch; do\</div><div class='del'>-	  echo "#elif defined __$${arch}__"; \</div><div class='del'>-	  echo "# include \"$$h-$$arch.h\""; \</div><div class='del'>-	done; \</div><div class='del'>-	echo "#else"; echo "# error unsupported platform"; echo "#endif"</div><div class='del'>-	$(IFCHANGE) $@ $@.new</div><div class='del'>-	$(Q) $(MAKEDIRS) $(MJIT_HEADER_INSTALL_DIR)</div><div class='del'>-	$(Q) $(MAKE_LINK) $@ $(MJIT_HEADER_INSTALL_DIR)/$(@F)</div><div class='del'>-</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-# GNU make treat the target as unmodified when its dependents get</div><div class='del'>-# updated but it is not updated, while others may not.</div><div class='del'>-$(srcdir)/revision.h: $(REVISION_H)</div><div class='del'>-</div><div class='del'>-# Query on the generated rdoc</div><div class='del'>-#</div><div class='del'>-#   $ make rdoc:Integer#+</div><div class='del'>-rdoc\:%: PHONY</div><div class='del'>-	$(Q)$(RUNRUBY) $(srcdir)/libexec/ri --no-standard-docs --doc-dir=$(RDOCOUT) $(patsubst rdoc:%,%,$@)</div><div class='del'>-</div><div class='del'>-test_%.rb test/%: programs PHONY</div><div class='del'>-	+$(Q)$(exec) $(RUNRUBY) "$(srcdir)/test/runner.rb" --ruby="$(RUNRUBY)" $(TEST_EXCLUDES) $(TESTOPTS) -- $(patsubst test/%,%,$@)</div><div class='del'>-</div><div class='del'>-clean-srcs-ext::</div><div class='del'>-	$(Q)$(RM) $(patsubst $(srcdir)/%,%,$(EXT_SRCS))</div><div class='del'>-</div><div class='del'>-clean-srcs-extra::</div><div class='del'>-	$(Q)$(RM) $(patsubst $(srcdir)/%,%,$(EXTRA_SRCS))</div><div class='head'>diff --git a/defs/id.def b/defs/id.def<br/>deleted file mode 100644<br/>index bb7cc6f922..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/id.def?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/id.def</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,182 +0,0 @@</div><div class='del'>-# -*- mode: ruby; coding: us-ascii -*-</div><div class='del'>-firstline, predefined = __LINE__+1, %[\</div><div class='del'>-  max</div><div class='del'>-  min</div><div class='del'>-  freeze</div><div class='del'>-  inspect</div><div class='del'>-  intern</div><div class='del'>-  object_id</div><div class='del'>-  const_missing</div><div class='del'>-  method_missing                                        MethodMissing</div><div class='del'>-  method_added</div><div class='del'>-  singleton_method_added</div><div class='del'>-  method_removed</div><div class='del'>-  singleton_method_removed</div><div class='del'>-  method_undefined</div><div class='del'>-  singleton_method_undefined</div><div class='del'>-  length</div><div class='del'>-  size</div><div class='del'>-  gets</div><div class='del'>-  succ</div><div class='del'>-  each</div><div class='del'>-  proc</div><div class='del'>-  lambda</div><div class='del'>-  send</div><div class='del'>-  __send__</div><div class='del'>-  __attached__</div><div class='del'>-  initialize</div><div class='del'>-  initialize_copy</div><div class='del'>-  initialize_clone</div><div class='del'>-  initialize_dup</div><div class='del'>-  to_int</div><div class='del'>-  to_ary</div><div class='del'>-  to_str</div><div class='del'>-  to_sym</div><div class='del'>-  to_hash</div><div class='del'>-  to_proc</div><div class='del'>-  to_io</div><div class='del'>-  to_a</div><div class='del'>-  to_s</div><div class='del'>-  to_i</div><div class='del'>-  to_f</div><div class='del'>-  to_r</div><div class='del'>-  bt</div><div class='del'>-  bt_locations</div><div class='del'>-  call</div><div class='del'>-  mesg</div><div class='del'>-  exception</div><div class='del'>-  not                                                   NOT</div><div class='del'>-  and                                                   AND</div><div class='del'>-  or                                                    OR</div><div class='del'>-</div><div class='del'>-  _                                                     UScore</div><div class='del'>-  "/*NULL*/"                                            NULL</div><div class='del'>-  empty?</div><div class='del'>-  eql?</div><div class='del'>-  respond_to?                                           Respond_to</div><div class='del'>-  respond_to_missing?                                   Respond_to_missing</div><div class='del'>-  &lt;IFUNC&gt;</div><div class='del'>-  &lt;CFUNC&gt;</div><div class='del'>-  core#set_method_alias</div><div class='del'>-  core#set_variable_alias</div><div class='del'>-  core#undef_method</div><div class='del'>-  core#define_method</div><div class='del'>-  core#define_singleton_method</div><div class='del'>-  core#set_postexe</div><div class='del'>-  core#hash_merge_ptr</div><div class='del'>-  core#hash_merge_kwd</div><div class='del'>-</div><div class='del'>-  -                                                     debug#created_info</div><div class='del'>-</div><div class='del'>-  $_                                                    LASTLINE</div><div class='del'>-  $~                                                    BACKREF</div><div class='del'>-]</div><div class='del'>-</div><div class='del'>-# VM ID         OP      Parser Token</div><div class='del'>-token_ops = %[\</div><div class='del'>-  Dot2          ..      DOT2</div><div class='del'>-  Dot3          ...     DOT3</div><div class='del'>-  UPlus         +@      UPLUS</div><div class='del'>-  UMinus        -@      UMINUS</div><div class='del'>-  Pow           **      POW</div><div class='del'>-  Cmp           &lt;=&gt;     CMP</div><div class='del'>-  PLUS          +</div><div class='del'>-  MINUS         -</div><div class='del'>-  MULT          *</div><div class='del'>-  DIV           /</div><div class='del'>-  MOD           %</div><div class='del'>-  LTLT          &lt;&lt;      LSHFT</div><div class='del'>-  GTGT          &gt;&gt;      RSHFT</div><div class='del'>-  LT            &lt;</div><div class='del'>-  LE            &lt;=      LEQ</div><div class='del'>-  GT            &gt;</div><div class='del'>-  GE            &gt;=      GEQ</div><div class='del'>-  Eq            ==      EQ</div><div class='del'>-  Eqq           ===     EQQ</div><div class='del'>-  Neq           !=      NEQ</div><div class='del'>-  Not           !</div><div class='del'>-  And           &amp;</div><div class='del'>-  Or            |</div><div class='del'>-  Backquote     `</div><div class='del'>-  EqTilde       =~      MATCH</div><div class='del'>-  NeqTilde      !~      NMATCH</div><div class='del'>-  AREF          []</div><div class='del'>-  ASET          []=</div><div class='del'>-  COLON2        ::</div><div class='del'>-  ANDOP         &amp;&amp;</div><div class='del'>-  OROP          ||</div><div class='del'>-  ANDDOT        &amp;.</div><div class='del'>-]</div><div class='del'>-</div><div class='del'>-class KeywordError &lt; RuntimeError</div><div class='del'>-  def self.raise(mesg, line)</div><div class='del'>-    super(self, mesg, ["#{__FILE__}:#{line}", *caller])</div><div class='del'>-  end</div><div class='del'>-end</div><div class='del'>-</div><div class='del'>-predefined_ids = {}</div><div class='del'>-preserved_ids = []</div><div class='del'>-local_ids = []</div><div class='del'>-instance_ids = []</div><div class='del'>-global_ids = []</div><div class='del'>-const_ids = []</div><div class='del'>-class_ids = []</div><div class='del'>-attrset_ids = []</div><div class='del'>-token_op_ids = []</div><div class='del'>-names = {}</div><div class='del'>-predefined.split(/^/).each_with_index do |line, num|</div><div class='del'>-  next if /^#/ =~ line</div><div class='del'>-  line.sub!(/\s+#.*/, '')</div><div class='del'>-  name, token = line.split</div><div class='del'>-  next unless name</div><div class='del'>-  token ||= name</div><div class='del'>-  if /#/ =~ token</div><div class='del'>-    token = "_#{token.gsub(/\W+/, '_')}"</div><div class='del'>-  else</div><div class='del'>-    token = token.sub(/\?/, 'P').sub(/\A[a-z]/) {$&amp;.upcase}</div><div class='del'>-    token.sub!(/\A\$/, "_G_")</div><div class='del'>-    token.sub!(/\A@@/, "_C_")</div><div class='del'>-    token.sub!(/\A@/, "_I_")</div><div class='del'>-    token.gsub!(/\W+/, "")</div><div class='del'>-  end</div><div class='del'>-  if name == '-'</div><div class='del'>-    preserved_ids &lt;&lt; token</div><div class='del'>-    next</div><div class='del'>-  end</div><div class='del'>-  if prev = names[name]</div><div class='del'>-    KeywordError.raise("#{name} is already registered at line #{prev+firstline}", firstline+num)</div><div class='del'>-  end</div><div class='del'>-  if prev = predefined_ids[token]</div><div class='del'>-    KeywordError.raise("#{token} is already used for #{prev} at line #{names[prev]+firstline}", firstline+num)</div><div class='del'>-  end</div><div class='del'>-  names[name] = num</div><div class='del'>-  case name</div><div class='del'>-  when /\A[A-Z]\w*\z/; const_ids</div><div class='del'>-  when /\A(?!\d)\w+\z/; local_ids</div><div class='del'>-  when /\A\$(?:\d+|(?!\d)\w+|\W)\z/; global_ids</div><div class='del'>-  when /\A@@(?!\d)\w+\z/; class_ids</div><div class='del'>-  when /\A@(?!\d)\w+\z/; instance_ids</div><div class='del'>-  when /\A((?!\d)\w+)=\z/; attrset_ids</div><div class='del'>-  else preserved_ids</div><div class='del'>-  end &lt;&lt; token</div><div class='del'>-  predefined_ids[token] = name</div><div class='del'>-end</div><div class='del'>-token_ops.split(/^/).each do |line|</div><div class='del'>-  next if /^#/ =~ line</div><div class='del'>-  line.sub!(/\s+#.*/, '')</div><div class='del'>-  id, op, token = line.split</div><div class='del'>-  next unless id and op</div><div class='del'>-  token ||= (id unless /\A\W\z/ =~ op)</div><div class='del'>-  token_op_ids &lt;&lt; [id, op, token]</div><div class='del'>-end</div><div class='del'>-{</div><div class='del'>-  "LOCAL" =&gt; local_ids,</div><div class='del'>-  "INSTANCE" =&gt; instance_ids,</div><div class='del'>-  "GLOBAL" =&gt; global_ids,</div><div class='del'>-  "CONST" =&gt; const_ids,</div><div class='del'>-  "CLASS" =&gt; class_ids,</div><div class='del'>-  "ATTRSET" =&gt; attrset_ids,</div><div class='del'>-  :preserved =&gt; preserved_ids,</div><div class='del'>-  :predefined =&gt; predefined_ids,</div><div class='del'>-  :token_op =&gt; token_op_ids,</div><div class='del'>-}</div><div class='head'>diff --git a/defs/keywords b/defs/keywords<br/>deleted file mode 100644<br/>index fc30ec2d15..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/keywords?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/keywords</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,53 +0,0 @@</div><div class='del'>-%{</div><div class='del'>-struct kwtable {short name, id[2], state;};</div><div class='del'>-const struct kwtable *rb_reserved_word(const char *, unsigned int);</div><div class='del'>-#ifndef RIPPER</div><div class='del'>-static const struct kwtable *reserved_word(/*!ANSI{*/const char *, unsigned int/*}!ANSI*/);</div><div class='del'>-#define rb_reserved_word(str, len) reserved_word(str, len)</div><div class='del'>-%}</div><div class='del'>-</div><div class='del'>-struct kwtable;</div><div class='del'>-%%</div><div class='del'>-__ENCODING__, {keyword__ENCODING__, keyword__ENCODING__}, EXPR_END</div><div class='del'>-__LINE__, {keyword__LINE__, keyword__LINE__}, EXPR_END</div><div class='del'>-__FILE__, {keyword__FILE__, keyword__FILE__}, EXPR_END</div><div class='del'>-BEGIN, {keyword_BEGIN, keyword_BEGIN}, EXPR_END</div><div class='del'>-END, {keyword_END, keyword_END}, EXPR_END</div><div class='del'>-alias, {keyword_alias, keyword_alias}, EXPR_FNAME|EXPR_FITEM</div><div class='del'>-and, {keyword_and, keyword_and}, EXPR_VALUE</div><div class='del'>-begin, {keyword_begin, keyword_begin}, EXPR_BEG</div><div class='del'>-break, {keyword_break, keyword_break}, EXPR_MID</div><div class='del'>-case, {keyword_case, keyword_case}, EXPR_VALUE</div><div class='del'>-class, {keyword_class, keyword_class}, EXPR_CLASS</div><div class='del'>-def, {keyword_def, keyword_def}, EXPR_FNAME</div><div class='del'>-defined?, {keyword_defined, keyword_defined}, EXPR_ARG</div><div class='del'>-do, {keyword_do, keyword_do}, EXPR_BEG</div><div class='del'>-else, {keyword_else, keyword_else}, EXPR_BEG</div><div class='del'>-elsif, {keyword_elsif, keyword_elsif}, EXPR_VALUE</div><div class='del'>-end, {keyword_end, keyword_end}, EXPR_END</div><div class='del'>-ensure, {keyword_ensure, keyword_ensure}, EXPR_BEG</div><div class='del'>-false, {keyword_false, keyword_false}, EXPR_END</div><div class='del'>-for, {keyword_for, keyword_for}, EXPR_VALUE</div><div class='del'>-if, {keyword_if, modifier_if}, EXPR_VALUE</div><div class='del'>-in, {keyword_in, keyword_in}, EXPR_VALUE</div><div class='del'>-module, {keyword_module, keyword_module}, EXPR_VALUE</div><div class='del'>-next, {keyword_next, keyword_next}, EXPR_MID</div><div class='del'>-nil, {keyword_nil, keyword_nil}, EXPR_END</div><div class='del'>-not, {keyword_not, keyword_not}, EXPR_ARG</div><div class='del'>-or, {keyword_or, keyword_or}, EXPR_VALUE</div><div class='del'>-redo, {keyword_redo, keyword_redo}, EXPR_END</div><div class='del'>-rescue, {keyword_rescue, modifier_rescue}, EXPR_MID</div><div class='del'>-retry, {keyword_retry, keyword_retry}, EXPR_END</div><div class='del'>-return, {keyword_return, keyword_return}, EXPR_MID</div><div class='del'>-self, {keyword_self, keyword_self}, EXPR_END</div><div class='del'>-super, {keyword_super, keyword_super}, EXPR_ARG</div><div class='del'>-then, {keyword_then, keyword_then}, EXPR_BEG</div><div class='del'>-true, {keyword_true, keyword_true}, EXPR_END</div><div class='del'>-undef, {keyword_undef, keyword_undef}, EXPR_FNAME|EXPR_FITEM</div><div class='del'>-unless, {keyword_unless, modifier_unless}, EXPR_VALUE</div><div class='del'>-until, {keyword_until, modifier_until}, EXPR_VALUE</div><div class='del'>-when, {keyword_when, keyword_when}, EXPR_VALUE</div><div class='del'>-while, {keyword_while, modifier_while}, EXPR_VALUE</div><div class='del'>-yield, {keyword_yield, keyword_yield}, EXPR_ARG</div><div class='del'>-%%</div><div class='del'>-#endif</div><div class='head'>diff --git a/defs/known_errors.def b/defs/known_errors.def<br/>deleted file mode 100644<br/>index e9694cfbda..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/known_errors.def?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/known_errors.def</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,157 +0,0 @@</div><div class='del'>-E2BIG</div><div class='del'>-EACCES</div><div class='del'>-EADDRINUSE</div><div class='del'>-EADDRNOTAVAIL</div><div class='del'>-EADV</div><div class='del'>-EAFNOSUPPORT</div><div class='del'>-EAGAIN</div><div class='del'>-EALREADY</div><div class='del'>-EAUTH</div><div class='del'>-EBADARCH</div><div class='del'>-EBADE</div><div class='del'>-EBADEXEC</div><div class='del'>-EBADF</div><div class='del'>-EBADFD</div><div class='del'>-EBADMACHO</div><div class='del'>-EBADMSG</div><div class='del'>-EBADR</div><div class='del'>-EBADRPC</div><div class='del'>-EBADRQC</div><div class='del'>-EBADSLT</div><div class='del'>-EBFONT</div><div class='del'>-EBUSY</div><div class='del'>-ECANCELED</div><div class='del'>-ECAPMODE</div><div class='del'>-ECHILD</div><div class='del'>-ECHRNG</div><div class='del'>-ECOMM</div><div class='del'>-ECONNABORTED</div><div class='del'>-ECONNREFUSED</div><div class='del'>-ECONNRESET</div><div class='del'>-EDEADLK</div><div class='del'>-EDEADLOCK</div><div class='del'>-EDESTADDRREQ</div><div class='del'>-EDEVERR</div><div class='del'>-EDOM</div><div class='del'>-EDOOFUS</div><div class='del'>-EDOTDOT</div><div class='del'>-EDQUOT</div><div class='del'>-EEXIST</div><div class='del'>-EFAULT</div><div class='del'>-EFBIG</div><div class='del'>-EFTYPE</div><div class='del'>-EHOSTDOWN</div><div class='del'>-EHOSTUNREACH</div><div class='del'>-EHWPOISON</div><div class='del'>-EIDRM</div><div class='del'>-EILSEQ</div><div class='del'>-EINPROGRESS</div><div class='del'>-EINTR</div><div class='del'>-EINVAL</div><div class='del'>-EIO</div><div class='del'>-EIPSEC</div><div class='del'>-EISCONN</div><div class='del'>-EISDIR</div><div class='del'>-EISNAM</div><div class='del'>-EKEYEXPIRED</div><div class='del'>-EKEYREJECTED</div><div class='del'>-EKEYREVOKED</div><div class='del'>-EL2HLT</div><div class='del'>-EL2NSYNC</div><div class='del'>-EL3HLT</div><div class='del'>-EL3RST</div><div class='del'>-ELAST</div><div class='del'>-ELIBACC</div><div class='del'>-ELIBBAD</div><div class='del'>-ELIBEXEC</div><div class='del'>-ELIBMAX</div><div class='del'>-ELIBSCN</div><div class='del'>-ELNRNG</div><div class='del'>-ELOOP</div><div class='del'>-EMEDIUMTYPE</div><div class='del'>-EMFILE</div><div class='del'>-EMLINK</div><div class='del'>-EMSGSIZE</div><div class='del'>-EMULTIHOP</div><div class='del'>-ENAMETOOLONG</div><div class='del'>-ENAVAIL</div><div class='del'>-ENEEDAUTH</div><div class='del'>-ENETDOWN</div><div class='del'>-ENETRESET</div><div class='del'>-ENETUNREACH</div><div class='del'>-ENFILE</div><div class='del'>-ENOANO</div><div class='del'>-ENOATTR</div><div class='del'>-ENOBUFS</div><div class='del'>-ENOCSI</div><div class='del'>-ENODATA</div><div class='del'>-ENODEV</div><div class='del'>-ENOENT</div><div class='del'>-ENOEXEC</div><div class='del'>-ENOKEY</div><div class='del'>-ENOLCK</div><div class='del'>-ENOLINK</div><div class='del'>-ENOMEDIUM</div><div class='del'>-ENOMEM</div><div class='del'>-ENOMSG</div><div class='del'>-ENONET</div><div class='del'>-ENOPKG</div><div class='del'>-ENOPOLICY</div><div class='del'>-ENOPROTOOPT</div><div class='del'>-ENOSPC</div><div class='del'>-ENOSR</div><div class='del'>-ENOSTR</div><div class='del'>-ENOSYS</div><div class='del'>-ENOTBLK</div><div class='del'>-ENOTCAPABLE</div><div class='del'>-ENOTCONN</div><div class='del'>-ENOTDIR</div><div class='del'>-ENOTEMPTY</div><div class='del'>-ENOTNAM</div><div class='del'>-ENOTRECOVERABLE</div><div class='del'>-ENOTSOCK</div><div class='del'>-ENOTSUP</div><div class='del'>-ENOTTY</div><div class='del'>-ENOTUNIQ</div><div class='del'>-ENXIO</div><div class='del'>-EOPNOTSUPP</div><div class='del'>-EOVERFLOW</div><div class='del'>-EOWNERDEAD</div><div class='del'>-EPERM</div><div class='del'>-EPFNOSUPPORT</div><div class='del'>-EPIPE</div><div class='del'>-EPROCLIM</div><div class='del'>-EPROCUNAVAIL</div><div class='del'>-EPROGMISMATCH</div><div class='del'>-EPROGUNAVAIL</div><div class='del'>-EPROTO</div><div class='del'>-EPROTONOSUPPORT</div><div class='del'>-EPROTOTYPE</div><div class='del'>-EPWROFF</div><div class='del'>-EQFULL</div><div class='del'>-ERANGE</div><div class='del'>-EREMCHG</div><div class='del'>-EREMOTE</div><div class='del'>-EREMOTEIO</div><div class='del'>-ERESTART</div><div class='del'>-ERFKILL</div><div class='del'>-EROFS</div><div class='del'>-ERPCMISMATCH</div><div class='del'>-ESHLIBVERS</div><div class='del'>-ESHUTDOWN</div><div class='del'>-ESOCKTNOSUPPORT</div><div class='del'>-ESPIPE</div><div class='del'>-ESRCH</div><div class='del'>-ESRMNT</div><div class='del'>-ESTALE</div><div class='del'>-ESTRPIPE</div><div class='del'>-ETIME</div><div class='del'>-ETIMEDOUT</div><div class='del'>-ETOOMANYREFS</div><div class='del'>-ETXTBSY</div><div class='del'>-EUCLEAN</div><div class='del'>-EUNATCH</div><div class='del'>-EUSERS</div><div class='del'>-EWOULDBLOCK</div><div class='del'>-EXDEV</div><div class='del'>-EXFULL</div><div class='head'>diff --git a/defs/lex.c.src b/defs/lex.c.src<br/>deleted file mode 100644<br/>index fc30ec2d15..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/lex.c.src?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/lex.c.src</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,53 +0,0 @@</div><div class='del'>-%{</div><div class='del'>-struct kwtable {short name, id[2], state;};</div><div class='del'>-const struct kwtable *rb_reserved_word(const char *, unsigned int);</div><div class='del'>-#ifndef RIPPER</div><div class='del'>-static const struct kwtable *reserved_word(/*!ANSI{*/const char *, unsigned int/*}!ANSI*/);</div><div class='del'>-#define rb_reserved_word(str, len) reserved_word(str, len)</div><div class='del'>-%}</div><div class='del'>-</div><div class='del'>-struct kwtable;</div><div class='del'>-%%</div><div class='del'>-__ENCODING__, {keyword__ENCODING__, keyword__ENCODING__}, EXPR_END</div><div class='del'>-__LINE__, {keyword__LINE__, keyword__LINE__}, EXPR_END</div><div class='del'>-__FILE__, {keyword__FILE__, keyword__FILE__}, EXPR_END</div><div class='del'>-BEGIN, {keyword_BEGIN, keyword_BEGIN}, EXPR_END</div><div class='del'>-END, {keyword_END, keyword_END}, EXPR_END</div><div class='del'>-alias, {keyword_alias, keyword_alias}, EXPR_FNAME|EXPR_FITEM</div><div class='del'>-and, {keyword_and, keyword_and}, EXPR_VALUE</div><div class='del'>-begin, {keyword_begin, keyword_begin}, EXPR_BEG</div><div class='del'>-break, {keyword_break, keyword_break}, EXPR_MID</div><div class='del'>-case, {keyword_case, keyword_case}, EXPR_VALUE</div><div class='del'>-class, {keyword_class, keyword_class}, EXPR_CLASS</div><div class='del'>-def, {keyword_def, keyword_def}, EXPR_FNAME</div><div class='del'>-defined?, {keyword_defined, keyword_defined}, EXPR_ARG</div><div class='del'>-do, {keyword_do, keyword_do}, EXPR_BEG</div><div class='del'>-else, {keyword_else, keyword_else}, EXPR_BEG</div><div class='del'>-elsif, {keyword_elsif, keyword_elsif}, EXPR_VALUE</div><div class='del'>-end, {keyword_end, keyword_end}, EXPR_END</div><div class='del'>-ensure, {keyword_ensure, keyword_ensure}, EXPR_BEG</div><div class='del'>-false, {keyword_false, keyword_false}, EXPR_END</div><div class='del'>-for, {keyword_for, keyword_for}, EXPR_VALUE</div><div class='del'>-if, {keyword_if, modifier_if}, EXPR_VALUE</div><div class='del'>-in, {keyword_in, keyword_in}, EXPR_VALUE</div><div class='del'>-module, {keyword_module, keyword_module}, EXPR_VALUE</div><div class='del'>-next, {keyword_next, keyword_next}, EXPR_MID</div><div class='del'>-nil, {keyword_nil, keyword_nil}, EXPR_END</div><div class='del'>-not, {keyword_not, keyword_not}, EXPR_ARG</div><div class='del'>-or, {keyword_or, keyword_or}, EXPR_VALUE</div><div class='del'>-redo, {keyword_redo, keyword_redo}, EXPR_END</div><div class='del'>-rescue, {keyword_rescue, modifier_rescue}, EXPR_MID</div><div class='del'>-retry, {keyword_retry, keyword_retry}, EXPR_END</div><div class='del'>-return, {keyword_return, keyword_return}, EXPR_MID</div><div class='del'>-self, {keyword_self, keyword_self}, EXPR_END</div><div class='del'>-super, {keyword_super, keyword_super}, EXPR_ARG</div><div class='del'>-then, {keyword_then, keyword_then}, EXPR_BEG</div><div class='del'>-true, {keyword_true, keyword_true}, EXPR_END</div><div class='del'>-undef, {keyword_undef, keyword_undef}, EXPR_FNAME|EXPR_FITEM</div><div class='del'>-unless, {keyword_unless, modifier_unless}, EXPR_VALUE</div><div class='del'>-until, {keyword_until, modifier_until}, EXPR_VALUE</div><div class='del'>-when, {keyword_when, keyword_when}, EXPR_VALUE</div><div class='del'>-while, {keyword_while, modifier_while}, EXPR_VALUE</div><div class='del'>-yield, {keyword_yield, keyword_yield}, EXPR_ARG</div><div class='del'>-%%</div><div class='del'>-#endif</div><div class='head'>diff --git a/defs/opt_insn_unif.def b/defs/opt_insn_unif.def<br/>deleted file mode 100644<br/>index 31ae2eb6a1..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/opt_insn_unif.def?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/opt_insn_unif.def</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,27 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# a definition of instruction unification</div><div class='del'>-#</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-__END__</div><div class='del'>-</div><div class='del'>-putobject putobject</div><div class='del'>-putobject putstring</div><div class='del'>-putobject setlocal</div><div class='del'>-</div><div class='del'>-putstring putstring</div><div class='del'>-putstring putobject</div><div class='del'>-putstring setlocal</div><div class='del'>-</div><div class='del'>-# putnil end</div><div class='del'>-</div><div class='del'>-dup setlocal</div><div class='del'>-</div><div class='del'>-# from tarai</div><div class='del'>-getlocal getlocal</div><div class='del'>-# getlocal send</div><div class='del'>-</div><div class='del'>-# from tak, ackermann</div><div class='del'>-getlocal putobject</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/defs/opt_operand.def b/defs/opt_operand.def<br/>deleted file mode 100644<br/>index 887e3da49a..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/opt_operand.def?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/opt_operand.def</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,22 +0,0 @@</div><div class='del'>-#</div><div class='del'>-# configuration file for operand union optimization</div><div class='del'>-#</div><div class='del'>-# format:</div><div class='del'>-#   [insn name] op1, op2 ...</div><div class='del'>-#</div><div class='del'>-#  wildcard: *</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-getlocal *, 0</div><div class='del'>-getlocal *, 1</div><div class='del'>-setlocal *, 0</div><div class='del'>-setlocal *, 1</div><div class='del'>-</div><div class='del'>-putobject INT2FIX(0)</div><div class='del'>-putobject INT2FIX(1)</div><div class='del'>-</div><div class='del'>-__END__</div><div class='del'>-</div><div class='del'>-putobject Qtrue</div><div class='del'>-putobject Qfalse</div><div class='del'>-</div><div class='head'>diff --git a/defs/separated_version.mk b/defs/separated_version.mk<br/>deleted file mode 100644<br/>index f086f4b24a..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/separated_version.mk?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/separated_version.mk</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,38 +0,0 @@</div><div class='del'>-# ******** FOR DEVELEPERS ONLY ********</div><div class='del'>-# Separate version.o into a shared library which varies every</div><div class='del'>-# revisions, in order to make the rest sharable.</div><div class='del'>-</div><div class='del'>-include $(firstword $(wildcard GNUmakefile Makefile))</div><div class='del'>-</div><div class='del'>-ifneq ($(filter @executable_path/%,$(DLDFLAGS)),)</div><div class='del'>-RUBY_VERSION_SO = $(subst ruby,ruby_version,$(LIBRUBY_SO))</div><div class='del'>-RUBY_VERSION_DLDFLAGS := $(patsubst @executable_path/%/$(LIBRUBY_SO),@loader_path/$(RUBY_VERSION_SO),$(DLDFLAGS)) -exported_symbol=Init_version</div><div class='del'>-else ifneq ($(findstring -soname,$(DLDFLAGS)),)</div><div class='del'>-RUBY_VERSION_SO = $(subst ruby,ruby_version,$(LIBRUBY_SO))</div><div class='del'>-RUBY_VERSION_DLDFLAGS := $(subst ruby,ruby_version,$(DLDFLAGS)) -Wl,-rpath-link,'$${ORIGIN}'</div><div class='del'>-else</div><div class='del'>-ERROR</div><div class='del'>-endif</div><div class='del'>-</div><div class='del'>-ifneq ($(RUBY_VERSION_SO),)</div><div class='del'>-</div><div class='del'>-version.$(OBJEXT): XCFLAGS := $(subst -fvisibility=hidden,,$(XCFLAGS))</div><div class='del'>-</div><div class='del'>-MINIOBJS += version.$(OBJEXT)</div><div class='del'>-DLDOBJS += $(RUBY_VERSION_SO)</div><div class='del'>-LIBRUBYARG_SHARED := -lruby_version $(LIBRUBYARG_SHARED)</div><div class='del'>-$(LIBRUBY_SO): COMMONOBJS := $(filter-out version.$(OBJEXT),$(COMMONOBJS))</div><div class='del'>-$(LIBRUBY_A): COMMONOBJS := $(sort version.$(OBJEXT) $(COMMONOBJS))</div><div class='del'>-</div><div class='del'>-$(LIBRUBY_SO): $(RUBY_VERSION_SO)</div><div class='del'>-</div><div class='del'>-$(RUBY_VERSION_SO): version.$(OBJEXT)</div><div class='del'>-	$(ECHO) linking shared-library $@</div><div class='del'>-	$(LDSHARED) $(RUBY_VERSION_DLDFLAGS) version.$(OBJEXT) $(OUTFLAG)$@</div><div class='del'>-	-$(Q) $(MINIRUBY) -e 'ARGV.each{|link|' \</div><div class='del'>-		-e   'File.delete link rescue nil' \</div><div class='del'>-		-e   'File.symlink "$(RUBY_VERSION_SO)", link' \</div><div class='del'>-		-e '}' \</div><div class='del'>-		$(subst ruby,ruby_version,$(LIBRUBY_ALIASES)) || true</div><div class='del'>-</div><div class='del'>-endif</div><div class='head'>diff --git a/defs/universal.mk b/defs/universal.mk<br/>deleted file mode 100644<br/>index c34a31b356..0000000000<br/>--- a/<a href='/ruby.git/tree/defs/universal.mk?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>defs/universal.mk</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-arch_flags := $(filter -arch=%,$(subst -arch ,-arch=,$(ARCH_FLAG)))</div><div class='del'>-ifeq ($(filter 0 1,$(words $(arch_flags))),)</div><div class='del'>-override MJIT_HEADER_SUFFIX = -%</div><div class='del'>-override MJIT_HEADER_ARCH = -$(word 2,$(ARCH_FLAG))</div><div class='del'>-endif</div><div class='head'>diff --git a/dir.c b/dir.c<br/>index 2f38e35976..4c63a0936f 100644<br/>--- a/<a href='/ruby.git/tree/dir.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dir.c</a><br/>+++ b/<a href='/ruby.git/tree/dir.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>dir.c</a></div><div class='hunk'>@@ -3,19 +3,16 @@</div><div class='ctx'>   dir.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Wed Jan  5 09:51:01 JST 1994</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'>   Copyright (C) 2000  Network Applied Communication Laboratory, Inc.</div><div class='ctx'>   Copyright (C) 2000  Information-technology Promotion Agency, Japan</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='del'>-#include "ruby/encoding.h"</div><div class='del'>-#include "ruby/thread.h"</div><div class='del'>-#include "internal.h"</div><div class='del'>-#include "id.h"</div><div class='del'>-#include "encindex.h"</div><div class='add'>+#include "ruby.h"</div><div class='ctx'> </div><div class='ctx'> #include &lt;sys/types.h&gt;</div><div class='ctx'> #include &lt;sys/stat.h&gt;</div><div class='hunk'>@@ -24,26 +21,6 @@</div><div class='ctx'> #include &lt;unistd.h&gt;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifndef O_CLOEXEC</div><div class='del'>-#  define O_CLOEXEC 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifndef USE_OPENDIR_AT</div><div class='del'>-# if defined(HAVE_FDOPENDIR) &amp;&amp; defined(HAVE_DIRFD) &amp;&amp; \</div><div class='del'>-    defined(HAVE_OPENAT) &amp;&amp; defined(HAVE_FSTATAT)</div><div class='del'>-#   define USE_OPENDIR_AT 1</div><div class='del'>-# else</div><div class='del'>-#   define USE_OPENDIR_AT 0</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-#if USE_OPENDIR_AT</div><div class='del'>-# include &lt;fcntl.h&gt;</div><div class='del'>-#endif</div><div class='del'>-#ifndef AT_FDCWD</div><div class='del'>-# define AT_FDCWD -1</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#undef HAVE_DIRENT_NAMLEN</div><div class='ctx'> #if defined HAVE_DIRENT_H &amp;&amp; !defined _WIN32</div><div class='ctx'> # include &lt;dirent.h&gt;</div><div class='ctx'> # define NAMLEN(dirent) strlen((dirent)-&gt;d_name)</div><div class='hunk'>@@ -52,8 +29,12 @@</div><div class='ctx'> # define NAMLEN(dirent) strlen((dirent)-&gt;d_name)</div><div class='ctx'> #else</div><div class='ctx'> # define dirent direct</div><div class='del'>-# define NAMLEN(dirent) (dirent)-&gt;d_namlen</div><div class='del'>-# define HAVE_DIRENT_NAMLEN 1</div><div class='add'>+# if !defined __NeXT__</div><div class='add'>+#  define NAMLEN(dirent) (dirent)-&gt;d_namlen</div><div class='add'>+# else</div><div class='add'>+#  /* On some versions of NextStep, d_namlen is always zero, so avoid it. */</div><div class='add'>+#  define NAMLEN(dirent) strlen((dirent)-&gt;d_name)</div><div class='add'>+# endif</div><div class='ctx'> # if HAVE_SYS_NDIR_H</div><div class='ctx'> #  include &lt;sys/ndir.h&gt;</div><div class='ctx'> # endif</div><div class='hunk'>@@ -75,165 +56,134 @@ char *getenv();</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> #ifndef HAVE_STRING_H</div><div class='del'>-char *strchr(char*,char);</div><div class='add'>+char *strchr _((char*,char));</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> #include &lt;ctype.h&gt;</div><div class='ctx'> </div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-</div><div class='del'>-#define vm_initialized rb_cThread</div><div class='del'>-</div><div class='del'>-/* define system APIs */</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-#undef chdir</div><div class='del'>-#define chdir(p) rb_w32_uchdir(p)</div><div class='del'>-#undef mkdir</div><div class='del'>-#define mkdir(p, m) rb_w32_umkdir((p), (m))</div><div class='del'>-#undef rmdir</div><div class='del'>-#define rmdir(p) rb_w32_urmdir(p)</div><div class='del'>-#undef opendir</div><div class='del'>-#define opendir(p) rb_w32_uopendir(p)</div><div class='del'>-#define ruby_getcwd() rb_w32_ugetcwd(NULL, 0)</div><div class='del'>-#define IS_WIN32 1</div><div class='del'>-#else</div><div class='del'>-#define IS_WIN32 0</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_SYS_ATTR_H</div><div class='del'>-#include &lt;sys/attr.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#define USE_NAME_ON_FS_REAL_BASENAME 1	/* platform dependent APIs to</div><div class='del'>-					 * get real basenames */</div><div class='del'>-#define USE_NAME_ON_FS_BY_FNMATCH 2	/* select the matching</div><div class='del'>-					 * basename by fnmatch */</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_GETATTRLIST</div><div class='del'>-# define USE_NAME_ON_FS USE_NAME_ON_FS_REAL_BASENAME</div><div class='del'>-# define RUP32(size) ((size)+3/4)</div><div class='del'>-# define SIZEUP32(type) RUP32(sizeof(type))</div><div class='del'>-#elif defined _WIN32</div><div class='del'>-# define USE_NAME_ON_FS USE_NAME_ON_FS_REAL_BASENAME</div><div class='del'>-#elif defined DOSISH</div><div class='del'>-# define USE_NAME_ON_FS USE_NAME_ON_FS_BY_FNMATCH</div><div class='del'>-#else</div><div class='del'>-# define USE_NAME_ON_FS 0</div><div class='del'>-#endif</div><div class='add'>+#include "util.h"</div><div class='ctx'> </div><div class='del'>-#ifdef __APPLE__</div><div class='del'>-# define NORMALIZE_UTF8PATH 1</div><div class='del'>-#else</div><div class='del'>-# define NORMALIZE_UTF8PATH 0</div><div class='add'>+#if !defined HAVE_LSTAT &amp;&amp; !defined lstat</div><div class='add'>+#define lstat stat</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#if NORMALIZE_UTF8PATH</div><div class='del'>-#include &lt;sys/param.h&gt;</div><div class='del'>-#include &lt;sys/mount.h&gt;</div><div class='del'>-#include &lt;sys/vnode.h&gt;</div><div class='del'>-</div><div class='del'>-# if defined HAVE_FGETATTRLIST || !defined HAVE_GETATTRLIST</div><div class='del'>-#   define need_normalization(dirp, path) need_normalization(dirp)</div><div class='add'>+#ifndef CASEFOLD_FILESYSTEM</div><div class='add'>+# if defined DOSISH || defined __VMS</div><div class='add'>+#   define CASEFOLD_FILESYSTEM 1</div><div class='ctx'> # else</div><div class='del'>-#   define need_normalization(dirp, path) need_normalization(path)</div><div class='del'>-# endif</div><div class='del'>-static inline int</div><div class='del'>-need_normalization(DIR *dirp, const char *path)</div><div class='del'>-{</div><div class='del'>-# if defined HAVE_FGETATTRLIST || defined HAVE_GETATTRLIST</div><div class='del'>-    u_int32_t attrbuf[SIZEUP32(fsobj_tag_t)];</div><div class='del'>-    struct attrlist al = {ATTR_BIT_MAP_COUNT, 0, ATTR_CMN_OBJTAG,};</div><div class='del'>-#   if defined HAVE_FGETATTRLIST</div><div class='del'>-    int ret = fgetattrlist(dirfd(dirp), &amp;al, attrbuf, sizeof(attrbuf), 0);</div><div class='del'>-#   else</div><div class='del'>-    int ret = getattrlist(path, &amp;al, attrbuf, sizeof(attrbuf), 0);</div><div class='del'>-#   endif</div><div class='del'>-    if (!ret) {</div><div class='del'>-	const fsobj_tag_t *tag = (void *)(attrbuf+1);</div><div class='del'>-	switch (*tag) {</div><div class='del'>-	  case VT_HFS:</div><div class='del'>-	  case VT_CIFS:</div><div class='del'>-	    return TRUE;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='add'>+#   define CASEFOLD_FILESYSTEM 0</div><div class='ctx'> # endif</div><div class='del'>-    return FALSE;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline int</div><div class='del'>-has_nonascii(const char *ptr, size_t len)</div><div class='del'>-{</div><div class='del'>-    while (len &gt; 0) {</div><div class='del'>-	if (!ISASCII(*ptr)) return 1;</div><div class='del'>-	ptr++;</div><div class='del'>-	--len;</div><div class='del'>-    }</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-# define IF_NORMALIZE_UTF8PATH(something) something</div><div class='del'>-#else</div><div class='del'>-# define IF_NORMALIZE_UTF8PATH(something) /* nothing */</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifndef IFTODT</div><div class='del'>-# define IFTODT(m)	(((m) &amp; S_IFMT) / ((~S_IFMT &amp; (S_IFMT-1)) + 1))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-typedef enum {</div><div class='del'>-#ifdef DT_UNKNOWN</div><div class='del'>-    path_exist     = DT_UNKNOWN,</div><div class='del'>-    path_directory = DT_DIR,</div><div class='del'>-    path_regular   = DT_REG,</div><div class='del'>-    path_symlink   = DT_LNK,</div><div class='del'>-#else</div><div class='del'>-    path_exist,</div><div class='del'>-    path_directory = IFTODT(S_IFDIR),</div><div class='del'>-    path_regular   = IFTODT(S_IFREG),</div><div class='del'>-    path_symlink   = IFTODT(S_IFLNK),</div><div class='del'>-#endif</div><div class='del'>-    path_noent = -1,</div><div class='del'>-    path_unknown = -2</div><div class='del'>-} rb_pathtype_t;</div><div class='del'>-</div><div class='ctx'> #define FNM_NOESCAPE	0x01</div><div class='ctx'> #define FNM_PATHNAME	0x02</div><div class='ctx'> #define FNM_DOTMATCH	0x04</div><div class='ctx'> #define FNM_CASEFOLD	0x08</div><div class='del'>-#define FNM_EXTGLOB	0x10</div><div class='ctx'> #if CASEFOLD_FILESYSTEM</div><div class='ctx'> #define FNM_SYSCASE	FNM_CASEFOLD</div><div class='ctx'> #else</div><div class='ctx'> #define FNM_SYSCASE	0</div><div class='ctx'> #endif</div><div class='del'>-#if _WIN32</div><div class='del'>-#define FNM_SHORTNAME	0x20</div><div class='del'>-#else</div><div class='del'>-#define FNM_SHORTNAME	0</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='ctx'> #define FNM_NOMATCH	1</div><div class='ctx'> #define FNM_ERROR	2</div><div class='ctx'> </div><div class='del'>-# define Next(p, e, enc) ((p)+ rb_enc_mbclen((p), (e), (enc)))</div><div class='del'>-# define Inc(p, e, enc) ((p) = Next((p), (e), (enc)))</div><div class='add'>+#define downcase(c) (nocase &amp;&amp; ISUPPER(c) ? tolower(c) : (c))</div><div class='add'>+#define compare(c1, c2) (((unsigned char)(c1)) - ((unsigned char)(c2)))</div><div class='add'>+</div><div class='add'>+/* caution: in case *p == '\0'</div><div class='add'>+   Next(p) == p + 1 in single byte environment</div><div class='add'>+   Next(p) == p     in multi byte environment</div><div class='add'>+*/</div><div class='add'>+#if defined(CharNext)</div><div class='add'>+# define Next(p) CharNext(p)</div><div class='add'>+#elif defined(DJGPP)</div><div class='add'>+# define Next(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE))</div><div class='add'>+#elif defined(__EMX__)</div><div class='add'>+# define Next(p) ((p) + emx_mblen(p))</div><div class='add'>+static inline int</div><div class='add'>+emx_mblen(const char *p)</div><div class='add'>+{</div><div class='add'>+    int n = mblen(p, RUBY_MBCHAR_MAXSIZE);</div><div class='add'>+    return (n &lt; 0) ? 1 : n;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef Next /* single byte environment */</div><div class='add'>+# define Next(p) ((p) + 1)</div><div class='add'>+# define Inc(p) (++(p))</div><div class='add'>+# define Compare(p1, p2) (compare(downcase(*(p1)), downcase(*(p2))))</div><div class='add'>+#else /* multi byte environment */</div><div class='add'>+# define Inc(p) ((p) = Next(p))</div><div class='add'>+# define Compare(p1, p2) (CompareImpl(p1, p2, nocase))</div><div class='add'>+static int</div><div class='add'>+CompareImpl(const char *p1, const char *p2, int nocase)</div><div class='add'>+{</div><div class='add'>+    const int len1 = Next(p1) - p1;</div><div class='add'>+    const int len2 = Next(p2) - p2;</div><div class='add'>+#ifdef _WIN32</div><div class='add'>+    char buf1[10], buf2[10]; /* large enough? */</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    if (len1 &lt; 0 || len2 &lt; 0) {</div><div class='add'>+	rb_fatal("CompareImpl: negative len");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (len1 == 0) return  len2;</div><div class='add'>+    if (len2 == 0) return -len1;</div><div class='add'>+</div><div class='add'>+#ifdef _WIN32</div><div class='add'>+    if (nocase &amp;&amp; rb_w32_iswinnt()) {</div><div class='add'>+	if (len1 &gt; 1) {</div><div class='add'>+	    if (len1 &gt;= sizeof(buf1)) {</div><div class='add'>+		rb_fatal("CompareImpl: too large len");</div><div class='add'>+	    }</div><div class='add'>+	    memcpy(buf1, p1, len1);</div><div class='add'>+	    buf1[len1] = '\0';</div><div class='add'>+	    CharLower(buf1);</div><div class='add'>+	    p1 = buf1; /* trick */</div><div class='add'>+	}</div><div class='add'>+	if (len2 &gt; 1) {</div><div class='add'>+	    if (len2 &gt;= sizeof(buf2)) {</div><div class='add'>+		rb_fatal("CompareImpl: too large len");</div><div class='add'>+	    }</div><div class='add'>+	    memcpy(buf2, p2, len2);</div><div class='add'>+	    buf2[len2] = '\0';</div><div class='add'>+	    CharLower(buf2);</div><div class='add'>+	    p2 = buf2; /* trick */</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    if (len1 == 1)</div><div class='add'>+	if (len2 == 1)</div><div class='add'>+	    return compare(downcase(*p1), downcase(*p2));</div><div class='add'>+	else {</div><div class='add'>+	    const int ret = compare(downcase(*p1), *p2);</div><div class='add'>+	    return ret ? ret : -1;</div><div class='add'>+	}</div><div class='add'>+    else</div><div class='add'>+	if (len2 == 1) {</div><div class='add'>+	    const int ret = compare(*p1, downcase(*p2));</div><div class='add'>+	    return ret ? ret : 1;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    const int ret = memcmp(p1, p2, len1 &lt; len2 ? len1 : len2);</div><div class='add'>+	    return ret ? ret : len1 - len2;</div><div class='add'>+	}</div><div class='add'>+}</div><div class='add'>+#endif /* environment */</div><div class='ctx'> </div><div class='ctx'> static char *</div><div class='del'>-bracket(</div><div class='del'>-    const char *p, /* pattern (next to '[') */</div><div class='del'>-    const char *pend,</div><div class='del'>-    const char *s, /* string */</div><div class='del'>-    const char *send,</div><div class='del'>-    int flags,</div><div class='del'>-    rb_encoding *enc)</div><div class='add'>+bracket(p, s, flags)</div><div class='add'>+    const char *p; /* pattern (next to '[') */</div><div class='add'>+    const char *s; /* string */</div><div class='add'>+    int flags;</div><div class='ctx'> {</div><div class='ctx'>     const int nocase = flags &amp; FNM_CASEFOLD;</div><div class='ctx'>     const int escape = !(flags &amp; FNM_NOESCAPE);</div><div class='del'>-    unsigned int c1, c2;</div><div class='del'>-    int r;</div><div class='add'>+</div><div class='ctx'>     int ok = 0, not = 0;</div><div class='ctx'> </div><div class='del'>-    if (p &gt;= pend) return NULL;</div><div class='ctx'>     if (*p == '!' || *p == '^') {</div><div class='ctx'> 	not = 1;</div><div class='ctx'> 	p++;</div><div class='hunk'>@@ -245,49 +195,26 @@ bracket(</div><div class='ctx'> 	    t1++;</div><div class='ctx'> 	if (!*t1)</div><div class='ctx'> 	    return NULL;</div><div class='del'>-	p = t1 + (r = rb_enc_mbclen(t1, pend, enc));</div><div class='del'>-	if (p &gt;= pend) return NULL;</div><div class='add'>+	p = Next(t1);</div><div class='ctx'> 	if (p[0] == '-' &amp;&amp; p[1] != ']') {</div><div class='ctx'> 	    const char *t2 = p + 1;</div><div class='del'>-	    int r2;</div><div class='ctx'> 	    if (escape &amp;&amp; *t2 == '\\')</div><div class='ctx'> 		t2++;</div><div class='ctx'> 	    if (!*t2)</div><div class='ctx'> 		return NULL;</div><div class='del'>-	    p = t2 + (r2 = rb_enc_mbclen(t2, pend, enc));</div><div class='del'>-	    if (ok) continue;</div><div class='del'>-	    if ((r &lt;= (send-s) &amp;&amp; memcmp(t1, s, r) == 0) ||</div><div class='del'>-		(r2 &lt;= (send-s) &amp;&amp; memcmp(t2, s, r2) == 0)) {</div><div class='add'>+	    p = Next(t2);</div><div class='add'>+	    if (!ok &amp;&amp; Compare(t1, s) &lt;= 0 &amp;&amp; Compare(s, t2) &lt;= 0)</div><div class='ctx'> 		ok = 1;</div><div class='del'>-		continue;</div><div class='del'>-	    }</div><div class='del'>-	    c1 = rb_enc_codepoint(s, send, enc);</div><div class='del'>-	    if (nocase) c1 = rb_enc_toupper(c1, enc);</div><div class='del'>-	    c2 = rb_enc_codepoint(t1, pend, enc);</div><div class='del'>-	    if (nocase) c2 = rb_enc_toupper(c2, enc);</div><div class='del'>-	    if (c1 &lt; c2) continue;</div><div class='del'>-	    c2 = rb_enc_codepoint(t2, pend, enc);</div><div class='del'>-	    if (nocase) c2 = rb_enc_toupper(c2, enc);</div><div class='del'>-	    if (c1 &gt; c2) continue;</div><div class='ctx'> 	}</div><div class='del'>-	else {</div><div class='del'>-	    if (ok) continue;</div><div class='del'>-	    if (r &lt;= (send-s) &amp;&amp; memcmp(t1, s, r) == 0) {</div><div class='add'>+	else</div><div class='add'>+	    if (!ok &amp;&amp; Compare(t1, s) == 0)</div><div class='ctx'> 		ok = 1;</div><div class='del'>-		continue;</div><div class='del'>-	    }</div><div class='del'>-	    if (!nocase) continue;</div><div class='del'>-	    c1 = rb_enc_toupper(rb_enc_codepoint(s, send, enc), enc);</div><div class='del'>-	    c2 = rb_enc_toupper(rb_enc_codepoint(p, pend, enc), enc);</div><div class='del'>-	    if (c1 != c2) continue;</div><div class='del'>-	}</div><div class='del'>-	ok = 1;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return ok == not ? NULL : (char *)p + 1;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/* If FNM_PATHNAME is set, only path element will be matched. (up to '/' or '\0')</div><div class='add'>+/* If FNM_PATHNAME is set, only path element will be matched. (upto '/' or '\0')</div><div class='ctx'>    Otherwise, entire string will be matched.</div><div class='ctx'>    End marker itself won't be compared.</div><div class='ctx'>    And if function succeeds, *pcur reaches end marker.</div><div class='hunk'>@@ -297,11 +224,10 @@ bracket(</div><div class='ctx'> #define RETURN(val) return *pcur = p, *scur = s, (val);</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-fnmatch_helper(</div><div class='del'>-    const char **pcur, /* pattern */</div><div class='del'>-    const char **scur, /* string */</div><div class='del'>-    int flags,</div><div class='del'>-    rb_encoding *enc)</div><div class='add'>+fnmatch_helper(pcur, scur, flags)</div><div class='add'>+    const char **pcur; /* pattern */</div><div class='add'>+    const char **scur; /* string */</div><div class='add'>+    int flags;</div><div class='ctx'> {</div><div class='ctx'>     const int period = !(flags &amp; FNM_DOTMATCH);</div><div class='ctx'>     const int pathname = flags &amp; FNM_PATHNAME;</div><div class='hunk'>@@ -312,11 +238,7 @@ fnmatch_helper(</div><div class='ctx'>     const char *stmp = 0;</div><div class='ctx'> </div><div class='ctx'>     const char *p = *pcur;</div><div class='del'>-    const char *pend = p + strlen(p);</div><div class='ctx'>     const char *s = *scur;</div><div class='del'>-    const char *send = s + strlen(s);</div><div class='del'>-</div><div class='del'>-    int r;</div><div class='ctx'> </div><div class='ctx'>     if (period &amp;&amp; *s == '.' &amp;&amp; *UNESCAPE(p) != '.') /* leading period */</div><div class='ctx'> 	RETURN(FNM_NOMATCH);</div><div class='hunk'>@@ -339,16 +261,16 @@ fnmatch_helper(</div><div class='ctx'> 	    if (ISEND(s))</div><div class='ctx'> 		RETURN(FNM_NOMATCH);</div><div class='ctx'> 	    p++;</div><div class='del'>-	    Inc(s, send, enc);</div><div class='add'>+	    Inc(s);</div><div class='ctx'> 	    continue;</div><div class='ctx'> </div><div class='ctx'> 	  case '[': {</div><div class='ctx'> 	    const char *t;</div><div class='ctx'> 	    if (ISEND(s))</div><div class='ctx'> 		RETURN(FNM_NOMATCH);</div><div class='del'>-	    if ((t = bracket(p + 1, pend, s, send, flags, enc)) != 0) {</div><div class='add'>+	    if (t = bracket(p + 1, s, flags)) {</div><div class='ctx'> 		p = t;</div><div class='del'>-		Inc(s, send, enc);</div><div class='add'>+		Inc(s);</div><div class='ctx'> 		continue;</div><div class='ctx'> 	    }</div><div class='ctx'> 	    goto failed;</div><div class='hunk'>@@ -361,26 +283,16 @@ fnmatch_helper(</div><div class='ctx'> 	    RETURN(ISEND(p) ? 0 : FNM_NOMATCH);</div><div class='ctx'> 	if (ISEND(p))</div><div class='ctx'> 	    goto failed;</div><div class='del'>-	r = rb_enc_precise_mbclen(p, pend, enc);</div><div class='del'>-	if (!MBCLEN_CHARFOUND_P(r))</div><div class='del'>-	    goto failed;</div><div class='del'>-	if (r &lt;= (send-s) &amp;&amp; memcmp(p, s, r) == 0) {</div><div class='del'>-	    p += r;</div><div class='del'>-	    s += r;</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='del'>-	if (!nocase) goto failed;</div><div class='del'>-	if (rb_enc_toupper(rb_enc_codepoint(p, pend, enc), enc) !=</div><div class='del'>-	    rb_enc_toupper(rb_enc_codepoint(s, send, enc), enc))</div><div class='add'>+	if (Compare(p, s) != 0)</div><div class='ctx'> 	    goto failed;</div><div class='del'>-	p += r;</div><div class='del'>-	Inc(s, send, enc);</div><div class='add'>+	Inc(p);</div><div class='add'>+	Inc(s);</div><div class='ctx'> 	continue;</div><div class='ctx'> </div><div class='ctx'>       failed: /* try next '*' position */</div><div class='ctx'> 	if (ptmp &amp;&amp; stmp) {</div><div class='ctx'> 	    p = ptmp;</div><div class='del'>-	    Inc(stmp, send, enc); /* !ISEND(*stmp) */</div><div class='add'>+	    Inc(stmp); /* !ISEND(*stmp) */</div><div class='ctx'> 	    s = stmp;</div><div class='ctx'> 	    continue;</div><div class='ctx'> 	}</div><div class='hunk'>@@ -389,15 +301,11 @@ fnmatch_helper(</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-fnmatch(</div><div class='del'>-    const char *pattern,</div><div class='del'>-    rb_encoding *enc,</div><div class='del'>-    const char *string,</div><div class='del'>-    int flags)</div><div class='add'>+fnmatch(p, s, flags)</div><div class='add'>+    const char *p; /* pattern */</div><div class='add'>+    const char *s; /* string */</div><div class='add'>+    int flags;</div><div class='ctx'> {</div><div class='del'>-    const char *p = pattern;</div><div class='del'>-    const char *s = string;</div><div class='del'>-    const char *send = s + strlen(string);</div><div class='ctx'>     const int period = !(flags &amp; FNM_DOTMATCH);</div><div class='ctx'>     const int pathname = flags &amp; FNM_PATHNAME;</div><div class='ctx'> </div><div class='hunk'>@@ -411,8 +319,8 @@ fnmatch(</div><div class='ctx'> 		ptmp = p;</div><div class='ctx'> 		stmp = s;</div><div class='ctx'> 	    }</div><div class='del'>-	    if (fnmatch_helper(&amp;p, &amp;s, flags, enc) == 0) {</div><div class='del'>-		while (*s &amp;&amp; *s != '/') Inc(s, send, enc);</div><div class='add'>+	    if (fnmatch_helper(&amp;p, &amp;s, flags) == 0) {</div><div class='add'>+		while (*s &amp;&amp; *s != '/') Inc(s);</div><div class='ctx'> 		if (*p &amp;&amp; *s) {</div><div class='ctx'> 		    p++;</div><div class='ctx'> 		    s++;</div><div class='hunk'>@@ -423,7 +331,7 @@ fnmatch(</div><div class='ctx'> 	    }</div><div class='ctx'> 	    /* failed : try next recursion */</div><div class='ctx'> 	    if (ptmp &amp;&amp; stmp &amp;&amp; !(period &amp;&amp; *stmp == '.')) {</div><div class='del'>-		while (*stmp &amp;&amp; *stmp != '/') Inc(stmp, send, enc);</div><div class='add'>+		while (*stmp &amp;&amp; *stmp != '/') Inc(stmp);</div><div class='ctx'> 		if (*stmp) {</div><div class='ctx'> 		    p = ptmp;</div><div class='ctx'> 		    stmp++;</div><div class='hunk'>@@ -435,162 +343,80 @@ fnmatch(</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'>     else</div><div class='del'>-	return fnmatch_helper(&amp;p, &amp;s, flags, enc);</div><div class='add'>+	return fnmatch_helper(&amp;p, &amp;s, flags);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE rb_cDir;</div><div class='ctx'> </div><div class='ctx'> struct dir_data {</div><div class='ctx'>     DIR *dir;</div><div class='del'>-    const VALUE path;</div><div class='del'>-    rb_encoding *enc;</div><div class='add'>+    char *path;</div><div class='ctx'> };</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-dir_mark(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct dir_data *dir = ptr;</div><div class='del'>-    rb_gc_mark(dir-&gt;path);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void</div><div class='del'>-dir_free(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct dir_data *dir = ptr;</div><div class='del'>-</div><div class='del'>-    if (dir-&gt;dir) closedir(dir-&gt;dir);</div><div class='del'>-    xfree(dir);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static size_t</div><div class='del'>-dir_memsize(const void *ptr)</div><div class='add'>+free_dir(dir)</div><div class='add'>+    struct dir_data *dir;</div><div class='ctx'> {</div><div class='del'>-    return sizeof(struct dir_data);</div><div class='add'>+    if (dir) {</div><div class='add'>+	if (dir-&gt;dir) closedir(dir-&gt;dir);</div><div class='add'>+	if (dir-&gt;path) free(dir-&gt;path);</div><div class='add'>+    }</div><div class='add'>+    free(dir);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static const rb_data_type_t dir_data_type = {</div><div class='del'>-    "dir",</div><div class='del'>-    {dir_mark, dir_free, dir_memsize,},</div><div class='del'>-    0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static VALUE dir_close(VALUE);</div><div class='add'>+static VALUE dir_close _((VALUE));</div><div class='ctx'> </div><div class='add'>+static VALUE dir_s_alloc _((VALUE));</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_alloc(VALUE klass)</div><div class='add'>+dir_s_alloc(klass)</div><div class='add'>+    VALUE klass;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='del'>-    VALUE obj = TypedData_Make_Struct(klass, struct dir_data, &amp;dir_data_type, dirp);</div><div class='add'>+    VALUE obj = Data_Make_Struct(klass, struct dir_data, 0, free_dir, dirp);</div><div class='ctx'> </div><div class='ctx'>     dirp-&gt;dir = NULL;</div><div class='del'>-    RB_OBJ_WRITE(obj, &amp;dirp-&gt;path, Qnil);</div><div class='del'>-    dirp-&gt;enc = NULL;</div><div class='add'>+    dirp-&gt;path = NULL;</div><div class='ctx'> </div><div class='ctx'>     return obj;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void *</div><div class='del'>-nogvl_opendir(void *ptr)</div><div class='del'>-{</div><div class='del'>-    const char *path = ptr;</div><div class='del'>-</div><div class='del'>-    return (void *)opendir(path);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static DIR *</div><div class='del'>-opendir_without_gvl(const char *path)</div><div class='del'>-{</div><div class='del'>-    if (vm_initialized) {</div><div class='del'>-	union { const void *in; void *out; } u;</div><div class='del'>-</div><div class='del'>-	u.in = path;</div><div class='del'>-</div><div class='del'>-	return rb_thread_call_without_gvl(nogvl_opendir, u.out, RUBY_UBF_IO, 0);</div><div class='del'>-    }</div><div class='del'>-    else</div><div class='del'>-	return opendir(path);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='ctx'>  *     Dir.new( string ) -&gt; aDir</div><div class='del'>- *     Dir.new( string, encoding: enc ) -&gt; aDir</div><div class='ctx'>  *</div><div class='ctx'>  *  Returns a new directory object for the named directory.</div><div class='del'>- *</div><div class='del'>- *  The optional &lt;i&gt;encoding&lt;/i&gt; keyword argument specifies the encoding of the directory.</div><div class='del'>- *  If not specified, the filesystem encoding is used.</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_initialize(int argc, VALUE *argv, VALUE dir)</div><div class='add'>+dir_initialize(dir, dirname)</div><div class='add'>+    VALUE dir, dirname;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dp;</div><div class='del'>-    rb_encoding  *fsenc;</div><div class='del'>-    VALUE dirname, opt, orig;</div><div class='del'>-    static ID keyword_ids[1];</div><div class='del'>-    const char *path;</div><div class='del'>-</div><div class='del'>-    if (!keyword_ids[0]) {</div><div class='del'>-	keyword_ids[0] = rb_id_encoding();</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    fsenc = rb_filesystem_encoding();</div><div class='del'>-</div><div class='del'>-    rb_scan_args(argc, argv, "1:", &amp;dirname, &amp;opt);</div><div class='del'>-</div><div class='del'>-    if (!NIL_P(opt)) {</div><div class='del'>-	VALUE enc;</div><div class='del'>-	rb_get_kwargs(opt, keyword_ids, 0, 1, &amp;enc);</div><div class='del'>-	if (enc != Qundef &amp;&amp; !NIL_P(enc)) {</div><div class='del'>-	    fsenc = rb_to_encoding(enc);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='ctx'> </div><div class='del'>-    FilePathValue(dirname);</div><div class='del'>-    orig = rb_str_dup_frozen(dirname);</div><div class='del'>-    dirname = rb_str_encode_ospath(dirname);</div><div class='del'>-    dirname = rb_str_dup_frozen(dirname);</div><div class='del'>-</div><div class='del'>-    TypedData_Get_Struct(dir, struct dir_data, &amp;dir_data_type, dp);</div><div class='add'>+    SafeStringValue(dirname);</div><div class='add'>+    Data_Get_Struct(dir, struct dir_data, dp);</div><div class='ctx'>     if (dp-&gt;dir) closedir(dp-&gt;dir);</div><div class='add'>+    if (dp-&gt;path) free(dp-&gt;path);</div><div class='ctx'>     dp-&gt;dir = NULL;</div><div class='del'>-    RB_OBJ_WRITE(dir, &amp;dp-&gt;path, Qnil);</div><div class='del'>-    dp-&gt;enc = fsenc;</div><div class='del'>-    path = RSTRING_PTR(dirname);</div><div class='del'>-    dp-&gt;dir = opendir_without_gvl(path);</div><div class='add'>+    dp-&gt;path = NULL;</div><div class='add'>+    dp-&gt;dir = opendir(RSTRING(dirname)-&gt;ptr);</div><div class='ctx'>     if (dp-&gt;dir == NULL) {</div><div class='del'>-	int e = errno;</div><div class='del'>-	if (rb_gc_for_fd(e)) {</div><div class='del'>-	    dp-&gt;dir = opendir_without_gvl(path);</div><div class='del'>-	}</div><div class='del'>-#ifdef HAVE_GETATTRLIST</div><div class='del'>-	else if (e == EIO) {</div><div class='del'>-	    u_int32_t attrbuf[1];</div><div class='del'>-	    struct attrlist al = {ATTR_BIT_MAP_COUNT, 0};</div><div class='del'>-	    if (getattrlist(path, &amp;al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW) == 0) {</div><div class='del'>-		dp-&gt;dir = opendir_without_gvl(path);</div><div class='del'>-	    }</div><div class='add'>+	if (errno == EMFILE || errno == ENFILE) {</div><div class='add'>+	    rb_gc();</div><div class='add'>+	    dp-&gt;dir = opendir(RSTRING(dirname)-&gt;ptr);</div><div class='ctx'> 	}</div><div class='del'>-#endif</div><div class='ctx'> 	if (dp-&gt;dir == NULL) {</div><div class='del'>-	    RB_GC_GUARD(dirname);</div><div class='del'>-	    rb_syserr_fail_path(e, orig);</div><div class='add'>+	    rb_sys_fail(RSTRING(dirname)-&gt;ptr);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    RB_OBJ_WRITE(dir, &amp;dp-&gt;path, orig);</div><div class='add'>+    dp-&gt;path = strdup(RSTRING(dirname)-&gt;ptr);</div><div class='ctx'> </div><div class='ctx'>     return dir;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.open( string ) -&gt; aDir</div><div class='del'>- *     Dir.open( string, encoding: enc ) -&gt; aDir</div><div class='del'>- *     Dir.open( string ) {| aDir | block } -&gt; anObject</div><div class='del'>- *     Dir.open( string, encoding: enc ) {| aDir | block } -&gt; anObject</div><div class='del'>- *</div><div class='del'>- *  The optional &lt;i&gt;encoding&lt;/i&gt; keyword argument specifies the encoding of the directory.</div><div class='del'>- *  If not specified, the filesystem encoding is used.</div><div class='add'>+ *     Dir.open( string ) =&gt; aDir</div><div class='add'>+ *     Dir.open( string ) {| aDir | block } =&gt; anObject</div><div class='ctx'>  *</div><div class='ctx'>  *  With no block, &lt;code&gt;open&lt;/code&gt; is a synonym for</div><div class='ctx'>  *  &lt;code&gt;Dir::new&lt;/code&gt;. If a block is present, it is passed</div><div class='hunk'>@@ -598,13 +424,15 @@ dir_initialize(int argc, VALUE *argv, VALUE dir)</div><div class='ctx'>  *  the block, and &lt;code&gt;Dir::open&lt;/code&gt; returns the value of the</div><div class='ctx'>  *  block.</div><div class='ctx'>  */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_open(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+dir_s_open(klass, dirname)</div><div class='add'>+    VALUE klass, dirname;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dp;</div><div class='del'>-    VALUE dir = TypedData_Make_Struct(klass, struct dir_data, &amp;dir_data_type, dp);</div><div class='add'>+    VALUE dir = Data_Make_Struct(klass, struct dir_data, 0, free_dir, dp);</div><div class='ctx'> </div><div class='del'>-    dir_initialize(argc, argv, dir);</div><div class='add'>+    dir_initialize(dir, dirname);</div><div class='ctx'>     if (rb_block_given_p()) {</div><div class='ctx'> 	return rb_ensure(rb_yield, dir, dir_close, dir);</div><div class='ctx'>     }</div><div class='hunk'>@@ -612,103 +440,53 @@ dir_s_open(int argc, VALUE *argv, VALUE klass)</div><div class='ctx'>     return dir;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-NORETURN(static void dir_closed(void));</div><div class='del'>-</div><div class='ctx'> static void</div><div class='del'>-dir_closed(void)</div><div class='add'>+dir_closed()</div><div class='ctx'> {</div><div class='ctx'>     rb_raise(rb_eIOError, "closed directory");</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static struct dir_data *</div><div class='del'>-dir_get(VALUE dir)</div><div class='add'>+static void</div><div class='add'>+dir_check(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='add'>+    if (!OBJ_TAINTED(dir) &amp;&amp; rb_safe_level() &gt;= 4)</div><div class='add'>+	rb_raise(rb_eSecurityError, "Insecure: operation on untainted Dir");</div><div class='ctx'>     rb_check_frozen(dir);</div><div class='del'>-    return rb_check_typeddata(dir, &amp;dir_data_type);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static struct dir_data *</div><div class='del'>-dir_check(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    struct dir_data *dirp = dir_get(dir);</div><div class='del'>-    if (!dirp-&gt;dir) dir_closed();</div><div class='del'>-    return dirp;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#define GetDIR(obj, dirp) ((dirp) = dir_check(obj))</div><div class='del'>-</div><div class='add'>+#define GetDIR(obj, dirp) do {\</div><div class='add'>+    dir_check(dir);\</div><div class='add'>+    Data_Get_Struct(obj, struct dir_data, dirp);\</div><div class='add'>+    if (dirp-&gt;dir == NULL) dir_closed();\</div><div class='add'>+} while (0)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.inspect -&gt; string</div><div class='add'>+ *     dir.inspect =&gt; string</div><div class='ctx'>  *</div><div class='ctx'>  *  Return a string describing this Dir object.</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_inspect(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    struct dir_data *dirp;</div><div class='del'>-</div><div class='del'>-    TypedData_Get_Struct(dir, struct dir_data, &amp;dir_data_type, dirp);</div><div class='del'>-    if (!NIL_P(dirp-&gt;path)) {</div><div class='del'>-	VALUE str = rb_str_new_cstr("#&lt;");</div><div class='del'>-	rb_str_append(str, rb_class_name(CLASS_OF(dir)));</div><div class='del'>-	rb_str_cat2(str, ":");</div><div class='del'>-	rb_str_append(str, dirp-&gt;path);</div><div class='del'>-	rb_str_cat2(str, "&gt;");</div><div class='del'>-	return str;</div><div class='del'>-    }</div><div class='del'>-    return rb_funcallv(dir, idTo_s, 0, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* Workaround for Solaris 10 that does not have dirfd.</div><div class='del'>-   Note: Solaris 11 (POSIX.1-2008 compliant) has dirfd(3C).</div><div class='del'>- */</div><div class='del'>-#if defined(__sun) &amp;&amp; !defined(HAVE_DIRFD)</div><div class='del'>-# if defined(HAVE_DIR_D_FD)</div><div class='del'>-#  define dirfd(x) ((x)-&gt;d_fd)</div><div class='del'>-#  define HAVE_DIRFD 1</div><div class='del'>-# elif defined(HAVE_DIR_DD_FD)</div><div class='del'>-#  define dirfd(x) ((x)-&gt;dd_fd)</div><div class='del'>-#  define HAVE_DIRFD 1</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_DIRFD</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     dir.fileno -&gt; integer</div><div class='del'>- *</div><div class='del'>- *  Returns the file descriptor used in &lt;em&gt;dir&lt;/em&gt;.</div><div class='del'>- *</div><div class='del'>- *     d = Dir.new("..")</div><div class='del'>- *     d.fileno   #=&gt; 8</div><div class='del'>- *</div><div class='del'>- *  This method uses dirfd() function defined by POSIX 2008.</div><div class='del'>- *  NotImplementedError is raised on other platforms, such as Windows,</div><div class='del'>- *  which doesn't provide the function.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-dir_fileno(VALUE dir)</div><div class='add'>+dir_inspect(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='del'>-    int fd;</div><div class='ctx'> </div><div class='ctx'>     GetDIR(dir, dirp);</div><div class='del'>-    fd = dirfd(dirp-&gt;dir);</div><div class='del'>-    if (fd == -1)</div><div class='del'>-	rb_sys_fail("dirfd");</div><div class='del'>-    return INT2NUM(fd);</div><div class='add'>+    if (dirp-&gt;path) {</div><div class='add'>+	char *c = rb_obj_classname(dir);</div><div class='add'>+	int len = strlen(c) + strlen(dirp-&gt;path) + 4;</div><div class='add'>+	VALUE s = rb_str_new(0, len);</div><div class='add'>+	snprintf(RSTRING_PTR(s), len+1, "#&lt;%s:%s&gt;", c, dirp-&gt;path);</div><div class='add'>+	return s;</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(dir, rb_intern("to_s"), 0, 0);</div><div class='ctx'> }</div><div class='del'>-#else</div><div class='del'>-#define dir_fileno rb_f_notimplement</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.path -&gt; string or nil</div><div class='del'>- *     dir.to_path -&gt; string or nil</div><div class='add'>+ *     dir.path =&gt; string or nil</div><div class='ctx'>  *</div><div class='ctx'>  *  Returns the path parameter passed to &lt;em&gt;dir&lt;/em&gt;'s constructor.</div><div class='ctx'>  *</div><div class='hunk'>@@ -716,59 +494,19 @@ dir_fileno(VALUE dir)</div><div class='ctx'>  *     d.path   #=&gt; ".."</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_path(VALUE dir)</div><div class='add'>+dir_path(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='ctx'> </div><div class='del'>-    TypedData_Get_Struct(dir, struct dir_data, &amp;dir_data_type, dirp);</div><div class='del'>-    if (NIL_P(dirp-&gt;path)) return Qnil;</div><div class='del'>-    return rb_str_dup(dirp-&gt;path);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if defined _WIN32</div><div class='del'>-static int</div><div class='del'>-fundamental_encoding_p(rb_encoding *enc)</div><div class='del'>-{</div><div class='del'>-    switch (rb_enc_to_index(enc)) {</div><div class='del'>-      case ENCINDEX_ASCII:</div><div class='del'>-      case ENCINDEX_US_ASCII:</div><div class='del'>-      case ENCINDEX_UTF_8:</div><div class='del'>-	return TRUE;</div><div class='del'>-      default:</div><div class='del'>-	return FALSE;</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-# define READDIR(dir, enc) rb_w32_readdir((dir), (enc))</div><div class='del'>-#else</div><div class='del'>-# define READDIR(dir, enc) readdir((dir))</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/* safe to use without GVL */</div><div class='del'>-static int</div><div class='del'>-to_be_skipped(const struct dirent *dp)</div><div class='del'>-{</div><div class='del'>-    const char *name = dp-&gt;d_name;</div><div class='del'>-    if (name[0] != '.') return FALSE;</div><div class='del'>-#ifdef HAVE_DIRENT_NAMLEN</div><div class='del'>-    switch (NAMLEN(dp)) {</div><div class='del'>-      case 2:</div><div class='del'>-	if (name[1] != '.') return FALSE;</div><div class='del'>-      case 1:</div><div class='del'>-	return TRUE;</div><div class='del'>-      default:</div><div class='del'>-	break;</div><div class='del'>-    }</div><div class='del'>-#else</div><div class='del'>-    if (!name[1]) return TRUE;</div><div class='del'>-    if (name[1] != '.') return FALSE;</div><div class='del'>-    if (!name[2]) return TRUE;</div><div class='del'>-#endif</div><div class='del'>-    return FALSE;</div><div class='add'>+    GetDIR(dir, dirp);</div><div class='add'>+    if (!dirp-&gt;path) return Qnil;</div><div class='add'>+    return rb_str_new2(dirp-&gt;path);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.read -&gt; string or nil</div><div class='add'>+ *     dir.read =&gt; string or nil</div><div class='ctx'>  *</div><div class='ctx'>  *  Reads the next entry from &lt;em&gt;dir&lt;/em&gt; and returns it as a string.</div><div class='ctx'>  *  Returns &lt;code&gt;nil&lt;/code&gt; at the end of the stream.</div><div class='hunk'>@@ -779,41 +517,34 @@ to_be_skipped(const struct dirent *dp)</div><div class='ctx'>  *     d.read   #=&gt; "config.h"</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_read(VALUE dir)</div><div class='add'>+dir_read(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='ctx'>     struct dirent *dp;</div><div class='ctx'> </div><div class='ctx'>     GetDIR(dir, dirp);</div><div class='ctx'>     errno = 0;</div><div class='del'>-    if ((dp = READDIR(dirp-&gt;dir, dirp-&gt;enc)) != NULL) {</div><div class='del'>-	return rb_external_str_new_with_enc(dp-&gt;d_name, NAMLEN(dp), dirp-&gt;enc);</div><div class='add'>+    dp = readdir(dirp-&gt;dir);</div><div class='add'>+    if (dp) {</div><div class='add'>+	return rb_tainted_str_new(dp-&gt;d_name, NAMLEN(dp));</div><div class='add'>+    }</div><div class='add'>+    else if (errno == 0) {	/* end of stream */</div><div class='add'>+	return Qnil;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	int e = errno;</div><div class='del'>-	if (e != 0) rb_syserr_fail(e, 0);</div><div class='del'>-	return Qnil;		/* end of stream */</div><div class='add'>+	rb_sys_fail(0);</div><div class='ctx'>     }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE dir_each_entry(VALUE, VALUE (*)(VALUE, VALUE), VALUE, int);</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-dir_yield(VALUE arg, VALUE path)</div><div class='del'>-{</div><div class='del'>-    return rb_yield(path);</div><div class='add'>+    return Qnil;		/* not reached */</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.each { |filename| block }  -&gt; dir</div><div class='del'>- *     dir.each                       -&gt; an_enumerator</div><div class='add'>+ *     dir.each { |filename| block }  =&gt; dir</div><div class='ctx'>  *</div><div class='ctx'>  *  Calls the block once for each entry in this directory, passing the</div><div class='ctx'>  *  filename of each entry as a parameter to the block.</div><div class='ctx'>  *</div><div class='del'>- *  If no block is given, an enumerator is returned instead.</div><div class='del'>- *</div><div class='ctx'>  *     d = Dir.new("testdir")</div><div class='ctx'>  *     d.each  {|x| puts "Got #{x}" }</div><div class='ctx'>  *</div><div class='hunk'>@@ -825,50 +556,25 @@ dir_yield(VALUE arg, VALUE path)</div><div class='ctx'>  *     Got main.rb</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_each(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    RETURN_ENUMERATOR(dir, 0, 0);</div><div class='del'>-    return dir_each_entry(dir, dir_yield, Qnil, FALSE);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-dir_each_entry(VALUE dir, VALUE (*each)(VALUE, VALUE), VALUE arg, int children_only)</div><div class='add'>+dir_each(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='ctx'>     struct dirent *dp;</div><div class='del'>-    IF_NORMALIZE_UTF8PATH(int norm_p);</div><div class='ctx'> </div><div class='ctx'>     GetDIR(dir, dirp);</div><div class='ctx'>     rewinddir(dirp-&gt;dir);</div><div class='del'>-    IF_NORMALIZE_UTF8PATH(norm_p = need_normalization(dirp-&gt;dir, RSTRING_PTR(dirp-&gt;path)));</div><div class='del'>-    while ((dp = READDIR(dirp-&gt;dir, dirp-&gt;enc)) != NULL) {</div><div class='del'>-	const char *name = dp-&gt;d_name;</div><div class='del'>-	size_t namlen = NAMLEN(dp);</div><div class='del'>-	VALUE path;</div><div class='del'>-</div><div class='del'>-	if (children_only &amp;&amp; name[0] == '.') {</div><div class='del'>-	    if (namlen == 1) continue; /* current directory */</div><div class='del'>-	    if (namlen == 2 &amp;&amp; name[1] == '.') continue; /* parent directory */</div><div class='del'>-	}</div><div class='del'>-#if NORMALIZE_UTF8PATH</div><div class='del'>-	if (norm_p &amp;&amp; has_nonascii(name, namlen) &amp;&amp;</div><div class='del'>-	    !NIL_P(path = rb_str_normalize_ospath(name, namlen))) {</div><div class='del'>-	    path = rb_external_str_with_enc(path, dirp-&gt;enc);</div><div class='del'>-	}</div><div class='del'>-	else</div><div class='del'>-#endif</div><div class='del'>-	path = rb_external_str_new_with_enc(name, namlen, dirp-&gt;enc);</div><div class='del'>-	(*each)(arg, path);</div><div class='add'>+    for (dp = readdir(dirp-&gt;dir); dp != NULL; dp = readdir(dirp-&gt;dir)) {</div><div class='add'>+	rb_yield(rb_tainted_str_new(dp-&gt;d_name, NAMLEN(dp)));</div><div class='ctx'> 	if (dirp-&gt;dir == NULL) dir_closed();</div><div class='ctx'>     }</div><div class='ctx'>     return dir;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_TELLDIR</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.pos -&gt; integer</div><div class='del'>- *     dir.tell -&gt; integer</div><div class='add'>+ *     dir.pos =&gt; integer</div><div class='add'>+ *     dir.tell =&gt; integer</div><div class='ctx'>  *</div><div class='ctx'>  *  Returns the current position in &lt;em&gt;dir&lt;/em&gt;. See also</div><div class='ctx'>  *  &lt;code&gt;Dir#seek&lt;/code&gt;.</div><div class='hunk'>@@ -879,23 +585,24 @@ dir_each_entry(VALUE dir, VALUE (*each)(VALUE, VALUE), VALUE arg, int children_o</div><div class='ctx'>  *     d.tell   #=&gt; 12</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_tell(VALUE dir)</div><div class='add'>+dir_tell(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='add'>+#ifdef HAVE_TELLDIR</div><div class='ctx'>     struct dir_data *dirp;</div><div class='ctx'>     long pos;</div><div class='ctx'> </div><div class='ctx'>     GetDIR(dir, dirp);</div><div class='ctx'>     pos = telldir(dirp-&gt;dir);</div><div class='ctx'>     return rb_int2inum(pos);</div><div class='del'>-}</div><div class='ctx'> #else</div><div class='del'>-#define dir_tell rb_f_notimplement</div><div class='add'>+    rb_notimplement();</div><div class='ctx'> #endif</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_SEEKDIR</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.seek( integer ) -&gt; dir</div><div class='add'>+ *     dir.seek( integer ) =&gt; dir</div><div class='ctx'>  *</div><div class='ctx'>  *  Seeks to a particular location in &lt;em&gt;dir&lt;/em&gt;. &lt;i&gt;integer&lt;/i&gt;</div><div class='ctx'>  *  must be a value returned by &lt;code&gt;Dir#tell&lt;/code&gt;.</div><div class='hunk'>@@ -908,23 +615,24 @@ dir_tell(VALUE dir)</div><div class='ctx'>  *     d.read                   #=&gt; ".."</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_seek(VALUE dir, VALUE pos)</div><div class='add'>+dir_seek(dir, pos)</div><div class='add'>+    VALUE dir, pos;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='del'>-    long p = NUM2LONG(pos);</div><div class='add'>+    off_t p = NUM2OFFT(pos);</div><div class='ctx'> </div><div class='ctx'>     GetDIR(dir, dirp);</div><div class='add'>+#ifdef HAVE_SEEKDIR</div><div class='ctx'>     seekdir(dirp-&gt;dir, p);</div><div class='ctx'>     return dir;</div><div class='del'>-}</div><div class='ctx'> #else</div><div class='del'>-#define dir_seek rb_f_notimplement</div><div class='add'>+    rb_notimplement();</div><div class='ctx'> #endif</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_SEEKDIR</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.pos = integer  -&gt; integer</div><div class='add'>+ *     dir.pos( integer ) =&gt; integer</div><div class='ctx'>  *</div><div class='ctx'>  *  Synonym for &lt;code&gt;Dir#seek&lt;/code&gt;, but returns the position</div><div class='ctx'>  *  parameter.</div><div class='hunk'>@@ -937,18 +645,16 @@ dir_seek(VALUE dir, VALUE pos)</div><div class='ctx'>  *     d.read                   #=&gt; ".."</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_set_pos(VALUE dir, VALUE pos)</div><div class='add'>+dir_set_pos(dir, pos)</div><div class='add'>+    VALUE dir, pos;</div><div class='ctx'> {</div><div class='ctx'>     dir_seek(dir, pos);</div><div class='ctx'>     return pos;</div><div class='ctx'> }</div><div class='del'>-#else</div><div class='del'>-#define dir_set_pos rb_f_notimplement</div><div class='del'>-#endif</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.rewind -&gt; dir</div><div class='add'>+ *     dir.rewind =&gt; dir</div><div class='ctx'>  *</div><div class='ctx'>  *  Repositions &lt;em&gt;dir&lt;/em&gt; to the first entry.</div><div class='ctx'>  *</div><div class='hunk'>@@ -958,10 +664,14 @@ dir_set_pos(VALUE dir, VALUE pos)</div><div class='ctx'>  *     d.read     #=&gt; "."</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_rewind(VALUE dir)</div><div class='add'>+dir_rewind(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='ctx'> </div><div class='add'>+    if (rb_safe_level() &gt;= 4 &amp;&amp; !OBJ_TAINTED(dir)) {</div><div class='add'>+	rb_raise(rb_eSecurityError, "Insecure: can't close");</div><div class='add'>+    }</div><div class='ctx'>     GetDIR(dir, dirp);</div><div class='ctx'>     rewinddir(dirp-&gt;dir);</div><div class='ctx'>     return dir;</div><div class='hunk'>@@ -969,40 +679,33 @@ dir_rewind(VALUE dir)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     dir.close -&gt; nil</div><div class='add'>+ *     dir.close =&gt; nil</div><div class='ctx'>  *</div><div class='del'>- *  Closes the directory stream.</div><div class='del'>- *  Calling this method on closed Dir object is ignored since Ruby 2.3.</div><div class='add'>+ *  Closes the directory stream. Any further attempts to access</div><div class='add'>+ *  &lt;em&gt;dir&lt;/em&gt; will raise an &lt;code&gt;IOError&lt;/code&gt;.</div><div class='ctx'>  *</div><div class='ctx'>  *     d = Dir.new("testdir")</div><div class='ctx'>  *     d.close   #=&gt; nil</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_close(VALUE dir)</div><div class='add'>+dir_close(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='ctx'>     struct dir_data *dirp;</div><div class='ctx'> </div><div class='del'>-    dirp = dir_get(dir);</div><div class='del'>-    if (!dirp-&gt;dir) return Qnil;</div><div class='add'>+    GetDIR(dir, dirp);</div><div class='ctx'>     closedir(dirp-&gt;dir);</div><div class='ctx'>     dirp-&gt;dir = NULL;</div><div class='ctx'> </div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void *</div><div class='del'>-nogvl_chdir(void *ptr)</div><div class='del'>-{</div><div class='del'>-    const char *path = ptr;</div><div class='del'>-</div><div class='del'>-    return (void *)(VALUE)chdir(path);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> static void</div><div class='del'>-dir_chdir(VALUE path)</div><div class='add'>+dir_chdir(path)</div><div class='add'>+    VALUE path;</div><div class='ctx'> {</div><div class='del'>-    if (chdir(RSTRING_PTR(path)) &lt; 0)</div><div class='del'>-	rb_sys_fail_path(path);</div><div class='add'>+    if (chdir(RSTRING(path)-&gt;ptr) &lt; 0)</div><div class='add'>+	rb_sys_fail(RSTRING(path)-&gt;ptr);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int chdir_blocking = 0;</div><div class='hunk'>@@ -1014,10 +717,11 @@ struct chdir_data {</div><div class='ctx'> };</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-chdir_yield(struct chdir_data *args)</div><div class='add'>+chdir_yield(args)</div><div class='add'>+    struct chdir_data *args;</div><div class='ctx'> {</div><div class='ctx'>     dir_chdir(args-&gt;new_path);</div><div class='del'>-    args-&gt;done = TRUE;</div><div class='add'>+    args-&gt;done = Qtrue;</div><div class='ctx'>     chdir_blocking++;</div><div class='ctx'>     if (chdir_thread == Qnil)</div><div class='ctx'> 	chdir_thread = rb_thread_current();</div><div class='hunk'>@@ -1025,7 +729,8 @@ chdir_yield(struct chdir_data *args)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-chdir_restore(struct chdir_data *args)</div><div class='add'>+chdir_restore(args)</div><div class='add'>+    struct chdir_data *args;</div><div class='ctx'> {</div><div class='ctx'>     if (args-&gt;done) {</div><div class='ctx'> 	chdir_blocking--;</div><div class='hunk'>@@ -1038,8 +743,8 @@ chdir_restore(struct chdir_data *args)</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.chdir( [ string] ) -&gt; 0</div><div class='del'>- *     Dir.chdir( [ string] ) {| path | block }  -&gt; anObject</div><div class='add'>+ *     Dir.chdir( [ string] ) =&gt; 0</div><div class='add'>+ *     Dir.chdir( [ string] ) {| path | block }  =&gt; anObject</div><div class='ctx'>  *</div><div class='ctx'>  *  Changes the current working directory of the process to the given</div><div class='ctx'>  *  string. When called without an argument, changes the directory to</div><div class='hunk'>@@ -1076,12 +781,16 @@ chdir_restore(struct chdir_data *args)</div><div class='ctx'>  *     /var/spool/mail</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_chdir(int argc, VALUE *argv, VALUE obj)</div><div class='add'>+dir_s_chdir(argc, argv, obj)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='ctx'>     VALUE path = Qnil;</div><div class='ctx'> </div><div class='del'>-    if (rb_check_arity(argc, 0, 1) == 1) {</div><div class='del'>-        path = rb_str_encode_ospath(rb_get_path(argv[0]));</div><div class='add'>+    rb_secure(2);</div><div class='add'>+    if (rb_scan_args(argc, argv, "01", &amp;path) == 1) {</div><div class='add'>+	SafeStringValue(path);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='ctx'> 	const char *dist = getenv("HOME");</div><div class='hunk'>@@ -1099,111 +808,62 @@ dir_s_chdir(int argc, VALUE *argv, VALUE obj)</div><div class='ctx'> </div><div class='ctx'>     if (rb_block_given_p()) {</div><div class='ctx'> 	struct chdir_data args;</div><div class='add'>+	char *cwd = my_getcwd();</div><div class='ctx'> </div><div class='del'>-	args.old_path = rb_str_encode_ospath(rb_dir_getwd());</div><div class='add'>+	args.old_path = rb_tainted_str_new2(cwd); free(cwd);</div><div class='ctx'> 	args.new_path = path;</div><div class='del'>-	args.done = FALSE;</div><div class='add'>+	args.done = Qfalse;</div><div class='ctx'> 	return rb_ensure(chdir_yield, (VALUE)&amp;args, chdir_restore, (VALUE)&amp;args);</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	char *p = RSTRING_PTR(path);</div><div class='del'>-	int r = (int)(VALUE)rb_thread_call_without_gvl(nogvl_chdir, p,</div><div class='del'>-							RUBY_UBF_IO, 0);</div><div class='del'>-	if (r &lt; 0)</div><div class='del'>-	    rb_sys_fail_path(path);</div><div class='del'>-    }</div><div class='add'>+    dir_chdir(path);</div><div class='ctx'> </div><div class='ctx'>     return INT2FIX(0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifndef _WIN32</div><div class='del'>-VALUE</div><div class='del'>-rb_dir_getwd_ospath(void)</div><div class='del'>-{</div><div class='del'>-    char *path;</div><div class='del'>-    VALUE cwd;</div><div class='del'>-    VALUE path_guard;</div><div class='del'>-</div><div class='del'>-#undef RUBY_UNTYPED_DATA_WARNING</div><div class='del'>-#define RUBY_UNTYPED_DATA_WARNING 0</div><div class='del'>-    path_guard = Data_Wrap_Struct((VALUE)0, NULL, RUBY_DEFAULT_FREE, NULL);</div><div class='del'>-    path = ruby_getcwd();</div><div class='del'>-    DATA_PTR(path_guard) = path;</div><div class='del'>-#ifdef __APPLE__</div><div class='del'>-    cwd = rb_str_normalize_ospath(path, strlen(path));</div><div class='del'>-    OBJ_TAINT(cwd);</div><div class='del'>-#else</div><div class='del'>-    cwd = rb_tainted_str_new2(path);</div><div class='del'>-#endif</div><div class='del'>-    DATA_PTR(path_guard) = 0;</div><div class='del'>-</div><div class='del'>-    xfree(path);</div><div class='del'>-    return cwd;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_dir_getwd(void)</div><div class='del'>-{</div><div class='del'>-    rb_encoding *fs = rb_filesystem_encoding();</div><div class='del'>-    int fsenc = rb_enc_to_index(fs);</div><div class='del'>-    VALUE cwd = rb_dir_getwd_ospath();</div><div class='del'>-</div><div class='del'>-    switch (fsenc) {</div><div class='del'>-      case ENCINDEX_US_ASCII:</div><div class='del'>-	fsenc = ENCINDEX_ASCII;</div><div class='del'>-      case ENCINDEX_ASCII:</div><div class='del'>-	break;</div><div class='del'>-#if defined _WIN32 || defined __APPLE__</div><div class='del'>-      default:</div><div class='del'>-	return rb_str_conv_enc(cwd, NULL, fs);</div><div class='del'>-#endif</div><div class='del'>-    }</div><div class='del'>-    return rb_enc_associate_index(cwd, fsenc);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.getwd -&gt; string</div><div class='del'>- *     Dir.pwd -&gt; string</div><div class='add'>+ *     Dir.getwd =&gt; string</div><div class='add'>+ *     Dir.pwd =&gt; string</div><div class='ctx'>  *</div><div class='ctx'>  *  Returns the path to the current working directory of this process as</div><div class='ctx'>  *  a string.</div><div class='ctx'>  *</div><div class='ctx'>  *     Dir.chdir("/tmp")   #=&gt; 0</div><div class='ctx'>  *     Dir.getwd           #=&gt; "/tmp"</div><div class='del'>- *     Dir.pwd             #=&gt; "/tmp"</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_getwd(VALUE dir)</div><div class='add'>+dir_s_getwd(dir)</div><div class='add'>+    VALUE dir;</div><div class='ctx'> {</div><div class='del'>-    return rb_dir_getwd();</div><div class='add'>+    char *path;</div><div class='add'>+    VALUE cwd;</div><div class='add'>+</div><div class='add'>+    rb_secure(4);</div><div class='add'>+    path = my_getcwd();</div><div class='add'>+    cwd = rb_tainted_str_new2(path);</div><div class='add'>+</div><div class='add'>+    free(path);</div><div class='add'>+    return cwd;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-check_dirname(VALUE dir)</div><div class='add'>+static void check_dirname _((volatile VALUE *));</div><div class='add'>+static void</div><div class='add'>+check_dirname(dir)</div><div class='add'>+    volatile VALUE *dir;</div><div class='ctx'> {</div><div class='del'>-    VALUE d = dir;</div><div class='ctx'>     char *path, *pend;</div><div class='del'>-    long len;</div><div class='del'>-    rb_encoding *enc;</div><div class='del'>-</div><div class='del'>-    FilePathValue(d);</div><div class='del'>-    enc = rb_enc_get(d);</div><div class='del'>-    RSTRING_GETMEM(d, path, len);</div><div class='del'>-    pend = path + len;</div><div class='del'>-    pend = rb_enc_path_end(rb_enc_path_skip_prefix(path, pend, enc), pend, enc);</div><div class='del'>-    if (pend - path &lt; len) {</div><div class='del'>-	d = rb_str_subseq(d, 0, pend - path);</div><div class='del'>-	StringValueCStr(d);</div><div class='add'>+</div><div class='add'>+    SafeStringValue(*dir);</div><div class='add'>+    rb_secure(2);</div><div class='add'>+    path = RSTRING(*dir)-&gt;ptr;</div><div class='add'>+    if (path &amp;&amp; *(pend = rb_path_end(rb_path_skip_prefix(path)))) {</div><div class='add'>+	*dir = rb_str_new(path, pend - path);</div><div class='ctx'>     }</div><div class='del'>-    return rb_str_encode_ospath(d);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#if defined(HAVE_CHROOT)</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.chroot( string ) -&gt; 0</div><div class='add'>+ *     Dir.chroot( string ) =&gt; 0</div><div class='ctx'>  *</div><div class='ctx'>  *  Changes this process's idea of the file system root. Only a</div><div class='ctx'>  *  privileged process may make this call. Not available on all</div><div class='hunk'>@@ -1211,34 +871,25 @@ check_dirname(VALUE dir)</div><div class='ctx'>  *  information.</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_chroot(VALUE dir, VALUE path)</div><div class='add'>+dir_s_chroot(dir, path)</div><div class='add'>+    VALUE dir, path;</div><div class='ctx'> {</div><div class='del'>-    path = check_dirname(path);</div><div class='del'>-    if (chroot(RSTRING_PTR(path)) == -1)</div><div class='del'>-	rb_sys_fail_path(path);</div><div class='add'>+#if defined(HAVE_CHROOT) &amp;&amp; !defined(__CHECKER__)</div><div class='add'>+    check_dirname(&amp;path);</div><div class='add'>+</div><div class='add'>+    if (chroot(RSTRING(path)-&gt;ptr) == -1)</div><div class='add'>+	rb_sys_fail(RSTRING(path)-&gt;ptr);</div><div class='ctx'> </div><div class='ctx'>     return INT2FIX(0);</div><div class='del'>-}</div><div class='ctx'> #else</div><div class='del'>-#define dir_s_chroot rb_f_notimplement</div><div class='add'>+    rb_notimplement();</div><div class='add'>+    return Qnil;		/* not reached */</div><div class='ctx'> #endif</div><div class='del'>-</div><div class='del'>-struct mkdir_arg {</div><div class='del'>-    const char *path;</div><div class='del'>-    mode_t mode;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-nogvl_mkdir(void *ptr)</div><div class='del'>-{</div><div class='del'>-    struct mkdir_arg *m = ptr;</div><div class='del'>-</div><div class='del'>-    return (void *)(VALUE)mkdir(m-&gt;path, m-&gt;mode);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.mkdir( string [, integer] ) -&gt; 0</div><div class='add'>+ *     Dir.mkdir( string [, integer] ) =&gt; 0</div><div class='ctx'>  *</div><div class='ctx'>  *  Makes a new directory named by &lt;i&gt;string&lt;/i&gt;, with permissions</div><div class='ctx'>  *  specified by the optional parameter &lt;i&gt;anInteger&lt;/i&gt;. The</div><div class='hunk'>@@ -1248,350 +899,143 @@ nogvl_mkdir(void *ptr)</div><div class='ctx'>  *  also the discussion of permissions in the class documentation for</div><div class='ctx'>  *  &lt;code&gt;File&lt;/code&gt;.</div><div class='ctx'>  *</div><div class='del'>- *    Dir.mkdir(File.join(Dir.home, ".foo"), 0700) #=&gt; 0</div><div class='del'>- *</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_mkdir(int argc, VALUE *argv, VALUE obj)</div><div class='add'>+dir_s_mkdir(argc, argv, obj)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='del'>-    struct mkdir_arg m;</div><div class='ctx'>     VALUE path, vmode;</div><div class='del'>-    int r;</div><div class='add'>+    int mode;</div><div class='ctx'> </div><div class='ctx'>     if (rb_scan_args(argc, argv, "11", &amp;path, &amp;vmode) == 2) {</div><div class='del'>-	m.mode = NUM2MODET(vmode);</div><div class='add'>+	mode = NUM2INT(vmode);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	m.mode = 0777;</div><div class='add'>+	mode = 0777;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    path = check_dirname(path);</div><div class='del'>-    m.path = RSTRING_PTR(path);</div><div class='del'>-    r = (int)(VALUE)rb_thread_call_without_gvl(nogvl_mkdir, &amp;m, RUBY_UBF_IO, 0);</div><div class='del'>-    if (r &lt; 0)</div><div class='del'>-	rb_sys_fail_path(path);</div><div class='add'>+    check_dirname(&amp;path);</div><div class='add'>+    if (mkdir(RSTRING(path)-&gt;ptr, mode) == -1)</div><div class='add'>+	rb_sys_fail(RSTRING(path)-&gt;ptr);</div><div class='ctx'> </div><div class='ctx'>     return INT2FIX(0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void *</div><div class='del'>-nogvl_rmdir(void *ptr)</div><div class='del'>-{</div><div class='del'>-    const char *path = ptr;</div><div class='del'>-</div><div class='del'>-    return (void *)(VALUE)rmdir(path);</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.delete( string ) -&gt; 0</div><div class='del'>- *     Dir.rmdir( string ) -&gt; 0</div><div class='del'>- *     Dir.unlink( string ) -&gt; 0</div><div class='add'>+ *     Dir.delete( string ) =&gt; 0</div><div class='add'>+ *     Dir.rmdir( string ) =&gt; 0</div><div class='add'>+ *     Dir.unlink( string ) =&gt; 0</div><div class='ctx'>  *</div><div class='ctx'>  *  Deletes the named directory. Raises a subclass of</div><div class='ctx'>  *  &lt;code&gt;SystemCallError&lt;/code&gt; if the directory isn't empty.</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_rmdir(VALUE obj, VALUE dir)</div><div class='add'>+dir_s_rmdir(obj, dir)</div><div class='add'>+    VALUE obj, dir;</div><div class='ctx'> {</div><div class='del'>-    const char *p;</div><div class='del'>-    int r;</div><div class='del'>-</div><div class='del'>-    dir = check_dirname(dir);</div><div class='del'>-    p = RSTRING_PTR(dir);</div><div class='del'>-    r = (int)(VALUE)rb_thread_call_without_gvl(nogvl_rmdir, (void *)p, RUBY_UBF_IO, 0);</div><div class='del'>-    if (r &lt; 0)</div><div class='del'>-	rb_sys_fail_path(dir);</div><div class='add'>+    check_dirname(&amp;dir);</div><div class='add'>+    if (rmdir(RSTRING(dir)-&gt;ptr) &lt; 0)</div><div class='add'>+	rb_sys_fail(RSTRING(dir)-&gt;ptr);</div><div class='ctx'> </div><div class='ctx'>     return INT2FIX(0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-struct warning_args {</div><div class='del'>-#ifdef RUBY_FUNCTION_NAME_STRING</div><div class='del'>-    const char *func;</div><div class='del'>-#endif</div><div class='del'>-    const char *mesg;</div><div class='del'>-    rb_encoding *enc;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-#ifndef RUBY_FUNCTION_NAME_STRING</div><div class='del'>-#define sys_enc_warning_in(func, mesg, enc) sys_enc_warning(mesg, enc)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-sys_warning_1(VALUE mesg)</div><div class='del'>-{</div><div class='del'>-    const struct warning_args *arg = (struct warning_args *)mesg;</div><div class='del'>-#ifdef RUBY_FUNCTION_NAME_STRING</div><div class='del'>-    rb_sys_enc_warning(arg-&gt;enc, "%s: %s", arg-&gt;func, arg-&gt;mesg);</div><div class='del'>-#else</div><div class='del'>-    rb_sys_enc_warning(arg-&gt;enc, "%s", arg-&gt;mesg);</div><div class='del'>-#endif</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> static void</div><div class='del'>-sys_enc_warning_in(const char *func, const char *mesg, rb_encoding *enc)</div><div class='del'>-{</div><div class='del'>-    struct warning_args arg;</div><div class='del'>-#ifdef RUBY_FUNCTION_NAME_STRING</div><div class='del'>-    arg.func = func;</div><div class='del'>-#endif</div><div class='del'>-    arg.mesg = mesg;</div><div class='del'>-    arg.enc = enc;</div><div class='del'>-    rb_protect(sys_warning_1, (VALUE)&amp;arg, 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#define GLOB_VERBOSE	(1U &lt;&lt; (sizeof(int) * CHAR_BIT - 1))</div><div class='del'>-#define sys_warning(val, enc) \</div><div class='del'>-    ((flags &amp; GLOB_VERBOSE) ? sys_enc_warning_in(RUBY_FUNCTION_NAME_STRING, (val), (enc)) :(void)0)</div><div class='del'>-</div><div class='del'>-#define GLOB_ALLOC(type) ((type *)malloc(sizeof(type)))</div><div class='del'>-#define GLOB_ALLOC_N(type, n) ((type *)malloc(sizeof(type) * (n)))</div><div class='del'>-#define GLOB_REALLOC(ptr, size) realloc((ptr), (size))</div><div class='del'>-#define GLOB_FREE(ptr) free(ptr)</div><div class='del'>-#define GLOB_JUMP_TAG(status) (((status) == -1) ? rb_memerror() : rb_jump_tag(status))</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * ENOTDIR can be returned by stat(2) if a non-leaf element of the path</div><div class='del'>- * is not a directory.</div><div class='del'>- */</div><div class='del'>-ALWAYS_INLINE(static int to_be_ignored(int e));</div><div class='del'>-static inline int</div><div class='del'>-to_be_ignored(int e)</div><div class='add'>+sys_warning_1(mesg)</div><div class='add'>+    const char* mesg;</div><div class='ctx'> {</div><div class='del'>-    return e == ENOENT || e == ENOTDIR;</div><div class='add'>+    rb_sys_warning("%s", mesg);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifdef _WIN32</div><div class='del'>-#define STAT(p, s)	rb_w32_ustati128((p), (s))</div><div class='del'>-#undef lstat</div><div class='del'>-#define lstat(p, s)	rb_w32_ulstati128((p), (s))</div><div class='del'>-#else</div><div class='del'>-#define STAT(p, s)	stat((p), (s))</div><div class='del'>-#endif</div><div class='add'>+#define GLOB_VERBOSE	(1UL &lt;&lt; (sizeof(int) * CHAR_BIT - 1))</div><div class='add'>+#define sys_warning(val) \</div><div class='add'>+    (void)((flags &amp; GLOB_VERBOSE) &amp;&amp; rb_protect((VALUE (*)_((VALUE)))sys_warning_1, (VALUE)(val), 0))</div><div class='ctx'> </div><div class='del'>-typedef int ruby_glob_errfunc(const char*, VALUE, const void*, int);</div><div class='del'>-typedef struct {</div><div class='del'>-    ruby_glob_func *match;</div><div class='del'>-    ruby_glob_errfunc *error;</div><div class='del'>-} ruby_glob_funcs_t;</div><div class='del'>-</div><div class='del'>-static const char *</div><div class='del'>-at_subpath(int fd, size_t baselen, const char *path)</div><div class='del'>-{</div><div class='del'>-#if USE_OPENDIR_AT</div><div class='del'>-    if (fd != (int)AT_FDCWD &amp;&amp; baselen &gt; 0) {</div><div class='del'>-	path += baselen;</div><div class='del'>-	if (*path == '/') ++path;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return *path ? path : ".";</div><div class='del'>-}</div><div class='add'>+#define GLOB_ALLOC(type) (type *)malloc(sizeof(type))</div><div class='add'>+#define GLOB_ALLOC_N(type, n) (type *)malloc(sizeof(type) * (n))</div><div class='add'>+#define GLOB_JUMP_TAG(status) ((status == -1) ? rb_memerror() : rb_jump_tag(status))</div><div class='ctx'> </div><div class='ctx'> /* System call with warning */</div><div class='ctx'> static int</div><div class='del'>-do_stat(int fd, size_t baselen, const char *path, struct stat *pst, int flags, rb_encoding *enc)</div><div class='add'>+do_stat(const char *path, struct stat *pst, int flags)</div><div class='add'>+</div><div class='ctx'> {</div><div class='del'>-#if USE_OPENDIR_AT</div><div class='del'>-    int ret = fstatat(fd, at_subpath(fd, baselen, path), pst, 0);</div><div class='del'>-#else</div><div class='del'>-    int ret = STAT(path, pst);</div><div class='del'>-#endif</div><div class='del'>-    if (ret &lt; 0 &amp;&amp; !to_be_ignored(errno))</div><div class='del'>-	sys_warning(path, enc);</div><div class='add'>+    int ret = stat(path, pst);</div><div class='add'>+    if (ret &lt; 0 &amp;&amp; errno != ENOENT)</div><div class='add'>+	sys_warning(path);</div><div class='ctx'> </div><div class='ctx'>     return ret;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#if defined HAVE_LSTAT || defined lstat || USE_OPENDIR_AT</div><div class='ctx'> static int</div><div class='del'>-do_lstat(int fd, size_t baselen, const char *path, struct stat *pst, int flags, rb_encoding *enc)</div><div class='add'>+do_lstat(const char *path, struct stat *pst, int flags)</div><div class='ctx'> {</div><div class='del'>-#if USE_OPENDIR_AT</div><div class='del'>-    int ret = fstatat(fd, at_subpath(fd, baselen, path), pst, AT_SYMLINK_NOFOLLOW);</div><div class='del'>-#else</div><div class='ctx'>     int ret = lstat(path, pst);</div><div class='del'>-#endif</div><div class='del'>-    if (ret &lt; 0 &amp;&amp; !to_be_ignored(errno))</div><div class='del'>-	sys_warning(path, enc);</div><div class='add'>+    if (ret &lt; 0 &amp;&amp; errno != ENOENT)</div><div class='add'>+	sys_warning(path);</div><div class='ctx'> </div><div class='ctx'>     return ret;</div><div class='ctx'> }</div><div class='del'>-#else</div><div class='del'>-#define do_lstat do_stat</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-struct opendir_at_arg {</div><div class='del'>-    int basefd;</div><div class='del'>-    const char *path;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-with_gvl_gc_for_fd(void *ptr)</div><div class='del'>-{</div><div class='del'>-    int *e = ptr;</div><div class='del'>-</div><div class='del'>-    return (void *)(rb_gc_for_fd(*e) ? Qtrue : Qfalse);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-gc_for_fd_with_gvl(int e)</div><div class='del'>-{</div><div class='del'>-    if (vm_initialized)</div><div class='del'>-	return (int)(VALUE)rb_thread_call_with_gvl(with_gvl_gc_for_fd, &amp;e);</div><div class='del'>-    else</div><div class='del'>-	return rb_gc_for_fd(e) ? Qtrue : Qfalse;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-nogvl_opendir_at(void *ptr)</div><div class='del'>-{</div><div class='del'>-    const struct opendir_at_arg *oaa = ptr;</div><div class='del'>-    DIR *dirp;</div><div class='del'>-</div><div class='del'>-#if USE_OPENDIR_AT</div><div class='del'>-    const int opendir_flags = (O_RDONLY|O_CLOEXEC|</div><div class='del'>-#  ifdef O_DIRECTORY</div><div class='del'>-			       O_DIRECTORY|</div><div class='del'>-#  endif /* O_DIRECTORY */</div><div class='del'>-			       0);</div><div class='del'>-    int fd = openat(oaa-&gt;basefd, oaa-&gt;path, opendir_flags);</div><div class='del'>-</div><div class='del'>-    dirp = fd &gt;= 0 ? fdopendir(fd) : 0;</div><div class='del'>-    if (!dirp) {</div><div class='del'>-	int e = errno;</div><div class='del'>-</div><div class='del'>-	switch (gc_for_fd_with_gvl(e)) {</div><div class='del'>-	  default:</div><div class='del'>-	    if (fd &lt; 0) fd = openat(oaa-&gt;basefd, oaa-&gt;path, opendir_flags);</div><div class='del'>-	    if (fd &gt;= 0) dirp = fdopendir(fd);</div><div class='del'>-	    if (dirp) return dirp;</div><div class='del'>-</div><div class='del'>-	    e = errno;</div><div class='del'>-	    /* fallthrough*/</div><div class='del'>-	  case 0:</div><div class='del'>-	    if (fd &gt;= 0) close(fd);</div><div class='del'>-	    errno = e;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#else  /* !USE_OPENDIR_AT */</div><div class='del'>-    dirp = opendir(oaa-&gt;path);</div><div class='del'>-    if (!dirp &amp;&amp; gc_for_fd_with_gvl(errno))</div><div class='del'>-	dirp = opendir(oaa-&gt;path);</div><div class='del'>-#endif /* !USE_OPENDIR_AT */</div><div class='del'>-</div><div class='del'>-    return dirp;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static DIR *</div><div class='del'>-opendir_at(int basefd, const char *path)</div><div class='del'>-{</div><div class='del'>-    struct opendir_at_arg oaa;</div><div class='del'>-</div><div class='del'>-    oaa.basefd = basefd;</div><div class='del'>-    oaa.path = path;</div><div class='del'>-</div><div class='del'>-    if (vm_initialized)</div><div class='del'>-	return rb_thread_call_without_gvl(nogvl_opendir_at, &amp;oaa, RUBY_UBF_IO, 0);</div><div class='del'>-    else</div><div class='del'>-	return nogvl_opendir_at(&amp;oaa);</div><div class='del'>-}</div><div class='ctx'> </div><div class='ctx'> static DIR *</div><div class='del'>-do_opendir(const int basefd, size_t baselen, const char *path, int flags, rb_encoding *enc,</div><div class='del'>-	   ruby_glob_errfunc *errfunc, VALUE arg, int *status)</div><div class='add'>+do_opendir(const char *path, int flags)</div><div class='ctx'> {</div><div class='del'>-    DIR *dirp;</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-    VALUE tmp = 0;</div><div class='del'>-    if (!fundamental_encoding_p(enc)) {</div><div class='del'>-	tmp = rb_enc_str_new(path, strlen(path), enc);</div><div class='del'>-	tmp = rb_str_encode_ospath(tmp);</div><div class='del'>-	path = RSTRING_PTR(tmp);</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    dirp = opendir_at(basefd, at_subpath(basefd, baselen, path));</div><div class='del'>-    if (!dirp) {</div><div class='del'>-	int e = errno;</div><div class='del'>-</div><div class='del'>-	*status = 0;</div><div class='del'>-	if (!to_be_ignored(e)) {</div><div class='del'>-	    if (errfunc) {</div><div class='del'>-		*status = (*errfunc)(path, arg, enc, e);</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		sys_warning(path, enc);</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-    if (tmp) rb_str_resize(tmp, 0); /* GC guard */</div><div class='del'>-#endif</div><div class='add'>+    DIR *dirp = opendir(path);</div><div class='add'>+    if (dirp == NULL &amp;&amp; errno != ENOENT &amp;&amp; errno != ENOTDIR)</div><div class='add'>+	sys_warning(path);</div><div class='ctx'> </div><div class='ctx'>     return dirp;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/* Globing pattern */</div><div class='del'>-enum glob_pattern_type { PLAIN, ALPHA, BRACE, MAGICAL, RECURSIVE, MATCH_ALL, MATCH_DIR };</div><div class='del'>-</div><div class='ctx'> /* Return nonzero if S has any special globbing chars in it.  */</div><div class='del'>-static enum glob_pattern_type</div><div class='del'>-has_magic(const char *p, const char *pend, int flags, rb_encoding *enc)</div><div class='add'>+static int</div><div class='add'>+has_magic(s, flags)</div><div class='add'>+    const char *s;</div><div class='add'>+    int flags;</div><div class='ctx'> {</div><div class='ctx'>     const int escape = !(flags &amp; FNM_NOESCAPE);</div><div class='del'>-    int hasalpha = 0;</div><div class='del'>-    int hasmagical = 0;</div><div class='add'>+    const int nocase = flags &amp; FNM_CASEFOLD;</div><div class='ctx'> </div><div class='add'>+    register const char *p = s;</div><div class='ctx'>     register char c;</div><div class='ctx'> </div><div class='del'>-    while (p &lt; pend &amp;&amp; (c = *p++) != 0) {</div><div class='add'>+    while (c = *p++) {</div><div class='ctx'> 	switch (c) {</div><div class='del'>-	  case '{':</div><div class='del'>-	    return BRACE;</div><div class='del'>-</div><div class='ctx'> 	  case '*':</div><div class='ctx'> 	  case '?':</div><div class='ctx'> 	  case '[':</div><div class='del'>-	    hasmagical = 1;</div><div class='del'>-	    break;</div><div class='add'>+	    return 1;</div><div class='ctx'> </div><div class='ctx'> 	  case '\\':</div><div class='del'>-	    if (escape &amp;&amp; p++ &gt;= pend)</div><div class='del'>-		continue;</div><div class='del'>-	    break;</div><div class='del'>-</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-	  case '.':</div><div class='del'>-	    break;</div><div class='add'>+	    if (escape &amp;&amp; !(c = *p++))</div><div class='add'>+		return 0;</div><div class='add'>+	    continue;</div><div class='ctx'> </div><div class='del'>-	  case '~':</div><div class='del'>-	    hasalpha = 1;</div><div class='del'>-	    break;</div><div class='del'>-#endif</div><div class='ctx'> 	  default:</div><div class='del'>-	    if (IS_WIN32 || ISALPHA(c)) {</div><div class='del'>-		hasalpha = 1;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='add'>+	    if (!FNM_SYSCASE &amp;&amp; ISALPHA(c) &amp;&amp; nocase)</div><div class='add'>+		return 1;</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='del'>-	p = Next(p-1, pend, enc);</div><div class='add'>+	p = Next(p-1);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    return hasmagical ? MAGICAL : hasalpha ? ALPHA : PLAIN;</div><div class='add'>+    return 0;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /* Find separator in globbing pattern. */</div><div class='ctx'> static char *</div><div class='del'>-find_dirsep(const char *p, const char *pend, int flags, rb_encoding *enc)</div><div class='add'>+find_dirsep(const char *s, int flags)</div><div class='ctx'> {</div><div class='ctx'>     const int escape = !(flags &amp; FNM_NOESCAPE);</div><div class='ctx'> </div><div class='add'>+    register const char *p = s;</div><div class='ctx'>     register char c;</div><div class='ctx'>     int open = 0;</div><div class='ctx'> </div><div class='del'>-    while ((c = *p++) != 0) {</div><div class='add'>+    while (c = *p++) {</div><div class='ctx'> 	switch (c) {</div><div class='ctx'> 	  case '[':</div><div class='ctx'> 	    open = 1;</div><div class='hunk'>@@ -1600,13 +1044,6 @@ find_dirsep(const char *p, const char *pend, int flags, rb_encoding *enc)</div><div class='ctx'> 	    open = 0;</div><div class='ctx'> 	    continue;</div><div class='ctx'> </div><div class='del'>-	  case '{':</div><div class='del'>-	    open = 1;</div><div class='del'>-	    continue;</div><div class='del'>-	  case '}':</div><div class='del'>-	    open = 0;</div><div class='del'>-	    continue;</div><div class='del'>-</div><div class='ctx'> 	  case '/':</div><div class='ctx'> 	    if (!open)</div><div class='ctx'> 		return (char *)p-1;</div><div class='hunk'>@@ -1618,15 +1055,16 @@ find_dirsep(const char *p, const char *pend, int flags, rb_encoding *enc)</div><div class='ctx'> 	    continue;</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='del'>-	p = Next(p-1, pend, enc);</div><div class='add'>+	p = Next(p-1);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return (char *)p-1;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /* Remove escaping backslashes */</div><div class='del'>-static char *</div><div class='del'>-remove_backslashes(char *p, register const char *pend, rb_encoding *enc)</div><div class='add'>+static void</div><div class='add'>+remove_backslashes(p)</div><div class='add'>+    char *p;</div><div class='ctx'> {</div><div class='ctx'>     char *t = p;</div><div class='ctx'>     char *s = p;</div><div class='hunk'>@@ -1639,17 +1077,18 @@ remove_backslashes(char *p, register const char *pend, rb_encoding *enc)</div><div class='ctx'> 	    s = ++p;</div><div class='ctx'> 	    if (!*p) break;</div><div class='ctx'> 	}</div><div class='del'>-	Inc(p, pend, enc);</div><div class='add'>+	Inc(p);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     while (*p++);</div><div class='ctx'> </div><div class='ctx'>     if (t != s)</div><div class='ctx'> 	memmove(t, s, p - s); /* move '\0' too */</div><div class='del'>-</div><div class='del'>-    return p;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/* Globing pattern */</div><div class='add'>+enum glob_pattern_type { PLAIN, MAGICAL, RECURSIVE, MATCH_ALL, MATCH_DIR };</div><div class='add'>+</div><div class='ctx'> struct glob_pattern {</div><div class='ctx'>     char *str;</div><div class='ctx'>     enum glob_pattern_type type;</div><div class='hunk'>@@ -1659,44 +1098,31 @@ struct glob_pattern {</div><div class='ctx'> static void glob_free_pattern(struct glob_pattern *list);</div><div class='ctx'> </div><div class='ctx'> static struct glob_pattern *</div><div class='del'>-glob_make_pattern(const char *p, const char *e, int flags, rb_encoding *enc)</div><div class='add'>+glob_make_pattern(const char *p, int flags)</div><div class='ctx'> {</div><div class='ctx'>     struct glob_pattern *list, *tmp, **tail = &amp;list;</div><div class='ctx'>     int dirsep = 0; /* pattern is terminated with '/' */</div><div class='del'>-    int recursive = 0;</div><div class='ctx'> </div><div class='del'>-    while (p &lt; e &amp;&amp; *p) {</div><div class='add'>+    while (*p) {</div><div class='ctx'> 	tmp = GLOB_ALLOC(struct glob_pattern);</div><div class='ctx'> 	if (!tmp) goto error;</div><div class='del'>-	if (p + 2 &lt; e &amp;&amp; p[0] == '*' &amp;&amp; p[1] == '*' &amp;&amp; p[2] == '/') {</div><div class='add'>+	if (p[0] == '*' &amp;&amp; p[1] == '*' &amp;&amp; p[2] == '/') {</div><div class='ctx'> 	    /* fold continuous RECURSIVEs (needed in glob_helper) */</div><div class='del'>-	    do { p += 3; while (*p == '/') p++; } while (p[0] == '*' &amp;&amp; p[1] == '*' &amp;&amp; p[2] == '/');</div><div class='add'>+	    do { p += 3; } while (p[0] == '*' &amp;&amp; p[1] == '*' &amp;&amp; p[2] == '/');</div><div class='ctx'> 	    tmp-&gt;type = RECURSIVE;</div><div class='ctx'> 	    tmp-&gt;str = 0;</div><div class='ctx'> 	    dirsep = 1;</div><div class='del'>-	    recursive = 1;</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='del'>-	    const char *m = find_dirsep(p, e, flags, enc);</div><div class='del'>-	    const enum glob_pattern_type magic = has_magic(p, m, flags, enc);</div><div class='del'>-	    const enum glob_pattern_type non_magic = (USE_NAME_ON_FS || FNM_SYSCASE) ? PLAIN : ALPHA;</div><div class='del'>-	    char *buf;</div><div class='del'>-</div><div class='del'>-	    if (!(FNM_SYSCASE || magic &gt; non_magic) &amp;&amp; !recursive &amp;&amp; *m) {</div><div class='del'>-		const char *m2;</div><div class='del'>-		while (has_magic(m+1, m2 = find_dirsep(m+1, e, flags, enc), flags, enc) &lt;= non_magic &amp;&amp;</div><div class='del'>-		       *m2) {</div><div class='del'>-		    m = m2;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	    buf = GLOB_ALLOC_N(char, m-p+1);</div><div class='add'>+	    const char *m = find_dirsep(p, flags);</div><div class='add'>+	    char *buf = GLOB_ALLOC_N(char, m-p+1);</div><div class='ctx'> 	    if (!buf) {</div><div class='del'>-		GLOB_FREE(tmp);</div><div class='add'>+		free(tmp);</div><div class='ctx'> 		goto error;</div><div class='ctx'> 	    }</div><div class='ctx'> 	    memcpy(buf, p, m-p);</div><div class='ctx'> 	    buf[m-p] = '\0';</div><div class='del'>-	    tmp-&gt;type = magic &gt; MAGICAL ? MAGICAL : magic &gt; non_magic ? magic : PLAIN;</div><div class='add'>+	    tmp-&gt;type = has_magic(buf, flags) ? MAGICAL : PLAIN;</div><div class='ctx'> 	    tmp-&gt;str = buf;</div><div class='ctx'> 	    if (*m) {</div><div class='ctx'> 		dirsep = 1;</div><div class='hunk'>@@ -1733,376 +1159,80 @@ glob_free_pattern(struct glob_pattern *list)</div><div class='ctx'> 	struct glob_pattern *tmp = list;</div><div class='ctx'> 	list = list-&gt;next;</div><div class='ctx'> 	if (tmp-&gt;str)</div><div class='del'>-	    GLOB_FREE(tmp-&gt;str);</div><div class='del'>-	GLOB_FREE(tmp);</div><div class='add'>+	    free(tmp-&gt;str);</div><div class='add'>+	free(tmp);</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static char *</div><div class='del'>-join_path(const char *path, size_t len, int dirsep, const char *name, size_t namlen)</div><div class='add'>+join_path(const char *path, int dirsep, const char *name)</div><div class='ctx'> {</div><div class='del'>-    char *buf = GLOB_ALLOC_N(char, len+namlen+(dirsep?1:0)+1);</div><div class='add'>+    long len = strlen(path);</div><div class='add'>+    char *buf = GLOB_ALLOC_N(char, len+strlen(name)+(dirsep?1:0)+1);</div><div class='ctx'> </div><div class='ctx'>     if (!buf) return 0;</div><div class='ctx'>     memcpy(buf, path, len);</div><div class='ctx'>     if (dirsep) {</div><div class='del'>-	buf[len++] = '/';</div><div class='add'>+	strcpy(buf+len, "/");</div><div class='add'>+	len++;</div><div class='ctx'>     }</div><div class='del'>-    memcpy(buf+len, name, namlen);</div><div class='del'>-    buf[len+namlen] = '\0';</div><div class='add'>+    strcpy(buf+len, name);</div><div class='ctx'>     return buf;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_GETATTRLIST</div><div class='del'>-# if defined HAVE_FGETATTRLIST</div><div class='del'>-#   define is_case_sensitive(dirp, path) is_case_sensitive(dirp)</div><div class='del'>-# else</div><div class='del'>-#   define is_case_sensitive(dirp, path) is_case_sensitive(path)</div><div class='del'>-# endif</div><div class='del'>-static int</div><div class='del'>-is_case_sensitive(DIR *dirp, const char *path)</div><div class='del'>-{</div><div class='del'>-    struct {</div><div class='del'>-	u_int32_t length;</div><div class='del'>-	vol_capabilities_attr_t cap[1];</div><div class='del'>-    } __attribute__((aligned(4), packed)) attrbuf[1];</div><div class='del'>-    struct attrlist al = {ATTR_BIT_MAP_COUNT, 0, 0, ATTR_VOL_INFO|ATTR_VOL_CAPABILITIES};</div><div class='del'>-    const vol_capabilities_attr_t *const cap = attrbuf[0].cap;</div><div class='del'>-    const int idx = VOL_CAPABILITIES_FORMAT;</div><div class='del'>-    const uint32_t mask = VOL_CAP_FMT_CASE_SENSITIVE;</div><div class='del'>-</div><div class='del'>-#   if defined HAVE_FGETATTRLIST</div><div class='del'>-    if (fgetattrlist(dirfd(dirp), &amp;al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW))</div><div class='del'>-	return -1;</div><div class='del'>-#   else</div><div class='del'>-    if (getattrlist(path, &amp;al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW))</div><div class='del'>-	return -1;</div><div class='del'>-#   endif</div><div class='del'>-    if (!(cap-&gt;valid[idx] &amp; mask))</div><div class='del'>-	return -1;</div><div class='del'>-    return (cap-&gt;capabilities[idx] &amp; mask) != 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static char *</div><div class='del'>-replace_real_basename(char *path, long base, rb_encoding *enc, int norm_p, int flags, rb_pathtype_t *type)</div><div class='del'>-{</div><div class='del'>-    struct {</div><div class='del'>-	u_int32_t length;</div><div class='del'>-	attrreference_t ref[1];</div><div class='del'>-	fsobj_type_t objtype;</div><div class='del'>-	char path[MAXPATHLEN * 3];</div><div class='del'>-    } __attribute__((aligned(4), packed)) attrbuf[1];</div><div class='del'>-    struct attrlist al = {ATTR_BIT_MAP_COUNT, 0, ATTR_CMN_NAME|ATTR_CMN_OBJTYPE};</div><div class='del'>-    const attrreference_t *const ar = attrbuf[0].ref;</div><div class='del'>-    const char *name;</div><div class='del'>-    long len;</div><div class='del'>-    char *tmp;</div><div class='del'>-    IF_NORMALIZE_UTF8PATH(VALUE utf8str = Qnil);</div><div class='del'>-</div><div class='del'>-    *type = path_noent;</div><div class='del'>-    if (getattrlist(path, &amp;al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW)) {</div><div class='del'>-	if (!to_be_ignored(errno))</div><div class='del'>-	    sys_warning(path, enc);</div><div class='del'>-	return path;</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    switch (attrbuf[0].objtype) {</div><div class='del'>-      case VREG: *type = path_regular; break;</div><div class='del'>-      case VDIR: *type = path_directory; break;</div><div class='del'>-      case VLNK: *type = path_symlink; break;</div><div class='del'>-      default: *type = path_exist; break;</div><div class='del'>-    }</div><div class='del'>-    name = (char *)ar + ar-&gt;attr_dataoffset;</div><div class='del'>-    len = (long)ar-&gt;attr_length - 1;</div><div class='del'>-    if (name + len &gt; (char *)attrbuf + sizeof(attrbuf))</div><div class='del'>-	return path;</div><div class='del'>-</div><div class='del'>-# if NORMALIZE_UTF8PATH</div><div class='del'>-    if (norm_p &amp;&amp; has_nonascii(name, len)) {</div><div class='del'>-	if (!NIL_P(utf8str = rb_str_normalize_ospath(name, len))) {</div><div class='del'>-	    RSTRING_GETMEM(utf8str, name, len);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-# endif</div><div class='del'>-</div><div class='del'>-    tmp = GLOB_REALLOC(path, base + len + 1);</div><div class='del'>-    if (tmp) {</div><div class='del'>-	path = tmp;</div><div class='del'>-	memcpy(path + base, name, len);</div><div class='del'>-	path[base + len] = '\0';</div><div class='del'>-    }</div><div class='del'>-    IF_NORMALIZE_UTF8PATH(if (!NIL_P(utf8str)) rb_str_resize(utf8str, 0));</div><div class='del'>-    return path;</div><div class='del'>-}</div><div class='del'>-#elif defined _WIN32</div><div class='del'>-VALUE rb_w32_conv_from_wchar(const WCHAR *wstr, rb_encoding *enc);</div><div class='del'>-int rb_w32_reparse_symlink_p(const WCHAR *path);</div><div class='del'>-</div><div class='del'>-static char *</div><div class='del'>-replace_real_basename(char *path, long base, rb_encoding *enc, int norm_p, int flags, rb_pathtype_t *type)</div><div class='del'>-{</div><div class='del'>-    char *plainname = path;</div><div class='del'>-    volatile VALUE tmp = 0;</div><div class='del'>-    WIN32_FIND_DATAW fd;</div><div class='del'>-    WIN32_FILE_ATTRIBUTE_DATA fa;</div><div class='del'>-    WCHAR *wplain;</div><div class='del'>-    HANDLE h = INVALID_HANDLE_VALUE;</div><div class='del'>-    long wlen;</div><div class='del'>-    int e = 0;</div><div class='del'>-    if (!fundamental_encoding_p(enc)) {</div><div class='del'>-	tmp = rb_enc_str_new_cstr(plainname, enc);</div><div class='del'>-	tmp = rb_str_encode_ospath(tmp);</div><div class='del'>-	plainname = RSTRING_PTR(tmp);</div><div class='del'>-    }</div><div class='del'>-    wplain = rb_w32_mbstr_to_wstr(CP_UTF8, plainname, -1, &amp;wlen);</div><div class='del'>-    if (tmp) rb_str_resize(tmp, 0);</div><div class='del'>-    if (!wplain) return path;</div><div class='del'>-    if (GetFileAttributesExW(wplain, GetFileExInfoStandard, &amp;fa)) {</div><div class='del'>-	h = FindFirstFileW(wplain, &amp;fd);</div><div class='del'>-	e = rb_w32_map_errno(GetLastError());</div><div class='del'>-    }</div><div class='del'>-    if (fa.dwFileAttributes &amp; FILE_ATTRIBUTE_REPARSE_POINT) {</div><div class='del'>-	if (!rb_w32_reparse_symlink_p(wplain))</div><div class='del'>-	    fa.dwFileAttributes &amp;= ~FILE_ATTRIBUTE_REPARSE_POINT;</div><div class='del'>-    }</div><div class='del'>-    free(wplain);</div><div class='del'>-    if (h == INVALID_HANDLE_VALUE) {</div><div class='del'>-	*type = path_noent;</div><div class='del'>-	if (e &amp;&amp; !to_be_ignored(e)) {</div><div class='del'>-	    errno = e;</div><div class='del'>-	    sys_warning(path, enc);</div><div class='del'>-	}</div><div class='del'>-	return path;</div><div class='del'>-    }</div><div class='del'>-    FindClose(h);</div><div class='del'>-    *type =</div><div class='del'>-	(fa.dwFileAttributes &amp; FILE_ATTRIBUTE_REPARSE_POINT) ? path_symlink :</div><div class='del'>-	(fa.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY) ? path_directory :</div><div class='del'>-	path_regular;</div><div class='del'>-    if (tmp) {</div><div class='del'>-	char *buf;</div><div class='del'>-	tmp = rb_w32_conv_from_wchar(fd.cFileName, enc);</div><div class='del'>-	wlen = RSTRING_LEN(tmp);</div><div class='del'>-	buf = GLOB_REALLOC(path, base + wlen + 1);</div><div class='del'>-	if (buf) {</div><div class='del'>-	    path = buf;</div><div class='del'>-	    memcpy(path + base, RSTRING_PTR(tmp), wlen);</div><div class='del'>-	    path[base + wlen] = 0;</div><div class='del'>-	}</div><div class='del'>-	rb_str_resize(tmp, 0);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	char *utf8filename;</div><div class='del'>-	wlen = WideCharToMultiByte(CP_UTF8, 0, fd.cFileName, -1, NULL, 0, NULL, NULL);</div><div class='del'>-	utf8filename = GLOB_REALLOC(0, wlen);</div><div class='del'>-	if (utf8filename) {</div><div class='del'>-	    char *buf;</div><div class='del'>-	    WideCharToMultiByte(CP_UTF8, 0, fd.cFileName, -1, utf8filename, wlen, NULL, NULL);</div><div class='del'>-	    buf = GLOB_REALLOC(path, base + wlen + 1);</div><div class='del'>-	    if (buf) {</div><div class='del'>-		path = buf;</div><div class='del'>-		memcpy(path + base, utf8filename, wlen);</div><div class='del'>-		path[base + wlen] = 0;</div><div class='del'>-	    }</div><div class='del'>-	    GLOB_FREE(utf8filename);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return path;</div><div class='del'>-}</div><div class='del'>-#elif USE_NAME_ON_FS == USE_NAME_ON_FS_REAL_BASENAME</div><div class='del'>-# error not implemented</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifndef S_ISDIR</div><div class='del'>-#   define S_ISDIR(m) (((m) &amp; S_IFMT) == S_IFDIR)</div><div class='del'>-#endif</div><div class='add'>+enum answer { YES, NO, UNKNOWN };</div><div class='ctx'> </div><div class='ctx'> #ifndef S_ISLNK</div><div class='ctx'> #  ifndef S_IFLNK</div><div class='ctx'> #    define S_ISLNK(m) (0)</div><div class='ctx'> #  else</div><div class='del'>-#    define S_ISLNK(m) (((m) &amp; S_IFMT) == S_IFLNK)</div><div class='add'>+#    define S_ISLNK(m) ((m &amp; S_IFMT) == S_IFLNK)</div><div class='ctx'> #  endif</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='add'>+#ifndef S_ISDIR</div><div class='add'>+#   define S_ISDIR(m) ((m &amp; S_IFMT) == S_IFDIR)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='ctx'> struct glob_args {</div><div class='del'>-    void (*func)(const char *, VALUE, void *);</div><div class='del'>-    const char *path;</div><div class='del'>-    const char *base;</div><div class='del'>-    size_t baselen;</div><div class='del'>-    VALUE value;</div><div class='del'>-    rb_encoding *enc;</div><div class='add'>+    void (*func) _((const char*, VALUE));</div><div class='add'>+    const char *c;</div><div class='add'>+    VALUE v;</div><div class='ctx'> };</div><div class='ctx'> </div><div class='del'>-#define glob_call_func(func, path, arg, enc) (*(func))((path), (arg), (void *)(enc))</div><div class='add'>+static VALUE glob_func_caller _((VALUE));</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-glob_func_caller(VALUE val)</div><div class='add'>+glob_func_caller(val)</div><div class='add'>+    VALUE val;</div><div class='ctx'> {</div><div class='ctx'>     struct glob_args *args = (struct glob_args *)val;</div><div class='ctx'> </div><div class='del'>-    glob_call_func(args-&gt;func, args-&gt;path, args-&gt;value, args-&gt;enc);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct glob_error_args {</div><div class='del'>-    const char *path;</div><div class='del'>-    rb_encoding *enc;</div><div class='del'>-    int error;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-glob_func_warning(VALUE val)</div><div class='del'>-{</div><div class='del'>-    struct glob_error_args *arg = (struct glob_error_args *)val;</div><div class='del'>-    rb_syserr_enc_warning(arg-&gt;error, arg-&gt;enc, "%s", arg-&gt;path);</div><div class='add'>+    (*args-&gt;func)(args-&gt;c, args-&gt;v);</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#if 0</div><div class='del'>-static int</div><div class='del'>-rb_glob_warning(const char *path, VALUE a, const void *enc, int error)</div><div class='del'>-{</div><div class='del'>-    int status;</div><div class='del'>-    struct glob_error_args args;</div><div class='del'>-</div><div class='del'>-    args.path = path;</div><div class='del'>-    args.enc = enc;</div><div class='del'>-    args.error = error;</div><div class='del'>-    rb_protect(glob_func_warning, (VALUE)&amp;args, &amp;status);</div><div class='del'>-    return status;</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='add'>+#define glob_call_func(func, path, arg) (*func)(path, arg)</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-glob_func_error(VALUE val)</div><div class='del'>-{</div><div class='del'>-    struct glob_error_args *arg = (struct glob_error_args *)val;</div><div class='del'>-    VALUE path = rb_enc_str_new_cstr(arg-&gt;path, arg-&gt;enc);</div><div class='del'>-    rb_syserr_fail_str(arg-&gt;error, path);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='add'>+static int glob_helper _((const char *, int, enum answer, enum answer, struct glob_pattern **, struct glob_pattern **, int, ruby_glob_func *, VALUE));</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-rb_glob_error(const char *path, VALUE a, const void *enc, int error)</div><div class='del'>-{</div><div class='del'>-    int status;</div><div class='del'>-    struct glob_error_args args;</div><div class='del'>-    VALUE (*errfunc)(VALUE) = glob_func_error;</div><div class='del'>-</div><div class='del'>-    if (error == EACCES) {</div><div class='del'>-	errfunc = glob_func_warning;</div><div class='del'>-    }</div><div class='del'>-    args.path = path;</div><div class='del'>-    args.enc = enc;</div><div class='del'>-    args.error = error;</div><div class='del'>-    rb_protect(errfunc, (VALUE)&amp;args, &amp;status);</div><div class='del'>-    return status;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static inline int</div><div class='del'>-dirent_match(const char *pat, rb_encoding *enc, const char *name, const struct dirent *dp, int flags)</div><div class='del'>-{</div><div class='del'>-    if (fnmatch(pat, enc, name, flags) == 0) return 1;</div><div class='del'>-#ifdef _WIN32</div><div class='del'>-    if (dp-&gt;d_altname &amp;&amp; (flags &amp; FNM_SHORTNAME)) {</div><div class='del'>-	if (fnmatch(pat, enc, dp-&gt;d_altname, flags) == 0) return 1;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    return 0;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-struct push_glob_args {</div><div class='del'>-    int fd;</div><div class='add'>+glob_helper(path, dirsep, exist, isdir, beg, end, flags, func, arg)</div><div class='ctx'>     const char *path;</div><div class='del'>-    size_t baselen;</div><div class='del'>-    size_t namelen;</div><div class='ctx'>     int dirsep; /* '/' should be placed before appending child entry's name to 'path'. */</div><div class='del'>-    rb_pathtype_t pathtype; /* type of 'path' */</div><div class='add'>+    enum answer exist; /* Does 'path' indicate an existing entry? */</div><div class='add'>+    enum answer isdir; /* Does 'path' indicate a directory or a symlink to a directory? */</div><div class='add'>+    struct glob_pattern **beg;</div><div class='add'>+    struct glob_pattern **end;</div><div class='ctx'>     int flags;</div><div class='del'>-    const ruby_glob_funcs_t *funcs;</div><div class='add'>+    ruby_glob_func *func;</div><div class='ctx'>     VALUE arg;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-struct dirent_brace_args {</div><div class='del'>-    const char *name;</div><div class='del'>-    const struct dirent *dp;</div><div class='del'>-    int flags;</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-dirent_match_brace(const char *pattern, VALUE val, void *enc)</div><div class='del'>-{</div><div class='del'>-    struct dirent_brace_args *arg = (struct dirent_brace_args *)val;</div><div class='del'>-</div><div class='del'>-    return dirent_match(pattern, enc, arg-&gt;name, arg-&gt;dp, arg-&gt;flags);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/* join paths from pattern list of glob_make_pattern() */</div><div class='del'>-static char*</div><div class='del'>-join_path_from_pattern(struct glob_pattern **beg)</div><div class='del'>-{</div><div class='del'>-    struct glob_pattern *p;</div><div class='del'>-    char *path = NULL;</div><div class='del'>-    size_t path_len = 0;</div><div class='del'>-</div><div class='del'>-    for (p = *beg; p; p = p-&gt;next) {</div><div class='del'>-	const char *str;</div><div class='del'>-	switch (p-&gt;type) {</div><div class='del'>-	  case RECURSIVE:</div><div class='del'>-	    str = "**";</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    str = p-&gt;str;</div><div class='del'>-	    if (!str) continue;</div><div class='del'>-	}</div><div class='del'>-	if (!path) {</div><div class='del'>-	    path_len = strlen(str);</div><div class='del'>-	    path = GLOB_ALLOC_N(char, path_len + 1);</div><div class='del'>-	    memcpy(path, str, path_len);</div><div class='del'>-	    path[path_len] = '\0';</div><div class='del'>-	} else {</div><div class='del'>-	    size_t len = strlen(str);</div><div class='del'>-	    char *tmp;</div><div class='del'>-	    tmp = GLOB_REALLOC(path, path_len + len + 2);</div><div class='del'>-	    if (tmp) {</div><div class='del'>-		path = tmp;</div><div class='del'>-		path[path_len++] = '/';</div><div class='del'>-		memcpy(path + path_len, str, len);</div><div class='del'>-		path_len += len;</div><div class='del'>-		path[path_len] = '\0';</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return path;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int push_caller(const char *path, VALUE val, void *enc);</div><div class='del'>-</div><div class='del'>-static int ruby_brace_expand(const char *str, int flags, ruby_glob_func *func, VALUE arg,</div><div class='del'>-			     rb_encoding *enc, VALUE var);</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-glob_helper(</div><div class='del'>-    int fd,</div><div class='del'>-    const char *path,</div><div class='del'>-    size_t baselen,</div><div class='del'>-    size_t namelen,</div><div class='del'>-    int dirsep, /* '/' should be placed before appending child entry's name to 'path'. */</div><div class='del'>-    rb_pathtype_t pathtype, /* type of 'path' */</div><div class='del'>-    struct glob_pattern **beg,</div><div class='del'>-    struct glob_pattern **end,</div><div class='del'>-    int flags,</div><div class='del'>-    const ruby_glob_funcs_t *funcs,</div><div class='del'>-    VALUE arg,</div><div class='del'>-    rb_encoding *enc)</div><div class='ctx'> {</div><div class='ctx'>     struct stat st;</div><div class='ctx'>     int status = 0;</div><div class='ctx'>     struct glob_pattern **cur, **new_beg, **new_end;</div><div class='del'>-    int plain = 0, brace = 0, magical = 0, recursive = 0, match_all = 0, match_dir = 0;</div><div class='add'>+    int plain = 0, magical = 0, recursive = 0, match_all = 0, match_dir = 0;</div><div class='ctx'>     int escape = !(flags &amp; FNM_NOESCAPE);</div><div class='del'>-    size_t pathlen = baselen + namelen;</div><div class='ctx'> </div><div class='ctx'>     for (cur = beg; cur &lt; end; ++cur) {</div><div class='ctx'> 	struct glob_pattern *p = *cur;</div><div class='hunk'>@@ -2111,229 +1241,106 @@ glob_helper(</div><div class='ctx'> 	    p = p-&gt;next;</div><div class='ctx'> 	}</div><div class='ctx'> 	switch (p-&gt;type) {</div><div class='del'>-	  case PLAIN:</div><div class='add'>+	case PLAIN:</div><div class='ctx'> 	    plain = 1;</div><div class='ctx'> 	    break;</div><div class='del'>-	  case ALPHA:</div><div class='del'>-#if USE_NAME_ON_FS == USE_NAME_ON_FS_REAL_BASENAME</div><div class='del'>-	    plain = 1;</div><div class='del'>-#else</div><div class='add'>+	case MAGICAL:</div><div class='ctx'> 	    magical = 1;</div><div class='del'>-#endif</div><div class='del'>-	    break;</div><div class='del'>-	  case BRACE:</div><div class='del'>-	    if (!recursive) {</div><div class='del'>-		brace = 1;</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  case MAGICAL:</div><div class='del'>-	    magical = 2;</div><div class='ctx'> 	    break;</div><div class='del'>-	  case MATCH_ALL:</div><div class='add'>+	case MATCH_ALL:</div><div class='ctx'> 	    match_all = 1;</div><div class='ctx'> 	    break;</div><div class='del'>-	  case MATCH_DIR:</div><div class='add'>+	case MATCH_DIR:</div><div class='ctx'> 	    match_dir = 1;</div><div class='ctx'> 	    break;</div><div class='del'>-	  case RECURSIVE:</div><div class='add'>+	case RECURSIVE:</div><div class='ctx'> 	    rb_bug("continuous RECURSIVEs");</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (brace) {</div><div class='del'>-	struct push_glob_args args;</div><div class='del'>-	char* brace_path = join_path_from_pattern(beg);</div><div class='del'>-	if (!brace_path) return -1;</div><div class='del'>-	args.fd = fd;</div><div class='del'>-	args.path = path;</div><div class='del'>-	args.baselen = baselen;</div><div class='del'>-	args.namelen = namelen;</div><div class='del'>-	args.dirsep = dirsep;</div><div class='del'>-	args.pathtype = pathtype;</div><div class='del'>-	args.flags = flags;</div><div class='del'>-	args.funcs = funcs;</div><div class='del'>-	args.arg = arg;</div><div class='del'>-	status = ruby_brace_expand(brace_path, flags, push_caller, (VALUE)&amp;args, enc, Qfalse);</div><div class='del'>-	GLOB_FREE(brace_path);</div><div class='del'>-	return status;</div><div class='del'>-    }</div><div class='del'>-</div><div class='ctx'>     if (*path) {</div><div class='del'>-	if (match_all &amp;&amp; pathtype == path_unknown) {</div><div class='del'>-	    if (do_lstat(fd, baselen, path, &amp;st, flags, enc) == 0) {</div><div class='del'>-		pathtype = IFTODT(st.st_mode);</div><div class='add'>+	if (match_all &amp;&amp; exist == UNKNOWN) {</div><div class='add'>+	    if (do_lstat(path, &amp;st, flags) == 0) {</div><div class='add'>+		exist = YES;</div><div class='add'>+		isdir = S_ISDIR(st.st_mode) ? YES : S_ISLNK(st.st_mode) ? UNKNOWN : NO;</div><div class='ctx'> 	    }</div><div class='ctx'> 	    else {</div><div class='del'>-		pathtype = path_noent;</div><div class='add'>+		exist = NO;</div><div class='add'>+		isdir = NO;</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='del'>-	if (match_dir &amp;&amp; (pathtype == path_unknown || pathtype == path_symlink)) {</div><div class='del'>-	    if (do_stat(fd, baselen, path, &amp;st, flags, enc) == 0) {</div><div class='del'>-		pathtype = IFTODT(st.st_mode);</div><div class='add'>+	if (match_dir &amp;&amp; isdir == UNKNOWN) {</div><div class='add'>+	    if (do_stat(path, &amp;st, flags) == 0) {</div><div class='add'>+		exist = YES;</div><div class='add'>+		isdir = S_ISDIR(st.st_mode) ? YES : NO;</div><div class='ctx'> 	    }</div><div class='ctx'> 	    else {</div><div class='del'>-		pathtype = path_noent;</div><div class='add'>+		exist = NO;</div><div class='add'>+		isdir = NO;</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='del'>-	if (match_all &amp;&amp; pathtype &gt; path_noent) {</div><div class='del'>-	    const char *subpath = path + baselen + (baselen &amp;&amp; path[baselen] == '/');</div><div class='del'>-	    status = glob_call_func(funcs-&gt;match, subpath, arg, enc);</div><div class='add'>+	if (match_all &amp;&amp; exist == YES) {</div><div class='add'>+	    status = glob_call_func(func, path, arg);</div><div class='ctx'> 	    if (status) return status;</div><div class='ctx'> 	}</div><div class='del'>-	if (match_dir &amp;&amp; pathtype == path_directory) {</div><div class='del'>-	    int seplen = (baselen &amp;&amp; path[baselen] == '/');</div><div class='del'>-	    const char *subpath = path + baselen + seplen;</div><div class='del'>-	    char *tmp = join_path(subpath, namelen - seplen, dirsep, "", 0);</div><div class='add'>+	if (match_dir &amp;&amp; isdir == YES) {</div><div class='add'>+	    char *tmp = join_path(path, dirsep, "");</div><div class='ctx'> 	    if (!tmp) return -1;</div><div class='del'>-	    status = glob_call_func(funcs-&gt;match, tmp, arg, enc);</div><div class='del'>-	    GLOB_FREE(tmp);</div><div class='add'>+	    status = glob_call_func(func, tmp, arg);</div><div class='add'>+	    free(tmp);</div><div class='ctx'> 	    if (status) return status;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (pathtype == path_noent) return 0;</div><div class='add'>+    if (exist == NO || isdir == NO) return 0;</div><div class='ctx'> </div><div class='ctx'>     if (magical || recursive) {</div><div class='ctx'> 	struct dirent *dp;</div><div class='del'>-	DIR *dirp;</div><div class='del'>-# if USE_NAME_ON_FS == USE_NAME_ON_FS_BY_FNMATCH</div><div class='del'>-	char *plainname = 0;</div><div class='del'>-# endif</div><div class='del'>-	IF_NORMALIZE_UTF8PATH(int norm_p);</div><div class='del'>-# if USE_NAME_ON_FS == USE_NAME_ON_FS_BY_FNMATCH</div><div class='del'>-	if (cur + 1 == end &amp;&amp; (*cur)-&gt;type &lt;= ALPHA) {</div><div class='del'>-	    plainname = join_path(path, pathlen, dirsep, (*cur)-&gt;str, strlen((*cur)-&gt;str));</div><div class='del'>-	    if (!plainname) return -1;</div><div class='del'>-	    dirp = do_opendir(fd, basename, plainname, flags, enc, funcs-&gt;error, arg, &amp;status);</div><div class='del'>-	    GLOB_FREE(plainname);</div><div class='del'>-	}</div><div class='del'>-	else</div><div class='del'>-# else</div><div class='del'>-	    ;</div><div class='del'>-# endif</div><div class='del'>-	dirp = do_opendir(fd, baselen, path, flags, enc, funcs-&gt;error, arg, &amp;status);</div><div class='del'>-	if (dirp == NULL) {</div><div class='del'>-# if FNM_SYSCASE || NORMALIZE_UTF8PATH</div><div class='del'>-	    if ((magical &lt; 2) &amp;&amp; !recursive &amp;&amp; (errno == EACCES)) {</div><div class='del'>-		/* no read permission, fallback */</div><div class='del'>-		goto literally;</div><div class='del'>-	    }</div><div class='del'>-# endif</div><div class='del'>-	    return status;</div><div class='del'>-	}</div><div class='del'>-	IF_NORMALIZE_UTF8PATH(norm_p = need_normalization(dirp, *path ? path : "."));</div><div class='add'>+	DIR *dirp = do_opendir(*path ? path : ".", flags);</div><div class='add'>+	if (dirp == NULL) return 0;</div><div class='ctx'> </div><div class='del'>-# if NORMALIZE_UTF8PATH</div><div class='del'>-	if (!(norm_p || magical || recursive)) {</div><div class='del'>-	    closedir(dirp);</div><div class='del'>-	    goto literally;</div><div class='del'>-	}</div><div class='del'>-# endif</div><div class='del'>-# ifdef HAVE_GETATTRLIST</div><div class='del'>-	if (is_case_sensitive(dirp, path) == 0)</div><div class='del'>-	    flags |= FNM_CASEFOLD;</div><div class='del'>-# endif</div><div class='del'>-	while ((dp = READDIR(dirp, enc)) != NULL) {</div><div class='del'>-	    char *buf;</div><div class='del'>-	    rb_pathtype_t new_pathtype = path_unknown;</div><div class='del'>-	    const char *name;</div><div class='del'>-	    size_t namlen;</div><div class='del'>-	    int dotfile = 0;</div><div class='del'>-	    IF_NORMALIZE_UTF8PATH(VALUE utf8str = Qnil);</div><div class='del'>-</div><div class='del'>-	    name = dp-&gt;d_name;</div><div class='del'>-	    namlen = NAMLEN(dp);</div><div class='del'>-	    if (recursive &amp;&amp; name[0] == '.') {</div><div class='del'>-		++dotfile;</div><div class='del'>-		if (namlen == 1) {</div><div class='del'>-		    /* unless DOTMATCH, skip current directories not to recurse infinitely */</div><div class='del'>-		    if (!(flags &amp; FNM_DOTMATCH)) continue;</div><div class='del'>-		    ++dotfile;</div><div class='del'>-		    new_pathtype = path_directory; /* force to skip stat/lstat */</div><div class='del'>-		}</div><div class='del'>-		else if (namlen == 2 &amp;&amp; name[1] == '.') {</div><div class='del'>-		    /* always skip parent directories not to recurse infinitely */</div><div class='del'>-		    continue;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='add'>+	for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) {</div><div class='add'>+	    char *buf = join_path(path, dirsep, dp-&gt;d_name);</div><div class='add'>+	    enum answer new_isdir = UNKNOWN;</div><div class='ctx'> </div><div class='del'>-# if NORMALIZE_UTF8PATH</div><div class='del'>-	    if (norm_p &amp;&amp; has_nonascii(name, namlen)) {</div><div class='del'>-		if (!NIL_P(utf8str = rb_str_normalize_ospath(name, namlen))) {</div><div class='del'>-		    RSTRING_GETMEM(utf8str, name, namlen);</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-# endif</div><div class='del'>-	    buf = join_path(path, pathlen, dirsep, name, namlen);</div><div class='del'>-	    IF_NORMALIZE_UTF8PATH(if (!NIL_P(utf8str)) rb_str_resize(utf8str, 0));</div><div class='ctx'> 	    if (!buf) {</div><div class='ctx'> 		status = -1;</div><div class='ctx'> 		break;</div><div class='ctx'> 	    }</div><div class='del'>-	    name = buf + pathlen + (dirsep != 0);</div><div class='del'>-#ifdef DT_UNKNOWN</div><div class='del'>-	    if (dp-&gt;d_type != DT_UNKNOWN) {</div><div class='del'>-		/* Got it. We need no more lstat. */</div><div class='del'>-		new_pathtype = dp-&gt;d_type;</div><div class='del'>-	    }</div><div class='del'>-#endif</div><div class='del'>-	    if (recursive &amp;&amp; dotfile &lt; ((flags &amp; FNM_DOTMATCH) ? 2 : 1) &amp;&amp;</div><div class='del'>-		new_pathtype == path_unknown) {</div><div class='del'>-		/* RECURSIVE never match dot files unless FNM_DOTMATCH is set */</div><div class='del'>-		if (do_lstat(fd, baselen, buf, &amp;st, flags, enc) == 0)</div><div class='del'>-		    new_pathtype = IFTODT(st.st_mode);</div><div class='add'>+	    if (recursive &amp;&amp; strcmp(dp-&gt;d_name, ".") != 0 &amp;&amp; strcmp(dp-&gt;d_name, "..") != 0</div><div class='add'>+		&amp;&amp; fnmatch("*", dp-&gt;d_name, flags) == 0) {</div><div class='add'>+#ifndef _WIN32</div><div class='add'>+		if (do_lstat(buf, &amp;st, flags) == 0)</div><div class='add'>+		    new_isdir = S_ISDIR(st.st_mode) ? YES : S_ISLNK(st.st_mode) ? UNKNOWN : NO;</div><div class='ctx'> 		else</div><div class='del'>-		    new_pathtype = path_noent;</div><div class='add'>+		    new_isdir = NO;</div><div class='add'>+#else</div><div class='add'>+		new_isdir = dp-&gt;d_isdir ? (!dp-&gt;d_isrep ? YES : UNKNOWN) : NO;</div><div class='add'>+#endif</div><div class='ctx'> 	    }</div><div class='ctx'> </div><div class='ctx'> 	    new_beg = new_end = GLOB_ALLOC_N(struct glob_pattern *, (end - beg) * 2);</div><div class='ctx'> 	    if (!new_beg) {</div><div class='del'>-		GLOB_FREE(buf);</div><div class='ctx'> 		status = -1;</div><div class='ctx'> 		break;</div><div class='ctx'> 	    }</div><div class='ctx'> </div><div class='ctx'> 	    for (cur = beg; cur &lt; end; ++cur) {</div><div class='ctx'> 		struct glob_pattern *p = *cur;</div><div class='del'>-		struct dirent_brace_args args;</div><div class='ctx'> 		if (p-&gt;type == RECURSIVE) {</div><div class='del'>-		    if (new_pathtype == path_directory || /* not symlink but real directory */</div><div class='del'>-			new_pathtype == path_exist) {</div><div class='del'>-			if (dotfile &lt; ((flags &amp; FNM_DOTMATCH) ? 2 : 1))</div><div class='del'>-			    *new_end++ = p; /* append recursive pattern */</div><div class='del'>-		    }</div><div class='add'>+		    if (new_isdir == YES) /* not symlink but real directory */</div><div class='add'>+			*new_end++ = p; /* append recursive pattern */</div><div class='ctx'> 		    p = p-&gt;next; /* 0 times recursion */</div><div class='ctx'> 		}</div><div class='del'>-		switch (p-&gt;type) {</div><div class='del'>-		  case BRACE:</div><div class='del'>-		    args.name = name;</div><div class='del'>-		    args.dp = dp;</div><div class='del'>-		    args.flags = flags;</div><div class='del'>-		    if (ruby_brace_expand(p-&gt;str, flags, dirent_match_brace,</div><div class='del'>-					  (VALUE)&amp;args, enc, Qfalse) &gt; 0)</div><div class='del'>-			*new_end++ = p-&gt;next;</div><div class='del'>-		    break;</div><div class='del'>-		  case ALPHA:</div><div class='del'>-# if USE_NAME_ON_FS == USE_NAME_ON_FS_BY_FNMATCH</div><div class='del'>-		    if (plainname) {</div><div class='add'>+		if (p-&gt;type == PLAIN || p-&gt;type == MAGICAL) {</div><div class='add'>+		    if (fnmatch(p-&gt;str, dp-&gt;d_name, flags) == 0)</div><div class='ctx'> 			*new_end++ = p-&gt;next;</div><div class='del'>-			break;</div><div class='del'>-		    }</div><div class='del'>-# endif</div><div class='del'>-		  case PLAIN:</div><div class='del'>-		  case MAGICAL:</div><div class='del'>-		    if (dirent_match(p-&gt;str, enc, name, dp, flags))</div><div class='del'>-			*new_end++ = p-&gt;next;</div><div class='del'>-		  default:</div><div class='del'>-		    break;</div><div class='ctx'> 		}</div><div class='ctx'> 	    }</div><div class='ctx'> </div><div class='del'>-	    status = glob_helper(fd, buf, baselen, name - buf - baselen + namlen, 1,</div><div class='del'>-				 new_pathtype, new_beg, new_end,</div><div class='del'>-				 flags, funcs, arg, enc);</div><div class='del'>-	    GLOB_FREE(buf);</div><div class='del'>-	    GLOB_FREE(new_beg);</div><div class='add'>+	    status = glob_helper(buf, 1, YES, new_isdir, new_beg, new_end, flags, func, arg);</div><div class='add'>+	    free(buf);</div><div class='add'>+	    free(new_beg);</div><div class='ctx'> 	    if (status) break;</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='hunk'>@@ -2342,198 +1349,168 @@ glob_helper(</div><div class='ctx'>     else if (plain) {</div><div class='ctx'> 	struct glob_pattern **copy_beg, **copy_end, **cur2;</div><div class='ctx'> </div><div class='del'>-# if FNM_SYSCASE || NORMALIZE_UTF8PATH</div><div class='del'>-      literally:</div><div class='del'>-# endif</div><div class='ctx'> 	copy_beg = copy_end = GLOB_ALLOC_N(struct glob_pattern *, end - beg);</div><div class='ctx'> 	if (!copy_beg) return -1;</div><div class='ctx'> 	for (cur = beg; cur &lt; end; ++cur)</div><div class='del'>-	    *copy_end++ = (*cur)-&gt;type &lt;= ALPHA ? *cur : 0;</div><div class='add'>+	    *copy_end++ = (*cur)-&gt;type == PLAIN ? *cur : 0;</div><div class='ctx'> </div><div class='ctx'> 	for (cur = copy_beg; cur &lt; copy_end; ++cur) {</div><div class='ctx'> 	    if (*cur) {</div><div class='del'>-		rb_pathtype_t new_pathtype = path_unknown;</div><div class='ctx'> 		char *buf;</div><div class='ctx'> 		char *name;</div><div class='del'>-		size_t len = strlen((*cur)-&gt;str) + 1;</div><div class='del'>-		name = GLOB_ALLOC_N(char, len);</div><div class='add'>+		name = GLOB_ALLOC_N(char, strlen((*cur)-&gt;str) + 1);</div><div class='ctx'> 		if (!name) {</div><div class='ctx'> 		    status = -1;</div><div class='ctx'> 		    break;</div><div class='ctx'> 		}</div><div class='del'>-		memcpy(name, (*cur)-&gt;str, len);</div><div class='del'>-		if (escape)</div><div class='del'>-		    len = remove_backslashes(name, name+len-1, enc) - name;</div><div class='add'>+		strcpy(name, (*cur)-&gt;str);</div><div class='add'>+		if (escape) remove_backslashes(name);</div><div class='ctx'> </div><div class='ctx'> 		new_beg = new_end = GLOB_ALLOC_N(struct glob_pattern *, end - beg);</div><div class='ctx'> 		if (!new_beg) {</div><div class='del'>-		    GLOB_FREE(name);</div><div class='add'>+		    free(name);</div><div class='ctx'> 		    status = -1;</div><div class='ctx'> 		    break;</div><div class='ctx'> 		}</div><div class='ctx'> 		*new_end++ = (*cur)-&gt;next;</div><div class='ctx'> 		for (cur2 = cur + 1; cur2 &lt; copy_end; ++cur2) {</div><div class='del'>-		    if (*cur2 &amp;&amp; fnmatch((*cur2)-&gt;str, enc, name, flags) == 0) {</div><div class='add'>+		    if (*cur2 &amp;&amp; fnmatch((*cur2)-&gt;str, name, flags) == 0) {</div><div class='ctx'> 			*new_end++ = (*cur2)-&gt;next;</div><div class='ctx'> 			*cur2 = 0;</div><div class='ctx'> 		    }</div><div class='ctx'> 		}</div><div class='ctx'> </div><div class='del'>-		buf = join_path(path, pathlen, dirsep, name, len);</div><div class='del'>-		GLOB_FREE(name);</div><div class='add'>+		buf = join_path(path, dirsep, name);</div><div class='add'>+		free(name);</div><div class='ctx'> 		if (!buf) {</div><div class='del'>-		    GLOB_FREE(new_beg);</div><div class='add'>+		    free(new_beg);</div><div class='ctx'> 		    status = -1;</div><div class='ctx'> 		    break;</div><div class='ctx'> 		}</div><div class='del'>-#if USE_NAME_ON_FS == USE_NAME_ON_FS_REAL_BASENAME</div><div class='del'>-		if ((*cur)-&gt;type == ALPHA) {</div><div class='del'>-		    buf = replace_real_basename(buf, pathlen + (dirsep != 0), enc,</div><div class='del'>-						IF_NORMALIZE_UTF8PATH(1)+0,</div><div class='del'>-						flags, &amp;new_pathtype);</div><div class='del'>-		    if (!buf) break;</div><div class='del'>-		}</div><div class='del'>-#endif</div><div class='del'>-		status = glob_helper(fd, buf, baselen,</div><div class='del'>-				     namelen + strlen(buf + pathlen), 1,</div><div class='del'>-				     new_pathtype, new_beg, new_end,</div><div class='del'>-				     flags, funcs, arg, enc);</div><div class='del'>-		GLOB_FREE(buf);</div><div class='del'>-		GLOB_FREE(new_beg);</div><div class='add'>+		status = glob_helper(buf, 1, UNKNOWN, UNKNOWN, new_beg, new_end, flags, func, arg);</div><div class='add'>+		free(buf);</div><div class='add'>+		free(new_beg);</div><div class='ctx'> 		if (status) break;</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='del'>-	GLOB_FREE(copy_beg);</div><div class='add'>+	free(copy_beg);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return status;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-push_caller(const char *path, VALUE val, void *enc)</div><div class='del'>-{</div><div class='del'>-    struct push_glob_args *arg = (struct push_glob_args *)val;</div><div class='del'>-    struct glob_pattern *list;</div><div class='del'>-    int status;</div><div class='del'>-</div><div class='del'>-    list = glob_make_pattern(path, path + strlen(path), arg-&gt;flags, enc);</div><div class='del'>-    if (!list) {</div><div class='del'>-	return -1;</div><div class='del'>-    }</div><div class='del'>-    status = glob_helper(arg-&gt;fd, arg-&gt;path, arg-&gt;baselen, arg-&gt;namelen, arg-&gt;dirsep,</div><div class='del'>-			 arg-&gt;pathtype, &amp;list, &amp;list + 1, arg-&gt;flags, arg-&gt;funcs,</div><div class='del'>-			 arg-&gt;arg, enc);</div><div class='del'>-    glob_free_pattern(list);</div><div class='del'>-    return status;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-ruby_glob0(const char *path, int fd, const char *base, int flags,</div><div class='del'>-	   const ruby_glob_funcs_t *funcs, VALUE arg,</div><div class='del'>-	   rb_encoding *enc)</div><div class='add'>+ruby_glob0(path, flags, func, arg)</div><div class='add'>+    const char *path;</div><div class='add'>+    int flags;</div><div class='add'>+    ruby_glob_func *func;</div><div class='add'>+    VALUE arg;</div><div class='ctx'> {</div><div class='ctx'>     struct glob_pattern *list;</div><div class='ctx'>     const char *root, *start;</div><div class='ctx'>     char *buf;</div><div class='del'>-    size_t n, baselen = 0;</div><div class='del'>-    int status, dirsep = FALSE;</div><div class='add'>+    int n;</div><div class='add'>+    int status;</div><div class='ctx'> </div><div class='ctx'>     start = root = path;</div><div class='ctx'>     flags |= FNM_SYSCASE;</div><div class='ctx'> #if defined DOSISH</div><div class='del'>-    root = rb_enc_path_skip_prefix(root, root + strlen(root), enc);</div><div class='add'>+    root = rb_path_skip_prefix(root);</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-    if (*root == '/') root++;</div><div class='add'>+    if (root &amp;&amp; *root == '/') root++;</div><div class='ctx'> </div><div class='ctx'>     n = root - start;</div><div class='del'>-    if (!n &amp;&amp; base) {</div><div class='del'>-	n = strlen(base);</div><div class='del'>-	baselen = n;</div><div class='del'>-	start = base;</div><div class='del'>-	dirsep = TRUE;</div><div class='del'>-    }</div><div class='ctx'>     buf = GLOB_ALLOC_N(char, n + 1);</div><div class='ctx'>     if (!buf) return -1;</div><div class='ctx'>     MEMCPY(buf, start, char, n);</div><div class='ctx'>     buf[n] = '\0';</div><div class='ctx'> </div><div class='del'>-    list = glob_make_pattern(root, root + strlen(root), flags, enc);</div><div class='add'>+    list = glob_make_pattern(root, flags);</div><div class='ctx'>     if (!list) {</div><div class='del'>-	GLOB_FREE(buf);</div><div class='add'>+	free(buf);</div><div class='ctx'> 	return -1;</div><div class='ctx'>     }</div><div class='del'>-    status = glob_helper(fd, buf, baselen, n-baselen, dirsep,</div><div class='del'>-			 path_unknown, &amp;list, &amp;list + 1,</div><div class='del'>-			 flags, funcs, arg, enc);</div><div class='add'>+    status = glob_helper(buf, 0, UNKNOWN, UNKNOWN, &amp;list, &amp;list + 1, flags, func, arg);</div><div class='ctx'>     glob_free_pattern(list);</div><div class='del'>-    GLOB_FREE(buf);</div><div class='add'>+    free(buf);</div><div class='ctx'> </div><div class='ctx'>     return status;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> int</div><div class='del'>-ruby_glob(const char *path, int flags, ruby_glob_func *func, VALUE arg)</div><div class='add'>+ruby_glob(path, flags, func, arg)</div><div class='add'>+    const char *path;</div><div class='add'>+    int flags;</div><div class='add'>+    ruby_glob_func *func;</div><div class='add'>+    VALUE arg;</div><div class='ctx'> {</div><div class='del'>-    ruby_glob_funcs_t funcs;</div><div class='del'>-    funcs.match = func;</div><div class='del'>-    funcs.error = NULL;</div><div class='del'>-    return ruby_glob0(path, AT_FDCWD, 0, flags &amp; ~GLOB_VERBOSE,</div><div class='del'>-		      &amp;funcs, arg, rb_ascii8bit_encoding());</div><div class='add'>+    return ruby_glob0(path, flags &amp; ~GLOB_VERBOSE, func, arg);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static int rb_glob_caller _((const char *, VALUE));</div><div class='add'>+</div><div class='ctx'> static int</div><div class='del'>-rb_glob_caller(const char *path, VALUE a, void *enc)</div><div class='add'>+rb_glob_caller(path, a)</div><div class='add'>+    const char *path;</div><div class='add'>+    VALUE a;</div><div class='ctx'> {</div><div class='ctx'>     int status;</div><div class='ctx'>     struct glob_args *args = (struct glob_args *)a;</div><div class='ctx'> </div><div class='del'>-    args-&gt;path = path;</div><div class='add'>+    args-&gt;c = path;</div><div class='ctx'>     rb_protect(glob_func_caller, a, &amp;status);</div><div class='ctx'>     return status;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static const ruby_glob_funcs_t rb_glob_funcs = {</div><div class='del'>-    rb_glob_caller, rb_glob_error,</div><div class='del'>-};</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-rb_glob(const char *path, void (*func)(const char *, VALUE, void *), VALUE arg)</div><div class='add'>+static int</div><div class='add'>+rb_glob2(path, flags, func, arg)</div><div class='add'>+    const char *path;</div><div class='add'>+    int flags;</div><div class='add'>+    void (*func) _((const char *, VALUE));</div><div class='add'>+    VALUE arg;</div><div class='ctx'> {</div><div class='ctx'>     struct glob_args args;</div><div class='del'>-    int status;</div><div class='ctx'> </div><div class='ctx'>     args.func = func;</div><div class='del'>-    args.value = arg;</div><div class='del'>-    args.enc = rb_ascii8bit_encoding();</div><div class='add'>+    args.v = arg;</div><div class='add'>+</div><div class='add'>+    if (flags &amp; FNM_SYSCASE) {</div><div class='add'>+	rb_warning("Dir.glob() ignores File::FNM_CASEFOLD");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ruby_glob0(path, flags | GLOB_VERBOSE, rb_glob_caller, (VALUE)&amp;args);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    status = ruby_glob0(path, AT_FDCWD, 0, GLOB_VERBOSE, &amp;rb_glob_funcs,</div><div class='del'>-			(VALUE)&amp;args, args.enc);</div><div class='add'>+void</div><div class='add'>+rb_glob(path, func, arg)</div><div class='add'>+    const char *path;</div><div class='add'>+    void (*func) _((const char*, VALUE));</div><div class='add'>+    VALUE arg;</div><div class='add'>+{</div><div class='add'>+    int status = rb_glob2(path, 0, func, arg);</div><div class='ctx'>     if (status) GLOB_JUMP_TAG(status);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static void push_pattern _((const char* path, VALUE ary));</div><div class='ctx'> static void</div><div class='del'>-push_pattern(const char *path, VALUE ary, void *enc)</div><div class='add'>+push_pattern(path, ary)</div><div class='add'>+    const char *path;</div><div class='add'>+    VALUE ary;</div><div class='ctx'> {</div><div class='del'>-#if defined _WIN32 || defined __APPLE__</div><div class='del'>-    VALUE name = rb_utf8_str_new_cstr(path);</div><div class='del'>-    rb_encoding *eenc = rb_default_internal_encoding();</div><div class='del'>-    OBJ_TAINT(name);</div><div class='del'>-    name = rb_str_conv_enc(name, NULL, eenc ? eenc : enc);</div><div class='del'>-#else</div><div class='del'>-    VALUE name = rb_external_str_new_with_enc(path, strlen(path), enc);</div><div class='del'>-#endif</div><div class='del'>-    rb_ary_push(ary, name);</div><div class='add'>+    rb_ary_push(ary, rb_tainted_str_new2(path));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static int</div><div class='del'>-ruby_brace_expand(const char *str, int flags, ruby_glob_func *func, VALUE arg,</div><div class='del'>-		  rb_encoding *enc, VALUE var)</div><div class='add'>+int</div><div class='add'>+ruby_brace_expand(str, flags, func, arg)</div><div class='add'>+    const char *str;</div><div class='add'>+    int flags;</div><div class='add'>+    ruby_glob_func *func;</div><div class='add'>+    VALUE arg;</div><div class='ctx'> {</div><div class='ctx'>     const int escape = !(flags &amp; FNM_NOESCAPE);</div><div class='ctx'>     const char *p = str;</div><div class='del'>-    const char *pend = p + strlen(p);</div><div class='ctx'>     const char *s = p;</div><div class='ctx'>     const char *lbrace = 0, *rbrace = 0;</div><div class='ctx'>     int nest = 0, status = 0;</div><div class='hunk'>@@ -2542,19 +1519,18 @@ ruby_brace_expand(const char *str, int flags, ruby_glob_func *func, VALUE arg,</div><div class='ctx'> 	if (*p == '{' &amp;&amp; nest++ == 0) {</div><div class='ctx'> 	    lbrace = p;</div><div class='ctx'> 	}</div><div class='del'>-	if (*p == '}' &amp;&amp; lbrace &amp;&amp; --nest == 0) {</div><div class='add'>+	if (*p == '}' &amp;&amp; --nest &lt;= 0) {</div><div class='ctx'> 	    rbrace = p;</div><div class='ctx'> 	    break;</div><div class='ctx'> 	}</div><div class='ctx'> 	if (*p == '\\' &amp;&amp; escape) {</div><div class='ctx'> 	    if (!*++p) break;</div><div class='ctx'> 	}</div><div class='del'>-	Inc(p, pend, enc);</div><div class='add'>+	Inc(p);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     if (lbrace &amp;&amp; rbrace) {</div><div class='del'>-	size_t len = strlen(s) + 1;</div><div class='del'>-	char *buf = GLOB_ALLOC_N(char, len);</div><div class='add'>+	char *buf = GLOB_ALLOC_N(char, strlen(s) + 1);</div><div class='ctx'> 	long shift;</div><div class='ctx'> </div><div class='ctx'> 	if (!buf) return -1;</div><div class='hunk'>@@ -2570,140 +1546,106 @@ ruby_brace_expand(const char *str, int flags, ruby_glob_func *func, VALUE arg,</div><div class='ctx'> 		if (*p == '\\' &amp;&amp; escape) {</div><div class='ctx'> 		    if (++p == rbrace) break;</div><div class='ctx'> 		}</div><div class='del'>-		Inc(p, pend, enc);</div><div class='add'>+		Inc(p);</div><div class='ctx'> 	    }</div><div class='ctx'> 	    memcpy(buf+shift, t, p-t);</div><div class='del'>-	    strlcpy(buf+shift+(p-t), rbrace+1, len-(shift+(p-t)));</div><div class='del'>-	    status = ruby_brace_expand(buf, flags, func, arg, enc, var);</div><div class='add'>+	    strcpy(buf+shift+(p-t), rbrace+1);</div><div class='add'>+	    status = ruby_brace_expand(buf, flags, func, arg);</div><div class='ctx'> 	    if (status) break;</div><div class='ctx'> 	}</div><div class='del'>-	GLOB_FREE(buf);</div><div class='add'>+	free(buf);</div><div class='ctx'>     }</div><div class='ctx'>     else if (!lbrace &amp;&amp; !rbrace) {</div><div class='del'>-	status = glob_call_func(func, s, arg, enc);</div><div class='add'>+	status = (*func)(s, arg);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    RB_GC_GUARD(var);</div><div class='ctx'>     return status;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> struct brace_args {</div><div class='del'>-    ruby_glob_funcs_t funcs;</div><div class='add'>+    ruby_glob_func *func;</div><div class='ctx'>     VALUE value;</div><div class='ctx'>     int flags;</div><div class='ctx'> };</div><div class='ctx'> </div><div class='add'>+static int glob_brace _((const char *, VALUE));</div><div class='ctx'> static int</div><div class='del'>-glob_brace(const char *path, VALUE val, void *enc)</div><div class='add'>+glob_brace(path, val)</div><div class='add'>+    const char *path;</div><div class='add'>+    VALUE val;</div><div class='ctx'> {</div><div class='ctx'>     struct brace_args *arg = (struct brace_args *)val;</div><div class='ctx'> </div><div class='del'>-    return ruby_glob0(path, AT_FDCWD, 0, arg-&gt;flags, &amp;arg-&gt;funcs, arg-&gt;value, enc);</div><div class='add'>+    return ruby_glob0(path, arg-&gt;flags, arg-&gt;func, arg-&gt;value);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-int</div><div class='del'>-ruby_brace_glob_with_enc(const char *str, int flags, ruby_glob_func *func, VALUE arg, rb_encoding *enc)</div><div class='add'>+static int</div><div class='add'>+ruby_brace_glob0(str, flags, func, arg)</div><div class='add'>+    const char *str;</div><div class='add'>+    int flags;</div><div class='add'>+    ruby_glob_func *func;</div><div class='add'>+    VALUE arg;</div><div class='ctx'> {</div><div class='ctx'>     struct brace_args args;</div><div class='ctx'> </div><div class='del'>-    flags &amp;= ~GLOB_VERBOSE;</div><div class='del'>-    args.funcs.match = func;</div><div class='del'>-    args.funcs.error = NULL;</div><div class='add'>+    args.func = func;</div><div class='ctx'>     args.value = arg;</div><div class='ctx'>     args.flags = flags;</div><div class='del'>-    return ruby_brace_expand(str, flags, glob_brace, (VALUE)&amp;args, enc, Qfalse);</div><div class='add'>+    return ruby_brace_expand(str, flags, glob_brace, (VALUE)&amp;args);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> int</div><div class='del'>-ruby_brace_glob(const char *str, int flags, ruby_glob_func *func, VALUE arg)</div><div class='add'>+ruby_brace_glob(str, flags, func, arg)</div><div class='add'>+    const char *str;</div><div class='add'>+    int flags;</div><div class='add'>+    ruby_glob_func *func;</div><div class='add'>+    VALUE arg;</div><div class='ctx'> {</div><div class='del'>-    return ruby_brace_glob_with_enc(str, flags, func, arg, rb_ascii8bit_encoding());</div><div class='add'>+    return ruby_brace_glob0(str, flags &amp; ~GLOB_VERBOSE, func, arg);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-push_glob(VALUE ary, VALUE str, VALUE base, int flags)</div><div class='add'>+push_glob(VALUE ary, const char *str, int flags)</div><div class='ctx'> {</div><div class='ctx'>     struct glob_args args;</div><div class='del'>-    int fd;</div><div class='del'>-    rb_encoding *enc = rb_enc_get(str);</div><div class='ctx'> </div><div class='del'>-#if defined _WIN32 || defined __APPLE__</div><div class='del'>-    str = rb_str_encode_ospath(str);</div><div class='del'>-#endif</div><div class='del'>-    if (rb_enc_to_index(enc) == ENCINDEX_US_ASCII)</div><div class='del'>-	enc = rb_filesystem_encoding();</div><div class='del'>-    if (rb_enc_to_index(enc) == ENCINDEX_US_ASCII)</div><div class='del'>-	enc = rb_ascii8bit_encoding();</div><div class='del'>-    flags |= GLOB_VERBOSE;</div><div class='ctx'>     args.func = push_pattern;</div><div class='del'>-    args.value = ary;</div><div class='del'>-    args.enc = enc;</div><div class='del'>-    args.base = 0;</div><div class='del'>-    fd = AT_FDCWD;</div><div class='del'>-    if (!NIL_P(base)) {</div><div class='del'>-	if (!RB_TYPE_P(base, T_STRING) || !rb_enc_check(str, base)) {</div><div class='del'>-	    struct dir_data *dirp = DATA_PTR(base);</div><div class='del'>-	    if (!dirp-&gt;dir) dir_closed();</div><div class='del'>-#ifdef HAVE_DIRFD</div><div class='del'>-	    if ((fd = dirfd(dirp-&gt;dir)) == -1)</div><div class='del'>-		rb_sys_fail_path(dir_inspect(base));</div><div class='del'>-#endif</div><div class='del'>-	    base = dirp-&gt;path;</div><div class='del'>-	}</div><div class='del'>-	args.base = RSTRING_PTR(base);</div><div class='del'>-    }</div><div class='del'>-#if defined _WIN32 || defined __APPLE__</div><div class='del'>-    enc = rb_utf8_encoding();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    return ruby_glob0(RSTRING_PTR(str), fd, args.base, flags, &amp;rb_glob_funcs,</div><div class='del'>-		      (VALUE)&amp;args, enc);</div><div class='add'>+    args.v = ary;</div><div class='add'>+    return ruby_brace_glob0(str, flags | GLOB_VERBOSE, rb_glob_caller, (VALUE)&amp;args);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_push_glob(VALUE str, VALUE base, int flags) /* '\0' is delimiter */</div><div class='add'>+rb_push_glob(str, flags) /* '\0' is delimiter */</div><div class='add'>+    VALUE str;</div><div class='add'>+    int flags;</div><div class='ctx'> {</div><div class='ctx'>     long offset = 0;</div><div class='del'>-    long len;</div><div class='ctx'>     VALUE ary;</div><div class='del'>-    int warned = FALSE;</div><div class='ctx'> </div><div class='del'>-    /* can contain null bytes as separators */</div><div class='del'>-    if (!RB_TYPE_P((str), T_STRING)) {</div><div class='del'>-	FilePathValue(str);</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	rb_check_safe_obj(str);</div><div class='del'>-	rb_enc_check(str, rb_enc_from_encoding(rb_usascii_encoding()));</div><div class='del'>-    }</div><div class='ctx'>     ary = rb_ary_new();</div><div class='add'>+    SafeStringValue(str);</div><div class='ctx'> </div><div class='del'>-    while (offset &lt; (len = RSTRING_LEN(str))) {</div><div class='del'>-	int status;</div><div class='del'>-        long rest = len - offset;</div><div class='del'>-        const char *pbeg = RSTRING_PTR(str), *p = pbeg + offset;</div><div class='del'>-        const char *pend = memchr(p, '\0', rest);</div><div class='del'>-        if (pend) {</div><div class='del'>-            if (!warned) {</div><div class='del'>-                rb_warn("use glob patterns list instead of nul-separated patterns");</div><div class='del'>-                warned = TRUE;</div><div class='del'>-            }</div><div class='del'>-            rest = ++pend - p;</div><div class='del'>-            offset = pend - pbeg;</div><div class='del'>-        }</div><div class='del'>-        else {</div><div class='del'>-            offset = len;</div><div class='del'>-        }</div><div class='del'>-	status = push_glob(ary, rb_str_subseq(str, p-pbeg, rest),</div><div class='del'>-			   base, flags);</div><div class='add'>+    while (offset &lt; RSTRING_LEN(str)) {</div><div class='add'>+	int status = push_glob(ary, RSTRING(str)-&gt;ptr + offset, flags);</div><div class='add'>+	char *p, *pend;</div><div class='ctx'> 	if (status) GLOB_JUMP_TAG(status);</div><div class='add'>+	if (offset &gt;= RSTRING_LEN(str)) break;</div><div class='add'>+	p = RSTRING(str)-&gt;ptr + offset;</div><div class='add'>+	p += strlen(p) + 1;</div><div class='add'>+	pend = RSTRING(str)-&gt;ptr + RSTRING_LEN(str);</div><div class='add'>+	while (p &lt; pend &amp;&amp; !*p)</div><div class='add'>+	    p++;</div><div class='add'>+	offset = p - RSTRING(str)-&gt;ptr;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-dir_globs(long argc, const VALUE *argv, VALUE base, int flags)</div><div class='add'>+dir_globs(argc, argv, flags)</div><div class='add'>+    long argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    int flags;</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary = rb_ary_new();</div><div class='ctx'>     long i;</div><div class='hunk'>@@ -2711,120 +1653,70 @@ dir_globs(long argc, const VALUE *argv, VALUE base, int flags)</div><div class='ctx'>     for (i = 0; i &lt; argc; ++i) {</div><div class='ctx'> 	int status;</div><div class='ctx'> 	VALUE str = argv[i];</div><div class='del'>-	FilePathValue(str);</div><div class='del'>-	status = push_glob(ary, str, base, flags);</div><div class='add'>+	StringValue(str);</div><div class='add'>+	status = push_glob(ary, RSTRING(str)-&gt;ptr, flags);</div><div class='ctx'> 	if (status) GLOB_JUMP_TAG(status);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-dir_glob_options(VALUE opt, VALUE *base, int *flags)</div><div class='del'>-{</div><div class='del'>-    ID kw[2];</div><div class='del'>-    VALUE args[2];</div><div class='del'>-    kw[0] = rb_intern("base");</div><div class='del'>-    if (flags) kw[1] = rb_intern("flags");</div><div class='del'>-    rb_get_kwargs(opt, kw, 0, flags ? 2 : 1, args);</div><div class='del'>-    if (args[0] == Qundef || NIL_P(args[0])) {</div><div class='del'>-	*base = Qnil;</div><div class='del'>-    }</div><div class='del'>-#if USE_OPENDIR_AT</div><div class='del'>-    else if (rb_typeddata_is_kind_of(args[0], &amp;dir_data_type)) {</div><div class='del'>-	*base = args[0];</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-    else {</div><div class='del'>-	FilePathValue(args[0]);</div><div class='del'>-	if (!RSTRING_LEN(args[0])) args[0] = Qnil;</div><div class='del'>-	*base = args[0];</div><div class='del'>-    }</div><div class='del'>-    if (flags &amp;&amp; args[1] != Qundef) {</div><div class='del'>-	*flags = NUM2INT(args[1]);</div><div class='del'>-    }</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir[ string [, string ...] [, base: path] ] -&gt; array</div><div class='add'>+ *     Dir[ array ]                 =&gt; array</div><div class='add'>+ *     Dir[ string [, string ...] ] =&gt; array</div><div class='ctx'>  *</div><div class='ctx'>  *  Equivalent to calling</div><div class='del'>- *  &lt;code&gt;Dir.glob([&lt;/code&gt;&lt;i&gt;string,...&lt;/i&gt;&lt;code&gt;], 0)&lt;/code&gt;.</div><div class='add'>+ *  &lt;code&gt;Dir.glob(&lt;/code&gt;&lt;i&gt;array,&lt;/i&gt;&lt;code&gt;0)&lt;/code&gt; and </div><div class='add'>+ *  &lt;code&gt;Dir.glob([&lt;/code&gt;&lt;i&gt;string,...&lt;/i&gt;&lt;code&gt;],0)&lt;/code&gt;.</div><div class='ctx'>  *</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='ctx'> dir_s_aref(int argc, VALUE *argv, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    VALUE opts, base;</div><div class='del'>-    argc = rb_scan_args(argc, argv, "*:", NULL, &amp;opts);</div><div class='del'>-    dir_glob_options(opts, &amp;base, NULL);</div><div class='add'>+ {</div><div class='ctx'>     if (argc == 1) {</div><div class='del'>-	return rb_push_glob(argv[0], base, 0);</div><div class='add'>+	return rb_push_glob(argv[0], 0);</div><div class='ctx'>     }</div><div class='del'>-    return dir_globs(argc, argv, base, 0);</div><div class='del'>-}</div><div class='add'>+    return dir_globs(argc, argv, 0);</div><div class='add'>+ }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.glob( pattern, [flags], [base: path] )                       -&gt; array</div><div class='del'>- *     Dir.glob( pattern, [flags], [base: path] ) { |filename| block }  -&gt; nil</div><div class='del'>- *</div><div class='del'>- *  Expands +pattern+, which is a pattern string or an Array of pattern</div><div class='del'>- *  strings, and returns an array containing the matching filenames.</div><div class='del'>- *  If a block is given, calls the block once for each matching filename,</div><div class='del'>- *  passing the filename as a parameter to the block.</div><div class='del'>- *</div><div class='del'>- *  The optional +base+ keyword argument specifies the base directory for</div><div class='del'>- *  interpreting relative pathnames instead of the current working directory.</div><div class='del'>- *  As the results are not prefixed with the base directory name in this</div><div class='del'>- *  case, you will need to prepend the base directory name if you want real</div><div class='del'>- *  paths.</div><div class='del'>- *</div><div class='del'>- *  Note that the pattern is not a regexp, it's closer to a shell glob.</div><div class='del'>- *  See File::fnmatch for the meaning of the +flags+ parameter.</div><div class='del'>- *  Case sensitivity depends on your system (File::FNM_CASEFOLD is ignored),</div><div class='del'>- *  as does the order in which the results are returned.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;*&lt;/code&gt;::</div><div class='del'>- *    Matches any file. Can be restricted by other values in the glob.</div><div class='del'>- *    Equivalent to &lt;code&gt;/ .* /mx&lt;/code&gt; in regexp.</div><div class='del'>- *</div><div class='del'>- *    &lt;code&gt;*&lt;/code&gt;::     Matches all files</div><div class='del'>- *    &lt;code&gt;c*&lt;/code&gt;::    Matches all files beginning with &lt;code&gt;c&lt;/code&gt;</div><div class='del'>- *    &lt;code&gt;*c&lt;/code&gt;::    Matches all files ending with &lt;code&gt;c&lt;/code&gt;</div><div class='del'>- *    &lt;code&gt;\*c\*&lt;/code&gt;:: Match all files that have &lt;code&gt;c&lt;/code&gt; in them</div><div class='del'>- *                         (including at the beginning or end).</div><div class='del'>- *</div><div class='del'>- *    Note, this will not match Unix-like hidden files (dotfiles).  In order</div><div class='del'>- *    to include those in the match results, you must use the</div><div class='del'>- *    File::FNM_DOTMATCH flag or something like &lt;code&gt;"{*,.*}"&lt;/code&gt;.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;**&lt;/code&gt;::</div><div class='del'>- *    Matches directories recursively.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;?&lt;/code&gt;::</div><div class='del'>- *    Matches any one character. Equivalent to &lt;code&gt;/.{1}/&lt;/code&gt; in regexp.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;[set]&lt;/code&gt;::</div><div class='del'>- *    Matches any one character in +set+.  Behaves exactly like character sets</div><div class='del'>- *    in Regexp, including set negation (&lt;code&gt;[^a-z]&lt;/code&gt;).</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;{p,q}&lt;/code&gt;::</div><div class='del'>- *    Matches either literal &lt;code&gt;p&lt;/code&gt; or literal &lt;code&gt;q&lt;/code&gt;.</div><div class='del'>- *    Equivalent to pattern alternation in regexp.</div><div class='del'>- *</div><div class='del'>- *    Matching literals may be more than one character in length.  More than</div><div class='del'>- *    two literals may be specified.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt; \\ &lt;/code&gt;::</div><div class='del'>- *    Escapes the next metacharacter.</div><div class='del'>- *</div><div class='del'>- *    Note that this means you cannot use backslash on windows as part of a</div><div class='del'>- *    glob, i.e.  &lt;code&gt;Dir["c:\\foo*"]&lt;/code&gt; will not work, use</div><div class='del'>- *    &lt;code&gt;Dir["c:/foo*"]&lt;/code&gt; instead.</div><div class='del'>- *</div><div class='del'>- *  Examples:</div><div class='add'>+ *     Dir.glob( pattern, [flags] ) =&gt; array</div><div class='add'>+ *     Dir.glob( pattern, [flags] ) {| filename | block }  =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  Returns the filenames found by expanding &lt;i&gt;pattern&lt;/i&gt; which is</div><div class='add'>+ *  an +Array+ of the patterns or the pattern +String+, either as an</div><div class='add'>+ *  &lt;i&gt;array&lt;/i&gt; or as parameters to the block. Note that this pattern</div><div class='add'>+ *  is not a regexp (it's closer to a shell glob). See</div><div class='add'>+ *  &lt;code&gt;File::fnmatch&lt;/code&gt; for the meaning of the &lt;i&gt;flags&lt;/i&gt;</div><div class='add'>+ *  parameter. Note that case sensitivity depends on your system (so</div><div class='add'>+ *  &lt;code&gt;File::FNM_CASEFOLD&lt;/code&gt; is ignored)</div><div class='add'>+ *</div><div class='add'>+ *  &lt;code&gt;*&lt;/code&gt;::        Matches any file. Can be restricted by</div><div class='add'>+ *                          other values in the glob. &lt;code&gt;*&lt;/code&gt;</div><div class='add'>+ *                          will match all files; &lt;code&gt;c*&lt;/code&gt; will</div><div class='add'>+ *                          match all files beginning with</div><div class='add'>+ *                          &lt;code&gt;c&lt;/code&gt;; &lt;code&gt;*c&lt;/code&gt; will match</div><div class='add'>+ *                          all files ending with &lt;code&gt;c&lt;/code&gt;; and</div><div class='add'>+ *                          &lt;code&gt;*c*&lt;/code&gt; will match all files that</div><div class='add'>+ *                          have &lt;code&gt;c&lt;/code&gt; in them (including at</div><div class='add'>+ *                          the beginning or end). Equivalent to</div><div class='add'>+ *                          &lt;code&gt;/ .* /x&lt;/code&gt; in regexp.</div><div class='add'>+ *  &lt;code&gt;**&lt;/code&gt;::       Matches directories recursively.</div><div class='add'>+ *  &lt;code&gt;?&lt;/code&gt;::        Matches any one character. Equivalent to</div><div class='add'>+ *                          &lt;code&gt;/.{1}/&lt;/code&gt; in regexp.</div><div class='add'>+ *  &lt;code&gt;[set]&lt;/code&gt;::    Matches any one character in +set+.</div><div class='add'>+ *                          Behaves exactly like character sets in</div><div class='add'>+ *                          Regexp, including set negation</div><div class='add'>+ *                          (&lt;code&gt;[^a-z]&lt;/code&gt;).</div><div class='add'>+ *  &lt;code&gt;{p,q}&lt;/code&gt;::    Matches either literal &lt;code&gt;p&lt;/code&gt; or</div><div class='add'>+ *                          literal &lt;code&gt;q&lt;/code&gt;. Matching literals</div><div class='add'>+ *                          may be more than one character in length.</div><div class='add'>+ *                          More than two literals may be specified.</div><div class='add'>+ *                          Equivalent to pattern alternation in</div><div class='add'>+ *                          regexp.</div><div class='add'>+ *  &lt;code&gt;\&lt;/code&gt;::        Escapes the next metacharacter.</div><div class='ctx'>  *</div><div class='ctx'>  *     Dir["config.?"]                     #=&gt; ["config.h"]</div><div class='ctx'>  *     Dir.glob("config.?")                #=&gt; ["config.h"]</div><div class='hunk'>@@ -2833,47 +1725,42 @@ dir_s_aref(int argc, VALUE *argv, VALUE obj)</div><div class='ctx'>  *     Dir.glob("*.{rb,h}")                #=&gt; ["main.rb", "config.h"]</div><div class='ctx'>  *     Dir.glob("*")                       #=&gt; ["config.h", "main.rb"]</div><div class='ctx'>  *     Dir.glob("*", File::FNM_DOTMATCH)   #=&gt; [".", "..", "config.h", "main.rb"]</div><div class='del'>- *     Dir.glob(["*.rb", "*.h"])           #=&gt; ["main.rb", "config.h"]</div><div class='ctx'>  *</div><div class='ctx'>  *     rbfiles = File.join("**", "*.rb")</div><div class='ctx'>  *     Dir.glob(rbfiles)                   #=&gt; ["main.rb",</div><div class='del'>- *                                         #    "lib/song.rb",</div><div class='del'>- *                                         #    "lib/song/karaoke.rb"]</div><div class='del'>- *</div><div class='del'>- *     Dir.glob(rbfiles, base: "lib")      #=&gt; ["song.rb",</div><div class='del'>- *                                         #    "song/karaoke.rb"]</div><div class='del'>- *</div><div class='add'>+ *                                              "lib/song.rb",</div><div class='add'>+ *                                              "lib/song/karaoke.rb"]</div><div class='ctx'>  *     libdirs = File.join("**", "lib")</div><div class='ctx'>  *     Dir.glob(libdirs)                   #=&gt; ["lib"]</div><div class='ctx'>  *</div><div class='ctx'>  *     librbfiles = File.join("**", "lib", "**", "*.rb")</div><div class='ctx'>  *     Dir.glob(librbfiles)                #=&gt; ["lib/song.rb",</div><div class='del'>- *                                         #    "lib/song/karaoke.rb"]</div><div class='add'>+ *                                              "lib/song/karaoke.rb"]</div><div class='ctx'>  *</div><div class='ctx'>  *     librbfiles = File.join("**", "lib", "*.rb")</div><div class='ctx'>  *     Dir.glob(librbfiles)                #=&gt; ["lib/song.rb"]</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_s_glob(int argc, VALUE *argv, VALUE obj)</div><div class='add'>+dir_s_glob(argc, argv, obj)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='del'>-    VALUE str, rflags, ary, opts, base;</div><div class='add'>+    VALUE str, rflags, ary;</div><div class='ctx'>     int flags;</div><div class='ctx'> </div><div class='del'>-    argc = rb_scan_args(argc, argv, "11:", &amp;str, &amp;rflags, &amp;opts);</div><div class='del'>-    if (argc == 2)</div><div class='add'>+    if (rb_scan_args(argc, argv, "11", &amp;str, &amp;rflags) == 2)</div><div class='ctx'> 	flags = NUM2INT(rflags);</div><div class='ctx'>     else</div><div class='ctx'> 	flags = 0;</div><div class='del'>-    dir_glob_options(opts, &amp;base, &amp;flags);</div><div class='ctx'> </div><div class='ctx'>     ary = rb_check_array_type(str);</div><div class='ctx'>     if (NIL_P(ary)) {</div><div class='del'>-	ary = rb_push_glob(str, base, flags);</div><div class='add'>+	ary = rb_push_glob(str, flags);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	VALUE v = ary;</div><div class='del'>-	ary = dir_globs(RARRAY_LEN(v), RARRAY_CONST_PTR(v), base, flags);</div><div class='del'>-	RB_GC_GUARD(v);</div><div class='add'>+	volatile VALUE v = ary;</div><div class='add'>+	ary = dir_globs(RARRAY_LEN(v), RARRAY_PTR(v), flags);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     if (rb_block_given_p()) {</div><div class='hunk'>@@ -2884,27 +1771,27 @@ dir_s_glob(int argc, VALUE *argv, VALUE obj)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-dir_open_dir(int argc, VALUE *argv)</div><div class='add'>+dir_open_dir(path)</div><div class='add'>+    VALUE path;</div><div class='ctx'> {</div><div class='del'>-    VALUE dir = rb_funcallv(rb_cDir, rb_intern("open"), argc, argv);</div><div class='add'>+    VALUE dir = rb_funcall(rb_cDir, rb_intern("open"), 1, path);</div><div class='ctx'> </div><div class='del'>-    rb_check_typeddata(dir, &amp;dir_data_type);</div><div class='add'>+    if (TYPE(dir) != T_DATA ||</div><div class='add'>+	RDATA(dir)-&gt;dfree != (RUBY_DATA_FUNC)free_dir) {</div><div class='add'>+	rb_raise(rb_eTypeError, "wrong argument type %s (expected Dir)",</div><div class='add'>+		 rb_obj_classname(dir));</div><div class='add'>+    }</div><div class='ctx'>     return dir;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.foreach( dirname ) {| filename | block }                 -&gt; nil</div><div class='del'>- *     Dir.foreach( dirname, encoding: enc ) {| filename | block }  -&gt; nil</div><div class='del'>- *     Dir.foreach( dirname )                                       -&gt; an_enumerator</div><div class='del'>- *     Dir.foreach( dirname, encoding: enc )                        -&gt; an_enumerator</div><div class='add'>+ *     Dir.foreach( dirname ) {| filename | block }  =&gt; nil</div><div class='ctx'>  *</div><div class='ctx'>  *  Calls the block once for each entry in the named directory, passing</div><div class='ctx'>  *  the filename of each entry as a parameter to the block.</div><div class='ctx'>  *</div><div class='del'>- *  If no block is given, an enumerator is returned instead.</div><div class='del'>- *</div><div class='ctx'>  *     Dir.foreach("testdir") {|x| puts "Got #{x}" }</div><div class='ctx'>  *</div><div class='ctx'>  *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='hunk'>@@ -2916,253 +1803,96 @@ dir_open_dir(int argc, VALUE *argv)</div><div class='ctx'>  *</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_foreach(int argc, VALUE *argv, VALUE io)</div><div class='add'>+dir_foreach(io, dirname)</div><div class='add'>+    VALUE io, dirname;</div><div class='ctx'> {</div><div class='ctx'>     VALUE dir;</div><div class='ctx'> </div><div class='del'>-    RETURN_ENUMERATOR(io, argc, argv);</div><div class='del'>-    dir = dir_open_dir(argc, argv);</div><div class='add'>+    dir = dir_open_dir(dirname);</div><div class='ctx'>     rb_ensure(dir_each, dir, dir_close, dir);</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-dir_collect(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = rb_ary_new();</div><div class='del'>-    dir_each_entry(dir, rb_ary_push, ary, FALSE);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     Dir.entries( dirname )                -&gt; array</div><div class='del'>- *     Dir.entries( dirname, encoding: enc ) -&gt; array</div><div class='add'>+ *     Dir.entries( dirname ) =&gt; array</div><div class='ctx'>  *</div><div class='ctx'>  *  Returns an array containing all of the filenames in the given</div><div class='ctx'>  *  directory. Will raise a &lt;code&gt;SystemCallError&lt;/code&gt; if the named</div><div class='ctx'>  *  directory doesn't exist.</div><div class='ctx'>  *</div><div class='del'>- *  The optional &lt;i&gt;encoding&lt;/i&gt; keyword argument specifies the encoding of the</div><div class='del'>- *  directory. If not specified, the filesystem encoding is used.</div><div class='del'>- *</div><div class='ctx'>  *     Dir.entries("testdir")   #=&gt; [".", "..", "config.h", "main.rb"]</div><div class='ctx'>  *</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-dir_entries(int argc, VALUE *argv, VALUE io)</div><div class='del'>-{</div><div class='del'>-    VALUE dir;</div><div class='del'>-</div><div class='del'>-    dir = dir_open_dir(argc, argv);</div><div class='del'>-    return rb_ensure(dir_collect, dir, dir_close, dir);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-dir_each_child(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    return dir_each_entry(dir, dir_yield, Qnil, TRUE);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     Dir.each_child( dirname ) {| filename | block }                 -&gt; nil</div><div class='del'>- *     Dir.each_child( dirname, encoding: enc ) {| filename | block }  -&gt; nil</div><div class='del'>- *     Dir.each_child( dirname )                                       -&gt; an_enumerator</div><div class='del'>- *     Dir.each_child( dirname, encoding: enc )                        -&gt; an_enumerator</div><div class='del'>- *</div><div class='del'>- *  Calls the block once for each entry except for "." and ".." in the</div><div class='del'>- *  named directory, passing the filename of each entry as a parameter</div><div class='del'>- *  to the block.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *     Dir.each_child("testdir") {|x| puts "Got #{x}" }</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *     Got config.h</div><div class='del'>- *     Got main.rb</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-dir_s_each_child(int argc, VALUE *argv, VALUE io)</div><div class='del'>-{</div><div class='del'>-    VALUE dir;</div><div class='del'>-</div><div class='del'>-    RETURN_ENUMERATOR(io, argc, argv);</div><div class='del'>-    dir = dir_open_dir(argc, argv);</div><div class='del'>-    rb_ensure(dir_each_child, dir, dir_close, dir);</div><div class='del'>-    return Qnil;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     dir.each_child {| filename | block }  -&gt; nil</div><div class='del'>- *     dir.each_child                        -&gt; an_enumerator</div><div class='del'>- *</div><div class='del'>- *  Calls the block once for each entry except for "." and ".." in</div><div class='del'>- *  this directory, passing the filename of each entry as a parameter</div><div class='del'>- *  to the block.</div><div class='del'>- *</div><div class='del'>- *  If no block is given, an enumerator is returned instead.</div><div class='del'>- *</div><div class='del'>- *     d = Dir.new("testdir")</div><div class='del'>- *     d.each_child  {|x| puts "Got #{x}" }</div><div class='del'>- *</div><div class='del'>- *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='del'>- *</div><div class='del'>- *     Got config.h</div><div class='del'>- *     Got main.rb</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-dir_each_child_m(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    RETURN_ENUMERATOR(dir, 0, 0);</div><div class='del'>-    return dir_each_entry(dir, dir_yield, Qnil, TRUE);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     dir.children  -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns an array containing all of the filenames except for "."</div><div class='del'>- *  and ".." in this directory.</div><div class='del'>- *</div><div class='del'>- *     d = Dir.new("testdir")</div><div class='del'>- *     d.children   #=&gt; ["config.h", "main.rb"]</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-dir_collect_children(VALUE dir)</div><div class='del'>-{</div><div class='del'>-    VALUE ary = rb_ary_new();</div><div class='del'>-    dir_each_entry(dir, rb_ary_push, ary, TRUE);</div><div class='del'>-    return ary;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- *  call-seq:</div><div class='del'>- *     Dir.children( dirname )                -&gt; array</div><div class='del'>- *     Dir.children( dirname, encoding: enc ) -&gt; array</div><div class='del'>- *</div><div class='del'>- *  Returns an array containing all of the filenames except for "."</div><div class='del'>- *  and ".." in the given directory. Will raise a</div><div class='del'>- *  &lt;code&gt;SystemCallError&lt;/code&gt; if the named directory doesn't exist.</div><div class='del'>- *</div><div class='del'>- *  The optional &lt;i&gt;encoding&lt;/i&gt; keyword argument specifies the encoding of the</div><div class='del'>- *  directory. If not specified, the filesystem encoding is used.</div><div class='del'>- *</div><div class='del'>- *     Dir.children("testdir")   #=&gt; ["config.h", "main.rb"]</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-dir_s_children(int argc, VALUE *argv, VALUE io)</div><div class='add'>+dir_entries(io, dirname)</div><div class='add'>+    VALUE io, dirname;</div><div class='ctx'> {</div><div class='ctx'>     VALUE dir;</div><div class='ctx'> </div><div class='del'>-    dir = dir_open_dir(argc, argv);</div><div class='del'>-    return rb_ensure(dir_collect_children, dir, dir_close, dir);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-fnmatch_brace(const char *pattern, VALUE val, void *enc)</div><div class='del'>-{</div><div class='del'>-    struct brace_args *arg = (struct brace_args *)val;</div><div class='del'>-    VALUE path = arg-&gt;value;</div><div class='del'>-    rb_encoding *enc_pattern = enc;</div><div class='del'>-    rb_encoding *enc_path = rb_enc_get(path);</div><div class='del'>-</div><div class='del'>-    if (enc_pattern != enc_path) {</div><div class='del'>-	if (!rb_enc_asciicompat(enc_pattern))</div><div class='del'>-	    return FNM_NOMATCH;</div><div class='del'>-	if (!rb_enc_asciicompat(enc_path))</div><div class='del'>-	    return FNM_NOMATCH;</div><div class='del'>-	if (!rb_enc_str_asciionly_p(path)) {</div><div class='del'>-	    int cr = ENC_CODERANGE_7BIT;</div><div class='del'>-	    long len = strlen(pattern);</div><div class='del'>-	    if (rb_str_coderange_scan_restartable(pattern, pattern + len,</div><div class='del'>-						  enc_pattern, &amp;cr) != len)</div><div class='del'>-		return FNM_NOMATCH;</div><div class='del'>-	    if (cr != ENC_CODERANGE_7BIT)</div><div class='del'>-		return FNM_NOMATCH;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return (fnmatch(pattern, enc, RSTRING_PTR(path), arg-&gt;flags) == 0);</div><div class='add'>+    dir = dir_open_dir(dirname);</div><div class='add'>+    return rb_ensure(rb_Array, dir, dir_close, dir);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='ctx'>  *  call-seq:</div><div class='del'>- *     File.fnmatch( pattern, path, [flags] ) -&gt; (true or false)</div><div class='del'>- *     File.fnmatch?( pattern, path, [flags] ) -&gt; (true or false)</div><div class='del'>- *</div><div class='del'>- *  Returns true if +path+ matches against +pattern+.  The pattern is not a</div><div class='del'>- *  regular expression; instead it follows rules similar to shell filename</div><div class='del'>- *  globbing.  It may contain the following metacharacters:</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;*&lt;/code&gt;::</div><div class='del'>- *    Matches any file. Can be restricted by other values in the glob.</div><div class='del'>- *    Equivalent to &lt;code&gt;/ .* /x&lt;/code&gt; in regexp.</div><div class='del'>- *</div><div class='del'>- *    &lt;code&gt;*&lt;/code&gt;::    Matches all files regular files</div><div class='del'>- *    &lt;code&gt;c*&lt;/code&gt;::   Matches all files beginning with &lt;code&gt;c&lt;/code&gt;</div><div class='del'>- *    &lt;code&gt;*c&lt;/code&gt;::   Matches all files ending with &lt;code&gt;c&lt;/code&gt;</div><div class='del'>- *    &lt;code&gt;\*c*&lt;/code&gt;:: Matches all files that have &lt;code&gt;c&lt;/code&gt; in them</div><div class='del'>- *                        (including at the beginning or end).</div><div class='del'>- *</div><div class='del'>- *    To match hidden files (that start with a &lt;code&gt;.&lt;/code&gt; set the</div><div class='del'>- *    File::FNM_DOTMATCH flag.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;**&lt;/code&gt;::</div><div class='del'>- *    Matches directories recursively or files expansively.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;?&lt;/code&gt;::</div><div class='del'>- *    Matches any one character. Equivalent to &lt;code&gt;/.{1}/&lt;/code&gt; in regexp.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;[set]&lt;/code&gt;::</div><div class='del'>- *    Matches any one character in +set+.  Behaves exactly like character sets</div><div class='del'>- *    in Regexp, including set negation (&lt;code&gt;[^a-z]&lt;/code&gt;).</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt; \ &lt;/code&gt;::</div><div class='del'>- *    Escapes the next metacharacter.</div><div class='del'>- *</div><div class='del'>- *  &lt;code&gt;{a,b}&lt;/code&gt;::</div><div class='del'>- *    Matches pattern a and pattern b if File::FNM_EXTGLOB flag is enabled.</div><div class='del'>- *    Behaves like a Regexp union (&lt;code&gt;(?:a|b)&lt;/code&gt;).</div><div class='del'>- *</div><div class='del'>- *  +flags+ is a bitwise OR of the &lt;code&gt;FNM_XXX&lt;/code&gt; constants. The same</div><div class='del'>- *  glob pattern and flags are used by Dir::glob.</div><div class='del'>- *</div><div class='del'>- *  Examples:</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('cat',       'cat')        #=&gt; true  # match entire string</div><div class='del'>- *     File.fnmatch('cat',       'category')   #=&gt; false # only match partial string</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('c{at,ub}s', 'cats')                    #=&gt; false # { } isn't supported by default</div><div class='del'>- *     File.fnmatch('c{at,ub}s', 'cats', File::FNM_EXTGLOB) #=&gt; true  # { } is supported on FNM_EXTGLOB</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('c?t',     'cat')          #=&gt; true  # '?' match only 1 character</div><div class='del'>- *     File.fnmatch('c??t',    'cat')          #=&gt; false # ditto</div><div class='del'>- *     File.fnmatch('c*',      'cats')         #=&gt; true  # '*' match 0 or more characters</div><div class='del'>- *     File.fnmatch('c*t',     'c/a/b/t')      #=&gt; true  # ditto</div><div class='del'>- *     File.fnmatch('ca[a-z]', 'cat')          #=&gt; true  # inclusive bracket expression</div><div class='del'>- *     File.fnmatch('ca[^t]',  'cat')          #=&gt; false # exclusive bracket expression ('^' or '!')</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('cat', 'CAT')                     #=&gt; false # case sensitive</div><div class='del'>- *     File.fnmatch('cat', 'CAT', File::FNM_CASEFOLD) #=&gt; true  # case insensitive</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('?',   '/', File::FNM_PATHNAME)  #=&gt; false # wildcard doesn't match '/' on FNM_PATHNAME</div><div class='del'>- *     File.fnmatch('*',   '/', File::FNM_PATHNAME)  #=&gt; false # ditto</div><div class='del'>- *     File.fnmatch('[/]', '/', File::FNM_PATHNAME)  #=&gt; false # ditto</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('\?',   '?')                       #=&gt; true  # escaped wildcard becomes ordinary</div><div class='del'>- *     File.fnmatch('\a',   'a')                       #=&gt; true  # escaped ordinary remains ordinary</div><div class='del'>- *     File.fnmatch('\a',   '\a', File::FNM_NOESCAPE)  #=&gt; true  # FNM_NOESCAPE makes '\' ordinary</div><div class='del'>- *     File.fnmatch('[\?]', '?')                       #=&gt; true  # can escape inside bracket expression</div><div class='del'>- *</div><div class='del'>- *     File.fnmatch('*',   '.profile')                      #=&gt; false # wildcard doesn't match leading</div><div class='del'>- *     File.fnmatch('*',   '.profile', File::FNM_DOTMATCH)  #=&gt; true  # period by default.</div><div class='add'>+ *     File.fnmatch( pattern, path, [flags] ) =&gt; (true or false)</div><div class='add'>+ *     File.fnmatch?( pattern, path, [flags] ) =&gt; (true or false)</div><div class='add'>+ *</div><div class='add'>+ *  Returns true if &lt;i&gt;path&lt;/i&gt; matches against &lt;i&gt;pattern&lt;/i&gt; The</div><div class='add'>+ *  pattern is not a regular expression; instead it follows rules</div><div class='add'>+ *  similar to shell filename globbing. It may contain the following</div><div class='add'>+ *  metacharacters:</div><div class='add'>+ *</div><div class='add'>+ *  &lt;code&gt;*&lt;/code&gt;::        Matches any file. Can be restricted by</div><div class='add'>+ *                          other values in the glob. &lt;code&gt;*&lt;/code&gt;</div><div class='add'>+ *                          will match all files; &lt;code&gt;c*&lt;/code&gt; will</div><div class='add'>+ *                          match all files beginning with</div><div class='add'>+ *                          &lt;code&gt;c&lt;/code&gt;; &lt;code&gt;*c&lt;/code&gt; will match</div><div class='add'>+ *                          all files ending with &lt;code&gt;c&lt;/code&gt;; and</div><div class='add'>+ *                          &lt;code&gt;*c*&lt;/code&gt; will match all files that</div><div class='add'>+ *                          have &lt;code&gt;c&lt;/code&gt; in them (including at</div><div class='add'>+ *                          the beginning or end). Equivalent to</div><div class='add'>+ *                          &lt;code&gt;/ .* /x&lt;/code&gt; in regexp.</div><div class='add'>+ *  &lt;code&gt;**&lt;/code&gt;::       Matches directories recursively or files</div><div class='add'>+ *                          expansively.</div><div class='add'>+ *  &lt;code&gt;?&lt;/code&gt;::        Matches any one character. Equivalent to</div><div class='add'>+ *                          &lt;code&gt;/.{1}/&lt;/code&gt; in regexp.</div><div class='add'>+ *  &lt;code&gt;[set]&lt;/code&gt;::    Matches any one character in +set+.</div><div class='add'>+ *                          Behaves exactly like character sets in</div><div class='add'>+ *                          Regexp, including set negation</div><div class='add'>+ *                          (&lt;code&gt;[^a-z]&lt;/code&gt;).</div><div class='add'>+ *  &lt;code&gt;\&lt;/code&gt;::        Escapes the next metacharacter.</div><div class='add'>+ *</div><div class='add'>+ *  &lt;i&gt;flags&lt;/i&gt; is a bitwise OR of the &lt;code&gt;FNM_xxx&lt;/code&gt;</div><div class='add'>+ *  parameters. The same glob pattern and flags are used by</div><div class='add'>+ *  &lt;code&gt;Dir::glob&lt;/code&gt;.</div><div class='add'>+ *</div><div class='add'>+ *     File.fnmatch('cat',       'cat')        #=&gt; true  : match entire string</div><div class='add'>+ *     File.fnmatch('cat',       'category')   #=&gt; false : only match partial string</div><div class='add'>+ *     File.fnmatch('c{at,ub}s', 'cats')       #=&gt; false : { } isn't supported</div><div class='add'>+ *</div><div class='add'>+ *     File.fnmatch('c?t',     'cat')          #=&gt; true  : '?' match only 1 character</div><div class='add'>+ *     File.fnmatch('c??t',    'cat')          #=&gt; false : ditto</div><div class='add'>+ *     File.fnmatch('c*',      'cats')         #=&gt; true  : '*' match 0 or more characters</div><div class='add'>+ *     File.fnmatch('c*t',     'c/a/b/t')      #=&gt; true  : ditto</div><div class='add'>+ *     File.fnmatch('ca[a-z]', 'cat')          #=&gt; true  : inclusive bracket expression</div><div class='add'>+ *     File.fnmatch('ca[^t]',  'cat')          #=&gt; false : exclusive bracket expression ('^' or '!')</div><div class='add'>+ *</div><div class='add'>+ *     File.fnmatch('cat', 'CAT')                     #=&gt; false : case sensitive</div><div class='add'>+ *     File.fnmatch('cat', 'CAT', File::FNM_CASEFOLD) #=&gt; true  : case insensitive</div><div class='add'>+ *</div><div class='add'>+ *     File.fnmatch('?',   '/', File::FNM_PATHNAME)  #=&gt; false : wildcard doesn't match '/' on FNM_PATHNAME</div><div class='add'>+ *     File.fnmatch('*',   '/', File::FNM_PATHNAME)  #=&gt; false : ditto</div><div class='add'>+ *     File.fnmatch('[/]', '/', File::FNM_PATHNAME)  #=&gt; false : ditto</div><div class='add'>+ *</div><div class='add'>+ *     File.fnmatch('\?',   '?')                       #=&gt; true  : escaped wildcard becomes ordinary</div><div class='add'>+ *     File.fnmatch('\a',   'a')                       #=&gt; true  : escaped ordinary remains ordinary</div><div class='add'>+ *     File.fnmatch('\a',   '\a', File::FNM_NOESCAPE)  #=&gt; true  : FNM_NOESACPE makes '\' ordinary</div><div class='add'>+ *     File.fnmatch('[\?]', '?')                       #=&gt; true  : can escape inside bracket expression</div><div class='add'>+ *</div><div class='add'>+ *     File.fnmatch('*',   '.profile')                      #=&gt; false : wildcard doesn't match leading</div><div class='add'>+ *     File.fnmatch('*',   '.profile', File::FNM_DOTMATCH)  #=&gt; true    period by default.</div><div class='ctx'>  *     File.fnmatch('.*',  '.profile')                      #=&gt; true</div><div class='ctx'>  *</div><div class='ctx'>  *     rbfiles = '**' '/' '*.rb' # you don't have to do like this. just write in single string.</div><div class='hunk'>@@ -3186,7 +1916,10 @@ fnmatch_brace(const char *pattern, VALUE val, void *enc)</div><div class='ctx'>  *     File.fnmatch(pattern, 'a/.b/c/foo', File::FNM_PATHNAME | File::FNM_DOTMATCH) #=&gt; true</div><div class='ctx'>  */</div><div class='ctx'> static VALUE</div><div class='del'>-file_s_fnmatch(int argc, VALUE *argv, VALUE obj)</div><div class='add'>+file_s_fnmatch(argc, argv, obj)</div><div class='add'>+    int argc;</div><div class='add'>+    VALUE *argv;</div><div class='add'>+    VALUE obj;</div><div class='ctx'> {</div><div class='ctx'>     VALUE pattern, path;</div><div class='ctx'>     VALUE rflags;</div><div class='hunk'>@@ -3198,164 +1931,15 @@ file_s_fnmatch(int argc, VALUE *argv, VALUE obj)</div><div class='ctx'> 	flags = 0;</div><div class='ctx'> </div><div class='ctx'>     StringValue(pattern);</div><div class='del'>-    FilePathStringValue(path);</div><div class='del'>-</div><div class='del'>-    if (flags &amp; FNM_EXTGLOB) {</div><div class='del'>-	struct brace_args args;</div><div class='add'>+    StringValue(path);</div><div class='ctx'> </div><div class='del'>-	args.value = path;</div><div class='del'>-	args.flags = flags;</div><div class='del'>-	if (ruby_brace_expand(RSTRING_PTR(pattern), flags, fnmatch_brace,</div><div class='del'>-			      (VALUE)&amp;args, rb_enc_get(pattern), pattern) &gt; 0)</div><div class='del'>-	    return Qtrue;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	rb_encoding *enc = rb_enc_compatible(pattern, path);</div><div class='del'>-	if (!enc) return Qfalse;</div><div class='del'>-	if (fnmatch(RSTRING_PTR(pattern), enc, RSTRING_PTR(path), flags) == 0)</div><div class='del'>-	    return Qtrue;</div><div class='del'>-    }</div><div class='del'>-    RB_GC_GUARD(pattern);</div><div class='add'>+    if (fnmatch(RSTRING(pattern)-&gt;ptr, RSTRING(path)-&gt;ptr, flags) == 0)</div><div class='add'>+	return Qtrue;</div><div class='ctx'> </div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> /*</div><div class='del'>- *  call-seq:</div><div class='del'>- *    Dir.home()       -&gt; "/home/me"</div><div class='del'>- *    Dir.home("root") -&gt; "/root"</div><div class='del'>- *</div><div class='del'>- *  Returns the home directory of the current user or the named user</div><div class='del'>- *  if given.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-dir_s_home(int argc, VALUE *argv, VALUE obj)</div><div class='del'>-{</div><div class='del'>-    VALUE user;</div><div class='del'>-    const char *u = 0;</div><div class='del'>-</div><div class='del'>-    rb_check_arity(argc, 0, 1);</div><div class='del'>-    user = (argc &gt; 0) ? argv[0] : Qnil;</div><div class='del'>-    if (!NIL_P(user)) {</div><div class='del'>-	SafeStringValue(user);</div><div class='del'>-	rb_must_asciicompat(user);</div><div class='del'>-	u = StringValueCStr(user);</div><div class='del'>-	if (*u) {</div><div class='del'>-	    return rb_home_dir_of(user, rb_str_new(0, 0));</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    return rb_default_home_dir(rb_str_new(0, 0));</div><div class='del'>-</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-#if 0</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *   Dir.exist?(file_name)   -&gt;  true or false</div><div class='del'>- *</div><div class='del'>- * Returns &lt;code&gt;true&lt;/code&gt; if the named file is a directory,</div><div class='del'>- * &lt;code&gt;false&lt;/code&gt; otherwise.</div><div class='del'>- *</div><div class='del'>- */</div><div class='del'>-VALUE</div><div class='del'>-rb_file_directory_p(void)</div><div class='del'>-{</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *   Dir.exists?(file_name)  -&gt;  true or false</div><div class='del'>- *</div><div class='del'>- * Deprecated method. Don't use.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_dir_exists_p(VALUE obj, VALUE fname)</div><div class='del'>-{</div><div class='del'>-    rb_warning("Dir.exists? is a deprecated name, use Dir.exist? instead");</div><div class='del'>-    return rb_file_directory_p(obj, fname);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static void *</div><div class='del'>-nogvl_dir_empty_p(void *ptr)</div><div class='del'>-{</div><div class='del'>-    const char *path = ptr;</div><div class='del'>-    DIR *dir = opendir(path);</div><div class='del'>-    struct dirent *dp;</div><div class='del'>-    VALUE result = Qtrue;</div><div class='del'>-</div><div class='del'>-    if (!dir) {</div><div class='del'>-	int e = errno;</div><div class='del'>-	switch (gc_for_fd_with_gvl(e)) {</div><div class='del'>-	  default:</div><div class='del'>-	    dir = opendir(path);</div><div class='del'>-	    if (dir) break;</div><div class='del'>-	    e = errno;</div><div class='del'>-	    /* fall through */</div><div class='del'>-	  case 0:</div><div class='del'>-	    if (e == ENOTDIR) return (void *)Qfalse;</div><div class='del'>-	    errno = e; /* for rb_sys_fail_path */</div><div class='del'>-	    return (void *)Qundef;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    while ((dp = READDIR(dir, NULL)) != NULL) {</div><div class='del'>-	if (!to_be_skipped(dp)) {</div><div class='del'>-	    result = Qfalse;</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    closedir(dir);</div><div class='del'>-    return (void *)result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * call-seq:</div><div class='del'>- *   Dir.empty?(path_name)  -&gt;  true or false</div><div class='del'>- *</div><div class='del'>- * Returns &lt;code&gt;true&lt;/code&gt; if the named file is an empty directory,</div><div class='del'>- * &lt;code&gt;false&lt;/code&gt; if it is not a directory or non-empty.</div><div class='del'>- */</div><div class='del'>-static VALUE</div><div class='del'>-rb_dir_s_empty_p(VALUE obj, VALUE dirname)</div><div class='del'>-{</div><div class='del'>-    VALUE result, orig;</div><div class='del'>-    const char *path;</div><div class='del'>-    enum {false_on_notdir = 1};</div><div class='del'>-</div><div class='del'>-    FilePathValue(dirname);</div><div class='del'>-    orig = rb_str_dup_frozen(dirname);</div><div class='del'>-    dirname = rb_str_encode_ospath(dirname);</div><div class='del'>-    dirname = rb_str_dup_frozen(dirname);</div><div class='del'>-    path = RSTRING_PTR(dirname);</div><div class='del'>-</div><div class='del'>-#if defined HAVE_GETATTRLIST &amp;&amp; defined ATTR_DIR_ENTRYCOUNT</div><div class='del'>-    {</div><div class='del'>-	u_int32_t attrbuf[SIZEUP32(fsobj_tag_t)];</div><div class='del'>-	struct attrlist al = {ATTR_BIT_MAP_COUNT, 0, ATTR_CMN_OBJTAG,};</div><div class='del'>-	if (getattrlist(path, &amp;al, attrbuf, sizeof(attrbuf), 0) != 0)</div><div class='del'>-	    rb_sys_fail_path(orig);</div><div class='del'>-	if (*(const fsobj_tag_t *)(attrbuf+1) == VT_HFS) {</div><div class='del'>-	    al.commonattr = 0;</div><div class='del'>-	    al.dirattr = ATTR_DIR_ENTRYCOUNT;</div><div class='del'>-	    if (getattrlist(path, &amp;al, attrbuf, sizeof(attrbuf), 0) == 0) {</div><div class='del'>-		if (attrbuf[0] &gt;= 2 * sizeof(u_int32_t))</div><div class='del'>-		    return attrbuf[1] ? Qfalse : Qtrue;</div><div class='del'>-		if (false_on_notdir) return Qfalse;</div><div class='del'>-	    }</div><div class='del'>-	    rb_sys_fail_path(orig);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    result = (VALUE)rb_thread_call_without_gvl(nogvl_dir_empty_p, (void *)path,</div><div class='del'>-					    RUBY_UBF_IO, 0);</div><div class='del'>-    if (result == Qundef) {</div><div class='del'>-	rb_sys_fail_path(orig);</div><div class='del'>-    }</div><div class='del'>-    return result;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-/*</div><div class='ctx'>  *  Objects of class &lt;code&gt;Dir&lt;/code&gt; are directory streams representing</div><div class='ctx'>  *  directories in the underlying file system. They provide a variety of</div><div class='ctx'>  *  ways to list directories and their contents. See also</div><div class='hunk'>@@ -3367,28 +1951,21 @@ rb_dir_s_empty_p(VALUE obj, VALUE dirname)</div><div class='ctx'>  *  (&lt;code&gt;.&lt;/code&gt;).</div><div class='ctx'>  */</div><div class='ctx'> void</div><div class='del'>-Init_Dir(void)</div><div class='add'>+Init_Dir()</div><div class='ctx'> {</div><div class='ctx'>     rb_cDir = rb_define_class("Dir", rb_cObject);</div><div class='ctx'> </div><div class='ctx'>     rb_include_module(rb_cDir, rb_mEnumerable);</div><div class='ctx'> </div><div class='ctx'>     rb_define_alloc_func(rb_cDir, dir_s_alloc);</div><div class='del'>-    rb_define_singleton_method(rb_cDir, "open", dir_s_open, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir, "foreach", dir_foreach, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir, "entries", dir_entries, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir, "each_child", dir_s_each_child, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir, "children", dir_s_children, -1);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cDir,"initialize", dir_initialize, -1);</div><div class='del'>-    rb_define_method(rb_cDir,"fileno", dir_fileno, 0);</div><div class='add'>+    rb_define_singleton_method(rb_cDir, "open", dir_s_open, 1);</div><div class='add'>+    rb_define_singleton_method(rb_cDir, "foreach", dir_foreach, 1);</div><div class='add'>+    rb_define_singleton_method(rb_cDir, "entries", dir_entries, 1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cDir,"initialize", dir_initialize, 1);</div><div class='ctx'>     rb_define_method(rb_cDir,"path", dir_path, 0);</div><div class='del'>-    rb_define_method(rb_cDir,"to_path", dir_path, 0);</div><div class='del'>-    rb_define_method(rb_cDir,"inspect", dir_inspect, 0);</div><div class='ctx'>     rb_define_method(rb_cDir,"read", dir_read, 0);</div><div class='ctx'>     rb_define_method(rb_cDir,"each", dir_each, 0);</div><div class='del'>-    rb_define_method(rb_cDir,"each_child", dir_each_child_m, 0);</div><div class='del'>-    rb_define_method(rb_cDir,"children", dir_collect_children, 0);</div><div class='ctx'>     rb_define_method(rb_cDir,"rewind", dir_rewind, 0);</div><div class='ctx'>     rb_define_method(rb_cDir,"tell", dir_tell, 0);</div><div class='ctx'>     rb_define_method(rb_cDir,"seek", dir_seek, 1);</div><div class='hunk'>@@ -3404,61 +1981,16 @@ Init_Dir(void)</div><div class='ctx'>     rb_define_singleton_method(rb_cDir,"rmdir", dir_s_rmdir, 1);</div><div class='ctx'>     rb_define_singleton_method(rb_cDir,"delete", dir_s_rmdir, 1);</div><div class='ctx'>     rb_define_singleton_method(rb_cDir,"unlink", dir_s_rmdir, 1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir,"home", dir_s_home, -1);</div><div class='ctx'> </div><div class='ctx'>     rb_define_singleton_method(rb_cDir,"glob", dir_s_glob, -1);</div><div class='ctx'>     rb_define_singleton_method(rb_cDir,"[]", dir_s_aref, -1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir,"exist?", rb_file_directory_p, 1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir,"exists?", rb_dir_exists_p, 1);</div><div class='del'>-    rb_define_singleton_method(rb_cDir,"empty?", rb_dir_s_empty_p, 1);</div><div class='ctx'> </div><div class='ctx'>     rb_define_singleton_method(rb_cFile,"fnmatch", file_s_fnmatch, -1);</div><div class='ctx'>     rb_define_singleton_method(rb_cFile,"fnmatch?", file_s_fnmatch, -1);</div><div class='ctx'> </div><div class='del'>-    /*  Document-const: File::Constants::FNM_NOESCAPE</div><div class='del'>-     *</div><div class='del'>-     *  Disables escapes in File.fnmatch and Dir.glob patterns</div><div class='del'>-     */</div><div class='ctx'>     rb_file_const("FNM_NOESCAPE", INT2FIX(FNM_NOESCAPE));</div><div class='del'>-</div><div class='del'>-    /*  Document-const: File::Constants::FNM_PATHNAME</div><div class='del'>-     *</div><div class='del'>-     *  Wildcards in File.fnmatch and Dir.glob patterns do not match directory</div><div class='del'>-     *  separators</div><div class='del'>-     */</div><div class='ctx'>     rb_file_const("FNM_PATHNAME", INT2FIX(FNM_PATHNAME));</div><div class='del'>-</div><div class='del'>-    /*  Document-const: File::Constants::FNM_DOTMATCH</div><div class='del'>-     *</div><div class='del'>-     *  The '*' wildcard matches filenames starting with "." in File.fnmatch</div><div class='del'>-     *  and Dir.glob patterns</div><div class='del'>-     */</div><div class='ctx'>     rb_file_const("FNM_DOTMATCH", INT2FIX(FNM_DOTMATCH));</div><div class='del'>-</div><div class='del'>-    /*  Document-const: File::Constants::FNM_CASEFOLD</div><div class='del'>-     *</div><div class='del'>-     *  Makes File.fnmatch patterns case insensitive (but not Dir.glob</div><div class='del'>-     *  patterns).</div><div class='del'>-     */</div><div class='ctx'>     rb_file_const("FNM_CASEFOLD", INT2FIX(FNM_CASEFOLD));</div><div class='del'>-</div><div class='del'>-    /*  Document-const: File::Constants::FNM_EXTGLOB</div><div class='del'>-     *</div><div class='del'>-     *  Allows file globbing through "{a,b}" in File.fnmatch patterns.</div><div class='del'>-     */</div><div class='del'>-    rb_file_const("FNM_EXTGLOB", INT2FIX(FNM_EXTGLOB));</div><div class='del'>-</div><div class='del'>-    /*  Document-const: File::Constants::FNM_SYSCASE</div><div class='del'>-     *</div><div class='del'>-     *  System default case insensitiveness, equals to FNM_CASEFOLD or</div><div class='del'>-     *  0.</div><div class='del'>-     */</div><div class='ctx'>     rb_file_const("FNM_SYSCASE", INT2FIX(FNM_SYSCASE));</div><div class='del'>-</div><div class='del'>-    /*  Document-const: File::Constants::FNM_SHORTNAME</div><div class='del'>-     *</div><div class='del'>-     *  Makes patterns to match short names if existing.  Valid only</div><div class='del'>-     *  on Microsoft Windows.</div><div class='del'>-     */</div><div class='del'>-    rb_file_const("FNM_SHORTNAME", INT2FIX(FNM_SHORTNAME));</div><div class='ctx'> }</div><div class='head'>diff --git a/djgpp/GNUmakefile.in b/djgpp/GNUmakefile.in<br/>new file mode 100644<br/>index 0000000000..0a7e1fb131<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/djgpp/GNUmakefile.in?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>djgpp/GNUmakefile.in</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+include Makefile</div><div class='add'>+VPATH = $(srcdir) $(srcdir)/missing</div><div class='head'>diff --git a/djgpp/README.djgpp b/djgpp/README.djgpp<br/>new file mode 100644<br/>index 0000000000..f1f413a478<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/djgpp/README.djgpp?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>djgpp/README.djgpp</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+* How to compile and install on djgpp</div><div class='add'>+</div><div class='add'>+This is what you need to do to compile and install Ruby:</div><div class='add'>+</div><div class='add'>+  1. Run configure.bat, which will generate config.h and Makefile</div><div class='add'>+     (GNU sed required).</div><div class='add'>+     Message like this is normal:</div><div class='add'>+       sed.exe: can't read 123456789: No such file or directory (ENOENT)</div><div class='add'>+</div><div class='add'>+  2. Edit defines.h if you need.  Probably this step will not need.</div><div class='add'>+</div><div class='add'>+  3. Remove comment mark(#) before the module names from ext/Setup.dj (or</div><div class='add'>+     add module names if not present).</div><div class='add'>+</div><div class='add'>+  4. Run make.</div><div class='add'>+</div><div class='add'>+  5. Optionally, run 'make test' to check whether the compiled Ruby</div><div class='add'>+     interpreter works well.  If you see the message "test succeeded",</div><div class='add'>+     your ruby works as it should (hopefully).</div><div class='add'>+</div><div class='add'>+  6. Run 'make install'</div><div class='head'>diff --git a/djgpp/config.hin b/djgpp/config.hin<br/>new file mode 100644<br/>index 0000000000..8ee427c92f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/djgpp/config.hin?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>djgpp/config.hin</a></div><div class='hunk'>@@ -0,0 +1,114 @@</div><div class='add'>+</div><div class='add'>+#define PACKAGE_NAME ""</div><div class='add'>+#define PACKAGE_TARNAME ""</div><div class='add'>+#define PACKAGE_VERSION ""</div><div class='add'>+#define PACKAGE_STRING ""</div><div class='add'>+#define PACKAGE_BUGREPORT ""</div><div class='add'>+#define USE_BUILTIN_FRAME_ADDRESS 1</div><div class='add'>+#define STDC_HEADERS 1</div><div class='add'>+#define HAVE_SYS_TYPES_H 1</div><div class='add'>+#define HAVE_SYS_STAT_H 1</div><div class='add'>+#define HAVE_STDLIB_H 1</div><div class='add'>+#define HAVE_STRING_H 1</div><div class='add'>+#define HAVE_MEMORY_H 1</div><div class='add'>+#define HAVE_STRINGS_H 1</div><div class='add'>+#define HAVE_UNISTD_H 1</div><div class='add'>+#define HAVE_LONG_LONG 1</div><div class='add'>+#define HAVE_OFF_T 1</div><div class='add'>+#define SIZEOF_INT 4</div><div class='add'>+#define SIZEOF_SHORT 2</div><div class='add'>+#define SIZEOF_LONG 4</div><div class='add'>+#define SIZEOF_LONG_LONG 8</div><div class='add'>+#define SIZEOF___INT64 0</div><div class='add'>+#define SIZEOF_OFF_T 4</div><div class='add'>+#define SIZEOF_VOIDP 4</div><div class='add'>+#define SIZEOF_FLOAT 4</div><div class='add'>+#define SIZEOF_DOUBLE 8</div><div class='add'>+#define HAVE_PROTOTYPES 1</div><div class='add'>+#define TOKEN_PASTE(x,y) x##y</div><div class='add'>+#define HAVE_STDARG_PROTOTYPES 1</div><div class='add'>+#define NORETURN(x) x __attribute__ ((noreturn))</div><div class='add'>+#define HAVE_DECL_SYS_NERR 1</div><div class='add'>+#define HAVE_DIRENT_H 1</div><div class='add'>+#define STDC_HEADERS 1</div><div class='add'>+#define HAVE_SYS_WAIT_H 1</div><div class='add'>+#define HAVE_STDLIB_H 1</div><div class='add'>+#define HAVE_STRING_H 1</div><div class='add'>+#define HAVE_UNISTD_H 1</div><div class='add'>+#define HAVE_LIMITS_H 1</div><div class='add'>+#define HAVE_SYS_FILE_H 1</div><div class='add'>+#define HAVE_SYS_IOCTL_H 1</div><div class='add'>+#define HAVE_FCNTL_H 1</div><div class='add'>+#define HAVE_SYS_FCNTL_H 1</div><div class='add'>+#define HAVE_SYS_TIME_H 1</div><div class='add'>+#define HAVE_SYS_TIMES_H 1</div><div class='add'>+#define HAVE_SYS_PARAM_H 1</div><div class='add'>+#define HAVE_PWD_H 1</div><div class='add'>+#define HAVE_UTIME_H 1</div><div class='add'>+#define HAVE_MEMORY_H 1</div><div class='add'>+#define HAVE_DIRECT_H 1</div><div class='add'>+#define HAVE_SYS_RESOURCE_H 1</div><div class='add'>+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1</div><div class='add'>+#define HAVE_ST_BLKSIZE 1</div><div class='add'>+#define HAVE_STRUCT_STAT_ST_RDEV 1</div><div class='add'>+#define HAVE_ST_RDEV 1</div><div class='add'>+#define GETGROUPS_T gid_t</div><div class='add'>+#define RETSIGTYPE void</div><div class='add'>+#define HAVE_ALLOCA 1</div><div class='add'>+#define HAVE_DUP2 1</div><div class='add'>+#define HAVE_MEMMOVE 1</div><div class='add'>+#define HAVE_MKDIR 1</div><div class='add'>+#define HAVE_STRCASECMP 1</div><div class='add'>+#define HAVE_STRNCASECMP 1</div><div class='add'>+#define HAVE_STRERROR 1</div><div class='add'>+#define HAVE_STRFTIME 1</div><div class='add'>+#define HAVE_STRCHR 1</div><div class='add'>+#define HAVE_STRSTR 1</div><div class='add'>+#define HAVE_STRTOUL 1</div><div class='add'>+#define HAVE_ISINF 1</div><div class='add'>+#define HAVE_ISNAN 1</div><div class='add'>+#define HAVE_FINITE 1</div><div class='add'>+#define HAVE_HYPOT 1</div><div class='add'>+#define HAVE_ACOSH 1</div><div class='add'>+#define HAVE_FMOD 1</div><div class='add'>+#define HAVE_WAITPID 1</div><div class='add'>+#define HAVE_FSYNC 1</div><div class='add'>+#define HAVE_TRUNCATE 1</div><div class='add'>+#define HAVE_CHSIZE 1</div><div class='add'>+#define HAVE_TIMES 1</div><div class='add'>+#define HAVE_UTIMES 1</div><div class='add'>+#define HAVE_FCNTL 1</div><div class='add'>+#define HAVE_SYMLINK 1</div><div class='add'>+#define HAVE_SETITIMER 1</div><div class='add'>+#define HAVE_PAUSE 1</div><div class='add'>+#define HAVE_GETPGRP 1</div><div class='add'>+#define HAVE_SETPGID 1</div><div class='add'>+#define HAVE_GETGROUPS 1</div><div class='add'>+#define HAVE_GETRLIMIT 1</div><div class='add'>+#define HAVE_SIGPROCMASK 1</div><div class='add'>+#define HAVE_SIGACTION 1</div><div class='add'>+#define HAVE_SETSID 1</div><div class='add'>+#define HAVE_TELLDIR 1</div><div class='add'>+#define HAVE_SEEKDIR 1</div><div class='add'>+#define HAVE_MKTIME 1</div><div class='add'>+#define HAVE_COSH 1</div><div class='add'>+#define HAVE_SINH 1</div><div class='add'>+#define HAVE_TANH 1</div><div class='add'>+#define HAVE_STRUCT_TM_TM_ZONE 1</div><div class='add'>+#define HAVE_TM_ZONE 1</div><div class='add'>+#define HAVE_STRUCT_TM_TM_GMTOFF 1</div><div class='add'>+#define POSIX_SIGNAL 1</div><div class='add'>+#define GETPGRP_VOID 1</div><div class='add'>+#define SETPGRP_VOID 1</div><div class='add'>+#define RSHIFT(x,y) ((x)&gt;&gt;(int)y)</div><div class='add'>+#define FILE_COUNT _cnt</div><div class='add'>+#define FILE_READPTR _ptr</div><div class='add'>+#define NEED_IO_FLUSH_BETWEEN_RW 1</div><div class='add'>+#define DEFAULT_KCODE KCODE_NONE</div><div class='add'>+#define DLEXT ".so"</div><div class='add'>+#define RUBY_LIB "/lib/ruby/@MAJOR@.@MINOR@"</div><div class='add'>+#define RUBY_SITE_LIB "/lib/ruby/site_ruby"</div><div class='add'>+#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/@MAJOR@.@MINOR@"</div><div class='add'>+#define RUBY_PLATFORM "i386-msdosdjgpp"</div><div class='add'>+#define RUBY_ARCHLIB "/lib/ruby/@MAJOR@.@MINOR@/i386-msdosdjgpp"</div><div class='add'>+#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/@MAJOR@.@MINOR@/i386-msdosdjgpp"</div><div class='head'>diff --git a/djgpp/config.sed b/djgpp/config.sed<br/>new file mode 100644<br/>index 0000000000..1805789520<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/djgpp/config.sed?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>djgpp/config.sed</a></div><div class='hunk'>@@ -0,0 +1,128 @@</div><div class='add'>+/^SHELL/s,/bin/sh,$(COMSPEC),</div><div class='add'>+;s%/bin/rm%rm%</div><div class='add'>+;s%|| true%%</div><div class='add'>+;/\/dev\/null/ {</div><div class='add'>+;s,/dev/null 2&gt;&amp;1, nul,</div><div class='add'>+;s,2&gt; /dev/null,,</div><div class='add'>+;}</div><div class='add'>+;/^config.status/ {</div><div class='add'>+;    N;N;N;N;N;d</div><div class='add'>+;}</div><div class='add'>+:t</div><div class='add'>+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b</div><div class='add'>+s,@srcdir@,.,g;t t</div><div class='add'>+s,@top_srcdir@,..,;t t</div><div class='add'>+s,@PATH_SEPARATOR@,:,;t t</div><div class='add'>+s,@PACKAGE_NAME@,,;t t</div><div class='add'>+s,@PACKAGE_TARNAME@,,;t t</div><div class='add'>+s,@PACKAGE_VERSION@,,;t t</div><div class='add'>+s,@PACKAGE_STRING@,,;t t</div><div class='add'>+s,@PACKAGE_BUGREPORT@,,;t t</div><div class='add'>+s,@exec_prefix@,${prefix},;t t</div><div class='add'>+s,@prefix@,/dev/env/DJDIR,;t t</div><div class='add'>+s%@program_transform_name@%s,^,,%;t t</div><div class='add'>+s,@bindir@,${exec_prefix}/bin,;t t</div><div class='add'>+s,@sbindir@,${exec_prefix}/sbin,;t t</div><div class='add'>+s,@libexecdir@,${exec_prefix}/libexec,;t t</div><div class='add'>+s,@datadir@,${prefix}/share,;t t</div><div class='add'>+s,@sysconfdir@,${prefix}/etc,;t t</div><div class='add'>+s,@sharedstatedir@,${prefix}/com,;t t</div><div class='add'>+s,@localstatedir@,${prefix}/var,;t t</div><div class='add'>+s,@libdir@,${exec_prefix}/lib,;t t</div><div class='add'>+s,@includedir@,${prefix}/include,;t t</div><div class='add'>+s,@oldincludedir@,/usr/include,;t t</div><div class='add'>+s,@infodir@,${prefix}/info,;t t</div><div class='add'>+s,@mandir@,${prefix}/man,;t t</div><div class='add'>+s,@build_alias@,i586-pc-msdosdjgpp,;t t</div><div class='add'>+s,@host_alias@,i586-pc-msdosdjgpp,;t t</div><div class='add'>+s,@target_alias@,i386-msdosdjgpp,;t t</div><div class='add'>+s,@DEFS@,,;t t</div><div class='add'>+s,@ECHO_C@,,;t t</div><div class='add'>+s,@ECHO_N@,-n,;t t</div><div class='add'>+s,@ECHO_T@,,;t t</div><div class='add'>+s,@LIBS@,-lm ,;t t</div><div class='add'>+s,@MAJOR@,1,;t t</div><div class='add'>+s,@MINOR@,7,;t t</div><div class='add'>+s,@TEENY@,3,;t t</div><div class='add'>+s,@build@,i586-pc-msdosdjgpp,;t t</div><div class='add'>+s,@build_cpu@,i586,;t t</div><div class='add'>+s,@build_vendor@,pc,;t t</div><div class='add'>+s,@build_os@,msdosdjgpp,;t t</div><div class='add'>+s,@host@,i586-pc-msdosdjgpp,;t t</div><div class='add'>+s,@host_cpu@,i586,;t t</div><div class='add'>+s,@host_vendor@,pc,;t t</div><div class='add'>+s,@host_os@,msdosdjgpp,;t t</div><div class='add'>+s,@target@,i386-pc-msdosdjgpp,;t t</div><div class='add'>+s,@target_cpu@,i386,;t t</div><div class='add'>+s,@target_vendor@,pc,;t t</div><div class='add'>+s,@target_os@,msdosdjgpp,;t t</div><div class='add'>+s,@CC@,gcc,;t t</div><div class='add'>+s,@ac_ct_CC@,,;t t</div><div class='add'>+s,@CFLAGS@,-Os,;t t</div><div class='add'>+s,@LDFLAGS@,,;t t</div><div class='add'>+s,@CPPFLAGS@,,;t t</div><div class='add'>+s,@EXEEXT@,.exe,;t t</div><div class='add'>+s,@OBJEXT@,o,;t t</div><div class='add'>+s,@CPP@,gcc -E,;t t</div><div class='add'>+s,@EGREP@,grep -E,;t t</div><div class='add'>+s,@GNU_LD@,yes,;t t</div><div class='add'>+s,@CPPOUTFILE@,-o conftest.i,;t t</div><div class='add'>+s,@OUTFLAG@,-o ,;t t</div><div class='add'>+s,@YACC@,bison -y,;t t</div><div class='add'>+s,@RANLIB@,ranlib,;t t</div><div class='add'>+s,@ac_ct_RANLIB@,,;t t</div><div class='add'>+s,@AR@,ar,;t t</div><div class='add'>+s,@ac_ct_AR@,,;t t</div><div class='add'>+s,@NM@,,;t t</div><div class='add'>+s,@ac_ct_NM@,,;t t</div><div class='add'>+s,@WINDRES@,,;t t</div><div class='add'>+s,@ac_ct_WINDRES@,,;t t</div><div class='add'>+s,@DLLWRAP@,,;t t</div><div class='add'>+s,@ac_ct_DLLWRAP@,,;t t</div><div class='add'>+s,@LN_S@,ln -s,;t t</div><div class='add'>+s,@SET_MAKE@,,;t t</div><div class='add'>+s,@LIBOBJS@,crypt.o flock.o vsnprintf.o,;t t</div><div class='add'>+s,@ALLOCA@,,;t t</div><div class='add'>+s,@XCFLAGS@,,;t t</div><div class='add'>+s,@XLDFLAGS@, -L.,;t t</div><div class='add'>+s,@DLDFLAGS@,,;t t</div><div class='add'>+s,@STATIC@,,;t t</div><div class='add'>+s,@CCDLFLAGS@,,;t t</div><div class='add'>+s,@LDSHARED@,ld,;t t</div><div class='add'>+s,@DLEXT@,so,;t t</div><div class='add'>+s,@DLEXT2@,,;t t</div><div class='add'>+s,@LIBEXT@,a,;t t</div><div class='add'>+s,@LINK_SO@,,;t t</div><div class='add'>+s,@LIBPATHFLAG@, -L%s,;t t</div><div class='add'>+s,@STRIP@,strip,;t t</div><div class='add'>+s,@EXTSTATIC@,,;t t</div><div class='add'>+s,@setup@,Setup.dj,;t t</div><div class='add'>+s,@MINIRUBY@,./miniruby,;t t</div><div class='add'>+s,@PREP@,,;t t</div><div class='add'>+s,@ARCHFILE@,,;t t</div><div class='add'>+s,@LIBRUBY_LDSHARED@,ld,;t t</div><div class='add'>+s,@LIBRUBY_DLDFLAGS@,,;t t</div><div class='add'>+s,@RUBY_INSTALL_NAME@,ruby,;t t</div><div class='add'>+s,@rubyw_install_name@,,;t t</div><div class='add'>+s,@RUBYW_INSTALL_NAME@,,;t t</div><div class='add'>+s,@RUBY_SO_NAME@,$(RUBY_INSTALL_NAME),;t t</div><div class='add'>+s,@LIBRUBY_A@,lib$(RUBY_INSTALL_NAME).a,;t t</div><div class='add'>+s,@LIBRUBY_SO@,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY),;t t</div><div class='add'>+s,@LIBRUBY_ALIASES@,lib$(RUBY_SO_NAME).so,;t t</div><div class='add'>+s,@LIBRUBY@,$(LIBRUBY_A),;t t</div><div class='add'>+s,@LIBRUBYARG@,-l$(RUBY_INSTALL_NAME),;t t</div><div class='add'>+s,@SOLIBS@,,;t t</div><div class='add'>+s,@DLDLIBS@,-lc,;t t</div><div class='add'>+s,@ENABLE_SHARED@,no,;t t</div><div class='add'>+s,@MAINLIBS@,,;t t</div><div class='add'>+s,@COMMON_LIBS@,,;t t</div><div class='add'>+s,@COMMON_MACROS@,,;t t</div><div class='add'>+s,@COMMON_HEADERS@,,;t t</div><div class='add'>+s,@EXPORT_PREFIX@,,;t t</div><div class='add'>+s,@MAKEFILES@,Makefile,;t t</div><div class='add'>+s,@arch@,i386-msdosdjgpp,;t t</div><div class='add'>+s,@sitearch@,i386-msdosdjgpp,;t t</div><div class='add'>+s,@sitedir@,${prefix}/lib/ruby/site_ruby,;t t</div><div class='add'>+s,@configure_args@,,;t t</div><div class='add'>+/^,THIS_IS_DUMMY_PATTERN_/i\</div><div class='add'>+ac_given_srcdir=.</div><div class='head'>diff --git a/djgpp/configure.bat b/djgpp/configure.bat<br/>new file mode 100755<br/>index 0000000000..e6a5d79d4a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/djgpp/configure.bat?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>djgpp/configure.bat</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+@echo off</div><div class='add'>+if exist configure.bat cd ..</div><div class='add'>+if exist djgpp\version.sed goto exist</div><div class='add'>+  sed -n -f djgpp\mkver.sed &lt; version.h &gt; djgpp\version.sed</div><div class='add'>+:exist</div><div class='add'>+set _conv_=-f djgpp\config.sed -f djgpp\version.sed</div><div class='add'>+sed %_conv_% &lt; Makefile.in &gt; Makefile</div><div class='add'>+sed %_conv_% &lt; djgpp\config.hin &gt; config.h</div><div class='add'>+echo LFN check &gt; 12345678</div><div class='add'>+sed -n /LFN/d 123456789 &gt; nul</div><div class='add'>+if errorlevel 2 goto LFN</div><div class='add'>+    copy missing\vsnprintf.c missing\vsnprint.c &gt; nul</div><div class='add'>+    copy djgpp\config.sed config.sta &gt; nul</div><div class='add'>+goto end</div><div class='add'>+:LFN</div><div class='add'>+    copy djgpp\config.sed config.status &gt; nul</div><div class='add'>+:end</div><div class='add'>+set _conv_=</div><div class='add'>+del 12345678</div><div class='add'>+echo Now you must run a make.</div><div class='head'>diff --git a/djgpp/mkver.sed b/djgpp/mkver.sed<br/>new file mode 100644<br/>index 0000000000..f29b9ddd3e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/djgpp/mkver.sed?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>djgpp/mkver.sed</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+/RUBY_VERSION /s/^.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/s,@MAJOR@,\1,;s,@MINOR@,\2,;s,@TEENY@,\3,/p</div><div class='head'>diff --git a/dln.c b/dln.c<br/>index 7acea5f888..b405da6bff 100644<br/>--- a/<a href='/ruby.git/tree/dln.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dln.c</a><br/>+++ b/<a href='/ruby.git/tree/dln.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>dln.c</a></div><div class='hunk'>@@ -3,31 +3,26 @@</div><div class='ctx'>   dln.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Tue Jan 18 17:05:06 JST 1994</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='del'>-#ifdef RUBY_EXPORT</div><div class='del'>-#include "ruby/ruby.h"</div><div class='del'>-#define dln_notimplement rb_notimplement</div><div class='del'>-#define dln_memerror rb_memerror</div><div class='del'>-#define dln_exit rb_exit</div><div class='del'>-#define dln_loaderror rb_loaderror</div><div class='del'>-#else</div><div class='del'>-#define dln_notimplement ---&gt;&gt;&gt; dln not implemented &lt;&lt;&lt;---</div><div class='del'>-#define dln_memerror abort</div><div class='del'>-#define dln_exit exit</div><div class='del'>-static void dln_loaderror(const char *format, ...);</div><div class='del'>-#endif</div><div class='add'>+#include "ruby.h"</div><div class='ctx'> #include "dln.h"</div><div class='del'>-#include "internal.h"</div><div class='ctx'> </div><div class='ctx'> #ifdef HAVE_STDLIB_H</div><div class='ctx'> # include &lt;stdlib.h&gt;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='add'>+#ifdef __CHECKER__</div><div class='add'>+#undef HAVE_DLOPEN</div><div class='add'>+#undef USE_DLN_A_OUT</div><div class='add'>+#undef USE_DLN_DLOPEN</div><div class='add'>+#endif</div><div class='add'>+</div><div class='ctx'> #ifdef USE_DLN_A_OUT</div><div class='ctx'> char *dln_argv0;</div><div class='ctx'> #endif</div><div class='hunk'>@@ -48,18 +43,15 @@ void *xcalloc();</div><div class='ctx'> void *xrealloc();</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#undef free</div><div class='del'>-#define free(x) xfree(x)</div><div class='del'>-</div><div class='ctx'> #include &lt;stdio.h&gt;</div><div class='del'>-#if defined(_WIN32)</div><div class='add'>+#if defined(_WIN32) || defined(__VMS)</div><div class='ctx'> #include "missing/file.h"</div><div class='ctx'> #endif</div><div class='ctx'> #include &lt;sys/types.h&gt;</div><div class='ctx'> #include &lt;sys/stat.h&gt;</div><div class='ctx'> </div><div class='ctx'> #ifndef S_ISDIR</div><div class='del'>-#   define S_ISDIR(m) (((m) &amp; S_IFMT) == S_IFDIR)</div><div class='add'>+#   define S_ISDIR(m) ((m &amp; S_IFMT) == S_IFDIR)</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> #ifdef HAVE_SYS_PARAM_H</div><div class='hunk'>@@ -77,74 +69,75 @@ void *xrealloc();</div><div class='ctx'> char *getenv();</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifdef __APPLE__</div><div class='del'>-# if defined(HAVE_DLOPEN)</div><div class='del'>-   /* Mac OS X with dlopen (10.3 or later) */</div><div class='del'>-#  define MACOSX_DLOPEN</div><div class='del'>-# else</div><div class='del'>-#  define MACOSX_DYLD</div><div class='del'>-# endif</div><div class='add'>+#if defined(__VMS)</div><div class='add'>+#pragma builtins</div><div class='add'>+#include &lt;dlfcn.h&gt;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifndef dln_loaderror</div><div class='del'>-static void</div><div class='del'>-dln_loaderror(const char *format, ...)</div><div class='del'>-{</div><div class='del'>-    va_list ap;</div><div class='del'>-    va_start(ap, format);</div><div class='del'>-    vfprintf(stderr, format, ap);</div><div class='del'>-    va_end(ap);</div><div class='del'>-    abort();</div><div class='del'>-}</div><div class='add'>+#ifdef __MACOS__</div><div class='add'>+# include &lt;TextUtils.h&gt;</div><div class='add'>+# include &lt;CodeFragments.h&gt;</div><div class='add'>+# include &lt;Aliases.h&gt;</div><div class='add'>+# include "macruby_private.h"</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#if defined(HAVE_DLOPEN) &amp;&amp; !defined(USE_DLN_A_OUT) &amp;&amp; !defined(_AIX) &amp;&amp; !defined(MACOSX_DYLD) &amp;&amp; !defined(_UNICOSMP)</div><div class='del'>-/* dynamic load with dlopen() */</div><div class='del'>-# define USE_DLN_DLOPEN</div><div class='add'>+#ifdef __BEOS__</div><div class='add'>+# include &lt;image.h&gt;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#if defined(__hp9000s300) || ((defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)) &amp;&amp; !defined(__ELF__)) || defined(NeXT) || defined(MACOSX_DYLD)</div><div class='del'>-# define EXTERNAL_PREFIX "_"</div><div class='del'>-#else</div><div class='del'>-# define EXTERNAL_PREFIX ""</div><div class='add'>+#ifndef NO_DLN_LOAD</div><div class='add'>+</div><div class='add'>+#if defined(HAVE_DLOPEN) &amp;&amp; !defined(USE_DLN_A_OUT) &amp;&amp; !defined(_AIX) &amp;&amp; !defined(__APPLE__) &amp;&amp; !defined(_UNICOSMP)</div><div class='add'>+/* dynamic load with dlopen() */</div><div class='add'>+# define USE_DLN_DLOPEN</div><div class='ctx'> #endif</div><div class='del'>-#define FUNCNAME_PREFIX EXTERNAL_PREFIX"Init_"</div><div class='ctx'> </div><div class='del'>-#if defined __CYGWIN__ || defined DOSISH</div><div class='del'>-#define isdirsep(x) ((x) == '/' || (x) == '\\')</div><div class='del'>-#else</div><div class='del'>-#define isdirsep(x) ((x) == '/')</div><div class='add'>+#ifndef FUNCNAME_PATTERN</div><div class='add'>+# if defined(__hp9000s300) ||  (defined(__NetBSD__) &amp;&amp; !defined(__ELF__)) || defined(__BORLANDC__) || (defined(__FreeBSD__) &amp;&amp; !defined(__ELF__)) || (defined(__OpenBSD__) &amp;&amp; !defined(__ELF__)) || defined(NeXT) || defined(__WATCOMC__) || defined(__APPLE__)</div><div class='add'>+#  define FUNCNAME_PATTERN "_Init_%s"</div><div class='add'>+# else</div><div class='add'>+#  define FUNCNAME_PATTERN "Init_%s"</div><div class='add'>+# endif</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-static size_t</div><div class='del'>-init_funcname_len(const char **file)</div><div class='add'>+static int</div><div class='add'>+init_funcname_len(buf, file)</div><div class='add'>+    char **buf;</div><div class='add'>+    const char *file;</div><div class='ctx'> {</div><div class='del'>-    const char *p = *file, *base, *dot = NULL;</div><div class='add'>+    char *p;</div><div class='add'>+    const char *slash;</div><div class='add'>+    int len;</div><div class='ctx'> </div><div class='ctx'>     /* Load the file as an object one */</div><div class='del'>-    for (base = p; *p; p++) { /* Find position of last '/' */</div><div class='del'>-	if (*p == '.' &amp;&amp; !dot) dot = p;</div><div class='del'>-	if (isdirsep(*p)) base = p+1, dot = NULL;</div><div class='add'>+    for (slash = file-1; *file; file++) /* Find position of last '/' */</div><div class='add'>+#ifdef __MACOS__</div><div class='add'>+	if (*file == ':') slash = file;</div><div class='add'>+#else</div><div class='add'>+	if (*file == '/') slash = file;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    len = strlen(FUNCNAME_PATTERN) + strlen(slash + 1);</div><div class='add'>+    *buf = xmalloc(len);</div><div class='add'>+    snprintf(*buf, len, FUNCNAME_PATTERN, slash + 1);</div><div class='add'>+    for (p = *buf; *p; p++) {         /* Delete suffix if it exists */</div><div class='add'>+	if (*p == '.') {</div><div class='add'>+	    *p = '\0'; break;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    *file = base;</div><div class='del'>-    /* Delete suffix if it exists */</div><div class='del'>-    return (dot ? dot : p) - base;</div><div class='add'>+    return p - *buf;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static const char funcname_prefix[sizeof(FUNCNAME_PREFIX) - 1] = FUNCNAME_PREFIX;</div><div class='del'>-</div><div class='ctx'> #define init_funcname(buf, file) do {\</div><div class='del'>-    const char *base = (file);\</div><div class='del'>-    const size_t flen = init_funcname_len(&amp;base);\</div><div class='del'>-    const size_t plen = sizeof(funcname_prefix);\</div><div class='del'>-    char *const tmp = ALLOCA_N(char, plen+flen+1);\</div><div class='add'>+    int len = init_funcname_len(buf, file);\</div><div class='add'>+    char *tmp = ALLOCA_N(char, len+1);\</div><div class='ctx'>     if (!tmp) {\</div><div class='del'>-	dln_memerror();\</div><div class='add'>+	free(*buf);\</div><div class='add'>+	rb_memerror();\</div><div class='ctx'>     }\</div><div class='del'>-    memcpy(tmp, funcname_prefix, plen);\</div><div class='del'>-    memcpy(tmp+plen, base, flen);\</div><div class='del'>-    tmp[plen+flen] = '\0';\</div><div class='del'>-    *(buf) = tmp;\</div><div class='add'>+    strcpy(tmp, *buf);\</div><div class='add'>+    free(*buf);\</div><div class='add'>+    *buf = tmp;\</div><div class='ctx'> } while (0)</div><div class='ctx'> </div><div class='ctx'> #ifdef USE_DLN_A_OUT</div><div class='hunk'>@@ -182,8 +175,8 @@ static int dln_init_p = 0;</div><div class='ctx'> </div><div class='ctx'> #define INVALID_OBJECT(h) (N_MAGIC(h) != OMAGIC)</div><div class='ctx'> </div><div class='del'>-#include "ruby/util.h"</div><div class='del'>-#include "ruby/st.h"</div><div class='add'>+#include "util.h"</div><div class='add'>+#include "st.h"</div><div class='ctx'> </div><div class='ctx'> static st_table *sym_tbl;</div><div class='ctx'> static st_table *undef_tbl;</div><div class='hunk'>@@ -191,7 +184,10 @@ static st_table *undef_tbl;</div><div class='ctx'> static int load_lib();</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-load_header(int fd, struct exec *hdrp, long disp)</div><div class='add'>+load_header(fd, hdrp, disp)</div><div class='add'>+    int fd;</div><div class='add'>+    struct exec *hdrp;</div><div class='add'>+    long disp;</div><div class='ctx'> {</div><div class='ctx'>     int size;</div><div class='ctx'> </div><div class='hunk'>@@ -225,20 +221,20 @@ load_header(int fd, struct exec *hdrp, long disp)</div><div class='ctx'> #define RELOC_TARGET_SIZE(r)		((r)-&gt;r_length)</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#if defined(__sun) &amp;&amp; defined(__sparc)</div><div class='add'>+#if defined(sun) &amp;&amp; defined(sparc)</div><div class='ctx'> /* Sparc (Sun 4) macros */</div><div class='ctx'> #  undef relocation_info</div><div class='ctx'> #  define relocation_info reloc_info_sparc</div><div class='ctx'> #  define R_RIGHTSHIFT(r)	(reloc_r_rightshift[(r)-&gt;r_type])</div><div class='ctx'> #  define R_BITSIZE(r) 		(reloc_r_bitsize[(r)-&gt;r_type])</div><div class='ctx'> #  define R_LENGTH(r)		(reloc_r_length[(r)-&gt;r_type])</div><div class='del'>-static const int reloc_r_rightshift[] = {</div><div class='add'>+static int reloc_r_rightshift[] = {</div><div class='ctx'>   0, 0, 0, 0, 0, 0, 2, 2, 10, 0, 0, 0, 0, 0, 0,</div><div class='ctx'> };</div><div class='del'>-static const int reloc_r_bitsize[] = {</div><div class='add'>+static int reloc_r_bitsize[] = {</div><div class='ctx'>   8, 16, 32, 8, 16, 32, 30, 22, 22, 22, 13, 10, 32, 32, 16,</div><div class='ctx'> };</div><div class='del'>-static const int reloc_r_length[] = {</div><div class='add'>+static int reloc_r_length[] = {</div><div class='ctx'>   0, 1, 2, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,</div><div class='ctx'> };</div><div class='ctx'> #  define R_PCREL(r) \</div><div class='hunk'>@@ -261,7 +257,10 @@ static const int reloc_r_length[] = {</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> static struct relocation_info *</div><div class='del'>-load_reloc(int fd, struct exec *hdrp, long disp)</div><div class='add'>+load_reloc(fd, hdrp, disp)</div><div class='add'>+     int fd;</div><div class='add'>+     struct exec *hdrp;</div><div class='add'>+     long disp;</div><div class='ctx'> {</div><div class='ctx'>     struct relocation_info *reloc;</div><div class='ctx'>     int size;</div><div class='hunk'>@@ -284,7 +283,10 @@ load_reloc(int fd, struct exec *hdrp, long disp)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static struct nlist *</div><div class='del'>-load_sym(int fd, struct exec *hdrp, long disp)</div><div class='add'>+load_sym(fd, hdrp, disp)</div><div class='add'>+    int fd;</div><div class='add'>+    struct exec *hdrp;</div><div class='add'>+    long disp;</div><div class='ctx'> {</div><div class='ctx'>     struct nlist * buffer;</div><div class='ctx'>     struct nlist * sym;</div><div class='hunk'>@@ -325,7 +327,9 @@ load_sym(int fd, struct exec *hdrp, long disp)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static st_table *</div><div class='del'>-sym_hash(struct exec *hdrp, struct nlist *syms)</div><div class='add'>+sym_hash(hdrp, syms)</div><div class='add'>+    struct exec *hdrp;</div><div class='add'>+    struct nlist *syms;</div><div class='ctx'> {</div><div class='ctx'>     st_table *tbl;</div><div class='ctx'>     struct nlist *sym = syms;</div><div class='hunk'>@@ -345,16 +349,17 @@ sym_hash(struct exec *hdrp, struct nlist *syms)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-dln_init(const char *prog)</div><div class='add'>+dln_init(prog)</div><div class='add'>+    const char *prog;</div><div class='ctx'> {</div><div class='del'>-    char *file, fbuf[MAXPATHLEN];</div><div class='add'>+    char *file;</div><div class='ctx'>     int fd;</div><div class='ctx'>     struct exec hdr;</div><div class='ctx'>     struct nlist *syms;</div><div class='ctx'> </div><div class='ctx'>     if (dln_init_p == 1) return 0;</div><div class='ctx'> </div><div class='del'>-    file = dln_find_exe_r(prog, NULL, fbuf, sizeof(fbuf));</div><div class='add'>+    file = dln_find_exe(prog, NULL);</div><div class='ctx'>     if (file == NULL || (fd = open(file, O_RDONLY)) &lt; 0) {</div><div class='ctx'> 	dln_errno = errno;</div><div class='ctx'> 	return -1;</div><div class='hunk'>@@ -419,7 +424,11 @@ dln_init(const char *prog)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static long</div><div class='del'>-load_text_data(int fd, struct exec *hdrp, int bss, long disp)</div><div class='add'>+load_text_data(fd, hdrp, bss, disp)</div><div class='add'>+    int fd;</div><div class='add'>+    struct exec *hdrp;</div><div class='add'>+    int bss;</div><div class='add'>+    long disp;</div><div class='ctx'> {</div><div class='ctx'>     int size;</div><div class='ctx'>     unsigned char* addr;</div><div class='hunk'>@@ -453,26 +462,27 @@ load_text_data(int fd, struct exec *hdrp, int bss, long disp)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-undef_print(char *key, char *value)</div><div class='add'>+undef_print(key, value)</div><div class='add'>+    char *key, *value;</div><div class='ctx'> {</div><div class='ctx'>     fprintf(stderr, "  %s\n", key);</div><div class='ctx'>     return ST_CONTINUE;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-dln_print_undef(void)</div><div class='add'>+dln_print_undef()</div><div class='ctx'> {</div><div class='ctx'>     fprintf(stderr, " Undefined symbols:\n");</div><div class='ctx'>     st_foreach(undef_tbl, undef_print, NULL);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-dln_undefined(void)</div><div class='add'>+dln_undefined()</div><div class='ctx'> {</div><div class='ctx'>     if (undef_tbl-&gt;num_entries &gt; 0) {</div><div class='ctx'> 	fprintf(stderr, "dln: Calling undefined function\n");</div><div class='ctx'> 	dln_print_undef();</div><div class='del'>-	dln_exit(1);</div><div class='add'>+	rb_exit(1);</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='hunk'>@@ -490,7 +500,10 @@ struct undef {</div><div class='ctx'> </div><div class='ctx'> static st_table *reloc_tbl = NULL;</div><div class='ctx'> static void</div><div class='del'>-link_undef(const char *name, long base, struct relocation_info *reloc)</div><div class='add'>+link_undef(name, base, reloc)</div><div class='add'>+    const char *name;</div><div class='add'>+    long base;</div><div class='add'>+    struct relocation_info *reloc;</div><div class='ctx'> {</div><div class='ctx'>     static int u_no = 0;</div><div class='ctx'>     struct undef *obj;</div><div class='hunk'>@@ -523,11 +536,14 @@ struct reloc_arg {</div><div class='ctx'> };</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-reloc_undef(int no, struct undef *undef, struct reloc_arg *arg)</div><div class='add'>+reloc_undef(no, undef, arg)</div><div class='add'>+    int no;</div><div class='add'>+    struct undef *undef;</div><div class='add'>+    struct reloc_arg *arg;</div><div class='ctx'> {</div><div class='ctx'>     int datum;</div><div class='ctx'>     char *address;</div><div class='del'>-#if defined(__sun) &amp;&amp; defined(__sparc)</div><div class='add'>+#if defined(sun) &amp;&amp; defined(sparc)</div><div class='ctx'>     unsigned int mask = 0;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='hunk'>@@ -536,7 +552,7 @@ reloc_undef(int no, struct undef *undef, struct reloc_arg *arg)</div><div class='ctx'>     datum = arg-&gt;value;</div><div class='ctx'> </div><div class='ctx'>     if (R_PCREL(&amp;(undef-&gt;reloc))) datum -= undef-&gt;base;</div><div class='del'>-#if defined(__sun) &amp;&amp; defined(__sparc)</div><div class='add'>+#if defined(sun) &amp;&amp; defined(sparc)</div><div class='ctx'>     datum += undef-&gt;reloc.r_addend;</div><div class='ctx'>     datum &gt;&gt;= R_RIGHTSHIFT(&amp;(undef-&gt;reloc));</div><div class='ctx'>     mask = (1 &lt;&lt; R_BITSIZE(&amp;(undef-&gt;reloc))) - 1;</div><div class='hunk'>@@ -584,7 +600,9 @@ reloc_undef(int no, struct undef *undef, struct reloc_arg *arg)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-unlink_undef(const char *name, long value)</div><div class='add'>+unlink_undef(name, value)</div><div class='add'>+    const char *name;</div><div class='add'>+    long value;</div><div class='ctx'> {</div><div class='ctx'>     struct reloc_arg arg;</div><div class='ctx'> </div><div class='hunk'>@@ -599,7 +617,10 @@ struct indr_data {</div><div class='ctx'> };</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-reloc_repl(int no, struct undef *undef, struct indr_data *data)</div><div class='add'>+reloc_repl(no, undef, data)</div><div class='add'>+    int no;</div><div class='add'>+    struct undef *undef;</div><div class='add'>+    struct indr_data *data;</div><div class='ctx'> {</div><div class='ctx'>     if (strcmp(data-&gt;name0, undef-&gt;name) == 0) {</div><div class='ctx'> 	free(undef-&gt;name);</div><div class='hunk'>@@ -610,9 +631,12 @@ reloc_repl(int no, struct undef *undef, struct indr_data *data)</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-load_1(int fd, long disp, const char *need_init)</div><div class='add'>+load_1(fd, disp, need_init)</div><div class='add'>+    int fd;</div><div class='add'>+    long disp;</div><div class='add'>+    const char *need_init;</div><div class='ctx'> {</div><div class='del'>-    static const char *libc = LIBC_NAME;</div><div class='add'>+    static char *libc = LIBC_NAME;</div><div class='ctx'>     struct exec hdr;</div><div class='ctx'>     struct relocation_info *reloc = NULL;</div><div class='ctx'>     long block = 0;</div><div class='hunk'>@@ -760,11 +784,11 @@ load_1(int fd, long disp, const char *need_init)</div><div class='ctx'> 	while (rel &lt; rel_end) {</div><div class='ctx'> 	    char *address = (char*)(rel-&gt;r_address + block);</div><div class='ctx'> 	    long datum = 0;</div><div class='del'>-#if defined(__sun) &amp;&amp; defined(__sparc)</div><div class='add'>+#if defined(sun) &amp;&amp; defined(sparc)</div><div class='ctx'> 	    unsigned int mask = 0;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-	    if (rel &gt;= rel_beg)</div><div class='add'>+	    if(rel &gt;= rel_beg)</div><div class='ctx'> 		address += hdr.a_text;</div><div class='ctx'> </div><div class='ctx'> 	    if (rel-&gt;r_extern) { /* Look it up in symbol-table */</div><div class='hunk'>@@ -781,7 +805,7 @@ load_1(int fd, long disp, const char *need_init)</div><div class='ctx'> 		}</div><div class='ctx'> 	    } /* end.. look it up */</div><div class='ctx'> 	    else { /* is static */</div><div class='del'>-		switch (R_SYMBOL(rel)) {</div><div class='add'>+		switch (R_SYMBOL(rel)) { </div><div class='ctx'> 		  case N_TEXT:</div><div class='ctx'> 		  case N_DATA:</div><div class='ctx'> 		    datum = block;</div><div class='hunk'>@@ -795,7 +819,7 @@ load_1(int fd, long disp, const char *need_init)</div><div class='ctx'> 	    } /* end .. is static */</div><div class='ctx'> 	    if (R_PCREL(rel)) datum -= block;</div><div class='ctx'> </div><div class='del'>-#if defined(__sun) &amp;&amp; defined(__sparc)</div><div class='add'>+#if defined(sun) &amp;&amp; defined(sparc)</div><div class='ctx'> 	    datum += rel-&gt;r_addend;</div><div class='ctx'> 	    datum &gt;&gt;= R_RIGHTSHIFT(rel);</div><div class='ctx'> 	    mask = (1 &lt;&lt; R_BITSIZE(rel)) - 1;</div><div class='hunk'>@@ -891,7 +915,10 @@ load_1(int fd, long disp, const char *need_init)</div><div class='ctx'> </div><div class='ctx'> static int target_offset;</div><div class='ctx'> static int</div><div class='del'>-search_undef(const char *key, int value, st_table *lib_tbl)</div><div class='add'>+search_undef(key, value, lib_tbl)</div><div class='add'>+    const char *key;</div><div class='add'>+    int value;</div><div class='add'>+    st_table *lib_tbl;</div><div class='ctx'> {</div><div class='ctx'>     long offset;</div><div class='ctx'> </div><div class='hunk'>@@ -905,13 +932,13 @@ struct symdef {</div><div class='ctx'>     int lib_offset;</div><div class='ctx'> };</div><div class='ctx'> </div><div class='del'>-const char *dln_librrb_ary_path = DLN_DEFAULT_LIB_PATH;</div><div class='add'>+char *dln_librrb_ary_path = DLN_DEFAULT_LIB_PATH;</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-load_lib(const char *lib)</div><div class='add'>+load_lib(lib)</div><div class='add'>+    const char *lib;</div><div class='ctx'> {</div><div class='del'>-    char *path, *file, fbuf[MAXPATHLEN];</div><div class='del'>-    char *envpath = 0;</div><div class='add'>+    char *path, *file;</div><div class='ctx'>     char armagic[SARMAG];</div><div class='ctx'>     int fd, size;</div><div class='ctx'>     struct ar_hdr ahdr;</div><div class='hunk'>@@ -941,10 +968,8 @@ load_lib(const char *lib)</div><div class='ctx'>     /* if path is still NULL, use "." for path. */</div><div class='ctx'>     path = getenv("DLN_LIBRARY_PATH");</div><div class='ctx'>     if (path == NULL) path = dln_librrb_ary_path;</div><div class='del'>-    else path = envpath = strdup(path);</div><div class='ctx'> </div><div class='del'>-    file = dln_find_file_r(lib, path, fbuf, sizeof(fbuf));</div><div class='del'>-    if (envpath) free(envpath);</div><div class='add'>+    file = dln_find_file(lib, path);</div><div class='ctx'>     fd = open(file, O_RDONLY);</div><div class='ctx'>     if (fd == -1) goto syserr;</div><div class='ctx'>     size = read(fd, armagic, SARMAG);</div><div class='hunk'>@@ -1048,7 +1073,8 @@ load_lib(const char *lib)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static int</div><div class='del'>-load(const char *file)</div><div class='add'>+load(file)</div><div class='add'>+    const char *file;</div><div class='ctx'> {</div><div class='ctx'>     int fd;</div><div class='ctx'>     int result;</div><div class='hunk'>@@ -1073,7 +1099,8 @@ load(const char *file)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void*</div><div class='del'>-dln_sym(const char *name)</div><div class='add'>+dln_sym(name)</div><div class='add'>+    const char *name;</div><div class='ctx'> {</div><div class='ctx'>     struct nlist *sym;</div><div class='ctx'> </div><div class='hunk'>@@ -1085,7 +1112,12 @@ dln_sym(const char *name)</div><div class='ctx'> #endif /* USE_DLN_A_OUT */</div><div class='ctx'> </div><div class='ctx'> #ifdef USE_DLN_DLOPEN</div><div class='del'>-# include &lt;dlfcn.h&gt;</div><div class='add'>+# if defined(__NetBSD__) &amp;&amp; defined(__NetBSD_Version__) &amp;&amp; __NetBSD_Version__ &lt; 105000000</div><div class='add'>+#  include &lt;nlist.h&gt;</div><div class='add'>+#  include &lt;link.h&gt;</div><div class='add'>+# else</div><div class='add'>+#  include &lt;dlfcn.h&gt;</div><div class='add'>+# endif</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> #ifdef __hpux</div><div class='hunk'>@@ -1109,40 +1141,26 @@ dln_sym(const char *name)</div><div class='ctx'> #endif</div><div class='ctx'> #endif</div><div class='ctx'> #else</div><div class='del'>-#ifdef MACOSX_DYLD</div><div class='add'>+#ifdef __APPLE__</div><div class='ctx'> #include &lt;mach-o/dyld.h&gt;</div><div class='ctx'> #endif</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifdef _WIN32</div><div class='add'>+#if defined _WIN32 &amp;&amp; !defined __CYGWIN__</div><div class='ctx'> #include &lt;windows.h&gt;</div><div class='del'>-#include &lt;imagehlp.h&gt;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifdef _WIN32</div><div class='del'>-static const char *</div><div class='del'>-dln_strerror(char *message, size_t size)</div><div class='del'>-{</div><div class='del'>-    int error = GetLastError();</div><div class='del'>-    char *p = message;</div><div class='del'>-    size_t len = snprintf(message, size, "%d: ", error);</div><div class='del'>-</div><div class='del'>-#define format_message(sublang) FormatMessage(\</div><div class='del'>-	FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,	\</div><div class='del'>-	NULL, error, MAKELANGID(LANG_NEUTRAL, (sublang)),		\</div><div class='del'>-	message + len, size - len, NULL)</div><div class='del'>-    if (format_message(SUBLANG_ENGLISH_US) == 0)</div><div class='del'>-	format_message(SUBLANG_DEFAULT);</div><div class='del'>-    for (p = message + len; *p; p++) {</div><div class='del'>-	if (*p == '\n' || *p == '\r')</div><div class='del'>-	    *p = ' ';</div><div class='del'>-    }</div><div class='del'>-    return message;</div><div class='del'>-}</div><div class='del'>-#define dln_strerror() dln_strerror(message, sizeof message)</div><div class='del'>-#elif ! defined _AIX</div><div class='add'>+#ifdef _WIN32_WCE</div><div class='add'>+#undef FormatMessage</div><div class='add'>+#define FormatMessage FormatMessageA</div><div class='add'>+#undef LoadLibrary</div><div class='add'>+#define LoadLibrary LoadLibraryA</div><div class='add'>+#undef GetProcAddress</div><div class='add'>+#define GetProcAddress GetProcAddressA</div><div class='add'>+#endif</div><div class='add'>+</div><div class='ctx'> static const char *</div><div class='del'>-dln_strerror(void)</div><div class='add'>+dln_strerror()</div><div class='ctx'> {</div><div class='ctx'> #ifdef USE_DLN_A_OUT</div><div class='ctx'>     char *strerror();</div><div class='hunk'>@@ -1168,140 +1186,127 @@ dln_strerror(void)</div><div class='ctx'> #ifdef USE_DLN_DLOPEN</div><div class='ctx'>     return (char*)dlerror();</div><div class='ctx'> #endif</div><div class='del'>-}</div><div class='add'>+</div><div class='add'>+#if defined _WIN32 &amp;&amp; !defined __CYGWIN__</div><div class='add'>+    static char message[1024];</div><div class='add'>+    int error = GetLastError();</div><div class='add'>+    char *p = message;</div><div class='add'>+    p += sprintf(message, "%d: ", error);</div><div class='add'>+    FormatMessage(</div><div class='add'>+	FORMAT_MESSAGE_FROM_SYSTEM	 | FORMAT_MESSAGE_IGNORE_INSERTS,</div><div class='add'>+	NULL,</div><div class='add'>+	error,</div><div class='add'>+	MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),</div><div class='add'>+	p,</div><div class='add'>+	sizeof message - strlen(message),</div><div class='add'>+	NULL);</div><div class='add'>+</div><div class='add'>+    for (p = message; *p; p++) {</div><div class='add'>+	if (*p == '\n' || *p == '\r')</div><div class='add'>+	    *p = ' ';</div><div class='add'>+    }</div><div class='add'>+    return message;</div><div class='ctx'> #endif</div><div class='add'>+}</div><div class='add'>+</div><div class='ctx'> </div><div class='ctx'> #if defined(_AIX) &amp;&amp; ! defined(_IA64)</div><div class='ctx'> static void</div><div class='ctx'> aix_loaderror(const char *pathname)</div><div class='ctx'> {</div><div class='del'>-    char *message[1024], errbuf[1024];</div><div class='del'>-    int i;</div><div class='del'>-#define ERRBUF_APPEND(s) strlcat(errbuf, (s), sizeof(errbuf))</div><div class='del'>-    snprintf(errbuf, sizeof(errbuf), "load failed - %s. ", pathname);</div><div class='del'>-</div><div class='del'>-    if (loadquery(L_GETMESSAGES, &amp;message[0], sizeof(message)) != -1) {</div><div class='del'>-	ERRBUF_APPEND("Please issue below command for detailed reasons:\n\t");</div><div class='del'>-	ERRBUF_APPEND("/usr/sbin/execerror ruby ");</div><div class='del'>-	for (i=0; message[i]; i++) {</div><div class='del'>-	    ERRBUF_APPEND("\"");</div><div class='del'>-	    ERRBUF_APPEND(message[i]);</div><div class='del'>-	    ERRBUF_APPEND("\" ");</div><div class='del'>-	}</div><div class='del'>-	ERRBUF_APPEND("\n");</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='add'>+    char *message[8], errbuf[1024];</div><div class='add'>+    int i,j;</div><div class='add'>+</div><div class='add'>+    struct errtab { </div><div class='add'>+	int errnum;</div><div class='add'>+	char *errstr;</div><div class='add'>+    } load_errtab[] = {</div><div class='add'>+	{L_ERROR_TOOMANY,	"too many errors, rest skipped."},</div><div class='add'>+	{L_ERROR_NOLIB,		"can't load library:"},</div><div class='add'>+	{L_ERROR_UNDEF,		"can't find symbol in library:"},</div><div class='add'>+	{L_ERROR_RLDBAD,</div><div class='add'>+	     "RLD index out of range or bad relocation type:"},</div><div class='add'>+	{L_ERROR_FORMAT,	"not a valid, executable xcoff file:"},</div><div class='add'>+	{L_ERROR_MEMBER,</div><div class='add'>+	     "file not an archive or does not contain requested member:"},</div><div class='add'>+	{L_ERROR_TYPE,		"symbol table mismatch:"},</div><div class='add'>+	{L_ERROR_ALIGN,		"text alignment in file is wrong."},</div><div class='add'>+	{L_ERROR_SYSTEM,	"System error:"},</div><div class='add'>+	{L_ERROR_ERRNO,		NULL}</div><div class='add'>+    };</div><div class='add'>+</div><div class='add'>+#define LOAD_ERRTAB_LEN	(sizeof(load_errtab)/sizeof(load_errtab[0]))</div><div class='add'>+#define ERRBUF_APPEND(s) strncat(errbuf, s, sizeof(errbuf)-strlen(errbuf)-1)</div><div class='add'>+</div><div class='add'>+    snprintf(errbuf, 1024, "load failed - %s ", pathname);</div><div class='add'>+</div><div class='add'>+    if (!loadquery(1, &amp;message[0], sizeof(message))) </div><div class='ctx'> 	ERRBUF_APPEND(strerror(errno));</div><div class='del'>-	ERRBUF_APPEND("[loadquery failed]");</div><div class='del'>-    }</div><div class='del'>-    dln_loaderror("%s", errbuf);</div><div class='del'>-}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined _WIN32 &amp;&amp; defined RUBY_EXPORT</div><div class='del'>-HANDLE rb_libruby_handle(void);</div><div class='del'>-</div><div class='del'>-static int</div><div class='del'>-rb_w32_check_imported(HMODULE ext, HMODULE mine)</div><div class='del'>-{</div><div class='del'>-    ULONG size;</div><div class='del'>-    const IMAGE_IMPORT_DESCRIPTOR *desc;</div><div class='del'>-</div><div class='del'>-    desc = ImageDirectoryEntryToData(ext, TRUE, IMAGE_DIRECTORY_ENTRY_IMPORT, &amp;size);</div><div class='del'>-    if (!desc) return 0;</div><div class='del'>-    while (desc-&gt;Name) {</div><div class='del'>-	PIMAGE_THUNK_DATA pint = (PIMAGE_THUNK_DATA)((char *)ext + desc-&gt;Characteristics);</div><div class='del'>-	PIMAGE_THUNK_DATA piat = (PIMAGE_THUNK_DATA)((char *)ext + desc-&gt;FirstThunk);</div><div class='del'>-	for (; piat-&gt;u1.Function; piat++, pint++) {</div><div class='del'>-	    static const char prefix[] = "rb_";</div><div class='del'>-	    PIMAGE_IMPORT_BY_NAME pii;</div><div class='del'>-	    const char *name;</div><div class='del'>-</div><div class='del'>-	    if (IMAGE_SNAP_BY_ORDINAL(pint-&gt;u1.Ordinal)) continue;</div><div class='del'>-	    pii = (PIMAGE_IMPORT_BY_NAME)((char *)ext + (size_t)pint-&gt;u1.AddressOfData);</div><div class='del'>-	    name = (const char *)pii-&gt;Name;</div><div class='del'>-	    if (strncmp(name, prefix, sizeof(prefix) - 1) == 0) {</div><div class='del'>-		FARPROC addr = GetProcAddress(mine, name);</div><div class='del'>-		if (addr) return (FARPROC)piat-&gt;u1.Function == addr;</div><div class='del'>-	    }</div><div class='add'>+    for(i = 0; message[i] &amp;&amp; *message[i]; i++) {</div><div class='add'>+	int nerr = atoi(message[i]);</div><div class='add'>+	for (j=0; j&lt;LOAD_ERRTAB_LEN; j++) {</div><div class='add'>+           if (nerr == load_errtab[i].errnum &amp;&amp; load_errtab[i].errstr)</div><div class='add'>+		ERRBUF_APPEND(load_errtab[i].errstr);</div><div class='ctx'> 	}</div><div class='del'>-	desc++;</div><div class='add'>+	while (isdigit(*message[i])) message[i]++; </div><div class='add'>+	ERRBUF_APPEND(message[i]);</div><div class='add'>+	ERRBUF_APPEND("\n");</div><div class='ctx'>     }</div><div class='del'>-    return 1;</div><div class='add'>+    errbuf[strlen(errbuf)-1] = '\0';	/* trim off last newline */</div><div class='add'>+    rb_loaderror(errbuf);</div><div class='add'>+    return;</div><div class='ctx'> }</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#if defined(DLN_NEEDS_ALT_SEPARATOR) &amp;&amp; DLN_NEEDS_ALT_SEPARATOR</div><div class='del'>-#define translit_separator(src) do { \</div><div class='del'>-	char *tmp = ALLOCA_N(char, strlen(src) + 1), *p = tmp, c; \</div><div class='del'>-	do { \</div><div class='del'>-	    *p++ = ((c = *file++) == '/') ? DLN_NEEDS_ALT_SEPARATOR : c; \</div><div class='del'>-	} while (c); \</div><div class='del'>-	(src) = tmp; \</div><div class='del'>-    } while (0)</div><div class='del'>-#else</div><div class='del'>-#define translit_separator(str) (void)(str)</div><div class='add'>+#if defined(__VMS)</div><div class='add'>+#include &lt;starlet.h&gt;</div><div class='add'>+#include &lt;rms.h&gt;</div><div class='add'>+#include &lt;stsdef.h&gt;</div><div class='add'>+#include &lt;unixlib.h&gt;</div><div class='add'>+#include &lt;descrip.h&gt;</div><div class='add'>+#include &lt;lib$routines.h&gt;</div><div class='add'>+</div><div class='add'>+static char *vms_filespec;</div><div class='add'>+static int vms_fileact(char *filespec, int type);</div><div class='add'>+static long vms_fisexh(long *sigarr, long *mecarr);</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#ifdef USE_DLN_DLOPEN</div><div class='del'>-COMPILER_WARNING_PUSH</div><div class='del'>-#if defined(__clang__) || GCC_VERSION_SINCE(4, 2, 0)</div><div class='del'>-COMPILER_WARNING_IGNORED(-Wpedantic)</div><div class='del'>-#endif</div><div class='del'>-static bool</div><div class='del'>-dln_incompatible_library_p(void *handle)</div><div class='del'>-{</div><div class='del'>-    void *ex = dlsym(handle, EXTERNAL_PREFIX"ruby_xmalloc");</div><div class='del'>-    return ex &amp;&amp; ex != ruby_xmalloc;</div><div class='del'>-}</div><div class='del'>-COMPILER_WARNING_POP</div><div class='del'>-#endif</div><div class='add'>+#endif /* NO_DLN_LOAD */</div><div class='ctx'> </div><div class='ctx'> void*</div><div class='del'>-dln_load(const char *file)</div><div class='add'>+dln_load(file)</div><div class='add'>+    const char *file;</div><div class='ctx'> {</div><div class='del'>-#if (defined _WIN32 || defined USE_DLN_DLOPEN) &amp;&amp; defined RUBY_EXPORT</div><div class='del'>-    static const char incompatible[] = "incompatible library version";</div><div class='del'>-#endif</div><div class='add'>+#ifdef NO_DLN_LOAD</div><div class='add'>+    rb_raise(rb_eLoadError, "this executable file can't load extension libraries");</div><div class='add'>+#else</div><div class='add'>+</div><div class='ctx'> #if !defined(_AIX) &amp;&amp; !defined(NeXT)</div><div class='ctx'>     const char *error = 0;</div><div class='add'>+#define DLN_ERROR() (error = dln_strerror(), strcpy(ALLOCA_N(char, strlen(error) + 1), error))</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-#if defined _WIN32</div><div class='add'>+#if defined _WIN32 &amp;&amp; !defined __CYGWIN__</div><div class='ctx'>     HINSTANCE handle;</div><div class='del'>-    WCHAR *winfile;</div><div class='del'>-    char message[1024];</div><div class='add'>+    char winfile[MAXPATHLEN];</div><div class='ctx'>     void (*init_fct)();</div><div class='ctx'>     char *buf;</div><div class='ctx'> </div><div class='add'>+    if (strlen(file) &gt;= MAXPATHLEN) rb_loaderror("filename too long");</div><div class='add'>+</div><div class='ctx'>     /* Load the file as an object one */</div><div class='ctx'>     init_funcname(&amp;buf, file);</div><div class='ctx'> </div><div class='del'>-    /* Convert the file path to wide char */</div><div class='del'>-    winfile = rb_w32_mbstr_to_wstr(CP_UTF8, file, -1, NULL);</div><div class='del'>-    if (!winfile) {</div><div class='del'>-	dln_memerror();</div><div class='del'>-    }</div><div class='add'>+    strcpy(winfile, file);</div><div class='ctx'> </div><div class='ctx'>     /* Load file */</div><div class='del'>-    handle = LoadLibraryW(winfile);</div><div class='del'>-    free(winfile);</div><div class='del'>-</div><div class='del'>-    if (!handle) {</div><div class='add'>+    if ((handle = LoadLibrary(winfile)) == NULL) {</div><div class='ctx'> 	error = dln_strerror();</div><div class='ctx'> 	goto failed;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-#if defined _WIN32 &amp;&amp; defined RUBY_EXPORT</div><div class='del'>-    if (!rb_w32_check_imported(handle, rb_libruby_handle())) {</div><div class='del'>-	FreeLibrary(handle);</div><div class='del'>-	error = incompatible;</div><div class='del'>-	goto failed;</div><div class='del'>-    }</div><div class='del'>-#endif</div><div class='del'>-</div><div class='ctx'>     if ((init_fct = (void(*)())GetProcAddress(handle, buf)) == NULL) {</div><div class='del'>-	dln_loaderror("%s - %s\n%s", dln_strerror(), buf, file);</div><div class='add'>+	rb_loaderror("%s - %s\n%s", dln_strerror(), buf, file);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     /* Call the init code */</div><div class='hunk'>@@ -1319,7 +1324,6 @@ dln_load(const char *file)</div><div class='ctx'>     char *buf;</div><div class='ctx'>     /* Load the file as an object one */</div><div class='ctx'>     init_funcname(&amp;buf, file);</div><div class='del'>-    translit_separator(file);</div><div class='ctx'> </div><div class='ctx'> #ifdef USE_DLN_DLOPEN</div><div class='ctx'> #define DLN_DEFINED</div><div class='hunk'>@@ -1342,28 +1346,10 @@ dln_load(const char *file)</div><div class='ctx'> 	    error = dln_strerror();</div><div class='ctx'> 	    goto failed;</div><div class='ctx'> 	}</div><div class='del'>-# if defined RUBY_EXPORT</div><div class='del'>-	{</div><div class='del'>-	    if (dln_incompatible_library_p(handle)) {</div><div class='del'>-</div><div class='del'>-#   if defined __APPLE__ &amp;&amp; \</div><div class='del'>-    defined(MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; \</div><div class='del'>-    (MAC_OS_X_VERSION_MIN_REQUIRED &lt; MAC_OS_X_VERSION_10_11)</div><div class='del'>-		/* dlclose() segfaults */</div><div class='del'>-		rb_fatal("%s - %s", incompatible, file);</div><div class='del'>-#   else</div><div class='del'>-		dlclose(handle);</div><div class='del'>-		error = incompatible;</div><div class='del'>-		goto failed;</div><div class='del'>-#   endif</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-# endif</div><div class='ctx'> </div><div class='del'>-	init_fct = (void(*)())(VALUE)dlsym(handle, buf);</div><div class='add'>+	init_fct = (void(*)())dlsym(handle, buf);</div><div class='ctx'> 	if (init_fct == NULL) {</div><div class='del'>-	    const size_t errlen = strlen(error = dln_strerror()) + 1;</div><div class='del'>-	    error = memcpy(ALLOCA_N(char, errlen), error, errlen);</div><div class='add'>+	    error = DLN_ERROR();</div><div class='ctx'> 	    dlclose(handle);</div><div class='ctx'> 	    goto failed;</div><div class='ctx'> 	}</div><div class='hunk'>@@ -1385,14 +1371,14 @@ dln_load(const char *file)</div><div class='ctx'> 	lib = shl_load(file, flags, 0);</div><div class='ctx'> 	if (lib == NULL) {</div><div class='ctx'> 	    extern int errno;</div><div class='del'>-	    dln_loaderror("%s - %s", strerror(errno), file);</div><div class='add'>+	    rb_loaderror("%s - %s", strerror(errno), file);</div><div class='ctx'> 	}</div><div class='ctx'> 	shl_findsym(&amp;lib, buf, TYPE_PROCEDURE, (void*)&amp;init_fct);</div><div class='ctx'> 	if (init_fct == NULL) {</div><div class='ctx'> 	    shl_findsym(&amp;lib, buf, TYPE_UNDEFINED, (void*)&amp;init_fct);</div><div class='ctx'> 	    if (init_fct == NULL) {</div><div class='ctx'> 		errno = ENOSYM;</div><div class='del'>-		dln_loaderror("%s - %s", strerror(ENOSYM), file);</div><div class='add'>+		rb_loaderror("%s - %s", strerror(ENOSYM), file);</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='ctx'> 	(*init_fct)();</div><div class='hunk'>@@ -1417,17 +1403,54 @@ dln_load(const char *file)</div><div class='ctx'>     }</div><div class='ctx'> #endif /* _AIX */</div><div class='ctx'> </div><div class='del'>-#if defined(MACOSX_DYLD)</div><div class='add'>+#if defined(NeXT) || defined(__APPLE__)</div><div class='ctx'> #define DLN_DEFINED</div><div class='ctx'> /*----------------------------------------------------</div><div class='ctx'>    By SHIROYAMA Takayuki Psi@fortune.nest.or.jp</div><div class='del'>-</div><div class='add'>+ </div><div class='ctx'>    Special Thanks...</div><div class='ctx'>     Yu tomoak-i@is.aist-nara.ac.jp,</div><div class='ctx'>     Mi hisho@tasihara.nest.or.jp,</div><div class='ctx'>     sunshine@sunshineco.com,</div><div class='ctx'>     and... Miss ARAI Akino(^^;)</div><div class='ctx'>  ----------------------------------------------------*/</div><div class='add'>+#if defined(NeXT) &amp;&amp; (NS_TARGET_MAJOR &lt; 4)/* NeXTSTEP rld functions */</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+        NXStream* s;</div><div class='add'>+	unsigned long init_address;</div><div class='add'>+	char *object_files[2] = {NULL, NULL};</div><div class='add'>+</div><div class='add'>+	void (*init_fct)();</div><div class='add'>+	</div><div class='add'>+	object_files[0] = (char*)file;</div><div class='add'>+	</div><div class='add'>+	s = NXOpenFile(2,NX_WRITEONLY);</div><div class='add'>+</div><div class='add'>+	/* Load object file, if return value ==0 ,  load failed*/</div><div class='add'>+	if(rld_load(s, NULL, object_files, NULL) == 0) {</div><div class='add'>+	    NXFlush(s);</div><div class='add'>+	    NXClose(s);</div><div class='add'>+	    rb_loaderror("Failed to load %.200s", file);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/* lookup the initial function */</div><div class='add'>+	if(rld_lookup(s, buf, &amp;init_address) == 0) {</div><div class='add'>+	    NXFlush(s);</div><div class='add'>+	    NXClose(s);</div><div class='add'>+	    rb_loaderror("Failed to lookup Init function %.200s", file);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	NXFlush(s);</div><div class='add'>+	NXClose(s);</div><div class='add'>+</div><div class='add'>+	/* Cannot call *init_address directory, so copy this value to</div><div class='add'>+	   funtion pointer */</div><div class='add'>+	init_fct = (void(*)())init_address;</div><div class='add'>+	(*init_fct)();</div><div class='add'>+	return (void*)init_address;</div><div class='add'>+    }</div><div class='add'>+#else/* OPENSTEP dyld functions */</div><div class='ctx'>     {</div><div class='ctx'> 	int dyld_result;</div><div class='ctx'> 	NSObjectFileImage obj_file; /* handle, but not use it */</div><div class='hunk'>@@ -1440,32 +1463,427 @@ dln_load(const char *file)</div><div class='ctx'> 	dyld_result = NSCreateObjectFileImageFromFile(file, &amp;obj_file);</div><div class='ctx'> </div><div class='ctx'> 	if (dyld_result != NSObjectFileImageSuccess) {</div><div class='del'>-	    dln_loaderror("Failed to load %.200s", file);</div><div class='add'>+	    rb_loaderror("Failed to load %.200s", file);</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='ctx'> 	NSLinkModule(obj_file, file, NSLINKMODULE_OPTION_BINDNOW);</div><div class='ctx'> </div><div class='ctx'> 	/* lookup the initial function */</div><div class='del'>-	if (!NSIsSymbolNameDefined(buf)) {</div><div class='del'>-	    dln_loaderror("Failed to lookup Init function %.200s",file);</div><div class='del'>-	}</div><div class='add'>+	if(!NSIsSymbolNameDefined(buf)) {</div><div class='add'>+	    rb_loaderror("Failed to lookup Init function %.200s",file);</div><div class='add'>+	}	</div><div class='ctx'> 	init_fct = NSAddressOfSymbol(NSLookupAndBindSymbol(buf));</div><div class='ctx'> 	(*init_fct)();</div><div class='ctx'> </div><div class='ctx'> 	return (void*)init_fct;</div><div class='ctx'>     }</div><div class='add'>+#endif /* rld or dyld */</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='add'>+#ifdef __BEOS__</div><div class='add'>+# define DLN_DEFINED</div><div class='add'>+    {</div><div class='add'>+      status_t err_stat;  /* BeOS error status code */</div><div class='add'>+      image_id img_id;    /* extention module unique id */</div><div class='add'>+      void (*init_fct)(); /* initialize function for extention module */</div><div class='add'>+</div><div class='add'>+      /* load extention module */</div><div class='add'>+      img_id = load_add_on(file);</div><div class='add'>+      if (img_id &lt;= 0) {</div><div class='add'>+	rb_loaderror("Failed to load %.200s", file);</div><div class='add'>+      }</div><div class='add'>+      </div><div class='add'>+      /* find symbol for module initialize function. */</div><div class='add'>+      /* The Be Book KernelKit Images section described to use</div><div class='add'>+	 B_SYMBOL_TYPE_TEXT for symbol of function, not</div><div class='add'>+	 B_SYMBOL_TYPE_CODE. Why ? */</div><div class='add'>+      /* strcat(init_fct_symname, "__Fv"); */  /* parameter nothing. */</div><div class='add'>+      /* "__Fv" dont need! The Be Book Bug ? */</div><div class='add'>+      err_stat = get_image_symbol(img_id, buf,</div><div class='add'>+				  B_SYMBOL_TYPE_TEXT, (void **)&amp;init_fct);</div><div class='add'>+</div><div class='add'>+      if (err_stat != B_NO_ERROR) {</div><div class='add'>+	char real_name[MAXPATHLEN];</div><div class='add'>+</div><div class='add'>+	strcpy(real_name, buf);</div><div class='add'>+	strcat(real_name, "__Fv");</div><div class='add'>+        err_stat = get_image_symbol(img_id, real_name,</div><div class='add'>+				    B_SYMBOL_TYPE_TEXT, (void **)&amp;init_fct);</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      if ((B_BAD_IMAGE_ID == err_stat) || (B_BAD_INDEX == err_stat)) {</div><div class='add'>+	unload_add_on(img_id);</div><div class='add'>+	rb_loaderror("Failed to lookup Init function %.200s", file);</div><div class='add'>+      }</div><div class='add'>+      else if (B_NO_ERROR != err_stat) {</div><div class='add'>+	char errmsg[] = "Internal of BeOS version. %.200s (symbol_name = %s)";</div><div class='add'>+	unload_add_on(img_id);</div><div class='add'>+	rb_loaderror(errmsg, strerror(err_stat), buf);</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      /* call module initialize function. */</div><div class='add'>+      (*init_fct)();</div><div class='add'>+      return (void*)img_id;</div><div class='add'>+    }</div><div class='add'>+#endif /* __BEOS__*/</div><div class='add'>+</div><div class='add'>+#ifdef __MACOS__</div><div class='add'>+# define DLN_DEFINED</div><div class='add'>+    {</div><div class='add'>+      OSErr err;</div><div class='add'>+      FSSpec libspec;</div><div class='add'>+      CFragConnectionID connID;</div><div class='add'>+      Ptr mainAddr;</div><div class='add'>+      char errMessage[1024];</div><div class='add'>+      Boolean isfolder, didsomething;</div><div class='add'>+      Str63 fragname;</div><div class='add'>+      Ptr symAddr;</div><div class='add'>+      CFragSymbolClass class;</div><div class='add'>+      void (*init_fct)();</div><div class='add'>+      char fullpath[MAXPATHLEN];</div><div class='add'>+</div><div class='add'>+      strcpy(fullpath, file);</div><div class='add'>+</div><div class='add'>+      /* resolve any aliases to find the real file */</div><div class='add'>+      c2pstr(fullpath);</div><div class='add'>+      (void)FSMakeFSSpec(0, 0, fullpath, &amp;libspec);</div><div class='add'>+      err = ResolveAliasFile(&amp;libspec, 1, &amp;isfolder, &amp;didsomething);</div><div class='add'>+      if (err) {</div><div class='add'>+	  rb_loaderror("Unresolved Alias - %s", file);</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      /* Load the fragment (or return the connID if it is already loaded */</div><div class='add'>+      fragname[0] = 0;</div><div class='add'>+      err = GetDiskFragment(&amp;libspec, 0, 0, fragname, </div><div class='add'>+			    kLoadCFrag, &amp;connID, &amp;mainAddr,</div><div class='add'>+			    errMessage);</div><div class='add'>+      if (err) {</div><div class='add'>+	  p2cstr(errMessage);</div><div class='add'>+	  rb_loaderror("%s - %s",errMessage , file);</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      /* Locate the address of the correct init function */</div><div class='add'>+      c2pstr(buf);</div><div class='add'>+      err = FindSymbol(connID, buf, &amp;symAddr, &amp;class);</div><div class='add'>+      if (err) {</div><div class='add'>+	  rb_loaderror("Unresolved symbols - %s" , file);</div><div class='add'>+      }</div><div class='add'>+      init_fct = (void (*)())symAddr;</div><div class='add'>+      (*init_fct)();</div><div class='add'>+      return (void*)init_fct;</div><div class='add'>+    }</div><div class='add'>+#endif /* __MACOS__ */</div><div class='add'>+</div><div class='add'>+#if defined(__VMS)</div><div class='add'>+#define DLN_DEFINED</div><div class='add'>+    {</div><div class='add'>+	long status;</div><div class='add'>+	void (*init_fct)();</div><div class='add'>+	char *fname, *p1, *p2;</div><div class='add'>+</div><div class='add'>+	$DESCRIPTOR(fname_d, "");</div><div class='add'>+	$DESCRIPTOR(image_d, "");</div><div class='add'>+	$DESCRIPTOR(buf_d, "");</div><div class='add'>+</div><div class='add'>+	decc$to_vms(file, vms_fileact, 0, 0);</div><div class='add'>+</div><div class='add'>+	fname = (char *)__alloca(strlen(file)+1);</div><div class='add'>+	strcpy(fname,file);</div><div class='add'>+	if (p1 = strrchr(fname,'/'))</div><div class='add'>+	    fname = p1 + 1;</div><div class='add'>+	if (p2 = strrchr(fname,'.'))</div><div class='add'>+	    *p2 = '\0';</div><div class='add'>+</div><div class='add'>+	fname_d.dsc$w_length  = strlen(fname);</div><div class='add'>+	fname_d.dsc$a_pointer = fname;</div><div class='add'>+	image_d.dsc$w_length  = strlen(vms_filespec);</div><div class='add'>+	image_d.dsc$a_pointer = vms_filespec;</div><div class='add'>+	buf_d.dsc$w_length    = strlen(buf);</div><div class='add'>+	buf_d.dsc$a_pointer   = buf;</div><div class='add'>+</div><div class='add'>+	lib$establish(vms_fisexh);</div><div class='add'>+</div><div class='add'>+	status = lib$find_image_symbol (</div><div class='add'>+		     &amp;fname_d,</div><div class='add'>+		     &amp;buf_d, </div><div class='add'>+		     &amp;init_fct, </div><div class='add'>+		     &amp;image_d);</div><div class='add'>+</div><div class='add'>+	lib$establish(0);</div><div class='add'>+</div><div class='add'>+	if (status == RMS$_FNF) {</div><div class='add'>+	    error = dln_strerror();</div><div class='add'>+	    goto failed;</div><div class='add'>+	} else if (!$VMS_STATUS_SUCCESS(status)) {</div><div class='add'>+	    error = DLN_ERROR();</div><div class='add'>+	    goto failed;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/* Call the init code */</div><div class='add'>+	(*init_fct)();</div><div class='add'>+</div><div class='add'>+	return 1;</div><div class='add'>+    }</div><div class='add'>+#endif /* __VMS */</div><div class='add'>+</div><div class='ctx'> #ifndef DLN_DEFINED</div><div class='del'>-    dln_notimplement();</div><div class='add'>+    rb_notimplement();</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> #endif /* USE_DLN_A_OUT */</div><div class='ctx'> #endif</div><div class='ctx'> #if !defined(_AIX) &amp;&amp; !defined(NeXT)</div><div class='ctx'>   failed:</div><div class='del'>-    dln_loaderror("%s - %s", error, file);</div><div class='add'>+    rb_loaderror("%s - %s", error, file);</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='add'>+#endif /* NO_DLN_LOAD */</div><div class='ctx'>     return 0;			/* dummy return */</div><div class='ctx'> }</div><div class='add'>+</div><div class='add'>+static char *dln_find_1();</div><div class='add'>+</div><div class='add'>+char *</div><div class='add'>+dln_find_exe(fname, path)</div><div class='add'>+    const char *fname;</div><div class='add'>+    const char *path;</div><div class='add'>+{</div><div class='add'>+    if (!path) {</div><div class='add'>+	path = getenv(PATH_ENV);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!path) {</div><div class='add'>+#if defined(MSDOS) || defined(_WIN32) || defined(__human68k__) || defined(__MACOS__)</div><div class='add'>+	path = "/usr/local/bin;/usr/ucb;/usr/bin;/bin;.";</div><div class='add'>+#else</div><div class='add'>+	path = "/usr/local/bin:/usr/ucb:/usr/bin:/bin:.";</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    return dln_find_1(fname, path, 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+char *</div><div class='add'>+dln_find_file(fname, path)</div><div class='add'>+    const char *fname;</div><div class='add'>+    const char *path;</div><div class='add'>+{</div><div class='add'>+#ifndef __MACOS__</div><div class='add'>+    if (!path) path = ".";</div><div class='add'>+    return dln_find_1(fname, path, 0);</div><div class='add'>+#else</div><div class='add'>+    if (!path) path = ".";</div><div class='add'>+    return _macruby_path_conv_posix_to_macos(dln_find_1(fname, path, 0));</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if defined(__CYGWIN32__)</div><div class='add'>+const char *</div><div class='add'>+conv_to_posix_path(win32, posix, len)</div><div class='add'>+    char *win32;</div><div class='add'>+    char *posix;</div><div class='add'>+    int len;</div><div class='add'>+{</div><div class='add'>+    char *first = win32;</div><div class='add'>+    char *p = win32;</div><div class='add'>+    char *dst = posix;</div><div class='add'>+</div><div class='add'>+    posix[0] = '\0';</div><div class='add'>+    for (p = win32; *p; p++)</div><div class='add'>+	if (*p == ';') {</div><div class='add'>+	    *p = 0;</div><div class='add'>+	    cygwin32_conv_to_posix_path(first, posix);</div><div class='add'>+	    posix += strlen(posix);</div><div class='add'>+	    *posix++ = ':';</div><div class='add'>+	    first = p + 1;</div><div class='add'>+	    *p = ';';</div><div class='add'>+	}</div><div class='add'>+    if (len &lt; strlen(first))</div><div class='add'>+	fprintf(stderr, "PATH length too long: %s\n", first);</div><div class='add'>+    else</div><div class='add'>+	cygwin32_conv_to_posix_path(first, posix);</div><div class='add'>+    return dst;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static char fbuf[MAXPATHLEN];</div><div class='add'>+</div><div class='add'>+static char *</div><div class='add'>+dln_find_1(fname, path, exe_flag)</div><div class='add'>+    char *fname;</div><div class='add'>+    char *path;</div><div class='add'>+    int exe_flag;		/* non 0 if looking for executable. */</div><div class='add'>+{</div><div class='add'>+    register char *dp;</div><div class='add'>+    register char *ep;</div><div class='add'>+    register char *bp;</div><div class='add'>+    struct stat st;</div><div class='add'>+#ifdef __MACOS__</div><div class='add'>+    const char* mac_fullpath;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    if (!fname) return fname;</div><div class='add'>+    if (fname[0] == '/') return fname;</div><div class='add'>+    if (strncmp("./", fname, 2) == 0 || strncmp("../", fname, 3) == 0)</div><div class='add'>+      return fname;</div><div class='add'>+    if (exe_flag &amp;&amp; strchr(fname, '/')) return fname;</div><div class='add'>+#ifdef DOSISH</div><div class='add'>+    if (fname[0] == '\\') return fname;</div><div class='add'>+# ifdef DOSISH_DRIVE_LETTER</div><div class='add'>+    if (strlen(fname) &gt; 2 &amp;&amp; fname[1] == ':') return fname;</div><div class='add'>+# endif</div><div class='add'>+    if (strncmp(".\\", fname, 2) == 0 || strncmp("..\\", fname, 3) == 0)</div><div class='add'>+      return fname;</div><div class='add'>+    if (exe_flag &amp;&amp; strchr(fname, '\\')) return fname;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    for (dp = path;; dp = ++ep) {</div><div class='add'>+	register int l;</div><div class='add'>+	int i;</div><div class='add'>+	int fspace;</div><div class='add'>+</div><div class='add'>+	/* extract a component */</div><div class='add'>+	ep = strchr(dp, PATH_SEP[0]);</div><div class='add'>+	if (ep == NULL)</div><div class='add'>+	    ep = dp+strlen(dp);</div><div class='add'>+</div><div class='add'>+	/* find the length of that component */</div><div class='add'>+	l = ep - dp;</div><div class='add'>+	bp = fbuf;</div><div class='add'>+	fspace = sizeof fbuf - 2;</div><div class='add'>+	if (l &gt; 0) {</div><div class='add'>+	    /*</div><div class='add'>+	    **	If the length of the component is zero length,</div><div class='add'>+	    **	start from the current directory.  If the</div><div class='add'>+	    **	component begins with "~", start from the</div><div class='add'>+	    **	user's $HOME environment variable.  Otherwise</div><div class='add'>+	    **	take the path literally.</div><div class='add'>+	    */</div><div class='add'>+</div><div class='add'>+	    if (*dp == '~' &amp;&amp; (l == 1 ||</div><div class='add'>+#if defined(DOSISH)</div><div class='add'>+			       dp[1] == '\\' || </div><div class='add'>+#endif</div><div class='add'>+			       dp[1] == '/')) {</div><div class='add'>+		char *home;</div><div class='add'>+</div><div class='add'>+		home = getenv("HOME");</div><div class='add'>+		if (home != NULL) {</div><div class='add'>+		    i = strlen(home);</div><div class='add'>+		    if ((fspace -= i) &lt; 0)</div><div class='add'>+			goto toolong;</div><div class='add'>+		    memcpy(bp, home, i);</div><div class='add'>+		    bp += i;</div><div class='add'>+		}</div><div class='add'>+		dp++;</div><div class='add'>+		l--;</div><div class='add'>+	    }</div><div class='add'>+	    if (l &gt; 0) {</div><div class='add'>+		if ((fspace -= l) &lt; 0)</div><div class='add'>+		    goto toolong;</div><div class='add'>+		memcpy(bp, dp, l);</div><div class='add'>+		bp += l;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    /* add a "/" between directory and filename */</div><div class='add'>+	    if (ep[-1] != '/')</div><div class='add'>+		*bp++ = '/';</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/* now append the file name */</div><div class='add'>+	i = strlen(fname);</div><div class='add'>+	if ((fspace -= i) &lt; 0) {</div><div class='add'>+	  toolong:</div><div class='add'>+	    fprintf(stderr, "openpath: pathname too long (ignored)\n");</div><div class='add'>+	    *bp = '\0';</div><div class='add'>+	    fprintf(stderr, "\tDirectory \"%s\"\n", fbuf);</div><div class='add'>+	    fprintf(stderr, "\tFile \"%s\"\n", fname);</div><div class='add'>+	    goto next;</div><div class='add'>+	}</div><div class='add'>+	memcpy(bp, fname, i + 1);</div><div class='add'>+</div><div class='add'>+#ifndef __MACOS__</div><div class='add'>+	if (stat(fbuf, &amp;st) == 0) {</div><div class='add'>+	    if (exe_flag == 0) return fbuf;</div><div class='add'>+	    /* looking for executable */</div><div class='add'>+	    if (!S_ISDIR(st.st_mode) &amp;&amp; eaccess(fbuf, X_OK) == 0)</div><div class='add'>+		return fbuf;</div><div class='add'>+	}</div><div class='add'>+#else</div><div class='add'>+	if (mac_fullpath = _macruby_exist_file_in_libdir_as_posix_name(fbuf)) {</div><div class='add'>+	    if (exe_flag == 0) return mac_fullpath;</div><div class='add'>+	    /* looking for executable */</div><div class='add'>+	    if (stat(mac_fullpath, &amp;st) == 0) {</div><div class='add'>+		if (!S_ISDIR(st.st_mode) &amp;&amp; eaccess(mac_fullpath, X_OK) == 0)</div><div class='add'>+		    return mac_fullpath;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+#endif</div><div class='add'>+#if defined(DOSISH)</div><div class='add'>+	if (exe_flag) {</div><div class='add'>+	    static const char *extension[] = {</div><div class='add'>+#if defined(MSDOS)</div><div class='add'>+		".com", ".exe", ".bat",</div><div class='add'>+#if defined(DJGPP)</div><div class='add'>+		".btm", ".sh", ".ksh", ".pl", ".sed",</div><div class='add'>+#endif</div><div class='add'>+#elif defined(__EMX__) || defined(_WIN32)</div><div class='add'>+		".exe", ".com", ".cmd", ".bat",</div><div class='add'>+/* end of __EMX__ or _WIN32 */</div><div class='add'>+#else</div><div class='add'>+		".r", ".R", ".x", ".X", ".bat", ".BAT",</div><div class='add'>+/* __human68k__ */</div><div class='add'>+#endif</div><div class='add'>+		(char *) NULL</div><div class='add'>+	    };</div><div class='add'>+	    int j;</div><div class='add'>+</div><div class='add'>+	    for (j = 0; extension[j]; j++) {</div><div class='add'>+		if (fspace &lt; strlen(extension[j])) {</div><div class='add'>+		    fprintf(stderr, "openpath: pathname too long (ignored)\n");</div><div class='add'>+		    fprintf(stderr, "\tDirectory \"%.*s\"\n", (int) (bp - fbuf), fbuf);</div><div class='add'>+		    fprintf(stderr, "\tFile \"%s%s\"\n", fname, extension[j]);</div><div class='add'>+		    continue;</div><div class='add'>+		}</div><div class='add'>+		strcpy(bp + i, extension[j]);</div><div class='add'>+#ifndef __MACOS__</div><div class='add'>+		if (stat(fbuf, &amp;st) == 0)</div><div class='add'>+		    return fbuf;</div><div class='add'>+#else</div><div class='add'>+		if (mac_fullpath = _macruby_exist_file_in_libdir_as_posix_name(fbuf))</div><div class='add'>+		    return mac_fullpath;</div><div class='add'>+</div><div class='add'>+#endif</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+#endif /* MSDOS or _WIN32 or __human68k__ or __EMX__ */</div><div class='add'>+</div><div class='add'>+      next:</div><div class='add'>+	/* if not, and no other alternatives, life is bleak */</div><div class='add'>+	if (*ep == '\0') {</div><div class='add'>+	    return NULL;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/* otherwise try the next component in the search path */</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if defined(__VMS)</div><div class='add'>+</div><div class='add'>+/* action routine for decc$to_vms */</div><div class='add'>+static int vms_fileact(char *filespec, int type)</div><div class='add'>+{</div><div class='add'>+    if (vms_filespec)</div><div class='add'>+	free(vms_filespec);</div><div class='add'>+    vms_filespec = malloc(strlen(filespec)+1);</div><div class='add'>+    strcpy(vms_filespec, filespec);</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* exception handler for LIB$FIND_IMAGE_SYMBOL */</div><div class='add'>+static long vms_fisexh(long *sigarr, long *mecarr)</div><div class='add'>+{</div><div class='add'>+    sys$unwind(1, 0);</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#endif /* __VMS */</div><div class='head'>diff --git a/dln.h b/dln.h<br/>index d98b2607e2..182cf9f9f4 100644<br/>--- a/<a href='/ruby.git/tree/dln.h?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dln.h</a><br/>+++ b/<a href='/ruby.git/tree/dln.h?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>dln.h</a></div><div class='hunk'>@@ -3,9 +3,10 @@</div><div class='ctx'>   dln.h -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='add'>+  $Date$</div><div class='ctx'>   created at: Wed Jan 19 16:53:09 JST 1994</div><div class='ctx'> </div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2003 Yukihiro Matsumoto</div><div class='ctx'> </div><div class='ctx'> **********************************************************************/</div><div class='ctx'> </div><div class='hunk'>@@ -28,24 +29,12 @@</div><div class='ctx'> # define _(args) ()</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-RUBY_SYMBOL_EXPORT_BEGIN</div><div class='del'>-</div><div class='del'>-#ifndef DLN_FIND_EXTRA_ARG</div><div class='del'>-#define DLN_FIND_EXTRA_ARG</div><div class='del'>-#endif</div><div class='del'>-#ifndef DLN_FIND_EXTRA_ARG_DECL</div><div class='del'>-#define DLN_FIND_EXTRA_ARG_DECL</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-char *dln_find_exe_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);</div><div class='del'>-char *dln_find_file_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);</div><div class='add'>+char *dln_find_exe _((const char*,const char*));</div><div class='add'>+char *dln_find_file _((const char*,const char*));</div><div class='ctx'> </div><div class='ctx'> #ifdef USE_DLN_A_OUT</div><div class='ctx'> extern char *dln_argv0;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='del'>-void *dln_load(const char*);</div><div class='del'>-</div><div class='del'>-RUBY_SYMBOL_EXPORT_END</div><div class='del'>-</div><div class='add'>+void *dln_load _((const char*));</div><div class='ctx'> #endif</div><div class='head'>diff --git a/dln_find.c b/dln_find.c<br/>deleted file mode 100644<br/>index b08612764e..0000000000<br/>--- a/<a href='/ruby.git/tree/dln_find.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dln_find.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,290 +0,0 @@</div><div class='del'>-/**********************************************************************</div><div class='del'>-</div><div class='del'>-  dln_find.c -</div><div class='del'>-</div><div class='del'>-  $Author$</div><div class='del'>-  created at: Tue Jan 18 17:05:06 JST 1994</div><div class='del'>-</div><div class='del'>-  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='del'>-</div><div class='del'>-**********************************************************************/</div><div class='del'>-</div><div class='del'>-#ifdef RUBY_EXPORT</div><div class='del'>-#include "ruby/ruby.h"</div><div class='del'>-#define dln_warning rb_warning</div><div class='del'>-#define dln_warning_arg</div><div class='del'>-#else</div><div class='del'>-#define dln_warning fprintf</div><div class='del'>-#define dln_warning_arg stderr,</div><div class='del'>-#endif</div><div class='del'>-#include "dln.h"</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_STDLIB_H</div><div class='del'>-# include &lt;stdlib.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef USE_DLN_A_OUT</div><div class='del'>-char *dln_argv0;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined(HAVE_ALLOCA_H)</div><div class='del'>-#include &lt;alloca.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_STRING_H</div><div class='del'>-# include &lt;string.h&gt;</div><div class='del'>-#else</div><div class='del'>-# include &lt;strings.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#if defined(_WIN32)</div><div class='del'>-#include "missing/file.h"</div><div class='del'>-#endif</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/stat.h&gt;</div><div class='del'>-</div><div class='del'>-#ifndef S_ISDIR</div><div class='del'>-#   define S_ISDIR(m) (((m) &amp; S_IFMT) == S_IFDIR)</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifdef HAVE_UNISTD_H</div><div class='del'>-# include &lt;unistd.h&gt;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if !defined(_WIN32) &amp;&amp; !HAVE_DECL_GETENV</div><div class='del'>-char *getenv();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-static char *dln_find_1(const char *fname, const char *path, char *buf, size_t size, int exe_flag</div><div class='del'>-			DLN_FIND_EXTRA_ARG_DECL);</div><div class='del'>-</div><div class='del'>-char *</div><div class='del'>-dln_find_exe_r(const char *fname, const char *path, char *buf, size_t size</div><div class='del'>-	       DLN_FIND_EXTRA_ARG_DECL)</div><div class='del'>-{</div><div class='del'>-    char *envpath = 0;</div><div class='del'>-</div><div class='del'>-    if (!path) {</div><div class='del'>-	path = getenv(PATH_ENV);</div><div class='del'>-	if (path) path = envpath = strdup(path);</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    if (!path) {</div><div class='del'>-	path =</div><div class='del'>-	    "/usr/local/bin" PATH_SEP</div><div class='del'>-	    "/usr/ucb" PATH_SEP</div><div class='del'>-	    "/usr/bin" PATH_SEP</div><div class='del'>-	    "/bin" PATH_SEP</div><div class='del'>-	    ".";</div><div class='del'>-    }</div><div class='del'>-    buf = dln_find_1(fname, path, buf, size, 1 DLN_FIND_EXTRA_ARG);</div><div class='del'>-    if (envpath) free(envpath);</div><div class='del'>-    return buf;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-char *</div><div class='del'>-dln_find_file_r(const char *fname, const char *path, char *buf, size_t size</div><div class='del'>-		DLN_FIND_EXTRA_ARG_DECL)</div><div class='del'>-{</div><div class='del'>-    if (!path) path = ".";</div><div class='del'>-    return dln_find_1(fname, path, buf, size, 0 DLN_FIND_EXTRA_ARG);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-static char *</div><div class='del'>-dln_find_1(const char *fname, const char *path, char *fbuf, size_t size,</div><div class='del'>-	   int exe_flag /* non 0 if looking for executable. */</div><div class='del'>-	   DLN_FIND_EXTRA_ARG_DECL)</div><div class='del'>-{</div><div class='del'>-    register const char *dp;</div><div class='del'>-    register const char *ep;</div><div class='del'>-    register char *bp;</div><div class='del'>-    struct stat st;</div><div class='del'>-    size_t i, fnlen, fspace;</div><div class='del'>-#ifdef DOSISH</div><div class='del'>-    static const char extension[][5] = {</div><div class='del'>-	EXECUTABLE_EXTS,</div><div class='del'>-    };</div><div class='del'>-    size_t j;</div><div class='del'>-    int is_abs = 0, has_path = 0;</div><div class='del'>-    const char *ext = 0;</div><div class='del'>-#endif</div><div class='del'>-    const char *p = fname;</div><div class='del'>-</div><div class='del'>-    static const char pathname_too_long[] = "openpath: pathname too long (ignored)\n\</div><div class='del'>-\tDirectory \"%.*s\"%s\n\tFile \"%.*s\"%s\n";</div><div class='del'>-#define PATHNAME_TOO_LONG() dln_warning(dln_warning_arg pathname_too_long, \</div><div class='del'>-					((bp - fbuf) &gt; 100 ? 100 : (int)(bp - fbuf)), fbuf, \</div><div class='del'>-					((bp - fbuf) &gt; 100 ? "..." : ""), \</div><div class='del'>-					(fnlen &gt; 100 ? 100 : (int)fnlen), fname, \</div><div class='del'>-					(fnlen &gt; 100 ? "..." : ""))</div><div class='del'>-</div><div class='del'>-#define RETURN_IF(expr) if (expr) return (char *)fname;</div><div class='del'>-</div><div class='del'>-    RETURN_IF(!fname);</div><div class='del'>-    fnlen = strlen(fname);</div><div class='del'>-    if (fnlen &gt;= size) {</div><div class='del'>-	dln_warning(dln_warning_arg</div><div class='del'>-		    "openpath: pathname too long (ignored)\n\tFile \"%.*s\"%s\n",</div><div class='del'>-		    (fnlen &gt; 100 ? 100 : (int)fnlen), fname,</div><div class='del'>-		    (fnlen &gt; 100 ? "..." : ""));</div><div class='del'>-	return NULL;</div><div class='del'>-    }</div><div class='del'>-#ifdef DOSISH</div><div class='del'>-# ifndef CharNext</div><div class='del'>-# define CharNext(p) ((p)+1)</div><div class='del'>-# endif</div><div class='del'>-# ifdef DOSISH_DRIVE_LETTER</div><div class='del'>-    if (((p[0] | 0x20) - 'a') &lt; 26  &amp;&amp; p[1] == ':') {</div><div class='del'>-	p += 2;</div><div class='del'>-	is_abs = 1;</div><div class='del'>-    }</div><div class='del'>-# endif</div><div class='del'>-    switch (*p) {</div><div class='del'>-      case '/': case '\\':</div><div class='del'>-	is_abs = 1;</div><div class='del'>-	p++;</div><div class='del'>-    }</div><div class='del'>-    has_path = is_abs;</div><div class='del'>-    while (*p) {</div><div class='del'>-	switch (*p) {</div><div class='del'>-	  case '/': case '\\':</div><div class='del'>-	    has_path = 1;</div><div class='del'>-	    ext = 0;</div><div class='del'>-	    p++;</div><div class='del'>-	    break;</div><div class='del'>-	  case '.':</div><div class='del'>-	    ext = p;</div><div class='del'>-	    p++;</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    p = CharNext(p);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    if (ext) {</div><div class='del'>-	for (j = 0; STRCASECMP(ext, extension[j]); ) {</div><div class='del'>-	    if (++j == sizeof(extension) / sizeof(extension[0])) {</div><div class='del'>-		ext = 0;</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    ep = bp = 0;</div><div class='del'>-    if (!exe_flag) {</div><div class='del'>-	RETURN_IF(is_abs);</div><div class='del'>-    }</div><div class='del'>-    else if (has_path) {</div><div class='del'>-	RETURN_IF(ext);</div><div class='del'>-	i = p - fname;</div><div class='del'>-	if (i + 1 &gt; size) goto toolong;</div><div class='del'>-	fspace = size - i - 1;</div><div class='del'>-	bp = fbuf;</div><div class='del'>-	ep = p;</div><div class='del'>-	memcpy(fbuf, fname, i + 1);</div><div class='del'>-	goto needs_extension;</div><div class='del'>-    }</div><div class='del'>-    p = fname;</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-    if (*p == '.' &amp;&amp; *++p == '.') ++p;</div><div class='del'>-    RETURN_IF(*p == '/');</div><div class='del'>-    RETURN_IF(exe_flag &amp;&amp; strchr(fname, '/'));</div><div class='del'>-</div><div class='del'>-#undef RETURN_IF</div><div class='del'>-</div><div class='del'>-    for (dp = path;; dp = ++ep) {</div><div class='del'>-	register size_t l;</div><div class='del'>-</div><div class='del'>-	/* extract a component */</div><div class='del'>-	ep = strchr(dp, PATH_SEP[0]);</div><div class='del'>-	if (ep == NULL)</div><div class='del'>-	    ep = dp+strlen(dp);</div><div class='del'>-</div><div class='del'>-	/* find the length of that component */</div><div class='del'>-	l = ep - dp;</div><div class='del'>-	bp = fbuf;</div><div class='del'>-	fspace = size - 2;</div><div class='del'>-	if (l &gt; 0) {</div><div class='del'>-	    /*</div><div class='del'>-	    **	If the length of the component is zero length,</div><div class='del'>-	    **	start from the current directory.  If the</div><div class='del'>-	    **	component begins with "~", start from the</div><div class='del'>-	    **	user's $HOME environment variable.  Otherwise</div><div class='del'>-	    **	take the path literally.</div><div class='del'>-	    */</div><div class='del'>-</div><div class='del'>-	    if (*dp == '~' &amp;&amp; (l == 1 ||</div><div class='del'>-#if defined(DOSISH)</div><div class='del'>-			       dp[1] == '\\' ||</div><div class='del'>-#endif</div><div class='del'>-			       dp[1] == '/')) {</div><div class='del'>-		char *home;</div><div class='del'>-</div><div class='del'>-		home = getenv("HOME");</div><div class='del'>-		if (home != NULL) {</div><div class='del'>-		    i = strlen(home);</div><div class='del'>-		    if (fspace &lt; i)</div><div class='del'>-			goto toolong;</div><div class='del'>-		    fspace -= i;</div><div class='del'>-		    memcpy(bp, home, i);</div><div class='del'>-		    bp += i;</div><div class='del'>-		}</div><div class='del'>-		dp++;</div><div class='del'>-		l--;</div><div class='del'>-	    }</div><div class='del'>-	    if (l &gt; 0) {</div><div class='del'>-		if (fspace &lt; l)</div><div class='del'>-		    goto toolong;</div><div class='del'>-		fspace -= l;</div><div class='del'>-		memcpy(bp, dp, l);</div><div class='del'>-		bp += l;</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    /* add a "/" between directory and filename */</div><div class='del'>-	    if (ep[-1] != '/')</div><div class='del'>-		*bp++ = '/';</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	/* now append the file name */</div><div class='del'>-	i = fnlen;</div><div class='del'>-	if (fspace &lt; i) {</div><div class='del'>-	  toolong:</div><div class='del'>-	    PATHNAME_TOO_LONG();</div><div class='del'>-	    goto next;</div><div class='del'>-	}</div><div class='del'>-	fspace -= i;</div><div class='del'>-	memcpy(bp, fname, i + 1);</div><div class='del'>-</div><div class='del'>-#if defined(DOSISH)</div><div class='del'>-	if (exe_flag &amp;&amp; !ext) {</div><div class='del'>-	  needs_extension:</div><div class='del'>-	    for (j = 0; j &lt; sizeof(extension) / sizeof(extension[0]); j++) {</div><div class='del'>-		if (fspace &lt; strlen(extension[j])) {</div><div class='del'>-		    PATHNAME_TOO_LONG();</div><div class='del'>-		    continue;</div><div class='del'>-		}</div><div class='del'>-		strlcpy(bp + i, extension[j], fspace);</div><div class='del'>-		if (stat(fbuf, &amp;st) == 0)</div><div class='del'>-		    return fbuf;</div><div class='del'>-	    }</div><div class='del'>-	    goto next;</div><div class='del'>-	}</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#ifndef S_ISREG</div><div class='del'>-# define S_ISREG(m) (((m) &amp; S_IFMT) == S_IFREG)</div><div class='del'>-#endif</div><div class='del'>-	if (stat(fbuf, &amp;st) == 0 &amp;&amp; S_ISREG(st.st_mode)) {</div><div class='del'>-	    if (exe_flag == 0) return fbuf;</div><div class='del'>-	    /* looking for executable */</div><div class='del'>-	    if (eaccess(fbuf, X_OK) == 0) return fbuf;</div><div class='del'>-	}</div><div class='del'>-      next:</div><div class='del'>-	/* if not, and no other alternatives, life is bleak */</div><div class='del'>-	if (*ep == '\0') {</div><div class='del'>-	    return NULL;</div><div class='del'>-	}</div><div class='del'>-</div><div class='del'>-	/* otherwise try the next component in the search path */</div><div class='del'>-    }</div><div class='del'>-}</div><div class='head'>diff --git a/dmydln.c b/dmydln.c<br/>index d05cda0b8e..09ea06806c 100644<br/>--- a/<a href='/ruby.git/tree/dmydln.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dmydln.c</a><br/>+++ b/<a href='/ruby.git/tree/dmydln.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>dmydln.c</a></div><div class='hunk'>@@ -1,10 +1,2 @@</div><div class='del'>-#include "ruby/ruby.h"</div><div class='del'>-</div><div class='del'>-NORETURN(void *dln_load(const char *));</div><div class='del'>-void*</div><div class='del'>-dln_load(const char *file)</div><div class='del'>-{</div><div class='del'>-    rb_loaderror("this executable file can't load extension libraries");</div><div class='del'>-</div><div class='del'>-    UNREACHABLE_RETURN(NULL);</div><div class='del'>-}</div><div class='add'>+#define NO_DLN_LOAD 1</div><div class='add'>+#include "dln.c"</div><div class='head'>diff --git a/dmyenc.c b/dmyenc.c<br/>deleted file mode 100644<br/>index 7e006e826c..0000000000<br/>--- a/<a href='/ruby.git/tree/dmyenc.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dmyenc.c</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,10 +0,0 @@</div><div class='del'>-#define require(name) ruby_require_internal(name, (unsigned int)sizeof(name)-1)</div><div class='del'>-int ruby_require_internal(const char *, int);</div><div class='del'>-</div><div class='del'>-void</div><div class='del'>-Init_enc(void)</div><div class='del'>-{</div><div class='del'>-    if (require("enc/encdb.so") == 1) {</div><div class='del'>-	require("enc/trans/transdb.so");</div><div class='del'>-    }</div><div class='del'>-}</div><div class='head'>diff --git a/dmyext.c b/dmyext.c<br/>index 4d273f7faf..4120d493c3 100644<br/>--- a/<a href='/ruby.git/tree/dmyext.c?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>dmyext.c</a><br/>+++ b/<a href='/ruby.git/tree/dmyext.c?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>dmyext.c</a></div><div class='hunk'>@@ -1,4 +1,4 @@</div><div class='ctx'> void</div><div class='del'>-Init_ext(void)</div><div class='add'>+Init_ext()</div><div class='ctx'> {</div><div class='ctx'> }</div><div class='head'>diff --git a/doc/.document b/doc/.document<br/>deleted file mode 100644<br/>index d739c9f6bc..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/.document?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/.document</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3 +0,0 @@</div><div class='del'>-*.rdoc</div><div class='del'>-NEWS-*</div><div class='del'>-syntax</div><div class='head'>diff --git a/doc/ChangeLog-0.06_to_0.52 b/doc/ChangeLog-0.06_to_0.52<br/>deleted file mode 100644<br/>index 63826081b3..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-0.06_to_0.52?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-0.06_to_0.52</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,1147 +0,0 @@</div><div class='del'>-Fri Oct 14 13:22:18 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.52: ……なんてこったい.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): returnの処理が間違っていたので, マシンによって</div><div class='del'>-	  はreturnで関数を終了するだけでなくtoplevelまでつき抜けていた.</div><div class='del'>-</div><div class='del'>-	* object.c: Builtinクラスを新設. 組み込み関数をKernelから移した.</div><div class='del'>-	  nilが組み込み関数を理解するとトラブルの元である.</div><div class='del'>-</div><div class='del'>-	* dbm.c: Dictと同様にeachが[key,value]を返すように.</div><div class='del'>-</div><div class='del'>-	* version 0.51</div><div class='del'>-</div><div class='del'>-Thu Oct 13 12:13:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(SETUP_ARGS): 付加演算子が配列でない時には配列に変換する.</div><div class='del'>-</div><div class='del'>-	* parse.y: 括弧なしのメソッド呼び出しでも`*'による付加引数が使える</div><div class='del'>-	  ようにした. ただし, 通常引数が一つもない場合は乗算演算子と区別が</div><div class='del'>-	  つかないので, 必ず括弧が必要.</div><div class='del'>-</div><div class='del'>-Wed Oct 12 10:09:07 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): キャッシュの計算をinline化. キャッシュミスがあ</div><div class='del'>-	  れば関数呼び出しでメソッドを検索する. methods.cはなくなった.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_eval): ローカル変数用の領域をalloca()するように変更.</div><div class='del'>-	  サイズの変更が必要になれば改めてmalloc()するように.</div><div class='del'>-</div><div class='del'>-	* parse.y: error recoveryの際にlex_stateを更新しておくように.</div><div class='del'>-</div><div class='del'>-Tue Oct 11 17:10:46 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* socket.c(for_fd): ファイル記述子(Fixnum)からソケットインスタンス</div><div class='del'>-	  を得るメソッド. たとえばinetdから起動されたサーバで標準入出力に</div><div class='del'>-	  ソケット操作を行なうために使う. つまりSocket.for_fd($stdin)で標</div><div class='del'>-	  準入力に対応するソケットオブジェクトが得られる.</div><div class='del'>-</div><div class='del'>-	* io.c(to_i): IOクラスのインスタンスを整数に変換するとそのファイル</div><div class='del'>-	  記述子を返すように.</div><div class='del'>-</div><div class='del'>-	* numeric.c(num2int): to_iメソッドを使ってできる限り整数に変換する.</div><div class='del'>-	  以前はnum2fixだけが全てのオブジェクトに対してto_iメソッドを適用</div><div class='del'>-	  していた.</div><div class='del'>-</div><div class='del'>-	* sprintf.c(Fsprintf): 整数表示の際, オブジェクトをできる限り整数</div><div class='del'>-	  に変換するように(to_iメソッドを使う).</div><div class='del'>-</div><div class='del'>-Fri Oct  7 14:06:32 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(Fcaller): 必要性がよく分からないのでドキュメントから削除.</div><div class='del'>-	  将来デバッガを作る時に復活させよう.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): Cで記述されたメソッド呼び出しでは環境をスタック</div><div class='del'>-	  にセーブしないことによって高速化.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 15:00:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby.h: 一時env.hに移動してたQselfの定義を復活. ただし今回は関数</div><div class='del'>-	  として実現(env.hでは変数として再定義してある).</div><div class='del'>-</div><div class='del'>-	* ruby.h: TRUEでsyntax errorにならないよう#undefを追加.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_eval): thread化に挑戦したが, 失敗(速くならなかった).</div><div class='del'>-	  が, Scopingなどの無駄なコードの削除とメソッド呼び出しの引数セッ</div><div class='del'>-	  トのinline化で若干の高速化を実現した. 副作用として, argc, argv形</div><div class='del'>-	  式の関数呼び出しの仕様が変化した(argvにselfを含まなくなった).</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): メソッド呼び出しの高速化.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 11:40:53 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby-mode.el: 修飾子に対応した.</div><div class='del'>-</div><div class='del'>-	* parse.y: 多重代入にrestをつけた. この機能を使えばoptional引数の</div><div class='del'>-	  解析が簡単にできる(はず).</div><div class='del'>-</div><div class='del'>-	* pack.c(unpack): uuencode形式のdecodeの際に文字列の長さが間違って</div><div class='del'>-	  いた.</div><div class='del'>-</div><div class='del'>-Mon Oct  3 15:58:41 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* file.c(type): ファイルタイプを文字列で返すメソッド.</div><div class='del'>-</div><div class='del'>-Fri Sep 30 11:36:07 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* object.c: デフォルトの真の値である%TRUEの値を1(Fixnum)からtに変</div><div class='del'>-	  更した. to_sで文字列に変換した時にも`t'と表示される. 更に踏み込</div><div class='del'>-	  んで`t'を予約語にしてlispのようにしようかとも思ったが, そこまで</div><div class='del'>-	  は決心できなかった. 一文字のローカル変数はかなり使いそうな気がす</div><div class='del'>-	  るので….</div><div class='del'>-</div><div class='del'>-	* array.c,dict.c: equalを再定義しているクラスで, hashを正しく定義</div><div class='del'>-	  した.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 23:30:28 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c(Ffail): 今までfailはカーネルクラスのメソッドであったが,</div><div class='del'>-	  構文に組み込んだ. この変更によって, 1)`fail'は予約語となり, ロー</div><div class='del'>-	  カル変数に用いることができなくなった. 2)`fail'単体で例外を発生す</div><div class='del'>-	  るようになった. 3)failはメソッドではなくなったので再定義される可</div><div class='del'>-	  能性がなくなった.</div><div class='del'>-</div><div class='del'>-	* dic.c, dbm.c(indexes): Arrayのindexesと同様の機能を持つメソッド</div><div class='del'>-	  を追加.</div><div class='del'>-</div><div class='del'>-	* array.c(indexes): 引数をインデックスとする要素の配列を返す. 整数</div><div class='del'>-	  の配列を引数とする時には引数の要素をインデックスとする要素の配列</div><div class='del'>-	  を返す.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 13:42:31 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* array.c(aset): 部分配列に対する代入で配列以外のオブジェクトが指</div><div class='del'>-	  定された場合に多重代入と同じルールで配列化するようにした.</div><div class='del'>-</div><div class='del'>-	* io.c(print): 引数として与えられた各オブジェクトにprint_onメッセー</div><div class='del'>-	  ジを与えるように. 実行速度は落ちるが柔軟性は増す.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 14:59:18 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* glob.c: ワイルドカードの導入. bashに使われているGNUのglobルーチ</div><div class='del'>-	  ンを流用した.</div><div class='del'>-</div><div class='del'>-Mon Sep 12 18:36:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(value_expr): 式がnilの時に対応.</div><div class='del'>-</div><div class='del'>-	* class.c: ICLASSのclassが必ずClass/Moduleを指すように.</div><div class='del'>-</div><div class='del'>-Tue Sep  6 16:23:28 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c:	正規表現内で「\数字」形式が指定できるように.</div><div class='del'>-</div><div class='del'>-	* parse.y:「do expr using var ... end」形式はなくなった. 寂しい気</div><div class='del'>-	  もする. *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-Mon Sep  5 10:59:01 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* numeric.c(next): Numericクラスにもnextを提供.</div><div class='del'>-</div><div class='del'>-	* string.c(upto): uptoを提供.</div><div class='del'>-</div><div class='del'>-	* range.c(each): nextを使ったインタフェースからuptoを使うように変</div><div class='del'>-	  更した. この方が一つのメソッドで処理をまとめで行なうことができる.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 15:25:39 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* dict.c(each): 戻り値を[key, value]のペアに変更. 今までのeachは</div><div class='del'>-	  each_valueとして残る. *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-Thu Sep  1 10:49:04 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 成功した(特別な戻り値を持たない)システムコールは`0'を返すように.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:26:51 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* string.c: チェックサムを得るメソッド`sum'を作った.</div><div class='del'>-</div><div class='del'>-	* class.c(include_class_new): ICLASSのclassをもとのクラスにした.</div><div class='del'>-	  gcの際に元クラスをマークする必要があるのが, フィールドを増やす余</div><div class='del'>-	  地が無いので, classフィールドを流用した. 私の見積りが間違ってい</div><div class='del'>-	  て, ICLASSのインスタンスにメッセージを送る事があれば, おかしな動</div><div class='del'>-	  作をするだろう.</div><div class='del'>-</div><div class='del'>-	* eval.c(masign): 式(a,b = nil)の値を[nil]からnilに変更した.</div><div class='del'>-</div><div class='del'>-Mon Aug 29 11:56:09 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* class.c: rb_define_mfuncを無くして, メタクラスにモジュールをイン</div><div class='del'>-	  クルードするようにした.</div><div class='del'>-</div><div class='del'>-	* error.c(yyerror): 同じ行で複数のsyntax errorをリポートしないよう</div><div class='del'>-	  にした.</div><div class='del'>-</div><div class='del'>-	* file.c: FileTestモジュールにファイルテストメソッドを分離した.</div><div class='del'>-</div><div class='del'>-	* parse.y: 演算子を指定する時のlex_stateを正しく設定した.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 01:23:34 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: if/whileなどの複合式をprimaryに移動した. これによって例</div><div class='del'>-	  えば「if cond then a else b end.message()」のような式が書けるよ</div><div class='del'>-	  うになった.</div><div class='del'>-</div><div class='del'>-Fri Aug 26 10:46:30 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* spec: 整理された文法にしたがって書き直した.</div><div class='del'>-</div><div class='del'>-	* parse.y: ここ数日で混乱していた文法を整理した. 括弧を省略したメ</div><div class='del'>-	  ソッド呼び出しができるようになったこと, modifierが付けられるよう</div><div class='del'>-	  になったこと, returnにリストが渡せるようになったことが主な変更点</div><div class='del'>-	  である.</div><div class='del'>-</div><div class='del'>-	* process周りが怪しいがとにかくSolaris 2.3で動くように.</div><div class='del'>-</div><div class='del'>-	* parse.y: 曖昧性がない場合にはメソッド呼び出しの引数の括弧を省略</div><div class='del'>-	  できるように. 省略できるメソッド呼び出しの条件は, 1)かならず1個</div><div class='del'>-	  以上の引数を必要とすること, 2)第1引数が`+', `-', `(', `[', `{',</div><div class='del'>-	  `/'など, 式の始まりに置かれた時と途中に現れた時とで解釈が違う記</div><div class='del'>-	  号で始まらないこと, である.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 13:54:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(cond): 条件式の展開部にbugがあった.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 00:01:15 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: returnはコンマで区切ったリストも受け取るように. つまり,</div><div class='del'>-	  return a, b, cはreturn [a, b, c]と同じ意味になる.</div><div class='del'>-</div><div class='del'>-	* parse.y: yield以外の大域脱出制御式をexprからexpr0に移した. よっ</div><div class='del'>-	  てメソッドの引数に制御式を使えなくなる(これで困る人はいないはず).</div><div class='del'>-</div><div class='del'>-	* parse.y: `+'の定数展開の際に演算子の優先順位を忘れていた.</div><div class='del'>-</div><div class='del'>-	* eval.c: untilの戻り値はnilになった.</div><div class='del'>-</div><div class='del'>-	* parse.y: modifierとしてのif/unless/while/untilを追加.</div><div class='del'>-</div><div class='del'>-	* parse.y: 文法からendの後ろにつけるキーワードを削除. ほとんど使わ</div><div class='del'>-	  なかった上に, emacsではruby-modeがあれば対応のチェックが機械的に</div><div class='del'>-	  出来るため.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 18:08:33 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: スクリプト実行開始前に例外が発生した時にcore dumpした.</div><div class='del'>-	  組み込み用にコードを変更した時にenbugしてしまった.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 00:07:17 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c: doの戻り値がいつもnilになっていた.</div><div class='del'>-</div><div class='del'>-	* parse.y: loop制御変数の多重代入化にbugがあった.</div><div class='del'>-</div><div class='del'>-	* parse.y(expand_op): 文字列も畳み込みの対象に.</div><div class='del'>-</div><div class='del'>-Mon Aug 22 10:50:01 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(expand_op): `+'に関しては結合則を使って, より多く定数畳</div><div class='del'>-	  み込みを行なうように.</div><div class='del'>-</div><div class='del'>-	* ruby.c(proc_options): argcが0の時にも対応.</div><div class='del'>-</div><div class='del'>-	* parse.y: forなどの制御変数に多重代入も使えるように.</div><div class='del'>-</div><div class='del'>-Sat Aug 20 00:59:40 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y(call_op): 演算子`~'の取り扱いをルール部へ移動.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 11:44:13 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* main.c: rubyをほかのプログラムに組み込めるようにmain()を分割した.</div><div class='del'>-	  それにともない, プログラムの呼び出し構造を修正した.</div><div class='del'>-</div><div class='del'>-	* parse.y: 条件式の定義を変更. ifなどの条件式の中でだけ`&amp;&amp;'や`||'</div><div class='del'>-	  および`!'の引数が条件式になるように. この変更により条件式以外の</div><div class='del'>-	  場所での `&amp;&amp;', `||', `!'演算子の動作が直観に一致する.</div><div class='del'>-</div><div class='del'>-	* parse.y: 実引数の`*'の後に続く引数はexprに制限した. 今までは全て</div><div class='del'>-	  の文が有効であったが, ここで定義文があってもしょうがない.</div><div class='del'>-</div><div class='del'>-Thu Aug 18 10:21:45 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c: 正規表現ルーチンの初期化部分を削除してしまっていた. これで</div><div class='del'>-	  はemacsの正規表現になってしまう.</div><div class='del'>-</div><div class='del'>-	* version.c: copyright表示を追加.</div><div class='del'>-</div><div class='del'>-	* version.c: バージョン表示をstderrに.</div><div class='del'>-</div><div class='del'>-	* configure.in: gccがない場合testに失敗していた.</div><div class='del'>-</div><div class='del'>-Fri Aug 12 14:12:23 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* array.c(astore): 配列の拡大する時にある程度の大きさをまとめて拡</div><div class='del'>-	  大するように.</div><div class='del'>-</div><div class='del'>-	* io.c(Fprint): 配列に対しては一度文字列に変換することなく, 直接内</div><div class='del'>-	  容を出力するように.</div><div class='del'>-</div><div class='del'>-	* string.c(str_new): memmoveからmemcpyへ置き換えた. これでもかなり</div><div class='del'>-	  速度が違う.</div><div class='del'>-</div><div class='del'>-	* ruby.h: データメンバの取り出しで名前を文字列からIDで指定するよう</div><div class='del'>-	  にした. かなりの高速化になる.</div><div class='del'>-</div><div class='del'>-	* io.c: $ARGFという変数で引数列からなる仮想ファイルをオブジェクト</div><div class='del'>-	  として扱えるようにした. 今まではトップレベルのgets()などを使って</div><div class='del'>-	  アクセスしていたが, どうもオブジェクト指向的ではなかった.</div><div class='del'>-</div><div class='del'>-Thu Aug 11 11:43:15 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* gc.c: mark_location()の間違った呼び出し方の行が残っていた.</div><div class='del'>-</div><div class='del'>-	* method.c: プロトタイプ宣言が足りなかった.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 15:54:46 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* variable.c: -vオプションが指定されている時は初期化されていない,</div><div class='del'>-	  大域変数, インスタンス変数, ローカル変数を参照した時点でwarning</div><div class='del'>-	  を出すようにした.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 11:50:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* bignum.c: 冪乗に関しても多倍長演算を行なうように. 特に浮動小数点</div><div class='del'>-	  数の範囲を越えた時の処理を的確に行なうように.</div><div class='del'>-</div><div class='del'>-	* eval.c: メソッド定義後は構文木から, メソッド定義部分を外す. 無駄</div><div class='del'>-	  な再定義が起こらないようにするためと2重にfree()されないため.</div><div class='del'>-</div><div class='del'>-	* array.c(Fary_aref): 引数が1つでFixnumの時, Range checkを行なわな</div><div class='del'>-	  いように修正.</div><div class='del'>-</div><div class='del'>-	* eval.c: メソッドの引数の数をコンパイル時に計算して若干の高速化.</div><div class='del'>-</div><div class='del'>-Mon Aug  8 13:06:24 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* object.c: nilによる比較連鎖をなくした.</div><div class='del'>-</div><div class='del'>-	* parse.y: bit演算子の優先順位を比較演算子よりも強くした.  Cとは異</div><div class='del'>-	  なることになるが, 直観には合致する.</div><div class='del'>-</div><div class='del'>-	* gc.c: クラスを解放する時, 個々のメソッド毎にキャッシュをクリアす</div><div class='del'>-	  るのではなく, クラス単位でクリアするように.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 18:45:09 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* methods.c(method_free): 解放されたメソッドに関してキャッシュをク</div><div class='del'>-	  リアしておく必要があった.</div><div class='del'>-</div><div class='del'>-	* gc.c: Dataクラスのデータ部分をfree()し忘れていた.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 09:58:14 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: def func .. end形式による関数メソッドの定義はなくなった.</div><div class='del'>-</div><div class='del'>-	* methods.c: func形式のメソッドをなくした. あっても, あまり意味が</div><div class='del'>-	  ないので.</div><div class='del'>-</div><div class='del'>-	* eval.c: $0への代入でps(1)の出力が変化するように.</div><div class='del'>-</div><div class='del'>-	* io.c(Fsyscall): syscall()を実現.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 13:41:11 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: ダブルクォートで囲まれた文字列や正規表現中で"#{変数名}"</div><div class='del'>-	  または"#変数名"という形式で変数の内容を埋め込むことができるよう</div><div class='del'>-	  になった.</div><div class='del'>-</div><div class='del'>-	* io.c: 関数メソッドsystem2()はなくなった. 今はバッククォートがあ</div><div class='del'>-	  るからね.</div><div class='del'>-</div><div class='del'>-	* parse.y: `cmd`によってコマンドを文字列に展開することができるよう</div><div class='del'>-	  になった.</div><div class='del'>-</div><div class='del'>-	* parse.y: __FILE__, __LINE__を追加. それぞれファイル名(文字列),</div><div class='del'>-	  行番号(整数)を値とする疑似変数.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 13:16:07 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* methods.h: メソッドをオブジェクトとして扱うのをやめる. メソッド</div><div class='del'>-	  のメモリ管理にはリファレンスカウントを使うことにした. これでオブ</div><div class='del'>-	  ジェクトの数が減ってほんの少しだけGCが速くなる(かな).</div><div class='del'>-</div><div class='del'>-	* purifyによってメモリ関係のバグを検査した(見つかる,見つかる…).</div><div class='del'>-</div><div class='del'>-	* gc.c: GCをプログラマが変数をマークする形式から, スタックとレジス</div><div class='del'>-	  タからマークする方法に変更. 移植性が下がるような気もするが, siod</div><div class='del'>-	  やscmでも採用されているから多分大丈夫だろう. Linux on i486でも動</div><div class='del'>-	  作を確認した.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 16:13:13 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(Eval): トップレベルでは構造木をfreeしないように. どうせ解</div><div class='del'>-	  放されるから時間の無駄である.</div><div class='del'>-</div><div class='del'>-	* array.c, dict.c: "=="を構造一致に変更.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 10:14:09 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* error.c: 組み込みタイプの名前を登録し忘れていた.</div><div class='del'>-</div><div class='del'>-Thu Jul 21 14:06:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(freenode),eval.c(Eval): 解析木を解放し忘れていた.</div><div class='del'>-</div><div class='del'>-Mon Jul 18 10:19:15 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: 多重代入を処理するルールにバグがあって, 3要素以上の多重</div><div class='del'>-	  代入に失敗していた.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_eval): 多重代入で, 右辺が配列でない時には`to_a'メソッ</div><div class='del'>-	  ドで配列に変換して代入するようにした. 今までの仕様だと右辺値が第</div><div class='del'>-	  1要素にそのまま代入されていたが, structなど配列に変換できるもの</div><div class='del'>-	  は変換した方が嬉しい気がする.</div><div class='del'>-</div><div class='del'>-	* dbm.c,dict.c(delete_if): メソッド追加.</div><div class='del'>-</div><div class='del'>-	* process.c(wait,waitpid): システムコールwaitpidまたはwait4がある</div><div class='del'>-	  時はそちらを使うように. configureもそれらをチェックするように変更.</div><div class='del'>-</div><div class='del'>-	* dbm.c, dict.c(clear): メソッド追加.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 10:54:45 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* array.c(Fary_fill,Fary_clear): メソッドを追加.</div><div class='del'>-</div><div class='del'>-	* string.c(Fstr_split): $;の値が長さ1の文字列である時, これを正規</div><div class='del'>-	  表現化しないで, 単なる文字として分割する.</div><div class='del'>-</div><div class='del'>-	* string.c(Fstr_aset/Fstr_aref): インデックスが文字列の範囲外だっ</div><div class='del'>-	  た時の動作をArrayを参考に修正した.</div><div class='del'>-</div><div class='del'>-	* array.c(astore,Fary_aset): 領域をreallocした後, ゼロでクリアする</div><div class='del'>-	  ように. 今まで配列にゴミが入っていた.</div><div class='del'>-</div><div class='del'>-	* array.c: []/[]=でのインデックス関係を整理. 基本的に負のインデッ</div><div class='del'>-	  クスに代入しない限り例外は起きないように変更した. 必要に応じて適</div><div class='del'>-	  当に解釈して, 必要ならば領域を拡張するように.</div><div class='del'>-</div><div class='del'>-Thu Jul 14 11:18:07 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* autoexec.c: 削除. autoload関係の機能は今後検討しよう.</div><div class='del'>-</div><div class='del'>-	* dict.c: 辞書クラスの正式名称をDictに変更した. 別名としてHashを用</div><div class='del'>-	  意した. 今までDictionaryなどと長い名前にしていたが誰も使っていな</div><div class='del'>-	  かったしね. *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-	* parse.y: Dictを生成する構文を追加. こちらを{..}にした.</div><div class='del'>-</div><div class='del'>-	* parse.y: 配列を生成する構文を[..]に変更した. 過去のRubyスクリプ</div><div class='del'>-	  トとの互換性が保てないが, Dictを生成する構文を導入するに当たり,</div><div class='del'>-	  perl5に合わせて(意識して), 変更する時期は今しかないと考えた.</div><div class='del'>-	  *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-	* eval.c(Feval): eval()でメソッドを定義する時, 定義されるクラスを</div><div class='del'>-	  メソッドの所属するクラスにした. 今まではObjectクラスに定義されて</div><div class='del'>-	  いた.</div><div class='del'>-</div><div class='del'>-	* parse.y: ローカル引数がない時のeval()で落ちていた.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 09:41:28 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* pack.c: uuencode形式のサポート.</div><div class='del'>-</div><div class='del'>-	* `-0'を`-R'に. 出力レコードセパレータをコマンドラインから指定する</div><div class='del'>-	  方法はなくなった. どうも, 仕様がゆれるなあ.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 09:51:24 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby.c: `-r'オプションは`-0'オプションになった. 当面は`-r'も有効</div><div class='del'>-	  だが変更される可能性がある. `-R'は当面はそのまま.</div><div class='del'>-</div><div class='del'>-	* version.c: version表示に日付を含めた.</div><div class='del'>-</div><div class='del'>-	* parse.y: private methodの復活. RubyのprivateメソッドはC++におけ</div><div class='del'>-	  るprotected methodに該当するもので, `@'で始まる名前を持つ.</div><div class='del'>-</div><div class='del'>-	* env.h: struct ENVIRONの定義を分離.</div><div class='del'>-</div><div class='del'>-	* parse.y: `\$var', `\@var', `%var'も許すように.</div><div class='del'>-</div><div class='del'>-	* variable.c(Fdefined): idも引数として受け付けるように.</div><div class='del'>-</div><div class='del'>-	* parse.y: if文/unless文にキーワードthenを追加. thenなしというのは,</div><div class='del'>-	  意外と間違いが多いので. もちろん省略できる.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 02:16:04 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_eval): class/moduleの評価で新しいスコープを割り当てて</div><div class='del'>-	  いなかった. スコープ割り当て部分をrb_call()からrb_eval()に移した.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): realloc()に渡される事のある, ローカル変数用の領</div><div class='del'>-	  域をalloca()していた. たまに落ちるわけだ.</div><div class='del'>-</div><div class='del'>-	* string.c(Fstr_times): 割り当てた領域を越えた部分を変更していた.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 15:52:42 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* socket.c: Socket -&gt; BasicSocket, RawSocket -&gt; Socket に改名.</div><div class='del'>-</div><div class='del'>-	* string.c(ucfirst,lcfirst): 最初の1文字だけの大文字/小文字変換.</div><div class='del'>-</div><div class='del'>-	* numeric.c(chr): 整数の文字列化メソッド.</div><div class='del'>-</div><div class='del'>-	* inits.c, dbm.c: DBMが使えない時はクラスそのものを定義しないよう</div><div class='del'>-	  にした.  利用できないクラスはnilとすることを今後のポリシーとしよ</div><div class='del'>-	  う(いままではアクセスした時点でエラーが発生していた). autoexec()</div><div class='del'>-	  のあり方も検討が必要になりそうだ.</div><div class='del'>-</div><div class='del'>-	* bignum.c(bigadd): バグ修正.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 11:12:18 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(Fload,Feval): eval_treeをクリアし忘れていた.</div><div class='del'>-</div><div class='del'>-	* _inspect: オブジェクトを可読形式の文字列に変換する(主にデバッグ</div><div class='del'>-	  出力用).</div><div class='del'>-</div><div class='del'>-Wed Jul  6 00:57:18 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* numeric.c, bignum.c: 整数に対する`[]'演算子. nビット目がセットさ</div><div class='del'>-	  れているかどうかを返す.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 12:48:39 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* io.c(Feof): 追加. コマンドラインからなる仮想ファイルについても</div><div class='del'>-	  EOFが検出できるように.</div><div class='del'>-</div><div class='del'>-	* ruby.c: -l/-r/-R/-Xオプションの追加.</div><div class='del'>-</div><div class='del'>-	* ruby.c: -n/-pオプションのloopの付加などをメインルーチンに移動し</div><div class='del'>-	  た. これで, オプションの解析途中で(`-c'オプションのせいで)終了な</div><div class='del'>-	  どといったことはない.</div><div class='del'>-</div><div class='del'>-	* io.c(Fgets): 高速化. 凝ったことをしない方が速かった. 虚しい.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 15:55:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* Socket:getsockname/getpeername - ようやく仕様が安定した.</div><div class='del'>-</div><div class='del'>-	* io.c(Fgets): eachでgetsを記述するのではなく, getsでeachを記述す</div><div class='del'>-	  るようにした.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 10:35:49 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* $ENV[env] = nil/$ENV.delete(env)で環境変数を削除できるようになっ</div><div class='del'>-	  た. $ENV.deleteは環境変数の以前の値を返す.</div><div class='del'>-</div><div class='del'>-	* !~の定義が間違っていた.</div><div class='del'>-</div><div class='del'>-	* Dict,DBM:[]= - nilの代入によって要素を削除できるようになった. こ</div><div class='del'>-	  れにともないnilはDictの要素になれなくなった.</div><div class='del'>-</div><div class='del'>-	* ソースの整理. 盲腸のような使われていないコードをなくしたり, 変数</div><div class='del'>-	  名を付け変えたりした.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 00:21:29 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* Array:join() - 要素数0の配列に対して空文字列を返す.</div><div class='del'>-</div><div class='del'>-	* RawSocket:open(),socketpair() - 文字列で指定できるドメインとタイ</div><div class='del'>-	  プをいくつか追加した.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 13:51:29 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* -fオプションをなくした. 昔(loadのなかった頃)の名残なので, 今となっ</div><div class='del'>-	  ては必要ないだろう.</div><div class='del'>-</div><div class='del'>-	* -sオプションを追加. perlの-sオプションと同じ動きをする.</div><div class='del'>-</div><div class='del'>-	* RawSocketクラスを提供する. Socketに対するシステムコールレベルの</div><div class='del'>-	  アクセスが可能になった.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 00:27:19 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* Socket - bug fixes.</div><div class='del'>-</div><div class='del'>-	* linuxではsyscall(SYS_select)が正常に動作しない.</div><div class='del'>-</div><div class='del'>-	* Socket:addr,peeraddr - 配列としてsockaddrの情報を返す.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 00:14:20 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* Socket:setopt,getopt - setsockopt(2), getsockopt(2)へのアクセス</div><div class='del'>-	  を実現.</div><div class='del'>-</div><div class='del'>-	* sprintf() - rubyにはunsignedは無いので, %uを取り除いた.</div><div class='del'>-</div><div class='del'>-	* sprintf() - %b, %x, %oでは2の補数表現, %B, %X, %Oでは符号付き表</div><div class='del'>-	  現で出力するように. ここ数日でsprintf()の仕様がゆらいでいたが,</div><div class='del'>-	  これで落ち着きそうだ.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 14:42:03 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* Bignum:&lt;&lt;,&gt;&gt; - 2の補数をとる処理を除いた. シフト演算には関係ない</div><div class='del'>-	  処理だった.</div><div class='del'>-</div><div class='del'>-	* Bignum:^ - bug fix. 符合が反対だった.</div><div class='del'>-</div><div class='del'>-	* sprintf() - 2進出力子"%b"を追加.</div><div class='del'>-</div><div class='del'>-	* sprintf() - %x, %oでFixnumを出力する時, 2の補数表示を行なわない.</div><div class='del'>-</div><div class='del'>-	* sprintf() - %x, %oはやはり負の数の時は`-'を出力するように.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 14:56:13 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* sprintf() - Bignumについても%d, %oは(2の補数表現に変換して)正の</div><div class='del'>-	  整数を表示するようにした.</div><div class='del'>-</div><div class='del'>-	* Bignumに対する論理演算の定義を修正した. 負の数は2の補数表現であ</div><div class='del'>-	  るとみなし, かつ仮想的に左側に無限に1が連続しているような演算結</div><div class='del'>-	  果を得る.</div><div class='del'>-</div><div class='del'>-	* Fixnum:&lt;&lt;,&gt;&gt; - 符合付シフトに変更.</div><div class='del'>-</div><div class='del'>-	* Bignum:&gt;&gt; - 負の整数のシフトに対応した.</div><div class='del'>-</div><div class='del'>-	* __END__, ^D, ^Zでスクリプトを終了できる.</div><div class='del'>-</div><div class='del'>-	* -xオプションを追加. #! ..rubyなる行まで読み飛ばす.</div><div class='del'>-</div><div class='del'>-	* -cオプションを追加. コンパイルのみを行う.</div><div class='del'>-</div><div class='del'>-Sat Jun 25 01:37:21 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* Fixnum:&lt;&lt; - 必要に応じてBignumに拡張して左シフトするように. よっ</div><div class='del'>-	  て, シフト幅が32を越えるとCやPerlとは違った値を返す.</div><div class='del'>-</div><div class='del'>-Fri Jun 24 10:01:28 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ioctl()/fcntl() - システムコールを呼び出す前にバッファの大きさを</div><div class='del'>-	  調節するようにした.</div><div class='del'>-</div><div class='del'>-	* String:toupper/tolower - 文字列を置き換えたコピーを作るのではな</div><div class='del'>-	  く, 元の文字列の内容を変更するようにした.</div><div class='del'>-</div><div class='del'>-	* inplace editを実現した. perlと同じように`-i'オプションで指定する.</div><div class='del'>-	  もっとも, こちらはMS-DOSのこととか考えてないけど.</div><div class='del'>-</div><div class='del'>-	* デフォルトの出力先を追加した. 今までは$stdoutに代入するしか方法</div><div class='del'>-	  はなかった.</div><div class='del'>-</div><div class='del'>-Fri Jun 17 10:55:08 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 環境変数にアクセスする方法としてgetenv()/setenv()以外に$ENVを用</div><div class='del'>-	  意した. $ENVは文字列-文字列の辞書であるかのように動作するEnvDict</div><div class='del'>-	  オブジェクトが代入されている(eachはassocを与える).</div><div class='del'>-</div><div class='del'>-	* nilに代入するとcore dumpした. コンパイル時のチェックを強化.</div><div class='del'>-</div><div class='del'>-	* Struct: struct_new()の引数をGCプロテクトする必要がある. せめてス</div><div class='del'>-	  タック領域だけでもスキャンできるようにしなければいけないんだろう</div><div class='del'>-	  か? でも, 移植性がなあ.</div><div class='del'>-</div><div class='del'>-Fri Jun 17 01:01:46 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* Time::asctime() - 日付のフォーマットで日が落ちていた.</div><div class='del'>-</div><div class='del'>-	* Stat: StatはEtcなどと同様にStructで実現したので, Statクラスは無</div><div class='del'>-	  くなった.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 10:32:23 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* bignum.c: いくつかのバグを修正した. Fixnumを渡すべきところで普通</div><div class='del'>-	  のintを渡していた. 失敗.</div><div class='del'>-</div><div class='del'>-	* big2str() - 1桁ずつbaseで割る代わりに, 4桁ずつ割算を行なうように</div><div class='del'>-	  した. これで多倍長割算の回数が1/4になる. さらに整数-&gt;数(文字)へ</div><div class='del'>-	  の変換をテーブルを用いるようにした.</div><div class='del'>-</div><div class='del'>-	* rb_ivar_get_1() - すでに何らかのインスタンス変数を持つオブジェク</div><div class='del'>-	  トでは, 未定義のインスタンス変数の値が不定値になっていた.</div><div class='del'>-</div><div class='del'>-	* yylex() - インスタンス変数の認識に失敗していた. attr()は正しく動</div><div class='del'>-	  作していたので, 混用すると動作しなかった. 全部違っていたから動い</div><div class='del'>-	  ていたのね.</div><div class='del'>-</div><div class='del'>-	* Object:attr() - すでにアクセスメソッドが定義されている時にはデフォ</div><div class='del'>-	  ルトのアクセスメソッドを定義しないようにした. もっともアクセスメ</div><div class='del'>-	  ソッドと同名のメソッドの区別はRubyには存在しないけど, それは仕方</div><div class='del'>-	  がないよね.</div><div class='del'>-</div><div class='del'>-	* pack.c: エンディアンをautoconfで判定するようにしたので, v/Vが使</div><div class='del'>-	  えるようになった. またntoh?()/hton?()も自前で用意した.</div><div class='del'>-</div><div class='del'>-	* Stat: st_rdevをアクセスするメソッドを追加. さらにシステムがstat</div><div class='del'>-	  構造体にst_blksize, st_blockを持っているかをautoconfでチェックす</div><div class='del'>-	  るようにした.</div><div class='del'>-</div><div class='del'>-	* ドキュメントを少し整備した.</div><div class='del'>-</div><div class='del'>-	* INT2FIX()のうち, 31bit幅が保証できないものは, int2inum()に置き換</div><div class='del'>-	  えた.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 10:18:27 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* sprintf() - bignumの出力の時, 出力幅を正しく計算するようにした.</div><div class='del'>-</div><div class='del'>-	* str2inum() - baseが0の時, baseを自動判定するように(0xで始まる時</div><div class='del'>-	  16 進, 0で始まる時8進).</div><div class='del'>-</div><div class='del'>-Tue Jun 14 16:08:42 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* gc.c: Bignum型を追加するのを忘れていた. 組み込み型を追加した時に</div><div class='del'>-	  は必ずmark()とsweep()にその型に関する処理を追加する必要がある.</div><div class='del'>-</div><div class='del'>-	* bignum: 割算も動いたような気がする. アルゴリズムを理解していない</div><div class='del'>-	  ので, 自信がない.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 14:36:55 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* まだサポートしていないメソッドなどがあるが, 曲がりなりにもBignum</div><div class='del'>-	  が使えるようになる. これでioctlも使える.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 17:26:42 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* Comparable: 基礎となるメソッドを`=='と`&gt;'から`&lt;=&gt;'に変更した. 今</div><div class='del'>-	  後Comparableのサブクラスは`&lt;=&gt;'だけを再定義する必要がある.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 13:12:18 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* Need_Fixnum()をほとんどなくして, NUM2INT()で直接intに変換するこ</div><div class='del'>-	  とにした. これで31bitに丸めて桁落ちをおこす問題がなくなる.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 09:45:31 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby.h: マクロFIXABLE(n)を追加. ついでにFIXNUM周りの定義を変更し</div><div class='del'>-	  て, 移植性を高めた(つもり).</div><div class='del'>-</div><div class='del'>-	* C++の予約語であるnewを削除した. しかし, もうひとつの予約語である</div><div class='del'>-	  classに関しては, 置き換える単語が思いつかないこともあってそのま</div><div class='del'>-	  まになっている.</div><div class='del'>-</div><div class='del'>-	* 31bitを越えそうなINT2FIX()を関数呼び出しに変えた. 将来bignumが導</div><div class='del'>-	  入された時には自動的にbignumを返すようにする.</div><div class='del'>-</div><div class='del'>-	* readline() - 引数の`-'は標準入力を意味するようになった.</div><div class='del'>-</div><div class='del'>-	* ruby.h: 右シフトが論理シフトか算術シフトかは処理系依存のようなの</div><div class='del'>-	  で, ruby.hでcppを使ってチェックするようにした. これでうまくいく</div><div class='del'>-	  と思うのだが, 手元に符合付intを論理シフトする処理系がないので確</div><div class='del'>-	  認できない. NEWS-OSのCCは確か右シフトはいつも論理シフトだったよ</div><div class='del'>-	  うな気がするんだけど….</div><div class='del'>-</div><div class='del'>-Mon Jun  6 10:10:22 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* FIX2INT()の定義を変更した. どうして昔はうまく動かなかったんだろ</div><div class='del'>-	  うか? もしかして, 右シフトの符号拡張は処理系依存?</div><div class='del'>-</div><div class='del'>-	* FIX2INT()とFIX2UINT()を使い分けるようにした. もっともfixnumは31</div><div class='del'>-	  ビットしかないので, 本質的な解決にはならないのだが(ioctlが組み込</div><div class='del'>-	  みたかった).</div><div class='del'>-</div><div class='del'>-	* printを関数的メソッドから通常メソッドに変更. 引数が与えられない</div><div class='del'>-	  時にはレシーバをプリントするようにした. これでprintをメッセージ</div><div class='del'>-	  形式でも実行できるようになった. 例:</div><div class='del'>-</div><div class='del'>-		ruby -e 'readlines().sort.print'</div><div class='del'>-</div><div class='del'>-	  上のスクリプトは, 引数として与えられた(あるいは標準入力から読み</div><div class='del'>-	  込まれた)文字列を各行毎にソートして表示する.</div><div class='del'>-</div><div class='del'>-	* eval.c: argc,argvパターンで引数を受けるメソッドに引数が一つも与</div><div class='del'>-	  えられない時, argvがnilになっていた(argv[0]にアクセスすると落ち</div><div class='del'>-	  てしまう).</div><div class='del'>-</div><div class='del'>-	* _exit()を追加. こちらは例外処理など行なわない.</div><div class='del'>-</div><div class='del'>-	* dbmクラス: クラス名称をDBM(大文字)に統一した.</div><div class='del'>-</div><div class='del'>-Sat Jun  4 00:51:04 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* ループ変数にも属性や配列要素を指定できるようにした.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 09:49:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 多重代入において, 属性代入, 配列要素への代入も行なえるようにした.</div><div class='del'>-</div><div class='del'>-	* Need_Fixnum(): nilを0に変換するように.</div><div class='del'>-</div><div class='del'>-	* Enumerable:min, max, index, includes - 追加. min, maxは要素が</div><div class='del'>-	  `&lt;=&gt;'メソッドを持つことを仮定している.</div><div class='del'>-</div><div class='del'>-	* Dict/Dbm:length - 要素数を返すメソッド.</div><div class='del'>-</div><div class='del'>-	* Dbmクラスにto_aメソッドを追加.</div><div class='del'>-</div><div class='del'>-	* Sunにおけるsortの誤動作の件, 昨日の修正でfixされた. しかし, それ</div><div class='del'>-	  でなぜ動かなかったのかは明らかではないが…. 比較関数がどんな値を</div><div class='del'>-	  返しても指定した領域外をアクセスするのはバグではないか.</div><div class='del'>-</div><div class='del'>-	* ファイルの全内容を読んで, 各行を配列として返すメソッドはpythonを</div><div class='del'>-	  参考にして`readlines'という名前にした. それにともないgetsに対し</div><div class='del'>-	  てreadlineという別名を用意した.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 00:08:38 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* Array:sort - 判別関数の戻り値はFixnumではなく, Intであるべきだっ</div><div class='del'>-	  た. 間違い. Sunで動作がおかしかったのはこのせいかも知れない.</div><div class='del'>-</div><div class='del'>-Thu Jun  2 11:48:37 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* IO:read_all() - ストリームの最後まで入力して, 各行を要素とする配</div><div class='del'>-	  列を返すメソッドを追加. また関数メソッド read_all()も追加した.</div><div class='del'>-  	  これは引数のファイルから読み込んで各行を要素とする配列を返す. 意</div><div class='del'>-	  味的には</div><div class='del'>-</div><div class='del'>-		def read_all()</div><div class='del'>-	  	  ary = {}</div><div class='del'>-	  	  while gets()</div><div class='del'>-		    ary.push($_)</div><div class='del'>-		  end</div><div class='del'>-		end</div><div class='del'>-</div><div class='del'>-	  とほぼ等価である.</div><div class='del'>-</div><div class='del'>-	* String:atoiメソッドを削除. to_aメソッドからaが配列であるとの連想</div><div class='del'>-	  を呼んで, 混乱を招かないため. 代わりにto_iメソッドを使うこと.</div><div class='del'>-</div><div class='del'>-	* 配列への変換メソッドto_aを導入した. 通常のオブジェクトは自分自身</div><div class='del'>-	  を唯一の要素とする長さ1の配列を返す. 配列は自分自身を, 辞書はキー</div><div class='del'>-	  と値のペアの配列を返す. Enumeratedをincludeしたクラスは, eachが</div><div class='del'>-	  返す各要素を含む配列を返す.</div><div class='del'>-</div><div class='del'>-	* file.c: 不定個の引数を受けとるメソッド(chmod,chown,utimes)を書き</div><div class='del'>-	  換えて, 整理した. それに伴い, 最初に全ての引数の型チェックを行な</div><div class='del'>-	  うようにした. 型チェックに失敗すると処理を行なわずに例外を発生さ</div><div class='del'>-	  せる.</div><div class='del'>-</div><div class='del'>-	* configure.in: 不必要なテストを行なわないように修正した.</div><div class='del'>-</div><div class='del'>-Tue May 31 10:41:08 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* String:pack(): 2進数の文字列変換(B,b)で0と1が逆だった.</div><div class='del'>-</div><div class='del'>-	* Math.c: 実数系のメソッドに引数として整数が渡された時に自動的に変</div><div class='del'>-	  換するようにした.</div><div class='del'>-</div><div class='del'>-	* toupper(), tolower(): 文字列の判定ミスで変換されていなかった.</div><div class='del'>-</div><div class='del'>-	* getopt_long()の仕様によって, スクリプトへの引数がインタプリタの</div><div class='del'>-	  引数だと解釈されていた. 引数パターン文字列の先頭に`+'を追加.</div><div class='del'>-</div><div class='del'>-	* config.hを削除した. DEFINEはMakefileで与えられる.</div><div class='del'>-</div><div class='del'>-	* sprintf(): "%d"に文字列が与えられた時にはアドレスではなく内容を</div><div class='del'>-	  整数に変換するようにした. ついでに浮動小数点数も変換するように変</div><div class='del'>-	  更した.</div><div class='del'>-</div><div class='del'>-	* regexp.c: rubyの拡張正規表現(\d, \D, \s, \S)の処理で割り当てた領</div><div class='del'>-	  域を越えてバッファに書き込んでいた. 処理前にバッファをきちんと拡</div><div class='del'>-	  張するようにした. これで昨日問題にしていたメモリの問題は解決でき</div><div class='del'>-	  たと思う.</div><div class='del'>-</div><div class='del'>-	* yylex(): ダブルクォート文字列中でダブルクォートを表現するため</div><div class='del'>-	  のバックスラッシュ表現ができなかった.</div><div class='del'>-</div><div class='del'>-Mon May 30 10:07:42 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 演算子`!'の右辺も条件式であるとした. これによって, この演算子を</div><div class='del'>-	  再定義する人は混乱するかも知れないが, 大多数のこの演算子を使う人</div><div class='del'>-	  は混乱を避けることができると思う.</div><div class='del'>-</div><div class='del'>-	* autoconfを使って, 自動的にMakefile, config.hを生成するようにした.</div><div class='del'>-	  これで, 多くのマシンでは`configure'を実行した後, `make'一発でコ</div><div class='del'>-	  ンパイルできると思う.</div><div class='del'>-</div><div class='del'>-	* clone: サブクラスに対して用いられた場合, 元のオブジェクトと同じ</div><div class='del'>-	  クラスのインスタンスを返すように(以前はビルトインクラスの場合を</div><div class='del'>-	  考えてなかった).</div><div class='del'>-</div><div class='del'>-	* ビルトインクラスのサブクラスも作れるように, リテラルのあるクラス</div><div class='del'>-	  にもnewメソッドを追加した.</div><div class='del'>-</div><div class='del'>-	* malloc()で落ちる. purifyが必要かも知れない.</div><div class='del'>-</div><div class='del'>-	* re.c: rb_global_variable()の呼びだし形式の間違い. 変数へのポイン</div><div class='del'>-	  タを渡さなければいけない.</div><div class='del'>-</div><div class='del'>-	* parse.y: ローカル変数の扱いに引数の評価順に依存する移植性のない</div><div class='del'>-	  部分があった.</div><div class='del'>-</div><div class='del'>-	* attr(): 属性設定のバグを直した. いつ内部仕様が変わったんだろう…?</div><div class='del'>-</div><div class='del'>-Sat May 28 23:08:18 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 正規表現キャッシュの文字列一致判定をポインタ一致から内容一致に変</div><div class='del'>-	  更した. そういえば文字列リテラルは一回毎に新しくオブジェクトが生</div><div class='del'>-	  成されるのだった.</div><div class='del'>-</div><div class='del'>-Fri May 27 11:42:00 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* trから文字削除(delete), 文字圧縮(squeeze)を分離した. それにとも</div><div class='del'>-	  ないtrのオプション引数はなくなった.</div><div class='del'>-</div><div class='del'>-Thu May 26 10:32:55 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* スクリプト読み込みルーチンを書き直して, 通常ファイル以外のファイ</div><div class='del'>-	  ル名や空文字列がスクリプトとして与えられた場合に対応した. また,</div><div class='del'>-	  標準入力からスクリプトを読み込む時に, 一時ファイルが/tmpに残らな</div><div class='del'>-	  いようにした.</div><div class='del'>-</div><div class='del'>-	* Fixnum:id2name - IDから文字列に戻す関数. String:internの逆.</div><div class='del'>-</div><div class='del'>-	* Array: 配列の範囲外の要素をアクセスした時に例外を発生させずに,</div><div class='del'>-	  nilを返すようにした. 配列は自動的に拡張される.</div><div class='del'>-</div><div class='del'>-	* string:stripを追加.</div><div class='del'>-</div><div class='del'>-	* -nオプションが-eオプションを複数指定した時も動作するように.</div><div class='del'>-</div><div class='del'>-	* parse.yで&lt;sys/types.h&gt;もインクルードするようにした.</div><div class='del'>-</div><div class='del'>-	* fname周りの細かいbugを修正.</div><div class='del'>-</div><div class='del'>-Wed May 26 11:45:10 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 定数をキャッシュするようにした. 繰り返しが多い場合には有効のはず</div><div class='del'>-	  だが, 一度しかアクセスしない場合は遅くなるなあ.</div><div class='del'>-</div><div class='del'>-Wed May 25 00:42:24 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 多重代入文(foo, bar = 1, 2)の採用.</div><div class='del'>-</div><div class='del'>-	* 条件式部に文字列あるいは正規表現リテラルをおくと`=~'演算子によっ</div><div class='del'>-	  て`$_'と比較される. 更に`...'の両辺では整数リテラルが`$.'と比較</div><div class='del'>-	  される.</div><div class='del'>-</div><div class='del'>-Mon May 23 23:27:03 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* &amp;式 形式はなくなった. 代わりにkernel:apply(id, args..)を導入.</div><div class='del'>-</div><div class='del'>-	* def op () ..形式の導入. opは再定義可能な演算子.</div><div class='del'>-</div><div class='del'>-	* constantの代入時チェック. 既に初期化されている定数に代入した場合</div><div class='del'>-	  は例外が発生する.</div><div class='del'>-</div><div class='del'>-	* 多重代入文.</div><div class='del'>-</div><div class='del'>-Thu May 19 22:57:07 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 複合文でもvoid valueのチェックを行うようにした.</div><div class='del'>-</div><div class='del'>-	* untilの動作の修正(do..until型だった).</div><div class='del'>-</div><div class='del'>-Wed May 18 01:06:25 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 移植に関する若干の問題を修正.</div><div class='del'>-</div><div class='del'>-	* 別名の構文を「def a b」にした.</div><div class='del'>-</div><div class='del'>-	* until/unless: 演算子から制御文へ. 例外を捕捉する機能はそのまま.</div><div class='del'>-</div><div class='del'>-	* 選択可能な機能をconfig.hからdefines.hに移動.</div><div class='del'>-</div><div class='del'>-Fri May 13 23:20:21 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* -yオプションを新設. -dオプションからコンパイラのデバッグ部分を分</div><div class='del'>-	  離した.</div><div class='del'>-</div><div class='del'>-Tue Apr 25 20:17:33 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* マルチバイト文字列を識別子に使えるように. 個人的には使いたくは無</div><div class='del'>-	  いけどなあ.</div><div class='del'>-</div><div class='del'>-	* `-v'フラグの状態を$verboseでアクセスできるように.</div><div class='del'>-</div><div class='del'>-	* CVSの導入に伴い, バージョン管理の方法を変更.</div><div class='del'>-</div><div class='del'>-	* 真面目にChangeLogをつける事にした.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 10:09:25 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* %変数名 によるクラス定数を導入.</div><div class='del'>-</div><div class='del'>-	* undef メソッド によるメソッド定義の取り消しを導入.</div><div class='del'>-</div><div class='del'>-	* rb_get_method_bodyではthe_envを変更せず, rb_call()で明示的に変更</div><div class='del'>-	  するように. これでresponds_toなどで環境が破壊されない.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 17:46:15 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* 「&amp;文字列」形式. 「式.文字列」型のメッセージセンドはなくなった.</div><div class='del'>-</div><div class='del'>-	* 自己代入形式(+=. -=, ...)</div><div class='del'>-</div><div class='del'>-	* obj.attr = expr形式の採用.</div><div class='del'>-</div><div class='del'>-Thu Feb 24 16:23:28 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* toint, tofloat, print_stringをそれぞれto_i, to_f, to_sに変更.</div><div class='del'>-</div><div class='del'>-	* String:clone - Copy on Writeの実現.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 11:11:44 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* re.c: マッチした文字列の保存に失敗していた.</div><div class='del'>-</div><div class='del'>-	* trap: 可能ならば処理に時間のかかるシステムコール(read, wait,</div><div class='del'>-	  sigpause, select)をフックして割り込み処理の即答性を高める(DOSな</div><div class='del'>-	  どでは無理だなあ).</div><div class='del'>-</div><div class='del'>-	* trap: 割り込みをその場で処理するか(迅速だが危険), 安全なタイミン</div><div class='del'>-	  グで処理するかを選択できるように.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 11:11:12 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* trap: 割り込みハンドラ.</div><div class='del'>-</div><div class='del'>-Wed Feb 16 12:29:12 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* String:crypt: 暗号化ルーチン</div><div class='del'>-</div><div class='del'>-	* "::"演算子の追加. a::b は {a, b}と同義. a::b::c は {a, {b, c}}と</div><div class='del'>-	  同義(右結合). 同義とはいうものの, "::"演算子を使った方が少しだけ</div><div class='del'>-	  メモリ効率が良い.</div><div class='del'>-</div><div class='del'>-	* Dir.rmdir(), File.unlink(), File.utime() -- 各システムコールへの</div><div class='del'>-	  インタフェース.</div><div class='del'>-</div><div class='del'>-	* kill -- kill(2) I/F</div><div class='del'>-</div><div class='del'>-	* select(): readのチェックではstdioにバッファリングされているかど</div><div class='del'>-	  うかをチェックするように.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 15:08:31 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* file.c: statをキャッシュするように.</div><div class='del'>-</div><div class='del'>-	* File:utime()を追加.</div><div class='del'>-</div><div class='del'>-	* unliteralize(): フラグを破壊していた.</div><div class='del'>-</div><div class='del'>-	* Bug(): coreを吐くように.</div><div class='del'>-</div><div class='del'>-	* String:tr -- tr(1)互換. 引数パターンがちょっと違うけど….</div><div class='del'>-</div><div class='del'>-Mon Feb 14 18:24:13 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* unless, untilが例外も偽と見なすように.</div><div class='del'>-</div><div class='del'>-	* select() -- select(2) I/F</div><div class='del'>-</div><div class='del'>-	* Array:pack, String:unpack: perlのpack/unpackの同等品</div><div class='del'>-</div><div class='del'>-Tue Feb  8 17:11:10 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* setenv()のないシステムのためにputenv()を使ったコードも用意した.</div><div class='del'>-</div><div class='del'>-Mon Feb  7 09:52:44 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* 引数の一番最後に`*'を置けるようにした. これでrest引数のリストを</div><div class='del'>-	  操作する必要が少なくなる.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 18:23:26 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* ruby-mode.elを書き直す. ずいぶんましになったと思う.</div><div class='del'>-</div><div class='del'>-	* 文字列リテラルのCopy on Writeを実現. これで文字列がリテラルであ</div><div class='del'>-	  るからといっていちいちcloneしなくても済む.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 09:21:09 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* sub(), gsub()で, マッチした文字列を$&amp;, $1..$9でアクセスできるよ</div><div class='del'>-	  うにした. 同時にマッチした部分文字列をコピーしておくように(元の</div><div class='del'>-	  文字列が変更されても状態を保存するため).</div><div class='del'>-</div><div class='del'>-Mon Jan 31 15:16:58 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* プライベートメソッドの仕様を変更. 今までは同じクラスのメソッドか</div><div class='del'>-	  らしかアクセスできなかったが, サブクラスのメソッドからもアクセス</div><div class='del'>-	  できるようにした(C++におけるprotected メンバ関数).</div><div class='del'>-</div><div class='del'>-	* メソッドサーチのアルゴリズムを改善し, 10%程度の高速化を行なった.</div><div class='del'>-</div><div class='del'>-	* 高速化. Cで記述されたメソッドを呼び出す時にはsetjmpを呼ばないよ</div><div class='del'>-	  うにした. これでCメソッドを多用する場合には3倍程度高速になった.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 15:44:04 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* sh-modeを元にruby-mode.elを作る. 演算子で終る, 2行に渡る文には対</div><div class='del'>-	  応していないけど….</div><div class='del'>-</div><div class='del'>-Thu Jan 27 11:35:19 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* freenode(): NODE_NILの解放忘れ.</div><div class='del'>-</div><div class='del'>-	* 字句解析部のバグ修正(コメントの後の状態を戻し忘れ).</div><div class='del'>-</div><div class='del'>-	* protect .. endのバグ修正. GC_LINKのネストが不正だった.</div><div class='del'>-</div><div class='del'>-	* joinのバグ修正(使っているオブジェクトをfreeしていた).</div><div class='del'>-</div><div class='del'>-	* splitのバグ修正(アルゴリズムがおかしかった).</div><div class='del'>-</div><div class='del'>-	* fork()を追加.</div><div class='del'>-</div><div class='del'>-Wed Jan 26 17:09:56 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* ファイルテストメソッドの追加.</div><div class='del'>-</div><div class='del'>-	* rb_autoexec(): クラスを初めてアクセスした時の挙動を制御できるよ</div><div class='del'>-	  うにした. これでautoloadも実現できる. これにともないメソッド</div><div class='del'>-	  unknownはなくなった.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 15:51:36 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* Dbmクラス, Mathモジュールを作成.</div><div class='del'>-</div><div class='del'>-	* -Iオプションでサーチパスに追加できるように.</div><div class='del'>-</div><div class='del'>-	* サーチパスを変数$load_pathに設定できるように.</div><div class='del'>-</div><div class='del'>-	* load(): ダイナミックロードを使えるようにした.</div><div class='del'>-</div><div class='del'>-Tue Jan 18 14:14:01 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* Comparable:"&lt;=&gt;"</div><div class='del'>-</div><div class='del'>-	* Float,Fixnum:"**"</div><div class='del'>-</div><div class='del'>-	* Array:sort</div><div class='del'>-</div><div class='del'>-Fri Jan 14 16:53:37 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* version 0.07</div><div class='del'>-</div><div class='del'>-	* メソッドに関するドキュメントを充実させた.</div><div class='del'>-</div><div class='del'>-	* String:index(): 引数positionを増やした.</div><div class='del'>-</div><div class='del'>-Thu Jan 13 15:13:52 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* 未初期化の変数アクセスをなくした.</div><div class='del'>-</div><div class='del'>-	* 無駄なhash tableのアロケーションを削除.</div><div class='del'>-</div><div class='del'>-	* Purify'd(on Sun)</div><div class='del'>-</div><div class='del'>-	* ~RE と ~STRのコンパイル時展開の抑制.</div><div class='del'>-</div><div class='del'>-	* Sunへ移植. signal()の戻り値. RDataのbug修正.</div><div class='del'>-</div><div class='del'>-	* parse.y: nlsルールを削除.</div><div class='del'>-</div><div class='del'>-	* yylex(): 改行と符合の解析部分を変更.</div><div class='del'>-</div><div class='del'>-	* missing/strftime.c: 移植用.</div><div class='del'>-</div><div class='del'>-	* Time:strftime: その他のメソッドもstrftimeを利用するように.</div><div class='del'>-</div><div class='del'>-	* メソッド再定義時にメソッドキャッシュをクリアする.</div><div class='del'>-</div><div class='del'>-Fri Jan  7 15:23:20 1994  Yukihiro Matsumoto  (matz at nws119)</div><div class='del'>-</div><div class='del'>-	* Float:coerce(): FixnumとFloat以外の引数を与えられるた時には例外</div><div class='del'>-	  を発生するように.</div><div class='del'>-</div><div class='del'>-	* Stat: stat構造体の全てのメンバに対するアクセスメソッドを用意.</div><div class='del'>-</div><div class='del'>-	* 未定義のクラス/モジュールへの参照がunknownメソッドを呼び出すよう</div><div class='del'>-	  にした.</div><div class='del'>-</div><div class='del'>-	* baseline - version 0.06.</div><div class='head'>diff --git a/doc/ChangeLog-0.50_to_0.60 b/doc/ChangeLog-0.50_to_0.60<br/>deleted file mode 100644<br/>index 5f5b03ff40..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-0.50_to_0.60?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-0.50_to_0.60</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,462 +0,0 @@</div><div class='del'>-Thu Dec  8 00:32:21 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* io.c($&lt;.file,$&lt;.filename): きちんと初期化．</div><div class='del'>-</div><div class='del'>-	* parse.y(rb_class2name): includeしているクラス名を正常に表示でき</div><div class='del'>-	  なかった．</div><div class='del'>-</div><div class='del'>-Wed Dec  7 15:40:36 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* dln.c: config.hをincludeしていなかった．</div><div class='del'>-</div><div class='del'>-	* missing/strdup.c: 忘れていた．</div><div class='del'>-</div><div class='del'>-Fri Dec  2 15:21:44 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 関数の命名ルールを変えた(クラスメソッド: Sxxx_xxx，ユーティリティ</div><div class='del'>-	  メソッドxxx_xxxなど)．</div><div class='del'>-</div><div class='del'>-	* re.c(casefold): 個々の正規表現オブジェクトが大文字小文字を無視す</div><div class='del'>-	  るかどうかを設定できるようにした．</div><div class='del'>-</div><div class='del'>-Thu Dec  1 01:44:51 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* missing.c: システムで提供されないファイルの扱いを変更した．</div><div class='del'>-</div><div class='del'>-	* io.c($&lt;): 変数`$&lt;'が指しているものを現在読み込み中のファイル名か</div><div class='del'>-	  ら仮想ファイル($ARGF)に変更した．また，現在読み込み中のファイル</div><div class='del'>-	  名とファイルオブジェクトにアクセスするメソッドも用意した．</div><div class='del'>-</div><div class='del'>-	* ruby.h(data_new): Dataオブジェクトの割り当て方法を改善した．</div><div class='del'>-</div><div class='del'>-Wed Nov 30 15:36:13 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* Makefile: ルールを整理した．</div><div class='del'>-</div><div class='del'>-Tue Nov 29 00:09:26 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* array.c(`|'): 引数が配列でなく，かつそのオブジェクトが要素として</div><div class='del'>-	  含まれていない時，そのオブジェクトを追加する．あればなにもしない．</div><div class='del'>-</div><div class='del'>-	* process.c(gid,egid): GIDをアクセスするメソッド．</div><div class='del'>-</div><div class='del'>-	* io.c(print): 文字列と配列に対する処理を組み込んで若干の高速化を</div><div class='del'>-	  図った．出力が多い場合に効いてくるようだ．</div><div class='del'>-</div><div class='del'>-	* parse.y(parse_string): ""で囲まれた文字列内では対応するエスケー</div><div class='del'>-	  プがない`\'を残さないように．つまり，今後は"\k" -&gt; "k"である(以</div><div class='del'>-	  前は"\k"だった)．</div><div class='del'>-</div><div class='del'>-Mon Nov 28 18:02:31 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c(re_regsub): 置換文字列の置換えが不完全だった．</div><div class='del'>-</div><div class='del'>-	* 一時オブジェクトの解放をすべてGCに任せた．今のままではまずいタイ</div><div class='del'>-	  ミングでオブジェクトを解放する可能性があった．昔のGCの時にはこれ</div><div class='del'>-	  でも良かったのだが．</div><div class='del'>-</div><div class='del'>-Tue Nov 22 00:15:24 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c($"): 既にロードしたファイル名の配列．</div><div class='del'>-</div><div class='del'>-Mon Nov 21 01:09:50 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* array.c(&amp;,|): 集合としての積演算と和演算．</div><div class='del'>-</div><div class='del'>-	* io.c($&lt;): 文字列を代入した時には自動的にopenするように．IOのサブ</div><div class='del'>-	  クラスかどうかのチェックも行う．</div><div class='del'>-</div><div class='del'>-Sun Nov 19 23:02:27 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c($:): $LOAD_PATHの別名．</div><div class='del'>-</div><div class='del'>-	* io.c($&gt;): デフォルト出力先．IO.defaultは無くなった．</div><div class='del'>-</div><div class='del'>-	* io.c($&lt;): $FILENAMEの別名</div><div class='del'>-</div><div class='del'>-	* glob.c(each): ワイルドカードにマッチするものがない場合，パターン</div><div class='del'>-	  そのものを与えるように．</div><div class='del'>-</div><div class='del'>-	* file.c(chmod,chown,unlink,utime): `\'でワイルドカードをエスケー</div><div class='del'>-	  プできるように．</div><div class='del'>-</div><div class='del'>-Fri Nov 18 00:20:42 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.55 released</div><div class='del'>-</div><div class='del'>-	* file.c(chmod,chown,unlink,utime): 引数として与えられた文字列にワ</div><div class='del'>-	  イルドカードが含まれている場合にはGlobオブジェクトに変換する.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 17:33:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* file.c(chmod,chown,unlink,utime): 引数としてワイルドカードも受け</div><div class='del'>-	  付けるように. その場合はマッチするファイル全体に適用される.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 00:07:28 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* string.c(strip): 文字列そのものを変更するように.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_cal): 環境をスタックに積むタイミングが間違っていたので，</div><div class='del'>-	  不適切なエラーメッセージが出る時があった．</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_undefined): メソッドが無い時とメソッドにアクセスできな</div><div class='del'>-	  い時とでメッセージを替えた．</div><div class='del'>-</div><div class='del'>-	* string.c: toupper/tolowerはupcase/downcaseを使って実現．</div><div class='del'>-</div><div class='del'>-	* string.c: lcfirst/ucfirstは削除．</div><div class='del'>-</div><div class='del'>-Thu Nov 10 16:15:16 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* string.c: sub/gsubは置換後の文字列を返すようにした.</div><div class='del'>-</div><div class='del'>-	* string.c: toupper/tolower/lcfirstなどを文字列を変更するものとし</div><div class='del'>-	  ないものの2 種類を提供するようにした.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 17:52:09 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: 変数展開にバグがあって元の文字列を破壊していた.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 09:56:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: rest引数の処理が間違っていた.</div><div class='del'>-</div><div class='del'>-	* env.c(rb_yield): ローカル変数の設定が間違っていた.</div><div class='del'>-</div><div class='del'>-Wed Oct 26 19:01:43 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: 引数セットの高速化.</div><div class='del'>-</div><div class='del'>-	* process.c: sleepのバグ.</div><div class='del'>-</div><div class='del'>-	* parse.y, gnuglob.c: Sunのccでもコンパイルできるように.</div><div class='del'>-</div><div class='del'>-Tue Oct 25 00:36:16 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: 若干の高速化. スタックの処理によってrb_call()が少し遅く</div><div class='del'>-	  なった分の穴埋めくらいか.</div><div class='del'>-</div><div class='del'>-	* eval.c: blockをenvから外すなどしてスタックを軽くした.</div><div class='del'>-</div><div class='del'>-Mon Oct 24 11:47:54 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c: 正規表現アクセス用の変数($`, $', $+)を追加.</div><div class='del'>-</div><div class='del'>-	* re.c($KANJI): 処理する漢字コードをrubyプログラム内から設定できる</div><div class='del'>-	  ようにした.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 00:42:41 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c: イテレータ内のredoとretryの処理にバグがあった．</div><div class='del'>-</div><div class='del'>-Fri Oct 21 00:53:21 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* string.c(swapcase): 文字列の大文字小文字を置き換える.</div><div class='del'>-</div><div class='del'>-	* string.c(ljust,rjust,center): 文字列のレイアウト用メソッド.</div><div class='del'>-	  sprintf()でも同じようなことはできるが.</div><div class='del'>-</div><div class='del'>-	* socket.c(recv,recvfrom): flags引数を省略可能にした. 省略時の値は</div><div class='del'>-	  0である.</div><div class='del'>-</div><div class='del'>-	* socket.c(recvfrom): recvと同様だが, データと相手アドレスのペアを</div><div class='del'>-	  返す.</div><div class='del'>-</div><div class='del'>-	* socket.c(accept): 戻り値をつながったソケットから, ソケットとアド</div><div class='del'>-	  レスのペアに変更した.</div><div class='del'>-</div><div class='del'>-	* eval.c(eval): the_classをセットする時に, last_moduleがincludeさ</div><div class='del'>-	  れているモジュール(T_ICLASS)であれば, 定義元のモジュールの方をセッ</div><div class='del'>-	  トするように. この修正がないとICLASSに対してメソッドが呼ばれる可</div><div class='del'>-	  能性があり, 不審な動作をする(はず).</div><div class='del'>-</div><div class='del'>-	* class.c: オブジェクトのcloneの際に特異クラス(特異メソッド用のク</div><div class='del'>-	  ラス)をきちんとコピーするようにした. 今までは個々のメソッドのコ</div><div class='del'>-	  ピーを忘れていた.</div><div class='del'>-</div><div class='del'>-	* numeric.c: Numericのnewとcloneをundefした.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 11:30:00 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.53 released.</div><div class='del'>-</div><div class='del'>-	* parse.y: TopLevelのdef文は関数メソッドを定義するようにした.</div><div class='del'>-</div><div class='del'>-	* parse.y: def文のprivate指定はなくなった. export/noexportメソッド</div><div class='del'>-	  を使ってもらうことにした.</div><div class='del'>-</div><div class='del'>-	* parse.y: case文にthenを含むことができるようになった.</div><div class='del'>-</div><div class='del'>-Wed Oct 19 13:09:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* object.c(export,unexport): 関数メソッドの設定用メソッド.</div><div class='del'>-</div><div class='del'>-	* eval.c, class.c: 関数的メソッドを復活させ(またか…), `@'による</div><div class='del'>-	  privateメソッドをなくした. やはり, 関数的なものは関数的に呼びた</div><div class='del'>-	  い気がしてきた. こう仕様が変動しててはいけないような気もするなあ.</div><div class='del'>-	   *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-	* eval.c: メソッドの構成を変更し, 別名管理と関数メソッドの管理を分</div><div class='del'>-	  離した.</div><div class='del'>-</div><div class='del'>-	* eval.c: the_env-&gt;last_funcをCメソッドの時にも更新する. これがな</div><div class='del'>-	  いとStructのアクセスが動作しない.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 13:22:18 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.52 released: ……なんてこったい.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): returnの処理が間違っていたので, マシンによって</div><div class='del'>-	  はreturnで関数を終了するだけでなくtoplevelまでつき抜けていた.</div><div class='del'>-</div><div class='del'>-	* dbm.c: Dictと同様にeachが[key,value]を返すように.</div><div class='del'>-</div><div class='del'>-	* version 0.51 released</div><div class='del'>-</div><div class='del'>-Thu Oct 13 12:13:48 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(SETUP_ARGS): 付加引数が配列でない時には配列に変換する.</div><div class='del'>-</div><div class='del'>-	* parse.y: 括弧なしのメソッド呼び出しでも`*'による付加引数が使える</div><div class='del'>-	  ようにした. ただし, 通常引数が一つもない場合は乗算演算子と区別が</div><div class='del'>-	  つかないので, 必ず括弧が必要.</div><div class='del'>-</div><div class='del'>-Wed Oct 12 10:09:07 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): キャッシュの計算をinline化. キャッシュミスがあ</div><div class='del'>-	  れば関数呼び出しでメソッドを検索する. methods.cはなくなった.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_eval): ローカル変数用の領域をalloca()するように変更.</div><div class='del'>-	  サイズの変更が必要になれば改めてmalloc()するように.</div><div class='del'>-</div><div class='del'>-	* parse.y: error recoveryの際にlex_stateを更新しておくように.</div><div class='del'>-</div><div class='del'>-Tue Oct 11 17:10:46 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* socket.c(for_fd): ファイル記述子(Fixnum)からソケットインスタンス</div><div class='del'>-	  を得るメソッド. たとえばinetdから起動されたサーバで標準入出力に</div><div class='del'>-	  ソケット操作を行なうために使う. つまりSocket.for_fd($stdin)で標</div><div class='del'>-	  準入力に対応するソケットオブジェクトが得られる.</div><div class='del'>-</div><div class='del'>-	* io.c(to_i): IOクラスのインスタンスを整数に変換するとそのファイル</div><div class='del'>-	  記述子を返すように.</div><div class='del'>-</div><div class='del'>-	* numeric.c(num2int): to_iメソッドを使ってできる限り整数に変換する.</div><div class='del'>-	  以前はnum2fixだけが全てのオブジェクトに対してto_iメソッドを適用</div><div class='del'>-	  していた.</div><div class='del'>-</div><div class='del'>-	* sprintf.c(Fsprintf): 整数表示の際, オブジェクトをできる限り整数</div><div class='del'>-	  に変換するように(to_iメソッドを使う).</div><div class='del'>-</div><div class='del'>-Fri Oct  7 14:06:32 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(Fcaller): 必要性がよく分からないのでドキュメントから削除.</div><div class='del'>-	  将来デバッガを作る時に復活させよう.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): Cで記述されたメソッド呼び出しでは環境をスタック</div><div class='del'>-	  にセーブしないことによって高速化.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 15:00:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby.h: 一時env.hに移動してたQselfの定義を復活. ただし今回は関数</div><div class='del'>-	  として実現(env.hでは変数として再定義してある).</div><div class='del'>-</div><div class='del'>-	* ruby.h: TRUEでsyntax errorにならないよう#undefを追加.</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_eval): thread化に挑戦したが, 失敗(速くならなかった).</div><div class='del'>-	  が, Scopingなどの無駄なコードの削除とメソッド呼び出しの引数セッ</div><div class='del'>-	  トのinline化で若干の高速化を実現した. 副作用として, argc, argv形</div><div class='del'>-	  式の関数呼び出しの仕様が変化した(argvにselfを含まなくなった).</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): メソッド呼び出しの高速化.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 11:40:53 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby-mode.el: 修飾子に対応した.</div><div class='del'>-</div><div class='del'>-	* parse.y: 多重代入にrestをつけた. この機能を使えばoptional引数の</div><div class='del'>-	  解析が簡単にできる(はず).</div><div class='del'>-</div><div class='del'>-	* pack.c(unpack): uuencode形式のdecodeの際に文字列の長さが間違って</div><div class='del'>-	  いた.</div><div class='del'>-</div><div class='del'>-Mon Oct  3 15:58:41 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* file.c(type): ファイルタイプを文字列で返すメソッド.</div><div class='del'>-</div><div class='del'>-Fri Sep 30 11:36:07 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* object.c: デフォルトの真の値である%TRUEの値を1(Fixnum)からtに変</div><div class='del'>-	  更した. to_sで文字列に変換した時にも`t'と表示される. 更に踏み込</div><div class='del'>-	  んで`t'を予約語にしてlispのようにしようかとも思ったが, そこまで</div><div class='del'>-	  は決心できなかった. 一文字のローカル変数はかなり使いそうな気がす</div><div class='del'>-	  るので….</div><div class='del'>-</div><div class='del'>-	* array.c,dict.c: equalを再定義しているクラスで, hashを正しく定義</div><div class='del'>-	  した.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 23:30:28 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c(Ffail): 今までfailはカーネルクラスのメソッドであったが,</div><div class='del'>-	  構文に組み込んだ. この変更によって, 1)`fail'は予約語となり, ロー</div><div class='del'>-	  カル変数に用いることができなくなった. 2)`fail'単体で例外を発生す</div><div class='del'>-	  るようになった. 3)failはメソッドではなくなったので再定義される可</div><div class='del'>-	  能性がなくなった.</div><div class='del'>-</div><div class='del'>-	* dic.c, dbm.c(indexes): Arrayのindexesと同様の機能を持つメソッド</div><div class='del'>-	  を追加.</div><div class='del'>-</div><div class='del'>-	* array.c(indexes): 引数をインデックスとする要素の配列を返す. 整数</div><div class='del'>-	  の配列を引数とする時には引数の要素をインデックスとする要素の配列</div><div class='del'>-	  を返す.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 13:42:31 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* array.c(aset): 部分配列に対する代入で配列以外のオブジェクトが指</div><div class='del'>-	  定された場合に多重代入と同じルールで配列化するようにした.</div><div class='del'>-</div><div class='del'>-	* io.c(print): 引数として与えられた各オブジェクトにprint_onメッセー</div><div class='del'>-	  ジを与えるように. 実行速度は落ちるが柔軟性は増す.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 14:59:18 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* glob.c: ワイルドカードの導入. bashに使われているGNUのglobルーチ</div><div class='del'>-	  ンを流用した.</div><div class='del'>-</div><div class='del'>-Mon Sep 12 18:36:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(value_expr): 式がnilの時に対応.</div><div class='del'>-</div><div class='del'>-	* class.c: ICLASSのclassが必ずClass/Moduleを指すように.</div><div class='del'>-</div><div class='del'>-Tue Sep  6 16:23:28 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c:	正規表現内で「\数字」形式が指定できるように.</div><div class='del'>-</div><div class='del'>-	* parse.y:「do expr using var ... end」形式はなくなった. 寂しい気</div><div class='del'>-	  もする. *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-Mon Sep  5 10:59:01 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* numeric.c(next): Numericクラスにもnextを提供.</div><div class='del'>-</div><div class='del'>-	* string.c(upto): uptoを提供.</div><div class='del'>-</div><div class='del'>-	* range.c(each): nextを使ったインタフェースからuptoを使うように変</div><div class='del'>-	  更した. この方が一つのメソッドで処理をまとめで行なうことができる.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 15:25:39 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* dict.c(each): 戻り値を[key, value]のペアに変更. 今までのeachは</div><div class='del'>-	  each_valueとして残る. *BACKWARD INCOMPATIBILITY*</div><div class='del'>-</div><div class='del'>-Thu Sep  1 10:49:04 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 成功した(特別な戻り値を持たない)システムコールは`0'を返すように.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:26:51 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* string.c: チェックサムを得るメソッド`sum'を作った.</div><div class='del'>-</div><div class='del'>-	* class.c(include_class_new): ICLASSのclassをもとのクラスにした.</div><div class='del'>-	  gcの際に元クラスをマークする必要があるのが, フィールドを増やす余</div><div class='del'>-	  地が無いので, classフィールドを流用した. 私の見積りが間違ってい</div><div class='del'>-	  て, ICLASSのインスタンスにメッセージを送る事があれば, おかしな動</div><div class='del'>-	  作をするだろう.</div><div class='del'>-</div><div class='del'>-	* eval.c(masign): 式(a,b = nil)の値を[nil]からnilに変更した.</div><div class='del'>-</div><div class='del'>-Mon Aug 29 11:56:09 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* class.c: rb_define_mfuncを無くして, メタクラスにモジュールをイン</div><div class='del'>-	  クルードするようにした.</div><div class='del'>-</div><div class='del'>-	* error.c(yyerror): 同じ行で複数のsyntax errorをリポートしないよう</div><div class='del'>-	  にした.</div><div class='del'>-</div><div class='del'>-	* file.c: FileTestモジュールにファイルテストメソッドを分離した.</div><div class='del'>-</div><div class='del'>-	* parse.y: 演算子を指定する時のlex_stateを正しく設定した.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 01:23:34 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: if/whileなどの複合式をprimaryに移動した. これによって例</div><div class='del'>-	  えば「if cond then a else b end.message()」のような式が書けるよ</div><div class='del'>-	  うになった.</div><div class='del'>-</div><div class='del'>-Fri Aug 26 10:46:30 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* spec: 整理された文法にしたがって書き直した.</div><div class='del'>-</div><div class='del'>-	* parse.y: ここ数日で混乱していた文法を整理した. 括弧を省略したメ</div><div class='del'>-	  ソッド呼び出しができるようになったこと, modifierが付けられるよう</div><div class='del'>-	  になったこと, returnにリストが渡せるようになったことが主な変更点</div><div class='del'>-	  である.</div><div class='del'>-</div><div class='del'>-	* process周りが怪しいがとにかくSolaris 2.3で動くように.</div><div class='del'>-</div><div class='del'>-	* parse.y: 曖昧性がない場合にはメソッド呼び出しの引数の括弧を省略</div><div class='del'>-	  できるように. 省略できるメソッド呼び出しの条件は, 1)かならず1個</div><div class='del'>-	  以上の引数を必要とすること, 2)第1引数が`+', `-', `(', `[', `{',</div><div class='del'>-	  `/'など, 式の始まりに置かれた時と途中に現れた時とで解釈が違う記</div><div class='del'>-	  号で始まらないこと, である.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 13:54:58 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(cond): 条件式の展開部にbugがあった.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 00:01:15 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: returnはコンマで区切ったリストも受け取るように. つまり,</div><div class='del'>-	  return a, b, cはreturn [a, b, c]と同じ意味になる.</div><div class='del'>-</div><div class='del'>-	* parse.y: yield以外の大域脱出制御式をexprからexpr0に移した. よっ</div><div class='del'>-	  てメソッドの引数に制御式を使えなくなる(これで困る人はいないはず).</div><div class='del'>-</div><div class='del'>-	* parse.y: `+'の定数展開の際に演算子の優先順位を忘れていた.</div><div class='del'>-</div><div class='del'>-	* eval.c: untilの戻り値はnilになった.</div><div class='del'>-</div><div class='del'>-	* parse.y: modifierとしてのif/unless/while/untilを追加.</div><div class='del'>-</div><div class='del'>-	* parse.y: 文法からendの後ろにつけるキーワードを削除. ほとんど使わ</div><div class='del'>-	  なかった上に, emacsではruby-modeがあれば対応のチェックが機械的に</div><div class='del'>-	  出来るため.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 18:08:33 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: スクリプト実行開始前に例外が発生した時にcore dumpした.</div><div class='del'>-	  組み込み用にコードを変更した時にenbugしてしまった.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 00:07:17 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c: doの戻り値がいつもnilになっていた.</div><div class='del'>-</div><div class='del'>-	* parse.y: loop制御変数の多重代入化にbugがあった.</div><div class='del'>-</div><div class='del'>-	* parse.y(expand_op): 文字列も畳み込みの対象に.</div><div class='del'>-</div><div class='del'>-Mon Aug 22 10:50:01 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(expand_op): `+'に関しては結合則を使って, より多く定数畳</div><div class='del'>-	  み込みを行なうように.</div><div class='del'>-</div><div class='del'>-	* ruby.c(proc_options): argcが0の時にも対応.</div><div class='del'>-</div><div class='del'>-	* parse.y: forなどの制御変数に多重代入も使えるように.</div><div class='del'>-</div><div class='del'>-Sat Aug 20 00:59:40 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y(call_op): 演算子`~'の取り扱いをルール部へ移動.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 11:44:13 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* main.c: rubyをほかのプログラムに組み込めるようにmain()を分割した.</div><div class='del'>-	  それにともない, プログラムの呼び出し構造を修正した.</div><div class='del'>-</div><div class='del'>-	* parse.y: 条件式の定義を変更. ifなどの条件式の中でだけ`&amp;&amp;'や`||'</div><div class='del'>-	  および`!'の引数が条件式になるように. この変更により条件式以外の</div><div class='del'>-	  場所での `&amp;&amp;', `||', `!'演算子の動作が直観に一致する.</div><div class='del'>-</div><div class='del'>-	* parse.y: 実引数の`*'の後に続く引数はexprに制限した. 今までは全て</div><div class='del'>-	  の文が有効</div><div class='head'>diff --git a/doc/ChangeLog-0.60_to_1.1 b/doc/ChangeLog-0.60_to_1.1<br/>deleted file mode 100644<br/>index 33b0326892..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-0.60_to_1.1?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-0.60_to_1.1</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,3955 +0,0 @@</div><div class='del'>-Tue Aug 12 16:02:18 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: option variables: $-0, $-p(readonly), $-v,</div><div class='del'>-	  $-I(load_path), $-a(readonly), $-K, $-d, $-F, $-i, $-l.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): ignore rd (ruby document) in the code.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 12:37:58 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): $-K as alias to the $KCODE.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): new virtual variable $-i for the value of -i</div><div class='del'>- 	  option.</div><div class='del'>-</div><div class='del'>-	* enum.c (Init_Enumerable): include? as alias of member?</div><div class='del'>-</div><div class='del'>-Fri Aug  8 11:16:50 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_foreach): now the record separator can be specified.</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_readlines): new method to read in whole file (or</div><div class='del'>- 	  command output) from path.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): recvfrom did not work.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_send): forgot to check nil for false</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 11:40:01 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_constants): lists constants defiend in the</div><div class='del'>-	  modules/classes.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): no longer warns about constant</div><div class='del'>-	  overriding by subclasses.</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_eval): does eval() on module's context. local</div><div class='del'>-	  variables are shared with outer scope.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove private_attr/public_attr.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 14:21:36 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (mod_attr): forgot to check nil for false value.</div><div class='del'>-</div><div class='del'>-Mon Aug  4 11:50:28 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (class_s_new): need not to specify names to create</div><div class='del'>-	  classes (or modules) dynamically.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class_path): scan class constants for anonymous</div><div class='del'>-	  classes/modules to make up pathes.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 08:45:12 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): stop to cache const value in nodes.</div><div class='del'>-</div><div class='del'>-Sat Jul 26 03:17:22 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): wrong .0 at end.</div><div class='del'>-</div><div class='del'>-Sat Jul 26 00:36:36 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): always print exception type in the</div><div class='del'>- 	  toplevel exception handler.</div><div class='del'>-</div><div class='del'>-	* string.c (str_hash): wrong hash value.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 11:05:51 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (uscore_get): proper error message for unset $_.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 09:56:55 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (obj_methods): returns list of method names of the</div><div class='del'>-	  specified object.</div><div class='del'>-</div><div class='del'>-	* class.c (mod_instance_methods): returns list of method names of</div><div class='del'>-	  the class instnace.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 22:38:55 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (class_superclass): returns class's superclass</div><div class='del'>- 	  itself. (1.1)</div><div class='del'>-</div><div class='del'>-	* object.c (obj_type): returns object's class itself. (1.1)</div><div class='del'>-</div><div class='del'>-	* class.c (mod_included_modules): list included modules.</div><div class='del'>-</div><div class='del'>-	* object.c (class_superclass): raises error for Object.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 09:54:02 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (SETUP_ARGS): save source position, remove nd_line().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): replace modulo by bit-masking.</div><div class='del'>-</div><div class='del'>-	* eval.c (POP_SCOPE): force recycle scope object to reduce gc rate.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): aboid calling run_final() when no finalizer is set.</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_VARS): do not allocate the dynamic scope's end-mark</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 14:25:07 1997  KIMURA Koichi  &lt;kkimura@pure.cpdc.canon.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Native mswin32 support.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 09:59:00 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970701</div><div class='del'>-</div><div class='del'>-	* parse.y (mrhs): allow rest-star(*) in right hand side.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 19:04:31 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970624</div><div class='del'>-</div><div class='del'>-Sat Jun 20 22:22:51 1997  Michio "Karl" Jinbo  &lt;karl@marcer.nagaokaut.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: freebsd 3.0 &lt;sys/select.h&gt; support.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 01:24:45 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970620</div><div class='del'>-</div><div class='del'>-	* gc.c: eliminate uninitilalized field of Hash, Array etc., to</div><div class='del'>-	  avoid dumping core.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 01:29:44 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970619</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): wrong limit.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 01:54:16 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class): no singleton for special</div><div class='del'>-	  constants (now raises exception).</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init): cbase in TOPLEVEL_BINDING need to be</div><div class='del'>-	  initialized.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 01:01:16 1997  maeda shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (sort_2): wrong comparison.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 00:53:44 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_foreach): safe iteration.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 14:04:56 1997  Michio "Karl" Jinbo  &lt;karl@marcer.nagaokaut.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: -Bshareable option for netbsd.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 01:16:22 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): call io_unbuffered() only for writable pipes.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 01:14:15 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970612</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_new): use io_unbuffered().</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_long): compact long format, which</div><div class='del'>-	  supports 64 bit architectures (unless longs are &gt;32 bit size).</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c: allows recursive data for marshaling.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern): raise exception for non-internable string.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_load): allows direct loading from</div><div class='del'>- 	  strings.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_dump): allows direct dump to strings.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_dump): interface changed.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 18:26:00 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_newobj): remove needless memset().</div><div class='del'>-</div><div class='del'>-Mon Jun  9 13:03:43 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): reduce condition checks from while/until loop.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): wrong jump point for `next'.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 11:47:39 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_set_argv): initialize dln_argv0 for dln_a_out.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (open_unix): display path name for exceptions.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): option -S did not work well.</div><div class='del'>-</div><div class='del'>-Fri May 30 02:14:44 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970530</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): set $! properly if exception raised in eval().</div><div class='del'>-</div><div class='del'>-	* io.c (io_write): now handles non T_FILE object.</div><div class='del'>-</div><div class='del'>-	* io.c (io_defset): $&lt; can be anything which has `write' method.</div><div class='del'>-</div><div class='del'>-Thu May 29 15:40:22 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): $@ is always an array (not string).</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): avoid corrupting memory for unexpected</div><div class='del'>-	  input strings.</div><div class='del'>-</div><div class='del'>-Wed May 28 12:46:13 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970528</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): do not block other threads.</div><div class='del'>-</div><div class='del'>-Tue May 27 12:02:31 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init): split initialize and processing command line</div><div class='del'>-	  options.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_options): ruby_init(0, 0, envp) dumps core.</div><div class='del'>-</div><div class='del'>-Tue May 20 18:59:45 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_set): invalid instance variable access for</div><div class='del'>-	  built-in object raises TypeError.</div><div class='del'>-</div><div class='del'>-Fri May 16 17:32:21 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970516</div><div class='del'>-</div><div class='del'>-	* dir.c (push_globs): was freeing non heap pointer.</div><div class='del'>-</div><div class='del'>-	* gc.c: remove some duplicated prototypes.</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c: fix prototypes.</div><div class='del'>-</div><div class='del'>-Fri May  9 11:38:59 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970509</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): avoid free(NULL).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_check_safe_str): argument missing for TypeError().</div><div class='del'>-</div><div class='del'>-Thu May  8 01:14:28 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_dirname): need to return "." for path without</div><div class='del'>-	  slashes.</div><div class='del'>-</div><div class='del'>-Wed May  7 19:18:48 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (f_fork): child processe does not inherit parent's</div><div class='del'>- 	  itimer setting on linux.  call setitimer() again in the child</div><div class='del'>-	  process.</div><div class='del'>-</div><div class='del'>-Sat May  3 02:49:43 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: modified for portability and add to the</div><div class='del'>- 	  standard distribution.</div><div class='del'>-</div><div class='del'>-Wed Apr 30 00:34:00 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_size): returns 0 for empty files (not FALSE).</div><div class='del'>-</div><div class='del'>-Fri Apr 25 02:17:50 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970425</div><div class='del'>-</div><div class='del'>-	* eval.c (f_load): free unused name-table.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_load): copy local variable name-table.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): avoid free(NULL).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): forgot to make link from the scope object to</div><div class='del'>-	  NODE_SCOPE.  It may crash the interpreter.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 00:35:09 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (f_srand): save old seed anyway.  srand() returns no</div><div class='del'>- 	  value on some systems.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): avoid double free of the local variable name</div><div class='del'>-	  table.</div><div class='del'>-</div><div class='del'>-	* parse.y (top_local_setup): modify realloc to handle offset.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 12:58:26 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970422</div><div class='del'>-</div><div class='del'>-Thu Apr 17 00:40:51 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_bsdpgrp): proper check for BSD</div><div class='del'>-	  setpgrp/setpgrp.</div><div class='del'>-</div><div class='del'>-Wed Apr 16 16:14:02 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): proc called in other thread must be orphan.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 10:46:31 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970415</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): NODE_SCOPE marked from SCOPE object.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): some nodes marked wrong.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getpgrp): wrong argument</div><div class='del'>-</div><div class='del'>-Fri Apr 14 18:32:42 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970414</div><div class='del'>-</div><div class='del'>-Fri Apr 12 01:20:12 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: String pointer changed to unsigned char.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 10:27:29 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970411</div><div class='del'>-</div><div class='del'>-	* Makefile.in: create libruby.a before linking ruby.</div><div class='del'>-</div><div class='del'>-	* string.c (str_strip_bang): &gt;0x80 characters for isspace().</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): set safe-level temporally</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_s_new): save safe-level in the proc context.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): no class/module extension in safe mode.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 02:10:41 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): remove some pointer checks for speeding up.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_options): set $0 temporally for -r option.</div><div class='del'>-</div><div class='del'>-	* eval.c: built-in security feature.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): do not free nodes during compile.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): set flag when compiling.</div><div class='del'>-</div><div class='del'>-Wed Apr  9 10:19:02 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: forgot to include &lt;ctype.h&gt; for isspace().</div><div class='del'>-</div><div class='del'>-	* file.c: provide S_ISREG for some platforms.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): added some $&lt; operations.</div><div class='del'>-</div><div class='del'>-	* lib/ping.rb: check host upness using TCP echo.</div><div class='del'>-</div><div class='del'>-Tue Apr  8 00:10:15 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (arg_read): bug with 0 length input.</div><div class='del'>-</div><div class='del'>-Mon Apr  7 11:36:16 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/fcntl.c: module for fcntl constants.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_alias): bug when original was an alias.</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): syntax to access singleton class.</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_public_method): method's to specify visibitily of</div><div class='del'>-	  the class methods.  make_method_{public,private} removed.</div><div class='del'>-</div><div class='del'>-Fri Apr  4 21:43:57 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970404</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): finalizer added for experiment.</div><div class='del'>-</div><div class='del'>-Thu Apr  3 02:12:31 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): make Fatal rise on main_thread on</div><div class='del'>-	  deadlocks.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_join): raise ThreadError instead of Fatal, in</div><div class='del'>-	  case of deadlock.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): uninitialized local variable.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): new option //[nes] to specify character</div><div class='del'>-	  code for regexp literals.  Last specified code option is valid.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_s_new): additional 3rd argument to specify compiled</div><div class='del'>- 	  regexp's character code.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_new_1): regexp character code can be specified for</div><div class='del'>-	  each regexp object.</div><div class='del'>-</div><div class='del'>-Wed Apr  2 14:51:06 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): handle uncaught throw.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): halt on some deadlock conditions.</div><div class='del'>-</div><div class='del'>-	* regex.c (is_in_list): wrong result for non-mbc higher-byte</div><div class='del'>-	  characters.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): wrong skip for multi-byte characters.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): wrong fastmap in non-mbc mode.</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): hash compatible features added to ENV.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 15:24:06 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_extend): remove Object#extend as an iterator which</div><div class='del'>- 	  is in experimental state, since it unveils internal singleton</div><div class='del'>- 	  classes.</div><div class='del'>-</div><div class='del'>-Mon Mar 31 14:29:39 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970331</div><div class='del'>-</div><div class='del'>-Sun Mar 30 19:40:57 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (terms): avoided win32 gcc's optimization bug.</div><div class='del'>-</div><div class='del'>-Sat Mar 29 11:21:58 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): St[val,..] creates new structure.</div><div class='del'>-</div><div class='del'>-Fri Mar 28 11:24:51 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_make_private): new method make_method_{public,private}</div><div class='del'>-	  to change visibility of singleton methods.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): enables numeric literal &gt;= 0x80 in</div><div class='del'>-	  the character class.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): enabled numeric literal &gt;= 0x80,</div><div class='del'>-	  in multibyte mode.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): modified exantn and charset(_not)</div><div class='del'>-	  to set fastmap for higher bytes properly.</div><div class='del'>-</div><div class='del'>-	* regex.c (is_in_list): now matches numeric literals.</div><div class='del'>-</div><div class='del'>-Thu Mar 27 13:34:20 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): extra null byte after unpacked string.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 15:20:34 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): register numbers must be fit in a</div><div class='del'>- 	  byte (0 &lt;= regnum &lt;= 0xff).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): forgot to set mbchar map for</div><div class='del'>- 	  charset_not if RE_MBCTYPE is on.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): set list bits for multi-byte</div><div class='del'>-	  characters for \W, \S, \D in range expression.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_is_kind_of): defined that nil itself is kind of</div><div class='del'>- 	  nil.  TRUE is kind of TRUE, FALSE is kind of FALSE likewise.</div><div class='del'>-  	  This change makes `obj.kind_of?(eval(obj.type))' always true.</div><div class='del'>-</div><div class='del'>-Tue Mar 25 14:08:43 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/English.rb: provides nicer English alias for the variables.</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): alias $var1 $var2 makes alias of the global</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Mon Mar 24 18:23:20 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970324</div><div class='del'>-</div><div class='del'>-Thu Mar 20 22:04:59 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_modfunc): forget to clear method cache.</div><div class='del'>-</div><div class='del'>-Wed Mar 19 17:06:55 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (program): set methods' default private/public status</div><div class='del'>-	  correctly under eval().</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): set the_class correctly while evaluating string.</div><div class='del'>-</div><div class='del'>-Tue Mar 18 12:23:53 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): yield can be called from eval().</div><div class='del'>-</div><div class='del'>-	* version 1.0-970318</div><div class='del'>-</div><div class='del'>-	* parse.y (program): regexp in condition expression should do</div><div class='del'>-	  matching operation with $_.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regsub): wrong substitution.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 14:36:28 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_invert): returns value to key mapping of the</div><div class='del'>-	  associative array.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: set environment variable SOCKS_SERVER to</div><div class='del'>-	  compile with libsocks.a.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socks_s_open): SOCKSsocket class to access</div><div class='del'>-	  internet via SOCKS library.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): unsigned formats display leading double</div><div class='del'>- 	  dots for imaginary sequence of signed bit to the left.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): correct width and precision formatting</div><div class='del'>-	  for big integers.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): enables negative hex/octal numbers and `_' in</div><div class='del'>-	  non-decimal numbers.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): %u added for unsigned decimal format.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 10:24:27 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): wrong output for bignums.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_reverse_each): iterates in reverse order.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): L unpacked signed long.</div><div class='del'>-</div><div class='del'>-	* io.c (f_backquote): now returns an empty string for no output.</div><div class='del'>-</div><div class='del'>-Wed Mar 12 10:20:30 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socks/socks.c: socket module with socks library.</div><div class='del'>-</div><div class='del'>-Mon Mar 10 20:44:22 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regsub): \&amp; for substitution.  \`, \', and \+ are</div><div class='del'>-	  avaiable also.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 01:47:03 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970306</div><div class='del'>-</div><div class='del'>-	* sample/rubydb.el (gud): ruby debugger emacs interface</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: ruby debugger</div><div class='del'>-</div><div class='del'>-	* parse.y (exprs): more accurate line number display.</div><div class='del'>-</div><div class='del'>-Wed Mar  5 21:31:46 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970305</div><div class='del'>-</div><div class='del'>-Tue Mar  4 12:28:32 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): search through RUBYPATH and PATH for</div><div class='del'>-	  option -S.</div><div class='del'>-</div><div class='del'>-Mon Mar  3 22:44:55 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_status): returns nil for exception terminated</div><div class='del'>-	  threads.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_value): re-raise exceptions.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 00:59:47 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): restore $! value after rescue clause, to</div><div class='del'>-	  re-raise exceptions correctly.</div><div class='del'>-</div><div class='del'>-Fri Feb 28 16:43:38 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970228</div><div class='del'>-</div><div class='del'>-Thu Feb 27 11:23:41 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): redo raises exception</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): bug in interrupt handling by rescue.</div><div class='del'>-</div><div class='del'>-Wed Feb 26 00:55:36 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): forgot to restore dynamic local variable</div><div class='del'>-	  bindings.</div><div class='del'>-</div><div class='del'>-Tue Feb 25 11:22:08 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/aix_ld.rb: AIX dynamic load support (not tested).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): wrong return value for defined? super.</div><div class='del'>-</div><div class='del'>-	* error.c (exception): more error check.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regsub): wrong substitution when sub expanded to null</div><div class='del'>- 	  string.</div><div class='del'>-</div><div class='del'>-Fri Feb 21 13:01:47 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970221</div><div class='del'>-</div><div class='del'>-	* eval.c (f_require): volatile added.  register variable was</div><div class='del'>- 	  recycled, so that GC did not mark that variable.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): forget to mark main object (was mostly</div><div class='del'>-	  ok, but made trouble with early GC.)</div><div class='del'>-</div><div class='del'>-Thu Feb 20 11:50:50 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970220</div><div class='del'>-</div><div class='del'>-Thu Feb 20 11:25:50 1997  Yasuo OHBA  &lt;jammy@shljapan.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: update</div><div class='del'>-</div><div class='del'>-Thu Feb 20 08:25:57 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): forgot tokfix() before rb_intern().</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb (TkVariable): give up using trace_var.</div><div class='del'>-</div><div class='del'>-Wed Feb 19 00:24:35 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970219</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): packed by null for A specifier. must be</div><div class='del'>-	  space filled.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): bug in skipping spaces</div><div class='del'>-</div><div class='del'>-	* gc.c (xmalloc): garbage collect for every 4 Meg. allocation.</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): limit worked wrong way.</div><div class='del'>-</div><div class='del'>-	* io.c (io_gets_method): misunderstand 0xff in binary files when</div><div class='del'>-	  $/ == nil.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regsub): re-implement.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (thread_connect): remove O_NONBLOCK, which</div><div class='del'>-	  is not defined on some platform like NeXT.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 13:08:30 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970217</div><div class='del'>-</div><div class='del'>-	* object.c (mod_eqq): === extended for subclass check (to use case</div><div class='del'>-	  as typecase).</div><div class='del'>-</div><div class='del'>-Sat Feb 15 02:07:22 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): wrong match backref at end of pattern.</div><div class='del'>-</div><div class='del'>-	* io.c (arg_read): now works beyond end of file.</div><div class='del'>-</div><div class='del'>-Thu Feb 13 16:21:24 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): return/yield now accept normal argument format.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): a star in `yield *x' must not be multiplication</div><div class='del'>-	  operator.</div><div class='del'>-</div><div class='del'>-Wed Feb 12 15:06:44 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_plus): bug in simple addition.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_raise): raise exceptions from outside.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): Thread#alive? -- alias for Thread#status.</div><div class='del'>-</div><div class='del'>-Mon Feb 10 00:38:55 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (Data_Make_Struct): rename macros.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 11:48:13 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_syscall): argument offset was wrong.</div><div class='del'>-</div><div class='del'>-Fri Feb  7 18:01:17 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970207</div><div class='del'>-</div><div class='del'>-	* eval.c: add volatiles to avoid variable crobbering by longjmp().</div><div class='del'>-</div><div class='del'>-	* eval.c (f_raise): 1st argument can be the GlobalExit object now.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_unshift): no longer accept more than 2 args.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_raise): bug if 2nd argument is the exception.</div><div class='del'>-</div><div class='del'>-Tue Feb  4 00:37:29 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970204</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): check compile errors by nerrs.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): check syntax error by nerrs, not by the return</div><div class='del'>- 	  value, which may be NULL.</div><div class='del'>-</div><div class='del'>-	* eval.c (compile): Do not clear errinfo.</div><div class='del'>-</div><div class='del'>-Mon Feb  3 10:13:06 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_extend): move real inclusion to Module#extend_object</div><div class='del'>-	  to allow redfinition.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): Kernel class is now Module. Object class</div><div class='del'>-	  became the true root class.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_inspect): remove useless buffer.</div><div class='del'>-</div><div class='del'>-	* hash.c (any_cmp): disable interrupts and context switching.</div><div class='del'>-</div><div class='del'>-	* st.c: remove ALLOW_INTS to disable interrupt during operations.</div><div class='del'>-</div><div class='del'>-Fri Jan 31 22:10:08 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_rehash): re-register all key-value.</div><div class='del'>-</div><div class='del'>-Thu Jan 30 02:14:49 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): re-implement according to clone() way.</div><div class='del'>-</div><div class='del'>-	* io.c (io_clone): copy IO object.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_eql): compare elements by eql?.</div><div class='del'>-</div><div class='del'>-	* io.c (io_mode_flags): detect "rb", "wb" etc.</div><div class='del'>-</div><div class='del'>-	* io.h (FMODE_BINMODE): added.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): undef BasicSocket.new</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): File.new(path[,mode])</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): IO.new(fd[,mode])</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_boundp): forgot to enable priv argument.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove `=~' from Kernel class.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (open_inet): initialize sockaddr before</div><div class='del'>-	  calling bind(2).</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): skip comment lines</div><div class='del'>-</div><div class='del'>-Wed Jan 29 18:43:22 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): DEFER_INTS during initializing threads.</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): Hash#eql? checks for object identity.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_set_critical): wrong value assigned.</div><div class='del'>-</div><div class='del'>-Mon Jan 27 16:10:51 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_print): remove print_on().</div><div class='del'>-</div><div class='del'>-	* eval.c (f_missing): proper error message for undefined method</div><div class='del'>-	  without argument</div><div class='del'>-</div><div class='del'>-Sat Jan 25 23:32:32 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): false alert - sub() does not modify string.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_times): negative multiplication detected</div><div class='del'>-</div><div class='del'>-	* string.c (str_times): negative multiplication detected</div><div class='del'>-</div><div class='del'>-Fri Jan 24 10:51:39 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): month -&gt; 0 == "jan" == "1" == "01", little bit</div><div class='del'>-	  confusing but wanted to conform japanese style.</div><div class='del'>-</div><div class='del'>-	* version 1.0-970124</div><div class='del'>-</div><div class='del'>-Fri Jan 24 09:52:49 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (_fixpath): supports SJIS filenames on DJGPP.</div><div class='del'>-</div><div class='del'>-Thu Jan 23 16:52:06 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: update. partially translated into English.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: inherit $LDFLAGS to the final link.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): add various constants.</div><div class='del'>-</div><div class='del'>-Mon Jan 23 11:40:59 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): allocate main_thread first to avoid crash.</div><div class='del'>-</div><div class='del'>-Thu Jan 23 02:09:26 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ObjectSpace): API modified. each_object method will do all</div><div class='del'>- 	  the iteration.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): wrong return from nested lambda.</div><div class='del'>-</div><div class='del'>-	* ext/GD/GD.c: debugged.</div><div class='del'>-</div><div class='del'>-Wed Jan 22 16:12:25 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970122</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): forgot to mark match-&gt;str.</div><div class='del'>-</div><div class='del'>-	* ext/GD/GD.c: GD interface module.</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_BLOCK): wrong value pushed as the block level.</div><div class='del'>-</div><div class='del'>-Mon Jan 20 14:01:31 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_run): no context switch in the critical section.</div><div class='del'>-</div><div class='del'>-Mon Jan 20 09:40:59 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* utils.c: supports 8+3 filenames</div><div class='del'>-</div><div class='del'>-Sat Jan 18 01:23:03 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970118</div><div class='del'>-</div><div class='del'>-	* regex.c (PATFETCH): need cast to unsigned char.</div><div class='del'>-</div><div class='del'>-	* io.c (io_ctl): bug in case when arg is not a string.</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: forgot that Kernel#type returns the class name now.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): "abc\n" =~ "^$" should not match.</div><div class='del'>-</div><div class='del'>-Fri Jan 17 12:31:37 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970117</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_options): constant PLATFORM, which is in the {cpu}-{os}</div><div class='del'>-	  form, defined.</div><div class='del'>-</div><div class='del'>-	* configure.in: platform information embedded in the interpreter.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): /^$/ did not match to "" by wrong exit condition.</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: re-write Mutex/Queue based on Thread.critical.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_set_critical): remove Thread.exclusive, add</div><div class='del'>-	  Thread.critical = TRUE/FALSE instead.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): re-compile pattern if needed</div><div class='del'>-</div><div class='del'>-	* regex.c (PATFETCH): do translate at compile time</div><div class='del'>-</div><div class='del'>-Thu Jan 16 00:49:10 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_frame): forgot to mark frame-&gt;cbase.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): /a$|b)/ causes error.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): /(^|b)/ causes error.</div><div class='del'>-</div><div class='del'>-	* version 1.0-970116</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): set RE_CONTEXTUAL_INVALID_OPS flag.</div><div class='del'>-</div><div class='del'>-Tue Jan 14 02:09:06 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): Proc#callをイテレータとして呼んだ時に対応</div><div class='del'>-</div><div class='del'>-	* configure.in: nextstep対応？</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): a[b]=cで無駄な配列を割り当てない</div><div class='del'>-</div><div class='del'>-	* eval.c (f_send): イテレータとして呼ばれたらイテレータとしてメソッ</div><div class='del'>-	  ドを呼ぶ．</div><div class='del'>-</div><div class='del'>-	* string.c (str_new4): match共有用の生成関数</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): matchの実体(文字列)をマッチを行った文字列と</div><div class='del'>-	  copy-on-writeで共有</div><div class='del'>-</div><div class='del'>-	* string.c (str_hash): toupperをかける条件が違っていた</div><div class='del'>-</div><div class='del'>-	* array.c (sort_2): FixnumとStringを特別扱いして高速化</div><div class='del'>-</div><div class='del'>-Mon Jan 13 11:03:53 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): threadが生成されるまで割込みを設定しない</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): 割込みタイミングを100msecに</div><div class='del'>-</div><div class='del'>-Sat Jan 11 00:17:05 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): マッチに失敗する場合があった(本当に直ったか？)</div><div class='del'>-</div><div class='del'>-	* io.c (io_ioctl,io_fcntl): 第2引数を省略可能に</div><div class='del'>-</div><div class='del'>-	* io.c (io_ioctl,io_fcntl): 戻り値がIOだった．整数(システムコール</div><div class='del'>-	  の戻り値)を返すようにした．</div><div class='del'>-</div><div class='del'>-	* io.c (io_ctl): 引数が整数の時に対応</div><div class='del'>-</div><div class='del'>-	* io.c (io_fcntl): file.cから移動</div><div class='del'>-</div><div class='del'>-Fri Jan 10 17:01:47 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-970110</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (thread_connect): open(connect(2))で他の</div><div class='del'>-	  threadをブロックしないように</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): exitでないときにexitだと思い込む</div><div class='del'>-</div><div class='del'>-Mon Jan  6 17:42:22 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): 文字列長より長いoffsetの検出</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): 空にマッチするパターン後の$で失敗</div><div class='del'>-</div><div class='del'>-Thu Jan  2 16:36:23 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_reopen): Fileのreopen(pathまたはIOで指定)．</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): IOのreopen(IOで指定) -- change classつき</div><div class='del'>-</div><div class='del'>-Wed Jan  1 11:09:01 1997  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_select): timeoutでnilを返す</div><div class='del'>-</div><div class='del'>-Fri Dec 27 13:06:44 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_open): サブクラスではそのクラスのインスタンスを返</div><div class='del'>-	  すように．</div><div class='del'>-</div><div class='del'>-Fri Dec 27 08:58:27 1996  &lt;ono@isl.nara.sharp.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): index()を使わない．strstr()に．</div><div class='del'>-</div><div class='del'>-Thu Dec 26 01:34:17 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: placeが使えるように</div><div class='del'>-</div><div class='del'>-	* pack.c (endian): マクロDYNAMIC_ENDIANを指定すると実行時にendian</div><div class='del'>-	  を判定するように．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_alloc): 初期化忘れのメンバがあった．</div><div class='del'>-</div><div class='del'>-Wed Dec 25 00:33:19 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.0-961225</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): newを無効化</div><div class='del'>-</div><div class='del'>-	* lib/tkthcore.rb: tk_call "global $foo; set foo 5"などもできるように</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_restore_context): $~, $_でスタックを壊していた</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): threadに一応対応</div><div class='del'>-</div><div class='del'>-Tue Dec 24 15:20:58 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.4-961224</div><div class='del'>-</div><div class='del'>-	* configure.in: charがunsignedかどうかもチェック</div><div class='del'>-</div><div class='del'>-	* regex.c (SIGN_EXTEND_CHAR): __CHAR_UNSIGNED__にも対応</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): 明示的にsigned charを指定．</div><div class='del'>-</div><div class='del'>-Mon Dec 23 14:41:23 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): 標準入力からのスクリプトで一時ファイルを使わ</div><div class='del'>-	  ないように</div><div class='del'>-</div><div class='del'>-	* object.c (f_integer): `0x', `0'などでbaseを解釈するように．</div><div class='del'>-</div><div class='del'>-Fri Dec 20 01:44:39 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (flock.o): flockに対応</div><div class='del'>-</div><div class='del'>-Thu Dec 19 20:13:32 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.4-961219</div><div class='del'>-</div><div class='del'>-Wed Dec 18 00:06:48 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* glob.c (glob_filename): strrchrがマクロの場合に対応</div><div class='del'>-</div><div class='del'>-	* configure.in: &lt;sys/select.h&gt;をチェック</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c: 1.62ベースに</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c: Kconvモジュール</div><div class='del'>-</div><div class='del'>-	* string.c (str_substr): lenが元の文字列より長い時に対応</div><div class='del'>-</div><div class='del'>-	* parse.y (iterator): 「$bar do .. end」などは許さないように</div><div class='del'>-</div><div class='del'>-	* parse.y (iterator): FID(foo!,foo?)をdo形式のイテレータにできる．</div><div class='del'>-</div><div class='del'>-	* missing/flock.c (flock): lockf()を使って代替</div><div class='del'>-</div><div class='del'>-	* file.c (file_flock): flockを実装</div><div class='del'>-</div><div class='del'>-Tue Dec 17 12:13:38 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.4-961217</div><div class='del'>-</div><div class='del'>-Fri Dec 13 02:05:03 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: RUBYLIBのカレントを後回し(@mix/awk offline)</div><div class='del'>-</div><div class='del'>-	* dln.c: AIXに対応した？(@mix/awk offline)</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): critical sectionでも明示的なコンテキス</div><div class='del'>-	  トスイッチは起きないとまずい</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): matchに失敗した時に$~をnilに．</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): 毎回matchを生成するように</div><div class='del'>-</div><div class='del'>-Thu Dec 12 17:03:30 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): 2.0.to_s -&gt; 2.0に</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_save_context): $_, $~をthread毎に保存</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_kill): main threadではexit(0)</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): 間違った結果を返していた</div><div class='del'>-</div><div class='del'>-Thu Dec 12 15:32:48 1996  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: CYGWIN32対応</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: CYGWIN32対応</div><div class='del'>-</div><div class='del'>-	* io.c: CYGWIN32対応</div><div class='del'>-</div><div class='del'>-Thu Dec 12 14:43:51 1996  Jun Kuroda  &lt;j_kuro@pluto.ai.kutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: wish4.2も探索候補に含める</div><div class='del'>-</div><div class='del'>-	* config.guess: JCC対応</div><div class='del'>-</div><div class='del'>-Thu Dec 12 00:41:17 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.4-961212</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_string): """..."""はやはり無くすことにした</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): %r|...|でterminatorを \ でエスケープできる</div><div class='del'>-	  ように</div><div class='del'>-</div><div class='del'>-	* signal.c (posix_signal): sigactionを使うsignal</div><div class='del'>-</div><div class='del'>-	* configure.in: posix signal/bsd signalの検出</div><div class='del'>-</div><div class='del'>-Wed Dec 11 17:47:35 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): critical sectionではコンテキストスイッ</div><div class='del'>-	  チが起きないように</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: SharedMutexクラス</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb: String#scanを使うように</div><div class='del'>-</div><div class='del'>-Tue Dec 10 12:21:28 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961210</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): 正規表現に()を含む時にバグ</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb: ちょっとましになった</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): 置換文字が短すぎる(2文字)のときのバグ</div><div class='del'>-</div><div class='del'>-Mon Dec  9 11:38:04 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_scan): 文字列のマッチを行う．イテレータとしても動</div><div class='del'>-	  作する</div><div class='del'>-</div><div class='del'>-	* regex.c (re_copy_registers): allocatedが初期化されていなかった</div><div class='del'>-</div><div class='del'>-	* re.c (match_to_s): $~の文字列化</div><div class='del'>-</div><div class='del'>-	* re.c (match_to_a): $~を配列化できるように</div><div class='del'>-</div><div class='del'>-	* re.c (match_getter): レジスタが初期化されていなかった</div><div class='del'>-</div><div class='del'>-Thu Dec  5 11:06:10 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): マッチしなかった括弧は空文字列を</div><div class='del'>-	  pushするべきではない</div><div class='del'>-</div><div class='del'>-	* string.c (str_succ): アルファベットを含まない文字に対応</div><div class='del'>-</div><div class='del'>-Wed Dec  4 10:48:09 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961204</div><div class='del'>-</div><div class='del'>-	* io.c (io_binmode): DJGPPでのbinmode対応</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): intの範囲の数値は直接sprintfで変換する</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): "%02s"に頼らない</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): indexでSEGV</div><div class='del'>-</div><div class='del'>-Tue Dec  3 10:09:36 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961203</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): INSTALL_DATAからINSTALLに変更</div><div class='del'>-</div><div class='del'>-	* dln.c: hpux対応</div><div class='del'>-</div><div class='del'>-	* string.c (str_aset_method): 負の値を含む範囲でも例外を起こさない</div><div class='del'>-</div><div class='del'>-	* array.c (ary_replace): 負の値を含む範囲でも例外を起こさない</div><div class='del'>-</div><div class='del'>-	* array.c (beg_len): beg==endの時，長さ0に</div><div class='del'>-</div><div class='del'>-Mon Dec  2 14:07:12 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: HP shl対応</div><div class='del'>-</div><div class='del'>-	* string.c (str_upto): beg &gt; endの時無限ループに落ちるのを止めた</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): String#uptoが再定義された場合に対応</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): "ABC".split(/(B)/)が誤動作</div><div class='del'>-</div><div class='del'>-Sat Nov 30 01:43:52 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): undefでSEGV</div><div class='del'>-</div><div class='del'>-Fri Nov 29 12:17:59 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): %Q#..#などに対応．しか</div><div class='del'>-	  し，区切り文字が演算子で行末にある場合には対応できなかった．</div><div class='del'>-</div><div class='del'>-	* re.c (reg_raise): 例外でもスラッシュをエスケープ</div><div class='del'>-</div><div class='del'>-	* re.c (reg_inspect): スラッシュをエスケープ</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_string): `%[QqXxRr](.)..\1'なる文字列形式(テスト</div><div class='del'>-	  採用)</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_qstring): '''...'''の形式</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): 述語key?,value?の追加</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): includes-&gt;include?</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): 述語key?,value?,include?の追加</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): unlessでelse節が実行されない(うーん)</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_iter_s): イテレータブロック内でマッチが行われ</div><div class='del'>-	  ると位置がずれる(時に無限ループに落ちる)</div><div class='del'>-</div><div class='del'>-	* string.c (str_resize): lenが0の時sizeの調整が行われなかった</div><div class='del'>-</div><div class='del'>-Thu Nov 28 00:59:54 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961128</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_string): 3-quote styleの文字列(例:"""abc"d"e""")</div><div class='del'>-</div><div class='del'>-	* configure.in (EXTSTATIC): extを静的にリンクする時にはrubyはdllを</div><div class='del'>-	  使うように</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): getsの引数が間違っていた</div><div class='del'>-</div><div class='del'>-	* string.c (str_each_line): RSを明示的に指定できるように</div><div class='del'>-</div><div class='del'>-Wed Nov 27 12:37:46 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961127</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): iver defined? でselfを指定するのを忘れた</div><div class='del'>-</div><div class='del'>-	* io.c: gets等でRSを明示的に指定できるように</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): static linkに失敗</div><div class='del'>-</div><div class='del'>-Tue Nov 26 10:33:04 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961126</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): 置換後の文字列長さが間違っていた</div><div class='del'>-</div><div class='del'>-Mon Nov 25 09:11:22 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_rshift): 32以上の右シフトで0を返すように(Cの</div><div class='del'>-	  rshiftは(x&gt;&gt;(y%32))を返していた)．</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): 置換が行われない場合があった</div><div class='del'>-</div><div class='del'>-	* string.c (str_resize): 本当に必要な時だけrealloc</div><div class='del'>-</div><div class='del'>-Thu Nov 21 04:13:21 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (EXTSTATIC): --with-static-linked-extで全てのモジュー</div><div class='del'>-	  ルを静的リンクするように</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): 行末の改行がない時にもチェックサムをスキッ</div><div class='del'>-	  プするように</div><div class='del'>-</div><div class='del'>-Wed Nov 20 21:42:51 1996  Yasuo OHBA  &lt;jammy@shljapan.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: freebsd対応</div><div class='del'>-</div><div class='del'>-Wed Nov 20 10:24:24 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): 通常リンク用のLDFLAGSとダイナミックリ</div><div class='del'>-	  ンク用のDLDFALGSを分離</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): コンパイルの成功したものを静的リンク</div><div class='del'>-	  のリストに追加する</div><div class='del'>-</div><div class='del'>-	* eval.c (f_missing): オブジェクトの文字列表現が長すぎる時バッファ</div><div class='del'>-	  を書き潰していた</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v): forkした後例外を発生させてはいけない</div><div class='del'>-</div><div class='del'>-Tue Nov 19 13:28:15 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961119</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_method_defined): Module#method_defined? の追加</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): 引数が唯一のコマンドコールである時のバグ(戻</div><div class='del'>-	  り値が展開されてしまう)</div><div class='del'>-</div><div class='del'>-Mon Nov 18 13:28:18 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub): 失敗した時にnilを返していた</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): 検索開始位置が移動してなかった</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyaname): まだ間違っていた</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961118</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): 元の文字列を置換するのを止めた</div><div class='del'>-</div><div class='del'>-	* pack.c (encodes): 領域外をアクセスしていた</div><div class='del'>-</div><div class='del'>-Fri Nov 15 17:10:35 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_divmod): Bignumが引数の場合の対応忘れ</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-expr-beg): word?形式への対応が不完全</div><div class='del'>-</div><div class='del'>-Wed Nov 13 15:42:40 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_tr_s_bang): tr_sでtrが行われていなかった</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): autoloadクラスのチェック</div><div class='del'>-</div><div class='del'>-	* string.c (f_sub): subがsub!と同じ動作になっていた</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_sleep): stopとsleepの分離</div><div class='del'>-</div><div class='del'>-Mon Nov 11 13:53:19 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961111</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_step): to, stepが整数以外の場合に対応</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): dynamic varがdynamic scopingになっていた(これ</div><div class='del'>-	  はまずい)</div><div class='del'>-</div><div class='del'>-	* string.c (str_chop_bang): 長さ0の文字列のchopで，領域外のアクセ</div><div class='del'>-	  スが発生していた．</div><div class='del'>-</div><div class='del'>-	* parse.y (yyerror): 割り当てた領域外をアクセスしていた</div><div class='del'>-</div><div class='del'>-Fri Nov  8 11:54:46 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_yield): scopeをheapにコピー</div><div class='del'>-</div><div class='del'>-Thu Nov  7 09:56:53 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_coerce): とりあえず両辺をFloatに変換することに</div><div class='del'>-</div><div class='del'>-Wed Nov  6 10:45:13 1996  Yasuo OHBA  &lt;jammy@shljapan.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/parsearg.rb: 第2引数を変更．</div><div class='del'>-</div><div class='del'>-Tue Nov  5 14:21:09 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961105</div><div class='del'>-</div><div class='del'>-Sat Nov  2 01:11:40 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_pow): typo (dy -&gt; dx)</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_divmod): 知らない型はfloatに変換してみる</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_lshift): 境界条件のバグ(負になっていた)</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_pow): 無駄なfloatへの変換をなくした</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2): typo(x -&gt; y)</div><div class='del'>-</div><div class='del'>-Fri Nov  1 15:30:59 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_gethostname): gethostnameがない時には</div><div class='del'>-	  unameを使ってホスト名を得る</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getlogin): getloginがNULLを返しても環境変数を</div><div class='del'>-	  調べるように</div><div class='del'>-</div><div class='del'>-	* object.c (krn_clone): オブジェクトのフラグもコピー</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_cmp): ハッシュの比較を`=='でなく`eql?'に変更</div><div class='del'>-</div><div class='del'>-	* math.c (Need_Float): Float()を使って変換する</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_gt): 以前の右辺を返す仕様の名残が残っていた</div><div class='del'>-</div><div class='del'>-Thu Oct 31 12:55:51 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961031</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): typo</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): 長すぎるtrace backを途中省略する</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): 全角のrangeに対応</div><div class='del'>-</div><div class='del'>-Wed Oct 30 03:03:18 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.3-961030</div><div class='del'>-</div><div class='del'>-	* io.c (f_ungetc): 関数を追加</div><div class='del'>-</div><div class='del'>-	* eval.c (dyna_var_asgn): return値忘れ</div><div class='del'>-</div><div class='del'>-Tue Oct 29 10:05:28 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (f_split): 関数splitを追加</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): ネストした外側のクラス/モジュールの定数を参照</div><div class='del'>-	  できるように</div><div class='del'>-</div><div class='del'>-Mon Oct 28 09:51:03 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub): offsetが文字の末尾にある時のチェック</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): 割り当てるレジスタの数が1多かった</div><div class='del'>-</div><div class='del'>-	* io.c (io_gets): $/ = ""の動作をperlに合わせる(awkとはちょっと違</div><div class='del'>-	  うらしい)</div><div class='del'>-</div><div class='del'>-	* io.c (io_gets): $/ = nilの時少し高速化</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): 括弧がnullにマッチした時にも無視し</div><div class='del'>-	  ないように</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): 括弧にマッチした分はlimitの数に含め</div><div class='del'>-	  ないように．</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_coerce_bin): coerceの定義を変更，2要素の配列</div><div class='del'>-	  [x,y]を返すように</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): "do |aa|"の対応を改</div><div class='del'>-	  善した．</div><div class='del'>-</div><div class='del'>-Sat Oct 26 01:43:51 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): ビルトインクラスのサブクラスを</div><div class='del'>-	  正しく復旧できるように</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): ユーザ定義dumpの優先</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_coerce): Float()を使って定義</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): Numericのnewのundefはまずい</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_symbol): シンボルの内容(文字列)は一度し</div><div class='del'>-	  かファイルに書き出さない．</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): if/while修飾子に対応し</div><div class='del'>-	  なくなっていた</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): Bignum.newを除く</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): 引数評価後にファイル名と行番号を再設定</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_div): typo</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): def /, def `に対応</div><div class='del'>-</div><div class='del'>-Fri Oct 25 09:26:29 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): "do |aa|"に対応</div><div class='del'>-</div><div class='del'>-	* array.c (ary_aset): indexがfixnumの場合ちょっと高速化</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_fd_writable): 書き込み前のselectチェック</div><div class='del'>-</div><div class='del'>-	* array.c (ary_assoc): 無限ループに落ちた</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_wait_for): selectがエラー終了した時，linux以外で</div><div class='del'>-	  の動作が正しくなかった．</div><div class='del'>-</div><div class='del'>-Thu Oct 24 08:26:48 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (backtrace): `$@'を文字列から配列に変更した．</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): eval中の例外発生位置を保存する</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub): オペランドの大小比較の失敗</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): 直接参照がない時にも`$~'がセットされるように</div><div class='del'>-</div><div class='del'>-Wed Oct 23 10:40:10 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-961023</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (r_bytes): mallocをやめ，allocaを使う</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): 括弧の対応を変更．</div><div class='del'>-	  ()内ではインデントをレベルを合わせるように</div><div class='del'>-</div><div class='del'>-Tue Oct 22 12:59:11 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_s_new): sizeを指定できるように</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): dumpする深さ制限を指定できるよ</div><div class='del'>-	  うに</div><div class='del'>-</div><div class='del'>-	* array.c (ary_s_new): sizeを指定した時の初期化忘れ</div><div class='del'>-</div><div class='del'>-	* object.c (f_float): big2dblの宣言忘れ．</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub): 大きさの近いBignum同士の演算で結果が負になる</div><div class='del'>-	  場合に間違いがあった．</div><div class='del'>-</div><div class='del'>-	* array.c (ary_aset): 置換先と置換元が同じ長さの時内容を</div><div class='del'>-	  shift(memmove)しないように．</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_dump): ファイルフォーマットにバー</div><div class='del'>-	  ジョンを埋め込むように</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (tmpnam): linux-aout-dln用に定義</div><div class='del'>-</div><div class='del'>-Mon Oct 21 08:40:20 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_gethostbyname): hostent構造体の情報</div><div class='del'>-	  を返す</div><div class='del'>-	  (sock_s_gethostbyaddr): IPアドレスからhostent構造体を得る</div><div class='del'>-	  (sock_s_getservbyaname): getservbyname(3)</div><div class='del'>-</div><div class='del'>-Fri Oct 18 10:37:36 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-indent-to): 移動先カラムが負になるバグ</div><div class='del'>-</div><div class='del'>-	* eval.c (compile): evalで元ソースの行番号でエラーを表示する</div><div class='del'>-</div><div class='del'>-Thu Oct 17 09:52:28 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): evalで文法エラーがあった時にSEGV</div><div class='del'>-</div><div class='del'>-	* lib/safe.rb: Restricted.evalの中だけ制限を加える．</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): バックトレースの出力．callerで例外発生位置</div><div class='del'>-	  を調整した時に問題が出る(そんなことをしなければ良いのだが…)</div><div class='del'>-</div><div class='del'>-	* eval.c (make_backtrace): バックトレースの生成</div><div class='del'>-</div><div class='del'>-Wed Oct 16 12:56:22 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby-man-0.99.2-jp/index.html: 日本語版ドキュメントの完成(長かった…)</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regcomp): $=がnilの時の処理</div><div class='del'>-</div><div class='del'>-	* string.c (f_chop): $_に対するchop</div><div class='del'>-</div><div class='del'>-Tue Oct 15 11:04:23 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-961015</div><div class='del'>-</div><div class='del'>-Mon Oct 14 18:22:38 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): BOW対応．selectが-1を返した時にバグ(実</div><div class='del'>-	  はdo .. whileがcontinueで先頭にジャンプすると思い込んでいた．条</div><div class='del'>-	  件の直前だったのね ^^);;;;;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-mode-syntax-table): ?のsyntaxが"/"では</div><div class='del'>-	  まずいらしい</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): name conflict</div><div class='del'>-</div><div class='del'>-Fri Oct 11 00:23:05 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-961011</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): 結局動いていなかった循環オブジェ</div><div class='del'>-	  クト対応を外した．</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): Fixnumと文字列の高速化</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): 無駄なデータの削除(フォーマッ</div><div class='del'>-	  トの非互換性)</div><div class='del'>-</div><div class='del'>-	* io.c (io_readline): 戻り値の不備</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_dumps): MSDOS対応</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): MSDOS対応</div><div class='del'>-</div><div class='del'>-Wed Oct  9 17:46:27 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): 無駄なコピーを避ける</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_method): マッチがなかった時のString#subの値が</div><div class='del'>-	  違っていた．</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_extend): extendした時にobject_extendedを呼ぶように</div><div class='del'>-</div><div class='del'>-Tue Oct  8 00:55:38 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_alloc): 割当の平均化</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): joinのバグを修正</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_wait_for): selectへの割込みなどに対応</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_select): linuxのselectの挙動に対応(timeoutが変化</div><div class='del'>-	  する)</div><div class='del'>-</div><div class='del'>-Mon Oct  7 09:47:19 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-961007</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_BLOCK): the_classの保存を忘れていた．</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_store): sizeの保存する場所が間違っていた</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_accept): thread対応していなかった</div><div class='del'>-</div><div class='del'>-Sat Oct  5 01:32:27 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_readchar): EOFで例外を発生させる</div><div class='del'>-</div><div class='del'>-Fri Oct  4 11:59:54 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): HashとObjectの復旧に必要なハッ</div><div class='del'>-	  シュテーブルが渡されていなかった．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path2class): ユーザ定義クラスの復旧に失敗していた</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path2class): クラスが存在しない時のエラーをFatal</div><div class='del'>-	  からNameErrorへ．</div><div class='del'>-</div><div class='del'>-	* range.c (range_s_new): first,lastが両方Numericの時エラーになって</div><div class='del'>-	  いた．</div><div class='del'>-</div><div class='del'>-	* range.c: start-&gt;first, end-&gt;last</div><div class='del'>-</div><div class='del'>-Wed Oct  2 02:02:46 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: DJGPPでchmod,chownを使えるように(ってDOSにchownがあるのか?)</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class): ビルトインクラスもextendしたり特異</div><div class='del'>-	  メソッドを追加したりできるように</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_set_class_path): ユーザ定義のトップレベルクラスに</div><div class='del'>-	  pathを設定しない</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): 例外がRuntimeErrorに化けていた</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): eval中の例外の表現の改善</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): eval_with_bindingとの一本化</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): クラス/モジュール定義の中から定義中のクラス/モ</div><div class='del'>-	  ジュールが参照できるように</div><div class='del'>-</div><div class='del'>-Tue Oct  1 01:40:09 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-961001</div><div class='del'>-</div><div class='del'>-	* parse.y: cur_crefが2度宣言されていた</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): SIGSEGV，SIGBUSのない機種に対応</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): 引数タイプの指定間違い</div><div class='del'>-</div><div class='del'>-Mon Sep 30 15:28:00 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-960930</div><div class='del'>-</div><div class='del'>-	* config.guess,config.sub: $host_osが正しく設定されない</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): yieldで正しくないselfが設定されていた</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): toplevelの例外処理のバグ</div><div class='del'>-</div><div class='del'>-Mon Sep 30 09:13:26 1996  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* djgpp対応</div><div class='del'>-</div><div class='del'>-Sat Sep 28 02:45:10 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-960928</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-beginning-of-block): ブロックの先頭に</div><div class='del'>-	  移動(正しくインデントしていないと動作しない)</div><div class='del'>-	  (ruby-end-of-block): 同上</div><div class='del'>-</div><div class='del'>-	* eval.c (class_s_new): Class#newがイテレータとして呼ばれた時は</div><div class='del'>-	  initializeもイテレータとして呼ばれるように</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): SEGVでbacktraceを表示するように</div><div class='del'>-</div><div class='del'>-Fri Sep 27 09:51:07 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-960927</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): 引数のないraiseでメッセージが正しく表示さ</div><div class='del'>-	  れるように．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): mesgがnilの時RuntimeErrorを生成する．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_raise): 引数がない時に対応</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_mark): stack上にないデータのアドレス変換を行って</div><div class='del'>-	  いた．</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): 割込みの間隔が1秒と長すぎた．</div><div class='del'>-</div><div class='del'>-Thu Sep 26 16:02:45 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): 一度ペンディングになるとフラグがクリア</div><div class='del'>-	  されていなかった．</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): system/execの引数が空文字列であった場</div><div class='del'>-	  合，例外を発生すべきだった．</div><div class='del'>-</div><div class='del'>-	* config.sub/config.guess: 新しいものに置き換え</div><div class='del'>-</div><div class='del'>-Thu Sep 26 15:41:35 1996  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): -i.bakをBOWとDOSに対応．</div><div class='del'>-</div><div class='del'>-Thu Sep 26 01:31:43 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_sysread): EOFで例外</div><div class='del'>-</div><div class='del'>-	* io.c (f_readline): EOFで例外を発生するように．getsは互換性のため</div><div class='del'>-	  nilを返すままにする</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): lambdaからのreturnでIN_BLOCKフラグが立ったま</div><div class='del'>-	  まだった</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_BLOCK2): threadに対応するためBlockを一度stackにコピー</div><div class='del'>-</div><div class='del'>-Wed Sep 25 11:54:11 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): Const::method()形式を使えるようにしてみた．</div><div class='del'>-	  引数括弧は省略できない．</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: Process.killの存在を確かめてからテストを行う</div><div class='del'>-</div><div class='del'>-	* eval.c (eval_with_binding): 第2引数としてbinding(またはlambda)を</div><div class='del'>-	  与えるとその環境でevalを実行するようにした</div><div class='del'>-</div><div class='del'>-	* eval.c (f_binding): 現在のbindingを返す関数</div><div class='del'>-</div><div class='del'>-	* eval.c: block構造体にthe_classを保存するメンバを追加</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): kill,wait,waitpidをProcessに移動</div><div class='del'>-</div><div class='del'>-Tue Sep 24 02:44:43 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el: いろいろ問題が多いので以前の高速化は破棄．</div><div class='del'>-	  別のアプローチを使った．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb (Tk.pack): 複数のウィンドウを受け付けるpack</div><div class='del'>-</div><div class='del'>-Sat Sep 21 11:08:09 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (exprs): 空文も受け付けるように文法を変更．今までは改行</div><div class='del'>-	  の連続だけが許されていた．</div><div class='del'>-</div><div class='del'>-Fri Sep 20 11:39:18 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Failの大半を名前つき例外に変更．</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): 名前つき例外を導入．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_missing): Objectはinspectしない．</div><div class='del'>-</div><div class='del'>-	* object.c (inspect_i): Object#inspectでloopに対応．</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): /^$/が""にマッチしなかった．</div><div class='del'>-</div><div class='del'>-Thu Sep 19 19:25:12 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): /^$/が非空行にマッチしていた．</div><div class='del'>-</div><div class='del'>-Tue Sep 17 10:28:11 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-960917</div><div class='del'>-</div><div class='del'>-Mon Sep 16 10:47:56 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): 演算子継続の場合の</div><div class='del'>-	  文字列の判定のバグ</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): elseなどの次の行の</div><div class='del'>-	  インデント計算を正しく．</div><div class='del'>-</div><div class='del'>-Sat Sep 14 08:37:19 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.2-960914</div><div class='del'>-</div><div class='del'>-Fri Sep 13 08:06:03 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (tcpaddr): port番号にntohsをつけ忘れ</div><div class='del'>-</div><div class='del'>-	* dln.c (link_undef): テーブルの種類が間違っていた．</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd): 引き算が発生する時に計算違いが起きていた．</div><div class='del'>-</div><div class='del'>-	* parse.y (iter_do_block): do..endでもdynamic variableを．</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_pow): より正確な計算を(整数同士ではfloatに変換しな</div><div class='del'>-	  い)．</div><div class='del'>-</div><div class='del'>-Thu Sep 12 13:11:55 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_set_class_path): Stringクラスが初期化される前に</div><div class='del'>-	  Stringを作っていた．組込みクラスにはpathはいらない</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 0.1が0になっていた</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 行番号の不整合</div><div class='del'>-</div><div class='del'>-	* gc.c (oblist_live_obj): 今「生きている」全部のオブジェクトを返す</div><div class='del'>-	  イテレータ．そのクラス(またはサブクラス)の全部のインスタンスを返</div><div class='del'>-	  すeach_object_ofも定義した．</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class_id): 無駄なクラスを割り当てていた．結果</div><div class='del'>-	  として未初期化のクラスオブジェクトが存在していた．</div><div class='del'>-</div><div class='del'>-Wed Sep 11 00:56:23 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): octalの定数の検出をより正確に(090はエラーとか)．</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_minus): yがxより大きい場合にエラー．</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): エラー行番号の表示をより正確に</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-expr-beg): 変数名が1文字の時誤動作して</div><div class='del'>-	  いた．</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): ?/でループに落ちい</div><div class='del'>-	  たバグを修正．</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min,enum_max): sortのようにイテレータとしても動作す</div><div class='del'>-	  るように．</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_find_all): typo</div><div class='del'>-</div><div class='del'>-Tue Sep 10 12:07:12 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (nd_line): NODEのlineをflagsに押し込めてオブジェクトサイ</div><div class='del'>-	  ズを小さくした．制限:32bit intのマシンの場合，ファイルの行数が</div><div class='del'>-	  32767を越えると正常に表示されない．</div><div class='del'>-</div><div class='del'>-	* st.c: hashとcompareの関数メンバを構造体にパック，クラス的な使い</div><div class='del'>-	  方を行う．1 tableあたり4 byteの節約．</div><div class='del'>-</div><div class='del'>-Mon Sep  9 16:35:54 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_truncate): 提供されない時には特別な例外を発生するよ</div><div class='del'>-	  うに．</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Proc): 不適切な位置のlocal-jumpを例外に．</div><div class='del'>-</div><div class='del'>-Sat Sep  7 17:06:15 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): まだスコープがスタック上にある時には局所脱出</div><div class='del'>-	  を有効にする．これで，procを生成してcallすることは，スコープを脱</div><div class='del'>-	  出しない限り，yieldと同じ意味を持つことになる．</div><div class='del'>-</div><div class='del'>-Fri Sep  6 13:30:59 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-indent-to): インデントが変わらない時に</div><div class='del'>-	  はバッファを変更しない．</div><div class='del'>-	  (ruby-calculate-indent): まず文字列の内部か判断してから，前の行</div><div class='del'>-	  からパーズを行う．defunが大きくなった時の高速化．</div><div class='del'>-	  (ruby-in-string-p): 文字列の内部かどうかを判断する関数(以前の</div><div class='del'>-	  parseから分離)</div><div class='del'>-	  (ruby-parse-region): 文字列に対する処理をはずす．</div><div class='del'>-	  (ruby-beginning-of-block): ブロックの先頭に</div><div class='del'>-	  (ruby-end-of-block): ブロックの末尾に(遅い…)</div><div class='del'>-</div><div class='del'>-Thu Sep  5 14:23:07 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_split): [dirname,basename]にsplitする．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): evalの中でも定数の値が正しくなるように．これで</div><div class='del'>-	  定数に関しては静的なスコープが保証されるようになった．</div><div class='del'>-</div><div class='del'>-	* st.c (rehash): ハッシュ拡大の系数を2から1.79に．割算がより良い値</div><div class='del'>-	  を返すように．</div><div class='del'>-</div><div class='del'>-Thu Sep  5 00:32:07 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (class_superclass) クラスのスーパークラスを返すメソッド．</div><div class='del'>-</div><div class='del'>-Wed Sep  4 16:54:56 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (f_rand): Bignumやlongの範囲を越えるFloatに対する乱数も</div><div class='del'>-	  発生できるように．</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_alloc): Fatalではなく例外を発生させるように(通</div><div class='del'>-	  常の使用で発生しうる)．</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_s_members): Structの特異メソッドではなく，生成</div><div class='del'>-	  されたStructクラスの特異メソッドにした．</div><div class='del'>-</div><div class='del'>-	* st.c (st_init_table): ruby専用にパラメタを固定にした(サイ</div><div class='del'>-	  ズが減った)</div><div class='del'>-</div><div class='del'>-Mon Sep  2 11:37:59 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_shift): capaがあまりにも大きい時には領域をREALLOC</div><div class='del'>-	(ary_pop): 同上</div><div class='del'>-</div><div class='del'>-	* string.c (str_inspect): multibyte character 対応にミス．</div><div class='del'>-	(str_inspect): unsigned charにしないと符号展開されてしまう</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): `::'をprimaryに移動 Foo::Bar.Bazがエラーにな</div><div class='del'>-	  らないように．</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): オペレータ形式の特異メソッドが定義できない</div><div class='del'>-</div><div class='del'>-	* random.c (f_rand): maxが0の時に対応</div><div class='del'>-</div><div class='del'>-	* io.c (io_printf): 関数を定義していたがインタプリタに登録していな</div><div class='del'>-	  かった．</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_basename): 第2引数が無い時にエラー．</div><div class='del'>-</div><div class='del'>-Thu Aug 29 10:49:40 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): イテレータの新形式に「method do .. end」形式を採</div><div class='del'>-	  用した．もちろん昔の形式も有効．</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): endの数の方が多い場</div><div class='del'>-	  合にもエラーを起こさないように．</div><div class='del'>-</div><div class='del'>-Wed Aug 28 09:41:36 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (upto,downto,step,times): 対象がfixnumの範囲を越えても</div><div class='del'>-	  動作するように．</div><div class='del'>-</div><div class='del'>-Mon Aug 26 10:04:37 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/setenv.c (envix): typo(missing `== 0' for memcmp)</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_foreach): foreach(dir open -&gt; read loop -&gt; closeまで)</div><div class='del'>-</div><div class='del'>-	* io.c (io_foreach): foreach(file open -&gt; read loop -&gt; closeまで)</div><div class='del'>-</div><div class='del'>-	* Fatalのうち捕捉可能ないくつかを例外に．</div><div class='del'>-</div><div class='del'>-Sat Aug 24 23:56:37 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivmod): FIX2INT -&gt; INT2FIX 大間違い</div><div class='del'>-</div><div class='del'>-Fri Aug 23 18:13:03 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_free_registers): allocateしていない時には当然 free</div><div class='del'>-	  してはいけない．</div><div class='del'>-</div><div class='del'>-Thu Aug 22 01:20:35 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): 外側から強制終了させられたthreadは</div><div class='del'>-	  cleanupする必要が無い．</div><div class='del'>-</div><div class='del'>-Wed Aug 21 09:57:28 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): threadを終了させた大域脱出の情報を</div><div class='del'>-	  main_threadに渡すように．</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): 最終引数に括弧を省略したメソッド呼出しを置</div><div class='del'>-	  けるように(例: print foo bar, baz == print(foo(bar,baz)))</div><div class='del'>-</div><div class='del'>-Tue Aug 20 13:37:16 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (masign): 多重代入とrest引数の動作を合わせて空の配列を代</div><div class='del'>-	  入するように．</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): defined?の強度をもうちょっと強く</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): -wで例外名も表示するように</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): 新構文に対応</div><div class='del'>-	(handle_rescue): 捕捉する例外を kind_of? で同定</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): rescueの構文を変更(同定引数の追加，複数rescue)</div><div class='del'>-</div><div class='del'>-	* Fail()のかなりを適当な例外を使うように</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_interrupt): Interrupt(今はnon-local jump)は</div><div class='del'>-	  main-threadに送られるように．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): $! の内容を文字列から例外クラスに変更</div><div class='del'>-	(rb_raise): rb_fail から名称変更</div><div class='del'>-	(rb_interrupt): 例外化</div><div class='del'>-	(rb_exit): 例外化</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): 例外クラスの新設(文字列のサブクラス)</div><div class='del'>-</div><div class='del'>-Mon Aug 19 19:40:52 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): 古いハンドラを返すように．</div><div class='del'>-</div><div class='del'>-Wed Aug 14 00:07:18 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_trap_eval): ハンドラのためにthreadをforkすることを止</div><div class='del'>-	  めた．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_mark): thread毎の $!, $@ をマークし忘れ</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_delete): イテレータとして呼ばれた場合，要素</div><div class='del'>-	  が無ければブロックを評価する．</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_delete): イテレータとして呼ばれた場合，要素が無けれ</div><div class='del'>-	  ばブロックを評価する．</div><div class='del'>-</div><div class='del'>-	* array.c (ary_delete): イテレータとして呼ばれた場合，要素が無けれ</div><div class='del'>-	  ばブロックを評価する．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_interrupt): SIGINTのデフォルトをexitから特別な大域脱</div><div class='del'>-	  出に．やはり割り込まれた位置の表示が無いのは寂しいので．</div><div class='del'>-</div><div class='del'>-Tue Aug 13 01:34:00 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exit): sub-thread内でのexitもstatusを保存するように</div><div class='del'>-	(thread_create): 自thread内のexitに対応</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandle): SIGINTのデフォルトハンドラはexitするように</div><div class='del'>-	  (以前は例外を発生していた)．</div><div class='del'>-</div><div class='del'>-	* 例外の一部をFatalに．</div><div class='del'>-</div><div class='del'>-	* string.c (str_aset): 文字列の置換の対象が部分文字列でなかった時，</div><div class='del'>-	  例外を発生させないように</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): Procの中からbreak/nextは通し，他のものは通さ</div><div class='del'>-	  ないように</div><div class='del'>-</div><div class='del'>-Mon Aug 12 14:15:09 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (krn_type): 文字列を返す</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): sub-thread内でのexitに対応</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_type): 文字列を返す</div><div class='del'>-</div><div class='del'>-	* io.c (f_p): デバッグ用データ表示メソッド</div><div class='del'>-</div><div class='del'>-	* eval.c (f_missing): nil/TRUE/FALSEを特別扱い</div><div class='del'>-</div><div class='del'>-	* string.c (str_inspect): 長い文字列を短縮表示．inspectの働きを</div><div class='del'>-	  human readable stringの生成に統一(re-generatable string は正式に</div><div class='del'>-	  無くなった)．</div><div class='del'>-</div><div class='del'>-Sat Aug 10 16:54:21 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): kernel/nil/false/trueのクラス名を変更(小</div><div class='del'>-	  文字に)，rubyスクリプトからアクセスできないように．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): CONSTANTのアクセス先を単純化．crefを使わない．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_eval): 特異メソッド内でも定数の値が正しくなるように</div><div class='del'>-</div><div class='del'>-Fri Aug  9 12:23:17 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_concat): append -&gt; concat Stringに合わせた</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): `$;'が使えなかった．</div><div class='del'>-</div><div class='del'>-	* array.c (ary_push_method): 複数引数を受け付けるように．</div><div class='del'>-	(ary_unshift): 複数引数を受け付けるように．</div><div class='del'>-</div><div class='del'>-	* io.c (io_popen): IO.popenでcommand pipeが開けるように．</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): KernelとNilをruby scriptからアクセスでき</div><div class='del'>-	  ないように．</div><div class='del'>-</div><div class='del'>-Thu Aug  8 01:21:47 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (f_integer): 整数への変換関数</div><div class='del'>-	(f_float): 実数への変換関数</div><div class='del'>-	(f_string): 文字列への変換関数</div><div class='del'>-	(f_array): 配列への変換関数</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_to_i): FIXNUMの範囲でない時はBignumのまま返すよう</div><div class='del'>-	  に変更．</div><div class='del'>-</div><div class='del'>-Wed Aug  7 09:28:38 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99.1-960807</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs): 「*foo = 1,2,3」タイプの多重代入も可能に．</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): クラスTrue/Falseをruby scriptからアクセ</div><div class='del'>-	  スできないように．</div><div class='del'>-</div><div class='del'>-	* object.c (nil_inspect): inspect表現は"nil"に</div><div class='del'>-</div><div class='del'>-	* io.c (io_print): nilのprintをnilに．</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_s): nilの文字列表現を""に．</div><div class='del'>-</div><div class='del'>-Tue Aug  6 01:12:32 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_open): file descripterが足りない時にはgcしてからも</div><div class='del'>-	  う一度openしてみる．</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fopen): すべてのfopen()についてfile descripterが足りな</div><div class='del'>-	  い時にはgcしてからもう一度openしてみる．</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): 定数の追加．</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-indent-to): インデント後のカーソル位置</div><div class='del'>-	  の調整を正しく．</div><div class='del'>-</div><div class='del'>-	* gc.c (gc): 割込みチェックを行わない(Cコードの中で安心して</div><div class='del'>-	  malloc()が使えなくなるので)．</div><div class='del'>-</div><div class='del'>-	* st.c (call_hash_func): signalとthreadによる割込みに対応．</div><div class='del'>-</div><div class='del'>-	* sig.h (DEFER_INTS): 割込み禁止区間の指定</div><div class='del'>-</div><div class='del'>-	* eval.c (f_require): threadによるrequireの競合に対応(最初の</div><div class='del'>-	  requireが終了するまで他のthreadは待つ)．</div><div class='del'>-</div><div class='del'>-	* bignum.c (str2inum): 0x80000000の値が負になっていた</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): 文字列末尾，行末の単独の`%'に対応</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_cmp): 比較の結果が逆になる時があった．</div><div class='del'>-</div><div class='del'>-Mon Aug  5 10:58:13 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v): 例外のメッセージを分かりやすく．</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_store): nilを格納すると要素の削除になる</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: サイズをキャッシュ．</div><div class='del'>-</div><div class='del'>-Sat Aug  3 01:52:52 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_fail): `fail'が引数無しで呼ばれた時だけ以前の`$@'を保</div><div class='del'>-	  存するように．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_fail): frameの調整</div><div class='del'>-</div><div class='del'>-Fri Aug  2 11:26:21 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_setopt): valとしてTRUE/FALSE/Fixnumも</div><div class='del'>-	  受け付けるように．</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): SO_REUSEADDR等の定数の追加</div><div class='del'>-</div><div class='del'>-	* ext/md5/md5init.c: md5モジュール(初の複数ファイルからなるモジュー</div><div class='del'>-	  ルでもある)</div><div class='del'>-</div><div class='del'>-	* ruby.h (Make_Data_Struct): Data: objectのinstance変数に格納 -&gt;</div><div class='del'>-	  Data型のObjectに(Dir,Time,Proc,Thread,DBM)</div><div class='del'>-</div><div class='del'>-Thu Aug  1 11:38:44 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_store): valueが文字で無い時に対応</div><div class='del'>-</div><div class='del'>-Wed Jul 31 10:53:42 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (open_inet): htonsが必要であった</div><div class='del'>-	(tcpaddr): ntohlで変換した</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): execvp -&gt; execv</div><div class='del'>-</div><div class='del'>-Tue Jul 30 17:48:33 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: `$?'をthread localに</div><div class='del'>-</div><div class='del'>-	* Makefile.in (install): install時にstripを行う</div><div class='del'>-</div><div class='del'>-	* configure.in: install時のstripの検出</div><div class='del'>-</div><div class='del'>-	* configure.in: NEXTSTEP対応</div><div class='del'>-</div><div class='del'>-	* version 0.99.1-960730</div><div class='del'>-</div><div class='del'>-Tue Jul 30 16:40:35 1996  SHIROYAMA Takayuki  &lt;psi@fortune.nest.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): NeXT dln(mach-o)対応．configureは未対応</div><div class='del'>-</div><div class='del'>-Tue Jul 30 09:46:51 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (f_system): 複数引数もとれるように</div><div class='del'>-</div><div class='del'>-	* process.c (f_exec): 複数引数もとれるように</div><div class='del'>-</div><div class='del'>-	* array.c (ary_append): 配列(またはEnum)の要素を破壊的に追加</div><div class='del'>-</div><div class='del'>-	* array.c (ary_plus): Enumはその要素を追加</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_open): File.openを追加</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_new): FIX2INTを忘れていた</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): exists? -&gt; exist?</div><div class='del'>-</div><div class='del'>-	* object.c (obj_is_kind_of): is_kind_of? -&gt; kind_of?, is_a?</div><div class='del'>-</div><div class='del'>-	* object.c (obj_is_instance_of): is_instance_of? -&gt; instance_of?</div><div class='del'>-</div><div class='del'>-Mon Jul 29 16:40:02 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): 式展開を行った場合，casefoldの設定ができて</div><div class='del'>-	  いなかった．</div><div class='del'>-</div><div class='del'>-	* object.c (true_type): TRUE/FALSEにtypeを実装．</div><div class='del'>-</div><div class='del'>-	* parse.y (read_escape): 3文字以内のoctalに対応(\0とか)</div><div class='del'>-</div><div class='del'>-Fri Jul 26 00:31:45 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_reverse_bang): in-placeで配列を反転させる</div><div class='del'>-	(ary_sort_bang): in-placeでsortする</div><div class='del'>-	(ary_sort): sortした配列を返すように</div><div class='del'>-	(ary_delete_at): 指定した位置の要素を削除する</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): stack深さチェックを毎回は行わないように</div><div class='del'>-</div><div class='del'>-	* error.c (Warning): 実行中のwarningが表示されていなかった</div><div class='del'>-</div><div class='del'>-	* eval.c (compile): 例外発生を分離．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_eval): 変数rb_in_evalを正しく管理するように</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_store): 格納するkeyを文字列に変換</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): 無限再帰のチェックを大域脱出を行うC methodにも</div><div class='del'>-	  対応させた．threadのstack深さチェックルーチンを流用．</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 第1引数のunary -/+の判定が間違っていた．</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): unary +で数字を余計に読んでいた(ex. +5 -&gt; 55)</div><div class='del'>-</div><div class='del'>-Thu Jul 25 12:15:04 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 曖昧でない引数に対して警告を出していた．</div><div class='del'>-</div><div class='del'>-	* eval.c (iterator_p): 引数で呼んでも正しい結果を返すように．</div><div class='del'>-</div><div class='del'>-	* parse.y: break/next/redo/retryのメソッド化．</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): nestのチェックミス</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): 予約語のチェックを強化</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): unless/untilの復活</div><div class='del'>-</div><div class='del'>-Tue Jul 23 18:50:10 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (Array#empty?), Hash.c (Hash#empty?), ext/dbm/dbm.c (DBM#empty?):</div><div class='del'>-	  空の判定述語</div><div class='del'>-</div><div class='del'>-	* eval.c (f_unless): ifの逆をするイテレータ</div><div class='del'>-</div><div class='del'>-	* eval.c (f_until): whileの逆をするイテレータ</div><div class='del'>-</div><div class='del'>-	* parse.y: notの優先順位をand/orより高く</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): `!'を引数括弧を省略したcallでも有効に</div><div class='del'>-</div><div class='del'>-Mon Jul 22 10:15:38 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960722</div><div class='del'>-</div><div class='del'>-	* array.c (ary_print_on): OFSのNILチェックが不完全</div><div class='del'>-</div><div class='del'>-	* ruby.c  (load_file): 標準入力からのスクリプトが空の時に対応．</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -wでは引数無しの時には標準入力からスクリ</div><div class='del'>-	  プトをとる(-vではたんに終了する)．</div><div class='del'>-</div><div class='del'>-	* array.c (ary_compact): nilの要素を取り除くメソッド</div><div class='del'>-</div><div class='del'>-	* array.c (ary_nitems): nilでない要素を数えるメソッド</div><div class='del'>-</div><div class='del'>-Sun Jul 20 00:51:53 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -w optionを追加</div><div class='del'>-</div><div class='del'>-	* parse.y: {}が閉じていない時には展開しない文字列を</div><div class='del'>-</div><div class='del'>-Fri Jul 19 16:16:05 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960719</div><div class='del'>-</div><div class='del'>-	* lib/find.rb: 石塚版(pruneの拡張付き)</div><div class='del'>-</div><div class='del'>-	* file.c (test_l): lstatで調べないとね．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_throw): 第2引数を省略可能に．</div><div class='del'>-</div><div class='del'>-	* parse.y (str_extend): {}のネストに対応</div><div class='del'>-</div><div class='del'>-Thu Jul 18 18:25:46 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960718</div><div class='del'>-</div><div class='del'>-	* parse.y (str_extend): 文字列中の式展開に \" ' ` / を含む事ができ</div><div class='del'>-	  るように．</div><div class='del'>-</div><div class='del'>-Tue Jul 16 15:55:31 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): 正規表現内のエスケープ</div><div class='del'>-	  に対応</div><div class='del'>-</div><div class='del'>-	* version 0.99-960716</div><div class='del'>-</div><div class='del'>-Fri Jul 12 10:06:19 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_select): 引数のclose check.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): #!行の引数チェックを第1引数に限定(実をいうと</div><div class='del'>-	  DOS改行対策)</div><div class='del'>-</div><div class='del'>-Wed Jul 10 17:18:35 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960710</div><div class='del'>-</div><div class='del'>-	* time.c (time_s_timegm/time_s_timelocal): 時間を生成するメソッド</div><div class='del'>-</div><div class='del'>-Mon Jun 17 15:59:20 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960617</div><div class='del'>-</div><div class='del'>-	* parse.y (yyerror): エラー表示の簡略化．</div><div class='del'>-</div><div class='del'>-Wed Jun 12 14:11:01 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_trap_exit): trap 0はthreadを生成せずに処理する．</div><div class='del'>-</div><div class='del'>-Fri Jun  7 10:17:01 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c/hash.c (indexes): 配列1引数のパターンを無くした．配列の</div><div class='del'>-	  場合は`*ary'を使ってもらおう．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_wait_threads): main_threadが終了する前に他の</div><div class='del'>-	  threadを待つ(強制的には終了させない)．</div><div class='del'>-	  (ruby_run): 他のthreadを待っている間にシグナルが来たら，全thread</div><div class='del'>-	  を強制終了させる．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_fail): メソッド名を`$!'に埋め込む．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): main_threadのコンテクストがセーブされな</div><div class='del'>-	  い場合があった．</div><div class='del'>-</div><div class='del'>-	* process.c (f_sleep): 時間を指定せず，threadがひとつしかない状況</div><div class='del'>-	  にも対応．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): create後，fnを呼び出す前にcontext switch</div><div class='del'>-	  が起きると違うcontextでfnが実行されてしまうバグ．</div><div class='del'>-</div><div class='del'>-Mon Jun  3 08:03:17 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_s_def): メンバの指定を文字列，シンボル(FIXNUM)</div><div class='del'>-	  双方で可能にした．</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): 構造体オブジェクトをGCから保護した．</div><div class='del'>-</div><div class='del'>-	* error.c (rb_sys_fail): nil/FALSEを引数として受け付けるように．</div><div class='del'>-</div><div class='del'>-Thu May 30 16:19:08 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_select): EINTRに対応．</div><div class='del'>-</div><div class='del'>-Wed May 29 11:04:51 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_catch): catch/throwを実装した．</div><div class='del'>-</div><div class='del'>-Tue May 28 13:30:52 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960528</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_cleanup): main threadが終了すると他のthreadも終了</div><div class='del'>-	  することの明確化．</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): SIGINTのデフォルトの設定ミス(本当にSIG_DFLでは</div><div class='del'>-	  まずかった)．rubyではちゃんとハンドルしないと．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_interrupt): SIGINTはmain_threadに例外を発生させる</div><div class='del'>-	  ように．</div><div class='del'>-</div><div class='del'>-Mon May 27 15:13:31 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_status): threadの状態を返すメソッド．threadの終了</div><div class='del'>-	  を待たない．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_value): 一種のpromiseを実装するためのメソッド．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_join): 待っているthreadが例外を起こした時には，</div><div class='del'>-	  joinがその例外を発生するように．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): threadでの例外をpropagateしないように．</div><div class='del'>-</div><div class='del'>-Fri May 24 10:47:53 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (Init_Enumerable): `size' as alias to the `length'</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_save_context): `$@', `$!'をスレッド毎にセーブ．</div><div class='del'>-</div><div class='del'>-	* eval.c (superclass): エラー表示をより親切に．</div><div class='del'>-</div><div class='del'>-Thu May 23 10:38:41 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.99-960523</div><div class='del'>-</div><div class='del'>-	* eval.c (superclass): エラー時にスーパークラス名を(分かれば)表示</div><div class='del'>-	  するように．</div><div class='del'>-</div><div class='del'>-Wed May 22 19:48:42 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (superclass): スーパークラスの指定子を`:'から`&lt;'に変更．</div><div class='del'>-</div><div class='del'>-Tue May 21 09:27:59 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: threadをサポートするクラス(Mutex, Queue)．</div><div class='del'>-</div><div class='del'>-Mon May 20 09:39:49 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_cmp): 浮動小数点数も扱えるように．</div><div class='del'>-	(time_minus): Time - Timeが浮動小数点数を返すように．</div><div class='del'>-</div><div class='del'>-Fri May 17 15:40:10 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): Thread対応時にexecの直前に</div><div class='del'>-	  ITIMER_VIRTUALをリセットする．</div><div class='del'>-</div><div class='del'>-Tue May 14 02:12:44 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandle): SIGINTに対してデフォルトで例外を発生させる</div><div class='del'>-	  のをやめ，status 130でexitするようにした．</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): Threadのバグはほとんどとれたようだ．</div><div class='del'>-</div><div class='del'>-Fri May 10 11:21:08 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): ユーザレベルThread機能．効率はともかく</div><div class='del'>-	  移植性はある．今後，thread間の通信機能を実装する予定．</div><div class='del'>-</div><div class='del'>-Thu May  2 21:22:31 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timeval): struct timevalを直接返すように(static変数</div><div class='del'>-	  を使わない)．</div><div class='del'>-</div><div class='del'>-Wed May  1 17:27:32 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (f_sleep): 整数以外のtimeを指定できるように．</div><div class='del'>-</div><div class='del'>-Thu Apr 25 08:19:15 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_dirname): ファイル名が"/"を含まない時，"."を返す</div><div class='del'>-	  ように(GNU dirnameの仕様)．</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_basename): まだnilと0を混同しているソースが残って</div><div class='del'>-	  いた．</div><div class='del'>-</div><div class='del'>-	* parse.y (exprs): エラーリカバリを追加．</div><div class='del'>-</div><div class='del'>-Wed Apr 24 15:51:05 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_chop_bang): CRLFの場合2 bytesをchop!するように．</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (tcp_svr_s_open): まだnilと0を混同しているソー</div><div class='del'>-	  スが残っていた．</div><div class='del'>-</div><div class='del'>-Tue Apr 23 18:14:25 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): "A/a"のバグ．余計なpaddingが入っていた．</div><div class='del'>-</div><div class='del'>-Thu Apr 18 13:02:11 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: アーキテクチャ依存部を別ディレクトリにインストール</div><div class='del'>-	  するように．</div><div class='del'>-</div><div class='del'>-	* parse.y (yyerror): エラー発生時にエラー行とその位置を表示するよ</div><div class='del'>-	  うに．</div><div class='del'>-</div><div class='del'>-Wed Apr 17 14:22:42 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h: SAFE_SIGHANDLEを無くし，危険な選択はできないように．</div><div class='del'>-</div><div class='del'>-	* io.c (io_ungetc): 新機能．</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): ファイルからの読み込み方式が変わったのに対応．</div><div class='del'>-</div><div class='del'>-	* parse.y (compile_file): ファイルからの入力を一度全部読み込むのを</div><div class='del'>-	  止めて，getsを使うことにした．</div><div class='del'>-</div><div class='del'>-Wed Apr 10 17:40:11 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.98</div><div class='del'>-</div><div class='del'>-Tue Apr  9 09:54:30 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (iter_block): イテレータブロックの指定をメソッド呼び出し</div><div class='del'>-	  に限定．文法の明確化．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): 条件式の正規表現の比較をinline化．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): defined? の 定義情報(種別)を文字列で返す．</div><div class='del'>-</div><div class='del'>-	* node.h: NODE_BEGIN -&gt; NODE_RESCUE, NODE_ENSUREに分離．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): option -n/-pのトップレベルループのinline展開．</div><div class='del'>-</div><div class='del'>-	* parse.y (cond0): 条件式中の文字列は比較の対象としない</div><div class='del'>-</div><div class='del'>-Wed Mar 27 12:33:54 1996  Tairo Nomura  &lt;tairo@hucom.tp.titech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h: NeXT対応</div><div class='del'>-</div><div class='del'>-Wed Mar 27 10:02:44 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: 予約語の変更 continue -&gt; next</div><div class='del'>-</div><div class='del'>-Mon Mar 25 07:34:37 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): o(once)オプションを追加．</div><div class='del'>-</div><div class='del'>-Fri Mar 22 14:25:35 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.97d</div><div class='del'>-</div><div class='del'>-	* eval.c (dyna_var_defined): 動的ローカル変数の定義チェック用ルー</div><div class='del'>-	  チン．</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable): eval()の中での動的ローカル変数(既に値を持っ</div><div class='del'>-	  ているもの)の検出に失敗していた．</div><div class='del'>-</div><div class='del'>-Tue Mar 19 10:46:47 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.97c</div><div class='del'>-</div><div class='del'>-	* re.c (reg_s_new): compile時にsegmentation fault．</div><div class='del'>-</div><div class='del'>-	* parse.y (str_extend): いつもevalするように．</div><div class='del'>-</div><div class='del'>-Wed Mar 13 11:00:42 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (str_extend): 文字列中の式展開の不備を無くした．</div><div class='del'>-</div><div class='del'>-	* parse.y: 下手なエラーリカバリを外した．</div><div class='del'>-</div><div class='del'>-Tue Mar 12 12:30:20 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rescue): 間違ってensureでも例外を捕捉していた．</div><div class='del'>-</div><div class='del'>-Wed Mar  6 12:11:03 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (var_extend): 変数展開"#{}"で，任意の式を書けるようにし</div><div class='del'>-	  た，これで「変数」展開では無くなっちゃったなあ．</div><div class='del'>-</div><div class='del'>-	* regex.c (init_syntax_once): `_'をwordに追加．</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): `\w',`\W'の判定をsyntax tableを使</div><div class='del'>-	  うように．</div><div class='del'>-</div><div class='del'>-Tue Feb 27 10:15:32 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (obj_inspect): 表示するインスタンス変数が無い時には，</div><div class='del'>-	  to_sを使う．</div><div class='del'>-</div><div class='del'>-	* configure.in: dlnの検出を自動的に．</div><div class='del'>-</div><div class='del'>-Mon Feb 26 19:55:33 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (readin): read(2)で一度にファイルが読み込めない場合に対応．</div><div class='del'>-</div><div class='del'>-Sat Feb 24 14:47:18 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.97b</div><div class='del'>-</div><div class='del'>-Fri Feb 23 11:26:02 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_module): C言語で定義されたモジュールのPATHの</div><div class='del'>-	  設定忘れ．文字列化でcore dump．</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_include): 戻り値をnilに．</div><div class='del'>-</div><div class='del'>-	* version 0.97a</div><div class='del'>-</div><div class='del'>-Thu Feb 22 21:03:42 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_times): 「配列*文字列」がjoinと同じ働きをするように．</div><div class='del'>-</div><div class='del'>-Wed Feb 21 11:18:09 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in : fileCountをcache．</div><div class='del'>-</div><div class='del'>-	* configure.in : LinuxでELF環境を自動的に検出できるよう．</div><div class='del'>-</div><div class='del'>-Tue Feb 20 11:18:09 1996  Mitsuhide Satou  &lt;mit-sato@aries.bekkoame.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* FreeBSD dynamic link対応．</div><div class='del'>-</div><div class='del'>-Fri Feb 16 08:50:01 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (obj_inspect): インスタンス変数を持たないオブジェクトも</div><div class='del'>-	  正しく表示されるように．</div><div class='del'>-</div><div class='del'>-Wed Feb 14 16:56:44 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): 条件式の`2..2'など左辺成立直後に右辺が成立する</div><div class='del'>-	  パターンにバグ．</div><div class='del'>-</div><div class='del'>-Tue Feb 13 18:22:22 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.97</div><div class='del'>-</div><div class='del'>-Fri Feb  9 21:32:55 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tkscrollbox.rb: スクロールでtclの設定を行い，ruby&lt;-&gt;wishの不</div><div class='del'>-	  要な通信を無くした．</div><div class='del'>-</div><div class='del'>-Wed Feb  7 10:26:52 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_aref): indexをunsigned intでとっていた．</div><div class='del'>-</div><div class='del'>-	* string.c (str_aref): 範囲外のindexに対してnilを返す．</div><div class='del'>-</div><div class='del'>-	* parse.y (special_local_set): `$_'が宣言無しに使われた場合に対応．</div><div class='del'>-	  関数をvariable.cから移動．</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub): 置換開始位置が間違っていた．</div><div class='del'>-</div><div class='del'>-Tue Feb  6 16:17:31 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): コメントの読み飛ばしの</div><div class='del'>-	  バグ．</div><div class='del'>-</div><div class='del'>-Fri Feb  2 18:35:28 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (lastline_get): `$_'を`$~'と同じようにSCOPEローカルな</div><div class='del'>-	  変数にした．</div><div class='del'>-</div><div class='del'>-Thu Feb  1 14:14:07 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: statのcacheをやめた．</div><div class='del'>-</div><div class='del'>-Wed Jan 31 07:13:08 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_s_new): procの中でyieldを呼ばれた時にcore dumpして</div><div class='del'>-	  いた．とりあえず例外を発生させる．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class2path): singleton classに対応．</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): struct_defineのターミネータがnilだった</div><div class='del'>-	  (0でなければならない)．</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c: TRUE/FALSEを吐き出せるように．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_get_method_body): キャッシュのalias対応，いままでは</div><div class='del'>-	  aliasはキャッシュに入っていなかった．</div><div class='del'>-</div><div class='del'>-Tue Jan 30 09:55:13 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): NODE_BLOCK - tail recursive(というほどでもない</div><div class='del'>-	  が)．</div><div class='del'>-</div><div class='del'>-	* io.c (io_pipe): pipe(2)を実装した．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): Qselfをなくした．thread対応への第一歩．先は遠</div><div class='del'>-	  いが…．</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_call): procの中でのreturnはprocの終了を意味するよう</div><div class='del'>-	  に．ただし，procからのyieldの中でのreturnは例外を発生する．</div><div class='del'>-</div><div class='del'>-Wed Jan 24 11:33:48 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.96a</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_each): `$_'の値を変更するのをやめた．</div><div class='del'>-</div><div class='del'>-	* io.c (f_readlines): nilとFALSEの分離のあおりで無限ループに落ちて</div><div class='del'>-	  いた．</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_options): $0の設定ミス．</div><div class='del'>-</div><div class='del'>-Tue Jan 23 15:28:21 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): ``は文字列を引数とするメソッド(`)呼び出しのシ</div><div class='del'>-	  ンタックスシュガーであるとした．</div><div class='del'>-</div><div class='del'>-	* ruby.c (addpath): `-I'オプションでディレクトリが「前に」追加され</div><div class='del'>-	  るように変更．</div><div class='del'>-</div><div class='del'>-Fri Jan 19 11:23:12 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (load_1): N_INDR対応(出来たような気がする)．</div><div class='del'>-</div><div class='del'>-Thu Jan 18 18:14:20 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.texi: FALSEとnilの分離を反映した．</div><div class='del'>-</div><div class='del'>-Tue Jan 16 17:39:23 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.96 - とりあえずnilとFALSEを区別する版</div><div class='del'>-</div><div class='del'>-Wed Jan 10 15:31:48 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_match): マッチしなかった時の戻り値はFALSE．</div><div class='del'>-</div><div class='del'>-	* object.c (rb_equal): `0 == nil'がTRUEになるバグ．</div><div class='del'>-</div><div class='del'>-Tue Jan  9 00:44:58 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* nilとFALSEが分離可能に変更．</div><div class='del'>-</div><div class='del'>-	* nilとFALSEと0の区別を厳密に．</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_new): 引数を0で終る必要が無くなった．</div><div class='del'>-</div><div class='del'>-	* object.c (inspect_i): オブジェクトのチェックのバグ(Fixnumでcore</div><div class='del'>-	  dumpしていた)．</div><div class='del'>-</div><div class='del'>-	* range.c (range_to_s): Rangeの表示を改善．</div><div class='del'>-</div><div class='del'>-	* object.c (true_inspect): TRUEの表示を`TRUE'に．</div><div class='del'>-</div><div class='del'>-Mon Jan  8 15:02:33 1996  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): divide by zero errorが発生した(オーバーフロー</div><div class='del'>-	  検出のバグ)</div><div class='del'>-</div><div class='del'>-	* texinfo.texをパッケージに含めた．</div><div class='del'>-</div><div class='del'>-Sun Dec 31 00:08:49 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): `::'では，そのクラスで定義された定数を参照する</div><div class='del'>-	  ように変更．</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): eachをeach_lineに戻した．</div><div class='del'>-</div><div class='del'>-Thu Dec 28 12:31:55 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): caseの演算子を`=~'から`==='に．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): クラス定数の再定義を許す(同じクラスで</div><div class='del'>-	  は不可)．警告は出す．</div><div class='del'>-</div><div class='del'>-Wed Dec 27 13:27:52 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.95c</div><div class='del'>-</div><div class='del'>-	* ext/tkutil/tkutil.c: wishがあってもなくても一応コンパイルだけは</div><div class='del'>-	  するように．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: 環境変数PATHから{wish|wish4.0}を探すように．</div><div class='del'>-</div><div class='del'>-Tue Dec 26 01:03:42 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): 正規表現の検出強化．</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): 乗算のオーバーフロー検出アルゴリズムのバグ．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: ./install-shを使う場合のPATHを調整．</div><div class='del'>-</div><div class='del'>-	* Makefile.in (install): lib/*.rbを一つずつインストール．</div><div class='del'>-</div><div class='del'>-	* io.c (io_each_line): イテレータの戻り値をnilで統一．</div><div class='del'>-</div><div class='del'>-Fri Dec 22 10:34:32 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.95b</div><div class='del'>-</div><div class='del'>-	* variable.c (f_untrace_var): 第2引数を指定すると特定のtraceを削除</div><div class='del'>-	  できるように．</div><div class='del'>-</div><div class='del'>-	* variable.c (f_trace_var): 第2引数がnilの時，traceを削除する．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb (file_readable/file_writable): 第2引数をnilにすること</div><div class='del'>-	  によるevent handlerの削除．</div><div class='del'>-</div><div class='del'>-	* parse.y (variable): ドキュメントに`__FILE__'と`__LINE__'が残って</div><div class='del'>-	  いた．`caller(0)'で代用したはずだったのに．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_eval): $!のリセット．</div><div class='del'>-</div><div class='del'>-	* error.c (err_sprintf): 勝手に"\n"を付加するのを止めた．</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arglist): 引数リスト直後のif/whileの読み間違い．</div><div class='del'>-	  lex_stateの値が設定されていなかった．</div><div class='del'>-</div><div class='del'>-Thu Dec 21 00:56:57 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.95a - ^^;;;</div><div class='del'>-</div><div class='del'>-	* lib/tkscrollbox.rb: パッケージに入ってなかった．</div><div class='del'>-</div><div class='del'>-	* configure.in: FILE structureのチェックにバグ．</div><div class='del'>-</div><div class='del'>-	* Makefile.in (clean): ext以下をinstallしていた．</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Solarisにおける-lnlsのチェック．</div><div class='del'>-</div><div class='del'>-	* array.c (beg_len): バグがあった…．悲しい．</div><div class='del'>-</div><div class='del'>-	* version 0.95 - fj.sourcesに</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): rescueのロジックをrb_rescue()に一元化．</div><div class='del'>-</div><div class='del'>-Wed Dec 20 19:30:58 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: 不要なコンパイルの回避(より完全に)．</div><div class='del'>-</div><div class='del'>-	* class.c (singleton_class_new): `single'-&gt;`singleton'</div><div class='del'>-</div><div class='del'>-Tue Dec 19 07:14:33 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (closed?): IOがcloseされているかどうかを知る述語．</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): 特異メソッドの引数のlex_stateが不適切．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: tcl-&gt;rubyの変換関数の用意．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): installの2重コンパイルの回避．</div><div class='del'>-</div><div class='del'>-	* array.c (range_beg_len): range指定の不適切なエラーを訂正．</div><div class='del'>-</div><div class='del'>-	* string.c (str_aref): range指定のバグを削除．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb (tk_split_list): Tclのリストに対応．</div><div class='del'>-</div><div class='del'>-Mon Dec 18 09:58:12 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.94</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): HP対応(未確認)</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Proc): BlockをProcに改名．</div><div class='del'>-</div><div class='del'>-Sat Dec 16 13:46:14 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): retryでイテレータの再実行ができるように．</div><div class='del'>-</div><div class='del'>-Fri Dec 15 17:14:30 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: proc:lambdaの親しみやすい別名</div><div class='del'>-</div><div class='del'>-Thu Dec 14 17:21:55 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (dyna_var_asgn): イテレータブロック内で最初に初期化された</div><div class='del'>-	  ローカル変数の有効範囲をそのブロック内に限定．これでlambdaと呼べ</div><div class='del'>-	  ないことはない．</div><div class='del'>-</div><div class='del'>-Wed Dec 13 02:30:58 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: autoloadのマークミス．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: wishからの複数行の戻り値に対応</div><div class='del'>-</div><div class='del'>-	* lib/tkcomposite.rb: 複合widget</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class2path): ICLASSに対応してなかった．</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): exit(0)のバグ</div><div class='del'>-</div><div class='del'>-Sat Dec  9 01:21:24 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (dumps|load): 文字列に対する入出力を可能に</div><div class='del'>-	  した(ただし実はファイル経由なのだ)．</div><div class='del'>-</div><div class='del'>-Fri Dec  8 18:29:11 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c: シンボルを一度だけ初期化する．</div><div class='del'>-</div><div class='del'>-Thu Dec  7 07:58:50 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 第1引数の正規表現の認識にエラーがあった．同時に</div><div class='del'>-	  状態数を減らした．</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub): 置換でスキップ幅が大きすぎた．</div><div class='del'>-</div><div class='del'>-Wed Dec  6 15:14:23 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_method): sub/gsub(!なし)は置換が行なわれなかっ</div><div class='del'>-	  た時，置換前の文字列を返す．</div><div class='del'>-</div><div class='del'>-Tue Dec  5 00:55:15 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 括弧を省略した時の引数展開の`*'に対応．</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): EXITハンドラ内での例外に対応．</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_cmp): BignumとFixnumの比較で落ちる．</div><div class='del'>-</div><div class='del'>-Mon Dec  4 14:21:18 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_op): コンパイル時の定数式の展開をやめた．労多くし</div><div class='del'>-	  て益少ないと判断したので．</div><div class='del'>-</div><div class='del'>-Thu Nov 30 01:35:15 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: {Radio,Check}Buttonのvariableの実装．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): Block.callがネストした時のバグ．</div><div class='del'>-</div><div class='del'>-	* io.c (f_select): 常に配列3つをふくむ配列を返すように</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: fileeventをruby側で実装．</div><div class='del'>-</div><div class='del'>-Wed Nov 29 17:53:23 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_get): selfを常に指定するように．</div><div class='del'>-</div><div class='del'>-Tue Nov 14 00:07:29 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: Tk4.0対応</div><div class='del'>-</div><div class='del'>-Mon Nov 13 16:23:32 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.93</div><div class='del'>-</div><div class='del'>-Thu Nov  9 23:26:01 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): モジュールのMixinのマーク忘れ．</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arglist): メソッド定義の引数を括弧で括らなくても良い</div><div class='del'>-	  ようにした．</div><div class='del'>-</div><div class='del'>-Wed Nov  8 00:17:51 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): 未初期化のローカル変数があった．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): pendig signalのチェックをeval実行後に行うよう</div><div class='del'>-	  にした．でないとシグナルの発生と検出が遠く離れてしまう事がある．</div><div class='del'>-</div><div class='del'>-	* parse.y: class文のsuperclass部を定数から式に拡張した．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: Tkのほぼ全ウィンドウクラスに対応．キャンバスとテキス</div><div class='del'>-	  ト上のオブジェクトが残っている．</div><div class='del'>-</div><div class='del'>-Tue Nov  7 08:18:37 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): ブロックを指定できるように．</div><div class='del'>-</div><div class='del'>-Mon Nov  6 16:44:00 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_caller): 呼出元の情報を得る．</div><div class='del'>-</div><div class='del'>-	* ext/tkutil/tkutil.c: wishのstderr出力を監視することで，エラー処</div><div class='del'>-	  理を行う．</div><div class='del'>-</div><div class='del'>-	* ext/tkutil/tkutil.c: wishとの通信部をCで記述．</div><div class='del'>-</div><div class='del'>-Sat Nov  4 01:12:59 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): インデントの計算を</div><div class='del'>-	  もう少しスマートにした(正規表現のチェック，継続行のチェック)．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): 無限再帰を避けるため，関数のネストレベルの制限</div><div class='del'>-	  を行なう．</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: Tkインターフェース．まだ不完全だが．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): 空のBlockのバグ．</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): 行末の演算子による</div><div class='del'>-	  行継続に対応．</div><div class='del'>-</div><div class='del'>-Fri Nov  3 12:56:21 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): 本体が空の関数の実行にバグ．</div><div class='del'>-</div><div class='del'>-	* parse.y (var_extend): 文字列の末尾の変数展開のバグ．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_gvar_set): traceの評価時にに変数値を与えるように．</div><div class='del'>-</div><div class='del'>-	* eval.c (f_require): ruby scriptのrequireにbug．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get): モジュールのinclude対策．</div><div class='del'>-</div><div class='del'>-Thu Oct 19 13:56:06 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): HP対応でのtypo.</div><div class='del'>-</div><div class='del'>-Wed Oct 18 17:39:39 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.92</div><div class='del'>-</div><div class='del'>-	* object.c (krn_type): オブジェクトの動的な型を返すメソッド．</div><div class='del'>-</div><div class='del'>-Tue Oct 17 00:48:18 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -X オプション．chdirだけを行う．</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): 漢字コードを途中で変更できるように．コンパイ</div><div class='del'>-	  ル時のコードが変更された時にはマッチの直前に正規表現の再コンパイ</div><div class='del'>-	  ルを行う．定数KCODEから変数$KCODEへ．</div><div class='del'>-</div><div class='del'>-	* parse.y: ()のなかにcompexprを許す．</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): メモリリークを直した．</div><div class='del'>-</div><div class='del'>-Fri Oct 13 13:19:19 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub): 文字列置換にバグ．</div><div class='del'>-</div><div class='del'>-	* string.c (str_strip_bang): 文字列の後ろの長さの調整が行われてい</div><div class='del'>-	  なかった．</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): $&amp;, $1...はローカルに束縛するようになった．呼</div><div class='del'>-	  び出したメソッドでのマッチは現スコープの$&amp;などの値に影響しない．</div><div class='del'>-	  マッチの情報をスコープ外で得たいときには$~を使って束縛情報を持ち</div><div class='del'>-	  出す必要がある．</div><div class='del'>-</div><div class='del'>-Thu Oct 12 00:33:33 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): String:split, String:indexでは$&amp;, $1...が変化</div><div class='del'>-	  しないようにした．</div><div class='del'>-</div><div class='del'>-	* io.c (rb_str_setter): setterの仕様が変更になっていた．</div><div class='del'>-</div><div class='del'>-	* variable.c (f_trace_var): 第2引数を省略してイテレータとして呼べ</div><div class='del'>-	  るように．</div><div class='del'>-</div><div class='del'>-Wed Oct 11 11:50:59 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.91</div><div class='del'>-</div><div class='del'>-	* variable.c (var_setter): 引数が間違っていた．致命的バグ．</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): $stderrの値が変更されている時にはそちらを</div><div class='del'>-	  子プロセスのstderrに設定する．</div><div class='del'>-</div><div class='del'>-Mon Oct  9 13:06:33 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (mod_to_s): モジュール内のモジュールは`::'を使った表現</div><div class='del'>-	  で表示されるように．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_gvar_set): 代入によるループが発生しないように，</div><div class='del'>-	  trace内での代入ではtraceを評価しない．</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_equal): structのequal判定にクラスの一致を含めた．</div><div class='del'>-</div><div class='del'>-Sat Oct  7 00:18:32 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): defined?の機能を拡張(yieldのチェック，superの</div><div class='del'>-	  存在など)．</div><div class='del'>-</div><div class='del'>-Fri Oct  6 12:06:47 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.90</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): 要素を削除した時に要素数が変化していなかった．</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_values): バグ修正．keysを返していた…．</div><div class='del'>-</div><div class='del'>-	* parse.y (call_op): defined? の引数では定数の畳み込みを行わない</div><div class='del'>-	  (チェックする前にコンパイルエラーになっては困る)．</div><div class='del'>-</div><div class='del'>-	* スコープ生成の一部見直し．</div><div class='del'>-</div><div class='del'>-Thu Oct  5 00:29:43 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* 関数とクラスの命名規則を変更した．関数名，変数名の全面書き換え．</div><div class='del'>-</div><div class='del'>-	* gc.c (looks_pointerp): ヒープチェックの高速化．</div><div class='del'>-</div><div class='del'>-	* struct.c (Fstruct_aset): 構造体に対する`[]='．</div><div class='del'>-	(struct_set): 構造体メンバに対する代入．</div><div class='del'>-</div><div class='del'>-Wed Oct  4 09:54:07 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.89</div><div class='del'>-</div><div class='del'>-	* eval.c (Frequire): ダイナミックロードのエラーチェックを厳しく．</div><div class='del'>-</div><div class='del'>-	* struct.c: structの構造を完全に書き換えた．以前は順序付きの</div><div class='del'>-	  id-&gt;valueの連想配列であったが，今度は構造体毎に新しいクラスを生</div><div class='del'>-	  成するようにした．</div><div class='del'>-</div><div class='del'>-	* parse.y: `::'の意味をAssocの生成からクラス(モジュール)内の定数ア</div><div class='del'>-	  クセスへ変更．</div><div class='del'>-</div><div class='del'>-	* assoc.c: なくす．</div><div class='del'>-</div><div class='del'>-Tue Oct  3 13:31:08 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (Ftrace_var): trace_var, 大域変数への書き込みhookを設</div><div class='del'>-	  定する．</div><div class='del'>-</div><div class='del'>-	* variable.c: global_entryの構成を書き換えた．これでtrace_varを実</div><div class='del'>-	  装できる．</div><div class='del'>-</div><div class='del'>-	* file.c (Ffile_stat): "&amp;"で直前のfstatの結果も参照できるように．</div><div class='del'>-</div><div class='del'>-Fri Sep 29 14:15:13 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.88</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): AIXとHPに対応したコードを入れた(動作は未確認)．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: 必要に応じて，定数EXTLIBを定義するように．</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): dln独立に書き換える．将来の拡張用．</div><div class='del'>-	(load_1): dln_a_outにおいてソースコードでライブラリを明示的にロー</div><div class='del'>-	ドする必要がないように変更した．</div><div class='del'>-</div><div class='del'>-Thu Sep 28 13:31:37 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el: もっとましなhilit19対応(正規表現)．</div><div class='del'>-</div><div class='del'>-Wed Sep 27 04:12:44 1995  Takahasi Mamoru  &lt;taka@soum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: echoで-nを使わないように(SysV対策)．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: sub -&gt; sub!</div><div class='del'>-</div><div class='del'>-Tue Sep 26 19:12:42 1995  Yasuo OHBA  &lt;jammy@csg.mes.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): `.', `..'から始まるパスに対応した.</div><div class='del'>-</div><div class='del'>-Mon Sep 25 12:33:03 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.87</div><div class='del'>-</div><div class='del'>-Sat Sep 23 10:00:18 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Fmod_modfunc): メソッドをprivateにし，同時に特異メソッド</div><div class='del'>-	  も定義するメソッド．パッケージ的使い方のモジュール用．</div><div class='del'>-</div><div class='del'>-Fri Sep 22 11:02:44 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb: findを提供するライブラリ</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_define_variable): hookの設定を分離．</div><div class='del'>-	(add_hook): 1変数に対して複数のhookを設定できるように．</div><div class='del'>-</div><div class='del'>-Thu Sep 21 00:22:11 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_frozen): 文字列が更新不可かどうかをチェックする述</div><div class='del'>-	  語メソッド．</div><div class='del'>-</div><div class='del'>-	* hash.c (Fhash_aset): keyが文字列の時，キーの内容が変化しないよう</div><div class='del'>-	  に，dupしてfreezeする．</div><div class='del'>-</div><div class='del'>-Wed Sep 20 16:12:44 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.86</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (have_header): キャッシュにバグ．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (have_library): 引数の順序が変わった．</div><div class='del'>-</div><div class='del'>-Thu Sep 14 18:00:59 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (obj_is_instance_of): is_member_ofから名称変更．</div><div class='del'>-</div><div class='del'>-	Wed Sep 13 15:44:35 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_tr_bang): 範囲外の文字に対する変換バグ．</div><div class='del'>-</div><div class='del'>-Tue Sep 12 14:27:58 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Sfile_expand_path): expand_file_name -&gt; expand_pathに名</div><div class='del'>-	  称変更．</div><div class='del'>-</div><div class='del'>-	* enum.c (Fenum_member): includes? -&gt; member? に名称変更．</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_each_byte): StringはByteArrayであるという基本に戻っ</div><div class='del'>-	  て，eachの定義をeach_byteに変更した．今までのeachはeach_lineでア</div><div class='del'>-	  クセスできる．</div><div class='del'>-</div><div class='del'>-Mon Sep 11 18:31:17 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (cache_stat): ファイル名として"&amp;"を指定すると直前の</div><div class='del'>-	  stat(2)の結果を再利用するように．</div><div class='del'>-</div><div class='del'>-Fri Sep  8 14:18:51 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.texi: `!', `?'に対応してアップデート．</div><div class='del'>-</div><div class='del'>-	* parse.y: defined -&gt; defined?</div><div class='del'>-</div><div class='del'>-	* file.c: FileOpの一文字メソッドをなくす．一文字テストはtestメソッ</div><div class='del'>-	  ドにまかせる．</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 変数名の後ろに`?'も許す．述語メソッドの後ろに</div><div class='del'>-	  `?'を追加する．</div><div class='del'>-</div><div class='del'>-Thu Sep  7 20:01:33 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: 文字列の中身を更新するメソッドの名前の終りに`!'を付加．</div><div class='del'>-	  `!'の無いバージョンも用意した．</div><div class='del'>-</div><div class='del'>-	* parse.y: 変数名の後ろに`!'を許す．</div><div class='del'>-</div><div class='del'>-Wed Sep  6 14:12:19 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.85</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_dup): 文字列の複製を作る</div><div class='del'>-	(Fstr_freeze): 文字列の更新不可属性を設定できるように．</div><div class='del'>-	(Fsub/Fgsub): $_の内容をdupしてから置換を行うように．</div><div class='del'>-</div><div class='del'>-	* ruby.h (CLONESETUP): flagsの状態もコピー</div><div class='del'>-</div><div class='del'>-Tue Sep  5 01:27:50 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: 失敗の検出を厳しく．</div><div class='del'>-</div><div class='del'>-Fri Aug 25 14:31:02 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Ffork): イテレータとしても動作するように．</div><div class='del'>-</div><div class='del'>-	* version 0.84</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_beg): ハンドラが設定されている時には再設定しない．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (create_makefile): shared objectのリンクの際に</div><div class='del'>-	  `-l'オプションを指定するように．</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): `EXIT'で終了処理を行う設定が出来る．</div><div class='del'>-</div><div class='del'>-Wed Aug 16 00:13:22 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_beg): デフォルトではbegin節の中でだけSIGINTを捕捉</div><div class='del'>-	  するように変更．</div><div class='del'>-</div><div class='del'>-	* io.c (io_ctl): fcntlを持たないシステムにも対応．</div><div class='del'>-</div><div class='del'>-	* 各ディレクトリに分散していたMANIFESTをまとめた．拡張モジュール毎</div><div class='del'>-	  には必要．</div><div class='del'>-</div><div class='del'>-	* string.c (Sstr_new,str_sub,Fstr_crypt): 引数を自動的に文字列に変</div><div class='del'>-	  換するように．</div><div class='del'>-</div><div class='del'>-Sat Aug 12 00:44:02 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_crypt): PD cryptを用意した．</div><div class='del'>-</div><div class='del'>-Fri Aug 11 14:37:03 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* assoc.c (Fassoc_clone): assocもcloneできるように．</div><div class='del'>-</div><div class='del'>-	* io.c: マクロREAD_DATA_PENDINGの定義を変更(Linux対応)</div><div class='del'>-</div><div class='del'>-	* io.c (io_fptr_finalize): fptrの開放時の処理を指定できるように．</div><div class='del'>-</div><div class='del'>-Wed Aug  9 16:52:41 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_provided): 複数のfeatureをロードすると無限ループに落</div><div class='del'>-	  ちるという単純な(しかし凶悪な)ミス．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): dlopen対応を行った．今までdlnにしか十</div><div class='del'>-	  分に対応していなかった．</div><div class='del'>-</div><div class='del'>-Tue Aug  8 14:17:06 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.83</div><div class='del'>-</div><div class='del'>-Mon Aug  7 12:47:41 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: resque -&gt; rescue．恥ずかしいがtypoを残しておくわけには</div><div class='del'>-	  いかないよなあ．なんで今まで気がつかなかったのか…．</div><div class='del'>-</div><div class='del'>-Thu Aug  3 18:18:05 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/nt.c: NT移植用の関数群をまとめた．</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get): また例外を発生するようにした．defined</div><div class='del'>-	  がある以上例外を発生させない理由がないので(例外が発生した方がタ</div><div class='del'>-	  イプミスの検出などの点で有利)．</div><div class='del'>-</div><div class='del'>-	* variable.c (Fautoload): autoloadを実装．今度は使えるか．</div><div class='del'>-</div><div class='del'>-Mon Jul 31 15:44:21 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_ambiguous): 第1引数のあいまいさを警告(-vオプション</div><div class='del'>-	  で有効)．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): `-v'オプションをつけて`def'が呼ばれると不必要</div><div class='del'>-	  なエラーメッセージが出た．</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): メソッドの第1引数の判定をもうちょっと賢くした．</div><div class='del'>-</div><div class='del'>-Fri Jul 28 19:04:43 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): `+/-/['の直前に空白が来るかどうかで動作を変更し</div><div class='del'>-	  た(混乱のもとか?)</div><div class='del'>-</div><div class='del'>-Wed Jul 26 09:21:23 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.82a</div><div class='del'>-</div><div class='del'>-	* sprintf.c (Fsprintf): `%s'で'\0'を含む文字列に対応．</div><div class='del'>-</div><div class='del'>-	* pack.c (Fpck_pack): packの要素確保のバグ．</div><div class='del'>-</div><div class='del'>-	* eval.c (Floop): 無限ループのイテレータ．</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): 存在しないファイル名が指定された時のエラー処理</div><div class='del'>-	  が行われていなかった．</div><div class='del'>-</div><div class='del'>-Mon Jul 24 17:37:34 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.82</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): 拡張モジュールをstatic linkする場合は</div><div class='del'>-	  そのモジュールが既にrequireされたのと同じようにfeatureを設定する．</div><div class='del'>-	  これで拡張モジュールの機能が必要な時には(static linkされているか</div><div class='del'>-	  どうかにかかわらず)requireすればよくなる．</div><div class='del'>-</div><div class='del'>-	* eval.c (Frequire): `$"'に格納する文字列をフルパスでなくフィーチャ</div><div class='del'>-	  名とする．rubyスクリプトをロードした時には`.rb'，オブジェクトを</div><div class='del'>-	  ロードした時には`.o'をフィーチャ名に付加する．lispのrequireと</div><div class='del'>-	  provideの働きに(少し)近い．</div><div class='del'>-</div><div class='del'>-Thu Jul 20 12:50:05 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (test): make testができるように．</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_new): typo.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): `defined'を追加．メソッド/変数/定数の定義状態</div><div class='del'>-	  を知る事が出来る．</div><div class='del'>-</div><div class='del'>-Wed Jul 19 18:04:01 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.81</div><div class='del'>-</div><div class='del'>-Mon Jul 17 14:53:51 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get): 未初期化のCONSTANTの値をnilにした．し</div><div class='del'>-	  かし，今後また例外に戻す可能性はある．要はoptionalなクラス/モジュー</div><div class='del'>-	  ルが存在するかチェックしたいだけなんだな．</div><div class='del'>-</div><div class='del'>-	* st.c (int): grow_factorを固定にした(大嶋さんのマシンに対応)．</div><div class='del'>-</div><div class='del'>-Fri Jul 14 00:48:40 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: キャッシュのバグを修正．</div><div class='del'>-</div><div class='del'>-	* parse.y (var_extend): #{$数字}に対応した．</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load_1): `Init_FILENAME'だけを有効に．`init_*'は今後</div><div class='del'>-	  実行しない．</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c : Etcモジュールを拡張モジュールとして分離．実はNT</div><div class='del'>-	  対応への布石だったりするかもしれない．</div><div class='del'>-</div><div class='del'>-Tue Jul 11 17:12:48 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gcc -Wallで出たwarningを元にソースを変更．</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): typo.</div><div class='del'>-</div><div class='del'>-Fri Jul  7 10:08:51 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.80</div><div class='del'>-</div><div class='del'>-	* ruby.texi: texinfo documentを提供．specとruby.1は無くなった．</div><div class='del'>-</div><div class='del'>-	* signal.c (Ftrap): 割込み禁止中の例外発生に対応．</div><div class='del'>-</div><div class='del'>-	* eval.c (Flambda): Blockオブジェクトを返す．Block.newと同義．</div><div class='del'>-</div><div class='del'>-Thu Jul  6 00:35:03 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (Ftrap): SIG_DFLの処理を変更．SIGINTへのデフォルトハン</div><div class='del'>-	ドラを用意(例外を発生する)．</div><div class='del'>-</div><div class='del'>-	* file.c (Sfile_expand_fname): パス名を絶対パスに展開するメソッド．</div><div class='del'>-	(Sfile_basename): basenameを得るメソッド．拡張子も外せる．</div><div class='del'>-	(Sfile_dirname): basenameの反対．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): argument評価中の例外発生に対応．</div><div class='del'>-</div><div class='del'>-	* file.c (Ftest): `M', `A', `C'を追加.</div><div class='del'>-</div><div class='del'>-Tue Jul  4 12:36:33 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Ftest): ファイルテスト用メソッド．</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): `-r'オプションを追加．</div><div class='del'>-</div><div class='del'>-	* parse.y (f_args): デフォルト引数を追加．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): 該当する引数が無い時，rest引数の値をnilに．</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_equal): 数値以外との比較で例外が発生していた．</div><div class='del'>-	  FALSEを返すように．</div><div class='del'>-</div><div class='del'>-	* eval.c (masign): 多重代入のrest部の動作がおかしかった．</div><div class='del'>-</div><div class='del'>-Sat Jun 17 01:03:16 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable): 未初期化のローカル変数の参照(独立した識別子)</div><div class='del'>-	  は正式にメソッド呼び出しとした．</div><div class='del'>-</div><div class='del'>-	* parse.y (read_escape): tokenbufを使わないように修正．それにとも</div><div class='del'>-	  ない，`\C-x',`\M-x'などのエスケープ表現を復活．これでドキュメン</div><div class='del'>-	  トと実際の処理系が一致した．</div><div class='del'>-</div><div class='del'>-Thu Jun 15 15:42:00 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (re_regcomp): cacheのチェックを改善．</div><div class='del'>-</div><div class='del'>-Mon Jun 12 18:50:51 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.79</div><div class='del'>-</div><div class='del'>-Sat Jun 10 00:25:01 1995  Yukihiro Matsumoto  &lt;matz@caelum.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (re_regcomp): cache判定に`$='の値も反映させた．</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: test suite作成．</div><div class='del'>-</div><div class='del'>-Fri Jun  9 15:58:34 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (re_regcomp): cacheの判定が間違っていた．</div><div class='del'>-</div><div class='del'>-Fri Jun  9 00:01:35 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield): block構造体に初期化していないメンバ(iter)があっ</div><div class='del'>-	  たのでイテレータのネストが正しく動作しなかった．</div><div class='del'>-</div><div class='del'>-Thu Jun  8 00:59:03 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* re.c (=~): String以外との比較がFALSEを返すように(例外を発生して</div><div class='del'>-	  いた)．</div><div class='del'>-</div><div class='del'>-	* extmk.rb.in: 判定した値をファイルにキャッシュするようにした．</div><div class='del'>-</div><div class='del'>-	* assoc.c (to_a): to_aメソッドが再定義されていなかった．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): 初期化されていないローカル変数へのアクセスを引</div><div class='del'>-	  数の無いメソッド呼び出しと解釈する．ただし，(現状では)メソッドが</div><div class='del'>-	  定義されていない場合，エラーにせず変数未初期化のwaringを出して</div><div class='del'>-	  nilを返している．「ruby -pe print」などが実行できるという意味で</div><div class='del'>-	  はありがたいこの仕様は，しかし今後の検討が必要である．-- メソッ</div><div class='del'>-	  ド呼び出しとするのを止めるか(以前の仕様)，いつもメソッド呼び出し</div><div class='del'>-	  とする(未定義ならばエラー)か，今の仕様で行くか．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): 初期化されていないローカル変数へのアクセスで</div><div class='del'>-	  (evalなどで)初期化された事が分かった時には以後初期化されたローカ</div><div class='del'>-	  ル変数とみなす．</div><div class='del'>-</div><div class='del'>-Wed Jun  7 11:58:12 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_fail): 例外処理後も`$!'をクリアしないように．</div><div class='del'>-	  (rb_fail): `$!'変数に最後に改行を追加しない．</div><div class='del'>-</div><div class='del'>-	* io.c (Fprint): privateメソッドに変更．引数を取らない時の動作を変</div><div class='del'>-	  更(`$_'を出力する)．</div><div class='del'>-	  (Fio_print): 出力先指定のprintメソッド．</div><div class='del'>-	  (Fio_printf): 出力先指定のprintfメソッド．</div><div class='del'>-</div><div class='del'>-	* parse.y: not演算子の追加．優先順位の低い`!'演算子．</div><div class='del'>-</div><div class='del'>-Mon Jun  5 19:00:55 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.78</div><div class='del'>-</div><div class='del'>-Fri Jun  2 17:52:03 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -Iオプションで`$:'への追加される順番を修</div><div class='del'>-	  正した．</div><div class='del'>-</div><div class='del'>-Fri Jun  2 00:36:34 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: while修飾子の動作を通常のwhileと同じにした．ただし，</div><div class='del'>-	  begin式へのwhile修飾子だけはdo..while型のループとなる．</div><div class='del'>-</div><div class='del'>-Wed May 31 18:36:30 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.77</div><div class='del'>-</div><div class='del'>-Mon May 29 18:39:37 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): 拡張モジュールもインストールできるよ</div><div class='del'>-	  うに．</div><div class='del'>-</div><div class='del'>-Fri May 26 14:43:01 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Fsystem): 戻り値をサブプロセスの失敗/成功を表す真偽値</div><div class='del'>-	  にした．終了ステータスは`$?'で得る．</div><div class='del'>-</div><div class='del'>-Tue May 23 10:58:11 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_upto): 無限ループに陥らないように．</div><div class='del'>-</div><div class='del'>-	* parse.y (cond): `||'などの右辺に制御式が書けるように，条件式がか</div><div class='del'>-	  ならずしも値を持たなくても良いようにした．</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c: オブジェクトの読み書きをメソッドの再定義</div><div class='del'>-	  でコントロールできるように．インスタンスが`_dump_to'というメソッ</div><div class='del'>-	  ドを定義している時はそちらを使うように．</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: static linkも設定できるような仕様にした．</div><div class='del'>-	  ext/Setupというファイルにディレクトリ名を記述するとそのディレク</div><div class='del'>-	  トリに存在するモジュールはstatic linkされる(はず)．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): `..'を文法に組み込み，`..'と`...'の動作をperl</div><div class='del'>-	  に合わせた．</div><div class='del'>-</div><div class='del'>-Sat May 20 01:22:48 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* io.c (select): timeout時と割込み時の動作の明確化．</div><div class='del'>-</div><div class='del'>-Fri May 19 15:33:23 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* version 0.76</div><div class='del'>-</div><div class='del'>-Fri May 19 00:48:08 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_each): イテレータブロック中で文字列の変更が行われ</div><div class='del'>-	  たかどうかをチェック．ポインタの値が変わっていれば例外を発生する．</div><div class='del'>-</div><div class='del'>-	* ruby-mode.el: ruby-electric-braceの新設．</div><div class='del'>-</div><div class='del'>-Thu May 18 12:27:23 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Fstr_tr): trの置換対象に`\0'を含む時に正しく置換を行わ</div><div class='del'>-	  ないバグがあった．更に置換文字列をASCII順に指定しないと動作しな</div><div class='del'>-	  い問題もあった．結果としてtrを書き換えたので，copyrightの問題は</div><div class='del'>-	  無くなった(と思う)．</div><div class='del'>-</div><div class='del'>-	* gc.c (gc): the_scopeをマークしていなかったので，ローカル変数の指</div><div class='del'>-	  しているオブジェクトが間違って開放される場合があった．</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_locations_array): 若干の高速化．</div><div class='del'>-</div><div class='del'>-Mon May 15 11:43:49 1995  Yukihiro Matsumoto  &lt;matz@ix-02&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: Dynamic Loadモジュールのコンパイル用チェックを</div><div class='del'>-	  行うruby script．autoconfに近い感覚で使える．新しいモジュールを</div><div class='del'>-	  提供したい人はextの下にディレクトリを作るだけで良い．必須のファ</div><div class='del'>-	  イルはファイル名の一覧を記録した`MANIFEST'というファイルのみ．必</div><div class='del'>-	  要に応じて`depend'(ファイルの依存関係を記述するファイル gcc -MM</div><div class='del'>-	  の出力)，`extconf.rb'(コンパイル用にライブラリと関数の存在チェッ</div><div class='del'>-	  クするファイル)を用意できる．</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): rubyメソッドの引数チェック時に未初期化の</div><div class='del'>-	  jmp_bufを使用していた．</div><div class='del'>-</div><div class='del'>-	* parse.y: `or'と`and'の優先順位を同じにした．</div><div class='del'>-</div><div class='del'>-Wed May  3 18:21:36 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* dln.c: Linuxでは`__.SYMDEF/'であった．</div><div class='del'>-</div><div class='del'>-	* dln.c: system callのエラーチェックを忘れていた．</div><div class='del'>-</div><div class='del'>-Wed Apr 26 09:50:56 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: イテレータブロックの変数宣言を`|'で括るようにした．これ</div><div class='del'>-	  でイテレータ変数がない時は宣言そのものを省略できる．文法の変更は</div><div class='del'>-	  久しぶりだ．</div><div class='del'>-</div><div class='del'>-Tue Apr 25 12:04:17 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(require): loadからダイナミックロードの機能を移してきた．</div><div class='del'>-	  さらに拡張子の補完機能を追加してユーザがdln/dlopenの差を意識する</div><div class='del'>-	  必要のないようにした．</div><div class='del'>-</div><div class='del'>-	* string.c(sub,sub): イテレータとしても動作するように．</div><div class='del'>-</div><div class='del'>-	* object.c: init_object -&gt; initialize.</div><div class='del'>-</div><div class='del'>-Mon Apr 24 14:22:39 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* NEWS-OS 3.4対応</div><div class='del'>-</div><div class='del'>-	* io.c: Solarisのstdioの動作が違うようだ．signalでEOFを返してしま</div><div class='del'>-	  う…．perlでも同様の問題がある．</div><div class='del'>-</div><div class='del'>-Fri Apr 21 20:04:39 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.75</div><div class='del'>-</div><div class='del'>-	* signal.c: trapがなくなっていた．うーむ．</div><div class='del'>-</div><div class='del'>-	* configure: Solaris 2.3対応．</div><div class='del'>-</div><div class='del'>-	* io.c: #elifのないcppもある．</div><div class='del'>-</div><div class='del'>-	* dir.c: autoconf 2.xへの対応が不十分</div><div class='del'>-</div><div class='del'>-Thu Apr 20 12:31:24 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.74</div><div class='del'>-</div><div class='del'>-	* env.h, gc.c, regex.c: IRIXへの移植対応</div><div class='del'>-</div><div class='del'>-	* configure: dlopen用にpicを生成するoptionの検出のため，システムタ</div><div class='del'>-	  イプをチェックするように．</div><div class='del'>-</div><div class='del'>-Tue Apr 18 19:08:17 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* gc.c(xrealloc): ptr=nilの時，malloc()と同じ働きを</div><div class='del'>-</div><div class='del'>-	* array.c(astore): 空の配列の0番目の要素に代入するとsize=0で</div><div class='del'>-	  realloc()を呼んでいた．</div><div class='del'>-</div><div class='del'>-	* configure, glob.c: Solaris 2.xでコンパイルできるように</div><div class='del'>-</div><div class='del'>-Mon Apr 10 18:36:06 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.73</div><div class='del'>-</div><div class='del'>-Fri Apr  7 13:51:08 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* cons.c-&gt;assoc.c: consの余計な機能は外してpairとしての機能だけを</div><div class='del'>-	  残した．Enumerableをincludeするのもやめた．</div><div class='del'>-</div><div class='del'>-	* string.c(esub): 文字列置換イテレータ．perlのs///eの相当する．</div><div class='del'>-</div><div class='del'>-Wed Apr  5 11:35:21 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.72</div><div class='del'>-</div><div class='del'>-	* EWS4800対応</div><div class='del'>-</div><div class='del'>-	* file.c: utimesがない時はutimeを使うように．</div><div class='del'>-</div><div class='del'>-Mon Apr  3 15:19:41 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.71</div><div class='del'>-</div><div class='del'>-	* regexp.c(re_match): バグがあった．match_2を削除した時にenbugして</div><div class='del'>-	  いたのだった．</div><div class='del'>-</div><div class='del'>-Mon Mar 27 15:41:43 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* dict.c: Dict-&gt;Hashに全面的に移行．</div><div class='del'>-</div><div class='del'>-Thu Mar 23 20:30:00 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* dbm.c,socket.c: extディレクトリに分離．</div><div class='del'>-</div><div class='del'>-	* configure: dln周りのチェックの強化</div><div class='del'>-</div><div class='del'>-	* dln.c: initの呼び出しをdlopen()版に合わせた．</div><div class='del'>-</div><div class='del'>-Mon Mar 20 17:45:08 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* configure: autoconf 2.2に対応(一部)．</div><div class='del'>-</div><div class='del'>-Fri Mar 17 15:56:44 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* dln.c: dlopenのあるマシンではそちらを使うように．ただし，ちゃん</div><div class='del'>-	  と動いているかどうかは自信がない．</div><div class='del'>-</div><div class='del'>-	* regex.c: virtual concatinationをやめた．</div><div class='del'>-</div><div class='del'>-Thu Mar 16 11:32:57 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.70</div><div class='del'>-</div><div class='del'>-	* eval.c,regex.c: gccでのコンパイルエラー．</div><div class='del'>-</div><div class='del'>-	* io.c: inplace-editで拡張子が指定されない場合，もとのファイルを削</div><div class='del'>-	  除する．</div><div class='del'>-</div><div class='del'>-Wed Mar 15 14:59:18 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.69</div><div class='del'>-</div><div class='del'>-	* eval.c(method_missing): unknownから名称変更．</div><div class='del'>-</div><div class='del'>-	* eval.c(single_method_added): 特異メソッドが定義された時に呼ばれ</div><div class='del'>-	  るメソッド．hookとして使える．実際に定義される直前に呼ばれる．</div><div class='del'>-</div><div class='del'>-Tue Mar 14 14:46:44 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby.c(proc_options): 引数の解析を自分でやることにより引数指定の</div><div class='del'>-	  方法がperlに近付いた．getopt_longはもう使わない．</div><div class='del'>-</div><div class='del'>-	* dir.c(glob): `{}'のネストを許すようにした．</div><div class='del'>-</div><div class='del'>-Mon Mar 13 17:56:25 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* glob.c: Glob(ワイルドカードオブジェクト)はなくなった．ワイルドカー</div><div class='del'>-	  ドの展開はDir.glob(文字列)を使う．ワイルドカードのマッチは正規表</div><div class='del'>-	  現で代用．</div><div class='del'>-</div><div class='del'>-Fri Mar 10 18:35:46 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: Mathのようなモジュールは自分自身でextendする．</div><div class='del'>-</div><div class='del'>-	* eval.c: クラスやモジュールを定義する時，既に同名のものがあれば追</div><div class='del'>-	  加定義となるように．ただし．superクラスの違いなどはチェックする．</div><div class='del'>-</div><div class='del'>-	* regex.c: debug.</div><div class='del'>-</div><div class='del'>-	* math.c: 定数PIとEを定義．</div><div class='del'>-</div><div class='del'>-Thu Mar  9 21:35:12 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* regex.c: EUC,SJISモードでは0x80以上の8進，16進リテラルを禁止．</div><div class='del'>-</div><div class='del'>-	* regex.c: クラス内でも数値リテラル・文字クラスが使えるようした．</div><div class='del'>-</div><div class='del'>-Wed Mar  8 17:39:05 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* regex.c: \200など括弧の数以上の表現は8進リテラルと解釈する．ただ</div><div class='del'>-	  し，\1から\9までは例外．</div><div class='del'>-</div><div class='del'>-	* regex.c: \9以上のリファレンスも有効にした．</div><div class='del'>-</div><div class='del'>-Tue Mar  7 14:26:01 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(public/private): スコープ制御メソッドの名称変更．静的なア</div><div class='del'>-	  クセスも出来るようにしてみたが，不採用．</div><div class='del'>-</div><div class='del'>-Mon Mar  6 19:34:32 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c(inlcude): メソッド化．動的にモジュールをインクルードでき</div><div class='del'>-	  るように．さらに任意のオブジェクトにもモジュールをインクルードで</div><div class='del'>-	  きるメソッド `extend'も用意した．</div><div class='del'>-</div><div class='del'>-	* parse.y: 文法からincludeを削除．メソッド化．</div><div class='del'>-</div><div class='del'>-Tue Feb 28 15:35:10 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: 配列，連想配列の最後に`,'をおけるように．</div><div class='del'>-</div><div class='del'>-Fri Feb 24 13:15:43 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.68</div><div class='del'>-</div><div class='del'>-Thu Feb 23 11:19:19 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: resque節のselfの値が間違っていた．</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_clear_cache): キャッシュのクリアし忘れがあった．</div><div class='del'>-</div><div class='del'>-	* eval.c: 定数のスコープをクラス内の静的スコープに変更した．これに</div><div class='del'>-	  よって，特異メソッドから参照される定数は，レシーバのクラスではな</div><div class='del'>-	  く，定義されたスコープのクラスの定数となる．</div><div class='del'>-</div><div class='del'>-Wed Feb 22 00:51:38 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* regex.c: ignorecaseを正規表現のコンパイル前に指定しないと正しく</div><div class='del'>-	  動作しない．修正．</div><div class='del'>-</div><div class='del'>-	* string.c(toupper,tolower): bug fix.</div><div class='del'>-</div><div class='del'>-	* ENV,VERSION: readonly変数から定数へ．</div><div class='del'>-</div><div class='del'>-Tue Feb 21 18:56:56 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* io.c(STDIN, STDOUT, STDERR): 定数として定義．</div><div class='del'>-</div><div class='del'>-	* io.c(select): bug fix.</div><div class='del'>-</div><div class='del'>-	* version 0.67</div><div class='del'>-</div><div class='del'>-Mon Feb 20 16:10:14 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(yylex): 定数を`%識別子'から，第1文字が大文字の識別子に変</div><div class='del'>-	  更．それにともないクラスは定数となった．</div><div class='del'>-</div><div class='del'>-	* eval.c: クラス定義内のselfがクラス定義外部のthe_classだった．</div><div class='del'>-</div><div class='del'>-	* variable.c(rb_name_class): クラス名をインスタンス変数に格納する．</div><div class='del'>-</div><div class='del'>-Thu Feb 16 15:36:17 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: BLOCKをbraceで表現する文法に変更したものを作ってみる．</div><div class='del'>-	  MLに提示してみるが反応がない．</div><div class='del'>-</div><div class='del'>-	* object.c(do,forever): なくした．</div><div class='del'>-</div><div class='del'>-Wed Feb 15 13:20:49 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c(new): 第2引数が与えられて，かつnilでないときだけ設定するよ</div><div class='del'>-	  うに(以前はnilの時にも設定を行なっていた)．</div><div class='del'>-</div><div class='del'>-	* parse.y(parse_regexp): 正規表現リテラルで大文字小文字を無視する</div><div class='del'>-	  かどうか指定できるように．</div><div class='del'>-</div><div class='del'>-Tue Feb 14 00:55:33 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: (compexpr) -&gt; (expr).</div><div class='del'>-</div><div class='del'>-Fri Feb 10 16:30:00 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* ruby.c(load_file): scriptを読み込む時だけ"#!"の解析を行うように．</div><div class='del'>-</div><div class='del'>-	* ruby.c(readin): ファイル読み込み時に先頭に"#!"があり，その行が</div><div class='del'>-	  "ruby"という文字列を含む時，rubyに引数が与えられていれば，その引</div><div class='del'>-	  数も有効になる．</div><div class='del'>-</div><div class='del'>-	* parse.y(yylex): コメント行の終りが`\'であった時，次の行に継続し</div><div class='del'>-	  ているとみなすようにした．</div><div class='del'>-</div><div class='del'>-Thu Feb  9 16:18:37 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.66</div><div class='del'>-</div><div class='del'>-	* parse.y: protectをbeginに変更．begin..endは例外処理だけでなく，</div><div class='del'>-	  文括弧としても働くことになった．</div><div class='del'>-</div><div class='del'>-Wed Feb  1 19:48:24 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* version 0.65</div><div class='del'>-</div><div class='del'>-	* string.c(str_replace): 置き換える文字列の長さが等しい時メモリコ</div><div class='del'>-	  ピーをしない．</div><div class='del'>-</div><div class='del'>-	* string.c(rindex): バグ修正．</div><div class='del'>-</div><div class='del'>-Mon Jan 30 11:23:05 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(value_expr): ifのチェックを追加．</div><div class='del'>-</div><div class='del'>-	* gc.c(gc_mark): free cellの扱いにバグ．</div><div class='del'>-</div><div class='del'>-	* parse.y: 文法の変更(よりシンプルに)．例外を減らした．</div><div class='del'>-</div><div class='del'>-Thu Jan 26 00:52:55 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* parse.y: 引数として連想配列を置くことができるように．この場合，</div><div class='del'>-	  連想配列リテラルが最終引数となる．</div><div class='del'>-</div><div class='del'>-	* parse.y: 配列参照の`[]'内が空でもよいことにした．</div><div class='del'>-</div><div class='del'>-Tue Jan 24 14:45:15 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* class.c(rb_include_module): `-v'を指定した時にはincludeしたモジュー</div><div class='del'>-	  ルとクラス定数が衝突していないかチェックする．</div><div class='del'>-</div><div class='del'>-Mon Jan 23 10:42:09 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(rb_class2name): メタクラスに関するbug fix.</div><div class='del'>-</div><div class='del'>-	* dict.c: Dict[..]で辞書の生成が出来るように．</div><div class='del'>-</div><div class='del'>-	* array.c: Array[..]で配列の生成が出来るように．</div><div class='del'>-</div><div class='del'>-	* parse.y: 辞書の表現として{a,b,..}という形式も許すように．</div><div class='del'>-</div><div class='del'>-Fri Jan 20 10:28:38 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* re.c(Regexp.quote): 正規表現をエスケープするメソッド．</div><div class='del'>-</div><div class='del'>-	* 無駄なrb_intern()を減らした．</div><div class='del'>-</div><div class='del'>-	* parse.y: `!', `!=', `!~'を特殊演算子にする．よってこれらは再定義</div><div class='del'>-	  できなくなった．</div><div class='del'>-</div><div class='del'>-Wed Jan 18 13:20:41 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: 文法の整理(unless,untilをなくした)．</div><div class='del'>-</div><div class='del'>-Tue Jan 17 11:11:27 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: defでメソッド再定義時にはスーパークラスのメソッドの可視</div><div class='del'>-	  性を継承する．最初の定義の時は今までと同じデフォルト(トップレベ</div><div class='del'>-	  ルで関数的，クラス定義内で通常メソッド)．</div><div class='del'>-</div><div class='del'>-	* object.c(Class#new): オブジェクトの生成時に関数的メソッド</div><div class='del'>-	  init_objectが必ず呼ばれるように変更．</div><div class='del'>-</div><div class='del'>-	* eval.c: 未定義のメソッドに対してunknownメソッドが呼ばれるように</div><div class='del'>-	  なった．エラー表示が今までと同じになるようにenvを調節している．</div><div class='del'>-</div><div class='del'>-Fri Jan 13 14:40:30 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* gc.c: gcを若干書き換えて整理した．が，あまり変化はなかったようだ．</div><div class='del'>-</div><div class='del'>-	* parse.y(yylex): symbolを\symから:symに変更した．</div><div class='del'>-</div><div class='del'>-Thu Jan 12 01:39:28 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c: 新規関数 rb_eval_string()．</div><div class='del'>-</div><div class='del'>-	* gc.c: gc_mark()を一部非再帰化．</div><div class='del'>-</div><div class='del'>-	* variable.c(rb_ivar_{get,set}): インスタンス変数のアクセス周りで</div><div class='del'>-	  チェックが足りなかった．</div><div class='del'>-</div><div class='del'>-	* variable.c: クラス定数とインスタンス変数でハッシュテーブルを共有</div><div class='del'>-	  するようにした．</div><div class='del'>-</div><div class='del'>-	* ruby.h: iv_tblをRBasicからRObjectとRClassへ移動した．これにより，</div><div class='del'>-	  ObjectとClass,Moduleしかインスタンス変数を持てなくなる．が，メモ</div><div class='del'>-	  リ効率は若干向上する．</div><div class='del'>-</div><div class='del'>-Tue Jan 10 00:58:20 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 0.64 released</div><div class='del'>-</div><div class='del'>-	* eval.c: レシーバと引数は常にiterではない．</div><div class='del'>-</div><div class='del'>-	* cons.c(aref,aset): negative offset対応．</div><div class='del'>-</div><div class='del'>-Mon Jan  9 14:40:39 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: foo{..}の形式において，fooをローカル変数やクラス名では</div><div class='del'>-	  なく，引数なしの関数型メソッド呼び出しとみなすようにした．</div><div class='del'>-</div><div class='del'>-	* list.c -&gt; cons.c: 名称変更(クラス名も)．</div><div class='del'>-</div><div class='del'>-	* list.c: a::b::c::nilをリスト(a b c)とみなすlisp形式から，a::b::c</div><div class='del'>-	  をリスト(a b c)とみなすruby形式に変更．[], []=, eachもそれに会わ</div><div class='del'>-	  せた仕様とする．</div><div class='del'>-</div><div class='del'>-	* list.c: consペアとしての機能を強調．仕様変更．</div><div class='del'>-</div><div class='del'>-Sat Jan  7 01:26:26 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c: 自己代入の不具合修正．</div><div class='del'>-</div><div class='del'>-	* eval.c(masign): 多重代入が配列もリストもとれるようにした．</div><div class='del'>-</div><div class='del'>-	* list.c: assocを2要素の配列からList(CONSペア)に変更した．</div><div class='del'>-</div><div class='del'>-Fri Jan  6 13:42:12 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: a[b]+=cやa.b+=cなどの自己代入形式で，aやbを2度評価しな</div><div class='del'>-	  くなった．</div><div class='del'>-</div><div class='del'>-	* eval.c: iterator設定のバグフィックス．</div><div class='del'>-</div><div class='del'>-	* list.c: Listクラスを新設．</div><div class='del'>-</div><div class='del'>-Thu Jan  5 13:55:00 1995  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: SCOPEのメモリリークをなくした．</div><div class='del'>-</div><div class='del'>-	* eval.c: built-inメソッドへの引数の引き渡し方を変更して，配列の生</div><div class='del'>-	  成数を減らした．</div><div class='del'>-</div><div class='del'>-	* re.c: match-dataを毎回生成することをやめた．`$~'をアクセスした時</div><div class='del'>-	  にon-demandで生成する．</div><div class='del'>-</div><div class='del'>-	* string.c etc: 不必要なmemmoveをmemcpyに置換．</div><div class='del'>-</div><div class='del'>-	* parse.y: =~, !~は副作用があるのでコンパイル時に展開できない．</div><div class='del'>-</div><div class='del'>-Tue Jan  3 02:04:36 1995  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c: rest引数のbug fix.</div><div class='del'>-</div><div class='del'>-	* eval.c,gc.c: scopeをオブジェクトにした．</div><div class='del'>-</div><div class='del'>-	* eval.c: envとscopeの扱いを変更した．</div><div class='del'>-</div><div class='del'>-Wed Dec 28 09:46:57 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: evalでローカル変数が追加された場合に対応した．</div><div class='del'>-</div><div class='del'>-	* parse.y: 演算子を含むaliasのbug fix.</div><div class='del'>-</div><div class='del'>-Tue Dec 27 16:45:20 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: def A Bをalias A Bに変更．</div><div class='del'>-</div><div class='del'>-	* eval.c: alias関係のbug修正．nodeをオブジェクト化した時にenbugし</div><div class='del'>-	  たようだ．</div><div class='del'>-</div><div class='del'>-	* signal.c: システムコールの再定義を止めた．</div><div class='del'>-</div><div class='del'>-	* io.c(select): write/exceptのフラグ設定にバグ．</div><div class='del'>-</div><div class='del'>-	* Makefile.in: static link用オプションをMake変数として独立させた．</div><div class='del'>-</div><div class='del'>-Tue Dec 20 00:46:19 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* 0.63 released</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): superの呼び出しで落ちる．argc, argvの設定を忘れ</div><div class='del'>-	  ていた．</div><div class='del'>-</div><div class='del'>-	* parse.y(read_escape): 展開エラー．</div><div class='del'>-</div><div class='del'>-	* variable.c: 定義済みの変数のhookを変更しないように．</div><div class='del'>-</div><div class='del'>-Mon Dec 19 12:01:10 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y(cond): 条件式に代入式が置かれた場合，`-v'オプションで警</div><div class='del'>-	  告が出るように．</div><div class='del'>-</div><div class='del'>-	* parse.y(**): 冪乗演算子`**'の優先順位を単項演算子より高くした．</div><div class='del'>-</div><div class='del'>-	* parse.y(and,or): 優先順位の低い演算子`and', `or'.</div><div class='del'>-</div><div class='del'>-	* 0.62 released.</div><div class='del'>-</div><div class='del'>-	* eval.c: 不必要になったPUSH_ENV, POP_ENVを減らした．</div><div class='del'>-</div><div class='del'>-	* env.h: ENVIONからselfをはずした．PUSH_ENVはsuperの準備のためだけ</div><div class='del'>-	  に用いることにした．</div><div class='del'>-</div><div class='del'>-	* eval.c: 下記のオブジェクト化で遅くなった実行速度をもとに戻した．</div><div class='del'>-</div><div class='del'>-Mon Dec 17 23:01:10 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* eval.c: env.{argv,argc}とscope.local_varsのオブジェクト化．</div><div class='del'>-</div><div class='del'>-	* eval.c: 1スコープ内で複数Blockを生成したときのバグを修正．</div><div class='del'>-</div><div class='del'>-Fri Dec 16 15:52:06 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* parse.y: `&amp;&amp;'と`||'の両辺はいつでも条件式とした．</div><div class='del'>-</div><div class='del'>-Thu Dec 15 00:16:04 1994  Yukihiro Matsumoto  (matz@dyna)</div><div class='del'>-</div><div class='del'>-	* eval.c(Block): Blockオブジェクトを実現．</div><div class='del'>-</div><div class='del'>-	* node.h: NODE_QLISTはなくなった．</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): 引数への代入を名前で一つずつ代入するのをやめて，</div><div class='del'>-	  一度にコピーするようにした．</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): rubyで記述されたメソッドへの引数渡しをinline化．</div><div class='del'>-</div><div class='del'>-	* eval.c: イテレータ判定処理の全面書き換え．不適切なイテレータ呼び</div><div class='del'>-	  出しをなくした．例えば「[foo(),bar()]{i|baz(i)}」でfooもbarもイ</div><div class='del'>-	  テレータとして呼び出され*ない*．</div><div class='del'>-</div><div class='del'>-	* eval.c(rb_call): SCOPE処理をinline化．メソッド呼び出しの若干の高</div><div class='del'>-	  速化．</div><div class='del'>-</div><div class='del'>-Wed Dec 14 18:09:33 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* node.h: nodeもオブジェクトにする．よってGCで回収される．</div><div class='del'>-</div><div class='del'>-Thu Dec  8 14:17:29 1994  Yukihiro Matsumoto  (matz@ix-02)</div><div class='del'>-</div><div class='del'>-	* 0.60 released - alpha test baseline.</div><div class='head'>diff --git a/doc/ChangeLog-1.8.0 b/doc/ChangeLog-1.8.0<br/>index 3f7d6bfb3c..d168a50f80 100644<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-1.8.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-1.8.0</a><br/>+++ b/<a href='/ruby.git/tree/doc/ChangeLog-1.8.0?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/ChangeLog-1.8.0</a></div><div class='hunk'>@@ -42,7 +42,7 @@ Sun Aug  3 23:56:50 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Sun Aug  3 22:07:47 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkentry.rb: support 'validatecommand' option of</div><div class='add'>+	* ext/tk/lib/tkentry.rb: support 'validatecommand' option of </div><div class='ctx'> 	  TkEntry/TkSpinbox widget</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/sample/{demos-en,demos-jp}/spin.rb: add</div><div class='hunk'>@@ -60,7 +60,7 @@ Sun Aug  3 18:03:44 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Sun Aug  3 08:53:06 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/{demos-en,demos-jp}/image3.rb: add</div><div class='add'>+	* ext/tk/sample/{demos-en,demos-jp}/image3.rb: add </div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkcanvas.rb: bug fix on Tk object ID management</div><div class='ctx'> </div><div class='hunk'>@@ -84,7 +84,7 @@ Sat Aug  2 23:51:52 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Sat Aug  2 09:58:13 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix --- TkGrid failed to treat</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix --- TkGrid failed to treat </div><div class='ctx'> 	  RELATIVE PLACEMENT</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/sample/demos-en/, demos-jp/: add or modify some</div><div class='hunk'>@@ -122,7 +122,7 @@ Sat Aug  2 14:02:39 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Sat Aug  2 09:58:13 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix --- forgot to entry a widget class</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix --- forgot to entry a widget class </div><div class='ctx'> 	  name of 'labelframe' widget</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/sample/{demos-en,demos-jp}/{labelframe.rb,paned1.rb,</div><div class='hunk'>@@ -238,7 +238,7 @@ Fri Aug  1 09:54:38 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Fri Aug  1 04:58:55 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix --- forget to eval given block to</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix --- forget to eval given block to </div><div class='ctx'> 	  TkRoot.new method</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/sample/tkoptdb-safeTk.rb: new sample script</div><div class='hunk'>@@ -255,13 +255,13 @@ Thu Jul 31 23:44:00 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='ctx'> </div><div class='ctx'> Thu Jul 31 23:04:45 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/resource.en, ext/tk/sample/resource.jp:</div><div class='add'>+	* ext/tk/sample/resource.en, ext/tk/sample/resource.jp: </div><div class='ctx'> 	  wrong resource file format</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk::Encoding.{encoding_convertfrom,</div><div class='add'>+	* ext/tk/lib/tk.rb: add Tk::Encoding.{encoding_convertfrom, </div><div class='ctx'> 	  encoding_convertto}</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add TkOptionDB.read_with_encoding to read</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkOptionDB.read_with_encoding to read </div><div class='ctx'> 	  non-utf8 resource file</div><div class='ctx'> </div><div class='ctx'> Thu Jul 31 23:02:47 2003  NAKAMURA Usaku &lt;usa@ruby-lang.org&gt;</div><div class='hunk'>@@ -274,15 +274,15 @@ Thu Jul 31 20:52:40 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	* ext/tk/lib/tk.rb: (IMPORTANT BUG FIX) scan of event keywords</div><div class='ctx'> 	  doesn't work on recent versions of Tck/Tk</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: initialize error of instance variable on</div><div class='add'>+	* ext/tk/lib/tk.rb: initialize error of instance variable on </div><div class='ctx'> 	  TkComposite</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb: initialize error on encoding-system on</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: initialize error on encoding-system on </div><div class='ctx'> 	  MultiTkIp</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: trouble on destroying widgets</div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/demos-en/, demos-jp/: add JP and EN version of</div><div class='add'>+	* ext/tk/sample/demos-en/, demos-jp/: add JP and EN version of </div><div class='ctx'> 	  Ruby/Tk widget demos</div><div class='ctx'> </div><div class='ctx'> Thu Jul 31 15:25:12 2003  NAKAMURA Usaku &lt;usa@ruby-lang.org&gt;</div><div class='hunk'>@@ -311,13 +311,13 @@ Thu Jul 31 08:18:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Thu Jul 31 07:59:18 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: wrap the command-proc of TkScale --- pass</div><div class='add'>+	* ext/tk/lib/tk.rb: wrap the command-proc of TkScale --- pass </div><div class='ctx'> 	  the numeric object to the proc</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: better support for widgets created on</div><div class='add'>+	* ext/tk/lib/tk.rb: better support for widgets created on </div><div class='ctx'> 	  Tk interpreter (without Ruby)</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb: a little more stable on Multiple Tk</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: a little more stable on Multiple Tk </div><div class='ctx'> 	  interpreters running</div><div class='ctx'> </div><div class='ctx'> Thu Jul 31 00:17:19 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='hunk'>@@ -411,17 +411,17 @@ Wed Jul 30 07:23:14 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkentry.rb: fix lack of methods for TkEntry</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb, ext/tk/lib/tk.rb,</div><div class='del'>-	  ext/tk/lib/tkdialog.rb, ext/tk/lib/tkentry.rb,</div><div class='add'>+	* ext/tk/lib/multi-tk.rb, ext/tk/lib/tk.rb, </div><div class='add'>+	  ext/tk/lib/tkdialog.rb, ext/tk/lib/tkentry.rb, </div><div class='ctx'> 	  ext/tk/sample/safe-tk.rb, ext/tk/sample/tktimer2.rb: bug fix</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp.new_* accept a block to</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: MultiTkIp.new_* accept a block to </div><div class='ctx'> 	  eval under the new interpreter</div><div class='ctx'> </div><div class='ctx'> Wed Jul 30 04:36:30 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tcltklib/tcltklib.c,</div><div class='del'>-	  ext/tk/lib/tk.rb, ext/tk/lib/tkafter.rb: additional check of</div><div class='add'>+	* ext/tcltklib/tcltklib.c, </div><div class='add'>+	  ext/tk/lib/tk.rb, ext/tk/lib/tkafter.rb: additional check of </div><div class='ctx'> 	  Tk interpreters' status for a little more safety</div><div class='ctx'> </div><div class='ctx'> Wed Jul 30 02:37:12 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='hunk'>@@ -514,14 +514,14 @@ Mon Jul 28 22:57:52 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Tue Jul 29 16:20:36 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tcltklib/tcltklib.c: bug fix and</div><div class='add'>+	* ext/tcltklib/tcltklib.c: bug fix and </div><div class='ctx'> 	  change mainloop_abort_on_no_widget_cmd =&gt; mainloop_abort_on_exception</div><div class='ctx'> 	  ( to avoid thread timing trouble on accessing destroyed widgets )</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb: change default mode of</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: change default mode of </div><div class='ctx'> 	  mainloop_abort_on_exception on multi-tk.rb</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix a bug of the procedure for</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: fix a bug of the procedure for </div><div class='ctx'> 	  'Delete' button on the safe-Tk frmae</div><div class='ctx'> </div><div class='ctx'> Tue Jul 29 12:22:28 2003  why the lucky stiff  &lt;ruby-cvs@whytheluckystiff.net&gt;</div><div class='hunk'>@@ -541,8 +541,8 @@ Tue Jul 29 12:15:37 2003  NAKAMURA Usaku &lt;usa@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Tue Jul 29 08:05:30 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tkdialog.rb, ext/tk/lib/tktext.rb,</div><div class='del'>-	  ext/tk/sample/tkbiff.rb, ext/tk/sample/tkdialog.rb,</div><div class='add'>+	* ext/tk/lib/tk.rb, ext/tk/lib/tkdialog.rb, ext/tk/lib/tktext.rb, </div><div class='add'>+	  ext/tk/sample/tkbiff.rb, ext/tk/sample/tkdialog.rb, </div><div class='ctx'> 	  ext/tk/sample/tkform.rb: bug fix ( tested with Ruby/Tk widget demo )</div><div class='ctx'> </div><div class='ctx'> Tue Jul 29 04:22:08 2003  why the lucky stiff  &lt;ruby-cvs@whytheluckystiff.net&gt;</div><div class='hunk'>@@ -571,7 +571,7 @@ Tue Jul 29 01:24:32 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	* ext/tk/lib/multi-tk.rb: bug fix and pack options are pssed</div><div class='ctx'> 	  to the safeTk container</div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/safe-tk.rb: add example for pack options of</div><div class='add'>+	* ext/tk/sample/safe-tk.rb: add example for pack options of </div><div class='ctx'> 	  safeTk container</div><div class='ctx'> </div><div class='ctx'> Mon Jul 28 23:23:08 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='hunk'>@@ -643,7 +643,7 @@ Sun Jul 27 19:35:06 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	* ext/tcltklib/tcltklib.c: add some methods to support</div><div class='ctx'> 	  multiple interpreters (low level)</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/multi-tk.rb: new library to support multiple Tk</div><div class='add'>+	* ext/tk/lib/multi-tk.rb: new library to support multiple Tk </div><div class='ctx'> 	  interpreters (high level)</div><div class='ctx'> </div><div class='ctx'> 	* ext/tcltklib/demo/safeTk.rb: new sample of safeTk interpreter</div><div class='hunk'>@@ -732,12 +732,12 @@ Fri Jul 26 00:04:25 2003  NAKAMURA, Hiroshi  &lt;nakahiro@sarion.co.jp&gt;</div><div class='ctx'> </div><div class='ctx'> Fri Jul 25 16:43:03 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tcltklib/tcltklib.c: add TclTkIp#create_slave,</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add TclTkIp#create_slave, </div><div class='ctx'> 	  TclTkIp#_make_safe and TclTkIp#safe?</div><div class='ctx'> </div><div class='ctx'> 	* ext/tcltklib/MANUAL.euc: modify descriptions</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix [ruby-talk:76980] and modify to</div><div class='add'>+	* ext/tk/lib/tk.rb: bug fix [ruby-talk:76980] and modify to </div><div class='ctx'> 	  support multi Tk IPs</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkafter.rb: modify to support multi Tk IPs</div><div class='hunk'>@@ -747,10 +747,10 @@ Fri Jul 25 15:47:39 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='ctx'> 	* ext/openssl/extconf.rb: add check for BN_rand_range() and</div><div class='ctx'> 	  BN_pseudo_rand_range().</div><div class='ctx'> </div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise</div><div class='add'>+	* ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise </div><div class='ctx'> 	  NotImplementedError if BN_rand_range() wan not defined.</div><div class='ctx'> </div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise</div><div class='add'>+	* ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise </div><div class='ctx'> 	  NotImplementedError if BN_pseudo_rand_range() wan not defined.</div><div class='ctx'> </div><div class='ctx'> 	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_s_encrypt): avoid compiler</div><div class='hunk'>@@ -1110,7 +1110,7 @@ Thu Jul 17 13:42:53 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Thu Jul 17 06:40:28 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: recover and fix typo : Tk.chooseDirectory</div><div class='add'>+	* ext/tk/lib/tk.rb: recover and fix typo : Tk.chooseDirectory </div><div class='ctx'> 	  (Tk8.4 feature)</div><div class='ctx'> </div><div class='ctx'> Wed Jul 16 16:23:58 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='hunk'>@@ -1139,7 +1139,7 @@ Tue Jul 15 14:38:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Tue Jul 15 03:30:41 2003  why the lucky stiff  &lt;ruby-cvs@whytheluckystiff.net&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/syck/rubyext.c (syck_mark_emitter): forgot to rb_gc_mark the</div><div class='add'>+	* ext/syck/rubyext.c (syck_mark_emitter): forgot to rb_gc_mark the </div><div class='ctx'> 	  outgoing IO object.</div><div class='ctx'> </div><div class='ctx'> Sun Jul 13 14:55:36 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='hunk'>@@ -1196,7 +1196,7 @@ Fri Jul 11 16:09:09 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Fri Jul 11 07:17:47 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: not create a Tcl/Tk interpreter if already</div><div class='add'>+	* ext/tk/lib/tk.rb: not create a Tcl/Tk interpreter if already </div><div class='ctx'> 	  defined TkCore::INTERP</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: bugfix on TkWindow#configure</div><div class='hunk'>@@ -1306,7 +1306,7 @@ Thu Jul  3 14:22:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Thu Jul  3 12:13:05 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='del'>-	* lib/mkmf.rb (VPATH): convert from Windows form to Unix form on</div><div class='add'>+	* lib/mkmf.rb (VPATH): convert from Windows form to Unix form on </div><div class='ctx'> 	  MinGW.  This fixes the build with GNU make 3.80-1 for Cygwin.</div><div class='ctx'> </div><div class='ctx'> Wed Jul  2 23:27:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='hunk'>@@ -1454,16 +1454,16 @@ Fri Jun 27 03:24:54 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='ctx'> Thu Jun 26 21:34:49 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='ctx'> </div><div class='ctx'> 	* class.c (class_instance_method_list): get rid of warning about</div><div class='del'>-	  argument type mismatch, and inline method_list().</div><div class='add'>+	  arguement type mismatch, and inline method_list().</div><div class='ctx'> 	  [ruby-core:01198]</div><div class='ctx'> </div><div class='ctx'> Wed Jun 25 14:40:33 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add and modify methods ---</div><div class='del'>-	  TkWidget.database_class, TkWidget.database_classname,</div><div class='del'>-          TkWidget#database_class, TkWidget#database_classname</div><div class='add'>+	* ext/tk/lib/tk.rb: add and modify methods --- </div><div class='add'>+	  TkWidget.database_class, TkWidget.database_classname, </div><div class='add'>+          TkWidget#database_class, TkWidget#database_classname </div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: instances of a subclass of TkToplevel or</div><div class='add'>+	* ext/tk/lib/tk.rb: instances of a subclass of TkToplevel or </div><div class='ctx'> 	  TkFrame are created with ":class=&gt;subclass" option as default.</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/sample/tkoptdb.rb: add a new part</div><div class='hunk'>@@ -1478,7 +1478,7 @@ Wed Jun 25 05:49:10 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: add widget destroy hook binding to TkBindTag::ALL</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkcanvas.rb: Although requiring manual control of GC,</div><div class='add'>+	* ext/tk/lib/tkcanvas.rb: Although requiring manual control of GC, </div><div class='ctx'> 	  memory eating problem of TkCanvas Items is fixed.</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tktext.rb: add some methods and bug fix</div><div class='hunk'>@@ -1493,10 +1493,10 @@ Tue Jun 24 16:46:07 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	* ext/tk/lib/tk.rb: bug fix on TkToplevel, TkFrame,</div><div class='ctx'> 	  TkPanedwindow, TkOptionDB</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: TkOptionDB --- make it more secure to use procs</div><div class='add'>+	* ext/tk/lib/tk.rb: TkOptionDB --- make it more secure to use procs </div><div class='ctx'> 	  defined on resourceDB</div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/tkoptdb.rb, resource.ja, resource.en:</div><div class='add'>+	* ext/tk/sample/tkoptdb.rb, resource.ja, resource.en: </div><div class='ctx'> 	  sample script how to use TkOptionDB.</div><div class='ctx'> </div><div class='ctx'> Tue Jun 24 14:22:41 2003  why the lucky stiff  &lt;ruby-cvs@whytheluckystiff.net&gt;</div><div class='hunk'>@@ -1610,14 +1610,14 @@ Sun Jun 22 23:42:20 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='ctx'> </div><div class='ctx'> Sun Jun 22 16:17:02 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: TkRoot.new and TkToplevel.new accept Wm</div><div class='add'>+	* ext/tk/lib/tk.rb: TkRoot.new and TkToplevel.new accept Wm </div><div class='ctx'> 	  commands as elements</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: TkMenu --- add some methods</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: TkOptionMenubutton --- bug fix</div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/tkmenubutton.rb: sample of TkMenubutton and</div><div class='add'>+	* ext/tk/sample/tkmenubutton.rb: sample of TkMenubutton and </div><div class='ctx'> 	  TkOptionMenubutton</div><div class='ctx'> </div><div class='ctx'> Sat Jun 21 23:15:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='hunk'>@@ -1625,7 +1625,7 @@ Sat Jun 21 23:15:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> 	* eval.c (proc_invoke): should not propagate distination tag if</div><div class='ctx'> 	  tag is already handled in this level. (ruby-bugs-ja PR#501)</div><div class='ctx'> </div><div class='del'>-	* object.c (str_to_id): check for empty string before intern.</div><div class='add'>+	* object.c (str_to_id): check for empty string before intern. </div><div class='ctx'> 	  [ruby-talk:74006]</div><div class='ctx'> </div><div class='ctx'> Sat Jun 21 13:56:09 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='hunk'>@@ -1636,10 +1636,10 @@ Sat Jun 21 13:56:09 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='ctx'> </div><div class='ctx'> Sat Jun 21 12:55:17 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: TkRoot.new and TkToplevel.new accept Wm commands</div><div class='del'>-	  as elements of a hash argument.</div><div class='add'>+	* ext/tk/lib/tk.rb: TkRoot.new and TkToplevel.new accept Wm commands </div><div class='add'>+	  as elements of a hash argument. </div><div class='ctx'> </div><div class='del'>-	* ext/tk/sample/tktimer2.rb: add comments about the usage of a</div><div class='add'>+	* ext/tk/sample/tktimer2.rb: add comments about the usage of a </div><div class='ctx'> 	  TkTimer object.</div><div class='ctx'> </div><div class='ctx'> Sat Jun 21 08:47:22 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='hunk'>@@ -1647,10 +1647,10 @@ Sat Jun 21 08:47:22 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	* ext/tk/lib/tk*.rb: remove direct-accesses to TkComm::INTERP and</div><div class='ctx'> 	  TkComm::INITIALIZE_TARGETS</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk*.rb: use TkINTERP_SETUP_SCRIPTS constant for setting</div><div class='add'>+	* ext/tk/lib/tk*.rb: use TkINTERP_SETUP_SCRIPTS constant for setting </div><div class='ctx'> 	  up the interpreter</div><div class='ctx'> </div><div class='del'>-	* ext/tcltklib/tcltklib.c: support to create a safe interpreter</div><div class='add'>+	* ext/tcltklib/tcltklib.c: support to create a safe interpreter </div><div class='ctx'> 	  with safe-Tk</div><div class='ctx'> </div><div class='ctx'> Fri Jun 20 23:28:27 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='hunk'>@@ -1660,7 +1660,7 @@ Fri Jun 20 23:28:27 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Fri Jun 20 15:04:28 2003  NAKAMURA Usaku &lt;usa@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='del'>-	* defines.h (PATH_ENV): name of PATH environment. [new].</div><div class='add'>+	* defines.h (PATH_ENV): name of PATH environment. [new]. </div><div class='ctx'> </div><div class='ctx'> 	* defines.h (ENV_IGNORECASE): define for case insensitive platforms</div><div class='ctx'> 	  to access environment variables.</div><div class='hunk'>@@ -1678,7 +1678,7 @@ Fri Jun 20 14:52:46 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> Fri Jun 20 03:09:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='del'>-	* parse.y (new_yield): distinguish "yield 1,2" and "yield [1,2]".</div><div class='add'>+	* parse.y (new_yield): distinguish "yield 1,2" and "yield [1,2]". </div><div class='ctx'> 	  [ruby-dev:20360]</div><div class='ctx'> </div><div class='ctx'> 	* eval.c (rb_eval): support new_yield() change.</div><div class='hunk'>@@ -1688,7 +1688,7 @@ Fri Jun 20 03:09:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> 	  [ruby-list:36935]</div><div class='ctx'> </div><div class='ctx'> 	* parse.y (no_blockarg): separate no block argument check and</div><div class='del'>-	  ret_args argument processing.</div><div class='add'>+	  ret_args argument processing. </div><div class='ctx'> </div><div class='ctx'> Fri Jun 20 00:45:19 2003  NAKAMURA, Hiroshi &lt;nahi@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='hunk'>@@ -1696,9 +1696,9 @@ Fri Jun 20 00:45:19 2003  NAKAMURA, Hiroshi &lt;nahi@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> Thu Jun 19 22:51:41 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='ctx'> </div><div class='del'>-	* lib/drb.rb, lib/drb/drb.rb, lib/drb/eq.rb,</div><div class='del'>-	  lib/drb/extserv.rb, lib/drb/extservm.rb, lib/drb/gw.rb,</div><div class='del'>-	  lib/drb/invokemethod.rb, lib/drb/observer.rb,</div><div class='add'>+	* lib/drb.rb, lib/drb/drb.rb, lib/drb/eq.rb, </div><div class='add'>+	  lib/drb/extserv.rb, lib/drb/extservm.rb, lib/drb/gw.rb, </div><div class='add'>+	  lib/drb/invokemethod.rb, lib/drb/observer.rb, </div><div class='ctx'> 	  lib/drb/timeridconv.rb, lib/drb/unix.rb: import drb-2.0.4b3</div><div class='ctx'> </div><div class='ctx'> Thu Jun 19 16:14:43 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='hunk'>@@ -1710,17 +1710,17 @@ Thu Jun 19 16:14:43 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tcltklib/tcltklib.c: add TclTkLib::EventFlag::NONE ( == 0 )</div><div class='ctx'> </div><div class='del'>-	* ext/tcltklib/tcltklib.c: add set_no_event_wait() and</div><div class='add'>+	* ext/tcltklib/tcltklib.c: add set_no_event_wait() and </div><div class='ctx'> 	  get_no_event_wait()</div><div class='ctx'> </div><div class='ctx'> 	* ext/tcltklib/MANUAL.euc: modify</div><div class='ctx'> </div><div class='ctx'> 	* ext/tcltklib/README.euc: ditto</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: change default value of TkCore.do_one_event</div><div class='add'>+	* ext/tk/lib/tk.rb: change default value of TkCore.do_one_event </div><div class='ctx'> 	  argument</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add TkCore.set_no_event_wait(wait) and</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkCore.set_no_event_wait(wait) and </div><div class='ctx'> 	  TkCore.get_no_event_wait</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: add Tk.exit ( == destroy root widget )</div><div class='hunk'>@@ -1730,7 +1730,7 @@ Thu Jun 19 16:14:43 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkafter.rb: set_callback returns self</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkafter.rb: continue() raises an exception, if already</div><div class='add'>+	* ext/tk/lib/tkafter.rb: continue() raises an exception, if already </div><div class='ctx'> 	  running or no procedure.</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkafter.rb: skip() raises an exception, if not running.</div><div class='hunk'>@@ -1768,15 +1768,15 @@ Wed Jun 18 19:46:21 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: rename 'no_create' option to 'without_creating'</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add TkWindow#pack_in, TkWindow#grid_in,</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkWindow#pack_in, TkWindow#grid_in, </div><div class='ctx'> 	  TkWindow#place_in</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: add TkWindow#bind_class and TkWindow#database_class</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add TkBindTag.new_by_name and TkDatabaseClass</div><div class='add'>+	* ext/tk/lib/tk.rb: add TkBindTag.new_by_name and TkDatabaseClass </div><div class='ctx'> 	  for binding to database class</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: check varname whether already exsist or not.</div><div class='add'>+	* ext/tk/lib/tk.rb: check varname whether already exsist or not. </div><div class='ctx'> 	  (TkVarAccess.new)</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: TkTextWin#bbox returns an array of four numbers</div><div class='hunk'>@@ -1788,21 +1788,21 @@ Wed Jun 18 19:46:21 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: TkBindTag.new accepts a block</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: If given taglist, TkWindow#bindtags(taglist)</div><div class='add'>+	* ext/tk/lib/tk.rb: If given taglist, TkWindow#bindtags(taglist) </div><div class='ctx'> 	  returns taglist</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: add TkWindow#bindtags=(taglist)</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: Tk.focue and Tk.focus_lastfor return nil</div><div class='add'>+	* ext/tk/lib/tk.rb: Tk.focue and Tk.focus_lastfor return nil </div><div class='ctx'> 	  if there is no target widget.</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: Tk::Wm.client returns the argument string</div><div class='add'>+	* ext/tk/lib/tk.rb: Tk::Wm.client returns the argument string </div><div class='ctx'> 	  when setting name</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: TkGrid.columnconfiginfo and rowconfiginfo</div><div class='add'>+	* ext/tk/lib/tk.rb: TkGrid.columnconfiginfo and rowconfiginfo </div><div class='ctx'> 	  given a slot return a number.</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: TkWindow.grid_columnconfiginfo and</div><div class='add'>+	* ext/tk/lib/tk.rb: TkWindow.grid_columnconfiginfo and </div><div class='ctx'> 	  grid_rowconfiginfo --- ditto</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: rename and define alias :: TkOption ==&gt; TkOptionDB</div><div class='hunk'>@@ -1813,10 +1813,10 @@ Wed Jun 18 19:46:21 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: some TkComm methods change to module functions</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: add support for -displayof option to some</div><div class='add'>+	* ext/tk/lib/tk.rb: add support for -displayof option to some </div><div class='ctx'> 	  TkWinfo methods</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tk.rb: bind, bind_append and bind_remove ---</div><div class='add'>+	* ext/tk/lib/tk.rb: bind, bind_append and bind_remove --- </div><div class='ctx'> 	  returns the target of event-binding</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: add Tk8.4 features</div><div class='hunk'>@@ -1837,7 +1837,7 @@ Wed Jun 18 19:46:21 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkentry.rb: TkEntry#bbox returns an array of four numbers</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkentry.rb: scan validatecommand arguments and</div><div class='add'>+	* ext/tk/lib/tkentry.rb: scan validatecommand arguments and </div><div class='ctx'> 	  convert to proper type</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkbgerror.rb: support to define a error handler by user</div><div class='hunk'>@@ -1932,7 +1932,7 @@ Fri Jun 13 09:24:39 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='ctx'> Thu Jun 12 22:13:13 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb : add 'no_create' option to widget</div><div class='del'>-	  initialize method.</div><div class='add'>+	  initialize method. </div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/MANIFEST : forgot to commit when added tkmacpkg.rb</div><div class='ctx'> 	  and tkwinpkg.rb</div><div class='hunk'>@@ -1947,7 +1947,7 @@ Thu Jun 12 21:14:11 2003  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	* ext/tk/lib/tkmacpkg.rb : Mac resource (not new but not</div><div class='ctx'> 	  included until now)</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkwinpkg.rb : Win DDE and registry (not new but not</div><div class='add'>+	* ext/tk/lib/tkwinpkg.rb : Win DDE and registry (not new but not </div><div class='ctx'> 	  included until now)</div><div class='ctx'> </div><div class='ctx'> Tue Jun 10 14:26:30 2003  why the lucky stiff  &lt;ruby-cvs@whytheluckystiff.net&gt;</div><div class='hunk'>@@ -3361,7 +3361,7 @@ Fri Apr 11 02:41:35 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='ctx'> </div><div class='ctx'> Thu Apr 10 21:12:19 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='ctx'> </div><div class='del'>-	* lib/net/pop.rb: Exception line was accidentally removed.</div><div class='add'>+	* lib/net/pop.rb: Exception line was accidentaly removed.</div><div class='ctx'> 	  [ruby-dev:19989]</div><div class='ctx'> </div><div class='ctx'> Thu Apr 10 18:42:13 2003  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='hunk'>@@ -5986,7 +5986,7 @@ Thu Nov  7 09:51:37 2002  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='ctx'> Wed Nov  6 16:57:06 2002  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> 	* class.c (rb_define_method): do not set NOEX_CFUNC if klass is</div><div class='del'>-	  really a module, whose methods must be safe for receiver's type.</div><div class='add'>+	  really a module, whose methods must be safe for reciever's type.</div><div class='ctx'> </div><div class='ctx'> 	* eval.c (rb_eval): nosuper should not be inherited unless the</div><div class='ctx'> 	  overwritten method is an undef placeholder.</div><div class='hunk'>@@ -8346,7 +8346,7 @@ Tue Jun  4 07:03:33 2002  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tkfont.rb:  Fix bugs on TkFont.init_widget_font for Tk8.x.</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkafter.rb: Add self to 1st argument of interval-</div><div class='add'>+	* ext/tk/lib/tkafter.rb: Add self to 1st argument of interval- </div><div class='ctx'> 	  and loop-proc</div><div class='ctx'> 	  TkAfter#current_interval returns an interval (sleep) time value</div><div class='ctx'> 	  TkAfter#current_args returns an array of arguments</div><div class='hunk'>@@ -8354,7 +8354,7 @@ Tue Jun  4 07:03:33 2002  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk*.rb: Allow to use Symbols for parameters.</div><div class='ctx'> </div><div class='del'>-	* ext/tk/lib/tkcanvas.rb: (TkcItem) Add 'coords' parameter to the</div><div class='add'>+	* ext/tk/lib/tkcanvas.rb: (TkcItem) Add 'coords' parameter to the </div><div class='ctx'> 	  canvas item constructor (for new notation of constructor).</div><div class='ctx'> </div><div class='ctx'> 	* ext/tcltklib/tcltklib.c: New 'mainloop' and 'mainloop_watchdog'.</div><div class='hunk'>@@ -8363,7 +8363,7 @@ Tue Jun  4 07:03:33 2002  Hidetoshi NAGAI &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='ctx'> 	  'use' parameter.</div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: Add new parameter 'widgetname' to the widget</div><div class='del'>-	  constructor to support effective use of Resource Database.</div><div class='add'>+	  constructor to support effective use of Resource Database. </div><div class='ctx'> </div><div class='ctx'> 	* ext/tk/lib/tk.rb: TkOption::get always returns a tainted string.</div><div class='ctx'> </div><div class='hunk'>@@ -10516,11 +10516,6 @@ Thu Jan 17 16:21:42 2002  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> 	* eval.c (block_pass): should allow block argument relay even in</div><div class='ctx'> 	  the tainted mode.</div><div class='ctx'> </div><div class='del'>-Thu Jan 17 09:43:05 2002  TAKAHASHI Kaoru  &lt;kaoru@kaisei.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-add-log-current-method): New function</div><div class='del'>-	for `add-log-current-defun-function'.</div><div class='del'>-</div><div class='ctx'> Thu Jan 17 04:51:48 2002  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> 	* ext/socket/socket.c: support subclassing by proper "initialize"</div><div class='hunk'>@@ -13763,7 +13758,7 @@ Tue Apr 17 17:33:55 2001  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='ctx'> </div><div class='ctx'> 	* eval.c (handle_rescue): use === to compare exception match.</div><div class='ctx'> </div><div class='del'>-	* error.c (syserr_eqq): comparison between SystemCallErrors should</div><div class='add'>+	* error.c (syserr_eqq): comparison between SytemCallErrors should</div><div class='ctx'> 	  based on their error numbers.</div><div class='ctx'> </div><div class='ctx'> Tue Apr 17 16:54:39 2001  K.Kosako  &lt;kosako@sofnec.co.jp&gt;</div><div class='hunk'>@@ -21236,7 +21231,7 @@ Sun Jan  3 01:37:58 1999  Takao KAWAMURA  &lt;kawamura@ike.tottori-u.ac.jp&gt;</div><div class='ctx'> Sat Jan  2 17:09:06 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='ctx'> </div><div class='ctx'> 	* eval.c (rb_jump_tag): new api to invoke JUMP_TAG.  tag values</div><div class='del'>-	  can be obtained from rb_eval_string_protect()/rb_load_protect().</div><div class='add'>+	  can obtained from rb_eval_string_protect()/rb_load_protect().</div><div class='ctx'> </div><div class='ctx'> 	* eval.c (rb_rescue): now catches all exceptions but SystemExit.</div><div class='ctx'> </div><div class='head'>diff --git a/doc/ChangeLog-1.9.3 b/doc/ChangeLog-1.9.3<br/>deleted file mode 100644<br/>index eecfc44325..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-1.9.3?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-1.9.3</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,92772 +0,0 @@</div><div class='del'>-Sun Jul 10 22:50:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal): fix</div><div class='del'>-	  precision treatment errors.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests for the above change.</div><div class='del'>-	  fix precision treatment errors.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power): precision argument</div><div class='del'>-	  should be optional for its compatibility.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 22:38:09 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (var_ref): distinguish vcall from local variable</div><div class='del'>-	  references.  based on a patch by Michael Edgar michael.j.edgar</div><div class='del'>-	  AT dartmouth.edu.  Bug #5002</div><div class='del'>-</div><div class='del'>-Sun Jul 10 21:51:29 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: add comments (cautions).</div><div class='del'>-</div><div class='del'>-Sun Jul 10 20:59:38 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Add new class variable `@@testfile_prefix`.</div><div class='del'>-	  This is for changing test name prefix. (For testing)</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_first.rb: Renamed from</div><div class='del'>-	  test_first.rb</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_second.rb: Renamed from</div><div class='del'>-	  test_second.rb</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_third.rb: Renamed from</div><div class='del'>-	  test_third.rb</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_forth.rb: Renamed from</div><div class='del'>-	  test_forth.rb</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/runner.rb: Remove misc.rb</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_first.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_second.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_third.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_forth.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/misc.rb: Removed because no longer</div><div class='del'>-	  needed.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb: Fix assertions for above.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 16:57:08 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw): check a class frame.</div><div class='del'>-	  Fixes Bug #4648.</div><div class='del'>-	  The patch is contributed by Kazuki Tsujimoto.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 17:28:01 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (mutex_debug): use exit(EXIT_FAILURE) instead of</div><div class='del'>-	  exit(1).</div><div class='del'>-	* thread_pthread.c (add_signal_thread_list): ditto.</div><div class='del'>-	* thread.c (rb_thread_call_with_gvl): ditto.</div><div class='del'>-	* util.c (Bug): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 15:58:12 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Merge json gem 1.5.4+ (f7f78896607b6f6226cd).</div><div class='del'>-	  [Bug #4700]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 16:41:32 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (typedef struct rb_vm_struct): create a new</div><div class='del'>-	  'inhibit_thread_creation' field.</div><div class='del'>-	* thread.c (rb_thread_terminate_all): set inhibit_thread_creation.</div><div class='del'>-	* thread.c (thread_s_new): don't permit to create new thread</div><div class='del'>-	  if the VM is under destruction. Otherwise evil finalizer code</div><div class='del'>-	  can make SEGV. [Bug #4992][ruby-core:37858]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_objectspace.rb: new test for this fix.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 16:06:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): use abort() instead of exit() when nested</div><div class='del'>-	  SEGV was happen. Because unnested SEGV use abort().</div><div class='del'>-	  [Bug #5013][ruby-dev:44078]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 15:30:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_autoload): prevent to autoload for singleton</div><div class='del'>-	  classes.  fixes [Bug #4886] [ruby-dev:43816]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_autoload.rb: add tests for the above change.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 15:09:17 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: Import documentation patch by Justin</div><div class='del'>-	  Collins. [ruby-core:37225] [Feature #4903]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 14:57:36 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: canonicalizes nth and sf.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 14:13:50 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_thread_call_with_gvl, rb_thread_call_without_gvl):</div><div class='del'>-	  make them visible as experimental C APIs.  fixes Feature #4328.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 12:18:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power): support non-integral</div><div class='del'>-	  exponent.  fixes [Bug #3271]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power_op): add a function to</div><div class='del'>-	  only use for "**" operator.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add a bunch of tests for the</div><div class='del'>-	  above changes.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_integer): add an utility function.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_negative): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_positive): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_zero): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_one): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_even): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 12:08:39 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (when_vals): when a string literal is written on when</div><div class='del'>-	  clause, skip string creation to make it faster.  [ruby-dev:44068]</div><div class='del'>-	  [Feature #5000]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 11:35:29 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reduce_nodes_gen): NODE_RETURN in rescue body must not be</div><div class='del'>-	  reduced when there is an else clause.  This caused bizarre behavior</div><div class='del'>-	  in [Bug #4473] [ruby-core:35629] [ruby-core:37884].</div><div class='del'>-</div><div class='del'>-Sun Jul 10 09:46:14 2011  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_max): fix behavior with excluded end value.</div><div class='del'>-	  [Bug #4591]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 09:13:18 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS:  Fix RubyGems version.  [Ruby 1.9 - Bug #5004]</div><div class='del'>-</div><div class='del'>-Sat Jul  9 20:01:59 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: rb_rational_reciprocal is defined in rational.c.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 19:48:31 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: added declarations.</div><div class='del'>-	* complex.c: followed the above change.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 17:24:41 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: bigdecimal is not a builtin.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 17:17:53 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: some improvements for performance.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 16:56:01 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h (ATOMIC_OR): _InterlockedOr is unavailable in VC6.</div><div class='del'>-</div><div class='del'>-	* numeric.c (ULLONG_MAX): fallback definition.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 15:59:19 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_{read,write}): should be signed.</div><div class='del'>-	  Bug #5001</div><div class='del'>-</div><div class='del'>-Sat Jul  9 14:02:20 2011  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: fix multipart form parsing bug. [Bug #3866]</div><div class='del'>-</div><div class='del'>-Sat Jul  9 11:41:03 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Vector#normalize [ruby-dev:43829]</div><div class='del'>-</div><div class='del'>-Sat Jul  9 09:25:06 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c:  Remove "enumeration sequenced by".</div><div class='del'>-	  [Ruby 1.9 - Bug #4757]</div><div class='del'>-</div><div class='del'>-Sat Jul  9 09:14:56 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c:  Note that methods other than IO#gets may increase IO#lineno.</div><div class='del'>-	  [Ruby 1.9 - Bug #4902]</div><div class='del'>-</div><div class='del'>-Sat Jul  9 08:39:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RUN_OPT): disable gems.</div><div class='del'>-</div><div class='del'>-Sat Jul  9 08:37:05 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close): close(2) on a fd which is being read by</div><div class='del'>-	  another thread causes deadlock on Mac OS X 10.5</div><div class='del'>-</div><div class='del'>-Fri Jul  8 21:20:39 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: use USE_ELF instead of __ELF__ because Solaris</div><div class='del'>-	  doesn't define it. USE_ELF is already provided by configure.</div><div class='del'>-	  patched by Naohisa Goto. [ruby-dev:44066] [Bug #4998]</div><div class='del'>-</div><div class='del'>-	* addr2line.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 16:40:38 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (convert_encoding): should not modify</div><div class='del'>-	  the argument.</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (convert_encoding): no needs to use</div><div class='del'>-	  force_encoding.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 15:53:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_bug): get rid of segfault after all threads</div><div class='del'>-	  disposed.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 15:01:06 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: include openssl/e_os2.h before checking the</div><div class='del'>-	  definition of OPENSSL_SYS_WIN32.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 14:40:39 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wunlink): reverted a part of r32426. it was mistakenly</div><div class='del'>-	  mixed.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 14:29:47 2011  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: can't subtract void *.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 14:33:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): define GC_MARK_STACKFRAME_WORD.</div><div class='del'>-	  fixed build problem of r32438.  the value (30) is temporary value.</div><div class='del'>-	  maybe it's enough by 20~24 according to my observation.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 13:47:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_unlock_all): folded into</div><div class='del'>-	  rb_threadptr_unlock_all_locking_mutexes.</div><div class='del'>-	* thread.c (rb_threadptr_unlock_all_locking_mutexes) ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 13:36:02 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_unlock_all_locking_mutexes): rename to</div><div class='del'>-	  rb_threadptr_unlock_all_locking_mutexes and remove static.</div><div class='del'>-	* vm_core.h: add rb_threadptr_unlock_all_locking_mutexes declaration.</div><div class='del'>-	* thread.c (thread_start_func_2): adjust the above rename.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): call rb_threadptr_unlock_all_locking_mutexes</div><div class='del'>-	  again after finalizer. [Bug #4988] [ruby-dev:44049]</div><div class='del'>-</div><div class='del'>-Fri Jul  8 13:06:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (FIBER_MACHINE_STACK_ALLOCATION_SIZE): Fiber stack size</div><div class='del'>-	  don't need to keep multiple number of sizeof(VALUE).</div><div class='del'>-</div><div class='del'>-Fri Jul  8 11:39:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (sudo-precheck): true command is not standard on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 10:39:52 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_destroy): fix cond_t leak.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 09:17:59 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c:  Improve documentation</div><div class='del'>-</div><div class='del'>-Thu Jul  7 23:35:31 2011  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change water_mark value that may call</div><div class='del'>-	  gc_mark(lev &lt;= GC_LEVEL_MAX) in gc_mark().</div><div class='del'>-	  In ruby_stack_check(), water_mark is a value that may call some</div><div class='del'>-	  C function. Fixes Bug #3781</div><div class='del'>-</div><div class='del'>-	* configure.in: define GC_MARK_STACKFRAME_WORD that approximate</div><div class='del'>-	  size of gc_mark() and gc_mark_children() stackframes.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 17:55:05 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb (TestParallelWorker#teardown): wait</div><div class='del'>-	  the child process even if the communication pipe is broken.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 15:44:42 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_index, rb_enc_associate_index): should</div><div class='del'>-	  check if frozen.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3), ruby.c (process_options, ruby_script):</div><div class='del'>-	  defer freezing after associating encodings.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 15:16:51 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ull): use own switch sentence.</div><div class='del'>-	  Current implementation can't convert 18446744073709551615.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 06:56:15 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (FIBER_STACK_FLAGS): workaround fix for r32420 on FreeBSD.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 06:46:12 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb:  Add difference column to report that averages</div><div class='del'>-	  across all runs of a benchmark.  [Ruby 1.9 - Feature #4982]</div><div class='del'>-</div><div class='del'>-Thu Jul  7 06:19:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Reduce requires to improve `make benchmark`.</div><div class='del'>-	  [#4962]</div><div class='del'>-	* lib/rubygems/specification.rb:  Delay initialization of rubygems</div><div class='del'>-	  until require is called.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 04:31:26 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): rescue_mod is in inverse order from other</div><div class='del'>-	  modifiers.  patched by michael.j.edgar AT dartmouth.edu at</div><div class='del'>-	  [ruby-core:36248].  fixed #4716.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 00:40:16 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (kill): check that the process exited or not before</div><div class='del'>-	  terminating it. [Bug #4943]</div><div class='del'>-</div><div class='del'>-Wed Jul  6 23:13:19 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (opt_call_args): allow trailing comma after assoc</div><div class='del'>-	  argument e.g. 'foo(bar:1,)'.  fixed #3456</div><div class='del'>-</div><div class='del'>-Wed Jul  6 22:11:12 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_header.rb(test_cgi_header_nph): Validate date in</div><div class='del'>-	  "Date:" header</div><div class='del'>-</div><div class='del'>-Wed Jul  6 21:29:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_machine_stack_alloc): cleanup pointer arithmetic.</div><div class='del'>-	  "size/sizeof(VALUE)" is ugly and easy confusing.</div><div class='del'>-	* cont.c (fiber_initialize_machine_stack_context): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 21:24:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_machine_stack_alloc): fix mprotect misuse. A stack</div><div class='del'>-	  guard page should have PROT_NONE.</div><div class='del'>-	* cont.c (fiber_initialize_machine_stack_context):</div><div class='del'>-	  th-&gt;machine_stack_maxsize shouldn't be included guard pages size.</div><div class='del'>-	  [Bug #4983][ruby-dev:44043]</div><div class='del'>-</div><div class='del'>-Wed Jul  6 21:23:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_machine_stack_alloc): use MAP_STACK if it's provided.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 21:22:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_machine_stack_alloc): use MAP_FAILED instead of -1.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 21:21:05 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_machine_stack_alloc): remove unnecessary cast.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 18:10:13 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_header.rb(test_cgi_header_nph): Adding space after</div><div class='del'>-	  comma.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_header.rb(test_cgi_header_nph): Remove variable</div><div class='del'>-	  `now`. Suppress warning.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 12:18:09 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_header.rb(test_cgi_header_nph): Fix bug depends to</div><div class='del'>-	  time. The test fails if time past 1 second in line 136-145</div><div class='del'>-</div><div class='del'>-Tue Jul  5 15:28:04 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): should dispatch heredoc_end</div><div class='del'>-	  scanner event on an empty here document.  fixed Bug#4543.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 13:49:26 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: fix r32407 to check HAVE_ALLOCA_H.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 14:05:43 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb (_authenticate):</div><div class='del'>-	  Literal texts in HTTP ABNF is case-insensitive (RFC2616 2.1),</div><div class='del'>-	  and a sample implementation in RFC2617 also ignores the case</div><div class='del'>-	  of algorithms. So now this ignores those cases.</div><div class='del'>-	  [ruby-dev:43965] [Feature #4936]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb (initialize):</div><div class='del'>-	  Because of above, opera_hack is useless and removed.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 01:30:01 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): cut the waiting time up to</div><div class='del'>-	  100,000,000 because Solaris cond_timedwait() return EINVAL if an</div><div class='del'>-	  argument is greater than current_time + 100,000,000.  This is</div><div class='del'>-	  considered as a kind of spurious wakeup.  The caller to native_sleep</div><div class='del'>-	  should care about spurious wakeup.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 01:24:26 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: disable FIBER_USE_NATIVE on Solaris because resuming any</div><div class='del'>-	  Fiber caused SEGV.  I haven't follow up the issue deeply, but it</div><div class='del'>-	  works when disabling the feature.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 01:22:46 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: include &lt;alloca.h&gt; to fix a build issue on Solaris.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 00:49:05 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: resurrect r32071 + add GC guard for</div><div class='del'>-	  rb_coverages. [ruby-core:37352] [Bug #4927]</div><div class='del'>-	  [ruby-core:36539] [Feature #4796]</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb resurrect r32071.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 22:24:46 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): For NetBSD/FreeBSD, use</div><div class='del'>-	  pthread_attr_getstack() if possible. and, remove an assumption</div><div class='del'>-	  of stack growing direction.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 20:42:31 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: revert r32071.  The commit caused SEGV on</div><div class='del'>-	  some minor nonfree OS.  I have no means of debugging the bug.  My</div><div class='del'>-	  personal opinion is that such OS should be unsupported unless there</div><div class='del'>-	  is an active maintainer.  [ruby-core:37352]</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 07:14:12 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): the return address of get_stack</div><div class='del'>-	  must be the highest address of the current thread's stack.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 06:37:22 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, thread_pthread.c (rb_reserved_fd_p,</div><div class='del'>-	  RB_RESERVED_FD_P): added.  This C API is to limit to access</div><div class='del'>-	  fds which are used by RubyVM internal.  In this version of</div><div class='del'>-	  CRuby, return 1 if fd is communication pipe.</div><div class='del'>-	  If your application needs to close all file descriptors to</div><div class='del'>-	  present resource leak, skip internal fds using this C API.</div><div class='del'>-	  We also define a macro RB_RESERVED_FD_P(fd).  So you can write</div><div class='del'>-	    #ifndef RB_RESERVED_FD_P</div><div class='del'>-	    #define RB_RESERVED_FD_P(fd) 0</div><div class='del'>-	    #endif</div><div class='del'>-	  for Ruby 1.9.2 or previous version to write compatible extensions.</div><div class='del'>-	  See [ruby-core:37727]</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_reserved_fd_p): added (return 0 for any fds).</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): raise ArgumentError if given fd is reserved by Ruby.</div><div class='del'>-</div><div class='del'>-Sun Jul  3 23:43:56 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): suppresses outputs from extconf.rb.</div><div class='del'>-	  (extmake) warns a failure in extconf.rb.</div><div class='del'>-</div><div class='del'>-Sun Jul  3 13:44:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_reject_bang): should not remove elements which are</div><div class='del'>-	  not yielded.  [Bug #2545]</div><div class='del'>-</div><div class='del'>-Sun Jul  3 06:10:26 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): pthread_attr_getstack() doesn't</div><div class='del'>-	  return stack start address, but stack base address. Thus,</div><div class='del'>-	  we need to add stack size for getting stack start address.</div><div class='del'>-	  And, we don't have to decrease guard size twice.</div><div class='del'>-	* thread_pthread.c (thread_start_func_1): don't use inaccurate</div><div class='del'>-	  stack start guess if native_thread_init_stack() can be used.</div><div class='del'>-	  [Bug #1813] [ruby-core:24540]</div><div class='del'>-</div><div class='del'>-Sun Jul  3 04:50:08 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): add to a care of guard page on Mac</div><div class='del'>-	  OS X. [Bug #1813] [ruby-core:24540]</div><div class='del'>-	* signal.c (ruby_signal): SIGBUS use alternative stack too.</div><div class='del'>-	* signal.c (sigbus): On Mac, thread stack overflow makes SIGBUS</div><div class='del'>-	  instead of SIGSEGV. thus, added stackoverflow check.</div><div class='del'>-	* signal.c (default_handler): get rid of compilation warning.</div><div class='del'>-	* signal.c (Init_signal): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 02 08:59:20 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb</div><div class='del'>-	* test/openssl/test_x509_cert.rb: Perform SHA-256 tests only if</div><div class='del'>-	  supported by the available OpenSSL version. Versions &lt; 0.9.8 don't</div><div class='del'>-	  support it. [ruby-core:37724]</div><div class='del'>-</div><div class='del'>-Sat Jul  2 07:17:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reject_bang, rb_ary_delete_if): rejected</div><div class='del'>-	  elements should be removed.  fixed [Bug #2545]</div><div class='del'>-</div><div class='del'>-Sat Jul  2 01:57:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: remove a description of Kernel#respond_to? because it has</div><div class='del'>-	  been reverted at revision 28564.</div><div class='del'>-</div><div class='del'>-Sat Jul  2 00:58:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: describe a change of multiplication of Bignum.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 18:52:31 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_erb.rb: increase loop count. too short</div><div class='del'>-	  measurement time makes less accuracy.</div><div class='del'>-	* benchmark/bm_app_factorial.rb: ditto.</div><div class='del'>-	* benchmark/bm_app_mandelbrot.rb: ditto.</div><div class='del'>-	* benchmark/bm_app_strconcat.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_file_create.rb: ditto.</div><div class='del'>-	* benchmark/bm_io_file_read.rb: ditto.</div><div class='del'>-	* benchmark/bm_io_file_write.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_concatenate.rb: ditto.</div><div class='del'>-	* benchmark/bm_so_lists.rb: ditto.</div><div class='del'>-	* benchmark/bm_so_matrix.rb: ditto.</div><div class='del'>-	* benchmark/bm_so_random.rb: ditto.</div><div class='del'>-	* benchmark/bm_so_sieve.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm_thread_mutex1.rb: ditto.</div><div class='del'>-	* benchmark/bm_vm_thread_mutex2.rb: ditto.</div><div class='del'>-	* benchmark/bm_vm_thread_mutex3.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_block.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_const.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_ensure.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_ivar.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_length.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_neq.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_not.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_rescue.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_simplereturn.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm1_swap.rb: cleanup.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_array.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_case.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_defined_method.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_eval.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_method.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_mutex.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_poly_method.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_poly_method_ov.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_proc.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_regexp.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_send.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_super.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_unif1.rb: cleanup.</div><div class='del'>-	* benchmark/bm_vm2_zsuper.rb: cleanup.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm_thread_alive_check1.rb: cleanup.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 15:23:00 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix: Add LUP decomposition</div><div class='del'>-</div><div class='del'>-Fri Jul  1 15:21:14 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Allow non integer exponents for Matrix#**</div><div class='del'>-</div><div class='del'>-Fri Jul  1 15:13:25 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix: Add Eigenvalue Decomposition</div><div class='del'>-</div><div class='del'>-Fri Jul  1 15:10:22 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix: Add Matrix#round</div><div class='del'>-</div><div class='del'>-Fri Jul  1 11:41:12 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): free heap ptr when the str is not embedded.</div><div class='del'>-	  patched by Eric Wong. [Bug #4956] [ruby-core:37708]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 11:07:43 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): fix memory leak.</div><div class='del'>-	  Patch by Eric Wong. Thank you! [Bug #4953] [ruby-core:37702]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 08:21:28 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): check vm state version</div><div class='del'>-	  to invalidate inline cache (ivar index).</div><div class='del'>-	  fixes Bug #4926.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setivar): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 08:03:15 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c, thread_pthread.c (WRITE_CONST): suppress warnings</div><div class='del'>-	  `ignoring return value'.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 06:41:36 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_check_signal): only wake up main thread.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common): check signal</div><div class='del'>-	  delivery if it is main thread.</div><div class='del'>-	  fixes [ruby-dev:44005] [Ruby 1.9 - Bug #4950]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_fork.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_get_next_signal): skip if signal_buff is empty.</div><div class='del'>-	  (check signal_buff.size first)</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove unused variable rb_thread_t::exec_signal.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_check_trap_pending): check</div><div class='del'>-	  rb_signal_buff_size() because rb_thread_t::exec_signal</div><div class='del'>-	  is no longer available.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 03:28:25 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (Init_class_hierarchy): should name BasicObject</div><div class='del'>-	  explicitly.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_0): should not check for</div><div class='del'>-	  superclasses as const_get.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 03:24:03 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: mathn is still alive (should die soon).</div><div class='del'>-</div><div class='del'>-Thu Jun 30 23:50:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-indent-beg-re): Fix broken regular</div><div class='del'>-	  expression.  Fixes #4546</div><div class='del'>-</div><div class='del'>-Thu Jun 30 23:43:30 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c/.h: Added ossl_x509_name_sk2ary.</div><div class='del'>-	* ext/openssl/ossl.c: Replaced ossl_x509_ary2k by generic macro to</div><div class='del'>-	  simplify future conversions.</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Implement SSLSocket#client_ca.</div><div class='del'>-	* test/openssl/test_ssl.rb: Add test for SSLSocket#client_ca.</div><div class='del'>-	  Thanks to Ippei Obayashi for providing the patch!</div><div class='del'>-	  [ Ruby 1.9 - Feature #4481 ] [ruby-core:35461]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 22:38:58 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_defined_method.rb: added to measure performance of</div><div class='del'>-	  bmethod (method defined by define_method()).</div><div class='del'>-</div><div class='del'>-Thu Jun 30 22:17:04 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_bmethod): fix to hook call/return event</div><div class='del'>-	  for methods defined by define_method().  fixes Bug #4613.</div><div class='del'>-</div><div class='del'>-	* thread.c (call_trace_proc): Fix to skip if class is not given (0).</div><div class='del'>-	  Note that ID and Class object are passed for call/return event</div><div class='del'>-	  if the called method was defined by define_method().</div><div class='del'>-	  If you are author of tracer/profiler/debugger, this may be an</div><div class='del'>-	  important change.  You should check passed class as zero or</div><div class='del'>-	  non-zero instead of checking the event type.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 21:18:35 2011  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add warnflags for XL/C on AIX during configure</div><div class='del'>-	  to avoid [Bug #3971]. See [ruby-core:32859]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 21:16:04 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (m_ajd): refers a constant.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 20:54:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	  * ext/io/console/io-console.gemspec: spin-off gem for 1.9.2.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 20:36:23 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: trivial changes.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 20:12:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: tests for [Bug #3422] and [Bug #3423].</div><div class='del'>-</div><div class='del'>-Thu Jun 30 20:03:39 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: modified doc.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 19:09:19 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): ignore unknown errno.</div><div class='del'>-	  (we observed that select(2) was canceled by errno=514 on</div><div class='del'>-	  boron == Linux/Xen environment)</div><div class='del'>-</div><div class='del'>-Thu Jun 30 17:33:25 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (ObjectSpace.count_tdata_objects):</div><div class='del'>-	  Fix rdoc.  Fixes Bug #3892.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (ObjectSpace.count_tdata_objects):</div><div class='del'>-	  Change key type if the klass of a object is zero (internal object).</div><div class='del'>-	  Read rdoc for details.</div><div class='del'>-</div><div class='del'>-	* internal.h: export rb_objspace_data_type_name().</div><div class='del'>-</div><div class='del'>-Thu Jun 30 17:25:08 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ping_signal_thread_list, thread_timer):</div><div class='del'>-	  fix to keep polling state if there are any ping-tasks.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 12:25:34 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): allocate</div><div class='del'>-	  machine stack for the timer thread at least 12KB.  FreeBSD 8.2</div><div class='del'>-	  AMD64 causes machine stack overflow (SIGSEGV) only with</div><div class='del'>-	  PTHREAD_STACK_MIN (maybe defined as 2KB).</div><div class='del'>-</div><div class='del'>-Thu Jun 30 09:36:37 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb:  Attach documentation to WeakRef and add missing</div><div class='del'>-	  documentation</div><div class='del'>-</div><div class='del'>-Thu Jun 30 09:30:14 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb:  Document toplevel YAML and YAML::ENGINE to describe</div><div class='del'>-	  Psych vs Syck engines.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 09:21:52 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb:  Hide handle_no_method_error from RDoc.</div><div class='del'>-	* error.c:  Document or hide undocumented error classes.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 07:49:04 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c:  Document ENV</div><div class='del'>-</div><div class='del'>-Thu Jun 30 06:37:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): ensure RUBYLIB_PREFIX stored</div><div class='del'>-	  before RUBYLIB, even if MANGLED_PATH is enabled.  fixed #1679.</div><div class='del'>-	  MANGLED_PATH is disabled by the default and will be removed</div><div class='del'>-	  completely in the future.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 06:32:21 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb:  Hide deprecated toplevel DRb constants.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 06:17:02 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (CMath.log): second argument: b can be nil.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 06:23:28 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_thread_s_pass):  Fix typo.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 06:16:53 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 3.8 which contains fixes for documentation</div><div class='del'>-	  in trunk.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 02:53:26 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common): remove</div><div class='del'>-	  meaningless native_thread_yield(). It never close a race.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 02:41:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_schedule_limits): minor optimization.</div><div class='del'>-	  eliminate machine context saving when running time is enough small.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 02:28:11 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_schedule_rec): move interrupt_flag check to</div><div class='del'>-	  rb_thread_schedule().</div><div class='del'>-	  And also rename to rb_thread_schedule_limits() and remove</div><div class='del'>-	  sched_depth argument. It's no longer called recursive.</div><div class='del'>-	* thread.c (rb_thread_schedule): add to check interrupt_flag as</div><div class='del'>-	  above explained.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_rec): rename to</div><div class='del'>-	  rb_threadptr_execute_interrupts_common() and remove sched_depth</div><div class='del'>-	  argument. It's no longer called recursive.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_sleep): adapt the renaming.</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts): ditto.</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 01:31:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_s_pass): change RDoc description and remove</div><div class='del'>-	  a sample code. The actual implementation never behave as explained by</div><div class='del'>-	  an example. It's a documentation bug.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 00:54:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_stop): change RDoc sample code. The old</div><div class='del'>-	  example is buggy and may cause deadlock. The patch is</div><div class='del'>-	  suggested by Heesob Park &lt;phasis@gmail.com&gt;. Thank you!</div><div class='del'>-	  [Bug #3606][ruby-core:31454]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 00:49:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wakeup): change RDoc sample code. The old</div><div class='del'>-	  example is buggy and may not display anything by a race.</div><div class='del'>-	  The patch is suggested by Heesob Park &lt;phasis@gmail.com&gt;.</div><div class='del'>-	  Thank you! [Bug #3606][ruby-core:31454]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 00:43:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_run): change RDoc. The old example is buggy</div><div class='del'>-	  and may cause deadlock. The patch is suggested by Heesob Park</div><div class='del'>-	  &lt;phasis@gmail.com&gt;. Thank you! [Bug #3606][ruby-core:31454]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 00:30:15 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: make same exception for Math. fix [Bug #3137].</div><div class='del'>-</div><div class='del'>-Thu Jun 30 00:03:20 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: complement correctly string literal. fix</div><div class='del'>-	  [Bug #1145].</div><div class='del'>-</div><div class='del'>-Wed Jun 29 23:42:51 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: avoided using timev.</div><div class='del'>-	* ext/date/date_strftime.c: ditto.</div><div class='del'>-	* ext/date/date_tmx.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 23:17:57 2011  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h (OPENSSL_SYS_WIN32): support for mingw(msys).</div><div class='del'>-</div><div class='del'>-Wed Jun 29 23:09:14 2011  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb (intptr_t, uintptr_t): support for the latest ActiveTcl with mingw.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 22:49:10 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb: support RDoc 3.7. fix [Bug #3760].</div><div class='del'>-</div><div class='del'>-Wed Jun 29 22:04:14 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: Tracer.on only if required by -r command-line option.</div><div class='del'>-	  and consider --disable-gems option.</div><div class='del'>-	* test/test_tracer.rb: add tests for it.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 13:55:36 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): should not look for superclasses if</div><div class='del'>-	  the second optional argument is given for #const_get().</div><div class='del'>-	  fix [Bug #3422] [Bug #3423]</div><div class='del'>-</div><div class='del'>-Wed Jun 29 12:07:27 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* math.c:  Attach documentation for Math.</div><div class='del'>-	* object.c:  Document NIL, TRUE, FALSE.</div><div class='del'>-	* io.c:  Improve grammar in ARGF comment.  Document STDIN/OUT/ERR.</div><div class='del'>-	  Document ARGF global constant.</div><div class='del'>-	* lib/rake:  Hide deprecated toplevel constants from RDoc (import from</div><div class='del'>-	  rake trunk).</div><div class='del'>-	* lib/thwait.rb:  Document ThWait.</div><div class='del'>-	* lib/mathn.rb:  Hide Math redefinition from RDoc</div><div class='del'>-	* lib/sync.rb:  Add a basic comment for Sync_m, Synchronizer_m, Sync,</div><div class='del'>-	  Synchronizer.</div><div class='del'>-	* parse.y:  Document SCRIPT_LINES__.</div><div class='del'>-	* hash.c:  Document ENV class and global constant.</div><div class='del'>-	* vm.c:  Document TOPLEVEL_BINDING.</div><div class='del'>-	* version.c:  Document RUBY_* constants.</div><div class='del'>-	* ruby.c:  Document DATA and ARGV.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 10:13:12 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Matrix.zero can build rectangular matrices.</div><div class='del'>-	  Vector#r should be called #magnitude</div><div class='del'>-</div><div class='del'>-Wed Jun 29 10:11:08 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Matrix#diagonal?, hermitian?, normal?,</div><div class='del'>-	  orthogonal?</div><div class='del'>-	  permutation?, symmetric?, {lower|upper}triangular?, unitary?, zero?</div><div class='del'>-</div><div class='del'>-Wed Jun 29 10:09:35 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Specialize Matrix#find_index to return [row, col]</div><div class='del'>-	  and accept the same optional argument as #each</div><div class='del'>-</div><div class='del'>-Wed Jun 29 10:07:32 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Matrix#each{_with_index} can iterate over a subset</div><div class='del'>-	  of the Matrix</div><div class='del'>-</div><div class='del'>-Wed Jun 29 06:21:02 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_stop_timer_thread): skip to close</div><div class='del'>-	  communication pipe to avoid timing bug (process termination timing).</div><div class='del'>-	  The communication pipe will closed by OS.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 06:09:54 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_async_bug_errno): async-safe bug report function.</div><div class='del'>-	  In timer thread, signal handler should use it.</div><div class='del'>-	  The patch is contributed by Eric Wong &lt;normalperson@yhbt.net&gt;.</div><div class='del'>-	  Refs: [ruby-core:37644] and [ruby-core:37647]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: use rb_async_bug_errno().</div><div class='del'>-	  And replace all fprintf() to write().</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_async_bug_errno): add decl. of above func.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 23:46:08 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: count only non-internal libraries in stack trace,</div><div class='del'>-	  ignoring custom_require.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 21:44:58 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: recognize '\char' in ruby statement.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 20:39:29 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (var_list): Command 'var *' did not work on 1.9(!).</div><div class='del'>-	  global_variables, local_variables, and instance_variables returns</div><div class='del'>-	  Symbols from 1.9 and need to stringify before evaling it.</div><div class='del'>-	  See #4931.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 19:23:01 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c: Now, USE_TRAP_SIGMASK depend on HAVE_PTHREAD_SIGMASK.</div><div class='del'>-	  The code have already depended on pthread_sigmask since r27464.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 15:09:21 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: merge eregon/benchmark.</div><div class='del'>-	  https://github.com/eregon/ruby/tree/benchmark</div><div class='del'>-	  patched by Benoit Daloze. [ruby-core:37593] [Bug #4940]</div><div class='del'>-</div><div class='del'>-	* lib/benchmark (Benchmark#bmbm): bmbm should be consistent with bm</div><div class='del'>-	  for the return value.</div><div class='del'>-</div><div class='del'>-	* test/benchmark: remove preemptive test instead of skipping</div><div class='del'>-	  I removed the preemptive test I wrote for Feature #4197.</div><div class='del'>-	  I'll add it back when the implementation will be able to satisfy it.</div><div class='del'>-</div><div class='del'>-	* lib/benchmark (Benchmark#bmbm): remove useless explicit call,</div><div class='del'>-	  #format is an alias of #to_s test/benchmark: add a test for</div><div class='del'>-	  format of long time.</div><div class='del'>-</div><div class='del'>-	* lib/benchmark: fix label width: always add 1 to ensure there is a</div><div class='del'>-	  space delimiter even with times over 100s</div><div class='del'>-	  When I asked for Feature #4197, I wanted to make delimiting spaces</div><div class='del'>-	  consistent for #bm and #bmbm.</div><div class='del'>-	  But with times over 100s, the output contains no space between the</div><div class='del'>-	  label and the first time (user).</div><div class='del'>-	  Now both ensure there is always a space, even if that means 3 spaces</div><div class='del'>-	  with times under 10s (because it is formatted as %10.6f)</div><div class='del'>-</div><div class='del'>-	* test/benchmark: let labels be a constant</div><div class='del'>-	  lib/benchmark (Benchmark#realtime): avoid creating an unused Proc</div><div class='del'>-	  lib/benchmark (Benchmark#benchmark): use ensure clause to restore</div><div class='del'>-	  STDOUT.sync, as in #bmbm</div><div class='del'>-</div><div class='del'>-Tue Jun 28 13:41:51 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_stop_timer_thread): fixed commit miss of</div><div class='del'>-	  r32244.  grep sources before changing the signature of a function.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 11:49:14 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (consume_communication_pipe):</div><div class='del'>-	  Make "buff" as static.  (Maybe) "buff" can be shared between</div><div class='del'>-	  any caller (any threads) because no one use the read values.</div><div class='del'>-	  "buff" (1024 byte) on stack may cause stack overflow on</div><div class='del'>-	  several environment (we found a crash on FreeBSD).</div><div class='del'>-	  And remove const value "buff_size", and define CCP_READ_BUFF_SIZE</div><div class='del'>-	  macro.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 11:45:30 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake:  Update rake to fix some bugs and hide deprecated features</div><div class='del'>-	  from RDoc.</div><div class='del'>-	* lib/rake/version.rb:  Bump version to 0.9.2.1 to distinguish it from</div><div class='del'>-	  the released version.</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-</div><div class='del'>-Tue Jun 28 11:17:28 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 3.7 (final)</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-</div><div class='del'>-Tue Jun 28 10:18:42 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_daemon): fix wrong #endif position.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 07:50:32 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object):  Teach RDoc what Init_class_hierarchy does to</div><div class='del'>-	  hook up ri for BasicObject, Object, Module and Class.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 05:03:32 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_local_aref): RDoc fix. Thread#[] example</div><div class='del'>-	  had a race. See #4480.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 01:22:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_log): move BigMath.log from</div><div class='del'>-	  bigdecimal/math.rb.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: move test for BigMath.log from</div><div class='del'>-	  test/bigdecimal/test_bigmath.rb.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigmath.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 01:19:52 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: fix [Bug #4232].</div><div class='del'>-</div><div class='del'>-Tue Jun 28 00:14:13 2011  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: fix [Bug #4409]. add DRbServer#here?.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_eq.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 00:08:43 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/workspace.rb: fix BUG#4793.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 22:06:12 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (consume_communication_pipe): don't use C99</div><div class='del'>-	  style variable length array.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 22:04:27 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (consume_communication_pipe): change return</div><div class='del'>-	  type to void. caller doesn't use it.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 21:29:50 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (rb_global_vm_lock_struct): add volatile to</div><div class='del'>-	  gvl-&gt;waiting. now thread_timer() access it w/o lock.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 21:16:11 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: s/__gvl_acquire/gvl_acquire_common/ and</div><div class='del'>-	  s/__gvl_release/gvl_release_common/.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 11:41:47 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread):</div><div class='del'>-	  the type of return value of write(2) is ssize_t.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 09:57:02 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread):</div><div class='del'>-	  Fixes missing initialization of oflags.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 09:07:42 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: Stop polling in the timer thread when there are</div><div class='del'>-	  no waiting thread.  If there are 2 or more runnable threads,</div><div class='del'>-	  the timer thread does polling.  Avoid polling makes power save</div><div class='del'>-	  for several computers (0.2W per a Ruby process, when I measured).</div><div class='del'>-	  If outside-event such as signal or Thread#kill was occurred</div><div class='del'>-	  when the timer thread does not do polling, then wake-up</div><div class='del'>-	  the timer thread using communication-pipe (the timer thread</div><div class='del'>-	  waits this communication-pipe with select(2)).</div><div class='del'>-	  The discussion about this modification can be found from the post</div><div class='del'>-	  [ruby-core:33456] and other related posts.</div><div class='del'>-	  Note that Eric Wong and KOSAKI Motohiro give us the huge</div><div class='del'>-	  contributions for this modification.  Thanks.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_wakeup_timer_thread): add a function.</div><div class='del'>-	  This function wakes up the timer thread using communication-pipe.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_stop_timer_thread): add a parameter which</div><div class='del'>-	  specify closing communication-pipe or not.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): do not stop timer thread here</div><div class='del'>-	  (ruby_cleanup() terminate timer thread).</div><div class='del'>-</div><div class='del'>-	* signal.c: wake up timer thread using</div><div class='del'>-	  rb_thread_wakeup_timer_thread() from signal handler.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): use rb_thread_stop_timer_thread(1).</div><div class='del'>-</div><div class='del'>-	* process.c: use rb_thread_stop_timer_thread(0)</div><div class='del'>-	  (reuse communication-pipe).</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_thread_wakeup_timer_thread): add a dummy</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add and fix decl. of functions.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 08:01:19 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c: should use ALLOCA_N.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 01:34:18 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb (TestEtc#test_get{pw,gr}nam): skip entries</div><div class='del'>-	  start with + sign, which means NIS.  these are returned in the</div><div class='del'>-	  case that passwd and group entries in /etc/nsswitch.conf are set</div><div class='del'>-	  to use "nis" explicitly on Debian.  fixed #3683</div><div class='del'>-</div><div class='del'>-Mon Jun 27 00:44:53 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_end_seen_p): fix documentation about return</div><div class='del'>-	  value. patched by Sho Hashimoto. [Bug #4511]</div><div class='del'>-</div><div class='del'>-Mon Jun 27 00:40:47 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject): add documentation that Hash#reject</div><div class='del'>-	  without block returns enumerator.</div><div class='del'>-	  patched by Michael Edgar [Bug #4847] [ruby-core:36800]</div><div class='del'>-</div><div class='del'>-Sun Jun 26 23:49:21 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_switch_hitter.rb: added a test.</div><div class='del'>-</div><div class='del'>- Sun Jun 26 22:21:23 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: refactoring.</div><div class='del'>-</div><div class='del'>-Sun Jun 26 18:03:30 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: comma at the end of line is no longer allowed.</div><div class='del'>-	  A patch from Yukihiro Matsumoto  &lt;matz AT ruby-lang.org&gt;.</div><div class='del'>-	  (fixed #3456).</div><div class='del'>-</div><div class='del'>-Sun Jun 26 13:35:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): change CrashReporter suggestion messages</div><div class='del'>-	  on Mac. It should be placed after "-- C level backtrace" line.</div><div class='del'>-	  Suggested by Endoh-san.</div><div class='del'>-</div><div class='del'>-	  &lt;before&gt;</div><div class='del'>-	  -- See Crash Report log file under ~/Library/Logs/CrashReporter or ---------</div><div class='del'>-	  -- /Library/Logs/CrashReporter, for the more detail of ---------------------</div><div class='del'>-	  -- C level backtrace information -------------------------------------------</div><div class='del'>-</div><div class='del'>-	&lt;after&gt;</div><div class='del'>-	  -- C level backtrace information -------------------------------------------</div><div class='del'>-</div><div class='del'>-	     See Crash Report log file under ~/Library/Logs/CrashReporter or</div><div class='del'>-	     /Library/Logs/CrashReporter, for the more detail of.</div><div class='del'>-</div><div class='del'>-Sun Jun 26 10:08:28 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb</div><div class='del'>-	* ext/openssl/ossl_missing.h/.c: add ASN1_put_eoc if missing.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: introduce ossl_asn1_object_size and</div><div class='del'>-	  ossl_asn1_put_object to wrap functionality depending on OpenSSL</div><div class='del'>-	  version in use.</div><div class='del'>-	  Fixes	[ Ruby 1.9 - Bug #4916 ] reported by Hiroshi Nakamura.</div><div class='del'>-	  [ruby-core:37286]</div><div class='del'>-</div><div class='del'>-Sun Jun 26 01:00:15 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_strftime_internal): removed meaningless braces.</div><div class='del'>-	* ext/date/date_core.c (gengo): the value should be int.</div><div class='del'>-</div><div class='del'>-Sat Jun 25 23:45:30 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_superclass): avoid control frame</div><div class='del'>-	  stack overrun. currently super() in Proc created in a method</div><div class='del'>-	  defined by Module#define_method raise NoMethodError. [Bug #4881]</div><div class='del'>-	* test/ruby/test_method.rb t_super_in_proc_from_define_method):</div><div class='del'>-	  add test for it.</div><div class='del'>-</div><div class='del'>-Sat Jun 25 23:23:14 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_forever): now Kernel#sleep don't wakeup by</div><div class='del'>-	  signal handler execution. [Bug #4072]</div><div class='del'>-</div><div class='del'>-Sat Jun 25 23:14:47 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_check_signal): remove unnecessary th-&gt;status</div><div class='del'>-	  backup. fix race condition which may results unexpected main thread's</div><div class='del'>-	  status transition. see #4072</div><div class='del'>-</div><div class='del'>-Fri Jun 24 19:57:30 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (setup_forwarded_info): Parsing request</div><div class='del'>-	  header failed when the request is from 2 or more Apache reverse</div><div class='del'>-	  proxies. It's said that all X-Forwarded-* headers will contain more</div><div class='del'>-	  than one (comma-separated) value if the original request already</div><div class='del'>-	  contained one of these headers.  Since we could use these values as</div><div class='del'>-	  Host header, we choose the initial(first) value. See #4922.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httprequest.rb (test_forwarded): Test it.</div><div class='del'>-</div><div class='del'>-Fri Jun 24 17:06:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): should not start timer thread</div><div class='del'>-	  twice.  fixed Bug#4920.</div><div class='del'>-</div><div class='del'>-Fri Jun 24 15:54:14 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): Try to shutdown SSL</div><div class='del'>-	  connection more gracefully. Call SSL_shutdown() max 4 times until it</div><div class='del'>-	  returns 1 (success). Bi-directional SSL close has several states but</div><div class='del'>-	  SSL_shutdown() kicks only 1 transition per call. Max 4 is from</div><div class='del'>-	  mod_ssl.c of Apache httpd that says 'max 2x pending + 2x data = 4'.</div><div class='del'>-	  See #4237.</div><div class='del'>-</div><div class='del'>-Fri Jun 24 07:24:37 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/version.rb:  Fixed VERSION to work with tool/rbinstall.rb</div><div class='del'>-	* bin/rake:  Import bin/rake from 0.9.2</div><div class='del'>-	* tool/rbinstall.rb (install):  Rake::VERSION is now in</div><div class='del'>-	  lib/rake/version.rb.  Fixes `make install`</div><div class='del'>-</div><div class='del'>-Fri Jun 24 07:11:37 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake: Import Rake 0.9.2</div><div class='del'>-</div><div class='del'>-Fri Jun 24 00:44:15 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (c_valid_{julian,gregorian}_p): fixed the range of month.</div><div class='del'>-</div><div class='del'>-Fri Jun 24 00:14:23 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: trivial changes on text.</div><div class='del'>-</div><div class='del'>-Thu Jun 23 22:46:57 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: Add X509::Name#hash_old as a wrapper</div><div class='del'>-	  for X509_NAME_hash_old in OpenSSL 1.0.0. See #4805</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509name.rb (test_hash): Make test pass with</div><div class='del'>-	  OpenSSL 1.0.0.</div><div class='del'>-</div><div class='del'>-	* NEWS: Add it.</div><div class='del'>-</div><div class='del'>-Thu Jun 23 19:30:53 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_set_time): Check</div><div class='del'>-	  argument type with NUM2LONG if the arg is not a Time object.</div><div class='del'>-	  See #4919.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_set_timeout): Check</div><div class='del'>-	  type with NUM2LONG. Time as an arg is not allowed. See #4919.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (test_session_time,</div><div class='del'>-	  test_session_timeout): Test it.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 13:30:30 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c(ruby_atomic_exchange): Fix definition style.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 22:34:05 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_session_new_cb): Return 0 to</div><div class='del'>-	  OpenSSL from the callback for SSL_CTX_sess_set_get_cb().</div><div class='del'>-	  Returning 0 means to OpenSSL that the session is still valid</div><div class='del'>-	  (since we created Ruby Session object) and was not freed by us with</div><div class='del'>-	  SSL_SESSION_free(). Call SSLContext#remove_session(sess) in</div><div class='del'>-	  session_get_cb block if you don't want OpenSSL to cache the session</div><div class='del'>-	  internally.</div><div class='del'>-	  This potential issue was pointed by Ippei Obayashi. See #4416.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (test_ctx_server_session_cb): Test</div><div class='del'>-	  it.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 22:21:17 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c: Respect T_BIGNUM time values. Patch by</div><div class='del'>-	  Tomoyuki Chikanaga.</div><div class='del'>-	  [ Ruby 1.9 - Bug #4919 ] [ruby-dev:43869]</div><div class='del'>-</div><div class='del'>-Wed Jun 22 21:29:25 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend (SOCK_HEADERS): use $(top_srcdir) instead of</div><div class='del'>-	  $(topdir). sorry!</div><div class='del'>-</div><div class='del'>-Wed Jun 22 19:47:03 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_capture): add volatile.</div><div class='del'>-	  On clang -O, it is needed to avoid the optimization.</div><div class='del'>-	  With this and llvm/clang's recent fix, clang 3.0 can</div><div class='del'>-	  build ruby-trunk with -O option.</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_capture): use for-loop.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_each): add volatile and use it.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 18:20:46 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_session_remove_cb):</div><div class='del'>-	  OpenSSL::SSL::SSLContext#session_remove_cb was broken. It wrongly</div><div class='del'>-	  tried to call the session_*new*_cb callback.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (class OpenSSL): Test it.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 17:37:49 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: Introduced OSSL_BIO_reset macro for PEM/DER</div><div class='del'>-	  fallback scenarios.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c</div><div class='del'>-	* ext/openssl/ossl_x509req.c</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c</div><div class='del'>-	* ext/openssl/ossl_x509crl.c</div><div class='del'>-	* ext/openssl/ossl_pkey.c</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c</div><div class='del'>-	* ext/openssl/ossl_x509cert.c</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c: Use OSSL_BIO_reset.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c</div><div class='del'>-	* ext/openssl/ossl_cipher.c</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c</div><div class='del'>-	* ext/openssl/ossl_pkcs12.c</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c: Replace rb_raise occurrences by</div><div class='del'>-	  ossl_raise. This automatically flushes OpenSSL's error queue.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c: Raise error if DER fallback for parsing</div><div class='del'>-	  fails.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb</div><div class='del'>-	* test/openssl/test_pkey_dsa.rb</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: Add assertions that OpenSSL.errors is</div><div class='del'>-	  empty.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: Remove initial OpenSSL.errors call in</div><div class='del'>-	  test_new.</div><div class='del'>-	  [ Ruby 1.9 - Bug #4885 ] [ruby-core:37134]</div><div class='del'>-</div><div class='del'>-Wed Jun 22 15:01:24 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Use SSL_MODE_RELEASE_BUFFERS if available.</div><div class='del'>-	  Thanks, Eric Wong, for providing the patch.</div><div class='del'>-	  [ Ruby 1.9 - Feature #4672 ] [ruby-core:36127]</div><div class='del'>-</div><div class='del'>-Wed Jun 22 14:47:53 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_buffering.rb</div><div class='del'>-	* test/openssl/test_pkcs12.rb: Inherit from Test::Unit::TestCase</div><div class='del'>-	  instead of MiniTest::Unit::TestCase. [ruby-core:37275]</div><div class='del'>-</div><div class='del'>-Wed Jun 22 12:41:03 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_to_der):</div><div class='del'>-	  OpenSSL::SSL::Session#to_der was broken. Fix buffer handling.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (test_session): Test it.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 12:38:52 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb: Split out SSL::Session related</div><div class='del'>-	  tests from test_ssl.rb</div><div class='del'>-</div><div class='del'>-Wed Jun 22 03:20:52 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Fix cyclic references of</div><div class='del'>-	  objects.  Thanks to CvX for reporting the bug and a test case.</div><div class='del'>-	* test/psych/test_object.rb: test for cyclic object references.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 02:39:54 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.post_form): Do not ignore query part of</div><div class='del'>-	  the given URI to post. See #655.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb, test/net/http/utils.rb: Test it.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 01:28:13 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509store.rb (test_set_errors): Redhat is</div><div class='del'>-	  distributing a patched version of OpenSSL that allows multiple CRL</div><div class='del'>-	  for a key (multi-crl.patch.) Make test pass on such env. See #4122,</div><div class='del'>-	  #4554.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 21:50:37 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (HTTPResponse#setup_header): Close</div><div class='del'>-	  HTTP/1.1 connection when returning an IO object as response body</div><div class='del'>-	  without setting HTTPResponse#chunked to true. See #855 no.1.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpserver.rb: Test it.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 21:27:34 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move rb_thread_io_blocking_region() declaration</div><div class='del'>-	  from intern.h to internal.h. It's still experimental API and</div><div class='del'>-	  need more discussion. [ruby-dev:43698]</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include internal.h.</div><div class='del'>-	* ext/socket/depend: add internal.h dependency.</div><div class='del'>-	* ext/socket/extconf.rb: add $INCFLAGS to topdir.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 20:38:47 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (datetime_s_*): canonicalize 24 o'clock.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 19:46:23 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_priority): enable</div><div class='del'>-	  this test again. Current GVL respect thread priority rather</div><div class='del'>-	  than past.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 13:25:35 2011  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_getc): applied a patch in</div><div class='del'>-	  #3827 by by Akio Tajima &lt;artonx AT yahoo.co.jp&gt;. (see #3827)</div><div class='del'>-</div><div class='del'>-Tue Jun 21 13:16:31 2011  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: fixed bug, specify --disable-libedit</div><div class='del'>-	  then disable libedit, does not specify then check readline and</div><div class='del'>-	  libedit if failed checking readline. (fixes #3375)</div><div class='del'>-</div><div class='del'>-Mon Jun 20 22:52:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_exec): use sig_do_nothing instead of SIG_DFL</div><div class='del'>-	  for avoiding a race.</div><div class='del'>-	* process.c (sig_do_nothing): new function.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 21:31:03 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): rename timeout_10ms to</div><div class='del'>-	  time_quantum. it's no longer 10ms.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 18:46:02 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c, ext/openssl/lib/openssl/cipher.rb:</div><div class='del'>-	  Documentation fix by Ippei Obayashi. See #4419.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 15:41:33 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cookie.rb (WEBrick::Cookie.parse): Revert r31228.</div><div class='del'>-	  r31228 was for allowing the 'Cookie:' header which did not have no</div><div class='del'>-	  SP after ';' for separating cookie-pairs but RFC6265 requires single</div><div class='del'>-	  SP after ';' there.  We allow multiple SPs here for compatibility</div><div class='del'>-	  with older WEBrick version.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cookie.rb: Test it.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 13:31:26 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Introduce --hide-skip on test/unit.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 10:05:16 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Override Test::Unit::TestCase#on_parallel_worker?</div><div class='del'>-	  only when $0 == __FILE__.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Run Test::Unit::Worker.run only when</div><div class='del'>-	  $0 == __FILE__.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 23:59:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fill_cbuf): finish reading at EOF, and the readconv has</div><div class='del'>-	  been cleared by another thread while io_fillbuf() is waiting at</div><div class='del'>-	  select().  a patch in [ruby-core:37197] by Hiroshi Shirosaki</div><div class='del'>-	  &lt;h.shirosaki AT gmail.com&gt;.  fixed #3840</div><div class='del'>-</div><div class='del'>-Sat Jun 18 21:36:29 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: remove GVL_DEBUG</div><div class='del'>-</div><div class='del'>-Sat Jun 18 21:32:02 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h (rb_vm_stack_to_heap): remove const.</div><div class='del'>-	  It makes compilations warnings.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 18:54:15 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h (rb_vm_stack_to_heap): fix "const" place.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 17:23:38 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, hash.c, load.c, proc.c, range.c, thread.c, time.c: don't</div><div class='del'>-	  declare internal functions.</div><div class='del'>-</div><div class='del'>-	* internal.h, vm_core.h: declare internal functions.</div><div class='del'>-</div><div class='del'>-	* array.c: include internal.h.</div><div class='del'>-</div><div class='del'>-	* common.mk: update dependency for array.o.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 13:39:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: declarations declared in include/ruby/*.h removed.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 12:42:17 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h, internal.h iseq.h: declare internal functions.</div><div class='del'>-</div><div class='del'>-	* compile.c, eval.c, iseq.c, object.c, parse.y, proc.c, process.c,</div><div class='del'>-	  thread.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c: don't</div><div class='del'>-	  declare internal functions.</div><div class='del'>-</div><div class='del'>-	  Note that rb_method_entry_eq() is defined in vm_method.c but</div><div class='del'>-	  there was a declaration in proc.c with different const-ness.</div><div class='del'>-	  Now it is declared in method.h with same const-ness to the</div><div class='del'>-	  definition.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_module_exec): don't declare functions declared in</div><div class='del'>-	  include/ruby/intern.h.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 12:05:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/classext.h: for evil gems.  fixed #4803</div><div class='del'>-</div><div class='del'>-Sat Jun 18 11:12:13 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: update dependencies.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 11:09:03 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: suppress warnings.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 10:22:39 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: declare more internal functions.</div><div class='del'>-</div><div class='del'>-	* iseq.h (rb_method_get_iseq): declared.</div><div class='del'>-</div><div class='del'>-	* compile.c, eval.c, eval_error.c, iseq.c, parse.y, proc.c, range.c,</div><div class='del'>-	  ruby.c, time.c, util.c, vm.c: don't declare internal functions.</div><div class='del'>-</div><div class='del'>-	* eval.c, parse.y, thread_pthread.c: non-existing function declarations</div><div class='del'>-	  removed.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 08:12:54 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: dependencies updated.</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: new file to assist update dependencies in</div><div class='del'>-	  common.mk.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 07:27:27 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: declare internal functions here.</div><div class='del'>-</div><div class='del'>-	* node.h: declare NODE dependent internal functions here.</div><div class='del'>-</div><div class='del'>-	* iseq.h: declare rb_iseq_t dependent internal functions here.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: declare rb_thread_t dependent internal functions here.</div><div class='del'>-</div><div class='del'>-	* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,</div><div class='del'>-	  enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,</div><div class='del'>-	  iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,</div><div class='del'>-	  proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,</div><div class='del'>-	  thread.c, time.c, transcode.c, variable.c, vm.c,</div><div class='del'>-	  tool/compile_prelude.rb: don't declare internal functions declared</div><div class='del'>-	  in above headers.  include above headers if required.</div><div class='del'>-</div><div class='del'>-	  Note that rb_thread_mark() was declared as</div><div class='del'>-	  void rb_thread_mark(rb_thread_t *th) in cont.c but defined as</div><div class='del'>-	  void rb_thread_mark(void *ptr) in vm.c.  Now it is declared as</div><div class='del'>-	  the later in internal.h.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 02:36:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpNewRbClass): fix type of the 2nd</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 02:30:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): move BigMath.exp from</div><div class='del'>-	  bigdecimal/math.rb.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: move test for BigMath.exp from</div><div class='del'>-	  test/bigdecimal/test_bigmath.rb.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigmath.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 00:20:54 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: do not define wnum[01].</div><div class='del'>-</div><div class='del'>-Fri Jun 17 18:57:36 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix return value of obj[a,*b]=c.</div><div class='del'>-</div><div class='del'>-Fri Jun 17 13:09:45 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c:  Clean up documentation.</div><div class='del'>-</div><div class='del'>-Fri Jun 17 09:25:14 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c:  Document curses constants.  Patch by Vincent</div><div class='del'>-	  Batts.  [Ruby 1.9 - Bug #4880]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 09:11:05 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c:  Document Module#method_added and #method_removed.</div><div class='del'>-	  Patch by Bryce Kerley.  [Ruby 1.9 - Feature #4867]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 08:50:16 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c:  Improve documentation of IO and File open and new.</div><div class='del'>-	  Patch by Roger Pack.  [Ruby 1.9 - Bug #4790]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 07:53:50 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb:  Document #raw_encoding.  Patch by David Czarnecki.</div><div class='del'>-	  [Ruby 1.9 - Bug #4874]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 07:46:50 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb:  Document Benchmark::Tms#memberwise.  Patch by</div><div class='del'>-	  David Czarnecki.  [Ruby 1.9 - Bug #4873]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 07:38:31 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb:  Improve documentation.  Patch by Ysiad</div><div class='del'>-	  Ferreiras.  [#4834]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 07:23:03 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_drop):  Improve documentation.  Patch by Caley Woods.</div><div class='del'>-	  [Ruby 1.9 - Bug #4858]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 06:11:31 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb:  Improve documentation of BasicLog and Log.</div><div class='del'>-	  Patch by Olivier Brisse.  [Ruby 1.9 - Bug #4833]</div><div class='del'>-	* lib/webrick/httpstatus.rb:  Improve documentation of</div><div class='del'>-	  WEBrick::HTTPStatus.  Patch by Olivier Brisse.</div><div class='del'>-	  [Ruby 1.9 - Bug #4833]</div><div class='del'>-</div><div class='del'>-Fri Jun 17 04:48:22 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c, thread_pthread.h: remove unused variables.</div><div class='del'>-	  (native_thread_data_t::gvl_cond, native_thread_data_t::gvl_next)</div><div class='del'>-</div><div class='del'>-Thu Jun 16 14:32:31 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_new): prevent overflow by "* 1000".</div><div class='del'>-</div><div class='del'>-Fri Jun 17 03:07:36 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm4_thread_create_join.rb,</div><div class='del'>-	  benchmark/bm_vm4_thread_mutex[1-3].rb: renamed to</div><div class='del'>-	  bm_thread_* (fix last rename).</div><div class='del'>-</div><div class='del'>-Fri Jun 17 02:26:47 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_create): fix debug message.</div><div class='del'>-	  (add last newline)</div><div class='del'>-</div><div class='del'>-Thu Jun 16 23:40:49 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_schedule_rec): fix {UN,}LIKELY macro misuse.</div><div class='del'>-	* gc.c (rb_newobj): ditto.</div><div class='del'>-	* vm_insnhelper.c (vm_method_search): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 20:06:15 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb: Fix Regexp for test.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/test_third.rb: Use</div><div class='del'>-	  Test::Unit::TestCase#on_parallel_worker? for detecting worker.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb(Test::Unit::TestCase#on_parallel_worker?):</div><div class='del'>-	  New Method Test::Unit::TestCase#on_parallel_worker? returns true</div><div class='del'>-	  when a testcase is running on parallel worker.</div><div class='del'>-	* lib/test/unit/parallel.rb(Test::Unit::TestCase#on_parallel_worker?):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 19:27:12 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_securerandom.rb: Add testcase.  This testcase does NOT aim</div><div class='del'>-	  to test cryptographically strongness and randomness.  It includes</div><div class='del'>-	  the test for PID recycle issue of OpenSSL described in #4579 but</div><div class='del'>-	  it's disabled by default.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 17:55:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_copy_stream_socket): fix</div><div class='del'>-	  test hanging up issue. Patch by CHIKANAGA Tomoyuki.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 15:17:39 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (const_missing):  Add simple example of const_missing.</div><div class='del'>-	  Patch by Anuj Dutta.  [Ruby 1.9 - Bug #4794]</div><div class='del'>-</div><div class='del'>-Thu Jun 16 15:09:29 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb:  Improve documentation.  Patch by Sandor Szucs.</div><div class='del'>-	  [Ruby 1.9 - Bug #4823]</div><div class='del'>-</div><div class='del'>-Thu Jun 16 14:54:09 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb: Document WEBrick::Utils.  Patch by Olivier</div><div class='del'>-	  Brisse.  [Ruby 1.9 - Bug #4819]</div><div class='del'>-</div><div class='del'>-Thu Jun 16 14:26:46 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/erbhandler.rb:  Allow the ERB document to</div><div class='del'>-	  alter the content-type of the response.  [Ruby 1.9 - Bug #4685]</div><div class='del'>-</div><div class='del'>-Thu Jun 16 14:15:47 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb: Clarify timeout duration types.  Patch by Alf Mikula.</div><div class='del'>-	  [Ruby 1.9 - Bug #4791]</div><div class='del'>-	* lib/net/http.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Jun 16 13:25:25 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*:  Import RDoc 3.7 release candidate</div><div class='del'>-</div><div class='del'>-Thu Jun 16 11:35:09 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (search_response): parses SEARCH responses from</div><div class='del'>-	  the Yahoo IMAP server correctly.  patched by Mark Nadig.  [Bug #4509]</div><div class='del'>-</div><div class='del'>-Thu Jun 16 09:12:38 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* fix for build on solaris 10.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 09:08:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (TestIO_Console#test_sync):</div><div class='del'>-	  fix for daemon process.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 07:58:01 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb(test_ignore_tzero): Test for r32109.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/test_third.rb: Use another way to</div><div class='del'>-	  detect that test is running on worker. This fixes sometimes</div><div class='del'>-	  TestParallel failing.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 07:20:06 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb(Test::Unit::Runner#_run_parallel): Ignore -j0</div><div class='del'>-	  because it makes blocking forever by IO.select.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 03:08:11 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb (TestParallel::TestParallelWorker#</div><div class='del'>-	  setup): now can run on Windows, probably.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb (TestParallel::TestParallel#setup):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 03:00:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): Windows: no need to poll if select(2) is</div><div class='del'>-	  cancelable.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_fd_select): new function to make select(2)</div><div class='del'>-	  cancelable.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_w32_check_interrupt): new function for checking</div><div class='del'>-	  interrupt.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select_with_thread): new function. cancelable</div><div class='del'>-	  select(2).</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): use above function internally.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 23:30:45 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix a regression by r31690 on AIX because AIX malloc</div><div class='del'>-	  return NULL if it's passed 0. But some caller don't expect it.</div><div class='del'>-	  patch by Yutaka Kanemoto. [ruby-dev:43779]</div><div class='del'>-	(vm_malloc_prepare): return calculated size.</div><div class='del'>-	(vm_xmalloc): use above result.</div><div class='del'>-	(vm_xcalloc): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 23:11:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: remove BLOCKING_REGION_CORE() macro. It's no longer used</div><div class='del'>-	  since r32022.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 21:00:47 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_config.rb: execute based on the existence of the</div><div class='del'>-	  OpenSSL module.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 12:35:11 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_copy_stream_socket): wait a child process</div><div class='del'>-	  before SIGUSR1 handler is removed.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (define_assertion): use line number</div><div class='del'>-	  for test method names.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 10:37:43 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_rdev): use DEVT2NUM.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_rdev_major): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_rdev_minor): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 05:12:59 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (lib_eventloop_core): revert the last change (it's</div><div class='del'>-	  the part for ruby_1_8), and use rb_thread_check_ints() when RUBY_VM</div><div class='del'>-	  is defined.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 04:42:47 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_thread_*.rb: renamed bm_vm3_thread_*.rb to</div><div class='del'>-	  benchmark/bm_vm_thread_*.rb.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 04:28:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm4_thread_pass.rb: rename bm_vm4* to</div><div class='del'>-	  bm_vm_thread_*. suggested by ko1.</div><div class='del'>-	* benchmark/bm_vm4_pipe.rb: ditto.</div><div class='del'>-	* benchmark/bm_vm4_alive_check1.rb: ditto.</div><div class='del'>-	* benchmark/bm_vm4_pass_flood.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 03:52:50 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm4_pass_flood.rb: new benchmark for GVL fairness.</div><div class='del'>-	* benchmark/bm_vm4_alive_check1.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 01:27:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_yield): fix live lock issue on 1-2 cpus</div><div class='del'>-	  system. It's additional fix for r32021.</div><div class='del'>-	* thread_pthread.c (gvl_init): add switch_wait_cond.</div><div class='del'>-	* thread_pthread.h (typedef struct rb_global_vm_lock_struct): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 23:16:22 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (show_progress): refine verbose mode.</div><div class='del'>-	  (exec_test): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 23:02:36 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (show_progress): extracted from assert_check.</div><div class='del'>-	  (assert_check): use show_progress.</div><div class='del'>-	  (assert_normal_exit): ditto.</div><div class='del'>-	  (assert_finish): ditto.</div><div class='del'>-	  (flunk): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 22:51:42 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_*.rb: added tests.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 22:09:58 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: renamed some functions.</div><div class='del'>-	* ext/date/date_core.c: modified doc.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 21:26:01 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_save_thread): add new utility function.</div><div class='del'>-	  rb_context_t::saved_thread.machine_stack_start and</div><div class='del'>-	  machine_stack_end should be cleared immediately after a snapshot of</div><div class='del'>-	  current thread is stored to saved_thread. [ruby-dev:43680] [Bug #4855]</div><div class='del'>-	  this change aims to get rid of unnecessary GC mark at machine stack.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 19:50:49 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload.rb: remove temporary directory.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 11:05:03 2011  Narihiro Nakamura  &lt;narihiro@netlab.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_set_params): call initial_expand_heap if</div><div class='del'>-	  initial_heap_min_slots is set.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 11:02:08 2011  Narihiro Nakamura  &lt;narihiro@netlab.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use size_t.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 01:10:38 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: add a test for restart.  a patch</div><div class='del'>-	  from Xavier Shay.  [ruby-core:36745]</div><div class='del'>-</div><div class='del'>-Tue Jun 14 01:05:10 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: make it restartable.  [ruby-core:36539]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:55:40 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_schedule_rec): call gvl_yield() unconditionally.</div><div class='del'>-	* thread_pthread.c: remove HAVE_GVL_YIELD macro.</div><div class='del'>-	* thread_win32.c (gvl_yield): new. this fallback logic was moved from</div><div class='del'>-	  rb_thread_schedule_rec().</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:50:25 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): typo.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:38:23 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_parse_string): flush delayed token.  based on a</div><div class='del'>-	  patch by Masaya Tarui in [ruby-dev:43762].  Bug #4544</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): revert r24557.  delayed token at the end of</div><div class='del'>-	  string should be flushed already by the above change.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:33:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): console should be</div><div class='del'>-	  unbuffered.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): take care of no-ctty</div><div class='del'>-	  case.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:06:12 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: rewrite GVL completely. This fix improve some</div><div class='del'>-	  benchmark dramatically (e.g. vm3_thread_mutex result changed</div><div class='del'>-	  form 120.601sec to 3.426sec).</div><div class='del'>-	* thread_win32.c: ditto.</div><div class='del'>-	* thread_pthread.h: ditto.</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:11:52 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: don't use Thread.abort_on_exception.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 23:05:01 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_send_io): race condition fixed.</div><div class='del'>-	  (unix_recv_io): ditto.</div><div class='del'>-	  fixed by Eric Wong.  [ruby-core:35574]</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: test added for above problem.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 21:41:05 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_cond_signal): remove unnecessary rb_bug().</div><div class='del'>-	  It's additional fix for r32021. [Bug #4696]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 20:50:49 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ec.rb</div><div class='del'>-	  test/openssl/test_pkey_ec.rb: merge both files into test_pkey_ec.rb.</div><div class='del'>-	  Removed redundant group instantiation from PKey tests.</div><div class='del'>-	* test/openssl/utils.rb: only create TEST_PKEY_EC_P256V1 if EC is</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 20:28:24 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/digest.rb: remove MDC2 from test, it is not available</div><div class='del'>-	  by default in an OpenSSL installation.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 20:18:55 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_insnhelper.h: move decl. of</div><div class='del'>-	  ruby_vm_global_state_version and related macros</div><div class='del'>-	  from vm_core.h to vm_insnhelper.h.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_clear_all_cache): added.  This function is called</div><div class='del'>-	  when ruby_vm_global_state_version overflows.</div><div class='del'>-	  TODO: vm_clear_all_inline_method_cache() is only place holder.</div><div class='del'>-	        We need to implement it ASAP.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (vm_clear_global_method_cache): added.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 19:46:21 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: add new method Object#real?. fix #3137</div><div class='del'>-</div><div class='del'>-Mon Jun 13 18:52:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_kind_of_BigDecimal): new function to</div><div class='del'>-	  examine the whether the object is kind of BigDecimal.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 18:49:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): use GetVpValueWithPrec</div><div class='del'>-	  for Float and Rational arguments.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_new, test_cmp, test_power):</div><div class='del'>-	  add and modify tests for the above change.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): modify coding style to</div><div class='del'>-	  match ruby's standard.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 18:33:04 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.random_bytes): modify PRNG state</div><div class='del'>-	  to prevent random number sequence repetition at forked child</div><div class='del'>-	  process which has same pid.</div><div class='del'>-	  reported by Eric Wong.  [ruby-core:35765]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 17:02:34 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#use_ssl?): require 'openssl' only when</div><div class='del'>-	  https is needed. fixes r31933.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 14:35:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (CMath.cbrt): returns the principal value of the cube</div><div class='del'>-	  root of the argument.  fix #3676</div><div class='del'>-</div><div class='del'>-	* test/test_cmath.rb (test_cbrt_returns_principal_value_of_cube_root):</div><div class='del'>-	  test for the above change.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 14:17:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::GlobOption#non_options): fix typo.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 13:04:20 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: fix error for digests that have no oid</div><div class='del'>-	(e.g. DSS1).</div><div class='del'>-	* test/openssl/test_digest.c: add tests for this.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 12:51:51 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: load psych only when syck is not loaded.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 12:23:39 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-Mon Jun 13 12:23:39 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/deprecated.rb (Object#to_yaml_properties):</div><div class='del'>-	  undef to_yaml_properties before redefine it.</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/syck/rubytypes.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 11:30:10 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: allow Digests to be created by sn, ln or</div><div class='del'>-	  oid.</div><div class='del'>-	* test/openssl/test_digest.rb: add tests for this.</div><div class='del'>-	  [Ruby 1.9 - Feature #4412] [ruby-core:35319]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 10:54:03 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/pkey_dh.c: corrected documentation.</div><div class='del'>-	* test/openssl/utils.rb: add test key for DH.</div><div class='del'>-	* test/openssl/test_pkey_dh.rb: add tests.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 10:13:08 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/pkey_dh.c: clarify difference between DH#public_key and</div><div class='del'>-	DH#pub_key in documentation.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 05:50:43 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: introduce PKey.read.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 05:17:29 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c: added PKey.read module function that allows</div><div class='del'>-	  reading arbitrary public/private keys from DER-/PEM-encoded File or</div><div class='del'>-	  string instances.</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: improved documentation.</div><div class='del'>-	* test/openssl/utils.rb: added EC test key.</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb</div><div class='del'>-	  test/openssl/test_pkey_dsa.rb: Test PKey.read. Reuse keys from</div><div class='del'>-	  OpenSSL::TestUtils.</div><div class='del'>-	* test/openssl/test_pkey_ec.rb: Created test file for EC tests.</div><div class='del'>-	  Test PKey.read.</div><div class='del'>-	  [Ruby 1.9 - Feature #4424] [ruby-core:35330]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 04:42:24 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (total_i): fix to skip no ruby objects.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 03:07:38 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/benchmark/test_benchmark.rb (capture_output):</div><div class='del'>-	  replace '-' as space. On NetBSD, subtract between two Process.times</div><div class='del'>-	  after and before the short process may return negative value like:</div><div class='del'>-	  t0=Process.times; yield; t1=Process.times; p t1.utime-t0.utime</div><div class='del'>-</div><div class='del'>-Mon Jun 13 02:40:23 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_dsa.rb: Test for DSA#syssign/sysverify.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 01:59:19 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: completed documentation.</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: corrected examples. Improved parameter</div><div class='del'>-	  sections.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 00:25:10 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: completed documentation.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 23:36:46 2011  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (kill_sub_thread): remove the method. [ruby-core:34185]</div><div class='del'>-</div><div class='del'>-Sun Jun 12 21:01:56 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_marshal_load): should give converted value.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 20:36:30 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: edited doc.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 18:12:07 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_clearmethodcache.rb: added.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 17:40:29 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_clear_cache*): update only vm state version.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_without_cache, rb_method_entry):</div><div class='del'>-	  Fill method cache entry with vm state version, and</div><div class='del'>-	  check current vm state version for method (cache) look up.</div><div class='del'>-	  This modification speed-up invalidating of global method cache table.</div><div class='del'>-	  [Ruby 1.9 - Feature #3905] [ruby-core:36908]</div><div class='del'>-</div><div class='del'>-Sun Jun 12 16:19:48 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: fail on Mac OS X. [Bug #4853][ruby-dev:43655]</div><div class='del'>-</div><div class='del'>-Sun Jun 12 15:56:08 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: remove th-&gt;transition_for_lock. It's thread unsafe.</div><div class='del'>-	  [Bug #4723][ruby-dev:43563]</div><div class='del'>-</div><div class='del'>-Sun Jun 12 15:47:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: introduce spurious wakeup safe deadlock check.</div><div class='del'>-	  [Bug #4696][ruby-dev:43554]</div><div class='del'>-</div><div class='del'>-Sun Jun 12 13:33:52 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_thread_mutex.rb: remove it.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_thread_mutex[1-3].rb: added 3 benchmarks.</div><div class='del'>-	    1: one thread with one mutex (no contention).</div><div class='del'>-	    2: two threads with one mutex (contention).</div><div class='del'>-	    3: 1000 threads with one mutex (huge number of contention)</div><div class='del'>-	  Above removed benchmark was type 3.</div><div class='del'>-	  Therefore, this commit adds type 1 and 2 benchmark.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 11:16:59 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: use select() appropriately for sendfile().</div><div class='del'>-	  Fixed by Eric Wong.  [ruby-core:36150]</div><div class='del'>-	  (maygvl_copy_stream_wait_readwrite): removed.</div><div class='del'>-	  (nogvl_copy_stream_sendfile): use nogvl_copy_stream_wait_write and</div><div class='del'>-	  maygvl_copy_stream_wait_read instead of</div><div class='del'>-	  maygvl_copy_stream_wait_readwrite.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 09:32:13 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h (ATOMIC_OR): _InterlockedOr is not available on mingw.h</div><div class='del'>-	* gc.c (rb_gc_set_params): VM_OBJSPACE is disabled on mingw.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 01:07:09 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: edited doc.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 23:18:00 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_SET_TIMER_INTERRUPT, RUBY_VM_SET_INTERRUPT,</div><div class='del'>-	  RUBY_VM_SET_FINALIZER_INTERRUPT): use atomic ops for preventing</div><div class='del'>-	  interrupt_flag bit lost. [Bug #4770][ruby-dev:43467]</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_rec): ditto.</div><div class='del'>-	* vm_core.h (typedef struct rb_thread_struct): change type of</div><div class='del'>-	  interrupt_flag to rb_atomic_t.</div><div class='del'>-	* atomic.h: move atomic ops definition from signal.c.</div><div class='del'>-	* signal.c: remove atomic ops definition.</div><div class='del'>-	* common.mk (gc, signal, thread, cont): add to dependency to atomic.h.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 23:23:52 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: edited doc.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 23:02:36 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (module OpenSSL):</div><div class='del'>-	  Buffering#each_byte should return String in accordance with IO in</div><div class='del'>-	  1.9.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_buffering.rb (class OpenSSL): add tests for getc</div><div class='del'>-	  and each_byte.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 22:41:37 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: a correction of doc for strftime (%v).</div><div class='del'>-</div><div class='del'>-Sat Jun 11 22:30:53 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: replaced doc for strftime based on Time's one.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 22:07:56 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (datetime_s_{iso8601,rfc3339,xmlschema,rfc2822,httpdate}):</div><div class='del'>-	  do not take argument comp.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 21:58:31 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: added examples.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 19:40:45 2011  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: expand heap if initial_heap_min_slots is bigger than</div><div class='del'>-	  HEAP_MIN_SLOTS.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 19:42:50 2011  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog (vim): set shiftwidth to 2.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 19:27:06 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509req.c: raise RequestError instead of</div><div class='del'>-	  CertificateError when Request#to_der gets an error from OpenSSL.</div><div class='del'>-	  Patch from Ippei Obayashi, see #4420. I cannot write a test for</div><div class='del'>-	  this... Request does not allow to create broken bytes...</div><div class='del'>-</div><div class='del'>-Sat Jun 11 19:34:51 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (Date::(ABBR_)?(MONTH|DAY)NAMES): should be usascii.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 19:24:33 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: rewrote doc.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 19:04:15 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::GlobOption#non_options): should run</div><div class='del'>-	  with 1.8.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 18:05:57 2011  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: should initialize $stress to avoid warnings.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 18:02:09 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): should be 7bit if ascii.  fixes #4557</div><div class='del'>-</div><div class='del'>-Sat Jun 11 16:52:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_enc_uint_chr): fix message format. Bug#4869</div><div class='del'>-</div><div class='del'>-Sat Jun 11 16:28:25 2011  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/formatters/pretty.rb</div><div class='del'>-	  (REXML::Formatters::Pretty#write_text),</div><div class='del'>-	  test/rexml/test_core.rb</div><div class='del'>-	  (Tester#test_pretty_format_long_text_finite): don't ignore</div><div class='del'>-	  'width' parameter in pretty formatter. fixes #4498</div><div class='del'>-	  Reported by Michael Frasca. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sat Jun 11 16:11:36 2011  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_core.rb</div><div class='del'>-	  (Tester#test_pretty_format_long_text_finite): remove needless</div><div class='del'>-	  assert_nothing_raised.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 16:04:03 2011  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/xpathparser.rb</div><div class='del'>-	  (REXML::Parsers::XPathParser#parse),</div><div class='del'>-	  test/rexml/test_elements.rb</div><div class='del'>-	  (ElementsTester#test_each_with_frozen_condition):</div><div class='del'>-	  don't modify original XPath. fixes #4161</div><div class='del'>-	  Reported by Pavel Shved. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sat Jun 11 15:53:27 2011  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_elements.rb (ElementsTester): remove needless</div><div class='del'>-	  prefix from test name.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 15:36:36 2011  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-	* common.mk: fixed a grammatical error</div><div class='del'>-</div><div class='del'>-Sat Jun 11 14:20:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_memsize): don't ignore size of th-&gt;local_storage.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 10:32:46 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: should quote arch_hdrdir and libpath for the case</div><div class='del'>-	  installed prefix contains spaces.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 10:20:52 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_timeout): wrap conditionally used</div><div class='del'>-	  label.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): remove unused variable.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 10:15:50 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): use GetThreadPtr to extract</div><div class='del'>-	  rb_thread_t from VALUE.</div><div class='del'>-	  reported by Motohiro KOSAKI.  [ruby-dev:43700]</div><div class='del'>-</div><div class='del'>-Sat Jun 11 10:00:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_process_options): add missing return type.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 23:18:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (lib_eventloop_core): replace CHECK_INTS with</div><div class='del'>-	  rb_thread_check_ints(). Because current code can't be compiled.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 16:38:13 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): When ruby process is run as Windows</div><div class='del'>-	  Service the console codepage is not set, GetConsoleCP returns 0.</div><div class='del'>-	  So on such environment, use GetACP().</div><div class='del'>-	  http://blogs.msdn.com/b/michkap/archive/2005/02/08/369197.aspx</div><div class='del'>-	  patched by Rafal Bigaj [ruby-core:36832] [Bug #4854]</div><div class='del'>-</div><div class='del'>-Fri Jun 10 14:34:24 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: restore TESTRUN_SCRIPT to "$(srcdir)/test.rb".</div><div class='del'>-	  TESTRUN_SCRIPT is used by "make run", "make gdb" and so on.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 13:01:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (TestModule#remove_rake_mixins): remove all</div><div class='del'>-	  module related to Rake.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 09:52:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c:  Mention that Encoding.compatible? can work with more</div><div class='del'>-	  than just Strings.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 02:25:53 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: updating version to match released gem.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 01:06:29 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal (BigDecimal_to_i): Integer#** may return flonum.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 00:35:12 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_internal): uses rb_reg_nth_match;</div><div class='del'>-	* rational.c (string_to_r_internal): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 00:25:03 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove an unused declaration.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 00:24:04 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r): Rational#** may return flonum.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 23:57:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fix IO.copy_stream interrupt handling.</div><div class='del'>-	  based on the patch by Eric Wong.  [ruby-core:36156]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_call_with_gvl): don't declare here.</div><div class='del'>-</div><div class='del'>-	* thread.c: include internal.h.</div><div class='del'>-	  (rb_thread_execute_interrupts): new function.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_thread_execute_interrupts): declared.</div><div class='del'>-	  (rb_thread_call_with_gvl): declared.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 23:34:01 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): use rb_typeddata_is_kind_of() for</div><div class='del'>-	  type check to get rid of a double free when main Thread has singleton</div><div class='del'>-	  class. [ruby-core:36741] [Bug #4828]</div><div class='del'>-	* thread.c (rb_obj_is_mutex): add a new utility function.</div><div class='del'>-	* vm.c (rb_obj_is_thread): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 22:53:49 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_kill_thread_subclass):</div><div class='del'>-	  add test for Thread.kill with Thread subclass instance.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 22:31:47 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_kill_wrong_argument):</div><div class='del'>-	  test for [ruby-core:35086].</div><div class='del'>-	  partially forward porting r31402 from ruby_1_9_2 branch.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 18:36:00 2011  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Fix the ambiguous description of the behavior of</div><div class='del'>-	  rb_str_aref_m with a range.  It returns nil when the beginning of</div><div class='del'>-	  the range is greater than the end of the string rather than the range.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 10:57:03 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Hash subclasses can be read</div><div class='del'>-	  from YAML files.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Hash subclasses can be</div><div class='del'>-	  dumped to YAML files.</div><div class='del'>-	* test/psych/test_hash.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 09:18:51 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Ruby modules can be loaded</div><div class='del'>-	  from YAML files.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Ruby modules can be</div><div class='del'>-	  dumped to YAML files.</div><div class='del'>-	* test/psych/test_class.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 09:05:04 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Ruby classes can be loaded</div><div class='del'>-	  from YAML files.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Ruby classes can be</div><div class='del'>-	  dumped to YAML files.</div><div class='del'>-	* test/psych/test_class.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 21:38:57 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (root_fiber_alloc): set root fiber's status RUNNING.</div><div class='del'>-	  in cont_mark() only RUNNING fiber's machine stack is marked.</div><div class='del'>-	  root fiber's status should be RUNNING at the beginning regardless of</div><div class='del'>-	  FIBER_USE_NATIVE. [ruby-core:36735] fixes #4827</div><div class='del'>-</div><div class='del'>-Tue Jun  7 20:50:11 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/irb/irb.rd: fix typo. patch by Nobuhiro IMAI.</div><div class='del'>-	  [Bug #4843] [ruby-dev:43639]</div><div class='del'>-	* doc/irb/irb.rd.ja: ditto.</div><div class='del'>-	* doc/ChangeLog-YARV: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 18:52:55 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/user_interaction.rb (Gem::StreamUI#tty?): IO#tty? of</div><div class='del'>-	  Windows has been fixed at r29969.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_stream_ui.rb: now can run tests.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 18:36:41 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb (TestGem#{test_self_user_home_userprofile,</div><div class='del'>-	  test_self_user_home_user_drive_and_path}): should simply ignore</div><div class='del'>-	  meaningless tests instead of skipping them.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 18:15:00 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name):</div><div class='del'>-	  should show some messages when skipping tests.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 13:59:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_s_today, datetime_s_now): check the</div><div class='del'>-	  result of localtime_r().</div><div class='del'>-</div><div class='del'>-Tue Jun  7 13:36:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: use $defs not $CPPFLAGS to get rid of</div><div class='del'>-	  command line escape issues on Windows.  fixed #4835.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 03:18:45 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_s_{,bin}write): do not create a</div><div class='del'>-	  file under /tmp. [Bug #4846]</div><div class='del'>-</div><div class='del'>-Mon Jun  6 22:51:43 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: use #if FIBER_USE_NATIVE instead of #ifdef.</div><div class='del'>-	  you can suppress use of setcontext for Fiber with compile option</div><div class='del'>-	  -DFIBER_USE_NATIVE=0</div><div class='del'>-</div><div class='del'>-Mon Jun  6 21:59:23 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_switch_hitter.rb: added a test.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 21:37:45 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: added notes.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 21:02:12 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: flattened format to strftimev.</div><div class='del'>-	* ext/date/date_core.c (date_strftime_internal): taints run.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 15:10:17 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/{defines,missing}.h (rb_infinity, rb_nan): move from</div><div class='del'>-	  defines.h to missing.h.  (couldn't use RUBY_EXTERN there.)</div><div class='del'>-</div><div class='del'>-Mon Jun  6 14:35:48 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_markup_pre_process.rb (TestRDocMarkupPreProcess#</div><div class='del'>-	  {test_include_file,test_include_file_encoding_incompatible}): no</div><div class='del'>-	  need to write such workaround.  don't hide the bug of ruby. (and the</div><div class='del'>-	  bug is already fixed.)</div><div class='del'>-</div><div class='del'>-Mon Jun  6 14:11:11 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (valid_jd_sub): need to convert from VALUE to</div><div class='del'>-	  double.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (offset_to_sec): get rid of a compiler warning.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 14:09:08 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (rb_infinity, rb_nan): export for Windows.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 10:54:45 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb(Test::Unit::Runner#puke):</div><div class='del'>-	  Add overriding from MiniTest::Unit#puke. This reverts minitest's fix</div><div class='del'>-	  that skip messages are hidden when not verbose mode (-v option).</div><div class='del'>-	  To hide skip messages, use --hide-skip option instead.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 10:52:13 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: don't use autoload.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 09:39:43 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): release event objects to plug memory</div><div class='del'>-	leak.  Thanks Mark J. Titorenko!</div><div class='del'>-</div><div class='del'>-Sun Jun  5 23:26:15 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove rb_thread_stop_timer_thread function declaration.</div><div class='del'>-	  Instead, include vm_core.h.</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 21:38:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): add to care a spurious wakeup.</div><div class='del'>-	  When native_cond_timedwait() return 0 by spurious wakeup, we</div><div class='del'>-	  don't have to neither 1) call timer_thread_function and 2)</div><div class='del'>-	  exit the timer thread.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 17:50:01 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (m_real_cwyear): new.  derived from m_cwyear.</div><div class='del'>-	* ext/date/date_strftime.c: trivial changes.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 17:22:01 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/config_list.in: add new options for tcltklib.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 10:06:50 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_tmx.h: now does not place decoded data.  allows to</div><div class='del'>-	  access indirectly via functions on demand.</div><div class='del'>-	* ext/date/date_strftime.c: ditto.</div><div class='del'>-	* ext/date/date_core.c: ditto.</div><div class='del'>-	* ext/date/date_core.c ({d|dt}_lite_to_s): use strftime.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 06:22:02 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: wrote about changes of date.</div><div class='del'>-</div><div class='del'>-Sat Jun  4 16:59:26 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_inspect): changed the format.</div><div class='del'>-	* ext/date/date_core.c: refactoring and fixing some bugs.</div><div class='del'>-</div><div class='del'>-Sat Jun  4 11:30:57 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (check_mix_method_i, do_mix_method_i): not mix methods</div><div class='del'>-	  renamed as nil.</div><div class='del'>-</div><div class='del'>-Sat Jun  4 04:04:41 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_which_command.rb:</div><div class='del'>-	  "missing" exists on ruby's top source directory. [Bug #4815]</div><div class='del'>-</div><div class='del'>-Fri Jun  3 21:48:12 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: Refix for test-all in separate directory.</div><div class='del'>-	  r31147 + r31151.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 20:58:47 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_plus): get rid of compiler warnings.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 20:56:40 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h, numeric.c (round): moved prototype of round()</div><div class='del'>-	  from numeric.c to missing.h.  (note: round() is C99 feature, so ruby</div><div class='del'>-	  provides it if not exist in C runtime.)</div><div class='del'>-</div><div class='del'>-Fri Jun  3 20:42:04 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Keep $stdin, $stdout before run testcase</div><div class='del'>-	  and restore after run. Because some test break $stdin, $stdout.</div><div class='del'>-	  Fixes [Bug #4433] [ruby-core:35353]</div><div class='del'>-</div><div class='del'>-Fri Jun  3 19:58:14 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): windows -- call fsync() only when the FD is tied to</div><div class='del'>-	  file, because if the FD is pipe, it blocks.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 09:27:31 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (URI::HTTP#request_uri): return nil when the uri</div><div class='del'>-	  is path-rootless form. Bug #4759</div><div class='del'>-</div><div class='del'>-Thu Jun  2 23:51:03 2011  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Improve the line ending detection algorithm</div><div class='del'>-	  patch by Alexey).</div><div class='del'>-</div><div class='del'>-Thu Jun  2 20:05:57 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_write, rb_io_s_binwrite): return!!!</div><div class='del'>-</div><div class='del'>-Thu Jun  2 16:29:34 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Add File.write, File.binwrite. [Feature #1081] [ruby-core:21701]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Test for File.write, File.binwrite.</div><div class='del'>-</div><div class='del'>-	* NEWS: News for above.</div><div class='del'>-</div><div class='del'>-Thu Jun  2 12:33:09 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush, rb_io_flush): need to fsync() when ruby calls</div><div class='del'>-	  internal flush. [ruby-core:36670] [Bug #4813]</div><div class='del'>-</div><div class='del'>-Thu Jun  2 07:56:24 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: reduce CPU power required by an eventloop.</div><div class='del'>-</div><div class='del'>-Tue May 31 21:28:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_signal_requiring):</div><div class='del'>-	  redirect stderr to null device.</div><div class='del'>-</div><div class='del'>-Thu Jun  2 00:45:26 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: fix for uninitialized global variables.</div><div class='del'>-	  [Ruby 1.9 - Bug #4811]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 21:57:08 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): fix 1000times calculation error.</div><div class='del'>-	  this is a regression since r31457. [Bug #4808] [ruby-dev:43606]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 17:19:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: remove unused macro.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 15:42:18 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (peek_n): new macro to see next nth char.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 15:40:46 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): fix for rubygems change.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 14:07:57 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 2.2.2 (r6281)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Wed Jun  1 12:35:50 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import rubygems 1.8.5 (released @ 137c80f)</div><div class='del'>-	* test/rubygems: Ditto</div><div class='del'>-</div><div class='del'>-Wed Jun  1 12:34:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add new features of bigdecimal.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 09:41:14 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb:  Improve documentation.  Patch by Kuba Fietkiewicz.</div><div class='del'>-	  [Ruby 1.9 - Bug #4775]</div><div class='del'>-	* lib/cgi/core.rb:  ditto</div><div class='del'>-</div><div class='del'>-Wed Jun  1 09:26:05 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb:  Improve documentation and attach it to Numeric.</div><div class='del'>-	  Modified from patch by Anil V.  [Ruby 1.9 - Bug #4762]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 09:21:30 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb:  Indent examples enough to appear as code sections.</div><div class='del'>-	  Note that Prime is Enumerable.  [#4762]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 07:34:57 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (key_i):  Change rdoc from "the first occurrence" to "an</div><div class='del'>-	  occurrence" since first occurrence is not a specification of</div><div class='del'>-	  Hash#key.  [Ruby 1.9 - Bug #4760]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 07:26:19 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_check):  Restore "not reached" comment.</div><div class='del'>-	  [Ruby 1.9 - Bug #4756]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 07:21:40 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c:  Fix document-method declarations for set_sync and</div><div class='del'>-	  set_comment.  [Ruby 1.9 - Bug #4695]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 06:43:13 2011  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (loaded_feature_path): cut nonsense loop execution to fix</div><div class='del'>-	  performance bug.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 01:16:02 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mix_module): implement Module#mix.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 01:15:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): should honor already set ecflags since it</div><div class='del'>-	  might be set by mode option.  fixed #4804</div><div class='del'>-</div><div class='del'>-Wed Jun  1 00:34:04 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): remove unused</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 00:32:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): support instantiation from</div><div class='del'>-	  a Float through Rational.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_new): ditto.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_global_new_float): add a test for</div><div class='del'>-	  the above changes.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_new_with_float): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 00:07:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): support coerce with a</div><div class='del'>-	  Rational.  The precision used for instantiate a BigDecimal from the</div><div class='del'>-	  given Rational is obtained from the receiver BigDecimal.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_coerce): add a test for the</div><div class='del'>-	  above change.</div><div class='del'>-</div><div class='del'>-Tue May 31 23:49:08 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (offset_to_sec): fixed invalid validation.</div><div class='del'>-</div><div class='del'>-Tue May 31 23:43:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): replace the algorithm for</div><div class='del'>-	  coercing from a Rational to stop requiring "bigdecimal/util.rb".</div><div class='del'>-	  [ruby-core:34318]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValue): refactoring.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_new): support instantiation from a</div><div class='del'>-	  Rational.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_global_new_with_rational): add a</div><div class='del'>-	  test for the above change.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_new_with_rational): ditto.</div><div class='del'>-</div><div class='del'>-Tue May 31 22:44:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_new): support instantiation a</div><div class='del'>-	  BigDecimal object from an Integer.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_new_with_integer):</div><div class='del'>-	  add for testing the above change.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): replace its body</div><div class='del'>-	  with a BigDecimal_new call.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_global_new_with_integer):</div><div class='del'>-	  add for testing the above change.</div><div class='del'>-</div><div class='del'>-Tue May 31 22:24:39 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: use simple/complex mode instead of light/right mode.</div><div class='del'>-	* test/date/*.rb: followed the above changes.</div><div class='del'>-</div><div class='del'>-Tue May 31 21:28:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_signal_requiring):</div><div class='del'>-	  initialize SIGINT handler.</div><div class='del'>-</div><div class='del'>-Tue May 31 17:03:24 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb, lib/net/protocol.rb: Allow to configure to wait</div><div class='del'>-	  server returning '100 continue' response before sending HTTP request</div><div class='del'>-	  body. See NEWS for more detail. See #3622.</div><div class='del'>-	  Original patch is made by Eric Hodel &lt;drbrain@segment7.net&gt;.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: test it.</div><div class='del'>-</div><div class='del'>-	* NEWS: Add new feature.</div><div class='del'>-</div><div class='del'>-Tue May 31 14:17:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): potential bug. the mode of read IO is set as</div><div class='del'>-	  DEFAULT_TEXTMODE in call of io_set_encoding(), and of write IO is</div><div class='del'>-	  also set as it in call of io_new_instance() via rb_protect().</div><div class='del'>-	  so, if DEFAULT_TEXTMODE is not 0, we should check the result of</div><div class='del'>-	  extract_binmode() and avoid crush of default IO mode and the result.</div><div class='del'>-</div><div class='del'>-Tue May 31 13:00:17 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): improved style consistency.</div><div class='del'>-	  constified some variables.</div><div class='del'>-</div><div class='del'>-	* test/test_time.rb (TestTime#test_huge_precision): test for #4456.</div><div class='del'>-</div><div class='del'>-Tue May 31 12:53:10 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb (TestIOWait#{test_nread,test_ready?,</div><div class='del'>-	  test_wait}: give system some time to process the written data.</div><div class='del'>-</div><div class='del'>-Tue May 31 12:40:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_open_mode): MUST release resources</div><div class='del'>-	  explicitly. fix problem of r31671</div><div class='del'>-</div><div class='del'>-Tue May 31 10:49:55 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: remove conditions for clang</div><div class='del'>-	  because clang version 3.0 (trunk 132165) doesn't need them.</div><div class='del'>-</div><div class='del'>-Mon May 30 22:19:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_signal_requiring): don't</div><div class='del'>-	  close stderr.</div><div class='del'>-</div><div class='del'>-Mon May 30 20:22:00 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_signal_requiring): small</div><div class='del'>-	  but critical typo of r31642.  sorry...</div><div class='del'>-	  [Bug #4798] [ruby-core:36550]</div><div class='del'>-</div><div class='del'>-Mon May 30 15:44:16 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mult): as r31805, volatile it.</div><div class='del'>-	  Without this, clang -O fails calculation.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c (f_imul): ditto.</div><div class='del'>-</div><div class='del'>-Mon May 30 10:26:51 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): make sure to assign the result of x * z.</div><div class='del'>-	  If xz is optimized out, the value won't overflow.</div><div class='del'>-</div><div class='del'>-Sun May 29 23:17:29 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match): fix rdoc of Regexp#=~.</div><div class='del'>-	  patched by Tsuyoshi Sawada. [Bug #4781]</div><div class='del'>-</div><div class='del'>-Sun May 29 23:10:42 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb (WEBrick::HTTPRequest#parse_uri):</div><div class='del'>-	  keep parse_uri as private. patched by okkez. [Bug #4773]</div><div class='del'>-</div><div class='del'>-Sun May 29 17:53:03 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: add #include "internal.h" for rb_big_uminus() prototype.</div><div class='del'>-</div><div class='del'>-Sun May 29 15:09:05 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): fix for negative value.</div><div class='del'>-</div><div class='del'>-Sun May 29 02:16:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb (TestNetHTTPUtils#teardown): add nil check.</div><div class='del'>-</div><div class='del'>-Sun May 29 00:22:40 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_exec, after_exec): change from macro to function.</div><div class='del'>-</div><div class='del'>-Sat May 28 19:30:17 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_exec, after_exec): change SIGPIPE handler to SIG_DFL</div><div class='del'>-	  before calling execve(). Because r31760 reintroduced an issue that</div><div class='del'>-	  system() may hang up (i.e. [ruby-dev:12261]).</div><div class='del'>-	* process.c (save_sigpipe, restore_sigpipe): new.</div><div class='del'>-</div><div class='del'>-Sat May 28 16:08:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (Init_signal, default_handler): change default SIGPIPE handler</div><div class='del'>-	  from empty function to SIG_IGN. [ruby-dev:43215]</div><div class='del'>-	* signal.c (sigpipe): removed.</div><div class='del'>-</div><div class='del'>-Sat May 28 03:04:27 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fill_cbuf): return MORE_CHAR_SUSPENDED when cbuf is not empty.</div><div class='del'>-</div><div class='del'>-Sat May 28 02:22:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_bytesize): rb_str_bytesize() should use LONG2NUM().</div><div class='del'>-	  Patch by Nikolai Weibull. [Bug #4789] [ruby-core:36511]</div><div class='del'>-</div><div class='del'>-Sat May 28 02:06:26 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fill_cbuf): Fix test-all crash.</div><div class='del'>-</div><div class='del'>-Sat May 28 00:58:40 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (method_missing): Handle [] and []= correctly.</div><div class='del'>-	  Based on a patch by Caius Durling, bug #4179 [ruby-core:33792]</div><div class='del'>-</div><div class='del'>-Fri May 27 23:56:54 2011  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_core.rb (Tester::test_text_frozen): split frozen</div><div class='del'>-	  string test. refs #4783</div><div class='del'>-</div><div class='del'>-Fri May 27 22:46:23 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): install gemspec of json.  fixed #4784</div><div class='del'>-</div><div class='del'>-Fri May 27 22:45:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (validate_enc_binmode): do not clear textmode flag if</div><div class='del'>-	  default.  fixed #4732</div><div class='del'>-</div><div class='del'>-	* io.c (fill_cbuf): finish reading at EOF.</div><div class='del'>-</div><div class='del'>-Fri May 27 11:31:51 2011  misfo &lt;tedwardo2@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#initialize): prevent an error</div><div class='del'>-	  when passing a frozen string to REXML::Text.new</div><div class='del'>-</div><div class='del'>-	  dup the string passed in instead of cloning so that it's frozen</div><div class='del'>-	  state is ignored</div><div class='del'>-</div><div class='del'>-Fri May 27 08:47:26 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ppoll): typo bug fix.</div><div class='del'>-</div><div class='del'>-Fri May 27 08:35:04 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: hang-up at exit before calling Tk.mainloop.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/extconf.rb: cannot make on MinGW [Ruby 1.9 - Bug #4141].</div><div class='del'>-</div><div class='del'>-Thu May 27 00:34:07 2011  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-    * lib/csv.rb: Enhance each() to support Enumerator.</div><div class='del'>-</div><div class='del'>-Thu May 26 10:32:11 2011  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-    * lib/csv.rb: Documentation improvements from Ysiad Ferreiras.</div><div class='del'>-      [Ruby 1.9 - Bug #4785]</div><div class='del'>-</div><div class='del'>-Thu May 26 15:42:02 2011  Cezary Baginski &lt;cezary.baginski@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb (FaultException): fix to_s and inspect</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/parser.rb: test for the above</div><div class='del'>-</div><div class='del'>-Wed May 25 11:54:31 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c:  Remove color constants block.</div><div class='del'>-	  [Ruby 1.9 - Bug #4748]</div><div class='del'>-</div><div class='del'>-Wed May 25 09:56:45 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c:  Add missing documentation for button state, MIN</div><div class='del'>-	  and MAX comments.  Add Curses. to TABSIZE= and ESCDELAY= methods.</div><div class='del'>-	  [Ruby 1.9 - Bug #4747]</div><div class='del'>-</div><div class='del'>-Wed May 25 09:35:31 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb:  Restore nodoc for Benchmark::Job and</div><div class='del'>-	  Benchmark::Report.  [Ruby 1.9 - Bug #4726]</div><div class='del'>-</div><div class='del'>-Wed May 25 09:29:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb:  Hide implementation details from RDoc.</div><div class='del'>-	  [Ruby 1.9 - Bug #4711]</div><div class='del'>-</div><div class='del'>-Wed May 25 09:26:29 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb:  Add :nodoc: for private methods.</div><div class='del'>-	  [Ruby 1.9 - Bug #4710]</div><div class='del'>-</div><div class='del'>-Wed May 25 09:19:17 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c:  Fix Document-method declarations.  Improve</div><div class='del'>-	  Zlib::GzipFile's method catalog.  [Ruby 1.9 - Bug #4695]</div><div class='del'>-</div><div class='del'>-Wed May 25 08:22:12 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb:  Hide documentation for implementation details of ERB.</div><div class='del'>-	  [Ruby 1.9 - Bug #4694]</div><div class='del'>-</div><div class='del'>-Wed May 25 07:58:14 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile.{mkdir,rmdir}): revert for backward</div><div class='del'>-	  compatibility.</div><div class='del'>-</div><div class='del'>-Wed May 25 07:13:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* spec/README: update the description.</div><div class='del'>-</div><div class='del'>-Wed May 25 07:12:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile.{lock,unlock}_tempfile): refactor.</div><div class='del'>-</div><div class='del'>-Tue May 24 17:30:36 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* spec/README: fix typo.</div><div class='del'>-	  patched by bowsersenior. https://github.com/ruby/ruby/pull/24</div><div class='del'>-</div><div class='del'>-Tue May 24 07:06:34 2011  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fail to start Tk.mainloop (exit immediately) on</div><div class='del'>-	  some environment (reported on [ruby-talk:381444]).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: support creating a canvas item object from</div><div class='del'>-	  an item ID number.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/image.rb: import documents which are pull-requested.</div><div class='del'>-	  [Ruby 1.9 - Feature #4595]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/extconf.rb: search directories for 64bit library (e.g.</div><div class='del'>-	  /usr/lib64), add some new configure options (see README.tcltklib),</div><div class='del'>-	  and bug fix.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/README.tcltklib: modify docs for some new configure</div><div class='del'>-	  options.</div><div class='del'>-</div><div class='del'>-Tue May 24 04:01:46 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: switch default YAML engine to Psych, old syck engine</div><div class='del'>-	  may be enabled via YAML::ENGINE.yamler = "syck". [ruby-core:36374]</div><div class='del'>-</div><div class='del'>-Mon May 23 09:45:26 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (CASEFOLD_FILESYSTEM): Revert r30508. Forgot to</div><div class='del'>-	  include this file in the commit r31692. __APPLE__ is not</div><div class='del'>-	  CASEFOLD_FILESYSTEM again, from this time.</div><div class='del'>-</div><div class='del'>-Mon May 23 10:01:02 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Do not parse zero-tagged values as EOC. Do</div><div class='del'>-	  not let current length become negative for infinite length constructed</div><div class='del'>-	  values. Support constructed values of length zero. Added tests.</div><div class='del'>-</div><div class='del'>-Mon May 23 09:19:53 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb:  Document Net::SMTP::Response.  Patch by J.R. Garcia.</div><div class='del'>-	  [Ruby 1.9 - Bug #4768]</div><div class='del'>-</div><div class='del'>-Mon May 23 09:03:52 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Never Ignore SIGINT. When received</div><div class='del'>-	Interrupt, immediately puts result and exit. [ruby-dev:43571]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: When received Interrupt, wait results from workers</div><div class='del'>-	and collect them. [ruby-dev:43571]</div><div class='del'>-</div><div class='del'>-Mon May 23 09:08:07 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb:  Improve documentation.  Patch by Sandor Szucs.</div><div class='del'>-	  [Ruby 1.9 - Bug #4767]</div><div class='del'>-</div><div class='del'>-Mon May 23 08:45:55 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb:  Improve documentation.  Patch by Franklin Webber.</div><div class='del'>-	  [Ruby 1.9 - Bug #4761]</div><div class='del'>-</div><div class='del'>-Mon May 23 08:35:24 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c:  Improve documentation of Hash#key.  Patch by Utkarsh</div><div class='del'>-	  Kukreti.  [Ruby 1.9 - Bug #4760]</div><div class='del'>-</div><div class='del'>-Mon May 23 08:32:59 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c:  Improve documentation.  Patch by Dave Copeland.</div><div class='del'>-	  [Ruby 1.9 - Bug #4757]</div><div class='del'>-</div><div class='del'>-Mon May 23 07:19:45 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (openssl): Infinite length support. Different behavior of</div><div class='del'>-	  Constructive and Primitive constructors.</div><div class='del'>-</div><div class='del'>-Mon May 23 06:58:33 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Forbid Constructives whose value is not an</div><div class='del'>-	  Array to prevent segfault. Added test.</div><div class='del'>-</div><div class='del'>-Mon May 23 06:33:17 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Forbid Constructive without infinite</div><div class='del'>-	  length. This also prevents a segfault. Added test and improved</div><div class='del'>-	  documentation.</div><div class='del'>-</div><div class='del'>-Mon May 23 05:58:14 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Fix decoding of infinite length values.</div><div class='del'>-	  Simplified ossl_asn1_decode0 by splitting it into three separate</div><div class='del'>-	  functions. Add tests.</div><div class='del'>-	  [Ruby 1.9 - Bug #4374][ruby-core:35123]</div><div class='del'>-</div><div class='del'>-Mon May 23 04:03:46 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_initialize): Allow creation of</div><div class='del'>-	  Constructives with an explicit tag_class parameter without</div><div class='del'>-	  automatically setting tagging to :EXPLICIT. Fixes a bug when encoding</div><div class='del'>-	  infinite length primitive values.</div><div class='del'>-</div><div class='del'>-Mon May 23 04:03:46 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_cons_to_der): Add an additional</div><div class='del'>-	  EOC for infinite length Constructives that are supposed to be encoded</div><div class='del'>-	  with explicit tagging. Also tabify method correctly.</div><div class='del'>-</div><div class='del'>-Mon May 23 03:44:39 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1data_to_der): Remove redundant</div><div class='del'>-	  flag tmp_cons.</div><div class='del'>-</div><div class='del'>-Mon May 23 00:35:00 2001  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (dump_bignum, bigmul1_balance, big_split, biglsh_bang),</div><div class='del'>-	  (bigrsh_bang, big_split3, bigmul1_toom3, bigmul0): implement Toom3 (Toom-Cook)</div><div class='del'>-	  multiplication.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: add format prefixes for BDIGIT and BDIGIT_DBL.</div><div class='del'>-</div><div class='del'>-Sun May 22 23:24:02 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Instead of rb_intern use static symbols to</div><div class='del'>-	  improve performance.</div><div class='del'>-</div><div class='del'>-Sun May 22 21:56:51 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Use OpenSSL constants V_ASN1_xxx instead of</div><div class='del'>-	  hardcoded numbers for initializing class_tag_map.</div><div class='del'>-</div><div class='del'>-Sun May 22 21:29:29 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (CASEFOLD_FILESYSTEM): Revert r30508. See #4255.</div><div class='del'>-	  Now __APPLE__ is not CASEFOLD_FILESYSTEM again.</div><div class='del'>-</div><div class='del'>-	* load.c (loaded_feature_path, rb_feature_p, load_lock): Revert r30508.</div><div class='del'>-	  See #4255. Make $LOADED_FEATURES scanning case-sensitive again.</div><div class='del'>-</div><div class='del'>-Sun May 22 18:59:27 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c(ossl_asn1_default_tag): avoid using RCLASS_SUPER</div><div class='del'>-	  to make it compilable. Plus, tabify and change variable definition style.</div><div class='del'>-</div><div class='del'>-Sun May 22 18:26:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_xcalloc): use calloc provided by platforms.</div><div class='del'>-	  fixes #4754</div><div class='del'>-</div><div class='del'>-Sun May 22 11:44:53 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c:  Improve documentation.  Patch by David Copeland.</div><div class='del'>-	  [Ruby 1.9 - Bug #4756]</div><div class='del'>-</div><div class='del'>-Sun May 22 11:26:39 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb:  Improve documentation.  Patch by David Copeland.</div><div class='del'>-	  [Ruby 1.9 - Bug #4755]</div><div class='del'>-</div><div class='del'>-Sun May 22 11:21:41 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb:  Improve documentation.  Patch by Sandor Szucs.</div><div class='del'>-	  [Ruby 1.9 - Bug #4753]</div><div class='del'>-</div><div class='del'>-Sun May 22 11:14:40 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb:  Document def_delegator.  Patch by Sandor Szucs.</div><div class='del'>-	  [Ruby 1.9 - Bug #4752]</div><div class='del'>-</div><div class='del'>-Sun May 22 11:11:41 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb:  Document block behavior of FileUtils.cd.  Patch by</div><div class='del'>-	  Bil Kleb.  [Ruby 1.9 - Bug #4751]</div><div class='del'>-</div><div class='del'>-Sun May 22 11:07:47 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c:  Complete documentation.  Patch by Vincent</div><div class='del'>-	  Batts.  [Ruby 1.9 - Bug #4748]</div><div class='del'>-</div><div class='del'>-Sun May 22 09:29:43 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name):</div><div class='del'>-	  use spawn. it prevent that other tests inherit renamed $0.</div><div class='del'>-</div><div class='del'>-Sun May 22 08:57:13 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Default tag lookup in constant time via hash</div><div class='del'>-	  instead of previous linear algorithm.</div><div class='del'>-	  [Ruby 1.9 - Feature #4309][ruby-core:34813]</div><div class='del'>-</div><div class='del'>-Sun May 22 07:54:16 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: Explain DSS and DSS1 in documentation.</div><div class='del'>-</div><div class='del'>-Sun May 22 07:10:25 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_dsa.rb: Add tests for sign/verify.</div><div class='del'>-</div><div class='del'>-Sun May 22 06:07:17 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509cert.rb: Merge DSA-related tests from ruby_1_8</div><div class='del'>-	  branch.</div><div class='del'>-</div><div class='del'>-Sun May 22 04:11:12 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (Init_Thread): add a code comment why the meaningless</div><div class='del'>-	  line is necessary.</div><div class='del'>-</div><div class='del'>-Sun May 22 01:35:12 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: modified documentation.</div><div class='del'>-</div><div class='del'>-Sat May 21 22:46:26 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime(date_strftime_with_tmx): "%v" means "%e-%b-%Y".</div><div class='del'>-</div><div class='del'>-Sat May 21 22:14:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): accept combination hash and</div><div class='del'>-	  File::Constants. (eg. File.open('yo', :mode =&gt; File::WRONLY))</div><div class='del'>-	  [Feature #4742][ruby-core:36338]</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_open_mode): new test.</div><div class='del'>-</div><div class='del'>-Sat May 21 21:44:14 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_switch_hitter.rb: new.</div><div class='del'>-</div><div class='del'>-Sat May 21 21:18:29 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_{core,parse}.c: moved nearly all core code from ext/date/lib.</div><div class='del'>-	* ext/date/lib/{date,date/format}.rb: removed nearly all code.</div><div class='del'>-</div><div class='del'>-Sat May 21 02:58:46 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document:  Add curses to documented extensions.</div><div class='del'>-	* ext/curses/curses.c:  Improve documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #4747]</div><div class='del'>-</div><div class='del'>-Sat May 21 02:51:01 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb:  Improve documentation.  Patch</div><div class='del'>-	  by Pete Higgins.  [Ruby 1.9 - Bug #4746]</div><div class='del'>-</div><div class='del'>-Sat May 21 02:44:10 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/jacobian.rb:  Document isEqual.  Patch</div><div class='del'>-	  by Kuba Fietkiewicz.  [Ruby 1.9 - Bug #4744]</div><div class='del'>-</div><div class='del'>-Sat May 21 02:22:34 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb:  Document date formats.  Patch by</div><div class='del'>-	  Clinton Nixon.  [Ruby 1.9 - Bug #4743]</div><div class='del'>-</div><div class='del'>-Fri May 20 05:15:19 2011  Nobuhiro Iwamatsu  &lt;iwamatsu@nigauri.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Fix build on m68k by 'error: too few arguments to</div><div class='del'>-	  function 'mark_locations_array''.</div><div class='del'>-</div><div class='del'>-Fri May 20 04:23:42 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb:  Improve documentation.  Patch by Gabe McArthur.</div><div class='del'>-	  [Ruby 1.9 - Bug #4735]</div><div class='del'>-</div><div class='del'>-Fri May 20 00:58:01 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/ibm737-tbl.rb: greek code page.  fixes #4738</div><div class='del'>-</div><div class='del'>-Thu May 19 14:44:05 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_signal_requiring): skip on Windows.</div><div class='del'>-	  we can send SIGINT only to pid 0 and the process itself.</div><div class='del'>-</div><div class='del'>-Thu May 19 09:07:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib: revert r31635-r31638 and untabify with expand(1).</div><div class='del'>-</div><div class='del'>-Thu May 19 07:47:26 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: Add tests for sign/verify.</div><div class='del'>-</div><div class='del'>-Thu May 19 07:19:16 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c: Add documentation.</div><div class='del'>-</div><div class='del'>-Thu May 19 07:06:56 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb:  Fix indentation.</div><div class='del'>-	* lib/net/imap.rb:  Fix indentation of regular expressions.</div><div class='del'>-</div><div class='del'>-Thu May 19 06:36:11 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb:  Fix indentation of EOF for heredoc.</div><div class='del'>-	* lib/debug.rb (Commands):  Fix indentation of EOHELP for heredoc.</div><div class='del'>-</div><div class='del'>-Thu May 19 06:30:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb:  Fix indentation of EOM for heredoc.</div><div class='del'>-</div><div class='del'>-Thu May 19 06:16:41 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib:  Convert tabs to spaces for ruby files per</div><div class='del'>-	  https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style</div><div class='del'>-	  Patch by Steve Klabnik [Ruby 1.9 - Bug #4730]</div><div class='del'>-	  Patch by Jason Dew [Ruby 1.9 - Feature #4718]</div><div class='del'>-</div><div class='del'>-Thu May 19 06:06:07 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb:  Improve documentation.  Patch by Clinton Nixon.</div><div class='del'>-	  [Ruby 1.9 - Bug #4733]</div><div class='del'>-	* lib/cgi/core.rb:  ditto</div><div class='del'>-	* lib/cgi/cookie.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu May 19 06:02:21 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb:  Document Dir.mkdir and Dir.rmdir.  Patch by Clinton</div><div class='del'>-	  Nixon.  [Ruby 1.9 - Bug #4728]</div><div class='del'>-</div><div class='del'>-Thu May 19 05:57:52 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c:  Improve documentation for Encoding#default_external and</div><div class='del'>-	  Encoding#default_internal.</div><div class='del'>-</div><div class='del'>-Wed May 18 22:45:26 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/lib/console/size.rb (IO#console_size): new</div><div class='del'>-	  method.  (EXPERIMENTAL)</div><div class='del'>-</div><div class='del'>-Wed May 18 22:41:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: add for internal use only.</div><div class='del'>-</div><div class='del'>-Wed May 18 22:36:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): internal exception should be hidden</div><div class='del'>-</div><div class='del'>-Wed May 18 20:25:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): don't leak "execution expired"</div><div class='del'>-	  exception. [Bug #4283] [ruby-core:34534].</div><div class='del'>-</div><div class='del'>-Wed May 18 06:09:24 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb:  Add some examples and improve documentation.  Patch by</div><div class='del'>-	  Sandor Szucs.  [Ruby 1.9 - Bug #4727]</div><div class='del'>-</div><div class='del'>-Wed May 18 05:40:31 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb:  Remove nodoc from Benchmark::Job and</div><div class='del'>-	  Benchmark::Report.  Patch by Sandor Szucs.  [Ruby 1.9 - Bug #4726]</div><div class='del'>-</div><div class='del'>-Wed May 18 05:29:26 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/compat.rb:  Improve documentation.  Patch by Sandor</div><div class='del'>-	  Szucs.  [Ruby 1.9 - Bug #4725]</div><div class='del'>-</div><div class='del'>-Wed May 18 05:10:35 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb:  Improve documentation.  Patch by Richard Ramsden.</div><div class='del'>-	  [Ruby 1.9 - Feature #4720]</div><div class='del'>-</div><div class='del'>-Wed May 18 04:53:41 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb:  Improve documentation.  Patch by Jason Dew.</div><div class='del'>-	  [Ruby 1.9 - Feature #4717]</div><div class='del'>-</div><div class='del'>-Wed May 18 04:50:24 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb:  Improve documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #4710]</div><div class='del'>-</div><div class='del'>-Wed May 18 03:14:49 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_singleton.rb:  Add tests from lib/singleton.rb.  Patch by</div><div class='del'>-	  Pete Higgins.  [Ruby 1.9 - Bug #4715]</div><div class='del'>-</div><div class='del'>-Wed May 18 03:03:07 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb:  Improve documentation.  Patch by Pete Higgins.</div><div class='del'>-	  [Ruby 1.9 - Bug #4709]</div><div class='del'>-</div><div class='del'>-Tue May 17 21:24:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_lock): remove remove_signal_thread_list() call.</div><div class='del'>-	  It's meaningless because lock_interrupt doesn't call</div><div class='del'>-	  add_signal_thread_list().</div><div class='del'>-</div><div class='del'>-Tue May 17 20:20:49 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_struct): add volatile to</div><div class='del'>-	  transition_for_lock because it is not protected by lock.</div><div class='del'>-</div><div class='del'>-Tue May 17 20:08:53 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL (missing/{elf,tgamma,lgamma_r}.c): they've been replaced by</div><div class='del'>-	  public domain implementations.</div><div class='del'>-</div><div class='del'>-	* LEGAL (vsnprintf.c): it has moved to srcdir from missing/.</div><div class='del'>-</div><div class='del'>-	* LEGAL (missing/crypt.c): list its original license.</div><div class='del'>-</div><div class='del'>-Tue May 17 19:54:26 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL (configure): add missing/setproctitle.c</div><div class='del'>-</div><div class='del'>-Tue May 17 19:35:01 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-	Fix FreeBSD test failure.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name):</div><div class='del'>-	  use ps -o command instead of ps -o cmd. FreeBSD doesn't support</div><div class='del'>-	  -o cmd option.</div><div class='del'>-</div><div class='del'>-Tue May 17 08:04:26 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: Add documentation.</div><div class='del'>-</div><div class='del'>-Tue May 17 07:14:58 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Improve documentation of proxy configuration</div><div class='del'>-	  methods.  Patch by Alf Mikula.  [Ruby 1.9 - Bug #4714]</div><div class='del'>-</div><div class='del'>-Tue May 17 07:09:01 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb:  Improve documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #4711]</div><div class='del'>-	* lib/net/telnet.rb:  ditto</div><div class='del'>-</div><div class='del'>-Tue May 17 07:00:41 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Fix nodoc for Net::HTTP::version_1_1?.  Patch by</div><div class='del'>-	  Alf Mikula.  [Ruby 1.9 - Bug #4713]</div><div class='del'>-</div><div class='del'>-Tue May 17 06:56:26 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb:  Add link to make_switch to improve documentation.</div><div class='del'>-	  Patch by David Copeland.  [Ruby 1.9 - Bug #4708]</div><div class='del'>-</div><div class='del'>-Tue May 17 06:50:40 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb:  Improve documentation.  Patch by David Copeland.</div><div class='del'>-	  [Ruby 1.9 - Bug #4707]</div><div class='del'>-</div><div class='del'>-Tue May 17 06:42:53 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb:  Improve documentation.  Patch by David Copeland.</div><div class='del'>-	  [Ruby 1.9 - Bug #4706]</div><div class='del'>-</div><div class='del'>-Tue May 17 06:28:14 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb:  Improve documentation.  Patch by David Copeland.</div><div class='del'>-	  [Ruby 1.9 - Bug #4705]</div><div class='del'>-</div><div class='del'>-Tue May 17 06:21:15 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: Add toplevel documentation to class CGI</div><div class='del'>-	* lib/cgi/session.rb: Add overview documentation to CGI::Cookie</div><div class='del'>-	* lib/cgi/html.rb:  Don't add CGI::TagMaker documentation to CGI.</div><div class='del'>-	  Patch by David Copeland.  [Ruby 1.9 - Bug #4704]</div><div class='del'>-	* lib/cgi/core.rb:  Clean up CGI documentation.  Patch by David</div><div class='del'>-	  Copeland.  [Ruby 1.9 - Bug #4704]</div><div class='del'>-	* lib/cgi/cookie.rb:  Clean up CGI::Cookie documentation.  Patch by</div><div class='del'>-	  David Copeland.  [Ruby 1.9 - Bug #4704]</div><div class='del'>-</div><div class='del'>-Tue May 17 05:52:30 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest: Improve documentation of Digest, Digest::HMAC and</div><div class='del'>-	  Digest::SHA2.  Patch by Pete Higgins.  [Ruby 1.9 - Bug #4702]</div><div class='del'>-</div><div class='del'>-Tue May 17 03:51:42 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb:  Hide copyright and revision information from RDoc.</div><div class='del'>-	  Inspired by patch from David Copeland, bug #4703.</div><div class='del'>-</div><div class='del'>-Tue May 17 03:33:21 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (module Timeout):  Hide internal constants.  Patch by</div><div class='del'>-	  Pete Higgins.  [Ruby 1.9 - Bug #4701]</div><div class='del'>-</div><div class='del'>-Mon May 16 11:21:09 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (RUBY_SO_NAME): add CPU as prefix</div><div class='del'>-	  of RUBY_SO_NAME on x64/ia64 mswin/mingw.</div><div class='del'>-	  [Feature #4602]</div><div class='del'>-</div><div class='del'>-Mon May 16 08:00:05 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Update to RDoc 3.6.1, allows OpenSSL::Digest to be</div><div class='del'>-	  found.</div><div class='del'>-</div><div class='del'>-Mon May 16 05:49:54 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/acl.rb:  Add documentation.</div><div class='del'>-</div><div class='del'>-Mon May 16 05:13:20 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Add documentation.</div><div class='del'>-</div><div class='del'>-Mon May 16 00:32:05 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_signal_process_group):</div><div class='del'>-	  skip if the platform doesn't have :pgroup capability. (i.e. skip</div><div class='del'>-	  if mswin32)</div><div class='del'>-</div><div class='del'>-Sun May 15 23:53:31 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: resurrect old rb_fd_copy().</div><div class='del'>-	* thread.c (rb_fd_copy): ditto.</div><div class='del'>-</div><div class='del'>-Sun May 15 23:45:11 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: remove rb_fd_copy() to rb_fd_dup() and</div><div class='del'>-	  rb_w32_fdcopy() to rb_w32_fd_dup().</div><div class='del'>-	* win32/win32.c: ditto.</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun May 15 22:26:39 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): accept '-SIGXXX' style signal with Symbol or</div><div class='del'>-	  implicit conversion with #to_str. [ruby-dev:43169] fixes #4362</div><div class='del'>-	* test/ruby/test_signal.rb (test_signal_process_group): add a test</div><div class='del'>-	  for send signal to process group.</div><div class='del'>-</div><div class='del'>-Sun May 15 21:22:35 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_init): clear macihne_stack_start/end of saved thread to</div><div class='del'>-	  prevent mark machine stack of GC'ed Thread. root Fiber is not</div><div class='del'>-	  initialized by fiber_init().</div><div class='del'>-	  based on a patch by Serge Balyuk [ruby-core:35891] fixes #4612</div><div class='del'>-	* test/ruby/test_fiber.rb (test_gc_root_fiber): add test for it.</div><div class='del'>-</div><div class='del'>-Sun May 15 21:04:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_init): revert r31353.  [ruby-dev:43512]</div><div class='del'>-</div><div class='del'>-Sun May 15 03:39:35 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c:  Improve documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #4695]</div><div class='del'>-</div><div class='del'>-Sun May 15 03:23:46 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb:  Document ERB::Compiler.  Patch by Simon Chiang.</div><div class='del'>-	  [Ruby 1.9 - Bug #4694]</div><div class='del'>-</div><div class='del'>-Sun May 15 00:58:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-	fix mswin32 build error.</div><div class='del'>-</div><div class='del'>-	* missing/setproctitle.c: add #ifdef HAVE_UNISTD_H.</div><div class='del'>-	* win32/Makefile.sub (MISSING): add setproctitle.obj</div><div class='del'>-</div><div class='del'>-Sat May 14 22:45:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/setproctitle.c: add to include "ruby/util.h".</div><div class='del'>-</div><div class='del'>-Sat May 14 19:52:22 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name):</div><div class='del'>-	  add for $0 test.</div><div class='del'>-</div><div class='del'>-Sat May 14 19:50:46 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/setproctitle.c (compat_init_setproctitle): use</div><div class='del'>-	  ruby_strdup() instead of strdup().</div><div class='del'>-</div><div class='del'>-Sat May 14 19:37:31 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: add setproctitle() declaration.</div><div class='del'>-	* missing/setproctitle.c: added.</div><div class='del'>-	* configure.in: add check for missing/setproctitle.c.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_process_options): add to call compat_init_setproctitle().</div><div class='del'>-	* ruby.c (set_arg0): remove all platform specific code. it's</div><div class='del'>-	  moved to missing/setproctitle.c.</div><div class='del'>-	* ruby.c (origarg): remove len field. It's no longer used.</div><div class='del'>-	* ruby.c (get_arglen): removed.</div><div class='del'>-</div><div class='del'>-	This patch makes a lot of cleanup set_arg0 related code and fixes</div><div class='del'>-	[Feature #4689].</div><div class='del'>-</div><div class='del'>-Sat May 14 17:42:21 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_times): improve documentation.</div><div class='del'>-	  [ruby-core:35785] fixes #4581, reported by Andrew Grimm.</div><div class='del'>-</div><div class='del'>-Sat May 14 12:12:54 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_dsa.rb: Add basic tests and tests that</div><div class='del'>-	  ensure new public key PEM encoding behavior and ensure backward</div><div class='del'>-	  compatibility.</div><div class='del'>-	  [Ruby 1.9 - Bug #4422] [ruby-core:35328]</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: Remove line with 'puts'.</div><div class='del'>-</div><div class='del'>-Sat May 14 12:06:49 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/context.rb (class RDoc):  Fix infinite loop caused by</div><div class='del'>-	  re-encountering BasicObject.</div><div class='del'>-</div><div class='del'>-Sat May 14 10:32:36 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: Add tests that ensure new public key</div><div class='del'>-	  encoding behavior and also ensure backward compatibility.</div><div class='del'>-	  [Ruby 1.9 - Bug #4421] [ruby-core:35327]</div><div class='del'>-</div><div class='del'>-Sat May 14 09:50:10 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/dbm.rb:  Add documentation.  Patch by Justin Collins.</div><div class='del'>-	  [Ruby 1.9 - Bug #4693]</div><div class='del'>-	* lib/yaml/store.rb:  ditto</div><div class='del'>-</div><div class='del'>-Sat May 14 09:31:43 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb: Updated to RDoc 3.6</div><div class='del'>-</div><div class='del'>-Sat May 14 07:30:29 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: released a new gem, so increasing version.</div><div class='del'>-</div><div class='del'>-Sat May 14 05:08:32 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c</div><div class='del'>-	* ext/openssl/ossl_pkey.c</div><div class='del'>-	* ext/openssl/ossl_pkey.h</div><div class='del'>-	* test/openssl/pkey/test_pkey_rsa.rb</div><div class='del'>-	  Reverted premature commit. Sorry for the noise!</div><div class='del'>-</div><div class='del'>-Sat May 14 05:02:58 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri.rb:  Add toplevel documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #4690]</div><div class='del'>-</div><div class='del'>-Sat May 14 04:19:06 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Describe altered behaviour for RSA and DSA public key</div><div class='del'>-	  encoding. [Ruby 1.9 - Bug #4421, Bug #4422]</div><div class='del'>-	  [ruby-core:35327,35328]</div><div class='del'>-</div><div class='del'>-Sat May 14 02:57:52 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (unless Socket):  Document valid*? methods.  Patch by</div><div class='del'>-	  Sebastian Martinez.  [Ruby 1.9 - Feature #4687]</div><div class='del'>-</div><div class='del'>-Sat May 14 02:54:04 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/functions.rb:  Add some documentation for REXML::Functions.</div><div class='del'>-	  Patch by Sebastian Martinez.  [Ruby 1.9 - Feature #4688]</div><div class='del'>-</div><div class='del'>-Sat May 14 02:51:42 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb:  Hide private method and state-tracking constants from</div><div class='del'>-	  RDoc.  Patch by Mark Turner.  [Ruby 1.9 - Feature #4691]</div><div class='del'>-</div><div class='del'>-Fri May 13 19:23:21 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_coerce): Add #flo_coerce documentation.</div><div class='del'>-	  Patch by Sebastian Martinez.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/21</div><div class='del'>-</div><div class='del'>-Fri May 13 18:42:22 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: fix typo.  Patch by William Blackerby.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/19</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 13 15:22:34 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): check invalid handle before doing</div><div class='del'>-	  select operations.  see [ruby-dev:43513], [ruby-dev:43535]</div><div class='del'>-</div><div class='del'>-Fri May 13 08:34:00 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb:  Output summary after documentation report.</div><div class='del'>-	* lib/rdoc/stats/normal.rb:  Don't output information for users when</div><div class='del'>-	  we're not on a TTY</div><div class='del'>-</div><div class='del'>-Fri May 13 07:49:02 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb:  Hide internal methods from RDoc.  Patch by Darragh</div><div class='del'>-	  Curran.  [Ruby 1.9 - Bug #4684]</div><div class='del'>-</div><div class='del'>-Fri May 13 07:36:23 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/erbhandler.rb:  Add documentation.</div><div class='del'>-</div><div class='del'>-Fri May 13 07:04:33 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb:  Fix indentation.  Patch by Jason Dew.</div><div class='del'>-	  [Ruby 1.9 - Feature #4682]</div><div class='del'>-</div><div class='del'>-Fri May 13 06:50:43 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb:  Add documentation.  Patch by Jason Dew.  [Ruby 1.9 -</div><div class='del'>-	  Feature #4667]</div><div class='del'>-</div><div class='del'>-Fri May 13 05:44:19 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (class Logger):  Document Logger#datetime_format.</div><div class='del'>-	  Patch by Sergio Gil Perez de la Manga.  [Ruby 1.9 - Bug #4678]</div><div class='del'>-</div><div class='del'>-Fri May 13 05:39:11 2011  Eric Hodel &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): Document option constants.  Patch by Vincent</div><div class='del'>-	  Batts.  [Ruby 1.9 - Bug #4677]</div><div class='del'>-	* lib/uri/common.rb (module URI):  Documentation for URI.  Patch by</div><div class='del'>-	  Vincent Batts.  [Ruby 1.9- Bug #4677]</div><div class='del'>-	* lib/uri/ftp.rb (module URI):  ditto</div><div class='del'>-	* lib/uri/generic.rb (module URI):  ditto</div><div class='del'>-	* lib/uri/http.rb (module URI):  ditto</div><div class='del'>-	* lib/uri/https.rb (module URI):  ditto</div><div class='del'>-	* lib/uri/ldap.rb (module URI):  ditto</div><div class='del'>-	* lib/uri/ldaps.rb (module URI):  ditto</div><div class='del'>-	* lib/uri/mailto.rb (module URI):  ditto</div><div class='del'>-	* process.c (Init_process):  Document Process constants.  Patch by</div><div class='del'>-	  Vincent Batts.  [Ruby 1.9- Bug #4677]</div><div class='del'>-</div><div class='del'>-Fri May 13 05:16:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/atom.rb (module RSS):  Document URIs.  Patch by Mark Turner.</div><div class='del'>-	  [Ruby 1.9 - #4671]</div><div class='del'>-	* lib/rss/rss.rb (module RSS):  Document exception classes.  Patch by</div><div class='del'>-	  Mark Turner.  [Ruby 1.9 - #4671]</div><div class='del'>-</div><div class='del'>-Fri May 13 02:15:18 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (select_internal): remove unused variable (interrupt_flag).</div><div class='del'>-</div><div class='del'>-Thu May 12 18:24:34 2011  Kouhei Sutou  &lt;kou@clear-code.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: limit to "T" type for prefix of external symbols</div><div class='del'>-	  because x86_64-w64-mingw32-gcc on Debian GNU/Linux generates the</div><div class='del'>-	  following symbol:</div><div class='del'>-	    0000000068483390 D _GLOBAL__F__conftest_external</div><div class='del'>-</div><div class='del'>-	  Approved by nobu.</div><div class='del'>-</div><div class='del'>-Thu May 12 14:50:52 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb (Fiddle::LIBC_SO): its always msvc*.dll on</div><div class='del'>-	  mswin/mingw.</div><div class='del'>-</div><div class='del'>-Thu May 12 14:47:53 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.postpone): copy only when temporary logfile</div><div class='del'>-	  exists.</div><div class='del'>-</div><div class='del'>-Thu May 12 12:24:22 2011  Nobuhiro Iwamatsu  &lt;iwamatsu@nigauri.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: By trunk@31346, function check of SSLv2 is</div><div class='del'>-	  executed.</div><div class='del'>-	  However, the problem is not revised in this.</div><div class='del'>-	  This adds the control of using function of SSLv2 in made macro by</div><div class='del'>-	  function check.</div><div class='del'>-</div><div class='del'>-Thu May 12 08:10:46 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (class Set):  Add nodoc to internal-use methods.  Patch</div><div class='del'>-	  by Pete Higgins.  [Ruby 1.9 - Bug #4665]</div><div class='del'>-</div><div class='del'>-Thu May 12 08:01:14 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: Allow encryption when PEM-encoding</div><div class='del'>-	  Elliptic Curve private keys.</div><div class='del'>-	  [ruby-core:35329] [Bug #4423]</div><div class='del'>-</div><div class='del'>-Thu May 12 07:54:59 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_equal):  Add documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #4664]</div><div class='del'>-	* lib/rexml:  ditto</div><div class='del'>-	* lib/mkmf.rb:  ditto</div><div class='del'>-	* ext/socket/lib/socket.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu May 12 07:30:08 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* Various .document files: Update .document files to match files which</div><div class='del'>-	  have documentation.</div><div class='del'>-</div><div class='del'>-Thu May 12 07:18:45 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: Use generic X.509 SubjectPublicKeyInfo</div><div class='del'>-	  format for PEM-encoding DSA public keys.</div><div class='del'>-	  [ruby-core:35328] [Bug #4422]</div><div class='del'>-</div><div class='del'>-Thu May 12 06:27:31 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c: Use generic X.509 SubjectPublicKeyInfo</div><div class='del'>-	  format for encoding RSA public keys.</div><div class='del'>-	  [ruby-core:35327] [Bug #4421]</div><div class='del'>-</div><div class='del'>-Wed May 11 19:45:27 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb: support 'delegate :foo =&gt; :bar' for to meet</div><div class='del'>-	  by specification of RDOC.</div><div class='del'>-</div><div class='del'>-Wed May 11 08:36:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick: Add documentation for WEBrick::HTTPAuth</div><div class='del'>-</div><div class='del'>-Wed May 11 03:06:35 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss.rb: Add documentation for RSS.  Patch by Steve Klabnik.</div><div class='del'>-	  [Ruby 1.9 - Bug #4663]</div><div class='del'>-</div><div class='del'>-Tue May 10 14:50:32 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Add option for hiding skip messages when test</div><div class='del'>-	  ends. #4657</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_hideskip.rb, test/testunit/test4test_hideskip.rb:</div><div class='del'>-	  test for above.</div><div class='del'>-</div><div class='del'>-Tue May 10 10:53:04 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc): Add rdoc-coverage rule</div><div class='del'>-</div><div class='del'>-Tue May 10 09:13:21 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick: Add Documentation</div><div class='del'>-</div><div class='del'>-Tue May 10 04:22:09  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb: Hide copyright info from ri</div><div class='del'>-	* lib/webrick/httpstatus.rb: ditto</div><div class='del'>-	* lib/webrick/htmlutils.rb: ditto</div><div class='del'>-	* lib/webrick/httpversion.rb: ditto</div><div class='del'>-	* lib/webrick/version.rb: ditto</div><div class='del'>-	* lib/webrick/httpauth/userdb.rb: ditto</div><div class='del'>-	* lib/webrick/httpauth/authenticator.rb: ditto</div><div class='del'>-	* lib/webrick/accesslog.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon May  9 20:57:13 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_{complex,rational}.rb: added tests.</div><div class='del'>-</div><div class='del'>-Mon May  9 20:29:44 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_internal): a refactoring.</div><div class='del'>-</div><div class='del'>-Mon May  9 18:33:05 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Improve documentation for String#start_with? and</div><div class='del'>-	  String#end_with?. fixes #4652</div><div class='del'>-	  patched by Andrew Grimm &lt;andrew.j.grimm at gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Mon May  9 13:49:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_internal): support scientific notation.</div><div class='del'>-	  patched by Tinco Andringa. https://github.com/ruby/ruby/pull/16</div><div class='del'>-	  [ruby-core:36046][Bug #4655]</div><div class='del'>-</div><div class='del'>-Mon May  9 11:52:48 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_ord): remove K&amp;R style.</div><div class='del'>-	  patched by Daehyub Kim. https://github.com/ruby/ruby/pull/17</div><div class='del'>-</div><div class='del'>-Sun May  8 22:17:24 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_{complex2,complexrational}.rb: use skip.</div><div class='del'>-	* test/date/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun May  8 21:02:31 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_{complex2,complexrational}.rb: NEVER SKIP.</div><div class='del'>-</div><div class='del'>-Sun May  8 21:01:21 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_date_base.rb: fixed.</div><div class='del'>-</div><div class='del'>-Sun May  8 20:54:11 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/*.rb: NEVER SKIP.</div><div class='del'>-</div><div class='del'>-Sun May  8 20:37:33 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/*.rb: reverted 31432.</div><div class='del'>-</div><div class='del'>-Sun May  8 20:32:43 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/*.rb: reverted 31483.</div><div class='del'>-</div><div class='del'>-Sun May  8 19:39:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_timedwait): add to care EINTR.</div><div class='del'>-	* thread_pthread.c (thread_timer): remove EINTR check.</div><div class='del'>-</div><div class='del'>-Sun May  8 19:04:15 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (xmlschema): avoid passing any negative numbers.</div><div class='del'>-</div><div class='del'>-Sun May  8 18:40:03 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_{parse,strptime}.c: introduced some macros.</div><div class='del'>-</div><div class='del'>-Sun May  8 17:17:13 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/*.rb: use skip /w messages.</div><div class='del'>-</div><div class='del'>-Sun May  8 17:04:55 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb (_httpdate): omitted to call zone_to_diff.</div><div class='del'>-</div><div class='del'>-Sun May  8 16:56:19 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_s_test_*): use macros.</div><div class='del'>-</div><div class='del'>-Sun May  8 10:24:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: cleanup signal_thread_list related ifdef.</div><div class='del'>-	  1) we don't have to use #ifdef FOO-PLATFORM directly 2) About</div><div class='del'>-	  half #ifdef didn't care symbian properly.</div><div class='del'>-</div><div class='del'>-Sun May  8 05:19:37 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb: Linux socketpair(2) only support</div><div class='del'>-	  AF_UNIX, but windows socketpair doesn't support it. we can't</div><div class='del'>-	  avoid platform check. sigh!</div><div class='del'>-</div><div class='del'>-Sun May  8 00:13:05 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb: use Socket.pair instead of pipe.</div><div class='del'>-	  Windows can only treat a socket.</div><div class='del'>-</div><div class='del'>-Sat May  7 22:43:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_zero): remove redundant zero fill.</div><div class='del'>-</div><div class='del'>-Sat May  7 22:38:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_init): remove volatile qualifier.</div><div class='del'>-</div><div class='del'>-Sat May  7 22:34:29 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_init_copy): new internal api. It provide efficient</div><div class='del'>-	  copy constructor semantics.</div><div class='del'>-	* thread.c (do_select): use rb_fd_init_copy().</div><div class='del'>-</div><div class='del'>-Sat May  7 15:18:06 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-	fix incorrect native_cond_signal call when deadlock was detected.</div><div class='del'>-</div><div class='del'>-	* thread.c (lock_func): decrement cond_waiting if timeout was happen.</div><div class='del'>-</div><div class='del'>-Sat May  7 18:28:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (USE_MONOTONIC_COND): check the availability</div><div class='del'>-	  more strictly.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (rb_thread_cond_t): ditto.</div><div class='del'>-</div><div class='del'>-Sat May  7 15:15:10 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	fix win32 native_cond_timedwait() makes SIGSEGV.</div><div class='del'>-</div><div class='del'>-	* thread_win32.h (rb_thread_cond_struct): add prev field instead of</div><div class='del'>-	  last. (ie cond_event_entry is now using double linked list instead of</div><div class='del'>-	  single)</div><div class='del'>-	* thread_win32.c (cond_event_entry): add prev field.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (__cond_timedwait): remove entry properly if timeout</div><div class='del'>-	  was happen.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_cond_signal): change for double linked list.</div><div class='del'>-	* thread_win32.c (native_cond_broadcast): ditto.</div><div class='del'>-	* thread_win32.c (native_cond_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Sat May  7 12:41:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-	fix mutex deadlock test hang-up.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (abs_timespec_to_timeout_ms): fix 1000x calculation</div><div class='del'>-	  mistake. (ie fix hang-up native_cond_timedwait())</div><div class='del'>-</div><div class='del'>-Sat May  7 03:14:13 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	sleep_cond use monotonic time if possible.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_init): change sleep_cond</div><div class='del'>-	  attribute to monotonic.</div><div class='del'>-	* thread_pthread.c (native_sleep): use native_cond_timeout().</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_timeout): add overflow care.</div><div class='del'>-	* thread_win32.c (native_cond_timeout): ditto.</div><div class='del'>-</div><div class='del'>-Sat May  7 02:49:12 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-	  fix win32 compile error.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (RB_CONDATTR_CLOCK_MONOTONIC): define</div><div class='del'>-	  RB_CONDATTR_CLOCK_MONOTONIC always.</div><div class='del'>-	* thread_pthread.c (RB_CONDATTR_CLOCK_MONOTONIC): ditto.</div><div class='del'>-</div><div class='del'>-Sat May  7 02:29:41 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	  mutex: deadlock check timeout use monotonic time.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_timeout): new internal api.</div><div class='del'>-	  it calculate a proper time for argument of native_cond_timedwait().</div><div class='del'>-	* thread_win32.c (native_cond_timeout): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): use native_cond_timeout()</div><div class='del'>-	  instead of get_ts.</div><div class='del'>-	* thread.c (lock_func): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_ts): removed. use native_cond_timeout().</div><div class='del'>-	* thread.c (init_lock_timeout): ditto.</div><div class='del'>-</div><div class='del'>-Sat May  7 01:54:21 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_ts): add monotonic clock capability.</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): use monotonic</div><div class='del'>-	  clock if possible.</div><div class='del'>-</div><div class='del'>-Sat May  7 01:43:37 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (rb_thread_cond_t): add clockid field. it's</div><div class='del'>-	  no longer an alias of pthread_cond_t.</div><div class='del'>-	* thread_pthread.c: adapt new rb_thread_cond_t type.</div><div class='del'>-	* thread.c (mutex_alloc): ditto.</div><div class='del'>-	* thread_win32.c (native_cond_initialize): ditto.</div><div class='del'>-	* configure.in: add check for pthread_cond_attr_setclock() and</div><div class='del'>-	  clockid_t type.</div><div class='del'>-</div><div class='del'>-Fri May  6 23:29:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_wait_for_single_fd): use ppoll() instead of poll()</div><div class='del'>-	  if possible. based on a patch from Eric Wong. [ruby-core:36003].</div><div class='del'>-</div><div class='del'>-Fri May  6 23:13:43 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove nanosleep check. we no longer use it.</div><div class='del'>-	  r20124 removed last usage.</div><div class='del'>-</div><div class='del'>-Fri May  6 22:35:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do): extra digits are not used.</div><div class='del'>-</div><div class='del'>-Fri May  6 17:43:07 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do): remove unused variable offset.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: use #ifdef instead of #if DEBUG.</div><div class='del'>-</div><div class='del'>-Fri May  6 16:27:33 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (DAY_IN_NANOSECONDS): refix: 31438.</div><div class='del'>-	  check with LONG_MAX and cast as long; without this the calculation</div><div class='del'>-	  will be done as int and overflow.</div><div class='del'>-</div><div class='del'>-Fri May  6 15:01:11 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do): avoid buffer overrun, by</div><div class='del'>-	  silently ignoring lesser significant digits.  Required buffer</div><div class='del'>-	  length can be computable so you might at first think of</div><div class='del'>-	  allocating enough memory space on the fly using alloca().  That</div><div class='del'>-	  is a wrong idea because when using alloca there is always risk</div><div class='del'>-	  of integer overflow.  A function that accepts outer-process</div><div class='del'>-	  resources like this should not blindly trust its inputs.  In</div><div class='del'>-	  this particular case we just want to generate milliseconds</div><div class='del'>-	  resolution by strtod() so the string in question needs no more</div><div class='del'>-	  length than what we originally have.  Ignoring lesser</div><div class='del'>-	  significant digits should suffice I believe.</div><div class='del'>-</div><div class='del'>-Fri May  6 14:25:53 2011  Tinco Andringa &lt;mail@tinco.nl&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do): YAML.load time correctly parse</div><div class='del'>-	  usecs smaller than 1 fixes #4571</div><div class='del'>-</div><div class='del'>-Thu May  5 22:23:34 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_mutex_reinitialize_atfork): removed</div><div class='del'>-	  unused macro.</div><div class='del'>-	* thread_win32.c (native_mutex_reinitialize_atfork): ditto.</div><div class='del'>-</div><div class='del'>-Thu May  5 22:09:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (DAY_IN_NANOSECONDS): long long int is not</div><div class='del'>-	  available on all platforms.</div><div class='del'>-</div><div class='del'>-Thu May  5 17:36:31 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id): store result of method_entry_of_iseq() to</div><div class='del'>-	  cfp-&gt;me because method_entry_of_iseq() might become expensive.</div><div class='del'>-</div><div class='del'>-Thu May  5 15:03:51 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id): __method__ return different name from</div><div class='del'>-	  methods defined by Module#define_method with a same block.</div><div class='del'>-	  [ruby-core:35386] fixes #4606</div><div class='del'>-	* eval.c (method_entry_of_iseq): new helper function. search control</div><div class='del'>-	  frame stack for a method entry which has given iseq.</div><div class='del'>-	* test/ruby/test_method.rb: add tests for #4606</div><div class='del'>-</div><div class='del'>-Wed May  4 22:13:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm4_pipe.rb: Reduced iterations. Too slow benchmark</div><div class='del'>-	  is bad.</div><div class='del'>-	* benchmark/bm_vm4_thread_pass.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed May  4 22:08:22 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_date_base.rb: don't use no message skip().</div><div class='del'>-</div><div class='del'>-Wed May  4 21:11:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_select2.rb: reduce number of using file</div><div class='del'>-	  descriptors. because gdb need some fds.</div><div class='del'>-</div><div class='del'>-Wed May  4 19:00:59 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_wait_for_single_fd): Fix wrong return value.</div><div class='del'>-	* test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb</div><div class='del'>-	  (TestWaitForSingleFD#test_wait_for_closed_pipe): test for it.</div><div class='del'>-</div><div class='del'>-Wed May  4 18:46:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/wait_for_single_fd: New. for testing</div><div class='del'>-	  rb_wait_for_single_fd() internal function.</div><div class='del'>-	  The patch was written by Eric Wong. [ruby-core:35991]</div><div class='del'>-</div><div class='del'>-	* test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed May  4 12:46:25 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_wait_for_single_fd): Added POLLNVAL check.</div><div class='del'>-	  based on a patch from Eric Wong at [ruby-core:35991].</div><div class='del'>-</div><div class='del'>-Wed May  4 11:51:01 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): remove useless ifdef.</div><div class='del'>-</div><div class='del'>-Wed May  4 11:42:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (wait_connectable): fix error handling code.</div><div class='del'>-	  RB_WAITFD_OUT is turned on even though an error occur.</div><div class='del'>-</div><div class='del'>-Wed May  4 10:12:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_event): use rb_wait_for_single_fd().</div><div class='del'>-	The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531]</div><div class='del'>-</div><div class='del'>-Wed May  4 10:10:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (wait_connectable): use rb_wait_for_single_fd().</div><div class='del'>-	  The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531]</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (try_wait_connectable, wait_connectable_ensure):</div><div class='del'>-	  removed.</div><div class='del'>-</div><div class='del'>-Wed May  4 10:07:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_wait): use rb_wait_for_single_fd().</div><div class='del'>-	  The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531]</div><div class='del'>-</div><div class='del'>-Wed May  4 10:01:27 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_wait_for_single_fd): new. poll(2) based backend for</div><div class='del'>-	  rb_wait_for_single_fd().</div><div class='del'>-	  Now only Linux uses it.</div><div class='del'>-</div><div class='del'>-	The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531]</div><div class='del'>-</div><div class='del'>-Wed May  4 09:56:57 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_wait_for_single_fd): new.</div><div class='del'>-	* thread.c (select_single): select(2) based backend for</div><div class='del'>-	  rb_wait_for_single_fd().</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use rb_wait_for_single_fd() instead of</div><div class='del'>-	  rb_thread_fd_select().</div><div class='del'>-	* io.c (rb_io_wait_readable): ditto.</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (wait_readable): removed.</div><div class='del'>-	* thread.c (init_set_fd): new helper function.</div><div class='del'>-	* include/ruby/io.h (RB_WAITFD_IN, RB_WAITFD_PRI, RB_WAITFD_OUT):</div><div class='del'>-	  new constant for rb_single_wait_fd().</div><div class='del'>-</div><div class='del'>-	The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531]</div><div class='del'>-</div><div class='del'>-Wed May  4 08:04:59 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix time dumping so that</div><div class='del'>-	  Syck can load UTC times that Psych dumps.</div><div class='del'>-</div><div class='del'>-Wed May  4 07:33:00 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_copy): fix wrong argument.This issue was pointed</div><div class='del'>-	  out by Eric Wong. [ruby-core:35982]</div><div class='del'>-</div><div class='del'>-Tue May  3 20:29:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#test_chmod_symbol_mode):</div><div class='del'>-	  Skip sticky bit test if the platform is FreeBSD. It doesn't allow to</div><div class='del'>-	  change sticky bit if a target is regular file.</div><div class='del'>-</div><div class='del'>-Tue May  3 18:23:57 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_date.rb (TestDate#test_coerce):</div><div class='del'>-	  test for [ruby-core:35127].</div><div class='del'>-</div><div class='del'>-Tue May  3 04:27:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): preserve errno if no error</div><div class='del'>-	  occurred.</div><div class='del'>-</div><div class='del'>-Tue May  3 03:57:04 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_w32_fdcopy): add prototype.  fixes</div><div class='del'>-	  #4640</div><div class='del'>-</div><div class='del'>-Mon May  2 01:02:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#chmod): accept symbolic mode argument.</div><div class='del'>-	  The patch was written by takkanm. [ruby-core:26029][Feature #2190]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#fu_mode): new helper function.</div><div class='del'>-	* lib/fileutils.rb (FileUtils#symbolic_modes_to_i): ditto.</div><div class='del'>-	* lib/fileutils.rb (FileUtils#mode_mask): ditto.</div><div class='del'>-	* lib/fileutils.rb (FileUtils#user_mask): ditto.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#test_chmod_symbol_mode):</div><div class='del'>-	  new test for the above symbolic mode.</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#test_chmod_R): ditto.</div><div class='del'>-</div><div class='del'>-Mon May  2 00:36:12 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_connect): add to care EINTR. based</div><div class='del'>-	  on a patch from Eric Wong at [ruby-core:35621][Bug #4555]</div><div class='del'>-</div><div class='del'>-Sun May  1 01:06:24 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): release GVL while waiting select().</div><div class='del'>-</div><div class='del'>-Sat Apr 30 23:10:15 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fdcopy): New. This can copy even though</div><div class='del'>-	  fdset size exceed FD_SETSIZE.</div><div class='del'>-	* include/ruby/intern.h (rb_fd_copy): use rb_w32_fdcopy()</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:18:43 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): Change argument type to rb_fdset_t.</div><div class='del'>-	  Now do_select() is free from unexpected hangup if</div><div class='del'>-	  HAVE_RB_FD_INIT=1 [Bug #4636]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_fd_select, rb_thread_wait_fd_rw):</div><div class='del'>-	  adapt new argument type.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): make dummy implementation.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:16:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_copy): Change function argument. Now</div><div class='del'>-	  rb_fd_copy() has fully copy semantics.</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:11:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_thread_select): mark as deprecated.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (wait_readable): use rb_thread_fd_select</div><div class='del'>-	  instead of rb_thread_select.</div><div class='del'>-	* ext/socket/init.c (wait_connectable0): ditto.</div><div class='del'>-	* ext/readline/readline.c (readline_event): ditto.</div><div class='del'>-	* io.c (rb_io_wait_readable, wait_readable, rb_io_wait_writable,</div><div class='del'>-	  wait_writable): ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:06:36 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): remove useless ifdef. time calculation</div><div class='del'>-	  is not heavy weight.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 16:48:36 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_select3.rb: New.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 16:27:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body, rb_io_s_copy_stream): move rb_fd_init()</div><div class='del'>-	  from copy_stream_body to rb_io_s_copy_stream. fds of passing</div><div class='del'>-	  rb_fd_term() have to be guaranteed initialized.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 16:13:17 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_select.rb, benchmark/bm_io_select2.rb: New.</div><div class='del'>-	  based on a patch from Eric Wong at [Feature #4531]</div><div class='del'>-</div><div class='del'>-Sat Apr 30 03:25:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb: New. for testing ext/io/wait.</div><div class='del'>-	  the patch was written by Eric Wong. [Feature #4531]</div><div class='del'>-</div><div class='del'>-Sat Apr 30 00:34:56 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: remove redundant declaration of</div><div class='del'>-	  rb_w32_time_subtract().</div><div class='del'>-</div><div class='del'>-Sat Apr 30 00:16:40 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_init): fix hangup if GVL_SIMPLE_LOCK=1.</div><div class='del'>-	  We don't have to call mutex_unlock() before initialize it!</div><div class='del'>-</div><div class='del'>-Fri Apr 29 13:15:15 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_cond_timedwait): New. r31373 caused</div><div class='del'>-	  win32 build failure.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (__cond_timedwait, abs_timespec_to_timeout_ms):</div><div class='del'>-	  New helper functions.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_time_subtract): rename from subtract and</div><div class='del'>-	  remove static.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 10:43:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm4_pipe.rb: Add two new benchmark for GVL</div><div class='del'>-	  performance. They was written by Koichi Sasada.</div><div class='del'>-	* benchmark/bm_vm4_thread_pass.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 10:25:31 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_clear_cache_by_class): Revert r29673. It made</div><div class='del'>-	  a segmentation fault regression. [Bug #4289][ruby-core:34554].</div><div class='del'>-</div><div class='del'>-Fri Apr 29 10:24:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): do not add textmode newline decorator if any</div><div class='del'>-	  newline decorator is set already.  fixes #4618, fixes #4619</div><div class='del'>-</div><div class='del'>-Fri Apr 29 10:17:42 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (lock_func): small cleanup.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 10:07:13 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_lock, lock_func): Avoid busy loop and</div><div class='del'>-	  performance regression. bm_vm3_thread_mutex.rb performance</div><div class='del'>-	  change from 109.064sec to 16.331sec. [Feature #4607]</div><div class='del'>-</div><div class='del'>-	* thread.c (init_lock_timeout): New helper function.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 16:15:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{win32.c,dir.h} (rb_w32_uopendir): new API to pass UTF-8 path.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (opendir_internal, rb_w32_opendir): extract and merge</div><div class='del'>-	  common part of rb_w32_opendir() and rb_w32_uopendir().</div><div class='del'>-</div><div class='del'>-	* dir.c (do_opendir, glob_helper): encoding.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize, do_opendir): convert path to UTF-8 and call</div><div class='del'>-	  rb_w32_uopendir() instead of rb_w32_opendir() on Windows.</div><div class='del'>-	  fixes #4491, reported by Joey Zhou.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 15:32:53 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb (DL::LIBC_SO): its always msvc*.dll on</div><div class='del'>-	  mswin/mingw.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 06:07:06 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV::open): suppress universal newline decorator.</div><div class='del'>-	  fixes #4603</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV.read): no mode is needed.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 06:06:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc, rb_f_backquote): set default text</div><div class='del'>-	  mode.  fixes #4619</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): set universal newline decorator if needed.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 11:33:08 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji_iso2022_kddi.trans: ISO-2022-JP-KDDI doesn't have</div><div class='del'>-	  CP932 UDA. Another reason is emacs-mule: the implementation of</div><div class='del'>-	  stateless-iso-2022-jp doesn't support beyond 94x94 (0x7fxx);</div><div class='del'>-	  but CP932 UDA is in 7Fxx-92xx.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 07:42:44 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (STRIP): use proper toolchain.  based on a patch</div><div class='del'>-	  from Jon Forums at [ruby-core:35909].  fixes #4617</div><div class='del'>-</div><div class='del'>-Wed Apr 27 01:20:59 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_zone_to_diff): renamed.</div><div class='del'>-	* ext/date/date_parse.c: ditto.</div><div class='del'>-	* ext/date/date_strptime.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 01:16:59 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): accept Encoding objects.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 00:55:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_opts): add newline option.</div><div class='del'>-</div><div class='del'>-	* io.c (validate_enc_binmode, rb_io_extract_modeenc): set newline</div><div class='del'>-	  decorator according to open mode.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_prepare_options): new function, to prepare</div><div class='del'>-	  econv options with newline flags.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 00:51:01 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): fix function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (ftruncate, truncate, ftello, fseeko): non-64</div><div class='del'>-	  versions on mingw are useless because they use int32_t.  fixes #4564</div><div class='del'>-</div><div class='del'>-Wed Apr 27 00:50:33 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: modified validation methods.</div><div class='del'>-	* ext/date/lib/date.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 00:00:37 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (dt_lite_set_tmx): should get df value.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 22:34:04 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb (_iso8601): allowed day only civil</div><div class='del'>-	  date.  disallowed separatorless day only ordinal date.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 21:31:36 2011  Nobuhiro Iwamatsu  &lt;iwamatsu@nigauri.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Should check SSLv2_*method.</div><div class='del'>-	  openssl compiled with "no-ssl2" the extconf don't fail</div><div class='del'>-	  when running `make' having this compilation errors.</div><div class='del'>-	  Patched by Laurent Arnoud. fixes #4562, #4556</div><div class='del'>-</div><div class='del'>-Mon Apr 25 20:53:32 2011  Tajima, Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (kill): accept 0 only sig is SIGINT #4596</div><div class='del'>-</div><div class='del'>-Mon Apr 25 19:59:47 2011  Tajima, Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (kill): accept 0 as pid, fixes #4596</div><div class='del'>-</div><div class='del'>-Mon Apr 25 16:43:45 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): remove unused variables.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_define_without_accessor): ditto.</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c: ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (time_asctime): remove useless GetTimeval().</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: cast to (void *) for %p.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 11:02:11 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: fix rdoc around sexp.</div><div class='del'>-	  patched by Sho Hashimoto. fixes #4599</div><div class='del'>-</div><div class='del'>-Mon Apr 25 08:24:04 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_rand, random_s_rand): RDocs for them.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 07:18:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_s_rand, Init_Random): Random.rand should behave as</div><div class='del'>-	  Random::DEFAULT.rand rather than Kernel#rand.</div><div class='del'>-</div><div class='del'>-	* random.c (rand_range, random_rand): rand_range function extracted</div><div class='del'>-	  from random_rand function.</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_rand): accept a Range argument as Random#rand</div><div class='del'>-	  [ruby-dev:43427] #4605</div><div class='del'>-</div><div class='del'>-Mon Apr 25 03:31:06 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: require 'date'.</div><div class='del'>-	* ext/date/lib/date/format.rb: removed require line.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 03:08:39 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb: require 'date'.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 03:04:16 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb (_iso8601): added a pattern.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 02:51:22 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb: require 'date_core.so'.</div><div class='del'>-	  date/format needs methods which are now in date_core.so.</div><div class='del'>-	  This breaks make rdoc which uses Date._parse from time.rb.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 02:47:46 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb (_iso8601): fixed a bug of regex.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 02:12:26 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb: an adjustment of regex.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 01:58:50 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb: omitted to call _parse.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 01:03:03 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_to_id): remove unused variable.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 22:19:05 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c: omitted some method calls.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 02:57:27 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (n2i): takes long.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 02:51:06 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c: reverted.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 02:25:23 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: pcc can't use __builtin_constant_p.</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: change condition.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 01:58:01 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (leap_p): suppress warning: parentheses.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_s__parse_internal): remove unused</div><div class='del'>-	  variable "str".</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (parse_ddd_cb): use RSTRING_LENINT.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c (date_strftime_with_tmx): remove unused</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 00:34:23 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c: removed some unused macros.  use strchr()</div><div class='del'>-	  instead of index().</div><div class='del'>-</div><div class='del'>-Sat Apr 23 21:29:42 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: replacement of implementation of</div><div class='del'>-	  _parse.  [experimental]</div><div class='del'>-	* ext/date/date_parse.c: new.</div><div class='del'>-	* ext/date/lib/date/format.rb: removed ruby version of _parse.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 12:04:15 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): fix rdoc.</div><div class='del'>-	  patched by burningTyger. https://github.com/ruby/ruby/pull/11</div><div class='del'>-</div><div class='del'>-Fri Apr 22 11:49:49 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb (XMLRPC::Create#conv2value):</div><div class='del'>-	  XML-RPC's int is 32bit int, and Fixnum also may be beyond 32bit.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb (XMLRPC::Create#conv2value):</div><div class='del'>-	  XML-RPC doesn't allow Infinity and NaN.</div><div class='del'>-	  http://www.xmlrpc.com/spec</div><div class='del'>-</div><div class='del'>-Fri Apr 22 04:16:14 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): strings from psych have proper taint</div><div class='del'>-	  markings.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_tainted.rb: test for string taint</div><div class='del'>-</div><div class='del'>-Thu Apr 21 01:30:02 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_srand): fix rdoc: srand(0)'s 0 is a seed.</div><div class='del'>-	  [ruby-core:35833] fixes #4590</div><div class='del'>-</div><div class='del'>-Thu Apr 21 01:01:28 2011  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): maximum length of lpCommandLine is</div><div class='del'>-	  32,768 characters, including the Unicode terminating null character.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 21:32:11 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strptime.c (date__strptime_internal): do not</div><div class='del'>-	  overwrite local variables.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 14:41:28 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): check string's length when compare</div><div class='del'>-	  separator and string. [ruby-core:35815] fixes #4586</div><div class='del'>-</div><div class='del'>-Wed Apr 20 00:02:13 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): use position of open paren.</div><div class='del'>-</div><div class='del'>-Tue Apr 19 01:00:21 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_cross_thread_close_fd):</div><div class='del'>-	  skip cross thread pipe close if windows</div><div class='del'>-</div><div class='del'>-Mon Apr 18 12:15:46 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (TestRange#test_step_ruby_core_35753):</div><div class='del'>-	  avoid float error. [ruby-core:35804]</div><div class='del'>-</div><div class='del'>-Sun Apr 17 00:20:14 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_{core,strftime}.c: use struct tmx instead of vtm.</div><div class='del'>-	* ext/date/date_tmx.h: new.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 22:23:52 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c (date_strftime_wo_timespec): changed</div><div class='del'>-	  the way of validation of locale modifiers.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 21:55:12 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: replacement of implementation of</div><div class='del'>-	  _strptime.  [experimental]</div><div class='del'>-	* ext/date/date_strptime.c: new.</div><div class='del'>-	* ext/date/lib/date/format.rb: removed ruby version of _strptime.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 10:18:30 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): suppress warning: "OPT_BASIC_OPERATIONS" is not</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 23:41:18 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): suppress warning:</div><div class='del'>-	  "ALLOW_DEFAULT_SOURCE_ENCODING" is not defined.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 15:10:29 2011  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (#route_from_path): Fix a bug where</div><div class='del'>-	  URI('http://h/b/').route_to('http://h/b') wrongly returned './'</div><div class='del'>-	  (should be '../b'). [Bug #4476]</div><div class='del'>-</div><div class='del'>-Fri Apr 15 14:58:06 2011  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#touch): Fix corrupted output when</div><div class='del'>-	  mtime is specified in addition to nocreate (and verbose).</div><div class='del'>-	  ref [ruby-dev:43401]</div><div class='del'>-</div><div class='del'>-Thu Apr 14 23:43:43 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): wrong loop condition.</div><div class='del'>-	  fixes [ruby-core:35753], reported by Joey Zhou.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (TestRange#test_step_ruby_core_35753):</div><div class='del'>-	  test above change.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 22:48:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Options#setup_options): set possible</div><div class='del'>-	  values for completion. no conversion is needed.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#initialize): use</div><div class='del'>-	  positional arguments instead of keyword arguments.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#jobs_status): io/console may</div><div class='del'>-	  not be available. use 80 as the last resort if IO#winsize and</div><div class='del'>-	  COLUMNS are unavailable.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#died): rename using a</div><div class='del'>-	  verb.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): check if worker</div><div class='del'>-	  is signaled and use its exit status.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#dead): no longer @in</div><div class='del'>-	  and @out are separated.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 21:23:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_p): search superclasses as same as actual</div><div class='del'>-	  loading.  fixes [ruby-core:35679]</div><div class='del'>-</div><div class='del'>-Thu Apr 14 21:21:06 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (frexp, modf): wrongly declared as pure in</div><div class='del'>-	  mingw math.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (ftruncate, truncate): mingw64 misses</div><div class='del'>-	  prototypes.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): suppress warning.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 19:55:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#touch): fix corrupted output when</div><div class='del'>-	  FileUtils.touch(:nocreate =&gt; true, :verbose =&gt; true) case.</div><div class='del'>-	  The patch was written by Hiroyuki Iwatsuki. [ruby-dev:43401]</div><div class='del'>-</div><div class='del'>-Thu Apr 14 16:01:45 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): suppress warning: "HAVE___SYSCALL" is not</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 00:41:09 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_fd_close_i): IOError exception should be assigned</div><div class='del'>-	  to rb_thread_t::thrown_errinfo.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 20:12:26 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fdatasync): remove unused variable.</div><div class='del'>-</div><div class='del'>-Tue Apr 12 20:54:12 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Apr 12 19:19:50 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: avoid race condition. fixes #4572</div><div class='del'>-</div><div class='del'>-Tue Apr 12 18:07:13 2011  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: --disable-libedit to disable</div><div class='del'>-	  libedit. fixes #4550</div><div class='del'>-</div><div class='del'>-Tue Apr 12 10:37:39 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: VC doesn't have ftruncate() and others, but</div><div class='del'>-	  ruby needs HAVE_ macros to use our emulation functions.</div><div class='del'>-	  (fix the problem of 31262)</div><div class='del'>-</div><div class='del'>-Tue Apr 12 01:33:00 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: properly evaluate existence of truncate, ftruncate</div><div class='del'>-	  and ftello for MinGW. [ruby-core:35678]</div><div class='del'>-	* win32/win32.c: rename truncate, ftruncate and ftello to avoid</div><div class='del'>-	  redefinitions.</div><div class='del'>-	* win32/win32.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 11 21:51:52 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: revert r31230. Because it made a regression.</div><div class='del'>-	  [ruby-core:35631]</div><div class='del'>-</div><div class='del'>-Mon Apr 11 21:49:18 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Added TestIO#test_cross_thread_close_stdio</div><div class='del'>-	  and TestIO#test_cross_thread_close_fd.</div><div class='del'>-	  The patch was written by Eric Wong. [ruby-core:35669]</div><div class='del'>-</div><div class='del'>-Mon Apr 11 21:15:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_group_member): kill 256K of stack usage.</div><div class='del'>-	  the patch was written by Eric Wong. [ruby-core:35699]</div><div class='del'>-</div><div class='del'>-Mon Apr 11 07:24:13 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c:  Fix typo, document version constants.</div><div class='del'>-</div><div class='del'>-Sun Apr 10 22:23:45 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 23:31:47 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each, strio_readlines):</div><div class='del'>-	  Use `NUM2LONG` instead of `FIX2INT`. Fixes [ruby-dev:43395].</div><div class='del'>-</div><div class='del'>-Sat Apr  9 23:22:27 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each):</div><div class='del'>-	  Fix exception message and don't raise immediately if block is not</div><div class='del'>-	  given.</div><div class='del'>-	  Fixes [ruby-dev:43394].</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb (test_each_line_limit_0):</div><div class='del'>-	  Fix test for above.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 21:54:15 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each, strio_readlines):</div><div class='del'>-	  limit must not be zero. Fixes [ruby-dev:43392].</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb: Add tests for above.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 18:01:36 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Apr  8 16:01:56 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): check whether str is</div><div class='del'>-	  a string when str and lim are given.</div><div class='del'>-	  https://twitter.com/watson1978/status/56225052152168449</div><div class='del'>-</div><div class='del'>-Thu Apr  7 20:03:52 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 21:08:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 15:12:40 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize):</div><div class='del'>-	  pop pushed error after each try of reading. fixes #4550</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 11:36:44 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize):</div><div class='del'>-	  pop pushed error after each try of reading. fixes #4550</div><div class='del'>-</div><div class='del'>-Tue Apr  5 20:33:43 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Apr  4 22:02:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/nonblock/nonblock.c (io_nonblock_set): Avoid F_SETFL if</div><div class='del'>-	  we're not changing the O_NONBLOCK bit. F_SETFL is an expensive</div><div class='del'>-	  operation since it needs to affect all processes with the same</div><div class='del'>-	  file object.</div><div class='del'>-	  The patch is written by Eric Wong. [ruby-core:35556]</div><div class='del'>-</div><div class='del'>-Mon Apr  4 21:41:26 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_syswrite): While local FS writes are usually</div><div class='del'>-	  buffered, the buffers can be full or the file opened with</div><div class='del'>-	  O_SYNC. IO#syswrite can also be used on blocking IOs</div><div class='del'>-	  (pipe/socket) just like IO#write.</div><div class='del'>-	  The patch is written by Eric Wong. [ruby-core:35554]</div><div class='del'>-</div><div class='del'>-Mon Apr  4 11:50:40 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tempfile.rb: simply ignore platform dependent testcases</div><div class='del'>-	  instead of skipping.</div><div class='del'>-</div><div class='del'>-Sun Apr  3 22:52:22 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: improve rdoc.</div><div class='del'>-	  a patch by Jonas Pfenniger. [ruby-core:35592] fixes #4545</div><div class='del'>-</div><div class='del'>-Sun Apr  3 22:10:09 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Apr  3 21:33:58 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: disable fdatasync again on Mac OS X.</div><div class='del'>-	  [ruby-core:35493][Bug #4500]</div><div class='del'>-</div><div class='del'>-Sun Apr  3 21:16:20 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): IO#close releases GVL if possible.</div><div class='del'>-	  close() may block for certain file types (NFS, SO_LINGER</div><div class='del'>-	  sockets, inotify), so let other threads run. The patch was</div><div class='del'>-	  created by Eric Wong [ruby-core:35555][Bug #4527]</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (maygvl_fclose): new.</div><div class='del'>-	* io.c (nogvl_fclose): ditto.</div><div class='del'>-	* io.c (maygvl_close): ditto.</div><div class='del'>-	* io.c (nogvl_close): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr  1 22:25:50 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Apr 1 18:53:06 2011  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cookie.rb (WEBrick::Cookie.parse): 'white space is</div><div class='del'>-	  permitted between tokens' according to RFC2965. Though 'Netscape</div><div class='del'>-	  spec' does not define the syntax clearly, make it tolerant as a</div><div class='del'>-	  server. As a real-world example, rest-client gem sends</div><div class='del'>-	  'Cookie: foo=1;bar=2'</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cookie.rb (test_parse_non_whitespace): test it.</div><div class='del'>-</div><div class='del'>-Fri Apr  1 13:19:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_CHECK_INTS_TH): merge a patch by ko1</div><div class='del'>-	  in [ruby-dev:43373].</div><div class='del'>-</div><div class='del'>-Thu Mar 31 23:15:46 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-brace-to-do-end, ruby-do-end-to-brace):</div><div class='del'>-	  adjust space between block beginning and block arguments</div><div class='del'>-</div><div class='del'>-Thu Mar 31 20:42:05 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c:  parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 18:06:12 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): should ignore crefs with</div><div class='del'>-	  the NODE_FL_CREF_PUSHED_BY_EVAL flag.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 16:49:56 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): search root cref properly.</div><div class='del'>-	  [ruby-dev:43365]</div><div class='del'>-</div><div class='del'>-Thu Mar 31 14:50:25 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_s_constants): should ignore crefs with</div><div class='del'>-	  the NODE_FL_CREF_PUSHED_BY_EVAL flag.</div><div class='del'>-</div><div class='del'>-Wed Mar 30 22:55:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-toggle-block): toggle do/end and {}.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-move-to-block): move to opening of</div><div class='del'>-	  block.</div><div class='del'>-</div><div class='del'>-Wed Mar 30 14:35:15 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (COPY_CREF): should copy</div><div class='del'>-	  the NODE_FL_CREF_PUSHED_BY_EVAL flag to hide constants from</div><div class='del'>-	  methods defined by class_eval.  [ruby-dev:43365]</div><div class='del'>-</div><div class='del'>-Wed Mar 30 00:24:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 21:51:31 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_String): Kernel#String should call to_str before to_s.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 10:28:08 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_filehandler.rb</div><div class='del'>-	  (WEBrick::TestFileHandler#test_short_filename): the cgi doesn't exist</div><div class='del'>-	  on current directory.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 05:19:57 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 00:03:51 2011 Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_filehandler.rb (test_short_filename):</div><div class='del'>-	  read real short filename by cmd because smb mounted files</div><div class='del'>-	  have different naming convention.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:38:08 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_s_today): use int for year.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (datetime_s_now): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:07:41 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: set MFLAGS from MAKEFLAGS when using nmake.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:07:00 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (love): all you need is love.</div><div class='del'>-</div><div class='del'>-Sun Mar 27 23:16:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Mar 27 16:55:34 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-map): remove unnecessary</div><div class='del'>-	  binding. fixes</div><div class='del'>-	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468952</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: suppress warnings at byte compile.  fixes</div><div class='del'>-	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502926</div><div class='del'>-</div><div class='del'>-Sun Mar 27 11:18:35 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: removed unused variables.</div><div class='del'>-</div><div class='del'>-Sat Mar 26 15:16:09 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Mar 26 05:27:34 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb (DateTime#strftime): removed because</div><div class='del'>-	  date_core defines it.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 21:59:45 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: should not force cast with macros.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 21:56:10 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 19:39:40 2011  Ben Walton &lt;bwalton@artsci.utoronto.ca&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb:</div><div class='del'>-	  Skip syslog tests that rely on LOG_PERROR unless it's defined</div><div class='del'>-</div><div class='del'>-	  Instead of checking looking at the platform to determine if the tests</div><div class='del'>-	  relying on LOG_PERROR should be run, look for the definition of the</div><div class='del'>-	  constant as this will be robust against all platforms as long as the</div><div class='del'>-	  underlying syslog.c code sets it up correctly.</div><div class='del'>-</div><div class='del'>-	  This specifically addresses failures on Solaris 9.</div><div class='del'>-</div><div class='del'>-	  Use LOG_PID instead of LOG_PERROR in Syslog.open test</div><div class='del'>-</div><div class='del'>-	  LOG_PERROR isn't a POSIX option for syslog, so it fails on platforms</div><div class='del'>-	  that don't define it.  Solaris 9 and 10 are examples of this.</div><div class='del'>-</div><div class='del'>-	  Use LOG_PID instead.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 15:42:17 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (sdbm_open): use size_t.</div><div class='del'>-</div><div class='del'>-	* ext/syck/bytecode.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (delpair): use ptrdiff_t.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: use RSTRING_LENINT.</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c: suppress warning: shorten-64-to-32.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/implicit.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 12:14:58 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: import nkf 7f18e30.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 11:49:29 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_no_curdir): skip silently</div><div class='del'>-	  on Windows, because this tests a platform specific feature and it'll</div><div class='del'>-	  never be supported on ruby on Windows.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb</div><div class='del'>-	  (TestDir_M17N#test_filename_extutf8_invalid,</div><div class='del'>-	  TestDir_M17N#test_filename_as_bytes_extutf8): ditto.</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_open-uri.rb</div><div class='del'>-	  (TestOpenURI#test_find_proxy_case_sensitive_env): ditto.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_handle.rb (DL::TestHandle#test_NEXT,</div><div class='del'>-	  DL::TestHandle#test_DEFAULT): ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 23:06:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): should not autoload in</div><div class='del'>-	  defined? mode.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_0): fix autoloading base.</div><div class='del'>-	  [ruby-core:35509]</div><div class='del'>-</div><div class='del'>-Thu Mar 24 22:48:43 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 14:45:57 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: suppress warning: shorten-64-to-32.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 11:48:19 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c (ossl_rand_egd_bytes): use NUM2INT because</div><div class='del'>-	  the result is used with functions whose argument is int.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_set_purpose): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_set_trust): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509stctx_set_purpose): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509stctx_set_trust): ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 11:36:55 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: id_aref's type is ID.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 10:04:35 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_set_winsize):</div><div class='del'>-	  suppress warning: shorten-64-to-32.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 09:56:19 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify): flags is VALUE,</div><div class='del'>-	  so it should use NUM2INT.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspbres_verify): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 21:09:29 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 08:07:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): fix inaccurate results.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 00:12:16 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: wait process real termination after reading</div><div class='del'>-	  exit code. fixes #4518</div><div class='del'>-</div><div class='del'>-Tue Mar 22 21:20:10 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: save current dir to @current_dir</div><div class='del'>-	  before Dir.chdir.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 20:10:04 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 20:10:01 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ruby_missing.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 13:33:22 2011  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: removed circular require of</div><div class='del'>-	  openssl.rb.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/*: removed following comment for transition</div><div class='del'>-	  measures of avoiding circular require. No one claimed about this as</div><div class='del'>-	  far as I know.</div><div class='del'>-	  ##</div><div class='del'>-	  # Should we care what if somebody require this file directly?</div><div class='del'>-	  # require "openssl"</div><div class='del'>-</div><div class='del'>-Tue Mar 22 10:57:36 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: set Gem::TestCase's @@project_dir.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: set Gem::TestCase's @@project_dir only</div><div class='del'>-	  when it is not defined.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 09:38:19 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): use pow instead of while-loop. fixes #4510</div><div class='del'>-	  patched by Alex Young [ruby-core:35526]</div><div class='del'>-</div><div class='del'>-Tue Mar 22 06:47:46 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c (date_strftime_wo_timespec):</div><div class='del'>-	  suppress warning: shorten-64-to-32.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 06:42:42 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: suppress warning: shorten-64-to-32.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 06:41:37 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: remove unused variable.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 06:19:42 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_16le.c: suppress warning: shorten-64-to-32.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (Init_ripper): suppress warning: unused value.</div><div class='del'>-</div><div class='del'>-Mon Mar 21 11:21:32 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Refactoring. Unified if and elsif.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 23:09:34 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: checks duplicated modifiers.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 22:32:30 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: removed unused code and arguments.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 21:34:49 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: replacement of implementation of</div><div class='del'>-	  strftime. It has some limitations that is same as Time's</div><div class='del'>-	  one.  [experimental]</div><div class='del'>-	* ext/date/date_strftime.c: new.</div><div class='del'>-	* ext/date/lib/date/format.rb: removed ruby version of strftime.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 12:43:12 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 01:39:48 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): check env process block size with OS ver.</div><div class='del'>-	* win32/win32.c: export rb_w32_osver for above patch.</div><div class='del'>-	* include/ruby/win32.h: declare rb_w32_osver for Win32 Libs.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 18:35:05 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): calculate total env block size for win32.</div><div class='del'>-	* test/ruby/test_env.rb: add test for above patch.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 17:14:46 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): checking with max process environment</div><div class='del'>-	  block size for Win32. 32767 for 2000/XP, 2003. if failed to</div><div class='del'>-	  read the block, then checking with 5120 for earlier Windows.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 12:30:25 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509revoked.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 20:44:36 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509req.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 08:48:06 2011  Oleg Shaldybin  &lt;oleg.shaldybin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#copy_file): updated FileUtils.cp</div><div class='del'>-	  to still copy file permissions when :preserve is false (as cp does</div><div class='del'>-	  this even when -p isn't set).</div><div class='del'>-</div><div class='del'>-Fri Mar 18 00:59:38 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/extconf.rb (create_docfile): removed.  should not</div><div class='del'>-	  modify source directory unnecessarily, platform dependent</div><div class='del'>-	  documentation should be dealt with by rdoc.  [ruby-core:35495]</div><div class='del'>-</div><div class='del'>-Fri Mar 18 00:54:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_funcall_passing_block): add prototype.</div><div class='del'>-	  a patch by James M. Lawrence at [ruby-core:35501]</div><div class='del'>-</div><div class='del'>-Wed Mar 17 06:23:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 20:36:56 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): raise an error on</div><div class='del'>-	  listen(2) failure.</div><div class='del'>-	  reported by Xavier Shay.  [ruby-core:35505]</div><div class='del'>-</div><div class='del'>-Wed Mar 16 15:06:21 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (module OpenSSL): #flush should</div><div class='del'>-	  not change sync mode on exception.</div><div class='del'>-	* test/openssl/test_buffering.rb: added</div><div class='del'>-</div><div class='del'>-Wed Mar 16 13:45:28 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: de-nest Buffering module</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: add RDoc</div><div class='del'>-</div><div class='del'>-Wed Mar 16 08:40:39 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 18:34:27 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509crl.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 09:49:03 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/misc/test_ruby_mode.rb (test_singleton_class): Skip for Pending.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 21:20:44 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_require_too_long_filename):</div><div class='del'>-	  increase path length, because MAXPATHLEN is defined as 4096 on linux.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_require_path_home_1): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_require_path_home_2): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 19:54:37 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509cert.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Mar 13 18:11:28 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Mar 13 16:07:58 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: Fix don't raise "nested transaction" when thread_safe</div><div class='del'>-	  is true. Patch by Masaki Matsushita (Glass_saga). [ruby-dev:43337]</div><div class='del'>-</div><div class='del'>-	* test/test_pstore.rb: Test for above.</div><div class='del'>-	  Patch by Masaki Matsushita (Glass_saga) [ruby-dev:43337]</div><div class='del'>-</div><div class='del'>-Sat Mar 12 04:12:41 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Mar 12 02:27:07 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c ({d,dt}_lite_marshal_load): checks the given</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Sat Mar 12 01:26:24 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: changed some directives.</div><div class='del'>-</div><div class='del'>-Sat Mar 12 01:16:02 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c, ext/date/lib/*: moved rdoc descriptions.</div><div class='del'>-</div><div class='del'>-Sat Mar 12 00:06:24 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib: moved from lib.</div><div class='del'>-</div><div class='del'>-Fri Mar 11 23:32:38 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/delta*: removed undocumented delta.</div><div class='del'>-</div><div class='del'>-Fri Mar 11 18:42:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_executable0): should exclude directories.</div><div class='del'>-</div><div class='del'>-Fri Mar 11 01:40:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getmaxgroups, proc_setmaxgroups): Process#maxgroups</div><div class='del'>-	  and Process#maxgroups= now raise NotImplementedError if the</div><div class='del'>-	  platform don't support supplementary groups concept.</div><div class='del'>-</div><div class='del'>-Fri Mar 11 01:25:03 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (get_sc_ngroups_max): return -1 if platform don't</div><div class='del'>-	  support NGROUPS_MAX.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 22:28:15 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 21:59:37 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_encode_length): add exception as UTF8-MAC for</div><div class='del'>-	  magic comment's emacs newline specifier</div><div class='del'>-	  patched by James M. Lawrence [ruby-core:35476] fixes #4489</div><div class='del'>-</div><div class='del'>-Thu Mar 10 16:00:22 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_encode_length): fix typo: the length of</div><div class='del'>-	  "-dos" and "-mac" is not 5 but 4.</div><div class='del'>-	  patched by James M. Lawrence [ruby-core:35476] fixes #4489</div><div class='del'>-</div><div class='del'>-Thu Mar 10 10:52:01 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: setting too long string to ENV causes</div><div class='del'>-	  Errno::EINVAL on Windows.  long path name errors may causes over</div><div class='del'>-	  about 1024 bytes, then limit it about 4000 bytes.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 10:09:35 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#read): fix for the case</div><div class='del'>-	  when IO#read or IO#gets returns nil.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 07:12:03 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import rubygems 1.6.2 (release candidate @ 2026fbb5)</div><div class='del'>-	* test/rubygems: Ditto</div><div class='del'>-	* test/runner.rb: Added test to load path to fix test requires.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 03:00:43 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 23:51:26 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (test_io_new_enc): "sjis" is now an alias</div><div class='del'>-	  of Windows-31J.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 23:06:13 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): fix indent after aref.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 12:50:24 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Rescue exceptions when</div><div class='del'>-	  people implement the method method. Thanks Lin Jen-Shin.</div><div class='del'>-	  [ruby-core:35255]</div><div class='del'>-</div><div class='del'>-	* test/psych/visitors/test_yaml_tree.rb: test for implementation of</div><div class='del'>-	  method method.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 11:53:31 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c: Change SJIS as an alias of Windows-31J.</div><div class='del'>-	  [ruby-dev:43027] fixes #4280</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c: Add PCK as an alias of Windows-31J.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 00:45:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: nmake substitutes all occurrences in macro.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: workaround for nmake.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 23:49:45 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): cleanup.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 23:40:30 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/misc/test_ruby_mode.rb: test for ruby-mode.el.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 23:27:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (get_sc_ngroups_max): try to use NGROUPS_MAX at first if</div><div class='del'>-	  _SC_NGROUP_MAX is not defined.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 23:10:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): fix for array in block.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 21:44:49 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 16:45:31 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): MSDN says that Windows XP or earlier limits</div><div class='del'>-	  the total size of environment block to 5,120 chars.  and on such</div><div class='del'>-	  OS, putenv() causes SEGV.  So, ruby should limit the size of an</div><div class='del'>-	  environment variable to 5,120 bytes for workaround.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 15:57:20 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb</div><div class='del'>-	  (TestGemSpecFetcher#test_cache_dir_escapes_windows_paths): cache_dir</div><div class='del'>-	  may have driveletter and `:' for base of cache_dir itself, so need</div><div class='del'>-	  to skip it for checking.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 12:30:06 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-deep-indent-paren-p, ruby-calculate-indent):</div><div class='del'>-	  do not apply deep-indent inside parens at the beginning of</div><div class='del'>-	  expressions.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 09:32:48 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (configure-ext, build-ext), ext/extmk.rb (extmake):</div><div class='del'>-	  support parallel-make under ext.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 09:25:23 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): use getgrnam() if getgrnam_r() is</div><div class='del'>-	  not available.</div><div class='del'>-</div><div class='del'>-	* process.c: RARRAY_LEN() returns long int.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 09:07:03 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): enclose in quotes for multiple</div><div class='del'>-	  type names.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 01:43:11 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (get_sc_ngroups_max): define to wrap sysconf(3).</div><div class='del'>-	  this also supports Windows which doesn't have sysconf(3).</div><div class='del'>-</div><div class='del'>-	* process.c (maxgroups): use get_sc_ngroups_max.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setmaxgroups): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 01:16:49 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace): an initializer must be a constant.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 01:11:44 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (maxgroups): cast because sysconf(3)'s return value is long.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setmaxgroups): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): cast because RARRAY_LEN() is long.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 00:02:47 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 22:59:39 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: Delete variable @transaction and fix #4474. Patch by</div><div class='del'>-	  Masaki Matsushita (Glass_saga).</div><div class='del'>-</div><div class='del'>-	* test/test_pstore.rb(test_thread_safe): Add test for #4474.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 21:31:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): replace getgrnam() with getgrnam_r()</div><div class='del'>-	  because getgrnam() isn't thread safe.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 20:49:12 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getmaxgroups, proc_setmaxgroups): reflect</div><div class='del'>-	  platform maxgroups limitation by default instead hardcoded 65536.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 17:13:00 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_set_params): allow GC parameter configuration by</div><div class='del'>-	  environment variables.  based on a patch from funny-falcon at</div><div class='del'>-	  https://gist.github.com/856296, but honors safe level.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 09:05:18 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: NUM2RLIM is defined but no getrlimit and setrlimit on</div><div class='del'>-	  mingw.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 08:38:14 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (DateTimeData): should not use bare 'long long'</div><div class='del'>-	  and 'long double', which are not defined by C89.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (dt_lite_plus): get rid of overflow at casting</div><div class='del'>-	  down double to integer.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 00:21:11 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getgroups): get rid of maxgroups dependency.</div><div class='del'>-	  ngroups can be calculated dynamically.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 23:45:40 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: rlim_t use standard RUBY_REPLACE_TYPE mechanism.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 23:26:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setmaxgroups): added negative value check.</div><div class='del'>-	  This was suggested by Daniel Berger. Thanks Daniel!</div><div class='del'>-	  [ruby-core:35426][Bug#4467]</div><div class='del'>-</div><div class='del'>-Sun Mar  6 23:18:23 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (maxgroups, proc_setmaxgroups): increase max groups</div><div class='del'>-	  limitation up to 65536.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 22:20:59 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 21:49:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* sample/list.rb (MyElem#initialize): initialize @head</div><div class='del'>-	  explicitly. Otherwise -W2 option makes following warning.</div><div class='del'>-	  "warning: instance variable @head not initialized".</div><div class='del'>-	  This issue was founded by Andrew Grimm. Thanks Andrew!</div><div class='del'>-	  [ruby-core:35435][Bug#4471]</div><div class='del'>-</div><div class='del'>-Sun Mar  6 05:21:41 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: fix camelCase to snake_case in documentation code examples.</div><div class='del'>-	  patched by Andrew Grimm. fixes Bug #4469</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* sample/biorhythm.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Sun Mar  6 03:22:27 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_cntl): use rb_thread_io_blocking_region() instead</div><div class='del'>-	  rb_thread_blocking_region().</div><div class='del'>-</div><div class='del'>-Sat Mar  5 22:54:36 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: fix a typo of prototype declaration.</div><div class='del'>-	  rb_mutex_try_lock -&gt; rb_mutex_trylock [ruby-dev:43213]</div><div class='del'>-</div><div class='del'>-Sat Mar  5 19:44:03 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_fcntl_lock): small clean up.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 01:33:46 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_cntl, nogvl_io_cntl): IO.fcntl() and IO.ioctl()</div><div class='del'>-	  release GVL during calling kernel interface.</div><div class='del'>-	  Suggested by Eric Wong. [ruby-core:35417][Bug #4463]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_fcntl_lock): add new test for</div><div class='del'>-	  IO.fcntl().</div><div class='del'>-</div><div class='del'>-Fri Mar  4 23:09:12 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb</div><div class='del'>-	  (test_should_run_all_without_any_leaks): consider that the order of</div><div class='del'>-	  testcase could change. [ruby-dev:43300] [Bug #4466]</div><div class='del'>-</div><div class='del'>-Fri Mar  4 22:01:14 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_cntl): change 'cmd' type to int. ioctl and fcntl need to</div><div class='del'>-	  be passed int.</div><div class='del'>-	* io.c (rb_io_ctl): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 21:10:40 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: save warnflags. the patch is created by Eric Wong.</div><div class='del'>-	  [Bug #4465]</div><div class='del'>-</div><div class='del'>-Wed Mar  2 21:15:00 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Mar  3 22:10:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect_fd, check_exec_redirect): raise</div><div class='del'>-	  ArgumentError if fd &gt;= 3 on Windows because the feature is not</div><div class='del'>-	  supported.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_execopts_redirect): remove meaningless</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Thu Mar  3 21:21:42 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_execopts_redirect): redirecting fd</div><div class='del'>-	  &gt;= 3 is not supported on Windows, so should not specify such options</div><div class='del'>-	  when calling spawn or others.</div><div class='del'>-</div><div class='del'>-Thu Mar  3 18:59:04 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_slice_bang): raise error when the string is frozen.</div><div class='del'>-</div><div class='del'>-Thu Mar  3 14:25:19 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (STRFTIME): return 0 and ERANGE when precision is too</div><div class='del'>-	  large. [ruby-dev:43284] fixes #4456</div><div class='del'>-</div><div class='del'>-Thu Mar  3 00:46:51 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (uleb128): cast the value to unsigned long.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): print error when lseek fails.</div><div class='del'>-</div><div class='del'>-Thu Mar  3 00:36:29 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb (REXML::Encoding#encoding=): store @encoding</div><div class='del'>-	  a String which means the name of the encoding.</div><div class='del'>-	  this partially revert r29646.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb: follow above.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/output.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xmldecl.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 23:19:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_byte_substr): return nil for negative length.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 21:15:00 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 14:24:04 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Fix name from `inclement_io` to</div><div class='del'>-	  `increment_io`.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 14:06:01 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_slice_bang): move treatments which is only needed</div><div class='del'>-	  when the result is not nil.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 14:02:29 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb(TestParallel#spawn_runner):</div><div class='del'>-	  Fix outputing empty line in running test.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/test_third.rb: Remove `sleep`</div><div class='del'>-</div><div class='del'>-Tue Mar  1 22:29:10 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 22:02:35 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Fix number.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 21:48:22 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: For Windows.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb(TestParallelWorker#test_quit_in_test):</div><div class='del'>-	  Fix for above specification change.</div><div class='del'>-	* test/testunit/test_parallel.rb(TestParallel#spawn_runner):</div><div class='del'>-	  Fix outputing empty line in running test.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 20:51:57 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system_at):</div><div class='del'>-	  remove tests for [bug#4396]. because we decided to reject this</div><div class='del'>-	  ticket.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 19:46:19 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/{test_date.rb,test_date_attr.rb}: [ruby-dev:43280]</div><div class='del'>-</div><div class='del'>-Tue Mar  1 18:40:38 2011  Ryan Davis  &lt;ryan@YPCMC09457&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import rubygems 1.6.0 (released version @ 58d8a0b9)</div><div class='del'>-	* test/rubygems: Ditto</div><div class='del'>-</div><div class='del'>-Tue Mar  1 16:22:22 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: revert r30987 because it causes some failures in</div><div class='del'>-	  test-all, especially webrick.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 15:59:53 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_byteslice): the resulted encoding should keep</div><div class='del'>-	  original encoding. this also fixes the encoding when the result</div><div class='del'>-	  shares internal string. [ruby-core:35376]</div><div class='del'>-</div><div class='del'>-Tue Mar  1 13:25:00 2011  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpMemAlloc): CVE-2011-0188.</div><div class='del'>-	  Fixes a bug reported by Drew Yao &lt;ayao at apple.com&gt;</div><div class='del'>-</div><div class='del'>-Tue Mar  1 10:34:39 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_byteslice): Add String#byteslice. [ruby-core:35376]</div><div class='del'>-</div><div class='del'>-Tue Mar  1 00:12:49 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: define WIN32 if neither _WIN64 nor WIN32</div><div class='del'>-	  defined. it forces to use push/pop for pack(4) pragma.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 23:52:13 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_rake_integration.rb (test_with_rake_runner):</div><div class='del'>-	  use assert_in_out_err for suppress messages.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 22:48:56 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): use shell if a commandline contain</div><div class='del'>-	  double-quote character.</div><div class='del'>-	* win32/win32.c (is_internal_cmd): similar, use shell if a commandline</div><div class='del'>-	  contain caret character.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system_at): fix</div><div class='del'>-	  wrong test case. if system() invoke a command by using shell,</div><div class='del'>-	  system() never return nil. Also, "" quotation must not appear</div><div class='del'>-	  twice in a command line.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 17:36:57 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 16:48:42 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs12.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 16:28:15 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): when the hash for multibyte repl is empty,</div><div class='del'>-	  tr is inverse mode, and a character doesn't much the table, the</div><div class='del'>-	  character should be replaced by last replacement. Bug #4449</div><div class='del'>-</div><div class='del'>-Mon Feb 28 16:38:56 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 13:02:15 2011  Danial Pearce &lt;github@tigris.id.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: Fix example file paths in docs for tempfile.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/5</div><div class='del'>-</div><div class='del'>-Mon Feb 28 12:56:18 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_init): typo fix.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/8</div><div class='del'>-</div><div class='del'>-Mon Feb 28 12:28:13 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (datetime_s_now): localtime() and localtime_r()</div><div class='del'>-	  required time_t pointer as 1st parameter, and tv_sec member of struct</div><div class='del'>-	  timeval is long.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 11:57:40 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb: Temporally disable test on Windows.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 07:28:35 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb(Test::Unit::Runner#after_worker_quit):</div><div class='del'>-	  method name more be natural English.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb(Test::Unit::Runner::Worker.launch):</div><div class='del'>-	  IO.sync doesn't need. Should use "b" for mode.</div><div class='del'>-</div><div class='del'>-Sun Feb 27 21:59:37 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system_redirect_win):</div><div class='del'>-	  add test for system().</div><div class='del'>-</div><div class='del'>-Sun Feb 27 18:00:09 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Refactoring; Worker never use Hash for internal</div><div class='del'>-	  storage.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Never use Kernel#spawn. Use IO.popen instead.</div><div class='del'>-</div><div class='del'>-Sun Feb 27 13:16:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Feb 26 17:07:53 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: [Feature #4257]</div><div class='del'>-</div><div class='del'>-	* ext/date/extconf.rb: new</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: new</div><div class='del'>-</div><div class='del'>-Sat Feb 26 16:10:23 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: --jobs-status won't puts over 2 lines.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb: Fix test for above.</div><div class='del'>-</div><div class='del'>-	* lib/test/*: refactoring.</div><div class='del'>-</div><div class='del'>-Sat Feb 26 07:10:05 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: fix parsing timezone's whose</div><div class='del'>-	  whose format is (+/-)hhmm.  Thanks Goncalo Silva!</div><div class='del'>-</div><div class='del'>-	* test/psych/test_scalar_scanner.rb: test for bug.</div><div class='del'>-</div><div class='del'>-Thu Feb 24 23:02:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Feb 24 22:53:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (love): for the birthday.</div><div class='del'>-</div><div class='del'>-Thu Feb 24 22:51:54 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): run vm exit hooks after all objects are</div><div class='del'>-	  destructed.</div><div class='del'>-</div><div class='del'>-Thu Feb 24 14:40:33 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog (vim): Modeline for vim</div><div class='del'>-</div><div class='del'>-Thu Feb 24 13:39:25 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Use $RUNRUBY for worker process.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Fix bug.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: @options[:ruby](@opts[:ruby]) is now Array.</div><div class='del'>-</div><div class='del'>-	* test/testunit/parallel.rb: Fix for above.</div><div class='del'>-</div><div class='del'>-Thu Feb 24 10:05:55 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/misc.rb: Fix bug in r30947.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb, lib/test/unit/assertions.rb: For this test.</div><div class='del'>-</div><div class='del'>-Wed Feb 23 23:07:38 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb, test/testunit/parallel/*:</div><div class='del'>-	  Test for r30939.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: For test.</div><div class='del'>-</div><div class='del'>-	* lib/test/parallel.rb: For test.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: For test.</div><div class='del'>-</div><div class='del'>-Wed Feb 23 22:05:13 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 23:15:17 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Fix --ruby option doesn't effect.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Fix typo.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 21:39:28 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 14:34:26 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Fix merging miss.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 12:27:26 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Add new options; --jobs,-j,--ruby,--jobs-status,</div><div class='del'>-	  --no-retry.</div><div class='del'>-	  [Feature #4415] [ruby-dev:43226],[ruby-dev:43222],[ruby-core:35294]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Used at test/unit --jobs(-j) option.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_serialization.rb: test/unit parallel running ready.</div><div class='del'>-</div><div class='del'>-	* test/rake/test_file_task.rb: test/unit parallel running ready.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 06:09:10 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: Apply documentation patch from mathew murphy.</div><div class='del'>-	  [Bug #4149]</div><div class='del'>-</div><div class='del'>-Tue Feb 22 03:09:10 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: increase Psych to 1.1.0 for help with</div><div class='del'>-	  debugging.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 03:04:46 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/streaming.rb: refactor streaming methods to a</div><div class='del'>-	  module.</div><div class='del'>-	* ext/psych/lib/psych/stream.rb: extracted streaming specific methods</div><div class='del'>-	  to a module.</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: JSON stream inherits from</div><div class='del'>-	  JSONTree and includes streaming methods.</div><div class='del'>-	* ext/psych/lib/psych/visitors/json_tree.rb: JSON does not support</div><div class='del'>-	  object references, so remove object reference testing when building</div><div class='del'>-	  JSON trees.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 02:41:51 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb (accept): use Hash#key?</div><div class='del'>-	  when looking up object references to err on the side of cache</div><div class='del'>-	  misses.</div><div class='del'>-</div><div class='del'>-Mon Feb 21 10:58:39 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/yaml_events.rb: refactoring JSON event</div><div class='del'>-	  handling methods to a module for reuse.</div><div class='del'>-	* ext/psych/lib/psych/json/tree_builder.rb: AST builder uses JSON</div><div class='del'>-	  event methods.</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: stream emitter uses JSON event</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-Mon Feb 21 10:54:29 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: do not emit custom tags in maps</div><div class='del'>-	  or sequences when emitting JSON.</div><div class='del'>-	* ext/psych/lib/psych/json/tree_builder.rb: do not emit custom tags in</div><div class='del'>-	  sequences when emitting JSON.</div><div class='del'>-	* test/psych/json/test_stream.rb: tests for custom stream emits.</div><div class='del'>-	* test/psych/test_json_tree.rb: tests for JSON emits.</div><div class='del'>-</div><div class='del'>-Mon Feb 21 10:05:10 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/ruby_events.rb: DRY up ruby event handling</div><div class='del'>-	  for JSON.</div><div class='del'>-	* ext/psych/lib/psych/visitors/json_tree.rb: use ruby events module</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Feb 21 10:01:01 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: fix JSON stream emits to use</div><div class='del'>-	  double quotes during stream.</div><div class='del'>-	* test/psych/json/test_stream.rb: tests to reflect changes.</div><div class='del'>-</div><div class='del'>-Mon Feb 21 00:38:56 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system_at):</div><div class='del'>-	  add testcase for bug4396.</div><div class='del'>-</div><div class='del'>-Sun Feb 20 19:59:32 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Feb 20 16:26:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (exec_recursive): prevent temporary objects from GC.</div><div class='del'>-</div><div class='del'>-	* prevent temporary objects from GC, and should not use</div><div class='del'>-	  RSTRING_PTR() for function calls since it evaluates the argument</div><div class='del'>-	  a couple of times.</div><div class='del'>-</div><div class='del'>-Sun Feb 20 16:22:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_flock): use rb_thread_io_blocking_region for the</div><div class='del'>-	  time being.</div><div class='del'>-</div><div class='del'>-Sun Feb 20 05:33:17 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 2.0.2 r6207.</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Sun Feb 20 02:14:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_trap): avoid pthread_sigmask(xx, &amp;mask, &amp;mask) usage</div><div class='del'>-	  because FreeBSD don't permit it. If it's used, it behave as</div><div class='del'>-	  pthread_sigmask(xx, NULL, &amp;mask).</div><div class='del'>-</div><div class='del'>-	* signal.c (init_sigchld): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 20 00:46:51 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Feb 19 22:37:42 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_check_if_namespace): guard temporary object</div><div class='del'>-	  from GC.</div><div class='del'>-</div><div class='del'>-Sat Feb 19 06:36:27 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: partial revert of r30849. [ruby-core:32864]</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_rake_integration.rb: adding an integration test</div><div class='del'>-	  with the rake loader to prevent regressions.</div><div class='del'>-</div><div class='del'>-Fri Feb 18 19:31:31 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::remove_entry_secure): there is a</div><div class='del'>-	  race condition in the case where the given path is a directory,</div><div class='del'>-	  and some other user can move that directory, and create a</div><div class='del'>-	  symlink while this method is executing.</div><div class='del'>-	  Reported by: Nicholas Jefferson &lt;nicholas at pythonic.com.au&gt;</div><div class='del'>-</div><div class='del'>-Fri Feb 18 00:28:39 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (get_exception_sym2type): guard temporary object from GC.</div><div class='del'>-</div><div class='del'>-Thu Feb 17 23:54:29 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): initialize iseq_compile_data::err_info</div><div class='del'>-	  with nil. this fix exception in rb_iseq_load().</div><div class='del'>-</div><div class='del'>-Thu Feb 17 22:32:35 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb (test_marshal_dump_extra_iv):</div><div class='del'>-	  fix a typo of local variable. [Bug #3720] [ruby-dev:42083]</div><div class='del'>-</div><div class='del'>-Thu Feb 17 21:32:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Feb 16 20:37:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (rb_exec_end_proc): changed at_exit and END proc</div><div class='del'>-	  evaluation order. [Bug #4400] [ruby-core:35237]</div><div class='del'>-	* eval_jump.c (rb_mark_end_proc): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (TestBeginEndBlock#test_nested_at_exit):</div><div class='del'>-	  added a test for nested at_exit.</div><div class='del'>-	* test/ruby/test_beginendblock.rb (TestBeginEndBlock#test_beginendblock):</div><div class='del'>-	  changed the test to adopt new spec.</div><div class='del'>-</div><div class='del'>-Wed Feb 16 20:17:06 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 21:37:45 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 20:34:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join_1): fix array size.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 19:43:23 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix and resubmit r30621. [ruby-dev:43203]</div><div class='del'>-</div><div class='del'>-Tue Feb 15 15:41:30 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (array_join): copy the encoding of the first element as</div><div class='del'>-	  an initial encoding.</div><div class='del'>-</div><div class='del'>-	* array.c (array_join_0): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (array_join_1): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (inspect_ary): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (array_join_1): add an argument to check the appending is</div><div class='del'>-	  first one or not.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 15:40:53 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (inspect_i): copy the encoding of the first key as</div><div class='del'>-	  an initial encoding.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 15:00:16 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (inspect_ary): don't taint the inspected result of a</div><div class='del'>-	  recursive array.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 15:43:29 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): change the rule for empty strings:</div><div class='del'>-	  remove the special treatment of the US-ASCII encoded empty string.</div><div class='del'>-	  Now Encoding.compatible? usually respect the encoding of the</div><div class='del'>-	  receiver.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 15:39:37 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): remove special treatment of</div><div class='del'>-	  ASCII-8BIT receivers.</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): set initial encoding of the buffer as the</div><div class='del'>-	  same of the receiver. [ruby-core:35141]</div><div class='del'>-</div><div class='del'>-Tue Feb 15 09:49:33 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system_at): use findstr</div><div class='del'>-	  command instead of find command, because the latter is confusing</div><div class='del'>-	  another famous Unix command.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 23:01:19 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_io_blocking_region): reset th-&gt;waiting_fd</div><div class='del'>-	  after blocking region, because remaining waiting_fd might</div><div class='del'>-	  cause unnecessary IOError.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 21:06:50 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r30621.  That revision introduced mkmf test</div><div class='del'>-	  failures and it turned out to be OK to revert. [ruby-dev:43203]</div><div class='del'>-</div><div class='del'>-Mon Feb 14 21:04:01 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 18:41:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (USE_RUBYGEMS): fixed r30835. It didn't work on</div><div class='del'>-	  mswin32 port. If you changed win32/configure.bat, you should change</div><div class='del'>-	  setup.mak too.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 17:28:34 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system_at):</div><div class='del'>-	  added test. [ruby-core:35218] (#4393)</div><div class='del'>-</div><div class='del'>-Mon Feb 14 13:15:35 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (is_internal_cmd): if the first char of prog is '@',</div><div class='del'>-	  execute it via shell.  [ruby-core:35218] (#4393)</div><div class='del'>-</div><div class='del'>-Mon Feb 14 10:33:45 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: revert r30863, because it causes too many noise.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 07:34:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 19:41:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::RequireFiles#non_options): skip</div><div class='del'>-	  test suites failed to load instead of mere messages.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 09:56:44 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_config.rb (OpenSSL#test_freeze): fix error</div><div class='del'>-	  message assertion.</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb (TestIONonblock#flush_test):</div><div class='del'>-	  return true to finish the test.</div><div class='del'>-</div><div class='del'>-	* test/syck/test_string.rb (Syck::TestString#test_non_binary_string):</div><div class='del'>-	  use assert_not instead of refute, unless required minitest</div><div class='del'>-	  explicitly.</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb (TestPrime::sieve.Integer): ditto.</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/webrick_testing.rb (WEBrick_Testing#start_server):</div><div class='del'>-	  catch IOError when server socket was closed.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 07:39:51 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): typo fixed. a patch from Gaku Ueda in</div><div class='del'>-	  [ruby-core:35216].</div><div class='del'>-</div><div class='del'>-Sun Feb 13 00:48:47 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (Date#===): [ruby-core:35127]</div><div class='del'>-</div><div class='del'>-Sun Feb 13 00:29:18 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Options#process_args): always</div><div class='del'>-	  return options.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::RequireFiles#non_options): return</div><div class='del'>-	  if any test case get loaded.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::AutoRunner#initialize): do not add</div><div class='del'>-	  default directory if it is nil.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::AutoRunner#process_args): return</div><div class='del'>-	  true if any test cases to run.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 23:17:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_include): add alias.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 14:44:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_io_blocking_region): new function to run</div><div class='del'>-	  blocking region with GIL released, for fd.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_fd_close): implement.  [ruby-core:35203]</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init): rename from th_init2.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 14:41:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::AutoRunner#initialize): use</div><div class='del'>-	  default_dir if no test case given.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner): rename from Test::Unit::Mini.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::GlobOption#non_options): run tests</div><div class='del'>-	  under base directory if no argument given.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 08:03:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (TestSetTraceFunc): ensure to use</div><div class='del'>-	  method_added hook defined in Module.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 01:04:02 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): enable rubygems if --gem option is given.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): load rubygems if it is disabled but</div><div class='del'>-	  --gem option is given.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 23:27:50 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): add --gem=enabled as an alias of</div><div class='del'>-	  --enable=gems and --gem=disabled as an alias of --disable=gems.</div><div class='del'>-	  Gem named "enabled" or "disabled" has already been reserved</div><div class='del'>-	  legitimately for this purpose.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 23:17:04 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 21:41:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/testrb, test/runner.rb, lib/test/unit.rb: improve backward</div><div class='del'>-	  compatibility.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 19:45:26 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): use rb_ary_free to free internal object.</div><div class='del'>-</div><div class='del'>-	* gc.h (RUBY_FREE_UNLESS_NULL): get rid of double free.</div><div class='del'>-	  [ruby-core:35192]</div><div class='del'>-</div><div class='del'>-Fri Feb 11 16:57:03 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_from_cp50221): fix wrong</div><div class='del'>-	  assertion and move back.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 14:33:18 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_no_match): alias for</div><div class='del'>-	  backward compatibility.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 12:06:48 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (add_gems, require_libraries, proc_options): add</div><div class='del'>-	  --require and --gem options.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 12:03:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rubygems): add --disable-rubygems option.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 11:39:03 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in (CROSS_COMPILING): get rid of NameError.</div><div class='del'>-</div><div class='del'>-Thu Feb 10 23:12:34 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Feb  9 23:11:27 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb  8 11:47:11 2011  Loren Sands-Ramshaw  &lt;lorensr@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: documentation clarification in rotate, rotate!,</div><div class='del'>-	  index, and rindex. [ruby-core:35144]</div><div class='del'>-</div><div class='del'>-Wed Feb  9 09:45:43 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_encoding.rb: remove unnecessary (and wrong)</div><div class='del'>-	  platform-dependent hacks.</div><div class='del'>-</div><div class='del'>-Wed Feb  9 00:47:18 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb  8 19:38:00 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg): fix for invalid nest errors.</div><div class='del'>-</div><div class='del'>-Tue Feb  8 19:22:59 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_MSG_CHECKING): fixed typo. the patch is</div><div class='del'>-	  created by Benoit Daloze. Thanks a lot. [Bug #4384][ruby-core:35148]</div><div class='del'>-</div><div class='del'>-Tue Feb  8 16:04:03 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_sysopen): use NUM2MODET() instead NUM2UINT().</div><div class='del'>-</div><div class='del'>-Tue Feb  8 15:59:23 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_run_exec_options_err): use MODET2NUM() instead</div><div class='del'>-	  LONG2NUM().</div><div class='del'>-</div><div class='del'>-Tue Feb  8 13:59:56 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r30725. Now we have proper runtime fallback.</div><div class='del'>-	  Therefore, no need compile time disabling. (see r30762).</div><div class='del'>-</div><div class='del'>-Tue Feb  8 01:00:21 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): add GC guard to prevent intermediate</div><div class='del'>-	  variable from GC.</div><div class='del'>-</div><div class='del'>-Tue Feb  8 00:56:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg, ruby-in-here-doc-p): tell</div><div class='del'>-	  singleton class definitions from here documents.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial): keyword</div><div class='del'>-	  followed by colon is label.</div><div class='del'>-</div><div class='del'>-Mon Feb  7 22:56:16 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (Benchmark#bmbm): use ensure clause instead of</div><div class='del'>-	  Object#tap to restore STDOUT.sync.</div><div class='del'>-</div><div class='del'>-Mon Feb  7 22:34:20 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): support SNI (Server Name</div><div class='del'>-	  Indication) for HTTPS.  [ruby-dev:43164]</div><div class='del'>-	  http://stackoverflow.com/questions/4685736/openssl-server-name-indication-support-in-ruby</div><div class='del'>-</div><div class='del'>-Mon Feb  7 16:05:32 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Upgrade to RDoc 3.5.3  Fixes [Bug #4376]</div><div class='del'>-</div><div class='del'>-Mon Feb  7 11:46:59 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc): add --encoding=UTF-8; ruby's rdoc must be UTF-8.</div><div class='del'>-</div><div class='del'>-Mon Feb  7 10:21:50 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_options.rb (TestRDocOptions#test_check_files):</div><div class='del'>-	  there is no easy way to create owner unreadable file on Windows.</div><div class='del'>-	  So, skip the test.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 13:48:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/common.rb (JSON::MissingUnicodeSupport.iconv):</div><div class='del'>-	  should not drop rest of the result.  use Iconv.conv instead.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 12:46:02 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (gsub): Ensure result encoding is the same as input</div><div class='del'>-	  encoding.  [Bug #4340].</div><div class='del'>-</div><div class='del'>-Sun Feb  6 12:18:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (words, qwords): dispatch array events.  based on a</div><div class='del'>-	  patch from Michael Edgar.  [Bug #4365].</div><div class='del'>-</div><div class='del'>-Sun Feb  6 12:12:59 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (FileAssertions): separate module.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 11:29:23 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 22:01:59 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  revert r30796. r30797 and r30798 are an alternative fix.</div><div class='del'>-	  [ruby-dev:43174]</div><div class='del'>-</div><div class='del'>-Sat Feb  5 21:47:09 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_basic): include mlhs_post for ripper.  a patch</div><div class='del'>-	  from Michael Edgar at [ruby-core:35078].</div><div class='del'>-</div><div class='del'>-Sat Feb  5 21:22:21 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_block): move from</div><div class='del'>-	  test/fileutils/fileasserts.rb.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (assert_block): pass arguments</div><div class='del'>-	  as-is.  [ruby-dev:43174]</div><div class='del'>-</div><div class='del'>-Sat Feb  5 16:47:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  msg can be passed nil. [Bug #4371] [ruby-dev:43174]</div><div class='del'>-</div><div class='del'>-Sat Feb  5 15:18:25 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Upgrade to RDoc 3.5.2</div><div class='del'>-</div><div class='del'>-Sat Feb  5 12:05:27 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_node_init_copy): SyckNode is not</div><div class='del'>-	  copiable.  [ruby-core:35094]</div><div class='del'>-</div><div class='del'>-Sat Feb  5 11:48:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_alloc): leave data ptr</div><div class='del'>-	  NULL.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_new, ossl_cipher_initialize):</div><div class='del'>-	  allocate internal structure.  [ruby-core:35094]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_copy): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 11:29:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.h (GET_PARSER): raise TypeError.</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (cParser_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.h (GET_PARSER): check if initialized.</div><div class='del'>-	  [ruby-core:35079]</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (cParser_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 10:09:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_expanded_load_path): always expand load paths.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 09:38:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (encoded_dup): extract.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 03:37:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::LowMethods): make low level methods</div><div class='del'>-	  in NoWrite and DryRun to do nothing.  [ruby-dev:43129]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb: add message arguments.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (Test::Unit::Assertions#assert_block):</div><div class='del'>-	  show the given message.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 02:09:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_getline, parser_set_encode): set encoding of lines</div><div class='del'>-	  in SCRIPT_LINES__ as source encoding.  [ruby-dev:43168]</div><div class='del'>-</div><div class='del'>-Sat Feb  5 02:08:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_thread_data_type): add prefix.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 00:59:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (GetThreadPtr): use TypedData_Get_Struct() instead</div><div class='del'>-	  CoreDataFromValue() because we need type check. Otherwise,</div><div class='del'>-	  type mismatch can cause segmentation fault crash.</div><div class='del'>-	  [ruby-core:35086] [Ruby 1.9-Bug#4367]</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_data_type): remove static.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 19:14:27 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 12:11:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_utf8_nth): fixed a condition of optimized lead</div><div class='del'>-	  byte counting. [Bug #4366][ruby-dev:43170]</div><div class='del'>-</div><div class='del'>-Fri Feb  4 01:50:13 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (count_utf8_lead_bytes_with_word): wrote function</div><div class='del'>-	  comments.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 00:14:55 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_reader_get_unused): no need to dup</div><div class='del'>-	  before rb_str_resurrect.</div><div class='del'>-</div><div class='del'>-Thu Feb  3 20:04:44 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (CHECK): unused macro removed.</div><div class='del'>-</div><div class='del'>-Thu Feb  3 18:33:26 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_reader_get_unused): use rb_str_resurrect</div><div class='del'>-	  because gz-&gt;z.input is hidden string. [ruby-core:35057]</div><div class='del'>-</div><div class='del'>-Thu Feb  3 16:34:10 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (code_to_mbc): cast as int from the subtraction of</div><div class='del'>-	  pointers.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16le.c (utf16le_mbc_enc_len): use ptrdiff_t.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32be.c (utf32be_left_adjust_char_head): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32le.c (utf32le_left_adjust_char_head): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  3 16:31:43 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: don't use HAVE_STDDEF_H because it never</div><div class='del'>-	  defined by configure though configure.bat defines it.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: move include stddef.h to defines.h</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb  2 20:25:04 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_step_back): cast 4th argument 'n'</div><div class='del'>-	  as int because Ruby usually treats length value as long but</div><div class='del'>-	  onigenc_step_back's 4th argument is int.</div><div class='del'>-</div><div class='del'>-Thu Feb  3 07:20:46 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: use Regexp::NOENCODING</div><div class='del'>-	  rather than magic number.</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/syck/rubytypes.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Feb  3 07:16:11 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): added a constant for ARG_ENCODING_NONE</div><div class='del'>-	  [ruby-core:35054]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Thu Feb  3 07:02:16 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: ARG_ENCODING_NONE regular</div><div class='del'>-	  expressions can round trip. [ruby-core:34969]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yaml.rb: test for ARG_ENCODING_NONE regex</div><div class='del'>-</div><div class='del'>-	* ext/sych/lib/syck/rubytypes.rb: ARG_ENCODING_NONE regular</div><div class='del'>-	  expressions can round trip.</div><div class='del'>-</div><div class='del'>-	* test/syck/test_yaml.rb: test for ARG_ENCODING_NONE regex</div><div class='del'>-</div><div class='del'>-Wed Feb  2 17:09:22 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fdatasync): Use fsync(2) if the underlying</div><div class='del'>-	  operating system does not support fdatasync(2).</div><div class='del'>-</div><div class='del'>-Wed Feb  2 14:51:08 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/to_tt_only.rb: commit miss</div><div class='del'>-	* test/rdoc/test_rdoc_markup_to_tt_only.rb: ditto</div><div class='del'>-	* test/rdoc/test_rdoc_single_class.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Feb  2 09:27:53 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Upgrade to RDoc 3.5.1</div><div class='del'>-</div><div class='del'>-Wed Feb  2 00:30:43 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (st_table): Added comment why we need __extension__.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 20:45:44 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 15:12:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_with_unc):</div><div class='del'>-	  use ``127.0.0.1'' instead of ``localhost'' as host name, because</div><div class='del'>-	  XP or earlier cannot resolv it as NBT hostname.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 13:20:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/benchmark/test_benchmark.rb (#capture_bench_output):</div><div class='del'>-	  Added explicit sleep. Windows have imprecise time support.</div><div class='del'>-	  Thus Tms.new.Add!{} may be or may be not equal 0. The</div><div class='del'>-	  test failure started since r30747.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 11:03:47 2011  Ryan Davis  &lt;ryan@lust.local&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import rubygems 1.5.0 (released version @ 1fb59d0)</div><div class='del'>-	* test/rubygems: Ditto</div><div class='del'>-</div><div class='del'>-Tue Feb  1 08:01:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_set_winsize): new method to set</div><div class='del'>-	  console size.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_winsize): use GetWriteFD.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 02:28:14 2011  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/win32.c: add rb_w32_inet_ntop.</div><div class='del'>-	  inet_ntop's minimum supported client is Vista.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 00:10:30 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: fix benchmark to work with current ruby.</div><div class='del'>-	  patched by Benoit Daloze [ruby-core:33846] [ruby-dev:43143]</div><div class='del'>-	  merged from https://github.com/eregon/ruby/commits/benchmark</div><div class='del'>-</div><div class='del'>-	*  lib/benchmark (Report#width): update documentation</div><div class='del'>-	*  lib/benchmark: document the return value of #benchmark and the</div><div class='del'>-	   :list attribute in Report</div><div class='del'>-	*  lib/benchmark (Tms#format): rename variables, use String#%</div><div class='del'>-	   instead of Kernel.format</div><div class='del'>-	*  lib/benchmark: remove undocumented Benchmark::times (an alias</div><div class='del'>-	   of Process::times used twice)</div><div class='del'>-	*  lib/benchmark (#benchmark): use label_width for the caption</div><div class='del'>-	*  lib/benchmark (Tms#initialize): rename variables</div><div class='del'>-	*  lib/benchmark: allow title to not be a String and call #to_s</div><div class='del'>-	*  lib/benchmark (Benchmark#bm): return an Array of the times with</div><div class='del'>-	   the labels</div><div class='del'>-	*  lib/benchmark: correct output for Benchmark#bmbm</div><div class='del'>-	   (remove the extra space)</div><div class='del'>-	*  lib/benchmark: add a few tests for Benchmark::Tms output</div><div class='del'>-	*  lib/benchmark: improve style (enumerators, ljust, unused vars)</div><div class='del'>-	*  lib/benchmark: add spec about output and return value</div><div class='del'>-	*  lib/benchmark: improve basic style and consistency</div><div class='del'>-	   no parenthesis for print and use interpolation instead of printf</div><div class='del'>-	*  lib/benchmark: remove unnecessary conversions and variables</div><div class='del'>-	*  lib/benchmark: correct indentation</div><div class='del'>-	*  lib/benchmark: rename the FMTSTR constant and variable to FORMAT</div><div class='del'>-	*  lib/benchmark: remove useless exception</div><div class='del'>-</div><div class='del'>-	*  test/benchmark: remove unused variable warnings</div><div class='del'>-</div><div class='del'>-Mon Jan 31 23:27:23 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (add_id): remove duplicated rb_id2str() call.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 17:19:46 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Jan 31 21:57:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r30698.</div><div class='del'>-</div><div class='del'>-Mon Jan 31 21:32:44 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): check deadlock condition before</div><div class='del'>-	  release thread stack. fix memory violation when deadlock detected.</div><div class='del'>-	  reported by Max Aller. [Bug #4009] [ruby-core:32982]</div><div class='del'>-</div><div class='del'>-Mon Jan 31 14:45:47 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale::#search_file):</div><div class='del'>-	  Gem might be undefined if --disable-gems. [ruby-core:34990]</div><div class='del'>-</div><div class='del'>-Mon Jan 31 12:26:14 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: suppressed shorten-64-to-32 warnings.</div><div class='del'>-	* regcomp.c: ditto.</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-	* regint.h: ditto.</div><div class='del'>-	* regparse.c: ditto.</div><div class='del'>-	* regparse.h: ditto.</div><div class='del'>-	* time.c: ditto.</div><div class='del'>-	* variable.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 31 04:45:12 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): call ARY_SET_LEN(ary, 0) before</div><div class='del'>-	  ary_resize_capa because ary_resize_capa expects resized length is</div><div class='del'>-	  smaller than current array length. call rb_ary_unshare before</div><div class='del'>-	  ary_resize_capa because ary_resize_capa lost the reference to</div><div class='del'>-	  original shared array. [ruby-core:34997]</div><div class='del'>-</div><div class='del'>-Sun Jan 30 17:19:46 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 16:40:27 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_security.rb (TestGemSecurity): valid only</div><div class='del'>-	  if OpenSSL is available.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_dl2.rb (TestDL#test_sin): math functions do not</div><div class='del'>-	  work on x86_64 due to the design of DL2.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_func.rb (DL::TestFunc#test_{sinf,sin): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 16:09:22 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): %G produces 4 digits.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 15:13:19 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c (emacsmule_islead): 7bit range is also leading</div><div class='del'>-	  byte.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 13:03:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch_m): use useful message for longer key, not a</div><div class='del'>-	  nonsense id value.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ellipsize): new function to ellipsize a string.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_step_back): new function to step</div><div class='del'>-	  back n characters.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 12:53:38 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c (emacsmule_islead): fix inverse condition.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 09:37:25 2011  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct argf): char behaves like an unsigned char</div><div class='del'>-	  by default on AIX.</div><div class='del'>-</div><div class='del'>-Sun Jan 30 08:02:55 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Mac OS X wrongly reports it has fdatasync(3).</div><div class='del'>-</div><div class='del'>-Sun Jan 30 03:29:47 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (GetBNPtr): add missing nil case.</div><div class='del'>-	  patched by Martin Bosslet. [ruby-core:34987]</div><div class='del'>-</div><div class='del'>-Sun Jan 30 01:02:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Added NUM2MODET() and MODET2NUM() default</div><div class='del'>-	  definition.</div><div class='del'>-	  Because r30686 introduced win32 build failure.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 22:16:26 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_join): [].join.encoding must be US-ASCII.</div><div class='del'>-	  [ruby-list:47790]</div><div class='del'>-</div><div class='del'>-Sat Jan 29 20:22:39 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb (BenchmarkDriver#measure): Show command line</div><div class='del'>-	  when abnormal exiting occur.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 10:53:16 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): no-scope reference to toplevel</div><div class='del'>-	  private constant has been prohibited incorrectly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_toplevel_private_constant): add a</div><div class='del'>-	  test for above.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 08:43:23 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import rubygems 1.5.0 (release candidate @ 09893d9)</div><div class='del'>-	* test/rubygems: Ditto</div><div class='del'>-</div><div class='del'>-Sat Jan 29 02:02:37 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_const_of, sv_i): Module#constant should exclude</div><div class='del'>-	  private constants.  see [ruby-core:32912].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_constants_with_private_constant): add</div><div class='del'>-	  a test for above.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 01:36:41 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): const_set should preserve constant</div><div class='del'>-	  visibility.  see [ruby-core:32912].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 01:24:57 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_CLASS, NODE_MODULE), insns.def (defineclass): raise</div><div class='del'>-	  an exception when "class Foo::Bar" is evaluated and Foo::Bar is</div><div class='del'>-	  private.  To implement this, define_type of "defineclass" is added</div><div class='del'>-	  so that the instruction can distinguish whether the class definition</div><div class='del'>-	  is scoped (class Foo::Bar) or not (class Bar).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb (test_redefine_private_class),</div><div class='del'>-	  test/ruby/test_module.rb</div><div class='del'>-	  (test_define_module_under_private_constant): add tests for above.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 01:19:17 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* constant.h, variable.c: to ensure compatibility, rb_const_get_* must</div><div class='del'>-	  not raise an exception even when the constant is private.  Instead,</div><div class='del'>-	  rb_public_const_get_* and rb_public_const_defined_* are introduced,</div><div class='del'>-	  which raise an exception when the referring constant is private.</div><div class='del'>-	  see [ruby-core:32912].</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): use rb_public_const_get_* instead</div><div class='del'>-	  of rb_const_get_* to follow the constant visibility when user code</div><div class='del'>-	  refers a constant.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb (test_marshal_private_class): add a test.</div><div class='del'>-	  This test had failed because of incompatibility of rb_const_get.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 00:30:44 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): fix typo.  a patch from Tomoyuki</div><div class='del'>-	  Chikanaga in [ruby-core:32919].</div><div class='del'>-</div><div class='del'>-Fri Jan 28 23:20:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create,</div><div class='del'>-	  TestGDBM2#test_writer_open_notexist): We only need to skip libgdbm</div><div class='del'>-	  1.8.0, not all 1.8.x. 1.8.1 or later don't have GDBM_WRITER sickness.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 21:56:57 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: Added new header places for Fedora13.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 21:49:30 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 17:47:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb (TestGDBM2#test_writer_open_notexist):</div><div class='del'>-	  gdbm 1.8.x changed GDBM::WRITER behavior. Thus our testcase need</div><div class='del'>-	  to be changed too.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 17:33:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create): skip</div><div class='del'>-	  the test if gdbm version is 1.8.x.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 16:30:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_too_long_filename):</div><div class='del'>-	  Added -w option because too long path error don't output a message</div><div class='del'>-	  by default since r30660. [Bug #4336] [ruby-dev:43134]</div><div class='del'>-</div><div class='del'>-Fri Jan 28 16:19:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2}):</div><div class='del'>-	  Added -w option because too long path error don't output a message</div><div class='del'>-	  by default since r30660. [Bug #4336] [ruby-dev:43134]</div><div class='del'>-</div><div class='del'>-Fri Jan 28 16:04:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2,3}):</div><div class='del'>-	  split from test_require_path_home.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 13:04:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-valgrind): Fixed r29683. Now this option</div><div class='del'>-	  is really default on.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 12:05:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add #include&lt;sys/stat.h&gt; when struct stat is</div><div class='del'>-	  tested. Otherwise, incomplete type dereference error will occur.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 11:53:19 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: redundant variable names made strange conftest</div><div class='del'>-	  error. Fixed it.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 11:47:00 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_too_long_path{,2}):</div><div class='del'>-	  should handle Errno::E2BIG, because this test checks crash of ruby,</div><div class='del'>-	  not the error type system.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 11:23:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_open): Use NUM2MODET() instead NUM2UINT().</div><div class='del'>-	* io.c (rb_scan_open_args): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 10:58:20 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Added mode_t type checking.</div><div class='del'>-	* process.c (rb_exec_arg_addopt): Use NUM2MODET() instead</div><div class='del'>-	  NUM2LONG because clang makes compile error by this narrowing</div><div class='del'>-	  conversion.</div><div class='del'>-	* process.c (rb_run_exec_options_err): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 02:37:18 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_raise): add GC guard to prevent intermediate</div><div class='del'>-	  variable from GC.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 02:35:41 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch_m): add GC guard to prevent intermediate</div><div class='del'>-	  variable from GC.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 01:33:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_too_long_path)</div><div class='del'>-	  TestProcess#test_too_long_path): Reduced string size from 100MB</div><div class='del'>-	  to 10MB. 100MB may cause no memory error. It isn't intended.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 01:27:42 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_too_long_path2):</div><div class='del'>-	  Factored out from test_too_long_path. A test should only do</div><div class='del'>-	  one test.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 23:29:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): check if unpacked.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 23:14:19 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-map): remove deprecated binding.</div><div class='del'>-	  use M-; instead.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 21:58:32 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str_to_inum): get rid of too huge alloca().</div><div class='del'>-</div><div class='del'>-Thu Jan 27 21:43:29 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_str_to_dbl): rewrite again. use ALLOCV instead</div><div class='del'>-	  rb_str_tmp_new().</div><div class='del'>-</div><div class='del'>-Thu Jan 27 21:41:47 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: get rid of STRNDUPA(). It's dangerous API.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 21:31:57 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn): get rid of too huge alloca().</div><div class='del'>-	  [Bug #4330] [ruby-core:34898]</div><div class='del'>-</div><div class='del'>-Thu Jan 27 20:30:18 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): get rid of too huge alloca().</div><div class='del'>-</div><div class='del'>-Thu Jan 27 18:49:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (open_dir_handle): get rid of too huge alloca().</div><div class='del'>-</div><div class='del'>-Thu Jan 27 18:34:58 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (w32_io_info): get rid of too huge alloca().</div><div class='del'>-	  [Bug #4313] [ruby-core:34830]</div><div class='del'>-</div><div class='del'>-Thu Jan 27 18:19:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wstati64): get rid of too huge alloca().</div><div class='del'>-	  [Bug #4316] [ruby-core:34834]</div><div class='del'>-</div><div class='del'>-Thu Jan 27 15:11:52 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): get rid of too huge</div><div class='del'>-	  alloca(). this is the real fix of [ruby-core:34833].</div><div class='del'>-</div><div class='del'>-Thu Jan 27 12:46:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (ALLOC_ARGV_WITH_STR): fix void pointer arithmetic.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 08:41:40 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v, rb_proc_exec_n, rb_proc_exec)</div><div class='del'>-	  (proc_spawn_n, proc_spawn): get rid of too huge alloca().</div><div class='del'>-	  [ruby-core:34827], [ruby-core:34833]</div><div class='del'>-</div><div class='del'>-Thu Jan 27 08:32:17 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ALLOCV): new API for exception-safe</div><div class='del'>-	  temporary buffer.  [ruby-core:34844]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_alloc_tmp_buffer, rb_free_tmp_buffer):</div><div class='del'>-	  implementation of the API.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 08:22:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln_find.c (dln_find_1): use rb_warning and return immediately</div><div class='del'>-	  if fname is longer than buffer.</div><div class='del'>-</div><div class='del'>-Wed Jan 26 22:57:30 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): add GC guard to prevent intermediate</div><div class='del'>-	  variable from GC. [Bug #4321] [ruby-dev:43107]</div><div class='del'>-</div><div class='del'>-Wed Jan 26 22:45:16 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Jan 26 22:28:49 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate</div><div class='del'>-	  variable from GC. [Bug #4322] [ruby-dev:43108]</div><div class='del'>-</div><div class='del'>-Wed Jan 26 17:08:59 2011  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_decode0): OpenSSL::ASN1.decode</div><div class='del'>-	  should reject indefinite length primitive encodings as that is</div><div class='del'>-	  illegal. Patch by Martin Bosslet. See #4324.</div><div class='del'>-</div><div class='del'>-Wed Jan 26 10:36:28 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (=~): documentation fix; the return value is nil when</div><div class='del'>-	  it doesn't match. patched by Andrei Kulakov [ruby-core:34562]</div><div class='del'>-</div><div class='del'>-Tue Jan 25 08:41:58 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln_find.c (dln_find_1): omit too long pathnames.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 08:28:19 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): get rid of out-of-bound access.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 07:48:22 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: remove unused variables.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 07:45:44 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_condvar_nolock_2): get</div><div class='del'>-	  rid of method redefined.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 07:00:52 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value_cstr): rb_str_modify can change</div><div class='del'>-	  RSTRING_PTR.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 03:24:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: Added various ConditionVariable tests.</div><div class='del'>-</div><div class='del'>-Mon Jan 24 22:26:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_str_to_dbl): Fix again. use rb_str_tmp_new()</div><div class='del'>-	  instead ALLOC_N.</div><div class='del'>-</div><div class='del'>-Mon Jan 24 21:50:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Jan 24 21:28:34 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_str_to_dbl): use ALLOC_N instead ALLOCA_N because</div><div class='del'>-	  ALLOC_N may cause stack overflow.</div><div class='del'>-</div><div class='del'>-Mon Jan 24 21:04:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_invalid_str): prevent intermediate variable from GC.</div><div class='del'>-	  [ruby-core:34820]</div><div class='del'>-</div><div class='del'>-Sun Jan 23 23:01:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb: Don't run test if the system</div><div class='del'>-	  don't support io/console.</div><div class='del'>-</div><div class='del'>-Sun Jan 23 22:17:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_fiddle.rb: Don't run test if the system don't support</div><div class='del'>-	  fiddle.</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_function.rb: ditto.</div><div class='del'>-	* test/fiddle/test_closure.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 23 11:39:18 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Jan 23 10:33:02 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in (ruby): suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun Jan 23 08:00:09 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_nth_len, str_utf8_nth): return the rest length together.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): get rid of measure the length always</div><div class='del'>-	  to improve performance for huge string.  [ruby-core:34648]</div><div class='del'>-</div><div class='del'>-Sun Jan 23 00:40:10 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb: Fix to make a lot of test failure if</div><div class='del'>-	  the platform doesn't support syslog.</div><div class='del'>-</div><div class='del'>-Sat Jan 22 11:49:55 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: fixing merge key support</div><div class='del'>-	  when multiple merge keys are specified.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_merge_keys.rb: tests for multi-merge key support</div><div class='del'>-</div><div class='del'>-Sat Jan 22 11:33:04 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: merge keys are actually</div><div class='del'>-	  part of YAML 1.1, so they should be supported.  Remove warning and</div><div class='del'>-	  merge keys to parent.  [ruby-core:34679]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_merge_keys.rb: test for merge keys</div><div class='del'>-</div><div class='del'>-Sat Jan 22 10:25:19 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): add the file name to the exception when</div><div class='del'>-	  parse errors occur.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_parser.rb: test for parse error file name</div><div class='del'>-</div><div class='del'>-Sat Jan 22 10:12:30 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): fix assertion error when reusing a</div><div class='del'>-	  parser after an exception has been raised</div><div class='del'>-</div><div class='del'>-	* test/psych/test_parser.rb: test for assertion error</div><div class='del'>-</div><div class='del'>-Sat Jan 22 04:09:22 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/nodes/node.rb: Make Psych::Nodes::Node</div><div class='del'>-	  enumerable.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/depth_first.rb: Add a depth-first</div><div class='del'>-	  visitor to enumerate over a YAML AST in a depth-first fashion</div><div class='del'>-</div><div class='del'>-	* test/psych/nodes/test_enumerable.rb: test for enumerating nodes</div><div class='del'>-</div><div class='del'>-	* test/psych/visitors/test_depth_first.rb: test for depth-first</div><div class='del'>-	  visitor</div><div class='del'>-</div><div class='del'>-Sat Jan 22 00:53:42 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Jan 21 18:15:09 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: should not use -Werror=* flags while conftests.</div><div class='del'>-</div><div class='del'>-Fri Jan 21 09:17:00 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix incorrectly detected x86_64-w64-mingw32 due</div><div class='del'>-	  canonalization of target_os. Bug #3889 [ruby-core:32634]</div><div class='del'>-</div><div class='del'>-Thu Jan 20 23:44:00 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix rb_cv_va_args_macro was broken. We are using</div><div class='del'>-	  -Werror=implicit-function-declaration compile option. therefore</div><div class='del'>-	  we need a function declaration explicitly.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 23:58:02 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 23:25:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add '#include &lt;stdlib.h&gt;' to</div><div class='del'>-	  rb_cv_localtime_overflow test too. It's reported by Tomoyuki</div><div class='del'>-	  Chikanaga. Thanks.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 16:11:00 2011  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: You shouldn't choose ``conftest.c'' as a</div><div class='del'>-	  name of a source file.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 12:15:44 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add stdlib.h inclusion into rb_cv_negative_time_t</div><div class='del'>-	  test because it's required for exit(3). The patch is</div><div class='del'>-	  created by Tomoyuki Chikanaga. [Bug #4287] [ruby-dev:43060]</div><div class='del'>-</div><div class='del'>-Thu Jan 20 11:39:41 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/utils.rb (TestWEBrick::RubyBin): test CGI does not need</div><div class='del'>-	  to load rubygems.  if it activated, ruby raises LoadError about</div><div class='del'>-	  rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 09:19:42 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/json_tree.rb: Fix JSON emit for</div><div class='del'>-	  DateTime and Time classes.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_json_tree.rb: test for JSON emit</div><div class='del'>-</div><div class='del'>-Thu Jan 20 08:02:46 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/coder.rb (represent_object): arbitrary objects</div><div class='del'>-	  may be passed to the Psych::Coder object.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: support for visiting</div><div class='del'>-	  arbitrary objects set on the coder.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_coder.rb: supporting test case.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 06:03:17 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Jan 19 13:16:05 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/sources_command.rb: Finish removing code,</div><div class='del'>-	  (fixes sources command test).</div><div class='del'>-</div><div class='del'>-Wed Jan 19 13:04:16 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_call): Add gc guard to avoid segfault. The fix</div><div class='del'>-	  is created by Tomoyuki Chikanaga. [Bug #4238][ruby-dev:42963]</div><div class='del'>-</div><div class='del'>-Wed Jan 19 12:31:28 2011  Eric Hodel &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: Since gem_prelude requires rubygems, enable</div><div class='del'>-	  custom_require always.</div><div class='del'>-</div><div class='del'>-Wed Jan 19 12:08:08 2011  Eric Hodel &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/dependency_command.rb: Remove require of</div><div class='del'>-	  deleted file.</div><div class='del'>-	* lib/rubygems/commands/fetch_command.rb: ditto</div><div class='del'>-	* lib/rubygems/commands/setup_command.rb: ditto</div><div class='del'>-	* lib/rubygems/commands/sources_command.rb: ditto</div><div class='del'>-	* lib/rubygems/commands/specification_command.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Jan 19 08:13:59 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import rubygems 1.5.0 (release candidate)</div><div class='del'>-	* test/rubygems: Ditto</div><div class='del'>-</div><div class='del'>-Tue Jan 18 23:31:01 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: avoid NULL reference.  [ruby-dev:43067]</div><div class='del'>-</div><div class='del'>-Wed Jan 19 02:54:04 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (cvt): set first byte of buf to NUL for the case when</div><div class='del'>-	  no bytes are written to the buf. [ruby-dev:43062]</div><div class='del'>-</div><div class='del'>-Tue Jan 18 23:04:51 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Jan 18 18:31:14 2011  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: Irb tab completion support for XX::method</div><div class='del'>-	  forms.</div><div class='del'>-</div><div class='del'>-Tue Jan 18 15:05:55 2011  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: added RDoc document for logging message escape</div><div class='del'>-	  by Hal Brodigan. See #3869</div><div class='del'>-</div><div class='del'>-Tue Jan 18 07:53:52 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Jan 18 04:42:44 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/parser.rb (Mark): Adding a class to wrap</div><div class='del'>-	  marker information</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (mark): Add a method to return the mark object</div><div class='del'>-	  for the parser</div><div class='del'>-</div><div class='del'>-	* test/psych/test_parser.rb: tests for the Mark class.</div><div class='del'>-</div><div class='del'>-Tue Jan 18 02:46:55 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/json_tree.rb (visit_String): JSON</div><div class='del'>-	  strings should be dumped with double quotes. [ruby-core:34186]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_json_tree.rb: test for double quotes</div><div class='del'>-</div><div class='del'>-Mon Jan 17 23:36:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_times): less MEMCPY calls.</div><div class='del'>-</div><div class='del'>-Mon Jan 17 22:54:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.h: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Jan 17 21:40:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): revert r30549.</div><div class='del'>-</div><div class='del'>-Sun Jan 16 20:55:45 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Jan 15 11:57:30 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): add -Werror=implicit-function-declaration</div><div class='del'>-	  if available.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): ignore warnings in mkmf tests.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (setup, teardown): restore config values.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_flags.rb: split from test_find_executable.rb.</div><div class='del'>-</div><div class='del'>-Sat Jan 15 10:04:14 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): autoload rubygems.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb (Prelude#initialize): ignore empty</div><div class='del'>-	  preludes.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_prelude): get rid of global namespace</div><div class='del'>-	  pollution.</div><div class='del'>-</div><div class='del'>-Sat Jan 15 09:42:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h: missing prototypes.</div><div class='del'>-</div><div class='del'>-Fri Jan 14 23:25:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Jan 14 15:32:29 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: call neither logout nor disconnect</div><div class='del'>-	  unless connected.  patch by Kazuhiro NISHIYAMA.  [ruby-dev:42860]</div><div class='del'>-</div><div class='del'>-Fri Jan 14 14:56:57 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: use bytesize for binary strings.</div><div class='del'>-	  patched by Yoshimasa Niwa. [ruby-core:34222]</div><div class='del'>-</div><div class='del'>-Fri Jan 14 14:01:12 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): the resulted string of unpack('M') must have</div><div class='del'>-	  ASCII-8BIT encoding (and ENC_CODERANGE_VALID). [ruby-core:34482]</div><div class='del'>-</div><div class='del'>-Fri Jan 14 13:38:58 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_check_footer): ISIZE (Input SIZE) in</div><div class='del'>-	  gzip's header is the size of uncompressed input data modulo 2^32.</div><div class='del'>-	  [ruby-core:34481] http://www.ietf.org/rfc/rfc1952.txt</div><div class='del'>-</div><div class='del'>-Fri Jan 14 11:36:25 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (RUNRUBY): require path should</div><div class='del'>-	  include "." because rbconfig.rb is there.</div><div class='del'>-</div><div class='del'>-Fri Jan 14 10:40:11 2011  Ryan Davis  &lt;ryan@lust.local&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: Just require rubygems. Fixes rubygems 1.4.</div><div class='del'>-	* lib/rubygems.rb: removed all Gem::Quickloader code.</div><div class='del'>-	* ruby.c: renamed ruby_init_gems to ruby_init_prelude. Set</div><div class='del'>-	  $disable_rubygems since there is no fine grained mechanism to</div><div class='del'>-	  skip parts of the prelude. Open to suggestions on how to do this</div><div class='del'>-	  better.</div><div class='del'>-	* test/*.rb: Load path isn't set up correctly, so add</div><div class='del'>-	  --disable-gems as needed to failing tests that are explicitly</div><div class='del'>-	  testing stderr w/ ==.</div><div class='del'>-</div><div class='del'>-Fri Jan 14 07:30:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): go advance when the next file cannot be</div><div class='del'>-	  read.  [ruby-core:34446]</div><div class='del'>-</div><div class='del'>-Thu Jan 13 20:49:19 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Jan 13 13:21:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: delete dashes to make lines 80 chars, Patched by</div><div class='del'>-	  Shota Fukumori (sora_h).  [Bug #4275] [ruby-dev:43021]</div><div class='del'>-</div><div class='del'>-Thu Jan 13 13:21:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: fix misspelling of CrashReporter, Patched by Shota</div><div class='del'>-	  Fukumori (sora_h).  [Bug #4275] [ruby-dev:43021]</div><div class='del'>-</div><div class='del'>-Thu Jan 13 06:27:29 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: Exception#to_s should actually call to_s.</div><div class='del'>-</div><div class='del'>-Thu Jan 13 00:32:54 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (get_nth_dirname): decrement the directory index</div><div class='del'>-	  because the index specifies the index of given included_directories</div><div class='del'>-	  which is separated by NUL and its index is begun from 1.</div><div class='del'>-	  Note that 0 specifies the current directory of the compilation.</div><div class='del'>-	  see also http://www.dwarfstd.org/doc/dwarf-2.0.0.pdf</div><div class='del'>-</div><div class='del'>-Thu Jan 13 00:06:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): Add warning messages. [ruby-core:34062]</div><div class='del'>-</div><div class='del'>-Thu Jan 13 00:00:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): Some syscall return unsigned or pointer value.</div><div class='del'>-	  Therefore we should only check the result is -1 or not.</div><div class='del'>-	  [ruby-core:34062]</div><div class='del'>-</div><div class='del'>-Wed Jan 12 23:55:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): Add 64bit Linux support. Some syscall takes</div><div class='del'>-	  long type arguments.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 19:37:10 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 19:28:23 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): reset ruby_current_thread if it points the</div><div class='del'>-	  thread to free.</div><div class='del'>-	* gc.c (slot_sweep): don't call RUBY_VM_SET_FINALIZER_INTERRUPT if</div><div class='del'>-	  there is no current thread.</div><div class='del'>-	  [ruby-dev:43000]</div><div class='del'>-</div><div class='del'>-Wed Jan 12 19:09:29 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (sort_by_i): reenter check more strictly.</div><div class='del'>-	  (sort_by_cmp): ditto.</div><div class='del'>-	  [ruby-dev:43003] reported by Usaku NAKAMURA.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 16:25:12 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): makes it timeout during</div><div class='del'>-	  SSL handshake too. [ruby-core:34203]</div><div class='del'>-	  Patch by Marc Slemko.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTP_v1_2#test_timeout_during_HTTP_session):</div><div class='del'>-	  test for [ruby-core:34203]</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 16:24:53 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: new checks for RL_PROMPT_START_IGNORE</div><div class='del'>-	  and RL_PROMPT_END_IGNORE. [ruby-core:34331]</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: enables USE_INSERT_IGNORE_ESCAPE only if</div><div class='del'>-	  RL_PROMPT_{START,END}_IGNORE are available to get rid of compilation</div><div class='del'>-	  error with libedit.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 15:53:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja (rb_ensure): typo.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 11:33:46 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: OpenBSD uses the elf_abi.h header file instead of the</div><div class='del'>-	  elf.h header file. patched by Jeremy Evans [ruby-core:34384]</div><div class='del'>-</div><div class='del'>-Wed Jan 12 03:59:36 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb: Removes usage of deprecated</div><div class='del'>-	  :RequestHandler option.</div><div class='del'>-	  patched by Peter Weldon [ruby-core:34010]</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpproxy.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpserver.rb: Add a test of the deprecation</div><div class='del'>-	  behaviour.</div><div class='del'>-</div><div class='del'>-Wed Jan 12 08:37:07 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_i): return different values for inverse hash.</div><div class='del'>-	  [ruby-core:34334]</div><div class='del'>-</div><div class='del'>-Tue Jan 11 20:32:59 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Jan 11 13:06:38 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_resize): should care of embeded array when extending</div><div class='del'>-	  the array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_resize): need to set capa when changing the real</div><div class='del'>-	  size of the array.</div><div class='del'>-	  these are latent bugs.</div><div class='del'>-</div><div class='del'>-Mon Jan 10 22:46:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (CASEFOLD_FILESYSTEM): HFS+ is case</div><div class='del'>-	  insensitive.</div><div class='del'>-</div><div class='del'>-	* load.c (loaded_feature_path, rb_feature_p, load_lock): on a</div><div class='del'>-	  case-insensitive filesystem, loaded features search should</div><div class='del'>-	  ignore case.  [ruby-core:34297]</div><div class='del'>-</div><div class='del'>-Mon Jan 10 21:34:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (showflags): show LD commands.</div><div class='del'>-</div><div class='del'>-Mon Jan 10 14:32:55 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb (TestMethod#test_define_method): method</div><div class='del'>-	  transplanting between class and module is impossible.</div><div class='del'>-</div><div class='del'>-Mon Jan 10 13:51:17 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rdoc-mode.el (rdoc-mode): show trailing whitespace.</div><div class='del'>-</div><div class='del'>-Mon Jan 10 11:22:02 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Jan 10 07:41:31 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/README: mention rdoc-mode.el and ruby-style.el.</div><div class='del'>-</div><div class='del'>-Sun Jan  9 20:37:21 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Jan  9 16:31:53 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Kernel.#syscall): implemented on LP64/LLP64 environments too.</div><div class='del'>-	  also uses __syscall if available for *BSD on 64bit architecture.</div><div class='del'>-	  [ruby-core:34062]</div><div class='del'>-</div><div class='del'>-Sun Jan  9 16:31:34 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale::LOCALE_NAME_RE):</div><div class='del'>-	  some platform has a locale without territory but with</div><div class='del'>-	  encoding.</div><div class='del'>-	  (#each_sub_locale): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  9 14:47:50 2011  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: apply a patch from Nobuyoshi Nakada.</div><div class='del'>-	  fixed #3616 [ruby-core:31484] IRB + readline incorrectly counts</div><div class='del'>-	  non-printing characters in prompt</div><div class='del'>-</div><div class='del'>-Sat Jan  8 21:47:26 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): use rb_ary_resize.</div><div class='del'>-	  (ary_cutoff): removed.</div><div class='del'>-</div><div class='del'>-Sat Jan  8 21:24:17 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swapf): compilation condition simplified.</div><div class='del'>-	  (swapd): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  8 20:51:25 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swapd): remove duplicated code.</div><div class='del'>-</div><div class='del'>-Sat Jan  8 19:28:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Jan  7 23:07:40 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): backref needs to capture.</div><div class='del'>-</div><div class='del'>-Fri Jan  7 21:57:22 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-variables), misc/ruby-style.el:</div><div class='del'>-	  show trailing whitespace.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): highlight</div><div class='del'>-	  regexp after open bracket.  [ruby-core:34183]</div><div class='del'>-</div><div class='del'>-Fri Jan  7 00:37:35 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 22:42:02 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_karatsuba): avoid overflow that make assertion</div><div class='del'>-	  fail in certain case.  this patch is contributed from Ray Chason</div><div class='del'>-	  &lt;chasonr at gmail.com&gt; in personal communication.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 20:55:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): ignore rest from first dot from</div><div class='del'>-	  TARGET to generate init function name.</div><div class='del'>-	  this is followup of r30464.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 11:27:01 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/tree_builder.rb (start_mapping): tags</div><div class='del'>-	  should not be included in JSON mapping</div><div class='del'>-</div><div class='del'>-Thu Jan  6 09:23:33 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (eof?): BufferedIO should proxy eof? to the</div><div class='del'>-	  underlying IO object.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 09:12:31 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): fixing gsub when multiple error flags</div><div class='del'>-	  are passed to GCC.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 05:25:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): export.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 05:14:41 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (get_strio, strio_set_string)</div><div class='del'>-	  (strio_reopen): check if frozen.  [ruby-core:33648]</div><div class='del'>-</div><div class='del'>-Thu Jan  6 05:10:58 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_resize): new utility function.  [ruby-dev:42912]</div><div class='del'>-</div><div class='del'>-Thu Jan  6 05:03:26 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (init_funcname_len): ignore rest from first dot.</div><div class='del'>-	  [ruby-dev:41774]</div><div class='del'>-</div><div class='del'>-Thu Jan  6 02:55:48 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: use YAML 1.0 output</div><div class='del'>-	  format for serializing nil values.  Thanks Eric Hodel!</div><div class='del'>-</div><div class='del'>-	* test/psych/test_nil.rb: test for nil values</div><div class='del'>-</div><div class='del'>-Wed Jan  5 14:21:34 2011  Mark Dodwell  &lt;hi@mkdynamic.co.uk&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: fix rdoc typo.</div><div class='del'>-	  https://github.com/shyouhei/ruby/pull/3</div><div class='del'>-</div><div class='del'>-Wed Jan  5 14:06:01 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_options.rb (TestRDocOptions#test_check_files):</div><div class='del'>-	  skip on Windows because chmod 0 doesn't mean unreadable by owner.</div><div class='del'>-</div><div class='del'>-Wed Jan  5 13:56:54 2011  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#get): A header hash given should not</div><div class='del'>-	  be modified.</div><div class='del'>-</div><div class='del'>-Wed Jan  5 12:10:08 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/{cfunc.c,dl.h,handle.c}, ext/fiddle/fiddle.{h,c}: Use _WIN32</div><div class='del'>-	  rather than checking for windows.h.  Thanks Jon Forums!</div><div class='del'>-	  [ruby-core:33977]</div><div class='del'>-</div><div class='del'>-Sat Jan  1 17:02:50 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale#search_file): make it possible</div><div class='del'>-	  to load a localization from a gem.</div><div class='del'>-	  (IRB::Locale#lc_path): obsoleted because of the change of #search_file</div><div class='del'>-	  (IRB::Locale#each_localized_path): new private method, based on</div><div class='del'>-	  lc_path</div><div class='del'>-	  (IRB::Locale#find): follows the change of #search_file.</div><div class='del'>-	  (IRB::Locale#load): removed duplicate with #find.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 11:44:42 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 11:10:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: take care of platforms where long is bigger</div><div class='del'>-	  than int.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 11:03:58 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (optparse): shell completion support.</div><div class='del'>-</div><div class='del'>-	* misc/README (rb_optparse.{bash,zsh}): for shell completion.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (VALUE rb_ary_print_on): I have never seen</div><div class='del'>-	  this function anywhere.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 04:20:11 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): don't raise exception when</div><div class='del'>-	  the conversion is for writing to console.</div><div class='del'>-	  Patched by Heesob Park [ruby-core:33999]</div><div class='del'>-</div><div class='del'>-Fri Dec 31 12:02:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): use less temporary objects.</div><div class='del'>-</div><div class='del'>-Fri Dec 31 11:46:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags), lib/mkmf.rb (configuration): turn</div><div class='del'>-	  warnings into errors only for bundled extensions.</div><div class='del'>-	  [ruby-core:33815]</div><div class='del'>-</div><div class='del'>-Fri Dec 31 11:15:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (sizeof): zlib.h mistakenly assumes the result</div><div class='del'>-	  of sizeof to be int, not size_t.</div><div class='del'>-</div><div class='del'>-Fri Dec 31 10:27:34 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Dec 31 03:23:26 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD__uqtoa): Fix overflow when long != quad_t.</div><div class='del'>-	  patched by Peter Weldon &lt;peter.weldon AT null.net&gt;</div><div class='del'>-	  [ruby-core:33985]</div><div class='del'>-</div><div class='del'>-Fri Dec 31 03:00:34 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: remove unnecessary semicolons.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 23:09:47 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): guard iseq from GC while method definition.</div><div class='del'>-	  [ruby-dev:42832]</div><div class='del'>-</div><div class='del'>-Thu Dec 30 20:18:32 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 20:57:09 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: Check V=1 argument if run "make clean" or similar.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 20:41:50 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: Kill ugly line continuation.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 11:49:40 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Dec 29 21:20:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (maygvl_copy_stream_wait_readwrite): define if USE_SENDFILE</div><div class='del'>-</div><div class='del'>-Wed Dec 29 20:37:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: strip current directory prefix.</div><div class='del'>-</div><div class='del'>-	* enc/depend (clean): remove name2ctype.h when out-of-place build.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (clean-enc): pass V to inferior make.</div><div class='del'>-</div><div class='del'>-Wed Dec 29 18:23:46 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): need to escape if the coderange is invalid.</div><div class='del'>-</div><div class='del'>-Wed Dec 29 10:06:51 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Dec 29 07:22:15 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/rdoctask.rb: Deprecate in favor of rdoc/task.</div><div class='del'>-</div><div class='del'>-Wed Dec 29 07:07:06 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Import RDoc 3.1</div><div class='del'>-</div><div class='del'>-Tue Dec 28 18:36:38 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c, include/ruby/intern.h (rb_compile_error_with_enc): new</div><div class='del'>-	  function to raise syntax error, with source encoding'ed message.</div><div class='del'>-</div><div class='del'>-	* parse.y (compile_error): use above function.</div><div class='del'>-	  [ruby-core:33951] (#4217)</div><div class='del'>-</div><div class='del'>-Tue Dec 28 07:37:38 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec 28 07:17:11 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add ARGF.write and so on.</div><div class='del'>-</div><div class='del'>-Tue Dec 28 07:12:38 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add new magic-comment. (warn-indent) [ruby-core:25442]</div><div class='del'>-</div><div class='del'>-Tue Dec 28 04:32:37 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: check for windows.h while building fiddle.</div><div class='del'>-	  Thanks Jon Forums! [ruby-core:33923]</div><div class='del'>-</div><div class='del'>-Tue Dec 28 01:45:12 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add Zlib.deflate and Zlib.inflate.</div><div class='del'>-	  [ruby-dev:42833]</div><div class='del'>-</div><div class='del'>-Mon Dec 27 21:22:33 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: Remove obsoleted coding rule. Now, we</div><div class='del'>-	  don't support to build on Windows 95/98 and Me.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 18:27:13 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 15:22:23 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/README.win32: note to need NT based OS to build ruby.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 12:14:46 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (EXTMK_ARGS): specify to pass macro V, because nmake</div><div class='del'>-	  doesn't pass it via MAKEFLAGS.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 10:33:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib): Add Zlib.deflate and Zlib.inflate.</div><div class='del'>-	  [ruby-dev:42833]</div><div class='del'>-</div><div class='del'>-Mon Dec 27 07:38:07 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rb_optparse.zsh: add compdef for generator.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 07:32:07 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#compsys): escape brackets too.</div><div class='del'>-	  [ruby-dev:42754]</div><div class='del'>-</div><div class='del'>-Mon Dec 27 01:30:08 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: add IF_NAMESIZE.</div><div class='del'>-	  add a default for INET6_ADDRSTRLEN.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 23:49:47 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: suppress a strange error message when RMALL</div><div class='del'>-	  found no such file.</div><div class='del'>-	* win32/rmall.bat: new.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 21:23:23 2010    &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: fix 'nmake clean-enc' breakage since r28322.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 22:25:07 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (ripper.y): fix messages with nmake.</div><div class='del'>-	  [ruby-dev:42896]</div><div class='del'>-</div><div class='del'>-Sun Dec 26 22:24:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): get rid of warnings caused by</div><div class='del'>-	  -Wdeclaration-after-statement on cygwin.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 20:28:34 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_exec): add small comment.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 20:52:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define INET_ADDRSTRLEN as 16 if not</div><div class='del'>-	  available.  fix compilation error on mswin32-60.  reported by nobu.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 19:37:37 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: define IFNAMSIZ if not available.</div><div class='del'>-	  fix compilation error on mingw32.  reported by nobu.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 12:16:29 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths::HOMEDIR): no exception if</div><div class='del'>-	  HOME is not set.  [ruby-core:33867]</div><div class='del'>-</div><div class='del'>-Sun Dec 26 11:39:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): missing ripper rule.  i.e., `a::B ||= c 1'.</div><div class='del'>-	  http://twitter.com/#!/wannabe53/status/18797576396472321</div><div class='del'>-	  http://twitter.com/#!/wannabe53/status/18798416150663168</div><div class='del'>-</div><div class='del'>-Sun Dec 26 11:15:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/with_different_ofs.rb (DifferentOFS): should not affect</div><div class='del'>-	  original classes.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 09:35:07 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 09:22:19 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (rb_if_indextoname): new function to abstract</div><div class='del'>-	  environments without if_indextoname.</div><div class='del'>-	  (inspect_ipv6_multicast_if): new function to inspect</div><div class='del'>-	  IPV6_MULTICAST_IF.</div><div class='del'>-	  Socket::Option.new(:INET6, :IPV6, :MULTICAST_IF,</div><div class='del'>-	  [2].pack("I!")).inspect is</div><div class='del'>-	  "#&lt;Socket::Option: INET6 IPV6 MULTICAST_IF eth0&gt;".</div><div class='del'>-</div><div class='del'>-Sun Dec 26 04:31:15 2010  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/registry.rb: Corrected RegCreateKeyExA signature.</div><div class='del'>-	  Patch by Rafal Michalski [ruby-core:33874] [Ruby 1.9-Bug#4203]</div><div class='del'>-</div><div class='del'>-Sun Dec 26 02:31:58 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (advice_arg_check): Change argument check.</div><div class='del'>-	  Now, an unsupported advice makes NotImplementedError.</div><div class='del'>-	  [ruby-dev:42887] [Ruby 1.9-Feature#4204]</div><div class='del'>-</div><div class='del'>-Sun Dec 26 03:00:53 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Fix build error which was introduced r30372.</div><div class='del'>-</div><div class='del'>-Sun Dec 26 01:37:10 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check the existence of if_indextoname().</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: yesterday's akr's commits destroyed the build of</div><div class='del'>-	  some unrelated platforms (such as Windows).</div><div class='del'>-</div><div class='del'>-Sat Dec 25 23:29:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_ipv4_add_drop_membership): new function</div><div class='del'>-	  to inspect struct ip_mreq and struct ip_mreqn for</div><div class='del'>-	  IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.</div><div class='del'>-	  Socket::Option.new(:INET, :IP, :ADD_MEMBERSHIP,</div><div class='del'>-	  [239,255,99,81, 0,0,0,0].pack("CCCCCCCC")).inspect is now</div><div class='del'>-	  "#&lt;Socket::Option: INET IP ADD_MEMBERSHIP 239.255.99.81 0.0.0.0&gt;".</div><div class='del'>-	  (inspect_ipv4_multicast_if): new function to inspect struct in_addr</div><div class='del'>-	  and struct ip_mreqn for IP_MULTICAST_IF.</div><div class='del'>-	  Socket::Option.new(:INET, :IP, :MULTICAST_IF,</div><div class='del'>-	  [192,168,0,7].pack("CCCC")).inspect is now</div><div class='del'>-	  "#&lt;Socket::Option: INET IP MULTICAST_IF 192.168.0.7&gt;".</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check struct ip_mreq and struct ip_mreqn.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 22:49:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv: DifferentOFS needs to be include in each classes.</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest_extend.rb (TestDigestExtend#setup):</div><div class='del'>-	  should not depend on the result of previous tests</div><div class='del'>-</div><div class='del'>-	* test/with_different_ofs.rb (DifferentOFS::WithDifferentOFS): give</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-	* test/with_different_ofs.rb (DifferentOFS): test suite for test</div><div class='del'>-	  suites affected by $,.</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest_extend.rb (TestDigestExtend): should not</div><div class='del'>-	  assume $, invariant.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_data_converters.rb, test/csv/test_table.rb: don't</div><div class='del'>-	  call setup within tests.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 20:01:40 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): Added rb_thread_atfork(). We must reinitialize</div><div class='del'>-	  GVL at new process creation.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 18:26:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_ipv6_mreq): new function to inspect</div><div class='del'>-	  struct ipv6_mreq for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP.</div><div class='del'>-	  Socket::Option.new(:INET6, :IPV6, :JOIN_GROUP,</div><div class='del'>-	  [0xff12,0,0,0,0,0,0,1, 2].pack("nnnnnnnnI!")).inspect is now</div><div class='del'>-	  "#&lt;Socket::Option: INET6 IPV6 JOIN_GROUP ff12::1 eth0&gt;".</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check struct ipv6_mreq.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 18:04:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV.foreach): 'rb' mode is defaulted in open.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#init_separators): cannonicalize encoding options</div><div class='del'>-	  as Encoding objects.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 18:30:34 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork): Add small comment why we need</div><div class='del'>-	  reset random seed.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 17:33:55 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/base.rb (TestCSV.with_different_ofs): give name to</div><div class='del'>-	  anonymous classes.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#init_separators): use IO#gets with length</div><div class='del'>-	  parameter to get rid of wrong conversion.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV::foreach, CSV#initialize): directly use encoding</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb, test/csv: should not assume $, invariant.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 16:08:06 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c: change rb_atomic_t definition from uchar to uint.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 15:04:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_encodings.rb (TestEncodings#setup): fix evil test</div><div class='del'>-	  suite writing to the source directory.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 15:08:08 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): Added rb_thread_atfork_before_exec().</div><div class='del'>-	  We must reinitialize GVL at new process creation. Otherwise</div><div class='del'>-	  we may meet an insane deadlock. [Bug#4121][ruby-dev:42686]</div><div class='del'>-</div><div class='del'>-Sat Dec 25 14:27:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_encoding_option): accept Encoding object as</div><div class='del'>-	  encoding: optional argument.  [ruby-dev:42884]</div><div class='del'>-</div><div class='del'>-Sat Dec 25 13:37:55 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 2.0.2 r6093.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 13:05:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 12:48:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require_relative): don't omit return type.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 11:06:00 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require_relative): Add documentation.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 11:02:52 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzreader_gets): support optional length</div><div class='del'>-	  parameter.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_read, gzfile_readpartial): length should</div><div class='del'>-	  be long.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 10:51:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.{c,h} (fbuffer_free_only_buffer):</div><div class='del'>-	  unused.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.c (ossl_pkcs5_pbkdf2_hmac): add casts.</div><div class='del'>-</div><div class='del'>-Fri Dec 24 08:46:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Dec 23 19:17:14 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/cacert.pem: updated because it has been expired.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/server.crt: signed again because CA cert was expired.</div><div class='del'>-</div><div class='del'>-Thu Dec 23 11:16:52 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Dec 23 11:00:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_type): check for type from extensions for ruby</div><div class='del'>-	  1.8.  see [ruby-core:33797].</div><div class='del'>-</div><div class='del'>-Thu Dec 23 08:12:59 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: refactoring Net::SMTP#esmtp= to use an</div><div class='del'>-	  attr_accessor</div><div class='del'>-</div><div class='del'>-Thu Dec 23 06:35:41 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: Net::SMTP should close the SSL connection if the</div><div class='del'>-	  connection verification fails.</div><div class='del'>-</div><div class='del'>-Thu Dec 23 01:47:58 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: remove #object_id. [ruby-dev:42840]</div><div class='del'>-</div><div class='del'>-Wed Dec 22 08:56:39 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Module#private_constant and Module#public_constant.</div><div class='del'>-	  [ruby-dev:39685][ruby-core:32698]</div><div class='del'>-</div><div class='del'>-Wed Dec 22 07:59:23 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add IO#advise. [ruby-core:33110] [Ruby 1.9-Feature#4038]</div><div class='del'>-</div><div class='del'>-Tue Dec 21 23:45:31 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_GC): move back object_id to Kernel. [ruby-dev:42840]</div><div class='del'>-</div><div class='del'>-Tue Dec 21 12:45:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (target_archs): remove temporary objects.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in, enc/depend (clean): remove work directories.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 07:39:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 06:25:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_contrib.rb (ContribTester#test_pos): should not</div><div class='del'>-	  use fixed path name for tests.  [ruby-dev:42827]</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_sax.rb (SAX2Tester#test_socket): should not use</div><div class='del'>-	  fixed port for tests.  [ruby-dev:42828]</div><div class='del'>-</div><div class='del'>-Tue Dec 21 06:10:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (setup_args), vm.c (invoke_block_from_c),</div><div class='del'>-	  vm_insnhelper.c (caller_setup_args): reverted r30241 and r30243</div><div class='del'>-	  except for the test.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 01:41:42 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c : add an extra byte to buffer for the specification of read</div><div class='del'>-	  in Windows. see [ruby-core:33460] and r29980. and, we have to</div><div class='del'>-	  discuss how to do this one byte.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 01:18:06 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: Fix build error for win32. This regression was</div><div class='del'>-	  introduced by r30271.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 00:59:40 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func): Moved interrupted_lock</div><div class='del'>-	  destroying code from native_thread_destroy() to</div><div class='del'>-	  thread_cleanup_func() because it's platform independent logic.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_thread_destroy): ditto.</div><div class='del'>-	* thread_pthread.c (native_thread_destroy): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 00:46:20 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func): Don't touch native threading</div><div class='del'>-	  resource at fork. Sadly this is purely bandaid. We need to</div><div class='del'>-	  implement proper fix later. [Bug #4169] [ruby-core:33767]</div><div class='del'>-</div><div class='del'>-Tue Dec 21 00:22:44 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exit_success_p): Check status code more carefully.</div><div class='del'>-	  status code may have garbage in upper bit.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 23:12:37 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 20:04:41 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add #__id__ and #object_id. [ruby-dev:42778]</div><div class='del'>-</div><div class='del'>-Mon Dec 20 20:03:21 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_destroy): Fixed gvl_cond leak.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 13:49:05 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add item for RDoc 3.0.1</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Import RDoc 3.0.1, remove require for perl parser.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 12:15:32 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Import RDoc 3.0.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 01:55:03 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): Added O_DIRECT. This feature was proposed by</div><div class='del'>-	  Run Paint Run Run.</div><div class='del'>-	  [Feature #4015] [ruby-core:33018]</div><div class='del'>-</div><div class='del'>-Sun Dec 19 19:15:23 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Dec 18 21:52:37 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): suppress warning: "_WIN32" is not</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-Sat Dec 18 16:02:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (setup_args), vm.c (invoke_block_from_c),</div><div class='del'>-	  vm_insnhelper.c (caller_setup_args): fix of r30241. lambda block</div><div class='del'>-	  should check argument number.</div><div class='del'>-</div><div class='del'>-Sat Dec 18 14:42:29 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Dec 18 10:07:04 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (setup_args, iseq_compile_each): optimize AMPER LAMBDA</div><div class='del'>-	  combination as block.</div><div class='del'>-</div><div class='del'>-Fri Dec 17 22:07:16 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_GC): move #__id__ and #object_id to BasicObject.</div><div class='del'>-	  [ruby-dev:42778]</div><div class='del'>-</div><div class='del'>-Fri Dec 17 19:35:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (TestMkmf::FakeLog): capture output from mkmf.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_find_executable.rb (test_find_executable):</div><div class='del'>-	  suppress meaningless differences for chkbuild.</div><div class='del'>-</div><div class='del'>-Fri Dec 17 13:26:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (BASERUBY): quit with an error when BASERUBY was not</div><div class='del'>-	  able to set, just like configure.in does. [ruby-dev:42782]</div><div class='del'>-</div><div class='del'>-Fri Dec 17 07:04:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Dec 17 04:18:37 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode): Alter comment for better wording and ri</div><div class='del'>-	  output.</div><div class='del'>-</div><div class='del'>-Fri Dec 17 00:05:40 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_advise): New API. IO#advise() allows to tell the</div><div class='del'>-	  ruby runtime how it expects to use a file handle. This feature</div><div class='del'>-	  can be improved a performance some situations.</div><div class='del'>-	  Note: This feature is mainly developed by Run Paint Run Run.</div><div class='del'>-	  Thank you! [ruby-core:33110] [Ruby 1.9-Feature#4038]</div><div class='del'>-</div><div class='del'>-	* io.c (do_io_advise): Helper function.</div><div class='del'>-	* io.c (io_advise_sym_to_const): ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 23:29:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (bin-comm): use transformed name.</div><div class='del'>-	  [ruby-dev:42777]</div><div class='del'>-</div><div class='del'>-Thu Dec 16 21:52:07 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 21:46:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb (RbConfig): honor ARCHFLAGS and RC_ARCHS to</div><div class='del'>-	  override embedded ARCH_FLAG value on universal-darwin.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 19:50:12 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{configure.bat,setup.mak,Makefile.sub} (PROGRAM_PREFIX,</div><div class='del'>-	  PROGRAM_SUFFIX): unite the differences of the names of macros of</div><div class='del'>-	  prefix and suffix.</div><div class='del'>-	  reported by HANEDA Norikatsu. [ruby-dev:42775]</div><div class='del'>-</div><div class='del'>-Thu Dec 16 08:04:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (RNode): match the type of flags to RBasic, and renamed</div><div class='del'>-	  nd_file as nd_reserved.</div><div class='del'>-</div><div class='del'>-	* iseq.c (set_relation), vm_insnhelper.c (vm_cref_push): nd_file</div><div class='del'>-	  is always zero-cleared.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 07:22:30 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb: Imported minitest 2.0.1 r6079.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 20:45:02 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (process_args): need to setup @help to print options.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 11:19:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_to_io): forgotten to fix with r30201.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 11:07:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (simple_sendfile): enable on Mac OS X.</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_copy_stream_sendfile): moved precheck of copy length.</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_copy_stream_sendfile): should wait for both of</div><div class='del'>-	  read/write fds.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 07:11:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 04:02:00 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):</div><div class='del'>-	  fix compile error when !HAVE_X509V3_SET_NCONF. Thanks</div><div class='del'>-	  Chikanaga-san. [ruby-dev:42761] [Ruby 1.9-Bug#4158]</div><div class='del'>-</div><div class='del'>-Wed Dec 15 03:41:31 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_parser_events.rb (TestRipper#test_block_variables):</div><div class='del'>-	  Limit address space 100MB instead 100KB. Quite frankly, This</div><div class='del'>-	  margin is too narrow to contain ruby. [ruby-dev:42763] [Bug#4159]</div><div class='del'>-</div><div class='del'>-Tue Dec 14 23:53:52 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (simple_sendfile): improve linux compatibility on FreeBSD,</div><div class='del'>-	  and now it works. But without cpuset -l 0, it still gets stuck.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 20:31:33 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 18:31:48 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: help messages.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 18:19:03 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): there is no reason to use the abbreviation for here.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 15:03:46 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_reopen, test_reinitialize): should close</div><div class='del'>-	  the temporary files.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 14:24:15 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (make_tempfile): change the prefix from 'foo'</div><div class='del'>-	  to 'test_io' because the old one is meaningless and inconvenient.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_binmode_after_closed): the temporary file</div><div class='del'>-	  made by make_temfile is already closed.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 13:52:19 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_flush_in_finalizer[12]): should close</div><div class='del'>-	  temporary file because it's only used for taking pathname and</div><div class='del'>-	  unlinking the file after the end of the test (in GC phase).</div><div class='del'>-</div><div class='del'>-Tue Dec 14 13:34:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_s_open): should close the IO if some error</div><div class='del'>-	  occurs in initializing.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 13:04:16 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPRequest#send_request_body_data):</div><div class='del'>-	  set binmode to tempfile.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 12:55:46 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (*): should close files associated with zlib.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 11:30:17 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (test_inplace_rename_impossible): unlink</div><div class='del'>-	  the renamed temporary file on no_safe_rename platforms.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (test_readlines_limit_0,</div><div class='del'>-	  test_each_line_limit_0): should close argf because the associated</div><div class='del'>-	  Tempfile object cannot unlink the temporary file when it's gc'ed</div><div class='del'>-	  on some platforms (Windows, etc.)</div><div class='del'>-</div><div class='del'>-Tue Dec 14 11:27:07 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (Minitest::Unit#_run_suite): split test</div><div class='del'>-	  name and its time. Thiw allows to know test's name when you are</div><div class='del'>-	  running tests and meet a test which spends long time at realtime.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 11:25:20 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add -Werror=declaration-after-statement to default</div><div class='del'>-	  warning flag. If you are using GCC, this flag is useful to</div><div class='del'>-	  prevent breaking VC build.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 10:25:57 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_decode0): how many gcc-c99isms</div><div class='del'>-	  must a man mend; before he can build with VC? r30178</div><div class='del'>-</div><div class='del'>-Mon Dec 13 21:26:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (simple_sendfile): disable the use of sendfile(2) on</div><div class='del'>-	  FreeBSD. It blocks on TestIO#test_copy_stream_socket.</div><div class='del'>-</div><div class='del'>-Mon Dec 13 18:35:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: define USE_SENDFILE on FreeBSD or DragonFly BSD.</div><div class='del'>-	  Remove Mac OS X because its argument is different from them.</div><div class='del'>-</div><div class='del'>-Mon Dec 13 12:00:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Mon Dec 13 11:21:14 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (simple_sendfile): added for BSD version of sendfile(2).</div><div class='del'>-</div><div class='del'>-Mon Dec 13 09:50:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPRequest#set_form): Added to support</div><div class='del'>-	  both application/x-www-form-urlencoded and multipart/form-data.</div><div class='del'>-	  There is a similar API, Net::HTTPRequest#set_form_data, but</div><div class='del'>-	  to keep its compatibility this is newly added. [ruby-dev:42729]</div><div class='del'>-</div><div class='del'>-Sun Dec 12 23:45:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix for __goto__ and __label__</div><div class='del'>-	  where were totally broken.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 22:45:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ID_H_INCLUDES): now id.h depends on vm_opts.h.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 20:42:47 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl: suppress all warning: "SUPPORT_JOKE" is not</div><div class='del'>-	  defined.  [ruby-dev:42730]</div><div class='del'>-</div><div class='del'>-Sun Dec 12 20:35:07 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rb_optparse.zsh: update how to install.</div><div class='del'>-</div><div class='del'>-	* misc/rb_optparse.zsh: avoid error when setopt noclobber.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: fix typo. pointed out at</div><div class='del'>-	  &lt;http://d.hatena.ne.jp/nagachika/20101207&gt;.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 13:27:35 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 11:53:24 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 04:01:58 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): fix: extra back slash is added when</div><div class='del'>-	  the string is dummy encoding and includes \x22 or \x5C.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 02:42:24 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: indefinite length BER to DER encoding is</div><div class='del'>-	  properly supported.  Thanks Martin Bosslet! [ruby-core:33082]</div><div class='del'>-</div><div class='del'>-Sat Dec 11 17:43:34 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h: suppress "warning: 'VPrint' declared</div><div class='del'>-	  'static' but never defined".</div><div class='del'>-</div><div class='del'>-Sat Dec 11 09:24:57 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Dec 11 08:12:48 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c, ext/openssl/ossl_pkey_rsa.c: Document RSA, RSA</div><div class='del'>-	  encryption/decryption and PKCS #5 encryption/decryption.</div><div class='del'>-</div><div class='del'>-Sat Dec 11 06:23:41 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: include Comparable to provide #==.</div><div class='del'>-	  Document OpenSSL::X509::Name#&lt;=&gt;.  [Ruby 1.9-Feature#4116]</div><div class='del'>-</div><div class='del'>-Sat Dec 11 05:48:28 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: infinite loop on method_missing at loading.</div><div class='del'>-	  [ruby-dev:42716] [Ruby 1.9-Bug#4129]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: when no eventloop is running, ruby freezes at</div><div class='del'>-	  exit.</div><div class='del'>-</div><div class='del'>-Sat Dec 11 02:23:15 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: try pkgconfig first, then fall back to</div><div class='del'>-	  normal have_library, etc.  Thanks Erik Hollensbe. [ruby-core:32406]</div><div class='del'>-</div><div class='del'>-Fri Dec 10 22:33:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln_find.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 20:05:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl (ruby_method_ids): suppress warnings.</div><div class='del'>-	  [ruby-dev:42730]</div><div class='del'>-</div><div class='del'>-Fri Dec 10 18:29:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): relatively called non-shared</div><div class='del'>-	  binary cannot be found in PATH, so use given pathname.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 18:28:40 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (SCRIPTPROGRAMS): ignore backup files and etc.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (scriptbin): set executable bit.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install_recursive): always skip default ignored</div><div class='del'>-	  files.  if block is given, call it instead of calling install.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (bin-comm): use install_recursive.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 18:12:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (TestMkmf#config_value): extract macro value from</div><div class='del'>-	  config.h.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_sizeof.rb (TestMkmf::TestSizeof#test_sizeof_builtin),</div><div class='del'>-	  (TestMkmf::TestSizeof#test_sizeof_struct): more tests.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_signedness): should use the prelude code.</div><div class='del'>-	  [ruby-dev:42731]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.log_close): separate from Logging.logfile.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (TestMkmf::MKMFLOG): show mkmf.log at failures.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (TestMkmf#teardown): close log file for each tests.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 11:36:43 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (enum): remove a comma at end of enumerator list.</div><div class='del'>-</div><div class='del'>-	* constant.h (rb_const_flag_t): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.h (enum catch_type): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.h (enum defined_type): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (enum iseq_type): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (enum vm_special_object_type): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 10:47:53 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (_HAVE_SANE_QUAD_): Don't forget LP64, r30156.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 10:37:17 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (_HAVE_SANE_QUAD_): if a certain platform has LONG_LONG in</div><div class='del'>-	  8 byte, it might be sane quad. [ruby-core:33634]</div><div class='del'>-</div><div class='del'>-Fri Dec 10 10:07:59 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: remove version 1.1 features.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 02:18:02 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509stctx_cleanup): removing C</div><div class='del'>-	  implementation of `cleanup`.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb: adding ruby implementation of</div><div class='del'>-	  `cleanup`.  OpenSSL::X509::StoreContext#cleanup is deprecated since</div><div class='del'>-	  reusing the underlying struct doesn't make sense. [ruby-dev:42546]</div><div class='del'>-</div><div class='del'>-Thu Dec  9 20:14:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lvar_defined_gen, shadowing_lvar_gen, dvar_defined): no</div><div class='del'>-	  warnings for unused method and block arguments.</div><div class='del'>-	  [ruby-dev:42718] [ruby-dev:42724]</div><div class='del'>-</div><div class='del'>-Thu Dec  9 19:25:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Dec  9 18:51:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb (WEBrick::AccessLog#format): support</div><div class='del'>-	  %{remote}p for logging remote (client) port number.</div><div class='del'>-	  [ruby-dev:42670]</div><div class='del'>-</div><div class='del'>-Thu Dec  9 11:00:30 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dup): should copy contents only.  no instance</div><div class='del'>-	  variable, no class would be copied.  it would affect methods</div><div class='del'>-	  #sort, #reject, #transpose, #uniq, #compact, and #shuffle.</div><div class='del'>-	  [ruby-core:33640]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reverse_m): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_rotate_m): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 21:38:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb: clean a warning: assigned but unused</div><div class='del'>-	  variable. patched by Kouhei Yanagita. [ruby-dev:42722]</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/import.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 21:36:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen): fix line number.  [ruby-dev:42718]</div><div class='del'>-</div><div class='del'>-Wed Dec  8 20:37:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 22:37:15 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): duplicate string if shared. [ruby-dev:42719]</div><div class='del'>-</div><div class='del'>-Tue Dec  7 22:31:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Officious): separate completion</div><div class='del'>-	  options from --help.  [ruby-dev:42690]</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion#candidate),</div><div class='del'>-	  (OptionParser::Switch#compsys): remove unused variables.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 22:05:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): call default handler of the given</div><div class='del'>-	  hash, method, proc or [] method as fallback.  [ruby-dev:42692]</div><div class='del'>-</div><div class='del'>-Tue Dec  7 21:59:37 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/light/node.rb: remove circular require.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 21:56:01 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_light.rb: really suppress a warning.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 21:51:57 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_light.rb: suppress a warning.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 21:14:03 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 21:06:38 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/doctype.rb, test/rexml/test_doctype.rb: suppress warnings.</div><div class='del'>-	  [ruby-core:33305]</div><div class='del'>-	  Reported by Aaron Patterson. Thanks!!!</div><div class='del'>-</div><div class='del'>-Tue Dec  7 18:56:52 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (String#kconv): fix typo and update rdoc.</div><div class='del'>-	  patched by Kouhei Yanagita [ruby-dev:42696]</div><div class='del'>-</div><div class='del'>-Tue Dec  7 20:32:11 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_doctype.rb: add Accessor to test case name.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 20:31:02 2010  Kouhei Sutou  &lt;kou@clear-code.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_doctype.rb: Doctype -&gt; DocType.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 20:29:23 2010  Kouhei Sutou  &lt;kou@clear-code.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_doctype_mixin.rb: rename to ...</div><div class='del'>-	* test/rexml/test_doctype.rb: ... this to remove needless name.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 17:03:16 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (xlist): supported the XLIST command, which is an</div><div class='del'>-	  extension by Apple and Google.  patch by Geoff Youngs.</div><div class='del'>-	  [ruby-core:33521]</div><div class='del'>-</div><div class='del'>-Tue Dec  7 08:00:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (WERRORFLAG): flag to treat</div><div class='del'>-	  warnings as errors.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.postpone): yield log file object.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (xsystem): add options, :werror only right now.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (with_werror): check as if warnings are errors.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (convertible_int): make declaration conflict</div><div class='del'>-	  warnings errors not to pass wrong type.  [ruby-dev:42684]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (COMMON_MACROS): get rid of conflicts.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (WARNFLAGS): make declaration conflict</div><div class='del'>-	  warnings errors if possible.</div><div class='del'>-</div><div class='del'>-Sun Dec  7 21:16:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 00:27:14 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): fixed more for readline,</div><div class='del'>-	  and so on. [ruby-core:33511]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 23:18:22 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (TestMkmf#setup): run quietly.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_find_executable.rb (test_find_executable): use</div><div class='del'>-	  configured results.</div><div class='del'>-</div><div class='del'>-	* common.mk (test-build): test for build process.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 22:47:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#candidate): skip separators.</div><div class='del'>-</div><div class='del'>-	* sample/optparse/opttest.rb: should not override --help.</div><div class='del'>-	  [ruby-dev:42690]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 19:00:48 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rb_optparse.zsh: fix typos.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 18:59:04 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add new encodings.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 18:56:42 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (TestString#test_scan): add a test for</div><div class='del'>-	  [ruby-core:33338] #4087.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 18:55:36 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/test_common.rb (TestCommon#test_encode_www_form): add</div><div class='del'>-	  tests for r30015.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 10:39:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser#initialize_pattern):</div><div class='del'>-	  refix for restrict the pattern.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 09:45:11 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl (OpenSSL): add toplevel documentation</div><div class='del'>-	* ext/openssl/ossl_ssl.c (SSLContext, SSLSocket: add additional</div><div class='del'>-	  documentation</div><div class='del'>-	* ext/openssl: move "let rdoc know about mOSSL" comments so they don't</div><div class='del'>-	  show up in output</div><div class='del'>-</div><div class='del'>-Mon Dec  6 09:16:46 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser#initialize_pattern):</div><div class='del'>-	  workaround fix pattern of hostname for RFC 3986. [ruby-dev:42672]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 09:14:38 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_signedness): rename unused variable prelude.</div><div class='del'>-</div><div class='del'>-Sun Dec  5 17:56:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (make_metaclass): fix probable typo.  builtin type flag</div><div class='del'>-	  cannot be used with FL_TEST.</div><div class='del'>-</div><div class='del'>-Sun Dec  5 12:09:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB.parse_opts): fix typo. [ruby-core:33574]</div><div class='del'>-</div><div class='del'>-Sun Dec  5 11:27:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): decrement for ungotten line.</div><div class='del'>-	  [ruby-dev:42680]</div><div class='del'>-</div><div class='del'>-Sun Dec  5 10:32:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 11:39:17 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (initialize): add documentation.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 11:21:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update_by): new API for Hash#update.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 11:18:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 11:07:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_inc_const_missing_count): missing prototype.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 08:50:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (Init_iconv): no warnings if $VERBOSE is nil.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 08:25:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): revert r30064 and r30071,</div><div class='del'>-	  because of [ruby-core:26761]. Bug#4106 rejected.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 07:46:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (String#tr_cpp): substitute * with P like as</div><div class='del'>-	  autoconf.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 22:36:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): protected methods should be</div><div class='del'>-	  checked against the real class.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 20:23:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (convertible_int): define printf format prefix too.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (convertible_int): detect convertible integer type.</div><div class='del'>-	  port RUBY_REPLACE_INT from configure.in.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_sizeof): should return integer always.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 12:54:48 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (RCFLAGS): VC10 and after only. fixed the problem</div><div class='del'>-	  of r30015. [ruby-core:33530]</div><div class='del'>-</div><div class='del'>-Fri Dec  3 12:41:52 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): With our "lazy-sweep" GC engine, it is</div><div class='del'>-	  possible for an object to survive until its surrounding object</div><div class='del'>-	  space is about to be freed.  Those objects, if any, remains</div><div class='del'>-	  leaked for the rest of a process life.  This is problematic</div><div class='del'>-	  because for instance a T_DATA object may have its own destructor</div><div class='del'>-	  to terminate something.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): ruby_current_vm termination should be</div><div class='del'>-	  somewhere after rb_objspace_free for above reason.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 12:17:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): protected singleton methods should</div><div class='del'>-	  be visible from same real class methods.  [ruby-core:33506]</div><div class='del'>-</div><div class='del'>-Fri Dec  3 07:08:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): round upto next char</div><div class='del'>-	  boundary.  [ruby-dev:42674]</div><div class='del'>-</div><div class='del'>-Fri Dec  3 06:52:46 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 04:08:59 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_alias_internal): use st_insert2 and change return</div><div class='del'>-	  value to int.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_alias): follow enc_alias_internal.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 01:52:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_alias_internal): use xfree instead of free.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 23:52:26 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: entry for ruby_vm_at_exit().</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): bug fix around at_exit (1) timing was</div><div class='del'>-	  wrong. (2) execution order was opposite.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 23:05:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (RCFLAGS): -nologo switch is only available in</div><div class='del'>-	  newer versions of rc.exe. fixed the problem of r30012.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 21:28:07 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/add/rails.rb: removed.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 21:22:05 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_alias_internal): free the copied key and</div><div class='del'>-	  return NULL when given key is already registered.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_alias): call set_encoding_const only when the</div><div class='del'>-	  alias is not registered yet.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 19:58:24 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_at_exit): new API.  This enables extension libs to</div><div class='del'>-	  hook a VM termination.  Right now, because the VM we have is</div><div class='del'>-	  process global, most extensions do not deallocate resources and</div><div class='del'>-	  leave them to Operating System's reaping userland processes.  But</div><div class='del'>-	  in a future we plan to have multiple VMs to run simultaneously in</div><div class='del'>-	  a single process (MVM project).  At that stage we can no longer</div><div class='del'>-	  rely on OSes and have to manage every resources to be reclaimed</div><div class='del'>-	  properly.  So it is.  For a forward-compatibility reason this API</div><div class='del'>-	  is introduced now, encouraging you to be as gentle as you can for</div><div class='del'>-	  your resources; that is, tidy up your room.</div><div class='del'>-</div><div class='del'>-	* include/ruby/vm.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): new field.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_init2): initialize above new field.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): trigger those hooks.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 17:00:44 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 15:31:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): more fix. [ruby-core:33513]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 13:41:43 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): workaround for console reading troubles.</div><div class='del'>-	  fixed [ruby-core:33511]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 13:10:42 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form):</div><div class='del'>-	  split key-value when the value is Array like object.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 10:39:39 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#set_form_data):</div><div class='del'>-	  use URI.encode_www_form for application/x-www-form-urlencoded.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 10:38:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: remove $makeflags.defined?, it should be $mflags.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 10:19:47 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (rc): suppress meaningless message.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 10:09:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/extconf.rb: remove the lines which set -O3</div><div class='del'>-	  when -O option is not set.</div><div class='del'>-	  Note that -O3 doesn't always exist.</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 10:01:59 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: define $makeflags.defined? like $mflags.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 07:20:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::GCStressOption): --gc-stress</div><div class='del'>-	  option.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Mini#_run_suites): show the result</div><div class='del'>-	  even when interrupted on the way.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 07:08:38 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (setattr): should retry on EINTR.</div><div class='del'>-	  [ruby-dev:42666]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 02:30:50 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: fixed positional wording to match revised order.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 01:24:39 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/common.rb: don't use iconv on 1.9.</div><div class='del'>-	  patched by Shota Fukumori [ruby-core:33164]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 01:02:03 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Update github/flori/json from 1.4.2+ to</div><div class='del'>-	  e22b2f2bdfe6a9b0. this fixes some bugs.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 00:05:44 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: improve rdoc.</div><div class='del'>-	  This change the order of chapter because such overview should</div><div class='del'>-	  begin with simple examples.</div><div class='del'>-	  patched by Eric Hodel [ruby-core:33469]</div><div class='del'>-</div><div class='del'>-Wed Dec  1 22:01:49 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): fixed a potential bug when using bccwin32</div><div class='del'>-	  ruby with Microsoft's dll, though we already gave up of supporting</div><div class='del'>-	  bccwin32. [ruby-core:33503]</div><div class='del'>-</div><div class='del'>-Wed Dec  1 21:43:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Wed Dec  1 21:41:57 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_addrinfo.rb: extract Errno::EADDRINUSE as a method.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  1 15:08:32 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (test_not_started_session): non socket</div><div class='del'>-	  argument of SSLSocket.new is not supported on Windows.</div><div class='del'>-</div><div class='del'>-Wed Dec  1 14:36:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_memhash): zero-filled strings should return</div><div class='del'>-	  different values.  [ruby-core:33500]</div><div class='del'>-</div><div class='del'>-Wed Dec  1 14:27:49 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 2.0.0 r5952.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-	* lib/test/unit.rb: Compatibility fix for minitest changes.</div><div class='del'>-</div><div class='del'>-Wed Dec  1 10:16:41 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): fix typo (not 0xFD but 0xFE).</div><div class='del'>-</div><div class='del'>-Wed Dec  1 09:28:27 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: Follow .gnu_debuglink section.</div><div class='del'>-	  A user of distribution provided ruby will see line</div><div class='del'>-	  info if s/he has a debug package for ruby.</div><div class='del'>-	  patched by Shinichiro Hamaji [ruby-dev:42655]</div><div class='del'>-</div><div class='del'>-Wed Dec  1 01:29:15 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): inspect as a dummy encoding string</div><div class='del'>-	  when a UTF-16/32 (not BE/LE) string does not have a BOM.</div><div class='del'>-	  Unicode and some RFCs say that a string labeled as UTF-16/32</div><div class='del'>-	  doesn't have a BOM, it should be considered big endian.</div><div class='del'>-	  But many Windows programs generates little endian UTF-16</div><div class='del'>-	  strings without a BOM. So String#inspect treats a string</div><div class='del'>-	  labeled UTF-16/32 without a BOM as a dummy encoding string.</div><div class='del'>-	  patched by Martin Duerst. [ruby-core:33461]</div><div class='del'>-</div><div class='del'>-Tue Nov 30 17:04:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (parse_debug_line_cu): ignore DW_LNE_set_discriminator.</div><div class='del'>-	  To ignore, it needs to read a single unsigned LEB128 integer.</div><div class='del'>-</div><div class='del'>-Tue Nov 30 16:29:19 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: undef HAVE_BACKTRACE when the OS is FreeBSD (in other</div><div class='del'>-	  words backtrace() is libexecinfo) and it is optimized.</div><div class='del'>-	  This temporary hack may be also applied to other libexecinfo</div><div class='del'>-	  environments.</div><div class='del'>-</div><div class='del'>-Tue Nov 30 16:23:23 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: improve rdoc.</div><div class='del'>-	  patched by Eric Hodel ref #4100</div><div class='del'>-</div><div class='del'>-Tue Nov 30 12:23:52 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): read only 1 byte at once on console.</div><div class='del'>-	  workaround of Windows bug. see [ruby-core:33460].</div><div class='del'>-	  this is not the final solution.</div><div class='del'>-</div><div class='del'>-Tue Nov 30 11:39:13 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: improve rdoc.</div><div class='del'>-	  patched by mathew murphy [ruby-core:33472] ref #4100</div><div class='del'>-</div><div class='del'>-Tue Nov 30 05:03:44 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (encode_www_form, encode_www_form_component):</div><div class='del'>-	  Improve English in documentation.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_version=, ciphers=): Document</div><div class='del'>-	  #ssl_version=, add documentation for #ciphers=.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 22:55:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::WFKV_): get rid of backtrack explosion</div><div class='del'>-	  by nested repeat operators.  [ruby-core:33464]</div><div class='del'>-</div><div class='del'>-Mon Nov 29 22:53:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (scriptbin.mk): fix generated rules.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): fix argument type.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 21:12:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-forward-sexp): stop after literal hash</div><div class='del'>-	  key labels.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-keywords): highlight literal</div><div class='del'>-	  hash key labels as symbols.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 18:31:31 2010  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_unicode_public_review_issue_121):</div><div class='del'>-	  - Removed commented-out options that are no longer under discussion.</div><div class='del'>-	  - Added two more tests for forthcomming clarifications.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 14:31:17 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_isatty): use GetConsoleMode() to determine the</div><div class='del'>-	  fd is console or not, just like rb_w32_write_console(). [experimental]</div><div class='del'>-</div><div class='del'>-Mon Nov 29 14:19:40 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_write_console): wrong prototype.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 14:10:55 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): fixed indentation.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 22:13:39 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (NATIVE_MUTEX_LOCK_DEBUG): move and use it.</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix my timezone.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 21:58:58 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: remove pthread_atfork().</div><div class='del'>-</div><div class='del'>-Mon Nov 28 21:54:22 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_*): Check return code.</div><div class='del'>-	  (Some OSes except Linux return error code).</div><div class='del'>-</div><div class='del'>-Sun Nov 28 21:46:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_start_func_1): initialize native thread</div><div class='del'>-	  data immediately before starting.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 14:56:32 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct argf): make lineno long, and reorder members.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 14:55:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (gvl_release, gvl_init): suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 14:48:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_release, gvl_init): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_gvl_destroy): add prototype.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 14:46:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_reinit): register atfork handler only in</div><div class='del'>-	  the parent process, to get rid of dead lock.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 12:23:57 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, vm_core.h: make gvl_acquire/release/init/destruct</div><div class='del'>-	  APIs to modularize GVL implementation.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c, thread_pthread.h: Two GVL implementations.</div><div class='del'>-	  (1) Simple locking GVL which is same as existing GVL.</div><div class='del'>-	  (2) Wake-up queued threads.  The wake-up order is simple FIFO.</div><div class='del'>-	     (We can make several queues to support exact priorities, however</div><div class='del'>-	      this causes some issues such as priority inversion and so on.)</div><div class='del'>-	      This impl. prevents spin-loop (*1) caused on SMP environments.</div><div class='del'>-	  *1: Only one Ruby thread acquires GVL again and again.</div><div class='del'>-	      Bug #2359 [ruby-core:26694]</div><div class='del'>-</div><div class='del'>-	* thread_win32.c, thread_win32.h: Using simple lock</div><div class='del'>-	  not by CRITICAL_SECTION but by Mutex.</div><div class='del'>-	  Bug #3890 [ruby-dev:42315]</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 04:40:00 2010  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): use rb_w32_write_console under Windows.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): added to write to write</div><div class='del'>-	  Unicode using WriteConsoleW for stdout/stderr. [ruby-core:33166]</div><div class='del'>-</div><div class='del'>-Sun Nov 28 03:58:47 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: improve rdoc.</div><div class='del'>-	  patched by Mike Perham [ruby-core:33433]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 19:12:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: parenthesize macro arguments.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 18:08:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (leap_year_v_p): fixed typo.  [ruby-dev:42631]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 17:57:08 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* resolv.rb (Resolv::DNS): use the same DNS server when retry using</div><div class='del'>-	  TCP.  reported by Julian Mehnle.  [ruby-core:32970]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 15:45:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): see CrashReport log on Mac OS X.</div><div class='del'>-</div><div class='del'>-	* configure.in: link addr2line only for ELF.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 13:58:55 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#candidate): : was missing.  Thanks,</div><div class='del'>-	  Shota Fukumori.  [ruby-dev:42634]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 12:07:05 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: Ruby man page from Arthur Gunn in [ruby-core:33412]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 11:29:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#candidate): get rid of 1.9 syntax</div><div class='del'>-	  so that BASERUBY can be 1.8.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 08:16:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): should close fd on</div><div class='del'>-	  edge case.</div><div class='del'>-</div><div class='del'>-Fri Nov 26 13:33:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: apply a patch from shinichiro.h.</div><div class='del'>-</div><div class='del'>-Fri Nov 26 12:21:20 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: added to show source filename and line number of</div><div class='del'>-	  functions in backtrace. [ruby-dev:42625]</div><div class='del'>-	  a patch from shinichiro.h &lt;shinichiro.hamaji AT gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.h: ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: add addr2line.$(OBJEXT).</div><div class='del'>-</div><div class='del'>-	* configure.in: check dl_iterate_phdr.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): use rb_dump_backtrace_with_lines in</div><div class='del'>-	  addr2line.c when the binary is ELF.</div><div class='del'>-</div><div class='del'>-Fri Nov 26 12:12:50 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (setup_tree): restart setup_tree() for a node whose</div><div class='del'>-	  AnchorNode's type is ANCHOR_PREC_BEHIND or ANCHOR_PREC_BEHIND_NOT</div><div class='del'>-	  and divide_look_behind_alternatives() divided it to NT_ALT or</div><div class='del'>-	  NT_LIST. [ruby-core:33370]</div><div class='del'>-</div><div class='del'>-Fri Nov 26 11:40:11 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): get only required rights of the target</div><div class='del'>-	  thread because THREAD_ALL_ACCESS causes an access error on XP.</div><div class='del'>-	  reported by Masaya TARUI via IRC.</div><div class='del'>-</div><div class='del'>-Fri Nov 26 11:09:07 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): show the displacement from the beginning</div><div class='del'>-	  of the symbol.</div><div class='del'>-</div><div class='del'>-Fri Nov 26 10:48:23 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): follow the output of glibc.</div><div class='del'>-	  see [ruby-dev:42627]</div><div class='del'>-</div><div class='del'>-Fri Nov 26 09:48:45 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_str): should succeed the taint status from</div><div class='del'>-	  the origin. [ruby-core:33338]</div><div class='del'>-</div><div class='del'>-Fri Nov 26 09:32:37 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): seems to be necessary the 3rd argument of</div><div class='del'>-	  SymGetLineFromAddr64(), even though MSDN says it can be zero.</div><div class='del'>-</div><div class='del'>-Fri Nov 26 09:03:38 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_is_prelude): added to check whether ruby is still</div><div class='del'>-	  in prelude (or other boot processes) or not.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (optimize_node_left): use onig_is_prelude for printing.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (set_optimize_info_from_tree): ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_compile): ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_compiled_byte_code_list): print its address.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_indent_tree): print its contents tree of</div><div class='del'>-	    ANCHOR_PREC_READ(_NOT) and ANCHOR_PREC_BEHIND(_NOT).</div><div class='del'>-</div><div class='del'>-Thu Nov 25 23:10:49 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_distance_range): use PRIuSIZE.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_optimize_info): use %ld because the type of</div><div class='del'>-	  calculated value of integers is long.</div><div class='del'>-</div><div class='del'>-	* regexec.c (onig_print_compiled_byte_code): add prototype.</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): add 2nd argument.</div><div class='del'>-</div><div class='del'>-Thu Nov 25 10:29:55 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/mkcallback.rb (gencallback): shouldn't assume that</div><div class='del'>-	  VALUE is the same size with long.</div><div class='del'>-</div><div class='del'>-Thu Nov 25 10:03:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb (teardown): remove tmp file</div><div class='del'>-	  only when it exists.</div><div class='del'>-</div><div class='del'>-Thu Nov 25 01:38:25 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/big5-hkscs-tbl.rb: Update table as HKSCS-2008.</div><div class='del'>-	  patched by oCameLo oTnTh [ruby-core:33256]</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: add alias Big5-HKSCS:2008 to Big5-HKSCS.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 15:18:07 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf (BSD_vfprintf): use QUADINT macro only when _HAVE_SANE_QUAD_</div><div class='del'>-	  macro is defined.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 12:47:16 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf (BSD_vfprintf): added VC++ compatible size specifications</div><div class='del'>-	  (I, I32, I64).</div><div class='del'>-</div><div class='del'>-Wed Nov 24 11:19:13 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): treat UTF-16 and UTF-32 as BE or LE.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 06:35:32 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: add the UTF-32 converter.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 05:40:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-Wed Nov 24 06:13:32 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (filecp, wstr_to_mbstr, mbstr_to_wstr):</div><div class='del'>-	  refactored.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 05:40:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: add a converter from UTF-8 to UTF-16.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 03:21:35 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: raise error on unpaired upper</div><div class='del'>-	  surrogates.</div><div class='del'>-</div><div class='del'>-Wed Nov 24 01:40:23 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_16_32.h: add UTF-16 and UTF-32 as a dummy encoding.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: add a converter from UTF-16 to UTF-8.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 21:59:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wlink, rb_w32_getppid): use typedef instead of</div><div class='del'>-	  repeating complicated function prototypes.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 18:54:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): should mark self in control</div><div class='del'>-	  frames.  [ruby-core:33289]</div><div class='del'>-</div><div class='del'>-Tue Nov 23 07:57:31 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/delta/parser.{ry,rb}: fixed a bug of token scanner.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 07:29:24 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c ({nucomp,nurat}_expt): added a check.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 07:27:27 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (daynum): should be private.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 07:22:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog (change-log-indent-text): hanging indent.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 06:30:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (SITE_DIR, VENDOR_DIR),</div><div class='del'>-	  version.c (ruby_initial_load_paths): exclude directories that</div><div class='del'>-	  are configured without them from $LOAD_PATH. [ruby-core:33267]</div><div class='del'>-</div><div class='del'>-	* configure.in (rubylibprefix): No ruby, No libprefix.</div><div class='del'>-</div><div class='del'>-Tue Nov 23 01:05:27 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): don't output floating point</div><div class='del'>-	  when the precision is 0. [ruby-dev:42615]</div><div class='del'>-</div><div class='del'>-Mon Nov 22 21:30:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): fix for ascii-compatible external</div><div class='del'>-	  encoding and different encoding string.  [ruby-core:33283]</div><div class='del'>-</div><div class='del'>-Mon Nov 22 18:45:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): should not duplicate rules.</div><div class='del'>-	  bug fix of r29842.</div><div class='del'>-</div><div class='del'>-Mon Nov 22 18:04:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: split CP950 from Big5.</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: split CP951 from Big5-HKSCS.</div><div class='del'>-</div><div class='del'>-	* enc/trans/big5.trans: import conversion table of Big5, Big5-HKSCS,</div><div class='del'>-	  CP950, and CP951 from ICU. they need fallback conversions.</div><div class='del'>-	  ref [ruby-core:33256]</div><div class='del'>-	  http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (import_ucm): add to import ucm files.</div><div class='del'>-</div><div class='del'>-Mon Nov 22 18:33:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): append for each chars instead of bulk</div><div class='del'>-	  copy if encoding conversion is needed.  [ruby-core:33283]</div><div class='del'>-</div><div class='del'>-Mon Nov 22 14:22:45 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_zone): use rb_locale_str_new_cstr to set encoding</div><div class='del'>-	  as locale and convert its content to internal encoding.</div><div class='del'>-	  [ruby-core:33278]</div><div class='del'>-</div><div class='del'>-Mon Nov 22 11:58:11 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): set ENC_CODERANGE_VALID when the</div><div class='del'>-	  receiver is 7BIT and the argument is non ASCII.</div><div class='del'>-</div><div class='del'>-Mon Nov 22 01:48:58 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: some improvements for performance.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 07:45:50 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: adding compilation support for ObjC/ObjC++ extensions.</div><div class='del'>-	  Thanks Scott Gonyea! [ruby-core:33260]</div><div class='del'>-</div><div class='del'>-Sat Nov 20 01:57:55 2010  Akio Tajima  &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add dependency(insns.inc) to compile.obj</div><div class='del'>-</div><div class='del'>-Fri Nov 19 23:05:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (insns_rules.mk): remove extra backslash.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in, win32/Makefile.sub (clean): rc files are</div><div class='del'>-	  made at compile time, so should be removed by clean.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 22:09:46 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_core.rb</div><div class='del'>-	  (Tester#test_pretty_format_long_text_finite): skip a test that</div><div class='del'>-	  uses long string on small memory system. [ruby-dev:42599]</div><div class='del'>-</div><div class='del'>-Fri Nov 19 21:07:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: shell completion support for zsh.  based on</div><div class='del'>-	  &lt;http://d.hatena.ne.jp/rubikitch/20071002/zshcomplete&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: shell completion support for bash.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 00:00:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (SCRIPTPROGRAMS): no needs on cygwin.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (scriptbin): create script binaries.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 23:21:23 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap):</div><div class='del'>-	  REXML::Formatters::Pretty#wrap used a recursive method call to</div><div class='del'>-	  format text.  This switches it to use an iterative approach.</div><div class='del'>-	  [ruby-core:33245]</div><div class='del'>-	  Patch by Jeremy Evans. Thanks!!!</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_core.rb: add a test for it.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 22:58:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_buffer_t): extract from rb_io_t.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 07:37:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (reconfig): force reconfigure with previous options.</div><div class='del'>-</div><div class='del'>-	* common.mk (showconfig): show configure flags, like as</div><div class='del'>-	  `config.status --config' generated by recent autoconf.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 07:16:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c (strncasecmp): get rid of redefinition.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 00:02:17 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Upgrading output encoding with ASCII content</div><div class='del'>-	  as needed.  [ruby-core:33229]</div><div class='del'>-</div><div class='del'>-Wed Nov 17 23:19:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: remove quotes from arguments to be quoted.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): use forward slashes in messages.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): make extension libraries messages</div><div class='del'>-	  brief.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MAKEDIRS): should not include silent flag.</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c, ext/json/parser/parser.c): pass</div><div class='del'>-	  Q and ECHO.  [ruby-core:33226]</div><div class='del'>-</div><div class='del'>-Wed Nov 17 16:09:52 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tracer.rb: new test case.</div><div class='del'>-	  minimal regression test for r29280.</div><div class='del'>-</div><div class='del'>-Wed Nov 17 16:04:23 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assersions#assert_warn):</div><div class='del'>-	  new assertion to assert that a particular warning message is</div><div class='del'>-	  displayed.</div><div class='del'>-	  forward port from branches/ruby_1_9_2@29795.</div><div class='del'>-</div><div class='del'>-Wed Nov 17 15:16:48 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (OnigOpInfoType): constify name.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (op2name): constify return value.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_print_compiled_byte_code): use PRIuPTR and</div><div class='del'>-	  uintptr_t to clean warnings.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_indent_tree): use PRIxPTR and intptr_t.</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): use PRIdPTR and intptr_t.</div><div class='del'>-</div><div class='del'>-Wed Nov 17 09:49:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (property_name_to_ctype): fix memory leak.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (property_name_to_ctype): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 17 08:54:04 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Upgrading output encoding as needed.  [ruby-core:33135]</div><div class='del'>-</div><div class='del'>-Tue Nov 16 22:30:39 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw): remove fear of undefined behavior :-)</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Tue Nov 16 09:33:00 2010  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb (to_digits): avoid unused</div><div class='del'>-	  variables warning, reported by Aaron Patterson.</div><div class='del'>-</div><div class='del'>-Tue Nov 16 06:39:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (PACK_ITEM_ADJUST): return nil not result array and yield</div><div class='del'>-	  values if block is given.  [ruby-core:33193]</div><div class='del'>-</div><div class='del'>-Tue Nov 16 00:21:20 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (and_cclass, or_cclass): fix memory leak.  Coverity Scan</div><div class='del'>-	  found this bug.  [ruby-dev:42579]</div><div class='del'>-</div><div class='del'>-Tue Nov 16 00:07:32 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot): fix fear of memory leak and memory</div><div class='del'>-	  violation.  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Mon Nov 15 23:54:45 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (CHECK_STACK_OVERFLOW): it was not intended to add</div><div class='del'>-	  size_t to a pointer typed VALUE*.  Coverity Scan found this defect.</div><div class='del'>-</div><div class='del'>-Mon Nov 15 23:41:21 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_exception_local_table, iseq_set_local_table,</div><div class='del'>-	  rb_iseq_build_from_ary): fix type inconsistency (which is benign</div><div class='del'>-	  because sizeof(ID) == sizeof(ID*), though).  Coverity Scan found</div><div class='del'>-	  these bugs.</div><div class='del'>-</div><div class='del'>-Mon Nov 15 22:47:27 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcall): ensure va_end after va_init_list.  Coverity</div><div class='del'>-	  Scan found this bug.</div><div class='del'>-</div><div class='del'>-Mon Nov 15 08:36:12 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb (do_parse, yyparse): using class eval to define</div><div class='del'>-	  method and avoid __send__.</div><div class='del'>-</div><div class='del'>-Mon Nov 15 06:43:48 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* etc/openssl/ossl_ssl.c (ossl_ssl_get_cert): raise exception if</div><div class='del'>-	  pointer is invalid.  Thanks Ippei Obayashi! [ruby-dev:42573]</div><div class='del'>-</div><div class='del'>-Sun Nov 14 17:57:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (distclean): should not remove sources which are</div><div class='del'>-	  distributed in tarball.</div><div class='del'>-</div><div class='del'>-Sun Nov 14 16:48:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_token_info): turn on/off with directives.</div><div class='del'>-	  [ruby-core:25442]</div><div class='del'>-</div><div class='del'>-Sun Nov 14 12:05:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_readlines): forward to current_file for arguments</div><div class='del'>-	  check.  http://twitter.com/nagachika/status/3634254856589312</div><div class='del'>-</div><div class='del'>-Sun Nov 14 08:48:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (-basic-vars-, -runtime-): suppress trailing</div><div class='del'>-	  space and compiler command line.</div><div class='del'>-</div><div class='del'>-Sun Nov 14 04:22:32 2010  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config.h): Added HAVE_LABS and HAVE_LLABS to config.h.</div><div class='del'>-</div><div class='del'>-	* symbian/configure.bat: Changed packaging version in line with API</div><div class='del'>-	  style 3 versioning.</div><div class='del'>-</div><div class='del'>-Sat Nov 13 16:37:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (showflags, help): emit messages at once.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MSG, EOM): remove surrounding quotes by %~I.</div><div class='del'>-</div><div class='del'>-Sat Nov 13 01:31:30 2010  Akio Tajima &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: reorder variable End Of Message (don't display it)</div><div class='del'>-</div><div class='del'>-Fri Nov 12 20:52:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (showflags, help): use caret to quote leading spaces on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, cygwin/GNUmakefile.in, enc/depend,</div><div class='del'>-	  ext/ripper/depend, lib/mkmf.rb, win32/Makefile.sub: caddle up.</div><div class='del'>-</div><div class='del'>-Fri Nov 12 16:35:31 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: support C level backtrace information on FreeBSD.</div><div class='del'>-	  When devel/libexecinfo is installed on FreeBSD, now ruby</div><div class='del'>-	  can show C level backtrace information.</div><div class='del'>-	  http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/libexecinfo/</div><div class='del'>-</div><div class='del'>-Fri Nov 12 09:58:30 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: use findstr.exe instead of find.exe, because all</div><div class='del'>-	  target build platforms should have findstr.exe, and, find.exe often</div><div class='del'>-	  means another command such as cygwin's.</div><div class='del'>-</div><div class='del'>-Fri Nov 12 00:30:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): need PRI_LL_PREFIX.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 23:38:32 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: ANSI C-conforming const and volatile are mandatory</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_C_CONST, AC_C_INLINE, AC_C_VOLATILE): check</div><div class='del'>-	  before used in other checks.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_PRINTF_PREFIX): should not break from</div><div class='del'>-	  RUBY_WERROR_FLAG, so that ac_c_werror_flag gets restored.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 23:04:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (warn_deprecated): show caller position.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 23:03:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_close): untie tied io before closing.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_write): add ARGF.write and so on.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read_nonblock): add ARGF.read_nonblock.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 21:49:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/stats.rb (RDoc#print): get rid of NaN.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 21:47:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (SHOWFLAGS): show compile flags.</div><div class='del'>-</div><div class='del'>-	* common.mk: hide long command lines by default.  verbose-mode is</div><div class='del'>-	  turned on by V=1 as before.</div><div class='del'>-	  http://jarp.does.notwork.org/diary/200605b.html#200605121</div><div class='del'>-</div><div class='del'>-Thu Nov 11 21:32:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_func): accept variable address.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/extconf.rb: libuuid is needed on cygwin.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 21:24:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): use cygwin_conv_path on cygwin 1.7 or</div><div class='del'>-	  later.</div><div class='del'>-</div><div class='del'>-	* ruby.c (push_include_cygwin): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 20:49:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI_LL_PREFIX): format type specifier for</div><div class='del'>-	  LONG_LONG may vary on platforms.</div><div class='del'>-</div><div class='del'>-Thu Nov 11 20:45:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports#each_export): use SYMBOL_PREFIX.</div><div class='del'>-</div><div class='del'>-Wed Nov 10 07:20:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (scriptbin): make executable file from</div><div class='del'>-	  scripts with stub.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): assume xflag for exe file as well</div><div class='del'>-	  as no-shebang file.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: install script programs.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports#initialize): alias ruby_sysinit for</div><div class='del'>-	  stub.</div><div class='del'>-</div><div class='del'>-	* win32/stub.c: stub for scripts.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Tue Nov  9 21:57:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (init_funcname): allocate and build initialization</div><div class='del'>-	  funciton name at once.</div><div class='del'>-</div><div class='del'>-Tue Nov  9 21:14:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_FUNC_GETPGRP, AC_FUNC_SETPGRP): no need when</div><div class='del'>-	  not used.</div><div class='del'>-</div><div class='del'>-	* configure.in (EXPORT_PREFIX): check generic prefix.</div><div class='del'>-</div><div class='del'>-Tue Nov  9 13:24:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_minimum_property_name_to_ctype):</div><div class='del'>-	  \p{...} should be case insensitive. [ruby-core:33000]</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_property_list_add_property):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (init_property_list, property_name_to_ctype):</div><div class='del'>-	  to lowercase property names.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (init_property_list, property_name_to_ctype):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  9 13:29:36 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io): get rid of a warning of 64bit</div><div class='del'>-	  mingw.</div><div class='del'>-</div><div class='del'>-Tue Nov  9 10:44:19 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): this code uses FPU's rounding system.</div><div class='del'>-	  But x86's FPU calculates double precision floating-point</div><div class='del'>-	  numbers in 80bit precision, so it fails to round the value.</div><div class='del'>-	  So ensure the value is assigned a variable. [ruby-dev:42551]</div><div class='del'>-	  see also [ruby-math:00802]</div><div class='del'>-	  http://www.shudo.net/java-grandprix99/strictfp/</div><div class='del'>-</div><div class='del'>-Tue Nov  9 07:30:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_syserr_new): new function to make SystemCallError</div><div class='del'>-	  instance without errno.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* error.c (rb_syserr_fail, rb_mod_syserr_fail): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  9 05:54:57 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/*.rb: Remove unused variable warnings.</div><div class='del'>-	  Patch by Run Paint [ruby-core:30991]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/*, lib/rdoc/*.rb, lib/rake/*.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Nov  8 18:26:03 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_hdtoa): fix type cast and bufsize.</div><div class='del'>-</div><div class='del'>-Mon Nov  8 15:40:56 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't</div><div class='del'>-	  work well on %f. [ruby-dev:42552]</div><div class='del'>-</div><div class='del'>-Mon Nov  8 14:41:40 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (get_wsa_extension_function): typos.</div><div class='del'>-</div><div class='del'>-Mon Nov  8 13:41:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb,</div><div class='del'>-	  enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  Add Age property to regexp. [ruby-core:33019]</div><div class='del'>-	  patched by Ammar Ali, tested by Run Paint Run Run</div><div class='del'>-</div><div class='del'>-Mon Nov  8 12:16:39 2010  Ben Walton  &lt;bwalton@artsci.utoronto.ca&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: support -h for solaris linker when gcc not used</div><div class='del'>-</div><div class='del'>-Mon Nov  8 11:47:39 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (finish_overlapped_socket): refactoring.</div><div class='del'>-</div><div class='del'>-Mon Nov  8 11:02:21 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (get_proc_address): refactoring.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (get_wsa_exetinsion_function): refactoring.</div><div class='del'>-</div><div class='del'>-Mon Nov  8 09:45:35 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/gbk-tbl.rb: Add euro sign. [ruby-core:33094]</div><div class='del'>-	  CP936, which is de facto definition of GBK, has it.</div><div class='del'>-	  http://msdn.microsoft.com/en-us/goglobal/cc305153.aspx</div><div class='del'>-</div><div class='del'>-Mon Nov  8 07:26:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check only the first symbol to get rid of</div><div class='del'>-	  duplication.  [ruby-core:33084] #4031</div><div class='del'>-</div><div class='del'>-Sun Nov  7 10:13:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (NM): check on all platforms.  #4031</div><div class='del'>-</div><div class='del'>-Sun Nov  7 06:16:33 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: adding test for r29699.  Thanks Elise</div><div class='del'>-	  Huard! [ruby-core:32460]</div><div class='del'>-</div><div class='del'>-Sat Nov  6 07:33:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_export_prefix): check for prefixed</div><div class='del'>-	  underscore of exported symbols</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (bin-comm): prepend prolog shell script if</div><div class='del'>-	  necessary.</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_RELATIVE): use rpath token expansion.</div><div class='del'>-</div><div class='del'>-Sat Nov  6 07:24:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in (arch, sitearch): reordered.</div><div class='del'>-</div><div class='del'>-	* configure.in: keep failed file.</div><div class='del'>-</div><div class='del'>-Sat Nov  6 07:03:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): save errinfo before fdopen.</div><div class='del'>-</div><div class='del'>-Sat Nov  6 00:43:58 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspcid_initialize): an optional</div><div class='del'>-	  parameter may be used to specify the OpenSSL::OCSP::CertificateId on</div><div class='del'>-	  initialization.  Thanks Elise Huard! [ruby-core:32460]</div><div class='del'>-</div><div class='del'>-Fri Nov  5 12:23:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_{process,system}.rb (test_fallback_to_sh):</div><div class='del'>-	  meaningless and wrong tests where /bin/sh does not exist.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_v): should spawn, not exec.</div><div class='del'>-</div><div class='del'>-Fri Nov  5 01:21:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v, proc_spawn_v): try to execute with sh if</div><div class='del'>-	  no shebang.  [ruby-core:32745] [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Fri Nov  5 00:39:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_readlines, rb_io_each_line): limit must not be zero.</div><div class='del'>-	  a patch from Tomoyuki Chikanaga at [ruby-dev:42538].  #4024</div><div class='del'>-</div><div class='del'>-Fri Nov  5 00:14:15 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: fixing ffi library location on windows.</div><div class='del'>-	  Thanks Usa! [ruby-core:32930]</div><div class='del'>-</div><div class='del'>-Thu Nov  4 20:04:44 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_newobj): force garbage_collect() if GC.stress == true.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 19:48:22 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: missed to write a last ChangeLog.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_finalize_deferred): removed.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_finalize_deferred): Do not invoke a free_unused_heaps().</div><div class='del'>-</div><div class='del'>-Thu Nov  4 19:45:27 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_final): do not need argument obj.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 19:26:10 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (before_gc_sweep): fix commit miss.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 19:20:46 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep, before_gc_sweep):</div><div class='del'>-	  invoke rb_sweep_method_entry() as soon as possible.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 19:13:58 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep, slot_sweep): finalizers should be invoked</div><div class='del'>-	  as soon as possible.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 10:30:40 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-valgrind): Now this option is default on.</div><div class='del'>-	  You can still explicitly disable this feature by specifying</div><div class='del'>-	  --without-valgrind.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 02:06:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_t_alloc): raise an error when fiber is going to be</div><div class='del'>-	  initialized twice.  [ruby-dev:42524]</div><div class='del'>-</div><div class='del'>-Thu Nov  4 02:04:25 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_resume): raise an "double resume" error when root</div><div class='del'>-	  fiber is going to be resumed.  [ruby-dev:42523]</div><div class='del'>-</div><div class='del'>-Wed Nov  3 14:17:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct#delete_field): also undefine</div><div class='del'>-	  accessor methods.  [ruby-core:33010]</div><div class='del'>-</div><div class='del'>-Wed Nov  3 14:13:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): concatenation of valid</div><div class='del'>-	  encoding string and invalid encoding string should result</div><div class='del'>-	  invalid encoding.  [ruby-core:33027]</div><div class='del'>-</div><div class='del'>-Wed Nov  3 08:58:59 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, vm.c, vm_core.h: remove USE_VALUE_CACHE option.</div><div class='del'>-</div><div class='del'>-Wed Nov  3 07:47:25 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#identify_string): parse multiple</div><div class='del'>-	  regex options.  a patch from Heesob Park in [ruby-core:32988].</div><div class='del'>-</div><div class='del'>-Wed Nov  3 07:33:57 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_clear_cache_by_class): just return if the class has</div><div class='del'>-	  no method.  reported by Eric Wong.  [ruby-core:32689]</div><div class='del'>-</div><div class='del'>-Tue Nov  2 22:50:25 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/visitor.rb (initialize): push accessor</div><div class='del'>-	  methods to subclass that actually uses them.</div><div class='del'>-</div><div class='del'>-Tue Nov  2 22:47:08 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/visitor.rb (accept): switch to</div><div class='del'>-	  a dispatch cache rather than case / when statement.</div><div class='del'>-</div><div class='del'>-Tue Nov  2 21:46:52 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: fix a typo.</div><div class='del'>-</div><div class='del'>-Tue Nov  2 20:10:32 2010  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_tasks.rb: clear env var which is used by the test.</div><div class='del'>-	  [ruby-dev:42508]</div><div class='del'>-</div><div class='del'>-Tue Nov  2 00:25:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: win64 is just same with win32 about socket.</div><div class='del'>-	  notice: but wince is not same.</div><div class='del'>-</div><div class='del'>-Mon Nov  1 21:25:57 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* main.c: &lt;stdlib.h&gt; is needed, to introduce the getenv(3)</div><div class='del'>-	  prototype declaration.  Without it a C compiler shall infer</div><div class='del'>-	  the getenv type as "int getenv(...);", but this is totally</div><div class='del'>-	  wrong, especially when your machine's sizeof(int) and</div><div class='del'>-	  sizeof(char*) differs.  On such environment a return value</div><div class='del'>-	  of getenv(3), which is in fact a char*, might first casted</div><div class='del'>-	  into a int (loses data here), and then casted back to char*</div><div class='del'>-	  by automatic integral promotion to fit to the prototype of</div><div class='del'>-	  ruby_set_debug_option().</div><div class='del'>-</div><div class='del'>-Sun Oct 31 23:27:09 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (finalizer_table, objspace-&gt;final.table):</div><div class='del'>-	  Create finalizer_table at Init_heap().</div><div class='del'>-	  Remove all null checks of finalizer_table.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_tbl): skip if no table entries.</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_swee): remove useless need_call_final check.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 22:32:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): finalizers should be called separately</div><div class='del'>-	  from freeing objspace.  [ruby-dev:42479]</div><div class='del'>-</div><div class='del'>-Sun Oct 31 22:24:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): free current VM and its objspace even</div><div class='del'>-	  when exiting by SystemExit.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 22:10:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (new_child_iseq): adjust argument types.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build, rb_iseq_new),</div><div class='del'>-	  (rb_iseq_new_with_bopt_and_opt, rb_iseq_new_with_opt),</div><div class='del'>-	  (rb_iseq_new_with_bopt): ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_exception_table): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* insns.def (putspecialobject, defined): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load): ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 09:30:51 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: some refactoring.</div><div class='del'>-	  - move decl. of rb_compile_option_struct to iseq.h.</div><div class='del'>-	  - define enum iseq_type.</div><div class='del'>-	  - define enum vm_special_object_type.</div><div class='del'>-</div><div class='del'>-	* compile.c: some refactoring.</div><div class='del'>-	  - apply above changes.</div><div class='del'>-	  - (struct iseq_link_element): change value of type.</div><div class='del'>-	  - remove unused decl.</div><div class='del'>-	  - fix comment.</div><div class='del'>-	  - rename iseq_build_body and iseq_build_exception to</div><div class='del'>-	    iseq_build_from_ary_body and iseq_build_from_ary_exception.</div><div class='del'>-</div><div class='del'>-	* iseq.h: define enum catch_type and enum defined_type.</div><div class='del'>-</div><div class='del'>-	* insns.def: apply above changes.</div><div class='del'>-</div><div class='del'>-	* iseq.c: define ISEQ_MAJOR_VERSION and ISEQ_MINOR_VERSION.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 23:38:59 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb: untabify.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 21:06:37 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb: use Ruby native encoding mechanism.</div><div class='del'>-	  [ruby-dev:42464]</div><div class='del'>-	* lib/rexml/encodings/: remove.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb, lib/rexml/formatters/default.rb,</div><div class='del'>-	  lib/rexml/output.rb, lib/rexml/parseexception.rb,</div><div class='del'>-	  lib/rexml/parsers/baseparser.rb, lib/rexml/source.rb,</div><div class='del'>-	  lib/rexml/xmldecl.rb: use Ruby's native Encoding object.</div><div class='del'>-</div><div class='del'>-	* test/rexml/, test/rss/: follow the above encoding changes.</div><div class='del'>-</div><div class='del'>-	* NEWS: add REXML's incompatible change about encoding.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 17:23:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): get rid of overflow/underflow as possible.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 14:37:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_pc): erase runtime-defined variables and</div><div class='del'>-	  check if generated pc file is valid.</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in (DEFFILE): need for mingw.</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in (LIBRUBY): fix the order.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 11:33:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (ruby_pc): ignore missing variables.</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in: add missing variables for mswin.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 10:24:35 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Make BasicObject.new accept no parameter.</div><div class='del'>-	  Revert of r26135 [ruby-core:27080], as per [ruby-core:32952].</div><div class='del'>-</div><div class='del'>-Sat Oct 30 09:40:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: use constants in id.h.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 09:08:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (fiddle_closure): embed cif not reference</div><div class='del'>-	  so that the content surely get initialized.  [ruby-dev:42480]</div><div class='del'>-</div><div class='del'>-Sat Oct 30 07:01:53 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb: suppress warning.</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 06:32:52 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (TestPathname#test_grpowned?): the</div><div class='del'>-	  group of the created file is inherited from the parent</div><div class='del'>-	  directory on BSDs and MacOS X.  Linux also inherit the group if</div><div class='del'>-	  the setgid bit of the directory is set.  It causes the test fail.</div><div class='del'>-	  fixed by Shota Fukumori.  [ruby-dev:42458]</div><div class='del'>-</div><div class='del'>-Sat Oct 30 05:58:54 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: retry via TCP if UDP reply is truncated.</div><div class='del'>-	  fixed by Julian Mehnle.  [ruby-core:32407]</div><div class='del'>-</div><div class='del'>-Sat Oct 30 00:35:13 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_compile): fix optional argument.</div><div class='del'>-	  a patch from Yutaka HARA [ruby-core:32953] [Ruby 1.9-Bug#4001]</div><div class='del'>-</div><div class='del'>-Sat Oct 30 00:24:42 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (memsize_of): take care of</div><div class='del'>-	  T_CLASS/const_tbl.</div><div class='del'>-	  a patch from nagachika &lt;nagachika00@gmail.com&gt; [ruby-dev:42490]</div><div class='del'>-</div><div class='del'>-Fri Oct 29 23:32:36 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/profile_test_all.rb: added.</div><div class='del'>-	  You can use test-all profiler with the following command:</div><div class='del'>-	    RUBY_TEST_ALL_PROFILE=true make test-all</div><div class='del'>-	  This command generates ./test_all_profile and you can analyze</div><div class='del'>-	  which tests consume memories.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 29 10:02:03 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb,</div><div class='del'>-	  enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  Add 'Unknown' Script.</div><div class='del'>-	  patched by Run Paint Run Run. [ruby-core:32937] #3998</div><div class='del'>-</div><div class='del'>-Fri Oct 29 05:13:34 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (ObjectSpace.memsize_of_all): rename</div><div class='del'>-	  ObjectSpace.total_memsize_of_all_objects() to</div><div class='del'>-	  ObjectSpace.memsize_of_all([klass]).</div><div class='del'>-	  Accept Class object to filter the objects.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: fix test for above change.</div><div class='del'>-</div><div class='del'>-Fri Oct 29 03:04:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): fix expected length. [ruby-core:32935]</div><div class='del'>-</div><div class='del'>-Thu Oct 28 23:31:39 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (before_gc_sweep, run_final): fix decrement timing of final_num.</div><div class='del'>-</div><div class='del'>-Thu Oct 28 20:11:30 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb,</div><div class='del'>-	  enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  Update Oniguruma for Unicode 6.</div><div class='del'>-	  patched by Run Paint Run Run. [ruby-core:32923] #3989</div><div class='del'>-</div><div class='del'>-Thu Oct 28 20:06:25 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (ONIGENC_CTYPE_SPECIAL_MASK):</div><div class='del'>-	  change mask from 128 to 256. [ruby-core:32931]</div><div class='del'>-</div><div class='del'>-Thu Oct 28 12:06:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (read_request_line): extend max</div><div class='del'>-	  length to 2083. This is from Internet Explorer's max uri</div><div class='del'>-	  length. http://support.microsoft.com/kb/208427 [ruby-core:32924]</div><div class='del'>-</div><div class='del'>-Thu Oct 28 04:00:08 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC.stat): added.  [ruby-dev:38607]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Thu Oct 28 03:13:06 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (memsize_of): fix rdoc.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (total_memsize_of_all_objects): added.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb:</div><div class='del'>-	  - add a test for ObjectSpace.total_memsize_of_all_objects.</div><div class='del'>-	  - add two tests for ObjectSpace.memsize_of (for nil and Fixnum).</div><div class='del'>-</div><div class='del'>-Wed Oct 27 23:55:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (Init_iconv): warn deprecated use.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 18:50:17 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2long, rb_big2ulong): rb2ulong() returns VALUE, but</div><div class='del'>-	  its real range is ulong. So, if the size of VALUE is bigger than</div><div class='del'>-	  ulong, upper bits are always zero even if the actual value is</div><div class='del'>-	  negative.</div><div class='del'>-	  fixed #3490</div><div class='del'>-</div><div class='del'>-Wed Oct 27 18:27:17 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#pipe): should close write end of pipe</div><div class='del'>-	  before closing read end, to get rid of timing problem.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 18:14:27 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getppid): support Win64.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 15:07:19 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_error): should get error no only once, because</div><div class='del'>-	  the result of the second getting will indicate the error of the</div><div class='del'>-	  first FormatMessage() call.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 13:51:25 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#pipe): need to propagate exceptions</div><div class='del'>-	  in read/write thread. fix r29541.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 12:05:40 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_const): need to return value. fix r29602.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 11:58:58 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2LONG_internal): add cast to get rid of a</div><div class='del'>-	  non GCC compiler warning. this is intentional type conversion.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 09:25:46 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: apply documentation patch by Run Paint Run Run.</div><div class='del'>-	  [ruby-core:32915]</div><div class='del'>-</div><div class='del'>-Wed Oct 27 02:12:10 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object), constant.h, variable.c</div><div class='del'>-	  (rb_mod_private_constant, rb_mod_public_constant,</div><div class='del'>-	  set_const_visibility, rb_const_get_0): add Module#public_constant</div><div class='del'>-	  and private_constant.  [ruby-dev:39685][ruby-core:32698]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Wed Oct 27 02:02:54 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, constant.h, gc.c, method.h, object.c, variable.c,</div><div class='del'>-	  vm_insnhelper.c: use struct rb_constant_entry_t as entry of</div><div class='del'>-	  RCLASS_CONST_TBL.  RCLASS_CONST_TBL has contained VALUE of constant</div><div class='del'>-	  directly.  Now instead rb_const_entry_t is contained in</div><div class='del'>-	  RCLASS_CONST_TBL,  rb_const_entry_t is managed by malloc, and</div><div class='del'>-	  have not only the value itself but also visibility flag.</div><div class='del'>-	  This is another preparation for private constant (see</div><div class='del'>-	  [ruby-dev:39685][ruby-core:32698]).</div><div class='del'>-</div><div class='del'>-Wed Oct 27 01:56:34 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, gc.c, object.c, variable.c, vm_insnhelper.c,</div><div class='del'>-	  include/ruby/ruby.h: separate RCLASS_CONST_TBL from RCLASS_IV_TBL.</div><div class='del'>-	  RCLASS_IV_TBL has contained not only instance variable table but</div><div class='del'>-	  also constant table.  Now the two table are separated to</div><div class='del'>-	  RCLASS_CONST_TBL and RCLASS_IV_TBL.  This is a preparation for</div><div class='del'>-	  private constant (see [ruby-dev:39685][ruby-core:32698]).</div><div class='del'>-</div><div class='del'>-Tue Oct 26 18:51:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb (extract_float): allow 2.e+2 style.</div><div class='del'>-	  [ruby-dev:42452] #3978</div><div class='del'>-</div><div class='del'>-Tue Oct 26 18:09:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ASFLAGS): needs INCFLAGS.</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_dynamic_alloca): check if extra source for</div><div class='del'>-	  dynamic size alloca.</div><div class='del'>-</div><div class='del'>-	* missing/x86_64-chkstk.s (___chkstk): necessary for alloca of</div><div class='del'>-	  amd64-mingw32msvc-gcc on Ubuntu.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (ruby_alloca_chkstk): check stack overflow</div><div class='del'>-</div><div class='del'>-Tue Oct 26 18:04:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in (Libs): needs DLDFLAGS.</div><div class='del'>-</div><div class='del'>-Tue Oct 26 12:47:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (pkgconfig-data): moved from Makefile.in.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: install pc file only if non-empty.</div><div class='del'>-	  [ruby-core:32901] #3983</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (ruby_pc): create pc file.</div><div class='del'>-</div><div class='del'>-Tue Oct 26 09:13:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_gcc_atomic_builtins): check for atomic</div><div class='del'>-	  builtins, all are not available in Apple derivative gcc.</div><div class='del'>-</div><div class='del'>-Tue Oct 26 00:29:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (pkgconfig-data): create pkg-config metadata file.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: install pkg-config metadata file.</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in: template of pkg-config metadata file.</div><div class='del'>-</div><div class='del'>-Mon Oct 25 16:38:07 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c  (rb_atomic_t): GCC (of  at least  recent versions)</div><div class='del'>-	  has  ubiquitous  support  for  atomic operations.   On  that</div><div class='del'>-	  compiler a C program can  issue a memory barrier using these</div><div class='del'>-	  dedicated  instructions.  According to  the GCC  manual they</div><div class='del'>-	  cargo culted  this feature form  the Itanium ABI  so chances</div><div class='del'>-	  are that  other compilers  could also support  this feature.</div><div class='del'>-	  But so far GCC is the  only compiler that I know to have it.</div><div class='del'>-	  Also note that this works on non-Itanium machines.</div><div class='del'>-</div><div class='del'>-Mon Oct 25 06:21:35 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): prec digits fractal part should be</div><div class='del'>-	  appended to 0 if prec is given.  [ruby-dev:42453] #3979</div><div class='del'>-</div><div class='del'>-Mon Oct 25 02:57:21 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (run.gdb): Quit gdb on 'make gdb' when</div><div class='del'>-	  no signals are received.</div><div class='del'>-</div><div class='del'>-Mon Oct 25 00:25:23 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: some corrections of documentation.</div><div class='del'>-</div><div class='del'>-Sun Oct 24 17:14:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, gc.c, hash.c, object.c, string.c, struct.c,</div><div class='del'>-	  transcode.c, variable.c, vm.c, vm_insnhelper.c, vm_method.c:</div><div class='del'>-	  replace calls to rb_error_frozen() with rb_check_frozen().  a</div><div class='del'>-	  patch from Run Paint Run Run at [ruby-core:32014]</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_check_frozen): optimize.</div><div class='del'>-	  [ruby-core:32878]</div><div class='del'>-</div><div class='del'>-Sun Oct 24 15:16:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Mini#run): abort if interrupted.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Mini#run_test_suites): show the</div><div class='del'>-	  result even when interrupted on the way.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Mini#run_test_suites): ensure</div><div class='del'>-	  output sync mode to be restored.</div><div class='del'>-</div><div class='del'>-Sun Oct 24 14:11:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): defined method is run with the default</div><div class='del'>-	  public visibility regardless the visibility context of definition.</div><div class='del'>-	  [ruby-core:30638]</div><div class='del'>-</div><div class='del'>-Sun Oct 24 12:08:54 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: make test/unit play nicely with the rake test</div><div class='del'>-	  loader. [ruby-core:32864]</div><div class='del'>-</div><div class='del'>-Sun Oct 24 00:25:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_segv_test): follow up the</div><div class='del'>-	  change at r29556.</div><div class='del'>-</div><div class='del'>-Sat Oct 23 14:39:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: $extmk should be true for test/runner.</div><div class='del'>-</div><div class='del'>-Sat Oct 23 10:55:37 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): fix to add bug outputs.</div><div class='del'>-	  - loaded script ($0)</div><div class='del'>-	  - loaded features ($")</div><div class='del'>-	  - process memory map on Linux (/proc/self/maps)</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_stack_dump_raw): fix header message.</div><div class='del'>-</div><div class='del'>-Fri Oct 22 14:50:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  assertion message must not be nil.</div><div class='del'>-</div><div class='del'>-Fri Oct 22 13:59:50 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  treat nil case. Please run test-all before commit such change.</div><div class='del'>-</div><div class='del'>-Thu Oct 21 23:58:14 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_lazy_sweep): Variable declarations should be at</div><div class='del'>-	  the head of block.</div><div class='del'>-</div><div class='del'>-Thu Oct 21 23:56:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_each_objects, rb_objspace_each_objects): use</div><div class='del'>-	  struct.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_each_objects): fix return with no value.</div><div class='del'>-</div><div class='del'>-Thu Oct 21 23:47:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): remove useless intermediate variable.</div><div class='del'>-</div><div class='del'>-Thu Oct 21 16:07:20 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): change rdoc.</div><div class='del'>-	  patched by Eito Katagiri [ruby-core:31805]</div><div class='del'>-</div><div class='del'>-Thu Oct 21 15:55:21 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb</div><div class='del'>-	  (WEBrick::HTTPAuth::ProxyDigestAuth#check_uri): privated.</div><div class='del'>-	  [ruby-dev:42344]</div><div class='del'>-</div><div class='del'>-Thu Oct 21 15:50:25 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): add correct rdoc.</div><div class='del'>-	  patched by Dave Thomas [ruby-core:32467]</div><div class='del'>-</div><div class='del'>-Thu Oct 21 15:42:01 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (Net::Telnet#close): added.</div><div class='del'>-	  patched by Erik Hollensbe [ruby-dev:42260] #3830</div><div class='del'>-</div><div class='del'>-Thu Oct 21 13:08:00 2010  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_each_objects): don't lazy sweep in</div><div class='del'>-	  rb_objspace_each_objects. [Bug #3940] [ruby-dev:42369]</div><div class='del'>-</div><div class='del'>-Thu Oct 21 00:05:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#pipe): get rid of deadlock on pipe.</div><div class='del'>-	  a patch from Tomoyuki Chikanaga at [ruby-dev:42435].  #3970</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 20 23:54:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: rdoc based on a patch by mathew meta AT</div><div class='del'>-	  pobox.com, at [ruby-core:32853].</div><div class='del'>-</div><div class='del'>-Wed Oct 20 10:47:21 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): reject 0x1.p+0. [ruby-dev:42432] #3966</div><div class='del'>-</div><div class='del'>-Wed Oct 20 10:00:57 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): print floating point on "%#a".</div><div class='del'>-	  [ruby-dev:42431] Bug#3965</div><div class='del'>-</div><div class='del'>-Tue Oct 19 19:30:11 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): clear ALT flag for %a.</div><div class='del'>-	  [ruby-core:32841] [ruby-core:32848]</div><div class='del'>-</div><div class='del'>-Tue Oct 19 12:19:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): fix over-count of field size.</div><div class='del'>-</div><div class='del'>-Tue Oct 19 03:08:52 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): use HEXPREFIX flag for prefix of %a.</div><div class='del'>-	  [ruby-core:32841]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 13:18:01 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_class_init): Define</div><div class='del'>-	  Digest::Class.new(). [Feature #3954]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 12:58:40 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): refine the document.  [ruby-dev:42397]</div><div class='del'>-	  (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 18 10:19:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (transport_request): @socket may be nil.</div><div class='del'>-	  patched by Egbert Eich [ruby-core:32829]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 09:57:28 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (BSD_vfprintf): wrong padding around prefix and</div><div class='del'>-	  floating point with %a. [ruby-dev:42403] Bug #3956</div><div class='del'>-</div><div class='del'>-Sun Oct 17 22:36:33 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/delta.rb: added an rdoc tag.</div><div class='del'>-</div><div class='del'>-Sun Oct 17 10:47:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_remove_const): update rdoc.</div><div class='del'>-	  [ruby-core:31957]</div><div class='del'>-</div><div class='del'>-Sun Oct 17 10:40:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_{class,module}_id_under): register to be</div><div class='del'>-	  marked, which probably are defined and used internally.</div><div class='del'>-</div><div class='del'>-Sat Oct 16 11:10:55 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_encoding2cp): set codepage 20936</div><div class='del'>-	  according to GB2312. [Bug #3937] [ruby-core:32758]</div><div class='del'>-</div><div class='del'>-Sat Oct 16 10:54:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (CPP): already used in .c.i rule.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (DLLWRAP, WINDRES): add --driver-name and</div><div class='del'>-	  --preprocessor options explicitly.  [ruby-core:32776]</div><div class='del'>-</div><div class='del'>-Sat Oct 16 10:06:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (SEEDUPS, BADMESS): make settable using command</div><div class='del'>-	  line options.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (makroom): suppress unused result warning.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/extconf.rb: disable BADMESS, a library should not emit</div><div class='del'>-	  messages directly.</div><div class='del'>-</div><div class='del'>-Sat Oct 16 08:39:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_strerror): get English message first, instead of</div><div class='del'>-	  system default. see [ruby-dev:42358].</div><div class='del'>-</div><div class='del'>-Sat Oct 16 00:08:00 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aref): skip calling "default" method</div><div class='del'>-	  if it is not needed, for speed-up.</div><div class='del'>-</div><div class='del'>-Fri Oct 15 23:36:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (NUM2DEVT, DEVT2NUM, PRI_DEVT_PREFIX): fallback to</div><div class='del'>-	  unsigned int.</div><div class='del'>-</div><div class='del'>-Fri Oct 15 22:54:46 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_hresult2msg): get English message first,</div><div class='del'>-	  instead of system default. [ruby-core:32765]</div><div class='del'>-</div><div class='del'>-Fri Oct 15 22:47:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (VALUE): prefer long over uintptr_t,</div><div class='del'>-	  FIX2LONG expects VALUE to be long at least.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FIX2LONG): parenthesize the argument.</div><div class='del'>-</div><div class='del'>-Fri Oct 15 20:30:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (dev_t): use RUBY_REPLACE_TYPE.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_inspect): use PRI_DEVT_PREFIX.</div><div class='del'>-</div><div class='del'>-Fri Oct 15 17:26:57 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): simplify comparison of explicit_endian</div><div class='del'>-	  as pointed by nobu.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 15 16:40:37 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): fix more than one modifiers appear in the</div><div class='del'>-	  format string. [ruby-core:32793]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 14 23:20:42 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_folderitem2_invokeverb.rb: refactoring.</div><div class='del'>-</div><div class='del'>-Thu Oct 14 22:18:29 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, iseq.c, vm_insnhelper.c: rename variable name</div><div class='del'>-	  (ip -&gt; iseq).</div><div class='del'>-</div><div class='del'>-Thu Oct 14 20:41:27 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): support endian modifiers: &lt; and &gt;.</div><div class='del'>-	  [ruby-dev:42376] Feature #3491</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 14 20:50:51 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (reg_get_val): expand environment in</div><div class='del'>-	  the pathname. [Bug #3907]</div><div class='del'>-</div><div class='del'>-Thu Oct 14 07:35:07 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (DEVT2NUM): added. Size of dev_t is depend on the</div><div class='del'>-	  environment even if POSIX defines dev_t as unsigned integer.</div><div class='del'>-	  For example, OpenVMS, 64bit Solaris 9, and NetBSD 6 defines</div><div class='del'>-	  dev_t as 64bit unsigned integer.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_dev): use DEVT2NUM.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_dev_major): dev_t is not long. major(3)'s return</div><div class='del'>-	  value is int.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_dev_minor): dev_t is not long. minor(3)'s return</div><div class='del'>-	  value is int.</div><div class='del'>-</div><div class='del'>-	* configure.in: check size of dev_t.</div><div class='del'>-</div><div class='del'>-Thu Oct 14 07:22:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_and, rb_ary_or), class.c (rb_mod_init_copy),</div><div class='del'>-	  gc.c (undefine_final), time.c (time_mload): get rid of</div><div class='del'>-	  type-punning casts.</div><div class='del'>-</div><div class='del'>-Thu Oct 14 04:16:41 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): fix Numeric#step with infinity unit</div><div class='del'>-	  doesn't works well. [ruby-core:32779]</div><div class='del'>-</div><div class='del'>-Wed Oct 13 23:16:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: get rid of lots of warnings.</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern, rb_iseq_disasm): fix format specifiers.</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint): get rid of overflow on LLP64 platforms.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): use st_data_t.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 22:32:34 2010  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI::unescape): bugfix to unescape the multibyte</div><div class='del'>-	  string. Thanks nobu and tDiary dev members. [Bug #3909]</div><div class='del'>-</div><div class='del'>-Wed Oct 13 21:13:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr): raise error when the value is negative.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 19:24:08 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): This function type was wrong; correct to the prototype.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 14:58:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_to_uint): fix 32bit logic.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 12:53:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_to_uint): added to check the range of arguments.</div><div class='del'>-	  Mainly for negative value with NUM2UINT on 32bit environment.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): use rb_num_to_uint.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 12:10:02 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_error): get English message first, instead</div><div class='del'>-	  of system default. see [ruby-core:32765].</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-Wed Oct 13 11:04:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_set_debug_option): define always for binary</div><div class='del'>-	  compatibility with debug env enabled binary.</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_enable_coredump): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 10:52:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_executable_node): missing prototype.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 05:23:04 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/strchr.c: add strlen's prototype.</div><div class='del'>-</div><div class='del'>-	* missing/strstr.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 00:21:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (struct mktime_arg): constified.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do, mktime_r, rb_syck_mktime): fix</div><div class='del'>-	  function signatures.</div><div class='del'>-</div><div class='del'>-Wed Oct 13 00:18:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (MurmurMagic): get rid of literal overflow.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_PRINTF_PREFIX): check for printf format</div><div class='del'>-	  specifier if possible.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 23:58:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open_osfhandle, rb_w32_wopen, rb_w32_pipe):</div><div class='del'>-	  use uintptr_t instead of long for win64.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (socketpair_internal): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (ftruncate): use HANDLE instead of long for win64.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): fix cast.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2fix): result of rb_num2long is SIGNED_VALUE.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_body), error.c (set_syserr, get_syserr),</div><div class='del'>-	  (syserr_initialize), gc.c (define_final, rb_gc_copy_finalizer),</div><div class='del'>-	  (run_final), hash.c (rb_hash_aref, rb_hash_lookup2),</div><div class='del'>-	  (rb_hash_fetch_m, rb_hash_clear, rb_hash_aset, eql_i),</div><div class='del'>-	  iseq.c (iseq_load, iseq_data_to_ary), marshal.c (r_symlink),</div><div class='del'>-	  thread.c (rb_thread_local_aref),</div><div class='del'>-	  variable.c (generic_ivar_remove, ivar_get, rb_const_get_0),</div><div class='del'>-	  (rb_cvar_get), vm.c (rb_vm_check_redefinition_opt_method),</div><div class='del'>-	  vm_insnhelper.c (vm_get_ev_const), vm_method.c (remove_method),</div><div class='del'>-	  ext/iconv/iconv.c (map_charset): use st_data_t.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_body), insns.def (getglobal, setglobal),</div><div class='del'>-	  iseq.c (iseq_load, iseq_data_to_ary), util.c (valid_filename):</div><div class='del'>-	  use VALUE.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free, rb_objspace_call_finalizer): fix truncating</div><div class='del'>-	  cast.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix truncating cast.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_setcontext): missing variable definition.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 19:25:13 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_to_s): use OBJ_INFECT.</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_to_s): ditto.</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_to_str): ditto.</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 19:07:55 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): taint message if mesg is given</div><div class='del'>-	  and it is tainted.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 18:25:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetc): always see Bignum. On 32bit valid value</div><div class='del'>-	  may be a Bignum. On 64bit for errors. [ruby-dev:42366]</div><div class='del'>-</div><div class='del'>-Tue Oct 12 18:25:04 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): use unsigned int for GB18030.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 17:53:49 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric (check_uint): the mask must refer to VALUE.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 17:47:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric (check_uint): set MSB for negative value.</div><div class='del'>-</div><div class='del'>-	* numeric (rb_num2uint): return value's type of rb_num2ulong</div><div class='del'>-	  is VALUE.</div><div class='del'>-</div><div class='del'>-	* numeric (int_chr): variable i can't be negative.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 16:04:37 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_strerror): get English message first, instead</div><div class='del'>-	  of system default. see [ruby-dev:42358].</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-Tue Oct 12 15:52:35 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_strerror): unmap some range of errno for</div><div class='del'>-	  workaround of VC10's strerror() and sys_nerr problem.</div><div class='del'>-	  based on a patch from Akio Tajima, [ruby-dev:42355].</div><div class='del'>-</div><div class='del'>-Tue Oct 12 15:36:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetc): use unsigned int for GB18030.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 15:14:21 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_putc): support multibyte characters.</div><div class='del'>-	  [ruby-core:30697]</div><div class='del'>-</div><div class='del'>-Tue Oct 12 15:10:31 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_enc_uint_chr): split from int_chr.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr): use rb_enc_uint_chr.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_uint_chr): added.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 14:04:41 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr): a codepoint of Ruby M17N must be 32bit</div><div class='del'>-	  unsigned int; GB18030 uses MSB. Also note that OnigCodePoint</div><div class='del'>-	  is defined as unsigned int.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 12:20:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): foolish mistake.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 10:39:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_MINGW32): canonicalize only on mingw.</div><div class='del'>-</div><div class='del'>-Mon Oct 11 20:20:23 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTP.get): specify ASCII-8BIT as the result</div><div class='del'>-	  encoding of Zlib::GzipReader.</div><div class='del'>-	  http://hibari.2ch.net/test/read.cgi/tech/1281473294/271</div><div class='del'>-</div><div class='del'>-Mon Oct 11 17:42:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): use mesg's encoding when locale</div><div class='del'>-	  encoding is US-ASCII. If locale encoding is not US-ASCII,</div><div class='del'>-	  assume err has non ASCII characters. [ruby-dev:42358]</div><div class='del'>-</div><div class='del'>-Mon Oct 11 14:03:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): set the encoding of Errno::*#message</div><div class='del'>-	  as locale. [ruby-dev:42358]</div><div class='del'>-</div><div class='del'>-Mon Oct 11 06:38:27 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_set_encoding):</div><div class='del'>-	  StringIO#set_encoding can get 2nd argument and optional hash</div><div class='del'>-	  for API compatibility to IO. [ruby-dev:42356]</div><div class='del'>-</div><div class='del'>-Mon Oct 11 06:11:30 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_set_encoding): use rb_funcall2 when the io is not</div><div class='del'>-	  a T_FILE. [ruby-dev:42356]</div><div class='del'>-</div><div class='del'>-Sun Oct 10 18:42:23 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#replace): Apply a bit of optimization.</div><div class='del'>-</div><div class='del'>-Sun Oct 10 10:20:07 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_MINGW32): canonicalize as like mswin version.</div><div class='del'>-</div><div class='del'>-Sun Oct 10 05:33:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_signal_buff_size, rb_signal_exec): moved</div><div class='del'>-	  declarations from thread.c.</div><div class='del'>-</div><div class='del'>-Sat Oct  9 16:54:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RSHIFT): quote to get rid of argument expansion</div><div class='del'>-	  for autoconf 2.68.</div><div class='del'>-</div><div class='del'>-Sat Oct  9 11:00:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_reset_event_flags, exec_event_hooks): ignore</div><div class='del'>-	  hooks marked as removed.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_exec_event_hooks): remove hooks to be removed.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_remove_event_hook, rb_remove_event_hook):</div><div class='del'>-	  defer removing hooks if running the hooks.  [ruby-dev:42350]</div><div class='del'>-</div><div class='del'>-Sat Oct  9 10:51:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_exec_event_hooks): suppress each event</div><div class='del'>-	  hooks separately.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_suppress_tracing): split from</div><div class='del'>-	  ruby_suppress_tracing, accepting thread pointer and event mask.</div><div class='del'>-</div><div class='del'>-Sat Oct  9 08:16:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_remove_event_hook): fix typo.</div><div class='del'>-</div><div class='del'>-Fri Oct  8 10:52:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RBCONFIG): depends on version.h due to</div><div class='del'>-	  RUBY_PATCHLEVEL.  [ruby-core:32709]</div><div class='del'>-</div><div class='del'>-Fri Oct  8 00:24:54 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Fixing documentation typos.  [ruby-core:32712]</div><div class='del'>-</div><div class='del'>-Thu Oct  7 09:14:28 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (vm_exec_core):  Treat clang as non gcc on this</div><div class='del'>-	  context: It has __asm__ but doesn't works well.</div><div class='del'>-</div><div class='del'>-Wed Oct  6 12:28:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#hostname): new method.</div><div class='del'>-	  (URI::Generic#hostname=): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: use URI#hostname</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: ditto.</div><div class='del'>-</div><div class='del'>-	  reported by Adam Majer.  [ruby-core:32056]</div><div class='del'>-</div><div class='del'>-Wed Oct  6 11:52:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): write_mutex might have been destroyed</div><div class='del'>-	  already in finalization phase, as the order of finalizers is not</div><div class='del'>-	  guaranteed.  rb_mutex_t should be used in place of Mutex object</div><div class='del'>-	  in the future.</div><div class='del'>-</div><div class='del'>-Tue Oct  5 22:17:02 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: revert r29320 and r29402.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 12:43:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp): dregexp has literal string only at the head</div><div class='del'>-	  and successors are array.  [ruby-core:32682]</div><div class='del'>-</div><div class='del'>-Mon Oct  4 10:22:21 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): This checks the value is in 32bit or not,</div><div class='del'>-	  so use int32_t, not int.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 09:47:39 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): remove useless assignment.</div><div class='del'>-</div><div class='del'>-	* re.c (update_char_offset): remove unused variable.</div><div class='del'>-</div><div class='del'>-	* re.c (read_escaped_byte): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 09:30:42 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new</div><div class='del'>-	  accepts only Strings, so call Integer#to_s(16).</div><div class='del'>-	  16 is for an optimization. [ruby-dev:42336]</div><div class='del'>-</div><div class='del'>-Mon Oct  4 07:57:51 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_memsize): Return size.</div><div class='del'>-	  Before this change, fiber_memsize always returns 0.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 07:16:55 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (onigenc_unicode_property_name_to_ctype):</div><div class='del'>-	  remove useless assignment.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc_from_block): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_count): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 06:40:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (clean-rdoc): Don't use \ in variable expansion.</div><div class='del'>-	  BSD make treats it as an escape character.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 00:01:53 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.sub: revert r29320, r29324, r29347, r29354, r29365</div><div class='del'>-	  to automake-1.11.1. [ruby-core:32634]</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: no longer use 'mingw64'. a patch from Luis Lavena</div><div class='del'>-	  at [ruby-core:32678].</div><div class='del'>-</div><div class='del'>-Sun Oct  3 20:36:37 2010  Akio Tajima (arton)  &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_folderitem2_invokeverb.rb: Change creating</div><div class='del'>-	  shortcut verb to 'Link' [Bug #3339]</div><div class='del'>-</div><div class='del'>-Sun Oct  3 19:44:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): get rid of duplicated ruby target when</div><div class='del'>-	  already there it was.</div><div class='del'>-</div><div class='del'>-Sat Oct  2 22:59:32 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_thread.rb: add for win32ole with Thread.</div><div class='del'>-</div><div class='del'>-Fri Oct  1 17:03:00 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpproxy.rb (TestWEBrickHTTPProxy::test_upstream_proxy):</div><div class='del'>-	  My machine fails this test at this line, saying 503 service unavailable.</div><div class='del'>-</div><div class='del'>-Thu Sep 30 16:11:08 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getenv): should return NULL if specified name</div><div class='del'>-	  is empty. a patch from Heesob Park at [ruby-core:32650]</div><div class='del'>-</div><div class='del'>-Thu Sep 30 15:18:23 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (command_asgn): allow command_call to be right hand side</div><div class='del'>-	  expression of chained assignment.  [ruby-dev:42313]</div><div class='del'>-</div><div class='del'>-Thu Sep 30 10:55:38 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): workaround for old Windows. a patch from</div><div class='del'>-	  Heesob Park. [ruby-core:32353]</div><div class='del'>-</div><div class='del'>-Thu Sep 30 09:29:06 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form): change treatment of</div><div class='del'>-	  undefined value in given array as latest internet draft for</div><div class='del'>-	  application/www-form-urlencoded.</div><div class='del'>-	  http://tools.ietf.org/html/draft-hoehrmann-urlencoded-01</div><div class='del'>-</div><div class='del'>-Thu Sep 30 09:34:03 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): fixed wrong type of return value of</div><div class='del'>-	  SymGetModuleBase64(). [ruby-dev:42306]</div><div class='del'>-</div><div class='del'>-Wed Sep 29 21:04:05 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions::test_script_from_stdin):</div><div class='del'>-	  As usual, PTY is not always available.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 18:38:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.sub (x64): regularize only for pc vendor, and strip</div><div class='del'>-	  useless 64 suffix.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 17:53:02 2010  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BIGDECIMAL_ENABLE_VPRINT):</div><div class='del'>-	  VPrint is usually disabled.  It's only used in debugging.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 17:41:34 2010  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_save_limit):</div><div class='del'>-	  return the result of a block.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_save_limit):</div><div class='del'>-	  add a test for the above change.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 16:18:03 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (dump_thread): remove unused optional arguments.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 13:26:30 2010  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode):</div><div class='del'>-	  return the result of a block.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_save_rounding_mode):</div><div class='del'>-	  add a test for the above change.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_save_exception_mode):</div><div class='del'>-	  add a test for the return value of BigDecimal.save_exception_mode.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 12:45:30 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div2, BigDecimal_add2,</div><div class='del'>-	  BigDecimal_sub2, BigDecimal_mult2, VpLimitRound): remove meaningless</div><div class='del'>-	  casts to get rid of compiler warnings.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 12:35:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VPrint, VpToString): fix format.</div><div class='del'>-</div><div class='del'>-Wed Sep 29 12:31:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/known_classes.rb (RDoc::KNOWN_CLASSES): add Encoding.</div><div class='del'>-</div><div class='del'>-Tue Sep 28 20:50:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.sub (x64): regularize same as mswin.</div><div class='del'>-</div><div class='del'>-Tue Sep 28 20:06:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): add windows support.</div><div class='del'>-	  based on patches from Peter Weldon at [ruby-core:32551]</div><div class='del'>-</div><div class='del'>-Mon Sep 27 23:30:34 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch), vm_insnhelper.c:</div><div class='del'>-	  execute the procedures of "when" clauses by bytecode</div><div class='del'>-	  instead of st_foreach() when the object does not hit</div><div class='del'>-	  prepared hash.  [ruby-dev:42304]</div><div class='del'>-</div><div class='del'>-Mon Sep 27 15:54:03 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb: As always, localhost is not</div><div class='del'>-	  guaranteed to be resolved as 127.0.0.1.  But a SSL</div><div class='del'>-	  certificate needs a socket to listen on a specific address</div><div class='del'>-	  where a CN resolves to.  On situations where localhost is</div><div class='del'>-	  not 127.0.0.1, these tests are not possible.</div><div class='del'>-</div><div class='del'>-Mon Sep 27 15:25:05 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: resurrection of r29259.</div><div class='del'>-	  this change depends on minitest 1.7.1.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 26 22:59:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.sub (x86_64-pc-mingw64): regularize.</div><div class='del'>-</div><div class='del'>-Sun Sep 26 22:21:07 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c (ossl_hmac_hexdigest, ossl_hmac_s_hexdigest),</div><div class='del'>-	  ext/openssl/ossl_pkey_ec.c (ossl_ec_group_set_seed),</div><div class='del'>-	  ext/openssl/ossl_ssl_session.c (ossl_ssl_session_to_der),</div><div class='del'>-	  ext/openssl/ossl_pkcs7.c (numberof): suppress warnings.</div><div class='del'>-	  [ruby-core:31932]</div><div class='del'>-</div><div class='del'>-Sun Sep 26 10:25:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.{guess,sub}: updated to automake-1.11.1.</div><div class='del'>-</div><div class='del'>-Sat Sep 25 22:48:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): fix quoting.</div><div class='del'>-</div><div class='del'>-Sat Sep 25 10:30:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): use -unexported_symbol only</div><div class='del'>-	  when available.  http://trac.macports.org/ticket/26341</div><div class='del'>-</div><div class='del'>-Sat Sep 25 10:05:49 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Always add -mieee for Renesas SH4.</div><div class='del'>-	  Thanks, Nobuhiro Iwamatsu. [Feature #3874] [ruby-core:32548]</div><div class='del'>-</div><div class='del'>-Sat Sep 25 01:34:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (install-cross): target to install cross-compiling</div><div class='del'>-	  stuff.</div><div class='del'>-</div><div class='del'>-Fri Sep 24 23:44:59 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_call), vm.c (invoke_block_from_c),</div><div class='del'>-	  vm_insnhelper.c (vm_yield_with_cfunc): pass given block.</div><div class='del'>-	  [ruby-core:32075]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcall_passing_block): new function to call</div><div class='del'>-	  method with passing given block.</div><div class='del'>-</div><div class='del'>-Fri Sep 24 15:50:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_to_i): fix rdoc: String#to_i raises an</div><div class='del'>-	  exception when base is invalid. [ruby-core:31685]</div><div class='del'>-</div><div class='del'>-Fri Sep 24 15:28:35 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): use rb_enc_prev_char instead of repeated</div><div class='del'>-	  str_nth.</div><div class='del'>-	  patched by Michael Selig [ruby-core:32498]</div><div class='del'>-</div><div class='del'>-Fri Sep 24 14:19:12 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pty.rb: Same as 229281; existence of PTY class do not</div><div class='del'>-	  guarantee a successful pty operation.</div><div class='del'>-</div><div class='del'>-Fri Sep 24 06:25:55 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.7.2 r5879.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 23 23:09:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_cref0): cref is stacked only in normal</div><div class='del'>-	  iseqs, so check if it is the case first.</div><div class='del'>-</div><div class='del'>-Thu Sep 23 23:08:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.sub: mingw64 should use x86_64.  [ruby-core:32514]</div><div class='del'>-</div><div class='del'>-Thu Sep 23 21:40:40 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (init_addrinfo, inspect_sockaddr): suppress</div><div class='del'>-	  warnings.  see [ruby-core:31932].</div><div class='del'>-</div><div class='del'>-Thu Sep 23 19:27:57 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_wait_events, w32_close_handle): suppress warnings.</div><div class='del'>-	  see [ruby-core:31932].</div><div class='del'>-</div><div class='del'>-Thu Sep 23 18:54:39 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.sub: add mingw64.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Mingw64): added.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Mingw32): renamed from Exports::Mingw.</div><div class='del'>-</div><div class='del'>-Thu Sep 23 09:01:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_cref_push): no outer cref is needed for proc</div><div class='del'>-	  from method.  Bug #3786, Bug #3860, [ruby-core:32501]</div><div class='del'>-</div><div class='del'>-Wed Sep 22 17:12:01 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb (OpenSSL#silent): always restore $VERBOSE.</div><div class='del'>-	  [ruby-dev:42285]</div><div class='del'>-</div><div class='del'>-Wed Sep 22 16:59:40 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb (TestPrime#test_new): the warning expected have</div><div class='del'>-	  not been displayed when $VERBOSE == nil. Patch by Shota Fukumori</div><div class='del'>-	  a.k.a. sora_h. [ruby-dev:42272]</div><div class='del'>-	  Recovers $stderr even if StringIO.new fails. Reported by unak.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 01:55:48 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: fix last commit.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 01:49:52 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test for [ruby-core:30534].</div><div class='del'>-</div><div class='del'>-Wed Sep 22 00:52:44 2010  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/store.rb (save_cache): remove duplicate entries.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 00:00:05 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_f_pathname): Pathname() translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Sep 21 22:18:30 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: fixed build problem on mswin64 introduced in r29278.</div><div class='del'>-</div><div class='del'>-Tue Sep 21 02:42:35 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (TestPathname#test_mkdir): fix typo.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 23:23:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (bracket): get rid of scanning at the end of the pattern</div><div class='del'>-	  string, not to raise an exception while globbing command line.</div><div class='del'>-	  [ruby-core:32478]</div><div class='del'>-</div><div class='del'>-Mon Sep 20 11:25:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (Init_pathname): Pathname#=~ undefinition</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 02:34:11 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (check_rounding_mode, BigDecimal_mode):</div><div class='del'>-	  raise ArgumentError instead of TypeError passing invalid modes.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_mode, test_round):</div><div class='del'>-	  change against the above modifications.</div><div class='del'>-</div><div class='del'>-Sun Sep 19 22:08:39 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_link): rdoc</div><div class='del'>-	  (try_compile): ditto</div><div class='del'>-	  (try_cpp): ditto</div><div class='del'>-	  (try_func): ditto</div><div class='del'>-	  (try_var): ditto</div><div class='del'>-	  (try_run): ditto</div><div class='del'>-	  (egrep_cpp): ditto</div><div class='del'>-</div><div class='del'>-Sun Sep 19 20:43:33 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--disable-install-doc): disables capi too, in addition</div><div class='del'>-	  to rdoc.</div><div class='del'>-	  (--disable-install-rdoc): a new option for disabling only rdoc.</div><div class='del'>-	  (--disable-install-capi): a new option for disabling only capi.</div><div class='del'>-</div><div class='del'>-Sun Sep 19 20:37:45 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean): removes all documents on cleaning.o</div><div class='del'>-	  (CAPIOUT): new variable.</div><div class='del'>-	  (clean-capi, distclean-capi, realclean-capi): new targets</div><div class='del'>-</div><div class='del'>-	* Makefile.in (clean-capi, distclean-capi, realclean-capi): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (clean-capi, distclean-capi, realclean-capi):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 19 13:44:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_SO): fix an oversight of replace</div><div class='del'>-	  RUBY_INSTALL_NAME with RUBY_SO_NAME.  a patch from Jeremy Evans</div><div class='del'>-	  at [ruby-core:32474].</div><div class='del'>-</div><div class='del'>-Sun Sep 19 07:48:20 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_unlink): Pathname#unlink and</div><div class='del'>-	  Pathname#delete translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Sep 19 06:06:07 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (check_rounding_mode): added for</div><div class='del'>-	  converting symbol to rounding mode number.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_mode, BigDecimal_round):</div><div class='del'>-	  support to specify rounding mode by symbol.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_mode, test_round):</div><div class='del'>-	  add tests for above changes.</div><div class='del'>-</div><div class='del'>-Sun Sep 19 05:14:35 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: fix rounding algorithms for half-down</div><div class='del'>-	  and half-even.  This change is based on the patch created by Matthew</div><div class='del'>-	  Willson, the reporter of this bug.  [Bug #3803] [ruby-core:32136]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests for above changes.</div><div class='del'>-</div><div class='del'>-Sat Sep 18 20:09:51 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_each_entry): Pathname#each_entry</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 23:44:07 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xpath_parser.rb, test/rexml/test_xpath.rb:</div><div class='del'>-	  add missing method availability check. [ruby-core:32447]</div><div class='del'>-	  Reported by Wiebe Cazemier. Thanks!!!</div><div class='del'>-</div><div class='del'>-Fri Sep 17 23:23:26 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_sax.rb: don't use thread and sleep to avoid slow test.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 23:10:44 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_core.rb: enable.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 22:46:02 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/: untabify.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 22:29:56 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/: fix fixture data path. All REXML tests are worked.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 22:15:15 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_listener.rb: remove needless codes.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 22:12:23 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/: import REXML tests from</div><div class='del'>-	  http://www.germane-software.com/repos/rexml/trunk/test/.</div><div class='del'>-	  Many tests are failed temporary. I'll fix them quickly. Sorry.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 16:48:49 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (TestIO_Console::helper):</div><div class='del'>-	  PTY.open is not guaranteed to work.  On my machine opening a</div><div class='del'>-	  pty is prohibited via process control group.  On those cases</div><div class='del'>-	  exceptions shall occur, and that doesn't mean our fault.</div><div class='del'>-	  Skip those tests on such situations.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 08:30:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: count only non-internal libraries in stack trace,</div><div class='del'>-	  ignoring custom_require.  [ruby-core:31858]</div><div class='del'>-</div><div class='del'>-Fri Sep 17 02:18:41 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: Fix build with m4 1.4.15 generating duplicate</div><div class='del'>-	  lines in config.status.  According to nobu, the mswin32 port may</div><div class='del'>-	  depend on the piece of code in question, so the behavior is left</div><div class='del'>-	  unchanged on mswin32.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 23:47:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_opendir): Pathname#opendir translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 21:40:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::GlobOption): merged RejectOption.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: utilize GlobOption.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 21:31:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (RDoc::RI::Driver.setup_options)</div><div class='del'>-	  (RDoc::RI::Driver.fixup_options): split from process_args.</div><div class='del'>-	  libraries should not parse ARGV inside, since it's a task of</div><div class='del'>-	  applications, not libraries.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 21:02:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths.each): HOMEDIR can be nil</div><div class='del'>-	  if $HOME is unset.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 14:50:42 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb (TestFileExhaustive::test_expand_path):</div><div class='del'>-	  ENV["HOME"] might not be set.  On those cases without it an</div><div class='del'>-	  exception raises here, which effectively disables later</div><div class='del'>-	  tests on this method.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 08:30:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): fix rdoc.  pointed out by Tomoyuki</div><div class='del'>-	  Chikanaga at [ruby-core:32395], and a patch from Daniel</div><div class='del'>-	  Bovensiepen at [ruby-core:32403].</div><div class='del'>-</div><div class='del'>-Thu Sep 16 08:27:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb: use expanded sysconfdir with empty DESTDIR.</div><div class='del'>-	  [ruby-core:32394]</div><div class='del'>-</div><div class='del'>-Thu Sep 16 06:07:24 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_rmdir): Pathname#rmdir translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 00:36:25 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: Remove Readline 6 check because</div><div class='del'>-	  Ruby's license is now GPLv3 compatible. [ruby-core:28736]</div><div class='del'>-</div><div class='del'>-Thu Sep 16 00:26:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* COPYING: change Ruby's License from a dual license with GPLv2</div><div class='del'>-	  to a dual license with 2-clause BSDL.</div><div class='del'>-	  [ruby-dev:42166] [ruby-core:31971]</div><div class='del'>-	  [ruby-dev:39167] [ruby-core:25272]</div><div class='del'>-</div><div class='del'>-	* COPYING.ja: ditto.</div><div class='del'>-</div><div class='del'>-	* BSDL: added. this is from The FreeBSD License.</div><div class='del'>-</div><div class='del'>-Wed Sep 15 21:07:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_mkdir): Pathname#mkdir translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep 15 13:37:00 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: "localhost" not guaranteed to</div><div class='del'>-	  resolve to "127.0.0.1".  On my machine it is "::1" instead.</div><div class='del'>-	  The problem is, you have to connect to the imaps server via</div><div class='del'>-	  the canonical name written in a server certificate, and that</div><div class='del'>-	  of the server.cert is "localhost".  So you have to listen to</div><div class='del'>-	  the address of what "localhost" resolves to.  I think this</div><div class='del'>-	  situation cannot be resolved in a handy manner because the</div><div class='del'>-	  test "test_imaps_post_connection_check" is actually</div><div class='del'>-	  expecting to connect to a server via an address other than</div><div class='del'>-	  the CN.  On my machine several assertions won't pass because</div><div class='del'>-	  the test cannot connect to the server.</div><div class='del'>-</div><div class='del'>-Wed Sep 15 09:12:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_puts): fix for wide char encoding strings.</div><div class='del'>-	  [ruby-dev:42212]</div><div class='del'>-</div><div class='del'>-Wed Sep 15 07:27:52 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_format_m): mentioned about Hash argument.  a patch</div><div class='del'>-	  from Daniel Bovensiepen at [ruby-core:32386].</div><div class='del'>-</div><div class='del'>-	* sprintf.c (get_hash): ditto, and fix typo.</div><div class='del'>-</div><div class='del'>-Wed Sep 15 07:22:20 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_entries): Pathname#entries translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep 15 02:13:44 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c : Don't use FFI closure alloc on OpenBSD.</div><div class='del'>-	  Thanks Jeremy Evans! [ruby-core:32384]</div><div class='del'>-</div><div class='del'>-Tue Sep 14 20:17:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_s_getwd): Pathname.getwd and</div><div class='del'>-	  Pathname.pwd translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 05:13:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_s_glob): Pathname.glob translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 01:24:51 2010  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (ruby_getaddrinfo__aix): suppress a</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 20:48:30 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_zero_p): Pathname#zero? translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 19:56:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (__DARWIN_ALIGNBYTES): workaround of a</div><div class='del'>-	  bug in system header of darwin 9.  [ruby-core:32341]</div><div class='del'>-</div><div class='del'>-Mon Sep 13 18:11:55 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_do): fix typo.  a patch from Peter Weldon</div><div class='del'>-	  at [ruby-core:32327].</div><div class='del'>-</div><div class='del'>-Mon Sep 13 10:12:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): reject Float('0x0.').</div><div class='del'>-	  [ruby-dev:42239] Bug #3820</div><div class='del'>-</div><div class='del'>-Mon Sep 13 09:23:58 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_is_prime): fix comparison</div><div class='del'>-	  with rb_scan_args. Before this fix, OpenSSL::BN#prime?</div><div class='del'>-	  is fully broken. [ruby-dev:42225]</div><div class='del'>-</div><div class='del'>-Mon Sep 13 06:45:24 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_writable_real_p):</div><div class='del'>-	  Pathname#writable_real? translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Sep 12 21:21:50 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: [ruby-core:32096]  Thanks Colin Bartlett.</div><div class='del'>-</div><div class='del'>-Sun Sep 12 19:30:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_world_writable_p):</div><div class='del'>-	  Pathname#world_writable? translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Sep 12 09:16:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_writable_p): Pathname#writable?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Sep 12 08:36:15 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rlimit_resource_name2int): support more limits:</div><div class='del'>-	  RLIMIT_MSGQUEUE, RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_RTTIME and</div><div class='del'>-	  RLIMIT_SIGPENDING.</div><div class='del'>-	  (Init_process): ditto.</div><div class='del'>-	  patch by Run Paint Run Run.  [ruby-core:32262]</div><div class='del'>-</div><div class='del'>-Sun Sep 12 04:27:13 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rlimit_resource_name2int): use STRCASECMP to avoid</div><div class='del'>-	  ALLOCA_N.</div><div class='del'>-</div><div class='del'>-Sat Sep 11 16:47:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): raise if putenv and SetEnvironmentVariable</div><div class='del'>-	  failed, because of the restriction of the size on Windows.</div><div class='del'>-	  based on a patch from Peter Weldon at [ruby-core:32304].  fix:</div><div class='del'>-	  Bug#3812, [ruby-core:32250]</div><div class='del'>-</div><div class='del'>-Sat Sep 11 15:19:57 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb (WEBrick::Config::DigestAuth):</div><div class='del'>-	  Add documentation</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::DigestAuth): Add</div><div class='del'>-	  documentation</div><div class='del'>-</div><div class='del'>-Sat Sep 11 12:32:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_set_kcode, rb_get_kcode): removed</div><div class='del'>-	  zombie prototype declarations.  a patch from Eric Hodel</div><div class='del'>-	  at [ruby-core:32305].</div><div class='del'>-</div><div class='del'>-Sat Sep 11 06:53:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_symlink_p): Pathname#symlink?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 23:03:43 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_sticky_p): Pathname#sticky? translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 19:11:13 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#continue): add</div><div class='del'>-	  method for generating HTTP/1.1 100 continue response if the client</div><div class='del'>-	  expects it, otherwise does nothing.  Patch by Brian Candler.</div><div class='del'>-	  ref #855.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httprequest.rb: test added.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 17:49:34 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509-internal.rb: removed unused local</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-	* test/openssl/*: less warnings while test running with -w.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 16:49:20 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_scan_args): Add support for optional keyword</div><div class='del'>-	  argument hash. [ruby-dev:42221] [ruby-dev:38048]</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: Update documentation accordingly.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): Make use of the new rb_scan_args()</div><div class='del'>-	  feature.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen, rb_scan_open_args, rb_io_initialize)</div><div class='del'>-	  (rb_io_s_pipe, open_key_args, io_s_foreach, io_s_readlines)</div><div class='del'>-	  (rb_io_s_read, rb_io_set_encoding): Ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode, econv_args)</div><div class='del'>-	  (econv_primitive_convert): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_initialize): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 10:33:18 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_genrand_ulong_limited): renamed from</div><div class='del'>-	  rb_rand_internal and now this is public API.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_genrand_ulong_limited): added.</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_sparse_p): use rb_genrand_ulong_limited.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 13:07:22 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb: removed unused exception variable</div><div class='del'>-	  assignment to avoid a warning.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 07:29:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_systmpdir): assume system default tmpdir</div><div class='del'>-	  safe.  [ruby-dev:42089]</div><div class='del'>-</div><div class='del'>-Fri Sep 10 07:03:23 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_size_p): Pathname#size? translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 02:15:29 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_peercred): support OpenBSD-current.</div><div class='del'>-	  patch by Jeremy Evans.  [ruby-core:32240]</div><div class='del'>-</div><div class='del'>-Thu Sep  9 23:25:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each): skip allocator frames which have no</div><div class='del'>-	  name.  [ruby-core:32231]</div><div class='del'>-</div><div class='del'>-Thu Sep  9 22:39:08 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_size): Pathname#size translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Sep  9 22:34:48 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (case_when_optimizable_literal): When float value can be</div><div class='del'>-	  treated as integer, add to table hash of case that way.</div><div class='del'>-	  based on a patch from Ikuo KOBORI. [ruby-dev:42038]</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_case.rb: add tests.</div><div class='del'>-</div><div class='del'>-Thu Sep  9 17:15:15 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb (test_identity_verify_failure): follows</div><div class='del'>-	  the SSL hostname check error message of openssl.</div><div class='del'>-</div><div class='del'>-Thu Sep  9 10:44:46 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb (test_aset): OpenBSD acts like NetBSD in</div><div class='del'>-	  that it ignores characters after = in ENV.</div><div class='del'>-	  patched by Jeremy Evans [ruby-core:32184]</div><div class='del'>-</div><div class='del'>-Thu Sep  9 09:02:01 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install?): gemspec filename should include</div><div class='del'>-	  its version. patched by Luis Lavena [ruby-core:32165]</div><div class='del'>-</div><div class='del'>-Wed Sep  8 22:46:31 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_get_error): Thread context switch was</div><div class='del'>-	  blocked on Windows while blocking call for SSLSocket.  Need to</div><div class='del'>-	  convert errno for letting rb_io_wait_readable detect EWOULDBLOCK.</div><div class='del'>-	  Patch by arton. ref #3794.</div><div class='del'>-</div><div class='del'>-Wed Sep  8 20:56:57 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_setgid_p): Pathname#setgid? translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep  8 06:25:41 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_setuid_p): Pathname#setuid? translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Sep  7 21:03:35 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_readable_real_p):</div><div class='del'>-	  Pathname#readable_real?  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Sep  6 23:07:25 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_world_readable_p):</div><div class='del'>-	  Pathname#world_readable?  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Sep  6 11:03:13 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Fixed wrong check of missing functions. Patch by Adrian Quark.</div><div class='del'>-	  ref #3400</div><div class='del'>-	  The patch contains following comment:</div><div class='del'>-	    This patch should avoid unnecessary incompatibility with future</div><div class='del'>-	    versions of Openssl.  Changes suggested by bmaher_at_amazon.com.</div><div class='del'>-</div><div class='del'>-Mon Sep  6 10:46:55 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Fixed exception message for SSL post connection check failure. Patch</div><div class='del'>-	  by Paul Betteridge. ref [Bug #3704]</div><div class='del'>-</div><div class='del'>-Mon Sep  6 10:31:59 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_get_line_buffer):</div><div class='del'>-	  Readline.line_buffer should return locale string.</div><div class='del'>-	  [ruby-dev:42184] #3791</div><div class='del'>-</div><div class='del'>-Mon Sep  6 09:47:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): check there is at least 1 digit after</div><div class='del'>-	  "0x" before ".". [ruby-dev:42183] #3790</div><div class='del'>-</div><div class='del'>-Mon Sep  6 09:44:50 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): check integer overflow.</div><div class='del'>-	  [ruby-dev:42180] #3789</div><div class='del'>-</div><div class='del'>-Mon Sep  6 06:17:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_readable_p): Pathname#readable?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Sep  5 23:02:34 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_owned_p): Pathname#owned?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Sep  4 23:48:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_readlink): symlink target should be in</div><div class='del'>-	  filesystem encoding.</div><div class='del'>-</div><div class='del'>-Sat Sep  4 10:40:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_init_ext): export for golfers.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_iseq_eval, rb_iseq_compile_with_option): ditto.</div><div class='del'>-</div><div class='del'>-Sun May 23 17:29:41 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (capi): uses a timestamp file to get rid of</div><div class='del'>-	  generating twice.</div><div class='del'>-</div><div class='del'>-Fri Jun 18 01:33:21 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (realclean): has been missing. necessary</div><div class='del'>-	  for make realclean-enc.</div><div class='del'>-</div><div class='del'>-Fri Sep  3 23:51:26 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_socket_p): Pathname#socket?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep  3 06:40:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): pass through exceptions.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_bufwrite, rb_io_bufread): added.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): protect from exceptions.</div><div class='del'>-</div><div class='del'>-Fri Sep  3 06:16:07 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_pipe_p): Pathname#pipe?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep  3 06:14:40 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): restore errno from SystemCallError and</div><div class='del'>-	  propagate proper exception to the parent.  [ruby-dev:41965]</div><div class='del'>-</div><div class='del'>-Thu Sep  2 22:10:38 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_file_p): Pathname#file?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Sep  2 09:12:02 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): don't forget to free</div><div class='del'>-	  memory.</div><div class='del'>-</div><div class='del'>-Thu Sep  2 09:01:13 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): unicodize.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): convert arguments of</div><div class='del'>-	  CreateChild() from ACP to WideChar.</div><div class='del'>-</div><div class='del'>-Thu Sep  2 06:53:43 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_directory_p): Pathname#directory?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep  1 22:03:41 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_grpowned_p): Pathname#grpowned?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep  1 17:39:02 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.7.1 r5835.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  1 16:50:42 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): optimized. don't create hash objects</div><div class='del'>-	  when given pattern is ASCII only.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  1 14:35:29 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_rotate_m): fix typo of rdoc.</div><div class='del'>-	  patched by Andrei Kulakov [ruby-core:31975]</div><div class='del'>-</div><div class='del'>-Wed Sep  1 14:33:36 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): fix typo of rdoc.</div><div class='del'>-	  patched by Andrei Kulakov [ruby-core:31974]</div><div class='del'>-</div><div class='del'>-Wed Sep  1 12:56:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_suppress_tracing): restore the state and invoke</div><div class='del'>-	  the func with normal state.  a patch from Satoshi Shiba &lt;shiba</div><div class='del'>-	  AT rvm.jp&gt; at [ruby-dev:42162].  [ruby-core:31783]</div><div class='del'>-</div><div class='del'>-Tue Aug 31 21:10:23 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_exist_p): Pathname#exist? translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Aug 31 17:32:34 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c: fix [Bug #3771] "VC++ can't make ext/tk with enabling</div><div class='del'>-	  stubs". Thanks, Akio Tajima [ruby-dev:42159].</div><div class='del'>-</div><div class='del'>-Tue Aug 31 03:42:14 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): fix bug in r29146.</div><div class='del'>-	  Initialize table even if cflag is 0; tr_find see whether</div><div class='del'>-	  del is empty or not.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): nodel can't be NULL; if NULL, it means</div><div class='del'>-	  it is not specified.</div><div class='del'>-</div><div class='del'>-Mon Aug 30 21:29:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_executable_real_p):</div><div class='del'>-	  Pathname#executable_real? translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Aug 30 15:00:13 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): initialize negating table when</div><div class='del'>-	  negating string is given. [ruby-core:31851]</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): add a sentence for the time when</div><div class='del'>-	  target characters include negating one.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): move definition.</div><div class='del'>-</div><div class='del'>-Mon Aug 30 07:32:41 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_executable_p): Pathname#executable?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug 29 23:54:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb (RDoc#parse_call_parameters): don't</div><div class='del'>-	  include assignment.  [Bug #3759], [ruby-dev:42154]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb (RDoc#parse_class): ignore non-constant</div><div class='del'>-	  name singleton class.  [Bug #3759], [ruby-dev:42154]</div><div class='del'>-</div><div class='del'>-Sun Aug 29 23:25:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check): clarify error message for</div><div class='del'>-	  ASCII-incompatible path name.</div><div class='del'>-</div><div class='del'>-Sun Aug 29 16:02:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (node_name.inc): remove command option -n and give</div><div class='del'>-	  file as stdin, because IronRuby 1.1 still doesn't support it.</div><div class='del'>-	  So now we can use ir.exe as BASERUBY.</div><div class='del'>-</div><div class='del'>-	* tool/node_name.rb: read stdin with while gets.</div><div class='del'>-</div><div class='del'>-Sun Aug 29 13:22:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_method_id_and_class): curried proc has no</div><div class='del'>-	  method.  [ruby-core:31871]</div><div class='del'>-</div><div class='del'>-Sun Aug 29 12:51:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_provide_feature): clarify error message for frozen</div><div class='del'>-	  $LOADED_FEATURES.  based on a patch from Run Paint Run Run at</div><div class='del'>-	  [ruby-core:31913].</div><div class='del'>-</div><div class='del'>-Sun Aug 29 12:19:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_failed): should honor encoding.  [ruby-core:31915]</div><div class='del'>-</div><div class='del'>-Sun Aug 29 09:35:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean): exclude *.inc. [ruby-dev:41931]</div><div class='del'>-</div><div class='del'>-	* common.mk (distclean): include *.inc.</div><div class='del'>-</div><div class='del'>-	* common.mk (help): change description about clean and distclean.</div><div class='del'>-</div><div class='del'>-Sat Aug 29 06:34:52 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_chardev_p): Pathname#chardev?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Aug 28 17:39:33 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_save_exception_mode,</div><div class='del'>-	  BigDecimal_save_rounding_mode, BigDecimal_save_limit): added.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: added tests for the above</div><div class='del'>-	  features.</div><div class='del'>-</div><div class='del'>-Sat Aug 28 08:11:05 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_blockdev_p): Pathname#blockdev?</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug 27 16:20:01 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_prepend): new method by Shota Fukumori (sora_h)</div><div class='del'>-	  [Feature #3765]</div><div class='del'>-</div><div class='del'>-Fri Aug 27 15:24:20 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2): you should know that M_PI is not the feature</div><div class='del'>-	  of C90.</div><div class='del'>-	  fixed build failure caused by r29115.</div><div class='del'>-</div><div class='del'>-Fri Aug 27 15:26:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (null_device): move from io.c.</div><div class='del'>-</div><div class='del'>-Fri Aug 27 12:47:44 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2): change the behavior when x and y are zero.</div><div class='del'>-	  [ruby-dev:42090] [Bug #3736] [ruby-dev:42116]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb (test_atan2): add tests for the above</div><div class='del'>-	  changes.</div><div class='del'>-</div><div class='del'>-Fri Aug 27 12:26:23 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_class): remove mention of obsolete method.</div><div class='del'>-	  a patch from Run Paint Run Run at [ruby-core:31842].</div><div class='del'>-</div><div class='del'>-Fri Aug 27 12:25:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (null_device): the name of null device.  [ruby-dev:41791]</div><div class='del'>-</div><div class='del'>-Fri Aug 27 07:57:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang): bail out from modification during</div><div class='del'>-	  shuffle.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 27 05:11:51 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_sysopen): Pathname#sysopen translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 26 22:53:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle): rdoc fix.  argument name was missing.</div><div class='del'>-	  a patch from Run Paint Run Run at [ruby-core:31848].</div><div class='del'>-</div><div class='del'>-Thu Aug 26 21:49:46 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_readlines): Pathname#readlines</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 26 10:37:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (OnigStackIndex): the type should be intptr_t.</div><div class='del'>-	  Original Oniguruma assumes the size of long and that of void *</div><div class='del'>-	  are equal, but it's not true on LLP64 platform: mswin64.</div><div class='del'>-	  originally patched by shintaro kuwamoto [ruby-dev:42133]</div><div class='del'>-</div><div class='del'>-Thu Aug 26 10:38:11 2010  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb: AIX does not have dynamically loadable lib[cm].</div><div class='del'>-</div><div class='del'>-	* test/fiddle/helper.rb: AIX does not have dynamically loadable lib[cm].</div><div class='del'>-</div><div class='del'>-Thu Aug 26 09:49:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang): check number of argument.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 09:11:40 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal,</div><div class='del'>-	  rmpd_set_thread_local_exception_mode, VpGetException,</div><div class='del'>-	  VpSetException): thread-local exception mode.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal,</div><div class='del'>-	  rmpd_set_thread_local_precision_limit, VpGetPrecLimit,</div><div class='del'>-	  VpSetPrecLimit): thread-local precision limit.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal,</div><div class='del'>-	  rmpd_set_thread_local_rounding_mode, VpGetRoundMode,</div><div class='del'>-	  VpSetRoundMode, VpException, VpInternalRound):</div><div class='del'>-	  thread-local rounding mode.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_mode, BigDecimal_round,</div><div class='del'>-	  VpIsRoundMode, VpGetRoundMode, VpSetRoundMode, VpActiveRound,</div><div class='del'>-	  VpMidRound, VpLeftRound), ext/bigdecimal/bigdecimal.h:</div><div class='del'>-	  use unsigned short for rounding mode.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_mode): add test for</div><div class='del'>-	  setting rounding mode.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_thread_local_mode):</div><div class='del'>-	  add test for setting mode thread-locally.</div><div class='del'>-</div><div class='del'>-Thu Aug 26 07:29:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_{shuffle_bang,sample}): use Random class object.</div><div class='del'>-</div><div class='del'>-	* random.c (try_get_rnd): use default_rand for Random as same as</div><div class='del'>-	  singleton methods.</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_real): check the range of result.</div><div class='del'>-</div><div class='del'>-Wed Aug 25 22:11:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_binread): Pathname#binread translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Aug 25 03:42:43 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): workaround for VC9 for x64.</div><div class='del'>-	  reported by kuwamoto shintaro in [ruby-dev:42125].</div><div class='del'>-</div><div class='del'>-Tue Aug 24 23:28:50 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: updated.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 22:07:28 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_read): Pathname#read translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 10:11:04 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: read API version from include/ruby/version.h.</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/setup.mak (-version-): ditto.</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_LIB_VERSION): use API version numbers.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 07:07:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang, rb_ary_sample): add optional</div><div class='del'>-	  argument random.  [ruby-dev:41923] [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_{int32,real,bytes}): fallback to normal</div><div class='del'>-	  method invocation.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 06:08:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/version.h (RUBY_API_VERSION_*): renamed and moved</div><div class='del'>-	  from version.h.  [ruby-dev:42103]</div><div class='del'>-</div><div class='del'>-Tue Aug 24 05:58:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: flushed.  [ruby-dev:42050]</div><div class='del'>-</div><div class='del'>-Tue Aug 24 01:14:58 2010  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): to_f must underflow</div><div class='del'>-	  when the exponent is less than DBL_MIN_10_EXP - BASE_FIG.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_to_f): added test for the above changes.</div><div class='del'>-</div><div class='del'>-Mon Aug 23 23:14:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_each_line): Pathname#each_line</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Aug 23 22:30:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (version.o): depends on both of version.h and</div><div class='del'>-	  include/ruby/version.h.   [ruby-dev:42063]</div><div class='del'>-</div><div class='del'>-Mon Aug 23 13:09:27 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* backport r29071 from ruby_1_8;</div><div class='del'>-</div><div class='del'>-	  * ext/openssl/ossl_asn1.c (obj_to_asn1bool): fixed ASN1::Boolean</div><div class='del'>-	    encoding issue for OpenSSL 1.0.0 compatibility.</div><div class='del'>-	    ASN1::Boolean.new(false).to_der wrongly generated "\1\1\377" which</div><div class='del'>-	    means 'true'.</div><div class='del'>-</div><div class='del'>-	    ASN1_TYPE_set of OpenSSL &lt;= 0.9.8 treats value 0x100 as 'false'</div><div class='del'>-	    but OpenSSL &gt;= 1.0.0 treats it as 'true'.  ruby-ossl was using</div><div class='del'>-	    0x100 for 'false' for backward compatibility.  Just use 0x0 for</div><div class='del'>-	    the case OpenSSL &gt;= OpenSSL 0.9.7.</div><div class='del'>-</div><div class='del'>-	  * test/openssl/test_asn1.rb: test added.</div><div class='del'>-</div><div class='del'>-Mon Aug 23 12:28:58 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): fix: 4th argument should be regexp</div><div class='del'>-	  object. patched by shintaro kuwamoto [ruby-dev:41667] #3459</div><div class='del'>-</div><div class='del'>-Mon Aug 23 02:23:05 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): make sure to have digit-sequence after 'p'</div><div class='del'>-	  for hexadecimal-floating-constant. [ruby-dev:42105]</div><div class='del'>-</div><div class='del'>-Mon Aug 23 00:23:07 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: [ruby-core:31695]</div><div class='del'>-</div><div class='del'>-Sun Aug 22 09:08:02 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (UINT2NUM): fix ifdef condition for LLP64.</div><div class='del'>-	  reported by Daniel Gutmanas.  [ruby-core:31778]</div><div class='del'>-</div><div class='del'>-Sun Aug 22 06:46:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (RAND_UPTO): macro for random number.</div><div class='del'>-</div><div class='del'>-Sun Aug 22 05:55:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix typo.  a patch from Eric Wong at</div><div class='del'>-	  [ruby-core:31810].</div><div class='del'>-</div><div class='del'>-Sat Aug 21 20:09:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: add missing prototype of rb_iseq_clone for r29063.</div><div class='del'>-</div><div class='del'>-Sat Aug 21 18:54:56 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): copy iseq to avoid overwriting iseq-&gt;klass.</div><div class='del'>-	  #2502, #3136. see #2420.</div><div class='del'>-</div><div class='del'>-Sat Aug 21 17:36:42 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_split): Pathname#split translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug 20 10:40:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_expand_path): Pathname#expand_path</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 22:44:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (usage): add usage.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): accept revision as BRANCH@REV.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 19:53:26 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_timestamp): fix a constant type.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (get_afamily): suppress a warning.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 19:28:47 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): suppress a warning for platforms</div><div class='del'>-	  which time_t is int.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 18:15:50 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: Add a tool to merge commits between branches.</div><div class='del'>-	  developed by URABE Shyouhei</div><div class='del'>-</div><div class='del'>-Thu Aug 19 17:19:09 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* backport r28621 and r28632 from ruby_1_8;</div><div class='del'>-</div><div class='del'>-	  * ext/openssl/ossl_config.c, ext/openssl/lib/openssl/config.rb,</div><div class='del'>-	    ext/openssl/lib/openssl.rb: reimplement OpenSSL::Config in Ruby.</div><div class='del'>-	    Now it should work on windows.</div><div class='del'>-</div><div class='del'>-	  * test/openssl/test_config.rb: added tests for OpenSSL::Config#dup.</div><div class='del'>-</div><div class='del'>-	  * test/openssl/test_config.rb: added tests for Config#clone.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 12:04:39 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation, rb_ary_repeated_permutation,</div><div class='del'>-	  rb_ary_repeated_combination, rb_ary_product):</div><div class='del'>-	  use ary_make_shared_copy instead of ary_make_substitution.</div><div class='del'>-	  [ruby-dev:42067] [Bug #3708]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_product, test_repeated_permutation,</div><div class='del'>-	  test_repeated_combination): append assertions against [Bug #3708].</div><div class='del'>-</div><div class='del'>-Thu Aug 19 11:11:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): fix typo of rdoc.</div><div class='del'>-	  patched by Andrei Kulakov [ruby-core:31768]</div><div class='del'>-</div><div class='del'>-Thu Aug 19 10:06:08 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_extname): Pathname#extname translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 06:03:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): initialize block_iseq.  a patch</div><div class='del'>-	  from Peter Weldon at [ruby-core:31757].</div><div class='del'>-</div><div class='del'>-Wed Aug 18 19:08:17 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): revert r29037, it occurs SEGV some</div><div class='del'>-	  situations.</div><div class='del'>-</div><div class='del'>-Wed Aug 18 18:36:32 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared),</div><div class='del'>-	  test/ruby/test_array.rb (test_permutation):</div><div class='del'>-	  always return the original array when it is shared.</div><div class='del'>-	  [ruby-dev:42067] [Bug #3708]</div><div class='del'>-</div><div class='del'>-Wed Aug 18 01:37:49 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c: revert r26701; it introduces Bug #3681.</div><div class='del'>-	  [ruby-core:31677]</div><div class='del'>-</div><div class='del'>-Tue Aug 17 20:05:29 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_threaded_flush): test "hi" is not output</div><div class='del'>-	  twice.</div><div class='del'>-</div><div class='del'>-Tue Aug 17 15:13:28 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: Re-revert the part of r28950.</div><div class='del'>-	  It reverted the part of r28619.</div><div class='del'>-</div><div class='del'>-Tue Aug 17 13:00:07 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_dirname): Pathname#dirname translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Aug 17 07:50:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: check functions more.</div><div class='del'>-	  [ruby-core:31722]</div><div class='del'>-</div><div class='del'>-Tue Aug 17 07:42:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent_expand): set capacity properly. a</div><div class='del'>-	  patch from Peter Weldon at [ruby-core:31734].  [ruby-core:31653]</div><div class='del'>-</div><div class='del'>-Tue Aug 17 07:38:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb, lib/rubygems.rb (Gem.suffixes): include empty</div><div class='del'>-	  suffix.  [ruby-core:31730]</div><div class='del'>-</div><div class='del'>-Mon Aug 16 22:16:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_basename): unused variable removed.</div><div class='del'>-</div><div class='del'>-Mon Aug 16 21:39:33 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_basename): Pathname#basename translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Aug 16 20:26:13 2010  Narihiro Nakamura  &lt;narihiro@netlab.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result): Index begins with 1.</div><div class='del'>-</div><div class='del'>-Mon Aug 16 20:21:17 2010  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result): use size_t. based on patches from</div><div class='del'>-	Tomoaki NISHIYAMA &lt;tomoakin@kenroku.kanazawa-u.ac.jp&gt; at</div><div class='del'>-	[ruby-dev:42042].</div><div class='del'>-</div><div class='del'>-Mon Aug 16 19:23:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_dtoa, ruby_hdtoa): use same representations for</div><div class='del'>-	  Infinity and NaN.  a part of a patch from Peter Weldon at</div><div class='del'>-	  [ruby-core:31725].</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_hdtoa): fixed buffer overrun.  based on a patch</div><div class='del'>-	  from Peter Weldon at [ruby-core:31725].</div><div class='del'>-</div><div class='del'>-Mon Aug 16 17:44:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (capi): use -b option for doxygen.  It disables stdout</div><div class='del'>-	  buffering and prevents wrong reordering between stdout and stderr</div><div class='del'>-	  even when the output of "make" is redirected.</div><div class='del'>-</div><div class='del'>-Sun Aug 15 19:59:58 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#set_error):</div><div class='del'>-	  Fix for possible cross-site scripting (CVE-2010-0541).</div><div class='del'>-	  Found by Apple, reported by Hideki Yamane.</div><div class='del'>-	  Patch by Hirokazu Nishio &lt;nishio.hirokazu AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Mon Aug 16 12:29:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (test-rubyspec-precheck): split</div><div class='del'>-	  from test-rubyspec.</div><div class='del'>-</div><div class='del'>-	* common.mk (test-rubyspec): moved from Makefile.in.</div><div class='del'>-</div><div class='del'>-Mon Aug 16 10:00:45 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h (llabs): never never never never never</div><div class='del'>-	  use "long long".</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal.bigdecimal.c (BigDecimal_to_i): get rid of a warning.</div><div class='del'>-</div><div class='del'>-Sun Aug 15 18:14:20 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_inspect,</div><div class='del'>-	  VPrint, VpToString, VpVarCheck): use PRIuSIZE, PRIdSIZE, PRIdVALUE,</div><div class='del'>-	  and PRIxVALUE.</div><div class='del'>-</div><div class='del'>-Sun Aug 15 16:14:31 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.postpone): close @log only when it's available.</div><div class='del'>-</div><div class='del'>-Sun Aug 15 13:30:35 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h (VpVtoD): fix a type of e.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_inspect):</div><div class='del'>-	  fix format for size_t.</div><div class='del'>-</div><div class='del'>-Sun Aug 15 00:22:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/extconf.rb, ext/bigdecimal/bigdecimal.h</div><div class='del'>-	  (labs, llabs): support environments missing labs and llabs.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h (vabs): added.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/extconf.rb, ext/bigdecimal/bigdecimal.h,</div><div class='del'>-	  ext/bigdecimal/bigdecimal.c, test/bigdecimal/test_bigdecimal.rb</div><div class='del'>-	  (TestBigDecimal#test_new): replace U_LONG, S_LONG, S_INT, and U_INT</div><div class='del'>-	  with appropriate standard or ruby-provided types.</div><div class='del'>-</div><div class='del'>-Sun Aug 15 00:15:45 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_utime): Pathname#utime translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Aug 14 21:04:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_gc_mark_threads): deprecated.</div><div class='del'>-</div><div class='del'>-Sat Aug 14 19:12:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/{coverage,objspace}/extconf.rb ($INCFLAGS): explicitly add</div><div class='del'>-	  topdir and top_srcdir.  [ruby-dev:42031]</div><div class='del'>-</div><div class='del'>-Sat Aug 14 17:48:41 2010  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: added test for objspace.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: considers T_ZOMBIE by lazy sweep GC.</div><div class='del'>-</div><div class='del'>-	* gc.c: considers that dsize was 0. [ruby-dev:42022]</div><div class='del'>-</div><div class='del'>-Sat Aug 14 15:33:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro</div><div class='del'>-	  to declare exported function.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_memsize), string.c (rb_str_memsize),</div><div class='del'>-	  variable.c (rb_objspace_data_type_memsize): used in</div><div class='del'>-	  objspace.  [ruby-dev:42022]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_memsize): constified.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_memsize): constified.</div><div class='del'>-</div><div class='del'>-	* gc.h (rb_objspace_each_objects): used in objspace.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_{get,set,reset}_coverages): used in coverage.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_time_interval): used in io/wait.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_make_backtrace, rb_make_exception):</div><div class='del'>-	  used in ripper.</div><div class='del'>-</div><div class='del'>-	* node.h (rb_parser_{malloc,realloc,calloc,free}): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 13 22:48:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_truncate): Pathname#truncate translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug 13 16:11:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (MiniTest::Unit.new): extend before initialize.</div><div class='del'>-	  [ruby-dev:41970]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (MiniTest::Unit.autorun): use Test::Unit::Mini.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 23:39:02 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_make_symlink): Pathname#make_symlink</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 21:18:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_lstat): Pathname#lstat translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 05:58:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_char_to_option_kcode): used in</div><div class='del'>-	  ripper.</div><div class='del'>-</div><div class='del'>-	* node.h (rb_reserved_word): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 00:19:53 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_script_from_stdin): disable</div><div class='del'>-	  echo.  [ruby-dev:41966]</div><div class='del'>-</div><div class='del'>-Wed Aug 11 23:28:22 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (CMath.sqrt): use floating-point value.</div><div class='del'>-	  [ruby-core:31672] [Bug #3678]</div><div class='del'>-</div><div class='del'>-	* test/test_cmath.rb: added for testing lib/cmath.rb.</div><div class='del'>-</div><div class='del'>-Wed Aug 11 20:57:25 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: merge from branches/ruby_1_9_2, and move io/console.</div><div class='del'>-	  [ruby-dev:41924]</div><div class='del'>-</div><div class='del'>-Wed Aug 11 11:01:15 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: don't use // comment.</div><div class='del'>-</div><div class='del'>-Wed Aug 11 06:18:20 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_stat): Pathname#stat translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 21:18:04 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_[ifr]): don't allow complex with in-exact</div><div class='del'>-	  imaginary zero to be converted.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 20:56:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: suppress a warning.</div><div class='del'>-</div><div class='del'>-	* test/test_mutex_m.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 20:56:13 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date::Format::Bag): use Struct.</div><div class='del'>-	  as an experimental.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 20:45:35 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_rename): Pathname#rename translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 20:16:19 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/resolv.rb (get_info): get rid of a warning.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 19:56:13 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: [ruby-core:31658]</div><div class='del'>-</div><div class='del'>-Tue Aug 10 17:24:56 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: rb_tainted_str_new_cstr() is an alias of</div><div class='del'>-	  rb_tainted_str_new2().</div><div class='del'>-</div><div class='del'>-Tue Aug 10 15:24:30 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c, ext/bigdecimal/bigdecimal.h,</div><div class='del'>-	  ext/bigdecimal/extconf.rb: BASE and BASE_FIG are defined</div><div class='del'>-	  based on the size of BDIGIT.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c, ext/bigdecimal/bigdecimal.h:</div><div class='del'>-	  use BDIGIT for Real#frac.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 15:19:45 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c:</div><div class='del'>-	  add extern declaration of rb_cBigDecimal.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 14:09:31 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest::parse_uri):</div><div class='del'>-	  rollup leading slashes. [ruby-core:31657]</div><div class='del'>-	  patched by Jamison Wilde</div><div class='del'>-	  NOTE: //authority/path is valid relative URI both RFC2396 and</div><div class='del'>-	  RFC3986. So when give a relative URI-like string to URI lib,</div><div class='del'>-	  users must care leading slashes.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 11:26:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (httpd): SIGQUIT and SIGHUP are not guaranteed to exist.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 06:26:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_readlink): Pathname#readlink translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 22:15:19 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_open): Pathname#open translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 22:11:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_exit_action): use</div><div class='del'>-	  Process.spawn instead of Process.fork.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 15:59:02 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/source_index.rb: rename unused variable.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb: rename unused variable.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb: remove unused variable.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 14:10:06 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Fix type of mimeout_state.buf.</div><div class='del'>-	  [nkf-bug:20079]</div><div class='del'>-</div><div class='del'>-Mon Aug  9 06:52:59 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (sys_warning_1): show error message.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 06:50:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_require_too_long_filename):</div><div class='del'>-	  clear -w option.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 00:18:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($ignore_error): initialize after $nmake.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 19:16:26 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_make_link): Pathname#make_link</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 16:42:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.find_files): reverted to use globbing.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.find_files): fixed search order same as</div><div class='del'>-	  default behavior.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb, lib/rubygems.rb (Gem.suffixes): return truly</div><div class='del'>-	  require-able suffixes only.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 13:20:57 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_ftype): Pathname#ftype translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 12:41:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_escape): no similar messages twice.</div><div class='del'>-	  [ruby-core:31048]</div><div class='del'>-</div><div class='del'>-Sun Aug  8 10:07:45 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 08:58:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RUBY_H_INCLUDES): add subst.h.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 08:55:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_snprintf): printf attribute.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 07:47:29 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rbconfig/obsolete.rb: show the location which use Config.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 07:29:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_fnmatch): Pathname#fnmatch and</div><div class='del'>-	  Pathname#fnmatch? translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 07:18:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/subst.h (snprintf): redefinition moved from ruby.h.</div><div class='del'>-	  (vsnprintf): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 00:41:42 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/subst.h: new file for substitute standard functions.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: don't substitute "close", etc. here.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: include ruby/subst.h at last.</div><div class='del'>-	  This prevents substituting "close" in unistd.h.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 19:51:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil.invoke_ruby): merge stdout and stderr</div><div class='del'>-	  if capture_stderr is :merge_to_stdout.</div><div class='del'>-	  (assert_normal_exit): print abnormal output properly.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 19:04:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/close.c: undef the macros "getpeername", "getsockname" and</div><div class='del'>-	  "shutdown" to prevent infinite recursion.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 18:37:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/close.c: undef the macro "close" to prevent infinite</div><div class='del'>-	  recursion.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 18:20:41 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_lchown): Pathname#lchown translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 17:49:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: moved BROKEN_CLOSE replacements from</div><div class='del'>-	  include/ruby/ruby.h.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 17:40:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb, lib/rbconfig/obsolete.rb: warn obsolete and</div><div class='del'>-	  deprecated Config.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 17:18:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): follow the change of</div><div class='del'>-	  install-rb-default line format at r28850, which causes second</div><div class='del'>-	  run to create dummy makefiles.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 14:08:44 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: change instance variable to global.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 13:59:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_sub_ext): don't clobber shared string.</div><div class='del'>-	  [ruby-core:31640]</div><div class='del'>-</div><div class='del'>-Sat Aug  7 13:33:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): fix for VM_METHOD_TYPE_NOTIMPLEMENTED.</div><div class='del'>-	  [ruby-dev:41953]</div><div class='del'>-</div><div class='del'>-Sat Aug  7 09:47:06 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: fix checking version of GCC.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 09:31:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (Init_pathname): fix number of arguments for</div><div class='del'>-	  Pathname#chown.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 09:28:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): use assert.  fix</div><div class='del'>-	  faildesc.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (test_lchmod): test Pathname#lchmod</div><div class='del'>-	  using assert_normal_exit.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 08:26:26 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_chown): Pathname#chown translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 02:09:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_lchmod): Pathname#lchmod translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 21:30:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_chmod): Pathname#chmod translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 20:13:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_div): divided by infinity should be zero.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_div): divided by float zero should be</div><div class='del'>-	  infinity.  [ruby-core:31626]</div><div class='del'>-</div><div class='del'>-Fri Aug  6 18:59:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): rb_str_modify depends on the length, so</div><div class='del'>-	  resize instead.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 18:56:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (clean-ext): fixed directories to be removed.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 17:42:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: add space at the beginning of @ignore_error.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 17:38:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean): add  prelude.c, config.log, and rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* common.mk (distclean): remove encdb.h, config.log, and rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 17:35:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: ignore error from RMDIRS.</div><div class='del'>-</div><div class='del'>-	* enc/depend: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 05:53:32 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_mtime): Pathname#mtime translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 22:09:30 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_ctime): Pathname#ctime translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 21:20:31 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_ARGSCAT, NODE_ARGSPUSH): drop unused ARGSCAT</div><div class='del'>-	  results when popped is true.  [ruby-dev:41933], [Bug #3658]</div><div class='del'>-	  This is retry of r28870 and r28873 which were reverted.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 20:13:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (String functions): mention</div><div class='del'>-	  rb_str_resize and rb_str_set_len.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 19:59:55 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_set_len): bail out when buffer overflowed</div><div class='del'>-	  probably.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 18:36:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_marshal_load): should check the argument.</div><div class='del'>-	  [ruby-core:31622]</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_marshal_load): ditto</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_float): should not append a dot if no fractal part</div><div class='del'>-	  exists.  [ruby-dev:41936]</div><div class='del'>-</div><div class='del'>-Thu Aug  5 17:11:43 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (void_expr_gen): add 'possibly' to warning message.</div><div class='del'>-	  [ruby-core:31611]</div><div class='del'>-</div><div class='del'>-Thu Aug  5 16:57:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_make_pattern): fold continuous PLAINs to get rid of</div><div class='del'>-	  snail at too deep path.  [ruby-dev:41871]</div><div class='del'>-</div><div class='del'>-Thu Aug  5 16:42:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_set_len): should fail to modify shared string.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 14:12:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): ensure sopath to be modifiable</div><div class='del'>-</div><div class='del'>-Thu Aug  5 12:39:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent_expand): fix buffer overflow</div><div class='del'>-	  while shrinking.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 06:42:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): call rb_str_modify before rb_str_set_len.</div><div class='del'>-</div><div class='del'>-Wed Aug  4 19:37:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_set_len): rb_str_modify cannot work before the</div><div class='del'>-	  length is set, which is a precondition for rb_str_modify.</div><div class='del'>-</div><div class='del'>-Wed Aug  4 15:47:21 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): no need to create the directory</div><div class='del'>-	  at each library file. this change makes making ext faster.</div><div class='del'>-</div><div class='del'>-Wed Aug  4 06:25:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_atime): Pathname#atime translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 21:16:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (Init_Random): add Random::DEFAULT.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 21:01:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_check_hash_type): added.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 20:30:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): never equal to infinity.</div><div class='del'>-	  [ruby-core:31603]</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_div): hack for integral float divisor.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 14:42:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: remove purelib, fixes a bug in r28440, r28441.</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: ditto.</div><div class='del'>-</div><div class='del'>-	* template/Doxyfile.tmpl: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 14:19:42 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (setup_pager): no need to check the existence</div><div class='del'>-	  of pagers. the following code checks whether they are executable or</div><div class='del'>-	  not.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 12:03:57 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/runruby.rb: no purelib.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 07:52:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/purelib.rb: no longer used since the default load path of</div><div class='del'>-	  miniruby is empty.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 00:53:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm_core.h: fixed typo.  reported by Rocky Bernstein</div><div class='del'>-	  &lt;rockyb AT rubyforge.org&gt; at [ruby-core:31596].</div><div class='del'>-</div><div class='del'>-Mon Aug  2 21:51:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): rb_str_set_len modifies ptr</div><div class='del'>-	  since r26303.</div><div class='del'>-</div><div class='del'>-Mon Aug  2 21:16:03 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: NONAMELESSUNION defined only if gcc</div><div class='del'>-	  version is older than 3.4.4. [ruby-core:31567] [Bug #3637]</div><div class='del'>-	* ext/win32ole/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug  2 16:34:32 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_thread_join): need to wait thread, of course.</div><div class='del'>-	  [ruby-dev:41911]</div><div class='del'>-</div><div class='del'>-Mon Aug  2 12:22:22 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): wrong condition. [ruby-core:31591]</div><div class='del'>-</div><div class='del'>-Mon Aug  2 05:34:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_realdirpath): Pathname#realdirpath</div><div class='del'>-	  translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 23:04:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: describe superclasses explicitly.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 23:04:35 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify_expand, rb_str_resize): get rid of</div><div class='del'>-	  repeating malloc and realloc.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 22:16:30 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_hash): use rb_memhash and</div><div class='del'>-	  take care of negative finite numbers properly.</div><div class='del'>-	  [ruby-core:31582][Bug #3640]</div><div class='del'>-</div><div class='del'>-Sun Aug  1 20:57:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_realpath): Pathname#realpath translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 17:27:32 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: needs stddef.h for size_t.  a patch from</div><div class='del'>-	  Akio Tajima at [ruby-dev:41905].</div><div class='del'>-</div><div class='del'>-Sun Aug  1 14:59:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_sub_ext): Pathname#sub_ext translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 10:23:48 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB.parse_opts): set VERBOSE to true when debug</div><div class='del'>-	  switch called in irb.  a patch from Andrew Grimm in</div><div class='del'>-	  [ruby-core:31558].</div><div class='del'>-</div><div class='del'>-Sun Aug  1 09:35:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_op): comparison of bignum and infinity has returned 1</div><div class='del'>-	  or -1, but it must return boolean.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 09:44:25 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_include_module): don't clear the method cache if the</div><div class='del'>-	  included module has no method.</div><div class='del'>-	  reported by Eric Wong.  [ruby-core:31559]</div><div class='del'>-</div><div class='del'>-Sun Aug  1 09:21:32 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_sub): Pathname#sub translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sun Aug  1 09:12:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: latest x86_64 mingw defines stati64.</div><div class='del'>-	  [ruby-core:27516]</div><div class='del'>-</div><div class='del'>-Sun Aug  1 08:51:52 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: fix typo. [ruby-core:31564][Bug #3636]</div><div class='del'>-</div><div class='del'>-Sat Jul 31 23:15:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_inspect): Pathname#inspect translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 15:50:03 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (Init_pathname): The alias,</div><div class='del'>-	  Pathname#to_path, is translated from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 09:12:36 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_to_s): Pathname#to_s translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 08:20:07 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb (WEBrick::Utils.create_self_signed_cert):</div><div class='del'>-	  merged r28784 from ruby_1_8: wrongly created dummy SSL certificate</div><div class='del'>-	  with version == 3 (no such version) and serial == 0 (must be &gt;0).</div><div class='del'>-</div><div class='del'>-Fri Jul 30 21:43:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_hash): Pathname#hash translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Fri Jul 30 12:42:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (example): use IO#noecho to read password if</div><div class='del'>-	  possible, and defer until needed.  [ruby-dev:41889]</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (example): support starttls option.</div><div class='del'>-	  [ruby-dev:41888]</div><div class='del'>-</div><div class='del'>-Fri Jul 30 08:51:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): home directory must be absolute.</div><div class='del'>-	  [ruby-core:31537]</div><div class='del'>-</div><div class='del'>-Fri Jul 30 08:33:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): should check if could find user.</div><div class='del'>-	  [ruby-core:31538]</div><div class='del'>-</div><div class='del'>-Fri Jul 30 07:59:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_add_suffix): fixed a bug returning uninitialized</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-Fri Jul 30 07:48:04 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: use TK_XINCLUDES on tkConfig.sh when not empty,</div><div class='del'>-	  even if MacOS X Aqua version [ruby-dev:41883].</div><div class='del'>-</div><div class='del'>-Thu Jul 29 22:28:35 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_cmp): Pathname#&lt;=&gt; translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Thu Jul 29 06:51:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (EXT_SRCS): add ext/json/parser/parser.c.</div><div class='del'>-</div><div class='del'>-Thu Jul 29 05:52:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): pass baselen to rmext.</div><div class='del'>-</div><div class='del'>-Thu Jul 29 02:38:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: not [freebsd] but [freebsd*] for AS_CASE.</div><div class='del'>-</div><div class='del'>-Wed Jul 28 22:23:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_eq): Pathname#{==,===,eql?} translated</div><div class='del'>-	  from pathname.rb.</div><div class='del'>-</div><div class='del'>-Wed Jul 28 19:37:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): VC6 or later have stddef.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: need to include stddef.h for size_t.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: shouldn't declare as dllimport when building</div><div class='del'>-	  ruby itself (for Windows).</div><div class='del'>-</div><div class='del'>-Wed Jul 28 17:11:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/*.c: include missing.h</div><div class='del'>-</div><div class='del'>-Wed Jul 28 09:38:03 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: typos.</div><div class='del'>-</div><div class='del'>-Wed Jul 28 09:24:43 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: (RB_PAGE_SIZE): renamed from PAGE_SIZE. [ruby-dev:41870]</div><div class='del'>-</div><div class='del'>-	* cont.c: (RB_PAGE_MASK): renamed from PAGE_MASK.</div><div class='del'>-</div><div class='del'>-Tue Jul 27 23:09:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_taint): use rb_obj_taint.</div><div class='del'>-	  (path_untaint): Pathname#untaint translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Tue Jul 27 18:59:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_framework): added.</div><div class='del'>-</div><div class='del'>-Tue Jul 27 18:33:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h, intern.h, missing.h, ruby.h, st.h, util.h: include</div><div class='del'>-	  config.h and defines.h for autoconf macros.</div><div class='del'>-</div><div class='del'>-Tue Jul 27 16:27:38 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): typo.</div><div class='del'>-</div><div class='del'>-Tue Jul 27 16:09:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, compile.c, dir.c, file.c, iseq.c, parse.y, random.c:</div><div class='del'>-	  clean unused-value warnings.</div><div class='del'>-</div><div class='del'>-	* cont.c, process.c, vm_exec.h: clean cast warnings.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 22:34:37 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_taint): Pathname#taint translated from</div><div class='del'>-	  pathname.rb.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 18:18:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (config.h): add include guard.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, bcc32/Makefile.sub (config.h): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 14:38:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XCFLAGS): missing.h needs config.h.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 14:08:47 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: revert a part of r28727.  config.h is expected</div><div class='del'>-	  to include only once, before including defines.h.</div><div class='del'>-	  including it here breaks some macro definitions.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 13:52:25 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: define BROKEN_CLOSE only on FreeBSD.</div><div class='del'>-	  This needs to merge to 1.9.2.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 13:01:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): should mark iseq itself other than normal</div><div class='del'>-	  iseq.  [ruby-dev:41880]</div><div class='del'>-</div><div class='del'>-Mon Jul 26 11:51:01 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: define BROKEN_CLOSE on FreeBSD.</div><div class='del'>-	  This fixes build failure on MSVC. [ruby-core:31481]</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, include/ruby/missing.h:</div><div class='del'>-	  use BROKEN_CLOSE for replacing close(2).</div><div class='del'>-</div><div class='del'>-Mon Jul 26 09:51:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): mark only self of normal iseqs, not</div><div class='del'>-	  nodes.  [ruby-dev:41874]</div><div class='del'>-</div><div class='del'>-Sun Jul 25 05:37:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): honor the result of infinite? method of the</div><div class='del'>-	  other.  [ruby-core:31470]</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#.suppress_warning): added.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat#test_Float): suppress</div><div class='del'>-	  warnings under --verbose.</div><div class='del'>-</div><div class='del'>-Fri Jul 23 16:07:32 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mutex_m.rb (sleep): added Mutex_m#sleep to support</div><div class='del'>-	  ConditionVariable.</div><div class='del'>-</div><div class='del'>-Fri Jul 23 15:09:22 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_MINGW32): ignore msvc suffix.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_TRY_CFLAGS): try with werror turned on.</div><div class='del'>-</div><div class='del'>-Fri Jul 23 09:02:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): fixed out-of-boundary access at invalid</div><div class='del'>-	  multibyte characters.</div><div class='del'>-</div><div class='del'>-Fri Jul 23 09:00:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XCFLAGS): reverted mistakenly removed option.</div><div class='del'>-	  [ruby-dev:41872]</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: needs ruby/config.h.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 20:58:55 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_EXTERN): unnecessary after all.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 17:33:47 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_i): allow complex with imaginary zero to be</div><div class='del'>-	  converted.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_f, nucomp_to_r): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 20:12:56 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): fix memory leak; pthread_attr_destroy</div><div class='del'>-	  must be called even when pthread_getattr_np is used.</div><div class='del'>-	  [ruby-core:31269]</div><div class='del'>-</div><div class='del'>-Thu Jul 22 16:27:41 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): fix broken Regexp#inspect when it</div><div class='del'>-	  is ASCII-8BIT and non-ASCII character.</div><div class='del'>-	  The length of character should be from original byte string.</div><div class='del'>-	  [ruby-core:31431]</div><div class='del'>-</div><div class='del'>-Thu Jul 22 14:30:17 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: add prototype for ruby_close().</div><div class='del'>-</div><div class='del'>-Thu Jul 22 12:58:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_EXTERN): ignore invalid attribute.</div><div class='del'>-</div><div class='del'>-	* configure.in: fix for older autoconf.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 12:02:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/{intern,io}.h: add missing prototypes.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 06:38:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XCFLAGS): use -fvisibility=hidden if possible.</div><div class='del'>-</div><div class='del'>-	* configure.in (RMDIR): use --ignore-fail-on-non-empty if possible.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_EXTERN): FUNCTION-BODY was missing.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 03:02:55 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: fix signature of rb_ensure and rb_rescue to match</div><div class='del'>-	  implementation.</div><div class='del'>-</div><div class='del'>-Wed Jul 21 23:07:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: get rid of embedding an absolute path.</div><div class='del'>-</div><div class='del'>-Wed Jul 21 15:22:17 2010  Evan Phoenix &lt;evan@fallingsnow.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/custom_require.rb, gem_prelude.rb: Load code from</div><div class='del'>-	  from gems properly.</div><div class='del'>-</div><div class='del'>-Wed Jul 21 15:15:02 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c: add short documentation about named reference.</div><div class='del'>-	  [ruby-core:31294]</div><div class='del'>-</div><div class='del'>-Wed Jul 21 15:00:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (local_push_gen): disable unused variable warnings in</div><div class='del'>-	  eval.  [ruby-dev:41869]</div><div class='del'>-</div><div class='del'>-Wed Jul 21 13:57:37 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp): revert r28543, r28564.</div><div class='del'>-	  They may be merged in Ruby 2.0. [ruby-core:31217]</div><div class='del'>-</div><div class='del'>-Wed Jul 21 13:37:35 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: Have URI#route_to, URI#route_from accept</div><div class='del'>-	  string-like arguments [ruby-core:30961]</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb: ditto for URI.join, URI#merge</div><div class='del'>-</div><div class='del'>-Wed Jul 21 12:39:15 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (CMath#cbrt): cbrt should accept a negative real</div><div class='del'>-	  numbers.  [ruby-core:31234]</div><div class='del'>-</div><div class='del'>-Wed Jul 21 12:31:30 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: Have URI() and URI.join accept URI objects in</div><div class='del'>-	  addition to strings. [ruby-core:30960]</div><div class='del'>-</div><div class='del'>-Wed Jul 21 11:55:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_hdtoa): renamed from BSD__hdtoa.</div><div class='del'>-</div><div class='del'>-Tue Jul 20 11:35:11 2010  Evan Phoenix  &lt;evan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: Load the custom require if --disable-rubygems</div><div class='del'>-	  was used.</div><div class='del'>-</div><div class='del'>-Tue Jul 20 11:27:18 2010  Evan Phoenix  &lt;evan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: Pull in rubygem's custom require</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: Handle always having custom require available</div><div class='del'>-</div><div class='del'>-Tue Jul 20 18:39:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RSTRING_GETMEM): new macro to get ptr and</div><div class='del'>-	  len at once.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp, str_eql, rb_str_eql): trivial improvements.</div><div class='del'>-</div><div class='del'>-Tue Jul 20 18:23:04 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (closure_data_type),</div><div class='del'>-	  ext/fiddle/function.c (function_data_type): rb_data_type_t has</div><div class='del'>-	  changed.</div><div class='del'>-</div><div class='del'>-Tue Jul 20 14:21:38 2010  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: don't call after_gc_sweep() after when garbage_collect()</div><div class='del'>-	  was called, because rb_sweep_method_entry() free live unlinked</div><div class='del'>-	  method entries. [ruby-core:31169]</div><div class='del'>-</div><div class='del'>-Tue Jul 20 12:42:06 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rb_getaddrinfo): according to my</div><div class='del'>-	  valgrind output this variable should be initialized beforehand.</div><div class='del'>-</div><div class='del'>-Tue Jul 20 12:50:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_flush_buffer): write and buffer operations should be</div><div class='del'>-	  monolithic.  [ruby-core:31348]</div><div class='del'>-</div><div class='del'>-Tue Jul 20 12:27:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#copy): check file name</div><div class='del'>-	  separator boundary.  [ruby-core:31360]</div><div class='del'>-</div><div class='del'>-Mon Jul 19 18:34:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (get_strpath): check the type.</div><div class='del'>-	  (path_initialize): bypass to_path call for T_STRING.</div><div class='del'>-	  (path_freeze): implemented.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (Pathname#freeze): removed.</div><div class='del'>-</div><div class='del'>-Mon Jul 19 12:33:29 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_clear): should not unshare embedded array, and</div><div class='del'>-	  should make unshared array embedded.</div><div class='del'>-</div><div class='del'>-Mon Jul 19 09:00:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (Kernel#instance_eval): add an incompatible change since</div><div class='del'>-	  the 1.9.1 release.  [ruby-core:31336]</div><div class='del'>-</div><div class='del'>-Mon Jul 19 05:46:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_data_type_t): add new feature macros.</div><div class='del'>-</div><div class='del'>-Sun Jul 18 21:20:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_clear): no need to duplicate buffer just before</div><div class='del'>-	  clearing.</div><div class='del'>-</div><div class='del'>-Sun Jul 18 16:31:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_data_type_t): restructured.  [ruby-dev:41862]</div><div class='del'>-	  add parent member.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_typeddata_inherited_p): new function.</div><div class='del'>-</div><div class='del'>-Sun Jul 18 01:09:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_initialize): return a value.</div><div class='del'>-</div><div class='del'>-Sun Jul 18 00:02:19 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (Pathname#initialize): removed.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_initialize): implemented.</div><div class='del'>-	  (get_strpath): new function.</div><div class='del'>-	  (set_strpath): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 19:01:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (MiniTest::Unit#process_args): refactored.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 18:30:05 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: don't depend on pathname.rb if File.realpath</div><div class='del'>-	  is available.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 14:10:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_add_suffix): fixed type warnings.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 13:48:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb: moved from lib/pathname.rb.</div><div class='del'>-	  require pathname.so.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c: new file to define empty Pathname class.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/extconf.rb: new file.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 13:04:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wakeup_alive): split from rb_thread_wakeup.</div><div class='del'>-	  merged from r13476.  c.f. [ruby-core:31320]</div><div class='del'>-</div><div class='del'>-Sat Jul 17 10:07:52 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: MiniTest::Unit is different class from</div><div class='del'>-	  Test::Unit, and install runner before loading test/minitest.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 14:58:38 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit.setup_argv): run tests only when</div><div class='del'>-	  any tests have not run.</div><div class='del'>-</div><div class='del'>-	* bin/testrb, test/runner.rb: use Test::Unit.start.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 12:06:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (ext-arch): prune directories start with '-'.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 21:43:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divide): must not use rb_rational_new1 for coercion</div><div class='del'>-	  because it returns an argument itself when canonical mode is set.</div><div class='del'>-	  [ruby-core:31279]</div><div class='del'>-</div><div class='del'>-Thu Jul 15 21:38:31 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bm_free): fix memory leak.  [ruby-core:30869] [Bug #3466]</div><div class='del'>-</div><div class='del'>-Thu Jul 15 15:47:32 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (onig_search): don't skip non-ANYCHARs when</div><div class='del'>-	  .* fails to match. This causes to fail matching</div><div class='del'>-	  ANYCHAR_STAR with LOOK_BEHIND. This fix is workaround</div><div class='del'>-	  and disable the optimization. [ruby-dev:41851]</div><div class='del'>-</div><div class='del'>-Thu Jul 15 06:11:29 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/attribute_manager.rb: fixing ri output when special</div><div class='del'>-	  characters are inside html tags.  Thanks Tomo Kazahaya! [Bug #3512]</div><div class='del'>-</div><div class='del'>-Thu Jul 15 06:01:42 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (guess_local_offset): use the UTC offset of an older date on</div><div class='del'>-	  64bit time_t environment.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 02:42:51 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (setup_argv): convert to using optparse, adding</div><div class='del'>-	  --help and -I. [ruby-core:30154]</div><div class='del'>-</div><div class='del'>-Thu Jul 15 00:35:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (localtime_with_gmtoff_zone): renamed from</div><div class='del'>-	  localtime_with_gmtoff and return the timezone abbreviation name.</div><div class='del'>-	  (guess_local_offset): return the isdst and timezone abbreviation name.</div><div class='del'>-	  (localtimew): use the returned isdst and timezone abbreviation name.</div><div class='del'>-	  [ruby-core:31275]</div><div class='del'>-</div><div class='del'>-Wed Jul 14 20:23:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id), vm_eval.c (rb_iterate),</div><div class='del'>-	  vm_insnhelper.c (vm_yield_with_cfunc): as the name of a C-level</div><div class='del'>-	  block, use the current method ID at the creation point.</div><div class='del'>-	  [ruby-dev:41852]</div><div class='del'>-</div><div class='del'>-Wed Jul 14 18:18:05 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): add end point to enclen's argument.</div><div class='del'>-	  This only effect on compiling with -DONIG_DEBUG_MATCH.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 21:34:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: libedit is missing declaration of</div><div class='del'>-	  rl_getc.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 21:31:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_daemon): split from proc_daemon.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): suppress gcc 4.4 warnings.</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 21:01:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): chfunc must not raise any</div><div class='del'>-	  exceptions.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 20:58:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFAULT_ARCH): adjust for target</div><div class='del'>-	  cpu. [ruby-core:31243]</div><div class='del'>-</div><div class='del'>-Tue Jul 13 20:46:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_close): should not pass a dynamic</div><div class='del'>-	          string to rb_raise directly.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 12:04:57 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/close.c: keep original errno.</div><div class='del'>-</div><div class='del'>-Mon Jul 12 01:58:56 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Fix unused variable warnings.</div><div class='del'>-	  Patch by Run Paint [ruby-core:30991]</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/drb/invokemethod.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/slex.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: ditto</div><div class='del'>-</div><div class='del'>-Sun Jul 11 21:20:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT{,.ja} (rb_block_call): fixed about third/fourth</div><div class='del'>-	  arguments to the block.  based on [ruby-core:31192] by Asher</div><div class='del'>-	  Haig.  [Bug #3558]</div><div class='del'>-</div><div class='del'>-Sun Jul 11 17:01:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in ({,dist-,real-}clean-ext): should also omit</div><div class='del'>-	  semicolon when omitting "in WORDS" of FOR-statement.</div><div class='del'>-</div><div class='del'>-	* tool/rmdirs: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 11 11:07:42 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_driver.rb (test_formatter): add a test.  a</div><div class='del'>-	  patch from caleb clausen in [ruby-core:31182].</div><div class='del'>-</div><div class='del'>-Sat Jul 10 21:43:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): fix precision handling for</div><div class='del'>-	  %:z and %::z.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 22:32:54 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: unused declarations removed.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 21:20:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): clear colons at unknown</div><div class='del'>-	  directive.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 21:04:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: don't call tzset.  strftime.c doesn't depend on</div><div class='del'>-	  the global timezone.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 20:30:26 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): 24:00 should be the beginning of the next</div><div class='del'>-	  day even if the leap second, 23:59:60, exists.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 01:08:46 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/emitter.rb (initialize): line_width is</div><div class='del'>-	  a valid option passed to the emitter.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb: corresponding tests.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 00:49:46 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/emitter.c (line_width, set_line_width): preferred line may</div><div class='del'>-	  be set on the emitter.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_emitter.rb: corresponding tests.</div><div class='del'>-</div><div class='del'>-Thu Jul  8 15:47:34 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_conv_enc_opts): fix infinite loop because</div><div class='del'>-	  of ISO-2022-JP conversion with empty string.</div><div class='del'>-	  patched by Brian Buchanan [ruby-core:31107]</div><div class='del'>-</div><div class='del'>-Thu Jul  8 08:16:57 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb (push): adding version</div><div class='del'>-	  and header emit options.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Thu Jul  8 08:01:03 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/emitter.c: updating documentation about emit options</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/core_ext.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb (dump): passing emit options to emitter.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/nodes/node.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/emitter.rb: sending emit options to</div><div class='del'>-	  YAML emitter. [ruby-core:28318]</div><div class='del'>-</div><div class='del'>-Thu Jul  8 06:05:58 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): support %:z and %::z.</div><div class='del'>-	  [ruby-dev:41841]</div><div class='del'>-</div><div class='del'>-Thu Jul  8 00:15:50 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: provide workaround for gem activation.  Currently,</div><div class='del'>-	  gem activation does not work by default.  Now it can be worked</div><div class='del'>-	  around by requiring "rubygems" first.  [ruby-core:29486]</div><div class='del'>-	  a patch from Evan Phoenix in [ruby-core:31096].</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 10:01:34 2010  Adrian Bloomer  &lt;adrian.bloomer@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_rev): Replaced fix_rev with '~num | FIXNUM_FLAG'.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 13:22:20 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_find_basename): set correct baselen.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 13:02:59 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp): respond_to?(:protected_method,</div><div class='del'>-	  true) should return true.  Pointed out by Marc-Andre Lafortune.</div><div class='del'>-	  [ruby-dev:41837]</div><div class='del'>-</div><div class='del'>-Wed Jul  7 12:00:24 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_find_basename): should initialize f.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 11:44:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_raise): add invalid header to</div><div class='del'>-	  exceptions.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 10:26:20 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/close.c: ignore ECONNRESET.</div><div class='del'>-	  FreeBSD wrongly sets ECONNRESET on close(2) and</div><div class='del'>-	  it causes false-negative exceptions. [ruby-dev:41778]</div><div class='del'>-</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-Tue Jul  6 22:57:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_copy_stream_sendfile): jump to retry_sendfile directly</div><div class='del'>-	  to avoid select() on a socket which TCP state is CLOSED.</div><div class='del'>-	  patch by Eric Wong.  [ruby-core:31053]</div><div class='del'>-</div><div class='del'>-Tue Jul  6 21:45:34 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io/console/console.c (winsize_row): should return actual screen</div><div class='del'>-	  size, not buffer size.</div><div class='del'>-</div><div class='del'>-Tue Jul  6 08:35:58 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/import.rb (handler): add a more helpful error message</div><div class='del'>-	  when calling import_symbol or import_function without calling</div><div class='del'>-	  dlload.  Thanks nobu! [ruby-core:30996]</div><div class='del'>-</div><div class='del'>-Tue Jul  6 00:34:50 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): free altstack to prevent memory leak.  a patch</div><div class='del'>-	  from Tomoyuki Chikanaga in [ruby-dev:41815]. [Bug #3537]</div><div class='del'>-</div><div class='del'>-Tue Jul  6 00:29:27 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (NONASCII_MASK): NONASCII_MASK must be unsigned.</div><div class='del'>-	  [ruby-dev:41782]</div><div class='del'>-</div><div class='del'>-Mon Jul  5 16:05:39 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp): Return false for protected</div><div class='del'>-	  methods when called from Kernel#respond_to?. [ruby-dev:40461]</div><div class='del'>-</div><div class='del'>-Mon Jul  5 12:32:01 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb (parse_string): support</div><div class='del'>-	  timezones that are not one hour off. [ruby-core:31023]</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto</div><div class='del'>-</div><div class='del'>-Sun Jul  4 22:49:54 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_syntax.rb: split test_syntax from test_system.rb.</div><div class='del'>-</div><div class='del'>-Sun Jul  4 22:02:02 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (test_syntax): unified with test_syntax2.</div><div class='del'>-</div><div class='del'>-Sun Jul  4 21:00:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (test_syntax2): moved from sample/test.rb</div><div class='del'>-	  [ruby-dev:41721]</div><div class='del'>-</div><div class='del'>-Sun Jul  4 17:13:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (swallow, prepare_getline_args, rb_io_getline_1): fix for</div><div class='del'>-	  paragraph mode reading in non-ascii-compatible encoding.</div><div class='del'>-	  [ruby-dev:41803]</div><div class='del'>-</div><div class='del'>-Sat Jul  3 16:14:10 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): add two new constants</div><div class='del'>-	  BigDecimal::INFINITY and BigDecimal::NAN.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (BigMath.exp): modify the</div><div class='del'>-	  behaviors for infinity arguments as same as Math.exp.</div><div class='del'>-</div><div class='del'>-Sat Jul  3 09:47:26 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb(visit_Psych_Nodes_Scalar):</div><div class='del'>-	  teaching Psych to deserialize DateTime objects. [Bug #1390]</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb(visit_DateTime): added a</div><div class='del'>-	  method for serializing DateTime objects.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb(parse_time): add method for</div><div class='del'>-	  parsing times objects from a string.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_date_time.rb: tests for dumping DateTime objects.</div><div class='del'>-</div><div class='del'>-Sat Jul  3 09:13:55 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_Time): use</div><div class='del'>-	  Time#nsec to accurately serialize time objects. [ruby-core:29233]</div><div class='del'>-</div><div class='del'>-Fri Jul  2 23:30:23 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_inplace_mode_set): prohibits an assignment of a tainted</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_find_basename, ruby_find_extname): split from</div><div class='del'>-	  rb_file_s_basename() and rb_file_s_extname().</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_add_suffix): support arbitrary length of the suffix</div><div class='del'>-	  to get rid of the potential buffer overflow.</div><div class='del'>-	  reported by tarui.</div><div class='del'>-</div><div class='del'>-Fri Jul  2 05:31:51 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2long): accept LONG_MAX &lt; x &lt; LONG_MAX+1 and</div><div class='del'>-	  LONG_MIN-1 &lt; x &lt; LONG_MIN as well because they are converted</div><div class='del'>-	  into the valid range of long by truncation.</div><div class='del'>-	  (rb_num2ulong): accept ULONG_MAX &lt; x &lt; ULONG_MAX+1 and</div><div class='del'>-	  LONG_MIN-1 &lt; x &lt; LONG_MIN as well.</div><div class='del'>-	  (rb_num2ll): accept LLONG_MAX &lt; x &lt; LLONG_MAX+1 and</div><div class='del'>-	  LLONG_MIN-1 &lt; x &lt; LLONG_MIN.</div><div class='del'>-</div><div class='del'>-Thu Jul  1 23:10:25 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Improving documentation.</div><div class='del'>-</div><div class='del'>-Thu Jul  1 22:15:01 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ulong): fix the lower limit for float.</div><div class='del'>-	  [ruby-dev:41361]</div><div class='del'>-</div><div class='del'>-Thu Jul  1 21:37:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): integrated with</div><div class='del'>-	  runexec.</div><div class='del'>-</div><div class='del'>-Thu Jul  1 16:19:53 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_start_func_1): don't call</div><div class='del'>-	  native_thread_init_stack(th) on cygwin to avoid the segv</div><div class='del'>-	  introduced by r27789. Cygwin's signal implementation is half</div><div class='del'>-	  baked so USE_SIGNALSTACK is not defined and it needs another</div><div class='del'>-	  treatment.</div><div class='del'>-</div><div class='del'>-Thu Jul  1 13:00:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (test-knownbug): ignore known bugs.</div><div class='del'>-</div><div class='del'>-Thu Jul  1 08:40:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): suppress empty instance variable entry on</div><div class='del'>-	  compatible dump objects.</div><div class='del'>-</div><div class='del'>-Wed Jun 30 07:29:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_script_from_stdin): by using</div><div class='del'>-	  a pipe, get rid of not-well-defined behavior after the child</div><div class='del'>-	  process terminated in pty.</div><div class='del'>-</div><div class='del'>-Wed Jun 30 02:30:26 2010  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): use pthread_getthrds_np() for AIX.</div><div class='del'>-</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 29 21:11:15 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): add RB_GC_GUARD.</div><div class='del'>-</div><div class='del'>-Tue Jun 29 19:39:59 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb (is_ruby64): check</div><div class='del'>-	  ruby binary is mswin64 or mingw64. [ruby-dev:41756]</div><div class='del'>-</div><div class='del'>-Tue Jun 29 14:18:21 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_realpath_internal, realpath_rec): skip UNC share root</div><div class='del'>-	  on DOSISH platforms.</div><div class='del'>-	  http://pc12.2ch.net/test/read.cgi/tech/1272248179/600</div><div class='del'>-</div><div class='del'>-Tue Jun 29 11:52:33 2010  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (unlink_heap_slot, slot_sweep): unlink heaps_slot of</div><div class='del'>-	  heaps_slot linked list if heaps_slot is empty at slot_sweep.</div><div class='del'>-	  fixed [ruby-dev:41543], [ruby-core:24894].</div><div class='del'>-</div><div class='del'>-Tue Jun 29 01:22:08 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/fiddle.h: added FFI type detection to avoid bug in ffi</div><div class='del'>-	  header files. Thanks Yugui! [ruby-core:30917]</div><div class='del'>-</div><div class='del'>-Mon Jun 28 22:14:22 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_driver.rb (TestRDocRIDriver#test_formatter):</div><div class='del'>-	  fix a test accordingly to r28455.</div><div class='del'>-</div><div class='del'>-Mon Jun 28 21:56:14 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_resize, rb_fd_copy): avoid NULL dereference upon</div><div class='del'>-	  failed realloc by using xrealloc instead of not realloc.  a patch</div><div class='del'>-	  from Jim Meyering &lt;meyering at redhat.com&gt; in [ruby-core:30920]</div><div class='del'>-	  [Bug #3489]</div><div class='del'>-</div><div class='del'>-Mon Jun 28 20:32:33 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check</div><div class='del'>-	  that Ruby is 32bit or 64bit binary in order to get correct offset</div><div class='del'>-	  value. [ruby-dev:41741]</div><div class='del'>-</div><div class='del'>-Mon Jun 28 05:32:51 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (RDoc::RI::Driver#formatter): should use bs</div><div class='del'>-	  format when stdout is piped.  [ruby-core:30734]</div><div class='del'>-</div><div class='del'>-Mon Jun 28 03:12:03 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_class.rb: add a test for [ruby-core:30843].</div><div class='del'>-</div><div class='del'>-Mon Jun 28 02:43:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy): when class is dup'ed, a metaclass of the</div><div class='del'>-	  class should be attached to the dup'ed class, not the original</div><div class='del'>-	  class.  [ruby-core:30843] [Bug #3461]</div><div class='del'>-</div><div class='del'>-Sun Jun 27 23:31:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h, io.c: reverted r21709.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): nothing to read if EOF reached</div><div class='del'>-	  while reading shebang.  [ruby-core:30910]</div><div class='del'>-</div><div class='del'>-Sun Jun 27 13:25:07 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (simple_sendfile): don't try to send data more than SSIZE_MAX</div><div class='del'>-	  with single sendfile call..</div><div class='del'>-	  based on the patch by Eric Wong.  [ruby-core:30908]</div><div class='del'>-</div><div class='del'>-Sun Jun 27 10:41:38 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/require_paths_builder.rb (write_require_paths_file_if_needed):</div><div class='del'>-	  no reason that bin directory should be included in $LOAD_PATH.</div><div class='del'>-	  it is for executable files, but not libraries.  [ruby-core:25936]</div><div class='del'>-</div><div class='del'>-Sat Jun 26 13:07:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (enable-debug-env): option for RUBY_DEBUG env.</div><div class='del'>-</div><div class='del'>-Sat Jun 26 11:56:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clear-installed-list): put redirection before set</div><div class='del'>-	  command, since it seems to be handled by nmake in special way.</div><div class='del'>-	  [ruby-dev:41711]</div><div class='del'>-</div><div class='del'>-Sat Jun 26 10:08:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): no needs to copy the</div><div class='del'>-	  original ENV, since it's done in spawn automatically.</div><div class='del'>-	  [ruby-dev:41733]</div><div class='del'>-</div><div class='del'>-Sat Jun 26 08:44:22 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (zlib): new methods.  [ruby-dev:41706] [Bug #3472]</div><div class='del'>-</div><div class='del'>-Sat Jun 26 07:59:18 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check</div><div class='del'>-	  that OS is Windows 32bit or Windows 64bit in order to get</div><div class='del'>-	  correct offset value.</div><div class='del'>-</div><div class='del'>-Sat Jun 26 04:39:12 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (call): don't overwrite original arguments</div><div class='del'>-	  to defend from GC.</div><div class='del'>-	* test/dl/test_func.rb (test_string): add test for above.</div><div class='del'>-</div><div class='del'>-Fri Jun 25 11:45:36 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Fixing a bug that prevented CSV from parsing</div><div class='del'>-	  all multi-line fields correctly.  Patch by Rob Biedenharn.</div><div class='del'>-</div><div class='del'>-Fri Jun 25 10:07:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):</div><div class='del'>-	  return the exit status.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): change the</div><div class='del'>-	  environment of spawned process only.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): get rid of possible</div><div class='del'>-	  deadlock.</div><div class='del'>-</div><div class='del'>-Fri Jun 25 06:24:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (httpd): MaxClients also should be integer.</div><div class='del'>-	  [ruby-dev:41724] [Bug #3477]</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (setup): fix of word splitting.  [ruby-dev:41723]</div><div class='del'>-	  [Bug #3476]</div><div class='del'>-</div><div class='del'>-Fri Jun 25 01:07:17 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (static inline rb_gc_guarded_ptr): prevent</div><div class='del'>-	  RB_GC_GUARD_PTR being removed by optimization.</div><div class='del'>-</div><div class='del'>-Thu Jun 24 06:22:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (ruby_getaddrinfo__darwin): the workaround</div><div class='del'>-	  for Mac OS X moved from rsock_getaddrinfo.</div><div class='del'>-</div><div class='del'>-Thu Jun 24 05:44:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (struct dump_arg, struct load_arg): merge taint and</div><div class='del'>-	  untrust flags into infection as bit flags.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_nbyte, clear_dump_arg): infect the buffer as soon</div><div class='del'>-	  as appending, because it might have been finalized already at</div><div class='del'>-	  exit.  based on a patch by Tomoyuki Chikanaga</div><div class='del'>-	  at [ruby-dev:41672].  [Bug #3463]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 23:49:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (str_is_number): renamed from str_isnumber to</div><div class='del'>-	  avoid confusion to str_isnumber in ext/socket/getaddrinfo.c.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 23:45:31 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (stringio): new methods.  [ruby-dev:41687] [Bug #3469]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 22:52:00 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c: don't use __P.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 21:32:08 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (reg_get_typelib_file_path): try win64</div><div class='del'>-	  registry entry at first. [ruby-dev:41674] [Bug #3464]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 21:17:32 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (ruby_getaddrinfo__darwin): new workaround for</div><div class='del'>-	  getaddrinfo problem on Mac OS X Snow Leopard.  [ruby-core:29427]</div><div class='del'>-	  patch by Wataru Kimura.  [ruby-core:30842]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 17:12:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (ptr): new method and deprecated methods.  [ruby-dev:41681]</div><div class='del'>-</div><div class='del'>-	* ext/pty/{README,README.ja}: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_check): add rdoc.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 12:44:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (test_dup_warn): read in UTF-8</div><div class='del'>-	  encoding regardless environment.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (invoke_ruby): add encoding option.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 06:44:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (fchown): need to check.  a patch by Eric Wong</div><div class='del'>-	  at [ruby-core:30818].</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): check for setting owner/group.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 23:10:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (num_exact): fix for mathn.  [ruby-dev:41599]</div><div class='del'>-</div><div class='del'>-Tue Jun 22 22:00:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: suppress warnings.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 21:33:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/optparse/test_summary.rb: fixed superclass so that it run</div><div class='del'>-	  solely.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 19:57:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen): should add lvar to vars and</div><div class='del'>-	  used.  [ruby-dev:41666]</div><div class='del'>-</div><div class='del'>-Tue Jun 22 13:23:13 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: Forward #trust, #untrust, #taint and #untaint</div><div class='del'>-	  to both the delegator and __getobj__ [ruby-core:26138]</div><div class='del'>-</div><div class='del'>-Mon Jun 21 23:41:08 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): clear raised_flag while error-printing</div><div class='del'>-	  to avoid hang. [ruby-core:27608]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_endblock_raise): add test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Sun Jun 20 16:17:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id): add underscore name.</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_unused_var): ignore underscore name.</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_unused_var): use same format as shadowing local</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen): get rid of adding extra name for</div><div class='del'>-	  shadowing local variable.  [ruby-dev:41628]</div><div class='del'>-</div><div class='del'>-Sat Jun 19 11:11:37 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: remove double exclamation marks.  a patch from Diego</div><div class='del'>-	  Viola.  [ruby-core:30589]</div><div class='del'>-</div><div class='del'>-Sat Jun 19 03:35:58 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb (resolve_klass): fix the</div><div class='del'>-	  exception message when attempting to load an unknown class.  Thanks</div><div class='del'>-	  nobu! [ruby-dev:41399]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb: test for the exception message</div><div class='del'>-</div><div class='del'>-Fri Jun 18 10:37:46 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_lazy_sweep): clean a warning.</div><div class='del'>-	  "suggest parentheses around assignment used as truth value"</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (getGB4bt1): clean a warning.</div><div class='del'>-	  "suggest parentheses around arithmetic in operand of |"</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (getGB4bt3): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): clean a warning. "format 'p' expects type</div><div class='del'>-	  'void *', but argument 3 has type 'struct rb_mutex_struct *'"</div><div class='del'>-</div><div class='del'>-Fri Jun 18 10:15:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: add prototype of rb_realpath_internal.</div><div class='del'>-</div><div class='del'>-	* load.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 18 01:50:21 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Object#public_methods, private_methods, etc. returns</div><div class='del'>-	  method ids that belong to the class or the singleton class(es) of</div><div class='del'>-	  the object.  [ruby-dev:41613]</div><div class='del'>-</div><div class='del'>-	* class.c: on the other hand, Module#public_instance_methods, etc.</div><div class='del'>-	  returns method ids that belong to the module itself (even if the</div><div class='del'>-	  module is singleton, it does not return method ids of super</div><div class='del'>-	  class(es); see [ruby-core:28837]).</div><div class='del'>-</div><div class='del'>-Fri Jun 18 01:22:55 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb</div><div class='del'>-	  (prevent_directory_traversal): apply filesystem encoding to path</div><div class='del'>-	  only during calling File.expand_path.  [ruby-dev:41423]</div><div class='del'>-</div><div class='del'>-Thu Jun 17 23:20:14 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal): remove call to rb_realpath_internal</div><div class='del'>-	  within rb_load_internal which caused big performance degradation.</div><div class='del'>-	  Instead, call rb_realpath_internal in the caller of</div><div class='del'>-	  rb_load_internal.  [ruby-dev:41502] [ruby-dev:41610]</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_call_cfunc): ditto.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (rb_vm_call_cfunc): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 17 18:37:47 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_encode_ospath): when the encoding of the parameter</div><div class='del'>-	  is ASCII-8BIT, should recognize as filesystem encoding, and convert</div><div class='del'>-	  to UTF-8 on Windows.</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): should convert to ospath encoding before</div><div class='del'>-	  calling lstat().</div><div class='del'>-</div><div class='del'>-	* file.c (rb_realpath_internal): resolved string should take over</div><div class='del'>-	  the encoding of base string.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_encode): should return new string always.</div><div class='del'>-	  fixed #3444.</div><div class='del'>-</div><div class='del'>-Wed Jun 16 18:34:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: ripper needs warn_unused_var(), too.</div><div class='del'>-</div><div class='del'>-Wed Jun 16 18:20:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_unused_var): warn unused variables.</div><div class='del'>-	  [ruby-dev:41620]</div><div class='del'>-</div><div class='del'>-Wed Jun 16 15:40:53 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_bug): existence of _set_abort_behavior() depends on</div><div class='del'>-	  runtime version, not compiler version.</div><div class='del'>-</div><div class='del'>-Wed Jun 16 01:38:40 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: check ffi.h even when pkg-config succeeded.</div><div class='del'>-	  On Debian/lenny, which is a "supported" platform, ffi.h is installed</div><div class='del'>-	  in /usr/include/i486-linux-gnu/.  This causes build error when using</div><div class='del'>-	  gcc whose target is not i486-linux-gnu.</div><div class='del'>-</div><div class='del'>-Wed Jun 16 00:04:38 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (safe_4): does not use Timeout because</div><div class='del'>-	  Timeout.timeout uses Thread#kill which raises SecurityError when</div><div class='del'>-	  $SAFE == 4.  based on a patch from Tomoyuki Chikanaga.</div><div class='del'>-	  [ruby-dev:41484]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_print_separators): use pipe (test helper</div><div class='del'>-	  method) instead of IO.pipe.  [ruby-dev:41484]</div><div class='del'>-</div><div class='del'>-Tue Jun 15 17:14:58 2010  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: De Morgan's laws.</div><div class='del'>-</div><div class='del'>-Tue Jun 15 12:09:00 2010  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: use pkg_config to find ffi.h.</div><div class='del'>-</div><div class='del'>-Tue Jun 15 02:31:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (clean-ext, clean-enc): clean up cleaning</div><div class='del'>-	  targets.</div><div class='del'>-</div><div class='del'>-Mon Jun 14 22:36:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test_udp_server): rescue Errno::ENOSYS</div><div class='del'>-	  for Windows.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_nonblock.rb (test_sendmsg_nonblock_error): ditto.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:41597] reported by Masaya Tarui.</div><div class='del'>-</div><div class='del'>-Mon Jun 14 17:44:39 2010  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: raise DRbConnError instead of ArgumentError if too</div><div class='del'>-	  many arguments. [ruby-dev:41481]</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 14 04:03:55 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (dealloc): refix workaround r28300.</div><div class='del'>-	  don't use ffi_closure_alloc, ffi_prep_closure_loc and</div><div class='del'>-	  ffi_closure_free on MACOSX and __linux__.</div><div class='del'>-	  [ruby-dev:41483] [ruby-dev:41214]</div><div class='del'>-</div><div class='del'>-Sun Jun 13 15:46:07 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: add a simple test for __END__ and</div><div class='del'>-	  DATA.</div><div class='del'>-</div><div class='del'>-Sun Jun 13 04:24:18 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: Delegate !=, eql? and hash [ruby-core:26139]</div><div class='del'>-</div><div class='del'>-Sun Jun 13 02:12:46 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans (buf_apply): fix for patterns</div><div class='del'>-	  whose result is 2 bytes. [ruby-core:30751]</div><div class='del'>-</div><div class='del'>-Sun Jun 13 01:38:17 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_localtime_r2): fix mixed declarations and code.</div><div class='del'>-</div><div class='del'>-Sun Jun 13 00:27:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl.rb: don't require when already loaded.</div><div class='del'>-</div><div class='del'>-Sun Jun 13 00:02:56 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (dealloc): workaround fix for libffi's</div><div class='del'>-	  ffi_closure_free. [ruby-dev:41483] [ruby-dev:41214]</div><div class='del'>-</div><div class='del'>-Sat Jun 12 10:02:26 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): should check argument string taint before</div><div class='del'>-	  invoking system calls.</div><div class='del'>-</div><div class='del'>-Sat Jun 12 09:18:31 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (uninitialized_constant): process through</div><div class='del'>-	  rb_class_real() to remove "Object::" from error message.</div><div class='del'>-	  [ruby-dev:40951]</div><div class='del'>-</div><div class='del'>-Sat Jun 12 00:38:37 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: accept Berkley DB version 3, 4 and 5.</div><div class='del'>-	  a patch from Takahiro Kambe.  [ruby-dev:41531]</div><div class='del'>-</div><div class='del'>-Fri Jun 11 23:21:35 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (init_leap_second_info): check the result of</div><div class='del'>-	  gmtime_with_leapsecond.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 23:04:59 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_get_ciphers):</div><div class='del'>-	  use sk_SSL_CIPHER_num and sk_SSL_CIPHER_value instead of cast.</div><div class='del'>-	  patched by Takahiro Kambe [ruby-dev:41530]</div><div class='del'>-</div><div class='del'>-Fri Jun 11 22:59:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (isnan): fix compilation error on OpenBSD.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 22:39:50 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/install_update_options.rb</div><div class='del'>-	  (Gem::InstallUpdateOptions#add_install_update_options): deprecate</div><div class='del'>-	  --test option which has not worked.  [ruby-core:21714]</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_command_manager.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 07:34:25 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): test the result of LOCALTIME.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 00:42:45 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_localtime_r2): fix localtime overflow check.</div><div class='del'>-</div><div class='del'>-Thu Jun 10 23:05:44 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_localtime_r2): refine localtime overflow check for</div><div class='del'>-	  FreeBSD 6.4.</div><div class='del'>-</div><div class='del'>-Thu Jun 10 09:10:08 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_putc): documentation updated to mention putc would</div><div class='del'>-	  not work well with multi-byte characters.  [ruby-core:30697]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_putc): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun  9 22:51:50 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): always extrapolate from past.</div><div class='del'>-	  [ruby-core:30672] reported by Benoit Daloze.</div><div class='del'>-</div><div class='del'>-Wed Jun  9 22:13:08 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (calc_tm_yday): extracted from timegmw_noleapsecond.</div><div class='del'>-</div><div class='del'>-Tue Jun  8 06:27:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: load full rubygems at LoadError for activation</div><div class='del'>-	  check.  [ruby-core:29486]</div><div class='del'>-</div><div class='del'>-Tue Jun  8 06:04:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): set set_by_bom bit.  [ruby-core:30641]</div><div class='del'>-</div><div class='del'>-Sun Jun  6 22:37:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_cat_escaped_char): get rid of buffer</div><div class='del'>-	  overflow on platforms int is bigger than 32bit, and warnings.</div><div class='del'>-</div><div class='del'>-Sun Jun  6 19:55:21 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): clear uninitialized elements in temporary</div><div class='del'>-	  array.</div><div class='del'>-</div><div class='del'>-Sun Jun  6 12:31:57 2010  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: set_heaps_increment is not</div><div class='del'>-	  called before gc_marks of lazy sweeping because live_num not</div><div class='del'>-	  contain finalize objects. So call set_heaps_increment after lazy</div><div class='del'>-	  sweeping if free_num are not enough. And move free_min to struct</div><div class='del'>-	  rb_objspace for above.  [ruby-dev:41499]</div><div class='del'>-</div><div class='del'>-Sun Jun  6 10:44:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): need to set the length in order to get</div><div class='del'>-	  the entries marked.  [ruby-dev:41540]</div><div class='del'>-</div><div class='del'>-Sun Jun  6 08:26:01 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_BareVM): call Init_native_thread here.</div><div class='del'>-</div><div class='del'>-	* thread.c (Init_Thread): don't call Init_native_thread.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (Init_native_thread): exported.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (Init_native_thread): ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:41536]</div><div class='del'>-</div><div class='del'>-Sun Jun  6 08:21:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Enumerable#join has been reverted.  [ruby-core:30604]</div><div class='del'>-</div><div class='del'>-Sat Jun  5 20:30:49 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): ASCII incompatible strings</div><div class='del'>-	  must always escape or converted.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): use rb_str_buf_cat_escaped_char</div><div class='del'>-	  when resenc is given: for Regexp#inspect or error message.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_desc): add 'n' for ENCODING_NONE.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 01:20:14 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_inspect): Escape when the symbol is not</div><div class='del'>-	  resulted encoding and not ascii_only. It had escaped</div><div class='del'>-	  ascii-incompatible string, but it is wrong.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 01:10:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_cat_escaped_char): defined.</div><div class='del'>-	  Splited from rb_str_inspect.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 16:39:13 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): show type name for RTypedData.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 15:59:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options, load_file_internal): $0 seen from</div><div class='del'>-	  required libraries by -r option should be the main script.</div><div class='del'>-	  [ruby-core:23717]</div><div class='del'>-</div><div class='del'>-Sat Jun  5 15:15:52 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): support for child</div><div class='del'>-	  process env.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 14:11:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb (test_exception_during_shutdown):</div><div class='del'>-	  need to raise always.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 13:13:30 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (eql?, ==, minor): Fix bugs when comparing/returning</div><div class='del'>-	  some empty matrices.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 11:00:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_name_err_mesg_new): guard mesg, recv and method.</div><div class='del'>-	  The problem in [ruby-dev:41464] is caused because mesg is collected.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 10:03:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): detect and show RTypedData.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 08:30:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): 'W' should test writable by real uid/git,</div><div class='del'>-	  not world writable.   [ruby-core:30587]</div><div class='del'>-</div><div class='del'>-Sat Jun  5 06:20:57 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: Clarification of what '*' matches.  Patch by John Wells</div><div class='del'>-	  &lt;john.wells at greatworx.com&gt;</div><div class='del'>-</div><div class='del'>-Fri Jun  4 10:46:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_inspect): should taint the result.</div><div class='del'>-	  [ruby-dev:41533]</div><div class='del'>-</div><div class='del'>-Fri Jun  4 09:37:15 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): suppress a warning on VC, again.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 23:34:55 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Emit a deprecation warning in</div><div class='del'>-	  verbose mode and add a caution to the overview section of the</div><div class='del'>-	  document. [ruby-dev:41525]</div><div class='del'>-</div><div class='del'>-Thu Jun  3 19:33:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_inspect): suppress warnings by</div><div class='del'>-	  rb_sprintf.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_malloc): suppress warnings.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 18:58:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_init_ext): statically linked extensions have no</div><div class='del'>-	  real path.  [ruby-dev:41526]</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_call_cfunc): add filepath argument.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 18:17:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_win32.rb (Rake::TestWin32): update tests.</div><div class='del'>-	  [ruby-core:30309]</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb (test_flush): try pipe and</div><div class='del'>-	  socketpair.  [ruby-dev:41517]</div><div class='del'>-</div><div class='del'>-Thu Jun  3 09:36:43 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h (DLSTACK_TYPE): type of stack is same as VALUE.</div><div class='del'>-	  reported by sakiyama shin in [ruby-dev:41514]</div><div class='del'>-</div><div class='del'>-Thu Jun  3 06:30:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb (test_path): workaround for drive</div><div class='del'>-	  letter.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb (test_path): get rid of blocking on</div><div class='del'>-	  access to non-existent host.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 05:37:46 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install-bin): Allow bin/* install from dot-dirs.</div><div class='del'>-	  Fixes rvm and multiruby installations.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 01:22:45 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix typo and race condition.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 00:58:45 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/cparser.rb (parse_ctype): add backwards compatibility</div><div class='del'>-	  by supporting "uint" types in the c parser. [ruby-core:29750]</div><div class='del'>-	* test/dl/test_cparser.rb: adding a test for "uint" changes.</div><div class='del'>-</div><div class='del'>-Wed Jun  2 11:40:02 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): should consider block on stack,</div><div class='del'>-	  if block argument is passed.  [ruby-core:30534]</div><div class='del'>-</div><div class='del'>-	* parse.c (arg_concat_gen): should append to nd_head, not to</div><div class='del'>-	  nd_iter for NODE_BLOCK_PASS.</div><div class='del'>-</div><div class='del'>-Tue Jun  1 23:12:06 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): \P{FOO} is also Unicode property in</div><div class='del'>-	  regexp. [ruby-core:30540]</div><div class='del'>-</div><div class='del'>-Tue Jun  1 21:29:39 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: adding support to rfc5789 patch verb.</div><div class='del'>-	  Added a Net::HTTP::Patch class which expects a message body</div><div class='del'>-	  and response body. It recycles the post method into a patch one,</div><div class='del'>-	  that will send the encoded representation to the server.</div><div class='del'>-	  Summarizing, a new class has been created, the post method</div><div class='del'>-	  extracted into send_entity, including a new argument,</div><div class='del'>-	  which defines which class to use (Post or Patch) and</div><div class='del'>-	  finally a patch method was created. [ruby-core:30426]</div><div class='del'>-	  Patched by Guilherme Silveira</div><div class='del'>-	  &lt;guilherme.silveira AT caelum.com.br&gt;</div><div class='del'>-</div><div class='del'>-Tue Jun  1 03:46:08 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: reject GPLv3 readline. [ruby-dev:39172]</div><div class='del'>-	  [ruby-core:25272] [ruby-dev:39167] [ruby-core:28736]</div><div class='del'>-</div><div class='del'>-Tue Jun  1 01:14:31 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): add RB_GC_GUARD.</div><div class='del'>-	  This caused failure when test/ruby/test_argf.rb is executed with</div><div class='del'>-	  GC.stress = true in mswin32_90</div><div class='del'>-</div><div class='del'>-Mon May 31 23:44:22 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: use tclConfig.sh/tkConfig.sh when frameworks</div><div class='del'>-	  are enabled on MacOS X.</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c: dirty hack for frameworks and stubs on MacOS X.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: stop creating a dummy Tcl/Tk interpreter.</div><div class='del'>-	  And hide a root window before starting eventloop. (for ruby 1.9)</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add codes to support Ruby/Tk-Kit (Rubykit).</div><div class='del'>-</div><div class='del'>-Mon May 31 21:49:42 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Requester#request): rescue ECONNRESET</div><div class='del'>-	  for Windows.  reported by U.Nakamura.  [ruby-dev:41477]</div><div class='del'>-</div><div class='del'>-Mon May 31 19:25:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_syntax_warn): do not use external strings as</div><div class='del'>-	  printf format.</div><div class='del'>-</div><div class='del'>-Mon May 31 18:22:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-set-encoding): skip shebang line</div><div class='del'>-	  always regardless of ruby.</div><div class='del'>-</div><div class='del'>-Mon May 31 15:07:18 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): Refix r28102: this breaks</div><div class='del'>-	  r28039. test for [ruby-dev:41429] is added. [ruby-core:30516]</div><div class='del'>-</div><div class='del'>-Mon May 31 14:47:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): inspect as ASCII when the codepoint</div><div class='del'>-	  of a character in Unicode string is ASCII printable one.</div><div class='del'>-</div><div class='del'>-Mon May 31 13:44:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_unicode_p): check the encoding is Unicode</div><div class='del'>-	  or not by the name; not function's pointer. [ruby-dev:41479]</div><div class='del'>-</div><div class='del'>-Mon May 31 04:03:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): check if expanded dname encoding is</div><div class='del'>-	  compatible with fname, not just copying.  [ruby-core:30516]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_endblockwarn): needs</div><div class='del'>-	  encoding comment.</div><div class='del'>-</div><div class='del'>-Mon May 31 02:17:54 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): respond_to_missing? may not be available</div><div class='del'>-	  (for BasicObject instances).</div><div class='del'>-</div><div class='del'>-Mon May 31 01:43:42 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate: Delegator: combine (public|protected) methods with</div><div class='del'>-	  those of the delegated object. [ruby-core:27224]</div><div class='del'>-	  DelegateClass: combine (public|protected) instance methods</div><div class='del'>-	  with those of the delegated superclass.</div><div class='del'>-</div><div class='del'>-Sun May 30 22:18:49 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (keep_if, select!): New methods [ruby-core:29749]</div><div class='del'>-</div><div class='del'>-Sun May 30 21:51:59 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_application.rb: update a test because of r28089.</div><div class='del'>-</div><div class='del'>-Sun May 30 21:48:07 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink): leave @data.  Assigning nil to</div><div class='del'>-	  @data caused double closing error of the same IO in finalizer.  a</div><div class='del'>-	  patch from Simon Nicholls.  [ruby-core:29395]</div><div class='del'>-</div><div class='del'>-Sun May 30 18:47:15 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: updated to b856dd07.</div><div class='del'>-	  this cleans warnings.</div><div class='del'>-</div><div class='del'>-Sun May 30 18:25:55 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_failed): use more accurate error message.</div><div class='del'>-	  [ruby-core:23851]</div><div class='del'>-</div><div class='del'>-Sun May 30 16:54:34 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_directory_p): update rdoc.  a patch from Ilkka</div><div class='del'>-	  Laukkanen.  [ruby-core:30016]</div><div class='del'>-</div><div class='del'>-Sun May 30 14:59:13 2010  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_all_clear): don't call obj_free() in</div><div class='del'>-	  gc_mark_all_clear(), because obj_free() may make T_ZOMBIE</div><div class='del'>-	  objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_clear_mark_on_sweep_slots): renamed.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): call</div><div class='del'>-	  gc_clear_mark_on_sweep_slots() before calling mark_tbl().</div><div class='del'>-	  [ruby-dev:41459]</div><div class='del'>-</div><div class='del'>-Sun May 30 03:40:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_utf8, parser_tokadd_string): allow NUL</div><div class='del'>-	  containing symbol literals, as well as String#to_sym.</div><div class='del'>-	  [ruby-dev:41447]</div><div class='del'>-</div><div class='del'>-Sun May 30 03:03:20 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/template/darkfish/classpage.rhtml:</div><div class='del'>-	  fix encoding value of XML declaration. [ruby-dev:41452]</div><div class='del'>-</div><div class='del'>-Sun May 30 02:20:26 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (RB_GC_SAVE_MACHINE_CONTEXT), gc.c (ruby_gc_stress_start):</div><div class='del'>-	  revert r28078.</div><div class='del'>-</div><div class='del'>-Sun May 30 02:21:34 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_append_input2): add RB_GC_GUARD.</div><div class='del'>-	  This caused failure when test/csv is executed with GC.stress = true.</div><div class='del'>-</div><div class='del'>-Sun May 30 01:25:48 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (RB_GC_SAVE_MACHINE_CONTEXT): start GC</div><div class='del'>-	  by switching the thread if gc_stress == true</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_stress_start): ditto.</div><div class='del'>-</div><div class='del'>-Sun May 30 00:02:39 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (force_chain_object, rb_objspace_call_finalizer): delete</div><div class='del'>-	  finalizer entry after corresponding finalizer is executed.</div><div class='del'>-	  This caused SEGV when test/cgi is executed with GC.stress = true.</div><div class='del'>-</div><div class='del'>-Sat May 29 23:30:33 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace_shared): change embedded state atomically.</div><div class='del'>-	  [ruby-core:29953] [ruby-dev:41456]</div><div class='del'>-</div><div class='del'>-Sat May 29 12:56:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encindex): avoid infinite require</div><div class='del'>-	  loop. [ruby-core:30467]</div><div class='del'>-</div><div class='del'>-Sat May 29 12:05:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc#read_file_contents): take care of BOM.</div><div class='del'>-	  [ruby-dev:41452]</div><div class='del'>-</div><div class='del'>-Sat May 29 10:12:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_PROF_TIMER_STOP): regularize `marked' to suppress</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Sat May 29 09:34:32 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: fix for --disable-gems.</div><div class='del'>-</div><div class='del'>-Sat May 29 09:04:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Requester#request): rescue ECONNREFUSED.</div><div class='del'>-</div><div class='del'>-Sat May 29 08:46:29 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (allocate_sorted_heaps, before_gc_sweep, gc_sweep): removed</div><div class='del'>-	  unused variables.</div><div class='del'>-</div><div class='del'>-Fri May 28 20:35:21 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (blocking_region_begin): avoid RUBY_VM_CHECK_INTS()</div><div class='del'>-	  call during GVL state transition. [Bug#3354] [ruby-dev:41435]</div><div class='del'>-</div><div class='del'>-Fri May 28 19:37:47 2010  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use simple lazy sweep algorithm for response performance</div><div class='del'>-	  gain. See [ruby-dev:41067].</div><div class='del'>-</div><div class='del'>-	* object.c: FL_MARK of some objects by lazy sweep is copied when</div><div class='del'>-	  RVALUE is cloned. These objects are not marked in the mark phase.</div><div class='del'>-	  So delete FL_MARK.</div><div class='del'>-</div><div class='del'>-	* class.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 28 18:39:38 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_inspect): escape ASCII-compatible strings.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): escape ASCII-compatible strings.</div><div class='del'>-</div><div class='del'>-Fri May 28 17:34:48 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): Use tmpary instead, to ensure marking</div><div class='del'>-	  arrays by GC.</div><div class='del'>-</div><div class='del'>-Fri May 28 11:40:07 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): Do not rely on GC, t0 should be</div><div class='del'>-	  checked explicitly.</div><div class='del'>-</div><div class='del'>-Fri May 28 10:40:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (checking_for): ignore toplevel.</div><div class='del'>-</div><div class='del'>-Fri May 28 00:47:16 2010  Masaya Tarui  &lt;tarui@ruby-lnag.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_bug): suppress the error report dialog if report_bug()</div><div class='del'>-	  is finished successfully.</div><div class='del'>-</div><div class='del'>-Fri May 28 00:32:25 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokesuper): check consistency between class of self and</div><div class='del'>-	  class of method being invoked by super.  This is temporary measure</div><div class='del'>-	  for YARV.  See [ruby-core:30313] in detail.  See [ruby-dev:40959]</div><div class='del'>-	  [ruby-dev:39772] [ruby-core:27000] [ruby-core:27230]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_superclass): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 27 23:38:31 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_home_dir): set filesystem encoding.</div><div class='del'>-</div><div class='del'>-Thu May 27 23:29:18 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): set encoding as the same of fname</div><div class='del'>-	  when _result_ is not filesystem encoding. [ruby-dev:41429]</div><div class='del'>-</div><div class='del'>-Thu May 27 23:07:45 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): use rb_enc_associate_index and</div><div class='del'>-	  rb_filesystem_encindex. Strings related FileSystem should</div><div class='del'>-	  have filesystem_encoding.</div><div class='del'>-</div><div class='del'>-	* file.c (SET_EXTERNAL_ENCODING): removed.</div><div class='del'>-</div><div class='del'>-Thu May 27 23:03:19 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_filesystem_encindex): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_locale_encindex): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encindex): remove static.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encindex): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 27 22:34:27 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): call ReadFile() with len = 0 before</div><div class='del'>-	  reading really on console, because the first ReadFile() call after</div><div class='del'>-	  PeekConsoleInput() always returns broken data. (Windows's bug).</div><div class='del'>-	  [ruby-core:29018]</div><div class='del'>-</div><div class='del'>-Thu May 27 12:42:23 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* LGPL: Removed.  We no longer have LGPL'd source files in our</div><div class='del'>-	  tree.</div><div class='del'>-</div><div class='del'>-Wed May 26 20:19:22 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): add the result of random to the</div><div class='del'>-	  beginning of range, not the opposite.  [ruby-dev:41415]</div><div class='del'>-</div><div class='del'>-Wed May 26 19:55:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): revert a part of r22392. it's commit miss.</div><div class='del'>-</div><div class='del'>-Wed May 26 18:40:23 2010  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (TupleSpaceTest, TupleSpaceProxyTest):</div><div class='del'>-	  kill a used thread at teardown.  [ruby-dev:41397]</div><div class='del'>-</div><div class='del'>-Wed May 26 12:08:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): subtraction method of non-numeric can</div><div class='del'>-	  return Float.  [ruby-dev:41410]</div><div class='del'>-</div><div class='del'>-Wed May 26 11:50:09 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (Init_marshal): document marshal_dump and marshal_load.</div><div class='del'>-</div><div class='del'>-Wed May 26 10:35:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_large_fd_select): needed on mingw, even</div><div class='del'>-	  though fd_mask is not available.  [ruby-core:30401]</div><div class='del'>-</div><div class='del'>-Tue May 25 14:00:51 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_code_range_to_buf0): fix false negative</div><div class='del'>-	  warning when given range is just before previous range.</div><div class='del'>-	  [ruby-dev:41406]</div><div class='del'>-</div><div class='del'>-Tue May 25 16:37:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-version): take revision if</div><div class='del'>-	  keyword is expanded. [ruby-dev:41408]</div><div class='del'>-</div><div class='del'>-Tue May 25 13:26:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/vm.h, include/ruby/encoding.h: add external</div><div class='del'>-	  linkage.</div><div class='del'>-</div><div class='del'>-Tue May 25 01:46:49 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_caller): update rdoc.  a patch from Nobuhiro IMAI</div><div class='del'>-	  &lt;nov at yo.rim.or.jp&gt; in [ruby-dev:41387].</div><div class='del'>-</div><div class='del'>-Mon May 24 23:04:41 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: fix wrong exception class name in rdoc.</div><div class='del'>-</div><div class='del'>-Mon May 24 19:00:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_balanced, parser_yylex): no warnings after closing</div><div class='del'>-	  parens.</div><div class='del'>-</div><div class='del'>-Mon May 24 12:52:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (change), tool/change_maker.rb: make a brief template</div><div class='del'>-	  for ChangeLog.</div><div class='del'>-</div><div class='del'>-Mon May 24 09:19:59 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): suppress a warning on VC.</div><div class='del'>-</div><div class='del'>-Mon May 24 08:16:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_spawn): use correct command name for the error</div><div class='del'>-	  message.  [ruby-dev:41395]</div><div class='del'>-</div><div class='del'>-Sun May 23 17:48:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509-internal.rb, lib/forwardable.rb,</div><div class='del'>-	  lib/irb/cmd/fork.rb, lib/mutex_m.rb,</div><div class='del'>-	  lib/shell/process-controller.rb, lib/sync.rb, object.c:</div><div class='del'>-	  suppress warnings patched by Benoit Daloze at [ruby-core:30366].</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_balanced): no warning for singleton class.</div><div class='del'>-	  [ruby-core:30366]</div><div class='del'>-</div><div class='del'>-Sun May 23 16:56:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (CONST_ID_CACHE, rb_intern_const): suppress</div><div class='del'>-	  warnings with -Wconversion.</div><div class='del'>-</div><div class='del'>-Sun May 23 07:08:34 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: adding a JSON streaming API</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/stream.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: using autoload</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/tree_builder.rb: refactor</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/json_tree.rb: refactor</div><div class='del'>-</div><div class='del'>-Sat May 22 03:53:05 2010  Satoshi Shiba  &lt;shiba@rvm.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_setcontext): Use swapcontext() instead longjmp().</div><div class='del'>-	  [ruby-dev:41316] [Bug #3295]</div><div class='del'>-</div><div class='del'>-Fri May 21 19:11:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert, rb_nkf_guess): check too huge</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Fri May 21 18:12:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_intern): C90 needs nonempty macro</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-Fri May 21 13:55:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBYARG_SHARED): shared library will not be</div><div class='del'>-	  created unless enable-shared.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): use real path for non-shared</div><div class='del'>-	  build.</div><div class='del'>-</div><div class='del'>-Fri May 21 12:25:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_float): use dtoa directly instead of stripping</div><div class='del'>-	  needless trailing .0.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): reverted.  [ruby-dev:41341]</div><div class='del'>-</div><div class='del'>-Fri May 21 01:06:05 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (subtract_tv): if the rest is zero, should finish waiting</div><div class='del'>-	  immediately.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (subtract): ditto.</div><div class='del'>-	  based on a patch from Roger Pack in [ruby-core:27957].</div><div class='del'>-</div><div class='del'>-Thu May 20 22:49:04 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union_m): update rdoc.  [ruby-dev:41354]</div><div class='del'>-</div><div class='del'>-Thu May 20 22:08:28 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_caller): update rdoc.  a patch from Nobuhiro IMAI</div><div class='del'>-	  &lt;nov at yo.rim.or.jp&gt; in [ruby-dev:41348].</div><div class='del'>-</div><div class='del'>-Thu May 20 22:04:05 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each): now takes an init function to distinguish</div><div class='del'>-	  an empty stack from out of stack.  [ruby-dev:41366]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (print_backtrace, rb_thread_backtrace): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 20 20:47:46 2010  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): raise NoMethodError</div><div class='del'>-	  when COM method is not found. [ruby-core:30160] [Bug #3277]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_no_method_error): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 20 16:17:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/emitter: C99(gcc)-ism.</div><div class='del'>-</div><div class='del'>-Thu May 20 12:59:49 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/stream.rb: adding YAML streaming API for</div><div class='del'>-	  infinite length streams.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: refactoring for streaming API</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/{handler, stream, tree_builder}.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu May 20 02:12:20 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/emitter.c: output strings are automatically transcoded</div><div class='del'>-</div><div class='del'>-Wed May 19 23:36:57 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: [ruby-dev:41334] [Bug #3307] invalid result</div><div class='del'>-	  on searching tcl.h/tk.h. Thanks, Masaya Tarui.</div><div class='del'>-</div><div class='del'>-Wed May 19 23:19:30 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (disconnect): closes the socket of a Net::IMAP</div><div class='del'>-	  object only when it is not closed.  [ruby-dev:41350]</div><div class='del'>-</div><div class='del'>-Wed May 19 20:09:38 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_caller): return [] instead of nil when the function</div><div class='del'>-	  is called on toplevel.  [ruby-dev:41348]</div><div class='del'>-</div><div class='del'>-Wed May 19 19:58:01 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: mswin/mingw ruby has socketpair(), but it's</div><div class='del'>-	  not exist as such name in ruby static library, so mkmf.rb cannot</div><div class='del'>-	  find it.</div><div class='del'>-</div><div class='del'>-Wed May 19 19:45:10 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* iseq_compile_each (NODE_DEFINED): put nil first to fix stack</div><div class='del'>-	  consistency.  [ruby-core:30293]</div><div class='del'>-	  Now, lfinish[0] of defined_expr seems not to be used.  Refactoring</div><div class='del'>-	  may be needed.</div><div class='del'>-</div><div class='del'>-Wed May 19 16:55:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ulong): use rb_big2ulong for data from</div><div class='del'>-	  Bignum. Without this 32bit integer on 32bit environment</div><div class='del'>-	  can't converted into long.</div><div class='del'>-	  This fixes 1) and 2) of [ruby-dev:41289]</div><div class='del'>-</div><div class='del'>-Mon May 17 22:19:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: suppress warning for signed and unsigned type</div><div class='del'>-	  inconsistency.</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon May 17 21:30:50 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: updated.</div><div class='del'>-</div><div class='del'>-Mon May 17 21:08:53 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (argv_size): merged into join_argv() to maintain the</div><div class='del'>-	  agreement with it.  removed code has a calculation bug.</div><div class='del'>-	  fixed [Bug#2388]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (join_argv): calc and return the length of joined</div><div class='del'>-	  argv.</div><div class='del'>-	  the cause of the original bug was clarified by Masaya TARUI</div><div class='del'>-	  &lt;tarui AT prx.jp&gt; and the solution was suggested by him, too.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 09:20:08 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_2022_jp.h: add CP50220.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: add converter for CP50220.</div><div class='del'>-</div><div class='del'>-Mon May 17 09:37:25 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#entries): returns pathname in</div><div class='del'>-	  UTF-8 on Windows to allow FileUtils accessing all pathnames</div><div class='del'>-	  internally.</div><div class='del'>-</div><div class='del'>-Mon May 17 01:07:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (rb_w32_check_imported): workaround for VC6.</div><div class='del'>-</div><div class='del'>-Sun May 16 22:21:32 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): initialize a field.  a patch from Takahiro Kambe.</div><div class='del'>-	  [ruby-dev:41312]</div><div class='del'>-</div><div class='del'>-Sun May 16 22:17:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): let SystemStackError#backtrace return an</div><div class='del'>-	  single element array instead of string itself.  [ruby-core:30196]</div><div class='del'>-</div><div class='del'>-Sun May 16 21:51:04 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape, parser_tokadd_escape): allow a hex or</div><div class='del'>-	  octal encoded character after \c.  This seemed to be prohibited at</div><div class='del'>-	  r13836, but its ChangeLog mentions nothing about this prohibition.</div><div class='del'>-	  So I assume this prohibition is not intended.  [ruby-core:27229]</div><div class='del'>-</div><div class='del'>-Sun May 16 21:14:04 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby/test_rubyoptions.rb (TestRubyOptions#test_segv_test):</div><div class='del'>-	  fixes "NoMethodError: undefined method `[]=' for nil:NilClass"</div><div class='del'>-</div><div class='del'>-Sun May 16 17:16:09 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_binding): don't propagate filename and line_no of</div><div class='del'>-	  binding that is created from C level.  [ruby-dev:41322]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): ditto.</div><div class='del'>-</div><div class='del'>-Sun May 16 15:09:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (rb_w32_check_imported): check if extension library to be</div><div class='del'>-	  loaded imports from different ruby dll.</div><div class='del'>-</div><div class='del'>-Sun May 16 14:55:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (dln_find.o): fix dependency.</div><div class='del'>-</div><div class='del'>-Sun May 16 13:55:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_loaderror): use locale string, not ascii-8bit.</div><div class='del'>-</div><div class='del'>-Sun May 16 11:39:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (signbit): add missing prototype.</div><div class='del'>-</div><div class='del'>-Sun May 16 10:49:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (rb_iconv_sys_fail): fix number of arguments.</div><div class='del'>-	  a patch by Masaya TARUI &lt;tarui AT prx.jp&gt;.</div><div class='del'>-</div><div class='del'>-Sun May 16 02:24:27 2010  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: can not load libruby.so if gcc is used with</div><div class='del'>-	  --enable-shared on AIX.</div><div class='del'>-</div><div class='del'>-Sat May 15 17:16:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (rb_iconv_sys_fail): raise BrokenLibrary if</div><div class='del'>-	  errno is not set.  [ruby-dev:41317]</div><div class='del'>-</div><div class='del'>-Fri May 14 07:27:07 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_float): strip ".0" from end for rubyspec.</div><div class='del'>-</div><div class='del'>-Fri May 14 01:17:10 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.c (rb_thread_struct): add a field for sigaltstack.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_start_func_1): initialize machine stack</div><div class='del'>-	  information.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): set sigaltstack for each sub thread.</div><div class='del'>-	  [ruby-core:24540] [ruby-core:30207]</div><div class='del'>-</div><div class='del'>-Thu May 13 21:40:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/ffs.c (ffs): fixed for non-zero values.</div><div class='del'>-</div><div class='del'>-Thu May 13 18:45:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (get_write_fd): return primary fd if no</div><div class='del'>-	  io is tied for writing.</div><div class='del'>-</div><div class='del'>-Thu May 13 18:15:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (swallow): should use more_char() instead of fill_cbuf().</div><div class='del'>-	  suggested by akr.</div><div class='del'>-</div><div class='del'>-Thu May 13 17:56:07 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_set_echo, console_echo_p): use</div><div class='del'>-	  primary fd.  [ruby-dev:41309]</div><div class='del'>-</div><div class='del'>-Thu May 13 13:30:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_float): use minimal representation.</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_dbl2cstr): split from rb_float_new.</div><div class='del'>-</div><div class='del'>-Thu May 13 13:09:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_get_sourceline): moved from eval_intern.h for</div><div class='del'>-	  vm_dump.c.</div><div class='del'>-</div><div class='del'>-Thu May 13 12:53:13 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (swallow): support text mode and UTF-16/32 as internal encoding.</div><div class='del'>-	  [Bug #1576]</div><div class='del'>-</div><div class='del'>-	* io.c (io_shift_cbuf): read and throw it away when str is NULL.</div><div class='del'>-</div><div class='del'>-Thu May 13 09:45:27 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: link with ffs.obj.</div><div class='del'>-</div><div class='del'>-Thu May 13 07:37:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: include unistd.h before sdbm.h for off_t.</div><div class='del'>-	  fix compilation problem on FreeBSD 6.4.</div><div class='del'>-</div><div class='del'>-Wed May 12 23:48:37 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_quad_pack): deprecated.</div><div class='del'>-	  (rb_quad_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Wed May 12 22:22:05 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_big_abs_find_minbit): use ffs().</div><div class='del'>-</div><div class='del'>-	* configure.in: check ffs().</div><div class='del'>-</div><div class='del'>-	* missing/ffs.c: new file.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (ffs): declared.</div><div class='del'>-</div><div class='del'>-Wed May 12 16:43:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): fixed broken output including nuls.</div><div class='del'>-</div><div class='del'>-Wed May 12 16:25:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): exponent needs 2 digits.</div><div class='del'>-</div><div class='del'>-Wed May 12 16:02:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): fill lower zeros.</div><div class='del'>-</div><div class='del'>-Wed May 12 15:45:36 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/ri.rb (generate): should load existing cache</div><div class='del'>-	  before generating it.</div><div class='del'>-</div><div class='del'>-Wed May 12 15:04:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#log): improved</div><div class='del'>-	  precision and performance. [ruby-dev:41295]</div><div class='del'>-</div><div class='del'>-Wed May 12 11:39:10 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test all IPPROTO_* constants for recent Win32</div><div class='del'>-	  SDK.</div><div class='del'>-</div><div class='del'>-Wed May 12 10:57:04 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): make minimum string representation.</div><div class='del'>-	  [ruby-core:30145]</div><div class='del'>-</div><div class='del'>-Wed May 12 09:21:05 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): fix wrong index for the lang</div><div class='del'>-	  option's value 'N'. reported by Masaya TARUI via IRC.</div><div class='del'>-</div><div class='del'>-Tue May 11 23:07:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test IPPROTO_IP and IPPROTO_IPV6 constants.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define macros for enum.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:38849]</div><div class='del'>-</div><div class='del'>-Tue May 11 21:53:18 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_task_arguments.rb: makes ENV empty during tests</div><div class='del'>-	  because ENV may change the behavior of Rake::TaskArguments.</div><div class='del'>-	  [ruby-core:29984]</div><div class='del'>-</div><div class='del'>-Tue May 11 15:14:30 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: Add new alias UTF-8-HFS for UTF8-MAC.</div><div class='del'>-	  http://www.gnu.org/software/emacs/NEWS.23.2</div><div class='del'>-</div><div class='del'>-Tue May 11 13:46:00 2010  Kenta Murata &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (atan),</div><div class='del'>-	  test/bigdecimal/test_bigmath.rb (test_atan): explicitly specify</div><div class='del'>-	  the precision for calculating a reciprocal number of an argument.</div><div class='del'>-	  [Bug #3267]</div><div class='del'>-</div><div class='del'>-Tue May 11 11:49:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/sdbm.h (DBM): large file support on win32.</div><div class='del'>-	  [ruby-core:23039]</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/depend: objects depend on sdbm.h.</div><div class='del'>-</div><div class='del'>-Tue May 11 09:57:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (rb_vm_get_sourceline): add prototype.</div><div class='del'>-</div><div class='del'>-Tue May 11 09:53:07 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (PSYCH_TRANSCODE): get rid of bare use of gcc</div><div class='del'>-	  extension.</div><div class='del'>-</div><div class='del'>-Tue May 11 01:20:43 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): Return strings encoded as</div><div class='del'>-	  Encoding.default_internal if set.</div><div class='del'>-</div><div class='del'>-Mon May 10 23:50:19 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): add a missing break.</div><div class='del'>-</div><div class='del'>-Mon May 10 14:13:04 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_big_abs_find_minbit): get rid of a warning of VC.</div><div class='del'>-</div><div class='del'>-Mon May 10 13:59:42 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_has_cancel_io): new</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-	* io.c (WAIT_FD_IN_WIN32): check only when it's not cancelable.</div><div class='del'>-</div><div class='del'>-Mon May 10 06:59:19 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc): rdoc should depend main. Moreover when XRUBY</div><div class='del'>-	  is miniruby, it can run after miniruby is built.</div><div class='del'>-</div><div class='del'>-Mon May 10 03:36:56 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): propagate filename and line_no</div><div class='del'>-	  of binding.  [ruby-dev:38767] [ruby-core:28307]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_binding_t), proc.c: add filename and line_no fields to</div><div class='del'>-	  preserve them.</div><div class='del'>-</div><div class='del'>-Mon May 10 02:58:33 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each), vm_insnhelper.c (vm_invoke_block,</div><div class='del'>-	  vm_throw): allow "return" and "yield" even in singleton class</div><div class='del'>-	  definition.  based on a patch from wanabe &lt;s.wanabe AT gmail.com&gt;</div><div class='del'>-	  for "return".  [ruby-core:21379] [ruby-dev:40975]</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): ditto (straightforwardly push block ptr,</div><div class='del'>-	  instead of dfp ptr with special flag).</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_CLASS_SPECIAL_P): ditto (no longer needed).</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): ditto (remove handling for special flag).</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_jump.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Mon May 10 02:29:51 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_switch): raise FiberError when returning to dead</div><div class='del'>-	  fiber.  [ruby-dev:40833]</div><div class='del'>-</div><div class='del'>-Mon May 10 02:07:20 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable#wait): ensure to remove the current</div><div class='del'>-	  thread from waiters.  [ruby-core:29835]</div><div class='del'>-</div><div class='del'>-Mon May 10 00:54:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_set_raw): new method.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (ttymode): reverted previous commit.</div><div class='del'>-</div><div class='del'>-Sun May  9 23:53:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_GC_GUARD_PTR): get rid of removal by</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-Sun May  9 23:07:53 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_dup): copy blockprocval.  proc_dup is used by</div><div class='del'>-	  define_method, which made blockprocval be GC'ed mistakenly.</div><div class='del'>-	  [ruby-core:30023]</div><div class='del'>-</div><div class='del'>-Sun May  9 16:28:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_initialize_machine_stack_context): try to release</div><div class='del'>-	  unnecessary fibers and retry to create.  based on a patch from</div><div class='del'>-	  masaya tarui at [ruby-dev:41230].</div><div class='del'>-</div><div class='del'>-Sun May  9 08:32:56 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c (fbuffer_inc_capa):</div><div class='del'>-	  fix the use of REALLOC_N. [ruby-dev:41227]</div><div class='del'>-</div><div class='del'>-Sun May  9 09:30:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/{generator/generator.c,parser/parser.rl}: fixed indent.</div><div class='del'>-</div><div class='del'>-	* ext/json/{generator,parser}/depend: added.</div><div class='del'>-</div><div class='del'>-Sun May  9 09:15:03 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: use IPv4 for</div><div class='del'>-	  test_imaps_post_connection_check.  [ruby-dev:41189]</div><div class='del'>-</div><div class='del'>-Sun May  9 08:24:24 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (disconnect): terminates @receiver_thread even if</div><div class='del'>-	  @sock.shutdown raises an exception.  [ruby-dev:34881]</div><div class='del'>-</div><div class='del'>-Sun May  9 06:15:21 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_copy_stream_sendfile): ISO C90 forbids mixed</div><div class='del'>-	  declarations and code.</div><div class='del'>-</div><div class='del'>-Sun May  9 02:57:02 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle.rb: only require DL if it hasn't been required</div><div class='del'>-	  yet. [ruby-core:30095]</div><div class='del'>-</div><div class='del'>-Sun May  9 01:15:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (stackgrowdirection): removed duplicated code, use</div><div class='del'>-	  STACK_UPPER macro instead.</div><div class='del'>-</div><div class='del'>-	* gc.h (STACK_DIR_UPPER): moved from thread_pthread.c.</div><div class='del'>-</div><div class='del'>-Sun May  9 00:35:56 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb (libc_so, libm_so): supports solaris.</div><div class='del'>-</div><div class='del'>-Sat May  8 19:03:31 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec (config): . is no longer in $:.</div><div class='del'>-</div><div class='del'>-Sun May  9 00:27:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_aset): fixed argument type.</div><div class='del'>-</div><div class='del'>-Sat May  8 23:09:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (io/console): IO#noecho and IO#raw without block are</div><div class='del'>-	  obsolete already.  [ruby-dev:41226]</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (ttymode): save duped file descriptors</div><div class='del'>-	  and restore tty modes using them, so that original modes can be</div><div class='del'>-	  restored even if original fds are closed.  [ruby-dev:41225]</div><div class='del'>-</div><div class='del'>-Sat May  8 13:48:31 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fetch, rb_ary_splice, rb_ary_store): Improve</div><div class='del'>-	  IndexError</div><div class='del'>-	  messages [ruby-core:28394]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch_m): Improve KeyError message</div><div class='del'>-</div><div class='del'>-Sat May  8 13:11:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/user_interaction.rb (Gem::StreamUI#ask_for_password):</div><div class='del'>-	  use io/console.</div><div class='del'>-</div><div class='del'>-	* ext/io/console: imported.  [ruby-dev:40897]</div><div class='del'>-</div><div class='del'>-Sat May  8 12:25:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_systmpdir): moved from ext/tmpdir.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_sysconfdir): added.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb, lib/tmpdir.rb: use etc.</div><div class='del'>-</div><div class='del'>-Sat May  8 11:07:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpAlloc): ensure buf does not get</div><div class='del'>-	  collected.  based on a patch masaya tarui at [ruby-dev:41213].</div><div class='del'>-</div><div class='del'>-Sat May  8 10:03:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (BasicSocket#connect_address): MacOS X 10.6</div><div class='del'>-	  returns "::ffff:a.b.c.d" for IPv4-mapped IPv6 address.</div><div class='del'>-	  [ruby-dev:41215] patch by Tomoyuki Chikanaga.</div><div class='del'>-</div><div class='del'>-Fri May  7 23:51:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: bump up to 1.9.3.</div><div class='del'>-</div><div class='del'>-Fri May  7 11:30:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install-man): install mdocs directly without</div><div class='del'>-	  temporary files.  [ruby-dev:41204]</div><div class='del'>-</div><div class='del'>-Fri May  7 09:16:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb (get_tclConfig_dirs): glob with EXEEXT.</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb (search_tclConfig): fixed typo.</div><div class='del'>-</div><div class='del'>-Fri May  7 06:45:28 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: search directories on PATH, only if containing</div><div class='del'>-	  tclsh or wish command (probably right fix for [ruby-core:30010]).</div><div class='del'>-</div><div class='del'>-Fri May  7 03:40:58 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpCtoV): fix to check overflow.</div><div class='del'>-</div><div class='del'>-Thu May  6 22:19:38 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: define FIBER_USE_NATIVE only when _WIN32_WINNT &gt;= 0x0400</div><div class='del'>-	  on Windows because Fiber APIs are supported only such building</div><div class='del'>-	  (and running) environments.</div><div class='del'>-	  [ruby-dev:41192]</div><div class='del'>-</div><div class='del'>-Thu May  6 19:13:43 2010  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ec.rb: added test_dsa_sign_asn1_FIPS186_3. dgst is</div><div class='del'>-	  truncated with ec_key.group.order.size after openssl 0.9.8m for</div><div class='del'>-	  FIPS 186-3 compliance.</div><div class='del'>-</div><div class='del'>-	  WARNING: ruby-openssl aims to wrap an OpenSSL so when you're using</div><div class='del'>-	  openssl 0.9.8l or earlier version, EC.dsa_sign_asn1 raises</div><div class='del'>-	  OpenSSL::PKey::ECError as before and EC.dsa_verify_asn1 just returns</div><div class='del'>-	  false when you pass dgst longer than expected (no truncation</div><div class='del'>-	  performed).</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: rdoc typo fixed.</div><div class='del'>-</div><div class='del'>-Thu May  6 18:12:43 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_setcontext): Fix last commit.</div><div class='del'>-</div><div class='del'>-Thu May  6 17:16:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_localtime_r2): get rid of infinite loop bug of</div><div class='del'>-	  localtime() on x86_64-darwin.  [ruby-core:30031]</div><div class='del'>-</div><div class='del'>-Thu May  6 15:56:12 2010  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/*: Adding fiddle library to wrap libffi</div><div class='del'>-	* test/fiddle/*: testing fiddle extension</div><div class='del'>-	* ext/dl/lib/dl.rb: Requiring fiddle if it is available</div><div class='del'>-	* ext/dl/lib/dl/callback.rb: using Fiddle if it is available</div><div class='del'>-	* ext/dl/lib/dl/func.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu May  6 15:04:37 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match_m): add description about optional</div><div class='del'>-	  position parameter. [ruby-list:47064]</div><div class='del'>-	  patched by KISHIMOTO, Makoto &lt;ksmakoto AT dd.iij4u.or.jp&gt;</div><div class='del'>-</div><div class='del'>-Thu May  6 14:12:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: test RUBY_PLATFORM for loading tmpdir.so to avoid</div><div class='del'>-	  LoadError.</div><div class='del'>-</div><div class='del'>-Thu May  6 12:41:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add rationalize methods of Complex, Float, Integer, NilClass,</div><div class='del'>-	  and Rational classes.</div><div class='del'>-</div><div class='del'>-Thu May  6 12:12:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README: update.</div><div class='del'>-</div><div class='del'>-Thu May  6 03:34:29 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: apply FIBER_USE_NATIVE patch.  This patch improve</div><div class='del'>-	  Fiber context switching cost using system APIs.  Detail comments</div><div class='del'>-	  are written in cont.c.</div><div class='del'>-</div><div class='del'>-Thu May  6 02:16:48 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_unlink_method_entry, rb_sweep_method_entry):</div><div class='del'>-	  added.  Unlinked method entries are collected to</div><div class='del'>-	  vm-&gt;unlinked_method_entry_list.  On the GC timing, mark all method</div><div class='del'>-	  entries which are on all living threads.  Only non-marked method</div><div class='del'>-	  entries are collected.  This hack prevents releasing living method</div><div class='del'>-	  entry.</div><div class='del'>-	  [Performance Consideration] Since this Method Entry GC (MEGC)</div><div class='del'>-	  doesn't occur frequently, MEGC will not be a performance bottleneck.</div><div class='del'>-	  However, to traverse living method entries, every control frame push</div><div class='del'>-	  needs to clear cfp-&gt;me field.  This will be a performance issue</div><div class='del'>-	  (because pushing control frame is occurred frequently).</div><div class='del'>-	  Bug #2777 [ruby-dev:40457]</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_init): init cfp-&gt;me.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): kick rb_sweep_method_entry().</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_entry_t): add a mark field.</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): set passed me.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): mark cfp-&gt;me.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_t): add a field passed_me.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t): add a field unlinked_method_entry_list.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): clear cfp-&gt;me at all times.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_bmethod): pass me.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed May  5 22:22:51 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): fix check range of ic_index.</div><div class='del'>-	  a patch from Tomoyuki Chikanaga.  #3236</div><div class='del'>-</div><div class='del'>-Wed May  5 21:49:31 2010  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (aix_loaderror): use execerror for load error on AIX.</div><div class='del'>-	  This can avoid SEGV reported by Perry Smith.  [Bug #2063]</div><div class='del'>-</div><div class='del'>-Wed May  5 20:37:54 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_wait_events): get GVL before handle interrupt</div><div class='del'>-	  event.   [ruby-core:27199], [ruby-core:29698]</div><div class='del'>-</div><div class='del'>-Wed May  5 19:00:01 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: revert. enbugged by last commit.</div><div class='del'>-	  ([ruby-dev:41133], [ruby-dev:41134], [ruby-core:30010])</div><div class='del'>-</div><div class='del'>-	* ext/tk/README.tcltklib: ditto.</div><div class='del'>-</div><div class='del'>-Wed May  5 15:54:35 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat): use STAT macro instead of calling stat() directly.</div><div class='del'>-	  reported by Bill Kelly.  [ruby-core:30012]</div><div class='del'>-</div><div class='del'>-Wed May  5 11:43:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb (megacontent-copy_stream): get rid of</div><div class='del'>-	  deadlock.</div><div class='del'>-</div><div class='del'>-Wed May  5 07:27:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_mark_method_entry): renamed.</div><div class='del'>-</div><div class='del'>-Wed May  5 05:20:27 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h, vm_method.c: rename some internal functions related to</div><div class='del'>-	  rb_method_entry_t.</div><div class='del'>-	  rb_add_method_me()        -&gt; rb_method_entry_set().</div><div class='del'>-	  rb_get_method_entry()     -&gt; rb_method_entry_without_cache().</div><div class='del'>-	  rb_gc_mark_method_entry() -&gt; rb_mark_method_entry().</div><div class='del'>-</div><div class='del'>-	* class.c, proc.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue May  4 22:59:48 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_body): update iseq-&gt;ic_size.</div><div class='del'>-	  a patch from Tomoyuki Chikanaga. see #3236.</div><div class='del'>-</div><div class='del'>-Tue May  4 18:51:22 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_to_str): preserve encoding of inspection.</div><div class='del'>-	  [ruby-core:29948]</div><div class='del'>-</div><div class='del'>-Tue May  4 18:38:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_copy_stream):</div><div class='del'>-	  IO.copy_stream support binmode only currently.</div><div class='del'>-	  [ruby-core:23724]</div><div class='del'>-</div><div class='del'>-Tue May  4 12:46:09 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (argument_error): push correct backtrace.</div><div class='del'>-	  Bug #2281 [ruby-core:26333]</div><div class='del'>-</div><div class='del'>-Tue May  4 12:38:40 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_inspect): use rb_str_cat2 and</div><div class='del'>-	  rb_str_append.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_inspect): refined.</div><div class='del'>-</div><div class='del'>-Tue May  4 11:48:06 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_inspect): use rb_str_cat2 and</div><div class='del'>-	  rb_str_append.</div><div class='del'>-</div><div class='del'>-Tue May  4 07:52:33 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPResponse#read_chunked): ensure to skip the</div><div class='del'>-	  last newline of chunk.  [ruby-core:29229]</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb: add an option for chunked response test.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: add tests for chunked response.</div><div class='del'>-</div><div class='del'>-Tue May  4 03:37:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Update nkf 2010-04-28.</div><div class='del'>-</div><div class='del'>-Mon May  3 21:08:16 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* sample/README: update file list. [ruby-core:28981]</div><div class='del'>-</div><div class='del'>-Mon May  3 08:15:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_scan_scalar): set SCAN_WHITEEDGE flag</div><div class='del'>-	  when scalar begins with newline.  patches from Dave B &lt;daz AT</div><div class='del'>-	  d10.karoo.co.uk&gt; at [ruby-core:23019] and caleb clausen at</div><div class='del'>-	  [ruby-core:25851].  [ruby-core:23006][ruby-core:29925]</div><div class='del'>-</div><div class='del'>-Sun May  2 17:52:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/task.rb (RDoc::Task): should not override newer code.</div><div class='del'>-</div><div class='del'>-Sun May  2 17:25:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): ignore signedness.</div><div class='del'>-</div><div class='del'>-Sun May  2 12:04:30 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load): allow filepath to be nil.</div><div class='del'>-	  a patch from Tomoyuki Chikanaga in [Bug #3229].</div><div class='del'>-</div><div class='del'>-Sun May  2 08:54:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::NEEDS_BINMODE): check if O_BINARY value instead</div><div class='del'>-	  of fragile check by platform name.</div><div class='del'>-</div><div class='del'>-Sun May  2 07:38:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (dir_config): should not modify argument arrays</div><div class='del'>-	  themselves.</div><div class='del'>-</div><div class='del'>-Sat May  1 22:53:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#size): stat by path name when it is</div><div class='del'>-	  closed.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  keep the first trace.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  fixed filtering.  [ruby-core:29908]</div><div class='del'>-</div><div class='del'>-Sat May  1 16:46:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_IsInfinite): don't use</div><div class='del'>-	  non-ascii character.</div><div class='del'>-</div><div class='del'>-Sat May  1 14:08:29 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/server.rb:  Fix bug when serving gems.</div><div class='del'>-</div><div class='del'>-Sat May  1 14:05:36 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Upgrade to RDoc 2.5.8.</div><div class='del'>-</div><div class='del'>-Sat May  1 09:43:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  filter out traces in minitest directory.  [ruby-core:29908]</div><div class='del'>-</div><div class='del'>-Sat May  1 06:42:57 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: add declaration of wstati64 for gcc.</div><div class='del'>-</div><div class='del'>-Sat May  1 02:41:33 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* merge some patches from win32-unicode-test branch.</div><div class='del'>-	  see #1685.</div><div class='del'>-</div><div class='del'>-	* file.c, include/ruby/intern.h (rb_str_encode_ospath): new function</div><div class='del'>-	  to convert encoding for pathname.</div><div class='del'>-</div><div class='del'>-	* win32.c, include/ruby/win32.h (rb_w32_ulink, rb_w32_urename,</div><div class='del'>-	  rb_w32_ustati64, rb_w32_uopen, rb_w32_uutime, rb_w32_uchdir,</div><div class='del'>-	  rb_w32_umkdir, rb_w32_urmdir, rb_w32_uunlink): new functions to</div><div class='del'>-	  accept UTF-8 path.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_opendir, link, rb_w32_stati64, rb_w32_utime,</div><div class='del'>-	  rb_w32_unlink): use WCHAR path internally.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat, eaccess, access_internal, rb_file_s_ftype,</div><div class='del'>-	  chmod_internal, rb_file_chmod, rb_file_chown, utime_internal,</div><div class='del'>-	  rb_file_s_link, unlink_internal, rb_file_s_rename): use UTF-8 version</div><div class='del'>-	  functions on Win32.</div><div class='del'>-</div><div class='del'>-	* file.c (apply2files, rb_stat, rb_file_s_lstat, rb_file_symlink_p,</div><div class='del'>-	  rb_file_readable_p, rb_file_writable_p, rb_file_executable_p,</div><div class='del'>-	  check3rdbyte, rb_file_identical_p, rb_file_chmod, rb_file_chown,</div><div class='del'>-	  rb_file_s_link, rb_file_s_symlink, rb_file_s_rename): call</div><div class='del'>-	  rb_str_encode_ospath() before passing the path to system.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sysopen): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_chdir, dir_s_mkdir, dir_s_rmdir): ditto.</div><div class='del'>-</div><div class='del'>-Sat May  1 00:26:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  assertion message must be String or Proc.  suggested by caleb</div><div class='del'>-	  clausen at [ruby-core:29884].</div><div class='del'>-</div><div class='del'>-Sat May  1 00:14:47 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: skip false tests on Windows.</div><div class='del'>-	  [ruby-core:29886]</div><div class='del'>-</div><div class='del'>-Fri Apr 30 22:46:27 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* math.c: Math::DomainError &lt; StandardError [ruby-core:29855]</div><div class='del'>-</div><div class='del'>-Fri Apr 30 21:40:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_open3.rb (TestOpen3#test_commandline): use simple</div><div class='del'>-	  command via shell.  [ruby-dev:41100]</div><div class='del'>-</div><div class='del'>-Fri Apr 30 15:38:45 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: better support for MinGW environment.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 12:05:20 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): call rb_str_set_len before BUFCHECK to</div><div class='del'>-	  prevent rb_str_resize in BUFCHECK discard the content.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 11:48:31 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): String#sub! now raises an error when</div><div class='del'>-	  called on a frozen string, even if no change is made.</div><div class='del'>-	  See [ruby-core:23657]</div><div class='del'>-</div><div class='del'>-Fri Apr 30 11:40:44 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (make_exception, rb_obj_extend): Fix error messages in case</div><div class='del'>-	  of wrong</div><div class='del'>-	  number of arguments</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test, rb_file_s_umask): ditto</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr, num_step): ditto</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_sleep): ditto</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): ditto</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill, sig_trap): ditto</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aref_m, rb_str_aset_m, rb_str_count,</div><div class='del'>-	  rb_str_delete_bang,</div><div class='del'>-	  rb_str_slice_bang, rb_str_sub_bang, str_gsub): ditto</div><div class='del'>-</div><div class='del'>-	* proc.c (curry): rdoc fix</div><div class='del'>-</div><div class='del'>-Fri Apr 30 04:09:30 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (TIMET_MAX): should be time_t, not unsigned_time_t.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 03:59:08 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_unmagnify_to_float): should cast.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 03:38:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): the width of fixnum is same as long's on all</div><div class='del'>-	  platforms.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 03:17:20 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Improve algorithm for Matrix#determinant and</div><div class='del'>-	  Matrix#rank</div><div class='del'>-	  {determinant,det,rank}_e are now deprecated. [ruby-core:28273]</div><div class='del'>-	  Also fixes a bug in Determinant#rank (e.g. [[0,1][0,1][0,1]])</div><div class='del'>-	  Matrix#singular?, Matrix#regular? now raise on rectangular matrices</div><div class='del'>-	  and use determinant instead of rank.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 00:52:56 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): define some constants to select</div><div class='del'>-	  collect code for win64.</div><div class='del'>-</div><div class='del'>-Thu Apr 29 20:10:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_open3.rb (test_commandline): use dump instead of</div><div class='del'>-	  shellwords.  [ruby-core:23797]</div><div class='del'>-</div><div class='del'>-Thu Apr 29 18:39:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thwait.rb (ThreadsWait#join): refined rdoc again.</div><div class='del'>-	  [ruby-core:29863] [ruby-dev:41092]</div><div class='del'>-</div><div class='del'>-Thu Apr 29 14:46:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby: use more descriptive assertions.</div><div class='del'>-</div><div class='del'>-	* test/ruby: fixed nonsense assertions.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  reverted.  [ruby-core:29872]</div><div class='del'>-</div><div class='del'>-Thu Apr 29 12:33:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thwait.rb (ThreadsWait#join): refined rdoc.  [ruby-core:29863]</div><div class='del'>-</div><div class='del'>-Thu Apr 29 12:16:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): reject</div><div class='del'>-	  non-boolean values.  [ruby-core:29868]</div><div class='del'>-</div><div class='del'>-Thu Apr 29 11:20:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (seek_before_access): renamed.  see [ruby-core:29861].</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_binread): fixed rdoc.  parts of a patch from Roger</div><div class='del'>-	  Pack in [ruby-core:29861].</div><div class='del'>-</div><div class='del'>-Thu Apr 29 03:50:49 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/utils.rb: Fixing an incompatibility with</div><div class='del'>-	  reflection methods returning Symbols.  Patch by</div><div class='del'>-	  HD Moore.  [ruby-core:29821]</div><div class='del'>-</div><div class='del'>-Wed Apr 28 23:53:15 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thwait.rb: revise rdoc.  a patch from Roger Pack in</div><div class='del'>-	  [ruby-core:27362].</div><div class='del'>-</div><div class='del'>-Wed Apr 28 23:21:42 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Update to JSON 1.4.2.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 22:53:57 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread. (rb_thread_terminate_all): revert r24591 which caused SEGV</div><div class='del'>-	  sometimes.  [ruby-dev:40936] [ruby-core:27245] [ruby-core:27416]</div><div class='del'>-</div><div class='del'>-Wed Apr 28 22:26:55 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/visitors/test_yaml_tree.rb (test_struct_const): remove</div><div class='del'>-	  Struct::Foo which affects test/ruby/test_struct to warn redefining</div><div class='del'>-	  constant.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 18:04:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): use rb_check_funcall.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 17:14:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: CMSG_ macros are broken on 64bit darwin,</div><div class='del'>-	  because of use of __DARWIN_ALIGN.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 16:44:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h ({RSTRING,RSTRUCT,RBIGNUM}_LENINT): check long</div><div class='del'>-	  to cast to int.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 16:28:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (sendmsg_blocking, recvmsg_blocking):</div><div class='del'>-	  define only when used.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: non-implemented method definitions need</div><div class='del'>-	  to be shared.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 10:27:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (ruby_vsnprintf, ruby_snprintf): suppress warnings.</div><div class='del'>-	  why return int in spite of the arguments of size_t?</div><div class='del'>-</div><div class='del'>-Wed Apr 28 09:49:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: enable optimization.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 09:43:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_balanced): do not warn for EXPR_ENDFN.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 23:57:04 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): add exception guard around code running</div><div class='del'>-	  signal handler (of r27513).  Absence of the guard made</div><div class='del'>-	  bootstraptest/test_thread.rb fail sometimes.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 22:55:29 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (onceinlinecache): add exclusion control for a region</div><div class='del'>-	  between onceinlinecache and setinlinecache.  [ruby-dev:39768]</div><div class='del'>-</div><div class='del'>-Tue Apr 27 22:40:54 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (set_relation): do not use top_wrapper as bottom of cref,</div><div class='del'>-	  which caused constant lookup error when "wrapped load" is used;</div><div class='del'>-	  instead, use Object as bottom, and push top_wrapper on Object.</div><div class='del'>-	  [ruby-core:25039]</div><div class='del'>-</div><div class='del'>-Tue Apr 27 21:24:40 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): before cleanup, check signal buffer and run</div><div class='del'>-	  handler if any.  [ruby-core:20970]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_check_signal): separated from</div><div class='del'>-	  timer_thread_function.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 18:00:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP#rcptto_list): fixed typo.</div><div class='del'>-	  [ruby-core:29809]</div><div class='del'>-</div><div class='del'>-Tue Apr 27 12:44:23 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Import RDoc 2.5.7.  Fixes #1318 and ruby-core:29780.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 10:54:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape): deny extra character escapes.</div><div class='del'>-	  [ruby-core:27228]</div><div class='del'>-</div><div class='del'>-Tue Apr 27 06:20:13 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (select_internal): IO which cbuf is not empty is readable.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 00:07:32 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (program): check void_expr when rb_parse_in_main().</div><div class='del'>-	  [ruby-dev:38717]</div><div class='del'>-</div><div class='del'>-Mon Apr 26 20:11:05 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c, lib/cmath.rb, lib/date.rb lib/date/delta*:</div><div class='del'>-	  reverted r27484-27486.  now official spec.</div><div class='del'>-</div><div class='del'>-Mon Apr 26 15:42:59 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c (convert_UTF8_to_JSON_ASCII): get rid</div><div class='del'>-	  of a warning.</div><div class='del'>-</div><div class='del'>-Mon Apr 26 13:11:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_get_value): escape Qundef.</div><div class='del'>-</div><div class='del'>-Mon Apr 26 12:42:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_balanced): warn according to last state.</div><div class='del'>-</div><div class='del'>-Mon Apr 26 09:05:30 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Update to JSON 1.4.1.</div><div class='del'>-</div><div class='del'>-Sun Apr 25 23:50:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ruby_dup): update max fd.</div><div class='del'>-</div><div class='del'>-Sun Apr 25 21:56:49 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (fetch_internal): do not quote message data item</div><div class='del'>-	  names.  Thanks, Eric Hodel.  [ruby-core:23508]</div><div class='del'>-</div><div class='del'>-Sun Apr 25 15:59:02 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: reverted experimental r23900.</div><div class='del'>-</div><div class='del'>-Sun Apr 25 15:51:00 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c: reverted experimental r24565.</div><div class='del'>-</div><div class='del'>-Sun Apr 25 15:34:48 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/delta*: reverted experimental r24567 and</div><div class='del'>-	  r25393.</div><div class='del'>-</div><div class='del'>-Sun Apr 25 11:02:20 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): putenv on msvcrt.dll can't remove empty value.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 23:40:50 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: use [""].pack("p").size to detect the pointer size.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 21:07:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb: don't leave temporary files.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 16:27:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (RUBY_PROGRAM_VERSION): added</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: expand target file name.</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: no need for hook if extmk.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 14:40:20 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: raise IOError when byte oriented operations occur with</div><div class='del'>-	  non-empty character buffer.</div><div class='del'>-	  [ruby-dev:40493] [ruby-dev:40506]</div><div class='del'>-</div><div class='del'>-Sat Apr 24 13:06:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (get_arglen): skip the last terminator of argv before</div><div class='del'>-	  checking environ.</div><div class='del'>-</div><div class='del'>-	* ruby.c (get_arglen): duplicate environ area if setenv and unsetenv</div><div class='del'>-	  are provided.</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): keep empty strings.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 09:44:40 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/yaml2byte.c (bytestring_append, bytestring_extend):</div><div class='del'>-	  removed wrong extra assignments.  a patch from Marcus Rueckert</div><div class='del'>-	  &lt;darix AT opensu.se&gt; at [ruby-core:29759].</div><div class='del'>-</div><div class='del'>-Sat Apr 24 00:41:52 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_fork): remove after_exec() which sometimes caused</div><div class='del'>-	  two timer threads started.  [ruby-core:25217]</div><div class='del'>-</div><div class='del'>-	* signal.c: use pthread_sigmask() instead of sigprocmask().</div><div class='del'>-	  sigprocmask() is unspecified behavior on multi-thread programs.</div><div class='del'>-	  [ruby-core:25217]</div><div class='del'>-</div><div class='del'>-Sat Apr 24 00:36:05 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb: add kfreebsd support.  based on a patch from</div><div class='del'>-	  Petr Salinger in [ruby-core:29769].</div><div class='del'>-	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560293</div><div class='del'>-</div><div class='del'>-Sat Apr 24 00:14:41 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (SSL_SESSION_cmp): remove static for</div><div class='del'>-	  loopy version of openssl (0.9.8l?).</div><div class='del'>-</div><div class='del'>-Fri Apr 23 23:27:17 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c: fix compilation failure with</div><div class='del'>-	  OpenSSL 0.9.8.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 17:29:35 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c: OpenSSL 1.0.0 support.</div><div class='del'>-	  [ruby-core:29256]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check some functions added/removed at</div><div class='del'>-	  OpenSSL 1.0.0.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_load): use engines which</div><div class='del'>-	  exists.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session (SSL_SESSION_cmp): removed at 1.0.0,</div><div class='del'>-	  so implement compatible function here.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 14:37:22 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem::QuickLoader.load_full_rubygems_library):</div><div class='del'>-	  get rid of creating same regexps many times.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/custom_require.rb (Kernel#require): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 14:07:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/etc.rd, doc/etc.rd.ja: moved from ext/etc.</div><div class='del'>-</div><div class='del'>-	* ext/etc.c (Init_etc): fixed rdoc.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 11:31:25 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Update to RDoc 2.5.6.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 04:11:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_parser_events.rb (test_unterminated_regexp):</div><div class='del'>-	  separate test.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 01:47:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_wopen): shouldn't use FILE_FLAG_OVERLAPPED with</div><div class='del'>-	  normal file.  #1807, #2510, #2549</div><div class='del'>-</div><div class='del'>-Fri Apr 23 01:28:03 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (ubf_handle): remove unused typedef.</div><div class='del'>-</div><div class='del'>-Thu Apr 22 23:10:59 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): fix wrong error message when Kernel#public_method</div><div class='del'>-	  receives name of private method.  [Bug #2425]</div><div class='del'>-</div><div class='del'>-Thu Apr 22 22:56:42 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: fix test.  [Bug #2342]</div><div class='del'>-</div><div class='del'>-Thu Apr 22 21:50:17 2010  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/multi-irb.rb: fix multi-irb running</div><div class='del'>-	  parallelly. [ruby-dev:41031] [Bug #3182]</div><div class='del'>-</div><div class='del'>-Thu Apr 22 17:13:34 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Import RubyGems 1.3.7.pre.1 (as 1.3.6.1).</div><div class='del'>-</div><div class='del'>-Thu Apr 22 16:43:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_balanced): removed false warning.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): skip whitespaces after method name.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 02:16:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.[ch]: replace _DEBUG with BIGDECIMAL_DEBUG</div><div class='del'>-	  to prevent activating debugging code when compiled with -DEBUG flag</div><div class='del'>-	  on Windows. [ruby-core:22989] #1308</div><div class='del'>-</div><div class='del'>-Wed Apr 21 21:24:20 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/extconf.rb: check SHA256_CTX and SHA512_CTX to fix</div><div class='del'>-	  compilation failure on OpenBSD 4.4.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 15:13:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): fix incomplete character immediately before EOF</div><div class='del'>-	  with newline converter. [ruby-dev:41024]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 13:44:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp): check each fragments.   [ruby-core:27374]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 13:36:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): reverted r27388 due to backward</div><div class='del'>-	  compatibility.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): warn confusing binary operators after</div><div class='del'>-	  local variable.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 11:53:47 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 2.5.5.  Fixes bugs in ri, Darkfish and</div><div class='del'>-	  rdoc option handling.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 11:31:35 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): abandoned EXPR_VCALL.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 03:17:17 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): set read_encoding to resulted one character</div><div class='del'>-	  string. [ruby-dev:41023]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 00:29:39 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_karatsuba): fix calculation order to prevent</div><div class='del'>-	  underflow.  [ruby-core:29088]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 00:26:17 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_NEXT, NODE_REDO): add dummy putnil instruction to</div><div class='del'>-	  fix stack consistency error.  [ruby-core:28172]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_jump.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 00:16:44 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_params): update buf_filled count because</div><div class='del'>-	  deflateParams writes to out buffer.  And, revert r18029 because the</div><div class='del'>-	  flush was not needed now and emits garbage.  [ruby-dev:40802]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 00:01:05 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_def): decrement alias count of</div><div class='del'>-	  rb_method_definition_t to prevent memory leak.  see</div><div class='del'>-	  [ruby-dev:41021].</div><div class='del'>-</div><div class='del'>-Tue Apr 20 21:33:06 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/registry.rb (PredefinedKey#create): root key</div><div class='del'>-	  name should be a string.  fixed [ruby-core:28192]</div><div class='del'>-</div><div class='del'>-Tue Apr 20 19:25:50 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix for tLPAREN_ARG.</div><div class='del'>-</div><div class='del'>-Tue Apr 20 12:34:23 2010  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/{core, util}.rb (RFC822_DAYS, RFC822_MONTHS):</div><div class='del'>-	  move the constant because used only util.rb.</div><div class='del'>-</div><div class='del'>-Tue Apr 20 12:24:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_state_e, IS_END, IS_SPCARG, parser_yylex): separate</div><div class='del'>-	  the state after vcall.  [ruby-core:29578]</div><div class='del'>-</div><div class='del'>-Tue Apr 20 01:03:00 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_fork.rb: add a test for [ruby-core:28924].</div><div class='del'>-</div><div class='del'>-Tue Apr 20 00:43:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): skip last directory separators.</div><div class='del'>-	  [ruby-core:29627]</div><div class='del'>-</div><div class='del'>-Tue Apr 20 00:41:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (internal_{read,write}_func, rb_{read,write}_internal):</div><div class='del'>-	  reverted r27265, since now rb_thread_blocking_region() preserves</div><div class='del'>-	  errno.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 23:14:45 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region, rb_thread_blocking_region_end):</div><div class='del'>-	  preserve errno.  [Bug #2606] [ruby-core:28924]</div><div class='del'>-</div><div class='del'>-Mon Apr 19 19:41:10 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::cp_r): backport r11156 from ruby_1_8.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 19:18:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): reduced duplicated conditions.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 13:58:04 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 2.5.4.  Fixes #3169, #3160, #3023.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 12:46:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): propagate errors to the</div><div class='del'>-	  caller.  [ruby-dev:41010]</div><div class='del'>-</div><div class='del'>-Mon Apr 19 00:27:03 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_def): workaround fix for redefinition</div><div class='del'>-	  of methods. This is because cfp-&gt;me uses the rb_method_entry</div><div class='del'>-	  which is freed by redefinition of remove_method. Note that</div><div class='del'>-	  reusing may cause another problem when the usage is changed.</div><div class='del'>-	  [ruby-core:27320] [ruby-core:29464]</div><div class='del'>-</div><div class='del'>-Sun Apr 18 22:13:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content): cond_stack and cmdarg_stack are VALUE.</div><div class='del'>-</div><div class='del'>-Sun Apr 18 18:07:47 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::IPv4::Regex): make it only accept 0 to 255.</div><div class='del'>-	  [ruby-core:29501]</div><div class='del'>-</div><div class='del'>-Sun Apr 18 12:48:51 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): seems like a symbol-literal when spaces</div><div class='del'>-	  are unbalanced.  [ruby-core:29578]</div><div class='del'>-</div><div class='del'>-Sun Apr 18 12:32:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content): preserve cond_stack and cmdarg_stack.</div><div class='del'>-	  [ruby-core:29579]</div><div class='del'>-</div><div class='del'>-Sun Apr 18 05:50:58 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: defaulting binary string</div><div class='del'>-	  format to "literal" format.</div><div class='del'>-</div><div class='del'>-Sun Apr 18 02:13:59 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (identify_identifier): add '_' to the regexp.</div><div class='del'>-</div><div class='del'>-Sat Apr 17 23:21:15 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use AC_TRY_LINK instead of AC_TRY_COMPILE.</div><div class='del'>-	  On Solaris it can compile with signbit but can't link.</div><div class='del'>-</div><div class='del'>-Sat Apr 17 20:34:09 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: update Gem::ConfigMap to fake environment for</div><div class='del'>-	  tests.  Some test of rubygems had failed because envutil.rb changed</div><div class='del'>-	  only RbConfig::CONFIG but not Gem::ConfigMap.</div><div class='del'>-</div><div class='del'>-Sat Apr 17 20:31:08 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (identify_identifier): allow multibyte character</div><div class='del'>-	  as identifier.  [ruby-core:27275]</div><div class='del'>-</div><div class='del'>-Sat Apr 17 09:19:27 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix splat condition in NODE_WHEN.</div><div class='del'>-	  [Bug #2226]</div><div class='del'>-</div><div class='del'>-Sat Apr 17 08:57:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP#rcptto_list): continue when at least</div><div class='del'>-	  one RCPT is accepted.  based on a patch from Kero van Gelder at</div><div class='del'>-	  [ruby-core:26190].</div><div class='del'>-</div><div class='del'>-Sat Apr 17 07:43:55 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (TestQueue#grind): fix typos.</div><div class='del'>-</div><div class='del'>-Sat Apr 17 07:27:53 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Array#repeated_{combination,permutation} [Feature #2981]</div><div class='del'>-</div><div class='del'>-Sat Apr 17 05:30:22 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/core_ext.rb (yaml_as): supporting deprecated</div><div class='del'>-	  "yaml_as" method</div><div class='del'>-	* ext/syck/lib/syck/tag.rb: ditto</div><div class='del'>-</div><div class='del'>-Sat Apr 17 05:25:15 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/coder.rb (scalar): supporting deprecated methods</div><div class='del'>-	* ext/psych/lib/psych/deprecated.rb: supporting deprecated</div><div class='del'>-	  to_yaml_properties method</div><div class='del'>-</div><div class='del'>-Sat Apr 17 01:32:50 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_rewind, rb_io_eof): add rdoc.  based on a patch from</div><div class='del'>-	  Roger Pack in [ruby-core:26771] [Bug #2377].</div><div class='del'>-</div><div class='del'>-Fri Apr 16 23:42:56 2010  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_folderitem2_invokeverb.rb (test_invokeverb):</div><div class='del'>-	  run test only when "Create Shortcut (&amp;S)" menu is found.</div><div class='del'>-	  [ruby-core:29550] [Bug #1602]</div><div class='del'>-</div><div class='del'>-Fri Apr 16 21:52:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content, etc): counts of CMDARG_PUSH and POP were</div><div class='del'>-	  inconsistent.  [ruby-core:22637]</div><div class='del'>-</div><div class='del'>-Fri Apr 16 21:27:57 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): revert r23389,</div><div class='del'>-	  which not only is unnecessary but also causes the inconsistency of</div><div class='del'>-	  return type.  [ruby-core:25706] [Bug #2129]</div><div class='del'>-</div><div class='del'>-Fri Apr 16 20:05:24 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Queue#push, #pop, SizedQueue#push, #pop): remove</div><div class='del'>-	  code that kicks waiting thread twice, which caused race and</div><div class='del'>-	  deadlock.  a patch from James M. Lawrence.  [ruby-core:25537]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb: added.</div><div class='del'>-</div><div class='del'>-Fri Apr 16 20:01:47 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: updated.</div><div class='del'>-</div><div class='del'>-Fri Apr 16 16:51:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::SVN::get_revisions.): remind about</div><div class='del'>-	  DOSISH, sometimes.</div><div class='del'>-</div><div class='del'>-Fri Apr 16 16:15:40 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_repeated_permutation): new method added. a patch</div><div class='del'>-	  from Makoto Kishimoto in [ruby-core:29267]   [ruby-core:28724]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_repeated_combination): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 22:41:47 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_priority, rb_thread_priority_set): fix rdoc.</div><div class='del'>-	  Lower-priority thread may run even if there are higher-priority</div><div class='del'>-	  threads.  See [ruby-dev:40977].</div><div class='del'>-</div><div class='del'>-Thu Apr 15 22:33:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (URI::FTP#set_path): added to correct handling of</div><div class='del'>-	  special case where path of ftp is relative.  This converts relative</div><div class='del'>-	  path to absolute one, because external representation of ftp path is</div><div class='del'>-	  relative and internal representation is absolute.  [ruby-core:24077]</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (URI::FTP#initialize): converts absolute to relative.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#check_path): allow relative path</div><div class='del'>-	  when scheme is ftp.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 21:54:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: use backtick for ruby 1.8.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 21:13:29 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: this should run with ruby 1.8.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 20:41:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: make -q effective for files not version</div><div class='del'>-	  controlled.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 14:50:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each): get rid of use of malloc from signal</div><div class='del'>-	  handler by using ruby_engine_name.  [ruby-core:29497]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (print_backtrace): file may be nil when segfaulted in</div><div class='del'>-	  very early stage.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (bugreport_backtrace): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 11:51:49 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): small fix.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 22:09:28 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb: force_encoding("UTF-8") when the input</div><div class='del'>-	  is already UTF-8. patched by Kouhei Sutou [ruby-core:23404]</div><div class='del'>-</div><div class='del'>-Wed Apr 14 18:23:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (signbit): signbit is a macro in C99.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 17:56:06 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_shift_cbuf): should terminate.</div><div class='del'>-	  http://golf.shinh.org/p.rb?DECimal+number+to+BINary#Ruby</div><div class='del'>-</div><div class='del'>-Wed Apr 14 16:29:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GET_STACK_BOUNDS): fixed macro argument names.  a patch from</div><div class='del'>-	  Satoshi Shiba &lt;shiba AT rvm.jp&gt; at [ruby-dev:40973].</div><div class='del'>-</div><div class='del'>-	* gc.h (ruby_get_stack_grow_direction): fixed prototype.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack, ruby_stack_overflowed_p): both side</div><div class='del'>-	  should be same type.  [Bug #3145]</div><div class='del'>-</div><div class='del'>-Wed Apr 14 15:58:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value_cstr): make NUL terminated if it is</div><div class='del'>-	  not done.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 12:56:21 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap (encode_utf7): encode &amp; properly.  Thanks, Kengo</div><div class='del'>-	  Matsuyama.  [ruby-dev:38063]</div><div class='del'>-</div><div class='del'>-Wed Apr 14 11:39:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/syck/basenode.rb (Syck::BaseNode#match_path): fixed</div><div class='del'>-	  library name.</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/yaml/syck.rb: split from ext/syck/lib/syck.rb for</div><div class='del'>-	  backward compatibility.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 09:24:07 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Refix [nkf-bug:21393]. (explicit -X)</div><div class='del'>-</div><div class='del'>-Tue Apr 13 20:36:50 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Fix: Windows Codepages wrongly convert</div><div class='del'>-	  Halfwidth Katakana. [nkf-bug:21393]</div><div class='del'>-</div><div class='del'>-Tue Apr 13 15:00:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (make_seed_value): fix leading-zero-guard condition on</div><div class='del'>-	  bdigit is smaller than 32bit.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 13:57:36 2010  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb (CompletionProc): fix [ruby-dev:40953]</div><div class='del'>-	  [Bug #3126]. Thanks Kazuhiro NISHIYAMA.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 09:32:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): insert output the value when</div><div class='del'>-	  fallback hash has a related key. [ruby-dev:40540]</div><div class='del'>-	  [ruby-dev:40829] #3036</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_prepare_opts): pass to newhash</div><div class='del'>-	  a value with the key :fallback.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 00:12:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): use the absolute value of seed to</div><div class='del'>-	  make srand(-2**40) portable with 32bit and 64bit.</div><div class='del'>-	  [ruby-core:29292](2)</div><div class='del'>-</div><div class='del'>-Mon Apr 12 22:48:47 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (inspect_enumerator): don't raise for uninitialized</div><div class='del'>-	  enumerator.</div><div class='del'>-</div><div class='del'>-Mon Apr 12 21:47:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: separated the section for parse.c.  contributed by Paul</div><div class='del'>-	  Betteridge in [ruby-core:29472].</div><div class='del'>-</div><div class='del'>-Mon Apr 12 09:19:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_each_src_dest): ensure src is accessible.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_same): use File.identical? to get rid of</div><div class='del'>-	  exceptions.  [ruby-core:28141]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_have_st_ino): no longer used.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_have_st_ino): check if required method is</div><div class='del'>-	  defined, instead of platform name.</div><div class='del'>-</div><div class='del'>-Mon Apr 12 05:10:20 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: New method Matrix.build [ruby-core:28272]</div><div class='del'>-</div><div class='del'>-Mon Apr 12 03:45:25 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Deprecate elements_to_{f/i/r}</div><div class='del'>-</div><div class='del'>-Mon Apr 12 03:30:29 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Handle coercion errors by raising TypeErrors</div><div class='del'>-	  [ruby-core:26736]</div><div class='del'>-</div><div class='del'>-Mon Apr 12 00:51:21 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast, rb_io_getline_1): fix ARGF.lineno</div><div class='del'>-	  behavior. [ruby-core:25205]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (TestArgf#test_lineno3): add a test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Sun Apr 11 23:25:17 2010  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: can not load libraries if --with-opt-dir is used</div><div class='del'>-	  on AIX. [Bug #3107]</div><div class='del'>-</div><div class='del'>-Sun Apr 11 14:44:45 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#getc): revert r10817, which caused</div><div class='del'>-	  regression for handling case when there is no newline at the end of</div><div class='del'>-	  file.  [ruby-core:28248]</div><div class='del'>-</div><div class='del'>-Sun Apr 11 12:08:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_replicate): new encoding name must be valid</div><div class='del'>-	  c-string.  [ruby-dev:40954]</div><div class='del'>-</div><div class='del'>-Sun Apr 11 11:58:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (ftruncate): rename to get rid of conflict</div><div class='del'>-	  with same name but non-LFS function on MinGW.  [ruby-core:24757]</div><div class='del'>-</div><div class='del'>-Sun Apr 11 10:33:34 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 2.5.3.  Includes r27288 and r27290.</div><div class='del'>-</div><div class='del'>-Sun Apr 11 09:31:39 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/syck/*: Moved test/yaml to test/syck since it's actually</div><div class='del'>-	  testing the syck YAML engine.</div><div class='del'>-</div><div class='del'>-Sun Apr 11 08:56:44 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (setup_output_dir): compare by Time#to_i.</div><div class='del'>-	  Cached created time doesn't have fractional times,</div><div class='del'>-	  but FileStat#mtime has; so rdoc almost always judged files</div><div class='del'>-	  are updated.</div><div class='del'>-</div><div class='del'>-Sun Apr 11 07:40:48 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (setup_output_dir): fix typo. [ruby-core:29415]</div><div class='del'>-</div><div class='del'>-Sun Apr 11 07:01:41 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (decode_www_form_component): validate.</div><div class='del'>-	  [ruby-dev:40938]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (decode_www_form): allow empty string.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: fix nodoc for constant. [ruby-dev:40949]</div><div class='del'>-</div><div class='del'>-Sat Apr 10 21:26:22 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/preprocess.rb (RDoc::Markup::PreProcess#handle):</div><div class='del'>-	  use File.binread to avoid locale dependency.</div><div class='del'>-</div><div class='del'>-Sat Apr 10 15:18:26 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc: Import RDoc 2.5.2</div><div class='del'>-	* lib/rdoc/parser/ruby.rb (RDoc::Parser::Ruby): Don't parse rdoc</div><div class='del'>-	  files, reverts r24976 in favor of include directive support in C</div><div class='del'>-	  parser.</div><div class='del'>-</div><div class='del'>-Sat Apr 10 13:14:22 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): add SSLContext#ssl_timeout=,</div><div class='del'>-	  which allows net/https to specify timeout.  [ruby-core:24812]</div><div class='del'>-</div><div class='del'>-Sat Apr 10 07:36:13 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): clear attr.location before rb_ary_new3.</div><div class='del'>-	  a patch from Masaya TARUI in [Bug #3108]</div><div class='del'>-</div><div class='del'>-Sat Apr 10 05:27:26 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/deprecated.rb: implementing Psych.quick_emit and</div><div class='del'>-	  adding deprecation warnings.</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: supporting deprecated</div><div class='del'>-	  yaml_initialize api.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: supporting deprecated</div><div class='del'>-	  to_yaml api.</div><div class='del'>-</div><div class='del'>-Sat Apr 10 01:08:53 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: parse raises a TypeError when nil is passed in.</div><div class='del'>-</div><div class='del'>-Sat Apr 10 00:01:51 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/lib/expect.rb: preserve buffer read, instead of discard.</div><div class='del'>-	  based on a patch from Luiz Angelo Daros de Luca in</div><div class='del'>-	  [ruby-core:23464].</div><div class='del'>-</div><div class='del'>-Fri Apr  9 23:58:58 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/lib/expect.rb: raise an error when argument is unexpected</div><div class='del'>-	  type.  based on a patch from Luiz Angelo Daros de Luca in</div><div class='del'>-	  [ruby-core:23464].</div><div class='del'>-</div><div class='del'>-Fri Apr  9 23:57:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/lib/expect.rb: add rdoc.  based on a patch from Luiz Angelo</div><div class='del'>-	  Daros de Luca in [ruby-core:23464].</div><div class='del'>-</div><div class='del'>-Fri Apr  9 23:54:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb, lib/irb/lc/help-message,</div><div class='del'>-	  lib/irb/lc/ja/help-message: add -w flag.  [ruby-core:24594]</div><div class='del'>-</div><div class='del'>-Fri Apr  9 23:51:45 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal),</div><div class='del'>-	  ext/socket/unixsocket.c (rsock_init_unixsock): check the result of</div><div class='del'>-	  listen(2).  based on a patch from Mike Pomraning.  [ruby-core:23698]</div><div class='del'>-</div><div class='del'>-Fri Apr  9 21:22:10 2010  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb (CompletionProc): irb will be stuck with</div><div class='del'>-	  long variable name at completion. [Bug#1969]. refix [ruby-core:28366].</div><div class='del'>-</div><div class='del'>-Fri Apr  9 20:54:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (decode_www_form): don't ignore leading '?'.</div><div class='del'>-	  [ruby-dev:40938]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (decode_www_form): check whether argument is</div><div class='del'>-	  valid application/x-www-form-urlencoded data.</div><div class='del'>-</div><div class='del'>-Fri Apr  9 20:29:13 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): clear up the previous commit (RB_GC_GUARD can</div><div class='del'>-	  precede the last reference).  [ruby-dev:40942]</div><div class='del'>-</div><div class='del'>-Fri Apr  9 20:05:05 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): add RB_GC_GUARD to prevent str being free'ed.</div><div class='del'>-	  a patch from Masaya TARUI in [ruby-dev:40939].  [ruby-dev:40514]</div><div class='del'>-</div><div class='del'>-Fri Apr  9 10:53:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): stop hiding, and freeze unpopped</div><div class='del'>-	  string nodes to allow method redefinition.  [ruby-dev:40641]</div><div class='del'>-</div><div class='del'>-Fri Apr  9 01:26:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (internal_{read,write}_func, rb_{read,write}_internal):</div><div class='del'>-	  preserve errno.  a patch from Takehiro Kubo in [ruby-core:29340].</div><div class='del'>-	  [ruby-core:28924]</div><div class='del'>-</div><div class='del'>-Fri Apr  9 01:12:07 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb (CompletionProc): calling the method "methods"</div><div class='del'>-	  may raise an exception.  [ruby-core:28366]</div><div class='del'>-</div><div class='del'>-Thu Apr  8 14:33:24 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: --disable-install-doc should prohibit doxygen.</div><div class='del'>-</div><div class='del'>-Thu Apr  8 14:23:51 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: include errno.h before defining errnos.</div><div class='del'>-	  see [ruby-core:29314]</div><div class='del'>-</div><div class='del'>-Thu Apr  8 11:45:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: use Psych if only it is loaded already.</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML::EngineManager#yamler): set the result after</div><div class='del'>-	  successfully switched.</div><div class='del'>-</div><div class='del'>-Thu Apr  8 07:22:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): ignore higher bits if all they are same as</div><div class='del'>-	  the lower sign bit.  [ruby-core:29292](2)</div><div class='del'>-</div><div class='del'>-Thu Apr  8 07:16:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb (IRB::ExtendCommand::Help#execute): use RI</div><div class='del'>-	  interactive mode if no argument.  [ruby-dev:39839]</div><div class='del'>-</div><div class='del'>-Wed Apr  8 02:33:55 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): Remove limitation for lengthy permutations</div><div class='del'>-	  [ruby-core:29240]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Apr  7 23:33:55 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-map): binded C-c C-c and C-c C-c C-u</div><div class='del'>-	  to comment-region and uncomment-region. Thanks Michael Klishin!</div><div class='del'>-	  [Feature #872] [ruby-core:20552]</div><div class='del'>-</div><div class='del'>-Wed Apr  7 21:44:14 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (ASCTIME): unused macro removed.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 16:45:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): reverted r27244.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 11:49:34 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/quickpath.rb (REXML::QuickPath::predicate):</div><div class='del'>-	  fix regexp.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 09:44:48 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): quote init-commands.</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): `make ruby` builds ruby command</div><div class='del'>-	  even if RUBY_INSTALL_NAME is customized or it has extension.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 03:28:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc#{initialize,setup_output_dir}):</div><div class='del'>-	  initialize @last_created and use it.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 02:05:41 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: not define $extout to make target in cwd.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 23:01:35 2010  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: Introduce UNINITIALIZED_VAR() macro.</div><div class='del'>-	* thread.c (do_select): Use UNINITIALIZED_VAR() instead FAKE_FD_ZERO().</div><div class='del'>-	  Also, remove FAKE_FD_ZERO completely. [Feature #3018]</div><div class='del'>-</div><div class='del'>-Tue Apr  6 14:53:17 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: check definition existence before defining</div><div class='del'>-	  errno macros.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (errmap): define winsock errors mappings.</div><div class='del'>-	  these are VC++10 support. see [ruby-core:29278]</div><div class='del'>-</div><div class='del'>-Tue Apr  6 21:55:25 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: test localtime(3) overflow.  [ruby-dev:40910]</div><div class='del'>-</div><div class='del'>-	* time.c (rb_gmtime_r): renamed from rb_gmtime.</div><div class='del'>-	  (rb_localtime_r): renamed from rb_localtime.</div><div class='del'>-	  (rb_localtime_r2): call rb_localtime_r and validate the result if</div><div class='del'>-	  there is overflow problem.</div><div class='del'>-	  (rb_gmtime_r2): call rb_gmtime_r and validate the result if there</div><div class='del'>-	  is overflow problem.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 11:21:23 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: hooks for extconf.rb.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 06:19:36 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text.check): comment out</div><div class='del'>-	  broken logic.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 05:59:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (LETTER, DIGIT):</div><div class='del'>-	  always use POSIX charclass.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (NAMECHAR):</div><div class='del'>-	  remove duplicated range.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xmltokens.rb (NCNAME_STR, NAMECHAR): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/xpathparser.rb (PathExpr): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#initialize):</div><div class='del'>-	  initialize @parent.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 19:54:58 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (make_regexp): use onig_new_with_source to keep</div><div class='del'>-	  sourcefile and sourceline.</div><div class='del'>-</div><div class='del'>-	* re.c (onig_new_with_source): copied from onig_new in</div><div class='del'>-	  regcomp.c for keep sourcefile and sourceline.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 13:20:45 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/win32.c (EWOULDBLOCK): VC10 already</div><div class='del'>-	  defined EWOULDBLOCK.  based on a patch from Charlie Savage,</div><div class='del'>-	  see [ruby-core:29255]</div><div class='del'>-</div><div class='del'>-Mon Apr  5 13:10:35 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/core_ext.rb: remove before alias.</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/syck.rb: don't warn called by itself.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 13:08:24 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (each_export): VC10 support.</div><div class='del'>-	  a patch from Charlie Savage in [ruby-core:29254]</div><div class='del'>-</div><div class='del'>-Sun Apr  4 22:18:32 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (cmp): optimize for fixnums.</div><div class='del'>-	  (lt): use cmp.</div><div class='del'>-	  (gt): ditto.</div><div class='del'>-	  (le): ditto.</div><div class='del'>-	  (ge): ditto.</div><div class='del'>-	  (wlt): use wcmp.</div><div class='del'>-	  (wgt): ditto.</div><div class='del'>-	  (wle): ditto.</div><div class='del'>-	  (wge): ditto.</div><div class='del'>-	  (time_subsec): use wmod.</div><div class='del'>-</div><div class='del'>-Sun Apr  4 10:04:28 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: replace snprintf and vsnprintf by</div><div class='del'>-	  ruby_snprintf and ruby_vsnprintf. [ruby-dev:40909]</div><div class='del'>-</div><div class='del'>-	* configure.in: don't check snprintf(3) and vsnprintf(3).</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: don't declare snprintf and vsnprintf.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: include stdarg.h.</div><div class='del'>-</div><div class='del'>-	* sprintf.c: include vsnprintf.c</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c: renamed from missing/vsnprintf.c.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c: remove useless ifdefs.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: use ruby_snprintf and ruby_vsnprintf.</div><div class='del'>-</div><div class='del'>-Sun Apr  4 09:44:01 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (lt): call &lt;=&gt; instead of &lt;.</div><div class='del'>-</div><div class='del'>-Sun Apr  4 06:46:16 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml: Moved to ext/syck/lib, Syck only uses Syck constant.</div><div class='del'>-	* lib/yaml.rb: Added an engine manager for choosing YAML engine.</div><div class='del'>-	* ext/syck/lib/syck/rubytypes.rb: squashed warnings when using Psych</div><div class='del'>-</div><div class='del'>-Sat Apr  3 22:47:51 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: don't define STRUCT_WIDEVAL.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 18:15:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc#{setup,update}_output_dir): store mtimes</div><div class='del'>-	  per files in the flag file.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc#normalized_file_list): skip already</div><div class='del'>-	  processed and unmodified files.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 15:09:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc): no force-update, and add RDOCFLAGS.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (RDoc#parse): no-force-update option.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 10:51:10 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): raise ArgumentError on nil, as the</div><div class='del'>-	  documentation implies.  [ruby-core:29075]</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_rand): mentioned the case of when max is nil.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 06:56:11 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): Accept a block [ruby-core:29045]</div><div class='del'>-</div><div class='del'>-Sat Apr  3 04:46:00 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS#relative_to): path and @srcdir may have</div><div class='del'>-	  different relative-ness.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 03:19:01 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (Benchmark::Tms#add): fix NameError.</div><div class='del'>-	  [ruby-dev:40906]</div><div class='del'>-</div><div class='del'>-	* test/benchmark/test_benchmark.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 01:50:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb (RDoc#make_message): no empty lines.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/stats.rb (RDoc::Normal#print_file): send to stdout and</div><div class='del'>-	  flush always</div><div class='del'>-</div><div class='del'>-Sat Apr  3 00:03:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/class_module.rb (RDoc#merge): get rid of stack overflow.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/c.rb (RDoc#handle_method): see source files in</div><div class='del'>-	  source directory.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 22:13:38 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb: reverted r27186 to add generators.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 21:17:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added reverse_lookup option.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 15:26:14 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_driver.rb (with_dummy_pager): don't grasp</div><div class='del'>-	  the terminal.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 14:43:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::Generator): defer by autoload.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/darkfish.rb: use normal library instead of</div><div class='del'>-	  gem.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 14:26:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): don't branch by</div><div class='del'>-	  RUBY_VERSION.  reapplied r24990.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): emacs local variables</div><div class='del'>-	  are delimited by a semicolon.  supported Vim style.  reapplied</div><div class='del'>-	  r24988 with fixing a typo for shebang.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 14:16:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb (RDoc::Parser::Ruby): parse also rdoc</div><div class='del'>-	  files.  reapplied r24976.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/c.rb: fixed a small error in the documentation.</div><div class='del'>-	  [ruby-core:24744]  reapplied r24395.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc::Parser.binary?): blksize may be nil</div><div class='del'>-	  and is irrelevant to whether a file is binary.  TAB and newlines</div><div class='del'>-	  would be usually considered to be included in text data.</div><div class='del'>-	  reapplied r23071 and r24297.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 13:59:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): Gem::Enable has been</div><div class='del'>-	  obsolete.  reapplied r24599.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb: follows $ridir.  reapplied r23554.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::HOMEDIR): expand_path deals with</div><div class='del'>-	  platform dependent environments.  reapplied r21312.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 12:52:25 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (binary?): regression.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 11:54:49 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): wrong calculation of the head of setenv</div><div class='del'>-	  string.  [ruby-core:29216]</div><div class='del'>-	  a patch from Heesob Park in [ruby-core:29218]</div><div class='del'>-</div><div class='del'>-Fri Apr  2 08:24:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (ruby_setsid): split from proc_setsid.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): use EXIT_SUCCESS instead of magic number.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 07:00:28 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_inspect): fix format specifiers.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 05:38:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (InitVM): calls per-VM initialization in</div><div class='del'>-	  single VM, but does nothing in MVM.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 02:56:56 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: New instance methods:</div><div class='del'>-	  empty? [ruby-core:26284], each, each_with_index [ruby-core:28400],</div><div class='del'>-	  conjugate, conj, imaginary, imag, real, real?, rectangular, rect</div><div class='del'>-	  [ruby-core:26285]</div><div class='del'>-</div><div class='del'>-	  Removed compare_by*, inspect_org, cf [ruby-core:26268]</div><div class='del'>-</div><div class='del'>-	  Matrix.empty: raise on negative sizes</div><div class='del'>-</div><div class='del'>-	  Matrix.determinant: raise on rectangular matrices [ruby-core:28271]</div><div class='del'>-</div><div class='del'>-Thu Apr  1 17:17:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: CP50221 supports 8bit JIS.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 16:44:00 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc, test/rdoc: Imported RDoc 2.5</div><div class='del'>-</div><div class='del'>-Thu Apr  1 14:30:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_16{be,le}.c (utf16{be,le}_mbc_to_code): simplified.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 14:07:51 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (BSD__hdtoa): don't use C99 macros. (FP_NORMAL etc)</div><div class='del'>-</div><div class='del'>-Thu Apr  1 13:30:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): support %a format. [ruby-dev:40650]</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): ditto.</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (cvt): ditto.</div><div class='del'>-</div><div class='del'>-	* util.c (BSD__hdtoa): added.  This is 2-clause BSDL licensed</div><div class='del'>-	  by David Schultz and from FreeBSD.</div><div class='del'>-</div><div class='del'>-	* LEGAL: add about hdtoa() in util.c.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 13:24:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): return 0.0 if hexadecimal and</div><div class='del'>-	  badcheck is FALSE: Float("0x1p+0") works, but "0x1p+0".to_f</div><div class='del'>-	  doesn't. [ruby-dev:40650]</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): allow hexadecimal integers.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 13:20:50 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: support %a format. [ruby-dev:40650]</div><div class='del'>-</div><div class='del'>-Thu Apr  1 12:04:10 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRE_TIMET_PREFIX): define if configure doesn't</div><div class='del'>-	  defines it.  [ruby-core:29190]</div><div class='del'>-</div><div class='del'>-Thu Apr  1 11:36:04 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): fixed a rdoc miss that textmode and</div><div class='del'>-	  binmode flag explanation was reversed each other.  a patch from</div><div class='del'>-	  Heesob Park in [ruby-core:29166].</div><div class='del'>-</div><div class='del'>-Thu Apr  1 09:54:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_{DEFAULT,NEVER}_FREE): added.</div><div class='del'>-	  [ruby-dev:40889]</div><div class='del'>-</div><div class='del'>-Thu Apr  1 04:55:08 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_big_abs_find_minbit): fix handling the last word.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 04:30:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (long_mul): overflow condition changed.</div><div class='del'>-	  (wi_mul): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 23:33:29 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (long_mul): extracted from mul and avoid integer overflow.</div><div class='del'>-	  (wi_mul): extracted from wmul and avoid integer overflow.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 21:30:38 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: less bignum allocations.</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_timespec): defined to avoid rational for</div><div class='del'>-	  nano second resolution time.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 16:05:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_{package_task,rules,task_manager}.rb: use</div><div class='del'>-	  temporary directories.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 13:53:13 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/gemutilities.rb (setup, teardown):</div><div class='del'>-	  Object#to_yaml must use syck on RubyGem.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 06:57:14 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (timew2timespec): fix previous change.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 00:32:19 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (wdivmod): renamed from wdivmodv.  fix neg/pos and pos/neg.</div><div class='del'>-	  (split_second): return number of seconds as wideval_t.</div><div class='del'>-	  (timet2wv): new function.</div><div class='del'>-	  (wv2timet): new function.</div><div class='del'>-	  (timet2wideval): removed.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 22:24:19 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: use more polymorphic operations.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 22:12:38 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add URI.decode and URI.encode to Obsoleted methods,</div><div class='del'>-	  and fix typos. [ruby-dev:40852]</div><div class='del'>-</div><div class='del'>-	* NEWS: add Time#subsec.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 22:07:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: reorder wide value implementation.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 22:00:44 2010  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: support [Feature#988], [ruby-core:21177].</div><div class='del'>-	* lib/irb/context.rb: fix Context#verbose?.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 21:56:33 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: make wide value more polymorphic.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 21:18:32 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: install psych .so to not psych/ but direct.</div><div class='del'>-	  This prepends to install *.rb files to psych/psych.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: require 'psych.so'.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 20:55:14 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (w2v): renamed from w2xv.</div><div class='del'>-	  (v2w): renamed from xv2w.</div><div class='del'>-	  (rb_time_magnify): takes wideval_t.</div><div class='del'>-	  (rb_time_unmagnify): returns wideval_t.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 19:46:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib: moved external library dependent files from lib.</div><div class='del'>-	  [ruby-core:29129]</div><div class='del'>-</div><div class='del'>-Tue Mar 30 18:25:52 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_dirname): split from rb_file_s_dirname.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require_relative): use absolute path instead of</div><div class='del'>-	  expanded path.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 13:57:08 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): Process.daemon should raise an error on</div><div class='del'>-	  failure regardless of whether the implementation uses daemon(3)</div><div class='del'>-	  or not. [ruby-dev:40832]</div><div class='del'>-</div><div class='del'>-Tue Mar 30 13:11:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::GIT_SVN): removed because git-log can</div><div class='del'>-	  deal with git-svn repository faster than git-svn-info.</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS#get_revisions): particular commands do</div><div class='del'>-	  not depend on instance.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 08:55:50 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: Making library detection more agnostic.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 08:10:59 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/psych.rb: Fix problem with empty and white-space only strings.</div><div class='del'>-	  Thanks Peter McLain!</div><div class='del'>-	* test/psych/test_psych.rb: tests for change.</div><div class='del'>-</div><div class='del'>-Tue Mar 30 05:31:39 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/psych.rb: documentation updates.  Thanks Peter McLain!</div><div class='del'>-	* lib/psych/{coder,tree_builder}.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Mar 30 03:56:13 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/{emitter,parser,psych}.c: move variable</div><div class='del'>-	  declaration to the first of the block.</div><div class='del'>-</div><div class='del'>-Mon Mar 29 21:47:44 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb, .document: Stuff in prelude.rb should be documented</div><div class='del'>-	  as well.</div><div class='del'>-</div><div class='del'>-Mon Mar 29 20:23:05 2010  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb(Vector#each2, Vector#collect2): add type check for</div><div class='del'>-	  Integer[Bug #2495].</div><div class='del'>-</div><div class='del'>-Mon Mar 29 19:45:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: wide value condition changed.</div><div class='del'>-</div><div class='del'>-Mon Mar 29 18:10:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (Numeric): accept rationals.</div><div class='del'>-</div><div class='del'>-Mon Mar 29 15:10:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#open): re-open with same mode and</div><div class='del'>-	  options as initialize.</div><div class='del'>-</div><div class='del'>-Mon Mar 29 09:16:45 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: change include order; ruby.h should be at first.</div><div class='del'>-</div><div class='del'>-Mon Mar 29 06:47:25 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/*: importing Psych to trunk</div><div class='del'>-	* test/psych/*: ditto</div><div class='del'>-	* lib/psych/*: ditto</div><div class='del'>-</div><div class='del'>-Sun Mar 28 10:03:51 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: fix max width modifier for %f.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 10:35:45 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.6.0 r5717.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 10:12:28 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_magnify): fix for LP64.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 09:28:33 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: fix %[egEFG] isn't accept.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 09:53:02 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: rename small integer specialization related identifiers.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 08:20:37 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (weq): specialize for small integer.</div><div class='del'>-	  (wne): ditto.</div><div class='del'>-	  (wlt): ditto.</div><div class='del'>-	  (wgt): ditto.</div><div class='del'>-	  (wle): ditto.</div><div class='del'>-	  (wge): ditto.</div><div class='del'>-	  (rb_time_magnify): ditto.</div><div class='del'>-	  (rb_time_unmagnify): ditto.</div><div class='del'>-	  (rb_time_unmagnify_to_float): new function to avoid rational for</div><div class='del'>-	  Time#to_f and Time#-.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 07:12:41 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (mul): condition refined.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 02:14:13 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: fix previous commit.</div><div class='del'>-</div><div class='del'>-Sat Mar 27 23:17:52 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: use 64bit arithmetic even on platforms with 32bit VALUE.</div><div class='del'>-</div><div class='del'>-Fri Mar 26 23:52:07 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Thread#add_trace_func and Thread#set_trace_func.</div><div class='del'>-</div><div class='del'>-Fri Mar 26 22:58:10 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): initialize</div><div class='del'>-	  store-&gt;ex_data.sk.  a patch from Christian Holtje in</div><div class='del'>-	  [ruby-core:28907].  [ruby-core:23971] [ruby-core:18121]</div><div class='del'>-</div><div class='del'>-Fri Mar 26 19:55:41 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (DOXYGEN): Define a missing variable DOXYGEN.  Build</div><div class='del'>-	  has been failing when doxygen(1) is found by configure but the</div><div class='del'>-	  variable is not defined by the system and make(1) does not allow</div><div class='del'>-	  an empty command. ("@$(DOXYGEN)" was the cause)</div><div class='del'>-</div><div class='del'>-Fri Mar 26 19:28:03 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (test_recursive_key): recursive keys are</div><div class='del'>-	  permitted now.  [ruby-dev:40735]</div><div class='del'>-</div><div class='del'>-Fri Mar 26 12:36:10 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/basenode.rb: deprecating YPath methods</div><div class='del'>-</div><div class='del'>-	* lib/yaml/stream.rb: deprecating YAML::Stream#edit</div><div class='del'>-</div><div class='del'>-Fri Mar 26 12:29:28 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/encoding.rb: YAML.encode, YAML.decode are deprecated.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/stringio.rb: yaml/stringio.rb is deprecated.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/ypath.rb: YAML::YPath is deprecated.</div><div class='del'>-</div><div class='del'>-Fri Mar 26 04:52:19 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: fix [ruby-core:28901] [Bug #2997].</div><div class='del'>-	  Thanks, Michael Graff.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: use xfree() for memories allocated by ALLOC().</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/version.rb: forgot updating.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 23:53:22 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_reset_event_flags): set flags to thread.  [Bug #693]</div><div class='del'>-</div><div class='del'>-Thu Mar 25 23:17:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check): prefer #to_path over #to_str.  a patch</div><div class='del'>-	  originally written by me, and modified by Nobuyoshi Nakada.</div><div class='del'>-	  [ruby-core:24257]</div><div class='del'>-</div><div class='del'>-Thu Mar 25 18:10:08 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Array#{uniq,uniq!} can take a block. see [ruby-dev:37998]</div><div class='del'>-</div><div class='del'>-Thu Mar 25 17:21:49 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add IO#autoclose=, IO#autoclose?, IO#codepoints,</div><div class='del'>-	  IO#each_codepoint.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 14:50:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_{read,write}): fix handle leaks.  based on</div><div class='del'>-	  a patch from Heesob Park in [ruby-core:28919].  [ruby-core:28833]</div><div class='del'>-</div><div class='del'>-Thu Mar 25 12:37:37 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Kernel#singleton_class.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 11:34:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c, node.h, strftime.c, enc/trans/utf8_mac.trans:</div><div class='del'>-	  added explicit casts for suppressing warnings.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 11:34:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb: HFS+ escapes invalid byte sequences of</div><div class='del'>-	  filenames.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 05:44:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_version): needs runnable CPP.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 04:42:19 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): take a breath for HP-UX make</div><div class='del'>-	  [ruby-core:28938].</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (Dir.mktmpdir): for 1.8.6 backward compatibility.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): $: no longer contains ".", in trunk.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 03:52:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb: update of URL.  [ruby-dev:38360]</div><div class='del'>-</div><div class='del'>-Wed Mar 24 23:43:40 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): let new thread inherit RUBY_EVENT_VM</div><div class='del'>-	  of event_flags.  [ruby-core:25191]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_exec_event_hooks): delete RUBY_EVENT_VM if</div><div class='del'>-	  all event_hooks are removed.</div><div class='del'>-</div><div class='del'>-Wed Mar 24 22:58:02 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert the previous commit, which seemed to break make</div><div class='del'>-	  install.  The files of standard libraries are directly installed to</div><div class='del'>-	  $(PREFIX)/lib/ruby instead of $(PREFIX)/lib/ruby/1.9.1</div><div class='del'>-</div><div class='del'>-Wed Mar 24 18:16:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LDSHARED, CPP): keep $(CC).  [ruby-core:28912]</div><div class='del'>-</div><div class='del'>-Wed Mar 24 14:33:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): limit read size to 16KB if the file</div><div class='del'>-	  seems to be console.  [ruby-core:28902]</div><div class='del'>-</div><div class='del'>-Wed Mar 24 10:18:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): set length of string before calling</div><div class='del'>-	  rb_enc_check because rb_enc_check scans its content.</div><div class='del'>-	  This prevents warnings by valgrind.</div><div class='del'>-</div><div class='del'>-Tue Mar 23 23:58:51 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Incorporating the fixes from the recent</div><div class='del'>-	  FasterCSV releases:  1.5.2 and 1.5.3.  New parser</div><div class='del'>-	  by Tim Elliott.  [ruby-core:25038]</div><div class='del'>-</div><div class='del'>-Tue Mar 23 18:35:46 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_singleton_class): new method</div><div class='del'>-	  Kernel#singleton_class.  [ruby-core:21702]</div><div class='del'>-</div><div class='del'>-Tue Mar 23 01:13:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: use rsock_ prefix for internal initialization functions.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 20:32:22 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_location): return attr's location if it is setup.</div><div class='del'>-	  [Feature #2084]</div><div class='del'>-</div><div class='del'>-	* NEWS: follow above.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): save attr's location.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_method_entry): mark attr's location.</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_definition_t): add member to save attr's location.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): follow above.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_eq): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 19:31:06 2010  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (Date#&gt;&gt;): fixed.  [ruby-core:28011]</div><div class='del'>-</div><div class='del'>-Mon Mar 22 18:01:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RMDIRS): use rmdir -p if possible.</div><div class='del'>-</div><div class='del'>-	* Makefile.in ({dist,real}clean-ext): fix for removing ext</div><div class='del'>-	  directories.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 09:06:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/.document: extracted from ext/.document.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 00:50:33 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_revlookup_flag): declared.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 00:01:24 2010  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config.h): RUBY_EXEC_PREFIX defined.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 00:46:29 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form_component):</div><div class='del'>-	  convert strings of HTML5 ASCII incompatible encoding</div><div class='del'>-	  to UTF-8.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form_component):</div><div class='del'>-	  "\x83\x41" of Shift_JIS should be encoded as "%83A".</div><div class='del'>-	  This follows real implementations.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form_component):</div><div class='del'>-	  use given encoding for force_encoding. [ruby-dev:40721]</div><div class='del'>-</div><div class='del'>-Sun Mar 21 21:09:17 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb: specify super class for rdoc.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 19:52:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): add autoclose argument to control close</div><div class='del'>-	  at finalization.  [ruby-core:26222]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_autoclose_p, rb_io_set_autoclose): new methods.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 19:50:04 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: make sources rdoc friendly.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 17:57:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (IO_RBUF_CAPA_FOR): use large buffer as cbuf if readconv is</div><div class='del'>-	  needed for performance improvement.  based on a patch by Roger Pack</div><div class='del'>-	  in [ruby-core:28163].  [ruby-core:28162]</div><div class='del'>-</div><div class='del'>-Sun Mar 21 17:14:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: reuse hash object.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 12:32:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_compile_tree): make</div><div class='del'>-	  valid_encoding mandatory unless from_encoding is registered in</div><div class='del'>-	  ValidEncoding.</div><div class='del'>-	  (transcode_tbl_only): ditto.</div><div class='del'>-	  (transcode_tblgen): ditto.</div><div class='del'>-	  (ValidEncoding): new function.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: specify valid_encoding.</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji_sjis_docomo.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji_iso2022_kddi.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/big5.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji_sjis_softbank.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji_sjis_kddi.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/chinese.trans: use ValidEncoding() instead of</div><div class='del'>-	  ValidEncoding[].</div><div class='del'>-</div><div class='del'>-Sun Mar 21 09:43:01 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (IO_[CRW]BUF_CAPA_MIN): replaced magic numbers.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 09:22:10 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_hash): use LONG2FIX to avoid Bignum allocation.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 22:51:46 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): use UCHAR_MAX.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 19:16:42 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ActionMap.unambiguous_action): use</div><div class='del'>-	  Array#delete.</div><div class='del'>-	  (ActionMap.merge2): defined.</div><div class='del'>-	  (ActionMap::PostMemo): removed.</div><div class='del'>-	  (transcode_compile_tree): use ActionMap.merge2.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 13:26:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): the array is already unique if the</div><div class='del'>-	  length is zero or one.</div><div class='del'>-	  (rb_ary_uniq): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 12:30:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib: fixed typo.  a patch by Sho Hashimoto in [ruby-dev:40716].</div><div class='del'>-</div><div class='del'>-Sat Mar 20 11:32:18 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (each_firstbyte_range): tuned for less</div><div class='del'>-	  method calls.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 00:59:50 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/pack.rb (DL#pack): allow LLP64.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 05:26:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): don't call method for each byte.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 21:24:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby): link $(NORMALMAINOBJ).</div><div class='del'>-</div><div class='del'>-Thu Mar 18 19:52:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: scan singleton mappings sequentially.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 06:28:32 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_EXEC_PREFIX): added to config.h.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): TMP_RUBY_PREFIX should be</div><div class='del'>-	  exec_prefix, not rubylibprefix.  [ruby-core:28718]</div><div class='del'>-</div><div class='del'>-	* version.c (RUBY_LIB_PREFIX): fallback to RUBY_EXEC_PREFIX.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 05:58:27 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_{to_i,mod,divmod,div2}):</div><div class='del'>-	  removed unused variables.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 04:40:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): get rid of type-punning cast.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 02:29:42 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_body): add mark to jump table hash of case.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 00:58:27 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): Add support for Hexadecimal</div><div class='del'>-	  floating-point expression [ruby-dev:40650] #2969</div><div class='del'>-</div><div class='del'>-Thu Mar 18 00:00:58 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.{en,de}code_www_form_component):</div><div class='del'>-	  renamed from URI.{en,de}code_www_component. [ruby-dev:40672]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form_component): %-encoded</div><div class='del'>-	  element should have always two hex.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form_component):</div><div class='del'>-	  better treatment for ASCII incompatible encodings and</div><div class='del'>-	  encodings whose lead byte may use 7bit.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form_component): add %20.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form_component): add</div><div class='del'>-	  result's encoding as 2nd argument.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form): added.</div><div class='del'>-</div><div class='del'>-Wed Mar 17 16:25:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): allow recursive key.  [ruby-core:24648]</div><div class='del'>-</div><div class='del'>-Wed Mar 17 06:39:59 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (rb_warning, rb_sys_warning): fixed typo in rdoc.</div><div class='del'>-	  [ruby-core:28696]</div><div class='del'>-</div><div class='del'>-Wed Mar 17 02:29:46 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c, ruby.c, vm.c, vm_core.h, vm_eval.c: add absolute</div><div class='del'>-	  path field into rb_iseq_t.  The field contains a string representing</div><div class='del'>-	  a path to corresponding source file. or nil when the iseq is created</div><div class='del'>-	  from -e, stdin, eval, etc.  This field is used for require_relative.</div><div class='del'>-	  [ruby-dev:40004]</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require_relative): add C implementation of</div><div class='del'>-	  require_relative.</div><div class='del'>-</div><div class='del'>-	* prelude.rb (require_relative): get rid of Ruby implementation of</div><div class='del'>-	  require_relative.</div><div class='del'>-</div><div class='del'>-Wed Mar 17 01:24:01 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): prohibit Symbol with an invalid encoding.</div><div class='del'>-	  [ruby-core:24621]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb: modify a test for above.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 22:51:11 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: specialize for singleton mappings.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 20:13:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji.trans: added codepoints leading 0xf4 into</div><div class='del'>-	  nomap_table.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 17:33:30 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpCtoV): keep e's sign.</div><div class='del'>-	  When e doesn't over flow e * BASE_FIG but overflow e * 10,</div><div class='del'>-	  e will overflow.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 17:18:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_str_conv_enc_opts): missing prototype.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 15:20:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tmpdir: split from lib/tmpdir.rb.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_system_tmpdir): extracted from init_env.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getcwd): removed duplicated code.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 14:06:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_TO_ENCINDEX): suppress warnings.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 14:03:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RSHIFT): parenthesize the argument of cast instead</div><div class='del'>-	  of the result.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 11:23:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): ignore dname if it has different</div><div class='del'>-	  drive letter or UNC.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 07:16:56 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: redundant loop removed.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 07:01:43 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: refactored to use tree as memo key.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 04:05:13 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: more info in generating macro names.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 21:58:03 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: ActionMap#each_firstbyte inlined.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 21:22:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_tblgen): add valid_encoding</div><div class='del'>-	  optional argument.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans use valid_encoding argument for</div><div class='del'>-	  transcode_tblgen.</div><div class='del'>-</div><div class='del'>-	* enc/trans/chinese.trans: ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 18:33:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (default_rand): removed initial buffer.</div><div class='del'>-</div><div class='del'>-	* random.c (Init_RandomSeed): initialize seed of default random.</div><div class='del'>-</div><div class='del'>-	* random.c (Init_RandomSeed2): turn the seed to Bignum object.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 17:28:30 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_print): RDoc update.  a patch from Daniel Kelley</div><div class='del'>-	  in [ruby-core:28643].</div><div class='del'>-</div><div class='del'>-Mon Mar 15 14:06:07 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (next_state): no initialization here.</div><div class='del'>-</div><div class='del'>-	* random.c (default_mt): always return initialized MT.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 11:49:48 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_reset_random_seed): set seed in this.</div><div class='del'>-	  [ruby-core:28655]</div><div class='del'>-</div><div class='del'>-Mon Mar 15 10:26:02 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: import latest nkf. [master 9306cb0]</div><div class='del'>-	  this also fixes [ruby-dev:40607]</div><div class='del'>-</div><div class='del'>-Mon Mar 15 09:34:17 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_component):</div><div class='del'>-	  call str.to_s at first.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 09:36:22 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/README.SYMBIAN: fixed broken patch and converted to</div><div class='del'>-	  unified diff.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 07:51:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): do not define File::ALT_SEPARATOR on cygwin.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 07:41:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): use same cache.</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_internal): regulate separators in prefix.</div><div class='del'>-	  [ruby-core:28653]</div><div class='del'>-</div><div class='del'>-	* file.c (FILE_ALT_SEPARATOR): separated condition.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 04:41:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_codepoint): read directly when readconv is</div><div class='del'>-	  needed but internal encoding is not set.  [ruby-core:28650]</div><div class='del'>-</div><div class='del'>-Mon Mar 15 04:18:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::{SVN,GIT}#get_revisions):</div><div class='del'>-	  use block argument 'path' to get the path given by super.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 02:43:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (Action#hash): defined.</div><div class='del'>-	  (Action#eql?): ditto.</div><div class='del'>-	  (Action#==): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 01:52:46 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: refactored.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 01:18:31 2010  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (*.pkg): Ruby Core installation separated from standard extensions.</div><div class='del'>-</div><div class='del'>-	* symbian/configure.bat: ditto.</div><div class='del'>-</div><div class='del'>-	* symbian/README.SYMBIAN: ditto.</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config.h): support for 2nd internal drive added.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 00:11:23 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::GIT_SVN#get_revisions) :</div><div class='del'>-	  use block argument 'path' to get the path given by super.</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::GIT#get_revisions):</div><div class='del'>-	  use double quotes for Windows.</div><div class='del'>-	  patched by Vladimir Sizikov [ruby-core:28651]</div><div class='del'>-</div><div class='del'>-Sun Mar 14 22:38:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: consider valid_encoding for max_input.</div><div class='del'>-</div><div class='del'>-Sun Mar 14 15:46:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/emoji.trans: fix nomap_table.</div><div class='del'>-</div><div class='del'>-Sun Mar 14 09:50:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (insn_data_to_s_detail), iseq.c (insn_operand_intern):</div><div class='del'>-	  fixed format specifiers.</div><div class='del'>-</div><div class='del'>-Sun Mar 14 07:20:17 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (EXPAND_PATH_BUFFER): make it back to usascii, to prevent</div><div class='del'>-	  infinite loop on some platform. [ruby-dev:40629]</div><div class='del'>-</div><div class='del'>-Sun Mar 14 02:40:38 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: reject ambiguous mapping.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: remove ambiguous mapping such as</div><div class='del'>-	  \xD6 -&gt; U+05F2 and \xD6\xC7 -&gt; U+FB1F in Windows-1255</div><div class='del'>-</div><div class='del'>-Sat Mar 13 23:48:27 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): should not just copy the encoding</div><div class='del'>-	  from fname.  [ruby-core:28635]</div><div class='del'>-</div><div class='del'>-	* file.c (EXPAND_PATH_BUFFER): set filesystem_encoding, not</div><div class='del'>-	  usascii for path buffer.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 17:48:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: refactored.  fixed changed revision of git.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 15:44:20 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_print): should not print field separator at the end</div><div class='del'>-	  of arguments.  [ruby-talk:358633]</div><div class='del'>-</div><div class='del'>-Sat Mar 13 14:49:55 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_join): remove Enumerable#join. [ruby-core:24786]</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join_1): use #to_ary to detect recursive array.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 12:26:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (MakeOpenFile): finalize fptr to get rid of</div><div class='del'>-	  memory leak.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 11:14:26 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_expanded_load_path): expand paths if any item in $:</div><div class='del'>-	  is not a string.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 10:16:32 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_expanded_load_path): does not expand paths if all</div><div class='del'>-	  the items in $: are absolute paths.  [ruby-core:28113]</div><div class='del'>-</div><div class='del'>-Sat Mar 13 10:03:52 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: fix [Bug #2840] Tk doesn't built in mingw.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 03:24:15 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: show consumed time at last.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 00:44:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): check encoding of suffix.</div><div class='del'>-</div><div class='del'>-Sat Mar 13 00:11:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): mark initial load paths.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (push_all_highest_version_gems_on_load_path):</div><div class='del'>-	  search insertion position by initial load path mark.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.load_path_insert_index): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 21:34:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: emoji encodings.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 17:14:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form): new method to</div><div class='del'>-	  generate URL-encoded form data. [ruby-dev:39246]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_component,</div><div class='del'>-	  URI.decode_www_component): new method for encode/decode</div><div class='del'>-	  a name/value of HTML form.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 17:36:35 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::CGIHandler#do_GET):</div><div class='del'>-	  set binary mode for tempfile.</div><div class='del'>-	  http://pc12.2ch.net/test/read.cgi/tech/1265467681/286</div><div class='del'>-</div><div class='del'>-Fri Mar 12 13:52:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: TMP_RUBY_PREFIX should replace</div><div class='del'>-	  rubylibprefix but not prefix.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 09:43:11 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_signbit): remove condition for signbit because</div><div class='del'>-	  all platforms have signbit from r26871.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 07:25:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): get rid of alloca() for outer string.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 07:17:15 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: suppressed warnings for shortening on</div><div class='del'>-	  platforms where pointer is bigger than int.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 07:15:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe, ruby_init_gems): set and remove</div><div class='del'>-	  TMP_RUBY_PREFIX.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_remove): new function.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: split each preludes.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 07:09:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (config.status): setup MINIRUBY environment for</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 06:48:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: log() is built-in in some compilers and needs</div><div class='del'>-	  proper declaration.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 06:37:13 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/timeout.rb: split from lib/timeout.rb.</div><div class='del'>-</div><div class='del'>-Thu Mar 11 22:35:27 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_round): new method Time#round.  [ruby-dev:40595]</div><div class='del'>-</div><div class='del'>-Thu Mar 11 17:31:59 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): confirm the code range.</div><div class='del'>-</div><div class='del'>-Thu Mar 11 12:14:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/signbit.c: added.</div><div class='del'>-</div><div class='del'>-Thu Mar 11 11:16:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if target_archs has changed.</div><div class='del'>-</div><div class='del'>-Thu Mar 11 01:33:30 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (signbit): allow x64.</div><div class='del'>-</div><div class='del'>-Thu Mar 11 01:04:48 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_clone): sets local_iseq and klass properly.</div><div class='del'>-</div><div class='del'>-Wed Mar 10 21:25:41 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (min_ii, max_ii, minmax_ii): remove wrong optimization that</div><div class='del'>-	  reuses array for yield parameter, which caused unexpected behavior.</div><div class='del'>-	  [ruby-core:25989]</div><div class='del'>-</div><div class='del'>-Wed Mar 10 12:10:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/x_emoji.h: renamed from enc/x-emoji.c.</div><div class='del'>-</div><div class='del'>-Wed Mar 10 04:17:08 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr), insns.def (defined): fix to pass a Symbol</div><div class='del'>-	  object such as :$foo for the "defined?($foo)" expression</div><div class='del'>-	  on defined instruction.  This patch fixes ISeq#to_a/load.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 20:50:09 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_method.rb: delete a residual test for dl on libffi.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 18:00:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/EMOJI/*.src, enc/trans/emoji*,</div><div class='del'>-	  enc/x-emoji.c, test/ruby/enc/test_emoji.rb,</div><div class='del'>-	  tool/enc-emoji-citrus-gen.rb, tool/enc-emoji4unicode.rb,</div><div class='del'>-	  tool/jisx0208.rb, tool/test/test_jisx0208.rb:</div><div class='del'>-	  new encodings to support emoji charsets, which are used by</div><div class='del'>-	  Japanese mobile phones [ruby-dev:40528].</div><div class='del'>-	  Thanks Yoji Shidara for a lot of contribution.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: modified for enc-emoji4unicode.rb.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 14:57:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ActionMap#generate_node):</div><div class='del'>-	  remove useless dup.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_tbl_only): remove duplicated</div><div class='del'>-	  method call for encode_utf8.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 14:55:00 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_to_s): remove unused variable.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 12:17:34 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (StrSet#parse, ActionMap#generate_node):</div><div class='del'>-	  optimization (reusing object and improving memoize).</div><div class='del'>-	  [ruby-dev:40582]</div><div class='del'>-</div><div class='del'>-Sun Mar  7 02:27:03 2010  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c [DLN_NEEDS_ALT_SEPARATOR] (translit_separator): small typo</div><div class='del'>-	  fixed.</div><div class='del'>-</div><div class='del'>-	* symbian/setup (*.pkg): Shared library installation path fixed to</div><div class='del'>-	  match changes in version.c.</div><div class='del'>-</div><div class='del'>-	* symbian/setup (ruby.mmp): SOURCE dln_find.c added.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 23:14:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pack): use DIGSPERLONG and BITSPERDIG.</div><div class='del'>-	  (rb_big_unpack): use DIGSPERLONG.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 19:21:10 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Fix documentation for each/each_line/lines, bytes/each_byte,</div><div class='del'>-	  codepoints/each_code_point [ruby-core:23948]</div><div class='del'>-</div><div class='del'>-	* string.c: ditto</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: ditto</div><div class='del'>-</div><div class='del'>-Sun Mar  7 13:49:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: add optional basedir argument for realpath/realdirpath.</div><div class='del'>-	  (realpath_internal): handle basedir.</div><div class='del'>-	  (rb_file_s_realpath): extract basedir from argument list.</div><div class='del'>-	  (rb_file_s_realdirpath): extract basedir from argument list.</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (realpath): pass basedir.</div><div class='del'>-	  (realdirpath): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 02:05:38 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_set_filesystem_encoding):</div><div class='del'>-	  filesystem encoding on Mac OS X is now</div><div class='del'>-	  default external encoding. so Mac OS X is now</div><div class='del'>-	  treated as one of Unix. [ruby-dev:40439]</div><div class='del'>-</div><div class='del'>-	* file.c (file_path_convert): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 22:07:09 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: fix the prototype of rb_big2ulong_pack.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 13:45:37 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_write, rb_io_s_binwrite): delete File#write and</div><div class='del'>-	  #binwrite.  It may take a long time to make them stable, so 1.9.2</div><div class='del'>-	  should not include them.  We need refactoring to implement them</div><div class='del'>-	  again.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: delete tests for them.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 10:03:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_binwrite): use mode "r+b" instead of "ab" to handle</div><div class='del'>-	  offset correctly.  [ruby-core:28517]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: use assert_equal instead of assert.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 01:08:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): VC6 has __int64.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 19:36:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_opts): set :undef =&gt; :replace when</div><div class='del'>-	  :replace is given and :invalid is not given. [ruby-dev:40554]</div><div class='del'>-</div><div class='del'>-Fri Mar  5 17:51:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): suppressed a warning.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_map_errno, winnt_stat, rb_chsize): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn): get rid of overflow.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 11:59:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (signbit): defined on mingw.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 22:49:42 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): avoid line number 0 when setting</div><div class='del'>-	  $DEBUG=true.  [ruby-dev:39116]</div><div class='del'>-</div><div class='del'>-Thu Mar  4 22:45:02 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_write, io_s_binwrite): add File#write and #binwrite.</div><div class='del'>-	  [ruby-core:21701]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Mon Mar  4 13:14:34 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_total_time): add GC::Profiler.total_time.</div><div class='del'>-	  [ruby-core:27169]</div><div class='del'>-</div><div class='del'>-	* NEWS: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 10:15:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (m_log, m_exp): remove unused functions.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 02:34:59 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb (TestEnv#test_select_bang): add tests.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 02:29:52 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (TestHash#test_keep_if): fix typo.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 00:10:54 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (HEX2): extracted from regexps.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 23:16:32 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_real_check): raise TypeError instead of</div><div class='del'>-	  ArgumentError when argument is not a real as expected</div><div class='del'>-	  [ruby-core:28395]</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_int_check): ditto (for integers)</div><div class='del'>-</div><div class='del'>-Wed Mar  3 23:07:08 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#each): Return self and optimization</div><div class='del'>-	  [ruby-core:28405]</div><div class='del'>-</div><div class='del'>-Wed Mar  3 18:35:55 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_select_bang): add #select! and keep_if to Hash.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_select_bang): ..and to ENV.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 15:54:20 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#each2, collect2): small refactoring.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 16:14:24 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#each): make Vector enumerable.</div><div class='del'>-	  [ruby-core:28405]</div><div class='del'>-</div><div class='del'>-Wed Mar  3 14:28:23 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select_bang): select! removes all elements for</div><div class='del'>-	  which block returns false.  [ruby-core:27286]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_keep_if): #keep_if, new method.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 06:19:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (signbit): defined.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, symbian/setup (config.h): pack.c requires</div><div class='del'>-	  SIZEOF_INT*_T now.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 21:16:48 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints):</div><div class='del'>-	  change to alias to each_*, in similar way to ARGF and String.</div><div class='del'>-	  [ruby-core:23948]</div><div class='del'>-</div><div class='del'>-Tue Mar  2 15:54:40 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (noname_disable_map): add NT_ANCHOR case.</div><div class='del'>-	  Without this change, captured groups in anchors (look-ahead,</div><div class='del'>-	  look-behind, and so on) are not removed and</div><div class='del'>-	  unintended invalid backref error occur. [ruby-core:28235]</div><div class='del'>-</div><div class='del'>-	* regcomp.c (renumber_by_map): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 14:42:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_closure.rb: forget to revert at r26764.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 14:29:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext_safe, rb_find_file_safe): skip argument</div><div class='del'>-	  checks in file_expand_path().</div><div class='del'>-</div><div class='del'>-Tue Mar  2 13:54:44 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: Fix lgamma test</div><div class='del'>-</div><div class='del'>-Mon Mar  1 23:26:56 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_open): refine the path for master IO.</div><div class='del'>-</div><div class='del'>-Mon Mar  1 20:07:06 2010  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer_into): remove compare</div><div class='del'>-	  different type values warning.</div><div class='del'>-</div><div class='del'>-Mon Mar  1 17:42:45 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw): do not detect snprintf/vsnprintf.</div><div class='del'>-</div><div class='del'>-Mon Mar  1 16:54:21 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: updated to follow Oniguruma 5.9.2.</div><div class='del'>-</div><div class='del'>-	* re.c (make_regexp): use onig_new() instead of onig_alloc_init().</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_to_s): ditto.</div><div class='del'>-Sun Feb 28 21:32:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): raise on error when fail is</div><div class='del'>-	  non-zero.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 18:58:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (rb_eMathDomainError): new exception class</div><div class='del'>-	  for representing mathematical domain error instead</div><div class='del'>-	  of Errno::EDOM.</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check, infinity_check): removed,</div><div class='del'>-	  no longer needed.</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2, math_acos, math_asin, math_acosh,</div><div class='del'>-	  math_atanh, math_log, math_log2, math_log10, math_sqrt,</div><div class='del'>-	  math_gamma, math_lgamma): mathematical domain errors</div><div class='del'>-	  are checked and raised before calling libm's functions.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: updated for changes of math.c.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 15:07:28 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): use union to avoid pointer cast.</div><div class='del'>-	  (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 11:49:35 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* openssl/ossl.c (OSSL_IMPL_SK2ARY): for OpenSSL 1.0.</div><div class='del'>-	  patched by Jeroen van Meeuwen at [ruby-core:25210]</div><div class='del'>-	  fixed by Nobuyoshi Nakada [ruby-core:25238],</div><div class='del'>-	  Hongli Lai [ruby-core:27417],</div><div class='del'>-	  and Motohiro KOSAKI [ruby-core:28063]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c (pkcs7_get_certs, pkcs7_get_crls):</div><div class='del'>-	  split pkcs7_get_certs_or_crls.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 11:42:55 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/{test_x509cert.rb,openssl,test_x509crl.rb,</div><div class='del'>-	  test_x509req.rb}:</div><div class='del'>-	  fix false positive tests because of OpenSSL spec change.</div><div class='del'>-	  patched by originally Hongli Lai [ruby-core:27417],</div><div class='del'>-	  and fixed by Motohiro KOSAKI [ruby-core:28063]</div><div class='del'>-</div><div class='del'>-Sun Feb 28 11:21:03 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/{test_x509cert.rb,openssl,test_x509req.rb}:</div><div class='del'>-	  remove false positive tests because of OpenSSL spec change.</div><div class='del'>-	  patched by Motohiro KOSAKI [ruby-core:28063]</div><div class='del'>-	  see also [ruby-dev:40077]</div><div class='del'>-</div><div class='del'>-Sun Feb 28 11:25:16 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): generalized integer packer implemented.</div><div class='del'>-	  (pack_unpack): generalized integer unpacker implemented.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 06:58:53 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swap32): use __builtin_bswap32 on gcc 4.3.0 or later.</div><div class='del'>-	  (swap64): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 00:38:18 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: use integer types with explicit size.</div><div class='del'>-</div><div class='del'>-Sat Feb 27 15:54:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: check assumption on QUAD_SIZE and SIZEOF_LONG.</div><div class='del'>-</div><div class='del'>-	* bignum.c: check assumption on SIZEOF_LONG and SIZEOF_BDIGITS.</div><div class='del'>-</div><div class='del'>-Sat Feb 27 03:48:18 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: fix q and Q for big endian environments which have no</div><div class='del'>-	  8 bytes integer type.</div><div class='del'>-	  (pack_pack): use rb_big_pack.</div><div class='del'>-	  (pack_unpack): use rb_big_unpack.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big_pack): declared.</div><div class='del'>-	  (rb_big_unpack): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pack): new function.</div><div class='del'>-	  (rb_big_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 21:36:51 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: fix rb_quad_pack and rb_quad_unpack for environments</div><div class='del'>-	  which don't have 8bytes integer type.  This still depends on little</div><div class='del'>-	  endian.</div><div class='del'>-	  (rb_quad_pack): use quad_buf_complement.  don't raise for large</div><div class='del'>-	  values.</div><div class='del'>-	  (rb_quad_unpack): use quad_buf_complement.</div><div class='del'>-	  (quad_buf_complement): new function extracted from rb_quad_pack.</div><div class='del'>-	  add one after bitwise negation.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 21:29:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RSHIFT): add parenthesis to suppress warning.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 20:51:47 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c, ext/socket/udpsocket.c: avoid illegal cast</div><div class='del'>-	  from void-returning function to VALUE-returning one.  It causes SEGV</div><div class='del'>-	  on RubySpec with mingw32.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 20:07:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (QUAD_SIZE): it should be always 8.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_quad_pack): use LONG_LONG version only if</div><div class='del'>-	  SIZEOF_LONG_LONG == QUAD_SIZE.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 16:49:29 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swap64): fix for VC6.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 14:17:09 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack, pack_unpack): suppressed warnings.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 07:44:51 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl: revert dl with libffi because it can't run on mswin now.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 22:59:46 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: consider DYNAMIC_ENDIAN.  refactored.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 11:17:01 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_expt): use Float#** when Rational ** Float.</div><div class='del'>-	  This fixes Rational(3,1)**3.0=&gt;26.99999999999999 on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_fexpt): removed.</div><div class='del'>-	  Note that this function is not static but is private.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 00:43:57 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: Change the operand type of setinlinecache</div><div class='del'>-	  (OFFSET to IC).  This IC must be same as corresponding</div><div class='del'>-	  getinlinecache instruction's IC operand.</div><div class='del'>-	  This change is for a little performance improvement</div><div class='del'>-	  (getting IC directly) and is for the AOT compilation development.</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c, insns.def: Change the approach to handling inline</div><div class='del'>-	  cache (IC) type operand to enable the above change.</div><div class='del'>-	  This change also affects ISeq#to_a method.  The inline cache operand</div><div class='del'>-	  will be dumped by fixnum, the index of inline cache, in other words,</div><div class='del'>-	  inline cache identity.</div><div class='del'>-</div><div class='del'>-	* template/insns_info.inc.tmpl, tool/instruction.rb: No need to count</div><div class='del'>-	  inline cache size (insn_iclen()).</div><div class='del'>-</div><div class='del'>-Thu Feb 25 00:57:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swap64): don't redefine.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 00:29:55 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): don't use OFF32 for gcc 4.5.</div><div class='del'>-</div><div class='del'>-Wed Feb 24 22:39:15 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: fix [ruby-core:28320] reported by Paul Clegg.</div><div class='del'>-	  (Resolv::DNS::Requester#request): raise ResolvTimeout</div><div class='del'>-	  consistently for timeout.</div><div class='del'>-</div><div class='del'>-Wed Feb 24 14:38:16 2010  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/indexer: Removed obsolete files.</div><div class='del'>-</div><div class='del'>-Wed Feb 24 11:52:05 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (translit_separator): moved back from load.c again.</div><div class='del'>-</div><div class='del'>-	* dln_find.c: split from dln.c.</div><div class='del'>-</div><div class='del'>-Wed Feb 24 09:31:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/extconf.rb: use OpenSSL only when all transform</div><div class='del'>-	  functions are available.</div><div class='del'>-</div><div class='del'>-Wed Feb 24 00:39:17 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new_empty): String#split, partition, rpartition</div><div class='del'>-	  taints the resulting strings if self is tainted.</div><div class='del'>-</div><div class='del'>-Mon Feb 22 21:35:33 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2init.c: test OpenSSL more strictly.</div><div class='del'>-</div><div class='del'>-Mon Feb 22 11:52:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: update to 1.3.6.</div><div class='del'>-</div><div class='del'>-Mon Feb 22 11:21:18 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2: Use OpenSSL's SHA1 engine if available.</div><div class='del'>-</div><div class='del'>-Sun Feb 21 21:20:17 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile, install_files): honor srcprefix</div><div class='del'>-	  argument if given.  [ruby-dev:40449]</div><div class='del'>-</div><div class='del'>-Sun Feb 21 13:29:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/rubygems_version.rb: outdated.  [ruby-core:28275]</div><div class='del'>-</div><div class='del'>-Sun Feb 21 06:24:12 2010  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config.h): HAVE_STRUCT_TIMEZONE, VOID_UNSETENV, and RUBY_LIB_VERSION_STYLE defined.</div><div class='del'>-	* symbian/setup (ruby.mmp): SOURCE node.c added.</div><div class='del'>-</div><div class='del'>-Mon Feb 22 09:15:45 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): lost comment added.</div><div class='del'>-</div><div class='del'>-Sat Feb 20 14:42:19 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): should prepare placeholder before</div><div class='del'>-	  processing instance variables.  [ruby-dev:40414]</div><div class='del'>-</div><div class='del'>-	* marshal.c (id2encidx): no longer need arg.</div><div class='del'>-</div><div class='del'>-Sat Feb 20 14:36:16 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each): use called_id when method definition</div><div class='del'>-	  structure is already freed.  [ruby-dev:40234] [ruby-core:27959]</div><div class='del'>-</div><div class='del'>-Fri Feb 19 00:04:19 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbServer#stop_service): join killed thread to</div><div class='del'>-	  ensure service stops.  [ruby-dev:40441]</div><div class='del'>-</div><div class='del'>-Thu Feb 18 22:31:15 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atanh): raise ERANGE without calling atanh if absolute</div><div class='del'>-	  value is 1 to achieve platform-independent math.  [ruby-core:28219]</div><div class='del'>-</div><div class='del'>-	* math.c (math_lgamma): return [Infinity, 1] without calling lgamma_r</div><div class='del'>-	  if argument is infinity or -infinity.  [ruby-core:28219]</div><div class='del'>-</div><div class='del'>-Thu Feb 18 22:28:00 2010  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: new --with-ext and --with-out-ext options for extmk.</div><div class='del'>-	* tool/mkconfig.rb: normalizing --with-out-ext to --without-ext.</div><div class='del'>-</div><div class='del'>-Thu Feb 18 21:50:00 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): call PACK_ITEM_ADJUST for 'Q'.</div><div class='del'>-</div><div class='del'>-Thu Feb 18 02:14:26 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread, io_getpartial, io_read, io_sysread): by using lock,</div><div class='del'>-	  prohibit modification of buffer string during read (which had caused</div><div class='del'>-	  EFAULT or SEGV).  [ruby-dev:40437]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: rewrite tests for the old behavior.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 21:34:01 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (setup_tree, onig_compile): optimize .* at last by</div><div class='del'>-	  converting into (?&gt;.*), which does not backtrack.  [ruby-core:27791]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 21:26:53 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_normal_exit): add :timeout option.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 17:05:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): removed unused variable.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_frametype_name): define only when VMDEBUG.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 15:34:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl_conversions.c (rb_dl_type_to_ffi_type): support signed</div><div class='del'>-	  long long.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_inspect): get rid of overflow.</div><div class='del'>-</div><div class='del'>-	* ext/dl/closure.c (dlc_callback, rb_dlclosure_init): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_malloc): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/method.c (rb_dlfunction_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 01:16:12 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_update): always raise an exception when adding a new</div><div class='del'>-	  key during iteration.  Traditionally, an exception was raised only</div><div class='del'>-	  when rehash occurs, but it may lead to difficult bug to reproduce.</div><div class='del'>-	  [ruby-core:23614]</div><div class='del'>-</div><div class='del'>-Tue Feb 16 22:09:27 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (chain_finalized_object): fix precedence.</div><div class='del'>-</div><div class='del'>-Tue Feb 16 21:32:01 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): always run finalizer at exit,</div><div class='del'>-	  before object is free'd.  [ruby-dev:40382]</div><div class='del'>-</div><div class='del'>-Tue Feb 16 20:56:39 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_group_member): renamed from group_member.</div><div class='del'>-	  don't use group_member() in glibc because it's not valgrind clean.</div><div class='del'>-	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570047</div><div class='del'>-</div><div class='del'>-Tue Feb 16 19:19:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): convert signed value to</div><div class='del'>-	  unsigned.</div><div class='del'>-</div><div class='del'>-Tue Feb 16 19:02:59 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_{base,handle}.rb: use more verbose assertions.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_import.rb (DL::LIBC::BoundQsortCallback): renamed</div><div class='del'>-	  to get rid of overwriting warning.</div><div class='del'>-</div><div class='del'>-Tue Feb 16 11:03:19 2010  Aaron Patterson  &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/method.c: Adding DL::Method as a superclass for DL::Function</div><div class='del'>-</div><div class='del'>-Mon Feb 15 23:37:30 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: check lseek error by errno.  NetBSD 4.0.1 may return -1 as</div><div class='del'>-	  a file position of tty.</div><div class='del'>-</div><div class='del'>-Mon Feb 15 23:08:56 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore#initialize): initialize @thread_safe.</div><div class='del'>-	  [ruby-core:27853]</div><div class='del'>-</div><div class='del'>-Mon Feb 15 22:45:26 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): don't access ptr-&gt;hash after func call.</div><div class='del'>-	  It may access freed area.</div><div class='del'>-</div><div class='del'>-Mon Feb 15 22:25:16 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zlib_mem_alloc): suppress valgrind warnings.</div><div class='del'>-	  http://www.zlib.net/zlib_faq.html#faq36</div><div class='del'>-</div><div class='del'>-Mon Feb 15 22:18:49 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_add): propagate fixed time offset.</div><div class='del'>-</div><div class='del'>-Mon Feb 15 17:42:20 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (USE_SIGALTSTACK): NetBSD can't use sigaltstack(2)</div><div class='del'>-	  with pthread.</div><div class='del'>-	  http://netbsd.gw.com/cgi-bin/man-cgi?sigaltstack++NetBSD-current</div><div class='del'>-</div><div class='del'>-Mon Feb 15 13:11:47 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_push_m): use rb_ary_modify instead of</div><div class='del'>-	  rb_ary_modify_check. This fixes regression due to r26632.</div><div class='del'>-</div><div class='del'>-Sun Feb 14 12:54:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): removed duplicated entry for regexp.</div><div class='del'>-	  [ruby-dev:40416]</div><div class='del'>-</div><div class='del'>-Sun Feb 14 04:45:31 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): register regexp object before encoding</div><div class='del'>-	  name.  [ruby-dev:40414]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_alloc, rb_reg_init_str): split from rb_reg_new_str.</div><div class='del'>-</div><div class='del'>-Sat Feb 13 17:07:20 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): RDoc update.  a patch from Hugh Sasse.</div><div class='del'>-	  [ruby-core:28128]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_compact_bang): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 13 15:01:24 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (id2encidx): duplicated entry for encoding name.</div><div class='del'>-	  [ruby-dev:40388]</div><div class='del'>-</div><div class='del'>-Sat Feb 13 12:17:52 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::Remover): new class to replace</div><div class='del'>-	  Tempfile.callback.  port r24902 from Ruby 1.8.</div><div class='del'>-</div><div class='del'>-Fri Feb 12 17:55:21 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): fixed typo.</div><div class='del'>-</div><div class='del'>-Fri Feb 12 02:27:39 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#initialize, Set#replace, Set#merge)</div><div class='del'>-	  (Set#subtract, Set#&amp;): Fix duck type tests. [ruby-core:28078]</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#initialize, Set#replace, Set#merge)</div><div class='del'>-	  (Set#subtract, Set#&amp;): Try #each if #each_entry fails.</div><div class='del'>-</div><div class='del'>-Thu Feb 11 20:43:00 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_oflags_modestr): return "r" for O_RDONLY|O_APPEND.</div><div class='del'>-	  [ruby-dev:40379]</div><div class='del'>-</div><div class='del'>-Thu Feb 11 19:19:21 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/alloca.c: s/RUBY_LIB/RUBY_LIB_PREFIX/ [ruby-dev:40395]</div><div class='del'>-</div><div class='del'>-Thu Feb 11 17:52:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): reset thread state before restarting vm loop</div><div class='del'>-	  from catch scope.  [ruby-core:28129], [ruby-core:28143]</div><div class='del'>-</div><div class='del'>-Thu Feb 11 14:43:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): read sequentially since marshal source</div><div class='del'>-	  may not be possible to rewind.  [ruby-dev:40386]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): replace non-1.8 escapes directly.</div><div class='del'>-</div><div class='del'>-Thu Feb 11 09:49:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: fix [ruby-core:28144] reported by Hans de Graaff.</div><div class='del'>-	  (Resolv::DNS#make_requester): pass nameserver_port to</div><div class='del'>-	  UnconnectedUDP.new.</div><div class='del'>-	  (Resolv::DNS.bind_random_port): change the is_ipv6 argument to</div><div class='del'>-	  bind_host.</div><div class='del'>-	  (Resolv::DNS::Requester#initialize): change instance variable to</div><div class='del'>-	  store multiple sockets.</div><div class='del'>-	  (Resolv::DNS::Requester#request): pass readable sockets to</div><div class='del'>-	  recv_reply.</div><div class='del'>-	  (Resolv::DNS::Requester#close): close all sockets.</div><div class='del'>-	  (Resolv::DNS::Requester::UnconnectedUDP#initialize): allocate</div><div class='del'>-	  a socket for each address family of name servers.</div><div class='del'>-	  (Resolv::DNS::Requester::UnconnectedUDP#recv_reply): read from the</div><div class='del'>-	  passwd readable socket.</div><div class='del'>-	  (Resolv::DNS::Requester::UnconnectedUDP#sender): use appropriate</div><div class='del'>-	  socket for the target nameserver.</div><div class='del'>-	  (Resolv::DNS::Requester::ConnectedUDP): follow the instance variable</div><div class='del'>-	  change.</div><div class='del'>-	  (Resolv::DNS::Requester::TCP#sender): ditto.</div><div class='del'>-	  (Resolv::DNS::Config#nameserver_port): new method.</div><div class='del'>-</div><div class='del'>-Thu Feb 11 01:45:04 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): temporarily revert r26628, which causes SEGV when</div><div class='del'>-	  executing rubyspec.</div><div class='del'>-</div><div class='del'>-Wed Feb 10 16:31:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_push_m, rb_ary_unshift_m, rb_ary_aset),</div><div class='del'>-	  (rb_ary_insert, rb_ary_replace, rb_ary_concat),</div><div class='del'>-	  (rb_ary_uniq_bang, rb_ary_flatten_bang): check if frozen after</div><div class='del'>-	  wrong number of arguments but before TypeError.</div><div class='del'>-	  [ruby-core:28140]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_replace): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_replace): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 10 04:06:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): reset thread state before starting vm loop.</div><div class='del'>-	  [ruby-core:28129]</div><div class='del'>-</div><div class='del'>-Tue Feb  9 23:48:25 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): fix precision too.</div><div class='del'>-</div><div class='del'>-Tue Feb  9 23:26:07 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): fix precision.</div><div class='del'>-	  [ruby-core:17472][ruby-dev:35372][ruby-dev:40105][ruby-dev:40358]</div><div class='del'>-</div><div class='del'>-Tue Feb  9 22:23:27 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (READ_CHECK): do not select fd before reading, that had made</div><div class='del'>-	  TCPServer#gets stuck.  [ruby-dev:40317]</div><div class='del'>-</div><div class='del'>-Tue Feb  9 21:27:38 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#initialize): REXML::Text.new checks</div><div class='del'>-	  raw text for illegal characters without entity check, for the sake</div><div class='del'>-	  of 1.8 compatibility.  This had caused rubyspec error.</div><div class='del'>-</div><div class='del'>-Mon Feb  8 23:49:24 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): wrong calculation of new position</div><div class='del'>-	  from rb_str_coderange_scan_restartable().  [ruby-core:28103]</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  8 21:03:53 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): obtain the scope_id</div><div class='del'>-	  of IPv6 link local address on OpenSolaris.</div><div class='del'>-</div><div class='del'>-Mon Feb  8 16:27:57 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dmyversion.c: empty load path in miniruby.</div><div class='del'>-</div><div class='del'>-	* common.mk (COMPILE_PRELUDE): rbconfig is loaded on demand.</div><div class='del'>-</div><div class='del'>-	* tool/eval.rb, win32/{mkexports,resource}.rb: miniruby no longer</div><div class='del'>-	  contains "." in $:.</div><div class='del'>-</div><div class='del'>-Mon Feb  8 15:15:07 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): call initialize_clone hook method to</div><div class='del'>-	  call initialize_copy.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_dup): call initialize_dup hook.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#initialize_clone): use new hook to</div><div class='del'>-	  implement deep copy.  [ruby-dev:40242]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#initialize_dup): ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_delegate.rb (TestDelegateClass#test_copy_frozen): add</div><div class='del'>-	  a test to ensure #clone copies frozen status.</div><div class='del'>-</div><div class='del'>-Mon Feb  8 10:28:58 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check pthread_attr_getstack to prevent obsolete</div><div class='del'>-	  warning for pthread_attr_getstackaddr.</div><div class='del'>-</div><div class='del'>-Sun Feb  7 23:12:34 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: sort files for syntax validation.</div><div class='del'>-</div><div class='del'>-Sun Feb  7 23:08:53 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: sort test files.</div><div class='del'>-</div><div class='del'>-Sun Feb  7 12:53:12 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::FileList::ARRAY_METHODS): fix test failure by &lt;=&gt;</div><div class='del'>-	  definition at Kernel.</div><div class='del'>-</div><div class='del'>-Sun Feb  7 03:01:46 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_lgamma): initialize sign because</div><div class='del'>-	  lgamma(NaN) doesn't set the sign in OpenSolaris.</div><div class='del'>-</div><div class='del'>-Sun Feb  7 00:23:21 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_init_copy): raise a TypeError if the argument is</div><div class='del'>-	  BasicObject.  [ruby-core:27060]</div><div class='del'>-</div><div class='del'>-Sat Feb  6 23:37:11 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (initialize): set @sock to a NullSocket instance to</div><div class='del'>-	  raise FTPConnectionError when not connected.   [ruby-dev:40258]</div><div class='del'>-</div><div class='del'>-Sat Feb  6 23:25:57 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/view2.rb: replaced with Hugh Sasse's version.</div><div class='del'>-	  [ruby-core:27894]</div><div class='del'>-</div><div class='del'>-Sat Feb  6 22:57:00 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (receive_responses): does not hang when an</div><div class='del'>-	  unexpected BYE response received.  fixed [ruby-core:27944].</div><div class='del'>-	  Thanks, Bob Potter.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 21:31:23 2010  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb (wait): supported timeout.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb (test_exception_during_idle): use timeout.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 19:35:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: fix require path.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 12:02:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#method_missing),</div><div class='del'>-	  (Delegator.delegating_block): don't hide backtrace from</div><div class='del'>-	  __getobj__ and reduced exception messages when $DEBUG.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 11:35:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (ip_addr, ip_peeraddr),</div><div class='del'>-	  ext/socket/socket.c (sock_s_getaddrinfo): added optional</div><div class='del'>-	  reverse_lookup flag.  [ruby-core:28007]</div><div class='del'>-</div><div class='del'>-Sat Feb  6 01:55:02 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): pads with \000 when the</div><div class='del'>-	  current position is after the end.  [ruby-dev:40271]</div><div class='del'>-</div><div class='del'>-Sat Feb  6 01:14:54 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/purelib.rb, common.mk: to simulate ruby command more precisely,</div><div class='del'>-	  remove "." from $: of virtual environment for build and test.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 00:02:31 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): don't use O_NOFOLLOW because</div><div class='del'>-	  /dev/urandom is a symlink in OpenSolaris.</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.random_bytes): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb  5 16:38:08 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator): include copy of Kernel.</div><div class='del'>-	  [ruby-dev:40314]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#{dup,clone}): class of copy should be</div><div class='del'>-	  Delegator.  [ruby-dev:40313]</div><div class='del'>-</div><div class='del'>-Fri Feb  5 09:26:54 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_op): remove unused variables.</div><div class='del'>-</div><div class='del'>-Fri Feb  5 02:06:57 2010  Aaron Patterson  &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: Struct members are emitted without a leading</div><div class='del'>-	  colon.  Thanks Yusuke Endoh! [ruby-core:28052]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_struct.rb: fixed tests to go with Struct changes</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: fixed tests to go with Struct changes</div><div class='del'>-</div><div class='del'>-Fri Feb  5 00:34:24 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_gt, big_ge, big_lt, big_ge): added Bignum#&gt;, &gt;=, &lt; and</div><div class='del'>-	  &lt;= to allow to compare with BigDecimal.  [ruby-dev:40167]</div><div class='del'>-</div><div class='del'>-Thu Feb  4 15:47:27 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_init_stack): use get_stack.</div><div class='del'>-	  patched by KOSAKI Motohiro [ruby-dev:40309]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): use get_stack</div><div class='del'>-	  on platforms which have pthread_attr_get_np.</div><div class='del'>-	  (FreeBSD, DragonFlyBSD and NetBSD)</div><div class='del'>-	  This is because FreeBSD and DragonFly BSD must use</div><div class='del'>-	  pthread_attr_get_np to get stack size of main thread,</div><div class='del'>-	  but Mac OS X and Linux with LinuxThreads must use getrlimit.</div><div class='del'>-	  &lt;http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html&gt;</div><div class='del'>-	  &lt;http://d.hatena.ne.jp/nurse/20100204&gt;</div><div class='del'>-</div><div class='del'>-Thu Feb  4 09:55:38 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: FreeBSD, DragonFly BSD and OpenBSD needs</div><div class='del'>-	  pthread_np.h to use pthread_*_np functions.</div><div class='del'>-	  OpenBSD's pthread_*_np also depend sys/signal.h,</div><div class='del'>-	  but it is included at signal.h via vm_core.h via thread.c.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 08:15:53 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator): now inherits BasicObject.</div><div class='del'>-	  [ruby-dev:39154], [Bug #2679], [ruby-dev:40242]</div><div class='del'>-</div><div class='del'>-Thu Feb  4 03:00:59 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): get red of</div><div class='del'>-	  floating point exception.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 01:24:01 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): fix infinity</div><div class='del'>-	  handling.  1 / Infinity was evaluated to NaN.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 00:37:43 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump, time_mload): dump/load utc_offset.</div><div class='del'>-	  [ruby-dev:40063]</div><div class='del'>-</div><div class='del'>-Wed Feb  3 22:22:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for non-portable stack attribute functions.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 20:10:52 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb: pass block argument to outer local</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 20:08:05 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): rb_path_last_separator may return NULL.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 13:15:24 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: DragonFlyBSD is also the same as FreeBSD</div><div class='del'>-	  on getting the stack size of the main thread.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 12:30:10 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): use pthread_get_attr_np</div><div class='del'>-	  to get the stack size of the main thread on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: include pthread_np.h on FreeBSD.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 11:38:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/{closure,function}.c: removed C99 features and warnings.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 10:12:09 2010  Aaron Patterson  &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/function.c: DL::Function now uses libffi</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dl_set_last_error): set to non static so errors</div><div class='del'>-	  can be exposed.</div><div class='del'>-</div><div class='del'>-	* ext/dl/closure.c: DL::Closure will now be used in place of</div><div class='del'>-	  ext/dl/callback/*.</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c: legacy callbacks removed in favor of libffi</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl_conversions.(c,h): used for converting ruby types to FFI</div><div class='del'>-	  types.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/*: replaced by libffi callbacks.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/callback.rb: Converting internal callbacks to use</div><div class='del'>-	  DL::Closure</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/closure.rb: Ruby parts of the new DL::Closure object</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/import.rb: More conversion to use DL::Closure object</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/value.rb (ruby2ffi): adding private method for</div><div class='del'>-	  DL::CPtr to ffi value conversion.</div><div class='del'>-</div><div class='del'>-Tue Feb  2 18:15:12 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: turn on do_not_reverse_lookup by default,</div><div class='del'>-	  which has been reverted in r9880 probably unintentionally,</div><div class='del'>-	  according to matz.  [ruby-core:24530]</div><div class='del'>-</div><div class='del'>-Tue Feb  2 14:46:06 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: move implementation of each_slice, each_cons,</div><div class='del'>-	  each_with_object to enum.c.</div><div class='del'>-</div><div class='del'>-	* enum.c (each_slice_i): convert multiple values from yield into</div><div class='del'>-	  an array.</div><div class='del'>-</div><div class='del'>-	* enum.c (each_cons_i): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (each_with_object_i): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  2 14:30:27 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_entry): new method #each_entry to pack values</div><div class='del'>-	  from yield into an array.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#merge): use Enumerable#each_entry to implement</div><div class='del'>-	  Set compatible to 1.8 behavior.  [ruby-core:27985]</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: replace is_a?(Enumerable) with respond_to?(:each)</div><div class='del'>-	  for duck typing.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (SortedSet#add): typo fixed.</div><div class='del'>-</div><div class='del'>-Tue Feb  2 11:13:56 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#marshal_dump): exclude</div><div class='del'>-	  delegator-specific instance variables.</div><div class='del'>-</div><div class='del'>-Mon Feb  1 21:26:41 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#each2): returns a self.  [ruby-dev:40241]</div><div class='del'>-</div><div class='del'>-Mon Feb  1 17:08:42 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_minus): RDoc update.  a patch from red stun</div><div class='del'>-	  in [ruby-core:27951]</div><div class='del'>-</div><div class='del'>-Mon Feb  1 07:36:33 2010  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: fix SEGV on TkUtil::CallbackSubst._setup_subst_table.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: [ruby1.9] fix freeze at exit.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: [POTENTIAL INCOMPATIBLE] return NoMethodError</div><div class='del'>-	  for TkWindow#to_ary and to_str.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tcllib/plotchart.rb: wrong arguments.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkballoonhelp.rb: fail to support TkEntry widgets.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 23:20:43 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_codepoint): use cbuf when needs readconv.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 23:07:23 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: use string instead of symbol as file name.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 22:41:33 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value): fix the previous commit.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 21:43:35 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value): make no exception for Symbol.</div><div class='del'>-	  [ruby-dev:40274]</div><div class='del'>-</div><div class='del'>-Sun Jan 31 21:10:15 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw): fixed infinite loop.  [ruby-core:27969]</div><div class='del'>-</div><div class='del'>-Sun Jan 31 21:29:58 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#initialize): do Text.check only when</div><div class='del'>-	  parent is specified, since Text.check may need doctype.  partially</div><div class='del'>-	  revert r26518.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 15:50:34 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#initialize): fix typo and a bug that</div><div class='del'>-	  seems to be caused by refactoring.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 15:46:37 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parent.rb (REXML::Parent#delete): return the deleted node</div><div class='del'>-	  because the rdoc of REXML::Element#delete_element says it returns</div><div class='del'>-	  "the element that was removed."  [REXMLTracker#161]</div><div class='del'>-</div><div class='del'>-Sun Jan 31 14:33:00 2010  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: A bug fix for deleting blank Table rows from Andy Hartford.</div><div class='del'>-</div><div class='del'>-Sun Jan 31 13:31:43 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): free rb_classext_t of eigenclass.  [Bug #1392]</div><div class='del'>-</div><div class='del'>-Sun Jan 31 13:00:14 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#add): fix duplicate XMLDecls</div><div class='del'>-	  and bad DocTypes in REXML::Document.    (Bug #19058) [ruby-core:27979]</div><div class='del'>-	  based on the patch by Federico Builes.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 22:49:21 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb (set_options): ensure that the type of argument is</div><div class='del'>-	  Array, restoring this check that was deleted at r10239.  This caused</div><div class='del'>-	  rubyspec error.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 12:59:33 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw): needs $(DEFFILE) for extension libraries.</div><div class='del'>-	  [ruby-core:27946]</div><div class='del'>-</div><div class='del'>-Fri Jan 29 11:09:49 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_do): log no source when no development env.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): srcprefix always needs $(srcdir).</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): yield configuration if a block is</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 09:43:30 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans (buf_shift_char): don't see uninitialized</div><div class='del'>-	  value. [ruby-dev:40233]</div><div class='del'>-</div><div class='del'>-Fri Jan 29 01:42:24 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#initialize_copy): use initialize_copy</div><div class='del'>-	  instead of overriding clone/dup.  [ruby-dev:40221]</div><div class='del'>-	  it now always clones the target, it might cause incompatibility.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 01:26:53 2010  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): update RDoc to</div><div class='del'>-	  denote that #to_i raises FloatDomainError for Inf and NaN.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): fast #to_i using</div><div class='del'>-	  BigDecimal_split().</div><div class='del'>-</div><div class='del'>-	* bignum.c (conv_digit): use faster ISDIGIT() assuming ASCII.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 00:18:54 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: set autoload to CGI::HtmlExtension.  [ruby-dev:40194]</div><div class='del'>-</div><div class='del'>-Thu Jan 28 09:44:19 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_compile): initialize ScanEnv.</div><div class='del'>-	  mainly to initialize env-&gt;warnings_flag [ruby-dev:40196]</div><div class='del'>-</div><div class='del'>-	* regparse.c (scan_env_clear): clear warnings_flag.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 23:33:21 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_matrix.rb, test/matrix/test_vector.rb: add some</div><div class='del'>-	  tests.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 23:29:36 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable#wait, signal, broadcast): return</div><div class='del'>-	  self (for 1.8 compatibility).</div><div class='del'>-</div><div class='del'>-Wed Jan 27 23:27:54 2010  Keiju Ishitsuka  &lt;keiju@emperor2.pendome&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: add exception Matrix::ErrOperationNotImplemented</div><div class='del'>-	  [ruby-dev:40149].</div><div class='del'>-	* lib/matrix.rb: change message of exception</div><div class='del'>-	  Matrix::ErrOperationNotDefined [ruby-dev:40150], [ruby-dev:40176].</div><div class='del'>-	* lib/matrix.rb: add method Vector#/ [ruby-dev:40151].</div><div class='del'>-	* lib/matrix.rb(Matrix::Scalar#+,-,/): delete meaningless when</div><div class='del'>-	  switch. [ruby-dev:40149]</div><div class='del'>-</div><div class='del'>-Wed Jan 27 23:22:54 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (bugreport_backtrace): trivial change.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): uninitialized local variable i.</div><div class='del'>-	  [ruby-dev:40169]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_segv_test):</div><div class='del'>-	  follow above change.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 23:20:52 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb</div><div class='del'>-	  (TestException#test_thread_signal_location):</div><div class='del'>-	  change test method name.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 22:48:40 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (determinant): fix name error.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 22:26:25 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_backtrace): "circular require" warning was output to</div><div class='del'>-	  stdout except the first line.  All line is output to stderr now.</div><div class='del'>-	  [ruby-dev:40147]</div><div class='del'>-</div><div class='del'>-Wed Jan 27 00:22:20 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod, BigDecimal_mod,</div><div class='del'>-	  BigDecimal_divmod, BigDecimal_div2): BigDecimal#% and #div returned</div><div class='del'>-	  an array itself that was returned by #divmod.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 00:19:30 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpCtoV): do not raise infinity</div><div class='del'>-	  exception for BigDecimal("0E200000000000").</div><div class='del'>-</div><div class='del'>-Tue Jan 26 21:50:31 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpCtoV): BigDecimal("0E200000000000")</div><div class='del'>-	  was Infinity, not 0.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 21:36:22 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: test unsetenv returns a value.</div><div class='del'>-	  unsetenv is void in older BSDs (FreeBSD 6 and OpenBSD 4.5 at least).</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): don't use the result of unsetenv if unsetenv</div><div class='del'>-	  doesn't return a value.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 21:32:03 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: suppress a warning.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 20:23:22 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_invoke_proc): this function must not catch TAG_RETURN</div><div class='del'>-	  because vm_exec does.  This caused rubyspec error.  [ruby-dev:40158]</div><div class='del'>-</div><div class='del'>-Tue Jan 26 20:21:28 2010  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/eq.rb: fix circular require in drb.</div><div class='del'>-	  reported by akr. see [ruby-dev:40156] [ruby-core:27661]</div><div class='del'>-</div><div class='del'>-Tue Jan 26 19:59:17 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzfile_s_wrap): add rdoc. [Bug #2656]</div><div class='del'>-	  patched by Hugh Sasse [ruby-core:27692] [ruby-core:27852]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/doc/zlib.rd: removed.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 16:43:34 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: fix rdoc. (length -&gt; bytesize)</div><div class='del'>-	  reported by Kornelius Kalnbach. see [ruby-core:27792]</div><div class='del'>-</div><div class='del'>-Tue Jan 26 07:06:05 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: suppress warnings.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 03:16:45 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c, vm_core.h, eval.c: because rb_protect must not be jumped by</div><div class='del'>-	  callcc, revert r26407.  And rename trap_tag to protect_tag and</div><div class='del'>-	  change exception message (across trap -&gt; across stack rewinding</div><div class='del'>-	  barrier).</div><div class='del'>-</div><div class='del'>-Mon Jan 25 23:08:10 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): wrong conditions.  [ruby-core:27753]</div><div class='del'>-</div><div class='del'>-Mon Jan 25 22:31:53 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: use method_defined? instead of</div><div class='del'>-	  instance_methods.include?.</div><div class='del'>-</div><div class='del'>-Mon Jan 25 22:08:20 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_cont_call, cont_restore_1): remove trap_tag check because</div><div class='del'>-	  it seems not to make sense.  [ruby-dev:40121]</div><div class='del'>-</div><div class='del'>-	* vm_core.h, eval.c (rb_protect): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 25 21:43:05 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: fix the check if instance method `ruby' is</div><div class='del'>-	  defined or not.</div><div class='del'>-</div><div class='del'>-Mon Jan 25 21:17:32 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_segv_test): add a test for</div><div class='del'>-	  bugreport trace dumper.</div><div class='del'>-</div><div class='del'>-Mon Jan 25 17:47:02 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_check): needs WNOHANG to poll, return $?, and</div><div class='del'>-	  call raise_from_check() with pid_t.  [ruby-dev:40141]</div><div class='del'>-</div><div class='del'>-Mon Jan 25 17:36:11 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.c (RUBY_LIB, RUBY_*_LIB): moved from configures.</div><div class='del'>-</div><div class='del'>-Mon Jan 25 12:11:45 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (USE_SIGALTSTACK): only when SA_SIGINFO also is</div><div class='del'>-	  available.  see [ruby-core:27768].</div><div class='del'>-</div><div class='del'>-Mon Jan 25 12:02:34 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c, file.c, io.c, signal.c: add __HAIKU__.</div><div class='del'>-	  patched by Alexander von Gluck [ruby-core:27767]</div><div class='del'>-</div><div class='del'>-Mon Jan 25 11:45:47 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check): ignore errno if y is inf.</div><div class='del'>-	  r26335 is because NetBSD 5.0's asin and acos returns</div><div class='del'>-	  0.0 with errno EDOM. But it breaks Linux whose gamma returns inf</div><div class='del'>-	  with errno ERANGE on.</div><div class='del'>-</div><div class='del'>-Sun Jan 24 22:48:05 2010  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about</div><div class='del'>-	  return and c-return trace.  This issue skips (c-)return event</div><div class='del'>-	  with global jump such as break or return.  This fix make vm invoke</div><div class='del'>-	  hooks at stack rewind timing.  fix [ruby-core:27606] [Bug #2610].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sun Jan 24 14:21:48 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen_cr): increment by rb_enc_mbminlen(enc) for</div><div class='del'>-	  broken byte sequence.  [ruby-core:27748]</div><div class='del'>-	  (rb_str_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 24 05:18:34 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): unlock all locking mutexes</div><div class='del'>-	  before clean up.  [ruby-core:26877]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork): no other threads to be joined.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_lock_unlock, rb_thread_lock_destroy):</div><div class='del'>-	  new functions.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): unlock and destroy global VM lock.</div><div class='del'>-</div><div class='del'>-Sun Jan 24 00:31:39 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb: fix typo.</div><div class='del'>-	  patched by Hal Brodigan [ruby-core:21536]</div><div class='del'>-</div><div class='del'>-Sun Jan 24 00:02:18 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/to_html_crossref.rb: fix failure of the test.</div><div class='del'>-	  patched by Tomoyuki Chikanaga and nobu [ruby-core:20564]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 23:27:12 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): add rdoc by Roger Pack. [ruby-core:27669]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 23:12:56 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/html.rb (RDoc::Generator::HTML#gen_into):</div><div class='del'>-	  make the rdoc(generating html) run faster and use less memory.</div><div class='del'>-	  patch by Tetsu Soh [ruby-core:27656]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 19:54:48 2010  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE.ole_initialize,</div><div class='del'>-	  WIN32OLE.ole_uninitialize to use in win32ole.rb.</div><div class='del'>-	  You must not use these methods.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/lib/win32ole.rb: add win32ole.rb</div><div class='del'>-	  re-define Thread#initialize (fix ruby-core:27634)</div><div class='del'>-</div><div class='del'>-Sat Jan 23 00:25:19 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/coverage.rb: preserve exit status.</div><div class='del'>-</div><div class='del'>-Sat Jan 23 00:21:18 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: get rid of debug print.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: fixed to make test-all work.</div><div class='del'>-</div><div class='del'>-Fri Jan 22 23:54:04 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add a test for Array#rotate, rotate!.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb, test/ruby/test_fnmatch.rb: add some tests</div><div class='del'>-	  (for coverage of dir.c).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb: add a test for Enumerable#minmax.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: add some tests for Enumerator#inspect,</div><div class='del'>-	  Enumerator::Generator and Yielder.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: add a test for ENV#index.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: add some tests (for coverage of</div><div class='del'>-	  error.c).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add a test for recursive check.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: add a test for number of argument of</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test for define_method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add a test for constant of included</div><div class='del'>-	  module.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add a test for parameters with cfunc.</div><div class='del'>-</div><div class='del'>-Fri Jan 22 23:50:03 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb, test/ruby/test_symbol.rb,</div><div class='del'>-	  test/ruby/test_variable.rb: add some tests (for coverage of</div><div class='del'>-	  compile.c).</div><div class='del'>-</div><div class='del'>-Fri Jan 22 21:05:34 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): add submicro into vtm.subsecx.  [ruby-dev:40133]</div><div class='del'>-</div><div class='del'>-Fri Jan 22 14:26:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc): needs encodings and exts.</div><div class='del'>-</div><div class='del'>-Fri Jan 22 14:16:18 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add missing comma.</div><div class='del'>-</div><div class='del'>-Fri Jan 22 01:07:16 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb, test/ruby/test_class.rb,</div><div class='del'>-	  test/ruby/test_defined.rb, test/ruby/test_hash.rb,</div><div class='del'>-	  test/ruby/test_primitive.rb, test/ruby/test_variable.rb: add some</div><div class='del'>-	  tests (for coverage).</div><div class='del'>-</div><div class='del'>-Fri Jan 22 01:03:28 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_define_class): expect TypeError</div><div class='del'>-	  instead of NameError.  [ruby-core:27504]</div><div class='del'>-</div><div class='del'>-Thu Jan 21 15:09:35 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: some tidy.</div><div class='del'>-</div><div class='del'>-Thu Jan 21 11:15:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_rotate): new methods, Array#rotate! and</div><div class='del'>-	  Array#rotate.  [ruby-dev:17194]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reverse_m): copy directly.</div><div class='del'>-</div><div class='del'>-Thu Jan 21 09:38:00 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use AS_CASE instead of when, to get rid of</div><div class='del'>-	  an unintentional substitution.</div><div class='del'>-</div><div class='del'>-Thu Jan 21 08:45:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_disasm): check for proc first.  based on the</div><div class='del'>-	  patch by Roger Pack in [ruby-core:27626].  [ruby-core:27227]</div><div class='del'>-</div><div class='del'>-Wed Jan 20 16:09:59 2010  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (compile.$(OBJEXT)): dependencies lacking.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_cfunc): invalid initializer for C89</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_insns_unification): int might be smaller than int*</div><div class='del'>-</div><div class='del'>-Tue Jan 19 20:00:30 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::Config.default_config_hash): return an</div><div class='del'>-	  empty hash when resolv.conf is not available.  [ruby-core:27620]</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Config#lazy_initialize): fixed the</div><div class='del'>-	  defaults of nameserver and port.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 14:29:16 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (clean-ext): allow glob patterns.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 14:19:26 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/{extconf.rb, zlib.c): crc32_combine and adler32_combine is</div><div class='del'>-	  supported on Zlib 1.2.2.1, so check them for old zlib.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 09:03:37 2010  Aaron Patterson  &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: added Zlib.crc32_combine and Zlib.adler32_combine</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb: corresponding tests [ruby-core:27551]</div><div class='del'>-</div><div class='del'>-Tue Jan 19 02:02:32 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add some tests (for coverage).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 01:57:12 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: some coerce definitions (for test) was</div><div class='del'>-	  wrong.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 01:53:11 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub_int): remove nonsense loop.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 01:42:36 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (top_compstmt, top_stmts, top_stmt): prohibit BEGIN {} in</div><div class='del'>-	  non-toplevel scope.  [ruby-core:21657]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_begininclass): add a test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Mon Jan 18 17:16:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb (make_partial_content):</div><div class='del'>-	  add bytes-unit.  [ruby-dev:40030]</div><div class='del'>-</div><div class='del'>-Mon Jan 18 15:49:42 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPHeader#{content_range,range_length}):</div><div class='del'>-	  use inclusive range same as the header representation.</div><div class='del'>-</div><div class='del'>-Mon Jan 18 03:59:57 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_hexdigest_bang): Fix</div><div class='del'>-	  rdoc.</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest::Class.base64digest)</div><div class='del'>-	  (Digest::Instance#base64digest{,!}): New methods.</div><div class='del'>-</div><div class='del'>-Sun Jan 17 22:48:44 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_digest)</div><div class='del'>-	  (rb_digest_instance_hexdigest): Save a method call of reset()</div><div class='del'>-	  for a disposable clone.</div><div class='del'>-</div><div class='del'>-Sun Jan 17 19:24:25 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check): check errno first.</div><div class='del'>-	  NetBSD 5.0's asin and acos returns 0.0 with errno EDOM.</div><div class='del'>-</div><div class='del'>-Sun Jan 17 14:24:35 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (rb_str_derive): use long.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): suppress a warning.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_signedness): new method.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_header, create_header): use String#tr_cpp.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 13:06:58 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_hash, int_chr): fixed type.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 12:50:37 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): fixed range check for Fixnum, and</div><div class='del'>-	  added checks for integer overflow and invalid char code.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 09:34:31 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): raise RangeError when the argument is</div><div class='del'>-	  negative value. [ruby-core:27583]</div><div class='del'>-</div><div class='del'>-Thu Jan 14 08:49:59 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_r): convert to rational if internal representation</div><div class='del'>-	  is not rational.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 04:01:50 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump): use nano_num and nano_den instead of subnano to</div><div class='del'>-	  avoid Rational class in marshaled data which prevent unmarshal by</div><div class='del'>-	  Ruby 1.8.</div><div class='del'>-	  (time_mload): use nano_num and nano_den.</div><div class='del'>-</div><div class='del'>-Wed Jan 13 11:57:38 2010  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_initialize): Make sure BasicObject doesn't get</div><div class='del'>-	  initialized twice [ruby-core:27577]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_init_copy): ditto</div><div class='del'>-</div><div class='del'>-Wed Jan 13 06:54:44 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for if struct timezone is defined.</div><div class='del'>-</div><div class='del'>-	* missing.h (struct timezone): define if not defined.</div><div class='del'>-</div><div class='del'>-	* win32/win32.h (struct timezone): defined in the newer w32api.</div><div class='del'>-	  [ruby-core:27515]</div><div class='del'>-</div><div class='del'>-Wed Jan 13 00:33:09 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb: fix typo by Sho Hashimoto.</div><div class='del'>-	  reported and patched at [ruby-dev:40058] [Bug #2599]</div><div class='del'>-</div><div class='del'>-Tue Jan 12 23:48:29 2010  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb, test/rss/test_maker_0.9.rb:</div><div class='del'>-	  accept any time format in maker. [ruby-core:26923]</div><div class='del'>-</div><div class='del'>-Tue Jan 12 21:56:00 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_set_len): call rb_str_modify.</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): don't call rb_str_modify before</div><div class='del'>-	  rb_str_set_len.</div><div class='del'>-</div><div class='del'>-Tue Jan 12 20:44:14 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_internal): call rb_secure.</div><div class='del'>-</div><div class='del'>-Tue Jan 12 16:48:46 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.start): options may not be given.</div><div class='del'>-</div><div class='del'>-Tue Jan 12 16:48:03 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): check if instream</div><div class='del'>-	  is closed instead of fd 0.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): use STDIN for input.</div><div class='del'>-	  Reported by Sora Harakami. See</div><div class='del'>-	  http://d.hatena.ne.jp/codnote/20100111/1263174134</div><div class='del'>-</div><div class='del'>-Tue Jan 12 16:09:02 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_execopts_env): MANDATORY_ENVS might</div><div class='del'>-	  not be a part of ENV.  e.g. TMPDIR.</div><div class='del'>-</div><div class='del'>-Tue Jan 12 14:07:31 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.start): add hash argument to</div><div class='del'>-	  set ssl related options. when use_ssl is set default value</div><div class='del'>-	  of verify_mode is OpenSSL::SSL::VERIFY_PEER. [ruby-dev:40003]</div><div class='del'>-</div><div class='del'>-Tue Jan 12 14:53:07 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): use _wputenv() instead of</div><div class='del'>-	  SetEnvironmentVariableW() because latter doesn't set msvcrt's environ</div><div class='del'>-	  work area, of course.</div><div class='del'>-	  [Bug #2552]</div><div class='del'>-</div><div class='del'>-Tue Jan 12 13:33:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): trace symbolic link only when supporting</div><div class='del'>-	  readlink().</div><div class='del'>-</div><div class='del'>-Tue Jan 12 12:49:39 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-here-doc-beg-match): fix for here-doc</div><div class='del'>-	  which ends with an underscore.</div><div class='del'>-</div><div class='del'>-Tue Jan 12 09:58:03 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: need to include errno.h for EINVAL.</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): fixed typo.  see [ruby-dev:40026]</div><div class='del'>-</div><div class='del'>-Tue Jan 12 09:22:43 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb (require_relative): use File.realpath.  [ruby-dev:40040]</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: declare rb_dir_getwd.</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_dir_getwd): copied from dir_s_getwd to export.</div><div class='del'>-	  (dir_s_getwd): use rb_dir_getwd.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_realpath): new method File.realpath.</div><div class='del'>-	  (rb_file_s_realdirpath): new method File.realdirpath.</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#realpath): use File.realpath.</div><div class='del'>-	  (Pathname#realdirpath): use File.realdirpath.</div><div class='del'>-</div><div class='del'>-Mon Jan 11 22:45:08 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): Improve the emulation of setenv(3) on</div><div class='del'>-	  environments where putenv(3) is used.  Raise EINVAL If a</div><div class='del'>-	  variable name contains an '='.</div><div class='del'>-</div><div class='del'>-Mon Jan 11 18:16:38 2010  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (GET_BLOCK_PTR): return 0 when in class frame.</div><div class='del'>-	  [Bug #2583]</div><div class='del'>-</div><div class='del'>-Mon Jan 11 16:52:05 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_strlen): added. [ruby-dev:40028]</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_strlen): declared.</div><div class='del'>-</div><div class='del'>-Mon Jan 11 13:30:35 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb (WEBrick::AccessLog#format): fixed typo.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::Status#initialize):</div><div class='del'>-	  accept 0 or more arguments.  [ruby-dev:40021]</div><div class='del'>-</div><div class='del'>-Mon Jan 11 12:47:58 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): ENV.[]= should raise an error if setenv(3)</div><div class='del'>-	  or putenv(3) fails.  [ruby-dev:40023]</div><div class='del'>-</div><div class='del'>-Sun Jan 10 17:25:24 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb : Escape needed.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpstatus.rb : ditto.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb : ditto.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb : ditto.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb (TestWEBrickCGI::test_bad_): Test for it.</div><div class='del'>-</div><div class='del'>-Sun Jan 10 04:54:36 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class): raise TypeError same as class</div><div class='del'>-	  statement.  [ruby-core:27504]</div><div class='del'>-</div><div class='del'>-Sun Jan 10 04:41:20 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): needs ARCH_FLAG.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 14:20:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (install-all): maybe typo.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 14:01:14 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): get rid of a warning of VC++ x64.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 08:40:54 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat (WIN32DIR): regularise file separators.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 23:35:18 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): don't check visibility of method body if public</div><div class='del'>-	  ZSUPER method is found.  [ruby-dev:39767]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 22:59:40 2010  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): skip ZSUPER method when searching body of</div><div class='del'>-	  source method.  [ruby-dev:39760]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 21:15:21 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http, lib/net/https: move content from net/https to</div><div class='del'>-	  net/http. [ruby-dev:39986]</div><div class='del'>-</div><div class='del'>-Fri Jan  8 14:06:01 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_read): close the IO if an exception is raised on</div><div class='del'>-	  seeking. [ruby-core:27429]</div><div class='del'>-</div><div class='del'>-Fri Jan  8 13:12:26 2010  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_symbol): dump no encoding for 7bit only coderange</div><div class='del'>-	  symbol.  [ruby-core:27375]</div><div class='del'>-</div><div class='del'>-Thu Jan  7 07:56:09 2010  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.5.0 r5596.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan  5 19:30:53 2010  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: add a test. cf [ruby-dev:39116]</div><div class='del'>-</div><div class='del'>-Tue Jan  5 02:03:34 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DTRACE): clear this when `dtrace -l` fails.</div><div class='del'>-	  Note that current FreeBSD needs privilege to call it;</div><div class='del'>-	  so to use DTrace on FreeBSD, you should run configure as root.</div><div class='del'>-</div><div class='del'>-Mon Jan  4 21:24:18 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: added UNLIKELY to probes for optimization.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan  4 09:30:54 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (TRACING_MODEL): follow yugui's previous changes.</div><div class='del'>-</div><div class='del'>-Mon Jan  4 09:30:25 2010  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (InterlockedExchangePointer): old SDK support.</div><div class='del'>-</div><div class='del'>-Sun Jan  3 23:54:51 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* trace.h: new file. wraps tracing mechanisms.</div><div class='del'>-</div><div class='del'>-	* defs/dtrace.d: new file. defined a dtrace provider "ruby".</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (LIKELY): moved from vm.c.</div><div class='del'>-	  (UNLIKELY): ditto.</div><div class='del'>-	  (OBJSETUP): probe "object-create".</div><div class='del'>-	  (RUBY_EVENT_RESCUE): new event.</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (DEBUG_ENTER_INSN): embedded a probe insn-entry into it.</div><div class='del'>-	  (DEBUG_END_INSN): insn-return.</div><div class='del'>-</div><div class='del'>-	* vm.c (LIKELY): moved into ruby.h.</div><div class='del'>-	  (UNLIKELY): ditto.</div><div class='del'>-	  (Init_BareVM): embedded a probe "raise" into it.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class2name_without_alloc): new utility function.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install?(:ext, :arch, :'ext-arch')): installs</div><div class='del'>-	  dtrace.d if necessary.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (add_signal_thread_list): probe "raise".</div><div class='del'>-	  (rb_thread_create_timer_thread): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_schedule_rec): probes "thread-enter" and</div><div class='del'>-	  "thread-leave",</div><div class='del'>-	  (thread_start_func_2): ditto.</div><div class='del'>-	  (thread_cleanup_func): probe "thread-term"</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: supports dtrace postprocessor on making an extension.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_vm_insn_name): new utility function.</div><div class='del'>-	  (rb_vm_insn_len): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def (hook): probes "method-entry", "method-return", "line",</div><div class='del'>-	  and "rescue".</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): adds a trace op for "rescue" probe.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): probes "gc-begin" and "gc-end".</div><div class='del'>-	  (obj_free): probe "object-free"</div><div class='del'>-	  (garbage_collect_with_gvl): probe "raise"</div><div class='del'>-	  (negative_size_allocation_error): ditto.</div><div class='del'>-	  (rb_memerror): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue2): probe "rescue"</div><div class='del'>-	  (rb_longjmp): probe "raise"</div><div class='del'>-</div><div class='del'>-	* ext/probe/probe.c: new extension for application defined probes.</div><div class='del'>-</div><div class='del'>-	* ext/probe/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-tracing-model): new option to choose a tracing</div><div class='del'>-	  mechanism.</div><div class='del'>-	  (DTRACE): new substitution. name of dtrace(1).</div><div class='del'>-	  (RUBY_TRACING_MODEL): new substitution.</div><div class='del'>-	  (DTRACE_OBJ): ditto.</div><div class='del'>-	  (MINIDTRACE_OBJ): ditto.</div><div class='del'>-	  (GOLFDTRACE_OBJ): ditto.</div><div class='del'>-	  (LIBRUBY_DTRACE_OBJ): ditto.</div><div class='del'>-	  (RUBY_DTRACE_POSTPROCESS): new macro. checks whether the dtrace on</div><div class='del'>-	  the system needs postprocessing.</div><div class='del'>-	  (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether the dtrace</div><div class='del'>-	  supports USDT.</div><div class='del'>-</div><div class='del'>-	* Makefile.in:</div><div class='del'>-	  (DTRACE): new variable. name of dtrace(1).</div><div class='del'>-	  (TRACING_MODEL): new variable. name of the chosen tracing mechanism.</div><div class='del'>-	  (DTRACE_OBJ): same as the one in configure.in.</div><div class='del'>-	  (MINIDTRACE_OBJ): ditto.</div><div class='del'>-	  (GOLFDTRACE_OBJ): ditto.</div><div class='del'>-	  (LIBRUBY_DTRACE_OBJ): ditto.</div><div class='del'>-	  (CPPOUTFILE): new substitution. necessary for generating dtrace.d</div><div class='del'>-	  (trace_none.h): new target for TRACING_MODEL=none</div><div class='del'>-	  (RUBY_H_INCLUDES): appended a header for tracing.</div><div class='del'>-	  (distclean-local): also removes preprocessed version of dtrace.d</div><div class='del'>-	  ($(LIBRUBY_A)): needs $(LIBRUBY_DTRACE_OBJ) if dtrace needs</div><div class='del'>-	  postprocessing.</div><div class='del'>-	  ($(PROGRAM)): ditto.</div><div class='del'>-	  (golf): ditto.</div><div class='del'>-	  (miniruby): ditto.</div><div class='del'>-	  ($(arch_hdrdir)/ruby/dtrace.d): new target. preprocessed version</div><div class='del'>-	  of defs/dtrace.d. generated if necessary.</div><div class='del'>-	  ($(arch_hdrdir)/ruby/trace_dtrace.h): new target.</div><div class='del'>-	  definition of probes.</div><div class='del'>-	  ($(LIBRUBY_DTRACE_OBJ)): new target. generated if dtrace needs</div><div class='del'>-	  postprocessing.</div><div class='del'>-	  ($(DTRACE_OBJ)): ditto.</div><div class='del'>-	  ($(MINIDTRACE_OBJ)): ditto.</div><div class='del'>-	  ($(GOLFDTRACE_OBJ)): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  3 15:34:19 2010  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb: String no longer has #each.</div><div class='del'>-	  Patch by Mitsutaka Mimura (takkanm). [ruby-dev:39949].</div><div class='del'>-</div><div class='del'>-Sun Jan  3 01:29:18 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#inspect):</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-Sat Jan  2 15:57:54 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS#initialize): new option :nameserver_port.</div><div class='del'>-	  (Resolv::DNS#each_resource): pass port number.</div><div class='del'>-	  (Resolv::DNS#make_requester): ditto.</div><div class='del'>-	  (Resolv::DNS::Config#lazy_initialize): initialize @nameserver_port</div><div class='del'>-	  instead of @nameserver.</div><div class='del'>-	  (Resolv::DNS::Config#single?): return port number addition to the</div><div class='del'>-	  nameserver.</div><div class='del'>-	  (Resolv::DNS::Config#generate_timeouts): use @nameserver_port.</div><div class='del'>-	  (Resolv::DNS::Config#resolv): yield port number.</div><div class='del'>-</div><div class='del'>-Sat Jan  2 00:43:22 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (initialize_regexp): allow leading</div><div class='del'>-	  and trailing white space, and forbid extra characters</div><div class='del'>-	  on another lines. [ruby-core:26223]</div><div class='del'>-	  RFC 3986  Appendix C.  Delimiting a URI in Context</div><div class='del'>-	  draft-duerst-iri-bis-07  7.2.  Web Address processing</div><div class='del'>-</div><div class='del'>-Fri Jan  1 23:17:49 2010  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI#normalize!): normalize case of</div><div class='del'>-	  scheme. [ruby-core:27309]</div><div class='del'>-</div><div class='del'>-Fri Jan  1 00:47:57 2010  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_method_unimpl): Suppress</div><div class='del'>-	  compiler warnings.</div><div class='del'>-</div><div class='del'>-Fri Jan  1 00:00:00 2010  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: generate RbConfig.ruby in rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb: use RbConfig.ruby.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/report.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/runc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* tool/eval.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 31 18:18:55 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include addrinfo.h only when using our own</div><div class='del'>-	  getaddrinfo.c.</div><div class='del'>-</div><div class='del'>-Thu Dec 31 14:20:11 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (save_redirect_fd): consider EBADF that the fd is not used.</div><div class='del'>-	  [ruby-dev:39938]</div><div class='del'>-</div><div class='del'>-Thu Dec 31 06:03:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_type): typed.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: fix for wide-getaddrinfo option.</div><div class='del'>-</div><div class='del'>-	* ext/socket/addrinfo.c: rename {addr,name}info functions to ensure</div><div class='del'>-	  those are used on darwin.</div><div class='del'>-</div><div class='del'>-Thu Dec 31 03:27:53 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_thread_destroy): decreased the probability of</div><div class='del'>-	  using the interrupt event in the thread termination.</div><div class='del'>-	  see [ruby-core:27199].</div><div class='del'>-</div><div class='del'>-Thu Dec 31 02:35:57 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_error): should report the function.</div><div class='del'>-</div><div class='del'>-Thu Dec 31 01:58:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: fix for extstatic.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 19:43:00 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RREGEXP_SRC_END): added.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 19:40:00 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (INFINITY): this is float.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (NAN): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_infinity): change content as float.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_nan): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 17:59:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (push_all_highest_version_gems_on_load_path):</div><div class='del'>-	  simplified.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/command_manager.rb (Gem#load_and_instantiate):</div><div class='del'>-	  rescue only NameError from const_get.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/source_index.rb (Gem#load_specification): don't use</div><div class='del'>-	  RUBY_VERSION to branch.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/validator.rb (Gem::TestRunner, Gem#alien): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: Kernel#gem is already defined, and workaround</div><div class='del'>-	  for home directory and custom_require are no longer needed.</div><div class='del'>-</div><div class='del'>-Tue Dec 29 16:03:33 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): Add Float::INFINITY and Float::NAN.</div><div class='del'>-	  [ruby-dev:1657] [ruby-dev:4760] [ruby-list:7023]</div><div class='del'>-	  [ruby-list:46690]</div><div class='del'>-	  [ruby-core:26632] [ruby-talk:41352] [ruby-talk:203333]</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (INFINITY): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (NAN): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h (ruby_div0): removed.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): use INFINITY and NAN</div><div class='del'>-	  instead of ruby_div0(1.0).</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_fdiv): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 29 10:36:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::STANDALONE):</div><div class='del'>-	  any number spaces can be placed between equal-sign and the value.</div><div class='del'>-	  patch from Ed Howland in [ruby-core:27345].</div><div class='del'>-</div><div class='del'>-Mon Dec 28 22:33:58 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): force to inherit standard I/O handles.</div><div class='del'>-	  this change fixes [ruby-core:27273], but other side effects might</div><div class='del'>-	  exist.</div><div class='del'>-</div><div class='del'>-Mon Dec 28 22:00:10 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: added tests for taintness/untrustness</div><div class='del'>-	  propagation.</div><div class='del'>-</div><div class='del'>-Mon Dec 28 18:13:26 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/occur2.rb: reimplemented in modern style. [ruby-dev:39927].</div><div class='del'>-</div><div class='del'>-Mon Dec 28 17:19:37 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/install-sh: correction by Hiro Asari.</div><div class='del'>-	  https://gist.github.com/264558/58ad1cae45cde49600bbb39286af2aae23e639d5</div><div class='del'>-</div><div class='del'>-Mon Dec 28 13:18:52 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/install-sh: wrote the intention. [ruby-dev:39928]</div><div class='del'>-</div><div class='del'>-Sun Dec 27 10:45:00 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (foleparam_initialize): add foleparam_initialize</div><div class='del'>-	  to check argument of WIN32OLE_PARAM.new</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_param.rb (test_s_new): add some assertion</div><div class='del'>-	  to test WIN32OLE_PARAM.new</div><div class='del'>-</div><div class='del'>-Sun Dec 27 09:41:54 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install?(:local, :comm, :bin, :'bin-comm')):</div><div class='del'>-	  Makes it vim friendly.  __END__ in a heredoc is confusing with</div><div class='del'>-	  the script end for vim.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 09:13:55 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/occur2.rb: have been broken. fixed for Ruby 1.9 feature.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 16:32:30 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (eql?): Check the class of the compared object.</div><div class='del'>-	  Based on a patch by Peter McLain [ruby-core:27019]</div><div class='del'>-</div><div class='del'>-Thu Dec 24 15:20:03 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): follow enclen's change.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 12:08:00 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (marshal_dump/load): dump &amp; load instance variables</div><div class='del'>-	  by default [ruby-core:24211]</div><div class='del'>-</div><div class='del'>-Thu Dec 24 10:31:50 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/object.c (rb_obj_cmp): Default &lt;=&gt; operator returns 0 if</div><div class='del'>-	  objects are == [ruby-core:24063]</div><div class='del'>-</div><div class='del'>-Wed Dec 23 09:12:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb (CGIMultipartTest#_prepare):</div><div class='del'>-	  always must be binary mode.  c.f. Bug#2341</div><div class='del'>-</div><div class='del'>-Thu Dec 10 09:20:58 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): undef Encoding.new because</div><div class='del'>-	  a class which is rb_undef_alloc-func-ed can't call new method.</div><div class='del'>-	  [ruby-dev:39862]</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): undef RubyVM.new and RubyVM::Env.new.</div><div class='del'>-</div><div class='del'>-Mon Dec 21 17:51:44 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (optimize_node_left): include equal on the condition of for-loop.</div><div class='del'>-	  This bug also affects original Oniguruma. [ruby-core:27247]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 10:03:33 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_enc_string): follow enclen's change.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_print_compiled_byte_code): ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_print_compiled_byte_code): change prototype.</div><div class='del'>-</div><div class='del'>-	* regint.c (onig_print_compiled_byte_code): comment out.</div><div class='del'>-</div><div class='del'>-Mon Dec 21 08:04:34 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: BasicObject#initialize accepts any number of arguments</div><div class='del'>-	  [ruby-core:27080]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 02:45:46 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): remove SEGV (retry).</div><div class='del'>-</div><div class='del'>-Sun Dec 20 23:18:23 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): remove SEGV (use the original patch).</div><div class='del'>-	  [ruby-dev:39874]</div><div class='del'>-</div><div class='del'>-Sun Dec 20 21:26:05 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): pass current block when the argument bl_proc</div><div class='del'>-	  is NULL.  This behavior can be used to make enumerator faster</div><div class='del'>-	  [ruby-dev:39874]</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_each): pass current block directly instead</div><div class='del'>-	  of trampoline block (enumerator_each_i).</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_line, argf_each_byte, argf_each_char): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 19 14:59:30 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Kernel#gem): should make gem private.  a patch</div><div class='del'>-	  from Sho Hashimoto in [ruby-dev:39838].</div><div class='del'>-</div><div class='del'>-Sat Dec 19 14:57:17 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config): typo fixed.  a patch</div><div class='del'>-	  from Sho Hashimoto in [ruby-dev:39835].</div><div class='del'>-</div><div class='del'>-Sat Dec 19 11:06:48 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (each2,collect2,map2): Fix enumerator</div><div class='del'>-	  [ruby-core:27225]</div><div class='del'>-</div><div class='del'>-Sat Dec 19 09:58:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall): reset method_missing_reason before</div><div class='del'>-	  trying the call.  based on a patch from Yehuda Katz in</div><div class='del'>-	  [ruby-core:27219].</div><div class='del'>-</div><div class='del'>-Sat Dec 19 09:29:22 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Add checks that passed argument is Enumerable.</div><div class='del'>-	  [ruby-core:23844]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 20:28:46 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: fix a typo in assert message.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 16:57:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (httpd): try to convert port number to integer.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 11:18:30 2009  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in(MINIRUBY): use "$BASERUBY" as a default ruby executable</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 00:53:14 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): rescue more exceptions which is possible to</div><div class='del'>-	  occur by other process change the directory tree.</div><div class='del'>-</div><div class='del'>-Tue Dec 15 09:06:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): get rid of race condition.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 22:33:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): rescue only ENOENT and EACCES for lstat.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 21:49:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): narrow rescue region.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 09:20:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): removed already unnecessary code.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 23:48:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): sort directory entries.  [ruby-dev:39847]</div><div class='del'>-</div><div class='del'>-Sun Dec 13 20:55:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (invoke_ruby): call to_str for stdin_data to</div><div class='del'>-	  reject non-string.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 20:26:57 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_parser_dump_tree): add prototype.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 20:55:55 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h, transcode.c, tool/transcode-tblgen.rb: Added</div><div class='del'>-	  support for new transcoding instruction FUNsio (with Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-	* enc/trans/gb18030.trans: Significantly reduced GB18030 conversion</div><div class='del'>-	  table footprint using FUNsio and differences (with Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Minor name fix (from Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-Thu Dec 10 17:22:36 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (yield_under): yields self the same as 1.8.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 15:49:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_mutex_reinitialize_atfork): release and</div><div class='del'>-	  re-acquire the lock at re-initialization.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 12:56:02 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_replicate): add Encoding#replicate(name).</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_replicate_with_index): renamed from old</div><div class='del'>-	  enc_replicate.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_from_encoding_index): split from</div><div class='del'>-	  rb_enc_from_encoding.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 09:15:00 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): CHAR_ESC_LEN should be 13.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 01:12:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_pop_gen): pop dvars.  [ruby-dev:39861]</div><div class='del'>-</div><div class='del'>-Thu Dec 10 00:46:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_node): fixed for long members.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 22:57:04 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.c: node management added.  Currently, only pretty-dumper is</div><div class='del'>-	  implemented.  [ruby-dev:39853]</div><div class='del'>-</div><div class='del'>-	* ruby.c: --dump=parsetree and --dump=parsetree_with_comment options</div><div class='del'>-	  added.  This is just for debug or research purpose.  Note that the</div><div class='del'>-	  compatibility of these options are not supported at all.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 09:50:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): fixed the case a fill size is a</div><div class='del'>-	  multiple of the length of the padding.  [ruby-dev:39856]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 23:41:34 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: now recognize --with-*-{dir,include,lib} options</div><div class='del'>-	  and pass them to mkmf.</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: general conversion from ``/'' to ``\'' of</div><div class='del'>-	  configure_args is not necessary any longer.</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: BASERUBY is used as command, so always need to</div><div class='del'>-	  convert ``/'' to ``\'' within it.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 23:39:52 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq): suppress a warning on VC++ for x64.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 16:19:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: update to 1.3.5.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/defaults.rb (Gem::default_dir): removed a clause</div><div class='del'>-	  doing nothing.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 03:50:24 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): use string form in unknown command error</div><div class='del'>-	  message.</div><div class='del'>-</div><div class='del'>-Mon Dec  7 14:11:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): reverted r26007.  [ruby-dev:39845]</div><div class='del'>-</div><div class='del'>-	* test/test_delegate.rb (test_marshal): moved from test_marshal.rb.</div><div class='del'>-</div><div class='del'>-Mon Dec  7 13:05:59 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): CVE-2009-4124.</div><div class='del'>-	  Fixes a bug reported by</div><div class='del'>-	  Emmanouel Kellinis &lt;Emmanouel.Kellinis AT kpmg.co.uk&gt;, KPMG London;</div><div class='del'>-	  Patch by nobu.</div><div class='del'>-</div><div class='del'>-Sun Dec  6 23:50:46 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: %l should be 1..12 instead of 0..12 [ruby-core:27072]</div><div class='del'>-</div><div class='del'>-Sun Dec  6 23:16:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): reduce stat system call.</div><div class='del'>-</div><div class='del'>-Sun Dec  6 16:02:15 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb: escape filename of index.</div><div class='del'>-	  [ruby-dev:37768]</div><div class='del'>-</div><div class='del'>-Sun Dec  6 00:35:16 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config.h): EXECUTABLE_EXTS moved from</div><div class='del'>-	  dln.c:dln_find_1().</div><div class='del'>-</div><div class='del'>-Sat Dec  5 15:35:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump instance variables when using</div><div class='del'>-	  marshal_dump.   [ruby-core:24211]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_count): added.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 13:19:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: default ac_cv_prog_CC to CC.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 10:18:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/extend-command.rb (def_extend_command): fixed argument</div><div class='del'>-	  number for negative arity.</div><div class='del'>-</div><div class='del'>-Fri Dec  4 16:50:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (k_def): adjust the location of method definition to the</div><div class='del'>-	  line of def.  [Bug #2427]</div><div class='del'>-</div><div class='del'>-Fri Dec  4 19:05:28 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): should respect #respond_to_missing? as</div><div class='del'>-	  #respond_to? does.</div><div class='del'>-</div><div class='del'>-Fri Dec  4 15:50:18 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (yield_under): does not yield self, and passes blockptr</div><div class='del'>-	  instead of &amp;block to vm_cref_push().  [ruby-dev:39833]</div><div class='del'>-</div><div class='del'>-Fri Dec  4 15:15:43 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (num_exact): should not accept strings as operands, even</div><div class='del'>-	  though they respond to #to_r.  ideally, strict rational</div><div class='del'>-	  conversion should be done by a method like #to_rational, not #to_r.</div><div class='del'>-	  [ruby-core:23729]</div><div class='del'>-</div><div class='del'>-Fri Dec  4 13:10:23 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (ungetc): RDoc updated.  trunk allows</div><div class='del'>-	  pushing back behind the beginning of the pseudo stream.</div><div class='del'>-</div><div class='del'>-Fri Dec  4 03:10:38 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_cpath, iseq_compile_each): reverted</div><div class='del'>-	  constant/class variable lookup in instance_eval etc. to the</div><div class='del'>-	  behavior of 1.8.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_nesting): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def (putspecialobject, defineclass): ditto.</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_FL_CREF_PUSHED_BY_EVAL): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_SPECIAL_OBJECT_CONST_BASE): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (yield_under, eval_under): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_cref_push, vm_get_const_base,</div><div class='del'>-	  vm_get_ev_const, vm_get_cvar_base): ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 3 20:27:27 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/gb18030-tbl.rb: Fix omission of C1 region in code table</div><div class='del'>-	  (from Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Added test for converting full range of</div><div class='del'>-	  Unicode codepoints from/to GB18030 (from Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-Wed Dec  2 23:51:28 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: initialize @hostname of SSLSocket to avoid</div><div class='del'>-	  warning at SSLSocket#connect.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 18:01:43 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest_extend.rb: added tests for digest framework.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 12:01:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_push_gen, dyna_pop_gen): no needs to save both of</div><div class='del'>-	  args and vars.  [ruby-core:26961]</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_push_gen): use rb_node_newnode() for ripper.</div><div class='del'>-	  [ruby-core:26961]</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_push_gen, dyna_pop_gen): adjust local vtable level</div><div class='del'>-	  for the case of syntax errors in method name or argument inside</div><div class='del'>-	  do block.   [ruby-core:26961]</div><div class='del'>-</div><div class='del'>-Mon Nov 30 16:57:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (command_output): $makeflags are already quoted.</div><div class='del'>-</div><div class='del'>-Mon Nov 30 16:54:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (EXECUTABLE_EXTS): moved from</div><div class='del'>-	  dln.c:dln_find_1().</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (def find_executable0): use EXECUTABLE_EXTS, not</div><div class='del'>-	  only EXEEXT.  [ruby-core:26821]</div><div class='del'>-</div><div class='del'>-Mon Nov 30 11:00:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): suppress an extra error message after</div><div class='del'>-	  numeric literal without digits.  based on a patch from ujihisa .</div><div class='del'>-	  in [ruby-dev:39811].  [ruby-dev:39798]</div><div class='del'>-</div><div class='del'>-Sun Nov 29 16:56:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall_failed): pass ID.  [ruby-core:26934]</div><div class='del'>-</div><div class='del'>-Sun Nov 29 06:37:53 2009  Aaron Patterson  &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/formatters/default.rb (write_attribute): fix an</div><div class='del'>-	  exception when printing a document when duplicate namespaced</div><div class='del'>-	  attributes exist. Thanks, Alexey Froloff [ruby-core:26837]</div><div class='del'>-</div><div class='del'>-Sat Nov 28 09:05:53 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall_failed): should rescue user raised</div><div class='del'>-	  NoMethodError.  rescue all NoMethodError if receiver does not</div><div class='del'>-	  respond to the method name.  [ruby-dev:39796]</div><div class='del'>-</div><div class='del'>-Thu Nov 26 21:14:30 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb (@unify): fix the detection if math</div><div class='del'>-	  loaded. This makes test_complex.rb work fine with the previous</div><div class='del'>-	  commit.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb (@unify): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 21:13:36 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_mathn.rb (TestMathn): new test case.</div><div class='del'>-	  test for r25067.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 21:11:23 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_config.rb (OpenSSL::TestConfig): new test case.</div><div class='del'>-	  test for r25017.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 21:08:54 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (TestRange#test_comparison_when_recursive):</div><div class='del'>-	  test for r25010.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb (TestStruct#test_comparison_when_recursive):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 20:18:02 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.set_home): must dup before force_encoding</div><div class='del'>-	  and must force_encoding before gsub.</div><div class='del'>-	  cf. Yen Sign problem of SJIS [ruby-core:26910]</div><div class='del'>-</div><div class='del'>-Thu Nov 26 17:54:37 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{configure.bat, setup.mak, Makefile.sub}: add new configure</div><div class='del'>-	  option ``--with-ntver''.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 11:42:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb: use $INCFLAGS to add -I option.  [Bug#2387]</div><div class='del'>-</div><div class='del'>-Thu Nov 26 07:17:58 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (mark_dump_arg): mark str.  see also [ruby-dev:39735]</div><div class='del'>-</div><div class='del'>-Thu Nov 26 00:05:58 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest_extend.rb: Added tests for current digest</div><div class='del'>-	  framework.</div><div class='del'>-</div><div class='del'>-Wed Nov 25 20:46:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_search_method_entry): refine error message.</div><div class='del'>-</div><div class='del'>-Wed Nov 25 19:29:05 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_method_unimpl): Do not</div><div class='del'>-	  call rb_inspect() on an object that does not implement necessary</div><div class='del'>-	  methods; reported by NaHi.</div><div class='del'>-</div><div class='del'>-Wed Nov 25 19:30:30 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: Added a check for an internal error</div><div class='del'>-	  (with Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-Tue Nov 24 22:57:46 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil.invoke_ruby): raise Timeout::Error</div><div class='del'>-	  instead of flunk.  reported by Yusuke Endoh.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 22:31:44 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct, thread_memsize): fix argument type to make</div><div class='del'>-	  RUBY_MARK_FREE_DEBUG available.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 21:25:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: include errno.h at beginning.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 20:11:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: %Y format a year with 4 digits at least.</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: format a year with 4 digits at least.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 20:05:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/known_errors.def: more errors.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 20:01:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_bug_errno): declared.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_strerrno): declaration removed.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_strerrno): make it static.  return NULL for unknown</div><div class='del'>-	  errors.</div><div class='del'>-	  (rb_bug_errno): defined.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: use rb_bug_errno.</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): use rb_bug_errno.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 10:17:38 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_path_convert): fix fs_encoding is not assign.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 10:00:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_strerrno): constified.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 09:49:31 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_strerrno): return "UNKNOWNERROR" for non-zero unknown</div><div class='del'>-	  error.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 09:18:33 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_strerrno): declared.</div><div class='del'>-</div><div class='del'>-	* template/known_errors.inc.tmpl: generate defined_error() and</div><div class='del'>-	  undefined_error() instead of set_syserr.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_syserr): define defined_error() and undefined_error()</div><div class='del'>-	  to follow the above change.</div><div class='del'>-	  (rb_strerrno): defined.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: show error message and errno macro name with</div><div class='del'>-	  rb_bug.</div><div class='del'>-</div><div class='del'>-Mon Nov 23 16:06:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (RUBY_STACK_MIN, RUBY_STACK_SPACE): delay for</div><div class='del'>-	  platforms where PTHREAD_STACK_MIN is not compile time constant.</div><div class='del'>-	  [ruby-dev:39751]</div><div class='del'>-</div><div class='del'>-Mon Nov 23 11:26:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): removed duplication.</div><div class='del'>-</div><div class='del'>-Mon Nov 23 04:12:00 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans (fun_so_universal_newline): generate \n</div><div class='del'>-	  after \r\n detection instead of just after \r.</div><div class='del'>-	  [ruby-list:45988] [ruby-core:25881] [ruby-core:26788]</div><div class='del'>-</div><div class='del'>-Sat Nov 21 18:48:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_search_method_entry): show flags and klass value in</div><div class='del'>-	  not implemented error message.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 16:38:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump): use normal object as the buffer so</div><div class='del'>-	  that no hidden object is exposed to ruby-level.  [ruby-dev:39744]</div><div class='del'>-</div><div class='del'>-Sat Nov 21 15:58:43 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): fix: false negative invalid byte sequence</div><div class='del'>-	  on reading from pipes. [ruby-dev:39743]</div><div class='del'>-	  fix: assign the variable 'pos' as relative value from recent pos.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 14:44:16 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_path_convert): delay getting UTF8-MAC encoding</div><div class='del'>-	  while really needed. [ruby-core:26807]</div><div class='del'>-</div><div class='del'>-Fri Nov 20 21:16:54 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_search_method_entry): avoid trigraph.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 23:17:06 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (putbinaryfile): use APPE for resume.</div><div class='del'>-	  Thanks, Tomoyuki Chikanaga.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 22:50:05 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (flag_list): untaint strings to intern in the safe</div><div class='del'>-	  level 1.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (max_flag_count=): new methods to set the max</div><div class='del'>-	  number of flags interned to symbols.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 20:43:39 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getnameinfo.c: need to include extconf.h for HAVE_* macros.</div><div class='del'>-	  reported by Kenta Murata &lt;mrkn AT mrkn.jp&gt; via IRC.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 17:00:59 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: nmake execute the file named echo if it exists</div><div class='del'>-	  in the PATH.  reported by Kenta Murata &lt;mrkn AT mrkn.jp&gt; via IRC.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 02:50:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_search_method_entry): show the type of the hidden</div><div class='del'>-	  object.</div><div class='del'>-	  (rb_type_str): new function for above.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 00:47:09 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (MORE_CHAR_SUSPENDED): renamed from MORE_CHAR_CBUF_FULL.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 22:00:13 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fill_cbuf): extracted from more_char.</div><div class='del'>-	  (io_shift_cbuf): fix memmove condition.</div><div class='del'>-	  (read_all): use fill_cbuf directly to avoid ECONV_AFTER_OUTPUT.</div><div class='del'>-	  [ruby-dev:39708]</div><div class='del'>-</div><div class='del'>-Wed Nov 18 18:25:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork_internal): reinitialize global lock</div><div class='del'>-	  at fork to get rid of deadlock.  based on the patch from Hongli</div><div class='del'>-	  Lai in [ruby-core:26783].  [ruby-core:23572]</div><div class='del'>-</div><div class='del'>-Wed Nov 18 17:48:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (terminate_atfork_i): all mutex locks by other threads</div><div class='del'>-	  have been abandoned at fork.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 15:27:20 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_path_convert): delay getting filesystem encoding</div><div class='del'>-	  while really needed.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 12:33:42 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_set_default_encoding): reset filesystem</div><div class='del'>-	  encoding because on resetting default_external because</div><div class='del'>-	  Unix's filesystem encoding depends on default_external.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_set_filesystem_encoding): added.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): don't call rb_filesystem_encoding</div><div class='del'>-	  because filesystem encoding is reset when default_external</div><div class='del'>-	  is reset.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 11:57:32 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_gamma): fix incorrect comparison expression.</div><div class='del'>-	  see also [ruby-dev:39709] [Bug #2381]</div><div class='del'>-</div><div class='del'>-Wed Nov 18 11:37:05 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): move path encoding conversion</div><div class='del'>-	  for filesystem encoding of Mac OS X.</div><div class='del'>-</div><div class='del'>-	* file.c (file_path_convert): added for convert encoding</div><div class='del'>-	  of file path.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check): add file_path_convert.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 10:17:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_utf8_nth): no count_utf8_lead_bytes_with_word</div><div class='del'>-	  optimization for short string.  [ruby-core:26787]</div><div class='del'>-</div><div class='del'>-	* string.c (str_utf8_offset): str_utf8_nth never return NULL.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 10:12:34 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_undef): should raise TypeError if klass is nil.</div><div class='del'>-	  1.instance_eval { undef to_s } causes SEGV before this fix.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_undef.rb: new tests for undef.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 08:41:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_utf8_nth): fixed overrun.  [ruby-core:26787]</div><div class='del'>-</div><div class='del'>-Wed Nov 18 07:51:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): fix invalid access.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 23:50:06 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): should raise TypeError if klass is nil.</div><div class='del'>-	  1.instance_eval { alias to_string to_s } causes SEGV before this</div><div class='del'>-	  fix.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb (test_special_const_alias): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 17:53:53 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/big5.c, enc/trans/big5.trans, enc/trans/big5-uao-tbl.rb,</div><div class='del'>-	  test/ruby/test-transcode.rb: Added Encoding 'Big5-UAO' and transcoding</div><div class='del'>-	  for it (from Tatsuya Mizuno) (see Bug #1784)</div><div class='del'>-</div><div class='del'>-Tue Nov 17 16:26:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): runtime value cannot be used as</div><div class='del'>-	  an element initializer.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (opt_case_dispatch_i): gets rid of type-punning</div><div class='del'>-	  calls.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 15:51:53 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): protected singleton methods of</div><div class='del'>-	  an object should not be able to called from other instances of the</div><div class='del'>-	  class of the object.  [ruby-core:26761]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_method_call_status): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_protected_singleton_method): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 14:03:53 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): shift read buffer if exception occurred.</div><div class='del'>-	  pointed out in [ruby-dev:39702].</div><div class='del'>-</div><div class='del'>-Mon Nov 16 07:59:38 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): don't call io_shift_cbuf until buffering enough or</div><div class='del'>-	  econv_finished.   [ruby-dev:39696]</div><div class='del'>-</div><div class='del'>-	* io.c (more_char): don't call clear_readconv to read buffer after</div><div class='del'>-	  econv_finished.</div><div class='del'>-</div><div class='del'>-	* io.c (appendline, rb_io_each_codepoint): clear readconv when done.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 01:58:08 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_classext_t): annotate @internal.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 01:35:34 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encindex): use default external encoding</div><div class='del'>-	  instead of locale encoding in Unix.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): delay filesystem encoding</div><div class='del'>-	  initialization until default external encoding initialization.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 00:06:26 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func): delete locking_mutex when thread</div><div class='del'>-	  object become dummy because of fork.  [ruby-core:26744]</div><div class='del'>-	  [ruby-core:26745]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 21:54:46 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy): fix memory leak of Class#dup.</div><div class='del'>-	  [ruby-dev:39687]</div><div class='del'>-</div><div class='del'>-Sat Nov 14 17:09:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-opt-dir): ignore and suppress a warning.</div><div class='del'>-	  [ruby-dev:39684]</div><div class='del'>-</div><div class='del'>-Sat Nov 14 16:43:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): get rid of crash in Solaris 8 and 10.</div><div class='del'>-	  [ruby-core:26668]</div><div class='del'>-</div><div class='del'>-Sat Nov 14 09:16:54 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): Fix comparisons</div><div class='del'>-	  [ruby-core:26646]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (class): Fix and improve tests.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 04:07:06 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb (TkVariable::coerce): fix bug on a</div><div class='del'>-	  numeric value.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 03:35:29 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: TkVariable#*(other) and /(other) have a</div><div class='del'>-	  bug on handling of the "other" value.</div><div class='del'>-</div><div class='del'>-Fri Nov 13 21:18:15 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_zlib_adler32): fix typo.</div><div class='del'>-</div><div class='del'>-Fri Nov 13 16:22:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): see first_func, not first_proc,</div><div class='del'>-	  to decide which to use.</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_xrealloc): use the given object space.</div><div class='del'>-</div><div class='del'>-Fri Nov 13 00:46:24 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI::pretty): fix the overflow bug</div><div class='del'>-	  if stripped string.[ruby-dev:37975]</div><div class='del'>-</div><div class='del'>-Thu Nov 12 23:08:11 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (read_from_cmdline): this code is better.</div><div class='del'>-	  [ruby-core:25991]</div><div class='del'>-</div><div class='del'>-Thu Nov 12 22:55:42 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb: don't use simple delegate.</div><div class='del'>-	  because SimpleDelegate behavior changed.</div><div class='del'>-</div><div class='del'>-Thu Nov 12 14:33:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (thread_errno): CreateThread does not set errno.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): moved failure handling from</div><div class='del'>-	  native_thread_core().</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_create): constified.</div><div class='del'>-</div><div class='del'>-Thu Nov 12 10:08:56 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .document: remove documents not in rdoc format until</div><div class='del'>-	  rdoc supports non rdoc files. [ruby-core:26459]</div><div class='del'>-</div><div class='del'>-Thu Nov 12 06:42:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): option hash may not be</div><div class='del'>-	  given.  [ruby-core:26681]</div><div class='del'>-</div><div class='del'>-Thu Nov 12 01:29:15 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (yielder_yield_push): Yielder#&lt;&lt; should return self.</div><div class='del'>-	  [ruby-dev:39660]</div><div class='del'>-</div><div class='del'>-Wed Nov 11 19:17:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): merge mode option.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir::Tmpname#create): splat options.</div><div class='del'>-</div><div class='del'>-Wed Nov 11 12:54:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): use ruby_strdup().</div><div class='del'>-</div><div class='del'>-Wed Nov 11 12:19:27 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): also set CRT workarea.  ref [ruby-core:25010]</div><div class='del'>-</div><div class='del'>-Wed Nov 11 09:36:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, r_object0): use RHASH_IFNONE but not ifnone</div><div class='del'>-	  directly.</div><div class='del'>-</div><div class='del'>-Wed Nov 11 08:32:45 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (blocking_region_begin): define before BLOCKING_REGION.</div><div class='del'>-	  reported by Luis Lavena.  [ruby-core:26670]</div><div class='del'>-</div><div class='del'>-Wed Nov 11 08:22:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): use dval() consistently.</div><div class='del'>-</div><div class='del'>-Wed Nov 11 02:14:48 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_matrix.rb (TestMatrix#test_rank):</div><div class='del'>-	  added a test method for r24969.</div><div class='del'>-</div><div class='del'>-Tue Nov 10 08:23:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec, rb_f_system, rb_f_spawn): mentioned about</div><div class='del'>-	  the shell to be used when the command line is single string.</div><div class='del'>-	  See [ruby-core:26652]</div><div class='del'>-</div><div class='del'>-Mon Nov  9 20:15:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_gc_save_machine_context): don't save the stack pointer</div><div class='del'>-	  in this function.</div><div class='del'>-	  (RB_GC_SAVE_MACHINE_CONTEXT): call rb_gc_save_machine_context and</div><div class='del'>-	  save the stack pointer at caller side.</div><div class='del'>-	  (rb_thread_schedule_rec): use RB_GC_SAVE_MACHINE_CONTEXT instead of</div><div class='del'>-	  rb_gc_save_machine_context.</div><div class='del'>-	  (blocking_region_begin): changed to a macro.  use</div><div class='del'>-	  RB_GC_SAVE_MACHINE_CONTEXT instead of rb_gc_save_machine_context.</div><div class='del'>-	  [ruby-dev:39659]</div><div class='del'>-</div><div class='del'>-Mon Nov  9 11:28:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): add -Wno-long-long.</div><div class='del'>-</div><div class='del'>-Sun Nov  8 18:13:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: use RHASH_IFNONE but not ifnone directly.</div><div class='del'>-</div><div class='del'>-Sat Nov  7 21:02:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::ObjectMixin#pretty_print): use to_s regardless of</div><div class='del'>-	  instance variables.</div><div class='del'>-</div><div class='del'>-Sat Nov  7 20:59:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): get rid of out-of-bounds</div><div class='del'>-	  access.</div><div class='del'>-</div><div class='del'>-Sat Nov  7 12:41:19 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (VM_CALLEE_SETUP_ARG): revert r25521.</div><div class='del'>-	   [ruby-core:26427] [ruby-core:26447]</div><div class='del'>-</div><div class='del'>-Fri Nov  6 18:33:47 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): add CHECK_STACK_OVERFLOW.</div><div class='del'>-	  [ruby-dev:39592]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): add 1 level backtrace for sysstack_error</div><div class='del'>-	  without calling any method to prevent further stack overflow.</div><div class='del'>-</div><div class='del'>-	* eval.c (make_exception): don't call #exception for</div><div class='del'>-	  sysstack_error to prevent stack overflow.</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): don't freeze sysstack_error.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): move reentrant check after exception</div><div class='del'>-	  preparation.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 17:13:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_header): split the line by tabs.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 12:02:32 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIDLNOBJ): set default as dmydln.o.</div><div class='del'>-	  Now LLVM clang seems to be able to build Ruby 1.9.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 09:29:32 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encindex): add fallback to</div><div class='del'>-	  ASCII-8BIT on Windows.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 07:29:07 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_case.rb: merged r25658 from ruby_1_8.</div><div class='del'>-</div><div class='del'>-Thu Nov  5 12:27:07 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.user_home): force_encoding(</div><div class='del'>-	  Encoding.find('filesystem')). [ruby-core:26525]</div><div class='del'>-</div><div class='del'>-Thu Nov  5 07:47:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (BEGIN): now local_push and local_pop are necessary in</div><div class='del'>-	  ripper.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 21:39:10 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .document: add some README files to default rdoc's of trunk.</div><div class='del'>-	  patched by Roger Pack [ruby-core:26459]</div><div class='del'>-</div><div class='del'>-Wed Nov  4 16:06:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (SIZEOF_ST_INDEX_T): moved from st.c for</div><div class='del'>-	  Init_RandomSeed().</div><div class='del'>-</div><div class='del'>-Wed Nov  4 15:50:16 2009  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2CHR): prefix __extension__ for</div><div class='del'>-	  braced-groups within expressions.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 15:46:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_{internal,external}_encoding_once): fixed typos.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 12:49:18 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): Fix scope issue [ruby-core:26069]</div><div class='del'>-</div><div class='del'>-Wed Nov  4 08:50:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_hash_start): moved from string.c.</div><div class='del'>-</div><div class='del'>-	* random.c (Init_RandomSeed2): register global address before set.</div><div class='del'>-</div><div class='del'>-	* random.c (Init_RandomSeed): initialize hashseed.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 08:26:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_check): moved other checks from GetDIR.</div><div class='del'>-</div><div class='del'>-	* dir.c (GetDIR): fixed a variable name.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 08:19:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): fixed unconditional test.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 02:08:14 2009  Aaron Patterson  &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_eql, rb_dlptr_cmp): DL::CPtr#== and DL::CPtr#&lt;=&gt;</div><div class='del'>-	  should not raise an exception when compared to a different object.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 00:05:36 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): make next object before yield its block.</div><div class='del'>-	  fix: can modify original begin string of String#upto.</div><div class='del'>-	  [ruby-dev:26384] [ruby-dev:39626]</div><div class='del'>-</div><div class='del'>-Mon Nov  2 18:33:21 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_free): don't free unallocated local_storage. see #1325.</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_init): clear local_storage not to use current thread's.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_t_alloc, root_fiber_alloc): link itself always for</div><div class='del'>-	  a case that fiber_link_remove() is called before fiber_link_join().</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_init): clear cont-&gt;vm_stack and th-&gt;stack before</div><div class='del'>-	  root_fiber_alloc() in rb_fiber_current().</div><div class='del'>-</div><div class='del'>-Mon Nov  2 14:52:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exc_raise, rb_exc_fatal, rb_make_exception):</div><div class='del'>-	  suppressed shorten-64-to-32 warnings.</div><div class='del'>-</div><div class='del'>-Mon Nov  2 14:43:48 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_stop_timer_thread): delay joining timer</div><div class='del'>-	  thread after unlocking mutex.</div><div class='del'>-</div><div class='del'>-Mon Nov  2 13:31:14 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_stop_timer_thread): need to join timer thread</div><div class='del'>-	  only when really stopping it.</div><div class='del'>-</div><div class='del'>-Mon Nov  2 12:55:50 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_{pthread,win32}.c (native_stop_timer_thread): join the thread</div><div class='del'>-	  here.</div><div class='del'>-</div><div class='del'>-	* thread_{pthread,win32}.c (native_reset_timer_thread): new function.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_stop_timer_thread, rb_thread_reset_timer_thread):</div><div class='del'>-	  call above function instead of simply setting 0.</div><div class='del'>-</div><div class='del'>-Mon Nov  2 11:22:19 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/registry.rb: update rdoc. [ruby-core:26022]</div><div class='del'>-</div><div class='del'>-Sun Nov  1 20:16:03 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: fixed rdoc. [ruby-core:26457]</div><div class='del'>-</div><div class='del'>-Sun Nov  1 16:24:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_stack_grow_dir): fix for universal binary.</div><div class='del'>-</div><div class='del'>-	* configure.in (sitehdrdir, vendorhdrdir): fixed default values.</div><div class='del'>-</div><div class='del'>-Sun Nov  1 13:31:16 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io, recvmsg, sendmsg): pass handle</div><div class='del'>-	  instead of pointer to CloseHandle().</div><div class='del'>-</div><div class='del'>-Sun Nov  1 13:11:27 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): use FreeLibrary() to</div><div class='del'>-	  free HMODULE.</div><div class='del'>-</div><div class='del'>-Sun Nov  1 08:17:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GET_STACK_BOUNDS): refactored common code.  based on a</div><div class='del'>-	  patch from Suraj N. Kurapati &lt;sunaku AT gmail.com&gt; in</div><div class='del'>-	  [ruby-core:26443].</div><div class='del'>-</div><div class='del'>-Sat Oct 31 23:44:35 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count): remove optimization using #size.</div><div class='del'>-	  revert r25560.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcall_no_recursive): remove method.</div><div class='del'>-</div><div class='del'>-Sat Oct 31 23:28:49 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall): logic updated according to</div><div class='del'>-	  [ruby-dev:39594].  search method entry, call if it exists;</div><div class='del'>-	  otherwise check method_missing, call if it was overridden,</div><div class='del'>-	  protecting exceptions; if NoMethodError happens, check method</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): use idMethodMissing.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_search_method_entry): typo fixed.</div><div class='del'>-</div><div class='del'>-Sat Oct 31 17:19:28 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPResponse#each_response_header):</div><div class='del'>-	  cosmetic: '?\ ' -&gt; '?\s'</div><div class='del'>-</div><div class='del'>-Fri Oct 30 22:09:47 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPResponse#each_response_header):</div><div class='del'>-	  accept multiline message header of HTTP response.  see #1796.</div><div class='del'>-	  cf. RFC 2616 '4.2 Message Header'.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_httpresponse.rb: added.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 18:54:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (trnext): detect empty range and raise exception.</div><div class='del'>-	   [ruby-dev:39108]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 17:01:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (enum call_type): get rid of last comma.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0, vm_call_super, rb_f_send, rb_f_public_send):</div><div class='del'>-	  fixed call_type.  [ruby-dev:39581]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_search_method_entry, rb_method_call_status): split</div><div class='del'>-	  from rb_call0().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_funcall): get rid of raising exceptions and</div><div class='del'>-	  hiding further exceptions.  [ruby-dev:39584]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcall_no_recursive): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 13:36:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): reverted r25566, and added</div><div class='del'>-	  description that no exception is allowed inside `func', instead.</div><div class='del'>-	  see [ruby-dev:39582]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 13:13:16 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32.c (recvmsg, sendmsg, link): shouldn't raise ruby's exceptions</div><div class='del'>-	  in the functions expected as system API.  see [ruby-dev:39579] and</div><div class='del'>-	  [ruby-dev:39582]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 12:59:20 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): standard C doesn't accept</div><div class='del'>-	  preprocessing directive within macro expansion.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 10:55:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): must ensure to unlock GVL.</div><div class='del'>-	  [ruby-dev:39579]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 04:47:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RSTRING_END): trivial optimization.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): trivial optimization.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 02:11:36 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count): call #size using rb_funcall_no_recursive()</div><div class='del'>-	  to prevent infinite recursive calls.  [ruby-core:24794]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcall_no_recursive): utility function to check</div><div class='del'>-	  direct recursive call.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_funcall): move from eval.c. [refactoring]</div><div class='del'>-</div><div class='del'>-Thu Oct 29 18:37:02 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): revert previous commit.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 15:35:39 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): set locale and filesystem encindex.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): move setting func of filesystem</div><div class='del'>-	  encoding to Init_Encoding.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 15:43:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_name_err_mesg_new): added prototype.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 13:53:18 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_to_ary): do not use #respond_to? to detect</div><div class='del'>-	  to_ary.  Just call.  [ruby-core:23738]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_check_funcall): new function with method existence</div><div class='del'>-	  check.  returns Qundef when the method does not exist.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_rewind): just call method, using</div><div class='del'>-	  rb_check_funcall().  [ruby-core:23738]</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (convert_type): ditto.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_name_err_mesg_new): export function.</div><div class='del'>-</div><div class='del'>-	* eval.c (make_exception): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (pop_last_hash): return early when the last argument is nil.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_puts): treat T_STRING specially for small</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (raise_method_missing): skip method call if possible</div><div class='del'>-	  using rb_method_basic_definition_p().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_debug): test</div><div class='del'>-	  suites changed to ignore exceptions caused by just-call policy.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 04:41:44 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): call rb_filesystem_encoding().</div><div class='del'>-</div><div class='del'>-Thu Oct 29 04:40:36 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): rb_default_rs should be US-ASCII.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 01:22:01 2009  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb : Compilation failure on AIX.</div><div class='del'>-	  ss_len (a member of struct sockaddr_storage) has preceding __,</div><div class='del'>-	  but ss_family does not have it from AIX 5.2.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 16:32:49 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (get_filesystem_encoding): removed.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encindex): added.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encindex): added.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encindex): add an alias 'filesystem'.</div><div class='del'>-	  [ruby-dev:39574]</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): add rdoc about special aliases.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.set_home): use Encoding.find('filesystem').</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.set_paths): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 15:02:31 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.set_home):</div><div class='del'>-	  force_encoding(Encoding.filesystem_encoding)</div><div class='del'>-	  [ruby-core:25959]</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.set_paths): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 14:24:45 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (get_filesystem_encoding):</div><div class='del'>-	  add Encoding.filesystem_encoding [ruby-dev:39546]</div><div class='del'>-	  also see [ruby-core:25959]</div><div class='del'>-</div><div class='del'>-Wed Oct 28 14:51:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_each_group): fixed typo.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 13:02:10 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#initialize): sets @binary to true.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#binary=): sends a TYPE command only when</div><div class='del'>-	  logged in. [ruby-dev:39548]</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#send_type_command): new private method</div><div class='del'>-	  which sends an appropriate TYPE command according to the value of</div><div class='del'>-	  @binary.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#login): calls send_type_command instead</div><div class='del'>-	  of binary=.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 12:26:51 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setup_method): should push call frame before</div><div class='del'>-	  raising exception, to put the Ruby-defined method name in the</div><div class='del'>-	  error message.  [ruby-core:26333]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (VM_CALLEE_SETUP_ARG): macro modified.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_args): modified for new</div><div class='del'>-	  VM_CALLEE_SETUP_ARG macro.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 22:46:44 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#initialize): @sock = nil.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#binary=): send command only when</div><div class='del'>-	  socket is open. [ruby-dev:39548]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 22:22:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (Init_stringio): added read_nonblock and</div><div class='del'>-	  write_nonblock aliases.  [ruby-dev:39551]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_data_type): typed.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 21:20:35 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: add TkVariable#+@ and -@ method.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 16:36:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (chopped_length): get rid of unexpected exception.</div><div class='del'>-	  see [ruby-core:26336].</div><div class='del'>-</div><div class='del'>-Tue Oct 27 15:53:10 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): use __i386.</div><div class='del'>-	  Some compiler may not define __i386__.</div><div class='del'>-	  Solaris 64-bit Developer's Guide:</div><div class='del'>-	  http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&amp;a=view</div><div class='del'>-</div><div class='del'>-Tue Oct 27 15:44:48 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (getbinaryfile, list): call to_s to convert</div><div class='del'>-	  a Pathname instance into a string.  [ruby-core:26237]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 12:30:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): use __i386__ instead of __i386,</div><div class='del'>-	  and explicit size qualifiers.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 09:40:55 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): add x86_64 version by nobu.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 09:27:59 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (DECL_SC_REG): use __clang__.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 08:56:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: reverted r25443 because build_os is used in mkmf.rb</div><div class='del'>-	  on some platforms.  [ruby-core:26332]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 08:01:57 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_filename): add Ripper#filename. [ruby-dev:37856]</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_filter.rb: add more tests.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 07:53:25 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_with_gvl): do not garbage_collect when</div><div class='del'>-	  dont_gc flag turned on.  [ruby-core:26327]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 07:38:39 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c,stubs.c: remove errors or warnings when compiled</div><div class='del'>-	  with old ruby 1.8.x.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 05:56:39 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): return Qnil when its iseq is</div><div class='del'>-	  SPECIAL CONST. [ruby-core:26335]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 05:11:49 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (DECL_SC_REG): check defined(__asm__) before use it.</div><div class='del'>-	  LLVM/clang defines __GNUC__ but doesn't have __asm__.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 03:45:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): added RUBY_SITEARCH to use</div><div class='del'>-	  different name from RUBY_ARCH.  [ruby-core:26324]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 20:04:13 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_cmp): Array#&lt;=&gt; returns nil when comparison fails</div><div class='del'>-	  [ruby-core:26316]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 18:37:57 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (default_proc_arity_check): new support function.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_initialize): should do arity check as #default_proc=.</div><div class='del'>-	  [ruby-core:26281]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 13:24:17 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: typo fixed.</div><div class='del'>-</div><div class='del'>-Mon Oct 26 12:34:08 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): -T and -W descriptions updated.  see</div><div class='del'>-	  [ruby-dev:39539]</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 26 12:06:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): adjust stdio file position after direct write on</div><div class='del'>-	  BSDish platforms.   [ruby-core:26300]</div><div class='del'>-</div><div class='del'>-Sun Oct 25 15:44:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (dlhandle_sym): fixed an invalid local variable</div><div class='del'>-	  declaration.</div><div class='del'>-</div><div class='del'>-Sun Oct 25 13:33:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_cntl): F_DUPFD is platform dependent.</div><div class='del'>-</div><div class='del'>-Sun Oct 25 10:19:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_close): fixed an invalid local</div><div class='del'>-	  variable declaration.</div><div class='del'>-</div><div class='del'>-Sun Oct 25 05:44:34 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (**): Optimization (up to 45% faster)</div><div class='del'>-</div><div class='del'>-Sat Oct 24 14:28:40 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_set_default_proc): checks arity of default_proc</div><div class='del'>-	  of a Hash.  [ruby-core:26087]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 13:38:45 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_cmp): defines Object#&lt;=&gt;.  [ruby-core:24063]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 09:51:28 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_flat_map): new method that concatenates the values</div><div class='del'>-	  from given block.  also provides alias #collect_concat.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 00:36:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_cntl): update max file descriptor by the result of</div><div class='del'>-	  fcntl(F_DUPFD).</div><div class='del'>-</div><div class='del'>-Fri Oct 23 16:31:14 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_new): move class check to rb_check_inheritable().</div><div class='del'>-</div><div class='del'>-	* class.c (rb_check_inheritable): should not allow subclass of</div><div class='del'>-	  class Class.  [ruby-core:26225]</div><div class='del'>-</div><div class='del'>-Fri Oct 23 14:25:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (target, target_alias): replace with real cpu.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: build* are not needed in rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): use -Wextra only when</div><div class='del'>-	  -Wno-missing-field-initializers is available.</div><div class='del'>-</div><div class='del'>-	* configure.in (optflags): removed -fomit-frame-pointer by default.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 09:12:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname::SAME_PATHS): FNM_SYSCASE is always</div><div class='del'>-	  non-nil.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 07:32:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in, win32/Makefile.sub (XRUBY): runnable</div><div class='del'>-	  ruby without current libraries.</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc): use XRUBY.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 07:28:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): use -Wextra instead of -Wall.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context): get rid of warning.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 21:10:39 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_basic_to_s_p): typo.  Please become familiar with</div><div class='del'>-	  the ANSI style.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 20:20:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_in_out_err): test_stdout and</div><div class='del'>-	  test_stderr should be an array.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_notfound): test_stdin of</div><div class='del'>-	  assert_in_out_err should be a string.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 17:49:05 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#fu_get_uid, fu_get_gid): Do not</div><div class='del'>-	  convert an integer back and forth.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 17:29:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_prepend): removed.  a patch from Mikhail T. in</div><div class='del'>-	  [ruby-core:26217].</div><div class='del'>-</div><div class='del'>-Thu Oct 22 04:54:41 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_inspect): print instance variables only when</div><div class='del'>-	  Object#to_s is not overridden.  [ruby-core:24425]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_basic_to_s_p): new function.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 19:32:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_inspect): fixed rdoc about the case that to_s</div><div class='del'>-	  is called.  [ruby-core:24425]</div><div class='del'>-</div><div class='del'>-Wed Oct 21 08:17:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb (TestLogDevice#test_write): check</div><div class='del'>-	  also error message.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 03:54:41 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb:</div><div class='del'>-	  Creator functions now strict with their arguments</div><div class='del'>-	  Support for empty matrices (see new method Matrix.empty)</div><div class='del'>-	  Matrix#trace raises an ErrDimensionMismatch if the matrix is not square</div><div class='del'>-	  Enumerators are returned when no block given</div><div class='del'>-	  Consistent results when accessing elements with out of bounds indices</div><div class='del'>-	  Details in [ruby-core:23598].</div><div class='del'>-</div><div class='del'>-Wed Oct 21 00:27:15 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb: typo in exception message fixed.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 00:17:28 2009  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: imported upstream version (logger/1.2.7) see #2238.</div><div class='del'>-	  * do not raise an exception even if log writing failed.</div><div class='del'>-	  * do not raise ShiftingError if an aged file already exists.</div><div class='del'>-	    (no ShiftingError will be raised from 1.2.7, just warn() instead)</div><div class='del'>-	* test/logger/test_logger.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 20 22:29:06 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb:  Bug fix. See detail [ruby-core:23598].</div><div class='del'>-</div><div class='del'>-Tue Oct 20 17:57:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_symbol, r_symreal): fixed the order of symbol and</div><div class='del'>-	  its encoding modifier, in order to make the dump readable from</div><div class='del'>-	  1.8.  [ruby-dev:39515]</div><div class='del'>-</div><div class='del'>-Tue Oct 20 16:41:18 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (finite, scalb): inline'ed non-standard</div><div class='del'>-	  identifier macros.  [ruby-core:26166]</div><div class='del'>-</div><div class='del'>-Tue Oct 20 15:38:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_intern): enable literal optimization.</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): dispatch symbols.  a patch from Andy Keep in</div><div class='del'>-	  [ruby-core:26169].  [ruby-core:26165]</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_basic): fixed handling splat in middle of mlhs.  a</div><div class='del'>-	  patch from Andy Keep in [ruby-core:26163]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): dispatch delayed heredoc</div><div class='del'>-	  contents.  based on a patch from Andy Keep in [ruby-core:24855].</div><div class='del'>-</div><div class='del'>-Mon Oct 19 15:17:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_method_entry): search method entry by class and id.</div><div class='del'>-</div><div class='del'>-Mon Oct 19 15:03:31 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (enc/unicode/name2ctype.h): no need to create</div><div class='del'>-	  directory if it already exists.</div><div class='del'>-</div><div class='del'>-Mon Oct 19 11:34:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_ps): dump all threads and their callstacks.  based</div><div class='del'>-	  on [ruby-core:26155] by Joshua ben Jore &lt;twists AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Mon Oct 19 10:59:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build, rb_iseq_build_for_ruby2cext):</div><div class='del'>-	  untrust mark array.  [ruby-core:26137]</div><div class='del'>-</div><div class='del'>-Mon Oct 19 05:49:53 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/element.rb (text=): false should be converted to string.</div><div class='del'>-	  A patch by Teruo Oshida [ruby-dev:38351]</div><div class='del'>-</div><div class='del'>-Sun Oct 18 22:33:25 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: do not require lib/delta.rb.</div><div class='del'>-</div><div class='del'>-	* lib/date/delta.rb: follows the above change.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 19:14:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (is_special_global_name): add boundary check.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 18:31:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): should not dup tmp string.  a</div><div class='del'>-	  patch from neomjp neomjp in [ruby-core:24251].</div><div class='del'>-</div><div class='del'>-Sun Oct 18 09:49:14 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb</div><div class='del'>-	  (TestPrime#test_eratosthenes_works_fine_after_timeout):</div><div class='del'>-	  test for [ruby-dev:39465].</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Prime::EratosthenesSieve):</div><div class='del'>-	  fixed [ruby-dev:39465].</div><div class='del'>-	  suppressed memory reallocation.</div><div class='del'>-	  constantified some magic numbers.</div><div class='del'>-</div><div class='del'>-Sat Oct 17 22:11:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (id2encidx): register encoding name.</div><div class='del'>-	  (r_object0): register object before encoding name.</div><div class='del'>-	  [ruby-core:24882]</div><div class='del'>-</div><div class='del'>-Sat Oct 17 17:56:58 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_fileutils.rb (Rake::TestFileUtils#test_sh): uses</div><div class='del'>-	  FileUtils::RUBY instead of fixed "ruby" so that the ruby command</div><div class='del'>-	  works fine in Ruby's "make test-all".</div><div class='del'>-	  (test_sh_with_a_single_string_argument): ditto.</div><div class='del'>-	  (test_sh_with_multiple_arguments): ditto.</div><div class='del'>-	  (test_sh_failure): ditto</div><div class='del'>-	  (test_sh_special_handling): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 17 17:30:06 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_split): fix off-by-one error.  [ruby-dev:39501]</div><div class='del'>-</div><div class='del'>-Sat Oct 17 16:34:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix token even after trailing under score.</div><div class='del'>-</div><div class='del'>-Sat Oct 17 11:27:44 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (basic_obj_respond_to): call #respond_to_missing?</div><div class='del'>-	  always with two arguments.  [ruby-core:26090]</div><div class='del'>-</div><div class='del'>-Sat Oct 17 08:51:44 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#respond_to_missing): warn only when</div><div class='del'>-	  specified method is a private.  [ruby-dev:39498]</div><div class='del'>-</div><div class='del'>-Fri Oct 17 00:05:53 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (unpack_entries): save table-&gt;bins and never change the table</div><div class='del'>-	  during unpacking. Because st_insert() may cause GC and refer the</div><div class='del'>-	  table, i.e. st_foreach().  [Bug #2196]</div><div class='del'>-</div><div class='del'>-Fri Oct 16 22:20:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb (require_relative): defined as a module function of</div><div class='del'>-	  Kernel.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 20:18:28 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#method_missing): remove backtrace</div><div class='del'>-	  lines _until_ `method_missing'.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 20:09:55 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#freeze): #freeze should freeze self</div><div class='del'>-	  and the target at once.   [ruby-core:26118]</div><div class='del'>-</div><div class='del'>-Fri Oct 16 19:39:28 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#respond_to_missing): warn if optional</div><div class='del'>-	  include_private argument is not false.  Delegator does (and</div><div class='del'>-	  should) not forward private methods.  [ruby-core:26080]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#respond_to_missing): instead of</div><div class='del'>-	  redefining #respond_to?, use #respond_to_missing?.  [ruby-core:26081]</div><div class='del'>-</div><div class='del'>-Fri Oct 16 18:42:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_gc.rb: added tests based on [ruby-dev:39484]</div><div class='del'>-	  from wanabe &lt;s.wanabe AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 16:09:01 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): `\'' is also quote character.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 13:40:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (rb_gc_debug_body): constified.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 13:20:39 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpMidRound): remove warnings.</div><div class='del'>-	  patch from Charlie Savage. [ruby-core:22869]</div><div class='del'>-</div><div class='del'>-	* ext/digest/bubblebabble/bubblebabble.c (bubblebabble_str_new): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (hexencode_str_new): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (inspect_sockaddr): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (sockaddr_obj): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emitter_write): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emitter_flush): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emit_tag): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 12:03:31 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#raw_encoding): returns ASCII-8BIT when the io</div><div class='del'>-	  doesn't have encoding.</div><div class='del'>-</div><div class='del'>-Fri Oct 16 03:15:52 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#read_to_char): set encoding and verify data</div><div class='del'>-	  which read from io before encode it to @encoding.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#raw_encoding): add to get @io's encoding.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#read_io): add to read string and set @io's</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Thu Oct 15 18:26:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): check symbol table overflow before generate</div><div class='del'>-	  next id.  [ruby-core:26092]</div><div class='del'>-</div><div class='del'>-Thu Oct 15 15:14:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): get rid of parsing non-ascii string, and</div><div class='del'>-	  refine messages for invalid name encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): unread current buffer before telling the</div><div class='del'>-	  position, for the case of reopening same file.  [ruby-dev:39479]</div><div class='del'>-</div><div class='del'>-Thu Oct 15 14:20:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_create): cannot retry with given block.</div><div class='del'>-	  [ruby-dev:39487]</div><div class='del'>-</div><div class='del'>-Thu Oct 15 09:25:07 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_init_sock): mswin doesn't have S_IFSOCK</div><div class='del'>-	  flag in st_mode of struct stat. so, use rb_w32_issocket() function</div><div class='del'>-	  instead of S_ISSOCK macro.</div><div class='del'>-</div><div class='del'>-Thu Oct 15 00:47:42 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb,</div><div class='del'>-	  enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  use UTS#18 for POSIX character class.</div><div class='del'>-	  http://rubyspec.org/issues/show/161</div><div class='del'>-</div><div class='del'>-Thu Oct 15 00:26:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_init_sock): validate file descriptor.</div><div class='del'>-</div><div class='del'>-Wed Oct 14 13:24:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): script name should not be shown in an</div><div class='del'>-	  error message before loaded.</div><div class='del'>-</div><div class='del'>-Wed Oct 14 09:06:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run_node): need to call ruby_cleanup() always even</div><div class='del'>-	  if any error occurred so far.</div><div class='del'>-</div><div class='del'>-Wed Oct 14 08:08:12 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): Method#new checks for respond_to_missing? with</div><div class='del'>-	  private set to true</div><div class='del'>-	  [ruby-core:26069]</div><div class='del'>-</div><div class='del'>-Tue Oct 13 21:05:01 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb,</div><div class='del'>-	  enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  Add DerivedCoreProperties, PropList (Binary Property),</div><div class='del'>-	  PropertyAlias and PropertyValueAlias.</div><div class='del'>-	  Now users of tool/enc-unicode.rb should specify</div><div class='del'>-	  the directory of UCD files.</div><div class='del'>-</div><div class='del'>-Tue Oct 13 18:54:25 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/variable.rb: bug fix. additional trace definition changes the</div><div class='del'>-	  option of first trace definition.</div><div class='del'>-</div><div class='del'>-Tue Oct 13 18:23:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (token_info_push, token_info_pop): reduced ifdefs.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): fixed normalization.</div><div class='del'>-</div><div class='del'>-Tue Oct 13 09:04:14 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Revert changes to Thread#raise made in r25278</div><div class='del'>-	  [ruby-core:25367]</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: ditto</div><div class='del'>-</div><div class='del'>-Mon Oct 12 23:27:57 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (login): use "anonymous@" as a default password.</div><div class='del'>-	  [ruby-dev:39451]</div><div class='del'>-</div><div class='del'>-Mon Oct 12 22:48:25 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (retrlines): added a new block parameter.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (gettextfile): preserve missing end-of-line at end</div><div class='del'>-	  of files.  [ruby-core:24590]</div><div class='del'>-</div><div class='del'>-Mon Oct 12 19:48:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run_node): if an exception occurred in ruby_option,</div><div class='del'>-	  the result is not executable.</div><div class='del'>-</div><div class='del'>-Mon Oct 12 05:51:11 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token): warn invalid back reference</div><div class='del'>-	  and subexp call. (\k and \g).</div><div class='del'>-</div><div class='del'>-Mon Oct 12 03:47:42 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (has_encoding): added for check the regexp</div><div class='del'>-	  is dumped by 1.8 or 1.9.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): use has_encoding.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 15:54:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_select): fixed rdoc.  a patch from Justin</div><div class='del'>-	  Collins in [ruby-core:26050].</div><div class='del'>-</div><div class='del'>-Sun Oct 11 10:27:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb (IRB::Context#irb_name): removed duplicated</div><div class='del'>-	  attr_reader.  [ruby-core:26047]</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#lex_int2): removed duplicated</div><div class='del'>-	  character class range.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 10:04:35 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token_in_cc): warn when \p is not</div><div class='del'>-	  followed by property name.</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token): ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 09:44:46 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regerror.c (onig_vsnprintf_with_pattern): added.</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_syntax_warn): use above.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 09:04:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_GC_GUARD_PTR): workaround for gcc</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_exec_node): declared.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 03:10:50 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_syntax_warn): added.</div><div class='del'>-</div><div class='del'>-	* regparse.c (CC_ESC_WARN, CLOSE_BRACKET_WITHOUT_ESC_WARN,</div><div class='del'>-	  CC_DUP_WARN, UNKNOWN_ESC_WARN): use onig_syntax_warn.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 00:14:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump, marshal_load): prevent from GC.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 23:57:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (path_check_0): prevent from GC.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 23:51:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_transcoding, str_transcoding_resize): fixed</div><div class='del'>-	  types.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 20:35:27 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atanh): reverted r25279.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 19:03:29 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: use rb_thread_blocking_region to avoid</div><div class='del'>-	  rb_read_check.  This makes other threads runnable in getstr and</div><div class='del'>-	  wgetstr.</div><div class='del'>-	  (getch_func): extracted from curses_getch.</div><div class='del'>-	  (curses_getch): use rb_thread_blocking_region with getch_func.</div><div class='del'>-	  (getstr_func): extracted from curses_getstr.</div><div class='del'>-	  (curses_getstr): use rb_thread_blocking_region with getstr_func.</div><div class='del'>-	  (wgetch_func): extracted from window_getch.</div><div class='del'>-	  (window_getch): use rb_thread_blocking_region with wgetch_func.</div><div class='del'>-	  (wgetstr_func): extracted from window_getstr.</div><div class='del'>-	  (window_getstr): use rb_thread_blocking_region with wgetstr_func.</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_read_check): deprecated because it access</div><div class='del'>-	  internal of stdio.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 18:59:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (cflags, cxxflags): remove duplicating options.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 18:19:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in (LIBRUBY_SO), common.mk (ruby.imp),</div><div class='del'>-	  win32/mkexports.rb (each_export): exclude _threadptr_ functions.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 17:55:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_threadptr_errinfo): renamed.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 17:03:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_node): removed unused argument.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 14:55:55 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atanh): Fix bug for Math.atanh(+/-1). It now returns</div><div class='del'>-	  +-Infinity. [ruby-core:26028]</div><div class='del'>-</div><div class='del'>-Sat Oct 10 14:09:40 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_rec, rb_threadptr_raise):</div><div class='del'>-	  Thread#raise with no argument will now re-raise the current exception</div><div class='del'>-	  if there is one [ruby-core:25367]</div><div class='del'>-</div><div class='del'>-	* eval.c (get_errinfo, rb_rubylevel_thread_errinfo): Getter for</div><div class='del'>-	  current exception for a given thread</div><div class='del'>-</div><div class='del'>-Fri Oct  9 23:10:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp): should exclude NOEX_RESPONDS.</div><div class='del'>-	  based on the patch from Nikolai Lugovoi.  [ruby-core:25949]</div><div class='del'>-</div><div class='del'>-Fri Oct  9 21:14:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP): disable</div><div class='del'>-	  reverse lookup.</div><div class='del'>-	  (Resolv::DNS::Requester::UnconnectedUDP): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 10:12:13 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb (IRB::Context#initialize):</div><div class='del'>-	  remove warnings when $VERBOSE is set as true in .irbrc.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 02:58:18 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: optimized.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  U+100000-U+10FFFD is assigned, not Cn.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 02:12:02 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: Many functions of module Curses could cause a</div><div class='del'>-	  crash if the ncurses library was not properly initialized.</div><div class='del'>-	  Fix pointed out by Alexander Beisig [ruby-core:22592]</div><div class='del'>-	  Functions fixed: attroff, attron, attrset, bkgd, bkgdset,</div><div class='del'>-	  can_change_color, close_screen, closed, color_content, curs_set,</div><div class='del'>-	  def_prog_mode, delch, deleteln, getmouse, getstr, has_colors,</div><div class='del'>-	  init_color, init_pair, insertln, keyname, mouseinterval, mousemask,</div><div class='del'>-	  pair_content, pair_number, reset_prog_mode, resizeterm, scrl,</div><div class='del'>-	  setscrreg, standend, standout, start_color, timeout, ungetmouse,</div><div class='del'>-	  use_default_colors</div><div class='del'>-</div><div class='del'>-Fri Oct  9 01:07:34 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ADD_TRACE): fire coverage event in ensure clause.</div><div class='del'>-	  [ruby-dev:39303]</div><div class='del'>-</div><div class='del'>-	* iseq.h, iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 00:33:29 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (cmd): Pass FailEOF options: patch by Brian</div><div class='del'>-	  Candler [ruby-core:22723]</div><div class='del'>-</div><div class='del'>-Fri Oct  9 00:01:17 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.udp_server_recv): extracted from</div><div class='del'>-	  Socket.udp_server_loop_on.</div><div class='del'>-</div><div class='del'>-Thu Oct  8 05:45:14 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: parse range notation of UnicodeData.txt.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  follow above change. [ruby-dev:39444]</div><div class='del'>-</div><div class='del'>-Thu Oct  8 02:46:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): copy by chunks.</div><div class='del'>-</div><div class='del'>-Thu Oct  8 01:23:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_disasm): accept proc objects.  [ruby-core:18762]</div><div class='del'>-</div><div class='del'>-Wed Oct  7 16:42:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (mark_dump_arg, mark_load_arg): ignore already cleaned</div><div class='del'>-	  data.  [ruby-core:25969]</div><div class='del'>-</div><div class='del'>-	* marshal.c (clear_dump_arg, clear_load_arg): clear freed fields.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 16:06:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_long2int): evaluates the argument only</div><div class='del'>-	  once.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_alloc): check array length overflow.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 09:23:49 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): don't assign -1 to unsigned int.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 00:27:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS.bind_random_port): bind to "::" for IPv6.</div><div class='del'>-	  (Resolv::DNS::ConnectedUDP#initialize): specify is_ipv6 argument of</div><div class='del'>-	  bind_random_port.</div><div class='del'>-	  [ruby-core:25970]</div><div class='del'>-</div><div class='del'>-Tue Oct  6 23:32:38 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): RDoc updated.  a patch from Nobuhiro</div><div class='del'>-	  IMAI &lt;nov at yo.rim.or.jp&gt; in [ruby-dev:39440]. [ruby-dev:39439]</div><div class='del'>-</div><div class='del'>-Tue Oct  6 21:30:58 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): avoid close if possible.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 18:56:09 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_select): Struct#select should return</div><div class='del'>-	  enumerator when no block given.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 06:26:00 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* * ext/tk/lib/tk/canvas.rb: *** POTENTIALLY INCOMPATIBLE ***</div><div class='del'>-	  'tags' option of a TkcItem object should give a list of TkcTag objs.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/vu/dial.rb: fix logical bug.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb, ext/tk/lib/tkextlib/blt/component.rb:</div><div class='del'>-	  lack of support for methodcall_optkeys.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 17:19:33 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::public_api): take snapshot of</div><div class='del'>-	  public method at the beginning time.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (SimpleDelegator#initialize): use</div><div class='del'>-	  Delegator.public_api since public_method might be added after</div><div class='del'>-	  initialization.  [ruby-dev:39383]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 12:22:12 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_{times, shuffle_bang, sample}): reducing macro</div><div class='del'>-	  calls inside of the loop by keeping pointers in local</div><div class='del'>-	  variables. a patch from Masahiro Kanai (CanI) in [ruby-dev:39406].</div><div class='del'>-	  It was found and fixed at Security and Programming camp 2009.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_{times, split_m}): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_{getmember, set, aref_id, aset_id}, {make,</div><div class='del'>-	  inspect}_struct, recursive_{equal, hash, eql}): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 00:09:57 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (basic_obj_respond_to): should not call</div><div class='del'>-	  #respond_to_missing? for not implemented methods.</div><div class='del'>-	  [ruby-core:25909]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp): returns exceptional value 2 for</div><div class='del'>-	  not-implemented methods when called from #respond_to? (specifies</div><div class='del'>-	  by new constant NOEX_RESPONDS).</div><div class='del'>-</div><div class='del'>-	* method.h (enum): new constant NOEX_RESPONDS added.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 22:16:29 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/cookie.rb: add default value to @@accept_charset</div><div class='del'>-	  if have not defined. [ruby-dev:38987]</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 19:30:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (struct {dump,load}_arg): manage with dfree, instead</div><div class='del'>-	  of using local variable which may be moved by context switch.</div><div class='del'>-	  [ruby-dev:39425]</div><div class='del'>-</div><div class='del'>-Sun Oct  4 15:00:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (NATINT_LEN, pack_pack): suppressed warnings.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 14:01:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem::binary_mode): binary mode uses binary</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 08:27:10 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (slicebefore_ii): use id_eqq.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 06:40:09 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (ruby.mmp): added macro RUBY_EXPORT to match the</div><div class='del'>-	  change in dln.c</div><div class='del'>-</div><div class='del'>-Sun Oct  4 05:34:34 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: add TkVariable#to_hash,to_proc,to_int,</div><div class='del'>-	  to_str,to_ary</div><div class='del'>-</div><div class='del'>-Sun Oct  4 00:59:52 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: fix command-line option of</div><div class='del'>-	  non-interactive terminal. [ruby-core:23016]</div><div class='del'>-</div><div class='del'>-Sun Oct  4 00:40:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/contrib: added.  [ruby-core:25918]</div><div class='del'>-</div><div class='del'>-Sat Oct  3 22:14:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (bv_decls, bvar): fix for block variables.</div><div class='del'>-	  [ruby-dev:39423]</div><div class='del'>-</div><div class='del'>-Sat Oct  3 21:19:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_def): no redefinition warning on</div><div class='del'>-	  undef.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 18:51:11 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_f_integer): now Integer() takes optional base</div><div class='del'>-	  argument.  base will be ignored for non string values.</div><div class='del'>-	  suggested by Sam Carr at RubyFoo Lounge at London.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb (TestInteger#test_Integer): test</div><div class='del'>-	  updated.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 04:34:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen): parser_yyerror takes two arguments.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 04:07:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake: updated to rake code to rake-0.8.7 source code base.</div><div class='del'>-</div><div class='del'>-	* lib/rake/loaders/makefile.rb (Rake::MakefileLoader#process_line):</div><div class='del'>-	  respace dependencies too.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 02:59:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen): get rid of macro collision.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 02:49:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): should count frozen array itself.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 01:01:20 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h: Updated to Unicode 5.2.0.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 01:01:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: workaround for regexp metacharacters of expr in</div><div class='del'>-	  prefix path.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 00:47:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/dummyparser.rb (DummyParser): improvement by Magnus</div><div class='del'>-	  Holm in [ruby-core:25884].</div><div class='del'>-	  * remove scanner events which simply returned the first argument.</div><div class='del'>-	  * all parser events are now automatically generated.</div><div class='del'>-	  * simplify blocks.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 00:43:52 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_type_t): remove a comma at end of</div><div class='del'>-	  enumerator list.</div><div class='del'>-</div><div class='del'>-Sat Oct  3 00:31:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (discrete_object_p): needs the argument type to get rid</div><div class='del'>-	  of truncation on platforms where VALUE is larger than int.</div><div class='del'>-</div><div class='del'>-Fri Oct  2 22:30:15 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd,</div><div class='del'>-	  enc/unicode/name2ctype.src: Updated to Unicode 5.2.0.</div><div class='del'>-	  NOTE: when you update these data, download UnicodeData.txt</div><div class='del'>-	  and Scripts.txt from http://www.unicode.org/Public/UNIDATA/</div><div class='del'>-	  and run</div><div class='del'>-	  ruby1.9 tool/enc-unicode.rb UnicodeData.txt Scripts.txt \</div><div class='del'>-	  &gt; enc/unicode/name2ctype.kwd</div><div class='del'>-</div><div class='del'>-	* enc/unicode/Scripts.txt: removed.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/UnicodeData.txt: removed.</div><div class='del'>-</div><div class='del'>-Fri Oct  2 20:49:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_slice_before): take a pattern if no block given.</div><div class='del'>-</div><div class='del'>-Fri Oct  2 20:37:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_yylval_id, ripper_get_{id,value}): wrap ID by</div><div class='del'>-	  NODE to track local variable assignment.</div><div class='del'>-</div><div class='del'>-	* parse.y (lvar_defined_gen, assignable_gen): enable local</div><div class='del'>-	  variable check.  [ruby-core:24923]</div><div class='del'>-</div><div class='del'>-	* parse.y (validate): use value only.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_parser_events.rb (test_local_variables): tests</div><div class='del'>-	  based on a patch from Magnus Holm in [ruby-core:25885].</div><div class='del'>-</div><div class='del'>-Fri Oct  2 15:34:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_suppress_tracing): get rid of clobbering by</div><div class='del'>-	  longjmp.</div><div class='del'>-</div><div class='del'>-Fri Oct  2 09:20:35 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_origenviron): remove unused old variable.</div><div class='del'>-	  [ruby-dev:39412]</div><div class='del'>-</div><div class='del'>-Thu Oct  1 14:16:39 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{setup.mak,Makefile.sub,win32.c},include/ruby/win32.h (RT_VER):</div><div class='del'>-	  split compiler specification and runtime library specification.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LD_SHARED*, config.status): no need to embed</div><div class='del'>-	  manifest if not exist.</div><div class='del'>-</div><div class='del'>-Thu Oct  1 13:23:14 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getpid): simply call GetCurrentProcessId()</div><div class='del'>-	  instead of calling MSVCRT's getpid().</div><div class='del'>-</div><div class='del'>-Wed Sep 30 13:15:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_def): show the location where</div><div class='del'>-	  overwritten method was defined.  [ruby-dev:39400]</div><div class='del'>-</div><div class='del'>-Wed Sep 30 00:37:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_block_call): extracted.</div><div class='del'>-</div><div class='del'>-Wed Sep 30 00:00:25 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): escape as \x{XXXX} when the encoding is</div><div class='del'>-	  other than Unicode. [ruby-dev:39388]</div><div class='del'>-</div><div class='del'>-Wed Sep 30 00:00:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (THREAD_MODEL): modified message when no thread</div><div class='del'>-	  model is available.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 23:17:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): rb_utf8mac_encoding is undefined.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 22:25:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_struct_iv_get): deprecated because it is</div><div class='del'>-	  not used and access internal structure.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 22:19:36 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_equal): use Time#subsec if nsec</div><div class='del'>-	  is not enough to distinguish arguments.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 21:16:35 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): add UTF8-MAC to no-conversion encoding.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 21:21:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--enable-pthread): deprecated.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 21:03:59 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (Kernel#pp): returns its arguments, like Kernel#p.</div><div class='del'>-	  [ruby-dev:34830]</div><div class='del'>-</div><div class='del'>-Tue Sep 29 17:02:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/common.rb (recurse_proc): removed needless</div><div class='del'>-	  module_function, since visibility is already module_function.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 13:48:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_eq): non-null definition is</div><div class='del'>-	  not equal to null definition.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_def): nothing to do if old method had</div><div class='del'>-	  same definition.  [ruby-dev:39397]</div><div class='del'>-</div><div class='del'>-Tue Sep 29 06:50:32 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): dump as \uXXXX when the</div><div class='del'>-	  string is in Unicode. [ruby-dev:39388]</div><div class='del'>-</div><div class='del'>-Tue Sep 29 06:49:16 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_unicode_p): defined.</div><div class='del'>-	  Returns 1 when the encoding is Unicode series</div><div class='del'>-	  other than UTF-7 else 0.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 04:14:08 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): On Unix systems,</div><div class='del'>-	  filesystem encoding should be locale encoding.</div><div class='del'>-	  [ruby-dev:39393]</div><div class='del'>-</div><div class='del'>-Tue Sep 29 04:07:58 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_f_getenv): use rb_filesystem_str_new_cstr</div><div class='del'>-	  instead of rb_str_new2.</div><div class='del'>-	  ENV['PATH'].encoding should be Filesystem Encoding</div><div class='del'>-	  because its content is related to filesystem.</div><div class='del'>-	  see [ruby-dev:39393]</div><div class='del'>-</div><div class='del'>-	* hash.c (env_fetch): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_filesystem_str_new): defined.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_filesystem_str_new_cstr): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_filesystem_str_new): added.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_filesystem_str_new_cstr): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 04:06:18 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: include inttypes.h and stdint.h.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 00:07:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_f_getenv, env_fetch): env string may be overwritten.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 23:30:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (load_lib, dln_find_exe_r): env string may be overwritten.</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_{exit,loaderror,memerror,notimplement}): renamed as</div><div class='del'>-	  independent names.</div><div class='del'>-</div><div class='del'>-	* dln.c (aix_loaderror): needs format string.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 19:36:20 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (LK_ERR): with overlapped I/O, LockFileEx() returns</div><div class='del'>-	  ERROR_IO_PENDING if the file is locked.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 19:05:05 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: aligned prototype of st_hash_uint32 with function</div><div class='del'>-	  definition (fixing compiling problem on cygwin)</div><div class='del'>-</div><div class='del'>-Mon Sep 28 12:13:15 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (enum): new method type VM_METHOD_TYPE_MISSING.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): invoking VM_METHOD_TYPE_MISSING method</div><div class='del'>-	  objects.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): invoking method defined from</div><div class='del'>-	  VM_METHOD_TYPE_MISSING.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_eq): two method object wraps</div><div class='del'>-	  method_missing with same symbol should be equal.</div><div class='del'>-	  [ruby-core:25755]</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): should always return method object.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 11:38:07 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string): the byte after ``\'' may be a part of</div><div class='del'>-	  multibyte character, so pushback it. [ruby-list:46416]</div><div class='del'>-</div><div class='del'>-Mon Sep 28 10:06:38 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* stringio/stringio.c (strio_read): set ASCII-8BIT encoding</div><div class='del'>-	  when length argument is given.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 01:28:17 2009  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby): suppress duplication warning on AIX.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 01:13:25 2009  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby.imp): add text section [Bug #2064].</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby.imp): do not export Init_*.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 13:06:43 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP:ObjectMixin#pretty_print): delegates has no inspect</div><div class='del'>-	  method.  [ruby-core:25804]</div><div class='del'>-</div><div class='del'>-Sun Sep 27 12:01:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat2): optimize since all second arguments are</div><div class='del'>-	  constant literals.</div><div class='del'>-</div><div class='del'>-	* string.c (str_cat_char): unused now.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_hash_{uint{32,},end}): removed.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 11:58:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (optflags): add -fomit-frame-pointer by default.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 11:28:15 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax): use struct for memo.</div><div class='del'>-	  (enum_minmax_by): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 10:21:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): check all flags if each are available.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 05:35:17 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/generator/generator.c: Documentation patch by okkez.</div><div class='del'>-	  [Bug #2075]</div><div class='del'>-</div><div class='del'>-Sun Sep 27 04:20:55 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): result's encoding should be fixed.</div><div class='del'>-	  If default_internal is not nil, the encoding is default_internal.</div><div class='del'>-	  Else if default_external is not nil, the encoding is default_external.</div><div class='del'>-	  But the encoding is not ASCII-compatible, the encoding is replaced by</div><div class='del'>-	  US-ASCII.</div><div class='del'>-	  Characters in ASCII-incompatible encoding or non ASCII characters</div><div class='del'>-	  in other than the encoding will be \xXX escaped.</div><div class='del'>-	  [ruby-dev:39343]</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat2): defined.</div><div class='del'>-</div><div class='del'>-	* string.c (prefix_escape): removed.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 05:37:45 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/missing-pips.c: Updated to work with the latest PIPS 1.6.</div><div class='del'>-</div><div class='del'>-	* symbian/setup: ditto.</div><div class='del'>-</div><div class='del'>-	* symbian/README.SYMBIAN: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 02:00:46 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: use rename-macro instead of RUBY_ALIAS_FUNCTION_TYPE.</div><div class='del'>-	  Because build causes failure.</div><div class='del'>-</div><div class='del'>-Sat Sep 26 23:29:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: moved murmur hash from string.c.  [ruby-dev:39376]</div><div class='del'>-</div><div class='del'>-Sun Sep 26 00:24:14 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup: Updated .mmp file generation due to blockinlining.c removal.</div><div class='del'>-</div><div class='del'>-Sat Sep 26 22:39:24 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in(test-rubyspec): explicitly executes run subcommand of</div><div class='del'>-	  mspec.</div><div class='del'>-</div><div class='del'>-	* spec/README: typo fix</div><div class='del'>-</div><div class='del'>-Sat Sep 26 17:53:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (COLLISION): improved collision log feature.</div><div class='del'>-</div><div class='del'>-	* string.c (hash): updated to MurmurHash 2.0 2009-09-19.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_hash_start): fixed shift width on 128bit platform.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_hash_{start,uint32,uint,end}): fixed</div><div class='del'>-	  prototypes.</div><div class='del'>-</div><div class='del'>-Sat Sep 26 13:26:55 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (transport_request): Handle timeout error by</div><div class='del'>-	  closing socket if exception raised. [ruby-core:20976]</div><div class='del'>-</div><div class='del'>-Sat Sep 26 12:08:17 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_eq): method defined from same</div><div class='del'>-	  block/proc should be equal.  [ruby-core:25755] [ruby-core:24791]</div><div class='del'>-</div><div class='del'>-Sat Sep 26 08:35:12 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (compile_string): rename to parse_string(), because</div><div class='del'>-	  this function only parse String to NODE.</div><div class='del'>-</div><div class='del'>-Fri Sep 25 16:01:45 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_access): new function to</div><div class='del'>-	  replace MSVCRT's access().</div><div class='del'>-	  [ruby-core:25761]</div><div class='del'>-</div><div class='del'>-	* file.c (eaccess): workaround for recent MSVCRT is no longer needed.</div><div class='del'>-</div><div class='del'>-Fri Sep 25 13:04:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): fix for instance method of Module, BasicObject</div><div class='del'>-	  and subclass of a class which overrides respond_to_missing?.</div><div class='del'>-	  based on a patch from Nikolai Lugovoi &lt;nlugovoi AT gmail.com&gt; in</div><div class='del'>-	  [ruby-core:25748].</div><div class='del'>-</div><div class='del'>-Fri Sep 25 11:56:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_mod_method_defined): should return true or false.</div><div class='del'>-</div><div class='del'>-Thu Sep 24 13:32:53 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): generate method object that wraps method_missing,</div><div class='del'>-	  when #respond_to_missing? is defined.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (test_respond_to_missing): add test</div><div class='del'>-	  suites for #respond_to_missing? changes.</div><div class='del'>-</div><div class='del'>-Thu Sep 24 09:41:42 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Bignum#**): Fixed bignum**fixnum that was broken when</div><div class='del'>-	  requiring lib/mathn</div><div class='del'>-	  [ruby-core:25740]</div><div class='del'>-</div><div class='del'>-Thu Sep 24 02:21:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (atan): atan(Infinity) is</div><div class='del'>-	  PI/2.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (atan): reduce loop with</div><div class='del'>-	  the double-angle formula.  based on a patch from Masahiro</div><div class='del'>-	  Kanai (CanI) in [ruby-dev:39367].</div><div class='del'>-</div><div class='del'>-Thu Sep 24 01:14:18 2009  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (aix_loaderror): fixed typo. suppress warnings.</div><div class='del'>-</div><div class='del'>-Thu Sep 24 00:17:06 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax): reduce comparison.</div><div class='del'>-	  (enum_minmax_by): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 23 22:58:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable#wait): add timeout argument.</div><div class='del'>-	  [ruby-talk:346154]</div><div class='del'>-</div><div class='del'>-Wed Sep 23 21:25:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (atan): refined.</div><div class='del'>-</div><div class='del'>-Wed Sep 23 17:08:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assign_in_cond): also should warn assignment to dvar in</div><div class='del'>-	  conditional.  [ruby-dev:39363]</div><div class='del'>-</div><div class='del'>-Wed Sep 23 13:14:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): keep first width.  [ruby-dev:39361]</div><div class='del'>-</div><div class='del'>-Wed Sep 23 11:28:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb (make_header_prepare_stack): check stack</div><div class='del'>-	  overflow.  [ruby-core:25714]</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb (make_footer_stack_val): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 23 05:03:36 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (umethod_bind, rb_mod_define_method): Fix bug that</div><div class='del'>-	  disallowed methods from singleton classes to be used for</div><div class='del'>-	  UnboundMethod#bind, Kernel#define_singleton_method and</div><div class='del'>-	  Module#define_method, even when that singleton class was of the right</div><div class='del'>-	  kind_of. A patch by Shane O'Brien [ruby-core:25632]</div><div class='del'>-</div><div class='del'>-Tue Sep 22 22:56:48 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (basic_obj_respond_to): new function to fundamental</div><div class='del'>-	  behavior for #respond_to?</div><div class='del'>-</div><div class='del'>-	* vm_method.c (basic_obj_respond_to): calls #respond_to_missing</div><div class='del'>-	  method if overridden, to check responsiveness of methods</div><div class='del'>-	  implemented by #method_missing.</div><div class='del'>-</div><div class='del'>-Tue Sep 22 16:34:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_table_entry, st_get_key): use st_index_t.</div><div class='del'>-</div><div class='del'>-Tue Sep 22 16:28:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.h (PosixBracketEntryType): constified.</div><div class='del'>-</div><div class='del'>-	* regenc.h (PosixBracketEntryInit): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* regerror.c (onig_error_code_to_str, onig_snprintf_with_pattern):</div><div class='del'>-	  fixed type.</div><div class='del'>-</div><div class='del'>-	* regparse.c (st_str_end_key, str_end_cmp, str_end_hash):</div><div class='del'>-	  constified.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_generated_code): fixed type.</div><div class='del'>-</div><div class='del'>-Tue Sep 22 10:29:06 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_chunk): new method Enumerable#chunk.</div><div class='del'>-	* enum.c (enum_slice_before): new method Enumerable#slice_before.</div><div class='del'>-	  [ruby-dev:38392] [ruby-dev:39240]</div><div class='del'>-</div><div class='del'>-Tue Sep 22 05:58:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, cont.c, gc.c, insns.def, iseq.c, iseq.h, process.c,</div><div class='del'>-	  thread.c, vm.c, vm_core.h, vm_dump.c, vm_eval.c,</div><div class='del'>-	  vm_insnhelper.c, vm_method.c, template/insns_info.inc.tmpl,</div><div class='del'>-	  tool/instruction.rb: fixed types.</div><div class='del'>-</div><div class='del'>-Tue Sep 22 05:04:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/{ludcmp,math}.rb: depend on</div><div class='del'>-	  bigdecimal.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/*.rb: made module functions.</div><div class='del'>-</div><div class='del'>-Tue Sep 22 04:47:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValue): support conversion from</div><div class='del'>-	  Rational.  [ruby-core:25697]</div><div class='del'>-</div><div class='del'>-Tue Sep 22 04:43:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (INSNS): depend on tools.</div><div class='del'>-</div><div class='del'>-Tue Sep 22 01:10:22 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* ossl_ocsp.c (ossl_ocspres_to_der): Bug fix in Response#to_def.</div><div class='del'>-	  Patch by Chris Chandler [ruby-core:18411]</div><div class='del'>-</div><div class='del'>-Tue Sep 22 01:10:02 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* ossl_config.c (ossl_config_add_value_m, ossl_config_set_section):</div><div class='del'>-	  Check if frozen (or untrusted for $SAFE &gt;= 4) [ruby-core:18377]</div><div class='del'>-</div><div class='del'>-Mon Sep 21 17:12:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_binding): allow proc from method.  [ruby-core:25589]</div><div class='del'>-</div><div class='del'>-	* vm.c (collect_local_variables_in_env): block iseq can be NULL.</div><div class='del'>-</div><div class='del'>-Mon Sep 21 10:50:37 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_succ): make Time#succ obsolete since time is not</div><div class='del'>-	  a discrete value.</div><div class='del'>-</div><div class='del'>-	* range.c (discrete_object_p): treat time objects specially to</div><div class='del'>-	  determine discrete values, since time objects have #succ yet are</div><div class='del'>-	  discrete (for now at least).</div><div class='del'>-</div><div class='del'>-Mon Sep 21 10:13:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_new, cont_capture, fiber_t_alloc): needs already</div><div class='del'>-	  running thread.  cf. [ruby-core:25681]</div><div class='del'>-</div><div class='del'>-Mon Sep 21 00:07:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (sin, cos, atan, exp, log):</div><div class='del'>-	  improved precision and performance.  based on a patch from Makoto</div><div class='del'>-	  Yamashita in [ruby-core:25600] and [ruby-core:25602].</div><div class='del'>-</div><div class='del'>-Sun Sep 20 11:11:34 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_equal, rb_struct_eql): Handle comparison of</div><div class='del'>-	  recursive structures [ruby-core:24759]</div><div class='del'>-</div><div class='del'>-	* range.c (range_eq, range_eql):  ditto for ranges</div><div class='del'>-</div><div class='del'>-Sat Sep 19 17:46:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ENABLE_VM_OBJSPACE): socklist needs st_table in</div><div class='del'>-	  rb_w32_sysinit(), before object space initialization.</div><div class='del'>-</div><div class='del'>-Sat Sep 19 17:32:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (GlobPathValue), file.c (rb_get_path_check): path names</div><div class='del'>-	  must be ASCII compatible.</div><div class='del'>-</div><div class='del'>-Sat Sep 19 00:02:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_type): forward declaration to suppress a</div><div class='del'>-	  warning.  a patch from Naohisa Goto at [ruby-dev:39350]</div><div class='del'>-</div><div class='del'>-Fri Sep 18 23:59:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (GlobPathValue): adjust return types.  based on a patch</div><div class='del'>-	  from Naohisa Goto at [ruby-dev:39350].</div><div class='del'>-</div><div class='del'>-Fri Sep 18 23:51:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): entry regexp object before its encoding</div><div class='del'>-	  name.  [ruby-core:25625]</div><div class='del'>-</div><div class='del'>-Fri Sep 18 16:29:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (eval.o): needs vm.h.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): destruct current VM before exit.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): free object space.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): destruct and free VM struct.</div><div class='del'>-</div><div class='del'>-Fri Sep 18 16:15:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each), parse.y (stmt, arg): arg_concat()</div><div class='del'>-	  on op_asgn was inversed.  [ruby-core:25629] [Bug #2050]</div><div class='del'>-</div><div class='del'>-Fri Sep 18 16:06:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (GlobPathValue): glob allows null bytes as separators.</div><div class='del'>-</div><div class='del'>-Fri Sep 18 10:11:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc: use rdoc mode.</div><div class='del'>-</div><div class='del'>-	* misc/rdoc-mode.el: added.</div><div class='del'>-</div><div class='del'>-Fri Sep 18 09:02:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): don't branch by</div><div class='del'>-	  RUBY_VERSION.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): emacs local variables</div><div class='del'>-	  are delimited by a semicolon.  supported Vim style.</div><div class='del'>-</div><div class='del'>-Fri Sep 18 07:06:41 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add a test for [ruby-dev:39345]</div><div class='del'>-</div><div class='del'>-Fri Sep 18 06:47:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): str should be a string always.</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob, dir_globs): use #to_path to convert non-</div><div class='del'>-	  string values.  cf. [ruby-dev:39345]</div><div class='del'>-</div><div class='del'>-Fri Sep 18 06:36:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (rm_f, rm_rf): FileUtils.rm can take an array.</div><div class='del'>-	  [ruby-dev:39345]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_header): open in binmode.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 18:34:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_xrealloc): free as like standard free if size is zero.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 15:41:02 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: use rb_node_newnode() directly.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 15:01:32 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c: removed.</div><div class='del'>-</div><div class='del'>-	* README.EXT: ditto.</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 13:50:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_s_debug_set): set level, not only boolean.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 13:12:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb (RDoc::Parser::Ruby): parse also rdoc</div><div class='del'>-	  files.</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc: renamed from re.rb.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 09:37:28 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rb: New document for Ruby's fork of Oniguruma.</div><div class='del'>-	  written by Run Paint Run Run [ruby-core:25420]</div><div class='del'>-</div><div class='del'>-	* re.c: import document in doc/re.rb.</div><div class='del'>-</div><div class='del'>-	* .document: add doc/re.rb.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 06:03:40 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix#rank): Two bug fixes. One made</div><div class='del'>-	  Matrix[[0,0],[0,0],[1,0]].rank raise a NoMethodError while the other</div><div class='del'>-	  one had Matrix[[0,1],[0,0],[1,0]].rank raise a TypeError.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 06:02:04 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Optimizations</div><div class='del'>-</div><div class='del'>-Thu Sep 17 00:36:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump): error message refined.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 19:27:43 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_recursive): remove</div><div class='del'>-	  implementation dependent test.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 17:42:52 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): install-capi needs docdir.  And,</div><div class='del'>-	  mandir, infodir and ridir are also depend on datadir like docdir.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 17:20:49 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix#/): Fix obvious bug</div><div class='del'>-</div><div class='del'>-Wed Sep 16 16:59:34 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (DOCTARGETS): rdoc is default.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 16:27:40 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: typo.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 16:20:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CAPITARGET): enable iff doxygen is available.</div><div class='del'>-</div><div class='del'>-	* configure.in (INSTALLDOC): enable if rdoc or doxygen are enabled.</div><div class='del'>-</div><div class='del'>-	* common.mk (docs): target to make documents.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (install-{all,nodoc}): trigger</div><div class='del'>-	  by $(INSTALLDOC) from install.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 13:39:10 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (determinant): Bug fix where determinant failed on</div><div class='del'>-	  some matrices [ruby-core:23597]</div><div class='del'>-</div><div class='del'>-Wed Sep 16 13:30:20 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb:  trivial optimizations</div><div class='del'>-</div><div class='del'>-Wed Sep 16 13:15:17 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/Doxyfile.tmpl: RbConfig::CONFIG['DOT'] is sometimes nil.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 10:14:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (rb_protect, rb_jump_tag): added.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 10:12:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (main): makes also encs.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 06:30:07 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_exec_recursive_outer, rb_exec_recursive): Added method</div><div class='del'>-	  to short-circuit to the outermost level in case of recursion</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_recursive_outer): Test for above</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_hash): Return a sensible hash for in case of</div><div class='del'>-	  recursion [ruby-core:24648]</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_hash): ditto</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_hash): ditto</div><div class='del'>-</div><div class='del'>-	* array.c (rb_array_hash): ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_hash2): test for above</div><div class='del'>-</div><div class='del'>-Wed Sep 16 06:17:33 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_catch_obj, rb_catch, rb_f_catch): No longer use the</div><div class='del'>-	  obsolete function rb_iterate.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 21:48:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--enable-frame-address): removed.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 15:21:01 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{configure.bat,Makefile.sub} (RDOCTARGET): the meaning of this</div><div class='del'>-	  macro was changed at r24923.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 15:16:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (install-rdoc), configure.in (RDOCTARGET): removed</div><div class='del'>-	  circular dependency.  [ruby-dev:39339]</div><div class='del'>-</div><div class='del'>-Tue Sep 15 15:09:13 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: need a space before a tab to output the tab by</div><div class='del'>-	  echo.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 14:24:52 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): use rb_isspace when the</div><div class='del'>-	  string may be ASCII-incompatible.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 12:12:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_USE_BUILTIN_FRAME_ADDRESS): check after real</div><div class='del'>-	  target CPU is set.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_UNIVERSAL_ARCH): check real target CPU after</div><div class='del'>-	  AC_PROG_CC.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 06:42:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (install-all): target to install all.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (parse_args): accept all install targets.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (parse_args): show help message and exit if</div><div class='del'>-	  rbconfig could not load.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 04:25:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RDOCTARGET): use install-all.  [ruby-dev:39334]</div><div class='del'>-</div><div class='del'>-Tue Sep 15 03:00:35 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip_bang): use ascii_isspace().  [ruby-dev:39322]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 16:39:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c, parse.y: fixed types.</div><div class='del'>-</div><div class='del'>-	* node.h (nd_line): limit to int.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 11:23:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, common.mk, */configure.bat (rdoc): make before</div><div class='del'>-	  install if rdoc is enabled.  [ruby-dev:39325]</div><div class='del'>-</div><div class='del'>-Mon Sep 14 10:56:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (check-ruby): run all test of ruby itself.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 10:44:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_TYPE_P): should not use BUILTIN_TYPE for</div><div class='del'>-	  special constants.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 10:08:19 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): use rb_enc_mbc_to_codepoint</div><div class='del'>-	  because we already knew char is found and got length.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 09:59:03 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2INT, NUM2LL, INT2NUM, UINT2NUM),</div><div class='del'>-	  (LONG2NUM, ULONG2NUM, NUM2CHR): get rid of backward references of</div><div class='del'>-	  macros.  the code couldn't compile by VC.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 08:33:11 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (each_*): return enumerator if no block present.</div><div class='del'>-	  Patch by Arthur Schreiber [ruby-core:18310]</div><div class='del'>-</div><div class='del'>-Mon Sep 14 06:42:21 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/cookie.rb (value): Keep CGI::Cookie#value in sync with the</div><div class='del'>-	  cookie itself. Based on a patch by Arthur Schreiber [ruby-core:17634]</div><div class='del'>-</div><div class='del'>-Mon Sep 14 05:21:12 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (fetch): Handle properly default values; a patch by</div><div class='del'>-	  Arthur Schreiber [ruby-core:18308]</div><div class='del'>-</div><div class='del'>-Mon Sep 14 04:07:09 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (==): Optimization; patch by Arthur Schreiber [ruby-core:17203]</div><div class='del'>-</div><div class='del'>-Mon Sep 14 03:30:23 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/pre-build: added rule to generate id.h for Symbian build.</div><div class='del'>-</div><div class='del'>-	* symbian/configure.bat: fixed harmless error message.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 22:18:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_remove_const): do not change VM state when an</div><div class='del'>-	  exception will occur.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 21:25:01 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (oletypelib_get_libattr): some refactoring</div><div class='del'>-	  by adding oletypelib_get_libattr.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 20:55:19 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (oletypelib_get_typelib): some refactoring</div><div class='del'>-	  by adding oletypelib_get_typelib.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 20:18:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_sflag, proc_options, load_file_internal): fixed</div><div class='del'>-	  types.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 19:39:59 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: some refactoring.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 19:38:34 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): no need to define DATA when error.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 18:48:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XLDFLAGS): link startup code with ObjC support.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 13:38:00 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_*): refactored the access to the inspect</div><div class='del'>-	  table used by rb_exec_recursive_*. The functions recursive_push,</div><div class='del'>-	  pop and check now assume a valid hash table as their first</div><div class='del'>-	  argument. Added documentation.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 12:07:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (SYM2ID): needs parens.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2INT, NUM2LL, INT2NUM, UINT2NUM),</div><div class='del'>-	  (LONG2NUM, ULONG2NUM, NUM2CHR, rb_type_p, rb_special_const_p):</div><div class='del'>-	  GCC specific optimization.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 11:06:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI::Meta#content_type_parse): strip quotes.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 09:38:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (EratosthenesGenerator#initialize): call super.</div><div class='del'>-	  (TrialDivisionGenerator, Generator23): ditto.  [ruby-core:25539]</div><div class='del'>-</div><div class='del'>-Sun Sep 13 09:34:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_def): no warning for inherited</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 08:30:30 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: fix WIN32OLE_TYPELIB.new when the 1st</div><div class='del'>-	  argument is the non-registered file.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 02:08:43 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: change members of iseq_inline_cache_entry.</div><div class='del'>-	  make cache value members to one union member "ic_value".</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 01:15:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::FTP#buffer_open): fix the %2F handling.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 00:46:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (CALL_METHOD_HOOK): refined with macro.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_remove_method_id): no definition body is</div><div class='del'>-	  undefined.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method, rb_add_method_me): call method added</div><div class='del'>-	  hook after definition.  [ruby-core:25536]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): hooks are called from rb_add_method_def.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 22:47:24 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::FTP#buffer_open): use the port specified in</div><div class='del'>-	  the URI.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 17:31:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (GCC): subst for GCC depending extension libraries.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 07:52:59 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_Invoke): initialize result</div><div class='del'>-	  variant value.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 21:52:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: update for 1.9.2.  based on a patch from Run Paint Run Run</div><div class='del'>-	  in [ruby-core:25534].</div><div class='del'>-</div><div class='del'>-Fri Sep 11 21:38:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for real target cpu on darwin 10.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 18:51:57 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils: use require_relative to require fileasserts.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 14:22:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (debugflags): use gdb by default on linux and</div><div class='del'>-	  darwin.</div><div class='del'>-</div><div class='del'>-	* configure.in (XLDFLAGS): keep ARCHFILE macro on AIX.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): define typename to default</div><div class='del'>-	  type if the latter is found.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 13:57:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (fstat): override if large file support is</div><div class='del'>-	  enabled.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 11:33:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.{guess,sub}: updated to automake-1.11.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 10:38:33 2009  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPHeader::encode_kvpair): also call to_s</div><div class='del'>-	  to k.  A patch from swdyh &lt;youhei@gmail.com&gt;</div><div class='del'>-	  http://github.com/swdyh/ruby/tree/c847f43c2ccb679b9ff728f8b1b16c6ceeb57f39</div><div class='del'>-</div><div class='del'>-Fri Sep 11 09:45:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (aix_loaderror): get rid of using uninitialized value in the</div><div class='del'>-	  case loadquery fails.  fixed wrong index variable usage.  see</div><div class='del'>-	  [ruby-core:25479].</div><div class='del'>-</div><div class='del'>-Fri Sep 11 07:52:43 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* unicode.c (onigenc_unicode_property_name_to_ctype):</div><div class='del'>-	  ignore case of properties.</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: downcase properties list.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,</div><div class='del'>-	  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:</div><div class='del'>-	  follow above.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 05:00:19 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_data_type_t): Add comments.</div><div class='del'>-	  And add a member variable "data", a multi-purpose storage</div><div class='del'>-	  area for rb_data_type.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 02:14:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl: use require_relative to require test_base.rb.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 02:06:44 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_char_to_option_kcode): ASCII-8BIT should</div><div class='del'>-	  also delay.</div><div class='del'>-</div><div class='del'>-	* re.c (parser_regx_options): return rb_ascii8bit_encindex on</div><div class='del'>-	  ASCII-8BIT. [ruby-dev:39300]</div><div class='del'>-</div><div class='del'>-Fri Sep 11 01:14:00 2009  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (fetch): rdoc fix, patch by Arthur Schreiber.</div><div class='del'>-	  [ruby-core:18309].</div><div class='del'>-</div><div class='del'>-Thu Sep 10 23:00:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): fix for parallel execution.</div><div class='del'>-	  [ruby-core:25509]</div><div class='del'>-</div><div class='del'>-Thu Sep 10 21:22:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_cptr.rb (test_free=): test SEGV at first.</div><div class='del'>-	  [ruby-dev:39269]</div><div class='del'>-</div><div class='del'>-Thu Sep 10 21:20:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): Don't use</div><div class='del'>-	  AssertionMessage.</div><div class='del'>-</div><div class='del'>-Thu Sep 10 15:59:05 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (UNKNOWN_ESC_WARN): added.</div><div class='del'>-</div><div class='del'>-	* regparse.c (conv_backslash_value): Warn unknown</div><div class='del'>-	  escaped chars in regexp. [ruby-dev:39104]</div><div class='del'>-</div><div class='del'>-Wed Sep  9 22:02:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#copy_file): open the source</div><div class='del'>-	  file first to ensure it can be copied.  [ruby-core:25498]</div><div class='del'>-</div><div class='del'>-Wed Sep  9 21:20:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (dlcfunc_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (dlptr_data_type): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (dlhandle_data_type): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 17:17:31 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (parser_regx_options): only one kcode should effect</div><div class='del'>-	  options [ruby-core:25411]</div><div class='del'>-</div><div class='del'>-Wed Sep  9 15:46:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_provided): fixed for autoloading extension</div><div class='del'>-	  library without suffix.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 15:24:32 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h : revert previous commit.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c : remove st_memsize declare.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 14:07:19 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h : fix duplicate st_memsize declare.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 13:33:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload): initialize typed data.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 13:10:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_free_table): constified.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 13:09:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_data_type): typed.</div><div class='del'>-	  (yielder_data_type, generator_data_type): ditto.</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* file.c (stat_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* thread.c (thgroup_data_type, mutex_data_type, barrier_data_type):</div><div class='del'>-	  typed.</div><div class='del'>-</div><div class='del'>-	* time.c (time_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_data_type): typed.</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_data_type): typed.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 11:11:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_data_type_struct): constified dsize.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 11:07:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_memsize): fixed wrong expression on IA64.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 10:51:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_1, rb_cont_call): should be Fiber.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 00:27:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_data_type, fiber_data_type): typed.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 22:37:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb, lib/tmpdir.rb (Tmpname): extracted new module.</div><div class='del'>-	  [ruby-dev:39197]</div><div class='del'>-</div><div class='del'>-Tue Sep  8 22:18:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_init_*table_with_size): use st_index_t.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (st_hash_func): use st_index_t.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 21:48:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): mark callers iseqs.  [ruby-core:25474]</div><div class='del'>-	  [Bug #2062]</div><div class='del'>-</div><div class='del'>-Tue Sep  8 11:53:58 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_mark): no need to mark inline cache entries.</div><div class='del'>-</div><div class='del'>-	* insns.def (onceinlinecache, setinlinecache): save a value</div><div class='del'>-	  to mark cached value.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 08:32:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_{cfunc,ptr}.rb: added tests from Aaron Patterson.</div><div class='del'>-	  see [ruby-dev:39249].</div><div class='del'>-</div><div class='del'>-Mon Sep  7 17:22:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_tell): adjustment for ungotten data.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 17:13:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encname_bom_p): removed magic number.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 12:26:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/inspector.rb (IRB::INSPECTORS.def_inspector): support</div><div class='del'>-	  object without #inspect defined.  a patch from Daniel</div><div class='del'>-	  Bovensiepen.  [ruby-core:25200]</div><div class='del'>-</div><div class='del'>-Mon Sep  7 05:38:34 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_*): add IC operands.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (CALL_SIMPLE_METHOD): add a version which</div><div class='del'>-	  use an inline cache.  USE_IC_FOR_SPECIALIZED_METHOD macro</div><div class='del'>-	  switches the behaviour.  This change also removes</div><div class='del'>-	  CALL_SIMPLE_METHOD_IC() macro.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: fix elimination process to ignore</div><div class='del'>-	  variable "ic".</div><div class='del'>-</div><div class='del'>-Mon Sep  7 05:21:09 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk: move a id.h generation rule.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 05:07:59 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: remove RUBY_VERSION output.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 05:06:16 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: rename macro name ENABLE_IC_FOR_IVAR</div><div class='del'>-	  to USE_IC_FOR_IVAR.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 03:21:40 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.escape): obsoleted.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.unescape): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  6 18:13:54 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (CALL_SIMPLE_METHOD_IC): make a macro</div><div class='del'>-	  invoke simple method with inline cache entry.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_length, opt_size): fix to use inline method cache.</div><div class='del'>-</div><div class='del'>-Sun Sep  6 17:47:21 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl: fix this.</div><div class='del'>-</div><div class='del'>-	* id.h: removed.  Because this file is generated automatically.</div><div class='del'>-</div><div class='del'>-Sun Sep  6 17:31:28 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction), insns.def (opt_size):</div><div class='del'>-	  optimize #size methods (by specialized instruction).</div><div class='del'>-</div><div class='del'>-	* id.c, id.h, vm.c, vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  6 16:13:06 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (setinstancevariable), vm_insnhelper.c (vm_setivar):</div><div class='del'>-	  fix to use inline cache (trivial optimization).</div><div class='del'>-</div><div class='del'>-Sun Sep  6 10:34:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fixed rdoc, a patch from Nobuhiro IMAI at [ruby-core:25433].</div><div class='del'>-</div><div class='del'>-Sun Sep  6 05:19:09 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Add rdoc for ARGF.</div><div class='del'>-	  contributed by Run Paint Run Run. [ruby-core:23854]</div><div class='del'>-</div><div class='del'>-Sat Sep  5 15:21:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): op_asgn to aref should return rhs.</div><div class='del'>-	  [ruby-core:25387]</div><div class='del'>-</div><div class='del'>-Sat Sep  5 10:38:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): &amp;&amp;= and ||= should return rhs.</div><div class='del'>-	  [ruby-dev:39163] (#1996), [ruby-core:25143]</div><div class='del'>-</div><div class='del'>-Sat Sep  5 08:51:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (update_char_offset): position should be long.</div><div class='del'>-</div><div class='del'>-	* re.c (match_hash, match_equal): new methods.  [ruby-core:24748]</div><div class='del'>-</div><div class='del'>-	* re.c (reg_match_pos, rb_reg_eqq, rb_reg_s_quote): get rid of use</div><div class='del'>-	  VALUE as int.</div><div class='del'>-</div><div class='del'>-Fri Sep  4 20:40:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (round): added declaration.  [ruby-dev:39222]</div><div class='del'>-</div><div class='del'>-Fri Sep  4 06:15:39 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (Init_Dir): alias Dir#path to Dir#to_path.  [ruby-core:25326]</div><div class='del'>-</div><div class='del'>-Fri Sep  4 04:49:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): fixed rdoc.  [ruby-core:25332]</div><div class='del'>-</div><div class='del'>-Fri Sep  4 04:46:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/abstract.rb (do_OPTIONS): method names</div><div class='del'>-	  are symbols now.  [ruby-core:24580]</div><div class='del'>-</div><div class='del'>-Thu Sep  3 17:56:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat_gen): concat body from dstr instead of</div><div class='del'>-	  nd_next.  [ruby-core:25284]</div><div class='del'>-</div><div class='del'>-Wed Sep  2 16:49:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_gamma): get rid of direct comparison between too</div><div class='del'>-	  big double and integer, with gcc on x86_64.  [ruby-core:25257]</div><div class='del'>-</div><div class='del'>-Wed Sep  2 13:47:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check): simplified.</div><div class='del'>-</div><div class='del'>-Wed Sep  2 11:32:24 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): fix to free method table (fix memory leak).</div><div class='del'>-</div><div class='del'>-Wed Sep  2 07:42:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb (RubyVM::InstructionsLoader#make_stackcaching_insns):</div><div class='del'>-	  simplified.</div><div class='del'>-</div><div class='del'>-Wed Sep  2 02:32:46 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/common.rb (NaN): Change definition</div><div class='del'>-	  of NaN to 0.0/0 for 1.8/1.9 compatibility.</div><div class='del'>-</div><div class='del'>-Wed Sep  2 01:16:32 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Update to JSON 1.1.9.</div><div class='del'>-</div><div class='del'>-Tue Sep  1 19:56:28 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): fix to check local_table_size.</div><div class='del'>-	  [ruby-dev:39205] [Bug #2024]</div><div class='del'>-</div><div class='del'>-Mon Aug 31 16:20:41 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (make_singleton_class): variable name changed.</div><div class='del'>-	  removed an unnecessary conditional.</div><div class='del'>-</div><div class='del'>-Mon Aug 31 14:17:09 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: refactored singleton class related matters.</div><div class='del'>-	  Handles eigenclasses and plain classes transparently.</div><div class='del'>-</div><div class='del'>-	  (make_metaclass): renamed from make_metametaclass.</div><div class='del'>-	  (METACLASS_OF): new utility macro</div><div class='del'>-	  (META_CLASS_OF_CLASS_CLASS): ditto.</div><div class='del'>-	  (ENSURE_EIGENCLASS): ditto.</div><div class='del'>-	  (make_singleton_class): extracted from rb_singleton_class.</div><div class='del'>-	  (boot_defclass): moved from object.c</div><div class='del'>-	  (Init_class_hierarchy): extracted from Init_Object.</div><div class='del'>-	  (rb_make_metaclass): refactored.</div><div class='del'>-	  (singleton_class_of): extracted from rb_singleton_class.</div><div class='del'>-	  (rb_singleton_class): refactored.</div><div class='del'>-	  (rb_define_singleton_method): it needs a metaclass only</div><div class='del'>-	  but not its metametaclass.</div><div class='del'>-</div><div class='del'>-	* object.c: booting class hierarchy was moved to class.c</div><div class='del'>-	  for keeping dependency between compilation units least.</div><div class='del'>-	  (Init_Object): extracting the booting into</div><div class='del'>-	  Init_class_hierarchy.</div><div class='del'>-	  (boot_defclass): moved to class.c.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 23:44:09 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): use mktime for the first guess.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 16:38:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname2_p): not depend on nul terminator.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 14:11:45 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: dependencies updated.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 13:00:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (add): shortcut implemented for fixnums.</div><div class='del'>-	  (sub): ditto.</div><div class='del'>-	  (mul): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 10:24:43 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (eq): apply RTEST.</div><div class='del'>-	  (ne): ditto.</div><div class='del'>-	  (add): avoid method dispatch for bignums.</div><div class='del'>-	  (sub): ditto.</div><div class='del'>-	  (mul): ditto.</div><div class='del'>-	  (mod): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 09:45:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_single): new function specialized respect to</div><div class='del'>-	  multiply two single digit bignums.</div><div class='del'>-	  (bigmul0): use bigmul1_single.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 03:59:43 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* timev.h (TIME_SCALE): defined as 1000000000.</div><div class='del'>-	  (struct vtm): subsec is replaced by subsecx.</div><div class='del'>-	  subsec * TIME_SCALE == subsecx.</div><div class='del'>-</div><div class='del'>-	* time.c: avoid rational in most cases.</div><div class='del'>-	  (struct time_object): timev is replaced by timexv.</div><div class='del'>-	  timev * TIME_SCALE == timexv.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 03:17:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (init_leap_second_info): use TIMET_MAX.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 01:15:31 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_read_all): use gzfile_newstr;</div><div class='del'>-	  set and convert its encoding. [ruby-dev:38304]</div><div class='del'>-</div><div class='del'>-Sat Aug 29 20:40:02 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_call0): gets rid of checking method cache twice.</div><div class='del'>-</div><div class='del'>-	* method.h (rb_get_method_entry): added a prototype of the function.</div><div class='del'>-	  (rb_method_entry_without_cache): more friendly name.</div><div class='del'>-</div><div class='del'>-Sat Aug 29 12:16:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.mktmpdir): rolled back r24699.  [ruby-dev:39193]</div><div class='del'>-</div><div class='del'>-Sat Aug 29 03:27:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#make_tmpname): removed thread race</div><div class='del'>-	  condition.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.mktmpdir): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 20:29:34 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#callback): Debug information should be</div><div class='del'>-	  output to stderr, not stdout; pointed out by akira yamada.</div><div class='del'>-	  cf. [ruby-dev:39072]</div><div class='del'>-</div><div class='del'>-Fri Aug 28 20:34:24 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: use SafeStringValue instead of</div><div class='del'>-	  Check_SafeStr.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 13:30:43 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): rollback r24680. void struct initializer is</div><div class='del'>-	  invalid.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 11:45:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_definition_t): split from rb_method_entry_</div><div class='del'>-	  to deal aliases.  [ruby-dev:39165]</div><div class='del'>-</div><div class='del'>-	* proc.c (struct METHOD): contains rb_method_entry_t copy.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 10:21:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_mark): skip outdated cache entries.</div><div class='del'>-</div><div class='del'>-	* vm_core.h ({GET,INC}_VM_STATE_VERSION): moved from</div><div class='del'>-	  vm_insnhelper.h.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 07:25:25 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (next_i): typo fixed (reached at end -&gt; reached an</div><div class='del'>-	  end).  pointed out by James Edward Gray II at LoneStar RubyConf.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 18:31:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_remove_method_id): exported.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_sadded): fix for non-ascii method name.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 14:32:31 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess_dregexp): set encoding as ASCII-8BIT</div><div class='del'>-	  when /n is specified and the embedded string is escaped text.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 13:51:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): random integer can be a fixnum for</div><div class='del'>-	  bignum range.  [ruby-dev:39173]</div><div class='del'>-</div><div class='del'>-Thu Aug 27 08:16:34 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_set_string): set string should not be</div><div class='del'>-	  duped or frozen, because freezing it causes #concat method failure,</div><div class='del'>-	  and unnecessary to dup without freezing.  a patch from Aaron</div><div class='del'>-	  Patterson at [ruby-core:25145].</div><div class='del'>-</div><div class='del'>-Thu Aug 27 02:06:11 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (enc/unicode/name2ctype.kwd):</div><div class='del'>-	  remove rules to generate name2ctype.kwd from</div><div class='del'>-	  UnicodeData.txt and Scripts.txt.</div><div class='del'>-	  if you want to generate, use tool/enc-unicode.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 02:00:09 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* unicode.c (PROPERTY_NAME_MAX_SIZE): use MAX_WORD_LENGTH.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 23:59:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): refined error message.</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): fixed for edge cases of ranges.</div><div class='del'>-	  [ruby-dev:39166]</div><div class='del'>-</div><div class='del'>-Wed Aug 26 21:49:23 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: add documents from Hongli Lai's fork.</div><div class='del'>-	  cf [ruby-core:25131].</div><div class='del'>-</div><div class='del'>-Wed Aug 26 19:51:13 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb (program_transform_name): fix for multiple trans</div><div class='del'>-	  rules for autoconf 2.61 or earlier.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (program_transform_name): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 19:20:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_rand): unified random_int and random_float.</div><div class='del'>-	  [ruby-dev:39158].  and fixes [ruby-core:24655], [ruby-core:24677],</div><div class='del'>-	  [ruby-core:24679].</div><div class='del'>-</div><div class='del'>-Wed Aug 26 18:59:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tempfile.rb: merged from Hongli Lai's fork.</div><div class='del'>-	  cf [ruby-core:25131].</div><div class='del'>-</div><div class='del'>-Wed Aug 26 18:49:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#close!): should not undefine finalizer</div><div class='del'>-	  by just unlink.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 17:00:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb (program_transform_name): fix for autoconf 2.61</div><div class='del'>-	  or earlier.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 14:34:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#close!, Tempfile#path): added side</div><div class='del'>-	  notes from Hongli Lai's fork.</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink, Tempfile.callback): do nothing</div><div class='del'>-	  any more once unlinked.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 13:48:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink): reverted r23494, since the</div><div class='del'>-	  usage in RubyInline is considered wrong.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 12:36:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (collect_local_variables_in_env): skips internal variables.</div><div class='del'>-	  [ruby-core:25125]</div><div class='del'>-</div><div class='del'>-Tue Aug 25 23:51:07 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: added for generate name2ctype.kwd.</div><div class='del'>-	  contributed by Run Paint Run Run [ruby-core:24775]</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (CodeRanges): move definitions to name2ctype.h.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd,</div><div class='del'>-	  enc/unicode/name2ctype.src: updated to v5.1.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/UnicodeData.txt, enc/unicode/Scripts.txt: added v5.1.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: add rule to generate name2ctype.kwd from</div><div class='del'>-	  UnicodeData.txt and Scripts.txt.</div><div class='del'>-</div><div class='del'>-Tue Aug 25 22:31:51 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MKDIR_P): Set 'mkdir -p' to MKDIR_P</div><div class='del'>-	  when AC_PROG_MKDIR_P doesn't set MKDIR_P.</div><div class='del'>-</div><div class='del'>-Tue Aug 25 17:38:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_clone, bigmul1_normal, bigdivrem): trivial</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2dbl): truncates zero digits to get rid of possible</div><div class='del'>-	  underflow.</div><div class='del'>-</div><div class='del'>-Tue Aug 25 12:22:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (enc/unicode/name2ctype.h): explicitly ignores the</div><div class='del'>-	  result of diff and turns -e option off, because *BSD make passes</div><div class='del'>-	  it by default.</div><div class='del'>-</div><div class='del'>-Tue Aug 25 02:16:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): use linker_flag and changed undefined</div><div class='del'>-	  and multiply_defined behaviors. cf [ruby-core:25086].</div><div class='del'>-</div><div class='del'>-Mon Aug 24 21:31:37 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb, test/rss/test_maker_2.0.rb: fix a bug</div><div class='del'>-	  that RSS Maker doesn't accept 'false' as guid's isPermaLink.</div><div class='del'>-	  Reported by Joe Holt. Thanks!!!</div><div class='del'>-</div><div class='del'>-Mon Aug 24 18:58:56 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (vsnprintf): rollback a part of r24179, because</div><div class='del'>-	  it's meaningless.</div><div class='del'>-</div><div class='del'>-Mon Aug 24 16:35:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_delete_safe): deals with packed entries.</div><div class='del'>-	  [ruby-core:25080]</div><div class='del'>-</div><div class='del'>-	* st.c (st_cleanup_safe): ditto.  [ruby-core:25081]</div><div class='del'>-</div><div class='del'>-Mon Aug 24 13:24:07 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MAKEDIRS): define.</div><div class='del'>-</div><div class='del'>-	* common.mk (capi): using $(MAKEDIRS), so depends on $(PREP).</div><div class='del'>-</div><div class='del'>-Mon Aug 24 13:14:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): set cross_compiling only when</div><div class='del'>-	  universal binary.</div><div class='del'>-</div><div class='del'>-Mon Aug 24 12:55:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (enc/unicode/name2ctype.h): use md instead of</div><div class='del'>-	  $(MAKEDIRS).</div><div class='del'>-</div><div class='del'>-Sun Aug 23 15:22:45 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (main): "usage" description updated.</div><div class='del'>-</div><div class='del'>-Sun Aug 23 15:12:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (Dir.mktmpdir): updated to latest.</div><div class='del'>-	  (in_temporary_working_directory): temporary directory name changed.</div><div class='del'>-</div><div class='del'>-Sun Aug 23 00:56:13 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_schedule): don't recur infinitely.</div><div class='del'>-	  (rb_threadptr_execute_interrupts): ditto.</div><div class='del'>-	  [ruby-dev:38060]</div><div class='del'>-</div><div class='del'>-Sat Aug 22 15:07:23 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (id_hash_new): new function to create a hash</div><div class='del'>-	  which key is compared by object id.</div><div class='del'>-	  (syck_emitter_reset): use id_hash_new for bonus-&gt;data.</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML.quick_emit): give the object itself to emitter.</div><div class='del'>-	  don't use object_id and hash.</div><div class='del'>-</div><div class='del'>-Sat Aug 22 13:05:22 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: use CP and MV macros.</div><div class='del'>-</div><div class='del'>-Sat Aug 22 01:29:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (rm_f, rm_rf): pass the last hash through if exists.</div><div class='del'>-	  [ruby-dev:39153]</div><div class='del'>-</div><div class='del'>-Sat Aug 22 00:48:08 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (ary2sv): add dup argument.</div><div class='del'>-	  (enumerator_next): call ary2sv with dup=0.</div><div class='del'>-	  (enumerator_peek): call ary2sv with dup=1 to return duplicated array.</div><div class='del'>-	  (enumerator_peek_values_m): new function to return duplicated array.</div><div class='del'>-	  (Init_Enumerator): use enumerator_peek_values_m as</div><div class='del'>-	  Enumerator#peek_value.</div><div class='del'>-</div><div class='del'>-Sat Aug 22 00:03:19 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_check_deadlock): decrease number of sleepers before</div><div class='del'>-	  deadlock detection because the deadlock exception makes main thread</div><div class='del'>-	  run.  [ruby-dev:39142]</div><div class='del'>-</div><div class='del'>-Fri Aug 21 22:34:58 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (get_next_values): extracted from</div><div class='del'>-	  enumerator_next_values.</div><div class='del'>-	  (enumerator_next_values): use get_next_values.</div><div class='del'>-	  (enumerator_peek_values): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 17:01:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/name2ctype.h: split from enc/unicode.c and made a</div><div class='del'>-	  perfect hash.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 15:13:08 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h, io.c (FMODE_SETENC_BY_BOM):</div><div class='del'>-	  renamed from FMODE_STRIP_BOM.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 01:24:55 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fmode_modestr): change modestr syntax for BOM</div><div class='del'>-	  to "BOM|UTF-*". [ruby-dev:39106]</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 15:01:35 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): use rb_prep_terminal</div><div class='del'>-	  only on Windows.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 07:25:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/gemdirs.rb: split from lib/rdoc/ri/paths.rb to ge</div><div class='del'>-	  rid of loading rubygems and searching all gems always.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 07:14:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_PROGRAM_VERSION, RUBY_RELEASE_DATE): extracts</div><div class='del'>-	  from version.h for cross-compiling.</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in (RUBY_VERSION, RUBY_DESCRIPTION): use above.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 00:08:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): Gem::Enable has been obsolete.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 23:56:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sysopen): moved sysopen_struct from rb_sysopen_internal.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 23:39:51 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reduce_nodes_gen): preserve NODE_FL_NEWLINE flag during</div><div class='del'>-	  node reducing.  [ruby-core:24463]</div><div class='del'>-</div><div class='del'>-Thu Aug 20 14:39:47 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_get): add rl_prep_terminal(1).</div><div class='del'>-	  incited by jitte [ruby-list:43546]</div><div class='del'>-</div><div class='del'>-Thu Aug 20 12:09:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ivar2_hash_type): disabled for now.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 08:39:50 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): do not ignore interrupt when</div><div class='del'>-	  reaping threads on termination.  [ruby-dev:39107]</div><div class='del'>-</div><div class='del'>-Thu Aug 20 02:32:08 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (next_init): don't clear feedvalue.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 01:28:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: implement Enumerator#{next_values,peek_values,feed}</div><div class='del'>-	  and StopIteration#result.  [ruby-dev:39109]</div><div class='del'>-	  (struct enumerator): replace no_next by stop_exc.</div><div class='del'>-	  new field feedvalue.</div><div class='del'>-	  (enumerator_mark): mark feedvalue and stop_exc.</div><div class='del'>-	  (enumerator_init): initialize feedvalue and stop_exc.</div><div class='del'>-	  (enumerator_init_copy): initialize feedvalue.</div><div class='del'>-	  (next_ii): send yield arguments as an array.  return feedvalue.</div><div class='del'>-	  (next_i): generate StopIteration exception here.  set result.</div><div class='del'>-	  (next_init): initialize feedvalue.</div><div class='del'>-	  (enumerator_next_values): new method Enumerator#next_values.</div><div class='del'>-	  (ary2sv): new function.</div><div class='del'>-	  (enumerator_peek_values): new method Enumerator#peek_values.</div><div class='del'>-	  (enumerator_feed): new method Enumerator#feed.</div><div class='del'>-	  (yielder_yield): return the yield value.</div><div class='del'>-	  (generator_each): return the iterator value.</div><div class='del'>-	  (stop_result): new method StopIteration#result.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 01:06:48 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (DEFINE_STRUCT_DIRENT): use union to allocate sufficient</div><div class='del'>-	  memory space for Solaris.  a patch from Naohisa GOTO</div><div class='del'>-	  &lt;ngoto at gen-info.osaka-u.ac.jp&gt; in [ruby-dev:39132].</div><div class='del'>-	  [ruby-dev:39062]</div><div class='del'>-</div><div class='del'>-	* configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): Solaris dirent</div><div class='del'>-	  check.</div><div class='del'>-</div><div class='del'>-Wed Aug 19 11:32:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (CodeRanges): initialized statically.</div><div class='del'>-</div><div class='del'>-Wed Aug 19 02:54:01 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (test_return, test_return2): add two</div><div class='del'>-	  tests for [ruby-dev:38701] and [ruby-core:24463].</div><div class='del'>-</div><div class='del'>-Wed Aug 19 01:08:34 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_RETURN): fire return event at explicit return.</div><div class='del'>-	  [ruby-dev:38701]</div><div class='del'>-</div><div class='del'>-Tue Aug 18 21:00:26 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_peek): new method Enumerator#peek.</div><div class='del'>-	  (enumerator_next): don't rewind at end.</div><div class='del'>-	  [ruby-dev:38932]</div><div class='del'>-</div><div class='del'>-Tue Aug 18 13:46:14 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* touch test/rdoc/empty.dat to run test_rdoc_parser.rb</div><div class='del'>-</div><div class='del'>-Tue Aug 18 11:37:24 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): ensure hook c-return.</div><div class='del'>-	  [Bug #1588]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise):</div><div class='del'>-	  follow above.</div><div class='del'>-</div><div class='del'>-Tue Aug 18 01:57:00 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): treat symbols specially so that iterating</div><div class='del'>-	  over symbols should work like strings.  [ruby-core:24780]</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 18 01:21:31 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): should honor to_str conversion.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 23:45:40 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/delta.rb: removed require 'date'.  added to_c.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 14:35:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_get_str, lex_io_gets, rb_parser_compile_string):</div><div class='del'>-	  must be ascii compatible.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 10:37:41 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_code_range_to_buf0): added with checkdup argument.</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_code_range_to_buf): use above.</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_code_range0): added with checkdup argument.</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_code_range): use above.</div><div class='del'>-</div><div class='del'>-	* regparse.c (i_apply_case_fold): don't warn if the duplicate is</div><div class='del'>-	  caused by case folding.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 08:31:56 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/delta.rb: merged from date4.  [experimental]</div><div class='del'>-</div><div class='del'>-	* lib/date/delta/parser.*: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: followed the above changes.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 08:19:03 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (strptime): removed \v; since \s includes \v.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 08:14:26 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_rationalize) added.  [experimental]</div><div class='del'>-</div><div class='del'>-	* rational.c ({nurat,nilclass,integer,float}_rationalize) ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 08:11:53 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: use num#i.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 07:59:00 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_pow,fix_pow): may return complex number.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 07:16:10 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_imaginary): num#i to return imaginary counterpart</div><div class='del'>-	  of the given numeric.</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex): undef #i for complex numbers.</div><div class='del'>-</div><div class='del'>-Mon Aug 17 00:17:33 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb, lib/rational.rb: added warning messages.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 23:58:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): should dispatch scan-event even when follows</div><div class='del'>-	  just after delayed-token.  [ruby-dev:37855] [Bug #1071]</div><div class='del'>-</div><div class='del'>-Sun Aug 16 22:20:16 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: reverted.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 21:31:21 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: suppressed a warning.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 15:25:26 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Change magic comment to US-ASCII in order to</div><div class='del'>-	  make literals as US-ASCII.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 10:45:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_char_class, parse_exp, parse_branch),</div><div class='del'>-	  (parse_subexp): fixed memory leak.  a patch from Ralf Junker</div><div class='del'>-	  &lt;ralfjunker AT gmx.de&gt; at [ruby-core:24921].</div><div class='del'>-</div><div class='del'>-Sun Aug 16 10:38:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each, vm_backtrace_push),</div><div class='del'>-	  vm_eval.c (print_backtrace), vm_dump.c (bugreport_backtrace):</div><div class='del'>-	  rb_backtrace_iter_func now takes VALUE as file and method names.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 03:06:59 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (opt_eq_func): fix optimization bug.  This issue</div><div class='del'>-	  was found out and debugged with Takuto Hayashi at Security and</div><div class='del'>-	  Programming camp 2009.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 01:10:00 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_ctype_to_cc_by_range): fix the first</div><div class='del'>-	  character bigger than sb_out was dropped.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_posix_bracket):</div><div class='del'>-	  add tests for above.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 00:30:33 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h</div><div class='del'>-	  (ONIGENC_CTYPE_SPECIAL_MASK): added.</div><div class='del'>-	  (ONIGENC_CTYPE_D): ditto.</div><div class='del'>-	  (ONIGENC_CTYPE_S): ditto.</div><div class='del'>-	  (ONIGENC_CTYPE_W): ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.c: \d, \s and \w are now non Unicode class.</div><div class='del'>-	  [ruby-dev:39026]</div><div class='del'>-	  (fetch_token_in_cc): use ONIGENC_CTYPE_[DSW] for \d/\s/\w.</div><div class='del'>-	  (fetch_token): ditto.</div><div class='del'>-	  (add_ctype_to_cc): add routines for ONIGENC_CTYPE_[DSW].</div><div class='del'>-	  (parse_exp): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_char_class):</div><div class='del'>-	  add tests for above.</div><div class='del'>-</div><div class='del'>-Sat Aug 15 10:39:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (fname, string_dvar, sym, dsym, f_arglist): removed</div><div class='del'>-	  duplications.</div><div class='del'>-</div><div class='del'>-Fri Aug 14 20:03:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_check_safe_str): deprecated.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_add_{file,path}):</div><div class='del'>-	  replaced deprecated function.</div><div class='del'>-</div><div class='del'>-Fri Aug 14 17:59:12 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess_dregexp): change Exception class to</div><div class='del'>-	  RegexpError.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_regexp_usascii): follow above.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_regexp_embed): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 14 17:17:42 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (MKDIRS): revert r24525.</div><div class='del'>-</div><div class='del'>-Fri Aug 14 16:28:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb (Digest::HMAC#initialize): faster</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-Fri Aug 14 14:31:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rubyhdrdir): fixed typo.  [ruby-dev:39079]</div><div class='del'>-</div><div class='del'>-Fri Aug 14 00:29:22 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/ChangeLog-1.8.0: add forgotten entry contributed by</div><div class='del'>-	  TAKAHASHI Kaoru.  [ruby-dev:39065]</div><div class='del'>-</div><div class='del'>-Fri Aug 14 00:19:49 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#method_missing): __FILE__ may contain</div><div class='del'>-	  multi-byte characters.  a patch from Kenta Murata in [ruby-dev:39066].</div><div class='del'>-</div><div class='del'>-Thu Aug 13 21:01:03 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): returning from lambda runs ensure section.</div><div class='del'>-	  [Bug #1729]</div><div class='del'>-</div><div class='del'>-Thu Aug 13 18:40:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): set cross_compiling to yes</div><div class='del'>-	  only when AC_COMPUTE_INT, and inverted the arguments.</div><div class='del'>-</div><div class='del'>-Thu Aug 13 18:22:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): use AC_COMPUTE_INT instead of</div><div class='del'>-	  _AC_COMPUTE_INT_COMPILE with cross compiling, since its arguments</div><div class='del'>-	  have been changed at autoconf 2.64.</div><div class='del'>-</div><div class='del'>-Thu Aug 13 16:31:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): suppressed a warning.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (opt_case_dispatch_i): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 13 16:20:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in (MAKEDIRS): used MKDIR_P instead of</div><div class='del'>-	  as_mkdir_p.  [ruby-dev:39063]</div><div class='del'>-</div><div class='del'>-Thu Aug 13 15:37:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_strlen_null, onigenc_str_bytelen_null): fixed</div><div class='del'>-	  infinite loop for wide encodings.  reported by Ralf Junker a</div><div class='del'>-	  [ruby-core:24892].  [ruby-core:24904]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 21:07:46 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: if ipv6 is enabled, the version of Windows</div><div class='del'>-	  must be XP or later.</div><div class='del'>-	  [ruby-core:24601]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 15:59:29 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (yes-test-knownbug): use RUNRUBY instead of MINIRUBY.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 15:52:04 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_module_id_under): fix the name.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_module_under): fix for previous changes.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 15:32:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class_id_under, rb_define_module_id_under):</div><div class='del'>-	  new functions to define a nested class/module with non-ascii</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): use name with encoding.</div><div class='del'>-</div><div class='del'>-	* struct.c (inspect_struct): ditto.  [ruby-core:24849]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 Wed Aug 12 14:54:34 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h: check</div><div class='del'>-	  definition of (classes)#=== for case/when optimization.</div><div class='del'>-	  Fix Bug #1376 [ruby-core:23190].</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String), bignum.c (Init_Bignum),</div><div class='del'>-	  numeric.c (Init_Numeric): define String#===, Symbol#===,</div><div class='del'>-	  Bignum#===, Fixnum#===, Float#=== as same as (classes)#==.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 14:14:42 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (readdir_internal): free old temporary filename.</div><div class='del'>-	  [ruby-core:24820]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 12:59:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new_frozen): must not change encoding of frozen</div><div class='del'>-	  shared string.  [ruby-dev:39068]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 11:51:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_broken_crypt): needs more checks.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 07:41:31 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): If a string is empty and</div><div class='del'>-	  other's encoding is US-ASCII, returns the empty string's encoding.</div><div class='del'>-	  [ruby-list:46274]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 07:38:12 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (is_data_encoding): fix condition.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_capable): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 11 23:12:31 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (complete_frags): Monday must be suitable for %W's</div><div class='del'>-	  default day.</div><div class='del'>-</div><div class='del'>-Tue Aug 11 21:42:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_divmod): fixed rdoc.  [ruby-core:24862]</div><div class='del'>-</div><div class='del'>-Mon Aug 10 21:45:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_path2class): no deprecation.</div><div class='del'>-</div><div class='del'>-Mon Aug 10 10:57:59 2009  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: reject unused longlife gc. longlife gc target is longlife</div><div class='del'>-	  NODE by method table and vm inline cache. but, fixed it at</div><div class='del'>-	  r24085, r24128. so I rejected longlife gc.</div><div class='del'>-</div><div class='del'>-	* debug.c: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* node.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 10 06:55:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (class2path, w_unique, w_extended, w_class, w_uclass):</div><div class='del'>-	  deal with non-ascii class path.  [ruby-core:24790]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_unique, path2class, path2module, obj_alloc_by_path),</div><div class='del'>-	  (r_object0): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path_to_class): new encoding-aware function to</div><div class='del'>-	  get a class from its name.</div><div class='del'>-</div><div class='del'>-Sun Aug  9 21:14:03 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb (search_tclConfig): last change isn't enough.</div><div class='del'>-	  fixed it.</div><div class='del'>-</div><div class='del'>-Sun Aug  9 16:36:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby.imp): excluded prelude.o to get rid of circular</div><div class='del'>-	  dependency.  [ruby-dev:39052]</div><div class='del'>-</div><div class='del'>-Sun Aug  9 14:49:24 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_cmp, bigsub, big_real_len, bigmul1_normal,</div><div class='del'>-	  bigmul1_balance, big_split): remove BDIGITS() inside of the loops.</div><div class='del'>-	  same as r24444.</div><div class='del'>-</div><div class='del'>-Sat Aug  8 17:03:21 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_ascii_compatible_p): added. [ruby-core:24793]</div><div class='del'>-	  (Init_Encoding): New API Encoding#ascii_compatible?.</div><div class='del'>-</div><div class='del'>-Sun Aug  9 07:25:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (token_to_eventid): added</div><div class='del'>-	  keyword_do_LAMBDA.  [ruby-dev:39049]</div><div class='del'>-</div><div class='del'>-Sun Aug  9 02:07:41 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: fixes a regexp pattern for require.</div><div class='del'>-	  It had matched 'require("foo"('.</div><div class='del'>-</div><div class='del'>-Sat Aug  8 11:42:44 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigzero_p): removing BDIGITS() inside of the</div><div class='del'>-	  loop. inspired by Masahiro Kanai's blog entry</div><div class='del'>-	  &lt;http://d.hatena.ne.jp/CanI/20090807/1249657492&gt;.</div><div class='del'>-</div><div class='del'>-Sat Aug  8 06:18:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_symbol r_symlink, r_symbol, r_object0): fix for</div><div class='del'>-	  non-ascii symbols.  loading such symbols can cause segfaults in</div><div class='del'>-	  older versions.  [ruby-core:24788]</div><div class='del'>-</div><div class='del'>-Fri Aug  7 03:25:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): removed an extra argument.</div><div class='del'>-</div><div class='del'>-Fri Aug  7 03:22:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exc_raise, rb_exc_fatal): nil is used to reraise.</div><div class='del'>-</div><div class='del'>-Fri Aug  7 01:49:41 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c: The ULL suffix is not supported by</div><div class='del'>-	  pre-C99 compilers, so resurrect the ULL() macro to regain</div><div class='del'>-	  portability. [ruby-dev:39032]</div><div class='del'>-</div><div class='del'>-Fri Aug  7 01:35:26 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/extconf.rb: inttypes.h and unistd.h need not be</div><div class='del'>-	  checked here. [ruby-dev:39032]</div><div class='del'>-</div><div class='del'>-Fri Aug  7 01:04:17 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb (search_tclConfig): fix logic bug.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 21:18:15 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/lib/sha2.rb: should require sha2.so.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 21:11:40 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c (*_Final): typos.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 19:46:56 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.h (BYTE_ORDER): Define BYTE_ORDER as</div><div class='del'>-	  necessary. [ruby-dev:39029]</div><div class='del'>-</div><div class='del'>-Thu Aug  6 16:36:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (valid_encoding_name_p): rejects too long encoding</div><div class='del'>-	  names.</div><div class='del'>-</div><div class='del'>-	* encoding.c (encoding_data_type): typed data.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_capable, rb_enc_get_index): Symbol is encoding</div><div class='del'>-	  capable.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): cannot set encoding on</div><div class='del'>-	  special constants.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 15:44:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_eq): deals with optimized method</div><div class='del'>-	  properly.  [ruby-core:24789]</div><div class='del'>-</div><div class='del'>-Thu Aug  6 13:30:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb (TestMkmf): was turned into a class, because</div><div class='del'>-	  MiniUnit doesn't complain even if a testcase has no tests.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 13:00:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_sizeof): added optional compiler option</div><div class='del'>-	  argument.  [ruby-core:24785]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): suppressed shadowing outer local</div><div class='del'>-	  variable warnings.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 12:05:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb (Test::Unit): removes silly TestCase</div><div class='del'>-	  class.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 01:37:20 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an</div><div class='del'>-	  off-by-one bug in SHA-256 hashing.  Reduce differences from</div><div class='del'>-	  the original while at it. [Bug #1799]</div><div class='del'>-</div><div class='del'>-Thu Aug  6 00:09:56 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#hash): Take account of netmask; submitted</div><div class='del'>-	  by Nobuhiro IMAI in [ruby-dev:39011]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 19:19:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): assumes -x flag if no "ruby" is in</div><div class='del'>-	  the shebang line.  [ruby-dev:39015]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 19:11:01 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_stdio_set_default_encoding): declared.</div><div class='del'>-</div><div class='del'>-Wed Aug  5 18:46:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_dummy_gdb_enums): made public.  [ruby-dev:39001]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 13:49:09 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): generate numerical sequence when</div><div class='del'>-	  characters in both edges are all digits.  [ruby-talk:343186]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 12:54:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exc_raise, rb_exc_fatal): require exception object.</div><div class='del'>-	  [ruby-core:24767]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 12:39:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): reset raised flag before fatal error.</div><div class='del'>-</div><div class='del'>-Wed Aug  5 10:20:39 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess_dregexp): add options to arguments.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_new_ary): follow above.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess_dregexp): change error message when</div><div class='del'>-	  /.../n has a non escaped non ASCII character in non ASCII-8BIT</div><div class='del'>-	  script. [ruby-dev:38524]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 03:28:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit.setup_argv): expands paths before</div><div class='del'>-	  requiring.  [ruby-dev:39012]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 01:38:27 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (guard_inspect_key): untrust internal hash to prevent</div><div class='del'>-	  unexpected SecurityError.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: add a test for [ruby-dev:38982].</div><div class='del'>-</div><div class='del'>-Wed Aug  5 00:33:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/c.rb: fixed a small error in the documentation.</div><div class='del'>-	  [ruby-core:24744]</div><div class='del'>-</div><div class='del'>-Tue Aug  4 22:10:34 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (has_redirection): need to execute shell if commandline</div><div class='del'>-	  includes newline.  cf. [ruby-core:24560]</div><div class='del'>-</div><div class='del'>-Tue Aug  4 15:06:58 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#{eql?,hash}): Add IPAddr#{eql?,hash} so</div><div class='del'>-	  that an IPAddr object can be used as a hash key, a set element,</div><div class='del'>-	  etc.; suggested by Nick Brown &lt;nick@nick-brown.com&gt;.</div><div class='del'>-</div><div class='del'>-Tue Aug  4 13:07:10 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (ONIG_SYN_WARN_CC_DUP): defined.</div><div class='del'>-	* regparse.h (ScanEnv): add warnings_flag.</div><div class='del'>-	* regparse.c (CC_DUP_WARN): defined for warn duplicated characters in</div><div class='del'>-	  character class of regexp. [ruby-core:24593]</div><div class='del'>-	  (add_code_range_to_buf): add CC_DUP_WARN.</div><div class='del'>-	  (next_state_val): add CC_DUP_WARN.</div><div class='del'>-	  (OnigSyntaxRuby): add ONIG_SYN_WARN_CC_DUP.</div><div class='del'>-	  (SET_ALL_MULTI_BYTE_RANGE): add env to arguments.</div><div class='del'>-	  (add_code_range): ditto.</div><div class='del'>-	  (add_code_range_to_buf): ditto.</div><div class='del'>-	  (not_code_range_buf): ditto.</div><div class='del'>-	  (or_code_range_buf): ditto.</div><div class='del'>-	  (and_code_range1): ditto.</div><div class='del'>-	  (and_code_range_buf): ditto.</div><div class='del'>-	  (and_cclass): ditto.</div><div class='del'>-	  (or_cclass): ditto.</div><div class='del'>-	  (add_ctype_to_cc_by_range): ditto.</div><div class='del'>-	  (add_ctype_to_cc): ditto.</div><div class='del'>-	  (parse_char_class): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  4 12:40:45 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c (ENC_SET_BASE): fix typo.</div><div class='del'>-	  patch by ujihisa [ruby-dev:39004]</div><div class='del'>-</div><div class='del'>-Tue Aug  4 11:57:39 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_eql, range_eq): fixed equality to work for</div><div class='del'>-	  subclasses of Range.  a patch from Marc-Andre Lafortune.</div><div class='del'>-	   [ruby-core:22190]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: add assertions for above.</div><div class='del'>-</div><div class='del'>-Tue Aug  4 09:41:11 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/big5.c (EncLen_Big5): back to original Big5 table.</div><div class='del'>-	  (EncLen_Big5_HKSCS): for Big5-HKSCS.</div><div class='del'>-	  (trans): add the lead byte table for Big5-HKSCS.</div><div class='del'>-	  (big5_mbc_enc_len): abstract function for Big5 series.</div><div class='del'>-	  (big5_mbc_enc_len): for Big5.</div><div class='del'>-	  (big5_hkscs_mbc_enc_len): for Big5-HKSCS.</div><div class='del'>-	  (BIG5_HKSCS_P): added.</div><div class='del'>-	  (BIG5_ISMB_FIRST): add routine for Big5-HKSCS.</div><div class='del'>-	  (big5_hkscs): add for Big5-HKSCS.</div><div class='del'>-</div><div class='del'>-Tue Aug  4 09:33:54 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_base): Add for setting base encoding</div><div class='del'>-	  with their names. this is internal function.</div><div class='del'>-</div><div class='del'>-	* template/encdb.h.tmpl: specify ENC_SET_BASE for second encodings in</div><div class='del'>-	  each encoding files.</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c (rb_enc_set_base): add a declaration.</div><div class='del'>-	  (ENC_SET_BASE): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  4 06:30:01 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_replace): should copy compare_by_identity status as well.</div><div class='del'>-	  [ruby-core:24728]</div><div class='del'>-</div><div class='del'>-Tue Aug  4 05:43:03 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_push): need to set UNTRUST.  [ruby-dev:38997]</div><div class='del'>-</div><div class='del'>-Tue Aug  4 03:56:51 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tcltklib.c: fix trouble on old-style C function</div><div class='del'>-	  declarations [ruby-core:22871].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tcltklib.c: (ruby_1_8) fix warning about RUBY_RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/multi-tk.rb: kill zombie threads.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/fontchooser.rb: fix typo and support OptionObj.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/{canvas.rb,virtevent.rb,image.rb,timer.rb}:</div><div class='del'>-	  don't create unnecessary array.</div><div class='del'>-</div><div class='del'>-Mon Aug  3 22:19:24 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_include): fix document.  [ruby-core:24675]</div><div class='del'>-</div><div class='del'>-Mon Aug  3 18:25:08 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/svr.rb: obsolete TCPserver renamed.  [ruby-core:24712]</div><div class='del'>-</div><div class='del'>-	* sample/tsvr.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* sample/dualstack-httpd.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug  3 18:12:54 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_push): untrust internal hash to prevent</div><div class='del'>-	  unexpected SecurityError.  a patch from Kazuhiro NISHIYAMA.</div><div class='del'>-	  Fix: #1864  [ruby-dev:38982]</div><div class='del'>-</div><div class='del'>-Mon Aug  3 17:06:05 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/README: updated.  a patch from Daniel Bovensiepen.</div><div class='del'>-	  [ruby-core:24693]</div><div class='del'>-</div><div class='del'>-Mon Aug  3 16:28:09 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_connect): return value was broken when some</div><div class='del'>-	  error occurred.</div><div class='del'>-	  [ruby-core:24234]</div><div class='del'>-</div><div class='del'>-Mon Aug  3 15:56:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (permute0): use chars for boolean array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_{permutation,combination}): disallow reentrance</div><div class='del'>-	  with continuation since work-buffers cannot restore.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_{permutation,combination,product}): must not use</div><div class='del'>-	  ary_discard on strings.</div><div class='del'>-</div><div class='del'>-Mon Aug  3 06:43:25 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_hash): normalize -0.0 to 0.0.  [ruby-core:24577]</div><div class='del'>-</div><div class='del'>-Mon Aug  3 00:32:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_int): arguments have to be converted to</div><div class='del'>-	  integer.  [ruby-core:24679]</div><div class='del'>-</div><div class='del'>-Sun Aug  2 21:04:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat0): tail can be nil.  [ruby-dev:38980]</div><div class='del'>-</div><div class='del'>-Sun Aug  2 20:09:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_combination, rb_ary_product): prevent from GC.</div><div class='del'>-</div><div class='del'>-Sun Aug  2 16:53:19 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb: add tests for Random#float's rejection</div><div class='del'>-	  against Infinity and NaN.</div><div class='del'>-</div><div class='del'>-Sun Aug  2 14:20:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_int): prevent from GC.</div><div class='del'>-</div><div class='del'>-Sat Aug  1 19:23:27 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): change condition of singlebyte</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-Sat Aug  1 18:50:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_float): rejects Infinity and NaN.</div><div class='del'>-	  [ruby-core:24651]</div><div class='del'>-</div><div class='del'>-Sat Aug  1 18:34:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): suppressed warnings.</div><div class='del'>-	  cf: [ruby-dev:38975]</div><div class='del'>-</div><div class='del'>-Sat Aug  1 05:18:36 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): can't use singlebyte optimization when</div><div class='del'>-	  the replacement is multibyte. [ruby-core:24612]</div><div class='del'>-</div><div class='del'>-Fri Jul 31 18:01:34 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.random_bytes): return string should</div><div class='del'>-	  be ASCII-8BIT.  [ruby-core:24640]</div><div class='del'>-</div><div class='del'>-Fri Jul 31 16:28:33 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_stdio_set_default_encoding): added.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): call rb_stdio_set_default_encoding</div><div class='del'>-	  after setting default internal and external.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 15:06:33 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: too long string literal causes compile error</div><div class='del'>-	  on some platforms.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 13:15:27 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode_bang): C99ism.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 11:48:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): used more appropriate construct.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 10:54:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat_gen): reduced unnecessary node at string</div><div class='del'>-	  literal concatenation with empty head dstr.  [ruby-dev:38968]</div><div class='del'>-</div><div class='del'>-Fri Jul 31 02:57:39 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat_gen): NODE_DSTR was incorrectly handled as</div><div class='del'>-	  NODE_STR.  [ruby-dev:38968]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 00:55:48 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_ancestors, test_included_modules):</div><div class='del'>-	  ignore rake mixins.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 00:30:54 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): let set_trace_func use called_id</div><div class='del'>-	  instead of original_id.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 23:04:32 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.path): uses Gem.default_path as a default value</div><div class='del'>-	  so that ruby finds gems in ~/.gem/.</div><div class='del'>-	  (Gem.user_home): reduced version of lib/rubygems.rb's.</div><div class='del'>-	  Gem.default_path needs it.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 22:28:04 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: replaces "require" with in-place evaluation</div><div class='del'>-	  so that copy &amp; paste for lib/rubygems/default.rb is not necessary.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: removes copied codes from lib/rubygems/defaults.rb.</div><div class='del'>-	  uses require instead.</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): adds dependency for lib/rubygems/defaults.rb.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 21:56:18 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb: add tests for Random class.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 21:48:56 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (init_genrand): ensure invariant of mt-&gt;next and mt-&gt;left.</div><div class='del'>-	  mt-&gt;next should always equal mt-&gt;state + N + 1 - mt-&gt;left.</div><div class='del'>-	  In fact, 'r = Random.new(0); r == r.dup' has returned false.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 21:43:41 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_bytes): use NUM2LONG instead of FIX2LONG because</div><div class='del'>-	  Random#bytes may receive bignum.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 21:39:42 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix stack consistency error.</div><div class='del'>-	  [ruby-core:24611]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 18:39:39 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: added check for frozen string for encode! (see Bug #1836)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-</div><div class='del'>-Thu Jul 30 16:45:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): preserve encoding of class/module</div><div class='del'>-	  names.  [ruby-core:24600]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_set_class_path_string): set class path with a</div><div class='del'>-	  string value.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 16:12:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (Init_var_tables): initializes __classid__ ID.</div><div class='del'>-</div><div class='del'>-	* variable.c: use st_data_t for st functions.</div><div class='del'>-</div><div class='del'>-Thu Jul 29 14:25:14 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI::unescape): support encoding option.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/cookie.rb (CGI::Cookie.parse): fix for the encoded value.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 08:08:07 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp): regexp literal at the top of dstr is still needed</div><div class='del'>-	  even if it is empty.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 03:36:24 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/common.rb (JSON#recurse_proc): remove</div><div class='del'>-	  unnecessary private specifier.  [ruby-dev:38929]</div><div class='del'>-</div><div class='del'>-Wed Jul 29 03:34:46 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_insnhelper.c (vm_call_method): revive</div><div class='del'>-	  VM_CALL_OPT_SEND_BIT and use it to recognize "send" method.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 03:11:59 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): support not_implemented method.</div><div class='del'>-	  (I have no idea to test it)</div><div class='del'>-</div><div class='del'>-Tue Jul 28 19:36:26 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): support optimized method (send).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Jul 28 04:34:05 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/extconf.rb: bug fix and ignore invalid Tcl/Tk libraries.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/config_list.in: bug fix and add a new option.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/README.tcltklib: update for a new option.</div><div class='del'>-</div><div class='del'>-Mon Jul 27 19:03:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_*str_new_cstr, rb_str_buf_new_cstr),</div><div class='del'>-	  (rb_str_buf_cat2, rb_str_cat2, rb_exc_new2): suppress warnings.</div><div class='del'>-</div><div class='del'>-Mon Jul 27 10:24:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc::Parser.binary?): fix for empty files.</div><div class='del'>-	  [ruby-dev:38848]</div><div class='del'>-</div><div class='del'>-Mon Jul 27 06:51:41 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_eof): should call next_argv() before testing.</div><div class='del'>-	  [ruby-core:24561]</div><div class='del'>-</div><div class='del'>-Sun Jul 26 19:17:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_eof): go to the next file if called after ARGF.close</div><div class='del'>-	  or ARGF.skip.  a patch from Mike Kasick at [ruby-core:24561].</div><div class='del'>-</div><div class='del'>-Sun Jul 26 18:30:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): __send__ can call protected</div><div class='del'>-	  methods.  [ruby-core:24500]</div><div class='del'>-</div><div class='del'>-Sun Jul 26 01:09:14 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal.c: moved BASE_FIG definition before it is used</div><div class='del'>-	  first time.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h [__SYMBIAN32__]: defined TRUE and FALSE to match</div><div class='del'>-	  changes in bignum.c and array.c.</div><div class='del'>-</div><div class='del'>-Sat Jul 25 17:49:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_eof): should not have reached EOF before trying to</div><div class='del'>-	  read.  based on a patch by Heesob Park &lt;phasis AT gmail.com&gt; in</div><div class='del'>-	  [ruby-core:24559].  [ruby-core:24557]</div><div class='del'>-</div><div class='del'>-Sat Jul 25 13:44:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_hash), rational.c (nurat_hash): not to use</div><div class='del'>-	  hash value of class so that equality against subclasses can</div><div class='del'>-	  work.  [ruby-dev:38850]</div><div class='del'>-</div><div class='del'>-Sat Jul 25 01:05:59 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: Fix EncLen_BIG5 for Big5-HKSCS. see [ruby-core:24390]</div><div class='del'>-</div><div class='del'>-Fri Jul 24 19:19:19 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/big5.trans, big5-hkscs-tbl.rb:</div><div class='del'>-	  new Chinese BIG5-HKSCS transcoding (with Tatsuya Mizuno)</div><div class='del'>-	  see [ruby-core:24390]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (with Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: Added BIG5-HKSCS as a replicate encoding of BIG5</div><div class='del'>-	  (short term solution, needs more work; with Tatsuya Mizuno)</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: made 'pat' directly accessible in</div><div class='del'>-	  class StrSet</div><div class='del'>-</div><div class='del'>-Fri Jul 24 18:03:01 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (idle): leaves IDLE in a ensure clause.  a patch</div><div class='del'>-	  from Eric Hodel.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb (setup, teardown): turn on</div><div class='del'>-	  Socket.do_not_reverse_lookup in tests.</div><div class='del'>-</div><div class='del'>-Fri Jul 24 00:13:41 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (resp_text_code): accepts response codes without</div><div class='del'>-	  text.  [ruby-core:24194]</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (idle, idle_done): new methods for the IMAP4 IDLE</div><div class='del'>-	  command (RFC 2177).  Thanks, Eric Hodel.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (format_date, format_datetime): new method to</div><div class='del'>-	  format IMAP-style date/datetime. Thanks, Eric Hodel.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 17:31:02 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: make irb be able to parse</div><div class='del'>-	  string_dvar. [ruby-core: 24051]</div><div class='del'>-</div><div class='del'>-Thu Jul 23 17:26:51 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: should not create "config_list" in a $srcdir.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 14:35:02 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_{open,wopen}): fixed typos. these conditions</div><div class='del'>-	  mean to call runtime's open() if textmode.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 08:53:24 2009  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup/: Remove useless directory.</div><div class='del'>-	  [Bug #1343]</div><div class='del'>-</div><div class='del'>-Thu Jul 23 08:52:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_{state,left}): internal/debug use.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 19:29:26 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (TestModule#test_alias): warning</div><div class='del'>-	  message updated.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 00:39:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (class.o): depends on vm_core.h.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 00:10:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (init_leap_second_info): checks the result of gmtime to</div><div class='del'>-	  suppress warnings.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 22:23:24 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_t): add a new field line_no.  This field</div><div class='del'>-	  represents line number from which the original code of the iseq</div><div class='del'>-	  starts.  [ruby-dev:38698]</div><div class='del'>-</div><div class='del'>-	* iseq.c, compile.c: ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y: line number hack (for Proc#source_location) is no longer</div><div class='del'>-	  needed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: line number of set_trace_func is now</div><div class='del'>-	  compatible with 1.8's.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 22:16:48 2009  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: Commas at end of enum list not allowed as of C89</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): avoid C++ comment</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 20:42:52 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: define IPPROTO_IPV6 macro for recent Windows</div><div class='del'>-	  SDK.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 19:32:10 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define IPV6_* constants only when INET6</div><div class='del'>-	  is defined.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 19:23:04 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: ipv6 support is disabled by default on mswin.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 17:41:08 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): drop IPv6 addresses</div><div class='del'>-	  if INET6 is not defined.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 17:29:59 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: enable ipv6 support for win32.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 16:38:39 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (Hash::[]): rdoc. patch by Marc-Andre Lafortune.</div><div class='del'>-	  #1385.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 10:00:53 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (WSAMSG): get rid of compile error on VC9 and mingw.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 06:35:56 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (TestEnumerable#each): recursive join now</div><div class='del'>-	  raises ArgumentError.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 02:33:57 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: forget svn commit.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 01:20:54 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb: block write may block for long time.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 00:34:39 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb, lib/irb/init.rb, lib/irb/ext/save-history.rb: add</div><div class='del'>-	  IRB::irb_at_exit. no use finalizer saving history. [ruby-dev-38563]</div><div class='del'>-</div><div class='del'>-Tue Jul 21 23:47:38 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): array length of random seed was broken, which</div><div class='del'>-	  causes memory error with srand(2**1000000-1).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.c: test for above.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 21:37:19 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb: fixed irb's "help" command. [ruby-core:22310].</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: no show lines unknown line number. [ruby-core:22096],</div><div class='del'>-	  no trace display  c-call and c-return as default.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 16:24:41 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (vtdate2rbtime): VT_DATE variant object</div><div class='del'>-	  is converted to Time object now.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_s_new_with_nil,</div><div class='del'>-	  test_conversion_time2date, test_conversion_str2date,</div><div class='del'>-	  test_conversion_vt_date, test_set_value): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (rbtime2vtdate): refactoring.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 16:07:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: toplevel caller exists now.  [ruby-core:24454]</div><div class='del'>-</div><div class='del'>-Tue Jul 21 13:36:20 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (recvmsg, sendmsg): new functions to support recvmsg/</div><div class='del'>-	  sendmsg like UNIX. these functions are experimental and not tested</div><div class='del'>-	  well. bug reports are welcome.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 13:35:21 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (TEST_RUNNABLE): follow r24209.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 12:45:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_enable, rb_gc_disable): should return Qtrue/Qfalse.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 12:38:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_generic_ivar_memsize): should not remove generic</div><div class='del'>-	  instance variable table.</div><div class='del'>-</div><div class='del'>-Mon Jul 20 20:35:55 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): add rdoc about specifying ext_enc as *-bom.</div><div class='del'>-</div><div class='del'>-Mon Jul 20 19:00:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_dstr_fragments): reduced needless literal.</div><div class='del'>-</div><div class='del'>-	* parse.y (xstring, regexp, dsym, literal_concat, evstr2dstr):</div><div class='del'>-	  literal at the top of dstr is no longer needed if it is empty,</div><div class='del'>-	  since concatstrings and toregexp always create new strings.</div><div class='del'>-</div><div class='del'>-Mon Jul 20 12:51:39 2009  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix#rank): revert a part of r20859 to avoid</div><div class='del'>-	  infinite loop.  [Bug #1020]</div><div class='del'>-</div><div class='del'>-Mon Jul 20 11:12:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in (TEST_RUNNABLE): tests are no</div><div class='del'>-	  runnable if cross-compiling.</div><div class='del'>-</div><div class='del'>-	* common.mk (btest*, test*): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 20 10:55:18 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Addrinfo#family_addrinfo): fix a typo in</div><div class='del'>-	  error message.  patch by Nobuhiro IMAI.  [ruby-dev:38828]</div><div class='del'>-</div><div class='del'>-Sun Jul 19 22:22:54 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (float_to_r): an improvement.</div><div class='del'>-</div><div class='del'>-Sun Jul 19 20:41:24 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (make_patterns): do not use \d.</div><div class='del'>-</div><div class='del'>-	* rational.c (make_patterns): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 19 17:32:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): should taint the result.  [ruby-dev:38826]</div><div class='del'>-</div><div class='del'>-Sun Jul 19 11:00:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (me_opts): fixed optimized method aliasing.</div><div class='del'>-	  [ruby-dev:38824]</div><div class='del'>-</div><div class='del'>-Sun Jul 19 10:54:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.accept_loop): rescue</div><div class='del'>-	  IO::WaitReadable instead of Errno::EWOULDBLOCK.</div><div class='del'>-	  (Socket.udp_server_loop_on): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 23:44:59 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_enc_error): use rb_enc_get to get the encoding of</div><div class='del'>-	  a Regexp object. REGEXP(re)-&gt;ptr-&gt;enc is the encoding of the</div><div class='del'>-	  regexp engine for patterns and target strings.</div><div class='del'>-	  [ruby-core:23208]</div><div class='del'>-</div><div class='del'>-Sat Jul 18 17:43:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash_cmp): got rid of overflow.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 16:03:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (TRUE, FALSE): for internal use.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 11:39:49 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: workaround for VC++ 6.0.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 09:16:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_{int32,real,bytes,int}): added functions for</div><div class='del'>-	  extension libraries.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 09:07:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): use cryptographic service on Windows.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 07:56:00 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fail to create a widget object for an unknown</div><div class='del'>-	  widget path.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 07:06:31 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb,ext/tk/lib/tk/grid.rb: Bug fix on grid_slaves().</div><div class='del'>-	  Extend usage pattern of grid_column()/grid_row().</div><div class='del'>-</div><div class='del'>-Sat Jul 18 06:30:35 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: include winsock headers in extern "C++" for</div><div class='del'>-	  C++ extension libraries.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (vsnprintf): workaround for VC++.</div><div class='del'>-	  [ruby-core:23096]</div><div class='del'>-</div><div class='del'>-Sat Jul 18 00:23:47 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): rl_catch_signals does</div><div class='del'>-	  not exist on some platform like Mac OS X 10.5.</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: checks existence of rl_catch_signals.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 22:37:22 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): drop inactive</div><div class='del'>-	  adapters.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_{nonblock,addrinfo,socket}.rb: skip some tests on</div><div class='del'>-	  Windows.</div><div class='del'>-	  [ruby-core:23051]</div><div class='del'>-</div><div class='del'>-Fri Jul 17 22:29:21 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): use rl_catch_sigwinch only</div><div class='del'>-	  when existing.</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: check existence of rl_catch_sigwinch, and</div><div class='del'>-	  workaround for native Win32 readline port.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 18:18:23 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (recursive_hash): extracted from range_hash.  reject</div><div class='del'>-	  recursive key.</div><div class='del'>-	  (range_hash): use recursive_hash.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 18:11:32 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (recursive_hash): extracted from rb_struct_hash.  reject</div><div class='del'>-	  recursive key.</div><div class='del'>-	  (rb_struct_hash): use recursive_hash.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 16:45:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_hash): reject recursive key.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 15:20:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (DIGSPERINT): fix for LP64.</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): /dev/urandom is not available on</div><div class='del'>-	  DOSISH systems.</div><div class='del'>-</div><div class='del'>-	* random.c (random_equal): new method Random#==.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 13:35:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_getfamily): return AF_UNSPEC if getsockname</div><div class='del'>-	  is failed.  [ruby-core:24383]</div><div class='del'>-</div><div class='del'>-Fri Jul 17 01:22:57 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_join): raise ArgumentError for joining</div><div class='del'>-	  recursive array.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join_1): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (TestArray#test_join2): test updated for</div><div class='del'>-	  recursive join.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 23:32:16 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb,ext/tk/config_list.in: ignore paths which includes</div><div class='del'>-	  white space characters on Windows.[ruby-dev:38794]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: works on Cygwin (limitation:: Tk.mainloop works on</div><div class='del'>-	  the main thread only).</div><div class='del'>-</div><div class='del'>-Thu Jul 16 20:58:18 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_s_codepage_changed,</div><div class='del'>-	  test_s_locale_set, test_s_locale_change): skip test if Japanese</div><div class='del'>-	  locale is not installed. [ruby-core:23806]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_conversion_str2cy):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 19:02:28 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): servers</div><div class='del'>-	  is nil if an error occurs before setting it.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 18:42:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): suppress a warning.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 18:30:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset, recursive_hash): rejects recursive hash.</div><div class='del'>-	  [ruby-core:22921]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 18:28:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longer</div><div class='del'>-	  used.  [ruby-dev:38760]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 17:41:28 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): fix a case which try non-existing method alias.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 16:00:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): discards read buffer.  [ruby-core:24240]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 15:52:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_new, rb_bigzero_p), range.c (rb_range_values):</div><div class='del'>-	  added for random.c.</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_t): objectified.  [EXPERIMENTAL]</div><div class='del'>-	  [ruby-dev:30954]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 14:08:44 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): RDoc update.  a patch from Florian</div><div class='del'>-	  Frank.   [ruby-core:24347]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 12:42:10 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): rl_free_line_state</div><div class='del'>-	  before rl_cleanup_after_signal.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): set rl_catch_signals and</div><div class='del'>-	  rl_catch_sigwinch as 0. [ruby-core:21884]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 08:59:22 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* node.h, vm_core.h, variable.c: rename global_entry to rb_global_entry.</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def, iseq.c, vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 08:57:44 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: separate clearing cache entry code.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 08:56:32 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): re-fix GC problem.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 08:55:27 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add method.h.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 08:53:26 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_free): free data body.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 23:46:55 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h, vm_core.h: add rb_method_entry_t.  Remove nodes around</div><div class='del'>-	  method management.  This change affect some VM control stack structure.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c, vm_method.c, vm_eval.c: ditto.  and make some</div><div class='del'>-	  refactoring.</div><div class='del'>-</div><div class='del'>-	* insns.def, class.c, eval.c, proc.c, vm_dump.c : ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, compile.c (iseq_specialized_instruction): remove</div><div class='del'>-	  VM_CALL_SEND_BIT.  use another optimization tech for Kernel#send.</div><div class='del'>-</div><div class='del'>-	* node.h: remove unused node types.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (count_nodes): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: add mark/free functions for method entry.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: remove decl of</div><div class='del'>-	  rb_define_notimplement_method_id().  nobody can use it</div><div class='del'>-	  because noex is not opened.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_mark): fix to check ic_method is available.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_disasm): fix to use rb_method_get_iseq().</div><div class='del'>-</div><div class='del'>-Wed Jul 15 23:45:11 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): fix GC problem.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 17:33:52 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/purelib.rb: translates a fake path to rubygems in $" into</div><div class='del'>-	  an alternative in $: so that Kernel.#require does not load</div><div class='del'>-	  more rubygems.rb.</div><div class='del'>-	  Resolves many failures in test/rubygems/*.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.load_full_rubygems_library): supports case</div><div class='del'>-	  the rubygems to load is not in $(rubylibprefix).</div><div class='del'>-	  (Gem.path_to_full_rubygems_library): new method for the changes in</div><div class='del'>-	  purelib.rb and Gem.load_full_rubygems_library.</div><div class='del'>-	  (Gem.fake_rubygems_as_loaded): new method.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 16:29:35 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LIBPATHFLAG): path is already quoted in mkmf.rb.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 06:21:50 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: --with-{tcl,tk}-dir doesn't work.[ruby-dev:38782]</div><div class='del'>-</div><div class='del'>-Wed Jul 15 04:22:54 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb (CGIMultipartTest#_prepare):</div><div class='del'>-	  set tempfile name with literal.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 21:53:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/nonblock: moved from ext/io/wait/lib.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 17:29:20 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m): return nil if pos is out of string.</div><div class='del'>-	  [ruby-core:23660]</div><div class='del'>-</div><div class='del'>-Tue Jul 14 16:13:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): check if the descriptor can be accessed</div><div class='del'>-	  in the specified open mode.  [ruby-dev:38571]</div><div class='del'>-</div><div class='del'>-Tue Jul 14 09:26:14 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: Long-term-callback support isn't stable yet.</div><div class='del'>-	  So, disable the feature and waiting for improvement in the future.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 01:28:17 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N#test_env): the encoding of</div><div class='del'>-	  ENV is now locale encoding.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 01:24:56 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): should return real object.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 01:06:31 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (yielder_yield_i): use rb_proc_new instead of</div><div class='del'>-	  rb_iterate.  [ruby-dev:38518]</div><div class='del'>-</div><div class='del'>-	* README.EXT: rb_iterate is obsolete since 1.9; use rb_block_call</div><div class='del'>-	  instead.</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 00:45:41 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_case.rb (TestCase#test_deoptimization):</div><div class='del'>-	  test for [ruby-core:23190].</div><div class='del'>-</div><div class='del'>-Mon Jul 13 22:49:50 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Prime#prime_division): now decomposes</div><div class='del'>-	  negative integer into a decomposition with element [-1, 1].</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb: test for it.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 22:28:03 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): handles leaked on win32 when an error occurs.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 20:21:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): should not shadow outer variable not to</div><div class='del'>-	  return Qnil always.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 19:41:05 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): copy instance variables to new regexp.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 17:49:11 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, compile.c: declare struct iseq_inline_cache_entry.</div><div class='del'>-	  Inline cache (IC) entries are no longer GC managed object.</div><div class='del'>-	  IC entries are freed when ISeq is freed.</div><div class='del'>-</div><div class='del'>-	* iseq.c: fix mark, free, memsize functions for above change.</div><div class='del'>-</div><div class='del'>-	* insns.def: remove rb_gc_write_barrier().</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_search): ditto.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb, template/insns_info.inc.tmpl (insn_iclen):</div><div class='del'>-	  added.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 13:35:08 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm_insnhelper.c (getinstancevariable):</div><div class='del'>-	  fix to use inline cache.</div><div class='del'>-</div><div class='del'>-	* compile.c: fix to skip inline cache entry (IC).  IC is added</div><div class='del'>-	  automatically by compiler.</div><div class='del'>-</div><div class='del'>-	* insns.def, vm_insnhelper.h: fix IC positions.</div><div class='del'>-</div><div class='del'>-	* iseq.c: increment minor_version of ISeq because of above change.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 08:01:00 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries.</div><div class='del'>-</div><div class='del'>-	* ext/tk/*: Support new features of Tcl/Tk8.6b1 and minor bug fixes.</div><div class='del'>-	     ( [KNOWN BUG] Ruby/Tk on Ruby 1.9 will not work on Cygwin. )</div><div class='del'>-</div><div class='del'>-	* ext/tk/*: Unify sources between Ruby 1.8 &amp; 1.9.</div><div class='del'>-	            Improve default_widget_set handling.</div><div class='del'>-</div><div class='del'>-	* ext/tk/*: Multi-TkInterpreter (multi-tk.rb) works on Ruby 1.8 &amp; 1.9.</div><div class='del'>-	     ( [KNOWN BUG] On Ruby 1.8, join to a long term Thread on Tk</div><div class='del'>-	        callbacks may freeze. On Ruby 1.9, cannot create a second</div><div class='del'>-	        master interpreter (creating slaves are OK); supported master</div><div class='del'>-	        interpreter is the default master interpreter only. )</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: Update supported versions of Tk extensions.</div><div class='del'>-	         Tcllib 1.8/Tklib 0.4.1  ==&gt;  Tcllib 1.11.1/Tklib 0.5</div><div class='del'>-	         BWidgets 1.7            ==&gt;  BWidgets 1.8</div><div class='del'>-	         TkTable 2.9             ==&gt;  TkTable 2.10</div><div class='del'>-	         TkTreeCtrl 2005-12-02   ==&gt;  TkTreeCtrl 2.2.9</div><div class='del'>-	         Tile 0.8.0/8.5.1        ==&gt;  Tile 0.8.3/8.6b1</div><div class='del'>-	         IncrTcl 2005-02-14      ==&gt;  IncrTcl 2008-12-15</div><div class='del'>-	         TclX 2005-02-07         ==&gt;  TclX 2008-12-15</div><div class='del'>-	         Trofs 0.4.3             ==&gt;  Trofs 0.4.4</div><div class='del'>-</div><div class='del'>-Mon Jul 13 01:18:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): rounds subsecond toward zero.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 23:51:39 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_str_new): use rb_locale_str_new instead of</div><div class='del'>-	  rb_tainted_str_new. rb_locale_str_new set string locale</div><div class='del'>-	  encoding and tainted.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 23:56:40 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: added some shortcuts.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 23:30:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_to_integer, rb_check_to_integer): return Bignum</div><div class='del'>-	  as-is.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 21:07:46 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: use k_exact_{zero,one}_p macro.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 20:42:58 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divide): added an entry to rational.</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_rational_reciprocal): added.</div><div class='del'>-</div><div class='del'>-	* complex.c (f_reciprocal): added.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 02:24:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): use fixed buffer for small numbers.</div><div class='del'>-</div><div class='del'>-Sat Jul 11 14:43:34 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (test_strip_bom): added.</div><div class='del'>-</div><div class='del'>-Sat Jul 11 07:11:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  array length is long.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_get_filename_quote_characters):</div><div class='del'>-	  missing type of self.</div><div class='del'>-</div><div class='del'>-Sat Jul 11 02:37:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (limited_rand): expands to long before shift so that</div><div class='del'>-	  the result does not overflow.</div><div class='del'>-</div><div class='del'>-Sat Jul 11 00:16:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): got rid of buffer overflow.</div><div class='del'>-</div><div class='del'>-Sat Jul 11 00:11:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join_1): should recurse for element array.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 23:10:11 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_strip_bom): ungetbyte third byte when UTF-16LE.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 23:04:16 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_strip_bom): Fix condition of second byte of</div><div class='del'>-	  UTF-16LE/UTF-32LE.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 21:45:30 2009  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: checked rl_refresh_line in readline.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_refresh_line): add new</div><div class='del'>-	  method, a patch from Koichiro Ohba. see [ruby-list:45922].</div><div class='del'>-</div><div class='del'>-Fri Jul 10 21:00:05 2009  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: checked rl_line_buffer and rl_point in</div><div class='del'>-	  readline.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_get_line_buffer): new method.</div><div class='del'>-	  (readline_s_get_point): new method.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 16:30:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_join): use obj to tell if recursion occurs.</div><div class='del'>-	  [ruby-core:24150]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_join): reverted r23966.  [ruby-core:24196]</div><div class='del'>-</div><div class='del'>-Fri Jul 10 14:41:34 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): set encoding only if the encoding</div><div class='del'>-	  is not US-ASCII.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 14:44:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (struct MT): ruby already assumes int has 32bit a</div><div class='del'>-	  least, so no needs to use long.</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): copies data to be used really only.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 11:41:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_obj_{untrust,untrusted,trust}): added</div><div class='del'>-	  prototypes.  [ruby-dev:38756]</div><div class='del'>-</div><div class='del'>-Fri Jul 10 10:25:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_superclass): checks for implicit</div><div class='del'>-	  argument passing before method search.  [ruby-core:24244]</div><div class='del'>-</div><div class='del'>-Fri Jul 10 07:22:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_data_type): typed.</div><div class='del'>-</div><div class='del'>-Thu Jul  9 23:28:48 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_STRIP_BOM): new constant.</div><div class='del'>-</div><div class='del'>-	* io.c (io_encname_bom_p): judge whether the encoding name</div><div class='del'>-	  is *-bom or not.</div><div class='del'>-	  (parse_mode_enc): drop "-bom".</div><div class='del'>-	  (rb_io_modestr_fmode): set FMODE_STRIP_BOM if needed.</div><div class='del'>-	  (rb_io_extract_modeenc): ditto.</div><div class='del'>-	  (io_strip_bom): strip bom if exists.</div><div class='del'>-	  (io_set_encoding_by_bom): set encoding if there is bom.</div><div class='del'>-	  Set encoding and strip bom when modeenc string is "r:foo-bom"</div><div class='del'>-	  [ruby-dev:37236]</div><div class='del'>-</div><div class='del'>-Thu Jul  9 21:56:59 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): replace \u by u when the regexp is</div><div class='del'>-	  made by Ruby 1.8. [ruby-dev:36750]</div><div class='del'>-</div><div class='del'>-Wed Jul  8 23:13:54 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_div): omitted zero division check.</div><div class='del'>-</div><div class='del'>-Wed Jul  8 21:00:37 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/inspector.rb: forget svn add.</div><div class='del'>-</div><div class='del'>-Wed Jul  8 19:10:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_type): rejects typed data.</div><div class='del'>-</div><div class='del'>-Wed Jul  8 18:28:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c ({proc,binding,method}_data_type): typed.</div><div class='del'>-</div><div class='del'>-Wed Jul  8 16:47:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): returns new string instead of</div><div class='del'>-	  shared string from FilePathStringValue().  [ruby-core:24199]</div><div class='del'>-</div><div class='del'>-Wed Jul  8 04:28:16 2009  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document:  Update with extensions that appear to have</div><div class='del'>-	  documentation.  [ruby-core:24181]</div><div class='del'>-</div><div class='del'>-Wed Jul  8 04:28:16 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h:</div><div class='del'>-	  rename</div><div class='del'>-	    "...TypeStruct" and "typed_struct" to</div><div class='del'>-	    "TypedData..." and "typeddata", respectively.</div><div class='del'>-	  rename</div><div class='del'>-	    rb_data_type_t#name to</div><div class='del'>-	    rb_data_type_t#wrap_struct_name.</div><div class='del'>-</div><div class='del'>-	* error.c, gc.c, iseq.c, vm.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 20:23:27 2009  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/irb, lib/irb.rb lib/irb/*: irb-0.9.6, extend inspect-mode</div><div class='del'>-</div><div class='del'>-Tue Jul  7 17:00:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): deal with typed struct like</div><div class='del'>-	  as obj_free().</div><div class='del'>-</div><div class='del'>-	* error.c (rb_typed_struct_is_kind_of): new function to see if the</div><div class='del'>-	  given typed struct.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_typed_struct): new function to check typed</div><div class='del'>-	  struct.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (Check_TypedStruct, Data_Get_TypedStruct):</div><div class='del'>-	  new macro to check typed struct.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 13:36:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (DEFINE_ENUMFUNCS): included function signature.</div><div class='del'>-</div><div class='del'>-	* enum.c (rb_enum_join): non-nil separator must be convertible to</div><div class='del'>-	  String.  [ruby-core:24172]</div><div class='del'>-</div><div class='del'>-Tue Jul  7 12:47:28 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (rb_enum_join): should propagate taint to the return</div><div class='del'>-	  value.  the change was overridden by r23967.  [ruby-core:24176]</div><div class='del'>-</div><div class='del'>-Tue Jul  7 11:56:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_PROF_SET_MALLOC_INFO, GC_PROF_SET_HEAP_INFO): simplified.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 10:12:37 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ext_int_to_encs): Set external encoding if</div><div class='del'>-	  ext==intern. [ruby-dev:38278]</div><div class='del'>-</div><div class='del'>-Mon Jul  6 09:31:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (make_curry_proc): should propagate lambda-ness.</div><div class='del'>-	  [ruby-core:24127]</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_hash): use long.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 09:06:49 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (TestModule#test_undef): adjust to</div><div class='del'>-	  message change.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (TestObject#test_redefine_method_which_may_case_serious_problem): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (TestObject#test_remove_method): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 09:04:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_join): deals with self recursive objects to get rid</div><div class='del'>-	  of infinite recursion.  [ruby-core:24150]</div><div class='del'>-</div><div class='del'>-Mon Jul  6 08:00:10 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_to_a): should propagate taint to the return value.</div><div class='del'>-	  [ruby-core:24152]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 00:41:41 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 23:55:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): fix Time.local(2009,2,31) failure on 64bit</div><div class='del'>-	  time_t environment.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 22:43:13 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_polar): now arg is optional.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 20:40:35 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (float_arg): returns PI for -0.0.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 14:04:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_exec_event_hooks): new function to</div><div class='del'>-	  execute event hooks, with preserving errinfo.  [ruby-core:24118]</div><div class='del'>-</div><div class='del'>-Sun Jul  5 08:14:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method, remove_method, rb_undef): fixed</div><div class='del'>-	  minor grammatical errors in warnings.  a patch from Run Pain</div><div class='del'>-	  Run Run at [ruby-core:24141].</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_eval_method): registers notimplement_body as a</div><div class='del'>-	  mark-object.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): restores the firs</div><div class='del'>-	  arg where is overwritten at funcall.  [ruby-core:24139]</div><div class='del'>-</div><div class='del'>-Sat Jul  4 08:20:03 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (dbl2ival): should raise FloatDomainError on Infinity</div><div class='del'>-	  and NaN as 1.8 does.  [ruby-dev:38726]</div><div class='del'>-</div><div class='del'>-Fri Jul  3 22:48:45 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): less number of guesses for hh:mm:60.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 21:30:14 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_equal_p): removed.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 21:07:29 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: renamed equal_p to eqeq_p.</div><div class='del'>-</div><div class='del'>-	* complex.c: ditto.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_equal_p): added.</div><div class='del'>-	  Complex(NaN).equal?(Complex(NaN)) should return true.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 19:48:40 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: undef-ed some methods.  [ruby-core:24110]</div><div class='del'>-</div><div class='del'>-	* complex.c (Numeric#arg): NaN for NaN.  [ruby-core:24116]</div><div class='del'>-</div><div class='del'>-Fri Jul  3 18:35:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): fixed types.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ic_vmstat): VM state version is VALUE.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 02:52:20 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): time guess strategy refined again.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 00:36:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): time guess strategy refined.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 11:16:25 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: added response to Net::IMAP::ResponseError.</div><div class='del'>-	  a patch from Eric Hodel in [ruby-core:24111].</div><div class='del'>-</div><div class='del'>-Thu Jul  2 08:04:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (num_exact): rb_check_to_integer() can deal with both of</div><div class='del'>-	  Fixnum and Bignum together.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 07:53:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fixed wrong variable.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 05:37:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (num_exact): use to_r for T_FLOAT.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 05:15:54 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (quo): return an integer if possible.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 21:09:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_time_num_new): declared.</div><div class='del'>-</div><div class='del'>-	* time.c (nsec2timev): extracted from time_new_internal.</div><div class='del'>-	  (time_new_internal): change argument to VALUE.</div><div class='del'>-	  (rb_time_new): follow the argument change.</div><div class='del'>-	  (rb_time_nano_new): ditto.</div><div class='del'>-	  (rb_time_num_new): new function.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_timestamp): use rb_time_num_new to</div><div class='del'>-	  represent struct bintime preciously.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 08:46:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_encoding): encodings need extra depth.</div><div class='del'>-	  [ruby-core:24100]</div><div class='del'>-</div><div class='del'>-Wed Jul  1 06:47:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_grep): gets rid of type-punning calls.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 06:36:28 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_join): add Enumerable#join.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join_1): recursive join for Enumerators (and</div><div class='del'>-	  objects with #to_a).</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_join): performance tune.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 18:19:07 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_hash): documentation fix.  a patch from</div><div class='del'>-	  Marc-Andre Lafortune.  [ruby-core:23943]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cmp): ditto.</div><div class='del'>-</div><div class='del'>-	* range.c (range_eq): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_partition, rb_str_rpartition): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_def): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 17:44:24 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_match_pos): adjust offset based on characters, not</div><div class='del'>-	  bytes.  [ruby-dev:38722]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_offset): new function.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m): no call to rb_reg_adjust_startpos().</div><div class='del'>-</div><div class='del'>-Tue Jun 30 16:57:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: renamed to get rid of collision against</div><div class='del'>-	  instruction.rb on command line completion of shell.</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb (RbConfig.expand): get rid of exceptions on</div><div class='del'>-	  frozen strings unless really changed.</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: get rid of global variables.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: use US-ASCII name.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 16:46:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, tool/instruction.rb: fixed types.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 11:08:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h, include/ruby/re.h, re.c, regcomp.c,</div><div class='del'>-	  regenc.c, regerror.c, regexec.c, regint.h, regparse.c: use long.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 11:05:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): fixed index overrun.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 08:42:34 2009  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruby.rb: summary is required in a .gemspec.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 01:35:12 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/strip-rdocs.rb: supports QT style doxy-comments.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 01:24:10 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (log2, cbrt): added.  [experimental]</div><div class='del'>-</div><div class='del'>-Tue Jun 30 01:19:53 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): do not use rb_fexpt.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 22:50:10 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Doxyfile.in: removed. merged into template/Doxyfile.template</div><div class='del'>-</div><div class='del'>-	* configure.in: new checking for dot and doxygen.</div><div class='del'>-</div><div class='del'>-	* template/Doxyfile.template: merged with Doxyfile.in.</div><div class='del'>-	  configured some options.</div><div class='del'>-</div><div class='del'>-	* common.mk (capi): use $(DOXYGEN) instead of "doxygen".</div><div class='del'>-	  (Doxyfile): removed a duplicate entry in the dependency.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 21:01:31 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): checks exactness.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 20:29:11 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (float_to_r): always returns rational.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 18:55:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): fix for files with dots.  [ruby-dev:38588]</div><div class='del'>-</div><div class='del'>-Mon Jun 29 17:14:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): should copy original encoding.</div><div class='del'>-	  [ruby-dev:38612]</div><div class='del'>-</div><div class='del'>-Sun Jun 28 23:10:55 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.c (Gem.default_dir): follows the change on</div><div class='del'>-	  lib/rubygems/default.rb in r23879</div><div class='del'>-</div><div class='del'>-Sun Jun 28 23:32:11 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_div): raises ZeroDivisionError immediately</div><div class='del'>-	  when the given second argument is zero.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_fdiv): never raise even if the given second</div><div class='del'>-	  argument is zero.</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_raise_zerodiv): changed the message (zero to 0).</div><div class='del'>-</div><div class='del'>-Sun Jun 28 22:25:07 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): convert to a float when the given power</div><div class='del'>-	  is a bignum.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_expt): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 28 21:16:48 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (sqrt): fixed an issue [ruby-list:45852].</div><div class='del'>-</div><div class='del'>-Sun Jun 28 19:48:29 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): some improvements.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_expt): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 28 19:03:46 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruby.rb (:gem): registers the bundled version</div><div class='del'>-	  of minitest as a gem as rdoc or rake.</div><div class='del'>-	  c.f. [ruby-dev:38692].</div><div class='del'>-</div><div class='del'>-Sun Jun 28 19:02:07 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (ConfigMap[:rubylibprefix]): new entry.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/defaults.rb (Gem.default_dir): considers</div><div class='del'>-	  "--with-rubylibprefix" configure option.</div><div class='del'>-</div><div class='del'>-Sun Jun 28 09:21:00 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: renamed some static functions.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 27 19:06:22 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_addsub): new</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_{add,sub}): use nucomp_addsub.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_divide): changed the algorithm.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_abs): added shortcuts.</div><div class='del'>-</div><div class='del'>-Sat Jun 27 16:56:33 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_cmp): use rb_num_coerce_cmp.</div><div class='del'>-</div><div class='del'>-Sat Jun 27 16:45:10 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: revised rdoc.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 27 13:44:48 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS, lib/rss/maker/base.rb, test/rss/test_maker_2.0.rb: add</div><div class='del'>-	  item.guid.permanent_link? and item.guid.permanent_link=.</div><div class='del'>-</div><div class='del'>-Sat Jun 27 13:41:00 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: rss: 0.2.5 -&gt; 0.2.7.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, test/rss/test_version.rb: 0.2.6 -&gt; 0.2.7.</div><div class='del'>-</div><div class='del'>-Sat Jun 27 03:16:56 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr): use default_internal encoding as default</div><div class='del'>-	  destination encoding if set.  [ruby-core:23997]</div><div class='del'>-</div><div class='del'>-Sat Jun 27 03:09:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_rewind): need to rewind $. and ARGF.lineno.</div><div class='del'>-	  [ruby-core:24046]</div><div class='del'>-</div><div class='del'>-	* io.c (struct argf): refactoring on $. and ARGF.lineno behavior.</div><div class='del'>-</div><div class='del'>-Fri Jun 26 21:48:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_getpty): check dup failure.</div><div class='del'>-</div><div class='del'>-Fri Jun 26 17:33:46 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_rubyopt):</div><div class='del'>-	  test suite add '.' to RUBYLIB.  remove checks.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_tainted_loadpath):</div><div class='del'>-	  the default tempdir directory /tmp is world writable, so</div><div class='del'>-	  SecurityError would be raised.  check removed.</div><div class='del'>-</div><div class='del'>-Fri Jun 26 16:32:59 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (COMPILE_PRELUDE): need -I. before -rrbconfig.</div><div class='del'>-	  [ruby-dev:38714]</div><div class='del'>-</div><div class='del'>-Thu Jun 25 18:41:51 2009  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.4.2 r5269.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 17:58:39 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_binmode_m): should call rb_io_ascii8bit_binmode() to</div><div class='del'>-	  set its encoding to ASCII-8BIT.  [ruby-core:24029]</div><div class='del'>-</div><div class='del'>-Thu Jun 25 13:04:58 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: '&amp;' in sed s command's replacement is '\&amp;' in ruby.</div><div class='del'>-	  [ruby-dev:38713]</div><div class='del'>-</div><div class='del'>-Thu Jun 25 06:50:23 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_codepoint): uninitialized local variable enc.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 06:25:49 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (first_i): wrong condition for no argument #first.</div><div class='del'>-	  [ruby-core:24017]</div><div class='del'>-</div><div class='del'>-Wed Jun 24 20:19:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_s_now): new function.  Time.now don't take arguments.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 16:08:03 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: CONFIG["TEENY"] is not ruby's version but API's</div><div class='del'>-	  one.  So need to use RUBY_VERSION instead.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 16:07:04 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: rbconfig.rb exists at ".".</div><div class='del'>-</div><div class='del'>-Wed Jun 24 15:02:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_encode): show the erred file name instead of</div><div class='del'>-	  the file that requires it.  [ruby-core:24006]</div><div class='del'>-</div><div class='del'>-Wed Jun 24 11:41:20 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el: It is too late to set c-file-style in</div><div class='del'>-	  c-mode-hook (at least on Emacs 23).  Call c-set-style instead.</div><div class='del'>-</div><div class='del'>-Tue Jun 23 21:28:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check): check with given safe level.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext_safe, rb_find_file_safe): ditto.</div><div class='del'>-</div><div class='del'>-	* safe.c (rb_insecure_operation): function to raise security</div><div class='del'>-	  error.</div><div class='del'>-</div><div class='del'>-Tue Jun 23 20:32:43 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove the definition of GC_DEBUG (debugging macro).</div><div class='del'>-</div><div class='del'>-Tue Jun 23 16:16:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_version): defaults revision to 0 when no</div><div class='del'>-	  revision.h exists.</div><div class='del'>-</div><div class='del'>-Tue Jun 23 16:04:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file): no needs to expand</div><div class='del'>-	  paths with tilde twice.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_load): load the given path directly if not found in</div><div class='del'>-	  load_path.</div><div class='del'>-</div><div class='del'>-	* load.c (search_required): search file in specified safe level.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): path to load is already searched in</div><div class='del'>-	  search_required().</div><div class='del'>-</div><div class='del'>-Tue Jun 23 12:43:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove PACKAGE_* macros generated by autotools.</div><div class='del'>-	  [ruby-core:20938]</div><div class='del'>-</div><div class='del'>-Tue Jun 23 01:17:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): don't specify .so for encdb here.</div><div class='del'>-	  "." is replaced by "_" in load_encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (load_encoding): add .so here.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 23:24:22 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_generic_ivar_memsize): typo fixed.  a patch from</div><div class='del'>-	  Kazuhiro NISHIYAMA.  [ruby-dev:38700]</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (memsize_of): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 21:21:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: remove __CHECKER__ test.</div><div class='del'>-</div><div class='del'>-	* dir.c: ditto.</div><div class='del'>-</div><div class='del'>-	* dln.c: ditto.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 17:15:38 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each_codepoint): new method.</div><div class='del'>-	  [ruby-core:23949]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each_codepoint): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 16:26:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): removed "." from load_path.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 16:14:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments, iseq_compile_each): internal</div><div class='del'>-	  arrays must be hidden.  [ruby-dev:38613]</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_top_self): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 14:41:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options), enc/prelude.rb: encdb and transdb are</div><div class='del'>-	  extension libraries.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set progname earlier.</div><div class='del'>-</div><div class='del'>-Mon Jun 22 13:50:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fdatasync): new method IO#fdatasync.</div><div class='del'>-</div><div class='del'>-Sun Jun 21 22:33:05 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (Init_load): $: must be readonly.  [ruby-dev:38690]</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): $-W must be readonly.  [ruby-dev:38691]</div><div class='del'>-</div><div class='del'>-Sun Jun 21 10:47:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#copy_file): open with</div><div class='del'>-	  default umask.  [ruby-core:23952]</div><div class='del'>-</div><div class='del'>-Sun Jun 21 10:46:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): default internal encoding may not be set.</div><div class='del'>-	  [ruby-core:23932]</div><div class='del'>-</div><div class='del'>-Sat Jun 20 21:11:43 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_div): don't use num_floor which is actually</div><div class='del'>-	  flo_floor.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_modulo): don't call '%'.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_divmod): use num_modulo.</div><div class='del'>-</div><div class='del'>-	* numeric.c: defined '%'.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_idiv,nurat_mod,nurat_divmod,nurat_rem): removed.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 20:28:44 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 08:56:47 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 07:17:52 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb (MonitorMixin::extend_object): should use</div><div class='del'>-	  #__send__ instead of #send to avoid possible name conflict.</div><div class='del'>-	  [ruby-core:23907]</div><div class='del'>-</div><div class='del'>-Sat Jun 20 06:56:31 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 05:08:59 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 04:30:35 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_abs): removed.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 03:34:16 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: added rdoc.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 23:43:38 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 22:58:16 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 22:21:17 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 21:56:01 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_expt): delegates to complex when self is</div><div class='del'>-	  negative.  because Float#** does not produce complex.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 21:40:58 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: edited rdoc.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 20:53:54 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_name_list): update RDoc.  [ruby-core:23926]</div><div class='del'>-</div><div class='del'>-Fri Jun 19 20:44:45 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: constant COMPLEX_NAME has been removed.</div><div class='del'>-</div><div class='del'>-	* rational.c: constant RATIONAL_NAME has been removed.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 20:39:46 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: added rdoc.  a patch from Run Paint Run Run.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 17:04:59 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): should always return nil for NaN.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): handle infinite value specially using</div><div class='del'>-	  infinite? method internally.  [ruby-dev:38681]</div><div class='del'>-</div><div class='del'>-Fri Jun 19 09:28:45 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (*_numerator,*_denominator): moved to rational.c.</div><div class='del'>-</div><div class='del'>-	* rational.c (*_numerator,*_denominator): moved from numeric.c.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 08:14:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_lshift, big_rshift): return Bignum always without</div><div class='del'>-	  normalization.  [ruby-dev:38679]</div><div class='del'>-</div><div class='del'>-Thu Jun 18 22:31:38 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_convert): calls to_r when the given argument</div><div class='del'>-	  is non-integer.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_convert): raises TypeError when the given</div><div class='del'>-	  argument is nil.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_convert): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 20:32:11 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_numerator, num_denominator): use</div><div class='del'>-	  to_r [ruby-core:23910].</div><div class='del'>-</div><div class='del'>-Thu Jun 18 16:21:05 2009  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.4.0 r5083.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 10:12:49 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): went infinity too</div><div class='del'>-	  early.  add BASE_FIG margin.  [ruby-dev:38673]</div><div class='del'>-</div><div class='del'>-Thu Jun 18 01:35:51 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): Infinity is greater than any bignum</div><div class='del'>-	  number.  [ruby-dev:38672]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_cmp): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 01:29:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): drive letter is ascii only.</div><div class='del'>-	  [ruby-dev:38612]</div><div class='del'>-</div><div class='del'>-Thu Jun 18 01:09:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ridir, RI_BASE_NAME): fixed for path expansion.</div><div class='del'>-	  [ruby-core:23876]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 23:46:08 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_coerce): accepts Complex when the imag is</div><div class='del'>-	  exact zero.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 21:25:54 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_fdiv): checks whether the given second argument</div><div class='del'>-	  can be converted to float properly.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_fdiv): calls rb_big_fdiv when the given second</div><div class='del'>-	  argument is a bignum.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_fdiv): should calculate Float(x/y), not</div><div class='del'>-	  Float(x)/Float(y).</div><div class='del'>-</div><div class='del'>-Wed Jun 17 16:57:40 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require): RDoc updated.  a patch from Run Paint Run</div><div class='del'>-	  Run in [ruby-core:23833].</div><div class='del'>-</div><div class='del'>-	* load.c (rb_mod_autoload): ditto.  [ruby-core:23835]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 14:37:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (valid_syntax?): skips BOM.  [ruby-dev:38666]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#valid_syntax?): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 13:54:18 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (Init_strscan): remove obsolete</div><div class='del'>-	  matchedsize method, use matched_size instead.  [ruby-dev:38591]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 12:37:37 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_thread_stack_overflow): call rb_exc_raise() on</div><div class='del'>-	  stack overflows in the signal handler, if sigaltstack is</div><div class='del'>-	  available.  On stack overflow (and with sigaltstack), the signal</div><div class='del'>-	  handler is more likely to have room to create an exception</div><div class='del'>-	  object.  [ruby-core:23813]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 08:10:38 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace: added.  objspace library extends some methods to</div><div class='del'>-	  ObjectSpace module.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 08:14:01 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_coerce): accepts Complex instances.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_coerce): accepts Rational</div><div class='del'>-	  instances. [ruby-core:23859]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 07:36:22 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (parse_form_data): escape boundary of</div><div class='del'>-	  multipart/form-data when embed in regexp.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 07:24:26 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_memsize): added.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_memsize): added.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_memsize): added.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_memsize): added.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_transcoding_memsize, rb_econv_memsize): added.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_geneic_ivar_memsize): added.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 07:04:33 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_memsize): added.  Use RTypedData instead of RData</div><div class='del'>-	  for ISeq.</div><div class='del'>-</div><div class='del'>-	* vm.c (env_memsize, vm_memsize, thread_memsize): added.  Use</div><div class='del'>-	  RTypedData instead of RData for Env, VM, Thread.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 06:48:28 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* st.c, include/ruby/st.h (st_memsize): added.  This function returns</div><div class='del'>-	  the memory usage of st_table.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 06:19:06 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: New structure RTypedData, added.</div><div class='del'>-	  This structure includes more explicit type information for</div><div class='del'>-	  T_DATA objects.  If RData(obj)-&gt;dfree is immediate value `1' on</div><div class='del'>-	  T_DATA object obj, obj is needed to be accessed with RTYPEDDATA(obj)</div><div class='del'>-	  instead of RDATA(obj).  A RTypedData structure points the structure</div><div class='del'>-	  rb_typed_data_t.  rb_typed_data_t includes information such as the</div><div class='del'>-	  type name of this data, mark and free function what RData includes,</div><div class='del'>-	  and memsize function show how data consuming the memory size.</div><div class='del'>-	  Note that you do not need any change existing T_DATA objects.</div><div class='del'>-	  If you use RDataType instead of RData on T_DATA object,</div><div class='del'>-	  you can specify explicit type information.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_typed_object_alloc, rb_objspace_data_type_memsize,</div><div class='del'>-	  rb_objspace_data_type_name): added.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 06:14:23 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix indent.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 06:05:03 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_each_objects): New C API, added.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 00:31:30 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (TestArgf#test_skip): updated test</div><div class='del'>-	  according to clarified behavior.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 22:47:37 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): revert last change.  [ruby-dev:38648]</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): skip close(2) for fd 0,1,2.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 20:07:09 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): refix can't build with VC9.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 16:09:59 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape, parser_tokadd_escape):</div><div class='del'>-	  replace scan_oct as ruby_scan_oct.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 06:40:31 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): should close stdin/stdout/stderr when</div><div class='del'>-	  closed explicitly.   [ruby-core:23853]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_skip): should close only when current_file is available.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 01:50:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_call0): refine exception message for hidden objects.</div><div class='del'>-</div><div class='del'>-Mon Jun 15 22:35:31 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2db): (-Float::MAX.to_i*2).to_f should return</div><div class='del'>-	  -HUGE_VAL (-Infinity).</div><div class='del'>-</div><div class='del'>-Mon Jun 15 18:48:41 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_line): should return self.  [ruby-core:23852]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_byte, argf_each_char): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 15 17:48:42 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (os_obj_of): invoke garbage collection before iteration, to</div><div class='del'>-	  avoid accessing half recycled object references.  [ruby-dev:38613]</div><div class='del'>-</div><div class='del'>-Mon Jun 15 11:04:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp, iseq): load dummy_gdb_enums on demand.</div><div class='del'>-	  [ruby-dev:38606]</div><div class='del'>-</div><div class='del'>-Sun Jun 14 14:57:57 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, vm_eval.c: add Thread.backtrace.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 13:58:32 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): revert last commit because</div><div class='del'>-	  this change cause SEGV at test-all.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 10:49:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file): canonicalize absolute</div><div class='del'>-	  paths.  [ruby-core:23845]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_size): added rdoc.  a patch from Run Paint Run</div><div class='del'>-	  Run at [ruby-core:23839].</div><div class='del'>-</div><div class='del'>-Sun Jun 14 07:53:26 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_fdiv): use fdiv recursively.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): reduced code.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 03:37:09 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans: remove wrong optimization.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 01:53:00 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): can't build with VC9.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 01:23:41 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_to_f): use fdiv.</div><div class='del'>-</div><div class='del'>-Sat Jun 13 15:03:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): show backtrace at circular require.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_provide): assumes us-ascii only.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): FilePathValue() implies rb_str_new4().</div><div class='del'>-</div><div class='del'>-	* load.c (rb_mod_autoload): try conversion to path like as</div><div class='del'>-	  require.  [ruby-core:23834]</div><div class='del'>-</div><div class='del'>-Sat Jun 13 09:58:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_ivar): should not set internal encoding ivar as an</div><div class='del'>-	  ordinary ivar.  [ruby-dev:38596]</div><div class='del'>-</div><div class='del'>-Sat Jun 13 07:08:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_local_variables): now returns symbols.  a patch from</div><div class='del'>-	  Run Paint Run Run at [ruby-core:23828].</div><div class='del'>-</div><div class='del'>-Sat Jun 13 07:06:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_catch): updated rdoc about generalized argument,</div><div class='del'>-	  and the case without arguments.  [ruby-core:23827]</div><div class='del'>-</div><div class='del'>-Sat Jun 13 06:50:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (Net::BufferedIO#rbuf_fill): TimeoutError is</div><div class='del'>-	  obsolete, use Timeout::Error instead.  [ruby-core:23821]</div><div class='del'>-</div><div class='del'>-Sat Jun 13 06:45:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_throw): fixed rdoc about exception.</div><div class='del'>-	  [ruby-core:23824]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 14:56:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): associate the input encoding when</div><div class='del'>-	  copying an absolute path.  [ruby-dev:38594]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 02:41:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace_shared): shared target must be frozen.</div><div class='del'>-	  [ruby-core:23727]</div><div class='del'>-</div><div class='del'>-Thu Jun 11 21:05:09 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (exp): omitted redundant function call.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 17:49:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (gfCheckVal): never used.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpInit): fixed format modifiers.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VPrint): constified.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 15:27:17 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: documentation typo fixed.  a patch from okkez.</div><div class='del'>-	  [ruby-dev:38586]</div><div class='del'>-</div><div class='del'>-Wed Jun 10 18:15:17 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_getwd): directory path's encoding should be filesystem's</div><div class='del'>-	  one.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: ditto (but not finished yet.)</div><div class='del'>-</div><div class='del'>-Wed Jun 10 06:28:15 2009  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Upgrade to RubyGems 1.3.4 r2223.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 22:38:09 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (log10): raised exception when the given number is</div><div class='del'>-	  a negative real.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 15:13:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): fixed rdoc.  a patch from Joseph Pecoraro a</div><div class='del'>-	  [ruby-core:23767].</div><div class='del'>-</div><div class='del'>-	* dir.c (sys_warning): get rid of type-punning function cast.</div><div class='del'>-</div><div class='del'>-	* dir.c (ruby_glob0): get rid of possible overflow.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 10:58:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (RMALL): need for distclean-rdoc.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 01:07:33 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: rename functions which require a parameter</div><div class='del'>-	  "rb_thread_t *", the prefix to be rb_threadptr_ instead of</div><div class='del'>-	  rb_thread_.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_add_event_hook(), rb_thread_remove_event_hook):</div><div class='del'>-	  change the parameter type from rb_thread_t * to VALUE.</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_error.c, eval_intern.h, signal.c, vm_core.h, vm_eval.c:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: remove decl of rb_thread_signal_raise() and</div><div class='del'>-	  rb_thread_signal_exit().</div><div class='del'>-</div><div class='del'>-Mon Jun  8 05:07:41 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): print fatal error</div><div class='del'>-	  message to stderr instead of using rb_bug().</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/test_fork.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-Sun Jun  7 22:44:20 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (log): avoided redundant expression.</div><div class='del'>-</div><div class='del'>-Sat Jun  6 02:49:05 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject_bang): always check frozen status.</div><div class='del'>-	  [ruby-core:23715]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject_bang): call rb_hash_foreach() directly.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update_i): call st_insert() directly.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update_block_i): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 07:12:32 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (#link_command): should dup CONFTEST_C which is</div><div class='del'>-	  frozen.  ref  [ruby-core:23675].  [ruby-core:23702]</div><div class='del'>-</div><div class='del'>-Thu Jun  4 02:25:51 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: typo fixed.  a patch from okkez.   [ruby-dev:38564]</div><div class='del'>-</div><div class='del'>-Wed Jun  3 09:03:23 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_first): should check negative length.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 17:32:40 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (first_i): Enumerator#first should consume only what is</div><div class='del'>-	  needed.   a patch from Marc-Andre Lafortune.  [ruby-core:23661]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_first): call to_int once for an argument.  based on</div><div class='del'>-	  a patch from Marc-Andre Lafortune.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 13:27:21 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_filter.rb: add tests. see [ruby-dev:37856]</div><div class='del'>-</div><div class='del'>-Tue Jun  2 07:44:43 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): modify check at the beginning.</div><div class='del'>-	  [ruby-core:23662]  ref [ruby-core:23657]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): ditto.  [ruby-core:23657]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chop_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse_bang): modify check added.  [ruby-core:23671]</div><div class='del'>-</div><div class='del'>-Mon Jun  1 11:21:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_capture, fiber_store): reraise transferred error.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_switch): transfers dead fiber error to the previous</div><div class='del'>-	  or root fiber if the current fiber is dead.  [ruby-core:23651]</div><div class='del'>-</div><div class='del'>-Mon Jun  1 10:41:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exc_new2): optimization for literal.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 07:20:02 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): returns Inf if</div><div class='del'>-	  exp is bigger than DBL_MANT_DIG.</div><div class='del'>-</div><div class='del'>-Sun May 31 23:28:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): checks for duplication of source</div><div class='del'>-	  files.</div><div class='del'>-</div><div class='del'>-Sun May 31 23:26:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (istrailinggarbage): fixed typo.</div><div class='del'>-</div><div class='del'>-Fri May 29 17:10:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (Init_Struct): made #to_s an alias to #inspect to</div><div class='del'>-	  reduce the result of recursive struct.  a patch from ujihisa a</div><div class='del'>-	  [ruby-dev:38554].</div><div class='del'>-</div><div class='del'>-Fri May 29 17:08:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): made #to_s an alias to #inspect to reduce</div><div class='del'>-	  the result of recursive hash.  a patch from ujihisa a</div><div class='del'>-	  [ruby-core:23601].  [ruby-dev:38555]</div><div class='del'>-</div><div class='del'>-Fri May 29 09:30:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (collect_all): checks interrupts.  [ruby-core:23594]</div><div class='del'>-</div><div class='del'>-Thu May 28 07:39:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (THREAD_MODEL): reject unknown value and checks</div><div class='del'>-	  pthread.h only when pthread.  [ruby-core:23577]</div><div class='del'>-</div><div class='del'>-Thu May 28 03:47:46 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/optparse/opttest.rb: typo fixed.  [ruby-dev:38544]</div><div class='del'>-</div><div class='del'>-Thu May 28 03:43:10 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): update RDoc according to info from</div><div class='del'>-	  Marc-Andre Lafortune in [ruby-core:23575].  [ruby-core:23564]</div><div class='del'>-</div><div class='del'>-Thu May 28 02:40:54 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri: don't set @parser if it is DEFAULT_PARSER for marshaling</div><div class='del'>-	  URI objects between Ruby 1.8 and Ruby 1.9.</div><div class='del'>-	  [ruby-dev:38377]</div><div class='del'>-</div><div class='del'>-Wed May 27 23:00:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): lex_gets_ptr should be long.</div><div class='del'>-</div><div class='del'>-Wed May 27 18:00:15 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigand_int): new function to calculate bignum and</div><div class='del'>-	  fixnum without allocating internal bignum.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigor_int): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigxor_int): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigand_int): even less object allocation.</div><div class='del'>-</div><div class='del'>-Wed May 27 14:29:55 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_encoding): more compact encoding information for</div><div class='del'>-	  US-ASCII and UTF-8.  [incompatible] [experimental]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_ivar): restore :E encoding information.</div><div class='del'>-</div><div class='del'>-Wed May 27 14:08:39 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_insert2): new function with processing new key,</div><div class='del'>-	  e.g. copy.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): use st_insert2() to reduce redundant</div><div class='del'>-	  st_lookup calls.</div><div class='del'>-</div><div class='del'>-Wed May 27 02:31:38 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_getc): the function for</div><div class='del'>-	  rl_getc_function must be a byte function.</div><div class='del'>-	  so use getbyte method. [ruby-dev:38535]</div><div class='del'>-</div><div class='del'>-Tue May 26 14:24:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fixed types.</div><div class='del'>-</div><div class='del'>-	* common.mk (bignum.o, numeric.o): depend on util.h.</div><div class='del'>-</div><div class='del'>-	* bignum.c, marshal.c: fixed types.</div><div class='del'>-</div><div class='del'>-	* numeric.c (infinite_value): use ruby_div0.</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h (ruby_div0): moved from marshal.c.</div><div class='del'>-</div><div class='del'>-Tue May 26 11:01:41 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: use map! to replace strings in $objs array.</div><div class='del'>-</div><div class='del'>-Tue May 26 10:12:08 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignew_1): inline memory allocation.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigtrunc): call rb_big_resize() only when needed.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigfixize): declare inline.</div><div class='del'>-</div><div class='del'>-Tue May 26 05:39:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FilePathValue): prevent from GC.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2LONG): added GCC specific optimization.</div><div class='del'>-</div><div class='del'>-Tue May 26 03:41:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_gmtime, rb_localtime): gmtime and localtime return</div><div class='del'>-	  NULL on error.  [ruby-core:23551]</div><div class='del'>-</div><div class='del'>-Tue May 26 03:38:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char, rb_str_each_codepoint): string</div><div class='del'>-	  length must be long.</div><div class='del'>-</div><div class='del'>-Mon May 25 13:27:32 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: dont use gsub! method for frozen string.</div><div class='del'>-</div><div class='del'>-Mon May 25 11:47:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb, tool/instruby.rb: removed redundant code.</div><div class='del'>-</div><div class='del'>-Mon May 25 09:34:09 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash): avoid calling rb_enc_str_asciionly_p().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_replace): avoid redundant calling rb_str_new4().</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace): factor out replacement from</div><div class='del'>-	  rb_str_replace() without type check nor discarding the</div><div class='del'>-	  destination contents.</div><div class='del'>-</div><div class='del'>-Mon May 25 08:06:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_partition): should use the converted result.  a</div><div class='del'>-	  patch from Marc-Andre Lafortune at [ruby-core:23540].</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rpartition): ditto.</div><div class='del'>-</div><div class='del'>-Mon May 25 06:25:38 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (TestHash::test_equal2): recursive hashes</div><div class='del'>-	  are handled properly now. ref: [ruby-core:23402]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N#test_sprintf_p): test fixed</div><div class='del'>-</div><div class='del'>-Mon May 25 05:32:19 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI::HTTP_STATUS): typo fixed.  a patch from</div><div class='del'>-	  Nobuhiro IMAI.  [ruby-dev:38538]</div><div class='del'>-</div><div class='del'>-Sun May 24 22:48:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_exec_recursive_paired): new function for proper</div><div class='del'>-	  handling of recursive arrays.  [EXPERIMENTAL] [ruby-core:23402]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_equal, rb_ary_eql, rb_ary_cmp): use above.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_equal): ditto.</div><div class='del'>-</div><div class='del'>-Sun May 24 22:39:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): errno is int.</div><div class='del'>-</div><div class='del'>-Sun May 24 00:52:54 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in ($ridir): new configuration. [ruby-core:23520].</div><div class='del'>-	  c.f. [ruby-core:23519].</div><div class='del'>-</div><div class='del'>-	  (--with-ridir): new configure option.</div><div class='del'>-</div><div class='del'>-	* tool/instruby.rb (:doc, :rdoc): uses $ridir instead of</div><div class='del'>-	  a fixed path.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb: follows $ridir.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: removes RIDATADIR which is no longer used.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: generates the 'ridir' entry for RbConfig.</div><div class='del'>-	  removes RIDATADIR which is no longer used.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 23 23:52:33 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char): return original string.</div><div class='del'>-	  [ruby-core:23499]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_codepoint): protect string from</div><div class='del'>-	  modification.</div><div class='del'>-</div><div class='del'>-Sat May 23 21:48:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_s_sym): added a method to access</div><div class='del'>-	  using RTLD_NEXT.  [ruby-dev:38152]</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (Init_dlhandle): added constants DEFAULT and</div><div class='del'>-	  NEXT which correspond to RTLD_DEFAULT and RTLD_NEXT.</div><div class='del'>-</div><div class='del'>-Sat May 23 18:53:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_struct_signature):</div><div class='del'>-	  splitting with regexp source string is obsolete.  a patch from</div><div class='del'>-	  Minwoo Lee at [ruby-core:23494].</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_cmp): return signed value, and restrict</div><div class='del'>-	  to Fixnum.  [ruby-dev:38533]</div><div class='del'>-</div><div class='del'>-Fri May 22 23:22:53 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (errno): [BUG] fixes a compilation</div><div class='del'>-	  error on SIZEOF_LONG &gt; SIZEOF_INT.</div><div class='del'>-	  (BSD_vfprintf): ditto.</div><div class='del'>-</div><div class='del'>-Fri May 22 23:20:48 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: follows runruby.rb's move at r23542.</div><div class='del'>-</div><div class='del'>-Fri May 22 21:38:55 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Time#to_r.</div><div class='del'>-</div><div class='del'>-Fri May 22 20:29:01 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* config.guess: moved into tool/.</div><div class='del'>-</div><div class='del'>-	* config.sub: ditto.</div><div class='del'>-</div><div class='del'>-	* install-sh: ditto</div><div class='del'>-</div><div class='del'>-	* configure.in: follows the moves.</div><div class='del'>-</div><div class='del'>-	* LEGAL: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 22 20:10:18 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: moved into tool/.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* rubytest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* runruby.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: follows the moves.</div><div class='del'>-</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 22 05:09:43 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): avoid call of rb_scan_args() unless</div><div class='del'>-	  it's really necessary.</div><div class='del'>-</div><div class='del'>-Thu May 21 22:17:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl, id.h (enum ruby_method_ids): added some IDs.</div><div class='del'>-</div><div class='del'>-	* debug.c (dummy_gdb_enums): added enum ruby_method_ids.</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): improved output of Symbol.</div><div class='del'>-</div><div class='del'>-Thu May 21 21:07:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): support for 'z' modifier.</div><div class='del'>-</div><div class='del'>-Thu May 21 18:55:33 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem.default_dir and misc.): use rubylibprefix.</div><div class='del'>-	  follows the change in r23368.</div><div class='del'>-</div><div class='del'>-Thu May 21 12:07:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_EVENT_HOOKS_HAVE_CALLBACK_DATA):</div><div class='del'>-	  new macro for compatibility check.</div><div class='del'>-</div><div class='del'>-Thu May 21 01:43:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_long2int, RARRAY_LENINT): check long to</div><div class='del'>-	  cast to int.  [ruby-dev:38508]</div><div class='del'>-</div><div class='del'>-	* struct.c, vm_eval.c, vm_insnhelper.c: use RARRAY_LENINT.</div><div class='del'>-</div><div class='del'>-Wed May 20 21:00:27 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rb_enc_get_index: allows an arbitrary RData as the argument but not</div><div class='del'>-	  only what points a rb_encoding.</div><div class='del'>-</div><div class='del'>-Wed May 20 20:54:37 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/.gitignore: ignores rubyspec/ and mspec/.</div><div class='del'>-</div><div class='del'>-Wed May 20 19:41:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_new): get rid of too large alloca.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_hash): use long.</div><div class='del'>-</div><div class='del'>-Wed May 20 18:58:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c, vm_insnhelper.c: argument number is restricted to</div><div class='del'>-	  int, and fixed overflow.</div><div class='del'>-</div><div class='del'>-Wed May 20 18:34:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (zip_ary): should use long.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (inspect_enumerator): should use long.</div><div class='del'>-</div><div class='del'>-Wed May 20 09:18:44 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): optimized for 1byte string count by</div><div class='del'>-	  avoiding tr_setup_table().</div><div class='del'>-</div><div class='del'>-Wed May 20 06:25:29 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_fast_mbclen): faster mbclen for strings known</div><div class='del'>-	  to be valid.</div><div class='del'>-</div><div class='del'>-	* string.c (enc_strlen): coderange specified version of</div><div class='del'>-	  rb_enc_strlen().  use rb_enc_fast_mbclen() if coderange is 7bit</div><div class='del'>-	  or valid.</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): use rb_enc_fast_mbclen().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse, rb_str_split_m, rb_str_each_char,</div><div class='del'>-	  scan_once): ditto.</div><div class='del'>-</div><div class='del'>-Wed May 20 06:20:05 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink): close first for Windows.  a</div><div class='del'>-	  patch from Florian Frank.  [ruby-core:23505]</div><div class='del'>-</div><div class='del'>-Wed May 20 00:13:38 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codepoint_len): combine rb_enc_codepoint()</div><div class='del'>-	  and rb_enc_codelen() in one function to reduce calls.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codepoint): compatibility function.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): use rb_enc_codepoint_len().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect, rb_str_upcase_bang,</div><div class='del'>-	  rb_str_downcase_bang, rb_str_capitalize_bang,</div><div class='del'>-	  rb_str_swapcase_bang, trnext, tr_trans, rb_str_delete_bang,</div><div class='del'>-	  rb_str_squeeze_bang, rb_str_count, rb_str_split_m,</div><div class='del'>-	  rb_str_each_line, rb_str_each_codepoint, rb_str_lstrip_bang,</div><div class='del'>-	  sym_printable): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): use rb_enc_mbc_to_codepoint()</div><div class='del'>-</div><div class='del'>-Wed May 20 00:05:52 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_attr): should preserve encoding info.</div><div class='del'>-	  [ruby-dev:38498]</div><div class='del'>-</div><div class='del'>-Tue May 19 22:54:35 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_minus): always return a Float.  [ruby-dev:38446]</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_r): new method.  [ruby-dev:38461]</div><div class='del'>-</div><div class='del'>-Tue May 19 13:59:35 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): add cast to remove warning from</div><div class='del'>-	  rb_gc_write_barrier().</div><div class='del'>-</div><div class='del'>-Tue May 19 13:54:15 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_ivar_get): new function to avoid repeated</div><div class='del'>-	  rb_intern() calls.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_iv_get): use struct_ivar_get()</div><div class='del'>-</div><div class='del'>-	* struct.c (num_members): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_members): ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class): cache symbol to reduce calls to</div><div class='del'>-	  rb_intern().</div><div class='del'>-</div><div class='del'>-Tue May 19 07:52:05 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_time.rb: make tests timezone independent.</div><div class='del'>-	  reported by zunda.  [ruby-dev:38492]</div><div class='del'>-</div><div class='del'>-Mon May 18 21:40:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#sub): suppress a warning.  [ruby-dev:38488]</div><div class='del'>-</div><div class='del'>-Sun May 17 23:23:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (SRC_EXT): should be flat.</div><div class='del'>-	  http://twitter.com/_tad_/status/1825862632</div><div class='del'>-</div><div class='del'>-Sun May 17 23:05:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): VARIABLE_LIBPATH is always</div><div class='del'>-	  defined, see its value instead.</div><div class='del'>-</div><div class='del'>-Sun May 17 18:59:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (nd_line): NODE_LMASK is not needed.</div><div class='del'>-</div><div class='del'>-	* node.h (NOEX_SAFE): made int.</div><div class='del'>-</div><div class='del'>-Sun May 17 14:23:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_parse_in_eval): returns true in true eval, not in</div><div class='del'>-	  main.  [ruby-dev:38382]</div><div class='del'>-</div><div class='del'>-	* parse.y (program): inherits dvars in eval or main.</div><div class='del'>-</div><div class='del'>-Sun May 17 14:02:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_script): sets also VM toplevel program name.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): no longer needs additional frame.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_sourceline): should not access out of bound.</div><div class='del'>-</div><div class='del'>-Sun May 17 09:47:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (cmdline_options_init): initialize encodings.</div><div class='del'>-</div><div class='del'>-	* ruby.c (add_modules, require_libraries, process_sflag):</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_sflag): not process twice.</div><div class='del'>-</div><div class='del'>-	* ruby.c (moreswitches): get rid of possible overflow.</div><div class='del'>-</div><div class='del'>-Sun May 17 09:31:05 2009  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (foletypelib_name): should return</div><div class='del'>-	  encoded name corresponding to WIN32OLE.codepage.</div><div class='del'>-</div><div class='del'>-Sun May 17 09:02:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): support for cygwin 1.7.  see</div><div class='del'>-	  [ruby-core:23241].</div><div class='del'>-	  gets rid of possible buffer overflow with realpath().</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): get rids of overrun.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:38:32 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb: add nil check.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:36:01 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_atom_feed.rb: suppress warnings.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:33:15 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add RSS::Maker.supported?(version).</div><div class='del'>-</div><div class='del'>-Sat May 16 18:26:42 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb, test/test_parser_1.0.rb: fix foaf:Image</div><div class='del'>-	  element causes parse error even if ignore_unknown_element mode.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:14:19 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb, lib/rss/maker/0.9.rb,</div><div class='del'>-	  test/test_maker_*.rb: add RSS::Maker.supported?</div><div class='del'>-</div><div class='del'>-Sat May 16 18:12:39 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/content/*, lib/rss/dublincore/*: fix circular require.</div><div class='del'>-	* test/test_maker_atom_feed.rb,</div><div class='del'>-	  test/test_maker_atom_entry.rb: suppress warnings.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:07:17 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/feed.rb, test/test_maker_atom_feed.rb:</div><div class='del'>-	  remove needless codes.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:05:07 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/entry.rb: fix a typo.</div><div class='del'>-</div><div class='del'>-Sat May 16 18:02:57 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/feed.rb, test/test_maker_atom_entry.rb,</div><div class='del'>-	  test/test_maker_atom_feed.rb: fix duplicated dc:date.</div><div class='del'>-	  Reported by Kazuhiro NISHIYAMA. Thanks!!! [ruby-list:46014]</div><div class='del'>-</div><div class='del'>-Sat May 16 18:02:16 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb, lib/rss/maker/1.0.rb, lib/rss/maker/feed.rb,</div><div class='del'>-	  test/rss/test_maker_1.0.rb, test/rss/test_maker_atom_feed.rb:</div><div class='del'>-	  RSS 1.0 and Atom feed maker treat maker.channel.language as</div><div class='del'>-	  maker.channel.dc_language.</div><div class='del'>-</div><div class='del'>-Sat May 16 17:57:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/callback.rb (DL#remove_callback_internal): ignore</div><div class='del'>-	  unbound function.  [ruby-dev:38474]</div><div class='del'>-</div><div class='del'>-Sat May 16 17:51:11 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/rss_recent.rb, sample/rss/list_description.rb: use</div><div class='del'>-	  UTF-8.</div><div class='del'>-</div><div class='del'>-Sat May 16 17:47:55 2009  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, test/rss/test_version.rb (RSS::VERSION):</div><div class='del'>-	  0.2.5 -&gt; 0.2.6.</div><div class='del'>-</div><div class='del'>-Sat May 16 17:26:04 2009  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_clone): use longlife object and insert write barrier.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_cref_push): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (COPY_CREF): insert write barrier.</div><div class='del'>-</div><div class='del'>-Sat May 16 13:49:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): gets rid of false warning.</div><div class='del'>-	  [ruby-core:23466]</div><div class='del'>-</div><div class='del'>-Sat May 16 10:59:54 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/drb/dhasenc.rb: add magic comment for encoding.</div><div class='del'>-</div><div class='del'>-	* sample/mine.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tcltklib/sample1.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 16 09:49:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comment_encoding): ignores unused emacs-style</div><div class='del'>-	  encoding comment, as like Vim styles.  [ruby-core:23470]</div><div class='del'>-</div><div class='del'>-Sat May 16 09:30:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/keywords (reserved_word): made inline function static.</div><div class='del'>-	  [ruby-core:23210]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_reserved_word): ordinary function for ripper.</div><div class='del'>-</div><div class='del'>-Sat May 16 09:19:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comment_encoding): use rb_compile_warning() to</div><div class='del'>-	  show the currently parsing file name.  [ruby-core:23469]</div><div class='del'>-</div><div class='del'>-Sat May 16 09:03:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_version): now version.h includes</div><div class='del'>-	  include/ruby/version.h, so need to tell to cpp to see</div><div class='del'>-	  $(srcdir)/include.  [ruby-core:23468]</div><div class='del'>-</div><div class='del'>-Fri May 15 17:35:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift, rb_ary_shift_m): clears unused elements.</div><div class='del'>-	  [ruby-dev:38448]</div><div class='del'>-</div><div class='del'>-Fri May 15 15:15:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): checks if iv_tbl is valid.</div><div class='del'>-	  [ruby-dev:38456]</div><div class='del'>-</div><div class='del'>-Fri May 15 11:17:48 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (-version-): now version.h includes</div><div class='del'>-	  include/ruby/version.h, so need to tell to cpp to check</div><div class='del'>-	  $(srcdir)/include.</div><div class='del'>-	  reported by KIMURA Koichi at http://www.kt.rim.or.jp/%7ekbk/zakkicho/09/zakkicho0905b.html#D20090514-6</div><div class='del'>-</div><div class='del'>-Thu May 14 16:13:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getpwuid): use rb_uid_t.  [ruby-dev:38443]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetbyte): encoding should no</div><div class='del'>-	  be effective.</div><div class='del'>-</div><div class='del'>-Thu May 14 10:17:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (valid_syntax?): defaults to us-ascii.</div><div class='del'>-</div><div class='del'>-Wed May 13 22:34:31 2009  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add longlife garbage collection. [ruby-dev:38423]</div><div class='del'>-	  (NORMAL_HEAPS_USED): new macro.</div><div class='del'>-	  (LONGLIFE_ALLOCATE_HEAPS_MIN): ditto.</div><div class='del'>-	  (add_longlife_heaps_slot): new function.</div><div class='del'>-	  (rb_newobj_from_longlife_heap): ditto.</div><div class='del'>-	  (rb_newobj_longlife): ditto.</div><div class='del'>-	  (rb_node_newnode_longlife): ditto.</div><div class='del'>-	  (rb_gc_write_barrier): ditto.</div><div class='del'>-	  (remembered_set_recycle): ditto.</div><div class='del'>-	  (rb_gc_mark_remembered_set): ditto.</div><div class='del'>-	  (clear_mark_longlife_heaps): ditto.</div><div class='del'>-	  (gc_sweep_for_longlife): ditto.</div><div class='del'>-	  (assign_heap_slot): new argument to longlife heaps slot.</div><div class='del'>-	  (add_freelist): ditto.</div><div class='del'>-	  (gc_sweep): avoid longlife heap slot. set longlife_collection</div><div class='del'>-	  flag at add heap.</div><div class='del'>-	  (rb_gc_force_recycle): avoid mark object and remembered_set</div><div class='del'>-	  object.</div><div class='del'>-	  (garbage_collect): add longlife collection.</div><div class='del'>-	  (rb_gc_start): invoke longlife collection.</div><div class='del'>-	  (gc_profile_record_get): for longlife collection profile.</div><div class='del'>-	  (gc_profile_result): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_gc_write_barrier): declared.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FL_REMEMBERED_SET): renamed from FL_RESERVED.</div><div class='del'>-</div><div class='del'>-	* debug.c (FL_REMEMBERED_SET): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def (setinlinecache): insert write barrier.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_search): ditto.</div><div class='del'>-</div><div class='del'>-	* set_relation (set_relation): use longlife object.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (NEW_INLINE_CACHE_ENTRY): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_add_method): ditto.</div><div class='del'>-</div><div class='del'>-	* node.h (NEW_NODE_LONGLIFE): new macro.</div><div class='del'>-	  (rb_node_newnode_longlife): declared.</div><div class='del'>-</div><div class='del'>-Wed May 13 15:23:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/version.h: extracted the extensions interface and</div><div class='del'>-	  the never-changeable info.</div><div class='del'>-</div><div class='del'>-Wed May 13 03:20:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_init_1): unused variable removed.</div><div class='del'>-</div><div class='del'>-Tue May 12 21:03:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: support fixed UTC offset.  [ruby-dev:38326]</div><div class='del'>-	  (leap_year_v_p): new macro.</div><div class='del'>-	  (TIME_FIXOFF_P): new macro.</div><div class='del'>-	  (TIME_SET_FIXOFF): new macro.</div><div class='del'>-	  (time_init_0): renamed from time_init.</div><div class='del'>-	  (time_set_utc_offset): new function.</div><div class='del'>-	  (vtm_add_offset): new function.</div><div class='del'>-	  (utc_offset_arg): new function.</div><div class='del'>-	  (time_init_1): new function.</div><div class='del'>-	  (time_init): call time_init_0 or time_init_1 according argc.</div><div class='del'>-	  (validate_utc_offset): new function.</div><div class='del'>-	  (time_localtime_m): new function.</div><div class='del'>-	  (time_fixoff): new function.</div><div class='del'>-	  (time_getlocaltime): take optional UTC offset argument.</div><div class='del'>-	  (time_get_tm): support fixed UTC offset time.</div><div class='del'>-	  (Init_Time): make Time#{initialize,localtime,getlocal} varargs.</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): vtm-&gt;zone can be NULL now.</div><div class='del'>-</div><div class='del'>-Tue May 12 18:23:40 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* yarvtest: removed because it's outdated.</div><div class='del'>-</div><div class='del'>-Mon May 11 21:46:20 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: add semicolons to some grammar rules not terminated</div><div class='del'>-	  with them.  a patch from Dave B in [ruby-core:23422].</div><div class='del'>-</div><div class='del'>-Mon May 11 20:08:33 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): add constant File::NOATIME.  [ruby-core:23194]</div><div class='del'>-</div><div class='del'>-Mon May 11 13:08:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (rubylibdir): use rubylibprefix.  [ruby-dev:38426]</div><div class='del'>-</div><div class='del'>-Mon May 11 08:37:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): support</div><div class='del'>-	   coercing into Rational.   [ruby-core:23415]</div><div class='del'>-</div><div class='del'>-Mon May 11 04:39:45 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP#check_auth_args): should not change</div><div class='del'>-	  number of methods for the sake of compatibility.</div><div class='del'>-</div><div class='del'>-Sun May 10 11:36:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_instance_p): new function to check if</div><div class='del'>-	  the argument is an instance of DL::CFunc.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_initialize, rb_dlptr_s_malloc): checks</div><div class='del'>-	  if DL::CFunc.  [ruby-dev:38403].</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_signature): strips</div><div class='del'>-	  spaces.  based on a patch from Takashi Tamura in [ruby-dev:38398].</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/value.rb (DL::ValueUtil#wrap_arg): block must be</div><div class='del'>-	  given if arg is not bound.  [ruby-dev:38404]</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_instance_p): new function to check if</div><div class='del'>-	  the argument is an instance of DL::CFunc.</div><div class='del'>-</div><div class='del'>-Sat May  9 19:57:00 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat#test_sleep_with_Float): add a</div><div class='del'>-	  test. see [ruby-core:23282]</div><div class='del'>-</div><div class='del'>-Sat May  9 19:23:46 2009  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: use subsec instead of nsec.</div><div class='del'>-</div><div class='del'>-Sat May  9 12:19:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: 3rd argument of rb_hash_foreach() is VALUE.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash, recursive_hash): use VALUE for hash.</div><div class='del'>-</div><div class='del'>-Sat May  9 11:14:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_catch): gets rid of issue with gcc 4.4.  a patch</div><div class='del'>-	  from Alexey Froloff in [ruby-core:23398].  [ruby-core:22924]</div><div class='del'>-</div><div class='del'>-Fri May  8 19:38:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_link0): removes waste dSYM directories left</div><div class='del'>-	  when debug and universal-binary are enabled.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_sizeof): fixed wrong recurring result for</div><div class='del'>-	  intrinsic types.</div><div class='del'>-</div><div class='del'>-Fri May  8 10:14:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, configure.in, win32/Makefile.sub (RUBY_BASE_NAME):</div><div class='del'>-	  program base name.  [ruby-dev:38241]</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-soname): base name of shared library.</div><div class='del'>-	  [ruby-dev:38290]</div><div class='del'>-</div><div class='del'>-Fri May  8 10:07:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_flatten_bang): clears temporary array.</div><div class='del'>-</div><div class='del'>-Fri May  8 02:30:14 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (SortedSet#add): Do not require each newly added</div><div class='del'>-	  element to be Comparable but to respond to &lt;=&gt;. [ruby-dev:38371]</div><div class='del'>-</div><div class='del'>-Thu May  7 21:42:51 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_indentation_check): add a test</div><div class='del'>-	  for indentation check.  [ruby-dev:38382]</div><div class='del'>-</div><div class='del'>-Thu May  7 16:40:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_flatten_bang): returns nil if nothing changed.</div><div class='del'>-	  a patch from Marc-Andre Lafortune in [ruby-core:23382].</div><div class='del'>-</div><div class='del'>-Thu May  7 14:26:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): negative sample number is invalid.</div><div class='del'>-	  [ruby-core:23374]</div><div class='del'>-</div><div class='del'>-Thu May  7 14:16:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c, include/ruby/encoding.h: fixed types.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_nth): long is used for index.</div><div class='del'>-</div><div class='del'>-Thu May  7 14:01:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (r_le): fixed types.</div><div class='del'>-</div><div class='del'>-	* range.c (range_eql): fixed rdoc.</div><div class='del'>-</div><div class='del'>-Thu May  7 13:10:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): should be rb_pid_t.</div><div class='del'>-</div><div class='del'>-Wed May  6 16:50:20 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_gamma): use a table for positive small integers.</div><div class='del'>-</div><div class='del'>-Wed May  6 09:27:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja: code for THINK_C does not exist already.  [Bug #1435]</div><div class='del'>-</div><div class='del'>-Wed May  6 05:33:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, CXXFLAGS): strips extra spaces.</div><div class='del'>-</div><div class='del'>-Tue May  5 11:29:07 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ifchange: Fix: arguments which begin with minus sign may</div><div class='del'>-	  parsed as options.  Because of older systems, don't use --</div><div class='del'>-	  but use parentheses.</div><div class='del'>-</div><div class='del'>-Tue May  5 10:42:28 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Update to JSON 1.1.4.</div><div class='del'>-</div><div class='del'>-Tue May  5 07:22:37 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: NOMAP is now multibyte direct map.</div><div class='del'>-</div><div class='del'>-	* transcode.c: remove ASIS.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h: ditto.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tb (ActionMap#generate_info): remove :asis.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tb (ActionMap#generate_info): add :nomap0.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans: replace :asis by :nomap0.</div><div class='del'>-</div><div class='del'>-Sat May  2 22:53:02 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (SortedSet): Fix document. [Bug #1429]</div><div class='del'>-</div><div class='del'>-Sat May  2 10:34:29 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac-tbl.rb: don't use Unicode escape.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans: follow above.</div><div class='del'>-</div><div class='del'>-Sat May  2 09:19:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (Init_Array): made #to_s an alias to #inspect to reduce</div><div class='del'>-	  the result of recursive array.  a patch from ujihisa at</div><div class='del'>-	  [ruby-dev:38362]</div><div class='del'>-</div><div class='del'>-Fri May  1 16:50:05 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#merge): Only directly use the passed objects</div><div class='del'>-	  @hash instance variable when self and the passed object are</div><div class='del'>-	  instances of the same class. [Bug #118]</div><div class='del'>-</div><div class='del'>-Fri May  1 16:44:11 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (SortedSet#add): Do not let an incomparable object</div><div class='del'>-	  in. [Bug #118]</div><div class='del'>-</div><div class='del'>-Fri May  1 13:18:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (_longjmp): never return.  see [ruby-core:23241]</div><div class='del'>-</div><div class='del'>-Fri May  1 01:31:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: use RbConfig instead of Config.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_config.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 30 21:23:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: use RbConfig::CONFIG instead of Config::CONFIG.</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: ditto.</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/report.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/runc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* tool/eval.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_config.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_platform.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 30 18:18:13 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: documentation typo fixed.  [ruby-core:23335]</div><div class='del'>-</div><div class='del'>-Thu Apr 30 15:27:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans: get rid of a 1.9 feature for cross</div><div class='del'>-	  compile.</div><div class='del'>-</div><div class='del'>-Thu Apr 30 11:35:30 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): Change filesystem_encoding of</div><div class='del'>-	  Mac OS X to UTF-8.</div><div class='del'>-</div><div class='del'>-Wed Apr 29 21:23:40 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_2022_jp.h: add CP50221.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: add converter for CP50221.</div><div class='del'>-</div><div class='del'>-Wed Apr 29 15:22:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): recursive array has no meaning as path</div><div class='del'>-	  name.  [ruby-core:23329]</div><div class='del'>-</div><div class='del'>-Tue Apr 28 19:09:45 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_timeout.rb (TestTimeout#test_timeout): add a test.</div><div class='del'>-</div><div class='del'>-Tue Apr 28 07:13:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (Struct#pretty_print): coerce to a string since</div><div class='del'>-	  anonymous class has name no longer.  [ruby-dev:38349]</div><div class='del'>-</div><div class='del'>-Mon Apr 27 16:47:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_version): uses sed instead of grep if the</div><div class='del'>-	  result is need, to get rid of GREP_OPTIONS.  [ruby-dev:38336]</div><div class='del'>-</div><div class='del'>-Mon Apr 27 01:25:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_getc): use rl_getc_function if</div><div class='del'>-	  possible, to get rid of hang up at EOF without a newline.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 23:19:32 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac.trans: Add converter for UTF8-MAC.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac-tbl.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_econv.rb: tests for above.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 22:17:02 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tb (ActionMap#each_firstbyte):</div><div class='del'>-	  if :asis collides other mappings, use another.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tb (ActionMap#generate_info):</div><div class='del'>-	  add :asis for ASIS.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 21:59:43 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (ASIS): added for multi byte direct map.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 20:33:12 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tb (ActionMap#generate_node):</div><div class='del'>-	  Use ActionMap#gennode instead of generate_node</div><div class='del'>-	  because of initialization.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 20:21:39 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: added.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 20:17:24 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb: use RbConfig::CONFIG instead of Config::CONFIG.</div><div class='del'>-</div><div class='del'>-	* lib/rbconfig/datadir.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 19:30:29 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): unused variable removed.</div><div class='del'>-</div><div class='del'>-Sun Apr 26 18:35:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): keeps pathv for prep_stdio.  [ruby-dev:38131]</div><div class='del'>-</div><div class='del'>-Sun Apr 26 15:13:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#parse_in_order): do not make an</div><div class='del'>-	  option from non-option argument.  [ruby-dev:38333]</div><div class='del'>-</div><div class='del'>-Sat Apr 25 19:11:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_daemon): use daemon(3) only on *BSD.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): double fork to ensure not having ctty.</div><div class='del'>-	  [ruby-core:23305]</div><div class='del'>-</div><div class='del'>-Sat Apr 25 16:19:48 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (month_arg): extracted from time_arg.</div><div class='del'>-	  (validate_vtm): ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 25 16:03:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (TIME_COPY_GMT): new macro.</div><div class='del'>-	  (time_s_at): use TIME_COPY_GMT.</div><div class='del'>-	  (time_succ): ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 25 15:54:04 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): use TIME_SET_UTC.</div><div class='del'>-</div><div class='del'>-Sat Apr 25 15:47:54 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_get_tm): take time_object instead of gmt.</div><div class='del'>-</div><div class='del'>-Sat Apr 25 15:39:44 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_succ): refactored to avoid gmt variable.</div><div class='del'>-	  (strftimev): use TIME_UTC_P.</div><div class='del'>-	  (time_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 25 15:21:33 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (TIME_UTC_P): new macro.</div><div class='del'>-	  (TIME_SET_UTC): ditto.</div><div class='del'>-	  (TIME_LOCALTIME_P): ditto.</div><div class='del'>-	  (TIME_SET_LOCALTIME): ditto.</div><div class='del'>-	  (time_utc_p): use the above macro.</div><div class='del'>-	  (time_localtime): ditto.</div><div class='del'>-	  (time_localtime): ditto.</div><div class='del'>-	  (time_gmtime): ditto.</div><div class='del'>-	  (time_to_s): ditto.</div><div class='del'>-	  (time_add): ditto.</div><div class='del'>-	  (time_sec): ditto.</div><div class='del'>-	  (time_min): ditto.</div><div class='del'>-	  (time_hour): ditto.</div><div class='del'>-	  (time_mday): ditto.</div><div class='del'>-	  (time_mon): ditto.</div><div class='del'>-	  (time_year): ditto.</div><div class='del'>-	  (time_wday): ditto.</div><div class='del'>-	  (wday_p): ditto.</div><div class='del'>-	  (time_yday): ditto.</div><div class='del'>-	  (time_isdst): ditto.</div><div class='del'>-	  (time_zone): ditto.</div><div class='del'>-	  (time_utc_offset): ditto.</div><div class='del'>-	  (time_to_a): ditto.</div><div class='del'>-	  (strftimev): ditto.</div><div class='del'>-	  (time_strftime): ditto.</div><div class='del'>-	  (time_mdump): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 23 01:30:37 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Zlib::GzipFile#path): New method.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 20:25:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): check out-of-range.  [ruby-core:23282]</div><div class='del'>-	  [Bug #1396]</div><div class='del'>-</div><div class='del'>-Wed Apr 22 19:33:13 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.parse): use year completion in Date._parse.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 11:12:15 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (GMTIME, LOCALTIME): should set result if not have *_r().</div><div class='del'>-</div><div class='del'>-	* time.c (localtime_with_gmtoff): now always needed tmbuf.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 10:38:47 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): C99(gcc)-ism.</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): GUESS macro needs the variable named ``result''</div><div class='del'>-	  always.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 09:27:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (localtime_with_gmtoff): fixed cross function jump.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 03:06:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time#rfc2822): pad leading zeros for year.</div><div class='del'>-	  (Time#httpdate): ditto.</div><div class='del'>-	  (Time#xmlschema): ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 02:10:48 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time#xmlschema): use subsec instead of nsec.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 01:27:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): use the year argument as-is.  [ruby-dev:38194]</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.parse): interpret small year 0..99 as 1950..2049.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 00:32:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (find_time_t): constified.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 00:11:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (leap_year_v_p): removed.</div><div class='del'>-</div><div class='del'>-Tue Apr 21 23:52:45 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: remove time_t restriction from Time class.</div><div class='del'>-</div><div class='del'>-	* timev.h: new file to define struct vtm.</div><div class='del'>-</div><div class='del'>-	* strftime.c: format struct vtm instead of struct tm.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do): don't use time_t;</div><div class='del'>-</div><div class='del'>-	[ruby-dev:38191]</div><div class='del'>-</div><div class='del'>-Tue Apr 21 09:25:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_path, dir_each, glob_helper): use readdir_r() if</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Tue Apr 21 09:20:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): needs default library path even if</div><div class='del'>-	  cross compiling.</div><div class='del'>-</div><div class='del'>-Tue Apr 21 07:07:45 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_push): bypass rb_ary_store().</div><div class='del'>-</div><div class='del'>-Tue Apr 21 01:25:16 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub_int): subtraction without making internal</div><div class='del'>-	  bignum values.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd_int): ditto for addition.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigtrunc): declare inline.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_quad_pack): fix condition.</div><div class='del'>-</div><div class='del'>-Tue Apr 21 01:13:42 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config.h): added TIMET2NUM and NUM2TIMET to match</div><div class='del'>-	  the change in time.c</div><div class='del'>-</div><div class='del'>-Mon Apr 20 20:29:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): faster processing on 7bit strings.</div><div class='del'>-</div><div class='del'>-	* string.c (ascii_isspace): faster isspace() for 7bit strings.</div><div class='del'>-</div><div class='del'>-Sun Apr 19 14:43:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): the order of local variables on stack is</div><div class='del'>-	  undefined.  should use outermost VALUE for ruby_init_stack.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_get_stack_grow_direction, Init_stack): allows volatile</div><div class='del'>-	  pointer.</div><div class='del'>-</div><div class='del'>-	* thread_*.c (ruby_init_stack): ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 19 13:17:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (Gem::QuickLoader#push_gem_version_on_load_path):</div><div class='del'>-	  check for requirement if the gem is installed.  a patch from</div><div class='del'>-	  Kyosuke MOROHASHI at [ruby-dev:38020].</div><div class='del'>-</div><div class='del'>-Sun Apr 19 01:39:17 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_seteuid_m): defined to use rb_f_notimplement if not</div><div class='del'>-	  implemented.</div><div class='del'>-	  (proc_setegid_m): ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 19 01:03:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setuid): use rb_f_notimplement if not implemented.</div><div class='del'>-	  (proc_setgid): ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 18 23:07:18 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: use rb_f_notimplement for methods not</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 18 21:07:34 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: use rb_f_notimplement for methods not</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 01:51:17 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (rb_notimplement_body_p): declared.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_eval_method): suppress a warning.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fsync): use rb_f_notimplement if not implemented.</div><div class='del'>-	  (rb_io_close_on_exec_p): ditto.</div><div class='del'>-	  (rb_io_set_close_on_exec): ditto.</div><div class='del'>-	  (rb_io_fcntl): ditto.</div><div class='del'>-	  (rb_f_syscall): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_tell): ditto.</div><div class='del'>-	  (dir_seek): ditto.</div><div class='del'>-	  (dir_s_chroot): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getpgrp): ditto.</div><div class='del'>-	  (proc_setpgrp): ditto.</div><div class='del'>-	  (proc_getpgid): ditto.</div><div class='del'>-	  (proc_setpgid): ditto.</div><div class='del'>-	  (proc_setsid): ditto.</div><div class='del'>-	  (proc_getpriority): ditto.</div><div class='del'>-	  (proc_setpriority): ditto.</div><div class='del'>-	  (proc_getrlimit): ditto.</div><div class='del'>-	  (proc_setrlimit): ditto.</div><div class='del'>-	  (p_sys_setuid): ditto.</div><div class='del'>-	  (p_sys_setruid): ditto.</div><div class='del'>-	  (p_sys_seteuid): ditto.</div><div class='del'>-	  (p_sys_setreuid): ditto.</div><div class='del'>-	  (p_sys_setresuid): ditto.</div><div class='del'>-	  (p_sys_setgid): ditto.</div><div class='del'>-	  (p_sys_setrgid): ditto.</div><div class='del'>-	  (p_sys_setegid): ditto.</div><div class='del'>-	  (p_sys_setregid): ditto.</div><div class='del'>-	  (p_sys_setreuid): ditto.</div><div class='del'>-	  (p_sys_setresgid): ditto.</div><div class='del'>-	  (p_sys_issetugid): ditto.</div><div class='del'>-	  (proc_getgroups): ditto.</div><div class='del'>-	  (proc_setgroups): ditto.</div><div class='del'>-	  (proc_initgroups): ditto.</div><div class='del'>-	  (proc_daemon): ditto.</div><div class='del'>-	  (rb_proc_times): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_lchown): ditto.</div><div class='del'>-	  (rb_file_s_link): ditto.</div><div class='del'>-	  (rb_file_s_symlink): ditto.</div><div class='del'>-	  (rb_file_s_readlink): ditto.</div><div class='del'>-	  (rb_file_s_truncate): ditto.</div><div class='del'>-	  (rb_file_truncate): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 00:53:47 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (read_multipart): When path is not defined,</div><div class='del'>-	  define local_path as a method always returning nil instead of</div><div class='del'>-	  aliasing.  This is because StringIO#path no longer exists.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 00:45:09 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (bracket): fix escape handling for range character in bracket</div><div class='del'>-	  of fnmatch pattern.  e.g., '[a\-c]' should not match 'b'.</div><div class='del'>-</div><div class='del'>-Thu Apr 16 23:09:03 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_method_id): use rb_define_notimplement_method_id</div><div class='del'>-	  if rb_f_notimplement is given.</div><div class='del'>-	  (rb_define_protected_method): ditto.</div><div class='del'>-	  (rb_define_private_method): ditto.</div><div class='del'>-	  (rb_define_method): use rb_define_method_id.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_f_notimplement): declared.</div><div class='del'>-	  (rb_define_notimplement_method_id): declared.</div><div class='del'>-</div><div class='del'>-	* proc.c (method_inspect): show not-implemented.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (notimplement_body): new variable.</div><div class='del'>-	  (rb_notimplement_body_p): new function.</div><div class='del'>-	  (rb_method_boundp): return false if not implemented.</div><div class='del'>-	  (rb_f_notimplement): new function.</div><div class='del'>-	  (rb_define_notimplement_method_id): new function.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_fork): use rb_f_notimplement if not implemented.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_lchmod): use rb_f_notimplement if not implemented.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 20:24:49 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_flatten): flatten(0) works as Array#dup.</div><div class='del'>-	  [ruby-core:23168]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 11:53:35 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch_helper): use rb_enc_precise_mbclen and</div><div class='del'>-	  fail if bytes are invalid. [ruby-dev:38307]</div><div class='del'>-</div><div class='del'>-Tue Apr 14 18:11:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (bracket): if same in bytes, path is matching.</div><div class='del'>-	  [ruby-dev:38305]</div><div class='del'>-</div><div class='del'>-Mon Apr 13 17:21:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): scan coderange incrementally.</div><div class='del'>-</div><div class='del'>-Mon Apr 13 11:35:55 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): optimize previous commit.</div><div class='del'>-	  [ruby-list:45954]</div><div class='del'>-</div><div class='del'>-Mon Apr 13 10:58:54 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): check encoding compatibility only on</div><div class='del'>-	  real parts.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 19:54:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (bracket, fnmatch_helper): compare bytewise first, to get</div><div class='del'>-	  rid of invalid byte sequence.  [ruby-dev:38303]</div><div class='del'>-</div><div class='del'>-Sat Apr 11 08:45:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): phony ruby target needs empty command.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 11:32:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (up): updates timestamp file.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 04:54:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): info-program needs common.mk.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 03:46:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_INSTALL_NAME): use --program-transform-name.</div><div class='del'>-</div><div class='del'>-	* instruby.rb, mkconfig.rb: deal with --program-transform-name</div><div class='del'>-	  better.  now supports s, y commands and single addressing.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 23:59:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't override the rule for ruby.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 21:58:12 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): buffer length plus one byte for null</div><div class='del'>-	  terminator.  [ruby-dev:38294]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_str_dump): add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 20:08:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): should not sign-expand non-ascii.</div><div class='del'>-	  [ruby-core:23158]</div><div class='del'>-</div><div class='del'>-Wed Apr  8 17:29:29 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chop_bang): reset coderange. [ruby-core:23155]</div><div class='del'>-</div><div class='del'>-Wed Apr  8 14:00:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (what_type?): fixed typo, and refined for member of</div><div class='del'>-	  aggregation types.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.postpone): copy postponed output always.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 09:45:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_SO): removed redundant additional version</div><div class='del'>-	  numbers.</div><div class='del'>-</div><div class='del'>-Tue Apr  7 13:35:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (info): shows configured names.</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): works even if RUBY_INSTALL_NAME</div><div class='del'>-	  contains macro.</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): compatibility version is</div><div class='del'>-	  ruby_version.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): defines type modifier prefix</div><div class='del'>-	  for printf.</div><div class='del'>-</div><div class='del'>-Tue Apr  7 02:27:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFINT): should pass includes to</div><div class='del'>-	  AC_CHECK_SIZEOF and RUBY_CHECK_SIZEOF.</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, CXXFLAGS): need ARCH_FLAG for universal</div><div class='del'>-	  binary.</div><div class='del'>-</div><div class='del'>-Tue Apr  7 01:08:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): reduce fragments if no precision lost.</div><div class='del'>-	  c.f. [ruby-core:23075]</div><div class='del'>-</div><div class='del'>-Mon Apr  6 23:16:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, CXXFLAGS): override with $cflags and</div><div class='del'>-	  $cxxflags if not given.  [ruby-core:23130]</div><div class='del'>-</div><div class='del'>-Mon Apr  6 19:26:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (utime_failed): refined the error message for EINVAL on</div><div class='del'>-	  DOSISH platforms, where it may fail depending on filesystems.</div><div class='del'>-	  see [ruby-dev:38277].</div><div class='del'>-</div><div class='del'>-Mon Apr  6 16:38:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (sys_fail2, rb_file_s_readlink, BUFCHECK, rmext),</div><div class='del'>-	  (rb_file_s_basename): get rid of overflow.</div><div class='del'>-</div><div class='del'>-Mon Apr  6 15:11:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr): checks overflow.</div><div class='del'>-</div><div class='del'>-Mon Apr  6 10:49:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb (test_path): StringIO#path is no</div><div class='del'>-	  longer defined.  [ruby-dev:38254]</div><div class='del'>-</div><div class='del'>-Mon Apr  6 10:47:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_path): removed.  [ruby-dev:38254]</div><div class='del'>-</div><div class='del'>-Sun Apr  5 18:02:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_fd_resize): does nothing on Win32.</div><div class='del'>-</div><div class='del'>-Sat Apr  4 17:05:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (RB_NUM_COERCE_FUNCS_NEED_OPID): macro to</div><div class='del'>-	  check compatibility.  [ruby-dev:38162]</div><div class='del'>-</div><div class='del'>-Sat Apr  4 07:38:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (sitearch): default to arch.</div><div class='del'>-</div><div class='del'>-Fri Apr  3 14:02:42 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb (IRB::InputCompletor::Operators): Add</div><div class='del'>-	  overloadable negative operators.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#lex_init): Support overloadable</div><div class='del'>-	  negative operators.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#identify_identifier): Minus signs</div><div class='del'>-	  need to be escaped in regexp character class.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-keywords, ruby-parse-partial):</div><div class='del'>-	  Support overloadable negative operators.</div><div class='del'>-</div><div class='del'>-Fri Apr  3 12:45:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: quotes arguments with spaces always.</div><div class='del'>-</div><div class='del'>-Thu Apr  2 14:50:06 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb: remove unused rdoc/usage from example.</div><div class='del'>-	   [ruby-core:23098]</div><div class='del'>-</div><div class='del'>-Thu Apr  2 07:42:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): updated.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 20:37:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_fork_with_pthread): fail if the child process</div><div class='del'>-	  fail.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 19:46:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): support for parallel make.  a</div><div class='del'>-	  patch from Takuto Matsuu at [ruby-dev:38220].</div><div class='del'>-</div><div class='del'>-Wed Apr  1 19:39:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_LDSHARED): use $(CC) instead of cc.</div><div class='del'>-	  a patch from Wataru Kimura at [ruby-dev:38225].</div><div class='del'>-</div><div class='del'>-Wed Apr  1 18:53:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): should not #include inside a</div><div class='del'>-	  function, since headers may have declarations.</div><div class='del'>-	  c.f. [ruby-core:23095]</div><div class='del'>-</div><div class='del'>-Wed Apr  1 18:44:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: ignores version numbers in config.status.  replaces</div><div class='del'>-	  all $$s in program_transform_name.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 15:12:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.c.i): use CPP instead of CC, since gcc -E can'</div><div class='del'>-	  work with multiple -arch options.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 13:46:20 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_fd_select): new function to call select</div><div class='del'>-	  using rb_fdset_t.</div><div class='del'>-</div><div class='del'>-	* io.c (select_internal): use rb_thread_fd_select instead of</div><div class='del'>-	  rb_thread_select.  based on the patch from Kengo Matsuyama.</div><div class='del'>-	  [ruby-dev:38221]</div><div class='del'>-</div><div class='del'>-Wed Apr  1 13:16:19 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_sleep): RDoc disambiguation.  [ruby-talk:332632]</div><div class='del'>-</div><div class='del'>-Tue Mar 31 15:17:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fixed the help strings for the header and library</div><div class='del'>-	  dir switches, and updated to use AS_HELP_STRING.  patches from</div><div class='del'>-	  Richard Brown, c.f. [ruby-core:23067].</div><div class='del'>-</div><div class='del'>-Mon Mar 31 08:18:57 2009  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_interface.rb, test/csv/test_serialization.rb:</div><div class='del'>-	  Trying more fixes some failing tests on Windows.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 19:04:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): show negative fixnum correctly.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 12:12:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): replaces the message if</div><div class='del'>-	  frozen.  [ruby-dev:38208]</div><div class='del'>-</div><div class='del'>-Mon Mar 30 01:00:20 2009  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_interface.rb: Trying a fix for some failing tests</div><div class='del'>-	  on Windows.</div><div class='del'>-</div><div class='del'>-Sun Mar 29 08:59:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#relative_path_from): compares path</div><div class='del'>-	  components according to system default case-sensitiveness.</div><div class='del'>-	  [ruby-core:22829]</div><div class='del'>-</div><div class='del'>-Sat Mar 28 11:10:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby.imp): all symbols in static library need to be</div><div class='del'>-	  exported, so that encoding-extensions can be loaded.  based on a</div><div class='del'>-	  patch from Yutaka Kanemoto &lt;kinpoco AT gmail.com&gt; in</div><div class='del'>-	  [ruby-talk:332282].</div><div class='del'>-</div><div class='del'>-Sat Mar 28 08:49:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): checks if named argument given twice.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (GETNAMEARG): remembers named arg is used, to get rid</div><div class='del'>-	  of too many arguments warning.</div><div class='del'>-</div><div class='del'>-Sat Mar 28 03:16:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command, cc_command, cpp_command): should no</div><div class='del'>-	  override extout defined in extmk.rb.</div><div class='del'>-</div><div class='del'>-Fri Mar 27 12:56:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (what_type?): checks more restrictively, and</div><div class='del'>-	  supports universal binary.</div><div class='del'>-</div><div class='del'>-Fri Mar 27 01:33:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_cmp): negate the result of reverse comparison.</div><div class='del'>-</div><div class='del'>-Fri Mar 27 01:19:50 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cmpint): FIX2INT may fail on LP64 platforms.</div><div class='del'>-</div><div class='del'>-Thu Mar 26 12:22:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (String#is_binary_data?): TAB would be</div><div class='del'>-	  usually considered to be included in text data.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc::Parser.binary?): blksize may be nil</div><div class='del'>-	  and is irrelevant to whether a file is binary.  copied from</div><div class='del'>-	  above since TAB and newlines would be usually considered to be</div><div class='del'>-	  included in text data.</div><div class='del'>-</div><div class='del'>-Thu Mar 26 11:33:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): considers</div><div class='del'>-	  --program-prefix and --program-suffix.  reapplied r19923.</div><div class='del'>-</div><div class='del'>-Wed Mar 25 07:45:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (target_alias): replaces cpu with universal too.</div><div class='del'>-</div><div class='del'>-	* configure.in (target): replaces cpu with arch by --with-arch.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (TOPDIR): chops arch in config instead of</div><div class='del'>-	  RUBY_PLATFORM which varies on universal_binary.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (MAJOR, MINOR, TEENY): reads from version.h always.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 19:23:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): need to include $4.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 17:08:52 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_inspect): Cannot access fptr-&gt;fd if fptr is NULL.</div><div class='del'>-	  This fixes a coredump caused by: ruby -e "class X &lt; IO; def</div><div class='del'>-	  initialize; end; end; p X.new.inspect"</div><div class='del'>-</div><div class='del'>-Mon Mar 23 22:01:00 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): use NUM2TIMET.</div><div class='del'>-	  (time_s_at): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 21:52:26 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): Better patch for eliminating an</div><div class='del'>-	  "unused variable".</div><div class='del'>-</div><div class='del'>-Mon Mar 23 21:41:14 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_initialize): Make the file variable</div><div class='del'>-	  volatile, because FilePathValue() currently does not protect the</div><div class='del'>-	  given variable from GC. (Probably it should)</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (fsdbm_initialize): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 19:22:14 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_lstat): Back out.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 18:54:57 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_stat, rb_file_s_lstat): Remove repeated type</div><div class='del'>-	  checks.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 14:57:48 2009  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (init_heap): set default to heap slots length</div><div class='del'>-	  if HEAP_OBJ_LIMIT is larger than HEAP_MIN_SLOTS. [Bug #1310]</div><div class='del'>-	  (set_heaps_increment): increment next_heaps_length if</div><div class='del'>-	  next_heaps_length and heaps_used are same.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 14:32:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): use original command if not found.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 06:51:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (link_so): replaces $(TARGET) with basename of the</div><div class='del'>-	  target.  [ruby-talk:330286]</div><div class='del'>-</div><div class='del'>-Sun Mar 22 14:51:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): use NULL as</div><div class='del'>-	  application name for batch files.</div><div class='del'>-</div><div class='del'>-Sat Mar 21 15:54:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (write_would_block): defined.</div><div class='del'>-	  (read_would_block): defined.</div><div class='del'>-	  (ossl_start_ssl): add nonblock argument.</div><div class='del'>-	  (ossl_ssl_connect): follow ossl_start_ssl change.</div><div class='del'>-	  (ossl_ssl_connect_nonblock): new method.</div><div class='del'>-	  (ossl_ssl_accept): follow ossl_start_ssl change.</div><div class='del'>-	  (ossl_ssl_accept_nonblock): new method.</div><div class='del'>-	  (ossl_ssl_read_internal): use write_would_block and</div><div class='del'>-	  read_would_block.</div><div class='del'>-	  (ossl_ssl_write_internal): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 21 08:19:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec): prints error message only on platforms</div><div class='del'>-	  neither close-on-exec nor spawnv is supported.</div><div class='del'>-</div><div class='del'>-Sat Mar 21 08:17:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): omit program name</div><div class='del'>-	  if actual program path is found.  [ruby-core:22960]</div><div class='del'>-</div><div class='del'>-Sat Mar 21 07:25:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): should pass program name even if multiple</div><div class='del'>-	  arguments are given.  fix for TestProcess::test_argv0.</div><div class='del'>-</div><div class='del'>-Sat Mar 21 02:37:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb</div><div class='del'>-	  (OpenSSL::Buffering#write_nonblock): new method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_write_nonblock): new method.</div><div class='del'>-	  (ossl_ssl_write_internal): defined.</div><div class='del'>-	  (ossl_ssl_write): use ossl_ssl_write_internal.</div><div class='del'>-</div><div class='del'>-Fri Mar 20 18:25:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (errmap): added ERROR_MOD_NOT_FOUND.</div><div class='del'>-</div><div class='del'>-Fri Mar 20 09:22:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (libprefix): must not append "lib" after $(libdir),</div><div class='del'>-	  when load_relative is not used on darwin.  a patch from Kenta</div><div class='del'>-	  Murata at [ruby-dev:38182].</div><div class='del'>-</div><div class='del'>-Thu Mar 19 20:29:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_mWaitReadable): defined.</div><div class='del'>-	  (rb_mWaitWritable): defined.</div><div class='del'>-	  (io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN.</div><div class='del'>-	  (rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and</div><div class='del'>-	  EAGAIN.</div><div class='del'>-</div><div class='del'>-	* error.c (make_errno_exc): extracted from rb_sys_fail.</div><div class='del'>-	  (rb_mod_sys_fail): new function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_mod_sys_fail): declared.</div><div class='del'>-	  (rb_mWaitReadable): declared.</div><div class='del'>-	  (rb_mWaitWritable): declared.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom_nonblock): extend</div><div class='del'>-	  IO::WaitReadable on EWOULDBLOCK and EAGAIN.</div><div class='del'>-	  (rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK,</div><div class='del'>-	  EAGAIN, ECONNABORTED and EPROTO.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable</div><div class='del'>-	  on EINPROGRESS.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): extend</div><div class='del'>-	  IO::WaitWritable on EWOULDBLOCK and EAGAIN.</div><div class='del'>-	  (bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and</div><div class='del'>-	  EAGAIN.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError</div><div class='del'>-	  extended by IO::WaitReadable/IO::WaitWritable on</div><div class='del'>-	  SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise.</div><div class='del'>-	  (ossl_exc_new): new function.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h (ossl_exc_new): declared.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and</div><div class='del'>-	  IO::WaitWritable.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:22539], [ruby-dev:38140]</div><div class='del'>-</div><div class='del'>-Thu Mar 19 18:49:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): allows qualified name.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): checks more strictly.</div><div class='del'>-</div><div class='del'>-	* configure.in (struct stat.st_size, struct stat.st_blocks),</div><div class='del'>-	  (struct stat.st_ino): check for size.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_sizeof): allows qualified name.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_ino, rb_stat_blocks): check by size.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 16:59:48 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb (TestSyslog#test_open): check</div><div class='del'>-	  param after block again. because detect not to call block.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 16:54:04 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: not use pktinfo.ipi_spec_dst if not defined</div><div class='del'>-	* ext/socket/extconf.rb: define HAVE_IPI_SPEC_DST</div><div class='del'>-</div><div class='del'>-Wed Mar 18 16:38:11 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb (TestSyslog#test_open): check</div><div class='del'>-	  block parameter in block. [ruby-dev:38180]</div><div class='del'>-</div><div class='del'>-Wed Mar 18 12:48:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (report_bug): rb_bug can be caused by extension</div><div class='del'>-	  libraries.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 02:41:33 2009  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (open_server_inaddr_any): fixed multiple network</div><div class='del'>-	  families problem. a patch from Charl Matthee at [ruby-core:21033].</div><div class='del'>-</div><div class='del'>-Tue Mar 17 21:42:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): creates .revision.time and passes</div><div class='del'>-	  CHDIR to create prerequisite files.</div><div class='del'>-</div><div class='del'>-Tue Mar 17 18:00:55 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Enumerator#{each_,}{with_index,with_object}): Fix</div><div class='del'>-	  a bug where any parameter but the first one is dropped even if</div><div class='del'>-	  multiple values are yielded with. [Bug #1198]</div><div class='del'>-</div><div class='del'>-Tue Mar 17 14:25:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#sub): set $~ in block.binding.</div><div class='del'>-	  [ruby-dev:38173]</div><div class='del'>-</div><div class='del'>-Tue Mar 17 13:48:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): added RUBY_COREDLL.</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_initialize): returns msvcrt if libc</div><div class='del'>-	  or RUBY_COREDLL is given.  [ruby-core:22828]</div><div class='del'>-</div><div class='del'>-Tue Mar 17 10:29:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c, dln.c, parse.y, re.c, ruby.c, sprintf.c, strftime.c,</div><div class='del'>-	  string.c, util.c, variable.c: use strlcpy, memcpy and snprintf</div><div class='del'>-	  instead of strcpy, strncpy and sprintf.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 17:15:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_win32.rb (Win32API): enclosed by DL::TestWin32.</div><div class='del'>-	  [ruby-core:22827]</div><div class='del'>-</div><div class='del'>-Mon Mar 16 16:37:22 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (eventloop_sleep, lib_eventloop_core),</div><div class='del'>-	  (lib_watchdog_core): tv_usec is not time_t.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 12:30:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (REVISION_H): keeps timestamp of revision.h.</div><div class='del'>-	  [ruby-core:22900]</div><div class='del'>-</div><div class='del'>-	* tool/ifchange, win32/ifchange.bat: extended --timestamp option.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 09:28:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, win32/Makefile.sub: added preprocessing rules.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 12:34:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_mini_test.rb: fixed tests depending on the</div><div class='del'>-	  detail of floating point representation.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 12:01:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (Gem::Installer#shebang): fix for env</div><div class='del'>-	  shebang.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 11:15:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h ({RSTRING,RBIGNUM}_EMBED_LEN_MAX): made int.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (OBJ_{TAINTED,UNTRUSTED,FROZEN}): return int.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_CODERANGE): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 11:11:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_hash_uint, rb_hash_start, rb_hash_end): use VALUE</div><div class='del'>-	  rather than unsigned int.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 11:00:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): stop the timer thread before exec.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 09:17:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (.y.c): use SRC_FILE which contains slashes instead of</div><div class='del'>-	  backslashes.  [ruby-core:22891]</div><div class='del'>-</div><div class='del'>-Sun Mar 15 08:26:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (srcs-ext): creates ext/dl/callback/callback.c also.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 03:29:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (SAVED_GROUP_ID, p_gid_switch): should be rb_gid_t.</div><div class='del'>-</div><div class='del'>-Sun Mar 15 02:53:13 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpat): accept capture name.</div><div class='del'>-	  (rb_str_aref): follow above change.</div><div class='del'>-	  (rb_str_aref_m): pass the 2nd argument to rb_str_subpat.</div><div class='del'>-	  (rb_str_subpat_set): accept capture name.</div><div class='del'>-	  (rb_str_aset): follow above change.</div><div class='del'>-	  (rb_str_partition): ditto.</div><div class='del'>-	  (rb_str_aset_m): pass the 2nd argument to rb_str_subpat_set.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_reg_backref_number): declared.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_backref_number): defined.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:21057]</div><div class='del'>-</div><div class='del'>-Sun Mar 15 02:09:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bmcall): should not uninitialized variable.  a patch from</div><div class='del'>-	  pegacorn at [ruby-dev:38169].</div><div class='del'>-</div><div class='del'>-Sat Mar 14 18:25:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_scan_oct, ruby_scan_hex): use size_t.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 18:18:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_call, rb_node_arity, bmcall, curry): checks</div><div class='del'>-	  overflow.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_parameters): unnamed_parameters() expects in</div><div class='del'>-	  not VALUE.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 17:54:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_each_words): assume no string exceeds INT_MAX.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 15:59:04 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): use int variable for status.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 14:45:51 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): use rb_pid_t for pid.</div><div class='del'>-	  (rb_spawn_internal): local variable renamed.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 14:16:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strdup, Balloc, rv_alloc): use size_t.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 13:53:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_qsort): the result of cmp must be signed, so ge</div><div class='del'>-	  rid of reuse of a variable.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 10:56:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (init_funcname_len, dln_find_exe_r, dln_find_file_r): use</div><div class='del'>-	  size_t.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_inspect, file_expand_path): ditto.</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_qsort): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 10:39:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CXX_EXT): checks for case-sensitive filesystem with</div><div class='del'>-	  FNM_SYSCASE rather than build_os.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 23:03:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (wait_connectable0): remove unreachable code.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 23:00:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): pass [include] to AC_CHECK_SIZEOF.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 20:58:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): compare fspace in size_t world.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 18:58:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, CXXFLAGS): moved after warnflags.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 18:10:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_throw_obj): inverted call flow.  [ruby-core:22872]</div><div class='del'>-</div><div class='del'>-Fri Mar 13 17:04:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (bool): not define to get rid of conflict</div><div class='del'>-	  against curses.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 16:45:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h (i2d_of_void): cast for callbacks.</div><div class='del'>-	  [ruby-core:22860]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_by_id): suppress a</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_flush_sessions): time_t may</div><div class='del'>-	  be larger than long.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_get_time),</div><div class='del'>-	  (ossl_ssl_session_get_timeout): use TIMET2NUM() to convert</div><div class='del'>-	  time_t.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 15:10:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): should use</div><div class='del'>-	  OPENSSL_free instead of free.  a patch from Charlie Savage at</div><div class='del'>-	  [ruby-core:22858].</div><div class='del'>-</div><div class='del'>-Fri Mar 13 21:11:51 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: should include "ruby/defines.h" as well for</div><div class='del'>-	  prototypes of compatibility functions on Win32 platform.</div><div class='del'>-	  [ruby-core:22870]</div><div class='del'>-</div><div class='del'>-Fri Mar 13 10:42:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_HEADER_STDBOOL): added.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2INT, rb_special_const_p): returns true</div><div class='del'>-	  and false instead of Qtrue and Qfalse for platforms where VALUE</div><div class='del'>-	  is bigger than int.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stress_set), ext/openssl/ossl_asn1.c (decode_bool): go</div><div class='del'>-	  rid of variables named `bool'.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 10:16:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (struct stat.st_size): may be huge.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 09:30:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigfixize): zero length Bignum is 0.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 09:17:12 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#fu_get_gid): stringify group</div><div class='del'>-	  argument before making regexp match.  [ruby-dev:38155]</div><div class='del'>-</div><div class='del'>-Fri Mar 13 08:06:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (rv_strdup): macro to duplicate nul-terminated string.</div><div class='del'>-	  [ruby-core:22852]</div><div class='del'>-</div><div class='del'>-Thu Mar 12 22:41:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl: suppress warnings.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h (OSSL_Debug): don't use gcc extension for</div><div class='del'>-	  variadic macro.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 22:29:36 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (WARNFLAGS): warning 4996 is only in VC++8 or</div><div class='del'>-	  later.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 22:14:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_def_const): use INT2NUM because</div><div class='del'>-	  OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG doesn't fit into Fixnum.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 18:16:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, bignum.c, dln.c, error.c, gc.c, io.c, marshal.c,</div><div class='del'>-	  numeric.c, pack.c, strftime.c, string.c, thread.c, transcode.c,</div><div class='del'>-	  transcode_data.h, util.c, variable.c, vm_dump.c,</div><div class='del'>-	  include/ruby/encoding.h, missing/crypt.c, missing/vsnprintf.c:</div><div class='del'>-	  suppress VC type warnings.  [ruby-core:22726]</div><div class='del'>-</div><div class='del'>-	* marshal.c (div0), numeric.c (infinite_value): new functions to</div><div class='del'>-	  get rid of VC division by 0 warnings.</div><div class='del'>-</div><div class='del'>-	* st.c: use st_index_t for indexes instead of int.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_sourceline), vm_insnhelper.c (vm_throw): use</div><div class='del'>-	  rb_num_t.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 09:30:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): if same size type is found, no</div><div class='del'>-	  more calculation is needed.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFINT): falls back to RUBY_CHECK_SIZEOF if</div><div class='del'>-	  size is not immediate.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 09:24:24 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h: suppress warnings of overflow.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 09:15:14 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: suppress warnings of overflow.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 05:49:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): added some default flags,</div><div class='del'>-	  pointer-arith, write-strings and shorten-64-to-32, but suppress</div><div class='del'>-	  unused-parameter and missing-field-initializers, if possible.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_HUGE): checks whether a value range is</div><div class='del'>-	  larger than long.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_blocks): struct stat.st_blocks may be larger</div><div class='del'>-	  than long.</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_fallback_body): off_t may be larger than long.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_disasm): RSTRING_LEN() returns long.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_sleep): time() needs time_t.</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): enclosed conditionally used</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): range of rlim_cur may be</div><div class='del'>-	  larger than int.</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): commented out code which has</div><div class='del'>-	  no effect at all.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 02:10:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: strip spaces from ruby_version.</div><div class='del'>-	  Sun C 5.9 SunOS_i386 Build47_dlight 2007/05/22 generates</div><div class='del'>-	  `ruby_version= 1 "." 9 "." 1'.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 01:18:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_seek): use long for seekdir().</div><div class='del'>-</div><div class='del'>-Thu Mar 12 01:08:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ytab.sed: replaces backslashes with slash for nmake.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 21:23:06 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): don't clear tm_mday.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 20:13:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_sym): RTLD_NEXT is not for symbol</div><div class='del'>-	  name.   [ruby-dev:38150]</div><div class='del'>-</div><div class='del'>-Wed Mar 11 17:26:38 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/Win32API.rb: call by :stdcall as default.</div><div class='del'>-	  [ruby-core:22826]</div><div class='del'>-</div><div class='del'>-Wed Mar 11 13:27:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stack_type): uses VALUE which is able to be stored</div><div class='del'>-	  parser stack.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 13:22:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): set TMPDIR if none of TMPDIR, TMP,</div><div class='del'>-	  TEMP is set.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_telldir, rb_w32_seekdir): should use long,</div><div class='del'>-	  as defined by SUSv3.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 13:03:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_sym): fixed heap corruption.</div><div class='del'>-	  [ruby-core:22822]</div><div class='del'>-</div><div class='del'>-Wed Mar 11 06:12:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): expands libpath and removes</div><div class='del'>-	  last /lib.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 04:47:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_i, time_hash): time_t may be bigger than long</div><div class='del'>-	  and int.</div><div class='del'>-</div><div class='del'>-	* time.c (time_timeval, rb_time_timeval, obj2nsec, time_strftime),</div><div class='del'>-	  (time_mdump, time_mload): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): added TIMET2NUM and NUM2TIMET.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 04:29:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: suppress warnings.  based on a patch from Charlie</div><div class='del'>-	  Savage at [ruby-core:22804].</div><div class='del'>-</div><div class='del'>-Wed Mar 11 04:22:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_trap): suppress warnings.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 20:07:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (WARNFLAGS): uses -wd4996 instead of</div><div class='del'>-	  CRTDEFFLAGS.  cf. [ruby-core:22725]</div><div class='del'>-</div><div class='del'>-Tue Mar 10 19:58:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (strcasecmp, strncasecmp): use _ prefixed</div><div class='del'>-	  versions to suppress warnings.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/mkcallback.rb (DLTYPE[FLOAT]): cast to suppress</div><div class='del'>-	  warnings.  [ruby-core:22792]</div><div class='del'>-</div><div class='del'>-	* array.c, bignum.c, gc.c, numeric.c, string.c, util.c, insns.def,</div><div class='del'>-	  missing/crypt.c, missing/vsnprintf.c, : suppress warnings.</div><div class='del'>-	  [ruby-core:22792]</div><div class='del'>-</div><div class='del'>-Tue Mar 10 13:45:54 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LDFLAGS): moved -link to TRY_LINK, LINK_SO</div><div class='del'>-	  and so on.  based on a patch by Charlie Savage at</div><div class='del'>-	  [ruby-core:22794]</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): passes LDFLAGS to rbconfig.rb so</div><div class='del'>-	  that extconf.rb could refer it.  [ruby-core:22725]</div><div class='del'>-</div><div class='del'>-Tue Mar 10 11:36:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): too few arguments to function</div><div class='del'>-	  rb_ary_tmp_new().</div><div class='del'>-</div><div class='del'>-Tue Mar 10 10:53:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): argument may be converted.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 04:56:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIRUBY): keep macro into Makefile.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): fix for fallback.</div><div class='del'>-</div><div class='del'>-	* configure.in (MANGLED_PATH): defines for RUBYLIB_PREFIX.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): uses string as buffer.</div><div class='del'>-</div><div class='del'>-	* symbian/setup (config_h): defines MANGLED_PATH.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 03:48:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/depend: fix for parallel build.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/extconf.rb: callback.h is no longer created.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/mkcallback.rb: creates main source first.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/extconf.rb ($distcleanfiles): added callback.c.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 00:06:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (load_relative): new option to enable load path</div><div class='del'>-	  relative to libruby_so.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): added the case using dladdr().</div><div class='del'>-</div><div class='del'>-Mon Mar  9 16:49:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake: updated to rake code to rake-0.8.4 source code base.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 16:03:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (Gem::Installer#initialize): env may</div><div class='del'>-	  not be under /usr/bin.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (Gem::Installer#shebang): uses /bin/sh</div><div class='del'>-	  if shebang has any options, since env shebang trick does no</div><div class='del'>-	  work with options.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 15:19:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (manpages): use basename to compare and for Tempfile.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 14:55:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (default gems): installs default gemspecs.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 14:48:08 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (OPTFLAGS): simplified. see [ruby-core:22725]</div><div class='del'>-</div><div class='del'>-Mon Mar  9 14:33:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: prints names of the directories where files are</div><div class='del'>-	  installed to.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 02:25:54 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add some tests.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 01:38:00 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb: add some tests.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 01:12:37 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: add a test for Object#method_missing.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 01:11:17 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: add tests for File#size and</div><div class='del'>-	  File.absolute_path.</div><div class='del'>-</div><div class='del'>-Sun Mar  8 23:02:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LDFLAGS): always prepends -link.</div><div class='del'>-</div><div class='del'>-Sun Mar  8 11:39:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF): dirty hack to compute multiple</div><div class='del'>-	  sizeof, for apple's universal binary.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 22:06:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (universal_binary): checks if sizes are same on all</div><div class='del'>-	  architectures.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 18:45:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: checks if cd really succeeded.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 14:24:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't use CONFIG_SHELL for testing shell feature in</div><div class='del'>-	  Makefile.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 14:07:31 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix the location of cdcmd.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 13:52:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: the shell which runs configure may be different from</div><div class='del'>-	  the shell for make.  configure likes bash but Makefile specifies</div><div class='del'>-	  SHELL=/bin/sh.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 12:31:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb: reverted space sensitive test results.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_parser_c.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_default_display.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 23:35:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.urlsafe_base64): add optional</div><div class='del'>-	  argument to add padding.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 19:25:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB_VERSION_STYLE): sets full or minor style</div><div class='del'>-	  not to show RUBY_VERSION_MAJOR and so on.</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_LIB_VERSION): makes from RUBY_LIB_VERSION_STYLE.</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in, win32/Makefile.sub (CHDIR): cd using</div><div class='del'>-	  physical directory.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (update-mspec): split from update-rubyspec.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (update-{rubyspec,mspec}): added.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 14:28:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (INSNS): moved variable</div><div class='del'>-	  definition before rule.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 13:47:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/loaders/makefile.rb (Rake::MakefileLoader#load): deals with</div><div class='del'>-	  escaped spaces.  incorporated from rake 0.8.4.</div><div class='del'>-</div><div class='del'>-	* lib/rake/testtask.rb (Rake::TestTask#define): passes each libs</div><div class='del'>-	  as each arguments with expanded.  incorporated from rake 0.8.4.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 18:36:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): keeps enough precision for round trip.</div><div class='del'>-	  [ruby-core:22325]</div><div class='del'>-</div><div class='del'>-Thu Mar  5 17:42:06 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): doc for Array#fill misses indication</div><div class='del'>-	  about negative value for the start argument.  [ruby-core:22497]</div><div class='del'>-</div><div class='del'>-Thu Mar  5 16:56:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.tmpdir): not use USERPROFILE, and ignores</div><div class='del'>-	  non-existent directory.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 14:52:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit): initializes version info first.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_osid): always define for binary compatibility.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 11:52:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (make_insns_rules): rule to make rules for insns.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 11:27:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (miniruby.exe): workaround for a failure of</div><div class='del'>-	  mt.exe on Windows 7 beta.  [ruby-talk:330284]</div><div class='del'>-</div><div class='del'>-Thu Mar  5 10:32:17 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb: Add dragonfly to libc and libm switch.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 10:29:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_eql): extracted from rb_str_equal and rb_str_eql.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): keeps 7bit coderange.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 10:10:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (enc_initialized_p): ENC_UNINITIALIZED</div><div class='del'>-	  is not defined already.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_FROM_ENCINDEX): removed because</div><div class='del'>-	  depending on a static variable.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 04:42:52 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: fix wrong test, and add a test for</div><div class='del'>-	  sort_by!.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 04:32:38 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add some tests for coverage.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 00:06:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/README.win32 (Requirement): added unicows.lib and dll.</div><div class='del'>-</div><div class='del'>-Wed Mar  4 23:29:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/configure.bat (--enable-win95): new option</div><div class='del'>-	  to enable/disable win95 support.</div><div class='del'>-</div><div class='del'>-Wed Mar  4 21:21:51 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (SizedQueue#push): fix limit condition.</div><div class='del'>-	  [ruby-dev:38135]</div><div class='del'>-</div><div class='del'>-Wed Mar  4 20:27:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw): checks if unicows.lib is available.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (WIN95): moved to config.h</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LIBS): links unicows.lib if available.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): defines WIN95 only if unicows.lib</div><div class='del'>-	  is available.</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (-unicows-): checks if unicows.lib is available.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 17:10:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): removes object files no longer used and</div><div class='del'>-	  files to be removed by old distclean.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 16:51:51 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/resolv.rb: get rid of warning.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 16:25:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake), lib/mkmf.rb (create_makefile): $objs and</div><div class='del'>-	  $srcs are always Array or nil now.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 15:54:11 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/{registry,resolv}.rb: use dl/import instead</div><div class='del'>-	  of Win32API.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 15:53:20 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function.name): delegate to @cfunc.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 15:40:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_init_callbacks): autoloads callbacks.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback: split from dl.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/cparser.rb (DL::CParser::parse_signature): fixed</div><div class='del'>-	  variable name.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/pack.rb (DL::PackInfo): reduced redundant</div><div class='del'>-	  initialization.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/stack.rb (DL::Stack): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/value.rb (DL::ValueUtil#wrap_arg): NULL for nil.</div><div class='del'>-</div><div class='del'>-	* test/dl: moved from ext/dl/test.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 14:57:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (main): passes $(MAKE) to mkmain_cmd</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (command_output): uses arguments to invoke make.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 01:56:03 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.urlsafe_base64): delete padding.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 21:39:08 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SS_LEN): defined unconditionally.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 21:26:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_socket_creds): suppress warnings.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 21:13:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (rsock_discard_cmsg_resource): defined</div><div class='del'>-	  unconditionally.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 21:06:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_mload): don't use "sun" variable</div><div class='del'>-	  for Solaris.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 21:01:36 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: include fcntl.h for O_RDONLY on Solaris.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 19:43:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser#escape): escaped string is ascii</div><div class='del'>-	  only.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser#unescape): converts bytewise.</div><div class='del'>-	  [ruby-dev:38005], [ruby-dev:38110]</div><div class='del'>-</div><div class='del'>-Mon Mar  2 16:40:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (Macros): added HAVE_RUBY_*_H.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 12:22:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): keeps wide chars as wide chars.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 11:01:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h (dlerror): fixed on Windows.</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_initialize): returns handle to</div><div class='del'>-	  libruby if nil is given on Windows as dlopen.</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_sym): get rid of buffer overrun,</div><div class='del'>-	  and try ASCII WINAPI versions too.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 10:29:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp), include/ruby/intern.h (ruby_cleanup): fixed</div><div class='del'>-	  prototypes.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 00:56:45 2009  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/observer.rb: The module observable uses now a hash to</div><div class='del'>-	  store listeners. merged a patch from Alessandro Di Maria in</div><div class='del'>-	  [ruby-core:22560].</div><div class='del'>-</div><div class='del'>-Sun Mar  1 22:59:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c: suppress warnings.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 20:57:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ (rsock_getfamily): renamed from rb_sock_getfamily.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 19:52:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/Win32API.rb (initialize): passes res</div><div class='del'>-	  arguments to DL.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 19:38:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run): suppress a warning.  a patch from</div><div class='del'>-	  Charlie Savage at [ruby-core:22607].</div><div class='del'>-</div><div class='del'>-Sun Mar  1 19:36:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_dtoa): allocates one more byte to get rid of buffer</div><div class='del'>-	  overrun.  a patch from Charlie Savage at [ruby-core:22604].</div><div class='del'>-</div><div class='del'>-Sun Mar  1 19:10:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (.y.c): removed extra backslash.  [ruby-core:22602]</div><div class='del'>-</div><div class='del'>-Sun Mar  1 19:02:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): fix for stdcall and missing</div><div class='del'>-	  argument numbers.  [ruby-core:22601]</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h (DLSTACK_PROTO0_): added.</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb (gencallback, gen_callback_file),</div><div class='del'>-	  (rb_dl_init_callbacks): omit stdcall functions unless supported.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb (SHGetFolderPath): stdcall.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 17:27:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (gfDebug): uncommented out.</div><div class='del'>-	  [ruby-core:22600]</div><div class='del'>-</div><div class='del'>-Sun Mar  1 16:15:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): use wait_each() on no waitpid platforms.</div><div class='del'>-	  [ruby-dev:38054]</div><div class='del'>-</div><div class='del'>-Sun Mar  1 16:01:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): stops and restarts timer thread because</div><div class='del'>-	  daemon(3) implies fork(2).  [ruby-dev:38055]</div><div class='del'>-</div><div class='del'>-Sun Mar  1 15:45:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ (rsock_make_hostent): renamed from sock_make_hostent.</div><div class='del'>-	  (rsock_addrinfo): renamed from sock_addrinfo.</div><div class='del'>-	  (rsock_getaddrinfo): renamed from sock_getaddrinfo.</div><div class='del'>-	  (rsock_socket): renamed from ruby_socket.</div><div class='del'>-	  (rsock_sock_s_socketpair): renamed from sock_s_socketpair.</div><div class='del'>-	  (rsock_connect): renamed from ruby_connect.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_listen): make it static.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 15:29:31 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: add rsock_ prefix.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 21:52:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): use volatile to suppress warnings.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 20:09:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): use volatile to suppress warnings.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_exec_recursive): ditto.</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (rb_exec_end_proc): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_node): ditto.</div><div class='del'>-	  (rb_longjmp): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 18:28:58 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_unix_rights): check message type.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 16:18:39 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: suppress warnings of non-existing instance variable</div><div class='del'>-	  access for SSL.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 14:50:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (BasicSocket#connect_address): returns ::1</div><div class='del'>-	  if the address is IPv4-mapped IPv6 address for 0.0.0.0 for MacOS X.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 00:18:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c: suppress strict-aliasing warning with</div><div class='del'>-	  gcc version 4.4.0 20090219 (Red Hat 4.4.0-0.21) on Fedora 11 Alpha.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SS_LEN): defined.</div><div class='del'>-	  (SET_SS_LEN): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 22:30:18 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): close FDs passed by</div><div class='del'>-	  SCM_RIGHTS unless :scm_rights=&gt;true is given.</div><div class='del'>-	  (discard_cmsg): extracted from rsock_discard_cmsg_resource.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 22:14:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: define Buffering module under</div><div class='del'>-	  OpenSSL.  [ruby-dev:37906]</div><div class='del'>-</div><div class='del'>-Fri Feb 27 22:09:24 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: don't define assert_not_* if already</div><div class='del'>-	  overridden.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 22:02:34 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c: fix SEGV by test_time.rb with</div><div class='del'>-	  gcc version 4.4.0 20090219 (Red Hat 4.4.0-0.21) on Fedora 11 Alpha.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 18:30:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (cdhash_type, iseq_set_sequence): should not call</div><div class='del'>-	  methods of the argument of case, to keep the semantics of</div><div class='del'>-	  case/when.  [ruby-dev:38079]</div><div class='del'>-</div><div class='del'>-Fri Feb 27 18:01:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_get_stack_grow_direction): no needs to use thread</div><div class='del'>-	  here, and not initialized yet.  [ruby-core:22439]</div><div class='del'>-</div><div class='del'>-Fri Feb 27 17:45:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_load_ok): checks if regular file, except for the</div><div class='del'>-	  platform disallows to open directories, e.g. dosish.</div><div class='del'>-	  [ruby-dev:38097], [Bug #1221]</div><div class='del'>-</div><div class='del'>-Fri Feb 27 14:39:40 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le, flo_eql): revert</div><div class='del'>-	  isnan() checks for VC++6.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_lt, opt_gt): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 14:23:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (modifiable): check if really frozen.</div><div class='del'>-	  [ruby-core:22559]</div><div class='del'>-</div><div class='del'>-Thu Feb 26 23:14:46 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (BasicSocket#connect_address): new method.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 19:29:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_foreach_iter): fix for prototype.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 18:36:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (INSNS, newline.c, miniprelude.c, prelude.c),</div><div class='del'>-	  (node_name.inc, known_errors.inc): unified from Makefile.in and</div><div class='del'>-	  win32/Makefile.sub.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 13:30:34 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (valid_filename): use our own implementation of open(),</div><div class='del'>-	  close() and unlink().</div><div class='del'>-</div><div class='del'>-Thu Feb 26 13:23:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (cdhash_each): resurrects internal literals.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 10:56:48 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_wopen): prototype forgotten.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sysopen_internal): shouldn't replace undefined chars in this</div><div class='del'>-	  case.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 01:34:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: more MSG_* constants.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 00:21:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_level): extracted from sockopt_level_m.</div><div class='del'>-	  (sockopt_optname): extracted from sockopt_optname_m.</div><div class='del'>-	  (sockopt_data): apply StringValue.</div><div class='del'>-	  (sockopt_s_linger): new method.</div><div class='del'>-	  (sockopt_linger): new method.</div><div class='del'>-	  (inspect_linger): show onoff value if it is neither 0 nor 1.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 23:23:03 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_unix_rights): raise</div><div class='del'>-	  NotImplementedError if no fd passing feature.</div><div class='del'>-	  (ancillary_timestamp): raise NotImplementedError if no timestamp</div><div class='del'>-	  feature.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 23:18:53 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_s_unix_rights): new method.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 23:01:26 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_recv_io): prevent FD leak when 2 fd is</div><div class='del'>-	  sent on LP64 platform.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_discard_cmsg_resource): declared.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (rsock_discard_cmsg_resource): renamed from</div><div class='del'>-	  discard_cmsg_resource.  export it.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 17:31:32 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (sysopen_func, rb_sysopen_internal, rb_sysopen): open file</div><div class='del'>-	  by UTF-16'ed filename on Windows.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_generic, rb_io_s_sysopen, rb_io_reopen,</div><div class='del'>-	  argf_next_argv): follow above change.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): no longer need to convert filepath here on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-	* win32/wio32.c (rb_w32_wopen): new function to open file by UTF-16'ed</div><div class='del'>-	  filename.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open): call rb_w32_open().</div><div class='del'>-</div><div class='del'>-Wed Feb 25 15:05:35 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): use un.rb as cp instead of</div><div class='del'>-	  cmd.exe's copy command.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): no longer need to convert path</div><div class='del'>-	  separator when copying file.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 12:27:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_force_encoding): should clear coderange at changing</div><div class='del'>-	  encoding.  [ruby-core:22437]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 12:06:09 2009    &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_1): enables limit even if rs is given.</div><div class='del'>-	  [ruby-core:22434]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 02:28:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): coderange may change.</div><div class='del'>-	  [ruby-core:22414]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 02:17:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_delete_bang): should recalculate coderange.</div><div class='del'>-	  [ruby-talk:329267]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 00:41:21 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_scan_args): Allow specifying the number of trailing</div><div class='del'>-	  mandatory arguments right after the number of optional arguments</div><div class='del'>-	  only if the number of leading mandatory arguments is not omitted.</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpserver.c (tcp_svr_init): Make use of it.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 00:28:25 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_size): new method added.  [ruby-core:22088]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 00:15:15 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_colors): new method added.  a patch</div><div class='del'>-	  from Alexander Beisig in [ruby-core:22331].</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_color_pairs): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 00:05:13 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_scan_args): Revamp rb_scan_args() to compute the</div><div class='del'>-	  number of required and optional arguments precisely to prepare</div><div class='del'>-	  for a more informative error message.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 23:58:52 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_index, rb_ary_rindex): Emit a warning that a</div><div class='del'>-	  given block is unused when an argument is specified.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 22:00:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sockaddr_obj): convert fe80:1::1 to fe80::1%1.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 19:56:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_timestamp): support SCM_BINTIME.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 19:45:15 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_timestamp): new method.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 19:01:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (main): split from exts and makes main program after</div><div class='del'>-	  building exts with miniruby, to get rid of overwriting running</div><div class='del'>-	  program.  [ruby-core:22339]</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (RUNCMD, MKMAIN_CMD): macros to</div><div class='del'>-	  run script file.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (parse_args): added --command-output option which</div><div class='del'>-	  creates script file to make main program.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 17:58:07 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ripper.c): exec can't work on Windows.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (.SUFFIXES): nmake doesn't have .y by default.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (id.h): overwrites unconditionally.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 13:13:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): ptrdiff_t may be larger than</div><div class='del'>-	  long.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 11:21:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_disable_interrupt, rb_enable_interrupt): see</div><div class='del'>-	  USE_TRAP_MASK.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 10:49:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): last argument was missing.</div><div class='del'>-</div><div class='del'>-	* process.c (waitall_each): fixed typo.  a patch from shinichiro.h</div><div class='del'>-	  &lt;shinichiro.hamaji AT gmail.com&gt; at [ruby-dev:38054].</div><div class='del'>-</div><div class='del'>-Tue Feb 24 01:53:40 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq): remove unnecessary NaN check using isnan().</div><div class='del'>-	  comparison regarding NaN is false anyway.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_gt, flo_ge, flo_lt, flo_le, flo_eql): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 01:22:19 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: fix for environment where fork is not</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 01:19:38 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func): unlock all locked mutexes even when</div><div class='del'>-	  forking.  [ruby-core:22269]</div><div class='del'>-</div><div class='del'>-Tue Feb 24 00:54:16 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_minus): inline float operation.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_lt, opt_gt): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 00:24:13 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): check #succ only when it is really</div><div class='del'>-	  needed.  small performance improvement.</div><div class='del'>-</div><div class='del'>-	* math.c (Need_Float): call rb_to_float() only when it is really</div><div class='del'>-	  needed.  small performance improvement.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 00:19:33 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#foreachline): removed wrongly</div><div class='del'>-	  resurrected method.  [ruby-dev:38065]</div><div class='del'>-</div><div class='del'>-Mon Feb 23 20:39:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (inspect_timespec_as_abstime): new function to</div><div class='del'>-	  show struct timespec.</div><div class='del'>-	  (ancillary_inspect): use it for SCM_TIMESTAMPNS on GNU/Linux.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 20:30:06 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (inspect_bintime_as_abstime): new function to</div><div class='del'>-	  show struct bintime.</div><div class='del'>-	  (ancillary_inspect): use it for SCM_BINTIME on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define SCM_BINTIME.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 20:18:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (inspect_timeval_as_abstime): use time_t</div><div class='del'>-	  variable to avoid a warning on environments which use long as</div><div class='del'>-	  tv_sec as NetBSD.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 15:53:30 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_index, rb_ary_rindex): We know that argc is not</div><div class='del'>-	  zero when we reach here.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize, rb_ary_index): Shrink a double</div><div class='del'>-	  space. (NFC)</div><div class='del'>-</div><div class='del'>-Mon Feb 23 14:47:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mv): added description for the case of</div><div class='del'>-	  different partitions.  [ruby-talk:329072]</div><div class='del'>-</div><div class='del'>-Mon Feb 23 10:19:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (USE_SYMBOL_AS_METHOD_NAME): Module#methods,</div><div class='del'>-	  #singleton_methods and so on return Symbols.  [ruby-talk:328775]</div><div class='del'>-</div><div class='del'>-Mon Feb 23 10:15:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: added macros for the Compatibilities.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 03:19:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define SO_TIMESTAMPNS and SCM_TIMESTAMPNS</div><div class='del'>-	  if available.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 02:54:31 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_inspect): use SCM_TIMESTAMP instead</div><div class='del'>-	  of SO_TIMESTAMP.  SCM_TIMESTAMP != SO_TIMESTAMP on MacOS X.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 02:44:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (inspect_timeval_as_abstime): new function.</div><div class='del'>-	  (ancillary_inspect): use it for SO_TIMESTAMP.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 02:26:44 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_timeval_as_interval): renamed from</div><div class='del'>-	  inspect_timeval.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 02:10:09 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_timeval): fix the size test.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 22:42:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should recalculate coderange.</div><div class='del'>-	  [ruby-core:22326] (reopened at [ruby-core:22328])</div><div class='del'>-</div><div class='del'>-Sun Feb 22 20:09:29 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_linger): message refined.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 19:28:08 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (s_recvfrom): use rb_io_wait_readable after</div><div class='del'>-	  recvfrom.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 18:40:04 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_errno): new function.</div><div class='del'>-	  (sockopt_inspect): use inspect_errno for SO_ERROR.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 15:11:51 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): define Regexp::FIXEDENCODING.  [ruby-dev:38066]</div><div class='del'>-</div><div class='del'>-Sun Feb 22 14:33:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should not be affected by the encoding of</div><div class='del'>-	  replacement unless actually modified.  [ruby-talk:328967]</div><div class='del'>-	  [ruby-core:22326]</div><div class='del'>-</div><div class='del'>-Sun Feb 22 13:38:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (s_recvfrom_nonblock): handles EAGAIN too.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (s_accept_nonblock): ditto, and EPROTO depends</div><div class='del'>-	  on platforms.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 13:03:12 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options): the evaluator now expects iseq instead of tree.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_process_options): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 13:03:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (configure): unset PWD to use symlink to building</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (up): cd doesn't need LC_TIME, VCS needs.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 10:43:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing): should not pop cfp if missing method</div><div class='del'>-	  is method_missing.  [ruby-core:22298]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_raise_method_missing): new function to directly</div><div class='del'>-	  raise NoMethodError.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): fixed the case method_missing</div><div class='del'>-	  is missing.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 02:15:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): handle EMSGSIZE as</div><div class='del'>-	  well.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 02:03:46 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): check max length</div><div class='del'>-	  overflow.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 01:52:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): don't call</div><div class='del'>-	  discard_cmsg_resource when EMFILE.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 01:48:51 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): gc when SCM_RIGHTS</div><div class='del'>-	  hit the file descriptor limit.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 00:51:58 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getpartial): error message describes what should be</div><div class='del'>-	  waited after nonblocking error.</div><div class='del'>-	  (rb_io_write_nonblock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (s_recvfrom_nonblock): ditto.</div><div class='del'>-	  (s_accept_nonblock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect_nonblock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): ditto.</div><div class='del'>-	  (bsock_recvmsg_internal): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 00:31:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): check recvmsg error</div><div class='del'>-	  earlier.</div><div class='del'>-</div><div class='del'>-Fri Feb 20 23:28:11 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (rv_alloc, freedtoa): use our normal xmalloc()/xfree() because</div><div class='del'>-	  couldn't free the returned pointer from ruby_dtoa().</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (cvt): receive buffer and use/return it instead</div><div class='del'>-	  of returning the pointer returned from BSD__dtoa().</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): pass buf to cvt() as the buffer.</div><div class='del'>-	  [ruby-core:22184]</div><div class='del'>-</div><div class='del'>-Thu Feb 19 22:59:09 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (make_io_for_unix_rights): cmsg_len may be</div><div class='del'>-	  bigger than msg_controllen on 4.4BSD at least.</div><div class='del'>-	  freeze unix_rights array.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 22:17:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): fix exception.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 21:13:03 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_unix_rights): method renamed.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 15:47:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: extracted from Makefile.in.</div><div class='del'>-</div><div class='del'>-	* configure.in (fake.rb): prefixed with $(arch)-.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 15:39:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspbres_verify): OCSP_basic_verify</div><div class='del'>-	  returns positive value on success, not non-zero.  [ruby-core:21762]</div><div class='del'>-</div><div class='del'>-Thu Feb 19 15:17:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (@@systmpdir): File.expand_path also joins paths.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 15:14:25 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_each_group): defines only when Etc::Group is</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 15:11:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (translit_char): moved from ruby.c.</div><div class='del'>-</div><div class='del'>-	* load.c (load_ext): transliterates file separators and back if</div><div class='del'>-	  needed.</div><div class='del'>-</div><div class='del'>-	* symbian/setup (DLN_NEEDS_ALT_SEPARATOR): defined.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 14:48:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, */Makefile.sub (LOAD_RELATIVE): moved from ruby.c</div><div class='del'>-</div><div class='del'>-Thu Feb 19 14:39:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): uses -unexported_symbol option of ld instead</div><div class='del'>-	  of objcopy</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): makes dylib instead of so.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 14:22:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): added phony targets.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): creates target directories before</div><div class='del'>-	  copying.  [ruby-core:21958]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): removes directories in the depth</div><div class='del'>-	  order.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 13:56:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_home_dir): checks if HAVE_PWD_H.  [ruby-dev:38049]</div><div class='del'>-</div><div class='del'>-Thu Feb 19 08:45:48 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: add "#include &lt;sys/stat.h&gt;"</div><div class='del'>-</div><div class='del'>-Thu Feb 19 03:42:48 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_rights): new method.</div><div class='del'>-	  (make_io_for_rights): new function to allocate</div><div class='del'>-	  IOs for FDs in SCM_RIGHTS message.</div><div class='del'>-	  (bsock_recvmsg_internal): use make_io_for_rights.  So the FDs can be</div><div class='del'>-	  closed by GC.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 03:28:59 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: Improve the document about</div><div class='del'>-	  rb_scan_args() even more.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 03:12:51 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: skip some tests if euid == 0.</div><div class='del'>-	  a patch from Lucas Nussbaum in [ruby-core:22209].</div><div class='del'>-</div><div class='del'>-Thu Feb 19 03:00:49 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: Improve the document about</div><div class='del'>-	  rb_scan_args().</div><div class='del'>-</div><div class='del'>-Wed Feb 18 22:47:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (discard_cmsg_resource): new function to close</div><div class='del'>-	  file descriptors in control message.</div><div class='del'>-	  (bsock_recvmsg_internal): call discard_cmsg_resource before retrying</div><div class='del'>-	  recvmsg.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 21:47:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): prevent misalignment.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 21:34:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): prevent misalignment.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 21:09:43 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): reduce code on</div><div class='del'>-	  environments which have no control message.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 20:27:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (OBJCOPY): set ac_cv_prog_ac_ct_OBJCOPY to do nothing</div><div class='del'>-	  on cygwin and mingw because symbols are exported by def file.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 15:35:36 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_chown): use chown unless HAVE_FCHOWN.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): sarg is always used unless HAVE_FORK.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 15:23:34 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: Use RUBY_DESCRIPTION if defined.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 14:33:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_resurrect), string.c (rb_str_resurrect): new</div><div class='del'>-	  functions based on [ruby-dev:37983]</div><div class='del'>-</div><div class='del'>-	* insns.def (putstring, duparray): use rb_{ary,str}_resurrect().</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): needs to result TS_VALUE.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 12:35:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): fix for spaces before extension.</div><div class='del'>-	  [ruby-dev:38044]</div><div class='del'>-</div><div class='del'>-Wed Feb 18 12:00:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): suppress a warning.  named magic</div><div class='del'>-	  numbers.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 10:29:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): do not delete main thread from</div><div class='del'>-	  living_threads.  [ruby-core:19385], [ruby-core:22158]</div><div class='del'>-</div><div class='del'>-Wed Feb 18 01:05:05 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl: avoid cyclic require.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl-internal.rb: renamed from ssl.rb</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509-internal.rb: renamed from x509.rb.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: require openssl, instead of openssl/ssl.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: require openssl, instead of openssl/ssl.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:38018]</div><div class='del'>-</div><div class='del'>-Wed Feb 18 00:55:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Etc::Passwd.each, Etc::Group.each): new methods.</div><div class='del'>-	  [ruby-dev:37999]</div><div class='del'>-</div><div class='del'>-Tue Feb 17 23:25:01 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): make the padding</div><div class='del'>-	  removing only on NetBSD.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 19:39:04 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): should not remove the</div><div class='del'>-	  last padding of control messages, basically.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 12:50:57 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_shared_replace): no need for</div><div class='del'>-	  str_make_independent.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 05:41:08 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: fix to add "ensure" codes across "while" clause</div><div class='del'>-	  before "return" expression.  [ruby-dev:37967]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_flow.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 01:53:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate rb_define_const directly for</div><div class='del'>-	  rdoc.</div><div class='del'>-</div><div class='del'>-	* ext/.document: add socket/constdefs.c.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (sock_define_const): removed.</div><div class='del'>-	  (sock_define_uconst): ditto.</div><div class='del'>-	  (rb_mSockConst): new static variable.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 23:14:51 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal) [OpenBSD]: don't remove</div><div class='del'>-	  the last padding to prevent sendmsg failure in test_udp_server in</div><div class='del'>-	  test/socket/test_socket.rb on OpenBSD 4.4.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 21:59:32 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/setup: Update Symbian config to match recent changes in missing/alloca.c</div><div class='del'>-</div><div class='del'>-Mon Feb 16 17:04:14 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_scan_args), README.EXT, README.EXT.ja: Add support</div><div class='del'>-	  for specifying the number of the trailing mandatory arguments.</div><div class='del'>-	  Update the documents accordingly. [ruby-dev:37995]</div><div class='del'>-</div><div class='del'>-Mon Feb 16 16:46:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (set_debug_option): added rtc_error option.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (CRTDEFFLAGS): separated from DEFS.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rtc_error_handler): ignores RTC errors unless</div><div class='del'>-	  rtc_error debug option is given.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit): suppress useless CRT assertions.</div><div class='del'>-	  [ruby-core:22116]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 21:43:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct#new_ostruct_member): checks if frozen.</div><div class='del'>-	  [ruby-talk:328195], [ruby-core:22142]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 21:22:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions): aliases</div><div class='del'>-	  assert_not_ methods.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 16:57:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.urlsafe_base64): new method.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 14:58:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_i): use Murmurhash.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 11:45:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_define_hooked_variable): suppress false assertion</div><div class='del'>-	  with VC9.  [ruby-core:22115]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 08:35:33 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pp.rb: extract from lib/pp.rb.</div><div class='del'>-</div><div class='del'>-	* test/test_prettyprint.rb: extract from lib/prettyprint.rb.</div><div class='del'>-</div><div class='del'>-	* test/test_tsort.rb: extract from lib/tsort.rb.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 06:34:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.parse): raise ArgumentError if Date._parse don't</div><div class='del'>-	  extract date information.  [ruby-core:20912]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 04:48:08 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_hash_uint32, rb_hash_uint, rb_hash_start, rb_hash_end),</div><div class='del'>-	  include/ruby/intern.h: add Murmurhash API.  [ruby-dev:37784]</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_hash), array.c (rb_ary_hash), time.c (time_hash),</div><div class='del'>-	  string.c (rb_str_hash), object.c (rb_obj_hash), range.c</div><div class='del'>-	  (range_hash), struct.c (rb_struct_hash), hash.c (rb_any_hash),</div><div class='del'>-	  rational.c (nurat_hash): use Murmurhash.  [ruby-dev:37784]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 03:50:21 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): always return a fixnum value because a return</div><div class='del'>-	  value of rb_hash may be used as a hash value itself and bignums have</div><div class='del'>-	  no unique VALUE.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 00:45:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang, rb_ary_uniq): unique by the result of</div><div class='del'>-	  given block.  [ruby-dev:37998]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 00:39:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_resize_capa): should not overwrite outside embedded</div><div class='del'>-	  array.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 20:18:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_time.rb: extracted from lib/time.rb.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 19:20:15 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: obsolete methods removed.</div><div class='del'>-	  [ruby-core:21564]</div><div class='del'>-</div><div class='del'>-Sat Feb 14 15:46:01 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#binread): added.  [ruby-dev:37952]</div><div class='del'>-</div><div class='del'>-Sat Feb 14 13:14:18 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: remove nil parameter from Proc#parameters</div><div class='del'>-	  after rest appeared.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 07:23:52 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_with_enc): change evaluation order</div><div class='del'>-	  for speed.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 02:20:04 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SET_SA_LEN): cast to void for suppressing a</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 23:37:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/Win32API.rb (Win32API#initialize): DL.dlopen</div><div class='del'>-	  raises DLError.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 21:13:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): define TCPServer#listen and</div><div class='del'>-	  UNIXServer#listen here for rdoc.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 20:59:48 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (extract_ipv6_pktinfo): set sa_len for 4.4BSD.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 15:34:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (simple_default_value): removed.  default values of optional</div><div class='del'>-	  parameters are not available still now.  [ruby-dev:37980]</div><div class='del'>-</div><div class='del'>-Fri Feb 13 15:11:11 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): use rb_vm_get_ruby_level_next_cfp()</div><div class='del'>-	  instead of vm_get_ruby_level_caller_cfp().  checking a upper frame</div><div class='del'>-	  is not enough.  [ruby-dev:37984]</div><div class='del'>-</div><div class='del'>-	* proc.c, vm_core.h: declare rb_vm_get_ruby_level_next_cfp()</div><div class='del'>-	  on vm_core.h.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 15:01:40 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_alive_p): fix to return true instead of 0.</div><div class='del'>-	  [ruby-dev:37991]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add a test for Fiber#alive?</div><div class='del'>-</div><div class='del'>-Fri Feb 13 09:43:19 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_flock): using flock defined in</div><div class='del'>-	  win32/win32.c on mingw.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 01:45:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence, compile_dstr_fragments),</div><div class='del'>-	  (iseq_compile_each): hides other internal objects.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): just freeze xstr.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 00:48:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): try to autoload const to be overridden.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 23:22:29 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test_udp_server): filter out unreachable</div><div class='del'>-	  addresses.  [ruby-dev:37970]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 22:51:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (hide_obj): OBJ_FREEZE() is not an expression.  a patch</div><div class='del'>-	  from nagachika &lt;nagachika00 AT gmail.com&gt; at [ruby-dev:37977].</div><div class='del'>-</div><div class='del'>-	* compile.c (insn_set_sc_state): fixed typo.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 12:36:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getpeereid): implemented for Solaris</div><div class='del'>-	  using getpeerucred.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check ucred.h and getpeerucred.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include ucred.h if available.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 19:42:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_, defined_expr, iseq_compile_each): hide</div><div class='del'>-	  and freeze internal literal objects, to prevent from modifying.</div><div class='del'>-	  [ruby-dev:37959]</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern): copy internal literal objects.</div><div class='del'>-</div><div class='del'>-	* insns.def (putstring, duparray): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_replace): exported.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 17:17:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): calculates new position</div><div class='del'>-	  before reallocation.  [Bug#1099]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 16:50:27 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: a patch to build on GNU/kOpenSolaris from Rober</div><div class='del'>-	  Millan at [ruby-core:21888].</div><div class='del'>-</div><div class='del'>-Thu Feb 12 15:28:04 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (simple_default_value): allow plain strings as default</div><div class='del'>-	  values.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 18:09:41 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final, undefine_final): shouldn't add/remove finalizer</div><div class='del'>-	  of frozen objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (undefine_final): should remove FL_FINALIZE flag.</div><div class='del'>-	  [ruby-dev:37964] (also see [ruby-dev:37959])</div><div class='del'>-</div><div class='del'>-Wed Feb 11 17:37:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.udp_server_sockets): call the block</div><div class='del'>-	  if given.  close the sockets when the block exits.</div><div class='del'>-	  (Socket.udp_server_loop): use udp_server_sockets in block form.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 17:34:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.tcp_server_sockets): call the block</div><div class='del'>-	  if given.  close the sockets when the block exits.</div><div class='del'>-	  (Socket.tcp_server_loop): use tcp_server_sockets in block form.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 17:01:52 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.unix_server_loop): use</div><div class='del'>-	  unix_server_socket with a block.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 16:54:26 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.unix_server_socket): close the</div><div class='del'>-	  socket when the block exits.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 16:50:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.unix_server_socket): call the block</div><div class='del'>-	  if given.  remove the socket file when the block exits.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 16:44:20 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_s_ip_pktinfo): make 3rd argument</div><div class='del'>-	  optional.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 15:47:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): returns shared root array itself, and</div><div class='del'>-	  frozen array can be shared.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 14:46:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (setspecial, putstring): fixed typos in rdoc.</div><div class='del'>-</div><div class='del'>-	* insns.def (toregexp): uses rb_ary_tmp_new(), and clears it after</div><div class='del'>-	  used.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 14:08:23 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_socket_rights): return 1 on</div><div class='del'>-	  success.  0 on failure.</div><div class='del'>-	  (anc_inspect_passcred_credentials): ditto.</div><div class='del'>-	  (anc_inspect_socket_creds): ditto.</div><div class='del'>-	  (anc_inspect_socket_creds): ditto.</div><div class='del'>-	  (anc_inspect_socket_creds): ditto.</div><div class='del'>-	  (anc_inspect_ip_recvdstaddr): ditto.</div><div class='del'>-	  (anc_inspect_ip_pktinfo): ditto.</div><div class='del'>-	  (anc_inspect_ipv6_pktinfo): ditto.</div><div class='del'>-	  (ancillary_inspect): check family.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 12:55:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_ip_pktinfo): make result bit</div><div class='del'>-	  succinct.</div><div class='del'>-	  (Init_ancdata): fix number of arguments.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 11:47:41 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (Init_ipsocket): undef getpeereid at IPSocket.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 10:16:34 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check getpeereid.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getpeereid): new method.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 09:58:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket::UDPSource#inspect): fix variable</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 00:38:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_gethostname): use HOST_NAME_MAX.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_ipaddr): local variable renamed.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 23:44:53 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (struct recvfrom_arg): use struct</div><div class='del'>-	  sockaddr_storage.</div><div class='del'>-	  (recvfrom_blocking): follow struct recvfrom_arg change.</div><div class='del'>-	  (s_recvfrom): ditto.</div><div class='del'>-	  (s_recvfrom_nonblock): use struct sockaddr_storage.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_accept): use struct sockaddr_storage.</div><div class='del'>-	  (sock_accept_nonblock): ditto.</div><div class='del'>-	  (sock_sysaccept): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): use struct</div><div class='del'>-	  sockaddr_storage.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 23:30:32 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getpeername): use struct</div><div class='del'>-	  sockaddr_storage.</div><div class='del'>-	  (bsock_local_address): ditto.</div><div class='del'>-	  (bsock_remote_address): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 21:26:33 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.udp_server_sockets): new method.</div><div class='del'>-	  (Socket.udp_server_loop_on): new method.</div><div class='del'>-	  (Socket.udp_server_loop): new method</div><div class='del'>-	  (Socket.ip_sockets_port0): extracted from tcp_server_sockets_port0.</div><div class='del'>-	  (Socket::UDPSource): new class.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 21:14:43 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sockaddr_obj): fill pfamily.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 21:09:23 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_s_bool): new method.</div><div class='del'>-	  (sockopt_bool): new method.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 20:58:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_family_m): renamed from sockopt_family.</div><div class='del'>-	  (sockopt_level_m): renamed from sockopt_level.</div><div class='del'>-	  (sockopt_optname_m): renamed from sockopt_optname.</div><div class='del'>-	  (inspect_local_peercred): follow the renaming.</div><div class='del'>-	  (Init_sockopt): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 20:56:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_socket_creds): refactored to avoid</div><div class='del'>-	  a rb_str_cat2 call.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 04:34:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (when): makes parentheses balanced.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 01:28:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ip_cmsg_type_to_sym): renamed from</div><div class='del'>-	  cmsg_type_to_sym.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 01:22:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_inspect): refactored.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 01:02:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate intern_family_noprefix.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_inspect): use intern_family_noprefix</div><div class='del'>-	  not to show AF_ prefix.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 23:21:29 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (level_arg): use unknown_level_to_int for</div><div class='del'>-	  non internet protocol.</div><div class='del'>-	  (optname_arg): use only so_optname_to_int for non internet protocol.</div><div class='del'>-	  (cmsg_type_arg): use only scm_optname_to_int for non internet</div><div class='del'>-	  protocol.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate unknown_level_to_int.</div><div class='del'>-	  rename iplevel_to_int to ip_level_to_int.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 23:04:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: rename level_to_int to iplevel_to_int.</div><div class='del'>-	  rename intern_level to intern_iplevel.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 22:52:13 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (level_arg): add family argument.</div><div class='del'>-	  (optname_arg): ditto.</div><div class='del'>-	  (cmsg_type_arg): ditto.</div><div class='del'>-	  (rb_sock_getfamily): declared.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (level_arg): add family argument.</div><div class='del'>-	  (optname_arg): ditto.</div><div class='del'>-	  (cmsg_type_arg): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rb_sock_getfamily): defined.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_initialize): give family for level_arg</div><div class='del'>-	  and optname_arg.</div><div class='del'>-	  (sockopt_s_int): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_setsockopt): ditto.</div><div class='del'>-	  (bsock_getsockopt): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_initialize): ditto.</div><div class='del'>-	  (ancillary_s_int): ditto.</div><div class='del'>-	  (ancillary_cmsg_is_p): ditto.</div><div class='del'>-	  (bsock_sendmsg_internal): ditto.</div><div class='del'>-	  (bsock_recvmsg_internal): use rb_sock_getfamily.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 21:48:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_inspect): show address family.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 20:19:36 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getsockname): use sockaddr_storage.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 20:11:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (load_conv_function51932): fixed for the</div><div class='del'>-	  case IMultiLanguage is not available.  [ruby-dev:37950]</div><div class='del'>-</div><div class='del'>-Mon Feb  9 20:04:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_int): return 1/0 on success/failure.</div><div class='del'>-	  (inspect_uint): ditto.</div><div class='del'>-	  (inspect_linger): ditto.</div><div class='del'>-	  (inspect_socktype): ditto.</div><div class='del'>-	  (inspect_timeval): ditto.</div><div class='del'>-	  (inspect_peercred): ditto.</div><div class='del'>-	  (inspect_local_peercred): ditto.</div><div class='del'>-	  (sockopt_inspect): refactored.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 20:00:26 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: more constants for Solaris.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 19:59:18 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getsockopt): refine address family</div><div class='del'>-	  examination.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 19:52:32 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_initialize): argument conversion</div><div class='del'>-	  reordered.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 19:46:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_initialize): add family argument.</div><div class='del'>-	  (ancdata_new): ditto.</div><div class='del'>-	  (ancillary_s_int): ditto.</div><div class='del'>-	  (ancillary_family): new function.</div><div class='del'>-	  (ancillary_family_m): new method.</div><div class='del'>-	  (ancillary_s_ip_pktinfo): follow ancdata_new change.</div><div class='del'>-	  (ancillary_s_ipv6_pktinfo): ditto.</div><div class='del'>-	  (bsock_recvmsg_internal): examine the socket address family.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 11:31:09 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): ignore second argument when external and</div><div class='del'>-	  internal are same. [ruby-dev:37939]</div><div class='del'>-</div><div class='del'>-Mon Feb  9 09:05:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_local_peercred): check version.</div><div class='del'>-	  (sockopt_inspect): suppress warning.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 02:04:03 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_peercred): struct ucred contains</div><div class='del'>-	  effective uid/gid.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 00:44:45 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_inspect): add ifdef guard for</div><div class='del'>-	  LOCAL_PEERCRED.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 00:37:06 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_local_peercred): cr_uid is a effective</div><div class='del'>-	  uid, not a real uid.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 00:30:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check sys/param.h and sys/ucred.h.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include sys/param.h and sys/ucred.h.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_local_peercred): new function to show</div><div class='del'>-	  LOCAL_PEERCRED socket option on FreeBSD.</div><div class='del'>-	  (sockopt_inspect): show as LOCAL_* socket option if AF_UNIX and level</div><div class='del'>-	  is 0.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 00:01:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (sockopt_new): add family argument.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_initialize): add vfamily argument.</div><div class='del'>-	  (sockopt_new): add family argument and record it in the object.</div><div class='del'>-	  (sockopt_family): new method.</div><div class='del'>-	  (sockopt_s_int): add vfamily argument.</div><div class='del'>-	  (sockopt_inspect): show family.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getsockopt): check address family</div><div class='del'>-	  using getsockname.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 23:37:17 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index): receives one argument which</div><div class='del'>-	  represents a start offset.  [ruby-dev:37921]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 23:28:05 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h, st.c: order entries by a linked list instead of</div><div class='del'>-	  a loop to fix iteration miss when hash is modified during iteration.</div><div class='del'>-	  [ruby-dev:37910]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 23:22:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_peercred): new function to show</div><div class='del'>-	  SO_PEERCRED socket option on GNU/Linux.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 22:44:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/rubysig.h (rb_thread_blocking_region_begin),</div><div class='del'>-	  (rb_thread_blocking_region_end): marked as deprecated.</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/rubysig.h (TRAP_BEG): fix for C++.  a</div><div class='del'>-	  patch from Aman Gupta at [ruby-core:21934]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 21:47:50 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check struct cmsgcred.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_passcred_credentials): add</div><div class='del'>-	  "(ucred)".</div><div class='del'>-	  (anc_inspect_socket_creds): show struct cmsgcred too, for FreeBSD.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 21:05:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command):</div><div class='del'>-	  detach spawned process.  [ruby-dev:37936]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 20:30:29 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check struct sockcred.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_socket_creds): new function to</div><div class='del'>-	  show SCM_CREDS on NetBSD.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 19:05:24 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/rubysig.h: extern "C" was missing.</div><div class='del'>-	  [ruby-core:21929]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 18:46:15 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (anc_inspect_passcred_credentials): new</div><div class='del'>-	  function to show SCM_CREDENTIALS on GNU/Linux.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 18:34:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_binread): ensures file path.  [ruby-dev:37940]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 13:52:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (init_unix_addrinfo): add socktype argument.</div><div class='del'>-	  (addrinfo_initialize): follow init_unix_addrinfo change.</div><div class='del'>-	  (addrinfo_s_unix): add optional argument: socktype</div><div class='del'>-</div><div class='del'>-Sun Feb  8 13:09:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_APPEND_OPTION, RUBY_APPEND_OPTIONS),</div><div class='del'>-	  (RUBY_PREPEND_OPTION, RUBY_PREPEND_OPTIONS): add option(s)</div><div class='del'>-	  without duplication.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFINE_IF): changed parameter order, now</div><div class='del'>-	  condition comes first.</div><div class='del'>-</div><div class='del'>-	* configure.in (universal_binary): checks architecture macros, and</div><div class='del'>-	  improved thin load paths.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 09:41:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: gets extout and arch from rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Sat Feb  7 21:26:15 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_addrinfo.rb (test_family_addrinfo): don't use</div><div class='del'>-	  www.ruby-lang.org.</div><div class='del'>-	  http://d.hatena.ne.jp/nagachika/20090204/working_for_0f0e</div><div class='del'>-</div><div class='del'>-Sat Feb  7 18:02:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-arch): added new option to support</div><div class='del'>-	  universal binary.  replaced --enable-fat-binary option which</div><div class='del'>-	  didn't work actually.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_FUNC_ATTRIBUTE): added conditional test.</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_type_getgroups): declared because getgroups()</div><div class='del'>-	  fills rest of the buffer with garbage on Rosetta.</div><div class='del'>-</div><div class='del'>-	* configure.in (alloca): defines only for powerpc, but always</div><div class='del'>-	  create empty object to suppress ld warning.</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): set compatibility version with</div><div class='del'>-	  TEENY.</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, LDFLAGS): separates ARCH_FLAG.</div><div class='del'>-</div><div class='del'>-	* configure.in (arch): renamed to "universal" from "fat".</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ARCH_FLAG): added.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (WORDS_BIGENDIAN): uses</div><div class='del'>-	  AC_APPLE_UNIVERSAL_BUILD.</div><div class='del'>-</div><div class='del'>-	* missing/alloca.c (alloca): defines only if C_ALLOCA is defined.</div><div class='del'>-</div><div class='del'>-Sat Feb  7 12:31:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: added --precommand and --show options.</div><div class='del'>-</div><div class='del'>-	* runruby.rb: added --cpu option.</div><div class='del'>-</div><div class='del'>-	* runruby.rb: skips version check in rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Sat Feb  7 11:44:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_header): needs dependent headers if trying to</div><div class='del'>-	  compile.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: net/if.h depends on other headers.</div><div class='del'>-</div><div class='del'>-Sat Feb  7 04:02:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_read): don't disable rdoc.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 23:28:33 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread): use rb_io_wait_readable for retry</div><div class='del'>-	  avoid Errno::EINTR on ruby -e 'trap(:CHLD) {}; spawn("sleep 1"); STDIN.read'</div><div class='del'>-</div><div class='del'>-Fri Feb  6 22:36:11 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_create) [__SYMBIAN32__]: reduced pthread stack size.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer) [__SYMBIAN32__]: compiled out unsupported yet signal-related functionality.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open) [__SYMBIAN32__]: fixed compile time error.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 22:11:46 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h [__SYMBIAN32__]: included &lt;sys/select.h&gt; for fd_set definition</div><div class='del'>-</div><div class='del'>-Fri Feb  6 21:58:24 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/missing-pips.c: added a stub for missing PIPS function execl.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec) [__SYMBIAN32__]: removed conditional around execl function call.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 20:37:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (register_sigaltstack): ignore sigaltstack error.</div><div class='del'>-	  It fails on OpenBSD 4.4 when pthread library is linked.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 18:18:07 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_readdir_with_enc): fallback to OS's conversion</div><div class='del'>-	  when ASCII-8BIT is passed.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 17:19:23 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{dir.h, win32.c} (rb_w32_readdir_with_enc): new function to</div><div class='del'>-	  read entry with specified enc.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (readdir_internal): extract from rb_w32_opendir().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (opendir_internal): extract from rb_w32_readdir().</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_read, dir_each): use new READDIR macro instead of readdir()</div><div class='del'>-	  to pass enc for special version of readdir, such as above.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 12:11:24 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set initial default_external before -r.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 12:03:47 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): -K and -E in shebang should be reflect to</div><div class='del'>-	  default_external. [ruby-dev:37920]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 07:52:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): type fixed.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 02:51:59 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_codepoint): update RDoc for</div><div class='del'>-	  String#codepoints.  a patch from Radoslaw Bulat in</div><div class='del'>-	  [ruby-core:21835]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 01:09:13 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_mark, cont_capture, cont_restore_1): use #else instead</div><div class='del'>-	  of #elif.  a patch from NISHIMATSU Takeshi &lt;t_nissie at yahoo.co.jp&gt;</div><div class='del'>-	  in [ruby-list:45856].</div><div class='del'>-</div><div class='del'>-Thu Feb  5 20:28:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_run_exec_options_err): renamed from</div><div class='del'>-	  rb_run_exec_options.</div><div class='del'>-	  (rb_exec_err): renamed from rb_exec.</div><div class='del'>-	  (rb_fork_err): renamed from rb_fork.</div><div class='del'>-	  (rb_spawn_err): renamed from rb_spawn.</div><div class='del'>-	  (rb_run_exec_options): declared with 1.9.1 compatible signature.</div><div class='del'>-	  (rb_exec): ditto.</div><div class='del'>-	  (rb_fork): ditto.</div><div class='del'>-	  (rb_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_run_exec_options_err): renamed from</div><div class='del'>-	  rb_run_exec_options.</div><div class='del'>-	  (rb_exec_err): renamed from rb_exec.</div><div class='del'>-	  (rb_fork_err): renamed from rb_fork.</div><div class='del'>-	  (rb_spawn_err): renamed from rb_spawn.</div><div class='del'>-	  (rb_run_exec_options): defined.</div><div class='del'>-	  (rb_exec): ditto.</div><div class='del'>-	  (rb_fork): ditto.</div><div class='del'>-	  (rb_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: follow above change.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: follow above change.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:37893]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 19:58:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: AddrInfo is renamed to Addrinfo.  [ruby-dev:37876]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 16:18:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_SITE_LIB_PATH, RUBY_VENDOR_LIB_PATH): fix for</div><div class='del'>-	  NetBSD.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 16:04:29 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): follow recent changes about paths.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 14:26:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MAJOR, MINOR, TEENY): uses RUBY_VERSION_*.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (prefix): uses ruby_version in config.status.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 12:24:18 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq): gets rid of copying.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 12:01:53 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_add_hash): split from ary_make_hash().</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_hash): hide a Hash used internally.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_recycle_hash): clears internally used hash.  this</div><div class='del'>-	  name came from [ruby-dev:37908].</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_diff, rb_ary_and, rb_ary_or, rb_ary_uniq_bang):</div><div class='del'>-	  recycle hashes.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 11:21:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB_VERSION): added for library version, to</div><div class='del'>-	  split from core version.  [ruby-dev:37748]</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB_PATH, etc): moved actual version</div><div class='del'>-	  dependent stuff to version.c.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): ditto.</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_initial_load_paths): moved initial load path</div><div class='del'>-	  version depending on version from ruby.c.</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION_{MAJOR,MINOR,TEENY}): now mean library</div><div class='del'>-	  and API version, and reverted to 1.9.1.  [ruby-dev:37889]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 07:39:33 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): remove_history(0) may be</div><div class='del'>-	  NULL.  [ruby-dev:37891]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 03:55:22 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (LOCALTIME): should call tzset() before localtime_r().</div><div class='del'>-	  [ruby-dev:37896]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 02:12:35 2009  Alexander Zavorine  &lt;alexandre.zavorine@nokia.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/configure.bat: Updated Symbian configuration procedure to</div><div class='del'>-	  avoid creating files outside build directory</div><div class='del'>-</div><div class='del'>-	* symbian/pre-build: ditto</div><div class='del'>-</div><div class='del'>-	* symbian/setup: ditto</div><div class='del'>-</div><div class='del'>-	* symbian/rubyu.def: removed</div><div class='del'>-</div><div class='del'>-Thu Feb  5 01:44:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): refine error message for</div><div class='del'>-	  undefined conversion.  [ruby-core:21828]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 01:18:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_socketpair): make 3rd argument optional.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_s_socketpair): follow the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (sock_s_socketpair): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 00:09:39 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_ipv6_to_ipv4): new method.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 21:59:31 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): show U+XXXX form for undefined</div><div class='del'>-	  conversion error from UTF-8.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 21:57:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): use MBCLEN_CHARFOUND_P properly.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 21:55:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: refine success message.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 19:10:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (id.h): updates from parse.h.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 11:45:06 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: shouldn't export DllMain.</div><div class='del'>-	  reported at http://pc11.2ch.net/test/read.cgi/tech/1233686068/21</div><div class='del'>-</div><div class='del'>-Wed Feb  4 10:12:05 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): should support 't' format</div><div class='del'>-	  modifier to handle PRIdPTRDIFF.  thanks for the info from</div><div class='del'>-	  Kazuhiro NISHIYAMA.  [ruby-core:21807]</div><div class='del'>-</div><div class='del'>-Wed Feb  4 01:28:46 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: fix struct in_pktinfo and struct in6_pktinfo</div><div class='del'>-	  detection.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 00:32:59 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb(test_getpwnam, test_getgrgid, test_getgrnam):</div><div class='del'>-	  support an environment that has duplicative entries.  a patch from</div><div class='del'>-	  Tomoyuki Chikanaga &lt;chikanag at nippon-control-system.co.jp&gt; in</div><div class='del'>-	  [ruby-dev:37882].</div><div class='del'>-</div><div class='del'>-Wed Feb  4 00:17:52 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): skip</div><div class='del'>-	  socket creation error.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 23:37:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): resets EOF flag after parse.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 23:13:34 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace): always returns non-nil array if lev is</div><div class='del'>-	  negative.  [ruby-core:21795]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 21:19:06 2009  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: checked rl_set_screen_size and</div><div class='del'>-	  rl_get_screen_size.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_screen_size): added</div><div class='del'>-	  Readline.set_screen_size.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_get_screen_size): added</div><div class='del'>-	  Readline.get_screen_size.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 21:07:19 2009  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_completion_proc): set</div><div class='del'>-	  default if proc is nil. fix #1095</div><div class='del'>-</div><div class='del'>-Tue Feb  3 16:36:06 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_by_bang): RDoc update.</div><div class='del'>-</div><div class='del'>-	* NEWS: add Array#sort_by!.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 16:23:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): new</div><div class='del'>-	  private function for allocating same port both IPv4 and IPv6.</div><div class='del'>-	  (Socket.tcp_server_sockets): use tcp_server_sockets_port0 for port 0.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 14:12:10 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: validate data before sending to a server.</div><div class='del'>-	  [ruby-core:20320]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 12:35:41 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_array): replace match_check().</div><div class='del'>-</div><div class='del'>-	* re.c (match_values_at): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 12:09:08 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (hmac_md5): should use String#ord to get ascii</div><div class='del'>-	  code from the one-character string.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 11:25:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): warn for circular require.  [ruby-core:20794],</div><div class='del'>-	  [ruby-core:20797]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 08:35:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.tcp_server_sockets): extracted from</div><div class='del'>-	  Socket.tcp_server_loop.</div><div class='del'>-	  (Socket.accept_loop): ditto.</div><div class='del'>-	  (Socket.unix_server_socket): extracted from Socket.unix_server_loop.</div><div class='del'>-	  (Socket.unix_server_loop): use Socket.accept_loop.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 08:21:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb (make_pipe): readpartial does not</div><div class='del'>-	  work in text mode.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 08:18:26 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (RUBYDEF): uses mkexports.rb on cygwin too.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Cygwin): added.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 08:10:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (Doxyfile): moved from Makefile.in.</div><div class='del'>-</div><div class='del'>-	* template/Doxyfile.tmpl: split from Doxyfile.in.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 08:01:38 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write): use of cast expressions as lvalues</div><div class='del'>-	  is deprecated.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 07:57:58 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb (in_pktinfo, in6_pktinfo),</div><div class='del'>-	  ext/socket/ancdata.c: defined in w32api/ws2tcpip.h on cygwin but</div><div class='del'>-	  cannot compile for some reason.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 07:02:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c (nl_langinfo_codeset): accepts iso-8859</div><div class='del'>-	  fragment.  [ruby-core:21757]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 07:01:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (patchlevel): config.status may not contain</div><div class='del'>-	  PATCHLEVEL even if other version numbers exist.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 23:43:00 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (Init_addrinfo): add AddrInfo#to_s as an</div><div class='del'>-	  alias of AddrInfo#to_sockaddr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (Init_sockopt): add Socket::Option#to_s as an</div><div class='del'>-	  alias of Socket::Option#data.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:37873]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 21:04:13 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_by_bang): RDoc update.  [ruby-core:21742]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 20:49:24 2009  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Introduce id_each to save rb_intern() and SYM2ID()</div><div class='del'>-	  calls.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 19:55:51 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_addrinfo.rb: use AddrInfo.getaddrinfo to generate</div><div class='del'>-	  IPv6 address.  AddrInfo.ip generates IPv4 address for IPv4 mapped</div><div class='del'>-	  IPv6 address if --with-lookup-order-hack=INET.</div><div class='del'>-	  [ruby-dev:37868]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 19:17:16 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-1.9.1: typo fixed: collect_all -&gt; collect.</div><div class='del'>-	   [ruby-core:21706]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 17:23:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (dir.o, win32.o): depend on win32/dir.h.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 17:13:46 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: patchlevel is sometimes minus.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 17:11:23 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (cmsg_type_to_sym): add #ifdef for no IPv6</div><div class='del'>-	  environment.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 17:05:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext): should not be infected from other</div><div class='del'>-	  load paths.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 16:33:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_home): new method.   [ruby-core:21454]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 16:06:10 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: bump up to 1.9.2 patchlevel -1.</div><div class='del'>-	  yugui recommend "-1" strongly.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/version.rb: accept negative patchlevel.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 14:53:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_initialize): make 3rd argument, protocol,</div><div class='del'>-	  optional.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 14:47:53 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_by_bang): new method.  requested in</div><div class='del'>-	  [ruby-core:21709]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 14:22:56 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (cmsg_type_arg): INET6 check.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 14:18:20 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: use INET6 instead of IPV6.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 12:47:47 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/{options,raddrinfo}.c: use INET6 instead of AF_INET6 for</div><div class='del'>-	  VC++6.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 12:41:52 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_signbit): regard NaN as a positive value.</div><div class='del'>-	  [ruby-dev:37861].</div><div class='del'>-</div><div class='del'>-Mon Feb  2 12:39:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (valid_syntax?), test/ruby/test_system.rb</div><div class='del'>-	  (TestSystem::valid_syntax?): use catch and throw instead of</div><div class='del'>-	  return inside BEGIN block.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 11:45:10 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (cmsg_type_arg): declared.</div><div class='del'>-	  (Init_ancdata): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (Init_socket_init): call Init_ancdata.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (cmsg_type_arg): defined.</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: add dependency for ancdata.o.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate scm_optname_to_int.</div><div class='del'>-	  more constants.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: add ancdata.o.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: new file.  new method</div><div class='del'>-	  BasicSocket#{sendmsg,sendmsg_nonblock,recvmsg,recvmsg_nonblock}</div><div class='del'>-</div><div class='del'>-Mon Feb  2 10:57:27 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, win32/dir.h (open_dir_handle, rb_w32_opendir,</div><div class='del'>-	  move_to_next_entry, rb_w32_readdir, check_valid_dir): change backend</div><div class='del'>-	  API from A to W.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 10:48:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_setsockopt): accept Socket::Option</div><div class='del'>-	  object.</div><div class='del'>-	  (bsock_getsockopt): return Socket::Option object.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: new file.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rb_cSockOpt): declared.</div><div class='del'>-	  (sockopt_new): ditto.</div><div class='del'>-	  (Init_sockopt): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (Init_socket_init): call Init_sockopt.</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: add dependency for option.o</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate intern_level, intern_so_optname,</div><div class='del'>-	  intern_ip_optname, intern_ipv6_optname, intern_tcp_optname,</div><div class='del'>-	  intern_udp_optname and intern_scm_optname.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: add option.o.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 09:49:39 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each): progname is not available at</div><div class='del'>-	  initializing phase.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 08:12:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded</div><div class='del'>-	  platform names.</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::Hosts::DefaultFileName),</div><div class='del'>-	  (Resolv::DNS::Config.default_config_hash): tries win32/resolv on</div><div class='del'>-	  mswin64 too.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb (Gem::Specification#ruby_code):</div><div class='del'>-	  added mswin64.</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command):</div><div class='del'>-	  spawn is better to start a process in background.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: uses FNM_SYSCASE.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: installs win32.h on mswin64 platform.</div><div class='del'>-	  [ruby-core:21722]</div><div class='del'>-</div><div class='del'>-Mon Feb  2 07:36:13 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace_each): now takes an iterator function.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_make_backtrace, rb_backtrace_each): added</div><div class='del'>-	  prototypes.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport), vm_eval.c (rb_backtrace): gets rid</div><div class='del'>-	  of allocating objects.  [ruby-core:21619]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_backtrace_each): new function which iterates over</div><div class='del'>-	  each backtrace info.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 06:51:36 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): Windows' filesystem encoding is</div><div class='del'>-	  sometimes ANSI code page and sometimes OEM code page. we should check</div><div class='del'>-	  whether code page is used.</div><div class='del'>-</div><div class='del'>-Sun Feb  1 21:27:55 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_ipv4_private_p): new method.</div><div class='del'>-	  (addrinfo_ipv4_loopback_p): ditto.</div><div class='del'>-	  (addrinfo_ipv4_multicast_p): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb  1 16:10:06 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (Switch#summarize): strips an equal sign from</div><div class='del'>-	  short option, and fills right sides in shorter lines.</div><div class='del'>-	  [ruby-talk:326414]</div><div class='del'>-</div><div class='del'>-Sun Feb  1 05:19:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0), vm_insnhelper.c (vm_get_ev_const):</div><div class='del'>-	  avoids infinite self recursion autoload.  [ruby-core:21696]</div><div class='del'>-</div><div class='del'>-Sat Jan 31 22:50:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_equal): show class in failure</div><div class='del'>-	  message if meaningful.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 22:38:46 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS#each_address): don't query IPv6 address</div><div class='del'>-	  if the host has no global IPv6 address.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 22:29:05 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (STR2CSTR): removed.</div><div class='del'>-	  (rb_str2cstr): removed.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_str2cstr): removed.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 20:07:59 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_ipv6_unspecified_p): new method.</div><div class='del'>-	  (addrinfo_ipv6_loopback_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_multicast_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_linklocal_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_sitelocal_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_v4mapped_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_v4compat_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_mc_nodelocal_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_mc_linklocal_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_mc_sitelocal_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_mc_orglocal_p): ditto.</div><div class='del'>-	  (addrinfo_ipv6_mc_global_p): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 19:09:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): raises when the path to be loaded is</div><div class='del'>-	  tainted.  [ruby-dev:37843]</div><div class='del'>-</div><div class='del'>-Sat Jan 31 18:08:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (optflags): defaulted to -O3 to get rid of slug of</div><div class='del'>-	  gcc 4.3.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 18:03:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (List#accept, parse_in_order): n option is no</div><div class='del'>-	  longer needed.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 14:12:43 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#each_child): new method.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 00:07:49 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb</div><div class='del'>-	  (Test::Unit::Assertions#assert_nothing_raised): suppress warning.</div><div class='del'>-	  [ruby-core:21312]</div><div class='del'>-</div><div class='del'>-Fri Jan 30 21:49:32 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#realdirpath): new method based on the</div><div class='del'>-	  patch in [ruby-dev:36560] by Akinori MUSHA.</div><div class='del'>-	  [ruby-dev:36290]</div><div class='del'>-</div><div class='del'>-Fri Jan 30 18:04:23 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write): limit write size to 32KB if the file</div><div class='del'>-	  seems to be console.  [ruby-core:21613]</div><div class='del'>-</div><div class='del'>-Fri Jan 30 16:12:32 2009  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): Curses#crmode and</div><div class='del'>-	  Curses#nocrmode changes to the module function.</div><div class='del'>-	  fix #916</div><div class='del'>-</div><div class='del'>-Fri Jan 30 14:31:14 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (prereq): remove enc.mk from tarball because</div><div class='del'>-	  BSD make checks $(srcdir)/enc.mk and try to run $(builddir)/enc.mk.</div><div class='del'>-</div><div class='del'>-Fri Jan 30 14:11:48 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: extract compile rules to each target for nmake.</div><div class='del'>-</div><div class='del'>-Fri Jan 30 12:59:49 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (RUBYDEF): depends on makefiles.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (RUBYDEF): adds DATA to non-function symbols</div><div class='del'>-	  which is not marked as T.</div><div class='del'>-</div><div class='del'>-Fri Jan 30 11:03:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_respond_to): gets rid of</div><div class='del'>-	  overcounting.   [ruby-dev:37703]</div><div class='del'>-</div><div class='del'>-Fri Jan 30 02:55:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_init_by_convpath_i): make it static.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 16:22:41 2009  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_provided): should not calculate len by pointer</div><div class='del'>-	  subtraction because feature may be a expanded path.</div><div class='del'>-	  [ruby-core:21267]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 14:12:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BASERUBY): erases RUBYOPT at the test.</div><div class='del'>-</div><div class='del'>-	* configure.in (OBJCOPY): not used on Windows.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 13:16:11 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.uuid): uses unpacked array</div><div class='del'>-	  instead of string, because String#[] returns one length string.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 12:29:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (FileUtils#rake_system): no longer needs workaround</div><div class='del'>-	  on Windows.  [ruby-core:21339]</div><div class='del'>-</div><div class='del'>-	* lib/rake/win32.rb (Rake::Win32#rake_system): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rake/win32.rb (Rake::Win32#win32_system_dir): no longer</div><div class='del'>-	  needs environment variables other than APPDATA now.</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::Application#standard_system_dir): uses</div><div class='del'>-	  platform specific definition on Windows system.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 12:18:54 2009  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: new method SecureRandom#uuid</div><div class='del'>-</div><div class='del'>-Thu Jan 29 11:22:19 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (inspect_sockaddr): if defined AF_INET6,</div><div class='del'>-	  perhaps can inspect IPv6 addresses if not defined INET6.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): support Windows XP</div><div class='del'>-	  or later. (Win2k or earlier is still not supported)</div><div class='del'>-</div><div class='del'>-Thu Jan 29 00:24:48 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run): previous change didn't resolve the</div><div class='del'>-	  problem.</div><div class='del'>-</div><div class='del'>-Wed Jan 28 22:51:12 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run): desperately guard the variable.</div><div class='del'>-	  [ruby-core:20576]</div><div class='del'>-</div><div class='del'>-Wed Jan 28 15:24:11 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* math.c: SEGV is caused by implicit rb_to_float declaration</div><div class='del'>-	  test_complexrational.rb: [BUG] in IA-64 architecture</div><div class='del'>-</div><div class='del'>-Tue Jan 27 20:02:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (socks_connect_blocking): moved from</div><div class='del'>-	  sockssocket.c.  [ruby-dev:37834]</div><div class='del'>-</div><div class='del'>-	* sockssocket.c (socks_init): don't omit "int" type.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 14:41:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (RUBYDEF): needs DATA marks to export</div><div class='del'>-	  non-function symbols.  [ruby-core:21582]</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Mingw#each_export): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 12:59:55 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: use VPATH.</div><div class='del'>-	  If a platform doesn't support VPATH, Ruby doesn't support it:</div><div class='del'>-	  for example MSYS. [ruby-core:21570]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 12:21:17 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: lex.c's correct path is ../../lex.c.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 11:09:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_header): checks the header depending on</div><div class='del'>-	  platform.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_header, find_header): use try_header.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (try_header): uses try_compile to get rid of</div><div class='del'>-	  slow -E option of VC.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 11:03:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (distclean-enc, realclean-enc): do not call clean of</div><div class='del'>-	  enc.mk twice or more.</div><div class='del'>-</div><div class='del'>-	* enc/depend (cleanobjs): added deffile.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): removes deffile at clean instead</div><div class='del'>-	  of distclean.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (miniruby, LIBRUBY_SO): removes lib and exp</div><div class='del'>-	  files.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (clean, distclean): have moved to common.mk.</div><div class='del'>-</div><div class='del'>-	* win32/rmdirs.bat: omits `not empty' message.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 10:15:33 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (struct rb_transcoding): added ary member for debug.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 10:10:14 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Doxyfile.in (FILE_VERSION_FILTER, INPUT_FILTER): should not use</div><div class='del'>-	  ./miniruby directly for cross compiling.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 04:02:53 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: fixed dependency path to lex.c.</div><div class='del'>-	  [ruby-core:21570]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 03:43:34 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): fixed performance issues with nil, true,</div><div class='del'>-	  false as hash keys.  a patch from Matthias Waechter.</div><div class='del'>-	  [ruby-core:21568]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 03:23:43 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): should point correct path to</div><div class='del'>-	  ruby.h and defines.h.   [ruby-core:21569]</div><div class='del'>-</div><div class='del'>-Mon Jan 26 16:00:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_aset): fixed arguments evaluation order.</div><div class='del'>-</div><div class='del'>-Mon Jan 26 15:49:42 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (chop_basename, prepend_prefix): use o option.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 16:35:44 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): renamed from</div><div class='del'>-	  socket_s_list_ip_address.  [ruby-dev:37806]</div><div class='del'>-</div><div class='del'>-Sun Jan 25 12:17:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (RUBYDEF): needs read-only section too.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 12:02:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (clean-ext): condition of EXTS was inverted.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 11:50:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): fixed the variables order because</div><div class='del'>-	  converter proc refers the separator.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 11:25:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (RMDIRS): remove directory and</div><div class='del'>-	  parents.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (distclean-rdoc): added to remove</div><div class='del'>-	  temporary rdoc.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (clean-ext): skips non-existent</div><div class='del'>-	  directories.</div><div class='del'>-</div><div class='del'>-	* common.mk (clean, distclean): cleans rdoc.</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-extout): removes extout directory.</div><div class='del'>-</div><div class='del'>-	* configure.in (RMDIRS, RMALL): added to clean extout.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#rmdir): added :parents option.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): cleans installed files at clean</div><div class='del'>-	  instead of distclean.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): added clean-so and clean-rb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (def init_mkmf): added DISTCLEANDIRS.</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (rmdir): added -p option.</div><div class='del'>-</div><div class='del'>-	* tool/rmdirs, win32/rmdirs.bat: removes directory and the parents.</div><div class='del'>-</div><div class='del'>-	* win32/rm.bat: added -r option.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 09:09:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (join_path): use strlcat() to force link.</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): no strcpy() is needed since len is known.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 06:44:58 2009  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Server Name Indication support.</div><div class='del'>-	  new methods SSLContext#server_name_cb=, SSLSocket#hostname=.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Tests for above.</div><div class='del'>-</div><div class='del'>-Sat Jan 24 08:22:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): tools under the top source</div><div class='del'>-	  directory are not installed, so unusable outside extmk.rb.</div><div class='del'>-</div><div class='del'>-Fri Jan 23 17:24:31 2009  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Enumerator#inspect): avoid warning.</div><div class='del'>-</div><div class='del'>-Fri Jan 23 15:12:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (mkintpath): new function which converts native path</div><div class='del'>-	  to format acceptable in Makefile.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): leaves PATH_SEPARATOR unchanged.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): converts srcdir, topdir and hdrdir.</div><div class='del'>-	  a patch by Alexey Borzenkov &lt;snaury AT gmail.com&gt; at</div><div class='del'>-	  [ruby-core:21448].</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_func): got rid of c-mode confusion.</div><div class='del'>-</div><div class='del'>-Fri Jan 23 13:26:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap_handler): also accepts symbols.  [ruby-dev:37823]</div><div class='del'>-</div><div class='del'>-Thu Jan 22 18:14:04 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): removes installed files under</div><div class='del'>-	  extout at distclean.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 17:12:37 2009  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI.parse): generate only key on params hash</div><div class='del'>-	  if request have only key uri parameters.</div><div class='del'>-		(ex. index.cgi?aaa&amp;bbb=1 # params=&gt;{:aaa=&gt;[],:bbb=&gt;["1"]})</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_core.rb: fix test for key only params.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 16:29:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (Gem::Installer#initialize): fixed</div><div class='del'>-	  typos.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb (test_self_dir): removed false</div><div class='del'>-	  assertions.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb (test_self_set_paths): checks if paths</div><div class='del'>-	  are included.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_install_command.rb</div><div class='del'>-	  (test_execute_remote): checks diagnostic message too.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb (load): uses Gem.ruby.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/gemutilities.rb (Gem.ruby): initializes from the</div><div class='del'>-	  environment variable to run without installation.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/gemutilities.rb (RubyGemTestCase#util_build_gem):</div><div class='del'>-	  creates cache directory.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 16:12:51 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* revert previous revision.  it's already out-of-date.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 15:54:02 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/win32.c (rb_w32_is_valid_fd): new function</div><div class='del'>-	  to validate fd.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): check fd with above function.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 14:53:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (MANDATORY_ENVS): needs RUBYLIB to run</div><div class='del'>-	  tests without install.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 12:19:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final): cannot define finalizer for immediate</div><div class='del'>-	  values.  [ruby-core:21500]</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final): freezes or hides internal values.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 11:33:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_time_timeval): made a real prototype.  a patch from</div><div class='del'>-	  Marcus Rueckert &lt;darix AT opensu.se&gt; at [ruby-core:21492].</div><div class='del'>-</div><div class='del'>-Wed Jan 21 21:43:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetbyte, rb_io_ungetc): allows nil to reset EOF</div><div class='del'>-	  flag with ungetting nothing.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): rests EOF flag to make possible to</div><div class='del'>-	  load from stdin after reading data.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 17:17:18 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_double_capa): a new function to expand array more</div><div class='del'>-	  aggressively.   [ruby-core:21460]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_store): use ary_double_capa().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_unshift_m): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_splice): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 15:32:15 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetbyte, rb_io_ungetc): clears EOF flag.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 14:41:48 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (take_items): to_ary() raises ArgumentError if cannot to</div><div class='del'>-	  convert to Array. [ruby-dev:37797]</div><div class='del'>-</div><div class='del'>-Wed Jan 21 14:32:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (debug_lines): calls rb_intern() once.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 13:58:17 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_EOF): EOF flag on TTY.</div><div class='del'>-</div><div class='del'>-	* io.c (io_set_eof): sets EOF flag for TTY.</div><div class='del'>-</div><div class='del'>-	* io.c (io_seek): clears EOF flag.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fillbuf): returns EOF if already met EOF.  [ruby-dev:37798]</div><div class='del'>-</div><div class='del'>-	* io.c (io_fillbuf, io_fread, io_getpartial): sets EOF.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 08:22:04 2009  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.3.1 r4532.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 20:16:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_list_ip_address): new method.</div><div class='del'>-	  (sockaddr_obj): new function.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include ifaddrs.h, sys/ioctl.h,</div><div class='del'>-	  sys/sockio.h, net/if.h if available.</div><div class='del'>-	  (addrinfo_new): declared.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_new): exported.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check ifaddrs.h, sys/ioctl.h, sys/sockio.h,</div><div class='del'>-	  net/if.h and getifaddrs.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 20:05:21 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (pseudo_AF_FTIP): moved from mkconstants.rb.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: prepend header if -H is not given.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 17:50:00 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_buf): use nkf_char.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 16:17:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (ruby_Init_{Continuation_body,Fiber_as_Coroutine}): prefixed</div><div class='del'>-	  with ruby_ to export.</div><div class='del'>-</div><div class='del'>-	* ext/continuation/continuation.c, ext/fiber/fiber.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 15:32:29 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby): renames and then removes, to get rid of</div><div class='del'>-	  EPERM on cygwin and mingw.</div><div class='del'>-</div><div class='del'>-	* Makefile.in ($(LIBRUBY_SO)): use wildcard option of objcopy.</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): do not export all symbols.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (RUBYDEF): rejects symbols prefixed with</div><div class='del'>-	  Init_.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Mingw): includes all symbols as</div><div class='del'>-	  well as mswin32, except for prefixed with Init_.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 13:03:50 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): fixed the tail bytes handling in the aligned</div><div class='del'>-	  access case.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 09:26:05 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_buf_push): maybe a bug.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (options): no need to support help option.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 06:48:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (take_items), enum.c (enum_zip): tries to convert to</div><div class='del'>-	  array first.  [ruby-core:21442]</div><div class='del'>-</div><div class='del'>-Tue Jan 20 03:50:37 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Update nkf to 2.0.9.</div><div class='del'>-	  revert -s meaning as Shift_JIS, etc.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 03:42:32 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): fixed typo.  [ruby-dev:37791]</div><div class='del'>-</div><div class='del'>-Tue Jan 20 01:15:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (SOMAXCONN): defined.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 22:31:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: use erb for generating code.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 17:33:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): defaulted to MurmurHash 2.0.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 17:29:34 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (RUBY_ALIAS_FUNCTION_TYPE): added.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 17:24:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (vm_stack_dump_each): used only if debug mode.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 16:32:35 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): added MurmurHash 2.0.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 14:31:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): needs</div><div class='del'>-	  rb_signal_buff_size to be declared.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 13:34:25 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): reset th-&gt;parse_in_eval while</div><div class='del'>-	  loading libraries.  fixes [ruby-dev:37780]</div><div class='del'>-</div><div class='del'>-Mon Jan 19 11:46:39 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c, eval.c (rb_f_block_given_p): move definition of</div><div class='del'>-	  "iterator?" and "block_given?" to make static.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_get_ruby_level_caller_cfp): make it static.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm_insnhelper.c: move decl. of</div><div class='del'>-	  vm_get_ruby_level_caller_cfp()</div><div class='del'>-	  from eval_intern.h to vm_insnhelper.c.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 11:27:39 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: add a prefix "rb_" to exposed functions</div><div class='del'>-	  vm_get_ruby_level_next_cfp(), rb_vm_make_env_object(),</div><div class='del'>-	  vm_stack_to_heap(), vm_make_proc(), vm_invoke_proc(),</div><div class='del'>-	  vm_get_sourceline(), vm_cref(), vm_localjump_error(),</div><div class='del'>-	  vm_make_jump_tag_but_local_jump(), vm_jump_tag_but_local_jump().</div><div class='del'>-	  This changes may affect only core because most of renamed functions</div><div class='del'>-	  require a pointer of not-exposed struct such as rb_thread_t or NODE.</div><div class='del'>-	  In short, they are core functions.</div><div class='del'>-</div><div class='del'>-	* cont.c, eval.c, eval_intern.h, load.c, proc.c, thread.c,</div><div class='del'>-	  vm_core.h, vm_dump.c, vm_eval.c, vm_exec.c, vm_insnhelper.c:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 11:22:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rb_cUNIXSocket, rb_cUNIXServer),</div><div class='del'>-	  (unixpath, unixaddr): UNIX domain sockets depend on sys/un.h.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 11:02:30 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: add a prefix "rb_vmdebug_" to</div><div class='del'>-	  vm_stack_dump_raw(), vm_stack_dump_raw_current(),</div><div class='del'>-	  vm_env_dump_raw(), vm_proc_dump_raw(), vm_stack_dump_th(),</div><div class='del'>-	  vm_debug_print_register(), vm_thread_dump_regs(),</div><div class='del'>-	  vm_debug_print_pre(), vm_debug_print_post(),</div><div class='del'>-	  vm_thread_dump_state().</div><div class='del'>-	  This change also may affect core (in fact, user of</div><div class='del'>-	  above functions may be only ko1).</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (SDR2): remove duplicate definition.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 11:00:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_ip_port): use AF_INET6 only when</div><div class='del'>-	  defined, as well as addrinfo_ipv6_p().</div><div class='del'>-</div><div class='del'>-Mon Jan 19 10:43:38 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_with_gvl): suppress warnings.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 10:34:32 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: workaround for nmake. files in depend without</div><div class='del'>-	  paths should converted by RULE_SUBST, but mkmf.rb cannot recognize</div><div class='del'>-	  macros currently.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 09:53:43 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c:</div><div class='del'>-	  rename ruby_iseq_disasm_insn() -&gt; rb_iseq_disasm_insn().</div><div class='del'>-	  rename ruby_iseq_disasm() -&gt; rb_iseq_disasm().</div><div class='del'>-</div><div class='del'>-	* compile.c:</div><div class='del'>-	  rename ruby_iseq_compile() -&gt; rb_iseq_compile_node().</div><div class='del'>-	  rename ruby_iseq_translate_threaded_code() -&gt;</div><div class='del'>-	         rb_iseq_translate_threaded_code().</div><div class='del'>-	  rename ruby_insns_name_array() -&gt; rb_insns_name_array().</div><div class='del'>-	  rename ruby_iseq_build_from_ary() -&gt; rb_iseq_build_from_ary().</div><div class='del'>-</div><div class='del'>-	* iseq.c, compile.c: remove ruby_insn_make_insn_table() and make</div><div class='del'>-	  static function insn_make_insn_table().</div><div class='del'>-</div><div class='del'>-	* iseq.h, ruby.c, vm.c, vm_core.h, vm_eval.c, vm_dump.c,</div><div class='del'>-	  blockinlining.c: ditto.</div><div class='del'>-	  Rename strange "ruby_" prefix to "rb_" prefix.</div><div class='del'>-	  This changes may affect only core because renamed functions</div><div class='del'>-	  require a pointer of rb_iseq_t which is not exposed.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 09:21:04 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define macros with default value in</div><div class='del'>-	  constdefs.h if not exist them.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_mdump, addrinfo_mload): support</div><div class='del'>-	  UNIX socket only on platforms which support it.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 08:56:53 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, vm_eval.c (rb_f_local_variables): move definition from eval.c</div><div class='del'>-	  to vm_eval.c because vm_collect_local_variables_in_heap() should</div><div class='del'>-	  be static function.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_collect_local_variables_in_heap): make it static.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 04:06:10 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_load): renamed from ruby_iseq_load, since it is</div><div class='del'>-	  for C extensions or the ruby core.  [ruby-core:21407]</div><div class='del'>-</div><div class='del'>-Mon Jan 19 03:06:22 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): fix: :xml option doesn't</div><div class='del'>-	  work on str.encode([options]) form without default_internal.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 16:56:46 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_inspect_sockaddr): new</div><div class='del'>-	  method AddrInfo#inspect_sockaddr.</div><div class='del'>-	  (inspect_sockaddr): extracted from addrinfo_inspect.</div><div class='del'>-	  (addrinfo_inspect): use inspect_sockaddr.</div><div class='del'>-	  (Init_addrinfo): define the new method.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 16:46:37 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_ip_address): new method</div><div class='del'>-	  AddrInfo#ip_address.</div><div class='del'>-	  (addrinfo_ip_port): new method AddrInfo#ip_port.</div><div class='del'>-	  (Init_addrinfo): define the methods above.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 14:29:52 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: redundant #ifdef removed.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 03:33:23 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_mdump): don't use symbol.</div><div class='del'>-	  (addrinfo_mload): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 03:05:20 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_mdump): new method.</div><div class='del'>-	  (addrinfo_mload): new method.</div><div class='del'>-	  (Init_addrinfo): define the method above.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (constant_arg): str_to_int's first argument</div><div class='del'>-	  constified.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (gen_name_to_int_decl): generated</div><div class='del'>-	  function's first argument constified.</div><div class='del'>-	  (gen_name_to_int_func_in_guard): ditto.</div><div class='del'>-	  (ipproto_to_int): generated.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (IS_IP_FAMILY): moved from raddrinfo.c.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 01:37:50 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getnameinfo): accept AddrInfo object.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rb_check_sockaddr_string_type): defined.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rb_check_sockaddr_string_type): declared.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 22:01:15 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: new file.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 19:33:48 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (VCSUP): fixed the cases for git-svn or git.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (VCSUP): ditto.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (up): `cd' is necessary for git and git-svn.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 19:16:16 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate a header file for generated</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include constdefs.h.  don't declare</div><div class='del'>-	  generated functions.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c: include constdefs.c instead of constants.h.</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: dependency updated.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 17:58:22 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/xmp.rb: multilingualizes XMP::StringInputMethod.</div><div class='del'>-	  [ruby-core:21383].</div><div class='del'>-</div><div class='del'>-Sat Jan 17 15:01:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_inspectname): add a res argument to</div><div class='del'>-	  suppress numeric inspectname.</div><div class='del'>-	  (init_addrinfo_getaddrinfo): call make_inspectname here.</div><div class='del'>-	  (addrinfo_firstonly_new): follow make_inspectname change.</div><div class='del'>-	  (addrinfo_list_new): ditto.</div><div class='del'>-	  (addrinfo_initialize): follow init_addrinfo_getaddrinfo change.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 14:52:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: don't cause an error for duplicate names.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 12:46:17 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: split files for each class.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: common header.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c: new file for BasicSocket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c: new file for IPSocket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpsocket.c: new file for TCPSocket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpserver.c: new file for TCPServer.</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockssocket.c: new file for SOCKSSocket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/udpsocket.c: new file for UDPSocket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: new file for UNIXSocket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixserver.c: new file for UNIXServer.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: now for Socket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c: new file for AddrInfo and name resolution.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c: new file for constants.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c: new file for utilities.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: export *_to_int.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: add new object files.</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: add dependencies for new files.</div><div class='del'>-</div><div class='del'>-	* ext/.document: add new files.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 11:12:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_0): padding size doesn't need to be large</div><div class='del'>-	  if alloca is used.  suppress warnings.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 11:12:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (vm_stack_dump_each): initialized at declarations.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): constified to suppress a warning.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 22:30:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: move addrinfo code.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 18:51:11 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (up): tell nmake that need to run command via</div><div class='del'>-	  shell.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 18:43:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): includes all rules and expand</div><div class='del'>-	  configured values from the environment to create *.inc, sets RM</div><div class='del'>-	  for ripper.c, and needs chdir if absolute path is given with</div><div class='del'>-	  -exported option.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 18:26:47 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (VALUE): use unsigned long or long long</div><div class='del'>-	  instead of uintptr_t, since many %lx and so on are still used.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 17:33:59 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): set VCS and VCSUP to support `git svn'</div><div class='del'>-	  and git.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (up): split from common.mk.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 12:24:39 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): call ruby_cleanup() if thread is</div><div class='del'>-	  main thread.  [ruby-dev:37624]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 12:27:50 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(INSNS), node_name.inc, known_errors.inc,</div><div class='del'>-	  miniprelude.c, newline.c): if dependencies is newer than targets or</div><div class='del'>-	  targets don't exist, try to create targets with BASERUBY. no need to</div><div class='del'>-	  detect errors there because the absence of BASERUBY is not abnormal.</div><div class='del'>-	  after the try, if the targets still don't exist, copy them from</div><div class='del'>-	  $(srcdir).</div><div class='del'>-</div><div class='del'>-Fri Jan 16 12:15:07 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI_PTRDIFF_PREFIX): must define as string.</div><div class='del'>-	  if not, cause compile error in using PRI?VALUE.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): add SIZEOF_INTPTR_T and</div><div class='del'>-	  SIZEOF_UINTPTR_T for SIZEOF_VALUE.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 11:51:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/pre-build (COMSPEC): should not overridden.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 11:47:56 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parse_in_main): fixed typo.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 11:41:23 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): does not define rb_ prefixed</div><div class='del'>-	  name if no default type is given.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFINT): checks size.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX):</div><div class='del'>-	  assumes usable if PRIdPTR is defined.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 02:25:46 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): if signal is already</div><div class='del'>-	  buffered, main thread should wait until timer thread delivers it.</div><div class='del'>-</div><div class='del'>-	* thread.c (timer_thread_function): should defer delivery of a signal</div><div class='del'>-	  if main thread does not yet trap a previous one.  [ruby-dev:37676]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 02:05:55 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (addrinfo_s_ip): new method AddrInfo.ip.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 01:42:50 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (call_trace_proc): as Matz said ([ruby-core:21183]),</div><div class='del'>-	  should skip rb_str_new2() if rb_sourcefile() returns NULL.</div><div class='del'>-	  rb_sourcefile() returns NULL if frame is toplevel of Fiber.</div><div class='del'>-	  [ruby-core:21161] [Bug #985]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 01:09:37 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): decrement parse_in_eval to recognize</div><div class='del'>-	  parsing main or normal eval script.</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_parse_in_main): return 1 if parsing main script.</div><div class='del'>-	 (if parse_in_eval is negative value, it means main script)</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): check rb_parse_in_main() to accumulate</div><div class='del'>-	  script text.  Bug #848 [ruby-core:20450]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 00:57:34 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: as wanabe-san pointed out,</div><div class='del'>-	  set_trace_func should be completely final task in debug.rb.</div><div class='del'>-	  Bug #847 [ruby-core:20449]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 00:27:03 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_inc_const_missing_count, ruby_vm_const_missing_count):</div><div class='del'>-	  added.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0), insns.def: Constants should not be</div><div class='del'>-	  cached if const_missing is called.  [ruby-core:21059] [Bug #967]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_class.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 00:25:09 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: btest-ruby should receive option with OPTS.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 00:21:10 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(INSNS), node_name.inc, known_errors.inc,</div><div class='del'>-	  miniprelude.c, newline.c): shouldn't copy when $(srcdir) != ".", too.</div><div class='del'>-	  (this is a workaround.  we need more strict check.)</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(INSNS)): shouldn't remove BASERUBY.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 00:19:55 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_with_gvl): suppress warnings.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 20:44:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: RUBY_REVISION must be an integer.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 15:55:31 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_set_default_encoding): should not treat US-ASCII</div><div class='del'>-	  special here.  a patch from Yui NARUSE in [ruby-dev:37769].</div><div class='del'>-	  [ruby-dev:37699]</div><div class='del'>-</div><div class='del'>-Thu Jan 15 14:27:27 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: Added information for missing/langinfo.c</div><div class='del'>-</div><div class='del'>-Thu Jan 15 14:17:57 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): explicit error for "Object::Far += foo 1" just</div><div class='del'>-	  as "Object::Far += 1".</div><div class='del'>-</div><div class='del'>-	* parse.y (command): moved return/break/next from command_call for</div><div class='del'>-	  better error message.</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): void value check added.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 13:10:58 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (COMPILERFLAG): for enc/trans/gb18030.c.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 13:10:09 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (MISSING): added langinfo on mingw</div><div class='del'>-	  and mswin.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): use environments on mingw and mswin.</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c (nl_langinfo_codeset): MS-Windows Japanese</div><div class='del'>-	  environment uses Windows-31J derived from Shift_JIS, not EUC-JP.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 12:10:39 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(INSNS), node_name.inc, known_errors.inc,</div><div class='del'>-	  miniprelude.c, newline.c): copy only when $(srcdir) != pwd.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 11:40:44 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): revert a part of previous commit. it may be a</div><div class='del'>-	  mistake.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 10:45:52 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/README.SYMBIAN: symbian support added.  great appreciate</div><div class='del'>-	  to &lt;alexandre.zavorine at symbian.com&gt;.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 00:06:12 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/gb18030.trans: get rid of a 1.9 feature for cross</div><div class='del'>-	  compile.  [ruby-core:21345]</div><div class='del'>-</div><div class='del'>-Wed Jan 14 23:57:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): fallback to codepage if no</div><div class='del'>-	  locale is found.  [ruby-core:21110]</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c (nl_langinfo_codeset): returns NULL if no</div><div class='del'>-	  locale is found.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 22:38:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (negative_size_allocation_error_with_gvl): abolish a warning.</div><div class='del'>-	  (negative_size_allocation_error): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_raise): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 20:05:05 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/gb18030.trans, gb18030-tbl.rb:</div><div class='del'>-	  new Chinese GB18030 transcoding (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* transcode_data.h, transcode.c, tool/transcode_tblgen.rb:</div><div class='del'>-	  added support for GB18030-specific 4-byte sequences</div><div class='del'>-	  (with Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Wed Jan 14 16:16:19 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: check ncursesw earlier than ncurses to</div><div class='del'>-	  support UTF-8 strings.  non UTF-8 strings should be converted</div><div class='del'>-	  explicitly.  [ruby-core:21094]</div><div class='del'>-</div><div class='del'>-Wed Jan 14 14:42:30 2009  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: fix prototype declare of register_stack_extend</div><div class='del'>-</div><div class='del'>-Wed Jan 14 13:19:21 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn): should not escape with caret</div><div class='del'>-	  unless using cmd.exe.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 13:09:00 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb (gai_strerror): checks if available and if</div><div class='del'>-	  returns const pointer.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (gai_strerror): defines only if non</div><div class='del'>-	  available.  [ruby-core:21328]</div><div class='del'>-</div><div class='del'>-Wed Jan 14 12:39:16 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_readable, rb_io_wait_writable): need rb_fd_ptr.</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): reformed.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): reduced nest of rb_ensure of main block.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 22:56:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/addrinfo.h (AI_NUMERICSERV): defined.</div><div class='del'>-	  (AI_MASK): add AI_NUMERICSERV.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:45:53 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct#inspect): fixed the recursion check.</div><div class='del'>-	  Patch by Kornelius Kalnbach.  [ruby-core:20992].</div><div class='del'>-</div><div class='del'>-	* test/ostruct/test_ostruct.rb: test for inspect.</div><div class='del'>-	  Patch by Kornelius Kalnbach.  [ruby-core:20992].</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:44:30 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen, rb_io_init_copy): should register fptr to pipe_list</div><div class='del'>-	  when copying pipe fptr.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:38:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rb_getaddrinfo): use getaddrinfo with GVL if</div><div class='del'>-	  getaddrinfo.c/getnameinfo.c is used.  They are not thread safe</div><div class='del'>-	  because gethostbyname/gethostbyaddr is used.</div><div class='del'>-	  (rb_getnameinfo): ditto.</div><div class='del'>-</div><div class='del'>-	* extconf.rb: define GETADDRINFO_EMU if getaddrinfo.c/getnameinfo.c is</div><div class='del'>-	  used.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:28:14 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_not_match): rdoc.</div><div class='del'>-	  Patch by Kornelius Kalnbach.  [ruby-core:20991]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 18:21:44 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_read): call rb_io_fptr_cleanup() instead of</div><div class='del'>-	  fptr_finalize() because the fptr has special finalizer if it is a</div><div class='del'>-	  pipe.  [ruby-dev:37757] (3)</div><div class='del'>-</div><div class='del'>-Tue Jan 13 18:19:49 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): workaround for Windows. [ruby-dev:37686]</div><div class='del'>-	  (also see [ruby-dev:37721])</div><div class='del'>-</div><div class='del'>-Tue Jan 13 17:29:02 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb (converters): should not depend on the</div><div class='del'>-	  hash order for cross compile.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 16:39:11 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,</div><div class='del'>-	  rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset,</div><div class='del'>-	  rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type,</div><div class='del'>-	  functions, and macros for Windows.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand</div><div class='del'>-	  fd_array if needed.  [ruby-core:19946]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (copy_fd): new function for rb_w32_select().</div><div class='del'>-</div><div class='del'>-Tue Jan 13 12:31:54 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (get_revisions): fixes problem with</div><div class='del'>-	  svn on cygwin. [ruby-dev:37702].</div><div class='del'>-	  Patch by Kouhei Sutou.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 11:58:04 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb: IRB did not prompt for MSwin32.</div><div class='del'>-	  [ruby-dev:37686].</div><div class='del'>-	  Patch by arton &lt;artonx AT yahoo.co.jp&gt;.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 12:10:42 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/{getaddrinfo,getnameinfo}.c: need to include ws2tcpip.h</div><div class='del'>-	  on Windows.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 09:49:49 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: removed warning about unused variable 'rai'.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 03:07:28 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: require "tool/mdoc2man.rb" before chdir if needed.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 02:54:54 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: use headers instead of "netdb.h" in checking</div><div class='del'>-	  getnameinfo() and getaddrinfo() because Windows doesn't have it.</div><div class='del'>-	  [ruby-dev:37757] (1)</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SA_LEN): use sockaddr_in6 when defined AF_INET6</div><div class='del'>-	  if INET6 is not defined.  winsock2's getaddrinfo() returns</div><div class='del'>-	  sockaddr_in6 if ipv6 is available.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 02:21:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (internal_cmd_match): extracted from</div><div class='del'>-	  is_internal_cmd.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (argv_size, join_argv): escapes redirection, pipe</div><div class='del'>-	  and caret punctuations with carets.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn): ditto, and redirections and pipe</div><div class='del'>-	  have no meanings.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 02:07:38 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: use Encoding.find("locale") instead of</div><div class='del'>-	  Encoding.locale_charmap</div><div class='del'>-</div><div class='del'>-Tue Jan 13 00:57:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_unpack_sockaddr_in): check too short</div><div class='del'>-	  sockaddr.</div><div class='del'>-	  (sock_s_unpack_sockaddr_un): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 23:55:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (addrinfo_ip_unpack): new method</div><div class='del'>-	  AddrInfo#ip_unpack.</div><div class='del'>-	  (addrinfo_unix_path): new method AddrInfo#unix_path.</div><div class='del'>-	  (Init_socket): define above methods.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 23:31:42 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (IS_IP_FAMILY): defined.</div><div class='del'>-	  (addrinfo_ip_p): use it.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 17:23:05 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_nothing_raised): removes the</div><div class='del'>-	  current trace to get rid of an issue of MiniTest::Unit#location.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 16:49:20 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install): erased a garbage.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 16:45:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (open_dir_handle): extracted from rb_w32_opendir.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (winnt_stat): gets rid of strange behavior of</div><div class='del'>-	  GetFileAttributes().  [ruby-core:21269]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 12:43:55 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args, install): added --strip option.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install_recursive): skips the directory if matched</div><div class='del'>-	  to a no_install pattern ending with a file separator.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 12:33:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: don't use bytesize because 1.9 dependent.</div><div class='del'>-	  [ruby-core:21266]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 11:59:19 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xmalloc, ruby_xrealloc, ruby_xfree):</div><div class='del'>-	  enable to use them without GVL.</div><div class='del'>-	  if GC is invoked, acquire GVL during GC.</div><div class='del'>-	  if NoMemoryError is raised, acquire GVL and raise it.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 10:39:19 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: fix comment (terminology: Global VM Lock).</div><div class='del'>-</div><div class='del'>-	* thread.c (blocking_region_begin, blocking_region_end):</div><div class='del'>-	  save and clear th-&gt;blocking_region_buffer.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_with_gvl): check if it has GVL.</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_thread_has_gvl_p): added.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add decls.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 10:21:11 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove unused decl.</div><div class='del'>-</div><div class='del'>-Sun Jan 11 16:53:14 2009  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (PercentScanner): remove PercentScanner. fixed % after</div><div class='del'>-	  %&gt; bug. [ruby-dev:37751] [Bug #997]</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb: ditto</div><div class='del'>-</div><div class='del'>-Sun Jan 11 09:53:01 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (c_str): get rid of a 1.9 feature for</div><div class='del'>-	  cross compile.  [ruby-core:21243]</div><div class='del'>-</div><div class='del'>-Sun Jan 11 09:47:30 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): set nil as the value if assoc length</div><div class='del'>-	  is not enough.  [ruby-core:21249]</div><div class='del'>-</div><div class='del'>-Sat Jan 10 21:17:28 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: don't generate unintended newlines.</div><div class='del'>-</div><div class='del'>-Sat Jan 10 20:50:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: refactored to nest properly in statically</div><div class='del'>-	  and dynamically.</div><div class='del'>-</div><div class='del'>-Sat Jan 10 20:26:17 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: make version string succinct:</div><div class='del'>-	  "ruby 1.9.1p5000 (2009-01-10 trunk 21414) [i686-linux]".</div><div class='del'>-</div><div class='del'>-Sat Jan 10 19:05:13 2009  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_1): should not be inlined.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 21:52:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_define_const): use INT2NUM.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 15:40:07 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define macro if default_value is passed.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 13:20:08 2009  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: rescue abnormal Encoding.locale_charmap value.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 12:29:46 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (test-sample), rubytest.rb: use runruby.rb</div><div class='del'>-</div><div class='del'>-Fri Jan  9 10:40:52 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess::MANDATORY_ENVS): some</div><div class='del'>-	  platforms need environments for shared objects.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 23:19:38 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_shutdown): accept symbol/string as how.</div><div class='del'>-	  (shutdown_how_arg): new function.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate shutdown_how_to_int.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 23:16:37 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: easy code contains fewer bugs.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 22:59:30 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (gen_name_to_int_func): generate</div><div class='del'>-	  name_to_int functions, not only body.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 22:44:10 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: don't use AI_NUMERICSERV for platforms which</div><div class='del'>-	  not define it as old Windows.</div><div class='del'>-	  [ruby-dev:37736]</div><div class='del'>-</div><div class='del'>-Thu Jan  8 17:32:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: should not depend on a library which does not exist</div><div class='del'>-	  in 1.8.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 07:52:55 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_unix_addrinfo): don't return a value.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 07:30:52 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.redirectable?): reverted https redirection.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 00:31:58 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_no_match): don't count up as two</div><div class='del'>-	  assertions.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 00:26:35 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (addrinfo_getnameinfo): use NI_DGRAM if socktype</div><div class='del'>-	  is SOCK_DGRAM.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 00:16:22 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (host_str): add flags_ptr argument to specify</div><div class='del'>-	  AI_NUMERICHOST if host is numeric form.</div><div class='del'>-	  (port_str): add flags_ptr argument to specify AI_NUMERICSERV if port</div><div class='del'>-	  is numeric form.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 22:24:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rb_cAddrInfo): new class AddrInfo.</div><div class='del'>-	  (s_recvfrom): return AddrInfo as address.</div><div class='del'>-	  (s_recvfrom_nonblock): ditto.</div><div class='del'>-	  (sock_accept): ditto.</div><div class='del'>-	  (sock_accept_nonblock): ditto.</div><div class='del'>-	  (sock_sysaccept): ditto.</div><div class='del'>-	  (bsock_send): accept AddrInfo as address argument.</div><div class='del'>-	  (sock_connect): ditto.</div><div class='del'>-	  (sock_connect_nonblock): ditto.</div><div class='del'>-	  (sock_bind): ditto.</div><div class='del'>-	  (sock_s_unpack_sockaddr_in): ditto.</div><div class='del'>-	  (sock_s_unpack_sockaddr_un): ditto.</div><div class='del'>-	  (bsock_local_address): new method BasicSocket#local_address.</div><div class='del'>-	  (bsock_remote_address): new method BasicSocket#remote_address.</div><div class='del'>-	  (addrinfo_initialize): new method AddrInfo#initialize.</div><div class='del'>-	  (addrinfo_inspect): new method AddrInfo#inspect.</div><div class='del'>-	  (addrinfo_afamily): new method AddrInfo#afamily.</div><div class='del'>-	  (addrinfo_pfamily): new method AddrInfo#pfamily.</div><div class='del'>-	  (addrinfo_socktype): new method AddrInfo#socktype.</div><div class='del'>-	  (addrinfo_protocol): new method AddrInfo#protocol.</div><div class='del'>-	  (addrinfo_to_sockaddr): new method AddrInfo#to_sockaddr.</div><div class='del'>-	  (addrinfo_canonname): new method AddrInfo#canonname.</div><div class='del'>-	  (addrinfo_ip_p): new method AddrInfo#ip?.</div><div class='del'>-	  (addrinfo_ipv4_p): new method AddrInfo#ipv4?.</div><div class='del'>-	  (addrinfo_ipv6_p): new method AddrInfo#ipv6?.</div><div class='del'>-	  (addrinfo_unix_p): new method AddrInfo#unix?.</div><div class='del'>-	  (addrinfo_getnameinfo): new method AddrInfo#getnameinfo.</div><div class='del'>-	  (addrinfo_s_getaddrinfo): new method AddrInfo.getaddrinfo.</div><div class='del'>-	  (addrinfo_s_tcp): new method AddrInfo.tcp.</div><div class='del'>-	  (addrinfo_s_udp): new method AddrInfo.udp.</div><div class='del'>-	  (addrinfo_s_unix): new method AddrInfo.unix.</div><div class='del'>-	  (Init_socket): define new class and methods.</div><div class='del'>-	  (sock_getaddrinfo): apply socktype hack regardless of ai_flags.</div><div class='del'>-	  (addrinfo_new): defined.</div><div class='del'>-	  (get_afamily): ditto.</div><div class='del'>-	  (fd_socket_addrinfo): ditto.</div><div class='del'>-	  (io_socket_addrinfo): ditto.</div><div class='del'>-	  (SockAddrStringValue): ditto.</div><div class='del'>-	  (SockAddrStringValuePtr): ditto.</div><div class='del'>-	  (sockaddr_string_value): ditto.</div><div class='del'>-	  (sockaddr_string_value_ptr): ditto.</div><div class='del'>-	  (rb_addrinfo_t): ditto.</div><div class='del'>-	  (addrinfo_mark): ditto.</div><div class='del'>-	  (addrinfo_free): ditto.</div><div class='del'>-	  (addrinfo_s_allocate): ditto.</div><div class='del'>-	  (IS_ADDRINFO): ditto.</div><div class='del'>-	  (check_addrinfo): ditto.</div><div class='del'>-	  (get_addrinfo): ditto.</div><div class='del'>-	  (alloc_addrinfo): ditto.</div><div class='del'>-	  (init_addrinfo): ditto.</div><div class='del'>-	  (addrinfo_new): ditto.</div><div class='del'>-	  (call_getaddrinfo): ditto.</div><div class='del'>-	  (init_addrinfo_getaddrinfo): ditto.</div><div class='del'>-	  (make_inspectname): ditto.</div><div class='del'>-	  (addrinfo_firstonly_new): ditto.</div><div class='del'>-	  (addrinfo_list_new): ditto.</div><div class='del'>-	  (init_unix_addrinfo): ditto.</div><div class='del'>-	  (ai_get_afamily): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate intern_protocol_family,</div><div class='del'>-	  intern_socktype and intern_ipproto.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:37692]</div><div class='del'>-</div><div class='del'>-Wed Jan  7 22:13:03 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (man, gem): fixed errors.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 17:14:40 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: use installed libraries.  [ruby-core:21006]</div><div class='del'>-</div><div class='del'>-	* instruby.rb (gem), lib/rubygems/defaults.rb (Gem.default_dir):</div><div class='del'>-	  use version invariant configuration.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 19:09:51 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_0): streamlined to ensure O(1) time.  based on</div><div class='del'>-	  a patch by Brent Roman &lt;brent AT mbari.org&gt;.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 00:34:25 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_close_before_exec): more heuristics to detect maximum fd.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 17:59:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (cygwin): needs properly implemented nl_langinfo().</div><div class='del'>-	  [ruby-core:21110]</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c: added as suggested at [ruby-core:21015], from</div><div class='del'>-	  http://www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c.</div><div class='del'>-</div><div class='del'>-	* missing/langinfo.c (nl_langinfo_0): fixed typos for SJIS.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 17:38:40 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): use GetConsoleCP() instead of</div><div class='del'>-	  GetACP() because external encoding should be console's one.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): use GetOEMCP() instead of</div><div class='del'>-	  GetACP() because VFAT/FAT32 uses OEM CP.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 16:26:48 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): use ANSI codepage for file</div><div class='del'>-	  system on cygwin.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): reverted.  [ruby-core:21110]</div><div class='del'>-</div><div class='del'>-Mon Jan  5 16:15:00 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (free_window): use xfree instead of free.</div><div class='del'>-	  [ruby-dev:37200]</div><div class='del'>-</div><div class='del'>-Mon Jan  5 15:49:45 2009  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (rb_gdbm_fetch): remove needless cast.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 12:52:08 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): use user profile folder than personal</div><div class='del'>-	  folder.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 08:41:13 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_stat): need type check for non string values.</div><div class='del'>-	  [ruby-dev:37673]  fix: #964</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_size, rb_file_s_atime, rb_file_s_mtime,</div><div class='del'>-	  rb_file_s_ctime, rb_f_test): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 08:17:56 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): should not add up errors on loops.</div><div class='del'>-	  [ruby-dev:37691]</div><div class='del'>-</div><div class='del'>-Mon Jan  5 07:58:37 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_srand): update RDoc.  [ruby-core:21113]</div><div class='del'>-</div><div class='del'>-Mon Jan  5 06:39:56 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_max): max value from ... not defined for non</div><div class='del'>-	  Integer Numeric end values. [ruby-dev:37690] fix: #974</div><div class='del'>-</div><div class='del'>-Sun Jan  4 22:37:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rb_getaddrinfo): defined for address lookup without GVL.</div><div class='del'>-	  (struct getaddrinfo_arg): defined.</div><div class='del'>-	  (nogvl_getaddrinfo): defined.</div><div class='del'>-	  (rb_getnameinfo): defined for name lookup without GVL.</div><div class='del'>-	  (getnameinfo_arg): defined.</div><div class='del'>-	  (nogvl_getnameinfo): defined.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 18:10:10 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/gbk.trans, gbk-tbl.rb:</div><div class='del'>-	  new Chinese GBK transcoding (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Sun Jan  4 17:55:55 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for GB2312</div><div class='del'>-	  (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* enc/trans/chinese.trans: set valid byte patterns for</div><div class='del'>-	  GB2312 and GB12345</div><div class='del'>-</div><div class='del'>-Sun Jan  4 17:39:39 2009  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/big5.trans, big5-tbl.rb:</div><div class='del'>-	  new Chinese Big5 transcoding (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Sun Jan  4 17:07:45 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.set_home, Gem.set_paths): should not create</div><div class='del'>-	  directories stealthily.  [ruby-core:20990]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.find_home): expand_path deals with platform</div><div class='del'>-	  dependent environments.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::HOMEDIR): ditto.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (gem): creates gem directories at installation.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 15:41:37 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding, rb_locale_charmap): uses</div><div class='del'>-	  codepage on cygwin.  [ruby-core:20994]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 11:58:43 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): extracted from num_step().</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): uses ruby_float_step() for float range.</div><div class='del'>-	  [ruby-dev:37691]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 11:11:31 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): does not use both of makefile.rb and</div><div class='del'>-	  extconf.rb at the same time.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (DLLIB): depends on Makefile.  [ruby-core:21096]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 09:27:41 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (constant_arg): constified.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (optname_arg): cygwin does not have</div><div class='del'>-	  IPPROTO_IPV6.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (ipv6_optname_to_int): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 04:33:14 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: redundant #ifdef removed.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 03:30:18 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (maygvl_copy_stream_wait_read): renamed to add prefix to</div><div class='del'>-	  express GVL state.</div><div class='del'>-	  (nogvl_copy_stream_wait_write): ditto.</div><div class='del'>-	  (nogvl_copy_stream_sendfile): ditto.</div><div class='del'>-	  (maygvl_copy_stream_read): ditto.</div><div class='del'>-	  (nogvl_copy_stream_write): ditto.</div><div class='del'>-	  (nogvl_copy_stream_read_write): ditto.</div><div class='del'>-	  (nogvl_copy_stream_func): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 00:30:50 2009  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: merged r20850, r17881, r16811, r16763, r16748, r15829,</div><div class='del'>-	  r15794 and r15698 from ruby_1_8.</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 22:24:36 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in, win32/Makefile.sub (INSNS): move the macro</div><div class='del'>-	  definition from common.mk to {Makefile.in,win32/Makefile.sub}.</div><div class='del'>-	  [ruby-dev:37678]</div><div class='del'>-</div><div class='del'>-Sat Jan  3 15:30:09 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/chinese.trans: added for transcoding EUC-CN and GB12345.</div><div class='del'>-</div><div class='del'>-	* enc/trans/GB/: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 15:26:30 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/euc-cn.c: renamed from gb2312.c because GB2312 is</div><div class='del'>-	  the name of a CSS.  it's encoding name is "EUC-CN".</div><div class='del'>-</div><div class='del'>-Sat Jan  3 03:00:42 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in, win32/Makefile.sub ($(INSNS), node_name.inc,</div><div class='del'>-	  known_errors.inc, miniprelude.c, newline.c): move rules from common.mk</div><div class='del'>-	  to {Makefile.in,win32/Makefile.sub} for nmake.</div><div class='del'>-	  [ruby-core:20993]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 23:51:41 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sleep.rb (test_sleep_5sec): stop gc.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 23:36:10 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: don't apply socktype hack [ruby-core:184] for</div><div class='del'>-	  sock_s_getaddrinfo.</div><div class='del'>-	  (sock_getaddrinfo): add socktype_hack argument.</div><div class='del'>-	  (sock_addrinfo): call sock_getaddrinfo with socktype_hack.</div><div class='del'>-	  (sock_s_getaddrinfo): call sock_getaddrinfo without socktype_hack.</div><div class='del'>-	  [ruby-dev:37674]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 23:33:38 2009  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h, sprintf.c: get rid of a warning of VC++.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 22:25:46 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: use sigaction instead of sigset.  [ruby-core:21021]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 22:22:04 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: suppress error message.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 22:20:46 2009  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_wait_and_sigchild): remove debug</div><div class='del'>-	  output.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 17:45:19 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: rename family_to_str to intern_family.</div><div class='del'>-	  it returns ID now.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ipaddr): use intern_family.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 17:20:31 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: use ID in the values of</div><div class='del'>-	  family_to_str_hash.  family_to_str returns a VALUE.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ipaddr): follow family_to_str change.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 17:01:51 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: refactored to gather stringizer</div><div class='del'>-	  description.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 15:30:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: make common prefix optional.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 14:59:52 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: use hash for family_to_str to avoid</div><div class='del'>-	  linear search.  lenp argument removed.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ipaddr): call family_to_str without lenp</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 14:33:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (gen_int_to_name): don't compare constants</div><div class='del'>-	  in preprocessor because the constants may be enum.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 14:11:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ipaddr): follow argument change.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 10:20:24 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb: fix documentation. [ruby-core:21038]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 06:43:58 2009  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_signal_buff_size): defined for check whether signal</div><div class='del'>-	  is in the buffer or not.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): don't exit the loop when signal</div><div class='del'>-	  is in the buffer. [ruby-dev:37637]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 04:40:00 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: check duplicates.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 02:39:08 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (optname_arg): defined.</div><div class='del'>-	  (bsock_setsockopt): use optname_arg.</div><div class='del'>-	  (bsock_getsockopt): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate so_optname_to_int,</div><div class='del'>-	  ip_optname_to_int, ipv6_optname_to_int, tcp_optname_to_int and</div><div class='del'>-	  udp_optname_to_int.</div><div class='del'>-	  more constants.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 02:08:36 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (constant_arg): extracted from family_arg.</div><div class='del'>-	  (family_arg): use constant_arg.</div><div class='del'>-	  (socktype_arg): ditto.</div><div class='del'>-	  (level_arg): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 01:15:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (level_arg): defined.</div><div class='del'>-	  (bsock_setsockopt): use level_arg.</div><div class='del'>-	  (bsock_getsockopt): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate level_to_int.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 00:58:40 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (family_arg): accept symbols as well.</div><div class='del'>-	  (socktype_arg): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 00:49:44 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getaddrinfo): use socktype_arg.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 00:12:27 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (family_arg): extracted from</div><div class='del'>-	  setup_domain_and_type.</div><div class='del'>-	  (socktype_arg): ditto.</div><div class='del'>-	  (udp_init): use family_arg.</div><div class='del'>-	  (sock_s_gethostbyaddr): ditto.</div><div class='del'>-	  (sock_s_getaddrinfo): ditto.</div><div class='del'>-	  (sock_s_getnameinfo): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 22:27:55 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: fix for builddir != srcdir</div><div class='del'>-</div><div class='del'>-	* Makefile.in: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 21:26:05 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 21:08:34 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: check all alias possibility.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 20:59:55 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: more possible aliases.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 20:54:02 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: AF_ISO and AF_OSI may be aliased.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 20:50:09 2009  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_exec): it makes no sense for a conditional</div><div class='del'>-	  expression to return a void value.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 20:47:09 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getaddrinfo): use family_to_int.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 20:17:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: include constants.h at top.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 19:53:33 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: add valp argument for family_to_int and</div><div class='del'>-	  socktype_to_int.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setup_domain_and_type): use valp argument.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 19:36:57 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate family_to_str.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ipaddr): use family_to_str.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 17:37:12 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate socktype_to_int.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setup_domain_and_type): use socktype_to_int.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 17:26:47 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setup_domain_and_type): initialize ptr.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 17:01:50 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: refine family_to_int.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 16:48:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate family_to_int().</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setup_domain_and_type): use family_to_int.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 15:08:46 2009  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: supports git repositories which are cloned</div><div class='del'>-	  from a git-svn gateway.</div><div class='del'>-	  Patch by Hongli Lai. [ruby-core:21020]</div><div class='del'>-</div><div class='del'>-Thu Jan  1 16:08:11 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: generate init_constants function.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): call init_constants.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 16:03:04 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (Socket::AF_INET6): moved from socket.c.</div><div class='del'>-	  (Socket::PF_INET6): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 15:27:07 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: use erb.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 15:07:56 2009  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: add -o option.</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: use mkconstants.rb with -o option.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 07:42:36 2009  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb: fix indentation of RDoc text.  [ruby-core:21029]</div><div class='del'>-</div><div class='del'>-Thu Jan  1 07:16:44 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (distclean-ext, realclean-ext): use EXTS as default.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (distclean-ext, realclean-ext): try to remove ext</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 06:56:28 2009  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: unset PWD.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 23:37:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_socketpair): yield if a block is given.</div><div class='del'>-	  (io_call_close): defined.</div><div class='del'>-	  (io_close): defined.</div><div class='del'>-	  (pair_yield): defined.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 19:35:57 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/README: follows the change of directory structure in rubyspec.</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: ditto. Also follows change of mspec command.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 17:16:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): show openssl error</div><div class='del'>-	  code in EWOULDBLOCK error.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 15:45:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): don't check to_io because</div><div class='del'>-	  Zlib::GzipWriter#to_io returns the underlying IO.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 14:52:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c (GetDigestPtr): use StringValueCStr</div><div class='del'>-	  instead of STR2CSTR.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize): ditto.</div><div class='del'>-	  (ossl_ec_group_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 14:12:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_to_float): replaced by to_flo definition from</div><div class='del'>-	  math.c  [ruby-dev:37668]</div><div class='del'>-</div><div class='del'>-	* math.c (Need_Float): use rb_to_float().</div><div class='del'>-</div><div class='del'>-Wed Dec 31 13:49:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#read_nonblock):</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (rb_sys_fail_path): removed.</div><div class='del'>-	  (fcntl.h): don't include.</div><div class='del'>-	  (ossl_ssl_read_internal): defined.</div><div class='del'>-	  (ossl_ssl_read): use ossl_ssl_read_internal.</div><div class='del'>-	  (ossl_ssl_read_nonblock): use ossl_ssl_read_internal.</div><div class='del'>-	  (Init_ossl_ssl): define sysread_nonblock, instead of read_nonblock.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 00:27:54 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_to_float): prohibit conversion from nil to float.</div><div class='del'>-	  [ruby-dev:37663]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): replace all rb_Float() to rb_to_float().</div><div class='del'>-	  [ruby-dev:37663]</div><div class='del'>-</div><div class='del'>-Tue Dec 30 21:17:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: use sock_define_uconst for INADDR_*</div><div class='del'>-	  constants because Socket::INADDR_LOOPBACK should be 0x7f000001</div><div class='del'>-	  instead of -0xffffff.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_define_uconst): defined.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 18:23:10 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.3.1 r4506.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 17:59:59 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: Minor fixes and tweaks in documentation.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 17:03:51 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_import.rb: fix a prototype decl.</div><div class='del'>-	  pointed out by Takehiro Kubo [ruby-core:20971].</div><div class='del'>-</div><div class='del'>-Tue Dec 30 16:56:09 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): add a comment.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_without_gvl): added as a alias of</div><div class='del'>-	  rb_thread_blocking_region().</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_with_gvl): added.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_t#blocking_region_buffer): added for</div><div class='del'>-	  rb_thread_call_with_gvl().</div><div class='del'>-</div><div class='del'>-Mon Dec 29 23:41:42 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_base.rb: add libc search logic.</div><div class='del'>-	  this patch is written by Takehiro Kubo.</div><div class='del'>-	  [ruby-core:20963] [Bug #932]</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h: Add ",..." as the last argument.</div><div class='del'>-	  this patch is written by Takehiro Kubo.</div><div class='del'>-	  Bug #633 [ruby-core:19289]</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/stack.rb: add add_padding() to calculate</div><div class='del'>-	  alignment.  this patch is written by Takehiro Kubo.</div><div class='del'>-	  Bug #633 [ruby-core:19289]</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_func.rb: atof()'s return value is double.</div><div class='del'>-	  this patch is written by Takehiro Kubo.</div><div class='del'>-	  Bug #633 [ruby-core:19289]</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_import.rb:</div><div class='del'>-	  - atof()'s return value is double.</div><div class='del'>-	  - The types of qsort's second and third argument are size_t.</div><div class='del'>-	  - fprintf()'s return value is int.</div><div class='del'>-	  this patch is written by Takehiro Kubo.</div><div class='del'>-	  Bug #633 [ruby-core:19289]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 22:37:17 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): retries waitpid when EINTR.</div><div class='del'>-	  [ruby-core:19744].</div><div class='del'>-</div><div class='del'>-Mon Dec 29 23:18:52 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): changed an error message.</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_strict): ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_strict): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 22:37:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): template f should not accept non float</div><div class='del'>-	  values.  [ruby-dev:37656]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_to_float): new function to type check floats.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 22:27:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_rand): type check simplified.  strings are no</div><div class='del'>-	  longer allowed for argument.  [ruby-dev:37655]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb (TestRand::o.to_int): need override</div><div class='del'>-	  to_int.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 21:22:31 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Infinity.numerator returns self. [experimental]</div><div class='del'>-</div><div class='del'>-	* numeric.c: Infinity.denominator returns 1. [experimental]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 20:57:14 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/ri.1: new manpage.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 20:45:25 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: floor, ceil, truncate and round accept an extra</div><div class='del'>-	  argument like Float#round. [experimental]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 18:24:49 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (distclean-local): removes Doxyfile and</div><div class='del'>-	  run.gdb at distclean'ing.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 17:53:24 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb: accepts options in more flexible styles.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 17:25:17 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB): m17n of ERB. adds rdoc.</div><div class='del'>-	  fixes #712. c.f. [ruby-dev:37516].</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler#compile): recognizes magic comments.</div><div class='del'>-	  returns a pair of compiled script and its script encoding.</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#set_eoutvar): make generated scripts return a</div><div class='del'>-	  string in correct encoding.</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#def_method): use Kernel#eval for encoding-awareness</div><div class='del'>-	  of the evaluated string.</div><div class='del'>-</div><div class='del'>-	* bin/erb.rb (ERB::Main.run): adds -E and -U options.</div><div class='del'>-	  String is no longer Enumerable.</div><div class='del'>-</div><div class='del'>-	* man/erb.1: new manpage.</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb_m17n.rb: new test case for m17n features.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 18:02:45 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_nread): returns number of bytes available</div><div class='del'>-	  for read.  response to feature request #936 in [ruby-core:20917].</div><div class='del'>-</div><div class='del'>-Mon Dec 29 17:52:16 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_ready_p): updated to follow RDoc.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 16:52:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recvfrom_nonblock): revert r21162.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 16:16:20 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_set_eval_stack, vm_set_main_stack, vm_set_top_stack):</div><div class='del'>-	  check stack overflow.  [ruby-dev:37646]</div><div class='del'>-</div><div class='del'>-Sun Dec 28 18:36:33 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_command.rb</div><div class='del'>-	  (test_add_option_overlapping_common_and_local_options):</div><div class='del'>-	  follows r21066.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 14:50:19 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ext-clean): ext-clean always fails.</div><div class='del'>-</div><div class='del'>-	* ext/dl/ripper/extconf.rb: adds y.output into the clean list.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 11:58:39 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_trylock): return false if Mutex owned</div><div class='del'>-	  by current thread.  [ruby-core:20943]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_lock): check dead lock (recursive lock) here.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: add a test.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 10:58:54 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path): move encoding conversion of file path</div><div class='del'>-	  from rb_scan_open_args.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 07:15:16 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: small RDoc fix mentioned from &lt;radek.bulat at gmail.com&gt;</div><div class='del'>-	  in [ruby-core:20921].</div><div class='del'>-</div><div class='del'>-Mon Dec 29 03:43:25 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set th-&gt;base_block only while</div><div class='del'>-	  it is needed.  [ruby-dev:37634] [Bug #939]</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): clear th-&gt;base_block before</div><div class='del'>-	  require libraries.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 21:33:52 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ext/dl/test_base.rb: add BSD's case.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 21:09:12 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/import.rb (DL::Importer#sizeof): follows</div><div class='del'>-	  a feature change in 1.9.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 21:03:07 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/import.rb (DL::Importer#extern): adds filename and</div><div class='del'>-	  line number to module_eval'ing for readability of backtrace.</div><div class='del'>-	  (DL::Importer#bind): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb (DL::CStructBuilder#create): ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 19:11:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): do not use snprintf/vsnprintf in</div><div class='del'>-	  msvcrt.</div><div class='del'>-</div><div class='del'>-	* sprintf.c: not force to override snprintf/vsnprintf.</div><div class='del'>-	  [ruby-core:20824]</div><div class='del'>-</div><div class='del'>-Sun Dec 28 17:21:36 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_ext_configure_builder.rb (test_self_build_fail):</div><div class='del'>-	  Extends pattern for FreeBSD's error message.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 17:10:13 2008  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_dl2.rb: modify strncpy, strcpy, qsort, types.</div><div class='del'>-	  Patch by Takehiro Kubo.</div><div class='del'>-	  Bug #633 [ruby-core:19289]</div><div class='del'>-	* ext/dl/test/test_base.rb: /lib/libc.so is x86_64 binary in x86_64 architecture.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 12:53:10 2008  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_base.rb: use libc.dylib when the platform is darwin.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 12:24:14 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_free, mutex_unlock): add qualifiers.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 10:28:04 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_free): GC thread (main thread) has failed to unlock</div><div class='del'>-	  a mutex that is locked by another thread, which makes the mutex</div><div class='del'>-	  dangling in keeping_mutexes and causes [BUG] or stuck finally.</div><div class='del'>-	  Now unlocking is performed as locking thread.</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_unlock, rb_mutex_unlock, rb_mutex_unlock_all):</div><div class='del'>-	  mutex_unlock receives a thread.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 05:44:44 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.3.1 r4505.</div><div class='del'>-	* test/minitest/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 00:43:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: refactored to modify ENV as once.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 22:41:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_info_formatting.rb (setup, teardown): uses</div><div class='del'>-	  mktmpdir and removes it after the test.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_session.rb (setup, teardown): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 21:46:10 2008  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_base.rb: use lib64 when the architecture is x86_64.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 20:26:59 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_argv_size): if an argument is empty, it's size</div><div class='del'>-	  is 2, not 0, because it will be converted to "".</div><div class='del'>-</div><div class='del'>-Sat Dec 27 19:40:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (after_exec): needs to reset before restart timer</div><div class='del'>-	  thread.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): stops timer thread if forked in</div><div class='del'>-	  the new thread.   [ruby-core:19385]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): DRY.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 18:25:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_loop): return enumerator if no block given.</div><div class='del'>-	  [ruby-list:45747]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 17:08:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (dummy_gdb_enums.special_consts): forces to load debug</div><div class='del'>-	  info on Mac OS X.</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): added T_ZOMBIE.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 16:18:02 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_frame_callee, rb_frame_caller): rb_frame_callee()</div><div class='del'>-	  should return method id on current frame.</div><div class='del'>-	  add rb_frame_caller() to get method id on parent frame.</div><div class='del'>-	  Bug #884 [ruby-dev:37446]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_method_name): use rb_frame_caller()</div><div class='del'>-	  instead of rb_frame_callee().</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:28:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): show source and destination</div><div class='del'>-	  encoding.  [ruby-dev:37285]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:23:38 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_with_cfunc): rename parameter name</div><div class='del'>-	  "blockptr" to "blockargptr".</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:15:56 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (revision.h): ignores failure of file2lastrev.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:02:38 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): fix to untouch th-&gt;mild_compile_error.</div><div class='del'>-	  [ruby-dev:37621], [ruby-dev:37620]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 14:48:26 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h, iseq.c (rb_iseq_new_main): add a type ISEQ_TYPE_MAIN.</div><div class='del'>-	  [ruby-dev:37619]</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_dvar_defined, ruby_iseq_compile): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary, iseq_load): ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix to check ip-&gt;compile_data.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 14:29:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.redirectable?): permit https redirection.</div><div class='del'>-	  patch from Roman Shterenzon.  [ruby-core:20485]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 13:36:55 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (get_errinfo): return th-&gt;errinfo value</div><div class='del'>-	  if normal errinfo place (dynamic local variable) is not found.</div><div class='del'>-	  fixes Bug #732 [ruby-dev:37046].</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 13:10:43 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/irb.1: adds -v, -h, -E and -U.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 11:41:45 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method, vm_call_cfunc): use original id instead of</div><div class='del'>-	  calling id when NODE_CFUNC or NODE_BMETHOD.</div><div class='del'>-	  fixes Bug #632 [ruby-core:19282].</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0, vm_call_super): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method, rb_alias): store original id</div><div class='del'>-	  in nd_file field of NODE_METHOD.</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 09:48:54 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): create and define TOPLEVEL_BINDING at first.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_set_main_stack, rb_iseq_eval_main): added.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_compile_file): fix to check parse_in_eval flag.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_node): use rb_iseq_eval_main()</div><div class='del'>-	  instead of rb_iseq_eval().</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_new_main), vm_core.h: added.</div><div class='del'>-	  main script (specified by -e or script name) should be run</div><div class='del'>-	  under TOPLEVEL_BINDING using Kernel#eval.  Above changes</div><div class='del'>-	  simulate Kernel#eval behaviour.  [ruby-dev:37240]</div><div class='del'>-</div><div class='del'>-	* compile.c (make_name_for_block): skip iseq except block type.</div><div class='del'>-	  this fix is needed for [ruby-dev:37240], and also fixes</div><div class='del'>-	  [ruby-dev:35392].</div><div class='del'>-</div><div class='del'>-Sat Dec 27 09:14:17 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: rdoc for Fiber. patch by Muhammad Ali.</div><div class='del'>-	  [ruby-core:20894]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 05:38:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (after_fork): ignores a termination request in the</div><div class='del'>-	  parent process.  [ruby-dev:37447]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 01:52:39 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Using a more robust transcoding scheme to produce</div><div class='del'>-	  ASCII compatible inspect() messages.  [ruby-dev:37591]</div><div class='del'>-</div><div class='del'>-Fri Dec 26 18:04:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): don't allocate objects if noraise.</div><div class='del'>-	  (finish_writeconv): add noalloc argument to be able to avoid</div><div class='del'>-	  object allocation.</div><div class='del'>-	  (finish_writeconv_arg): introduced again.</div><div class='del'>-	  (finish_writeconv_sync): follow the above change.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 17:04:14 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb (IRB::StdioInputMethod#initialize):</div><div class='del'>-	  removed a 'p' for debugging.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 15:50:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::List#summarize): gives priority</div><div class='del'>-	  to latter switches.  [ruby-dev:36692]</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#summarize): do not append</div><div class='del'>-	  unnecessary line terminator.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 14:01:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): close the IO object even if finish_writeconv or</div><div class='del'>-	  flush is failed.</div><div class='del'>-	  (finish_writeconv): don't raise.  return errno or exception.</div><div class='del'>-	  (finish_writeconv_arg): removed.</div><div class='del'>-	  (finish_writeconv_sync): follow finish_writeconv change.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_make_exception): new function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_make_exception): declared.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 20:57:01 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): set encoding when String#encode was</div><div class='del'>-	  given explicit but the same destination and source encoding.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 20:01:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): unused variable removed.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 19:35:51 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (sym_ignore): remove useless symbol.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 18:36:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_close): removed.</div><div class='del'>-	  (pipe_yield): defined.</div><div class='del'>-	  (rb_io_s_pipe): use pipe_yield.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 17:49:45 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (decorate_convpath): show type of escaping for</div><div class='del'>-	  xml_attr_quote or some conversions.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 17:06:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): check fd validity.  [ruby-dev:36646]</div><div class='del'>-</div><div class='del'>-Thu Dec 25 16:23:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (flush_before_seek): check io_fflush result.</div><div class='del'>-	  (rb_io_check_readable): ditto.</div><div class='del'>-	  (rb_io_flush): ditto.</div><div class='del'>-	  (rb_io_fsync): ditto.</div><div class='del'>-	  (remain_size): ditto.</div><div class='del'>-	  (rb_io_write_nonblock): ditto.</div><div class='del'>-	  (finish_writeconv): ditto.</div><div class='del'>-	  (fptr_finalize): ditto.</div><div class='del'>-	  (io_reopen): ditto.</div><div class='del'>-	  (rb_io_reopen): ditto.</div><div class='del'>-	  (copy_stream_body): ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 15:54:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): flush write buffer without write lock in</div><div class='del'>-	  finalizers.  [ruby-dev:37572]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_finalize): clear write lock before finalizing.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 15:07:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): close the IO object even if close(2) is failed.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 14:51:43 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc::Parser.binary?): should read in binary mode.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 14:32:23 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_search): fix control flow bug.</div><div class='del'>-	  (committed at r20981)</div><div class='del'>-</div><div class='del'>-Thu Dec 25 13:28:20 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flush): fsync() after buffer is flushed on win32.</div><div class='del'>-	  [ruby-core:20043]</div><div class='del'>-</div><div class='del'>-Thu Dec 25 13:13:00 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_search): return rb_cObject if there is no</div><div class='del'>-	  super class.  [ruby-dev:37587]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 12:49:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): should use proc_dup() if block has Proc.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc_from_block): should use rb_cProc for block.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc): add an assertion.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 12:44:27 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_with_cfunc): check block has Proc.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 05:53:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl, id.h (ruby_method_ids): not depend on if</div><div class='del'>-	  token are defined as macros.  [ruby-dev:37553]</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl, id.h (ruby_method_ids_check): enclosed in a</div><div class='del'>-	  struct.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 01:52:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): sets native thread key.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 01:09:23 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline_history.rb: check the encoding that</div><div class='del'>-	  is in the Readline::HISTORY.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 00:59:06 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline_history.rb: did not check the</div><div class='del'>-	  encoding that is in the Readline::HISTORY. I will fix it.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 22:36:06 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c, vm_dump.c: change message by rb_bug().</div><div class='del'>-</div><div class='del'>-Wed Dec 24 21:57:39 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): fix typo.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 13:38:04 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): fix to point right cfp.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc, vm_make_proc_from_block), vm_core.h:</div><div class='del'>-	  remove unused parameter cfp.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, proc.c (proc_new): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 20:59:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): == method should not raise Exception.</div><div class='del'>-	  [ruby-dev:37519]</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: fix test.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 20:33:45 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): use class of method defined</div><div class='del'>-	  instead of receiver's class on bmethod.  fixes [ruby-core:20786]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setup_method): remove unused parameter klass.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (CALL_METHOD): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def, vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 20:15:50 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (get_revisions): fix to ignore end of line.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 13:33:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_LONG_LONG, HAVE_OFF_T): revised for autoconf</div><div class='del'>-	  2.62 or later.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 06:29:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (OBJDUMP, OBJCOPY): autoconf list is not comma</div><div class='del'>-	  separated.</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_HEADER_STDC, AC_CHECK_HEADERS, AC_CHECK_FUNCS):</div><div class='del'>-	  removed duplicated checks.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 03:21:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: added comment to mention newer version</div><div class='del'>-	  bundled with Emacs 23 or later.  a patch from Phil Hagelberg</div><div class='del'>-	  &lt;phil at hagelb.org&gt; in [ruby-core:20838].</div><div class='del'>-</div><div class='del'>-Tue Dec 23 23:49:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_init_copy): call io_seek only if io_tell succeeds.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 22:57:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): don't propagate an error message if error</div><div class='del'>-	  buffer not given.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 21:55:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): propagate an error message from child to parent.</div><div class='del'>-	  (rb_f_exec): show details of error in child process on</div><div class='del'>-	  exception.</div><div class='del'>-	  (save_redirect_fd): add error message arguments.</div><div class='del'>-	  (run_exec_dup2): ditto.</div><div class='del'>-	  (run_exec_close): ditto.</div><div class='del'>-	  (run_exec_open): ditto.</div><div class='del'>-	  (run_exec_dup2_child): ditto.</div><div class='del'>-	  (run_exec_pgroup): ditto.</div><div class='del'>-	  (run_exec_rlimit): ditto.</div><div class='del'>-	  (rb_run_exec_options): ditto.</div><div class='del'>-	  (rb_exec): ditto.</div><div class='del'>-	  (rb_exec_atfork): ditto.</div><div class='del'>-	  (rb_spawn_internal): ditto.</div><div class='del'>-	  (rb_spawn): ditto.</div><div class='del'>-	  (rb_f_system): follow arguments change.</div><div class='del'>-	  (proc_daemon): ditto.</div><div class='del'>-	  (rb_f_spawn): show details of error in child process on exception.</div><div class='del'>-</div><div class='del'>-	* io.c (popen_exec): add error message arguments.</div><div class='del'>-	  (pipe_open): show details of error in child process on exception.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_run_exec_options): add error message</div><div class='del'>-	  arguments.</div><div class='del'>-	  (rb_exec): ditto.</div><div class='del'>-	  (rb_fork): ditto.</div><div class='del'>-	  (rb_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): add error message arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 20:28:28 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: rdoc for File::open and 1.9 feature in file modes.</div><div class='del'>-</div><div class='del'>-	* transcode.c: rdoc for String#encode</div><div class='del'>-</div><div class='del'>-Tue Dec 23 19:51:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): deals with quoted commands.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 18:44:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): use locale insensitive functions for tr_TR</div><div class='del'>-	  locale.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 17:38:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_equal): show small differences</div><div class='del'>-	  for Regexp and Float.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 16:49:48 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): support normal commands with arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 16:22:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_inspect): show fd number if there is no pathname.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 15:48:55 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: shouldn't use single quote in shell's command</div><div class='del'>-	  line if you want to support Windows.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 15:46:43 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: Math.sqrt(NaN) should be NaN. [ruby-dev:37537]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 15:46:47 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-	* gem_prelude.rb:  Match full RubyGems behavior when a gem can't be</div><div class='del'>-	  found.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 15:36:58 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: detects vcs directory properly on building</div><div class='del'>-	  outside of srcdir. [ruby-dev:37555] [ruby-dev:37561]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 15:30:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): need to initialize args.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 14:18:14 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: need to include defines.h because LONG_LONG is</div><div class='del'>-	  defined there.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 13:52:05 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/c.rb:  Don't coalesce adjacent comment blocks.</div><div class='del'>-	  [bug#901]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 12:00:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_close): fix coding style.  [ruby-dev:37554]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 08:10:05 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb: Fix documentation.  [bug#827]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 08:04:58 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: Don't remove methods twice.  [bug#555]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 00:16:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix buffer overflow.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 19:31:19 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (revision.h): uses tool/file2lastrev.rb to support</div><div class='del'>-	  git-svn.</div><div class='del'>-</div><div class='del'>-	* version.h: changed version string as</div><div class='del'>-	  `ruby 1.9.1 (2008-12-22 patchlevel-5000 trunk 20912)</div><div class='del'>-	  [i386-darwin9.6.0]'.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 16:32:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): encoding of packed string only from 'm',</div><div class='del'>-	  'M', and 'u' should be US-ASCII.  [ruby-dev:37284]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): encoding of packed string only from 'U'</div><div class='del'>-	  should be UTF-8.  also upgrade US-ASCII strings to UTF-8.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 15:56:49 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Doxyfile.in: new file. Template of a configuration file.</div><div class='del'>-	  Introduces C-level API reference generation with Doxygen.</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: wrapper script that abstracts subversion</div><div class='del'>-	  and git-svn.</div><div class='del'>-</div><div class='del'>-	* tool/strip-rdoc.rb: filter for preventing doxygen from processing</div><div class='del'>-	  rdoc comments.</div><div class='del'>-</div><div class='del'>-	* configure.in: (Doxyfile): Doxyfile is generated together with</div><div class='del'>-	  Makefile.</div><div class='del'>-	  (PACKAGE): configuration $(PACKAGE) is necessary for $(docdir).</div><div class='del'>-</div><div class='del'>-	* instruby.rb: adds a new install target 'capi'</div><div class='del'>-</div><div class='del'>-	* common.mk (capi): new target that generates C API documents with</div><div class='del'>-	  Doxygen.</div><div class='del'>-	  (install-capi): new target.</div><div class='del'>-	  (pre-install-capi): ditto.</div><div class='del'>-	  (do-install-capi): ditto.</div><div class='del'>-	  (post-install-capi): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 21:31:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_ord): Integer#ord implemented.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 21:26:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): IO.pipe can take a block.</div><div class='del'>-	  (pipe_close): new function.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 21:08:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_nothing_raised): increment</div><div class='del'>-	  assertion count.  [ruby-dev:37480]</div><div class='del'>-</div><div class='del'>-Mon Dec 22 19:10:44 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (Init_native_thread): need to call</div><div class='del'>-	  ruby_thread_set_native() here.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 18:00:36 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fix wrong flag value.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 15:15:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (Net::BufferedIO#rbuf_fill): avoid calling</div><div class='del'>-	  read_nonblock in rescue.  use retry instead.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 14:35:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_with_enc): set ASCII-8BIT if</div><div class='del'>-	  encoding is US-ASCII and string contains 8bit characters.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 12:26:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (rubydll.def), win32/mkexports.rb</div><div class='del'>-	  (Exports#exports): added VERSION.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 12:25:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): fix for test_sprintf_comb.rb, by</div><div class='del'>-	  wanabe in [ruby-dev:36935].</div><div class='del'>-</div><div class='del'>-Mon Dec 22 12:05:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw): no longer uses snprintf and vsnprintf of</div><div class='del'>-	  msvcrt.  [Bug#6]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): removed.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): vsnprintf exists in VC7 or later.</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports#initialize): aliases</div><div class='del'>-	  rb_w32_vsnprintf and rb_w32_snprintf for binary compatibility.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): uses snprintf instead of sprintf.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s, rb_num2long, rb_num2ll): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 10:59:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): should return enumerator if called</div><div class='del'>-	  without block.  [ruby-dev:37526]</div><div class='del'>-</div><div class='del'>-Mon Dec 22 09:54:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): the encoding of __FILE__ should be</div><div class='del'>-	  rb_filesystem_encoding().  [ruby-list:45733]</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): __FILE__ should be ASCII-8BIT when</div><div class='del'>-	  filesystem encoding is US-ASCII and __FILE__ contains non 7bit</div><div class='del'>-	  characters.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 02:54:56 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: temporary patch for trouble on TkAqua (&gt; Tk8.4.9).</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget: set encoding to a demo-code string to</div><div class='del'>-	  avoid garbled text on the Code Window.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 14:55:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (SPLAT_PROC): splat values by hand.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 13:50:37 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb</div><div class='del'>-	  (TestReadline#test_some_characters_methods): checked encoding.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 12:23:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (SPLAT_PROC): fix for regexp.  [ruby-dev:37514]</div><div class='del'>-</div><div class='del'>-Sun Dec 21 10:43:10 2008  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: rescue exception.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 18:28:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): supplements an extension for executable</div><div class='del'>-	  files on DOSish platforms.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): use rb_w32_aspawn() for array form.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec): no longer used.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): deals with batch</div><div class='del'>-	  files and commands with extensions.  [ruby-core:20695]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (has_redirection): supports environment variables</div><div class='del'>-	  references.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 15:34:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::FileList#egrep): change open mode to "rb",</div><div class='del'>-	  i.e. default to binary.    [ruby-dev:37385]</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::FileList#egrep): allow specifying reading</div><div class='del'>-	  encoding, e.g. FileList['*.rb'].egrep(/require/, encoding:</div><div class='del'>-	  "ascii-8bit")</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::MultiTask): invoke_prerequisites should be</div><div class='del'>-	  private.  a patch from okkez in [ruby-dev:37399]</div><div class='del'>-</div><div class='del'>-Sat Dec 20 10:59:16 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale#initialize)</div><div class='del'>-	  initializes instance variables to suppress warnings.</div><div class='del'>-	  typo fix to ignore LoadError: [ruby-dev:37508]</div><div class='del'>-</div><div class='del'>-Fri Dec 19 17:01:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_encoding_option): "internal_encoding: nil"</div><div class='del'>-	  to specify no-transcoding.  and other corner case fixed.</div><div class='del'>-	  [ruby-dev:37496]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_lookup2): new function to look-up hash with</div><div class='del'>-	  default value.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 15:51:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): get rid of warning on DOSISH.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 07:45:37 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): duck typing equal to make it transitive.</div><div class='del'>-	  [ruby-dev:34808]</div><div class='del'>-</div><div class='del'>-Thu Dec 18 19:31:54 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB.opt_parse): (M17N) adds -U and -E as command</div><div class='del'>-	  line options. [ruby-dev:37161]. Fixes #711.</div><div class='del'>-	  improved long options.</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB.set_encoding): new subroutine for IRB.opt_parse</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb (IRB::StdioInputMethod): (M17N) regards</div><div class='del'>-	  scripts that user types as encoded in the external_encoding.</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb (IRB::ReadlineInputMethod): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb (IRB::FileInputMethod): (M17N) respects</div><div class='del'>-	  magic comment.</div><div class='del'>-</div><div class='del'>-	* lib/irb/help.rb (IRB.print_usage): (M17N) respects magic comment</div><div class='del'>-	  in the resource file.</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/help-message: adds -U and -E.</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/help-message: ditto. re-encoded from ISO-2022-JP into UTF-8.</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/encoding_aliases.rb: new file. provides Japanese specific</div><div class='del'>-	  character encoding name table for backward compatibility.</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/error.rb: re-encoded from ISO-2022-JP into UTF-8.</div><div class='del'>-	  magic comment.</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb: integrated with Ruby 1.9's M17N support.</div><div class='del'>-</div><div class='del'>-	* lib/irb/magic-file.rb: new file. utility to handle files with magic</div><div class='del'>-	  comment and opens in the correct encoding.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#each_top_level_statement): recovers</div><div class='del'>-	  character encoding for a statement after it lexed so that irb can</div><div class='del'>-	  eval the statement in correct encoding.</div><div class='del'>-</div><div class='del'>-	* lib/irb/src_encoding.rb: new file. utility.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 21:12:28 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb: fix bug for ignore session_id option.</div><div class='del'>-	  report from [ruby-core:18635], [Bug #572]</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: use Encoding#find when encoding set.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_session.rb: test for session_id specified.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 17:00:56 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): string key copying only happen if key is</div><div class='del'>-	  an exact instance of String, not a subclass. based on a patch</div><div class='del'>-	  from Mike Gold &lt;mike.gold.4433 at gmail.com&gt; in [ruby-talk:322667].</div><div class='del'>-	  [incompatible] [ruby-talk:322417]</div><div class='del'>-</div><div class='del'>-Thu Dec 18 16:48:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse/version.rb: remove variable shadowing to stop</div><div class='del'>-	  warning.   [ruby-core:20612]</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb, lib/net/imap.rb, lib/prime.rb,</div><div class='del'>-	  lib/rinda/ring.rb, lib/racc/parser.rb,</div><div class='del'>-	  lib/shell/command-processor.rb, lib/yaml/yamlnode.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: remove space before parentheses.</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb, lib/shell/process-controller.rb:</div><div class='del'>-	  use parentheses around arguments.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/change-ws.rb, lib/rexml/validation/relaxng.rb,</div><div class='del'>-	  lib/yaml/baseemitter.rb: indentation fix.</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: small cosmetic change.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 08:15:04 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb:  Restricting method inspection to show only</div><div class='del'>-	  non-inherited public methods.  [ruby-core:20603]</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb:  Fixing method inspection so it doesn't</div><div class='del'>-	  trigger XMLRPC::FaultException when used.  [ruby-core:20604]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 19:39:44 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (unix_recv_io): relax msg_controllen error</div><div class='del'>-	  check for x86_64-openbsd4.4.</div><div class='del'>-</div><div class='del'>-Wed Dec 17 19:37:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/extconf.rb: check util.h for OpenBSD.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: include util.h if available.  fix variable name.</div><div class='del'>-</div><div class='del'>-Wed Dec 17 19:23:28 2008  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: shut up warning. [ruby-dev:37481] [Bug #899]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 15:44:28 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_pop_m): use enum ary_take_pos_flags.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_push_m): add modification check before actual</div><div class='del'>-	  operation.   [ruby-dev:37440]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 15:35:39 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (OBJDUMP, OBJCOPY):</div><div class='del'>-	  *BSD's ports and MacPorts prefix GNU binutils with 'g'.</div><div class='del'>-</div><div class='del'>-Wed Dec 17 11:39:39 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_hash):</div><div class='del'>-	  shut up warning.  see [ruby-dev:37437]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 11:01:35 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash): gets rid of collisions between different</div><div class='del'>-	  encoding strings.  [ruby-core:20526]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 09:50:19 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_metaclass.rb: removed codes for my debugging.</div><div class='del'>-	  sorry. [ruby-dev:37470]</div><div class='del'>-</div><div class='del'>-Tue Dec 16 22:55:11 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/testrb: set $0.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 22:42:16 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit.setup_argv): sorry, fixed wrong commit.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 22:15:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (MiniTest::Assertions#assert_instance_of):</div><div class='del'>-	  should assert by instance_of?, not ===.  [ruby-dev:37458]</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (MiniTest::Assertions#assert_instance_of):</div><div class='del'>-	  typo fixed.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 21:59:29 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit.setup_argv): ALT_SEPARATOR support.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 21:59:02 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpToString): reverted modification</div><div class='del'>-	  (that caused a bug) in r20359.  [ruby-dev:37370]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_limit): comment update.</div><div class='del'>-	  [ruby-dev:37465]</div><div class='del'>-</div><div class='del'>-Tue Dec 16 20:34:44 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (getDevice): add nomesg argument.</div><div class='del'>-	  (get_device_once): add nomesg argument.  chmod slave tty to 0600</div><div class='del'>-	  if nomesg.  more error tests.</div><div class='del'>-	  (no_mesg): new function.</div><div class='del'>-	  (pty_open): make slave tty's mode 0600.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 20:24:20 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_parse): m17n compliant.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 19:48:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/extconf.rb: check posix_openpt.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): use posix_openpt if available.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 19:43:53 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: use strlcpy for error messages.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 16:41:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): returns dispatched result.</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): also in ripper, saves in_def before restoring.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 12:30:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_header_ucontext_h): do not use ucontext.h on Mac</div><div class='del'>-	  OS X 10.5 or later.  merged from MacPorts.</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_daemon): daemon(3) is deprecated on Mac OS</div><div class='del'>-	  X 10.5 or later.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 11:37:07 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): use strlcpy() instead of strncpy().</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): ditto.</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 09:14:28 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_call): block should not be given to yield.</div><div class='del'>-	  [ruby-core:20583]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 23:48:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_timeval): cast tv_usec to long to shut up</div><div class='del'>-	  warnings on OSX.  [ruby-dev:37449]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 23:34:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_open): set FMODE_SYNC and FMODE_DUPLEX.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 23:29:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): revive global sub, gsub, chop, chomp</div><div class='del'>-	  only when auto looping options (-p/-n) is specified.</div><div class='del'>-	  [ruby-core:20570]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 22:48:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_open): new method PTY.open.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 21:24:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): use DEVICELEN instead of</div><div class='del'>-	  sizeof SlaveName.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 21:01:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): make it static.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 20:59:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (child_info): add slavename.</div><div class='del'>-	  (chfunc): use slavename.</div><div class='del'>-	  (establishShell): set slavename.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 20:16:46 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (EXTMK_ARGS): shouldn't use ``\"'' because cmd.exe eat</div><div class='del'>-	  ''\'' in such quotes.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 19:07:31 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): define CANONICALIZATION_FOR_MATHN</div><div class='del'>-	  to follow r20683.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 18:12:34 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/packagetask.rb (Rake::PackageTask): small document</div><div class='del'>-	  update from okkez in [ruby-dev:37443]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 16:28:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg_complex): uses cfp from</div><div class='del'>-	  blockptr instead of the current cfp.  [ruby-core:20544]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 14:56:59 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_metaclass.rb: new test case for metaclass hierarchy.</div><div class='del'>-</div><div class='del'>-	* class.c (make_metametaclass): new function. extracted from</div><div class='del'>-	  rb_make_metaclass.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_make_metaclass): uses make_metametaclass when called for a</div><div class='del'>-	  metaclass.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class): creates a meta^(n+2)-class in</div><div class='del'>-	  addition to a meta^(n+1)-class when called for a meta^(n)-class.</div><div class='del'>-	  This is because the returned meta^(n+1) class must acts as an instance of</div><div class='del'>-	  Class, metaclass of Class, ..., meta^(n+1)-class of Class,</div><div class='del'>-	  Module, metaclass of Module, ..., meta^(n+1)-class of Module,</div><div class='del'>-	  Object, metaclass of Object, ..., meta^(n+2)-class of Object,</div><div class='del'>-	  BasicObject, metaclass of BasicObject, ..., meta^(n+2)-class of</div><div class='del'>-	  and BasicObject even when Class, Module, Object or BasicObject has</div><div class='del'>-	  not have its meta^(i)-class yet.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 15:13:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id.h, template/id.h.tmpl (ruby_method_ids): sees YYTOKENTYPE too.</div><div class='del'>-	  [ruby-dev:37436]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 15:02:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (EXTMK_ARGS): needs MINIRUBY for cross-compile.</div><div class='del'>-	  [ruby-core:20131]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 14:39:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): NODE_ZSUPER supported.  [ruby-core:20480]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call_super): uses method_missing().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing): get rid of too large alloca.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_call0, method_missing): uses idMethodMissing.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method, remove_method, rb_undef): uses</div><div class='del'>-	  id__send__.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_eval_method): removed IDs which are defined as</div><div class='del'>-	  immediate values.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 11:35:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_backtrace): defaults to script name for C functions.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 11:32:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rubylib_mangled_path, rubylib_mangled_path2): cannot use</div><div class='del'>-	  locale encoding before load path is initialized</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): loads encdb so that encodings can be</div><div class='del'>-	  loaded, then associates script name and load paths with the</div><div class='del'>-	  locale encoding.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 10:00:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (btest-ruby): use RUNRUBY instead of MINIRUBY to load the</div><div class='del'>-	  shared library.  [Bug #849]</div><div class='del'>-</div><div class='del'>-Sun Dec 14 22:31:19 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_karatsuba): remove temporal bignum.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsqr): call bigmul0(x, x) because it is faster than the</div><div class='del'>-	  original bigsqr at this point.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): a value returned from bigsqr is already</div><div class='del'>-	  truncated.</div><div class='del'>-</div><div class='del'>-Sun Dec 14 21:13:02 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_karatsuba): fix comment and refactoring.</div><div class='del'>-</div><div class='del'>-Sun Dec 14 14:53:41 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_balance, bigmul1_karatsuba): remove all</div><div class='del'>-	  rb_gc_force_recycle which causes memory leak.</div><div class='del'>-</div><div class='del'>-Sun Dec 14 14:26:11 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/README: directory structure changed</div><div class='del'>-</div><div class='del'>-Sun Dec 14 09:14:37 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* reverts r20713.</div><div class='del'>-</div><div class='del'>-Sun Dec 14 12:51:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_mul): faster multiplication by Karatsuba method and</div><div class='del'>-	  twice faster square than normal multiplication. [ruby-dev:37392]</div><div class='del'>-</div><div class='del'>-	* random.c (rb_rand_internal): used by Bignum#*.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: add some tests for above.</div><div class='del'>-</div><div class='del'>-Sun Dec 14 01:35:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (forked_child): new variable.</div><div class='del'>-	  (before_exec): don't call rb_thread_stop_timer_thread if</div><div class='del'>-	  forked_child.</div><div class='del'>-	  (after_exec): reset forked_child after rb_thread_start_timer_thread.</div><div class='del'>-	  (rb_fork): set forked_child just after fork in child.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): extracted from establishShell.</div><div class='del'>-	  (establishShell): use rb_fork.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:37418]</div><div class='del'>-</div><div class='del'>-Sat Dec 13 22:17:30 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): describes more targets.</div><div class='del'>-	  based on a patch by Michael Klishin. [ruby-core:20523].</div><div class='del'>-</div><div class='del'>-Sat Dec 13 18:34:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_printable): wrong condition for string iteration.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 16:04:48 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (default_external): endless recursion during</div><div class='del'>-	  loading a locale encoding on some locale.</div><div class='del'>-	  fixed by Nobuyoshi Nakada.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 15:55:37 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): fixed default_internal is nil.</div><div class='del'>-	  (closes #862)</div><div class='del'>-</div><div class='del'>-Sat Dec 13 15:52:27 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_equal): remove documentation error "Otherwise,</div><div class='del'>-	  compares them as strings".  [ruby-dev:37398]</div><div class='del'>-</div><div class='del'>-	* string.c (sym_inspect): quote if symbol contains non-printable</div><div class='del'>-	  characters.  [ruby-dev:37398]</div><div class='del'>-</div><div class='del'>-Sat Dec 13 14:24:38 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_utf16.rb: feature changed in r20626.</div><div class='del'>-	  follows it.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 13:41:44 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb: feature changed in r20626.</div><div class='del'>-	  follows it.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 13:03:20 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: use rb_usascii_str_new2 instead of rb_str_new2.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 12:48:57 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb: feature changed in r20626.</div><div class='del'>-	  follows it.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 12:38:16 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/test.rb (MinTest::Unit#location):</div><div class='del'>-	  skips user-defined assertions as MiniTest's.</div><div class='del'>-	  e.g. for test/ruby/test_m17n.rb.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 09:17:33 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*.rb: Imported minitest 1.3.1 r4503.</div><div class='del'>-	* test/minitest/test_mini_test.rb: ditto.</div><div class='del'>-	* lib/miniunit/autorun.rb: added (as part of r4503).</div><div class='del'>-</div><div class='del'>-Sat Dec 13 08:35:14 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_canonicalization): renamed.</div><div class='del'>-</div><div class='del'>-	* ext/math/complex.c: followed the above change.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_canonicalization): renamed.</div><div class='del'>-</div><div class='del'>-	* ext/math/rational.c: followed the above change.</div><div class='del'>-</div><div class='del'>-	* configure.in: defines a new macro.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 01:10:03 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c</div><div class='del'>-	  (readline_s_get_completion_append_character): uses locale</div><div class='del'>-	  encoding but not ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 22:12:46 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c: do not use RUBY_VERSION_CODE.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 21:41:36 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: r20662 reverted.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:29:07 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_external): default_internal can be</div><div class='del'>-	  nil, but default_external cannot.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_set_default_internal): adds rdoc.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:24:47 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (run, runruby, parse, gdb, gdb-ruby): you can also run</div><div class='del'>-	  other scripts than $(srcdir)/test.rb.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:13:43 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): changed the message</div><div class='del'>-	  of IOError to 'closed stdin' from 'stdin closed' if stdin was</div><div class='del'>-	  closed.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:00:49 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: used the ExportStringValue macro</div><div class='del'>-	  instead of the OutputStringValue macro. removed the</div><div class='del'>-	  OutputStringValue macro.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 16:23:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): ruby_eval_tree_begin is always 0 when</div><div class='del'>-	  ruby_eval_tree is 0.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 14:09:55 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_get_default_encoding): removed.</div><div class='del'>-	  Generalizing rb_default_{external,internal}_encoding seems to be</div><div class='del'>-	  difficult.</div><div class='del'>-	  default_external cannot be NULL even before detected. [ruby-dev:37390]</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_default_external_encoding): has its own</div><div class='del'>-	  implementation again.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_default_internal_encoding): ditto.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: added notice.</div><div class='del'>-</div><div class='del'>-	* ruby.c (rubylib_mangled_path, rubylib_mangled_path2): uses locale</div><div class='del'>-	  encoding but not ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): refers less to default_external.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 11:00:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): load path must be expanded.</div><div class='del'>-	  [ruby-dev:37388]</div><div class='del'>-</div><div class='del'>-Fri Dec 12 10:28:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_version): greps only the line that defines version.</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION_CODE, RUBY_RELEASE_CODE): removed.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 10:20:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c: do not use RUBY_VERSION_CODE.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 10:19:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value_ptr, rb_to_id): do not use a side</div><div class='del'>-	  effect expression in RSTRING_PTR.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): simplified the argument of</div><div class='del'>-	  RSTRING_LEN.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 23:48:00 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (sqrt): should pass nan to the original method.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 21:04:04 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb, lib/rss/maker/0.9.rb, lib/rss/maker/base.rb:</div><div class='del'>-	  RSS::Maker.[] returns a maker class corresponds to passed version.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_*.rb: add tests for RSS::Maker.[].</div><div class='del'>-</div><div class='del'>-Thu Dec 11 20:05:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_aliases_enc_i): skips default internal.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 19:31:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: extracted from lib/test/unit.rb.</div><div class='del'>-	  lib/test/unit/testcase.rb: ditto.</div><div class='del'>-	  at asakusa.rb.  [ruby-core:20014]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 19:23:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_dup_many): extracted from test_dup.</div><div class='del'>-	  test in ruby subprocess.  at asakusa.rb.  [ruby-dev:35648]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 19:16:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#=~): undefed.  at asakusa.rb.</div><div class='del'>-	  [ruby-core:19690]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 13:09:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_enc_error): raise EncodingCompatibilityError for</div><div class='del'>-	  encoding incompatibility.  [ruby-core:18600]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_enc): more consistent error message.</div><div class='del'>-	  [ruby-core:18611]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 13:36:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_set_default_encoding): allowed to set default</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encoding): removed Encoding::LOCALE.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_external): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_internal): defines internal</div><div class='del'>-	  encoding as nil.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 11:11:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (size_t): needs stddef.h or stdlib.h.</div><div class='del'>-	  [ruby-core:20339]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 10:25:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb (TestBignum#test_convert): remove</div><div class='del'>-	  platform dependent call of Process.wait.  coverage should be</div><div class='del'>-	  accomplished by other method.  [ruby-dev:36062]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 10:18:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): require</div><div class='del'>-	  rexml/formatters/transitive if transitive flag is on.  a patch</div><div class='del'>-	  from akira yamada in [ruby-dev:36230].  fix #553</div><div class='del'>-</div><div class='del'>-	* lib/rexml/element.rb (REXML::Element#write): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/formatters/transitive.rb (REXML::Formatters::Transitive#write_element):</div><div class='del'>-	  add hack for IE.  [ruby-dev:36230]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 02:37:22 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check): should not raise EDOM exception for NaN</div><div class='del'>-	  value if operand is also NaN.  affects acos, asin, acosh, atanh,</div><div class='del'>-	  log, log2, log10, sqrt, gamma, lgamma. [ruby-dev:37357]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 02:23:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.pipeline_start): return an array of threads if a</div><div class='del'>-	  block is not given.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 01:48:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_round): should be round</div><div class='del'>-	  to integer.  [ruby-dev:37355]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divmod): division should</div><div class='del'>-	  be integer.  [incompatible] [ruby-dev:37355]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 01:21:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_unlock): shut up warning.  a patch from</div><div class='del'>-	  Kazuhiro NISHIYAMA in [ruby-dev:37345]. fix #846</div><div class='del'>-</div><div class='del'>-Wed Dec 10 23:58:56 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: avoided warnings on cpp. [ruby-dev:37344]</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 21:32:02 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb (RSS::Maker.[]): add.</div><div class='del'>-	  Suggested by Akinori MUSHA. Thanks!!! [ruby-dev:37210]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 12:56:32 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_rewind): If the enclosed object</div><div class='del'>-	  responds to a "rewind" method, call it; cf. [ruby-dev:37268]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 12:46:52 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next): Fix a typo: s/rewinded/rewound/.</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Prime::OldCompatibility#each): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 11:25:53 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): raise RegexpError when encoding</div><div class='del'>-	  is dummy encoding. [ruby-dev:37091]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 01:28:16 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (win32.obj): depend on headers.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 18:35:35 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans, cp850-tbl.rb, cp852-tbl.rb,</div><div class='del'>-	  cp855-tbl.rb, koi8-r-tbl.rb, koi8-u-tbl.rb, tis-620-tbl.rb:</div><div class='del'>-	  new single-byte transcodings (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (from Yoshihiro Kambayashi), small cosmetic fixes</div><div class='del'>-</div><div class='del'>-Tue Dec  9 13:33:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each), gc.c (assign_heap_slot),</div><div class='del'>-	  (gc_mark_children), parse.y (vtable_alloc, vtable_free, vtable_add),</div><div class='del'>-	  proc.c (proc_to_s), thread.c (terminate_i, rb_thread_terminate_all),</div><div class='del'>-	  (thread_start_func_2, blocking_region_begin, blocking_region_end),</div><div class='del'>-	  (rb_thread_kill), thread_pthread.c (native_thread_create),</div><div class='del'>-	  (ubf_pthread_cond_signal), vm.c (check_env, thread_free), vm_dump.c</div><div class='del'>-	  (vm_env_dump_raw, vm_stack_dump_each, vm_thread_dump_state),</div><div class='del'>-	  (vm_call0): use void pointer for %p.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_status), template/insns.inc.tmpl (ruby_vminsn_type),</div><div class='del'>-	  vm_insnhelper.h (BOP): ISO C forbids comma at end of enumerator</div><div class='del'>-	  list.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (check_cfunc): use function pointer.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 13:23:55 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_use_default_colors): add new</div><div class='del'>-	  method.  a patch from Giancarlo F Bellido</div><div class='del'>-	  &lt;support at coaxialhost.com&gt; in [ruby-core:20434].</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_tabsize_set): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_tabsize_get): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 12:08:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): fixed typo for T_STRUCT.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 11:50:46 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): fixed [ruby-dev:37295].</div><div class='del'>-	  Array#pack always has returned an US-ASCII string when</div><div class='del'>-	  the given format ended with 'u', 'M' or 'm'.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 03:21:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: fix for continued lines.  based on a patch from</div><div class='del'>-	  Marcus Rueckert &lt;darix AT opensu.se&gt; at [ruby-core:20420].</div><div class='del'>-</div><div class='del'>-Tue Dec  9 00:54:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): enc.mk in snapshot is dummy and should</div><div class='del'>-	  not deal with objects.  [ruby-core:20422]</div><div class='del'>-</div><div class='del'>-Tue Dec  9 00:17:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (clean-srcs): split out from clean.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 23:34:18 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): fixed odd act of 'm*', 'M*', and 'P*'.</div><div class='del'>-	  just ignores '*' in these cases.</div><div class='del'>-	  [ruby-dev:37289]</div><div class='del'>-</div><div class='del'>-Mon Dec  8 18:31:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): fixed length for odd length string.</div><div class='del'>-	  [ruby-dev:37283]</div><div class='del'>-</div><div class='del'>-Mon Dec  8 11:28:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): added version, copyright, usage, yydebug,</div><div class='del'>-	  syntax to --dump option.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 11:15:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): source-encoding option.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 10:32:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_option_encoding_once): dry.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): checks extra argument for -E/--encoding.</div><div class='del'>-</div><div class='del'>-Sun Dec  7 23:47:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBPATHFLAG): use numbered specifier if RPATHFLAG</div><div class='del'>-	  is set.  [ruby-talk:322136]</div><div class='del'>-</div><div class='del'>-Sun Dec  7 23:17:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (LIBRUBY_SO): localizes non-public symbols.</div><div class='del'>-</div><div class='del'>-	* configure.in (OBJDUMP, OBJCOPY): for dealing with binary files.</div><div class='del'>-</div><div class='del'>-Sun Dec  7 17:44:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.capture3): renamed from Open3.poutput3.</div><div class='del'>-	  (Open3.capture2): renamed from Open3.poutput2.</div><div class='del'>-	  (Open3.capture2e): renamed from Open3.poutput2e.</div><div class='del'>-</div><div class='del'>-Sun Dec  7 11:48:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.poutput3): :binmode option implemented.</div><div class='del'>-	  (Open3.poutput2): ditto.</div><div class='del'>-	  (Open3.poutput2e): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 18:33:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): added RM and CP.  [ruby-dev:37288]</div><div class='del'>-</div><div class='del'>-Sat Dec  6 17:51:35 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): 'u0' is not special differently from 'm0'.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 14:35:06 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): set US-ASCII and CODERANGE_7BIT</div><div class='del'>-	  when quoted-printable ('M') and base64 ('m').</div><div class='del'>-	  [ruby-dev:37284]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 22:56:24 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_make_exception): single argument to raise may be</div><div class='del'>-	  string compatible object.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 21:45:45 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_{to_s,inspect}): performance improvement.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 21:42:44 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: inspect should not depend on to_s.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 21:18:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_truncate): return</div><div class='del'>-	  integer if no optional argument given. [incompatible]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_floor): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_ceil): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 19:06:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.pipeline_start): new method.</div><div class='del'>-	  (Open3.pipeline): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 18:55:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_dup2): !save is false if Qnil.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 18:07:32 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read, rb_w32_write, rb_w32_isatty): check</div><div class='del'>-	  whether fd is valid.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 13:05:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_parameters): proc arguments are always optional.</div><div class='del'>-</div><div class='del'>-	* proc.c (get_proc_iseq, rb_proc_parameters): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 12:38:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): uses rb_compile_warning() for</div><div class='del'>-	  warning at compilation time.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 12:35:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ruby_iseq_compile, ruby_iseq_translate_threaded_code),</div><div class='del'>-	  (ruby_insns_name_array, ruby_iseq_build_from_ary): prefixed with</div><div class='del'>-	  ruby_.</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_iseq_load, ruby_insn_make_insn_table): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 10:01:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp_m): fixed rdoc.  pointed out by &lt;Thomas</div><div class='del'>-	  C. Mitchell AT gmail.com&gt; at [ruby-talk:321967]</div><div class='del'>-</div><div class='del'>-Fri Dec  5 07:58:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): arg.offset should be updated after retry.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 03:29:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_load_path): returns the load path without</div><div class='del'>-	  touching.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_provided): new function to return the loading</div><div class='del'>-	  path in addition to rb_provided().</div><div class='del'>-</div><div class='del'>-	* load.c (search_required): sets path if loading.</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_provided): load paths are expanded to check</div><div class='del'>-	  if loading.</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_node): keeps autoload mark while loading.</div><div class='del'>-	  [ruby-core:20235]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): loops while autoload mark is set.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 01:37:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): ERROR_BROKEN_PIPE is not a real error</div><div class='del'>-	  at this point.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): use rb_w32_spawn() instead of rb_w32_pipe_exec()</div><div class='del'>-	  to use our own redirection scheme.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 01:35:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_proc): use hidden object.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 01:19:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): propagate taint status from format string to</div><div class='del'>-	  result string.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 00:34:10 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_dup2): need to sort by reverted order when</div><div class='del'>-	  restoring fds.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 00:17:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_proc): caches Symbol procs, based on a patch from</div><div class='del'>-	  Shumpei Akai &lt;admin AT flexfrank.net&gt;.  [ruby-dev:37265]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 23:29:34 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (waitpid): fix bug of checking child slot.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (FindChildSlotByHandle): new.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 23:24:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.poutput3): new method.</div><div class='del'>-	  (Open3.poutput2): ditto.</div><div class='del'>-	  (Open3.poutput2e): ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 23:02:13 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: follows changes in rubyspec project.</div><div class='del'>-	  inherits configurations from ruby.1.9.mspec.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 22:13:55 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: added some tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 19:56:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.popen3): simplified.</div><div class='del'>-	  (Open3.popen_run): extracted from Open3.popen3.</div><div class='del'>-	  (Open3.popen2): new method.</div><div class='del'>-	  (Open3.popen2e): new method.</div><div class='del'>-	  (Open3.pipeline_rw): new method.</div><div class='del'>-	  (Open3.pipeline_r): new method.</div><div class='del'>-	  (Open3.pipeline_w): new method.</div><div class='del'>-	  (Open3.pipeline_run): new private method.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 19:16:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_fds): resolve cascaded child fd reference.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 16:58:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/validator.rb (Gem#remove_leading_dot_dir): make</div><div class='del'>-	  this method private.  a patch from okkez in [ruby-dev:37245]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 16:19:18 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read_nonblock):</div><div class='del'>-	  OpenSSL::SSL::SSLSocket should implement read_nonblock.  a patch</div><div class='del'>-	  from Aaron Patterson in [ruby-core:20277].  fix: #814 [ruby-core:20241]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 16:16:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: fixed type in sample code.  a report from Oleg</div><div class='del'>-	  Puchinin.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 14:54:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/local_remote_options.rb (Gem#add_update_sources_option):</div><div class='del'>-	  little documentation fix.  a patch from okkez.  [ruby-dev:37271]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 13:56:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_getch): avoid ISPRINT() macro which</div><div class='del'>-	  has an issue with OpenSolaris.  [ruby-core:20189]</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_getch): no ISPRINT(). [ruby-core:20294]</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): EINVAL from sigaction(2) is not a bug.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 11:40:56 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (inspect_enumerator): Implement #inspect.</div><div class='del'>-	  [ruby-dev:37248]-[ruby-dev:37263]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 11:38:40 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_obj_respond_to): Remove a duplicated rdoc</div><div class='del'>-	  comment and fix a markup error.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 06:04:16 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: TkOptionMenubutton.new fails to treat</div><div class='del'>-	  'parent' and 'variable' options on a Hash argument.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 05:06:47 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix. use ::RubyVM instead of ::VM</div><div class='del'>-	  [ruby-list:45676]</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: update RELEASE_DATE</div><div class='del'>-</div><div class='del'>-Thu Dec  4 01:37:47 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nurat_{to_s,inspect}): provides better representation</div><div class='del'>-	  for in-finite imag part.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 01:22:41 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_signbit): NaN may be signed value.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 23:59:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_DUP2_CHILD): defined.</div><div class='del'>-	  (check_exec_redirect_fd): check :in, :out and :err.</div><div class='del'>-	  (check_exec_redirect): check [:child, fd].</div><div class='del'>-	  (check_exec_fds): validate EXEC_OPTION_DUP2_CHILD array.</div><div class='del'>-	  (run_exec_dup2_child): new function.</div><div class='del'>-	  (rb_run_exec_options): call run_exec_dup2_child.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 22:54:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): keyword_not can continue across newline.</div><div class='del'>-	  [ruby-core:20252]</div><div class='del'>-</div><div class='del'>-Wed Dec  3 22:40:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (simple_default_value): returns simplest assignment only.</div><div class='del'>-	  [ruby-core:20237]</div><div class='del'>-</div><div class='del'>-Wed Dec  3 21:30:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect): accept :in, :out, :err as redirect</div><div class='del'>-	  target.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 21:18:27 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: revert.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 14:48:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_ruby_cmd, ip_invoke_with_position): must</div><div class='del'>-	  not access internal union directly.  [ruby-list:45670]</div><div class='del'>-</div><div class='del'>-Wed Dec  3 12:24:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc, rb_io_readchar): documentation correction from</div><div class='del'>-	  Emiel van de Laar.  [ruby-core:20212]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_readchar): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 09:26:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xpath.rb (REXML::XPath.first): apply documentation</div><div class='del'>-	  patch from Ken Bloom in [ruby-core:20213].</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xpath.rb (REXML::XPath.each): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 02:56:34 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 02:53:24 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 02:26:07 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: add some tests.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 02:04:21 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (Init_pty): fix typo.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 19:22:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.popen3): merge hash options if given.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 15:31:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (Net::BufferedIO#rbuf_fill): use</div><div class='del'>-	  read_nonblock instead of sysread wrapped by timeout to boost</div><div class='del'>-	  performance.  a patch from Aaron Patterson in [ruby-core:20191].</div><div class='del'>-	  fix #806</div><div class='del'>-</div><div class='del'>-Mon Dec  1 23:23:52 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* set 1.9.1-p5000 into version number. [ruby-dev:36998]</div><div class='del'>-</div><div class='del'>-Mon Dec  1 15:48:47 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (register_sigaltstack): no need to define on non-sigaltstack</div><div class='del'>-	  platform.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 12:00:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): calls with exact argument number.</div><div class='del'>-	  [ruby-core:20088]</div><div class='del'>-</div><div class='del'>-Sun Nov 30 21:41:10 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/rake.1: new manual page</div><div class='del'>-</div><div class='del'>-Sun Nov 30 18:01:50 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_parse_curly_brace):</div><div class='del'>-	  now accepts quantifier on anchors again by r20391.</div><div class='del'>-</div><div class='del'>-Sat Nov 29 23:56:44 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/irb.1 (EXAMPLES): new section</div><div class='del'>-</div><div class='del'>-Sat Nov 29 19:19:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (is_invalid_quantifier_target): Perl and old Ruby</div><div class='del'>-	  accepts quantifier on anchors.  [ruby-core:20161]</div><div class='del'>-</div><div class='del'>-Sat Nov 29 18:28:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_getaddrinfo): should have updated for</div><div class='del'>-	  Mac OS X.  a patch from Shumpei Akai in [ruby-dev:37234]</div><div class='del'>-</div><div class='del'>-Sat Nov 29 00:18:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_alloc): separate allocation and initialization.</div><div class='del'>-	  allow subclass to override #initialize.   [ruby-core:20086]</div><div class='del'>-</div><div class='del'>-Fri Nov 28 18:31:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getaddrinfo): refactored to remove</div><div class='del'>-	  code duplication regarding getaddrinfo.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 17:52:26 2008  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb: should be usable def_single_delegator for</div><div class='del'>-	  Class and Module.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 13:19:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (simple_default_value): extracts simplest default</div><div class='del'>-	  argument value.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_parameters): returns parameter list.</div><div class='del'>-</div><div class='del'>-	* proc.c (get_proc_iseq, get_method_iseq): handles ifunc and</div><div class='del'>-	  bmethod.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_parameters, rb_method_parameters): added</div><div class='del'>-	  Proc#parameters and Method#parameters.  [ruby-core:19759]</div><div class='del'>-</div><div class='del'>-Fri Nov 28 02:18:47 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): bigdecimal</div><div class='del'>-	  division (including modulo) should raise ZeroDivisionError as</div><div class='del'>-	  integer division. [incompatible]</div><div class='del'>-</div><div class='del'>-Fri Nov 28 00:12:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flodivmod): floating point division should raise</div><div class='del'>-	  ZeroDivisionError as integer division. [incompatible]</div><div class='del'>-</div><div class='del'>-Thu Nov 27 23:54:37 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): still needs to check stack depth during GC.</div><div class='del'>-</div><div class='del'>-	* gc.c (stack_check): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 21:41:29 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): should add padding for %%.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 16:32:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (register_sigaltstack): stores alt stack for debug</div><div class='del'>-	  purpose.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 16:12:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_sigaction_t): added.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 15:59:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_stack_check): no check if using sigaltstack.</div><div class='del'>-</div><div class='del'>-	* signal.c (ALT_STACK_SIZE): default minimum size is insufficient</div><div class='del'>-	  for method calls.</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): handles stack overflow if possible.</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_thread_stack_overflow): helper function to raise</div><div class='del'>-	  sysstack_error.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_stack_overflowed_p): checks for stack</div><div class='del'>-	  overflow.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 10:40:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): should return</div><div class='del'>-	  Integer for #div operation.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): should raise</div><div class='del'>-	  ZeroDivisionError if divisor is zero.  [ruby-dev:37207]</div><div class='del'>-</div><div class='del'>-Wed Nov 26 23:15:47 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (STRFTIME): use rb_strftime() recursively, instead of</div><div class='del'>-	  platform's strftime().</div><div class='del'>-</div><div class='del'>-Wed Nov 26 22:46:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpException): bigdecimal zero</div><div class='del'>-	  division should raise FloatDomainError if mode</div><div class='del'>-	  VP_EXCEPTION_ZERODIVIDE is set.  [ruby-dev:37204]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_mode): should handle</div><div class='del'>-	  VP_EXCEPTION_ZERODIVIDE.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 15:16:07 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (rb_gdbm_nextkey): fix memory leak.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 03:17:48 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_r): raise exception</div><div class='del'>-	  for nan/inf conversion.  [ruby-dev:37187] fix #793</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 03:00:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpAlloc): avoid ALLOCA_N() to avoid</div><div class='del'>-	  segmentation fault caused by (insanely) long decimal values.</div><div class='del'>-	  [ruby-dev:37189] fix #794</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_to_i,</div><div class='del'>-	  BigDecimal_to_f, BigDecimal_to_s, BigDecimal_split,</div><div class='del'>-	  BigDecimal_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpToString): small performance</div><div class='del'>-	  improvement.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 00:26:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (STRFTIME): should add padding for %[xXrR] etc.</div><div class='del'>-	  [ruby-dev:37185] fix: #792</div><div class='del'>-</div><div class='del'>-Tue Nov 25 16:26:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_times): taint (and untrust) status should be</div><div class='del'>-	  inherited by "ary * 0".  [ruby-dev:37024]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 15:54:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): should not swallow incomplete</div><div class='del'>-	  formatter, e.g. "%E".  [ruby-dev:37170] fix: #787</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): clear flags before processing unknown</div><div class='del'>-	  formatter, e.g. "%i".  [ruby-dev:37180]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 10:35:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): "%^P" should convert to upper case.</div><div class='del'>-	  [ruby-dev:37180]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 07:51:18 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (FMT): use "%0d" formatter for zero padding, not "%.d".</div><div class='del'>-	  [ruby-dev:37168]  fix: #768</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): %s to use zero padding by default.</div><div class='del'>-	  [ruby-dev:37180]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 03:37:42 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/tabset.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/blt/tabnotebook.rb:</div><div class='del'>-	  fix many bugs. Now, those work properly.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 03:26:04 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step): treat infinite step specially.</div><div class='del'>-	  [ruby-dev:37157] fix: #781.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 01:23:25 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (strftime): ignores '_' flag for %[LN].</div><div class='del'>-</div><div class='del'>-Tue Nov 25 00:08:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): stops the timer thread during fork.</div><div class='del'>-	  [ruby-dev:37117]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_start_timer_thread): timer thread needs</div><div class='del'>-	  system_working to be set.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 23:27:28 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): The # flag should work with %a, %A, %b,</div><div class='del'>-	  %B, and %h.  [ruby-dev:37162]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 23:16:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (register_sigaltstack): should not add external</div><div class='del'>-	  variable (with some cosmetic changes).  [ruby-dev:37158]</div><div class='del'>-</div><div class='del'>-Mon Nov 24 22:57:25 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): A width specifier for %t and %n should</div><div class='del'>-	  work.  [ruby-dev:37160]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 22:07:07 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): The precision of %0N should be 9.</div><div class='del'>-	  [ruby-dev:37156]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 21:38:23 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): The default precision should be 1, not</div><div class='del'>-	  0.  [ruby-dev:37155]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 19:53:47 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (inspect): changed again.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 18:35:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: r20251 reverted.  The patched behavior do not round</div><div class='del'>-	  trip.  [ruby-core:19988]</div><div class='del'>-</div><div class='del'>-Sun Nov 23 16:04:05 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (default_handler, Init_signal): compile error if</div><div class='del'>-	  USE_SIGALTSTACK is not defined.</div><div class='del'>-</div><div class='del'>-Sun Nov 23 00:04:14 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ALT_STACK_SIZE): 4KB is not enough on Mac OS X.</div><div class='del'>-	  Uses SIGSTKSZ.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 21:29:54 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb (test_default_accessibility): test case for</div><div class='del'>-	  [ruby-dev:37124].</div><div class='del'>-</div><div class='del'>-Sat Nov 22 18:24:24 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_world_writable_p): should return nil for non</div><div class='del'>-	  world-writable files.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 10:31:25 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt.rb, ext/tk/lib/tkextlib/blt/vector.rb:</div><div class='del'>-	  fix NameError bug.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 03:41:22 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): abandon asynchronous exception</div><div class='del'>-	  that might cause serious problem if a program terminated early.</div><div class='del'>-	  asynchronous exception is a very bad thing anyway.  use</div><div class='del'>-	  Process.waitpid(pid) or PTY.check(pid) to poll program</div><div class='del'>-	  termination. if PTY.check is called with optional second</div><div class='del'>-	  argument being true, it raises an exception same as one from</div><div class='del'>-	  previous behavior.  [incompatible] fix: [ruby-core:19583]</div><div class='del'>-</div><div class='del'>-Fri Nov 21 22:24:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_escdelay_set): support ESCDELAY.  a</div><div class='del'>-	  patch from Giancarlo F Bellido &lt;support at coaxialhost.com&gt; in</div><div class='del'>-	  [ruby-core:19961].</div><div class='del'>-</div><div class='del'>-Fri Nov 21 22:17:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): -W description updated.  [ruby-core:19858]</div><div class='del'>-</div><div class='del'>-Fri Nov 21 21:50:54 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (register_sigaltstack): use alternative stack for</div><div class='del'>-	  SIGSEGV to avoid uncaught stack overflow. based on a patch from</div><div class='del'>-	  Hiro Yoshioka &lt;hyoshiok at miraclelinux.com&gt; in [ruby-dev:37134].</div><div class='del'>-	  [ruby-dev:36993]</div><div class='del'>-</div><div class='del'>-Fri Nov 21 16:06:54 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): th-&gt;vm may be NULL when pthread_create</div><div class='del'>-	  failed for ENOMEM.  [ruby-dev:37095]</div><div class='del'>-</div><div class='del'>-Thu Nov 20 07:33:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger): should handle the case that cvs/svn do</div><div class='del'>-	  not expand $Id keyword.  [ruby-core:19991]</div><div class='del'>-</div><div class='del'>-Thu Nov 20 07:27:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (MiniTest::Assertions#capture_io): adjust</div><div class='del'>-	  indentation to shut up warning.  [ruby-core:19993]</div><div class='del'>-</div><div class='del'>-Wed Nov 19 17:48:05 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_mktime): return DateTime for a value</div><div class='del'>-	  out of range of Time.   [ruby-core:19919]</div><div class='del'>-</div><div class='del'>-Wed Nov 19 14:14:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (NOEX_MODFUNC): should be include NOEX_PRIVATE.</div><div class='del'>-	  [ruby-dev:37124]</div><div class='del'>-</div><div class='del'>-Wed Nov 19 03:01:04 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: fixed fails occasionally [ruby-dev:37119].</div><div class='del'>-	  thanks, shinichiro.h.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 02:39:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_syserr): moved function definition itself from</div><div class='del'>-	  template/known_errors.inc.tmpl.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 01:10:52 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbConn::alive?): fixed NoMethodError problem</div><div class='del'>-	  from NaHi [ruby-dev:37110].</div><div class='del'>-</div><div class='del'>-Wed Nov 19 01:05:26 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_mark, cont_capture, cont_restore_1): speed up</div><div class='del'>-	  continuation by copying only valid YARV stack.  [ruby-dev:37106]</div><div class='del'>-</div><div class='del'>-Wed Nov 19 00:03:13 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: according to RFC2822, -0000 means local time, +0000</div><div class='del'>-	  means UTC.  a patch from Chun Wang.   [ruby-core:19578]</div><div class='del'>-</div><div class='del'>-Tue Nov 18 23:02:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_eq): equivalence check should not done by pointer</div><div class='del'>-	  comparison, but should be based on iseq contents.   [ruby-dev:37101]</div><div class='del'>-</div><div class='del'>-Tue Nov 18 20:30:08 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#open_socket): SOCKSsocket is obsolete.</div><div class='del'>-	  a patch from Alan Johnson &lt;alan.wayne.johnson at gmail.com&gt; in</div><div class='del'>-	  [ruby-core:19982].</div><div class='del'>-</div><div class='del'>-Tue Nov 18 16:18:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (ProgName): fixed for svn, based on a patch from</div><div class='del'>-	  Nobuhiro IMAI at [ruby-dev:37108].</div><div class='del'>-</div><div class='del'>-Tue Nov 18 15:56:55 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_request_line):</div><div class='del'>-	  use possessive match for path retrieval to avoid huge recursion</div><div class='del'>-	  for insanely long path.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 15:50:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_desc): re might be NULL.</div><div class='del'>-</div><div class='del'>-	* regerror.c (onig_error_code_to_format): message updated.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 09:42:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::make_switch): makes default</div><div class='del'>-	  conversion to splat.  [ruby-list:45645]</div><div class='del'>-</div><div class='del'>-Mon Nov 17 18:05:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (LIBS): fixed for disable-shared.  [ruby-dev:37103]</div><div class='del'>-</div><div class='del'>-Mon Nov 17 11:12:24 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb: remove -K option.</div><div class='del'>-</div><div class='del'>-Mon Nov 17 02:19:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBYARG_STATIC): fixed for --enable-rpath.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 22:46:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): returns -1 unless ascii as well as</div><div class='del'>-	  rb_enc_ascget().  [ruby-dev:37097]</div><div class='del'>-</div><div class='del'>-Sat Nov 15 22:23:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LDSHARED): do not suppress debug info if higher debug</div><div class='del'>-	  level is given, on cygwin and mingw.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 20:27:46 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja, vm_exec.c, vm_insnhelper.c: update</div><div class='del'>-	  filenames.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 11:31:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): gets rid of recursive deadlock.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 06:08:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_{new,wait,release,destroy}): use Mutex so that</div><div class='del'>-	  circular requires fail with deadlock.  [ruby-core:19821]</div><div class='del'>-</div><div class='del'>-Wed Nov 12 07:16:01 2008  David Flanagan  &lt;david@think32&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_internal_encoding_once): fix typo in error string</div><div class='del'>-</div><div class='del'>-Wed Nov 12 03:30:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_{external,locale}_str_new_cstr): optimized</div><div class='del'>-	  versions for literal strings.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 03:28:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): destroys barrier after successfully</div><div class='del'>-	  loaded, to get rid of loading same library again.  [ruby-core:19798]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): can not wait destroyed barrier.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_destroy): destroys barrier so that no longer</div><div class='del'>-	  waited.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 23:02:27 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1 (RUBYOPT): wrote which option can appear.</div><div class='del'>-	  (--yydebug): wrote "do not use".</div><div class='del'>-	  (--dump): wrote "do not use".</div><div class='del'>-</div><div class='del'>-Tue Nov 11 21:22:28 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#check_path): REL_PATH should a</div><div class='del'>-	  symbol.  [ruby-core:19805]</div><div class='del'>-</div><div class='del'>-Tue Nov 11 20:49:29 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix SEGV on Mac OS X 10.5.3 with pthread.</div><div class='del'>-	  a patch from Wataru Kimura in Bug #193 [ruby-core:17333].</div><div class='del'>-</div><div class='del'>-Tue Nov 11 20:39:27 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (inspect): reverted the previous change.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 17:35:25 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_accept): secure fd before accept because if</div><div class='del'>-	  error causes in securing, cannot restore the state of accepted</div><div class='del'>-	  socket.</div><div class='del'>-	  fixed [ruby-core:19728]</div><div class='del'>-</div><div class='del'>-Tue Nov 11 14:40:40 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: unnecessary setup method</div><div class='del'>-	  (setup_really_needed?) removed</div><div class='del'>-</div><div class='del'>-Tue Nov 11 14:25:25 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans, macgreek-tbl.rb, macroman-tbl.rb,</div><div class='del'>-	  macromania-tbl.rb, macturkish-tbl.rb, macukraine-tbl.rb,</div><div class='del'>-	  ibm437-tbl.rb, ibm852-tbl.rb, ibm855-tbl.rb, ibm857-tbl.rb,</div><div class='del'>-	  ibm860-tbl.rb, ibm861-tbl.rb, ibm862-tbl.rb, ibm863-tbl.rb,</div><div class='del'>-	  ibm865-tbl.rb, ibm866-tbl.rb, ibm869-tbl.rb, ibm775-tbl.rb:</div><div class='del'>-	  new single-byte transcodings (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Tue Nov 11 13:20:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_r): moved from</div><div class='del'>-	  bigdecimal/util, converted into C.  [ruby-dev:36805]</div><div class='del'>-</div><div class='del'>-Tue Nov 11 07:55:57 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (inspect): changed the format.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 17:34:50 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/sdbm/test_sdbm.rb (TestSDBM#test_index): Reflect the method</div><div class='del'>-	  name change from #index to #key and remove a duplicated test</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 10:50:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator.delegating_block): should not refer</div><div class='del'>-	  DelegateClass specific @delegate_dc_obj.  a patch from Erik</div><div class='del'>-	  Hollensbe in [ruby-core:19671].</div><div class='del'>-</div><div class='del'>-Mon Nov 10 09:54:21 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (ifs_open_socket): should retry without proto_buffer</div><div class='del'>-	  if cannot find the suitable protocol. a patch from Heesob Park.</div><div class='del'>-	  fixed [ruby-core:19713]</div><div class='del'>-</div><div class='del'>-Sun Nov  9 13:04:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_initialize_m): avoid unnecessary array</div><div class='del'>-	  allocation.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 04:10:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (control_frame_dump): suppresses finished method name.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 00:30:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): checks working flags again.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 00:02:01 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session/pstore.rb: fix indentation.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 23:47:45 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (FileStore): use marshalized data.</div><div class='del'>-</div><div class='del'>-	* test/cgi/session_dir: add a session directory in test.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_session.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 21:57:03 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb: remove debug code.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 21:33:53 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb: fix indentation.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 18:11:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT):</div><div class='del'>-	  use #bytesize instead of #size.  a patch submitted from</div><div class='del'>-	  raspberry lemon in [ruby-core:18571].</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb, lib/webrick/httpproxy.rb,</div><div class='del'>-	  lib/webrick/httprequest.rb, lib/webrick/httpservlet/cgi_runner.rb,</div><div class='del'>-	  lib/webrick/httpservlet/abstract.rb, lib/webrick/httpresponse.rb,</div><div class='del'>-	  lib/webrick/httpservlet/cgihandler.rb, lib/webrick/utils.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 17:31:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): ungetc position should</div><div class='del'>-	  not be changed from 1.8.  [ruby-core:19632]</div><div class='del'>-</div><div class='del'>-Sat Nov  8 17:15:08 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#make_switch): 1.9 Symbols respond</div><div class='del'>-	  to :match.  a patch from keith cascio, &lt;keith at ucla.edu&gt;.</div><div class='del'>-	  [ruby-core:19730]</div><div class='del'>-</div><div class='del'>-Sat Nov  8 12:10:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_index): make #index warn like Hash.</div><div class='del'>-	  [ruby-dev:37039]</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (Init_sdbm): typo fixed.  [ruby-dev:37039]</div><div class='del'>-</div><div class='del'>-Sat Nov  8 07:07:48 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: detect stdio buffer pointers for uClibc.  a patch</div><div class='del'>-	  from Brian Candler &lt;B.Candler at pobox.com&gt; in [ruby-core:12020].</div><div class='del'>-	  [ruby-core:19713]</div><div class='del'>-</div><div class='del'>-Sat Nov  8 06:51:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_index): make #index warn like Hash.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_key): new method.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 06:20:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: curses encoding should obey locale.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_getch): 1.9 getch should return one</div><div class='del'>-	  character string for single byte string.  wchar_t support may</div><div class='del'>-	  follow in the future.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 05:46:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): added write_lock to serialize.</div><div class='del'>-	  [ruby-core:19668]</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark write_lock.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): Mutex also needs to be</div><div class='del'>-	  deferred.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush, io_binwrite, fptr_finalize): serializes writing.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 05:31:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c (safe_setter): add warning for $SAFE=3.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 01:48:07 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): do not wait never</div><div class='del'>-	  coming signal if failed to create timer thread.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_timedwait): returns error code.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): typo fixed.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 01:14:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer, rb_thread_create_timer_thread):</div><div class='del'>-	  handshakes properly.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 22:51:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): do not repeat.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 22:46:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): initializes mutex each time.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 21:23:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (thread_start_func_1): use already gotten stack info.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 12:26:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (IRB::Irb#eval_input): remove extra  @context.prompt_i.</div><div class='del'>-	  [ruby-core:19718]</div><div class='del'>-</div><div class='del'>-Fri Nov  7 11:55:30 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* nkf.c: update to r1.188. fixes for 16bit environment.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 07:43:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_timer): pthread_cond_timedwait returns ETIMEDOUT</div><div class='del'>-	  when timed out.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 07:32:55 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: support Rational and Complex as 1.8</div><div class='del'>-	  does.  a patch from Hiroshi Moriyama in [ruby-dev:36899].</div><div class='del'>-</div><div class='del'>-Fri Nov  7 07:12:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): uses pthread_cond_timedwait always</div><div class='del'>-	  instead of pthread_kill.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 06:58:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): remove Symbol#===.  [ruby-dev:37026]</div><div class='del'>-</div><div class='del'>-Fri Nov  7 04:02:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_timer): uses timedwait on cygwin.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 02:00:12 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/entity.rb (unnormalized): do not call</div><div class='del'>-	  document.record_entity_expansion if document is nil.</div><div class='del'>-	  see &lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502535&gt;.</div><div class='del'>-	  Thanks, Naohisa Goto.</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 01:24:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: binary encoding spec is no longer needed in 1.9.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 22:21:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_stop_timer_thread): terminates timer thread</div><div class='del'>-	  immediately.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 21:21:46 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_s_connect, fole_initialize,</div><div class='del'>-	  folevariant_initialize): check argument type of WIN32OLE.connect,</div><div class='del'>-	  WIN32OLE.new, WIN32OLE_VARIANT.new.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_s_new_exc, test_s_connect_exc):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_s_new_exc): ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb: add assertion of</div><div class='del'>-	  WIN32OLE_METHOD.new.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 13:08:01 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit.setup_argv): now can specify ``-xname''</div><div class='del'>-	  instead of ``-x name''.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 08:00:00 2008  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb(test_readchar): compare in same type.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 03:28:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_join): do not repeat self in a recursive array.</div><div class='del'>-	  [ruby-dev:37019]</div><div class='del'>-</div><div class='del'>-Tue Nov  4 01:56:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_mutex_synchronize): fixed prototype.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_synchronize): fixed function name.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 16:32:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing.h: needs RUBY_EXTERN instead of extern for mswin.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 13:01:13 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_take_first_or_last): renamed rb_ary_partial more</div><div class='del'>-	  appropriately.</div><div class='del'>-	  (ary_take_pos_flags): new enum. makes the fourth argument of</div><div class='del'>-	  rb_ary_take_first_or_last more descriptive.</div><div class='del'>-	  (rb_ary_partial): renamed rb_ary_partial0 more appropriately.</div><div class='del'>-	  takes a new parameter klass for what class to instantiate.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 13:00:26 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_beg_len): rb_raise takes C values as arguments.</div><div class='del'>-	  [BUG] ranges turned into other value in a message of RangeError.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 00:36:44 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: rename test class.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant_outarg.rb: add in order</div><div class='del'>-	  to use ADO instead of Internet Explorer.</div><div class='del'>-	  remove test/win32ole/test_win32ole_variant_with_ie.rb.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/orig_data.csv: ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  2 23:08:08 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb: add teardown.</div><div class='del'>-</div><div class='del'>-Sun Nov  2 22:12:41 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_event_free): invoke IConnectionPoint::Unadvise</div><div class='del'>-	  before invoking IConnectionPoint::Release.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb, test/win32ole/err_in_callback.rb,</div><div class='del'>-	  test/win32ole/test_err_in_callback.rb: Use ActiveX Data Object</div><div class='del'>-	  Library instead of InternetExplorer.</div><div class='del'>-</div><div class='del'>-Sun Nov  2 22:06:55 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: add RUNRUBYOPT. [ruby-dev:37009]</div><div class='del'>-</div><div class='del'>-Sun Nov  2 16:41:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib): defines readbyte instead redefining</div><div class='del'>-	  readchar.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 07:09:40 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: Don't require rubygems/defaults.rb.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 21:58:50 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/converter.rb (RSS::Converter): use String#encode.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 21:28:14 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb</div><div class='del'>-	  (WEBrick::HTTPAuth::DigestAuth#initialize): fix typo.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 18:51:42 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_array_subclass): test for r20076.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 18:42:19 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_partial0): recovers the mistakenly changed feature at r19723.</div><div class='del'>-	  Array#[m,n] had returned an Array even for an instance of a</div><div class='del'>-	  subclass.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 18:05:05 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans, maccroatioan-tbl.rb,</div><div class='del'>-	  maccyrillic-tbl.rb, maciceland-tbl.rb: new single-byte</div><div class='del'>-	  transcodings (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests for the above</div><div class='del'>-	  (from Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Fri Oct 31 12:51:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_globs): need taint check.  reported by steve</div><div class='del'>-	  &lt;oksteev at gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Fri Oct 31 12:42:45 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_decrement_share): fix to work recycling</div><div class='del'>-	  shared-array without the following.  [ruby-dev:36991]</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_substitution): don't recycle substitution array.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 12:27:52 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: supports that the build directory != srcdir.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 11:35:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_internal): no alias "internal" if</div><div class='del'>-	  default internal is not set.  [ruby-dev:37000]</div><div class='del'>-</div><div class='del'>-Fri Oct 31 08:16:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): delays setting safe level.</div><div class='del'>-	  [ruby-dev:36997]</div><div class='del'>-</div><div class='del'>-Thu Oct 30 21:32:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): hide temporal array.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 14:45:45 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: refactoring to make it easier</div><div class='del'>-	  to add more transcodings (with Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-1-tbl.rb: new file to avoid having to</div><div class='del'>-	  treat ISO-8859-1 as special</div><div class='del'>-</div><div class='del'>-Thu Oct 30 14:10:46 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): templates a, A, Z should propagate encoding</div><div class='del'>-	  of original strings.  templates b, B, h, H brings ASCII-8BIT to</div><div class='del'>-	  the result.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 10:34:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (moreswitches): splits option string and passes arguments.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): checks if allowed in RUBYOPT.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): allows long style options in RUBYOPT.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): ditto in shebang.  [ruby-dev:36979]</div><div class='del'>-</div><div class='del'>-Thu Oct 30 09:31:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encoding): makes an alias for locale.</div><div class='del'>-	  [ruby-dev:36976]</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_external): ditto for external.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_default_internal): ditto for internal.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 03:30:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): should not set script encoding to</div><div class='del'>-	  ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): do not auto convert scripts even</div><div class='del'>-	  when default_internal is set.  [ruby-core:19579]</div><div class='del'>-</div><div class='del'>-Thu Oct 30 02:20:33 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): remove SEGV when replacing array with</div><div class='del'>-	  embedded one during sort.  [ruby-dev:36983]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sort!): add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 01:44:23 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add some tests.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 01:32:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_splice): remove redundant check.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 01:24:55 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp): fix condition which always returned true</div><div class='del'>-	  because ENCODING_GET returns unsigned long.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 01:10:32 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_permutation): add a test that replaces</div><div class='del'>-	  array during permutation.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 23:31:34 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_check_dummy_enc): new function to check dummy</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upcase_bang): case conversion functions should</div><div class='del'>-	  not be applicable to strings in dummy encoding.  [ruby-dev:36985]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 23:57:29 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): replacing array during sort broke</div><div class='del'>-	  invariant of array.  [ruby-dev:36983]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 21:06:46 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_rewind): should reset fptr-&gt;readconv if it's</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-	* io.c (more_char): clear readconv at EOF.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: should not read after EOF.  use rewind</div><div class='del'>-	  instead.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 20:45:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/utils.rb (start_server): provide a reference to log of</div><div class='del'>-	  webrick.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpproxy.rb, test/webrick/test_httpauth.rb,</div><div class='del'>-	  test/webrick/test_cgi.rb, test/webrick/test_httpserver.rb,</div><div class='del'>-	  test/webrick/test_server.rb, test/webrick/test_filehandler.rb: use</div><div class='del'>-	  webrick log as an assertion message.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 16:41:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): set encoding from packing string and UTF-8 for</div><div class='del'>-	  "U".  [ruby-core:19590]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 15:50:00 2008  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (imp1, imp2): should declare type.</div><div class='del'>-	  [BUG] at IA-64</div><div class='del'>-</div><div class='del'>-Wed Oct 29 14:36:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (revision.h): have to be updated daily or by non-trivial</div><div class='del'>-	  commits.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 13:18:02 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* README, README.ja: Update the portability section.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 13:02:17 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_lib_xpg4_needed): Drop legacy FreeBSD</div><div class='del'>-	  support regarding libxpg4.  Those old versions of FreeBSD</div><div class='del'>-	  shipped with the library don't have a working pthread library</div><div class='del'>-	  anyway.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:50:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (dln-a-out): cannot make shared library nor work with</div><div class='del'>-	  ELF.  [ruby-core:19571]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:00:25 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open): shouldn't seek here.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write): write to the end of the file when</div><div class='del'>-	  FAPPEND is specified.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 09:30:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): cache common interned IDs.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 00:43:39 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: uses macro in declarations.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 00:26:00 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open): need to seek to the end of the file when</div><div class='del'>-	  O_APPEND is specified.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 00:08:05 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (rb_math_{atan2,cos,cosh,hypot,log,sin,sinh,sqrt}): added.</div><div class='del'>-</div><div class='del'>-	* complex.c: follows the above change.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 23:29:06 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (kanji_convert): output unicode chars.</div><div class='del'>-	  [ruby-dev:36957]</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (numchar_getc): increase buffer size.</div><div class='del'>-	  reported and patched at [ruby-dev:36957] by mame.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 23:03:46 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: filled all patterns for testing</div><div class='del'>-	  vm_yield_setup_args.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 23:05:35 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: continues to support canonicalization *unofficially*</div><div class='del'>-	  for an odd library mathn for the time being (only 1.9.x).</div><div class='del'>-	  since grand mathn must be very very special library for us.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/mathn/*/*: follow the above changes.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 21:31:55 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): check EOF explicitly.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 20:59:12 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (extract_binmode): new function to extract binmode/textmode</div><div class='del'>-	  options from hash.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): use above function.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): recognize binmode/textmode options.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 20:15:49 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_readconv): now can specify the size of cbuf.</div><div class='del'>-</div><div class='del'>-	* io.c (read_all, appendline, io_getc, rb_io_ungetc): follow above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 19:00:51 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec): internal fds should be always</div><div class='del'>-	  binmode.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 17:21:18 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot.rb: merged from ruby_1_9_1.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 16:56:31 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: merged from ruby_1_9_1 branch.</div><div class='del'>-	  considers --program-suffix and prefix configure options.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/defaults.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb (@default_dir_re): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 16:13:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: use String#bytesize.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 09:51:48 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: ignore some exceptions.</div><div class='del'>-	  [ruby-dev:36951]</div><div class='del'>-</div><div class='del'>-Tue Oct 28 09:19:40 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (RUNRUBY): now ruby requires something from</div><div class='del'>-	  gem_prelude, so need to set library path.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 22:29:11 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_args): supports optional parameters.</div><div class='del'>-	  Fixed [ruby-core:19503].</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): a new function. extracted</div><div class='del'>-	  from vm_yield_setup_args.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args_complex): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: added tests for arguments on a Proc from</div><div class='del'>-	  Kernel#proc called.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 20:03:05 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/mathn/complex/complex.c: no need to define rb_cComplex because</div><div class='del'>-	  it's already defined at $(srcdir)/complex.c.</div><div class='del'>-</div><div class='del'>-	* ext/mathn/rational/rational.c: no need to define rb_cRational because</div><div class='del'>-	  it's already defined at $(srcdir)/rational.c.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 15:58:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): preserves $..  [ruby-dev:36937]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_init): initial value of $. should be 0.</div><div class='del'>-	  see [ruby-dev:36937].</div><div class='del'>-</div><div class='del'>-Mon Oct 27 15:38:38 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_mini_test.rb</div><div class='del'>-	  (test_assert_raises_triggered_different): the test failed when a</div><div class='del'>-	  file path in the backtrace contains something except [\w\/\.],</div><div class='del'>-	  e.g. hyphen, Japanese characters or backslash.</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_mini_test.rb</div><div class='del'>-	  (test_assert_raises_triggered_subclass): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 15:32:08 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_mini_test.rb: fixed that r19958 made</div><div class='del'>-	  test-all fail when the ruby was built at $(srcdir).</div><div class='del'>-</div><div class='del'>-Mon Oct 27 12:04:58 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: reverted the changeset 19948 because it</div><div class='del'>-	  concealed unexpected behaviours of ruby.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 12:02:53 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert): should specify type of variable.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 11:34:56 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_mini_test.rb (test_filter_backtrace):</div><div class='del'>-	  fixed failure on Ruby built at out of $(srcdir).</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_mini_test.rb (test_Filter_backtrace_unit_starts):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 10:02:47 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): the 3rd argument maybe Qnil.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 01:29:55 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/nkf/test_nkf.rb: add a test for [ruby-dev:36909].</div><div class='del'>-</div><div class='del'>-Mon Oct 27 01:05:48 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert): avoid GC.</div><div class='del'>-	  reported in [ruby-dev:36909] and patched [ruby-dev:36941] by mame.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 21:28:42 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/json/test_json.rb: remove dependency on permutation gem.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 19:18:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (blocking_region_{begin,end}): declared as inline.</div><div class='del'>-</div><div class='del'>-	* util.c (freedtoa): used only when MULTIPLE_THREADS is not defined.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe): serial is DWORD.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (sGroup): getgrent may not be available.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 18:11:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/{extconf.rb,wait.c}: needs sys/ioctl.h for fcntl on</div><div class='del'>-	  cygwin.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 18:18:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: disables debug and verbose flags to suppress failure</div><div class='del'>-	  messages.  interpolation does not occur inside single quotes.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 18:42:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_in_out_err): disables builtin rubygems</div><div class='del'>-	  to get rid of the interference.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (ruby): ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 13:30:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): use the given buffer to read when needs readconv.</div><div class='del'>-	  based on the patch by wanabe &lt;s.wanabe AT gmail.com&gt; at</div><div class='del'>-	  [ruby-dev:36931].</div><div class='del'>-</div><div class='del'>-Sun Oct 26 07:57:35 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Update to RubyGems 1.3.1 r1909.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 07:35:56 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb: Imported minitest 1.3.0 r4429.</div><div class='del'>-	* test/minitest/*: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 02:16:29 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in ($MANTYPE): followed ruby.1, which had moved.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (:man): ditto.</div><div class='del'>-</div><div class='del'>-	* mdoc2man.rb: fixed for the case Xr with 2 arguments.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 01:42:45 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/irb.1: new manual page.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 00:11:48 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: moved into man/. added some descriptions.</div><div class='del'>-</div><div class='del'>-	* man/goruby.1: new file.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (:man): followed ruby.1.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 20:05:22 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result): bug fix. The millisecond is 1/1000.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 11:12:40 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): updated the description of -E option.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 09:54:10 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb:  Fixed a bug in read_to_char() that would slurp</div><div class='del'>-	  whole files if the encoding was invalid.  It will now read</div><div class='del'>-	  up to 10 bytes ahead to find a valid character boundary or</div><div class='del'>-	  give up.  [ruby-core:19465]</div><div class='del'>-</div><div class='del'>-	* test/csv/test_features.rb, test/csv/test_table.rb, test/csv/test_row.rb:</div><div class='del'>-	  Loosened some tests to check for a compatible? Encoding instead</div><div class='del'>-	  of an exact Encoding.  [ruby-core:19470]</div><div class='del'>-</div><div class='del'>-Sat Oct 25 07:42:49 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*: Update to RDoc 2.2.2 r192.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 04:00:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/us_ascii.c (us_ascii_mbc_enc_len): made static.  a patch by</div><div class='del'>-	  Tadashi Saito &lt;shiba AT mail2.accsnet.ne.jp&gt; at [ruby-dev:36916]</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_buff): made static.  a patch by Tadashi Saito</div><div class='del'>-	  &lt;shiba AT mail2.accsnet.ne.jp&gt; at [ruby-dev:36915]</div><div class='del'>-</div><div class='del'>-	* util.c (freedtoa): made static to get rid of name clash.  a patch by</div><div class='del'>-	  Tadashi Saito &lt;shiba AT mail2.accsnet.ne.jp&gt; at [ruby-dev:36913]</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_dtoa): added prefix, ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 03:43:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): need to adjust lpar_beg for both of the parser and</div><div class='del'>-	  ripper.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 01:29:34 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/mathn/rational/rational.c: undef duplicated macro definition</div><div class='del'>-	  first to shut up the warning.</div><div class='del'>-</div><div class='del'>-	* ext/mathn/rational/rational.c (rb_rational_new_mathn): specify</div><div class='del'>-	  omitted return value.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 00:14:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): fixed sizes and randomness.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 23:04:42 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (sitedir): considers --program-prefix and</div><div class='del'>-	  --program-suffix.</div><div class='del'>-	  (vendordir): ditto.</div><div class='del'>-	  (rubyhdrdir): ditto.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (CONFIG["rubylibdir"]): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (:rdoc): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 22:59:27 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sample): add tests for size of</div><div class='del'>-	  returned array and randomness.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 21:50:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id.h, template/id.h.tmpl (enum ruby_method_ids): reordered.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 21:19:45 2008  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/mathn/rational.c: change several global functions.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 21:05:38 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/html.rb: allow symbolized key.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_tag_helper.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 20:54:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (exts): renamed to get rid of the existent directory.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 20:45:41 2008  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/mathn/rational.c: change several global functions to static</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 19:57:19 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): should have removed commented out</div><div class='del'>-	  unnecessary code.  [ruby-cvs:27131]</div><div class='del'>-</div><div class='del'>-Fri Oct 24 19:16:36 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id.h (enum ruby_method_ids): ISO C forbids comma at end of</div><div class='del'>-	  enumerator list.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 18:29:00 2008  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: moved into ext/mathn/rational/rational.c and</div><div class='del'>-	  ext/mathn/complex/complex.c.</div><div class='del'>-	* ext/mathn: new mathn ext-libraries.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 18:21:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (TestArray#test_join): should restore</div><div class='del'>-	  global variable after the test.  [ruby-dev:36896]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (TestHash#test_to_s): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 17:43:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): need to adjust lpar_beg for ripper as well.</div><div class='del'>-	  [ruby-dev:36702]</div><div class='del'>-</div><div class='del'>-Fri Oct 24 16:13:12 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (read_multipart): change field value as String</div><div class='del'>-	  from StringIO or Tempfile when multipart parse except file field.</div><div class='del'>-	  add files method that can get uploaded files. [ruby-dev:36547]</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb: fix the test for core.rb.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 14:22:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext): split out the target for extension library.</div><div class='del'>-</div><div class='del'>-	* common.mk (encs): depends on enc and trans.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 10:23:24 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_exit_action): Thread</div><div class='del'>-	  may terminate before sysread. [ruby-dev:36835]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 22:06:23 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* distruby.rb: removed. "make dist" uses tool/make-snapshot for the 1.9</div><div class='del'>-	  series. distruby.rb has been no longer used.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 17:30:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_instance_methods): rdoc fixed.  [ruby-core:19458]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 16:19:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB.load_modules): catch LoadError explicitly.</div><div class='del'>-	  a patch from Daniel Berger &lt;Daniel.Berger at qwest.com&gt; in</div><div class='del'>-	  [ruby-core:19451].  fix [ruby-core:19450]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 16:16:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyport): check if the port range.</div><div class='del'>-	  [ruby-core:19460]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 14:08:07 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyname): unuse unnecessary</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyport): the port should be</div><div class='del'>-	  converted before the proto so that the #to_int of the former cannot</div><div class='del'>-	  alter the latter.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 10:55:08 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): use \u{ff} escape for UTF-8 encoding</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 09:26:22 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyport): cast to get rid of</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 08:06:03 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyport): port should be</div><div class='del'>-	  network byte order.  a patch from Dave Thomas in [ruby-core:19454].</div><div class='del'>-</div><div class='del'>-Thu Oct 23 01:26:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_conv_enc_opts): new function to convert with</div><div class='del'>-	  specifying ecflags and ecopts.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_newstr): specify ecflags and ecopts for</div><div class='del'>-	  conversion using above function.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_newstr): use own rb_econv_t for dummy</div><div class='del'>-	  encoding to handling stateful encoding (e.g. iso-2022-jp).</div><div class='del'>-	  [ruby-dev:36857]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_getc): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 01:24:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_tmpsrc): get rid of side effects.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 00:10:01 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: separate data structure between rb_fiber_t and</div><div class='del'>-	  rb_context_t (rb_fiber_t includes rb_context_t).</div><div class='del'>-	  rb_fiber_t has double linked list of fibers in same threads.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 17:25:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): remove unnecessary flush before fork.</div><div class='del'>-	  a patch from Kazuhiro NISHIYAMA &lt;zn at mbf.nifty.com&gt;</div><div class='del'>-	  in [ruby-dev:36840].</div><div class='del'>-</div><div class='del'>-Wed Oct 22 16:27:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_args): should not drop arguments</div><div class='del'>-	  corresponding to default parameters.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 14:59:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_larglist): should not allow semicolon separated local</div><div class='del'>-	  variable declarations if formal argument list is not surrounded</div><div class='del'>-	  by parentheses, mostly because semicolon outside of parentheses</div><div class='del'>-	  appears to terminate the expression.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 14:52:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_with_enc): no implicit strlen call.</div><div class='del'>-	  [ruby-dev:36854]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_cstr): new function to create</div><div class='del'>-	  string from external NUL terminated C string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_locale_str_new_cstr): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: now use rb_locale_str_new_cstr().</div><div class='del'>-</div><div class='del'>-	* test/sdbm/test_sdbm.rb (TestSDBM#test_delete_with_block):</div><div class='del'>-	  deleted key to the block may be a copy of specified key.</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb (TestDBM#test_delete_with_block): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 13:16:47 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_escaped_nonascii): back out the last change on</div><div class='del'>-	  the function.  [ruby-dev:36818]</div><div class='del'>-</div><div class='del'>-Wed Oct 22 07:09:19 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_ungetc): should be able to unget</div><div class='del'>-	  Fixnum.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): should convert unget</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetbyte): new method.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 05:46:25 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/vm.h: write a comment.</div><div class='del'>-</div><div class='del'>-	* common.mk: remove vm.h from any rules.</div><div class='del'>-	  vm.h is not needed on this version.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 05:39:39 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_concat_gen): concat target node should be NODE_ARRAY.</div><div class='del'>-	  [ruby-core:19413]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 00:29:13 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures</div><div class='del'>-	  [ruby-dev:36837].</div><div class='del'>-</div><div class='del'>-Wed Oct 22 00:22:06 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_with_enc): wrong condition to</div><div class='del'>-	  calculate strlen().</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: add encoding support.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 23:12:24 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): should convert writing</div><div class='del'>-	  string to the encoding of the buffer.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): typo fixed.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzwriter_write): oops, IO string conversion</div><div class='del'>-	  need to be done by to_s.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 22:38:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): should adjust argc, argv in struct</div><div class='del'>-	  foreach_arg.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 21:52:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzwriter_write): conversion should be done</div><div class='del'>-	  using to_str, not to_s.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzwriter_write): need proper conversion</div><div class='del'>-	  according to gz encoding.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_ungetc): convert string encoding</div><div class='del'>-	  before unget.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 21:33:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_nothing_raised): raise with backtrace.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 20:12:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_nothing_raised): set backtrace.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 18:17:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: remove obsolete prototype macros.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (struct gzfile): add encoding field to gzfile</div><div class='del'>-	  structure.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_getc): now works on characters.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_getbyte): new method to retrieve</div><div class='del'>-	  single byte.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_readbyte): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_each_byte): renamed from each_char</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_ungetc): allow unget strings.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_ungetbyte): renamed from ungetc.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 13:28:42 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, include/ruby/intern.h (rb_io_ascii8bit_binmode): externed.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_sock): use rb_io_ascii8bit_binmode()</div><div class='del'>-	  instead of rb_io_binmode().</div><div class='del'>-</div><div class='del'>-Tue Oct 21 13:17:39 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* mdoc2man.rb: moved into tools/.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: followed the change of mdoc2man.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 11:34:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (strip_glibc_option, map_charset): check if</div><div class='del'>-	  encoding is a string.  based on the patch by Hiroshi Moriyama at</div><div class='del'>-	  [ruby-dev:36811].</div><div class='del'>-</div><div class='del'>-	* test/iconv/test_basic.rb (test_invalid_arguments): added tests.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 10:40:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_internal): should initialize fmode before using.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 08:56:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_char_class): CCV_SB is only for single</div><div class='del'>-	  byte.  [ruby-dev:36786]</div><div class='del'>-</div><div class='del'>-Tue Oct 21 01:49:55 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): plain rb/wb should set ASCII-8BIT</div><div class='del'>-	  to the external_encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (NEED_WRITECONV): no conversion when the external_encoding</div><div class='del'>-	  is ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-	* io.c (do_writeconv): skip ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 00:51:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ascii8bit_binmode): renamed from rb_io_binmode.</div><div class='del'>-	  (rb_io_binmode): don't change encoding conversion.</div><div class='del'>-	  (rb_io_binmode_m): call rb_io_ascii8bit_binmode.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 21:19:00 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (read_multipart): file's encoding is ascii-8bit</div><div class='del'>-	  from file field of multipart form.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 20:16:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib): add getbyte as an alias to getc.</div><div class='del'>-	  [ruby-dev:36801]</div><div class='del'>-</div><div class='del'>-Mon Oct 20 17:31:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): should not compare recursively.</div><div class='del'>-	  [ruby-dev:36796]</div><div class='del'>-</div><div class='del'>-Mon Oct 20 16:48:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ExportStringValue): new macro to convert</div><div class='del'>-	  string in internal encoding to external to export.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_export): new function to do conversion to</div><div class='del'>-	  external encoding.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: encoding conversion support.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 15:42:02 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_locale_str_new): new function to convert string</div><div class='del'>-	  from locale to internal encoding.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 09:47:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: search srcdir/test/arg at first to find test/ruby</div><div class='del'>-	  directory when "ruby" is specified.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 08:20:01 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: support Encoding.default_internal.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: improve the strategy for searching Tcl/Tk headers.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 00:57:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit.setup_argv): call given block for</div><div class='del'>-	  filtering files.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: search srcdir/test/arg, srcdir/arg.</div><div class='del'>-</div><div class='del'>-	* bin/testrb: show usage if no files given.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 21:19:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (srcs): removed ID_H_TARGET.</div><div class='del'>-</div><div class='del'>-	* tool/generic_erb.rb: always overwrites if no if-change option.</div><div class='del'>-	  sends the result to stdout if no output option.</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl: shows which token differs.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 18:15:15 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: adding WINDOWS-wwww encodings</div><div class='del'>-	  (wwww = 874/1250/1251/1253/1254/1255/1256/1257)</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* enc/trans/windows-wwww-tbl.rb: 8 new files</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added test_windows_wwww</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Sun Oct 19 07:37:13 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (log2,cbrt,frexp,ldexp,hypot,erf,erfc,gamma,lgamma):</div><div class='del'>-	  should be also provided as module function.  [ruby-dev:36787]</div><div class='del'>-</div><div class='del'>-Sun Oct 19 07:25:08 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* keywords, lex.c.src, opt_insn_unif.def, opt_operand.def: moved rarely changed</div><div class='del'>-	  input files for code generators into defs/ directory.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): followed keywords and lex.c.src.</div><div class='del'>-</div><div class='del'>-	* common.mk (parser.o): followed keywords.</div><div class='del'>-	  (INSNS): followed opt_*.def</div><div class='del'>-</div><div class='del'>-	* tools/instruction.rb: followed opt_*.def.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 12:28:01 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/*:  Renamed tc_* files to test_* to fit in within Ruby's</div><div class='del'>-	  testing process.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 00:15:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_nothing_thrown): don't intern.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 14:40:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_sadded): remove newly defined singleton method</div><div class='del'>-	  that should not exist after exception handling.  [ruby-dev:36569]</div><div class='del'>-</div><div class='del'>-Sat Oct 18 14:27:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (opt_block_arg): allow trailing comma after usual</div><div class='del'>-	  arguments.  not after block argument.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 13:30:53 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new): a new function to convert from</div><div class='del'>-	  external encoding to internal encoding.  if something went</div><div class='del'>-	  wrong, it returns a string with the external encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_with_enc): same as above besides</div><div class='del'>-	  you can specify the source encoding.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_set_argv): use rb_external_str_new()</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0, ruby_script): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 04:08:18 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): now Tempfile.new takes</div><div class='del'>-	  keyword arguments to open().  [ruby-dev:36756]</div><div class='del'>-</div><div class='del'>-Sat Oct 18 17:10:10 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: added set_valid_byte_pattern</div><div class='del'>-	  to reduce coupling between table generation script and</div><div class='del'>-	  specific encodings.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: using set_valid_byte_pattern</div><div class='del'>-</div><div class='del'>-Sat Oct 18 16:39:39 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: in transcode_search_path, eliminated a warning</div><div class='del'>-	  on cygwin about pathlen potentially not being initialized</div><div class='del'>-</div><div class='del'>-Sat Oct 18 13:40:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_nothing_thrown): implemented.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 01:33:22 2008  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: use added options for generic_erb.rb.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 00:47:51 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: don't recycle shared-array while sort!.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 22:04:38 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: recycle shared-array when it isn't referenced.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 20:29:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): specify ARG_ENCODING_NONE instead of</div><div class='del'>-	  ARG_ENCODING_FIXED for Regexp.new("", nil, "n").  [ruby-dev:36761]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_initialize): test</div><div class='del'>-	  updated.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 19:46:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ifchange, win32/ifchange.bat: --timestamp option added.</div><div class='del'>-</div><div class='del'>-	* tool/generic_erb.rb: --timestamp, --output and --if-change options</div><div class='del'>-	  added.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 18:33:12 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_resize_capa): renamed RESIZE_CAPA.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 18:16:51 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_sqrt_bigdecimal):</div><div class='del'>-	  test updated.  a patch from TAKANO Mitsuhiro &lt;takano32 at jus.or.jp&gt; in</div><div class='del'>-	  [ruby-dev:36736].</div><div class='del'>-</div><div class='del'>-Fri Oct 17 18:14:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (uncommon.mk): ignores failures at loading.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/gemutilities.rb (RubyGemTestCase#build_rake_in):</div><div class='del'>-	  get rid of interference with other tests.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 18:06:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): String#encode without argument now</div><div class='del'>-	  behave as if :undef =&gt; :replace, :invalid =&gt; :replace specified.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_prepare_opts): should preserve options in</div><div class='del'>-	  any case.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 11:48:18 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_sock): sockets should be binmode.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb (test_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 10:26:13 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/insns2vm.rb: remove -Kn option in shebang line because it's</div><div class='del'>-	  inconsistent with -Ks commandline option in common.mk.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 01:26:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): in_pos and out_pos never be</div><div class='del'>-	  NULL, now.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 00:39:19 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: sort the order of executing tests.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 00:24:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): reset encoding conversion.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 00:16:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_getc, rb_io_fread, rb_io_fwrite, rb_read_pending):</div><div class='del'>-	  remove deprecated functions which do not work.  [ruby-dev:36697]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 23:48:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (TESTS): removed to re-enable test for minitest.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 23:37:11 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): fix memory leak.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 23:27:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_equal): avoid incompatible character</div><div class='del'>-	  encodings error.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 23:23:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (assert_equal): failure message changed.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 22:52:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit: removed test/unit.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: new compatibility layer using minitest.</div><div class='del'>-</div><div class='del'>-	* bin/testrb: use above.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 14:34:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, enc/depend (enc, trans): targets for sources.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 14:30:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (lib): installs all files other than README etc.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 09:48:03 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): changed the message to clarify the</div><div class='del'>-	  third option argument is now ignored.  [ruby-dev:36753]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 08:14:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): no warning when default_external already</div><div class='del'>-	  set by -E.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_rubyopt):</div><div class='del'>-	  put -K after -E to set script encoding.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 06:20:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (TestTranscode#test_errors):</div><div class='del'>-	  String#encode now works without any argument. [ruby-dev:36740]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 23:48:22 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): REGEXP handling fixed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex_m): need not to call rb_enc_check on</div><div class='del'>-	  regexp.</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_escaped_nonascii): try ASCII-8BIT encoding for</div><div class='del'>-	  broken strings.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 23:11:10 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass): restored 1.8 behavior for</div><div class='del'>-	  DelegateClass as well.  [ruby-dev:36739]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 22:19:14 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (RESIZE_CAPA): check whether len is longer than capacity.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_compact_bang): resize ary before changing capacity.</div><div class='del'>-	  fixed [ruby-dev:36704]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 16:57:30 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_DESCRIPTION): remove unnecessary space.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 23:18:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator): simplified and restored 1.8</div><div class='del'>-	  behavior.  [ruby-dev:35986]</div><div class='del'>-</div><div class='del'>-Tue Oct 14 21:50:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (TESTS): skips minitest by default, since it interferes</div><div class='del'>-	  with test/unit.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 21:36:29 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (load_conv_function51932): check</div><div class='del'>-	  having IMultiLanguage2 or IMultiLanguage. [ruby-dev:36716]</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 20:45:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): $FILENAME and $* must be read-only.  [ruby-dev:36698]</div><div class='del'>-</div><div class='del'>-	* variable.c (*_getter, *_setter, *_marker): made public.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_gvar_*_{getter,setter,marker}): declared.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 20:32:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans (transcode_tblgen_singlebyte): renamed</div><div class='del'>-	  from transcode_tblgen_windows.</div><div class='del'>-	  (transcode_tblgen_iso8859): use transcode_tblgen_singlebyte.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 19:32:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): -U should be allowed in RUBYOPT</div><div class='del'>-	  environment variable.  [ruby-dev:36720]</div><div class='del'>-</div><div class='del'>-Tue Oct 14 14:11:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -U can be followed by other options.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 13:30:30 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: added windows-1252</div><div class='del'>-</div><div class='del'>-	* enc/trans/windows-1252-tbl.rb: new file</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: listed windows-1252 as '1byte'</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added test_windows_1252</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Tue Oct 14 12:22:32 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_variable.rb (TestVariable#test_variable): add</div><div class='del'>-	  a test of [ruby-dev:36698].</div><div class='del'>-</div><div class='del'>-Tue Oct 14 11:14:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): should not raise error when</div><div class='del'>-	  default_internal is not set.  [ruby-core:19309]</div><div class='del'>-</div><div class='del'>-Tue Oct 14 11:14:26 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: check for invalid APOP timestamp. (CVE-2007-1558)</div><div class='del'>-	  [ruby-dev:36631]</div><div class='del'>-</div><div class='del'>-	* test/net/pop/test_pop.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 09:39:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_internal_encoding_once): check double contradicted</div><div class='del'>-	  specification of the encoding from command line.</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_external_encoding_once): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 08:28:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): allow reserved word to be keyword argument.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 19:07:52 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (token_info_pop): show source filename. [ruby-dev:36710]</div><div class='del'>-</div><div class='del'>-Mon Oct 13 08:59:08 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (load_conv_function51932): support</div><div class='del'>-	  CP51932 on cygwin and mingw32. thanks to arton.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_cp51932): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 07:54:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): add -U command line option to specify</div><div class='del'>-	  utf-8 as default_internal.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 07:42:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): String#encode() with no encoding</div><div class='del'>-	  specified transcode the string into Encoding.default_internal.</div><div class='del'>-	  inspired by [ruby-core:19298].</div><div class='del'>-</div><div class='del'>-Sun Oct 12 18:00:18 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (set_ole_codepage, ole_cp2encoding,</div><div class='del'>-	  ole_wc2mb, ole_vstr2wc, ole_mb2wc): support CP51932 (only mswin32).</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 12 12:03:38 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.h (ruby_vm_redefined_flag): apply optimization</div><div class='del'>-	  patch proposed by Paul Brannan.  [ruby-core:19171]</div><div class='del'>-</div><div class='del'>-Sun Oct 12 09:46:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): suppressed warnings on cygwin.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 19:49:35 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): use utf-8 encoding directly.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 10:20:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CLEANINGS): uses escaped form tabs to preventing the</div><div class='del'>-	  confusion.  [ruby-talk:317345]</div><div class='del'>-</div><div class='del'>-Sat Oct 11 08:51:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::Application#standard_exception_handling): removed</div><div class='del'>-	  unnecessary SystemExit, and exits with false instead of system</div><div class='del'>-	  dependent value.  [ruby-talk:317330]</div><div class='del'>-</div><div class='del'>-Sat Oct 11 03:54:05 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: optimize 'for' statement when one variable given.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_loop_for.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_loop_times.rb: modified.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 12:09:05 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv/csv.rb:  Added support for Encoding::default_internal.</div><div class='del'>-	* lib/csv/csv.rb:  Switched to new Hash syntax.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 22:16:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (comment_at_top): needed for ripper too.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 22:07:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby.h: updated macros for headers.  [ruby-core:19275]</div><div class='del'>-</div><div class='del'>-Fri Oct 10 19:21:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comment_encoding): warns when ignored.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): replaces '-' with '_'.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): allows magic comments indented and the</div><div class='del'>-	  second line or later.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 17:26:50 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/parser.c (JSON_parse_string):</div><div class='del'>-	  associate encoding.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 10:18:21 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/*: reverted back to test/unit.</div><div class='del'>-	* test/test/*: ditto</div><div class='del'>-	* lib/minitest/*: Imported minitest 1.3.0 r4333.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 03:41:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): check if codepoint for %c is valid.</div><div class='del'>-	  [ruby-dev:36691]</div><div class='del'>-</div><div class='del'>-Fri Oct 10 01:55:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_names): minor improvement.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 00:21:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (ParseError.filter_backtrace): removes internal</div><div class='del'>-	  backtrace.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 00:11:16 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_add_converter): remove unnecessary NULL check.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 23:53:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-c-mode): buffer may not have file</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 23:30:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_dup2): fix resource leak.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 23:19:02 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_run_exec_options): fix resource leak.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 22:13:58 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_remove_class_variable): add a test</div><div class='del'>-	  for Class#remove_class_variable.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (test_remove_instance_variable): add a test</div><div class='del'>-	  for Object#remove_instance_variable.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 22:04:38 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_remove_cvar): fix r19711.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 21:17:50 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c (syck_lookup_sym): remove reading uninitialized</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 16:34:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/generator/extconf.rb: fix target.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 14:37:59 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: embeds the elements of an array into its</div><div class='del'>-	  struct RArray for # of elements &lt;= 3.</div><div class='del'>-</div><div class='del'>-	* array.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): following the change of struct RArray.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_ruby_cmp): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (curry): ditto.</div><div class='del'>-</div><div class='del'>-	* .gdbinit: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 11:29:33 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): new instance method Encoding#names,</div><div class='del'>-	  returns its name and alias names.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_names): defined for Encoding#names.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_names_i): defined for enc_names.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 08:47:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): should not block by select if</div><div class='del'>-	  there's only one thread living.  fixed [ruby-dev:36646].</div><div class='del'>-</div><div class='del'>-Wed Oct  8 20:59:52 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_init_cp): initialize WIN32OLE.codepage</div><div class='del'>-	  according to Encoding.default_internal and</div><div class='del'>-	  Encoding.default_external.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 17:02:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/generator.rb (utf8_to_json):</div><div class='del'>-	  process each unpacked Unicode character.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 15:00:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/parser.rb</div><div class='del'>-	  (JSON::Pure::Parser#parse_string): force_encoding("UTF-8").</div><div class='del'>-</div><div class='del'>-Wed Oct  8 11:56:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: assert_nothing_thrown,</div><div class='del'>-	  assert_raise, assert_not_equal, assert_no_match, assert_not_nil,</div><div class='del'>-	  assert_not_same are coming back as alias.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 11:18:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_delete, autoload_file): should not delete</div><div class='del'>-	  autoload table, since it may be shared with duplicated modules.</div><div class='del'>-	  [ruby-core:19181]</div><div class='del'>-</div><div class='del'>-Wed Oct  8 02:38:28 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_default_internal_encoding): merged a patch from</div><div class='del'>-	  Michael Selig &lt;michael.selig at fs.com.au&gt; in [ruby-core:18985].</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ext_int_to_encs): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): support default internal encoding in -E</div><div class='del'>-	  option.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 00:03:39 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (today,now): should produce own instances.</div><div class='del'>-	  [ruby-talk:317020]</div><div class='del'>-</div><div class='del'>-Tue Oct  7 16:43:51 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/generator.rb (utf8_to_json):</div><div class='del'>-	  force_encoding before gsub.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 16:35:41 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/generator.rb (utf8_to_json):</div><div class='del'>-	  downcase the result of Unicode escape.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 16:44:52 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI::QueryExtension::initialize_query): fix the</div><div class='del'>-	  condition.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_core.rb: bug fix encoding.</div><div class='del'>-	  thanks to TAKANO Mitsuhiro &lt;takano32 at jus.or.jp&gt; .</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb: temporary comment in.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 15:22:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): ignores T_ZOMBIE.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 12:45:20 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (TestModule#_wrap_assertion): add</div><div class='del'>-	  definition.  is this really needed?</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (TestModule#test_mod_constants): should</div><div class='del'>-	  not depend on global Module constants.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 12:38:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Assertions#assert_nothing_raised):</div><div class='del'>-	  should take optional message argument.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 12:18:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable): string comparison should be</div><div class='del'>-	  transitive.  [ruby-dev:36484]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (TestM17NComb#test_str_eq): test</div><div class='del'>-	  updated.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 09:00:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_sqrt_bigdecimal): test</div><div class='del'>-	  updated.  a patch from TAKANO Mitsuhiro &lt;takano32 at jus.or.jp&gt;</div><div class='del'>-	  in [ruby-dev:36669].</div><div class='del'>-</div><div class='del'>-Sun Oct  5 23:34:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($config_h): now always defines for old libraries.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 23:06:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_mod_modfunc): method undefined in included module</div><div class='del'>-	  may not have nd_body.  [ruby-core:18738]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 21:28:58 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb: resolved conflicts of aliases.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: avoided some warnings.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 18:51:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: remove debug code introduced by previous change.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 17:49:35 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_uri): set encoding to strio.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 17:39:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_set_encoding): defined for</div><div class='del'>-	  StringIO#set_encoding.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 11:24:42 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: come back definition of environ.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 09:19:49 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.c: update table.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 22:50:14 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: Ruby no longer supports VMS.</div><div class='del'>-</div><div class='del'>-	* error.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vms/config.h: removed.</div><div class='del'>-</div><div class='del'>-	* vms/vms.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vms/vmsruby_private.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vms/vmsruby_private.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 22:44:23 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: Ruby no longer supports Windows CE.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* strftime.c: ditto.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* wince/*: removed.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 22:35:06 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: Ruby no longer supports MacOS 9 or before.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c: ditto.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* signal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 22:30:28 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: Ruby no longer supports MS-DOS.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/sdbm.h: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* strftime.c: ditto.</div><div class='del'>-</div><div class='del'>-	* util.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 22:14:15 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* djgpp/GNUmakefile.in: removed. Ruby no longer supports djgpp.</div><div class='del'>-</div><div class='del'>-	* djgpp/README.djgpp: ditto.</div><div class='del'>-</div><div class='del'>-	* djgpp/config.hin: ditto.</div><div class='del'>-</div><div class='del'>-	* djgpp/config.sed: ditto.</div><div class='del'>-</div><div class='del'>-	* djgpp/configure.bat: ditto.</div><div class='del'>-</div><div class='del'>-	* djgpp/mkver.sed: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.dj: ditto.</div><div class='del'>-</div><div class='del'>-	* dln.c: removed djgpp supports.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* signal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* util.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 21:59:39 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* x68/_dtos18.c: removed. Ruby no longer supports human68k.</div><div class='del'>-</div><div class='del'>-	* x68/_round.c: ditto.</div><div class='del'>-</div><div class='del'>-	* x68/fconvert.c: ditto.</div><div class='del'>-</div><div class='del'>-	* x68/select.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.x68: ditto.</div><div class='del'>-</div><div class='del'>-	* missing/x68.c: ditto.</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_exe_r): removed human68k supports.</div><div class='del'>-	  (dln_find_1): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (Init_ext): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_sock): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT): ditto.</div><div class='del'>-	  (rb_setjmp, rb_jmpbuf): ditto.</div><div class='del'>-	  (mark_current_machine_context): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (PATH_ENV): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* LEGAL</div><div class='del'>-</div><div class='del'>-Sat Oct  4 19:02:36 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: no need to require the "lib/rational.rb".</div><div class='del'>-</div><div class='del'>-Sat Oct  4 19:02:59 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_enc_get): don't replicate encoding.</div><div class='del'>-	  [ruby-dev:36575]</div><div class='del'>-</div><div class='del'>-Sat Oct  4 18:47:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_external_encoding): defined.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_internal_encoding): defined.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (Init_stringio): define above.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 15:52:17 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/mini/test_mini_test.rb: recovered.</div><div class='del'>-	  It had been temporarily removed at r19645.</div><div class='del'>-</div><div class='del'>-	* test/mini/test_mini_mock.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/mini/test_mini_spec.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/**/*: replaced by miniunit.</div><div class='del'>-	  miniunit had been temporarily reverted at r19643 but</div><div class='del'>-	  now recovered.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 15:33:26 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (gdb-ruby): new target. it runs ruby under controlled by</div><div class='del'>-	  gdb.</div><div class='del'>-</div><div class='del'>-	* common.mk (dist): accepts RELNAME variable as the second argument of</div><div class='del'>-	  make-snapshot.rb.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 12:17:46 2008  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/irb/ext/save-history.rb: change load_history using File.expand_path. see [ruby-dev:36660]. Thanks Kouhei Sutou.</div><div class='del'>-	* lib/irb/irb/context.rb: convert string Symbol of instance variable names in IRB:Context#inspect.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 22:43:04 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/extconf.rb ($distcleanfiles): added callback-?.c into</div><div class='del'>-	  the distclean list.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 19:33:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure.rb (module JSON): remove Iconv dependency.</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/generator.rb (utf8_to_json): process as</div><div class='del'>-	  binary and remove Iconv dependency.</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/parser.rb (parse_string): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 14:04:05 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{configure.bat,setup.mak,Makefile.sub): add --program-prefix</div><div class='del'>-	  configure option support.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 21:22:43 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI::QueryExtension): delete MorphingBody</div><div class='del'>-	  and replace like as 1.8's in multipart reading.</div><div class='del'>-	  see [ruby-dev:36443],</div><div class='del'>-	  reference from CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb : fixed multipart test.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 20:46:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): fix coderange.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 22:54:09 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/lightparser.rb, lib/debug.rb: remove unused when</div><div class='del'>-	  clauses.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 22:43:59 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc, lib/rexml, test/ruby/test_array.rb,</div><div class='del'>-	  test/ruby/test_unicode_escape.rb, test/scanf/test_scanf.rb,</div><div class='del'>-	  test/rss/rss-assertions.rb: fix indentation to remove warning.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 21:36:35 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): finalize deferred IO and Data.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): defers IO finalization.</div><div class='del'>-	  [ruby-dev:36646]</div><div class='del'>-</div><div class='del'>-Wed Oct  1 19:11:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump): fixed for check_dump_arg.</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump): initializes dump_arg before any funcall.</div><div class='del'>-	  [ruby-dev:36648]</div><div class='del'>-</div><div class='del'>-Wed Oct  1 00:54:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): should use rb_str_subseq() which use</div><div class='del'>-	  offset and length by bytes.  [ruby-dev:36641]</div><div class='del'>-</div><div class='del'>-Wed Oct  1 00:29:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (test_call, test_class): line number</div><div class='del'>-	  was changed at r19592.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 00:20:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect): don't depend on rb_stdout and</div><div class='del'>-	  rb_stderr.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 23:06:58 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/mini/test_mini_test.rb: removed.</div><div class='del'>-	  Temporarily removed the tests for miniunit because of</div><div class='del'>-	  they depend on the miniunit version of test/unit,</div><div class='del'>-	  where test/unit was temporarily reverted to the state</div><div class='del'>-	  before importing miniunit.</div><div class='del'>-</div><div class='del'>-	* test/mini/test_mini_mock.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/mini/test_mini_spec.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 23:04:30 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/**/*: recovered.</div><div class='del'>-	  Temporarily reverts the changes of lib/test/unit/* in</div><div class='del'>-	  r19502 and r19501, in order to release 1.9.0-5.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 23:00:05 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: removed.</div><div class='del'>-	  Temporarily reverts the changes of lib/test/unit/* in</div><div class='del'>-	  r19543, r19534 and r19503, in order to release 1.9.0-5.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/deprecate.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/error.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 20:17:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): should honor value of the</div><div class='del'>-	  textmode: and binmode: options.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 17:04:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_sqrt_bigdecimal): wrong</div><div class='del'>-	  precision specification.  a patch from TAKANO Mitsuhiro</div><div class='del'>-	  &lt;takano32 at jus.or.jp&gt; in [ruby-dev:36634].</div><div class='del'>-</div><div class='del'>-Tue Sep 30 16:53:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): returns non zero.  [ruby-dev:36633]</div><div class='del'>-</div><div class='del'>-Tue Sep 30 16:52:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): add %&lt;name&gt;s style named argument</div><div class='del'>-	  support.  a patch from Yusuke Endoh &lt;mame at tsg.ne.jp&gt;</div><div class='del'>-	  in [ruby-dev:35851].</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): add gettext style named format</div><div class='del'>-	  (%{name}) support.  inspired by [ruby-dev:35852].</div><div class='del'>-</div><div class='del'>-	* sprintf.c (GETNAMEARG): should raise KeyError exception when no</div><div class='del'>-	  named argument found.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch): export fetch function.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 13:19:01 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb: remove extra call to setup to</div><div class='del'>-	  fix ENV['HOME'] pollution.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 13:04:11 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mini/test.rb: Updated to 1.3.0 r4257.</div><div class='del'>-	* test/mini/*: added from r4257.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 07:46:07 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_markup_attribute_manager.rb: Test with clean</div><div class='del'>-	  SPECIALS.</div><div class='del'>-	* test/rubygems/gemutilities.rb: Restore ENV['HOME'] after test.</div><div class='del'>-	* test/runner.rb: Pass -n argument down to miniunit.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 01:02:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (token_info_push, token_info_pop): do nothing for evaled</div><div class='del'>-	  source.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 00:47:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: constified.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 23:32:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq): don't use rb_str_drop_bytes for short</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 22:54:29 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: added String#to_[rc].  moved def_canon.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 20:41:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq): use rb_str_drop_bytes if possible.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 20:22:20 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/*.rb: imported additional tests and some adjustments.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 20:13:05 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fev_initialize): initialization</div><div class='del'>-	  handler instance variable.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_typelib.rb (test_s_typelibs):</div><div class='del'>-	  fix the warning of shadowing outer local variable.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 19:59:00 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (rescue_callback): use rb_write_error</div><div class='del'>-	  instead of fprintf.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 01:51:54 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_info_formatting.rb (teardown): delete tmpdir for</div><div class='del'>-	  test.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 00:30:20 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/html.rb (CGI::HtmlExtension::{radio_group, checkbox_group}):</div><div class='del'>-	  can specify the false as checked or selected value.</div><div class='del'>-	  [ruby-core:18306], [ruby-core:18307]</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_tag_helper.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 23:08:38 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/html.rb (CGI::HtmlExtension::popup_menu):</div><div class='del'>-	  fix the calls #bytesize on array parameters. [ruby-core:18919]</div><div class='del'>-</div><div class='del'>-Sun Sep 28 22:44:26 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI::parse): ignore illegal query params.</div><div class='del'>-	  [ruby-dev:36618]</div><div class='del'>-</div><div class='del'>-Sun Sep 28 22:05:07 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): check duplicated when clause.</div><div class='del'>-	  [ruby-dev:36616]</div><div class='del'>-</div><div class='del'>-Sun Sep 28 19:04:03 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/*.rb: imported a date test suite ruby 1.9 limited ed.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 18:40:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mini/test.rb (MINI_DIR): loaded path is expanded.</div><div class='del'>-</div><div class='del'>-	* lib/mini/test.rb (assert_match): get rid of confusion of</div><div class='del'>-	  ruby-mode.el.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 12:36:09 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (vm_exec_core): add an UNLIKELY() hint.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (BASIC_OP_UNREDEFINED_P): add a LIKELY() hint.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 12:04:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new): sets empty string to coderange 7bit.</div><div class='del'>-	  [ruby-core:18993]</div><div class='del'>-</div><div class='del'>-Sun Sep 28 09:39:48 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb ({Fixnum,Bignum,Float}#**): may produce complex</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 09:05:53 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv/csv.rb:  Worked around some minor encoding changes in Ruby</div><div class='del'>-	  pointed out by Nobu.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 08:37:12 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: a hack to provide canonicalization.  This must be</div><div class='del'>-	  temporary, but this seems to be not bad for the time being.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 06:22:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Module#rake_extension, String#ext, String#pathmap): use</div><div class='del'>-	  built-in methods.</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (String#pathmap): fixed typo in rdoc.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 04:28:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rmext): preceding dots are not a part of extension.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 03:15:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_jump_tag_but_local_jump): exc is not used if val is nil.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 03:12:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (host_str): numeric address should be unsigned.</div><div class='del'>-	  [ruby-core:18971]</div><div class='del'>-</div><div class='del'>-Fri Sep 26 22:46:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary, brace_block): fix for line number.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_location, rb_method_location): new methods</div><div class='del'>-	  {Proc,Method,UnboundMethod}#source_location.  [ruby-core:18452]</div><div class='del'>-</div><div class='del'>-Fri Sep 26 21:36:33 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_CHECK_INTS_TH): add an UNLIKELY hint.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 19:33:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_str_encode): renamed from</div><div class='del'>-	  rb_str_transcode.  [ruby-dev:36593]</div><div class='del'>-	  (rb_econv_has_convpath_p): renamed from rb_transcode_convertible.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 19:01:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_inspect): fixed CPU bit</div><div class='del'>-	  size dependent test.  pointed out by TAKANO Mitsuhiro &lt;takano32 AT</div><div class='del'>-	  jus.or.jp&gt;.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 18:57:33 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: Fix use of deprecated methods.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 18:39:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (dist): nothing is needed to run BASERUBY.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: new option -archname.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 18:24:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: safe customizable variables.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 17:37:18 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_mPrecision): removed.</div><div class='del'>-	  Precision module was temporarily removed at r19430.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 17:25:10 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (dist): Changed its dependencies and action.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 17:07:04 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_syserr): moved to the template.</div><div class='del'>-	  (errno_missing): removed. fixed [ruby-dev:35958].</div><div class='del'>-</div><div class='del'>-	* defs/known_errors.def: added. extracted from Init_syserr.</div><div class='del'>-</div><div class='del'>-	* templates/known_errors.inc.tmpl: added. Template for Init_syserr.</div><div class='del'>-	  c.f. [ruby-dev:35958].</div><div class='del'>-</div><div class='del'>-	* tools/generic_erb.rb: added. general purpose mapper which maps</div><div class='del'>-	  data+template into source code.</div><div class='del'>-</div><div class='del'>-	* common.mk (error.$(OBJEXT), incs, known_errors.inc):</div><div class='del'>-	  Fixed dependencies.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 17:02:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thlist_signal): clears the woken thread if nothing woke.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): achieves the lock if no thread was</div><div class='del'>-	  waiting yet.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 12:04:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: should include &lt;ruby/io.h&gt;.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 11:34:08 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_define_hooked_variable): cast to get rid of compiler</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 11:05:41 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c, include/ruby/encoding.c (rb_transcode_convertible):</div><div class='del'>-	  new function. checking the existence of converter.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 10:35:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (global_variable, struct trace_var): made function</div><div class='del'>-	  members more strict.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 09:55:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby{io,sig}.h: moved to include/ruby/backward.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 09:47:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/rubysig.h: old macros for backward compatibility.</div><div class='del'>-</div><div class='del'>-	* thread.c (BLOCKING_REGION): rewritten using helper functions.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 03:03:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (Init_vm_eval): define module_eval, class_eval and eval</div><div class='del'>-	  here for rdoc.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 00:40:30 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_inspect): fix SEGV for cyclic range object.</div><div class='del'>-	  [ruby-core:18835]</div><div class='del'>-</div><div class='del'>-Thu Sep 25 23:59:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: dependency updated.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 21:46:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_eUndefinedConversionError): renamed from</div><div class='del'>-	  rb_eConversionUndefinedError.</div><div class='del'>-	  (rb_eConverterNotFoundError): renamed from rb_eNoConverterError.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 21:23:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack, pack_unpack): 'm0' format (base64) complies with</div><div class='del'>-	  RFC 4648.  It adds no line feed when encoding, and raise ArgumentError</div><div class='del'>-	  if the encoded string contains non-alphabet (including CR and LF).</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: added.  This provides encoding/decoding method for</div><div class='del'>-	  Base64 in standard RFC 2045, Base64 in standard RFC 4648 and ``Base 64</div><div class='del'>-	  Encoding with URL and Filename SafeAlphabet'' in RFC 4648.</div><div class='del'>-</div><div class='del'>-	* test_pack.c, test/base64/test_base64.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 21:00:32 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix btest-* rules [ruby-dev:36528].</div><div class='del'>-	  and remove obsolete rules.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 20:27:54 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_make_metaclass): [BUG] Fixed a bus error</div><div class='del'>-	  on the case for metaclass of a class which includes a</div><div class='del'>-	  module.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 19:34:33 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/*: Update some new tests to use build_rake_in.</div><div class='del'>-	* test/rubygems/gemutilities.rb: Fix broken merge of rake detection.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 19:13:12 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Update to RubyGems 1.3.0 r1891.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 18:40:42 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_make_metaclass): Made class of class of class</div><div class='del'>-	  from Class into its own eigenclass. Now meta^(n)-class</div><div class='del'>-	  hierarchy regresses infinitely, again.</div><div class='del'>-	  (This feature was decided on developer-meeting-20080922.)</div><div class='del'>-</div><div class='del'>-Thu Sep 25 16:01:07 2008  Jim Weirich  &lt;jim@tardis.local&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb: Update rake source to version 0.8.3.  This</div><div class='del'>-	  version includes some fixes for running Rake on windows.</div><div class='del'>-	  (1) better APPDATA/HOMExxx/USERPROFILE integration for</div><div class='del'>-	  system rakefiles, (2) Better handling of the :ruby command</div><div class='del'>-	  when installed in directory containing spaces.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 11:22:51 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*: Update to RDoc 2.2.1 r185.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 02:08:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_enc): make it static.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 01:22:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mini/test.rb (Mini::Assertions#assert_raise): fixed typo.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 23:39:00 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb : revert last change.</div><div class='del'>-	  ( deprecated is assert_raises. )</div><div class='del'>-	* test/cgi/test_cgi_core.rb      : ditto.</div><div class='del'>-	* test/cgi/test_cgi_header.rb    : ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 23:12:49 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI::new, CGI::{accept_charset,accept_charset=}) :</div><div class='del'>-	  accept parameters either in a hash,</div><div class='del'>-	  string as a block. add the encoding validation process.</div><div class='del'>-	* test/cgi/test_cgi_core.rb : test for query encoding check.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 22:58:18 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): raise exception when the encoding of</div><div class='del'>-	  the string is dummy.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): remove nul characters even if the</div><div class='del'>-	  encoding of the string is not single byte optimizable.</div><div class='del'>-	  fixed [ruby-core:18844], reported by Michael Selig.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 19:01:45 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): workaround for VC++8 x64.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 17:44:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex), rational.c (Init_Rational): undefines</div><div class='del'>-	  default #allocate methods which call the allocator.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 17:02:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex), rational.c (Init_Rational): ID_ALLOCATOR</div><div class='del'>-	  differs from :allocate, and invisible in ruby level.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 15:58:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): removing mixed spaces and nuls at</div><div class='del'>-	  the end of strings.  [ruby-dev:36497]</div><div class='del'>-</div><div class='del'>-Wed Sep 24 15:13:04 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb : test for miniunit.</div><div class='del'>-	* test/cgi/test_cgi_core.rb      : ditto.</div><div class='del'>-	* test/cgi/test_cgi_header.rb    : ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 14:38:29 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: setup buffer with nul characters instead of spaces.</div><div class='del'>-	  fixed [ruby-dev:36493]</div><div class='del'>-</div><div class='del'>-Wed Sep 24 11:18:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_binread): offset argument was wrongly passed to</div><div class='del'>-	  internal IO#read call.  [ruby-core:18810]</div><div class='del'>-</div><div class='del'>-Wed Sep 24 07:38:23 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ruby/ruby.h should be included at the very first</div><div class='del'>-	  place in an entire compilation unit, as it includes</div><div class='del'>-	  ruby/config.h</div><div class='del'>-</div><div class='del'>-Wed Sep 24 06:41:24 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/*: removed test/unit.</div><div class='del'>-	* lib/test/*: added miniunit.</div><div class='del'>-	* lib/mini/*: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 04:45:35 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h, node.h: move node.h from include path.</div><div class='del'>-	  This change stop to install node.h because of saving ABI</div><div class='del'>-	  (node.h will be changed. Extensions should not depends on</div><div class='del'>-	   this file).</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, class.c, compile.c, debug.h, enum.c,</div><div class='del'>-	  gc.c, iseq.c, parse.y, ruby.c, signal.c, variable.c,</div><div class='del'>-	  vm.c, vm_core.h, vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 04:09:13 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove unused frame values.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 04:07:07 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec): execute rb_eval_cmd() directly.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 03:08:58 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb: fix indentation.</div><div class='del'>-	* lib/uri/generic.rb: ditto.</div><div class='del'>-	* lib/yaml.rb: ditto.</div><div class='del'>-	* lib/uri/cgi/core.rb: fix indentation and ambiguous argument warning.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 23:39:25 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv/csv.rb:  Improved the idea of whitespace and word characters used</div><div class='del'>-	  in substitutions during header conversion as suggested by Michael Selig.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 21:50:53 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): allocate wbuf if nosync.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 21:45:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): use io_binwrite instead of io_fwrite.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 21:31:16 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational2.rb: updated.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex2.rb: added.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complexrational.rb: added.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 21:26:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): make the ordering consistent with</div><div class='del'>-	  String#&lt;=&gt;.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 20:52:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): add nosync argument.</div><div class='del'>-	  (do_writeconv): extracted from io_fwrite.</div><div class='del'>-	  (io_fwrite): add nosync argument.  use do_writeconv.</div><div class='del'>-	  (io_write): add nosync argument.</div><div class='del'>-	  (io_write_m): new function for IO#write.</div><div class='del'>-	  (rb_p): don't append record separator.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 20:24:41 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec): fix to use rb_proc_call().</div><div class='del'>-</div><div class='del'>-Tue Sep 23 20:06:46 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap):</div><div class='del'>-	  abandon wrapping if the line contains no space.  [ruby-dev:36045]</div><div class='del'>-</div><div class='del'>-Tue Sep 23 19:38:03 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (subtract): check tv_sec. reported by ko1.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 19:21:03 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_canonicalize_internal): does no apply</div><div class='del'>-	  canonicalization rule anymore.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_canonicalize_internal(_no_reduce)?): ditto.</div><div class='del'>-</div><div class='del'>-	* complex.c: removed class method new! and new.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 19:20:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_binread): a new method to read binary chunk from a</div><div class='del'>-	  file.  [ruby-core:18674]</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): wrong permission specified for read-open.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 18:24:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_obj_is_proc): declaration moved for rdoc.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 18:07:55 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (io.o): remove dependency for vm_core.h.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 17:56:44 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): fix typo in a document.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 17:50:35 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): write a document.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 17:14:31 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, include/ruby/intern.h (rb_thread_interrupted): added.</div><div class='del'>-</div><div class='del'>-	* io.c: use VALUE of thead instead of rb_tread_t to check interrupts.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 17:05:14 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, vm_core.h: move decl of rb_iseq_clone() to class.c.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 17:02:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.h (ruby_set_debug_option): declared.</div><div class='del'>-</div><div class='del'>-	* main.c: include debug.h.</div><div class='del'>-</div><div class='del'>-	* common.mk (main.$(OBJEXT)): dependency updated.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 16:59:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ENVMATCH, ENVNMATCH): reduced same code.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 16:55:11 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: fix comment and rename macro HAVE_RUBY_MVM_H to</div><div class='del'>-	  HAVE_RUBY_VM_H.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 16:41:31 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h, vm_core.h: move definition of</div><div class='del'>-	  RUBY_VM_METHOD_NODE to node.h.</div><div class='del'>-</div><div class='del'>-	* class.c, common.mk: remove useless inclusion.</div><div class='del'>-</div><div class='del'>-	* compile.h, iseq.h, vm_core.h: rename compile.h to iseq.h.</div><div class='del'>-	  move some definitions from vm_core.h to iseq.h.</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c, vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c, compile.c: move some functions for parser</div><div class='del'>-	  from eval.c to compile.c.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm_core.h: move va_init_list() macro to</div><div class='del'>-	  vm_core.h.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_new_top, rb_iseq_first_lineno): added.</div><div class='del'>-</div><div class='del'>-	* load.c, ruby.c: use rb_iseq_new_top() instead of</div><div class='del'>-	  rb_iseq_new() with ISEQ_TYPE_TOP constant directly.</div><div class='del'>-</div><div class='del'>-	* proc.c: use rb_iseq_first_lineno() instead of accessing</div><div class='del'>-	  iseq structure.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 16:17:54 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (token_to_eventid): supper __ENCODING__</div><div class='del'>-	  keyword.  [ruby-dev:36478]</div><div class='del'>-</div><div class='del'>-Tue Sep 23 15:30:53 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, hash.c: remove unused inclusion.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 09:52:07 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_safe.c, safe.c: rename eval_safe.c to safe.c.</div><div class='del'>-</div><div class='del'>-	* common.mk, eval.c, safe.c, inits.c: separate safe.c from eval.c and</div><div class='del'>-	  make Init_safe().</div><div class='del'>-</div><div class='del'>-Tue Sep 23 09:20:00 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: clean up</div><div class='del'>-	  - remove blockinlining.$(OBJEXT) to built</div><div class='del'>-	  - make ENCODING_H_INCLDUES variable (include/ruby/encoding.h)</div><div class='del'>-	  - make VM_CORE_H_INCLUDES variable (vm_core.h)</div><div class='del'>-	  - simplify rules.</div><div class='del'>-	  - make depends rule to output depend status using gcc -MM.</div><div class='del'>-</div><div class='del'>-	* include/ruby/mvm.h, include/ruby/vm.h: rename mvm.h to vm.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* load.c: add inclusion explicitly.</div><div class='del'>-</div><div class='del'>-	* enumerator.c, object.c, parse.y, thread.c, vm_dump.c:</div><div class='del'>-	  remove useless inclusion.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: cleanup inclusion.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rb_thread_t should be defined in this file.</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.c, vm_exec.c: rename vm_evalbody.c to vm_exec.c.</div><div class='del'>-</div><div class='del'>-	* vm.h, vm_exec.h: rename vm.h to vm_exec.h.</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, vm_insnhelper.h: rename insnhelper.h to vm_insnhelper.h.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c, vm_insnhelper.h:</div><div class='del'>-	  - rename vm_eval() to vm_exec_core().</div><div class='del'>-	  - rename vm_eval_body() to vm_exec().</div><div class='del'>-	  - cleanup include order.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: fix comment.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 09:01:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (each_filename): return Enumerator if no block</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 08:25:56 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_aset): allow nil value to remove an entry.</div><div class='del'>-	  [ruby-dev:36465]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb (TestEnv#test_aset): test updated.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 08:07:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-keyword-end-re): emacs21 support.  a</div><div class='del'>-	  patch from Hiroshi Moriyama &lt;hiroshi at kvd.biglobe.ne.jp&gt; in</div><div class='del'>-	  [ruby-dev:36471].</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-in-ppss-context-p): ditto.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-here-doc-end-syntax):</div><div class='del'>-</div><div class='del'>-Tue Sep 23 02:07:52 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline_history.rb</div><div class='del'>-	  (Readline::TestHistory#test_each): checked return value.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 02:05:34 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): used remove_history to</div><div class='del'>-	  check offset of history if unsupported clear_history.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 17:39:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#open): should return a value from the</div><div class='del'>-	  block (if given).   [ruby-core:18394]</div><div class='del'>-</div><div class='del'>-Mon Sep 22 11:17:51 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (enum): ISO C forbids comma at end of</div><div class='del'>-	  enumerator list</div><div class='del'>-</div><div class='del'>-Mon Sep 22 10:15:24 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: updated file names removed and added.  [ruby-dev:36426]</div><div class='del'>-</div><div class='del'>-Mon Sep 22 02:39:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (get_default_external): add description.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 21:52:41 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): should check argc.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 21:20:24 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: added two macros.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 18:06:38 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_convert): checks argc.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_convert): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 10:19:04 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_canonicalize_internal): checks exactness of</div><div class='del'>-	  imag only.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_convert): accepts non real value</div><div class='del'>-	  (Rational(a,b) as a/b).</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_convert): refined.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 09:37:57 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv/csv.rb:  Reworked CSV's parser and generator to be m17n.  Data</div><div class='del'>-	  is now parsed in the Encoding it is in without need for translation.</div><div class='del'>-	* lib/csv/csv.rb:  Improved inspect() messages for better IRb support.</div><div class='del'>-	* lib/csv/csv.rb:  Fixed header writing bug reported by Dov Murik.</div><div class='del'>-	* lib/csv/csv.rb:  Use custom separators in parsing header Strings as</div><div class='del'>-	  suggested by Shmulik Regev.</div><div class='del'>-	* lib/csv/csv.rb:  Added a :write_headers option for outputting headers.</div><div class='del'>-	* lib/csv/csv.rb:  Handle open() calls in binary mode whenever we can to</div><div class='del'>-	  workaround a Windows issue where line-ending translation can cause an</div><div class='del'>-	  off-by-one error in seeking back to a non-zero starting position after</div><div class='del'>-	  auto-discovery for :row_sep as suggested by Robert Battle.</div><div class='del'>-	* lib/csv/csv.rb:  Improved the parser to fail faster when fed some forms</div><div class='del'>-	  of invalid CSV that can be detected without reading ahead.</div><div class='del'>-	* lib/csv/csv.rb:  Added a :field_size_limit option to control CSV's</div><div class='del'>-	  lookahead and prevent the parser from biting off more data than</div><div class='del'>-	  it can chew.</div><div class='del'>-	* lib/csv/csv.rb:  Added readers for CSV attributes:  col_sep(), row_sep(),</div><div class='del'>-	  quote_char(), field_size_limit(), converters(), unconverted_fields?(),</div><div class='del'>-	  headers(), return_headers?(), write_headers?(), header_converters(),</div><div class='del'>-	  skip_blanks?(), and force_quotes?().</div><div class='del'>-	* lib/csv/csv.rb:  Cleaned up code syntax to be more inline with</div><div class='del'>-	  Ruby 1.9 than 1.8.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 07:43:16 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: an instance method image has been removed and</div><div class='del'>-	  uses "imag" instead of "image".</div><div class='del'>-</div><div class='del'>-	* complex.c: two instance method re and im are removed.</div><div class='del'>-</div><div class='del'>-	* rational.c: follows the above changes.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: ditto. and provides some obsolete methods.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 02:48:45 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/parse.c: use ruby_xfree().</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/parse.rl: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/unicode.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 02:40:20 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: import JSON v 1.1.3.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 11:43:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (summarize): separator "" should output new line.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 08:07:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: strings which contain only US-ASCII don't force to have</div><div class='del'>-	  US-ASCII encoding. [ruby-dev:36400]</div><div class='del'>-</div><div class='del'>-Sat Sep 20 07:59:31 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_desc): Regexps of ASCII Compatible encoding may</div><div class='del'>-	  contain non-ASCII characters. So in that case its encoding</div><div class='del'>-	  must keep original encoding.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 07:44:56 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: prec.c is removed.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 22:37:25 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: uses f_(in)?exact_p macro.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): bignum**bignum - should calculate without</div><div class='del'>-	  rational.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: should override Math module at most once.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: requires 'cmath' directly.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 20:48:06 2008  Yuki Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* prec.c: removed. Precision will be redesigned and be back again.</div><div class='del'>-	  c.f. [ruby-dev:36352].</div><div class='del'>-</div><div class='del'>-	* common.mk (COMMON_OBJS): removed prec.o.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): removed Init_Precision.</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): removed inclusion of Precision.</div><div class='del'>-	  removed #induced_from from each class.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/known_classes.rb: removed the entry for Precision.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_prec.rb: removed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: removed tests for Precision.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 19:43:40 2008  Yuki Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : Reverts the changeset 18994.</div><div class='del'>-	  Uses the official repository of rubyspec again.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 17:41:56 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: applied OS/2 support patch from Brendan Oakley</div><div class='del'>-	  &lt;gentux2 at gmail.com&gt; in [ruby-core:18707].</div><div class='del'>-</div><div class='del'>-Fri Sep 19 09:29:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: newer BeOS support.  a patch from Pete Goodeve</div><div class='del'>-	  &lt;pete.goodeve at computer.org&gt; in [ruby-core:18712].</div><div class='del'>-</div><div class='del'>-Fri Sep 19 03:41:25 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: fix memory violation. mentioned by mame [ruby-dev:36373]</div><div class='del'>-</div><div class='del'>-Fri Sep 19 01:07:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (string_cmp_ic): add text_end argument.</div><div class='del'>-	  (slow_search): call enclen with real string end.</div><div class='del'>-	  (map_search): add text_end argument.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 22:54:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_to_string): comment out</div><div class='del'>-	  fragments of unused code.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 22:35:03 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpCtoV): 1E1000...000 is interpreted as</div><div class='del'>-	  Infinity.  [ruby-dev:36159]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpPower): Infinity ** 1 returns</div><div class='del'>-	  Infinity instead of NaN.  [ruby-dev:36159]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 22:20:08 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): introduce EncodingError which is a</div><div class='del'>-	  superclass for all encoding related exception classes,</div><div class='del'>-	  e.g. Encoding::CompatibilityError.  [ruby-dev:36371]</div><div class='del'>-</div><div class='del'>-	* transcode.c (Init_transcode): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 21:57:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable): make ascii8bit string to be</div><div class='del'>-	  compatible with any other encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp): use rb_str_comparable() instead of</div><div class='del'>-	  rb_enc_compatible() since &lt;=&gt; is a comparison anyway.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 21:37:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* grapheme cluster implementation reverted.  [ruby-dev:36375]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 20:50:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::Application#standard_exception_handling):</div><div class='del'>-	  replaced magic numbers for exit status.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 20:37:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::ParseError#set_backtrace): omits</div><div class='del'>-	  OptionParser internal backtraces unless debug flag is set.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 20:02:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (unescape): skip '%' to make String#hex work</div><div class='del'>-	  correctly.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 19:51:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): free internal buffer eagerly.</div><div class='del'>-	  a patch from TOYOFUKU Chikanobu &lt;nobu_toyofuku at nifty.com&gt;</div><div class='del'>-	  in [ruby-dev:36217].</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 19:43:04 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (new_size): raise RuntimeError when st_table is too big.</div><div class='del'>-	  [ruby-dev:36354]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 18:23:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): must take pointer argument to avoid GC</div><div class='del'>-	  problem.  StringValueCStr modifies the argument and it should be</div><div class='del'>-	  preserved while the string StringValueCStr returns is used.</div><div class='del'>-	  Since the string is used by caller, the modified argument should be</div><div class='del'>-	  hold by caller.  Actually</div><div class='del'>-	    GC.stress = true</div><div class='del'>-	    def (o=Object.new).to_str()</div><div class='del'>-	      "universal"+"_newline"</div><div class='del'>-	    end</div><div class='del'>-	    "\u3042".encode(o, "")</div><div class='del'>-	  causes curious warning:</div><div class='del'>-	    rb_define_const: invalid name `' for constant</div><div class='del'>-</div><div class='del'>-Thu Sep 18 17:32:44 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: add "Error" suffix for Encoding exception classes.</div><div class='del'>-	  a patch from Tadashi Saito &lt;shiba at mail2.accsnet.ne.jp&gt; in</div><div class='del'>-	  [ruby-dev:36346].</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): rename EncodingCompatibilityError to</div><div class='del'>-	  Encoding::CompatibilityError.  [ruby-dev:36366]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 17:18:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): revert last change.  too early exception</div><div class='del'>-	  raising.</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): need not to take pointer argument.</div><div class='del'>-</div><div class='del'>-Sun Sep 18 02:22:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests to achieve over 90%</div><div class='del'>-	  test coverage of bigdecimal.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 21:50:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): don't use rb_enc_codepoint.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 19:55:33 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_convert): accepts complex</div><div class='del'>-	  value (Complex(a,b) as a+bi).</div><div class='del'>-</div><div class='del'>-Wed Sep 17 19:16:47 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_dup): avoid infinite loop.</div><div class='del'>-	  [ruby-dev:36326]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_dup): remove needless open.</div><div class='del'>-	  [ruby-dev:35957]</div><div class='del'>-</div><div class='del'>-Wed Sep 17 17:44:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): process option mode: and perm: as</div><div class='del'>-	  well.</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): move mode: and perm: related code to</div><div class='del'>-	  rb_io_extract_modeenc().</div><div class='del'>-</div><div class='del'>-Wed Sep 17 13:42:59 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/html.rb (checkbox_group,radio_group): bug fix</div><div class='del'>-	  use size instead of	bytesize.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_tag_helper.rb: test for checkbox_group,radio_group.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 06:58:31 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: provides predicate real? instead of scalar?.</div><div class='del'>-</div><div class='del'>-	* complex.c: follows the above change.</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 01:56:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb: use __FILE__ instead of /dev/null.</div><div class='del'>-	  [ruby-dev:36327]</div><div class='del'>-</div><div class='del'>-Wed Sep 17 01:33:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingTypeST): add precise_ret</div><div class='del'>-	  argument for mbc_to_code.</div><div class='del'>-	  (ONIGENC_MBC_TO_CODE): provide NULL for precise_ret.</div><div class='del'>-	  (ONIGENC_MBC_PRECISE_CODEPOINT): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_mbc_precise_codepoint): defined.</div><div class='del'>-</div><div class='del'>-	* regenc.h (onigenc_single_byte_mbc_to_code): precise_ret argument</div><div class='del'>-	  added.</div><div class='del'>-	  (onigenc_mbn_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_single_byte_mbc_to_code): precise_ret argument</div><div class='del'>-	  added.</div><div class='del'>-	  (onigenc_mbn_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (count_utf8_lead_bytes_with_word): removed.</div><div class='del'>-	  (str_utf8_nth): removed.</div><div class='del'>-	  (str_utf8_offset): removed.</div><div class='del'>-	  (str_strlen): UTF-8 codepoint oriented optimization removed.</div><div class='del'>-	  (rb_str_substr): ditto.</div><div class='del'>-	  (enc_succ_char): use rb_enc_mbc_precise_codepoint.</div><div class='del'>-	  (enc_pred_char): ditto.</div><div class='del'>-	  (rb_str_succ): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_ascget): check length with</div><div class='del'>-	  rb_enc_mbc_precise_codepoint.</div><div class='del'>-	  (rb_enc_codepoint): use rb_enc_mbc_precise_codepoint.</div><div class='del'>-</div><div class='del'>-	* regexec.c (string_cmp_ic): add text_end argument.</div><div class='del'>-	  (match_at): check end of character after exact string matches.</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c (grapheme_table): defined for extended grapheme cluster</div><div class='del'>-	  boundary.</div><div class='del'>-	  (grapheme_cmp): defined.</div><div class='del'>-	  (get_grapheme_properties): defined.</div><div class='del'>-	  (grapheme_boundary_p): defined.</div><div class='del'>-	  (MAX_BYTES_LENGTH): defined.</div><div class='del'>-	  (comb_char_enc_len): defined.</div><div class='del'>-	  (mbc_to_code0): extracted from mbc_to_code.</div><div class='del'>-	  (mbc_to_code): use mbc_to_code0.</div><div class='del'>-	  (left_adjust_combchar_head): defined.</div><div class='del'>-	  (utf_8): use a extended grapheme cluster as a unit.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (onigenc_unicode_mbc_case_fold): use</div><div class='del'>-	  ONIGENC_MBC_PRECISE_CODEPOINT to extract codepoints.</div><div class='del'>-	  (onigenc_unicode_get_case_fold_codes_by_str): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (mbc_to_code): follow mbc_to_code field change.</div><div class='del'>-	  use onigenc_mbn_mbc_to_code.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c (mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gbk.c (gbk_mbc_to_code): follow mbc_to_code field and</div><div class='del'>-	  onigenc_mbn_mbc_to_code change.</div><div class='del'>-</div><div class='del'>-	* enc/cp949.c (cp949_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/big5.c (big5_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_tw.c (euctw_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_kr.c (euckr_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (gb18030_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32be.c (utf32be_mbc_to_code): follow mbc_to_code field</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16be.c (utf16be_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32le.c (utf32le_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16le.c (utf16le_mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 01:17:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): raise exception when unknown encoding is</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 22:23:24 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI#header): performance improvement.</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_header.rb: exception class fixed.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 22:21:33 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): fix rdoc. (codepoint is integer)</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_codepoint): use UINT2NUM.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 21:48:55 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_desc): Regexp#inspect should be US-ASCII.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 21:33:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): orthodox crypt() sees only first two bytes</div><div class='del'>-	  of salt.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 19:18:40 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_marshal_{dump,load}): preserve instance</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_marshal_{dump,load}): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 18:28:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets_m): rdoc updated.  limit counts in bytes.</div><div class='del'>-	  [ruby-core:18617]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_readlines, rb_f_gets): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_readbyte): rdoc updated.  [ruby-core:18617]</div><div class='del'>-</div><div class='del'>-Tue Sep 16 11:55:16 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_codepoint): add new methods, #codepoints</div><div class='del'>-	  and #each_codepoint.  a patch from Michael Selig</div><div class='del'>-	  &lt;michael.selig at fs.com.au&gt; in [ruby-core:18532].</div><div class='del'>-</div><div class='del'>-Tue Sep 16 11:24:44 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: add new constants.  a patch from</div><div class='del'>-	  IWAMURO Motonori &lt;deenheart+ruby at gmail.com&gt; in [ruby-dev:36309].</div><div class='del'>-</div><div class='del'>-Tue Sep 16 09:20:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_dup): exception should be</div><div class='del'>-	  raised from IO#dup.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 08:35:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_dup): this test might fail if</div><div class='del'>-	  there are any garbage IO objects.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 02:02:56 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_cat_ascii): codepoint is unsigned int.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (str_cat_char): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (prefix_escape): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 01:47:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (single_byte_optimizable): make function inline.  based</div><div class='del'>-	  on a patch from Michael Selig &lt;michael.selig at fs.com.au&gt; in</div><div class='del'>-	  [ruby-core:18532].</div><div class='del'>-</div><div class='del'>-	* string.c (str_modify_keep_cr): new function act as</div><div class='del'>-	  rb_str_modify(), but don't clear coderange</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): specialized for single byte strings.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice): preserve coderange.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_slice_bang, rb_str_reverse_bang,</div><div class='del'>-	  rb_str_upcase_bang, rb_str_downcase_bang, tr_trans,</div><div class='del'>-	  rb_str_capitalize_bang, rb_str_swapcase_bang,</div><div class='del'>-	  rb_str_delete_bang, rb_str_chop_bang, rb_str_chomp_bang,</div><div class='del'>-	  rb_str_lstrip_bang, rb_str_rstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_clear): preset coderange.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): specialized for splitting with a</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 00:57:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_quote): use rb_enc_mbcput to generate ASCII</div><div class='del'>-	  incompatible characters properly.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 00:51:59 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Encoding#base_encoding): removed. [ruby-dev:36270]</div><div class='del'>-</div><div class='del'>-Tue Sep 16 00:40:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (STR1_LENGTH): defined.</div><div class='del'>-	  (makeSTR1LEN): defined.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: use makeSTR1LEN.  generate STR1 for 4 to</div><div class='del'>-	  259 bytes.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_transcoding): new field: output_index.</div><div class='del'>-	  (transcode_restartable0): use STR1_LENGTH.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 23:52:45 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, include/ruby/ruby.h: rename rb_register_mark_object()</div><div class='del'>-	  to rb_gc_register_mark_object().</div><div class='del'>-</div><div class='del'>-	* eval.c, vm.c: initialize vm-&gt;mark_object_ary at</div><div class='del'>-	  Init_top_self().</div><div class='del'>-</div><div class='del'>-	* bignum.c, complex.c, encoding.c, ext/win32ole/win32ole.c,</div><div class='del'>-	  io.c, load.c, marshal.c, rational.c, ruby.c, vm.c:</div><div class='del'>-	  use rb_gc_register_mark_object() instead of</div><div class='del'>-	  rb_global_variable() or rb_gc_register_address().</div><div class='del'>-</div><div class='del'>-Mon Sep 15 23:37:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_opts): don't use to_sym.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 23:28:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_get_index): don't return -1.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): call FilePathValue before encoding</div><div class='del'>-	  conversion.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 22:11:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): specialized for 7bit characters in</div><div class='del'>-	  ASCII compatible strings.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): preserve 7bit/valid coderange flag.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): preserve previous coderange value.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_default_external_encoding): preserve</div><div class='del'>-	  default_external_encoding in a static variable.</div><div class='del'>-</div><div class='del'>-	* string.c (single_byte_optimizable): check coderange first, to</div><div class='del'>-	  reduce number of calling rb_enc_from_index().</div><div class='del'>-</div><div class='del'>-Mon Sep 15 20:57:00 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix#eql?): fixed [ruby-dev:36298].</div><div class='del'>-	  Reported by an anonymous user.</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#eql?): ditto.</div><div class='del'>-</div><div class='del'>-	* (Matrix#compare_by_row_vectors): takes comparison</div><div class='del'>-	  strategy as an optional parameter.</div><div class='del'>-</div><div class='del'>-	* (Vector#compare_by): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 14:34:32 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (RUBY_MAX_CHAR_LEN): defined.</div><div class='del'>-</div><div class='del'>-	* encoding.c (str_cat_char): use RUBY_MAX_CHAR_LEN.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 13:53:33 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): accept other than strings and</div><div class='del'>-	  regexps. [ruby-core:18595]</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_get_index): works files and encodings.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 13:17:21 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_eql_p): new.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_hash): should use hash values of the elements.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_cmp): removed an unused variable.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 11:11:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): resetsize_func and resetstate_func</div><div class='del'>-	  also returns ssize_t.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: follow the type change.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 10:28:10 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_matrix.rb (setup): typo.</div><div class='del'>-	  (test_equality): misdefinition of the expected working.</div><div class='del'>-	  Reported by an anonymous user.</div><div class='del'>-	  (test_hash): added.</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_vector.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 03:33:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h: return output functions ssize_t.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): don't need to cast the result</div><div class='del'>-	  of output functions.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: follow the type change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 03:04:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h: output function takes output buffer size.</div><div class='del'>-</div><div class='del'>-	* transcode.c: give output buffer size for output functions.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: follow the type change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 02:37:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode): returns duplicated string if nothing</div><div class='del'>-	  changed.  [ruby-core:18578]</div><div class='del'>-</div><div class='del'>-Sun Sep 14 22:09:01 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb (CGI::parse): performance improvement</div><div class='del'>-</div><div class='del'>-Sun Sep 14 18:33:32 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: trivial changes.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 16:15:22 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#eql?): typo of the method name as "eqn?".</div><div class='del'>-	  (Vector#eqn?): removed. Defined by mistake.</div><div class='del'>-	  Fixes [ruby-dev:36294]. Reported by weda &lt;weda AT</div><div class='del'>-	  issp.u-tokyo.ac.jp&gt; and an anonymous user.</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_matrix.rb: added.</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_vector.rb: added.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 16:07:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): associates the locale encoding with $0 as</div><div class='del'>-	  well as ARGV.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 13:48:03 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): added metameta-class initialization for</div><div class='del'>-	  BasicObject, Object, and Module.</div><div class='del'>-	  The metameta-classes of them are now the metaclass of Class, as the</div><div class='del'>-	  metameta-class of Class is.</div><div class='del'>-</div><div class='del'>-	* object.c (boot_defmetametaclass): added.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 10:10:43 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_{add,mul,sub}): omitted some shortcuts for preserving</div><div class='del'>-	  signed zero anyway.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_negate): new.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 04:15:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingTypeST): add end argument for</div><div class='del'>-	  left_adjust_char_head.</div><div class='del'>-	  (ONIGENC_LEFT_ADJUST_CHAR_HEAD): add end argument.</div><div class='del'>-	  (onigenc_get_left_adjust_char_head): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_left_char_head): add end argument.</div><div class='del'>-</div><div class='del'>-	* regenc.h (onigenc_single_byte_left_adjust_char_head): ditto.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_get_right_adjust_char_head): follow the interface</div><div class='del'>-	  change.</div><div class='del'>-	  (onigenc_get_right_adjust_char_head_with_prev): ditto.</div><div class='del'>-	  (onigenc_get_prev_char_head): ditto.</div><div class='del'>-	  (onigenc_step_back): ditto.</div><div class='del'>-	  (onigenc_get_left_adjust_char_head): ditto.</div><div class='del'>-	  (onigenc_single_byte_code_to_mbc): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/cp949.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gbk.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_tw.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_kr.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16le.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16be.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32le.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32be.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 03:43:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (ONIGENC_STEP_BACK): add end argument.</div><div class='del'>-	  (onigenc_step_back): ditto.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_step_back): add end argument.</div><div class='del'>-</div><div class='del'>-	* regexec.c: follow the interface change.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 03:20:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (onigenc_get_prev_char_head): add end</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_prev_char): ditto.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_get_prev_char_head): add end argument.</div><div class='del'>-</div><div class='del'>-	* regparse.c: follow the interface change.</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 02:04:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h</div><div class='del'>-	  (onigenc_get_right_adjust_char_head_with_prev): add end argument.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_get_right_adjust_char_head_with_prev): use end</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* regexec.c (forward_search_range): follow the interface change.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 01:38:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (onigenc_get_right_adjust_char_head): add</div><div class='del'>-	  end argument.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_right_char_head): add end argument.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_get_right_adjust_char_head): use end argument.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_adjust_startpos): follow the interface change.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c (backward_search_range): ditto.</div><div class='del'>-	  (onig_search): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 00:43:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (ripper.o): it depends on ruby headers.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 19:27:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): don't need argc argument.</div><div class='del'>-	  (rb_io_s_pipe): update io_encoding_set call.</div><div class='del'>-	  (rb_io_set_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 18:46:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_transcoding): align state field.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 18:21:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (DECORATOR_P): renamed from SUPPLEMENTAL_CONVERSION.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 18:05:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use rb_enc_name.</div><div class='del'>-	  (make_readconv): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_opts): ditto.</div><div class='del'>-	  (econv_args): ditto.</div><div class='del'>-	  (decorate_convpath): ditto.</div><div class='del'>-	  (econv_set_replacement): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 11:15:38 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb: fixed typo.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 10:53:13 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: refined.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 03:44:52 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_prepare_opts): raise ArgumentError if</div><div class='del'>-	  a broken string is specified as a replacement.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 03:31:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_compile_file): use rb_file_open_str.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_generic): call validate_enc_binmode.</div><div class='del'>-	  (rb_file_open_str): call FilePathValue.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 02:58:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (validate_enc_binmode): extracted from rb_io_extract_modeenc.</div><div class='del'>-	  (rb_io_extract_modeenc): use validate_enc_binmode.</div><div class='del'>-	  (io_encoding_set): call validate_enc_binmode.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 02:50:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_prepare_opts): initialize *opt and return 0</div><div class='del'>-	  if opthash is nil.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 02:29:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: transcoder name renamed to use underscore.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 02:12:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_init_by_convpath_i): new function.</div><div class='del'>-	  (rb_econv_init_by_convpath): new function.</div><div class='del'>-	  (econv_init): use rb_econv_init_by_convpath.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 01:11:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_args): take snamev_p and dnamev_p to prevent</div><div class='del'>-	  possible GC problem.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 00:38:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): take arg as VALUE * to prevent possible GC</div><div class='del'>-	  problem.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 23:19:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_add_transcoder_at): fix loop condition.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 22:39:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (decorator_names): extracted from rb_econv_open.</div><div class='del'>-	  (rb_econv_open): use decorator_names.</div><div class='del'>-	  (econv_args): extracted from econv_init.</div><div class='del'>-	  (econv_init): use econv_args.</div><div class='del'>-	  (decorate_convpath): new function.</div><div class='del'>-	  (search_convpath_i): new function.</div><div class='del'>-	  (econv_s_search_convpath): new method.</div><div class='del'>-	  (Init_transcode): new method defined.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 21:55:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_t): new field: num_allocated.</div><div class='del'>-	  (rb_econv_alloc): extracted from</div><div class='del'>-	  rb_econv_open_by_transcoder_entries.</div><div class='del'>-	  (rb_econv_add_transcoder_at): extracted from rb_econv_decorate_at</div><div class='del'>-	  and generalized</div><div class='del'>-	  (rb_econv_open_by_transcoder_entries): use rb_econv_alloc and</div><div class='del'>-	  rb_econv_add_transcoder_at.</div><div class='del'>-	  (rb_econv_add_converter): extracted from rb_econv_decorate_at.</div><div class='del'>-	  (rb_econv_decorate_at): use rb_econv_add_converter.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 21:22:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_t): new field: started.</div><div class='del'>-	  (rb_econv_open_by_transcoder_entries): initialize started field.</div><div class='del'>-	  (rb_econv_convert): set started field.</div><div class='del'>-	  (rb_econv_insert_output): ditto.</div><div class='del'>-	  (rb_econv_decorate_at): check started field instead of num_finished.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 20:28:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_single_byte_code_to_mbc): follow OnigEncoding</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 20:00:22 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_exp): fix resource leak.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 01:21:22 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/node.c (syck_replace_str2): fix wrong check to free ptr.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 20:18:24 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb (teardown): get rid</div><div class='del'>-	  of infinite loop.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 19:12:56 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigCodePoint): unsigned long to unsigned int.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_codepoint): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codepoint): signed int to unsigned int.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_ascget): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (enc_succ_alnum_char): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upcase_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_downcase_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_capitalize_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_swapcase_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (struct tr): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (trnext): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_delete_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (char_casecmp): ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c (mbc_to_code): to be 32bit clean.</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c (code_to_mbc): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (mbc_to_code): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (code_to_mbc): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 19:09:25 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: add attention for machine independent.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 15:23:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): adjust length for division and remainder.</div><div class='del'>-	  a patch from TOYOFUKU Chikanobu &lt;nobu_toyofuku at nifty.com&gt; in</div><div class='del'>-	  [ruby-dev:36231].</div><div class='del'>-</div><div class='del'>-Thu Sep 11 02:59:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): extracted from io_fwrite.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 02:25:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_encoding): new function.</div><div class='del'>-	  (make_encobj): new function.</div><div class='del'>-	  (econv_s_asciicompat_encoding): use make_encoding.</div><div class='del'>-	  (rb_econv_open_exc): use SUPPLEMENTAL_CONVERSION.</div><div class='del'>-	  (econv_convpath): use encoding object in the result.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 02:14:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_convpath): new method.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 23:00:43 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: print "&lt;internal:prelude&gt;" instead of</div><div class='del'>-	  "prelude.rb" on stack trace.  [ruby-dev:36129]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 21:19:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): remove unnecessary fixnum code.  a</div><div class='del'>-	  patch from TOYOFUKU Chikanobu &lt;nobu_toyofuku at nifty.com&gt; in</div><div class='del'>-	  [ruby-dev:36217].</div><div class='del'>-</div><div class='del'>-Wed Sep 10 21:09:32 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb: InternetExplorer should</div><div class='del'>-	  be closed.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/err_in_callback.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 18:25:19 2008  akira yamada  &lt;akira@rice.p.arika.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser): new class.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb, lib/uri/generic.rb: follow the above change.</div><div class='del'>-</div><div class='del'>-	* test/uri/test_parser.rb: added tests for URI::Parser.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 10:35:32 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/cookie.rb (CGI::Cookie#to_s): performance improvement</div><div class='del'>-	  from http://jp.rubyist.net/magazine/?0023-Cgirb.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 10:12:29 2008  akira yamada  &lt;akira@arika.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb (Sync_m#sync_exclusive): fixed</div><div class='del'>-	  typo. [ruby-dev:36233] [RubyForge#11680]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 01:57:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (StrSet#hash): cache hash value.</div><div class='del'>-	  (ActionMap#hash): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 01:26:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (econv_after_output): renamed from</div><div class='del'>-	  econv_output_followed_by_input.</div><div class='del'>-	  (ECONV_AFTER_OUTPUT): renamed from ECONV_OUTPUT_FOLLOWED_BY_INPUT.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 01:16:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (get_replacement_character): don't return ASCII</div><div class='del'>-	  incompatible replacements.</div><div class='del'>-	  (make_replacement): don't convert the result of</div><div class='del'>-	  get_replacement_character.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 01:05:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans (rb_universal_newline): swap src_encoding</div><div class='del'>-	  and dst_encoding.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_decorate_at): call get_transcoder_entry only</div><div class='del'>-	  once.</div><div class='del'>-	  (rb_econv_binmode): follow universal_newline change.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 00:01:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): rename field: writeconv_stateless to</div><div class='del'>-	  writeconv_asciicompat.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 23:55:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): raise an error if ASCII incompatible string</div><div class='del'>-	  written for text mode IO without encoding conversion.</div><div class='del'>-	  (rb_io_extract_modeenc): binmode requirement changed.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 21:59:48 2008  Takeyuki Fujioka  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi*: split cgi.rb into four files. [ruby-dev:36041]</div><div class='del'>-</div><div class='del'>-Tue Sep  9 21:17:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_DECORATOR_MASK): merge</div><div class='del'>-	  ECONV_ENCODER_MASK and ECONV_DECORATOR_MASK.</div><div class='del'>-	  (ECONV_UNIVERSAL_NEWLINE_DECORATOR): renamed from</div><div class='del'>-	  ECONV_UNIVERSAL_NEWLINE_DECODER.</div><div class='del'>-	  (ECONV_CRLF_NEWLINE_DECORATOR): renamed from</div><div class='del'>-	  ECONV_CRLF_NEWLINE_ENCODER.</div><div class='del'>-	  (ECONV_CR_NEWLINE_DECORATOR): renamed from ECONV_CR_NEWLINE_ENCODER.</div><div class='del'>-	  (ECONV_XML_TEXT_DECORATOR): renamed from ECONV_XML_TEXT_ENCODER.</div><div class='del'>-	  (ECONV_XML_ATTR_CONTENT_DECORATOR): renamed from</div><div class='del'>-	  ECONV_XML_ATTR_CONTENT_ENCODER.</div><div class='del'>-	  (ECONV_STATEFUL_DECORATOR_MASK): renamed from</div><div class='del'>-	  ECONV_STATEFUL_ENCODER_MASK.</div><div class='del'>-	  (ECONV_XML_ATTR_QUOTE_DECORATOR): renamed from</div><div class='del'>-	  ECONV_XML_ATTR_CONTENT_DECORATOR.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* transcode.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 20:55:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open0): make it static.</div><div class='del'>-	  (rb_econv_open): place decorators at last.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 20:40:15 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (OpenSSL#test_client_session):</div><div class='del'>-	  Debian's openssl 0.9.8g-13 failed at assert(ssl.session_reused?),</div><div class='del'>-	  when use default SSLContext. [ruby-dev:36167]</div><div class='del'>-</div><div class='del'>-Tue Sep  9 20:34:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_t): last_trans_index removed.</div><div class='del'>-	  (rb_econv_open_by_transcoder_entries): follow the type change.</div><div class='del'>-	  (rb_econv_open0): ditto.</div><div class='del'>-	  (rb_econv_decorate_at): ditto.</div><div class='del'>-	  (rb_econv_binmode): ditto.</div><div class='del'>-	  (rb_econv_insert_output): simplified because there are no decorators</div><div class='del'>-	  at last.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 20:21:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): reverse the order of decoders.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 20:18:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open0): num_encoders and num_decoders removed.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 03:59:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): useless branch removed.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 02:18:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_decorate_at_first): declared.</div><div class='del'>-	  (rb_econv_decorate_at_last): declared.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_by_transcoder_entries): initialize</div><div class='del'>-	  replacement_enc.  allocate outbuf for the last transcoder.</div><div class='del'>-	  (rb_econv_open0): extracted from rb_econv_open.</div><div class='del'>-	  (rb_econv_open): use rb_econv_open0 and decorate the result using</div><div class='del'>-	  rb_econv_decorate_at_first and rb_econv_decorate_at_last.</div><div class='del'>-	  (rb_econv_decorate_at): new function.</div><div class='del'>-	  (rb_econv_decorate_at_first): ditto.</div><div class='del'>-	  (rb_econv_decorate_at_last): ditto.</div><div class='del'>-	  (rb_econv_binmode): fix iteration end condition.</div><div class='del'>-	  (econv_init): don't set source_encoding_name and</div><div class='del'>-	  destination_encoding_name because they are set in rb_econv_open0.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 01:10:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): make ec a local variable.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 00:20:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_asciicompat_encoding): check decoder.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 00:00:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_t): last_error.partial_input removed.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 23:24:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_asciicompat_encoding): renamed</div><div class='del'>-	  from rb_econv_stateless_encoding to apply stateless ASCII</div><div class='del'>-	  incompatible encodings such as UTF-16BE.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use rb_econv_asciicompat_encoding.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder_asciicompat_type_t): renamed from</div><div class='del'>-	  rb_transcoder_stateful_type_t.</div><div class='del'>-	  (rb_transcoder): use rb_transcoder_asciicompat_type_t.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the type change.</div><div class='del'>-	  (asciicompat_encoding_i): renamed from stateless_encoding_i.</div><div class='del'>-	  (rb_econv_asciicompat_encoding): renamed from</div><div class='del'>-	  rb_econv_stateless_encoding.</div><div class='del'>-	  (econv_s_asciicompat_encoding): method renamed.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: follow the type change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: follow the type change.</div><div class='del'>-	  rb_from_UTF_16BE to UTF-8 is asciicompat_decoder.</div><div class='del'>-	  rb_from_UTF_16LE to UTF-8 is asciicompat_decoder.</div><div class='del'>-	  rb_from_UTF_32BE to UTF-8 is asciicompat_decoder.</div><div class='del'>-	  rb_from_UTF_32LE to UTF-8 is asciicompat_decoder.</div><div class='del'>-	  UTF-8 to rb_to_UTF_16BE is asciicompat_encoder.</div><div class='del'>-	  UTF-8 to rb_to_UTF_16LE is asciicompat_encoder.</div><div class='del'>-	  UTF-8 to rb_to_UTF_32BE is asciicompat_encoder.</div><div class='del'>-	  UTF-8 to rb_to_UTF_32LE is asciicompat_encoder.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: follow the type change.  universal newline</div><div class='del'>-	  decoder is asciicompat_converter.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: follow the type change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 23:05:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_insert_output): "readagain" part should be</div><div class='del'>-	  after replacement.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 22:30:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): rename option name of Dir.open</div><div class='del'>-	  from :external_encoding to :encoding.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 22:16:20 2008  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb : obsolete regex "n" option. [ruby-dev:36130]</div><div class='del'>-</div><div class='del'>-Mon Sep  8 18:13:20 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (getppid): typo. [ruby-dev:36202]</div><div class='del'>-</div><div class='del'>-	* process.c (get_ppid): mention the return value on Windows.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 18:15:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ArrayCode): less string substitutions.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 18:13:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_mRubyVMFrozenCore): registered for GC.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess_dregexp): fix GC problem on MacOS X with</div><div class='del'>-	  powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc.</div><div class='del'>-	  build 5367).</div><div class='del'>-</div><div class='del'>-Mon Sep  8 18:09:07 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): define SIZE_MAX for VC++6/7.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 17:46:09 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (filetime_to_unixtime): remove unused variable.</div><div class='del'>-	  [ruby-dev:36191]</div><div class='del'>-</div><div class='del'>-Mon Sep  8 13:47:39 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_dup): add open in block.</div><div class='del'>-	  see [ruby-dev:35957].</div><div class='del'>-</div><div class='del'>-Mon Sep  8 07:09:42 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: some adjustments.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 06:50:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XLDFLAGS): added --enable-auto-import for cygwin and</div><div class='del'>-	  mingw.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 02:04:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_set_replacement): renamed from</div><div class='del'>-	  rb_econv_set_replacemenet.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 01:10:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_tblgen): log message refined.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 00:58:04 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: removed unused code.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 00:04:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: upcase to iso-2022-jp.</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 23:46:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: stateless-iso-2022-jp is defined to avoid</div><div class='del'>-	  undefined conversion error between iso-2022-jp and the corresponding</div><div class='del'>-	  stateless encoding.</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c: replicate emacs-mule as stateless-iso-2022-jp.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 20:03:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans (hexstr): renamed from str1.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 19:45:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: use transcode_tblgen.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: generate an empty line after str1.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 19:16:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ActionMap#str_name): new method to</div><div class='del'>-	  generate a name base on string content.</div><div class='del'>-	  (ActionMap#gen_str): extracted from generate_info and use str_name.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 18:28:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ActionMap#generate_info): use a memo to</div><div class='del'>-	  avoid duplication for STR1.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 18:10:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (STR1): defined for a string up to 255 bytes.</div><div class='del'>-	  (STR1_BYTEINDEX): defined.</div><div class='del'>-	  (makeSTR1): defined.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: generate STR1.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): interpret STR1.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans (fun_so_escape_xml_chref): removed.  STR1 is</div><div class='del'>-	  used instead.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 17:54:45 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Mac OS X's crypt(2) is broken with invalid salt.</div><div class='del'>-	  [ruby-dev:35899]</div><div class='del'>-	* string.c (rb_str_crypt): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 17:29:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: o4 is usable only if the first byte is</div><div class='del'>-	  f0-f7.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 12:44:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): choose ASCII compatible encoding as</div><div class='del'>-	  intermediate encoding if stateful encoder exists.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 12:09:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_XML_ATTR_CONTENT_ENCODER): defined.</div><div class='del'>-	  (ECONV_STATEFUL_ENCODER_MASK): defined.</div><div class='del'>-	  (ECONV_XML_ATTR_QUOTE_ENCODER): defined.</div><div class='del'>-	  (ECONV_XML_ATTR_ENCODER): removed.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans (rb_escape_xml_attr_content): defined.</div><div class='del'>-	  (rb_escape_xml_attr_quote): defined.</div><div class='del'>-	  (rb_escape_xml_attr): removed.</div><div class='del'>-</div><div class='del'>-	* io.c (NEED_WRITECONV): writeconv is required if supplemental</div><div class='del'>-	  converter is used.</div><div class='del'>-	  (make_writeconv): apply stateful encoder in writeconv.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the constant change.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 07:24:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/*.el:  merged the following patches from Nathan Weizenbaum</div><div class='del'>-	  &lt;nex342 at gmail.com&gt;.   [ruby-core:18424]</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: improve here-doc performance.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: don't crash the whole mode if the Subversion</div><div class='del'>-	  $ keyword isn't interpolated.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: don't highlight keywords when they're the</div><div class='del'>-	  beginning of non-keyword symbols.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el, misc/ruby-electric.el: use regexp-opt where</div><div class='del'>-	  possible for more efficient regexps.</div><div class='del'>-</div><div class='del'>-	* misc/*.el: untabify, for internal consistency and consistency</div><div class='del'>-	  with standard Emacs elisp files.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: fix a variable-name error.</div><div class='del'>-</div><div class='del'>-	* misc/emacs-mode.el: don't set case-fold-search globally to nil;</div><div class='del'>-	  instead just set it when we need it.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 06:31:51 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): applied a patch from Nobuhiro Tachino</div><div class='del'>-	  in [ruby-dev:35948].  fix #491</div><div class='del'>-</div><div class='del'>-Sun Sep  7 03:37:05 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_block_optarg): allow default for block parameters as</div><div class='del'>-	  long as the value is primary.  a patch from Eric Mahurin</div><div class='del'>-	  &lt;eric.mahurin at gmail.com&gt; in [ruby-core:16880].</div><div class='del'>-</div><div class='del'>-Sun Sep  7 01:07:10 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): "1.upto 2 {|i| p i }" should be syntax error.</div><div class='del'>-	  [ruby-dev:36008]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_parse.rb (TestParse): update a test not to use</div><div class='del'>-	  recently fixed inconsistent syntax.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 00:37:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_ERROR_HANDLER_MASK): defined.</div><div class='del'>-	  (ECONV_DECODER_MASK): defined.</div><div class='del'>-	  (ECONV_ENCODER_MASK): defined.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): restrict ecflags for writeconv with</div><div class='del'>-	  ECONV_ERROR_HANDLER_MASK.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 23:03:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_XML_TEXT_ENCODER): renamed from</div><div class='del'>-	  ECONV_HTML_TEXT_ENCODER.</div><div class='del'>-	  (ECONV_XML_ATTR_ENCODER): renamed from ECONV_HTML_ATTR_ENCODER.</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* transcode.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 21:35:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: add some IPV6 constants. [ruby-dev:36175]</div><div class='del'>-</div><div class='del'>-Sat Sep  6 20:10:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_description): show ECONV_HTML_TEXT_ENCODER and</div><div class='del'>-	  ECONV_HTML_ATTR_ENCODER.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 20:06:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_binmode): check actual transcoders.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 19:54:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): fix last_tc.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 19:36:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): clear newline flags in writeconv_pre_ecflags.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 18:47:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): check ECONV_HTML_TEXT_ENCODER and</div><div class='del'>-	  ECONV_HTML_ATTR_ENCODER.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 18:38:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (allocate_converted_string): fix overflow condition.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 15:06:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (sym_html): new variable.</div><div class='del'>-	  (sym_text): ditto.</div><div class='del'>-	  (sym_attr): ditto.</div><div class='del'>-	  (econv_opts): check :html=&gt;:text and :html=&gt;:attr.</div><div class='del'>-	  (Init_transcode): initialize the above variables.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 14:46:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_HTML_TEXT_ENCODER): new constant.</div><div class='del'>-	  (ECONV_HTML_ATTR_ENCODER): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): check ECONV_HTML_TEXT_ENCODER and</div><div class='del'>-	  ECONV_HTML_ATTR_ENCODER.</div><div class='del'>-	  (Init_transcode): Encoding::Converter::HTML_TEXT_ENCODER and</div><div class='del'>-	  Encoding::Converter::HTML_ATTR_ENCODER defined.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 14:15:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (struct trans_open_t): defined to pass num_additional.</div><div class='del'>-	  (trans_open_i): use struct trans_open_t.</div><div class='del'>-	  (rb_econv_open): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 13:43:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans (fun_so_escape_html_attr): fix return type.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 12:43:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): needless branch removed.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 12:38:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): test condition simplified.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 12:25:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (stateless_encoding_i): ignore supplemental conversions.</div><div class='del'>-	  Encoding::Converter.stateless_encoding("html-attr-escaped") should be</div><div class='del'>-	  nil.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 12:19:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans (escape_html_attr_init): new function.</div><div class='del'>-	  (fun_so_escape_html_attr): new function.</div><div class='del'>-	  (escape_html_attr_finish): new function.</div><div class='del'>-	  (rb_escape_html_attr): use them to quote the converted result.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 07:54:36 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: uses f_real_p macro.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 07:27:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): fail for ASCII incompatible with</div><div class='del'>-	  newline conversion.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 07:24:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): raise an error for ASCII incompatible</div><div class='del'>-	  encoding without binmode.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 07:12:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem1): optimization by skipping zeros at the</div><div class='del'>-	  tail of digits.  a patch from TOYOFUKU Chikanobu</div><div class='del'>-	  &lt;nobu_toyofuku at nifty.com&gt; in [ruby-dev:36169].</div><div class='del'>-</div><div class='del'>-Sat Sep  6 06:28:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/escape.trans: new file.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 06:23:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (StrSet.parse): accept upper case</div><div class='del'>-	  hexadecimal digits.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 05:37:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (output_hex_charref): upcase hexadecimal digits.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 05:22:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_UNDEF_HEX_CHARREF): defined.</div><div class='del'>-</div><div class='del'>-	* transcode.c (output_hex_charref): new function.</div><div class='del'>-	  (rb_econv_convert): call output_hex_charref if</div><div class='del'>-	  ECONV_UNDEF_HEX_CHARREF.</div><div class='del'>-	  (Init_transcode): Encoding::Converter::UNDEF_HEX_CHARREF added.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 03:52:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_convert): use ECONV_INVALID_MASK and</div><div class='del'>-	  ECONV_UNDEF_MASK.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 06:05:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (DBL2NUM): renamed from DOUBLE2NUM.</div><div class='del'>-	  a patch from Tadashi Saito &lt;shiba at mail2.accsnet.ne.jp&gt;</div><div class='del'>-	  in [ruby-dev:36102].</div><div class='del'>-</div><div class='del'>-Sat Sep  6 04:44:06 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): add '===' operator to use procs in when</div><div class='del'>-	  clause of the case statement.  inspired by &lt;http://www.aimred.com/news/developers/2008/08/14/unlocking_the_power_of_case_equality_proc/&gt;.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 03:18:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (allocate_converted_string): add arguments for a buffer</div><div class='del'>-	  allocated by caller.</div><div class='del'>-	  (rb_econv_insert_output): provide caller allocated buffer to</div><div class='del'>-	  allocate_converted_string.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 02:58:53 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode_enc_args): local variables renamed.</div><div class='del'>-	  (str_transcode0): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 02:23:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_s_stateless_encoding): new method.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 02:01:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg): extracted from str_transcode_enc_args.</div><div class='del'>-	  (str_transcode_enc_args): use enc_arg.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 20:27:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_modestr_fmode): renamed from</div><div class='del'>-	  rb_io_mode_flags.</div><div class='del'>-	  (rb_io_modestr_oflags): renamed from rb_io_mode_modenum.</div><div class='del'>-	  (rb_io_oflags_fmode): renamed from rb_io_modenum_flags.</div><div class='del'>-	  (rb_io_mode_flags): defined as a macro.</div><div class='del'>-	  (rb_io_modenum_flags): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the renaming with consistency.</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect): call rb_io_modestr_oflags.</div><div class='del'>-</div><div class='del'>-	* ext/pty/depend: pty.o depends on io.h.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 20:12:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans (universal_newline_finish): new function.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 20:07:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_mode_modenum): moved from</div><div class='del'>-	  include/ruby/intern.h.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 19:59:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (MODENUM_MAX): removed.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 18:37:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_fallback_body): use read method unless readpartial</div><div class='del'>-	  is available.  [ruby-dev:36124]</div><div class='del'>-</div><div class='del'>-Fri Sep  5 18:16:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_create): strips glibc style option before</div><div class='del'>-	  charset mapping.  retries without options if they seemed causing</div><div class='del'>-	  error, and warns.  [ruby-dev:36147]</div><div class='del'>-</div><div class='del'>-Fri Sep  5 03:09:48 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): make it static.</div><div class='del'>-</div><div class='del'>-	* thread.c (thgroup_enclose): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 02:56:37 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_recycle_stack_slot, thread_recycle_stack_count):</div><div class='del'>-	  make it static.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 02:40:38 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_critical): removed.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 01:22:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_mark): mark p-&gt;encs.ecopts.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 00:45:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): rename fields:</div><div class='del'>-	  from_encoding -&gt; src_encoding, to_encoding -&gt; dst_encoding.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 00:22:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: variables renamed for consistency.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 00:05:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (encodes): make buff fixed length to avoid SEGV by</div><div class='del'>-	  ruby -e '["a"*10000000].pack("m1000000000")'</div><div class='del'>-</div><div class='del'>-Thu Sep  4 23:47:05 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_mode): set exception mode</div><div class='del'>-	  correctly.  In spite of BigDecimal.mode(BigDecimal::EXCEPTION_ALL,</div><div class='del'>-	  true), BigDecimal.new("NaN") did not raise an exception previously.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 23:42:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_file_open_str): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_str): defined.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_s_open): use rb_file_open_str instead of</div><div class='del'>-	  rb_file_open.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 23:18:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: record newline types met in universal</div><div class='del'>-	  newline decoder.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 23:05:54 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Prime::OldCompatibility#each): added compatibility to</div><div class='del'>-	    Ruby 1.8.7.</div><div class='del'>-	  (Prime#each): added more rdocs.</div><div class='del'>-	  (Prime#each): remembers the last value of the given block.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 21:53:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_init): accept an integer as 3rd argument as well.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 21:46:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (sym_partial_input): new variable.</div><div class='del'>-	  (econv_primitive_convert): accept a hash as 5th argument as well.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 21:04:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (sym_universal_newline_decoder): new variable.</div><div class='del'>-	  (sym_crlf_newline_encoder): ditto.</div><div class='del'>-	  (sym_cr_newline_encoder): ditto.</div><div class='del'>-	  (econv_opts): check newline converter options.</div><div class='del'>-	  (econv_init): make 3rd argument hash/nil only.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 21:03:28 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: rename some debug functions.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 20:57:54 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_check_trap_pending): added for compatibility.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: remove ruby/signal.h</div><div class='del'>-	  dependency.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 20:30:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (PType): defined unconditionally.</div><div class='del'>-</div><div class='del'>-	* transcode.c (PType): don't define here.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 20:19:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: variables renamed for consistency.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 19:40:50 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record_get): to static function.</div><div class='del'>-	  (gc_profile_result): ditto.</div><div class='del'>-	  (gc_profile_report): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 19:20:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_enc_t): rename flags to ecflags.</div><div class='del'>-	  (rb_io_t): rename writeconv_pre_flags to writeconv_pre_ecflags.</div><div class='del'>-	  (MakeOpenFile): follow the renaming.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 19:10:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_INVALID_IGNORE): removed because</div><div class='del'>-	  it tend to cause security problem.  If the behaviour is really</div><div class='del'>-	  required, ECONV_INVALID_REPLACE with empty string can be used.</div><div class='del'>-	  For example, CVE-2006-2313, CVE-2008-1036, [ruby-core:15645],</div><div class='del'>-	  http://unicode.org/reports/tr36/</div><div class='del'>-	  (ECONV_UNDEF_IGNORE): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_convert): follow the above change.</div><div class='del'>-	  (econv_opts): ditto.</div><div class='del'>-	  (Init_transcode): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 13:22:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_vm_struct): replaced signal staff with trap</div><div class='del'>-	  staff.</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_buff): per process resource now.</div><div class='del'>-</div><div class='del'>-	* signal.c (trap_list): moved to VM.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_get_next_signal): reverted.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_trap_exit): trap_pending_list was no longer used.</div><div class='del'>-</div><div class='del'>-	* thread.c (timer_thread_function): delivers buffered per-process</div><div class='del'>-	  signals to each VMs.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): marks trap_list.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 13:01:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct sysopen_struct, rb_sysopen_internal, rb_sysopen):</div><div class='del'>-	  constified.</div><div class='del'>-</div><div class='del'>-	* io.c: expanded ARGF members macros.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 10:43:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (citrus_decode_mapsrc): support older 1.8.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 10:33:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv, argf_set_encoding): copy struct wise.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 09:46:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): follow rb_str_transcode change.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 08:59:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file): fix GC problem on Debian GNU/Linux (IA64)</div><div class='del'>-	  with gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21).</div><div class='del'>-	  There is no register/memory to contain load_path.  A register (r35)</div><div class='del'>-	  contains &amp;RARRAY_PTR(load_path), (char*)load_path + 32.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 03:10:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): new fields: encs.ecopts and</div><div class='del'>-	  writeconv_pre_ecopts.</div><div class='del'>-	  (MakeOpenFile): initialize them.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_str_transcode): take ecopts argument.</div><div class='del'>-	  (rb_econv_flags): removed.</div><div class='del'>-	  (rb_econv_prepare_opts): declared.</div><div class='del'>-	  (rb_econv_open_opts): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use rb_econv_open_opts.</div><div class='del'>-	  (make_readconv): ditto.</div><div class='del'>-	  (io_fwrite): follow rb_str_transcode change.</div><div class='del'>-	  (rb_io_extract_modeenc): use rb_econv_prepare_opts.</div><div class='del'>-	  (rb_file_open_generic): initialize encs.ecopts.</div><div class='del'>-	  (rb_file_open_internal): ditto.</div><div class='del'>-	  (rb_io_reopen): ditto.</div><div class='del'>-	  (argf_ecopts): defined.</div><div class='del'>-	  (argf_next_argv): set encs.ecopts.</div><div class='del'>-	  (io_encoding_set): use rb_econv_prepare_opts.</div><div class='del'>-	  (argf_set_encoding): set argf_ecopts.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark encs.ecopts and writeconv_pre_ecopts</div><div class='del'>-	  in T_FILE.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): take ecopts argument. use</div><div class='del'>-	  rb_econv_open_opts.</div><div class='del'>-	  (rb_econv_flags): removed.</div><div class='del'>-	  (rb_econv_prepare_opts): defined.</div><div class='del'>-	  (rb_econv_open_opts): defined.</div><div class='del'>-	  (str_transcode0): take ecopts.</div><div class='del'>-	  (str_transcode): use rb_econv_prepare_opts.</div><div class='del'>-	  (rb_str_transcode): take ecopts.</div><div class='del'>-	  (econv_init): accept hash argument.</div><div class='del'>-	  (econv_insert_output): follow rb_str_transcode change.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 01:30:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_set_replacemenet): declared.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_t): new fields: replacement_str,</div><div class='del'>-	  replacement_len, replacement_enc and replacement_allocated.</div><div class='del'>-	  (get_replacement_character): make len as size_t.</div><div class='del'>-	  (rb_econv_open_by_transcoder_entries): initialize the new fields.</div><div class='del'>-	  (rb_econv_close): deallocate replacement_str if it allocated.</div><div class='del'>-	  (make_replacement): new function.</div><div class='del'>-	  (output_replacement_character): use make_replacement.</div><div class='del'>-	  (rb_econv_set_replacemenet): defined.</div><div class='del'>-	  (econv_get_replacement): new method.</div><div class='del'>-	  (econv_set_replacement): new method.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 01:12:03 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (filetime_to_timeval): new function, split from</div><div class='del'>-	  gettimeofday().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gettimeofday): use above function.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (filetime_to_unixtime): ditto. [ruby-dev:36135]</div><div class='del'>-</div><div class='del'>-Thu Sep  4 01:00:57 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): avoid VC++6's bug.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 00:26:27 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): follow akr's previous commit.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 00:09:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_option_t): removed.  Since</div><div class='del'>-	  rb_econv_option_t has only one field, int flags, rb_econv_option_t is</div><div class='del'>-	  replaced by int.</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h: follow the above change.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 00:04:59 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: fix ruby/signal.h depending codes.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 00:01:45 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb (test_getpwuid, test_getgrgid): use</div><div class='del'>-	  Process.euid and egid instead of Etc.getlogin to identify current</div><div class='del'>-	  user which may be different from a login one (e.g., su command).</div><div class='del'>-</div><div class='del'>-Wed Sep  3 23:52:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb: check only typical use of</div><div class='del'>-	  setpwent/getpwent/endpwent and setgrent/getgrent/endgrent.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 23:33:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_transcoding): moved from transcode_data.h.</div><div class='del'>-	  (TRANSCODING_READBUF): ditto.</div><div class='del'>-	  (TRANSCODING_WRITEBUF): ditto.</div><div class='del'>-	  (TRANSCODING_STATE_EMBED_MAX): ditto.</div><div class='del'>-	  (TRANSCODING_STATE): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 23:03:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): remove stateful field.</div><div class='del'>-	  add state field.</div><div class='del'>-	  (TRANSCODING_STATE): defined.</div><div class='del'>-	  (rb_transcoder): add fields: state_size, state_init_func,</div><div class='del'>-	  state_fini_func.</div><div class='del'>-	  change rb_transcoding* argument to void*.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): use TRANSCODING_STATE for</div><div class='del'>-	  first arguments of transcoder functions.</div><div class='del'>-	  (rb_transcoding_open_by_transcoder): initialize state field.</div><div class='del'>-	  (rb_transcoding_close): finalize state field.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: provide state size/init/fini.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans (universal_newline_init): defined.</div><div class='del'>-	  (fun_so_universal_newline): take void* as a state pointer.</div><div class='del'>-	  (rb_universal_newline): provide state size/init/fini.</div><div class='del'>-	  (rb_crlf_newline): ditto.</div><div class='del'>-	  (rb_cr_newline): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans (iso2022jp_init): defined.</div><div class='del'>-	  (fun_si_iso2022jp_to_eucjp): take void* as a state pointer.</div><div class='del'>-	  (fun_so_iso2022jp_to_eucjp): ditto.</div><div class='del'>-	  (fun_so_eucjp_to_iso2022jp): ditto.</div><div class='del'>-	  (iso2022jp_reset_sequence_size): ditto.</div><div class='del'>-	  (finish_eucjp_to_iso2022jp): ditto.</div><div class='del'>-	  (rb_ISO_2022_JP_to_EUC_JP): provide state size/init/fini.</div><div class='del'>-	  (rb_EUC_JP_to_ISO_2022_JP): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans (fun_so_from_utf_16be): take void* as a</div><div class='del'>-	  state pointer.</div><div class='del'>-	  (fun_so_to_utf_16be): ditto.</div><div class='del'>-	  (fun_so_from_utf_16le): ditto.</div><div class='del'>-	  (fun_so_to_utf_16le): ditto.</div><div class='del'>-	  (fun_so_from_utf_32be): ditto.</div><div class='del'>-	  (fun_so_to_utf_32be): ditto.</div><div class='del'>-	  (fun_so_from_utf_32le): ditto.</div><div class='del'>-	  (fun_so_to_utf_32le): ditto.</div><div class='del'>-	  (rb_from_UTF_16BE): provide state size/init/fini.</div><div class='del'>-	  (rb_to_UTF_16BE): ditto.</div><div class='del'>-	  (rb_from_UTF_16LE): ditto.</div><div class='del'>-	  (rb_to_UTF_16LE): ditto.</div><div class='del'>-	  (rb_from_UTF_32BE): ditto.</div><div class='del'>-	  (rb_to_UTF_32BE): ditto.</div><div class='del'>-	  (rb_from_UTF_32LE): ditto.</div><div class='del'>-	  (rb_to_UTF_32LE): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans (fun_so_eucjp2sjis): take void* as a state</div><div class='del'>-	  pointer.</div><div class='del'>-	  (fun_so_sjis2eucjp): ditto.</div><div class='del'>-	  (rb_eucjp2sjis): provide state size/init/fini.</div><div class='del'>-	  (rb_sjis2eucjp): provide state size/init/fini.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 22:31:11 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Integer): moved into prime.rb.</div><div class='del'>-	  (Prime): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Integer): moved from mathn.rb.</div><div class='del'>-	  (Integer.each_prime): added.</div><div class='del'>-	  (Integer#prime?): added.</div><div class='del'>-	  (Prime): moved from mathn.rb.</div><div class='del'>-	    Its implementation was rewritten. see [ruby-dev:35863].</div><div class='del'>-	    And patched by Keiju ISHITSUKA &lt;keiju@ishitsuka.com&gt;,</div><div class='del'>-	    see [ruby-dev:36128].</div><div class='del'>-	  (Prime.new):                     obsolete.</div><div class='del'>-	  (Prime.instance):                added.</div><div class='del'>-	  (Prime.each):                    added.</div><div class='del'>-	  (Prime.int_from_prime_division): added.</div><div class='del'>-	  (Prime.prime_division):          added.</div><div class='del'>-	  (Prime.prime?):                  added.</div><div class='del'>-	    Patch by TOYOFUKU Chikanobu</div><div class='del'>-	    &lt;nobu_toyofuku at nifty.com&gt; in [ruby-dev:36067].</div><div class='del'>-	  (Prime.cache):                   removed.</div><div class='del'>-	  (Prime.primes):                  removed.</div><div class='del'>-	  (Prime.primes_so_far):           removed.</div><div class='del'>-	  (Prime#int_from_prime_division): added.</div><div class='del'>-	  (Prime#prime_division):          added.</div><div class='del'>-	  (Prime#prime?):                  added.</div><div class='del'>-	  (Prime#primes):                  removed.</div><div class='del'>-	  (Prime#primes_so_far):           removed.</div><div class='del'>-	  (Prime::PseudoPrmeGenerator):    added.</div><div class='del'>-	  (Prime::EratosthenesGenerator):  added.</div><div class='del'>-	  (Prime::TrialDivisionGenerator): added.</div><div class='del'>-	  (Prime::Generator23):            added.</div><div class='del'>-	  (Prime::TrialDivision):          added.</div><div class='del'>-	    Extracted from the previous implementation of Prime</div><div class='del'>-	    by Keiju ISHITSUKA.</div><div class='del'>-	  (Prime::EratosthenesSieve):      added.</div><div class='del'>-</div><div class='del'>-	* lib/.document (prime.rb): added</div><div class='del'>-</div><div class='del'>-	* lib/README (prime.rb): added</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb: added.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 21:49:00 2008  David A. Black  &lt;dblack@rubypal.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: fixed bug involving matching literal '['</div><div class='del'>-</div><div class='del'>-	* test/scanf/test_scanf.rb: added test for scanf.rb fix</div><div class='del'>-</div><div class='del'>-Wed Sep  3 21:31:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (WORDINDEX_SHIFT_BITS): defined.</div><div class='del'>-	  (WORDINDEX2INFO): defined.</div><div class='del'>-	  (INFO2WORDINDEX): defined.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: use WORDINDEX2INFO.</div><div class='del'>-</div><div class='del'>-	* transcode.c: use INFO2WORDINDEX.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 21:19:51 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb: suppress warnings when goruby -v.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 21:07:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (BL_MIN_BYTE): defined.</div><div class='del'>-	  (BL_MAX_BYTE): defined.</div><div class='del'>-	  (BL_OFFSET): defined.</div><div class='del'>-	  (BL_ACTION): defined.</div><div class='del'>-	  (transcode_restartable0): use BL_MIN_BYTE, BL_MAX_BYTE and</div><div class='del'>-	  BL_ACTION.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 20:58:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (BYTE_ADDR): defined.</div><div class='del'>-	  (WORD_ADDR): ditto.</div><div class='del'>-	  (BL_BASE): use BYTE_ADDR and WORD_ADDR.</div><div class='del'>-	  (BL_INFO): use WORD_ADDR.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 20:47:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): new field: byte_array_length and</div><div class='del'>-	  word_array_length.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_generated_code): generate</div><div class='del'>-	  byte_array_length and word_array_length.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 20:34:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ArrayCode): new class.</div><div class='del'>-	  (ActionMap#gen_array_code): moved to ArrayCode.</div><div class='del'>-	  (ActionMap#numelt_array_code): ditto.</div><div class='del'>-	  (ActionMap#array_code_insert_at_last): ditto.</div><div class='del'>-	  (TRANSCODE_GENERATED_BYTES_CODE): use ArrayCode.</div><div class='del'>-	  (TRANSCODE_GENERATED_WORDS_CODE): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 20:08:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: new file.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 20:04:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ActionMap#gen_array_code): extracted from</div><div class='del'>-	  generate_lookup_node.</div><div class='del'>-	  (ActionMap#numelt_array_code): ditto.</div><div class='del'>-	  (ActionMap#array_code_insert_at_last): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 20:01:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_encoding_name): defined.</div><div class='del'>-	  (parser_tokadd_mbchar): show encoding in the message of</div><div class='del'>-	  "invalid multibyte char" error.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 19:28:04 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_missing): C99.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 19:18:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: fix test.</div><div class='del'>-	   [ruby-dev:35960]</div><div class='del'>-</div><div class='del'>-Wed Sep  3 17:48:32 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: check $(srcdir)/enc/trans before</div><div class='del'>-	  enc/trans.</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: keep names_t.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 16:54:46 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/signal.h: removed.</div><div class='del'>-</div><div class='del'>-	* common.mk, class.c, eval.c, eval_intern.h, file.c, gc.c, hash.c,</div><div class='del'>-	  io.c, process.c, signal.c: vm_core.h: ditto.</div><div class='del'>-	  Some unused external global variables are also removed.</div><div class='del'>-	 (rb_prohibit_interrupt, rb_trap_immediate, rb_trap_pending,</div><div class='del'>-	  rb_thread_critical)</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c, ext/openssl/ossl_x509store.c,</div><div class='del'>-	  ext/readline/readline.c, ext/socket/depend,</div><div class='del'>-	  ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 00:23:25 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_missing): copy arguments to allocated</div><div class='del'>-	  memory from machine stack.  [ruby-dev:36064]</div><div class='del'>-</div><div class='del'>-Tue Sep  2 22:20:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (base_element): removed.</div><div class='del'>-	  (BYTE_LOOKUP): removed.</div><div class='del'>-	  (BYTE_LOOKUP_BASE): don't cast.</div><div class='del'>-	  (BYTE_LOOKUP_INFO): ditto.</div><div class='del'>-	  (PType): unsigned int, instead of uintptr_t.</div><div class='del'>-	  (rb_transcoding): change type of next_field, conv_tree_start and</div><div class='del'>-	  word_array.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: generate word_array as array of unsigned</div><div class='del'>-	  int.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): follow the above type change.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 21:22:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: add prefix for byte_array and word_array.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 20:57:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: check foo.c only if foo.trans exists.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 19:19:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: error message improved.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 14:05:50 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans (from_UTF_8): rename from to_UTF_16BE</div><div class='del'>-	  because it was not collect.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 14:00:54 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c (svn:executable): dropped executable bit.</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb (svn:executable): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 12:58:58 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (COMPILERFLAG): new compiler flag to compile</div><div class='del'>-	  enc/trans/japanese*.c.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 12:37:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese_euc.trans: splitted from japanese.trans to avoid</div><div class='del'>-	  compiler limitation.  reported by usa.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese_sjis.trans: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 12:31:24 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (miniruby): new target.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 11:47:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (struct load_arg): data is now st_table.</div><div class='del'>-</div><div class='del'>-	* marshal.c (mark_load_arg): marks data and compat_tbl.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): no need to check if reentered.</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_load): make the wrapper with mark_load_arg.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 10:49:18 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gettimeofday): easier calculation. use the definition</div><div class='del'>-	  of the Gregorian calendar.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 10:33:12 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (distclean-golf): moved golf_prelude.c here from</div><div class='del'>-	    distclean-local.</div><div class='del'>-	  (GOLFPRELUDE): added.</div><div class='del'>-	  (distclean-local): moved golf_prelude.c into distclean-golf.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 10:09:17 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gettimeofday): calc tv_sec and tv_usec from system</div><div class='del'>-	  time by myself. [ruby-dev:36084]</div><div class='del'>-</div><div class='del'>-Tue Sep  2 04:00:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (o3): prevent sign extension on 64bit environment.</div><div class='del'>-	  (o4): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 03:26:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: comment removed in generated code.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 03:16:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: define TRANSCODE_TABLE_INFO in generated</div><div class='del'>-	  code.  use it in rb_transcoder.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: use TRANSCODE_TABLE_INFO.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 03:04:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: record infos and BYTE_LOOKUPs as index of</div><div class='del'>-	  word_array to avoid relocation.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): add word_array to get infos</div><div class='del'>-	  and BYTE_LOOKUPs.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (BYTE_LOOKUP_INFO): change return type to</div><div class='del'>-	  uintptr_t.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 02:48:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: don't need to cast offsets array.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 02:36:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: record offsets array as index of</div><div class='del'>-	  byte_array to avoid relocation.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): add byte_array to get offsets</div><div class='del'>-	  array.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (BYTE_LOOKUP_BASE): change return type to</div><div class='del'>-	  uintptr_t.</div><div class='del'>-	  (rb_transcoder): add fields: byte_array, word_array and word_size.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: follow rb_transcoder change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 02:05:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: make infos arrays and BYTE_LOOKUPs into</div><div class='del'>-	  single array.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 01:47:44 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-golf): added.</div><div class='del'>-	  (distclean-golf): added.</div><div class='del'>-	  (realclean-golf): added.</div><div class='del'>-	  (clean): added clean-golf.</div><div class='del'>-	  (distclean): added distclean-golf.</div><div class='del'>-	  (realclean): added realclean-golf.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 01:31:45 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (realclean-local): added newline.c.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 01:19:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (BYTE_LOOKUP): change to uintptr_t array.</div><div class='del'>-	  (BYTE_LOOKUP_BASE): follow the type change.</div><div class='del'>-	  (BYTE_LOOKUP_INFO): ditto.</div><div class='del'>-	  (PType): ditto.</div><div class='del'>-	  (rb_transcoding): ditto.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: follow the type change.</div><div class='del'>-</div><div class='del'>-	* transcode.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 23:32:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (BYTE_LOOKUP_BASE): abstract accessor for</div><div class='del'>-	  BYTE_LOOKUP.</div><div class='del'>-	  (BYTE_LOOKUP_INFO): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): use BYTE_LOOKUP_BASE and</div><div class='del'>-	  BYTE_LOOKUP_INFO.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 23:14:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: gather infos arrays and BYTE_LOOKUPs.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 22:42:54 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (distclean): added RM_RF conftest.dSYM.</div><div class='del'>-	  Fixes distclean-ext problem on Mac OS X.</div><div class='del'>-	  (RM_RF): added.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 22:37:06 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb: limit entity expansion.  Thanks, Luka</div><div class='del'>-	  Treiber, Mitja Kolsek, and Michael Koziarski.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/entity.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 22:20:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: make offsets arrays into single array.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 21:46:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: gather offsets arrays at top.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 21:09:04 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ./: removed rubyspec from svn:ignore subversion property.</div><div class='del'>-	  rubyspec directory is no longer used.</div><div class='del'>-</div><div class='del'>-	* spec: added mspec and rubyspec to svn:ignore.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 19:37:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: ValidEncoding['eucJP-ms'] defined.</div><div class='del'>-	  "\xA2\xAF".encode("utf-8", "eucJP-ms") should raise</div><div class='del'>-	  Encoding::ConversionUndefined, not Encoding::InvalidByteSequence.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 18:27:51 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gettimeofday): shouldn't use mktime(3) because it's</div><div class='del'>-	  buggy about handling summer time.</div><div class='del'>-	  reported by Yoshikawa &lt;yoshixool AT gmail.com&gt; at [ruby-dev:36071]</div><div class='del'>-</div><div class='del'>-Mon Sep  1 17:07:23 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (euc-jp-ms): euc-jp-ms is not an alias of EUC-JP</div><div class='del'>-	  but eucJP-ms.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans (eucJP-ms): eucJP-ms is the correct</div><div class='del'>-	  name of the encoding in Ruby. [ruby-dev:36070]</div><div class='del'>-</div><div class='del'>-Mon Sep  1 16:48:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5init.c (md5), ext/digest/rmd160/rmd160init.c</div><div class='del'>-	  (rmd160) ext/digest/sha1/sha1init.c (sha1),</div><div class='del'>-	  ext/digest/sha2/sha2init.c (sha256, sha384, sha512): constified.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 15:15:40 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: fix mapping priority.</div><div class='del'>-	  IBM extended is prior than NEC selected IBM.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:44:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_compile_tree): use the first</div><div class='del'>-	  mapping when some mappings are given for a character.</div><div class='del'>-	  [ruby-dev:36068]</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: expandtab.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:40:18 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT (Appendix A): fixed the name of class</div><div class='del'>-	  Enumerator. Enumerable::Enumerator was renamed just</div><div class='del'>-	  Enumerator at revision 18564.</div><div class='del'>-</div><div class='del'>-	* README.EXT (Appendix A): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:37:58 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: set ERB source filename for error message.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:37:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: transdb.c may not present.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:25:26 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: fix Ruby 1.8 compatibility.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: fix mapping priority. [ruby-dev:36068]</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:24:14 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_windows_31j): added.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 14:00:04 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT (Data-types): fixed for current status.</div><div class='del'>-	  (Manipulating Ruby data): mentioned some more functions.</div><div class='del'>-	  (Class/module definition): ditto.</div><div class='del'>-	  (Global variables shared between C and Ruby):</div><div class='del'>-	    fixed prototypes for the getter/setter's of global variables.</div><div class='del'>-	  (Appendix A): mentioned some more files.</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 11:31:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (copy_stream, fu_copy_stream0, copy_file): use</div><div class='del'>-	  IO.copy_stream to get rid of extraneous conversion.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 02:55:15 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): calc timezone offset by myself if system</div><div class='del'>-	  doesn't provide timezone info.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 02:48:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: change "illegal" to "invalid".</div><div class='del'>-</div><div class='del'>-Mon Sep  1 02:31:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_generated_code): defined for</div><div class='del'>-	  generating table at once.</div><div class='del'>-	  (transcode_tblgen): returns an empty string.</div><div class='del'>-	  (transcode_generate_node): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: use transcode_generated_code.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/korean.trans: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 02:10:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (citrus_decode_mapsrc): print logging</div><div class='del'>-	  message on STDERR.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 01:24:09 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/eucjp-tbl.rb: replace by previous Citrus maps.</div><div class='del'>-</div><div class='del'>-	* enc/trans/sjis-tbl.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 01:18:26 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: add table generator from Citrus maps.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: use Citrus maps.</div><div class='del'>-</div><div class='del'>-	* enc/trans/CP: add maps from Citrus.</div><div class='del'>-</div><div class='del'>-	* enc/trans/JIS: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Shift_JIS and EUC-JP doesn't support</div><div class='del'>-	  IBM extended characters.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 00:19:45 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (docs): removed a useless make target.</div><div class='del'>-	  tool/makedoc.rb was removed at revision 13919.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 20:49:42 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (numeric_abs2): new.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 18:22:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_devel?): checks if the compiler works.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 18:02:41 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Temporarily uses git://github.com/yugui/rubyspec.git</div><div class='del'>-	  until specs for 1.9 is merged into</div><div class='del'>-	  git://github.com/rubyspec/rubyspec.git.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 18:06:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode.c): set source_encoding and</div><div class='del'>-	  destination_encoding as encoding object.</div><div class='del'>-	  (ecerr_source_encoding): new method.</div><div class='del'>-	  (ecerr_destination_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 17:58:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.log_open): opens in binary mode to get rid of</div><div class='del'>-	  extra CR.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_func, try_var, have_struct_member),</div><div class='del'>-	  (scalar_ptr_type?, scalar_type?): use MAIN_DOES_NOTHING.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MAIN_DOES_NOTHING): defaults to ordinary main.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config): for MAIN_DOES_NOTHING for wince.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 17:30:35 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/README (How to run): added.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 17:28:25 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec (config): added.</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec (target): replaced the built ruby</div><div class='del'>-	  to runruby.rb.</div><div class='del'>-	  Improved $LOAD_PATH on running specs.</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec (flags): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 17:16:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): rename instance variable names</div><div class='del'>-	  for storing encoding names.</div><div class='del'>-	  (ecerr_source_encoding_name): method renamed.</div><div class='del'>-	  (ecerr_destination_encoding_name): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 16:57:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_putback): associate encoding to the result.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 16:43:56 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: rename RB_UBF_DFL to</div><div class='del'>-	  RUBY_UBF_IO and RUBY_UBF_PROCESS.</div><div class='del'>-	  Because there is no default (universal) unblocking function.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c, file.c, io.c, process.c, thread.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 16:42:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_insert_output): raise ArgumentError on failure.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 16:39:17 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 16:34:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans (us_ascii_map): don't define 8bit bytes.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 14:27:27 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_last_error): new method.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 14:17:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_convert): make two arguments,</div><div class='del'>-	  destination_byteoffset and destination_bytesize, optional.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 14:12:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): error message simplified.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 13:47:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c (rb_mCoverage): removed unneeded static variable.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (unix_recv_io): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (mConst): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 13:45:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): fix for</div><div class='del'>-	  initialization of r18168.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 13:42:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (ripper_init_eventids2): use rb_intern_const.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb (generate_eventids1): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb (generate_eventids2_table): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 12:56:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb (rb_dl_init_callbacks): fix indent.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 11:39:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_do_scan): fix usecnt decrement.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 04:38:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_putback): make max argument optional.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 04:35:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_putback): putback from last byte.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 04:27:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_putback): renamed from econv_primitive_putback.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 04:22:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_insert_output): renamed from</div><div class='del'>-	  econv_primitive_insert_output.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 04:20:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_econv.rb: follow econv_primitive_errinfo change.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 03:44:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_errinfo): 5th element (partial_input)</div><div class='del'>-	  removed from result.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 01:53:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb: split callback.h to callback-[0-9].c to reduce</div><div class='del'>-	  memory consumption on compilation.  [ruby-dev:31898]</div><div class='del'>-</div><div class='del'>-	* ext/dl/depend: add dependency for callback-[0-9].[co].</div><div class='del'>-</div><div class='del'>-Sun Aug 31 01:27:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb (foreach_proc_entry): extracted.</div><div class='del'>-	  (gencallback): ditto.</div><div class='del'>-	  (gen_push_proc_ary): ditto.</div><div class='del'>-	  (gen_push_addr_ary): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 23:51:01 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_tuplebag.rb (test_has_expires_eh): fix failures</div><div class='del'>-	  [ruby-dev:35937].</div><div class='del'>-</div><div class='del'>-Sat Aug 30 23:38:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_import.rb: fix character code.</div><div class='del'>-</div><div class='del'>-	* ext/dl/test/test_func.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 22:23:31 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: added a static variable for nurat_to_f.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 20:05:41 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open, rb_w32_read, rb_w32_write): fallback to</div><div class='del'>-	  MSVCRT if text mode is specified. this case will not be used from</div><div class='del'>-	  ruby itself.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 19:49:38 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): EOF is not error.</div><div class='del'>-	  ref [ruby-dev:36050]</div><div class='del'>-</div><div class='del'>-Sat Aug 30 18:17:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct token_info): constified.</div><div class='del'>-</div><div class='del'>-	* parse.y (token_info_get_column, token_info_has_nonspaces),</div><div class='del'>-	  (token_info_push, token_info_pop): constified.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 15:43:03 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (Init_ossl_config): memory leak fixed.</div><div class='del'>-	  a patch &lt;shinichiro.hamaji at gmail.com&gt; in [ruby-dev:35880].</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_do_scan): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 14:58:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): fix for</div><div class='del'>-	  initialization of r18168.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 14:47:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb: fix continuation line detection.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 14:39:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb (rb_dl_init_callbacks): avoid GC problem which</div><div class='del'>-	  is caused by 'GC.stress=true; require "dl"'.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 11:54:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (token_info_push): -w warns indentation level mismatch.</div><div class='del'>-	  based on a patch from Yukina Yamano presented at RubyKaigi'07.</div><div class='del'>-	  See &lt;http://jp.rubyist.net/RubyKaigi2007/Log0609-LT06.html&gt; and</div><div class='del'>-	  &lt;http://www.logic-junction.com/products/rubyend.html&gt; (Japanese).</div><div class='del'>-</div><div class='del'>-Sat Aug 30 10:46:44 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: remove include pragma for "ruby/intern.h".</div><div class='del'>-</div><div class='del'>-Sat Aug 30 10:43:03 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove include pragma for "ruby/intern.h".</div><div class='del'>-</div><div class='del'>-Sat Aug 30 10:41:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake::Application#help): fix for OPTIONAL_ARGUMENT and</div><div class='del'>-	  multiple short options.  [ruby-dev:36051]</div><div class='del'>-</div><div class='del'>-Sat Aug 30 08:59:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_file_s_absolute_path),</div><div class='del'>-	  (rb_file_absolute_path): prototyped.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 08:09:36 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_compatible_p): use TYPE not BUILTIN_TYPE.</div><div class='del'>-	  [ruby-dev:36048]</div><div class='del'>-</div><div class='del'>-Sat Aug 30 07:48:48 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_compatible_p): add SPECIAL_CONST_P check.</div><div class='del'>-	  [ruby-dev:36048]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_compatible): fix test.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 02:48:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_freeze): update rdoc to mention RuntimeError</div><div class='del'>-	  (not TypeError any longer) would be raised.  [ruby-dev:35982]</div><div class='del'>-</div><div class='del'>-Sat Aug 30 01:55:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivmod): remove redundant code.  a patch from</div><div class='del'>-	  TOYOFUKU Chikanobu &lt;nobu_toyofuku at nifty.com&gt; in [ruby-dev:36044].</div><div class='del'>-</div><div class='del'>-Sat Aug 30 01:37:20 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI#initialize): remove unused constants.  a patch</div><div class='del'>-	  from Takeyuki Fujioka in [ruby-dev:36046].</div><div class='del'>-</div><div class='del'>-Fri Aug 29 22:29:41 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c ({nucomp,numeric}_rect): new.</div><div class='del'>-</div><div class='del'>-	* complex.c: added some aliases</div><div class='del'>-	  (::rectangular, ::rect, #rectangular, #rect, #phase,</div><div class='del'>-	  #magnitude).</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_internal): should not strip any null</div><div class='del'>-	  bytes.</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c (i_gcd): reverted to nurat 0.0.2's one.</div><div class='del'>-</div><div class='del'>-	* numeric.c: added an alias (#magnitude).</div><div class='del'>-</div><div class='del'>-	* bignum.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: added assertions.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 19:46:02 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, include/ruby/ruby.h: rename T_DEFERRED to T_ZOMBIE.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 18:22:27 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_compatible_p): raise TypeError when argument is not</div><div class='del'>-	  String nor Regexp.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 18:20:56 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m): only regexp uses byte offset.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex_m): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 16:48:34 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): copy arguments to allocated</div><div class='del'>-	  memory from machine stack.  [ruby-dev:36028]</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/test_method.rb: move fixed test.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 12:19:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): fix for</div><div class='del'>-	  initialization of r18168.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 11:04:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): ASCII compatible string and US-ASCII</div><div class='del'>-	  regexp is compatible. [ruby-dev:36033]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m): second argument is position of character.</div><div class='del'>-	  by usa. [ruby-dev:36033]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex_m): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 04:47:49 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read, rb_w32_write): more accurate handling</div><div class='del'>-	  of wait result.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 02:59:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_finish): new method.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 02:45:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_convert): new method.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 02:38:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_convert): accept nil as</div><div class='del'>-	  destination_bytesize for unlimited destination size.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 02:11:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_convert): accept nil as input for empty</div><div class='del'>-	  input.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 02:03:56 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): supported %s and %P.</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 01:57:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (sym_invalid_byte_sequence): new variable.</div><div class='del'>-	  (sym_undefined_conversion): ditto.</div><div class='del'>-	  (sym_destination_buffer_full): ditto.</div><div class='del'>-	  (sym_source_buffer_empty): ditto.</div><div class='del'>-	  (sym_finished): ditto.</div><div class='del'>-	  (sym_output_followed_by_input): ditto.</div><div class='del'>-	  (sym_incomplete_input): ditto.</div><div class='del'>-	  (econv_result_to_symbol): use above variables.</div><div class='del'>-	  (Init_transcode): initialize above variables.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 00:53:40 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): fixed a bug of padding.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 00:19:54 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (set_pioinfo_extra): use MSVCRT's open() and close().</div><div class='del'>-</div><div class='del'>-Fri Aug 29 00:03:13 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): check invalid access.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 23:55:50 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): Time.mktime(2000).strftime("%-S") should</div><div class='del'>-	  return "0", not "".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 23:55:22 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: suppress warning during test.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 23:50:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): make test for %a independent</div><div class='del'>-	  from local timezone.  [ruby-dev:35992]</div><div class='del'>-</div><div class='del'>-Thu Aug 28 23:39:49 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_shared_replace): remove corrupt noembed string</div><div class='del'>-	  which causes SEGV.  [ruby-dev:35989]</div><div class='del'>-</div><div class='del'>-Thu Aug 28 23:36:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: dependency updated.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 23:28:57 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb: add a test.  see [ruby-dev:36028]</div><div class='del'>-</div><div class='del'>-Thu Aug 28 21:43:05 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_open): overlapped file</div><div class='del'>-	  I/O support.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_pipe): overlapped pipe</div><div class='del'>-	  I/O support.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read, rb_w32_write): overlapped I/O support to</div><div class='del'>-	  enable canceling I/O.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (ubf_handle): remove workaround.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 20:22:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_args): object with to_ary should</div><div class='del'>-	  behave like array.  a patch from Yusuke Endoh  &lt;mame at tsg.ne.jp&gt;</div><div class='del'>-	  in [ruby-dev:35988].  [ruby-dev:35977]</div><div class='del'>-</div><div class='del'>-	* object.c (convert_type): call less rb_intern() less frequently</div><div class='del'>-	  by using cache structure.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_node): fail earlier if no method found.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 19:04:50 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb: no need to create real file.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 09:26:53 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb: add test for multipart.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:36014]</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-Thu Aug 28 09:22:01 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_modruby.rb: add test for mod_ruby adaptor.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:36013]</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-Thu Aug 28 09:17:10 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_header.rb: add test for CGI::Header.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:36010] [ruby-dev:36011]</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-Thu Aug 28 02:16:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): refcnt field removed.</div><div class='del'>-	  (MakeOpenFile): refcnt initialization removed.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_finalize): don't check refcnt.</div><div class='del'>-	  (rb_io_close_read): don't use refcnt.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 00:07:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): don't accept IO object.  [ruby-dev:35895]</div><div class='del'>-</div><div class='del'>-Wed Aug 27 23:28:51 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): WIN32OLE#[] and WIN32OLE#[]=</div><div class='del'>-	  accepts number argument.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 14:45:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_core.rb: add core test.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:36001] [ruby-dev:36002]</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-Wed Aug 27 10:34:42 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie): remove delegate.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:35995]</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_cookie.rb: added for above.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:35996]</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-Wed Aug 27 01:13:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): simplified.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 01:03:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_result_t): enumeration constant:</div><div class='del'>-	  econv_incomplete_input.</div><div class='del'>-</div><div class='del'>-	* io.c (finish_writeconv): check econv_incomplete_input.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): return econv_incomplete_input</div><div class='del'>-	  for unexpected end of source buffer.</div><div class='del'>-	  (trans_sweep): check econv_incomplete_input.</div><div class='del'>-	  (rb_trans_conv): ditto.</div><div class='del'>-	  (rb_econv_convert0): ditto.</div><div class='del'>-	  (rb_econv_convert): ditto.</div><div class='del'>-	  (transcode_loop): ditto.</div><div class='del'>-	  (make_econv_exception): change message for econv_incomplete_input.</div><div class='del'>-	  (econv_result_to_symbol): return :incomplete_input for</div><div class='del'>-	  econv_incomplete_input.</div><div class='del'>-	  (ecerr_incomplete_input): new method.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 00:05:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): rename crbuf to cbuf.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the renaming.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 23:52:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_elem_t): move to transcode.c</div><div class='del'>-	  (rb_econv_t): defined as an incomplete type.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_elem_t): moved from encoding.h.</div><div class='del'>-	  (rb_econv_t): complete type defined.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 22:44:12 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_asctime): workaround for MSVCRT's bug.</div><div class='del'>-	  based on a patch from wanabe &lt;s.wanabe AT gmail.com&gt; at</div><div class='del'>-	  [ruby-dev:35831] and a suggestion by KIMURA Koichi</div><div class='del'>-	  &lt;kbk AT kt.rim.or.jp&gt; at [ruby-dev:35832]</div><div class='del'>-	  fixed [ruby-dev:35555]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 21:53:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): disable newline conversion for ASCII</div><div class='del'>-	  incompatible encodings.</div><div class='del'>-	  (str_transcode0): don't need disable newline conversion here.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 21:44:39 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_binmode): binmode is effective only once.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 19:43:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_expand_path): new class method for class File.</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): add absolute_path handling (no ~user</div><div class='del'>-	  expansion).  [ruby-core:18319]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 19:27:54 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (TestEnumerable#test_each_with_object):</div><div class='del'>-	  Add a test for Enumerable#each_with_object.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 19:25:44 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb (TestEnumerator#test_with_object):</div><div class='del'>-	  Add (back) the test for Enumerator#with_object.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 16:16:43 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_tag_helper.rb: add more tests for html3.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:35975]</div><div class='del'>-	  From CGIAlt http://cgialt.rubyforge.org/</div><div class='del'>-</div><div class='del'>-Tue Aug 26 14:43:10 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Activate Enumerator#with_object and add</div><div class='del'>-	  Enumerable#each_with_object. [experimental]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 14:38:32 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_initialize),</div><div class='del'>-	  test/ruby/test_enumerator.rb: Add an ability to generate an</div><div class='del'>-	  enumerator from a block. [experimental] [ruby-dev:35903]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 13:25:25 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added test_euc_jp</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi)</div><div class='del'>-</div><div class='del'>-Tue Aug 26 11:54:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_tag_helper.rb: added by Takeyuki Fujioka.</div><div class='del'>-	  [ruby-dev:35971]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 11:33:30 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (nOE_element_def): fix error when cascade methods which</div><div class='del'>-	  don't have arguments. Patch by Takeyuki Fujioka. [ruby-dev:35964]</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (blockquote): String#collect (this depends on</div><div class='del'>-	  String#each) is no longer exists.</div><div class='del'>-	  Patch by Takeyuki Fujioka. [ruby-dev:35946]</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (blockquote): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 03:06:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): copy invalid/undef flags.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 02:47:08 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (dist): tool/make-snapshot is executable.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): supported release numbers 1.9.0-x.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 02:43:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): new field: writeconv_pre_opts.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): initialize writeconv_pre_opts.</div><div class='del'>-	  (io_fwrite): use writeconv_pre_opts.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 01:48:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: test _WIN32 for CRLF platform.  (cygwin defines O_BINARY.)</div><div class='del'>-</div><div class='del'>-Tue Aug 26 01:29:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: force CRLF handling if RUBY_TEST_CRLF_ENVIRONMENT is defined.</div><div class='del'>-	  This is only for testing.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 01:26:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): disable newline conversion for ASCII</div><div class='del'>-	  incompatible encoding.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 00:55:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): don't short cut for newline conversion.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 00:36:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): add TEXTMODE_NEWLINE_ENCODER to option for</div><div class='del'>-	  rb_str_transcode.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 00:24:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): show readagain part for invalid</div><div class='del'>-	  byte sequence exception.  store the part as an instance variable.</div><div class='del'>-	  (ecerr_readagain_bytes): new method to access the readagain part.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 00:02:49 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpMult): fix double free.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 23:59:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): make last_tc NULL if there are only</div><div class='del'>-	  additional transcoders.</div><div class='del'>-	  (econv_description): extracted from rb_econv_open_exc.</div><div class='del'>-	  (rb_econv_open_exc): use econv_description.</div><div class='del'>-	  (econv_inspect): use econv_description.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 23:56:42 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32.c (init_stdhandle): set binmode.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 23:38:17 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb(strftime): %[LN] can print with given</div><div class='del'>-	  arbitrary precision.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb(strftime): optional flags and filed width</div><div class='del'>-	  should also affect %[nt].</div><div class='del'>-</div><div class='del'>-Mon Aug 25 23:01:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): default defined? should return</div><div class='del'>-	  "expression" without evaluating the expression.  [ruby-dev:35967]</div><div class='del'>-</div><div class='del'>-Mon Aug 25 22:46:01 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_status_and_stop_p): reduce the risk</div><div class='del'>-	  of race condition.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 22:39:57 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/extend-command.rb (def_extend_command): check number of</div><div class='del'>-	  arguments.  [ruby-dev:35074]</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/multi-irb.rb (search): check if a corresponding job is</div><div class='del'>-	  found.  [ruby-dev:35074]</div><div class='del'>-</div><div class='del'>-Mon Aug 25 22:29:13 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_dup): fix typo.  see [ruby-dev:35958]</div><div class='del'>-</div><div class='del'>-Mon Aug 25 22:02:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_by_transcoder_entries): initialize</div><div class='del'>-	  last_error.  num_trans may be zero.</div><div class='del'>-	  (rb_econv_convert0): num_trans may be zero.</div><div class='del'>-	  (rb_econv_putbackable): ditto.</div><div class='del'>-	  (rb_econv_putback): ditto.</div><div class='del'>-	  (rb_econv_convert): input_ptr and output_ptr may be NULL.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 19:05:27 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): should handle NODE_{AND,OR} as</div><div class='del'>-	  "expression".  [ruby-dev:35951]</div><div class='del'>-</div><div class='del'>-Mon Aug 25 17:36:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_io_ungetbyte): added prototype.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets): use rb_io_getline_1 for unget buffer.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): use rb_io_ungetbyte.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_substr_append): fix for buffer overrun.</div><div class='del'>-</div><div class='del'>-	* win32/enc-setup.mak (BUILTIN_TRANSOBJS): added.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 14:22:21 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (YYSTYPE): struct RVarmap has been no longer</div><div class='del'>-	  defined.</div><div class='del'>-	  see also r11717 by matz.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 10:42:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_exc): constified.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 07:10:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c: fix ctype.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 00:52:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BUILTIN_TRANSSRCS): defined.</div><div class='del'>-	  (BUILTIN_TRANSOBJS): defined.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (BUILTIN_TRANSES): defined.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb (BUILTIN_TRANSES): defined.</div><div class='del'>-</div><div class='del'>-	* enc/depend: don't generate rules for builtin transcoders.</div><div class='del'>-</div><div class='del'>-	* common.mk (COMMONOBJS): add BUILTIN_TRANSOBJS.</div><div class='del'>-	  (enc.mk): pass BUILTIN_TRANSOBJS.</div><div class='del'>-	  (newline.c): new rule.</div><div class='del'>-	  (newline.$(OBJEXT)): new rule.</div><div class='del'>-	  (srcs): newline.c added.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (BUILTIN_TRANSSRCS): defined.</div><div class='del'>-	  (BUILTIN_TRANSOBJS): defined.</div><div class='del'>-</div><div class='del'>-	* transcode.c (Init_transcode): call Init_newline.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 00:11:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (declare_transcoder): arguments order changed.</div><div class='del'>-	  (rb_declare_transcoder): call declare_transcoder just once.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 19:48:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_t): use rb_econv_option_t.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the rb_econv_t change.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 19:40:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_init_copy): copy encs.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 19:17:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_open): add an argument: vperm.</div><div class='del'>-	  (open_key_args): call rb_io_open with perm.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 19:11:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (sym_invalid): removed.</div><div class='del'>-	  (sym_undef): removed.</div><div class='del'>-	  (sym_ignore): removed.</div><div class='del'>-	  (sym_replace): removed.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 19:07:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): initialize fptr-&gt;encs.opts.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 18:37:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): accept optional hash.</div><div class='del'>-	  (rb_io_set_encoding): ditto.</div><div class='del'>-	  (rb_io_extract_modeenc): use rb_econv_opts to initialize</div><div class='del'>-	  ecopts.</div><div class='del'>-	  (rb_file_open_generic): ditto.</div><div class='del'>-	  (rb_file_open_internal): ditto.</div><div class='del'>-	  (io_encoding_set): new argument: opt.</div><div class='del'>-	  (argf_set_encoding): copy fptr-&gt;encs.opts to argf_ecopts.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_opts): accept Qnil for initialization.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 18:10:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_enc_t): add opts field.</div><div class='del'>-	  (FMODE_INVALID_MASK): removed.</div><div class='del'>-	  (FMODE_INVALID_IGNORE): ditto.</div><div class='del'>-	  (FMODE_INVALID_REPLACE): ditto.</div><div class='del'>-	  (FMODE_UNDEF_MASK): ditto.</div><div class='del'>-	  (FMODE_UNDEF_IGNORE): ditto.</div><div class='del'>-	  (FMODE_UNDEF_REPLACE): ditto.</div><div class='del'>-	  (MakeOpenFile): initialize the opts field.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use the opts field.</div><div class='del'>-	  (io_fwrite): ditto.</div><div class='del'>-	  (make_readconv): ditto.</div><div class='del'>-	  (argf_ecopts): new macro.</div><div class='del'>-	  (rb_io_extract_modeenc): fill the opts field.</div><div class='del'>-	  (argf_next_argv): ditto.</div><div class='del'>-	  (rb_file_open_generic): initialize the opts field.</div><div class='del'>-	  (rb_file_open_internal): ditto.</div><div class='del'>-	  (io_encoding_set): ditto.</div><div class='del'>-	  (argf_set_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 18:02:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct argf): use struct rb_io_enc_t.</div><div class='del'>-	  (argf_enc): follow the struct argf change.</div><div class='del'>-	  (argf_enc2): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 17:36:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_str_transcode): make 3rd argument</div><div class='del'>-	  rb_econv_option_t*.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): take rb_econv_option_t* as a argument.</div><div class='del'>-	  (str_transcode0): ditto.</div><div class='del'>-	  (str_transcode): make rb_econv_option_t and call str_transcode0 with</div><div class='del'>-	  it.</div><div class='del'>-	  (rb_str_transcode): take rb_econv_option_t*.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): follow the rb_str_transcode change.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 16:47:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): make enc and enc2 as struct</div><div class='del'>-	  rb_io_enc_t;</div><div class='del'>-</div><div class='del'>-	* io.c: follow the structure change.</div><div class='del'>-	  (convconfig_t): defined by rb_io_enc_t.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 16:19:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_opts): declared.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_opts): defined.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): use rb_econv_opts.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 16:06:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_option_t): defined.</div><div class='del'>-	  (rb_econv_open): 3rd arg changed.</div><div class='del'>-	  (rb_econv_open_exc): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use rb_econv_option_t.</div><div class='del'>-	  (make_readconv): ditto.</div><div class='del'>-	  (rb_econv_open): take rb_econv_option_t for options.</div><div class='del'>-	  (rb_econv_open_exc): ditto.</div><div class='del'>-	  (transcode_loop): use rb_econv_option_t.</div><div class='del'>-	  (econv_init): use rb_econv_option_t.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 15:43:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_substr_append): associate dst with destination</div><div class='del'>-	  encoding when dst is created.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 15:21:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_str_transcode): add ecflags argument.</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_opts): extracted from str_transcode.</div><div class='del'>-	  (str_transcode_enc_args): extracted from str_transcode.</div><div class='del'>-	  (str_transcode0): extracted from str_transcode.</div><div class='del'>-	  (str_transcode): use econv_opts, str_transcode_enc_args,</div><div class='del'>-	  str_transcode0.</div><div class='del'>-	  (rb_str_transcode): call str_transcode0.</div><div class='del'>-	  (econv_primitive_insert_output): give the additional argument for</div><div class='del'>-	  rb_str_transcode.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use invalid/undef flags.</div><div class='del'>-	  (io_fwrite): ditto.</div><div class='del'>-	  (rb_scan_open_args): give the additional argument for</div><div class='del'>-	  rb_str_transcode.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 13:27:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): check last hash only if 0 &lt; argc.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 12:22:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_substr_append): renamed from</div><div class='del'>-	  rb_econv_string.</div><div class='del'>-	  (rb_econv_str_convert): declared.</div><div class='del'>-	  (rb_econv_substr_convert): declared.</div><div class='del'>-	  (rb_econv_str_append): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): use rb_econv_str_convert instead of</div><div class='del'>-	  rb_econv_string.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_substr_append): renamed from rb_econv_string.</div><div class='del'>-	  (rb_econv_str_append): new function.</div><div class='del'>-	  (rb_econv_substr_convert): ditto.</div><div class='del'>-	  (rb_econv_str_convert): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 12:15:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#urlencode): str[0] returns char in 1.9.</div><div class='del'>-	  Patch by Junegunn Choi [ruby-core:18368]</div><div class='del'>-</div><div class='del'>-Sun Aug 24 12:02:39 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): return NULL on error.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 11:40:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_open_exc): declared.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_eNoConverter): new exception.</div><div class='del'>-	  (rb_econv_open_exc): new function.</div><div class='del'>-	  (transcode_loop): use rb_econv_open_exc.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): use rb_econv_open_exc.</div><div class='del'>-	  (make_readconv): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 11:26:54 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::unescapeHTML): consider ISO-8859-1.</div><div class='del'>-	  [ruby-dev:35936]</div><div class='del'>-</div><div class='del'>-Sun Aug 24 10:55:00 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/emacs_mule.c: support Emacs/Mule internal encoding.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 08:03:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (daylight, timezone): not provided as dllexport on cygwin,</div><div class='del'>-	  right now.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 06:39:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::unescapeHTML): more encoding sensible unescaping.</div><div class='del'>-	  [ruby-dev:35936]</div><div class='del'>-</div><div class='del'>-Sun Aug 24 04:23:19 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_compatible_p): raise TypeError when argument is Encoding.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 23:25:47 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI#out): remove auto encoding conversion and set</div><div class='del'>-	  LANGUAGE. [ruby-dev:35922]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 20:01:29 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_rlimit_value):</div><div class='del'>-	  add Errno::EINVAL. [ruby-dev:35900]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 18:29:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): use pop_last_hash.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 16:59:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_INVALID_MASK): defined.</div><div class='del'>-	  (FMODE_INVALID_IGNORE): defined.</div><div class='del'>-	  (FMODE_INVALID_REPLACE): defined.</div><div class='del'>-	  (FMODE_UNDEF_MASK): defined.</div><div class='del'>-	  (FMODE_UNDEF_IGNORE): defined.</div><div class='del'>-	  (FMODE_UNDEF_REPLACE): defined.</div><div class='del'>-</div><div class='del'>-	* io.c (sym_invalid): defined.</div><div class='del'>-	  (sym_undef): defined.</div><div class='del'>-	  (sym_ignore): defined.</div><div class='del'>-	  (sym_replace): defined.</div><div class='del'>-	  (make_readconv): specify ECONV_INVALID_* and ECONV_UNDEF_* if</div><div class='del'>-	  FMODE_INVALID_* and FMODE_UNDEF_* is set.</div><div class='del'>-	  (rb_io_extract_modeenc): check {:invalid, :undef} =&gt; {:replace,</div><div class='del'>-	  :ignore} for FMODE_INVALID_* and FMODE_UNDEF_*.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 17:06:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): support more flags.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 15:14:10 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: enable "OPT_TRACE_INSTRUCTION" on default.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 14:59:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_INVALID_MASK): defined.</div><div class='del'>-	  (ECONV_INVALID_IGNORE): defined.</div><div class='del'>-	  (ECONV_INVALID_REPLACE): defined.</div><div class='del'>-	  (ECONV_UNDEF_MASK): defined.</div><div class='del'>-	  (ECONV_UNDEF_IGNORE): defined.</div><div class='del'>-	  (ECONV_UNDEF_REPLACE): defined.</div><div class='del'>-</div><div class='del'>-	* transcode.c (INVALID_IGNORE): removed.</div><div class='del'>-	  (INVALID_REPLACE): removed.</div><div class='del'>-	  (UNDEF_IGNORE): removed.</div><div class='del'>-	  (UNDEF_REPLACE): removed.</div><div class='del'>-	  (rb_econv_convert0): renamed from rb_econv_convert.</div><div class='del'>-	  (rb_econv_convert): defined to call rb_econv_convert0 with</div><div class='del'>-	  replace/ignore behavior moved from transcode_loop.</div><div class='del'>-	  (transcode_loop): replace/ignore behavior removed.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 11:23:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): check :textmode and :binmode in option</div><div class='del'>-	  hash.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 10:48:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_getpty): follow rb_io_t's path -&gt; pathv change.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 10:42:52 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (check_pipe_command): extracted from rb_f_open and rb_io_open.</div><div class='del'>-	  (rb_f_open): use check_pipe_command.</div><div class='del'>-	  (rb_io_open): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 10:13:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): fptr-&gt;enc2 is 0 if no conversion.</div><div class='del'>-	  (rb_io_getline_fast): ditto.</div><div class='del'>-	  (io_getc): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 09:45:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): remove path field and add pathv field.</div><div class='del'>-	  (MakeOpenFile): initialize pathv as Qnil.</div><div class='del'>-</div><div class='del'>-	* gc.c: mark pathv field in T_FILE.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the rb_io_t field change.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 01:42:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_TEXTMODE): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_t): new field: flags.</div><div class='del'>-	  (rb_econv_binmode): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): text mode hack removed.</div><div class='del'>-	  (NEED_NEWLINE_DECODER): defined.</div><div class='del'>-	  (NEED_NEWLINE_ENCODER): defined.</div><div class='del'>-	  (NEED_READCONV): defined.</div><div class='del'>-	  (NEED_WRITECONV): defined.</div><div class='del'>-	  (TEXTMODE_NEWLINE_ENCODER): defined for windows.</div><div class='del'>-	  (make_writeconv): setup converter with TEXTMODE_NEWLINE_ENCODER for</div><div class='del'>-	  text mode.</div><div class='del'>-	  (io_fwrite): use NEED_WRITECONV.  character code conversion is</div><div class='del'>-	  disabled if fptr-&gt;writeconv_stateless is nil.</div><div class='del'>-	  (make_readconv): setup converter with</div><div class='del'>-	  ECONV_UNIVERSAL_NEWLINE_DECODER for text mode.</div><div class='del'>-	  (read_all): use NEED_READCONV.</div><div class='del'>-	  (appendline): use NEED_READCONV.</div><div class='del'>-	  (rb_io_getline_1): use NEED_READCONV.</div><div class='del'>-	  (io_getc): use NEED_READCONV.</div><div class='del'>-	  (rb_io_ungetc): use NEED_READCONV.</div><div class='del'>-	  (rb_io_binmode): OS-level text mode test removed.  call</div><div class='del'>-	  rb_econv_binmode.</div><div class='del'>-	  (rb_io_binmode_m): call rb_io_binmode_m with write_io as well.</div><div class='del'>-	  (rb_io_flags_mode): return mode string including "t".</div><div class='del'>-	  (rb_io_mode_flags): detect "t" for text mode.</div><div class='del'>-	  (rb_sysopen): always specify O_BINARY.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_by_transcoder_entries): initialize flags.</div><div class='del'>-	  (rb_econv_open): if source and destination encoding is</div><div class='del'>-	  both empty string, open newline converter.  last_tc will be NULL in</div><div class='del'>-	  this case.</div><div class='del'>-	  (rb_econv_encoding_to_insert_output): last_tc may be NULL now.</div><div class='del'>-	  (rb_econv_string): ditto.</div><div class='del'>-	  (output_replacement_character): ditto.</div><div class='del'>-	  (transcode_loop): ditto.</div><div class='del'>-	  (econv_init): ditto.</div><div class='del'>-	  (econv_inspect): ditto.</div><div class='del'>-	  (rb_econv_binmode): new function.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 21:18:40 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_div): now behaves as quo.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_generic_p): has been removed.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_s): adopts new form.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_internal): ditto and supports polar form.</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_polar): new.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_to_s): do not canonicalize.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_inspect): adopts new form.</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: added a declaration.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: added an obsolete class method.</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: use scalar? instead of generic?.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 20:06:46 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#shutdown):</div><div class='del'>-	  rescue Errno::ENOTCONN and close. [ruby-dev:35896]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (OpenSSL#start_server): ditto.</div><div class='del'>-	  [ruby-dev:35897]</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (Net::IMAP#disconnect): ditto. [ruby-dev:35898]</div><div class='del'>-</div><div class='del'>-Fri Aug 22 19:58:27 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: no need to require the "lib/rational.rb" any more.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 15:47:38 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: use bytesize instead of size/length.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 14:28:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): supported flags and precision for most</div><div class='del'>-	  conversions.  [ruby-dev:35906]</div><div class='del'>-</div><div class='del'>-Fri Aug 22 14:04:04 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: test_shift_jis:</div><div class='del'>-	  fixed comment strings (see r18291)</div><div class='del'>-</div><div class='del'>-Fri Aug 22 12:41:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_pid): use PIDT2NUM.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 11:36:31 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_enc_str_new): set US-ASCII to the path</div><div class='del'>-	  when the path is 7bit string and encoding is ASCII compatible.</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): set file system encoding when argument encoding</div><div class='del'>-	  is US-ASCII.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 11:30:38 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_enc_str_new): renamed from dir_enc_str.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_read): use dir_enc_str_new.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_each): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (push_pattern): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 11:29:10 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: remove config.h dependency.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 10:52:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (gmtime_r): check if reentrant versions are available.</div><div class='del'>-</div><div class='del'>-	* time.c (IF_HAVE_GMTIME_R, ASCTIME, GMTIME, LOCALTIME): use reentrant</div><div class='del'>-	  versions if available.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 05:29:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (INT2NUM): just use a simple macro on LP64.</div><div class='del'>-	  (UINT2NUM): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 05:10:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_generic): take filename as a VALUE.</div><div class='del'>-	  (rb_file_open_internal): ditto.</div><div class='del'>-	  (rb_io_open): ditto.</div><div class='del'>-	  (rb_file_open): pass filename as a VALUE to rb_file_open_internal.</div><div class='del'>-	  (rb_open_file): pass filename as a VALUE to rb_file_open_generic.</div><div class='del'>-	  (open_key_args): pass filename as a VALUE to rb_io_open.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 04:33:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: fix previous change for LP64.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 03:19:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2LONG): make it inline function to evaluate</div><div class='del'>-	  the argument only once.</div><div class='del'>-	  `t = Object.new; def t.*(x) p x; 0 end; p Time.at(0, t)' did print x</div><div class='del'>-	  twice.</div><div class='del'>-	  (NUM2INT): ditto.</div><div class='del'>-	  (NUM2LL): ditto.</div><div class='del'>-	  (INT2NUM): make it inline function.</div><div class='del'>-	  (LONG2NUM): ditto.</div><div class='del'>-	  (UINT2NUM): ditto.</div><div class='del'>-	  (ULONG2NUM): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 03:03:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_sysopen): mode can be a Bignum.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 02:57:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): notify coerced to caller.</div><div class='del'>-	  (rb_io_initialize): mode may be a Bignum.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 02:42:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): use rb_check_to_integer to test</div><div class='del'>-	  integer.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 02:25:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_inspect): don't raise on uninitialized object.</div><div class='del'>-	  show real class name.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 02:08:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): accept hash argument.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 23:51:51 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): supported %F and %&lt;precision&gt;N.</div><div class='del'>-	  reverted config.h to ruby.h for Windows.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (TestTime::test_strftime): added tests</div><div class='del'>-	  for %F and %N.</div><div class='del'>-</div><div class='del'>-	* time.c: documented %F and %N.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 20:23:26 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (TestM17NComb#test_str_crypt): add</div><div class='del'>-	  key and salt to error message.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 19:20:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_inspect): don't raise if self is not initialized.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 19:17:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (pst_pid): use rb_attr_get to avoid warning on</div><div class='del'>-	  Process::Status.allocate.pid.</div><div class='del'>-	  (pst_inspect): don't raise if self is not initialized.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 19:05:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_extract_encoding_option): if internal encoding is not</div><div class='del'>-	  specified, enc is external encoding.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 14:22:50 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: include ruby/config.h instead of ruby/ruby.h.</div><div class='del'>-</div><div class='del'>-	* common.mk: removed the old rule for missing/strftime.c.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 09:29:01 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): return "UTC" instead of "GMT".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 07:59:04 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/iconv/test_option.rb (test_ignore_option): skip if iconv</div><div class='del'>-	  doesn't have transliterate.</div><div class='del'>-</div><div class='del'>-	* test/iconv/test_option.rb (test_translit_option): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 06:12:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb (Scanf::FormatSpecifier#initialize): %i should accept</div><div class='del'>-	  single digit decimal.  [ruby-core:18355]</div><div class='del'>-</div><div class='del'>-Thu Aug 21 06:02:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_initialize_copy): Range is now a Struct.</div><div class='del'>-	  [ruby-core:18353]</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_init_copy): made public.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 03:09:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_extract_encoding_option): enc2 is external encoding if</div><div class='del'>-	  external encoding and internal encoding is given.</div><div class='del'>-	  (pipe_open): add flags and convconfig argument to initialize</div><div class='del'>-	  fptr-&gt;{mode,enc,enc2}.</div><div class='del'>-	  (pipe_open_v): pass flags and convconfig from caller to pipe_open.</div><div class='del'>-	  (pipe_open_s): ditto.</div><div class='del'>-	  (pop_last_hash): new function.</div><div class='del'>-	  (rb_io_s_popen): use last hash as option to specify code conversion.</div><div class='del'>-	  (rb_io_open): specify flags and convconfig arguments for</div><div class='del'>-	  pipe_open_s.</div><div class='del'>-	  (rb_f_backquote): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 02:27:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (prep_io): local variable renamed.</div><div class='del'>-	  (rb_io_fdopen): ditto.</div><div class='del'>-	  (prep_stdio): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 01:58:59 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: always check timezone().</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): prefer timezone/altzone rather than</div><div class='del'>-	  gettimeofday().  The second argument to gettimeofday() is ignored</div><div class='del'>-	  on Solaris.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 02:03:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): simplified.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 01:57:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): IO.foreach(path, rs, limit) didn't work.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 01:31:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_sysopen_internal): unused function removed.</div><div class='del'>-	  (rb_file_sysopen): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 01:09:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: use mode_t for the 3rd argument, permission, of open(2).</div><div class='del'>-</div><div class='del'>-Thu Aug 21 00:51:42 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removed strftime from AC_REPLACE_FUNCS().</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: removed prototype for strftime().</div><div class='del'>-</div><div class='del'>-	* missing/strftime.c: removed.</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): use rb_strftime() instead of strftime(3).</div><div class='del'>-	  (time_zone): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 00:49:50 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: win32 support.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 00:20:05 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: new file.</div><div class='del'>-</div><div class='del'>-	* common.mk (COMMONOBJS): added strftime.$(OBJEXT).</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): do not use strftime(3).  supported</div><div class='del'>-	  %L(millisecond) and %N(nanosecond).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: added tests for %L and %N.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 23:53:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_set_encoding): removed.</div><div class='del'>-	  (rb_io_open): set up encoding using new argument opt.</div><div class='del'>-	  (open_key_args): call rb_io_open with opt.  don't call</div><div class='del'>-	  io_set_encoding.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 22:30:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_internal): use rb_io_flags_modenum.</div><div class='del'>-	  (rb_io_reopen): use rb_io_flags_modenum and rb_io_modenum_mode.</div><div class='del'>-	  (rb_io_stdio_file): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 22:28:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): use the given class.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc): added an argument for the class.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 22:24:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take): get rid of extraneous iteration.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 20:32:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_open_with_args): use rb_open_file instead of rb_io_open.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 20:16:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): extracted from rb_open_file.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 19:22:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (convconfig_t): new type.</div><div class='del'>-	  (rb_io_extract_modeenc): new function.</div><div class='del'>-	  (rb_file_open_generic): new function.</div><div class='del'>-	  (rb_file_open_internal): use rb_file_open_generic.</div><div class='del'>-	  (rb_file_sysopen_internal): use rb_file_open_generic.</div><div class='del'>-	  (rb_open_file): use rb_io_extract_modeenc and rb_file_open_generic.</div><div class='del'>-	  (rb_io_open): call rb_file_open_internal instead of rb_file_open.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 19:15:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): new constants: File::DSYNC, File::RSYNC and</div><div class='del'>-	  File::NOFOLLOW.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 18:41:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): don't lookup :mode and :perm in opt.  it is</div><div class='del'>-	  useless because vmode and perm is overwritten by rb_scan_args</div><div class='del'>-	  anyway.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 18:37:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): meaningless MEMCPY removed.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 18:30:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (prep_io) [cygwin]: use FMODE_BINMODE instead of O_BINARY.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 16:39:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): performance improvement for huge array.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 12:28:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): get rid of infinite loop.  #455</div><div class='del'>-</div><div class='del'>-Wed Aug 20 06:09:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_TRUNC): value changed because 0x100 is used</div><div class='del'>-	  as FMODE_NOREVLOOKUP in socket.c</div><div class='del'>-</div><div class='del'>-Wed Aug 20 05:19:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): extracted from mode_enc.</div><div class='del'>-	  (io_extract_encoding_option): extracted from io_set_encoding.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 04:17:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flags_modenum): make it static.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 03:36:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_TRUNC): new constant.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_flags): set FMODE_TRUNC for "w".</div><div class='del'>-	  (rb_io_modenum_flags): set FMODE_TRUNC for O_TRUNC.</div><div class='del'>-	  (rb_io_flags_modenum): new function.</div><div class='del'>-	  (rb_io_mode_modenum): just use rb_io_mode_flags and</div><div class='del'>-	  rb_io_flags_modenum.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 02:36:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fopen): macro for vms removed.  fopen is not used now.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 02:27:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open): fix memory leak.</div><div class='del'>-	  (rb_econv_close): ditto.</div><div class='del'>-	  fixed by shinichiro.h.  [ruby-dev:35880]</div><div class='del'>-</div><div class='del'>-Tue Aug 19 21:50:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_fopen): declaration removed.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fopen): unused function removed.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 21:14:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_READWRITE): define as</div><div class='del'>-	  FMODE_READABLE|FMODE_WRITABLE.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 21:13:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flags_mode): use hexadecimal in error message.</div><div class='del'>-	  (rb_io_modenum_mode): ditto.</div><div class='del'>-	  (rb_io_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 18:23:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flags_mode): add a prefix 0 to octal in error message.</div><div class='del'>-	  (rb_io_modenum_mode): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 18:05:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_*): sorted and describe the values in</div><div class='del'>-	  hexadecimal.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 17:32:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): store the</div><div class='del'>-	  result of d2i_X509_NAME into DATA_PTR(self).</div><div class='del'>-</div><div class='del'>-Tue Aug 19 04:54:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (FileUtils#ruby): takes care of space containing path.</div><div class='del'>-	  [ ruby-Bugs-21591 ]</div><div class='del'>-</div><div class='del'>-Tue Aug 19 01:32:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): encoding in mode string was ignored if perm is</div><div class='del'>-	  specified.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 01:02:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): don't access argv[-1] by</div><div class='del'>-	  File.allocate.instance_eval { initialize }.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 00:56:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_inspect): don't raise for uninitialized Regexp.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 00:34:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): side effect for STDIN removed.</div><div class='del'>-	  (rb_io_external_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 23:27:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_ungetbyte): renamed from io_ungetc.</div><div class='del'>-	  (rb_io_ungetbyte): new method.</div><div class='del'>-	  (rb_io_ungetc): push back into character buffer if enc2 is set.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 22:41:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (id_encode): removed.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 22:30:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): if enc and enc2 is set, convert</div><div class='del'>-	  string.encoding to enc2.</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h: comment changed.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 21:02:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): new fields: writeconv,</div><div class='del'>-	  writeconv_stateless and writeconv_initialized.</div><div class='del'>-	  (MakeOpenFile): initialize them.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_stateless_encoding): declared.</div><div class='del'>-	  (rb_econv_string): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): new function.</div><div class='del'>-	  (io_fwrite): use econv.</div><div class='del'>-	  (make_readconv): fix error message.</div><div class='del'>-	  (finish_writeconv): new function.</div><div class='del'>-	  (fptr_finalize): call finish_writeconv.</div><div class='del'>-	  (clear_writeconv): new function.</div><div class='del'>-	  (clear_codeconv): new function to call both clear_readconv and</div><div class='del'>-	  clear_writeconv.</div><div class='del'>-	  (rb_io_fptr_finalize): call clear_codeconv instead of</div><div class='del'>-	  clear_readconv.</div><div class='del'>-	  (mode_enc): ditto.</div><div class='del'>-	  (io_set_encoding): ditto.</div><div class='del'>-	  (argf_next_argv): ditto.</div><div class='del'>-	  (io_encoding_set): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark writeconv_stateless in T_FILE.</div><div class='del'>-</div><div class='del'>-	* transcode.c (stateless_encoding_i): new function.</div><div class='del'>-	  (rb_econv_stateless_encoding): ditto.</div><div class='del'>-	  (rb_econv_string): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 17:23:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (clear_readconv): extracted from rb_io_fptr_finalize.</div><div class='del'>-	  (mode_enc): call clear_readconv.</div><div class='del'>-	  (io_set_encoding): ditto.</div><div class='del'>-	  (argf_next_argv): ditto.</div><div class='del'>-	  (io_encoding_set): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 16:54:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (mode_enc): modify enc and enc2 consistently.</div><div class='del'>-	  (io_set_encoding): ditto.</div><div class='del'>-	  (io_encoding_set): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 13:21:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_search_path): prevent infinite loop by</div><div class='del'>-	  searching a path for self conversion.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 12:45:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_enc_str): code conversion removed.</div><div class='del'>-	  (io_enc_str_converted): removed because it is identical to</div><div class='del'>-	  io_enc_str now.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 12:12:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_shift_crbuf): add strp argument to append into existing</div><div class='del'>-	  string.</div><div class='del'>-	  (read_all): use econv if enc2 is set.</div><div class='del'>-	  (io_getc): follow the io_shift_crbuf change.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 10:35:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_enc_str_converted): new function.</div><div class='del'>-	  (make_readconv): extracted from io_getc.</div><div class='del'>-	  (more_char): ditto.</div><div class='del'>-	  (appendline): use econv via make_readconv and more_char for code</div><div class='del'>-	  conversion.</div><div class='del'>-	  (prepare_getline_args): don't convert record separator.</div><div class='del'>-	  (rb_io_getline_1): don't use rb_io_getline_fast if enc2 is set.</div><div class='del'>-	  (io_getc): use make_readconv and more_char.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 08:27:44 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix error in uncommon.mk.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 06:10:08 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: config.h depends config.status.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 03:59:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): appendline cannot check character boundary.</div><div class='del'>-	  (rb_io_getline_1): relax limit until character boundary.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 02:25:11 2008  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#eof?): added lacked method.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 21:50:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (prepare_getline_args): io.gets(10,nil) should cause TypeError.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 15:58:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: not check config.h.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): add include/ruby/backward to $INCFLAGS.</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/{st,util}.h: added for backward compatibility.</div><div class='del'>-	  [ruby-dev:35811]</div><div class='del'>-</div><div class='del'>-Sun Aug 17 13:40:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_putback): new method.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 13:23:53 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_putbackable): declared.</div><div class='del'>-	  (rb_econv_putback): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_putbackable): implemented.</div><div class='del'>-	  (rb_econv_putback): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): put back bytes if possible.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 12:00:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): add several instance variables</div><div class='del'>-	  to exception object.</div><div class='del'>-	  (ecerr_source_encoding): new method:</div><div class='del'>-	  Encoding::ConversionUndefined#source_encoding and</div><div class='del'>-	  Encoding::InvalidByteSequence#source_encoding.</div><div class='del'>-	  (ecerr_destination_encoding): new method:</div><div class='del'>-	  Encoding::ConversionUndefined#destination_encoding and</div><div class='del'>-	  Encoding::InvalidByteSequence#destination_encoding.</div><div class='del'>-	  (econverr_error_char): new method:</div><div class='del'>-	  Encoding::ConversionUndefined#error_char.</div><div class='del'>-	  (econverr_error_bytes): new method:</div><div class='del'>-	  Encoding::ConversionUndefined#error_bytes.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 11:43:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (struct MT): packed Mersenne Twister staffs.</div><div class='del'>-</div><div class='del'>-	* random.c (struct RandSeed): packed random seed staffs.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 08:38:26 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/iconv/test_option.rb (test_ignore_option): skip if iconv</div><div class='del'>-	  doesn't have transliterate.</div><div class='del'>-</div><div class='del'>-	* test/iconv/test_option.rb (test_translit_option): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 01:29:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): new fields: readconv, crbuf, crbuf_off,</div><div class='del'>-	  crbuf_len, crbuf_capa.</div><div class='del'>-	  (MakeOpenFile): initialize them.</div><div class='del'>-</div><div class='del'>-	* io.c (io_shift_crbuf): new function.</div><div class='del'>-	  (io_getc): use econv.</div><div class='del'>-	  (rb_io_fptr_finalize): finalize readconv and crbuf.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 00:02:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_check_error): declared.</div><div class='del'>-</div><div class='del'>-	* transcode.c (make_econv_exception): new function.</div><div class='del'>-	  (transcode_loop): use make_econv_exception.</div><div class='del'>-	  (rb_econv_check_error): defined.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 15:23:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_elem_t): fields removed: from and</div><div class='del'>-	  to.</div><div class='del'>-	  (rb_econv_t): new fields: source_encoding_name and</div><div class='del'>-	  destination_encoding_name.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_by_transcoder_entries): initialize the</div><div class='del'>-	  new fields.</div><div class='del'>-	  (rb_econv_open): set up the new fields.</div><div class='del'>-	  (econv_inspect): use the new fields.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 14:22:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_t): add fields: in_buf_start,</div><div class='del'>-	  in_data_start, in_data_end, in_buf_end and last_trans_index.</div><div class='del'>-	  (rb_econv_output): removed.</div><div class='del'>-	  (rb_econv_insert_output): declared.</div><div class='del'>-	  (rb_econv_encoding_to_insert_output): declared.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans (rb_universal_newline): stateful_type</div><div class='del'>-	  changed.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): initialize inchar_start,</div><div class='del'>-	  tc-&gt;recognized_len and next_table at beginning of the loop.</div><div class='del'>-	  (rb_econv_open_by_transcoder_entries): initialize new fields.</div><div class='del'>-	  (rb_econv_open): setup last_trans_index.</div><div class='del'>-	  (trans_sweep): last out_buf_start can be non-NULL now.</div><div class='del'>-	  (rb_econv_convert): check last out_buf_start and in_buf_start at</div><div class='del'>-	  first.</div><div class='del'>-	  (rb_econv_output_with_destination_encoding): removed.</div><div class='del'>-	  (econv_just_convert): removed.</div><div class='del'>-	  (rb_econv_output): removed.</div><div class='del'>-	  (econv_primitive_output): method removed.</div><div class='del'>-	  (rb_econv_encoding_to_insert_output): new function.</div><div class='del'>-	  (allocate_converted_string): new function.</div><div class='del'>-	  (rb_econv_insert_output): new function.</div><div class='del'>-	  (econv_primitive_insert_output): new method.</div><div class='del'>-	  (output_replacement_character): use rb_econv_insert_output.  unused</div><div class='del'>-	  arguments removed.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 09:20:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_intern_const): tiny optimization.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (SSIZET2NUM, NUM2SSIZET, SSIZE_MAX, SSIZE_MIN):</div><div class='del'>-	  macros for ssize_t.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 08:11:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder_stateful_type_t): defined.</div><div class='del'>-	  (rb_transcoder): add field: stateful_type.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: generate stateful_type field as</div><div class='del'>-	  stateless_converter.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: follow rb_transcoder change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 23:07:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_just_convert): extracted from rb_econv_output.</div><div class='del'>-	  (rb_econv_output): use econv_just_convert.</div><div class='del'>-	  (econv_primitive_output): new method.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 19:57:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_output): add str_encoding</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* transcode.c (get_replacement_character): add repl_enc_ptr argument.</div><div class='del'>-	  (rb_econv_output_with_destination_encoding): renamed from</div><div class='del'>-	  rb_econv_output and make it static.</div><div class='del'>-	  (rb_econv_output): convert str and call</div><div class='del'>-	  rb_econv_output_with_destination_encoding.</div><div class='del'>-	  (output_replacement_character): follow above interface change.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 19:33:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_drop_bytes): use memmove.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 18:33:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_t): add error_tc in last_error.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_convert): fill error_tc.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 18:10:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_t): new field: last_error.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_trans_conv): new argument: result_position_ptr.</div><div class='del'>-	  (rb_econv_convert): fill last_error.</div><div class='del'>-	  (econv_result_to_symbol): extracted from econv_primitive_convert.</div><div class='del'>-	  (econv_primitive_errinfo): new method.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 17:39:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.{c,h}): creates in the dependency order.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 16:59:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (exec_event_hooks): skips RubyVM::FrozenCore.</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): get rid of SEGV in a trace proc.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 09:33:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (conv_init): check empty name.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 09:03:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_init): don't create dummy encoding if</div><div class='del'>-	  rb_econv_open is failed.</div><div class='del'>-	  (make_dummy_encoding): new function extracted from make_encoding.</div><div class='del'>-	  (make_encoding): removed.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 01:07:16 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk ({$(srcdir)}.y.c): escape backslash.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 01:05:39 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_convert): set destination_buffer</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 00:52:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_output): declared.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): add resetsize_func field.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans (iso2022jp_reset_sequence_size): defined.</div><div class='del'>-	  (rb_EUC_JP_to_ISO_2022_JP): provide resetsize_func.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: set NULL for resetsize_func.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_output): new function for inserting output.</div><div class='del'>-	  (output_replacement_character): use rb_econv_output.</div><div class='del'>-	  (transcode_loop): check return value of</div><div class='del'>-	  output_replacement_character.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 23:47:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_UNIVERSAL_NEWLINE_DECODER): defined.</div><div class='del'>-	  (ECONV_CRLF_NEWLINE_ENCODER): ditto.</div><div class='del'>-	  (ECONV_CR_NEWLINE_ENCODER): ditto.</div><div class='del'>-	  (ECONV_PARTIAL_INPUT): ditto.</div><div class='del'>-	  (ECONV_OUTPUT_FOLLOWED_BY_INPUT): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c: use ECONV_* defined as above.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 23:35:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: local variable renamed.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 23:22:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_econv_result_t): moved from</div><div class='del'>-	  transcode_data.h.</div><div class='del'>-	  (rb_econv_elem_t): ditto.</div><div class='del'>-	  (rb_econv_t): ditto.  source_encoding and destination_encoding field</div><div class='del'>-	  is added.</div><div class='del'>-	  (rb_econv_open): declared.</div><div class='del'>-	  (rb_econv_convert): ditto.</div><div class='del'>-	  (rb_econv_close): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_by_transcoder_entries): initialize</div><div class='del'>-	  source_encoding and destination_encoding field as NULL.</div><div class='del'>-	  (rb_econv_open): make it external linkage.</div><div class='del'>-	  (rb_econv_close): ditto.</div><div class='del'>-	  (rb_econv_convert): ditto.  renamed from rb_econv_conv.</div><div class='del'>-	  (make_encoding): new function.</div><div class='del'>-	  (econv_init): use make_encoding and store rb_encoding* in</div><div class='del'>-	  rb_econv_t.</div><div class='del'>-	  (econv_source_encoding): new method</div><div class='del'>-	  Encoding::Converter#source_encoding.</div><div class='del'>-	  (econv_destination_encoding): new method</div><div class='del'>-	  Encoding::Converter#destination_encoding.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 22:44:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_econv_result_t): change enumeration</div><div class='del'>-	  constant's prefix: transcode_ to econv_.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the constant prefix change.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 21:34:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_init): accept Encoding object as source_encoding</div><div class='del'>-	  and destination_encoding.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 21:10:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): use default external encoding</div><div class='del'>-	  for Unix.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): don't cache fs_encoding.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 20:58:57 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open_by_transcoder_entries): renamed from</div><div class='del'>-	  rb_trans_open_by_transcoder_entries.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 20:56:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_max_output): removed.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 20:52:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: check unexpected actions.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 20:25:52 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (transcode_invalid_byte_sequence): renamed from</div><div class='del'>-	  transcode_invalid_input.</div><div class='del'>-	  (transcode_destination_buffer_full): renamed from transcode_obuf_full.</div><div class='del'>-	  (transcode_source_buffer_empty): renamed from transcode_ibuf_empty.</div><div class='del'>-	  (rb_econv_result_t): renamed from rb_trans_result_t.</div><div class='del'>-	  (rb_econv_elem_t): renamed from rb_trans_elem_t.</div><div class='del'>-	  (rb_econv_t): renamed from rb_trans_t.</div><div class='del'>-</div><div class='del'>-	* transcode.c (UNIVERSAL_NEWLINE_DECODER): renamed from</div><div class='del'>-	  UNIVERSAL_NEWLINE.</div><div class='del'>-	  (CRLF_NEWLINE_ENCODER): renamed from CRLF_NEWLINE.</div><div class='del'>-	  (CR_NEWLINE_ENCODER): renamed from CR_NEWLINE.</div><div class='del'>-	  (rb_econv_open): renamed from rb_trans_open.</div><div class='del'>-	  (rb_econv_close): renamed from rb_trans_close.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 19:41:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder): unused function removed.</div><div class='del'>-	  (rb_transcoding_open): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 17:57:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_ispunct): added.</div><div class='del'>-</div><div class='del'>-	* common.mk (COMMONOBJS), inits.c (rb_call_inits): id.c is now</div><div class='del'>-	  included from parse.c.</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id), id.h (ruby_method_ids): added IDs used by VM.</div><div class='del'>-</div><div class='del'>-	* parse.y (global_symbols): added rooms for VM IDs.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3, rb_id2str): single punctuation symbol is now</div><div class='del'>-	  same as char code.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 17:46:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (union tmpyystype): no longer needed, since YYSTYPE is</div><div class='del'>-	  defined in parse.h now.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 17:27:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.c (Init_version): add RUBY_ENGINE constant.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 15:34:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_conv): new function.  it doesn't consume</div><div class='del'>-	  input too much, even for multilevel conversion.</div><div class='del'>-	  (transcode_loop): use rb_econv_conv.</div><div class='del'>-	  (econv_primitive_convert): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 15:27:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (RUBY_ALIAS_FUNCTION): fallback definition.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 15:08:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_trans_result_t): new enumeration constant:</div><div class='del'>-	  transcode_output_followed_by_input.</div><div class='del'>-</div><div class='del'>-	* transcode.c (OUTPUT_FOLLOWED_BY_INPUT): new flag.</div><div class='del'>-	  (transcode_restartable0): suspend when output followed by input if</div><div class='del'>-	  OUTPUT_FOLLOWED_BY_INPUT is specified.</div><div class='del'>-	  (trans_sweep): check OUTPUT_FOLLOWED_BY_INPUT.</div><div class='del'>-	  (rb_trans_conv): support OUTPUT_FOLLOWED_BY_INPUT.</div><div class='del'>-	  (econv_primitive_convert): return :output_followed_by_input for</div><div class='del'>-	  transcode_output_followed_by_input.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 14:57:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (getrusage_time): should return the value.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_priority_set): get rid of C99 feature.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_search_path): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (REWIND_CFP): get rid of statement expressions.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 14:13:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): hide FrozenCore.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 12:20:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder): suppress warning.</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 12:01:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (gnumake): check for GNU make.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (uncommon.mk): includes filtered common.mk.</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.h): workaround for nmake.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 06:09:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): switch event</div><div class='del'>-	  should be occur only once.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 05:36:36 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: parse.h depends on parse.c.</div><div class='del'>-</div><div class='del'>-	* common.mk: hash.o depends on $(ID_H_INCLUDES).</div><div class='del'>-</div><div class='del'>-Thu Aug 14 02:45:16 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb (TestFileExhaustive#setup):</div><div class='del'>-	  set group of tmpdir.  [ruby-dev:35633]</div><div class='del'>-</div><div class='del'>-Thu Aug 14 15:50:30 2008  Giuseppe Bilotta  &lt;giuseppe.bilotta@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (set_default): fix rdoc.  #441</div><div class='del'>-</div><div class='del'>-Thu Aug 14 02:23:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_convert): add output_byteoffset</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 00:43:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_gcc_function_alias): checks alias attribute.</div><div class='del'>-</div><div class='del'>-	* string.c (alias_func): replaced with RUBY_ALIAS_FUNCTION.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 23:42:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.h): fake rule.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 23:15:58 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_list): call Thread.pass to run t1.</div><div class='del'>-	  fixed [ruby-core:18264].</div><div class='del'>-</div><div class='del'>-Wed Aug 13 23:05:51 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (alias_func): changed to 'weak, alias' from 'alias' for</div><div class='del'>-	  Mac OSX. (closes #429)</div><div class='del'>-</div><div class='del'>-Wed Aug 13 19:40:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: count only freed object as freelist size.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 18:34:22 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_load): set arg.untrust properly.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:47:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_inspect): new method.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:35:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): several local variables</div><div class='del'>-	  removed.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:35:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_set_default_proc): add new method.  a patch from</div><div class='del'>-	  Giuseppe Bilotta.  #419</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:31:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (caller_setup_args): should ensure if the value</div><div class='del'>-	  from to_proc is a real Proc.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:28:29 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: regint.h no longer includes vm_core.h.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:26:44 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): add fields: writebuf_off,</div><div class='del'>-	  writebuf_len and writebuf.</div><div class='del'>-	  (TRANSCODING_WRITEBUF): new macro.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): output until output buffer is</div><div class='del'>-	  really full.</div><div class='del'>-	  (rb_transcoding_open_by_transcoder): initialize writebuf_len,</div><div class='del'>-	  writebuf_off and writebuf.</div><div class='del'>-	  (rb_transcoding_close): finalize writebuf.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:18:37 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_check_ints): added.  please note that</div><div class='del'>-	  this function may cause ruby's thread switching.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regint.h: use rb_thread_check_ints() instead of</div><div class='del'>-	  RUBY_CHECK_INTS() directly.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:01:36 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb, lib/set.rb (TC_Set#test_each),</div><div class='del'>-	  test/readline/test_readline_history.rb (Readline#test_each__enumerator),</div><div class='del'>-	  test/ruby/test_array.rb (TestArray#test_collect),</div><div class='del'>-	  test/ruby/test_enumerator.rb (TestEnumerator#test_initialize):</div><div class='del'>-	  Enumerable::Enumerator is now called Enumerator.</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb (Rinda::TupleBag#initialize): Use</div><div class='del'>-	  enum_for instead of hardcoding Enumerable::Enumerator.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 16:40:57 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, vm_core.h: add manual priority support</div><div class='del'>-	  using time slice.  if you enable USE_NATIVE_THREAD_PRIORITY</div><div class='del'>-	  macro, this mechanism is ignored.  [ruby-dev:33124]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c, thread_win32.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: fix test parameter.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 16:02:14 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_untrusted): new method Object#untrusted?.</div><div class='del'>-	  (rb_obj_untrust): new method Object#untrust.</div><div class='del'>-	  (rb_obj_trust): new method Object#trust.</div><div class='del'>-</div><div class='del'>-	* array.c, debug.c, time.c, include/ruby/ruby.h, re.c, variable.c,</div><div class='del'>-	  string.c, io.c, dir.c, vm_method.c, struct.c, class.c, hash.c,</div><div class='del'>-	  ruby.c, marshal.c: fixes for Object#untrusted?.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb, test/ruby/test_array.rb,</div><div class='del'>-	  test/ruby/test_object.rb, test/ruby/test_string.rb,</div><div class='del'>-	  test/ruby/test_marshal.rb, test/ruby/test_hash.rb: added tests for</div><div class='del'>-	  Object#untrusted?.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 16:13:58 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb: follow EncodingCompatibilityError.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_mixed_unicode_escapes.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_utf16.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 16:05:50 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_cmp): retry with right hand operand if its not a</div><div class='del'>-	  time object.  [ruby-dev:35011]</div><div class='del'>-</div><div class='del'>-Wed Aug 13 15:51:22 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Apply a temporary fix to fix build on OS X.  A real</div><div class='del'>-	  fix will follow later.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 15:25:09 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): Rename Enumerable::Enumerator to</div><div class='del'>-	  just Enumerator.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 15:13:57 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c, golf_prelude.c): Using $(COMPILE_PRELUDE)</div><div class='del'>-	  requires $(RBCONFIG).</div><div class='del'>-</div><div class='del'>-Wed Aug 13 15:08:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_init): make flags argument optional.</div><div class='del'>-	  (econv_primitive_convert): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 14:55:27 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (realclean-local): Remove parse.h as well.</div><div class='del'>-</div><div class='del'>-	* common.mk: Add missing dependencies regarding vm_core.h, id.h,</div><div class='del'>-	  parse.c (parse.h), etc..</div><div class='del'>-</div><div class='del'>-Wed Aug 13 14:45:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans (rb_crlf_newline): new transcoder.</div><div class='del'>-	  (rb_cr_newline): new transcoder.</div><div class='del'>-</div><div class='del'>-	* transcode.c (trans_open_i): one more extra room for input newline</div><div class='del'>-	  converter.</div><div class='del'>-	  (rb_trans_open): crlf newline and cr newline implemented.</div><div class='del'>-	  (Init_transcode): Encoding::Converter::CRLF_NEWLINE and</div><div class='del'>-	  Encoding::Converter::CR_NEWLINE defined.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 14:22:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/newline.trans: new file.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_trans_t): add last_tc field.</div><div class='del'>-</div><div class='del'>-	* transcode.c (UNIVERSAL_NEWLINE): defined.</div><div class='del'>-	  (CRLF_NEWLINE): defined.</div><div class='del'>-	  (CR_NEWLINE): defined.</div><div class='del'>-	  (rb_trans_open_by_transcoder_entries): initialize last_tc.</div><div class='del'>-	  (trans_open_i): allocate one more room for output newline converter.</div><div class='del'>-	  (rb_trans_open): universal newline implemented.</div><div class='del'>-	  (more_output_buffer): take max_output argument instead ts.</div><div class='del'>-	  (output_replacement_character): take tc argument instead of ts.</div><div class='del'>-	  (transcode_loop): use last_tc field.</div><div class='del'>-	  (econv_init): add flags argument for rb_trans_open.</div><div class='del'>-	  (Init_transcode): Encoding::Converter::UNIVERSAL_NEWLINE defined.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 14:00:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.c): generates parse.h together.</div><div class='del'>-</div><div class='del'>-	* id.c, id.h: use constants for parser tokens.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 13:47:05 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: rewind cfp to show proper backtrace.</div><div class='del'>-	  [ruby-dev:35820]</div><div class='del'>-</div><div class='del'>-Wed Aug 13 13:09:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: fix for clean up.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 11:45:51 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: Declare rb_iseq_clone, which is used in class.c.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 11:39:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_search_path): return the length of converter</div><div class='del'>-	  path.</div><div class='del'>-	  (load_transcoder_entry): renamed from load_transcoder.</div><div class='del'>-	  (load_transcoder): new function for loading transcoder by encoding</div><div class='del'>-	  names.</div><div class='del'>-	  (rb_transcoding_open_by_transcoder): extracted from</div><div class='del'>-	  rb_transcoding_open.</div><div class='del'>-	  (rb_transcoding_open): use load_transcoder and</div><div class='del'>-	  rb_transcoding_open_by_transcoder.</div><div class='del'>-	  (rb_trans_open_by_transcoder_entries): new function.</div><div class='del'>-	  (trans_open_i): construct entries array.</div><div class='del'>-	  (rb_trans_open): use rb_trans_open_by_transcoder_entries.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 10:45:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: try to find exported directory.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 10:16:35 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS: Mention the Readline.vi_editing_mode?,</div><div class='del'>-	  Readline.emacs_editing_mode?, Readline::HISTORY[] and</div><div class='del'>-	  Readline::HISTORY.clear change.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 08:03:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_primitive_convert): add output_size argument.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 07:41:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_trans_conv): report last transcode_obuf_full.</div><div class='del'>-	  (econv_max_output): new method Encoding::Converter#max_output.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 02:46:01 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_eEncCompatError): add Exception.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check): use rb_eEncCompatError.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hex): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_oct): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 02:36:47 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): fix error message.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 23:42:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_cEncodingConverter): new class Encoding::Converter.</div><div class='del'>-	  (econv_free): new function.</div><div class='del'>-	  (econv_s_allocate): ditto.</div><div class='del'>-	  (econv_init): ditto.</div><div class='del'>-	  (check_econv): ditto.</div><div class='del'>-	  (econv_primitive_convert): new method.</div><div class='del'>-	  (Init_transcode): define Encoding::Converter.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 23:16:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice_0): call rb_str_drop_bytes, not rb_str_drop.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 19:11:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: fix for enc.mk.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 19:08:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_drop_bytes): new function to drop first bytes.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:58:48 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c (vm_define_method): move</div><div class='del'>-	  function place.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:56:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: more descriptive aliases of rb_str_new[2-5].</div><div class='del'>-	  [ruby-dev:35615]</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:51:29 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (getrusage_time): Returned effective value on Windows.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:51:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_trans_open): free ts before raise.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:46:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): should not ignore</div><div class='del'>-	  &lt;=&gt; comparison.  [ruby-dev:35732]</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:43:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: *.erb.c is not used anymore.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:32:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_trans_elem_t): new field: from and to.</div><div class='del'>-</div><div class='del'>-	* transcode.c (trans_open_i): just record from and to.</div><div class='del'>-	  (rb_trans_open): load transcodings.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:32:03 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (mSyslog_open): Use of Check_SafeStr() is</div><div class='del'>-	  deprecated.</div><div class='del'>-	  (mSyslogConstants_LOG_MASK, mSyslogConstants_LOG_UPTO): Use</div><div class='del'>-	  NUM2INT() instead of FIX2INT() when the type of an given object</div><div class='del'>-	  is not determined.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 18:14:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (#transcode_tblgen): slight message</div><div class='del'>-	  improvement.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 17:16:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (trans_open_i): check the result of rb_transcoding_open.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 16:23:32 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result): use rb_str_catf.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 16:13:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (TRANSCODE_ERROR): removed.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: 8bit byte of ASCII-8BIT is a valid</div><div class='del'>-	  (but unique to ASCII-8BIT) character.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_eConversionUndefined): new error.</div><div class='del'>-	  (rb_eInvalidByteSequence): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 16:08:51 2008  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: POP3Command should export @socket since POP</div><div class='del'>-	  calls #socket.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 16:06:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c, util.c (quorem, nrv_alloc, dtoa): enabled floating point</div><div class='del'>-	  support.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 15:52:45 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result): use sprintf.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 15:37:40 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): should check symbol table overflow.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 15:31:04 2008  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (send_request_with_body): Content-Length should</div><div class='del'>-	  be byte length of string. (closes #203)</div><div class='del'>-</div><div class='del'>-Tue Aug 12 15:17:06 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: (transvpath_prefix): prefix has no extension, so replace</div><div class='del'>-	  %s with "".</div><div class='del'>-</div><div class='del'>-Tue Aug 12 15:03:43 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb (TestReadline#test_safe_level_4):</div><div class='del'>-	  tested Readline.vi_editing_mode? and Readline.emacs_editing_mode?.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 14:25:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (.SUFFIXES): renamed to .trans.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb: added --encs and --no-encs options.</div><div class='del'>-</div><div class='del'>-	* enc/depend (TRANSVPATH): fix for nmake.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 14:19:53 2008  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/https.rb: suppress syntax warning.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 14:15:51 2008  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#initialize): initialize net/https</div><div class='del'>-	  variables to suppress syntax warning.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 14:15:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): fixed shadowing variable.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 10:25:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): Array#delete to return deleted element.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 10:18:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb: do not require 'mkmf'</div><div class='del'>-	  unless WIN32OLE is defined.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 07:41:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): add resetstate_func field for</div><div class='del'>-	  resetting a state of stateful encoding.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans (rb_EUC_JP_to_ISO_2022_JP): specify</div><div class='del'>-	  finish_eucjp_to_iso2022jp for resetstate_func.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: specify NULL for resetstate_func.</div><div class='del'>-</div><div class='del'>-	* transcode.c (output_replacement_character): call resetstate_func</div><div class='del'>-	  before appending the replacement character.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 07:19:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (get_replacement_character): extracted from</div><div class='del'>-	  output_replacement_character.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 07:00:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): typedef at first.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 06:48:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_trans_conv): find second last error.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 00:43:44 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_trans_result_t): new type.</div><div class='del'>-	  (rb_trans_elem_t): new type.</div><div class='del'>-	  (rb_trans_t): new type.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_dispatch_cb): removed.</div><div class='del'>-	  (transcode_dispatch): removed.</div><div class='del'>-	  (rb_transcoding_result_t): moved to rb_trans_result_t in</div><div class='del'>-	  transcode_data.h.</div><div class='del'>-	  (transcode_restartable0): goto follow_info when FUNsi.</div><div class='del'>-	  (rb_transcoding_open): use get_transcoder_entry.</div><div class='del'>-	  (rb_trans_open): new function.</div><div class='del'>-	  (rb_trans_conv): ditto.</div><div class='del'>-	  (rb_trans_close): ditto.</div><div class='del'>-	  (trans_open_i): ditto.</div><div class='del'>-	  (trans_sweep): ditto.</div><div class='del'>-	  (more_output_buffer): take rb_trans_t instead of rb_transcoding as</div><div class='del'>-	  an argument.</div><div class='del'>-	  (transcode_loop): take from_encoding and to_encoding instead of tr</div><div class='del'>-	  as arguments.  use rb_trans_open/rb_trans_conv/rb_trans_close.</div><div class='del'>-	  (str_transcode): don't use transcode_dispatch.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 20:37:05 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_clone): should preserve cref_stack link.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 20:27:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): add taint check.</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_malloc): add rb_secure(2).</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_realloc): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_free): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_ptr2value): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 20:11:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (getrusage_time): works only if RUSAGE_SELF is defined right</div><div class='del'>-	  now.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result): C99.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 18:57:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): rename #choice to #sample.  in</div><div class='del'>-	  addition, sample takes optional argument, a la #first.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 18:28:02 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: added GC::Profiler.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 17:26:16 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/README.ja: added API document for</div><div class='del'>-	  Readline.vi_editing_mode? and Readline.emacs_editing_mode?.</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: checked rl_editing_mode variable in</div><div class='del'>-	  Readline library.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_emacs_editing_mode_p): added</div><div class='del'>-	  Readline.emacs_editing_mode? method.</div><div class='del'>-	  (readline_s_vi_editing_mode_p): added Readline.vi_editing_mode?</div><div class='del'>-	  method.</div><div class='del'>-	  (Init_readline): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 16:56:40 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: added test for Readline's class</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 16:39:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): should copy cbase in cref as well.</div><div class='del'>-	  [ruby-dev:35116]</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_mark): mark original iseq object.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free): do not free internal data if they have</div><div class='del'>-	  original iseq to belong.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_clone): a new function to clone iseq value.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 16:34:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.trans: renamed from iso2022.erb.c.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/korean.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/depend: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* tool/build-transcode: ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 15:09:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_broken_glibc_ia64_erfc): renamed from</div><div class='del'>-	  rb_broken_glibc_ia64_erfc.</div><div class='del'>-	  [ruby-core:18228]</div><div class='del'>-</div><div class='del'>-Mon Aug 11 10:04:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): rename fields.</div><div class='del'>-	  readlen -&gt; recognized_len.</div><div class='del'>-	  feedlen -&gt; readagain_len.</div><div class='del'>-</div><div class='del'>-	* transcode.c: follow the field renaming.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 22:34:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): invalid handling simplified.</div><div class='del'>-	  (transcode_restartable): use PARTIAL_INPUT for converting buffered</div><div class='del'>-	  input.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 22:24:24 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: include util.h.  [ruby-dev:35715]</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 20:59:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): new field: flags.</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder): extracted from transcode_dispatch_cb.</div><div class='del'>-	  (rb_transcoding_result_t): renamed from transcode_result_t.</div><div class='del'>-	  (rb_transcoding_open): new function.</div><div class='del'>-	  (rb_transcoding_convert): ditto.</div><div class='del'>-	  (rb_transcoding_close): ditto.</div><div class='del'>-	  (transcode_loop): use rb_transcoding_open, rb_transcoding_convert</div><div class='del'>-	  and rb_transcoding_close.</div><div class='del'>-	  (str_transcode): don't need rb_transcoding.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 18:09:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: record checksum of</div><div class='del'>-	  transcode-tblgen.rb itself.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 12:34:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* config.guess ({powerpc-apple,i586-pc}-haiku): re-applied r18403.</div><div class='del'>-	  [ruby-core:18110]</div><div class='del'>-</div><div class='del'>-	* config.{guess,sub}: updated to automake-1.10.1.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 11:45:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (make-workdir): use MAKEDIRS.</div><div class='del'>-</div><div class='del'>-	* enc/depend: makes target directory before compile/link.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: creates target directory.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 11:30:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: rename my_transcoding to tc and my_transcoder to tr.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 11:15:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): add feedlen field.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable0): renamed from</div><div class='del'>-	  transcode_restartable.</div><div class='del'>-	  save input buffer into feed buffer if next character is started the</div><div class='del'>-	  point before input buffer.  for example, "\x00\xd8\x01" then "\x02"</div><div class='del'>-	  in UTF-16LE.  \x02 causes invalid and next character is started from</div><div class='del'>-	  \x01.</div><div class='del'>-	  (transcode_restartable): new function to call</div><div class='del'>-	  transcode_restartable0.  if feed buffer is not empty, convert it at</div><div class='del'>-	  first.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 11:02:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (extconf): use MAKEDIRS.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 09:35:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (IRB::Irb#inspect): instance_variables returns symbols</div><div class='del'>-	  instead of strings now.  [ruby-dev:34930]</div><div class='del'>-</div><div class='del'>-Sun Aug 10 09:22:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_char_start): refactored to remove readlen</div><div class='del'>-	  argument.</div><div class='del'>-	  (transcode_restartable): refactored to remove readlen variable.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 08:56:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.</div><div class='del'>-	  [ruby-core:18207]</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_missing__dtos18, rb_cv_missing_fconvert),</div><div class='del'>-	  ext/digest/md5/md5.c, ext/openssl/ossl.c (main),</div><div class='del'>-	  ext/socket/extconf.rb (ipv6, wide-getaddrinfo): main should be int.</div><div class='del'>-</div><div class='del'>-	* main.c (main), win32/winmain.c, wince/wincemain.c (WinMain): envp is</div><div class='del'>-	  no longer used so long time.  based on a patch from Peter Bowen at</div><div class='del'>-	  [ruby-core:18208]</div><div class='del'>-</div><div class='del'>-Sat Aug  9 22:05:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): take destination and resize function</div><div class='del'>-	  as parameters.</div><div class='del'>-	  (more_output_buffer): ditto.</div><div class='del'>-	  (str_transcoding_resize): argument changed from rb_transcoding* to</div><div class='del'>-	  VALUE.</div><div class='del'>-	  (str_transcode): call transcode_loop with destination string and its</div><div class='del'>-	  resize function.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): move ruby_string_dest and</div><div class='del'>-	  flush_func to transcode_loop parameters.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 21:29:45 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: encs depend on transdb.h</div><div class='del'>-</div><div class='del'>-Sat Aug  9 21:10:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_rshift_sign, rb_cv_binary_elf): get rid of</div><div class='del'>-	  AC_TRY_RUN.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 16:33:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): new fields: next_info and next_byte.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable): save/restore next_info and</div><div class='del'>-	  next_byte.</div><div class='del'>-	  sync readlen and in_p when invalid.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 15:10:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_restartable): my_transcoder argument removed.</div><div class='del'>-	  (transcode_loop): my_transcoder argument removed.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 14:39:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): add fields for restartable</div><div class='del'>-	  transcoding.</div><div class='del'>-	  (rb_transcoder): add max_input field.</div><div class='del'>-	  from_unit_length field is renamed to input_unit_length.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: generate max_input field.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.erb.c: follow rb_transcoder change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.erb.c: ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (PARTIAL_INPUT): new constant.</div><div class='del'>-	  (transcode_char_start): new function.</div><div class='del'>-	  (transcode_result_t): new type.</div><div class='del'>-	  (transcode_restartable): new function.</div><div class='del'>-	  (more_output_buffer): new function.</div><div class='del'>-	  (transcode_loop): use transcode_restartable.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 13:35:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* stable/ext/socket/socket.c (NI_MAXHOST, NI_MAXSERV): fixed invalid</div><div class='del'>-	  preprocessor directives.  a patch from Peter Bowen at</div><div class='del'>-	  [ruby-core:18211].</div><div class='del'>-</div><div class='del'>-Sat Aug  9 06:37:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb, enc/trans/make_transdb.rb: skip nonexistent</div><div class='del'>-	  directory.  [ruby-dev:35802]</div><div class='del'>-</div><div class='del'>-Sat Aug  9 01:07:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.erb.c (fun_so_from_utf_32le): implemented.</div><div class='del'>-	  (fun_so_to_utf_32le): implemented.</div><div class='del'>-	  [ruby-dev:35777]</div><div class='del'>-</div><div class='del'>-Sat Aug  9 00:42:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): from_unit_length field added.</div><div class='del'>-	  from_utf8 field removed.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: generate offsets range.</div><div class='del'>-	  follow rb_transcoder change.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): don't use from_utf8.</div><div class='del'>-	  make invalid region from_unit_length wise.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.erb.c: follow rb_transcoder and</div><div class='del'>-	  transcode_generate_node change.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.erb.c: follow rb_transcoder and</div><div class='del'>-	  transcode_generate_node change.</div><div class='del'>-	  explicit :invalid map removed.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 23:29:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (TRANSCSRCS): needs rule_subst to apply.</div><div class='del'>-</div><div class='del'>-	* io.c (shutdown): not define if defined already.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 22:47:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (opt_eq_func): large function to make inline.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (config.h): cannot compile a big inline function.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 21:09:10 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (enk.mk): give not RUBY but MINIRUBY.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 17:03:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (shutdown, sched_yield, pthread_attr_setinheritsched):</div><div class='del'>-	  check for Haiku.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, io.c, thread_pthread.c: use autoconfisticated results.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 16:52:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (enc.mk): mkmf.rb requires rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* common.mk (srcs-enc): renamed from transcodes.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (make-workdir): creates object directories.</div><div class='del'>-</div><div class='del'>-	* common.mk (encdb.h): see both $(srcdir)/enc and enc.</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: fix for the case no transdirs are given.</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: converts only one transcoders for each</div><div class='del'>-	  basename.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 10:53:52 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: randomize source port and transaction id.</div><div class='del'>-	  CVE-2008-1447.</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb (UDPSocket#bind): don't resolv host if host is</div><div class='del'>-	  "".</div><div class='del'>-</div><div class='del'>-Fri Aug  8 04:20:14 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: see both $(srcdir)/enc/trans and enc/trans.</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 00:05:02 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: added readline/readline.c.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: changed Copyright. added RDoc.</div><div class='del'>-</div><div class='del'>-	* ext/readline/README.ja: fixed typo.</div><div class='del'>-</div><div class='del'>-	* ext/readline/README: contents was moved RDoc.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 23:43:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): new field "stateful".</div><div class='del'>-	  (rb_transcoder): preprocessor and postprocessor field removed.</div><div class='del'>-	  change arguments of func_ii, func_si, func_io and func_so.</div><div class='del'>-	  new field "finish_func".</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: make FUNii, FUNsi and FUNio</div><div class='del'>-	  generatable.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcoder_lib_table): removed.</div><div class='del'>-	  (transcoder_table): change structure.</div><div class='del'>-	  (transcoder_key): removed because the above structure change.</div><div class='del'>-	  (make_transcoder_entry): new function.</div><div class='del'>-	  (get_transcoder_entry): ditto.</div><div class='del'>-	  (rb_register_transcoder): follow the structure change.</div><div class='del'>-	  (declare_transcoder): ditto.</div><div class='del'>-	  (transcode_search_path): new function for breadth first search to</div><div class='del'>-	  find a list of converters.</div><div class='del'>-	  (transcode_search_path_i): new function.</div><div class='del'>-	  (transcode_dispatch_cb): ditto.</div><div class='del'>-	  (transcode_dispatch): use transcode_search_path.</div><div class='del'>-	  (transcode_loop): follow the argument change.</div><div class='del'>-	  (str_transcode): preprocessor and postprocessor stuff removed.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso2022.erb.c: new file.  ISO-2022-JP conversion</div><div class='del'>-	  re-implemented.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.erb.c: ISO-2022-JP stuff removed.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.erb.c: follow argument change of FUNso.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:35798]</div><div class='del'>-</div><div class='del'>-Thu Aug  7 22:55:44 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/README.ja: updated API document for Readline module.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 20:52:08 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (login): raise FTPReplyError if passwd or acct</div><div class='del'>-	  is not supplied.  fixed [ruby-core:18058].</div><div class='del'>-</div><div class='del'>-Thu Aug  7 18:01:44 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-imenu-create-index-in-block): Fix the</div><div class='del'>-	  regexp to only pick definition lines properly.  `module_function'</div><div class='del'>-	  is not a definition of a module named `_function'.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 17:47:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: add transdb.c.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 16:28:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, {bcc,win}32/Makefile.sub (clean-ext): do not</div><div class='del'>-	  use miniruby.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 14:17:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: removed needless explicit commands.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb, {bcc32,win32}/Makefile.sub (CLEANLIBS, CLEANOBJS):</div><div class='del'>-	  moved clean targets to platform makefiles.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 13:12:30 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (gai_strerror): ignore only on Haiku.</div><div class='del'>-	  a patch from &lt;zn at mbf.nifty.com&gt;, [ruby-dev:35796].</div><div class='del'>-</div><div class='del'>-Thu Aug  7 06:31:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/process.rb (test_popen_fork): skip a test which is</div><div class='del'>-	  freeze in FreeBSD.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 06:05:48 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* config.guess: add powerpc-apple-haiku, i586-pc-haiku.</div><div class='del'>-	  see [ruby-core:18110]</div><div class='del'>-</div><div class='del'>-Thu Aug  7 05:51:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: Add support to Haiku. see [ruby-core:18110]</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/addrinfo.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getnameinfo.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 05:43:32 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: mkdir enc/trans before build tables.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 05:18:30 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: enc/*.c is source but enc/trans/*.c is generated.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 05:14:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (code_to_mbc): raise RangeError Integer#chr</div><div class='del'>-	  when more than 255 is given with single byte encoding.</div><div class='del'>-	  [ruby-dev:35789]</div><div class='del'>-</div><div class='del'>-Thu Aug  7 05:06:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_final): runs finalizers with the object terminated.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): keeps finalized objects from</div><div class='del'>-	  linking to freelist.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 04:43:14 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: for build in other than srcdir.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 22:40:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (transcode_generate_node): code</div><div class='del'>-	  argument removed.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 21:25:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (chain_finalized_object): deletes finalizers to be invoked from</div><div class='del'>-	  finalizer_table.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): warns when could not invoke</div><div class='del'>-	  finalizers.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:56:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: transcode table generation depends on</div><div class='del'>-	  tool/transcode-tblgen.rb.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:48:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): self-referencing finalizers</div><div class='del'>-	  cannot be invoked.  [ruby-dev:35681]</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:44:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: distinguish UNDEF and INVALID.</div><div class='del'>-	  [ruby-dev:35709]</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): don't need rb_enc_mbclen now.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 14:40:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (transdb.h): requires transcoders.</div><div class='del'>-</div><div class='del'>-	* enc/depend (srcs): target for transcoders.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 14:04:08 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: replace not only $(&lt;:...) but also $&lt;.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 13:54:30 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): export BASERUBY.</div><div class='del'>-</div><div class='del'>-	* enc/depend: avoid GNU make'ism.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 07:59:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (ActionMap#eql?): use == to compare @map.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 07:45:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: show generating tables in verbose mode.</div><div class='del'>-	  (transcode_generate_node): call ActionMap#generate_node with showing</div><div class='del'>-	  table name.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.erb.c: use transcode_generate_node.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 06:55:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): propagates fatal error and system</div><div class='del'>-	  exit to the main thread.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 05:31:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding_index, rb_to_encoding): check if the name</div><div class='del'>-	  is ascii compatible as well as Encoding.find.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode): no need to duplicate first.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 05:08:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): reset to real class.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 03:56:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (transcodes), tool/build-transcode: generates transcode</div><div class='del'>-	  sources.</div><div class='del'>-</div><div class='del'>-	* enc/trans/{japanese,korean,single_byte,utf_16_32}.c: to be</div><div class='del'>-	  autogenerated now.</div><div class='del'>-</div><div class='del'>-	* enc/depend: added rules for .c from .erb.c.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 20:46:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/build-transcode: new file.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: exclude *.erb.c.</div><div class='del'>-</div><div class='del'>-	* enc/depend: exclude *.erb.c.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.erb.c: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.erb.c: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.erb.c: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/korean.erb.c: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-2-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-3-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-4-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-5-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-6-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-7-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-8-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-9-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-10-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-11-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-13-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-14-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-15-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/eucjp-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/sjis-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/euckr-tbl.rb: new file.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.c: regenerated.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.c: regenerated.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: regenerated.</div><div class='del'>-</div><div class='del'>-	* enc/trans/korean.c: regenerated.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:35730]</div><div class='del'>-</div><div class='del'>-Tue Aug  5 18:02:53 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb (TestIONonblock#test_flush):</div><div class='del'>-	  rescue some exceptions. [ruby-dev:35638]</div><div class='del'>-</div><div class='del'>-Tue Aug  5 16:40:06 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (chdir): handle 5xx errors correctly.</div><div class='del'>-	  fixed [ruby-core:18057].</div><div class='del'>-</div><div class='del'>-Tue Aug  5 16:38:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, bcc32/Makefile.sub (config.h): bcc 5.8 has</div><div class='del'>-	  stdint.h.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 16:13:05 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (disconnect): do not refer to SSL::SSLSocket for</div><div class='del'>-	  environments without OpenSSL. fixed [ruby-dev:35755].</div><div class='del'>-</div><div class='del'>-Tue Aug  5 14:19:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_mode): generalized st_mode mask.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 12:43:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (retry_sendfile, retry_read): ENOSYS and EWOULDBLOCK are not</div><div class='del'>-	  defined on every platforms.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 12:34:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (TRANSCODE_ERROR): common transcode failure</div><div class='del'>-	  exception, would be changed later.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (UNSUPPORTED_MODE): unsupported mode transition</div><div class='del'>-	  exception.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 03:29:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): respect overridden &lt;=&gt; for String and</div><div class='del'>-	  Fixnum.  [ruby-core:17708]</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h (NOEX_BASIC): basic definition method flag.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, vm_method.c (rb_method_basic_definition_p):</div><div class='del'>-	  new function to check if the method is not redefined after the</div><div class='del'>-	  initialization.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_obj_respond_to): use rb_method_basic_definition_p.</div><div class='del'>-</div><div class='del'>-Mon Aug  4 20:39:06 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (update-rubyspec): renamed the rubyspec directory</div><div class='del'>-	  "spec". Changed directory structure.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (test-rubyspec): ditto.</div><div class='del'>-</div><div class='del'>-	* spec/README: described the structure of "spec" directory.</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: configured for Matz's Ruby Implementation.</div><div class='del'>-</div><div class='del'>-Mon Aug  4 19:21:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_tmp_new): added.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call_super): fixed typo, and get rid of too large</div><div class='del'>-	  alloca.  [ruby-core:17922]</div><div class='del'>-</div><div class='del'>-Mon Aug  4 16:48:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (deferred_nodes, compstmt, arg, fixup_nodes, range_op): fix</div><div class='del'>-	  up fixnum range literal in conditional as automagical line number</div><div class='del'>-	  comparison.  [ruby-core:12124], [ruby-dev:35731]</div><div class='del'>-</div><div class='del'>-Mon Aug  4 14:41:25 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP::rcptto): fix a typo. a patch from</div><div class='del'>-	  Masao Takaku &lt;masao at nii.ac.jp&gt;</div><div class='del'>-	  fix [ruby-dev:35489].</div><div class='del'>-</div><div class='del'>-Mon Aug  4 14:08:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (dump_ensure), process.c (run_exec_dup2),</div><div class='del'>-	  string.c (rb_str_replace), transcode.c (transcode_dispatch): fixed</div><div class='del'>-	  memory leaks.  based on patches from shinichiro.h &lt;shinichiro.hamaji</div><div class='del'>-	  AT gmail.com&gt; at [ruby-dev:35751].</div><div class='del'>-</div><div class='del'>-Sun Aug  3 19:32:52 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (hash2named_arg): refactoring.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke, fole_respond_to, ev_on_event,</div><div class='del'>-	  fev_off_event): accepts Symbol argument.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug  3 10:41:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_shared_replace): fixed memory leak.  a patch from</div><div class='del'>-	  shinichiro.h &lt;shinichiro.hamaji AT gmail.com&gt; at [ruby-dev:35742]</div><div class='del'>-</div><div class='del'>-Sat Aug  2 22:55:41 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb: remove temporary files.</div><div class='del'>-	  some refactoring.</div><div class='del'>-</div><div class='del'>-Sat Aug  2 15:51:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): 8 and 9 in octal integer should cause compile</div><div class='del'>-	  error.  [ruby-dev:35729]</div><div class='del'>-</div><div class='del'>-Sat Aug  2 01:06:10 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: add U+FF5E to EUC-JP.</div><div class='del'>-	  [ruby-dev:35720] [ruby-dev:35722]</div><div class='del'>-</div><div class='del'>-Fri Aug  1 23:49:44 2008  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: checked to have clear_history in</div><div class='del'>-	  readline library.</div><div class='del'>-	* ext/readline/readline.c (hist_get, hist_each, Init_readline):</div><div class='del'>-	  The offset specified for the argument of history_get() might be</div><div class='del'>-	  different in GNU Readline and libedit. If use libedit, it was</div><div class='del'>-	  corrected that the computational method of the offset specified</div><div class='del'>-	  for the argument of history_get() when the Readline module was</div><div class='del'>-	  initialized was decided.</div><div class='del'>-	  (hist_get, hist_set): If use libedit, accesses first an input</div><div class='del'>-	  content in history when specifies the negative offset for the</div><div class='del'>-	  argument of history_get() or replace_history_entry(). Then</div><div class='del'>-	  checks the offset is negative in ruby.</div><div class='del'>-	  (rb_remove_history): When compiling, it corrects it to warning</div><div class='del'>-	  when libedit is used.</div><div class='del'>-	  (hist_clear, Init_readline): added Readline::HISTORY.clear</div><div class='del'>-	  method. [ruby-dev:35551]</div><div class='del'>-	* test/readline/test_readline_history.rb: added unit test for</div><div class='del'>-	  Readline::HISTORY.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 23:26:45 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): undefined character is replaced with</div><div class='del'>-	  only one character. [ruby-dev:35709]</div><div class='del'>-</div><div class='del'>-Fri Aug  1 23:26:22 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	Merged r16430(akr), r16431(akr), r16433(akr), r16469(nobu), and</div><div class='del'>-	r17874(akr) from ruby_1_8.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (update-rubyspec): added</div><div class='del'>-</div><div class='del'>-	* Makefile.in (test-rubyspec): added</div><div class='del'>-</div><div class='del'>-Fri Aug  1 23:16:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: add support for CP51932,</div><div class='del'>-</div><div class='del'>-Fri Aug  1 22:59:40 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: add U+FF0C,</div><div class='del'>-</div><div class='del'>-Fri Aug  1 21:49:41 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/sdbm/test_sdbm.rb: add some tests.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 21:36:00 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (allocate_heaps, assign_heap_slot, rb_newobj_from_heap):</div><div class='del'>-	  reset during_gc before raising NoMemoryError.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 21:29:56 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_BareVM): check failure of malloc().</div><div class='del'>-</div><div class='del'>-Fri Aug  1 20:55:27 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (to_SHIFT_JIS_EF_BF_offsets): add U+FFF3,</div><div class='del'>-	  U+FFF4, U+FFF5.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (to_SHIFT_JIS_EF_BF_infos): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (to_EUC_JP_EF_BF_infos): added.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (to_EUC_JP_EF_BF): added.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (to_EUC_JP_EF_infos): change size.</div><div class='del'>-	  [ruby-dev:35714]</div><div class='del'>-</div><div class='del'>-Fri Aug  1 18:27:15 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): removed an useless conditional, and magic</div><div class='del'>-	  comment are ignored unless at the first of line.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_magic_comment_vim): added.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_magic_comment_at_various_positions):</div><div class='del'>-	  added.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 14:54:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_seekdir): no need to rewind to seek forward.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 05:31:08 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (output_replacement_character):</div><div class='del'>-	  rename from _get_replacement_character.</div><div class='del'>-</div><div class='del'>-	* transcode.c (output_replacement_character):</div><div class='del'>-	  fix replacement on UTF-32{BE,LE}. [ruby-dev:35705]</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_invalid_replace):</div><div class='del'>-	  add for above.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 01:01:49 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_call_with_block): reduce comparison.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 22:17:35 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpMult): prevent memory leak.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 20:05:56 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_unicode_public_review_issue_121):</div><div class='del'>-	  fix option1 and 3.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 19:54:57 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (get_replacement_character): use U+FFFD as replacement</div><div class='del'>-	  character when convert to Unicode.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_unicode_public_review_issue_121):</div><div class='del'>-	  rename from test_public_review_issue_121.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb (test_unicode_public_review_issue_121):</div><div class='del'>-	  enable option2.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 17:00:10 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (get_replacement_character): fix: invalid byte sequence</div><div class='del'>-	  is always replaced "\x00?".</div><div class='del'>-</div><div class='del'>-Thu Jul 31 16:37:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_ext_configure_builder.rb</div><div class='del'>-	  (test_self_build_fail): remove extra newline. [ruby-dev:35704]</div><div class='del'>-</div><div class='del'>-Thu Jul 31 15:11:11 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added test_shift_jis</div><div class='del'>-	  (contributed by Yoshihiro Kambayashi) and</div><div class='del'>-	  test_public_review_issue_121</div><div class='del'>-	  (see http://www.unicode.org/review/pr-121.html)</div><div class='del'>-</div><div class='del'>-Thu Jul 31 13:18:30 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RString): size of ary must be</div><div class='del'>-	  RSTRING_EMBED_LEN_MAX + 1.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 12:23:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): upper half of hexdigits has never been used.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 11:31:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h (ASSERT): fix typo at r18176.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_compile): expression in ASSERT() has no</div><div class='del'>-	  effect unless debug mode.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 10:51:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_iseq_disasm_insn): suppress warnings on platforms which</div><div class='del'>-	  int size differs from pointer size.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): ditto</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_err_handler),</div><div class='del'>-	  (syck_default_error_handler): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 02:21:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_compile): remove meaningless branch</div><div class='del'>-	  that misleads into thinking that the variable sav may be</div><div class='del'>-	  uninitialized.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 01:25:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_unlock_all): mutex is no longer a ruby object.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 01:18:07 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comment_encoding): remove meaningless null check.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 01:09:28 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpIsRoundMode): fix tautology</div><div class='del'>-	  condition.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 00:58:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): reduced static variables.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 00:10:20 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_call_with_block): prevent null reference.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 22:19:13 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (vtable_free): remove meaningless null check.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 22:08:25 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (struct dir_data): change path field char * to VALUE.</div><div class='del'>-	  (mark_dir): new function for mark path field.</div><div class='del'>-	  (free_dir): follow the path field change.</div><div class='del'>-	  (dir_s_alloc): ditto.</div><div class='del'>-	  (dir_initialize): ditto.</div><div class='del'>-	  (dir_s_open): ditto.</div><div class='del'>-	  (dir_inspect): ditto.</div><div class='del'>-	  (dir_path): return (duplicate of) the path field to preserve</div><div class='del'>-	  encoding.  [ruby-dev:35685]</div><div class='del'>-</div><div class='del'>-Wed Jul 30 22:06:56 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_inspect): remove dead code.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 21:32:52 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix wrong method name and add reference.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 21:30:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (name_add): fix memory leak.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 21:08:06 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c (syck_free_parser): fix memory leak by</div><div class='del'>-	  YAML::Syck.compile.</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_exp): fix memory leak at Regexp.new("x{1,1}").</div><div class='del'>-</div><div class='del'>-Wed Jul 30 17:48:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): recalc the rest of timeout for each</div><div class='del'>-	  iterations.  [ruby-core:18015]</div><div class='del'>-</div><div class='del'>-Tue Jul 29 23:37:37 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_ungetc): raise NotImplementedError when ungetc is called</div><div class='del'>-	  against dummy encoding IO.  [ruby-dev:35686]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_1): ditto when gets with delimiter is called.</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): ditto when getc is called.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (test_terminator_stateful_conversion,</div><div class='del'>-	  test_getc_stateful_conversion, test_ungetc_stateful_conversion):</div><div class='del'>-	  these tests should raise NotImplementedError.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 22:55:34 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (pipe): run reader thread and writer thread.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 21:38:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): fix typo.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 21:35:59 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb (test_passwd): age field may be string under</div><div class='del'>-	  some environments.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 17:54:35 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (char_casecmp): fix: return 0 if either of characters is NUL.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 13:17:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb (test_getpwuid): fix for users whose uid is</div><div class='del'>-	  shared.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 05:37:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file): explicit relative path</div><div class='del'>-	  which starts with "./" or "../" should be searched from cwd</div><div class='del'>-	  instead of load path.  [ruby-dev:35673]</div><div class='del'>-</div><div class='del'>-Tue Jul 29 02:39:46 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atanh): raise EDOM on FreeBSD when atanh(1).</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): ditto.</div><div class='del'>-</div><div class='del'>-	* math.c (math_log2): ditto.</div><div class='del'>-</div><div class='del'>-	* math.c (math_log10): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: test for above.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 01:41:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (struct dir_data): intenc field removed.</div><div class='del'>-	  (dir_s_alloc): intenc initialization removed.</div><div class='del'>-	  (dir_initialize): :internal_encoding option removed.  dirname code</div><div class='del'>-	  conversion removed.</div><div class='del'>-	  (dir_enc_str): code conversion removed.</div><div class='del'>-	  [ruby-dev:35661]</div><div class='del'>-</div><div class='del'>-Mon Jul 28 21:32:17 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/: use PNG instead of zlib as binary data.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 21:24:33 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.[ch] (cond_every_entry, rb_thread_cond_struct): reverted</div><div class='del'>-	  r18239 because r18245 made the changes unnecessary.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_struct): define after including thread_{pthread,</div><div class='del'>-	  win32}.c.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 21:00:10 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_require_too_long_filename):</div><div class='del'>-	  Kernel#require does not use dln_find_file_r (at r18242).</div><div class='del'>-</div><div class='del'>-Mon Jul 28 20:17:03 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: move the definition of struct rb_mutex_struct.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 18:58:46 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_unlock): fix typo.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 18:15:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file): not to split load path with</div><div class='del'>-	  path separator.  [ruby-Bugs-21356]</div><div class='del'>-</div><div class='del'>-Mon Jul 28 18:14:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io, fcntl, rb_w32_close): must not</div><div class='del'>-	  pass a pointer to int which is smaller than st_data_t on mswin64.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 16:49:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild, overlapped_socket_io): suppress</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 16:06:36 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (MAXPATHLEN): define before use.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 16:01:12 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.[ch] (cond_every_entry, rb_thread_cond_struct): moved</div><div class='del'>-	  the definitions from .c to .h because rb_thread_cond_struct is used</div><div class='del'>-	  in vm_core.h.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 14:29:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (load_lib): use dln_find_file_r instead of dln_find_file.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 00:18:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, thread.c: It is now prohibited to use Data_Get_Struct in</div><div class='del'>-	  *_free against an object that is going to be free'ed.  So, change type</div><div class='del'>-	  of thread_t#keeping_mutexes from VALUE to mutex_t.</div><div class='del'>-</div><div class='del'>-	* vm.c: remove mark to keeping_mutexes.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 23:32:42 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (server_loop): rescue Errno::EINVAL and</div><div class='del'>-	  Errno::ECONNABORTED.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 22:11:57 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptests/method.rb: increase RLIMIT_STACK size to 4M+8Kbytes</div><div class='del'>-	  because FreeBSD fails this less than that.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 21:45:59 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children, obj_free): T_DEFERRED should not be appear.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep, finalize_list): fix to decrement heap_slot#limit</div><div class='del'>-	  after executing finalizer.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 14:48:37 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add a type T_DEFERRED.</div><div class='del'>-</div><div class='del'>-	* gc.c: fix deferred finalizer system.  finalize processes of</div><div class='del'>-	  T_DATA and T_FILE are executed after gc process.</div><div class='del'>-	  And fix to use BUILTIN_TYPE() instead of seeing flag.</div><div class='del'>-</div><div class='del'>-	* thread.c, vm_core.h: add RUBY_VM_SET_FINALIZER_INTERRUPT()</div><div class='del'>-	  and check interrupt_flag at rb_thread_execute_interrupts().</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_mark): fix to mark next_mutex.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): fix to mark keeping_mutexes.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 09:15:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.h (dln_find_exe, dln_find_file): deprecated, use reentrant</div><div class='del'>-	  versions instead.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 09:02:32 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb: merged from 1.8.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: merged from 1.8.</div><div class='del'>-</div><div class='del'>-Sat Jul 26 22:45:18 2008  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/exyacc.rb: fixed NoMethodError(Kernel#sub!).</div><div class='del'>-	  replaced use of special variables with explicit IO</div><div class='del'>-	  operations.</div><div class='del'>-</div><div class='del'>-Sat Jul 26 21:17:18 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): add</div><div class='del'>-	  WIN32OLE_EVENT#handler=, WIN32OLE_EVENT#handler</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 26 07:44:14 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (add_event_call_back): remove unused</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 23:48:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep, obj_free, run_final): defer finalizers of IO and</div><div class='del'>-	  Data.  [ruby-dev:35578]</div><div class='del'>-</div><div class='del'>-Fri Jul 25 23:35:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils#split_header_value):</div><div class='del'>-	  reduce backtrack.  based on a fix by Christian Neukirchen</div><div class='del'>-	  &lt;chneukirchen AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 21:55:38 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_koi8.rb: move from test/ruby/test_koi8.rb.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 21:09:32 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke, add_event_callback,</div><div class='del'>-	  rescue_callback): refactoring.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 20:52:44 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/err_in_callback.rb: add test of raising</div><div class='del'>-	  exception in WIN32OLE_EVENT callback.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 20:43:57 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): add</div><div class='del'>-	  WIN32OLE_EVENT#off_event.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: some refactoring.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 19:50:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.c (xmalloc, xrealloc, xfree): not to use ruby managed memory.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 15:52:40 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_invoke_proc): skip setting safe_level if</div><div class='del'>-	  it from bmethod.  This change makes test/ruby/test_proc.rb pass.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 10:00:00 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: refactoring/cleanup of</div><div class='del'>-	  test_iso_2022_jp(_1)</div><div class='del'>-</div><div class='del'>-Fri Jul 25 04:12:57 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert): output of mime encode is US-ASCII.</div><div class='del'>-	  [ruby-list:45257]</div><div class='del'>-</div><div class='del'>-Fri Jul 25 02:43:11 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/coverage.rb: move from lib/coverage.rb because this remains in</div><div class='del'>-	  an early phase of development.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 00:10:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file): converts Windows style path</div><div class='del'>-	  to Cygwin path.  [ruby-dev:35647]</div><div class='del'>-</div><div class='del'>-Thu Jul 24 16:30:21 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (exit_handler): use st_free_table() to free socklist.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec, rb_w32_accept, rb_w32_socket,</div><div class='del'>-	  rb_w32_socketpair): should check and release fd and sockets/handles</div><div class='del'>-	  if an error occurs in rb_w32_open_osfhandle().</div><div class='del'>-</div><div class='del'>-Thu Jul 24 16:05:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io): avoid warnings.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (ubf_handle): refactoring.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 07:01:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: got rid of improper casts.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 23:19:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb (test_recvfrom): replace an irrelevant test</div><div class='del'>-	  for old behavior.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 21:38:16 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: suppress warning during test.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 21:35:53 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: suppress warning during test.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 18:27:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/{stubs,tcltklib}.c, ext/tk/tkutil/tkutil.c: fix warnings</div><div class='del'>-	  about constness and signedness.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 17:04:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h (d2i_of_void): define for older</div><div class='del'>-	  versions.  [ruby-dev:35637]</div><div class='del'>-</div><div class='del'>-Wed Jul 23 13:53:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: use try_static_assert.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 10:06:19 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (TestZlibDeflate#test_params): suppress a</div><div class='del'>-	  finalizer warning.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 06:25:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck: suppress warnings more.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 03:19:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (struct input_code.name, input_codename):</div><div class='del'>-	  constified.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 03:02:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck: suppress warnings.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 00:34:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl: suppress warnings.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 23:01:34 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c, ext/syck/yaml2byte.c, ext/syck/emitter.c,</div><div class='del'>-	  ext/syck/syck.c, ext/syck/handler.c, ext/syck/syck.h: suppress GCC</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 20:42:24 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): BigDecimal#&lt;=&gt; should</div><div class='del'>-	  return nil if an argument can't be coerced into BigDecimal.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c</div><div class='del'>-	  (VpIsNegDoubleZero, VpItoV): comment out unused functions.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 20:33:54 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_parser_ruby.rb (teardown): close tempfile.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 19:38:38 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added two comments</div><div class='del'>-</div><div class='del'>-Tue Jul 22 18:08:34 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: mention about FIX2LONG and NUM2LONG.</div><div class='del'>-	  see [ruby-dev:35197]</div><div class='del'>-</div><div class='del'>-Tue Jul 22 17:53:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (insn_data_to_s_detail), file.c (rb_stat_inspect),</div><div class='del'>-	  iseq.c (ruby_iseq_disasm_insn, ruby_iseq_disasm),</div><div class='del'>-	  process.c (pst_message), re.c (match_inspect): use rb_str_catf.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_inspect), iseq.c (iseq_inspect, insn_operand_intern): use</div><div class='del'>-	  rb_sprintf.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_name_error, rb_raise, rb_loaderror, rb_fatal): use</div><div class='del'>-	  rb_vsprintf.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 17:20:25 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_func): new function to get API's address which</div><div class='del'>-	  is often used and not supported on all Windows.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io): shouldn't use overlapped I/O if</div><div class='del'>-	  CancelIo() is not supported.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 16:47:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, sprintf.c (rb_str_catf, rb_str_vcatf): new</div><div class='del'>-	  functions.  [ruby-dev:35597]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_capacity): new function to return the capacity.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 16:08:58 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (connect_blocking, socks_connect_blocking,</div><div class='del'>-	  ruby_connect): cast.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 11:05:08 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: use realpath of tmpdir. [ruby-dev:35481]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 09:51:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: fix here-doc strings with inner quotes.  patches</div><div class='del'>-	  by Nathan Weizenbaum &lt;nex342 AT gmail.com&gt; from [ruby-core:17615]</div><div class='del'>-	  through [ruby-core:17910].</div><div class='del'>-</div><div class='del'>-Tue Jul 22 04:26:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_buf_new2): optimization for literals.</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): returns VALUE.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 03:34:01 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*: Update to RDoc 2.1.0 r112.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 02:51:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_buf_cat2, rb_str_cat2): optimization</div><div class='del'>-	  for literals.</div><div class='del'>-</div><div class='del'>-Tue Jul 22 02:50:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (1.5 Manipulating Ruby data): fix the</div><div class='del'>-	  prototype of rb_vsprintf, and added rb_str_cat2.  [ruby-dev:35622]</div><div class='del'>-</div><div class='del'>-Mon Jul 21 17:15:38 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): use locale encoding on Unix.</div><div class='del'>-	  [ruby-dev:35617]</div><div class='del'>-</div><div class='del'>-Mon Jul 21 15:29:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (struct __sbuf, FILE): use size_t.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvwrite): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 21 13:55:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (1.5 Manipulating Ruby data): mentioned</div><div class='del'>-	  rb_sprintf and rb_vsprintf.  [ruby-dev:35611]</div><div class='del'>-</div><div class='del'>-Mon Jul 21 10:25:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (prepare_getline_args): check if rs is a string when non-nil</div><div class='del'>-	  lim is given.  [ruby-dev:35610]</div><div class='del'>-</div><div class='del'>-Mon Jul 21 04:55:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): use rb_convert_type instead of</div><div class='del'>-	  rb_check_convert_type to prevent SEGV by Dir.new(".", true).</div><div class='del'>-	  (dir_initialize): use FilePathValue before rb_enc_get(dirname) to</div><div class='del'>-	  prevent SEGV by Dir.new(0).</div><div class='del'>-</div><div class='del'>-Mon Jul 21 04:42:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): useless rb_enc_get call removed to prevent</div><div class='del'>-	  SEGV by Regexp.union("", nil).</div><div class='del'>-</div><div class='del'>-Sun Jul 20 22:50:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): NODE_POSTEXE should set each end</div><div class='del'>-	  procs only once.  [ruby-dev:35596]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 16:00:37 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_Invoke): use rb_protect</div><div class='del'>-	  instead of rb_rescue2. [ruby-dev:35595]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 01:23:24 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_Invoke): little refactoring.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_GetIDsOfNames): return</div><div class='del'>-	  ITypeInfo::GetIDsOfNames().</div><div class='del'>-</div><div class='del'>-Sat Jul 19 09:31:35 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_Invoke): little refactoring.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add document of inspect methods.</div><div class='del'>-</div><div class='del'>-Sat Jul 19 06:08:43 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*: Import RDoc r104.  Various make test-all fixes.</div><div class='del'>-</div><div class='del'>-Sat Jul 19 00:27:58 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint, rb_num2uint, rb_fix2uint): fixed wrong check</div><div class='del'>-	  about 64bit positive value.</div><div class='del'>-</div><div class='del'>-Fri Jul 18 23:23:37 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_Invoke): avoid cfp consistency</div><div class='del'>-	  error when exception raised in event callback.</div><div class='del'>-</div><div class='del'>-Fri Jul 18 14:52:14 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (socklist): table for registering socket options</div><div class='del'>-	  (currently only O_NONBLOCK).</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (StartSockets, exit_handler): alloc/free socklist.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (is_socket): use socklist.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_accept, rb_w32_socket, rb_w32_socketpair):</div><div class='del'>-	  register new socket to socklist.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_close): remove closing socket from socklist.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fcntl): register socket options.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io): send to/recv from socket with</div><div class='del'>-	  overlapped operation if the socket is not nonblocking mode.</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_send, rb_w32_sendto, rb_w32_recv,</div><div class='del'>-	  rb_w32_recvfrom): use overlapped_socket_io().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (open_ifs_socket): set overlapped mode. this is the</div><div class='del'>-	  default mode of winsock's socket(), so lacking it is an old bug.</div><div class='del'>-</div><div class='del'>-Fri Jul 18 09:44:30 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*: Import RDoc r101.</div><div class='del'>-</div><div class='del'>-Thu Jul 17 23:45:55 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_c_parser.rb (teardown): close tempfile.</div><div class='del'>-</div><div class='del'>-Thu Jul 17 21:08:49 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_getpriority, test_setpriority): use</div><div class='del'>-	  PRIO_PROCESS instead of PRIO_USER.</div><div class='del'>-</div><div class='del'>-Thu Jul 17 20:41:42 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): fix v and V with big endian.</div><div class='del'>-	  [1].pack("V").unpack("V") was [4294967296].</div><div class='del'>-</div><div class='del'>-Thu Jul 17 20:35:03 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): fix i! with big endian.  [1].pack("i!") was</div><div class='del'>-	  "\0\0\0\0".</div><div class='del'>-</div><div class='del'>-Thu Jul 17 16:48:40 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect): select() for connect() has</div><div class='del'>-	  mean only when the socket is non-blocking.</div><div class='del'>-</div><div class='del'>-Thu Jul 17 10:55:24 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: Simplify expression for RDoc.</div><div class='del'>-</div><div class='del'>-Thu Jul 17 10:21:15 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint, rb_num2uint, rb_fix2uint): strict check.</div><div class='del'>-	  fixed [ruby-dev:33683]</div><div class='del'>-</div><div class='del'>-Thu Jul 17 04:19:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): wake up joining threads.</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_forever, sleep_timeval): return when interrupted.</div><div class='del'>-	  [ruby-dev:35542]</div><div class='del'>-</div><div class='del'>-	* thread.c (timer_thread_function): restore main thread status.</div><div class='del'>-	  [ruby-core:17270]</div><div class='del'>-</div><div class='del'>-Thu Jul 17 01:27:38 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): remove invalid access.</div><div class='del'>-</div><div class='del'>-Wed Jul 16 18:04:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec, trap_handler): trap accepts a string as</div><div class='del'>-	  command.  [ruby-dev:35533]</div><div class='del'>-</div><div class='del'>-Wed Jul 16 00:04:30 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): new</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb: use assert_in_out_err instead of</div><div class='del'>-	  EnvUtil.rubyexec.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_variable.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 22:34:03 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (ruby_version): follow changes in configure.in.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 21:58:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/{,tkutil/}extconf.rb: ruby/ruby.h no longer needs to be</div><div class='del'>-	  checked.</div><div class='del'>-</div><div class='del'>-	* ext/tk/{tcltklib.c,tkutil/tkutil.c}: check macros for each headers.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 21:45:41 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb, ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: Do</div><div class='del'>-	  not test ruby/ruby.h, which makes OS X's gcc pick the wrong</div><div class='del'>-	  header file from Ruby.framework.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 21:31:26 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-ruby-version): Add a new option to specify</div><div class='del'>-	  the ruby version string for version specific directories.</div><div class='del'>-	  [ruby-dev:35490]</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: Definition of ruby_version is now determined by the</div><div class='del'>-	  configure script.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 18:14:20 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect, s_accept): check before readable/</div><div class='del'>-	  writable by select() instead of wrapping in blocking region.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_send, s_recvfrom, udp_send, unix_send_io,</div><div class='del'>-	  unix_recv_io): should check readable/writable before calling blocking</div><div class='del'>-	  functions.</div><div class='del'>-	  see [ruby-dev:35446]</div><div class='del'>-</div><div class='del'>-Tue Jul 15 18:12:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (ubf_handle): cancel blocking IO if it can (only</div><div class='del'>-	  Vista). see [ruby-dev:35446]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (errmap): add ERROR_OPERATION_ABORTED as EINTR.</div><div class='del'>-</div><div class='del'>-Mon Jul 14 20:35:21 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb (teardown): fix typo.</div><div class='del'>-</div><div class='del'>-Mon Jul 14 18:47:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): constified.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): rb_str_set_len() sets a delimiter.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): constified preprocessor and</div><div class='del'>-	  postprocessor input.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 13 05:37:50 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX): typo.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32}/Makefile.sub: (SIZEOF_SIZE_T, SIZEOF_PTRDIFF_T): added.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 23:54:55 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LIBRUBY_DLDFLAGS): import library which created</div><div class='del'>-	  with DLL is broken. save import library which created by lib.exe and</div><div class='del'>-	  install it.</div><div class='del'>-	  fixed the problem mentioned at the postscript of [ruby-dev:35448]</div><div class='del'>-</div><div class='del'>-Sat Jul 12 23:24:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: use PRIuSIZE.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 22:41:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX): fixed typo.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 22:30:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (HAVE_RUBY_RUBY_H): defines macros so that</div><div class='del'>-	  extconf.rb do not need to check if headers exist under separated</div><div class='del'>-	  directory.  [ruby-dev:35437]</div><div class='del'>-</div><div class='del'>-	* include/{ruby,rubyio,rubysig}.h, include/ruby/intern.h: use</div><div class='del'>-	  "ruby/..." instead of &lt;ruby/...&gt;.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 22:17:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (sizeof ptrdiff_t): check for size of ptrdiff_t.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI?PTRDIFF, PRI?SIZE): printf conversion</div><div class='del'>-	  specifiers for ptrdiff_t and size_t/ssize_t.</div><div class='del'>-</div><div class='del'>-	* insns.def (leave), marshal.c (long_toobig), transcode.c</div><div class='del'>-	  (str_transcode), vm_dump.c (control_frame_dump, stack_dump_each),</div><div class='del'>-	  (debug_print_register, debug_print_pre): t and z length modifiers</div><div class='del'>-	  are C99.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 16:02:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): requires</div><div class='del'>-	  webrick/cookie.  [ ruby-Bugs-21139 ]</div><div class='del'>-</div><div class='del'>-Sat Jul 12 09:25:07 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: add test</div><div class='del'>-	  for WIN32OLE_EVENT#on_event_with_outargs</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb(teardown): calling</div><div class='del'>-	  WIN32OLE_EVENT.message_loop</div><div class='del'>-</div><div class='del'>-Sat Jul 12 01:54:13 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): shouldn't pass non-socket handle to</div><div class='del'>-	  original select().</div><div class='del'>-</div><div class='del'>-Fri Jul 11 23:05:40 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb: add a test for Zlib::Deflate#params.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 22:58:28 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_params): flush before deflateParams.</div><div class='del'>-	  [ruby-core:17675]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 22:09:01 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.rb, win32/Makefile.sub (PLATFORM): use $(PLATFORM)</div><div class='del'>-	  instead of $(OS) because ENV["OS"] is used in test-all (drb).</div><div class='del'>-</div><div class='del'>-Fri Jul 11 20:51:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_readable, rb_io_wait_writable): check if the file</div><div class='del'>-	  descriptor is closed.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 16:16:43 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_accept, rb_w32_socket, rb_w32_socketpair):</div><div class='del'>-	  prohibit inheritance of sockets, too. [experimental]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 14:39:49 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): the measures for Vista is no longer</div><div class='del'>-	  unnecessary.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 06:16:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (process.o): depends on util.h.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 05:07:46 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (pipe): prohibit inheritance.</div><div class='del'>-	  fixed: [ruby-dev:35421]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 00:56:46 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): fix GC problem.</div><div class='del'>-	  [ruby-core:17669]</div><div class='del'>-</div><div class='del'>-Thu Jul 10 22:06:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore#transaction): return the result from the</div><div class='del'>-	  block.  [ruby-core:17718]</div><div class='del'>-</div><div class='del'>-Thu Jul 10 21:15:49 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_typelib.rb: add some illegal argument</div><div class='del'>-	  test.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_param.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 19:38:35 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): r17993 revert.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 18:29:41 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): finish writing script</div><div class='del'>-	  before spawn("ruby") to avoid blocking in win32.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 17:20:50 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (insert): follow recent changes of globbing.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 14:09:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c (rb_coverage_start): return nil.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 12:41:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_for): fixed variable name.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 12:09:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_t), vm.c (rb_thread_mark), process.c</div><div class='del'>-	  (rb_last_status_get, rb_last_status_set, rb_last_status_clear):</div><div class='del'>-	  moved last_status from rb_vm_t.  [ruby-dev:35414]</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init2): initialize last_status with nil.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 12:09:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_for): wait until timed out only when</div><div class='del'>-	  sleeping with timeout.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 22:41:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_timeval): wait until timed out.  [ruby-core:17270]</div><div class='del'>-</div><div class='del'>-Wed Jul  9 20:58:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): don't raise even if length is negative.</div><div class='del'>-	  [ruby-core:17483], [ruby-core:17661]</div><div class='del'>-</div><div class='del'>-Wed Jul  9 20:18:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_va_args_macro): check for __VA_ARGS__.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_debug): show source name and line if possible.</div><div class='del'>-</div><div class='del'>-	* thread_{pthread,win32}.c (rb_thread_create_timer_thread): needs more</div><div class='del'>-	  stack for debug.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 11:13:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb (Profiler__#print_profile): sort in the descending</div><div class='del'>-	  order of cumulative time.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 11:11:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (struct glob_args, rb_glob_caller, rb_glob2, push_pattern),</div><div class='del'>-	  (glob_brace): make consistent prototypes.</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): set enc in the caller of rb_glob_caller as well</div><div class='del'>-	  as rb_glob2.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 09:12:11 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (options): use input_endian.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 01:38:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): alphabets or numerics mutually enclosing</div><div class='del'>-	  non-alphanumeric characters can carry up.  e.g., "1.999".succ should</div><div class='del'>-	  be "2.000".</div><div class='del'>-</div><div class='del'>-Wed Jul  9 00:12:31 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_set_coverages, rb_reset_coverages): enable and disable</div><div class='del'>-	  coverage measurement.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_get_coverages): rename and move from vm.c.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_coverages): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (clear_coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: use above functions, add new method</div><div class='del'>-	  Coverage.start and fix rdoc .</div><div class='del'>-</div><div class='del'>-Tue Jul  8 23:02:35 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (find_default_source): bug fix when</div><div class='del'>-	  OLE object does not have default source interface.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 22:56:23 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_enable_coverages): hide coverage array by setting 0 to</div><div class='del'>-	  klass during measurement.</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage, yycompile0): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): use rb_hash_lookup instead of</div><div class='del'>-	  rb_hash_aref.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_coverage_result): restore klass of coverage array</div><div class='del'>-	  and return it.</div><div class='del'>-</div><div class='del'>-	* thread.c (update_coverage): check whether its klass is 0.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 22:28:25 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb, lib/profile.rb: fix to use RubyVM.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 21:45:22 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): mark the last element of special_exceptions.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 19:55:40 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (find_default_source): try to</div><div class='del'>-	  find COCLASS when WIN32OLE object is not COCLASS.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Jul  8 13:38:22 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.h: fix to skip inserting a trace insn.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 11:41:17 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: shouldn't use ruby object in globbing, because glob service</div><div class='del'>-	  routines are called before initializing ruby on some platforms (ex.</div><div class='del'>-	  windows).</div><div class='del'>-</div><div class='del'>-Tue Jul  8 10:08:40 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (Next): use rb_enc_mbclen. [ruby-dev:35390]</div><div class='del'>-</div><div class='del'>-Tue Jul  8 07:59:40 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (Next): use rb_enc_precise_mbclen.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 02:27:23 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: preserve encoding of strings in glob and fnmatch.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: related changes.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 00:22:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): limit carrying in an alphanumeric region if</div><div class='del'>-	  exists.  [ruby-dev:35094]</div><div class='del'>-</div><div class='del'>-Mon Jul  7 20:39:28 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(Init_win32ole): add</div><div class='del'>-	  WIN32OLE_TYPE#source_ole_types, WIN32OLE_TYPE#default_ole_types,</div><div class='del'>-	  WIN32OLE_TYPE#default_event_sources.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 19:45:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb (test_chroot_nodir): add Errno::EPERM.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 17:12:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#initialize): get rid of ArgumentError in</div><div class='del'>-	  IPAddr#to_range.  a patch from okkez &lt;okkez000 AT gmail.com&gt; in</div><div class='del'>-	  [ruby-dev:35091].</div><div class='del'>-</div><div class='del'>-Mon Jul  7 01:24:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): fix for file name with spaces.</div><div class='del'>-	  [ruby-talk:307404]</div><div class='del'>-</div><div class='del'>-Mon Jul  7 00:59:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): prior STACK_END_ADDRESS if</div><div class='del'>-	  found.  [ruby-core:17624]</div><div class='del'>-</div><div class='del'>-Sun Jul  6 23:48:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_send, s_recvfrom, ruby_connect, s_accept),</div><div class='del'>-	  (udp_send, unix_send_io, unix_recv_io): blocking region support.</div><div class='del'>-</div><div class='del'>-Sun Jul  6 18:34:35 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb (test_initialize): add</div><div class='del'>-	  more assertions.</div><div class='del'>-</div><div class='del'>-Sun Jul  6 10:12:21 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb</div><div class='del'>-	  (Test::Unit::Collector::ObjectSpace::NAME): fix a typo.</div><div class='del'>-</div><div class='del'>-Sun Jul  6 00:56:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (host_str): fix type mismatch in rb_raise</div><div class='del'>-	  format and argument.</div><div class='del'>-	  (port_str): ditto.</div><div class='del'>-	  (unix_recv_io): ditto.</div><div class='del'>-	  (sock_s_unpack_sockaddr_un): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 23:42:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2INT): cast to int.</div><div class='del'>-	  (FIX2INT): ditto.</div><div class='del'>-	  (NUM2UINT): cast to unsigned int.</div><div class='del'>-	  (FIX2UINT): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 23:10:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_pipe): new function for handling EMFILE and ENFILE</div><div class='del'>-	  error of pipe().</div><div class='del'>-	  (UPDATE_MAXFD_PIPE): removed.</div><div class='del'>-	  (pipe_open): use rb_pipe.</div><div class='del'>-	  (rb_io_s_pipe): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (pipe_nocrash): use rb_pipe.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_pipe): declared.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 22:22:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_initialize): NUM2INT() returns int.</div><div class='del'>-</div><div class='del'>-	* thread.c (timer_thread_function), thread_pthread.c (thread_timer),</div><div class='del'>-	  thread_win32.c (timer_thread_func), thread_{pthread,win32}.c</div><div class='del'>-	  (rb_thread_create_timer_thread): passing VM.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 20:53:18 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_word.rb: check word installed.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 16:12:54 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: revert. before lazy sweep.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 09:55:44 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE#ole_respond_to?</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 08:48:05 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): add has_property argument not to</div><div class='del'>-	  raise error by /\p{Hiragana}\u{3042}/ in EUC-JP script.</div><div class='del'>-	  (rb_reg_preprocess): use has_property argument to make regexp</div><div class='del'>-	  encoding fixed.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 08:29:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): make regexp fixed_encoding if \p is used.</div><div class='del'>-	  fixed [ruby-core:17279].</div><div class='del'>-</div><div class='del'>-Fri Jul  4 23:12:53 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (d2time): fix the bug of VT_DATE</div><div class='del'>-	  to String conversion when negative value.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 22:15:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: collect descendants of</div><div class='del'>-	  Test::Unit::TestCase using inherited.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb: don't use ObjectSpace.each_object.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-core:17126]</div><div class='del'>-</div><div class='del'>-Fri Jul  4 20:43:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncoding): removed auxiliary_data.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_DUMMY_P): moved dummy encoding flag to</div><div class='del'>-	  rb_encoding from Encoding instance.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_encoding_list): list of Encoding instances.</div><div class='del'>-</div><div class='del'>-	* encoding.c (struct rb_encoding_entry): moved base encoding from</div><div class='del'>-	  instance variable.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 17:51:07 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint, rb_num2uint, rb_fix2uint): proper check.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 14:17:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#sendport): use divmod.  [ruby-core:17557]</div><div class='del'>-</div><div class='del'>-Fri Jul  4 11:08:37 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_force): sweep is completely ended.</div><div class='del'>-</div><div class='del'>-	* gc.c (os_obj_of): invoke garbage_collect_force() when freelist none.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 05:01:26 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2uint, rb_fix2uint): typo.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 02:21:06 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint, rb_num2uint, rb_fix2uint): also needs checking</div><div class='del'>-	  negative value. see [ruby-dev:33683]</div><div class='del'>-</div><div class='del'>-Thu Jul  3 23:26:36 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: remove prototypes about coverage.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): add prototype.</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (clear_coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (update_coverage): use rb_sourceline.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_get_coverages): rename and move to vm.c.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_coverages): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: add rdoc.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 21:51:21 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c, ext/coverage/extconf.rb: eliminate</div><div class='del'>-	  COVERAGE__ and introduce coverage.so instead.  How to measure</div><div class='del'>-	  coverage: (1) require "coverage.so", (2) require or load Ruby source</div><div class='del'>-	  file, and (3) Coverage.result will return the same hash as COVERAGE__.</div><div class='del'>-	  [ruby-dev:35324]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_enable_coverages): start coverage measurement by using</div><div class='del'>-	  rb_add_event_hook.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_get_coverages): returns current results of coverage</div><div class='del'>-	  measurement.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: add prototype for above two functions.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm.c: add field of coverages to rb_vm_t.</div><div class='del'>-</div><div class='del'>-	* insns.def (trace): remove special handling for COVERAGE__.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): switch COVERAGE__ to</div><div class='del'>-	  rb_get_coverages().</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (clear_coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/coverage.rb: use coverage.so instead of COVERAGE__.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 21:20:45 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_initialize): NUM2INT returns long.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 21:06:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): typo fixed in r17833.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 19:44:44 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): remove duplicate line.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 16:08:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (erfc): erfc of glibc comes with Debian GNU/Linux Etch</div><div class='del'>-	  on IA64 is broken.  erfc(10000.0) aborts.</div><div class='del'>-	  use missing/erf.c instead.</div><div class='del'>-	  http://sources.redhat.com/ml/libc-hacker/2005-08/msg00008.html</div><div class='del'>-</div><div class='del'>-Thu Jul  3 12:49:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP::start): use 'localhost' instead of</div><div class='del'>-	  'localhost.localdomain'.  [ruby-dev:35333]</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP::SMTP.start): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 07:06:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (SET_LC_MESSAGES): LC_MESSAGES must be C.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 07:02:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval), gc.c (Init_GC), proc.c (Init_Proc): freeze</div><div class='del'>-	  messages of preallocated special exceptions also.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 04:39:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_during_gc): VALUE cache is irrelevant.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 01:44:01 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (GET_ALIGNMENT_PAD_SIZE, ALIGNMENT_RIGHT): cast pointer to</div><div class='del'>-	  uintptr_t instead of unsigned int.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 01:23:13 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c: include ieeefp.h to refer to isinf.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/generator/generator.c: ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 01:01:57 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/tgamma.c (tgamma): remove unused variable.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 00:18:00 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: avoid creating Ruby object during</div><div class='del'>-	  GC. thanks to arton &lt;artonx AT yahoo.co.jp&gt;. [ruby-dev:35313]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 00:09:31 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add rb_during_gc(). based on a patch from arton &lt;artonx AT</div><div class='del'>-	  yahoo.co.jp&gt; at [ruby-dev:35313].</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 09:49:10 2008  Narihiro Nakamura  &lt;authorNari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_lazy_sweep): use lazy sweep algorithm for response</div><div class='del'>-	  performance gain.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_force): mark and lazysweep invoke, after</div><div class='del'>-	  erasing all mark.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_NOT_LAZY_SWEEP): not lazy sweep flag. for debug.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 03:42:44 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: fix expected traces for</div><div class='del'>-	  RubyVM::FrozenCore's event and r17744.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 03:10:41 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.h, insns.def: reduce insn operand of "trace".</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add RUBY_EVENT_COVERAGE event.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 02:02:34 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c, vm.c: fix to refer to next ruby level cfp to make binding.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 01:58:19 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (trace): C99ism.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 01:53:40 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Add coverage measurement constant COVERAGE__.  This constant is not</div><div class='del'>-	  for casual use.  Usage: (1) assign {} to COVERAGE__, (2) require or</div><div class='del'>-	  load Ruby source file, and (3) COVERAGE__["sourcefilepath"] will</div><div class='del'>-	  return an array whose elements represent number of executions per</div><div class='del'>-	  line of source code.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add field of coverage array to iseq.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def (trace): update coverage array.</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage): create and initialize coverage array.</div><div class='del'>-</div><div class='del'>-	* compile.h (ADD_TRACE): add trace instruction to update coverage</div><div class='del'>-	  array.</div><div class='del'>-</div><div class='del'>-	* thread.c (clear_coverage): delete coverage array when forking.</div><div class='del'>-	  Otherwise, double count of coverage may occur.</div><div class='del'>-</div><div class='del'>-	* lib/coverage.rb: sample coverage measurement tool.</div><div class='del'>-</div><div class='del'>-	* error.c: distinguish explicitly between parse_in_eval and</div><div class='del'>-	  mild_compile_error.</div><div class='del'>-</div><div class='del'>-	* load.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 21:32:43 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/console/testrunner.rb: prevent destructive</div><div class='del'>-	  modification to $0.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/gemutilities.rb (build_rake_in): move from</div><div class='del'>-	  test_gem_ext_rake_builder.rb.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_ext_rake_builder.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb: override Gem.ruby and</div><div class='del'>-	  ENV["rake"].</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_uninstaller.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 21:13:17 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, vm.c, insns.def: call FrozenCore.set_postexe method</div><div class='del'>-	  instead to use "postexe" insn.</div><div class='del'>-</div><div class='del'>-	* id.c, id.h: add a prepared id for above.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 21:09:58 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_tmpsrc): we need to include COMMON_HEADERS,</div><div class='del'>-	  namely inclusion of ruby.h, because _GNU_SOURCE is now defined</div><div class='del'>-	  there (if any) and socket.so requires it on Linux systems.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 20:55:07 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_interrupt): trick to suppress GCC warning.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 20:44:36 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: RubyVM is not module.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 19:31:24 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_inspect): constified.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path2class): field precision should have type int.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 19:01:00 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (code_is_ctype): HALF WIDTH KATAKANA is</div><div class='del'>-	  a character.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 17:56:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD__uqtoa): constified.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 17:50:44 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.h: always add ';' at the end of line.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 17:44:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (COMPILE_OPTION_FALSE), time.c (timegm_noleapsecond),</div><div class='del'>-	  thread.c (eKillSignal, eTerminateSignal),</div><div class='del'>-	  missing/vsnprintf.c (BSD_vfprintf): constified.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 17:37:43 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/ascii.c: ISO C does not allow extra ';' outside of a</div><div class='del'>-	  function</div><div class='del'>-</div><div class='del'>-	* enc/us_ascii.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/big5.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_kr.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/euc_tw.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gb2312.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gbk.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_2.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_3.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_4.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_5.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_6.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_7.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_8.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_9.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_10.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_11.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_13.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_14.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_15.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_16.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/koi8_r.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16be.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32be.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf_32le.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/windows_1251.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_rlimit): ISO C90 forbids mixed declarations</div><div class='del'>-	  and code</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (enum ruby_special_consts): ISO C forbids</div><div class='del'>-	  comma at end of enumerator list</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (enum ruby_value_type): ditto.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (enum): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (enum rb_thread_status): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (enum lex_state_e): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (enum string_type): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (enum): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (enum dump_flag_bits): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (enum disable_flag_bits): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (enum): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 17:21:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (stack_double): use MatchStackLimitSize atomically.</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_free_shared_cclass_table): OnigTypeCClassTable</div><div class='del'>-	  needs atomicity</div><div class='del'>-</div><div class='del'>-	* regsyntax.c: constified all predefined OnigSyntaxTypes.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 16:57:44 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (struct st_table): type of bit-field</div><div class='del'>-	  'num_entries' is a GCC extension</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_intern): prefix __extension__ for</div><div class='del'>-	  braced-groups within expressions.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_usascii_str_new2): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_tainted_str_new2): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_new2): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 15:01:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make),</div><div class='del'>-	  (Gem::Ext::Builder.run): EXIT_SUCCESS may be 0 or may not.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_ext_rake_builder.rb (build_rake_in): override</div><div class='del'>-	  Gem.ruby and ENV["rake"].</div><div class='del'>-</div><div class='del'>-	* runruby.rb: bin/rake does not exist in archdir where architecture</div><div class='del'>-	  depend script (i.e. rbconfig.rb) exists.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 13:19:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): check if beg is too big.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 12:01:16 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def, vm.c, vm_core.h: remove some insns</div><div class='del'>-	  (undef, alias, definemethod).</div><div class='del'>-	  Call RubyVM::FrozenCore's singleton method instead.</div><div class='del'>-	  Add "putiseq" and "putspecialobject" instructions.</div><div class='del'>-</div><div class='del'>-	* id.c, id.h: add ids for above.</div><div class='del'>-</div><div class='del'>-	* tool/parse.rb: "VM" no longer exists.  Use RubyVM instead.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 03:28:16 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_ext_configure_builder.rb:  Apply locale-free</div><div class='del'>-	  patch by Yusuke ENDOH.  [ruby-core:17444].</div><div class='del'>-</div><div class='del'>-	* runruby.rb: Set ENV['rake'].  Patch by Yusuke ENDOH</div><div class='del'>-	  [ruby-core:17442].</div><div class='del'>-</div><div class='del'>-Tue Jul  1 01:07:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension.read_multipart): blanks inside</div><div class='del'>-	  double quotes are allowed.  [ruby-list:45140]</div><div class='del'>-</div><div class='del'>-Tue Jul  1 00:59:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_coerce): call rb_Float(x) first.  don't depend on</div><div class='del'>-	  evaluation order of function arguments.</div><div class='del'>-</div><div class='del'>-Tue Jul  1 00:49:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_newobj): abort GC phase before rb_bug.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 23:15:07 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (start_server): shutdown TCPServer before</div><div class='del'>-	  close.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 23:01:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RUBY_H_INCLUDES): common headers which are included with</div><div class='del'>-	  ruby.h together.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 22:57:50 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (test_raise): reveal an exception</div><div class='del'>-	  hided by rescue modifier.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 22:49:32 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_aset): access with too big index</div><div class='del'>-	  raises not ArgumentError but IndexError now.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 22:30:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (recursive_collect): r15662 reverted.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 22:27:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): fix for nil and "" as</div><div class='del'>-	  separator.  [ruby-dev:34591]</div><div class='del'>-</div><div class='del'>-Mon Jun 30 22:21:30 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_line): pass args to each_line. [ruby-dev:34958]</div><div class='del'>-</div><div class='del'>-Mon Jun 30 22:12:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (chain_finalized_object): should not delete from finalizer</div><div class='del'>-	  table until run.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): deferred_final_list may be</div><div class='del'>-	  empty first.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 18:57:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_finalize_deferred): allow object allocation in finalizers.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 14:41:36 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_newobj): prohibit call of rb_newobj() during gc when</div><div class='del'>-	  USE_VALUE_CACHE is not defined (normal case).</div><div class='del'>-</div><div class='del'>-Mon Jun 30 10:28:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (syslog_write): syslog operations should be</div><div class='del'>-	  protected from $SAFE level 4.  a patch from Keita Yamaguchi</div><div class='del'>-	  &lt;keita.yamaguchi at gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (mSyslog_close): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (mSyslog_set_mask): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 03:01:35 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (_test_request__file): specify encoding</div><div class='del'>-	  explicitly.</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 02:31:07 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_utf8_encindex): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_utf8_encindex): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 02:14:34 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h,vm_core.h, vm_dump.c, iseq.c: rename class name</div><div class='del'>-	  VM -&gt; RubyVM, and rename rb_cVM -&gt; rb_cRubyVM.</div><div class='del'>-	  "VM" is too short name for class.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb, test/ruby/test_settracefunc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rb_cRubyVM, rb_cEnv, rb_cISeq should not be</div><div class='del'>-	  exposed.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 02:10:32 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): fix to avoid a warning.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 01:52:05 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_parse.rb: remove tests for open_args.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 23:01:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_format_m): make tmp volatile to avoid possible GC</div><div class='del'>-	  problem.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 18:01:30 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb, lib/rss/utils.rb: merge documents from ruby_1_8.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 17:44:23 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb (RSS::ListenerMixin#known_class): define to</div><div class='del'>-	  work with ruby 1.8.x too.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 17:41:42 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb (RSS::Maker::RSSBase#to_feed): raise</div><div class='del'>-	  exception not return nil if RSS::Maker.make can't get required</div><div class='del'>-	  information.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: follow the above change.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 17:37:23 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb (RSS::Maker::RSSBase#make): require block.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_{0.9,1.0,2.0}.rb: follow the above change.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 17:33:34 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb, lib/rss/maker/itunes.rb: don't use</div><div class='del'>-	  instance_eval to initialize variables. (speed up)</div><div class='del'>-</div><div class='del'>-Sun Jun 29 17:31:15 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, test/rss/test_version.rb (RSS::VERSION):</div><div class='del'>-	  0.2.4 -&gt; 0.2.5.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 11:36:20 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.rb: fix resource leak.</div><div class='del'>-</div><div class='del'>-Sun Jun 29 09:43:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (@@systmpdir): prior LOCAL_APPDATA if possible, and</div><div class='del'>-	  should be clean.  based on a patch from arton &lt;artonx AT</div><div class='del'>-	  yahoo.co.jp&gt; at [ruby-dev:35269]</div><div class='del'>-</div><div class='del'>-Sun Jun 29 07:53:08 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (date2time_str): fix the overflow in</div><div class='del'>-	  some situation. [ruby-bugs-20793]</div><div class='del'>-</div><div class='del'>-Sat Jun 28 21:25:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RRegexp): new field usecnt.  replace</div><div class='del'>-	  str and len by src.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark src field of regexp.</div><div class='del'>-	  (obj_free): don't free str field.</div><div class='del'>-</div><div class='del'>-	* re.c (REG_BUSY): removed.</div><div class='del'>-	  (rb_reg_initialize): prohibit re-initialize regexp.</div><div class='del'>-	  (rb_reg_search): use usecnt to prevent freeing regexp currently</div><div class='del'>-	  using.  this prevents SEGV by:</div><div class='del'>-	    r = /\A((a.)*(a.)*)*b/</div><div class='del'>-	    r =~ "ab" + "\xc2\xa1".force_encoding("euc-jp")</div><div class='del'>-	    t = Thread.new { r =~ "ab"*8 + "\xc2\xa1".force_encoding("utf-8")}</div><div class='del'>-	    sleep 0.2</div><div class='del'>-	    r =~ "ab"*8 + "\xc2\xa1".force_encoding("euc-jp")</div><div class='del'>-</div><div class='del'>-Sat Jun 28 21:15:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,</div><div class='del'>-	  rb_usascii_str_new2): use inline versions only for constant</div><div class='del'>-	  literals.</div><div class='del'>-</div><div class='del'>-Sat Jun 28 13:12:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb (test_self_path_APPLE_GEM_HOME): don't use</div><div class='del'>-	  fixed /tmp/apple_gem_home directory.</div><div class='del'>-</div><div class='del'>-Sat Jun 28 08:40:18 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: check String encoding when</div><div class='del'>-	  converting String to VT_BSTR in OLE.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 28 01:08:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): fix rounding negative float.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 21:38:57 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c: __size__ removed.  use the length of __members__ instead.</div><div class='del'>-	  (num_members): new function.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 21:19:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb (InlineTest.in_progname): workaround for frozen</div><div class='del'>-	  $0.  [ruby-dev:35261]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/console/testrunner.rb (TestRunner#finished): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 17:45:17 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: adjust line number for magic comment.</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb: add tests for def_method.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 14:29:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): empty not should call '!' on nil.</div><div class='del'>-	  cf [ruby-dev:35227]</div><div class='del'>-</div><div class='del'>-Fri Jun 27 14:25:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_eval_body): if thrown exception is frozen, reraise it to</div><div class='del'>-	  create a new instance.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 13:29:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,</div><div class='del'>-	  rb_usascii_str_new2): use with-length versions with strlen to</div><div class='del'>-	  optimize strlen, if optimized.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 12:28:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (mkmf): new command to create makefile.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 11:06:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (wait_writable): added help message.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 06:52:54 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: need a ",".</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): check CANNOT_FORK_WITH_PTHREAD macro.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 06:50:56 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call_super): fix to call method_missing.</div><div class='del'>-	  [ruby-core:15719], [ruby-core:17340]</div><div class='del'>-</div><div class='del'>-Fri Jun 27 00:00:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0, ruby_prog_init): freeze $0.  a patch from Keita</div><div class='del'>-	  Yamaguchi &lt;keita.yamaguchi at gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Thu Jun 26 23:58:29 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m, rb_str_rindex_m, rb_str_include): fix</div><div class='del'>-	  rdoc.</div><div class='del'>-</div><div class='del'>-Thu Jun 26 17:43:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_f_trace_var): should not be allowed at safe level 4.</div><div class='del'>-	  a patch from Keita Yamaguchi &lt;keita.yamaguchi at gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Thu Jun 26 11:04:30 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems 1.2.0 r1824.  Incorporates patch by</div><div class='del'>-	  Yusuke ENDOH [ruby-core:17353].</div><div class='del'>-</div><div class='del'>-Thu Jun 26 00:48:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): not operand might be empty.  [ruby-dev:35227]</div><div class='del'>-</div><div class='del'>-Wed Jun 25 21:54:34 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): make functional-style not operator to act</div><div class='del'>-	  like function.  see &lt;http://d.hatena.ne.jp/ku-ma-me/20080624/p1&gt;.</div><div class='del'>-</div><div class='del'>-Wed Jun 25 15:28:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): not depend on unspecified behavior at integer</div><div class='del'>-	  overflow.  reported by Vincenzo Iozzo &lt;snagg AT openssl.it&gt;.</div><div class='del'>-</div><div class='del'>-Wed Jun 25 13:42:44 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler:Buffer#new): push magic comment first.</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler#compile): fix for broken input.</div><div class='del'>-</div><div class='del'>-Wed Jun 25 12:10:01 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler#compile): magic comment needs LF.</div><div class='del'>-</div><div class='del'>-Wed Jun 25 09:31:11 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler#compile): output magic comment.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 22:14:36 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): preserve parse_in_eval even if</div><div class='del'>-	  exception raised.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 22:09:18 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(ole_invoke): fix memory leak.</div><div class='del'>-	  [ruby-bugs-20792]</div><div class='del'>-</div><div class='del'>-Tue Jun 24 17:20:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_fork_with_pthread): check after check for</div><div class='del'>-	  pthread library, and define the macro when checked only.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 17:04:39 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/extconf.rb: check sys/socket.h for cygwin.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 16:51:51 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): remove cygwin handling because it seems to be for</div><div class='del'>-	  C's stdio.</div><div class='del'>-	  fixed [ruby-dev:35183]</div><div class='del'>-</div><div class='del'>-Tue Jun 24 11:12:33 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/win32.c (rb_w32_getppid): now support</div><div class='del'>-	  getppid() on win32 (but only Win2k or later).</div><div class='del'>-</div><div class='del'>-	* process.c (get_ppid): remove win32 special logic.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 09:40:47 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_sock): socket is binmode on platforms</div><div class='del'>-	  which support binmode.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 00:21:53 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary): initialize arg_opts, a patch from</div><div class='del'>-	  Adam Strzelecki &lt;ono at java.pl&gt; in [ruby-core:17220].</div><div class='del'>-</div><div class='del'>-Tue Jun 24 00:10:53 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary): fix expression to obtain</div><div class='del'>-	  iseq-&gt;local_size and iseq-&gt;local_table_size.  [ruby-dev:35205]</div><div class='del'>-</div><div class='del'>-Mon Jun 23 11:31:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Rational::power2): removed incomplete method.</div><div class='del'>-	  see [ruby-dev:35195].   [ruby-core:17293]</div><div class='del'>-</div><div class='del'>-Sun Jun 22 14:16:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb (have_readline_func): readline on Mac OS X</div><div class='del'>-	  needs headers to detect some functions.</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:51:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_superclass): rdoc improvement, a patch from</div><div class='del'>-	  Gaston Ramos &lt;ramos.gaston AT gmail.com&gt; in [ruby-core:17371].</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:22:32 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: translated README.EXT.ja</div><div class='del'>-</div><div class='del'>-Sun Jun 22 00:42:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_osid, rb_w32_osver, CreateChild): XP is</div><div class='del'>-	  is different from Vista about pipe handle inheritance.</div><div class='del'>-	  fixed [ruby-core:17367], reported by Lars Christensen &lt;larsch at</div><div class='del'>-	  belunktum.dk&gt;</div><div class='del'>-</div><div class='del'>-Sun Jun 22 00:38:45 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: add note about mark and free.</div><div class='del'>-</div><div class='del'>-Sun Jun 22 00:01:36 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode_p, argf_binmode_p, Init_IO): new method</div><div class='del'>-	  IO#binmode? and ARGF.binmode?  [ruby-dev:35148]</div><div class='del'>-</div><div class='del'>-Sat Jun 21 17:33:50 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): no longer support P_WAIT.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 16:46:09 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_sleep): must block reentrance when accessing</div><div class='del'>-	  th-&gt;unblock.</div><div class='del'>-	  fixed [ruby-core:17341], reported by Bill Kelly &lt;billk at cts.com&gt;</div><div class='del'>-</div><div class='del'>-Sat Jun 21 16:29:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args2, open_args): removed.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): unified warnings at space between method</div><div class='del'>-	  name and argument parenthesis.  [ruby-dev:33943]</div><div class='del'>-</div><div class='del'>-Sat Jun 21 16:21:07 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): get rid of overflow.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 15:57:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc#collect_first_comment): skip</div><div class='del'>-	  magic comment.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 15:54:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if fork works with pthread.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 15:31:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: ported to ruby.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: fixed digests.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 04:36:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/jacobian.rb (Jacobian::dfdxi):</div><div class='del'>-	  typo fixed (raize -&gt; raise).  [ruby-list:45101]</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enum_each_cons): typo in RDoc fixed.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 00:45:34 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: do not use sha256sum; use BASERUBY instead</div><div class='del'>-</div><div class='del'>-	* common.mk (dist): use tool/make-snapshot instead</div><div class='del'>-</div><div class='del'>-Fri Jun 20 16:34:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): Process::Status#to_int removed.</div><div class='del'>-	  (PST2INT): defined.</div><div class='del'>-	  (pst_to_s): use PST2INT.</div><div class='del'>-	  (pst_inspect): ditto.</div><div class='del'>-	  (pst_equal): ditto.</div><div class='del'>-	  (pst_bitand): ditto.</div><div class='del'>-	  (pst_rshift): ditto.</div><div class='del'>-	  (pst_wifstopped): ditto.</div><div class='del'>-	  (pst_wstopsig): ditto.</div><div class='del'>-	  (pst_wifsignaled): ditto.</div><div class='del'>-	  (pst_wtermsig): ditto.</div><div class='del'>-	  (pst_wifexited): ditto.</div><div class='del'>-	  (pst_wexitstatus): ditto.</div><div class='del'>-	  (pst_success_p): ditto.</div><div class='del'>-	  (pst_wcoredump): ditto.</div><div class='del'>-	  (rb_f_system): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 15:40:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_store, rb_ary_splice): not depend on unspecified</div><div class='del'>-	  behavior at integer overflow.</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 12:39:55 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_detach_process): store detached process ID in the</div><div class='del'>-	  thread local storage.  moved from lib/open3.rb.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 11:57:46 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): should preserve replacement points</div><div class='del'>-	  since they may be altered in the yielded block.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 11:07:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_memhash): randomize hash to avoid algorithmic</div><div class='del'>-	  complexity attacks.</div><div class='del'>-	  (rb_str_hash): use rb_memhash.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_reset_random_seed): declared.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork): call rb_reset_random_seed.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): call Init_RandomSeed at first.</div><div class='del'>-</div><div class='del'>-	* random.c (seed_initialized): defined.</div><div class='del'>-	  (fill_random_seed): extracted from random_seed.</div><div class='del'>-	  (make_seed_value): extracted from random_seed.</div><div class='del'>-	  (rb_f_rand): initialize random seed at first.</div><div class='del'>-	  (initial_seed): defined.</div><div class='del'>-	  (Init_RandomSeed): defined.</div><div class='del'>-	  (Init_RandomSeed2): defined.</div><div class='del'>-	  (rb_reset_random_seed): defined.</div><div class='del'>-	  (Init_Random): call Init_RandomSeed2.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 21:52:38 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_new, rb_ary_initialize, rb_ary_store,</div><div class='del'>-	  rb_ary_splice, rb_ary_times): integer overflows should be</div><div class='del'>-	  checked. based on patches from Drew Yao &lt;ayao at apple.com&gt;</div><div class='del'>-	  fixed CVE-2008-2726</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): fixed unsafe use of alloca,</div><div class='del'>-	  which led memory corruption. based on a patch from Drew Yao</div><div class='del'>-	  &lt;ayao at apple.com&gt; fixed CVE-2008-2726</div><div class='del'>-</div><div class='del'>-Fri Jun 20 03:26:00 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_fork): NetBSD 4.0 or later can fork.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 03:19:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb: r15825 made it unnecessary to</div><div class='del'>-	  change String to Symbol.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 03:14:31 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*, test/rubygems/*:  Update to RubyGems 1.1.1 r1784 (pre</div><div class='del'>-	  1.2).</div><div class='del'>-</div><div class='del'>-Fri Jun 20 03:01:59 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: try to remove false positive of deadlock detection (second</div><div class='del'>-	  trial).</div><div class='del'>-</div><div class='del'>-Fri Jun 20 02:16:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Rational::power2): typo fixed.  [ruby-core:17293]</div><div class='del'>-</div><div class='del'>-Fri Jun 20 02:11:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): should preserve last successful match</div><div class='del'>-	  data.  [ruby-dev:35182]</div><div class='del'>-</div><div class='del'>-Fri Jun 20 01:07:28 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/pending.rb: move a bug (?) to pending.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 00:40:08 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): fix to return Proc object if block is already</div><div class='del'>-	  in heap.  [ruby-core:15711]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 00:18:04 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_sleep): fix to decrement sleeper count.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 23:48:45 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: compare encodings of two strings before</div><div class='del'>-	  comparing themself, which suppress too big error output.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 23:46:35 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/parser.rl, ext/json/ext/parser/parser.c: JSON</div><div class='del'>-	  text SHALL be encoded in Unicode.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 23:17:56 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_win32.c, vm_core.h: try to remove false positive of</div><div class='del'>-	  deadlock detection.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 21:38:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): check if compile before showing message.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 21:35:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: supported multiple snapshots.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 20:37:00 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (Net::POP3#set_all_uids): speed</div><div class='del'>-	  up. a patch from &lt;m-sumi AT techfirm.co.jp&gt; [ruby-list:45047]</div><div class='del'>-</div><div class='del'>-Thu Jun 19 17:44:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): define constant aliases Etc::Passwd</div><div class='del'>-	  and Etc::Group.  [ruby-dev:35150]</div><div class='del'>-</div><div class='del'>-Thu Jun 19 17:37:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_alloc): specify 'inline' modifier.</div><div class='del'>-</div><div class='del'>-	* string.c (str_alloc): remove cSymbol hack that no longer</div><div class='del'>-	  necessary.</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): avoid retrieving encoding info unless</div><div class='del'>-	  necessary.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 17:19:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scan): String#scan should preserve last</div><div class='del'>-	  successful match data.  [ruby-dev:35106]</div><div class='del'>-</div><div class='del'>-Thu Jun 19 16:49:36 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/acosh.c (atanh): should set ERANGE to errno if parameter</div><div class='del'>-	  is the boundary case. fixed [ruby-dev:35155]</div><div class='del'>-</div><div class='del'>-Thu Jun 19 16:06:01 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/treeview.rb: cannot configure tags.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 11:48:33 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: fix to skip "with_memo" test.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 11:40:55 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw): fix "return" process from "lambda".</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/pending.rb: add a pending bug.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 00:33:40 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb: avoid infinite loop.  [ruby-dev:35158]</div><div class='del'>-</div><div class='del'>-Wed Jun 18 23:07:19 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_newobj): prohibit call of rb_newobj() during gc.</div><div class='del'>-	  a patch from Sylvain Joyeux in [ruby-core:12099].</div><div class='del'>-</div><div class='del'>-Wed Jun 18 21:08:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (verbose_setter, opt_W_getter): fixed prototypes.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 19:20:00 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (opt_W_getter): use ruby_verbose directly instead of parameter</div><div class='del'>-	  because ruby_verbose is not a real variable, so the address of</div><div class='del'>-	  parameter is not collect.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 18:31:03 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (errmap): add some pipe errors.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write): set errno when CRT's errno is EINVAL</div><div class='del'>-	  for pipe errors.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 18:09:08 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (poll_child_status): set EINVAL to errno when</div><div class='del'>-	  GetExitCodeProcess() fails with ERROR_INVALID_HANDLE.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 15:01:18 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): fs_encoding and fname_encoding is</div><div class='del'>-	  rb_encoding *.</div><div class='del'>-	  fixed [ruby-dev:35151]</div><div class='del'>-</div><div class='del'>-Wed Jun 18 14:30:06 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): not rb_enc_get_index but rb_enc_get.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 13:49:58 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (pipe): now pipe is textmode. although this</div><div class='del'>-	  change is experimental, it will be spec if no compatibility problem</div><div class='del'>-	  is reported.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 12:05:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, marshal_dump, r_object0, marshal_load): search</div><div class='del'>-	  public methods only.  [ruby-core:17283]</div><div class='del'>-</div><div class='del'>-	* object.c (convert_type): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb (Singleton#_dump): conversion method should be</div><div class='del'>-	  public.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 10:18:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_passwd, etc_group): fixed rdoc.  a patch from</div><div class='del'>-	  okkez &lt;okkez000 AT gmail.com&gt; in [ruby-dev:35141].</div><div class='del'>-</div><div class='del'>-Wed Jun 18 08:58:16 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/*:  Fix errors for 1.9.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb:  Only remove methods from gem_prelude.rb when</div><div class='del'>-	  loading real RubyGems.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 07:03:30 2008  Eric Hodel  &lt;drbrain@egment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/*:  Update to RubyGems r1778 (pre 1.2).</div><div class='del'>-</div><div class='del'>-Wed Jun 18 04:27:58 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/pending.rb: move pending bug.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 04:24:20 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c: fix escape process with "break" and "return"</div><div class='del'>-	  syntax in "lambda".  [ ruby-Bugs-19304 ], [ruby-core:17164]</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/test_proc.rb: add/move solved test.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 01:51:10 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: cannot access class variable from</div><div class='del'>-	  singleton method.</div><div class='del'>-</div><div class='del'>-Wed Jun 18 00:03:33 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (Init_Dir): dir_foreach() takes variable argument.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 23:04:24 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb:  Fixing Telnet#wairfor() which was broken by</div><div class='del'>-	  changes to the Kernel::Integer() method.  [ruby-core:17272]</div><div class='del'>-</div><div class='del'>-Tue Jun 17 23:02:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (opt_W_getter): made a hooked variable.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 22:04:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (property_name_to_ctype): core dumped when sizeof(int)</div><div class='del'>-	  differs from sizeof(long).  [ruby-dev:35131]</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (property_name_to_ctype): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (onigenc_unicode_property_name_to_ctype): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 20:32:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (miniruby$(EXEEXT)): $(PREP) isn't always same as</div><div class='del'>-	  miniruby, and tests, debug, etc have no meaning when</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 18:39:11 2008  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fixed dependencies on miniruby.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 18:11:01 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (pipe): expand pipe buffer size.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 17:07:35 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): no need to inherit handles here because</div><div class='del'>-	  spawn'ed child cannot detect that STDIN is closed.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 06:32:55 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_data): add intenc and extenc.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_alloc): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): now accept internal_encoding and</div><div class='del'>-	  external_encoding.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_open): changed for dir_initialize.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_open_dir): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_foreach): changed for dir_open_dir.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_entries): changed for dir_open_dir.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_enc_str): defined.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_path): use dir_enc_str.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_read): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_each): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 06:28:57 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_set_encoding): defined.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): convert path on Windows and Mac OS X.</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): use io_set_encoding and now accept</div><div class='del'>-	  internal_encoding and external_encoding.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 06:26:28 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_filesystem_encoding): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_filesystem_encoding): added.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 06:24:28 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: add encoding header.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 01:52:50 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: SEGV when exit.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add a check for safety to Tk.exit.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/irbtkw.rbw: freezes when receives SIGINT.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 21:58:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each, strio_readlines): IO#each and</div><div class='del'>-	  IO#readlines do not affect $_.  [ruby-core:17277]</div><div class='del'>-</div><div class='del'>-Mon Jun 16 18:52:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thwait.rb (ThreadsWait): Exception2MessageMapper no longer has</div><div class='del'>-	  extend_to method.  [ruby-core:17267]</div><div class='del'>-</div><div class='del'>-Mon Jun 16 14:46:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb (E2MM.def_e2message): typo.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 09:43:27 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_object, Init_Enumerator):</div><div class='del'>-	  Temporarily back out with_memo, for which we need a better name.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 07:14:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_readline, strio_each)</div><div class='del'>-	  (strio_readlines): set lastline.  [ruby-core:17257]</div><div class='del'>-</div><div class='del'>-Mon Jun 16 01:49:39 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_block_given_p): fix to skip class frame.</div><div class='del'>-	  [ruby-core:14813]</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/test_method.rb: move solved test.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 01:48:08 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (vm_stack_dump_raw): disable verbose debug output.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 01:33:08 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, thread.c: rename global_interpreter_lock to</div><div class='del'>-	  global_vm_lock.</div><div class='del'>-</div><div class='del'>-Sun Jun 15 18:40:35 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (yaml_org_handler): associate encoding.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_genericresolver_node_import): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 15 18:17:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t), vm.c (rb_vm_mark): moved preallocated special</div><div class='del'>-	  exceptions.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval), gc.c (Init_GC), proc.c (Init_Proc): freeze</div><div class='del'>-	  preallocated special exceptions.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): duplicate the thrown exception to set backtrace</div><div class='del'>-	  if it was frozen.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_memerror): raise nomem_error without backtrace if failed to</div><div class='del'>-	  make backtrace.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 22:52:35 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_sysread): should not raise at empty</div><div class='del'>-	  read.  a patch from Arthur Schreiber at [ruby-core:17245].</div><div class='del'>-</div><div class='del'>-Sat Jun 14 16:55:46 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): no need to expand root path which has no</div><div class='del'>-	  short file name.  [ruby-dev:35095]</div><div class='del'>-</div><div class='del'>-Sat Jun 14 11:59:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (STACK_UPPER): moved from gc.c</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_{pthread,win32}.c (ruby_init_stack,</div><div class='del'>-	  ruby_thread_init_stack): moved stack initialization from gc.c.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 11:57:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (STACK_UPPER): moved from gc.c</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_{pthread,win32}.c (ruby_init_stack,</div><div class='del'>-	  ruby_thread_init_stack): moved stack initialization from gc.c.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 07:52:53 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_initial_gc_stress): defined.</div><div class='del'>-	  (ruby_initial_gc_stress_ptr): defined.</div><div class='del'>-</div><div class='del'>-	* debug.c (set_debug_option): use ruby_initial_gc_stress_ptr for</div><div class='del'>-	  gc_stress option.</div><div class='del'>-</div><div class='del'>-Sat Jun 14 00:09:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_stress): moved to rb_objspace_t.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stress_get, gc_stress_set): VM local attribute.</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 21:55:48 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_equal_p): Rational(0,x) and 0 are equivalent,</div><div class='del'>-	  anyway.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 21:26:39 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c, nucomp_s_convert): preserve the current</div><div class='del'>-	  backref.</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r, nurat_s_convert): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_match_busy): added a declaration.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 18:08:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.xmlschema): don't accept decimal dot without</div><div class='del'>-	  fractional digits.  fractional digits handling simplified.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 17:20:40 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_internal): save and restore backref.</div><div class='del'>-	  fixed [ruby-dev:34991]</div><div class='del'>-</div><div class='del'>-Fri Jun 13 17:06:20 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_internal): save and restore backref.</div><div class='del'>-	  fixed [ruby-dev:34990]</div><div class='del'>-</div><div class='del'>-Fri Jun 13 14:41:26 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: update about Fixnum. reported in</div><div class='del'>-	   &lt;http://www.tmtm.org/ja/tdiary/?date=20080611#p01&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: describe about StringValueCStr().</div><div class='del'>-</div><div class='del'>-	* README.EXT: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 14:24:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_memerror): exit with EXIT_FAILURE instead of magic number.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_stack_check): STACK_LENGTH should be less than</div><div class='del'>-	  STACK_LEVEL_MAX.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 12:55:37 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (sort_by_i): use NODE_DOT2 instead of NODE_MEMO to avoid</div><div class='del'>-	  extra calls to is_pointer_to_heap() in GC.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 00:41:58 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 23:30:11 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_unlock): fix cond_notified consistency.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 22:19:45 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_sleep): fixed previous commit.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 21:59:17 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, vm_core.h, vm.c, thread_pthread.c, thread_win32.c: add</div><div class='del'>-	  deadlock detection.  [ruby-dev:35044]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 21:39:55 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: refactoring.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 17:11:24 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h: undefine USE_CAPTURE_HISTORY which is mentioned as</div><div class='del'>-	  unsupported in the Onigiruma document.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 13:36:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_intern): use rb_intern2 with strlen for</div><div class='del'>-	  constant symbols to optimize strlen.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 08:47:51 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): should use io_read_encoding(), not</div><div class='del'>-	  io_input_encoding().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_1): reduce calling of io_read_encoding().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scan): need not to restore $~ value, so avoid</div><div class='del'>-	  pinning match object.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 02:49:40 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_init): rewind when reopened.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 02:43:27 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): ANSI style.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 02:25:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): clear read buffer.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 00:56:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk: check proper conditions.  [ruby-dev:35047]</div><div class='del'>-</div><div class='del'>-Wed Jun 11 23:33:13 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread): bypass buffered read if reading buffer is empty.</div><div class='del'>-</div><div class='del'>-	* io.c (remain_size): do not add extra one byte.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 12:15:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_normal_exit): hide stderr output</div><div class='del'>-	  when success.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 09:26:43 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs): need to pass miniruby path for windows.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 05:53:20 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, eval_intern.h (PASS_PASSED_BLOCK):</div><div class='del'>-	  set a VM_FRAME_FLAG_PASSED flag to skip this frame when</div><div class='del'>-	  searching ruby-level-cfp.</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, proc.c: fix to check cfp.  if there is</div><div class='del'>-	  no valid ruby-level-cfp, cause RuntimeError exception.</div><div class='del'>-	  [ruby-dev:34128]</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_evalbody.c, vm.c, vm_dump.c, vm_insnhelper.c,</div><div class='del'>-	  insns.def: rename FRAME_MAGIC_* to VM_FRAME_MAGIC_*.</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb, bootstraptest/test*.rb: move solved bugs.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 05:55:31 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: SEGV when tcltk-stubs is enabled.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: avoid error on a shared object.</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: support --with-tcltkversion</div><div class='del'>-</div><div class='del'>-	* ext/tk/README.tcltklib: add document about --with-tcltkversion</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/multi-tk.rb, ext/tk/lib/remote-tk.rb:</div><div class='del'>-	  not work on $SAFE==4</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: Object#methods returns Symbols on Ruby1.9.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: add TkTimer#at_end(proc) to register the</div><div class='del'>-	  procedure which called at end of the timer.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tk/itemfont.rb, ext/tk/lib/font.rb:</div><div class='del'>-	  support __IGNORE_UNKNOWN_CONFIGURE_OPTION__ about font options.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/*: treat __IGNORE_UNKNOWN_CONFIGURE_OPTION__</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: bug fix.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: typo. call a wrong method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tk/itemconfig.rb,</div><div class='del'>-	  ext/tk/lib/tk/canvas.rb: support alias names of option keys.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/grid.rb: lack of module-method definitions.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase supported</div><div class='del'>-	  parameter patterns of configure method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add TkWindow#grid_anchor, grid_column, grid_row.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/wm.rb: methods of Tk::Wm_for_General module cannot</div><div class='del'>-	  pass the given block to methods of Tk::Wm module.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/wm.rb: Wm#overrideredirect overwrites argument to</div><div class='del'>-	  an invalid value.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix memory (object) leak bug.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: fix memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/aniwave.rb, ext/tk/sample/demos-en/aniwave.rb:</div><div class='del'>-	  bug fix.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/component.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tile/tentry.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tile/treeview.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/tpaned.rb: improve TPaned#add.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget, ext/tk/sample/demos-en/widget,</div><div class='del'>-	  ext/tk/sample/demos-jp/style.rb, ext/tk/sample/demos-en/style.rb,</div><div class='del'>-	  ext/tk/sample/demos-jp/bind.rb, ext/tk/sample/demos-en/bind.rb:</div><div class='del'>-	  bug fix.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/ttk_wrapper.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/ttk_wrapper.rb: support "if __FILE__ == $0" idiom.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextio.rb: add binding for 'Ctrl-u' at console mode.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb, ext/tk/lib/tkextlib/tile/style.rb,</div><div class='del'>-	  ext/tk/sample/ttk_wrapper.rb: improve treating and control themes.</div><div class='del'>-	  add Tk::Tile.themes and Tk::Tile.set_theme(theme).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb: lack of autoload definitions.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/tnotebook.rb: cannot use kanji (not UTF-8)</div><div class='del'>-	  characters for headings.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tkDND/shape.rb: wrong package name.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: improve handling callback-subst-keys.</div><div class='del'>-	  Now, support longnam-keys (e.g. '%CTT' on tkdnd-2.0; however, still</div><div class='del'>-	  not support tkdnd-2.0 on tkextlib), and symbols of parameters (e.g.</div><div class='del'>-	  :widget=&gt;'%W', :keycode=&gt;'%k', '%x'=&gt;:x, '%X'=&gt;:root_x, and so on;</div><div class='del'>-	  those are attributes of event object). It means that Ruby/Tk accepts</div><div class='del'>-	  not only "widget.bind(ev, '%W', '%k', ...){|w, k, ...| ... }", but</div><div class='del'>-	  also "widget.bind(ev, :widget, :keycode, ...){|w, k, ...| ... }".</div><div class='del'>-	  It is potentially incompatible, when user passes symbols to the</div><div class='del'>-	  arguments of the callback block (the block receives the symbols as</div><div class='del'>-	  strings). I think that is very rare case (probably, used by Ruby/Tk</div><div class='del'>-	  experts only). When causes such trouble, please give strings instead</div><div class='del'>-	  of such symbol parameters (e.g. call Symbol#to_s method).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb, ext/tk/lib/tk/validation.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/blt/treeview.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/winico/winico.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: strings are available on subst_tables on</div><div class='del'>-	  TkUtil::CallbackSubst class (it is useful on Ruby 1.9).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tkextlib/iwidgets/hierarchy.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/spinner.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/entryfield.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/calendar.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/blt/dragdrop.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tkDND/tkdnd.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/treectrl/tktreectrl.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tktable/tktable.rb: disable code piece became</div><div class='del'>-	  unnecessary by reason of the changes of ext/tk/tkutil/tkutil.c.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/multi-tk.rb: change strategy to define</div><div class='del'>-	  the constant WITH_ENCODING.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix bug on Tk::Encoding.tk_encoding_names.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 03:40:37 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find#find): Return an enumerator if no block is</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 01:28:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, proc.c: revert rb_proc_call() and</div><div class='del'>-	  create rb_proc_call_with_block() instead.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, eval_jump.c, thread.c, vm_insnhelper.c:</div><div class='del'>-	  rb_blockptr should not be exposed.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 21:07:19 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: add tests. [ruby-dev:35009]</div><div class='del'>-</div><div class='del'>-Tue Jun 10 20:55:57 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_convert): need not to initialize optional</div><div class='del'>-	  argument for rb_scan_args().</div><div class='del'>-</div><div class='del'>-Tue Jun 10 20:13:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: negate default of --without-ext if --with-ext is</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: negate default of --without-ext.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 17:43:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang): update RDoc.  [ruby-dev:35034]</div><div class='del'>-</div><div class='del'>-Tue Jun 10 17:30:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_obj_instance_exec, rb_mod_module_exec):</div><div class='del'>-	  added prototypes.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 17:00:29 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): ruby_strtod don't allow a trailing</div><div class='del'>-	  decimal point like "7.". [ruby-dev:34835] [ruby-dev:35009]</div><div class='del'>-</div><div class='del'>-Tue Jun 10 13:48:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_convert): need not to initialize optional</div><div class='del'>-	  argument for rb_scan_args().</div><div class='del'>-</div><div class='del'>-Tue Jun 10 12:58:07 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (FIONREAD_POSSIBLE_P): suppress warnings.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 12:43:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (CONST_ID_CACHE): fixed statement expression.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 11:25:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_argv0): revised for ext/tk.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: not to use varargs.h since requiring C89.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 00:50:51 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, vm_core.h: add a type rb_blockptr.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_with_cfunc): vm_yield_with_cfunc receives</div><div class='del'>-	  blockptr and passes it to iterating block.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_call), include/ruby/intern.h: rb_proc_call receives</div><div class='del'>-	  blockptr.  "rb_proc_call(self, args, blockptr)" in C corresponds to</div><div class='del'>-	  "self.call(*args, &amp;block)" in Ruby.</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_call): pass blockptr to block that is written in C.</div><div class='del'>-</div><div class='del'>-	* proc.c (curry): receive blockptr and pass it to original proc.</div><div class='del'>-	  [ruby-core:15551]</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): fix for change of vm_yield_with_cfunc.</div><div class='del'>-</div><div class='del'>-	* thread.c (call_trace_proc), eval_jump.c (rb_call_end_proc): fix for</div><div class='del'>-	  change of rb_proc_call.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 00:10:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (test-knownbug): give $(OPTS) for bootstraptest/runner.rb.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 23:10:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_stack): don't declare.  it is a macro now.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 22:46:47 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : treat []&amp;&amp;= in virtually the same way as []||=.</div><div class='del'>-	  [ruby-dev:34679]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 21:17:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (clean): remove build directories.</div><div class='del'>-</div><div class='del'>-	* test_knownbug.rb -&gt; KNOWNBUGS.rb: renamed.</div><div class='del'>-</div><div class='del'>-	* common.mk: apply above change.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 21:14:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): set flags.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 21:09:02 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb -&gt; ./test_knownbug.rb: moved.</div><div class='del'>-</div><div class='del'>-	* common.mk: add a rule "test-knownbug".</div><div class='del'>-</div><div class='del'>-Mon Jun  9 21:00:32 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_s_convert): can accept Complex('i').</div><div class='del'>-	  [ruby-dev:34991]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 18:25:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.</div><div class='del'>-</div><div class='del'>-	* *.c: no cache in init functions.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 17:56:30 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#delete_if): Call to_a.</div><div class='del'>-	  (SortedSet#delete_if, TC_SortedSet#test_sortedset): Use super to</div><div class='del'>-	  yield elements in sorted order; [ruby-core:17144] by Arthur</div><div class='del'>-	  Schreiber.</div><div class='del'>-	  (SortedSet#each, SortedSet#each, TC_Set#test_each)</div><div class='del'>-	  (TC_SortedSet#test_sortedset): Return self; [ruby-dev:35002] by</div><div class='del'>-	  Arthur Schreiber.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 17:47:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): close IO object if fd is already closed.</div><div class='del'>-	  (rb_p): call rb_io_write just once.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 15:37:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): req_list may be NULL.  [ruby-dev:35008]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 14:18:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_vm_struct): moved src_encoding_index,</div><div class='del'>-	  ruby_debug, ruby_verbose, and rb_progname.</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_argv0): no longer used.</div><div class='del'>-</div><div class='del'>-	* ruby.c (struct cmdline_options): moved setids and req_list, and the</div><div class='del'>-	  latter is now an array, to prevent memory leak.</div><div class='del'>-</div><div class='del'>-	* ruby.c (cmdline_options_init): added.</div><div class='del'>-</div><div class='del'>-	* ruby.c (add_modules, require_libraries, init_ids, forbid_setid): use</div><div class='del'>-	  struct cmdline_options.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_init2): initialize src_encoding_index.</div><div class='del'>-</div><div class='del'>-	* vm.c: getters/setters for ruby_{debug,verbose}.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 09:54:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (Init_stack): make to call ruby_init_stack.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 08:12:40 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm.c, proc.c : revert r17021. [ruby-dev:34997]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 03:12:23 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/pending.rb: move/remove solved issues.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_class.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  9 02:32:58 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_init_copy): Copy buffers as well.</div><div class='del'>-	  [ruby-list:45018]</div><div class='del'>-</div><div class='del'>-Sun Jun  8 22:22:20 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with</div><div class='del'>-	  block that both is written in C. [ruby-dev:34273] [ruby-core:15551]</div><div class='del'>-</div><div class='del'>-	*  proc.c (curry): use proc_call instead of rb_proc_call.</div><div class='del'>-	  [ruby-dev:34273] [ruby-core:15551]</div><div class='del'>-</div><div class='del'>-Sun Jun  8 21:50:27 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of zlib.</div><div class='del'>-</div><div class='del'>-Sun Jun  8 20:12:47 2008  wanabe  &lt;s.wanabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw): regard break as return in lambda.</div><div class='del'>-	  [ruby-dev:34646]</div><div class='del'>-</div><div class='del'>-Sun Jun  8 19:17:59 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add a build option "CALC_EXACT_MALLOC_SIZE".</div><div class='del'>-	  This option enables to calculate exact size of current</div><div class='del'>-	  allocated size by malloc().  You can access these information</div><div class='del'>-	  with GC.malloc_allocated_size and GC.malloc_allocations.</div><div class='del'>-	  This option consume additional memory as a header of each memory</div><div class='del'>-	  object.  This option also helps to find out xmalloc()/xfree()</div><div class='del'>-	  consistency.  If you get trouble with this option, some extension</div><div class='del'>-	  using "free()" instead of "xfree()".</div><div class='del'>-	  This options is disabled by default.</div><div class='del'>-</div><div class='del'>-Sun Jun  8 18:15:38 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,</div><div class='del'>-	  enumerator.c (enumerator_allocate), eval_jump.c, file.c, hash.c,</div><div class='del'>-	  io.c, load.c, pack.c, proc.c, random.c, re.c, ruby.c, st.c,</div><div class='del'>-	  string.c, thread.c, thread_pthread.c, time.c, util.c, variable.c,</div><div class='del'>-	  vm.c, gc.c:</div><div class='del'>-	  allocated memory objects by xmalloc (ruby_xmalloc) should be</div><div class='del'>-	  freed by xfree (ruby_xfree).</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c,</div><div class='del'>-	  ext/gdbm/gdbm.c, ext/json/ext/parser/parser.c,</div><div class='del'>-	  ext/json/ext/parser/unicode.c, ext/openssl/ossl_cipher.c,</div><div class='del'>-	  ext/openssl/ossl_hmac.c, ext/openssl/ossl_pkey_ec.c,</div><div class='del'>-	  ext/sdbm/init.c, ext/strscan/strscan.c, ext/zlib/zlib.c:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  8 01:15:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_i): make Hash#hash order insensitive.</div><div class='del'>-	  (rb_hash_dup): use DUPSETUP.</div><div class='del'>-</div><div class='del'>-Sat Jun  7 23:47:35 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_initialize, Init_zlib): Fix up</div><div class='del'>-	  initialize_copy; [ruby-list:45016].</div><div class='del'>-</div><div class='del'>-Sat Jun  7 22:15:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (VENDOR_DIR): use LIBDIR instead of PREFIX as well as</div><div class='del'>-	  SITE_DIR.  a patch from Richard Brown &lt;rbrown AT exherbo.org&gt; in</div><div class='del'>-	  [ruby-core:17129].</div><div class='del'>-</div><div class='del'>-Sat Jun  7 21:37:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open), re.c (rb_reg_search), transcode.c (str_transcode):</div><div class='del'>-	  suppress warnings.</div><div class='del'>-</div><div class='del'>-	* util.c (quorem, rv_alloc, nrv_alloc): only used in dtoa().</div><div class='del'>-</div><div class='del'>-Sat Jun  7 16:06:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, CXXFLAGS): append default flags.</div><div class='del'>-</div><div class='del'>-Sat Jun  7 01:23:59 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file, rb_io_s_sysopen): fmode should be unsigned int.</div><div class='del'>-	  fixed [ruby-dev:34979]</div><div class='del'>-</div><div class='del'>-Fri Jun  6 23:46:19 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg): check simple flag before</div><div class='del'>-	  calling setup_arg function().  this change reduce function call.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 21:51:46 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (COMMON_HEADERS): include ws2tcpip.h.</div><div class='del'>-</div><div class='del'>-	* ext/socket/addrinfo.h (addrinfo, getaddrinfo, getnameinfo,</div><div class='del'>-	  freehostent, freeaddrinfo): undef before define because these are</div><div class='del'>-	  macros in some versions of Windows SDK.</div><div class='del'>-</div><div class='del'>-	  merged from ruby_1_8.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 18:25:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/iconv/utils.rb (default_test): override not to croak.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 16:41:45 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: include ws2tcpip.h. fixed [ruby-Bugs-20528]</div><div class='del'>-</div><div class='del'>-Fri Jun  6 15:05:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (count_objects): clear hash after counting objects.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 12:43:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb (TestDir::test_glob): glob file names not sorted.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 00:05:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.xmlschema): don't use float.  fix</div><div class='del'>-	  http://rubyforge.org/tracker/index.php?func=detail&amp;group_id=426&amp;atid=1698&amp;aid=20504</div><div class='del'>-</div><div class='del'>-Thu Jun  5 23:56:18 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add tests to achieve over 90% test coverage of</div><div class='del'>-	  gc.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 23:40:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_alloc): this function is needed only when</div><div class='del'>-	  ENABLE_VM_OBJSPACE macro is defined.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 23:31:21 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb: add tests to achieve over 95% test</div><div class='del'>-	  coverage of stringio.</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb: ditto for strscan.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 23:25:34 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_finalize_0): clear trace_func after executing END</div><div class='del'>-	  procs.</div><div class='del'>-</div><div class='del'>-	* thread.c: fix typo.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 22:50:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (os_obj_of): heaps may be modified in yield.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 21:46:50 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_reverse_foreach): comment out unused function.</div><div class='del'>-</div><div class='del'>-	* util.c (dtoa): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 20:30:46 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize):</div><div class='del'>-	  Add a null check for ssl; submitted by akira yamada</div><div class='del'>-	  in [ruby-dev:34950].</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): Define OP_NO_TICKET if</div><div class='del'>-	  SSL_OP_NO_TICKET is present; submitted by akira yamada</div><div class='del'>-	  in [ruby-dev:34944].</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (OpenSSL#test_server_session): Add a</div><div class='del'>-	  workaround for the case where OpenSSL is configured with</div><div class='del'>-	  --enable-tlsext; submitted by akira yamada in [ruby-dev:34944].</div><div class='del'>-</div><div class='del'>-Thu Jun  5 20:24:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_set_trace_func_m): fix check for proc argument.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 20:17:29 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document:write): leaky modification</div><div class='del'>-	  trans -&gt; transitive.  [ruby-dev:32040], r13686</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (Text.check): fix check for illegal character.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 14:03:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_create): find encoding without options.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 07:48:32 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): should be "static".</div><div class='del'>-</div><div class='del'>-Thu Jun  5 01:47:18 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: add tests for iso-2022-jp.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 01:27:42 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: add tests.</div><div class='del'>-</div><div class='del'>-Wed Jun  4 23:10:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzfile_set_mtime): fix typo.</div><div class='del'>-</div><div class='del'>-Wed Jun  4 18:53:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_alloc): RDoc updated.  a patch from Gaston</div><div class='del'>-	  Ramos &lt;ramos.gaston at gmail.com&gt; in [ruby-core:17073].</div><div class='del'>-</div><div class='del'>-Wed Jun  4 18:36:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb: massive spelling correction patch from Evan Farrar</div><div class='del'>-	  &lt;evanfarrar at gmail.com&gt; in [ruby-doc:1382] applied.</div><div class='del'>-</div><div class='del'>-Wed Jun  4 17:52:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_iconv): fix for length argument and now</div><div class='del'>-	  allows range.  [ruby-core:17092]</div><div class='del'>-</div><div class='del'>-Wed Jun  4 15:45:41 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index, enumerator_with_memo): Fix</div><div class='del'>-	  grammo in rdoc.</div><div class='del'>-</div><div class='del'>-Wed Jun  4 13:06:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CFLAGS, CXXFLAGS): include additional flags to</div><div class='del'>-	  CFLAGS and CXXFLAGS while configuration.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 23:06:35 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_scan_full, strscan_search_full): fix</div><div class='del'>-	  document.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 22:37:26 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_exist_p): fix document.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 22:33:29 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of dir.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_encoding.rb: add tests for dummy?, name_list and</div><div class='del'>-	  aliases.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: add some tests.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 22:25:51 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb: new tests for etc.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 19:35:02 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_memo): New method: with_memo().</div><div class='del'>-</div><div class='del'>-Tue Jun  3 20:04:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (miniruby$(EXEEXT)): miniruby cannot be</div><div class='del'>-	  written by miniruby itself.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 19:33:22 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_init_copy): Take care of</div><div class='del'>-	  initialize_copy as well as initialize.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 16:06:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): fix for non-existent files and SFN of</div><div class='del'>-	  symlinks.  [ruby-talk:303736]</div><div class='del'>-</div><div class='del'>-Tue Jun  3 15:12:01 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#classify): Back out the `group_by' alias.</div><div class='del'>-	  Better think twice.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 15:00:22 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#collect, Set#select): Back out.  I thought it</div><div class='del'>-	  was consistent but turned out to be wrong.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 13:41:08 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#collect, Set#select): Override Enumerable</div><div class='del'>-	  methods and make them return a set. [ruby-core:17055]</div><div class='del'>-	  (Set#delete_if, Set#collect!, Set#reject!, Set#classify)</div><div class='del'>-	  (Set#divide, Set#delete_if): Return an enumerator if no block is</div><div class='del'>-	  given.</div><div class='del'>-	  (Set#classify): Define an alias `group_by' to override that of</div><div class='del'>-	  Enumerable.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 13:35:40 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_pgroup): C99 ism.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 12:51:57 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_allocate, enumerator_ptr): Properly</div><div class='del'>-	  detect if the object is initialized and raise error when</div><div class='del'>-	  appropriate.</div><div class='del'>-	  (enumerator_initialize): Fix a typo in rdoc. [ruby-core:17052]</div><div class='del'>-</div><div class='del'>-Tue Jun  3 01:21:51 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 00:26:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): add a check for modification of array during</div><div class='del'>-	  its dump.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 22:27:57 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_5.c: Large omicron should lowercase to small omicron.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_big5.rb, test/ruby/test_cp949.rb,</div><div class='del'>-	  test/ruby/test_euc_jp.rb, test/ruby/test_euc_kr.rb,</div><div class='del'>-	  test/ruby/test_euc_tw.rb, test/ruby/test_gb18030.rb,</div><div class='del'>-	  test/ruby/test_gbk.rb, test/ruby/test_iso_8859.rb,</div><div class='del'>-	  test/ruby/test_koi8.rb, test/ruby/test_shift_jis.rb,</div><div class='del'>-	  test/ruby/test_windows_1251.rb: new tests for encoding.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_utf16.rb, test/ruby/test_utf32.rb,</div><div class='del'>-	  test/ruby/test_regexp.rb: add tests.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 21:56:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: add tests for uninitialized object.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 21:44:15 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: fix SEGV by Regexp.allocate.names, Match.allocate.names, etc.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* io.c: fix SEGV by IO.allocate.print, etc.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 19:17:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (teardown): remove renamed temporary files.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 18:51:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (wait_writable): wait until target files can be</div><div class='del'>-	  written actually.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LDSHARED_0, LINK_SO): get rid of failure of</div><div class='del'>-	  mt.exe.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 16:26:17 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::MethodDelegation#respond_to):</div><div class='del'>-	  respond_to? should now take optional second argument; submitted</div><div class='del'>-	  by Jeremy Kemper &lt;jeremy at bitsweat.net&gt; in [ruby-core:17045].</div><div class='del'>-</div><div class='del'>-Mon Jun  2 16:14:18 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler::TrimScanner#scan_line): Oops.  This</div><div class='del'>-	  change did not apply to trunk.  Backed out.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 16:08:24 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler::TrimScanner#scan_line): Fix a bug</div><div class='del'>-	  where tokens are not yielded one by one.</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb (TestERBCore#_test_01)</div><div class='del'>-	  (TestERBCore#test_02_safe_04): The expected value should come</div><div class='del'>-	  first for assert_equal().</div><div class='del'>-</div><div class='del'>-Mon Jun  2 13:06:38 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: hide build path from rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 08:46:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod, dtoa): initialize more variables for error</div><div class='del'>-	  handling.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 04:55:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* suppress warnings on cygwin, mingw and mswin.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 04:35:32 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (gb18030_code_to_mbc): add 0x80000000</div><div class='del'>-	  for 4bytes character.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 03:52:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): reverted used variable definition.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 03:23:25 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (gb18030_mbc_to_code): mask by 0x7FFFFFFF</div><div class='del'>-	  because OnigCodePoint will be used as 32bit signed int.</div><div class='del'>-	  Masking by 0x7FFFFFFF is ok on GB18030;</div><div class='del'>-	  Minimum 4bytes character is 0x81308130.</div><div class='del'>-</div><div class='del'>-Sun Jun  1 22:29:35 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_internal): use rb_isdigit.</div><div class='del'>-</div><div class='del'>-	* marshal.c (long_toobig): use %zd.</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): move unused variable definition.</div><div class='del'>-</div><div class='del'>-Sun Jun  1 12:18:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (DEFINE_INSN): subtract of pointers is ptrdiff_t.</div><div class='del'>-	  this is not int on 64bit system.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (control_frame_dump): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (stack_dump_each): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (debug_print_register): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (debug_print_pre): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  1 10:32:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): show coredump status.</div><div class='del'>-</div><div class='del'>-Sat May 31 23:33:34 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* README, README.ja: Add a note about default C flags.</div><div class='del'>-</div><div class='del'>-Sat May 31 23:02:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (count_objects): clear given hash.</div><div class='del'>-</div><div class='del'>-Sat May 31 20:28:10 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add tests.</div><div class='del'>-</div><div class='del'>-Sat May 31 19:11:39 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_16{be,le}.c (utf16{be,le}_code_to_mbc):</div><div class='del'>-	  fix codepoint to bytes.</div><div class='del'>-</div><div class='del'>-Sat May 31 18:28:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* suppress warnings with -Wwrite-string.</div><div class='del'>-</div><div class='del'>-Sat May 31 18:26:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete_if): should return enumerator if no block</div><div class='del'>-	  is given.  [ruby-dev:34901]</div><div class='del'>-</div><div class='del'>-Sat May 31 15:58:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, configure.in (warnflags): defaulted to -Wall</div><div class='del'>-	  -Wno-parentheses with gcc.  [ruby-dev:34810]</div><div class='del'>-</div><div class='del'>-Sat May 31 15:17:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/mvm.h: new header file for MVM, and moved rb_vm_t and</div><div class='del'>-	  rb_thread_t from vm_core.h.</div><div class='del'>-</div><div class='del'>-Sat May 31 12:02:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): show pid when fail.</div><div class='del'>-</div><div class='del'>-Fri May 30 23:55:56 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: add a test of RUBY_DESCRIPTION.</div><div class='del'>-</div><div class='del'>-Fri May 30 22:47:17 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add tests.</div><div class='del'>-</div><div class='del'>-Fri May 30 22:40:53 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb: add tests to achieve over 80% test</div><div class='del'>-	  coverage of signal.c.</div><div class='del'>-</div><div class='del'>-Fri May 30 22:28:03 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (esignal_signo): fix SignalException#signo which returned</div><div class='del'>-	  nil absolutely.</div><div class='del'>-</div><div class='del'>-	* signal.c (esignal_init): always prepend "SIG" to a string that is</div><div class='del'>-	  returned by SignalException#signm.</div><div class='del'>-</div><div class='del'>-Fri May 30 22:17:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb: rename a conflicting method name.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 30 22:14:37 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): fix SEGV by defined?([1]).</div><div class='del'>-</div><div class='del'>-Fri May 30 12:18:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): simply depends on PREP.  [ruby-dev:34877]</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb, enc/trans/make_transdb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 30 10:55:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_unblock_callback), thread.c</div><div class='del'>-	  (set_unblock_function), thread_{pthread,win32}.c (native_sleep):</div><div class='del'>-	  extracted from struct rb_thread_struct.</div><div class='del'>-</div><div class='del'>-	* thread.c (reset_unblock_function): not check interrupts at leaving</div><div class='del'>-	  blocking region.  [ruby-dev:34874]</div><div class='del'>-</div><div class='del'>-Fri May 30 06:09:31 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: add UTF8-MAC (UTF-8-MAC).</div><div class='del'>-</div><div class='del'>-Fri May 30 04:17:13 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count, count_all_i, Init_Enumerable),</div><div class='del'>-	  array.c (rb_ary_count): If no argument or block is given, count</div><div class='del'>-	  the number of all elements.</div><div class='del'>-</div><div class='del'>-Fri May 30 03:12:18 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_s_rand, ossl_bn_s_pseudo_rand):</div><div class='del'>-	  Int should be enough here.</div><div class='del'>-</div><div class='del'>-Fri May 30 02:35:00 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_s_rand, ossl_bn_s_pseudo_rand),</div><div class='del'>-	  ext/openssl/ossl_pkey_dh.c (ossl_dh_s_generate)</div><div class='del'>-	  (ossl_dh_initialize),</div><div class='del'>-	  ext/openssl/ossl_pkey_dsa.c (ossl_dsa_s_generate),</div><div class='del'>-	  ext/openssl/ossl_rand.c (ossl_rand_bytes)</div><div class='del'>-	  (ossl_rand_pseudo_bytes, ossl_rand_egd_bytes),</div><div class='del'>-	  ext/openssl/ossl_x509store.c (ossl_x509stctx_set_error): Do not</div><div class='del'>-	  use FIX2INT() without checking the value type.  Use NUM2INT()</div><div class='del'>-	  instead; found by akr in [ruby-dev:34890].</div><div class='del'>-</div><div class='del'>-Fri May 30 02:08:20 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (esignal_init): handle a non-integer argument correctly,</div><div class='del'>-	  allowing SignalException.new(:INT).</div><div class='del'>-</div><div class='del'>-Fri May 30 00:59:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add tests.</div><div class='del'>-</div><div class='del'>-Thu May 29 22:51:05 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: add a test for load with wrap flag, to</div><div class='del'>-	  achieve 100% test coverage of eval_jump.c.</div><div class='del'>-</div><div class='del'>-Thu May 29 22:47:53 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb: new tests for ARGF, to achieve over 85% test</div><div class='del'>-	  coverage of file.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: add tests.</div><div class='del'>-</div><div class='del'>-Thu May 29 22:41:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_readchar): raise EOFError, synchronizing IO#readchar.</div><div class='del'>-</div><div class='del'>-Thu May 29 22:29:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_external_encoding, argf_internal_encoding): fix SEGV by</div><div class='del'>-	  ARGF.external_encoding.</div><div class='del'>-</div><div class='del'>-Thu May 29 17:52:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb: search zlib1, and regard mswin32 later than VC6</div><div class='del'>-	  as WIN32.  [ruby-core:16984]</div><div class='del'>-</div><div class='del'>-Wed May 28 18:05:28 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_nitems, Init_Array): Axe Array#nitems().</div><div class='del'>-	  cf. [ruby-dev:34676]-[ruby-dev:34713]</div><div class='del'>-</div><div class='del'>-Wed May 28 17:50:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports#objdump, Exports#each_line): extracted.</div><div class='del'>-</div><div class='del'>-Wed May 28 17:41:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (MKPREP): appended $(RBCONFIG).</div><div class='del'>-</div><div class='del'>-	* common.mk (enc.mk, prelude.c): not depend on $(RBCONFIG) on mswin32</div><div class='del'>-	  to get of compiling twice each time.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (prelude.c): not depend on $(PREP).</div><div class='del'>-</div><div class='del'>-Wed May 28 17:37:07 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Mswin#each_export): speed up.</div><div class='del'>-</div><div class='del'>-Wed May 28 16:41:59 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): Call rb_ary_modify_check() at the</div><div class='del'>-	  beginning. [rubyspec]</div><div class='del'>-</div><div class='del'>-Wed May 28 16:12:44 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler#do_GET):</div><div class='del'>-	  Set the HTTP status code to 302 if a Location header field is</div><div class='del'>-	  present and the status code is not valid as a client</div><div class='del'>-	  redirection.  cf. RFC 3875 6.2.3, 6.2.4.</div><div class='del'>-</div><div class='del'>-Wed May 28 15:53:52 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (to_SHIFT_JIS_EF_infos): typo.</div><div class='del'>-</div><div class='del'>-Wed May 28 15:18:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb (SingletonClassMethods): _load should be public.</div><div class='del'>-</div><div class='del'>-Wed May 28 13:30:43 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: add workaround for Unicode to CP932.</div><div class='del'>-	  U+2015-&gt;0x815C, U+2225-&gt;0x8161, U+FF0D-&gt;0x817C, U+FF3C-&gt;0x815F,</div><div class='del'>-	  U+FF5E-&gt;0x8160, U+FFE0-&gt;0x8191, U+FFE1-&gt;0x8192, U+FFE2-&gt;0x81CA</div><div class='del'>-</div><div class='del'>-Wed May 28 12:52:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, marshal_dump, r_object0, marshal_load): search</div><div class='del'>-	  private methods too.  [ruby-dev:34671]</div><div class='del'>-</div><div class='del'>-	* object.c (convert_type): ditto.</div><div class='del'>-</div><div class='del'>-Wed May 28 08:42:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: "%" is required before PRI?VALUE.</div><div class='del'>-</div><div class='del'>-Tue May 27 22:10:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_handle): SystemExit and SignalException throws</div><div class='del'>-	  TAG_RAISE but not TAG_FATAL.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): delay interrupts during</div><div class='del'>-	  raising exceptions.  [ruby-dev:34855]</div><div class='del'>-</div><div class='del'>-Tue May 27 20:18:30 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): Return an empty array instead of</div><div class='del'>-	  nil when pos is valid and len is adjusted from a valid value to</div><div class='del'>-	  zero; caught by RubySpec.</div><div class='del'>-</div><div class='del'>-Tue May 27 19:12:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (MKPREP), common.mk, win32/Makefile.sub (prelude.c): get</div><div class='del'>-	  rid of depending PREP with nmake.</div><div class='del'>-</div><div class='del'>-	* common.mk (encs): depends on libruby.</div><div class='del'>-</div><div class='del'>-Tue May 27 19:00:22 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each_char, Init_stringio): Add</div><div class='del'>-	  StringIO#{each_char,chars}.</div><div class='del'>-	  (Init_stringio): Fix StringIO#bytes.</div><div class='del'>-</div><div class='del'>-Tue May 27 17:54:35 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each_byte): Return self instead</div><div class='del'>-	  of nil as the rdoc says.</div><div class='del'>-</div><div class='del'>-Tue May 27 15:36:27 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_int): use PRIxVALUE format specifier.</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint, rb_num2fix, int_chr): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_fdiv): fallback to_f should always return float</div><div class='del'>-	  result.  should not use #quo that may return rational.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_div): should raise ZeroDivisionError.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divide): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (TestNumeric::test_divmod): avoid</div><div class='del'>-	  ZeroDivisionError in tests.</div><div class='del'>-</div><div class='del'>-Tue May 27 13:14:53 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_to_a): Pass arguments through to #each().</div><div class='del'>-	  (enum_sort): Follow the enum_to_a signature change.</div><div class='del'>-	  (enum_reverse_each): Add #reverse_each().</div><div class='del'>-</div><div class='del'>-Tue May 27 13:12:37 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): Define ARGF.{lines,bytes,chars}.</div><div class='del'>-</div><div class='del'>-Tue May 27 12:06:37 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (BUFCHECK): wrong condition. [ruby-core:16921]</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_buf): shouldn't use buflen for length of string.</div><div class='del'>-</div><div class='del'>-Mon May 26 18:24:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (BUFCHECK): no resize if enough room.</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): use BUFCHECK.</div><div class='del'>-</div><div class='del'>-Mon May 26 17:48:42 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (struct enumerator, enumerator_init)</div><div class='del'>-	  (enumerator_init_copy, enumerator_each): Eliminate iter.</div><div class='del'>-	  (enumerator_ptr): Do not hardcode the class name.</div><div class='del'>-	  (enumerator_with_index): Delay variable initialization after</div><div class='del'>-	  RETURN_ENUMERATOR().</div><div class='del'>-</div><div class='del'>-Mon May 26 17:23:49 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): add more space for '/'.</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): should reset address of p after calling</div><div class='del'>-	  rb_str_resize(). [ruby-dev:34800]</div><div class='del'>-</div><div class='del'>-Mon May 26 16:49:55 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode): use run-hooks if run-mode-hook is</div><div class='del'>-	  not available.  a patch from Kazuhiro NISHIYAMA &lt;zn at mbf.nifty.com&gt;</div><div class='del'>-	  in [ruby-dev:34853].</div><div class='del'>-</div><div class='del'>-Mon May 26 16:41:35 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (ntfs_tail): filename which starts with '.' is valid.</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): cygwin symlink support.</div><div class='del'>-</div><div class='del'>-Mon May 26 07:15:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): rb_make_backtrace has no arguments.</div><div class='del'>-</div><div class='del'>-Mon May 26 01:17:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): signal description</div><div class='del'>-	  refined.</div><div class='del'>-</div><div class='del'>-Mon May 26 00:52:52 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_each_key, env_each_value, env_reject_bang)</div><div class='del'>-	  (rb_env_clear, env_replace): Omit duplicated secure level check.</div><div class='del'>-</div><div class='del'>-Mon May 26 00:37:16 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_each_value): Do not call env_values() twice.</div><div class='del'>-</div><div class='del'>-Sun May 25 17:54:36 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile): set local_table for</div><div class='del'>-	  ISEQ_TYPE_DEFINED_GUARD.</div><div class='del'>-</div><div class='del'>-Sun May 25 17:52:25 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_body): remove side effect from</div><div class='del'>-	  VM::InstructionSequence.load.</div><div class='del'>-</div><div class='del'>-Sun May 25 04:30:45 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (remove_json_mixins): change judgment</div><div class='del'>-	  condition.</div><div class='del'>-</div><div class='del'>-Sun May 25 03:54:39 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_ancestors, test_included_modules):</div><div class='del'>-	  ignore json mixins.</div><div class='del'>-</div><div class='del'>-Sun May 25 02:37:25 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.c: renamed from vm_method.c.  "vm_method.c" is included</div><div class='del'>-	  by "vm.c".</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: added.  Some codes are moved from "eval.c"</div><div class='del'>-</div><div class='del'>-	* common.mk: fix for above changes.</div><div class='del'>-</div><div class='del'>-	* compile.c: make a vm_eval(0)</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_error.c, eval_intern.h, eval_jump.c, proc.c, vm.c,</div><div class='del'>-	  id.c, id.h, vm_core.h, vm_dump.c, vm_evalbody.c, vm_insnhelper.c,</div><div class='del'>-	  blockinlining.c: fix for above changes.  and do some refactoring.</div><div class='del'>-	  this changes improve rb_yield() performance.</div><div class='del'>-</div><div class='del'>-Sat May 24 22:32:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): clear errno at the top of our own</div><div class='del'>-	  implementation of strtod(3).  [ruby-dev:34834] [ruby-dev:34839]</div><div class='del'>-</div><div class='del'>-Sat May 24 15:26:16 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_exception_table, NODE_WHILE, NODE_NEXT): remove</div><div class='del'>-	  special handling that decrements sp in CATCH_TYPE_NEXT for NODE_WHILE.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_eval_body), vm_insnhelper.c (vm_throw): remove unused code.</div><div class='del'>-</div><div class='del'>-Sat May 24 08:13:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_transcode): argc is 1, and argv is &amp;to.</div><div class='del'>-</div><div class='del'>-Fri May 23 17:55:11 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): Be consistent with Array#slice()</div><div class='del'>-	  and String#slice!().  Just return nil when a negative length or</div><div class='del'>-	  out of boundary index is given instead of raising an exception</div><div class='del'>-	  via internal functions.</div><div class='del'>-</div><div class='del'>-Fri May 23 16:44:34 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): Override</div><div class='del'>-	  Enumerable::Enumerator#each_with_index with #with_index.</div><div class='del'>-</div><div class='del'>-Fri May 23 12:23:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_num_t): moved form vm.h.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb (RubyVM::Instruction#sp_increase_c_expr),</div><div class='del'>-	  tool/instruction.rb (RubyVM::VmBodyGenerator#make_header_operands):</div><div class='del'>-	  omit unused variables.</div><div class='del'>-</div><div class='del'>-Fri May 23 08:47:02 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): == operator should be transitional.</div><div class='del'>-	  [ruby-dev:34808]</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_eqq): === should be able to handle delegated</div><div class='del'>-	  objects as well.</div><div class='del'>-</div><div class='del'>-Fri May 23 06:15:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): get rid of segv.</div><div class='del'>-</div><div class='del'>-Fri May 23 02:29:14 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_gt|ge|lt|le): use values directly to compare.</div><div class='del'>-</div><div class='del'>-Fri May 23 01:15:09 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, include/ruby/intern.h, include/ruby/ruby.h,</div><div class='del'>-	  vm.c, vm_core.h, vm_insnhelper.c: remove pointless "const".</div><div class='del'>-</div><div class='del'>-Thu May 22 23:45:17 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (get_destination_insn, get_next_insn, get_prev_insn):</div><div class='del'>-	  peephole optimization should not ignore ISEQ_ELEMENT_ADJUST.</div><div class='del'>-</div><div class='del'>-Thu May 22 20:20:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (check_dump_arg, check_load_arg): check if reentered.</div><div class='del'>-	  [ruby-dev:34802]</div><div class='del'>-</div><div class='del'>-Thu May 22 20:14:28 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load, iseq_data_to_ary): support</div><div class='del'>-	  ISEQ_TYPE_DEFINED_GUARD.</div><div class='del'>-</div><div class='del'>-Thu May 22 19:01:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_get_ruby_level_cfp): moved from eval_intern.h.</div><div class='del'>-</div><div class='del'>-	* vm.c (sdr, nsdr): define methods only if VMDEBUG is defined.</div><div class='del'>-</div><div class='del'>-Thu May 22 17:18:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_compact_bang): fix reallocation size.</div><div class='del'>-</div><div class='del'>-Thu May 22 15:20:20 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm_core.h, include/ruby/intern.h, include/ruby/ruby.h,</div><div class='del'>-	  vm.c: need to add const to prototypes, of course.</div><div class='del'>-</div><div class='del'>-Thu May 22 13:24:43 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, vm.c, vm_core.h, vm_insnhelper.c: specify "const".</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: add a OPT_TOKEN_THREADED_CODE macro.</div><div class='del'>-</div><div class='del'>-Thu May 22 12:51:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (newhash): fix a variable definition: "const k".</div><div class='del'>-</div><div class='del'>-Thu May 22 12:40:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): check if reentered.  [ruby-dev:34798]</div><div class='del'>-</div><div class='del'>-Thu May 22 11:39:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): capture stdout and stderr</div><div class='del'>-	  of the child process.</div><div class='del'>-</div><div class='del'>-Thu May 22 08:28:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): free memo hash table before raising exception.</div><div class='del'>-	  [ruby-dev:34789]</div><div class='del'>-</div><div class='del'>-Thu May 22 06:30:10 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): fix memory leak.</div><div class='del'>-</div><div class='del'>-Thu May 22 06:21:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_str_caseeql): added.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_enc_find_index): use nkf_str_caseeql.</div><div class='del'>-</div><div class='del'>-Thu May 22 05:45:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_dup): should copy safe_level from src proc</div><div class='del'>-	  properly.  a patch from Keita Yamaguchi</div><div class='del'>-	  &lt;keita.yamaguchi at gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Thu May 22 02:46:08 2008  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: do not use Thread#raise. [ruby-dev:34739]</div><div class='del'>-</div><div class='del'>-Thu May 22 00:30:06 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: new tests for library requiring, to</div><div class='del'>-	  achieve over 90% test coverage of dln.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of class.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu May 22 00:15:44 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm_insnhelper.c: specify "const".</div><div class='del'>-</div><div class='del'>-Wed May 21 23:20:21 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_eval.rb: fix syntax.</div><div class='del'>-</div><div class='del'>-Wed May 21 17:46:17 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_enc_find_index):</div><div class='del'>-	  use strcasecmp. [ruby-dev:34787]</div><div class='del'>-</div><div class='del'>-Wed May 21 16:48:22 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_compact_bang): avoid forceful realloc.</div><div class='del'>-</div><div class='del'>-Wed May 21 07:42:28 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_usascii_str_new): use rb_str_new.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_new): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_usascii_str_new2): use rb_str_new2.</div><div class='del'>-</div><div class='del'>-Wed May 21 07:22:01 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c, include/ruby/encoding.h</div><div class='del'>-	  (rb_enc_associate, rb_enc_associate_index):</div><div class='del'>-	  returns obj. [ruby-dev:34778]</div><div class='del'>-</div><div class='del'>-Wed May 21 04:20:20 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_ascii8bit_encoding): use ENCINDEX_ASCII.</div><div class='del'>-</div><div class='del'>-	* encoding.c, include/ruby/encoding.h (rb_ascii8bit_encindex):</div><div class='del'>-	  added.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encoding): use rb_usascii_encoding().</div><div class='del'>-</div><div class='del'>-Wed May 21 01:45:58 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb (setup): workaround for Windows</div><div class='del'>-	  Vista.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (rubyexec): now Open3.open3 is supported on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: use ``||'' instead of ``;'' because</div><div class='del'>-	  cmd.exe not support it.</div><div class='del'>-</div><div class='del'>-Wed May 21 01:28:47 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c, include/ruby/encoding.h (rb_str_transcode):</div><div class='del'>-	  C API of encoding conversion for Ruby object.</div><div class='del'>-	  VALUE rb_str_transcode(VALUE str, VALUE to).</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode, str_encode_bang):</div><div class='del'>-	  rename from rb_tr_transcode or rb_str_transcode_bang.</div><div class='del'>-</div><div class='del'>-Tue May 20 23:26:05 2008  Yusuke Endoh	&lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: fix tests for 64bit CPU.</div><div class='del'>-</div><div class='del'>-Tue May 20 20:59:56 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (rb_nkf_convert) (nkf_enc_without_bom):</div><div class='del'>-	  reverted. nkf-utf8/nkf.c should be independent of ruby.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (options):</div><div class='del'>-	  moved from nkf-utf8/nkf.c.</div><div class='del'>-	  override nkf's original settings for Unicode BOM.</div><div class='del'>-</div><div class='del'>-Tue May 20 13:20:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert), ext/nkf/nkf-utf8/nkf.c</div><div class='del'>-	  (nkf_enc_without_bom): BOM is not a part of encodings.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (Init_nkf), ext/nkf/nkf-utf8/nkf.c (options):</div><div class='del'>-	  UTF-{16,32} without endian have no sense.</div><div class='del'>-</div><div class='del'>-Tue May 20 12:13:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options, process_options): --dump option.</div><div class='del'>-</div><div class='del'>-Tue May 20 11:36:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI[diouxX]VALUE): printf format for VALUE.</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot): suppress a warning.</div><div class='del'>-</div><div class='del'>-Tue May 20 03:42:43 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, vm_insnhelper.c: fix cref in instance_eval</div><div class='del'>-	  and cvar_base search protocol.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_eval.rb: move solved test</div><div class='del'>-	  and add new tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: fix tests for spec.</div><div class='del'>-</div><div class='del'>-Tue May 20 01:43:44 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: fix a test.</div><div class='del'>-	  "block_given?" returns true if "yield" can be used.</div><div class='del'>-</div><div class='del'>-Tue May 20 01:07:19 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen): when "self = 1" was evaluated, unnecessary</div><div class='del'>-	  error message was output, which might cause null pointer access.</div><div class='del'>-</div><div class='del'>-Tue May 20 08:38:56 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen_cr): need to set ENC_CODERANGE_7BIT if</div><div class='del'>-	  search_nonascii() fails.    [ruby-dev:34751]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse): preserve coderange info if the</div><div class='del'>-	  receiver is 7bit string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse_bang): should have called</div><div class='del'>-	  single_byte_optimizable before rb_str_modify() that clears</div><div class='del'>-	  coderange info.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): handle single bytes more eagerly.</div><div class='del'>-</div><div class='del'>-Mon May 19 23:32:12 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): fix call flow.</div><div class='del'>-</div><div class='del'>-Mon May 19 23:19:35 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (slow_search): check the case when the length is 1.</div><div class='del'>-	  The behavior of memcmp is undefined if the third argument is 0.</div><div class='del'>-</div><div class='del'>-Mon May 19 21:07:48 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_apply_priority):</div><div class='del'>-	  fix argument range check.  [ruby-dev:33124]</div><div class='del'>-</div><div class='del'>-Mon May 19 18:22:35 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.c (ossl_pkcs5_pbkdf2_hmac): Fix the type</div><div class='del'>-	  of md; pointed out by Takahiro Kambe &lt;taca at back-street.net&gt;</div><div class='del'>-	  in [ruby-dev:34748].</div><div class='del'>-</div><div class='del'>-Mon May 19 17:23:55 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (PINC): use optimized enclen() instead of</div><div class='del'>-	  ONIGENC_MBC_ENC_LEN().</div><div class='del'>-</div><div class='del'>-	* regparse.c (PFETCH): ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.c (PFETCH): small optimization.</div><div class='del'>-</div><div class='del'>-	* regexec.c (slow_search): single byte encoding optimization.</div><div class='del'>-</div><div class='del'>-	* regenc.h (enclen): avoid calling function when encoding's</div><div class='del'>-	  min_len == max_len.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): rb_enc_ascget() optimization for single</div><div class='del'>-	  byte encoding.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): avoid allocating new re_registers if we</div><div class='del'>-	  already have MatchData.</div><div class='del'>-</div><div class='del'>-	* re.c (match_init_copy): avoid unnecessary onig_region_free()</div><div class='del'>-	  before onig_region_copy.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_get_index): remove implicit enc_capable check</div><div class='del'>-	  each time.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_index): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_compatible_p): small refactoring.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_dummy_p): inline</div><div class='del'>-	  rb_enc_dummy_p() and export related code.</div><div class='del'>-</div><div class='del'>-Mon May 19 14:32:03 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: fix strange change by version.h update tool.</div><div class='del'>-</div><div class='del'>-Mon May 19 14:18:13 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move solved tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb,</div><div class='del'>-	  test_thread.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb,</div><div class='del'>-	  test_string.rb, test/ruby/test_struct.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon May 19 13:23:03 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): set last_status when status == -1</div><div class='del'>-	  because there is no path to set it on win32. this patch is derived</div><div class='del'>-	  from [ruby-core:16787], submitted by Luis Lavena &lt;luislavena at</div><div class='del'>-	  gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Mon May 19 11:32:47 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def, eval.c, vm_insnhelper.c: fix CREF handling.</div><div class='del'>-	  VM value stack frame of block contains cref information.</div><div class='del'>-	 (dfp[-1] points CREF)</div><div class='del'>-</div><div class='del'>-	* compile.c, eval_intern.h, eval_method.c, load.c, proc.c,</div><div class='del'>-	  vm_dump.h, vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, gc.c: remove T_VALUES because of above</div><div class='del'>-	  changes.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_eval.rb, test_knownbug.rb: move solved test.</div><div class='del'>-</div><div class='del'>-Sun May 18 22:26:51 2008  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb: should normalize path</div><div class='del'>-	  name in path_info to prevent script disclosure vulnerability on</div><div class='del'>-	  DOSISH filesystems. (fix: CVE-2008-1891)</div><div class='del'>-	  Note: NTFS/FAT filesystem should not be published by the platforms</div><div class='del'>-	  other than Windows. Pathname interpretation (including short</div><div class='del'>-	  filename) is less than perfect.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/abstract.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::AbstractServlet#redirect_to_directory_uri):</div><div class='del'>-	  should escape the value of Location: header.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgi_runner.rb: accept interpreter</div><div class='del'>-	  command line arguments.</div><div class='del'>-</div><div class='del'>-Sun May 18 02:54:46 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): check errno to detect error of ruby_strtoul.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat May 17 23:53:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): fix for short file name on Cygwin.</div><div class='del'>-</div><div class='del'>-Sat May 17 18:03:52 2008  Yuki Sonoda (Yugui) &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): removed the definition of Thread#initialize,</div><div class='del'>-	  which is overwritten in Init_Thread and is never used.</div><div class='del'>-</div><div class='del'>-Sat May 17 14:01:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): should not free shared pointer, and set</div><div class='del'>-	  shared.  [ruby-dev:34732]</div><div class='del'>-</div><div class='del'>-Sat May 17 12:34:54 2008  Yuki Sonoda (Yugui) &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (Init_native_thread): Kernel#.sleep used never to</div><div class='del'>-	  sleep on Mac OS X. Reported by arton &lt;artonx AT yahoo.co.jp&gt;.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): added error checks.</div><div class='del'>-</div><div class='del'>-Sat May 17 11:29:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): first dot is not an extension name.</div><div class='del'>-</div><div class='del'>-Sat May 17 03:21:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): stop memory leak.  [ruby-dev:34726]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): need to free allocated buffer in re_register.</div><div class='del'>-</div><div class='del'>-	* regexec.c (onig_region_new): more pedantic malloc check.</div><div class='del'>-</div><div class='del'>-	* regexec.c (onig_region_resize): ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c (STATE_CHECK_BUFF_INIT): ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c (onig_region_copy): use onig_region_resize.</div><div class='del'>-</div><div class='del'>-Fri May 16 12:48:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (to_flo): rb_Float() accepts even strings for input.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_f): fix wrong message.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_r): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Float): do not check NaN for error.  NaN is a part</div><div class='del'>-	  of valid float values.</div><div class='del'>-</div><div class='del'>-Thu May 15 23:36:09 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: add tests to achieve over 90% test</div><div class='del'>-	  coverage of string.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu May 15 23:01:06 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): String#delete returned wrong result when multiple</div><div class='del'>-	  utf-8 arguments are passed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_delete): add a test for above.</div><div class='del'>-</div><div class='del'>-Thu May 15 22:37:56 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_warningS): now used.</div><div class='del'>-</div><div class='del'>-Thu May 15 15:33:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): support for alternative data stream</div><div class='del'>-	  and ignored trailing garbage of NTFS.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 15 13:43:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): no need for forceful warning when</div><div class='del'>-	  converting to float.  overflow is a nature of float values.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 15 13:23:20 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_enc): error condition was updated for non</div><div class='del'>-	  ASCII compatible strings.</div><div class='del'>-</div><div class='del'>-Thu May 15 12:19:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.c (HMAC_CTX_copy): adopted</div><div class='del'>-	  prototype change in openssl bundled with newer OpenBSD.</div><div class='del'>-	  a patch from Takahiro Kambe &lt;taca at back-street.net&gt; in</div><div class='del'>-	  [ruby-dev:34691].</div><div class='del'>-</div><div class='del'>-Wed May 14 22:09:25 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix typo.</div><div class='del'>-</div><div class='del'>-Wed May 14 21:49:14 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: new tests to achieve over 90% test</div><div class='del'>-	  coverage of object.c, eval.c and eval_method.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_trace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_variable.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed May 14 12:46:37 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern): remove Qundef related code.</div><div class='del'>-</div><div class='del'>-Wed May 14 12:42:36 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_count): Override Enumerable#count for better</div><div class='del'>-	  performance.</div><div class='del'>-</div><div class='del'>-Wed May 14 11:29:06 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: add a "putcbase" instruction.</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def: fix to use putcbase instruction for</div><div class='del'>-	  class search.  Qundef should not be used.</div><div class='del'>-</div><div class='del'>-Wed May 14 07:49:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): defer calling of rb_frame_self() until it</div><div class='del'>-	  become really necessary.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): ditto.</div><div class='del'>-</div><div class='del'>-Wed May 14 00:55:56 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb: remove a duplicative method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_utf16.rb: rename a conflicting method name.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed May 14 00:45:58 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.c (rb_add_method): fix check for warning when</div><div class='del'>-	  Object#initialize is redefined. (same as 1.8)</div><div class='del'>-</div><div class='del'>-Tue May 13 23:32:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_yield): use rb_yield_values2.</div><div class='del'>-</div><div class='del'>-	* enum.c (DEFINE_ENUMFUNCS): macro to define enumerator and yielding</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_all_func, enum_any_func, enum_one_func,</div><div class='del'>-	  enum_none_func): reduced duplicate code.</div><div class='del'>-</div><div class='del'>-Tue May 13 15:09:38 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Update rdoc.</div><div class='del'>-	  (enumerator_initialize): Discourage the use.</div><div class='del'>-	  (enum_each_slice, enum_each_cons, enumerator_each)</div><div class='del'>-	  (enumerator_with_index): Add a note about a call without a block.</div><div class='del'>-</div><div class='del'>-Tue May 13 08:25:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_gets): re-enable rdoc.</div><div class='del'>-	  (rb_f_readline): ditto.</div><div class='del'>-	  (rb_f_readlines): ditto.</div><div class='del'>-</div><div class='del'>-Tue May 13 07:56:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cat): fixed buffer overrun reported by</div><div class='del'>-	  Christopher Thompson &lt;cthompson at nexopia.com&gt; in [ruby-core:16746]</div><div class='del'>-</div><div class='del'>-Mon May 12 23:37:57 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (collect_local_variables_in_env): remove unnecessary check</div><div class='del'>-	  which causes: x=1;proc{local_variables}.call #=&gt; []</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_variable.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon May 12 23:05:24 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c, include/ruby/intern.h (rb_run_exec_options): externed.</div><div class='del'>-</div><div class='del'>-	* process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2,</div><div class='del'>-	  run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options):</div><div class='del'>-	  save parent's process environments.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): remove calling run_exec_options()</div><div class='del'>-	  because cannot restore after spawn.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_execopts_env): upcase environment</div><div class='del'>-	  variable name for case insensitive platforms.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): set USER environment variable only when</div><div class='del'>-	  USERNAME is available.</div><div class='del'>-</div><div class='del'>-Mon May 12 22:23:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (once): use Object#object_id instead of Symbol#to_i.</div><div class='del'>-</div><div class='del'>-Mon May 12 21:34:46 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (rubybin): return expanded rubyexe instead of</div><div class='del'>-	  expanded ruby if available.</div><div class='del'>-</div><div class='del'>-Mon May 12 20:19:55 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (grep_i): Be aware of multiple values;</div><div class='del'>-	  fix [ruby-dev:34653].</div><div class='del'>-	  (grep_iter_i): Ditto.</div><div class='del'>-	  (count_i): Ditto.</div><div class='del'>-	  (find_i): Ditto.</div><div class='del'>-	  (find_index_i): Ditto.</div><div class='del'>-	  (find_all_i): Ditto.</div><div class='del'>-	  (reject_i): Ditto.</div><div class='del'>-	  (inject_i): Ditto.</div><div class='del'>-	  (inject_op_i): Ditto.</div><div class='del'>-	  (partition_i): Ditto.</div><div class='del'>-	  (group_by_i): Ditto.</div><div class='del'>-	  (first_i): Ditto.</div><div class='del'>-	  (sort_by_i): Ditto.</div><div class='del'>-	  (all_i): Ditto.</div><div class='del'>-	  (all_iter_i): Ditto.</div><div class='del'>-	  (any_i): Ditto.</div><div class='del'>-	  (any_iter_i): Ditto.</div><div class='del'>-	  (one_i): Ditto.</div><div class='del'>-	  (one_iter_i): Ditto.</div><div class='del'>-	  (none_i): Ditto.</div><div class='del'>-	  (none_iter_i): Ditto.</div><div class='del'>-	  (min_i): Ditto.</div><div class='del'>-	  (min_ii): Ditto.</div><div class='del'>-	  (max_i): Ditto.</div><div class='del'>-	  (max_ii): Ditto.</div><div class='del'>-	  (minmax_i): Ditto.</div><div class='del'>-	  (minmax_ii): Ditto.</div><div class='del'>-	  (min_by_i): Ditto.</div><div class='del'>-	  (max_by_i): Ditto.</div><div class='del'>-	  (minmax_by_i): Ditto.</div><div class='del'>-	  (member_i): Ditto.</div><div class='del'>-	  (take_i): Ditto.</div><div class='del'>-	  (take_while_i): Ditto.</div><div class='del'>-	  (drop_i): Ditto.</div><div class='del'>-	  (drop_while_i): Ditto.</div><div class='del'>-	  (cycle_i): Ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (each_with_index): Update rdoc.  each_with_index() takes</div><div class='del'>-	  arguments that are passed through to each(), and a hash preserves</div><div class='del'>-	  key order.</div><div class='del'>-</div><div class='del'>-Mon May 12 19:05:24 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): remove calling run_exec_options()</div><div class='del'>-	  because cannot restore after spawn. we'll fix this later.</div><div class='del'>-</div><div class='del'>-Mon May 12 18:16:44 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): need to call run_exec_options() before</div><div class='del'>-	  spawn if the platform doesn't have fork. [ruby-dev:34647]</div><div class='del'>-</div><div class='del'>-Mon May 12 15:20:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_vm_xmalloc): increase malloc_increase only if malloc</div><div class='del'>-	  succeeds.  failed malloc size can be huge.  it may increase</div><div class='del'>-	  malloc_limit too big which cause less GC and memory full.</div><div class='del'>-	  (ruby_vm_xrealloc): ditto.</div><div class='del'>-	  (rb_objspace): make params.limit and params.increase size_t.</div><div class='del'>-</div><div class='del'>-Mon May 12 15:04:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): made non static with small refactoring.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_do_scan): should adjust encoding</div><div class='del'>-	  before regex searching.</div><div class='del'>-</div><div class='del'>-Mon May 12 13:57:19 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): add NODE_OP_ASGN_{OR,AND}.  "defined?(a||=1)"</div><div class='del'>-	  should not operate assignment.  [ruby-dev:34645]</div><div class='del'>-</div><div class='del'>-Mon May 12 13:29:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigzero_p): check from MSB to LSB.  [ruby-dev:34649]</div><div class='del'>-</div><div class='del'>-Mon May 12 12:32:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RUBYOPT): affected BASERUBY too.  [ruby-talk:301514]</div><div class='del'>-</div><div class='del'>-Mon May 12 12:27:55 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot): fix condition for number of objects in</div><div class='del'>-	  a heap.</div><div class='del'>-</div><div class='del'>-Mon May 12 12:24:48 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_i): really removed.  [ruby-dev:34641]</div><div class='del'>-</div><div class='del'>-Mon May 12 11:15:55 2008  Yuki Sonoda (Yugui) &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot):  put the binary search routine in order.</div><div class='del'>-</div><div class='del'>-Mon May 12 10:52:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_gems), gem_prelude.rb: check if Gem is defined</div><div class='del'>-	  instead of Gem::Enable.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb (load_full_rubygems_library, const_missing): prevent</div><div class='del'>-	  infinite recursion.  [ruby-dev:34539]</div><div class='del'>-</div><div class='del'>-Sun May 11 23:19:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (all_iter_i, any_iter_i): reduced duplicated code.</div><div class='del'>-</div><div class='del'>-Sun May 11 22:54:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (main): leave -I options for purelib.rb</div><div class='del'>-	  untouched.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (main): handle relative path -r options.</div><div class='del'>-</div><div class='del'>-Sun May 11 19:04:06 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: kill and join temporal threads that are</div><div class='del'>-	  created in each test.</div><div class='del'>-</div><div class='del'>-Sun May 11 17:58:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#with_stdin): defined.</div><div class='del'>-	  (TestProcess#test_argv0_noarg): don't use redirect_fds.</div><div class='del'>-	  [ruby-dev:34647]</div><div class='del'>-</div><div class='del'>-Sun May 11 17:57:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIRUBY): should not include extension library path.</div><div class='del'>-</div><div class='del'>-Sun May 11 14:40:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (SIZET2NUM): new macro.</div><div class='del'>-	  (NUM2SIZET): new macro.</div><div class='del'>-</div><div class='del'>-	* gc.c (struct rb_objspace): use size_t for increment, length and</div><div class='del'>-	  used for 64bit.</div><div class='del'>-	  (allocate_heaps): ditto.</div><div class='del'>-	  (assign_heap_slot): ditto.</div><div class='del'>-	  (set_heaps_increment): ditto.</div><div class='del'>-	  (gc_mark_all): ditto.</div><div class='del'>-	  (is_pointer_to_heap): ditto.</div><div class='del'>-	  (free_unused_heaps): ditto.</div><div class='del'>-	  (gc_sweep): ditto.</div><div class='del'>-	  (os_obj_of): ditto.</div><div class='del'>-	  (rb_gc_call_finalizer_at_exit): ditto.</div><div class='del'>-	  (count_objects): ditto.</div><div class='del'>-</div><div class='del'>-Sun May 11 13:14:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func_before_exec): extracted from</div><div class='del'>-	  thread_cleanup_func not to touch pthread data.</div><div class='del'>-	  pthread_cond_destroy in forked process may cause deadlock on</div><div class='del'>-	  Debian GNU/Linux Etch on x86, x86-64 and IA64.</div><div class='del'>-	  this doesn't cause resource leak because the process will exec soon.</div><div class='del'>-	  (terminate_atfork_before_exec_i): defined.</div><div class='del'>-	  (rb_thread_atfork_before_exec): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_thread_atfork_before_exec): declared.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_atfork): call rb_thread_atfork_before_exec</div><div class='del'>-	  instead of rb_thread_atfork.</div><div class='del'>-</div><div class='del'>-	* io.c (popen_exec): call rb_thread_atfork_before_exec instead of</div><div class='del'>-	  rb_thread_atfork.</div><div class='del'>-</div><div class='del'>-Sat May 10 22:14:03 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): single '^' does not mean negation.</div><div class='del'>-	  [ruby-dev:34632]</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should check src size, not str size.</div><div class='del'>-	  [ruby-dev:34637]</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should not turn on modify flag if no</div><div class='del'>-	  modification happens.  [ruby-dev:34631]</div><div class='del'>-</div><div class='del'>-Sat May 10 18:11:18 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): zero length record separator should</div><div class='del'>-	  split a string into paragraphs.  [ruby-dev:34586]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): RDoc updated.</div><div class='del'>-</div><div class='del'>-Sat May 10 11:36:20 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (env_mark): mark env-&gt;block.self.  prevent SEGV when GC occur</div><div class='del'>-	  in prepare_iseq_build with gcc version 3.4.6 [FreeBSD] 20060305 on</div><div class='del'>-	  FreeBSD/amd64.</div><div class='del'>-</div><div class='del'>-Fri May  9 19:16:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (timeofday): use monotonic clock.  based on a patch</div><div class='del'>-	  from zimbatm &lt;zimbatm at oree.ch&gt; in [ruby-core:16627].</div><div class='del'>-</div><div class='del'>-Fri May  9 07:47:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_0): dynamic stack direction code should be</div><div class='del'>-	  consistent with static one.  [ruby-talk:301152]</div><div class='del'>-</div><div class='del'>-Fri May  9 00:03:50 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): operator assignment "a += b rescue c" should be</div><div class='del'>-	  parsed as "a += (b rescue c)" just like normal assignment.</div><div class='del'>-	  [ruby-talk:301000]</div><div class='del'>-</div><div class='del'>-Thu May  8 18:14:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): bit-wise operation should not take float</div><div class='del'>-	  values.  [ruby-dev:34612]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_or): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_xor): ditto.</div><div class='del'>-</div><div class='del'>-Thu May  8 17:44:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, ext/extmk.rb, lib/mkmf.rb: use absolute path for RUBYOPT.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext): guard load_path from GC.</div><div class='del'>-	  gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) optimizes</div><div class='del'>-	  load_path by holding only RARRAY_LEN(load_path) and</div><div class='del'>-	  RARRAY_PTR(load_path) in registers on IA64 GNU/Linux Etch.</div><div class='del'>-</div><div class='del'>-Thu May  8 16:41:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIRUBY), common.mk (RUBYOPT): add purelib.rb.</div><div class='del'>-	  [ruby-core:16642]</div><div class='del'>-</div><div class='del'>-Thu May  8 16:00:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ! and ? at the bottom are no longer part</div><div class='del'>-	  of valid symbol names.  [ruby-dev:34590]</div><div class='del'>-</div><div class='del'>-Thu May  8 15:36:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_gc_save_machine_context): call FLUSH_REGISTER_WINDOWS</div><div class='del'>-	  to mark the register stack from GC on another thread.</div><div class='del'>-</div><div class='del'>-Thu May  8 15:14:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): freeze temporary array.</div><div class='del'>-</div><div class='del'>-Thu May  8 13:19:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): mark stat_insn_usage only when ptr is not</div><div class='del'>-	  null.</div><div class='del'>-</div><div class='del'>-Thu May  8 10:44:04 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (sort_reentered): reentered check may be called from</div><div class='del'>-	  Array#sort.</div><div class='del'>-</div><div class='del'>-Thu May  8 09:51:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (sort_1, sort_2): check for reentered and if elements are</div><div class='del'>-	  accessible.  [ruby-core:16679]</div><div class='del'>-</div><div class='del'>-Thu May  8 06:43:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_exe_r, dln_find_file_r): reentrant versions.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file), process.c (proc_exec_v),</div><div class='del'>-	  (rb_proc_exec, proc_spawn_v, proc_spawn), ruby.c (process_options):</div><div class='del'>-	  use reentrant versions.</div><div class='del'>-</div><div class='del'>-Thu May  8 06:27:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_key_p): thread local storage stores ID.</div><div class='del'>-</div><div class='del'>-Thu May  8 01:10:03 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should squeeze properly.  [ruby-dev:34587]</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): had a bug in treating multi-byte character</div><div class='del'>-	  replacement.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_delete_bang): need not to do anything for empty</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_delete): add</div><div class='del'>-	  test for empty receiver.</div><div class='del'>-</div><div class='del'>-Wed May  7 20:19:18 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options, ruby_set_argv): set encoding of rb_argv</div><div class='del'>-	  after Init_prelude() because cannot load encoding extensions before</div><div class='del'>-	  it.</div><div class='del'>-</div><div class='del'>-Wed May  7 20:00:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (bit_coerce): float should not be a valid operand of</div><div class='del'>-	  bitwise operations.  [ruby-dev:34583]</div><div class='del'>-</div><div class='del'>-Wed May  7 19:35:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_key_p): should always convert symbol to ID.</div><div class='del'>-	  [ruby-dev:34588]</div><div class='del'>-</div><div class='del'>-Wed May  7 19:30:34 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divide): float division should floor() before</div><div class='del'>-	  rounding into integer.  [ruby-dev:34584]</div><div class='del'>-</div><div class='del'>-Wed May  7 18:02:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_i): remove obsolete method.  preparation for</div><div class='del'>-	  symbol GC.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_to_sym): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_id2name): ditto.</div><div class='del'>-</div><div class='del'>-Wed May  7 17:43:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_puts_ary): check recursion first.  [ruby-dev:34580]</div><div class='del'>-</div><div class='del'>-Wed May  7 17:41:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_eval_body): initialize retval.  [ruby-dev:34576]</div><div class='del'>-</div><div class='del'>-Wed May  7 13:02:56 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_fdiv): flo.fdiv(NaN) should result NaN.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_quo): renamed and moved from bignum.c.</div><div class='del'>-	  [ruby-dev:34582]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_fdiv): update RDoc description</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_new_m): small refactoring.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2dbl): no need for forceful warning when</div><div class='del'>-	  converting to float.  overflow is a nature of float values.</div><div class='del'>-</div><div class='del'>-Wed May  7 00:54:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzreader_gets): may cause infinite loop.</div><div class='del'>-	  a patch from Kouya &lt;kouyataifu4 at gmail.com&gt; in</div><div class='del'>-	  [ruby-reference-manual:762].</div><div class='del'>-</div><div class='del'>-Tue May  6 02:08:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb: don't set Thread.abort_on_exception.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: ensure disconnecting imap to terminate</div><div class='del'>-	  receiver thread.</div><div class='del'>-</div><div class='del'>-Tue May  6 00:29:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern): should handle Qundef embedded in</div><div class='del'>-	  operand.  [ruby-core:16656]</div><div class='del'>-</div><div class='del'>-Tue May  6 00:00:02 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): should call compile_cpath() for</div><div class='del'>-	  modules as well.  [ruby-dev:34585]</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): add undef handling.</div><div class='del'>-</div><div class='del'>-Mon May  5 23:49:40 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): was using wrong variable.  [ruby-dev:34592]</div><div class='del'>-</div><div class='del'>-Mon May  5 20:07:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): IO#flush problem within threads.  a patch from</div><div class='del'>-	  &lt;s.wanabe at gmail.com&gt; in [ruby-dev:34595].</div><div class='del'>-</div><div class='del'>-Mon May  5 19:58:44 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): protect some expression from</div><div class='del'>-	  segmentation fault.  a patch from wanabe &lt;s.wanabe at gmail.com&gt;</div><div class='del'>-	  in [ruby-dev:34593].</div><div class='del'>-</div><div class='del'>-Mon May  5 19:49:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_def): Struct.new(0) should not SEGV.</div><div class='del'>-	  based on the patch from wanabe &lt;s.wanabe at gmail.com&gt; in</div><div class='del'>-	  [ruby-dev:34594].</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): call to_str on name object.</div><div class='del'>-</div><div class='del'>-Mon May  5 17:17:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): wrap ruby_finalize_0 by SAVE_ROOT_JMPBUF to</div><div class='del'>-	  avoid SEGV by at_exit { Fiber.new{}.resume } on IA64.</div><div class='del'>-</div><div class='del'>-Mon May  5 12:12:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): should adjust length before making</div><div class='del'>-	  sub-array.</div><div class='del'>-</div><div class='del'>-Mon May  5 11:36:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dup): should dupe corresponding information.</div><div class='del'>-	  [ruby-dev:34581]</div><div class='del'>-</div><div class='del'>-Mon May  5 11:13:50 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_cpath): use Qundef to denote cbase lookup.</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): Qundef is passed for cbase.</div><div class='del'>-</div><div class='del'>-	* insns.def (setconstant): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_check_if_namespace): use rb_inspect()</div><div class='del'>-	  instead of rb_obj_as_string() for better description.</div><div class='del'>-</div><div class='del'>-Mon May  5 02:10:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (set_heaps_increment): fix memory allocation strategy by</div><div class='del'>-	  determining heaps_inc from heaps_used, not objects_delta.</div><div class='del'>-	  (struct rb_objspace): delta removed.  change increment, length and</div><div class='del'>-	  used to long for LP64.</div><div class='del'>-	  (objects_delta): removed.</div><div class='del'>-	  (allocate_heaps): add next_heaps_length argument.</div><div class='del'>-	  (init_heap): renamed from add_heap.</div><div class='del'>-	  (garbage_collect): use heaps_increment in dont_gc.</div><div class='del'>-</div><div class='del'>-Sun May  4 21:09:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb: use $stderr instead of $deferr.</div><div class='del'>-</div><div class='del'>-Sun May  4 16:04:28 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (obj2nsec): fix string argument.</div><div class='del'>-</div><div class='del'>-Sun May  4 14:29:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_respond_to): check the result of respond_to? method</div><div class='del'>-	  by RTEST.</div><div class='del'>-</div><div class='del'>-Sun May  4 12:57:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): return original string.</div><div class='del'>-</div><div class='del'>-Sat May  3 20:57:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_normal_exit):</div><div class='del'>-	  new method.</div><div class='del'>-</div><div class='del'>-Sat May  3 18:10:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): raise TypeError for nil and other objects</div><div class='del'>-	  which has no divmod method.</div><div class='del'>-</div><div class='del'>-Fri May  2 23:59:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (internal_read_func, internal_write_func): split from</div><div class='del'>-	  internal_io_func.</div><div class='del'>-</div><div class='del'>-Fri May  2 23:55:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_define_hooked_variable): guard *var from GC to</div><div class='del'>-	  prevent collecting argf under RUBY_DEBUG=gc_stress.</div><div class='del'>-</div><div class='del'>-Fri May  2 17:29:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): call to_int if step is not a numeric</div><div class='del'>-	  value.  [ruby-dev:34575]</div><div class='del'>-</div><div class='del'>-Fri May  2 16:10:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): do not forcefully convert steps into</div><div class='del'>-	  integers.  [ruby-dev:34571]</div><div class='del'>-</div><div class='del'>-Fri May  2 14:52:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: move fontifying code from hook.  a patch from</div><div class='del'>-	  Phil Hagelberg &lt;phil at hagelb.org&gt; in [ruby-core:16636].</div><div class='del'>-</div><div class='del'>-Fri May  2 14:10:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): step may be bignum.</div><div class='del'>-</div><div class='del'>-Fri May  2 13:52:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): remove MatchData#select.  [ruby-dev:34563]</div><div class='del'>-</div><div class='del'>-Thu May  1 23:59:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divide), numeric.c (fix_divide): check for result</div><div class='del'>-	  domain.  [ruby-dev:34559]</div><div class='del'>-</div><div class='del'>-Thu May  1 23:57:06 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb:  This patch from Brian Candler adds a FailEOF mode which</div><div class='del'>-	  can be activated to have net/telnet raise EOFError exceptions when the</div><div class='del'>-	  remote connection is closed.  The default behavior remains unchanged though.</div><div class='del'>-</div><div class='del'>-Thu May  1 23:43:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): check if step can be converted to an integer.</div><div class='del'>-	  [ruby-dev:34558]</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): allow float step bigger than zero but less</div><div class='del'>-	  than one.  [ruby-dev:34557]</div><div class='del'>-</div><div class='del'>-Thu May  1 23:20:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divide): return an integer for idiv.</div><div class='del'>-	  [ruby-dev:34553]</div><div class='del'>-</div><div class='del'>-Thu May  1 20:47:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): should access converted hash value.</div><div class='del'>-	  [ruby-dev:34555]</div><div class='del'>-</div><div class='del'>-Thu May  1 20:31:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_parse.rb (TestParse::test_void_expr_stmts_value):</div><div class='del'>-	  shut up warning.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_to_f): no need for forceful warning when</div><div class='del'>-	  converting to float.  overflow is a nature of float values.</div><div class='del'>-</div><div class='del'>-Thu May  1 16:10:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_delete_if): return enumerator if no block given.</div><div class='del'>-	  [ruby-dev:34554]</div><div class='del'>-</div><div class='del'>-Wed Apr 30 21:36:40 2008  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (url_encode): [ruby-dev:34497] ERB::Util#url_encode</div><div class='del'>-	  bug fix. Reported by rubikitch.</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Apr 30 20:11:36 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb: Fixing a bug where line endings would not be properly</div><div class='del'>-	  escaped when the two character ending was broken up into separate TCP</div><div class='del'>-	  packets.  Issue reported and patched by Brian Candler.</div><div class='del'>-</div><div class='del'>-Wed Apr 30 18:03:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_path), vm_core.h (rb_vm_t): moved to VM.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_load_path): returns absolute load path.</div><div class='del'>-</div><div class='del'>-	* load.c (load_path_getter): $LOAD_PATH getter.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext, rb_find_file), ruby.c (push_include,</div><div class='del'>-	  ruby_init_loadpath): use the accessor.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): mark load_path.</div><div class='del'>-</div><div class='del'>-Wed Apr 30 17:47:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): use local variable.  a patch from wanabe</div><div class='del'>-	  &lt;s.wanabe AT gmail.com&gt; in [ruby-dev:34537].  [ruby-dev:34492]</div><div class='del'>-</div><div class='del'>-Wed Apr 30 16:10:18 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: specify the values of the enumeration constants</div><div class='del'>-	  explicitly.  [ruby-dev:34489]</div><div class='del'>-</div><div class='del'>-Wed Apr 30 12:32:39 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect_fd): prohibit duplex IO.</div><div class='del'>-	  (check_exec_fds): record maxhint even if close_others is not</div><div class='del'>-	  specified.</div><div class='del'>-	  (rb_exec_arg_fixup): renamed from rb_exec_arg_fix.</div><div class='del'>-</div><div class='del'>-Mon Apr 28 20:24:27 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_marshal_load): checks the given</div><div class='del'>-	  denominator. [ruby-dev:34536]</div><div class='del'>-</div><div class='del'>-Mon Apr 28 14:21:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (POSFIXABLE): use FIXNUM_MAX+1 instead of</div><div class='del'>-	  FIXNUM_MAX to make it possible to convert to double accurately on</div><div class='del'>-	  environments with 64bit VALUE and 64bit double.</div><div class='del'>-	  It assumes FLT_RADIX is 2.</div><div class='del'>-	  fix RubyForge bug #14102.</div><div class='del'>-</div><div class='del'>-Mon Apr 28 12:48:57 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_addopt, rb_exec_arg_addopt): now can specify</div><div class='del'>-	  close_exec on having no fork environment (but still meaningless).</div><div class='del'>-</div><div class='del'>-Mon Apr 28 11:11:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_options): don't call FIX2INT for nil.</div><div class='del'>-</div><div class='del'>-Mon Apr 28 11:11:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_name): should return symbols instead of strings.</div><div class='del'>-	  [ruby-dev:34531]</div><div class='del'>-</div><div class='del'>-Mon Apr 28 09:02:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exec_arg_init): declared.</div><div class='del'>-	  (rb_exec_arg_addopt): declared.</div><div class='del'>-	  (rb_exec_arg_fix): declared.</div><div class='del'>-	  (rb_exec_initarg): removed.</div><div class='del'>-	  (rb_exec_getargs): removed.</div><div class='del'>-	  (rb_exec_initarg2): removed.</div><div class='del'>-</div><div class='del'>-	* io.c (struct popen_arg): make execarg as a pointer.</div><div class='del'>-	  (popen_exec): follow popen_arg change.</div><div class='del'>-	  (pipe_open): add eargp argument.  extract argc and argv from eargp.</div><div class='del'>-	  use rb_exec_arg_addopt to add redirect options.</div><div class='del'>-	  (pipe_open_v): set up struct rb_exec_arg.</div><div class='del'>-	  (pipe_open_s): set up struct rb_exec_arg.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_addopt): new function extracted from</div><div class='del'>-	  check_exec_options_i.</div><div class='del'>-	  (check_exec_options_i): use rb_exec_arg_addopt.</div><div class='del'>-	  (rb_check_exec_options): opthash is always a hash now.</div><div class='del'>-	  (rb_exec_getargs): make it static.</div><div class='del'>-	  (rb_exec_fillarg): renamed from rb_exec_initarg2.  don't set up</div><div class='del'>-	  redirect_fds.</div><div class='del'>-	  (rb_exec_arg_init): new function.</div><div class='del'>-	  (rb_exec_arg_fix): new function.</div><div class='del'>-	  (rb_f_exec): use rb_exec_arg_init and rb_exec_arg_fix.  use</div><div class='del'>-	  rb_exec_arg_addopt to set close_others option.</div><div class='del'>-	  (run_exec_options): make close_others by default.</div><div class='del'>-	  (rb_spawn_internal): use rb_exec_arg_init and rb_exec_arg_fix.  use</div><div class='del'>-	  rb_exec_arg_addopt to set close_others option.</div><div class='del'>-</div><div class='del'>-Sun Apr 27 18:59:04 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_expt): use f_rational_new2. [ruby-dev:34524]</div><div class='del'>-</div><div class='del'>-Sun Apr 27 15:23:40 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_count): add a GC.count method.  This method returns</div><div class='del'>-	  a GC invoking count.</div><div class='del'>-</div><div class='del'>-Sun Apr 27 12:20:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t), gc.c (rb_objspace, rb_newobj), vm.c</div><div class='del'>-	  (Init_BareVM): per-VM object space support, which is disabled now.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_alloc), vm.c (Init_BareVM): should not use ruby</div><div class='del'>-	  malloc here.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect, etc): performance improvement by passing the</div><div class='del'>-	  reference instead of referring the global variable in each functions.</div><div class='del'>-</div><div class='del'>-Sun Apr 27 08:06:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_set_argv): ARGV should be locale encoding.</div><div class='del'>-	  [ruby-list:44861]</div><div class='del'>-</div><div class='del'>-Sun Apr 27 01:46:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.popen3w): removed.</div><div class='del'>-	  (Open3.popen3): notice wait_thr.</div><div class='del'>-</div><div class='del'>-Sun Apr 27 01:13:05 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc, test/rdoc:  Update to RDoc 2.0.0 r56.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 21:30:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_hash_dup): declared.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_dup): new function.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): don't modify option hash.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 18:36:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, signal.c, thread.c, thread_win32.c, include/ruby/intern.h:</div><div class='del'>-	  suppress warnings.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 17:42:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (builtin_types), gc.c (count_objects): added Complex and</div><div class='del'>-	  Rational.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 17:35:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_eNOERROR): renamed.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 17:30:11 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, gc.c: remove T_BLOCK.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: re-number T_xxx.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 17:31:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_cProcessTms, rb_cProcessStatus): renamed.</div><div class='del'>-</div><div class='del'>-	* error.c (builtin_types), signal.c (siglist), st.c (primes),</div><div class='del'>-	  struct.c (ref_func), time.c (months): constified.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 13:00:41 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: double fork is replaced by spawn with Process.detach.</div><div class='del'>-	  (Open3.popen3w): new method to access the thread returned by</div><div class='del'>-	  Process.detach.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 00:47:43 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_internal): new function to specify</div><div class='del'>-	  default_close_others.</div><div class='del'>-	  (rb_spawn): specify default_close_others true.</div><div class='del'>-	  (rb_f_system): call rb_spawn_internal with default_close_others as</div><div class='del'>-	  false.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 12:26:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): use INT2FIX() for fixnum values.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 17:56:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (free_unused_heaps): preserve last used heap segment to</div><div class='del'>-	  reduce malloc() call.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 17:54:10 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (HEAP_SIZE): use smaller heap segment (2K) for more chance</div><div class='del'>-	  to be freed.  based on patch from authorNari &lt;authornari at gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_newobj_from_heap): eventually allocate heap segments.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 15:35:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn): rb_exec_initarg() returns new argc and argv in</div><div class='del'>-	  earg.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 12:37:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): returns an instance of same class.</div><div class='del'>-	  [ruby-core:16554]</div><div class='del'>-</div><div class='del'>-Fri Apr 25 10:52:27 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: define mode_t for umask.</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_options_i, check_exec_fds, run_exec_options):</div><div class='del'>-	  support "close_others" only when fork(2) is available.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 00:16:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: include sys/stat.h for umask.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 23:25:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_env_clear): declared.</div><div class='del'>-	  (rb_io_mode_modenum): declared.</div><div class='del'>-	  (rb_close_before_exec): declared.</div><div class='del'>-	  (struct rb_exec_arg): add options and redirect_fds field.</div><div class='del'>-	  (rb_check_argv): removed.</div><div class='del'>-	  (rb_exec_initarg): declared.</div><div class='del'>-	  (rb_exec_getargs): declared.</div><div class='del'>-	  (rb_exec_initarg2): declared.</div><div class='del'>-	  (rb_fork): add third argument: fds.</div><div class='del'>-</div><div class='del'>-	* io.c (max_file_descriptor): new static variable to record maximum</div><div class='del'>-	  file descriptor ruby used.</div><div class='del'>-	  (UPDATE_MAXFD): new macro.</div><div class='del'>-	  (UPDATE_MAXFD_PIPE): new macro.</div><div class='del'>-	  (rb_io_mode_modenum): externed.</div><div class='del'>-	  (rb_sysopen): update max_file_descriptor.</div><div class='del'>-	  (rb_close_before_exec): new function.</div><div class='del'>-	  (popen_exec): redirection removed because it is done by extended</div><div class='del'>-	  spawn mechanism.</div><div class='del'>-	  (pipe_open): generate a hash for spawn options to specify</div><div class='del'>-	  redirections.</div><div class='del'>-	  (pipe_open_v): use rb_exec_getargs.</div><div class='del'>-	  (pipe_open_s): use rb_exec_getargs.</div><div class='del'>-	  (rb_io_initialize): update max_file_descriptor.</div><div class='del'>-</div><div class='del'>-	* process.c (hide_obj): new function.</div><div class='del'>-	  (check_exec_redirect_fd): new function.</div><div class='del'>-	  (check_exec_redirect): new function.</div><div class='del'>-	  (check_exec_options_i): new function.</div><div class='del'>-	  (check_exec_fds): new function.</div><div class='del'>-	  (rb_check_exec_options): new function.</div><div class='del'>-	  (check_exec_env_i): new function.</div><div class='del'>-	  (rb_check_exec_env): new function.</div><div class='del'>-	  (rb_exec_getargs): new function.</div><div class='del'>-	  (rb_exec_initarg2): new function.</div><div class='del'>-	  (rb_exec_initarg): new function.</div><div class='del'>-	  (rb_f_exec): use rb_exec_initarg.</div><div class='del'>-	  (intcmp): new function.</div><div class='del'>-	  (run_exec_dup2): new function.</div><div class='del'>-	  (run_exec_close): new function.</div><div class='del'>-	  (run_exec_open): new function.</div><div class='del'>-	  (run_exec_pgroup): new function.</div><div class='del'>-	  (run_exec_rlimit): new function.</div><div class='del'>-	  (run_exec_options): new function.</div><div class='del'>-	  (rb_exec): call run_exec_options.</div><div class='del'>-	  (move_fds_to_avoid_crash): new function.</div><div class='del'>-	  (pipe_nocrash): new function.</div><div class='del'>-	  (rb_fork): use pipe_nocrash to avoid file descriptor conflicts.</div><div class='del'>-	  (rb_spawn): use rb_exec_initarg.</div><div class='del'>-	  (rlimit_resource_name2int): extracted from rlimit_resource_type.</div><div class='del'>-	  (rlimit_type_by_hname): new function.</div><div class='del'>-	  (rlimit_type_by_lname): new function.</div><div class='del'>-	  (rlimit_resource_type): use rlimit_type_by_hname.</div><div class='del'>-	  (proc_daemon): add fds argument for rb_fork.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_env_clear): renamed from env_clear and externed.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:34086]</div><div class='del'>-</div><div class='del'>-Thu Apr 24 23:00:58 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: fix typos.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (rubyexec): move Open3.popen3 call into timeout</div><div class='del'>-	  block.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 22:34:52 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_comparable.rb: new tests for Comparable, to achieve</div><div class='del'>-	  100% test coverage of compar.c.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 17:19:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set safe_level before loading script.</div><div class='del'>-	  [ruby-dev:34421]</div><div class='del'>-</div><div class='del'>-Thu Apr 24 14:15:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): prior files with extensions to files sans</div><div class='del'>-	  extensions.  [ruby-core:16517]</div><div class='del'>-</div><div class='del'>-Thu Apr 24 00:26:06 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/descriptions.rb: fixed wrong class nestings.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 00:20:01 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test for set_trace_func.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: move "rubyexec" method from test_rubyoptions.rb.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: use rubyexec in envutil.rb.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of thread.c.</div><div class='del'>-</div><div class='del'>-Wed Apr 23 15:28:52 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create): failed</div><div class='del'>-	  notice moved from comment to assertion message. [ruby-dev:29127]</div><div class='del'>-</div><div class='del'>-Wed Apr 23 11:49:54 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#each, SortedSet#each, TC_Set#test_each): Return</div><div class='del'>-	  an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-Wed Apr 23 00:36:03 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (start_server): add timeout to server.join.</div><div class='del'>-</div><div class='del'>-Wed Apr 23 00:18:45 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb (TestSymbol#test_to_proc): Improve</div><div class='del'>-	  tests of Symbol#to_proc.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 22:40:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRb::DRbServer::check_insecure_method): should</div><div class='del'>-	  check method names by symbols, not by strings.  a patch from</div><div class='del'>-	  Kazuhiro NISHIYAMA &lt;zn at mbf.nifty.com&gt; in [ruby-dev:34487].</div><div class='del'>-</div><div class='del'>-Tue Apr 22 22:15:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-{case,label}-indent): up list from</div><div class='del'>-	  indentation point.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 21:09:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (score_table_A0, score_table_F0):</div><div class='del'>-	  type of content is unsigned char.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (push_broken_buf): 'c' is nkf_char.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (push_broken_buf): enc is 0 or pointer.</div><div class='del'>-</div><div class='del'>-	* ext/nkf//nkf.c (options): type of option is unsigned char.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 20:51:58 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (z_conv): characters must be nkf_char.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 19:23:05 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_initialize): Remove an undocumented</div><div class='del'>-	  feature (passing a block to the constructor) that's broken.</div><div class='del'>-	  This is not what I intended.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 17:54:05 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (exec_event_hooks): ``inline'' is a type modifier, not</div><div class='del'>-	  a type itself.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 16:24:27 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): do not use C++ comments.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 16:23:53 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use AC_USE_SYSTEM_EXTENSIONS.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 16:23:16 2008  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.c (DECL_SC_REG): use __asm__ instead.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 16:18:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.c (DECL_SC_REG): typo fixed.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 15:25:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (struct timespec): needs time.h according to POSIX.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 13:19:48 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_stop_timer_thread): should clear</div><div class='del'>-	  timer_thread_id after stopping it.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 13:12:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): remove the current thread from the join list</div><div class='del'>-	  of the target thread.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 12:03:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): search from the base klass if it</div><div class='del'>-	  is given.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 09:58:13 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: avoid warnings.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 09:56:51 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (eaccess): workaround for recent msvcrt's behavior.</div><div class='del'>-	  [ruby-core:16460]</div><div class='del'>-</div><div class='del'>-Mon Apr 21 19:08:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): call rb_io_check_readable and</div><div class='del'>-	  rb_io_check_writable.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 17:45:27 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_each_value, fdbm_each_key, fdbm_each_pair):</div><div class='del'>-	  GDBM#{each,each_pair,each_key,each_value}: Return an enumerator</div><div class='del'>-	  if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_each_value, fgdbm_each_key,</div><div class='del'>-	  fgdbm_each_pair): GDBM#{each,each_pair,each_key,each_value}:</div><div class='del'>-	  Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (ossl_config_each):</div><div class='del'>-	  OpenSSL::Config#each: Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (hist_each): Readline::HISTORY#each:</div><div class='del'>-	  Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (fsdbm_each_value, fsdbm_each_key,</div><div class='del'>-	  fsdbm_each_pair): SDBM#{each,each_pair,each_key,each_value}:</div><div class='del'>-	  Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each_byte, strio_each):</div><div class='del'>-	  StringIO#{each,each_line,each_byte}: Return an enumerator if no</div><div class='del'>-	  block is given.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (Init_stringio): Add #lines and #bytes,</div><div class='del'>-	  which are aliases to #each_line and #each_byte, respectively.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_each): WIN32OLE#each: Return an</div><div class='del'>-	  enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_each_byte, rb_gzreader_each):</div><div class='del'>-	  Zlib::GzipReader#{each,each_line,each_byte}: Return an</div><div class='del'>-	  enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib): Add Zlib::GzipReader#lines and</div><div class='del'>-	  #bytes, which are aliases to #each_line and #each_byte,</div><div class='del'>-	  respectively.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 17:01:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): check if src is a string.</div><div class='del'>-	  [ruby-core:16453]</div><div class='del'>-</div><div class='del'>-Mon Apr 21 16:06:47 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_init): preserve the method name in ID.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_each): need not to call rb_to_id().</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 11:00:27 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): capture exception during defined?</div><div class='del'>-	  evaluation.  a patch from wanabe &lt;s.wanabe at gmail.com&gt; in</div><div class='del'>-	  [ruby-dev:34461].  [ruby-core:16010]</div><div class='del'>-</div><div class='del'>-Mon Apr 21 10:06:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: should include &lt;errno.h&gt; to refer to errno.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 09:58:04 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime): check errno to detect strftime(3)'s error.</div><div class='del'>-	  this is workaround for recent version of MSVCRT.</div><div class='del'>-	  [ruby-dev:34456]</div><div class='del'>-</div><div class='del'>-Mon Apr 21 08:54:30 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xmalloc): use size_t for malloc argument instead of long.</div><div class='del'>-</div><div class='del'>-Sun Apr 20 21:00:21 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c, include/ruby/ruby.h: Export rb_cEnumerator.</div><div class='del'>-</div><div class='del'>-Sun Apr 20 20:47:50 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Resolve the method every time an enumeration</div><div class='del'>-	  method is run, not once when the enumerator is initialized as it</div><div class='del'>-	  was before, so that method_missing() and method (re)definition</div><div class='del'>-	  afterwards are both in effect; pointed out in: [ruby-core:16441]</div><div class='del'>-</div><div class='del'>-Sun Apr 20 15:11:00 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_rbuf_to_dst): removed.</div><div class='del'>-	  (copy_stream_fallback_body): don't bypass write method.</div><div class='del'>-	  (copy_stream_body): simplified.</div><div class='del'>-</div><div class='del'>-Sun Apr 20 15:01:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct iseq_compile_data): moved label_no from</div><div class='del'>-	  new_label_body().</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_exception_table): allocates catch_table only</div><div class='del'>-	  when entries exist.</div><div class='del'>-</div><div class='del'>-	* compile.c (struct iseq_link_element, struct iseq_insn_data): made</div><div class='del'>-	  enum for debuggers.</div><div class='del'>-</div><div class='del'>-Sun Apr 20 14:44:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix for splat in when and rescue.</div><div class='del'>-	  a patch from wanabe &lt;s.wanabe AT gmail.com&gt; in [ruby-dev:34429].</div><div class='del'>-	  [ruby-core:14537]</div><div class='del'>-</div><div class='del'>-Sun Apr 20 13:55:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_fallback): write directly (bypassing write method)</div><div class='del'>-	  if possible.</div><div class='del'>-</div><div class='del'>-Sun Apr 20 12:49:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_fallback): read directly (bypassing readpartial</div><div class='del'>-	  method) if possible.</div><div class='del'>-</div><div class='del'>-Sun Apr 20 04:45:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): use readpartial and write method for</div><div class='del'>-	  non-IOs such as StringIO and ARGF.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 20:57:33 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add tests to achieve over 95% test coverage</div><div class='del'>-	  of array.c.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 17:37:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_mark_locations): get rid of underflow.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context): check if the main thread stack</div><div class='del'>-	  position may shrink under the initialized position.  [ruby-core:16436]</div><div class='del'>-</div><div class='del'>-Thu Apr 17 22:20:52 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.c (fun_so_to_utf_16be, fun_so_to_utf_16le): add</div><div class='del'>-	  parentheses to remove warnings of gcc.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): remove unused variables.</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_NEXT, NODE_REDO): remove unused labels.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert): remove unused variables.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_resolver_initialize,</div><div class='del'>-	  syck_resolver_detect_implicit, syck_emitter_emit): remove unused</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-Thu Apr 17 20:12:47 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_search): enable some assertions.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: flunk message in win32.</div><div class='del'>-</div><div class='del'>-Thu Apr 17 16:07:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (ruby): run in C locale.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_encoding): --encoding does not</div><div class='del'>-	  affect source code.</div><div class='del'>-</div><div class='del'>-Thu Apr 17 00:45:41 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_rlimit_nofile): reset RLIMIT_NOFILE</div><div class='del'>-	  before exit (for gcov).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: new tests for option of ruby</div><div class='del'>-	  interpreter, to achieve over 95% test coverage of ruby.c.</div><div class='del'>-</div><div class='del'>-Wed Apr 16 02:40:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): preludes and parser need to run in safe</div><div class='del'>-	  level 0.  [ruby-dev:34407]</div><div class='del'>-</div><div class='del'>-Wed Apr 16 02:26:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): dln_find_file returns the pointer to a</div><div class='del'>-	  static buffer, so should copy it.  [ruby-dev:34409]</div><div class='del'>-</div><div class='del'>-Tue Apr 15 23:08:46 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: fix cookie handling. [ruby-dev:34403]</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_cookie.rb: add a test for the above fix.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 19:20:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: #undef rb_argv moved before #define.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 18:02:17 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_argv): replaced with rb_get_argv().</div><div class='del'>-	  [ruby-Bugs-19514]</div><div class='del'>-</div><div class='del'>-Tue Apr 15 17:10:59 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb, lib/net/smtp.rb, lib/net/pop.rb: update</div><div class='del'>-	  URLs of Japanese documents.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 16:45:14 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb (TestSymbol#test_to_proc): add tests.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 15:38:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-encoding-map): added shift-jis for older</div><div class='del'>-	  versions.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-set-encoding):</div><div class='del'>-	  coding-system-to-mime-charset is not a standard function.</div><div class='del'>-	  [carbon-emacs:795]</div><div class='del'>-	  fix for the case that magic comment exists but coding system is</div><div class='del'>-	  absent.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode): use write-contents-functions or</div><div class='del'>-	  write-contents-hooks for older versions.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 07:21:21 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_div): [ruby-dev:34357]</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_abs): use hypot.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_quo): do not force conversion.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: omitted some meaningless tests.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 23:25:50 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_objectspace.rb: add a test for</div><div class='del'>-	  ObjectSpace.count_objects.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 22:44:24 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (SET_EXTERNAL_ENCODING): avoid call rb_enc_check() on</div><div class='del'>-	  half-baked result string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): make search reentrant.  [ruby-dev:34223]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_parse.rb (TestParse::test_global_variable):</div><div class='del'>-	  should preserve $&amp; variable.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 17:23:27 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_delete_if, rb_hash_reject_bang, env_delete_if,</div><div class='del'>-	  env_reject_bang): Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 14:33:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h (compile_debug): made runtime option.</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_debug_print_indent): returns if debug_level exceeds</div><div class='del'>-	  the threshold.</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_debug_printf): printf to stderr.</div><div class='del'>-</div><div class='del'>-	* iseq.c (make_compile_option, make_compile_option_value): added</div><div class='del'>-	  debug_level option.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_compile_option_t): added debug_level.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct iseq_compile_data): added node_level.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 12:52:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): use ruby_init_stack.  [ruby-dev:34350]</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_t): packed globals.  [ruby-dev:34348]</div><div class='del'>-</div><div class='del'>-	* gc.c (finalizers): removed.  [ruby-dev:34349]</div><div class='del'>-</div><div class='del'>-Mon Apr 14 11:30:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_new): new integer overflow check condition.</div><div class='del'>-	  suggested by TOYOFUKU Chikanobu &lt;nobu_toyofuku at nifty.com&gt; in</div><div class='del'>-	  [ruby-dev:34156].</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 00:51:40 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_parse.rb: add tests to achieve over 95% test coverage</div><div class='del'>-	  of parse.y.</div><div class='del'>-</div><div class='del'>-Sun Apr 13 23:53:58 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_cycle): Make Enumerable#cycle do a finite loop when</div><div class='del'>-	  the number of cycles is specified.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_cycle): Ditto for Array#cycle.</div><div class='del'>-</div><div class='del'>-Sun Apr 13 18:52:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (lock_func): should not check interrupts in</div><div class='del'>-	  blocking region.  [ruby-dev:34378]</div><div class='del'>-</div><div class='del'>-Sat Apr 12 12:41:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_node, ruby_run_node), ruby.c (process_options):</div><div class='del'>-	  use iseq instead of NODE.</div><div class='del'>-</div><div class='del'>-	* gc.c (source_filenames): removed.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, parse.y (yycompile, parser_mark, parser_free,</div><div class='del'>-	  ripper_initialize): rb_source_filename() is no longer used.</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h (ERROR_ARGS), parse.y (node_newnode, fixpos,</div><div class='del'>-	  parser_warn, e_option_supplied, warn_unless_e_option, range_op,</div><div class='del'>-	  cond0): nd_file is no longer used.</div><div class='del'>-</div><div class='del'>-Sat Apr 12 12:17:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb (require_relative): move require_relative from</div><div class='del'>-	  lib/require_relative.rb.  [ruby-core:16356]</div><div class='del'>-</div><div class='del'>-	* lib/require_relative.rb: removed.</div><div class='del'>-</div><div class='del'>-Sat Apr 12 05:55:57 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*, test/rubygems*:  Update to RubyGems 1.1.1 r1701.</div><div class='del'>-</div><div class='del'>-Sat Apr 12 03:13:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): set external encoding.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename, rb_file_s_dirname, rb_file_s_extname):</div><div class='del'>-	  copy encoding.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 17:35:06 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (count_i): modified to shut warning up.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 17:25:09 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (count_i, count_iter_i, enum_count, enum_find_index):</div><div class='del'>-	  Reduce code.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 17:06:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (find_index_i): modified to shut warning up.</div><div class='del'>-</div><div class='del'>-	* enum.c (find_index_iter_i): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 16:44:43 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_find_index): Add support for find_index(obj);</div><div class='del'>-	  [ruby-dev:34313].</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_index): Define find_index as an alias to index.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 16:42:33 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::load): modified to support empty</div><div class='del'>-	  database.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 08:05:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): add volatile to avoid potential GC bug.  a</div><div class='del'>-	  patch from Tomoyuki Chikanaga &lt;chikanag at nippon-control-system.co.jp&gt;</div><div class='del'>-	  in [ruby-dev:34312].</div><div class='del'>-</div><div class='del'>-Thu Apr 10 23:08:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore::dump, PStore::load): allow subclass</div><div class='del'>-	  overriding.  [ruby-dev:34305]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::Store::marshal_dump_supports_canonical_option?):</div><div class='del'>-	  add a method to support faster PStore.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 20:36:45 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rdebug.el, misc/README: Remove rdebug.el as per request</div><div class='del'>-	  from the maintainer and mention the ruby-debug project at</div><div class='del'>-	  RubyForge in README; bug#19043.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 19:41:00 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_loop): Mention StopIteration in the document.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 19:23:55 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_pop_m, rb_ary_shift_m): Update documents for</div><div class='del'>-	  #pop() and #shift().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): Update document.  Assigning</div><div class='del'>-	  array[*args]= nil no longer removes elements.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 16:58:44 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): TYPE_USERDEF assigns id for ivars first.</div><div class='del'>-	  [ruby-dev:34159] by nagachika.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 15:03:47 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: removed obsolete library.  [ruby-core:16233]</div><div class='del'>-</div><div class='del'>-	* test/test_generator.rb: removed as well.  [ruby-dev:34306]</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: replaced by Hongli Lai's faster version.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 10:27:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): sleep_cond is initialized at</div><div class='del'>-	  creation.  [ruby-Patches-19361].</div><div class='del'>-</div><div class='del'>-Wed Apr  9 14:43:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (lock_func): optimized and checks for interrupt_flag.</div><div class='del'>-	  based on a patch from Sylvain Joyeux in [ruby-Patches-19361] and</div><div class='del'>-	  [ruby-Patches-19362].</div><div class='del'>-</div><div class='del'>-Wed Apr  9 12:12:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: new tests from Sylvain Joyeux in</div><div class='del'>-	  [ruby-Patches-19361].</div><div class='del'>-</div><div class='del'>-Tue Apr  8 21:36:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_sleep): ensures to re-acquire at waking up.</div><div class='del'>-	  [ruby-Patches-19361]</div><div class='del'>-</div><div class='del'>-Tue Apr  8 11:00:14 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: remove Math first before overwriting by CMath.</div><div class='del'>-</div><div class='del'>-Tue Apr  8 10:34:10 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): should check fname path after $SAFE is</div><div class='del'>-	  properly set.  [ruby-dev:34268]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_quote): should always copy the quoting string.</div><div class='del'>-	  [ruby-core:16235]</div><div class='del'>-</div><div class='del'>-Tue Apr  8 10:30:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): depends on enc/prelude.rb.</div><div class='del'>-</div><div class='del'>-	* enc/prelude.rb: fixed initial library names.</div><div class='del'>-</div><div class='del'>-Tue Apr  8 03:39:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_provided): check expanded path for relative path</div><div class='del'>-	  features, loading or loaded features are already expanded in 1.9.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): no needs to check if provided before</div><div class='del'>-	  rb_require_safe.  [ruby-dev:34266]</div><div class='del'>-</div><div class='del'>-Mon Apr  7 22:41:21 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: cancelled recent changes (except to remove rdiv).</div><div class='del'>-</div><div class='del'>-	* bignum.c: ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c: added rb_big_idiv.</div><div class='del'>-</div><div class='del'>-Mon Apr  7 15:51:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_init_db): moved to enc/encdb.c.</div><div class='del'>-</div><div class='del'>-	* transcode.c (init_transcoder_table): moved to enc/trans/transdb.c.</div><div class='del'>-</div><div class='del'>-	* enc/depend (enc/encdb.o enc/trans/transdb.o): depend on</div><div class='del'>-	  corresponding headers.</div><div class='del'>-</div><div class='del'>-	* common.mk (COMMONOBJS): moved transcode.o from OBJS</div><div class='del'>-</div><div class='del'>-Mon Apr  7 12:26:32 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add a known-bug.</div><div class='del'>-</div><div class='del'>-Mon Apr  7 12:15:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each_func): should not leave a variable</div><div class='del'>-	  uninitialized, which could cause SEGV.</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): removed duplicated and unreachable code.</div><div class='del'>-</div><div class='del'>-Mon Apr  7 02:12:27 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): need not to check if tainted.</div><div class='del'>-	  [ruby-dev:34219]</div><div class='del'>-</div><div class='del'>-Sun Apr  6 09:45:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_tell): check if closed.  [ruby-core:16223]</div><div class='del'>-</div><div class='del'>-Sat Apr  5 23:17:20 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: new.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: depends lib/cmath.rb.</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb: added rdiv.</div><div class='del'>-</div><div class='del'>-	* complex.c: removed some math functions.</div><div class='del'>-</div><div class='del'>-Sat Apr  5 05:50:57 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Fix uninitialized variable warnings.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/html.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb: Fix shadowed variable warning.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb: Fix redefined method warning.</div><div class='del'>-</div><div class='del'>-Sat Apr  5 02:13:52 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cmpint): moved from compar.c, to check bignum</div><div class='del'>-	  zero.</div><div class='del'>-</div><div class='del'>-Fri Apr  4 23:24:06 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_qs): wrong boundary condition.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_qs_utf8): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr  4 14:11:36 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_qs): wrong boundary condition.  a patch from</div><div class='del'>-	  wanabe &lt;s.wanabe AT gmail.com&gt; in [ruby-dev:34248].</div><div class='del'>-</div><div class='del'>-Fri Apr  4 05:57:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (Net::POP3::do_finish): clear @n_mails and</div><div class='del'>-	  @n_bytes as well.  [ruby-core:16144]</div><div class='del'>-</div><div class='del'>-Fri Apr  4 01:59:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): add step for each iteration if begin and</div><div class='del'>-	  end are numeric.  [ruby-core:15990]</div><div class='del'>-</div><div class='del'>-Fri Apr  4 00:42:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): rdiv method removed.  [ruby-dev:34242]</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_quo): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_rdiv): ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_div): ditto.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_fdiv): fdiv implementation restored.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_quo): RDoc updated.</div><div class='del'>-</div><div class='del'>-Thu Apr  3 21:51:45 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_int_check): function for DRY real check.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_{add,sub,mul,div,expt}): use rb_num_coerce_bin().</div><div class='del'>-</div><div class='del'>-Thu Apr  3 19:59:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): check if cbase is a class or a module.</div><div class='del'>-	  [ruby-core:16118]</div><div class='del'>-</div><div class='del'>-Thu Apr  3 14:42:11 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (INSNS): add insns_info.inc.</div><div class='del'>-</div><div class='del'>-	* common.mk (INSNS): make incs separately for nmake.</div><div class='del'>-</div><div class='del'>-Thu Apr  3 13:20:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (endb.h, transdb.h, prelude.c): depend on $(PREP) and</div><div class='del'>-	  check if really changed.  [ruby-core:16102]</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, configure.in, {win32,bcc32}/Makefile.sub</div><div class='del'>-	  (MINIOBJS, ARCHMINIOBJS): separated.</div><div class='del'>-</div><div class='del'>-Thu Apr  3 09:00:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence, iseq_insns_unification,</div><div class='del'>-	  insn_data_to_s_detail): constified.</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern, ruby_iseq_disasm_insn): ditto.</div><div class='del'>-</div><div class='del'>-	* template/{insns_info,opt_sc,optunifs}.inc.tmpl: ditto.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb (OptUnifsIncGenerator): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  3 08:46:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_include): add RDoc to describe that comparison</div><div class='del'>-	  for numeric is done according magnitude of values.</div><div class='del'>-	  [ruby-core:15907]</div><div class='del'>-</div><div class='del'>-Wed Apr  2 22:29:35 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_int_check): function for DRY integer check.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_rdiv): should always return rational number.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_add, nurat_sub, nurat_mul, nurat_fdiv,</div><div class='del'>-	  nurat_cmp): use rb_num_coerce_bin().</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_division): does / and rdiv.</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): no longer use rb_p().</div><div class='del'>-</div><div class='del'>-Wed Apr  2 06:52:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): supports rational and complex numbers.  it's</div><div class='del'>-	  cheating since it uses rb_p().</div><div class='del'>-</div><div class='del'>-Wed Apr  2 06:24:06 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h: add new constants for rb_call()'s scope.</div><div class='del'>-</div><div class='del'>-	* eval.c (iterate_method): use CALL_* scope constant to specify</div><div class='del'>-	  proper scope value.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_each, rb_apply, rb_funcall, rb_funcall2, rb_funcall3):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 21:19:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: need to include &lt;float.h&gt; just once.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 16:40:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2dbl): more precise conversion at edge cases.</div><div class='del'>-	  [ruby-dev:34195]</div><div class='del'>-</div><div class='del'>-Tue Apr  1 14:43:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: get rid of empty expansion.</div><div class='del'>-</div><div class='del'>-	* configure.in: _setjmp is available but _longjmp is not on mingw.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 09:41:22 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile (config.h): need to define RUBY_SETJMP, etc.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 07:31:58 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems* test/rubygems*: Import RubyGems 1.1.0.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 03:20:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_SETJMP, RUBY_LONGJMP, RUBY_JMP_BUF): prefers</div><div class='del'>-	  _setjmp over setjmp and sigsetjmp.  [ruby-core:16023]</div><div class='del'>-	  __builtin_setjmp cannot handle a variable.</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-setjmp-type): new option to override the</div><div class='del'>-	  default rule in the above.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (ruby_setjmp, ruby_longjmp), gc.c (rb_setjmp),</div><div class='del'>-	  vm_core.h (rb_jmpbuf_t): use RUBY_SETJMP, RUBY_LONGJMP and</div><div class='del'>-	  RUBY_JMP_BUF.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 01:55:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::Config.default_config_hash): requires</div><div class='del'>-	  win32/resolv to use Win32::Resolv.  [ruby-dev:34138]</div><div class='del'>-</div><div class='del'>-Tue Apr  1 01:40:58 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: adopted the ruby's style.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 00:17:35 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: revert.</div><div class='del'>-</div><div class='del'>-Mon Mar 31 18:57:36 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile.sub (config.h): define ssize_t.</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): some platform don't have O_NOCTTY.</div><div class='del'>-</div><div class='del'>-Mon Mar 31 18:42:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for ssize_t.  [ruby-dev:34184]</div><div class='del'>-</div><div class='del'>-Mon Mar 31 14:45:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_quo): should convert its operand to Rational.</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_strict): should raise TypeError.</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): should not redefine Bignum#div.</div><div class='del'>-	  Numeric#div will do.  [ruby-dev:34066]</div><div class='del'>-</div><div class='del'>-Mon Mar 31 04:05:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): set coderange while getting characters.</div><div class='del'>-</div><div class='del'>-Sun Mar 30 23:16:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_dup): should copy is_lambda attribute as well.</div><div class='del'>-	  [ruby-talk:296244]</div><div class='del'>-</div><div class='del'>-Sun Mar 30 15:33:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: IO.copy_stream implemented.  [ruby-dev:33843]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_select): new function.</div><div class='del'>-</div><div class='del'>-	* configure.in (sys/sendfile.h): check the header file.</div><div class='del'>-	  (sendfile): check the function.</div><div class='del'>-	  (pread): check the function.</div><div class='del'>-</div><div class='del'>-Sat Mar 29 14:18:41 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/*: full update Ruby/Tk to support Ruby(1.9|1.8) and Tc/Tk8.5.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb: [incompatible] remove TileWidgets'</div><div class='del'>-	  instate/state/identify method to avoid the conflict with standard</div><div class='del'>-	  widget options. Those methods are renamed to ttk_instate/ttk_state/</div><div class='del'>-	  ttk_identify (tile_instate/tile_state/tile_identify are available</div><div class='del'>-	  too). Although I don't recommend, if you really need old methods,</div><div class='del'>-	  please define "Tk::USE_OBSOLETE_TILE_STATE_METHOD = true" before</div><div class='del'>-	  "require 'tkextlib/tile'".</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb: "Tk::Tile::__Import_Tile_Widgets__!"</div><div class='del'>-	  is obsolete. It outputs warning. To control default widget set,</div><div class='del'>-	  use "Tk.default_widget_set = :Ttk".</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: __IGNORE_UNKNOWN_CONFIGURE_OPTION__ method and</div><div class='del'>-	  __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode) method are defined</div><div class='del'>-	  as module methods of TkConfigMethod. It may help users to wrap old</div><div class='del'>-	  Ruby/Tk scripts (use standard widgets) to force to use Ttk widgets.</div><div class='del'>-	  Ttk widgets don't have some options of standard widgets which are</div><div class='del'>-	  control the view of widgets. When set ignore-mode true, configure</div><div class='del'>-	  method tries to ignore such unknown options with no exception.</div><div class='del'>-	  Of course, it may raise other troubles on the GUI design.</div><div class='del'>-	  So, those are a little danger methods.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: __IGNORE_UNKNOWN_CONFIGURE_OPTION__</div><div class='del'>-	  method and __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode) method</div><div class='del'>-	  are defined as module methods of TkItemConfigMethod as the same</div><div class='del'>-	  purpose as TkConfigMethod's ones.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/ttk_wrapper.rb: A new example. This is a tool for</div><div class='del'>-	  wrapping old Ruby/Tk scripts (which use standard widgets) to use</div><div class='del'>-	  Ttk (Tile) widgets as default.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/tile/demo.rb: use ttk_instate/ttk_state</div><div class='del'>-	  method instead of instate/state method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/root, ext/tk/lib/tk/namespace.rb,</div><div class='del'>-	  ext/tk/lib/tk/text.rb, ext/tk/lib/tkextlib/*: some 'instance_eval's</div><div class='del'>-	  are replaced to "instance_exec(self)".</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: bug fix on KEY_TBL and PROC_TBL (?x is not</div><div class='del'>-	  a character code on Ruby1.9).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: support new style of operation argument</div><div class='del'>-	  on Tcl/Tk's 'trace' command for variables.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget, ext/tk/sample/demos-en/widget: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/textpeer.rb,</div><div class='del'>-	  ext/tk/sample/demos-en/textpeer.rb: new widget demo.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: decrease SEGV troubles (probably)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: remove Thread.critical access if Ruby1.9</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/multi-tk.rb: support Ruby1.9 (probably)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb: add method to define Tcl/Tk command</div><div class='del'>-	  to make Tcl/Tk theme sources (based on different version of Tile</div><div class='del'>-	  extension) available.</div><div class='del'>-	  (Tk::Tile::__define_LoadImages_proc_for_compatibility__)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tk/wm.rb: support dockable frames</div><div class='del'>-	  (Tcl/Tk8.5 feature). 'wm' command can treat many kinds of widgets</div><div class='del'>-	  as toplevel widgets.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/style.rb: ditto.</div><div class='del'>-	  (Tk::Tile::Style.__define_wrapper_proc_for_compatibility__)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: add actual_hash and metrics_hash to get</div><div class='del'>-	  properties as a hash. metrics_hash method returns a boolean value</div><div class='del'>-	  for 'fixed' option. But metrics method returns numeric value</div><div class='del'>-	  (0 or 1) for 'fixed' option, because of backward compatibility.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: sometimes fail to set callback procedure.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk.sleep and Tk.wakeup method. Tk.sleep</div><div class='del'>-	  doesn't block the eventloop. It will be better to use the method</div><div class='del'>-	  in event callbacks.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tksleep_sample.rb: sample script about Tk.sleep.</div><div class='del'>-</div><div class='del'>-Thu Mar 27 20:44:22 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_lcm): removed.</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_lcm, rb_gcdlcm): added.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb (gcd, lcm, gcdlcm): removed.</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb (gcd, lcm, gcdlcm): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 18:11:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_constants): rdoc updated.  a patch from</div><div class='del'>-	  Florian Gilcher &lt;flo AT andersground.net&gt; in [ruby-core:16009].</div><div class='del'>-</div><div class='del'>-Wed Mar 26 00:55:28 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb: add tests to achieve over 95% test coverage</div><div class='del'>-	  of random.c.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 00:28:55 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: add tests to achieve over 90% test</div><div class='del'>-	  coverage of rational.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: ditto for complex.c.</div><div class='del'>-</div><div class='del'>-Tue Mar 25 19:34:05 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add tests.  [ruby-dev:34128]</div><div class='del'>-</div><div class='del'>-Tue Mar 25 19:09:04 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_new): fix size check.  [ruby-dev:34123]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_take, rb_ary_drop): check negative size and use</div><div class='del'>-	  NUM2LONG instead of FIX2LONG.  [ruby-dev:34123]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take, enum_drop): check negative size.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Tue Mar 25 16:32:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): checks if the word is empty.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): typo fixed.  [ruby-dev:34122]</div><div class='del'>-</div><div class='del'>-Tue Mar 25 15:26:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): false short-circuit destination label may</div><div class='del'>-	  be needed.  [ruby-talk:295296]</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): put nil if false short-circuit is</div><div class='del'>-	  created.</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign_opt): no need to use alloca.</div><div class='del'>-</div><div class='del'>-Mon Mar 24 19:23:52 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (debug_lines): Always prepare a new array for each</div><div class='del'>-	  file's SCRIPT_LINES__ storage, instead of appending source lines</div><div class='del'>-	  every time a file is re-loaded; submitted by Rocky Bernstein in</div><div class='del'>-	  #18517.</div><div class='del'>-</div><div class='del'>-Mon Mar 24 10:25:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: sitearch should use target_cpu.  [ruby-core:15986]</div><div class='del'>-</div><div class='del'>-Sun Mar 23 02:51:57 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rlimit_resource_value): use NUM2RLIM.</div><div class='del'>-</div><div class='del'>-Sun Mar 23 02:28:01 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: fixed. [ruby-dev:34109]</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 21:32:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_gets, rb_f_readline, rb_f_readlines): delegates to ARGF</div><div class='del'>-	  as well as puts and putc.  [ruby-dev:34100]</div><div class='del'>-</div><div class='del'>-Fri Mar 21 21:26:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::Hosts): should not use win32/resolv on cygwin.</div><div class='del'>-	  [ruby-dev:29945], [ruby-dev:34095]</div><div class='del'>-</div><div class='del'>-	* lib/win32/registry.rb (Win32::Registry.expand_environ): try upcased</div><div class='del'>-	  name too for cygwin.  [ruby-dev:29945]</div><div class='del'>-</div><div class='del'>-	* lib/win32/resolv.rb (Win32::Resolv.get_hosts_path): use expand_path.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 21:10:00 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: Say that I am the current maintainer.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.txt: Ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 09:24:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (open_for_install): write block result and rewrite only</div><div class='del'>-	  if changed from existing file.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 08:29:33 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_to_f): rearrangement.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 06:44:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_to_f): C99.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 01:40:27 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_sub, nucomp_expt): call corresponding functions.</div><div class='del'>-</div><div class='del'>-Fri Mar 21 01:21:43 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/tgamma.c: include config.h before math.h.  [ruby-dev:34075]</div><div class='del'>-</div><div class='del'>-Thu Mar 20 21:46:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_getline): use receiver.</div><div class='del'>-</div><div class='del'>-Thu Mar 20 21:20:19 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: some improvements (include Shin-ichiro HARA's</div><div class='del'>-	  effort).</div><div class='del'>-</div><div class='del'>-	* complex.c: some improvements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational2.rb: new.</div><div class='del'>-</div><div class='del'>-Thu Mar 20 00:21:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_initialize_copy): get rid of segfault.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_tell, argf_seek_m, argf_set_pos, argf_rewind,</div><div class='del'>-	  argf_fileno, argf_to_io, argf_eofl, argf_getc, argf_getbyte,</div><div class='del'>-	  argf_readchar, argf_readbyte, argf_each_line): use receiver.</div><div class='del'>-</div><div class='del'>-Wed Mar 19 23:52:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_putc, rb_io_puts): output directly if the receiver is</div><div class='del'>-	  rb_stdout to get rid of infinite recursion.  [ruby-dev:34059]</div><div class='del'>-</div><div class='del'>-Wed Mar 19 22:27:41 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: added rb_gcd.</div><div class='del'>-</div><div class='del'>-	* complex.c: use rb_gcd.</div><div class='del'>-</div><div class='del'>-Wed Mar 19 18:37:00 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: revert.</div><div class='del'>-</div><div class='del'>-	* rational.c: revert.</div><div class='del'>-</div><div class='del'>-Wed Mar 19 17:31:20 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (TH_EXEC_TAG): need not to FLUSH_REGISTER_WINDOWS.</div><div class='del'>-	  [ruby-core:15871], [ruby-dev:34088]</div><div class='del'>-</div><div class='del'>-Wed Mar 19 14:53:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_s, nucomp_inspect): get rid of making</div><div class='del'>-	  unnecessary intermediate objects.</div><div class='del'>-</div><div class='del'>-	* complex.c (make_patterns, string_to_c): do not treat successive</div><div class='del'>-	  underscores as a part of numeric like as literals.  [ruby-dev:34085]</div><div class='del'>-</div><div class='del'>-	* rational.c (make_patterns, string_to_r): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 19 14:36:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): treat successive underscores as</div><div class='del'>-	  nondigit.  [ruby-dev:34089]</div><div class='del'>-</div><div class='del'>-Wed Mar 19 14:08:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_check_encoding): should not load autoloaded encoding</div><div class='del'>-	  directly, instead use rb_enc_find_index() which deal with alias and</div><div class='del'>-	  replica.  [ruby-core:15957]</div><div class='del'>-</div><div class='del'>-Wed Mar 19 11:49:47 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (include): include ruby.h instead of defines.h and config.h.</div><div class='del'>-</div><div class='del'>-Wed Mar 19 10:17:12 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (CHECK_INTERRUPT_IN_MATCH_AT): add interrupt check</div><div class='del'>-	  during match.  [ruby-talk:295002]</div><div class='del'>-</div><div class='del'>-Tue Mar 18 16:24:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat_gen): bail out at different encoding.</div><div class='del'>-</div><div class='del'>-Tue Mar 18 04:00:27 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_ss): simple shift search.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_qs): quick search.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_qs_utf8): quick search for UTF-8 string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_qs_utf8_hash): hash functions for above.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch): use above functions.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): give enc to rb_memsearch.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_memsearch): move to encoding.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_memsearch): move from intern.h.</div><div class='del'>-</div><div class='del'>-	* common.mk (PREP): add dependency.</div><div class='del'>-</div><div class='del'>-Mon Mar 17 22:23:54 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_take, rb_ary_take_while, rb_ary_drop,</div><div class='del'>-	  rb_ary_drop_while): new methods. [ruby-dev:34067]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Mon Mar 17 17:11:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode): should use `run-mode-hooks' instead</div><div class='del'>-	  of calling `run-hooks' directly to run the mode hook.  patch from</div><div class='del'>-	  Chiyuan Zhang &lt;pluskid AT gmail.com&gt; in [ruby-core:15915]</div><div class='del'>-</div><div class='del'>-Mon Mar 17 16:41:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: unset GREP_OPTIONS.  [ruby-core:15918]</div><div class='del'>-</div><div class='del'>-Sun Mar 16 18:07:07 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.c: bug fix (some invalid UTF-8 sequences</div><div class='del'>-	  were legal)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: test for above bug</div><div class='del'>-</div><div class='del'>-Sun Mar 16 17:28:07 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (LIBRUBY_SO): add dependency to $(BUILTIN_ENCOBJS).</div><div class='del'>-</div><div class='del'>-Sun Mar 16 08:51:41 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: added some declarations.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: added some entries.</div><div class='del'>-</div><div class='del'>-	* configure.in: added a check for signbit.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: nearly all of core definitions have been removed.</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: some trivial adjustments.</div><div class='del'>-</div><div class='del'>-	* complex.c: new.</div><div class='del'>-</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_{quo,rdiv}, fix_fdiv): added.</div><div class='del'>-</div><div class='del'>-	* numeric.c ({num,int}_{numerator,denominator}): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_fdiv): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_{quo,pow}): now may yield rational number.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_{quo,pow}): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_{int,flo}_induced_from): now can accept rational.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children, obj_free): now detects complex and rational.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): now calls Init_{Complex,Rational}.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: new.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 15 17:48:48 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): pass unnecessary enc_capable().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp): reduce invocation of rb_enc_compatible().</div><div class='del'>-</div><div class='del'>-Fri Mar 14 17:04:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (inttypes.h): includes always if available.</div><div class='del'>-</div><div class='del'>-	* string.c, ext/digest/defs.h: moved inttypes.h to ruby.h.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 16:59:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB_PREFIX): fix for prefix.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 16:35:11 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie::initialize): performance patch from</div><div class='del'>-	  Makoto Kuwata &lt;kwa@kuwata-lab.com&gt; in [ruby-dev:34048].</div><div class='del'>-</div><div class='del'>-Fri Mar 14 15:49:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB_PREFIX): use libdir.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 14:24:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/defs.h: inttypes.h is still needed.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 11:34:12 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile.sub: follow below changes.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 11:24:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-encoding-map, ruby-use-encoding-map): added</div><div class='del'>-	  to customize.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 10:37:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (int8_t, uint8_t,  int16_t,  uint16_t int32_t,</div><div class='del'>-	  uint32_t int64_t, uint64_t, int128_t, uint128_t,</div><div class='del'>-	  intptr_t, uintptr_t): check if defined.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: follow configure.in.</div><div class='del'>-</div><div class='del'>-	* ext/digest/defs.h: remove checks for uint8_t, uint32_t and uint64_t.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 10:12:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_VARTYPE): should not indent preprocessor</div><div class='del'>-	  directives.</div><div class='del'>-</div><div class='del'>-Fri Mar 14 10:03:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (UNALIGNED_WORD_ACCESS): IA64 cannot access unaligned word.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 21:00:50 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): should not use rb_ary_subseq()</div><div class='del'>-	  which shares internal pointer.  splice modifies the receiver</div><div class='del'>-	  right after subseq.  [ruby-dev:34005]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_struct.rb: some test moved from test to shut</div><div class='del'>-	  warning up.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 19:42:43 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile.sub (config.h): define uint32_t.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 14:14:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* trunk/configure.in (AC_CHECK_HEADERS): stdint.h is not needed to</div><div class='del'>-	  check.</div><div class='del'>-</div><div class='del'>-	* trunk/configure.in (rb_cv_type_uint32_t): unquoted.  [ruby-dev:34030]</div><div class='del'>-</div><div class='del'>-	* trunk/string.c (hash): use inttypes.h instead of stdint.h.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 10:42:46 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divmod): should return integer division.  [ruby-dev:34006]</div><div class='del'>-</div><div class='del'>-	* enum.c (zip_ary): wrong boundary condition.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (TestNumeric::test_num2long): bit-and</div><div class='del'>-	  should not raise RangeError.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 03:12:48 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb: should be updated for new ri structure.</div><div class='del'>-	  [ruby-core:15825]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (RDoc::initialize): allow options to be optional.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (RDoc::class_cache): map_dirs may be</div><div class='del'>-	  empty.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (RDoc::get_info_for): revive get_info_for</div><div class='del'>-	  method.  maybe broken.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/util.rb (RDoc::initialize): should not use RiError</div><div class='del'>-	  no more.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 01:45:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (stdint.h): check if presence.</div><div class='del'>-</div><div class='del'>-	* configure.in (uint32_t): check if defined.</div><div class='del'>-</div><div class='del'>-	* string.c (hash): fix for portability.  [ruby-dev:34020]</div><div class='del'>-</div><div class='del'>-Wed Mar 12 17:33:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): fix for a mere underscore.</div><div class='del'>-</div><div class='del'>-Wed Mar 12 14:47:07 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (rb_thread_raised_set): use generic flags.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): clear all raised flags.</div><div class='del'>-</div><div class='del'>-	* eval.c (stack_check): leave clearing flag to rb_longjmp.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_memerror): use thread raised flag instead of static flag.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 23:38:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_combination): argument check before creating</div><div class='del'>-	  Enumerator.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): optimize if all arguments are arrays.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 19:48:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_coerce): try conversion before type check.</div><div class='del'>-	  [ruby-core:15838]</div><div class='del'>-</div><div class='del'>-Tue Mar 11 12:39:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-local): WINMAINOBJ is Windows specific.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 10:19:10 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): replaced by MurmurHash described in</div><div class='del'>-	  &lt;http://murmurhash.googlepages.com/&gt;.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 09:52:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable): empty strings in any encoding are</div><div class='del'>-	  compatible each other.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 00:46:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): remove some unimportant lines to fit -h message</div><div class='del'>-	  in a page.  [ruby-dev:34018]</div><div class='del'>-</div><div class='del'>-Mon Mar 10 17:11:00 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_local_variables): local_variables should return an</div><div class='del'>-	  array of symbols.  [ruby-dev:34008]</div><div class='del'>-</div><div class='del'>-	* vm.c (collect_local_variables_in_env): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 10 15:53:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.c (MKSTR): make US-ASCII.  [ruby-dev:34010]</div><div class='del'>-</div><div class='del'>-Mon Mar 10 02:08:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): if t == s + pos, the character beginning</div><div class='del'>-	  from s + pos is valid.</div><div class='del'>-</div><div class='del'>-Sun Mar  9 13:51:21 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator.rb: Restore missing line to #params.  Patch by</div><div class='del'>-	  Lincoln Stoll &lt;lstoll at lstoll.net&gt;</div><div class='del'>-</div><div class='del'>-Sun Mar  9 09:52:00 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb: Remove debugging Kernel#p.  Patch by</div><div class='del'>-	  Lincoln Stoll &lt;lstoll at lstoll.net&gt;</div><div class='del'>-	* lib/rdoc/generator/html.rb: Fully qualify AllReferences.  Patch by</div><div class='del'>-	  Lincoln Stoll &lt;lstoll at lstoll.net&gt;</div><div class='del'>-	* lib/rdoc/ri/writer.rb: Fix 1.8 backwards compatibility.</div><div class='del'>-</div><div class='del'>-Sat Mar  8 18:50:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (isdirsep): backslash is valid path separator on cygwin too.</div><div class='del'>-</div><div class='del'>-Sat Mar  8 06:53:48 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (search_nonascii): Use VALUE instead of unsigned long</div><div class='del'>-	  because VALUE can be the fastest unsigned integer type.</div><div class='del'>-	  On LLP64 unsigned long isn't the fastest.</div><div class='del'>-	* string.c (str_strlen): ditto.</div><div class='del'>-	* string.c (str_utf8_nth): ditto.</div><div class='del'>-	* string.c (count_utf8_lead_bytes_with_ulong): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (count_utf8_lead_bytes_with_word): renamed.</div><div class='del'>-</div><div class='del'>-Fri Mar  7 21:27:43 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: fix indent.</div><div class='del'>-</div><div class='del'>-Fri Mar  7 21:12:19 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (power_cache_init, power_cache_get_power0, Init_Bignum):</div><div class='del'>-	  delayed initializing power cache per base.  [ruby-dev:34003]</div><div class='del'>-</div><div class='del'>-Fri Mar  7 20:30:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_0): fixed typo.  [ruby-core:15821]</div><div class='del'>-</div><div class='del'>-Fri Mar  7 19:56:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: rdoc added.  [ruby-Patches-9762]</div><div class='del'>-</div><div class='del'>-Thu Mar  6 17:26:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): space flag is in effect for Inf/NaN too.</div><div class='del'>-	  [ruby-dev:34002]</div><div class='del'>-</div><div class='del'>-Thu Mar  6 15:44:20 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): casting double to long is undefined</div><div class='del'>-	  if the integer part of double is out of the range of long.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 15:11:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): ignore 0 flag for NaN and Inf.</div><div class='del'>-	  [ruby-dev:33994]</div><div class='del'>-</div><div class='del'>-Thu Mar  6 15:05:25 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32}/Makefile.sub (RUNRUBY): use $(PROGRAM) instead of</div><div class='del'>-	  ruby$(EXEEXT).</div><div class='del'>-	  suggested by KIMURA Koichi &lt;kimura.koichi at canon.co.jp&gt;.</div><div class='del'>-	  [ruby-dev:34000]</div><div class='del'>-</div><div class='del'>-Thu Mar  6 14:46:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/lgamma_r.c (loggamma): return 0 for 1 and 2.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: accept errors by functions under missing/.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 14:29:44 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_transcode_bang): set coderange.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_transcode): use rb_str_transcode_bang.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 14:00:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (cbrt): add declaration.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 11:14:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-add-log-current-method): use ruby style</div><div class='del'>-	  method name format.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 11:12:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): no need of loop.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 08:30:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_freeze): call rb_class_name() directly.</div><div class='del'>-	  [ruby-core:15802]</div><div class='del'>-</div><div class='del'>-Thu Mar  6 04:32:06 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (count_utf8_lead_bytes_with_ulong): fix shift size.</div><div class='del'>-	  [ruby-dev:33993]</div><div class='del'>-</div><div class='del'>-	* string.c (str_utf8_nth) fix wrong counting.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 00:34:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): size_t returned from strlen() can be</div><div class='del'>-	  unsigned.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 00:31:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): preserve encoding of struct name.</div><div class='del'>-</div><div class='del'>-Wed Mar  5 22:49:20 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (is_utf8_lead_byte, count_utf8_lead_bytes_with_ulong):</div><div class='del'>-	  defined for UTF-8 optimization.</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): use is_utf8_lead_byte and</div><div class='del'>-	  count_utf8_lead_bytes_with_ulong.</div><div class='del'>-</div><div class='del'>-	* string.c (str_utf8_nth) ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  5 17:53:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_flock): returns false on EAGAIN if non-blocking.</div><div class='del'>-	  [ruby-core:15795]</div><div class='del'>-</div><div class='del'>-Wed Mar  5 17:43:43 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): Adjusted detection of invalid</div><div class='del'>-	  (ill-formed) UTF-8 sequences. Fixing potential security issue, see</div><div class='del'>-	  http://www.unicode.org/versions/Unicode5.1.0/#Notable_Changes.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Added two tests for above fix.</div><div class='del'>-</div><div class='del'>-Wed Mar  5 14:00:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_to_s): avoid rb_scan_args() when no argument</div><div class='del'>-	  given.</div><div class='del'>-	* bignum.c (rb_big_to_s): ditto.</div><div class='del'>-	* enum.c (enum_first): ditto.</div><div class='del'>-	* eval_jump.c (rb_f_catch): ditto.</div><div class='del'>-	* io.c (rb_obj_display): ditto.</div><div class='del'>-	* class.c (rb_obj_singleton_methods): ditto.</div><div class='del'>-	* object.c (rb_class_initialize): ditto.</div><div class='del'>-	* random.c (rb_f_srand): ditto.</div><div class='del'>-	* range.c (range_step): ditto.</div><div class='del'>-	* re.c (rb_reg_s_last_match): ditto.</div><div class='del'>-	* string.c (rb_str_to_i): ditto.</div><div class='del'>-	* string.c (rb_str_each_line): ditto.</div><div class='del'>-	* string.c (rb_str_chomp_bang): ditto.</div><div class='del'>-	* string.c (rb_str_sum): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (str_modifiable): declare inline.</div><div class='del'>-	* string.c (str_independent): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  5 11:50:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: require 'continuation' to implement "restart"</div><div class='del'>-	  command.  [ruby-dev:33992]</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (Context::debug_command): remove local variable</div><div class='del'>-	  shadowing to shut up warnings.  [ruby-dev:33992]</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (Context::display_list): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (Context::resume): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (Context::get_thread): no longer use #index for Hash.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 21:35:59 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (IRB::Irb::eval_input): SyntaxError should not be</div><div class='del'>-	  considered as IRB bug.  [ruby-dev:33991]</div><div class='del'>-</div><div class='del'>-	* lib/irb/workspace.rb (IRB::WorkSpace::filter_backtrace): should</div><div class='del'>-	  filter 'irb.rb' as well for context mode 2 and 3.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 19:10:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): should not copy key string when</div><div class='del'>-	  compare_by_identity is set.  [ruby-dev:33604]</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_equal): two hash tables are different when internal</div><div class='del'>-	  comparison table differ.  [ruby-dev:33989]</div><div class='del'>-</div><div class='del'>-Tue Mar  4 16:29:06 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): disallow non digits '0o' expression.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 14:35:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): use rb_io_open_with_args instead of rb_f_open.</div><div class='del'>-	  [ruby-core:15763]</div><div class='del'>-</div><div class='del'>-Tue Mar  4 13:41:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (add_heap): fix previous change.  [ruby-dev:33988]</div><div class='del'>-</div><div class='del'>-Tue Mar  4 10:21:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (add_heap): use binary search to find the place to insert the</div><div class='del'>-	  new heap slot.  [ruby-dev:33983]</div><div class='del'>-</div><div class='del'>-Tue Mar  4 05:30:31 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): use rb_io_open instead of rb_f_open.</div><div class='del'>-	  [ruby-core:15746]</div><div class='del'>-</div><div class='del'>-Mon Mar  3 23:28:37 2008  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb: should normalize path</div><div class='del'>-	  separators in path_info to prevent directory traversal</div><div class='del'>-	  attacks on DOSISH platforms.</div><div class='del'>-	  reported by Digital Security Research Group [DSECRG-08-026].</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb: pathnames which have</div><div class='del'>-	  not to be published should be checked case-insensitively.</div><div class='del'>-</div><div class='del'>-Mon Mar  3 17:25:45 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (add_heap): sort heaps array in ascending order to use</div><div class='del'>-	  binary search.</div><div class='del'>-</div><div class='del'>-	* gc.c (is_pointer_to_heap): use binary search to identify object</div><div class='del'>-	  in heaps.  works better when number of heap segments grow big.</div><div class='del'>-</div><div class='del'>-Mon Mar  3 17:15:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): remove too strict encoding check.</div><div class='del'>-	  [ruby-dev:33966]</div><div class='del'>-</div><div class='del'>-Mon Mar  3 16:14:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): shrinks all results in Fixnum range.</div><div class='del'>-	  [ruby-core:15713]</div><div class='del'>-</div><div class='del'>-Sun Mar  2 23:03:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetc): reduce redundant call.</div><div class='del'>-</div><div class='del'>-Sun Mar  2 10:13:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): parse shebang in us-ascii.  a patch from</div><div class='del'>-	  sheepman &lt;sheepman AT sheepman.sakura.ne.jp&gt; in [ruby-dev:33955]</div><div class='del'>-</div><div class='del'>-Sun Mar  2 00:08:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): check for successive underscores.</div><div class='del'>-	  [ruby-dev:33952]</div><div class='del'>-</div><div class='del'>-Sat Mar  1 17:59:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct argf): packed ARGF stuffs.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): use ruby_set_inplace_mode().</div><div class='del'>-</div><div class='del'>-Sat Mar  1 17:51:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (recursive_collect): do not always</div><div class='del'>-	  include all test_*.rb.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 14:14:17 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* development snapshot 1.9.0-1 released.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 13:46:26 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: make prereq uses MINIRUBY.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: allow packaging like 1.9.0-1 by second</div><div class='del'>-	  command-line argument.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 13:11:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/allpairs.rb: new file for all pairs method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb: use allpairs.rb to reduce test cases.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf_comb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 12:34:21 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_inspect): use rb_str_inspect() instead of</div><div class='del'>-	  rb_str_dump().  [ruby-dev:33946]</div><div class='del'>-</div><div class='del'>-Sat Mar  1 12:15:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.c (rb_get_method_body): ent-&gt;method may be freed by</div><div class='del'>-	  GC.  [ruby-dev:31819]</div><div class='del'>-</div><div class='del'>-	* thread.c (remove_event_hook): should not access freed memory.</div><div class='del'>-	  [ruby-dev:31820]</div><div class='del'>-</div><div class='del'>-Sat Mar  1 10:31:19 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all, rb_io_getline_fast): encoding is io_input_encoding.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 10:09:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table, rb_str_split_m, rb_str_chomp_bang):</div><div class='del'>-	  simplified with rb_enc_ascget().  [ruby-dev:33944]</div><div class='del'>-</div><div class='del'>-Sat Mar  1 10:01:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable): should not return</div><div class='del'>-	  offset in the middle of a character.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable): should not return</div><div class='del'>-	  invalid cr value.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 09:36:08 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): "%#.0o" should keep prefix where</div><div class='del'>-	  "%#.0x" should not.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 02:35:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_find_n1): check integer overflow.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 00:29:07 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_dummy_p): bootstrap encodings can not be dummy.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_ascget): no needs to call rb_enc_precise_mbclen()</div><div class='del'>-	  twice.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 23:14:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_chomp): test</div><div class='del'>-	  updated.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 20:58:09 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::test_enumerator):</div><div class='del'>-	  adjust test for zip behavior reversion.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 20:25:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): now works on UTF-16.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): negation should work on non ASCII</div><div class='del'>-	  compatible strings as well.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): awk split should work on non ASCII</div><div class='del'>-	  compatible strings as well.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 18:08:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): format should be ascii compatible.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): non ASCII compatible symbols.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): add encoding check.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_utf16.rb (TestUTF16::test_chomp): raises exception.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 15:16:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rpartition): calculation was done in byte indexing.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_start_with):</div><div class='del'>-	  allow start_with? matching on broken strings.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 15:12:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (opt_block_param): command can start just after block param</div><div class='del'>-	  definition.  [ruby-list:44479]</div><div class='del'>-</div><div class='del'>-Fri Feb 29 03:22:19 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (test_readers): fix typo.</div><div class='del'>-	  (test_strftime): "UTC" is also ok for time.gmtime.strftime("%Z").</div><div class='del'>-</div><div class='del'>-Fri Feb 29 02:50:07 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new): remove encoding assumption of empty string.</div><div class='del'>-</div><div class='del'>-	* hash.c ( rb_f_getenv, env_fetch, env_inspect): result of ENV should</div><div class='del'>-	  be always ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_s): nil.to_s should be US-ASCII.</div><div class='del'>-</div><div class='del'>-Fri Feb 29 02:24:22 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: forgot to update RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tk/text.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: remove adhoc check</div><div class='del'>-	  of Ruby's features (use existence of some classes instead of</div><div class='del'>-	  comparing with RUBY_VERSION)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/root.rb, ext/tk/lib/tk/autoload.rb: make TkRoot</div><div class='del'>-	  (Tk::Root) unswitchable</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: partial bug fix (still not work!!)</div><div class='del'>-</div><div class='del'>-Thu Feb 28 23:37:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI::Meta#meta_setup_encoding): use ASCII-8BIT</div><div class='del'>-	  for charset unspecified non-text data.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 22:19:14 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_capable): IMMEDIATE_P doesn't include Qnil and Qfalse.</div><div class='del'>-	  use SPECIAL_CONST_P.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 19:45:52 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): check type of argument and convert to String</div><div class='del'>-	  if it is StringValue. [ruby-cvs:22866]</div><div class='del'>-</div><div class='del'>-Thu Feb 28 18:07:52 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI::Meta#meta_setup_encoding): setup encoding</div><div class='del'>-	  by charset.</div><div class='del'>-	  (OpenURI::Meta#meta_add_field): call meta_setup_encoding when</div><div class='del'>-	  content-type.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 15:29:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): scan coderange.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 14:36:46 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_copy): removed.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 13:51:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (stack_check): made flag per threads.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_set_raised, rb_thread_reset_raised): prefixed.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 11:43:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_flock): immediately returns on EAGAIN if</div><div class='del'>-	  non-blocking.  [ruby-core:15672]</div><div class='del'>-</div><div class='del'>-Thu Feb 28 11:23:50 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_1): get rid of segfault.  [ruby-dev:33938]</div><div class='del'>-</div><div class='del'>-Thu Feb 28 11:19:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse_bang): removed unused variables.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_str_coderange_scan_restartable): added</div><div class='del'>-	  prototype.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable, rb_str_times): removed</div><div class='del'>-	  unused variables.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse_bang): ditto</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_copy): unused now.  may be used in future?</div><div class='del'>-</div><div class='del'>-Thu Feb 28 03:03:32 2008  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/*: make default widget set</div><div class='del'>-	  switchable between Tk (standard Tcl/Tk widget set) and</div><div class='del'>-	  Ttk (Tile). Initial default widget set is Tk. Now, toplevel</div><div class='del'>-	  widget classes are removed and defined as aliases.</div><div class='del'>-	  For example, "TkButton" is an alias of the "Tk::Button" class.</div><div class='del'>-	  Those aliases are replaced when switching default widget set.</div><div class='del'>-	  "Tk.default_widget_set=" is the method for switching default</div><div class='del'>-	  widget set. "Tk.default_widget_set = :Ttk" defines Ttk (Tile)</div><div class='del'>-	  widget set as default. It means that "TkButton" denotes</div><div class='del'>-	  "Tk::Tile::Button" class. And then, "TkButton.new" creates</div><div class='del'>-	  a Tk::Tile::Button widget. Of course, you can back to use</div><div class='del'>-	  standard Tk widgets as the default widget set by calling</div><div class='del'>-	  "Tk.default_widget_set = :Tk", whenever you want. Based on</div><div class='del'>-	  the feature, you can use Ttk widget styling engine on your</div><div class='del'>-	  old Ruby/Tk application without modifying its source, if you</div><div class='del'>-	  don't use widget options unsupported on Ttk widgets (At first,</div><div class='del'>-	  call "Tk.default_widget_set = :Ttk", and next load and run</div><div class='del'>-	  your application).</div><div class='del'>-	  This is one step for supporting Tcl/Tk8.5 features.</div><div class='del'>-</div><div class='del'>-Wed Feb 27 22:55:42 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable): coderange scanning</div><div class='del'>-	  for partial read.</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): set coderange when not convert encoding.</div><div class='del'>-</div><div class='del'>-Wed Feb 27 03:55:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, enc/make_encmake.rb: load current mkmf.rb even if</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, enc/make_encmake.rb, lib/mkmf.rb: need to be 1.8</div><div class='del'>-	  compatible for cross-compiling.</div><div class='del'>-</div><div class='del'>-Tue Feb 26 16:53:13 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-calculate-indent): should distinguish</div><div class='del'>-	  comment and # in strings.  [ruby-dev:33874]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 16:41:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (combi_len, rb_ary_product): check for overflow.</div><div class='del'>-	  [ruby-Bugs-18355]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 16:38:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_cmp): compare minimal length parts.</div><div class='del'>-</div><div class='del'>-Tue Feb 26 16:06:00 2008  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_{ec,dh,dsa,rsa}.c: Remove useless warnings.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Simplify code.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c Fix compiler warnings.</div><div class='del'>-	  Undefine #id if SSL_SESSION_get_id is not supported.</div><div class='del'>-</div><div class='del'>-Tue Feb 26 15:50:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (value_expr_gen): removed inappropriate warning.</div><div class='del'>-	  [ruby-core:15660]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 15:43:42 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (tokadd_escape): refactored.  [ruby-core:15657]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 15:30:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_eql, rb_ary_cmp): get rid of stack overflow with</div><div class='del'>-	  self-recursive constructs.  [ruby-Bugs-18356]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 01:16:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ROBJECT_NUMIV): renamed from ROBJECT_LEN.</div><div class='del'>-	  (ROBJECT_IVPTR): renamed from ROBJECT_PTR.</div><div class='del'>-</div><div class='del'>-	* variable.c: follow the above renaming.</div><div class='del'>-</div><div class='del'>-	* object.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 17:30:29 2008  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/digest.c ext/openssl/lib/openssl/digest.rb:</div><div class='del'>-	  Commit patch #9280 from Akinori MUSHA.</div><div class='del'>-	  Simplify the OpenSSL::Digest class and make use of the</div><div class='del'>-	  existing Digest framework.</div><div class='del'>-	  Enhance performance.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 15:33:29 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): initialize cache if not initialized.</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): delayed initializing cache.</div><div class='del'>-	  [ruby-dev:33930]</div><div class='del'>-</div><div class='del'>-Mon Feb 25 13:40:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): share bignum objects for RLIM_INFINITY,</div><div class='del'>-	  RLIM_SAVED_MAX and RLIM_SAVED_CUR if they are equal.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 10:41:41 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Encoding#dummy): minor grammatical fixes</div><div class='del'>-	  in rdoc documentation.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 00:01:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (clean-local): should be double-colon.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 23:39:59 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, {bcc,win}32/Makefile.sub (clean-local): remove</div><div class='del'>-	  intermediate files.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (clean-local): remove def file.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 06:49:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_set_debug_option): separated ruby_each_words().</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_each_words): extracted from ruby_set_debug_option().</div><div class='del'>-</div><div class='del'>-	* ruby.c (enable_option, disable_option): allow all for all known</div><div class='del'>-	  features.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): generalized enable/disable options.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_gems): take enabled flag.  [ruby-core:14840]</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): added --disable-rubyopt flag.</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h (ruby_each_words): prototype.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 05:25:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): check if argument for -E exists.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 05:09:43 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-label-indent): fix for labels inside</div><div class='del'>-	  blocks in switch.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 03:52:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (valid_filename): use O_EXCL to get rid of clobbering</div><div class='del'>-	  existing files in race conditions.</div><div class='del'>-</div><div class='del'>-Sat Feb 23 21:36:13 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_init_cp): should return value.</div><div class='del'>-</div><div class='del'>-Sat Feb 23 20:16:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sublen): removed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse, rb_str_reverse_bang): use</div><div class='del'>-	  single_byte_optimizable.</div><div class='del'>-</div><div class='del'>-Sat Feb 23 19:25:18 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_copy_for_substr): renamed from</div><div class='del'>-	  rb_enc_cr_str_copy.</div><div class='del'>-</div><div class='del'>-	* string.c: use rb_enc_cr_str_copy_for_substr and keep coderange.</div><div class='del'>-</div><div class='del'>-Sat Feb 23 18:50:17 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_encoding2cp): remove US-ASCII</div><div class='del'>-	  mapping.</div><div class='del'>-</div><div class='del'>-Sat Feb 23 01:09:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rlimit_resource_type): new function.</div><div class='del'>-	  (rlimit_resource_value): new function.</div><div class='del'>-	  (proc_getrlimit): use rlimit_resource_type to accept</div><div class='del'>-	  symbol and string as resource type.</div><div class='del'>-	  (proc_setrlimit): use rlimit_resource_type and rlimit_resource_value</div><div class='del'>-	  to accept symbol and string as resource type and values.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 21:12:42 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_copy): check string's coderange is 7bit or</div><div class='del'>-	  valid.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 19:50:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BIGZEROP): fix for longer Bignum zeros.  [ruby-Bugs-17454]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 15:47:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_mbclen): return minlen instead of 1 when</div><div class='del'>-	  a character is not found properly.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen): round up string length with fixed</div><div class='del'>-	  multibyte encoding such as UTF-32.</div><div class='del'>-	  (rb_enc_strlen_cr): ditto.</div><div class='del'>-	  (rb_str_substr): fix substring with fixed multibyte encoding.</div><div class='del'>-	  (rb_str_justify): check number of characters.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 12:11:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): string of ascii incompatible encoding</div><div class='del'>-	  should be escaped and returned as US-ASCII encoding.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 11:16:55 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): copy encoding although empty string.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 04:48:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): empty string's coderange is CODERANGE_7BIT.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): empty string is compatible with not</div><div class='del'>-	  only nonasciicompatible strings. [ruby-dev:33895]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 17:15:15 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: Added basic support for passing options to String#encode</div><div class='del'>-	  via a hash. Currently only one option, with one value, is supported:</div><div class='del'>-	  invalid: :ignore (dropping invalid byte sequences instead of</div><div class='del'>-	  producing an error). Option naming is not yet stable!</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Added a single test for invalid: :ignore</div><div class='del'>-	  option. Not more tests because most data does not yet distinguish</div><div class='del'>-	  between INVALID and UNKNOWN.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 16:35:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_unshift_m): expands enough for argc.  [ruby-dev:33880]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 14:49:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_set_encoding): uses current_file after check if next</div><div class='del'>-	  input is available.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 14:13:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_putc): invoke stdout method so that redefining putc</div><div class='del'>-	  may take effect.   [ruby-talk:291844]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_puts): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 11:10:49 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: replace rb_enc_copy by rb_enc_cr_str_copy or</div><div class='del'>-	  rb_enc_cr_str_exact_copy.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 10:35:04 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_asciicompat): dummy encoding is not</div><div class='del'>-	  ascii compatible. [ruby-dev:33878]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 00:01:34 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RPATHFLAG): -R option of HP-UX ld is not for runtime</div><div class='del'>-	  load path.  [ruby-list:44600]</div><div class='del'>-</div><div class='del'>-Wed Feb 20 23:55:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_map_errno): exported.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 23:28:43 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb (rl_event_hook): workaround for native</div><div class='del'>-	  windows.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 19:42:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): doesn't clear coderange</div><div class='del'>-	  when new encoding equals to old one.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 19:15:38 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_copy): added for wrapper for rb_enc_copy.</div><div class='del'>-	  this also copy coderange when ptr and len is equal.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_copy): added for wrapper for rb_enc_copy.</div><div class='del'>-	  this always copy coderange.</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace_shared): use rb_enc_str_copy.</div><div class='del'>-</div><div class='del'>-	* string.c (str_new3): don't rb_enc_copy because encoding is copied</div><div class='del'>-	  at str_replace_shared.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 13:08:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args): added --dir-mode, --script-mode and</div><div class='del'>-	  --cmd-type options.  [ruby-dev:33816]</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args): added bin-arch and bin-comm to install</div><div class='del'>-	  type, for compiled files and script files.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args): deal with make style command line macros,</div><div class='del'>-	  and count as long style options if prefixed with INSTALL_.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (makedirs): use $dir_mode.  [ruby-dev:33805]</div><div class='del'>-</div><div class='del'>-	* instruby.rb (open_for_install): set file mode, which is now</div><div class='del'>-	  permission mode instead of access mode.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (bin-comm): installs scripts with replacing shebang</div><div class='del'>-	  lines.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 10:04:22 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): set arg-&gt;io even if no options passed.</div><div class='del'>-	  [ruby-dev:33072]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 21:11:49 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen_cr): get length with coderange scan.</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): use rb_enc_strlen_cr. [ruby-dev:33849]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 20:49:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_raise_jump): moved adjustment for control frame.</div><div class='del'>-</div><div class='del'>-Tue Feb 19 18:34:32 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (STACK_LENGTH) [SPARC] : 0x80 offset removed.  [ruby-dev:33857]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 14:27:32 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_event): prevent polling.  based on</div><div class='del'>-	  a patch from error errorsson in [ruby-Bugs-17675].</div><div class='del'>-</div><div class='del'>-Tue Feb 19 11:14:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_node): no thread starts inside iseq compilation.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_raise): skip current control frame.  [ruby-core:15589]</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_div): raise as the ordinary method. [ruby-core:15589]</div><div class='del'>-</div><div class='del'>-Mon Feb 18 15:16:30 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): fix newline size.</div><div class='del'>-</div><div class='del'>-Mon Feb 18 13:06:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale#lc2kconv): check ja_JP.EUC-JP as well.</div><div class='del'>-</div><div class='del'>-Mon Feb 18 11:51:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (re_warn): defined to restore warnings for /[a-c-e]/, etc.</div><div class='del'>-</div><div class='del'>-Mon Feb 18 10:17:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/lib/expect.rb (IO#expect): check if peer is closed.</div><div class='del'>-	  [ruby-Bugs-17940]</div><div class='del'>-</div><div class='del'>-Mon Feb 18 00:33:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): don't repeat repl twice with</div><div class='del'>-	  "X".sub!(/./, sprintf("\\%c", 255)).</div><div class='del'>-</div><div class='del'>-Sun Feb 17 23:06:55 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::escapeHTML): use gsub with Hash. [ruby-dev:33828]</div><div class='del'>-</div><div class='del'>-Sun Feb 17 21:38:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (ENC_CODERANGE_AND): fix broken case. [ruby-dev:33826]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): fix broken case. [ruby-dev:33826]</div><div class='del'>-</div><div class='del'>-Sun Feb 17 20:45:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): add enable_warning parameter.</div><div class='del'>-	  (rb_reg_adjust_startpos): disable warning by rb_reg_prepare_re.</div><div class='del'>-	  (rb_reg_search): follow rb_reg_prepare_re parameter change.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 20:12:41 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add tests to achieve over 90% test</div><div class='del'>-	  coverage of re.c.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 15:25:08 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (ENC_CODERANGE_AND): added.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_plus, rb_str_times): keep coderange.</div><div class='del'>-</div><div class='del'>-	* parse.y (STR_NEW0) use rb_usascii_str_new.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 14:07:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): rb_enc_strlen doesn't fail.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 13:03:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sublen): use rb_enc_strlen.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 12:17:52 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/{euc_jp.c,gbk.c,iso_8859_1.c,iso_8859_11.c,iso_8859_13.c,</div><div class='del'>-	  iso_8859_2.c,iso_8859_6.c,iso_8859_7.c,iso_8859_8.c,iso_8859_9.c,</div><div class='del'>-	  shift_jis.c,windows_1251.c}: add document about encodings.</div><div class='del'>-</div><div class='del'>-	* enc/cp949.c: divided into new file.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 10:59:04 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_quote): return US-ASCII string consistently.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 09:17:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): reduce loop overhead.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 03:37:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/re.h (struct rmatch_offset): new struct for character</div><div class='del'>-	  offsets.</div><div class='del'>-	  (struct rmatch): new struct.</div><div class='del'>-	  (struct RMatch): reference struct rmatch.</div><div class='del'>-	  (RMATCH_REGS): new macro.</div><div class='del'>-</div><div class='del'>-	* re.c (match_alloc): initialize struct rmatch.</div><div class='del'>-	  (pair_byte_cmp): new function.</div><div class='del'>-	  (update_char_offset): update character offsets.</div><div class='del'>-	  (match_init_copy): copy regexp and character offsets.</div><div class='del'>-	  (match_sublen): removed.</div><div class='del'>-	  (match_offset): use update_char_offset.</div><div class='del'>-	  (match_begin): ditto.</div><div class='del'>-	  (match_end): ditto.</div><div class='del'>-	  (rb_reg_search): make character offset updated flag false.</div><div class='del'>-	  (match_size): use RMATCH_REGS.</div><div class='del'>-	  (match_backref_number): ditto.</div><div class='del'>-	  (rb_reg_nth_defined): ditto.</div><div class='del'>-	  (rb_reg_nth_match): ditto.</div><div class='del'>-	  (rb_reg_match_pre): ditto.</div><div class='del'>-	  (rb_reg_match_post): ditto.</div><div class='del'>-	  (rb_reg_match_last): ditto.</div><div class='del'>-	  (match_array): ditto.</div><div class='del'>-	  (match_aref): ditto.</div><div class='del'>-	  (match_values_at): ditto.</div><div class='del'>-	  (match_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpat_set): use RMATCH_REGS.</div><div class='del'>-	  (rb_str_sub_bang): ditto.</div><div class='del'>-	  (str_gsub): ditto.</div><div class='del'>-	  (rb_str_split_m): ditto.</div><div class='del'>-	  (scan_once): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): free character offsets.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 03:13:40 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: made version infos confirm to OS spec.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32}/Makefile.sub (*.rc): add dependency.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 20:49:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): optimized for UTF-8.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 18:13:53 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): check encoding incapable arguments.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 20:12:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_inspect): avoid SEGV with MatchData.allocate.inspect.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 19:04:17 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): revert r15507. [ruby-dev:33810]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 18:25:14 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): little more optimization.</div><div class='del'>-	  (rb_enc_nth): remove needless variable 'c'.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 18:00:13 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): empty strings are always compatible.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 16:14:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen): UTF-8 character count moved to str_strlen.</div><div class='del'>-	  (str_strlen): UTF-8 character count is only applicable for valid</div><div class='del'>-	  UTF-8 string.  [ruby-dev:33807]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 13:16:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): stringize replacing hash values.</div><div class='del'>-	  (str_gsub): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 13:01:33 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen): add search_nonascii like character</div><div class='del'>-	  counter for UTF-8.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 11:53:35 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_strlen): moved to string.c.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_strlen): use search_nonascii.</div><div class='del'>-	  (str_strlen): don't use search_nonascii.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 11:45:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/require_relative.rb: check require_relative call in eval.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 08:00:01 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set default_external before loading</div><div class='del'>-	  libraries. [ruby-dev:33801]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 05:49:54 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_{4,13}.c: Windows-1257 is replica of ISO-8859-13.</div><div class='del'>-</div><div class='del'>-	* string.c (single_byte_optimizable): rb_enc_mbminlen must be 1</div><div class='del'>-	  when rb_enc_mbmaxlen is 1.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 03:43:18 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_nth): moved to string.c.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_nth): moved from string.c.  use search_nonascii</div><div class='del'>-	  for ASCII compatible string.</div><div class='del'>-	  (str_nth): wrong optimization removed to fix</div><div class='del'>-	  "a".force_encoding("EUC-JP").slice!(0,10) returns</div><div class='del'>-	  "a\x00\x00\x00\x00\x00\x00\x00\x00\x00"</div><div class='del'>-</div><div class='del'>-Sat Feb 16 00:21:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_beg_len): check if responds to "begin" and "end"</div><div class='del'>-	  methods for non-Range object.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 20:29:42 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_init_cp): initialize WIN32OLE.codepage</div><div class='del'>-	  according to Encoding.default_external.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 19:31:23 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h (NODE_FL_NEWLINE): renamed from NODE_NEWLINE</div><div class='del'>-	  to denote its a flag.  [ruby-core:15529]</div><div class='del'>-</div><div class='del'>-Fri Feb 15 18:23:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang, str_gsub): allows hash for replacement.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 17:12:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): use search_nonascii() for performance.</div><div class='del'>-</div><div class='del'>-	* string.c (str_nth): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 16:22:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): allow specifying both :mode and :encoding.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 15:34:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_getbyte): new method.</div><div class='del'>-	  (rb_str_setbyte): new method.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 15:29:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/require_relative.rb: new file.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 15:23:12 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): check upper bound.  a patch from</div><div class='del'>-	  Daniel Luz at [ruby-Bugs-17910].</div><div class='del'>-</div><div class='del'>-Fri Feb 15 10:35:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_quote): set US-ASCII for ASCII-only string.</div><div class='del'>-	  [ruby-dev:33785]</div><div class='del'>-</div><div class='del'>-Fri Feb 15 10:27:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {win,bcc}32/Makefile.sub (config.h): added HAVE_FTRUNCATE.</div><div class='del'>-	  [ruby-dev:33786]</div><div class='del'>-</div><div class='del'>-Fri Feb 15 09:44:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_compile_gen): reg_fragment_setenc might not raise an</div><div class='del'>-	  exception before rb_reg_compile.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 07:37:40 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb: Preserve compatibility with 1.8.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 02:42:25 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ftruncate): check if available.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): check if ftruncate instead of truncate.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 02:40:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (sigsetmask): check when signal semantics is not POSIX.</div><div class='del'>-</div><div class='del'>-	* signal.c (USE_TRAP_MASK): set true if sigprocmask or sigsetmask is</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 23:56:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): append a newline to rest lines.</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_compile_gen): appends error message from</div><div class='del'>-	  rb_reg_compile() to one from reg_fragment_setenc().</div><div class='del'>-</div><div class='del'>-Thu Feb 14 21:00:14 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): check STDIN, STDOUT and STDERR mode according to</div><div class='del'>-	  stdio streams.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 16:07:40 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: actual-expected argument ordering for</div><div class='del'>-	  test_math.rb fixed.  a patch from Tadashi Saito</div><div class='del'>-	  &lt;shiba AT mail2.accsnet.ne.jp&gt; in [ruby-dev:33770].</div><div class='del'>-</div><div class='del'>-Thu Feb 14 16:02:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_utime): inhibits with secure level 2 or higher.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 12:30:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess_dregexp): use non-preprocessed regexp source</div><div class='del'>-	  for result.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 01:43:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout::timeout): made sensitive to location on the</div><div class='del'>-	  stack.  [ruby-core:15458]</div><div class='del'>-</div><div class='del'>-Thu Feb 14 00:49:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (INSTRUBY_ARGS): pass mode to install.  [ruby-dev:33766]</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args): added --data-mode and --prog-mode options.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 00:02:19 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): allow to eval in a binding that has a singleton method.</div><div class='del'>-	  [ruby-dev:33763]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add tests to achieve over 70% test coverage</div><div class='del'>-	  of proc.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 22:46:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#sub_ext): new method.  [ruby-list:44608]</div><div class='del'>-</div><div class='del'>-Wed Feb 13 21:50:32 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_curry): new method. [ruby-dev:33676]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 20:48:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RObject): add iv_index_tbl for shortcut of</div><div class='del'>-	  RCLASS_IV_INDEX_TBL(rb_obj_class(obj)).</div><div class='del'>-	  (ROBJECT_IV_INDEX_TBL): defined.</div><div class='del'>-</div><div class='del'>-	* object.c (init_copy): initialize iv_index_tbl in struct RObject.</div><div class='del'>-</div><div class='del'>-	* variable.c (ivar_get): use ROBJECT_IV_INDEX_TBL.</div><div class='del'>-	  (rb_ivar_defined): ditto.</div><div class='del'>-	  (obj_ivar_each): ditto.</div><div class='del'>-	  (rb_obj_remove_instance_variable): ditto.</div><div class='del'>-	  (rb_ivar_set): update iv_index_tbl in struct RObject.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 16:21:48 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb: revert r15442. 2nd argument of String#sub parse</div><div class='del'>-	  escapes. [ruby-dev:33726]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb, enc/depend, instruby.rb, lib/mkmf.rb,</div><div class='del'>-	  mkconfig.rb: revert r15443. ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 11:20:26 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: fix typo.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: revert r15443. "\\1#{sep}\\2" is wrong if sep is ended</div><div class='del'>-	  with "\\".</div><div class='del'>-</div><div class='del'>-Wed Feb 13 08:57:21 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/inline.rb:  Allow inline markup to have a leading</div><div class='del'>-	  '#' or '\', or trailing punctuation.  i.e. *#freeze?*, *\foo?*.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 07:21:23 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/to_html_hyperlink.rb:  Moved linking to to_html.rb, move</div><div class='del'>-	  crossref to to_html_crossref.rb</div><div class='del'>-</div><div class='del'>-Wed Feb 13 04:15:44 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_concat_gen, arg_append_gen): optimize for array push.</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_concat_gen): optimize for array concat.</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_add_gen): removed since identical to arg_append_gen.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 21:04:51 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (exc_list): should use mrhs if non array.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 20:32:50 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb (floor, ceil, truncate, round): do not use</div><div class='del'>-	  definitions of Numeric.</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb (to_i): should returns truncated self.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb (numerator): requires</div><div class='del'>-	  Integer#{numerator,denominator}.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb (quo): do not use definition of Numeric.</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb (&gt;, &gt;=, &lt;, &lt;=, between?, div, divmod, modulo,</div><div class='del'>-	  floor, ceil, truncate, round): undef'ed.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Rational#inspect): removed.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 16:48:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (args, mrhs): flattens literal array splats.</div><div class='del'>-</div><div class='del'>-	* parse.y (exc_list): splat literal array.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 15:27:19 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend,</div><div class='del'>-	  instruby.rb, lib/mkmf.rb, lib/test/unit/util/procwrapper.rb,</div><div class='del'>-	  mkconfig.rb, sample/test.rb, template/vm.inc.tmpl,</div><div class='del'>-	  test/ruby/test_stringchar.rb: fixes around String#gsub.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 15:11:47 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/pure/generator.rb,</div><div class='del'>-	  ext/json/lib/json/pure/parser.rb, ext/openssl/lib/openssl/x509.rb,</div><div class='del'>-	  ext/win32ole/sample/olegen.rb, lib/date/format.rb, lib/irb/context.rb,</div><div class='del'>-	  lib/irb/workspace.rb, lib/net/http.rb, lib/net/imap.rb,</div><div class='del'>-	  lib/rdoc/generator.rb, lib/rdoc/markup/to_html.rb,</div><div class='del'>-	  lib/rdoc/markup/to_latex.rb, lib/rdoc/parsers/parse_c.rb,</div><div class='del'>-	  lib/rdoc/ri/formatter.rb, lib/rexml/parsers/baseparser.rb,</div><div class='del'>-	  lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rss/parser.rb,</div><div class='del'>-	  lib/uri/common.rb, lib/uri/generic.rb, lib/webrick/httpresponse.rb,</div><div class='del'>-	  lib/webrick/httpservlet/filehandler.rb, lib/yaml/baseemitter.rb,</div><div class='del'>-	  lib/yaml/encoding.rb: performance tuning around String#gsub.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 12:16:45 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash_cmp): lighter version of rb_str_cmp() for</div><div class='del'>-	  hash comparison function.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_cmp): use rb_str_hash_cmp().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): should return nil for incompatible</div><div class='del'>-	  comparison.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 12:13:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: specify file mode to install.  a patch from</div><div class='del'>-	  pegacorn  &lt;subscriber.jp AT gmail.com&gt; in [ruby-dev:33699].</div><div class='del'>-</div><div class='del'>-Tue Feb 12 11:38:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_coerce_bin): add ID argument to specify</div><div class='del'>-	  caller's method name.  [ruby-dev:33663]</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_coerce_cmp): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_coerce_relop): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (DoSomeOne): add function name argument.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 10:25:02 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb:  Wrap parse_files' read in version check for</div><div class='del'>-	  backwards compatibility.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 10:15:14 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): enc must effect source encoding.</div><div class='del'>-	  [ruby-core:15496]</div><div class='del'>-</div><div class='del'>-Tue Feb 12 10:16:47 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/paths.rb:  Restore require rubygems check.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 02:42:27 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_include): specialize single character string</div><div class='del'>-	  case (e.g. (?a ..?z).include(?x)) for performance.</div><div class='del'>-	  [ruby-core:15481]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): specialize single character case.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash): omit coderange scan for performance.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_check_to_integer): check Fixnum first.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_to_integer): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_equal): inline memcmp to avoid unnecessary</div><div class='del'>-	  rb_str_comparable().</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): use US-ASCII encoding.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern_str): ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 17:21:18 2008  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION), test/rss/test_version.rb:</div><div class='del'>-	  0.2.3 -&gt; 0.2.4.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb, lib/rss/maker/, test/rss/test_maker_2.0.rb:</div><div class='del'>-	  fixed a bug that RSS::Maker.make("0.9")'s item doesn't make some</div><div class='del'>-	  elements if description is missed.</div><div class='del'>-	  Reported by Michael Auzenne. Thanks!!!</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/0.9.rb, test/rss/test_maker_0.9.rb:</div><div class='del'>-	  RSS::Maker.make("0.9") generates RSS 0.92 not RSS 0.91.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 10:43:31 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): the encoding of DATA follows the source</div><div class='del'>-	  file encoding. [ruby-dev:33693]</div><div class='del'>-</div><div class='del'>-Mon Feb 11 06:50:42 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: fix tests for 64bit CPU.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 00:18:57 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (Job::Benchmark#item): fix typo.</div><div class='del'>-</div><div class='del'>-Sun Feb 10 21:58:32 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encdb, transdb): depend on $(PREP).</div><div class='del'>-</div><div class='del'>-Sun Feb 10 16:58:20 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*, test/rubygems*, gem_prelude.rb: Import RubyGems</div><div class='del'>-	  r1601.  [ruby-core:15381]</div><div class='del'>-</div><div class='del'>-Sun Feb 10 15:07:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (MISSING): added cbrt.obj.</div><div class='del'>-</div><div class='del'>-Sun Feb 10 12:58:33 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb: Make some attributes accessible for reuse.</div><div class='del'>-	* lib/rdoc/generator/html.rb: Pull out ContextUser classes and related</div><div class='del'>-	  methods for reuse.</div><div class='del'>-	* lib/rdoc/generator.rb: Move ContextUser classes to</div><div class='del'>-	  RDoc::Generator::Context for reuse.</div><div class='del'>-	* lib/rdoc/rdoc.rb: Make RDoc::RDoc initialization a little easier.</div><div class='del'>-	* lib/rdoc/options.rb: Make RDoc::Options easier to use without</div><div class='del'>-	  parsing an ARGV.</div><div class='del'>-	* lib/rdoc/markup/to_*.rb: Subclass RDoc::Markup::Formatter.</div><div class='del'>-	* lib/rdoc/markup/formatter.rb: Add RDoc::Markup::Formatter to make</div><div class='del'>-	  RDoc markup conversion easier.</div><div class='del'>-	* lib/rdoc/markup/fragments.rb: Make RDoc::Markup::ListItem easier to</div><div class='del'>-	  test.</div><div class='del'>-	* lib/rdoc/markup/to_html_hyperlink.rb: Pulled out of the HTML</div><div class='del'>-	  generator for easier reusability.</div><div class='del'>-	* lib/rdoc/markup.rb: Fix bug with labeled lists containing bullet</div><div class='del'>-	  lists.</div><div class='del'>-	* lib/rdoc/generators/html/html.rb: Fix Constant display.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 23:44:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/tgamma.c (tgamma): use lgamma_r if available.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 23:22:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/extconf.rb: simplified the condition.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 21:20:28 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: add tests for Math.gamma, Math.lgamma and</div><div class='del'>-	  Math.cbrt, and use assert_in_delta instead of assert.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 18:34:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_cbrt): new method Math.cbrt.</div><div class='del'>-</div><div class='del'>-	* configure.in (cbrt): check for replacement functions.</div><div class='del'>-</div><div class='del'>-	* missing/cbrt.c: new file.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 17:51:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): use strtod() for more</div><div class='del'>-	  precision.  [ruby-talk:290296]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BASE_FIG): made constant.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/extconf.rb: ditto.  [ruby-dev:33658]</div><div class='del'>-</div><div class='del'>-Sat Feb  9 12:06:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/tgamma.c (tgamma): add error check.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 11:47:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_gamma): add error check.</div><div class='del'>-	  (math_lgamma): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 11:09:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/lgamma_r.c (lgamma_r): return HUGE_VAL for non-positive</div><div class='del'>-	  integers.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 10:03:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4): copy encoding from orig, instead of shared</div><div class='del'>-	  one.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 01:01:38 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (lchmod_internal): fix warning cast from pointer to integer of</div><div class='del'>-	  different size.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 00:44:52 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (IRB::Irb::eval_input): rescues Interrupt and other than</div><div class='del'>-	  SystemExit and SignalException.  [ruby-core:15359]</div><div class='del'>-</div><div class='del'>-Fri Feb  8 23:51:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/lgamma_r.c (lgamma_r): use smaller argument for sin function.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 22:10:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_http): rescue URI::InvalidURIError by</div><div class='del'>-	  URI.parse for location URI.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 19:22:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (rb_str_derive): uses rb_str_subseq() for byte</div><div class='del'>-	  length.  [ruby-dev:33653]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): added toidx argument to set</div><div class='del'>-	  encoding of successfully converted string.  [ruby-dev:33221]</div><div class='del'>-</div><div class='del'>-Fri Feb  8 15:09:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (xsystem): expand macros like as make.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 09:27:57 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (read_yaml): remove SM* for compatibility.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 00:07:24 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: follow the change of Hash#flatten.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: add tests to achieve over 70% test coverage</div><div class='del'>-	  of time.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_prec.rb: ditto over 90% for prec.c.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 19:11:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dup): reverted unneeded change.  [ruby-dev:33634]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_replace): makes frozen shared string before</div><div class='del'>-	  sharing.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 16:33:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): don't change access mode for stdin, stdout and</div><div class='del'>-	  stderr.  [ruby-core:15360]</div><div class='del'>-</div><div class='del'>-Thu Feb  7 16:33:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace_shared): replaces string with sharing.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4, rb_str_associate, rb_str_associated): allows</div><div class='del'>-	  associated strings shared.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dup, rb_str_substr, rb_str_replace): shares memory.</div><div class='del'>-	  [ruby-core:15400]</div><div class='del'>-</div><div class='del'>-Thu Feb  7 15:42:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_end_with): compares with the suffix.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 15:03:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/korean.c: add support for CP949 by Park Ji-In.</div><div class='del'>-	  [ruby-dev:33626]</div><div class='del'>-</div><div class='del'>-Thu Feb  7 11:11:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/lgamma_r.c (lgamma_r): some compilers don't permit dividing</div><div class='del'>-	  by literal 0.0. use const variable instead.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (MISSING): add lgamma_r.obj and</div><div class='del'>-	  tgamma.obj.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 10:39:21 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_gamma): new method Math.gamma.</div><div class='del'>-	  (math_lgamma): new method Math.lgamma.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (tgamma): declared unless HAVE_TGAMMA.</div><div class='del'>-	  (lgamma_r): declared unless HAVE_LGAMMA_R.</div><div class='del'>-</div><div class='del'>-	* configure.in (tgamma): check for replacement functions.</div><div class='del'>-	  (lgamma_r): ditto.</div><div class='del'>-</div><div class='del'>-	* missing/tgamma.c: new file.  based on gamma.c from</div><div class='del'>-	  "C-gengo niyoru saishin algorithm jiten" (New Algorithm handbook</div><div class='del'>-	  in C language) (Gijyutsu hyouron sha, Tokyo, 1991)</div><div class='del'>-	  by Haruhiko Okumura.</div><div class='del'>-</div><div class='del'>-	* missing/lgamma_r.c: ditto.</div><div class='del'>-</div><div class='del'>-	* LEGAL (missing/tgamma.c): describe as public domain.</div><div class='del'>-	  (missing/lgamma_r.c): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 09:05:57 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_enc_from_index): BINARY does not</div><div class='del'>-	  have in-bound encoding index.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 04:26:28 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/korean.c: add EUC-KR conversion support by Park Ji-In.</div><div class='del'>-	  [ruby-dev:33621]</div><div class='del'>-</div><div class='del'>-Wed Feb  6 01:47:39 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_flatten): do not flatten recursively by default.</div><div class='del'>-	  [ruby-dev:33603]</div><div class='del'>-</div><div class='del'>-Wed Feb  6 00:50:19 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (adjuststack): never use INC_SP with minus value because</div><div class='del'>-	  some compilers cannot deal it correctly. use DEC_SP instead.</div><div class='del'>-</div><div class='del'>-Wed Feb  6 00:48:41 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of hash.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb  6 00:24:49 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_rassoc): remove access to free'd environment on mswin32.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 21:57:34 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_call_super): pass a passed block when super is called via</div><div class='del'>-	  rb_call_super.  [ruby-dev:33598]</div><div class='del'>-</div><div class='del'>-Tue Feb  5 11:14:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (INSTALL_DIRS, install_dirs): added BINDIR.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (install_files): rejects files matching to</div><div class='del'>-	  $NONINSTALLFILES.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): defaults $NONINSTALLFILES to backup and</div><div class='del'>-	  temporary files.</div><div class='del'>-</div><div class='del'>-Mon Feb  4 21:52:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass): use define_method instead of</div><div class='del'>-	  module_eval to improve performance.  [ruby-dev:33586]</div><div class='del'>-</div><div class='del'>-Mon Feb  4 16:44:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): NSIG is not defined if _XOPEN_SOURCE &gt; 500L.</div><div class='del'>-	  [ruby-dev:33584]</div><div class='del'>-</div><div class='del'>-Mon Feb  4 14:51:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname2_p): support "!", "!=" and "!~".</div><div class='del'>-	  [ruby-dev:33592]</div><div class='del'>-</div><div class='del'>-Mon Feb  4 13:58:42 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator.preserved, DelegateClass.methods): extend</div><div class='del'>-	  shouldn't be delegated. [ruby-dev:32987], etc.</div><div class='del'>-</div><div class='del'>-Mon Feb  4 08:59:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::[]): no more transition</div><div class='del'>-	  extend(CGI::Value).  a patch from &lt;tommy AT tmtm.org&gt; in</div><div class='del'>-	  [ruby-dev:33583].</div><div class='del'>-</div><div class='del'>-Sun Feb  3 21:13:13 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb: forgot to add this (at r15360).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: add tests to achieve over 80% test</div><div class='del'>-	  coverage of file.c.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 20:06:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (Benchmark::realtime): make Benchmark#realtime</div><div class='del'>-	  a bit faster.  a patch from Alexander Dymo &lt;dymo AT ukrpost.ua&gt; in</div><div class='del'>-	  [ruby-core:15337].</div><div class='del'>-</div><div class='del'>-Sat Feb  2 17:40:21 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_cmp): Time.&lt;=&gt; no longer supports comparison with</div><div class='del'>-	  numeric. [ruby-core:15332]</div><div class='del'>-</div><div class='del'>-Sat Feb  2 09:53:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): disabled fat-binary support which confuses</div><div class='del'>-	  configure much, since ``universal'' implies hidden cross-compiling.</div><div class='del'>-	  TODO: ruby and libruby.bundle might be possible to bound with `lipo'</div><div class='del'>-	  after builds for each archs.  Anyway, config.h and rbconfig.rb must</div><div class='del'>-	  be separated definitely at least.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 09:28:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (limited_big_rand): fix buffer overflow when SIZEOF_BDIGITS</div><div class='del'>-	  is 2.  fixed by Kenta Murata.  [ruby-dev:33565]</div><div class='del'>-</div><div class='del'>-Fri Feb  1 21:42:37 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): _XOPEN_SOURCE is necessary to make ucontext_t</div><div class='del'>-	  consistent with the library implementation of MacOS X 10.5.</div><div class='del'>-	  [ruby-dev:33461]</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): ucontext on PowerPC MacOS X 10.5 is broken.</div><div class='del'>-</div><div class='del'>-Fri Feb  1 11:44:22 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb (C_ESC): use octal escape to avoid</div><div class='del'>-	  "\x09for (;;) ..." to be interpret the first character 0x9f.</div><div class='del'>-</div><div class='del'>-Thu Jan 31 23:06:42 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: suppress warnings during test.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: add tests to achieve over 90% test</div><div class='del'>-	  coverage of numeric.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of pack.c.</div><div class='del'>-</div><div class='del'>-Thu Jan 31 17:30:42 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): no need to call r_entry for immediate values.</div><div class='del'>-</div><div class='del'>-Thu Jan 31 15:46:30 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/formatter.rb (output): add accessor.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/display.rb (page): replace @formatter.output instead of</div><div class='del'>-	  $stdout.</div><div class='del'>-</div><div class='del'>-Thu Jan 31 15:06:50 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): call r_entry/r_leave to call proc when</div><div class='del'>-	  TYPE_FIXNUM, TYPE_NIL, TYPE_TRUE, TYPE_FALSE, TYPE_SYMBOL.</div><div class='del'>-</div><div class='del'>-Thu Jan 31 14:03:38 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/display.rb (display_method_list, display_class_list):</div><div class='del'>-	  use @formatter.raw_print_line instead of puts.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (select_methods): new method to collect all</div><div class='del'>-	  instance/class methods which match with passed pattern.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (run): use class_cache's result directly</div><div class='del'>-	  instead of select_classes' because it's removed now.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (run): search methods when passed name is not</div><div class='del'>-	  class name. [ruby-core:15309]</div><div class='del'>-</div><div class='del'>-Thu Jan 31 08:31:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/extmk.rb, instruby.rb): inlined $(MAKE) so that can</div><div class='del'>-	  be executed even with -n.</div><div class='del'>-</div><div class='del'>-Thu Jan 31 06:24:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_read): replaces fptr with the tied writer if</div><div class='del'>-	  duplex.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_write): unties the tied IO for writing if duplex.</div><div class='del'>-	  [ruby-dev:33532]</div><div class='del'>-</div><div class='del'>-Thu Jan 31 02:22:04 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): allow encoding key to take two encoding</div><div class='del'>-	  names.  a patch from &lt;rubikitch AT ruby-lang.org&gt;.  [ruby-dev:33540]</div><div class='del'>-</div><div class='del'>-Thu Jan 31 02:15:49 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dsym): allow empty symbols.  [ruby-core:15248]</div><div class='del'>-</div><div class='del'>-Thu Jan 31 00:01:51 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (select_internal): fix SEGV by `select [STDIN],nil,[STDIN]'.</div><div class='del'>-	  fixed by Petr Chromec.</div><div class='del'>-	  http://rubyforge.org/tracker/index.php?func=detail&amp;aid=17275&amp;group_id=426&amp;atid=1698</div><div class='del'>-</div><div class='del'>-Wed Jan 30 17:32:49 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/*.c: add GB12345, UCS-{2,4}{BE,LE}.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 14:32:18 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (cache_file_for): shouldn't use `:' in filename.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 14:27:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): use wrapped character as a carry for</div><div class='del'>-	  ASCII incompatible encoding.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 12:26:59 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_16be.c (UTF16_IS_SURROGATE_FIRST): avoid branch.</div><div class='del'>-	  (UTF16_IS_SURROGATE_SECOND): ditto.</div><div class='del'>-	  (UTF16_IS_SURROGATE): defined.</div><div class='del'>-	  (utf16be_mbc_enc_len): validation implemented.</div><div class='del'>-</div><div class='del'>-	* enc/utf_16le.c (UTF16_IS_SURROGATE_FIRST): avoid branch.</div><div class='del'>-	  (UTF16_IS_SURROGATE_SECOND): ditto.</div><div class='del'>-	  (UTF16_IS_SURROGATE): defined.</div><div class='del'>-	  (utf16le_mbc_enc_len): validation implemented.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 12:06:43 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): '0_2' is a valid representation.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 11:57:50 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: fix -I../../hoge case.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 01:25:16 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: add tests to achieve over 90% test coverage</div><div class='del'>-	  of range.c.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 00:09:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_tw.c (euctw_mbc_enc_len): validation implemented.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 22:58:11 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: add tests to achieve over 90% test</div><div class='del'>-	  coverage of enumerator.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb: add for enum.c.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 22:29:48 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: fix documents.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 22:27:11 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c: fix SEGV by ("a" .. "z").step(2 ** 30) { }.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 21:59:16 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_tw.c (euctw_islead): 0x8e is a leading byte.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 21:55:35 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: move object allocation out of blocking_region.</div><div class='del'>-	  [ruby-dev:33139]</div><div class='del'>-</div><div class='del'>-Tue Jan 29 20:37:36 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/make_transdb.rb: add for make transdb.h.</div><div class='del'>-</div><div class='del'>-	* dmytranscode.c: add for miniruby.</div><div class='del'>-</div><div class='del'>-	* enc/gbk.c (gbk_left_adjust_char_head, gbk_is_allowed_reverse_match):</div><div class='del'>-	  fix odd regexp match. [ruby-dev:33502]</div><div class='del'>-</div><div class='del'>-Tue Jan 29 20:17:06 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32}/Makefile.sub (MINIOBJS): add dmytranscode.$(OBJEXT).</div><div class='del'>-</div><div class='del'>-Tue Jan 29 19:39:40 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, common.mk: fix rule for dmytranscode.o.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 19:03:16 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (rb_to_Windows_31J): to 'Windows-31J'.</div><div class='del'>-</div><div class='del'>-	* common.mk: add rules for transdb.h.</div><div class='del'>-</div><div class='del'>-	* transcode.c (init_transcoder_table): use transdb.h.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 18:05:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (encdb_{replicate,alias,dummy,declare}): define only if</div><div class='del'>-	  NO_ENCDB_H is not defined.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 17:54:11 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/gbk.c (EncLen_gbk): too short. [ruby-dev:33497]</div><div class='del'>-</div><div class='del'>-Tue Jan 29 17:25:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dmyencoding.c, encoding.c (enc_init_db, NO_ENCDB_H):</div><div class='del'>-	  miniruby doesn't use encdb.</div><div class='del'>-</div><div class='del'>-	* common.mk: encdb.h use miniruby.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 17:37:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/gb18030.c (gb18030_mbc_enc_len): validation implemented.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 17:01:07 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ifchange: remove $temp when unchanged.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 16:59:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (toregexp): generate a regexp from strings instead of one</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_new_ary): defined for toregexp.  it concatenates</div><div class='del'>-	  strings after each string is preprocessed.</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_dstr_fragments): split from compile_dstr.</div><div class='del'>-	  (compile_dstr): call compile_dstr_fragments.</div><div class='del'>-	  (compile_dregx): defined for dynamic regexp.</div><div class='del'>-	  (iseq_compile_each): use compile_dregx for dynamic regexp.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:33400]</div><div class='del'>-</div><div class='del'>-Tue Jan 29 16:25:26 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, ext/extmk.rb: always make encdb.h.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 12:53:39 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/gbk.c: add GBK, CP936 and CP949.</div><div class='del'>-</div><div class='del'>-	* enc/euc_kr.c: remove CP949.</div><div class='del'>-</div><div class='del'>-	* enc/euc_cn.c: remove CP936 and rename to gb2312.c</div><div class='del'>-</div><div class='del'>-	* enc/gb2312.c: GB2312 is preferred MIME name.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 03:01:29 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_fragment_setenc_gen): US-ASCII script special code.</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_fragment_check_len, reg_compile_gen): no need such</div><div class='del'>-	  trick.</div><div class='del'>-	  [ruby-dev:33399]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_regexp_usacii_literal): add tests.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 01:38:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk ($(srcdir)/revision.h): no need to show ifchange execution</div><div class='del'>-	  because ifchange echos updated or unchanged.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 01:26:23 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (up): use last changed revision.</div><div class='del'>-</div><div class='del'>-	* common.mk (up): force to update revision.h.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 00:12:17 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): should be US-ASCII.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 00:10:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-set-encoding): updates magic comment.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 23:47:52 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id2str, ripper_initialize, Init_ripper):</div><div class='del'>-	  use rb_usascii_str_new2. [ruby-dev:33449]</div><div class='del'>-</div><div class='del'>-Mon Jan 28 19:37:08 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_cp2encoding): new function.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_wc2vstr, ole_variant2val, fole_missing):</div><div class='del'>-	  set encoding to result.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_s_set_code_page, Init_win32ole): set</div><div class='del'>-	  default encoding.</div><div class='del'>-	  [ruby-dev:33433]</div><div class='del'>-</div><div class='del'>-Mon Jan 28 11:17:28 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c, parse.y, re.c: use rb_ascii8bit_encoding.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 17:54:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_7.h: add dummy encoding UTF-7 and its alias CP65000.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 17:41:19 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: add alias CP65001.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 15:33:23 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/big5.c (big5_mbc_enc_len): validation implemented.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 13:02:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_kr.c (euckr_mbc_enc_len): validation implemented.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 11:24:49 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_str_new): encoding of UTF-8 literal string in</div><div class='del'>-	  US-ASCII script is UTF-8. [ruby-dev:33406]</div><div class='del'>-</div><div class='del'>-Mon Jan 28 10:25:59 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_magic_comment): add test.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 09:34:54 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): use double quotes for nmake.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 00:39:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_encode): check if encoding is ASCII compatible.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 01:21:15 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): should check NUL in path.</div><div class='del'>-	  &lt;http://www.rubyist.net/~matz/20080125.html#c01&gt;.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 23:33:35 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix for left justify flag.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): zero-precision zero bug revised.</div><div class='del'>-	  [ruby-dev:33419]</div><div class='del'>-</div><div class='del'>-Sun Jan 27 23:20:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: precise mbclen API redesigned to avoid</div><div class='del'>-	  inline functions.</div><div class='del'>-	  (onigenc_mbclen_charfound): removed.</div><div class='del'>-	  (onigenc_mbclen_needmore): removed.</div><div class='del'>-	  (onigenc_mbclen_recover): removed.</div><div class='del'>-	  (ONIGENC_MBCLEN_CHARFOUND): removed.</div><div class='del'>-	  (ONIGENC_MBCLEN_CHARFOUND_P): defined.</div><div class='del'>-	  (ONIGENC_MBCLEN_CHARFOUND_LEN): defined.</div><div class='del'>-	  (ONIGENC_MBCLEN_INVALID): removed.</div><div class='del'>-	  (ONIGENC_MBCLEN_INVALID_P): defined.</div><div class='del'>-	  (ONIGENC_MBCLEN_NEEDMORE): removed.</div><div class='del'>-	  (ONIGENC_MBCLEN_NEEDMORE_P): defined.</div><div class='del'>-	  (ONIGENC_MBCLEN_NEEDMORE_LEN): defined.</div><div class='del'>-	  (ONIGENC_MBC_ENC_LEN): use onigenc_mbclen_approximate.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_mbclen_approximate): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (MBCLEN_CHARFOUND): removed.</div><div class='del'>-	  (MBCLEN_INVALID): removed.</div><div class='del'>-	  (MBCLEN_NEEDMORE): removed.</div><div class='del'>-	  (MBCLEN_CHARFOUND_P): defined.</div><div class='del'>-	  (MBCLEN_INVALID_P): defined.</div><div class='del'>-	  (MBCLEN_NEEDMORE_P): defined.</div><div class='del'>-	  (MBCLEN_CHARFOUND_LEN): defined.</div><div class='del'>-	  (MBCLEN_NEEDMORE_LEN): defined.</div><div class='del'>-</div><div class='del'>-	* encoding.c: use new API.</div><div class='del'>-</div><div class='del'>-	* re.c: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 22:55:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (value_expr_gen): reverted r12880.  [ruby-dev:33388]</div><div class='del'>-</div><div class='del'>-Sun Jan 27 22:33:39 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix for octal with precision.</div><div class='del'>-	  [ruby-dev:33411]</div><div class='del'>-</div><div class='del'>-Sun Jan 27 22:31:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-set-encoding): automatically insert</div><div class='del'>-	  encoding magic comment.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode): set ruby-mode-set-encoding to buffer</div><div class='del'>-	  local before-save-hook.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 19:51:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): avoid exception by</div><div class='del'>-	  "\#\xa1".force_encoding("euc-jp").inspect.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 19:07:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): warning suppressed.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 18:18:13 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): show major targets.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 17:54:48 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: raise error when no output encoding is given.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 17:20:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): don't increment/decrement codepoint.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 16:03:42 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex#buf_input): use chars.to_a.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 16:27:22 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8: update nkf.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 16:25:27 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_source): set encoding as regexp encoding.</div><div class='del'>-</div><div class='del'>-Sun Jan 27 05:56:39 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess): force fixed encoding when ASCII</div><div class='del'>-	  incompatible source string.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 23:46:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): zero-precision zero should be empty.</div><div class='del'>-	  [ruby-dev:33363]</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): not prepend octal prefix to negative or</div><div class='del'>-	  zero value.  [ruby-dev:33363], [ruby-dev:33367]</div><div class='del'>-</div><div class='del'>-Sat Jan 26 23:42:15 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen, keyword_to_name): __ENCODING__ was missing.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 19:08:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump string encoding in USERDEF.</div><div class='del'>-	  [ruby-dev:33401]</div><div class='del'>-</div><div class='del'>-Sat Jan 26 17:42:23 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): validate argument expr of "next"</div><div class='del'>-	  statement.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 17:22:46 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h: fix to calculate correct stack depth</div><div class='del'>-	   at each instruction.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 09:41:02 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/doctype.rb, test/rss/test_maker_itunes.rb: replace</div><div class='del'>-	  multi-byte string.</div><div class='del'>-</div><div class='del'>-	* test/json/{test_json.rb, test_json_unicode.rb}:</div><div class='del'>-	  add magic comment.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 09:30:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_usascii_encindex): added prototype.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_usascii_str_new, rb_usascii_str_new2):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 09:17:13 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new): set US-ASCII and ENC_CODERANGE_7BIT when</div><div class='del'>-	  empty string (len == 0).</div><div class='del'>-</div><div class='del'>-Sat Jan 26 03:41:53 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_initialize): set default script encoding as US-ASCII.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set script encoding of -e from locale</div><div class='del'>-	  except when -K is specified.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): set script encoding of stdin from locale except</div><div class='del'>-	  when -K is specified. [ruby-dev:33375]</div><div class='del'>-</div><div class='del'>-Sat Jan 26 02:51:06 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h: fix stack pointer issues.</div><div class='del'>-	  calculate correct stack depth at compile time.</div><div class='del'>-</div><div class='del'>-	* insns.def (emptstack): remove it and add a new insn "adjuststack".</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move/remove fixed test.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 00:17:18 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_usascii_new{,2}: defined.</div><div class='del'>-	  (rb_str_new): set US-ASCII and ENC_CODERANGE_7BIT when empty</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_usascii_encoding, rb_usascii_encindex): defined.</div><div class='del'>-	  (rb_enc_inspect, enc_name, rb_locale_charmap, rb_enc_name_list_i):</div><div class='del'>-	  use rb_str_ascii_new.</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_join, inspect_ary): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_s, nil_inspect, true_to_s, false_to_s,</div><div class='del'>-	  rb_mod_to_s): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (inspect_hash, rb_hash_inspect, rb_f_getenv, env_fetch,</div><div class='del'>-	  env_clear, env_to_s, env_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s, int_chr, rb_fix2str): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_ftype, rb_file_s_dirname, rb_file_s_extname,</div><div class='del'>-	  file_inspect_join, Init_file): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_ruby_m17n.rb: add checks for encoding of string.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 01:35:46 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_byte): use getbyte instead of getc.</div><div class='del'>-	  (marshal_load): ditto.</div><div class='del'>-	  [ruby-dev:33264]</div><div class='del'>-</div><div class='del'>-Sat Jan 26 00:43:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): don't care ASCII incompatible encoding.</div><div class='del'>-	  (prepare_getline_args): generate a newline according to IO encoding</div><div class='del'>-	  when necessary.</div><div class='del'>-	  (rb_io_getline_1): call rb_io_getline_fast only for ASCII</div><div class='del'>-	  compatible encoding.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 21:49:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_cat_ascii): use rb_enc_cr_str_buf_cat.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 19:38:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (version.$(OBJEXT)): depends on $(srcdir)/revision.h.</div><div class='del'>-</div><div class='del'>-	* common.mk (revision.h): extracts revision number with ``svn info''.</div><div class='del'>-</div><div class='del'>-	* common.mk (up): target to update from the repository.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, {win,bcc}32/Makefile.sub (IFCHANGE): tool to update a</div><div class='del'>-	  file if changed.</div><div class='del'>-</div><div class='del'>-	* tool/ifchange: for unixen.</div><div class='del'>-</div><div class='del'>-	* win32/ifchange.bat: some fix</div><div class='del'>-</div><div class='del'>-Fri Jan 25 17:12:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): set default to ASCII-8BIT explicitly if -K</div><div class='del'>-	  option is not given.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 16:31:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_buf_cat_ascii): declared.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_cat_ascii): defined.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): use rb_str_buf_cat_ascii to support ASCII</div><div class='del'>-	  incompatible encoding.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 16:11:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options, load_file, rb_load_file): propagates script</div><div class='del'>-	  encoding by -K to libraries.  [ruby-dev:33156]</div><div class='del'>-</div><div class='del'>-Fri Jan 25 15:56:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (cmdline_arguments): split argc and argv from cmdline_options.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): not set encoding of -e option from -E</div><div class='del'>-	  option if they are not compatible.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 13:15:23 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options, process_options, load_file): shouldn't effect</div><div class='del'>-	  --encoding to script encoding. [ruby-dev:33169]</div><div class='del'>-</div><div class='del'>-Fri Jan 25 10:31:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* */*.bat: set svn:mime-type to text/batch.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 23:23:06 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_one, enum_take_while, enum_drop_while): fix documents.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 21:46:24 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_fragment_setenc_gen): associate ASCII-8BIT only if</div><div class='del'>-	  str has only ASCII characters.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 20:46:17 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb: follow to the following changes.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 20:21:07 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parser.y (parser_str_new): automatically update string literal's</div><div class='del'>-	  encoding from US-ASCII to ASCII-8BIT when script encoding is US-ASCII</div><div class='del'>-	  and the string includes non-ascii bytes. [ruby-dev:33348]</div><div class='del'>-</div><div class='del'>-	* parser.y (reg_fragment_check_gen, reg_compile_gen): automatically</div><div class='del'>-	  update regexp literal's encoding from US-ASCII to ASCII-8BIT when</div><div class='del'>-	  script encoding is US-ASCII, the regexp has no kcode option and the</div><div class='del'>-	  regexp includes non-ascii bytes. [ruby-dev:33353]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 19:36:22 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::inspect): use Kernel#to_s instead</div><div class='del'>-	  object_id with printf.  [ruby-dev:33347]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 19:29:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (remove_sign_bits): returns pointer to the first char to</div><div class='del'>-	  be used, instead of copying.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): negative indicator dots should come</div><div class='del'>-	  before sign digits always.  [ruby-dev:33224]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 18:19:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_is_newline): parenthesized arguments.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 18:14:14 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_fixed_encoding_p): no need to treat ASCII-8BIT specially.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:53:06 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): 7bit clean regexp should be US-ASCII.</div><div class='del'>-	  [ruby-dev:33346]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:31:04 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): the end point of left_char_head()</div><div class='del'>-	  must be the last character.  [ruby-cvs:22445]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:24:25 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_fragment_setenc_gen): recognize regexp with option n as</div><div class='del'>-	  as ASCII-8BIT instead of US-ASCII. [ruby-dev:33339]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 15:44:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (collect_bang_i): use rb_ary_store() to avoid potential</div><div class='del'>-	  memory corruption.  a patch from Yusuke Endoh &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-	  in [ruby-dev:33328].</div><div class='del'>-</div><div class='del'>-	* array.c (ITERATE): remove unnecessary macro.</div><div class='del'>-</div><div class='del'>-	* array.c (sort_1): remove ary_sort_check().  in-place sort keep</div><div class='del'>-	  original elements even when it's modified.</div><div class='del'>-</div><div class='del'>-	* array.c (sort_2): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 15:09:40 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (make_time_t): revert round trip test.  [ruby-dev:33058]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 11:14:56 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): ASCII incompatible encoding is</div><div class='del'>-	  not compatible with any other encoding.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 07:34:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (STR_NEW0): set encoding as US-ASCII.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 03:47:41 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb, lib/rubygems/open-uri.rb, lib/open-uri.rb,</div><div class='del'>-	  test/logger/test_logger.rb, test/ruby/test_regexp.rb:</div><div class='del'>-	  fix tests. [ruby-dev:33336]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 03:23:44 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): use memchr(3) for faster newline</div><div class='del'>-	  search.</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): remove unused arguments</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): make much simpler (and faster).</div><div class='del'>-</div><div class='del'>-Thu Jan 24 02:13:07 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (expandarray): fix stack inc.  [ruby-dev:32892]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_massign.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 01:00:34 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.{c, h} (rb_usascii_encoding): added.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_str_new, rb_intern3): ascii only string literal is</div><div class='del'>-	  US-ASCII.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_optionc): -Kn means ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 23:54:40 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c: fix comment.  [ruby-dev:33275]</div><div class='del'>-</div><div class='del'>-	* math.c: fix comment.  [ruby-dev:33276]</div><div class='del'>-</div><div class='del'>-Wed Jan 23 22:47:34 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb: add tests to achieve over 90% test</div><div class='del'>-	  coverage of struct.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf.rb: ditto for sprintf.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: ditto for math.c.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 22:14:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (rb_from_Windows_31J, rb_to_Windows_31J):</div><div class='del'>-	  provisional workaround for Windows-31J.  [ruby-dev:33320]</div><div class='del'>-</div><div class='del'>-Wed Jan 23 15:25:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): copy encoding from format.  [ruby-dev:33303]</div><div class='del'>-</div><div class='del'>-Wed Jan 23 15:04:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent): should set length.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_associate): hide associated array from ObjectSpace.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_associated): return associated array with freezing</div><div class='del'>-	  instead of false.  [ruby-dev:33282]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_freeze): freeze associated array together.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 13:39:48 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): fix SEGV by</div><div class='del'>-	  /a/ =~ "aa".force_encoding("utf-16be").</div><div class='del'>-</div><div class='del'>-Wed Jan 23 11:53:26 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_mod_check, str_nth, str_offset): constified.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): dump in ASCII-8BIT always.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 10:18:10 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.c (rb_export_method): set ruby_vm_redefined_flag for</div><div class='del'>-	  visibility change as well.  reported by K.Kosako in</div><div class='del'>-	  http://d.hatena.ne.jp/kkos/20080122#1201012720.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 22:26:23 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: change some tests because rational</div><div class='del'>-	  redefines Bignum#quo and Bignum#**.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 20:58:15 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): need to output sodir rule.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 19:37:16 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): lib files shouldn't depend on install</div><div class='del'>-	  dir because if the dir is newer than lib files, lib files will be</div><div class='del'>-	  always copied.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 17:52:52 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.c: Streamline parentheses, add more</div><div class='del'>-	  'static' qualifiers.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 12:57:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIRUBY): remove -I$(EXTOUT)/$(arch) from</div><div class='del'>-	  MINIRUBY since miniruby might not be able to load DLL.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb: move tests from bootstrap test.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): should check name if ASCII compatible.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_end_with): should check character boundary.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): encoding must be ASCII</div><div class='del'>-	  compatible before checking ENC_CODERANGE_7BIT.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): wrong compatibility condition.</div><div class='del'>-	  [ruby-dev:33273]</div><div class='del'>-</div><div class='del'>-Tue Jan 22 09:26:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char): iterates over a shadow.</div><div class='del'>-	  [ruby-dev:33243]</div><div class='del'>-</div><div class='del'>-Tue Jan 22 08:59:52 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/formatter.rb:  Indent labeled lists like note lists.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_overstrike_formatter.rb:  Added.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_formatter.rb:  Added tests.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 04:40:28 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): do not call rb_enc_mbclen() if *m is</div><div class='del'>-	  ASCII.  [ruby-talk:287225]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): use rb_enc_is_newline() to gain</div><div class='del'>-	  performance if the record separator ($/) is not modified.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 01:15:51 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: format-time-string under C locale. [ruby-dev:33261]</div><div class='del'>-</div><div class='del'>-Tue Jan 22 00:45:12 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: add tests for bignum.c.</div><div class='del'>-</div><div class='del'>-Tue Jan 22 00:30:08 2008  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_shift): fix a bug that caused infinite loop when</div><div class='del'>-	  left shifting.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 20:09:38 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (marshal_load): initialize the cache.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 19:42:42 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c, enc/trans/utf_16_32.c, test/ruby/test_transcode.rb:</div><div class='del'>-	  added UTF-32BE and UTF-32LE conversions.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 14:36:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): initialize transcoder in</div><div class='del'>-	  rb_transcoding.  [ruby-dev:33234]</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): transcoder constified.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 12:50:02 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c (setjmp): sigsetjmp is a macro on cygwin.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 12:35:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop, str_transcoding_resize): use unsigned</div><div class='del'>-	  char.  [ruby-dev:33232]</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding, rb_transcoder): removed callback</div><div class='del'>-	  parameters.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.c: parenthesized bit-or operands.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 11:59:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char): move forward.  [ruby-dev:33231]</div><div class='del'>-</div><div class='del'>-Mon Jan 21 06:40:03 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_dispatch): constified return value.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding): include pointer to rb_transcoder</div><div class='del'>-	  and auxiliary data.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoder): all callback functions should have</div><div class='del'>-	  their own parameters.</div><div class='del'>-</div><div class='del'>-	* enc/trans/{japanese,single_byte}.c: constified.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 03:45:49 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char): advance offset before get next char</div><div class='del'>-	  length.  [ruby-dev:33211]</div><div class='del'>-</div><div class='del'>-Sun Jan 20 20:00:20 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c, enc/trans/utf_16_32.c, test/ruby/test_transcode.rb:</div><div class='del'>-	  added UTF-16LE conversions.</div><div class='del'>-</div><div class='del'>-	* fixed changelog for last commit</div><div class='del'>-</div><div class='del'>-Sun Jan 20 17:54:00 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* added changelog for last commit</div><div class='del'>-</div><div class='del'>-Sun Jan 20 15:08:08 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf_16_32.c: new file, currently implementing</div><div class='del'>-	  UTF-16BE conversions only.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Added tests for UTF-16BE;</div><div class='del'>-	  made check_both_ways() use force_encoding differently.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h, transcode.c: Support for more conversion</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-Sun Jan 20 13:06:01 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char): performance improvement, and stop if</div><div class='del'>-	  shortened in the block.  [ruby-dev:33189]</div><div class='del'>-</div><div class='del'>-Sun Jan 20 09:12:26 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: use -Ks when read insns.def. [ruby-dev#33185]</div><div class='del'>-</div><div class='del'>-	* parse.y: fix -e and stdin strings aren't set encoding.</div><div class='del'>-</div><div class='del'>-Sun Jan 20 05:12:44 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb: fix duplication check.</div><div class='del'>-</div><div class='del'>-Sun Jan 20 05:03:46 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ascii.c: remove definition of replica KOI8-U.</div><div class='del'>-</div><div class='del'>-Sun Jan 20 00:33:59 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/koi8_u.c: added.</div><div class='del'>-</div><div class='del'>-	* regenc.c, enc/utf_8.c, enc/unicode.c, enc/gb18030.c: add ARG_UNUSED.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 22:41:39 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (coderange_scan): don't call mbclen functions for ASCII</div><div class='del'>-	  characters with ASCII compatible encoding.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 21:00:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/template.rb (RDoc): defined to avoid uninitialized constant</div><div class='del'>-	  error by `./ruby test/rubygems/test_gem_server.rb'.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 20:41:29 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_new): don't free rb_encoding to avoid SEGV by</div><div class='del'>-	  `miniruby -e exit' on x86_64 GNU/Linux.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 18:40:19 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (once): use an instance variable which points a hash</div><div class='del'>-	  as cache. [experimental]</div><div class='del'>-</div><div class='del'>-Sat Jan 19 17:21:29 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: parse's hints as an</div><div class='del'>-	  experimental function has been removed.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 11:21:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (sigsetjmp): check if available.</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c (setjmp): do not use _setjmp if sigsetjmp is available.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 11:10:11 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Remove wrong assumptions about Cygwin.  a patch from</div><div class='del'>-	  Corinna Vinschen in [ruby-Bugs-17018].</div><div class='del'>-</div><div class='del'>-Sat Jan 19 09:23:14 2008  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_set_safe_array): should not use</div><div class='del'>-	  recursive calling.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 08:58:47 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup: Remove ListBase and Line constants.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri: Allow output IO to be specified.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/parser/test_parse_c.rb: Move up one level, fixed.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/parser/test_rdoc_markup_attribute_manager.rb: Renamed to</div><div class='del'>-	  match new class name, updated to match new classes.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_formatter.rb: Start of RI formatting tests.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_attribute_manager.rb: Start of</div><div class='del'>-	  RDoc::RI::AttributeManager tests.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_simple_markup.rb: Moved to match new class name.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 08:35:36 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): get encoding from the first line.</div><div class='del'>-	  [ruby-dev:33168]</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): set encoding to input with set_encoding.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 03:46:42 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): prohibit thread creation in the</div><div class='del'>-	  frozen thread group.  a patch in [ruby-dev:33176] from sheepman</div><div class='del'>-	  &lt;sheepman AT sheepman.sakura.ne.jp&gt;.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): should inherit ThreadGroup from</div><div class='del'>-	  the current thread.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 00:37:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): set result encoding for wider width.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 00:13:19 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_wait_events): shouldn't invoke interrupt handle</div><div class='del'>-	  by timer_thread.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 23:49:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): set thread group before creating</div><div class='del'>-	  thread.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 20:19:51 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_initialize): too early to set parser-&gt;enc.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 20:03:05 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (BASERUBY): nmake cannot execute ruby correctly</div><div class='del'>-	  if the path of ruby.exe is quoted.</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak ($(ARCH)): if a macro is appended by $(APPEND),</div><div class='del'>-	  a space will be inserted on the top of the line.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 17:56:09 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, insnhelper.h, thread_pthread.h, vm_core.h, vm_opts.h:</div><div class='del'>-	  prefixed include guards with RUBY.</div><div class='del'>-</div><div class='del'>-	* id.h: added include guard.</div><div class='del'>-</div><div class='del'>-	* regenc.h, regint.h, regparse.h: prefixed include guards with</div><div class='del'>-	  ONIGURUMA.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 15:57:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func): ignore errors from destroying mutex</div><div class='del'>-	  of dead thread.  [ruby-core:15069]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c, thread_win32.c (native_thread_destroy): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 15:56:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_name_list_i, rb_enc_aliases_enc_i): freeze</div><div class='del'>-	  element strings to be returned.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 14:36:34 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_str_dump): added test for</div><div class='del'>-	  String#dump. [ruby-dev:33142]</div><div class='del'>-</div><div class='del'>-Fri Jan 18 12:25:13 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (load_encoding): check if successfully loaded.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): use original encoding name to</div><div class='del'>-	  replicate loaded encoding instead alias.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 09:43:02 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_char_to_option_kcode): Regexp switch `s' should mean</div><div class='del'>-	  Windows-31J, as wells as `-Ks'.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 09:22:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_initialize): explicitly call rb_ascii8bit_encoding().</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): lex_input may not be have encoding (e.g. IO).</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_compile_string): set encoding from input string.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): use ASCII-8BIT if loading known</div><div class='del'>-	  encoding failed.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_initialize): move parser-&gt;enc initialization.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_aliases_enc_i): exclude non alias names from</div><div class='del'>-	  Encoding.aliases.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): use original encoding name to</div><div class='del'>-	  load DLL.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 07:06:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): stdin/stdout may not be duplex.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 04:27:57 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rdoc/markup/rdoc2latex.rb:  Fix for new namespacing.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/to_latex.rb:  Fix namespacing.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 02:02:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_valid_syntax): added.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: added test for [ruby-list:44479]</div><div class='del'>-</div><div class='del'>-Fri Jan 18 01:48:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): check argument number to</div><div class='del'>-	  attr_reader.  [ruby-core:15120]</div><div class='del'>-</div><div class='del'>-Fri Jan 18 00:49:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): flush tied write IO too.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): tie stdin with stdout.  [ruby-core:15107]</div><div class='del'>-</div><div class='del'>-Fri Jan 18 00:23:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_free): removed since rb_encoding may be used while</div><div class='del'>-	  cleanup.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 00:17:19 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_cn.c: split from enc/euc_kr.c.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 00:03:54 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_init): use default external encoding</div><div class='del'>-	  if nothing is given.  a patch from sheepman &lt;sheepman AT</div><div class='del'>-	  sheepman.sakura.ne.jp&gt; in [ruby-dev:33159].</div><div class='del'>-</div><div class='del'>-Thu Jan 17 23:56:20 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encdb.h): give output file name to make_encdb.rb.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_table): simplified.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_register_at): lazy loading.  [ruby-dev:33013]</div><div class='del'>-</div><div class='del'>-	* regenc.h (ENC_DUMMY): added.</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb: now emits macros only.</div><div class='del'>-</div><div class='del'>-	* enc/iso_2022_jp.h: split from encoding.c.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 21:48:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_char_to_option_kcode): fixed typo.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 21:01:25 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (Date::Infinity#&lt;=&gt;): didn't work.  A patch from</div><div class='del'>-	  Dirkjan Bussink &lt;d.bussink AT gmail.com&gt; [ruby-core:15098].</div><div class='del'>-	  This is a bug obviously.  However it didn't affect the library's</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: some trivial changes.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 13:07:18 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): preserve the encoding of source string</div><div class='del'>-	  if it is ASCII compatible.  otherwise, add '.force_encoding()'</div><div class='del'>-	  for ugly work around.  maybe we should implement some other way</div><div class='del'>-	  to keep non ASCII encoding in dumped string.  [ruby-dev:33142]</div><div class='del'>-</div><div class='del'>-Thu Jan 17 10:30:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): always flush IO on tty, even without newlines.</div><div class='del'>-	  [ruby-core:15107]</div><div class='del'>-</div><div class='del'>-Wed Jan 16 22:45:27 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_register_at): make own copy.  [ruby-dev:33136]</div><div class='del'>-</div><div class='del'>-Wed Jan 16 18:03:10 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open, rb_io_s_popen): clear temporary object to release</div><div class='del'>-	  and prevent from GC.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 17:55:07 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_quo): typo. a patch from Shin-ichiro HARA</div><div class='del'>-	  &lt;sinara AT blade.nagaokaut.ac.jp&gt; in [ruby-dev:33130]</div><div class='del'>-</div><div class='del'>-Wed Jan 16 17:36:26 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_delegate.rb: add new test file for delegate.rb.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 16:14:00 2008  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.1: Fix grammar.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 15:26:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (sys_fail2): get rid of unlimited alloca.</div><div class='del'>-</div><div class='del'>-	* io.c (mode_enc, pipe_open, rb_io_s_popen): ditto.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (mode_enc): fixed uninitialized variable.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 12:51:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_tmp_new, rb_str_shared_replace):</div><div class='del'>-	  prototype moved.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 23:52:51 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/*: add ARG_UNUSED.</div><div class='del'>-</div><div class='del'>-	* enc/koi8_u.c: added.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 23:00:08 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_{16,32}{be,le}.c: remove some ARG_UNUSED.  replace struct</div><div class='del'>-	  OnigEncodingST by OnigEncoding.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 22:30:43 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (ENC_REGISTER): use &amp;OnigEncoding*.</div><div class='del'>-	  (ENCINDEX_UTF_8): renamed from ENCINDEX_UTF8.</div><div class='del'>-	  (rb_enc_init): use ENC_REGISTER.</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingUTF8, ONIG_ENCODING_UTF8):</div><div class='del'>-	  removed.</div><div class='del'>-</div><div class='del'>-	* enc/*.c: remove use of &amp;encoding_*; use enc argument instead.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 18:44:46 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: remove use of ONIG_ENCODING_UTF8 altogether; use</div><div class='del'>-	  enc argument instead.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 18:05:26 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c (ONIG_ENCODING_UTF8): reverted.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 18:01:55 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MKFILES): add dependencies.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 18:00:16 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c (OnigEncodingDefine): encoding name should be kept</div><div class='del'>-	  unchanged.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 17:53:05 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c: renamed as IANA name.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 16:59:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): encoding libraries cannot be loaded until</div><div class='del'>-	  load path is set.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 15:09:28 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: strip out empty lines from CPP output.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 14:57:38 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {win,bcc}32/setup.mak (-basic-vars-): expand BASERUBY to full path</div><div class='del'>-	  to get rid of ./ruby.exe.</div><div class='del'>-</div><div class='del'>-	* win32/enc-setup.mak: workaround for Borland make.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 14:44:53 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): use ASCII-8BIT in miniruby.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 13:54:41 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32}/Makefile.sub (RUNRUBY): need to set archdir when</div><div class='del'>-	  invoking ruby.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 13:43:18 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (us_ascii.o): add dependencies. [ruby-dev:33111]</div><div class='del'>-</div><div class='del'>-Tue Jan 15 03:41:42 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): check if backtrace is empty.  [ruby-core:15040]</div><div class='del'>-</div><div class='del'>-Tue Jan 15 01:28:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: simplified dummy objects dependencies.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 01:19:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (OBJS): moved encoding.o from COMMONOBJS.</div><div class='del'>-</div><div class='del'>-	* common.mk (dmyencoding.o): added.  [ruby-dev:33099]</div><div class='del'>-</div><div class='del'>-	* configure.in, {win,bcc}32/Makefile.sub (MINIOBJS): added</div><div class='del'>-	  dmyencoding.o.</div><div class='del'>-</div><div class='del'>-	* dmyencoding.c (rb_locale_charmap): returns nil for miniruby.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 00:05:50 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): specifying limit should not generate broken</div><div class='del'>-	  byte sequence.  strings should be rounded.  [ruby-dev:33088]</div><div class='del'>-</div><div class='del'>-Mon Jan 14 23:33:02 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv.tolocale): argument is str.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 23:31:05 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (setup): add -I$(EXTOUT)/$(arch) to MINIRUBY.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (main): expand -I directory path.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 23:28:10 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/enc-setup.mak (BUILTIN_ENCOBJS): depends on enc/Makefile.in.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 22:48:16 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_char_to_option_kcode): use rb_enc_find_index() instead</div><div class='del'>-	  of using fixed index value.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (encsrcdir): make US-ASCII built-in.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 22:25:02 2008  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb: Shorter method name completion.  Same method</div><div class='del'>-	  used for const missing. do_while and do_until added.  Enumerator</div><div class='del'>-	  gains all of Array's abilities. Ex:</div><div class='del'>-	    '123'.m{|i|i*2} #=&gt; "112233"</div><div class='del'>-	    '123'.pe #=&gt; '123'.perm*' ' #=&gt; "123 132 213 231 312 321"</div><div class='del'>-	  base on a patch from Darren Smith &lt;darrenks AT ml1.net&gt;.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 21:10:02 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/us_ascii.c: wrong alias name: ANSI_X3.4-1986.</div><div class='del'>-</div><div class='del'>-	* rubytest.rb: add -I#{srcdir} to load encoding DLL.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 18:53:58 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: clear thread structure.</div><div class='del'>-	  (TODO: survey that child process should clear mutex or not).</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_thread.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 18:43:38 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: add "flunk" method.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: fix to use flunk.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 18:10:59 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h: remove dangerous assembler sentence.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 18:06:37 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encoding): return US-ASCII when charmap is</div><div class='del'>-	  nil.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 16:12:58 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: scape should be an alias to shellescape.  a</div><div class='del'>-	  patch from Masahiro Kawato &lt;m-kawato AT mwb.biglobe.ne.jp&gt; in</div><div class='del'>-	  [ruby-dev:33060].</div><div class='del'>-</div><div class='del'>-Mon Jan 14 16:09:16 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.1: a patch to describe --encoding.  a patch from Yugui</div><div class='del'>-	  &lt;yugui AT yugui.sakura.ne.jp&gt; in [ruby-dev:33079].</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 13:49:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): initialize error message buffer.</div><div class='del'>-	  (rb_reg_search): ditto.</div><div class='del'>-	  (rb_reg_check_preprocess): ditto.</div><div class='del'>-	  (rb_reg_new_str): ditto.</div><div class='del'>-	  (rb_enc_reg_new): ditto.</div><div class='del'>-	  (rb_reg_compile): ditto.</div><div class='del'>-	  (rb_reg_initialize_m): ditto.</div><div class='del'>-	  (rb_reg_s_union_m): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 12:33:07 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup*:  Renamespace from SM::SimpleMarkup to</div><div class='del'>-	  RDoc::Markup.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 10:45:45 2008  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/ascii.c: Exchanged order of arguments for one ENC_ALIAS</div><div class='del'>-</div><div class='del'>-Mon Jan 14 09:19:07 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: do not reference Time directly from the inside of</div><div class='del'>-	  definitions. [ruby-dev:33059]</div><div class='del'>-</div><div class='del'>-Mon Jan 14 05:44:44 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/*.c: add replicas and aliases.</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.h: add duplicate and undefined check.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 02:03:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: remove ONIG_ENCODING_* and OnigEncoding*</div><div class='del'>-	  which are not builtin.</div><div class='del'>-</div><div class='del'>-	* regenc.{c,h} (onigenc_mb2_code_to_mbclen, onigenc_mb4_code_to_mbclen):</div><div class='del'>-	  fix prototype.</div><div class='del'>-</div><div class='del'>-	* enc/big5.c, enc/euc_kr.c, enc/euc_tw.c, enc/gb18030.c,</div><div class='del'>-	  enc/koi8_r.c, enc/windows_1251.c: imported from Oniguruma.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 22:47:28 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.h: sort encoding names by original name.</div><div class='del'>-</div><div class='del'>-	* encoding.c, enc/*.c: define replicas and aliases.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 20:24:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: add documents.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 18:41:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): moved initialization from encdb.h.</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb (enc_name_list): constified.</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb (enc_init_db): moved some functions to encoding.c.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 13:53:00 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): local variable was not initialized when -x flag</div><div class='del'>-	  is given.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): script files should not be affected by locale.</div><div class='del'>-	  [ruby-dev:33054]</div><div class='del'>-</div><div class='del'>-Sun Jan 13 12:01:32 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators*: Reorganize RDoc generators.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 11:41:11 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (ENCINDEX_EUC_JP, ENCINDEX_SJIS): removed.</div><div class='del'>-	  (rb_enc_init): EUC-JP and Shift_JIS are not builtin now.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c, enc/euc_jp.c: fixes for remove from builtin.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 10:21:40 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_table): packed all enc_table stuff.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 09:58:17 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): revert removing SJIS.</div><div class='del'>-</div><div class='del'>-	* enc/sjis.c: move to enc/shift_jis.c, to make encoding name equal to</div><div class='del'>-	  filename for convenience of loading lib.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c: moved from enc/sjis.c.</div><div class='del'>-</div><div class='del'>-	* common.mk: follows enc/shift_jis.c.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 09:22:33 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (incs): includes encdb.h.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 09:17:29 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile.sub (MV): use move instead of ren.  [ruby-Bugs-17019]</div><div class='del'>-</div><div class='del'>-Sun Jan 13 01:52:31 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb: should work on Ruby 1.8.  [ruby-dev:33069]</div><div class='del'>-</div><div class='del'>-	* common.mk (encdb.h): pass enc dir from outside to make_encdb.rb.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 00:01:07 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encdb.rb: added. search enc/*.c and make encoding database.</div><div class='del'>-</div><div class='del'>-	* regenc.h (ENC_REPLICATE, ENC_ALIAS): added for defining replica</div><div class='del'>-	  encoding and encoding alias.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): move alias definitions to enc/*.c.</div><div class='del'>-	  (rb_enc_find_index): search original of replica and alias when no</div><div class='del'>-	  encoding library.</div><div class='del'>-	  (rb_enc_name_list, rb_enc_aliases_enc_i, rb_enc_aliases_str_i,</div><div class='del'>-	   rb_enc_aliases, Encoding.name_list, Encoding.aliases): added.</div><div class='del'>-	  (Init_Encoding): init encdb.</div><div class='del'>-</div><div class='del'>-	* enc/ascii.c, enc/us_ascii.c, enc/euc_jp.c, enc/sjis.c:</div><div class='del'>-	  add replica encoding and encoding alias definition.</div><div class='del'>-</div><div class='del'>-	* common.mk (dist-clean-local): add rule for remove encdb.h.</div><div class='del'>-</div><div class='del'>-Sat Jan 12 18:27:41 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_define_alloc_func, rb_undef_alloc_func): should</div><div class='del'>-	  define/undef on a singleton class.  [ruby-core:09959]</div><div class='del'>-</div><div class='del'>-Sat Jan 12 12:44:36 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: rdoc update.</div><div class='del'>-</div><div class='del'>-Sat Jan 12 12:01:49 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: tuning for performance.</div><div class='del'>-</div><div class='del'>-Sat Jan 12 11:29:45 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: fixed wrong expected result.  pointed</div><div class='del'>-	  out by Kornelius "murphy" Kalnbach &lt;murphy AT rubychan.de&gt; in</div><div class='del'>-	  [ruby-core:15022].</div><div class='del'>-</div><div class='del'>-Sat Jan 12 04:38:38 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): -e'script' is locale encoding by default.</div><div class='del'>-	  (load_file): ruby script from stdin is locale encoding by default.</div><div class='del'>-</div><div class='del'>-Sat Jan 12 04:31:59 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: fix bug: -m was -m0.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 23:22:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (string.c): call rb_str_buf_append to update encoding of</div><div class='del'>-	  str1, even if str2 is empty.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 20:20:16 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_mark): needs to mark the receiver too.  a patch from</div><div class='del'>-	  Chris Heath &lt;chris AT heathens.co.nz&gt; in [ruby-core:14983].</div><div class='del'>-	  [ruby-core:14885]</div><div class='del'>-</div><div class='del'>-Fri Jan 11 18:28:49 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb: Removed.</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb: Update example to not use lib/rdoc/usage.rb.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 18:17:10 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (read_yaml): Follow namespace change</div><div class='del'>-	  [ruby-core:14964].</div><div class='del'>-</div><div class='del'>-Fri Jan 11 16:55:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_append): performance improvement.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 12:35:56 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: moved broken syscall checks from process.c etc.</div><div class='del'>-</div><div class='del'>-	* defines.h (WORDS_BIGENDIAN): honor __BIG_ENDIAN__ than the result of</div><div class='del'>-	  configure.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (check_diagram): more precise check, darwin</div><div class='del'>-	  is not Windows but mingw is on it.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 09:59:05 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: update to r1.163.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: ASCII's canonical name is US-ASCII.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv.isjis): force_encoding('BINARY').</div><div class='del'>-</div><div class='del'>-Fri Jan 11 09:23:31 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (set_base_encoding): must use rb_enc_dummy_p.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 06:13:14 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding_index, rb_to_encoding): disallow nil.</div><div class='del'>-	  [ruby-dev:33003]</div><div class='del'>-</div><div class='del'>-Fri Jan 11 01:08:01 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_unlock): proper error message for unlocking</div><div class='del'>-	  mutex that is not locked.  a patch from Yusuke ENDOH</div><div class='del'>-	  &lt;mame at tsg.ne.jp&gt; in [ruby-dev:33010].</div><div class='del'>-</div><div class='del'>-Thu Jan 10 18:00:41 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb (Mutex::synchronize): capture exception from unlock.</div><div class='del'>-	  [ruby-dev:32935]</div><div class='del'>-</div><div class='del'>-Thu Jan 10 10:15:03 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): IO.pipe("euc-jp", nil) should work as</div><div class='del'>-	  IO.pipe("euc-jp", nil).  [ruby-dev:33000]</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): handle nil for v1.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 02:41:22 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): should not alter encoding.  [ruby-dev:32918]</div><div class='del'>-</div><div class='del'>-	* io.c (io_read_encoding): need not to return ASCII-8BIT for</div><div class='del'>-	  binary IO.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 22:04:17 2008  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Prime#each): returns an enumerator if no block</div><div class='del'>-	  given. [ruby-dev:32815]</div><div class='del'>-</div><div class='del'>-Wed Jan  9 22:03:26 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_replicate): replica of dummy is a dummy.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 20:55:38 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb (Exception2MessageMapper::Raise): define fail.</div><div class='del'>-	  [ruby-dev:32854]</div><div class='del'>-</div><div class='del'>-Wed Jan  9 20:35:42 2008  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb: support X-Forwarded-* header fields.</div><div class='del'>-	  WEBrick::HTTPRequest#{host,port,request_uri} is derived having</div><div class='del'>-	  regards to X-Forwarded-Proto and X-Forwarded-Host.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb</div><div class='del'>-	  (WEBrick::HTTPRequest#server_name?): new method.</div><div class='del'>-	  (WEBrick::HTTPRequest#remote_ip?): new method.</div><div class='del'>-	  (WEBrick::HTTPRequest#ssl?): new method.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 18:24:39 2008  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Array#to_s): alias to join.</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (FalseClass#to_s): return "".</div><div class='del'>-</div><div class='del'>-Wed Jan  9 16:59:54 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): fix self appending.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 15:54:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): give priority command line encoding option</div><div class='del'>-	  to RUBYOPT, and enable -E option in RUBYOPT.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): deal with encoding option in shebang line if</div><div class='del'>-	  nothing in command line and RUBYOPT.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 14:55:36 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): remove setting parser-&gt;enc because it is set</div><div class='del'>-	  in parser_prepare() by previous change of parser_prepare().</div><div class='del'>-</div><div class='del'>-Wed Jan  9 14:52:18 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat, rb_str_buf_append): deal with self</div><div class='del'>-	  appending.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 14:44:57 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): set parser-&gt;enc from lex_input for ripper.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 13:45:52 2008  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::HTTPServer#start):</div><div class='del'>-	  :DoNotReverseLookup option had not been performed.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 13:03:34 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): do not recalculate coderange</div><div class='del'>-	  value if it's given from outside.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 08:42:01 2008  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c:  Updating the documentation of Enumerable#zip to reflect</div><div class='del'>-	  the recent changes Matz made to the method.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 01:35:10 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (BUILTIN_ENCS): UTF-{16,32}{BE,LE} are not builtin.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 23:55:15 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): UTF-{16,32}{BE,LE} are not builtin.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 22:33:03 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c, Makefile.in, include/ruby/oniguruma.h,</div><div class='del'>-	  enc/Makefile.in: fix rules for UTF-{16,32}{BE,LE}.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 20:02:08 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win{32,ce}/Makefile.sub: merged.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 19:48:15 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb: Speed up Marshal.load. Fix bug with nested</div><div class='del'>-	  classes' methods.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 19:17:29 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*: Clean up namespacing of RI's classes.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 18:05:35 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* bin/ri, lib/rdoc/ri/*: Replace with Ryan Davis' cached ri.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 17:32:07 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): honor length of the receiver, not the</div><div class='del'>-	  shortest length.  [ruby-core:14738]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): returns array not enumerator for no block</div><div class='del'>-	  form.  [ruby-core:14738]</div><div class='del'>-</div><div class='del'>-	* enumerator.c (next_ii): do not ignore multiple values yielded.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): faster version without creating generators.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 15:47:43 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf{16,32}_{be,le}.c: use &amp;OnigEncodingName(*) instead of</div><div class='del'>-	  ONIG_ENCODING_*.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 15:40:31 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_strlen_null, onigenc_str_bytelen_null): suppressed</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-	* regenc.h, enc/unicode.c (onigenc_unicode_ctype_code_range): added</div><div class='del'>-	  encoding argument.</div><div class='del'>-</div><div class='del'>-	* enc/utf{16,32}_{be,le}.c: added init functions.</div><div class='del'>-</div><div class='del'>-	* enc/utf{16,32}_{be,le}.c: imported from Oniguruma 5.9.1.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 15:03:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): avoid appending empty pre-match substr.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 13:05:57 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary), iseq.c (iseq_load): fix for format change.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 07:56:11 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_append): fix append itself.</div><div class='del'>-</div><div class='del'>-Tue Jan  8 01:13:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_ENC_GET): defined.  same as rb_enc_get without</div><div class='del'>-	  enc_capable.</div><div class='del'>-	  (coderange_scan): ASCII-8BIT test refined.</div><div class='del'>-	  (rb_enc_cr_str_buf_cat): new internal function to accumulate</div><div class='del'>-	  strings with encoding.</div><div class='del'>-	  (rb_enc_str_buf_cat): use rb_enc_cr_str_buf_cat.</div><div class='del'>-	  (rb_str_buf_append): ditto</div><div class='del'>-	  (str_gsub): use rb_str_buf_append.</div><div class='del'>-	  (rb_str_hash): use ENCODING_GET.</div><div class='del'>-	  (rb_str_comparable): ditto.</div><div class='del'>-	  (rb_str_cmp): compare encoding index, not rb_encoding address.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 20:37:55 2008  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb: external encoding of</div><div class='del'>-	  tempfiles is set to "ASCII-8BIT".</div><div class='del'>-</div><div class='del'>-Mon Jan  7 19:39:50 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/template.rb:  Use ERB instead of custom template language.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/old_html.rb:  Remove.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/*: Convert to ERB.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 19:11:30 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): sym_match arity spec was wrong.  a patch</div><div class='del'>-	  from Hiroyuki Iwatsuki &lt;don at na.rim.or.jp&gt; in [ruby-dev:32957].</div><div class='del'>-</div><div class='del'>-Mon Jan  7 18:10:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): move rb_enc_get(str) to out of loop.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:52:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingType): new member</div><div class='del'>-	  ruby_encoding_index to avoid linear search in rb_enc_to_index.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_to_index): macro defined to use</div><div class='del'>-	  ruby_encoding_index.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_to_index): removed.</div><div class='del'>-	  (enc_register_at): initialize ruby_encoding_index member.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 16:10:35 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/tokenstream.rb:  Namespace under RDoc.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 16:06:09 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/dot.rb:  Namespace under RDoc.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb:  Clean up formatting.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:51:35 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb:  Convert to OptionParser, clean up -h output,</div><div class='del'>-	  namespace under RDoc.</div><div class='del'>-	* lib/rdoc/*:  Namespace RDoc::Options.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:42:46 2008  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in, */Makefile.sub (distclean-local): move</div><div class='del'>-	  removing rule of ext/ripper/y.output from common.mk to Makefiles</div><div class='del'>-	  that depend on platforms.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 13:54:57 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess): fix fixed_enc condition.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 11:51:49 2008  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/ri_generator.rb:  Merge documentation from the</div><div class='del'>-	  same class on output.  Fixes bug where documentation could</div><div class='del'>-	  disappear.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb:  Fix typo.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/*: Clean up some namespacing and make RDoc</div><div class='del'>-	  consistent.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 11:44:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_internal_get_index): extracted from</div><div class='del'>-	  rb_enc_get_index.</div><div class='del'>-	  (rb_enc_internal_set_index): extracted from rb_enc_associate_index</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENCODING_SET): work over ENCODING_INLINE_MAX.</div><div class='del'>-	  (ENCODING_GET): ditto.</div><div class='del'>-	  (ENCODING_IS_ASCII8BIT): defined.</div><div class='del'>-	  (ENCODING_CODERANGE_SET): defined.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_fixed_encoding_p): use ENCODING_IS_ASCII8BIT.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_buf_cat): use ENCODING_IS_ASCII8BIT.</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_fragment_setenc_gen): use ENCODING_IS_ASCII8BIT.</div><div class='del'>-</div><div class='del'>-	* marshal.c (has_ivars): use ENCODING_IS_ASCII8BIT.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 02:14:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (coderange_scan): avoid rb_enc_to_index.</div><div class='del'>-	  (rb_enc_str_buf_cat): ditto.</div><div class='del'>-	  (str_cat_char): use rb_enc_str_buf_cat.</div><div class='del'>-	  (rb_str_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 01:36:49 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (coderange_scan): optimize ASCII-8BIT string.</div><div class='del'>-	  (rb_enc_str_buf_cat): don't call coderange_scan if possible.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 01:05:45 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Revision): cut off locale dependent string in Date</div><div class='del'>-	  keyword.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 00:48:02 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Date keyword removed to avoid inclusion of locale dependent</div><div class='del'>-	  string.  [ruby-dev:32940]</div><div class='del'>-</div><div class='del'>-Sun Jan  6 21:14:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_str): forbid raw non ASCII character</div><div class='del'>-	  for ASCII-8BIT regexp in non ASCII-8BIT script.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 18:19:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_str_buf_cat): declared.</div><div class='del'>-</div><div class='del'>-	* string.c (coderange_scan): extracted from rb_enc_str_coderange.</div><div class='del'>-	  (rb_enc_str_coderange): use coderange_scan.</div><div class='del'>-	  (rb_str_shared_replace): copy encoding and coderange.</div><div class='del'>-	  (rb_enc_str_buf_cat): new function for linear complexity string</div><div class='del'>-	  accumulation with encoding.</div><div class='del'>-	  (rb_str_sub_bang): don't conflict substituted part and replacement.</div><div class='del'>-	  (str_gsub): use rb_enc_str_buf_cat.</div><div class='del'>-	  (rb_str_clear): clear coderange.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): use rb_enc_str_buf_cat.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 17:55:44 2008  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: Add Win32 support.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 09:32:58 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: introduced some constants</div><div class='del'>-	  (for internal use) and aliases (minute and second).</div><div class='del'>-</div><div class='del'>-	* sample/cal.rb: trivial adjustments.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 01:38:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_str): /\x80/n is not an error even if script</div><div class='del'>-	  encoding is EUC-JP.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 00:48:12 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS#each_address): get A record and then AAAA</div><div class='del'>-	  record. [ruby-dev:32925]</div><div class='del'>-</div><div class='del'>-Sat Jan  5 21:48:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg): it is not inlinable because</div><div class='del'>-	  alloca is used.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 16:50:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): copy if old data is not empty</div><div class='del'>-	  [ruby-core:14785]</div><div class='del'>-</div><div class='del'>-Sat Jan  5 13:04:24 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): no need for intermediate object.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 11:48:19 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): alias csWindows31J to Windows-31J.</div><div class='del'>-	  IE6 accepts csWindows31J but Windows-31J.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 02:21:10 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_intern): memorize interned ID for constant</div><div class='del'>-	  string, using gcc's __builtin_constant_p and statement expression.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 02:14:45 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (trnext): should enable backslash escape.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 01:50:32 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): move instance_eval and instance_exec to</div><div class='del'>-	  BasicObject.  [ruby-core:14747]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: should preserve new methods in BasicObject.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 01:46:29 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): update according to the last API revert.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 01:30:30 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, re.c (rb_reg_new): keep interface same as</div><div class='del'>-	  1.8.  [ruby-core:14583]</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, re.c (rb_reg_new_str): renamed, and defines</div><div class='del'>-	  HAVE_RB_REG_NEW_STR macro to tell if it is available.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_reg_new): added.</div><div class='del'>-</div><div class='del'>-	* insns.def (toregexp), marshal.c (r_object0): use rb_reg_new_str().</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regcomp, rb_reg_s_union): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 23:08:48 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): use converted object.  [ruby-core:14759]</div><div class='del'>-</div><div class='del'>-Fri Jan  4 16:24:58 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb (Digest::HMAC#initialize): use</div><div class='del'>-	  String#bytesize to avoid test errors on EUC-JP environment.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 14:00:50 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): check string encoding.  Oniguruma doesn't</div><div class='del'>-	  support invalid encoding.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 10:22:25 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): avoid inner loop for reverse search.</div><div class='del'>-</div><div class='del'>-	* regexec.c: unset USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE</div><div class='del'>-	  which is turned on since oniguruma 5.9.1.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 02:53:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: remove eucjp_ prefix.  breakpoint can be specified as</div><div class='del'>-	  euc_jp.c:mbc_enc_len.  avoid needless conflict by merge.</div><div class='del'>-</div><div class='del'>-	* enc/sjis.c: remove sjis_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/utf8.c: remove utf8_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c: remove iso_8859_1_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_2.c: remove iso_8859_2_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_3.c: remove iso_8859_3_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_4.c: remove iso_8859_4_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_5.c: remove iso_8859_5_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_6.c: remove iso_8859_6_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_7.c: remove iso_8859_7_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_8.c: remove iso_8859_8_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_9.c: remove iso_8859_9_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_10.c: remove iso_8859_10_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_11.c: remove iso_8859_11_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_13.c: remove iso_8859_13_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_14.c: remove iso_8859_14_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_15.c: remove iso_8859_15_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_16.c: remove iso_8859_16_ prefix.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 02:47:06 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): iterate onig_match for reverse mode.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 01:20:21 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32.h: only VC6 needs extern "C++" for math.h.  [ruby-talk:285660]</div><div class='del'>-</div><div class='del'>-Fri Jan  4 00:54:43 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: Oniguruma 5.9.1 merged.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 00:20:47 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_ungetc): move data in buffer if it is required to store the</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 21:56:07 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (st_strcasecmp): declared for STRCASECMP.</div><div class='del'>-	  (st_strncasecmp): declared for STRNCASECMP.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 20:24:48 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (rb_f_catch): Restore cfp if caught thrown object.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 19:45:57 2008  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_eval.rb, test_knownbug.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 18:39:12 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: (rb_tolower, rb_toupper): body was exchanged.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 17:54:01 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.h (onigenc_ascii_is_code_ctype): put back.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 17:33:09 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_isalnum): defined.</div><div class='del'>-	  (rb_isalpha): ditto.</div><div class='del'>-	  (rb_isblank): ditto.</div><div class='del'>-	  (rb_iscntrl): ditto.</div><div class='del'>-	  (rb_isdigit): ditto.</div><div class='del'>-	  (rb_isgraph): ditto.</div><div class='del'>-	  (rb_islower): ditto.</div><div class='del'>-	  (rb_isprint): ditto.</div><div class='del'>-	  (rb_ispunct): ditto.</div><div class='del'>-	  (rb_isspace): ditto.</div><div class='del'>-	  (rb_isupper): ditto.</div><div class='del'>-	  (rb_isxdigit): ditto.</div><div class='del'>-	  (rb_tolower): ditto.</div><div class='del'>-	  (rb_toupper): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: don't include include/ruby/encoding.h.</div><div class='del'>-	  (rb_isascii): defined.</div><div class='del'>-	  (rb_isalnum): declared.</div><div class='del'>-	  (rb_isalpha): ditto.</div><div class='del'>-	  (rb_isblank): ditto.</div><div class='del'>-	  (rb_iscntrl): ditto.</div><div class='del'>-	  (rb_isdigit): ditto.</div><div class='del'>-	  (rb_isgraph): ditto.</div><div class='del'>-	  (rb_islower): ditto.</div><div class='del'>-	  (rb_isprint): ditto.</div><div class='del'>-	  (rb_ispunct): ditto.</div><div class='del'>-	  (rb_isspace): ditto.</div><div class='del'>-	  (rb_isupper): ditto.</div><div class='del'>-	  (rb_isxdigit): ditto.</div><div class='del'>-	  (rb_tolower): ditto.</div><div class='del'>-	  (rb_toupper): ditto.</div><div class='del'>-	  (ISASCII): simplified.</div><div class='del'>-	  (ISPRINT): ditto.</div><div class='del'>-	  (ISSPACE): ditto.</div><div class='del'>-	  (ISUPPER): ditto.</div><div class='del'>-	  (ISLOWER): ditto.</div><div class='del'>-	  (ISALNUM): ditto.</div><div class='del'>-	  (ISALPHA): ditto.</div><div class='del'>-	  (ISDIGIT): ditto.</div><div class='del'>-	  (ISXDIGIT): ditto.</div><div class='del'>-	  (TOUPPER): ditto.</div><div class='del'>-	  (TOLOWER): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_isascii): removed.</div><div class='del'>-	  (rb_isalnum): ditto.</div><div class='del'>-	  (rb_isalpha): ditto.</div><div class='del'>-	  (rb_isblank): ditto.</div><div class='del'>-	  (rb_iscntrl): ditto.</div><div class='del'>-	  (rb_isdigit): ditto.</div><div class='del'>-	  (rb_isgraph): ditto.</div><div class='del'>-	  (rb_islower): ditto.</div><div class='del'>-	  (rb_isprint): ditto.</div><div class='del'>-	  (rb_ispunct): ditto.</div><div class='del'>-	  (rb_isspace): ditto.</div><div class='del'>-	  (rb_isupper): ditto.</div><div class='del'>-	  (rb_isxdigit): ditto.</div><div class='del'>-	  (rb_tolower): ditto.</div><div class='del'>-	  (rb_toupper): ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: dependency updated.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 15:10:26 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_isascii): simplified.</div><div class='del'>-	  (rb_isalnum): call onigenc_ascii_is_code_ctype without indirect call.</div><div class='del'>-	  (rb_isalpha): ditto.</div><div class='del'>-	  (rb_isblank): ditto.</div><div class='del'>-	  (rb_iscntrl): ditto.</div><div class='del'>-	  (rb_isdigit): ditto.</div><div class='del'>-	  (rb_isgraph): ditto.</div><div class='del'>-	  (rb_islower): ditto.</div><div class='del'>-	  (rb_isprint): ditto.</div><div class='del'>-	  (rb_ispunct): ditto.</div><div class='del'>-	  (rb_isspace): ditto.</div><div class='del'>-	  (rb_isupper): ditto.</div><div class='del'>-	  (rb_isxdigit): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (onigenc_ascii_is_code_ctype): declaration</div><div class='del'>-	  moved from regenc.h.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 14:37:17 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): use STRNCASECMP.</div><div class='del'>-	  (set_file_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 11:44:37 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: don't mention an obsolete library, ParseDate.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 11:28:58 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): clear errno first.  [ruby-talk:284492]</div><div class='del'>-</div><div class='del'>-Thu Jan  3 05:02:36 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/us_ascii.c: add us_ascii_ prefix for functions to ease</div><div class='del'>-	  setting breakpoint when debugging.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: add eucjp_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/sjis.c: add sjis_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c: add iso_8859_1_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_2.c: add iso_8859_2_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_3.c: add iso_8859_3_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_4.c: add iso_8859_4_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_5.c: add iso_8859_5_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_6.c: add iso_8859_6_ prefix.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_7.c: add iso_8859_7_ prefix.</div><div class='del'>-</div><div class='del'>-Thu Jan  3 02:44:34 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (conv_digit): use ISDIGIT, ISLOWER and ISUPPER.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 23:50:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtoul): "0x", "+" and "-" is not a valid integer.</div><div class='del'>-	  end of integer should be just after "0", the beginning, the</div><div class='del'>-	  beginning respectively.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 15:23:15 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtoul): locale independent strtoul is implemented to</div><div class='del'>-	  avoid "i".to_i(36) cause 0 under tr_TR locale on Debian GNU/Linux</div><div class='del'>-	  4.0 (Etch).</div><div class='del'>-	  This is newly implemented, not a copy of missing/strtoul.c.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_strtoul): declared.</div><div class='del'>-	  (STRTOUL): defined to use ruby_strtoul.</div><div class='del'>-</div><div class='del'>-	* bignum.c, pack.c, ext/socket/socket.c: use STRTOUL.</div><div class='del'>-</div><div class='del'>-	* configure.in (strtoul): don't check.</div><div class='del'>-</div><div class='del'>-	* missing/strtoul.c: removed.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (strtoul): removed.</div><div class='del'>-</div><div class='del'>-	* common.mk (strtoul.o): removed.</div><div class='del'>-</div><div class='del'>-	* LEGAL (missing/strtoul.c): removed.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 14:41:08 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (strcasecmp.o): removed.</div><div class='del'>-	  (strncasecmp.o): removed.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (strcasecmp): removed.</div><div class='del'>-	  (strncasecmp): removed.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 11:34:57 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/strcasecmp.c: removed.  Ruby don't use locale dependent</div><div class='del'>-	  strcasecmp.</div><div class='del'>-</div><div class='del'>-	* missing/strncasecmp.c: ditto.</div><div class='del'>-</div><div class='del'>-	* configure.in: don't check strcasecmp and strncasecmp.</div><div class='del'>-</div><div class='del'>-	* LEGAL: missing/strcasecmp.c and missing/strncasecmp.c removed.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 10:13:54 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/time.rb: use Process.times instead of Time.times.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 09:09:53 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/goodfriday.rb: examples for date are enough.  retired.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 08:58:54 2008  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/cal.rb: just updated with the newest version.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 01:19:31 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: dependency updated.</div><div class='del'>-</div><div class='del'>-Wed Jan  2 00:14:41 2008  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/{nkf.c, utf8tbl.c}: Update nkf.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: fix documents.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: fix documents.</div><div class='del'>-	  (Kconv.is*): use valid_encoding?.</div><div class='del'>-	  (Kconv.isjis): defined.</div><div class='del'>-</div><div class='del'>-Tue Jan  1 23:17:03 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: dependency updated.</div><div class='del'>-</div><div class='del'>-Tue Jan  1 21:11:33 2008  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_isascii): defined.</div><div class='del'>-	  (rb_isalnum): ditto.</div><div class='del'>-	  (rb_isalpha): ditto.</div><div class='del'>-	  (rb_isblank): ditto.</div><div class='del'>-	  (rb_iscntrl): ditto.</div><div class='del'>-	  (rb_isdigit): ditto.</div><div class='del'>-	  (rb_isgraph): ditto.</div><div class='del'>-	  (rb_islower): ditto.</div><div class='del'>-	  (rb_isprint): ditto.</div><div class='del'>-	  (rb_ispunct): ditto.</div><div class='del'>-	  (rb_isspace): ditto.</div><div class='del'>-	  (rb_isupper): ditto.</div><div class='del'>-	  (rb_isxdigit): ditto.</div><div class='del'>-	  (rb_tolower): ditto.</div><div class='del'>-	  (rb_toupper): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (st_strcasecmp): declared.</div><div class='del'>-	  (st_strncasecmp): ditto.</div><div class='del'>-</div><div class='del'>-	* st.c (type_strcasehash): use st_strcasecmp instead of strcasecmp.</div><div class='del'>-	  (st_strcasecmp): defined.</div><div class='del'>-	  (st_strncasecmp): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: include include/ruby/encoding.h.</div><div class='del'>-	  (ISASCII): use rb_isascii.</div><div class='del'>-	  (ISPRINT): use rb_isprint.</div><div class='del'>-	  (ISSPACE): use rb_isspace.</div><div class='del'>-	  (ISUPPER): use rb_isupper.</div><div class='del'>-	  (ISLOWER): use rb_islower.</div><div class='del'>-	  (ISALNUM): use rb_isalnum.</div><div class='del'>-	  (ISALPHA): use rb_isalpha.</div><div class='del'>-	  (ISDIGIT): use rb_isdigit.</div><div class='del'>-	  (ISXDIGIT): use rb_isxdigit.</div><div class='del'>-	  (TOUPPER): defined.</div><div class='del'>-	  (TOLOWER): ditto.</div><div class='del'>-	  (STRCASECMP): ditto.</div><div class='del'>-	  (STRNCASECMP): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c, encoding.c, file.c, hash.c, process.c, ruby.c, time.c,</div><div class='del'>-	  transcode.c, ext/readline/readline.c: use locale insensitive</div><div class='del'>-	  functions.  [ruby-core:14662]</div><div class='del'>-</div><div class='del'>-Tue Jan  1 17:50:47 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_enc): encoding spec is not allowed in binary mode.</div><div class='del'>-	  [ruby-dev:32913]</div><div class='del'>-</div><div class='del'>-Tue Jan  1 14:41:56 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml: 1.9 patch from Sam Ruby mentioned in his blog:</div><div class='del'>-	  &lt;http://intertwingly.net/blog/2007/12/31/Porting-REXML-to-Ruby-1-9&gt;</div><div class='del'>-	  [ruby-core:14639]</div><div class='del'>-</div><div class='del'>-Tue Jan  1 14:15:04 2008  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): offset movement bug.  a patch from</div><div class='del'>-	  Vincent Isambart &lt;vincent.isambart at gmail.com&gt; in</div><div class='del'>-	  [ruby-core:14647].  [ruby-core:14644]</div><div class='del'>-</div><div class='del'>-Tue Jan  1 01:29:04 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding): raises for non-nil, non-encoding,</div><div class='del'>-	  non-string object.  [ruby-core:14634]</div><div class='del'>-</div><div class='del'>-Tue Jan  1 01:04:06 2008  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): rejects dummy encoding.</div><div class='del'>-</div><div class='del'>-Mon Dec 31 23:53:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options, process_options): delays finding encoding</div><div class='del'>-	  until load_path is set.</div><div class='del'>-</div><div class='del'>-Mon Dec 31 23:27:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): embeds if ptr is null.  [ruby-dev:32819]</div><div class='del'>-</div><div class='del'>-Mon Dec 31 23:17:22 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):</div><div class='del'>-	  call do_XXX which correspond with request method.</div><div class='del'>-	  (WEBrick::HTTPProxyServer#do_CONNECT,do_GET,do_POST,do_HEAD): added.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpproxy.rb: add test for WEBrick::HTTPProxyServer.</div><div class='del'>-</div><div class='del'>-Mon Dec 31 22:53:29 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep): timespec tv_sec may overflow on</div><div class='del'>-	  some platform.  a patch from zunda &lt;zunda616e AT yahoo.co.jp&gt; in</div><div class='del'>-	  [ruby-dev:32904].</div><div class='del'>-</div><div class='del'>-Mon Dec 31 19:35:20 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (IS_7BIT): removed.</div><div class='del'>-	  (single_byte_optimizable): new function to test optimizationability</div><div class='del'>-	  using single byte string.</div><div class='del'>-	  (str_strlen): use single_byte_optimizable instead of</div><div class='del'>-	  is_ascii_string.</div><div class='del'>-	  (str_nth): rename argument: asc -&gt; singlebyte.</div><div class='del'>-	  (str_offset): ditto.</div><div class='del'>-	  (rb_str_substr): use single_byte_optimizable instead of IS_7BIT.</div><div class='del'>-	  (rb_str_index): ditto.</div><div class='del'>-	  (rb_str_rindex): ditto.</div><div class='del'>-	  (rb_str_splice): ditto.</div><div class='del'>-	  (rb_str_justify): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 31 07:39:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* main.c, goruby.c (RUBY_MAIN_INIT): removed.</div><div class='del'>-</div><div class='del'>-	* goruby.c (goruby_run_node): run after ruby_init_loadpath() so that</div><div class='del'>-	  require works, and protect the call.</div><div class='del'>-</div><div class='del'>-Mon Dec 31 06:50:38 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: not use -I$(srcdir)/lib with $(MINIRUBY) for cross</div><div class='del'>-	  compiling.</div><div class='del'>-</div><div class='del'>-	* configure.in, {win,bcc}32/Makefile.sub (MINIRUBY): -I$(srcdir)/lib</div><div class='del'>-	  moved.</div><div class='del'>-</div><div class='del'>-Mon Dec 31 06:08:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_sprintf, rb_enc_vsprintf): prototyped.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_enc_sprintf, rb_enc_vsprintf): new functions to format</div><div class='del'>-	  arguments with encoding.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 23:48:00 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (String#/): define / as split, as association of</div><div class='del'>-	  Array#*.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 23:19:06 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (@@golf_hash): for performance improvement.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 22:44:50 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (_valid_time?): I'm not sure to recommend such an</div><div class='del'>-	  expression.  but anyway it is acceptable now.  [ruby-core:14580]</div><div class='del'>-</div><div class='del'>-Sun Dec 30 21:54:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (program, yycompile0): too early to drop lex_lastline in</div><div class='del'>-	  rules.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 19:23:23 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: support DOSISH.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 17:43:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): registered rb_encoding differs from</div><div class='del'>-	  ONIG_ENCODINGs.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 13:56:15 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (program): clear input strings after all process.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_nextc, parser_yylex): should not drop lex_lastline</div><div class='del'>-	  while lex_p is valid.  [ruby-dev:32896]</div><div class='del'>-</div><div class='del'>-Sun Dec 30 10:54:49 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: rm largefile.h.</div><div class='del'>-</div><div class='del'>-	* common.mk: clean golf, conf*, preludes, and so on.</div><div class='del'>-</div><div class='del'>-	* enc/depend: silent and ignore error for rm.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: should define prefix and exec_prefix.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 06:31:11 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_encoding): register Windows-31J and its alias.</div><div class='del'>-	  [ruby-dev:32843]</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -Ks options means Windows-31J, not Shift_JIS.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 06:27:38 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): need to convert `/' to `\' for windows</div><div class='del'>-	  native commands.</div><div class='del'>-</div><div class='del'>-Sun Dec 30 01:43:56 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (DLDFLAGS): like as extensions.  [ruby-core:14567]</div><div class='del'>-</div><div class='del'>-Sat Dec 29 23:48:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): don't retry when wbuf modified by other threads.</div><div class='del'>-</div><div class='del'>-Sat Dec 29 22:44:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): returns the given string itself if nothing</div><div class='del'>-	  changed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): keeps code-range as possible.</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): adjusts code-range.  [ruby-core:14566]</div><div class='del'>-</div><div class='del'>-Sat Dec 29 21:54:37 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean, distclean, realclean): should include clean-enc</div><div class='del'>-	  and others.  [ruby-dev:32887]</div><div class='del'>-</div><div class='del'>-Sat Dec 29 13:29:29 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add a test reported by</div><div class='del'>-	  Kazuhiro NISHIYAMA.  [ruby-dev:32819].</div><div class='del'>-	  add a test reported by Frederick Cheung.  [ruby-core:14556].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_gsub): add a test reported by</div><div class='del'>-	  Sam Ruby.  [ruby-core:14566]</div><div class='del'>-</div><div class='del'>-Sat Dec 29 04:46:58 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_throws):</div><div class='del'>-	  throw won't raise NameError nor ThreadError but ArgumentError on 1.9.</div><div class='del'>-	  (Test::Unit::Assertions#assert_not_throws): ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: add assertions for throwing some</div><div class='del'>-	  objects other than Symbol.</div><div class='del'>-</div><div class='del'>-Sat Dec 29 03:10:12 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): fix typo.</div><div class='del'>-</div><div class='del'>-Sat Dec 29 02:18:45 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): adhoc workaround for non-binary mode of some DOSish</div><div class='del'>-	  platforms. this is not perfect and safety, but works with most cases.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 23:53:18 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (str_new): new function for allocate an string</div><div class='del'>-	  with encoding propagation.</div><div class='del'>-	  (extract_range): use str_new.</div><div class='del'>-	  (extract_beg_len): ditto.</div><div class='del'>-	  (strscan_peek): ditto.</div><div class='del'>-	  (strscan_rest): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 20:18:42 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Object.say): derived from Perl 5.10.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 19:39:34 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encoding): should check return value from</div><div class='del'>-	  rb_locale_charmap().</div><div class='del'>-</div><div class='del'>-	* ruby.c (locale_encoding): removed.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): use rb_locale_encoding() instead of</div><div class='del'>-	  locale_encoding().</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): use locale encoding</div><div class='del'>-	  instead of input IO's encoding. [ruby-dev:32872]</div><div class='del'>-</div><div class='del'>-Fri Dec 28 19:29:07 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline, readline_s_set_input):</div><div class='del'>-	  use mReadline directly because self is not always same.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 19:11:28 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encoding): defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_locale_encoding): declared.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 18:45:29 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): set encoding to result.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_input, Init_readline): save</div><div class='del'>-	  input IO to hidden instance variable.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 01:55:04 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_dispatch): reverted some of the changes</div><div class='del'>-	  in r14746.</div><div class='del'>-</div><div class='del'>-	* transcode.c, enc/trans/single_byte.c: Added conversions to/from</div><div class='del'>-	  US-ASCII and ASCII-8BIT (using data tables).</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.c: Some spacing/ordering changes due to</div><div class='del'>-	  automatic data file generation.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h, transcode.c: Preliminary code for using</div><div class='del'>-	  micro-conversion functions.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Added some tests for US-ASCII and</div><div class='del'>-	  ASCII-8BIT conversions.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 17:33:44 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (make_time_t): verify mktime and timegm result.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 16:36:33 2007  NARUSE, Yui  &lt;naruse@airemix.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 16:10:00 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/dot/dot.rb: Move to lib/rdoc/dot.rb. Fix namespacing.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb: Update for 1.9.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 15:38:29 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/sample/: Move to sample/rdoc/markup directory.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 15:15:12 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: Remove garbage ("X=1").</div><div class='del'>-</div><div class='del'>-Fri Dec 28 15:12:05 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc, test/rdoc: Move RDoc tests out of lib/.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 15:10:47 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (set_base_encoding, enc_base_encoding): renamed</div><div class='del'>-	  based_encoding as base_encoding.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 13:57:49 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Integer#each): use alias simply.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 13:45:21 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Object.const_missing): No need to delegate to</div><div class='del'>-	  superclass.  Just raise a NameError when none matches.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 13:18:47 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, test/rss/test_version.rb: 0.2.2 -&gt; 0.2.3.</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb, test/rss/test_parser.rb: supported "-" in tag name.</div><div class='del'>-	  Reported by Ray Chen. Thanks.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 13:07:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (os_obj_of): returns an enumerator if no block given.  based on</div><div class='del'>-	  a patch from Yugui &lt;yugui AT yugui.sakura.ne.jp&gt;.  [ruby-dev:32828]</div><div class='del'>-</div><div class='del'>-Fri Dec 28 11:46:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ytab.sed: skip yydestruct hack unless yymsg exists, for bison</div><div class='del'>-	  1.8 series.  [ruby-dev:32825]</div><div class='del'>-</div><div class='del'>-Fri Dec 28 11:39:02 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Object.quine): need to join because SCRIPT_LINES__[]</div><div class='del'>-	  returns an array of lines.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 11:16:53 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Object.quine): get the script itself.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 10:06:54 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Object.const_missing): Auto-complete constants.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 01:55:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_dispatch): allows transcoding from/to</div><div class='del'>-	  ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 01:47:25 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (Integer): Integer is now enumerable on goruby.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 01:27:47 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (parse_files): don't depend on the default external</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 00:01:57 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (golf_prelude.c): use MINIRUBY instead of BASERUBY because</div><div class='del'>-	  tool/compile_prelude.rb requires rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 23:56:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: should not use the libraries under the source directory</div><div class='del'>-	  at cross compiling.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 23:43:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (EXTOBJS): uses ruby.rc always for other than</div><div class='del'>-	  rubyw.exe.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 22:31:37 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/update_command.rb (do_rubygems_update): use</div><div class='del'>-	  portable and safely ENV operation. reported in</div><div class='del'>-	  &lt;http://slashdot.jp/developers/comments.pl?sid=384937&amp;cid=1273085&gt;.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 21:47:04 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (prefix): archdir is "1.9.0", not "1.9". reported in</div><div class='del'>-	  &lt;http://slashdot.jp/developers/comments.pl?sid=384937&amp;cid=1273085&gt;.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 17:57:30 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y, transcode_data.h, transcode.c, lib/weakref.rb,</div><div class='del'>-	  lib/irb/ruby-lex.rb, lib/irb/lc/error.rb, enc/trans/japanese.c:</div><div class='del'>-	  change "illegal" to "invalid" in a context which doesn't against</div><div class='del'>-	  a law.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 16:37:06 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): show encodings in error message.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 15:25:16 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codelen): show codepoint in error message.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_codelen): comment it returns</div><div class='del'>-	  positive integer.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): rb_enc_codelen doesn't return 0.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 15:18:44 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codelen): error message refined.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 15:11:27 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check): show encodings in error message.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 15:02:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): fixed using a wrong variable.</div><div class='del'>-	  [ruby-list:44402]</div><div class='del'>-</div><div class='del'>-Thu Dec 27 14:34:38 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): checks wbuf modification by other threads.</div><div class='del'>-	  not perfect.  it need locks.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 10:44:03 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: a patch to support IRIX from Andrew</div><div class='del'>-	  Thompson &lt;andrew@hijacked.us&gt; in [ruby-core:14447].</div><div class='del'>-</div><div class='del'>-Thu Dec 27 02:25:45 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_tmpsrc): retry to create file if Errno::EACCES</div><div class='del'>-	  occurs. this is a workaround for mswin32.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 22:47:31 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Name.==): fix for other is array of</div><div class='del'>-	  Resolv::DNS::Label::Str.</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::MessageEncoder#put_label): String#string</div><div class='del'>-	  is not defined, so replace to_s.</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::IPv6#to_name): ip6.int is obsoleted by</div><div class='del'>-	  ip6.arpa.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 21:27:02 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_xmlschema): some improvements.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_parse): a new hint compfunc. [experimental]</div><div class='del'>-</div><div class='del'>-Wed Dec 26 17:31:08 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): check closed fptr after rb_write_internal to avoid</div><div class='del'>-	  SEGV on MacOS X.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 16:10:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): defines chars method.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 14:38:43 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: install goruby if exists.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 13:55:02 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb:  Cleaned up some code with Ruby 1.9 idioms.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 13:29:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (tmpbuf): use rb_str_tmp_new().</div><div class='del'>-</div><div class='del'>-Wed Dec 26 00:57:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/generator/generator.c (Init_generator): requires</div><div class='del'>-	  json/common.rb for GeneratorError, when static linked.  a patch from</div><div class='del'>-	  Kenta Murata &lt;muraken AT gmail.com&gt; in [ruby-dev:32789].</div><div class='del'>-</div><div class='del'>-Tue Dec 25 23:33:55 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* development version 1.9.0 released.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 23:25:29 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/node.rb (REXML::Node::indent): should initialize rv</div><div class='del'>-	  variable.  a patch from Tadayoshi Funaba &lt;tadf AT dotrb.org&gt; in</div><div class='del'>-	  [ruby-dev:32783].</div><div class='del'>-</div><div class='del'>-Tue Dec 25 23:16:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): encoding option in shebang and RUBYOPT did not</div><div class='del'>-	  work, do not store alloca()ed string in a parent scope struct.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:56:52 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): keep this file.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:55:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (TIMEZONE_VOID): typo.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:45:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns2vm.rb: add encoding option to shebang.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:13:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/pending.rb: add pending issue.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:12:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: remove Thread.critical(=).</div><div class='del'>-</div><div class='del'>-Tue Dec 25 21:44:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: add version number.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 21:32:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix stack consistency error</div><div class='del'>-	  (break is compiled to throw instead of jump insn).</div><div class='del'>-	  these problems are reported by Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_syntax.rb: move fixed test.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 21:32:44 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): make parser_ruby_sourcefile common</div><div class='del'>-	  field.  it is used by node_newnode.</div><div class='del'>-	  new field parser_ruby_sourcefile_string for ripper.</div><div class='del'>-	  (parser_initialize): initialize parser_ruby_sourcefile in ripper.</div><div class='del'>-	  (ripper_initialize): initialize parser_ruby_sourcefile_string.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 21:26:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.c): depends on tool/ytab.sed.</div><div class='del'>-</div><div class='del'>-	* tool/ytab.sed: hack for bison 2.1.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 20:24:58 2007  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Only show a warning if the default</div><div class='del'>-	  DH callback is actually used.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: New method: random_add().</div><div class='del'>-</div><div class='del'>-Tue Dec 25 20:24:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: argument check, and cleanup exported directory.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 20:07:13 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: more portable.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 19:01:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.h (rb_enc_mbc_to_codepoint): wrapper for</div><div class='del'>-	  ONIGENC_MBC_TO_CODE().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): deal with invalid sequence as binary.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 18:40:46 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: all methods need $SAFE &lt; 1.</div><div class='del'>-</div><div class='del'>-	 vm.c: comment out debug functions.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 18:37:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): move RS comparison to rb_io_getline_1().</div><div class='del'>-</div><div class='del'>-Tue Dec 25 18:27:51 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): don't call rb_enc_codepoint with empty</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 18:06:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): don't call rb_enc_codepoint with empty</div><div class='del'>-	  string.  fix '#'.inspect.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codepoint): raise on empty string.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 17:48:28 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_frame_method_id_and_class): new function to get the</div><div class='del'>-	  method id and class of the current frame.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 17:32:04 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): Add a missing dependency on the</div><div class='del'>-	  target directory for each .rb file.  This will hopefully fix</div><div class='del'>-	  parallel make (-jN).  Tested on FreeBSD.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:51:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (rb_{from,to}_{SHIFT_JIS,EUC_JP}): inversed</div><div class='del'>-	  from_encoding and to_encoding.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:41:57 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb (h): add new method for all golfers.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:37:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese.c (rb_to_EUC_JP): fixed typo.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:34:58 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/depend: add dependencies. [ruby-dev:32760]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:26:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, thread.c: rename is_ruby_native_thread() to</div><div class='del'>-	  ruby_native_thread_p().</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: apply it.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:15:15 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-enc): clean encoding objects.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:04:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, goruby.c, golf_prelude.rb: for golfers.</div><div class='del'>-</div><div class='del'>-	* main.c (main): hook for embedding applications.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: can change initialize function name.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:59:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_register): do not use based_encoding to check if</div><div class='del'>-	  dummy encoding.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:55:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): fix for string with non-alphanumeric chars.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:42:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_external_encoding): should return nil for</div><div class='del'>-	  pass-through write IO.  [ruby-dev:32740]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:24:57 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): initialize rslen to 1 if rsptr is 0.</div><div class='del'>-	  rslen is the length of the delimiter.</div><div class='del'>-	  if only delim is given, it should be 1.</div><div class='del'>-	  [ruby-dev:32746]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:21:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_dispatch): fix for multistep transcode.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:07:51 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.c (Init_single_byte): renamed.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 15:00:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_yield): when multiple values yielded from #each</div><div class='del'>-	  pack them into an array.  [ruby-dev:32708]</div><div class='del'>-</div><div class='del'>-	* enum.c: all method but all?, any?, one? and none? passed packed</div><div class='del'>-	  multiple values to the block.</div><div class='del'>-</div><div class='del'>-	* enum.c (collect_all): should pack all values.  [ruby-core:14410]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 14:57:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (COMMONOBJS): transcode_data_*.c moved under enc/trans.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (rb_transcoding, rb_transcoder): prefixed.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_register_transcoder, rb_declare_transcoder): split</div><div class='del'>-	  declaration and registration.  [ruby-dev:32704]</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_dispatch): autoload pre-declared transcoder.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): use rb_define_dummy_encoding().</div><div class='del'>-</div><div class='del'>-	* transcode.c (Init_transcode): initialize transcoder tables.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.c, enc/trans/japanese.c: moved from top.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 14:20:13 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (map_dir): should generate path including $top_srcdir.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 14:09:16 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb:  Fixed test failures caused by changes to Ruby.</div><div class='del'>-</div><div class='del'>-	* test/csv/tc_serialization, test/csv/tc_csv_parsing, test/csv/tc_features:</div><div class='del'>-	  Fixed test failures caused by changes to Ruby.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 14:11:57 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): missing return type.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 14:03:48 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (MockClock#{_forward, forward, sleep}):</div><div class='del'>-	  Change default value of n as @reso from nil.  If default value is</div><div class='del'>-	  nil, n.+ is not defined.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:54:01 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (test_pipe): fixed.</div><div class='del'>-	  [ruby-dev:32743]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:44:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): should check EBADF on select().</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:30:03 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c, thread_pthread.h, thread_win32.c,</div><div class='del'>-	  thread_win32.c: make some functions static functions.</div><div class='del'>-	  a patch from Tadashi Saito &lt;shiba AT mail2.accsnet.ne.jp&gt;</div><div class='del'>-	  in [ruby-core:14407]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:23:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (test_write_noenc): don't mix text and</div><div class='del'>-	  binary mode.  [ruby-dev:32743]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:13:09 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja, dir.c, eval.c, eval_intern.h, lex.c.src,</div><div class='del'>-	  lex.c.blt, keywords, load.c, thread.c: more ANSI'ize.</div><div class='del'>-	  a patch from Tadashi Saito &lt;shiba AT mail2.accsnet.ne.jp&gt;</div><div class='del'>-	  in [ruby-dev:32725]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:07:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(),</div><div class='del'>-	  RUBY_VM_SET_TIMER_INTERRUPT(), RUBY_VM_INTERRUPTED().</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.c, thread_win32.c: fix to ignore time slice</div><div class='del'>-	  event until sleep.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: add a test for time limited join test.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 12:42:59 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): remove unused code.</div><div class='del'>-	  [ruby-dev:32732]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 12:32:32 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: Moving a static counter from inside register_transcoder()</div><div class='del'>-	  and register_functional_transcoder() to outside the functions, renaming</div><div class='del'>-	  from n to next_transcoder_position. Fixes 3) in [ruby-dev:32715].</div><div class='del'>-</div><div class='del'>-Tue Dec 25 12:22:17 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/from.rb: follow Ruby 1.9 libraries.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 12:21:56 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_inspect): preserve encoding of the method name.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 12:07:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BASERUBY): delayed error until BASERUBY is used.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 11:48:35 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/README: removed obsoleted files: dbmtest.rb,</div><div class='del'>-	  getopts.test, mrshtest.rb, regx.rb.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 11:45:34 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb:  Import the FasterCSV source as the new CSV class.</div><div class='del'>-</div><div class='del'>-	* test/csv/*:  Added all applicable tests from FasterCSV.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 11:33:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (report_bug): uses ruby_description.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 11:20:38 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix stack consistency error.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;  [ruby-dev:32720]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add 2 tests for above.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 11:14:20 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c, vm_core.h: comment out unused fields.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 11:02:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: check frame is FINAL when creating env.</div><div class='del'>-	  [ruby-core:14395]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 09:12:13 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/:  Enable RDoc debugging only with $DEBUG_RDOC.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 08:37:43 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb, test/csv/test_csv.rb:  Removed in preparation for</div><div class='del'>-	  FasterCSV code import.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 08:27:43 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Fix test failures.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem.rb:  Fix test failure.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 06:23:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_literal.rb: move fixed test.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 06:19:04 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/biorhythm.rb: follow Ruby 1.9 libraries.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 06:15:01 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: add dummy toplevel frame.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 05:44:56 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Fix uninitialized variable warning.</div><div class='del'>-	  [ruby-talk:284582]</div><div class='del'>-</div><div class='del'>-	* lib/irb/output-method.rb:  Remove unused #foo method.</div><div class='del'>-	  [ruby-talk:284582]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 05:24:12 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile): clear local table if node == 0.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;  [ruby-dev:32530]</div><div class='del'>-</div><div class='del'>-	* vm.c: clear VM stack.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 04:23:32 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id2str): fill klass of returned string as rb_cString.</div><div class='del'>-	  some strings are allocated before rb_cString is created.</div><div class='del'>-	  This prevents a "called on terminated object" error by</div><div class='del'>-	  ObjectSpace.each_object(Module) {|m| p m.name }.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 03:51:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix stack consistency bug.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-Tue Dec 25 03:19:47 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: must create configure and lex.c.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 03:16:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): now takes up to two arguments.  allow its</div><div class='del'>-	  external/internal encoding by Encoding objects.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_set_encoding): new method to set encoding of the IO.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_set_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 03:08:53 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): use NUM2LONG instead of NUM2INT.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_lshift, fix_aref): use SIZEOF_LONG instead of</div><div class='del'>-	  SIZEOF_VALUE.</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2ulong, rb_big_aref): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 02:55:26 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/element.rb (REXML::Elements#each): yield in each</div><div class='del'>-	  should be called with one parameter. [ruby-dev:32708]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 02:15:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): add a "pop" insn after break</div><div class='del'>-	  to fix stack consistency error.  [ruby-core:14385]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: remove fixed bug.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 01:54:36 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id): remove several unused symbols. [ruby-core:14362]</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): do not use</div><div class='del'>-	  VM_CALL_SEND_BANG flag any longer.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 01:42:41 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (parse_files): interpret coding cookie.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 01:38:04 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_name): preserve Symbol's encoding.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_id2name): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 01:19:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_left_char_head): new utility macro.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_right_char_head): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): does multibyte RS search in the function.</div><div class='del'>-</div><div class='del'>-	* io.c (prepare_getline_args): RS may be nil.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): should process character based on external</div><div class='del'>-	  encoding, when transcoding required.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 01:07:57 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/output-method.rb: translate a comment to English to</div><div class='del'>-	  avoid mix of EUC-JP comment and UTF-8 Date keyword.</div><div class='del'>-	  svn substitute Date keyword with UTF-8 weekday on UTF-8 locale.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 00:27:28 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservley/cgihandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::CGIHandler#do_GET): m17nized.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 23:55:29 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::escape): m17nized.</div><div class='del'>-	  (CGI::unescape): ditto.</div><div class='del'>-	  (CGI::escapeHTML): ditto.</div><div class='del'>-	  (CGI::unescapeHTML): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 23:32:24 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data_japanese.c (select_iso_2022_mode): '\e' is not valid.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 23:13:09 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb (RDoc::Diagram#initialize): use fileuitls</div><div class='del'>-	  instead of ftools.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 23:04:57 2007  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb: removed obsoleted lib.  use fileutils instead (by eban).</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb, lib/rdoc/generators/*, lib/rake.rb: let it use</div><div class='del'>-	  fileutils instead of ftools.</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb: removed unused references to ftools.</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb: removed.  see [ruby-core:12535], [ruby-dev:31969].</div><div class='del'>-</div><div class='del'>-	* lib/README: updated.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 23:01:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI::Buffer): use Meta ===.  [ruby-core:14295]</div><div class='del'>-</div><div class='del'>-Mon Dec 24 22:46:42 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: register_functional_transcoder() added.</div><div class='del'>-	  (init_transcoder_table(: register ISO-2022-JP.</div><div class='del'>-	  (str_transcode): add preprocessor and postprocessor.</div><div class='del'>-</div><div class='del'>-	* transcode_data_japanese.c: add ISO-2022-JP support.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h: moved transcoder and transcoding definition from</div><div class='del'>-	  transcode.c.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 20:29:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb: fix test for 1.9.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 20:23:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: revert last commit because this test seems</div><div class='del'>-	  to have timing problem to halt all tests.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 20:18:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: enable rinda test.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 20:16:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: fix rdoc install dir.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 18:37:32 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): show regexp encoding in the error message.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 18:23:32 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exc_raise): ANSI style.</div><div class='del'>-	  (rb_exc_fatal): ditto.</div><div class='del'>-	  (rb_raise_jump): ditto.</div><div class='del'>-	  (rb_jump_tag): ditto.</div><div class='del'>-	  (rb_block_given_p): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (original_module): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 18:05:09 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (Init_ISeq): disable ISeq.load() because there is no verifier.</div><div class='del'>-</div><div class='del'>-	* iseq.c, proc.c: add ISeq.disasm(method).</div><div class='del'>-</div><div class='del'>-Mon Dec 24 18:06:03 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.c (Init_eval_method): extracted from Init_eval</div><div class='del'>-	  for rdoc to find rb_mod_remove_method, rb_mod_undef_method and</div><div class='del'>-	  rb_mod_alias_method.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): call Init_eval_method.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:59:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): reverted.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): check for recursive wait.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:50:54 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (function_call_may_return_twice_jmp_buf): removed.</div><div class='del'>-	  (function_call_may_return_twice_false): removed.</div><div class='del'>-	  [ruby-core:14335]</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:40:57 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (node_name.inc, miniprelude.c, prelude.c): nmake cannot</div><div class='del'>-	  handle target vpath in other than implicit rules.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:20:34 2007  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/{mailread.rb,getopts.rb,parsearg.rb}: removed.</div><div class='del'>-	  see [ruby-core:12535], [ruby-dev:31969].</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:12:57 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, random.c, array.c:</div><div class='del'>-	  change exported name.</div><div class='del'>-	  genrand_int32 -&gt; rb_genrand_int32.</div><div class='del'>-	  genrand_real -&gt; rb_genrand_real.</div><div class='del'>-	  [ruby-core:14335]</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:06:37 2007  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {lib,test}/{soap,wsdl,xsd}: removed soap4r along to the discussion</div><div class='del'>-	  at ruby-core and ruby-dev.  see [ruby-core:12535], [ruby-dev:31969].</div><div class='del'>-</div><div class='del'>-Mon Dec 24 17:06:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): returns loading path name too.</div><div class='del'>-</div><div class='del'>-	* load.c (search_required): returns path too if feature is being</div><div class='del'>-	  loaded.  [ruby-dev:32048]  [TODO: refactoring]</div><div class='del'>-</div><div class='del'>-Mon Dec 24 16:29:12 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/openssl: reviewed and remove dependency on getopts.rb.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 16:18:57 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: add teeny to CONFIG['ruby_version'].</div><div class='del'>-</div><div class='del'>-Mon Dec 24 15:55:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile.rb, getrev.rb, runruby.rb: remove unused tools.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 15:42:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, cygwin/GNUmakefile.in, */Makefile.sub,</div><div class='del'>-	  djgpp/config.hin.: version dependent directory names now contain</div><div class='del'>-	  teeny.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 15:29:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/serb.rb: removed.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 13:55:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_new), vm.c (invoke_block): removed u3.state magic.</div><div class='del'>-	  [ruby-core:14310]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb (test_to_proc): a test from Frederick</div><div class='del'>-	  Cheung &lt;frederick.cheung AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 13:43:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork): should not leave living_threads</div><div class='del'>-	  referring freed table while allocating new table.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 12:49:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, configure.in, lib/mkmf.rb, */Makefile.sub: specify</div><div class='del'>-	  compiled output file name explicitly.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in, enc/depend: now makes compiler to put generated</div><div class='del'>-	  files under directories corresponding to the each source.</div><div class='del'>-	  enc/trans supported.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb: evaluates depend file before Makefile.in so</div><div class='del'>-	  that the former can influence to CONFIG.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 12:35:03 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win{32,ce}/Makefile.sub (MFLAGS): defaulted to -l.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 12:08:10 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* /, ext/:  Add svn:ignore for OS X Xcode 3's conftest.dSYM</div><div class='del'>-	  directories.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 11:56:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: should not pass MAKEFLAGS to recursive make.</div><div class='del'>-	  + normal make: MFLAGS are set and command line options and macros</div><div class='del'>-	    are all passed silently.</div><div class='del'>-	  + GNU make: ditto, and all options and macros in MAKEFLAGS are in</div><div class='del'>-	    effect.</div><div class='del'>-	  + nmake: MFLAGS is not set and MAKEFLAGS has only options without</div><div class='del'>-	    hyphen, no macros exist in any variables.</div><div class='del'>-	  + Borland make: ditto, and command line macros cannot override</div><div class='del'>-	    macros in makefile, so passing them is vain.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win{32,ce}}/Makefile.sub (SET_MAKE): set MFLAGS which is not</div><div class='del'>-	  set by default, to get rid of chaotic situation of MFLAGS/MAKEFLAGS.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 11:32:44 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable): fixed to keep transitivity.</div><div class='del'>-	  [ruby-dev:32693]</div><div class='del'>-</div><div class='del'>-Mon Dec 24 11:20:31 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb:  Fix display of GEMDIRS, make command</div><div class='del'>-	  examples match ri's name.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_paths.rb:  Only allow latest ri dirs in ri output.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 10:49:04 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb, lib/uri/common.rb:  Fix Regexp warnings.  Patch</div><div class='del'>-	  #16524 from Kornelius Kalnbach, [ruby-core:14302].</div><div class='del'>-</div><div class='del'>-Mon Dec 24 10:37:38 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb:  Remove methods from Gem, not QuickLoader, to fix</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 09:45:45 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c, transcode_data_one_byte.c, transcode_data_japanese.c:</div><div class='del'>-	  added rb_ prefix to external data symbols.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 05:32:22 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): updated documentation.  a patch from Keita</div><div class='del'>-	  Yamaguchi &lt;keita.yamaguchi AT gmail.com&gt; in [ruby-dev:32686].</div><div class='del'>-</div><div class='del'>-	* README.EXT: updated.  a patch from Tadashi Saito</div><div class='del'>-	  &lt;shiba AT mail2.accsnet.ne.jp&gt; in [ruby-core:14328].</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_at): updated documentation. a patch from Tadashi</div><div class='del'>-	  Saito &lt;shiba AT mail2.accsnet.ne.jp&gt; in [ruby-core:14330].</div><div class='del'>-</div><div class='del'>-Mon Dec 24 05:13:04 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should associate new encoding if modified.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 04:04:12 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb: should rescue LoadError.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 03:57:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c, vm.h: fix to support sparc machine.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-Mon Dec 24 03:35:19 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: remove additional "-".</div><div class='del'>-</div><div class='del'>-Mon Dec 24 02:59:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): should not fill fptr-&gt;enc always.</div><div class='del'>-	  read-write IO (e.g. socket) does not work.  [ruby-dev:32685]</div><div class='del'>-</div><div class='del'>-	* io.c (io_read_encoding): retrieve reading encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (prepare_getline_args): convert RS to external encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (str_new_shared): was setting embedding flag of wrong</div><div class='del'>-	  string object.  [ruby-dev:32685]</div><div class='del'>-</div><div class='del'>-	* io.c (io_enc_str): should preserve default_external encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): should do multibyte aware RS search.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 02:06:35 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): documentation update.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): wrong encoding destination.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_external_encoding): should return the encoding of</div><div class='del'>-	  the file reading.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_internal_encoding): should return the encoding of</div><div class='del'>-	  read string.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 01:46:43 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): allow specifying read-side encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (io_enc_str): wrong encoding destination.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 01:03:17 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable): comparison including broken</div><div class='del'>-	  coderange strings do not consider encoding.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 00:57:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (open_key_args): IO direct methods (foreach, readlines,</div><div class='del'>-	  read) now takes keyword argument: encoding, mode, open_args.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 00:52:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_read): encoding argument reverted.</div><div class='del'>-</div><div class='del'>-	* io.c (mode_enc): independent function to share code.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_internal_encoding): new method.</div><div class='del'>-</div><div class='del'>-Mon Dec 24 00:47:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (TestBeginEndBlock::test_endblockwarn):</div><div class='del'>-	  rename endblockwarn.rb to endblockwarn_rb to avoid unnecessary</div><div class='del'>-	  warning in make test.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 23:03:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codepoint): implemented to raise invalid</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_codepoint): macro is replaced as a</div><div class='del'>-	  declaration.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 19:45:22 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.httpdate): fix 2 digits year for 20xx.</div><div class='del'>-	  reported by Tadayoshi Funaba.  [ruby-dev:32687]</div><div class='del'>-</div><div class='del'>-Sun Dec 23 19:33:42 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb:  Fix method redefined warning.  [ruby-core:14304]</div><div class='del'>-</div><div class='del'>-Sun Dec 23 18:31:49 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_enc_get): use rb_define_dummy_encoding.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (Init_nkf): use rb_nkf_enc_get("ASCII").</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Update 1.161.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf9/config.h: default output encoding is now UTF-8.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv.kconv): replace Encoding#name by</div><div class='del'>-	  Encoding#to_s.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 18:02:52 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/gem_open_uri.rb:  Fix version check.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 17:24:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): add eucJP as an alias of EUC-JP.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 17:00:23 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.httpdate): use Time.utc for</div><div class='del'>-	  "day-of-week, dd-mon-yy HH::MM:SS GMT" format.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 16:12:40 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Fix 1.9 warnings.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 15:28:37 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems, test/rubygems:  Fix new 1.9 warnings.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 14:43:10 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb:  Use require to load rubygems.rb so the correct path</div><div class='del'>-	  is in $LOADED_FEATURES on RubyGems upgrade.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 11:26:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_call): use exact argument array interface.</div><div class='del'>-	  [ruby-core:14279]</div><div class='del'>-</div><div class='del'>-Sun Dec 23 11:01:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode_m): removed C99ism.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 10:23:23 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data_one_byte.c: Better (and more honest) optimization.</div><div class='del'>-</div><div class='del'>-	* transcode_data_japanese.c: First optimization step.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 09:07:02 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h, encoding.c, re.c, io.c, parse.y, numeric.c,</div><div class='del'>-	  ruby.c, transcode.c, ext/nkf/nkf.c: rename rb_ascii_encoding to</div><div class='del'>-	  rb_ascii8bit_encoding.  rb_ascii_encoding is ambiguous with</div><div class='del'>-	  ASCII-8BIT and US-ASCII.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 03:35:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: use patchlevel if revision is not set.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win{32,ce}}/setup.mak (-version-): skip including revision.h.</div><div class='del'>-</div><div class='del'>-	* common.mk (srcs): new target to generated sources.</div><div class='del'>-</div><div class='del'>-	* common.mk (encs, ext/ripper/ripper.c): MAKEFLAGS needs -.</div><div class='del'>-</div><div class='del'>-	* enc/depend, enc/make_encmake.rb: use erb.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 01:56:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_enc): do not set encoding unless explicitly</div><div class='del'>-	  specified.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): fill fptr-&gt;enc by default_external</div><div class='del'>-	  if it's empty.</div><div class='del'>-</div><div class='del'>-	* io.c (io_enc_str): fptr-&gt;enc is always set for reading IO (by</div><div class='del'>-	  rb_io_check_readable(fptr)).</div><div class='del'>-</div><div class='del'>-Sun Dec 23 01:18:06 2007  David Flanagan  &lt;david@davidflanagan.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, io.h: temporary patch to partially implement</div><div class='del'>-	  transcode-on-read and transcode-on-write</div><div class='del'>-</div><div class='del'>-Sun Dec 23 00:48:05 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: added tests for SSL.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 21:10:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_genericresolver_node_import): should</div><div class='del'>-	  not set instance variable "@kind" before initializing it.</div><div class='del'>-	  [ruby-dev:32677]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 19:52:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_objectspace.rb: fix condition.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 19:17:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/probeprofiler/: removed.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 19:14:38 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_fork): Unsupport Kernel.fork() on NetBSD.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 18:20:13 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (version.o): add dependency. [ruby-dev:32680]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 17:45:11 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (Init_nkf): use rb_ascii_encoding() for</div><div class='del'>-	  rb_nkf_enc_get("US-ASCII").</div><div class='del'>-	  * if use rb_nkf_enc_get("US-ASCII"), ruby will crash - this is bug?</div><div class='del'>-</div><div class='del'>-Sat Dec 22 17:39:03 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($extmk): fixed broken condition.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 17:35:59 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8.c: Update nkf.c rev:1.157.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_enc_get): replicate proper based encoding.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/kconv.c (Kconv#kconv, to*): use self.encoding as from_enc</div><div class='del'>-	  when from_enc isn't given.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 17:06:50 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext.build): removed.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext#set_params):</div><div class='del'>-	  new method to set suitable SSL parameters.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb, lib/net/http.rb, lib/net/imap.rb,</div><div class='del'>-	  test/openssl/test_ssl.rb: follow above change.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb: refine error case.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 16:58:49 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (encode_utf7): accept UTF-8 strings.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (decode_utf7): return UTF-8 strings.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:56:36 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data_japanese: typo.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:54:54 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Information for last patch got lost, fixed</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Added simple tests for</div><div class='del'>-	  EUC-JP and Shift_JIS and tests for ASCII-only range</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:45:45 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode_data_one_byte: slightly optimized</div><div class='del'>-</div><div class='del'>-	* transcode_data_japanese: new data file for EUC-JP and SHIFT_JIS</div><div class='del'>-	  (not yet optimized; tests to follow; data from</div><div class='del'>-	  http://nkf.sourceforge.jp/ucm/{SJIS|eucJP}-nkf.ucm)</div><div class='del'>-</div><div class='del'>-	* common.mk, transcode.c: Adjusted for transcode_data_japanese</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:30:13 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (MFLAGS): define unless defined.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:17:40 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($extmk): set true only when under ext/ or tool/.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:14:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs, ext/ripper/ripper.c): needs MFLAGS.</div><div class='del'>-</div><div class='del'>-	* configure.in (STRINGIZE): stringizing macro.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (STRINGIZE): fallback.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: new file.</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_description, ruby_copyright): string constants for</div><div class='del'>-	  -v option.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:03:37 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (initialize): fixed documentation.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 15:01:16 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (enable_ssl): use OpenSSL::SSL::SSLContext.build</div><div class='del'>-	  instead of SSLContext.new (default verify mode is now</div><div class='del'>-	  OpenSSL::SSL::VERIFY_PEER).</div><div class='del'>-</div><div class='del'>-Sat Dec 22 14:45:21 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: shouldn't freeze nil. [ruby-dev:32677]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 14:27:27 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_ascii_is_code_ctype): moved from enc/ascii.c.</div><div class='del'>-</div><div class='del'>-	* regenc.h (onigenc_ascii_is_code_ctype): declared.</div><div class='del'>-</div><div class='del'>-	* enc/ascii.c: use onigenc_ascii_is_code_ctype.</div><div class='del'>-</div><div class='del'>-	* enc/us_ascii.c: new file for US-ASCII.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 14:30:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_iter): allows non-ascii names and</div><div class='del'>-	  get rid of reserved word IDs.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 14:18:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb, test_sprintf.rb: fix test place.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 14:17:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_objectspace.rb: skip frozen string.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 14:02:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): add volatile to avoid GC problem.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 11:47:42 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_eval): use class of immediate objects.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: fix a test.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 11:37:06 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): win32 support.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 11:31:14 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb:  Place bin dir before lib dir so gem bin stubs work.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 11:05:44 2007  Jim Weirich  &lt;jim@tardis.local&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb (Rake): Added Rake and related libraries to the</div><div class='del'>-	  source code base.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 10:30:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/insns2vm.rb: moved from lib/vm/instruction.rb.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 10:25:44 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_iter): captured name should</div><div class='del'>-	  not be reserved word.  a patch from Keita Yamaguchi</div><div class='del'>-	  &lt;keita.yamaguchi AT gmail.com&gt; in [ruby-dev:32675].</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_iter): just ignore the</div><div class='del'>-	  captures that do not have valid local variable name.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 10:19:08 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_method_name): now __method__ and __callee__ are</div><div class='del'>-	  aliases.  [ruby-core:14244]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 08:29:56 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_append): improvement for non-broken coded</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 06:30:04 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_fork.rb: skip if fork is not unsupported.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb: skip if require failed.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 06:09:12 2007  David Flanagan  &lt;david@davidflanagan.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fix typo in rdoc comment</div><div class='del'>-</div><div class='del'>-Sat Dec 22 05:09:43 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_str_new, rb_intern3): rb_default_encoding() renamed.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_putchar): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 03:54:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_ascii_encoding): renamed from previous</div><div class='del'>-	  rb_default_encoding().</div><div class='del'>-</div><div class='del'>-Sat Dec 22 02:49:02 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (command): block from cmd_brace_block was ignored.</div><div class='del'>-	  [ruby-dev:32644]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): stop ENCODING_NONE warning if the</div><div class='del'>-	  encoding of the str is ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 01:52:11 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_ungetc): avoid buffer relocation, which might cause</div><div class='del'>-	  serious problem under concurrent situation.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 01:35:41 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (ARG_ENCODING_NONE): defined for /.../n option.</div><div class='del'>-	  (REG_ENCODING_NONE): ditto.</div><div class='del'>-	  (rb_char_to_option_kcode): return ARG_ENCODING_NONE for n.</div><div class='del'>-	  (rb_reg_prepare_re): warn /ascii/n =~ "non-ascii".</div><div class='del'>-	  (rb_reg_initialize): set REG_ENCODING_NONE from ARG_ENCODING_NONE.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 01:23:10 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/json/test_json_addition.rb (test_core): do not use Time.now</div><div class='del'>-	  because JSON can't hold nsec.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 01:10:30 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/vu/canvSticker2.rb,</div><div class='del'>-	  ext/tk/sample/demos-{en,jp}/bind.rb: fix typo. [ruby-dev:32668]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 00:56:43 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (valid_syntax): force_encoding input script.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 23:48:38 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): suffixes list broken. fixed.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 20:18:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_mul0): remove unused variable.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 20:13:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_catch_obj, rb_throw_obj): prototyped.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_fiber_alive_p): prototyped.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 20:09:18 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): retry increasing until valid char is found.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 20:00:02 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_replicate): now creates first class encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_define_dummy_encoding): always based on the default</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_dummy_p): check if dummy.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_inspect): shows if dummy.</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): added dummy? method</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENCODING_INLINE_MAX): increased.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 18:40:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: write() should be in blocking region.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb, test_knownbug.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:56:30 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: provisional support on Ruby-VM.</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANUAL_tcltklib.eng, ext/tk/MANUAL_tcltklib.eucj:</div><div class='del'>-	  modify document about new functions.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tk/labelframe.rb,</div><div class='del'>-	  ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/toplevel.rb,</div><div class='del'>-	  ext/tk/lib/tk/scrollbar.rb, ext/tk/lib/tk/message.rb,</div><div class='del'>-	  ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/text.rb,</div><div class='del'>-	  ext/tk/lib/tk/scale.rb, ext/tk/lib/tk/entry.rb,</div><div class='del'>-	  ext/tk/lib/tk/ttk_selector.rb, ext/tk/lib/tk/menu.rb,</div><div class='del'>-	  ext/tk/lib/tk/label.rb, ext/tk/lib/tk/spinbox.rb,</div><div class='del'>-	  ext/tk/lib/tk/textmark.rb, ext/tk/lib/tk/winpkg.rb,</div><div class='del'>-	  ext/tk/lib/tk/checkbutton.rb, ext/tk/lib/tk/panedwindow.rb,</div><div class='del'>-	  ext/tk/lib/tk/texttag.rb, ext/tk/lib/tk/root.rb,</div><div class='del'>-	  ext/tk/lib/tk/textimage.rb, ext/tk/lib/tk/radiobutton.rb,</div><div class='del'>-	  ext/tk/lib/tk/package.rb, ext/tk/lib/tk/macpkg.rb,</div><div class='del'>-	  ext/tk/lib/tk/composite.rb, ext/tk/lib/tk/autoload.rb,</div><div class='del'>-	  ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/button.rb,</div><div class='del'>-	  ext/tk/lib/tk/textwindow.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tile/style.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tile/tscrollbar.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/tile/tpaned.rb, ext/tk/lib/tkextlib/tile.rb,</div><div class='del'>-	  ext/tk/extconf.rb: support Tcl/Tk8.5 (partial, not complete).</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget,</div><div class='del'>-	  ext/tk/sample/demos-jp/pendulum.rb,</div><div class='del'>-	  ext/tk/sample/demos-jp/bind.rb,</div><div class='del'>-	  ext/tk/sample/tkextlib/vu/canvSticker2.rb,</div><div class='del'>-	  ext/tk/sample/demos-en/pendulum.rb,</div><div class='del'>-	  ext/tk/sample/demos-en/bind.rb: remove $KCODE and minor bug fix.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:49:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_transcode_bang): returns self if no conversion.</div><div class='del'>-	  [ruby-dev:32662]</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:44:47 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*:  Update to RubyGems 1.0.1, r1581</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:32:49 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/pending.rb: renamed from featurebug.rb.</div><div class='del'>-	  This file contains bugs which is known but will not be</div><div class='del'>-	  fixed in days.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:31:22 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (dummy_gdb_enums.various): added ENCODING and CODERANGE</div><div class='del'>-	  constants.</div><div class='del'>-</div><div class='del'>-	* .gdbinit: use enum constants.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:28:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/featurebug.rb: added.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move a feature bug.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:25:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork): fix to mark thread object.</div><div class='del'>-	  [ruby-dev:32404]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_fork.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:07:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h: extern variable should not be initialized.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: add a parameter.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:50:43 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): use enc_name as to_s.</div><div class='del'>-	  (enc_inspect): renamed from enc_to_s.  add "#" at beginning.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:37:43 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/config.h (MIME_DECODE_DEFAULT, X0201_DEFAULT):</div><div class='del'>-	 defined as FALSE.  nkf and kconv don't decode MIME encoded string</div><div class='del'>-	 and don't convert JIS X 0201 Katakana.</div><div class='del'>-</div><div class='del'>-	* test/nkf/test_kconv.rb: fix tests.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:33:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_iter_i): adjusted for rb_block_call_func.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_block_call_func): function to be called back</div><div class='del'>-	  as block.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:25:25 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, transcode_data_iso_8859.c: renamed to</div><div class='del'>-	  transcode_data_one_byte.c.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:10:30 2007  Shigeo Kobayashi  &lt;shigeo@tinyforest.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpMidRound): Round method bug</div><div class='del'>-	  pointed by Ryan Platte fixed(Patch to the patch from "NATORI</div><div class='del'>-	  Shin").  [ruby-talk:273360]</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:06:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (append_utf8): use rb_utf8_encoding() instead of</div><div class='del'>-	  rb_enc_find("utf-8").</div><div class='del'>-</div><div class='del'>-Fri Dec 21 15:59:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): use enc_register_at() directly.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_utf8_encoding): returns utf-8 encoding.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_utf8_encoding): prototyped.</div><div class='del'>-</div><div class='del'>-	* parse.y (UTF8_ENC): uses rb_utf8_encoding().</div><div class='del'>-</div><div class='del'>-Fri Dec 21 15:31:59 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_read): allow specifying encoding explicitly.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): specifies encoding to ASCII-8BIT (binary).</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_read): IO should be in binary mode when offset is</div><div class='del'>-	  specified.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding): returns default encoding if no</div><div class='del'>-	  corresponding encoding found.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 15:24:22 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (initialize): accept service name.  changed</div><div class='del'>-	  the default value of the old style +verify+ argument to true.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 15:15:44 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_garbage_collect): new function for debugging.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 15:16:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding_index): should return error instead of</div><div class='del'>-	  exception even if type is incorrect.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 14:58:27 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_init_copy): prohibit cloning of</div><div class='del'>-	  generators since Fibers cannot be copied.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_init_copy): typo fixed.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 14:46:07 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): define IO::BINARY even if O_BINARY is not exist.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 14:01:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem::valid_syntax): apply</div><div class='del'>-	  ASCII-8BIT encoding explicitly.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): add encoding name in the message.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 13:54:05 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: change "character encodings differ" error messages.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 13:46:58 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_register): set encoding constant.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): replace non-alphanumeric chars with</div><div class='del'>-	  underscores, so that initialize function can be called.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): extension libraries have lower case</div><div class='del'>-	  names conventionally.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options, process_options): finds encoding after</div><div class='del'>-	  load_path is initialized.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 13:10:57 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_external_encoding): new method.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_from_encoding): returns Qnil for NULL</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_external_encoding): should fill delayed</div><div class='del'>-	  initialization for STDIN.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 13:09:11 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): return nil if no locale information.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:55:39 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/runit, lib/rubyunit.rb, test/testunit/runit: removed.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:45:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): avoid unnecessary loop using</div><div class='del'>-	  ONIGENC_LEFT_ADJUST_CHAR_HEAD().</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:32:08 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): File.exists? revived.</div><div class='del'>-</div><div class='del'>-	* dir.c (Init_Dir): Dir.exists? again.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:26:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: remove "illegal".</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:22:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* keywords, parse.y (__ENCODING__): represent script encoding.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:16:50 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_is_ascii_only_p): new method ascii_only?.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:11:57 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_enc): set default external encoding if no</div><div class='del'>-	  encoding specified explicitly.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 12:00:34 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check langinfo.h and locale.h.</div><div class='del'>-</div><div class='del'>-	* encoding.c: use langinfo.h only if available.</div><div class='del'>-</div><div class='del'>-	* main.c: use locale.h only if available.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 11:47:56 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: include locale.h</div><div class='del'>-	  (rb_locale_charmap): new method Encoding.locale_charmap for</div><div class='del'>-	  nl_langinfo(CODESET).</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_locale_charmap): declared.</div><div class='del'>-</div><div class='del'>-	* main.c (main): call setlocale with LC_CTYPE.</div><div class='del'>-</div><div class='del'>-	* ruby.c (locale_encoding): use rb_locale_charmap.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 11:35:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_dump.c: fix typo.  Reported by Yuki Mitsui.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 11:28:00 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* regerror.c, string.c, io.c, lib/getoptlong.rb, lib/net/imap.rb,</div><div class='del'>-	  compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c,</div><div class='del'>-	  ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb,</div><div class='del'>-	  ext/openssl/ossl_bn.c, numeric.c, vm.c,</div><div class='del'>-	  benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal"</div><div class='del'>-	  for non law violation context.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 11:23:24 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (enc.mk): depends on $(RBCONFIG) instead of rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): ISO-8859-1 is no longer a replica.</div><div class='del'>-</div><div class='del'>-	* regenc.h (OnigEncodingDefine): names of extension and encoding can</div><div class='del'>-	  differ.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: always shared.</div><div class='del'>-</div><div class='del'>-	* enc/depend (deffile): should not upcase.</div><div class='del'>-</div><div class='del'>-	* enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: fix for Init.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 09:26:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: use erb.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 08:07:35 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next): should call next_init() if fiber</div><div class='del'>-	  is dead already. [ruby-dev:32459]</div><div class='del'>-</div><div class='del'>-Fri Dec 21 01:21:49 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build):</div><div class='del'>-	  enable CRL checking by default.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 01:20:56 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): use</div><div class='del'>-	  OpenSSL::SSL::SSLContext.build instead of SSLContext.new (default</div><div class='del'>-	  verify mode is now OpenSSL::SSL::VERIFY_PEER).</div><div class='del'>-</div><div class='del'>-	* lib/net/https.rb: SSL parameters are defined by attr_accessor.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb: add test for HTTPS features.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 01:11:37 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (select_internal): should return original value.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 00:26:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): wrong encoding check for tree strings.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N::test_tr_s): "invalid mbstring</div><div class='del'>-	  sequence" is not an error to be tested.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N::test_tr): ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 19:29:07 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (initialize): the second argument is an option</div><div class='del'>-	  hash now.  use SSLContext.build to specify SSL parameters.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 19:11:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_apply_priority): check</div><div class='del'>-	  _POSIX_PRIORITY_SCHEDULING for OpenBSD.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 18:33:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add libthr for FreeBSD.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 18:17:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, *.ci: renamed to *.c.</div><div class='del'>-</div><div class='del'>-	* eval_load.c: renamed to load.c.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 17:36:01 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*:  Import RubyGems 1.0.0, r1575.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 17:18:38 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: support Proc#binding.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 17:15:15 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: Slight change to documentation ('character' -&gt;</div><div class='del'>-	  'byte (C char)'). [ruby-core:13126], see also [ruby-core:13998].</div><div class='del'>-</div><div class='del'>-Thu Dec 20 17:07:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (enc.mk): depends on rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* regenc.h (OnigEncodingDefine): external encoding definition macro.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: fix for linking.</div><div class='del'>-</div><div class='del'>-	* enc/depend, enc/make_encmake.rb: fix for Windows.</div><div class='del'>-</div><div class='del'>-	* enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: renamed.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 16:42:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (find_line_no): return 0 if not found.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 16:04:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci, vm.c, vm_core.h: change interface of</div><div class='del'>-	  vm_invoke_block() to specify block ptr.  [ruby-talk:266422]</div><div class='del'>-</div><div class='del'>-	* cont.c, eval_jump.ci, insns.def, proc.c, signal.c, thread.c:</div><div class='del'>-	  apply above change.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move fixed bug.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: ditto. and add a test.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 15:47:13 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_{1..16}.c: renamed.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 09:59:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_expandarray): fix sp increase place.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; in [ruby-dev:32581].</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_massign.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: fix last committed test.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 09:47:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 09:40:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each/NODE_RETURN): fix stack consistency.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 09:42:11 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_orig): access beyond memory region cause crash</div><div class='del'>-	  on interrupt.  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; in</div><div class='del'>-	  [ruby-dev:32651].  [ruby-dev:32641]</div><div class='del'>-</div><div class='del'>-Thu Dec 20 09:06:54 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): wrong starting position.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 06:34:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): add pop after throw as return.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_syntax.rb: move resolved test.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, iseq.c, compile.h: add debug output code.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 04:57:18 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): remove unused retry entry.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 04:15:41 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (DEFS, RM): output to config.status.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 02:59:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs): create encoding directory.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 02:50:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso8859_{1..16}.c: adjust for ruby.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 02:28:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso8859_{1..16}.c: imported from Onigiruma 5.9.0.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 02:23:22 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (RM): added.</div><div class='del'>-</div><div class='del'>-	* enc/depend (encs): sort in alpha-numeric order.</div><div class='del'>-</div><div class='del'>-	* enc/depend (clean, distclean): added.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 01:10:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): should handle upper level eval iseq</div><div class='del'>-	  from break/next, and COMPILE_ERROR() breaks only one block.</div><div class='del'>-	  [ruby-dev:31372]</div><div class='del'>-</div><div class='del'>-Thu Dec 20 00:07:36 2007  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (test_07_public_private_protected_missing):</div><div class='del'>-	  followed current Ruby specification.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 23:57:37 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_inspect, dir_path, dir_tell): check for frozen and closed</div><div class='del'>-	  is not needed.  [ruby-dev:32640]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 22:59:52 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sublen): adjust position if position is not at the</div><div class='del'>-	  head of a character.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): check if match start at the head</div><div class='del'>-	  of a character.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): wrong adjust condition.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): comparison length should be based on</div><div class='del'>-	  bytes, not characters.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex_m): too much adjustment.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_match_pos): pos adjustment should be based on</div><div class='del'>-	  characters.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N::test_str_insert): test updated</div><div class='del'>-	  to check negative offset behavior.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): should consider rslen.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_buf_append): should propagate encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N::test_str_each_line): should</div><div class='del'>-	  check encoding as well.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N::test_str_each_line): empty</div><div class='del'>-	  array can not propagate encoding;  should not check.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 21:42:18 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): should set checked encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): applied r14212 too.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 20:40:01 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1): C99ism.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem1): need dummy return value.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 19:18:06 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Updated.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_enc_get): added.</div><div class='del'>-	  (find encoding or replicate default encoding)</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (NKF::&lt;ENCODING&gt;): redefine encoding constant.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv::&lt;ENCODING&gt;): redefined as Encoding.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: refactoring.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 19:11:08 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_mul0): blocking check for bigger numbers.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; in [ruby-dev:32632].</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 17:34:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): remove "retry" in block.</div><div class='del'>-	  ("iter{retry}" cause syntax error)</div><div class='del'>-	  Currently, "begin; ...; rescue; iter{retry}; end" cause</div><div class='del'>-	  syntax error too.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_jump.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/invokemethod.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* sample/drb/darrayc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: add a 'test' directory on the SYSTEM test.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 17:12:59 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_block.rb:</div><div class='del'>-	  move fixed bug.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_m17n.rb: added.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 16:59:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (errinfo_place): skip if error is Fixnum.  [ruby-dev:32608]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_exception.rb, test_known_bug.rb: move fixed bug.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 16:31:58 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_iter): remove C99 dependency.</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_iter): get rid of creating</div><div class='del'>-	  unnecessary ID.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname2_p): check for non-nul-terminated string.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 15:37:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_yield_with_cfunc): call cfunc with</div><div class='del'>-	   (argv[0], data, argc, argv) to pass all arguments.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_each_i): adapted to new calling</div><div class='del'>-	  convention.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 15:13:20 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): should propagate encoding from pad</div><div class='del'>-	  string too.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 13:57:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (TIMEZONE_VOID): check whether timezone requires zero</div><div class='del'>-	  arguments.  [ruby-dev:32631]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 13:22:14 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (NKF::_ENCODING): removed.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_kconv): renamed to rb_nkf_convert.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert): set encoding.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_guess1): removed.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_guess2): renamed to rb_nkf_guess.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_guess):</div><div class='del'>-	  guess method now returns encoding object.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Update to nkf 2.0.8 2007-12-19.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 10:52:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): an underscore succeeding after octal</div><div class='del'>-	  prefix is allowed.  [ruby-core:14139]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 00:09:19 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): wrong radix check.  a patch from</div><div class='del'>-	  Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; in [ruby-dev:32628].</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_find_n1): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 23:53:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix for segfault.  [ruby-dev:31372]</div><div class='del'>-</div><div class='del'>-Tue Dec 18 23:44:32 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb: split TestNetHTTPUtils module from</div><div class='del'>-	  test/net/http/test_http.rb. and start HTTP server in each test case.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 23:27:51 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#accept_client):</div><div class='del'>-	  should rescue Errno::EINVAL from TCPServer#accept. this exception</div><div class='del'>-	  might occur if the server socket is not in ready to listen.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#accept_client):</div><div class='del'>-	  don't call TCPServer#close if the :ShutdownSocketWithoutClose is set.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::General): add new parameter</div><div class='del'>-	  :ShutdownSocketWithoutClose.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 22:51:47 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#shutdown):</div><div class='del'>-	  new method which calls TCPSocket#shutdown of the underlying socket.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 22:11:50 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb, lib/rss/atom.rb, lib/rss/rss.rb,</div><div class='del'>-	  test/rss/rss-assertions.rb, test/rss/test_atom.rb: use</div><div class='del'>-	  pack/unpack("m") instead of base64 library.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb: use delete("\n") instead of chomp/chop</div><div class='del'>-	  because the result of pack("m") might be multi-line.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 22:12:35 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci, vm.c: rewrite sp manipulation around method/block</div><div class='del'>-	  invocation.  [ruby-dev:32547]</div><div class='del'>-</div><div class='del'>-Tue Dec 18 22:11:23 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/sspi.rb: use pack/unpack("m") instead of</div><div class='del'>-	  base64 library which was already removed.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 21:09:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block): merge 2 stack overflow checks.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 20:58:35 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insnhelper.ci, insns.def, object.c, vm.c, vm.h:</div><div class='del'>-	  optimize !@, != method invocation.</div><div class='del'>-</div><div class='del'>-	* id.c, id.h: ditto.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 18:10:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add issues.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 20:22:44 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg tMATCH arg): call reg_named_capture_assign_gen if regexp</div><div class='del'>-	  literal is used.</div><div class='del'>-	  (reg_named_capture_assign_gen): assign the result of named capture</div><div class='del'>-	  into local variables.</div><div class='del'>-	  [ruby-dev:32588]</div><div class='del'>-</div><div class='del'>-	* re.c: document the assignment by named captures.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 18:09:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice): propagate encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpat_set): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 17:27:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_freeze): preserve frozen state of immediate</div><div class='del'>-	  values in internal hash table, a la generic_ivar.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_frozen_p): check immediate values too.</div><div class='del'>-</div><div class='del'>-	* variable.c (generic_ivar_set): add frozen check fro immediate</div><div class='del'>-	  values.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 17:04:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_transcode_bang, rb_str_transcode): set new</div><div class='del'>-	  encoding even if no conversion is done because of 7bit only.</div><div class='del'>-	  [ruby-dev:32591]</div><div class='del'>-</div><div class='del'>-Tue Dec 18 15:43:59 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs, ext/ripper/ripper.c): other options must come</div><div class='del'>-	  before MAKEFLAGS in GNU make.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 15:19:55 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Don't call private fail anymore.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 15:17:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs, ext/ripper/ripper.c): pass MAKEFLAGS.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 14:45:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (op_tbl): remove duplication to avoid symbol aliases.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 14:39:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_nth): need not to raise out-of-range exception.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (TestM17N::test_str_aref_len): removed</div><div class='del'>-	  debug print.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 14:05:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: get rid of target expanded as empty for nmake.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 07:56:57 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_obj_public_method): Object#public_method to retrieve</div><div class='del'>-	  public method object.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_public_instance_method): Module#public_instance_method</div><div class='del'>-	  to retrieve public instance method from class / module.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): visibility check added.</div><div class='del'>-</div><div class='del'>-	* eval_error.ci (rb_print_undef): add rb_ prefix.</div><div class='del'>-</div><div class='del'>-	* eval_error.ci (rb_print_undef): add visibility in the error</div><div class='del'>-	  message.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 05:54:26 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/Env.rb, lib/base64.rb, lib/importenv.rb, lib/eregex.rb: removed.</div><div class='del'>-</div><div class='del'>-	* lib/ping.rb, lib/readbytes.rb: removed</div><div class='del'>-</div><div class='del'>-Tue Dec 18 02:30:56 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BUILTIN_ENCS): removed.</div><div class='del'>-</div><div class='del'>-	* common.mk (enc.mk): pass BUILTIN_ENCS from command line.</div><div class='del'>-</div><div class='del'>-	* enc/depend: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 01:46:48 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): need to clear output buffer to avoid</div><div class='del'>-	  broken encoding compatibility check.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 01:40:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): inserts ruby to only headers.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 01:21:19 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_encode_length): chomp eol style modifiers.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (set_file_encoding): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 01:15:44 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs): added dependencies.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in, enc/depend, enc/make_encmake.rb: moved serb code.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): now takes content string, not file name.</div><div class='del'>-</div><div class='del'>-	* win32/enc-setup.mak: overrides default target.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 00:26:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): raise error if non-Unicode fixed</div><div class='del'>-	  encoding option is specified for regexp literals with \u{}</div><div class='del'>-	  escapes.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): should squeeze multibyte</div><div class='del'>-	  characters as well.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 21:41:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/enc-setup.mak: extracts BUILTIN_ENCOBJS.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: needs srcdir.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 21:24:04 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (miniprelude.c): add -I$(srcdir).</div><div class='del'>-</div><div class='del'>-Mon Dec 17 20:53:27 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ssl_version):</div><div class='del'>-	  new method OpenSSL::SSL::SSLContext#ssl_version to wrap</div><div class='del'>-	  SSL_CTX_set_ssl_version.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_get_verify_result):</div><div class='del'>-	  new method OpenSSL::SSL::SSLSocket#verify_result to wrap</div><div class='del'>-	  SSL_get_verify_result.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build):</div><div class='del'>-	  new method to build OpenSSL::SSL::SSLContext with Hash parameters.</div><div class='del'>-	  this method provides safety default parameters than SSLContext.new.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL.verify_certificate_identity):</div><div class='del'>-	  new module function: pull out identity verification process</div><div class='del'>-	  from OpenSSL::SSL::SSLSocket#post_connection_check.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 18:42:23 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): need no encoding compatibility check.</div><div class='del'>-	  it's done inside of re_reg_search().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 17:50:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): check if substring is broken.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): should carry over.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 17:47:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs): new target to compile external encodings.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: became a serb template.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb: creates enc.mk from enc/Makefile.in using serb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (relative_from): moved from ext/extmk.rb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($extmk): true if under to top source directory, not</div><div class='del'>-	  only ext.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): extracted from create_makefile.</div><div class='del'>-</div><div class='del'>-	* tool/serb.rb (serb): splitted from tool/compile_prelude.rb.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 17:32:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MAKEFILES): removed enc/Makefile.</div><div class='del'>-</div><div class='del'>-	* configure.in (EXTERNAL_ENCOBJS, ENCSOS): removed.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (BUILTIN_ENCS): includes .c suffix.</div><div class='del'>-</div><div class='del'>-	* enc/depend: splitted from Makefile.in.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/setup.mak (-encs-): extracts BUILTIN_ENCOBJS.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 17:07:53 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_asciionly_p): use rb_enc_str_coderange.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 16:39:25 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_coderange): set ENC_CODERANGE_BROKEN using</div><div class='del'>-	  rb_enc_precise_mbclen.</div><div class='del'>-	  (rb_str_valid_encoding_p): just check coderange is</div><div class='del'>-	  ENC_CODERANGE_BROKEN or not.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 16:04:16 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#gets): added second</div><div class='del'>-	  optional argument to specify maximum length limit.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 16:02:30 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb, lib/webrick/cgi.rb: Request-Line or</div><div class='del'>-	  header fields should be read with maximum length. [ruby-talk:231745]</div><div class='del'>-</div><div class='del'>-Mon Dec 17 14:03:39 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_CODERANGE_VALID): rename from</div><div class='del'>-	  ENC_CODERANGE_8BIT.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_coderange): follow the renaming.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 13:56:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): wrong condition fixed.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): check encoding based on result, not</div><div class='del'>-	  the format string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): add encoding check.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 12:21:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (RUNRUBY): added RUNRUBYOPT.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 11:38:59 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (native_thread_create): initialize</div><div class='del'>-	  th-&gt;machine_stack_maxsize as rb_gc_stack_maxsize.</div><div class='del'>-</div><div class='del'>-Sun Dec 16 17:07:35 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): removed special case (-1)</div><div class='del'>-	  for undefined conversions.</div><div class='del'>-</div><div class='del'>-	* transcode_data_iso_8859.c: Changed from character constants</div><div class='del'>-	  ('\xC2') to integer constants (0xC2) for shorter files and</div><div class='del'>-	  better readability; eliminated duplicated tables; changed</div><div class='del'>-	  from -1 offset to actual UNDEF entry (not yet distinguishing</div><div class='del'>-	  UNDEF and ILLEGAL correctly).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added a test for UNDEF conversion.</div><div class='del'>-</div><div class='del'>-Sun Dec 16 14:51:59 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MAKEFILES): should be enc/Makefile, not GNUmakefile.</div><div class='del'>-	  [ruby-dev:32609]</div><div class='del'>-</div><div class='del'>-	* configure.in (BUILTIN_ENCS): removed escapes for OpenBSD.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 23:58:46 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb (SSLPair#ssl_pair): join the thread, even</div><div class='del'>-	  on an error.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 23:50:31 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/webrick_testing.rb: join webrick server thread.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 22:27:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BUILTIN_ENCS): splitted command line instead of</div><div class='del'>-	  semicolons for Solaris.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 21:38:24 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb: join the background thread to make sure it is dead.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 20:20:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (enc/Makefile): add external encoding objects list.</div><div class='del'>-</div><div class='del'>-	* common.mk (BUILTIN_ENCOBJS): renamed from ENCOBJS.</div><div class='del'>-</div><div class='del'>-	* configure.in (BUILTIN_ENCS): [] needs to be enclosed because of m4.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (BUILTIN_ENCOBJS): substituted by autoconf.</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in: new file to compile external encoding sources.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): auto-load external encoding objects</div><div class='del'>-	  as "ext/ENCODING_NAME".  [ruby-dev:32606]</div><div class='del'>-</div><div class='del'>-Sat Dec 15 13:04:30 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_t): new member machine_stack_maxsize and</div><div class='del'>-	  machine_register_stack_maxsize.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_stack_maxsize): new global variable for the thread size</div><div class='del'>-	  of the main thread.</div><div class='del'>-	  (STACK_LEVEL_MAX): use machine_stack_maxsize of current thread.</div><div class='del'>-	  (ruby_stack_check): check IA64 register stack.</div><div class='del'>-	  (ruby_set_stack_size): set rb_gc_stack_maxsize.</div><div class='del'>-	  (Init_stack): set rb_gc_stack_maxsize.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (native_thread_create): initialize</div><div class='del'>-	  th-&gt;machine_stack_maxsize and th-&gt;machine_register_stack_maxsize.</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_BareVM): initialize th-&gt;machine_stack_maxsize and</div><div class='del'>-	  th-&gt;machine_register_stack_maxsize.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (native_thread_create): initialize</div><div class='del'>-	  th-&gt;machine_stack_maxsize.  not tested.  just a guess at all.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:32604]</div><div class='del'>-</div><div class='del'>-Sat Dec 15 12:58:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_register, rb_enc_replicate, rb_enc_alias): check</div><div class='del'>-	  if already registered.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 01:57:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (Options::parse): do not access $KCODE any</div><div class='del'>-	  longer.  [ruby-core:14079]</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB::IRB.parse_opts): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::CGI): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 18:18:31 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (native_thread_create): twice the stack size.</div><div class='del'>-	  512KB is not enough to complete test-all on Debian GNU/Linux on</div><div class='del'>-	  IA64.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 16:10:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_p): RDoc update.  a patch from murphy &lt;murphy AT rubychan.de&gt;.</div><div class='del'>-	  [ruby-core:14010]</div><div class='del'>-</div><div class='del'>-Fri Dec 14 16:06:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp): encoding aware comparison.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casecmp): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 15:25:30 2007  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (encoding_equal): new function.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode, transcode_dispatch): added two-step</div><div class='del'>-	  conversion logic via UTF-8.</div><div class='del'>-</div><div class='del'>-	* transcode.c: some minor formatting fixes</div><div class='del'>-</div><div class='del'>-	* transcode_data.h, transcode_data_iso_8859.c: Shortened</div><div class='del'>-	  extremely frequently used macros to shorten file length.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: Fixed name of test class;</div><div class='del'>-	  added setup method to ensure all necessary encodings exist;</div><div class='del'>-	  split tests into more test methods; added tests; fixed ordering</div><div class='del'>-	  of arguments in assert_equal to have expected result first.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 13:47:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby.imp): fix for circular dependency.  a patch from</div><div class='del'>-	  Yutaka Kanemoto &lt;kinpoco AT gmail.com&gt; in [ruby-dev:32590].</div><div class='del'>-</div><div class='del'>-	* regint.h, st.c, ext/json/ext/generator/generator.c: suppress</div><div class='del'>-	  warnings on AIX.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 12:36:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_VARTYPE): check if a variable is defined</div><div class='del'>-	  and its type.</div><div class='del'>-</div><div class='del'>-	* configure.in (timezone, altzone): check for recent cygwin.</div><div class='del'>-</div><div class='del'>-	* missing/strftime.c (strftime): fix for timezone.  [ruby-dev:32536]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_var): should fail for functions.</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: should use have_func for functions instead</div><div class='del'>-	  of have_var.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 10:25:56 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb (Exception2MessageMapper::E2MM.Raise): $! no</div><div class='del'>-	  longer modifiable in 1.9.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 08:17:24 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_protect): restore root_jmpbuf even if proc exits by</div><div class='del'>-	  break such as dbm.delete_if { break }.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 02:55:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_nth): direct jump if string is 7bit only.  great</div><div class='del'>-	  performance boost for worst case.</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): direct size if string is 7bit only.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 02:29:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): 1st argument (typically the</div><div class='del'>-	  receiver) would have higher priority in encoding detection.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 02:05:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_synchronized): should check if initialized.</div><div class='del'>-	  [ruby-dev:32585]</div><div class='del'>-</div><div class='del'>-Fri Dec 14 00:54:40 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): embedded string may override encoding</div><div class='del'>-	  of the regular expression.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): fix encoding of regular expression if</div><div class='del'>-	  embedded string has its own encoding specified.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 22:16:46 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): encoding should never fall back</div><div class='del'>-	  to ASCII-8BIT unless both encodings are ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 20:31:28 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_shared_replace): make str noembed after free.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 20:09:09 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_protect): restore root_jmpbuf to avoid SEGV by</div><div class='del'>-	  'IO.pipe; [].each.next' with gcc version 3.3.5 (Debian 1:3.3.5-13)</div><div class='del'>-	  on IA64.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 17:51:54 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): need not to check encoding if regexp</div><div class='del'>-	  is empty.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): associate encoding of original to the</div><div class='del'>-	  result.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): need to check encoding of record</div><div class='del'>-	  separator.</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): should copy encoding to the result.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): should not enter infinite loop for</div><div class='del'>-	  non-ASCII, non-alphanumeric character at the bottom.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 17:03:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): should swap encoding indexes too.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 16:41:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): should not judge compatibility</div><div class='del'>-	  based on rb_enc_asciicompat().</div><div class='del'>-</div><div class='del'>-Thu Dec 13 13:09:03 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (MakeOpenFile): fptr-&gt;enc should be</div><div class='del'>-	  initialized to zero.  [ruby-dev:32569]</div><div class='del'>-</div><div class='del'>-Thu Dec 13 08:56:01 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): use default external encoding if fptr-&gt;enc is</div><div class='del'>-	  not set.  [ruby-dev:32565]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb (Gem::TarReader::Entry::rewind): typo fixed.</div><div class='del'>-	  [ruby-dev:32565]</div><div class='del'>-</div><div class='del'>-Thu Dec 13 08:24:16 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): should associate default external encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): should NOT associate default external encoding.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 23:22:58 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c, regerror.c, string.c, parse.y, ruby.c, file.c:</div><div class='del'>-	  use capital letter for \xHH notation.  [ruby-dev:32511]</div><div class='del'>-</div><div class='del'>-Wed Dec 12 22:21:34 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_enc): allow specifying external encoding in</div><div class='del'>-	  open mode, e.g. open(path, "r:utf-8").</div><div class='del'>-</div><div class='del'>-Wed Dec 12 21:26:03 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (rb_alias): no need to skip aliasing when new</div><div class='del'>-	  equals to old.  [ruby-core:13990]</div><div class='del'>-</div><div class='del'>-Wed Dec 12 16:34:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): set default external encoding to</div><div class='del'>-	  STDIN.</div><div class='del'>-</div><div class='del'>-	* io.c (io_enc_str): associate encoding to output string.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 12:44:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): 'not' and '!' should act as conditional</div><div class='del'>-	  expression.   [ruby-dev:32548]</div><div class='del'>-</div><div class='del'>-Wed Dec 12 12:11:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): should copy encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang, str_gsub): should check and copy encoding</div><div class='del'>-	  to be replaced.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 23:04:17 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): RDoc update.  a patch from Gary Wright</div><div class='del'>-	  &lt;radar2002 AT gmail.com&gt;.  [ruby-core:13998]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 16:37:47 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_ascget): renamed from rb_enc_get_ascii.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: follow the renaming.</div><div class='del'>-</div><div class='del'>-	* re.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 16:19:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, */Makefile.sub (CP, MV): added.</div><div class='del'>-</div><div class='del'>-	* common.mk (.y.c): not discard the old target until successfully</div><div class='del'>-	  created.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 15:20:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): singleton_method_{added,removed,undefined}</div><div class='del'>-	  hooks should be defined for BasicObject.  [ruby-dev:32531]</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): method_missing should be defined for all</div><div class='del'>-	  objects; moved to BasicObject.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 14:27:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): get rid of SEGV at sequence can not be</div><div class='del'>-	  converted.</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_str_transcode_bang): copy encoding.  [ruby-dev:32532]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: added tests from Martin Duerst &lt;duerst</div><div class='del'>-	  AT it.aoyama.ac.jp&gt;.  [ruby-dev:32532]</div><div class='del'>-</div><div class='del'>-Tue Dec 11 12:05:51 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_get_ascii): add an argument to provide the</div><div class='del'>-	  length of the returned character.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_get_ascii): add the argument.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): modify rb_enc_get_ascii call.</div><div class='del'>-	  (rb_reg_quote): ditto.</div><div class='del'>-	  (rb_reg_regsub): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 09:40:21 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE):</div><div class='del'>-	  parenthesize an argument.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 02:23:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_missing): RDoc update patch from Hugh Sasse</div><div class='del'>-	  &lt;hgs AT dmu.ac.uk&gt;.  [ruby-core:12932]</div><div class='del'>-</div><div class='del'>-Tue Dec 11 01:51:34 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP::get): now supports gzip</div><div class='del'>-	  content-encoding.  a patch from Hugh Sasse &lt;hgs AT dmu.ac.uk&gt;.</div><div class='del'>-	  [ruby-core:13451]</div><div class='del'>-</div><div class='del'>-Tue Dec 11 01:21:21 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen): no duplicate error for "_".</div><div class='del'>-</div><div class='del'>-Mon Dec 10 22:08:47 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): If an invalid range is given, do</div><div class='del'>-	  not raise an exception but return nil just like slice() does.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 21:47:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): allow non-registered encodings.</div><div class='del'>-	  [ruby-dev:32520]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 21:00:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): should return nil if position out</div><div class='del'>-	  of range.  a patch from Akinori MUSHA &lt;knu AT iDaemons.org&gt;.</div><div class='del'>-	  [ruby-dev:32518]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 19:02:52 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match): should calculate offset by converted</div><div class='del'>-	  operand.  [ruby-cvs:21416]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 18:28:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::REGEXP::PATTERN): typo in REG_NAME</div><div class='del'>-	  regular expression.  a patch from Ueda Satoshi</div><div class='del'>-	  &lt;s-ueda AT livedoor.jp&gt;.  [ruby-dev:32514]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 17:46:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_tmp_new): creates hidden temporary buffer.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcoding): added a pointer to function to flush.</div><div class='del'>-</div><div class='del'>-	* transcode.c (transcode_loop): do not use string internal.</div><div class='del'>-	  [ruby-dev:32512]</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode): allow Encoding objects.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (BYTE_LOOKUP): use actual struct name.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 16:52:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_insert): should not add length in bytes to index in</div><div class='del'>-	  chars.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 14:33:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_public_send): rename invoke_method to public_send.</div><div class='del'>-	  it now invokes public method only no matter how it's called.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 14:00:43 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: new file to provide encoding conversion features.</div><div class='del'>-	  code contributed by Martin Duerst.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 13:50:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): return byte offset.  [ruby-dev:32452]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match, rb_reg_match2, rb_reg_match_m): convert byte</div><div class='del'>-	  offset to char index.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): return byte offset.  [ruby-dev:32472]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): calculate in byte offset.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 09:56:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_neq.rb, bm_vm1_not.rb: added.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 07:48:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): wrong token was generated.  [ruby-dev:32498]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_not_match): wrong test.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 06:44:47 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): use \xHH instead of \OOO.</div><div class='del'>-</div><div class='del'>-	* regerror.c (to_ascii): ditto.</div><div class='del'>-	  (onig_snprintf_with_pattern): ditto.</div><div class='del'>-	  (onig_snprintf_with_pattern): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): ditto.</div><div class='del'>-	  (rb_str_dump): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:32495]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 06:41:00 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_names): new method Regexp#names.</div><div class='del'>-	  (rb_reg_named_captures): new method Regexp#named_captures</div><div class='del'>-	  (match_regexp): new method MatchData#regexp.</div><div class='del'>-	  (match_names): new method MatchData#names.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (MatchData#pretty_print): show names of named captures.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:32493]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 01:35:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): redefinable not (!) operator.</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_not): new method "!".</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_not_equal): new method "!=".</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_not_match): new method "!~".</div><div class='del'>-</div><div class='del'>-Sun Dec  9 22:31:36 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_last_match): accept named capture's name.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 15:57:53 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_backref_number): new function for converting a backref</div><div class='del'>-	  name/number to an integer.</div><div class='del'>-	  (match_offset): use match_backref_number.</div><div class='del'>-	  (match_begin): ditto.</div><div class='del'>-	  (match_end): ditto.</div><div class='del'>-	  (name_to_backref_number): raise IndexError instead of RuntimeError.</div><div class='del'>-	  (match_inspect): show capture index.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 14:59:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (CHECK_STACK_OVERFLOW): reserve frame size.</div><div class='del'>-	  [ruby-dev:32485]</div><div class='del'>-</div><div class='del'>-Sun Dec  9 14:38:25 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): use rb_gc_mark_maybe() for</div><div class='del'>-	  VM stack specified by mark_stack_len.  [ruby-dev:32462]</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci: clear vm stack extended by opt value.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 14:08:47 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FilePathStringValue): defined.  similar to</div><div class='del'>-	  FilePathValue but no taint check.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_no_checksafe): implementation of</div><div class='del'>-	  FilePathStringValue.</div><div class='del'>-	  (rb_file_s_basename): use FilePathStringValue.</div><div class='del'>-	  (rb_file_s_dirname): ditto.</div><div class='del'>-	  (rb_file_s_extname): ditto.</div><div class='del'>-	  (rb_file_s_split): ditto.</div><div class='del'>-	  (rb_file_join): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (file_s_fnmatch): ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 12:49:34 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (append_utf8): check unicode range.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 12:39:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (read_multipart): exclude blanks from header values.</div><div class='del'>-	  [ruby-list:44327]</div><div class='del'>-</div><div class='del'>-Sun Dec  9 12:18:19 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path): use the original object if to_path method is</div><div class='del'>-	  not defined.  [ruby-dev:32473]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): call to_open on non-string objects, instead of</div><div class='del'>-	  to_str.  [ruby-dev:32473]</div><div class='del'>-</div><div class='del'>-Sun Dec  9 12:12:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_find): returns true if no characters to be removed is</div><div class='del'>-	  specified.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 12:03:16 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): delimits with a semicolon.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 11:29:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): get rid of segfaults when has multibytes but</div><div class='del'>-	  source sets have no multibytes.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 04:01:28 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_mbclen): return 1 if underlying implementation</div><div class='del'>-	  returns a length longer than e-p.</div><div class='del'>-	  (rb_enc_precise_mbclen): return needmore if underlying</div><div class='del'>-	  implementation returns a length longer than e-p.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 17:59:40 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (posix_signal): return value.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 17:22:16 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs7.rb: Remove redundant module namespace.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 17:07:10 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): make rb_raise format as a string literal to</div><div class='del'>-	  avoid warning.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 16:18:16 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_check_preprocess): new function for validating regexp</div><div class='del'>-	  fragment.</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp): invoke reg_fragment_check.</div><div class='del'>-	  (reg_fragment_check): defined.</div><div class='del'>-	  (reg_fragment_check_gen): defined.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 11:06:29 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_mbclen): make it never fail.</div><div class='del'>-	  (rb_enc_nth): don't check the return value of rb_enc_mbclen.</div><div class='del'>-	  (rb_enc_strlen): ditto.</div><div class='del'>-	  (rb_enc_precise_mbclen): return needmore(1) if e &lt;= p.</div><div class='del'>-	  (rb_enc_get_ascii): new function for extracting ASCII character.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_get_ascii): declared.</div><div class='del'>-</div><div class='del'>-	* include/ruby/regex.h (ismbchar): removed.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): use rb_enc_get_ascii.</div><div class='del'>-	  (unescape_escaped_nonascii): use rb_enc_precise_mbclen to determine</div><div class='del'>-	  the termination of escaped non-ASCII character.</div><div class='del'>-	  (unescape_nonascii): use rb_enc_precise_mbclen.</div><div class='del'>-	  (rb_reg_quote): use rb_enc_get_ascii.</div><div class='del'>-	  (rb_reg_regsub): use rb_enc_get_ascii.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse) don't check the return value of</div><div class='del'>-	  rb_enc_mbclen.</div><div class='del'>-	  (rb_str_split_m): don't call rb_enc_mbclen with e &lt;= p.</div><div class='del'>-</div><div class='del'>-	* parse.y (is_identchar): use ISASCII.</div><div class='del'>-	  (parser_ismbchar): removed.</div><div class='del'>-	  (parser_precise_mbclen): new macro.</div><div class='del'>-	  (parser_isascii): new macro.</div><div class='del'>-	  (parser_tokadd_mbchar): use parser_precise_mbclen to check invalid</div><div class='del'>-	  character precisely.</div><div class='del'>-	  (parser_tokadd_string): use parser_isascii.</div><div class='del'>-	  (parser_yylex): ditto.</div><div class='del'>-	  (is_special_global_name): don't call is_identchar with e &lt;= p.</div><div class='del'>-	  (rb_enc_symname_p): ditto.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:32455]</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/vu/canvSticker2.rb: remove coding cookie</div><div class='del'>-	  because the encoding is not UTF-8.  [ruby-dev:32475]</div><div class='del'>-</div><div class='del'>-Fri Dec  7 20:21:35 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/ftptls.rb, ext/openssl/lib/net/telnets.rb:</div><div class='del'>-	  half-finished libraries are discontinued.</div><div class='del'>-</div><div class='del'>-Fri Dec  7 15:44:40 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: use Hash for recursion check as inspect.</div><div class='del'>-</div><div class='del'>-Fri Dec  7 15:04:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): some performance improvements, based on a patch</div><div class='del'>-	  from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; in [ruby-core:13877].</div><div class='del'>-	  [ruby-core:13851]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_exec_recursive): use Hash instead of Array for</div><div class='del'>-	  performance improvement.  [ruby-core:13898]</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_pop): use object ID.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 19:52:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): typo fixed ("!" -&gt; "|") in the ripper code.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 19:48:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): tUPLUS no longer works as identity operation any</div><div class='del'>-	  more.  inspired by [ruby-talk:265532].</div><div class='del'>-</div><div class='del'>-Thu Dec  6 18:22:11 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_precise_mbclen): new function for mbclen with</div><div class='del'>-	  validation.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_precise_mbclen): declared.</div><div class='del'>-	  (MBCLEN_CHARFOUND): new macro.</div><div class='del'>-	  (MBCLEN_INVALID): new macro.</div><div class='del'>-	  (MBCLEN_NEEDMORE): new macro.</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingTypeST): replace mbc_enc_len</div><div class='del'>-	  by precise_mbc_enc_len.</div><div class='del'>-	  (ONIGENC_PRECISE_MBC_ENC_LEN): new macro.</div><div class='del'>-	  (ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND): new macro.</div><div class='del'>-	  (ONIGENC_CONSTRUCT_MBCLEN_INVALID): new macro.</div><div class='del'>-	  (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE): new macro.</div><div class='del'>-	  (ONIGENC_MBCLEN_CHARFOUND): new macro.</div><div class='del'>-	  (ONIGENC_MBCLEN_INVALID): new macro.</div><div class='del'>-	  (ONIGENC_MBCLEN_NEEDMORE): new macro.</div><div class='del'>-	  (ONIGENC_MBC_ENC_LEN): use ONIGENC_PRECISE_MBC_ENC_LEN.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: validation implemented.</div><div class='del'>-</div><div class='del'>-	* enc/sjis.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/utf8.c: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): use rb_enc_precise_mbclen for invalid</div><div class='del'>-	  encoding.</div><div class='del'>-	  (rb_str_valid_encoding_p): new method String#valid_encoding?.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): use rb_enc_precise_mbclen.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:32438]</div><div class='del'>-</div><div class='del'>-Thu Dec  6 01:37:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (i_apply_case_fold): fix for negative character class.  a</div><div class='del'>-	  patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; in [ruby-core:13884].</div><div class='del'>-</div><div class='del'>-Thu Dec  6 01:00:38 2007  NARUSE, Yui &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_s_list): support NetBSD/Citrus iconv.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 16:18:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_s_new): call initialize.  [ruby-core:13824]</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_location): return file name and line number where</div><div class='del'>-	  the proc is defined.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_s_new): call initialize.  [ruby-core:13835]</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_initialize): split initialize method.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 15:25:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): fix to changing encoding to default, and</div><div class='del'>-	  uncommented r13835, which is rare but not impossible.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 15:15:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (step_i, range_step): support non-fixnum steps.</div><div class='del'>-	  [ruby-talk:282100]</div><div class='del'>-</div><div class='del'>-Wed Dec  5 14:25:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix typo.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 13:41:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): get rid of tracing while parsing.</div><div class='del'>-	  [ruby-dev:31351]</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_suppress_tracing): added a new parameter, which</div><div class='del'>-	  directs to call func always.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 19:56:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): should not set encoding unless</div><div class='del'>-	  the target encoding is supported.  [ruby-dev:32451]</div><div class='del'>-</div><div class='del'>-Tue Dec  4 17:34:17 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (tojis, tosjis, toeuc, toutf8):</div><div class='del'>-	  set encoding. [ruby-dev:32447]</div><div class='del'>-</div><div class='del'>-Tue Dec  4 17:07:25 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/json.rb, lib/json/*: moved to ext/json/lib.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 16:34:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_create): achieve target encoding.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert, iconv_finish, iconv_iconv,</div><div class='del'>-	  iconv_conv): set result string encoding.  [ruby-dev:32446]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_initialize, iconv_s_open): set encoding to</div><div class='del'>-	  Iconv instance.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 14:34:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): reverted c flag.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 11:23:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): trailing spaces may exist at squeezing</div><div class='del'>-	  preceding 0s.  [ruby-core:13873]</div><div class='del'>-</div><div class='del'>-Mon Dec  3 11:51:53 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/*: removed or moved to ext/dl/win32.</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/*: new. [ruby-dev:32387]</div><div class='del'>-</div><div class='del'>-Sun Dec  2 22:08:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_mbchar): fix for ASCII chars.  [ruby-dev:32432]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_parse_string, parser_here_document): prevent false</div><div class='del'>-	  error messages.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 20:43:22 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_escaped_nonascii): fix mbclen argument.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 15:47:57 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_mbchar): check insufficient multibyte char.</div><div class='del'>-	  [ruby-dev:32429]</div><div class='del'>-</div><div class='del'>-Sun Dec  2 15:42:16 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, test/rss/test_version.rb: 0.2.1 -&gt; 0.2.2.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/itunes.rb: fixed new_itunes_category.</div><div class='del'>-	* lib/rss/maker/taxonomy.rb: new_taxo_topic -&gt; new_topic because</div><div class='del'>-	  of consistency.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_itunes.rb, test/rss/test_itunes.rb: removed</div><div class='del'>-	  needless UTF-8 characters.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 15:18:37 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_callee_setup_arg): fix error message.</div><div class='del'>-	  [ruby-dev:32430]</div><div class='del'>-</div><div class='del'>-Sun Dec  2 09:12:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp): fix /#{}\xa1\xa2/e to be EUC-JP.</div><div class='del'>-	  (reg_fragment_setenc_gen): extracted from reg_compile_gen.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 01:39:51 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_uv_to_utf8): declared.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_preprocess): new function for dynamic regexp with</div><div class='del'>-	  \u{} such as Regexp.new("\\u{6666}").</div><div class='del'>-	  (rb_reg_prepare_re): preprocess regexp for recompiling.</div><div class='del'>-	  (read_escaped_byte): new function.</div><div class='del'>-	  (unescape_escaped_nonascii): new function.</div><div class='del'>-	  (append_utf8): new function.</div><div class='del'>-	  (unescape_unicode_list): new function.</div><div class='del'>-	  (unescape_unicode_bmp): new function.</div><div class='del'>-	  (unescape_nonascii): new function.</div><div class='del'>-	  (rb_reg_initialize): preprocess regexp.</div><div class='del'>-</div><div class='del'>-	* pack.c (rb_uv_to_utf8): renamed from uv_to_utf8.</div><div class='del'>-</div><div class='del'>-	* parse.y (STR_NEW3): take func instead of has8 and hasmb.</div><div class='del'>-	  (parser_str_new): use default coderange mechanism except for regexp.</div><div class='del'>-	  (parser_tokadd_utf8): copy regexp source as-is.</div><div class='del'>-	  (parser_read_escape): UTF-8 stuff removed.</div><div class='del'>-	  (parser_tokadd_escape): has8bit and hasmb removed.</div><div class='del'>-	  (parser_tokadd_string): fix 8-bit single byte character with \u.</div><div class='del'>-	  (parser_parse_string): has8bit and hasmb removed.</div><div class='del'>-	  (parser_here_document): has8bit and hasmb removed.</div><div class='del'>-	  (parser_yylex): call parser_tokadd_utf8 instead of read_escape for</div><div class='del'>-	  UTF-8 character.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 01:00:07 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (XMLRPC::Server#server): Improve signal handling so</div><div class='del'>-	  pressing control-c in the controlling terminal or sending SIGTERM stops</div><div class='del'>-	  the XML-RPC server.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 23:04:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: rename primary_encoding -&gt; default_external (encoding).</div><div class='del'>-</div><div class='del'>-Sat Dec  1 19:52:57 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (Time#to_datetime): use nsec instead of usec.</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (DateTime#to_time): second minute as an argument to</div><div class='del'>-	  Time::utc contains fractional part in rational; hence Time</div><div class='del'>-	  object may keep resolution at most nanosecond.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 14:36:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move fixed bugs.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 13:24:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_yield_with_cfunc): fix to passing argc on third</div><div class='del'>-	  parameter of IFUNC.  [ruby-dev:32329]</div><div class='del'>-</div><div class='del'>-	* enumerator.c: fix to pass exact number of argument.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_values2): added.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move a fixed test.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 10:45:56 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): use to_open for every non-string object.  path</div><div class='del'>-	  object may use method_missing.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 09:44:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (concatarray, splatarray): use to_a instead of</div><div class='del'>-	  to_splat.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (caller_setup_args): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 03:34:32 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (newline_node): always remove NODE_BEGIN.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 23:48:07 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): use SA_SIGINFO if available.</div><div class='del'>-	  [ ruby-Patches-6418 ]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 22:52:54 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap_signm): SIGVTALRM no longer used for green</div><div class='del'>-	  thread.  [ruby-talk:281318]</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_sig_finalize): do not install SIG_DFL handler if</div><div class='del'>-	  previous handler is sighandler().</div><div class='del'>-</div><div class='del'>-Fri Nov 30 21:02:15 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/json.rb, lib/json/add/{core.rb, rails.rb},</div><div class='del'>-	  test/json/test_json_rails.rb: additional files of JSON 1.1.2.</div><div class='del'>-	  [ruby-dev:32405]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 19:33:38 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_mktime): avoid segmentation fault.</div><div class='del'>-	  [ruby-core:13735]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 19:05:55 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count): precise argument number check.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count): return Enumerator if no block given.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 16:42:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take_while): returns Enumerator if no block given.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_drop_while): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 16:59:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): remove unnecessary NODE_BEGIN.  [ruby-core:13814]</div><div class='del'>-</div><div class='del'>-Thu Nov 29 06:45:48 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_eql): recursive comparison should be based on</div><div class='del'>-	  eql?  [ruby-core:13803]</div><div class='del'>-</div><div class='del'>-Wed Nov 28 18:08:00 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json, lib/json, test/json: Update to JSON 1.1.2.</div><div class='del'>-	  (RubyForge#15447)</div><div class='del'>-</div><div class='del'>-	* math.c: fix typo.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 16:29:35 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_invoke_block): should splat args.</div><div class='del'>-	  [ruby-dev:32392]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 14:43:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): use dldflags instead of DLDFLAGS to</div><div class='del'>-	  get rid of mixing $LDFLAGS and $ARCH_FLAG.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): support for extensions which has no</div><div class='del'>-	  shared object.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 02:42:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_find_n1): removed extraneous element.</div><div class='del'>-	  [ruby-dev:32351], [ruby-dev:32365]</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_find_n1): returns necessary digits now.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (remove_sign_bits): extends sign bit first.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 15:53:43 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): "when *[],1" dumps core.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:32350]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 15:40:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): "a[*b] += 1" dumps core.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:32354]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 12:47:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def: change return value of "defined?"</div><div class='del'>-	  for $&amp;, $1, ... .  If such variables are defined,</div><div class='del'>-	  return "global-variable".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_defined.rb: add tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: fix a test.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 11:54:46 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: fix typo.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 11:23:20 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test_beginendblock.rb: add loop to wait signal.</div><div class='del'>-	  [ruby-dev:32332]</div><div class='del'>-</div><div class='del'>-Tue Nov 27 11:14:57 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h, encoding.c, re.c, string.c, parse.y:</div><div class='del'>-	  rename ENC_CODERANGE_SINGLE to ENC_CODERANGE_7BIT.</div><div class='del'>-	  rename ENC_CODERANGE_MULTI to ENC_CODERANGE_8BIT.</div><div class='del'>-	  Because single byte 8bit character, such as Shift_JIS 1byte katakana,</div><div class='del'>-	  is represented by ENC_CODERANGE_MULTI even if it is not multi byte.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 10:45:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_missing): fix stack trace.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move solved tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb, test/ruby/test_regexp.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 09:57:42 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c: fix to allow dsym for alias/undef.</div><div class='del'>-	  [ruby-dev:32355]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 23:18:46 2007  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extserv.rb (initialize, stop_service): synchronize with</div><div class='del'>-	  ExtServManager.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb (TestDRbEval): ignored.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 17:32:16 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): new method Regexp#fixed_encoding?</div><div class='del'>-	  [ruby-dev:32361]</div><div class='del'>-</div><div class='del'>-Mon Nov 26 13:28:14 2007  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: be able to create Complex(0, -0.0). [ruby-list:44268]</div><div class='del'>-</div><div class='del'>-Mon Nov 26 11:24:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_fixed_encoding_p): extracted from rb_reg_prepare_re and</div><div class='del'>-	  rb_reg_s_union.</div><div class='del'>-	  (rb_reg_s_union): refactored.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 10:44:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_read_internal, rb_sysopen_internal): remove C99 dependency.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 22:21:35 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_str_asciionly_p): declared.</div><div class='del'>-	  (rb_enc_str_asciicompat_p): defined.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_str): use rb_enc_str_asciionly_p.</div><div class='del'>-	  (rb_reg_quote): return ascii-8bit string if the argument is</div><div class='del'>-	  ascii-only to generate encoding generic regexp if possible.</div><div class='del'>-	  (rb_reg_s_union): fix encoding handling.  [ruby-dev:32094]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_asciionly_p): defined.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 12:12:03 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: Import fast-loading gem_prelude.rb from RubyGems.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Import RubyGems r1516.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 23:25:52 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb (TestEval::test_instance_eval_cvar):</div><div class='del'>-	  updated not to modify class variable of Object class.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 17:34:24 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: add rb_read_internal() as blocking function.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 17:33:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: fix comment.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 17:26:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move solved tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb, test_marshal.rb, test_objectspace.rb:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb, test_regexp.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 15:59:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_alloc_noinit): new function.</div><div class='del'>-	  (rb_struct_define_without_accessor): add allocator to the arguments.</div><div class='del'>-</div><div class='del'>-	* range.c (range_alloc): re-introduced using rb_struct_alloc_noinit.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 15:27:43 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (REG_CASESTATE): unused macro removed.</div><div class='del'>-	  (rb_reg_prepare_re): check encoding difference.</div><div class='del'>-	  (rb_reg_initialize): check 8bit byte.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_escape): fix has8bit.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:32113]</div><div class='del'>-</div><div class='del'>-Fri Nov 23 15:16:48 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_f_global_variables): variable names should not</div><div class='del'>-	  duplicate.  [ruby-dev:32344]</div><div class='del'>-</div><div class='del'>-Fri Nov 23 13:34:08 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_define_without_accessor): new function.</div><div class='del'>-</div><div class='del'>-	* range.c (range_alloc): removed.</div><div class='del'>-	  (Init_Range): use rb_struct_define_without_accessor.</div><div class='del'>-</div><div class='del'>-	  based on [ruby-dev:32327].</div><div class='del'>-</div><div class='del'>-Fri Nov 23 11:01:54 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_begin): should return offset by character.</div><div class='del'>-	  [ruby-dev:32331]</div><div class='del'>-</div><div class='del'>-	* re.c (match_end): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 10:44:24 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): defined(method(x)) dumped core.  a</div><div class='del'>-	  patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:32335]</div><div class='del'>-</div><div class='del'>-Wed Nov 21 18:03:49 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: fix to recycle thread data (VM stack).</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_thread_create_join.rb: add loop count.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 18:02:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: add path to trunk/lib if driver runner is</div><div class='del'>-	  in build directory.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 16:39:21 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (assert_equal_timestamp): new assert</div><div class='del'>-	  to test tv_sec only for filestamp resolution portability.</div><div class='del'>-	  (assert_same_entry): use assert_same_entry for mtime comparison.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 14:55:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): add gc guard codes.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 11:16:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_search_normal_superclass): rename function.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_search_superclass): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (struct METHOD): rename rklass -&gt; rclass.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 03:12:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): returns nil on execution failure.</div><div class='del'>-	  [ruby-core:13715]</div><div class='del'>-</div><div class='del'>-Wed Nov 21 01:04:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (nil_plus): remove unused function.  [ruby-core:13737]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 21:46:46 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): ignore invalid digits in submicro.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 20:33:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rename RFloat#double_value -&gt; float_value.</div><div class='del'>-</div><div class='del'>-	* numeric.c, parse.y: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 19:36:21 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h, vm_core.h: decl of rb_gc_save_machine_context()</div><div class='del'>-	  should be at vm_core.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, intern.h: remove type rb_thread_t.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: change rb_unblock_function_t,</div><div class='del'>-	  rb_unblock_function_t.</div><div class='del'>-</div><div class='del'>-	* file.c, process.c: apply above changes.</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.ci, thread_win32.ci: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: support blocking open (2). [ruby-core:13614]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 17:10:11 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_on_exec_p): new method IO#close_on_exec?.</div><div class='del'>-	  (rb_io_set_close_on_exec): new method IO#close_on_exec=.</div><div class='del'>-	  [ruby-dev:32323]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 16:24:31 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): obj-&gt;as.file.fptr may be 0 for T_FILE.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 15:09:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape): has8bit flag may be set with control</div><div class='del'>-	  escape.  [ruby-core:13722]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): set begging after BOM if exists.</div><div class='del'>-	  [ruby-core:13718]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 14:55:37 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: Update to RubyGems 0.9.5.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 13:00:44 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h win32/win32.c (rb_w32_pipe_exec): use dual fd</div><div class='del'>-	  instead of socketpair when mode is RDWR.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): pass &amp;write_fd to rb_w32_pipe_exec().</div><div class='del'>-</div><div class='del'>-	* io.c (popen_redirect): define only when HAVE_FORK.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 12:12:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): add tied_io_for_writing member.</div><div class='del'>-</div><div class='del'>-	* io.c: use tied_io_for_writing for duplex popen.</div><div class='del'>-</div><div class='del'>-	* gc.c: mark tied_io_for_writing.</div><div class='del'>-</div><div class='del'>-	* common.mk: gc.o depends io.h.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:32205]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 11:59:33 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: rename TestRubyYield to TestDRbRubyYield to</div><div class='del'>-	  avoid name crash with test/ruby/test_yield.rb.</div><div class='del'>-	  TestRuby18Yield is renamed to TestDRbRuby18Yield too.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 03:24:42 2007  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb: merged from ruby_1_8 branch.</div><div class='del'>-</div><div class='del'>-	* lib/drb/acl.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/unix.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/observer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/invokemethod.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbssl.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbunix.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 00:52:46 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (assert_equal_time): show nsec if</div><div class='del'>-	  assertion fails but time.to_s equals.</div><div class='del'>-	  (assert_same_entry): use assert_equal_time.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_install): use</div><div class='del'>-	  assert_equal_time.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 18:46:49 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (utime_internal): fallback utimensat to utimes.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 17:51:27 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check struct timespec, clock_gettime, utimensat,</div><div class='del'>-	  struct stat.st_atim,</div><div class='del'>-	  struct stat.st_atimespec,</div><div class='del'>-	  struct stat.st_atimensec,</div><div class='del'>-	  struct stat.st_mtim,</div><div class='del'>-	  struct stat.st_mtimespec,</div><div class='del'>-	  struct stat.st_mtimensec,</div><div class='del'>-	  struct stat.st_ctim,</div><div class='del'>-	  struct stat.st_ctimespec,</div><div class='del'>-	  struct stat.st_ctimensec.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: provide struct timespec if not available.</div><div class='del'>-</div><div class='del'>-	* time.c: support nanosecond-resolution using struct timespec.</div><div class='del'>-	  (time_nsec): new method: Time#nsec and Time#tv_nsec.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: provide rb_time_nano_new.</div><div class='del'>-</div><div class='del'>-	* file.c (utime_internal): use utimensat if available.</div><div class='del'>-	  (rb_file_s_utime): refactored.</div><div class='del'>-	  (rb_f_test): use stat_atime, stat_mtime, stat_ctime.</div><div class='del'>-	  (rb_stat_cmp): check tv_nsec.</div><div class='del'>-	  (stat_atimespec): new function.</div><div class='del'>-	  (stat_atime): ditto.</div><div class='del'>-	  (stat_mtimespec): ditto.</div><div class='del'>-	  (stat_mtime): ditto.</div><div class='del'>-	  (stat_ctimespec): ditto.</div><div class='del'>-	  (stat_ctime): ditto.</div><div class='del'>-	  (rb_stat_atime): use stat_atime.</div><div class='del'>-	  (rb_file_s_atime): ditto.</div><div class='del'>-	  (rb_file_atime): ditto.</div><div class='del'>-	  (rb_stat_mtime): use stat_mtime.</div><div class='del'>-	  (rb_file_s_mtime): ditto.</div><div class='del'>-	  (rb_file_mtime): ditto.</div><div class='del'>-	  (rb_file_ctime): use stat_ctime.</div><div class='del'>-	  (rb_file_s_ctime): ditto.</div><div class='del'>-	  (rb_stat_ctime): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_copy_generic_ivar): clear clone's instance variables</div><div class='del'>-	  if obj has no instance variable.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump instance variables of generated string</div><div class='del'>-	  for TYPE_USERDEF, even if original object has instance variables.</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time#xmlschema): use nsec instead of usec.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:32306]</div><div class='del'>-</div><div class='del'>-Mon Nov 19 17:48:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_superclass): should not raise exception for</div><div class='del'>-	  BasicObject.  [ruby-Bugs-15668]</div><div class='del'>-</div><div class='del'>-Mon Nov 19 16:04:08 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): gives all permutations of elements</div><div class='del'>-	  if no argument given.  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:32309]</div><div class='del'>-</div><div class='del'>-Mon Nov 19 02:44:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): alias and undef accept dsyms as well</div><div class='del'>-	  as literals.  [ruby-dev:32308]</div><div class='del'>-</div><div class='del'>-Mon Nov 19 02:31:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (rb_add_method): no redefinition warning for undef.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 01:53:11 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape): disallow control and meta modifiers</div><div class='del'>-	  for non-ASCII characters.  [ruby-core:13685]</div><div class='del'>-</div><div class='del'>-Sun Nov 18 20:47:41 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (mark_dump_arg): it may be called after dump_ensure.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 18:27:47 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_minus): fix Time.at(2**60+1) - Time.at(2**60).</div><div class='del'>-</div><div class='del'>-Sun Nov 18 17:28:49 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): show actual year in 2-3 digits year warning.</div><div class='del'>-	  (time_mdump): show actual year in "year too big to marshal" error.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 14:03:44 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (rb_alias): do not call hook functions until</div><div class='del'>-	  initialization finishes.  [ruby-talk:279538]</div><div class='del'>-</div><div class='del'>-Sun Nov 18 09:09:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (String#tr_cpp): make preprocessor identifiers.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 05:19:46 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_struct_member): define HAVE_type_member.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 23:51:29 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100]</div><div class='del'>-</div><div class='del'>-Sat Nov 17 23:21:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): should clear parser-&gt;tokp as well.</div><div class='del'>-	  [ruby-dev:32250]</div><div class='del'>-</div><div class='del'>-	* parse.y: remove NEED_ASSOC that break test_parser_events.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): should not decrement line numbers at the</div><div class='del'>-	  end of file.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext): search .rb files first through in the</div><div class='del'>-	  loadpath.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 23:31:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_odd_p): new method added.  a patch from Tadashi</div><div class='del'>-	  Saito &lt;shiba AT mail2.accsnet.ne.jp&gt;.  [ruby-dev:32305]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_even_p): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 17:41:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (Document-class): moved the simplest example to</div><div class='del'>-	  the top.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_s_iconv): Document-method: needs class</div><div class='del'>-	  prefix for class method.  [ruby-core:13542]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_iconv): also instance method needs to be</div><div class='del'>-	  qualified.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 16:26:57 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: added some declarations for event hooks.</div><div class='del'>-</div><div class='del'>-	* lib/profile.rb: set VM::InstructionSequence.compile_option.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 11:16:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (String#is_binary_data?): use Integer#fdiv.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 03:36:01 2007  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: Node#value defined twice.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/: several method redefinitions causing warnings.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 03:01:00 2007  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/types.rb: Likewise, pass self to YAML::quick_emit.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 02:51:59 2007  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (quick_emit): use combination of object_id and hash to</div><div class='del'>-	  identify repeated object references, since GC will reuse memory of</div><div class='del'>-	  objects during output of YAML. [ruby-Bugs-8548] [ruby-Bugs-3698]</div><div class='del'>-</div><div class='del'>-Thu Nov 15 19:49:03 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: check macro if cannot find func.</div><div class='del'>-	  [ruby-list:44224]</div><div class='del'>-</div><div class='del'>-Thu Nov 15 18:04:06 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: fix TMP_RUBY_PREFIX for relative load path</div><div class='del'>-	  environment.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 17:28:21 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: absolute path may not start with a slash.</div><div class='del'>-	  pointed by usa.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 17:07:54 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: fix first substitution.</div><div class='del'>-	  use constant for prefix.</div><div class='del'>-	  pointed by Richard Kilmer.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 14:29:56 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prereq): added auto generated sources.  [ruby-dev:32280]</div><div class='del'>-</div><div class='del'>-Thu Nov 15 12:31:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: use constant for prefix.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 12:24:39 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: use simple template system for source</div><div class='del'>-	  code generation.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 12:19:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::FileStore::restore): use</div><div class='del'>-	  lockfile for exclusive locks.  a patch from &lt;tommy AT tmtm.org&gt;.</div><div class='del'>-	  [ruby-dev:32296]</div><div class='del'>-</div><div class='del'>-Thu Nov 15 12:14:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb (c_esc): need to escape closing brace.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 11:52:16 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: adjust RbConfig::CONFIG paths relative</div><div class='del'>-	  to the installation path.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 11:25:20 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): fix typo on --disable-gems option.</div><div class='del'>-	  pointed by Richard Kilmer.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 16:16:17 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https_proxy.rb</div><div class='del'>-	  (HTTPSProxyTest::test_https_proxy_authentication): initialize</div><div class='del'>-	  local variable 't' first.  [ruby-dev:32253]</div><div class='del'>-</div><div class='del'>-Wed Nov 14 15:39:24 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb: update not to use 1.8 assignment to</div><div class='del'>-	  external local variable in the block parameters.  [ruby-dev:32251]</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb: avoid $KCODE, and use</div><div class='del'>-	  String#force_encoding().  [ruby-dev:32251]</div><div class='del'>-</div><div class='del'>-Wed Nov 14 14:04:42 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in: rename prelude.c to miniprelude.c.</div><div class='del'>-	  rename ext_prelude.c to prelude.c</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 07:09:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, compile.c, compile.h, debug.c, debug.h,</div><div class='del'>-	  id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci,</div><div class='del'>-	  thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h,</div><div class='del'>-	  vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and</div><div class='del'>-	  copyright year.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 07:07:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/makedocs.rb, template/insnstbl.html: removed.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 02:50:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.c): dependency also needs vpath.</div><div class='del'>-</div><div class='del'>-	* common.mk (node_name.inc, prelude.c): VPATH in nmake does not</div><div class='del'>-	  work for targets of explicit rules.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 02:11:38 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/isinf.c (isinf): don't define if the macro is defined.</div><div class='del'>-</div><div class='del'>-	* configure.in: no need to set ac_cv_func_isinf=yes on non-gcc</div><div class='del'>-	  solaris.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 01:34:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (round): fallback definition.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_divmod, flo_round): use round() always.</div><div class='del'>-	  [ruby-dev:32269]</div><div class='del'>-</div><div class='del'>-Wed Nov 14 00:33:49 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: introduce 2 macros:</div><div class='del'>-	  RFLOAT_VALUE(v), DOUBLE2NUM(dbl).</div><div class='del'>-	  Rename RFloat#value -&gt; RFloat#double_value.</div><div class='del'>-	  Do not touch RFloat#double_value directly.</div><div class='del'>-</div><div class='del'>-	* bignum.c, insns.def, marshal.c, math.c, numeric.c, object.c,</div><div class='del'>-	  pack.c, parse.y, process.c, random.c, sprintf.c, string.c,</div><div class='del'>-	  time.c: apply above changes.</div><div class='del'>-</div><div class='del'>-	* ext/dl/mkcallback.rb, ext/json/ext/generator/generator.c:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 00:15:37 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ytab.sed: get rid of GNU sed feature.  a patch from Laurent</div><div class='del'>-	  Sansonetti &lt;laurent.sansonetti AT gmail.com&gt; in [ruby-core:13470].</div><div class='del'>-</div><div class='del'>-Tue Nov 13 21:41:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.c), ext/ripper/depend (ripper.c): process after</div><div class='del'>-	  bison with sed.  [ruby-dev:32204]</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): use yydebug in cmdline_options.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set yydebug flag of parser.</div><div class='del'>-</div><div class='del'>-	* parse.y (yydebug): moved into struct parser_params.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_get_yydebug, rb_parser_set_yydebug): parser</div><div class='del'>-	  generic methods.</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (parse.c): moved to common.mk.</div><div class='del'>-</div><div class='del'>-	* tool/ytab.sed: comment out yydebug definition, and substitute</div><div class='del'>-	  yyerror with parser_yyerror.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 16:33:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flodivmod): work around for infinity.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_divmod): work around for platforms have no round().</div><div class='del'>-	  [ruby-dev:32247]</div><div class='del'>-</div><div class='del'>-Tue Nov 13 15:26:33 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lex.c.blt: moved from lex.c.</div><div class='del'>-</div><div class='del'>-	* lex.c.src: copied from keywords.  This is the source of lex.c.blt.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): use lex.c.blt if keywords is same as lex.c.src.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (lex.c): re-introduce copy rule.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (lex.c): ditto.</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub (lex.c): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 15:21:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): check argc.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 14:44:32 2007  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: fixed the failing YAML Struct test</div><div class='del'>-	  at ko1's request.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 02:57:04 2007  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_divmod): round to the nearest integer.</div><div class='del'>-	  [ ruby-Bugs-14540 ]</div><div class='del'>-</div><div class='del'>-Tue Nov 13 00:36:16 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: fixed tests for set_trace_func.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 19:47:29 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (call_trace_proc): should return value.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 19:45:18 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile.sub (miniruby): use $(COMMONOBJS) and $(DMYEXT)</div><div class='del'>-	  instead of $(LIBRUBY_A).</div><div class='del'>-</div><div class='del'>-Mon Nov 12 18:32:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/Makefile.sub (MINIOBJS): added prelude.$(OBJEXT).</div><div class='del'>-</div><div class='del'>-Mon Nov 12 17:13:23 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk: add prelude.o to MINIOBJS.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 16:52:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): rdoc about srcprefix.  a patch from</div><div class='del'>-	  Daniel Berger &lt;djberg96 AT gmail.com&gt; in [ruby-core:13378].</div><div class='del'>-</div><div class='del'>-Mon Nov 12 16:48:09 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk: add ext_prelude.o to OBJS.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 13:57:39 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIDLNOBJS): removed.</div><div class='del'>-	  (MINIOBJS): set to dln.o if dmydln.o is not used.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby): use MINIOBJS instead of MINIDLNOBJS.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 13:53:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): handle stringified</div><div class='del'>-	  symbols properly using ruby-forward-string.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 12:17:59 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIDLNOBJS): defined.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby): use MINIDLNOBJS and COMMONOBJS instead of</div><div class='del'>-	  MINIOBJS and OBJS to avoid linking both dmydln.o and dln.o.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 20:32:45 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* {win32,wince,bcc32}/Makefile.sub: delete lex.c rule.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 19:40:52 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): simplified.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 18:31:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): touch lex.c if gperf failed but lex.c exists.</div><div class='del'>-	  Although this may cause non-updated lex.c,</div><div class='del'>-	  svn co may generate keywords newer than lex.c especially on</div><div class='del'>-	  a file system which can record fractional mtime such as XFS.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 17:32:46 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_method): pass mn-&gt;nd_clss to</div><div class='del'>-	  vm_call_cfunc() instead of klass.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_method_id_and_klass): traverse parent_iseq.</div><div class='del'>-</div><div class='del'>-	* thread.c (call_trace_proc): use rb_thread_method_id_and_klass().</div><div class='del'>-</div><div class='del'>-Sun Nov 11 16:54:25 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lex.c: renamed from lex.c.blt.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): use find command to check mtime.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 05:34:13 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* bin/gem: Add forgotten gem command.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 23:50:31 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): cast to unsigned char after dereference</div><div class='del'>-	  a pointer to a char to avoid SEGV with "\377".tr("a", "b").</div><div class='del'>-	  on FreeBSD/amd64.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 23:08:53 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, common.mk, Makefile.in: don't generate</div><div class='del'>-	  libminiruby-static.a.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 19:46:54 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, common.mk, Makefile.in: generate libminiruby-static.a</div><div class='del'>-	  which contains prelude.o for miniruby.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 18:10:07 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: new file for gem libraries.  currently empty.</div><div class='del'>-</div><div class='del'>-	* common.mk: generate ext_prelude.c by prelude.rb and gem_prelude.rb.</div><div class='del'>-	  ruby (not miniruby) is linked with ext_prelude.o instead of</div><div class='del'>-	  prelude.o.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): don't call Init_prelude.</div><div class='del'>-</div><div class='del'>-	* ruby.c: support --disable-gems option.</div><div class='del'>-	  (ruby_init_gems): new function to define Gem::Enable and</div><div class='del'>-	  invoke Init_prelude.</div><div class='del'>-	  (process_options): call ruby_init_gems just after</div><div class='del'>-	  ruby_init_loadpath.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: support multiple files.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 17:27:55 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (call_trace_proc): don't call ID2SYM() for ID_ALLOCATOR</div><div class='del'>-	  to avoid SEGV.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 16:37:07 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Import RubyGems revision 1493.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/ubygems.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rbconfig/datadir.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 16:34:21 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb: Don't override Enumerable#inject for 1.9.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 14:43:30 2007  David Flanagan  &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: use ASCII encoding for string literals that are</div><div class='del'>-	  7-bit clean, fixing regression from my previous patch</div><div class='del'>-</div><div class='del'>-Sat Nov 10 13:18:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32}/Makefile.sub: vendor_ruby support.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 23:33:16 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_nextc): added single line read forward buffer.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): adjust line number for fluent interface.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 22:04:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): use shift operations.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 21:46:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): should be volatile value for GC.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 17:48:22 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (locale_encoding): guesstimate encoding from environment</div><div class='del'>-	  variables.  [ruby-core:13315]</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set primary encoding from environment.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 16:51:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_byte): should update rbuf_off and rbuf_len for</div><div class='del'>-	  each iteration.  [ruby-dev:31659][ruby-dev:32192]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_set): cvar assignment obey same rule to cvar</div><div class='del'>-	  reference.  [ruby-dev:32192]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 15:52:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_check_encoding, rb_set_primary_encoding): ENCODING</div><div class='del'>-	  is no longer in FL_USERS flags.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 15:20:13 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): initialize squeezing table if no</div><div class='del'>-	  arguments given.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 13:57:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (each_with_index_i): use rb_yield_values() for</div><div class='del'>-	  compatibility with Enumerator#with_index().  a patch from Yusuke</div><div class='del'>-	  ENDOH &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:32195]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 13:45:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::IterTest::each):</div><div class='del'>-	  #each_pair is now alias to #each.  [ruby-dev:32192]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::test_assoc_yield):</div><div class='del'>-	  ditto</div><div class='del'>-</div><div class='del'>-Fri Nov  9 12:56:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c (loaded_feature_path): check with type of given feature.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 12:43:02 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: updated for new class</div><div class='del'>-	  behavior.  [ruby-dev:32192]</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_name): Encoding should not rely on ENCODING in</div><div class='del'>-	  the FL_USERS flags.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_from_encoding): do not call rb_enc_associate</div><div class='del'>-	  for encoding itself.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_register_at): ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_ivar): do not set real instance variable for</div><div class='del'>-	  encoding data associated.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 10:43:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (send_internal): use self in the previous frame to check for</div><div class='del'>-	  protected methods.  [ruby-core:13254]</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_method): send! method has gone.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 10:38:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): should be SPECIAL_CONST_P() instead of</div><div class='del'>-	  IMMEDIATE_P().</div><div class='del'>-</div><div class='del'>-Fri Nov  9 10:29:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_invoke_method): check if invoked in function style.</div><div class='del'>-	  [ruby-core:13245]</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): stores and returns VM</div><div class='del'>-	  calling flags.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_cfunc_funcall_p): returns if the current method is</div><div class='del'>-	  invoked in function style.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 10:10:21 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: add rb_context_t#type.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 10:05:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): fix breaking environ bugs.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 07:26:04 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: update MT URL.[ruby-core:13305].</div><div class='del'>-</div><div class='del'>-Thu Nov  8 17:09:55 2007  David Flanagan  &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: improve docs for Object.tap</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix bogus dates on my previous entries</div><div class='del'>-</div><div class='del'>-Thu Nov  8 15:13:56 2007 David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix segfault with \x escapes in regexps</div><div class='del'>-	  delete unused #if 0 code regions from previous patch</div><div class='del'>-</div><div class='del'>-Thu Nov  8 12:12:10 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape): remove C99/gcc-ism.</div><div class='del'>-</div><div class='del'>-Thu Nov  8 07:54:22 2007 David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: patch, based on Nobu's, work to support \u escapes</div><div class='del'>-	           also modifications for better coderange detection</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_unicode_escapes.rb: test cases</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_mixed_unicode_escapes.rb: mixed encoding test cases</div><div class='del'>-</div><div class='del'>-Thu Nov  8 07:14:37 2007 David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): commented out broken code that prevented</div><div class='del'>-	  correct interning of multi-byte symbols.  Without this patch</div><div class='del'>-	  :x==:x is false when x is a multi-byte character.</div><div class='del'>-</div><div class='del'>-Thu Nov  8 07:04:31 2007 David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table, tr_trans): fix test failures</div><div class='del'>-	  in test/ruby/test_string.rb</div><div class='del'>-</div><div class='del'>-Wed Nov  7 15:07:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_with_index): make different arrays at each</div><div class='del'>-	  iteration.  [ruby-dev:32181]</div><div class='del'>-</div><div class='del'>-Wed Nov  7 05:17:24 2007  David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: fix typo in invoke_method documentation</div><div class='del'>-</div><div class='del'>-Wed Nov  7 03:52:26 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): core dumped with non array arguments.</div><div class='del'>-	  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:32180]</div><div class='del'>-</div><div class='del'>-Wed Nov  7 03:32:38 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/SHIFT-JIS.rb (REXML::Encoding): place -x for</div><div class='del'>-	  nkf conversion.  a patch from &lt;moonwolf AT moonwolf.com&gt;.</div><div class='del'>-	  [ruby-dev:32183]</div><div class='del'>-</div><div class='del'>-Wed Nov  7 02:59:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_each_index): should return meaningful value.</div><div class='del'>-</div><div class='del'>-Tue Nov  6 16:37:47 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c (loaded_feature_path): need to expand relative paths.</div><div class='del'>-</div><div class='del'>-	* eval_load.c (rb_feature_p): check if the feature is loading with</div><div class='del'>-	  load path.  [ruby-dev:31932]</div><div class='del'>-</div><div class='del'>-	* eval_load.c (load_lock): check the result of barrier waiting.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): check if owned by the current thread.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_release): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov  5 08:01:22 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): move #send to Kernel module from BasicObject.</div><div class='del'>-</div><div class='del'>-Mon Nov  5 05:17:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Switch::summarize): fix for long form</div><div class='del'>-	  option with very long argument.  a patch from Kobayashi Noritada</div><div class='del'>-	  &lt;nori1 AT dolphin.c.u-tokyo.ac.jp&gt; in [ruby-list:44179].</div><div class='del'>-</div><div class='del'>-Mon Nov  5 01:20:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): remove "parenthesize argument(s) for future</div><div class='del'>-	  version" warning.  when I added this warning, I had a plan to</div><div class='del'>-	  reimplement the parser that is simpler than the current one.</div><div class='del'>-	  since we abandoned the plan, warning no longer required.</div><div class='del'>-</div><div class='del'>-Mon Nov  5 01:02:56 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTPHeader#initialize): provide default</div><div class='del'>-	  User-Agent to fix 500 error on some corrupted HTTP servers.</div><div class='del'>-	  [ruby-core:13135]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 00:32:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_send): allow send/__send__ to call methods of all</div><div class='del'>-	  visibility again.  we no longer provide __send, __send!.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_invoke_method): new method to honor private</div><div class='del'>-	  visibility.  if it's invoked in a function call style, it calls</div><div class='del'>-	  private methods as well (previous 1.9 send behavior).</div><div class='del'>-</div><div class='del'>-Mon Nov  5 00:24:24 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: vendor_ruby support.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB): duplicated.</div><div class='del'>-</div><div class='del'>-Mon Nov  5 00:01:33 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_quote): quote \v as well.</div><div class='del'>-</div><div class='del'>-Sun Nov  4 23:51:59 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): use StringValuePtr instead of</div><div class='del'>-	  StringValueCStr because \0 exists when Regexp.new("\0").</div><div class='del'>-</div><div class='del'>-Sun Nov  4 08:11:19 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (count_objects): count TOTAL.</div><div class='del'>-</div><div class='del'>-Sun Nov  4 03:58:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): use C array for characters that fit</div><div class='del'>-	  in a byte to gain performance.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_delete_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  4 00:06:40 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (count_objects): ObjectSpace.count_objects implemented.</div><div class='del'>-	  [ruby-core:12301]</div><div class='del'>-</div><div class='del'>-Sat Nov  3 22:49:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_each_pair): make Hash#each to be alias to</div><div class='del'>-	  Hash#each_pair for compatibility and clarity.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_each_pair): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 22:41:05 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: --with-vendor-hdrdir implemented.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: check --vendor argument.</div><div class='del'>-</div><div class='del'>-	* README.EXT: explain --vendor option for extconf.rb</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 20:30:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: --with-vendordir implemented.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: add config to vendorlibdir and vendorarchdir.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: make vendor library directories.</div><div class='del'>-</div><div class='del'>-	* ruby.c: insert vendor library directories into load path.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 20:55:49 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/content.rb, lib/rss/content/, lib/rss/maker/content.rb,</div><div class='del'>-	  test/rss/test_content.rb, test/rss/test_maker_content.rb,</div><div class='del'>-	  test/rss/rss-testcase.rb (RSS::TestCase): supported</div><div class='del'>-	  content:encoded with RSS 2.0.</div><div class='del'>-	  Suggested by Sam Lown. Thanks.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 20:47:04 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, test/rss/test_version.rb: 0.2.0 -&gt; 0.2.1.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 21:56:45 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): make NameError to be subclass of</div><div class='del'>-	  StandardError again.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): make SecurityError to be subclass of</div><div class='del'>-	  Exception, since it's too important to be handled implicitly.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 14:51:39 2007 David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-	* enum.c (take_while_i, drop_while_i) add RTEST to handle nil return</div><div class='del'>-</div><div class='del'>-Thu Nov  1 02:12:50 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prereq): update the path of prelude.c.</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): rollback a part of r13675, because it is not</div><div class='del'>-	  documented and causes build error.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 01:52:23 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_drop): fix typo.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 01:51:01 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ruby_current_thread): RUBY_EXTERN'ed for probeprofiler.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 00:46:30 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat, setup.mak: now can recognize OS even if</div><div class='del'>-	  the ``--target'' option of configure is omitted.</div><div class='del'>-</div><div class='del'>-	* win32/README.win32: update the descriptions about compiler.</div><div class='del'>-</div><div class='del'>-Wed Oct 31 03:13:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take_while): separate with-block form.</div><div class='del'>-</div><div class='del'>-	* enum.c (drop_while_i): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_butfirst): abandon butfirst method.  reverted.</div><div class='del'>-</div><div class='del'>-Tue Oct 30 10:03:43 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_butfirst): add a new method to iterates over</div><div class='del'>-	  elements but first n.  RDoc need to be updated.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): remove unnecessary symbol</div><div class='del'>-	  initialization.</div><div class='del'>-</div><div class='del'>-Mon Oct 29 18:42:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (bvar): block-local variable can shadow outer variable.</div><div class='del'>-	  [ruby-core:13036]</div><div class='del'>-</div><div class='del'>-Mon Oct 29 17:58:16 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): performance improvement.  [ruby-dev:31806]</div><div class='del'>-</div><div class='del'>-Mon Oct 29 17:20:13 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_replicate): new function to replicate encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_based_encoding): Encoding#base_encoding returns</div><div class='del'>-	  based encoding of replica.</div><div class='del'>-</div><div class='del'>-Mon Oct 29 17:18:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): ASCII encoding is compatible with</div><div class='del'>-	  ASCII-compatible encoding, even for non-string objects.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 21:50:02 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: :redirect option implemented to disable redirects.</div><div class='del'>-	  (OpenURI::HTTPRedirect): new exception class for redirection.</div><div class='del'>-</div><div class='del'>-Fri Oct 26 17:38:13 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_chr): take an optional encoding parameter.</div><div class='del'>-	  [ruby-core:12816]</div><div class='del'>-</div><div class='del'>-Fri Oct 26 17:14:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): returns 1.0 for 0**0.0.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): returns infinity for 0**-1.  [ruby-dev:32084]</div><div class='del'>-</div><div class='del'>-Fri Oct 26 15:00:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-{case,label}-indent): adjust for</div><div class='del'>-	  labels inside switch block.</div><div class='del'>-</div><div class='del'>-Fri Oct 26 05:48:57 2007  David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-	* array.c: raise IndexError for negative length in rb_ary_fill</div><div class='del'>-</div><div class='del'>-Wed Oct 25 07:12:03 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (Net::Telnet#login): Allowing "passphrase" in</div><div class='del'>-	  addition to "password" for Telnet login prompts. [ruby-Bugs-10746]</div><div class='del'>-</div><div class='del'>-Wed Oct 25 06:34:11 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (Net::Telnet#login): Making the password prompt</div><div class='del'>-	  pattern case insensitive. [ruby-Bugs-10746]</div><div class='del'>-</div><div class='del'>-Fri Oct 26 04:21:36 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (Net::POP3::do_start): type fixed.  a patch from</div><div class='del'>-	  Dan Zwell &lt;dzwell AT zwell.net&gt; in [ruby-core:12941].</div><div class='del'>-</div><div class='del'>-Fri Oct 26 01:48:28 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_assoc): check and convert inner arrays (assocs)</div><div class='del'>-	  using #to_ary.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): check and convert argument hash</div><div class='del'>-	  using #to_hash.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): Hash#[] now takes assocs as source of</div><div class='del'>-	  hash conversion.</div><div class='del'>-</div><div class='del'>-Thu Oct 25 16:46:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): dot at the head of the line denote line</div><div class='del'>-	  continuation from previous one to support fluent interface.</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-calculate-indent): support fluent dot.</div><div class='del'>-</div><div class='del'>-Thu Oct 25 14:19:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_tell, rb_io_seek): check errno too.  [ruby-dev:32093]</div><div class='del'>-</div><div class='del'>-Thu Oct 25 13:59:53 2007 David Flanagan &lt;davidflanagan@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokspace): increment tokidx</div><div class='del'>-	  fixes test failure at [test/ruby/test_stringchar.rb:72]</div><div class='del'>-</div><div class='del'>-Thu Oct 25 09:49:49 2007  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri.rb, lib/uri/ldaps.rb: added LDAPS</div><div class='del'>-	  scheme. [ruby-dev:31896]</div><div class='del'>-</div><div class='del'>-Wed Oct 25 06:23:14 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb (XMLRPC::Convert::dateTime): Fixing a bug that</div><div class='del'>-	  caused time zone conversion to fail for some ISO 8601 date formats.</div><div class='del'>-	  [ruby-Bugs-12677]</div><div class='del'>-</div><div class='del'>-Wed Oct 25 04:59:28 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Explicitly start</div><div class='del'>-	  the HTTP connection to support keepalive requests. [ruby-Bugs-9353]</div><div class='del'>-</div><div class='del'>-Wed Oct 25 04:46:53 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Improving the error</div><div class='del'>-	  message for Content-Type check failures. [ruby-core:12163]</div><div class='del'>-</div><div class='del'>-Wed Oct 25 03:45:08 2007  James Edward Gray II  &lt;jeg2@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/utils.rb (XMLRPC::ParseContentType#parse_content_type):</div><div class='del'>-	  Making Content-Type checks case insensitive. [ruby-Bugs-3367]</div><div class='del'>-</div><div class='del'>-Wed Oct 24 17:09:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokspace): make space in token buffer.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix encoding of single character literal.</div><div class='del'>-</div><div class='del'>-Tue Oct 23 13:44:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args2): nd_head of NODE_BLOCK_PASS should be a list.</div><div class='del'>-	  [ruby-core:12850]</div><div class='del'>-</div><div class='del'>-Tue Oct 23 10:42:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): encoding set by command line option takes</div><div class='del'>-	  priority over the encoding in the source, as the primary encoding.</div><div class='del'>-</div><div class='del'>-Mon Oct 22 19:24:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): allow space after -E (encoding) option.</div><div class='del'>-</div><div class='del'>-Mon Oct 22 11:03:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_check_encoding): returns index now.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): check if two objects have compatible</div><div class='del'>-	  encodings.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_compatible_p): added Encoding.compatible?.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_compatible): prototype.</div><div class='del'>-</div><div class='del'>-Sun Oct 21 18:29:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_default, rb_enc_primary): return pointers to</div><div class='del'>-	  rb_encoding of default and primary respectively.  [ruby-core:12795]</div><div class='del'>-</div><div class='del'>-	* encoding.c (set_primary_encoding): removed primary_encoding setter.</div><div class='del'>-</div><div class='del'>-Sat Oct 20 13:17:01 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_cycle): hide temporary array from ObjectSpace.</div><div class='del'>-	  [ruby-core:12762]</div><div class='del'>-</div><div class='del'>-Sat Oct 20 11:49:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path): returns frozen string.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_chown, rb_file_s_lchown): use uid_t and gid_t.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 20:08:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_id_encoding): returns ID "encoding".</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_encoding): dump encoding name.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_ivar): load encoding.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 16:41:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_regx_options, reg_compile_gen): relaxened encoding</div><div class='del'>-	  matching rule.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): always set encoding of Regexp.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_str): fix encoding for non 7bit-clean</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): use ascii encoding for 'n' option.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 11:09:56 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set primary encoding from the parser</div><div class='del'>-	  always.  [ruby-core:12758]</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): should not discard the parser parameter.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 10:55:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_last): removed unused variables.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 17:08:57 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_find_index): update RDoc.  a patch from David Flanagan</div><div class='del'>-	  &lt;david AT davidflanagan.com&gt; in [ruby-core:12710].</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take, enum_drop): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_cycle): should not cause infinite loop for empty</div><div class='del'>-	  arrays.  [ruby-core:12710]</div><div class='del'>-</div><div class='del'>-	* range.c (Init_Range): typo fixed.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 16:39:34 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb (REXML::SourceFactory::SourceFactory): more</div><div class='del'>-	  duck typed.  better performance on JRuby.</div><div class='del'>-	  http://headius.blogspot.com/2007/10/another-performance-discovery-rexml.html</div><div class='del'>-</div><div class='del'>-Thu Oct 18 09:33:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_first): takes first n element if argument is</div><div class='del'>-	  given.  [ruby-core:12697]</div><div class='del'>-</div><div class='del'>-	* range.c (range_last): returns last n elements if argument is</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subseq, rb_ary_last): export.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 17:39:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): fixed reversed condition.  [ruby-core:12722]</div><div class='del'>-</div><div class='del'>-Wed Oct 17 13:54:28 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): the last check was not complete.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 11:30:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_from_encoding, rb_enc_register): associate index</div><div class='del'>-	  to self.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_capable): Encoding objects are encoding capable.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): check if encoding matching by exact encoding</div><div class='del'>-	  objects.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 06:18:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_alias, rb_enc_find_index): changed</div><div class='del'>-	  enc_table_alias to a name-to-index hash.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): use upper case names for aliases to use as</div><div class='del'>-	  constant names.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): allow symbols.</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): define encoding constants.</div><div class='del'>-</div><div class='del'>-	* st.c (strcasehash): fix wrong code range condition.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 05:07:18 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_primary_encoding): added Encoding.primary_encoding.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_encoding): added.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): added -E and --encoding options.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): set primary encoding from command line</div><div class='del'>-	  option if set, or source encoding.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_from_encoding,</div><div class='del'>-	  rb_get_primary_encoding, rb_set_primary_encoding): prototypes.</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h (rb_parser_encoding): prototype.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 03:37:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_desc): set encoding.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): check encodings.</div><div class='del'>-</div><div class='del'>-	* enc/utf8.c (utf8_code_to_mbclen): 0xfe and 0xff are valid Unicode to</div><div class='del'>-	  be encoded to 2bytes in UTF-8.  [ruby-core:12700]</div><div class='del'>-</div><div class='del'>-Wed Oct 17 02:50:49 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ord): use encoding.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 01:57:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): allow binary encoding option.</div><div class='del'>-	  [ruby-dev:32083]</div><div class='del'>-</div><div class='del'>-Tue Oct 16 19:48:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): check for encoding of original object.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 18:28:51 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c: use enum for constants for gdb if possible.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 18:20:10 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c, debug.c: move debug enum and constants to debug.c.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 18:16:15 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (RUBY_ENCODING_SHIFT): added as enum.</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): show encoding and coderange for strings.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 14:48:38 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_regx_options): check if regexp encoding option</div><div class='del'>-	  matches to current encoding.</div><div class='del'>-</div><div class='del'>-	* re.c (char_to_option, rb_char_to_option_kcode): 'n' is not kcode</div><div class='del'>-	  option now.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_to_s, rb_reg_error_desc): copy encoding rather than</div><div class='del'>-	  append as an option.</div><div class='del'>-</div><div class='del'>-	* re.c (make_regexp, rb_reg_prepare_re): use encoding of Regexp and</div><div class='del'>-	  String instead of kcode.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): set fixed option if none is set.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regcomp): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_equal): check if encodings are equal.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): encoding option is obsolete.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_kcode, rb_get_kcode, rb_set_kcode): removed.</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): removed Regexp#kcode method.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): allow long encoding name.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 14:03:09 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union): encoding of all regexp objects should</div><div class='del'>-	  match.  [ruby-dev:32076]</div><div class='del'>-</div><div class='del'>-Tue Oct 16 13:49:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_to_s): rename function.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 13:25:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4): should copy encoding.  a patch from NARUSE,</div><div class='del'>-	  Yui &lt;naruse AT airemix.com&gt;.  [ruby-dev:32076]</div><div class='del'>-</div><div class='del'>-Tue Oct 16 01:31:23 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): RDoc update.  a patch from David Flanagan</div><div class='del'>-	  &lt;david AT davidflanagan.com&gt; in [ruby-core:12710].</div><div class='del'>-</div><div class='del'>-Tue Oct 16 01:25:40 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): define #to_s to show encoding name</div><div class='del'>-	  in to_s representation as well as #inspect.</div><div class='del'>-</div><div class='del'>-Mon Oct 15 13:24:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): should be number but not rounding factor.</div><div class='del'>-	  [ruby-dev:32060]</div><div class='del'>-</div><div class='del'>-Mon Oct 15 11:45:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes0): refined length check.  [ruby-dev:32059]</div><div class='del'>-</div><div class='del'>-Mon Oct 15 10:24:19 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (pst_to_s): returns a string such as "pid 10220 exit 1"</div><div class='del'>-	  instead of "256".  [ruby-dev:32053]</div><div class='del'>-	  (pst_inspect): change format</div><div class='del'>-	  "#&lt;Process::Status: pid=10220,exited(1)&gt;" to</div><div class='del'>-	  "#&lt;Process::Status: pid 10220 exit 1&gt;".</div><div class='del'>-</div><div class='del'>-Mon Oct 15 09:58:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes0): check if source has enough data.</div><div class='del'>-	  [ruby-dev:32054]</div><div class='del'>-</div><div class='del'>-Mon Oct 15 01:15:09 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_accept_nonblock): make accepted fd</div><div class='del'>-	  nonblocking.  [ruby-talk:274079]</div><div class='del'>-</div><div class='del'>-Sun Oct 14 17:31:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_obj_encoding): rdoc update.  a patch from David</div><div class='del'>-	  Flanagan &lt;david AT davidflanagan.com&gt;.  [ruby-core:12664]</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_dump, enc_load): marshaling feature.  a patch from</div><div class='del'>-	  David Flanagan.  [ruby-core:12665]</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding): undefine allocator of Encoding.</div><div class='del'>-	  [ruby-core:12665], [ruby-core:12666]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_encoding.rb: tests for Encoding from David Flanagan</div><div class='del'>-	  [ruby-core:12665]</div><div class='del'>-</div><div class='del'>-Sun Oct 14 11:09:09 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods#pp_hash): don't sort keys because hash is</div><div class='del'>-	  ordered.</div><div class='del'>-	  (ENV.pretty_print): call pp_hash with sorted hash.</div><div class='del'>-</div><div class='del'>-Sun Oct 14 04:08:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_SYS_LARGEFILE): keep results also in command</div><div class='del'>-	  options, to vail out of mismatch.  [ruby-list:44114]</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb, lib/mkmf.rb (configuration): add DEFS.</div><div class='del'>-</div><div class='del'>-Sun Oct 14 03:55:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: deal with __fastcall name decorations.</div><div class='del'>-	  [ruby-list:44111]</div><div class='del'>-</div><div class='del'>-Sun Oct 14 02:20:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_cEncoding): new Encoding class.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding, rb_to_encoding_index): helper functions.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_obj_encoding): return Encoding object now.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): mark Encoding objects.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): call Init_Encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_force_encoding): accept Encoding object as well as</div><div class='del'>-	  encoding name.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_to_encoding_index, rb_to_encoding):</div><div class='del'>-	  prototypes.</div><div class='del'>-</div><div class='del'>-Sun Oct 14 01:03:30 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_http): fix :ssl_ca_cert option.</div><div class='del'>-</div><div class='del'>-Sat Oct 13 21:23:21 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (foletype_s_ole_classes,</div><div class='del'>-	  foletype_s_typelibs): refactoring.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb: add some test.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): change method name</div><div class='del'>-	  WIN32OLE_TYPELIB.ole_types from WIN32OLE_TYPELIB.ole_classes.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_typelib.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_folderitem2_invokeverb.rb: check create</div><div class='del'>-	  shortcut string more strictly (This test is invoked in Japanese</div><div class='del'>-	  Windows environment).</div><div class='del'>-</div><div class='del'>-Sat Oct 13 09:11:58 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (set_file_encoding): case-insensitive search, a patch from</div><div class='del'>-	  David Flanagan &lt;david AT davidflanagan.com&gt; [ruby-core:12629]</div><div class='del'>-</div><div class='del'>-Sat Oct 13 09:02:16 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc,win}32/mkexports.rb: explicit data.  [ruby-list:44108]</div><div class='del'>-</div><div class='del'>-Sat Oct 13 00:17:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document::write): leaky</div><div class='del'>-	  modification trans -&gt; transitive.  [ruby-dev:32040]</div><div class='del'>-</div><div class='del'>-Sat Oct 13 00:00:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: encoding specifier should work if the line matches</div><div class='del'>-	  /coding[:=] ?/, a la Python PEP-263, so that VIM comments like</div><div class='del'>-	  "# vim: set fileencoding=&lt;encoding name&gt;" should be recognized.</div><div class='del'>-</div><div class='del'>-Fri Oct 12 15:04:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comments): add "encoding" as same as "coding".</div><div class='del'>-</div><div class='del'>-	* parse.y (set_file_encoding): special file encoding handling.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 12 12:44:11 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_combination): fixed memory corruption due to too</div><div class='del'>-	  small memory allocation</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): accessing out of memory bounds.</div><div class='del'>-	  condition fixed.</div><div class='del'>-</div><div class='del'>-Fri Oct 12 11:22:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_values_at): make #select to be alias to #values_at</div><div class='del'>-	  to adapt RDoc description.  [ruby-core:12588]</div><div class='del'>-</div><div class='del'>-Thu Oct 11 21:10:17 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h (NOEX_LOCAL): remove unused local visibility.</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_push): ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_local_methods): method removed.</div><div class='del'>-</div><div class='del'>-Thu Oct 11 14:29:31 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (COMMON_MACROS): workaround for old SDK's bug.</div><div class='del'>-	  [ruby-core:12584]</div><div class='del'>-</div><div class='del'>-Thu Oct 11 06:35:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, */Makefile.sub (VPATH): add enc directory.</div><div class='del'>-</div><div class='del'>-	* common.mk (ENCOBJS): encoding objects.</div><div class='del'>-</div><div class='del'>-	* enc: directory for encodings.</div><div class='del'>-</div><div class='del'>-Thu Oct 11 00:04:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingTypeST): add OnigEncoding</div><div class='del'>-	  parameter to every function members.</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingTypeST): add auxiliary</div><div class='del'>-	  data member to provide user defined data for an encoding.</div><div class='del'>-</div><div class='del'>-Wed Oct 10 23:32:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_quote): no longer takes optional second argument</div><div class='del'>-	  that has never been documented.</div><div class='del'>-</div><div class='del'>-Wed Oct 10 15:39:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): don't alias iso-8859-1 to ascii.</div><div class='del'>-</div><div class='del'>-	* ascii.c (OnigEncodingASCII): change the name US-ASCII to ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-Wed Oct 10 14:31:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_coderange): fixed check for non-ascii.</div><div class='del'>-</div><div class='del'>-Tue Oct  9 21:35:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation, rb_ary_combination): missing type</div><div class='del'>-	  names.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): used buffer should be t1.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): use frozen shared hidden array.</div><div class='del'>-	  [ruby-dev:31985]</div><div class='del'>-</div><div class='del'>-Tue Oct  9 16:58:10 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: remove to_a completely.</div><div class='del'>-</div><div class='del'>-	* array.c (tmpbuf): keep DRY to clear klass of temporary objects.</div><div class='del'>-</div><div class='del'>-Tue Oct  9 16:33:32 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation, rb_ary_combination, rb_ary_product):</div><div class='del'>-	  hide internal buffer objects.  [ruby-dev:31982]</div><div class='del'>-</div><div class='del'>-Tue Oct  9 16:00:32 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_read_escape, parser_tokadd_escape): check code range.</div><div class='del'>-	  [ruby-dev:31980]</div><div class='del'>-</div><div class='del'>-Tue Oct  9 15:40:24 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (STR_NEW3): check for if single byte sequence.</div><div class='del'>-</div><div class='del'>-Mon Oct  8 20:06:29 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb, lib/net/smtp.rb, lib/net/pop.rb: hostname should</div><div class='del'>-	  be verified against server's identity as presented in the server's</div><div class='del'>-	  certificate. [ruby-dev:31960]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/telnets.rb, ext/openssl/lib/net/ftptls.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 22:37:47 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_taxonomy.rb, test/rss/test_parser_1.0.rb,</div><div class='del'>-	  test/rss/test_image.rb, test/rss/rss-testcase.rb: ensured</div><div class='del'>-	  declaring XML namespaces.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 22:00:01 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h: make node flags as VALUE type.</div><div class='del'>-	  enum ruby_node_flags removed.</div><div class='del'>-</div><div class='del'>-	* ruby.c: define RUBY_NODE_* as const for gdb.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 18:57:12 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: enum ruby_value_flags removed.  [ruby-dev:31959]</div><div class='del'>-</div><div class='del'>-	* ruby.c: define RUBY_FL_* as const VALUE for gdb.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 17:50:14 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: remove enable_post_connection_check flag.</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 15:48:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_eq): fix to use rb_str_equal().</div><div class='del'>-</div><div class='del'>-Sat Oct  6 23:14:54 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_to_i): update RDoc since base can be any value</div><div class='del'>-	  between 2 and 36.  [ruby-talk:272879]</div><div class='del'>-</div><div class='del'>-Sat Oct  6 16:24:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_free): check Fiber or Continuation.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: remove a fixed test.</div><div class='del'>-</div><div class='del'>-Sat Oct  6 14:56:02 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_register): returns new index or -1 if failed.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_alias): check if original name is registered.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): register in same order as kcode options in</div><div class='del'>-	  re.c.  added new aliases.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_force_encoding): check if valid encoding name.</div><div class='del'>-</div><div class='del'>-Sat Oct  6 14:32:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_eq): get rid of gcc bug.</div><div class='del'>-</div><div class='del'>-Sat Oct  6 02:34:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: no longer provide DEFAULT_KCODE.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 21:24:59 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union_m): Regexp.union accepts single argument which</div><div class='del'>-	  is an array of patterns.  [ruby-list:44084]</div><div class='del'>-</div><div class='del'>-Fri Oct  5 16:42:27 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_not_match): new method.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 16:15:52 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Turn on --enable-pthread by default for FreeBSD</div><div class='del'>-	  5.2.1-RELEASE and later, and remove pthread support for older</div><div class='del'>-	  versions which has never worked perfectly.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 16:11:50 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): Fix documentation.  Time format changed.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 04:02:39 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (in_addr, in6_addr, addr_mask): Make some minor</div><div class='del'>-	  code optimization.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 03:25:51 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (&lt;=&gt;): Implement IPAddr#&lt;=&gt; and make IPAddr</div><div class='del'>-	  comparable.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (succ): Implement IPAddr#succ.  You can now create</div><div class='del'>-	  a range between two IPAddr's, which (Range) object is</div><div class='del'>-	  enumerable.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (to_range): A new method to create a Range object</div><div class='del'>-	  for the (network) address.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 03:14:45 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (coerce_other): Support type coercion and make &amp;,</div><div class='del'>-	  |, == and include? accept a string or an integer instead of an</div><div class='del'>-	  IPAddr object as the argument.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (initialize): Give better error messages.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: Improve documentation.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 20:45:53 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): win32 has our own WNOHANG definition, so</div><div class='del'>-	  remove unnecessary #ifdef guard.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 20:17:19 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation, rb_ary_product): support non C99</div><div class='del'>-	  compilers.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 17:33:18 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (kcode_setter): Perl-ish global variable `$=' no longer</div><div class='del'>-	  effective.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): remove obsolete variables: $defout, $deferr.</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): remove obsolete const alias: MatchingData.</div><div class='del'>-</div><div class='del'>-	* time.c (Init_Time): remove obsolete Time::times.</div><div class='del'>-</div><div class='del'>-	* re.c (ignorecase_setter): change warning message.</div><div class='del'>-</div><div class='del'>-	* re.c (ignorecase_getter): now gives warning.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp_m): update RDoc document.</div><div class='del'>-</div><div class='del'>-	* re.c (kcode_setter): restore erroneously removed setter.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 16:28:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_obj_encoding): returns encoding of the given object.</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_compile_gen): copy encoding from source string if</div><div class='del'>-	  non-empty.</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): new method Regexp#encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (str_encoding): moved to encoding.c</div><div class='del'>-</div><div class='del'>-Thu Oct  4 15:49:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): remove C99 dependency.</div><div class='del'>-	  [ruby-dev:31934]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct  3 23:37:17 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c, bin/ri, bin/irb: fixed typos in doc and comments.</div><div class='del'>-	  a patch from Eugene Ossintsev  &lt;eugoss AT gmail.com&gt;.</div><div class='del'>-	  [ruby-core:12375]</div><div class='del'>-</div><div class='del'>-Wed Oct  3 17:56:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: enable specify label to executable.</div><div class='del'>-	  (-e "ruby1::/path/to/ruby1; ruby2::/path/to/ruby2; ...")</div><div class='del'>-</div><div class='del'>-Wed Oct  3 16:58:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_str_new, parser_yylex, rb_intern3): set code-range</div><div class='del'>-	  bits.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string): check code-range.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_parse_string, parser_here_document): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_encode): check if valid encoding.</div><div class='del'>-</div><div class='del'>-Wed Oct  3 15:43:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_set): check whether class variable is</div><div class='del'>-	  defined in superclasses.  root classes have higher priority.</div><div class='del'>-	  removes lower class variable entry from IV_TBL (if it's defined</div><div class='del'>-	  in classes, not modules).</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_get): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct  3 10:06:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_process_options): push frame with program name.</div><div class='del'>-	  [ruby-core:12351]</div><div class='del'>-</div><div class='del'>-Tue Oct  2 20:16:55 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): refactoring. remove unused code.</div><div class='del'>-</div><div class='del'>-Tue Oct  2 12:30:40 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): generalized product, now takes</div><div class='del'>-	  arbitrary number of arrays.  a patch from David Flanagan</div><div class='del'>-	  &lt;david AT davidflanagan.com&gt;.  [ruby-core:12346]</div><div class='del'>-</div><div class='del'>-Tue Oct  2 08:25:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): implementation contributed from</div><div class='del'>-	  David Flanagan.  [ruby-core:12344]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_combination): RDoc update to clarify.  a patch</div><div class='del'>-	  from David Flanagan.  [ruby-core:12344]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): small dirty hack by Matz to avoid</div><div class='del'>-	  arrays on stack.</div><div class='del'>-</div><div class='del'>-Tue Oct  2 07:01:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_dup): proc-&gt;block.proc should be self.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test_method.rb:</div><div class='del'>-	  move a fixed test.</div><div class='del'>-</div><div class='del'>-Mon Oct  1 16:17:44 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: use assert_normal_exit to test</div><div class='del'>-	  [ruby-dev:31818].</div><div class='del'>-</div><div class='del'>-Mon Oct  1 15:57:49 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): skip ICLASS.</div><div class='del'>-</div><div class='del'>-Mon Oct  1 15:29:35 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_normal_exit): use `` instead of</div><div class='del'>-	  system.</div><div class='del'>-</div><div class='del'>-Mon Oct  1 15:17:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): T_VALUES is less than T_BLOCK.  [ruby-dev:31911]</div><div class='del'>-</div><div class='del'>-Mon Oct  1 10:58:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): use require method instead of calling</div><div class='del'>-	  rb_require directly.  [ruby-dev:31322]</div><div class='del'>-</div><div class='del'>-Mon Oct  1 10:52:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options), ruby.c (proc_options, process_options): not</div><div class='del'>-	  call exit(2) directly.  [ruby-dev:31912]</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run_node): deal with direct exit code.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 17:12:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_append): always set encoding, and coderange</div><div class='del'>-	  cache bits.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_CODERANGE_SET): fixed a bug not to</div><div class='del'>-	  set cache bits.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 11:52:11 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (pretty): don't show beginning empty line.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 11:32:34 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: use #ifdef for test LONG_LONG_VALUE.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 04:30:55 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: use SIZEOF_LONG instead of SIZEOF_ULONG which is not</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 04:03:43 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): test DEFAULT_KCODE in C code because</div><div class='del'>-	  KCODE_EUC, etc. are enum.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 00:55:40 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (obj_ivar_each): get rid of warning.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 17:45:22 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* main.c (main): use platform-independent per-process initialization.</div><div class='del'>-	  [ruby-dev:31900]</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_sysinit): new function for per-process initialization.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_GLOBAL_SETUP): toplevel setup declaration.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/mkexports.rb: alias NtInitialize</div><div class='del'>-	  ruby_sysinit.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit): renamed from NtInitialize.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 17:31:04 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_combination): new method to give all combination</div><div class='del'>-	  of elements from an array.  [ruby-list:42671]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): a new method to get all combinations</div><div class='del'>-	  of elements from two arrays.  can be extended to combinations of</div><div class='del'>-	  n-arrays, e.g. a.product(b,c,d).  anyone volunteer?</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): empty function body to calculate</div><div class='del'>-	  permutations of array elements.  need volunteer.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 17:14:44 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_leave): move proc invocation from r_entry() to</div><div class='del'>-	  avoid potential crash.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 12:28:08 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_normal_exit): new method.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add test for Marshal.load.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 10:12:20 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_set): fix class instance variable.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_real): cl argument may be 0.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 09:12:02 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_real): use BUILTIN_TYPE instead of TYPE.</div><div class='del'>-	  access flags directly instead of FL_TEST.</div><div class='del'>-	  they are enough because cl argument is a class.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 08:57:15 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (strcasecmp): needed for type_strcasehash.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 06:47:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (struct cmdline_options): static variables packed.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 05:29:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fdopen): create IO object from fd.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): use encoding of the source as default.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options, load_file): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 04:27:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_alias): allow encodings multiple aliases.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_find_index): search the encoding which has the</div><div class='del'>-	  given name and return its index if found, or -1.</div><div class='del'>-</div><div class='del'>-	* st.c (type_strcasehash): case-insensitive string hash type.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_force_encoding): force encoding of self.  this name</div><div class='del'>-	  comes from [ruby-dev:31894] by Martin Duerst.  [ruby-dev:31744]</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_find_index, rb_enc_associate_index):</div><div class='del'>-	  prototyped.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_isctype): direct interface to ctype.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (st_init_strcasetable): prototyped.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 03:53:26 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: Thread local storage should be fiber local.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, test/ruby/test_fiber.rb:</div><div class='del'>-	  move a fixed test.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 23:15:31 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_method): allow send! to call protected</div><div class='del'>-	  methods as well.  [ruby-core:12280]</div><div class='del'>-</div><div class='del'>-Fri Sep 28 22:33:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_fasta.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_k_nucleotide.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_reverse_complement.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/make_fasta_output.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/prepare_so_k_nucleotide.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/prepare_so_reverse_complement.rb: added.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 19:14:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix notations.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_loop_whileloop.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_loop_whileloop2.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_uri.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_ivar_set.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_binary_trees.rb: added from Computer Language</div><div class='del'>-	  Benchmarks Game (http://shootout.alioth.debian.org/).</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_fannkuch.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_mandelbrot.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_meteor_contest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_nbody.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_nsieve.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_nsieve_bits.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_partial_sums.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_pidigits.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_spectralnorm.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 16:22:52 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): fix typo: bufferd -&gt; buffered.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 15:47:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix to output benchmark results</div><div class='del'>-	  to file "bmlog-#{Time.now.strftime('%Y%m%d-%H%M%S')}.#{$$}".</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_file_create.rb: remove useless codes.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_eval.rb: added.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 15:05:24 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: export rb_ivar_foreach.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: modify struct RObject and RClass for optimizing</div><div class='del'>-	  T_OBJECT space.  [ruby-dev:31853]</div><div class='del'>-	  (ROBJECT_LEN, ROBJECT_PTR)</div><div class='del'>-	  (RCLASS_IV_TBL, RCLASS_M_TBL, RCLASS_SUPER, RCLASS_IV_INDEX_TBL)</div><div class='del'>-	  (RMODULE_IV_TBL, RMODULE_M_TBL, RMODULE_SUPER): abstract accessor</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-	* variable.c: support the modified RObject and RClass.</div><div class='del'>-</div><div class='del'>-	* object.c: ditto.</div><div class='del'>-</div><div class='del'>-	* class.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_method.ci: use the abstract accessor.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* error.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 13:20:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast, rb_io_getline_1): set encoding to the</div><div class='del'>-	  result string, as well as getc.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 12:51:42 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_erb.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_file_(create|read|write).rb: added.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 12:49:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix file selection algorithm.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 02:05:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable): need not to check asciicompat here.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_coderange): tuned a bit; no broken check.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check): new encoding comparison criteria.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 17:36:28 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/REAMDE.win32: follow recent changes.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 16:01:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix to output some helpful messages.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 15:44:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: added.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix to use above driver.</div><div class='del'>-</div><div class='del'>-	* benchmark/prepare_so_count_words.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_count_words.rb: fix benchmark process.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 15:42:34 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiber/fiber.c: modify prototype declaration.</div><div class='del'>-	  [ruby-core:12247]</div><div class='del'>-</div><div class='del'>-Thu Sep 27 09:42:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (strings, xstring, regexp, dsym): empty strings have</div><div class='del'>-	  US-ASCII encoding.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 07:39:13 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_finish): new method.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add test for [ruby-dev:31866] using</div><div class='del'>-	  assert_finish.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 04:46:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): deal with ASCII compatible</div><div class='del'>-	  flags.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check): allow ASCII compatible strings.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern_str): use ASCII encoding for ASCII string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_coderange): check for code-range.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify): clear code-range flags.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash, rb_str_eql): ASCII compatible strings are</div><div class='del'>-	  comparable.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: added code-range flags.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 04:40:47 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_mark_set): new function to mark keys.</div><div class='del'>-</div><div class='del'>-	* marshal.c (struct dump_arg, struct load_arg): added wrappers to mark</div><div class='del'>-	  data and compat_tbl entries.  [ruby-dev:31870]</div><div class='del'>-</div><div class='del'>-Thu Sep 27 03:17:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): no needs to poll.  [ruby-dev:31871]</div><div class='del'>-</div><div class='del'>-Wed Sep 26 20:11:46 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: remove a fixed test.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 20:00:12 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: move fixed tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 19:36:26 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): fix to check stack overflow.</div><div class='del'>-	  [ruby-dev:31850]</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm.h: move CHECK_STACK_OVERFLOW() macro.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 19:27:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_throw): fix to move increment point.</div><div class='del'>-	  [ruby-dev:31840]</div><div class='del'>-</div><div class='del'>-Wed Sep 26 19:23:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: Fiber as SemiCoroutine on default. [ruby-core:12146]</div><div class='del'>-</div><div class='del'>-	* ext/fiber/fiber.c: enable Fiber#transfer.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 18:38:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check): check for ASCII-compatibilities.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string, parser_parse_string,</div><div class='del'>-	  parser_here_document, parser_yylex): set encoding to US-ASCII.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname_p): check if valid with encoding.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): let symbols have encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash): add encoding index.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_comparable, rb_str_equal, rb_str_eql): check if</div><div class='del'>-	  compatible encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (sym_inspect): made encoding aware.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_eq): compare with encoding.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_asciicompat): check if ASCII</div><div class='del'>-	  compatible.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_get_index): added prototype.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_comparable, rb_str_equal): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 15:01:16 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (rb_get_alloc_func): cast to suppress a warning.</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (remove_method): local variable to be initialized.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 08:36:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ext/extinit.o): use $(OUTFLAG) as well as other</div><div class='del'>-	  objects.  [ruby-Bugs-14228]</div><div class='del'>-</div><div class='del'>-Wed Sep 26 05:12:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yyerror): limit error message length.</div><div class='del'>-	  [ruby-dev:31848]</div><div class='del'>-</div><div class='del'>-Tue Sep 25 15:11:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_ungetc): reallocate internal buffer if pushing data</div><div class='del'>-	  excess capacity.  [ruby-dev:31650]</div><div class='del'>-</div><div class='del'>-Tue Sep 25 13:43:03 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (remove_method): should not remove undef place</div><div class='del'>-	  holder.  [ruby-dev:31816], [ruby-dev:31817]</div><div class='del'>-</div><div class='del'>-Tue Sep 25 09:51:31 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): source file information may be NULL.</div><div class='del'>-	  [ruby-dev:31849]</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_finalize_0): clear trace_func before finalization.</div><div class='del'>-</div><div class='del'>-Mon Sep 24 22:36:13 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_equal): should handle recursive array.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_equal): should handle recursive hash.</div><div class='del'>-</div><div class='del'>-Mon Sep 24 22:14:13 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb (WeakRef): remove debug print.  [ruby-dev:31799]</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_i): avoid too frequent hash conflict where key and</div><div class='del'>-	  value are same.  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:31802]</div><div class='del'>-</div><div class='del'>-Mon Sep 24 17:56:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_initialize, strscan_getch): use the</div><div class='del'>-	  encoding of the target string instead of setting to StringScanner</div><div class='del'>-	  instance.  [ruby-dev:31831]</div><div class='del'>-</div><div class='del'>-Mon Sep 24 16:52:11 2007  Urabe Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: fix typo.</div><div class='del'>-</div><div class='del'>-Mon Sep 24 06:49:15 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: an SSL verification (the server hostname should</div><div class='del'>-	  be matched with its certificate's commonName) is added.</div><div class='del'>-	  this verification can be skipped by</div><div class='del'>-	  "Net::HTTP#enable_post_connection_check=(false)".</div><div class='del'>-	  suggested by Chris Clark &lt;cclark at isecpartners.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/open-uri.rb: use Net::HTTP#enable_post_connection_check to</div><div class='del'>-	  perform SSL post connection check.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.c</div><div class='del'>-	  (OpenSSL::SSL::SSLSocket#post_connection_check): refine error message.</div><div class='del'>-</div><div class='del'>-Sun Sep 23 09:05:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (os_obj_of, os_each_obj): hide objects to be finalized.</div><div class='del'>-	  [ruby-dev:31810]</div><div class='del'>-</div><div class='del'>-Sun Sep 23 08:58:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (rb_attr): should not use alloca for unknown size</div><div class='del'>-	  input.  [ruby-dev:31818]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern_str): prevent str from optimization.</div><div class='del'>-</div><div class='del'>-Sun Sep 23 06:16:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (remove_method): check for undefined method.</div><div class='del'>-	  [ruby-dev:31816]</div><div class='del'>-</div><div class='del'>-Sun Sep 23 05:42:35 2007  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (Options::check_diagram): dot -V output</div><div class='del'>-	  changed. [ ruby-Bugs-11978 ], Thanks Florian Frank.</div><div class='del'>-</div><div class='del'>-Sat Sep 22 06:02:11 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::List::summarize): use each_line if</div><div class='del'>-	  defined rather than each.  [ruby-Patches-14096]</div><div class='del'>-</div><div class='del'>-Sat Sep 22 05:19:49 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_init): separate from strio_initialize</div><div class='del'>-	  to share with strio_reopen properly.  [ruby-Bugs-13919]</div><div class='del'>-</div><div class='del'>-Fri Sep 21 14:51:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_rest): copy just used part.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark u1 and u2 of NODE_ARGSCAT.</div><div class='del'>-</div><div class='del'>-	* gc.c (os_obj_of): hide T_VALUES too.  [ruby-dev:31804]</div><div class='del'>-</div><div class='del'>-	* gc.c (run_final): freeze temporary argument array.</div><div class='del'>-</div><div class='del'>-Fri Sep 21 04:58:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-label-indent): fix for function top</div><div class='del'>-	  level labels.</div><div class='del'>-</div><div class='del'>-Fri Sep 21 02:11:22 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_m): evaluate a block if match.  it would make</div><div class='del'>-	  condition statement much shorter, if no else clause is needed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match_m): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 21 02:02:34 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_equal): should call rb_eql when argument eql is set.</div><div class='del'>-</div><div class='del'>-Thu Sep 20 17:28:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (popen_exec), process.c (rb_spawn): stop other threads before</div><div class='del'>-	  exec.  [ruby-core:08262]</div><div class='del'>-</div><div class='del'>-Tue Sep 18 22:08:42 2007  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: fix a coerce bug of Vector. [ruby-core: 12190]</div><div class='del'>-</div><div class='del'>-Mon Sep 17 21:06:03 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTP::GenericRequest#initialize): check path is</div><div class='del'>-	  not nil. [ruby-dev:31149]</div><div class='del'>-</div><div class='del'>-Mon Sep 17 21:00:51 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): rename event: arglist_* -&gt; args_*.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): rename event: restparam -&gt; rest_param.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): rename event: constpath_* -&gt; const_path_*.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): rename event: topconst_* -&gt; top_const_*.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): rename event: iter_block -&gt; method_add_block.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): support block local parameter declaration.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper): introduce new macro params_new.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: should not dispose event</div><div class='del'>-	  arguments whose name ends with "_new" but arity != 0.</div><div class='del'>-</div><div class='del'>-Sat Sep 15 23:36:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): common members in the parser and</div><div class='del'>-	  ripper must be placed at each same location.</div><div class='del'>-</div><div class='del'>-Sat Sep 15 18:25:15 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): fixed too much rstrip. [ruby-dev:31786]</div><div class='del'>-</div><div class='del'>-Sat Sep 15 17:32:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_initialize): set default encoding.  [ruby-dev:31787]</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): make new parse instance after processing shebang</div><div class='del'>-	  line options.</div><div class='del'>-</div><div class='del'>-Sat Sep 15 17:04:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index, rb_enc_get_index): check if</div><div class='del'>-	  object is encoding capable.  [ruby-dev:31780]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpat_set): check for if the argument is a String.</div><div class='del'>-</div><div class='del'>-Sat Sep 15 13:31:21 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss.rb, lib/rss/, test/rss/:</div><div class='del'>-	  - 0.1.9 -&gt; 0.2.0.</div><div class='del'>-	  - supported Slash module.</div><div class='del'>-</div><div class='del'>-Fri Sep 14 22:20:01 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fev_unadvise): no needs to reset</div><div class='del'>-	  event handlers.</div><div class='del'>-</div><div class='del'>-Fri Sep 14 17:28:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: tests which cause SEGV should not be</div><div class='del'>-	  added.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: add above test to known bug.</div><div class='del'>-</div><div class='del'>-Fri Sep 14 16:24:04 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_expandarray): assignment should be placed</div><div class='del'>-	  after creating new array.</div><div class='del'>-</div><div class='del'>-Fri Sep 14 16:17:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: add a stress test (-s).</div><div class='del'>-</div><div class='del'>-Fri Sep 14 16:14:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h, eval_intern.h: move some macros to eval_intern.h.</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_f_throw): fix to use NEW_THROW_OBJECT().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_loop): remove additional macro.</div><div class='del'>-</div><div class='del'>-Fri Sep 14 16:12:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_expandarray): should be volatile value for GC.</div><div class='del'>-</div><div class='del'>-Thu Sep 13 15:42:03 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): inline cache entries are overwritten</div><div class='del'>-	  in iseq_build_body().</div><div class='del'>-</div><div class='del'>-Thu Sep 13 14:00:15 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (brace_block): should use compstmt.  patch submitted by</div><div class='del'>-	  Kirill A. Shutemov &lt;k.shutemov AT gmail.com&gt;  [ruby-core:12154].</div><div class='del'>-</div><div class='del'>-Thu Sep 13 13:47:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id2str): fixed typo.</div><div class='del'>-</div><div class='del'>-Wed Sep 12 23:12:22 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -W should be allowed in RUBYOPT</div><div class='del'>-	  environment variable.  [ruby-core:12118]</div><div class='del'>-</div><div class='del'>-Wed Sep 12 15:19:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_sysopen): should not use alloca for unknown size</div><div class='del'>-	  input.  [ruby-dev:31775]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id2str): ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_float): use snprintf instead of sprintf.</div><div class='del'>-</div><div class='del'>-Tue Sep 11 17:28:00 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::make_tmpname): Allow to specify a</div><div class='del'>-	  suffix for a temporary file name.</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::make_tmpname): Make temporary file</div><div class='del'>-	  names less predictable by including a random string.</div><div class='del'>-	  [inspired by: akr]</div><div class='del'>-</div><div class='del'>-Tue Sep 11 17:25:59 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Add shellescape() and shelljoin().</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Rename shellwords() to shellsplit() and make</div><div class='del'>-	  the former an alias to the latter.</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Add escape(), split(), join() as class</div><div class='del'>-	  methods, which are aliases to their respective long names</div><div class='del'>-	  prefixed with `shell'.</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Add String#shellescape(), String#shellsplit()</div><div class='del'>-	  and Array#shelljoin() for convenience.</div><div class='del'>-</div><div class='del'>-Mon Sep 10 15:48:31 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c: represent initialized state using EXCL instead of FL_USER3.</div><div class='del'>-</div><div class='del'>-	* range.c (range_dumper): make uninitialized range dumpable.</div><div class='del'>-	  (range_loader): make uninitialized range loadable.</div><div class='del'>-</div><div class='del'>-Mon Sep 10 13:44:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_cycle): avoid infinite loop for empty array.</div><div class='del'>-	  based on a patch from David Flanagan.  [ruby-core:12085]</div><div class='del'>-</div><div class='del'>-Mon Sep 10 01:21:23 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): struct allocation first to check if a</div><div class='del'>-	  class is a struct.  compatibility check should come next.</div><div class='del'>-</div><div class='del'>-Mon Sep 10 01:05:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): fixed integer overflow.  [ruby-dev:31763]</div><div class='del'>-</div><div class='del'>-Sun Sep  9 08:57:27 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_strptime): now also attaches an element</div><div class='del'>-	  which denotes leftover substring if exists.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 01:59:08 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): check T_STRUCT type for structs.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 01:17:05 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): don't call user-defined initialize for</div><div class='del'>-	  T_STRUCT objects.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_struct_initialize): declared.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_initialize): export.</div><div class='del'>-</div><div class='del'>-Sat Sep  8 23:55:56 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.ci (rb_get_alloc_func): new function to get allocation</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_alloc_func_t): declared.</div><div class='del'>-	  (rb_define_alloc_func): declared.</div><div class='del'>-	  (rb_marshal_define_compat): declared.</div><div class='del'>-</div><div class='del'>-	* range.c: use T_STRUCT for Range.</div><div class='del'>-</div><div class='del'>-	* inits.c: move Init_marshal() prior to Init_Range() because</div><div class='del'>-	  Init_Range calls rb_marshal_define_compat which needs</div><div class='del'>-	  marshal's compat_allocator_tbl initialized.</div><div class='del'>-</div><div class='del'>-	* marshal.c: support marshal format compatibility layer designed for</div><div class='del'>-	  marshaling T_STRUCT Range using T_OBJECT format.</div><div class='del'>-	  (rb_marshal_define_compat): defined.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:31710]</div><div class='del'>-</div><div class='del'>-Sat Sep  8 10:05:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_members): check if __members__ is an</div><div class='del'>-	  array to prevent segmentation fault.  [ruby-dev:31759]</div><div class='del'>-</div><div class='del'>-Sat Sep  8 09:33:09 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (str[fp]time): now check specifications more</div><div class='del'>-	  strictly.</div><div class='del'>-</div><div class='del'>-Sat Sep  8 02:56:31 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb (TestFiber::test_throw): uncaught throw</div><div class='del'>-	  now raise ArgumentError exception.</div><div class='del'>-</div><div class='del'>-Sat Sep  8 02:45:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_members): should raise TypeError instead</div><div class='del'>-	  of call rb_bug().  [ruby-dev:31709]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): no nil check require any more.</div><div class='del'>-</div><div class='del'>-Sat Sep  8 01:46:36 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c, regenc.h (onigenc_single_byte_mbc_enc_len): should take</div><div class='del'>-	  two arguments. [ruby-dev:31754]</div><div class='del'>-</div><div class='del'>-Fri Sep  7 00:58:16 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix typo.</div><div class='del'>-</div><div class='del'>-Fri Sep  7 00:28:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): forgot to commit rb_enc_mbclen() fix.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getc): rb_enc_mbclen() fix.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  6 22:57:01 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_::copy): prevent self copy of</div><div class='del'>-	  directories.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::fu_each_src_dest0): use try_convert.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::fu_update_option): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  6 21:36:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (OnigEncodingTypeST): add end parameter</div><div class='del'>-	  to mbc_enc_len.</div><div class='del'>-</div><div class='del'>-	* euc_jp.c (mbc_enc_len), sjis.c (mbc_enc_len),</div><div class='del'>-	  utf8.c (utf8_mbc_enc_len): ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_mbclen): add end parameter.</div><div class='del'>-</div><div class='del'>-Thu Sep  6 21:31:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_cycle): typo in rdoc.  a patch from Yugui</div><div class='del'>-	  &lt;yugui@yugui.sakura.ne.jp&gt;.  [ruby-dev:31748]</div><div class='del'>-</div><div class='del'>-Thu Sep  6 12:42:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ, rb_str_chop_bang, rb_str_chop): m17n support.</div><div class='del'>-	  [ruby-dev:31734]</div><div class='del'>-</div><div class='del'>-Wed Sep  5 22:02:27 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subseq): need integer overflow check.</div><div class='del'>-	  [ruby-dev:31736]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_splice): ditto.  [ruby-dev:31737]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): ditto.  [ruby-dev:31738]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice): integer overflow for length.</div><div class='del'>-	  [ruby-dev:31739]</div><div class='del'>-</div><div class='del'>-Tue Sep  4 20:43:44 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_EVENT#unadvise.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  3 15:37:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (vm.o): depends on st.h too.</div><div class='del'>-</div><div class='del'>-Sun Sep  2 23:38:29 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (struct st_table): make num_entries bitfield</div><div class='del'>-	  instead of num_bins for speed.  num_entries has less access.</div><div class='del'>-</div><div class='del'>-Sun Sep  2 00:37:57 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_parse): improved parsing of ordinal dates.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_parse): use named character classes in some</div><div class='del'>-	  regular expressions.</div><div class='del'>-</div><div class='del'>-Sat Sep  1 23:44:26 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_f_throw): wrap tag and TAG_THROW in a NODE_MEMO</div><div class='del'>-	  node to make throw instruction to work well.</div><div class='del'>-</div><div class='del'>-Sat Sep  1 20:56:07 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RBignum): embed digits in RBignum for</div><div class='del'>-	  small bignums.</div><div class='del'>-</div><div class='del'>-	* bignum.c: RBignum embedded digits implemented.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: declare rb_big_resize.</div><div class='del'>-</div><div class='del'>-	* gc.c: don't free embedded digits.</div><div class='del'>-</div><div class='del'>-	* numeric.c: replace direct bignum field accessor by abstract field</div><div class='del'>-	  accessor such as RBIGNUM(val)-&gt;sign to RBIGNUM_SIGN(val).</div><div class='del'>-</div><div class='del'>-	* sprintf.c: ditto.</div><div class='del'>-</div><div class='del'>-	* compar.c: ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* random.c: ditto.</div><div class='del'>-</div><div class='del'>-	* .gdbinit: support embedded small bignums.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:31689]</div><div class='del'>-</div><div class='del'>-Sat Sep  1 19:59:43 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_event_free): IConnectionPoint should be</div><div class='del'>-	  released.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (EVENTSINK_Destructor): ITypeInfo should be</div><div class='del'>-	  released.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fev_initialize): refactoring.</div><div class='del'>-</div><div class='del'>-Sat Sep  1 16:26:09 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb (test_recvfrom): same as mswin32 on mswin64.</div><div class='del'>-</div><div class='del'>-Sat Sep  1 14:24:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_numcmp, st_numhash): use st_data_t instead of long, because</div><div class='del'>-	  the former may be larger than the latter.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (CHAR_BIT): get rid of magic number.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (rb_index_t): use st_data_t for the platforms it</div><div class='del'>-	  is larger than int.</div><div class='del'>-</div><div class='del'>-Sat Sep  1 10:43:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_f_catch): generate new tag object if no argument is</div><div class='del'>-	  given.  backported from MatzRuby.  [ruby-dev:31609]</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_catch): call #catch without arguments if tag</div><div class='del'>-	  string is NULL.</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_f_throw): allow throwing non-symbol object.</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_catch_obj): new function to wait throw with arbitrary</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci (rb_throw_obj): new function to throw arbitrary object.</div><div class='del'>-</div><div class='del'>-	* variable.c (check_autoload_table): prevent multiple calls from</div><div class='del'>-	  RSTRING_PTR().</div><div class='del'>-</div><div class='del'>-Fri Aug 31 07:12:24 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (SQRT_LONG_MAX): use SIZEOF_LONG instead of SIZEOF_VALUE</div><div class='del'>-	  because SIZEOF_VALUE &gt; SIZEOF_LONG on some platforms.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 04:18:03 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_norm_arg, f_arg_item): not croak already erred names.</div><div class='del'>-	  [ruby-dev:31687]</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen): ignore already erred names.</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen): always make new block local variable</div><div class='del'>-	  when shadowing outer local variable.  [ruby-dev:31507]</div><div class='del'>-</div><div class='del'>-Thu Aug 30 19:40:33 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.h: check RUBY_EXTERN before including config.h and defines.h</div><div class='del'>-</div><div class='del'>-	* common.mk: update header dependency.</div><div class='del'>-</div><div class='del'>-Thu Aug 30 14:06:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_obj_define_method): reverted.  [ruby-talk:266637]</div><div class='del'>-</div><div class='del'>-Thu Aug 30 13:49:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: initialize $top_srcdir always.  [ruby-dev:31682]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_const, have_const): check for a const is defined.</div><div class='del'>-	  [ruby-core:04422]</div><div class='del'>-</div><div class='del'>-Thu Aug 30 08:00:12 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: declare rb_hash_tbl.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RHash): delay st_table allocation.</div><div class='del'>-	  rename tbl field to ntbl to detect direct reference to the st_table</div><div class='del'>-	  as a compile error.</div><div class='del'>-	  (RHASH_TBL): abstract accessor defined.</div><div class='del'>-	  (RHASH_ITER_LEV): ditto.</div><div class='del'>-	  (RHASH_IFNONE): ditto.</div><div class='del'>-	  (RHASH_SIZE): ditto.</div><div class='del'>-	  (RHASH_EMPTY_P): ditto.</div><div class='del'>-	  (hash_alloc0, hash_alloc): unified because hash_alloc doesn't</div><div class='del'>-	  allocate st_table now.</div><div class='del'>-</div><div class='del'>-	* hash.c: delay st_table allocation.</div><div class='del'>-</div><div class='del'>-	* gc.c: replace tbl by ntbl.</div><div class='del'>-</div><div class='del'>-	* array.c: replace direct field accessor by abstract field accessor</div><div class='del'>-	  such as RHASH(hash)-&gt;tbl to RHASH_TBL(hash).</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/generator/generator.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/parser.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/parser/parser.rl: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:31678]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 18:36:06 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: add :ftp_active_mode option.  [ruby-dev:31677]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 14:55:28 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): should not use mbclen2() which has broken API.</div><div class='del'>-</div><div class='del'>-	* re.c: remove rb_reg_mbclen2().</div><div class='del'>-</div><div class='del'>-Wed Aug 29 12:48:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (aref_args): args may not be a list.  [ruby-dev:31592]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 11:30:10 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (struct st_table): add entries_packed 1-bit</div><div class='del'>-	  bitfield.  decrease num_bins 1-bit.</div><div class='del'>-</div><div class='del'>-	* st.c: pack numhash which have 5 or less entries in bins.</div><div class='del'>-	  (st_init_table_with_size): setup entries_packed flag.</div><div class='del'>-	  (st_clear): support packed mode.</div><div class='del'>-	  (st_lookup): ditto.</div><div class='del'>-	  (st_insert): ditto.</div><div class='del'>-	  (st_add_direct): ditto.</div><div class='del'>-	  (st_copy): ditto.</div><div class='del'>-	  (st_delete): ditto.</div><div class='del'>-	  (st_foreach): ditto.</div><div class='del'>-	  (st_reverse_foreach): ditto.</div><div class='del'>-	  (unpack_entries): new function for converting to unpacked mode.</div><div class='del'>-</div><div class='del'>-	[ruby-list:43954]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 10:46:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (flush_register_windows): call "ta 0x03"</div><div class='del'>-	  even on Linux/Sparc.  [ruby-dev:31674]</div><div class='del'>-</div><div class='del'>-Tue Aug 28 19:16:00 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_type_progid): progid getted by</div><div class='del'>-	  ProgIDFromCLSID should be freed by CoTaskMemFree. Thanks, arton.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_raise_message): set negative</div><div class='del'>-	  compareMode value to raise WIN32OLERuntimeError.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb (test_implemented_ole_types):</div><div class='del'>-	  support some environment which returns IShellDispatch5 instead</div><div class='del'>-	  of IShellDispatch.</div><div class='del'>-</div><div class='del'>-Tue Aug 28 15:42:09 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq): retrieve substring based on byte offset.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex_m): was confusing character offset and</div><div class='del'>-	  byte offset.</div><div class='del'>-</div><div class='del'>-Tue Aug 28 14:23:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice_0): should check to modify.  [ruby-dev:31665]</div><div class='del'>-</div><div class='del'>-Tue Aug 28 14:21:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): set parser encode too when BOM exists.</div><div class='del'>-</div><div class='del'>-Tue Aug 28 00:51:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: fix Mutex to be interruptable lock.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h:</div><div class='del'>-	  prepare native_cond_*() which are based on pthread_cond_*() spec.</div><div class='del'>-</div><div class='del'>-	* prelude.rb: fix Mutex#synchronize method.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, include/ruby/intern.h: change unblock function interface</div><div class='del'>-	  (to pass some user data).</div><div class='del'>-</div><div class='del'>-	* file.c, process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_mutex.rb: add a benchmark for mutex.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex</div><div class='del'>-	  with contention.</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix benchmark options.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 23:14:02 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rstrip_bang): wrong strip point.  [ruby-dev:31652]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): should swallow sequence of newlines</div><div class='del'>-	  if rs (optional argument) is an empty string.  [ruby-dev:31652]</div><div class='del'>-</div><div class='del'>-Mon Aug 27 22:39:08 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codelen): raises invalid sequence exception</div><div class='del'>-	  if ONIGENC_CODE_TO_MBCLEN() returns zero.  [ruby-dev:31661]</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_mbclen): check invalid sequence.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 20:27:59 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_type_progid): fix the bug.</div><div class='del'>-	  [ruby-dev:31576]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb (test_initialize):</div><div class='del'>-	  remove duplicate assertions.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 19:10:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getlogin): update documentation to note</div><div class='del'>-	  security issue.  [ruby-Bugs-11821]</div><div class='del'>-</div><div class='del'>-Mon Aug 27 15:56:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_encoding): return the encoding of a Symbol.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 15:33:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (IEEE_BIG_ENDIAN): use configured value.  [ruby-dev:31623]</div><div class='del'>-</div><div class='del'>-	* util.c (Llong): set to LONG_LONG if available.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 13:11:56 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): wrong condition for mbmaxlen==1 strings.</div><div class='del'>-	  [ruby-dev:31652]</div><div class='del'>-</div><div class='del'>-Mon Aug 27 00:41:13 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_byte): caused infinite loop.  [ruby-dev:31652]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): should return nil at EOF, not EOFError.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (SimpleDelegator::__setobj__): use raise</div><div class='del'>-	  argument to specify backtrace.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fnmatch.rb (TestFnmatch::bracket_test):</div><div class='del'>-	  String#include? no longer works for Fixnum.  use #chr.</div><div class='del'>-	  [ruby-dev:31652]</div><div class='del'>-</div><div class='del'>-Sun Aug 26 12:27:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: fix to remove Fiber.new until fiber.so is not loaded.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb: fix to use resume.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 06:51:46 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_wc2mb, reg_enum_key): allocate</div><div class='del'>-	  buffer should be NULL terminated.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 06:04:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_setup_method): reorder code for branch prediction.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 05:54:49 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_method): fix to relaxant safe level check</div><div class='del'>-	  ($SAFE &gt; 2).  [ruby-core:11998]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 05:52:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: fix to require 'continuation'.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 23:52:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next): message changed.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 23:22:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: remove unused rb_enc_ismbchar().</div><div class='del'>-</div><div class='del'>-Sat Aug 25 22:50:14 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_event_free, EVENTSINK_Destructor,</div><div class='del'>-	  fev_initialize): remove the connection ole_event_free and</div><div class='del'>-	  EVENTSINK_Destructor.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 17:52:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c, include/ruby/intern.h: export rb_str_length().</div><div class='del'>-</div><div class='del'>-	* insns.def: use rb_str_length() in opt_length.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 17:48:51 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: rename FIBER_STACK_SIZE to FIBER_VM_STACK_SIZE.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 17:05:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (swallow): removed condition using an unset variable.</div><div class='del'>-</div><div class='del'>-	* parse.y, re.c: re-applied revision 13092.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice): return from void function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_str_new): prototype added.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 11:45:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: provide basic features for M17N.</div><div class='del'>-</div><div class='del'>-	* parse.y: encoding aware parsing.</div><div class='del'>-</div><div class='del'>-	* parse.y (pragma_encoding): encoding specification pragma.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): encoding specified symbols.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_length): length based on characters.</div><div class='del'>-	  for older behavior, bytesize method added.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m): index based on characters.  rindex as</div><div class='del'>-	  well.</div><div class='del'>-</div><div class='del'>-	* string.c (succ_char): encoding aware succeeding string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse): reverse based on characters.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): encoding aware string description.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upcase_bang): encoding aware case conversion.</div><div class='del'>-	  downcase, capitalize, swapcase as well.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_tr_bang): tr based on characters.  delete,</div><div class='del'>-	  squeeze, tr_s, count as well.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): split based on characters.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): encoding aware each_line.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char): added.  iteration based on</div><div class='del'>-	  characters.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_strip_bang): encoding aware whitespace</div><div class='del'>-	  stripping.  lstrip, rstrip as well.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): encoding aware justifying (ljust,</div><div class='del'>-	  rjust, center).</div><div class='del'>-</div><div class='del'>-	* string.c (str_encoding): get encoding attribute from a string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): encoding aware regular expression</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): formatting (i.e. length count) based</div><div class='del'>-	  on characters.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): getc to return one-character string.</div><div class='del'>-	  for older behavior, getbyte method added.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getc): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetc): allow pushing arbitrary string at the</div><div class='del'>-	  current reading point.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: encoding support.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 10:59:19 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: separate Continuation and Fiber from core.</div><div class='del'>-</div><div class='del'>-	* ext/continuation/*, ext/fiber/*: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: remove rb_cFiber.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: add the rb_fiber_new() declaration.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (next_init): fix to use rb_fiber_new().</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: remove next? tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb: add a require 'continuation'.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add a require 'fiber'.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 10:20:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.o): depends on vm_core.h now.</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): depends on tool/compile_prelude.rb too.</div><div class='del'>-</div><div class='del'>-	* common.mk (prereq): updates all auto-generated sources.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: separated dynamic and static portions.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 10:05:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb: add Thread.exclusive.  This class method</div><div class='del'>-	  is different from 1.8's.  Thread.exclusive only does</div><div class='del'>-	  synchronize with VM global mutex.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 09:39:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_s_try_convert): more document description.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_try_convert): typo fixed.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 08:54:12 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* id.h, id.c: remove idFuncall.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 08:47:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: fix to include "vm_core.h".</div><div class='del'>-</div><div class='del'>-Sat Aug 25 03:49:14 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/sentence.rb (Sentence): include Enumerable.</div><div class='del'>-	  (Sentence#each): defined.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: use Sentence#expand.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 03:08:57 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb: fix Mutex#synchronize definition.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 02:08:45 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_s_try_convert): a new class method to convert</div><div class='del'>-	  object or nil if it's not target-type.  this mechanism is used</div><div class='del'>-	  to convert types in the C implemented methods.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_try_convert): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_try_convert): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_try_convert): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_s_try_convert): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 00:49:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_loop_generator.rb: added.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 00:22:31 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb: added.  run this script on startup.</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb: compile prelude.rb to C string.</div><div class='del'>-	  (prelude.rb -&gt; prelude.c)</div><div class='del'>-</div><div class='del'>-	* common.mk: fix to build with prelude.c.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (Init_Thread): move definition of Mutex#synchronize</div><div class='del'>-	  to prelude.rb.</div><div class='del'>-</div><div class='del'>-Sat Aug 25 00:08:43 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign_opt): fix to skip massign optimization</div><div class='del'>-	  with global variables.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_massign.rb: add some tests for above.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 18:42:03 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb (TestDir::setup): ?c now makes a string.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::initialize):</div><div class='del'>-	  initialize @workdir to stop warning.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 18:30:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform_without_block):</div><div class='del'>-	  replace funcall by send!.  other files in the distribution as well.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 17:06:56 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_send_bang): abandon the name funcall for private</div><div class='del'>-	  aware method call.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 15:27:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next): stop pre-fetching.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): remove next? method.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 15:14:57 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_loop): now handles StopIteration exception.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 20:31:31 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: optimize simple massign.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 20:02:25 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (reg_get_value): use RegQueryValueEx instead</div><div class='del'>-	  of RegQueryValueEx.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (typelib_file_from_clsid): fix the bug</div><div class='del'>-	  that the function always returns Qnil.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb (test_initialize): add some test.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 17:25:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (group_member): check if presents.</div><div class='del'>-</div><div class='del'>-	* configure.in (XCFLAGS): add _GNU_SOURCE on linux.</div><div class='del'>-</div><div class='del'>-	* file.c (group_member): use system routine if available.</div><div class='del'>-</div><div class='del'>-	* process.c: moved _GNU_SOURCE macro to Makefile.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 16:59:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign), insnhelper.ci (vm_throw): not use C99</div><div class='del'>-	  comment.</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_cont_call, fiber_switch, rb_fiber_resume, rb_fiber_yield):</div><div class='del'>-	  suppress warnings.</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): change on non-volatile variable between</div><div class='del'>-	  setjmp and longjmp may not has an effect.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (sym_call): initialize first.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enum_iter): typedefed.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (next_i): suppress a warning.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 16:04:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def, parse.y: fix massign order.  This change</div><div class='del'>-	  causes performance problem.  Try vm1_swap benchmark.</div><div class='del'>-	  [ruby-dev:31522]</div><div class='del'>-</div><div class='del'>-	* insns.def, insnhelper.ci: move process body of expandarray insn to</div><div class='del'>-	  vm_expandarray().</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb, bootstraptest/test_massign.rb:</div><div class='del'>-	  move a solved test.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 15:51:19 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_norm_arg): ripper has no shadowing check.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_block_arg): dispatch blkarg_mark.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 15:48:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (make_masgn_lhs, iseq_compile_each): fixed indent.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_translate_threaded_code),</div><div class='del'>-	  vm_evalbody.ci (get_insns_address_table),</div><div class='del'>-	  template/vmtc.inc.tmpl (insns_address_table): constified.</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.ci (vm_eval),</div><div class='del'>-	  template/insns_info.inc.tmpl (insn_stack_increase, insn_ret_num):</div><div class='del'>-	  suppress warnings.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 13:19:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_norm_arg): check also nested arguments.  [ruby-dev:31502]</div><div class='del'>-</div><div class='del'>-Thu Aug 23 00:06:48 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c: updated for ANSI C only.  applied a patch from</div><div class='del'>-	  &lt;snakagawa AT infoteria.co.jp&gt;.  [ruby-dev:31591]</div><div class='del'>-</div><div class='del'>-Thu Aug 23 00:04:45 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/strtod.c: removed.  [ruby-dev:31588]</div><div class='del'>-</div><div class='del'>-	* LEGAL: updated.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 15:59:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb:</div><div class='del'>-	  fix typo of filename (test_knownbug.rb).</div><div class='del'>-</div><div class='del'>-Wed Aug 22 14:04:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_knownbug.rb: added.  This file will contain</div><div class='del'>-	  test cases which point out known bug.  If bug is fixed, tests</div><div class='del'>-	  should move to the suitable place.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_massign.rb: move a test which show known bug</div><div class='del'>-	  to test_knownbug.rb.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 13:02:26 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (in_temporary_working_directory):</div><div class='del'>-	  don't remove the directory specified by --dir.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 05:51:23 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): replaced by the implementation by David</div><div class='del'>-	  M. Gay inspired by William D. Clinger's paper "How to Read Floating</div><div class='del'>-	  Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].</div><div class='del'>-	  a patch from Satoshi Nakagawa &lt;snakagawa AT infoteria.co.jp&gt;.</div><div class='del'>-	  [ruby-dev:31582]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat::test_float): add test for</div><div class='del'>-	  precision.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 03:51:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: add Fiber#resume and Fiber.yield.</div><div class='del'>-	  and Fiber::Core class to realize Coroutine.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: declare rb_fiber_yield(), rb_fiber_resume().</div><div class='del'>-</div><div class='del'>-	* enumerator.c: use above api.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: fix and add tests for above changes.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 21:09:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.mktmpdir): make directory suffix specifiable.</div><div class='del'>-	  suggested by knu.  [ruby-dev:31568]</div><div class='del'>-</div><div class='del'>-Tue Aug 21 15:00:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_clear): reset num_entries too.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 13:57:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (st_foreach_func, rb_foreach_func): typedefed.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_clear): use st_clear() unless iterating.</div><div class='del'>-</div><div class='del'>-	* st.c (struct st_table_entry): add new members, fore and back, to</div><div class='del'>-	  iterate in inserted order.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (struct st_table): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 04:09:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_case.rb: add a new benchmark.</div><div class='del'>-	  YARV optimize case/when syntax.  If every conditions</div><div class='del'>-	  are literal (such as Symbol, Fixnum, String), dispatch</div><div class='del'>-	  calc order will be O(1).</div><div class='del'>-</div><div class='del'>-Tue Aug 21 04:08:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: fix last commit.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 03:59:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test_enumerator.rb (enum_test): fix to return sorted</div><div class='del'>-	  array (for Hash test).</div><div class='del'>-</div><div class='del'>-Tue Aug 21 03:55:20 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (next_i): fix to return with Fiber#yield at</div><div class='del'>-	  the end of each block.  [ruby-dev:31470]</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next_p): call init_next if not</div><div class='del'>-	  initialized.  [ruby-dev:31514]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: add tests for Enumerator.</div><div class='del'>-</div><div class='del'>-Mon Aug 20 23:28:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): remove Symbol.intern and Symbol#dump.</div><div class='del'>-	  [ruby-dev:31525]</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_foreach): return Enumerator if no block given.</div><div class='del'>-	  [ruby-dev:31525]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_foreach): argument count check before making</div><div class='del'>-	  Enumerator.  [ruby-dev:31525]</div><div class='del'>-</div><div class='del'>-Mon Aug 20 23:17:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_thread_struct): removed first_func_arg and</div><div class='del'>-	  reuse first_args instead.</div><div class='del'>-</div><div class='del'>-Sun Aug 19 13:31:40 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use VALGRIND_MAKE_MEM_UNDEFINED to detect use of collected</div><div class='del'>-	  objects if valgrind is available.  It cannot detect first 2 words</div><div class='del'>-	  because they are used as the free list.</div><div class='del'>-</div><div class='del'>-Sun Aug 19 13:13:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each/NODE_RESBODY): fix to add</div><div class='del'>-	  additional nop to prevent tailcall optimization.</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: clean up comments.</div><div class='del'>-</div><div class='del'>-Sun Aug 19 12:58:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_bmethod): fix to propagate information</div><div class='del'>-	  that this proc is "from Method".  [ruby-dev:31490]</div><div class='del'>-</div><div class='del'>-	* proc.c (method_proc, rb_mod_define_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_invoke_proc_core): removed.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 19 12:36:11 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/sentence.rb: new method Sentence().</div><div class='del'>-</div><div class='del'>-Sun Aug 19 12:32:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_callee_setup_arg): fix to mark enough VM stack.</div><div class='del'>-	  [ruby-dev:31492]</div><div class='del'>-</div><div class='del'>-Sat Aug 18 19:02:34 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb (TestYieldGen): relax array size check</div><div class='del'>-	  in nested parameters.</div><div class='del'>-	  [ruby-dev:31485]</div><div class='del'>-</div><div class='del'>-Sat Aug 18 17:44:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (Init_tcltklib): use rb_set_end_proc().</div><div class='del'>-</div><div class='del'>-Sat Aug 18 17:40:11 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (is_ruby_native_thread): check properly.  [ruby-dev:31166]</div><div class='del'>-</div><div class='del'>-Sat Aug 18 16:44:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_call_bmethod),</div><div class='del'>-	  vm.c (vm_invoke_proc_core): fix to do not restore</div><div class='del'>-	  $SAFE when proc invoked by bmethod.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 16:44:49 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.ci (ruby_error_print): call error_print.</div><div class='del'>-</div><div class='del'>-	* eval_jump.ci, process.c (rb_exit, rb_f_exit, rb_f_abort): moved.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 15:59:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (detach_process_watcher): should not pass the pointer</div><div class='del'>-	  to an auto variable to the thread to be created.  pointed and</div><div class='del'>-	  fix by KUBO Takehiro &lt;kubo at jiubao.org&gt;  [ruby-dev:30618]</div><div class='del'>-</div><div class='del'>-Sat Aug 18 15:52:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_send_optimize): use MEMMOVE to shift values inside</div><div class='del'>-	  an array.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 15:45:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_yield_setup_args): rsize and psize should not be</div><div class='del'>-	  negative.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 14:35:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_callee_setup_arg, vm_send_optimize,</div><div class='del'>-	  vm_yield_setup_args): bulk copy for arguments.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 13:55:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix to allow self.x=</div><div class='del'>-	  if x= is private.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 14:05:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_compile_gen): obtain error info from errinfo.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_error_desc): make RegexpError for initialization error.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_compile): return nil and set errinfo if error.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 13:23:01 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: $! should not be writable.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rubylevel_errinfo): added.  rb_errinfo() returns</div><div class='del'>-	  rb_thread_t#errinfo.  rb_rubylevel_errinfo() returns $! value.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 13:14:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_callee_setup_arg): fix to check arguments</div><div class='del'>-	  correctly. [ruby-dev:31472]</div><div class='del'>-</div><div class='del'>-Sat Aug 18 13:13:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_exception.rb: add escape character ("\") for</div><div class='del'>-	  editors.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 12:42:50 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb (TestYieldGen): add test for yielding to</div><div class='del'>-	  lambda using lambda parameter passing emulator.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 12:24:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb, test/ruby/test_system.rb(valid_syntax?): keep</div><div class='del'>-	  comment lines first.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 11:44:59 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments), insnhelper.ci</div><div class='del'>-	  (vm_callee_setup_arg, vm_yield_setup_args):</div><div class='del'>-	  fix to cause raise on "lambda{|a|}.call(1, 2)".</div><div class='del'>-	  [ruby-dev:31464]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sat Aug 18 01:12:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id): return proper method ID.</div><div class='del'>-</div><div class='del'>-Fri Aug 17 22:43:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): massign should return rvalue(s).</div><div class='del'>-</div><div class='del'>-Fri Aug 17 22:10:19 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: fix old tests.</div><div class='del'>-	  class variables should be inherited.</div><div class='del'>-</div><div class='del'>-Fri Aug 17 21:20:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),</div><div class='del'>-	  insnhelper.ci (vm_call_method): fix to save safelevel for</div><div class='del'>-	  method node.</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h: ditto.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Fri Aug 17 16:02:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): fix to ignore</div><div class='del'>-	  exceptions.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): fix</div><div class='del'>-	  abort_on_exception process.  [ruby-dev:31394]</div><div class='del'>-</div><div class='del'>-Fri Aug 17 14:38:36 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (in_temporary_working_directory): use</div><div class='del'>-	  Dir.mktmpdir to create and remove temporary directory.</div><div class='del'>-	  (Dir.mktmpdir): define if not available.</div><div class='del'>-	  [ruby-dev:31431]</div><div class='del'>-</div><div class='del'>-Fri Aug 17 03:07:37 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix throw insn option of next.</div><div class='del'>-</div><div class='del'>-Fri Aug 17 01:25:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments), insnhelper.ci</div><div class='del'>-	  (vm_callee_setup_arg, vm_yield_setup_args): fix</div><div class='del'>-	  block parameter problems. [ruby-dev:31437], [ruby-dev:31440]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add a test of [ruby-dev:31440].</div><div class='del'>-</div><div class='del'>-Fri Aug 17 01:24:12 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_iseq_disasm): fix to show arg_simple value.</div><div class='del'>-</div><div class='del'>-Fri Aug 17 01:21:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (throw): insert a RUBY_VM_CHECK_INTS(). [ruby-dev:31361]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 20:40:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigtrunc): RBIGNUM(x)-&gt;len may be zero.  out of bound</div><div class='del'>-	  access.  [ruby-dev:31404]</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): small float should not call</div><div class='del'>-	  rb_dbl2big().</div><div class='del'>-</div><div class='del'>-Thu Aug 16 22:10:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix next/redo stack consistency.</div><div class='del'>-	  [ruby-dev:31373]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: fix to use __FILE__ instead of $0 to know basedir.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 21:14:06 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BASERUBY): need AC_SUBST.  [ruby-dev:31438]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 19:18:26 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/sentence.rb: Sentence class implemented</div><div class='del'>-	  based on sentgen.rb</div><div class='del'>-</div><div class='del'>-	* test/ruby/sentgen.rb: removed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: use sentence.rb.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb: block parameter passing emulator</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 16:48:47 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BASERUBY): check if base ruby is runnable first.</div><div class='del'>-	  [ruby-core:11900]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 16:46:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): enable shared by default.</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): for 64bit-mode AIX.  [ruby-dev:31401]</div><div class='del'>-	  + use CC for LDSHARED if non-gcc,</div><div class='del'>-	  + moved -G option from *LDFLAGS to LDSHARED,</div><div class='del'>-	  + set -brtl only in XLDFLAGS.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 13:06:08 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_lshift): make shift offset long type.</div><div class='del'>-	  (big_rshift): ditto.</div><div class='del'>-	  (rb_big_lshift): ditto.</div><div class='del'>-	  (big_rshift): ditto.</div><div class='del'>-	  [ruby-dev:31434]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 06:29:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_readpartial): argf_forward needs argc and argv.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 02:47:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_m_yield): added.  use this function</div><div class='del'>-	  for Fiber#yield instead of rb_fiber_yield.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 00:36:52 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.mktmpdir): new method.  [ruby-dev:31416]</div><div class='del'>-</div><div class='del'>-Wed Aug 15 18:57:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (os_live_obj): fix to skip T_VALUES.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: add an ObjectSpace test.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 16:49:04 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): change initializing order.</div><div class='del'>-	  [ruby-dev:31420]</div><div class='del'>-</div><div class='del'>-Wed Aug 15 16:44:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ARGF_FORWARD): wrongly compares with current_file with</div><div class='del'>-	  rb_stdout.  should be rb_stdin.  [ruby-cvs:20177]</div><div class='del'>-</div><div class='del'>-Wed Aug 15 14:59:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize, argf_each_line, argf_each_byte): suppress</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 14:22:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove "//" type comment.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 13:42:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix rules around f_margs.  "make test" passes all tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add some tests for above.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 13:50:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_delete_key): delete the entry without calling block.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_shift): should consider iter_lev too.</div><div class='del'>-</div><div class='del'>-	* hash.c (delete_if_i): use rb_hash_delete_key() so that the block</div><div class='del'>-	  isn't called twice.  [ruby-core:11556]</div><div class='del'>-</div><div class='del'>-Wed Aug 15 13:39:25 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_geteuid): fix strange conversion.  [ruby-dev:31417]</div><div class='del'>-</div><div class='del'>-Wed Aug 15 01:05:55 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_check): don't call newtest.</div><div class='del'>-	  (assert_equal): call newtest.</div><div class='del'>-	  (assert_match): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 14 21:43:39 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_check): new method.</div><div class='del'>-	  (assert_match): new method.</div><div class='del'>-	  (assert_equal): use assert_check.</div><div class='del'>-	  (pretty): give failure description as an argument.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_exception.rb: use assert_match to describe the</div><div class='del'>-	  test for [ruby-dev:31407].  [ruby-dev:31412]</div><div class='del'>-</div><div class='del'>-Tue Aug 14 19:53:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc), eval.c (Init_eval), eval_intern.h: move</div><div class='del'>-	  init place of exception_error.</div><div class='del'>-</div><div class='del'>-	* inits.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): set exception_error#throwed_state as TAG_FATAL.</div><div class='del'>-	  [ruby-dev:31407]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_exception.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Aug 14 19:51:20 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: change test order (test -&gt; btest).</div><div class='del'>-</div><div class='del'>-Tue Aug 14 00:04:27 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: 0.1.8 -&gt; 0.1.9.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_version.rb: followed the above change.</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb: fixed a bug that handles unintended elements.</div><div class='del'>-	  Thanks to Takuo Yonezawa. [ruby-list:43841]</div><div class='del'>-</div><div class='del'>-Mon Aug 13 17:23:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_clear_trace_func, rb_thread_stop_timer_thread):</div><div class='del'>-	  declarations for forward references.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp, eval): use local variable.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): string object not to be optimized.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 13:21:58 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: make ftp passive mode to avoid NAT problem.</div><div class='del'>-	  [ruby-dev:31377]</div><div class='del'>-</div><div class='del'>-Mon Aug 13 09:18:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getc): should returns</div><div class='del'>-	  one-character string.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: remove unnecessary prototypes.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getbyte): new method.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_readbyte): new method.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): should take a string as</div><div class='del'>-	  an input.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 08:19:43 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_close): always close via method.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): remove obsolete Kernel#getc.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 05:03:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_raise): check if target thread is</div><div class='del'>-	  thrown by another thread or not.  [ruby-dev:31371]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 04:35:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): fix peephole optimization</div><div class='del'>-	  bug. [ruby-dev:31360]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 04:02:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (debug_print_pre): fix to show control frame count.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_call_c_function): fix operand type.</div><div class='del'>-</div><div class='del'>-	* lib/vm/instruction.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_push_frame, vm_pop_frame): fix to show</div><div class='del'>-	  control stack status on if VMDEBUG == 2.</div><div class='del'>-</div><div class='del'>-	* vm.h: add a comment about VMDEBUG.</div><div class='del'>-</div><div class='del'>-	* iseq.c (find_prev_line_no): fix to skip bug report if</div><div class='del'>-	  line is not found.</div><div class='del'>-</div><div class='del'>-	* lib/vm/instruction.rb: fix to use build_string() on</div><div class='del'>-	  source code generators.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 03:57:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* template/yasmdata.rb.tmpl: fix type and name.</div><div class='del'>-</div><div class='del'>-Sat Aug 11 23:27:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_line): should use #each_line, not #each.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_line): simplified.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_getline): should handle non T_FILE object in ARGV.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_byte): each_byte should yield bytes not</div><div class='del'>-	  one-character strings.  [ruby-dev:31374]</div><div class='del'>-</div><div class='del'>-Sat Aug 11 07:24:55 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: reverted some wrongly erased "o" options</div><div class='del'>-	  (pointed out by nobu).</div><div class='del'>-</div><div class='del'>-Sat Aug 11 00:01:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): not re-raise to main thread if it is</div><div class='del'>-	  joining the current thread.</div><div class='del'>-</div><div class='del'>-Fri Aug 10 23:54:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): inherit the priority of creating</div><div class='del'>-	  thread.  submitted at [ruby-core:11873] by David Flanagan &lt;david AT</div><div class='del'>-	  davidflanagan.com&gt;.  [ruby-core:11876]</div><div class='del'>-</div><div class='del'>-Fri Aug 10 05:12:19 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): let abort_on_exception work.</div><div class='del'>-	  [ruby-core:11873]</div><div class='del'>-</div><div class='del'>-Fri Aug 10 04:47:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (internal_id_gen): internal ID must be bigger than</div><div class='del'>-	  tLAST_TOKEN.</div><div class='del'>-</div><div class='del'>-Thu Aug  9 16:04:55 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): check if rhs has value before assignment instead</div><div class='del'>-	  inside node_assign_gen().  [ruby-dev:31293]</div><div class='del'>-</div><div class='del'>-	* parse.y (call_bin_op_gen, call_uni_op_gen): split call_op_gen.</div><div class='del'>-</div><div class='del'>-Thu Aug  9 14:01:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_marg_list): renamed from f_marg_head.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_margs): allow multiple mandatory arguments after a splat.</div><div class='del'>-	  [ruby-dev:31153]</div><div class='del'>-</div><div class='del'>-Thu Aug  9 02:02:02 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_cycle): typo fixed.  a patch from Kazuhiro</div><div class='del'>-	  NISHIYAMA &lt;zn AT mbf.nifty.com&gt;.  [ruby-dev:31362]</div><div class='del'>-</div><div class='del'>-Wed Aug  8 19:17:40 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): no longer check</div><div class='del'>-	  HAVE_RB_IO_STDIO_FILE.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 15:52:01 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next_p): should check correctly even when</div><div class='del'>-	  e.next has not been called before.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next): raise StopIteration (name taken</div><div class='del'>-	  from Python) instead of IndexError.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): catch StopIteration exception.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index): return Enumerator if no</div><div class='del'>-	  block is given.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::test_enumerator): add</div><div class='del'>-	  test for enumerators.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 11:48:37 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): should not use RTEST for non-VALUE.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 11:25:25 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): should preserve sign mark.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 11:02:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (btest-miniruby, test-sample): split the test target</div><div class='del'>-	  so that -k option works.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 14:58:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): handshaking before close slave</div><div class='del'>-	  device.  [ruby-talk:263410]</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): constified.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (SlaveName): removed static buffer.</div><div class='del'>-</div><div class='del'>-	* ext/pty/expect_sample.rb: support for autologin.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 13:58:03 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_special_consts): added RUBY_SPECIAL_SHIFT.</div><div class='del'>-</div><div class='del'>-	* .gdbinit: some improvements.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 13:28:32 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (node_name.inc): use $? instead of $&lt; for nmake.</div><div class='del'>-	  [ruby-dev:31356]</div><div class='del'>-</div><div class='del'>-Tue Aug  7 12:45:13 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_isinf): set yes also on OpenSolaris.</div><div class='del'>-	  [ruby-Bugs-12859]</div><div class='del'>-</div><div class='del'>-Tue Aug  7 12:31:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): fix for win32 platforms.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 02:58:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): make Bignum#to_s even faster.  a patch</div><div class='del'>-	  from Kenta Murata &lt;muraken AT gmail.com&gt;.  [ruby-dev:31354]</div><div class='del'>-</div><div class='del'>-Tue Aug  7 01:42:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): zip no longer converts arguments into</div><div class='del'>-	  arrays, uses enumerators.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 01:27:47 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_yield): change argument ordering.  export.</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_current): export</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: export several functions from cont.c.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next): new method to implement external</div><div class='del'>-	  iterator (generator) using fiber.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_next_p): new method to check whether</div><div class='del'>-	  any element is left in the generator sequence.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_rewind): a new method to rewind the</div><div class='del'>-	  generator sequence.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 01:15:24 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_cycle): new method to cycle enumerable forever.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 00:05:38 2007  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* irb/ruby-lex.rb: support for '\c'. [ruby-talk:263508]</div><div class='del'>-</div><div class='del'>-Mon Aug  6 20:29:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci, insns.def: move some statements to functions.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm.h, vm_evalbody.ci: fix include/typedef places.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 18:41:12 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/vm/instruction.rb (make_header_analysys): fix last commit.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 18:33:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/vm/instruction.rb (make_header_analysys): add to separate</div><div class='del'>-	  header addition process.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 17:36:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/{ISO-8859-15,CP-1252}.rb: fixed invalid syntax.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 16:57:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: fix to output file name if it contains</div><div class='del'>-	  invalid syntax.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 16:41:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (value_expr_gen): fix to cause "void value expression"</div><div class='del'>-	  when jump expression such as "next" are shown on value_expr().</div><div class='del'>-	  [ruby-dev:31119]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_syntax.rb: fix to above change.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 14:36:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix a f_marg rule. [ruby-dev:31160]</div><div class='del'>-</div><div class='del'>-Mon Aug  6 14:29:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (assert_equal): add additional</div><div class='del'>-	  message parameter.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 13:34:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (INSNS): not chdir to srcdir.</div><div class='del'>-</div><div class='del'>-	* common.mk (node_name.inc): auto-generate node name list.</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_node_name): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_compile_option_get, Init_ISeq): added a new</div><div class='del'>-	  method VM::InstructionSequence::compile_option.</div><div class='del'>-</div><div class='del'>-	* lib/vm/instruction.rb (RubyVM::SourceCodeGenerator): --destdir</div><div class='del'>-	  option.</div><div class='del'>-</div><div class='del'>-	* tool/node_name.rb: to auto-generate node name list.</div><div class='del'>-</div><div class='del'>-Sun Aug  5 11:51:39 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss, sample/rss, test/rss:</div><div class='del'>-	- 0.1.7 -&gt; 0.1.8.</div><div class='del'>-	- supported &lt;itunes:XXX&gt;.</div><div class='del'>-	- reverted backward incompatibility API changes introduced 0.1.7.</div><div class='del'>-</div><div class='del'>-Sun Aug  5 04:56:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open_v, pipe_open_s): separate array and string</div><div class='del'>-	  cases.  [ruby-dev:31344]</div><div class='del'>-</div><div class='del'>-Fri Aug  3 11:05:54 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): save all CONFIG values.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): remove mkmf.log at clean, and extconf.h at</div><div class='del'>-	  distclean, respectively.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: remove rdoc at clean, and installed list file at</div><div class='del'>-	  distclean, respectively.</div><div class='del'>-</div><div class='del'>-Fri Aug  3 07:09:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: more verbose message.  [ruby-Bugs-12766]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_type): suppress a warning with -Wall.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_type): new method.</div><div class='del'>-</div><div class='del'>-Fri Aug  3 00:00:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_table): base cannot be 0 or 1.</div><div class='del'>-</div><div class='del'>-Thu Aug  2 23:42:57 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_compile_gen): set error if failed to compile regexp</div><div class='del'>-	  literal.  [ruby-dev:31336]</div><div class='del'>-</div><div class='del'>-	* re.c (option_to_str, arg_kcode, opt_kcode): options conversion</div><div class='del'>-	  between int and string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_compile): should not use regexp which could not get</div><div class='del'>-	  initialized.  [ruby-dev:31333]</div><div class='del'>-	  return error message to let the parser know it.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_compile): append regexp options to error message.</div><div class='del'>-	  [ruby-dev:31334]</div><div class='del'>-</div><div class='del'>-Thu Aug  2 22:05:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): faster Bignum#to_s using Karatsuba</div><div class='del'>-	  algorithm.  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;</div><div class='del'>-	  in [ruby-dev:31312], slightly modified by Kenta Murata</div><div class='del'>-	  &lt;muraken AT gmail.com&gt; in [ruby-dev:31339].</div><div class='del'>-</div><div class='del'>-Thu Aug  2 13:46:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): should not check positional number as</div><div class='del'>-	  width.  [ruby-core:11838]</div><div class='del'>-</div><div class='del'>-Wed Aug  1 12:40:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* generic.rb (URI::Generic::merge_path): behave as RFC 3986.</div><div class='del'>-	  [ruby-talk:252052]</div><div class='del'>-</div><div class='del'>-Tue Jul 31 23:38:09 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_parse): now interprets slashed numerical</div><div class='del'>-	  dates as a big endian (except dd/mm/yyyy). [experimental]</div><div class='del'>-</div><div class='del'>-Mon Jul 30 11:16:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_aref): check for Bignum index range.</div><div class='del'>-	  [ruby-dev:31271]</div><div class='del'>-</div><div class='del'>-Sat Jul 28 09:35:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest::self.const_missing): avoid</div><div class='del'>-	  infinite recursive const_missing call.  [ruby-talk:262193]</div><div class='del'>-</div><div class='del'>-Thu Jul 26 20:40:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_eqq): call_super() in === does not work well</div><div class='del'>-	  since Enumerable#=== has different behavior.  [ruby-dev:31296]</div><div class='del'>-</div><div class='del'>-Thu Jul 26 13:57:45 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (load_1, dln_find_1): constified.</div><div class='del'>-</div><div class='del'>-	* dln.c (conv_to_posix_path): removed.</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): constified.</div><div class='del'>-</div><div class='del'>-	* ruby.c (rubylib_mangled_path, rubylib_mangled_path2): return</div><div class='del'>-	  VALUE instead of a pointer to static buffer.</div><div class='del'>-</div><div class='del'>-	* ruby.c (push_include_cygwin): fixed buffer overflow.</div><div class='del'>-	  [ruby-dev:31297]</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath): not convert built-in paths.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 10:37:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_p): return nil if no argument.  [ruby-dev:31285]</div><div class='del'>-</div><div class='del'>-Tue Jul 24 01:05:07 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (USE_MATCH_RANGE_IS_COMPLETE_RANGE): undef to achieve old</div><div class='del'>-	  rindex behavior.  [ruby-dev:31265]</div><div class='del'>-</div><div class='del'>-Mon Jul 23 18:37:14 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: upgrade to Oniguruma 5.9.0.  fixes</div><div class='del'>-	  some memory violation.  [ruby-dev:31070]</div><div class='del'>-</div><div class='del'>-Sun Jul 22 20:09:49 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date._parse): now accepts some new</div><div class='del'>-	  hints. [experimental]</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb: followed the changes on</div><div class='del'>-	  lib/date/format.rb. [experimental]</div><div class='del'>-</div><div class='del'>-Sun Jul 22 16:06:56 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (is_ruby_native_thread): made an int function as</div><div class='del'>-	  well as version 1.8.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (is_ruby_native_thread): moved prototype</div><div class='del'>-	  from intern.h as well as version 1.8.</div><div class='del'>-</div><div class='del'>-Sun Jul 22 14:33:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_rename): deleted code to get rid of a bug of</div><div class='del'>-	  old Cygwin.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): added prototype of GetLastError()</div><div class='del'>-	  on cygwin.  [ruby-dev:31239]</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (is_ruby_native_thread): prototype.</div><div class='del'>-</div><div class='del'>-	* missing/strftime.c (strftime): fix printf format and actual</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/Win32API.c (Win32API_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_finalize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (lcid_installed): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getnameinfo.c: include stdio.h always.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 21:39:12 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb (Date._parse): now can take some</div><div class='del'>-	  hints (its aim must be mainly determination of endianness of</div><div class='del'>-	  date). [experimental]</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb (Date._parse): now completes</div><div class='del'>-	  truncated year as default action. [experimental]</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: added ::iso8601, ::rfc3339,</div><div class='del'>-	  ::xmlschema, ::rfc2822, ::httpdate, ::jisx0301, #xmlschema,</div><div class='del'>-	  #httpdate. [experimental]</div><div class='del'>-</div><div class='del'>-Sat Jul 21 17:48:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: inverted rules order.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (w32_create_thread): bcc does not have</div><div class='del'>-	  _beginthreadex().</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): make OBJS depend on RUBY_EXTCONF_H</div><div class='del'>-	  only if extconf.h is created.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: headers have moved.</div><div class='del'>-</div><div class='del'>-	* bcc32/{Makefile.sub,configure.bat,setup.mak: configure_args</div><div class='del'>-	  support.</div><div class='del'>-</div><div class='del'>-	* bcc32/setup.mak: check runtime version.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open_osfhandle): prototype has changed</div><div class='del'>-	  in bcc 5.82.</div><div class='del'>-</div><div class='del'>-	* {win32,wince,bcc32}/setup.mak (-version-): no RUBY_EXTERN magic.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: include patchlevel number.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 12:06:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): should remove mkmf.log too.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 01:45:03 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date._parse): completes calendar week based year.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date._parse): detects year of ordinal date in</div><div class='del'>-	  extended format.</div><div class='del'>-</div><div class='del'>-Fri Jul 20 16:30:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): raise SyntaxError instead of rb_bug</div><div class='del'>-	  since this function can be called from VM::InstructionSequence.load.</div><div class='del'>-</div><div class='del'>-	* compile.c (insn_set_sc_state, iseq_set_sequence_stackcaching): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 20 16:11:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h (DECL_ANCHOR, INIT_ANCHOR): split not to</div><div class='del'>-	  initialize aggregations with dynamic values.  [ruby-talk:259306]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_protect): not to initialize aggregations with dynamic</div><div class='del'>-	  values.  [ruby-talk:259306]</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (thgroup_list, call_trace_func): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_init_redefined_flag): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 20 15:22:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (ossl_config_set_section): do not</div><div class='del'>-	  initialize aggregations with dynamic values.  [ruby-talk:259306]</div><div class='del'>-</div><div class='del'>-Fri Jul 20 10:39:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt, mlhs_node, lhs, arg, var_ref): return dummy</div><div class='del'>-	  NODE_BEGIN after errors.  [ruby-dev:31100], [ruby-dev:31118]</div><div class='del'>-</div><div class='del'>-	* parse.y (remove_begin): keep empty NODE_BEGIN, instead of null.</div><div class='del'>-	  [ruby-dev:31252], [ruby-dev:31263]</div><div class='del'>-</div><div class='del'>-Fri Jul 20 09:50:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (get_result_string): check $?.coredump?</div><div class='del'>-	  first.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (cleanup_coredump, check_coredump): see</div><div class='del'>-	  stackdump file too.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 20:39:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (value_expr_gen): warn for empty expression ().</div><div class='del'>-	  [ruby-dev:31252]</div><div class='del'>-</div><div class='del'>-Thu Jul 19 19:24:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.ci (get_backtrace): check the result more.</div><div class='del'>-	  [ruby-dev:31261] [ruby-bugs-12398]</div><div class='del'>-</div><div class='del'>-Thu Jul 19 14:38:45 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_lshift, rb_big_rshift): separated functions</div><div class='del'>-	  to get rid of infinite recursion.  fixed calculation in edge</div><div class='del'>-	  cases.  [ruby-dev:31244]</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix_lshift, rb_fix_rshift): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 16:57:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): refine overflow check.  [ruby-dev:31242]</div><div class='del'>-</div><div class='del'>-Wed Jul 18 09:19:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_append_print, rb_parser_while_loop): moved check</div><div class='del'>-	  for node to the head.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): do nothing for -p/-n options if tree is null.</div><div class='del'>-	  submitted by Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; at [ruby-dev:31243].</div><div class='del'>-</div><div class='del'>-Wed Jul 18 08:47:09 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_succ): Time#succ should return a time object in the</div><div class='del'>-	  same timezone mode to the original.  [ruby-talk:260256]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 23:07:51 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb (Base64::b64encode): should not specify /o option</div><div class='del'>-	  for regular expression.  [ruby-dev:31221]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 22:57:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): make %u behave like %d for negative</div><div class='del'>-	  values, since decimal format does not work with preceding dots.</div><div class='del'>-	  [ruby-core:11575]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 18:29:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex_m): accept string-like object convertible</div><div class='del'>-	  with #to_str method, as well as rb_str_index_m.  [ruby-core:11692]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 07:17:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (getspecial): lfp_svar_get() requires int for special</div><div class='del'>-	  global variables.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 05:45:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): more checks for format argument.</div><div class='del'>-	  [ruby-core:11569], [ruby-core:11570], [ruby-core:11571],</div><div class='del'>-	  [ruby-core:11573]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 00:26:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): removed invariant variable.  [ruby-dev:31236]</div><div class='del'>-</div><div class='del'>-Sun Jul 15 22:24:37 2007  pegacorn  &lt;subscriber.jp AT gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): adjust format.  [ruby-dev:31222]</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_update,</div><div class='del'>-	  rb_digest_instance_finish, rb_digest_instance_reset,</div><div class='del'>-	  rb_digest_instance_block_length): %s in rb_raise() expects char*.</div><div class='del'>-	  [ruby-dev:31222]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: include ossl_pkcs5.h.  [ruby-dev:31231]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.h: new file for PKCS5.  [ruby-dev:31231]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()</div><div class='del'>-	  instead of rb_raise().  [ruby-dev:31222]</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: DOSISH platforms need io.h.  [ruby-dev:31232]</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: include stdlib.h for malloc() and free().</div><div class='del'>-	  [ruby-dev:31232]</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h (syck_parser_set_input_type): prototype added.</div><div class='del'>-	  [ruby-dev:31231]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: include mbstring.h for _mbspbrk().  [ruby-dev:31232]</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_getcwd): prototype added.</div><div class='del'>-	  [ruby-dev:31232]</div><div class='del'>-</div><div class='del'>-Sun Jul 15 21:07:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigtrunc): do not empty Bignum.  [ruby-dev:31229]</div><div class='del'>-</div><div class='del'>-Sun Jul 15 19:05:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): check leading non-digits.</div><div class='del'>-	  [ruby-core:11691]</div><div class='del'>-</div><div class='del'>-Sun Jul 15 04:42:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (get2comp): do nothing for empty Bignum.  [ruby-dev:31225]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 22:49:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): integer power calculation: 0**n =&gt; 0,</div><div class='del'>-	  1**n =&gt; 1, -1**n =&gt; 1 (n: even) / -1 (n: odd).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb (TestFixnum::test_pow): update test</div><div class='del'>-	  suite.  pow(-3, 2^64) gives NaN when pow(3, 2^64) gives Inf.</div><div class='del'>-</div><div class='del'>-Sat Jul 14 18:46:35 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add --with-valgrind.</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): new macro to replace</div><div class='del'>-	  rb_gc_set_stack_end.  it find out accurate stack boundary by</div><div class='del'>-	  asm using gcc on x86.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_gc_set_stack_end): don't define if asm-version</div><div class='del'>-	  SET_MACHINE_STACK_END is available.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context): extracted from garbage_collect.</div><div class='del'>-	  it use SET_MACHINE_STACK_END to not scan out of stack area.</div><div class='del'>-	  it notify conservative GC information to valgrind if</div><div class='del'>-	  --with-valgrind.</div><div class='del'>-</div><div class='del'>-Sat Jul 14 14:04:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (sort_by_cmp): check if reentered.  [ruby-dev:24291]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 11:08:28 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/generator/generator.c (check_max_nesting): wrong</div><div class='del'>-	  format specifier.  a patch from pegacorn &lt;subscriber.jp AT gmail.com&gt;.</div><div class='del'>-	  [ruby-dev:31217]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 02:27:43 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): overflow detection using FIT_SQRT_LONG().</div><div class='del'>-	  [ruby-dev:31215]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 02:05:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_div): LONG2FIX() may not work for corner cases,</div><div class='del'>-	  use LONG2NUM() instead.  [ruby-dev:31210]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 00:34:01 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round): should not return false, but self.</div><div class='del'>-	  [ruby-dev:31212]</div><div class='del'>-</div><div class='del'>-Fri Jul 13 18:31:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: remove unused function declarations.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 13 17:32:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_free): clear free'ed living_threads field.</div><div class='del'>-	  [ruby-dev:31163]</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_succ): use cast to shut a warning up.</div><div class='del'>-</div><div class='del'>-Fri Jul 13 16:10:00 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): use ENV.to_hash to access</div><div class='del'>-	  http_proxy environment variable to avoid case insensitive</div><div class='del'>-	  environment search.</div><div class='del'>-</div><div class='del'>-Fri Jul 13 15:02:15 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): enclose command line except for</div><div class='del'>-	  command.com which can not handle quotes.  [ruby-talk:258939]</div><div class='del'>-</div><div class='del'>-Fri Jul 13 11:33:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_max, range_min): return nil for empty set as well as</div><div class='del'>-	  1.8 and Enumerable.  [ruby-dev:31198]</div><div class='del'>-</div><div class='del'>-Fri Jul 13 11:28:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (bvar): semicolon was lost for ripper description.</div><div class='del'>-	  [ruby-dev:31140]</div><div class='del'>-</div><div class='del'>-Fri Jul 13 11:25:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (program, stmt, primary): reduced duplicated code.</div><div class='del'>-</div><div class='del'>-	* parse.y (dsym): convert also literals containing NUL to</div><div class='del'>-	  symbol.</div><div class='del'>-</div><div class='del'>-	* parse.y (debug_lines): use rb_hash_lookup() to get rid of</div><div class='del'>-	  call of Hash#default.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_warningS): unused in ripper right now.</div><div class='del'>-</div><div class='del'>-Fri Jul 13 10:33:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_flatten_bang): check argument if valid</div><div class='del'>-	  integer.  [ruby-dev:31197]</div><div class='del'>-</div><div class='del'>-Fri Jul 13 10:10:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command, cc_command, cpp_command): do not expand</div><div class='del'>-	  ::CONFIG which is an alias of MAKEFILE_CONFIG.</div><div class='del'>-</div><div class='del'>-Thu Jul 12 21:38:02 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_succ): use LONG_MAX as maximum Fixnum VALUE.</div><div class='del'>-	  [ruby-dev:31199]</div><div class='del'>-</div><div class='del'>-Thu Jul 12 18:42:18 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_max): use FIX2LONG instead of FIX2INT to avoid</div><div class='del'>-	  RangeError by ((-0x80000001)...(-0x80000001)).max on LP64.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_plus): use FIX2LONG instead of FIX2INT to avoid</div><div class='del'>-	  RangeError by 0x3fffffffffffffff+1 on LP64.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_succ): don't use 0x80000000 which assumes 32bit VALUE.</div><div class='del'>-	  use FIX2LONG instead of FIX2INT.</div><div class='del'>-	  [ruby-dev:31190]</div><div class='del'>-</div><div class='del'>-Thu Jul 12 17:03:15 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_init_copy): disallow changing the size.</div><div class='del'>-	  [ruby-dev:31168]</div><div class='del'>-</div><div class='del'>-Thu Jul 12 12:58:21 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c: remove "yarv" prefix.</div><div class='del'>-</div><div class='del'>-	* array.c, numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci, insns.def, vm_evalbody.ci: ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: removed.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: renamed to core.h.</div><div class='del'>-</div><div class='del'>-	* cont.c, debug.c, error.c, process.c, signal.c : ditto.</div><div class='del'>-</div><div class='del'>-	* ext/probeprofiler/probeprofiler.c: ditto.</div><div class='del'>-</div><div class='del'>-	* id.c, id.h: added.</div><div class='del'>-</div><div class='del'>-	* inits.c: ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c: rename internal functions.</div><div class='del'>-</div><div class='del'>-	* compile.h: fix debug flag.</div><div class='del'>-</div><div class='del'>-	* eval.c, object.c, vm.c: remove ruby_top_self.</div><div class='del'>-	  use rb_vm_top_self() instead.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, eval_load: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: rename yarv_machine_stack_mark() to</div><div class='del'>-	  rb_gc_mark_machine_stack().</div><div class='del'>-</div><div class='del'>-	* insnhelper.h: remove unused macros.</div><div class='del'>-</div><div class='del'>-	* iseq.c: add iseq_compile() to create iseq object</div><div class='del'>-	  from source string.</div><div class='del'>-</div><div class='del'>-	* proc.c: rename a internal function.</div><div class='del'>-</div><div class='del'>-	* template/insns.inc.tmpl: remove YARV prefix.</div><div class='del'>-</div><div class='del'>-	* thread.c: use rb_iseq_eval() and rb_str_new2().</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_iseq_eval): added.</div><div class='del'>-</div><div class='del'>-	* vm.c: move some functions from yarvcore.c.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: fix to remove compiler warning.</div><div class='del'>-</div><div class='del'>-Thu Jul 12 12:24:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_succ): fixed typo.  [ruby-dev:31189]</div><div class='del'>-</div><div class='del'>-Thu Jul 12 10:30:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): moved prototye from thread_*.ci.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (thread_start_func_2): not use a directive</div><div class='del'>-	  inside a macro argument.  [ruby-talk:258763]</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): pthread_t may not be pointer.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (ubf_select_each): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 12 05:32:28 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FIX2ULONG): drop sign bit for LLP64 platform.</div><div class='del'>-</div><div class='del'>-Tue Jul 10 19:34:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_lookup): added.  this function is similar to</div><div class='del'>-	  rb_hash_aref(), but doesn't call Hash#default when no entry</div><div class='del'>-	  exists.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (lfp_svar_get): use rb_hash_lookup().</div><div class='del'>-</div><div class='del'>-Tue Jul 10 19:16:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, insnhelper.ci, vm.c: change cref index (-1 -&gt; 2).</div><div class='del'>-</div><div class='del'>-Tue Jul 10 18:49:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (exec_under): add proper casts.</div><div class='del'>-</div><div class='del'>-Tue Jul 10 16:58:16 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, insnhelper.ci: fix svar interface.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each), yarvcore.h: fix to use new</div><div class='del'>-	  svar interface for flip flop.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: remove "rb_svar()" declaration.</div><div class='del'>-</div><div class='del'>-Tue Jul 10 16:52:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile): formatted if/else to switch statement.</div><div class='del'>-</div><div class='del'>-Tue Jul 10 15:57:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_flip.rb: new test for flip-flop operator.</div><div class='del'>-</div><div class='del'>-Tue Jul 10 14:50:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/{Makefile.sub,setup.mak}: remove surplus slash from srcdir.</div><div class='del'>-</div><div class='del'>-Mon Jul  9 02:17:36 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_1): workaround for x64-mswin64's SEH.</div><div class='del'>-</div><div class='del'>-Sun Jul  8 02:08:53 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/json.rb, lib/json/, ext/json/: import JSON 1.1.1</div><div class='del'>-</div><div class='del'>-Sat Jul  7 21:59:29 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods#pp_hash): sort condition changed:</div><div class='del'>-	  all keys have a same class which is kind of Comparable.</div><div class='del'>-</div><div class='del'>-Sat Jul  7 17:12:37 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: use rb_bug() instead of rb_compile_error().</div><div class='del'>-</div><div class='del'>-Sat Jul  7 16:12:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix node construction (around f_margs).</div><div class='del'>-	  [ruby-dev:31143]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci: fix indent.</div><div class='del'>-</div><div class='del'>-Sat Jul  7 15:36:50 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods#pp_hash): sort if</div><div class='del'>-	  all keys are strings, symbols or integers.</div><div class='del'>-</div><div class='del'>-Sat Jul  7 15:30:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_yield_setup_args), vm.c, insns.def:</div><div class='del'>-	  fix to pass nil as block parameter to yielded block.</div><div class='del'>-	  [ruby-dev:31147]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 19:55:10 2007  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: typo. Thanks, Giles Bowkett.</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: support Ruby1.9 changing return value</div><div class='del'>-	  String to Symbol for Object#methods, etc. [ruby-dev:31148].</div><div class='del'>-</div><div class='del'>-Fri Jul  6 18:20:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: fix load path.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix "test" rule to run with "btest".</div><div class='del'>-</div><div class='del'>-	* rubytest.rb, sample/test.rb: fix to show tests progress.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 15:37:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: fix test to 1.9 spec.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 15:21:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_interrupt): suppress a gcc's officious warning.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 14:57:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (keyword_to_name): constified.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (token_to_eventid): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 14:50:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: added --quiet option.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 14:35:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_marg): wrap f_norm_arg assignment node with NODE_LIST.</div><div class='del'>-	  [ruby-dev:31141]</div><div class='del'>-</div><div class='del'>-Fri Jul  6 12:15:01 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/sentgen.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: tests implemented using assignment</div><div class='del'>-	  generator and emulator.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 03:06:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: remove unused code.</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign): fix to invoke to_splat on</div><div class='del'>-	  splat rhs (example: *a = *nil). [ruby-dev:31136]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_massign.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): disable excess optimization.</div><div class='del'>-	  [ruby-dev:31126]</div><div class='del'>-</div><div class='del'>-Fri Jul  6 02:08:25 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: fix to invoke nil.to_splat on NODE_ARGSCAT.</div><div class='del'>-	  [ruby-dev:31138].</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 19:45:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: rename rb_control_frame_t#magic to flag.</div><div class='del'>-</div><div class='del'>-	* vm.h: add VM_FRAME_TYPE() and VM_FRAME_FLAG().</div><div class='del'>-</div><div class='del'>-	* cont.c, insnhelper.ci, insns.def, vm.c, vm_dump.c,</div><div class='del'>-	  vm_evalbody.ci, yarvcore.c: apply above changes.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 19:16:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: remove an assertion using</div><div class='del'>-	  unsupported hash literal (such as {1, 2}).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 19:12:22 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: Qfalse is VALUE, not pointer.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 18:42:01 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): add break catch point.</div><div class='del'>-</div><div class='del'>-	* insns.def (throw): support correct "break" and "return".</div><div class='del'>-	  this commit achieve that "make test" passes all tests.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 18:44:12 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_basic): use mlhs_post after tSTAR.</div><div class='del'>-	  [ruby-dev:31109]</div><div class='del'>-</div><div class='del'>-Thu Jul  5 18:27:58 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/{intern,ruby}.h, compile.[ch], error.c, eval.c,</div><div class='del'>-	  eval_load.c, gc.c, iseq.c, main.c, parse.y, re.c, ruby.c,</div><div class='del'>-	  yarvcore.[ch] (ruby_eval_tree, ruby_sourcefile, ruby_sourceline,</div><div class='del'>-	  ruby_nerrs): purge global variables.</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): moved do_print and do_loop options</div><div class='del'>-	  handling from ruby_process_options().</div><div class='del'>-</div><div class='del'>-Thu Jul  5 16:37:34 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): fix previous nubu's commit.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: new test.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 15:56:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): even number multiplication never be negative.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 10:42:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/{node,ruby}.h, ruby.c: added enum constants for gdb</div><div class='del'>-	  support.  [ruby-dev:31066]</div><div class='del'>-</div><div class='del'>-	* .gdbinit: some improvements.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 10:13:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (global_symbols.last_id): reduce unused ID numbers.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h, st.c (st_init_table, st_init_table_with_size):</div><div class='del'>-	  constified.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 23:36:27 2007  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/authenticator.rb</div><div class='del'>-	  (WEBrick::HTTPAuth::Authenticator#check_scheme): auth-scheme must be</div><div class='del'>-	  treated as a case-insensitive token according to RFC 2617 section 1.2.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 18:30:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_inner): new rule.  [ruby-dev:31132]</div><div class='del'>-</div><div class='del'>-Wed Jul  4 05:11:57 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (set_relation): added.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 04:58:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (caller_setup_args): fix to show correct class</div><div class='del'>-	  on an error message (ex: m(&amp;1)). [ruby-dev:31101]</div><div class='del'>-</div><div class='del'>-Wed Jul  4 04:30:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array, iseq_compile_each): fix about array</div><div class='del'>-	  generation in void context. [ruby-dev:31102]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 04:07:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array): ignore NODE_ZARRAY.</div><div class='del'>-	  [ruby-dev:31110]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 04:04:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.h: fix debug print level.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 03:52:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): support v[&amp;b]= type method call.</div><div class='del'>-	  [ruby-dev:31094]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 03:43:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign): fix massign compilation</div><div class='del'>-	  (example: a, *v, (*x) = ...).  [ruby-dev:31107]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_massign.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Tue Jul  3 23:12:29 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/onigiruma.h (ONIG_EXTERN): use RUBY_EXTERN if defined.</div><div class='del'>-</div><div class='del'>-	* regenc.h: include ruby/defines.h.</div><div class='del'>-</div><div class='del'>-	* regint.h: x64-mswin64 support.</div><div class='del'>-</div><div class='del'>-Tue Jul  3 13:47:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_save_machine_stack): clear saved_thread.machine_stack*.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 21:45:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: rename iseq_translate_direct_threaded_code()</div><div class='del'>-	  to iseq_translate_threaded_code().</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, yarvcore.h: mv EXEC_EVENT_HOOK() and</div><div class='del'>-	  exec_event_hooks() to yarvcore.h.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci, vm.c: mv yarv_finish_insn_seq to vm.c.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_call_c_function): fix to use RESTORE_REGS().</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_build_for_ruby2cext): fix to allocate iseq.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 11:59:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): suppress a warning.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_call_c_function): should raise the thrown exception</div><div class='del'>-	  instead of returning it.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 08:53:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, yarvcore.h: move declaration of sysstack_error</div><div class='del'>-	  to yarvcore.h.</div><div class='del'>-</div><div class='del'>-	* iseq.c: fix symbol name (:toplevel -&gt; :top).</div><div class='del'>-</div><div class='del'>-	* lib/vm/instruction.rb, template/vm.inc.tmpl: replaceable</div><div class='del'>-	  current file name.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 05:29:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c: fix iseq some of load/store process.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 03:09:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, compile.c, insnhelper.ci, iseq.c, vm.c:</div><div class='del'>-	  rename structure names and field names.</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, insns.def: add GET_CONST_INLINE_CACHE().</div><div class='del'>-</div><div class='del'>-	* iseq.c: add rb_iseq_build_for_ruby2cext().</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, vm.h: move declaration of rb_insn_func_t</div><div class='del'>-	  to yarvcore.h.</div><div class='del'>-</div><div class='del'>-Sun Jul  1 03:25:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, vm.h: some refactoring.</div><div class='del'>-	  remove useless comments, etc.</div><div class='del'>-</div><div class='del'>-Sun Jul  1 03:02:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: some refactoring on rb_iseq_t.</div><div class='del'>-	  rename some variable names, add comments, etc.</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c, proc.c, vm.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul  1 02:57:57 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h: rename insn_func_type to rb_insn_func_type.</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.ci: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: add opt_call_native_compiled instruction</div><div class='del'>-	  instead of opt_call_native_compiled.</div><div class='del'>-</div><div class='del'>-Sat Jun 30 00:17:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): return non-valid token for an invalid</div><div class='del'>-	  instance/class variable name.  a patch from Yusuke ENDOH</div><div class='del'>-	  &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:31095]</div><div class='del'>-</div><div class='del'>-Fri Jun 29 23:38:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmts): fix for ripper.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 21:55:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix to show line number of blank block.</div><div class='del'>-	  [ruby-dev:31093]</div><div class='del'>-</div><div class='del'>-Fri Jun 29 20:51:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (create_new_id): don't cut off md5.hexdigest to</div><div class='del'>-	  follow Ruby 1.8.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 17:10:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.h: constified.</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_set_debug_option): separated from main.c.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_stress), signal.c (ruby_enable_coredump): prefixed.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 16:39:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): fix to return a proc object</div><div class='del'>-	  which block is contained ([ruby-dev:31056]).</div><div class='del'>-</div><div class='del'>-Fri Jun 29 15:43:59 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): get rid of division by zero.  reported by</div><div class='del'>-	  Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt; [ruby-dev:31040]</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round): do nothing when rounding by zeroth digit.</div><div class='del'>-	  check underflow.  [ruby-dev:31043]</div><div class='del'>-</div><div class='del'>-Fri Jun 29 15:32:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add fastcall attribute check.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 14:51:24 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc_list): remove expanded hash literal (no splat).</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::EOFError): adapt</div><div class='del'>-	  to new syntax.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 14:48:18 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/insns2vm.rb, lib/vm/instruction.rb: move process body</div><div class='del'>-	  to lib/vm/instruction.rb.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix aotc rule.</div><div class='del'>-	  experimental. bin/ruby2cext is not added yet.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 11:23:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dsym): return non-null NODE even if yyerror().  based on a</div><div class='del'>-	  patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.  [ruby-dev:31085]</div><div class='del'>-</div><div class='del'>-Thu Jun 28 23:29:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc_list): odd number check only for NODE_ARRAY.</div><div class='del'>-	  [ruby-dev:31082]</div><div class='del'>-</div><div class='del'>-Thu Jun 28 22:24:33 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: define FUNC_FASTCALL macro.</div><div class='del'>-</div><div class='del'>-	* vm.h: fix to use FUNC_FASTCALL macro.</div><div class='del'>-	  TODO: add FUNC_FASTCALL macro by configure.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 19:38:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: fix to remove -Wall warnings on gcc.</div><div class='del'>-</div><div class='del'>-	* compile.c (make_name_with_str): removed. use rb_sprintf() instead.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 18:53:01 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_hash): fix hash area.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 15:00:06 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): local variable to be</div><div class='del'>-	  initialized.  [ruby-dev:31077]</div><div class='del'>-</div><div class='del'>-Thu Jun 28 11:30:39 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_obj_id): use SIGNED_VALUE instead of long.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 05:01:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (run.gdb): fix to load $(srcdir)/.gdbinit</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_set_finish_env): add a cast.</div><div class='del'>-</div><div class='del'>-	* vm.h: support __fastcall for MSVC.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 02:12:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: fix to untouch $:.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 02:03:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (setup_args): change parameter type.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 02:03:39 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): unconstify cast.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 01:44:31 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): don't allocate a string object at first.</div><div class='del'>-	  [ruby-dev:31064]</div><div class='del'>-</div><div class='del'>-Thu Jun 28 01:24:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: fix to show file name.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_*.rb: add bootstrap tests.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 01:22:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h, parse.y, gc.c, iseq.c: remove NODE_CREF.</div><div class='del'>-</div><div class='del'>-Thu Jun 28 01:19:43 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix popped backref and others.</div><div class='del'>-	  ([ruby-dev:31068]).</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): remove needless statements.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 23:51:33 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: remove unused functions.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 20:46:05 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/Makefile.sub, win32/configure.bat,</div><div class='del'>-	  win32/mkexports.rb, win32/setup.mak, win32/win32.c: import</div><div class='del'>-	  x64-mswin64 port.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 20:31:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_translate_direct_threaded_code): fix prototype</div><div class='del'>-	  function name.</div><div class='del'>-</div><div class='del'>-	* vm.h: add correct cast.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 17:08:42 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.ci: support OPT_CALL_THREADED_CODE.</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, vm.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.h: add VM_CFP_CNT() and VM_SP_CNT().</div><div class='del'>-</div><div class='del'>-Wed Jun 27 04:23:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix type error.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 03:26:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign), insns.def (expandarray): support</div><div class='del'>-	  postarg with massign (a, *b, c = ...).</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_massign.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* compile.h: fix debug macro names.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 00:18:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_clear): need to check STR_EMBED_P() before</div><div class='del'>-	  free()ing memory.  a patch from Yusuke ENDOH &lt;mame AT tsg.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:31062]</div><div class='del'>-</div><div class='del'>-Tue Jun 26 16:39:01 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getgroups): use GIDT2NUM for rb_gid_t.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 16:28:24 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): terminate fdset.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 16:26:58 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h: IL32LLP64 support.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 16:22:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_node_name): update node names.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 15:21:20 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: IL32LLP64 support.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigfixize, rb_cstr_to_inum): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_plus, opt_minus, opt_mult): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 15:04:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_s_new): revert initializing VM stack.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (th_init2): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm.h: fix to stop using Qundef on VM stack.  According to</div><div class='del'>-	  this change, VM stack should not include Qundef value.</div><div class='del'>-</div><div class='del'>-	* insns.def (putundef): removed.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): fix spacing.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 04:03:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (vm_yield_with_cfunc), proc.c: fix Method#to_proc</div><div class='del'>-	  to return lambda Proc ([ruby-dev:31021], [ruby-dev:31037]).</div><div class='del'>-</div><div class='del'>-Tue Jun 26 03:46:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_s_new): fix to clear rb_thread_t#tag.</div><div class='del'>-	  [ruby-dev:30995]</div><div class='del'>-</div><div class='del'>-Tue Jun 26 03:38:31 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_s_new), yarvcore.c (th_init2): fix to clear</div><div class='del'>-	  VM stack ([ruby-dev:31046]).</div><div class='del'>-</div><div class='del'>-Tue Jun 26 03:15:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: rename setup_arg() to setup_args().</div><div class='del'>-	  fix to use setup_args() at processing NODE_YIELD.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 02:50:24 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (setup_arg): support kind of "m(*ary, x)" method call.</div><div class='del'>-	  ([ruby-dev:31048]).</div><div class='del'>-</div><div class='del'>-Tue Jun 26 00:28:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci, vm.c: complete block parameter support.</div><div class='del'>-	  post arguments, optional arguments, block argument.</div><div class='del'>-</div><div class='del'>-	* compile.c, parse.y: fix {|a|} parameter.</div><div class='del'>-</div><div class='del'>-	* insnshelper.ci, insns.def: revert caller_setup_args() option</div><div class='del'>-	  (need_block_check) parameter.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 20:18:44 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE): in RVALUE and RBasic, flags must be the same type.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 18:02:55 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/extconf.rb: skip wince and win64.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 17:59:32 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/node.h (NODE_LMASK, nd_line): shouldn't use int and/or</div><div class='del'>-	  long carelessly.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 11:36:35 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h: add RUBY_ prefix to debug macros.</div><div class='del'>-</div><div class='del'>-	* cont.c, proc.c, yarvcore.c,</div><div class='del'>-</div><div class='del'>-	* gc.c: define ruby_gc_debug_indent variable to debug mark/free.</div><div class='del'>-</div><div class='del'>-	* vm.c, insnhelper.ci: rename some functions to vm_* or rb_vm_*.</div><div class='del'>-	  move some functions, definitions, declarations to suitable files.</div><div class='del'>-</div><div class='del'>-	* eval.c, yarvcore.h, eval_error.ci, insnhelper.ci: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 09:45:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.ci, eval_jump.ci, eval_method.ci, eval_safe.ci: c-mode.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 05:27:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove ruby_current_node and change eval() prototype.</div><div class='del'>-	  fix to use rb_sourcefile/line() instead of ruby_sourcefile/line.</div><div class='del'>-</div><div class='del'>-	* error.c, eval_error.ci, eval_load.c, eval_safe.ci, gc.c,</div><div class='del'>-	  include/ruby/intern.h, parse.y, process.c, ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: fix spaces.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 04:20:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_*.h: rename to eval_*.ci.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_error.ci: remove ruby_set_current_source().</div><div class='del'>-</div><div class='del'>-	* error.c, eval.c, ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_safe.c, proc.c: remove unused macros.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 03:37:20 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci (caller_setup_args): add need_block_check option.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: add GetCoreDataFromValue().</div><div class='del'>-</div><div class='del'>-Mon Jun 25 02:14:30 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* call_cfunc.ci: removed.</div><div class='del'>-</div><div class='del'>-	* insnhelper.ci: added. this function includes all functions that</div><div class='del'>-	  vm insns need.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, vm.h, vm.c: move some declaration.</div><div class='del'>-</div><div class='del'>-	* gc.h: remove GC_CHECK() macro because GC.stress is more useful.</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c, vm_dump: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.h, thread.c: move a prototype declaration.</div><div class='del'>-</div><div class='del'>-	* debug.c, debug.h: rename some functions.</div><div class='del'>-</div><div class='del'>-	* compile.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 00:45:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokesuper): fix error message.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 00:14:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: some refactoring.</div><div class='del'>-	  * rename th_* to vm_*.</div><div class='del'>-	  * remove unused variables functions.</div><div class='del'>-	  * add prototypes.</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, compile.c, cont.c, eval.c, eval_intern.h,</div><div class='del'>-	  eval_jump.h, eval_load.c, inits.c, insns.def, iseq.c, parse.y,</div><div class='del'>-	  proc.c, process.c, signal.c, thread.c, vm.c, vm_dump.c,</div><div class='del'>-	  vm_evalbody.ci, yarvcore.c, yarvcore.h: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 22:32:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h (rb_add_method): fix to check 0.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 22:00:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insn_send.ci: removed.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_call_bmethod), isnsn.def: added.  fix to use this</div><div class='del'>-	  function instead of using goto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_call_bmethod): renamed from th_invoke_bmethod().</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_method_missing): renamed from eval_method_missing().</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.ci: remove tmp_* variables.</div><div class='del'>-</div><div class='del'>-	* insnhelper.h: add some macros.</div><div class='del'>-</div><div class='del'>-	* insns.def: forbid zsuper from method defined by define_method().</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 20:01:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_macro.def: removed.</div><div class='del'>-</div><div class='del'>-	* insn_send.ci: added.  this file includes send instruction body.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* tool/insns2vm.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 19:30:37 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h (RESTORE_REGS): add do/while(0) around macro.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_macro.def: remove macro_eval_invoke_func() and</div><div class='del'>-	  add vm_setup_method().  use it instead.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 19:02:33 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_macro.def : remove macro_eval_invoke_cfunc() and</div><div class='del'>-	  add vm_call_cfunc().</div><div class='del'>-</div><div class='del'>-Sun Jun 24 17:54:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c: add/fix stack overflow check.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 17:28:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h: change CHECK_STACK_OVERFLOW() to throw exception.</div><div class='del'>-</div><div class='del'>-	* vm.c (caller_setup_arg), vm_macro.def: remove</div><div class='del'>-	  macro_eval_setup_send_arguments and add caller_setup_arg().</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add splat arg tests.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 16:35:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_to_s): used a variable before initialized.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 16:05:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (callee_setup_arg): added.  support correct post arg.</div><div class='del'>-</div><div class='del'>-	* vm_macro.def (macro_eval_invoke_func): fix to use</div><div class='del'>-	  callee_setup_arg.</div><div class='del'>-</div><div class='del'>-	* compile.c (set_arguments): adjust for above changes.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_iseq_disasm): ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: add rb_iseq_t#post_arg_start and arg_size.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add post arg tests.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 16:10:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_to_s): suppress warning, and reduced duplicated code.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 15:33:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: set default directory to</div><div class='del'>-	  '/tmp/bootstraptest.tmpwd' and add --dir option.</div><div class='del'>-	  fix to output driver and target information.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix to run btest on BASERUBY and</div><div class='del'>-	  add OPTS to pass option ("make btest OPTS=...").</div><div class='del'>-</div><div class='del'>-Sun Jun 24 03:05:00 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax): fix SEGV by [].minmax.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 17:18:19 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_inspect): MatchData#inspect implemented.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 15:00:16 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax): new method to get the minimum and maximum</div><div class='del'>-	  values from the enumerable at once.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax_by): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 01:25:40 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_assoc): new method.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_rassoc): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_flatten): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 23:55:59 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): add optional argument to specify</div><div class='del'>-	  exclusiveness.</div><div class='del'>-</div><div class='del'>-	* range.c (range_step): use String#upto with optional argument.</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 19:55:51 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_to_s): revert the change from %p to %lx at YARV</div><div class='del'>-	  merge time.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 19:33:49 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_to_s): show is_lambda.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 20:36:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_sort): remove hash specific implementation.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 20:28:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_select): returns new hash, not assoc array.</div><div class='del'>-	  [ruby-core:11504]</div><div class='del'>-</div><div class='del'>-	* hash.c (env_select): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 23:08:19 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): ID_JUNK test based on len, not by NUL.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 19:42:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (rb_thread_mark): mark also thrown_errinfo.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 17:13:44 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): name may not be NUL-terminated.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 08:27:57 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.h (error_print): show full stacktrace on</div><div class='del'>-	  non-SystemStackError.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 04:45:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): use rb_intern2 to intern without trailing</div><div class='del'>-	  equal sign.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2, ripper_id2sym): fixed indent.</div><div class='del'>-</div><div class='del'>-Tue Jun 19 10:55:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c (load_ext, rb_require_safe): pass VALUE instead of</div><div class='del'>-	  pointer.  [ruby-Bugs-11659]</div><div class='del'>-</div><div class='del'>-Mon Jun 18 08:47:54 2007  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/{extconf.rb,ossl_ssl_session.c}:</div><div class='del'>-	  Fix ruby-Bugs-11513.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c</div><div class='del'>-	  New methods EC::Point.[eql,make_affine!,invert!,on_curve?,infinity?]</div><div class='del'>-	  By default output the same key form as the openssl command.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c</div><div class='del'>-	  New method Random.status?</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ec.rb</div><div class='del'>-	  New tests.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 17:04:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c (rb_require_safe, ruby_init_ext): load with ruby level</div><div class='del'>-	  cfp.  [ruby-core:10779]</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm.c (rb_vm_call_cfunc): new function to call a</div><div class='del'>-	  function with ruby level cfp.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 16:57:24 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): disable trace while creating ruby_debug_lines.</div><div class='del'>-	  [ruby-talk:253586]</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_suppress_tracing): new function to call a function</div><div class='del'>-	  with suppressing trace.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb, lib/tracer.rb: for YARV.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 13:54:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): return EXIT_FAILURE if any exceptions occurred</div><div class='del'>-	  in at_exit blocks.  [ruby-core:11263]</div><div class='del'>-</div><div class='del'>-Mon Jun 18 02:49:16 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (env_mark): fix to mark block.proc.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_make_proc_from_block): set created proc to block-&gt;proc.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 02:48:12 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (vm_stack_dump_raw): hide VM stack trace.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 02:43:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): clear gc_stress flag on SEGV.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 01:14:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path2class): get rid of dangling pointer caused by</div><div class='del'>-	  optimized out value.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_global_entry, rb_f_untrace_var, rb_alias_variable,</div><div class='del'>-	  rb_generic_ivar_table, generic_ivar_get, generic_ivar_set,</div><div class='del'>-	  generic_ivar_defined, generic_ivar_remove, rb_mark_generic_ivar,</div><div class='del'>-	  rb_free_generic_ivar, rb_copy_generic_ivar,</div><div class='del'>-	  rb_obj_instance_variables): suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun Jun 17 11:11:07 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_missing): avoid a warning "too many arguments</div><div class='del'>-	  for format string" on "./ruby -ve 'def m() super end; m'".</div><div class='del'>-</div><div class='del'>-Sat Jun 16 22:24:17 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): re-introduce ruby_current_node marking code.</div><div class='del'>-	  [ruby-dev:31005]</div><div class='del'>-</div><div class='del'>-Sat Jun 16 21:37:43 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): re-introduce heap extension strategy change.</div><div class='del'>-	  [ruby-dev:31005]</div><div class='del'>-</div><div class='del'>-Fri Jun 15 22:59:37 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit: new file to ease debugging using gdb.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 22:33:55 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (default_handler): func argument removed.</div><div class='del'>-	  (trap_handler): support SYSTEM_DEFAULT.  call default_handler</div><div class='del'>-	  internally.</div><div class='del'>-	  (sig_trap): don't call default_handler.</div><div class='del'>-	  [ruby-dev:30999]</div><div class='del'>-</div><div class='del'>-Fri Jun 15 22:33:29 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (realclean): separate local and ext.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: not remove unrelated directories.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 20:50:02 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* keywords: enclose C code in declaration section by %{ and %} to</div><div class='del'>-	  avoid extra semicolon after #ifdef RIPPER.</div><div class='del'>-	  pointed by eban.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 18:56:52 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap_handler): trap("SIGSEGV", "DEFAULT") may cause wrong</div><div class='del'>-	  trap error because SIG_DFL may be zero.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 15:55:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (setconstant, toregexp): fix to mark object correctly.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 13:24:18 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: exchange semantics of Hash#each and Hash#each_pair.</div><div class='del'>-	  pointed out by [ruby-dev:30997].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 12:38:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: remove debug code (GC.stress=true).</div><div class='del'>-</div><div class='del'>-Fri Jun 15 12:25:33 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (th_yield_setup_args): |v| should work as |v,|.</div><div class='del'>-	  ex) def m;yield 1, 2; end; m{|v| p v} #=&gt; 1</div><div class='del'>-</div><div class='del'>-	* parse.y: apply above change for "for" statement.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix debug.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 12:22:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_finalize_1): rb_thread_t#errinfo should be clear with</div><div class='del'>-	  Qnil.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 12:20:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_cont_call): forbid cross fiber continuation call.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 12:14:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: fix to show line information whether test succeeds.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 17:16:05 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c (Init_load): delay allocating an array for rb_load_path</div><div class='del'>-	  to avoid GC problem in very early stage.</div><div class='del'>-	  (RUBY_GC_STRESS causes GC in such stage.)</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_gc_mark_global_tbl): rb_global_tbl may be 0 in</div><div class='del'>-	  very early stage.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_cleanup_func) [IA64]: clear register stack position.</div><div class='del'>-	  (thread_start_func_2) [IA64]: record the beginning of register</div><div class='del'>-	  stack using extra argument.</div><div class='del'>-	  (rb_gc_save_machine_context) [IA64]: record the end of register</div><div class='del'>-	  stack.</div><div class='del'>-</div><div class='del'>-	* gc.c [IA64] (SET_STACK_END): record the end of register stack.</div><div class='del'>-	  (garbage_collect) [IA64]: use recorded register stack area for</div><div class='del'>-	  GC marking.</div><div class='del'>-	  (yarv_machine_stack_mark) [IA64]: GC mark from the register stack</div><div class='del'>-	  area.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c [IA64] (rb_gc_register_stack_start): defined.</div><div class='del'>-	  (Init_VM): store th-&gt;self on stack to fix GC problem.</div><div class='del'>-	  (Init_yarv) [IA64]: initialize the beginning of register stack.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h (struct rb_thread_struct) [IA64]: new members for</div><div class='del'>-	  register stack area.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (thread_start_func_1) [IA64]: call</div><div class='del'>-	  thread_start_func_2 with the end of register stack.</div><div class='del'>-</div><div class='del'>-	* cont.c (struct rb_context_struct) [IA64]: new members for register</div><div class='del'>-	  stack area.</div><div class='del'>-	  (cont_mark) [IA64]: GC mark from register stack area.</div><div class='del'>-	  (cont_free) [IA64]: free saved register stack.</div><div class='del'>-	  (cont_save_machine_stack) [IA64]: record the position and contents</div><div class='del'>-	  of the register stack.</div><div class='del'>-	  (cont_capture): store cont-&gt;self on stack to fix GC problem.</div><div class='del'>-	  (cont_restore_1) [IA64]: restore the register stack.</div><div class='del'>-	  [IA64] (register_stack_extend): new function.</div><div class='del'>-	  (cont_restore_0) [IA64]: call register_stack_extend instead of</div><div class='del'>-	  cont_restore_1.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:30982]</div><div class='del'>-</div><div class='del'>-Thu Jun 14 17:09:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser): handle more</div><div class='del'>-	  extensions.  [ruby-dev:30972]</div><div class='del'>-</div><div class='del'>-Thu Jun 14 14:40:42 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: document updated.</div><div class='del'>-	  suggested by NaHi.  [ruby-dev:30966]</div><div class='del'>-</div><div class='del'>-Wed Jun 13 22:42:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): update IA64 register stack code.</div><div class='del'>-	  [ruby-dev:30971]</div><div class='del'>-</div><div class='del'>-Wed Jun 13 06:05:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (darwin): prohibit loading extension libraries to</div><div class='del'>-	  miniruby.</div><div class='del'>-</div><div class='del'>-Tue Jun 12 21:50:51 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): no allow splat after assocs.  takes</div><div class='del'>-	  consistency over compatibility.</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args2): ditto</div><div class='del'>-</div><div class='del'>-Tue Jun 12 14:53:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.quiet, Logging.message): added quiet flag and</div><div class='del'>-	  use it.  [ruby-core:10909]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_header): use header names in the message.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 18:37:13 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/probeprofiler/probeprofiler.c: clean warnings.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 18:32:24 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/isinf.c, missing/dup2.c, missing/strtod.c, missing/x68.c,</div><div class='del'>-	  missing/alloca.c: use "ruby/config.h".</div><div class='del'>-</div><div class='del'>-Sun Jun 10 17:49:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install_recursive): should check parent directories of</div><div class='del'>-	  the destination.  [ruby-dev:30947]</div><div class='del'>-</div><div class='del'>-Sun Jun 10 16:59:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (do_block, brace_block): fix line numbers.  [ruby-dev:30831]</div><div class='del'>-</div><div class='del'>-Sun Jun 10 16:57:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install_recursive): add :glob option rather than</div><div class='del'>-	  using FNM_DOTMACH.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (ext-comm): make header directory first.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 16:10:58 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: typo.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 16:07:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install_recursive): skip .svn directories.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 15:44:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): rubyhdrdir was missing.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 15:26:36 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: use --output-file for gperf to not leave lex.c.tmp.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 15:11:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (XCFLAGS): -I. is needed for *.inc.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: prepend also topdir to mflags at last.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 13:47:36 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_should_propagate_signaled):</div><div class='del'>-	  get rid of invoking shell.  [ruby-dev:30942]</div><div class='del'>-</div><div class='del'>-Sun Jun 10 12:56:46 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby: moved public headers.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install_recursive): skip backup files.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (ext-comm): install only current platform headers.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 10:42:04 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: renamed from lib/secrand.rb.</div><div class='del'>-	  suggested by NaHi.  [ruby-dev:30934]</div><div class='del'>-</div><div class='del'>-Sat Jun  9 06:40:05 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/secrand.rb: rename SecRand() to SecRand.random_number.</div><div class='del'>-	  suggested by NaHi.  [ruby-dev:30934]</div><div class='del'>-</div><div class='del'>-Fri Jun  8 16:34:20 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_s_open): use FilePathValue to support</div><div class='del'>-	  to_path.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 16:11:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.h: th-&gt;errinfo should clear with nil.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 14:53:28 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): allow splat argument after unpacked</div><div class='del'>-	  assocs like 1.8 does.</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 14:26:18 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/secrand.rb: new file for secure random interface.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb: use secrand for generating cookies.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 12:44:37 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {win32,wince}/Makefile.sub: add lex.c rule.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 11:54:18 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lex.c.blt: moved from lex.c.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: use lex.c.blt if gperf is not available.</div><div class='del'>-	  [ruby-list:8212], [ruby-list:8214], [ruby-list:24667],</div><div class='del'>-	  [ruby-talk:120857], [ruby-dev:28102]</div><div class='del'>-</div><div class='del'>-Thu Jun  7 21:38:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): invoke ensure when</div><div class='del'>-	  main thread exits.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 19:02:48 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: call original "method" method instead of redefined one.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 17:20:57 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): freeze filename and name string.</div><div class='del'>-</div><div class='del'>-	* variable.c: freeze class name string.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 12:48:33 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_1): fix to check root fiber [ruby-dev:30911].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 07:24:36 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/json/common.rb: Ponder offering parse! method.</div><div class='del'>-</div><div class='del'>-	* lib/json/editor.rb: be a bit more robust while loading data.</div><div class='del'>-</div><div class='del'>-	* ext/json/ext/{generator,parser}/extconf.rb:</div><div class='del'>-	  add a have_header directive for st.h</div><div class='del'>-</div><div class='del'>-	* test/json: fix some tests.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 03:29:18 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test_fiber.rb: add a test (Continuation and Fiber).</div><div class='del'>-</div><div class='del'>-Thu Jun  7 03:17:24 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_new): add debug message.</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_1): copy stack information from fiber.</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_s_new): fix to mark created fiber.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add some tests around Thread and Fiber.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (thread_free): fix to skip freeing stack if root fiber</div><div class='del'>-	  is available.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 01:03:20 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, eval.c (ruby_init): remove POP_TAG_INIT().</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): remove zero-clearing tag.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 20:23:46 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokeblock): fix of splat argument.</div><div class='del'>-	  (splat same as normal method dispatch)</div><div class='del'>-</div><div class='del'>-Wed Jun  6 16:27:25 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: fixed indentation.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 10:58:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield): fix to check Qundef.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 10:57:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb: add a test for last commit.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 10:55:42 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_cont_call): forbid calling dead fiber with</div><div class='del'>-	  Continuation#call.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 10:50:01 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix around yield arguments</div><div class='del'>-	  (with NODE_ARGSCAT).</div><div class='del'>-</div><div class='del'>-Wed Jun  6 02:50:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): clear th-&gt;tag and check error to fix</div><div class='del'>-	  [ruby-dev:30888] and [ruby-dev:30889].</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: fix rb_fiber_start() prototype.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 02:40:20 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, insns.def (DEC_SP): shouldn't use unary minus operator</div><div class='del'>-	  in pointer operation. some compilers (such as VC++8 x64) cannot deal</div><div class='del'>-	  it with expected way.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 02:19:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_yield), compile.c (iseq_compile_each): fix</div><div class='del'>-	  passing parameter.</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_jump.h: simplify rb_yield*.</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_mark): fix to mark proc-&gt;block.proc.</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): add Proc#lambda?</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: add some tests.</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block): fix to check lambda block or not.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_yield_setup_args): fix to check arguments size</div><div class='del'>-	  when lambda block.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 16:30:38 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_p): returns arguments to intervene.  [ruby-dev:29736]</div><div class='del'>-</div><div class='del'>-Tue Jun  5 14:07:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokeblock): check block is created by lambda</div><div class='del'>-	  or Proc.new.</div><div class='del'>-</div><div class='del'>-	* vm.c (block_proc_is_lambda): added.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 14:47:52 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods::seplist): revert last change to work</div><div class='del'>-	  around wrapper bug.  [ruby-dev:30840]</div><div class='del'>-</div><div class='del'>-Tue Jun  5 14:11:15 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (kanji_convert): Fix guess fallback.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 13:32:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, dir.c, eval.c, eval_jump.h, eval_method.h, numeric.c,</div><div class='del'>-	  pack.c, parse.y, re.c, thread.c, vm.c, vm_dump.c, call_cfunc.ci,</div><div class='del'>-	  thread_pthread.ci, thread_win32.ci: fixed indentation.</div><div class='del'>-</div><div class='del'>-	* call_cfunc.ci: protoized.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci: fixed typo.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 13:17:11 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* call_cfunc.ci, compile.c, dir.c, eval.c, eval_jump.h, numeric.c,</div><div class='del'>-	  pack.c, re.c, thread.c, thread_win32.ci, vm.c, vm_dump.c: fixed</div><div class='del'>-	  indentation.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 21:15:45 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/json.rb, lib/json, ext/json, test/json:</div><div class='del'>-	  import JSON library.</div><div class='del'>-</div><div class='del'>-	* ext/nkf: import nkf.c rev:1.124</div><div class='del'>-	  Support CP10001.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 20:52:58 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round): should not just truncate.</div><div class='del'>-</div><div class='del'>-Sat Jun  2 16:48:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (Fiber#pass): rename to Fiber#yield.  Block parameter</div><div class='del'>-	  of fiber body receive first yield values.</div><div class='del'>-	  e.g.: Fiber.new{|x| p x}.yield(:ok) #=&gt; :ok</div><div class='del'>-</div><div class='del'>-	* cont.c: rename rb_context_t#retval to rb_context_t#value.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun  2 16:45:21 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): remove a line break.</div><div class='del'>-</div><div class='del'>-Sat Jun  2 01:27:27 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round): small optimization to handle bignums.</div><div class='del'>-</div><div class='del'>-Fri Jun  1 13:02:35 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h (INC_SP): shouldn't cast ``x'' to unsigned type because</div><div class='del'>-	  it might be a negative value.</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, insns.def: shouldn't use unary minus operator in index</div><div class='del'>-	  operator. some compilers (such as VC++8 x64) cannot deal it with</div><div class='del'>-	  expected way.</div><div class='del'>-</div><div class='del'>-Fri Jun  1 11:33:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_round): should convert self to Float.</div><div class='del'>-	  [ruby-dev:30860]</div><div class='del'>-</div><div class='del'>-Fri Jun  1 02:01:13 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): now takes optional argument to specify</div><div class='del'>-	  number of digits, like round() in Python/PHP.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_round): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  1 01:58:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (each_with_index_i): should work well with continuation.</div><div class='del'>-	  a patch from sheepman &lt;sheepman AT sheepman.sakura.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:30846]</div><div class='del'>-</div><div class='del'>-Thu May 31 17:27:53 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (Benchmark::Job::item): avoid modifying the</div><div class='del'>-	  argument unintentionally.  [ruby-talk:253676]</div><div class='del'>-</div><div class='del'>-Wed May 30 14:43:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_capture): store all local variables in heap</div><div class='del'>-	  ([ruby-dev:30832]).</div><div class='del'>-</div><div class='del'>-	* vm.c (th_stack_to_heap): added.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (th_get_ruby_level_cfp): fix to clean code.</div><div class='del'>-</div><div class='del'>-Wed May 30 13:32:34 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (ResponseParser#next_token): fixed</div><div class='del'>-	  error message.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (ResponseParser#parse_error): fixed</div><div class='del'>-	  the condition not to refer to @token.symbol unexpectedly.</div><div class='del'>-	  Thanks, Dick Monahan.</div><div class='del'>-</div><div class='del'>-Wed May 30 13:24:33 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#transfercmd): skip 2XX</div><div class='del'>-	  responses for some FTP servers.</div><div class='del'>-</div><div class='del'>-Wed May 30 04:18:37 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval_cmd): just return if no exceptions.</div><div class='del'>-	  [ruby-dev:30820]</div><div class='del'>-</div><div class='del'>-Wed May 30 02:14:25 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (interrupt_init): needs to pass nil for Interrupt.</div><div class='del'>-	  [ruby-core:11038]</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): fixed segfaults.  [ruby-dev:30830]</div><div class='del'>-</div><div class='del'>-Wed May 30 00:50:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_source_filename, obj_free): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect, yarv_machine_stack_mark): fixed typo.</div><div class='del'>-	  http://bugs.debian.org/426267</div><div class='del'>-</div><div class='del'>-Wed May 30 00:24:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (open_args, arg_ambiguous, parser_warning): should not use</div><div class='del'>-	  rb_warning in the parser.</div><div class='del'>-</div><div class='del'>-Tue May 29 12:31:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_opendir): removed duplicated code.</div><div class='del'>-</div><div class='del'>-Tue May 29 10:55:24 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: fix bug around Continuation and Fiber.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb: add tests for Continuation.</div><div class='del'>-</div><div class='del'>-Tue May 29 10:54:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_opendir, rb_w32_readdir): eliminate magic</div><div class='del'>-	  numbers.</div><div class='del'>-</div><div class='del'>-Mon May 28 10:27:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: fixed a function name.</div><div class='del'>-</div><div class='del'>-Mon May 28 03:56:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: support Fiber.  Check test/ruby/test_fiber.rb for detail.</div><div class='del'>-	  Fiber is known as "Micro Thread", "Coroutine", and other terms.</div><div class='del'>-	  At this time, only Fiber#pass is supported to change context.</div><div class='del'>-	  I want to know more suitable method name/API for Fiber (... do you</div><div class='del'>-	  know more suitable class name instead of Fiber?) as "suspend/resume",</div><div class='del'>-	  "call", "yield", "start/kick/stop/restart", ....</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, thread.c, yarvcore.c, yarvcore.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 26 00:38:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_internal): do nothing if no code.</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile): check node if NULL before check</div><div class='del'>-	  nd_type.  [ruby-talk:252956]</div><div class='del'>-</div><div class='del'>-Sat May 26 00:05:22 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_should_propagate_signaled):</div><div class='del'>-	  skip tests for exitstatus and termsig on the platforms where</div><div class='del'>-	  signals not supported.</div><div class='del'>-</div><div class='del'>-Fri May 25 16:04:47 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (Init_VM): wrap already initialized structs to use</div><div class='del'>-	  it directly.</div><div class='del'>-</div><div class='del'>-Fri May 25 11:09:47 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (include): on some platform, defines.h redefines</div><div class='del'>-	  SIZE_OF_LONG_LONG so shouldn't re-include config.h after included</div><div class='del'>-	  defines.h.</div><div class='del'>-</div><div class='del'>-	* regint.h (vsnprintf): ruby on windows already have vsnprintf macro.</div><div class='del'>-</div><div class='del'>-Thu May 24 12:07:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: check across trap violation.</div><div class='del'>-</div><div class='del'>-	* eval.c, yarvcore.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu May 24 11:46:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, yarvcore.c: fix to mark VM structure on startup.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: disable USE_CACHED_VALUE.</div><div class='del'>-</div><div class='del'>-Thu May 24 01:54:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: support callcc which everyone love.</div><div class='del'>-	  incomplete. please give me bug reports.</div><div class='del'>-</div><div class='del'>-	* common.mk, inits.c, thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: export thread_mark().</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: disable value cache option.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: set th_get_ruby_level_cfp to inline.</div><div class='del'>-</div><div class='del'>-Wed May 23 15:39:02 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add a rule for regsyntax.c.</div><div class='del'>-</div><div class='del'>-Wed May 23 10:31:53 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: updated to Oniguruma 5.7.0.</div><div class='del'>-</div><div class='del'>-	* regsyntax.c, unicode.c: new files along with Oniguruma 5.x.</div><div class='del'>-</div><div class='del'>-Wed May 23 06:51:46 2007  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI#[]): get rid of exceptions being raised.</div><div class='del'>-	  [ruby-dev:30740], Thanks Kentaro KAWAMOTO.</div><div class='del'>-</div><div class='del'>-Wed May 23 05:49:49 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, ext/purelib.rb, lib/mkmf.rb, runruby.rb: clear default</div><div class='del'>-	  load path to get rid of load pre-installed extensions/libraries.</div><div class='del'>-	  [ruby-core:11017]</div><div class='del'>-</div><div class='del'>-Tue May 22 16:37:36 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): support RSTRING_LEN on HP-UX.  a patch from</div><div class='del'>-	  WATANABE Tetsuya &lt;Tetsuya.WATANABE AT nifty.com&gt;.  [ruby-dev:30806]</div><div class='del'>-</div><div class='del'>-Mon May 21 13:40:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, vm_macro.def: support tail call optimization</div><div class='del'>-	  (on default, this feature is not enabled).</div><div class='del'>-</div><div class='del'>-	* iseq.c, compile.c, vm_opts.h: add "tailcall_optimization"</div><div class='del'>-	  option.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (test_ok): fix to adjust tailcall stack layout.</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, compile.c, yarvcore.c, yarvcore.h:</div><div class='del'>-	  add opt_gt, opt_le instructions.</div><div class='del'>-</div><div class='del'>-Mon May 21 03:34:06 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: CRAM-MD5 authentication did not work.</div><div class='del'>-	  [ruby-dev:30770]</div><div class='del'>-</div><div class='del'>-Sat May 19 10:26:01 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date._parse): detects some OFX dates</div><div class='del'>-	  (Of course not fully).</div><div class='del'>-</div><div class='del'>-Sat May 19 03:08:05 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): minor improvement.  [ruby-dev:30792]</div><div class='del'>-</div><div class='del'>-	* enum.c (one_i): no needs to iterate once the result became false.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_one): fix for an example.</div><div class='del'>-</div><div class='del'>-	* enum.c (one_iter_i, none_iter_i): DRY.;</div><div class='del'>-</div><div class='del'>-Sat May 19 01:07:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): it is now can work without block.  you</div><div class='del'>-	  have to specify two argument method name as the first argument.</div><div class='del'>-</div><div class='del'>-	* enum.c (Init_Enumerable): reduce is new alias to inject.</div><div class='del'>-</div><div class='del'>-Sat May 19 01:05:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): method definition mismatch.</div><div class='del'>-</div><div class='del'>-Fri May 18 16:44:04 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): add to_path method to File objects.</div><div class='del'>-</div><div class='del'>-Fri May 18 11:12:39 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (DllMain, ruby_init_loadpath): use DLL instance handle given</div><div class='del'>-	  to DllMain instead of VirtualQuery so that loadpath becomes relative</div><div class='del'>-	  from the DLL on WinCE too.</div><div class='del'>-</div><div class='del'>-Thu May 17 17:03:11 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-label-indent): for yacc rules.</div><div class='del'>-</div><div class='del'>-Thu May 17 13:30:27 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg): remove typo from ripper description.</div><div class='del'>-</div><div class='del'>-Thu May 17 13:23:38 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y, compile.c (set_arguments): fix to support in-paren</div><div class='del'>-	  parameter (ex: def foo((a, b))).</div><div class='del'>-</div><div class='del'>-Thu May 17 13:01:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (ruby_iseq_disasm): fix to show post arg info.</div><div class='del'>-</div><div class='del'>-Thu May 17 12:56:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_debug_node): fix to show node line.</div><div class='del'>-</div><div class='del'>-Wed May 16 21:48:44 2007  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::Application): remove meaningless logdev</div><div class='del'>-	  attribute and added logger attribute instead.  [ruby-core:11143]</div><div class='del'>-	  also added Logger#formatter rdoc comment.</div><div class='del'>-</div><div class='del'>-Tue May 15 16:40:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_endblockwarn): now parser</div><div class='del'>-	  warnings emit source names and line numbers.</div><div class='del'>-</div><div class='del'>-Tue May 15 15:01:38 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_stdhandle): stderr should be without buffering,</div><div class='del'>-	  but mswin32 use buffering when stderr is not connected to tty.</div><div class='del'>-</div><div class='del'>-Mon May 14 02:12:07 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): a.zip(b,c) should return an array, not</div><div class='del'>-	  enumerator.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): a.zip(b,c) should return array with size</div><div class='del'>-	  truncated to the size of its shortest argument array.</div><div class='del'>-	  [incompatible]</div><div class='del'>-</div><div class='del'>-Mon May 14 01:54:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_choice): should return nil when the array is</div><div class='del'>-	  empty.</div><div class='del'>-</div><div class='del'>-Sat May 12 18:26:36 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (tokens): forgot to add strip. [ruby-core:11120]</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: test Net::HTTP.post_form.</div><div class='del'>-</div><div class='del'>-Fri May 11 15:27:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): internal IDs must not be exposed.</div><div class='del'>-	  [ruby-core:11073]</div><div class='del'>-</div><div class='del'>-	* parse.y (internal_id_gen): now returns scope local ID instead of</div><div class='del'>-	  global one.</div><div class='del'>-</div><div class='del'>-Thu May 10 15:15:53 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: add tests.</div><div class='del'>-</div><div class='del'>-Thu May 10 15:14:05 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_s_conv): rdoc fix.</div><div class='del'>-</div><div class='del'>-Thu May 10 15:09:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (POINTER_P): pointer may be larger than long.</div><div class='del'>-</div><div class='del'>-	* parse.y (vtable_size, vtable_included, vtable_tblcpy,</div><div class='del'>-	  vtable_to_tbl): constified.</div><div class='del'>-</div><div class='del'>-Thu May 10 10:13:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_priority): rdoc fix; the initial value is</div><div class='del'>-	  inherited from the creating thread.  [ruby-core:10607]</div><div class='del'>-</div><div class='del'>-Wed May  9 12:28:57 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum), numeric.c (Init_Numeric): added fdiv as</div><div class='del'>-	  aliases of quo.  [ruby-dev:30771]</div><div class='del'>-</div><div class='del'>-Tue May  8 23:39:09 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date._parse): revised treatment of</div><div class='del'>-	  hyphened/separatorless dates.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: some trivial adjustments.</div><div class='del'>-</div><div class='del'>-Tue May  8 20:23:07 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: reverted.</div><div class='del'>-</div><div class='del'>-Tue May  8 19:32:18 2007  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb: fix high-precision Rationals cannot be</div><div class='del'>-	  converted to Floats. [ruby-Bugs:10502], [ruby-core:11069],</div><div class='del'>-	  [ruby-dev:30743]</div><div class='del'>-</div><div class='del'>-Mon May  7 10:59:55 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/image.rb, test/rss/test_image.rb: fixed Image module</div><div class='del'>-	  namespace URI. reported by Dmitry Borodaenko. Thanks.</div><div class='del'>-</div><div class='del'>-Sun May  6 18:44:11 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.post_form): allow an Array of String</div><div class='del'>-	  for pairs argument. [ruby-Bugs:10340]</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#set_form_data): ditto.</div><div class='del'>-</div><div class='del'>-Sun May  6 17:54:36 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Connection header field might include both of</div><div class='del'>-	  "keep-alive" token and "close" token. [ruby-core:10818]</div><div class='del'>-</div><div class='del'>-Sat May  5 16:26:33 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Format::Bag#method_missing): get rid of</div><div class='del'>-	  modifying original argument.  [ruby-core:11090]</div><div class='del'>-</div><div class='del'>-Thu May  3 22:20:08 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, defines.h, eval_load.c (rb_feature_p, rb_provided,</div><div class='del'>-	  search_required, rb_require_safe), ext/extmk.rb: Fix</div><div class='del'>-	  a bug where a statically linked extension cannot be autoloaded.</div><div class='del'>-	  [ruby-dev:30023] / [ruby-dev:30239]</div><div class='del'>-</div><div class='del'>-	* thread.c: added an internal class, Barrier.</div><div class='del'>-</div><div class='del'>-	* thread.c: copied rdocs from fastthread.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h (struct rb_vm_struct): moved loading_table from global.</div><div class='del'>-</div><div class='del'>-Thu May  3 18:10:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.ci, insns.def, vm.c, tool/insns2vm.rb (rb_num_t):</div><div class='del'>-	  renamed to get rid of name clash.  [ruby-dev:30504]</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (ruby_thread_init): ditto.</div><div class='del'>-</div><div class='del'>-Wed May  2 18:52:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, yarvcore.h, yarvcore.c, insns.def: fix to mark VM stack</div><div class='del'>-	  in correct range.</div><div class='del'>-</div><div class='del'>-Wed May  2 17:13:26 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_quo): now calculate in integer.  [ruby-dev:30753]</div><div class='del'>-</div><div class='del'>-Wed May  2 15:14:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h: add redefine checks ([ruby-dev:30751]).</div><div class='del'>-</div><div class='del'>-Wed May  2 11:22:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: use Qtrue instead of 2.</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def: support "lambda" calling convention.</div><div class='del'>-</div><div class='del'>-Wed May  2 06:46:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c, parse.y, ruby.h (rb_compile_warn, rb_compile_warning): warn</div><div class='del'>-	  for compilation.  the parser should no longer use rb_warn() and</div><div class='del'>-	  rb_warning().  [ruby-dev:30121]</div><div class='del'>-</div><div class='del'>-Wed May  2 05:45:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc): result of assoc_new needs to be an assoc.</div><div class='del'>-</div><div class='del'>-Wed May  2 05:40:43 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): improvement by calculating from MSB and using</div><div class='del'>-	  factorization.  &lt;http://yowaken.dip.jp/tdiary/20070426.html#p01&gt;</div><div class='del'>-</div><div class='del'>-Tue May  1 18:45:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: import matzruby's sample/test.rb.</div><div class='del'>-</div><div class='del'>-Tue May  1 17:46:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_choice): a new method to choose an element</div><div class='del'>-	  randomly from an array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_choice): fixed mistake from RDoc.</div><div class='del'>-</div><div class='del'>-Tue May  1 13:59:18 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_arity): fix an arity bug ([ruby-core:11060]).</div><div class='del'>-</div><div class='del'>-Tue May  1 13:12:49 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, compile.c (set_arguments): support post arguments.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: fix an arity bug ([ruby-core:11029]).</div><div class='del'>-</div><div class='del'>-	* vm.c, vm.h, insns.def, vm_dump.h: fix bmethod process.</div><div class='del'>-</div><div class='del'>-	* vm.c: support block argument on block parameter.</div><div class='del'>-</div><div class='del'>-Fri Apr 27 17:05:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): bugfix of overflow detection.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): rb_big_pow() may return other than Bignum.</div><div class='del'>-</div><div class='del'>-Fri Apr 27 01:51:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: support multiple splat (e.g, [a, *b, *c, e, *f]).</div><div class='del'>-</div><div class='del'>-Fri Apr 27 00:03:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): truncate all zero BDIGITs. [ruby-dev:30733]</div><div class='del'>-</div><div class='del'>-Thu Apr 26 17:31:00 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): reduce multiplying for even number.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pow): calculate power in Fixnum as possible.</div><div class='del'>-	  [ruby-dev:30726]</div><div class='del'>-</div><div class='del'>-Thu Apr 26 17:18:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fixes for ripper.</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): reduced duplicated code.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg_item): should not override by meaningless value.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg, assocs): should not use $$ before assigned.</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc_list): dispatch assoclist_from_args for assocs as</div><div class='del'>-	  well as args.</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc): return assoc if dispatched result is $1.</div><div class='del'>-</div><div class='del'>-Thu Apr 26 13:54:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el: new file.  C/C++ style for ruby source code.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 19:49:16 2007  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (unix_send_io, unix_recv_io): use CMSG_DATA to</div><div class='del'>-	  align file descriptor appropriately.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 15:23:29 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NtInitialize, exit_handler): add initializing and</div><div class='del'>-	  cleanup of critical section object for select.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (do_select): block reentrance.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): 0 sec polling of socket. this is</div><div class='del'>-	  workaround because winsock cannot do select at same socket at the</div><div class='del'>-	  same time by two or more threads.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 14:10:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/probeprofiler/probeprofiler.c: fix function name and</div><div class='del'>-	  return value.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 12:42:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: remove rb_control_frame_t#callee_id.</div><div class='del'>-</div><div class='del'>-	* vm_macro.def: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (exec_event_hooks): fix to check event flags</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (EXEC_EVENT_HOOK): fix to re-check event flags.</div><div class='del'>-</div><div class='del'>-	* ext/probeprofiler : added.  this profiler is sampling based</div><div class='del'>-	  profiler.</div><div class='del'>-</div><div class='del'>-	* vm.c: add rb_thread_current_status() API for probeprofiler.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_execute_interrupts): add comments.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 10:36:03 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (PUSH_TAG): no argument now.</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_error.h, eval_jump.h, eval_load.c, proc.c, thread.c:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (alloc_event_hook, rb_thread_remove_event_hook): should</div><div class='del'>-	  return value.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 09:33:57 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (do_stat, do_lstat, do_opendir): should not warn ENOTDIR.</div><div class='del'>-	  [ruby-talk:248288]</div><div class='del'>-</div><div class='del'>-Mon Apr 23 22:14:42 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb ($ruby): add extout directory to include path.</div><div class='del'>-	  [ruby-core:11003]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (libpathflag): not to append RPATHFLAG to current</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): add current directory to default</div><div class='del'>-	  library path with highest priority.  [ruby-core:10960]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (LINK_SO): LIBPATH to be placed before DLDFLAGS.</div><div class='del'>-</div><div class='del'>-Fri Apr 20 16:05:22 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBPATHFLAG, RPATHFLAG): no needs to be quoted,</div><div class='del'>-	  it is done by libpathflag in mkmf.rb.</div><div class='del'>-</div><div class='del'>-Fri Apr 20 12:27:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: fix to override conv proc.</div><div class='del'>-</div><div class='del'>-Fri Apr 20 12:21:28 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): fixed access to out of bound, and inverted</div><div class='del'>-	  the order of errinfos.</div><div class='del'>-</div><div class='del'>-Fri Apr 20 10:33:23 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: add prototypes of rb_sourceline() and</div><div class='del'>-	  rb_sourcefile().</div><div class='del'>-</div><div class='del'>-Fri Apr 20 02:37:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): re-send signal.  [ruby-dev:30516]</div><div class='del'>-</div><div class='del'>-	* eval_error.h (error_handle): no message when exiting by signal.</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_thread_signal_raise, ruby_default_signal): prototypes.</div><div class='del'>-</div><div class='del'>-	* signal.c (esignal_init): takes a signal number and an optional</div><div class='del'>-	  signal name.</div><div class='del'>-</div><div class='del'>-	* signal.c (interrupt_init): pass SIGINT always.</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_default_signal): invoke system default signal</div><div class='del'>-	  handler.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): use NUM2PIDT instead of NUM2INT.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_signal_exec, trap): handle SIGTERM.  [ruby-dev:30505]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_signal_raise): now takes signal number instead</div><div class='del'>-	  of signal name.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_signal_exit): since rb_make_exception() calls</div><div class='del'>-	  #exception method, rb_class_new_instance() is not needed here.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h (struct rb_vm_struct), eval_jump.h (terminate_process):</div><div class='del'>-	  exit_code is no longer stored in VM.</div><div class='del'>-</div><div class='del'>-Thu Apr 19 18:37:49 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, node.h, thread.c, yarvcore.[ch], eval_intern.h:</div><div class='del'>-	  support set_trace_func (incomplete.  id and klass</div><div class='del'>-	  don't be passed).  And support Thread#set_trace_func</div><div class='del'>-	  which hook only specified thread and Thread#add_trace_func</div><div class='del'>-	  which add new trace func instead of replace old one.</div><div class='del'>-	  C level API was modified.  See thread.c (logic) and</div><div class='del'>-	  yarvcore.h (data structures).</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_macro.def: add hook points.</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def: fix "trace" instruction.</div><div class='del'>-</div><div class='del'>-	* iseq.c, vm_macro.h: add compile option "trace_instruction".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: hook "c-return" of set_trace_func.</div><div class='del'>-</div><div class='del'>-Thu Apr 19 20:57:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (symbol): symbols should be followed by EXPR_ENDARG.</div><div class='del'>-</div><div class='del'>-	* parse.y (dsym): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): strings should be followed by</div><div class='del'>-	  EXPR_ENDARG.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto for numbers.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): EXPR_ENDARG after ']' and '}'.</div><div class='del'>-</div><div class='del'>-Thu Apr 19 17:46:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: fix to override conv proc.</div><div class='del'>-</div><div class='del'>-Wed Apr 18 10:41:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): exponent is radix 10.  [ruby-talk:248272]</div><div class='del'>-</div><div class='del'>-Wed Apr 18 02:50:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (th_init2): push initial blockptr value for</div><div class='del'>-	  rb_block_given_p() outside ruby_exec().  [ruby-core:10923]</div><div class='del'>-</div><div class='del'>-Wed Apr 18 02:30:24 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LDFLAGS): prepend -L. instead appending it to</div><div class='del'>-	  XLDFLAGS.  [ruby-core:10933]</div><div class='del'>-</div><div class='del'>-	* configure.in (Makefile): remove $U for automake from MISSING.</div><div class='del'>-	  [ruby-talk:248171]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 22:56:01 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/expect_sample.rb: avoid symbolic link representation for</div><div class='del'>-	  expect.  a patch from Kazuhiro NISHIYAMA &lt;zn at mbf.nifty.com&gt;.</div><div class='del'>-	  [ruby-dev:30714]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 22:51:11 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample: replace TRUE, FALSE with true, false respectively.</div><div class='del'>-	  a patch from Kazuhiro NISHIYAMA &lt;zn at mbf.nifty.com&gt;.</div><div class='del'>-	  [ruby-dev:30713]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 17:08:02 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (make_switch): do not clobber converter if pattern</div><div class='del'>-	  has no convert method.  reported by sheepman in [ruby-dev:30709].</div><div class='del'>-</div><div class='del'>-Mon Apr 16 16:49:32 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_seek): consistent behavior with</div><div class='del'>-	  IO#seek.  patch by sheepman in [ruby-dev:30710].</div><div class='del'>-</div><div class='del'>-Mon Apr 16 16:34:08 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): should set command_start after block</div><div class='del'>-	  starting "do"s and braces.  [ruby-core:10916]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 10:51:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_with_index): each_with_index to forward</div><div class='del'>-	  arguments to each.  [ruby-core:10921]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 10:43:10 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): should allow to specify 24:00.</div><div class='del'>-	  [ruby-core:10915]</div><div class='del'>-</div><div class='del'>-Sun Apr 15 09:12:54 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: added some zone names.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (_parse): now interprets doted numerical</div><div class='del'>-	  dates as a big endian (except dd.mm.yyyy).</div><div class='del'>-</div><div class='del'>-Thu Apr 12 17:13:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_try_lock): check and set owner thread.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci: fix to show error code in error message.</div><div class='del'>-</div><div class='del'>-Thu Apr 12 17:11:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue2): restore cfp ([ruby-dev:30582]).</div><div class='del'>-</div><div class='del'>-Thu Apr 12 16:06:48 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_protect): restore cfp ([ruby-dev:30671]).</div><div class='del'>-</div><div class='del'>-Thu Apr 12 16:04:31 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): check node-&gt;nd_state == 1, not !0.</div><div class='del'>-</div><div class='del'>-Wed Apr 11 16:35:16 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_enter_critical, rb_w32_leave_critical): no</div><div class='del'>-	  need to reject reentrance. removed.</div><div class='del'>-</div><div class='del'>-	* rubysig.h (RUBY_CRITICAL): follow above changes.</div><div class='del'>-</div><div class='del'>-	* rubysig.h (TRAP_BEG, TRAP_END): no need to save errno.</div><div class='del'>-</div><div class='del'>-Tue Apr 10 17:02:17 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fclose, rb_w32_close): need to save errno</div><div class='del'>-	  before calling original fclose()/close().</div><div class='del'>-</div><div class='del'>-Tue Apr 10 16:14:22 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (w32_wait_events): check whether interrupt_event is</div><div class='del'>-	  valid handle or not.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (native_thread_destroy): clear interrupt_event when</div><div class='del'>-	  close it.</div><div class='del'>-</div><div class='del'>-Tue Apr 10 15:53:17 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (native_thread_create): initialize sleep_cond.</div><div class='del'>-	  fixed: [ruby-dev:30675]</div><div class='del'>-</div><div class='del'>-Mon Apr  9 18:48:57 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): ubf_select() is not necessary. interrupt is</div><div class='del'>-	  checked in the loop.</div><div class='del'>-</div><div class='del'>-Mon Apr  9 18:27:26 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): use ubf_select() as UBF on windows.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (do_select): shouldn't call catch_interrupt() here.</div><div class='del'>-	  fixed: [ruby-dev:30674], reported by wanabe.</div><div class='del'>-</div><div class='del'>-Mon Apr  9 09:24:32 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (disconnect): call shutdown for</div><div class='del'>-	  SSLSocket. Thanks, Technorama Ltd.</div><div class='del'>-</div><div class='del'>-Sun Apr  8 13:28:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): test arguments of NODE_CALL and so</div><div class='del'>-	  on as well as NODE_ATTRASGN.  [ruby-core:10886]</div><div class='del'>-</div><div class='del'>-Fri Apr  6 10:56:29 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_get_group): get rid of</div><div class='del'>-	  warning. we are aware of it.</div><div class='del'>-</div><div class='del'>-Fri Apr  6 04:00:24 2007  Technorama Ltd.  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_{bn,x509{attr,cert,name,store}}.c:</div><div class='del'>-	  Add documentation.</div><div class='del'>-</div><div class='del'>-Thu Apr  5 17:59:19 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): support for assignment.</div><div class='del'>-	  [ruby-core:10867]</div><div class='del'>-</div><div class='del'>-	* compile.h (ADD_CATCH_ENTRY): removed temporary variable.</div><div class='del'>-</div><div class='del'>-Thu Apr  5 15:13:34 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_alloc): should</div><div class='del'>-	  return value.</div><div class='del'>-</div><div class='del'>-Thu Apr  5 14:58:49 2007  Technorama Ltd. &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.c: New module.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_{cipher,digest,pkcs7,pkcs12}.c:</div><div class='del'>-	  Remove redundant module namespace.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/{cipher,digest}.rb</div><div class='del'>-	  Add backwards compatible classes for rearranged classes.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_{pkcs7,pkcs12}.c: Add documentation.</div><div class='del'>-</div><div class='del'>-Thu Apr  5 00:42:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_notimplement), io.c (pipe_open): removed definite</div><div class='del'>-	  articles and UNIX manual section from messages.  [ruby-dev:30690]</div><div class='del'>-</div><div class='del'>-Wed Apr  4 17:09:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): refined the message of NotImplementedError.</div><div class='del'>-	  [ruby-dev:30685]</div><div class='del'>-</div><div class='del'>-Wed Apr  4 12:29:02 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_notimplement): should show the name of this func,</div><div class='del'>-	  not callee.</div><div class='del'>-</div><div class='del'>-Wed Apr  4 10:18:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (popen_exec): should not close close-on-exec FDs.</div><div class='del'>-	  [ruby-dev:30679]</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): raise NotImplementedError for command "-" on</div><div class='del'>-	  platforms where fork(2) is not available.  [ruby-dev:30681]</div><div class='del'>-</div><div class='del'>-Tue Apr  4 04:17:18 2007  Technorama Ltd. &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Add documentation.</div><div class='del'>-</div><div class='del'>-Tue Apr  3 16:22:24 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check for functions added in 1.9.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ruby_missing.h: check per features instead by</div><div class='del'>-	  checking version code.  [ruby-core:10845]</div><div class='del'>-</div><div class='del'>-Tue Apr  3 16:02:44 2007  Technorama Ltd. &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c: More documentation.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/ossl_{pkey,pkey_ec}.[ch]: Add elliptic curves.</div><div class='del'>-</div><div class='del'>-Tue Apr  3 15:50:41 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recv, s_recvfrom): some systems (such as</div><div class='del'>-	  windows) doesn't set fromlen if the socket is connection-oriented.</div><div class='del'>-	  reported by Bram Whillock in [ruby-core:10512] [ruby-Bugs#9061]</div><div class='del'>-</div><div class='del'>-Tue Apr  3 09:36:55 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ruby_missing.h: need to include version.h to check</div><div class='del'>-	  RUBY_VERSION_CODE.</div><div class='del'>-</div><div class='del'>-Mon Apr  3 07:10:12 2007  Technorama Ltd. &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_{ssl.[ch],ssl_session.c},</div><div class='del'>-	  ext/openssl/lib/openssl/lib/openssl/ssl.rb:</div><div class='del'>-	  New SSL::Session class.  Add session cb's, getter/setters,</div><div class='del'>-	  config, and statistics methods.</div><div class='del'>-</div><div class='del'>-Mon Apr  3 04:00:23 2007  Technorama Ltd. &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/{ossl.[ch],ossl_pkey.c} Add documentation.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c Add reset method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (Cipher#update) Take additional</div><div class='del'>-	  buffer argument.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/{ossl_bio.c,ossl_ssl.c,ruby_missing.h}</div><div class='del'>-	  compatibility with 1.8.</div><div class='del'>-</div><div class='del'>-Mon Apr  2 21:55:12 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (throw), thread.c, yarvcore.h (throwed_errinfo): fixed</div><div class='del'>-	  typo.</div><div class='del'>-</div><div class='del'>-Fri Mar 30 11:46:51 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_cmdvector): fixed buffer size. reported by</div><div class='del'>-	  wanabe [ruby-dev:30672]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env, insert, rb_w32_get_environ): use strdup</div><div class='del'>-	  instead of malloc + strlcpy. suggested by nobu [ruby-dev:30673]</div><div class='del'>-</div><div class='del'>-Fri Mar 30 02:29:04 2007  Technorama  &lt;oss-ruby@technorama.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_{bn,cipher,digest,hmac,rand,pkey_{dh,dsa,rsa}}.c:</div><div class='del'>-	  Add Documentation for various methods.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/cipher.rb: Ditto</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c: add lshift! and rshift! methods.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: GetDigestPtr() also accept a string.</div><div class='del'>-</div><div class='del'>-Fri Mar 23 11:28:24 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env, insert, cmdglob, rb_w32_cmdvector,</div><div class='del'>-	  rb_w32_opendir, rb_w32_readdir, rb_w32_strerror, rb_w32_stati64,</div><div class='del'>-	  rb_w32_get_environ): use strlcpy() and strlcat().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_opendir): use realloc() instead of xrealloc().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_closedir): check NULL before free pointers.</div><div class='del'>-</div><div class='del'>-Fri Mar 23 00:24:52 2007  Keiju Ishitsuka &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell: commit miss(support for ruby 1.9(YARV) thread model).</div><div class='del'>-</div><div class='del'>-Thu Mar 22 13:32:17 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LIBS): remove an unnecessary library.</div><div class='del'>-</div><div class='del'>-Thu Mar 22 10:27:58 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb (test_to_s): add tests for Bignum#to_s.</div><div class='del'>-</div><div class='del'>-Wed Mar 21 20:38:06 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_short, w_long, w_object): get rid of VC++ warnings.</div><div class='del'>-</div><div class='del'>-Wed Mar 21 20:05:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, parse.y, eval.c, intern.h, iseq.c, lex.c, node.h,</div><div class='del'>-	  proc.c, vm.c, vm_macro.def, vm_macro.def, yarvcore.c, yarvcore.h,</div><div class='del'>-	  debug.c, debug.h: merge half-baked-1.9 changes.  The biggest change</div><div class='del'>-	  is to change node structure around NODE_SCOPE, NODE_ARGS.  Every</div><div class='del'>-	  scope (method/class/block) has own NODE_SCOPE node and NODE_ARGS</div><div class='del'>-	  represents more details of arguments information.  I'll write a</div><div class='del'>-	  document about detail of node structure.</div><div class='del'>-</div><div class='del'>-Wed Mar 21 17:04:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): round up for the most significant digit.</div><div class='del'>-	  [ruby-core:10686]</div><div class='del'>-</div><div class='del'>-Tue Mar 21 08:20:00 2007  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb: Fixed test/unit tests that</div><div class='del'>-	  were breaking due to Module#public_instance_methods now</div><div class='del'>-	  returning a Symbol instead of a String.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_objectspace.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 20 22:54:50 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_extended): erroneous check condition when dump</div><div class='del'>-	  method is defined.  [ruby-core:10646]</div><div class='del'>-</div><div class='del'>-Tue Mar 20 21:36:47 2007  Keiju Ishitsuka &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell.rb, lib/shell: support for ruby 1.9(YARV) thread model.</div><div class='del'>-</div><div class='del'>-Tue Mar 20 16:36:08 2007  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* distruby.rb: Add zip generation.</div><div class='del'>-</div><div class='del'>-Tue Mar 20 16:20:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_callee_name): add __method__ and __callee__ again.</div><div class='del'>-	  __callee__ need to rework to adopt YARV.  [ruby-core:10671]</div><div class='del'>-</div><div class='del'>-Tue Mar 20 11:09:00 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Revise rdoc.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#freeze, Set#taint, Set#untaint): Implement</div><div class='del'>-	  Set#freeze, Set#taint, and Set#untaint; requested by: Dan</div><div class='del'>-	  Hutchings &lt;dan AT moltoagitato.com&gt; in [ruby-bugs:PR#9359].</div><div class='del'>-</div><div class='del'>-Tue Mar 20 09:13:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): flush stdouts always before fork(2).</div><div class='del'>-	  fixed: [ruby-dev:30612]</div><div class='del'>-</div><div class='del'>-Tue Mar 20 01:38:48 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): store the result of first_func</div><div class='del'>-	  as well as first_proc.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): block is not used if first_func</div><div class='del'>-	  is given.</div><div class='del'>-</div><div class='del'>-Mon Mar 19 16:58:52 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/{strlcat,strlcpy}.c, missing.h: new functions.</div><div class='del'>-</div><div class='del'>-	* LEGAL: add copyright notice about above files.</div><div class='del'>-</div><div class='del'>-	* configure.in: check whether strlcat and strlcpy are exist or not.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub: use above files.</div><div class='del'>-</div><div class='del'>-Mon Mar 19 14:12:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix::inverse_from): adding partial pivoting to</div><div class='del'>-	  the Gauss-Jordan algorithm, making it stable.  a patch from</div><div class='del'>-	  Peter Vanbroekhoven.  [ruby-core:10641]</div><div class='del'>-</div><div class='del'>-Mon Mar 19 12:13:36 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c, etc.: K&amp;R to ANSI code cleanup patch from Stefan</div><div class='del'>-	  Huehner &lt;stefan at huehner.org&gt;.  [ruby-core:10543]</div><div class='del'>-</div><div class='del'>-Mon Mar 19 11:27:13 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (rbuf_read): extend buffer size for speed.</div><div class='del'>-</div><div class='del'>-Sun Mar 18 08:31:51 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/dir.h, win32/win32.c (rb_w32_opendir, rb_w32_readdir,</div><div class='del'>-	  rb_w32_closedir): get rid of possible buffer-overflows.</div><div class='del'>-</div><div class='del'>-Sat Mar 17 19:10:39 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss, test/rss:</div><div class='del'>-	- supported Atom.</div><div class='del'>-	- bumped version 0.1.6 to 0.1.7.</div><div class='del'>-	* sample/rss/convert.rb: added new sample.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 22:32:20 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: change default verification mode from</div><div class='del'>-	  VERIFY_PEER to VERIFY_NONE because most POPS server does not have</div><div class='del'>-	  true certification.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 22:19:24 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE#ole_activex_initialize,</div><div class='del'>-	  a little bit supporting ActiveX control. [ruby-talk:241188]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 22:16:58 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: merge Ruby-SSPI patch contributed by Justin</div><div class='del'>-	  Bailey.</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/lib/win32/sspi.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 12:30:00 2007  Shigeo Kobayashi  &lt;shigeo@tinyforest.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: BigDecimal("-.31") is now</div><div class='del'>-	  treated as ("-0.31") not as ("0.31").</div><div class='del'>-</div><div class='del'>-Tue Mar 13 19:04:30 2007  Keiju Ishitsuka &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb: support for ruby 1.9(YARV) thread model.</div><div class='del'>-</div><div class='del'>-Tue Mar 13 09:25:10 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clear-installed-list): separated from install-prereq.</div><div class='del'>-</div><div class='del'>-Tue Mar 13 07:23:20 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb (mon_try_enter): call @mon_muetx.try_lock.</div><div class='del'>-	  Thanks, Keiju ISHITSUKA. [ruby-dev:30507]</div><div class='del'>-</div><div class='del'>-Tue Mar 13 02:42:58 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::header): IIS &gt;= 5.0 does not need the nph</div><div class='del'>-	  assumption any more; submitted by MIYASAKA Masaru &lt;alkaid AT</div><div class='del'>-	  coral.ocn.ne.jp&gt; in [ruby-dev:30537].</div><div class='del'>-</div><div class='del'>-Mon Mar 12 10:53:28 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (Init_ossl_asn1): Let rdoc know about</div><div class='del'>-	  externally defined modules; submitted by Technorama</div><div class='del'>-	  Ltd. &lt;oss-ruby AT technorama.net&gt; in [ruby-bugs:PR#4704].</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (Init_ossl_bn): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (Init_ossl_cipher): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c (Init_ossl_digest): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c (Init_ossl_hmac): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (Init_ossl_pkey): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (Init_ossl_dsa): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c (Init_ossl_rand): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 11 18:42:01 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-block-end-re): Support for the</div><div class='del'>-	  experimental ';;' terminator had been dropped.</div><div class='del'>-</div><div class='del'>-Sun Mar 11 05:45:46 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/README, misc/rdebug.el: Add rdebug.el, Emacs ruby-debug</div><div class='del'>-	  interface based on rubydb3x.el; submitted by Martin Nordholts</div><div class='del'>-	  &lt;enselic AT gmail.com&gt; in [ruby-bugs:PR#9023].</div><div class='del'>-</div><div class='del'>-Sat Mar 10 07:20:28 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_TYPELIB#library_name,</div><div class='del'>-	  WIN32OLE_TYPELIB#visible?.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_typelib.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar  8 09:17:59 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: iseq_compile -&gt; rb_iseq_compile.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* intern.h: provide function prototype of Init_jump.</div><div class='del'>-</div><div class='del'>-	* eval_jump.h (Init_jump): declare function type.</div><div class='del'>-</div><div class='del'>-	* thread.c: platform-dependent functions should be surrounded by #ifdef.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): remove unused variable.</div><div class='del'>-</div><div class='del'>-	* compile.c (set_arguments): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (set_unblock_function): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci: reduce printf warning.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 16:35:04 2007  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/process-controller.rb: fix thread synchronization problem for [ruby-dev:30477].</div><div class='del'>-</div><div class='del'>-Tue Mar  6 11:53:25 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/irbtkw.rbw: fails to exit process.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 10:23:09 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: added --pure (turned on by default) and --debugger</div><div class='del'>-	  options.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 09:19:33 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout.timeout): should return the block value</div><div class='del'>-	  always.</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout.timeout): should yield sec argument</div><div class='del'>-	  always.</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout.timeout): fix document.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 09:16:40 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: support automatic STARTTLS.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: check server advertisement.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: introduce new class SMTP::Response.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (getok): should not use sprintf.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (get_response): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: reduce syntax warning on 1.9.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 07:13:28 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: reconstruct SMTPS/STARTTLS interface.  New</div><div class='del'>-	  interface is incompatible from current 1.9 interface at all.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: All SSL-related class methods are removed; use</div><div class='del'>-	  instance methods instead.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: rename methods: *ssl -&gt; *tls (with alias</div><div class='del'>-	  "ssl").</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: rename methods: *tls -&gt; *starttls.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 01:36:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex), win32/win32.c (rb_w32_utime): fixed</div><div class='del'>-	  indentation broken at YARV merger.</div><div class='del'>-</div><div class='del'>-Sun Mar  4 23:41:14 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_uid, rb_stat_gid, eaccess): use rb_uid_t and</div><div class='del'>-	  rb_gid_t instead of int.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_s_utime): fixed a commit miss for the platforms</div><div class='del'>-	  where utimes() does not exist.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (touch): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar  4 14:46:56 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (push_element): should return a int value.</div><div class='del'>-</div><div class='del'>-Sun Mar  4 01:01:25 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#^, Set#&amp;): Correct documentation.  Those methods</div><div class='del'>-	  return sets, not arrays; noted by Oliver Frank Wittich &lt;nietz AT</div><div class='del'>-	  mangabrain.de&gt;.</div><div class='del'>-</div><div class='del'>-Sat Mar  3 22:54:33 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (touch): last #touch change causes error when</div><div class='del'>-	  :mtime option was not given.</div><div class='del'>-</div><div class='del'>-Sat Mar  3 22:51:29 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mv): could not move directory between</div><div class='del'>-	  different file systems. [ruby-dev:30411]</div><div class='del'>-</div><div class='del'>-Sat Mar  3 22:37:02 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_utime): allow nil to set the current time.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (touch): ditto, and added :mtime and :nocreate</div><div class='del'>-	  options.  fixed: [ruby-talk:219037]</div><div class='del'>-</div><div class='del'>-Sat Mar  3 15:52:26 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (instance_variable_get): Restore rdoc markups lost in</div><div class='del'>-	  the last commit.</div><div class='del'>-</div><div class='del'>-Fri Mar  2 21:17:14 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (get_ptr_of_variant, ole_set_safe_array,</div><div class='del'>-	  ole_val2ptr_variant, ole_val2olevariantdata, ole_variant2val,</div><div class='del'>-	  ): fix some bugs of WIN32OLE_VARIANT.new when variant type is</div><div class='del'>-	  VT_ARRAY|VT_BSTR or VT_BYREF.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folevariant_s_array, folevariant_initialize):</div><div class='del'>-	  WIN32OLE_VARIANT#[], WIN32OLE_VARIANT#[]=, WIN32OLE_VARIANT#value=</div><div class='del'>-	  is defined as instance method of WIN32OLE_VARIANT.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: add some test for</div><div class='del'>-	  VT_ARRAY, VT_BYREF variant type.</div><div class='del'>-</div><div class='del'>-Fri Mar  2 07:58:24 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_ivar_set): RDoc updated according to a</div><div class='del'>-	  suggestion from Brian Candler &lt;B.Candler AT pobox.com&gt;.</div><div class='del'>-	  [ruby-core:10469]</div><div class='del'>-</div><div class='del'>-Thu Mar  1 21:38:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt, arg): should not omit lhs of OP_ASGN1 even if</div><div class='del'>-	  empty.  [ruby-dev:30455]</div><div class='del'>-</div><div class='del'>-Thu Mar  1 02:55:25 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (get_digest_base_metadata): Allow inheriting</div><div class='del'>-	  Digest::Base subclasses, which was unintentionally made</div><div class='del'>-	  impossible while restructuring Digest classes.</div><div class='del'>-</div><div class='del'>-Thu Mar  1 02:05:17 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (patchlevel): read from version.h.</div><div class='del'>-</div><div class='del'>-Wed Feb 28 21:15:00 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_fcntl): fcntl support for MinGW.</div><div class='del'>-</div><div class='del'>-	* missing/flock.c: workaround for MinGW.</div><div class='del'>-</div><div class='del'>-Wed Feb 28 20:51:32 2007  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): properly ignore non-base64 octets such as</div><div class='del'>-	  UTF-8 encoded BOMs; submitted by SOUMA Yutaka &lt;holon@radastery.jp&gt;</div><div class='del'>-	  to fix [ruby-core:10437]</div><div class='del'>-</div><div class='del'>-Wed Feb 28 18:31:51 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: no need to check unistd.h and sys/time.h.</div><div class='del'>-	  they are already checked at configure.</div><div class='del'>-	  reported by KOBAYASHI Yasuhiro [ruby-list:43225]</div><div class='del'>-</div><div class='del'>-Wed Feb 28 18:23:43 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($DEFLIBPATH): default library paths ($(topdir), etc)</div><div class='del'>-	  should be the first elements of library paths list.</div><div class='del'>-	  reported by KOBAYASHI Yasuhiro [ruby-list:43225]</div><div class='del'>-</div><div class='del'>-Wed Feb 28 10:33:58 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, configure.in, */Makefile.sub (THREAD_MODEL): system</div><div class='del'>-	  specific thread model.</div><div class='del'>-</div><div class='del'>-	* compile.h, regint.h, vm.h, array.c: removed unnecessary #include.</div><div class='del'>-</div><div class='del'>-Wed Feb 28 04:03:03 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (take_i): small cosmetic / documentation patch from</div><div class='del'>-	  Tadashi Saito &lt;shiba AT mail2.accsnet.ne.jp&gt;. [ruby-dev:30446]</div><div class='del'>-</div><div class='del'>-Wed Feb 28 01:20:18 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/{dbm,gdbm}/test_{dbm,gdbm}.rb: shouldn't use host_os. use</div><div class='del'>-	  target_os instead. reported by KOBAYASHI Yasuhiro [ruby-list:43225]</div><div class='del'>-</div><div class='del'>-Wed Feb 28 00:08:11 2007  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']</div><div class='del'>-</div><div class='del'>-	* common.mk: new target dist</div><div class='del'>-</div><div class='del'>-	* distruby.rb: new file</div><div class='del'>-</div><div class='del'>-Tue Feb 27 22:18:45 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--enable-auto-image-base): avoid the necessity to</div><div class='del'>-	  rebase the shared libs as much as possible;</div><div class='del'>-	  submitted by Corinna Vinschen &lt;spam at vinschen.de&gt; in</div><div class='del'>-	  [ruby-talk:240964].</div><div class='del'>-</div><div class='del'>-Tue Feb 27 21:36:47 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (__crt0_glob_function): use ruby_glob() instead of rb_globi().</div><div class='del'>-</div><div class='del'>-Tue Feb 27 21:33:04 2007  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_setrlimit): workaround for djgpp.</div><div class='del'>-</div><div class='del'>-Tue Feb 27 20:35:28 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (error.c, process.c): depend on yarvcore.h and rubysig.h.</div><div class='del'>-</div><div class='del'>-Tue Feb 27 19:26:31 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_str_resize, rb_nkf_kconv, rb_nkf_guess1,</div><div class='del'>-	  rb_nkf_guess2): Silence warnings regarding char * vs. unsigned</div><div class='del'>-	  char * mismatch; submitted by Lyle Johnson</div><div class='del'>-	  &lt;lyle.johnson@gmail.com&gt; in [ruby-core:10416].</div><div class='del'>-</div><div class='del'>-Tue Feb 27 19:15:01 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb (Base64::b64encode): Fix documentation; submitted</div><div class='del'>-	  by David Symonds &lt;dsymonds@gmail.com&gt; in [ruby-core:10432].</div><div class='del'>-</div><div class='del'>-Tue Feb 27 18:59:42 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_load): Silence warnings</div><div class='del'>-	  regarding char * vs. unsigned char * mismatch; submitted by Lyle</div><div class='del'>-	  Johnson &lt;lyle.johnson@gmail.com&gt; in [ruby-core:10416].</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/sha1ossl.c (SHA1_Finish): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/rmd160ossl.c (RMD160_Finish): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_finish,</div><div class='del'>-	  rb_digest_base_update): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 27 18:12:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take): new method.  [ruby-dev:30407]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_drop): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 27 07:47:24 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, vm.h: rename th_invoke_yield() to th_yield().</div><div class='del'>-</div><div class='del'>-	* blockinlining.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def: rename th_invoke_yield_cfunc()</div><div class='del'>-	  to th_yield_with_cfunc().</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c: rename theYarvVM to ruby_current_vm and</div><div class='del'>-	  yarvCurrentThread to ruby_current_thread.  remove yarvVMArray.</div><div class='del'>-</div><div class='del'>-Tue Feb 27 00:45:23 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb: restore method before calling</div><div class='del'>-	  assert_equal.</div><div class='del'>-</div><div class='del'>-Mon Feb 26 00:58:39 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: add rb_thread_t#top_wrapper, top_self.</div><div class='del'>-</div><div class='del'>-	* eval_load.c (rb_load): support eval in wrapper module</div><div class='del'>-	  (load(file, true)).</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_jump.h: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: add a empty line.</div><div class='del'>-</div><div class='del'>-Mon Feb 26 00:54:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: change "gdb" rule.  You can debug miniruby with</div><div class='del'>-	  $(srcdir)/test.rb on gdb by this rule (type "make gdb").</div><div class='del'>-	  If you write break points to "breakpoints.gdb" on $srcdir,</div><div class='del'>-	  gdb runs with this file.</div><div class='del'>-</div><div class='del'>-Sun Feb 25 11:46:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: enable -Zi (debug) option.</div><div class='del'>-</div><div class='del'>-Sun Feb 25 11:38:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: define RUBY_VM macro and remove NATIVETHREAD* macros.</div><div class='del'>-</div><div class='del'>-	* intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* signal.c (posix_signal): remove unused function</div><div class='del'>-	  posix_nativethread_signal().</div><div class='del'>-</div><div class='del'>-Sun Feb 25 11:31:13 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_run): fix to ANSI style.</div><div class='del'>-</div><div class='del'>-Sun Feb 25 11:09:16 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: show source code in error message.</div><div class='del'>-</div><div class='del'>-Sun Feb 25 09:39:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h:</div><div class='del'>-	  rename:</div><div class='del'>-	    rb_iseq_t#file_name -&gt; filename</div><div class='del'>-	    rb_iseq_t#local_tbl -&gt; local_table</div><div class='del'>-	  add:</div><div class='del'>-	    rb_iseq_t#local_table_size</div><div class='del'>-</div><div class='del'>-	* compile.c: separate local_table_size and local_size</div><div class='del'>-	  (local variable size)</div><div class='del'>-</div><div class='del'>-	* blockinlining.c: apply above rename.</div><div class='del'>-</div><div class='del'>-	* compile.h: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 25 10:27:17 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: add lib/ to load path.</div><div class='del'>-</div><div class='del'>-Sat Feb 25 10:16:50 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h (HAVE_RB_IO_T): macro to tell if rb_io_t is defined.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 19:39:16 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: new target "btest", to run bootstraptests.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 19:30:40 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c, gc.c, io.c, ruby.h, rubyio.h, win32/win32.h (rb_io_t):</div><div class='del'>-	  renamed from OpenFile.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c, ext/io/wait/wait.c, ext/openssl/ossl.h,</div><div class='del'>-	  ext/openssl/ossl_bio.c, ext/openssl/ossl_ssl.c, ext/pty/pty.c,</div><div class='del'>-	  ext/readline/readline.c, ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 19:28:23 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: new option -v,--verbose.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 18:55:50 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb: removed (merged to bootstraptest).</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 18:44:39 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_class.rb: new file.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 18:44:30 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_thread_blocking_region): add prototype.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_thread_flock, rb_file_flock): use UBF feature.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid_blocking, rb_waitpid): use UBF feature.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_debug): added runtime debugging flag.</div><div class='del'>-</div><div class='del'>-	* thread.c (BLOCKING_REGION): restore previous UBF.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): default UBF to interrupt</div><div class='del'>-	  in system dependent way by RB_UBF_DFL.</div><div class='del'>-	  + ubf_select() on posix system</div><div class='del'>-	  + ubf_handle() on Win32</div><div class='del'>-	  + none on cygwin</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (rb_w32_wait_events_blocking): blocking version.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (waitpid): use rb_w32_wait_events_blocking().</div><div class='del'>-</div><div class='del'>-Sat Feb 24 17:45:48 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg, opt_f_block_arg): ripper should export VALUE.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 16:52:55 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: fix syntax error.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 16:51:09 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: new option --help.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 16:47:33 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest: new test suite.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: new file.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: new file.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: new file.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 16:29:15 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (StartSocket): remove unnecessary code.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 16:04:30 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct local_vars): remove unused nofree member from</div><div class='del'>-	  struct.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_free): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 15:57:19 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable#broadcast): use Mutex</div><div class='del'>-	  instead of Thread.exclusive.</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb (MonitorMixin#mon_exit): unset @mon_owner</div><div class='del'>-	  before calling Mutex#unlock.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 15:51:45 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (program): remove useless assignment to reduce warning.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 15:41:51 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): remove unused clause from the rule to stop</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 15:41:22 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: do not redefine Mutex#synchronize.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 15:14:02 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: rewritten using Mutex/ConditionVariable.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 13:25:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/factory.rb: catch up with spec changes (return</div><div class='del'>-	  Symbols instead of Strings).</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/mapping.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 10:49:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y, node.h, compile.c: change node tree structure.  a purpose</div><div class='del'>-	  of this change is to unify argument structure of method and block.</div><div class='del'>-	  this change prohibits duplicate block parameter name.</div><div class='del'>-	  new argument information:</div><div class='del'>-	    NODE_ARGS	  [m: int, o: NODE_OPT_ARG, -&gt;]</div><div class='del'>-	    NODE_ARGS_AUX [r: ID, b: ID, -&gt;]</div><div class='del'>-	    NODE_ARGS_AUX [Pst: id, Plen: int, init: NODE*]</div><div class='del'>-	  optarg information:</div><div class='del'>-	    NODE_OPT_ARGS [idx, expr, -&gt;]</div><div class='del'>-</div><div class='del'>-	* vm_macro.def: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* compile.h: fix debug function name.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: |_,_,foo| -&gt; |_1,_2,foo|</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: disable test temporarily.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 10:46:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_testcase.rb: catch up with current instance</div><div class='del'>-	  variable spec.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 10:32:59 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: change vm_macro.def rule.</div><div class='del'>-</div><div class='del'>-Sat Feb 24 10:38:05 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c (cparse_params_mark): remove useless</div><div class='del'>-	  rb_gc_mark.  Thanks Tomoyuki Chikanaga. [ruby-dev:30405]</div><div class='del'>-</div><div class='del'>-Sat Feb 24 07:31:35 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_VARIANT.array,</div><div class='del'>-	  WIN32OLE_VARIANT#value=, refactoring.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: add some test for</div><div class='del'>-	  WIN32OLE_VARIANT.array, WIN32OLE_VARIANT#value=.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 18:37:55 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb: new test.</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_yield.rb: removed (moved to test_yield.rb).</div><div class='del'>-</div><div class='del'>-Fri Feb 23 18:27:17 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_polling): check interrupts here.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (w32_wait_events): rename from w32_wait_event(), and</div><div class='del'>-	  now receive multiple event handles.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wait_events, rb_w32_main_context): removed.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (rb_w32_wait_events): new function.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci, win32/win32.c (rb_w32_sleep, rb_w32_Sleep): move</div><div class='del'>-	  from win32/win32.c to thread_win32.ci, and use w32_wait_events().</div><div class='del'>-</div><div class='del'>-Fri Feb 23 18:13:22 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb: new test (merges test_opts.rb).</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_opts.rb: removed.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 16:59:39 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: merge yarvtest/test_massign.</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_massign.rb: removed (merged to</div><div class='del'>-	  test_assignment.rb).</div><div class='del'>-</div><div class='del'>-Fri Feb 23 15:58:20 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandler): need to re-install sighandler on some</div><div class='del'>-	  platforms.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 15:05:57 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (set_pioinfo_extra): simplified.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 14:23:20 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_literal.rb: new test.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 12:40:12 2007  James Edward Gray II  &lt;james@grayproductions.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): Make the</div><div class='del'>-	  Content-Length parameter optional for responses in</div><div class='del'>-	  xmlrpc/client.rb; suggested by Daniel Berger</div><div class='del'>-	  &lt;Daniel.Berger@qwest.com&gt; and approved by the maintainer.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Add DateTime</div><div class='del'>-	  support to xmlrpc; approved by the maintainer.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 12:24:46 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): add ripper event.  This fixes bus error on</div><div class='del'>-	  "make test-all".</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb: do not stop build.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 12:16:05 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove dyna_check_gen() prototype.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 11:41:21 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y, compile.c, gc.c, insns.def, intern.h, iseq.c, node.h,</div><div class='del'>-	  object.c, string.c, variable.c, vm_macro.def: revert private</div><div class='del'>-	  instance variable feature, which is postponed until next major</div><div class='del'>-	  release.</div><div class='del'>-</div><div class='del'>-	* marshal.c: TYPE_SYMBOL2 removed; MARSHAL_MINOR reverted back to</div><div class='del'>-	  8th version.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 10:53:21 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (native_mutex_lock): do not call</div><div class='del'>-	  pthread_mutex_trylock().</div><div class='del'>-</div><div class='del'>-Fri Feb 23 10:31:16 2007  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: use dlopen on Mac OS X 10.3 or later.</div><div class='del'>-</div><div class='del'>-Fri Feb 23 10:03:49 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ord): need not to check string length;  ord</div><div class='del'>-	  returns a codepoint for the first character in the string.</div><div class='del'>-</div><div class='del'>-Wed Feb 21 22:29:45 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_equal): A bit more optimization.</div><div class='del'>-</div><div class='del'>-Wed Feb 21 17:40:37 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_equal): remove FIX2LONG() to optimize.  suggested</div><div class='del'>-	  in http://t-a-w.blogspot.com/2007/02/making-ruby-faster.html.</div><div class='del'>-	  [ruby-talk:240223]</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_cmp): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 21 09:14:04 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c (rb_require_safe): should restore safe level.</div><div class='del'>-</div><div class='del'>-Tue Feb 20 21:19:29 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (installed_code_page_proc,</div><div class='del'>-	  ole_variant2val): small refactoring.</div><div class='del'>-</div><div class='del'>-Tue Feb 20 15:11:42 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, vm.c, yarvcore.h: move definition of rb_call_super() to</div><div class='del'>-	  vm.c from eval.c.  change th_call_super() to static function.</div><div class='del'>-</div><div class='del'>-Tue Feb 20 15:08:25 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb: YARV doesn't raise any errors if</div><div class='del'>-	  another thread close IO object which current thread is blocking with.</div><div class='del'>-</div><div class='del'>-Tue Feb 20 15:03:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select, rb_thread_wait_fd_rw): raise sys error if</div><div class='del'>-	  errno is not 0 and EBADF.</div><div class='del'>-</div><div class='del'>-Mon Feb 19 22:15:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): cache convertible type info.</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_detach_process): use rb_pid_t instead of pid_t.</div><div class='del'>-</div><div class='del'>-	* ruby.h (PIDT2NUM, NUM2PIDT, UIDT2NUM, NUM2UIDT, GIDT2NUM, NUM2GIDT):</div><div class='del'>-	  defaulted to conversion using long.</div><div class='del'>-</div><div class='del'>-Mon Feb 19 17:14:28 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (unix_peeraddr): wrong syscall name in error</div><div class='del'>-	  message for #peeraddr. a patch from Sam Roberts</div><div class='del'>-	  &lt;sroberts at uniserve.com&gt;.  [ruby-core:10366]</div><div class='del'>-</div><div class='del'>-Sun Feb 18 22:56:07 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getgrgid): missed to replace a macro.</div><div class='del'>-</div><div class='del'>-Sun Feb 18 19:33:00 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: updated based on date2 4.0.3.</div><div class='del'>-</div><div class='del'>-Sun Feb 18 13:11:51 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (pid_t, uid_t, gid_t): check if defined.</div><div class='del'>-</div><div class='del'>-	* intern.h, process.c, rubyio.h, ext/etc/etc.c, ext/pty/pty.c: use</div><div class='del'>-	  rb_{pid,uid,gid}_t instead of plain int.  [ruby-dev:30376]</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb (PIDT2NUM, NUM2PIDT, UIDT2NUM, NUM2UIDT, GIDT2NUM,</div><div class='del'>-	  NUM2GIDT): moved to configure.in.</div><div class='del'>-</div><div class='del'>-Fri Feb 16 21:34:33 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_ivar_set/get/defined): fix to check :@_v/C id.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_testcase.rb: fix to use instance_variable_get()</div><div class='del'>-	  to access @_result.</div><div class='del'>-</div><div class='del'>-Fri Feb 16 20:59:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h: add a prototype of rb_sym_to_s().</div><div class='del'>-</div><div class='del'>-Fri Feb 16 19:24:22 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): update document to mention second optional</div><div class='del'>-	  argument for logarithm base.</div><div class='del'>-</div><div class='del'>-Fri Feb 16 19:19:21 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (mrhs): need to append by arg_append().</div><div class='del'>-	  [ruby-talk:239385]</div><div class='del'>-</div><div class='del'>-Fri Feb 16 11:18:21 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/.document: Apply patch for irb, e2mmap and README by Hugh Sasse</div><div class='del'>-	  &lt;hgs at dmu.ac.uk&gt; from [ruby-core:10135]</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb: Suppress RDoc for PrettyPrint test suite.</div><div class='del'>-</div><div class='del'>-Thu Feb 15 20:48:36 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (set_pioinfo_extra): new function for VC++8 SP1</div><div class='del'>-	  workaround. [ruby-core:10259]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NtInitialize): call above function.</div><div class='del'>-</div><div class='del'>-Thu Feb 15 16:25:54 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::userinfo): Considering how</div><div class='del'>-	  `scheme://user:@...', `scheme://:password@...' and</div><div class='del'>-	  `scheme://:@...' are parsed, an empty user name or password</div><div class='del'>-	  should be allowed and represented as it is.</div><div class='del'>-</div><div class='del'>-Thu Feb 15 01:52:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.(c|h), yarvcore.(c|h) (yarvGlobalStateVersion): rename to</div><div class='del'>-	  ruby_vm_global_state_version.</div><div class='del'>-</div><div class='del'>-Thu Feb 15 01:50:26 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (check_singleton): fix to use</div><div class='del'>-	  symbol instead of string.</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb: enable tests.</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 15 01:43:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: catch up with class local variable (@_v) spec.</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 22:52:43 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_variant2val): VC++6 does not</div><div class='del'>-	  support VT_I8, VT_UI8.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 22:10:21 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: change stack limit to 2MB from 32MB.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 21:39:36 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest::self.const_missing): Drop</div><div class='del'>-	  autoloads for sha2 classes in favor of handling in</div><div class='del'>-	  const_missing(), to work around a problem exposed on OS X.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 21:19:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (native_thread_create): adjust 4KB (page size)</div><div class='del'>-	  alignment.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 21:12:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (CHECK_ERR): call rb_bug()</div><div class='del'>-	  instead of printf() and exit().</div><div class='del'>-</div><div class='del'>-Wed Feb 14 16:48:56 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date::Format::Bag::method_missing): need not</div><div class='del'>-	  to use instance variables corresponding each method; use Hash</div><div class='del'>-	  instead.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 13:12:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_operand): allow symbols to be operands for regular</div><div class='del'>-	  expression matches.</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): allow Symbol#===.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date::Format::Bag::to_hash): string</div><div class='del'>-	  added prefixes.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 12:58:38 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): fix to iterate select().</div><div class='del'>-	  on cygwin/mswin32, iterate in unblocking region.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): don't iterate on this function.</div><div class='del'>-	  (iterate in do_select).</div><div class='del'>-</div><div class='del'>-Wed Feb 14 11:39:18 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (set_unblock_function): fix function interface.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 11:12:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_load.c, yarvcore.h: use rb_vm_t#loaded_features instead of</div><div class='del'>-	  rb_features (global variable).</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: mark rb_vm_t#loaded_features.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 08:46:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): no longer distinguish ordinary local</div><div class='del'>-	  variables and in-block local variables in defined? value.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 03:14:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::userinfo): should support</div><div class='del'>-	  empty password.  [ruby-core:10290]</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::set_password): password can be</div><div class='del'>-	  cleared by nil.  [ruby-core:10290]</div><div class='del'>-</div><div class='del'>-Wed Feb 14 03:10:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct local_vars): no need to warn out-of-scope</div><div class='del'>-	  variables; remove dnames member from struct.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 03:04:10 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: RVarmap no longer used as yytype; removed.</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_push_gen): no longer need return value.</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_pop_gen): no longer need argument.</div><div class='del'>-</div><div class='del'>-	* parse.y (local_push_gen): initialize nofree.</div><div class='del'>-</div><div class='del'>-Wed Feb 14 00:30:07 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_unixsock): path may contain NUL for</div><div class='del'>-	  abstract unix sockets.  [ruby-core:10288]</div><div class='del'>-</div><div class='del'>-Tue Feb 13 02:21:12 2007  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): Fix buffer overflow with syscall</div><div class='del'>-	  arguments.  [ruby-bugs:PR#8541]</div><div class='del'>-</div><div class='del'>-Mon Feb 12 13:57:30 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8.</div><div class='del'>-</div><div class='del'>-Mon Feb 12 11:48:52 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb, lib/rss/maker/dublincore.rb: dc_rightses</div><div class='del'>-	  -&gt; dc_rights_list. dc_rightses still exists for backward</div><div class='del'>-	  compatibility. [ruby-core:8350]</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_dc.rb: added tests for dc_rights_list.</div><div class='del'>-</div><div class='del'>-Sun Feb 11 22:40:17 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_ptrtype2val): ole_type, ole_type_detail</div><div class='del'>-	  should not return "VARIANT,VARIANT".</div><div class='del'>-</div><div class='del'>-Sun Feb 11 22:11:05 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/xml-stylesheet.rb (RSS::XMLStyleSheet#initialize):</div><div class='del'>-	  kept backward compatibility.</div><div class='del'>-</div><div class='del'>-Sun Feb 11 22:10:08 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb (RSS::ListenerMixin#start_else_element): used</div><div class='del'>-	  const_defined? instead of constants.include?.</div><div class='del'>-</div><div class='del'>-Sun Feb 11 18:47:14 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2olevariantdata):</div><div class='del'>-	  WIN32OLE_VARIANT#new accepts nil when variant type is VT_ARRAY.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: small refactoring.</div><div class='del'>-</div><div class='del'>-Sun Feb 11 07:42:25 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): Properly parse</div><div class='del'>-	  a quoted-string in a Content-Disposition value.</div><div class='del'>-</div><div class='del'>-Sat Feb 10 20:21:29 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE#ole_query_interface.</div><div class='del'>-	  thanks to Mikael Pahmp.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 10 17:46:52 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: targets which depend on yarvcore.h now depend on</div><div class='del'>-	  rubysig.h too.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h (rb_vm_t): use rb_atomic_t instead of int.</div><div class='del'>-</div><div class='del'>-Sat Feb 10 00:13:11 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix typo (TkConfigMethod::__confinfo_cmd,</div><div class='del'>-	  __conv_keyonly_opts).</div><div class='del'>-</div><div class='del'>-Fri Feb  9 12:33:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (w32_show_error_message): renamed to w32_error.</div><div class='del'>-	  this function do rb_bug().</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (w32_set_event, w32_reset_event, w32_close_handle,</div><div class='del'>-	  w32_resume_thread): added. fix to use these functions instead calling</div><div class='del'>-	  win32api directly.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (w32_create_thread): create suspend thread</div><div class='del'>-	  (caller must call w32_resume_thread()).</div><div class='del'>-</div><div class='del'>-Fri Feb  9 11:03:40 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb: tests are working on mswin32/cygwin.</div><div class='del'>-</div><div class='del'>-Fri Feb  9 05:08:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.ci, thread_win32.ci (thread_start_func_1):</div><div class='del'>-	  move cleanup function to thread_start_func_2().</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.ci, thread_win32.ci:</div><div class='del'>-	  add more destruct functions.</div><div class='del'>-	  (native_thread_destroy() and native_mutex_destroy())</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci, thread_pthread.h: make native_mutex_* functions</div><div class='del'>-	  (check error, etc), it's not macro any more.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (thread_start_func_1): store some values before</div><div class='del'>-	  running thread (to release these after running thread).</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (native_thread_create): fix spaces.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 22:44:04 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_set_safe_array, ole_variant2val,</div><div class='del'>-	  ole_val_ary2variant_ary): fix WIN32OLE_VARIANT.new bug when</div><div class='del'>-	  1st argument is empty array, and when 2nd argument is</div><div class='del'>-	  VT_ARRAY|VT_BYREF.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 22:39:09 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb: check target command names.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 22:31:45 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_clone.rb: fix to current spec</div><div class='del'>-	  (Module should not be occur many times in ancestors).</div><div class='del'>-</div><div class='del'>-Thu Feb  8 22:26:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: ("foo" == :foo) and ("foo" === :foo)</div><div class='del'>-	  should be false.</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix last messages.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 22:24:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: fix to use Symbol instead of String.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: remove space before argument parentheses.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 22:02:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/marshaltestlib.rb: eval(sym) -&gt; eval(sym.to_s)</div><div class='del'>-</div><div class='del'>-Thu Feb  8 21:35:16 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_propertyputref.rb (setup): fix typo.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: should not use</div><div class='del'>-	  InternetExplorer.gohome to test.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 21:02:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (GVL_UNLOCK_RANGE): rename to BLOCKING_REGION().</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_run_parallel): rename to</div><div class='del'>-	  rb_thread_blocking_region().</div><div class='del'>-</div><div class='del'>-Thu Feb  8 15:48:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, thread.c: fix to use pthread on cygwin.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, thread.c: move GVL_UNLOCK_BEGIN() and GVL_UNLOCK_END()</div><div class='del'>-	  from yarvcore.h to thread.c.</div><div class='del'>-</div><div class='del'>-	* thread.c: change GVL_UNLOCK_RANGE() arguments</div><div class='del'>-	  (adding ubf as 2nd argument).</div><div class='del'>-</div><div class='del'>-	* thread.c: fix to use polling in select on cygwin and mswin32.</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.ci, thread_win32.ci, yarvcore.h:</div><div class='del'>-	  rename:</div><div class='del'>-	  * rb_thread_t#interrupt_function -&gt; unblock_function</div><div class='del'>-	  * rb_interrupt_function_t -&gt; rb_unblock_function</div><div class='del'>-	  * some interrupt function name -&gt; ubf_*</div><div class='del'>-	  * yarv_* -&gt; *</div><div class='del'>-</div><div class='del'>-Thu Feb  8 16:08:02 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix to use RUNRUBY instead of BASERUBY if possible.</div><div class='del'>-</div><div class='del'>-	* common.mk ($(INSNS) rule): remove $(PROGRAM) first.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 15:43:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: fix to use rb_status_line_set/get/clear().</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: fix line break.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 15:00:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, error.c, eval.c, eval_error.h, eval_intern.h,</div><div class='del'>-	  eval_jump.h, eval_load.c, eval_safe.h, gc.c, proc.c, signal.c,</div><div class='del'>-	  thread.c, thread_pthread.ci, thread_win32.ci, vm.c, vm.h,</div><div class='del'>-	  vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h:</div><div class='del'>-	  fix typo (rb_thead_t -&gt; rb_thread_t).</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: remove unused definitions.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix around vm_opts.h path</div><div class='del'>-	  and remove harmful argument passed to insns2vm.rb.</div><div class='del'>-</div><div class='del'>-Thu Feb  8 03:11:47 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::unescapeHTML): invalid decoding for single</div><div class='del'>-	  unescaped ampersand.  a patch from Tietew</div><div class='del'>-	  &lt;tietew+ruby-dev at tietew.net&gt; in [ruby-dev:30292].</div><div class='del'>-	  fixed: [ruby-dev:30289]</div><div class='del'>-</div><div class='del'>-Wed Feb  7 23:25:31 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (specific_eval): suppress warning.</div><div class='del'>-</div><div class='del'>-	* thread_win32.h: undefine _WIN32 on cygwin.  [ruby-dev:30303]</div><div class='del'>-</div><div class='del'>-Wed Feb  7 22:41:34 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: remove UNSUPPORTED() macro.</div><div class='del'>-</div><div class='del'>-	* thread.c: fix to define Continuation methods</div><div class='del'>-	  (they only do rb_notimplement()).</div><div class='del'>-</div><div class='del'>-Wed Feb  7 22:33:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, yarvcore.h: remove unused macro definition.</div><div class='del'>-</div><div class='del'>-Wed Feb  7 22:30:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: fixed to use ANSI function style.</div><div class='del'>-</div><div class='del'>-Wed Feb  7 09:35:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* this commit is a result of refactoring. only renaming functions,</div><div class='del'>-	  moving definitions place, add/remove prototypes, deleting</div><div class='del'>-	  unused variables and removing yarv.h.</div><div class='del'>-	  This commit doesn't change any behavior of ruby/vm.</div><div class='del'>-</div><div class='del'>-	* yarv.h, common.mk: remove yarv.h (contents are moved to yarvcore.h).</div><div class='del'>-</div><div class='del'>-	* error.c, eval_intern.h: include yarvcore.h instead yarv.h</div><div class='del'>-</div><div class='del'>-	* rename some functions:</div><div class='del'>-	  * debug.[ch]: debug_*() -&gt; ruby_debug_*()</div><div class='del'>-	  * iseq.c: iseq_*() -&gt; rb_iseq_*(), ruby_iseq_disasm()</div><div class='del'>-	  * iseq.c: node_name() -&gt; ruby_node_name()</div><div class='del'>-	  * vm.c: yarv_check_redefinition_opt_method() -&gt;</div><div class='del'>-	          rb_vm_check_redefinition_opt_method()</div><div class='del'>-</div><div class='del'>-	* some refactoring with checking -Wall.</div><div class='del'>-</div><div class='del'>-	* array.c: remove rb_ary_ptr() (unused) and remove unused</div><div class='del'>-	  local variables.</div><div class='del'>-</div><div class='del'>-	* object.c: add a prototype of rb_mod_module_exec().</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (ruby_cref): set it inline.</div><div class='del'>-</div><div class='del'>-	* eval_load.c (rb_load), yarvcore.c: yarv_load() -&gt; rb_load_internal().</div><div class='del'>-</div><div class='del'>-	* parse.y: add a prototype of rb_parse_in_eval() (in eval.c).</div><div class='del'>-</div><div class='del'>-	* process.c: add a prototype of rb_thread_stop_timer_thread() (in thread.c).</div><div class='del'>-</div><div class='del'>-	* thread.c: remove raw_gets() function (unused) and fix some format</div><div class='del'>-	  mismatch (format mismatches have remained yet. this is todo).</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): fix typo on label name.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci: comment out codes with USE_THREAD_CACHE.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_svar, rb_backref_get, rb_backref_get,</div><div class='del'>-	  rb_lastline_get, rb_lastline_set) : moved from yarvcore.c.</div><div class='del'>-</div><div class='del'>-	* vm.c (yarv_init_redefined_flag): add a prototype and rename</div><div class='del'>-	  yarv_opt_method_table to vm_opt_method_table.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_eval): moved from yarvcore.c.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: remove unused global variables and fix to use nsdr().</div><div class='del'>-</div><div class='del'>-Wed Feb  7 03:39:32 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, compile.c, compile.h, error.c, eval.c,</div><div class='del'>-	  eval_intern.h, eval_jump.h, eval_load.c, eval_method.h,</div><div class='del'>-	  eval_safe.h, gc.c, insnhelper.h, insns.def, iseq.c, proc.c,</div><div class='del'>-	  process.c, signal.c, thread.c, thread_pthread.ci, thread_win32.ci,</div><div class='del'>-	  vm.c, vm.h, vm_dump.c, vm_evalbody.ci, vm_macro.def,</div><div class='del'>-	  yarv.h, yarvcore.h, yarvcore.c: change type and macro names:</div><div class='del'>-	  * yarv_*_t -&gt; rb_*_t</div><div class='del'>-	  * yarv_*_struct -&gt; rb_*_struct</div><div class='del'>-	  * yarv_tag -&gt; rb_vm_tag</div><div class='del'>-	  * YARV_* -&gt; RUBY_VM_*</div><div class='del'>-</div><div class='del'>-	* proc.c, vm.c: move functions about env object creation</div><div class='del'>-	  from proc.c to vm.c.</div><div class='del'>-</div><div class='del'>-	* proc.c, yarvcore.c: fix rb_cVM initialization place.</div><div class='del'>-</div><div class='del'>-	* inits.c: change Init_ISeq() order (after Init_VM).</div><div class='del'>-</div><div class='del'>-	* ruby.h, proc.c: change declaration place of rb_cEnv</div><div class='del'>-	  from proc.c to ruby.c.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 22:06:45 2007  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/{nkf.c,utf8tbl.c}:</div><div class='del'>-	  imported nkf 2007-01-28.</div><div class='del'>-	  * Fixed: can't decode MIME encode JIS string.</div><div class='del'>-	  * Fixed: Fullwidth-halfwidth conversion.</div><div class='del'>-	  * Support DoCoMo's and Softbank's EMOJI</div><div class='del'>-	  * Support CP932, CP5022x, eucJP-ms UDC</div><div class='del'>-	  * Support UTF-32 encoding</div><div class='del'>-	  * Support beyond BMP</div><div class='del'>-	  [ruby-dev:29700] [ruby-dev:29922] [ruby-dev:30144]</div><div class='del'>-</div><div class='del'>-Tue Feb  6 20:36:19 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, lib/rss/parser.rb: followed current Ruby</div><div class='del'>-	  specification. [ruby-dev:30274]</div><div class='del'>-</div><div class='del'>-Tue Feb  6 20:29:44 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb, lib/rss/parser.rb: removed needless code for</div><div class='del'>-	  backward compatibility.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 18:43:17 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: moved fixes for EPIPE to the correct</div><div class='del'>-	  place. [ruby-core:10204]</div><div class='del'>-</div><div class='del'>-Tue Feb  6 16:38:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: set properties:</div><div class='del'>-	  svn:keywords:  Author Date Id Revision</div><div class='del'>-	  svn:eol-style: native</div><div class='del'>-</div><div class='del'>-Tue Feb  6 15:55:46 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (ivar_i): need to support class local instance</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 15:44:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix setting is_local flag.</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb: add a test for class local instance variable.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 14:15:34 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def: remove (get|set)instancevariable2 and add a</div><div class='del'>-	  operand is_local to (get|set)instancevariable.</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb: add a test for class local instance variable.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_decompose_ivar2): remove unused variable oid.</div><div class='del'>-</div><div class='del'>-	* tool/insns2vm.rb: remove needless require.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 11:18:41 2007  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: check the control connection on EPIPE.</div><div class='del'>-	  Thanks, Simon Williams. [ruby-core:9547]</div><div class='del'>-</div><div class='del'>-Tue Feb  6 11:03:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* complement last commit.</div><div class='del'>-</div><div class='del'>-	* common.mk (*.inc): use VPATH.</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: renamed from vm_opts.h.base.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 10:02:41 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/insns2vm.rb: use vm_opts.h in VPATH.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 03:47:58 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: support Binding#eval.</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_eval.rb: add a test for above change.</div><div class='del'>-</div><div class='del'>-Tue Feb  6 03:13:33 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: refactoring (remove K&amp;R style, move Binding stuffs from</div><div class='del'>-	  Init_Proc() to Init_Binding()).</div><div class='del'>-</div><div class='del'>-Tue Feb  6 01:07:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h: prepare rb_last_status_get() and rb_last_status_set().</div><div class='del'>-	  Use these functions instead of rb_last_status ([ruby-dev:30264]).</div><div class='del'>-</div><div class='del'>-	* process.c: define above functions.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: use above functions.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_finalize): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  5 21:26:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: add a prototype of rb_id2str().</div><div class='del'>-</div><div class='del'>-Mon Feb  5 21:06:50 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_thread.c, common.mk: remove eval_thread.c.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: rename cYarvThread to rb_cThread.</div><div class='del'>-</div><div class='del'>-	* gc.c: remove YARV_* prefix.</div><div class='del'>-</div><div class='del'>-	* gc.h: add an include guard and prototype of rb_gc_set_stack_end().</div><div class='del'>-</div><div class='del'>-	* inits.c: fix to ANSI prototype style and reorder Init_*().</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_finalize): TODO: comment out last_status.</div><div class='del'>-</div><div class='del'>-	* process.c, yarvcore.h: fix to use yarv_vm_t#last_status instead of</div><div class='del'>-	  rb_last_status and make last_status_get() to access $?.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (vm_mark): mark yarv_vm_t#last_status.</div><div class='del'>-</div><div class='del'>-	* ruby.h: add declarations of rb_cISeq and rb_cVM.</div><div class='del'>-</div><div class='del'>-	* thread.c: move eval_thread.c codes to thread.c and remove yarv_*</div><div class='del'>-	  function prefix.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): use yarv_thread_t#first_func if</div><div class='del'>-	  it is not null.</div><div class='del'>-</div><div class='del'>-	* vm.c: fix copyright year.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (Init_vm): rename to Init_VM().</div><div class='del'>-</div><div class='del'>-Mon Feb  5 04:09:48 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_frame_callee): check if prev_cfp can be accessible.</div><div class='del'>-	  a patch from Yoshinori Sano &lt;yoshinori.sano at gmail.com&gt; in</div><div class='del'>-	  [ruby-dev:30252].  solves [ruby-dev:30200] and [ruby-core:9856].</div><div class='del'>-</div><div class='del'>-Sun Feb  4 20:34:41 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: removed needless code for backward</div><div class='del'>-	  compatibility.</div><div class='del'>-</div><div class='del'>-Sun Feb  4 02:22:59 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): Remove a debug</div><div class='del'>-	  print.</div><div class='del'>-</div><div class='del'>-Sat Feb  3 23:51:58 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_compose_ivar2): function to create a new ivar2</div><div class='del'>-	  symbol from a symbol and a class.  back-ported from matzruby.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_decompose_ivar2): reverse function of</div><div class='del'>-	  rb_compose_ivar2().</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_symbol): support class local instance variables.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: add two new instructions: getinstancevariable2 and</div><div class='del'>-	  setinstancevariable2.</div><div class='del'>-</div><div class='del'>-Sat Feb  3 23:21:13 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (setclassvariable): remove unnecessary operand.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk (insns_info.inc): add dependency for insns_info.inc.</div><div class='del'>-</div><div class='del'>-Sat Feb  3 14:32:58 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2olevariantdata, ole_val2variant):</div><div class='del'>-	  fix the bug of WIN32OLE_VARIANT.new when variant type is</div><div class='del'>-	  VT_ARRAY.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/sample/excel1.rb: rewrite using WIN32OLE_VARIANT.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: add some test.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb  3 03:35:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, */Makefile.sub, common.mk (vmasm): generalized.</div><div class='del'>-</div><div class='del'>-	* common.mk (runruby, benchmark, benchmark-each, tbench): use</div><div class='del'>-	  PROGRAM for the file to be built.</div><div class='del'>-</div><div class='del'>-	* proc.c (yarv_proc_alloc): needs return.</div><div class='del'>-</div><div class='del'>-	* call_cfunc.ci, compile.c, compile.h, debug.h, eval.c,</div><div class='del'>-	  eval_error.h, eval_jump.h, eval_load.c, eval_thread.c, gc.c,</div><div class='del'>-	  insnhelper.h, insns.def, iseq.c, main.c, numeric.c, parse.y,</div><div class='del'>-	  range.c, ruby.h, signal.c, thread.c, thread_win32.ci, vm.c,</div><div class='del'>-	  vm.h, vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h:</div><div class='del'>-	  fixed indents and non-C90 comments.</div><div class='del'>-</div><div class='del'>-	* regenc.h: revert to before YARV.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): make object files depend on</div><div class='del'>-	  extconf.h even if depend file exists.</div><div class='del'>-</div><div class='del'>-Fri Feb  2 23:39:42 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (bin): add more dependency.  a patch from Tadashi</div><div class='del'>-	  Saito &lt;shiba at mail2.accsnet.ne.jp&gt;.  [ruby-dev:30245]</div><div class='del'>-</div><div class='del'>-Fri Feb  2 18:44:31 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (setclassvariable): remove warn argument.</div><div class='del'>-</div><div class='del'>-Fri Feb  2 18:36:40 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (compile.$(OBJEXT)): add config.h to vm.c and</div><div class='del'>-	  compile.c.</div><div class='del'>-</div><div class='del'>-Fri Feb  2 18:27:54 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove duplicated global variables rb_cProc and</div><div class='del'>-	  rb_cBinding.  [ruby-dev:30242]</div><div class='del'>-</div><div class='del'>-Fri Feb  2 00:13:44 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (SYMBOL_P): make Symbol immediate again for performance.</div><div class='del'>-</div><div class='del'>-	* string.c: redesign symbol methods.</div><div class='del'>-</div><div class='del'>-Thu Feb  1 23:25:21 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id2str): store Strings for operator symbols.</div><div class='del'>-	  [ruby-dev:30235]</div><div class='del'>-</div><div class='del'>-Thu Feb  1 21:04:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen): no need to generate NODE_CVDECL.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): no NODE_CVDECL.</div><div class='del'>-</div><div class='del'>-Thu Feb  1 20:53:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (eval_get_cvar_base): destination for class variable access</div><div class='del'>-	  is now strictly innermost surrounding class or module.  warned</div><div class='del'>-	  if accessed from toplevel.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_get): new class variable look-up scheme:</div><div class='del'>-	  1) look up in the class.  2) if the class is singleton attached</div><div class='del'>-	  to a class (i.e. metaclass) then start look up in the attached</div><div class='del'>-	  class and its ancestors. 3) otherwise, look-up in ancestors of</div><div class='del'>-	  the class.</div><div class='del'>-</div><div class='del'>-	* eval.c (cvar_cbase): destination for class variable access is</div><div class='del'>-	  the class/module that holds the method, or cbase outside of</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-Thu Feb  1 20:31:41 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_set): remove warn argument.</div><div class='del'>-</div><div class='del'>-Wed Jan 31 14:52:09 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::test_block_given_within_iterator):</div><div class='del'>-	  add new test.  [ruby-core:10125]</div><div class='del'>-</div><div class='del'>-Tue Jan 30 17:01:21 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): calling rb_str_modify() should be just</div><div class='del'>-	  before actually modifying the string.</div><div class='del'>-	  fixed: [ruby-dev:30211] (originally reported by zunda)</div><div class='del'>-</div><div class='del'>-Tue Jan 30 13:24:06 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pred): add Integer#pred corresponding</div><div class='del'>-	  Integer#succ.  [RCR#5]</div><div class='del'>-</div><div class='del'>-Tue Jan 30 12:05:35 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: autoconf 2.61 support.  [ruby-core:10016]</div><div class='del'>-</div><div class='del'>-Mon Jan 29 23:52:32 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/compile.rb: replace YARVCore by VM class.</div><div class='del'>-</div><div class='del'>-Mon Jan 29 17:52:44 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date::Format::Bag::method_missing): add</div><div class='del'>-	  prefix to avoid making t class-local instance variable.</div><div class='del'>-</div><div class='del'>-Mon Jan 29 21:32:37 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE.locale=, WIN32OLE.locale,</div><div class='del'>-	  WIN32OLE_VARIANT#vartype.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: add test for WIN32OLE.locale=,</div><div class='del'>-	  WIN32OLE.locale.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: add test for</div><div class='del'>-	  WIN32OLE_VARIANT#vartype.</div><div class='del'>-</div><div class='del'>-Mon Jan 29 14:14:35 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/parse.rb: replace YARVCore by VM class.</div><div class='del'>-	  http://d.hatena.ne.jp/ysano2005/20070128</div><div class='del'>-</div><div class='del'>-Sun Jan 28 08:41:49 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: refactoring.</div><div class='del'>-</div><div class='del'>-Sat Jan 27 18:36:33 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2olevariantdata): bug fix.</div><div class='del'>-	  WIN32OLE_VARIANT.new check that 1st argument should T_ARRAY</div><div class='del'>-	  when variant type is VT_ARRAY.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: add some test.</div><div class='del'>-</div><div class='del'>-Fri Jan 26 23:55:56 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: bug fix of WIN32OLE_VARIANT when variant</div><div class='del'>-	  type is VT_BYREF|VT_VARIANT.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant_with_ie.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 26 12:03:39 2007  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (TkConfigMethod#__confinfo_cmd,</div><div class='del'>-	  __conv_keyonly_optkeys): make them private [ruby-dev:30074].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/txtwin_abst.rb: fix typo [ruby-dev:30073].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb (TkCanvas#scan_dragto): lack of an argument.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: clarify the including module name</div><div class='del'>-	  [ruby-dev:30080].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/scrollable.rb: change primary name of modules</div><div class='del'>-	  [ruby-dev:30080].</div><div class='del'>-</div><div class='del'>-Fri Jan 26 07:48:57 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_init_copy): need to copy internal</div><div class='del'>-	  structure on clone and dup.  [ruby-dev:30192]</div><div class='del'>-</div><div class='del'>-Wed Jan 24 20:34:51 2007  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: removed a needless workaround.</div><div class='del'>-</div><div class='del'>-Wed Jan 24 18:05:39 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix</div><div class='del'>-	  regexp font-lock bug.  [ruby-talk:235758]</div><div class='del'>-</div><div class='del'>-Tue Jan 23 18:26:12 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): use == instead</div><div class='del'>-	  of ===.  [ruby-dev:30176]</div><div class='del'>-</div><div class='del'>-Tue Jan 23 15:39:25 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, configure.in, */{Makefile.sub, configure.bat,</div><div class='del'>-	  setup.mak}: add --with-baseruby configure option.</div><div class='del'>-</div><div class='del'>-Mon Jan 22 14:57:25 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: fix errors in socket sample code.</div><div class='del'>-	  [ruby-core:09992]</div><div class='del'>-</div><div class='del'>-Sat Jan 20 21:05:18 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_s_set_code_page): WIN32OLE.codepage=</div><div class='del'>-	  accepts installed codepage.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_s_codepage_changed): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 20 11:18:49 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke, ole_invoke2, ole_propertyput):</div><div class='del'>-	  modify WIN32OLERuntimeError message.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 20 06:45:21 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_proc.c (method_receiver): add new method to get the bound</div><div class='del'>-	  receiver of the method object.  [ruby-talk:234949]</div><div class='del'>-</div><div class='del'>-	* eval_proc.c (method_name): new method to get the name of a</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	* eval_proc.c (method_owner): a new method to get the class or</div><div class='del'>-	  module that defines the method.</div><div class='del'>-</div><div class='del'>-Fri Jan 19 17:12:23 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_VARIANT::Empty,</div><div class='del'>-	  WIN32OLE_VARIANT::Null, WIN32OLE_VARIANT::Nothing.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_nil2vtempty.rb(test_openSchema): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 19 06:53:38 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (olevariant_free): fix memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2olevariantdata):</div><div class='del'>-	  WIN32OLE_VARIANT.new accepts nil as first argument for some VARIANT</div><div class='del'>-	  TYPE.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 17 17:31:28 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* some refactoring around yarvcore and proc.</div><div class='del'>-</div><div class='del'>-	* eval_proc.c: renamed to proc.c.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c: rename or remove some global variables</div><div class='del'>-	  removed: mYarvCore, mYarvInsns</div><div class='del'>-	  renamed: cYarvISeq -&gt; rb_cISeq,</div><div class='del'>-	           cYarvProc -&gt; rb_cProc, cYarvBinding -&gt; rb_cBinding</div><div class='del'>-	  ::YarvCore module is removed and ::YarvCore::VM class becomes ::VM.</div><div class='del'>-	  And change/remove some functions which added with YARV.</div><div class='del'>-</div><div class='del'>-	* compile.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* inits.c: rename Init_yarvcore to Init_vm.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, proc.c: move some functions and initialization</div><div class='del'>-	  from yarvcore.c to proc.c.</div><div class='del'>-</div><div class='del'>-	* intern.h, proc.c: add global function rb_binding_new(void).</div><div class='del'>-</div><div class='del'>-Tue Jan 16 17:49:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (eval_search_super_klass): rename to search_super_klass() and</div><div class='del'>-	  use it by th_call_super().</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 16 17:48:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix ruby script path.</div><div class='del'>-</div><div class='del'>-Tue Jan 16 17:39:44 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block): fix to specify self.</div><div class='del'>-</div><div class='del'>-Tue Jan 16 12:12:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* env.h: removed</div><div class='del'>-</div><div class='del'>-Tue Jan 16 12:00:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_proc.c (rb_proc_new): added.</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_proc): supported.</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block, th_invoke_yield, th_invoke_proc): fix to support</div><div class='del'>-	  rb_proc_new.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: add a test code.</div><div class='del'>-</div><div class='del'>-Sat Jan 13 23:24:59 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_free, ole_type_free,</div><div class='del'>-	  olemethod_free, olevariable_free, oleparam_free,</div><div class='del'>-	  ole_event_free): fix memory leak.  [ruby-core:09846]</div><div class='del'>-</div><div class='del'>-Wed Jan 10 00:10:23 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_replace): use ptr and len of orig instead of</div><div class='del'>-	  shared.  fixed: [ruby-dev:30116]</div><div class='del'>-</div><div class='del'>-Tue Jan  9 17:48:38 2007  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file): should not call fpath_check() with NULL.</div><div class='del'>-	  fixed: [ruby-core:09867]</div><div class='del'>-</div><div class='del'>-Tue Jan  9 12:29:20 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getpwuid, etc_getgrgid): fix to correctly</div><div class='del'>-	  convert uid/gid from VALUE.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getpwuid): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan  9 03:54:38 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): String#upto from empty string makes</div><div class='del'>-	  infinite loop.  [ruby-core:09864]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): use RSTRING_LEN().</div><div class='del'>-</div><div class='del'>-Sun Jan  7 18:36:05 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_stop_timer_thread(), rb_thread_reset_timer_thread(),</div><div class='del'>-	  rb_thread_start_timer_thread()): added.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci: add a native_thread_join() and move</div><div class='del'>-	  rb_thread_reset_timer_thread() definition to thread.c.</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci: ditto</div><div class='del'>-</div><div class='del'>-	* process.c: fix before_exec(), after_exec() to stop timer thread</div><div class='del'>-	  (and restart timer thread if exec failed).  and fix to reset</div><div class='del'>-	  timer thread information when forked child process starts</div><div class='del'>-	  (to fix [ruby-core:09822]).</div><div class='del'>-</div><div class='del'>-Sun Jan  7 18:28:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add a "compare" rule and fix MATZRUBY variable</div><div class='del'>-</div><div class='del'>-Sun Jan  7 17:47:16 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: add test for WIN32OLE#[],</div><div class='del'>-	  WIN32OLE#[]=.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: update comment for rdoc of</div><div class='del'>-	  WIN32OLE#[] and WIN32OLE#[]=.</div><div class='del'>-</div><div class='del'>-Sun Jan  7 12:13:26 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment):</div><div class='del'>-	  Look for class and module comments above rb_define_class and</div><div class='del'>-	  rb_define_module.  Patch by Daniel Berger &lt;djberg96 at gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Sun Jan  7 10:32:12 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constants):</div><div class='del'>-	  Properly handle escaping of : in comments.</div><div class='del'>-	* test/rdoc/parsers/test_parse_c.rb:</div><div class='del'>-	  Test RDoc::C_Parser#do_classes and Rdoc::C_Parser#find_class_comment.</div><div class='del'>-</div><div class='del'>-Sun Jan  7 09:31:18 2007  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: updated based on date2 4.0.1.</div><div class='del'>-</div><div class='del'>-Sat Jan  6 18:46:34 2007  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast, rb_io_getline): increase lineno</div><div class='del'>-	  when met the delimiter or EOF.  fixed: [ruby-dev:30081]</div><div class='del'>-</div><div class='del'>-	* io.c (prepare_getline_args, rb_io_getline_1): split</div><div class='del'>-	  preparation of arguments and reading.  [ruby-dev:30085]</div><div class='del'>-</div><div class='del'>-Sat Jan  6 13:48:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (send): fix to optimize send() with Symbol.</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb: add another test.</div><div class='del'>-</div><div class='del'>-Sat Jan  6 13:43:55 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add PHONY dependency to some rules</div><div class='del'>-</div><div class='del'>-Sat Jan  6 11:50:33 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): fix wrong replacement.  [ruby-dev:30070]</div><div class='del'>-</div><div class='del'>-Sat Jan  6 09:10:52 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: support direct method dispatch with "send" or "funcall".</div><div class='del'>-	  This means that "obj.send :m" skips "BasicObject#send" invocation</div><div class='del'>-	  (method frame creation, etc) and "obj.m" invokes directly.</div><div class='del'>-	  If you make backtrace, there are no entries of "send" method.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): fix to support above</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto (remove "static" from rb_f_send and rb_f_funcall</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: ditto (add a external IDs for compiler)</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: ditto (add a VM_CALL_SEND_BIT macro)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb: add tests for above changes</div><div class='del'>-</div><div class='del'>-	* eval.c: remove unused "Kernel#send" declaration</div><div class='del'>-</div><div class='del'>-Sat Jan  6 08:29:17 2007  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): add</div><div class='del'>-	  WIN32OLE::VARIANT::VT_EMPTY, WIN32OLE::VARIANT::VT_NULL</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant_m.rb (test_variant): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  6 03:49:22 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb: change option format</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto</div><div class='del'>-</div><div class='del'>-Fri Jan  5 22:21:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_pentomino.rb: use Array#dup instead of</div><div class='del'>-	  Array#clone</div><div class='del'>-</div><div class='del'>-	* benchmark/bmx_temp.rb: removed</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb: use run.rb instead of run_rite.rb</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto</div><div class='del'>-</div><div class='del'>-	* benchmark/run_rite.rb: removed</div><div class='del'>-</div><div class='del'>-	* common.mk: use $(srcdir)/test.rb to run a test program</div><div class='del'>-	  with "make run"</div><div class='del'>-</div><div class='del'>-	* benchmark/bmx_temp.rb: removed and</div><div class='del'>-	  set svn:ignore (bmx_*.rb) to benchmark/</div><div class='del'>-</div><div class='del'>-	* test.rb: set svn:ignore</div><div class='del'>-</div><div class='del'>-Fri Jan  5 21:03:08 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb: fix to compare results</div><div class='del'>-</div><div class='del'>-Fri Jan  5 20:52:56 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h: add ADD_CALL_RECEIVER() macro.</div><div class='del'>-</div><div class='del'>-	* insns.def (send): use GET_SELF() direct if FCALL.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_send): check method dispatch type to permit</div><div class='del'>-	  invoking private method when dispatch type is FCALL/VCALL</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_ltlt): remove useless statement.</div><div class='del'>-</div><div class='del'>-	* vm.h: remove unused macros.</div><div class='del'>-</div><div class='del'>-Fri Jan  5 20:50:31 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run_rite.rb: fix to use readlines instead of</div><div class='del'>-	  read(...).lines (because 1.8 doesn't have String#lines).</div><div class='del'>-</div><div class='del'>-Fri Jan  5 20:28:19 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci (rb_thread_reset_timer_thread):</div><div class='del'>-	  added ([ruby-dev:30086]).</div><div class='del'>-</div><div class='del'>-Fri Jan  5 20:20:36 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add .SUFFIXES rule</div><div class='del'>-</div><div class='del'>-Fri Jan  5 15:58:15 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h (rb_alias): fix to check search result</div><div class='del'>-</div><div class='del'>-Fri Jan  5 13:59:53 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h (rb_add_method): fix to check old_node</div><div class='del'>-</div><div class='del'>-Fri Jan  5 12:03:07 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each, set_block_local_tbl):</div><div class='del'>-	  support NODE_LAMBDA (partly).</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: restore test of NODE_LAMBDA</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Jan  5 12:31:23 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci (native_sleep): fix tv_nsec overflow.</div><div class='del'>-</div><div class='del'>-Thu Jan  4 20:01:29 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: rename yarv-test-[all/each] to compare-test[/-each].</div><div class='del'>-	  purpose of "compare-test" rule is to compare ruby (trunk) and</div><div class='del'>-	  matzruby (branches/matzruby) binary in miniruby level.  MATZRUBY</div><div class='del'>-	  parameter means an path to miniruby of matzruby binary.  to do this</div><div class='del'>-	  comparison test, you should build matzruby branch.</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb: fix to use command line option as</div><div class='del'>-	  command names to be compared.</div><div class='del'>-</div><div class='del'>-	* yarvtest/runner.rb: remove a debug output.</div><div class='del'>-</div><div class='del'>-Thu Jan  4 19:12:27 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix to use test.rb script in build directory.</div><div class='del'>-	  ($(srcdir)/test.rb -&gt; test.rb)</div><div class='del'>-</div><div class='del'>-Thu Jan  4 17:28:05 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):</div><div class='del'>-	  Arrays could not be modified in its each block. [ruby-dev:30063]</div><div class='del'>-</div><div class='del'>-Thu Jan  4 16:57:14 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv_version.h: removed.</div><div class='del'>-</div><div class='del'>-	* common.mk: remove yarv_version.h from rules</div><div class='del'>-</div><div class='del'>-	* yarvcore.h (Init_yarvcore): remove useless constants</div><div class='del'>-</div><div class='del'>-Thu Jan  4 17:00:06 2007  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (Init_ossl_asn1):</div><div class='del'>-	  OpenSSL::ASN1::ASN1Data#value,#tag,#tag_class and</div><div class='del'>-	  OpenSSL::ASN1::BitString#unused_bits should be public.</div><div class='del'>-</div><div class='del'>-Thu Jan  4 13:45:10 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci: fix last changes around PTHREAD_STACK_MIN.</div><div class='del'>-</div><div class='del'>-Thu Jan  4 13:42:47 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: restore changes.</div><div class='del'>-</div><div class='del'>-Thu Jan  4 10:33:54 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci: fix to skip using PTHREAD_STACK_MIN.</div><div class='del'>-	  [ruby-dev:30063]</div><div class='del'>-</div><div class='del'>-Thu Jan  4 10:30:11 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run_rite.rb (bm): fix to use lines.</div><div class='del'>-</div><div class='del'>-Wed Jan  3 18:49:15 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): lineno update condition was wrong.</div><div class='del'>-	  [ruby-dev:30065]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan  3 11:36:51 2007  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ruby_dup): start GC on ENOMEM as well.</div><div class='del'>-</div><div class='del'>-Tue Jan  2 10:29:54 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: fix to compile on YARV</div><div class='del'>-	  ruby_errinfo -&gt; rb_errinfo()</div><div class='del'>-</div><div class='del'>-Mon Jan  1 08:07:06 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fix to compile on YARV</div><div class='del'>-	  ruby_errinfo -&gt; rb_errinfo(),</div><div class='del'>-	  ruby_safe_level -&gt; rb_safe_level().</div><div class='del'>-</div><div class='del'>-Mon Jan  1 07:57:17 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbssl.rb: fix to skip drb tests.</div><div class='del'>-</div><div class='del'>-Mon Jan  1 06:13:11 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/c_parser.rb: Make Rdoc accessible.  Update constant</div><div class='del'>-	  value information.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Update constant comments to provide</div><div class='del'>-	  values for RDoc.</div><div class='del'>-</div><div class='del'>-Mon Jan  1 06:05:55 2007  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constants):</div><div class='del'>-	  Allow RDoc comment to give friendly value for rb_define_const.  Patch</div><div class='del'>-	  by Daniel Berger &lt;djberg96 at gmail.com&gt;, [ruby-patches-7499].</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constants): Fix</div><div class='del'>-	  whitespace handling in constant comments.</div><div class='del'>-</div><div class='del'>-Mon Jan  1 00:00:00 2007  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* Merge YARV</div><div class='del'>-</div><div class='del'>-Sun Dec 31 16:22:48 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Fix Array#reject.</div><div class='del'>-</div><div class='del'>-Sun Dec 31 00:46:25 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date2.rb: removed.</div><div class='del'>-</div><div class='del'>-Sun Dec 31 00:15:13 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 4.0.</div><div class='del'>-</div><div class='del'>-Sat Dec 30 04:38:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_with_index): reuse array for yield parameters.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min, enum_max): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 30 04:25:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): reuse array for yield parameters.</div><div class='del'>-</div><div class='del'>-Sat Dec 30 02:54:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_gets): accepts limit argument.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_readline, strio_each,</div><div class='del'>-	  strio_readlines): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 30 02:22:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): add limit capability.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets_m): accepts limit argument.  [ruby-talk:231563]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_readline, rb_io_readlines, rb_io_each_line, argf_getline):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): add limit capability.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast, rb_io_getline): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): small refactoring for DRY.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_foreach, rb_io_s_readlines): small refactoring.</div><div class='del'>-</div><div class='del'>-Thu Dec 28 15:27:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie::initialize): use Array() again.</div><div class='del'>-	  [ruby-core:09781]</div><div class='del'>-</div><div class='del'>-Wed Dec 27 20:52:32 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: remove WIN32OLE::PROPERTY class.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 27 10:04:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Array): returns 1-element array if the argument</div><div class='del'>-	  does not have to_ary nor to_a.</div><div class='del'>-</div><div class='del'>-Tue Dec 26 21:02:14 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_folderitem2_invokeverb.rb: The argument</div><div class='del'>-	  of Shell.NameSpace should not be file path.</div><div class='del'>-</div><div class='del'>-Tue Dec 26 06:13:08 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: remove useless method</div><div class='del'>-	  BigDecimal#!=. [ruby-dev:30050]</div><div class='del'>-</div><div class='del'>-Thu Dec 21 15:37:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_slice_bang): rdoc description bug fixed.</div><div class='del'>-	  [ruby-core:09754]</div><div class='del'>-</div><div class='del'>-Wed Dec 20 12:54:31 2006  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* Convert CVS repository to Subversion repository.</div><div class='del'>-</div><div class='del'>-Mon Dec 18 08:36:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie::initialize): Array(string) no longer</div><div class='del'>-	  works.  [ruby-core:09738]</div><div class='del'>-</div><div class='del'>-Fri Dec 15 00:19:53 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (COMPILE_RULES): latter rule has higher priority.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): remove static library before update,</div><div class='del'>-	  to get rid of sludge of Borland tlib.exe.</div><div class='del'>-</div><div class='del'>-Thu Dec 14 18:29:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: NetBSD editline does not have</div><div class='del'>-	  rl_username_completion_function() and rl_completion_matches().</div><div class='del'>-	  a patch from Takahiro Kambe &lt;taca at back-street.net&gt;.</div><div class='del'>-	  [ruby-dev:30008]</div><div class='del'>-</div><div class='del'>-Thu Dec 14 18:20:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale::puts): typo fixed.  a patch from</div><div class='del'>-	  NAKAMURA Usaku &lt;usa@ruby-lang.org&gt;.  [ruby-dev:30012]</div><div class='del'>-</div><div class='del'>-Tue Dec 12 23:33:53 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (Switch#parse_arg, Switch#conv_arg): splat failures.</div><div class='del'>-</div><div class='del'>-Mon Dec 11 11:51:10 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/lib/sha2.rb: Moved one level up from under</div><div class='del'>-	  the superfluous subdirectory digest/.</div><div class='del'>-</div><div class='del'>-Mon Dec 11 11:46:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_define_const): typo fixed.</div><div class='del'>-</div><div class='del'>-Mon Dec 11 09:36:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset): index double decode problem.</div><div class='del'>-	  [ruby-core:09695]</div><div class='del'>-</div><div class='del'>-Sat Dec  9 21:39:24 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): keep the exception till after END blocks.</div><div class='del'>-	  [ruby-core:09675]</div><div class='del'>-</div><div class='del'>-Sat Dec  9 11:22:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale::search_file): use File.exist?</div><div class='del'>-	  instead of File.exists?.  a patch from Yutaka Kanemoto</div><div class='del'>-	  &lt;kinpoco at gmail.com&gt; in [ruby-dev:30000].</div><div class='del'>-</div><div class='del'>-Fri Dec  8 18:11:18 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: cannot put :nodoc: before method definition.</div><div class='del'>-	  put after it.</div><div class='del'>-</div><div class='del'>-Fri Dec  8 17:00:13 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/rdoc: use File.exist? instead of File.exists?.</div><div class='del'>-</div><div class='del'>-Thu Dec  7 23:50:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): new method Dir.exist?(path).</div><div class='del'>-	  [ruby-core:09663]</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): remove File.exists?; use File.exist?</div><div class='del'>-	  instead.</div><div class='del'>-</div><div class='del'>-	* file.c: rename functions to test_* to rb_file_*_p.</div><div class='del'>-</div><div class='del'>-Thu Dec  7 09:29:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb (WeakRef::__setobj__): should support</div><div class='del'>-	  marshaling.  [ruby-talk:228508]</div><div class='del'>-</div><div class='del'>-Wed Dec  6 23:58:36 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (NULLCMD): moved for platforms that empty</div><div class='del'>-	  command does not run.  fixed: [ruby-dev:29994]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_stdhandle): redirect unopened IOs to NUL.</div><div class='del'>-	  [ruby-core:09572]</div><div class='del'>-</div><div class='del'>-Tue Dec  5 19:01:42 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (SITE_DIR): fixed to empty RUBY_SITE_LIB in config.h on</div><div class='del'>-	  NetBSD.  fixed: [ruby-dev:29358]</div><div class='del'>-</div><div class='del'>-Tue Dec  5 18:38:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix::rank): use quo method to avoid integer</div><div class='del'>-	  division problem.  [ruby-core:09644]</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix::rank_e): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  5 00:59:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): need to parse "/=" as</div><div class='del'>-	  self assignment operator, not regex.  [ruby-talk:227324]</div><div class='del'>-</div><div class='del'>-Tue Dec  5 00:19:14 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h, object.c, variable.c (rb_mod_constants): added an optional</div><div class='del'>-	  flag to search ancestors, which is defaulted to true, as well as</div><div class='del'>-	  const_defined? and const_get.  [ruby-dev:29989]</div><div class='del'>-</div><div class='del'>-Mon Dec  4 23:49:28 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install_recursive): get rid of warning.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (CompletingHash#match): get rid of splat failure.</div><div class='del'>-</div><div class='del'>-Mon Dec  4 19:16:39 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Do alias &lt;&lt; update.</div><div class='del'>-</div><div class='del'>-Mon Dec  4 10:48:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (OFFT2NUM): use LONG2NUM() if sizeof(long) equals to</div><div class='del'>-	  sizeof(off_t).</div><div class='del'>-</div><div class='del'>-Mon Dec  4 08:32:25 2006  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): should quote</div><div class='del'>-	  boundary. JVN#84798830</div><div class='del'>-</div><div class='del'>-Sun Dec  3 16:16:53 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Fix problems with update</div><div class='del'>-	  timing. [Reported by: oss-ruby@technorama.net]</div><div class='del'>-</div><div class='del'>-Sat Dec  2 07:33:53 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils::FormData::&lt;&lt;):</div><div class='del'>-	  HTTPUtils::parse_header() takes a string.  [ruby-dev:29931]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_header):</div><div class='del'>-	  String does no longer have each method.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_form_data):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  2 07:09:04 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: OpenSSL::OCSP::OSCPError should be</div><div class='del'>-	  subclass of OpenSSL::OpenSSLError. [ruby-dev:29980]</div><div class='del'>-</div><div class='del'>-Fri Dec  1 16:31:53 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: shouldn't run the killed thread at callback.</div><div class='del'>-	  [ruby-talk: 227408]</div><div class='del'>-</div><div class='del'>-Tue Nov 28 17:25:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_iter_check): should check modification (size</div><div class='del'>-	  change) during iteration.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize, rb_ary_shift, rb_ary_unshift,</div><div class='del'>-	  rb_ary_splice, rb_ary_reverse, rb_ary_sort, rb_ary_delete,</div><div class='del'>-	  rb_ary_delete_at, rb_ary_reject_bang, rb_ary_replace,</div><div class='del'>-	  rb_ary_clear, rb_ary_fill, rb_ary_uniq_bang, rb_ary_compact,</div><div class='del'>-	  rb_ary_shuffle): add iteration check.</div><div class='del'>-</div><div class='del'>-Mon Nov 27 09:00:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ord): typo fixed.  reported from Kornelius</div><div class='del'>-	  Kalnbach &lt;murphy@rubychan.de&gt;.  [ruby-core:09621]</div><div class='del'>-</div><div class='del'>-Sun Nov 26 16:36:46 2006  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: addition of RUBY_PATCHLEVEL.</div><div class='del'>-	* version.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 22 16:00:49 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: support --with-X11/--without-X11 option.</div><div class='del'>-</div><div class='del'>-	* ext/tk/README.tcltklib: add description about --with-X11-* option</div><div class='del'>-	  [ruby-talk:225166] and --with-X11/--without-X11 option.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/extconf.rb: able to be called manually</div><div class='del'>-	  [ruby-talk:225950].</div><div class='del'>-</div><div class='del'>-Sat Nov 18 23:39:20 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_tap): a new method.  [ruby-talk:224013]</div><div class='del'>-</div><div class='del'>-Wed Nov 15 23:22:54 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (test_grpowned, rb_stat_grpowned): should honor</div><div class='del'>-	  supplementary group IDs.  [ruby-core:09546]</div><div class='del'>-</div><div class='del'>-Tue Nov  7 18:35:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): need to pack rest arg information in</div><div class='del'>-	  argc.</div><div class='del'>-</div><div class='del'>-Tue Nov  7 18:05:01 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: minor bug fix.</div><div class='del'>-</div><div class='del'>-Tue Nov  7 17:52:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_include_module): revert duplicate inclusion of</div><div class='del'>-	  modules.  [ruby-dev:29793]</div><div class='del'>-</div><div class='del'>-Tue Nov  7 17:18:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (method_missing): update old argument adjustment.</div><div class='del'>-</div><div class='del'>-Tue Nov  7 16:41:21 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (when_check): need to splat for NODE_ARGSCAT as well.</div><div class='del'>-	  [ruby-dev:29860]</div><div class='del'>-</div><div class='del'>-Mon Nov  6 22:23:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): remove duplicated definition of</div><div class='del'>-	  Symbol#to_s.</div><div class='del'>-</div><div class='del'>-Mon Nov  6 18:54:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (svalue_to_avalue): need to splat but no error.</div><div class='del'>-</div><div class='del'>-	* eval.c: new macros - YIELD_CALL, YIELD_VALUES.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_values): specify YIELD_VALUES.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): use new macros.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): slightly modified to separate YIELD_CALL</div><div class='del'>-	  and YIELD_VALUES from YIELD_ARY_ARGS.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): add nil.to_splat =&gt; [].</div><div class='del'>-</div><div class='del'>-Mon Nov  6 15:41:55 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: ext/tk/lib/tk/itemconfig.rb: bug</div><div class='del'>-	  fix on 'itemconfiginfo' method, and modify to make it easy to</div><div class='del'>-	  override 'itemconfiginfo' method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/treeview.rb: support Tile 0.7.8.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/version.rb: [new] add Tk::Tkextlib_RELEASE_DATE</div><div class='del'>-	  to get the information from scripts.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: load 'tkextlib/version.rb', and update RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/SUPPORT_STATUS: update.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/editable_listbox.rb: [new] the listbox with editable</div><div class='del'>-	  items. It's one of the example about usage of Place geometry manager.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextio.rb: improve the functions of TkTextIO class.</div><div class='del'>-	  Those are required by 'irbtkw.rbw'.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/irbtkw.rbw: [new] IRB on Ruby/Tk. It doesn't need any</div><div class='del'>-	  real console. IRB works on a text widget without I/O blocking. That</div><div class='del'>-	  is, thread switching on IRB will work properly, even if on Windows.</div><div class='del'>-</div><div class='del'>-Mon Nov  6 00:42:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_dup_check): vid may be nameless internal id.</div><div class='del'>-</div><div class='del'>-Sun Nov  5 19:52:19 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: updated based on date2 3.9.7.</div><div class='del'>-</div><div class='del'>-Sat Nov  4 13:09:31 2006  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: accept NOMODSEQ. [ruby-core:9002]</div><div class='del'>-</div><div class='del'>-Fri Nov  3 00:16:37 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_getnameinfo__aix): AF_INET6 workaround</div><div class='del'>-	  for AIX.  a patch from Yutaka Kanemoto &lt;kinpoco AT gmail.com&gt;.</div><div class='del'>-	  [ruby-dev:29744]</div><div class='del'>-</div><div class='del'>-Thu Nov  2 14:19:44 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#^): Fix XOR operation against a container that</div><div class='del'>-	  holds duplicate values. [ruby-core:9372]</div><div class='del'>-</div><div class='del'>-Thu Nov  2 10:00:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: class Symbol is no longer subclass of String. also</div><div class='del'>-	  covers [ruby-core:09366]</div><div class='del'>-</div><div class='del'>-Thu Nov  2 08:21:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Symbol should</div><div class='del'>-	  come earlier than String.</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/rubytypeFactory.rb (RubytypeFactory::obj2soap):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (TC_Set::test_s_new): strings are no longer</div><div class='del'>-	  Enumerable</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb (Property::load): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_header): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/soap/mimemessage.rb (MIMEMessage::Headers::parse): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov  2 09:08:04 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: revert lfree shift/unshift boost patch to avoid unknown</div><div class='del'>-	  memory error.</div><div class='del'>-</div><div class='del'>-Wed Nov  1 23:24:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (struct RArray): revert embedding ptr in RVALUE.</div><div class='del'>-</div><div class='del'>-	* array.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  1 23:01:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (hash): use Bob Jenkins' hash algorithm.</div><div class='del'>-</div><div class='del'>-Wed Nov  1 02:22:31 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb (Digest::HMAC::update): Minor</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_equal): Allow comparing</div><div class='del'>-	  a digest instance with another of a different class.</div><div class='del'>-</div><div class='del'>-Wed Nov  1 01:05:13 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): fixed bug of zsuper with both of opt and rest.</div><div class='del'>-	  fixed: [ruby-list:42928]</div><div class='del'>-</div><div class='del'>-Tue Oct 31 17:03:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_dup): duplicate the class of original time.</div><div class='del'>-	  [ruby-core:09357]</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate):</div><div class='del'>-	  should respect subclasses.  [ruby-core:09357]</div><div class='del'>-</div><div class='del'>-Tue Oct 31 16:25:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_shared_first): should address offset after</div><div class='del'>-	  ary_shared_array().  [ruby-core:09358]</div><div class='del'>-</div><div class='del'>-Mon Oct 30 23:40:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby): add XLDFLAGS.</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): use -bE option for miniruby.  [ruby-dev:29698]</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): get rid of possible memory leak.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (cmdglob, rb_w32_cmdvector, rb_w32_opendir,</div><div class='del'>-	  rb_w32_get_environ): not to use GC before initialization.</div><div class='del'>-</div><div class='del'>-Mon Oct 30 19:28:02 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): use better approximation.</div><div class='del'>-</div><div class='del'>-Mon Oct 30 18:35:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str0): wrong allocation length.  a patch from</div><div class='del'>-	  U.Nakamura &lt;usa at garbagecollect.jp&gt; [ruby-dev:29710]</div><div class='del'>-</div><div class='del'>-Mon Oct 30 12:34:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): fix commit miss.  [ruby-dev:29707]</div><div class='del'>-</div><div class='del'>-Mon Oct 30 11:15:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): should preserve leading zero</div><div class='del'>-	  information for negative %b and %x.  [ruby-talk:221347]</div><div class='del'>-</div><div class='del'>-Sun Oct 29 19:51:31 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c: invalid offset value was used in STATE_CHECK_BUFF_INIT().</div><div class='del'>-</div><div class='del'>-Sat Oct 28 20:13:18 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.4.5</div><div class='del'>-</div><div class='del'>-	* regint.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regerror.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.c ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 28 07:56:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): missing break.  [ruby-core:09345]</div><div class='del'>-</div><div class='del'>-Fri Oct 27 17:30:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enum_each_cons): move RETURN_ENUMERATOR() after</div><div class='del'>-	  argument check.</div><div class='del'>-</div><div class='del'>-Thu Oct 26 21:05:48 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): should clear error.</div><div class='del'>-	  (fix http://bugs.debian.org/394336)</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 26 15:23:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: remove by_slice and by_cons.</div><div class='del'>-</div><div class='del'>-Thu Oct 26 15:12:12 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (Init_digest): typo.</div><div class='del'>-</div><div class='del'>-Wed Oct 25 17:16:05 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest_hmac.rb: added.</div><div class='del'>-</div><div class='del'>-Wed Oct 25 16:34:31 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/test.sh: make this script work again.</div><div class='del'>-</div><div class='del'>-Wed Oct 25 07:59:42 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: updated based on date2 3.9.6.</div><div class='del'>-	  [ruby-core:09323]</div><div class='del'>-</div><div class='del'>-Wed Oct 25 00:58:19 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb, win32/resource.rb: use unique variable names.</div><div class='del'>-</div><div class='del'>-Tue Oct 24 19:18:53 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_by_slice): new method added.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_by_cons): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 24 18:56:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enum_each_slice, enum_each_cons): returns</div><div class='del'>-	  Enumerable::Enumerator if no block is given.  [ruby-dev:29246]</div><div class='del'>-</div><div class='del'>-	* enumerator.c: remove methods: enum_with_index, enum_slice,</div><div class='del'>-	  enum_cons.  [ruby-dev:29246]</div><div class='del'>-</div><div class='del'>-Tue Oct 24 18:51:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): add RETURN_ENUMERATOR() to zip method.</div><div class='del'>-</div><div class='del'>-Mon Oct 23 04:30:04 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): use return value from proc given as the</div><div class='del'>-	  second argument to Marshal#load() to allow value replacement in</div><div class='del'>-	  the restoring data.</div><div class='del'>-</div><div class='del'>-Sun Oct 22 14:48:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (Init_signal): avoid duplicated installation of SIGCHLD</div><div class='del'>-	  handler.</div><div class='del'>-</div><div class='del'>-Sun Oct 22 16:47:56 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): should be infected with only original</div><div class='del'>-	  string, but not the shared string.  fixed: [ruby-core:09152]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4): keep shared string untainted when original</div><div class='del'>-	  string is tainted.  fixed: [ruby-dev:29672]</div><div class='del'>-</div><div class='del'>-Sun Oct 22 07:55:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upcase, rb_str_downcase, rb_str_downcase,</div><div class='del'>-	  rb_str_upcase_bang, rb_str_downcase_bang, rb_str_swapcase_bang):</div><div class='del'>-	  add RDoc description that case conversion to be effective only</div><div class='del'>-	  in ASCII region.</div><div class='del'>-</div><div class='del'>-Sun Oct 22 05:20:34 2006  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: alloca is broken; use C_ALLOCA instead.</div><div class='del'>-	  [ruby-dev:29416]</div><div class='del'>-</div><div class='del'>-Sat Oct 21 17:50:40 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb: Follow the framework updates.</div><div class='del'>-</div><div class='del'>-Fri Oct 20 22:00:43 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Complete half-boiled updates.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/lib/digest/sha2.rb: Fix #initialize_clone().</div><div class='del'>-</div><div class='del'>-Fri Oct 20 20:28:37 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest: Prefix C constants with RUBY_ and C type names with</div><div class='del'>-	  rb_ to avoid name clash in writing extensions.</div><div class='del'>-</div><div class='del'>-	* ext/digest: Introduce Digest::Class and Digest::Instance for</div><div class='del'>-	  ease of implementing subclasses and add-ons, inspired by</div><div class='del'>-	  gotoyuzo.</div><div class='del'>-</div><div class='del'>-	* ext/digest: The Digest::Instance module now requires and assumes</div><div class='del'>-	  that any instance be resettable and clonable, and add some</div><div class='del'>-	  convenient instance methods such as "new()", for creating a new</div><div class='del'>-	  copy, parameter taking "digest()" and "hexdigest()", for instant</div><div class='del'>-	  calculation.  These methods make digest instances work just like</div><div class='del'>-	  digest classes.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/lib/digest/sha2.rb:</div><div class='del'>-	  Add the Digest::SHA2 class to wrap up SHA2 variants: SHA256,</div><div class='del'>-	  SHA384 and SHA512, hoping this module would make a decent</div><div class='del'>-	  example of a digest subclass written in Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb: Adjust autoload entries for SHA2</div><div class='del'>-	  classes.</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Follow the framework updates.</div><div class='del'>-</div><div class='del'>-Fri Oct 20 10:47:43 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: fixed the bug of handling COMMON_MACROS.</div><div class='del'>-</div><div class='del'>-Fri Oct 20 08:42:38 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (NULLCMD): dummy command.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (post-install-*): Borland make cannot ignore</div><div class='del'>-	  command-less double-colon rules.  [ruby-dev:29676]</div><div class='del'>-</div><div class='del'>-Fri Oct 20 00:37:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub ($(LIBRUBY_SO)): execute pre-link hook.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: workaround for Borland make.</div><div class='del'>-</div><div class='del'>-Wed Oct 18 23:02:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift): shorten copy size.  fixed: [ruby-list:42907]</div><div class='del'>-</div><div class='del'>-	* signal.c (Init_signal): handle SIGTERM.  fixed: [ruby-list:42895]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_utime): allow NULL to set the current time.</div><div class='del'>-	  [ruby-talk:219248]</div><div class='del'>-</div><div class='del'>-Wed Oct 18 13:25:50 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): String#lines now works when a block</div><div class='del'>-	  is given.  in other words, lines become an alias to each_line.</div><div class='del'>-	  [ruby-core:09218]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_byte): ditto for bytes in place of lines.</div><div class='del'>-</div><div class='del'>-Wed Oct 18 00:55:33 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): use particular enums.  [ruby-core:09221]</div><div class='del'>-</div><div class='del'>-Tue Oct 17 22:03:08 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: String#each was removed, use #each_line instead.</div><div class='del'>-</div><div class='del'>-Tue Oct 17 12:27:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_shared_array): should set NOEMBED flag for a copied</div><div class='del'>-	  array.</div><div class='del'>-</div><div class='del'>-Tue Oct 17 08:04:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lines): now takes optional argument for the</div><div class='del'>-	  line separator.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_lines, rb_io_bytes): new methods.</div><div class='del'>-</div><div class='del'>-Mon Oct 16 23:33:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_unshift_m): a bug in lfree shift length</div><div class='del'>-	  calculation.</div><div class='del'>-</div><div class='del'>-Mon Oct 16 08:30:43 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: *OBJS are not needed for extension libraries.</div><div class='del'>-</div><div class='del'>-	* {bcc32,wince,win32}/Makefile.sub (config.status): fixed typo,</div><div class='del'>-	  missing comma.</div><div class='del'>-</div><div class='del'>-Mon Oct 16 00:44:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): execute block if given with unpacked value</div><div class='del'>-	  instead of creating an array.  an idea from Tim Bray.</div><div class='del'>-</div><div class='del'>-Sun Oct 15 01:03:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Collector::Dir#collect): append base</div><div class='del'>-	  directory but not prepend.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): do not</div><div class='del'>-	  join with dot.  fixed: [ruby-core:09179]</div><div class='del'>-</div><div class='del'>-Sat Oct 14 23:39:50 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (singleton): no need to re-create NODE_SELF() again.</div><div class='del'>-	  [ruby-core:09177]</div><div class='del'>-</div><div class='del'>-Sat Oct 14 23:25:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_warning, parser_warn): some error message may</div><div class='del'>-	  contain format specifiers.  a patch from Akinori MUSHA &lt;knu at</div><div class='del'>-	  iDaemons.org&gt;.  [ruby-dev:29657]</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_rb_warning, onig_rb_warn): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpException): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (rb_gdbm_fatal): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 14 08:15:42 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c, ext/digest/digest.h,</div><div class='del'>-	  ext/digest/md5/md5init.c, ext/digest/rmd160/rmd160init.c,</div><div class='del'>-	  ext/digest/sha1/sha1init.c, ext/digest/sha2/sha2init.c:</div><div class='del'>-	  Introduce API versioning.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c, ext/digest/digest.h,</div><div class='del'>-	  ext/digest/md5/md5init.c, ext/digest/rmd160/rmd160init.c,</div><div class='del'>-	  ext/digest/sha1/sha1init.c, ext/digest/sha2/sha2init.c: Remove</div><div class='del'>-	  the constants DIGEST_LENGTH and BLOCK_LENGTH and turn them into</div><div class='del'>-	  instance methods digest_length() and block_length().  Class</div><div class='del'>-	  methods with the same names are also provided, which take extra</div><div class='del'>-	  parameters for a digest method.</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Completely redesign the somewhat</div><div class='del'>-	  bizarre API, now that Digest classes can take hashing</div><div class='del'>-	  parameters.</div><div class='del'>-</div><div class='del'>-Sat Oct 14 05:54:05 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: Improve RDoc documentation further more.</div><div class='del'>-</div><div class='del'>-Sat Oct 14 04:33:33 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: Improve RDoc documentation.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (Init_digest, rb_digest_base_s_digest,</div><div class='del'>-	  rb_digest_base_s_hexdigest): Make Digest::Base::digest() and</div><div class='del'>-	  Digest::Base::hexdigest() take extra arguments, which are passed</div><div class='del'>-	  through to the constructor in an internal call.</div><div class='del'>-</div><div class='del'>-	* ext/digest/bubblebabble/bubblebabble.c</div><div class='del'>-	  (rb_digest_base_s_bubblebabble): Ditto for</div><div class='del'>-	  Digest::Base::bubblebabble().</div><div class='del'>-</div><div class='del'>-Sat Oct 14 00:55:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (post-install-ext): no longer needed.</div><div class='del'>-</div><div class='del'>-	* bcc32/configure.bat: get rid of a quirk of Borland make, which</div><div class='del'>-	  sets empty macro in command line to "1".</div><div class='del'>-</div><div class='del'>-Fri Oct 13 22:49:02 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: updated based on date2 3.9.5.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 21:00:01 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest): Try to auto-load non-standard</div><div class='del'>-	  digest modules when a specified digest class is missing.</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb: Define Digest(name) for ease of</div><div class='del'>-	  dynamically selecting a hashing algorithm.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 20:53:37 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (Init_digest): Digest::Base.new() does no</div><div class='del'>-	  longer take an initial string to feed.  This change allows</div><div class='del'>-	  subclasses to take hashing parameters.  A statement such as</div><div class='del'>-	  ``md = Digest::MD5.new(s)'' can be easily rewritten as</div><div class='del'>-	  ``md = Digest::MD5.new &lt;&lt; s'' or</div><div class='del'>-	  ``md = Digest::MD5.new.update(s)''.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 20:51:55 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c, ext/digest/md5/md5init.c,</div><div class='del'>-	  ext/digest/rmd160/rmd160init.c, ext/digest/sha1/sha1init.c,</div><div class='del'>-	  ext/digest/sha2/sha2init.c: Add RDoc documentation.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.txt, ext/digest/digest.txt.ja: Removed in</div><div class='del'>-	  favor of embedded RDoc documentation.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 20:38:12 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/bubblebabble, ext/digest/digest.c: Rip BubbleBabble</div><div class='del'>-	  support out of the base class and have a separate module named</div><div class='del'>-	  digest/bubblebabble.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 19:53:59 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_equal): Again, should call</div><div class='del'>-	  digest() of a subclass instead of the one defined in the base</div><div class='del'>-	  class.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 18:19:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Class#inherited RDoc added.  a patch from Daniel</div><div class='del'>-	  Berger &lt;djberg96 at gmail.com&gt;  [ruby-core:08942]</div><div class='del'>-</div><div class='del'>-Fri Oct 13 02:42:00 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_equal): Should call digest()</div><div class='del'>-	  of a subclass instead of the one defined in the base class.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 02:30:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Collector::Dir#collect): prepend</div><div class='del'>-	  base directory to load path.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): should</div><div class='del'>-	  use the given File-like interface, but not File directly.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb (TestDir::FileSystem): implement</div><div class='del'>-	  File-like methods correctly.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 01:48:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (Date::self.complete_hash): need to check if g is</div><div class='del'>-	  nil before dereference.  [ruby-core:09116]</div><div class='del'>-</div><div class='del'>-Fri Oct 13 01:05:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_partition): RDoc update.  a patch from</div><div class='del'>-	  Mauricio Fernandez &lt;mfp at acm.org&gt;.  [ruby-core:09160]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compare_by_id): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 13 00:34:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_defined): wrong id check.  a patch from</div><div class='del'>-	  Mauricio Fernandez &lt;mfp at acm.org&gt;.  [ruby-core:09158]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_get): typo fixed.  [ruby-core:09168]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_set): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 12 22:58:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compare_by_id): somehow we lost renaming from</div><div class='del'>-	  Hash#identical.  [ruby-core:09163]</div><div class='del'>-</div><div class='del'>-Thu Oct 12 18:25:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (cbsubst_table_setup): need to handle new</div><div class='del'>-	  character literal (1 char string).</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: shut up some warnings from tk's extconf.rb.</div><div class='del'>-</div><div class='del'>-Thu Oct 12 02:15:24 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Make use of String#bytes.</div><div class='del'>-</div><div class='del'>-Thu Oct 12 02:12:31 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (get_digest_base_metadata): Use an instance</div><div class='del'>-	  variable of a class object instead of a class variable for</div><div class='del'>-	  metadata.  This change is only crucial for ruby 1.8 because</div><div class='del'>-	  class variables are inherited to subclasses prior to 1.9, but</div><div class='del'>-	  applying it also to 1.9 will assure compatibilities.</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5init.c (Init_md5): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/rmd160init.c (Init_rmd160): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/sha1init.c (Init_sha1): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2init.c (Init_sha2): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 21:36:47 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_alloc,</div><div class='del'>-	  rb_digest_base_equal): Simplify the equality check and just</div><div class='del'>-	  compare resulted digests since state-level equality should</div><div class='del'>-	  not be so significant.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/*.[ch]: Ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 17:11:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_define_method): add half boiled RDoc document.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 16:57:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_replace): should shift lfree pointer before</div><div class='del'>-	  calling xfree.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 15:07:42 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: Add digest/hmac, which implements</div><div class='del'>-	  HMAC keyed-hashing algorithm.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 15:03:55 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_reset): Do not make</div><div class='del'>-	  recursive calls, but call initialize() when reset() is not</div><div class='del'>-	  defined in a subclass.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 14:56:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/sha1ossl.h: libssl 0.9.8c-3 defines no</div><div class='del'>-	  SHA_BLOCK_LENGTH.</div><div class='del'>-</div><div class='del'>-Wed Oct 11 14:03:31 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_reset, Init_digest): Add</div><div class='del'>-	  Digest::Base#reset.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.h: Update the header comment.</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5ossl.h, ext/digest/md5/md5init.c (Init_md5):</div><div class='del'>-	  Define DIGEST_LENGTH and BLOCK_LENGTH.</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/rmd160init.c (Init_rmd160): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/sha1init.c (Init_sha1): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2init.c (Init_sha2): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/depend, ext/digest/extconf.rb: Use $INSTALLFILES</div><div class='del'>-	  rather than adding make targets. [Pointed out by: nobu]</div><div class='del'>-</div><div class='del'>-Tue Oct 10 16:39:08 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (hexdigest_str_new, bubblebabble_str_new):</div><div class='del'>-	  Perform StringValue() checks properly.</div><div class='del'>-</div><div class='del'>-Tue Oct 10 13:21:21 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/depend, ext/digest/sha2/depend: Remove obsolete</div><div class='del'>-	  dependencies.</div><div class='del'>-</div><div class='del'>-Mon Oct  9 23:46:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb: documentation patch from Konrad Meyer</div><div class='del'>-	  &lt;konrad.meyer@gmail.com&gt;.  [ruby-doc:1238]</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb, lib/ping.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  9 23:40:58 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, lib/fileutils.rb, lib/mkmf.rb, lib/optparse.rb,</div><div class='del'>-	  lib/shellwords.rb: get rid of shadowing outer local variable.</div><div class='del'>-</div><div class='del'>-Mon Oct  9 22:56:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb (REXML::Encoding::check_encoding): spaces</div><div class='del'>-	  are allowed around equal sign.  [ruby-core:09032]</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  9 01:56:34 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_define_method): add new method</div><div class='del'>-	  Kernel#define_singleton_method.  [ruby-list:42851]</div><div class='del'>-</div><div class='del'>-Sat Oct  7 23:53:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scan): small documentation fix.</div><div class='del'>-	  [ruby-core:09007]</div><div class='del'>-</div><div class='del'>-Sat Oct  7 23:44:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_rshift): a bug in right shift of negative</div><div class='del'>-	  bignums.  [ruby-core:09020]</div><div class='del'>-</div><div class='del'>-Sat Oct  7 23:33:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): packed post splat arguments may conflict</div><div class='del'>-	  with normal arguments.  [ruby-core:09021]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  7 11:53:04 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_initialize): since module_eval no longer passes</div><div class='del'>-	  self, use module_exec instead.  fixed: [ruby-dev:29637]</div><div class='del'>-</div><div class='del'>-Sat Oct  7 00:27:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_include_module): remove unnecessary check.</div><div class='del'>-	  [ruby-talk:218402]</div><div class='del'>-</div><div class='del'>-Fri Oct  6 15:19:59 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/depend: Fix header installation when the build</div><div class='del'>-	  directory is different from srcdir. [Pointed out by: eban]</div><div class='del'>-</div><div class='del'>-Fri Oct  6 09:56:31 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (config.status): shouldn't use</div><div class='del'>-	  copy command instead of install. use -run install.</div><div class='del'>-</div><div class='del'>-Fri Oct  6 06:53:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): small refactoring.</div><div class='del'>-</div><div class='del'>-	* parse.y (bparam_item): fixed bugs in handling parenthesized LHS.</div><div class='del'>-</div><div class='del'>-Fri Oct  6 04:47:07 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/depend: Install digest.h.</div><div class='del'>-</div><div class='del'>-Fri Oct  6 04:27:40 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/md5.rb, ext/digest/lib/sha1.rb: Remove those</div><div class='del'>-	  compatibility stub libraries.</div><div class='del'>-</div><div class='del'>-	* sample/openssl/c_rehash.rb: Use digest/md5 instead of obsolete md5.</div><div class='del'>-</div><div class='del'>-Fri Oct  6 04:09:51 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: Make hexdigest() always call digest() internally.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: Add bubblebabble().</div><div class='del'>-</div><div class='del'>-Fri Oct  6 02:38:42 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: Allow subclassing in Ruby.</div><div class='del'>-</div><div class='del'>-Fri Oct  6 02:06:10 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (hexdigest_str_new): Add a string size check.</div><div class='del'>-</div><div class='del'>-Thu Oct  5 19:28:35 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.[ch]: Since the argument order of</div><div class='del'>-	  hash_final_func_t was inconsistent with others, change it and</div><div class='del'>-	  rename to hash_finish_func_t to avoid confusion.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.[ch]: Remove and eliminate the use of</div><div class='del'>-	  hash_end_func_t.  Implement hexdigest conversion in the base</div><div class='del'>-	  class.</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5.c, ext/digest/md5/md5.h,</div><div class='del'>-	  ext/digest/md5/md5init.c, ext/digest/md5/md5ossl.c,</div><div class='del'>-	  ext/digest/md5/md5ossl.h: Remove MD5_End() and change</div><div class='del'>-	  MD5_Final() to MD5_Finish().</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/depend, ext/digest/rmd160/extconf.rb,</div><div class='del'>-	  ext/digest/rmd160/rmd160.c, ext/digest/rmd160/rmd160.h,</div><div class='del'>-	  ext/digest/rmd160/rmd160hl.c, ext/digest/rmd160/rmd160init.c,</div><div class='del'>-	  ext/digest/rmd160/rmd160ossl.c, ext/digest/rmd160/rmd160ossl.h:</div><div class='del'>-	  Remove unused functions RMD160_End(), RMD160_File(),</div><div class='del'>-	  RMD160_Data() and change RMD160_Final() to RMD160_Finish().</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/extconf.rb, ext/digest/sha1/sha1.c,</div><div class='del'>-	  ext/digest/sha1/sha1.h, ext/digest/sha1/sha1hl.c,</div><div class='del'>-	  ext/digest/sha1/sha1init.c, ext/digest/sha1/sha1ossl.c,</div><div class='del'>-	  ext/digest/sha1/sha1ossl.h: Likewise.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/extconf.rb, ext/digest/sha2/sha2.c,</div><div class='del'>-	  ext/digest/sha2/sha2.h, ext/digest/sha2/sha2hl.c,</div><div class='del'>-	  ext/digest/sha2/sha2init.c: Likewise.</div><div class='del'>-</div><div class='del'>-Wed Oct  4 18:47:25 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: bugfix and update</div><div class='del'>-	  (see ext/tk/ChangeLog.tkextlib).</div><div class='del'>-</div><div class='del'>-Wed Oct  4 17:25:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): check protected visibility based on real self,</div><div class='del'>-	  not ruby_frame-&gt;self.  [ruby-talk:217822]</div><div class='del'>-</div><div class='del'>-Wed Oct  4 15:46:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param): should interpret single parenthesized</div><div class='del'>-	  left hand side expression.</div><div class='del'>-</div><div class='del'>-Wed Oct  4 08:52:30 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/optparse/test_getopts.rb: changed the class name of test case</div><div class='del'>-	  to get rid of conflict with test_optparse.rb.</div><div class='del'>-</div><div class='del'>-Tue Oct  3 21:04:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dyna_in_block): inline using macro.</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs): simplifies the rule a bit.</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param): restrict block parameters to be local</div><div class='del'>-	  variables only.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::test_nested_iterator):</div><div class='del'>-	  update test suite to conform the last change.</div><div class='del'>-</div><div class='del'>-Tue Oct  3 02:31:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (splat_value): use "to_splat" instead of "to_ary" to</div><div class='del'>-	  prepare splat values as an array.</div><div class='del'>-</div><div class='del'>-	* array.c (Init_Array): define to_splat.</div><div class='del'>-</div><div class='del'>-	* range.c (range_to_splat): new method.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_to_splat): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct  3 01:36:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lines): returns an Enumerator instead of an</div><div class='del'>-	  array of lines.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_bytes): a new method.</div><div class='del'>-</div><div class='del'>-Mon Oct  2 23:47:55 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::COLLECTORS):</div><div class='del'>-	  base directory should be lower precedence.  fixed: [ruby-dev:29622]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): typo.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):</div><div class='del'>-	  load expanded path.  fixed: [ruby-dev:29621]</div><div class='del'>-</div><div class='del'>-Mon Oct  2 15:47:55 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: batfile should be CRLF'ed.</div><div class='del'>-</div><div class='del'>-Mon Oct  2 01:24:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (test-all): separate directory where running test cases</div><div class='del'>-	  from source tree.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (options): added --basedir, --workdir</div><div class='del'>-	  and --load-path options.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (recursive_collect, collect_file):</div><div class='del'>-	  base directory support.</div><div class='del'>-</div><div class='del'>-Sun Oct  1 23:56:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, ext/extmk.rb, win{32,ce}/Makefile.in: keep</div><div class='del'>-	  LIBRUBY_SO unless need to be removed.</div><div class='del'>-</div><div class='del'>-Sun Oct  1 23:12:19 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#make_switch): pass arguments directly.</div><div class='del'>-</div><div class='del'>-Sat Sep 30 15:11:26 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.4.</div><div class='del'>-</div><div class='del'>-Fri Sep 29 13:18:24 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest): Require digest.so and fix the</div><div class='del'>-	  breakage.  Point out by NAKAMURA Usaku in [ruby-dev:29619].</div><div class='del'>-</div><div class='del'>-Fri Sep 29 12:11:04 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* jcode.rb (succ!): call original succ! if $KCODE == 'n'.</div><div class='del'>-	  fixed: [ruby-talk:216845]</div><div class='del'>-</div><div class='del'>-Fri Sep 29 11:43:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_func): revert fallback checking undeclared function.</div><div class='del'>-	  fixed: [ruby-core:08949]</div><div class='del'>-</div><div class='del'>-Fri Sep 29 09:56:56 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: extout is needed for also clean.</div><div class='del'>-	  fixed: [ruby-core:08944]</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Switch#conv_arg): unsplat by</div><div class='del'>-	  Proc#call if no conversion is given.</div><div class='del'>-</div><div class='del'>-Thu Sep 28 23:59:31 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (struct thread): declare win32_exception_list on cygwin and</div><div class='del'>-	  win32 regardless if it is implemented.  Provisional fix for</div><div class='del'>-	  [ruby-core:08917].</div><div class='del'>-</div><div class='del'>-Thu Sep 28 20:49:20 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: use return value of getdir.call for length.</div><div class='del'>-</div><div class='del'>-Wed Sep 27 22:08:16 2006  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5init.c (Init_md5): Now that we have digest.rb,</div><div class='del'>-	  require "digest" rather than "digest.so".</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/rmd160init.c (Init_rmd160): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/sha1init.c (Init_sha1): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2init.c (Init_sha2): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 27 21:21:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_startwith): rename startwith? to start_with?,</div><div class='del'>-	  endwith? to endwith?, respectively.  [ruby-talk:216685]</div><div class='del'>-</div><div class='del'>-Wed Sep 27 13:29:01 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::TagMaker::nOE_element_def): replace to_s by</div><div class='del'>-	  join.  some other methods as well.  [ruby-dev:29613]</div><div class='del'>-</div><div class='del'>-Wed Sep 27 01:04:49 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_func): check function pointer first and macro next.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_type): simplified with typedef and sizeof.</div><div class='del'>-</div><div class='del'>-Wed Sep 27 00:08:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift): shift/unshift performance boost patch,</div><div class='del'>-	  based on the patch from Eric Mahurin &lt;eric_mahurin at yahoo.com&gt;.</div><div class='del'>-	  [ruby-core:05861]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_unshift_m): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (RESIZE_CAPA): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_free): new function to free memory.  code moved</div><div class='del'>-	  from gc.c.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_free): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 26 23:57:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#getopts): use strings as key.</div><div class='del'>-	  fixed: [ruby-dev:29614]</div><div class='del'>-</div><div class='del'>-Tue Sep 26 15:29:55 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {win32,wince}/Makefile.sub (CPP): check predefined value.</div><div class='del'>-</div><div class='del'>-Tue Sep 26 07:55:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift): should not move memory region if array</div><div class='del'>-	  body is shared.  a patch from Kent Sibilev &lt;ksruby at gmail.com&gt;.</div><div class='del'>-	  [ruby-core:08922]</div><div class='del'>-</div><div class='del'>-Mon Sep 25 23:10:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): need not to check by FilePathValue().</div><div class='del'>-	  [ruby-dev:29599]</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_globs): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 25 22:26:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_path_end): skip root directory.  fixed: [ruby-core:08913]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (rm_f): get rid of NUL.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): set default $LDFLAGS.  Patch by Michal</div><div class='del'>-	  Suchanek &lt;hramrach at centrum.cz&gt;.  [ruby-talk:216256]</div><div class='del'>-</div><div class='del'>-Mon Sep 25 15:06:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: "print nil" now prints empty string.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem::test_system): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 25 11:26:25 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (recursive_hash): remove unused local variable.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_gc_mark_symbols): fix unmatched prototype .</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path): check NUL byte in the path string.</div><div class='del'>-</div><div class='del'>-Mon Sep 25 08:14:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift): should clear shifting top element.</div><div class='del'>-	  [ruby-talk:216055]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift): avoid creating shared object if array</div><div class='del'>-	  size is small.</div><div class='del'>-</div><div class='del'>-Mon Sep 25 08:11:35 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_rand): RDoc typo fix.  a patch from Frederick</div><div class='del'>-	  Cheung &lt;fred at 82ask.com&gt;.  [ruby-talk:216047]</div><div class='del'>-</div><div class='del'>-Sun Sep 24 21:19:24 2006  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): NODE_POSTEXE holds Ruby VALUE.</div><div class='del'>-	  [ruby-core:08912]</div><div class='del'>-</div><div class='del'>-Sun Sep 24 22:28:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: extension library scripts moved into common directory.</div><div class='del'>-</div><div class='del'>-Sun Sep 24 12:10:04 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.3.</div><div class='del'>-</div><div class='del'>-Sun Sep 24 06:55:36 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_print): no special handling for nil as well as puts.</div><div class='del'>-	  fixed: [ruby-dev:29586]</div><div class='del'>-</div><div class='del'>-Sun Sep 24 06:25:53 2006  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_save_context, rb_thread_restore_context):</div><div class='del'>-	  sandbox hook to save and restore sandbox state.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_kill_bang): Thread#kill! uses the above flag</div><div class='del'>-	  to circumvent ensure, in order to prevent endless loops.</div><div class='del'>-	  contributed by MenTaLguY. [ruby-core:08768]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_kill): fix Thread#kill docs, which returns</div><div class='del'>-	  the thread object in all cases.</div><div class='del'>-</div><div class='del'>-	* node.h: expose the rb_jmpbuf_t and rb_thread_t structs, along</div><div class='del'>-	  with the thread flags.  used by the sandbox extension.</div><div class='del'>-</div><div class='del'>-	* ruby.h: extern rb_eThreadError, so sandbox can swap it.</div><div class='del'>-</div><div class='del'>-Sat Sep 23 21:34:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): CGI content</div><div class='del'>-	  may be empty.  a patch from Jamis Buck &lt;jamis at 37signals.com&gt;.</div><div class='del'>-</div><div class='del'>-Sat Sep 23 20:54:28 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.4.4</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 23 08:35:53 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb: prevent NameError.  [ruby-dev:29597]</div><div class='del'>-</div><div class='del'>-Sat Sep 23 01:02:57 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.2.</div><div class='del'>-</div><div class='del'>-Fri Sep 22 18:07:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_partition): no need to call rb_call_super(),</div><div class='del'>-	  since String is no longer includes Enumerable.</div><div class='del'>-</div><div class='del'>-Fri Sep 22 17:33:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_eql): new method to be used by Hash.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_hash): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 22 06:53:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_hash): use rb_memhash().</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_hash): simplified.  klass need not to affect</div><div class='del'>-	  resulting hash value.</div><div class='del'>-</div><div class='del'>-Fri Sep 22 02:06:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .cvsignore: ignore timestamp files and installed list file.</div><div class='del'>-</div><div class='del'>-Fri Sep 22 01:36:34 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: include FileUtils unconditionally.</div><div class='del'>-</div><div class='del'>-Fri Sep 22 00:36:05 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): fix_odd_p and fix_even_p are for Fixnum.</div><div class='del'>-	  patch from Ondrej Bilka &lt;neleai at seznam.cz&gt;.  [ruby-core:08904]</div><div class='del'>-</div><div class='del'>-Thu Sep 21 22:56:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (no-install): not install rdoc actually.</div><div class='del'>-</div><div class='del'>-	* common.mk (install-doc, no-install-doc): use instruby.rb.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: rdoc installation.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: expand ruby executable names.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 20:19:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new3): embed shorter strings more eagerly.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 17:44:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_startwith): a new method to check if a string</div><div class='del'>-	  starts with given prefix.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_endwith): the opposite of String#startwith?.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 16:29:02 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubytest.rb: use each_line instead of each.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 15:06:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_odd_p): a new method to check even or odd.</div><div class='del'>-	  [RCR#337]</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_even_p): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 13:55:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getpwuid): uid integer should be wrapped in</div><div class='del'>-	  uid_t value.  [ruby-core:08897]</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getpwuid): uid_t may be bigger than plain</div><div class='del'>-	  'int' type.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 10:07:09 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_partition): RDoc typo fixed.  [ruby-core:08898]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rpartition): fixed separation seek bug.</div><div class='del'>-</div><div class='del'>-Thu Sep 21 09:38:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lines): new method to split a string into lines.</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): Strings are no longer Enumerable.  use</div><div class='del'>-	  each_line or lines method explicitly.</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): remove each method. use each_lines.</div><div class='del'>-</div><div class='del'>-Wed Sep 20 23:17:41 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (pre-install-doc): create data directory before install.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (dir_re): fixed typo.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (install_dirs): remove extra slash.</div><div class='del'>-</div><div class='del'>-Wed Sep 20 22:41:45 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): typo again.  patch from Tadashi Saito</div><div class='del'>-	  &lt;shiba at mail2.accsnet.ne.jp&gt;.  fixed: [ruby-core:08893]</div><div class='del'>-</div><div class='del'>-Wed Sep 20 19:32:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_partition): a new method to separate the string</div><div class='del'>-	  by a separator.  taken from Python 2.5.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rpartition): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 20 09:49:40 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define</div><div class='del'>-	  this macro to install.</div><div class='del'>-</div><div class='del'>-Wed Sep 20 09:43:10 2006  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: allow extra spaces in responses.</div><div class='del'>-	  Thanks, Tom Soderlund.</div><div class='del'>-</div><div class='del'>-Wed Sep 20 09:25:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c: add RDoc documentation. a patch from Peter</div><div class='del'>-	  Adolphs &lt;futzilogik at users dot sourceforge dot net&gt;.</div><div class='del'>-	  [ruby-doc:1223]</div><div class='del'>-</div><div class='del'>-Tue Sep 19 00:42:15 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_ivar_defined, rb_mod_cvar_defined): new methods,</div><div class='del'>-	  Kernel#instance_variable_defined? and Module#class_variable_defined?.</div><div class='del'>-	  [ruby-dev:29587]</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (Date::Bag#method_missing): use new method,</div><div class='del'>-	  instance_variable_defined? to check if an instance variable is</div><div class='del'>-	  defined.  fixed: [ruby-dev:29554]</div><div class='del'>-	  -- This didn't fix anything.</div><div class='del'>-</div><div class='del'>-Tue Sep 19 00:07:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_eql): fail early to gain performance.</div><div class='del'>-</div><div class='del'>-	* string.c (sym_hash): cache hash value in aux.shared if possible.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_obj_id): no need to treat symbols specially.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::FileUtils): singleton_methods() no</div><div class='del'>-	  longer return an array of strings, but of symbols.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 18 15:29:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): restore GC protection volatile variable.</div><div class='del'>-	  [ruby-dev:29588]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regcomp): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 18 12:16:48 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): get rid of shift overflow.</div><div class='del'>-</div><div class='del'>-Mon Sep 18 10:47:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): remove unused variable.</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regcomp): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (break_jump): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_yield_0): remove unused function.</div><div class='del'>-</div><div class='del'>-Sun Sep 17 23:44:58 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc#document): scan only files modified</div><div class='del'>-	  after the previous generation.</div><div class='del'>-</div><div class='del'>-Sun Sep 17 17:42:13 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (install-doc): reverted.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: stores file name list without destdir prefix.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/ri_generator.rb: do not chdir twice.</div><div class='del'>-</div><div class='del'>-Sun Sep 17 10:42:10 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): fixed typo.  fixed: [ruby-core:08885]</div><div class='del'>-</div><div class='del'>-Sat Sep 16 19:47:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: should mention new macros: RSTRING_PTR, RSTRING_LEN,</div><div class='del'>-	  RARRAY_PTR, RARRAY_LEN.</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 16 16:39:23 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb:</div><div class='del'>-	  use instruby.rb to install extensions instead of ext/extmk.rb.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: store installed list into the file.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: allow multiple candidates for dbm-type.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/extconf.rb: suspicious checking_for.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): parent pid is not used.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (freeDevice): not used.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (checking_for): improved the messages.</div><div class='del'>-</div><div class='del'>-Sat Sep 16 11:03:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_shared_first): should create embedded copies</div><div class='del'>-	  instead of sharing memory region for smaller arrays.</div><div class='del'>-</div><div class='del'>-Sat Sep 16 09:37:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (inspect_struct): do not display a class name for</div><div class='del'>-	  anonymous struct.  The member fields are sufficient.</div><div class='del'>-</div><div class='del'>-Fri Sep 15 20:22:15 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-8/nkf.c: imported nkf 2.0.8 rev.110.</div><div class='del'>-	  * Fix: check_bom cuts \xfe\xff\xXX\xXX of UTF-32LE.</div><div class='del'>-	  * Add support --ic=UTF-32.</div><div class='del'>-	  * Fix: can't guess UTF-16 and UTF-32.</div><div class='del'>-	  * Fix: can't decode beyond BMP of UTF-16LE.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (guess): Support UTF-32.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (kconv): Support UTF-32.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (to_utf32): new method.</div><div class='del'>-</div><div class='del'>-Fri Sep 15 05:23:24 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-8/nkf.c: imported nkf 2.0.8 2006-09-15.</div><div class='del'>-	  Add support for U+10000 - U+10FFFF</div><div class='del'>-	  Add support UTF-32</div><div class='del'>-</div><div class='del'>-Fri Sep 15 00:03:07 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest::Base.file): open a file in binary</div><div class='del'>-	  mode.  suggested by Kazuhiro NISHIYAMA.  [ruby-dev:29579]</div><div class='del'>-</div><div class='del'>-Thu Sep 14 17:21:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): avoid bignum multiplication as far as</div><div class='del'>-	  possible.  a patch from Ondrej Bilka &lt;neleai at seznam.cz&gt;.</div><div class='del'>-	  [ruby-core:08825]</div><div class='del'>-</div><div class='del'>-Thu Sep 14 16:34:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): allow zero length symbols.</div><div class='del'>-	  [ruby-core:08861]</div><div class='del'>-</div><div class='del'>-Thu Sep 14 16:11:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): raise SecurityError only when $SAFE</div><div class='del'>-	  level is greater than zero.  [ruby-core:08862]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_interned_p): new function to check if a string is</div><div class='del'>-	  already interned.</div><div class='del'>-</div><div class='del'>-	* string.c (str_to_id): use rb_str_intern().</div><div class='del'>-</div><div class='del'>-Thu Sep 14 14:37:45 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest::Base.file): new method.</div><div class='del'>-	  [ruby-dev:29572]</div><div class='del'>-</div><div class='del'>-Thu Sep 14 08:30:02 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_inspect): new method.</div><div class='del'>-	  [ruby-dev:29573]</div><div class='del'>-</div><div class='del'>-Thu Sep 14 01:13:56 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_init_stack): decrease "stack level too deep" in Windows.</div><div class='del'>-	  [ruby-dev:29569]</div><div class='del'>-</div><div class='del'>-Thu Sep 14 01:02:25 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb: new file.</div><div class='del'>-	  [ruby-dev:28689]</div><div class='del'>-</div><div class='del'>-Wed Sep 13 18:43:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: English adjustment.  [ruby-core:08851] and</div><div class='del'>-	  [ruby-core:08852]</div><div class='del'>-</div><div class='del'>-Wed Sep 13 18:25:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): better here-doc support.</div><div class='del'>-	  a patch from Marshall T. Vandegrift &lt;llasram at gmail.com&gt;.</div><div class='del'>-	  [ruby-core:08804]</div><div class='del'>-</div><div class='del'>-Wed Sep 13 16:43:36 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): prohibit interning tainted string.</div><div class='del'>-</div><div class='del'>-Wed Sep 13 01:14:02 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#getopts): works with pre-registered</div><div class='del'>-	  options.  [ruby-core:08826]</div><div class='del'>-</div><div class='del'>-Tue Sep 12 03:58:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compare_by_identity): rename Hash#identical to</div><div class='del'>-	  Hash#compare_by_identity.</div><div class='del'>-</div><div class='del'>-Mon Sep 11 16:52:37 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_identical): a new method to make a hash to</div><div class='del'>-	  compare keys by their identity.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_identical_p): new method to tell if a hash is</div><div class='del'>-	  identical or not.</div><div class='del'>-</div><div class='del'>-	* st.c (st_numcmp, st_numhash): export hash type functions.</div><div class='del'>-</div><div class='del'>-Mon Sep 11 11:42:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb (REXML::Source::encoding): should not</div><div class='del'>-	  convert the body twice.  [ruby-core:08828]</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb (REXML::Encoding::encoding):</div><div class='del'>-	  Encoding#encoding= to return boolean value to tell if the body</div><div class='del'>-	  is really converted or not.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb (REXML::Encoding::encoding): Specific</div><div class='del'>-	  conversion library (e.g. rexml/encodings/UTF-16.rb) to have</div><div class='del'>-	  higher preceding.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/UTF-16.rb (REXML::Encoding::decode_utf16):</div><div class='del'>-	  UTF-16#decode_utf16 should work strings without BOM.</div><div class='del'>-</div><div class='del'>-Mon Sep 11 07:39:44 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_equal): "sym == str" should compare them as</div><div class='del'>-	  strings.  [ruby-dev:29554]</div><div class='del'>-</div><div class='del'>-Sun Sep 10 22:59:43 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args): remove splat.</div><div class='del'>-</div><div class='del'>-Sun Sep 10 20:25:30 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.1.</div><div class='del'>-</div><div class='del'>-Sun Sep 10 09:41:29 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: ISPRINT() needs ctype.h</div><div class='del'>-</div><div class='del'>-Sun Sep 10 09:19:47 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: splat parsed arguments.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 09:18:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_require_safe): prevent extension from loading twice.</div><div class='del'>-	  fixed: [ruby-dev:29523]</div><div class='del'>-</div><div class='del'>-Sat Sep  9 23:55:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): test(0) should not have any special</div><div class='del'>-	  meaning.  [ruby-dev:29425]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): properer error message.</div><div class='del'>-</div><div class='del'>-Sat Sep  9 14:08:38 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb (Test::Unit::TestCase#run): Rescue</div><div class='del'>-	  Exception in Test::Unit::TestCase#run.  [ruby-core:08783]</div><div class='del'>-</div><div class='del'>-Sat Sep  9 04:55:59 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: open all in binary mode, and get rid of the quirk of</div><div class='del'>-	  msvcrt.  fixed: [ruby-dev:29518]</div><div class='del'>-</div><div class='del'>-Sat Sep  9 04:47:45 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb, ext/extmk.rb, lib/mkmf.rb, win32/mkexports.rb: suppress</div><div class='del'>-	  warnings with $VERBOSE.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: only file which has more than one icon is DLL.</div><div class='del'>-</div><div class='del'>-Fri Sep  8 16:53:30 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_alloc): should allocate a String object, even when</div><div class='del'>-	  asked to allocate a Symbol object.  [ruby-dev:29529]</div><div class='del'>-</div><div class='del'>-Fri Sep  8 16:36:27 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): follow Array#to_s.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  8 10:00:12 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookies): new</div><div class='del'>-	  method to parse multiple cookies per Set-Cookie header.</div><div class='del'>-	  Thanks to Aaron Patterson &lt;aaron_patterson at speakeasy.net&gt;.</div><div class='del'>-	  [ruby-core:08802]</div><div class='del'>-</div><div class='del'>-Fri Sep  8 08:59:30 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, win32/configure.bat win32/setup.mak: program</div><div class='del'>-	  name transform.</div><div class='del'>-</div><div class='del'>-Fri Sep  8 08:25:39 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: suppress `assigning void value' warning.</div><div class='del'>-</div><div class='del'>-Fri Sep  8 01:16:34 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (Init_Array): #to_s to be an alias to #inspect.</div><div class='del'>-	  [ruby-dev:29520]</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): replace "print array" by</div><div class='del'>-	  "print *array".</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  7 21:02:56 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_s): returns the empty string again.</div><div class='del'>-	  [ruby-dev:29520]</div><div class='del'>-</div><div class='del'>-Thu Sep  7 23:27:05 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (path_check_0, fpath_check): disable path check on cygwin.</div><div class='del'>-	  [ruby-talk:213074]</div><div class='del'>-</div><div class='del'>-Thu Sep  7 02:03:45 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): adopt new date format using digits</div><div class='del'>-	  e.g. "2006-09-07 02:03:45 +9000".</div><div class='del'>-</div><div class='del'>-Thu Sep  7 01:54:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_equal): override.  check equivalence.</div><div class='del'>-</div><div class='del'>-Wed Sep  6 13:25:04 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (symbols_i): need to initialize early-created symbols.</div><div class='del'>-	  [ruby-dev:29496]</div><div class='del'>-</div><div class='del'>-Wed Sep  6 12:05:19 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv::toeuc): remove -m0 [ruby-dev:29505]</div><div class='del'>-</div><div class='del'>-Tue Sep  5 22:06:43 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: use rb_ary_new3() since RARRAY_LEN() is not l-value.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: use RARRAY_PTR() and RARRAY_LEN() and etc.</div><div class='del'>-	  fixed: [ruby-dev:29473]</div><div class='del'>-</div><div class='del'>-Tue Sep  5 06:47:22 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): variable declaration after an execution</div><div class='del'>-	  statement.</div><div class='del'>-</div><div class='del'>-Tue Sep  5 05:49:41 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (path_check_0): check if sticky bit is set on parent</div><div class='del'>-	  directories for executable path.  fixed: [ruby-dev:29415]</div><div class='del'>-</div><div class='del'>-Tue Sep  5 05:03:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_plus): addition in Fixnum will never overflow</div><div class='del'>-	  long.  a patch from Ondrej Bilka &lt;neleai at seznam.cz&gt;.</div><div class='del'>-	  [ruby-core:08794]</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_minus): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): eagerly truncate resulting bignum.</div><div class='del'>-	  [ruby-core:08794]</div><div class='del'>-</div><div class='del'>-Mon Sep  4 23:15:34 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): make it conform to RFC2822 date format.</div><div class='del'>-	  [ruby-dev:29467]</div><div class='del'>-</div><div class='del'>-Mon Sep  4 21:43:57 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: create makefile according to the result of check</div><div class='del'>-	  for dbm header.  fixed: [ruby-dev:29445]</div><div class='del'>-</div><div class='del'>-Mon Sep  4 21:39:42 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 3.9.</div><div class='del'>-</div><div class='del'>-Mon Sep  4 21:14:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): include nul character.  fixed: [ruby-dev:29422]</div><div class='del'>-</div><div class='del'>-Mon Sep  4 16:39:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::out): specify -x option for nkf.</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::out): should not convert utf-8 implicitly using</div><div class='del'>-	  NKF.  it is too Japanese centric.</div><div class='del'>-</div><div class='del'>-Mon Sep  4 14:23:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb (db_check): remove debug print.</div><div class='del'>-</div><div class='del'>-Mon Sep  4 06:46:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id2sym): intern if id is attrset_id.</div><div class='del'>-	  [ruby-dev:29420] [ruby-dev:29447]</div><div class='del'>-</div><div class='del'>-Mon Sep  4 01:25:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_local_variables): list symbols.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_members_m): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (ivar_i): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (gvar_i): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (cv_i): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  3 20:47:02 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (SYMBOL_P): Qnil and Qfalse are not Symbol.</div><div class='del'>-</div><div class='del'>-Sun Sep  3 15:32:44 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: get rid of nil.to_s.</div><div class='del'>-</div><div class='del'>-Sun Sep  3 06:24:38 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect): sockerrlen should be socklen_t.</div><div class='del'>-</div><div class='del'>-Sun Sep  3 04:40:42 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check arpa/inet.h for ntohs.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: include arpa/inet.h if available.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 23:59:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): undef Symbol#new.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_def): wrong symbol detection.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 23:59:37 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_to_id): a bug caused by premature optimization.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 23:53:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): move symbol related code to string.c</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): Symbol as subclass of String.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern2): handle symbol as strings.</div><div class='del'>-</div><div class='del'>-	* string.c (str_new): substring of symbols are mere strings, not</div><div class='del'>-	  symbols.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 23:37:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (struct RArray): embed small arrays.</div><div class='del'>-	  (RARRAY_LEN): defined for accessing array members.</div><div class='del'>-	  (RARRAY_PTR): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c: use RARRAY_LEN and RARRAY_PTR.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 13:23:01 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ia64.o): use the compiler driver to assemble ia64.s</div><div class='del'>-	  to use appropriate ABI.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 12:06:35 2006  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/generator.rb (SOAP::SOAPGenerator#encode_tag): do not dump</div><div class='del'>-	  XML attribute which value is nil.  value "" and nil both were dumped</div><div class='del'>-	  as 'attr="value"'.  [ruby-dev:29395]</div><div class='del'>-</div><div class='del'>-Sat Sep  2 12:00:32 2006  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV::IOReader#initialize): use String#[](pos, len)</div><div class='del'>-	  instead of String#[](idx) to check utf BOM.  follows String#[](idx)</div><div class='del'>-	  behavior change of 1.9.</div><div class='del'>-</div><div class='del'>-Sat Sep  2 11:47:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): should handle when in else clause.  a patch</div><div class='del'>-	  from Eric Hodel &lt;drbrain at segment7.net&gt;.  [ruby-core:08662]</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): wrap with NODE_CASE.  [ruby-core:08663]</div><div class='del'>-</div><div class='del'>-Fri Sep  1 22:07:04 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (RSTRING_EMBED_LEN_MASK): uses 5 bits to support 64bit</div><div class='del'>-	  environment.  [ruby-dev:29369]</div><div class='del'>-</div><div class='del'>-Fri Sep  1 22:02:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): should copy embedded string to</div><div class='del'>-	  malloc'ed buffer.  a patch from &lt;nobu at ruby-lang.org&gt; in</div><div class='del'>-	  [ruby-dev:29369].  fixed: [ruby-dev:29368]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ord): use %ld specifier since STRING_LEN() is a</div><div class='del'>-	  long.  [ruby-dev:29369]</div><div class='del'>-</div><div class='del'>-Fri Sep  1 21:41:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socks_init): typo fixed.  a patch from Sven</div><div class='del'>-	  Klemm &lt;sven at c3d2.de&gt;.  [ruby-core:08770]</div><div class='del'>-</div><div class='del'>-Fri Sep  1 14:22:42 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle): RDoc fixed.</div><div class='del'>-</div><div class='del'>-Fri Sep  1 13:52:57 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work</div><div class='del'>-	  on Tcl/Tk8.x.</div><div class='del'>-</div><div class='del'>-Fri Sep  1 09:32:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex::getc): should not push nil into</div><div class='del'>-	  reading buffer (@readed).  reported in</div><div class='del'>-	  &lt;http://jarp.does.notwork.org/diary/200608c.html#200608311&gt;.</div><div class='del'>-</div><div class='del'>-Thu Aug 31 23:59:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): follow nil.to_s.</div><div class='del'>-</div><div class='del'>-Thu Aug 31 20:50:46 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): follow nil.to_s.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 31 20:21:47 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): use RSTRING_PTR and RSTRING_STR.</div><div class='del'>-</div><div class='del'>-	* file.c (test_identical, rb_file_s_truncate): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open, rb_io_reopen): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (nil_plus): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_n, rb_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_add_suffix): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/Win32API.c (Win32API_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c, ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2olevariantdata): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 31 18:23:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (struct RString): embed small strings.</div><div class='del'>-	  (RSTRING_LEN): defined for accessing string members.</div><div class='del'>-	  (RSTRING_PTR): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c: use RSTRING_LEN and RSTRING_PTR.</div><div class='del'>-</div><div class='del'>-Thu Aug 31 17:16:19 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang): new method.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle): ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (genrand_real): ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (genrand_int32): export the function.</div><div class='del'>-</div><div class='del'>-	* random.c (Init_Random): initialize random seed at the</div><div class='del'>-	  beginning.</div><div class='del'>-</div><div class='del'>-Thu Aug 31 13:12:06 2006  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init): rename top_cref to ruby_top_cref and export,</div><div class='del'>-	  along with ruby_cref, for use by the sandbox. [ruby-core:08762]</div><div class='del'>-</div><div class='del'>-	* node.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 30 12:01:57 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_hash): improve collision.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_memhash): new generic function to calculate hash value</div><div class='del'>-	  for memory chunk.</div><div class='del'>-</div><div class='del'>-Tue Aug 29 19:10:10 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): fixed memory leak, based on the patch</div><div class='del'>-	  by Kent Sibilev &lt;ksruby at gmail.com&gt;.  fixed: [ruby-talk:211233]</div><div class='del'>-</div><div class='del'>-Mon Aug 28 11:29:46 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, parse.y: Revert.</div><div class='del'>-	* ext/.document: Add digest.c.</div><div class='del'>-	* ext/digest/digest.c: Make RDoc show up.</div><div class='del'>-	* ext/io/wait.c: Fix call-seq in RDoc.</div><div class='del'>-</div><div class='del'>-Mon Aug 28 08:03:20 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: Add C files with RDoc.</div><div class='del'>-	* ext/digest/digest.c: Convert to RDoc.</div><div class='del'>-	* ext/io/wait.c: ditto.</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Fix typo.  Submitted by</div><div class='del'>-	  &lt;calamitas at gmail.com&gt;.  [ruby-core:08724]</div><div class='del'>-</div><div class='del'>-Mon Aug 28 07:21:47 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (File#size?): Fix documentation submitted by Rick Ohnemus.</div><div class='del'>-	  ruby-Bugs-5529.  [ruby-core:08725]</div><div class='del'>-</div><div class='del'>-Sun Aug 27 21:41:23 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.4.0</div><div class='del'>-</div><div class='del'>-	* regint.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 26 08:03:03 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: updated based on date2 3.8.2.</div><div class='del'>-</div><div class='del'>-Fri Aug 25 21:15:22 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add regint.h and oniguruma.h to dependence.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/depend: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 25 20:35:57 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/wsdl/document/echo.rb: removed.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/document/test_rpc.rb: remove echo.rb after test.</div><div class='del'>-	  [ruby-dev:29337]</div><div class='del'>-</div><div class='del'>-Fri Aug 25 17:02:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): typo fixed.</div><div class='del'>-</div><div class='del'>-Fri Aug 25 16:05:50 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (sym_call): check if the receiver is given.</div><div class='del'>-</div><div class='del'>-Fri Aug 25 01:10:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Integer): Integer(nil) should raise TypeError.</div><div class='del'>-	  [ruby-talk:210205]</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_s): no longer returns empty string but "nil".</div><div class='del'>-	  [ruby-talk:210205]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: avoid COMMON_HEADERS being nil.</div><div class='del'>-</div><div class='del'>-Wed Aug 23 00:25:14 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb (REXML::IOSource#initialize): encoding have to</div><div class='del'>-	  be set with the accessor.  fixed: [ruby-list:42737]</div><div class='del'>-</div><div class='del'>-Tue Aug 22 19:21:00 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: parameter `to_addrs' might be an Array,</div><div class='del'>-	  .flatten is required. [ruby-dev:29316]</div><div class='del'>-</div><div class='del'>-Tue Aug 22 18:47:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::handle_method):</div><div class='del'>-	  rdoc documents C module methods as instance methods. a patch in</div><div class='del'>-	  [ruby-core:08536].</div><div class='del'>-</div><div class='del'>-Tue Aug 22 12:35:57 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): fix regexp for</div><div class='del'>-	  euc-jp [ruby-dev:29344]</div><div class='del'>-</div><div class='del'>-Sun Aug 20 11:46:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step): also return an enumerator object if no block</div><div class='del'>-	  is given.</div><div class='del'>-</div><div class='del'>-Sat Aug 19 16:47:51 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (hash2named_arg): accept hash argument</div><div class='del'>-	  of symbol key.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 19 11:28:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_rename): use errno if set properly.</div><div class='del'>-	  fixed: [ruby-dev:29293]</div><div class='del'>-</div><div class='del'>-Fri Aug 18 01:05:57 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::out): specify -m0 to disable MIME decode.  a</div><div class='del'>-	  patch from Fujioka &lt;fuj at rabbix.jp&gt;.  [ruby-dev:29284]</div><div class='del'>-</div><div class='del'>-Thu Aug 17 19:15:16 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_[rRwWxX]): check for super user.</div><div class='del'>-	  fixed: [ruby-core:08616]</div><div class='del'>-</div><div class='del'>-Thu Aug 17 14:47:06 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: added rdoc by Daniel Berger.  [ruby-core:08177]</div><div class='del'>-</div><div class='del'>-Wed Aug 16 17:46:59 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_byte): IO#getc returns one byte string now.</div><div class='del'>-	  fixed: [ruby-dev:29255]</div><div class='del'>-</div><div class='del'>-Wed Aug 16 17:22:44 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (pre-install-local): remove unnecessary code.</div><div class='del'>-	  [ruby-dev:29249]</div><div class='del'>-</div><div class='del'>-Wed Aug 16 11:45:36 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setuid, proc_setgid, proc_seteuid, proc_setegid):</div><div class='del'>-	  get rid of bogus implementations on Mac OS X.</div><div class='del'>-</div><div class='del'>-Wed Aug 16 11:09:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): fill argv other than the first with an empty</div><div class='del'>-	  string instead of NULL.</div><div class='del'>-</div><div class='del'>-Tue Aug 15 11:21:08 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: support SMTP/SSL.  Thanks Kazuhiro NISHIYAMA.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.use_ssl?</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.enable_ssl.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.disable_ssl.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.default_ssl_port.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.default_tls_port.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: now SMTP#enable_tls accepts a SSLContext</div><div class='del'>-	  object, instead of a verity and cert.  [FEATURE CHANGE]</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.ssl_context.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: new method SMTP.default_ssl_context.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.authenticate.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.auth_plain.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.auth_login.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.auth_cram_md5.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.starttls.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.helo.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.ehlo.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.mailfrom.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.rcptto.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.rcptto_list.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.data.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: export SMTP.quit.</div><div class='del'>-</div><div class='del'>-Sat Aug 12 22:33:06 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (String#split): Describe grouping behavior.  Patch by Jan</div><div class='del'>-	  Svitok &lt;jan.svitok at gmail.com&gt;.  [ruby-core:08603]</div><div class='del'>-</div><div class='del'>-Sun Aug 13 12:08:02 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ANSIfied.  [ruby-core:08601]</div><div class='del'>-</div><div class='del'>-Sat Aug 12 15:55:32 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, bcc32/Makefile.sub, win32/Makefile.sub, win32/dir.h,</div><div class='del'>-	  win32/win32.c, win32/win32.h: large file support for win32.</div><div class='del'>-</div><div class='del'>-Fri Aug 11 15:39:25 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_body): Make RDoc</div><div class='del'>-	  ignore C function prototypes.  Patch by Tilman Sauerbeck</div><div class='del'>-	  &lt;tilman at code-monkey.de&gt;.  [ruby-core:8574]</div><div class='del'>-	* lib/yaml/tag.rb: Replace nodoc with stopdoc so Module methods get</div><div class='del'>-	  documented.</div><div class='del'>-</div><div class='del'>-Wed Aug  9 16:53:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP::auth_cram_md5): use ord to retrieve</div><div class='del'>-	  bytes from strings.  a patch from WATANABE Tetsuya</div><div class='del'>-	  &lt;Tetsuya.WATANABE at nifty.com&gt;.  [ruby-dev:29240]</div><div class='del'>-</div><div class='del'>-Tue Aug  8 23:49:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/extend-command.rb (IRB::ExtendCommandBundle): pacify</div><div class='del'>-	  RDoc.  a patch from Eric Hodel &lt;drbrain at segment7.net&gt;.</div><div class='del'>-	  [ruby-core:08522]</div><div class='del'>-</div><div class='del'>-Tue Aug  8 19:26:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_string):</div><div class='del'>-	  affected by str[0] returns 1 char string.  [ruby-dev:29223]</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_labels):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  8 12:28:43 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): allow newlines before ternary colon.  [ruby-dev:29189]</div><div class='del'>-</div><div class='del'>-Mon Aug  7 17:56:59 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c, ext/digest/rmd160/rmd160ossl.c,</div><div class='del'>-	  ext/digest/sha1/sha1ossl.c, ext/readline/readline.c: move</div><div class='del'>-	  inclusion of config.h to pacify AIX.  a patch from Yutaka</div><div class='del'>-	  Kanemoto &lt;kinpoco at gmail.com&gt;.  [ruby-dev:29197]</div><div class='del'>-</div><div class='del'>-Mon Aug  7 15:55:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c (syck_move_tokens): should avoid negative</div><div class='del'>-	  memmove.  [ruby-list:42625]</div><div class='del'>-</div><div class='del'>-Mon Aug  7 14:37:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, common.mk: AIX link issue.  a patch from Yutaka</div><div class='del'>-	  Kanemoto &lt;kinpoco at gmail.com&gt;.  [ruby-dev:29190]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: AIX socket support.  [ruby-dev:29190]</div><div class='del'>-</div><div class='del'>-Mon Aug  7 12:05:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c, eval.c, gc.c, ruby.h: shut up AIX alloca warning.</div><div class='del'>-	  a patch from Yutaka Kanemoto &lt;kinpoco at gmail.com&gt;.</div><div class='del'>-	  [ruby-dev:29191]</div><div class='del'>-</div><div class='del'>-Sun Aug  6 20:34:24 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (str[fp]time): %[EO]U didn't denote %U.</div><div class='del'>-</div><div class='del'>-Sun Aug  6 17:12:12 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): STDERR.reopen(open("/dev/tty", "w")) should not</div><div class='del'>-	  clear FMODE_PREP in STDERR.</div><div class='del'>-</div><div class='del'>-Sat Aug  5 22:53:41 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.2.2</div><div class='del'>-</div><div class='del'>-	* regint.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c ditto.</div><div class='del'>-</div><div class='del'>-	* regerror.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  5 17:07:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (top_local_setup): local_vars[-1] should point</div><div class='del'>-	  ruby_scope itself to protect local_tbl from garbage collection.</div><div class='del'>-	  [ruby-dev:29049]</div><div class='del'>-</div><div class='del'>-Sat Aug  5 13:49:43 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (str[fp]time): "%\n" means "\n".</div><div class='del'>-</div><div class='del'>-Fri Aug  4 12:13:22 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib: Clean up files for RDoc.</div><div class='del'>-	* lib/.document: Include most of the standard library in RDoc</div><div class='del'>-	  generation.</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb: Don't unescape HTML in HtmlFormatter.</div><div class='del'>-	  Submitted by &lt;ksruby at gmail.com&gt;.  [ruby-core:08392].</div><div class='del'>-	* lib/drb/ssl.rb: Close socket on SSLError [ruby-core:7197]</div><div class='del'>-</div><div class='del'>-Fri Aug  4 18:59:49 2006  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/{init.rb,ruby-lex.rb,slex.rb}: can't input '\c' for</div><div class='del'>-	  [ruby-core: 7122]. and support for ruby1.8.X</div><div class='del'>-</div><div class='del'>-Fri Aug  4 14:02:14 2006  James Edward Gray II  &lt;james@grayproductions.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (__strptime, strftime): allow multi-line patterns</div><div class='del'>-	  in Date#strftime the same as Time#strftime accepts.</div><div class='del'>-	  fixed: [ruby-core:08466]</div><div class='del'>-</div><div class='del'>-Fri Aug  4 13:56:51 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): check argument overrun for 'P'.  based on a</div><div class='del'>-	  patch by rucila &lt;rucila at yahoo.cojp&gt;.  fixed: [ruby-dev:29182]</div><div class='del'>-</div><div class='del'>-Fri Aug  4 02:42:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): a bug in %c type check.</div><div class='del'>-</div><div class='del'>-Fri Aug  4 01:28:19 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): STDERR.reopen(File.open("/dev/null", "w")) should</div><div class='del'>-	  not fclose stderr.</div><div class='del'>-</div><div class='del'>-Thu Aug  3 15:16:44 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_include): should always call Enumerable#include?</div><div class='del'>-	  (not #===) for non numeric end points.  [ruby-core:08477]</div><div class='del'>-	  [ruby-core:08496]</div><div class='del'>-</div><div class='del'>-Mon Jul 31 16:51:40 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (exit_handler): new function; release winsock and</div><div class='del'>-	  environment work area.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NTInitialize): setup exit_handler.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (StartSockets): use exit_handler.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getenv): use GetEnvironmentStrings() instead</div><div class='del'>-	  of GetEnvironmentVariable(), because the latter cannot distinguish</div><div class='del'>-	  whether a null environment variable exists or not.</div><div class='del'>-	  fixed: [ruby-talk:205123]</div><div class='del'>-</div><div class='del'>-Mon Jul 31 16:15:13 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_rlimit_nofile):</div><div class='del'>-	  setrlimit may fail with EINVAL.</div><div class='del'>-	  reported by MIYAMUKO Katsuyuki.  [ruby-dev:29174]</div><div class='del'>-</div><div class='del'>-Mon Jul 31 09:22:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: use ifdef (or defined) for macro constants that may or</div><div class='del'>-	  may not be defined to shut up gcc's -Wundef warnings.</div><div class='del'>-	  [ruby-core:08447]</div><div class='del'>-</div><div class='del'>-Mon Jul 31 13:38:13 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPReuqest#parse_uri): improve</div><div class='del'>-	  for the value of IPv6 address in the Host: header field.</div><div class='del'>-</div><div class='del'>-Sun Jul 30 23:26:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): trace call/return of method defined from block.</div><div class='del'>-	  fixed: [ruby-core:08329]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_trap_eval): make the current thread runnable to deal with</div><div class='del'>-	  exceptions which occurred within the trap.  fixed: [ruby-dev:27729]</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb, lib/cgi/session/pstore.rb: suppress warnings.</div><div class='del'>-	  fixed: [ruby-talk:204896]</div><div class='del'>-</div><div class='del'>-Sat Jul 29 06:12:06 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: freeze ip_name for security reason.</div><div class='del'>-</div><div class='del'>-Sat Jul 29 01:23:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: improves the amount of documentation that Rdoc</div><div class='del'>-	  picks up when processing logger.rb by moving the require</div><div class='del'>-	  statement back before the comment block.  a patch from Hugh</div><div class='del'>-	  Sasse &lt;hgs at dmu.ac.uk&gt;.  [ruby-core:08422]</div><div class='del'>-</div><div class='del'>-Fri Jul 28 17:18:03 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (NUM2CH, CH2FIX): use single char strings.</div><div class='del'>-</div><div class='del'>-Fri Jul 28 14:09:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): fixed typo in cache look-up.  [ruby-dev:29167]</div><div class='del'>-</div><div class='del'>-Fri Jul 28 10:41:35 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): a bug in method cache look-up.</div><div class='del'>-	  http://www.rubyist.net/~matz/20060720.html#c04</div><div class='del'>-</div><div class='del'>-Fri Jul 28 10:19:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): documentation update patch from Jacob</div><div class='del'>-	  Fugal &lt;lukfugl at gmail.com&gt;.  [ruby-core:08418]</div><div class='del'>-</div><div class='del'>-Fri Jul 28 09:41:45 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): fixed typo.  [ruby-dev:29162]</div><div class='del'>-</div><div class='del'>-Fri Jul 28 00:26:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check): ANSI style function arguments</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): too few argument to domain_check().</div><div class='del'>-</div><div class='del'>-Thu Jul 27 21:19:54 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (domain_check): a new function to check domain error</div><div class='del'>-	  explicitly for systems that return NaN like FreeBSD.</div><div class='del'>-	  [ruby-core:07019]</div><div class='del'>-</div><div class='del'>-	* math.c (math_acos, math_asin, math_acosh, math_atanh, math_log,</div><div class='del'>-	  math_log10, math_sqrt): use domain_check().</div><div class='del'>-</div><div class='del'>-	* math.c (math_sqrt): fix documentation flaw.</div><div class='del'>-</div><div class='del'>-Thu Jul 27 22:21:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): fixed format mismatch.</div><div class='del'>-</div><div class='del'>-Thu Jul 27 18:12:12 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: need to declare time_utc_offset.</div><div class='del'>-</div><div class='del'>-Thu Jul 27 17:01:01 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_close): always calls "close" method of the receiver.</div><div class='del'>-	  [ruby-core:6911] [ruby-core:8112]</div><div class='del'>-</div><div class='del'>-Thu Jul 27 16:41:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: move &lt;ruby.h&gt; inclusion point to shut up</div><div class='del'>-	  Solaris compiler.  [ruby-core:08114]</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): use +0900 style timezone string for local time.</div><div class='del'>-	  [ruby-dev:29143]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 22:20:59 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add support for as and ASFLAGS.  [ruby-dev:29138]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 21:59:33 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#post, request_post, request): should</div><div class='del'>-	  set Content-Type: x-www-form-urlencoded by default.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPHeader#content_type): should return</div><div class='del'>-	  nil when there's no Content-Type.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPHeader#sub_type): should return nil</div><div class='del'>-	  when there's no sub Content-Type (e.g. "Content-Type: text").</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPHeader#type_params): wrongly failed</div><div class='del'>-	  when there's no Content-Type.</div><div class='del'>-</div><div class='del'>-Wed Jul 26 18:38:13 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_do_scan): always return nil if</div><div class='del'>-	  p-&gt;curr exceeds string size.</div><div class='del'>-</div><div class='del'>-Wed Jul 26 18:33:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): rename #invoke_method and</div><div class='del'>-	  #invoke_functional_method to __send and __send! respectively.</div><div class='del'>-</div><div class='del'>-	* eval.c (remove_method): prohibit removing __send and __send!.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_undef): prohibit undef'ing  __send and __send!.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): prohibit redefining  __send and __send!.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator): preserve __send.</div><div class='del'>-</div><div class='del'>-Wed Jul 26 18:14:19 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (getDevice): retry once after GC on failure.</div><div class='del'>-	  [ruby-core:08282]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 17:43:20 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_do_scan):</div><div class='del'>-	  StringScanner.new("").scan(//) should return "". [ruby-Bugs:4361]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 17:28:16 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): prepend ".." to %u for negative bignum,</div><div class='del'>-	  but not "-".  fixed: [ruby-core:08167]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 16:39:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scan): add string modification check.</div><div class='del'>-	  [ruby-core:7216]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 16:06:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): check</div><div class='del'>-	  multipart boundary end.  a patch from Fujioka &lt;fuj at rabbix.jp&gt;</div><div class='del'>-	  [ruby-dev:28470]</div><div class='del'>-</div><div class='del'>-Wed Jul 26 01:02:59 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: suppress warnings by automake 1.8 or later.</div><div class='del'>-</div><div class='del'>-Tue Jul 25 14:46:14 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): typo.</div><div class='del'>-</div><div class='del'>-Tue Jul 25 13:14:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_times): rename hz to hertz to avoid name</div><div class='del'>-	  crash on AIX.  [ruby-dev:29126]</div><div class='del'>-</div><div class='del'>-Mon Jul 24 22:03:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (backtrace): skip frames successive on node and method name.</div><div class='del'>-</div><div class='del'>-Mon Jul 24 15:51:52 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): rl_deprep_term_function</div><div class='del'>-	  may be NULL with libedit.  reported by Ryan Davis.  [ruby-dev:29070]</div><div class='del'>-</div><div class='del'>-Mon Jul 24 15:19:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): revert last change.  [ruby-dev:29112]</div><div class='del'>-	  [ruby-core:08374]</div><div class='del'>-</div><div class='del'>-Sun Jul 23 22:59:49 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: disabled on cygwin.</div><div class='del'>-	  reported by Kouhei Yanagita.  [ruby-dev:29080]</div><div class='del'>-</div><div class='del'>-Fri Jul 21 23:57:26 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): script is never used while recursing.</div><div class='del'>-</div><div class='del'>-Fri Jul 21 21:21:08 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): include funcalled methods in caller list.</div><div class='del'>-	  fixed: [ruby-core:08290]</div><div class='del'>-</div><div class='del'>-Fri Jul 21 17:52:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): "9_e8" should consider "_e8" as</div><div class='del'>-	  trailing garbage so that it should return 9.0.  [ruby-dev:29088]</div><div class='del'>-</div><div class='del'>-Fri Jul 21 12:11:00 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, lib/mkmf.rb (with_destdir): remove drive letter before</div><div class='del'>-	  prepending destdir on DOSISH.</div><div class='del'>-</div><div class='del'>-Fri Jul 21 04:17:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): try local method look-up first for fcall, then</div><div class='del'>-	  normal method look-up.  [ruby-talk:202564]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_get_method_body): save local method cache separately.</div><div class='del'>-</div><div class='del'>-	* eval.c (search_method): export info whether method is local or</div><div class='del'>-	  not.</div><div class='del'>-</div><div class='del'>-Thu Jul 20 20:27:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_attr): make Module#attr to be an alias to</div><div class='del'>-	  attr_reader.  [RCR#331]</div><div class='del'>-</div><div class='del'>-Thu Jul 20 15:07:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: export classes/modules to implement sandbox.</div><div class='del'>-	  [ruby-core:08283]</div><div class='del'>-</div><div class='del'>-Wed Jul 19 19:40:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): should check args_args before lambda</div><div class='del'>-	  argument check.  [ruby-dev:29029]</div><div class='del'>-</div><div class='del'>-Tue Jul 18 23:53:59 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): shouldn't block SIGCHLD if it's not</div><div class='del'>-	  exist.</div><div class='del'>-</div><div class='del'>-Tue Jul 18 22:10:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): block SIGCHLD during the process</div><div class='del'>-	  execution, like glibc system(3) does.  [ruby-talk:202361]</div><div class='del'>-</div><div class='del'>-Tue Jul 18 23:10:43 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (open_ifs_socket): should not use plain malloc.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_opendir): should not use plain realloc.</div><div class='del'>-</div><div class='del'>-Tue Jul 18 18:05:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat::test_strtod): update test to</div><div class='del'>-	  conform strtod change.</div><div class='del'>-</div><div class='del'>-Tue Jul 18 16:52:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (yield_under_i): argument should be passed in avalue</div><div class='del'>-	  form.  [ruby-dev:29044]</div><div class='del'>-</div><div class='del'>-Tue Jul 18 15:49:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): propagate association array to copied</div><div class='del'>-	  string.  [ruby-core:08223]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): return referenced string itself if it has</div><div class='del'>-	  same length as specified.  a patch from &lt;nobu at ruby-lang.org&gt;</div><div class='del'>-	  in [ruby-core:08225].</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): taint 'p' packed strings.</div><div class='del'>-</div><div class='del'>-Tue Jul 18 15:19:07 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (st_foreach_safe): fix prototype.</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_LMASK): bigger than long on LLP64.</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD__uqtoa): new function to support LLP64.</div><div class='del'>-	  all changes are derived from [ruby-dev:29045]</div><div class='del'>-</div><div class='del'>-Tue Jul 18 14:03:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer::unmount): remove</div><div class='del'>-	  inpect argument from sprintf.  [ruby-dev:29039]</div><div class='del'>-</div><div class='del'>-Tue Jul 18 10:53:37 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): limit out-of-range message.</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): return end pointer even if ERANGE occurred.</div><div class='del'>-	  fixed: [ruby-dev:29041]</div><div class='del'>-</div><div class='del'>-Mon Jul 18 00:43:05 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): stop at dot not followed by digits.</div><div class='del'>-	  fixed: [ruby-dev:29036]</div><div class='del'>-</div><div class='del'>-Tue Jul 18 00:01:27 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: remove LIBRUBY_SO if static linked extensions exist.</div><div class='del'>-</div><div class='del'>-Mon Jul 17 23:30:46 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_msvcrt): defaulted to msvcrt.  Workaround for a</div><div class='del'>-	  bug of cygwin 1.5.20.</div><div class='del'>-</div><div class='del'>-Mon Jul 17 22:55:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_ready_p): protoize.</div><div class='del'>-</div><div class='del'>-Mon Jul 17 13:43:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (define_swapx): should not use plain malloc.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_getmouse): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 17 12:58:41 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: should use ac_cv_lib_dl_dlopen=no on MinGW.</div><div class='del'>-</div><div class='del'>-Mon Jul 17 11:47:35 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: still need to include config.h on some platforms.</div><div class='del'>-</div><div class='del'>-Sat Jul 15 01:09:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (malloc): use xmalloc/xcalloc instead of plain</div><div class='del'>-	  malloc/calloc, to detect memory allocation failure.  see</div><div class='del'>-	  &lt;http://www.nongnu.org/failmalloc/&gt;.</div><div class='del'>-</div><div class='del'>-Fri Jul 14 13:08:13 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add methods for new features of latest Tcl/Tk8.5.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 14 02:30:12 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: document patch from Hugh Sasse &lt;hgs at dmu.ac.uk&gt;.</div><div class='del'>-	  [ruby-core:08205]</div><div class='del'>-</div><div class='del'>-Fri Jul 14 00:10:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_pop): may cause realloc oscillation.  a patch</div><div class='del'>-	  from MORITA Naoyuki &lt;mlgetter at kidou.sakura.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:29028]</div><div class='del'>-</div><div class='del'>-Thu Jul 13 22:23:56 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/composite.rb: improve handling of the classname on the</div><div class='del'>-	  option database for the widget class which includes TkComposite.</div><div class='del'>-</div><div class='del'>-Thu Jul 13 00:40:57 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (FIX2LONG): returns integer of size of VALUE.</div><div class='del'>-	  [ruby-dev:29024]</div><div class='del'>-</div><div class='del'>-	* ruby.h (FIX2ULONG): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 12 20:05:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_args): allow post mandatory arguments after optional</div><div class='del'>-	  arguments.  [ruby-dev:29014]</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): allow post_args without rest_args.</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): check post argument duplication.</div><div class='del'>-</div><div class='del'>-Tue Jul 11 20:58:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: export rb_cMethod.  [ruby-talk:201259]</div><div class='del'>-</div><div class='del'>-Tue Jul 11 19:13:33 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: remove restriction on the class of</div><div class='del'>-	  pseudo-toplevel.</div><div class='del'>-</div><div class='del'>-Tue Jul 11 18:00:57 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: security fix.</div><div class='del'>-</div><div class='del'>-Tue Jul 11 17:28:08 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): need to extend len for \b.</div><div class='del'>-</div><div class='del'>-Tue Jul 11 15:29:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_int2big): use SIGNED_VALUE.  [ruby-dev:29019]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_int2inum, rb_uint2inum): use VALUE sized integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2long, rb_big2ulong): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2long, rb_num2ulong): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_int, check_uint): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_quad_pack): typo fixed.</div><div class='del'>-</div><div class='del'>-Tue Jul 11 13:40:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignorm): sizeof(long) may be smaller than</div><div class='del'>-	  sizeof(VALUE).  [ruby-dev:29013]</div><div class='del'>-</div><div class='del'>-	* ruby.h (FIXNUM_MAX): fixnum may be bigger than long.</div><div class='del'>-</div><div class='del'>-	* ruby.h (SIGNED_VALUE): signed integer of size of VALUE.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 23:37:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/proxy.rb (Proxy::Operation::response_doc): remove</div><div class='del'>-	  splat star from return statements.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/proxy.rb (Proxy::Operation::response_obj): retrieve</div><div class='del'>-	  the first value from the result array if response has only one</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 22:00:00 2006  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Allows '_' to appear within</div><div class='del'>-	  digits.  [ruby-dev:28872]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb: Bug in to_r reported by</div><div class='del'>-	  [ruby-list:42533] fixed.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 19:22:19 2006  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): expand heap earlier.</div><div class='del'>-	  reported by MORITA Naoyuki.  [ruby-dev:28960]</div><div class='del'>-</div><div class='del'>-Mon Jul 10 18:59:34 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: sorry. mistaken to patch.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 18:46:52 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: make SEGV risk lower at exit.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fail to call function-style methods on slave</div><div class='del'>-	  interpreters. The strategy (MultiTkIp_PseudoToplevel_Evaluable) to</div><div class='del'>-	  fix the problem is a little tricky. You may have to take care of</div><div class='del'>-	  conflicting with it.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: a little change for the pseudo-toplevel strategy.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/itk/incr_tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/widget: fail to call function-style methods</div><div class='del'>-	  on sample scripts. To fix it, a strategy which similar to the way</div><div class='del'>-	  on MultiTiIp is used. Please take care when re-write and re-run a</div><div class='del'>-	  demo script on the Widget-Demo code viewer.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 17:32:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: update test suites.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb (TestAssignment::test_yield): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (TestIterator::test_itertest): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 14:43:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): remove erroneously restored prot_tag-&gt;blkid</div><div class='del'>-	  initialization.  [ruby-dev:28997]  [ruby-dev:29000]</div><div class='del'>-</div><div class='del'>-Mon Jul 10 13:58:08 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (install_nativethread_sighandler): commented out.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 09:29:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_clear_cache_for_remove): clear entries for included</div><div class='del'>-	  module.  fixed: [ruby-core:08180]</div><div class='del'>-</div><div class='del'>-Mon Jul 10 02:22:58 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): should not overwrite block information in</div><div class='del'>-	  current frame.  [ruby-dev:28957]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): retrieve proper block object from the frame</div><div class='del'>-	  record.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_alloc): return preserved block object if it's</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Mon Jul 10 01:48:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.h (st_data_t): use pointer sized integer for st_data_t.</div><div class='del'>-	  [ruby-dev:28988]</div><div class='del'>-</div><div class='del'>-Sun Jul  9 18:06:47 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_constant): fix for value 1 at cross compiling.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): prevent substitution of macro</div><div class='del'>-	  definition.  fixed: http://www.yotabanana.com/lab/20060624.html#p02</div><div class='del'>-</div><div class='del'>-Sun Jul  9 07:58:48 2006  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_f95.rb: massive overhaul from Yasuhiro</div><div class='del'>-	  Morikawa including new file suffixes, function support, public</div><div class='del'>-	  variables and constants, derived-types, defined operators and</div><div class='del'>-	  assignments, namelists, and subroutine and function</div><div class='del'>-	  arguments. Truly massive.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb: diagrams are now cached.</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: fixed a crasher when completing against</div><div class='del'>-	  an unnamed class/module.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: private comment (--/++) support in</div><div class='del'>-	  C-file rdoc.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: minor clarification in help.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: minor clarification on exception.</div><div class='del'>-</div><div class='del'>-Sun Jul  9 00:54:11 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (next_jump): deal with destination of next.</div><div class='del'>-	  fixed: [ruby-core:08169]</div><div class='del'>-</div><div class='del'>-Fri Jul  7 17:49:16 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ord): extract lower byte.  fixed: [ruby-dev:28980]</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb (String#succ!): fix for 1.9.  fixed: [ruby-dev:28979]</div><div class='del'>-</div><div class='del'>-Fri Jul  7 14:05:03 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): define FUNC_STDCALL/FUNC_CDECL.</div><div class='del'>-	  from [ruby-dev:28970].</div><div class='del'>-</div><div class='del'>-Fri Jul  7 00:38:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_default): should not call default procedure if</div><div class='del'>-	  no key is given.  [ruby-list:42541]</div><div class='del'>-</div><div class='del'>-Thu Jul  6 23:30:04 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to</div><div class='del'>-	  HZ and CLK_TCK.  fixed: [ruby-talk:200293]</div><div class='del'>-</div><div class='del'>-Thu Jul  6 21:50:06 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: sync with original code, rev 1.8.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: should mark CparseParams objects.</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: sync with original code, rev 1.8.</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: update coding style.</div><div class='del'>-</div><div class='del'>-Wed Jul  5 05:28:45 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param): should allow block argument after splat</div><div class='del'>-	  and post splat args.</div><div class='del'>-</div><div class='del'>-Wed Jul  5 01:12:19 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb (TestLambdaParameters::test_lambda_as_iterator):</div><div class='del'>-	  -&gt; style block no longer available.  [ruby-dev:28958]</div><div class='del'>-</div><div class='del'>-Tue Jul  4 21:48:56 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): suppress warning on DOSISH.</div><div class='del'>-</div><div class='del'>-Tue Jul  4 15:12:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): should not set prot_tag-&gt;blkid since it would</div><div class='del'>-	  never catch breaks at this level.  [ruby-dev:28922]</div><div class='del'>-</div><div class='del'>-Tue Jul  4 04:48:36 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: ruby 1.9 HEAD 64 bit warnings clean up from</div><div class='del'>-	  &lt;ville.mattila at stonesoft.com&gt;.   [ruby-core:08120]</div><div class='del'>-</div><div class='del'>-Mon Jul  3 19:04:38 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_make_menu_embeddable): help to make a menu</div><div class='del'>-	  widget embeddable (pack, grid, and so on) like as a general widget.</div><div class='del'>-	  However, an embeddable menu may require to be defined some event</div><div class='del'>-	  bindings for general use.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: [bug fix] Tk.callback_break and</div><div class='del'>-	  Tk.callback_continue don't work on MultiTkIp.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: lack of Tk.callback_return.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: improve creating clone menus.</div><div class='del'>-</div><div class='del'>-Mon Jul  3 14:42:06 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb (PW_UID2VAL, PW_GID2VAL): defaulted to conversion</div><div class='del'>-	  from int, and sys/types.h needs to be included before grp.h.</div><div class='del'>-	  fixed: [ruby-dev:28938]</div><div class='del'>-</div><div class='del'>-Mon Jul  3 10:44:01 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (popen_exec): close file descriptors other than standard I/Os.</div><div class='del'>-	  fixed: [ruby-dev:28924]</div><div class='del'>-</div><div class='del'>-Mon Jul  3 05:15:29 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_asn1.c: String#[]= doesn't accept Integer.</div><div class='del'>-</div><div class='del'>-Mon Jul  3 01:14:15 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): encode \b (\010) for escape.</div><div class='del'>-	  [ruby-dev:28927]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul  2 19:03:30 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: sync with original code, rev 1.7.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: must require version.h to get</div><div class='del'>-	  RUBY_VERSION_CODE.</div><div class='del'>-</div><div class='del'>-Sun Jul  2 18:42:27 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: sync with original source code, rev</div><div class='del'>-	  1.6.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: do not use rb_iterate to give a block</div><div class='del'>-	  to the method, use rb_block_call instead. [ruby-dev:28445]</div><div class='del'>-</div><div class='del'>-Sun Jul  2 11:22:03 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): STDOUT.reopen(filename, "w+") didn't work.</div><div class='del'>-	  (rb_io_reopen): STDOUT.reopen(File.open(filename, "w+")) didn't work.</div><div class='del'>-</div><div class='del'>-Sat Jul  1 23:55:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_FRAME): initialize frame-&gt;self.  [ruby-dev:28911]</div><div class='del'>-</div><div class='del'>-Sat Jul  1 17:00:42 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/utils.rb: use Proc#yield instead of Proc#call.</div><div class='del'>-	  [ruby-dev:28914]</div><div class='del'>-</div><div class='del'>-Sat Jul  1 15:15:49 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_nonblock.rb: add timeout to send/receive</div><div class='del'>-	  an empty UDP packet.</div><div class='del'>-	  [ruby-dev:28820]</div><div class='del'>-</div><div class='del'>-Fri Jun 30 23:46:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: should test isinf for Solaris with GCC compiler.</div><div class='del'>-	  a patch from &lt;ville.mattila at stonesoft.com&gt;.  [ruby-core:07791]</div><div class='del'>-</div><div class='del'>-	* configure.in: -shared patch from Andrew Morrow</div><div class='del'>-	  &lt;andrew.c.morrow at gmail.com&gt;.  [ruby-core:08100]</div><div class='del'>-</div><div class='del'>-Fri Jun 30 19:35:41 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils._escape): should</div><div class='del'>-	  use String#ord to get ascii code from the one-character string.</div><div class='del'>-	  [ruby-dev:28901]</div><div class='del'>-</div><div class='del'>-Thu Jun 29 23:56:01 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): a bug in NODE_BLOCK_PASS marking.</div><div class='del'>-	  [ruby-dev:28908]</div><div class='del'>-</div><div class='del'>-Thu Jun 29 23:04:36 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: use ARGSPUSH instead of ARGSCAT to prevent too much</div><div class='del'>-	  splat expansion.</div><div class='del'>-</div><div class='del'>-	* eval.c (when_check): need to handle ARGSPUSH as well.</div><div class='del'>-</div><div class='del'>-	* eval.c (block_orphan): lambda and proc from method are always</div><div class='del'>-	  orphan.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): proper marking for NODE_LAMBDA.</div><div class='del'>-</div><div class='del'>-Thu Jun 29 22:47:30 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (SETUP_ARGS0): avoid GC problem.</div><div class='del'>-	  [ruby-dev:28902]</div><div class='del'>-</div><div class='del'>-Thu Jun 29 18:58:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_version): fix patch</div><div class='del'>-	  failure.</div><div class='del'>-</div><div class='del'>-Thu Jun 29 18:00:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: add RDoc document.  a patch from</div><div class='del'>-	  mathew &lt;meta at pobox.com&gt;.   [ruby-core:07050]</div><div class='del'>-</div><div class='del'>-Wed Jun 28 14:53:09 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: RDoc patch from Robin Stocker &lt;robin@nibor.org&gt;</div><div class='del'>-	  [ruby-core:08087]</div><div class='del'>-</div><div class='del'>-Wed Jun 28 23:23:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): underscores should appear only</div><div class='del'>-	  between digits.  [ruby-dev:28891]</div><div class='del'>-</div><div class='del'>-Wed Jun 28 19:04:34 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: test_seqpacket_pair removed.</div><div class='del'>-	  [ruby-dev:28846]</div><div class='del'>-</div><div class='del'>-Wed Jun 28 13:51:21 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (when_check): arbitrary values are allowed after splats.</div><div class='del'>-	  fixed: [ruby-dev:28879]</div><div class='del'>-</div><div class='del'>-Wed Jun 28 09:16:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): remove meaningless else-only case statement</div><div class='del'>-	  syntax.</div><div class='del'>-</div><div class='del'>-Wed Jun 28 08:08:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): problem to handle else part.  [ruby-dev:28873]</div><div class='del'>-</div><div class='del'>-Wed Jun 28 01:48:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): support splat in when expression list.</div><div class='del'>-	  [ruby-dev:28822]</div><div class='del'>-</div><div class='del'>-	* eval.c (when_check): a new auxiliary function for case match.</div><div class='del'>-</div><div class='del'>-	* eval.c (when_cond): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 28 01:05:37 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_cstr_to_dbl): should not skip '_' at the beginning</div><div class='del'>-	  of a string.  [ruby-dev:28830]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 27 23:03:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: RDoc update for =~ method.  a patch from Alex Young</div><div class='del'>-	  &lt;alex at blackkettle.org&gt;.  [ruby-core:08068]</div><div class='del'>-</div><div class='del'>-Tue Jun 27 22:47:18 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: forgot to update TCLTKLIB_RELEASE_DATE.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (tk_tcl2ruby): [bug fix] sometimes fail to convert</div><div class='del'>-	  a tcl string to a ruby object if the tcl string includes "\n".</div><div class='del'>-</div><div class='del'>-Tue Jun 27 20:05:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): backout unnecessary fix on 2006-06-26.</div><div class='del'>-	  [ruby-dev:28865]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): exact argument number check now done only</div><div class='del'>-	  for lambda Proc.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): add check for number of arguments, if</div><div class='del'>-	  there's one lambda block parameter.</div><div class='del'>-</div><div class='del'>-Tue Jun 27 16:04:05 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.h: define isascii on MinGW for msvcrt compatibility.</div><div class='del'>-</div><div class='del'>-	* configure.in: set ac_cv_header_sys_time_h=no on MinGW</div><div class='del'>-	  for msvcrt compatibility.</div><div class='del'>-</div><div class='del'>-Tue Jun 27 11:36:02 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (setup_passwd, setup_group): allow bignum uid, gid and</div><div class='del'>-	  so on.  [ruby-talk:199102]</div><div class='del'>-</div><div class='del'>-Tue Jun 27 10:46:53 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): avoid core dump.  [ruby-dev:28840]</div><div class='del'>-</div><div class='del'>-Mon Jun 26 11:03:00 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri: Add options to limit the ri search path.</div><div class='del'>-</div><div class='del'>-Tue Jun 27 01:31:59 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_recv_nonblock): new method</div><div class='del'>-	  BasicSocket#recv_nonblock.</div><div class='del'>-	  (udp_recvfrom_nonblock): renamed from ip_recvfrom_nonblock.</div><div class='del'>-	  IPSocket#recvfrom_nonblock is moved to UDPSocket#recvfrom_nonblock.</div><div class='del'>-	  (unix_recvfrom_nonblock): removed.</div><div class='del'>-	  UNIXSocket#recvfrom_nonblock is removed.</div><div class='del'>-</div><div class='del'>-Tue Jun 27 00:52:40 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (token_assoc): added tCHAR, which is not</div><div class='del'>-	  under 256 now.  fixed: [ruby-dev:28832]</div><div class='del'>-</div><div class='del'>-Mon Jun 26 23:42:57 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (call_trace_func): no check for argument number of the</div><div class='del'>-	  callback.  fixed: [ruby-dev:28812]</div><div class='del'>-</div><div class='del'>-Mon Jun 26 18:37:44 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_delete): fix SEGV when a slave-ip is</div><div class='del'>-	  deleted on callback.</div><div class='del'>-</div><div class='del'>-Mon Jun 26 15:40:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_accept): revert to avoid ambiguity of</div><div class='del'>-	  argument evaluation order.  [ruby-dev:28861]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_accept_nonblock): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 26 10:47:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): avoid closing uninitialized file descriptors.</div><div class='del'>-	  a patch from &lt;tommy at tmtm.org&gt; [ruby-dev:28600]</div><div class='del'>-</div><div class='del'>-Sun Jun 25 23:02:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, mkconfig.rb: catch-up for latest autoconf.</div><div class='del'>-</div><div class='del'>-Sun Jun 25 17:44:16 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (paren_args): wrap $2 by escape_Qundef because it may be</div><div class='del'>-	  Qundef.  [ruby-dev:28843]</div><div class='del'>-</div><div class='del'>-Sun Jun 25 17:18:33 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(ole_invoke): support some kind of</div><div class='del'>-	  method of word. [ruby-Bugs#3237]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_word.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 24 23:48:08 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: replace terminal token names with more descriptive</div><div class='del'>-	  name, i.e. kEND to keyword_end.  [ruby-list:42477]</div><div class='del'>-</div><div class='del'>-Sat Jun 24 23:37:41 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): use rb_ary_new2 instead of rb_ary_new4 to avoid</div><div class='del'>-	  GC problem.</div><div class='del'>-	  (rb_yield_values): use rb_ary_new2 instead of rb_ary_new4.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new4): don't set len as n if contents is not</div><div class='del'>-	  initialized.  make it safe with GC.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:28826]</div><div class='del'>-</div><div class='del'>-Fri Jun 23 23:35:32 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h, lib/drb/drb.rb, lib/drb/invokemethod.rb: remove Values class.</div><div class='del'>-	  [ruby-dev:28805]</div><div class='del'>-</div><div class='del'>-Fri Jun 23 17:27:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_pass): removed.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_1): use rb_proc_yield() instead of</div><div class='del'>-	  rb_block_pass().  fixed: [ruby-dev:28794]</div><div class='del'>-</div><div class='del'>-Thu Jun 22 11:52:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTPResponse): duplicated error 501;</div><div class='del'>-	  HTTPInternalServerError should be error 500.  [ruby-core:08037]</div><div class='del'>-</div><div class='del'>-Thu Jun 22 11:47:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_name): returns nil for anonymous modules.</div><div class='del'>-	  [ruby-talk:198440]</div><div class='del'>-</div><div class='del'>-Thu Jun 22 10:31:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aref): "abc"[3] should not return an empty</div><div class='del'>-	  string but nil.  [ruby-dev:28786]</div><div class='del'>-</div><div class='del'>-Thu Jun 22 05:15:58 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_socketpair): try GC only once.</div><div class='del'>-	  [ruby-dev:28778]</div><div class='del'>-</div><div class='del'>-Wed Jun 21 21:20:31 2006  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (jd_to_commercial): now works fine even if in</div><div class='del'>-	  mathn-ized context.</div><div class='del'>-</div><div class='del'>-Wed Jun 21 17:29:57 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (freeaddrinfo, get_name): fixed typo.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (tcl_eval, tcl_global_eval): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rscheck): constified.</div><div class='del'>-</div><div class='del'>-Wed Jun 21 17:18:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods::seplist): should have preserved</div><div class='del'>-	  original reference to the array.  [ruby-dev:28747]</div><div class='del'>-</div><div class='del'>-Wed Jun 21 14:35:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param): do not use multiple assignment for a sole</div><div class='del'>-	  block parameter.  [ruby-dev:28710]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): pass a raw yielded value to a sole block</div><div class='del'>-	  parameter if a value is passed by yield.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): args may not be an array.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_proc_yield): pass original value without wrapping</div><div class='del'>-	  it in an array.</div><div class='del'>-</div><div class='del'>-Wed Jun 21 14:06:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): remove (fn)(args) style lambda</div><div class='del'>-	  invocation, add fn.(args) instead.</div><div class='del'>-</div><div class='del'>-Wed Jun 21 08:39:54 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): merge Date</div><div class='del'>-	  and Time processing.  [ruby-core:08033]</div><div class='del'>-</div><div class='del'>-Wed Jun 21 03:01:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, file.c, etc.: code-cleanup patch from Stefan Huehner</div><div class='del'>-	  &lt;stefan at huehner.org&gt;.  [ruby-core:08029]</div><div class='del'>-</div><div class='del'>-Wed Jun 21 01:40:25 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reswords): modifier token is no longer returned in fname</div><div class='del'>-	  state.  fixed: [ruby-dev:28775]</div><div class='del'>-</div><div class='del'>-Tue Jun 20 23:28:34 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (parse_args): provisional catch-up for the recent changes.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::List#summarize, OptionParser#order!): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 20 11:07:55 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): intercept break and return from lambda</div><div class='del'>-	  Proc objects.  [ruby-dev:28742]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): remove unnecessary YIELD_PROC_CALL flag.</div><div class='del'>-</div><div class='del'>-	* eval.c (YIELD_EXACT_ARGS): renamed from YIELD_LAMBDA_CALL, which</div><div class='del'>-	  is no longer related to the behavior turned on by this flag.</div><div class='del'>-</div><div class='del'>-	* eval.c (return_jump): no need to care about PROT_YIELD.</div><div class='del'>-</div><div class='del'>-	* eval.c (break_jump): no jump to toplevel PROT_THREAD tag.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): fix confusion between lambda (which is a</div><div class='del'>-	  property of a proc) and pcall (which depends on whether it's</div><div class='del'>-	  called via yield or call).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_yield): no need to specify YIELD_LAMBDA_CALL.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_pass): update blkid in prot_tag.</div><div class='del'>-</div><div class='del'>-Mon Jun 19 23:40:59 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	  * ext/nkf/lib/kconv.rb: remove default -m0 and fix document.</div><div class='del'>-</div><div class='del'>-	  * ext/nkf/nkf-8/{nkf.c, config.h, utf8tbl.c, utf8tbl.h}:</div><div class='del'>-	    imported nkf 2.0.7.</div><div class='del'>-</div><div class='del'>-Mon Jun 19 17:02:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (proc_return3): return within non lambda block</div><div class='del'>-	  should terminate surrounding method.  [ruby-dev:28741]</div><div class='del'>-</div><div class='del'>-Mon Jun 19 13:22:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (unix_sysaccept): typo fixed.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect): remove an unused local</div><div class='del'>-	  variable tmpaddr.</div><div class='del'>-</div><div class='del'>-Mon Jun 19 02:10:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (tcp_accept_nonblock): forgot to remove</div><div class='del'>-	  abandoned hacks.  [ruby-dev:28740]</div><div class='del'>-</div><div class='del'>-Mon Jun 19 00:00:17 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix bug: initialize improper tables.</div><div class='del'>-</div><div class='del'>-Sun Jun 18 20:28:43 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_methods): The return value</div><div class='del'>-	  of WIN32OLE#ole_methods should include PROPERTYPUTREF methods.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_put_methods): The return value</div><div class='del'>-	  of WIN32OLE#ole_put_methods should include PROPERTYPUTREF methods.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_ole_methods.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_propertyput): support</div><div class='del'>-	  PROPERTYPUTREF. [ruby-talk:183042]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_propertyputref.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 17 23:42:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): add aliases invoke_method and</div><div class='del'>-	  invoke_functional_method corresponding send and funcall</div><div class='del'>-	  respectively.  [ruby-talk:197512]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): returns the most typical keyword token</div><div class='del'>-	  on EXPR_FNAME.  [ruby-core:7995]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: protoize.</div><div class='del'>-</div><div class='del'>-Sat Jun 17 22:17:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Integer::prime_division): raise ZeroDivisionError</div><div class='del'>-	  on zeros.  [ruby-dev:28739]</div><div class='del'>-</div><div class='del'>-Sat Jun 17 14:53:32 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Kernel#Pathname): new method.</div><div class='del'>-</div><div class='del'>-Sat Jun 17 02:01:00 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Fri Jun 16 01:41:00 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_proc_arity): get rid of segfault for mere splat.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): NODE_BLOCK_PASS needs u3 to be marked.</div><div class='del'>-</div><div class='del'>-Thu Jun 15 22:06:56 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (then): remove ':' from 'then' and 'do' rules.</div><div class='del'>-</div><div class='del'>-Wed Jun 14 18:00:20 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_any): Documentation typo.</div><div class='del'>-</div><div class='del'>-Wed Jun 14 15:01:09 2006  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser#warn): Don't print</div><div class='del'>-	  warnings when -q is set.</div><div class='del'>-</div><div class='del'>-Wed Jun 14 16:11:37 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_method_name, rb_f_callee_name): document typo.</div><div class='del'>-</div><div class='del'>-Wed Jun 14 15:19:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_aset): raise TypeError on nil with more descriptive</div><div class='del'>-	  message.  [ruby-core:07990]</div><div class='del'>-</div><div class='del'>-Tue Jun 13 17:22:19 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): remove obsolete constants:</div><div class='del'>-	  IPsocket, TCPsocket, SOCKSsocket, TCPserver, UDPsocket,</div><div class='del'>-	  UNIXsocket, UNIXserver.</div><div class='del'>-</div><div class='del'>-Tue Jun 13 09:07:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): post splat arguments should have had</div><div class='del'>-	  higher priority than optional arguments, since they are</div><div class='del'>-	  mandatory.  [ruby-dev:28715]</div><div class='del'>-</div><div class='del'>-	* eval.c (VIS_MASK): broken. should be 15.  [ruby-dev:28715]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_getc): should return one-character string.</div><div class='del'>-	  [ruby-dev:28715]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_readchar): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 11 23:20:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (sym_call): disallow to call private methods.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Arguable#getopts): pass self to the</div><div class='del'>-	  parser.</div><div class='del'>-</div><div class='del'>-Sun Jun 11 09:56:41 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.h (write): not need to define on bcc.</div><div class='del'>-</div><div class='del'>-Sun Jun 11 08:30:33 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#getopts): new methods.</div><div class='del'>-</div><div class='del'>-Sun Jun 11 07:27:11 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_writer.rb: use String#ord.</div><div class='del'>-</div><div class='del'>-Sun Jun 11 04:38:20 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (sym_to_proc): imported Symbol#to_proc from ActiveSupport.</div><div class='del'>-</div><div class='del'>-Sat Jun 10 18:02:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/newton.rb (Newton::nlsolve): typo</div><div class='del'>-	  fixed: raize -&gt; raise.  [ruby-talk:196608]</div><div class='del'>-</div><div class='del'>-Sat Jun 10 17:49:53 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ord): new method.</div><div class='del'>-</div><div class='del'>-	* parse.y (rbracket): allow optional newline before closing</div><div class='del'>-	  brackets.</div><div class='del'>-</div><div class='del'>-Sat Jun 10 15:12:29 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_method_name, rb_f_callee_name): new functions.</div><div class='del'>-	  new global method `__method__' and `__callee__'.</div><div class='del'>-</div><div class='del'>-Sat Jun 10 10:13:13 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb (GetoptLong#set_options): receive arguments</div><div class='del'>-	  as Array.</div><div class='del'>-</div><div class='del'>-	* lib/irb/slex.rb: use Proc#yield.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup/inline.rb: follow the new behavior</div><div class='del'>-	  of String#[].</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_writer.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 10 08:17:23 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (log2): may be a macro.</div><div class='del'>-</div><div class='del'>-	* parse.y (args, block_param, f_args): pass f_post_arg to #params.</div><div class='del'>-</div><div class='del'>-	* util.c (powersOf10): constified.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: include extconf.h first.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: removed tLAMBDA_ARG.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (lib_fromUTF8_core): removed conflict.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (cbsubst_get_subst_arg): rb_id2name() is</div><div class='del'>-	  defined as const now.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_missing): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): force to create extconf header.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (order!): use Proc#yield.</div><div class='del'>-</div><div class='del'>-Sat Jun 10 06:53:22 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (CALLARGS): remove last semicolon. C90 compiler doesn't</div><div class='del'>-	  allow any lines (even if they're empty) within variable</div><div class='del'>-	  declarations.</div><div class='del'>-</div><div class='del'>-Fri Jun  9 09:56:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): allow %c to print one character</div><div class='del'>-	  string (e.g. ?x).</div><div class='del'>-</div><div class='del'>-Thu Jun  8 14:00:02 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_read, rb_w32_write): new functions.</div><div class='del'>-	  use recv() and send() when fd is socket. fixed: [ruby-dev:28694]</div><div class='del'>-</div><div class='del'>-Wed Jun  7 16:22:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::make_tmpname): put dot between</div><div class='del'>-	  basename and pid.  [ruby-talk:196272]</div><div class='del'>-</div><div class='del'>-Wed Jun  7 16:16:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (do_block): remove -&gt; style block.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): remove tLAMBDA_ARG.</div><div class='del'>-</div><div class='del'>-Wed Jun  7 14:51:22 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (errmap): add some winsock errors.</div><div class='del'>-</div><div class='del'>-Wed Jun  7 09:14:44 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): binding for the return event hook should have</div><div class='del'>-	  consistent scope.  [ruby-core:07928]</div><div class='del'>-</div><div class='del'>-Tue Jun  6 23:25:49 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): return behavior should depend whether it</div><div class='del'>-	  is surrounded by a lambda or a mere block.</div><div class='del'>-</div><div class='del'>-Mon Jun  5 18:12:12 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_unpack_sockaddr_in): reject</div><div class='del'>-	  non-AF_INET/AF_INET6 sockaddr.</div><div class='del'>-	  (sock_s_unpack_sockaddr_un): reject non-AF_UNIX sockaddr.</div><div class='del'>-	  [ruby-dev:28691]</div><div class='del'>-</div><div class='del'>-Sun Jun  4 20:40:19 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: fix sockaddr_un handling.</div><div class='del'>-	  [ruby-dev:28677]</div><div class='del'>-</div><div class='del'>-Sat Jun  3 23:53:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): handles post splat arguments.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun  3 13:10:41 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (strhash): use FNV-1a hash.</div><div class='del'>-</div><div class='del'>-Fri Jun  2 20:01:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): removed experimental ';;' terminator.</div><div class='del'>-</div><div class='del'>-Fri Jun  2 19:00:40 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: use create_header.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h, ext/openssl/openssl_missing.h:</div><div class='del'>-	  include RUBY_EXTCONF_H.</div><div class='del'>-</div><div class='del'>-Fri Jun  2 17:16:52 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CLEANINGS): remove extconf.h by distclean if created.</div><div class='del'>-</div><div class='del'>-Fri Jun  2 00:11:19 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recvfrom): alen may be zero with UNIXSocket</div><div class='del'>-	  too.  (tested on NetBSD 3.0)</div><div class='del'>-	  (s_recvfrom_nonblock): extracted from sock_recvfrom_nonblock.</div><div class='del'>-	  (sock_recvfrom_nonblock): use s_recvfrom_nonblock.</div><div class='del'>-	  (ip_recvfrom_nonblock): new method: IPSocket#recvfrom_nonblock</div><div class='del'>-	  (unix_recvfrom_nonblock): new method: UNIXSocket#recvfrom_nonblock</div><div class='del'>-	  (s_accept_nonblock): extracted from sock_accept_nonblock.</div><div class='del'>-	  (sock_accept_nonblock): use s_accept_nonblock.</div><div class='del'>-	  (tcp_accept_nonblock): new method: TCPServer#accept_nonblock</div><div class='del'>-	  (unix_accept_nonblock): new method: UNIXServer#accept_nonblock</div><div class='del'>-</div><div class='del'>-Thu Jun  1 19:12:37 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_cmdvector): backslashes inside single-quotes</div><div class='del'>-	  no longer has special meanings.  fixed: [ruby-list:42311]</div><div class='del'>-</div><div class='del'>-Thu Jun  1 17:55:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_node_arity): should be aware of post splat arguments.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_proc_arity): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  1 16:17:26 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getcwd): runtime's getcwd() will not success</div><div class='del'>-	  if the length of the cwd is longer than MAX_PATH.</div><div class='del'>-	  fixed [ruby-list:42335]</div><div class='del'>-</div><div class='del'>-Thu Jun  1 16:07:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_args): syntax rule enhanced to support arguments</div><div class='del'>-	  after the splat.</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_basic): ditto for multiple assignments</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param): ditto for block parameters.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_post_arg): mandatory formal arguments after the splat</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): generate nodes for mandatory formal</div><div class='del'>-	  arguments after the splat argument.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): dispatch mandatory formal arguments after the</div><div class='del'>-	  splat argument.</div><div class='del'>-</div><div class='del'>-Thu Jun  1 11:33:32 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getcwd): set errno if not set.</div><div class='del'>-	  fixed [ruby-list:42346]</div><div class='del'>-</div><div class='del'>-Thu Jun  1 00:45:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (args): allow more than one splat in the argument list.</div><div class='del'>-</div><div class='del'>-Wed May 31 18:38:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): allow aref [] to accept all kind of</div><div class='del'>-	  method argument, including assocs, splat, and block argument.</div><div class='del'>-</div><div class='del'>-	* eval.c (SETUP_ARGS0): prepare block argument as well.</div><div class='del'>-</div><div class='del'>-Tue May 30 18:13:53 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Integer): remove Integer#gcd2. [ruby-core:07931]</div><div class='del'>-</div><div class='del'>-Mon May 29 22:40:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_line): print receivers true/false/nil specially.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_proc_yield): handles parameters in yield semantics.</div><div class='del'>-</div><div class='del'>-	* eval.c (nil_yield): gives LocalJumpError to denote no block</div><div class='del'>-	  error.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getc): now takes one-character string.</div><div class='del'>-</div><div class='del'>-Sat May 27 22:46:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): save and restore block in the current frame.</div><div class='del'>-	  fixed: [ruby-core:07833], [ruby-talk:191639]</div><div class='del'>-</div><div class='del'>-Sat May 27 11:29:46 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): remove extinit files if no statically linked</div><div class='del'>-	  extensions.</div><div class='del'>-</div><div class='del'>-Fri May 26 19:56:46 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash): use FNV-1a hash from Fowler/Noll/Vo</div><div class='del'>-	  hashing algorithm.</div><div class='del'>-</div><div class='del'>-Fri May 26 09:05:11 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h, lib/mkmf.rb (create_header): clear command line options for</div><div class='del'>-	  macros moved to extconf.h.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and</div><div class='del'>-	  EXTSTATIC permanent.</div><div class='del'>-</div><div class='del'>-	* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added</div><div class='del'>-	  $(INCFLAGS).</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): add $defs unless extconf.h was created.</div><div class='del'>-</div><div class='del'>-Thu May 25 01:52:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (pkg_config): particular config commands support.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: deal with $static set in extconf.rb.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: merge multiple entries to an entry with multiple lines.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: allow a series of commands to link.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: embed manifests.</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: suffix OS name by runtime version.</div><div class='del'>-</div><div class='del'>-Wed May 24 23:52:11 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_install_sh): ignore dummy install-sh.</div><div class='del'>-	  [ruby-talk:193876]</div><div class='del'>-</div><div class='del'>-Wed May 24 17:55:13 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aref): str[0] now returns 1 character string,</div><div class='del'>-	  instead of a fixnum.	[Ruby2]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ?c now returns 1 character string,</div><div class='del'>-	  instead of a fixnum.	[Ruby2]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset): no longer support fixnum insertion.</div><div class='del'>-</div><div class='del'>-Wed May 24 03:10:44 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb</div><div class='del'>-	  (OpenSSL::SSL::SocketForwarder#setsockopt,getsockopt): typo fixed.</div><div class='del'>-</div><div class='del'>-Mon May 22 16:32:03 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h (rb_io_set_nonblock): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_set_nonblock): new function.</div><div class='del'>-	  (io_getpartial): nonblocking read support.</div><div class='del'>-	  (io_read_nonblock): new method: IO#read_nonblock.</div><div class='del'>-	  (io_write_nonblock): new method: IO#write_nonblock.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_accept): retry for EWOULDBLOCK.</div><div class='del'>-	  revert [ruby-talk:113807].</div><div class='del'>-	  (sock_connect_nonblock): new method: Socket#connect_nonblock.</div><div class='del'>-	  (sock_accept_nonblock): new method: Socket#accept_nonblock.</div><div class='del'>-	  (sock_recvfrom_nonblock): new method: Socket#recvfrom_nonblock.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:7917]</div><div class='del'>-</div><div class='del'>-Mon May 22 15:57:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (umethod_bind): should not update original class.</div><div class='del'>-	  [ruby-dev:28636]</div><div class='del'>-</div><div class='del'>-Mon May 22 13:38:57 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ev_const_get): should support constant access from</div><div class='del'>-	  within instance_eval().  [ruby-dev:28327]</div><div class='del'>-</div><div class='del'>-Sun May 21 09:50:31 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c: add STK_NULL_CHECK_END to IS_TO_VOID_TARGET().</div><div class='del'>-	  [ruby-list:42234]</div><div class='del'>-</div><div class='del'>-Thu May 18 22:37:20 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::HTTP): add new parameters,</div><div class='del'>-	  :InputBufferSize and :OutputBufferSize.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils.timeout): add new timeout</div><div class='del'>-	  method. this implementation is expected to be compatible with</div><div class='del'>-	  timeout.rb and faster than timeout.rb.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#_read_data):</div><div class='del'>-	  Timeout.timeout is replaced by WEBrick::Utils.timeout.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb: WEBrick::HTTPRequest::BUFSIZE is</div><div class='del'>-	  replaced by config[:InputBufferSize].</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresposne.rb: WEBrick::HTTPResponse::BUFSIZE is</div><div class='del'>-	  replaced by config[:OutputBufferSize].</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: get rid of unnecessary require.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_utils.rb: test for WEBrick::Utils.timeout.</div><div class='del'>-</div><div class='del'>-Thu May 18 17:51:32 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timeval): should round for usec floating</div><div class='del'>-	  number.  [ruby-core:07896]</div><div class='del'>-</div><div class='del'>-	* time.c (time_add): ditto.</div><div class='del'>-</div><div class='del'>-Thu May 18 00:42:12 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, lib/mkmf.rb: use BUILD_FILE_SEPARATOR in Makefiles.</div><div class='del'>-</div><div class='del'>-Wed May 17 17:55:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (sys_warning): should not call a vararg function</div><div class='del'>-	  rb_sys_warning() indirectly.	[ruby-core:07886]</div><div class='del'>-</div><div class='del'>-Tue May 16 17:23:19 2006  Shin-ichiro HARA  &lt;sinara@blade.nagaokaut.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_divmod): the first element of Float#divmod should</div><div class='del'>-	  be an integer. [ruby-dev:28589]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.</div><div class='del'>-</div><div class='del'>-Tue May 16 15:34:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): should not allow modifying literal</div><div class='del'>-	  regexps.  frozen check moved from rb_reg_initialize_m as well.</div><div class='del'>-</div><div class='del'>-Tue May 16 09:20:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): should not modify untainted objects in</div><div class='del'>-	  safe levels higher than 3.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memcmp): type change from char* to const void*.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_close): should not close untainted dir stream.</div><div class='del'>-</div><div class='del'>-	* dir.c (GetDIR): add tainted/frozen check for each dir operation.</div><div class='del'>-</div><div class='del'>-Mon May 15 21:37:12 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): don't use onig_recompile().</div><div class='del'>-</div><div class='del'>-Mon May 15 17:42:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):</div><div class='del'>-	  typo fixed.  a patch from Florian Gross &lt;florg at florg.net&gt;.</div><div class='del'>-</div><div class='del'>-Sat May 13 16:14:05 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP.mcall): new method.</div><div class='del'>-	  (Struct#pretty_print): call Kernel#class and Struct#members even if</div><div class='del'>-	  overridden.</div><div class='del'>-	  (Struct#pretty_print_cycle): ditto.</div><div class='del'>-	  [ruby-core:7865]</div><div class='del'>-</div><div class='del'>-Fri May 12 15:54:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from</div><div class='del'>-	  event_hooks.	no guarantee for arbitrary hook deletion.</div><div class='del'>-	  [ruby-dev:28632]</div><div class='del'>-</div><div class='del'>-Thu May 11 19:57:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): differ addition to minimize error.</div><div class='del'>-	  [ruby-dev:28619]</div><div class='del'>-</div><div class='del'>-Thu May 11 18:30:11 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (add_cipher_name_to_ary): should return</div><div class='del'>-	  value. [ruby-dev:28627]</div><div class='del'>-</div><div class='del'>-Thu May 11 18:10:43 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): should not raise ERANGE when the input</div><div class='del'>-	  string does not have any digits.  [ruby-dev:28629]</div><div class='del'>-</div><div class='del'>-Wed May 10 23:40:21 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.0.3</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon May  8 09:10:31 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: add check for OBJ_NAME_do_all_sorted.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_s_ciphers): new method</div><div class='del'>-	  OpenSSL::Cipher.ciphers. it returns all the cipher names.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_init): refine warning message.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/cipher.rb: reimplement without eval() and</div><div class='del'>-	  add constants AES128, AES192, AES256. [ruby-dev:28610]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/digest.rb: reimplement without eval().</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb, test_digest: fix about reimplemented</div><div class='del'>-	  features.</div><div class='del'>-</div><div class='del'>-	* sample/openssl/cipher.rb: rewrite all.</div><div class='del'>-</div><div class='del'>-Sun May  7 03:09:51 2006  Stephan Maka  &lt;stephan@spaceboyz.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP#initialize):</div><div class='del'>-	  Use AF_INET6 for nameservers containing colons.</div><div class='del'>-</div><div class='del'>-Sat May  6 23:40:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): should restore old ruby_frame-&gt;block.</div><div class='del'>-	  thanks to ts &lt;decoux at moulon.inra.fr&gt;.  [ruby-core:07833]</div><div class='del'>-	  also fix [ruby-dev:28614] as well.</div><div class='del'>-</div><div class='del'>-Sat May  6 00:38:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): sig should be less then NSIG.  Coverity found</div><div class='del'>-	  this bug.  a patch from Kevin Tew &lt;tewk at tewk.com&gt;.</div><div class='del'>-	  [ruby-core:07823]</div><div class='del'>-</div><div class='del'>-Thu May  4 22:13:22 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_log2): add new method inspired by</div><div class='del'>-	  [ruby-talk:191237].</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): add optional base argument to Math::log().</div><div class='del'>-	  [ruby-talk:191308]</div><div class='del'>-</div><div class='del'>-Thu May  4 02:24:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_scan_scalar): avoid accessing</div><div class='del'>-	  uninitialized array element.	a patch from Pat Eyler</div><div class='del'>-	  &lt;rubypate at gmail.com&gt;.  [ruby-core:07809]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): initialize local variables first.  a</div><div class='del'>-	  patch from Pat Eyler &lt;rubypate at gmail.com&gt;.	 [ruby-core:07810]</div><div class='del'>-</div><div class='del'>-	* ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free</div><div class='del'>-	  type_tag.  a patch from Pat Eyler &lt;rubypate at gmail.com&gt;.</div><div class='del'>-	  [ruby-core:07808]</div><div class='del'>-</div><div class='del'>-Wed May  3 02:12:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent_internal): accept ai_family</div><div class='del'>-	  check from Sam Roberts &lt;sroberts at uniserve.com&gt;.</div><div class='del'>-	  [ruby-core:07691]</div><div class='del'>-</div><div class='del'>-Mon May  1 17:58:16 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (add_event_call_back): should not</div><div class='del'>-	  delete event handler when the event name is not entried.</div><div class='del'>-</div><div class='del'>-Mon May  1 08:32:10 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_param_ole_type): should return</div><div class='del'>-	  "unknown type" string when ITypeInfo::GetFuncDesc failed.</div><div class='del'>-</div><div class='del'>-Sat Apr 29 22:43:37 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_decode0): should initialize</div><div class='del'>-	  flag. [ruby-core:07785]</div><div class='del'>-</div><div class='del'>-Fri Apr 28 10:53:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): should not cut off 18 digits for no</div><div class='del'>-	  reason.  [ruby-core:07796]</div><div class='del'>-</div><div class='del'>-Thu Apr 27 01:38:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): internalize local variable "beg" to</div><div class='del'>-	  pacify Coverity.  [ruby-core:07770]</div><div class='del'>-</div><div class='del'>-Wed Apr 26 16:59:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): now supports CRLF newlines.  a patch from</div><div class='del'>-	  &lt;tommy at tmtm.org&gt;.	[ruby-dev:28601]</div><div class='del'>-</div><div class='del'>-Wed Apr 26 16:55:19 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* applied code clean-up patch from Stefan Huehner</div><div class='del'>-	  &lt;stefan at huehner.org&gt;.  [ruby-core:07764]</div><div class='del'>-</div><div class='del'>-Tue Apr 25 18:00:05 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (delete_slaves): maybe increment the reference</div><div class='del'>-	  count of a NULL Tcl_Obj [ruby-core:07759].</div><div class='del'>-</div><div class='del'>-Tue Apr 25 07:55:31 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb (String::tr_s): should have translated non</div><div class='del'>-	  squeezing character sequence (i.e. a character) as well.  thanks</div><div class='del'>-	  to Hiroshi Ichikawa &lt;gimite at gimite.ddo.jp&gt; [ruby-list:42090]</div><div class='del'>-</div><div class='del'>-Fri Apr 21 15:19:13 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (lib_eventloop_ensure): avoid dereferencing</div><div class='del'>-	  freed pointer [ruby-core:07744] and memory leak.</div><div class='del'>-</div><div class='del'>-Fri Apr 21 12:14:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: document update patch from Sam Roberts</div><div class='del'>-	  &lt;sroberts at uniserve.com&gt;.  [ruby-core:07701]</div><div class='del'>-</div><div class='del'>-Thu Apr 20 08:43:54 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Integer): need not to remove gcd2.  a patch from</div><div class='del'>-	  NARUSE, Yui &lt;naruse at airemix.com&gt;.	[ruby-dev:28570]</div><div class='del'>-</div><div class='del'>-Wed Apr 19 13:55:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): too much NEW_LIST()</div><div class='del'>-</div><div class='del'>-	* eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.</div><div class='del'>-</div><div class='del'>-Wed Apr 19 11:57:04 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.</div><div class='del'>-	  [ruby-dev:28585]</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): use NODE_ARGSCAT for placeholder.</div><div class='del'>-</div><div class='del'>-Wed Apr 19 11:13:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb (GetoptLong::get): RDoc update patch from</div><div class='del'>-	  mathew &lt;meta at pobox.com&gt;.  [ruby-core:07738]</div><div class='del'>-</div><div class='del'>-Wed Apr 19 10:13:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): raise error when no target klass is</div><div class='del'>-	  supplied.  [ruby-dev:28582]</div><div class='del'>-</div><div class='del'>-Tue Apr 18 17:40:37 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: update RELEASE_DATE.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: forget to reset a Tcl interpreter.</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c: fix potential bugs about handling rb_argv0.</div><div class='del'>-</div><div class='del'>-Mon Apr 10 01:03:10 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* prec.c (prec_prec_f): documentation patch from</div><div class='del'>-	  &lt;gerardo.santana at gmail.com&gt;.  [ruby-core:07689]</div><div class='del'>-</div><div class='del'>-Sat Apr  8 02:34:34 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): second operand may be too big even if</div><div class='del'>-	  it's a Fixnum.  [ruby-talk:187984]</div><div class='del'>-</div><div class='del'>-Sat Apr  8 02:12:38 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: update symbol description.  [ruby-talk:188104]</div><div class='del'>-</div><div class='del'>-Sat Apr  8 18:06:28 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_METHOD#inspect,</div><div class='del'>-	  WIN32OLE_PARAM#inspect.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* add test/win32ole/test_win32ole_param.rb.</div><div class='del'>-</div><div class='del'>-Fri Apr  7 22:11:30 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(foletypelib_initialize): WIN32OLE_TYPELIB.new</div><div class='del'>-	  accepts OLE file.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_typelib.rb(test_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  6 23:28:47 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* COPYING: explicitly note GPLv2.  [ruby-talk:187922]</div><div class='del'>-</div><div class='del'>-Thu Apr  6 16:43:06 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_obj_instance_exec, rb_mod_module_exec): add declaration.</div><div class='del'>-</div><div class='del'>-Thu Apr  6 11:18:37 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/panedwindow.rb: lack of arguments. [ruby-core:7681]</div><div class='del'>-</div><div class='del'>-Thu Apr  6 01:04:47 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fix SEGV when embedding to an application.</div><div class='del'>-	  [ruby-core:7600]</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fix SEGV at exit. [ruby-talk:186489]</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: follow to changing specification of</div><div class='del'>-	  instance_eval on ruby-1.9.x.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: remove warning about redefinition of methods.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: remove warning about unseting Tcl</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-Wed Apr  5 00:22:54 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: use a subclass for instantiation except</div><div class='del'>-	  methods take pathname argument.  suggested by Evan Phoenix.</div><div class='del'>-	  [ruby-core:7618]</div><div class='del'>-</div><div class='del'>-Tue Apr  4 22:15:41 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove some obsolete syntax rules (unparenthesized</div><div class='del'>-	  method calls in argument list).</div><div class='del'>-</div><div class='del'>-Sat Apr  1 15:11:27 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_TYPE#inspect,</div><div class='del'>-	  WIN32OLE_VARIABLE#inspect</div><div class='del'>-</div><div class='del'>-	* remove ext/win32ole/tests/testOLEVARIABLE.rb, testOLETYPE.rb</div><div class='del'>-	  testOLETYPELIB.rb.</div><div class='del'>-</div><div class='del'>-	* testall.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* add test/win32ole</div><div class='del'>-</div><div class='del'>-Fri Mar 31 14:24:55 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index): removed suspicious return</div><div class='del'>-	  statement.</div><div class='del'>-</div><div class='del'>-Wed Mar 29 23:06:48 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): change the behavior of</div><div class='del'>-	  WIN32OLE#[], WIN32OLE#[]=. These methods invoke DISPID_VALUE.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/sample/excel2.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 29 10:11:31 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_each_char_to_hex, encode_fallback_subchar,</div><div class='del'>-	  e2w_conv): support C90 compiler.</div><div class='del'>-</div><div class='del'>-Mon Mar 27 22:45:37 2006  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/{nkf.c, utf8tbl.c}: imported nkf 2.0.6.</div><div class='del'>-	  * Add --ic / --oc option and mapping tables.</div><div class='del'>-	  * Add fallback option.</div><div class='del'>-	  * Add --no-best-fit-chars option.</div><div class='del'>-	  * Fix some bugs.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (nkf_split_options): added for parse option string.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv.to*): add -m0.</div><div class='del'>-	  Note that Kconv.to* still imply -X.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/test.rb: Removed.  Obsolete by test/nkf.</div><div class='del'>-</div><div class='del'>-	* ext/.document: enabled documents in nkf and kconv</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c, ext/nkf/lib/kconv.rb: Add rdoc.</div><div class='del'>-</div><div class='del'>-Mon Mar 27 03:17:21 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): insecure calling should be checked for non</div><div class='del'>-	  NODE_SCOPE method invocations too.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_alias): should preserve the current safe level as</div><div class='del'>-	  well as method definition.</div><div class='del'>-</div><div class='del'>-Sun Mar 26 22:02:51 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: refactoring for options.</div><div class='del'>-</div><div class='del'>-	* parse.y: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 24 21:11:02 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): RDoc description updated.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 24 17:20:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_sleep): remove RDoc description about SIGALRM</div><div class='del'>-	  which is not valid on the current implementation. [ruby-dev:28464]</div><div class='del'>-</div><div class='del'>-Thu Mar 23 21:40:47 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): prohibit \1, \2 ...\9 in replaced string</div><div class='del'>-	  for named regex pattern.</div><div class='del'>-</div><div class='del'>-Thu Mar 23 21:06:23 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.0.2</div><div class='del'>-</div><div class='del'>-	* regparse.c: ditto.</div><div class='del'>-</div><div class='del'>-	* regcomp.c ditto.</div><div class='del'>-</div><div class='del'>-	* regerror.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 23 10:47:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (method_missing): should support argument splat in</div><div class='del'>-	  super.  a bug in combination of super, splat and</div><div class='del'>-	  method_missing.  [ruby-talk:185438]</div><div class='del'>-</div><div class='del'>-Thu Mar 23 00:01:32 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regsub): add back reference by name \k&lt;name&gt; in</div><div class='del'>-	  replace string.</div><div class='del'>-</div><div class='del'>-	* re.h: add regexp argument to rb_reg_regsub().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 21 22:14:01 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_alloc): initialize member regexp.</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): add String and Symbol argument. [ruby-dev:28448]</div><div class='del'>-</div><div class='del'>-	* re.h: add member regexp to RMatch.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): add gc_mark() to regexp member.</div><div class='del'>-</div><div class='del'>-Mon Mar 20 12:05:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Solaris SunPro compiler -rapth patch from</div><div class='del'>-	  &lt;kuwa at labs.fujitsu.com&gt;.  [ruby-dev:28443]</div><div class='del'>-</div><div class='del'>-Mon Mar 20 11:12:38 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folevariant_value): could not compile</div><div class='del'>-	  with C90 compiler.</div><div class='del'>-</div><div class='del'>-Mon Mar 20 09:40:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove enable_rpath=no for Solaris.</div><div class='del'>-	  [ruby-dev:28440]</div><div class='del'>-</div><div class='del'>-Sun Mar 19 09:46:30 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2olevariantdata): change behavior</div><div class='del'>-	  of converting	 OLE Variant object with VT_ARRAY|VT_UI1 and Ruby</div><div class='del'>-	  String object.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folevariant_value): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEVARIANT.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 15 16:51:11 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): support libraries without *.so.</div><div class='del'>-</div><div class='del'>-Wed Mar 15 16:39:29 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: should use</div><div class='del'>-	  "rb_str_new(0, 0)" to make empty string.</div><div class='del'>-</div><div class='del'>-Sun Mar 12 17:02:10 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(ole_val2olevariantdata): support VT_ARRAY in</div><div class='del'>-	  WIN32OLE_VARIANT.new().</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEVARIANT.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEPARAM.rb: test method name should not be</div><div class='del'>-	  duplicated.</div><div class='del'>-</div><div class='del'>-Sat Mar 11 14:24:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.1: a clarification patch from David Lutterkort</div><div class='del'>-	  &lt;dlutter at redhat.com&gt;.  [ruby-core:7508]</div><div class='del'>-</div><div class='del'>-Sun Mar  5 18:40:58 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: do not repeat command options.</div><div class='del'>-</div><div class='del'>-Sun Mar  5 18:35:03 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (send_request_with_body): #content_type never</div><div class='del'>-	  return false, use #main_type instead. [ruby-core:07476]</div><div class='del'>-</div><div class='del'>-Sat Mar  4 15:26:40 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): fix symbol test.</div><div class='del'>-</div><div class='del'>-Sat Mar  4 01:08:07 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_paths.rb (RI::Paths): adding paths from rubygems</div><div class='del'>-	  directories.	a patch from Eric Hodel &lt;drbrain at segment7.net&gt;.</div><div class='del'>-	  [ruby-core:07423]</div><div class='del'>-</div><div class='del'>-Fri Mar  3 17:59:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_clear_cache_by_class): clearing wrong cache.</div><div class='del'>-</div><div class='del'>-Fri Mar  3 21:22:42 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils.cp_r): implement :remove_destination</div><div class='del'>-	  option.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: use :remove_destination to install extension libraries</div><div class='del'>-	  to avoid SEGV.  [ruby-dev:28417]</div><div class='del'>-</div><div class='del'>-Fri Mar  3 14:41:04 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/.cvsignore: ignore callback.h.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/.cvsignore: ignore eventids2table.c.</div><div class='del'>-</div><div class='del'>-	* ext/socket/.cvsignore: ignore constants.h.</div><div class='del'>-</div><div class='del'>-Thu Mar  2 18:58:18 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_fd_writable): should not re-schedule output</div><div class='del'>-	  from KILLED thread (must be error printing).</div><div class='del'>-</div><div class='del'>-Thu Mar  2 09:12:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_flatten_bang): allow specifying recursion</div><div class='del'>-	  level.  [ruby-talk:182170]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_flatten): ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar  2 08:02:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (add_heap): a heap_slots may overflow.  a patch from Stefan</div><div class='del'>-	  Weil &lt;weil at mail.berlios.de&gt;.</div><div class='del'>-</div><div class='del'>-Wed Mar  1 17:13:37 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): use separate cache for fcall/vcall</div><div class='del'>-	  invocation.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): NODE_FCALL, NODE_VCALL can call local</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_local): a new method to specify newly added</div><div class='del'>-	  visibility "local".</div><div class='del'>-</div><div class='del'>-	* eval.c (search_method): search for local methods which are</div><div class='del'>-	  visible only from the current class.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_local_methods): a method to list local methods.</div><div class='del'>-</div><div class='del'>-Thu Mar  2 17:54:45 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: committed magic for reducing RVALUE size on windows. (24-&gt;20byte)</div><div class='del'>-	  [ruby-core:7474]</div><div class='del'>-</div><div class='del'>-Thu Mar  2 14:12:26 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: align VALUE with sizeof(RVALUE) globally.</div><div class='del'>-	  (is_pointer_to_heap): check alignment out of loop.</div><div class='del'>-	  (id2ref): avoid collision between symbols and objects.</div><div class='del'>-	  (rb_obj_id): ditto.  moved from object.c.</div><div class='del'>-	  [ruby-talk:178364] [ruby-core:7305]</div><div class='del'>-</div><div class='del'>-Thu Mar  2 12:55:16 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (filetime_to_unixtime): should set tm_isdst to -1.</div><div class='del'>-	  stat() didn't treat daylight saving time property on WinNT.</div><div class='del'>-	  [ruby-talk:182100]</div><div class='del'>-</div><div class='del'>-Wed Mar  1 00:15:51 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (read_escape): could not handle /\^/.</div><div class='del'>-	  merged Mr. Ishizuka's lib/irb/ruby-lex.rb 's patch rev 1.29.</div><div class='del'>-	  [ruby-talk:181631] [ruby-dev:28404]</div><div class='del'>-</div><div class='del'>-Tue Feb 28 19:32:14 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): add BasicObject class as a top level</div><div class='del'>-	  BlankSlate class.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 00:19:16 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (SYM2ID): should not cast to signed long.</div><div class='del'>-	  [ruby-core:07414]</div><div class='del'>-</div><div class='del'>-Fri Feb 24 20:21:38 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (add_service_command): quote pathnames in the</div><div class='del'>-	  server's command line for space contained directory names.</div><div class='del'>-	  Thanks, arton. [ruby-dev:28386]</div><div class='del'>-</div><div class='del'>-Fri Feb 24 12:10:07 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: install *.exe.manifest and *.dll.manifest if exist.</div><div class='del'>-	  It's for VC++8.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 11:17:45 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NtInitialize): need to set a handler for VC++8.</div><div class='del'>-</div><div class='del'>-Thu Feb 23 22:39:59 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: use borlndmm.dll if possible. bcc32's RTL internal</div><div class='del'>-	  memory manager cannot handle large memory block properly.</div><div class='del'>-	  ex: 10000.times { "" &lt;&lt; "." * 529671; GC.start } # crash</div><div class='del'>-	  [ruby-dev:28230]</div><div class='del'>-</div><div class='del'>-Thu Feb 23 13:23:03 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (SETUP_ARGS0): fixed memory corruption. [ruby-dev:28360]</div><div class='del'>-</div><div class='del'>-Wed Feb 22 21:16:55 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#each_filename): use split_names properly.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 16:24:05 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb: should support platforms which search</div><div class='del'>-	  library path from the interpreter's path.</div><div class='del'>-	  And, support test without install incidentally.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 14:21:03 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignorm): x may not be a bignum.  [ruby-dev:28367]</div><div class='del'>-</div><div class='del'>-Wed Feb 22 09:22:40 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_alloc): add proper check for creation of a lambda</div><div class='del'>-	  without a block.</div><div class='del'>-</div><div class='del'>-Tue Feb 21 02:07:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arglist): should set command_start = Qtrue for</div><div class='del'>-	  command body.  [ruby-talk:180648]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 22:30:17 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: alias Config to RbConfig for compatibility.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 18:21:41 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): flush before reopening a file.</div><div class='del'>-	  reported by Mathieu Bouchard.  [ruby-core:7396]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 17:29:50 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: generate RbConfig instead of Config.</div><div class='del'>-</div><div class='del'>-	* instruby.rb, rubytest.rb, runruby.rb, bcc32/Makefile.sub,</div><div class='del'>-	  ext/extmk.rb, ext/dl/extconf.rb, ext/iconv/charset_alias.rb,</div><div class='del'>-	  lib/mkmf.rb, lib/rdoc/ri/ri_paths.rb,</div><div class='del'>-	  lib/webrick/httpservlet/cgihandler.rb,</div><div class='del'>-	  test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb,</div><div class='del'>-	  test/ruby/envutil.rb, test/soap/calc/test_calc_cgi.rb,</div><div class='del'>-	  test/soap/header/test_authheader_cgi.rb, test/soap/ssl/test_ssl.rb,</div><div class='del'>-	  win32/mkexports.rb, win32/resource.rb: Use RbConfig instead of</div><div class='del'>-	  Config.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 13:46:19 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb: should raise ENOENT if root entry does not exist,</div><div class='del'>-	  without opening it. [ruby-dev:28345]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 12:27:53 2006  Kent Sibilev  &lt;ksruby@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb (Integer::gcd): small typo fix.</div><div class='del'>-	  [ruby-core:07395]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 10:03:59 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): Object should have been the lowest</div><div class='del'>-	  in const lookup precedence.  [ruby-dev:28343]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 09:17:11 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator): should not delegate "funcall".</div><div class='del'>-</div><div class='del'>-Mon Feb 20 09:13:42 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler):</div><div class='del'>-	  qualify the access for Config constant.  [ruby-dev:28338]</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Resource::IN::A): qualify</div><div class='del'>-	  ClassValue.  [ruby-dev:28338]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 01:05:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb (Integer::gcd): replaced by gcd4 in</div><div class='del'>-	  [ruby-core:07390].  [ruby-core:07377]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 00:57:02 2006  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h (OSSL_Debug): should not use __func__.</div><div class='del'>-	  [ruby-dev:28339]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 00:13:49 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: add :ssl_verify_mode option.</div><div class='del'>-	  suggested by Will Glynn.</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: add :ssl_ca_cert option.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 04:46:29 2006  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: initial value for block_unique must be 1.</div><div class='del'>-	  [ruby-talk:180420]</div><div class='del'>-</div><div class='del'>-Sat Feb 18 23:58:26 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb (Tracer::Tracer.add_filter): turn on tracer mode</div><div class='del'>-	  only when caller() level size is one.  [ruby-core:07389]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: need not to require "tracer".</div><div class='del'>-	  [ruby-core:07389]</div><div class='del'>-</div><div class='del'>-	* sample/rtags.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 21:16:27 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_eval): RDoc description updated.  a</div><div class='del'>-	  patch from Ozgur Murat Homurlu &lt;ozgurmurath at gmail.com&gt;.</div><div class='del'>-	  [ruby-core:07381]</div><div class='del'>-</div><div class='del'>-Sat Feb 18 01:01:17 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): skip ruby_wrapper in const search</div><div class='del'>-	  to give it lower priority (just above Object).  need not to</div><div class='del'>-	  change rb_const_defined_0() since it's only a precedence matter;</div><div class='del'>-	  they are defined anyway.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 00:22:39 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: merged a minor clarification patch from Daniel</div><div class='del'>-	  Berger &lt;Daniel.Berger at qwest.com&gt;.  [ruby-core:07376]</div><div class='del'>-</div><div class='del'>-Fri Feb 17 17:30:20 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ev_const_get): simplified using rb_const_get_fallback().</div><div class='del'>-</div><div class='del'>-	* eval.c (ev_const_defined): adopt to ev_const_get() using</div><div class='del'>-	  rb_const_defined_fallback().</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_fallback): new function to implement</div><div class='del'>-	  constant search.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_fallback): new function to</div><div class='del'>-	  implement constant definition check.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): adopt to new behavior.  constants</div><div class='del'>-	  are looked up in the order of: current class, super classes (but</div><div class='del'>-	  Object), lexically external classes/modules, and Object.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_0): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 11:20:53 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): Float("1e") should fail. [ruby-core:7330]</div><div class='del'>-</div><div class='del'>-	* pack.c (EXTEND32): unpack("l") did not work where sizeof(long) != 4.</div><div class='del'>-	  [ruby-talk:180024]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): fixed integer overflow on template "w".</div><div class='del'>-	  [ruby-talk:180126]</div><div class='del'>-</div><div class='del'>-Fri Feb 17 09:39:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_wait_for): sleep should always sleep for</div><div class='del'>-	  specified amount of time.  [ruby-talk:180067]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 16:52:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): NODE_OP_ASGN1 should allow splat in its</div><div class='del'>-	  argument list.  [ruby-core:07366]</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): avoid unnecessary extra argument.</div><div class='del'>-	  [ruby-core:07366]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): honor visibility on OP_ASGN1 and</div><div class='del'>-	  OP_ASGN2. [ruby-core:07366]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 15:20:23 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_line): remove void control path.  [ruby-dev:28335]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 10:09:51 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (yield_under_i): should not pass self as an argument to</div><div class='del'>-	  the block for instance_eval.  [ruby-core:07364]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 09:20:35 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_eval): should be no singleton classes for</div><div class='del'>-	  true, false, and nil.  [ruby-dev:28186]</div><div class='del'>-</div><div class='del'>-Tue Feb 14 20:26:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_each): return self if no block is</div><div class='del'>-	  given.  [yarv-dev:882]</div><div class='del'>-</div><div class='del'>-Tue Feb 14 18:48:33 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (DMETHOD_P): accessing wrong frame.  [ruby-dev:28181]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): preserve FRAME_DMETH flag.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 15:15:22 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: suppress warning on test/zlib. [ruby-dev:28323]</div><div class='del'>-</div><div class='del'>-Tue Feb 14 13:47:22 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_utime): drop read-only attribute before</div><div class='del'>-	  changing file time.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 13:38:01 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): should define HAVE_LONG_LONG with</div><div class='del'>-	  VC++8.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 11:42:38 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (search_time_t): support non 32bit time_t environments.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): VC++8 has ``long long'' type.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): VC++8's time_t is 64bit value.</div><div class='del'>-</div><div class='del'>-Mon Feb 13 18:01:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (copy_node_scope): remove duplicated semicolons at end.</div><div class='del'>-	  a patch from KIMURA Koichi &lt;kimura.koichi at canon.co.jp&gt;.</div><div class='del'>-	  [ruby-dev:28332]</div><div class='del'>-</div><div class='del'>-	* eval.c (VIS_MODE): remove unnecessary argument.</div><div class='del'>-	  [ruby-dev:28332]</div><div class='del'>-</div><div class='del'>-Mon Feb 13 13:49:48 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_parse_string): mention "regexp" in a error</div><div class='del'>-	  message.  a patch from Mauricio Fernandez &lt;mfp at acm.org&gt;</div><div class='del'>-	  [ruby-core:07340]</div><div class='del'>-</div><div class='del'>-Mon Feb 13 00:01:32 2006  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: Version 4.0.1</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_free_shared_cclass_table): fix memory leaks.</div><div class='del'>-</div><div class='del'>-	* regcomp.c (optimize_node_left): change from IS_POSIXLINE() to IS_MULTILINE().</div><div class='del'>-</div><div class='del'>-	* regint.h: rename ANCHOR_ANYCHAR_STAR_PL to ANCHOR_ANYCHAR_STAR_ML.</div><div class='del'>-</div><div class='del'>-	* regparse.h: ditto.</div><div class='del'>-</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 11 21:57:29 2006  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE.create_guid.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 11 01:57:44 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_autoload): check if ruby_cbase is nil (during</div><div class='del'>-	  instance_eval for objects cannot have singleton classes,</div><div class='del'>-	  e.g. fixnums and symbols).  [ruby-dev:28178]</div><div class='del'>-</div><div class='del'>-Fri Feb 10 12:31:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): should support NODE_ZSUPER in NODE_ITER.</div><div class='del'>-	  [ruby-dev:28326]</div><div class='del'>-</div><div class='del'>-	* eval.c (ZSUPER_ARGS): support macro.</div><div class='del'>-</div><div class='del'>-Wed Feb  8 10:26:06 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): turn on during_gc while</div><div class='del'>-	  invoking finalizers.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_finalize_deferred): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  7 23:03:13 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: should not access ruby objects in finalizer.</div><div class='del'>-	  [ruby-dev:28286]</div><div class='del'>-</div><div class='del'>-Tue Feb  7 18:42:00 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_write_error2): use fwrite(3) if rb_stderr is not</div><div class='del'>-	  updated or is already freed.  [ruby-dev:28313]</div><div class='del'>-</div><div class='del'>-Mon Feb  6 16:02:51 2006  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.</div><div class='del'>-	  In such situation, flock() should return 0.</div><div class='del'>-</div><div class='del'>-Mon Feb  6 14:36:29 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_line): include the class name of a surrounding</div><div class='del'>-	  method in error position description.</div><div class='del'>-</div><div class='del'>-Mon Feb  6 00:14:57 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_find_index): a new method Enumerable#find_index.</div><div class='del'>-	  [ruby-talk:178495]</div><div class='del'>-</div><div class='del'>-Sun Feb  5 23:29:31 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (struct RStruct): embed 3 or less elements structs.</div><div class='del'>-	  (RSTRUCT_LEN): defined for accessing struct members.</div><div class='del'>-	  (RSTRUCT_PTR): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c: use RSTRUCT_LEN and RSTRUCT_PTR.</div><div class='del'>-	  (struct_alloc): allocate small structs in embedded format.</div><div class='del'>-	  (rb_struct_init_copy): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): use RSTRUCT_LEN and RSTRUCT_PTR.</div><div class='del'>-	  (obj_free): ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): use RSTRUCT_LEN and RSTRUCT_PTR.</div><div class='del'>-</div><div class='del'>-Sun Feb  5 21:01:49 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_to_s): removed workaround for radix 2. Historically,</div><div class='del'>-	  rb_fix2str could only handle radix 8, 10, 16. (Rev1.37) But for now,</div><div class='del'>-	  it can handle radix 2..36. [ruby-Bugs#3438] [ruby-core:7300]</div><div class='del'>-</div><div class='del'>-Sun Feb  5 18:49:00 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (add_field, get_fields): keep 1.8.2</div><div class='del'>-	  compatibility.  This patch is contributed by Rob Pitt.</div><div class='del'>-</div><div class='del'>-Sun Feb  5 16:33:50 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): Kernel#sub! was removed on HEAD.</div><div class='del'>-</div><div class='del'>-Sun Feb  5 14:26:54 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: should return default value if name is not found.</div><div class='del'>-	  [ruby-core:7304]</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: should raise PStore::Error if not in transaction.</div><div class='del'>-</div><div class='del'>-Sat Feb  4 22:51:43 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: apply the FreeBSD getcontext/setcontext workaround</div><div class='del'>-	  only before FreeBSD 7-CURRENT.</div><div class='del'>-</div><div class='del'>-Sat Feb  4 21:10:06 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (LK_ERR): ERROR_NOT_LOCKED is not an error.</div><div class='del'>-	  In such situation, flock() should return 0.</div><div class='del'>-</div><div class='del'>-Sat Feb  4 15:52:56 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where</div><div class='del'>-	  sizeof(int) == 4 &lt; sizeof(long). [ruby-core:7300]</div><div class='del'>-</div><div class='del'>-Sat Feb  4 15:02:05 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: merge Oniguruma 4.0.0  [ruby-dev:28290]</div><div class='del'>-</div><div class='del'>-Fri Feb  3 19:25:53 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: fixed prototype.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: defined symbol ID as global variable as others.</div><div class='del'>-</div><div class='del'>-Fri Feb  3 17:57:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: unify ruby_class (for method definition) and ruby_cbase</div><div class='del'>-	  (for constant reference).</div><div class='del'>-</div><div class='del'>-Fri Feb  3 15:02:10 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c (syck_move_tokens): should reset p-&gt;cursor or etc</div><div class='del'>-	  even if skip == 0. This causes buffer overrun.</div><div class='del'>-	  (ex: YAML.load('--- "..' + '\x82\xA0' * 511 + '"'))</div><div class='del'>-</div><div class='del'>-Fri Feb  3 00:01:31 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emitter_write): should not set '\0' on</div><div class='del'>-	  emitter's marker. if marker points to the end of buffer, this is</div><div class='del'>-	  buffer overrun. (ex: YAML.dump("." * 12288))</div><div class='del'>-</div><div class='del'>-Thu Feb  2 17:13:01 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser#get_tk): added</div><div class='del'>-	  support of :'string' style Symbol.</div><div class='del'>-</div><div class='del'>-Thu Feb  2 16:01:24 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): use TMP_ALLOC() instead of allocating</div><div class='del'>-	  a temporary array object.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): need not to protect $SAFE value.</div><div class='del'>-	  [ruby-core:07177]</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): change NameError to direct subclass of</div><div class='del'>-	  Exception so that default rescue do not handle it silently.</div><div class='del'>-</div><div class='del'>-Thu Feb  2 14:45:53 2006  Ville Mattila  &lt;ville.mattila@stonesoft.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: The isinf is not recognized by autoconf</div><div class='del'>-	  library guesser on solaris 10. [ruby-core:7138]</div><div class='del'>-</div><div class='del'>-Wed Feb  1 22:01:47 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, hash.c (ruby_setenv): use setenv(3) and unsetenv(3)</div><div class='del'>-	  where they are supported. modifying environ variable seems to</div><div class='del'>-	  segfault solaris 10. [ruby-core:7276] [ruby-dev:28270]</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): if use setenv(3), environ space cannot be used</div><div class='del'>-	  for altering argv[0].</div><div class='del'>-</div><div class='del'>-Tue Jan 31 14:46:28 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_select): update RDoc description.</div><div class='del'>-	  [ruby-core:7254]</div><div class='del'>-</div><div class='del'>-Tue Jan 31 11:58:51 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add MultiTkIp#eval and bg_eval.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: TkNamespace#eval was enbugged at the</div><div class='del'>-	  last commit. Now it will return a proper object.</div><div class='del'>-</div><div class='del'>-Tue Jan 31 08:07:02 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_upto): return an enumerator if no block is</div><div class='del'>-	  attached to the method.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_downto): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_dotimes): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_first): new method Enumerable#first to take first n</div><div class='del'>-	  elements from an enumerable.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_group_by): new method Enumerable#group_by that</div><div class='del'>-	  groups enumerable values according to their block values.</div><div class='del'>-</div><div class='del'>-Tue Jan 31 00:08:22 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV.</div><div class='del'>-	  ex: ruby -ryaml -e 'YAML.load("!map:B {}")' [ruby-core:7217]</div><div class='del'>-</div><div class='del'>-Sat Jan 28 07:49:30 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb: support "a:0:33" style caller[-1]. In this case</div><div class='del'>-	  file name is "a:0". I don't know this really happens though...</div><div class='del'>-	  [ruby-Bugs:3344]</div><div class='del'>-</div><div class='del'>-Thu Jan 26 15:55:52 2006  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: turn on do_not_reverse_lookup by default.</div><div class='del'>-</div><div class='del'>-Wed Jan 25 22:29:04 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use</div><div class='del'>-	  system routine if provided.  fixed: [ruby-core:07195]</div><div class='del'>-</div><div class='del'>-Sun Jan 22 23:27:13 2006  Go Noguchi  &lt;gonoguti@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (process_args): ignore arguments after</div><div class='del'>-	  '--' so that test scripts can handle them.  fixed: [ruby-dev:28258]</div><div class='del'>-</div><div class='del'>-Sun Jan 22 22:09:52 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (POST_GETCONTEXT): define separately from PRE_GETCONTEXT on</div><div class='del'>-	  IA64 to avoid reusing variable address.</div><div class='del'>-</div><div class='del'>-Sun Jan 22 20:03:35 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_setjmp): define PRE_GETCONTEXT and POST_GETCONTEXT</div><div class='del'>-	  instead of FUNCTION_CALL_MAY_RETURN_TWICE.</div><div class='del'>-	  define PRE_GETCONTEXT to clear carry flag for workaround of</div><div class='del'>-	  FreeBSD/i386 getcontext/setcontext bug.</div><div class='del'>-	  [ruby-dev:28263]</div><div class='del'>-</div><div class='del'>-Thu Jan 19 22:19:18 2006  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mv): should remove file after copying.</div><div class='del'>-	  [ruby-dev:28223]</div><div class='del'>-</div><div class='del'>-Wed Jan 18 23:37:06 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): don't clobber %l7 of SPARC</div><div class='del'>-	  if enable-shared.</div><div class='del'>-	  (ruby_setjmp): call FUNCTION_CALL_MAY_RETURN_TWICE after getcontext</div><div class='del'>-	  too.</div><div class='del'>-	  reported by Pav Lucistnik and Marius Strobl.</div><div class='del'>-	  http://lists.freebsd.org/pipermail/freebsd-sparc64/2006-January/003739.html</div><div class='del'>-</div><div class='del'>-Tue Jan 17 23:59:56 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get, rb_mod_const_defined): added optional</div><div class='del'>-	  flag to search ancestors, which is defaulted to true.</div><div class='del'>-	  fixed: [ruby-talk:175899]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_method_defined): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 17 11:31:47 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (MAKE): workaround for nmake 8.</div><div class='del'>-</div><div class='del'>-Tue Jan 17 11:06:19 2006  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: invoke .bat via shell. workaround for nmake 8.</div><div class='del'>-</div><div class='del'>-Mon Jan 16 10:13:38 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emit_seq, syck_emit_map, syck_emit_item):</div><div class='del'>-	  should output complex key mark even if map's key is empty seq/map.</div><div class='del'>-	  [ruby-core:7129]</div><div class='del'>-</div><div class='del'>-Sat Jan 14 03:38:54 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_chmod): avoid warning where sizeof(int) !=</div><div class='del'>-	  sizeof(void*).</div><div class='del'>-</div><div class='del'>-Fri Jan 13 19:26:15 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb:</div><div class='del'>-	    - properly quote bare element attributes</div><div class='del'>-	    - terminates dangling elements (e.g. &lt;img&gt;, &lt;br&gt;, &lt;link&gt;, etc)</div><div class='del'>-	    - converts "CVS" to the more HTML-friendly acronym element</div><div class='del'>-	    - adds missing type attributes to style elements</div><div class='del'>-</div><div class='del'>-	  based on Paul Duncan's patch &lt;pabs@pablotron.org&gt; [ruby-core:7028]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: ditto.</div><div class='del'>-	* lib/rdoc/generators/template/html/hefss.rb: ditto.</div><div class='del'>-	* lib/rdoc/generators/template/html/html.rb: ditto.</div><div class='del'>-	* lib/rdoc/generators/template/html/kilmer.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan 12 11:53:08 2006  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkballoonhelp.rb: [bug fix] couldn't add to a widget</div><div class='del'>-	  which is constructed with TkComposite module.</div><div class='del'>-	  [new feature] support 'command' option which is called just before</div><div class='del'>-	  popping up the balloon help.</div><div class='del'>-</div><div class='del'>-Wed Jan 11 00:12:29 2006  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler): add instance variable @insert_cmd to</div><div class='del'>-	  change &lt;%='s behavior.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 19:42:33 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): mark ruby_current_node.</div><div class='del'>-	  if an exception is raised in a finalizer written in C called by</div><div class='del'>-	  rb_gc_call_finalizer_at_exit, ruby_set_current_source may use</div><div class='del'>-	  collected ruby_current_node and mark_source_filename may corrupt</div><div class='del'>-	  memory.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 13:30:34 2006  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_resolver_transfer): should be able to load</div><div class='del'>-	  !ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159]</div><div class='del'>-</div><div class='del'>-Tue Jan 10 12:47:41 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in</div><div class='del'>-	  ruby 1.8.3/1.8.4. [ruby-core:6115]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (Numeric): Subclass of Numeric could not</div><div class='del'>-	  be dumped properly. [ruby-core:7047]</div><div class='del'>-</div><div class='del'>-Tue Jan 10 12:00:48 2006  Aaron Schrab  &lt;aaron @nospam@ schrab.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted</div><div class='del'>-	  Symbols broken. [ruby-Bugs:2535]</div><div class='del'>-</div><div class='del'>-Tue Jan 10 07:26:52 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stress): renamed from always_gc and enabled by default.</div><div class='del'>-	  (gc_stress_get): new function for GC.stress.</div><div class='del'>-	  (gc_stress_set): new function for GC.stress=.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 19:58:56 2006  arton  &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by</div><div class='del'>-	  http://www.zlib.net/ has zdll.lib. [ruby-dev:28209]</div><div class='del'>-</div><div class='del'>-Mon Jan  9 14:25:00 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,</div><div class='del'>-	  (VisualC++6) so use -O2b2xg- if  $(MSC_VER) &lt; 1400. [ruby-core:7040]</div><div class='del'>-</div><div class='del'>-Mon Jan  9 14:25:00 2006  Kero van Gelder  &lt;rubyforge @nospam@ kero.tmfweb.nl&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb: fixed typo. [ruby-core:7075]</div><div class='del'>-</div><div class='del'>-Sun Jan  8 14:15:27 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (GCC_VERSION_BEFORE): check __INTEL_COMPILER.</div><div class='del'>-	  Intel C++ Compiler defines __GNUC__.</div><div class='del'>-	  http://www.intel.com/software/products/compilers/clin/docs/ug_cpp/lin1077.htm</div><div class='del'>-</div><div class='del'>-Sat Jan  7 15:40:07 2006  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (singleton): get rid of segfault on syntax error.</div><div class='del'>-	  fixed: [ruby-core:07070]</div><div class='del'>-</div><div class='del'>-Sat Jan  7 06:24:18 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_fd_isset): compare the result of FD_ISSET with 0 to</div><div class='del'>-	  avoid FreeBSD bug.  FreeBSD defines FD_ISSET as just a bitmap of</div><div class='del'>-	  unsigned long.  So returning the value from rb_fd_isset discards</div><div class='del'>-	  upper 32bits on LP64 environment.</div><div class='del'>-	  http://www.freebsd.org/cgi/query-pr.cgi?pr=ia64/91421</div><div class='del'>-</div><div class='del'>-Fri Jan  6 02:20:18 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't force getcontext on IA64.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_setjmp): add an argument for just before getcontext.</div><div class='del'>-	  (THREAD_SAVE_CONTEXT): call rb_thread_save_context just</div><div class='del'>-	  before getcontext.</div><div class='del'>-	  [ruby-dev:28205]</div><div class='del'>-</div><div class='del'>-Sun Jan  1 15:28:46 2006  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing.h (isinf): avoid macro expansion</div><div class='del'>-	  "extern int isinf(double);" to</div><div class='del'>-	  "extern int ((sizeof(double)==sizeof(float))?_Isinff(double):_Isinf(double));" on</div><div class='del'>-	  HP-UX.</div><div class='del'>-</div><div class='del'>-Sun Jan  1 14:42:54 2006  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_seekdir): should not segfault even if passed</div><div class='del'>-	  the location which rb_w32_telldir didn't return. (and should change</div><div class='del'>-	  `bits' position) [ruby-core:7035]</div><div class='del'>-</div><div class='del'>-	* win32/dir.h: ditto. (stores `loc' instead of `bitpos')</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: added.</div><div class='del'>-</div><div class='del'>-Sat Dec 31 22:57:00 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_save_context): should not recycle scope object used</div><div class='del'>-	  in a thread.  fixed: [ruby-dev:28177]</div><div class='del'>-</div><div class='del'>-Sat Dec 31 19:50:38 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: attribute name was truncated with Rev1.64.</div><div class='del'>-</div><div class='del'>-Sat Dec 31 11:53:16 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: (Generator#initialize): should kill @loop_thread</div><div class='del'>-	  before starting new thread. (occurs when called via Generator#rewind)</div><div class='del'>-	  [ruby-dev:28184]</div><div class='del'>-</div><div class='del'>-Fri Dec 30 18:22:42 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): mark objects referred from aborting threads.</div><div class='del'>-	  [ruby-dev:28190]</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: VC++8 support.</div><div class='del'>-</div><div class='del'>-Fri Dec 30 15:17:35 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb (Generator#initialize): ensured to stop @loop_thread.</div><div class='del'>-	  Mr. Tanaka pointed out one Thread.pass is not enough. [ruby-dev:28185]</div><div class='del'>-</div><div class='del'>-Fri Dec 30 12:20:57 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb (Generator#initialize): fixed dead lock. this occurred</div><div class='del'>-	  when end? was called before @loop_thread was stopped. [ruby-core:7029]</div><div class='del'>-</div><div class='del'>-Fri Dec 30 01:04:52 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: should work with another thread. (more robust code)</div><div class='del'>-	  [ruby-dev:28177]</div><div class='del'>-</div><div class='del'>-Thu Dec 29 23:59:37 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_gc_mark_threads): keep unmarked threads which won't wake</div><div class='del'>-	  up alone, and mark threads in the loading table.  [ruby-dev:28154]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked</div><div class='del'>-	  threads.  [ruby-dev:28172]</div><div class='del'>-</div><div class='del'>-Thu Dec 29 17:02:07 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of</div><div class='del'>-	  "miniruby".  [ruby-dev:28140]</div><div class='del'>-</div><div class='del'>-Thu Dec 29 14:35:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_define_method): should save safe_level in the</div><div class='del'>-	  proc object.  [ruby-dev:28146]</div><div class='del'>-</div><div class='del'>-Thu Dec 29 11:22:34 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: reimplemented Generator class with Thread instead of</div><div class='del'>-	  callcc, in order to fix memory leak. [ruby-dev:28142]</div><div class='del'>-</div><div class='del'>-Wed Dec 28 14:10:05 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ia64.s: remove .pred.safe_across_calls directive.</div><div class='del'>-	  reported by WATANABE Tetsuya.  [ruby-dev:28141]</div><div class='del'>-</div><div class='del'>-Wed Dec 28 01:32:39 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (struct thread): add bstr_max.</div><div class='del'>-	  (rb_thread_save_context): use realloc instead of REALLOC_N</div><div class='del'>-	  to avoid GC.</div><div class='del'>-</div><div class='del'>-Tue Dec 27 23:59:53 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (CompletingHash#match): fix for 1.9.</div><div class='del'>-</div><div class='del'>-Tue Dec 27 16:59:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (DRbService::self.ext_service): increase</div><div class='del'>-	  timeout limit.  a patch from Kazuhiro NISHIYAMA</div><div class='del'>-	  &lt;zn at mbf.nifty.com&gt;. [ruby-dev:28132]</div><div class='del'>-</div><div class='del'>-Tue Dec 27 14:17:55 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: define IA64 for portability.  (HP aC++/ANSI C doesn't</div><div class='del'>-	  define __ia64__.)</div><div class='del'>-	  don't check libunwind stuff.</div><div class='del'>-	  check __libc_ia64_register_backing_store_base.</div><div class='del'>-</div><div class='del'>-	* defines.h: declare rb_ia64_bsp and rb_ia64_flushrs.</div><div class='del'>-	  (flush_register_windows): call rb_ia64_flushrs on IA64.</div><div class='del'>-</div><div class='del'>-	* ia64.s: new file for IA64.</div><div class='del'>-	  it is separated from C program files because</div><div class='del'>-	  Intel C++ Compiler for IA64 doesn't support inline assembly.</div><div class='del'>-</div><div class='del'>-	* common.mk (ia64.$(OBJEXT)): new target.</div><div class='del'>-</div><div class='del'>-	* ruby.h (RUBY_INIT_STACK): defined.</div><div class='del'>-	  (ruby_init_stack): declared for RUBY_INIT_STACK.</div><div class='del'>-</div><div class='del'>-	* main.c (main): precedes RUBY_INIT_STACK before ruby_init.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_register_stack_start): new global variable on IA64.</div><div class='del'>-	  (garbage_collect): simplify register stack marking code.</div><div class='del'>-	  don't use libunwind.</div><div class='del'>-	  (Init_stack): initialize rb_gc_register_stack_start.</div><div class='del'>-	  (ruby_init_stack): new function for RUBY_INIT_STACK.</div><div class='del'>-</div><div class='del'>-	* eval.c (struct thread): add bstr_pos member for original position of</div><div class='del'>-	  register stack.</div><div class='del'>-	  (rb_thread_save_context): simplify register stack saving code.</div><div class='del'>-	  don't use libunwind.</div><div class='del'>-	  (rb_thread_restore_context_0): new function.  moved from</div><div class='del'>-	  rb_thread_restore_context except the stack position checking code.</div><div class='del'>-	  don't use libunwind for IA64 register stack.</div><div class='del'>-	  (register_stack_extend): new function.</div><div class='del'>-	  (stack_extend): make it self-recursive with</div><div class='del'>-	  the stack position checking code in old rb_thread_restore_context.</div><div class='del'>-	  (rb_thread_restore_context): just call stack_extend.</div><div class='del'>-	  (flush_register_windows): removed.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:28127]</div><div class='del'>-</div><div class='del'>-Tue Dec 27 14:09:39 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: new method Process.exec. [ruby-dev:28107]</div><div class='del'>-</div><div class='del'>-Tue Dec 27 08:22:15 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_check):</div><div class='del'>-	  treat wildcard character in commonName. [ruby-dev:28121]</div><div class='del'>-</div><div class='del'>-Mon Dec 26 08:50:36 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ev_const_get): fixed a bug in constant reference during</div><div class='del'>-	  instance_eval.  [yarv-dev:707]</div><div class='del'>-</div><div class='del'>-	* eval.c (ev_const_defined): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML::add_domain_type): typo fixed.  a patch from</div><div class='del'>-	  Joel VanderWerf &lt;vjoel at path.berkeley.edu&gt;.</div><div class='del'>-	  [ruby-talk:165285] [ruby-core:6995]</div><div class='del'>-</div><div class='del'>-Fri Dec 23 10:30:23 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c (ULL): support AIX C.  a patch from</div><div class='del'>-	  Kailden &lt;kailden at gmail.com&gt;.  [ruby-core:06984]</div><div class='del'>-</div><div class='del'>-Wed Dec 21 16:47:35 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (w32_io_info): should return handle because FileIndex is</div><div class='del'>-	  valid only while file is open. [ruby-dev:28088]</div><div class='del'>-</div><div class='del'>-Wed Dec 21 12:12:21 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (test_kernel_open): use</div><div class='del'>-	  File.identical?.</div><div class='del'>-	  [ruby-talk:171804]</div><div class='del'>-</div><div class='del'>-Tue Dec 20 22:41:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval_under_i): evaluate source in caller's frame.</div><div class='del'>-	  [ruby-dev:28076]</div><div class='del'>-</div><div class='del'>-Tue Dec 20 12:53:23 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility</div><div class='del'>-	  with previous Ruby versions, documents are no longer headless.</div><div class='del'>-</div><div class='del'>-Tue Dec 20 12:33:01 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_node_transform): ruby object holding</div><div class='del'>-	  explicitly freed SyckNode caused SEGV. [ruby-dev:28067]</div><div class='del'>-</div><div class='del'>-	... I think syck GC problem was solved now!</div><div class='del'>-</div><div class='del'>-Tue Dec 20 01:46:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_backquote): fix a GC problem on</div><div class='del'>-	  IA64 with gcc 4.0.3 20051216 (prerelease) -O3.</div><div class='del'>-</div><div class='del'>-Mon Dec 19 23:32:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (XCFLAGS): separated as well as win32/Makefile.sub.</div><div class='del'>-</div><div class='del'>-	* main.c (always_gc): dllimport is required for VC to import a DLL</div><div class='del'>-	  symbol.  fixed: [ruby-dev:28051]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_symname_p): fixed wrong validation.  [ruby-dev:28047]</div><div class='del'>-</div><div class='del'>-Mon Dec 19 23:09:24 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert</div><div class='del'>-	  in gram.c to insert node from rb_syck_bad_anchor_handler into</div><div class='del'>-	  SyckParser's hash table. if GC occurs in st_insert, it's not under</div><div class='del'>-	  SyckParser's mark system yet. so RString can be released wrongly.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is</div><div class='del'>-	  NULL or not before S_FREE.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_assign_io): rb_check_string_type can</div><div class='del'>-	  return new RString. if so, it becomes unreachable from GC after</div><div class='del'>-	  returns syck_parser_assign_io, and can be freed by GC. (dangling</div><div class='del'>-	  in syck io system) so extends its life time till syck_parse is called.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_s_alloc): always allocates bonus,</div><div class='del'>-	  so no need to check if NULL, and "volatile VALUE hash"</div><div class='del'>-	  is not needed. (bonus-&gt;port was not protected in syck_emitter_reset)</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_mark_parser): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_load): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_load_documents): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_s_alloc): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_mark_emitter): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_reset): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_scalar_value_set): "should set newly</div><div class='del'>-	  allocated memory instead of RString's internal storage" stuff again.</div><div class='del'>-	  by this, should call syck_free_node instead of rb_syck_free_node.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_node_type_id_set): ditto.</div><div class='del'>-</div><div class='del'>-	... I believe syck GC problem was solved by this.</div><div class='del'>-</div><div class='del'>-Mon Dec 19 12:20:59 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): activate only</div><div class='del'>-	  before gcc 4.0.3 on SPARC and IA64.</div><div class='del'>-</div><div class='del'>-Mon Dec 19 11:37:47 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: sorry, I reverted my "should set newly</div><div class='del'>-	  allocated memory instead of RString's internal storage" stuff.</div><div class='del'>-	  node allocated in rubyext.c seems to be freed by rb_syck_free_node</div><div class='del'>-	  not syck_free_node, and it won't free data.str-&gt;ptr and type_id.</div><div class='del'>-</div><div class='del'>-	 (I still think this is unsafe because RString(foo)-&gt;ptr becomes</div><div class='del'>-	  dangling pointer when RString is modified or freed, but anyway</div><div class='del'>-	  I misunderstood, so go back to original code for now)</div><div class='del'>-</div><div class='del'>-Sat Dec 17 21:50:41 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_reset): should initialize</div><div class='del'>-	  emitter-&gt;bonus-&gt;oid. otherwise rb_gc_mark crashes.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_mark_parser): should mark anchor nodes</div><div class='del'>-	  because they hold ruby objects. (ie: rb_syck_bad_anchor_handler)</div><div class='del'>-</div><div class='del'>-Sat Dec 17 11:00:17 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory</div><div class='del'>-	  leak.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory</div><div class='del'>-	  leak by explicit symbol allocation.</div><div class='del'>-</div><div class='del'>-Sat Dec 17 03:57:01 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_rshift): fix a GC problem on</div><div class='del'>-	  IA64 with gcc 4.0.3 20051216 (prerelease).</div><div class='del'>-</div><div class='del'>-Sat Dec 17 03:30:23 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (bmcall): fix a GC problem by tail call on</div><div class='del'>-	  IA64 with gcc 4.0.3 20051216 (prerelease).</div><div class='del'>-</div><div class='del'>-Fri Dec 16 17:53:45 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_compile): fixed memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: should protect global variable from GC.</div><div class='del'>-</div><div class='del'>-Fri Dec 16 11:44:43 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_resolver_tagurize): fixed memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_node_type_id_set): should set newly</div><div class='del'>-	  allocated memory instead of RString's internal storage.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_scalar_value_set): ditto.</div><div class='del'>-</div><div class='del'>-	... these fixes won't fix [ruby-dev:27839]. more work is needed.</div><div class='del'>-</div><div class='del'>-Fri Dec 16 04:38:55 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::method_missing): should delegate</div><div class='del'>-	  block as well.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 19:57:12 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to</div><div class='del'>-	  use Tempfile.  A fix from Zev Blut &lt;rubyzbibd at ubit.com&gt;.</div><div class='del'>-	  [ruby-core:06076]</div><div class='del'>-</div><div class='del'>-	* string.c: remove global functions work on $_.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 12:35:14 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: merged RDoc patch from Eric Hodel &lt;drbrain at</div><div class='del'>-	  segment7.net&gt;.  [ruby-core:06894]</div><div class='del'>-</div><div class='del'>-Thu Dec 15 01:33:31 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on</div><div class='del'>-	  x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)</div><div class='del'>-</div><div class='del'>-Wed Dec 14 23:50:20 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (find_class_comment): fix for class</div><div class='del'>-	  document with prototypes.  [ruby-core:06863]</div><div class='del'>-</div><div class='del'>-Wed Dec 14 23:39:53 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (has_magic): glob names contain alphabets to enable case fold</div><div class='del'>-	  search.  [ruby-dev:27735]</div><div class='del'>-</div><div class='del'>-	* dir.c (Init_Dir): FNM_SYSCASE which is default case fold flag.</div><div class='del'>-	  [ruby-dev:23296]</div><div class='del'>-</div><div class='del'>-Wed Dec 14 12:01:26 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): fix a GC problem for reading a bignum on</div><div class='del'>-	  IA64 with gcc 3.3.5 (Debian 1:3.3.5-13).</div><div class='del'>-</div><div class='del'>-Tue Dec 13 12:23:47 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regcomp): fix a GC problem on x86_64 with</div><div class='del'>-	  gcc 3.3.5 (Debian 1:3.3.5-13).</div><div class='del'>-</div><div class='del'>-Tue Dec 13 01:44:16 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_diff): fix a GC problem on IA64 with</div><div class='del'>-	  gcc 3.3.5 (Debian 1:3.3.5-13).</div><div class='del'>-	  When rb_ary_push is called, there was no register which contains</div><div class='del'>-	  `hash' but `&amp;RHASH(hash)-&gt;tbl' instead.</div><div class='del'>-</div><div class='del'>-Tue Dec 13 00:08:09 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix a GC problem.</div><div class='del'>-	  [ruby-dev:28001]</div><div class='del'>-</div><div class='del'>-Mon Dec 12 15:51:22 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (test_parallel): call GC.start to close</div><div class='del'>-	  unused files. [ruby-dev:27981]</div><div class='del'>-</div><div class='del'>-Mon Dec 12 09:58:09 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_cover): new method Range#cover? added.  the</div><div class='del'>-	  method name might be changed.  thanks to takano32 at</div><div class='del'>-	  http://www.rubyist.net/~matz/20051210.html#c08 for name</div><div class='del'>-	  suggestion.  [ruby-talk:167182]</div><div class='del'>-</div><div class='del'>-Mon Dec 12 00:33:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_s_digest): add volatile to</div><div class='del'>-	  protect temporary context object.  [ruby-dev:27979]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should</div><div class='del'>-	  be called before actual variable initialization.</div><div class='del'>-	  [ruby-dev:27986]</div><div class='del'>-</div><div class='del'>-Sun Dec 11 23:54:07 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/*: update to support libraries in ActiveTcl8.4.12.0</div><div class='del'>-	  (see ext/tk/ChangeLog.tkextlib).</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/scrollframe.rb: add a new sample.</div><div class='del'>-</div><div class='del'>-Sun Dec 11 22:07:58 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_remote_array_and_hash): pseudo remote</div><div class='del'>-	  objects are protected against GC. [ruby-dev:27911]</div><div class='del'>-</div><div class='del'>-Sat Dec 10 01:06:06 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: add Matrix#determinant_e, Matrix#rank_e.</div><div class='del'>-	  [ruby-dev:27820] and related thread.</div><div class='del'>-</div><div class='del'>-Sat Dec 10 00:31:42 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (calling_scope_t): gave names to magic numbers for rb_call().</div><div class='del'>-	  [ruby-dev:27978]</div><div class='del'>-</div><div class='del'>-Fri Dec  9 23:31:02 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encoding.rb (encoding=): give priority to particular</div><div class='del'>-	  conversion to iconv.  [ruby-core:06520]</div><div class='del'>-</div><div class='del'>-Fri Dec  9 23:16:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_include): return false unless included in numeric</div><div class='del'>-	  range.  fixed: [ruby-dev:27975]</div><div class='del'>-</div><div class='del'>-Thu Dec  8 02:07:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (umethod_bind): adjust invoking class for module method.</div><div class='del'>-	  [ruby-dev:27964]</div><div class='del'>-</div><div class='del'>-Thu Dec  8 00:40:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (call_trace_func): klass parameter should be a</div><div class='del'>-	  class/module that defines calling method.  [ruby-talk:169307]</div><div class='del'>-</div><div class='del'>-Wed Dec  7 17:10:27 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): [ruby-dev:27967]</div><div class='del'>-</div><div class='del'>-Wed Dec  7 16:39:18 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_include): use discrete membership for non Numeric</div><div class='del'>-	  values, for example, String.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_scalar_p): new method. [ruby-dev:27936]</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb (Complex#scalar?): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  7 15:31:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): integer overflow check added.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (GETASTER): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  7 01:02:04 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/README.macosx-aqua: [new document] tips to avoid the known</div><div class='del'>-	  bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fix bug on switching threads and waiting on the</div><div class='del'>-	  deleted interpreter on vwait and tkwait command.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk</div><div class='del'>-	  interpreter.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/image3.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/menu8x.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/menu.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  6 16:48:40 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xmalloc2): change check condition for integer</div><div class='del'>-	  overflow.  [ruby-dev:27399]</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xrealloc2): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  6 16:37:57 2005  Yuya Nishida  &lt;yuya@j96.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (exec_under): avoid accessing ruby_frame-&gt;prev.</div><div class='del'>-	  [ruby-dev:27948]</div><div class='del'>-</div><div class='del'>-Fri Dec  2 19:06:06 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (Compare): should not fold double byte alphabet on win9x.</div><div class='del'>-</div><div class='del'>-Thu Dec  1 00:50:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_funcall2): allow to call protected methods.</div><div class='del'>-	  fixed: [ruby-dev:27890]</div><div class='del'>-</div><div class='del'>-Wed Nov 30 23:52:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): fields common to ripper must be</div><div class='del'>-	  placed at each same offset.</div><div class='del'>-</div><div class='del'>-	* parse.y (NEWHEAP, ADD2HEAP): set count after pointer was set.</div><div class='del'>-	  fixed: [ruby-dev:27896]</div><div class='del'>-</div><div class='del'>-Wed Nov 30 13:43:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg): support $! at the end of</div><div class='del'>-	  expression.   [ruby-dev:27868]</div><div class='del'>-</div><div class='del'>-Tue Nov 29 23:57:05 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): heap must be placed at same offset</div><div class='del'>-	  also in ripper.y.  fixed: [ruby-dev:27846]</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): prevent vparser from tail call optimization.</div><div class='del'>-	  fixed: [ruby-dev:27851]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_mark): value needs to be marked.</div><div class='del'>-	  fixed: [ruby-dev:27845]</div><div class='del'>-</div><div class='del'>-Tue Nov 29 22:45:30 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/observer.rb (notify_observers): follow change of observer.rb.</div><div class='del'>-	  fixed: [ruby-core:6796]</div><div class='del'>-</div><div class='del'>-Mon Nov 28 20:24:22 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods#object_address_group): mask an address with</div><div class='del'>-	  word size.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods#object_address_group): adjust address format.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 18:55:22 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_inetsock_internal): remove setting</div><div class='del'>-	  SO_REUSEADDR option on server socket on Cygwin.</div><div class='del'>-	  fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ])</div><div class='del'>-</div><div class='del'>-Mon Nov 28 13:11:45 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken</div><div class='del'>-	  error message on bccwin32 + winsock)</div><div class='del'>-</div><div class='del'>-Mon Nov 28 09:15:50 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): should not change sodir with</div><div class='del'>-	  dir.gsub!. (bccwin32 failed to install third party extensions)</div><div class='del'>-	  [ruby-dev:27834]</div><div class='del'>-</div><div class='del'>-Sun Nov 27 05:37:20 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: use File.basename to decompose pathnames.</div><div class='del'>-	  experimental Windows support.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 00:56:13 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/xmlSchema/complexContent.rb: missing</div><div class='del'>-	  ComplexContent#elementformdefault method.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 19:57:45 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (conv_to_posix_path): should initialize posix.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 20:34:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/datetime.rb (DateTime::to_a): comparison with non</div><div class='del'>-	  array-convertible object must return false.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 14:34:09 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_max): treat end exclusion without iteration if</div><div class='del'>-	  the end value is an integer.  [ruby-talk:167433]</div><div class='del'>-</div><div class='del'>-Fri Nov 25 12:52:57 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: added backward compatibility codes.</div><div class='del'>-	* lib/rss/parser.rb: ditto.</div><div class='del'>-	* test/rss/test_parser.rb: ditto.</div><div class='del'>-	* test/rss/test_2.0.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_content.rb: use #__send__ instead of #funcall for</div><div class='del'>-	  no private method.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 12:39:56 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: improved type conversion.</div><div class='del'>-	* lib/rss/1.0.rb: ditto.</div><div class='del'>-	* lib/rss/0.9.rb: ditto.</div><div class='del'>-	* lib/rss/2.0.rb: ditto.</div><div class='del'>-	* lib/rss/image.rb: ditto.</div><div class='del'>-	* lib/rss/syndication.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_2.0.rb: added type conversion tests.</div><div class='del'>-	* test/rss/test_accessor.rb: ditto.</div><div class='del'>-	* test/rss/test_to_s.rb: ditto.</div><div class='del'>-	* test/rss/test_syndication.rb: ditto.</div><div class='del'>-	* test/rss/test_setup_maker_2.0.rb: ditto.</div><div class='del'>-	* test/rss/test_setup_maker_1.0.rb: ditto.</div><div class='del'>-	* test/rss/test_setup_maker_0.9.rb: ditto.</div><div class='del'>-	* test/rss/test_maker_sy.rb: ditto.</div><div class='del'>-	* test/rss/test_maker_image.rb: ditto.</div><div class='del'>-	* test/rss/test_maker_2.0.rb: ditto.</div><div class='del'>-	* test/rss/test_maker_0.9.rb: ditto.</div><div class='del'>-	* test/rss/test_image.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_1.0.rb: use assert instead of assert_equal.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: improved type conversion assertions.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 10:38:20 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/image.rb: added Image prefix.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/image.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 10:33:02 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_2.0.rb: added RSS 2.0 tests.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: extended XML stylesheet assertion.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb: added initialize method.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_1.0.rb: cleanup.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 10:29:48 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_min): use &lt;=&gt; comparison rather than iteration.</div><div class='del'>-	  [ruby-talk:167420]</div><div class='del'>-</div><div class='del'>-	* range.c (range_max): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 24 01:31:44 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (w32_io_info): CreateFile failed on Win9x if file was already</div><div class='del'>-	  opened. (FILE_SHARE_READ was needed, but actually I don't understand</div><div class='del'>-	  the flags of CreateFile well...)</div><div class='del'>-</div><div class='del'>-Wed Nov 23 23:52:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_div): use floor rather than rb_Integer().</div><div class='del'>-	  [ruby-dev:27674]</div><div class='del'>-</div><div class='del'>-Wed Nov 23 22:34:15 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb: added entity handling type predicate.</div><div class='del'>-	* lib/rss/rexmlparser.rb: ditto.</div><div class='del'>-	* lib/rss/xmlparser.rb: ditto.</div><div class='del'>-	* lib/rss/xmlscanner.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/xmlscanner.rb: more robust entity handling.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_parser.rb: added an entity handling test.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 20:59:01 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get</div><div class='del'>-	  [Tk8.5 feature].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: supports new indices modifiers on a Text</div><div class='del'>-	  widget [Tk8.5 feature].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/autoload.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5</div><div class='del'>-	  feature].</div><div class='del'>-</div><div class='del'>-Wed Nov 23 18:52:45 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (w32_io_info): should not call GetFileInformationByHandle</div><div class='del'>-	  for pipe.</div><div class='del'>-</div><div class='del'>-	* file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.</div><div class='del'>-</div><div class='del'>-	* file.c (w32_io_info): now can identify directory on WinNT.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 18:46:53 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/: use #__send__ instead of #send.</div><div class='del'>-	* test/rss/: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 18:32:56 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_taxonomy.rb: use #reject directory.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 18:26:00 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb: changed class or module prefix to</div><div class='del'>-	  Taxonomy from Taxo.</div><div class='del'>-	* lib/rss/maker/taxonomy.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 18:21:11 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/taxonomy.rb: implemented taxonomy module for RSS</div><div class='del'>-	  Maker.</div><div class='del'>-	* lib/rss/taxonomy.rb: supported RSS Maker.</div><div class='del'>-	* lib/rss/maker.rb: added taxonomy module support.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: adjusted to other element API.</div><div class='del'>-	* lib/rss/1.0.rb: adjusted to other element API but backward</div><div class='del'>-	  compatibility is reserved.</div><div class='del'>-	* lib/rss/0.9.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_taxo.rb: added test case for taxonomy module</div><div class='del'>-	  for RSS Maker.</div><div class='del'>-	* test/rss/test_setup_maker_1.0.rb: added tests for taxo:topic.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_setup_maker_1.0.rb: added backward compatibility</div><div class='del'>-	  test.</div><div class='del'>-	* test/rss/test_setup_maker_0.9.rb: ditto.</div><div class='del'>-	* test/rss/test_setup_maker_2.0.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-testcase.rb: added convenience method for setting</div><div class='del'>-	  up taxo:topic.</div><div class='del'>-	* test/rss/rss-assertions.rb: added assertion for taxo:topic.</div><div class='del'>-</div><div class='del'>-	* sample/rss/blend.rb: followed new API.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 17:42:24 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: fixed a indentation bug.</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb: fixed &lt;taxo:topic&gt; #to_s bug.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_taxonomy.rb: added a #to_s test.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 03:40:49 2005  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (KR_REHASH): should cast to unsigned for 64bit CPU.</div><div class='del'>-	  [ruby-core:06721]</div><div class='del'>-</div><div class='del'>-Wed Nov 23 07:26:44 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use</div><div class='del'>-	  OPENSSL_malloc to allocate X509V3_CTX.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use</div><div class='del'>-	  X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which</div><div class='del'>-	  values are placed in separate section).</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509ext.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Nov 23 01:22:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (test_identical): test if two files are identical.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): support DOSISH systems where st_ino is not</div><div class='del'>-	  reliable.  fixed: [ruby-core:06672]</div><div class='del'>-</div><div class='del'>-	* win32.h, win32.c (rb_w32_osid): check the running platform.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 23:52:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: match incomplete (in current enconding) multibyte</div><div class='del'>-	  string.  http://inamode6.tokuhirom.dnsalias.org/show/1551</div><div class='del'>-</div><div class='del'>-Tue Nov 22 18:36:11 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (winnt_stat): set mapped errno instead of ENOENT.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 14:36:54 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): skip slashes just after UNC top slashes.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb (test_dirname, test_basename): follow new</div><div class='del'>-	  spec. and add new tests.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 13:30:15 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_stat): Dir.chdir('//server/shared');</div><div class='del'>-	  p Dir.glob('*') should work on WinNT. (implemented our own</div><div class='del'>-	  stat(2) on WinNT) [ruby-list:41552] [ruby-dev:27711]</div><div class='del'>-</div><div class='del'>-Tue Nov 22 02:31:53 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb: bug fix (Tk::Tile::USE_TTK_NAMESPACE</div><div class='del'>-	  is not defined).</div><div class='del'>-</div><div class='del'>-Tue Nov 22 01:45:21 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but</div><div class='del'>-	  DOSISH is not.  fixed: [ruby-dev:27797]</div><div class='del'>-</div><div class='del'>-Mon Nov 21 22:50:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path</div><div class='del'>-	  should not be splitted.  fixed: [ruby-dev:27776] [ruby-dev:27786]</div><div class='del'>-</div><div class='del'>-	* parse.y (dsym): prohibit empty symbol literal by interpolation.</div><div class='del'>-	  fixed: [ruby-talk:166529]</div><div class='del'>-</div><div class='del'>-Mon Nov 21 16:03:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mk: findstr doesn't exist on win9x.</div><div class='del'>-	  fixed: [ruby-dev:27756]</div><div class='del'>-</div><div class='del'>-Sun Nov 20 21:39:27 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token_in_cc): tok-&gt;escaped should be</div><div class='del'>-	  initialized.  [ruby-dev:27763]</div><div class='del'>-</div><div class='del'>-Sun Nov 20 22:34:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_symname_p): [ not followed by ] is not valid symbol.</div><div class='del'>-	  fixed: [ruby-talk:166520]</div><div class='del'>-</div><div class='del'>-Sat Nov 19 19:57:54 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::ln): ln documentation fix.</div><div class='del'>-	  [ruby-core:06661]</div><div class='del'>-</div><div class='del'>-Sat Nov 19 08:19:38 2005  Zach Dennis  &lt;zdennis@mktec.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: Socket Documentation. [ruby-core:6552]</div><div class='del'>-</div><div class='del'>-Sat Nov 19 07:34:32 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8</div><div class='del'>-	  or 1.9).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 18 18:07:05 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_dirname): should use skipprefix for UNC path.</div><div class='del'>-	  pointed out by nobu ([ruby-dev:27744]). fixed: [ruby-core:5076]</div><div class='del'>-</div><div class='del'>-Fri Nov 18 17:35:09 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add restriction to access the entried</div><div class='del'>-	  command table and manipulate other IPs (for reason of security).</div><div class='del'>-	  Now, a IP object can be controlled by only its master IP or the</div><div class='del'>-	  default IP.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: add restriction to manipulate.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)</div><div class='del'>-	  to check manipulability.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 18 16:47:33 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_dirname): added checks for some patterns with drive</div><div class='del'>-	  letter. fixed: [ruby-dev:27738]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb (test_dirname): added tests for above</div><div class='del'>-	  patterns.</div><div class='del'>-</div><div class='del'>-Fri Nov 18 12:19:16 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.h (S_IFIFO): r,w = IO.pipe; r.stat.pipe? now</div><div class='del'>-	  returns true on VisualC++6.</div><div class='del'>-</div><div class='del'>-Thu Nov 17 17:58:00 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/1.0.rb: added convenience method 'resources'.</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: added test for 'resources'.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_taxonomy.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 17 17:53:30 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb: implemented taxonomy module.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_taxonomy.rb: added tests for taxonomy support.</div><div class='del'>-</div><div class='del'>-Thu Nov 17 17:40:19 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/1.0.rb: added rdf:Bag.</div><div class='del'>-</div><div class='del'>-Thu Nov 17 13:52:00 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: removed needless argument 'prefix'.</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 23:24:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (static-ruby): overridable.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (parse_args): force to link extensions statically only</div><div class='del'>-	  if static is given for extstatic.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (RUBY, RUBYW): overridable.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 01:29:31 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb: added TrackBack prefix.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/trackback.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 01:26:13 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION): 0.1.5 -&gt; 0.1.6.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_version.rb (RSS::TestVersion#test_version): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 23:54:24 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_load_ok): eaccess() returns 0 on success.</div><div class='del'>-	  fixed: [ruby-dev:27713]</div><div class='del'>-</div><div class='del'>-Tue Nov 15 16:36:03 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): previous commit disabled this usage:</div><div class='del'>-</div><div class='del'>-	    a = [0,1,2,3,4,5,6,7,8,9]</div><div class='del'>-	    a.fill {|i| a[i] * 10} #=&gt; [nil, nil, ...., nil]</div><div class='del'>-</div><div class='del'>-	  previous commit has the advantage of early garbage collection, but</div><div class='del'>-	  potentially this would break some script. so I reverted behavior.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 16:15:23 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_load_ok): use eaccess() instead of actually opening</div><div class='del'>-	  the file.  [ruby-talk:156378]</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb (String::reverse): add new methods.</div><div class='del'>-	  [ruby-list:41245]</div><div class='del'>-</div><div class='del'>-Tue Nov 15 15:49:34 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): tail elements were vanished when the middle</div><div class='del'>-	  part of array was filled. (ie: [0,1,2,3,4].fill(-1,2,1) =&gt; [0,1,-1])</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_fill): added.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 14:39:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): should adjust array length correctly when</div><div class='del'>-	  an array is expanded in the fill process.  [ruby-core:06625]</div><div class='del'>-</div><div class='del'>-Mon Nov 14 23:49:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.</div><div class='del'>-	  [ruby-dev:27699]</div><div class='del'>-</div><div class='del'>-Mon Nov 14 17:36:22 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_first): RDoc update from Daniel Berger</div><div class='del'>-	  &lt;djberg96@yahoo.com&gt;.  [ruby-core:06577].</div><div class='del'>-</div><div class='del'>-Sun Nov 13 10:55:24 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (escape): regard second argument as a</div><div class='del'>-	  character set. [ruby-dev:27692]</div><div class='del'>-</div><div class='del'>-Sat Nov 12 08:36:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, eval.c, intern.h: check fd_mask type.</div><div class='del'>-</div><div class='del'>-	* configure.in (socketpair): need to be checked.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 19:53:47 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, intern.h: failed to compile where NFDBITS is defined but</div><div class='del'>-	  howmany() is not defined. [ruby-dev:27680]</div><div class='del'>-</div><div class='del'>-	* io.c (is_socket): failed to compile where S_ISSOCK is not defined.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): failed to compile where socketpair is not supported.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 08:20:56 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (OUTFLAG): keep trailing spaces.  [ruby-dev:27666]</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: substitution references added.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 07:39:49 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: undef HAVE_LINK on BeOS. (link(2) always returns</div><div class='del'>-	  EINVAL, and this causes error in test/fileutils.)</div><div class='del'>-</div><div class='del'>-	* file.c: override chown(2) and fchown(2) on BeOS. (these functions</div><div class='del'>-	  should not change user/group id if -1 is passed as corresponding</div><div class='del'>-	  argument, and this causes error in test/fileutils too)</div><div class='del'>-	  [ruby-dev:27672]</div><div class='del'>-</div><div class='del'>-Thu Nov 10 21:05:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: fix for blank but not empty string.</div><div class='del'>-	  fixed: [ruby-dev:27663]</div><div class='del'>-</div><div class='del'>-Wed Nov  9 08:39:38 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: refactored.  [ruby-core:06581]</div><div class='del'>-</div><div class='del'>-Tue Nov  8 17:35:53 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h, eval.c (rb_thread_signal_raise): constified.</div><div class='del'>-</div><div class='del'>-	* signal.c: cosmetic change.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 15:32:27 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb (DRb::SSLConfig#accept): fixed typo.</div><div class='del'>-	  [ruby-dev:27560] [ruby-core:4627]</div><div class='del'>-</div><div class='del'>-Mon Nov  7 20:54:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: iconvctl() support.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Mon Nov  7 16:23:23 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: need to include winsock2.h before including</div><div class='del'>-	  windows.h by some openssl headers.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 13:43:51 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c (_nativethread_consistency_check): use simpler</div><div class='del'>-	  (low cost) way to check whether the Tcl interpreter was compiled</div><div class='del'>-	  with threads enabled of not.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: reduce warnings.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 00:06:12 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: removed :nodoc: to generate Kernel doc. [ruby-core:6324]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 23:39:13 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a</div><div class='del'>-	  bug of underlying library.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 21:43:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c (ruby_tcl_create_ip_and_stubs_init): should touch</div><div class='del'>-	  interpreter after initialization is done. [ruby-dev:27638]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 20:13:27 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if</div><div class='del'>-	  buffer size is less than required.  fixed: [ruby-dev:27634]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 13:42:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, cygwin/GNUmakefile.in (mingw): use def file to alias</div><div class='del'>-	  symbols.  [ruby-dev:27532]</div><div class='del'>-</div><div class='del'>-	* bcc32/mkexports.rb, win32/mkexports.rb: make aliases in DLL.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, win32/win32.h: replace symbols only when RUBY_EXPORT</div><div class='del'>-	  is defined.</div><div class='del'>-</div><div class='del'>-Thu Nov  3 07:57:39 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (open_loop): find_proxy should return nil when</div><div class='del'>-	  proxy does not exist. [ruby-dev:27630]</div><div class='del'>-</div><div class='del'>-Wed Nov  2 20:25:28 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: ext/tk/extconf.rb: change the check parameter</div><div class='del'>-	  for Win32.</div><div class='del'>-</div><div class='del'>-Wed Nov  2 19:03:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_rbUpdateObjCmd, ip_rb_threadUpdateObjCmd):</div><div class='del'>-	  passed improper flags to DoOneEvent().</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: use rb_obj_respond_to() instead of</div><div class='del'>-	  rb_respond_to().</div><div class='del'>-</div><div class='del'>-Tue Nov  1 14:20:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call_super): should call method_missing if super is</div><div class='del'>-	  called from Kernel method.</div><div class='del'>-</div><div class='del'>-	* eval.c (exec_under): frame during eval should preserve external</div><div class='del'>-	  information.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 10:48:49 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: should check ERR_peek_last_error().</div><div class='del'>-	  [ruby-dev:27597]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_raise): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 17:34:46 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use proper option for Sun linker. A patch from</div><div class='del'>-	  Shinya Kuwamura &lt;kuwa at labs.fujitsu.com&gt;.  [ruby-dev:27603]</div><div class='del'>-</div><div class='del'>-Mon Oct 31 05:46:08 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must</div><div class='del'>-	  not be empty. [ruby-talk:161220]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb: add test for Cipher#update("").</div><div class='del'>-</div><div class='del'>-Mon Oct 31 05:38:26 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::CGIHandler#do_GET): the value of Set-Cookie:</div><div class='del'>-	  header field should be splited into each cookie.  [ruby-Bugs:2199]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method</div><div class='del'>-	  to parse the value of Set-Cookie: header field.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cookie.rb, test/webrick/test_cgi.rb,</div><div class='del'>-	  test/webrick/webrick.cgi: add some test for cookie.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 02:33:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_rshift): RDoc fix.  [ruby-core:6351]</div><div class='del'>-</div><div class='del'>-	* util.h (strtod): add #undef for platforms defines strtod()</div><div class='del'>-	  macro.   [ruby-dev:27563]</div><div class='del'>-</div><div class='del'>-Mon Oct 31 02:31:41 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (test_precision): test by assert_in_delta.</div><div class='del'>-	  [ruby-dev:27575]</div><div class='del'>-</div><div class='del'>-Sat Oct 29 01:58:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: document update from mathew &lt;meta@pobox.com&gt;.</div><div class='del'>-	  [ruby-core:06473]</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/fcntl.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 16:56:03 2005  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: added seven predicates sunday? to saturday?.</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: added two methods {prev,next}_month,</div><div class='del'>-	  that are almost same as &lt;&lt; and &gt;&gt;.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 20:34:43 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_allocate): allow subclassing.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 16:45:31 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): wrong condition to use mbclen2().</div><div class='del'>-	  [ruby-dev:27535]</div><div class='del'>-</div><div class='del'>-Thu Oct 27 11:53:17 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing.h, missing/memcmp.c, missing/memmove.c:</div><div class='del'>-	  ANSI compatible interface.</div><div class='del'>-</div><div class='del'>-Wed Oct 26 09:15:48 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/implicit.c (syck_type_id_to_uri): should return</div><div class='del'>-	  newly allocated memory. otherwise, type_id will be freed</div><div class='del'>-	  twice. [ruby-dev:27384] [ruby-core:6385]</div><div class='del'>-</div><div class='del'>-Wed Oct 26 01:58:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_EXTERN): macro to export symbols in shared</div><div class='del'>-	  library.  [ruby-core:05528]</div><div class='del'>-</div><div class='del'>-	* defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to</div><div class='del'>-	  configuration pass.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.</div><div class='del'>-</div><div class='del'>-Tue Oct 25 20:06:59 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate</div><div class='del'>-	  values have VALUE type. there is an environment where sizeof(VALUE)</div><div class='del'>-	  != sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS</div><div class='del'>-	  and received by 64bit integer (VALUE), upper bits may have garbage value.</div><div class='del'>-	  [ruby-dev:27513]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 15:32:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb: applied documentation patch from Gavin Sinclair</div><div class='del'>-	  &lt;gsinclair@gmail.com&gt;.  [ruby-core:06364]</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (IRB::Irb::eval_input): handle prompts with newlines</div><div class='del'>-	  in irb auto-indentation mode.  [ruby-core:06358]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 14:21:46 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): sorry, previous commit was incorrect.</div><div class='del'>-	  [ruby-core:6386]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 13:40:16 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): return now whether there're rooms for new</div><div class='del'>-	  objects, rather than whether GC run. fixed: [ruby-core:6376]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 02:12:08 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::LABEL_LIST_RE):</div><div class='del'>-	  reduce redundant backtrack.  [ruby-talk:161771]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 00:35:33 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/*: RDoc documentation from Eric Hodel</div><div class='del'>-	  &lt;drbrain@segment7.net&gt; added.</div><div class='del'>-</div><div class='del'>-Mon Oct 24 21:14:29 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, io.c: use sys/syscall.h if syscall.h is not available.</div><div class='del'>-	  [ruby-core:06247]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 20:38:25 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/lib/win32/resolv.rb (get_info): support multiple DNS.</div><div class='del'>-	  fixed: [ruby-list:40058], [ruby-dev:27479]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 11:01:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys):</div><div class='del'>-	  typo fixed.  [ruby-talk:162187]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb (TkMenuEntryConfig::__item_val2ruby_optkeys):</div><div class='del'>-	  ditto.  [ruby-core:06359]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 07:57:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys):</div><div class='del'>-	  typo fixed.  [ruby-talk:162187]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb (TkMenuEntryConfig::__item_val2ruby_optkeys):</div><div class='del'>-	  ditto.  [ruby-core:06359]</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Matrix::initialize): use funcall instead of send</div><div class='del'>-	  to allow private methods to be called.  A report from</div><div class='del'>-	  Jean-Claude Arbaut &lt;jcarbaut@laposte.net&gt;.  [ruby-core:06359]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 00:41:18 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_sunday): added predicate methods for the days of the</div><div class='del'>-	  week.  [ruby-list:41340]</div><div class='del'>-</div><div class='del'>-Sun Oct 23 07:11:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: improve messages [ruby-core:06325].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/entry.rb,</div><div class='del'>-	  ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/image.rb,</div><div class='del'>-	  ext/tk/lib/tk/itemconfig.rb, ext/tk/lib/tk/labelframe.rb,</div><div class='del'>-	  ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/menu.rb,</div><div class='del'>-	  ext/tk/lib/tk/radiobutton.rb, ext/tk/lib/tk/scale.rb,</div><div class='del'>-	  ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tk/text.rb,</div><div class='del'>-	  ext/tk/lib/tk/toplevel.rb: improve conversion of option values.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/vu/*: support vu 2.3.0.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3).</div><div class='del'>-</div><div class='del'>-Sat Oct 22 23:54:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension</div><div class='del'>-	  options.  [ruby-dev:27449]</div><div class='del'>-</div><div class='del'>-Sat Oct 22 14:25:43 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.[hc] (ruby_add_suffix): constified.</div><div class='del'>-</div><div class='del'>-	* util.[hc] (ruby_scan_{oct,hex}): fixed typo. (renamed from</div><div class='del'>-	  scan_{oct,hex})</div><div class='del'>-</div><div class='del'>-	* util.c: almostly ANSI styled. (except for functions depending on</div><div class='del'>-	  macro and K&amp;R technique)</div><div class='del'>-</div><div class='del'>-Sat Oct 22 13:26:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check</div><div class='del'>-	  if valid as a symbol name more strictly.  [ruby-dev:27478]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb: tests for [ruby-core:03573].</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime): removed meaningless volatile modifiers, and</div><div class='del'>-	  concatenate successive nul characters at once.  [ruby-dev:27472]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb, ext/tk/lib/tkextlib/ICONS/icons.rb,</div><div class='del'>-	  ext/tk/sample/tkextlib/treectrl/demo.rb, lib/net/imap.rb,</div><div class='del'>-	  lib/rss/parser.rb, test/rss/test_content.rb,</div><div class='del'>-	  test/rss/test_dublincore.rb, test/rss/test_syndication.rb,</div><div class='del'>-	  test/rss/test_trackback.rb, test/ruby/test_eval.rb,</div><div class='del'>-	  test/socket/test_socket.rb, test/socket/test_udp.rb:</div><div class='del'>-	  Object#fcall was renamed as Object#funcall.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 10:08:28 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing.h, missing/*.c: SUSv3 compatible strcasecmp and strncasecmp,</div><div class='del'>-	  ANSI compatible strtol and strtoul, and ANSI styled other functions.</div><div class='del'>-</div><div class='del'>-Fri Oct 21 19:16:08 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rubysig.h (CHECK_INTS): fixed typo. (I believe bit-or is improper)</div><div class='del'>-</div><div class='del'>-Fri Oct 21 17:49:32 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb (ERB::Main::run): typo fixed.  [ruby-core:06337]</div><div class='del'>-</div><div class='del'>-Fri Oct 21 15:42:28 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h, struct.c (rb_struct_iv_get): constified.</div><div class='del'>-</div><div class='del'>-	* marshal.c: avoid one VC++6 warning for implicit conversion</div><div class='del'>-	  from int to char.</div><div class='del'>-</div><div class='del'>-	* ruby.h: ANSI styled.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (HAVE_HYPOT): added.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: BeOS is only one platform should call</div><div class='del'>-	  closesocket, so check __BEOS__ macro directly. (I was worried</div><div class='del'>-	  accidentally HAVE_CLOSESOCKET is defined on windows again because</div><div class='del'>-	  it has it)</div><div class='del'>-</div><div class='del'>-	* ext/socket/{getaddrinfo.c,socket.c}: ditto.</div><div class='del'>-</div><div class='del'>-	... these are all cosmetic changes.</div><div class='del'>-</div><div class='del'>-Fri Oct 21 15:23:23 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignew_1): conversion from `int' to `char' discards</div><div class='del'>-	  upper bits, (ie. (char)0xff00 -&gt; 0) so it's better to test if</div><div class='del'>-	  nonzero and set 0 or 1 instead of simply casting ... as a flag usage.</div><div class='del'>-	  (but I believe this won't cause actual bug in current implementation)</div><div class='del'>-	  [ruby-dev:27055]</div><div class='del'>-</div><div class='del'>-	* time.c: should use LONG_LONG instead of `long long'.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 22:22:49 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parser.y (struct parser_params): parser never modify input string.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/preproc.rb (prelude): do not append surplus</div><div class='del'>-	  newlines to fix line numbers.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 11:41:57 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, eval.c, hash.c, st.c, variable.c: changed /* ??? */ stuff</div><div class='del'>-	  protoize generated to ANYARGS.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 11:18:11 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, file.c, ruby.c: removed strchr, strrchr, strstr definition</div><div class='del'>-	  because they are defined in missing.h.</div><div class='del'>-</div><div class='del'>-	* missing.h, missing/strchr.c, missing/strstr.c: ANSI styled.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 09:36:06 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): Borland make seems not to allow</div><div class='del'>-	  empty dependency list. If this change is not good, please correct</div><div class='del'>-	  it.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 07:55:09 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): get rid of a restriction</div><div class='del'>-	  of Borland make.  fixed: [ruby-dev:27460]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 19 23:58:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): do not create unnecessary empty</div><div class='del'>-	  directories.  fixed: [ruby-dev:27451]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 08:28:32 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): elements may contain null pointer strings.</div><div class='del'>-	  report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 02:34:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c, eval.c, gc.c, parse.y, regparse.c, sjis.c, time.c:</div><div class='del'>-	  made internal symbols static.  [ruby-dev:27435]</div><div class='del'>-</div><div class='del'>-Tue Oct 18 10:58:27 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/depend, ext/dl/extconf.rb, ext/socket/depend,</div><div class='del'>-	  ext/socket/extconf.rb: shouldn't define DESTCLEANFILES in depend,</div><div class='del'>-	  use $distcleanfiles in extconf.rb.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (distclean-local): should remove .config.h.time.</div><div class='del'>-</div><div class='del'>-Mon Oct 17 09:42:50 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: fixup configure_args for mswin32 configure.</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat (srcdir, target): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 17 05:01:50 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* env.h: move struct METHOD and struct BLOCK from eval.c to</div><div class='del'>-	  support NodeWrap and ParseTree.</div><div class='del'>-</div><div class='del'>-Sun Oct 16 22:16:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: omit non-existing directories.</div><div class='del'>-</div><div class='del'>-Sun Oct 16 14:40:54 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb (Rinda::Tuple#initialize): check remote hash</div><div class='del'>-	  tuple. fixed: [ruby-list:41227]</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: test it.</div><div class='del'>-</div><div class='del'>-Sun Oct 16 03:38:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubysig.h (CHECK_INTS): prevent signal handler to run during</div><div class='del'>-	  critical section.  [ruby-core:04039]</div><div class='del'>-</div><div class='del'>-	* eval.c (load_wait): need not to call rb_thread_schedule()</div><div class='del'>-	  explicitly.  [ruby-core:04039]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_schedule): clear rb_thread_critical.</div><div class='del'>-	  [ruby-core:04039]</div><div class='del'>-</div><div class='del'>-Sun Oct 16 00:13:14 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: remove unnecessary line which prevents</div><div class='del'>-	  creating Makefile.</div><div class='del'>-</div><div class='del'>-Sat Oct 15 23:52:07 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: (getbinaryfile): allow nil for localfile, and</div><div class='del'>-	  returns retrieved data if localfile is nil.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: (gettextfile): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 15 19:51:29 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb: typo fixed, again. thanks, Doug Kearns.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 23:09:31 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MKFILES): update MKFILES if configure files get</div><div class='del'>-	  changed.</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat, win32/setup.mak (configure_args): store</div><div class='del'>-	  arguments to configure files.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 22:05:45 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (ioctl): should set errno.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 16:39:37 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (Config::FileHandler): :UserDir should be nil.</div><div class='del'>-	  It is harmful to permit the access to ~/public_html by default.</div><div class='del'>-	  suggested by Hiroyuki Iwatsuki.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 04:58:38 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_exec): create instance_exec and</div><div class='del'>-	  module_exec which pass arguments to the block.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_funcall): rename fcall to funcall to follow</div><div class='del'>-	  tradition.</div><div class='del'>-</div><div class='del'>-Thu Oct 13 23:29:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (HEAPCNT): bison allocates indivisible size.</div><div class='del'>-	  fixed: [ruby-core:06261]</div><div class='del'>-</div><div class='del'>-	* io.c, pack.c, ext/syck/rubyext.c, ext/syck/syck.h, missing/isinf.c:</div><div class='del'>-	  get rid of warnings.  fixed: [ruby-core:06247]</div><div class='del'>-</div><div class='del'>-Wed Oct 12 12:51:56 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (Init_openssl): should call</div><div class='del'>-	  OpenSSL_add_ssl_algorithms().</div><div class='del'>-</div><div class='del'>-Wed Oct 12 11:08:54 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): typo in RDoc comments.</div><div class='del'>-</div><div class='del'>-Tue Oct 11 21:41:58 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_FUNC_ATTRIBUTE): check prefixed attribute form</div><div class='del'>-	  first.  [ruby-dev:27398]</div><div class='del'>-</div><div class='del'>-	* array.c, enum.c, eval.c, util.c: safer function pointer usage.</div><div class='del'>-	  fixed: [ruby-core:06143]</div><div class='del'>-</div><div class='del'>-	* util.h (qsort): removed the definition incompatible to ANSI.</div><div class='del'>-	  fixed: [ruby-core:06147]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_respond_to): check if obj responds to the given</div><div class='del'>-	  method with the given visibility.  [ruby-dev:27408]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_respond_to): conform to Object#respond_to?.  [ruby-dev:27411]</div><div class='del'>-</div><div class='del'>-Tue Oct 11 00:01:21 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_free_table): do not call free() but xfree().</div><div class='del'>-	  [ruby-core:06205]</div><div class='del'>-</div><div class='del'>-Sat Oct  8 19:49:42 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Binding): add Binding#dup method.  [yarv-dev:666]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_init_copy): clear PREP flag for copied IO.</div><div class='del'>-	  fixed: [ruby-dev:27371]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on</div><div class='del'>-	  heap.  [ruby-list:41199]</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_initialize): use rb_respond_to().</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (check): get rid of re-generating ripper.y always.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb: parse config.charset_alias file directly.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv.conv): get rid of nil.to_a.</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb (Scanf::FormatSpecifier#letter, #width): use matched</div><div class='del'>-	  substring directly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb, test/ruby/test_iterator.rb: followed</div><div class='del'>-	  change of sample/test.rb.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: removed superfluous splatting stars.</div><div class='del'>-</div><div class='del'>-Fri Oct  7 16:41:43 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (splat_value): call rb_Array() to convert svalue to</div><div class='del'>-	  values.  [ruby-dev:27397]</div><div class='del'>-</div><div class='del'>-Fri Oct  7 09:54:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie::parse): Cookies from Nokia devices may</div><div class='del'>-	  not be parsed correctly.  A patch from August Z. Flatby</div><div class='del'>-	  (augustzf) in [ruby-Patches-2595].  [ruby-core:06183]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 22:51:30 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Array): Array() to raise error for objects without</div><div class='del'>-	  to_ary, nor to_a.</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_a): revert NilClass#to_a.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 20:10:38 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_free): remove useless code.</div><div class='del'>-	  [ruby-dev:26368] [ruby-dev:27389]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 01:02:19 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_beg_len): should return Qfalse for non-range</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 04:42:38 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (XMLRPC::Server#initialize): should mount the</div><div class='del'>-	  servlet on "/".</div><div class='del'>-</div><div class='del'>-Wed Oct  5 04:06:49 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (XMLRPC::Server#serve): delete wrong call</div><div class='del'>-	  of "join".</div><div class='del'>-</div><div class='del'>-Mon Oct  3 00:04:00 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (EXTEND16): [ruby-dev:27383]</div><div class='del'>-</div><div class='del'>-Sat Oct  1 23:55:24 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (do_select, rb_w32_select): brush up.</div><div class='del'>-</div><div class='del'>-Sat Oct  1 12:57:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_rand): removed.  [ruby-dev:25405]</div><div class='del'>-</div><div class='del'>-Sat Oct  1 01:46:51 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_loop): prohibit multiple proxy</div><div class='del'>-	  options.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 10:26:18 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): abolish sizeof(FILE).</div><div class='del'>-	  [ruby-dev:27317]</div><div class='del'>-</div><div class='del'>-Thu Sep 29 10:15:14 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (:proxy_http_basic_authentication): new option.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 07:22:05 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_send): underscores need to be escaped.</div><div class='del'>-	  fixed by Doug Kearns.  [ruby-core:06053]</div><div class='del'>-</div><div class='del'>-Thu Sep 29 00:57:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when</div><div class='del'>-	  autoload succeeded.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): now return true if autoload</div><div class='del'>-	  succeeded.  fixed: [ruby-dev:27331]</div><div class='del'>-</div><div class='del'>-Wed Sep 28 23:40:04 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_inspect): constified.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 15:12:28 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should</div><div class='del'>-	  refer to the value of QUERY_STRING. [ruby-list:41186]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=):</div><div class='del'>-	  add new method.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 10:45:44 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: cannot compile with Tcl/Tk8.0.x [ruby-dev:27335].</div><div class='del'>-</div><div class='del'>-Wed Sep 28 07:56:52 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/basenode.rb (YAML::BaseNode::match_segment): fix typo.</div><div class='del'>-	  [ruby-dev:27237], [ruby-core:05854]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/tag.rb (Module#yaml_as): suppress warnings.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/types.rb (YAML::PrivateType, YAML::DomainType): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 03:16:41 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubysig.h: fixed build problem with --enable-pthread on platforms</div><div class='del'>-	  which don't have setitimer().</div><div class='del'>-</div><div class='del'>-Mon Sep 26 22:32:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (set_trace_func): add rb_secure(4) to prevent adding</div><div class='del'>-	  tracing function.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 20:59:28 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: changed to ANSI function style.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 12:02:04 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb: typo fixed.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 11:54:11 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb (Rinda::TemplateEntry::initialize): pull</div><div class='del'>-	  up method. Tabs converted to spaces.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 09:34:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: replaced `foo _((boo))' with `foo(boo)'.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 08:19:53 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_content.rb, test/rss/test_syndication.rb: use fcall</div><div class='del'>-	  instead of send in order to override visibility.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 01:46:43 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-calculate-indent): arrange deep-indent</div><div class='del'>-	  closing parenthesis at same column as the opening.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 01:33:41 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setrlimit): make the third argument (rlim_max)</div><div class='del'>-	  optional.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 00:42:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg): deal with heredoc separately.</div><div class='del'>-	  fixed: [ruby-list:41168]</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-calculate-indent): not to deepen indent</div><div class='del'>-	  level for continuous line inside parentheses.</div><div class='del'>-	  http://nabeken.tdiary.net/20050915.html#p02</div><div class='del'>-</div><div class='del'>-Sat Sep 24 21:19:39 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: document enhancement.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: update copyright year.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: update coding style.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 20:20:05 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (teardown): Net::HTTP.version_1_1 breaks</div><div class='del'>-	  many other tests; ensure that Net::HTTP is version 1.2 after test.</div><div class='del'>-	  [ruby-dev:27312]</div><div class='del'>-</div><div class='del'>-Sat Sep 24 11:44:28 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: new file.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 08:54:05 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cd): no longer accept :noop option, related</div><div class='del'>-	  code is useless. [ruby-core:05858] [ruby-Bugs:2494]</div><div class='del'>-</div><div class='del'>-Sat Sep 24 08:30:00 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#sub): new method.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 08:29:36 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose,</div><div class='del'>-	  DryRun. [ruby-core:05954]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_nowrite.rb: test it.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_dryrun.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_verbose.rb: new file.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 07:59:01 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ripper/colorize.rb: removed (replaced by ruby2html.rb).</div><div class='del'>-</div><div class='del'>-	* sample/ripper/ruby2html.rb: added.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 06:35:15 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper: no longer generates .rb files.</div><div class='del'>-</div><div class='del'>-	* parse.y (Init_ripper): ripper_init_eventids*() takes 1 argument,</div><div class='del'>-	  self (class Ripper).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: target removed: `lib/ripper/core.rb'.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: new target `eventids2table.c'.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: new target `check'.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: include eventids2table.c.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: initialize SCANNER_EVENT_TABLE.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb: update $cleanfiles list.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb: no longer generate ripper/core.rb.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb: new mode `check'.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb: new mode `eventids2table'.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb.in: removed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: added.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/filter.rb: update copyright year.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/lexer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 02:40:20 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: document update from James Edward Gray II</div><div class='del'>-	  &lt;james@grayproductions.net&gt;.  [ruby-core:05942]</div><div class='del'>-</div><div class='del'>-Sat Sep 24 02:05:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): should restrict execution on levels</div><div class='del'>-	  higher than $SAFE=2.  suggested by URABE Shyouhei</div><div class='del'>-	  &lt;shyouhei@ice.uec.ac.jp&gt;.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 20:10:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb, ext/ripper/tools/preproc.rb: StringIO</div><div class='del'>-	  is not available for miniruby.  fixed: [ruby-dev:27307]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 17:36:48 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: avoid core dump with WIN32OLE_EVENT.</div><div class='del'>-	  [ruby-dev:27133]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 16:27:39 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb: replaced by new implementation from</div><div class='del'>-	  &lt;Daniel.Berger@qwest.com&gt;.  [ruby-core:05899]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 07:07:47 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/depend: use --output option instead of redirect;</div><div class='del'>-	  nmake does not remove a target when the target file is created by</div><div class='del'>-	  redirect. [ruby-dev:26466]</div><div class='del'>-</div><div class='del'>-	* test/ripper/tools/preproc.rb: new option --output.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 06:57:52 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/tools/generate.rb: check parser event arity.</div><div class='del'>-</div><div class='del'>-	* test/ripper/tools/generate.rb: detect crash of parser-event-IDs</div><div class='del'>-	  and scanner-event-IDs.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 06:01:30 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: check File#chown(nil,nil).</div><div class='del'>-	  [ruby-dev:27140]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 05:57:23 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper: refactoring code generation tools. [ruby-dev:27247]</div><div class='del'>-	  [ruby-dev:27273]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: use generate.rb.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: removed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-eventids1.rb: removed (code moved to</div><div class='del'>-	  generate.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-ripper_rb.rb: removed (code moved to</div><div class='del'>-	  generate.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-parse-event-ids.rb: removed (code moved to</div><div class='del'>-	  generate.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-scan-event-ids.rb: removed (code moved to</div><div class='del'>-	  generate.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: removed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper: refactoring tests. [ruby-dev:27273]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/check-event-arity.rb: removed (code moved to</div><div class='del'>-	  tools/generate.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/check-event-coverage.rb: removed (code moved to</div><div class='del'>-	  test/ripper/test_parser_events.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/check-scanner-event-coverage.rb: removed (code</div><div class='del'>-	  moved to test/ripper/test_scanner_events.rb).</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/list-called-events.rb: removed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/src_rb: removed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/validate.rb: removed.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: check event coverage.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb.in: update copyright year.</div><div class='del'>-</div><div class='del'>-Thu Sep 22 23:40:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_executable0): default path if environment is not</div><div class='del'>-	  set.  [ruby-dev:27281]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb (have_command): replaced with find_executable.</div><div class='del'>-</div><div class='del'>-Thu Sep 22 17:31:48 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb (TestReadline::replace_stdio):</div><div class='del'>-	  merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223].</div><div class='del'>-	  (merged from ruby_1_8 branch)</div><div class='del'>-</div><div class='del'>-Wed Sep 21 23:30:44 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): generalized nmake dependent code.</div><div class='del'>-</div><div class='del'>-Wed Sep 21 14:16:30 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (SUFFIXES): no longer needed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (c): avoid nmake problem. fixed [ruby-dev:27191]</div><div class='del'>-</div><div class='del'>-Wed Sep 21 08:52:25 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: correctly compute indentation of a block</div><div class='del'>-	  scalar's parent node. [ruby-talk:150620]</div><div class='del'>-</div><div class='del'>-Wed Sep 21 08:20:24 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: add new features.</div><div class='del'>-</div><div class='del'>-Wed Sep 21 07:43:58 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (default_argv, Arguable#options): defaults strings</div><div class='del'>-	  to be parsed to Arguable instance.</div><div class='del'>-</div><div class='del'>-Wed Sep 21 02:44:09 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (path_check_0): disallow sticky world writable directory</div><div class='del'>-	  in PATH (and $LOAD_PATH).  [ruby-dev:27226]</div><div class='del'>-</div><div class='del'>-Wed Sep 21 00:32:22 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_idiv): 1.div(1.0) should return integer value.</div><div class='del'>-	  [ruby-dev:27235]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 22:25:43 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/lib/nonblock.rb: disable on platforms non-blocking flag</div><div class='del'>-	  is not available.  fixed: [ruby-dev:27187]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_inspect): protoized function pointer.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 18:23:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_mark): mark th-&gt;last_status.  [ruby-dev:27179]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 18:20:33 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: require 'yaml/constants'.  [ruby-core:5776]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 17:48:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset</div><div class='del'>-	  information to content-type header.[ruby-core:5127]</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (CGIServer::serve): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 17:26:42 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb: set ENV["PATH"] to CGIEnvPath on</div><div class='del'>-	  windows. bcc32's runtime is not installed into system directory,</div><div class='del'>-	  so it cannot be found without this setting. [ruby-dev:27166]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 17:14:10 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: PIPE_BUF is not defined on BeOS. use _POSIX_PIPE_BUF instead.</div><div class='del'>-	  [ruby-dev:27185]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 17:10:38 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove</div><div class='del'>-	  test_s_open_error test to detect duplicate open.</div><div class='del'>-	  [ruby-dev:27202]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 15:39:40 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_scan_scalar): prevent indicators from</div><div class='del'>-	  appearing alone or at the end of plain scalars. [ruby-core:5826]</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes</div><div class='del'>-	  as complex keys.</div><div class='del'>-</div><div class='del'>-	* lib/syck.h: version 0.60.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during</div><div class='del'>-	  key searches.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: loading of binary-typed nodes.  prevent</div><div class='del'>-	  emission of plain strings that look like symbols, but which aren't.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 05:48:26 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb (setup_http_server):</div><div class='del'>-	  should not include 'webrick/https' unless 'use_ssl' because</div><div class='del'>-	  it fails where openssl is not installed.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 01:24:45 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (splat_value): use to_a to splat non Array object.</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_a): remove nil.to_a.  [experimental]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 01:01:41 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Fixnum): remove debug print.</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb (Rational): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 00:34:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_close): call rb_io_close() directly if io is a T_FILE</div><div class='del'>-	  object.  [ruby-dev:27156]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 18:58:10 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_chown): should accept nil. [ruby-dev:27171]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 18:29:54 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): allow pathnames to expand.</div><div class='del'>-	  [ruby-dev:27152]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 15:12:15 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: do not make ripper/core.rb. [ruby-dev:26462]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 14:49:19 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: add prefix `t' to tLAMBDA-related lexer</div><div class='del'>-	  events.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: updated.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 14:39:46 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (do_block): do_block event dispatches 2 args.</div><div class='del'>-	  [ruby-dev:26964]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: updated.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-parser-event-ids.rb: check arity mismatch.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 07:45:37 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.h, ossl_pkey_rsa.c, ossl_pkey_dsa.c:</div><div class='del'>-	  an instance variable "private" is added to OpenSSL::PKey class.</div><div class='del'>-	  this ivar is a flag that shows whether there is a private key</div><div class='del'>-	  in the instance.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private</div><div class='del'>-	  key flag.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: add test about private detection.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 06:38:03 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: method renaming: collect_methods -&gt;</div><div class='del'>-	  collect_method.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 05:58:59 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: use module_function instead of single extend.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: test existence of singleton</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 05:32:41 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_entry_secure): does not use chdir(2).</div><div class='del'>-</div><div class='del'>-Mon Sep 19 03:17:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_thread_flock): wrap the flock system call by</div><div class='del'>-	  TRAP_BEG/TRAP_END to enable signals.  [ruby-dev:27122]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_send): wrap the sendto and send system</div><div class='del'>-	  call by TRAP_BEG/TRAP_END to enable signals when writing to a socket</div><div class='del'>-	  which is full.  [ruby-dev:27132]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_syswrite): wrap the write system call by</div><div class='del'>-	  TRAP_BEG/TRAP_END to run signal handler in syswrite method.</div><div class='del'>-	  [ruby-dev:27134]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 01:07:38 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): should define Fixnum#div.</div><div class='del'>-	  [ruby-dev:27129]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_thread_flock): wrap flock(2) by TRAP_BEG and</div><div class='del'>-	  TRAP_END.  [ruby-dev:27122]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): call FilePathValue() to all Pathnames to</div><div class='del'>-	  join.  [ruby-dev:27127]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path): call StringValueCStr() to ensure no nul</div><div class='del'>-	  bytes in path strings.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): need value for return.  [ruby-dev:27127]</div><div class='del'>-</div><div class='del'>-Sun Sep 18 02:10:47 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: remove comments that are bungling up</div><div class='del'>-	  the rdoc and ri output.  output symbols as plain scalars.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_reset): emit headless</div><div class='del'>-	  documents always.</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_scan_scalar): quote scalars with any</div><div class='del'>-	  kind of surrounding line space, tabs or spaces alike.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: accept tabs as whitespace, not for indentation,</div><div class='del'>-	  but strip from plain scalars.</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: remove outdated tests.</div><div class='del'>-</div><div class='del'>-Sun Sep 18 01:10:37 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): return false if no GC run.</div><div class='del'>-</div><div class='del'>-Sat Sep 17 23:25:04 2005  sheepman  &lt;sheepman@sheepman.sakura.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Rational::inspect): should preserve original</div><div class='del'>-	  operand.  [ruby-core:05806]</div><div class='del'>-</div><div class='del'>-Sat Sep 17 23:20:27 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie): should handle multiple values for a</div><div class='del'>-	  cookie name.  [ruby-talk:156140]</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb (TestTCPSocket::test_recvfrom): typo</div><div class='del'>-	  fixed.  [ruby-dev:27123]</div><div class='del'>-</div><div class='del'>-Sat Sep 17 20:58:56 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): fixed deadlock bug.</div><div class='del'>-	  because select(2) modifies its fd_set arguments, it must be</div><div class='del'>-	  restored sometimes.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): performance improvement when</div><div class='del'>-	 'always readable/writable handles' and sockets are passed.</div><div class='del'>-	  sockets should be polled every time.</div><div class='del'>-</div><div class='del'>-	    require "net/http"</div><div class='del'>-</div><div class='del'>-	    Thread.new {</div><div class='del'>-	      loop do</div><div class='del'>-		STDOUT.write(".") # busy on console (this is worst case though)</div><div class='del'>-	      end</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    # socket operation took long time. (sometimes timed out)</div><div class='del'>-	    Net::HTTP.start("www.ruby-lang.org") do |http|</div><div class='del'>-		http.get("/cgi-bin/cvsweb.cgi/ruby/array.c?rev=1.179")</div><div class='del'>-	    end</div><div class='del'>-</div><div class='del'>-Sat Sep 17 14:54:40 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb (test_open_pipe, test_with_stdio):</div><div class='del'>-	  these tests are working now, so turned on. (windows)</div><div class='del'>-</div><div class='del'>-Sat Sep 17 14:18:15 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): I hope performance problem was</div><div class='del'>-	  solved.</div><div class='del'>-</div><div class='del'>-Sat Sep 17 13:45:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): console support is back.</div><div class='del'>-	  but still has performance problem because I loosely took 1 second</div><div class='del'>-	  for wait time. I'll fix it later. (The reason I drastically changed</div><div class='del'>-	  the code is that I wanted to implement the fileset management as</div><div class='del'>-	  single function, and I was worried that if pipe or console</div><div class='del'>-	  was always available, socket may not be processed any time)</div><div class='del'>-</div><div class='del'>-Sat Sep 17 11:24:16 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): select for socket didn't work.</div><div class='del'>-	  this caused deadlock in drb test. this happened because GetFileType</div><div class='del'>-	  for socket handle returns FILE_TYPE_PIPE. Of course, it's not a</div><div class='del'>-	  pipe. So socket handle didn't reach winsock's select function.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): read for pipe was still blocked</div><div class='del'>-	  even if writer handle was closed.</div><div class='del'>-</div><div class='del'>-	    r,w = IO.pipe</div><div class='del'>-</div><div class='del'>-	    Thread.new {</div><div class='del'>-	      sleep 3; puts "------- 1"</div><div class='del'>-	      w.puts("foo")</div><div class='del'>-	      sleep 3; puts "------- 2"</div><div class='del'>-	      w.puts("boo")</div><div class='del'>-	      sleep 3; puts "------- 3"</div><div class='del'>-	      w.close</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	    until r.eof? # should break by w.close but didn't.</div><div class='del'>-	      puts r.gets</div><div class='del'>-	    end</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): temporary reverted console support</div><div class='del'>-	  but it'll be back soon.</div><div class='del'>-</div><div class='del'>-Sat Sep 17 10:42:13 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string</div><div class='del'>-	  should call Kernel.eval on caller's safe-level instead of slave's</div><div class='del'>-	  safe-level (Of course, the given script should be evaluated on</div><div class='del'>-	  slave's safe-level).</div><div class='del'>-</div><div class='del'>-Sat Sep 17 09:45:26 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): should propagate taintness even for</div><div class='del'>-	  empty strings.  [ruby-dev:27121]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aref): should infect result if range argument</div><div class='del'>-	  is tainted.  [ruby-dev:27121]</div><div class='del'>-</div><div class='del'>-Sat Sep 17 08:35:39 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb (RSS::Maker::ItemsBase#normalize): fixed</div><div class='del'>-	  strange RSS::Maker::Item#max_size behavior.</div><div class='del'>-	  Thanks to Kazuhiko &lt;kazuhiko@fdiary.net&gt;.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_1.0.rb (RSS::TestMaker10#test_items): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 17 08:02:53 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: supported DIGEST-MD5.  Thanks, Mathieu Arnold.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: use fcall instead of send.  Thanks, Satoru</div><div class='del'>-	  Takabayashi.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 22:45:49 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): empty string for path name ending with a</div><div class='del'>-	  period.  fixed: [ruby-core:05651]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): smarter behavior at edge cases.</div><div class='del'>-	  fixed: [ruby-core:05706]</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_memerror, ruby_xmalloc, ruby_xrealloc, rb_newobj): just</div><div class='del'>-	  abandon if no memory available, when interpreter is not running.</div><div class='del'>-	  [ruby-dev:27104]</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): return whether GC could run.</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): fix delimiter bug.  fixed: [ruby-dev:27105]</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_aref, dir_s_glob): allow multiple patterns.</div><div class='del'>-	  [ruby-dev:27110]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (cmdglob): enable brace expansion.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 18:34:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/node.c (syck_replace_str): was using return from the</div><div class='del'>-	  void function.  a patch from MIYAMUKO Katsuyuki</div><div class='del'>-	  &lt;miyamuko at mtb.biglobe.ne.jp&gt;.  [ruby-dev:27111]</div><div class='del'>-</div><div class='del'>-Fri Sep 16 14:48:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string</div><div class='del'>-</div><div class='del'>-Fri Sep 16 12:02:12 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_resolver_transfer): remove C++ style</div><div class='del'>-	  comment (//).  [ruby-core:05793]</div><div class='del'>-</div><div class='del'>-Fri Sep 16 00:17:03 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: unintentionally overwritten changes by</div><div class='del'>-	  Usa.  reverted.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 00:03:11 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#initialize): should set</div><div class='del'>-	  $stdout.binmode.</div><div class='del'>-</div><div class='del'>-Thu Sep 15 23:25:21 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.5.</div><div class='del'>-</div><div class='del'>-	  #nnn is a ticket number at http://dev.ctor.org/soap4r</div><div class='del'>-</div><div class='del'>-	  * SOAP</div><div class='del'>-</div><div class='del'>-	    * allow to configure an envelope namespace of SOAP request. (#124)</div><div class='del'>-		TemporaryNamespace = 'http://www.w3.org/2003/05/soap-envelope'</div><div class='del'>-		@client.options["soap.envelope.requestnamespace"] =</div><div class='del'>-		  TemporaryNamespace</div><div class='del'>-		@client.options["soap.envelope.responsenamespace"] =</div><div class='del'>-		  TemporaryNamespace</div><div class='del'>-		@client.do_proc(...)</div><div class='del'>-</div><div class='del'>-	    * let SOAP request XML indent space configurable.  see</div><div class='del'>-	      "soap.envelope.no_indent" option. (#130)</div><div class='del'>-</div><div class='del'>-	    * let external CES configurable.</div><div class='del'>-	      ex. client["soap.mapping.external_ces"] = 'SJIS'.  $KCODE is used</div><div class='del'>-	      by default. (#133)</div><div class='del'>-		external CES ::= CES used in Ruby object of client and server</div><div class='del'>-		internal CES ::= CES used in SOAP/OM</div><div class='del'>-</div><div class='del'>-	    * add iso-8859-1 external CES support. (#106)</div><div class='del'>-</div><div class='del'>-	    * fixed illegal 'qualified' handling of elements.  it caused</div><div class='del'>-	      ASP.NET interoperability problem. (#144)</div><div class='del'>-</div><div class='del'>-	    * added 'soap.envelope.use_numeric_character_reference' (boolean)</div><div class='del'>-	      option to let query XML use numeric character reference in XML,</div><div class='del'>-	      not plain UTF-8 character.  !GoogleSearch server seems to not</div><div class='del'>-	      allow plain UTF-8 character since 2005-08-15 update. (#147)</div><div class='del'>-</div><div class='del'>-	    * SOAP::Header::SimpleHeader (de)serialization throws an exception</div><div class='del'>-	      on !SimpleHeader.on_(in|out)bound when header is a String.  so we</div><div class='del'>-	      could not use a simple single element headerItem.  fixed.  thanks</div><div class='del'>-	      to emil. (#129)</div><div class='del'>-</div><div class='del'>-	    * out parameter of rpc operation did not work.  (#132)</div><div class='del'>-</div><div class='del'>-	    * follow HTTP redirect only if using http-access2.  (#125) (#145)</div><div class='del'>-</div><div class='del'>-	    * add a workaround for importing an WSDL whose path begins with</div><div class='del'>-	      drive letter.  (#115)</div><div class='del'>-</div><div class='del'>-	  * WSDL</div><div class='del'>-</div><div class='del'>-	    * SOAP Data which is defined as a simpletype was not mapped</div><div class='del'>-	      correctly to Ruby obj when using wsdl2ruby.rb generated classdef</div><div class='del'>-	      file. (#123)</div><div class='del'>-</div><div class='del'>-	    * rpc/literal support. (#118)</div><div class='del'>-</div><div class='del'>-	    * re-implemented local element qualify/unqualify control.  handles</div><div class='del'>-	      elementFormDefault and form in WSDL.  (#119)</div><div class='del'>-</div><div class='del'>-	    * Array of an element which has simpleType causes a crash. (#128)</div><div class='del'>-</div><div class='del'>-	    * parameterOrder may not contain return part so it can be shorter</div><div class='del'>-	      than parts size.  Thanks to Hugh.  (#139)</div><div class='del'>-</div><div class='del'>-	  * Samples</div><div class='del'>-</div><div class='del'>-	    * added !BasicAuth client sample. (#117)</div><div class='del'>-</div><div class='del'>-	    * added Base64 client/server sample.</div><div class='del'>-</div><div class='del'>-	    * added Flickr SOAP interface client sample. (#122)</div><div class='del'>-</div><div class='del'>-	    * added !SalesForce client sample. (#135)</div><div class='del'>-</div><div class='del'>-	    * updated Thawte CA certificate for !GoogleAdWords sample.</div><div class='del'>-</div><div class='del'>-	    * updated a client script with the newer version made by Johan.</div><div class='del'>-	      thanks!</div><div class='del'>-</div><div class='del'>-	    * shortened long file names. (#120)</div><div class='del'>-</div><div class='del'>-	    * fixed typo in authheader sample. (#129)</div><div class='del'>-</div><div class='del'>-	    * updated deprecated method usage.  (#138)</div><div class='del'>-</div><div class='del'>-Thu Sep 15 22:40:27 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_exit_action): skip the test using</div><div class='del'>-	  fork on fork-less platforms.</div><div class='del'>-</div><div class='del'>-Thu Sep 15 13:54:33 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: add :read_timeout option.</div><div class='del'>-	  [ruby-core:4848]</div><div class='del'>-</div><div class='del'>-Thu Sep 15 11:39:18 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,</div><div class='del'>-	  TkDialogObj#name raises an exception. [ruby-talk:156109]</div><div class='del'>-</div><div class='del'>-Thu Sep 15 11:01:58 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec): remove unnecessary CloseHandle().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (extract_console_fd, peek_console): new functions.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): check consoles by polling them.</div><div class='del'>-</div><div class='del'>-Thu Sep 15 00:18:24 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (Net::Telnet::waitfor): replace sysread with</div><div class='del'>-	  readpartial.  [ruby-talk:127641]</div><div class='del'>-</div><div class='del'>-Wed Sep 14 23:28:28 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (collect_file_fd): rename from extract_file_fd.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (extract_pipe_fd, peek_pipe): new functions.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select): check pipes by polling them.</div><div class='del'>-</div><div class='del'>-Wed Sep 14 22:40:26 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (ruby_glob): glob function not using ruby exception system.</div><div class='del'>-</div><div class='del'>-Wed Sep 14 17:24:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: changed `foo (*bar)_((boo))' to `foo (*bar)(boo)`.</div><div class='del'>-</div><div class='del'>-	* enumerator.c, eval.c, gc.c, intern.h, io.c, process.c, ruby.c,</div><div class='del'>-	  ruby.h, signal.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 14 15:06:22 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: changed `foo _((boo))' to `foo(boo)`. [ruby-dev:27056]</div><div class='del'>-</div><div class='del'>-	* defines.h, dir.c, dln.h, enumerator.c, env.h, error.c, eval.c, file.c,</div><div class='del'>-	  gc.c, hash.c, inits.c, intern.h, io.c, lex.c, marshal.c, missing.h,</div><div class='del'>-	  node.h, numeric.c, pack.c, process.c, re.h, ruby.c, ruby.h, rubyio.h,</div><div class='del'>-	  rubysig.h, signal.c, sprintf.c, st.h, string.c, struct.c, time.c,</div><div class='del'>-	  util.c, util.h, variable.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 22:09:40 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger): added formatter accessor to logger for</div><div class='del'>-	  dictating the way in which the logger should format the messages it</div><div class='del'>-	  displays.  Thanks to Nicholas Seckar (cf. [ruby-talk:153391]) and</div><div class='del'>-	  Daniel Berger.</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger): added VERSION constant.</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: removed document for LogDevice. It is an</div><div class='del'>-	  implementation detail and is not a public interface.</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: added tests.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 21:47:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (BEGIN_CALLARGS): pop halfly pushed status.</div><div class='del'>-	  fixed: [ruby-dev:26881]</div><div class='del'>-</div><div class='del'>-Tue Sep 13 20:24:37 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (PRINTF_ARGS): new macro for printf style argument checking.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 15:41:29 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: wrote documentation of HTTPRequest/HTTPResponse</div><div class='del'>-	  classes.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 14:27:47 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c, missing.h: failed to build on powerpc-apple-darwin7.9.0</div><div class='del'>-	  because of crypt argument's constness mismatch. (I hope this works)</div><div class='del'>-	  (http://mput.dip.jp/autobuild/ruby-trunk/log/20050913T110001.gz)</div><div class='del'>-</div><div class='del'>-Tue Sep 13 12:33:05 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: reworking YAML::Stream to use the new</div><div class='del'>-	  emitter.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/stream.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: added Object#yaml_new.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/tag.rb: the tag_subclasses? method now</div><div class='del'>-	  shows up in the class.  allow taguri to be set using an accessor.</div><div class='del'>-	  continue support of Object#to_yaml_type.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: new emitter code.  yaml_new and yaml_initialize</div><div class='del'>-	  get called, should they be present.  consolidated all the diaspora of 	  internal node types into the family below YAML::Syck::Node -- Map,</div><div class='del'>-	  Seq, Scalar -- all of whom are SyckNode structs pointing to</div><div class='del'>-	  Ruby data.  moved Object#yaml_new into the node_import and made it</div><div class='del'>-	  the default behavior.  the target_class is always called with</div><div class='del'>-	  yaml_new, prepended a parameter, which is the klass.  loaded nodes</div><div class='del'>-	  through GenericResolver show their style.</div><div class='del'>-	  new Resolver#tagurize converts type ids to taguris.</div><div class='del'>-</div><div class='del'>-	* ext/syck/implicit.re: were 'y' and 'n' seriously omitted??</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c: renovated emitter, walks the tree in advance.</div><div class='del'>-	  consolidated redundant block_styles struct into</div><div class='del'>-	  the scalar_style struct.  (this means loaded nodes can now</div><div class='del'>-	  be sent back to emitter and preserve at least its very basic</div><div class='del'>-	  formatting.)</div><div class='del'>-</div><div class='del'>-	* ext/syck/gram.c: headless documents of any kind allowed.</div><div class='del'>-</div><div class='del'>-	* ext/syck/node.c: new syck_replace_str methods and syck_empty_*</div><div class='del'>-	  methods for rewriting node contents, while keeping the ID</div><div class='del'>-	  and other setup info.  added syck_seq_assign.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: reflect block_styles and new node functions.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 08:09:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (new_ostruct_member): Object#send no longer call</div><div class='del'>-	  private methods.  [ruby-dev:27044]</div><div class='del'>-</div><div class='del'>-	* test/rss/test_dublincore.rb, test/rss/test_trackback.rb,</div><div class='del'>-	  test/ruby/test_eval.rb, test/socket/test_socket.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda (test_call_with_block): lambda makes new scope</div><div class='del'>-	  for formal block parameter.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 01:17:45 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_save_safe_level): no need to restrict safe level</div><div class='del'>-	  memoize in $SAFE&gt;=3.  [ruby-dev:27050]</div><div class='del'>-</div><div class='del'>-Tue Sep 13 00:02:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (apply2files): stricter callback definition.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_path_check): constified.</div><div class='del'>-</div><div class='del'>-Mon Sep 12 20:53:06 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs7.rb (test_enveloped): skip this test</div><div class='del'>-	  to avoid a bug of PKCS7_encrypt() (only if ext/openssl is</div><div class='del'>-	  compiled with OpenSSL-0.9.7d or earlier versions).</div><div class='del'>-	  http://www.mail-archive.com/openssl-dev@openssl.org/msg17376.html</div><div class='del'>-</div><div class='del'>-Mon Sep 12 20:32:00 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[hc] (rb_w32_argv_size, ...): reverted my latest change</div><div class='del'>-	  to avoid incompatible pointer warning. (mingw32)</div><div class='del'>-</div><div class='del'>-Mon Sep 12 19:58:53 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: avoid warning of const to non-const conversion.</div><div class='del'>-	  [ruby-dev:27041]</div><div class='del'>-</div><div class='del'>-	* eval.c, io.c, ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 12 19:26:29 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: moved to ANSI function style from K&amp;R function style.</div><div class='del'>-	  (used protoize on windows, so still K&amp;R remains on #ifdef part of</div><div class='del'>-	   other platforms. And  `foo _((boo))' stuff is still there)</div><div class='del'>-	   [ruby-dev:26975]</div><div class='del'>-</div><div class='del'>-	* bignum.c, class.c, compar.c, dir.c, dln.c, dmyext.c, enum.c,</div><div class='del'>-	  enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c,</div><div class='del'>-	  io.c, main.c, marshal.c, math.c, numeric.c, object.c, pack.c,</div><div class='del'>-	  prec.c, process.c, random.c, range.c, re.c, regcomp.c, regenc.c,</div><div class='del'>-	  regerror.c, regexec.c, regparse.c, regparse.h, ruby.c, signal.c,</div><div class='del'>-	  sprintf.c, st.c, string.c, struct.c, time.c, util.h, variable.c,</div><div class='del'>-	  version.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 12 14:03:33 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb: remove locking test, which may not be</div><div class='del'>-	  supported on some platforms.  [ruby-dev:27030]</div><div class='del'>-</div><div class='del'>-Sun Sep 11 23:23:02 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (starttls): supported the STARTTLS command.</div><div class='del'>-</div><div class='del'>-Sun Sep 11 22:18:07 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb (ERB::Main#run): set ERB#filename so that it is used</div><div class='del'>-	  when reporting syntax/runtime errors. Tabs converted to spaces.</div><div class='del'>-</div><div class='del'>-Sat Sep 10 22:34:19 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, bignum.c: protoize.</div><div class='del'>-</div><div class='del'>-Sat Sep 10 00:23:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (splat_value): simpler and consistent array conversion</div><div class='del'>-	  for argument splat.  [yarv-dev:599]</div><div class='del'>-</div><div class='del'>-Fri Sep  9 16:45:25 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): make empty strings to keep taintness,</div><div class='del'>-	  and a little improvement.  [ruby-dev:26900]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_try), ext/iconv/extconf.rb: get rid of meta</div><div class='del'>-	  characters in command line option.  fixed: [ruby-talk:155369]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: protoized.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 14:58:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* merged a patch from Takahiro Kambe &lt;taca at back-street.net&gt; to</div><div class='del'>-	  support DragonFly BSD.  [ruby-dev:26984]</div><div class='del'>-</div><div class='del'>-Thu Sep  8 13:14:57 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/strchr.c (strrchr): fixed a bug in detecting NUL in a</div><div class='del'>-	  string.  [ruby-dev:26985]</div><div class='del'>-</div><div class='del'>-Wed Sep  7 17:29:27 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_by_id):</div><div class='del'>-	  OpenSSL::Engine.by_id calls given block before calling</div><div class='del'>-	  ENGINE_init (block parameter is the return value of this method</div><div class='del'>-	  itself).  this functionality is useful to load dynamic shared</div><div class='del'>-	  engines.</div><div class='del'>-</div><div class='del'>-		require "openssl"</div><div class='del'>-		pkcs11 = OpenSSL::Engine.by_id("dynamic"){|e|</div><div class='del'>-		  e.ctrl_cmd("SO_PATH", "/usr/lib/opensc/engine_pkcs11.so")</div><div class='del'>-		  e.ctrl_cmd("LIST_ADD", "1")</div><div class='del'>-		  e.ctrl_cmd("LOAD")</div><div class='del'>-		}</div><div class='del'>-		pkcs11.ctrl_cmd("PIN", "secret")</div><div class='del'>-		key = pkcs11.load_private_key</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method</div><div class='del'>-	  OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method</div><div class='del'>-	  OpenSSL::Engine#cmds. it returns engine command definitions.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 15:48:37 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (asn1str_to_str): new function.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.</div><div class='del'>-	  this class wraps PKCS7_RECIP_INFO struct.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to</div><div class='del'>-	  OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of</div><div class='del'>-	  SignerInfo.)</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs7.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 12:55:08 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: abolish mod === tempfile to avoid a problem</div><div class='del'>-	  [ruby-dev:26967].</div><div class='del'>-</div><div class='del'>-Wed Sep  7 10:45:15 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_switch): convert all exceptions to</div><div class='del'>-	  SystemExit.  fixed: [ruby-core:05724]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_terminated): show backtrace before propagate</div><div class='del'>-	  exceptions to main thread.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 09:21:41 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[hc] (rb_w32_utime): constified.</div><div class='del'>-</div><div class='del'>-	* win32/win32.h (rb_w32_stat): added prototype.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[hc] (rb_w32_argv_size,rb_w32_join_argv,rb_w32_aspawn):</div><div class='del'>-	  changed `char *const *' to `const char *const *'. (constify string)</div><div class='del'>-</div><div class='del'>-Wed Sep  7 08:35:04 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load</div><div class='del'>-	  extension libraries.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignew_1, bigadd): K&amp;R style argument actually can't be</div><div class='del'>-	  defined as char.</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c: ANSI compiler supports const keyword.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h</div><div class='del'>-	  but no 64bit integer.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (what_type?): guesstimate type.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be</div><div class='del'>-	  char*.  fixed: [ruby-core:05470]</div><div class='del'>-</div><div class='del'>-Wed Sep  7 08:32:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): should taint empty strings as well.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): make class_variable_{get,set} public.</div><div class='del'>-	  [ruby-dev:26965]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 22:28:46 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt, mlhs_node, lhs, arg, method_call): aref_args might be</div><div class='del'>-	  nothing.  fixed: [ruby-dev:26952]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: added new tokens.  fixed: [ruby-dev:26952]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 17:03:07 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb: should raise ENOENT if root entry does not exist.</div><div class='del'>-	  [ruby-list:41054]</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: a patch from Florian Gross &lt;florgro at gmail.com&gt;</div><div class='del'>-	  merged to allow recursive inspect (and to_s) for OpenStruct.</div><div class='del'>-	  [ruby-core:05532]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 08:20:19 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb: a patch from nornagon &lt;nornagon at gmail.com&gt;</div><div class='del'>-	  merged to allow arbitrary names for update methods.</div><div class='del'>-	  [ruby-core:05416]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 07:01:12 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):</div><div class='del'>-	  should clear data from the buffer which already been output.</div><div class='del'>-</div><div class='del'>-Sun Sep  4 15:01:35 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg): Ripper should not do semantic check.</div><div class='del'>-	  [ruby-dev:26948]</div><div class='del'>-</div><div class='del'>-Sat Sep  3 23:52:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_fcall): new method to avoid inefficiency of</div><div class='del'>-	  obj.instance_eval{send(...)} tricks.</div><div class='del'>-</div><div class='del'>-Sat Sep  3 13:59:31 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#descend): Pathname.new("./a/b/c").descend</div><div class='del'>-	  didn't yield "."</div><div class='del'>-	  (Pathname#ascend): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 23:51:54 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg): f_norm_arg is a VALUE in ripper, not an ID.</div><div class='del'>-	  fixed: [ruby-dev:26942]</div><div class='del'>-</div><div class='del'>-	* lib: do not use __send__ to access private methods.  [ruby-dev:26935]</div><div class='del'>-</div><div class='del'>-Thu Sep  1 17:11:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): wrong condition for $SAFE restoration.</div><div class='del'>-</div><div class='del'>-Thu Sep  1 14:12:45 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't</div><div class='del'>-	  work (gives wrong order of arguments).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace</div><div class='del'>-	  to support '-namespace' option of 'interp invokehidden' command</div><div class='del'>-	  on Tcl8.5.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 14:41:30 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (OPTFLAGS): default global optimization to</div><div class='del'>-	  disabled for all VC++ versions.  fixed: [ruby-dev:26897]</div><div class='del'>-</div><div class='del'>-Wed Aug 31 10:36:09 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_detach, proc_setmaxgroups): missing argument type</div><div class='del'>-	  declaration. (I recommend ANSI-style function)</div><div class='del'>-</div><div class='del'>-Wed Aug 31 06:59:01 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scan): already String#scan behaves differently</div><div class='del'>-	  regarding if block is given.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 23:49:34 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, dir.c, enum.c, hash.c, io.c, range.c, string.c, struct.c:</div><div class='del'>-	  let enumerable methods return Enumerator.  [ruby-dev:26924]</div><div class='del'>-</div><div class='del'>-	* intern.h (RETURN_ENUMERATOR): utility macro for enumerable methods.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 23:25:45 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: no need to restart at exit.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 23:20:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue2): initialization miss.  fixed: [ruby-dev:26917]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (xsystem, xpopen): no longer expand by Config.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command, cc_command, cpp_command): expand</div><div class='del'>-	  variables at once, and quote hdrdir.  fixed: [ruby-core:05680]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (libpathflag): quote paths.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 19:34:27 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5ossl.h, ext/digest/rmd160/rmd160ossl.h,</div><div class='del'>-	  ext/digest/sha1/sha1ossl.h: include &lt;stddef.h&gt; to avoid</div><div class='del'>-	  error in compilation with OpenSSL-0.9.8. [ruby-list:41068]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 16:19:40 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb: bug fix. [ruby-dev: 26920]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 16:13:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count): new method.  [ruby-dev:26895]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 12:45:15 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_send): do not call private methods if the receiver</div><div class='del'>-	  is specified.  [ruby-talk:153672]</div><div class='del'>-</div><div class='del'>-Mon Aug 29 19:47:18 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb: improper exceptions. [ruby-dev:26870]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb: support the case when non-ruby code exists before</div><div class='del'>-	  shebang. (this is needed when ri.bat is executed on windows)</div><div class='del'>-</div><div class='del'>-Mon Aug 29 18:58:05 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb: make IRB -I option that is same behavior for ruby.</div><div class='del'>-	  [ruby-dev:26872]</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb: support to print help message when OS locale is</div><div class='del'>-	  ja_JP.utf-8. [ruby-dev:26872]</div><div class='del'>-</div><div class='del'>-Mon Aug 29 01:43:05 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#descend): new method.</div><div class='del'>-	  (Pathname#ascend): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 29 00:35:09 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: require 'date/format' instead of 'parsedate'.</div><div class='del'>-	  (Time.parse): extract fractional seconds using Date._parse.</div><div class='del'>-	  (Time.strptime): extract fractional seconds using Date._strptime.</div><div class='del'>-	  [ruby-talk:153859]</div><div class='del'>-</div><div class='del'>-Sat Aug 27 20:13:31 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c ({curses,window}_clrtoeol): added. suggested</div><div class='del'>-	  by Reyn Vlietstra.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: chtype in curses is not `char', rather `long'.</div><div class='del'>-	  [ruby-Bugs:2298]</div><div class='del'>-</div><div class='del'>-	* ext/curses/view.rb: String =~ String is deprecated.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 15:48:58 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: suppress warnings. (win32)</div><div class='del'>-</div><div class='del'>-Wed Aug 24 11:01:26 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb (test_shifting_size): should close log</div><div class='del'>-	  device before unlink, since some platform cannot unlink opened</div><div class='del'>-	  file.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 06:07:02 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512.</div><div class='del'>-	  these features are enabled if this library is compiled with</div><div class='del'>-	  OpenSSL 0.9.8 or later.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_digest.rb: add test for new digests.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 05:47:04 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): try to decode</div><div class='del'>-	  the argument as a string.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should</div><div class='del'>-	  set @time to avoid warning.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths,</div><div class='del'>-	  X509_STORE_add_cert, X509_STORE_add_crl): should raise error if</div><div class='del'>-	  wrapped functions fails.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid</div><div class='del'>-	  of unused variable.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ns_spki.rb: add new file.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509store.rb: add test for error.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 01:11:40 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvwrite): should move `buf' to the end of</div><div class='del'>-	  `result'. [ruby-dev:26859]</div><div class='del'>-</div><div class='del'>-Mon Aug 22 23:51:19 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: ONIG_OPTION_CAPTURE_GROUP conflicts with</div><div class='del'>-	  RE_OPTION_ONCE.  [ruby-dev:26852]</div><div class='del'>-</div><div class='del'>-Mon Aug 22 20:11:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD__sprint): needs to call vwrite function</div><div class='del'>-	  pointer.  fixed: [ruby-dev:26854]</div><div class='del'>-</div><div class='del'>-Sat Aug 20 23:55:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): update paren_nest for brackets [].</div><div class='del'>-</div><div class='del'>-Sun Aug 21 00:10:23 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/xmlSchema/importer.rb (WSDL::XMLSchema::Importer#fetch): add</div><div class='del'>-	  a workaround for importing an WSDL whose path begins with drive</div><div class='del'>-	  letter.  [ruby-dev:26242]</div><div class='del'>-</div><div class='del'>-Sat Aug 20 22:05:25 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (code_is_in_cclass_node): check code size.</div><div class='del'>-	  [ruby-dev:26840]</div><div class='del'>-</div><div class='del'>-Sat Aug 20 22:37:13 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (write, shift_log?, shift_log): file shifting race</div><div class='del'>-	  condition bug fixed.  [ruby-dev:26764]</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: tests.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 18:13:39 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.apply_offset): fix a problem with last day of</div><div class='del'>-	  month.  reported by Lucas Nussbaum.  [ruby-talk:152866]</div><div class='del'>-</div><div class='del'>-Thu Aug 18 11:05:36 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (socketpair_internal): need to call open_ifs_socket()</div><div class='del'>-	  to create sockets instead of winsock's socket().</div><div class='del'>-	  fixed: [yarv-dev:581]</div><div class='del'>-</div><div class='del'>-Wed Aug 17 23:58:05 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (terminate_process): take String message.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_switch): propagate the exception caused thread</div><div class='del'>-	  termination directly.  fixed: [ruby-core:05552]</div><div class='del'>-</div><div class='del'>-Wed Aug 17 21:20:05 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: ensure that symbol_to_option is private_class_method</div><div class='del'>-	  and all other methods are module_function</div><div class='del'>-	  fixed: [ruby-dev:26808]</div><div class='del'>-</div><div class='del'>-Wed Aug 17 00:05:46 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_add_method): preserve safe level in the environment</div><div class='del'>-	  where a method is defined .</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): restore preserved safe level in the method</div><div class='del'>-	  execution.</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): need separate block variable stack</div><div class='del'>-	  manipulation and lpar_beg maintenance.  based on a patch found</div><div class='del'>-	  in [ruby-core:05551] from Mauricio Fernandez &lt;mfp at acm.org&gt;.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): adjust lpar_beg after tLAMBEG and</div><div class='del'>-	  kDO_LAMBDA. [ruby-core:05551]</div><div class='del'>-</div><div class='del'>-Mon Aug 15 07:24:38 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_check_to_integer): add declaration.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_to_integer, rb_check_to_integer): argument constified.</div><div class='del'>-</div><div class='del'>-Mon Aug 15 00:38:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.</div><div class='del'>-	  [ruby-dev:26800]</div><div class='del'>-</div><div class='del'>-	* range.c (range_check, range_init): reduce useless exceptions.</div><div class='del'>-</div><div class='del'>-Mon Aug 15 00:34:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): remove unreachable code.  [yarv-dev:570]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 22:16:12 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_entry_secure): forgot final chdir.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 22:07:49 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_entry_secure): uses chdir(2) and check</div><div class='del'>-	  if current directory is correct. [ruby-dev:26100] [ruby-dev:26226]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 21:11:05 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_VARIANT class.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testall.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEVARIANT.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 18:51:26 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_pass): distinguish current block from others.</div><div class='del'>-	  fixed: [ruby-dev:26274]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_set_string): disallow nil.</div><div class='del'>-	  http://www.rubyist.net/~nobu/t/20050811.html#c05</div><div class='del'>-</div><div class='del'>-Sat Aug 13 08:01:59 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: Kconv.kconv is now alias of Kconv.conv</div><div class='del'>-	* ext/nkf/lib/kconv.rb: remove nkf dependent symbols from SYMBOL_TO_OPTION</div><div class='del'>-</div><div class='del'>-Fri Aug 12 17:06:53 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_larglist): allow optional arguments even when</div><div class='del'>-	  parentheses are omitted.  based on Nobu's patch from</div><div class='del'>-	  http://www.rubyist.net/~nobu/t/20050805.html</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): update &amp; maintain lpar_beg for detect</div><div class='del'>-	  lambda parameters.</div><div class='del'>-</div><div class='del'>-Thu Aug 11 23:29:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: keep holding string after closed.</div><div class='del'>-</div><div class='del'>-Thu Aug 11 20:48:40 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_equal, fix_cmp, fix_gt, fix_ge, fix_lt, fix_le):</div><div class='del'>-	  reduce coercing when a method knows about a operand type.</div><div class='del'>-	  [ruby-dev:26789]</div><div class='del'>-</div><div class='del'>-Thu Aug 11 13:01:48 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss: fixed sort bug. [ruby-list:41018]</div><div class='del'>-</div><div class='del'>-	* lib/rss/1.0.rb (RSS::RDF::Channel#setup_maker_attributes):</div><div class='del'>-	  removed self.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb (RSS::Maker::ItemsBase#&lt;=&gt;): use #date</div><div class='del'>-	  instead of @date.</div><div class='del'>-	  (RSS::Maker::Base::self.def_array_element): added #size.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/1.0.rb</div><div class='del'>-	  (RSS::Maker::RSS10::Channel#to_rss,</div><div class='del'>-	   RSS::Maker::RSS10::Items::Item#to_rss): cleared dc_dates set</div><div class='del'>-	  upped by using #date.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/dublincore.rb</div><div class='del'>-	  (RSS::Maker::ChannelBase, RSS::Maker::ItemsBase::ItemBase):</div><div class='del'>-	  fixed opposite alias.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_setup_maker_1.0.rb</div><div class='del'>-	  (RSS::TestSetupMaker10::test_setup_maker_items_sort): added some</div><div class='del'>-	  tests for RSS::Maker::ItemsBase#do_sort.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 12:01:20 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: simplifies Delegator classes; SimpleDelegator</div><div class='del'>-	  now uses method_missing for all methods.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 10:38:50 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_mul0): multiply two numbers (x, y) without</div><div class='del'>-	  normalizing the result.  x should be a big number.</div><div class='del'>-	  [ruby-dev:26778]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): use rb_big_mul0() instead of</div><div class='del'>-	  rb_big_mul().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or, rb_ary_and, rb_ary_plus, rb_ary_diff):</div><div class='del'>-	  revert the change on 2005-08-03.  Set operation on other item</div><div class='del'>-	  should have in separate methods.</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen): warn when arguments shadows</div><div class='del'>-	  external local variables.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_opt): optional arguments should not clobber external</div><div class='del'>-	  local variables.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_rest_arg): rest arguments should not clobber external</div><div class='del'>-	  local variables.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 10:29:40 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: fix bug on handling</div><div class='del'>-	  __item_ruby2val_optkeys().</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/component.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 21:53:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): let default values override</div><div class='del'>-	  arguments to zsuper.  fixed: [ruby-dev:26743]</div><div class='del'>-</div><div class='del'>-Tue Aug  9 20:30:19 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_coerce): allow bignum x bignum coercing.</div><div class='del'>-	  [ruby-dev:26778]</div><div class='del'>-</div><div class='del'>-Tue Aug  9 15:12:04 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: remove dangerous 'rb_jump_tag's.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to</div><div class='del'>-	  help to convert option values between ruby and tcl.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and</div><div class='del'>-	  __item_ruby2val_optkeys to help to convert option values between</div><div class='del'>-	    ruby and tcl.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'</div><div class='del'>-	  option (for the reason of backward compatibility).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/composite.rb: clarify the arguments of super().</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/spinbox.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/validation.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: support to treat tkvariable-type</div><div class='del'>-	  configure options.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 08:24:05 2005  Mauricio Fernandez  &lt;mfp@acm.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_block_arg), eval.c (rb_yield_0): deal with dynamic</div><div class='del'>-	  variable lambda arguments.  [ruby-core:05540]</div><div class='del'>-</div><div class='del'>-Mon Aug  8 22:13:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (assign): deal with new block argument.</div><div class='del'>-	  fixed: [ruby-core:05536]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_node_arity): follow change of NODE_ARGS.</div><div class='del'>-	  fixed: [ruby-dev:26761]</div><div class='del'>-</div><div class='del'>-Mon Aug  8 21:28:13 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fnmatch.rb: separated from test_file.rb.</div><div class='del'>-</div><div class='del'>-Mon Aug  8 20:40:35 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: added.  [ruby-dev:26761]</div><div class='del'>-</div><div class='del'>-Mon Aug  8 01:26:37 2005  Mauricio Fernandez  &lt;mfp@acm.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_larglist): mistake in syntax rule.  [ruby-core:05535]</div><div class='del'>-</div><div class='del'>-Mon Aug  8 05:16:55 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_raise): should use ERR_peek_last_error</div><div class='del'>-	  to get last error on the current thread. And should report</div><div class='del'>-	  if errors are on the stack while OpenSSL.debug is true.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_get_errors): new method for debugging</div><div class='del'>-	  this library.</div><div class='del'>-</div><div class='del'>-Mon Aug  8 05:15:19 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (HTTPProxyServer#initialize),</div><div class='del'>-	  lib/webrick/httpserver.rb (HTTPServer#initialize),</div><div class='del'>-	  lib/webrick/httpservlet/cgihandler.rb (CGIHandler#initialize),</div><div class='del'>-	  lib/webrick/httpservlet/erbhandler.rb (ERBHandler#initialize),</div><div class='del'>-	  lib/webrick/httpservlet/filehandler.rb(DefaultFileHandler#initialize):</div><div class='del'>-	  super (called with no arguments) takes default value of optional</div><div class='del'>-	  arguments. [ruby-dev:26743]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb: add a media-type "text/html" for .xhtml.</div><div class='del'>-</div><div class='del'>-Sun Aug  7 23:52:39 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: added optional arg tests.  [ruby-dev:26743]</div><div class='del'>-	  the tests expects 1.8 behavior at this time.</div><div class='del'>-</div><div class='del'>-Sat Aug  6 12:35:24 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates</div><div class='del'>-	  TkVariable if key name is 'variable' or 'textvariable'</div><div class='del'>-	  by default. [ruby-dev:26749]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/{label,radiobutton}.rb: removed its own</div><div class='del'>-	  {variable,textvariable} function.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: retains backward compatibility.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 12:48:31 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fixed memory leak when tk_funcall raised</div><div class='del'>-	  exception. (copies argv into heap in tk_funcall instead of</div><div class='del'>-	  caller)</div><div class='del'>-</div><div class='del'>-Fri Aug  5 12:36:40 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): need to convert path separator</div><div class='del'>-	  before invoking install command.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 08:08:05 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (return_jump): fix "can't across thread" error message</div><div class='del'>-	  when no thread associated.</div><div class='del'>-	  http://www.namikilab.tuat.ac.jp/~sasada/diary/200507.html#d31</div><div class='del'>-</div><div class='del'>-Fri Aug  5 00:25:12 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: refactoring - extract ruby string &lt;-&gt;</div><div class='del'>-	  tcl object conversion as get_str_from_obj and get_obj_from_str.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 00:19:33 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): provided features should have</div><div class='del'>-	  extensions.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_feature_p): returns type of the feature instead of</div><div class='del'>-	  extension.</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): ruby library should be prior to statically</div><div class='del'>-	  linked extensions.  fixed: [ruby-dev:26711]</div><div class='del'>-</div><div class='del'>-	* eval.c (formal_assign): returns position of rest arguments variable.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_rest_arg): use anonymous variable for rest arguments.</div><div class='del'>-	  fixed: [ruby-dev:26647]</div><div class='del'>-</div><div class='del'>-	* extmk.rb (extmake): needs to be wrapped in an Array.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 20:03:18 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): do not share implementation among</div><div class='del'>-	  Fixnum#/ and Fixnum#div.  [ruby-core:05531]</div><div class='del'>-</div><div class='del'>-Thu Aug  4 18:38:36 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add nativethread consistency check.</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=</div><div class='del'>-	  when Tcl is 7.6 or 8.0.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/wm.rb: support to make some methods as options of</div><div class='del'>-	  root or toplevel widget. [ruby-talk:150336]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/root.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/toplevel.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/SUPPORT_STATUS: update RELEASE_DATE</div><div class='del'>-</div><div class='del'>-Thu Aug  4 13:30:15 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_div): should not convert the result into</div><div class='del'>-	  integer.  [ruby-core:05524]</div><div class='del'>-</div><div class='del'>-Thu Aug  4 08:03:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): should not modify $mflags for each</div><div class='del'>-	  extensions.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 00:25:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated</div><div class='del'>-	  macro definitions.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.</div><div class='del'>-</div><div class='del'>-	* {win32,wince}/Makefile.sub: separate config.h for compiler versions.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 00:24:59 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c: replacing is no longer needed.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 21:59:16 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: TkVariable#trace didn't work on</div><div class='del'>-	  TkVariable retrieved from TkVariable.new_hash.ref. [ruby-dev:26721]</div><div class='del'>-</div><div class='del'>-Wed Aug  3 12:40:28 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_plus): reduce coercing when a method knows about</div><div class='del'>-	  a operand type.  [ruby-dev:26723]</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_minus, fix_mul, fix_quo, fix_div, fix_mod,</div><div class='del'>-	  fix_divmod, fix_pow): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_div, rb_big_modulo): export to reduce</div><div class='del'>-	  coercing.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 10:13:52 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, {bcc32,win32,wince}/Makefile.sub (HAVE_SNPRINTF,</div><div class='del'>-	  HAVE_VSNPRINTF): use win32/win32.c's implementation instead of</div><div class='del'>-	  missing/vsnprintf.c's.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_snprintf, rb_w32_vsnprintf): reverted.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 10:05:08 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check vsnprintf() and snprintf().</div><div class='del'>-</div><div class='del'>-	* sprintf.c, missing/vsnprintf.c: made vsnprintf() and snprintf()</div><div class='del'>-	  private.  fixed: [ruby-dev:26651]</div><div class='del'>-</div><div class='del'>-Wed Aug  3 08:22:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect): revert [ruby-talk:111654]</div><div class='del'>-	  changes at 2004-09-07.  [ruby-dev:26656]</div><div class='del'>-</div><div class='del'>-Wed Aug  3 06:53:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): wraps the operand in an array if it is not</div><div class='del'>-	  an array.  [ruby-talk:150495] [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_and, rb_ary_plus, rb_ary_diff): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  2 10:23:12 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: use Tcl_[GS]etVar2Ex instead of</div><div class='del'>-	  Tcl_Obj[GS]etVar2. (avoid Tcl_NewStringObj on supported platforms)</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: use ip_{get,set,unset}_variable2_core from</div><div class='del'>-	  ip_{get,set,unset}_variable.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: replaced Tcl_Panic with rb_bug.</div><div class='del'>-</div><div class='del'>-Tue Aug  2 01:40:38 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ping.rb (Ping.pingecho): should rescue StandardError.</div><div class='del'>-	  [ruby-dev:26677]</div><div class='del'>-</div><div class='del'>-Mon Aug  1 19:02:23 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: refactoring - replaced rb_ivar_defined &amp;</div><div class='del'>-	  rb_ivar_get with single rb_attr_get call.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 18:44:08 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (Tcl_GetStringResult): refactoring - define</div><div class='del'>-	  alternative macro on Tcl7.x or earlier.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 13:53:55 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (deleted_ip): refactoring - interpreter</div><div class='del'>-	  deletion check. [ruby-dev:26664]</div><div class='del'>-</div><div class='del'>-Mon Aug  1 01:08:21 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (check_insecure_method): use private_methods and</div><div class='del'>-	  protected_methods instead of respond_to? to check method visibility.</div><div class='del'>-	  [ruby-dev:26616]</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 30 18:49:44 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_TYPE#ole_typelib,</div><div class='del'>-	  WIN32OLE_TYPE#implemented_ole_types.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLETYPE.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 16:12:02 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb: fix `irb --readline` option. [ruby-dev:40955]</div><div class='del'>-</div><div class='del'>-Fri Jul 29 09:59:38 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): fix calling zsuper from a method with anonymous</div><div class='del'>-	  rest argument.  [ruby-dev:26639]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): push yielded node instead of yielding.</div><div class='del'>-	  fixed: [yarv-dev:549]</div><div class='del'>-</div><div class='del'>-Thu Jul 28 21:49:17 2005  IWATSUKI Hiroyuki  &lt;don@na.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_end_seen_p): exclude from ripper.</div><div class='del'>-	  &lt;http://moonrock.jp/~don/d/200507.html#d28_t2&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (clearerr): remove standard macro before re-definition.</div><div class='del'>-	  &lt;http://moonrock.jp/~don/d/200507.html#d28_t3&gt;</div><div class='del'>-</div><div class='del'>-Thu Jul 28 18:09:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.c: When --enable-tcltk-stubs, the initialize</div><div class='del'>-	  routine creates a Tcl/Tk interpreter and deletes it. However,</div><div class='del'>-	  init cost of Tk's MainWindow is not so small. And that makes it</div><div class='del'>-	  impossible to use libraries written with Tcl functions only on</div><div class='del'>-	  an environment without a graphical display. This changes support</div><div class='del'>-	  delaying initialization of Tk_Stubs until the script needs Tk.</div><div class='del'>-</div><div class='del'>-	* ext/tk/stubs.h: New file. Define prototypes and return codes of</div><div class='del'>-	  functions on stubs.c.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: Support delaying initialization of Tk_Stubs</div><div class='del'>-	  until the script needs Tk.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: Show friendly error messages for errors on</div><div class='del'>-	  initialization.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: Avoid SEGV on ip_finalize() when ruby is</div><div class='del'>-	  exiting and $DEBUG is true. (Not fix. If you know the reason of</div><div class='del'>-	  why, please fix it.)</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (ary2list, ary2list2): bug fix on handling</div><div class='del'>-	  of encoding.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string</div><div class='del'>-	  don't work properly.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: Forget extending Tk::Encoding module to Tk.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: TkVarAccess fails to initialize the</div><div class='del'>-	  object for an element of a Tcl's array variable.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 17:23:37 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_larglist): allow block argument in lambda parameter</div><div class='del'>-	  list without parenthesis.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 17:14:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (each_i): typo fixed.  [ruby-dev:26622]</div><div class='del'>-</div><div class='del'>-Thu Jul 28 15:04:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg): better argument name duplication check</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): factored out name duplication check for</div><div class='del'>-	  optional and rest arguments.</div><div class='del'>-</div><div class='del'>-	* parse.y (new_bv_gen): allow shadowing outer local variables;</div><div class='del'>-	  warning remains.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 13:46:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_warningS): the argument was omitted.</div><div class='del'>-	  [ruby-dev:26621]</div><div class='del'>-</div><div class='del'>-Thu Jul 28 11:30:57 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_larglist): allow bv_decl at the end of lambda</div><div class='del'>-	  argument list.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* parse.y (new_bv_gen): allow local variable shadowing, with</div><div class='del'>-	  warning in verbose mode.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 23:23:54 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): make message format consistent with one from</div><div class='del'>-	  gc_mark().  [ruby-talk:149668]</div><div class='del'>-</div><div class='del'>-	* sprintf.c (quad_t): prepare quad_t as well.  [ruby-talk:149668]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 22:11:37 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin: removed. because the plugin</div><div class='del'>-	  is imported in the tDiary plugin packages.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 19:11:53 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cd): follow :noop option change. (This patch</div><div class='del'>-	  is contributed by Doug Kearns)</div><div class='del'>-</div><div class='del'>-Wed Jul 27 16:25:59 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): Perl6 style -&gt; lambda expression. [NEW]</div><div class='del'>-	  [VERY EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 10:43:14 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): must not assign pointers to long int.  use</div><div class='del'>-	  LONG_LONG instead if SIZEOF_LONG &lt; SIZEOF_VOIDP.</div><div class='del'>-	  [ruby-talk:149645]</div><div class='del'>-</div><div class='del'>-	* ruby.h: use LONG_LONG to simplify the change.</div><div class='del'>-	  [ruby-talk:149645]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 10:59:02 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_each): rewinddir(3) before iteration.</div><div class='del'>-	  [ruby-talk:149628]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 02:34:58 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_throw): replace all '0x%lx' by '%p'.</div><div class='del'>-	  [ruby-talk:149553]</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c (BSD_vfprintf): '%p' need to handle 64bit</div><div class='del'>-	  size pointer.  [ruby-talk:149553]</div><div class='del'>-</div><div class='del'>-Tue Jul 26 22:41:28 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: new method Ripper.sexp_raw.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb (Ripper.sexp): returns more</div><div class='del'>-	  readable tree.  This is suggested by Kirill A. Shutemov.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 22:05:12 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: merge a patch contributed by Daniel Berger,</div><div class='del'>-	  with some modification. (RubyForge #2128)</div><div class='del'>-</div><div class='del'>-Tue Jul 26 18:11:33 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: support LLP64 model.  [ruby-talk:149524]</div><div class='del'>-</div><div class='del'>-Tue Jul 26 12:57:40 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.c: include &lt;openssl/engine.h&gt; before</div><div class='del'>-	  &lt;openssl/x509_vfy.h&gt; to avoid compilation error of mswin32.</div><div class='del'>-	  suggested by NAKAMURA Usaku.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 23:48:55 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch]: (rb_w32_vsnprintf, rb_w32_snprintf): removed.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 21:30:46 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Borland MAKE doesn't look for file names which have paths</div><div class='del'>-	  from VPATH.  fixed: [ruby-dev:26604]</div><div class='del'>-</div><div class='del'>-	* ruby.h (NORETURN, DEPRECATED): moved just after config.h.</div><div class='del'>-</div><div class='del'>-	* {win32,wince}/Makefile.sub: vsnprintf() is in missing now.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub: moved CPPFLAGS only for ruby</div><div class='del'>-	  source to XCFLAGS.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 14:10:02 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix en-bugged part in the last commit.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 13:45:18 2005  NAJIMA Hiroki  &lt;najima@mickey.ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: check HAVE_SYS_IOCTL_H before including the header.</div><div class='del'>-	  [ruby-dev:26610]</div><div class='del'>-</div><div class='del'>-Sat Jul 23 16:48:12 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_load): should check</div><div class='del'>-	  OPENSSL_NO_STATIC_ENGINE.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 11:46:30 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_fd_select): the all three fd_sets must be long enough for</div><div class='del'>-	  select.  fixed: [ruby-talk:149059]</div><div class='del'>-</div><div class='del'>-Sat Jul 23 10:01:41 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String,</div><div class='del'>-	  using missing/vsnprintf.c.  [ruby-dev:26580]</div><div class='del'>-</div><div class='del'>-	*  missing/vsnprintf.c: made the output changeable.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 21:06:08 2005  Tadashi Saito  &lt;shiba@mail2.accsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): reduce isnan().  [ruby-dev:26600]</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 15:02:39 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: moved copyright description to lib/rss.rb.</div><div class='del'>-</div><div class='del'>-	* lib/rss.rb: added for convenience.</div><div class='del'>-</div><div class='del'>-	* sample/rss/re_read.rb: added #to_s sample.</div><div class='del'>-</div><div class='del'>-	* sample/rss/blend.rb: use 'require "rss"' instead of</div><div class='del'>-	  'require "rss/*"'.</div><div class='del'>-	* sample/rss/list_description.rb: ditto.</div><div class='del'>-	* sample/rss/rss_recent.rb: ditto.</div><div class='del'>-	* sample/rss/tdiary-plugin/rss-recent.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary-plugin/rss-recent.rb: 0.0.6 -&gt; 0.0.7.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 14:37:43 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb (RSS::Parser#initialize): accept HTTP/FTP</div><div class='del'>-	  URI and local file path too.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_parser.rb (RSS::TestParser#test_parse): test</div><div class='del'>-	  for the above.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 07:01:42 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (tk_conv_args): forget to revert</div><div class='del'>-	  thread_critical and gc_disable when raise ArgumentError.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: RemoteTkIp doesn't need to include TkUtil.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add TclTkIp#has_mainwindow? method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk.has_mainwindow? method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to</div><div class='del'>-	  avoid access from external.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs'</div><div class='del'>-	  mainloop.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP</div><div class='del'>-	  with $SAFE==4.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work</div><div class='del'>-	  properly.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add MultiTkIp#set_cb_error(proc) and</div><div class='del'>-	  cb_error(exc) to log errors at callbacks on safe slave IPs.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fail to get an available slave IP object</div><div class='del'>-	  when call Tk.mainloop in the block which is given to new_* method,</div><div class='del'>-	    because cannot finish initialize while the root widget is alive.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop</div><div class='del'>-	  runs on the IP.</div><div class='del'>-</div><div class='del'>-Thu Jul 21 01:00:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/{nkf.c,utf8tbl.c,config.h}:</div><div class='del'>-	  import 1.76</div><div class='del'>-	  [ruby-dev:26592] nkf constification</div><div class='del'>-</div><div class='del'>-Wed Jul 20 19:18:52 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (S_ISREG): need to define S_ISREG before it is used first.</div><div class='del'>-</div><div class='del'>-Wed Jul 20 18:33:15 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (wsplit_p): patch for the environment where</div><div class='del'>-	  fcntl(F_GETFL, O_NONBLOCK) is not supported. in that case,</div><div class='del'>-	  set FMODE_WSPLIT without fcntl check. [ruby-dev:26566]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 18:07:11 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT</div><div class='del'>-	  by F_SETFL.</div><div class='del'>-</div><div class='del'>-Wed Jul 20 10:04:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class_path): need to adjust snprintf() len for</div><div class='del'>-	  terminating NUL.  [ruby-dev:26581]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 03:58:52 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: sorry, BeOS also uses HAVE_CLOSESOCKET,</div><div class='del'>-	  so reverted.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: should not define HAVE_CLOSESOCKET</div><div class='del'>-	  on windows.</div><div class='del'>-</div><div class='del'>-Wed Jul 20 03:12:21 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: should not undef close() on win32.</div><div class='del'>-	  it's defined to rb_w32_close(), otherwise handle leaks.</div><div class='del'>-	  [ruby-Bugs-2131]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 00:48:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): don't use str before StringValue()</div><div class='del'>-	  check.  [ruby-dev:26579]</div><div class='del'>-</div><div class='del'>-Tue Jul 19 22:47:29 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): add 1 byte for snprintf() size for</div><div class='del'>-	  NUL at the end.  [ruby-dev:26574]</div><div class='del'>-</div><div class='del'>-Tue Jul 19 17:16:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): remove sigexit(); handle "EXIT" via sig_exec().</div><div class='del'>-	  [ruby-dev:26440]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_inspect): replace sprintf() with "%s" format all</div><div class='del'>-	  over the place by snprintf() to avoid integer overflow.</div><div class='del'>-</div><div class='del'>-Tue Jul 19 14:10:50 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: rbtk_eventloop_depth is used as int.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: rbtk_pending_exception is tested with</div><div class='del'>-	  NIL_P, so should assign Qnil instead of 0 (Qfalse).</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_invoke_real): fixed memory leak when</div><div class='del'>-	  ip is deleted.</div><div class='del'>-</div><div class='del'>-Tue Jul 19 13:19:46 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: For symmetry, add TkVariable#string. It</div><div class='del'>-	  returns a string even if the default value type of the TkVariable</div><div class='del'>-	  object is not "string".</div><div class='del'>-</div><div class='del'>-Mon Jul 18 21:39:18 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): make the pointer to NODE volatile</div><div class='del'>-	  instead of NODE itself.</div><div class='del'>-</div><div class='del'>-Mon Jul 18 14:32:21 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): make body volatile to avoid possible optimization</div><div class='del'>-	  problem.</div><div class='del'>-	  [ruby-dev:26195]</div><div class='del'>-</div><div class='del'>-Mon Jul 18 12:23:27 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c: wrong backport from trunk, and compile error on</div><div class='del'>-	  platforms fd_set is not a bit set.  fixed: [ruby-dev:26562]</div><div class='del'>-</div><div class='del'>-Mon Jul 18 09:36:25 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant.</div><div class='del'>-</div><div class='del'>-	* io.c (wsplit_p): new function.</div><div class='del'>-	  (io_fflush): split writing data by PIPE_BUF if wsplit_p is true in</div><div class='del'>-	  multi-threaded mode.</div><div class='del'>-	  (io_fwrite): ditto.</div><div class='del'>-	  [ruby-dev:26540]</div><div class='del'>-</div><div class='del'>-Mon Jul 18 05:00:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: import nkf.c 1.73</div><div class='del'>-	  fix: TestKconv 1F</div><div class='del'>-</div><div class='del'>-Sun Jul 17 13:46:54 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/extconf.rb, ext/io/wait/wait.c: Win32 platforms support.</div><div class='del'>-</div><div class='del'>-Sat Jul 16 23:43:16 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): wrong argument specs.</div><div class='del'>-	  [ruby-core:05481]</div><div class='del'>-</div><div class='del'>-Sat Jul 16 15:52:50 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[hc]: constified socket functions. [ruby-dev:26553]</div><div class='del'>-</div><div class='del'>-Fri Jul 15 23:59:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (handle_class_module): handle a</div><div class='del'>-	  module enclosed in a built-in module.  fixed: [ruby-talk:148239]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (find_body): allow macros as methods.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (find_call_seq): allow :nodoc: modifier</div><div class='del'>-	  in C.  [ruby-core:04572]</div><div class='del'>-</div><div class='del'>-Fri Jul 15 23:20:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (Init_Enumerator): use an internal directly.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 07:58:10 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#accept_client):</div><div class='del'>-	  sockets should be non-blocking mode. [ruby-dev:26405]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils.set_non_blocking): new method.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 00:11:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enumeratorize): create new enumerator for current method if</div><div class='del'>-	  no block is given.</div><div class='del'>-</div><div class='del'>-	* enumerator.c: moved from ext/enumerator.</div><div class='del'>-</div><div class='del'>-Thu Jul 14 18:27:35 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_strerror): should return correct message</div><div class='del'>-	  for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.</div><div class='del'>-	  (bcc32) [ruby-dev:26533]</div><div class='del'>-</div><div class='del'>-Thu Jul 14 00:45:42 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 22:44:00 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove static variables.  [ruby-dev:26530]</div><div class='del'>-</div><div class='del'>-Wed Jul 13 19:36:29 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_mkdir): should set EEXIST (not EACCES)</div><div class='del'>-	  if file or directory already exists. (bcc32) [ruby-dev:26508]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)</div><div class='del'>-	  if it is not directory. (bcc32, win32)</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore</div><div class='del'>-	  FILE_ATTRIBUTE_READONLY flag on function failure.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 12:40:00 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: TclTkLib.do_one_event doesn't work.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: Tk.thread_update is available.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 23:32:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: keep curdir unexpanded.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 23:50:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, intern.h (rb_proc_call, rb_obj_method, rb_method_call):</div><div class='del'>-	  export.</div><div class='del'>-</div><div class='del'>-	* ext/enumerator/enumerator.c (enumerator_with_index): [EXPERIMENTAL]</div><div class='del'>-	  added a new method Enumerator#with_index.  [ruby-talk:147728]</div><div class='del'>-</div><div class='del'>-Mon Jul 11 08:31:29 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_escaped_value): mask values following \c in</div><div class='del'>-	  regexp.  fixed: [ruby-dev:26500]</div><div class='del'>-</div><div class='del'>-Sun Jul 11 05:18:17 2005  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (XMLRPC::Server): Switch from GServer over to</div><div class='del'>-	  WEBrick. This makes file lib/xmlrpc/httpserver.rb obsolete (at least it is</div><div class='del'>-	  no further used by the XML-RPC library).</div><div class='del'>-</div><div class='del'>-Mon Jul 11 02:50:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):</div><div class='del'>-	  mistook to merge the patch of [ruby-dev:26235] at</div><div class='del'>-	  revision 1.11.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 23:58:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#unlink): try Dir.unlink first to</div><div class='del'>-	  avoid unlink a directory by root.</div><div class='del'>-	  cf. [ruby-dev:26237]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 12:47:01 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (debug_command): added a deficient format specifier.</div><div class='del'>-	  fixed: [ruby-core:05419]</div><div class='del'>-</div><div class='del'>-Sat Jul  9 22:02:37 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_method_dispid): convert dispid</div><div class='del'>-	  in Ruby and C by INT2NUM and NUM2INT.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke2): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/test/testWIN32OLE.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/test/testOLEMETHOD.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 15:45:04 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION): 0.1.4 -&gt; 0.1.5.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_version.rb (RSS::TestVersion#test_version):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss::Channel::Item::Category):</div><div class='del'>-	  domain attribute of &lt;category&gt; is optional. Thanks to</div><div class='del'>-	  Chris Lee &lt;clee@kde.org&gt;.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_parser.rb (RSS::TestParser#test_category20):</div><div class='del'>-	  adjusted test case.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 18:45:53 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_pattern_match): now returns nil.</div><div class='del'>-	  [ruby-core:05391]</div><div class='del'>-</div><div class='del'>-Mon Jul  4 14:35:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/svr.rb: service can be stopped by ill-behaved client; use</div><div class='del'>-	  tsvr.rb instead.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 13:25:21 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/erf.c: original erf.c by prof. Okumura is confirmed to</div><div class='del'>-	  be public domain.  reverted BSD implementation.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 11:15:21 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (open_ifs_socket): new function.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket()</div><div class='del'>-	  instead of socket().</div><div class='del'>-	  all changes are derived from [ruby-core:5388].</div><div class='del'>-</div><div class='del'>-Wed Jul  6 00:15:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/{nkf.c,utf8tbl.c,config.h}:</div><div class='del'>-	  imported nkf.c 1.70 (support UTF-8-MAC)</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: add :utf8mac and :internalunicode</div><div class='del'>-</div><div class='del'>-Tue Jul  5 23:44:06 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: expand source library path.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 23:27:14 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (sort_2): get rid of yet another bcc's bug.</div><div class='del'>-	  fixed: [ruby-core:05152]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_save_context): must not switch contexts during</div><div class='del'>-	  re-allocating stack.  fixed: [ruby-core:05219]</div><div class='del'>-</div><div class='del'>-Tue Jul  5 15:15:10 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c: fix typo.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 14:52:56 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: bug fix on treating Unicode strings.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add methods to treat encoding mode.</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANUAL_tcltklib.eng: add description of TclTkLib#encoding,</div><div class='del'>-	  encoding_system, and so on.</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANUAL_tcltklib.eucj: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: fail to create a Tcl's list string from</div><div class='del'>-	  an array including multiple kind of encoded strings.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to</div><div class='del'>-	  use TkCore::INTERP.encoding and encoding=.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check</div><div class='del'>-	  DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and</div><div class='del'>-	  Tk.encoding_system. Tk.encoding has higher priority.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/optiondb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/spinbox.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/validation.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist</div><div class='del'>-	  should be UTF-8 strings.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 19:29:32 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: test change to follow revision 1.28. (duck typing?)</div><div class='del'>-</div><div class='del'>-Mon Jul  4 11:23:50 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/{dbm,gdbm,sdbm}/test_{dbm,gdbm,sdbm}.rb: skip some tests</div><div class='del'>-	  which using fork on fork-less platforms.</div><div class='del'>-</div><div class='del'>-Sun Jul  3 23:26:30 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/wsdl/document/test_rpc.rb: compare formatted time string of</div><div class='del'>-	  Time objects instead of comparing Time objects itself to avoid</div><div class='del'>-	  unintended conflict of usec part.  [ruby-dev:26220]</div><div class='del'>-</div><div class='del'>-Sat Jul  2 22:41:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (unix_send_io, unix_recv_io): support x86-64 and</div><div class='del'>-	  IA64.</div><div class='del'>-</div><div class='del'>-Sat Jul  2 17:06:23 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.</div><div class='del'>-	  (flush_register_windows): declare flush_register_windows.</div><div class='del'>-</div><div class='del'>-	* eval.c (flush_register_windows): new function.</div><div class='del'>-</div><div class='del'>-	* ruby.h (NOINLINE): move up to be effective in defines.h.</div><div class='del'>-</div><div class='del'>-Sat Jul  2 15:19:41 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check select_large_fdset.</div><div class='del'>-</div><div class='del'>-	* eval.c: use select_large_fdset to support large file descriptors</div><div class='del'>-	  on Solaris.  [ruby-dev:26404]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 17:55:08 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_neg): may be accessing bogus pointer value.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 15:50:12 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/erf.c: need to include some headers for some platforms.</div><div class='del'>-</div><div class='del'>-	* win32/win32.h (copysign, scalb): define for compatibility with</div><div class='del'>-	  other platforms. [ruby-dev:26430]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 15:37:42 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c: modified to make it compilable on platforms</div><div class='del'>-	  other than BSD.  [ruby-dev:26430]</div><div class='del'>-</div><div class='del'>-	* missing/erf.c: ditto.  code from &lt;exp.c&gt; merged.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 12:44:56 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_http): refine post_connection_check</div><div class='del'>-	  call.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 11:34:08 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c: replaced with 4.4BSD version.</div><div class='del'>-</div><div class='del'>-	* missing/erf.c: ditto.</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c: removed the third provision from the old</div><div class='del'>-	  BSD license.  [ruby-core:05177]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 01:45:21 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min, enum_max): must not return Qundef.</div><div class='del'>-	  fixed: [ruby-core:05299]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 00:18:40 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::respond_to): respond_to? must check</div><div class='del'>-	  destination object.  [ruby-talk:146894]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 23:52:12 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): non-string trap hander was ignored.</div><div class='del'>-	  fixed: [ruby-dev:26417]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 19:00:21 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex::identify_number): alternative implements</div><div class='del'>-	  for [ruby-dev:26410]. And support a numeric form of 0d99999.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 17:28:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex::identify_number): should not treat</div><div class='del'>-	  plain zero as an octal number.  [ruby-dev:26410]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 15:13:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): pre-evaluate argument for unambiguous</div><div class='del'>-	  evaluation order.  [ruby-dev:26383]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 14:48:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect, Net::HTTP#request): should</div><div class='del'>-	  not send proxy username and password to origin servers.</div><div class='del'>-	  [ruby-dev:25673]</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP::ProxyDelta#edit_path): should not</div><div class='del'>-	  send HTTPS scheme URL to origine servers. [ruby-dev:25689]</div><div class='del'>-</div><div class='del'>-Thu Jun 30 09:53:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::method_missing): forward unknown</div><div class='del'>-	  method to the destination.  suggested by</div><div class='del'>-	  &lt;christophe.poucet@gmail.com&gt;.  [ruby-talk:146776]</div><div class='del'>-</div><div class='del'>-Wed Jun 29 00:03:20 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token): avoid warning of unused goto tag.</div><div class='del'>-	  [ruby-dev:26389]</div><div class='del'>-</div><div class='del'>-Tue Jun 28 21:59:29 2005  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c, eval.c, parse.y, process.c, ruby.c: avoid warning "unused</div><div class='del'>-	  variable" [ruby-dev:26387]</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): avoid warning "enumeration value `RECURSIVE'</div><div class='del'>-	  not handled in switch" [ruby-dev:26392]</div><div class='del'>-</div><div class='del'>-Tue Jun 28 01:52:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: add Kconv::VERSION</div><div class='del'>-	* ext/nkf/lib/kconv.rb (conv): can process arrayed options</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: imported Revision 1.69</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.c: imported Revision 1.9</div><div class='del'>-</div><div class='del'>-Sat Jun 25 23:30:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (detach_process_watcher): terminate process watcher</div><div class='del'>-	  thread right after rb_waitpid() succeed.  [ruby-talk:146430]</div><div class='del'>-</div><div class='del'>-Sat Jun 25 17:12:20 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_query): should</div><div class='del'>-	  discard if key=val pair is empty. patch from Gary Wright.</div><div class='del'>-</div><div class='del'>-Sat Jun 25 15:49:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min, enum_max, enum_min_by, enum_max_by): do not ignore</div><div class='del'>-	  nil as the first element.</div><div class='del'>-</div><div class='del'>-Sat Jun 25 15:13:54 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#==): [ruby-dev:25206] (ported from ruby_1_8 branch)</div><div class='del'>-</div><div class='del'>-Sat Jun 25 11:37:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: remove constants</div><div class='del'>-	  Iconv_Shift_JIS, Uconv_EUC_JP, Iconv_UTF8</div><div class='del'>-	* ext/nkf/lib/kconv.rb: add module functions to Kconv</div><div class='del'>-	  conv, {eucjp, shiftjis, utf8}?, guess_as_symbol</div><div class='del'>-	* ext/nkf/lib/kconv.rb: add instance methods to String</div><div class='del'>-	  conv, {eucjp, shiftjis, utf8}?</div><div class='del'>-	* ext/nkf/lib/kconv.rb: add aliases Kconv.to_* and String#to_*</div><div class='del'>-</div><div class='del'>-Fri Jun 24 17:00:00 2005  Shigeo Kobayashi  &lt;shigeo@tinyforest.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: patch from "NATORI Shin"</div><div class='del'>-	  (u-tokyo.ac.jp) applied to fix rounding bug.</div><div class='del'>-</div><div class='del'>-Fri Jun 24 13:17:45 2005  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb, lib/uri/generic.rb: fixed typo in documents and</div><div class='del'>-	  replaced some existent domain name with "example.com".</div><div class='del'>-</div><div class='del'>-Fri Jun 24 12:23:19 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix typo on Tk.grid_propagate.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: Tk.event_generate and TkWindow#event_generate</div><div class='del'>-	  accept TkEvent::Event object as context argument.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: add TkEvent::Event#valid_fields and</div><div class='del'>-	  valid_for_generate to get field parameters of event_generate.</div><div class='del'>-</div><div class='del'>-Thu Jun 23 23:55:59 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: should load built rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Thu Jun 23 16:53:15 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvastag.rb: TkcGroup.new cannot include given items.</div><div class='del'>-	  TkcGroup#exclude calls wrong method.</div><div class='del'>-	  Add alias TkcGroup#add [ruby-talk:146049].</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: TkCanvas#dtag and some subcommands of</div><div class='del'>-	  TkCanvas#addtag fail to treat a TkcTag argument.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: add TkEvent::Event#generate to help to send</div><div class='del'>-	  current event to other widgets.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 18:44:04 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): DUMMY_SETJMP is replaced</div><div class='del'>-	  because setjmp is not enough to fix getcontext and SPARC register</div><div class='del'>-	  window problem.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 17:15:51 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_closed): new method DBM#closed?</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb</div><div class='del'>-	  (teardown): close all db objects before deleting data files.</div><div class='del'>-</div><div class='del'>-	* win32/win32.{ch} (unlink): hook runtime function to change</div><div class='del'>-	  file attribute before unlinking.</div><div class='del'>-	  merge from 1.8, see [ruby-dev:26360]</div><div class='del'>-</div><div class='del'>-Mon Jun 20 02:15:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final): document fix: finalizers never get called</div><div class='del'>-	  before target object is destroyed.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 01:26:49 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.c, ext/openssl/ossl.h,</div><div class='del'>-	  ext/openssl/ossl_asn1.c, ext/openssl/ossl_bio.c,</div><div class='del'>-	  ext/openssl/ossl_pkcs12.h, ext/openssl/ossl_x509req.c: avoid</div><div class='del'>-	  compiler warnings. suggested by Michal Rokos.</div><div class='del'>-</div><div class='del'>-Sun Jun 20 00:22:02 2005  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/utils.rb: Patch by Nobuhiro IMAI fixes the following</div><div class='del'>-	  problem: Default value modification on</div><div class='del'>-	  Module#public_instance_methods (false -&gt; true) breaks</div><div class='del'>-	  s.add_handler(XMLRPC::iPIMethods("sample"), MyHandler.new) style</div><div class='del'>-	  security protection.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: Aliased XMLRPC::Client#new2 as</div><div class='del'>-	  XMLRPC::Client#new_from_uri, and #new3 as #new_from_hash.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 14:09:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_final): reduce unnecessary object allocation during</div><div class='del'>-	  finalization.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): deferred finalizers list should</div><div class='del'>-	  be cleared before calling them.  fixed: [ruby-talk:145790]</div><div class='del'>-</div><div class='del'>-Sat Jun 18 01:15:36 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): do not set</div><div class='del'>-	  rl_{in,out}stream.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_input): new method.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_output): new method.</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb: set Readline.input and Readline.output.</div><div class='del'>-</div><div class='del'>-Fri Jun 17 13:01:40 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.parse): fix previous leap seconds support.</div><div class='del'>-	  (Time.rfc2822): ditto.</div><div class='del'>-	  (Time.xmlschema): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 15:41:32 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): '!' is already read. reported by gotoyuzo.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 15:09:38 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_rb_threadVwaitCommand): Tcl_Release</div><div class='del'>-	  was missing.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 13:34:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk.getMultiple{Open|Save}File() which return</div><div class='del'>-	  an Array of selected files.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 12:53:24 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.parse): "Fri Jan  1 08:59:60 +0900 1999" was</div><div class='del'>-	  parsed as "Fri Jan 01 09:00:00 JST 1999" even on an environment</div><div class='del'>-	  which supports leap seconds.</div><div class='del'>-	  (Time.rfc2822): ditto.</div><div class='del'>-	  (Time.xmlschema): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 00:13:41 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Resource#ttl): new attribute.</div><div class='del'>-	  (Resolv::DNS::Resource#==): ignore @ttl.</div><div class='del'>-	  (Resolv::DNS::Resource#hash): ditto.</div><div class='del'>-	  (Resolv::DNS::Message::MessageDecoder#get_rr): save TTL in a</div><div class='del'>-	  Resource object.</div><div class='del'>-	  based on [ruby-core:5190] by Eric Hodel.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 18:26:39 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: support "tk inactive" sub-command [for Tcl/Tk8.5a3]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: support "namespace path" sub-command and</div><div class='del'>-	  'namespace ensemble' sub-command [for Tcl/Tk8.5a3]</div><div class='del'>-</div><div class='del'>-Tue Jun 14 02:02:43 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: add TkUtil::CallbackSubst.subst_arg(m, ...)</div><div class='del'>-	  &amp; _define_attribute_aliases(hash) to get substitution-argument from</div><div class='del'>-	  attributes (e.g. subst_arg(:x,:y,:num,:button) --&gt; "%x %y %b %b ").</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: use _define_attribute_aliases().</div><div class='del'>-</div><div class='del'>-Mon Jun 13 13:03:08 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): fixed SEGV. [ruby-dev:26186]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 01:54:20 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sigexit): call rb_thread_signal_exit() instead of</div><div class='del'>-	  rb_exit().  [ruby-dev:26347]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_signal_exit): a new function to exit on main</div><div class='del'>-	  thread.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_switch): exit status should be retrieved from</div><div class='del'>-	  ruby_errinfo.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_exit): ensure exit(0) should call</div><div class='del'>-	  exit(EXIT_SUCCESS).</div><div class='del'>-</div><div class='del'>-Mon Jun 13 01:20:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_gc_mark_threads): curr_thread may not be part of the</div><div class='del'>-	  thread list.  [ruby-dev:26312]</div><div class='del'>-</div><div class='del'>-Sat Jun 11 22:34:44 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: missing arg_paren event.  This patch is contributed by</div><div class='del'>-	  Mitchell N Charity.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 23:55:17 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (unknown_node): show more information.  [ruby-dev:26196]</div><div class='del'>-</div><div class='del'>-Fri Jun 10 23:35:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/mkdir.c: remove. [ruby-core:05177]</div><div class='del'>-</div><div class='del'>-Fri Jun 10 22:54:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing.h: fd_set stuffs need sys/types.h.  fixed: [ruby-core:05179]</div><div class='del'>-</div><div class='del'>-Thu Jun  9 23:58:12 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/Win32API.c (Win32API_Call): disable global</div><div class='del'>-	  optimization. fixed: [ruby-core:05143]</div><div class='del'>-</div><div class='del'>-Thu Jun  9 23:35:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): default the result value to Qundef to use</div><div class='del'>-	  first element as initial value if not given.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 19:55:41 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_longjmp): new macro to call longjmp, setcontext, etc.</div><div class='del'>-	  (ruby_setjmp): new macro to call setjmp, getcontext, etc.</div><div class='del'>-	  (ruby_setjmp): call setjmp before getcontext to avoid IA64 register</div><div class='del'>-	  stack problem.</div><div class='del'>-	  [ruby-talk:144939]</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): remove IA64_MAGIC_STACK_LIMIT.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 18:24:16 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, eval.c, gc.c: use libunwind only on HP-UX.</div><div class='del'>-	  [ruby-dev:26297]</div><div class='del'>-</div><div class='del'>-Thu Jun  9 14:46:32 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_aset): do not treat nil as key-removing value.</div><div class='del'>-	  [ruby-list:40865]</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): allow aref expression ([]) to take a</div><div class='del'>-	  block.</div><div class='del'>-</div><div class='del'>-	* parse.y (block_dup_check): a function to check duplication of</div><div class='del'>-	  a block argument and an actual block.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 11:55:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (SimpleDelegator::__setobj__): need check for</div><div class='del'>-	  recursive delegation.  [ruby-core:04940]</div><div class='del'>-</div><div class='del'>-Thu Jun  9 11:50:43 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: add underscore aliases CGI::escape_html,</div><div class='del'>-	  CGI::unescape_html, CGI::escape_element, CGI::unescape_element.</div><div class='del'>-	  [ruby-core:05058]</div><div class='del'>-</div><div class='del'>-Wed Jun  8 18:47:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 12:25:59 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_nitems): add the block feature to Array#nitems.</div><div class='del'>-	  suggested by Bertram Scharpf &lt;lists@bertram-scharpf.de&gt; in</div><div class='del'>-	  [ruby-talk:134083].</div><div class='del'>-</div><div class='del'>-Wed Jun  8 11:11:34 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (get2comp): revert all prior changes, and calculate</div><div class='del'>-	  proper 2's complement for negative numbers.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 08:33:10 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min_by, enum_max_by): return nil if no iteration.</div><div class='del'>-	  fixed: [ruby-dev:26245]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_need_block): ensure a block is given.</div><div class='del'>-</div><div class='del'>-	* eval.c (backtrace): skip successive frames sharing same node.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 01:27:06 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignorm): fixed a bug in normalizing negative numbers</div><div class='del'>-	  reported from Honda Hiroki &lt;hhonda@ipflex.com&gt;.  normalizing</div><div class='del'>-	  should not trim leading zeros from negative numbers.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): must remove leading zeros for this</div><div class='del'>-	  case.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 00:15:08 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_getaddrinfo__aix): merged a patch from</div><div class='del'>-	  KUBO Takehiro &lt;kubo at jiubao.org&gt; to support AIX.  [ruby-list:40832]</div><div class='del'>-</div><div class='del'>-Wed Jun  8 00:09:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (Array::to_yaml): merged a patch from</div><div class='del'>-	  Tilman Sauerbeck &lt;tilman at code-monkey.de&gt;.  [ruby-core:05055]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (Hash::to_yaml): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 00:00:01 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_insertln): merged a patch from</div><div class='del'>-	  TAKAHASHI Tamotsu &lt;ttakah at lapis.plala.or.jp&gt;.  [ruby-ext:02305]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 19:34:15 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB::IRB.rc_file_generators): more flexible</div><div class='del'>-	  IRB.rc_file_generators.  [ruby-core:05163]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 18:39:31 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: RDoc documentation from Eric Hodel</div><div class='del'>-	  &lt;drbrain@segment7.net&gt; added.  [ruby-core:05148]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 18:30:04 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.</div><div class='del'>-	  fixed: [ruby-dev:26294]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 17:20:39 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): allow ';;' to be block terminator in</div><div class='del'>-	  place of 'end'.  [highly experimental]</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-block-end-re): allow ';;' to be a</div><div class='del'>-	  negative indent trigger.  [highly experimental]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): small error fixed.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 16:45:49 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): "respond_to?:foo" should be interpreted</div><div class='del'>-	  as "respond_to? :foo" at the command level.  [ruby-talk:144303]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 16:32:53 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): raise exception on debug mode (-d),</div><div class='del'>-	  not verbose mode (-v/-w).  [ruby-core:05123]</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): warn always on verbose mode.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 10:30:49 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures</div><div class='del'>-	  delegated by master-ip.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 16:35:18 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: add .y to .SUFFIXES for nmake.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 23:00:35 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/console.rb: create console when required</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/tile/demo.rb: fix TypeError &amp; create Console</div><div class='del'>-</div><div class='del'>-Sun Jun  5 10:23:52 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): don't set SA_RESTART.</div><div class='del'>-	  [ruby-dev:26276]</div><div class='del'>-</div><div class='del'>-Sat Jun  4 14:55:18 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb: merged from ext/dbm/testdbm.rb.</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb: merged from ext/gdbm/testgdbm.rb.</div><div class='del'>-</div><div class='del'>-	* test/sdbm/test_sdbm.rb: renamed from ext/sdbm/testsdbm.rb with</div><div class='del'>-	  modification to use test/unit.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 23:23:02 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_fdset_t): deal with fd bit sets over FD_SETSIZE.</div><div class='del'>-	  fixed: [ruby-dev:26187]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr,</div><div class='del'>-	  rb_fd_isset, rb_fd_copy): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_readable, rb_io_wait_writable, rb_f_select): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_wait): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (wait_connectable, unix_recv_io): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 14:06:12 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix typo.</div><div class='del'>-</div><div class='del'>-Thu Jun  2 23:42:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: pragma support on ripper.  [ruby-dev:26266]</div><div class='del'>-</div><div class='del'>-Thu Jun  2 00:02:16 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c: accessing &gt;10 member caused segmentation fault.</div><div class='del'>-	  [ruby-dev:26247]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb: test it.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 11:30:09 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: can use single quote character in DESTDIR.</div><div class='del'>-	  [ruby-dev:26205]</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: Dir.glob in 1.9 doesn't treat \ as path separator.</div><div class='del'>-	  [ruby-dev:26254]</div><div class='del'>-</div><div class='del'>-Wed Jun  1 00:11:06 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): new experiment: "(expr)(args...)" to</div><div class='del'>-	  invoke "expr.call(args...)".  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Tue May 31 23:43:41 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (command): revert implicit "call" for local variables.</div><div class='del'>-</div><div class='del'>-Tue May 31 15:52:45 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should</div><div class='del'>-	  break the loop if the socket reached to EOF. [ruby-talk:142285]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): send response</div><div class='del'>-	  without reading the whole request body if keep-alive is disabled.</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-Mon May 30 23:48:29 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/macpkg.rb: add PACKAGE_NAME information of Tcl/Tk</div><div class='del'>-	  Extension.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/winpkg.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 28 16:39:21 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509store.rb: add test for expired CRL</div><div class='del'>-	  and refine some assertions.</div><div class='del'>-</div><div class='del'>-Sat May 28 05:15:44 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509stctx_set_time): should</div><div class='del'>-	  not set internal flag directory.</div><div class='del'>-</div><div class='del'>-Sat May 28 02:00:11 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):</div><div class='del'>-	  ENV["REQUEST_URI"] is better to get correct Request-URI</div><div class='del'>-	  than ENV["SCRIPT_NAME"] + ENV["PATH_INFO"].  [ruby-dev:26235]</div><div class='del'>-</div><div class='del'>-Fri May 27 16:32:04 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: use the semicolon as the path separator</div><div class='del'>-	  in the environment of MSYS.  fixed: [ruby-dev:26232]</div><div class='del'>-</div><div class='del'>-Thu May 26 20:31:21 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_entry_secure): add documentation.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_entry_secure): should not invoke</div><div class='del'>-	  unlink(2) against a directory.</div><div class='del'>-</div><div class='del'>-Thu May 26 08:29:19 2005  Akiyoshi, Masamichi  &lt;akiyoshi@hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* vms/vmsruby_private.c, vms/vmsruby_private.h: private routines</div><div class='del'>-	  for VMS port are added.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init): change to call VMS private intialization routine.</div><div class='del'>-</div><div class='del'>-Thu May 26 07:39:07 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rm_r): use lchown(2), not chown(2).</div><div class='del'>-	  [ruby-dev:26226]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cd): remove :noop option. (feature change)</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cp_r): should copy symlink as symlink, for</div><div class='del'>-	  also tree root. (feature change)</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cp_r): new option :dereference_root.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: new method remove_entry.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: new method remove_entry_secure.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: add documentation.</div><div class='del'>-</div><div class='del'>-Thu May 26 06:08:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add shortcut-methods of tk_call + tk_split_list</div><div class='del'>-</div><div class='del'>-Wed May 25 20:06:27 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: TkComm#tk_split_*list fail to split a kind of SJIS</div><div class='del'>-	  strings. To avoid the trouble, add arguments to control converting</div><div class='del'>-	  encoding, and do split on a UTF8 string.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: modify to attend encoding.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/listbox.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/panedwindow.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textmark.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/texttag.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/winfo.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add TkWindow#lower_window/raise_window and</div><div class='del'>-	  Tk#lower_window/raise_window by reason of method-name conflict</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: bug fix on TkCanvas#delete when given</div><div class='del'>-	  non-TkcItem arguments.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed May 25 19:48:12 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rm_r): does chown(2). [ruby-dev:26199]</div><div class='del'>-</div><div class='del'>-Wed May 25 12:59:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI::Meta::RE_QUOTED_STRING): a content of</div><div class='del'>-	  quoted-string should be zero or more characters.</div><div class='del'>-</div><div class='del'>-Tue May 24 23:42:16 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): support Fixnum ** Float case directly</div><div class='del'>-	  without coercing.  [ruby-talk:142697] [ruby-talk:143054]</div><div class='del'>-</div><div class='del'>-Tue May 24 16:57:24 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): caused SEGV when continuation jumped</div><div class='del'>-	  in to the required library code.</div><div class='del'>-</div><div class='del'>-Tue May 24 17:45:59 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: do not test libedit.</div><div class='del'>-	  fixed: [ruby-dev:26217]</div><div class='del'>-</div><div class='del'>-Tue May 24 06:45:31 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): string</div><div class='del'>-	  literals to be matched non-greedy.</div><div class='del'>-</div><div class='del'>-Tue May 24 00:39:14 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/calc: method name 'set' was able to crash with a class Set.</div><div class='del'>-	  [ruby-dev:26210]</div><div class='del'>-</div><div class='del'>-	* test/wsdl/document/test_rpc.rb: dateTime comparison failed under</div><div class='del'>-	  TZ=right/Asia/Tokyo (with leap second.) [ruby-dev:26208]</div><div class='del'>-</div><div class='del'>-Mon May 23 16:23:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: Framework support on MacOS X Tiger.</div><div class='del'>-</div><div class='del'>-	* ext/tk/README.tcltklib: add description of Framework support options.</div><div class='del'>-</div><div class='del'>-Mon May 23 15:07:34 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(PROGRAM)): add dependency on $(LIBRUBY_SO).</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-Mon May 23 12:21:37 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (make_regexp): should not return junk address during</div><div class='del'>-	  compile time.  [ruby-dev:26206]</div><div class='del'>-</div><div class='del'>-Sun May 22 21:54:06 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.</div><div class='del'>-</div><div class='del'>-	  == SOAP client and server ==</div><div class='del'>-</div><div class='del'>-	  === for both client side and server side ===</div><div class='del'>-</div><div class='del'>-	  * improved document/literal service support.</div><div class='del'>-	    style(rpc,document)/use(encoding, literal) combination are all</div><div class='del'>-	    supported.  for the detail about combination, see</div><div class='del'>-	    test/soap/test_style.rb.</div><div class='del'>-</div><div class='del'>-	  * let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to</div><div class='del'>-	    WSDL as well as obj2soap.  closes #70.</div><div class='del'>-</div><div class='del'>-	  * let SOAP::Mapping::Object handle XML attribute for doc/lit service.</div><div class='del'>-	    you can set/get XML attribute via accessor methods which as a name</div><div class='del'>-	    'xmlattr_' prefixed (&lt;foo name="bar"/&gt; -&gt; Foo#xmlattr_name).</div><div class='del'>-</div><div class='del'>-	  === client side ===</div><div class='del'>-</div><div class='del'>-	  * WSDLDriver capitalized name operation bug fixed.  from</div><div class='del'>-	    1.5.3-ruby1.8.2, operation which has capitalized name (such as</div><div class='del'>-	    KeywordSearchRequest in AWS) is defined as a method having</div><div class='del'>-	    uncapitalized name. (converted with GenSupport.safemethodname</div><div class='del'>-	    to handle operation name 'foo-bar').  it introduced serious</div><div class='del'>-	    incompatibility; in the past, it was defined as a capitalized.</div><div class='del'>-	    define capitalized method as well under that circumstance.</div><div class='del'>-</div><div class='del'>-	  * added new factory interface 'WSDLDriverFactory#create_rpc_driver'</div><div class='del'>-	    to create RPC::Driver, not WSDLDriver (RPC::Driver and WSDLDriver</div><div class='del'>-	    are merged).  'WSDLDriverFactory#create_driver' still creates</div><div class='del'>-	    WSDLDriver for compatibility but it warns that the method is</div><div class='del'>-	    deprecated.  please use create_rpc_driver instead of create_driver.</div><div class='del'>-</div><div class='del'>-	  * allow to use an URI object as an endpoint_url even with net/http,</div><div class='del'>-	    not http-access2.</div><div class='del'>-</div><div class='del'>-	  === server side ===</div><div class='del'>-</div><div class='del'>-	  * added mod_ruby support to SOAP::CGIStub.  rename a CGI script</div><div class='del'>-	    server.cgi to server.rb and let mod_ruby's RubyHandler handles the</div><div class='del'>-	    script.  CGIStub detects if it's running under mod_ruby environment</div><div class='del'>-	    or not.</div><div class='del'>-</div><div class='del'>-	  * added fcgi support to SOAP::CGIStub.  see the sample at</div><div class='del'>-	    sample/soap/calc/server.fcgi.  (almost same as server.cgi but has</div><div class='del'>-	    fcgi handler at the bottom.)</div><div class='del'>-</div><div class='del'>-	  * allow to return a SOAPFault object to respond customized SOAP fault.</div><div class='del'>-</div><div class='del'>-	  * added the interface 'generate_explicit_type' for server side</div><div class='del'>-	    (CGIStub, HTTPServer).  call 'self.generate_explicit_type = true'</div><div class='del'>-	    if you want to return simplified XML even if it's rpc/encoded</div><div class='del'>-	    service.</div><div class='del'>-</div><div class='del'>-	  == WSDL ==</div><div class='del'>-</div><div class='del'>-	  === WSDL definition ===</div><div class='del'>-</div><div class='del'>-	  * improved XML Schema support such as extension, restriction,</div><div class='del'>-	    simpleType, complexType + simpleContent, ref, length, import,</div><div class='del'>-	    include.</div><div class='del'>-</div><div class='del'>-	  * reduced "unknown element/attribute" warnings (warn only 1 time for</div><div class='del'>-	    each QName).</div><div class='del'>-</div><div class='del'>-	  * importing XSD file at schemaLocation with xsd:import.</div><div class='del'>-</div><div class='del'>-	  === code generation from WSDL ===</div><div class='del'>-</div><div class='del'>-	  * generator crashed when there's '-' in defined element/attribute</div><div class='del'>-	    name.</div><div class='del'>-</div><div class='del'>-	  * added ApacheMap WSDL definition.</div><div class='del'>-</div><div class='del'>-	* sample/{soap,wsdl}: removed.</div><div class='del'>-</div><div class='del'>-Sun May 22 19:11:35 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#initialize):</div><div class='del'>-	  should initialize session id context. [ruby-core:4663]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.</div><div class='del'>-</div><div class='del'>-Sun May 22 12:30:58 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h, parse.y (ruby_pragma): removed.  fixed: [ruby-dev:26198]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_pragma): pragma name was ignored.</div><div class='del'>-</div><div class='del'>-Sun May 22 02:39:57 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rm_r): new option :secure to avoid</div><div class='del'>-	  time-to-check-to-time-to-use security problem.  [ruby-dev:26100]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_file, remove_dir): try chmod(700) only</div><div class='del'>-	  on Windows.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: does not depend on find.rb.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: new method chmod_R.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (chown_R): did not work.</div><div class='del'>-</div><div class='del'>-Sat May 21 10:23:21 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: tds files were not deleted when DESTDIR</div><div class='del'>-	  included '\' path delimiter. [ruby-dev:26193]</div><div class='del'>-</div><div class='del'>-Fri May 20 15:52:18 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  return 2 items if completion_proc returns only 1 item (for libedit).</div><div class='del'>-</div><div class='del'>-Fri May 20 01:24:33 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: check rl_vi_editing_mode() and</div><div class='del'>-	  rl_emacs_editing_mode().</div><div class='del'>-</div><div class='del'>-Thu May 19 23:33:09 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: supported libedit. fixed: [ruby-core:4858]</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: added new option --enable-libedit.</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: added assertions for</div><div class='del'>-	  Readline::HISTORY.</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb: do not use Readline::HISTORY.pop.</div><div class='del'>-</div><div class='del'>-Wed May 18 23:42:25 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_exception): reverted to call Exception#initialize</div><div class='del'>-	  directly.  fixed: [ruby-dev:26177]</div><div class='del'>-</div><div class='del'>-Wed May 18 17:38:51 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): check whether path is "" before calling</div><div class='del'>-	  do_opendir.  [ruby-dev:26183]</div><div class='del'>-</div><div class='del'>-Wed May 18 13:40:48 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NtInitialize): fix typo.</div><div class='del'>-</div><div class='del'>-Wed May 18 11:07:47 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): get rid of using String.  [ruby-dev:26180]</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options), win32/win32.c (NtInitialize): move argument</div><div class='del'>-	  intialization back.  [ruby-dev:26180]</div><div class='del'>-</div><div class='del'>-Tue May 17 11:49:18 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (unixtime_to_filetime): use localtime() instead of</div><div class='del'>-	  gmtime() when using FileLocalTimeToFileTime().</div><div class='del'>-</div><div class='del'>-Mon May 16 22:42:52 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.h, {bcc32,win32,wince}/Makefile.sub: moved rb_[ugp]id_t</div><div class='del'>-	  to get rid of redefinition warnings on mingw.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_init_copy): singleton class is disallowed to copy,</div><div class='del'>-	  from its definition.  fixed: [ruby-talk:142749]</div><div class='del'>-</div><div class='del'>-	* parse.y (pragma_encoding): add prototype to suppress false warning</div><div class='del'>-	  by VC.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_v): use rb_w32_aspawn on Win32.</div><div class='del'>-</div><div class='del'>-Mon May 16 03:29:01 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.{h,c}: define rb_[pgu]id_t.</div><div class='del'>-</div><div class='del'>-Mon May 16 00:21:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#unlink): use SystemCallError instead of</div><div class='del'>-	  Errno::EISDIR because EISDIR is not portable.</div><div class='del'>-	  [ruby-core:5001]</div><div class='del'>-</div><div class='del'>-Sun May 15 22:28:10 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbObject#method_missing): use raise(exception).</div><div class='del'>-	  [ruby-dev:26164]</div><div class='del'>-</div><div class='del'>-Sun May 15 18:56:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, ruby.h: define rb_[pgu]id_t macros instead of typedefs</div><div class='del'>-	  to get rid of types which might not be defined yet.  [ruby-dev:26165]</div><div class='del'>-</div><div class='del'>-Sun May 15 14:35:46 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#unlink): unlink a symlink to a directory</div><div class='del'>-	  was failed.  [ruby-core:4992]</div><div class='del'>-</div><div class='del'>-Sun May 15 09:57:30 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (unixtime_to_filetime): deal with DST.</div><div class='del'>-	  [ruby-talk:141817]</div><div class='del'>-</div><div class='del'>-Sat May 14 23:59:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_exception, {exit,name_err,syserr}_initialize): call</div><div class='del'>-	  Execption#initialize.  fixed: [ruby-talk:142593]</div><div class='del'>-</div><div class='del'>-Sat May 14 23:56:41 2005  Erik Huelsmann  &lt;ehuels@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check for the availability of pid_t, gid_t and uid_t and</div><div class='del'>-	  remove AC_TYPE_UID_T.  fixed: [ruby-core:04745]</div><div class='del'>-</div><div class='del'>-	* defines.h: Remove pid_t typedef.</div><div class='del'>-</div><div class='del'>-	* ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with</div><div class='del'>-	 the available system types.</div><div class='del'>-</div><div class='del'>-	* process.c: Change instances of pid_t and gid_t to their rb_*</div><div class='del'>-	 counterparts.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: Change pid_t to rb_pid_t.</div><div class='del'>-</div><div class='del'>-	* vms/config.h: Define HAVE_{P,G,U}ID_T to 1.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: Remove #define for {g,u}id_t.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: Change pid_t to rb_pid_t.</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub: Remove #define for {g,u}id_t.</div><div class='del'>-</div><div class='del'>-	* wince/sys/types.h: Remove definitions of {p,g,u}id_t.</div><div class='del'>-</div><div class='del'>-Sat May 14 11:47:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (ruby_pragma): prototype.  [ruby-core:04881]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_pragma): parse Emacsen hack.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_prepare): deal with specific syntax at the top.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): read the first line iff it started with shebang.</div><div class='del'>-</div><div class='del'>-Fri May 13 23:44:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: keep srcdir unexpanded.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.</div><div class='del'>-	  fixed: [ruby-core:04932]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make</div><div class='del'>-	  also INSTALL_PROG and INSTALL_DATA system dependent.</div><div class='del'>-	  fixed: [ruby-core:04931]</div><div class='del'>-</div><div class='del'>-Fri May 13 23:32:55 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (unknown_node): add volatile directive to prototype.</div><div class='del'>-</div><div class='del'>-Fri May 13 17:50:49 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (generic_ivar_get): rb_attr_get should not warn.</div><div class='del'>-	  [ruby-dev:26010]</div><div class='del'>-</div><div class='del'>-Thu May 12 17:41:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: follow nkf 2.0.5</div><div class='del'>-</div><div class='del'>-Thu May 12 16:50:40 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: more readability for mixing</div><div class='del'>-	  progress "c..." and warning message.</div><div class='del'>-</div><div class='del'>-Thu May 12 15:50:56 2005  Tilman Sauerbeck  &lt;tilman@code-monkey.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: show parsing progress for C files.</div><div class='del'>-	  [ruby-core:4341]</div><div class='del'>-</div><div class='del'>-Thu May 12 09:53:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_show_version): flush for non-tty stdout.</div><div class='del'>-</div><div class='del'>-Thu May 12 01:23:55 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (unknown_node): ignore broken NODE to get rid of accessing</div><div class='del'>-	  possibly inaccessible address.  fixed: [ruby-dev:26122]</div><div class='del'>-	  should emit more useful information like [ruby-dev:26126], though.</div><div class='del'>-</div><div class='del'>-Wed May 11 15:58:39 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (break_jump): break should not cross functions.</div><div class='del'>-	  [ruby-list:40818]</div><div class='del'>-</div><div class='del'>-Wed May 11 10:41:54 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink): fixed typo.</div><div class='del'>-</div><div class='del'>-Wed May 11 01:03:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (TMP_ALLOC): use macro NEW_NODE() to get rid of warnings on</div><div class='del'>-	  platforms which have no alloca().  fixed: [ruby-talk:141301]</div><div class='del'>-</div><div class='del'>-Sun May  8 23:17:47 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: fix typo.</div><div class='del'>-</div><div class='del'>-Sun May  8 21:00:50 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): remove custom "hash" and "eql?".</div><div class='del'>-	  (ported from 1.8) [ruby-dev:26132]</div><div class='del'>-</div><div class='del'>-Sun May  8 16:50:25 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb: fixed "undefined method `[]' for nil:NilClass"</div><div class='del'>-	  [ruby-core:4775] [ruby-talk:140401] [ruby-dev:26118]</div><div class='del'>-</div><div class='del'>-Sat May  7 22:58:00 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_var): no libs argument is given.</div><div class='del'>-</div><div class='del'>-Fri May  6 08:08:37 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c:rb_hash_hash_i() should be static.  [ruby-core:04815]</div><div class='del'>-</div><div class='del'>-	* re.c should include regint.h for declarations of oniguruma</div><div class='del'>-	  functions.  [ruby-core:04815]</div><div class='del'>-</div><div class='del'>-Sun May  1 09:15:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_sflag): replace '-' in variable names with '_'.</div><div class='del'>-	  [ruby-dev:26107]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at</div><div class='del'>-	  parser.  fixed: [ruby-dev:26113]</div><div class='del'>-</div><div class='del'>-Sat Apr 30 11:59:25 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_FUNC_ATTRIBUTE): check for function attribute.</div><div class='del'>-	  [ruby-dev:26109]</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c: moved noinline to configure.in.</div><div class='del'>-</div><div class='del'>-	* rubyio.h (DEPRECATED): moved to configure.in.</div><div class='del'>-</div><div class='del'>-	* ruby.h (DEPRECATED, NOINLINE): default definition.</div><div class='del'>-</div><div class='del'>-	* win{32,ce}/Makefile.sub (config.h): deprecated and noinline for</div><div class='del'>-	  __declspec() are available for VC++7 or later.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 06:57:39 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#logger</div><div class='del'>-	  and WEBrick::CGI#config.  these are necessary to use an instance of</div><div class='del'>-	  WEBrick::CGI as the first argument of HTTPServlet#get_instance.</div><div class='del'>-	  (suggested by Tatsuki Sugiura)</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb</div><div class='del'>-	  (WEBrick::CGI#initalize): set a dummy to @config[:ServerSoftware]</div><div class='del'>-	  if SERVER_SOFTWARE environment variable is not given.</div><div class='del'>-	  (WEBrick::CGI#start): req.path_info must be a String.</div><div class='del'>-	  (WEBrick::CGI::Socket#request_line): treat REQUEST_METHOD, PATH_INFO</div><div class='del'>-	  and SCRIPT_NAME to run in console.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should</div><div class='del'>-	  not use String#split("/"). it removes trailing empty path component.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 08:21:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): use also environment variable space for setting</div><div class='del'>-	  $0.  [ruby-core:04774]</div><div class='del'>-</div><div class='del'>-Wed Apr 27 23:42:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (OPTFLAGS): default global optimization to</div><div class='del'>-	  disabled only for VC++6.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 22:58:00 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_invoke_core): call Tcl's "::unknown"</div><div class='del'>-	  command when can't get information of target command.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 13:54:55 2005  speakillof  &lt;speakillof@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/SHIFT-JIS.rb: encoding and decoding were</div><div class='del'>-	  swapped. [ruby-core:4772]</div><div class='del'>-</div><div class='del'>-Mon Apr 25 01:18:43 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h (OnigWarnFunc): add a variadic argument.</div><div class='del'>-	  [ruby-core:4751]</div><div class='del'>-</div><div class='del'>-Sat Apr 23 19:49:21 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_RubyExitCommand): exit with status code</div><div class='del'>-	  via TclTkIp#_eval didn't work. [ruby-talk:139390]</div><div class='del'>-</div><div class='del'>-Sat Apr 23 11:45:29 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_provided): should check also path name to be loaded.</div><div class='del'>-	  fixed: [ruby-dev:26093]</div><div class='del'>-</div><div class='del'>-Fri Apr 22 16:55:35 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_set_exc_message): fixed memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: eTkCallbackReturn was not initialized.</div><div class='del'>-</div><div class='del'>-Thu Apr 21 06:45:28 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_incpush_expand, proc_options): expand relative path</div><div class='del'>-	  given with -I option.  [ruby-dev:26090]</div><div class='del'>-</div><div class='del'>-	* configure.in, lib/mkmf.rb, {bcc32,win32,wince}/Makefile.sub: improve</div><div class='del'>-	  C++ support.  [ruby-dev:26089]</div><div class='del'>-</div><div class='del'>-Thu Apr 21 01:53:09 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: add rdoc.</div><div class='del'>-</div><div class='del'>-Thu Apr 21 00:07:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): support platforms have file separator</div><div class='del'>-	  other than /.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator</div><div class='del'>-	  of building platform.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 23:22:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk: miniruby depends on MINIOBJS.</div><div class='del'>-</div><div class='del'>-	* dmydln.c (dln_load): dummy function to raise LoadError.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby</div><div class='del'>-	  can't load extensions on Windows.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 23:01:35 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/ifchange.bat: delete testing files.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 22:54:54 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method Net::HTTP.post_form.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method Net::HTTPHeader#set_form_data and</div><div class='del'>-	  its alias #form_data=.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Net::HTTPHeader#add_header -&gt; add_field</div><div class='del'>-	  (adjustted to Ruby 1.8).</div><div class='del'>-</div><div class='del'>-Wed Apr 20 10:53:30 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (lex_init): use IRB module.</div><div class='del'>-	  [ruby-core:04737]</div><div class='del'>-</div><div class='del'>-Wed Apr 20 07:27:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/configure.bat, {bcc32,win32,wince}/setup.mak:</div><div class='del'>-	  add extout option.</div><div class='del'>-</div><div class='del'>-	* bcc32/setup.mak: make configuration variables overridable.</div><div class='del'>-</div><div class='del'>-Tue Apr 19 23:37:09 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb (File.safe_unlink): do not modify a symlinked file.</div><div class='del'>-</div><div class='del'>-Tue Apr 19 23:02:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): deal with features with path too.</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_file_expand_path): prototype.  fixed: [ruby-dev:26082]</div><div class='del'>-</div><div class='del'>-Tue Apr 19 08:38:07 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required, rb_require_safe): expand path in</div><div class='del'>-	  rb_features.  [ruby-dev:26079]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext): return absolute path.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: expand path for ext/**/extconf.rb.</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): handle static linked extensions.</div><div class='del'>-</div><div class='del'>-Mon Apr 18 15:37:35 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_attr): attribute name check added.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_plus): small typo fix.</div><div class='del'>-</div><div class='del'>-Mon Apr 18 11:25:14 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run): fixed SEGV. [ruby-core:4712]</div><div class='del'>-</div><div class='del'>-Sun Apr 17 23:57:49 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake, parse_args): do not expand destdir.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (relative_from): treat mere drive letter as an absolute</div><div class='del'>-	  path.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 17:01:16 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb (rss_recent_cache_rss):</div><div class='del'>-	  use the first date information of items as site date information</div><div class='del'>-	  if channel doesn't have date information.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 15:27:03 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_PROG_INSTALL): not add -p option to INSTALL.</div><div class='del'>-	  files need timestamps to be kept are only ar-archive on a few</div><div class='del'>-	  platforms, and be installed by instruby.rb but not INSTALL.</div><div class='del'>-	  fixed: [ruby-core:04721]</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: purge autoconf value variables.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 10:33:48 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: quick hack... prepend DESTDIR.</div><div class='del'>-	  still have restriction on DESTDIR ("", "/", "e:")</div><div class='del'>-</div><div class='del'>-Sat Apr 16 03:59:42 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check for OPENSSL_cleanse.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 22:40:19 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: add test for WIN32OLE.codepage=</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLETYPELIB.rb: correct expected message.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 22:04:07 2005  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(ole_invoke): retry after converting Qnil</div><div class='del'>-	  to VT_EMPTY.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 19:05:06 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper] (regexp): dispatch regexp option.</div><div class='del'>-	  [ruby-Bugs:1688]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/core.rb: regenerated (interface changed).</div><div class='del'>-</div><div class='del'>-Thu Apr 14 18:59:43 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_file): ignore exceptions caused by</div><div class='del'>-	  chmod.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_dir): try to get rights to rmdir.</div><div class='del'>-	  [ruby-Bugs:1502]</div><div class='del'>-</div><div class='del'>-Thu Apr 14 18:51:02 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb, lib/irb/slex.rb: bug fix of [ruby-Bugs-1745]</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/loader.rb, lib/irb/ext/save-history.rb:</div><div class='del'>-	  fix location of @RCS_ID</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb: a lost of release IRB 0.9.5.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 15:10:30 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/notifier.rb, lib/irb/output-method.rb, lib/irb/ext/history.rb</div><div class='del'>-	  fixed warning of 'ruby -w'</div><div class='del'>-</div><div class='del'>-Thu Apr 14 05:35:45 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/irb/irb.rd.ja: a lost  of release IRB 0.9.5.</div><div class='del'>-</div><div class='del'>-	* lib/irb/slex.rb: bug fix by [ruby-core:04707].</div><div class='del'>-</div><div class='del'>-Thu Apr 14 00:20:31 2005  Keiju Ishitsuka  &lt;keiju@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/irb lib/irb.rb lib/irb/...: IRB 0.9.5.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 23:40:21 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION): 0.1.3 -&gt; 0.1.4.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::Element#converter): fixed converter</div><div class='del'>-	  transmission bug.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 22:12:16 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#order!): call handlers iff matches</div><div class='del'>-	  non-switch.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 21:20:35 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw32): extract msvcr*.dll from objdump result.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 19:25:31 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw32): use actual runtime DLL name as ruby DLL</div><div class='del'>-	  name and default load path.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, win32/setup.mak: ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 12 19:30:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#make_switch, OptionParser#order!):</div><div class='del'>-	  added non-option and end-of-args handler.  [ruby-talk:136878]</div><div class='del'>-	  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Tue Apr 12 15:33:09 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_finalize): better modification than the</div><div class='del'>-	  previous commit [ruby-dev:26029].</div><div class='del'>-</div><div class='del'>-Tue Apr 12 12:38:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_finalize): fix SEGV when Tcl_GlobalEval()</div><div class='del'>-	  modifies the argument string to eval.</div><div class='del'>-</div><div class='del'>-Tue Apr 12 02:21:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_finalize): add existence check of</div><div class='del'>-	  Tcl commands before calling Tcl_GlobalEval().</div><div class='del'>-</div><div class='del'>-Mon Apr 11 23:36:04 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: [druby-ja:123] fix: When reference of my object is</div><div class='del'>-	  loaded, the object is tainted.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 11 22:18:23 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c, file.c (lstat): avoid warnings for mingw.</div><div class='del'>-</div><div class='del'>-Mon Apr 11 20:11:06 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_finalize): adhoc patch to avoid SEGV when exit</div><div class='del'>-	  on Tcl/Tk8.3.x.</div><div class='del'>-</div><div class='del'>-Mon Apr 11 15:24:20 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): shouldn't output hdrdir twice.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 18:20:31 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/image.rb: support to create TkImage object without</div><div class='del'>-	  creating a new image object on Tk.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString</div><div class='del'>-	  from (x, y) coords.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/: add demo and update support status.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 14:42:29 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb: supported configuration</div><div class='del'>-	  via Web browser.</div><div class='del'>-</div><div class='del'>-Fri Apr  8 20:17:48 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): hdrdir needs to be defined also in</div><div class='del'>-	  Config::CONFIG.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration, create_makefile): get rid of recursive</div><div class='del'>-	  macro reference.</div><div class='del'>-</div><div class='del'>-Fri Apr  8 01:55:20 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-{en,jp}/goldberg.rb: reduced window size.</div><div class='del'>-	  [ruby-dev:25992]</div><div class='del'>-</div><div class='del'>-Thu Apr  7 23:58:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): keep directory names in Makefile as macros.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration, create_makefile): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CXX_EXT): separate C++ extensions.</div><div class='del'>-</div><div class='del'>-Thu Apr  7 17:24:17 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): "return" event hook should be always executed</div><div class='del'>-	  if event_hooks is set.</div><div class='del'>-</div><div class='del'>-Thu Apr  7 14:33:09 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_dc.rb (test_date): added a test for #date=</div><div class='del'>-	  and #dc_date=.</div><div class='del'>-</div><div class='del'>-Thu Apr  7 11:49:53 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/dublincore.rb: _really_ supported multiple Dublin</div><div class='del'>-	  Core items.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb (assert_multiple_dublin_core): added</div><div class='del'>-	  an assertion for testing multiple Dublin Core items.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_dc.rb (test_rss10_multiple): added a test</div><div class='del'>-	  for making multiple Dublin Core items.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 16:06:30 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb (test_key): should test ENV.key instead of</div><div class='del'>-	  ENV.index. [ruby-dev:25994]</div><div class='del'>-</div><div class='del'>-Tue Apr  5 16:01:12 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/*: refactored.</div><div class='del'>-	  - gave a name to 'x'.</div><div class='del'>-	  - undef_method -&gt; remove_method for avoiding a warning in ruby 1.6.</div><div class='del'>-</div><div class='del'>-Tue Apr  5 15:45:33 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb:</div><div class='del'>-	  new option: @options['rss-recent.use-image-link']:</div><div class='del'>-	  use image as link instread of text if available.</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb (RSS_RECENT_VERSION):</div><div class='del'>-	  0.0.5 -&gt; 0.0.6.</div><div class='del'>-</div><div class='del'>-Tue Apr  5 15:15:26 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb: supported multiple Dublin Core items.</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb: added class name registry for complex model</div><div class='del'>-	  elements. (ex. have childlen elements, have some attributes and</div><div class='del'>-	  a child element and so on.)</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb: added default current_element implementation.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/dublincore.rb: supported multiple Dublin Core</div><div class='del'>-	  items.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/image.rb: supproted new Dublin Core API.</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb (RSS::TrackBackUtils.new_with_value_if_need):</div><div class='del'>-	  moved to RSS::Utils.</div><div class='del'>-</div><div class='del'>-	* lib/rss/utils.rb (RSS::Utils.new_with_value_if_need):</div><div class='del'>-	  moved from RSS::TrackBackUtils.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/image.rb: fixed invalid argument of</div><div class='del'>-	  add_need_initialize_variable bug.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/trackback.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (Hash#merge): added for ruby 1.6.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::BaseModel.date_writer): changed to accept nil</div><div class='del'>-	  for date value.</div><div class='del'>-</div><div class='del'>-	* test/test_dublincore.rb: added tests for plural accessor and</div><div class='del'>-	  multiple Dublin Core items.</div><div class='del'>-</div><div class='del'>-	* test/test_setup_maker_1.0.rb: fixed swapped actual and expected</div><div class='del'>-	  values.</div><div class='del'>-</div><div class='del'>-Mon Apr  4 23:17:52 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (TkComm#array2tk_list): accept enc-mode argument to</div><div class='del'>-	  decide whether convert encoding of each element or not.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb (TkVariable#value=): fail to convert the</div><div class='del'>-	  encoding of array elements when assign an array to an TkVariable</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-Mon Apr  4 10:26:48 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: fixed typo.</div><div class='del'>-</div><div class='del'>-Sat Apr  2 23:38:54 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (CP, INSTALL): get rid of less portable options.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration, create_makefile): correct configuration</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-	* wince/configure.bat, wince/setup.mak: add prefix, extstatic and</div><div class='del'>-	  rdoc options.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): ensure library directories get made</div><div class='del'>-	  before copying libraries there.</div><div class='del'>-</div><div class='del'>-Sat Apr  2 16:59:46 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: forgot to update RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: fix namespace trouble when autoloading</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/palette.rb: define Tcl variable 'tkPalette' as global</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: use array2tk_list method when calling</div><div class='del'>-	  Tk.ip_eval.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/autoload.rb: add autoload entry 'TkDialogObj' and</div><div class='del'>-	  'TkWarningObj'</div><div class='del'>-</div><div class='del'>-Sat Apr  2 13:23:17 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_key): ENV.index is deprecated as well as Hash#index.</div><div class='del'>-	  use ENV.key instead. [ruby-dev:25974]</div><div class='del'>-</div><div class='del'>-Sat Apr  2 02:19:11 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (TkWindow.initialize): accept 'without_creating'</div><div class='del'>-	  option without 'widgetname' option to allow creating a widget object</div><div class='del'>-	  which is used as an argument of Tcl/Tk's widget allocation commands.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/image.rb (TkImage.initialize): accept 'imagename'</div><div class='del'>-	  option to create a image object by the given name.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 22:23:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case</div><div class='del'>-	  insensitive file system platforms.</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (Appendix C): utility functions.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 14:08:43 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_load): should return</div><div class='del'>-	  value. [ruby-dev:25971]</div><div class='del'>-</div><div class='del'>-Thu Mar 31 11:07:50 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb: @@setter -&gt; @@setters.</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb</div><div class='del'>-	  (RSS::BaseListener.register_uri)</div><div class='del'>-	  (RSS::BaseListener.uri_registered?)</div><div class='del'>-	  (RSS::BaseListener.install_get_text_element):</div><div class='del'>-	  swapped the first argument and the second argument.</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb: swapped the first argument and the second</div><div class='del'>-	  argument for RSS::BaseListener.install_get_text_element.</div><div class='del'>-	* lib/rss/image.rb: ditto.</div><div class='del'>-	* lib/rss/syndication.rb: ditto.</div><div class='del'>-	* lib/rss/dublincore.rb: ditto.</div><div class='del'>-	* lib/rss/parser.rb: ditto.</div><div class='del'>-	* lib/rss/1.0.rb: ditto.</div><div class='del'>-	* lib/rss/2.0.rb: ditto.</div><div class='del'>-	* lib/rss/0.9.rb: ditto.</div><div class='del'>-	* lib/rss/content.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 11:00:36 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb</div><div class='del'>-	  (RSS::BaseListener.install_setter)</div><div class='del'>-	  (RSS::BaseListener.register_uri): changed fallback way.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 08:25:40 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RUBYOPT): clear for the environment RubyGems installed.</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-local): keep $(PREP) files till distclean.</div><div class='del'>-</div><div class='del'>-	* common.mk (check): do all tests.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 06:00:20 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_load): should not raise</div><div class='del'>-	  error even if the specified engine could not be loaded. (Dynamic</div><div class='del'>-	  engines don't have fixed name to load.)</div><div class='del'>-</div><div class='del'>-Wed Mar 30 17:41:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add TclTkIp#_create_console() method to create</div><div class='del'>-	  a Tcl/Tk's console window.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: support TclTkIp#_create_console() method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/console.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: update RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demo-*/check2.rb: use 'return' in the Proc object.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/**: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 22:20:49 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: use DRbObject.new_with instead of reinit.</div><div class='del'>-	  [ruby-dev:25961]</div><div class='del'>-</div><div class='del'>-Tue Mar 29 00:04:57 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: move method DRbObject#reinit to DRbObject.new_with.</div><div class='del'>-	  extract method DRbObject.prepare_backtrace. add DRb.regist_server,</div><div class='del'>-	  remove_server, fetch_server. change server in thread variable if</div><div class='del'>-	  in-proc server. [druby-ja:113]</div><div class='del'>-</div><div class='del'>-	* lib/drb/gw.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 20:53:44 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): nothing to be removed when no file</div><div class='del'>-	  was deleted.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): restore srcdir.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 08:39:49 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_create): Iconv::Failure requires 3</div><div class='del'>-	  arguments.  (pointed out by NaHi)</div><div class='del'>-</div><div class='del'>-Sun Mar 27 00:56:58 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_file): ignore Errno::E* if force option</div><div class='del'>-	  is set. [ruby-dev:25944]</div><div class='del'>-</div><div class='del'>-Sat Mar 26 22:51:33 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (_callback_entry_class?): add for checking whether</div><div class='del'>-	  a class is available for a callback entry.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (after_cancel): add Tk.after_cancel(afterID) method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (array2tk_list): change from private module method</div><div class='del'>-	  of TkComm to public module method.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (cget): add check that slot argument is not</div><div class='del'>-	  empty string.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (configinfo): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb (itemcget): add check that slot argument</div><div class='del'>-	  is not empty string.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/itemconfig.rb (itemconfiginfo): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/entry.rb: add TkEntry#icursor and icursor= (alias of</div><div class='del'>-	  cursor and cursor= method).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: improve font treatment when the font name is</div><div class='del'>-	  empty string.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: add :variable, :window and :procedure</div><div class='del'>-	  type.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: improve treatment of array-type</div><div class='del'>-	  tkvariable.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt.rb: add commands for zooming.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/*: bug fix.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and add methods</div><div class='del'>-	  to call TreeCtrl commands for bindings.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/blt/*: new sample scripts.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/treectrl/*: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 10:53:16 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (WIN32_LEAN_AND_MEAN): removed because a lot of</div><div class='del'>-	  troubles.  [ruby-list:40721]</div><div class='del'>-</div><div class='del'>-Thu Mar 24 23:10:44 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (macro_defined?): try to compile for an old compiler</div><div class='del'>-	  which doesn't bail out at #error directive.  [ruby-dev:25818]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_sizeof): refine logging messages.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 19:08:10 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils.create_listeners):</div><div class='del'>-	  - should raise ArgumentError if no port is specified.</div><div class='del'>-	  - even if the specified port is 0, all TCPServers should be</div><div class='del'>-	    initialized with the port given to the first one.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#initialize): if :Port</div><div class='del'>-	  parameter is 0, it should be updated with the port number which</div><div class='del'>-	  ectually listened.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 16:12:40 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): fix lineno of rescue and ensure.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 00:39:05 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (test_event): added tests for</div><div class='del'>-	  "class" and "end" and "raise".</div><div class='del'>-</div><div class='del'>-Sun Mar 20 22:51:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (mkmf_failed): check if Makefile is created without</div><div class='del'>-	  create_makefile.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 23:48:10 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg): returned true always.</div><div class='del'>-	  fixed: [ruby-list:40683]</div><div class='del'>-</div><div class='del'>-Sat Mar 19 00:41:02 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: add some TkFont class methods to get font</div><div class='del'>-	  information without creating a TkFont object.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and define some</div><div class='del'>-	  classes for components of Tk::TreeCtrl</div><div class='del'>-</div><div class='del'>-Thu Mar 17 17:42:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): allow non local-id field</div><div class='del'>-	  names. [ruby-core:04575]</div><div class='del'>-</div><div class='del'>-	* struct.c (inspect_struct): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 23:39:13 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: added test for c-return.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 22:57:43 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): call_cfunc() should be protected.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_add_event_hook): use K&amp;R style.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_remove_event_hook): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 22:03:15 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_add_event_hook): new function to add a hook function for</div><div class='del'>-	  interpreter events.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 18:08:32 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): reorganize "return" event post.</div><div class='del'>-</div><div class='del'>-	* eval.c (return_jump): no need to post "return" event here.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 23:49:19 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (Init_iconv): InvalidEncoding also should include</div><div class='del'>-	  Iconv::Failure.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 23:12:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (recursive_check, recursive_push): more restrictive check.</div><div class='del'>-	  fixed: [ruby-dev:25916]</div><div class='del'>-</div><div class='del'>-Tue Mar 15 16:38:31 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (ary2list): give wrong arguments to hash2kv()</div><div class='del'>-</div><div class='del'>-Mon Mar 14 19:39:33 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value</div><div class='del'>-	  when restarting</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/sample/cd_timer.rb: new sample of TkRTTimer</div><div class='del'>-</div><div class='del'>-Mon Mar 14 12:21:03 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb (TkRTTimer): forgot to reset the callback</div><div class='del'>-	  time. So, 'continue' do all callbacks between 'stop' and 'continue'.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 08:14:56 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (str_to_id): raise ArgumentError for NUL containing</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 00:13:49 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb (TkRTTimer): correct calculation of offset</div><div class='del'>-	  value. get a little better accuracy.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/widget: use a binding with no local variables</div><div class='del'>-	  when eval a sample script.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/bind.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/tcolor: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/bind.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/tcolor: ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 13 22:19:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (recursive_pop): raise TypeError instead of fatal error.</div><div class='del'>-	  fixed: [ruby-dev:25843]</div><div class='del'>-</div><div class='del'>-Sun Mar 13 10:09:17 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: remove test_gc. [ruby-dev:25871]</div><div class='del'>-</div><div class='del'>-Sun Mar 13 02:32:54 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): should get DH</div><div class='del'>-	  parameter from the current SSL object.</div><div class='del'>-</div><div class='del'>-Sun Mar 13 02:09:03 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (ossl_create_dh): fix typo.</div><div class='del'>-	  patch from IWATSUKI Hiroyuki. [ruby-dev:25867]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto.</div><div class='del'>-	  (ossl_call_tmp_dh_callback): ditto</div><div class='del'>-</div><div class='del'>-Fri Mar 11 03:24:59 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): wrong var node was set for NODE_LAMBDA.</div><div class='del'>-	  [ruby-core:04555]</div><div class='del'>-</div><div class='del'>-Thu Mar 10 19:10:29 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (lib_eventloop_ensure): mis-delete a timer handler</div><div class='del'>-	  when exit from a recursive called eventloop</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: new TkRTTimer class, which can works for a</div><div class='del'>-	  realtime operation</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkrttimer.rb: sample of TkRTTimer class</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textmark.rb: move  TkTextMark#+ and TkTextMark#- to</div><div class='del'>-	  TkText::IndexModMethods</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: improve TkTextMark#+ and TkTextMark#-, and</div><div class='del'>-	  add them to TkText::IndexModMethods module</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextio.rb: add test part of "seek by text index</div><div class='del'>-	  modifiers"</div><div class='del'>-</div><div class='del'>-Thu Mar 10 08:10:11 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (make_regexp): need to free internal regexp structure when</div><div class='del'>-	  compilation fails.  [ruby-talk:133228]</div><div class='del'>-</div><div class='del'>-Thu Mar 10 01:08:20 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (bv_decl): remove initialize rule from block local</div><div class='del'>-	  variable declaration.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 23:55:34 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods#guard_inspect_key): support</div><div class='del'>-	  __recursive_key__.  [ruby-dev:25821]</div><div class='del'>-</div><div class='del'>-Wed Mar  9 19:42:21 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: OpenSSL::SSL::SSLContexts suports callbacks:</div><div class='del'>-	  - SSLContext#client_cert_cb is a Proc. it is called when a client</div><div class='del'>-	    certificate is requested by a server and no certificate was yet</div><div class='del'>-	    set for the SSLContext. it must return an Array which includes</div><div class='del'>-	    OpenSSL::X509::Certificate and OpenSSL::PKey::RSA/DSA objects.</div><div class='del'>-	  - SSLContext#tmp_dh_callback is called in key exchange with DH</div><div class='del'>-	    algorithm. it must return an OpenSSL::PKey::DH object.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c:</div><div class='del'>-	  (ossl_sslctx_set_ciphers): ignore the argument if it's nil.</div><div class='del'>-	  (ossl_start_ssl, ossl_ssl_write): call rb_sys_fail if errno isn't 0.</div><div class='del'>-	  [ruby-dev:25831]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c</div><div class='del'>-	  (GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.</div><div class='del'>-	  (DupPrivPKeyPtr): new function.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: add default DH parameters.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]</div><div class='del'>-</div><div class='del'>-Wed Mar  9 18:09:51 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): warns if VCALL name is used as</div><div class='del'>-	  out-of-scope block local variable.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* parse.y (opt_bv_decl): add explicit block local variable</div><div class='del'>-	  declaration.  raises error for name conflicts.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Wed Mar  9 13:37:57 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextio.rb: fix bug of handling 'end' position.</div><div class='del'>-	  support initial text, overwrite setting and pos_gravity control.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 18:16:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextio.rb: New sample script. TkTextIO class in this</div><div class='del'>-	  sample supports to use a text widget as if it is a I/O stream (such</div><div class='del'>-	  like as StringIO class).</div><div class='del'>-</div><div class='del'>-Tue Mar  8 13:39:25 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: workaround for some of 4.4BSD-Lite</div><div class='del'>-	  derived OSs.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 12:36:17 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: document from Sam Roberts</div><div class='del'>-	  &lt;sroberts@uniserve.com&gt; for getsockopt and setsockopt is merged.</div><div class='del'>-	  [ruby-doc:824]</div><div class='del'>-</div><div class='del'>-Tue Mar  8 10:48:53 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exec_recursive): declaration should precede statements</div><div class='del'>-	  before C99.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 10:05:40 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (errno_missing): Errno.const_missing to allow references</div><div class='del'>-	  to SyscallError exceptions not defined on the platform.</div><div class='del'>-	  [ruby-core:04522]</div><div class='del'>-</div><div class='del'>-	* error.c (Init_syserr): Errno::NOERROR(0) for fallback exception.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 01:19:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.66</div><div class='del'>-	  fixed: [ruby-dev:25828]</div><div class='del'>-</div><div class='del'>-Mon Mar  7 21:29:40 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#start): should</div><div class='del'>-	  restore @token if accept failure. suggested by Dominique Brezinski.</div><div class='del'>-	  [ruby-core:04518]</div><div class='del'>-</div><div class='del'>-	* sample/webrick/httpsd.rb: fix typo in comment. suggested by</div><div class='del'>-	  Kazuhiko Shiozaki.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 21:01:37 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_require_safe): get actual path string under safe level</div><div class='del'>-	  when requested.  fixed: [ruby-dev:25815]</div><div class='del'>-</div><div class='del'>-Mon Mar  7 16:46:02 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_read,</div><div class='del'>-	  ossl_ssl_write): need to set errno on Win32 platform.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 14:55:43 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): should not push unique number if a block is</div><div class='del'>-	  not an orphan.  [ruby-dev:25808]</div><div class='del'>-</div><div class='del'>-Mon Mar  7 14:13:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):</div><div class='del'>-	  should set @eof and @rbuffer.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 10:28:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (inspect_obj): unintended space removal.</div><div class='del'>-	  [ruby-dev:25810]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exec_recursive): should not use NODE in disclosed</div><div class='del'>-	  context.  [ruby-dev:25812]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): need not to check if to_open value is a</div><div class='del'>-	  T_FILE.  [ruby-dev:25812]</div><div class='del'>-</div><div class='del'>-Mon Mar  7 01:21:01 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: follow the change of st.c (committed</div><div class='del'>-	  at Fri, 4 Mar 2005 15:47:47 +0900 by matz)</div><div class='del'>-</div><div class='del'>-Mon Mar  7 00:01:55 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fail to call TclTkLib.mainloop when $SAFE==4</div><div class='del'>-</div><div class='del'>-Sun Mar  6 13:04:10 2005  Dee Zsombor  &lt;zsombor@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: added.</div><div class='del'>-	* misc/Readme: updated.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 11:47:10 2005  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: rdoced.  [ruby-core:4490]</div><div class='del'>-</div><div class='del'>-Sun Mar  6 11:36:37 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (File::Stat#pretty_print): Etc.getpwuid and Etc.getgrgid</div><div class='del'>-	  may return nil.  [ruby-talk:129826]</div><div class='del'>-	  reported by Daniel Berger.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 06:34:31 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_start_ssl): should wait for that</div><div class='del'>-	  the underlying IO become readable or writable if the error was</div><div class='del'>-	  SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. [ruby-dev:25795]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read, ossl_ssl_write): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb</div><div class='del'>-	  (Buffering#consume_rbuf): pointless eof flag resetting is deleted.</div><div class='del'>-	  (Buffering#read): should return an empty string if the specified</div><div class='del'>-	  size is zero.</div><div class='del'>-	  (Buffering#readpartial): new method.</div><div class='del'>-	  (Buffering#readline): fix typo.</div><div class='del'>-	  (Buffering#getc): return the first character of string correctly.</div><div class='del'>-	  (Buffering#readchar): fix typo.</div><div class='del'>-	  (Buffering#eof?): should read again it the input buffer is empty.</div><div class='del'>-	  (Buffering#do_write): should rescue Errno::EAGAIN.</div><div class='del'>-	  (Buffering#puts): use "\n" as the output field separator.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: get rid of GNUmakefile generation.</div><div class='del'>-</div><div class='del'>-	* text/openssl/test_pair.rb: test for IO like methods.</div><div class='del'>-</div><div class='del'>-	* test/ruby/ut_eof.rb: test about empty file.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 17:48:31 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_glob): fixed mismatch of argument.</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): removed unnecessary code. (by string.c 1.219)</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NtInitialize): ditto. (by numeric.c 1.117)</div><div class='del'>-</div><div class='del'>-Sat Mar  5 16:50:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.65</div><div class='del'>-</div><div class='del'>-Sat Mar  5 16:29:26 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: freeze callback-entry objects</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile.rb: support tile-0.6</div><div class='del'>-</div><div class='del'>-Sat Mar  5 12:52:08 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): allow putting spaces between target</div><div class='del'>-	  and colon in depend file.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 02:41:00 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (eaccess): workaround for VC++8 runtime.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (ioinfo): VC++8 support.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 19:39:55 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#do_includes): replace</div><div class='del'>-	  also locally defined modules.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c: rdocified.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: moved misplaced rdoc.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 16:11:20 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exec_recursive): matched the declaration to prototype.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: don't need to check HAVE_WCOLOR_SET excluding</div><div class='del'>-	  window_color_set().</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fixed commit mistakes.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 12:45:17 2005  Tilman Sauerbeck  &lt;tilman@code-monkey.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: allow whitespace after function names.</div><div class='del'>-	  [ruby-core:4296]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_simple.rb: adds support for private comments</div><div class='del'>-	  in the "simple" parser. [ruby-core:4301]</div><div class='del'>-</div><div class='del'>-Fri Mar  4 12:45:17 2005  Charles Mills  &lt;cmills@freeshell.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: adds support for constants</div><div class='del'>-	  (rb_define_const), accessors (rb_define_attr), and makes a</div><div class='del'>-	  couple fixes. [ruby-core:4307]</div><div class='del'>-</div><div class='del'>-Fri Mar  4 12:45:17 2005  Florian Gross  &lt;florgro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Logic for def Builtin.method() end</div><div class='del'>-	  [ruby-core:4302]</div><div class='del'>-</div><div class='del'>-Fri Mar  4 12:45:17 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: replace rb_protect_inspect() and rb_inspecting_p() by</div><div class='del'>-	  rb_exec_recursive() in eval.c.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exec_recursive): new function.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_join): use rb_exec_recursive().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_inspect, rb_ary_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_puts): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_inspect): ditto</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 10:15:30 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (SortedSet::setup): a hack to shut up warning.</div><div class='del'>-	  [ruby-talk:132866]</div><div class='del'>-</div><div class='del'>-Fri Mar  4 09:37:12 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (install-nodoc, pre-install-doc, post-install-doc):</div><div class='del'>-	  fix some omissions.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 08:09:12 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time::strptime): add new function.  inspired by</div><div class='del'>-	  [ruby-talk:132815].</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb (ParseDate::strptime): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 07:07:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63</div><div class='del'>-</div><div class='del'>-Thu Mar  3 23:24:00 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: follow nkf 1.62</div><div class='del'>-</div><div class='del'>-Thu Mar  3 18:47:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (config.h): check if affected</div><div class='del'>-	  when makefiles are modified.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (config.status): add variables</div><div class='del'>-	  for tests.</div><div class='del'>-</div><div class='del'>-	* win32/ifchange.bat: try to update a file only if modified.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: more descriptions.</div><div class='del'>-</div><div class='del'>-	* common.mk: add {pre,post}-install targets.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install?): install particular part.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (post-install-ext): remove debug information</div><div class='del'>-	  files after installation.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_rbUpdateCommand, ip_rb_threadUpdateCommand):</div><div class='del'>-	  get rid of warnings with Tcl/Tk 8.3 or former.</div><div class='del'>-</div><div class='del'>-Thu Mar  3 11:49:51 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb: added site information.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 19:53:44 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (parse_args): return false if nothing matched.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 17:15:08 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (lib_eventloop_core): fix typo</div><div class='del'>-</div><div class='del'>-Wed Mar  2 16:59:50 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_native_thread_kill): call pthread_kill() to send a</div><div class='del'>-	  signal to ruby's native thread</div><div class='del'>-</div><div class='del'>-	* ruby.h: add definition of ruby_native_thread_kill()</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsend_to_ruby_thread): send the signal to ruby's</div><div class='del'>-	  native thread ([ruby-dev:25744], [ruby-dev:25754]), and set</div><div class='del'>-	  signal mask to the current native thread</div><div class='del'>-</div><div class='del'>-Wed Mar  2 16:03:08 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: enforce thread-check and exception-handling to</div><div class='del'>-	  avoid SEGV trouble.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: fix a bug on converting a SJIS string array</div><div class='del'>-	  to a Tcl's list string.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to</div><div class='del'>-	  protect from namespace crash.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: enforce exception-handling.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add TclTkLib.mainloop_thread?</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/clock.rb: fix 'no method error'.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/variable.rb: be able to set default_value_type; :numeric,</div><div class='del'>-	  :bool, :string, :symbol, :list, :numlist or nil (default; same to</div><div class='del'>-	  :string). If set a type, TkVariable#value returns a value of the</div><div class='del'>-	  type.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the</div><div class='del'>-	  risk of using TclX extension's 'signal' command.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/irbtk.rb: irb with Ruby/Tk.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code'</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-*/pendulum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-*/goldberg.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-*/widget: add entries of animation demos.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 12:21:18 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): [EXPERIMENTAL] NODE_LAMBDA implemented.</div><div class='del'>-	  [ruby-dev:25780]</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_LAMBDA): for literal Proc object.</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): interpret mere do...end block as proc object.</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): ditto, for brace block.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 21:16:54 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (optimize_node_left): uninitialized member</div><div class='del'>-	  (OptEnv.backrefed_status) was used. [ruby-dev:25778]</div><div class='del'>-</div><div class='del'>-Tue Mar  1 16:50:37 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c: move st_*_strend() functions from st.c.  fixed some</div><div class='del'>-	  potential memory leaks.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 00:40:35 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb (Rinda::TupleSpace): improved keeper thread.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 23:10:13 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): IPv6 is not supported although</div><div class='del'>-	  AF_INET6 is defined on bcc32. (rev1.108 again)</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 28 21:55:49 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_s_allocate):</div><div class='del'>-	  use onig_region_init().</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (adjust_registers_to_matched):</div><div class='del'>-	  use onig_region_set().</div><div class='del'>-</div><div class='del'>-Mon Feb 28 15:12:06 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): ported more Socket::Constants</div><div class='del'>-	  from ruby_1_8, and made it easy to add new constants.</div><div class='del'>-	  [ruby-dev:25771]</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: ditto. (added)</div><div class='del'>-</div><div class='del'>-Mon Feb 28 11:42:23 2005  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='del'>-</div><div class='del'>-	* exception error messages updated.  [ruby-core:04497]</div><div class='del'>-</div><div class='del'>-Mon Feb 28 09:03:09 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): add bunch of Socket</div><div class='del'>-	  constants.  Patch from Sam Roberts &lt;sroberts@uniserve.com&gt;.</div><div class='del'>-	  [ruby-core:04409]</div><div class='del'>-</div><div class='del'>-Sun Feb 27 05:55:38 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: fix typo. [ruby-core:04494]</div><div class='del'>-</div><div class='del'>-Sat Feb 26 16:58:20 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y, re.c, regex.h, LEGAL, ext/strscan/strscan.c:</div><div class='del'>-	  remove oniggnu.h (GNU regex API).</div><div class='del'>-</div><div class='del'>-Wed Feb 23 22:08:16 2005  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c, st.h: imported additional file changes on</div><div class='del'>-	  Oniguruma 3.7.0.</div><div class='del'>-</div><div class='del'>-Wed Feb 23 21:45:29 2005  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c,</div><div class='del'>-	  regenc.c, regenc.h, regerror.c, regexec.c, regint.h,</div><div class='del'>-	  regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma</div><div class='del'>-	  3.7.0.</div><div class='del'>-</div><div class='del'>-Wed Feb 23 15:04:32 2005  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (split_userinfo): should split ":pass" into ""</div><div class='del'>-	  and "pass".  [ruby-dev:25667]</div><div class='del'>-</div><div class='del'>-Wed Feb 23 08:00:18 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_s_create): no need for negative argc check.</div><div class='del'>-	  [ruby-core:04463]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_unshift_m): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 23 01:53:29 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (initialize): handle certs correctly. Thanks,</div><div class='del'>-	  NABEYA Kenichi.</div><div class='del'>-</div><div class='del'>-Wed Feb 23 00:37:34 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (mkmf_failed): fixed typo.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 23:52:45 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, lib/mkmf.rb: use simple commands if available.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: remove autoconf internal variables from rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): substitute implicit rules in depend</div><div class='del'>-	  file.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (COMPILE_RULES, RULE_SUBST):</div><div class='del'>-	  include $(topdir) and $(hdrdir) to search path.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 23:51:45 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: get rid of warnings caused by a bug of VC.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 23:50:26 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal, ruby_nativethread_signal): must be valid as</div><div class='del'>-	  expressions, not only statements.</div><div class='del'>-</div><div class='del'>-Tue Feb 22 12:54:13 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): update curr_thread before raising</div><div class='del'>-	  TAG_THREAD.  [ruby-dev:25712]</div><div class='del'>-</div><div class='del'>-Tue Feb 22 07:24:57 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): identifier after dot must not be a variable.</div><div class='del'>-</div><div class='del'>-Mon Feb 21 18:31:12 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c: Standard signal handlers ignore signals on non-Ruby native</div><div class='del'>-	  threads. When a handler is entried with ruby_signal() (like as the</div><div class='del'>-	  standard signal handlers), the handler for the signal is marked as</div><div class='del'>-	  it cannot accept non-Ruby native threads. If a handler can treat all</div><div class='del'>-	  signals on all native threads, please use ruby_nativethread_signal()</div><div class='del'>-	  to entry it.</div><div class='del'>-</div><div class='del'>-Sun Feb 20 00:48:48 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::FTP#buffer_open): access mechanism</div><div class='del'>-	  re-implemented according to RFC 1738.</div><div class='del'>-	  reported by Guillaume Marcais.  [ruby-talk:131650]</div><div class='del'>-</div><div class='del'>-Sat Feb 19 18:46:56 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbObject#respond_to?): take two arguments.</div><div class='del'>-	  [ruby-dev:25722]</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 19 13:52:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: call OpenSSL::SSL::SSLSocket#post_connection_check</div><div class='del'>-	  after connection is made.</div><div class='del'>-</div><div class='del'>-Sat Feb 19 13:31:28 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): remove no longer existing installed</div><div class='del'>-	  files.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (install_dirs): return installation directory list.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): reverted wrongly removed lines.</div><div class='del'>-</div><div class='del'>-Sat Feb 19 01:28:56 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/newton.rb: resolved LoadError.</div><div class='del'>-	  [ruby-dev:25685]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/sample/linear.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/sample/nlsolve.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/nlsolve.rb: removed because this file</div><div class='del'>-	  is sample script and same file exists in ext/bigdecimal/sample.</div><div class='del'>-</div><div class='del'>-Fri Feb 18 17:14:00 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass</div><div class='del'>-	  of StandardError class, not Exception class.  [ruby-core:04429]</div><div class='del'>-</div><div class='del'>-Fri Feb 18 04:06:41 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (fcall_gen): lvar(arg) will be evaluated as</div><div class='del'>-	  lvar.call(arg) when lvar is a defined local variable. [new]</div><div class='del'>-</div><div class='del'>-Thu Feb 17 22:15:34 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: calls Oniguruma API directly.</div><div class='del'>-</div><div class='del'>-Thu Feb 17 21:53:12 2005  K.Kosako  &lt;sndgk393 AT ybb.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, LEGAL: remove reggnu.c.</div><div class='del'>-</div><div class='del'>-Thu Feb 17 21:53:12 2005  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, re.c: now ruby calls Oniguruma API directly, bypassing</div><div class='del'>-	  GNU compatible APIs.</div><div class='del'>-</div><div class='del'>-Thu Feb 17 20:09:23 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbServer.default_safe_level): fix typo.</div><div class='del'>-</div><div class='del'>-Thu Feb 17 20:09:23 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: separate test case for each algorithms.</div><div class='del'>-	  [ruby-dev:25412]</div><div class='del'>-</div><div class='del'>-Thu Feb 17 14:31:52 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_initialize): call inherited method before</div><div class='del'>-	  calling initializing block.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_1): initialize newly pushed frame.</div><div class='del'>-	  fixed: [ruby-dev:25707]</div><div class='del'>-</div><div class='del'>-Thu Feb 17 13:46:00 2005  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector.rb (collect_file): now deletes paths added</div><div class='del'>-	  to $LOAD_PATH instead of restoring it verbatim.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (AutoRunner.run): fixed so that</div><div class='del'>-	  'ruby -rtest/unit -rtest1 -rtest2 -e0' will use the objectspace</div><div class='del'>-	  collector again. Also tried to simplify the calling convention.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: adjusted for new AutoRunner semantics.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 17 04:21:47 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.</div><div class='del'>-	  fixed: [ruby-core:04444]</div><div class='del'>-</div><div class='del'>-Thu Feb 17 00:31:21 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb, ut_safe1.rb: port from 1.8</div><div class='del'>-</div><div class='del'>-Thu Feb 17 00:02:27 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): NODE_IASGN is an assignment.</div><div class='del'>-</div><div class='del'>-Wed Feb 16 23:54:14 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_1): outer block variables wasn't linked to</div><div class='del'>-	  threads.  fixed: [ruby-dev:25700]</div><div class='del'>-</div><div class='del'>-Wed Feb 16 15:11:43 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::Nonblock#initialize):</div><div class='del'>-	  native win32 platform doesn't have F_GETFL.</div><div class='del'>-</div><div class='del'>-Wed Feb 16 02:47:45 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read, ossl_ssl_write): should</div><div class='del'>-	  call rb_sys_fail instead of raising SSLError if SSL_ERROR_SYSCALL</div><div class='del'>-	  occurred.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#fill_rbuff):</div><div class='del'>-	  should rescue Errno::EAGAIN.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#each): fix typo.</div><div class='del'>-	  suggested by Brian Ollenberger.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the</div><div class='del'>-	  underlying IO.</div><div class='del'>-</div><div class='del'>-Tue Feb 15 22:14:34 2005  sheepman  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Readline.readline): use rl_outstream</div><div class='del'>-	  and rl_instream.  [ruby-dev:25699]</div><div class='del'>-</div><div class='del'>-Mon Feb 14 23:58:17 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb (RSS::ListenerMixin::tag_end):</div><div class='del'>-	  fixed invalid namespace handling bug.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 13:12:38 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb</div><div class='del'>-	  (OpenSSL::SSL::SSLSocket#post_connection_check): new method.</div><div class='del'>-</div><div class='del'>-Mon Feb 14 00:10:17 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbServer): add default_safe_level, safe_level,</div><div class='del'>-	  config[:safe_level] ([druby-ja:120])</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb, ut_eval.rb, ut_safe1.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 23:13:46 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb (RSS::DublicCoreModel#date{,=}): added</div><div class='del'>-	  convenient methods.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss::Channel#date{,=}): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb (RSS::Rss::Channel::Item#date{,=}): ditto.</div><div class='del'>-</div><div class='del'>-	* test/rss/: added tests for the convenient methods.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 23:12:47 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): restore prot_tag before rewinding.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 16:56:52 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrase</div><div class='del'>-	  to the value of status header field. ([ruby-dev:40617])</div><div class='del'>-</div><div class='del'>-Sun Feb 13 11:38:40 2005  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (type_cclass_hash): (Thanks Nobu) fixed</div><div class='del'>-	  overrun. ([ruby-dev:25676]).</div><div class='del'>-</div><div class='del'>-Sun Feb 13 10:53:08 2005  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniggnu.h, oniguruma.h, regcomp.c, st.c: imported</div><div class='del'>-	  Oni Guruma 3.6.0.</div><div class='del'>-</div><div class='del'>-Sun Feb 13 01:33:19 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Util.h, u): make it module_function.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 22:17:11 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (TAG_THREAD): to start a new thread.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init, ruby_options, ruby_cleanup, rb_protect,</div><div class='del'>-	  rb_load_protect, rb_thread_start_0): make thread anchor.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_alloc): clone proc object if klass is not Proc or</div><div class='del'>-	  created in different thread.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_pass): call a function with a block.  [new]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_throw): raise NameError in main thread.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 17:29:19 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_loop): send authentication only for</div><div class='del'>-	  the URI directly specified.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 15:07:23 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): suppress warning.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 14:10:24 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_http): reject userinfo explicitly.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 13:54:03 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: support https if the platform provides CA</div><div class='del'>-	  certificates.</div><div class='del'>-</div><div class='del'>-Sat Feb 12 06:18:28 2005  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check</div><div class='del'>-	  [ruby-dev:25675]</div><div class='del'>-</div><div class='del'>-Fri Feb 11 17:37:50 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):</div><div class='del'>-	  new method OpenSSL::X509::Store#set_default_paths.</div><div class='del'>-</div><div class='del'>-Fri Feb 11 11:33:53 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::HTTP#proxy_open): new option supported:</div><div class='del'>-	  :http_basic_authentication.</div><div class='del'>-	  suggested by Kent Sibilev.  [ruby-core:4392]</div><div class='del'>-</div><div class='del'>-Fri Feb 11 06:30:07 2005  George Ogata  &lt;g_ogata@optushome.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: ignore parenthesis inside heredoc.</div><div class='del'>-	  [ruby-core:04415]</div><div class='del'>-</div><div class='del'>-Fri Feb 11 04:54:13 2005  Tilman Sauerbeck  &lt;tilman@code-monkey.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/ri_generator.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 10 13:52:42 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (LIBS, COMMON_HEADERS): use</div><div class='del'>-	  winsock2 on mswin32/mingw.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (StartSockets): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 10 12:09:16 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): default to true if not compiled</div><div class='del'>-	  previously.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): create dummy makefile if extconf failed.</div><div class='del'>-</div><div class='del'>-Thu Feb 10 12:07:10 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_stdhandle): assign standard file handles.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (COMMON_LIBS): add libraries included in</div><div class='del'>-	  import32.lib.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): restrict prefixing with srcdir to</div><div class='del'>-	  rule lines, add search path to implicit rules, and set Borland make</div><div class='del'>-	  special macros for search path.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, win32/win32.h (read): avoid a BCC runtime bug.</div><div class='del'>-</div><div class='del'>-Thu Feb 10 00:47:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): fixed: [ruby-core:04402]</div><div class='del'>-</div><div class='del'>-Wed Feb  9 16:33:05 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (wait_connectable): fixed wrong condition.</div><div class='del'>-</div><div class='del'>-Wed Feb  9 14:42:28 2005  URABE Shyouhei  &lt;shyouhei@ice.uec.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (scope_dup): add volatile not to optimize tbl.</div><div class='del'>-</div><div class='del'>-Wed Feb  9 10:02:02 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/make-tkutil, ext/tk/tkutil/subconf.rb: no longer used.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/extconf.rb: need to compile tkutil. [ruby-dev:25607]</div><div class='del'>-</div><div class='del'>-Wed Feb  9 08:07:08 2005  Paul Duncan  &lt;pabs@pablotron.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_color_set): [ruby-core:04393]</div><div class='del'>-</div><div class='del'>-Tue Feb  8 23:48:36 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: reject :instance_eval, :class_eval, :module_eval</div><div class='del'>-	  [druby-ja:117]</div><div class='del'>-</div><div class='del'>-Tue Feb  8 22:38:28 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* keywords, parse.y: separate EXPR_VALUE from EXPR_BEG.</div><div class='del'>-	  fixed: [ruby-core:04310], [ruby-core:04368]</div><div class='del'>-</div><div class='del'>-Tue Feb  8 13:06:12 2005  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.</div><div class='del'>-	  [ruby-talk:130092]</div><div class='del'>-</div><div class='del'>-Tue Feb  8 00:19:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Name#subdomain_of?): new method.</div><div class='del'>-	  (Resolv::DNS::Name#inspect): ditto.</div><div class='del'>-	  Suggested by Sam Roberts.  [ruby-talk:129086]</div><div class='del'>-</div><div class='del'>-Mon Feb  7 23:14:11 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): flush rb_stdout before read from stdin, which is</div><div class='del'>-	  connected to a tty.  [ruby-core:4378]</div><div class='del'>-</div><div class='del'>-	* rubyio.h (FMODE_TTY): renamed from FMODE_LINEBUF.</div><div class='del'>-</div><div class='del'>-Mon Feb  7 10:06:30 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: [ruby-doc:818]</div><div class='del'>-</div><div class='del'>-Mon Feb  7 02:13:05 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb (sockaddr_storage): winsock2.h have the</div><div class='del'>-	  definition of struct sockaddr_storage, but socket.c doesn't</div><div class='del'>-	  include it because this version of ruby still has binary level</div><div class='del'>-	  compatibility with winsock1.</div><div class='del'>-</div><div class='del'>-Mon Feb  7 01:22:50 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): extract previously collected</div><div class='del'>-	  informations from existing Makefile.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check if getaddrinfo() works fine only when</div><div class='del'>-	  wide-getaddrinfo option is not given.  fixed: [ruby-dev:25422]</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: separate tkutil configuration.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($extmk): check if under ext directory.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.postpone): allow recursive operation.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_constant): make sure if really a constant, reduce</div><div class='del'>-	  the number of times of compile.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_macro, have_var, byte_order): new functions.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_library): allow directory list with separators.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (arg_config): manage provided configuration options.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (dir_config): accept arrays of directory names as</div><div class='del'>-	  default values.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (with_cppflags, with_cflags, with_ldflags): keep flags</div><div class='del'>-	  modified if the block returned true.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 19:20:05 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (stack_extend): add prototype because VC++8 doesn't</div><div class='del'>-	  accept __declspec(noinline) with K&amp;R style function definitions.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 13:56:19 2005  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (new_with_hash): changed messages of exception.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb (str[fp]time): undocumented conversion</div><div class='del'>-	  specifications %[1-3] are now deprecated.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 11:27:37 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (Init_dl): function declaration should precede</div><div class='del'>-	  statements before C99.</div><div class='del'>-</div><div class='del'>-Sun Feb  6 03:24:20 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Resource::TXT): multiple strings was not</div><div class='del'>-	  handled.</div><div class='del'>-	  (Resolv::DNS::Resource::TXT#strings): new method to return all</div><div class='del'>-	  strings.</div><div class='del'>-	  (Resolv::DNS::Message::MessageEncoder#put_string_list): new method.</div><div class='del'>-	  (Resolv::DNS::Message::MessageDecoder#get_string_list): ditto.</div><div class='del'>-	  based on [ruby-talk:129732] by Sam Roberts.</div><div class='del'>-</div><div class='del'>-Sat Feb  5 02:24:06 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: fix test.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 18:44:35 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/lexer.rb: last Lexer fix was incomplete;</div><div class='del'>-	  test all green.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 15:57:06 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (open_args): fix too verbose warnings for the space</div><div class='del'>-	  before argument parentheses.  [ruby-dev:25492]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb  4 14:33:25 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/filter.rb: ripper/tokenizer -&gt;</div><div class='del'>-	  ripper/lexer. [ruby-dev:25632]</div><div class='del'>-</div><div class='del'>-Fri Feb  4 00:24:15 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss: supported Image module.</div><div class='del'>-	  http://web.resource.org/rss/1.0/modules/image/</div><div class='del'>-</div><div class='del'>-Thu Feb  3 23:42:36 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_close, strio_close_read, strio_close_write):</div><div class='del'>-	  should return nil instead of self as well as IO.  [ruby-dev:25623]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_extend, strio_putc): fill with zero</div><div class='del'>-	  extended portion.  [ruby-dev:25626]</div><div class='del'>-</div><div class='del'>-Thu Feb  3 16:12:57 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): the first expression in the parentheses</div><div class='del'>-	  should not be a command.  [ruby-dev:25492]</div><div class='del'>-</div><div class='del'>-Thu Feb  3 03:31:20 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: follow original v 1.57</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.c: follow original v 1.8</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/config.h: follow original v 1.7</div><div class='del'>-</div><div class='del'>-Wed Feb  2 23:52:53 2005  sheepman  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_truncate): should MEMZERO an extended</div><div class='del'>-	  part.  [ruby-dev:25618]</div><div class='del'>-</div><div class='del'>-Wed Feb  2 21:56:01 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::Element#convert): added.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: convert -&gt; need_convert.</div><div class='del'>-</div><div class='del'>-	* lib/rss/1.0.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb  2 03:30:58 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/tokenizer.rb -&gt; lexer.rb.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/lexer.rb: new method Ripper.slice.</div><div class='del'>-	  [experimental]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: new file. [experimental]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: require ripper/lexer and ripper/sexp.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 21:49:24 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRb::DRbObject#respond_to?): check marshal_dump and</div><div class='del'>-	  _dump.</div><div class='del'>-</div><div class='del'>-Tue Feb  1 00:20:23 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, configure.in: made EXTOUT configurable.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake), lib/mkmf.rb: keep topdir as relative style.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: make extensions in depth order.  [ruby-dev:25522]</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): fix linker flags on AIX.  [ruby-talk:125460]</div><div class='del'>-</div><div class='del'>-Mon Jan 31 13:16:39 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: add tkutil configuration step (remove old schema)</div><div class='del'>-</div><div class='del'>-	* ext/tk/depend: remove the information of tkutil</div><div class='del'>-</div><div class='del'>-	* ext/tk/make-tkutil: sub-part of Makefile to compile tkutil</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: move tkutil.c to subdirectory</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/subconf.rb: configuration file for tkutil.c</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/depend: ditto</div><div class='del'>-</div><div class='del'>-Mon Jan 31 13:13:35 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: add invalid namespace check</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add invalid_namespace? method</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Jan 31 10:29:18 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]</div><div class='del'>-</div><div class='del'>-Mon Jan 31 09:44:03 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove Object#type.  [ruby-core:04335]</div><div class='del'>-</div><div class='del'>-Sat Jan 29 09:42:12 2005  Sam Roberts  &lt;sroberts@uniserve.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Resource::IN::SRV): Added RFC2782 SRV</div><div class='del'>-	  resource record for specifying location of services.</div><div class='del'>-</div><div class='del'>-Sat Jan 29 00:10:33 2005  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ascii.c, euc_jp.c, hash.c, oniggnu.h, oniguruma.h, regcomp.c,</div><div class='del'>-	  regenc.c, regenc.h, regerror.c, regexec.c, reggnu.c, regint.h,</div><div class='del'>-	  regparse.c, regparse.h, sjis.c, st.c, st.h, utf8.c: imported</div><div class='del'>-	  Oni Guruma 3.5.4.</div><div class='del'>-</div><div class='del'>-Fri Jan 28 17:16:55 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf):</div><div class='del'>-	  parse options line for ndots option.</div><div class='del'>-	  (Resolv::Hosts#lazy_initialize): return self.</div><div class='del'>-	  (Resolv::DNS#lazy_initialize): ditto.</div><div class='del'>-	  (Resolv::DNS::Config#lazy_initialize): ditto.</div><div class='del'>-	  Suggested by Sam Roberts.</div><div class='del'>-</div><div class='del'>-Thu Jan 27 17:15:03 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: support new tk scheme on bccwin32.</div><div class='del'>-	  fixed: [ruby-dev:25546]</div><div class='del'>-</div><div class='del'>-Thu Jan 27 13:18:03 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): report success/failure by return value.</div><div class='del'>-	  [ruby-Bugs-1396]</div><div class='del'>-</div><div class='del'>-Thu Jan 27 00:12:19 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (setup): support BSD style</div><div class='del'>-	  directory group inheritance (again).</div><div class='del'>-</div><div class='del'>-Thu Jan 27 00:02:40 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (setup): support BSD style</div><div class='del'>-	  directory group inheritance. [ruby-dev:25440]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (assert_same_entry): show entry</div><div class='del'>-	  difference.</div><div class='del'>-</div><div class='del'>-Wed Jan 26 17:12:50 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: forgot to initialize parser struct.  [ruby-dev:25492]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): no tLABEL on EXPR_BEG.</div><div class='del'>-	  [ruby-talk:127711]</div><div class='del'>-</div><div class='del'>-Wed Jan 26 14:12:58 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Setup*: remove tcltklib.</div><div class='del'>-</div><div class='del'>-Wed Jan 26 12:45:16 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: support new tk scheme on mswin32.</div><div class='del'>-	 fixed: [ruby-dev:25535]</div><div class='del'>-</div><div class='del'>-Wed Jan 26 10:45:19 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (flock_winnt, flock_win95): unlock file even if</div><div class='del'>-	  LOCK_NB is specified.</div><div class='del'>-</div><div class='del'>-Tue Jan 25 23:10:48 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk: merge tcltklib for Ruby/Tk installation control</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib: remove</div><div class='del'>-</div><div class='del'>-Tue Jan 25 17:05:15 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): correct -T option in RUBYOPT.</div><div class='del'>-	  fixed: [ruby-dev:25512]</div><div class='del'>-</div><div class='del'>-Tue Jan 25 14:05:52 2005  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix SEGV bug; trouble on canceling remained</div><div class='del'>-	  after scripts [ruby-dev:25479]: NULL current namespace when deleting</div><div class='del'>-	    Tk interpreter [ruby-talk:126225]</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted</div><div class='del'>-	  [ruby-talk:126360]</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: add yet another native-thread check</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize</div><div class='del'>-	  Ruby interpreter</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag</div><div class='del'>-	  doesn't return the created object [ruby-dev:25479]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for</div><div class='del'>-	  a command argument [ruby-dev:25479]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/*.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/anilabel.rb: new demo script</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/anilabel.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix</div><div class='del'>-	  [ruby-dev:25479]</div><div class='del'>-</div><div class='del'>-Mon Jan 24 16:00:53 2005  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (guess_old): not use NKF.guess_old</div><div class='del'>-	  but NKF.guess1. fixed: [ruby-dev:25491]</div><div class='del'>-</div><div class='del'>-Mon Jan 24 15:44:25 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* document updates - [ruby-core:04296], [ruby-core:04301],</div><div class='del'>-	  [ruby-core:04302], [ruby-core:04307]</div><div class='del'>-</div><div class='del'>-Sun Jan 23 12:38:01 2005  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/wsdlDriver.rb: from 1.5.3-ruby1.8.2, operation which has</div><div class='del'>-	  capitalized name (such as KeywordSearchRequest in AWS) is defined as</div><div class='del'>-	  a method having uncapitalized name. (converted with</div><div class='del'>-	  GenSupport.safemethodname to handle operation name 'foo-bar').  it</div><div class='del'>-	  introduced serious incompatibility; in the past, it was defined as a</div><div class='del'>-	  capitalized.</div><div class='del'>-</div><div class='del'>-	  define capitalized method as well under that circumstance.</div><div class='del'>-</div><div class='del'>-Sun Jan 23 05:24:42 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_to_der): should call</div><div class='del'>-	  GetOCSPReq at first.</div><div class='del'>-</div><div class='del'>-Sat Jan 22 22:59:08 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb (accept): rescue SSLError. [druby-ja:110]</div><div class='del'>-</div><div class='del'>-Sat Jan 22 22:27:28 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/unix.rb: fail if UNIXFileOwner is set. [druby-ja:111]</div><div class='del'>-</div><div class='del'>-Fri Jan 21 20:07:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Config.resolv): don't raise ResolvError.</div><div class='del'>-	  reported by Sam Roberts.  [ruby-talk:127133]</div><div class='del'>-</div><div class='del'>-Fri Jan 21 17:09:44 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (decode_utf7): use pack("U*") to encode UTF-8.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (encode_utf7): use unpack("U*") to decode UTF-8.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: added tests for Net::IMAP.</div><div class='del'>-</div><div class='del'>-Fri Jan 21 16:58:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): should work for NUL delimited patterns.</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_glob2): should aware of offset in the pattern.</div><div class='del'>-</div><div class='del'>-Fri Jan 21 13:58:37 2005  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (u8tou16): fixed typo. fixed: [ruby-list:40546]</div><div class='del'>-</div><div class='del'>-Fri Jan 21 00:37:09 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_bufsize_set): avoid VC++ warning</div><div class='del'>-	  "local variable 'size' used without having been initialized".</div><div class='del'>-</div><div class='del'>-Thu Jan 20 11:42:02 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4): should propagate taintedness.</div><div class='del'>-</div><div class='del'>-	* env.h: rename member names in struct FRAME; last_func -&gt; callee,</div><div class='del'>-	  orig_func -&gt; this_func, last_class -&gt; this_class.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_set): use original method name, not callee</div><div class='del'>-	  name, to retrieve member slot.  [ruby-core:04268]</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): protect from format modification from GC</div><div class='del'>-	  finalizers.</div><div class='del'>-</div><div class='del'>-Thu Jan 20 02:01:10 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove rb_obj_id_obsolete()</div><div class='del'>-</div><div class='del'>-Wed Jan 19 18:02:19 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (to_s, test_to_s): too many colons with some cases.</div><div class='del'>-</div><div class='del'>-Wed Jan 19 01:16:30 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf): ignore</div><div class='del'>-	  domain and search directive without an argument.</div><div class='del'>-	  reported by Sam Roberts.  [ruby-talk:126781]</div><div class='del'>-</div><div class='del'>-Mon Jan 17 23:33:46 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): fix typo.  [ruby-talk:126401]</div><div class='del'>-</div><div class='del'>-Mon Jan 17 07:08:51 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: suppress warnings.</div><div class='del'>-</div><div class='del'>-	* lib/irb/extend-command.rb (IRB::ContextExtender.def_extend_command):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/history.rb (IRB::Context::set_last_value): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/history.rb (IRB::Context::eval_history): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale::real_load): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/irb/slex.rb (SLex::Node::create_subnode): remove garbage.</div><div class='del'>-</div><div class='del'>-Mon Jan 17 00:09:42 2005  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (PORT): typo fix. fixed: [ruby-core:04256]</div><div class='del'>-</div><div class='del'>-Sat Jan 15 14:57:22 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): ignore trailing CRs at the end of short</div><div class='del'>-	  options as well as long options.  fixed: [ruby-core:04232]</div><div class='del'>-</div><div class='del'>-Sat Jan 15 13:44:22 2005  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION): 0.1.2 -&gt; 0.1.3.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: accept inheritance. [ruby-talk:126104]</div><div class='del'>-</div><div class='del'>-Wed Jan 12 12:29:28 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_define_method): incomplete subclass check.</div><div class='del'>-	  [ruby-dev:25464]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_make_metaclass): class of metaclasses should be</div><div class='del'>-	  plain Class.  [ruby-list:40524]</div><div class='del'>-</div><div class='del'>-Tue Jan 11 20:58:52 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (remain_size): use buffered data instead of unreading to avoid</div><div class='del'>-	  inconsistency of text mode.  fixed: [ruby-dev:25446]</div><div class='del'>-</div><div class='del'>-Tue Jan 11 09:37:53 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): turn off floating point exceptions</div><div class='del'>-	  on bcc32. "1e300".to_f had crashed by overflow.</div><div class='del'>-</div><div class='del'>-Mon Jan 10 15:28:51 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): should</div><div class='del'>-	  escape SCRIPT_NAME and PATH_INFO before being parsed as a URI.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add</div><div class='del'>-	  new method to escape URI path component.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value</div><div class='del'>-	  of :SSLEnable is false.</div><div class='del'>-</div><div class='del'>-	* test/webrick/{test_cgi.rb,webrick.cgi}: new file.</div><div class='del'>-</div><div class='del'>-	* test/webrick/utils.rb: require "webrick/https.h".</div><div class='del'>-</div><div class='del'>-Mon Jan 10 01:22:55 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_alloc): klass may be NULL.</div><div class='del'>-	  [ruby-list:40498]</div><div class='del'>-</div><div class='del'>-Sun Jan  9 14:12:17 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): IO list could be altered.  [ruby-dev:25312]</div><div class='del'>-</div><div class='del'>-Sun Jan  9 04:08:40 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_server.rb (test_daemon): delete an assertion</div><div class='del'>-	  which has possibility to fail by race condition.</div><div class='del'>-</div><div class='del'>-Sun Jan  9 03:22:46 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_copy_entry): copy_entry</div><div class='del'>-	  copies only file type, not mtime. [ruby-dev:25383]</div><div class='del'>-</div><div class='del'>-Sat Jan  8 04:38:47 2005  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: Kernel#y requires an argument.</div><div class='del'>-</div><div class='del'>-Fri Jan  7 21:12:29 2005  TAMURA Takashi  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): use ALLOC_N instead of ALLOCA_N</div><div class='del'>-	  [ruby-dev:25426]</div><div class='del'>-</div><div class='del'>-Fri Jan  7 20:01:31 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):</div><div class='del'>-	  should delete trailing LF from the result of pack("m*").</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):</div><div class='del'>-	  - should delete trailing LF from the result of pack("m*").</div><div class='del'>-	  - clear Request-Line not to send the response by HTTPServer#run.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues):</div><div class='del'>-	  refine regexp (and change the name of a local variable).</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio</div><div class='del'>-	  don't allow changing its mode.</div><div class='del'>-</div><div class='del'>-	* test/webrick/*, sample/webrick/httpproxy.rb: add new files.</div><div class='del'>-</div><div class='del'>-Fri Jan  7 18:03:35 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_locations_array): avoid core dump with -O3.</div><div class='del'>-	  [ruby-dev:25424]</div><div class='del'>-</div><div class='del'>-Thu Jan  6 20:29:18 2005  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_end): should return value.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 19:59:03 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_close): didn't close socket handle.</div><div class='del'>-	  [ruby-dev:25414]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open_osfhandle): bcc32's _open_osfhandle</div><div class='del'>-	  never set EMFILE.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 17:22:41 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_seed): O_NONBLOCK isn't defined on some</div><div class='del'>-	  platforms. [ruby-dev:25417]</div><div class='del'>-</div><div class='del'>-Thu Jan  6 13:45:35 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: recognize +00:00 and GMT as a localtime.</div><div class='del'>-</div><div class='del'>-Thu Jan  6 07:58:28 2005  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb (RDoc::RDoc.usage_no_exit): Allow for colons</div><div class='del'>-	  in path names on DOS machines. (thanks to Johan Nilsson)</div><div class='del'>-</div><div class='del'>-Thu Jan  6 00:02:35 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: use MockClock.sleep instead of Kernel.sleep</div><div class='del'>-	  [ruby-dev:25387]</div><div class='del'>-</div><div class='del'>-Wed Jan  5 20:16:32 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (limited_big_rand): didn't work if SIZEOF_BDIGITS == 2.</div><div class='del'>-	  [ruby-dev:25408]</div><div class='del'>-</div><div class='del'>-	* random.c (random_seed): refined.</div><div class='del'>-</div><div class='del'>-Wed Jan  5 16:39:54 2005  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (BITSTACK_POP): workaround for bcc32 compiler's bug.</div><div class='del'>-	  shift assignment operator '&gt;&gt;=' for __int64 in struct may</div><div class='del'>-	  generate collapsed code. [ruby-dev:25342]</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch]: failed to compile on bcc32 (and probably wince)</div><div class='del'>-	  [ruby-dev:25306]</div><div class='del'>-</div><div class='del'>-Wed Jan  5 12:49:39 2005  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_initialize): Thread objects cannot be initialized</div><div class='del'>-	  again.  fixed: [ruby-core:04067]</div><div class='del'>-</div><div class='del'>-Wed Jan  5 02:30:11 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (init_by_array): imported from mt19937ar-cok.tgz.</div><div class='del'>-	  (genrand_int32): ditto.</div><div class='del'>-	  (genrand_real): replaced with genrand_res53 in mt19937ar-cok.</div><div class='del'>-	  (rand_init): support bignum for longer seed.</div><div class='del'>-	  (random_seed): generate longer seed.</div><div class='del'>-	  (make_mask): new function.</div><div class='del'>-	  (limited_rand): ditto.</div><div class='del'>-	  (limited_big_rand): ditto.</div><div class='del'>-	  (rb_f_rand): call limited_rand and limited_big_rand.</div><div class='del'>-	  [ruby-dev:25403]</div><div class='del'>-</div><div class='del'>-Tue Jan  4 23:25:29 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_rand): should return positive random number.</div><div class='del'>-	  [ruby-dev:25401]</div><div class='del'>-</div><div class='del'>-Tue Jan  4 21:25:43 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/{test_drbssl.rb,test_drbunix.rb,ut_drb.rb}: use</div><div class='del'>-	  DRbService.ext_service. reduce sleep.</div><div class='del'>-</div><div class='del'>-Mon Jan  3 14:01:54 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_seed): don't use /dev/urandom if it is not</div><div class='del'>-	  character device.</div><div class='del'>-</div><div class='del'>-Mon Jan  3 11:37:42 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_seed): use /dev/urandom if available.</div><div class='del'>-	  [ruby-dev:25392]</div><div class='del'>-</div><div class='del'>-Tue Jan  4 11:15:29 2005  TAMURA Takashi  &lt;sheepman@tcn.zaq.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_rand): do not use rb_big_modulo to generate</div><div class='del'>-	  random bignums.  [ruby-dev:25396]</div><div class='del'>-</div><div class='del'>-Mon Jan  3 11:03:37 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: move TestDRbReusePort to new file.</div><div class='del'>-	  [ruby-dev:25238]</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: change timeout.</div><div class='del'>-</div><div class='del'>-	* test/drb/ignore_test_drb.rb: new file.</div><div class='del'>-</div><div class='del'>-Mon Jan  3 07:27:46 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/htpasswd.rb (WEBrick::Htpasswd#reload):</div><div class='del'>-	  raise NotImplementedError if password is encrypted by digest</div><div class='del'>-	  algorithms. This patch is contributed by sheepman. [ruby-list:40467]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb</div><div class='del'>-	  (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation.</div><div class='del'>-	  This patch is contributed by sheepman. [ruby-list:40482]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/{httpauth.rb,httpauth/basicauth.rb,httpproxy.rb}: use</div><div class='del'>-	  pack/unpack-template char "m" instead of lib/base64.rb to do base64</div><div class='del'>-	  encoding/decoding. fixed: [ruby-dev:25336]</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpauth.rb: new file.</div><div class='del'>-</div><div class='del'>-Sun Jan  2 15:42:10 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: add lazy stop_service.</div><div class='del'>-</div><div class='del'>-	* lib/drb/extserv.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  2 01:17:17 2005  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: add method DRbService.ext_service.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbssl.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 20:23:02 2005  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_readpartial): new method ARGF.readpartial.</div><div class='del'>-	  (io_getpartial): extracted from io_readpartial.</div><div class='del'>-	  (io_readpartial): call io_getpartial.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 17:44:54 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (each_capitalized): should join header field</div><div class='del'>-	  value.  This patch is contributed sheepman [ruby-list:40478]</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_httpheader.rb: test it.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 16:21:29 2005  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (copy_stream): use read/write instead of</div><div class='del'>-	  sysread/syswrite, which allows duck typing. [ruby-dev:25369]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (copy_stream): does NOT support nonblocking IO.</div><div class='del'>-	  [ruby-dev:25370]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (copy_entry): could not copy symlink.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: test copy_entry, copy_file,</div><div class='del'>-	  copy_stream.</div><div class='del'>-</div><div class='del'>-Sat Jan  1 04:20:23 2005  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c (ossl_spki_set_challenge): should call</div><div class='del'>-	  StringValue before GetSPKI. fixed: [ruby-dev:25359].</div><div class='del'>-</div><div class='del'>-Sat Jan  1 01:13:28 2005  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload): [ruby-dev:25373]</div><div class='del'>-</div><div class='del'>-Fri Dec 31 14:10:43 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item):</div><div class='del'>-	  Fix problem if heading contains formatting.</div><div class='del'>-</div><div class='del'>-Fri Dec 31 00:08:02 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_RLIM_T): removed because not used.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 22:45:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h: don't deprecate rb_read_check.</div><div class='del'>-</div><div class='del'>-	* io.c (STDIO_READ_DATA_PENDING): reverted from old READ_DATA_PENDING</div><div class='del'>-	  to check stdio read buffer.</div><div class='del'>-	  (rb_read_check): use STDIO_READ_DATA_PENDING.</div><div class='del'>-	  (rb_read_pending): ditto.</div><div class='del'>-	  (rb_getc): ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 05:39:35 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: eliminate unused members in struct parser_params.</div><div class='del'>-	  [ruby-dev:25258] (again)</div><div class='del'>-</div><div class='del'>-	* parse.y: make parser_new() static.</div><div class='del'>-</div><div class='del'>-Thu Dec 30 00:41:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (svalue_to_avalue): [ruby-dev:25366]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): [ruby-dev:25367]</div><div class='del'>-</div><div class='del'>-Wed Dec 29 11:07:07 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/kilmer.rb: Update to use new</div><div class='del'>-	  sections.</div><div class='del'>-</div><div class='del'>-Tue Dec 28 22:31:46 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): create buffer string after argument type</div><div class='del'>-	  conversion.  fixed: [ruby-dev:25341]</div><div class='del'>-</div><div class='del'>-Tue Dec 28 17:18:17 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (preprocess): remove NULL unless binmode.</div><div class='del'>-	  fixed: [ruby-list:40320]</div><div class='del'>-</div><div class='del'>-Tue Dec 28 15:41:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (reinit): should initialize all static</div><div class='del'>-	  variables.  fixed: [ruby-list:40445]</div><div class='del'>-</div><div class='del'>-Tue Dec 28 15:25:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): second byte is up to</div><div class='del'>-	  0xfe.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb (Kconv#kconv): should handle UTF8 and UTF16</div><div class='del'>-	  properly.</div><div class='del'>-</div><div class='del'>-Tue Dec 28 13:35:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): ensure</div><div class='del'>-	  freeing internal zstreams.  fixed: [ruby-dev:25309]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_init_copy): replace rb_deflate_clone.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 20:02:14 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Dec 27 16:54:05 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (Init_ossl_x509name): should use</div><div class='del'>-	  rb_hash_new to get exactly a Hash. fix [ruby-dev:25325].</div><div class='del'>-</div><div class='del'>-Mon Dec 27 15:29:12 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (cp_r): tested wrong file name.</div><div class='del'>-	  [ruby-dev:25339]</div><div class='del'>-</div><div class='del'>-Mon Dec 27 15:15:18 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mv): should raise error when moving a</div><div class='del'>-	  directory to the (empty) directory. [ruby-talk:124368]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mv): wrongly did not overwrite file on Win32</div><div class='del'>-	  platforms.</div><div class='del'>-</div><div class='del'>-Mon Dec 27 14:36:20 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (NUM2RLIM, RLIM2NUM): Without SIZEOF_RLIM_T is not error.</div><div class='del'>-	  fixed: [ruby-dev:25346]</div><div class='del'>-</div><div class='del'>-Sun Dec 26 16:21:39 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (Net::IMAP::PlainAuthenticator): added a new class</div><div class='del'>-	  to support the PLAIN authentication mechanism. Thanks, Benjamin</div><div class='del'>-	  Stiglitz.</div><div class='del'>-</div><div class='del'>-Sat Dec 25 01:28:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): [ruby-dev:25312]</div><div class='del'>-</div><div class='del'>-Fri Dec 24 23:27:18 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/image.rb: TkPhotoImage#cget bug fix</div><div class='del'>-</div><div class='del'>-Fri Dec 24 03:06:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen, rb_io_reopen): prohibit to change access mode for</div><div class='del'>-	  special IO ports.  [ruby-dev:25225]</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): reduce use of stdio.</div><div class='del'>-</div><div class='del'>-Fri Dec 24 02:22:53 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_loader_transfer): check type conversion.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_assign_io, rb_new_syck_node): duck</div><div class='del'>-	  typing.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_s_alloc, syck_parser_initialize):</div><div class='del'>-	  allocation framework.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_s_alloc, syck_emitter_initialize):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 24 01:21:00 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt.rb: add BLT extension support</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/*.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/tile/*.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Dec 23 23:43:24 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): check if the argument length is</div><div class='del'>-	  modified.  fixed: [ruby-dev:25285]</div><div class='del'>-</div><div class='del'>-	* process.c (SIZEOF_RLIM_T): err if size of rlim_t is not set.</div><div class='del'>-</div><div class='del'>-Thu Dec 23 19:08:41 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h: rename FMODE_UNSEEKABLE to FMODE_DUPLEX.</div><div class='del'>-</div><div class='del'>-	* io.c (io_check_tty): extracted function to set FMODE_LINEBUF and</div><div class='del'>-	  FMODE_DUPLEX.</div><div class='del'>-</div><div class='del'>-Thu Dec 23 13:13:33 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and</div><div class='del'>-	  RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c: define TkUtil::RELEASE_DATE</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: define Tk::RELEASE_DATE</div><div class='del'>-</div><div class='del'>-Thu Dec 23 00:16:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (bsdi): use $(CC) for LDSHARED.  fixed [ruby-dev:25270]</div><div class='del'>-</div><div class='del'>-Wed Dec 22 11:14:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.</div><div class='del'>-	  fixed: [ruby-dev:25273]</div><div class='del'>-</div><div class='del'>-Wed Dec 22 08:34:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/sym.c (rb_dlsym_initialize): extract internal pointers after</div><div class='del'>-	  all argument conversion.  fixed: [ruby-dev:25271]</div><div class='del'>-</div><div class='del'>-Tue Dec 21 16:15:21 2004  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: use "" instead of "." if prefix argument is</div><div class='del'>-	  nil in proxy methods. nil is default value.</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb, test/xmlrpc/webrick_testing.rb:</div><div class='del'>-	  use threads instead of forking. this should fix issue #1208</div><div class='del'>-	  (http://rubyforge.org/tracker/?func=detail&amp;atid=1698&amp;aid=1208&amp;group_id=426).</div><div class='del'>-	  removed testing of SSL enabled servlet as this hangs.</div><div class='del'>-</div><div class='del'>-Wed Dec 22 00:05:10 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 22:07:41 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_decode_all): use rb_str_new4</div><div class='del'>-	  to avoid SEGV.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,</div><div class='del'>-	  ossl_asn1_decode_all): temporary value should be marked volatile.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 12:42:34 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode):</div><div class='del'>-	  use rb_str_new4 to avoid SEGV. fix [ruby-dev:25261]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_asn1.rb: add tests for OpenSSL::ASN1.</div><div class='del'>-</div><div class='del'>-Tue Dec 21 12:10:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/grid.rb: rescue bug of 'grid configure' on Tcl/Tk8.3-</div><div class='del'>-</div><div class='del'>-Mon Dec 20 22:52:29 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* added samples for the previous soap4r's commit.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 22:56:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (set_stack_end): gcc noinline attribute is available since</div><div class='del'>-	  gcc-3.1.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 22:40:31 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* added files:</div><div class='del'>-	  * lib/soap/mapping/wsdl*.rb</div><div class='del'>-	  * lib/wsdl/soap/element.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/simpleContent.rb</div><div class='del'>-</div><div class='del'>-	* modified files:</div><div class='del'>-	  * lib/soap/*</div><div class='del'>-	  * lib/wsdl/*</div><div class='del'>-	  * lib/xsd/*</div><div class='del'>-	  * test/soap/*</div><div class='del'>-	  * test/wsdl/*</div><div class='del'>-	  * test/xsd/*</div><div class='del'>-</div><div class='del'>-	* summary</div><div class='del'>-	  * imported from the soap4r repository.  Version: 1.5.3-ruby1.8.2</div><div class='del'>-</div><div class='del'>-	  * added several XSD basetype support: nonPositiveInteger,</div><div class='del'>-	    negativeInteger, nonNegativeInteger, unsignedLong, unsignedInt,</div><div class='del'>-	    unsignedShort, unsignedByte, positiveInteger</div><div class='del'>-</div><div class='del'>-	  * HTTP client connection/send/receive timeout support.</div><div class='del'>-</div><div class='del'>-	  * HTTP client/server gzipped content encoding support.</div><div class='del'>-</div><div class='del'>-	  * improved WSDL schema definition support; still is far from</div><div class='del'>-	    complete, but is making step by step improvement.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 14:45:19 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/https.rb: delete descriptions about key_file and cert_file.</div><div class='del'>-	  fixed: [ruby-dev:25243]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/telnets.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 20 14:07:02 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: supports new features of Tcl/Tk8.5a2</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/clock.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/panedwindow.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Dec 20 13:51:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]</div><div class='del'>-</div><div class='del'>-Mon Dec 20 10:51:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (special_local_set): prevent the parser object from GC.</div><div class='del'>-	  fixed: [ruby-dev:25252]</div><div class='del'>-</div><div class='del'>-Mon Dec 20 03:30:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session#initialize): empty session id was</div><div class='del'>-	  used if request had no session key.  fixed: [ruby-core:03981]</div><div class='del'>-</div><div class='del'>-Mon Dec 20 01:51:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): [ruby-dev:25249]</div><div class='del'>-</div><div class='del'>-Mon Dec 20 00:16:54 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/SHIFT_JIS.rb: fixed LoadError bug.</div><div class='del'>-	  [ruby-core:3958]</div><div class='del'>-</div><div class='del'>-Sun Dec 19 17:24:59 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (enable_rpath): use rpath flag to embed the library</div><div class='del'>-	  path into extensions on ELF environment.  [ruby-dev:25035]</div><div class='del'>-</div><div class='del'>-Sun Dec 19 11:01:25 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: use standalone runner for -e.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept</div><div class='del'>-	  multiple -p and -x options.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 18 16:36:23 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate):</div><div class='del'>-	  disallow interrupt by type conversion.  fixed: [ruby-dev:25226]</div><div class='del'>-</div><div class='del'>-Sat Dec 18 15:09:02 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth.rb,</div><div class='del'>-	  lib/webrick/httpauth/{basicauth.rb,digestauth.rb}: use</div><div class='del'>-	  pack/unpack-template char "m" instead of lib/base64.rb to do base64</div><div class='del'>-	  encoding/decoding.</div><div class='del'>-</div><div class='del'>-Sat Dec 18 10:51:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_open_dir): new function.  [ruby-dev:25242]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): add type check for return value from to_open.</div><div class='del'>-</div><div class='del'>-Fri Dec 17 16:44:26 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_sizeof_rlim_t): set 8 for BSD/OS.</div><div class='del'>-	  Reported by OHARA Shigeki.  [ruby-dev:25236]</div><div class='del'>-</div><div class='del'>-Fri Dec 17 16:28:12 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix bug on setting up system encoding</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: fix error on require process</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: fix abnormal termination error on Windows</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/virtevent.rb: TkVirtualEvent::PreDefVirtEvent.new()</div><div class='del'>-	  accepts event-sequence arguments</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: fail to dump embedded images</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: tag_nextrange and tag_prevrange returns wrong</div><div class='del'>-	  types of values</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/texttag.rb: nextrange and prevrange returns wrong</div><div class='del'>-	  types of values</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: add TkText::IndexModMethods module and</div><div class='del'>-	  TkText::IndexString class to treat text index modifiers</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/texttag.rb: use TkText::IndexModMethods module</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textmark.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textimage.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textwindow.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textimage.rb: wrong gravity of text mark for embedded</div><div class='del'>-	  image</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textwindow.rb: wrong gravity of text mark for</div><div class='del'>-	  embedded window</div><div class='del'>-</div><div class='del'>-Fri Dec 17 13:33:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session#initialize): control adding</div><div class='del'>-	  session_id hidden fields.  fixed: [ruby-talk:123850]</div><div class='del'>-</div><div class='del'>-Fri Dec 17 00:01:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_proc_arity, rb_node_arity, rb_mod_method_arity,</div><div class='del'>-	  rb_obj_method_arity): new functions to obtain method arity.</div><div class='del'>-	  [ruby-dev:25143]</div><div class='del'>-</div><div class='del'>-Thu Dec 16 23:31:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): create RUBYARCHDIR also when no extension</div><div class='del'>-	  is installed.  fixed: [ruby-dev:25215]</div><div class='del'>-</div><div class='del'>-Thu Dec 16 22:36:57 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: adjust and reduce sleep.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 18:37:08 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_raise): refine message format.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 16:29:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/widget: modify version check for</div><div class='del'>-	  supporting features</div><div class='del'>-</div><div class='del'>-Thu Dec 16 16:03:50 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: accept :idle for the interval argument</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add TkComm._callback_entry?()</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: add MultiTkIp.cb_entry_class</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: use TkComm._callback_entry?()</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvastag.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/optiondb.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/texttag.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textwindow.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/validation.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: ditto</div><div class='del'>-</div><div class='del'>-Thu Dec 16 04:02:28 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb: bison is not needed if ripper.c exists.</div><div class='del'>-	  [ruby-dev:25191]</div><div class='del'>-</div><div class='del'>-Thu Dec 16 03:27:10 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: remove junk.</div><div class='del'>-</div><div class='del'>-Thu Dec 16 00:57:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]</div><div class='del'>-</div><div class='del'>-Thu Dec 16 00:43:29 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: changed default binded address family to use an</div><div class='del'>-	  available address family of host name. [druby-ja:101]</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Dec 15 17:47:17 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#start_thread):</div><div class='del'>-	  should log about all accepted socket. [ruby-core:03962]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb (WEBrick::AccessLog#setup_params):</div><div class='del'>-	  "%%" and "%u" are supported. [webricken:135]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::FileHandler#check_filename):</div><div class='del'>-	  :NondisclosureName is acceptable if it is Enumerable.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::FileHandler):</div><div class='del'>-	  default value of :NondisclosureName is [".ht*", "*~"].</div><div class='del'>-</div><div class='del'>-Wed Dec 15 16:10:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_id_obsolete): warn always.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 15:31:02 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#==): [ruby-dev:25206]</div><div class='del'>-</div><div class='del'>-Wed Dec 15 14:32:18 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fdisset): check whether the handle is valid.</div><div class='del'>-</div><div class='del'>-Wed Dec 15 10:30:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c (ossl_digest_initialize): [ruby-dev:25198]</div><div class='del'>-</div><div class='del'>-Tue Dec 14 19:17:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* utf8.c (utf8_is_mbc_ambiguous): [ruby-talk:123561]</div><div class='del'>-</div><div class='del'>-	* utf8.c (utf8_mbc_to_normalize): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 14 17:08:15 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_close): need to reset osfhnd().</div><div class='del'>-</div><div class='del'>-Tue Dec 14 14:03:57 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_raise): avoid buffer overrun.</div><div class='del'>-	  [ruby-dev:25187]</div><div class='del'>-</div><div class='del'>-Tue Dec 14 12:36:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::initialize): generate new</div><div class='del'>-	  session if given session_id does not exist.  [ruby-list:40368]</div><div class='del'>-</div><div class='del'>-Tue Dec 14 08:47:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): should mark ruby_eval_tree.  [ruby-dev:25189]</div><div class='del'>-</div><div class='del'>-Mon Dec 13 18:13:52 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (set_stack_end): new function to obtain stack end address.</div><div class='del'>-	  set_stack_end obtains a stack end address by an address of local</div><div class='del'>-	  variable in the function.</div><div class='del'>-	  (SET_STACK_END, STACK_END): use set_stack_end.  don't use alloca.</div><div class='del'>-	  This makes the conservative garbage collector to scan a stack frame</div><div class='del'>-	  of the garbage_collect function itself.  This is required because</div><div class='del'>-	  callee-save registers may be stored in the frame.</div><div class='del'>-	  [ruby-dev:25158]</div><div class='del'>-</div><div class='del'>-Mon Dec 13 02:45:51 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_subwin): call NUM2INT() before</div><div class='del'>-	  GetWINDOW(). fixed: [ruby-dev:25161]</div><div class='del'>-</div><div class='del'>-Mon Dec 13 00:58:02 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (cleanpath_aggressive): make it private.</div><div class='del'>-	  (cleanpath_conservative): ditto.</div><div class='del'>-	  Suggested by Daniel Berger.  [ruby-core:3914]</div><div class='del'>-</div><div class='del'>-Sun Dec 12 21:32:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb (TestSuper#test_define_method): now methods</div><div class='del'>-	  from procs can call super.</div><div class='del'>-</div><div class='del'>-Sun Dec 12 10:35:10 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/html.rb (RDoc::Page): Don't</div><div class='del'>-	  show an accessor's r/w flag if none was specified</div><div class='del'>-</div><div class='del'>-Sun Dec 12 10:14:03 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc::parse_files): Never exclude files</div><div class='del'>-	  explicitly given on the command line.</div><div class='del'>-</div><div class='del'>-Sat Dec 11 21:10:16 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: add DRbRemoteError. [ruby-list:40348],</div><div class='del'>-	  [ruby-list:40390]</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 11 13:08:28 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/optparse/subcommand.rb: a sample for sub commands like</div><div class='del'>-	  cvs.  contributed by Minero Aoki.</div><div class='del'>-</div><div class='del'>-Fri Dec 10 08:39:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_listen): get OpenFile just before calling</div><div class='del'>-	  listen(2).</div><div class='del'>-</div><div class='del'>-Thu Dec  9 16:28:35 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (GetDBM): typo.</div><div class='del'>-</div><div class='del'>-Thu Dec  9 16:21:51 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI#setup_header): avoid</div><div class='del'>-	  SecurityError. [ruby-dev:24970]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should wait</div><div class='del'>-	  for reading request till data arrive. [ruby-talk:121068]</div><div class='del'>-</div><div class='del'>-Thu Dec  9 14:38:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): escape # which starts an expression</div><div class='del'>-	  substitution.  fixed: [ruby-core:03922]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): not escape # which isn't a substitution.</div><div class='del'>-</div><div class='del'>-Thu Dec  9 12:31:53 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): should set prog if argc != 0.</div><div class='del'>-</div><div class='del'>-Thu Dec  9 10:54:36 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_select): [ruby-dev:25132]</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec  9 10:19:18 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test_setsockopt): use SO_LINGER instead</div><div class='del'>-	  of SO_BINDTODEVICE.  fixed: [ruby-dev:25133]</div><div class='del'>-</div><div class='del'>-Thu Dec  9 03:08:36 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_init): set root-win title to "ruby" when</div><div class='del'>-	  the running script is '-e one-liner' or '-' (stdin).</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for</div><div class='del'>-	  stub libs</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor</div><div class='del'>-	  have a wrong parent class.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: rename TkDialog2 --&gt; TkDialogObj and</div><div class='del'>-	  TkWarning2 --&gt; TkWarningObj (old names are changed to alias names)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command'</div><div class='del'>-	  option and hashes for configuration</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the</div><div class='del'>-	  button name</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==&gt;</div><div class='del'>-	  get_value() and value=(val) ==&gt; set_value(val).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton,</div><div class='del'>-	  TkOptionMenuButton = TkOptionMenubutton)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: new method aliases (same as option keys of</div><div class='del'>-	  event_generate) for Event object</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: configinfo returns proper types of values</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bind methods accept subst_args + block</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvastag.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/frame.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/texttag.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/toplevel.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: ditto and bug fix</div><div class='del'>-</div><div class='del'>-Wed Dec  8 23:54:29 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/html.rb (RDoc::Page): Typo</div><div class='del'>-	  meant that h2 tag was invisible.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 22:10:02 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h, io.c, ext/dl/dl.c, ext/pty/pty.c, ext/socket/socket.c:</div><div class='del'>-	  create FILE object only when required: popen(3) and DL's IO#to_ptr.</div><div class='del'>-	  [ruby-dev:25122]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): use setmode for Human68k.  [ruby-dev:25121]</div><div class='del'>-</div><div class='del'>-Wed Dec  8 20:13:06 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn): support for DJGPP.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (VPATH): specify the implicit path separator for DJGPP.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 17:48:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): merge Guy Decoux's argument preserve</div><div class='del'>-	  patch in [ruby-core:03874].</div><div class='del'>-</div><div class='del'>-Wed Dec  8 17:37:33 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec): need to close original socket</div><div class='del'>-	  handle.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 14:31:36 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): [ruby-dev:25104]</div><div class='del'>-</div><div class='del'>-Wed Dec  8 13:49:46 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec): must close original handle</div><div class='del'>-	  before exec. fixed: [ruby-dev:25112]</div><div class='del'>-</div><div class='del'>-Wed Dec  8 11:46:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content): get rid of segfault at empty evstr.</div><div class='del'>-	  fixed: [ruby-dev:25113]</div><div class='del'>-</div><div class='del'>-Wed Dec  8 03:26:51 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.c (ossl_obj2bio): should not use fptr-&gt;f.</div><div class='del'>-	  [ruby-dev:25101]</div><div class='del'>-</div><div class='del'>-Wed Dec  8 03:26:41 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* runruby.rb: prepend LIBRUBY_SO to LD_PRELOAD as well as rubytest.rb.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 01:35:44 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (is_socket): reorder of function definitions.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 00:44:31 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): win32 bidirectional pipe support.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_pipe_exec): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (socketpair): new function. POSIX socketpair</div><div class='del'>-	  emulation.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (socketpair_internal): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  8 00:25:07 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_version.rb: added version check test.</div><div class='del'>-	  [ruby-dev:25053]</div><div class='del'>-</div><div class='del'>-Tue Dec  7 15:40:38 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): avoid context switch before writing to stderr.</div><div class='del'>-	  [ruby-dev:25080]</div><div class='del'>-</div><div class='del'>-	* rubyio.h: refine deprecated declaration.</div><div class='del'>-</div><div class='del'>-	* configure.in, file.c, io.c: remove useless check: fseeko, etc.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 13:42:07 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_mkdir): win32 special processing doesn't need any</div><div class='del'>-	  longer.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible</div><div class='del'>-	  interface.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_rmdir): new function.</div><div class='del'>-</div><div class='del'>-Tue Dec  7 00:27:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setgroups): [ruby-dev:25081]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 23:07:57 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check -lsocket for socketpair and shutdown.</div><div class='del'>-	  reported by Ville Mattila.  [ruby-core:03903]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 23:00:45 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_sizeof_rlim_t): setup for DJGPP.</div><div class='del'>-</div><div class='del'>-	* io.c (is_socket, shutdown): define dummy macros for DJGPP.</div><div class='del'>-</div><div class='del'>-	* process.c: use SIZEOF_RLIM_T instead of HAVE_RLIM_T for DJGPP.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 21:19:40 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (is_socket): fix typos. [ruby-core:03900]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 20:13:28 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (is_socket): new function.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_read, rb_io_close_write): use is_socket().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_finalize): need to check fptr-&gt;f before calling</div><div class='del'>-	  rb_io_fptr_cleanup().</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): win32 pipe support (experimental).</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_pipe_exec): return file descriptors</div><div class='del'>-	  instead of FILE structure objects.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_is_socket): new function.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 19:40:40 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.y.c): simplify the rule.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 18:08:10 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_eqq): document fix.  [ruby-talk:122541]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 17:49:30 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (run_trap_eval): add prototype for Microsoft compiler.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 17:32:38 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h, intern.h, io.c, file.c, process.c, ext/socket/socket.c,</div><div class='del'>-	  ext/pty/pty.c, ext/io/wait/wait.c, ext/openssl/ossl_ssl.c:</div><div class='del'>-	  Use own buffering mechanism instead of stdio.  [ruby-dev:25056]</div><div class='del'>-</div><div class='del'>-	* io.c, ext/stringio/stringio.c, test/ruby/ut_eof.rb:</div><div class='del'>-	  EOF flag removed.</div><div class='del'>-</div><div class='del'>-Mon Dec  6 17:15:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (TestBasicSocket#test_setsockopt):</div><div class='del'>-	  BasicSocket#setsockopt dumps core.  [ruby-dev:25039]</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb (TestTCPSocket#test_recvfrom):</div><div class='del'>-	  TCPSocket#recvfrom dumps core.  [ruby-dev:24705]</div><div class='del'>-</div><div class='del'>-	* test/socket/test_udp.rb (TestUDPSocket#test_connect):</div><div class='del'>-	  UDPSocket#connect dumps core.  [ruby-dev:25045]</div><div class='del'>-</div><div class='del'>-	* test/socket/test_udp.rb (TestUDPSocket#test_bind):</div><div class='del'>-	  UDPSocket#bind dumps core.  [ruby-dev:25057]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 09:59:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread): take VALUE argument.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect): use rb_str_new4().</div><div class='del'>-	  [ruby-dev:25052]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): [ruby-dev:25051]</div><div class='del'>-</div><div class='del'>-Mon Dec  6 01:32:31 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,</div><div class='del'>-	  ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,</div><div class='del'>-	  ossl_rsa_private_decrypt): should take an optional argument</div><div class='del'>-	  to specify padding mode. [ruby-talk:122539]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): add new constants</div><div class='del'>-	  PKCS1_PADDING, SSLV23_PADDING, NO_PADDING and PKCS1_OAEP_PADDING</div><div class='del'>-	  under OpenSSL::PKey::RSA.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: new file.</div><div class='del'>-</div><div class='del'>-Sun Dec  5 19:39:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion#complete): new parameter</div><div class='del'>-	  to direct case insensitiveness.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#order!): ignore case only for long</div><div class='del'>-	  option.  [ruby-dev:25048]</div><div class='del'>-</div><div class='del'>-Sun Dec  5 00:54:32 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: setup library paths before requiring library.</div><div class='del'>-	  [ruby-core:03892]</div><div class='del'>-</div><div class='del'>-Sat Dec  4 22:54:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_write): remove rb_str_locktmp().  [ruby-dev:25050]</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): takes VALUE string as an argument.</div><div class='del'>-	  [ruby-dev:25050]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect): remove rb_str_locktmp().</div><div class='del'>-	  [ruby-dev:25050]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (udp_connect): [ruby-dev:25045]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (udp_bind): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (udp_send): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_send): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recvfrom): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_hash): should provide "hash" method where "eql?"</div><div class='del'>-	  is redefined.  [ruby-talk:122482]</div><div class='del'>-</div><div class='del'>-Sat Dec  4 21:29:05 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: (In previous commit) new method chown.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: (In previous commit) new method chown_R.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: (In previous commit) new method chmod_R</div><div class='del'>-	  wrongly added.  Removed now.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 20:45:52 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mkdir, mkdir_p): should chmod explicitly.</div><div class='del'>-	  [ruby-core:03881]</div><div class='del'>-</div><div class='del'>-Sat Dec  4 18:54:09 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: removed empty lines from output.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 18:49:09 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION): 0.1.1 -&gt; 0.1.2</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: #item=/#set_item and so on are obsolete.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 14:28:56 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::Context::Section::set_comment):</div><div class='del'>-	  Section comments may now be bracketed by lines which are</div><div class='del'>-	  ignored. You can now write</div><div class='del'>-	      # -----------</div><div class='del'>-	      # :section: Dave's Section</div><div class='del'>-	      # comment material</div><div class='del'>-	      # -----------</div><div class='del'>-	   The lines before :section: are removed, and identical lines at the end are</div><div class='del'>-	   also removed if present.</div><div class='del'>-</div><div class='del'>-Sat Dec  4 00:35:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]</div><div class='del'>-</div><div class='del'>-Fri Dec  3 12:25:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.h: fix prototype for C++.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 01:55:24 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: widget configuration by TkWindow#method_missing</div><div class='del'>-	  returns proper object. "widget.option = val" returns val, and</div><div class='del'>-	  "widget.option(val)" returns self.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/font.rb: TkFont#replace accepts only one font argument.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/radiobutton.rb: add TkRadiobutton#value and</div><div class='del'>-	  TkRadiobutton#value=(val).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/spinbox.rb: callback substitution support on</div><div class='del'>-	  command option.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/widget: bug fix (wrong image height)</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-jp/widget: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 00:21:05 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): prepare to pass a block from "call" method</div><div class='del'>-	  to a Proc generated by Method#to_proc.  [ruby-dev:25031]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): actually passes a block given to "call".</div><div class='del'>-</div><div class='del'>-	* object.c (convert_type): use rb_respond_to() again.  this fix is</div><div class='del'>-	  based on [ruby-dev:25021]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_respond_to): funcall respond_to? if it's redefined.</div><div class='del'>-	  [ruby-dev:25021]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 15:13:53 2004  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_parser.rb, test/xmlrpc/data/*.expected: Expected</div><div class='del'>-	  values are now stored in YAML instead of using #inspect. This fixes</div><div class='del'>-	  false hash order.</div><div class='del'>-</div><div class='del'>-Fri Dec  3 00:11:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_initialize): [ruby-dev:25032]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 16:41:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_protect): prevent continuations created inside from being</div><div class='del'>-	  called from the outside.  [ruby-dev:25003]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_callcc, rb_cont_call): prohibit calling from different</div><div class='del'>-	  signal contexts.  [ruby-dev:25022]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 10:45:02 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: fix for NetBSD.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 09:57:24 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct::Marshaler): OpenStruct can be</div><div class='del'>-	  marshaled again.  [ruby-core:03862]</div><div class='del'>-</div><div class='del'>-Thu Dec  2 09:30:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_mark): mark thread group.  [ruby-dev:25020]</div><div class='del'>-</div><div class='del'>-	* eval.c (thgroup_add): check whether the argument is really a Thread.</div><div class='del'>-</div><div class='del'>-Thu Dec  2 07:57:16 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ctl): [ruby-dev:25019]</div><div class='del'>-</div><div class='del'>-Wed Dec  1 06:13:00 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: add constant NKF::VERSION</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c(guess): this becomes an alias of guess2</div><div class='del'>-</div><div class='del'>-	* ext/nkf/test.rb: add --no-cp932</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: original nkf2 revision 1.47</div><div class='del'>-</div><div class='del'>-Wed Dec  1 02:21:02 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandler): call handler immediately only for default</div><div class='del'>-	  handlers.  [ruby-dev:25003]</div><div class='del'>-</div><div class='del'>-Tue Nov 30 23:49:12 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): errno should be preserved for rb_sys_fail() when</div><div class='del'>-	  fork failed.</div><div class='del'>-</div><div class='del'>-Tue Nov 30 16:18:50 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread): need not to null terminate.  [ruby-dev:24998]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): should check previous frame for ZSUPER.</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): remove unnecessary rb_str_resize().</div><div class='del'>-	  [ruby-dev:24996]</div><div class='del'>-</div><div class='del'>-	* io.c (io_readpartial): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 30 14:58:33 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (install): add arguments explicitly to "super".</div><div class='del'>-</div><div class='del'>-Tue Nov 30 00:49:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_FRAME): flags should have been initialized.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): [ruby-core:03856]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_sysread): use temporary lock.  [ruby-dev:24992]</div><div class='del'>-</div><div class='del'>-Tue Nov 30 00:12:57 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c: now handles many alternatives (over 500000)</div><div class='del'>-	  in regexp. [ruby-dev:24773]</div><div class='del'>-</div><div class='del'>-Mon Nov 29 16:06:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): insufficiently filled string</div><div class='del'>-	  being extended when overwriting.  [ruby-core:03836]</div><div class='del'>-</div><div class='del'>-Mon Nov 29 15:59:05 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct::method_missing): check method</div><div class='del'>-	  duplication for -d.</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct::initialize): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 15:22:28 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/nonblock/test_flush.rb: abandon tests when io/nonblock is</div><div class='del'>-	  not supported.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 13:37:54 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): must not use FILE after fclose().</div><div class='del'>-	  [ruby-dev:24985]</div><div class='del'>-</div><div class='del'>-Mon Nov 29 13:13:13 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): push back the last space before next</div><div class='del'>-	  loop because CharNext() eats it.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 03:08:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (convert_type): [ruby-core:03845]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_funcall_rescue): new function.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Array): avoid using rb_respond_to().</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Integer): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (get_backtrace): no conversion for nil.</div><div class='del'>-</div><div class='del'>-	* parse.y (reduce_nodes): empty body should return nil.</div><div class='del'>-</div><div class='del'>-Mon Nov 29 01:18:18 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_writable): call io_seek regardless of</div><div class='del'>-	  NEED_IO_SEEK_BETWEEN_RW.  [ruby-dev:24986]</div><div class='del'>-</div><div class='del'>-Sun Nov 28 15:57:58 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::Element#tag): not use block_given? for</div><div class='del'>-	  working with ruby 1.6 again.</div><div class='del'>-</div><div class='del'>-	* lib/rss/{0.9,2.0,trackback}.rb, lib/rss/maker/base.rb:</div><div class='del'>-	  undef -&gt; remove_method for working with ruby 1.6 again.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 15:51:40 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::NotSetError): added.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/{1.0,0.9,2.0}.rb: changed RSS Maker to raise</div><div class='del'>-	  RSS::NotSetError if required values of maker.channel are not</div><div class='del'>-	  set. [ruby-talk:120061]</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_{1.0,0.9,2.0}.rb: changed tests to check RSS</div><div class='del'>-	  Maker raises or not.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 12:14:47 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token): fixed test failure on HP-UX ia64</div><div class='del'>-	  ([ruby-dev:24859]).</div><div class='del'>-</div><div class='del'>-Sun Nov 28 12:08:15 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c, test/ruby/test_regexp.rb: fixed problem with UTF-8</div><div class='del'>-	  characters that have U+00FE or invalid characters.</div><div class='del'>-</div><div class='del'>-Sun Nov 28 12:07:04 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c, test/ruby/test_regexp.rb: fixed segmentation fault</div><div class='del'>-	  ([ruby-dev:24887]).</div><div class='del'>-</div><div class='del'>-Sun Nov 28 12:05:48 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c, regint.h: fixed PLATFORM_UNALIGNED_WORD_ACCESS</div><div class='del'>-	  problem ([ruby-dev:24802] and [ruby-core:3733])</div><div class='del'>-</div><div class='del'>-Sat Nov 27 23:43:39 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): [ruby-dev:24972]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 21:43:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: avoid data lost with nonblocking fd and</div><div class='del'>-	  stdio buffering in sync mode.  [ruby-dev:24966]</div><div class='del'>-	  based on matz's patch [ruby-dev:24967]</div><div class='del'>-	  (io_fwrite): new primitive writing function which writes</div><div class='del'>-	  directly if sync mode.</div><div class='del'>-	  (rb_io_fwrite): wrapper for io_fwrite now.</div><div class='del'>-	  (io_write): call io_fwrite instead of rb_io_fwrite.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 17:43:21 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/{0.9,1.0,2.0,trackback,xml-stylesheet}.rb: added</div><div class='del'>-	  #setup_maker.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_setup_maker_*.rb: added tests for #setup_maker.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb(RSS::Maker::Items#max_size=): supported</div><div class='del'>-	  output item size limitation.</div><div class='del'>-</div><div class='del'>-	* sample/rss/blend.rb: added sample for RSS Maker.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 17:41:35 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/0.9.rb: supported RSS::Maker.make("0.91"). Now,</div><div class='del'>-	  "0.9" is just alias of "0.91."</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_0.9.rb: make("0.9") -&gt; maker("0.91").</div><div class='del'>-</div><div class='del'>-	* test/rss/test_to_s.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 17:21:30 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/list_description.rb: untabified.</div><div class='del'>-</div><div class='del'>-	* sample/rss/rss_recent.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 27 14:44:15 2004  Kent Sibilev  &lt;ksibilev@bellsouth.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::initialize): [ruby-core:03832]</div><div class='del'>-</div><div class='del'>-Sat Nov 27 09:41:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread): old rb_io_fread with file closing checking.</div><div class='del'>-	  (rb_io_fread): wrapper for io_fread now.</div><div class='del'>-	  [ruby-dev:24964]</div><div class='del'>-</div><div class='del'>-Fri Nov 26 18:02:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/image.rb: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath</div><div class='del'>-</div><div class='del'>-Fri Nov 26 14:29:39 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): uninitialized fd was checked to see open</div><div class='del'>-	  mode.  [ruby-dev:24963]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): uninitialized fd was used.  [ruby-dev:24962]</div><div class='del'>-</div><div class='del'>-Fri Nov 26 13:49:06 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): should retrieve flags from copying file</div><div class='del'>-	  descriptor. [ruby-dev:24961]</div><div class='del'>-</div><div class='del'>-	* eval.c (method_missing): raise TypeError for classes do not</div><div class='del'>-	  have allocators.  [ruby-core:03752]</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: add RDoc by James Edward Gray II.  [ruby-core:03786]</div><div class='del'>-</div><div class='del'>-Fri Nov 26 13:29:02 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in): Break</div><div class='del'>-	  out of preprocessing when we find a :section: directive (previously cleared out the</div><div class='del'>-	  comment, but this apparently now generates an error in gsub!)</div><div class='del'>-</div><div class='del'>-Fri Nov 26 00:17:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): move StringValue() check before GetOpenFile().</div><div class='del'>-	  [ruby-dev:24959]</div><div class='del'>-</div><div class='del'>-Thu Nov 25 20:14:57 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thwait.rb (ThreadsWait#join_nowait): abnormally terminated</div><div class='del'>-	  threads should be also processed.  [ruby-talk:121320]</div><div class='del'>-</div><div class='del'>-Thu Nov 25 18:06:37 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: AC_CHECK_SIZEOF(rlim_t) to include stdio.h to fix</div><div class='del'>-	  problem with autoconf 2.52 or earlier.</div><div class='del'>-	  revert AC_PREREQ to 2.50.</div><div class='del'>-	  [ruby-core:3809]</div><div class='del'>-</div><div class='del'>-Thu Nov 25 07:59:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: AC_PREREQ(2.53) [ruby-core:03800]</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): stringify non-nil buffer argument, and always</div><div class='del'>-	  taint the result.  [ruby-dev:24955]</div><div class='del'>-</div><div class='del'>-Wed Nov 24 01:01:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): integer conversion should be prior to</div><div class='del'>-	  GetOpenFile().  [ruby-dev:24952]</div><div class='del'>-</div><div class='del'>-	* configure.in, io.c: cancel [ ruby-Patches-1074 ].</div><div class='del'>-</div><div class='del'>-Tue Nov 23 08:09:50 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb: improve usability of TkOptionMenubutton</div><div class='del'>-</div><div class='del'>-Tue Nov 23 02:00:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_chown): integer conversion should be prior to</div><div class='del'>-	  GetOpenFile().  [ruby-dev:24949]</div><div class='del'>-</div><div class='del'>-Tue Nov 23 00:10:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_chown): integer conversion should be prior to</div><div class='del'>-	  GetOpenFile().  [ruby-dev:24947]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_truncate): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_seek): use NUM2OFFT().</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-non-block-do-re): [ruby-core:03719]</div><div class='del'>-</div><div class='del'>-Mon Nov 22 22:33:02 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Don't use names</div><div class='del'>-	  of variables or constants when parsing 'require'</div><div class='del'>-</div><div class='del'>-Mon Nov 22 00:13:35 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_seek): should retrieve dir_data after NUM2INT().</div><div class='del'>-	  [ruby-dev:24941]</div><div class='del'>-</div><div class='del'>-Sat Nov 20 23:57:33 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/README (et al): Add a new directive, :section:, and</div><div class='del'>-	  change the output format to accommodate. :section: allows to to</div><div class='del'>-	  group together methods, attributes, constants, etc under</div><div class='del'>-	  headings in the output. If used, a table of contents is</div><div class='del'>-	  generated.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 23:56:54 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (Options::parse): Force --inline-source if</div><div class='del'>-	  --one-file option given</div><div class='del'>-</div><div class='del'>-Sat Nov 20 23:55:19 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice): should place index wrapping after</div><div class='del'>-	  possible modification.  [ruby-dev:24940]</div><div class='del'>-</div><div class='del'>-Sat Nov 20 23:25:12 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): f.gets("") did not work. [ruby-core:03771]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_gets_rs): test it.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 22:55:09 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb (CROSS_COMPILING): need to require rbconfig.rb before</div><div class='del'>-	  using CROSS_COMPILNG.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 20:42:42 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: fix ripper.o dependency.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 17:48:29 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): work around problem with Cygwin fseeko</div><div class='del'>-	  returning ESPIPE.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 05:34:24 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: original nkf.c rev:1.40</div><div class='del'>-</div><div class='del'>-	* ext/nkf/test.rb: add test for mime encode/decode</div><div class='del'>-</div><div class='del'>-Sat Nov 20 01:45:04 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb: move `requrie "webrick/https"'</div><div class='del'>-	  into #setup_http_server method to avoid soap test errors.</div><div class='del'>-</div><div class='del'>-Sat Nov 20 01:37:34 2004  Johan Holmberg  &lt;holmberg@iar.se&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): nicer traceback at interrupt.</div><div class='del'>-	  [ruby-core:03774]</div><div class='del'>-</div><div class='del'>-Sat Nov 20 00:07:16 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): internal buffer should not be listed by</div><div class='del'>-	  ObjectSpace.each_object() by String#gsub.  [ruby-dev:24931]</div><div class='del'>-</div><div class='del'>-Fri Nov 19 22:44:43 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb: better support for -p/-x option.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 17:46:56 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/0.9.rb (RSS::Maker::RSS09::Image#have_required_values):</div><div class='del'>-	  changed /rss/channel/image to be optional. [ruby-Bugs:1047]</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_0.9.rb: added tests for the above.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 17:18:17 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::VERSION): 0.1.0 -&gt; 0.1.1.</div><div class='del'>-</div><div class='del'>-	* lib/rss: #to_s used #tag.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_to_s.rb: added.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb (RSS::Maker.make): changed API. It's not</div><div class='del'>-	  received modules which is used as the second argument.</div><div class='del'>-</div><div class='del'>-	* lib/rss/xml-stylesheet.rb (RSS::XMLStyleSheet#alternate):</div><div class='del'>-	  changed return value type which is not String but Boolean.</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb (RSS::Rss::Channel#ttl): changed return value</div><div class='del'>-	  type which is not String but Integer.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss::Channel): &lt;skipDays&gt; has &lt;day&gt;s and</div><div class='del'>-	  &lt;skipHours&gt; has &lt;hour&gt;s.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/0.9.rb (RSS::Maker::RSS09::Channel): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss::Channel::Item): &lt;item&gt; has &lt;category&gt;s.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/2.0.rb (RSS::Maker::Rss20::Channel::Item): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb (RSS::Rss::Channel): &lt;channel&gt; has &lt;category&gt;s.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/2.0.rb (RSS::Maker::RSS20::Channel): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb: parent element has &lt;trackback:about&gt;s.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/trackback.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 11:10:16 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb: add support for directory name</div><div class='del'>-	  with -p/-x options.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/datetime.rb (XMLRPC::DateTime#==): should use Array()</div><div class='del'>-	  instead of to_a.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 10:32:36 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_completion_append_character):</div><div class='del'>-	  accept nil.  [ruby-core:03765]</div><div class='del'>-</div><div class='del'>-Fri Nov 19 01:20:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise</div><div class='del'>-	  exception if data corresponding to session specified from the</div><div class='del'>-	  client does not exist.</div><div class='del'>-</div><div class='del'>-Fri Nov 19 00:59:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): internal buffer should not be listed by</div><div class='del'>-	  ObjectSpace.each_object().  [ruby-dev:24919]</div><div class='del'>-</div><div class='del'>-Thu Nov 18 23:42:36 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: Never regenerate lib/ripper/core.rb</div><div class='del'>-	  automatically. [ruby-dev:24911]</div><div class='del'>-</div><div class='del'>-Thu Nov 18 20:47:24 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (rb_w32_isatty): new function to replace MSVCRT's</div><div class='del'>-	  isatty because it never sets errno.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 18:41:08 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_stringchar.rb (test_bang): added.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upcase_bang, rb_str_capitalize_bang)</div><div class='del'>-	  (rb_str_swapcase_bang): missing rb_str_modify().</div><div class='del'>-</div><div class='del'>-Thu Nov 18 17:05:01 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_rest_arg): store rest args into invisible local variable</div><div class='del'>-	  in order to get rid of SEGV at ZSUPER.  [ruby-dev:24913]</div><div class='del'>-</div><div class='del'>-Thu Nov 18 15:39:52 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_f_getenv): prohibit for $SAFE=4. [ruby-dev:24908]</div><div class='del'>-</div><div class='del'>-Thu Nov 18 14:58:42 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: check $SAFE.</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: added tests for readline.</div><div class='del'>-</div><div class='del'>-Thu Nov 18 00:21:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getpgrp): prohibit for $SAFE=2.</div><div class='del'>-	  [ruby-dev:24899]</div><div class='del'>-</div><div class='del'>-	* process.c (get_pid): ditto.  [ruby-dev:24904]</div><div class='del'>-</div><div class='del'>-	* process.c (get_ppid): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): defer rb_ary_modify() until actual</div><div class='del'>-	  modification.  [ruby-dev:24901]</div><div class='del'>-</div><div class='del'>-Thu Nov 18 10:10:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, rubyio.h (rb_io_modenum_flags): exported.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_initialize): allow Fixnum as mode as</div><div class='del'>-	  well as IO.new does.  [ruby-dev:24896]</div><div class='del'>-</div><div class='del'>-Wed Nov 17 23:47:30 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: added.  [ruby-dev:24884]</div><div class='del'>-</div><div class='del'>-Wed Nov 17 18:59:16 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getrlimit, proc_setrlimit): add rb_secure(2) to</div><div class='del'>-	  methods of Process.{getrlimit,setrlimit}</div><div class='del'>-</div><div class='del'>-Wed Nov 17 13:56:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (newline_node): should not use FL_SET. [ruby-dev:24874]</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content): should not use FL_UNSET.</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_NEWLINE): remove unused bit to utilize flag field</div><div class='del'>-	  in nodes.</div><div class='del'>-</div><div class='del'>-Wed Nov 17 13:05:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): fix overrun.  [ruby-dev:24886]</div><div class='del'>-</div><div class='del'>-Wed Nov 17 11:48:17 2004  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb, test/xmlrpc/test_features.rb: fixed "assigning</div><div class='del'>-	  to constants" warnings</div><div class='del'>-</div><div class='del'>-Wed Nov 17 09:38:18 2004  Johan Holmberg  &lt;holmberg@iar.se&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): should raise exception instead of</div><div class='del'>-	  compile error.  [ruby-core:03755]</div><div class='del'>-</div><div class='del'>-Wed Nov 17 03:42:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_splice): move rb_str_modify() after</div><div class='del'>-	  StringValue(), which may alter the receiver.  [ruby-dev:24878]</div><div class='del'>-</div><div class='del'>-	* error.c (rb_error_frozen): now raise RuntimeError instead of</div><div class='del'>-	  TypeError.</div><div class='del'>-</div><div class='del'>-Tue Nov 16 21:22:47 2004  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb (CGIServer): fixed bug when client sends</div><div class='del'>-	  "Content-typ: text/xml; ..."</div><div class='del'>-</div><div class='del'>-Tue Nov 16 23:45:07 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_divmod): protect float values from GC by</div><div class='del'>-	  assignment to local variables.  [ruby-dev:24873]</div><div class='del'>-</div><div class='del'>-Tue Nov 16 14:31:54 2004  Michael Neumann  &lt;mneumann@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/*: imported and refactored original test cases.</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb, test/xmlrpc/webrick_testing.rb:</div><div class='del'>-	  added test case that starts up a WEBrick XML-RPC server and performs</div><div class='del'>-	  some tests on it (both http and https servers are started).</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb (XMLWriter::each_installed_writer),</div><div class='del'>-	  lib/xmlrpc/parser.rb (XMLParser::each_installed_parser):</div><div class='del'>-	  added methods to simply original test cases</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb, lib/xmlrpc/datetime.rb: applied patch by</div><div class='del'>-	  MoonWolf &lt;moonwolf@moonwolf.com&gt; to allow parsing datetime.iso8601</div><div class='del'>-	  (e.g. 20041105T01:15:23Z).</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb: fixed issue #998</div><div class='del'>-	  (http://rubyforge.org/tracker/?func=detail&amp;atid=1700&amp;aid=998&amp;group_id=426)</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb, lib/xmlrpc/utils.rb: when marshalling/loading</div><div class='del'>-	  user-defined data structures, use Class#allocate instead of defining</div><div class='del'>-	  an empty #initialize method. module XMLRPC::Marshallable is now only</div><div class='del'>-	  used for tagging.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/.document, lib/xmlrpc/README.rdoc: added howto</div><div class='del'>-</div><div class='del'>-Tue Nov 16 16:26:12 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/setup.mak (-epilogue-): remove config.h and</div><div class='del'>-	  config.status to force updating them.</div><div class='del'>-</div><div class='del'>-Tue Nov 16 16:20:45 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): position was ignored when a</div><div class='del'>-	  buffer was passed.  http://www.yo.rim.or.jp/~nov/d/?date=20041116#p03</div><div class='del'>-</div><div class='del'>-Tue Nov 16 13:35:54 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::options): add</div><div class='del'>-	  new option --exclude (-x) to skip some tests. [ruby-core:3363],</div><div class='del'>-	  [ruby-dev:24865]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir.exclude):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 16 11:19:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::options): use</div><div class='del'>-	  Regexp conversion.</div><div class='del'>-</div><div class='del'>-Tue Nov 16 01:41:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_mod_check): frozen check should be separated.</div><div class='del'>-	  [ruby-core:3742]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_update): pedantic check to detect</div><div class='del'>-	  rb_ary_to_ary() to modify the receiver.  [ruby-dev:24861]</div><div class='del'>-</div><div class='del'>-Mon Nov 15 18:58:05 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check rlim_t more portably. [ruby-core:3735]</div><div class='del'>-</div><div class='del'>-Mon Nov 15 11:50:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle</div><div class='del'>-	  operator symbols.  [ruby-talk:120177]</div><div class='del'>-</div><div class='del'>-Mon Nov 15 08:58:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Proc): make proc as an alias to Proc.new.</div><div class='del'>-	  [ruby-dev:24848]</div><div class='del'>-</div><div class='del'>-Mon Nov 15 00:46:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): lambda{}.call(1) should raise exception.</div><div class='del'>-	  [ruby-talk:120253]</div><div class='del'>-</div><div class='del'>-Mon Nov 15 00:33:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_clear): avoid revealing NULL pointer.</div><div class='del'>-	  [ruby-dev:24766]</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): add paranoid check. [ruby-dev:24827]</div><div class='del'>-</div><div class='del'>-	* string.c (str_mod_check): check frozen status as well.</div><div class='del'>-	  [ruby-dev:24801]</div><div class='del'>-</div><div class='del'>-Sun Nov 14 18:59:03 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getrlimit): new function for Process.getrlimit.</div><div class='del'>-	  (proc_setrlimit): new function for Process.setrlimit.</div><div class='del'>-	  [ruby-dev:24834]</div><div class='del'>-</div><div class='del'>-	* configure.in: check rlim_t and its size.  check setrlimit.</div><div class='del'>-</div><div class='del'>-	* ruby.h (NUM2ULL): new macro.</div><div class='del'>-</div><div class='del'>-Sun Nov 14 13:27:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP#object_address_group): remove odd number of 'f'</div><div class='del'>-	  prefixed to negative address.</div><div class='del'>-</div><div class='del'>-Sun Nov 14 10:48:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Integer::gcd2): faster implementation by</div><div class='del'>-	  &lt;erlercw@siu.edu&gt;. [ruby-talk:120232]</div><div class='del'>-</div><div class='del'>-Sun Nov 14 08:46:33 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: Logger just expects</div><div class='del'>-	  Logger#datetime_format to be used for Time#strftime independently of</div><div class='del'>-	  locale. [ruby-dev:24828]</div><div class='del'>-</div><div class='del'>-Fri Nov 12 17:32:07 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/README.bcc32, win32/README.win32: need bison instead of</div><div class='del'>-	  byacc.</div><div class='del'>-</div><div class='del'>-Fri Nov 12 15:15:06 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options): now we cannot call rb_glob() before</div><div class='del'>-	  ruby_init(), so call rb_w32_cmdvector() at ruby_options().</div><div class='del'>-</div><div class='del'>-	* win32/win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and</div><div class='del'>-	  export it.</div><div class='del'>-</div><div class='del'>-Fri Nov 12 14:08:01 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/event.rb: remove $LOADED_FEATURES trick</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Nov 12 00:31:05 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string</div><div class='del'>-	  pointer.  [ruby-dev:24783]</div><div class='del'>-</div><div class='del'>-Thu Nov 11 17:58:19 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_glob): should have called rb_glob_caller().</div><div class='del'>-	  [ruby-dev:24773]</div><div class='del'>-</div><div class='del'>-Thu Nov 11 16:56:10 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (test_truncate_wbuf): we want to test</div><div class='del'>-	  only File#truncate, not behavior of seek(2).</div><div class='del'>-</div><div class='del'>-Thu Nov 11 01:52:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): use stringified object.</div><div class='del'>-	  [ruby-dev:24768]</div><div class='del'>-</div><div class='del'>-Wed Nov 10 22:49:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (SimpleDelegator::dup): wrong number of</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass::dup): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 10 19:47:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): path is a string object now.</div><div class='del'>-</div><div class='del'>-Wed Nov 10 12:31:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT (Example): extconf.rb is indispensable now.</div><div class='del'>-</div><div class='del'>-Wed Nov 10 03:33:36 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x</div><div class='del'>-	  or older</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/style.rb: bug fix</div><div class='del'>-</div><div class='del'>-Tue Nov  9 22:24:07 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf: original nkf.c rev:1.38</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: fix bug: can't parse long-name options</div><div class='del'>-</div><div class='del'>-	* ext/nkf/test.rb: fix bug: mime tests fail</div><div class='del'>-</div><div class='del'>-Tue Nov  9 14:27:18 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Officious): moved from DefaultList.</div><div class='del'>-</div><div class='del'>-Tue Nov  9 00:50:06 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb: Change version numbering of RDoc and ri</div><div class='del'>-</div><div class='del'>-Tue Nov  9 01:05:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_glob2): do not allocate buffer from heap to avoid</div><div class='del'>-	  memory leaks.  use string object for buffering instead.</div><div class='del'>-	  [ruby-dev:24738]</div><div class='del'>-</div><div class='del'>-	* dir.c (join_path): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): external input buffer may be modified even after</div><div class='del'>-	  rb_str_locktmp().  [ruby-dev:24735]</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): p or s may be NULL.  [ruby-dev:24749]</div><div class='del'>-</div><div class='del'>-Tue Nov  9 00:36:26 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb: add DRb::ExtServManager#uri=.</div><div class='del'>-	  [ruby-dev:24743]</div><div class='del'>-</div><div class='del'>-Mon Nov  8 22:20:19 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):</div><div class='del'>-	  Fix bug where parent class wasn't being detected if the</div><div class='del'>-	  child class was defined using the A::B notation.</div><div class='del'>-</div><div class='del'>-Mon Nov  8 00:14:13 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add setup for mingw32 cross compiling.</div><div class='del'>-	  [ruby-talk:119413]</div><div class='del'>-</div><div class='del'>-Sun Nov  7 23:49:26 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bind-event methods accept multi substitution</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvastag.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/texttag.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  6 20:40:16 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: rename WIN32OLE#ole_obj_help to</div><div class='del'>-	  WIN32OLE#ole_type. alias ole_obj_help to ole_type.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  6 11:18:59 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb (_parse): checks whether zone was given.</div><div class='del'>-</div><div class='del'>-Sat Nov  6 00:46:27 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_locktmp): check STR_TMPLOCK flag before</div><div class='del'>-	  locking.  [ruby-dev:24727]</div><div class='del'>-</div><div class='del'>-Fri Nov  5 19:07:16 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf: follow CVS Head of original nkf.</div><div class='del'>-</div><div class='del'>-Fri Nov  5 18:12:42 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/scrollable.rb: divide Scrollable module into</div><div class='del'>-	  X_Scrollable and Y_Scrollable</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/entry.rb: include X_Scrollable instead of Scrollable</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/autoload.rb: define autoload for X_Scrollable and</div><div class='del'>-	  Y_Scrollable</div><div class='del'>-</div><div class='del'>-Fri Nov  5 16:05:32 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: TkComm._at() supprts both of "@x,y" and "@x"</div><div class='del'>-</div><div class='del'>-Fri Nov  5 13:22:58 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: sorry. bug fix again.</div><div class='del'>-</div><div class='del'>-Fri Nov  5 13:17:54 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: bug fix</div><div class='del'>-</div><div class='del'>-Fri Nov  5 08:52:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): stricter GC stack check.</div><div class='del'>-</div><div class='del'>-Fri Nov  5 08:34:43 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): should have removed rb_str_unlocktmp(str).</div><div class='del'>-	  [ruby-dev:24708]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recvfrom): buffer modification check.</div><div class='del'>-	  [ruby-dev:24708]</div><div class='del'>-</div><div class='del'>-Thu Nov  4 23:54:21 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c, regparse.c, regint.h: fixed conflicts between</div><div class='del'>-	  vendor branch.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 23:41:55 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c,</div><div class='del'>-	  regenc.c, regenc.h, regerror.c, regexec.c, reggnu.c,</div><div class='del'>-	  regint.h, regparse.c, regparse.h, sjis.c, utf8.c:</div><div class='del'>-	  imported Oni Guruma 3.4.0.</div><div class='del'>-</div><div class='del'>-	* parse.y, re.c: Now mbclen() takes unsigned char as</div><div class='del'>-	  its argument.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 21:25:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): string modify check no longer based on</div><div class='del'>-	  tmplock.  [ruby-dev:24706]</div><div class='del'>-</div><div class='del'>-Thu Nov  4 21:13:48 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(typelib_file_from_typelib): search "win16"</div><div class='del'>-	  entry to get library path.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(oletypelib_path): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(ole_typedesc2val): add VT_LPWSTR, VT_LPSTR,</div><div class='del'>-	  VT_ERROR case.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 15:02:14 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: forget to initialize instance_variables</div><div class='del'>-	  of TkVarAccess objects</div><div class='del'>-</div><div class='del'>-Thu Nov  4 09:11:35 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): enable GC stack checking.</div><div class='del'>-</div><div class='del'>-Thu Nov  4 03:11:33 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): lock strings temporarily.  [ruby-dev:24687]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recvfrom): tmplock input buffer.</div><div class='del'>-	  [ruby-dev:24705]</div><div class='del'>-</div><div class='del'>-Wed Nov  3 22:24:17 2004  Daigo Moriwaki  &lt;techml@sgtpepper.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb: use Base64.encode64 to</div><div class='del'>-	  avoid warnings.</div><div class='del'>-</div><div class='del'>-Wed Nov  3 17:19:59 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): do not push frozen string from hash</div><div class='del'>-	  table.  [ruby-dev:24695]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_and): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  3 17:02:48 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: support to use different Tcl commands between</div><div class='del'>-	  configure and configinfo</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/font.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/itemconfig.rb: support to use different Tcl commands</div><div class='del'>-	  between item_configure and item_configinfo</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/itemfont.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: install SUPPORT_STATUS</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib: some bug fixes (see ext/tk/ChangeLog.tkextlib)</div><div class='del'>-</div><div class='del'>-Wed Nov  3 15:38:28 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/*.rb: removed tab width configuration headers.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_{0.9,1.0}.rb: sort -&gt; do_sort.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/*.rb: changed API to RSS version independence.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb</div><div class='del'>-	  (RSS::Maker::XMLStyleSheets::XMLStyleSheet): checked required</div><div class='del'>-	  (pseudo) attributes.</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb (RSS::Maker::Items): sort -&gt; do_sort.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::BaseModel.install_date_element): avoided</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss#textinput): added convenience method.</div><div class='del'>-</div><div class='del'>-Tue Nov  2 16:35:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/enumerator/enumerator.c (each_cons_i): pass copy of an</div><div class='del'>-	  internal consequent array.  [ruby-talk:118691]</div><div class='del'>-</div><div class='del'>-Tue Nov  2 14:54:02 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): need to set cmd if argc == 0 (win32).</div><div class='del'>-</div><div class='del'>-Tue Nov  2 01:20:09 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): IO.popen should take array as 1st argument for</div><div class='del'>-	  a command line.  [ruby-dev:24678]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): nail down dyna_var node when Proc object</div><div class='del'>-	  or continuation is created.  [ruby-dev:24671]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): do not expand argv array.  [ruby-dev:24670]</div><div class='del'>-</div><div class='del'>-Mon Nov  1 22:25:56 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb: changed xml-stylesheet's API of RSS Maker</div><div class='del'>-	  like to item's one.</div><div class='del'>-</div><div class='del'>-	* lib/rss/xml-stylesheet.rb (RSS::XMLStyleSheet#guess_type): fixed</div><div class='del'>-	  regular expression bug.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_xml-stylesheet.rb: updated tests for</div><div class='del'>-	  xml-stylesheet.</div><div class='del'>-</div><div class='del'>-Mon Nov  1 13:59:28 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.</div><div class='del'>-</div><div class='del'>-	* ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,</div><div class='del'>-	  ext/stringio/extconf.rb: added.</div><div class='del'>-</div><div class='del'>-	* MANIFEST, ext/**/MANIFEST: removed.</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: remove MANIFEST stuff.</div><div class='del'>-</div><div class='del'>-Mon Nov  1 11:52:18 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): avoid conflict of variable name. [ruby-dev:24662]</div><div class='del'>-</div><div class='del'>-Mon Nov  1 11:46:19 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec): should check whether prog is NULL.</div><div class='del'>-</div><div class='del'>-Mon Nov  1 09:37:19 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb: added entry point of RSS Maker.</div><div class='del'>-</div><div class='del'>-Mon Nov  1 03:14:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_get_method_body): store ICLASS in the cache.</div><div class='del'>-	  [ruby-core:03672]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_provided): should return true for loading library</div><div class='del'>-	  too for autoloading.  [ruby-core:03655]</div><div class='del'>-</div><div class='del'>-Mon Nov  1 01:14:52 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): create copy of popen specifier.  [ruby-dev:24656]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_locktmp): lock string temporarily.</div><div class='del'>-</div><div class='del'>-	* string.c (str_independent): add tmplock check.</div><div class='del'>-</div><div class='del'>-	* io.c (io_write): lock output string temporarily.</div><div class='del'>-	  [ruby-dev:24649]</div><div class='del'>-</div><div class='del'>-	* io.c (io_write): use rb_str_locktmp().</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 23:37:00 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: on NetBSD don't use setruid() and setrgid().</div><div class='del'>-</div><div class='del'>-Sun Oct 31 23:12:10 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/*.rb: added RSS Maker.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_*.rb: added tests for RSS Maker.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 16:58:12 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE.codepage, WIN32OLE.codepage=.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 14:35:26 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: add "\075?UTF-8?Q?" for Gmail.</div><div class='del'>-</div><div class='del'>-Sun Oct 31 14:18:56 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: emit lexer-event values to the parser</div><div class='del'>-	  (still incomplete).</div><div class='del'>-</div><div class='del'>-Sat Oct 30 15:24:41 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_TYPELIB class. add</div><div class='del'>-	  WIN32OLE#ole_typelib method.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLETYPELIB.rb: add WIN32OLE_TYPELIB class.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 06:53:24 2004  Peter Vanbroekhoven  &lt;peter.vanbroekhoven@cs.kuleuven.ac.be&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): NODE_XSTR should pass copy of literal string.</div><div class='del'>-</div><div class='del'>-Sat Oct 30 00:19:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_update): a[n,m]=nil no longer works as element</div><div class='del'>-	  deletion.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): protect continuation jump in.</div><div class='del'>-	  [ruby-dev:24642]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS,</div><div class='del'>-	  NEW_VALIAS), parse.y (fitem): allow dynamic symbols to</div><div class='del'>-	  NODE_UNDEF and NODE_ALIAS.</div><div class='del'>-</div><div class='del'>-Fri Oct 29 21:27:51 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_initialized): new function to check uninitialized</div><div class='del'>-	  object.  [ruby-talk:118234]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_path), io.c (rb_io_closed): check if initialized.</div><div class='del'>-</div><div class='del'>-Fri Oct 29 19:05:33 2004  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf: follow nkf2.0.</div><div class='del'>-</div><div class='del'>-Fri Oct 29 17:18:22 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_s_allocate): add prototype for Microsoft compiler.</div><div class='del'>-</div><div class='del'>-	* range.c (range_step, range_each): need cast.</div><div class='del'>-</div><div class='del'>-Fri Oct 29 16:34:19 2004  Daiki Ueno  &lt;ueno@unixuser.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-parse-partial): Parse the rest of the</div><div class='del'>-	  line after opening heredoc identifier.  [ruby-dev:24635]</div><div class='del'>-</div><div class='del'>-Fri Oct 29 11:35:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_append_print, rb_parser_while_loop): body node</div><div class='del'>-	  can be empty.  [ruby-dev:24628]</div><div class='del'>-</div><div class='del'>-Fri Oct 29 10:00:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): forget to free some memory chunks.</div><div class='del'>-	  [ruby-core:03611]</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): ruby_finalize_1 may cause exception,</div><div class='del'>-	  should be wrapped by PUSH_TAG/POP_TAG().  [ruby-dev:24627]</div><div class='del'>-</div><div class='del'>-Thu Oct 28 08:42:02 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_forward): use ANSI style.</div><div class='del'>-	  (argf_read): call argf_forward with argv argument.</div><div class='del'>-	  [ruby-dev:24624]</div><div class='del'>-</div><div class='del'>-Wed Oct 27 09:17:30 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): use a string object for exception safeness.</div><div class='del'>-	  [ruby-dev:24601]</div><div class='del'>-</div><div class='del'>-Wed Oct 27 07:38:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_TYPESHIFT): allow 4 more bits for line numbers.</div><div class='del'>-	  [ruby-talk:117841]</div><div class='del'>-</div><div class='del'>-	* ruby.h (FL_ABLE): nodes are not subject for flag operations.</div><div class='del'>-</div><div class='del'>-	* io.c (ARGF_FORWARD): should have specified argv explicitly,</div><div class='del'>-	  since we no longer have frame-&gt;argv saved.  [ruby-dev:24602]</div><div class='del'>-</div><div class='del'>-Tue Oct 26 23:30:39 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::Context::add_class_or_module):</div><div class='del'>-	  Restore correct :nopdoc: behavior with nested classes and modules.</div><div class='del'>-</div><div class='del'>-Tue Oct 26 18:21:29 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (RESIZE_CAPA): check string attribute before modifying</div><div class='del'>-	  capacity member of string structure.  [ruby-dev:24594]</div><div class='del'>-</div><div class='del'>-Tue Oct 26 11:33:26 2004  David G. Andersen  &lt;dga@lcs.mit.edu&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain</div><div class='del'>-	  performance.  [ruby-talk:117701]</div><div class='del'>-</div><div class='del'>-Tue Oct 26 10:56:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): raise ArgumentError for extra</div><div class='del'>-	  arguments, unless (digit)$ style used.</div><div class='del'>-</div><div class='del'>-Mon Oct 25 18:35:39 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (isUNCRoot): should check NUL after '.'.</div><div class='del'>-	  [ruby-dev:24590]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (isUNCRoot): fixed buffer overrun.</div><div class='del'>-</div><div class='del'>-Mon Oct 25 08:03:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (get_backtrace): ignore illegal backtrace.  [ruby-dev:24587]</div><div class='del'>-</div><div class='del'>-Sun Oct 24 00:40:50 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load, search_required, rb_require_safe, rb_require): use</div><div class='del'>-	  frozen shared string to avoid outside modification.  [ruby-dev:24580]</div><div class='del'>-</div><div class='del'>-Sat Oct 23 23:40:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_finalize): leave stdin/stdout/stderr open in</div><div class='del'>-	  interpreter termination.  [ruby-dev:24579]</div><div class='del'>-</div><div class='del'>-Sat Oct 23 22:18:32 2004  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_free): Guy Decoux solved the leak problem.</div><div class='del'>-	  Thanks.  [ruby-core:03549]</div><div class='del'>-</div><div class='del'>-Sat Oct 23 00:20:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_append_input): clear klass for z-&gt;input</div><div class='del'>-	  to avoid potential vulnerability.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run): always use zstream_append_input()</div><div class='del'>-	  to avoid SEGV.  [ruby-dev:24568]</div><div class='del'>-</div><div class='del'>-Fri Oct 22 12:02:28 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_alias): was warning for wrong condition.</div><div class='del'>-	  [ruby-dev:24565]</div><div class='del'>-</div><div class='del'>-Fri Oct 22 10:36:37 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):</div><div class='del'>-	  should check if path_info is not nil.</div><div class='del'>-</div><div class='del'>-Fri Oct 22 00:22:31 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_shift_buffer): should restore class</div><div class='del'>-	  field of a buffer.  [ruby-dev:24562]</div><div class='del'>-</div><div class='del'>-Fri Oct 22 00:20:33 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_include): should not treat char as negative value.</div><div class='del'>-	  [ruby-dev:24558]</div><div class='del'>-</div><div class='del'>-Thu Oct 21 21:32:30 2004  IWATSUKI Hiroyuki  &lt;don@na.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore#transaction): Use the empty content when a</div><div class='del'>-	  file is not found.  [ruby-dev:24561]</div><div class='del'>-</div><div class='del'>-Thu Oct 21 19:06:15 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):</div><div class='del'>-	  ensure to close @body. (http://bugs.debian.org/277520)</div><div class='del'>-</div><div class='del'>-Thu Oct 21 13:11:31 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): variable name "fpw" is conflicted.</div><div class='del'>-</div><div class='del'>-Thu Oct 21 00:36:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_alias): should warn on method discarding.</div><div class='del'>-	  [ruby-dev:24546]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer_into): hide internal</div><div class='del'>-	  string buffer by clearing klass.  [ruby-dev:24548]</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_getline): should not touch ruby_debug_lines if</div><div class='del'>-	  RIPPER is defined.  [ruby-dev:24547]</div><div class='del'>-</div><div class='del'>-Wed Oct 20 19:45:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): 	reentrant check.  [ruby-dev:24432]</div><div class='del'>-</div><div class='del'>-Wed Oct 20 12:42:53 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): rs modification check should not interfere</div><div class='del'>-	  in the loop.</div><div class='del'>-</div><div class='del'>-Wed Oct 20 10:31:33 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_getline): should update ruby_debug_lines.</div><div class='del'>-</div><div class='del'>-Wed Oct 20 04:17:55 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_delete_if): should check if deleting element</div><div class='del'>-	  is a string.  [ruby-dev:24490]</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (fsdbm_delete_if): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 20 01:37:18 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_times): Array#* should return an instance of</div><div class='del'>-	  the class of right operand.  [ruby-dev:24526]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_detach_buffer): should not expose</div><div class='del'>-	  class-less object to Ruby world. [ruby-dev:24530]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_dup): provide Proc#dup as well.  [ruby-talk:116915]</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec): stack marking position may be higher than</div><div class='del'>-	  expected.  thanks to Guy Decoux.  [ruby-core:03527]</div><div class='del'>-</div><div class='del'>-Wed Oct 20 00:25:41 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): required name must not be changed before</div><div class='del'>-	  loading.  [ruby-dev:24492]</div><div class='del'>-</div><div class='del'>-Tue Oct 19 23:59:46 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_require_safe): provide the feature after loaded.</div><div class='del'>-	  [ruby-list:40085]</div><div class='del'>-</div><div class='del'>-Tue Oct 19 22:43:12 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_attr): If</div><div class='del'>-	  we come across 'attr' in a context where it isn't</div><div class='del'>-	  followed by a symbol, just issue a warning.</div><div class='del'>-</div><div class='del'>-Tue Oct 19 20:32:50 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole.c(ole_invoke): retrieve the result value when</div><div class='del'>-	  retrying the IDispatch::invoke.</div><div class='del'>-</div><div class='del'>-Tue Oct 19 17:24:11 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): block string buffer modification during</div><div class='del'>-	  rb_io_fread() by freezing it temporarily. [ruby-dev:24479]</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): block call at once the end of method.</div><div class='del'>-	  [ruby-dev:24487]</div><div class='del'>-</div><div class='del'>-	* ext/enumerator/enumerator.c (enum_each_slice): remove</div><div class='del'>-	  rb_gc_force_recycle() to prevent potential SEGV.</div><div class='del'>-	  [ruby-dev:24499]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer): hide internal string</div><div class='del'>-	  buffer by clearing klass.  [ruby-dev:24510]</div><div class='del'>-</div><div class='del'>-Tue Oct 19 08:47:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): method result must be checked.  [ruby-dev:24504]</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): ditto.  [ruby-dev:24519]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 23:37:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): check inheritance by the internal function.</div><div class='del'>-	  [ruby-dev:24515]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 11:29:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flags_mode, rb_io_mode_flags): distinguish whether file</div><div class='del'>-	  not existing is created.  [ruby-dev:24505]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 07:26:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): discard read buffer before truncation.</div><div class='del'>-	  [ruby-dev:24197]</div><div class='del'>-</div><div class='del'>-Mon Oct 18 01:56:03 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#initialize):</div><div class='del'>-	  initial value of accpet-* should be array.</div><div class='del'>-</div><div class='del'>-Mon Oct 18 00:42:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyaname): protocol string</div><div class='del'>-	  might be altered.  [ruby-dev:24503]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): check if return value from succ is a</div><div class='del'>-	  string.  [ruby-dev:24504]</div><div class='del'>-</div><div class='del'>-Sun Oct 17 23:03:48 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block</div><div class='del'>-</div><div class='del'>-Sun Oct 17 12:53:46 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_func_methods): correct argument mismatch.</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_get_methods): ditto.</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_put_methods): ditto.</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb: add test for WIN32OLE#ole_func_methods</div><div class='del'>-	  WIN32OLE#ole_get_methods, WIN32OLE#ole_put_methods</div><div class='del'>-</div><div class='del'>-Sat Oct 16 14:45:28 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss#to_s): removed garbage.</div><div class='del'>-</div><div class='del'>-Sat Oct 16 13:42:49 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/: untabified.</div><div class='del'>-	* test/rss/: untabified.</div><div class='del'>-	* lib/rss/0.9.rb (RSS::Rss#to_s): inent -&gt; indent.</div><div class='del'>-</div><div class='del'>-Sat Oct 16 13:34:56 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss: supported prety print.</div><div class='del'>-	* test/rss/test_1.0.rb: added test for calculating default indent size.</div><div class='del'>-</div><div class='del'>-Sat Oct 16 10:56:36 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): install-rb is needed for statically</div><div class='del'>-	  linked extensions.  [ruby-dev:24491]</div><div class='del'>-</div><div class='del'>-Fri Oct 15 18:07:08 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c</div><div class='del'>-	  (ossl_x509stctx_initialize): setup OpenSSL::X509::StoreContext with</div><div class='del'>-	  ossl_x509stctx_* functions instead of X509_STORE_CTX_*.</div><div class='del'>-	  (ossl_x509store_set_time): add OpenSSL::X509::Store#time=.</div><div class='del'>-	  (ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.</div><div class='del'>-</div><div class='del'>-	* test/openssl/ossl_x509store.rb: test certificate validity times.</div><div class='del'>-</div><div class='del'>-Fri Oct 15 18:04:35 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is</div><div class='del'>-	  acceptable. Add TkTimer.start ( == new + start ).</div><div class='del'>-</div><div class='del'>-Fri Oct 15 12:43:09 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_stack): make prototype declaration consistent with</div><div class='del'>-	  the definition in gc.c.</div><div class='del'>-</div><div class='del'>-Thu Oct 14 13:33:59 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: added link to Tutorial.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 21:22:50 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb:</div><div class='del'>-	  add WEBrick::Config::FileHandler[:AcceptableLanguages].</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::FileHandler#set_filename): search files</div><div class='del'>-	  having suffix of language-name which Accept-Language header field</div><div class='del'>-	  includes if :AcceptableLanguages options is present.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to</div><div class='del'>-	  search servlet correspond to the suffix of filename.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb: add attributes access methods: accept,</div><div class='del'>-	  accept_charset, accept_encoding, accept_language, content_length</div><div class='del'>-	  and content_type.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb: add attribute access methods:</div><div class='del'>-	  content_length, content_length=, content_type and content_type=.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types):</div><div class='del'>-	  use the second suffix to detect media type. (the first suffix</div><div class='del'>-	  may be a language name.)</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_qvalues):</div><div class='del'>-	  add method to parse Accept header field. it returns an Array of</div><div class='del'>-	  values sorted by the qvalues.</div><div class='del'>-</div><div class='del'>-Tue Oct 12 15:05:32 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (MODE_BINMODE, MODE_BINARY): fixed reversed condition.</div><div class='del'>-</div><div class='del'>-Mon Oct 11 17:51:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_popen): get mode string via rb_io_flags_mode() to</div><div class='del'>-	  avoid mode string modification.  [ruby-dev:24454]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_fast): should take delim as unsigned char to</div><div class='del'>-	  distinguish EOF and '\377'.  [ruby-dev:24460]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): add check for RS modification.</div><div class='del'>-	  [ruby-dev:24461]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): use qsort() directly instead using</div><div class='del'>-	  rb_iterate().  [ruby-dev:24462]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_with_index): remove rb_gc_force_recycle() to</div><div class='del'>-	  prevent access to recycled object (via continuation for</div><div class='del'>-	  example).  [ruby-dev:24463]</div><div class='del'>-</div><div class='del'>-Mon Oct 11 13:48:20 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/*: untabify</div><div class='del'>-</div><div class='del'>-Sun Oct 10 12:32:08 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Allow 'require'</div><div class='del'>-	  to be used as a variable name</div><div class='del'>-</div><div class='del'>-Sun Oct 10 02:49:14 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/filter.rb: require ripper/tokenizer.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/filter.rb (parse): argument is optional.</div><div class='del'>-</div><div class='del'>-Sun Oct 10 02:43:13 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: \n between two comments disappeared.</div><div class='del'>-</div><div class='del'>-Sat Oct  9 21:23:37 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/converter.rb: changed to try to use Iconv for default</div><div class='del'>-	  conversion.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: 0.0.9 -&gt; 0.1.0.</div><div class='del'>-</div><div class='del'>-Sat Oct  9 19:50:36 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): should not treat char as negative value.</div><div class='del'>-	  [ruby-dev:24460]</div><div class='del'>-</div><div class='del'>-Sat Oct  9 00:25:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fread): rb_thread_wait_fd() was lost.</div><div class='del'>-	  [ruby-dev:24457]</div><div class='del'>-</div><div class='del'>-Fri Oct  8 21:36:56 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_traverse): return value of Dir.entries is</div><div class='del'>-	  reliable. (pass $SAFE=1)</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_dir): return value of Dir.foreach is</div><div class='del'>-	  reliable. (pass $SAFE=1)</div><div class='del'>-</div><div class='del'>-Fri Oct  8 09:49:32 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): pointer modification check before each</div><div class='del'>-	  iteration.  [ruby-dev:24445]</div><div class='del'>-</div><div class='del'>-Fri Oct  8 01:13:05 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/optiondb.rb: make it more secure</div><div class='del'>-</div><div class='del'>-Thu Oct  7 23:47:57 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/scrollbar.rb: When 'set' operation, a scrollbar</div><div class='del'>-	  cannot propagate view port information from the source widget</div><div class='del'>-	  (that calls 'set') to other assigned widgets.</div><div class='del'>-</div><div class='del'>-Thu Oct  7 17:36:25 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: When CHILDKILLED and so on, Tk.errorCode returns</div><div class='del'>-	  a Fixnum for 2nd element (it's pid) of the return value.</div><div class='del'>-</div><div class='del'>-Thu Oct  7 12:55:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): should freeze buffer before thread context</div><div class='del'>-	  switch. [ruby-dev:24442]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): string conversion should at the top of the</div><div class='del'>-	  method.  [ruby-dev:24439]</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): buffer should be frozen only after the length</div><div class='del'>-	  check.  [ruby-dev:24440]</div><div class='del'>-</div><div class='del'>-Thu Oct  7 02:56:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: use FMODE_APPEND.</div><div class='del'>-</div><div class='del'>-Thu Oct  7 01:05:33 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode</div><div class='del'>-</div><div class='del'>-Thu Oct  7 00:08:37 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_sysopen): preserve path in the buffer allocated by</div><div class='del'>-	  ALLOCA_N() to prevent modification.  [ruby-dev:24438]</div><div class='del'>-</div><div class='del'>-Wed Oct  6 09:21:00 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_mode_flags): preserve append mode flag.</div><div class='del'>-	  [ruby-dev:24436]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_modenum_mode): do not use external output buffer.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): differ pointer retrieval to prevent</div><div class='del'>-	  padding string modification.  [ruby-dev:24434]</div><div class='del'>-</div><div class='del'>-	* range.c (range_each_func): allow func to terminate loop by</div><div class='del'>-	  returning RANGE_EACH_BREAK.</div><div class='del'>-</div><div class='del'>-	* range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]</div><div class='del'>-</div><div class='del'>-Tue Oct  5 09:53:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fopen): mode string copy at the lowest level.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flags_mode): requires output buffer no more.  no</div><div class='del'>-	  allocation needed.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_index): takes a block to compare items in an</div><div class='del'>-	  array.  [ruby-talk:113069] [Ruby2]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_rindex): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  4 14:03:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_open_internal, rb_io_reopen): fname might be altered</div><div class='del'>-	  while GC.  [ruby-dev:24408]</div><div class='del'>-</div><div class='del'>-Mon Oct  4 12:53:45 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/optiondb.rb: support definition of command</div><div class='del'>-	  resources on widgets</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/image.rb: bug fix</div><div class='del'>-</div><div class='del'>-Sun Oct  3 21:16:05 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (TEXT_REGEXP): allow 8-bit characters for the german</div><div class='del'>-	  version of Microsoft Exchange Server.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (RTEXT_REGEXP): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (CTEXT_REGEXP): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  2 20:34:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (local_vars): moved to struct parser_params.</div><div class='del'>-	  [ruby-dev:24391]</div><div class='del'>-</div><div class='del'>-	* parser.y (stmts): remove suspicious NODE_BEGIN.  [ruby-dev:24390]</div><div class='del'>-</div><div class='del'>-	* node.h (NEW_DVAR): extra semicolon.</div><div class='del'>-</div><div class='del'>-Sat Oct  2 00:42:20 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_byte): retrieve pointer from string value for each</div><div class='del'>-	  time.  [ruby-dev:24404]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes0): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (sort_by_i): re-entrance check added.  [ruby-dev:24399]</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): should freeze all reading buffer.</div><div class='del'>-	  [ruby-dev:24400]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): should use bignums when bits is greater</div><div class='del'>-	  than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]</div><div class='del'>-</div><div class='del'>-	* eval.c (specific_eval): defer pointer retrieval to prevent</div><div class='del'>-	  unsafe sourcefile string modification.  [ruby-dev:24382]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): wrong cast caused wrong result.</div><div class='del'>-	  [ruby-dev:24385]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): hide temporary array from</div><div class='del'>-	  ObjectSpace.each_object.  [ruby-dev:24386]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): check was done with false pointer.</div><div class='del'>-	  [ruby-dev:24383]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): string may be altered.  [ruby-dev:24381]</div><div class='del'>-</div><div class='del'>-Fri Oct  1 11:40:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe</div><div class='del'>-	  sourcefile string modification.  [ruby-dev:24373]</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): block string buffer modification during</div><div class='del'>-	  rb_io_fread() by freezing it temporarily. [ruby-dev:24366]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): mode argument may be altered.</div><div class='del'>-	  [ruby-dev:24375]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): ext argument may be altered.</div><div class='del'>-	  [ruby-dev:24377]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): use NODE instead of 2 element arrays.</div><div class='del'>-	  [ruby-dev:24378]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_chomp_bang): StringValue() may change the</div><div class='del'>-	  receiver.  [ruby-dev:24371]</div><div class='del'>-</div><div class='del'>-Fri Oct  1 11:25:20 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/grid.rb: revive TkGrid.grid</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/pack.rb: revive TkPack.pack</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/place.rb: revive TkPlace.place</div><div class='del'>-</div><div class='del'>-Thu Sep 30 00:50:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_init): bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a</div><div class='del'>-	  matting pattern argument</div><div class='del'>-</div><div class='del'>-Wed Sep 29 10:58:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (sort_by_i): internally used object must not be changed</div><div class='del'>-	  outside.  [ruby-dev:24368]</div><div class='del'>-</div><div class='del'>-Mon Sep 27 21:25:12 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): invoke finalizers periodically.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): defer running finalizers.  [ruby-dev:24354]</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_finalize_deferred): run deferred finalizers.</div><div class='del'>-</div><div class='del'>-Mon Sep 27 15:01:59 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: missing ';'.</div><div class='del'>-</div><div class='del'>-Mon Sep 27 13:46:45 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h, struct.c (rb_struct_s_members, rb_struct_members): public</div><div class='del'>-	  accessors.  [ruby-dev:24342]</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, r_object0): use accessors.</div><div class='del'>-</div><div class='del'>-Mon Sep 27 09:14:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): comparison may change the capacity.</div><div class='del'>-	  [ruby-dev:24348]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): fill should honor length argument.</div><div class='del'>-	  [ruby-dev:24346]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_replace): should not use ptr from shared array.</div><div class='del'>-	  [ruby-dev:24345]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.</div><div class='del'>-	  [ruby-talk:113807]</div><div class='del'>-</div><div class='del'>-Sun Sep 26 08:05:10 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: provides {Time,Date,DateTime}#to_{time,date,datetime}.</div><div class='del'>-</div><div class='del'>-	* sample/cal.rb: uses getoptlong instead of getopts.</div><div class='del'>-</div><div class='del'>-Sat Sep 25 18:39:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): element size might change during comparison.</div><div class='del'>-	  [ruby-dev:24343]</div><div class='del'>-</div><div class='del'>-Sat Sep 25 01:52:49 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_members): wrong call of struct_members.</div><div class='del'>-	  [ruby-dev:24333]</div><div class='del'>-</div><div class='del'>-Fri Sep 24 16:09:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): propagate DVAR_DONT_RECYCLE on termination</div><div class='del'>-	  to avoid double call to rb_gc_force_recycle(). [ruby-dev:24311]</div><div class='del'>-</div><div class='del'>-Fri Sep 24 08:29:45 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_append_print): should handle prelude.</div><div class='del'>-	  [llama@u01.gate0]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_while_loop): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subseq): original object might be modified after</div><div class='del'>-	  sharing data creation.  [ruby-dev:24327]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_replace): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_members): always check struct size and size of</div><div class='del'>-	  members list in the class.  [ruby-dev:24320]</div><div class='del'>-</div><div class='del'>-Thu Sep 23 19:48:14 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/Makefile.dev: removed.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/ripper.rb.in: moved to lib/ripper/core.rb.in.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb.in: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-ripper_rb.rb: change comment.</div><div class='del'>-</div><div class='del'>-	* test/ripper/*.rb: on__scan event removed.</div><div class='del'>-</div><div class='del'>-	* test/ripper/*.rb: event name is changed: on__XXX -&gt; on_XXX.</div><div class='del'>-</div><div class='del'>-Thu Sep 23 09:29:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): check if string is not modified</div><div class='del'>-	  during iteration.  [ruby-dev:24315]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_rehash): replace st_foreach() by its deep</div><div class='del'>-	  checking counterpart.  [ruby-dev:24310]</div><div class='del'>-</div><div class='del'>-Wed Sep 22 14:21:54 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: on__scan event removed.</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: event name is changed: on__XXX -&gt; on_XXX.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/ripper.rb.in: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/tokenizer: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/filter: new file.</div><div class='del'>-</div><div class='del'>-	* sample/ripper/colorize.rb: new file.</div><div class='del'>-</div><div class='del'>-	* sample/ripper/strip-comment.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 13:50:49 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_alloc): was using tbl pointer without</div><div class='del'>-	  initialization.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 13:38:12 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_rehash): add iteration check.  [ruby-dev:24301]</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): add deep check.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch): returns KeyError instead of IndexError.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_fetch): ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 13:02:02 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_call_handler): workaround for Ctrl-C.</div><div class='del'>-</div><div class='del'>-Wed Sep 22 09:04:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove global variables ruby_eval_tree and</div><div class='del'>-	  ruby_eval_tree_begin.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_collect_bang): element size might change during</div><div class='del'>-	  comparison.  [ruby-dev:24300]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reject_bang): ditto. [ruby-dev:24300]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_eql): ditto. [ruby-dev:24300]</div><div class='del'>-</div><div class='del'>-Wed Sep 22 00:11:12 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Add documentation for fork()</div><div class='del'>-</div><div class='del'>-Tue Sep 21 18:29:49 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): element size might change during</div><div class='del'>-	  comparison.  [ruby-dev:24298]</div><div class='del'>-</div><div class='del'>-Mon Sep 20 17:46:51 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/tokenizer.rb: fix typo.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 17:38:43 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: tokens must be reordered.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/tokenizer.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 16:58:16 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: do not delay dispatching.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/tokenizer.rb: sort tokens by right order.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 15:17:47 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/tokenizer.rb: new file.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 15:13:52 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: test #lineno and #column.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 14:50:17 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: delayed heredocument events should be</div><div class='del'>-	  dispatched after EOF.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 14:39:42 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: adjust lineno and columns for multi-line</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: delay heredocument events until seeing</div><div class='del'>-	  end-of-line.</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: event on__heredoc_contentn -&gt;</div><div class='del'>-	  on__tstring_content.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: sync with eventids2.c.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: test it.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-ripper_rb.rb: show basename of input.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/Makefile.dev: support objdir build.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 13:22:55 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: remove Ripper#pos.</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: Ripper#column should return the column of the</div><div class='del'>-	  current token.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 12:02:41 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: unify old_lex_p and token_head.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: now \r\n is saved correctly.</div><div class='del'>-</div><div class='del'>-	* parse.y: new macro lex_goto_eol() for next change.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 11:01:55 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: adjust line number for heredoc.  [ruby-dev:24272]</div><div class='del'>-</div><div class='del'>-Mon Sep 20 04:49:22 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/ripper.rb.in: new const Ripper::PARSER_EVENT_TABLE.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/ripper.rb.in: new const Ripper::SCANNER_EVENT_TABLE.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 04:13:00 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: test spaces before heredoc</div><div class='del'>-	  mark.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 03:46:54 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: spaces before heredoc marker was lost.</div><div class='del'>-	  [ruby-dev:24272]</div><div class='del'>-</div><div class='del'>-	* keywords: rb_reserved_word() should be defined only in ruby</div><div class='del'>-	  core.  [ruby-dev:24272]</div><div class='del'>-</div><div class='del'>-	* lex.c: sync with keywords.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/ripper.rb.in (parse): fix typo.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 03:37:59 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_read_raw): call readpartial at first.</div><div class='del'>-	  (Zlib::GzipReader#readpartial): new method.</div><div class='del'>-</div><div class='del'>-Mon Sep 20 00:24:19 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): do not use qsort directly.  use</div><div class='del'>-	  rb_ary_sort_bang() instead.  [ruby-dev:24291]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): pedantic type check added.</div><div class='del'>-	  [ruby-dev:24291]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_foreach_iter): check iter_lev after each</div><div class='del'>-	  iteration.  [ruby-dev:24289]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_and): element size might change during</div><div class='del'>-	  comparison.  [ruby-dev:24290]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): ditto. [ruby-dev:24292]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]</div><div class='del'>-</div><div class='del'>-Sat Sep 18 15:02:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_equal): element size might change during</div><div class='del'>-	  comparison.  [ruby-dev:24254]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_diff): ditto. [ruby-dev:24274]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select): ditto. [ruby-dev:24278]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): ditto. [ruby-dev:24283]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_rindex): ditto. [ruby-dev:24275]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize): element size might change during</div><div class='del'>-	  initializing block.  [ruby-dev:24284]</div><div class='del'>-</div><div class='del'>-Sat Sep 18 14:10:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_chdir): avoid memory leak and unnecessary chdir to</div><div class='del'>-	  the original directory when exception has caused in changing</div><div class='del'>-	  directory or within block.  thanks to Johan Holmberg</div><div class='del'>-	  &lt;holmberg@iar.se&gt; [ruby-core:03446]</div><div class='del'>-</div><div class='del'>-Fri Sep 17 20:29:33 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: add prototypes for Microsoft compiler.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (parse.obj): lex.c exists at hdrdir.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (YACC, YFLAGS, parse.c):</div><div class='del'>-	  use bison.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 17:11:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): element comparison might change array</div><div class='del'>-	  size. [ruby-dev:24273]</div><div class='del'>-</div><div class='del'>-	* parse.y: make ruby parser reentrant. merge ripper parser to the</div><div class='del'>-	  real one.  this change makes ruby require bison.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): clear stdio buffer before truncating</div><div class='del'>-	  the file.  [ruby-dev:24191]</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF</div><div class='del'>-	  which might return singleton class.  [ruby-dev:24202]</div><div class='del'>-</div><div class='del'>-Fri Sep 17 16:07:09 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: improve exit operation</div><div class='del'>-</div><div class='del'>-Fri Sep 17 15:01:57 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or</div><div class='del'>-	  (thread_)tkwait</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add alias wait_window to wait_destroy</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: support calling 'mainloop' on slave</div><div class='del'>-	  interpreters (however, the 'real' eventloop must be run on the</div><div class='del'>-	  Default Master IP)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/remote-ip_sample2.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkoptdb-safeTk.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Sep 16 18:12:13 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USER</div><div class='del'>-	  to request.user attribute.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::FileHandler#initialize): should expand</div><div class='del'>-	  the pathname of document root directory.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 15:49:28 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): protect string argument from GC.</div><div class='del'>-	  [ruby-core:03411]</div><div class='del'>-</div><div class='del'>-Wed Sep 15 20:22:23 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkoptdb-safeTk.rb: fix a bug depend on the changes</div><div class='del'>-	  of MultiTkIp</div><div class='del'>-</div><div class='del'>-Tue Sep 14 23:54:11 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by</div><div class='del'>-	  the previous changes.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 23:45:44 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::TextFormatter.for):</div><div class='del'>-	  Add Eric Hodel's simpleformatter.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 22:11:08 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: Add rdoc.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 20:24:49 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y [ripper]: space event is on__sp, not on__lwsp.</div><div class='del'>-	  [ruby-dev:24257]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (ripper.o): No action is needed.</div><div class='del'>-	  [ruby-dev:24260]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: Borland make does not accept pipes in</div><div class='del'>-	  Makefile rules. [ruby-dev:24589]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: separate rules for developpers.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/Makefile.dev: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/MANIFEST: add Makefile.dev.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-eventids1.rb: read from file, not</div><div class='del'>-	  stdin.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb: clean ripper.E.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-ripper_rb.rb: #include ids1/ids2</div><div class='del'>-	  function was lost.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-ripper_rb.rb: SCANNER_EVENTS wrongly</div><div class='del'>-	  contained parser events.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 16:59:37 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix SEGV</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/safe-tk.rb: new sample script</div><div class='del'>-</div><div class='del'>-Mon Sep 13 21:33:40 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional</div><div class='del'>-	  second argument to specify the output format (see also</div><div class='del'>-	   X509_NAME_print_ex).</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:</div><div class='del'>-	  OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,</div><div class='del'>-	  OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):</div><div class='del'>-	  new module to provide the parse for RFC2253 DN format.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):</div><div class='del'>-	  new method to parse RFC2253 DN format.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 19:16:33 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (blk_copy_prev): need frame_dup().  [ruby-dev:24103]</div><div class='del'>-</div><div class='del'>-Mon Sep 13 16:23:27 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept</div><div class='del'>-	  safe-level value argument</div><div class='del'>-</div><div class='del'>-Mon Sep 13 10:48:37 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getpid): don't need to use _getpid() on</div><div class='del'>-	  mswin32 and mingw32.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 10:22:05 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (nil_inspect): fix typo.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 09:29:58 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: (nmake hack) prepend "./" to ripper.c to</div><div class='del'>-	  avoid {$(srcdir)}.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 06:43:42 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-parse-event-ids.rb: does not use getopts.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-scan-event-ids.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 02:42:28 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Setup: add ripper.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.atheos: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.dj: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.emx: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.nt: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.x68: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 02:26:31 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper: ripper extension added.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/MANIFEST: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/README: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/ripper.rb.in: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/check-event-arity.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/check-event-coverage.sh: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/check-scanner-event-coverage.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/list-called-events.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/src_rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/test/validate.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-eventids1.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-param-macros.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate-ripper_rb.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-parse-event-ids.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/list-scan-event-ids.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/preproc.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/strip.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ripper: ripper tests added.</div><div class='del'>-</div><div class='del'>-	* test/ripper/dummyparser.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_parser_events.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: new file.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 01:03:02 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkip</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: store original 'exit' command</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c: fix(?) SEGV</div><div class='del'>-</div><div class='del'>-Mon Sep 13 00:22:53 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix file header.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 00:20:39 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: ripper merged.</div><div class='del'>-</div><div class='del'>-	* lex.c: ditto.</div><div class='del'>-</div><div class='del'>-	* keywords: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 12 23:53:17 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strdup): remove unnecessary code. (xmalloc never</div><div class='del'>-	  returns NULL.)</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_getcwd): fix memory leak on failure.</div><div class='del'>-</div><div class='del'>-Sun Sep 12 02:41:58 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and</div><div class='del'>-	  allow_ruby_exit=</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/MANUAL.euc: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/MANUAL.eng: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix some reasons of SEGV</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 11 16:09:46 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Fix up cross-file class merging.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 20:18:05 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_merge_tklist): fix suspicious</div><div class='del'>-	  pointer conversion.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 19:16:24 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: bccwin32 port starts to use RTL dll.</div><div class='del'>-	  (need to rebuild all) [ruby-dev:24138]</div><div class='del'>-</div><div class='del'>-	* win32/win32.{h,c}: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 15:55:59 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mkdir_p): should pass mode argument to</div><div class='del'>-	  Dir.mkdir. [ruby-dev:24242]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: test it.</div><div class='del'>-</div><div class='del'>-Fri Sep 10 02:43:54 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/kilmer.rb: James Buck's</div><div class='del'>-	  patch for call-seq.</div><div class='del'>-</div><div class='del'>-Thu Sep  9 13:58:56 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_init): change flag value for setting</div><div class='del'>-	  'argv' and 'argv0' variable</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: follow changes of multi-tk.rb</div><div class='del'>-</div><div class='del'>-Thu Sep  9 11:46:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_classes): Allow</div><div class='del'>-	  spaces aroun parameter to define_method_under (James Buck)</div><div class='del'>-</div><div class='del'>-Wed Sep  8 18:44:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): zero fill a gap if exsts.</div><div class='del'>-	  [ruby-dev:24190]</div><div class='del'>-</div><div class='del'>-Wed Sep  8 15:19:49 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_init): cannot create a IP at level 4</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: improve 'exit' operation, security check,</div><div class='del'>-	  and error treatment</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: allow a trusted slave IP to create slave IPs</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/listbox.rb: add TkListbox#value, value=, clear,	and</div><div class='del'>-	  erase</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: add TkText#clear and erase</div><div class='del'>-</div><div class='del'>-Tue Sep  7 15:17:49 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect): break immediately if a</div><div class='del'>-	  socket is non-blocking.  [ruby-talk:111654]</div><div class='del'>-</div><div class='del'>-Tue Sep  7 12:48:22 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.</div><div class='del'>-</div><div class='del'>-	* win32/win32.[ch] (fcntl): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_connect): support nonblocking mode.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (wait_connectable, ruby_connect): support</div><div class='del'>-	  nonblocking connect on various platforms.</div><div class='del'>-</div><div class='del'>-Mon Sep  6 11:00:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_chdir): the patch to shut up false warning when</div><div class='del'>-	  exception occurred within a block.  a patch was given from Johan</div><div class='del'>-	  Holmberg &lt;holmberg at iar.se&gt;.  [ruby-core:03292]</div><div class='del'>-</div><div class='del'>-Mon Sep  6 10:57:40 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menu.rb(TkOptionMenubutton#insert): call correct method</div><div class='del'>-</div><div class='del'>-Mon Sep  6 07:51:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (cvar_cbase): singletons should refer to outer cvar scope.</div><div class='del'>-	  [ruby-dev:24223]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): should preserve previous ruby_wrapper value.</div><div class='del'>-	  [ruby-dev:24226]</div><div class='del'>-</div><div class='del'>-Sat Sep  4 01:14:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (cvar_cbase): class variables cause SEGV in</div><div class='del'>-	  instance_eval() for fixnums and symbols. [ruby-dev:24213]</div><div class='del'>-</div><div class='del'>-Fri Sep  3 17:47:58 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): remove redefining constant when</div><div class='del'>-	  conflict.  [ruby-dev:24210]</div><div class='del'>-</div><div class='del'>-Fri Sep  3 11:31:44 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: Tk.after makes TkCore::INTERP.tk_cmd_tbl grow</div><div class='del'>-	  [ruby-dev:24207]</div><div class='del'>-</div><div class='del'>-Fri Sep  3 02:12:48 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix typo [ruby-talk:111266]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: fix typo</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: improve safe-level treatment on slave IPs</div><div class='del'>-</div><div class='del'>-Fri Sep  3 01:54:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): extact target prefix from Makefiles.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: already built-in libraries satisfy dependencies.</div><div class='del'>-	  [ruby-dev:24028]</div><div class='del'>-</div><div class='del'>-Wed Sep  1 21:16:50 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/spinbox.rb: fix typo</div><div class='del'>-</div><div class='del'>-Wed Sep  1 19:28:37 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): label cannot precede variable declarations.</div><div class='del'>-</div><div class='del'>-Tue Aug 31 18:20:49 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c (cbsubst_init): fix memory leak</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV</div><div class='del'>-</div><div class='del'>-Tue Aug 31 16:04:22 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_delete): when a tcltkip is deleted,</div><div class='del'>-	  destroy its root widget</div><div class='del'>-</div><div class='del'>-Tue Aug 31 12:30:36 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (del_root): fix SEGV</div><div class='del'>-</div><div class='del'>-Mon Aug 30 21:50:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Add RDoc for Module.included.</div><div class='del'>-</div><div class='del'>-Mon Aug 30 23:11:06 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_driver.rb (and others): ri now merges documentation</div><div class='del'>-	  if it finds the same class in multiple places.</div><div class='del'>-</div><div class='del'>-Mon Aug 30 22:40:30 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: 'restart' method accepts arguments</div><div class='del'>-</div><div class='del'>-Mon Aug 30 15:10:46 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (GNU/k*BSD): fixed FTBFS on GNU/k*BSD. [ruby-dev:24051]</div><div class='del'>-</div><div class='del'>-Sun Aug 29 14:08:56 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: compile error on bcc32 [ruby-dev:24081]</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string does not work</div><div class='del'>-</div><div class='del'>-Sat Aug 28 23:04:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): protect parameters from GC.</div><div class='del'>-	  [ruby-talk:110664]</div><div class='del'>-</div><div class='del'>-Fri Aug 27 12:13:50 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (Init_stringio): add StringIO#readpartial as</div><div class='del'>-	  an alias for StringIO#sysread.</div><div class='del'>-</div><div class='del'>-Fri Aug 27 10:14:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): strip trailing spaces.  [ruby-dev:24143]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 26 04:38:29 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (return_jump): Minor typo in error message. Now reads</div><div class='del'>-	  "return can't jump across threads".</div><div class='del'>-</div><div class='del'>-Wed Aug 25 15:18:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): Exception#to_str is no longer defined.</div><div class='del'>-</div><div class='del'>-Wed Aug 25 11:39:10 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): exceptions are equal if they share same</div><div class='del'>-	  class, message and backtrace. [ruby-talk:110354]</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_equal): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 16:41:48 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::FileStore#initialize): do not</div><div class='del'>-	  use a session id as a filename.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): use</div><div class='del'>-	  Dir::tmpdir.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 14:32:17 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::FileStore#initialize): untaint</div><div class='del'>-	  session id after check.</div><div class='del'>-</div><div class='del'>-Tue Aug 24 08:57:51 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): d2i</div><div class='del'>-	  functions may replace the pointer indicated by the first argument.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 23 12:43:32 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Config.default_config_hash): when multiple domains</div><div class='del'>-	  are set, Win32::Resolv.get_resolv_info returns Array.</div><div class='del'>-</div><div class='del'>-Sun Aug 22 16:27:38 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read):</div><div class='del'>-	  - should return an empty string if specified length to read is 0.</div><div class='del'>-	  - should check for pending data and wait for fd before reading.</div><div class='del'>-	  - call underlying IO's sysread if SSL session is not started.</div><div class='del'>-	  [ruby-dev:24072], [ruby-dev:24075]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_write):</div><div class='del'>-	  - call underlying IO's syswrite if SSL session is not started.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_pending): new method</div><div class='del'>-	  OpenSSL::SSL#pending.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: should not use select.</div><div class='del'>-</div><div class='del'>-Sun Aug 22 01:10:36 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):</div><div class='del'>-	  should call :ProxyContentHandler before finishing CONNECT.</div><div class='del'>-</div><div class='del'>-Sat Aug 21 06:41:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'</div><div class='del'>-	  uniformly.  [ruby-dev:24118]</div><div class='del'>-</div><div class='del'>-Fri Aug 20 14:49:42 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_writable): no need to check read buffer if</div><div class='del'>-	  already changed to write mode.</div><div class='del'>-</div><div class='del'>-Fri Aug 20 11:46:43 2004  UENO Katsuhiro  &lt;katsu@blue.sky.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: GzipReader#ungetc caused crc error.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 16:29:45 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: Fail to treat a hash value of 'font' option.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bindinfo cannot return '%' substiturion information.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/menu.rb: typo bug.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 15:15:24 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (free_dir): fix memory leak.  reported by yamamoto</div><div class='del'>-	  madoka.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 09:19:27 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (LIBS): need to link shell32</div><div class='del'>-	  library for SH* functions on mswin32 and mingw32.</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub (LIBS): need to link ceshell library for SH*</div><div class='del'>-	  functions on mswince.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 03:07:00 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/baseemitter.rb: folding now handles double-quoted strings,</div><div class='del'>-	  fixed problem with extra line feeds at end of folding, whitespace</div><div class='del'>-	  opening scalar blocks.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: subtelties in handling strings with</div><div class='del'>-	  non-printable characters and odd whitespace patterns.</div><div class='del'>-</div><div class='del'>-Wed Aug 18 23:44:20 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (rbuf_fill): OpenSSL::SSLSocket has its own</div><div class='del'>-	  buffer, select(2) might not work. [ruby-dev:24072]</div><div class='del'>-</div><div class='del'>-Wed Aug 18 17:10:12 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/stubs.c (ruby_tcltk_stubs): need to call</div><div class='del'>-	  Tcl_FindExecutable() for Tcl/Tk 8.4.</div><div class='del'>-</div><div class='del'>-Wed Aug 18 12:52:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_eval): evaluates under special singleton</div><div class='del'>-	  classes as for special constants.</div><div class='del'>-</div><div class='del'>-Wed Aug 18 11:22:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_env): initialize HOME and USER environment</div><div class='del'>-	  variables unless set.</div><div class='del'>-</div><div class='del'>-Wed Aug 18 10:17:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (bind_eval): new method. [RCR 251]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_clear): new method. [ruby-dev:24104]</div><div class='del'>-</div><div class='del'>-Tue Aug 17 17:20:59 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): should clear allocated OpenFile.  pointed</div><div class='del'>-	  out by Guy Decoux. [ruby-core:03288]</div><div class='del'>-</div><div class='del'>-Tue Aug 17 01:36:32 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb: Remove extra indent. Tidy 'ri' option</div><div class='del'>-	  parsing so RDoc::usage plays better with OptionParser.</div><div class='del'>-</div><div class='del'>-Sat Aug 14 02:48:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/usage.rb: Added. Allows command line programs</div><div class='del'>-	  to report usage using their initial RDoc comment.</div><div class='del'>-</div><div class='del'>-Sat Aug 14 01:25:48 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: re2c no longer compiled with bit vectors.  caused</div><div class='del'>-	  problems for non-ascii characters. [ruby-core:03280]</div><div class='del'>-	* ext/syck/implicit.c: ditto.</div><div class='del'>-	* ext/syck/bytecode.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 13 12:55:20 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):</div><div class='del'>-	  fix regex for range-spec.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content):</div><div class='del'>-	  multipart/byteranges response was broken.</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb: refine example code.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 10:54:17 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h (rb_eof_error): should mark as NORETURN.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (make_cmdvector): adjust escaped successive</div><div class='del'>-	  double-quote handling.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 01:53:10 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_buffered_data): extracted from rb_io_fread.</div><div class='del'>-	  (io_readpartial): new method IO#readpartial.</div><div class='del'>-	  [ruby-dev:24055]</div><div class='del'>-</div><div class='del'>-Wed Aug 11 17:17:50 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 15:03:20 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/erbhandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type</div><div class='del'>-	  by suffix of script filename.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 12:51:43 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): Roll in Austin Ziegler's Dir.glob and</div><div class='del'>-	  fnmatch updates.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 06:33:06 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cp_r): copies symlink to symlink, except</div><div class='del'>-	  root entries of cp_r.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: new method FileUtils.copy_entry.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: more cp_r tests.</div><div class='del'>-</div><div class='del'>-Sun Aug  8 00:43:31 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/implicit.c: added sexagecimal float#base60.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (yaml_org_handler): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/token.c: indentation absolutely ignored when processing flow</div><div class='del'>-	  collections.  plain scalars are trimmed if indentation follows in</div><div class='del'>-	  an ambiguous flow collection.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 03:08:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_daemon): new method.  should be modified for</div><div class='del'>-	  platforms without /dev/null.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 00:50:01 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: Zlib::GzipReader#read(0) returns "" instead of nil.</div><div class='del'>-</div><div class='del'>-Wed Aug  4 13:26:00 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes0): optimize out read(0). [ruby-talk:108276]</div><div class='del'>-</div><div class='del'>-Tue Aug  3 13:49:12 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/namespace.rb: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: add Tk::TreeCtrl.loupe</div><div class='del'>-</div><div class='del'>-Mon Aug  2 23:33:48 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (test_fnmatch): added more tests.</div><div class='del'>-</div><div class='del'>-Mon Aug  2 18:04:21 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/msgcat.rb (set_translation): bug fix (fail to set</div><div class='del'>-	  trans_str to the same as src_str when trans_str is not given.)</div><div class='del'>-</div><div class='del'>-Mon Aug  2 17:40:44 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (blk_free): fixed serious memory leak. [ruby-dev:24013]</div><div class='del'>-</div><div class='del'>-Mon Aug  2 11:53:06 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): Fix infinite recursion</div><div class='del'>-	  looking up some top level symbols (batsman)</div><div class='del'>-</div><div class='del'>-Mon Aug  2 11:48:29 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Allow '.'s in</div><div class='del'>-	  variable names to support SWIG generated files (Hans Fugal)</div><div class='del'>-</div><div class='del'>-Sat Jul 31 23:08:00 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): stupid mistakes fixed. [ruby-dev:24006]</div><div class='del'>-</div><div class='del'>-Sat Jul 31 17:39:47 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial,</div><div class='del'>-	  ruby-calculate-indent, ruby-move-to-block, ruby-forward-sexp,</div><div class='del'>-	  ruby-backward-sexp): keywords must match word-wise.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 13:37:51 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): avoid unnecessary method invocations.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 05:35:37 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: exceptions were using an older</div><div class='del'>-	  YAML.object_maker. [ruby-core:03080]</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c (sycklex_yaml_utf8): using newline_len to</div><div class='del'>-	  handline CR-LFs.  "\000" was showing up on folded blocks which</div><div class='del'>-	  stopped at EOF.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 01:25:11 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): call is_defined() before invoking</div><div class='del'>-	  rb_eval().  [ruby-talk:107867]</div><div class='del'>-</div><div class='del'>-Fri Jul 30 16:10:54 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_fromUTF8_core): raise ArgumentError when</div><div class='del'>-	  the unknown encoding name is given.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_toUTF8_core): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertfrom): bug fix.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertto): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 28 18:59:17 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::initialize): remove at_exit code for CGI_PARAMS</div><div class='del'>-	  and CGI_COOKIES.  they will no longer be used.</div><div class='del'>-</div><div class='del'>-Wed Jul 28 15:44:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): should call rb_call_super() directly for</div><div class='del'>-	  visibility overriding.  [ruby-dev:23989]</div><div class='del'>-</div><div class='del'>-Wed Jul 28 01:04:44 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* env.h: remove argv from ruby_frame.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): no more copy on write.</div><div class='del'>-</div><div class='del'>-	* eval.c (assign): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): can receive *rest by specifying negative</div><div class='del'>-	  argc.  (-1 means 0 arg and *rest, -2 means 1 arg and *rest...)</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): properly set frame's argc counter.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_mark_frame): need not to mark frame's argv</div><div class='del'>-</div><div class='del'>-	* gc.c (run_final): wrong order of data. [ruby-dev:23984]</div><div class='del'>-</div><div class='del'>-Tue Jul 27 07:05:04 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): copy on write for argument local variable</div><div class='del'>-	  assignment.</div><div class='del'>-</div><div class='del'>-	* eval.c (assign): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): update ruby_frame-&gt;argv with the default</div><div class='del'>-	  value used for the optional arguments.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): "===" calls rb_obj_equal() directly.</div><div class='del'>-	  [ruby-list:39937]</div><div class='del'>-</div><div class='del'>-Mon Jul 26 11:22:55 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape): should</div><div class='del'>-	  escape space.</div><div class='del'>-</div><div class='del'>-Sun Jul 25 10:56:28 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.{h,c} (rb_w32_{f,fd,fs}open): workaround for bcc32's</div><div class='del'>-	  {f,fd,fs}open bug. set errno EMFILE and EBADF. [ruby-dev:23963]</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: fix method duplication.</div><div class='del'>-</div><div class='del'>-Sat Jul 24 13:32:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_beg_len): returns Qnil only when "beg" points</div><div class='del'>-	  outside of a range.  No boundary check for "end".</div><div class='del'>-</div><div class='del'>-Fri Jul 23 16:40:25 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final): should not disclose NODE* to Ruby world.</div><div class='del'>-	  [ruby-dev:23957]</div><div class='del'>-</div><div class='del'>-Fri Jul 23 08:52:22 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (disconnected?): new method.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 16:41:54 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (CGI::Session::FileStore#update): sets the</div><div class='del'>-	  permission of the session data file to 0600.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session/pstore.rb (CGI::Session::Pstore#initialize):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 19 00:53:46 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb</div><div class='del'>-	  (WEBrick::HTTPServlet::CGIhandler#do_GET): set SystemRoot environment</div><div class='del'>-	  variable to CGI process on Windows native platforms. [ruby-dev:23936]</div><div class='del'>-</div><div class='del'>-Sun Jul 18 16:14:29 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/msgcat.rb (TkMsgCatalog.callback): bug fix</div><div class='del'>-	  ( wrong number of argument )</div><div class='del'>-</div><div class='del'>-Sun Jul 18 08:13:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): remove extra sign digit.</div><div class='del'>-</div><div class='del'>-Sun Jul 18 03:19:14 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (bracket): use NULL instead of 0.</div><div class='del'>-</div><div class='del'>-Sun Jul 18 02:35:30 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (receive_responses): return if a LOGOUT response</div><div class='del'>-	  received.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 23:59:01 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (send_string_data): wait command continuation</div><div class='del'>-	  requests before sending octet data of literals.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 23:54:59 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: TkVariable#ref returns a TkVariable object</div><div class='del'>-</div><div class='del'>-Sat Jul 17 22:04:44 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ldap.rb: method hierarchical? should be in URI::LDAP.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 18:29:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): not to show same error messages twice.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 14:18:11 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match_m): String#match should also take</div><div class='del'>-	  optional argument.  [ruby-core:03205]</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_m): add optional second argugment "pos" to</div><div class='del'>-	  specify match start point.  [ruby-core:03203]</div><div class='del'>-</div><div class='del'>-Sat Jul 17 13:13:32 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex::identify_string): %s string do not</div><div class='del'>-	  process expression interpolation.  [ruby-talk:106691]</div><div class='del'>-</div><div class='del'>-Sat Jul 17 05:26:27 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb: Incorporate Micheal Neumann's</div><div class='del'>-	  client-side imagemao patch</div><div class='del'>-</div><div class='del'>-Sat Jul 17 01:57:03 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (THREAD_ALLOC): th-&gt;thread should be initialized to NULL.</div><div class='del'>-	  [ruby-talk:106657]  The solution was found by Guy Decoux.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 22:30:28 2004  Michael Neumann  &lt;mneumann@ntecs.de&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_dev_major): new methods File::Stat#dev_major and</div><div class='del'>-	  #dev_minor. [ruby-core:03195]</div><div class='del'>-</div><div class='del'>-Fri Jul 16 11:17:38 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exit_initialize): use EXIT_SUCCESS instead of 0.</div><div class='del'>-	  [ruby-dev:23913]</div><div class='del'>-</div><div class='del'>-	* error.c (exit_success_p): new method SystemExit#success?.</div><div class='del'>-	  [ruby-dev:23912]</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): initialization for subclasses.</div><div class='del'>-	  [ruby-dev:23912]</div><div class='del'>-</div><div class='del'>-Thu Jul 15 23:53:38 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#warn, OptionParser#abort): Exception</div><div class='del'>-	  no longer has to_str method.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 22:59:48 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: added dir_config for curses, ncurses,</div><div class='del'>-	  termcap.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 20:44:46 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: rdoc patch</div><div class='del'>-</div><div class='del'>-Thu Jul 15 14:12:34 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML::load_file, YAML::parse_file): added.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: re2c compiled with bit vectors now.</div><div class='del'>-	* ext/syck/implicit.c: ditto.</div><div class='del'>-	* ext/syck/bytecode.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 10:15:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/, ext/tcltklib/: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: better operation for SIGINT when processing</div><div class='del'>-	  callbacks.</div><div class='del'>-	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: ditto.</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd</div><div class='del'>-	  to define validatecommand methods easier</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext</div><div class='del'>-	  classes</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type</div><div class='del'>-	  check for items (e.g. canvas items; depends on the class) to</div><div class='del'>-	  avoid some troubles on Tk extension widget class definition.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable</div><div class='del'>-</div><div class='del'>-Wed Jul 14 23:49:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min_by): new method Enum#min_by.  added Enum#max_by</div><div class='del'>-	  as well.</div><div class='del'>-</div><div class='del'>-Wed Jul 14 18:05:21 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1cons_to_der): fix type of</div><div class='del'>-	  argument. [ruby-dev:23891]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509store.rb: prune tests for CRL checking</div><div class='del'>-	  unless X509::V_FLAG_CRL_CHECK is defined.</div><div class='del'>-</div><div class='del'>-Wed Jul 14 12:20:05 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): should not convert string in the form of</div><div class='del'>-	  "-I.FE-X" which both "I" and "F" are omitted. [ruby-dev:23883]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (test_strtod): add test for bug fix.</div><div class='del'>-</div><div class='del'>-Wed Jul 14 00:33:48 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: rdoc patch. merged patch from Johan Holmberg</div><div class='del'>-	  &lt;holmberg@iar.se&gt; [ruby-core:3170]</div><div class='del'>-</div><div class='del'>-Tue Jul 13 19:39:12 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#merge_path):</div><div class='del'>-	  "URI('http://www.example.com/foo/..') + './'" should return</div><div class='del'>-	  "URI('http://www.example.com/')".  [ruby-list:39838]</div><div class='del'>-	  "URI('http://www.example.com/') + './foo/bar/..'" should return</div><div class='del'>-	  "URI('http://www.example.com/foo/')".  [ruby-list:39844]</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (TestGeneric#test_merge): added tests.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 15:48:56 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): Do not add $(libdir) to $LIBPATH in</div><div class='del'>-	   extmk mode.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (dir_config): Prepend a new library path instead of</div><div class='del'>-	  appending so it is tried first.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 00:50:48 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Support call-seq: for Ruby files.</div><div class='del'>-</div><div class='del'>-Mon Jul 12 21:20:51 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* html_generator.rb: Support hyperlinks of the form {any text}[xxx]</div><div class='del'>-	  as well as stuff[xxx]</div><div class='del'>-</div><div class='del'>-Sat Jul 10 09:30:24 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/test_struct.rb: use qualified built-in class name</div><div class='del'>-	  (::Struct) to avoid name crash.</div><div class='del'>-</div><div class='del'>-Sat Jul 10 04:21:56 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: better operation for SIGINT when processing</div><div class='del'>-	  callbacks.</div><div class='del'>-	* ext/tk/lib/tk/msgcat.rb: ditto.</div><div class='del'>-	* ext/tk/lib/tk/variable.rb: ditto.</div><div class='del'>-	* ext/tk/lib/tk/timer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/validation.rb (__def_validcmd):  add a module</div><div class='del'>-	  function of Tk::ValidateConfigure to define validatecommand</div><div class='del'>-	  methods easier</div><div class='del'>-</div><div class='del'>-Fri Jul  9 22:18:59 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, enum.c, pack.c: rdoc patch from Johan Holmberg</div><div class='del'>-	  &lt;holmberg@iar.se&gt; [ruby-core:3132] [ruby-core:3136]</div><div class='del'>-</div><div class='del'>-	* numeric.c: rdoc patch.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 19:26:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::HTTPS#proxy_open): raise ArgumentError to</div><div class='del'>-	  notice https is not supported.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 14:28:54 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_raise): accept third argument as well as</div><div class='del'>-	  Kernel#raise, and evaluate the arguments to create an exception in</div><div class='del'>-	  the caller's context.  [ruby-talk:105507]</div><div class='del'>-</div><div class='del'>-Fri Jul  9 01:47:08 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib: bug fix</div><div class='del'>-	* ext/tk/lib/tkextlib/itcl: add [incr Tcl] support</div><div class='del'>-	* ext/tk/lib/tkextlib/itk: add [incr Tk] support</div><div class='del'>-	* ext/tk/lib/tkextlib/iwidgets: midway point of [incr Widgets] support</div><div class='del'>-	* ext/tk/sample/tkextlib/iwidgets: very simple examples of</div><div class='del'>-	  [incr Widgets]</div><div class='del'>-</div><div class='del'>-Thu Jul  8 19:27:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_stack_end_address): detect stack end address</div><div class='del'>-	  variable supplied by system.  [ruby-core:03115]</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): use system provided address if possible.</div><div class='del'>-</div><div class='del'>-Thu Jul  8 00:05:23 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::initialize): got out code of</div><div class='del'>-	  generating tmpname.  [ruby-dev:23832][ruby-dev:23837]</div><div class='del'>-</div><div class='del'>-Wed Jul  7 02:31:41 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/{rss,parser,0.9,1.0,2.0}.rb: supported RSS 0.9x/2.0</div><div class='del'>-	  validation and validation which disregard order of elements.</div><div class='del'>-	* test/rss/test_parser.rb: added tests for RSS 0.9x/2.0</div><div class='del'>-	  validation.</div><div class='del'>-	* test/rss/{test_trackback,rss-testcase}.rb: fixed no good method</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 00:48:34 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tktrans.rb,</div><div class='del'>-	  ext/tk/lib/tkextlib/treectrl.rb: fix syntax errors.</div><div class='del'>-</div><div class='del'>-Tue Jul  6 18:38:45 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib: improve framework of developping Tcl/Tk extension</div><div class='del'>-	  wrappers</div><div class='del'>-</div><div class='del'>-Mon Jul  5 23:56:42 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/{trackback,syndication,dublincore,content}.rb: worked</div><div class='del'>-	  with ruby 1.6 again.</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  5 22:54:39 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (Kernel#URI): new global method for parsing URIs.</div><div class='del'>-</div><div class='del'>-Mon Jul  5 09:02:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_yield, rb_f_catch): 4th argument to rb_yield_0()</div><div class='del'>-	  is a set of bit flags.  [ruby-dev:23859]</div><div class='del'>-</div><div class='del'>-Mon Jul  5 01:20:17 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb(DRbConn self.open): If socket pool is full, close</div><div class='del'>-	  the socket whose last-access-time is oldest. (and add new one)</div><div class='del'>-	  [ruby-dev:23860]</div><div class='del'>-</div><div class='del'>-Sun Jul  4 12:24:50 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: added copyright header.</div><div class='del'>-</div><div class='del'>-Sat Jul  3 22:25:27 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* added files:</div><div class='del'>-	  * lib/soap/header/*</div><div class='del'>-	  * lib/soap/rpc/httpserver.rb</div><div class='del'>-	  * lib/wsdl/soap/cgiStubCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/classDefCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/classDefCreatorSupport.rb</div><div class='del'>-	  * lib/wsdl/soap/clientSkeltonCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/driverCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/mappingRegistryCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/methodDefCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/servantSkeltonCreator.rb</div><div class='del'>-	  * lib/wsdl/soap/standaloneServerStubCreator.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/enumeration.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/simpleRestriction.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/simpleType.rb</div><div class='del'>-	  * lib/xsd/codegen/*</div><div class='del'>-	  * lib/xsd/codegen.rb</div><div class='del'>-	  * sample/soap/authheader/*</div><div class='del'>-	  * sample/soap/raa2.4/*</div><div class='del'>-	  * sample/soap/ssl/*</div><div class='del'>-	  * sample/soap/swa/*</div><div class='del'>-	  * sample/soap/whois.rb</div><div class='del'>-	  * sample/wsdl/raa2.4/*</div><div class='del'>-	  * test/soap/header/*</div><div class='del'>-	  * test/soap/ssl/*</div><div class='del'>-	  * test/soap/struct/*</div><div class='del'>-	  * test/soap/swa/*</div><div class='del'>-	  * test/soap/wsdlDriver/*</div><div class='del'>-	  * test/wsdl/multiplefault.wsdl</div><div class='del'>-	  * test/wsdl/simpletype/*</div><div class='del'>-	  * test/wsdl/test_multiplefault.rb</div><div class='del'>-</div><div class='del'>-	* modified files:</div><div class='del'>-	  * lib/soap/baseData.rb</div><div class='del'>-	  * lib/soap/element.rb</div><div class='del'>-	  * lib/soap/generator.rb</div><div class='del'>-	  * lib/soap/netHttpClient.rb</div><div class='del'>-	  * lib/soap/parser.rb</div><div class='del'>-	  * lib/soap/property.rb</div><div class='del'>-	  * lib/soap/soap.rb</div><div class='del'>-	  * lib/soap/streamHandler.rb</div><div class='del'>-	  * lib/soap/wsdlDriver.rb</div><div class='del'>-	  * lib/soap/encodingstyle/handler.rb</div><div class='del'>-	  * lib/soap/encodingstyle/literalHandler.rb</div><div class='del'>-	  * lib/soap/encodingstyle/soapHandler.rb</div><div class='del'>-	  * lib/soap/mapping/factory.rb</div><div class='del'>-	  * lib/soap/mapping/mapping.rb</div><div class='del'>-	  * lib/soap/mapping/registry.rb</div><div class='del'>-	  * lib/soap/mapping/rubytypeFactory.rb</div><div class='del'>-	  * lib/soap/mapping/wsdlRegistry.rb</div><div class='del'>-	  * lib/soap/rpc/cgistub.rb</div><div class='del'>-	  * lib/soap/rpc/driver.rb</div><div class='del'>-	  * lib/soap/rpc/proxy.rb</div><div class='del'>-	  * lib/soap/rpc/router.rb</div><div class='del'>-	  * lib/soap/rpc/soaplet.rb</div><div class='del'>-	  * lib/soap/rpc/standaloneServer.rb</div><div class='del'>-	  * lib/wsdl/data.rb</div><div class='del'>-	  * lib/wsdl/definitions.rb</div><div class='del'>-	  * lib/wsdl/operation.rb</div><div class='del'>-	  * lib/wsdl/parser.rb</div><div class='del'>-	  * lib/wsdl/soap/definitions.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/complexContent.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/complexType.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/data.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/parser.rb</div><div class='del'>-	  * lib/wsdl/xmlSchema/schema.rb</div><div class='del'>-	  * lib/xsd/datatypes.rb</div><div class='del'>-	  * lib/xsd/qname.rb</div><div class='del'>-	  * sample/soap/sampleStruct/server.rb</div><div class='del'>-	  * sample/wsdl/amazon/AmazonSearch.rb</div><div class='del'>-	  * sample/wsdl/amazon/AmazonSearchDriver.rb</div><div class='del'>-	  * test/soap/test_property.rb</div><div class='del'>-	  * test/soap/calc/test_calc_cgi.rb</div><div class='del'>-	  * test/wsdl/test_emptycomplextype.rb</div><div class='del'>-</div><div class='del'>-	* summary</div><div class='del'>-	  * add SOAP Header mustUnderstand support.</div><div class='del'>-</div><div class='del'>-	  * add HTTP client SSL configuration and Cookies support (works</div><div class='del'>-	    completely with http-access2).</div><div class='del'>-</div><div class='del'>-	  * add header handler for handling sending/receiving SOAP Header.</div><div class='del'>-</div><div class='del'>-	  * map Ruby's anonymous Struct to common SOAP Struct in SOAP Object</div><div class='del'>-	    Model.  it caused error.</div><div class='del'>-</div><div class='del'>-	  * add WSDL simpleType support to restrict lexical value space.</div><div class='del'>-</div><div class='del'>-Sat Jul  3 17:19:44 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tkDND.rb: fix syntax error.</div><div class='del'>-</div><div class='del'>-Thu Jul  1 18:36:08 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tcltklib: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk: bug fix and add Tcl/Tk extension support libraries</div><div class='del'>-</div><div class='del'>-Thu Jul  1 18:31:31 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore#transaction): get rid of opening in write mode</div><div class='del'>-	  when read only transaction.  [ruby-dev:23842]</div><div class='del'>-</div><div class='del'>-Thu Jul  1 00:44:42 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_encrypt, ossl_cipher_decrypt):</div><div class='del'>-	  re-implemnt (the arguments for this method is ).</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_pkcs5_keyivgen): new method</div><div class='del'>-	  OpenSSL::Cipher::Cipher#pkcs5_keyivgen. it calls EVP_BytesToKey().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_set_key_length): new method</div><div class='del'>-	  OpenSSL::Cipher::Cipher#key_len=.</div><div class='del'>-</div><div class='del'>-Wed Jun 30 19:48:09 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check for EVP_CIPHER_CTX_copy, ENGINE_add,</div><div class='del'>-	  EVP_CIPHER_CTX_set_padding, EVP_CipherFinal_ex, EVP_CipherInit_ex,</div><div class='del'>-	  EVP_DigestFinal_ex and EVP_DigestInit_ex.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.c (EVP_CIPHER_CTX_copy): new function.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h (EVP_DigestInit_ex, EVP_DigestFinal_ex,</div><div class='del'>-	  EVP_CipherInit_ex, EVP_CipherFinal_ex, HMAC_Init_ex): new macro for</div><div class='del'>-	  OpenSSL 0.9.6.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_alloc, ossl_cipher_initialize,</div><div class='del'>-	  ossl_cipher_copy, ossl_cipher_reset, ossl_cipher_encrypt,</div><div class='del'>-	  ossl_cipher_decrypt, ossl_cipher_final, ossl_cipher_set_key,</div><div class='del'>-	  ossl_cipher_set_iv): replace all EVP_CipherInit and</div><div class='del'>-	  EVP_CipherFinal into EVP_CipherInit_ex and EVP_CipherFinal_ex.</div><div class='del'>-	  and EVP_CIPHER_CTX_init should only be called once.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_set_padding): check for</div><div class='del'>-	  EVP_CIPHER_CTX_set_padding.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (Init_ossl_cipher): Cipher#&lt;&lt; is deprecated.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: replace all EVP_DigestInit and</div><div class='del'>-	  EVP_DigestFinal into EVP_DigestInit_ex and EVP_DigestFinal_ex.</div><div class='del'>-	  and EVP_MD_CTX_init should only be called once.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c (digest_final): should call</div><div class='del'>-	  EVP_MD_CTX_cleanup to avoid memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c (ossl_hmac_initialize): repalce HMAC_init</div><div class='del'>-	  into HMAC_init_ex. and HMAC_CTX_init is moved to ossl_hmac_alloc.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c (hmac_final): should call</div><div class='del'>-	  HMAC_CTX_cleanup to avoid memory leak.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb, test/openssl/test_digest.rb,</div><div class='del'>-	  test/openssl/test_hmac.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Jun 30 16:59:39 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (test_fnmatch): some tests for File.fnmatch</div><div class='del'>-	  are added.</div><div class='del'>-</div><div class='del'>-Wed Jun 30 11:38:51 2004  Mikael Brockman  &lt;phubuh@phubuh.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): should not be NULL.  [ruby-core:03098]</div><div class='del'>-</div><div class='del'>-Wed Jun 30 02:41:10 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_new): set buffer after</div><div class='del'>-	  Data_Wrap_Struct to avoid possible GC. [ruby-talk:104835]</div><div class='del'>-</div><div class='del'>-Tue Jun 29 10:31:19 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final, run_final): preserve and restore safe level for</div><div class='del'>-	  finalizers.  [ruby-core:03058]</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec, rb_trap_exit, trap): preserve and restore</div><div class='del'>-	  safe level for signal handlers.  [ruby-dev:23829]</div><div class='del'>-</div><div class='del'>-Mon Jun 28 14:57:56 2004  Jeff Mitchell  &lt;quixoticsycophant@yahoo.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to</div><div class='del'>-	  DOSISH compilers.  [ruby-core:03107]</div><div class='del'>-</div><div class='del'>-Mon Jun 28 00:35:29 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/drb/*.rb: using 'DRb.thread.join' instead of 'gets'</div><div class='del'>-</div><div class='del'>-Sun Jun 27 22:36:47 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb: supported Hiki.</div><div class='del'>-</div><div class='del'>-Sat Jun 26 15:17:11 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_class_variables): class variables are no longer</div><div class='del'>-	  inherited.  [ruby-dev:23808]</div><div class='del'>-</div><div class='del'>-Sat Jun 26 11:07:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): -b must come at the start of the command line,</div><div class='del'>-	  and -e must not appear while testing libraries.  [ruby-talk:104501]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_header, dir_config): quote directory names if</div><div class='del'>-	  necessary.  [ruby-talk:104505]</div><div class='del'>-</div><div class='del'>-Sat Jun 26 00:13:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fopen, rb_fdopen, rb_io_reopen): setvbuf() may return</div><div class='del'>-	  positive value on failure.  [ruby-dev:23792]</div><div class='del'>-</div><div class='del'>-Fri Jun 25 18:07:15 2004  Michal Rokos  &lt;michal@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: bring back _stklen for DJGPP [ruby-core:3084]</div><div class='del'>-</div><div class='del'>-Fri Jun 25 15:33:01 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/extconf.rb: check stricter.  [ruby-talk:104501]</div><div class='del'>-</div><div class='del'>-Fri Jun 25 01:58:01 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/setup.mak: remove RUBY_EXTERN lines when</div><div class='del'>-	  including version.h. [ruby-talk:104456]</div><div class='del'>-</div><div class='del'>-Thu Jun 24 14:23:29 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fread): return already read data when system call is</div><div class='del'>-	  interrupted.  [ruby-talk:97206]</div><div class='del'>-</div><div class='del'>-Thu Jun 24 01:25:21 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h: added declarations of ruby_version,</div><div class='del'>-	  ruby_release_date, ruby_platform.</div><div class='del'>-</div><div class='del'>-Thu Jun 24 01:07:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_sockaddr): Socket#gethostbyname()</div><div class='del'>-	  should give us packed address, not struct sockaddr.</div><div class='del'>-	  [ruby-core:03053]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 22:19:10 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_gethostbyaddr): Work around problem</div><div class='del'>-	  with OS X not returning 'from' parameter to recvfrom for</div><div class='del'>-	  connection-oriented sockets.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 22:16:16 2004  Michal Rokos  &lt;michal@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: io_seek()'s retval should be checked [ruby-core:03045]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 21:48:27 2004  Michal Rokos  &lt;michal@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: Fix indentation.</div><div class='del'>-</div><div class='del'>-	* main.c: Remove _stklen, and _CRT_glob. Move _stacksize for</div><div class='del'>-	  __human68k__ to gc.c where the others are.</div><div class='del'>-</div><div class='del'>-	* gc.c: put _stacksize in place and clean the #ifdefs macros.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 17:37:54 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: added new option --ssl.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 01:45:27 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_quotation):</div><div class='del'>-	  Fix problem with the 'r' being dropped from %r{xxx}</div><div class='del'>-</div><div class='del'>-Wed Jun 23 00:10:17 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing</div><div class='del'>-	  CRs and LFs. (doesn't depend on CR+LF) [ruby-dev:23749]</div><div class='del'>-</div><div class='del'>-Wed Jun 23 00:00:25 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (return_jump, break_jump): raise unexpected local jump</div><div class='del'>-	  exception directly.  [ruby-dev:23740]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): should check fcntl result.  [ruby-dev:23742]</div><div class='del'>-</div><div class='del'>-Tue Jun 22 23:35:43 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): support FZERO and FSPACE with NaN/Inf.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf.rb (test_nan, test_inf): add tests.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 21:11:36 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (OLE_FREE): should not call CoFreeUnuse-</div><div class='del'>-	  dLibraries().</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_event_free): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_hresult2msg): truncate error message</div><div class='del'>-	  before CR.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 19:24:59 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): unify output of NaN, Inf and -Inf with</div><div class='del'>-	  "%f" or etc on all platform. [ruby-dev:23704], [ruby-dev:23747]</div><div class='del'>-</div><div class='del'>-Tue Jun 22 15:28:12 2004  Michal Rokos  &lt;michal@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c: Remove explicit NIL_P() checks since rb_cmpint() does it</div><div class='del'>-	  again in the exactly same manner.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 01:32:40 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): should create</div><div class='del'>-	  empty pkey object if no argument is passed. [ruby-talk:103328]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: add new methods: OpenSSL::PKey::DH#p,</div><div class='del'>-	  OpenSSL::PKey::DH#p=, OpenSSL::PKey::DH#g, OpenSSL::PKey::DH#g=,</div><div class='del'>-	  OpenSSL::PKey::DH#pub_key, OpenSSL::PKey::DH#pub_key=,</div><div class='del'>-	  OpenSSL::PKey::DH#priv_key and OpenSSL::PKey::DH#priv_key=.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: add new methods: OpenSSL::PKey::DSA#p,</div><div class='del'>-	  OpenSSL::PKey::DSA#p=, OpenSSL::PKey::DSA#q, OpenSSL::PKey::DSA#q=,</div><div class='del'>-	  OpenSSL::PKey::DSA#g, OpenSSL::PKey::DSA#g=,</div><div class='del'>-	  OpenSSL::PKey::DSA#pub_key, OpenSSL::PKey::DSA#pub_key=,</div><div class='del'>-	  OpenSSL::PKey::DSA#priv_key and OpenSSL::PKey::DSA#priv_key=.</div><div class='del'>-</div><div class='del'>-Mon Jun 21 09:24:51 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_opendir): should set errno if error occurs</div><div class='del'>-	  when calling OS API.</div><div class='del'>-</div><div class='del'>-Sun Jun 20 21:12:54 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (binary=): send TYPE commands only once.</div><div class='del'>-</div><div class='del'>-Sat Jun 19 13:27:01 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (method_call): allow changing $SAFE.  [ruby-dev:23713]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_set_safe_level, proc_invoke, rb_mod_define_method): not</div><div class='del'>-	  set $SAFE for methods defined from Proc.  [ruby-dev:23697]</div><div class='del'>-</div><div class='del'>-Sat Jun 19 01:10:12 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/rss/tdiary_plugin/rss-recent.rb: added more information.</div><div class='del'>-</div><div class='del'>-Fri Jun 18 23:12:22 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limit</div><div class='del'>-	  safe level.</div><div class='del'>-</div><div class='del'>-Wed Jun 16 23:05:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_freeze): prepare string representation before</div><div class='del'>-	  freezing. [ruby-talk:103646]</div><div class='del'>-</div><div class='del'>-Wed Jun 16 19:57:24 2004  Michal Rokos  &lt;michal@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: extend testcase to check #first, #last,</div><div class='del'>-	  #shift, #unshift, #pop, #push</div><div class='del'>-</div><div class='del'>-Wed Jun 16 16:05:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_new): move alloc behind checks.  [ruby-core:02982]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_pop_m, rb_ary_shift_m): take arg to behave as push</div><div class='del'>-	  and unshift.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_first, rb_ary_last): make shared array for result</div><div class='del'>-	  array, and correct doc for Array#first(n) and Array#last(n)</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select): not accept any arg.</div><div class='del'>-</div><div class='del'>-Wed Jun 16 16:03:59 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_inherited_p): singleton class inherits Class</div><div class='del'>-	  rather than its object's class.  [ruby-dev:23690]</div><div class='del'>-</div><div class='del'>-Wed Jun 16 16:01:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (stack_grow_direction): memoize the direction.</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): should always move to end of VALUE.</div><div class='del'>-</div><div class='del'>-Tue Jun 15 12:10:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix (TkWindow#grab)</div><div class='del'>-</div><div class='del'>-Mon Jun 14 18:23:27 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: bug fix</div><div class='del'>-</div><div class='del'>-Sun Jun 13 00:23:04 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) support</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix thread trouble on callback proc, and</div><div class='del'>-	  eliminate warning about instance variable access</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menubar.rb: improve supported menu_spec</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menuspec.rb: [add] menu_spec support library</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/root.rb: add menu_spec support</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/text.rb: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/toplevel.rb: add menu_spec support</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/menubar?.rb: [add] sample of menu_spec usage</div><div class='del'>-</div><div class='del'>-Sat Jun 12 14:15:20 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: RDOC for File::FNM_CASEFOLD was missed.</div><div class='del'>-</div><div class='del'>-Sat Jun 12 11:15:53 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (target_os): strip -gnu suffix on Linux.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 22:08:50 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: remove #indexes, #indices.</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: remove #indexes, #indices, "values_at" warning</div><div class='del'>-	  from #select.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): set VERSION constant as "unknown" when</div><div class='del'>-	  DB_VERSION_STRING is not available.</div><div class='del'>-</div><div class='del'>-Thu Jun 10 19:19:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (fsdbm_store): sdbm should use StringValue().</div><div class='del'>-	  [ruby-talk:103062]</div><div class='del'>-</div><div class='del'>-Wed Jun  9 16:09:01 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::merge,</div><div class='del'>-	  URI::Generic::route_from): accepts non-hierarchical URI.</div><div class='del'>-	  [ruby-dev:23631]</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (TestGeneric::test_route,</div><div class='del'>-	  TestGeneric::test_merge): added tests for above changes.</div><div class='del'>-</div><div class='del'>-Wed Jun  9 15:39:55 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add support for DragonFly BSD.</div><div class='del'>-</div><div class='del'>-Wed Jun  9 15:07:06 2004  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* config.guess, config.sub: Update to a more recent version as of</div><div class='del'>-	  2004-01-20.</div><div class='del'>-</div><div class='del'>-Wed Jun  9 11:20:05 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: remove unused functions and variables.</div><div class='del'>-</div><div class='del'>-Wed Jun  2 20:16:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new4): should share shared instance if it already</div><div class='del'>-	  exists.  [ruby-dev:23665]</div><div class='del'>-</div><div class='del'>-Wed Jun  2 12:41:53 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets_m): set lastline ($_) even when read line is</div><div class='del'>-	  nil.  [ruby-dev:23663]</div><div class='del'>-</div><div class='del'>-Fri May 28 11:20:31 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): bad influence on frame node.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): reverted wrongly removed condition.  [ruby-dev:23638]</div><div class='del'>-</div><div class='del'>-Thu May 27 21:37:50 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#initialize): fix pathname initialization</div><div class='del'>-	  by pathname.</div><div class='del'>-</div><div class='del'>-Thu May 27 20:02:09 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fwrite): check all case errno != 0 [ruby-dev:23648]</div><div class='del'>-</div><div class='del'>-Thu May 27 15:54:02 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (MDTM_REGEXP): fix for demon's ftp server.</div><div class='del'>-	  Thanks, Rutger Nijlunsing.</div><div class='del'>-</div><div class='del'>-Thu May 27 14:53:13 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fwrite): workaround for bcc32's fwrite bug.</div><div class='del'>-	  add errno checking.  [ruby-dev:23627]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fwrite): should check if errno == ENOENT, too.</div><div class='del'>-</div><div class='del'>-Thu May 27 11:25:03 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: illegal require module name (../lib/csv.rb).</div><div class='del'>-</div><div class='del'>-Wed May 26 23:12:13 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV.read, CSV.readlines): added.  works as IO.read and</div><div class='del'>-	  IO.readlines in CSV format.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV.parse): [CAUTION] behavior changed.  in the past,</div><div class='del'>-	  CSV.parse accepts a filename to be read-opened (it was just a</div><div class='del'>-	  shortcut of CSV.open(filename, 'r')).  now CSV.parse accepts a</div><div class='del'>-	  string or a stream to be parsed e.g.</div><div class='del'>-	  CSV.parse("1,2\n3,r") #=&gt; [['1', '2'], ['3', '4']]</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: follow above changes.</div><div class='del'>-</div><div class='del'>-Wed May 26 14:19:42 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval, eval): make line number consistent on eval with</div><div class='del'>-	  Proc.  [ruby-talk:101253]</div><div class='del'>-</div><div class='del'>-Wed May 26 13:59:17 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::skip_for_variable): Allow for</div><div class='del'>-	  'do' after for statement</div><div class='del'>-</div><div class='del'>-Wed May 26 13:56:03 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb (Generators::MarkUp::style_url): Fix</div><div class='del'>-	  relative path to code CSS file</div><div class='del'>-</div><div class='del'>-Wed May 26 13:14:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_init_copy): copy also positions.  [ruby-talk:100910]</div><div class='del'>-</div><div class='del'>-Wed May 26 00:00:00 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c (syck_new_parser): clear parser on init.</div><div class='del'>-	  thanks, ts. [ruby-core:02931]</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c (sycklex_yaml_utf8): buffer underflow.</div><div class='del'>-	  thanks, ts. [ruby-core:02929]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/baseemitter.rb (indent_text): simpler flow block code.</div><div class='del'>-</div><div class='del'>-Tue May 25 11:54:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0, proc_invoke, proc_arity): allow passing a block</div><div class='del'>-	  to a Proc.  [ruby-dev:23533]</div><div class='del'>-</div><div class='del'>-	* parse.y (block_par, block_var): ditto.</div><div class='del'>-</div><div class='del'>-Tue May 25 01:50:17 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_i2d_ASN1_TYPE, ossl_ASN1_TYPE_free):</div><div class='del'>-	  workaround for the versions earlier than OpenSSL-0.9.7.</div><div class='del'>-</div><div class='del'>-Mon May 24 10:46:26 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/html.rb: SYSTEM identifiers</div><div class='del'>-	  must be absolute URIs</div><div class='del'>-</div><div class='del'>-Sun May 23 04:53:50 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (transaction): allow overriding dump and load.</div><div class='del'>-	  [ruby-dev:23567]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb: follow lib/pstore.rb's change.</div><div class='del'>-</div><div class='del'>-Sat May 22 11:54:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add test/openssl/test_x509store.rb.</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANIFEST: add recent files.</div><div class='del'>-</div><div class='del'>-Sat May 22 05:37:11 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/remote-tk.rb: (NEW library) control Tk interpreters</div><div class='del'>-	  on the other processes by Tcl/Tk's 'send' command</div><div class='del'>-</div><div class='del'>-Fri May 21 09:22:05 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_parameters):</div><div class='del'>-	  Add ()'s around parameters that don't have them</div><div class='del'>-</div><div class='del'>-Fri May 21 02:21:11 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: fixed a few bugs around multi char record/field separator.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: added boundary test for above feature.</div><div class='del'>-</div><div class='del'>-Thu May 20 17:02:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (check_sizeof): define result size.  [ruby-core:02911]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_header): macro name should not include equal</div><div class='del'>-	  sign.</div><div class='del'>-</div><div class='del'>-Thu May 20 14:35:52 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: check SCM_RIGHTS macro addition to</div><div class='del'>-	  the msg_control field to test existence of file descriptor passing</div><div class='del'>-	  by msg_control.</div><div class='del'>-</div><div class='del'>-Thu May 20 12:38:06 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq): always check if operands are NaN.</div><div class='del'>-	  [ruby-list:39685]</div><div class='del'>-</div><div class='del'>-Thu May 20 12:34:39 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_visibility):</div><div class='del'>-	  At Ryan Davis' suggestion, honor visibility modifers if guarded by a</div><div class='del'>-	  statement modifier</div><div class='del'>-</div><div class='del'>-Thu May 20 12:22:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_type): do not check pointer to incomplete type,</div><div class='del'>-	  which always get compiled.</div><div class='del'>-	  [ruby-list:39683]</div><div class='del'>-</div><div class='del'>-Wed May 19 23:45:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb (InlineTest::loadtest): requiring library with</div><div class='del'>-	  replaced $0 can make $0 == __FILE__ block be evaluated twice.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil::rubybin): give priority to</div><div class='del'>-	  environment variable.  [ruby-dev:23538]</div><div class='del'>-</div><div class='del'>-Wed May 19 11:08:10 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: change permition of TkObject#tk_send from</div><div class='del'>-	  private to public</div><div class='del'>-</div><div class='del'>-Wed May 19 02:29:36 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: support TRACE.</div><div class='del'>-</div><div class='del'>-Wed May 19 02:21:53 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: do not use class variables.</div><div class='del'>-</div><div class='del'>-Tue May 18 21:21:43 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: writes lines with "\n" when row separator is not given.</div><div class='del'>-	  formerly it was "\r\n".</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: [CAUTION] API change</div><div class='del'>-</div><div class='del'>-	  * CSV::Row removed.  a row is represented as just an Array.  since</div><div class='del'>-	    CSV::Row was a subclass of Array, it won't hurt almost all programs</div><div class='del'>-	    except one which depended CSV::Row#match.</div><div class='del'>-</div><div class='del'>-	  * CSV::Cell removed.  a cell is represented as just a String or</div><div class='del'>-	    nil(NULL).  this change will cause widespread destruction.</div><div class='del'>-</div><div class='del'>-	      CSV.open("foo.csv", "r") do |row|</div><div class='del'>-		row.each do |cell|</div><div class='del'>-		  if cell.is_null       # Cell#is_null</div><div class='del'>-		    p "(NULL)"</div><div class='del'>-		  else</div><div class='del'>-		    p cell.data		# Cell#data</div><div class='del'>-		  end</div><div class='del'>-		end</div><div class='del'>-	      end</div><div class='del'>-</div><div class='del'>-	    must be just;</div><div class='del'>-</div><div class='del'>-	      CSV.open("foo.csv", "r") do |row|</div><div class='del'>-		row.each do |cell|</div><div class='del'>-		  if cell.nil?</div><div class='del'>-		    p "(NULL)"</div><div class='del'>-		  else</div><div class='del'>-		    p cell</div><div class='del'>-		  end</div><div class='del'>-		end</div><div class='del'>-	      end</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: [CAUTION] record separator(CR, LF, CR+LF) behavior</div><div class='del'>-	  change.  CSV.open, CSV.parse, and CSV,generate now do not force</div><div class='del'>-	  opened file binmode.  formerly it set binmode explicitly.</div><div class='del'>-</div><div class='del'>-	  with CSV.open, binmode of opened file depends the given mode</div><div class='del'>-	  parameter "r", "w", "rb", and "wb".  CSV.parse and CSV.generate open</div><div class='del'>-	  file with "r" and "w".</div><div class='del'>-</div><div class='del'>-	  setting mode properly is user's responsibility now.</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: accepts String as a fs (field separator/column separator)</div><div class='del'>-	  and rs (record separator/row separator)</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: added CSV.foreach(path, rs = nil, &amp;block).  CSV.foreach</div><div class='del'>-	  now does not handle "| cmd" as a path different from IO.foreach.</div><div class='del'>-	  needed?</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: updated.</div><div class='del'>-</div><div class='del'>-Tue May 18 14:24:20 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: added rdoc to beginning of lib.</div><div class='del'>-</div><div class='del'>-Tue May 18 14:00:46 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (NEW_DSTR): adjust list length.</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat): ditto.</div><div class='del'>-</div><div class='del'>-Tue May 18 09:30:25 2004  SASADA Koichi  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_node): search cache entry first.</div><div class='del'>-</div><div class='del'>-Mon May 17 16:04:06 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): it's preferable that "p 0.0" outputs "0.0"</div><div class='del'>-	  instead of "0.0e+00". [ruby-dev:23480]</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): it's preferable that "p 0.00000000000000000001"</div><div class='del'>-	  outputs "1.0e-20" instead of "9.999999999999999e-21". (the precision</div><div class='del'>-	  is considered, but there is assumption DBL_DIG == 15 in current</div><div class='del'>-	  implementation)</div><div class='del'>-</div><div class='del'>-Mon May 17 10:13:33 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setup_domain_and_type): honor duck typing.</div><div class='del'>-	  [ruby-dev:23522]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getnameinfo): ditto.</div><div class='del'>-</div><div class='del'>-Mon May 17 00:36:21 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/baseemitter.rb (indent_text): was forcing a mod value</div><div class='del'>-	  of zero at times, which kept some blocks from getting indentation.</div><div class='del'>-</div><div class='del'>-Mon May 17 00:07:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: Cosmetic documentation changes.</div><div class='del'>-</div><div class='del'>-Sun May 16 20:55:49 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_initialize): accept optional 3rd argument to</div><div class='del'>-	  specify an open flag.</div><div class='del'>-	  (Init_dbm): define open flags: DBM::READER, DBM::WRITER, DBM::WRCREAT</div><div class='del'>-	  and DBM::NEWDB.</div><div class='del'>-</div><div class='del'>-Sat May 15 17:52:24 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb(test_strtod): Add test for signed 0.000...1</div><div class='del'>-</div><div class='del'>-Sat May 15 14:20:13 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/depend: add ruby's headers.</div><div class='del'>-</div><div class='del'>-Sat May 15 13:38:33 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/MANIFEST, ext/syck/depend: new file.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: range of exponential floats.  [ruby-core:02824]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: tests for strings start with colon and some</div><div class='del'>-	  round trip.</div><div class='del'>-</div><div class='del'>-Sat May 15 12:04:58 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: removed fallback to pure Ruby parser.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/baseemitter.rb (node_text): rewriting folded scalars.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: reports style of scalars now, be they plain, block</div><div class='del'>-	  single-, or double-quoted.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/gram.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/node.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (yaml_org_handler): symbols loaded only</div><div class='del'>-	  if scalar style is plain.</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb (test_perl_regexp): updated test to</div><div class='del'>-	  match new regexp serialization.</div><div class='del'>-</div><div class='del'>-Sat May 15 01:41:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): forgot to restore $SAFE value before evaluating</div><div class='del'>-	  compiled node.  [ruby-core:02872]</div><div class='del'>-</div><div class='del'>-Sat May 15 01:33:12 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each_func): terminates loop if generating value</div><div class='del'>-	  is same to @end.  [ruby-talk:100269]</div><div class='del'>-</div><div class='del'>-Fri May 14 22:08:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4): should not reuse frozen shared string if</div><div class='del'>-	  the original is not an instance of String. [ruby-talk:100193]</div><div class='del'>-</div><div class='del'>-Fri May 14 21:29:26 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump): preserve GMT bit in the marshal data.</div><div class='del'>-	  [ruby-talk:100213]</div><div class='del'>-</div><div class='del'>-Fri May 14 18:37:49 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/canvas.rb: improve coords support for canvas</div><div class='del'>-	  items. Now, supports all of the followings.</div><div class='del'>-	       TkcLine.new(c, 0, 0, 100, 100, :fill=&gt;'red')</div><div class='del'>-	       TkcLine.new(c, [0, 0, 100, 100], :fill=&gt;'red')</div><div class='del'>-	       TkcLine.new(c, [0, 0], [100, 100], :fill=&gt;'red')</div><div class='del'>-	       TkcLine.new(c, [[0, 0], [100, 100]], :fill=&gt;'red')</div><div class='del'>-	       TkcLine.new(c, :coords=&gt;[0, 0, 100, 100], :fill=&gt;'red')</div><div class='del'>-	       TkcLine.new(c, :coords=&gt;[[0, 0], [100, 100]], :fill=&gt;'red')</div><div class='del'>-</div><div class='del'>-Fri May 14 13:30:39 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: Add test for util.c revision 1.42.</div><div class='del'>-</div><div class='del'>-Fri May 14 12:13:46 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): strtod("0", &amp;end); =&gt; end should point '\0'.</div><div class='del'>-	 [ruby-dev:23498]</div><div class='del'>-</div><div class='del'>-Thu May 13 15:47:30 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb (Net::Telnet::login): "options" can specify</div><div class='del'>-	  regexps for login prompt and/or password prompt.</div><div class='del'>-</div><div class='del'>-Thu May 13 14:17:57 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (yaml_org_handler): some empty strings were</div><div class='del'>-	  loaded as symbols.</div><div class='del'>-</div><div class='del'>-Thu May 13 11:04:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): always add with null for 'Z'.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): terminated by null for 'Z'.  [ruby-talk:98281]</div><div class='del'>-</div><div class='del'>-Wed May 12 19:59:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_type, check_sizeof): replace unusable characters.</div><div class='del'>-	  [ruby-talk:99788]</div><div class='del'>-</div><div class='del'>-Wed May 12 17:41:42 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Config): make it configurable without</div><div class='del'>-	  external file such as /etc/resolv.conf.</div><div class='del'>-</div><div class='del'>-Wed May 12 14:37:27 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: attribute value of DC (short name of</div><div class='del'>-	  domainComponent) should be IA5String.</div><div class='del'>-</div><div class='del'>-Wed May 12 13:20:19 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/composite.rb: improve configure methods (based on</div><div class='del'>-	  the proposal of [ruby-talk:99671]).</div><div class='del'>-</div><div class='del'>-Wed May 12 11:51:08 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_singleton_methods): fix rdoc</div><div class='del'>-</div><div class='del'>-Tue May 11 07:09:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): do not protect exception during receiver</div><div class='del'>-	  evaluation.</div><div class='del'>-</div><div class='del'>-Mon May 10 22:28:14 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (each_crlf_line): remove junk line.</div><div class='del'>-</div><div class='del'>-Mon May 10 21:44:42 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Change scheme for</div><div class='del'>-	  looking up symbols in  HTML generator.</div><div class='del'>-</div><div class='del'>-Mon May 10 16:45:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): warning during eval should not cause deadlock.</div><div class='del'>-	  [ruby-talk:98651]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): raise TypeError exception for superclass</div><div class='del'>-	  mismatch.  [ruby-list:39567]</div><div class='del'>-</div><div class='del'>-Mon May 10 12:11:37 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Hack to search parents</div><div class='del'>-	  for unqualified constant names.</div><div class='del'>-</div><div class='del'>-Mon May 10 01:18:15 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (logging): append "\n".</div><div class='del'>-</div><div class='del'>-Sun May  9 23:38:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: ported documentation improvement from 1.8 branch</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb:   ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb:    ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb:   ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb: ditto</div><div class='del'>-</div><div class='del'>-Sun May  9 23:34:51 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: added test_strtod to test Float("0").</div><div class='del'>-</div><div class='del'>-Sun May  9 13:24:24 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb: use FileUtils::copy.</div><div class='del'>-</div><div class='del'>-Sun May  9 12:34:26 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c: removed unused file.</div><div class='del'>-</div><div class='del'>-Sat May  8 10:53:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): open should not ignore block when "to_open"</div><div class='del'>-	  method is used.  [ruby-dev:23478]</div><div class='del'>-</div><div class='del'>-Fri May  7 22:07:39 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mv): new option `force'. [ruby-talk:99457]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: new method for command option reflection:</div><div class='del'>-	  FileUtils.commands, .options, .have_option?, .options_of,</div><div class='del'>-	  .collect_methods.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: module Verbose, NoWrite, DryRun do not have</div><div class='del'>-	  option flags @fileutils_verbose and @fileutils_noop, they make no</div><div class='del'>-	  sense.</div><div class='del'>-</div><div class='del'>-Fri May  7 21:50:21 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::parse_include): Allow</div><div class='del'>-	  multiple arguments to 'include'</div><div class='del'>-</div><div class='del'>-Fri May  7 21:03:51 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_list): Array() breaks pathes including "\n".</div><div class='del'>-	  [ruby-core:02843]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (mkdir): test "\n" in path.</div><div class='del'>-</div><div class='del'>-Fri May  7 20:53:25 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_modify): typo fixed. [ruby-dev:23473]</div><div class='del'>-</div><div class='del'>-Fri May  7 11:17:27 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): "0.0000000000000000001" should be converted</div><div class='del'>-	  to 1.0e-19 instead of 0.0. (leading zeros aren't significant digits)</div><div class='del'>-	  [ruby-talk:99318] [ruby-dev:23465]</div><div class='del'>-</div><div class='del'>-Thu May  6 22:27:32 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ippaddr): use NUMERICHOST if can not resolve</div><div class='del'>-	  hostname.</div><div class='del'>-</div><div class='del'>-Thu May  6 22:09:29 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]</div><div class='del'>-</div><div class='del'>-Thu May  6 14:22:29 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (to_yaml): added instance variable handling</div><div class='del'>-	  for Ranges, Strings, Structs, Regexps.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (to_yaml_fold): new method for setting a</div><div class='del'>-	  String's flow style.</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML::object_maker): now uses Object.allocate.</div><div class='del'>-</div><div class='del'>-	* ext/syck/gram.c: fixed transfer methods on structs, broke it</div><div class='del'>-	  last commit.</div><div class='del'>-</div><div class='del'>-Thu May  6 14:38:02 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): simplified code (not change behavior)</div><div class='del'>-</div><div class='del'>-Thu May  6 13:32:44 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: get rid of side effect of Config.expand, patched by</div><div class='del'>-	  &lt;tttt01@infoseek.jp&gt;  (ruby-bugs:PR#597)</div><div class='del'>-</div><div class='del'>-Thu May  6 11:40:28 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (string): accept NIL.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (body_type_basic): allow body-fields omissions.</div><div class='del'>-</div><div class='del'>-Thu May  6 01:59:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb (Generators::HtmlMethod::params):</div><div class='del'>-	  Don't include the &amp;block parameter if we have explicit</div><div class='del'>-	  yield parameters.</div><div class='del'>-</div><div class='del'>-Wed May  5 03:52:31 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb: use recv instead of recvfrom.</div><div class='del'>-</div><div class='del'>-Wed May  5 00:38:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: documented</div><div class='del'>-	* lib/xmlrpc/README.txt: introduced for documentation purposes</div><div class='del'>-</div><div class='del'>-Mon May  3 09:47:24 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):</div><div class='del'>-	  Fix parsing bug if yield called within 1 line block</div><div class='del'>-</div><div class='del'>-Sun May  2 21:56:48 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (rm_f, rm_r): test :force flag.</div><div class='del'>-</div><div class='del'>-Sun May  2 01:04:38 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib, ext/tk: renewal Ruby/Tk</div><div class='del'>-</div><div class='del'>-Fri Apr 30 20:08:41 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (SIZEOF_TIME_T): support SIZEOF_TIME_T == SIZEOF_INT.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 01:26:11 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h, regparse.c: imported Oni Guruma 2.2.8.</div><div class='del'>-</div><div class='del'>-Wed Apr 28 01:16:23 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h, regparse.c: imported Oni Guruma 2.2.7.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 14:43:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: LIBURUBY_A is needed for extconf.rb even when</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 13:33:50 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content): turn off NODE_NEWLINE flag to avoid</div><div class='del'>-	  unnecessary line trace for inlined expression.</div><div class='del'>-	  (ruby-bugs PR#1320)</div><div class='del'>-</div><div class='del'>-Tue Apr 27 08:15:13 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: passing Range tests.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: version 0.44.</div><div class='del'>-</div><div class='del'>-	* ext/syck/gram.c: transfers no longer open an indentation.</div><div class='del'>-	  fixed transfers which precede blocks.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c: fixed segfault if an anchor has been released already.</div><div class='del'>-</div><div class='del'>-	* ext/syck/node.c (syck_free_members): organized order of free'd nodes.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with</div><div class='del'>-	  StringValue.</div><div class='del'>-</div><div class='del'>-Mon Apr 26 23:56:54 2004  Daniel Kelley  &lt;news-1082945587@dkelley.gmp.san-jose.ca.us&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: fixed wrong function signature.</div><div class='del'>-	  [ruby-talk:98349]</div><div class='del'>-</div><div class='del'>-Mon Apr 26 21:40:09 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::Context::add_alias): Only alias</div><div class='del'>-	  to instance methods.</div><div class='del'>-</div><div class='del'>-Sun Apr 25 18:26:23 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_fork): set to no on DJGPP.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 14:32:03 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: applied stack error handling patch. [ruby-dev:23431]</div><div class='del'>-</div><div class='del'>-Sat Apr 24 10:38:31 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::group_lines):</div><div class='del'>-	  Fix bug where consecutive headings are merged.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 23:24:47 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: $hdrdir should not contain macros, for backward</div><div class='del'>-	  compatibility.  [bruby-dev:28]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): in the case of extout, just copy</div><div class='del'>-	  script files, without comparison.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 16:38:46 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: sync taint/freeze flag between</div><div class='del'>-	  a pathname object and its internal string object.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 14:52:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt, arg, aref_args): should not make sole splat into</div><div class='del'>-	  array, in aref_args other than aref with op_asgn.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 14:14:38 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: don't use Regexp#source to embed regexps.</div><div class='del'>-	  [ruby-dev:23432]</div><div class='del'>-</div><div class='del'>-Thu Apr 22 18:25:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, ext/extmk.rb: make ext and .ext get removed by distclean.</div><div class='del'>-</div><div class='del'>-Thu Apr 22 10:07:01 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (distclean-local): should remove $(RBCONFIG).</div><div class='del'>-</div><div class='del'>-Thu Apr 22 04:17:57 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_define_method): allow binding methods to modules.</div><div class='del'>-	  [ruby-dev:23410]</div><div class='del'>-</div><div class='del'>-	* parse.y (aref_args): should pass expanded list.  [ruby-core:02793]</div><div class='del'>-</div><div class='del'>-Thu Apr 22 01:12:57 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): tweak output string based to preserve</div><div class='del'>-	  decimal point and to remove trailing zeros.  [ruby-talk:97891]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM</div><div class='del'>-	  search.  [ruby-talk:97342]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 23:04:42 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb, test/rinda/test_rinda.rb: check Hash tuple size.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 20:05:00 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.</div><div class='del'>-	  [ruby-list:39542]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 18:39:46 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: merge SMTP-TLS patch.  This patch is</div><div class='del'>-	  contributed by Daniel Hob. [ruby-core:02789]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 18:23:45 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: change coding style: def m( a ) -&gt; def m(a).</div><div class='del'>-</div><div class='del'>-Wed Apr 21 18:01:47 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: do not use class variables.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (do_start): ensure to clean up connection when</div><div class='del'>-	  authentication failed.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 17:23:59 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTP#connect): CONNECT must precede SSL connect.</div><div class='del'>-	  [ruby-dev:23379]</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTP.new): class variables are not inherited</div><div class='del'>-	  now.</div><div class='del'>-</div><div class='del'>-Wed Apr 21 15:56:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/console/testrunner.rb (test_started): restore $0</div><div class='del'>-	  after changing process title.  [ruby-talk:97426]</div><div class='del'>-</div><div class='del'>-Wed Apr 21 10:18:06 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c(rb_spawn): fix SEGV at "p system('command line here')"</div><div class='del'>-	 (may happen only in bccwin32) [ruby-dev:23380]</div><div class='del'>-</div><div class='del'>-Mon Apr 19 20:58:44 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: Updated RDocs.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 18:11:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_equal): returns true if two hashes have same set</div><div class='del'>-	  of key-value set.  [ruby-talk:97559]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_eql): returns true if two hashes are equal and</div><div class='del'>-	  have same default values.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 08:19:11 2004  Doug Kearns  &lt;djkea2@mugca.its.monash.edu.au&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c, io.c, pack.c, lib/benchmark.rb, lib/cgi.rb, lib/csv.rb,</div><div class='del'>-	  lib/date.rb, lib/ftools.rb, lib/getoptlong.rb, lib/logger.rb,</div><div class='del'>-	  lib/matrix.rb, lib/monitor.rb, lib/set.rb, lib/thwait.rb,</div><div class='del'>-	  lib/timeout.rb, lib/yaml.rb, lib/drb/drb.rb, lib/irb/workspace.rb,</div><div class='del'>-	  lib/net/ftp.rb, lib/net/http.rb, lib/net/imap.rb, lib/net/pop.rb,</div><div class='del'>-	  lib/net/telnet.rb, lib/racc/parser.rb, lib/rinda/rinda.rb,</div><div class='del'>-	  lib/rinda/tuplespace.rb, lib/shell/command-processor.rb,</div><div class='del'>-	  lib/soap/rpc/soaplet.rb, lib/test/unit/testcase.rb,</div><div class='del'>-	  lib/test/unit/testsuite.rb: typo fix.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 08:14:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Allow for</div><div class='del'>-	  #ifdef HAVE_PROTOTYPES</div><div class='del'>-</div><div class='del'>-Fri Apr 16 17:04:07 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_equal): always returns true or false, never</div><div class='del'>-	  returns nil. [ruby-dev:23404]</div><div class='del'>-</div><div class='del'>-Fri Apr 16 12:38:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRb::DRbUnknown::initialize): Exception#to_str is</div><div class='del'>-	  deprecated.</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform): multiple</div><div class='del'>-	  value class changed.</div><div class='del'>-</div><div class='del'>-	* lib/drb/invokemethod.rb (DRb::DRbServer::InvokeMethod18Mixin::block_yield):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 16 08:27:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: skip linking when libraries to be preloaded not</div><div class='del'>-	  compiled.  [ruby-list:39561]</div><div class='del'>-</div><div class='del'>-Thu Apr 15 19:57:11 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (pst_success_p): new method Process::Status#success?.</div><div class='del'>-	  [ruby-dev:23385]</div><div class='del'>-</div><div class='del'>-	* rubytest.rb: do nothing while cross-compiling, return status in</div><div class='del'>-	  system independent style.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 19:26:54 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_push_glob): Dir.glob() should return nil if block is given.</div><div class='del'>-	  (http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Dir)</div><div class='del'>-</div><div class='del'>-	* dir.c (push_braces): Dir.glob() should handle '{ }' nested more than</div><div class='del'>-	  3 times.</div><div class='del'>-</div><div class='del'>-	* dir.c (push_braces, rb_push_glob): Dir.glob() should handle escaped</div><div class='del'>-	  '{' and '}' and ','.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:23376]</div><div class='del'>-</div><div class='del'>-Thu Apr 15 17:12:13 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (Init_gdbm): define GDBM::READER, GDBM::WRITER,</div><div class='del'>-	  GDBM::WRCREAT and GDBM::NEWDB.</div><div class='del'>-	  (fgdbm_initialize): use specified read/write flag.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 13:06:09 2004  Doug Kearns  &lt;djkea2@mugca.its.monash.edu.au&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,</div><div class='del'>-	  process.c, re.c, string.c: typos in RDoc comments.  [ruby-core:02783]</div><div class='del'>-</div><div class='del'>-Wed Apr 14 11:29:56 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq): workaround for bcc32's bug.</div><div class='del'>-	  (ruby-bugs-ja:PR#594)</div><div class='del'>-</div><div class='del'>-Wed Apr 14 11:06:38 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::scan): Changed</div><div class='del'>-	  behavior of :enddoc: -- it now unconditionally terminates</div><div class='del'>-	  processing of the current file.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 10:57:40 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h: include &lt;net/socket.h&gt; to get fd_set definition in BeOS.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 23:00:55 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb: change pattern matching.</div><div class='del'>-	  a === b -&gt; a == b || a === b. [druby-ja:98]</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 21:50:57 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (PHONY): Borland make disallows empty command</div><div class='del'>-	  rules.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 17:55:16 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (begin_transport): should not overwrite HTTP</div><div class='del'>-	  request header. [ruby-list:39543]</div><div class='del'>-</div><div class='del'>-Tue Apr 13 16:48:00 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: merge POP3S patch.  This patch is contributed by</div><div class='del'>-	  Daniel Hobe.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 02:56:29 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: changed the order of ascii.c alphabetically.</div><div class='del'>-</div><div class='del'>-Mon Apr 12 19:11:21 2004  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_copy_finalizer): typo.  [ruby-core:02774]</div><div class='del'>-</div><div class='del'>-Mon Apr 12 18:45:58 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_init_i): should return</div><div class='del'>-	  a value.</div><div class='del'>-</div><div class='del'>-Mon Apr 12 10:39:50 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_glob2, rb_glob, push_globs, push_braces, rb_push_glob):</div><div class='del'>-	  fix memory leak. (leaked when block was interrupted)</div><div class='del'>-</div><div class='del'>-Sun Apr 11 19:10:13 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): restore source file/line after</div><div class='del'>-	  statically linked extensions initialized.  [ruby-dev:23357]</div><div class='del'>-</div><div class='del'>-Sun Apr 11 10:47:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::TopLevel::add_class_or_module): Toplevel</div><div class='del'>-	  classes and modules are a special case too... (handle extending existing</div><div class='del'>-	  classes with or without :enddoc:)</div><div class='del'>-</div><div class='del'>-Sat Apr 10 23:51:13 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::Context::add_to): Implementation of :enddoc:</div><div class='del'>-	  made one too many assumptions...</div><div class='del'>-</div><div class='del'>-Sat Apr 10 00:00:19 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup/inline.rb: Fix problem</div><div class='del'>-	  with \_cat_&lt;b&gt;dog&lt;/b&gt;</div><div class='del'>-</div><div class='del'>-Fri Apr  9 17:05:21 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (has_magic, find_dirsep): incomplete '[' matches no character</div><div class='del'>-	  in Dir.glob. (follows File.fnmatch's behavior)</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch_helper): incomplete escape is ignored in File.fnmatch.</div><div class='del'>-	  (follows Dir.glob's behavior)</div><div class='del'>-</div><div class='del'>-	* dir.c (find_dirsep): '/' between '[' and ']' is ignored in Dir.glob.</div><div class='del'>-	  (follows File.fnmatch with File::FNM_PATHNAME 's behavior)</div><div class='del'>-</div><div class='del'>-	* dir.c (find_dirsep): escaped slash '\/' loses its meaning as</div><div class='del'>-	  directory separator in Dir.glob.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:23291]</div><div class='del'>-</div><div class='del'>-Thu Apr  8 20:25:19 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): skip uncompiled extensions.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): emit no rules for static library if</div><div class='del'>-	  $static is nil, e.g., outside of ext/.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/console/testrunner.rb (test_started): show test</div><div class='del'>-	  name via $0.</div><div class='del'>-</div><div class='del'>-	* runruby.rb: set environments to use the compiled binary.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: do nothing while cross-compiling.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb, test/soap/calc/test_calc_cgi.rb: use envutil to</div><div class='del'>-	  know ruby binary, and restore $: after require.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: give priority to RUBY environment variable to</div><div class='del'>-	  use just compiled binary and libraries.</div><div class='del'>-</div><div class='del'>-Thu Apr  8 19:03:33 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): inverted condition.  [ruby-dev:23349]</div><div class='del'>-</div><div class='del'>-Thu Apr  8 18:22:00 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_s_list): return encoding list if no block</div><div class='del'>-	  is given.  [ruby-dev:23063]</div><div class='del'>-</div><div class='del'>-Wed Apr  7 15:29:24 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): use NUM2INT() instead of num2i32().</div><div class='del'>-</div><div class='del'>-Wed Apr  7 12:32:02 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb, lib/rss/1.0.rb: accepted rdf:resource or</div><div class='del'>-	  resource attribute in rdf:li.</div><div class='del'>-	* test/rss/test_parser.rb: added test for above change.</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb: reverted style.</div><div class='del'>-</div><div class='del'>-	* lib/rss/xmlparser.rb: normalized XMLParser class hierarchy.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 10:43:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, */Makefile.sub (ext/extinit.o): OUTFLAG</div><div class='del'>-	  doesn't work for object files on VC.</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (config.h): need SIZEOF_TIME_T now.</div><div class='del'>-</div><div class='del'>-Wed Apr  7 00:24:34 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb: fix hash tuple bug.</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb</div><div class='del'>-</div><div class='del'>-Tue Apr  6 18:24:18 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path): get path string via "to_path" method if</div><div class='del'>-	  path object is not a string. [Ruby2]</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): do not free threads in the</div><div class='del'>-	  exit finalizers.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): should use rb_io_check_io().</div><div class='del'>-</div><div class='del'>-Tue Apr  6 16:46:09 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check the size of time_t.</div><div class='del'>-</div><div class='del'>-	* time.c (time_add): new function.</div><div class='del'>-	  (time_plus): use time_add.</div><div class='del'>-	  (time_minus): use time_add.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 13:11:48 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (raise_socket_error): never return.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent): must return value.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 00:14:43 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): remove Exception#to_str. [Ruby2]</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): should no call "to_str" anymore use</div><div class='del'>-	  "message" method instead.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): Kernel#open() calls "to_open" if the first</div><div class='del'>-	  argument responds to it. [Ruby2]</div><div class='del'>-</div><div class='del'>-Tue Apr  6 00:13:43 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb: add require 'drb/drb'</div><div class='del'>-</div><div class='del'>-Mon Apr  5 22:25:32 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb: new file.</div><div class='del'>-	  (TestZlibGzipWriter#test_new_nil): test for [ruby-dev:23228].</div><div class='del'>-</div><div class='del'>-Mon Apr  5 22:16:23 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc_list): {a: 1, b: 2} should be allowed.</div><div class='del'>-	  [ruby-dev:23328]</div><div class='del'>-</div><div class='del'>-Mon Apr  5 19:43:40 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c: imported Oni Guruma 2.2.6.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 19:39:10 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c, oniguruma.h: imported Oni Guruma 2.2.6.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 12:12:09 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (raise_socket_error): some platforms don't have</div><div class='del'>-	  EAI_SYSTEM.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 08:18:23 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb: Remove leading ./ from file names so that cross</div><div class='del'>-	  references work properly.</div><div class='del'>-</div><div class='del'>-Sun Apr  4 14:01:20 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (Options::parse): Allow multiple -x options to</div><div class='del'>-	  RDoc. Fix bug where files weren't being excluded properly</div><div class='del'>-</div><div class='del'>-Sat Apr  3 09:36:38 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: version 0.43.</div><div class='del'>-</div><div class='del'>-Sat Apr  3 08:28:47 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/gram.c: allow root-level inline collections.</div><div class='del'>-	  [ruby-talk:94922]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb (Symbol#to_yaml): emit symbols as implicits.</div><div class='del'>-	  [ruby-talk:94930]</div><div class='del'>-</div><div class='del'>-Fri Apr  2 19:28:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (OUTFLAG): needed for static-linked-ext.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 18:00:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): extract necessary variables for static link</div><div class='del'>-	  from Makefile.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): save preload and libpath for next</div><div class='del'>-	  compile.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 17:27:17 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (top_include): include in the wrapped load is done for</div><div class='del'>-	  the wrapper, not for a singleton class for wrapped main.</div><div class='del'>-	  [ruby-dev:23305]</div><div class='del'>-</div><div class='del'>-Fri Apr  2 15:13:44 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): use temporary double variable to save the</div><div class='del'>-	  result (internal float register may be bigger than 64 bits, for</div><div class='del'>-	  example, 80 bits on x86).  [ruby-dev:23311]</div><div class='del'>-</div><div class='del'>-Fri Apr  2 14:35:26 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): should generate unique identifier of the</div><div class='del'>-	  pushing block.  [ruby-talk:96363]</div><div class='del'>-</div><div class='del'>-Fri Apr  2 11:36:20 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_load): make $LOADED_FEATURES built-in.</div><div class='del'>-	  [ruby-dev:23299]</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in.</div><div class='del'>-</div><div class='del'>-	* lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 07:31:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: mistakingly removed do_not_reverse_lookup.</div><div class='del'>-	  [ruby-list:39475]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent): fix memory leak, based on</div><div class='del'>-	  the patch from HORIKAWA Hisashi &lt;vzw00011@nifty.ne.jp&gt;.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 22:55:33 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Allow rdoc comments in</div><div class='del'>-	  =begin rdoc/=end</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb: Fix problem with comment in</div><div class='del'>-	  top-level method being taken as file comment.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 22:55:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb: Fix undefined variable warning.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 19:58:37 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/{factory.rb,registry.rb}: fixed illegal mapped URI</div><div class='del'>-	  object with soap/marshal.</div><div class='del'>-	  added URIFactory class for URI mapping.  BasetypeFactory checks</div><div class='del'>-	  instance_variables when original mapping is not allowed (ivar must</div><div class='del'>-	  be empty).  Instance of URI have instance_variables but it must be</div><div class='del'>-	  llowed whenever original mapping is allowed or not.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 19:06:23 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (year_leap_p): new function.</div><div class='del'>-	  (timegm_noleapsecond): ditto.</div><div class='del'>-	  (search_time_t): use timegm_noleapsecond instead of</div><div class='del'>-	  mktime for first guess.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 12:05:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass): define internal methods of the</div><div class='del'>-	  result class, but not metaclass of the caller.  [ruby-talk:96156]</div><div class='del'>-</div><div class='del'>-	* intern.h: provide proper prototypes.  [ruby-core:02724]</div><div class='del'>-</div><div class='del'>-	* ruby.h: missing.h is now prerequisite to intern.h.</div><div class='del'>-</div><div class='del'>-Wed Mar 31 11:17:16 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): raises RangeError if uv is out of UTF8 value</div><div class='del'>-	  range.  [ruby-dev:23281]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_binmode): stdio buffer should be empty when calling</div><div class='del'>-	  IO#binmode.  [ruby-talk:96155]</div><div class='del'>-</div><div class='del'>-Tue Mar 30 20:25:34 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (search_time_t): limit guess range by mktime if it is</div><div class='del'>-	  available.  [ruby-dev:23274]</div><div class='del'>-</div><div class='del'>-Tue Mar 30 18:19:00 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): fix SEGV at retry in iterator's receiver.</div><div class='del'>-	  [ruby-dev:23227]</div><div class='del'>-</div><div class='del'>-Mon Mar 29 20:17:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec): follow older behavior if close-on-exec is not</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): protect from exceptions while waiting failed</div><div class='del'>-	  process, if status is given.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 16:25:37 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (clean-local, distclean-local): remove</div><div class='del'>-	  work files.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (clean-local): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 28 14:23:02 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: def m( arg ) -&gt; def m(arg).</div><div class='del'>-</div><div class='del'>-Sun Mar 28 14:09:13 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (auth): failed when account/password include "%".</div><div class='del'>-	  [ruby-talk:95933]</div><div class='del'>-</div><div class='del'>-Sat Mar 27 21:40:41 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: permit extra semicolon in content-type field.</div><div class='del'>-</div><div class='del'>-Sat Mar 27 10:40:48 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* (lib/pp.rb, lib/prettyprint.rb): define seplist in PP::PPMethods</div><div class='del'>-	  instead of PrettyPrint.</div><div class='del'>-</div><div class='del'>-Sat Mar 27 01:47:09 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: trim tail space of each line.  no user visible change.</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb: fixed class definition mismatch.</div><div class='del'>-</div><div class='del'>-	* sample/openssl/gen_csr.rb: fixed wrong usage text.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 23:15:24 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb (RI::Options::show_version):</div><div class='del'>-	  Add --version option</div><div class='del'>-</div><div class='del'>-Thu Mar 25 21:45:00 2004  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Bug in + and - reported by Bret Jolly</div><div class='del'>-	  fixed.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 21:01:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_show_copyright): obtain copyright year from</div><div class='del'>-	  RUBY_RELEASE_YEAR.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 19:37:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: default rubyw icon to ruby.ico, and let DLL also</div><div class='del'>-	  include them.</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb: include winver.h for older WindowsCE.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 14:01:03 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, */Makefile.sub (lib, dll): phony targets.</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby, miniruby): ditto.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (rubyw): ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 04:16:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb (RI::Options): Add the --list-names option,</div><div class='del'>-	  which dumps our all known names</div><div class='del'>-</div><div class='del'>-Thu Mar 25 03:57:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_util.rb (NameDescriptor::initialize): No longer</div><div class='del'>-	  allow nested classes to be designated using "."--you must</div><div class='del'>-	  now use "::"</div><div class='del'>-</div><div class='del'>-Thu Mar 25 02:00:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/one_page_html.rb (Page):</div><div class='del'>-	  Fix to work with C modules.</div><div class='del'>-</div><div class='del'>-Wed Mar 24 20:49:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri.rb: Documented (thanks Dmitry V. Sabanin).</div><div class='del'>-	* lib/uri/common.rb: Ditto.</div><div class='del'>-	* lib/uri/ftp.rb: Ditto.</div><div class='del'>-	* lib/uri/generic.rb: Ditto.</div><div class='del'>-	* lib/uri/http.rb: Ditto.</div><div class='del'>-	* lib/uri/https.rb: Ditto.</div><div class='del'>-	* lib/uri/ldap.rb: Ditto.</div><div class='del'>-	* lib/uri/mailto.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 24 18:48:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by</div><div class='del'>-	  DESTDIR after installed.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (dummy_makefile): default file lists to be cleaned.</div><div class='del'>-</div><div class='del'>-Wed Mar 24 12:32:56 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::handle_class_module):</div><div class='del'>-	  Don't document methods if we don't know for sure the</div><div class='del'>-	  class or module.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):</div><div class='del'>-	  Don't store documentation for singleton classes if we</div><div class='del'>-	  don't know the real class.</div><div class='del'>-</div><div class='del'>-Wed Mar 24 11:11:26 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb (Generators::HTMLGenerator::load_html_template):</div><div class='del'>-	  Allow non-RDoc templates by putting a slash in the template name</div><div class='del'>-</div><div class='del'>-Wed Mar 24 10:05:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::_close): should not clear @tmpname</div><div class='del'>-	  until the file is really removed. [ruby-core:02684]</div><div class='del'>-</div><div class='del'>-Wed Mar 24 04:12:44 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_get): new method Module#class_variable_get.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_set): ditto (Module#class_variable_set).</div><div class='del'>-</div><div class='del'>-Tue Mar 23 17:45:22 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_atfork): 1.9 warns no more for thread</div><div class='del'>-	  termination.  [ruby-dev:23212]</div><div class='del'>-</div><div class='del'>-Tue Mar 23 14:46:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, */Makefile.sub, common.mk (clean-local, distclean-local):</div><div class='del'>-	  separate files under directories due to directory separator.</div><div class='del'>-</div><div class='del'>-	* */Makefile.sub (MKFILES): common.mk and */Makefile.sub should not be</div><div class='del'>-	  removed.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, wince/Makefile.sub: $* cannot appear in explicit</div><div class='del'>-	  rules.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in: some mingw stuffs were missed.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): Borland make wrongly removes braces</div><div class='del'>-	  from command lines.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: needs bcc32/mkexports.rb.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 08:21:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, */Makefile.sub, common.mk: extract common portions.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, cygwin/GNUmakefile.in, */Makefile.sub (RBCONFIG):</div><div class='del'>-	  separated time stamp file for rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* configure.in: append common.mk to Makefile.</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: keep mtime of rbconfig.rb if unchanged.</div><div class='del'>-</div><div class='del'>-	* win32/rm.bat: remove multiple files.</div><div class='del'>-</div><div class='del'>-	* wince/mkconfig_wce.rb: use fake.rb instead.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 22:17:35 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host):</div><div class='del'>-	  sort @virtual_hosts in address, port, host order.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#lookup_server):</div><div class='del'>-	  hostname should not be match if :ServerAlias is not given.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 21:11:16 2004  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/*: bug fix for Shell#system(command_line_string).</div><div class='del'>-</div><div class='del'>-Sun Mar 21 21:04:42 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.1: add -width option to .Bl for old groff.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 18:57:37 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/*: Test::Unit::TestCase -&gt; RSS::TestCase and</div><div class='del'>-	  Test::Unit::Assertions -&gt; RSS::Assertions.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 18:48:20 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/{rss,dublincore,syndication}.rb: handled W3CDTF correctly.</div><div class='del'>-</div><div class='del'>-Sun Mar 21 18:15:29 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_xml-stylesheet.rb: added tests for xml-stylesheet.</div><div class='del'>-</div><div class='del'>-	* lib/rss/xml-stylesheet.rb: added xml-stylesheet parsing</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 23:51:03 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_require_safe): preserve old ruby_errinfo.</div><div class='del'>-	  [ruby-talk:95409]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_raise): should not clear backtrace information if</div><div class='del'>-	  exception object already have one.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 21:21:03 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: rm -rf $extout, not extout.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 15:25:36 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/template/html/html.rb (RDoc::Page): Force</div><div class='del'>-	  page background to white.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 09:33:36 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb, lib/date/format.rb: _parse() now accepts fractional</div><div class='del'>-	  part of second minute that follows a comma or a full stop.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 21:06:21 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc_list): allow {sym: val} style Hash. [Ruby2]</div><div class='del'>-	  this change is done by Nobuyoshi Nakada &lt;nobu@ruby-lang.org&gt;.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 15:15:15 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_set): class variables become private to the</div><div class='del'>-	  particular class/module. [Ruby2]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_get): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_cvar_defined): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 11:31:32 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($beos, $solaris): add OS flags.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (RUBY): / is not recognized as path separator on</div><div class='del'>-	   nmake/bmake. [ruby-list:39388]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CLEANLIBS, CLEANOBJS): should remove *.exp with *.so.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 01:55:57 2004  Mauricio Fernandez  &lt;batsman.geo@yahoo.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_sync): need not to check writable. [ruby-core:02674]</div><div class='del'>-</div><div class='del'>-Thu Mar 18 19:47:44 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb, rubytest.rb: do not depend on srcdir.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 18:50:06 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: no longer embed srcdir and compile_dir into</div><div class='del'>-	  rbconfig.rb.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, lib/mkmf.rb: obtain top_srcdir and topdir from library</div><div class='del'>-	  paths.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 17:46:35 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: do not undef :to_a.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 16:22:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_eq): avoid false positive by using scope and</div><div class='del'>-	  dyna_vars.  no longer use frame.uniq.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_arity): arity is now defined as number of</div><div class='del'>-	  parameters that would not be ignored. i.e. Proc.new{}.arity</div><div class='del'>-	  returns zero.  update test suites too.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 15:27:25 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove specialized version of rb_Array().  use simple</div><div class='del'>-	  one defined in object.c.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove Kernel#to_a.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): use "to_a" instead of "to_ary".</div><div class='del'>-</div><div class='del'>-Wed Mar 17 00:22:03 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniguruma.h: imported Oniguruma 2.2.5.</div><div class='del'>-	* regparse.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 11:14:17 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch_helper): File.fnmatch('\.', '.') should return true.</div><div class='del'>-	  (Rev1.112 lost compatibility)</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch_helper): File.fnmatch('\/', '/', File::FNM_PATHNAME)</div><div class='del'>-	  should return true. (Rev1.112 lost compatibility)</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): File.fnmatch('**/.boo', '.foo/.boo',</div><div class='del'>-	  File::FNM_PATHNAME) should return false because of leading period.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 17:01:07 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_initialize): calling 'to_str' each time just for</div><div class='del'>-	  type checking is too heavy.  [ruby-core:02661]</div><div class='del'>-</div><div class='del'>-Mon Mar 15 10:14:51 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SocketForwarder):</div><div class='del'>-	  add do_not_reverse_lookup.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 07:39:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): should not re-submit TAG_BREAK if this</div><div class='del'>-	  yield is not break destination. [ruby-dev:23197]</div><div class='del'>-</div><div class='del'>-Sun Mar 14 22:07:38 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_raise): err at unstarted thread.  (PR#1302)</div><div class='del'>-</div><div class='del'>-Sat Mar 13 14:56:32 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_drb.rb: use 'druby://localhost:0'. [ruby-dev:23078]</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_eval.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_large.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_safe1.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_drb_drbssl.rb: use 'drbssl://localhost:0'.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 23:52:56 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): directory recursion '**/' can be used with</div><div class='del'>-	  File::FNM_PATHNAME. [ruby-dev:22901]</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch, fnmatch_helper): only '/' is accepted as path</div><div class='del'>-	  separator even in DOSISH environment. [ruby-dev:22974]</div><div class='del'>-	  [ruby-list:39337]</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch_helper): faster '*' matching.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 20:19:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_noreturn): default for platforms not support</div><div class='del'>-	  prototypes.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath): buffer for path name should have</div><div class='del'>-	  MAXPATHLEN.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): include topdir and hdrdir in VPATH.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): default dependency rule.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 07:35:36 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::General): add</div><div class='del'>-	  :DoNotReverseLookup.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#accept): call</div><div class='del'>-	  do_not_reverse_lookup for each socket if :DoNotReverseLookup</div><div class='del'>-	  is set.  [ruby-code:02357]</div><div class='del'>-</div><div class='del'>-Wed Mar 10 22:26:25 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (remove_dir): should handle symlink correctly.</div><div class='del'>-	  This patch is contributed by Christian Loew.  [ruby-talk:94635]</div><div class='del'>-</div><div class='del'>-Wed Mar 10 16:28:42 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (return_jump): set return value to the return</div><div class='del'>-	  destination.  separated from localjump_destination().</div><div class='del'>-</div><div class='del'>-	* eval.c (break_jump): break innermost loop (or thread or proc).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): set exit_value for block break.</div><div class='del'>-</div><div class='del'>-Wed Mar 10 16:00:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_s_def): Struct::new executes block with</div><div class='del'>-	  generated struct class. [ruby-talk:02606]</div><div class='del'>-</div><div class='del'>-Wed Mar 10 15:58:43 2004  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): Only print backtrace if generating the backtrace</div><div class='del'>-	  doesn't generate an exception.  [ruby-core:02621]</div><div class='del'>-</div><div class='del'>-Wed Mar 10 10:15:16 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (opt_W_getter): get rid of warning.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:</div><div class='del'>-	  fixed dependency.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 13:04:26 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetc): raise IOError instead of calling</div><div class='del'>-	  rb_sys_fail().  [ruby-talk:23181]</div><div class='del'>-</div><div class='del'>-Tue Mar  9 10:03:40 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:</div><div class='del'>-	  replaced regex.c entry with Oniguruma files.</div><div class='del'>-</div><div class='del'>-Tue Mar  9 01:09:46 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: replaced regex.c entry with Oniguruma files.</div><div class='del'>-</div><div class='del'>-Mon Mar  8 23:16:07 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: HTTPHeader did not initialized correctly.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (connect): does same debug output.</div><div class='del'>-</div><div class='del'>-Mon Mar  8 21:38:18 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (add_header): remove warning. [ruby-dev:23170]</div><div class='del'>-</div><div class='del'>-Mon Mar  8 21:09:39 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (range): Cancel change for incomplete '['. More discussion</div><div class='del'>-	  is needed.</div><div class='del'>-</div><div class='del'>-Mon Mar  8 19:35:13 2004  akira yamada  &lt;akira@arika.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::REGEXP::PATTERN::HOSTPORT): (?:#{PORT})</div><div class='del'>-	  -&gt; (?::#{PORT}).  [ruby-dev:23170]</div><div class='del'>-</div><div class='del'>-Mon Mar  8 15:03:24 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (range): treat incomplete '[' as ordinary character (like</div><div class='del'>-	  has_magic does). fix buffer overrun at incomplete escape like '[\'.</div><div class='del'>-</div><div class='del'>-Mon Mar  8 13:35:32 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_exp): need to separate initialization for bcc32.</div><div class='del'>-	  [ruby-dev:23169]</div><div class='del'>-</div><div class='del'>-	* oniguruma.h (ONIG_EXTERN): check __GNUC__ instead of __CYGWIN__.</div><div class='del'>-</div><div class='del'>-Mon Mar  8 01:05:55 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::HTTP): rename :RequestHander</div><div class='del'>-	  to :RequestCallback and add new option :ServerAlias.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): use</div><div class='del'>-	  :RequestCallback and warn if :RequestHandler is in server's option.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should print</div><div class='del'>-	  error message for WEBrick::HTTPSataus::Error.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#lookup_server):</div><div class='del'>-	  lookup for hostname from :ServerAlias if the req.host is not match</div><div class='del'>-	  to :ServerName.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet.rb (WEBrick::HTTPServlet::CGIHandler#do_GET):</div><div class='del'>-	  use $?.exitstatus and refine log message.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 16:22:26 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): use $? instead of $&lt;.</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (commit_new): use FileUtils.copy_stream for Cygwin.</div><div class='del'>-	  [ruby-dev:23157]</div><div class='del'>-</div><div class='del'>-Sun Mar  7 05:34:42 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: HTTPHeader keeps its header fields as an array.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method HTTPHeader#add_header, get_fields.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method HTTPHeader#content_length=.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method HTTPHeader#content_type, main_type,</div><div class='del'>-	  sub_type, type_params, content_type=, set_content_type.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTPHeader#basic_encode): result of pack(m) may</div><div class='del'>-	  contain multiple LFs.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 03:11:00 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method Net::HTTPRequest#body(=).</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: new method Net::HTTPRequest#body_stream(=).</div><div class='del'>-</div><div class='del'>-Sun Mar  7 02:06:07 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: spin off https code again.</div><div class='del'>-</div><div class='del'>-	* lib/net/https.rb: new file.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/https.rb: removed.  moved to net/https with</div><div class='del'>-	  slight modifications.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/protocols.rb: removed.  merged with net/http.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: new class BufferedIO.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: InternetMessageIO &lt; BufferedIO.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: BufferedIO.new takes an IO.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: follow InternetMessageIO's change.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 00:55:03 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: remove method: InternetMessageIO#address,</div><div class='del'>-	  port, ip_address, read_timeout(=), socket.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: simplify code.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: apply latest coding style.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 15:15:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/depend: depends on re.h and regex.h.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: no version check needed.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_init_copy): struct re_registers must</div><div class='del'>-	  not be bitwise copied.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 11:14:33 2004  David Black  &lt;dblack@wobblini.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: refixed the previous fix in IO#block_scanf</div><div class='del'>-</div><div class='del'>-Sat Mar  6 10:49:40 2004  David Black  &lt;dblack@wobblini.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: fixed a logic glitch in IO#block_scanf</div><div class='del'>-</div><div class='del'>-Sat Mar  6 02:00:19 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: net/https is merged.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/https.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 00:39:21 2004  Kazuo Saito  &lt;ksaito@uranus.dti.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* oniggnu.h: imported from Oniguruma library.</div><div class='del'>-	* oniguruma.h: ditto.</div><div class='del'>-	* regcomp.c: ditto.</div><div class='del'>-	* regenc.c: ditto.</div><div class='del'>-	* regenc.h: ditto.</div><div class='del'>-	* regerror.c: ditto.</div><div class='del'>-	* regex.c: ditto.</div><div class='del'>-	* regexec.c: ditto.</div><div class='del'>-	* reggnu.c: ditto.</div><div class='del'>-	* regint.h: ditto.</div><div class='del'>-	* regparse.c: ditto.</div><div class='del'>-	* regparse.h: ditto.</div><div class='del'>-	* ascii.c: ditto.</div><div class='del'>-	* euc_jp.c: ditto.</div><div class='del'>-	* sjis.c: ditto.</div><div class='del'>-	* utf8.c: ditto.</div><div class='del'>-</div><div class='del'>-	* MANIFEST: added Oniguruma files listed above.</div><div class='del'>-</div><div class='del'>-	* LEGAL: added Oniguruma license.</div><div class='del'>-</div><div class='del'>-	* regex.h: now includes oniggnu.h.</div><div class='del'>-</div><div class='del'>-	* re.c: applied Oniguruma patch.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 23:13:08 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: support WebDAV methods, PROPPATCH, LOCK,</div><div class='del'>-	  UNLOCK, OPTIONS, PROPFIND, DELETE, MOVE, COPY, MKCOL.</div><div class='del'>-	  This patch is contributed by Tatsuki Sugiura.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 20:58:37 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Net::HTTPResponse#response is obsolete.</div><div class='del'>-	  [ruby-core:02592]</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Net::HTTPResponse#header is obsolete.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Net::HTTPResponse#read_header is obsolete.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 20:10:57 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: new method StringScanner#initialize_copy</div><div class='del'>-	  to allow #dup and #clone.</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_strscan.rb: test StringScanner#dup.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 19:42:09 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTPResponse#to_ary): should return an object</div><div class='del'>-	  which does not respond to #to_ary.  It causes infinite loop in</div><div class='del'>-	  puts. [ruby-core:02578]</div><div class='del'>-</div><div class='del'>-Fri Mar  5 00:51:35 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Move RDoc documentation so that you can</div><div class='del'>-	  now say 'ri Test::Unit'</div><div class='del'>-</div><div class='del'>-Thu Mar  4 22:31:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: miniruby is not needed for cross compile.</div><div class='del'>-</div><div class='del'>-	* configure.in (PREP): miniruby for native compile.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 11:46:32 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command):</div><div class='del'>-	  detach server processes to get rid of zombies.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 10:41:25 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (T_MASK): save 1 bit in flags bits by shifting T_xxx</div><div class='del'>-	  values.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 08:08:36 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: get rid of warnings.</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 01:17:28 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_display.rb (DefaultDisplay::page): wait until the</div><div class='del'>-	  pager terminates.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 13:10:56 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (method_hash): new method. [ruby-talk:93968]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_eq): do not compare dyna_vars.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_hash): new method.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): protect break/return from within orphan (or</div><div class='del'>-	  lambda) Proc object.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 09:52:05 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($topdir): use compile_dir only when not installed yet.</div><div class='del'>-	  [ruby-talk:94098]</div><div class='del'>-</div><div class='del'>-Wed Mar  3 01:18:52 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/converter.rb: handled Uconv::Error.</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb: DublincoreModel -&gt; DublinCoreModel</div><div class='del'>-</div><div class='del'>-Wed Mar  3 00:59:30 2004  David Black  &lt;dblack@wobblini.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: soak_up_spaces only ungetc's non-space last</div><div class='del'>-	  character</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: IO#block_scanf now returns partial last iteration</div><div class='del'>-	  array if format string matches partly</div><div class='del'>-</div><div class='del'>-Tue Mar  2 16:30:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): erred program name should be reported by</div><div class='del'>-	  exceptions, instead of the first argument.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_v): use first argument as program name.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): search executable file if no program</div><div class='del'>-	  name given.</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb (invoke_service_command): use Process.spawn.</div><div class='del'>-	  [ruby-dev:23103]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_display.rb (setup_pager): use IO.popen.</div><div class='del'>-	  [ruby-dev:23086], [ruby-dev:23103]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/diagram.rb (convert_to_png): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/chm_generator.rb (compile_project): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 12:24:03 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, wince/Makefile.sub (config.h): shouldn't check</div><div class='del'>-	  defined? NORETURN. [ruby-dev:23100]</div><div class='del'>-</div><div class='del'>-Tue Mar  2 11:28:40 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (test_ljump): cannot use</div><div class='del'>-	  assert_nothing_raised due to passing block.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 06:23:14 2004  David Black  &lt;dblack@wobblini.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: fixed Kernel#scanf to propagate code block</div><div class='del'>-</div><div class='del'>-Mon Mar  1 23:25:40 2004  David Black  &lt;dblack@wobblini.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: Partial fix so STDIN#scanf works with new</div><div class='del'>-	 STDIN#pos behavior</div><div class='del'>-</div><div class='del'>-Mon Mar  1 19:42:05 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/setup.mak: configure's default is "--enable-install-doc"</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar  1 12:24:10 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_alias):</div><div class='del'>-	  Allow aliases to have parentheses</div><div class='del'>-</div><div class='del'>-Sun Feb 29 23:14:53 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):</div><div class='del'>-	  Handle :nodoc: on singleton classes.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 21:50:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, bcc32/README.bcc32, bcc32/configure.bat,</div><div class='del'>-	  bcc32/setup.mak: new configure scheme. use ``configure --prefix=dir''</div><div class='del'>-	  instead of ``make DESTDIR=dir install''.</div><div class='del'>-	  --with-static-linked-ext support on bccwin32. [ruby-dev:23034]</div><div class='del'>-</div><div class='del'>-Sat Feb 28 21:50:20 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/setup.mak: "configure --disable-install-doc" is now working.</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 15:09:49 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/configure.bat: append missing label ":exit".</div><div class='del'>-</div><div class='del'>-	* bcc32/configure.bat: fix typo.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 10:31:03 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add test_erb.rb</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb, test/erb/test_erb.rb: don't forget filename,</div><div class='del'>-	  if both filename and safe_level given. [ruby-dev:23050]</div><div class='del'>-</div><div class='del'>-Sat Feb 28 01:08:40 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): should not allow symbol for invalid global</div><div class='del'>-	  variable (e.g. `:$-)`). [ruby-core:02518]</div><div class='del'>-</div><div class='del'>-Fri Feb 27 20:37:09 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): no orphan block check is needed when pcall</div><div class='del'>-	  is true.</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_destination): update localjump condition.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 02:10:49 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_destination): lambda should not interfere</div><div class='del'>-	  return from the yielded block.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 00:53:49 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb, test/drb/drbtest.rb: require drb/eq.rb by default</div><div class='del'>-</div><div class='del'>-Thu Feb 26 12:15:02 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (make_cmdvector): adjust successive double-quote</div><div class='del'>-	  handling.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 09:42:56 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (delete_if_i): use st_delete_safe() (via</div><div class='del'>-	  rb_hash_delete()) instead of returning ST_DELETE.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 02:35:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec): get rid of SEGV when exec failed for command</div><div class='del'>-	  in single string.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 21:17:33 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free), io.c (rb_io_fptr_finalize), rubyio.h (OpenFile):</div><div class='del'>-	  sharing OpenFile.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): accept IO instance.  [ruby-dev:22195]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 21:16:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (with_destdir): should return the given argument if no</div><div class='del'>-	  DESTDIR is given.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: use path name expansion of cmd.exe.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 20:44:45 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi-lib.rb, lib/getopts.rb, lib/importenv.rb, lib/parsearg.rb:</div><div class='del'>-	  warn with caller position.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_content.rb, test/rss/test_dublincore.rb,</div><div class='del'>-	  test/rss/test_syndication.rb, test/rss/test_trackback.rb: use cgi</div><div class='del'>-	  instead of cgi-lib.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 18:42:03 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): '**/' should not match leading period</div><div class='del'>-	  unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014]</div><div class='del'>-</div><div class='del'>-Tue Feb 24 18:03:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (test_fnmatch): test for dir.c:1.108.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 17:07:17 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): File.fnmatch with File::FNM_PATHNAME was broken</div><div class='del'>-	  for the pattern including '*' followed by '/'.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 13:22:21 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc::normalized_file_list): Attempt to get better</div><div class='del'>-	  heuristics on which files to include and exclude. Now only include</div><div class='del'>-	  non-standard files if they are explicitly named in ARGV.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 07:23:30 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Deal with :stopdoc: when</div><div class='del'>-	  choosing a default main page to display (ie. don't select a page</div><div class='del'>-	  if we don't have documentation for it).</div><div class='del'>-</div><div class='del'>-Tue Feb 24 06:40:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle</div><div class='del'>-	  class variables in code listings</div><div class='del'>-</div><div class='del'>-Tue Feb 24 06:32:27 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_aliases): Handle</div><div class='del'>-	  aliases in C files.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 06:16:22 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb (RDoc::RDoc::document): Now create op dir _before_</div><div class='del'>-	  parsing files.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 06:08:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_constant):</div><div class='del'>-	  Start collecting text of constant values earlier: was missing</div><div class='del'>-	  values in output if there was no space after '='</div><div class='del'>-</div><div class='del'>-Tue Feb 24 06:08:25 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Escape contant values.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 03:45:06 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (ossl_config_each): add new method</div><div class='del'>-	  OpenSSL::Config#each. it iterates with section name, field name</div><div class='del'>-	  and value.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (Init_ossl_config): include Enumerable.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 09:09:44 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (parse_args): use optparse instead of getopts.</div><div class='del'>-</div><div class='del'>-	* instruby.rb (DOSISH): embedded path in batch files should not be</div><div class='del'>-	  prefixed by DESTDIR.  [ruby-core:02186]</div><div class='del'>-</div><div class='del'>-Sun Feb 22 14:58:04 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: $extstatic is Array or nil now.  [ruby-talk:93383]</div><div class='del'>-</div><div class='del'>-	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub: terminate options.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 13:05:37 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo::to_s): should include fragment.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 12:58:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: use optparse instead of getopts.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 09:51:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: corrected documentation format (rb_reg_initialize_m)</div><div class='del'>-</div><div class='del'>-Sat Feb 21 22:41:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: documented, but needs more effort.</div><div class='del'>-</div><div class='del'>-Sat Feb 21 14:33:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: prefer relative path.  [ruby-talk:93037]</div><div class='del'>-</div><div class='del'>-Sat Feb 21 11:12:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/os2.c, missing/x68.c: typo fix.  pointed out by greentea.</div><div class='del'>-</div><div class='del'>-Fri Feb 20 19:11:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct#initialize_copy): should not share</div><div class='del'>-	  members.  [ruby-dev:22966]</div><div class='del'>-</div><div class='del'>-Fri Feb 20 18:59:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to</div><div class='del'>-	  irb. [ruby-dev:39243]</div><div class='del'>-</div><div class='del'>-Fri Feb 20 12:55:27 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): fix typo.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): first argument to CreateProcess() must</div><div class='del'>-	  have path, not just basename.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 23:24:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):</div><div class='del'>-	  Support visibility modifiers for attributes</div><div class='del'>-</div><div class='del'>-Thu Feb 19 22:39:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: documented</div><div class='del'>-</div><div class='del'>-Thu Feb 19 22:39:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: DRb.start_service only once in testsuites.</div><div class='del'>-	  DRb.start_service could handle this.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 22:24:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/rubytypeFactory.rb: should not dump singleton class.</div><div class='del'>-	  [ruby-dev:22588]</div><div class='del'>-	  c = class &lt;&lt; Object.new; class C; self; end; end; SOAPMarshal.dump(c)</div><div class='del'>-</div><div class='del'>-Thu Feb 19 18:08:18 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: improved documentation</div><div class='del'>-</div><div class='del'>-Thu Feb 19 18:08:18 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, win32/win32.h: fixed prototypes.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wait): same as waitpid() with -1.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 02:34:28 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::include_file):</div><div class='del'>-	  Only strip comment markers if all lines start with comments.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 03:05:49 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: StringScanner#restsize is obsolete;</div><div class='del'>-	  use #rest_size instead.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: StringScanner#matchedsize is obsolete;</div><div class='del'>-	  use #matched_size instead.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 02:42:19 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: don't use rb_eval_string, it defines</div><div class='del'>-	  classes under the module when required in module clauses.</div><div class='del'>-	  [ruby-dev:22951]</div><div class='del'>-</div><div class='del'>-Thu Feb 19 02:37:28 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: merge documentation from 1.8 branch.</div><div class='del'>-	  Thanks Gavin Sinclair.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 00:20:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi-lib.rb:   deprecated after 1.8.1</div><div class='del'>-</div><div class='del'>-	* lib/getopts.rb:   ditto</div><div class='del'>-</div><div class='del'>-	* lib/importenv.rb: ditto</div><div class='del'>-</div><div class='del'>-	* lib/parsearg.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu Feb 19 00:11:05 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::handle):</div><div class='del'>-	  Strip extraneous space from filenames in :include:</div><div class='del'>-</div><div class='del'>-Wed Feb 18 22:53:41 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/unix.rb: remove O_NONBLOCk, thanks \ay</div><div class='del'>-</div><div class='del'>-Wed Feb 18 22:42:19 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: improt test_rinda.rb</div><div class='del'>-</div><div class='del'>-Wed Feb 18 22:03:11 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/*: should not depend on $KCODE.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 18:07:09 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf.rb: added tests.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 17:18:01 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: need to include &lt;olectl.h&gt; on Cygwin.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 10:40:38 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): sign bit extension should not be done</div><div class='del'>-	  if FPLUS flag is specified.  [ruby-list:39224]</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): do not prepend dots for negative</div><div class='del'>-	  numbers if FZERO is specified.  [ruby-dev:39218]</div><div class='del'>-</div><div class='del'>-Wed Feb 18 10:23:34 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): clean up.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 23:40:34 2004  Guy Decoux  &lt;ts@moulon.inra.fr&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): preserve original val for</div><div class='del'>-	  format_integer. [ruby-talk:92975]</div><div class='del'>-</div><div class='del'>-Tue Feb 17 23:28:45 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/test_marshal.rb, test/ruby/test_marshal.rb: do $:</div><div class='del'>-	  trick to share the testcase test/ruby/marshaltestlib.rb.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 23:13:23 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/marshaltestlib.rb: common marshal testcase added.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: use above testsuite.</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/test_marshal.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/cmarshal.rb: removed (not used).</div><div class='del'>-</div><div class='del'>-Tue Feb 17 19:34:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): $extout_prefix doesn't vary for libraries.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): remove compile directory if empty.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (parse_args) lib/mkmf.rb (create_makefile): move</div><div class='del'>-	  initialization of $extout_prefix from lib/mkmf.rb.  [ruby-dev:22928]</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: clear ext and extout directory when cleaning.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CLEANLIBS): should be under $(arch) directory.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 18:02:10 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: ScanError may be (wrongly) garbage</div><div class='del'>-	  collected. (thanks Gavin Sinclair)</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: move ::ScanError to StringScanner::Error.</div><div class='del'>-	  ::ScanError is also defined for backward compatibility.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: #peep is obsolete, use #peek.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: #empty? is obsolete, use #eos?.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: #clear is obsolete, use #terminate.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: #getbyte is obsolete, use #get_byte.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 12:12:47 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (parse_args): delay expanding $(extout) until invoking</div><div class='del'>-	  make.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (CLEANLIBS): should remove files have specific</div><div class='del'>-	  extensions.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 11:33:30 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rexmlparser.rb: REXML version may be 4 digits.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 10:45:59 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_emitter_end_object): takes only one arg.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 07:48:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/SHIFT_JIS: wrong library name.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 01:35:28 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCE</div><div class='del'>-	  to NODE_LIT.  [ruby-dev:22920]</div><div class='del'>-</div><div class='del'>-Tue Feb 17 01:20:57 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: new module FileUtils::DryRun.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 23:28:14 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: document reduction.  [ruby-core:02429]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: added 0..1 test with "0".."1" on display.</div><div class='del'>-	  it should be defined that the specification about what kind of Range</div><div class='del'>-	  is supported in ruby's custom type in YAML.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 22:22:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: corrected doc format</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb: added documentation (from Hugh Sasse)</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb: ditto</div><div class='del'>-</div><div class='del'>-	  [Note: rinda files actually committed Wed Feb 18 07:27:00 2004]</div><div class='del'>-</div><div class='del'>-Mon Feb 16 20:28:52 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: show more warnings. (referring to mingw)</div><div class='del'>-</div><div class='del'>-	* bcc32/setup.mak: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 18:35:58 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): should create *.pdb on ext/,</div><div class='del'>-	  not .ext/.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): convert the name of import</div><div class='del'>-	  library.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): now don't need to remove</div><div class='del'>-	  $(TARGET).lib.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 15:45:22 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check functions, fork spawnv.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): accept argv not only single command line.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec_n): export.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_check_argv): check if arguments are safe to invoke.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): retry to fork.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn): spawn child process asynchronously.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): raise an exception if the command could not</div><div class='del'>-	  execute.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_argv_size): count necessary size for joined</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_join_argv): join arguments with quoting.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe_exec, rb_w32_spawn, rb_w32_aspawn):</div><div class='del'>-	  accept program name adding to command line.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 15:18:33 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: add note for Racc full package.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 15:13:01 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/README: new file.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/MANIFEST: add README.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 12:29:10 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_s_list): new method Iconv.list</div><div class='del'>-	  (libiconv only).</div><div class='del'>-</div><div class='del'>-Mon Feb 16 10:29:52 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (CompareImpl): File.fnmatch and Dir.glob get better performance</div><div class='del'>-	  in Win32. This is achieved by calling downcase() for single-byte</div><div class='del'>-	  characters. (CharLower() is slower than downcase())</div><div class='del'>-</div><div class='del'>-Mon Feb 16 02:14:29 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: should warn suspicious pointer conversion.</div><div class='del'>-</div><div class='del'>-	* bcc32/setup.mak: ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 20:56:22 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_braces): remove wrong const. [ruby-dev:22891]</div><div class='del'>-</div><div class='del'>-Sun Feb 15 20:41:15 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/soap/calc/httpd.rb, sample/soap/exchange/httpd.rb,</div><div class='del'>-	  sample/soap/sampleStruct/httpd.rb, sample/wsdl/googleSearch/httpd.rb:</div><div class='del'>-	  use soap/property instead of getopts for configuring DocumentRoot</div><div class='del'>-	  and port# of httpd.  see samplehttpd.conf below.</div><div class='del'>-</div><div class='del'>-	* sample/soap/calc/samplehttpd.conf,</div><div class='del'>-	  sample/soap/exchange/samplehttpd.conf,</div><div class='del'>-	  sample/soap/sampleStruct/samplehttpd.conf,</div><div class='del'>-	  sample/wsdl/googleSearch/samplehttpd.conf: added.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 19:13:33 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb: read(tpl,0), raise RequestExpiredError</div><div class='del'>-	  if not found.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 15:48:57 2004  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add IDispatch wrapper in val2variant.</div><div class='del'>-	  Thanks, arton.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 15:23:29 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h, dir.c (rb_glob): add const.</div><div class='del'>-</div><div class='del'>-Sun Feb 15 01:46:05 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: absolute path of ruby is assigned to $(RUBY).</div><div class='del'>-	  [ruby-dev:22870]</div><div class='del'>-</div><div class='del'>-Sat Feb 14 23:59:11 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: use fileutils.rb instead of ftools.rb.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub (config.h): define</div><div class='del'>-	  STACK_GROW_DIRECTION.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (config.h): add newer checks.</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub (config.h): define NEED_IO_SEEK_BETWEEN_RW.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 23:26:27 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb: use OptionParser instead of getopts.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 11:28:14 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/drb/*: import lib/drb/sample</div><div class='del'>-</div><div class='del'>-Sat Feb 14 11:14:12 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: add pretty_print, thanks gotoken.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 21:51:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: slightly improved documentation (sync with 1.8)</div><div class='del'>-</div><div class='del'>-Fri Feb 13 19:57:01 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_trackback.rb: added tests for TrackBack with RSS</div><div class='del'>-	  2.0.</div><div class='del'>-</div><div class='del'>-	* test/rss/common.rb: added methods make RSS 2.0.</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb: TrackBack API is decided.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: RSS::VERSION 0.0.7 -&gt; 0.0.8.</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb, lib/rss/rss.rb: replaced $DEBUG by RSS::DEBUG.</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb: removed RSS 2.0 URI. Because RSS 2.0 doesn't</div><div class='del'>-	  have URI.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 14:41:00 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: en-bugged at last commit (Feb 11 23:24:22 2004)</div><div class='del'>-</div><div class='del'>-Fri Feb 13 12:26:37 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: rescue SystemCallError instead</div><div class='del'>-	  of EINVAL.  File.link may raise EACCES on network file systems.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 05:18:58 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: File.link raises EINVAL on</div><div class='del'>-	  Win9x. [ruby-dev:22713]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 21:49:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb: documented</div><div class='del'>-</div><div class='del'>-Thu Feb 12 21:19:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: added and tidied documentation</div><div class='del'>-</div><div class='del'>-Thu Feb 12 20:45:01 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (WriteAdapater#puts): must append "\n" to</div><div class='del'>-	  the string, don't prepend. (ruby-bugs:PR#1280)</div><div class='del'>-</div><div class='del'>-Thu Feb 12 20:31:43 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_tmpsrc): cpp32 of Borland C++ ignores #error</div><div class='del'>-	  directives in DOS line-ending files at all.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 15:23:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rparen): ignore preceding newlines to right parentheses.</div><div class='del'>-	  (ruby-bugs:PR#1221) [ruby-dev:22858]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 14:17:43 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: set ac_cv_func_link to yes to enable link() on MinGW.</div><div class='del'>-	  [ruby-dev:22241]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 13:32:49 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (link): raise NotImplementedError on Win9X.</div><div class='del'>-	  contributed by Tietew. [ruby-dev:22713]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, win32/win32.h (link): add const.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 09:56:19 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (TkComm::tk_split_list): suppress a warning.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 02:23:56 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: use assert_raise instead of assert_raises.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb: ditto.</div><div class='del'>-	  use TSortHash and TSortArray instead of Hash and Array in test.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 23:24:22 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: properly treat a Tcl/Tk's string with escaping</div><div class='del'>-	  special characters.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 20:49:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (method_proc): return bound Proc object.  [ruby-dev:22854]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_define_method): bind method body itself for Method</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_DMETHOD): deprecated.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_inherited_p): export.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 16:43:50 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (umethod_bind): purge unused check.  [ruby-dev:22850]</div><div class='del'>-</div><div class='del'>-Tue Feb 10 14:33:08 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match): raise TypeError when both arguments are</div><div class='del'>-	  strings. [ruby-dev:22851]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match2): removed.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,</div><div class='del'>-	  wince/Makefile.sub (string.c): now not depend on version.h.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 17:46:07 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, configure.in,</div><div class='del'>-	  runruby.rb: run rdoc, test and so on with compiled extension</div><div class='del'>-	  libraries.  [ruby-dev:22688]</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, lib/mkmf.rb: make extension libraries in separated</div><div class='del'>-	  directory, similar to the actual directory structure.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils.copy_file): use the mode of the original</div><div class='del'>-	  file to create new file.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_paths.rb (RI::Paths::SYSDIR): get rid of unexpected</div><div class='del'>-	  influence by environment variable.</div><div class='del'>-</div><div class='del'>-	* bcc32/configure.bat, win32/configure.bat: add install-doc options.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, win32/win32.h (rb_w32_fstat): fix Borland C runtime</div><div class='del'>-	  bug which returns wrong mode.  [ruby-dev:22846]</div><div class='del'>-</div><div class='del'>-Mon Feb  9 16:30:12 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (detach_process_watcher): return the last status.</div><div class='del'>-	  [ruby-dev:22841]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 16:46:08 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PP::PPMethods::object_address_group): suppress negative</div><div class='del'>-	  sign for higher heap areas.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 16:18:27 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb (YAML_Unit_Tests::test_range_cycle):</div><div class='del'>-	  added tests.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 15:51:57 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile::test_fnmatch): added tests for</div><div class='del'>-	  File.fnmatch. [ruby-dev:22815][ruby-dev:22819]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 15:41:45 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb (YAML_Unit_Tests::test_range_cycle):</div><div class='del'>-	  added tests. [ruby-core:02306] [ruby-core:02311]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 14:24:35 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTP#request): should not overwrite Connection</div><div class='del'>-	  header. (ruby-bugs:PR#1274)</div><div class='del'>-</div><div class='del'>-Sun Feb  8 10:11:21 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): Dir.glob('**/') did not work. [ruby-dev:22832]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 00:29:26 2004  Hirokazu Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): File.fnmatch('*?', 'a') should return true.</div><div class='del'>-	  [ruby-dev:22815]</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): File.fnmatch('\[1\]' , '[1]') should return true.</div><div class='del'>-	  [ruby-dev:22819]</div><div class='del'>-</div><div class='del'>-	* dir.c: Did some styles (no change to behavior)</div><div class='del'>-</div><div class='del'>-Sat Feb  7 19:56:11 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb (IRB.rc_files): yield possible rc file names.</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb (IRB::ReadlineInputMethod::initialize):</div><div class='del'>-	  load and save history automatically.  [ruby-core:02352]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 22:48:16 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb (gen_url): Support</div><div class='del'>-	  https in RDoc hyperlinks</div><div class='del'>-</div><div class='del'>-Fri Feb  6 22:41:22 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PPInspectTest#test_to_s_with_iv): rollback the previous</div><div class='del'>-	  commit.  [ruby-dev:22813]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 22:22:50 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PPInspectTest#test_to_s_with_iv): remove instance</div><div class='del'>-	  variable which is defined in the test.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 18:54:18 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb (TestProc::test_eq): added a</div><div class='del'>-	  test.  [ruby-dev:22599]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 18:26:00 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb (TestProc::test_eq): added tests for</div><div class='del'>-	  Proc#==.  [ruby-dev:22592], [ruby-dev:22601]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 10:12:06 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_do_not_reverse_lookup): control reverse</div><div class='del'>-	  lookup for every instance.  [ruby-core:02346]</div><div class='del'>-</div><div class='del'>-Fri Feb  6 09:15:11 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/extend-command.rb: add irb_help command.  [ruby-talk:91610]</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb (IRB::ExtendCommand::Help): show RDoc.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 00:48:37 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb (PrettyPrint#first?): obsoleted.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 23:56:55 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb (PrettyPrint#seplist): added.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (PPMethods#pp_object): use seplist.</div><div class='del'>-	  (PPMethods#pp_hash): ditto.</div><div class='del'>-	  (Array#pretty_print): ditto.</div><div class='del'>-	  (Struct#pretty_print): ditto.</div><div class='del'>-	  (MatchData#pretty_print): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#pretty_print): use seplist.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 22:39:46 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_mode): should not sign-expand, so backout.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 02:12:06 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (test_l): fix wrong method name in document.</div><div class='del'>-	  (test_S): ditto.</div><div class='del'>-	  (test_b): ditto.</div><div class='del'>-	  (test_c): ditto.</div><div class='del'>-	  (test_suid): ditto.</div><div class='del'>-	  (test_sgid): ditto.</div><div class='del'>-	  (test_sticky): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 22:36:25 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb, lib/rss/content.rb, lib/rss/dublincore.rb,</div><div class='del'>-	  lib/rss/rss.rb, lib/rss/syndication.rb: removed warnings.</div><div class='del'>-</div><div class='del'>-	* lib/rss/converter.rb: removed handling load error of nkf.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_syndication.rb, test/rss/test_trackback.rb,</div><div class='del'>-	  test/rss/test_dublincore.rb, test/rss/test_content.rb: replaced</div><div class='del'>-	  'require "rss/parser"' by 'require "rss/1.0"'.</div><div class='del'>-</div><div class='del'>-	* test/rss/test_parser.rb, test/rss/test_accessor.rb: removed</div><div class='del'>-	  'require "rss/parser"'.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 11:23:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reduce_nodes): remove tail returns.  [ruby-talk:90934]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 08:04:57 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (Struct#pretty_print_cycle): follow 1.8 style.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 22:06:31 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_append, new_evstr, void_expr0): remove no longer used</div><div class='del'>-	  labels.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 18:45:50 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): don't specify RTLD_GLOBAL on Interix,</div><div class='del'>-	  because it caused SEGV when running runner.rb.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 01:54:00 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (Struct#pretty_print): make it 1.8 style.</div><div class='del'>-	  (Numeric#pretty_print, FalseClass#pretty_print)</div><div class='del'>-	  (TrueClass#pretty_print, Module#pretty_print): fix pp for objects</div><div class='del'>-	  with instance variables.  [ruby-talk:91157]</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback</div><div class='del'>-	  address.</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb (BasicSocket#send): don't replace because</div><div class='del'>-	  it has no hostname argument.</div><div class='del'>-	  (IPSocket.getaddress): raise SocketError instead of</div><div class='del'>-	  Resolv::ResolvError for errors.</div><div class='del'>-	  (TCPSocket#initialize, UDPSocket#bind, UDPSocket#connect)</div><div class='del'>-	  (SOCKSSocket#initialize): use IPSocket.getaddress instead of</div><div class='del'>-	  Resolv.getaddress.</div><div class='del'>-	  (UDPSocket#send): recognize 3 arguments form.  try all addresses on</div><div class='del'>-	  4 arguments form.</div><div class='del'>-</div><div class='del'>-Sun Feb  1 23:00:00 2004  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal.c: Bug in BigDecimal("1e#{n}").add BigDecimal('.5'),n)</div><div class='del'>-	  reported and fixed by Javier Goizueta.</div><div class='del'>-</div><div class='del'>-Sun Feb  1 18:21:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	  From ruby_1_8 branch:</div><div class='del'>-	* lib/test/unit.rb: rearranged documentation for RDoc's sake.</div><div class='del'>-	* lib/matrix.rb: improved documentation.</div><div class='del'>-	* lib/net/http.rb: slight documentation formatting improvement.</div><div class='del'>-</div><div class='del'>-Sun Feb  1 05:30:06 2004  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): warn HTTP_PROXY.</div><div class='del'>-	 raise an error on non-http proxy URI.</div><div class='del'>-	 (OpenURI::Buffer#&lt;&lt;): make a tempfile binmode.  [ruby-talk:90793]</div><div class='del'>-</div><div class='del'>-Sun Feb  1 00:57:41 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb (RSS::Parser): added @@default_parser. Used</div><div class='del'>-	  XML parser became selectable.</div><div class='del'>-	* test/rss/test_parser.rb: added tests for</div><div class='del'>-	  RSS::Parser.default_parser.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 02:28:15 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RPATHFLAG): set to -Wl,-R like NetBSD on Interix.</div><div class='del'>-</div><div class='del'>-Sat Jan 31 01:09:41 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: leading 0 padding of timestamp usec part.</div><div class='del'>-</div><div class='del'>-Fri Jan 30 18:53:23 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (KR_REHASH): wrong hash value on sizeof(long) &gt; sizeof(int).</div><div class='del'>-</div><div class='del'>-Thu Jan 29 23:11:57 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLEXT2): removed.  Ruby does not treat</div><div class='del'>-	  ".dll" as a extension library anymore.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub (DLEXT2):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* util.c (mblen): fix overrun.  [ruby-dev:22672]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 22:41:53 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Allow 'link:' in Tidylinks.</div><div class='del'>-	  THis means you can write "see f1[link:files/f1_rb.html]".</div><div class='del'>-</div><div class='del'>-Thu Jan 29 22:24:47 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/openssl/gen_csr.rb: follow OpenSSL::X509::Name change.</div><div class='del'>-	  ASN.1 type of subject DN elements were wrong.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 22:19:51 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/*: remove $: trick.  [ruby-dev:22763]  use test/runner.rb to</div><div class='del'>-	  run test.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 19:28:16 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Request#initialize): reject only when a path is</div><div class='del'>-	  empty. [ruby-dev:22771]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 18:54:08 2004  H.Yamamoto  &lt;ocean@m2.ccsnet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): infinite loop bug in win32 code.</div><div class='del'>-	  [ruby-dev:22770]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 17:03:49 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: merge tuning from H.Yamamoto &lt;ocean@m2.ccsnet.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:22761]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 11:32:14 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/test_*: do $: trick while searching a module in the current</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-	* test/xsd/test_xmlschemaparser.rb, test/wsdl/test_emptycomplextype.rb,</div><div class='del'>-	  test/soap/helloworld/test_helloworld.rb,</div><div class='del'>-	  test/soap/calc/{test_calc.rb,test_calc2.rb}: do File.expand_path</div><div class='del'>-	  before using __FILE__.</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: assert_equals -&gt; assert_equal.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 01:56:02 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: usec round-tripping skew. [ruby-core:2305]</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: character Range now round-trips. [ruby-core:2306]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: add Time and Range tests.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 00:00:46 2004  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss: rss/parser.rb is always required.</div><div class='del'>-</div><div class='del'>-Wed Jan 28 15:09:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss/*.rb: remove "test/" prefix.</div><div class='del'>-</div><div class='del'>-Wed Jan 28 13:07:02 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/extconf.rb: include iconv.h for libiconv.  [ruby-dev:22715]</div><div class='del'>-</div><div class='del'>-Wed Jan 28 12:43:07 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss: rss library imported. [ruby-dev:22726]</div><div class='del'>-</div><div class='del'>-Wed Jan 28 04:29:41 2004  Eric Schwartz  &lt;emschwar@fc.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb: use LOCK_SH to read, and a few other</div><div class='del'>-	  improvements.  [ruby-core:02328]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 15:00:14 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: better support for general delimited</div><div class='del'>-	  strings.  [ruby-dev:22695]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 11:04:40 2004  FUKUMOTO Atsushi  &lt;fukumoto@nospam.imasy.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recvfrom): sending length should be an</div><div class='del'>-	  invariant while retrying on EAGAIN.  [ruby-talk:89962]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 10:31:28 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (set_argv): fix condition.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 02:26:31 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick:HTTPUtils::parse_header):</div><div class='del'>-	  refine regex for header-name.</div><div class='del'>-</div><div class='del'>-Mon Jan 26 22:53:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Remove documentation references to $defout.</div><div class='del'>-</div><div class='del'>-Mon Jan 26 14:41:46 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb (WeakRef::initialize): set up @__id before</div><div class='del'>-	  calling "super".</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::initialize): preserve</div><div class='del'>-	  singleton_method_added method [ruby-dev:22685]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator::initialize): use Kernel::raise</div><div class='del'>-	  instead of mere raise.  [ruby-dev:22681]</div><div class='del'>-</div><div class='del'>-Mon Jan 26 12:45:23 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: define CONST84 when TCL_MAJOR_VERSION == 7</div><div class='del'>-</div><div class='del'>-Mon Jan 26 11:30:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: Makefiles should depend on also rbconfig.rb.</div><div class='del'>-	  (ruby-bugs:PR#1256)</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (set_argv): set real arguments to</div><div class='del'>-	  WIN32OLE::ARGV.  [ruby-list:39073]</div><div class='del'>-</div><div class='del'>-Sun Jan 25 18:25:26 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): third</div><div class='del'>-	  argument become optional.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (Init_x509name): emailAddress and</div><div class='del'>-	  domainComponent should be IA5String.</div><div class='del'>-</div><div class='del'>-Sun Jan 25 01:45:38 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): support</div><div class='del'>-	  virtual host.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host): add</div><div class='del'>-	  new method to register virtual hosting server.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#lookup_server): add</div><div class='del'>-	  new method to lookup virtual hosting server.</div><div class='del'>-</div><div class='del'>-Sat Jan 24 13:06:26 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change</div><div class='del'>-	  second argument. it expected to be a Hash not an Integer.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new</div><div class='del'>-	  function for OpenSSL::X509::Name#add_entry.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants</div><div class='del'>-	  OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):</div><div class='del'>-	  second argument takes OBJECT_TYPE_TEMPLATE by default.</div><div class='del'>-</div><div class='del'>-Fri Jan 23 02:26:30 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (num2i32): pack should not raise RangeError.</div><div class='del'>-	  [ruby-dev:22654]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): do not auto convert nil to zero.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 22:54:53 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (BEG_REGEXP): allow 8-bit characters in quoted</div><div class='del'>-	  strings for Novell GroupWise Internet Agent.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (DATA_REGEXP): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 18:35:49 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb (VERSION): remove unnecessary version checking.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 16:21:02 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content): reset lexical states at the beginning of</div><div class='del'>-	  string contents.  [ruby-list:39061]</div><div class='del'>-</div><div class='del'>-Thu Jan 22 08:08:50 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (opt_rescue): use NODE_ERRINFO() instead of</div><div class='del'>-	  NODE_GVAR("$!"), to avoid confusion from variable aliasing.</div><div class='del'>-	  [ruby-talk:90074]</div><div class='del'>-</div><div class='del'>-	* version.c (Init_version): remove obsolete constants VERSION</div><div class='del'>-	  etc.  [ruby-dev:22643]</div><div class='del'>-</div><div class='del'>-Thu Jan 22 01:46:32 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (newline_node): do not use NODE_NEWLINE node anymore,</div><div class='del'>-	  use NEWLINE flag instead.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 01:12:12 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/os2.c (chdir, getcwd):</div><div class='del'>-	  use _chdir2 and _getcwd2 supporting multiple drives in OS/2 with EMX.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 00:33:52 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check availability of link(). [ruby-dev:22237]</div><div class='del'>-	* file.c (rb_file_s_link): raise an exception when link() is unavailable.</div><div class='del'>-	* missing/os2.c (link): removed. File#link isn't supported.</div><div class='del'>-	* bcc32/Makefile.sub: define HAVE_LINK to enable link(). [ruby-dev:22241]</div><div class='del'>-	* win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 00:26:25 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: typo: RUBY_MBCHAR_MAX was RUBY_MBCHAR_MAXSIZE.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 00:12:51 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h: define RUBY_MBCHAR_MAX instead of MB_CUR_MAX.</div><div class='del'>-	* dir.c (Next, emx_mblen): use RUBY_MBCHAR_MAX for mblen().</div><div class='del'>-	* file.c (CharNext): ditto.</div><div class='del'>-	* ruby.c (translate_char): ditto.</div><div class='del'>-	* util.c (__crt0_glob_function): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 00:10:01 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: :nodoc: the Deprecated module</div><div class='del'>-</div><div class='del'>-Wed Jan 21 23:52:39 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Interix(SFU) support.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 23:03:45 2004  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: remove O_NONBLOCK, thanks \ay</div><div class='del'>-	* lib/drb/extserv.rb: typo</div><div class='del'>-</div><div class='del'>-Wed Jan 21 17:57:56 2004  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (envelope): allow NIL.</div><div class='del'>-	* lib/net/imap.rb (body): ditto.</div><div class='del'>-	* lib/net/imap.rb (number): ditto.</div><div class='del'>-	* lib/net/imap.rb (ensure_nz_number): show a detailed error</div><div class='del'>-	  message.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 16:44:15 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (merge_libs): squeeze successive same libraries.</div><div class='del'>-	  [ruby-dev:22652]</div><div class='del'>-</div><div class='del'>-Wed Jan 21 16:10:36 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: enclosed in a module.  [ruby-core:02285]</div><div class='del'>-</div><div class='del'>-Wed Jan 21 16:01:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/extconf.rb: have_library appends found library.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 11:36:00 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_gethostbyname): returns host if</div><div class='del'>-	  ai_canonname is NULL. (ruby-bugs PR#1243)</div><div class='del'>-</div><div class='del'>-	* parse.y (block_append): update nd_end for "real" head node.</div><div class='del'>-	  [ruby-list:39058]</div><div class='del'>-</div><div class='del'>-Tue Jan 20 14:48:28 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: should check &lt;openssl/conf_api.h&gt; instead</div><div class='del'>-	  of OPENSSL_VERSION_NUMBER. [ruby-list:39056]</div><div class='del'>-</div><div class='del'>-Tue Jan 20 14:43:17 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: Add RDoc</div><div class='del'>-</div><div class='del'>-Tue Jan 20 14:25:51 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: Add RDoc</div><div class='del'>-</div><div class='del'>-Tue Jan 20 13:22:39 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Document aliases at</div><div class='del'>-	  top-most level.</div><div class='del'>-</div><div class='del'>-	* lib/English.rb: Document English.rb.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 04:41:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb (MarshalTestLib::test_exception): test</div><div class='del'>-	  for [ruby-dev:22604].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb (MarshalTestLibtest_singleton): test</div><div class='del'>-	  for [ruby-dev:22588].</div><div class='del'>-</div><div class='del'>-Tue Jan 20 02:38:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_class): should not dump singleton class.</div><div class='del'>-	  [ruby-dev:22631]</div><div class='del'>-</div><div class='del'>-Tue Jan 20 02:49:22 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: add check for OpenSSL version.</div><div class='del'>-	  [ruby-list:39054]</div><div class='del'>-</div><div class='del'>-Mon Jan 19 23:56:20 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_to_str): inverted condition for result of</div><div class='del'>-	  inspection.  [ruby-dev:22628]</div><div class='del'>-</div><div class='del'>-Mon Jan 19 22:24:28 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/exyacc.rb: escape '}' to avoid warning.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb: escape '{' and '}' to avoid warnings.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 21:28:06 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/defs.h, win32/win3.c, win32/win32.h, file.c: remove</div><div class='del'>-	  useless casts for Borland C.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 17:39:38 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (NameError::message): internal use only.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_missing): use hidden constant.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 16:30:53 2004  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: added tests for [ruby-dev:22614] and</div><div class='del'>-	  [ruby-dev:22617].</div><div class='del'>-</div><div class='del'>-Mon Jan 19 13:09:21 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb, win32/Makefile.sub, win32/configure.bat,</div><div class='del'>-	  win32/setup.mak: --with-static-linked-ext support on mswin32.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 06:49:07 2004  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date.rb: zone was wrong when it was behind UTC.</div><div class='del'>-	  Thanks Mark J. Reed.</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: %z is now always replaced by four digits</div><div class='del'>-	  with a leading plus or minus sign.</div><div class='del'>-</div><div class='del'>-	* sample/cal.rb: added a class, anyway.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 01:08:39 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, error.c, eval.c, intern.h, object.c, variable.c:</div><div class='del'>-	  do not set path if it is a singleton class.  [ruby-dev:22588]</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension): give extended string, not a</div><div class='del'>-	  delegater object.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 23:59:44 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb: prefer us_EN locale encodings or</div><div class='del'>-	  former.  [ruby-dev:22609]</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_create): raise InvalidEncoding</div><div class='del'>-	  exception when EINVAL.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 23:16:34 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, error.c, file.c, io.c, numeric.c, object.c, re.c, struct.c,</div><div class='del'>-	  time.c: marked init_copy functions nodoc.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 20:47:35 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: use translate_char() on Cygwin.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 20:00:16 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/wsdlDriver.rb, lib/wsdl/soap/operation.rb: add support of</div><div class='del'>-	  "parts" attribute of soap:body element in WSDL.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/xmlSchema/schema.rb: friendly warning message for</div><div class='del'>-	  simpleType element which is not supported for now.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/soap/{soapbodyparts.wsdl,test_soapbodyparts.wsdl}: new</div><div class='del'>-	  files.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 16:46:48 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_overflow_p): should return results.  [ruby-dev:22614]</div><div class='del'>-</div><div class='del'>-Sun Jan 18 12:07:24 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: new test case to test Time#[+-].</div><div class='del'>-</div><div class='del'>-	* time.c (time_plus, time_minus): fix RangeError for a negative</div><div class='del'>-	  argument in environments whose time_t is unsigned. [ruby-dev:22608]</div><div class='del'>-</div><div class='del'>-Sun Jan 18 02:33:26 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h (_WIN32): undef _WIN32 on Cygwin before defining DOSISH.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 00:23:55 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (class2path): check anonymous class/module before</div><div class='del'>-	  checking referable, and allow singleton classes.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 23:58:51 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (NameError::Message): new class for lazy evaluation of</div><div class='del'>-	  message to ensure replaced before marshalling.  [ruby-dev:22604]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_missing): use NameError::Message.</div><div class='del'>-</div><div class='del'>-Sat Jan 17 21:49:50 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (test_rfc2822, test_rfc3339, test_encode_xmlschema):</div><div class='del'>-	  should not expect that all platforms handle negative time_t value.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 23:53:09 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_eq): compare also arguments and environment</div><div class='del'>-	  (including local variables).  [ruby-dev:22590]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 14:33:35 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (class2path): get class path and check referable.</div><div class='del'>-	  [ruby-dev:22588]</div><div class='del'>-</div><div class='del'>-Thu Jan 15 12:58:26 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): do not append EOF.  (ruby-bugs-ja:PR#585)</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fwrite): ad-hockery hack to get rid of HP-UX stdio</div><div class='del'>-	  weird behavior.  [ruby-dev:22424]</div><div class='del'>-</div><div class='del'>-Wed Jan 14 21:13:06 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb (InlineTest::eval_part): eval under the top</div><div class='del'>-	  level environment.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 17:54:17 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb (InlineTest::loadtest): require instead of</div><div class='del'>-	  load, to get rid of multiple loading.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 13:30:52 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/extconf.rb: wrapper iconv.rb is dependent on platform.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 09:32:02 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add test/net/test_httpheader.rb. (commit miss?)</div><div class='del'>-</div><div class='del'>-Wed Jan 14 00:58:35 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Proc): move SystemStackError from under</div><div class='del'>-	  StandardError to Exception.  [ruby-talk:89782]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 18:03:02 2004  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_wr, rb_stat_ww): New functions</div><div class='del'>-	  implementing new methods (File::Stat#world_readable?,</div><div class='del'>-	  File::Stat#world_writable?).</div><div class='del'>-</div><div class='del'>-Tue Jan 13 16:53:25 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: omission of Date library code caused</div><div class='del'>-	  test suite failure. [ruby-core:2251]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 16:50:03 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: use $0 as the default application class name.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 14:48:00 2004  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: New methods (Pathname#world_readable?,</div><div class='del'>-	  Pathname#world_writable?).</div><div class='del'>-</div><div class='del'>-Tue Jan 13 14:48:01 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): allow no "when" case. [ruby-dev:22578]</div><div class='del'>-</div><div class='del'>-	* ruby.h (rb_class_of): reduce branch. [ruby-dev:22577]</div><div class='del'>-</div><div class='del'>-	* ruby.h (rb_type): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 14:26:59 2004  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/testrunnerutilities.rb (TestRunnerUtilities):</div><div class='del'>-	  moved run method which allows output level.  [ruby-dev:22554]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 13:04:24 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_*.rb: Pathname#parent -&gt; Pathname#dirname.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 11:38:58 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb (YAML_Unit_Tests::test_spec_type_{int,float}):</div><div class='del'>-	  fix syntax error.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 07:52:40 2004  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/bytecode.c: turn off default implicit typing.</div><div class='del'>-</div><div class='del'>-	* ext/syck/implicit.c: detect base60 integers.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: handle base60, as well as hex and octal</div><div class='del'>-	  with commas.  implicit typing of ruby symbols.</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: add test.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 04:29:52 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_driver.rb (RiDriver::report_method_stuff):</div><div class='del'>-	  Show fully-qualified class names in class list.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 01:24:17 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (test_wr): Rdoc fix.  [ruby-core:02225]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 01:04:37 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_paths.rb (RI::Paths): First attempt at</div><div class='del'>-	  incorporating DESTDIR in the rdoc installation.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 23:26:21 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): fix position after FCALL.  [ruby-dev:22574]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 18:00:11 2004  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (test_wr, test_ww): New functions implementing new</div><div class='del'>-	  methods (File::world_readable?, File::world_writable?).</div><div class='del'>-</div><div class='del'>-	* file.c (S_IRUGO, S_IGUGO): New macros.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 12:07:22 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods):</div><div class='del'>-	  Someone changed the "// in eval.c" comments to "/*...*/" style,</div><div class='del'>-	  so the parsing of the source file name broke.</div><div class='del'>-</div><div class='del'>-	* object.c: Remove spurious space in TrueClass documentation.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Fix</div><div class='del'>-	  bad regexp: if the code before a documented method contained</div><div class='del'>-	  a comment that wasn't terminated by whitespace, that comment</div><div class='del'>-	  and all intervening code was included in the following</div><div class='del'>-	  method's documentation.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter::break_to_newline):</div><div class='del'>-	  HTML formats need explicit line breaks.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 02:24:07 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML</div><div class='del'>-	  generation support to ri (Elliot Hughes)</div><div class='del'>-</div><div class='del'>-Sun Jan 11 23:54:41 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* env.h (ruby_frame, ruby_scope, ruby_in_eval, ruby_class,</div><div class='del'>-	  ruby_dyna_vars): export.  [ruby-dev:22566]</div><div class='del'>-</div><div class='del'>-Sun Jan 11 02:35:53 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent): a bug in brace position.</div><div class='del'>-</div><div class='del'>-	* configure.in: install rdoc by default. if you do not want to</div><div class='del'>-	  install rdoc, specify --disable-install-doc.</div><div class='del'>-</div><div class='del'>-Sun Jan 11 02:07:47 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):</div><div class='del'>-	  Also accept command line options via the 'RI' environment variable.</div><div class='del'>-</div><div class='del'>-Sat Jan 10 21:27:41 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): need to add message delimiter. [ruby-dev:22561]</div><div class='del'>-</div><div class='del'>-Sat Jan 10 01:54:50 2004  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP,</div><div class='del'>-	  S_IRWXO, etc. macros are defined since future code might require</div><div class='del'>-	  them (even though present code only requires a subset).</div><div class='del'>-</div><div class='del'>-	* defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set</div><div class='del'>-	  correctly on Rhapsody when -arch compiler flag was used (via</div><div class='del'>-	  configure's --enable-fat-binary option).</div><div class='del'>-</div><div class='del'>-Sat Jan 10 23:01:41 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single</div><div class='del'>-	  quotes.  [ruby-dev:22564]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (libpathflag): do not enclose with quotes always.</div><div class='del'>-</div><div class='del'>-	* {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.</div><div class='del'>-</div><div class='del'>-Sat Jan 10 22:46:18 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_inspect): new method, Dir#inspect.  [ruby-dev:22562]</div><div class='del'>-</div><div class='del'>-Fri Jan  9 17:36:51 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent): getaddrinfo(3) on BSD do not</div><div class='del'>-	  fill ai_canonname if serv is not supplied.  (ruby-bugs PR#1243)</div><div class='del'>-</div><div class='del'>-Fri Jan  9 13:14:59 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb: do not ignore exceptions(LoadError</div><div class='del'>-	  and SystemExitError) while loading a testcase.  smell of bug.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb: add new test of the LoadError.</div><div class='del'>-</div><div class='del'>-	* test/drb/{test_drbssl.rb,test_drbunix.rb}: do not define testcase if</div><div class='del'>-	  openssl is not installed.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb: assert_raises -&gt; assert_raise.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 11:52:16 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubysig.h: &lt;errno.h&gt; is needed to use errno which may be a macro.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 11:20:24 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): should not reduce necessary libraries.</div><div class='del'>-	  [ruby-dev:22440]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (merge_libs): merge libraries according to</div><div class='del'>-	  dependency.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 10:05:23 2004  Siena.  &lt;siena@faculty.chiba-u.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (libpathflag): use single quotes.  [ruby-dev:22440]</div><div class='del'>-</div><div class='del'>-Thu Jan  8 23:49:21 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RDOCTARGET): new macro.  if you want to install</div><div class='del'>-	  rdoc documentation, you need to run configure with</div><div class='del'>-	  --enable-install-doc.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 21:17:43 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (ossl_pkey_to_der): removed; it returns</div><div class='del'>-	  public key only.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (ossl_dh_to_der): new function for</div><div class='del'>-	  OpenSSL::PKey::DH#to_der.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_to_der): new function for</div><div class='del'>-	  OpenSSL::PKey::DSA#to_der.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_to_der): new function for</div><div class='del'>-	  OpenSSL::PKey::RSA#to_der.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 18:25:29 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): should not recurse in exceptional status.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 16:51:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/wsdl/datetime/test_datetime.rb: fixed a stupid testcase which</div><div class='del'>-	  dumps "E" at month-end.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 11:20:01 2004  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, object.c, process.c, re.c: don't use C++ style comments.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 08:46:14 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (yaml_org_handler): lazy-load Date for</div><div class='del'>-	  static-ext.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 07:06:30 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: preserve order in Setup.  [ruby-dev:22503]</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: move dependent libraries just after depended</div><div class='del'>-	  libraries.</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/extconf.rb: depend on digest.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 04:36:17 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (WEBrick::CGI#initialize): should create</div><div class='del'>-	  @config[:Logger] if it was not given.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 22:28:12 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): fix memory leak.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 21:15:07 2004  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/webrick/*: new files.</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add sample/webrick/*</div><div class='del'>-</div><div class='del'>-Wed Jan  7 20:51:51 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/test_httpheader.rb: new file.</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add test/net/test_httpheader.rb.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 20:42:06 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTPHeader#content_length): should return nil</div><div class='del'>-	  unless header exists. [ruby-dev:22519]</div><div class='del'>-</div><div class='del'>-Wed Jan  7 14:26:05 2004  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (TkPanedWindow): use epath for embedded windows.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tktext.rb: use epath for embedded windows.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkcanvas.rb: use epath for window items.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 14:24:04 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/{attachment.rb,mimemessage.rb}: added from soap4r/1.5.2.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 13:00:18 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_driver.rb: Fix problem where ri was</div><div class='del'>-	  being too eager to find matches of ambiguous method</div><div class='del'>-	  names (such as "ri Thread.join" would return both</div><div class='del'>-	  Thread.join and ThreadsWait.join)</div><div class='del'>-</div><div class='del'>-Wed Jan  7 12:35:41 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: revert command parse regexps.  [ruby-list:39014] by</div><div class='del'>-	  Shirai,Kaoru.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 08:21:04 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parserfactory.rb: Check for shebang</div><div class='del'>-	  line in files that would otherwise be treated as</div><div class='del'>-	  plain text.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 22:13:34 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_modfunc): should break if m has no super class.</div><div class='del'>-	  [ruby-dev:22498]</div><div class='del'>-</div><div class='del'>-Tue Jan  6 21:51:37 2004  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): should save errno just after failure.</div><div class='del'>-	  [ruby-dev:22492]</div><div class='del'>-</div><div class='del'>-Tue Jan  6 20:51:10 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb(Logger#msg2str): no special treatment for the object</div><div class='del'>-	  which responds to :to_str.</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb(LogDevice#initialize): remove type checking if the</div><div class='del'>-	  given object is a String.  Kernel.open handles it correctly.</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: follow above change (ArgumentError -&gt;</div><div class='del'>-	  TypeError.)</div><div class='del'>-</div><div class='del'>-Tue Jan  6 14:53:14 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* bin/ri: split out the display side, making it pluggable. Added</div><div class='del'>-	  new ri_driver and ri_display files in lib/rdoc/ri.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 11:29:43 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb, test/{test_generator.rb,test_ipaddr.rb,</div><div class='del'>-	  test_pathname.rb,test_pp.rb,test_prettyprint.rb,test_set.rb,</div><div class='del'>-	  test_time.rb,test_tsort.rb: added.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 09:38:27 2004  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* import soap4r/1.5.2;</div><div class='del'>-</div><div class='del'>-	* lib/soap/{attachment.rb,baseData.rb,encodingstyle/soapHandler.rb}:</div><div class='del'>-	  introduce SOAPExternalReference class as a referenct to SOAPEnvelope</div><div class='del'>-	  external content.</div><div class='del'>-</div><div class='del'>-	* lib/soap/{attachment.rb,mimemessage.rb}: great SwA (SOAP messages</div><div class='del'>-	  with Attachments) support code by Jamie Herre.</div><div class='del'>-</div><div class='del'>-	* lib/soap/{element.rb,marshal.rb,parser.rb,processor.rb,</div><div class='del'>-	  streamHandler.rb,wsdlDriver.rb}: SwA support.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/{cgistub.rb,driver.rb,element.rb,proxy.rb,router.rb,</div><div class='del'>-	  soaplet.rb}: SwA support and refactoring.</div><div class='del'>-</div><div class='del'>-	* lib/soap/generator.rb, lib/soap/mapping/mapping.rb: follow</div><div class='del'>-	  SOAPReference#initialize signature change.</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/factory.rb: deleted unused methods.</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type</div><div class='del'>-	  string &lt;-&gt; Ruby class name matching.</div><div class='del'>-</div><div class='del'>-	* lib/xsd/datatypes.rb: check the smallest positive non-zero</div><div class='del'>-	  single-precision float exactly instead of packing with "f".</div><div class='del'>-	  [ruby-talk:88822]</div><div class='del'>-</div><div class='del'>-	* test/soap/test_basetype.rb, test/xsd/test_xsd.rb: use 1.402e-45, not</div><div class='del'>-	  1.4e-45.  1.4e-45 is smaller than 2 ** -149...</div><div class='del'>-</div><div class='del'>-	* test/soap/test_basetype.rb, test/soap/marshal/test_marshal.rb,</div><div class='del'>-	  test/xsd/test_xsd.rb: use "(-1.0 / (1.0 / 0.0))" instead of "-0.0".</div><div class='del'>-</div><div class='del'>-	* test/soap/test_streamhandler.rb: revert to the previous test that</div><div class='del'>-	  warns "basic_auth unsupported under net/http".</div><div class='del'>-</div><div class='del'>-Tue Jan  6 06:37:53 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* bin/rdoc: Add --ri-system switch</div><div class='del'>-</div><div class='del'>-	* lib/.document: Update with list of files that seem to have</div><div class='del'>-	  documentation</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Reorder comment to make it RDoc friendly.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: add install-nodoc target, and make it</div><div class='del'>-	  generate RDoc on default install.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_options.rb (RI::Options::parse): Add</div><div class='del'>-	  --doc-dir option to ri.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 00:04:40 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):</div><div class='del'>-	  fix parsing if there are braces in a method parameter list</div><div class='del'>-</div><div class='del'>-Tue Jan  6 01:01:04 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/dir.h, win32/win32.c: fix patch miss.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: fix file dependency.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 20:32:00 2004  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: enhanced documentation.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 18:58:47 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: merge tuning from H.Yamamoto &lt;ocean@m2.ccsnet.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:22486]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): unpack requires big endian offet (OFF16B</div><div class='del'>-	  and OFF32B).  The patch is from Minero Aoki in [ruby-dev:22489]</div><div class='del'>-</div><div class='del'>-	* pack.c (OFF16B): add big-endian offset again.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 03:00:53 2004  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: new test test_unpack_N.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 01:47:53 2004  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): remove duplicated object files</div><div class='del'>-	  from $objs on DOSISH platforms.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 02:44:48 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubysig.h (TRAP_END): preserve errno before switching context.</div><div class='del'>-	  [ruby-core:02137]</div><div class='del'>-</div><div class='del'>-Sat Jan  3 01:18:08 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: merge tuning from H.Yamamoto &lt;ocean@m2.ccsnet.ne.jp&gt;.</div><div class='del'>-	  [ruby-dev:22476]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 14:54:11 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* bin/ri: Add new --classes option, and arrange for</div><div class='del'>-	  help messages to be paged too.</div><div class='del'>-</div><div class='del'>-	* bin/rdoc: Add statistics.</div><div class='del'>-</div><div class='del'>-	* process.c: (MG) Added Process documentation</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb (RI::AttributeFormatter::wrap):</div><div class='del'>-	  Fix problem with labels not displaying in RI labeled</div><div class='del'>-	  lists using BS and ANSI modes.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 01:50:13 2004  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_eof): ARGF.eof? should not have any side effect.</div><div class='del'>-	  [ruby-dev:22469]</div><div class='del'>-</div><div class='del'>-Thu Jan  1 09:03:20 2004  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* bin/ri (report_class_stuff): Fix problem with ambiguous nested</div><div class='del'>-	  classes not matching.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 17:25:17 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_byte): should return self.  [ruby-dev:22465]</div><div class='del'>-</div><div class='del'>-Wed Dec 31 15:05:00 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: Corrected small coding error.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 15:00:00 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: Completed documentation.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 11:20:34 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Make</div><div class='del'>-	  file referenced in "// in sss.c" relative to current file.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 11:17:37 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generators/html_generator.rb: Fix problem when</div><div class='del'>-	  a public method was aliased, but the alias is then</div><div class='del'>-	  made private, and hence doesn't appear in RDoc output.</div><div class='del'>-</div><div class='del'>-Wed Dec 31 01:33:05 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, error.c, eval.c, io.c, prec.c, range.c, re.c,</div><div class='del'>-	  string.c, time.c: Add RDoc for Kernel functions, and tidy.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 19:39:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_readline): should raise EOFError at the end of</div><div class='del'>-	  files.  [ruby-dev:22458]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): should concatenate input files when length</div><div class='del'>-	  argument is nil. [ruby-dev:22450]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): should update supplied string buffer (2nd</div><div class='del'>-	  argument) even when IO#read is called multiple times.</div><div class='del'>-</div><div class='del'>-	* io.c: should initialize lineno by zero. [ruby-dev:22460]</div><div class='del'>-</div><div class='del'>-Tue Dec 30 12:30:30 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): If a</div><div class='del'>-	  class and a method have the same name, finding Xxx.abc was trying</div><div class='del'>-	  to find 'abc' in method 'Xxx', not class 'Xxx'.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 08:32:32 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):</div><div class='del'>-	  Handle undoing nsting of yield parameters correctly for:</div><div class='del'>-</div><div class='del'>-	    def each_entry(&amp;b) Dir.foreach(@path) {|f| yield P.new(f) } end</div><div class='del'>-</div><div class='del'>-Tue Dec 30 07:30:00 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: Added documentation.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 20:08:17 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (GenericRequest#initialize): check if path</div><div class='del'>-	  begins with '/'.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: def m( arg ) -&gt; def m(arg)</div><div class='del'>-</div><div class='del'>-Mon Dec 29 12:51:02 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: Add RDoc for Kernel global functions.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 11:00:16 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Tidy up RDoc loose ends.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 05:05:51 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c, random: Add RDoc comments</div><div class='del'>-</div><div class='del'>-Mon Dec 29 02:25:00 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: Improved documentation.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 02:20:54 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: Add RDoc for class Proc, Method, UnboundMethod</div><div class='del'>-</div><div class='del'>-Mon Dec 29 02:20:26 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: fix install directory if destdir and compile_dir are</div><div class='del'>-	  not in the same drive.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: ditto. [ruby-list:39009]</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, win32/README.win32, win32/configure.bat,</div><div class='del'>-	  win32/setup.mak: new configure scheme. use ``configure --prefix=dir''</div><div class='del'>-	  instead of ``nmake DESTDIR=dir install''.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 00:41:44 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* math.c: Add RDoc comments</div><div class='del'>-</div><div class='del'>-Sun Dec 28 20:19:11 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_sysread): StringIO.new.sysread didn't</div><div class='del'>-	  raise EOFError.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzreader_gets): don't increment lineno when</div><div class='del'>-	  gzfile_read_all returns "".</div><div class='del'>-</div><div class='del'>-Sun Dec 28 15:25:08 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* class.c,object.c,parse.y,sprintf.c,variable.c: Document classes</div><div class='del'>-	  Object, Module, etc...</div><div class='del'>-</div><div class='del'>-Sun Dec 28 11:55:29 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: generate bom.csv and mac.csv files on the fly.</div><div class='del'>-	  [ruby-talk:88852]</div><div class='del'>-</div><div class='del'>-	* test/csv/{bom.csv,mac.csv}: removed.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 08:56:51 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: Thead[Group] RDoc (thanks to MG)</div><div class='del'>-</div><div class='del'>-Sun Dec 28 03:50:05 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_override_comment):</div><div class='del'>-	  Escape method names used in regexp</div><div class='del'>-</div><div class='del'>-Sun Dec 28 01:46:02 2003  Dave Thomas  &lt;dave@wireless_3.local.thomases.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item):</div><div class='del'>-	  Add support for rules in 'ri' output.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 01:35:35 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body):</div><div class='del'>-	  Sometimes the Ruby source aliases two otherwise</div><div class='del'>-	  unrelated methods (for example Kernel#object_id and</div><div class='del'>-	  Kernel#hash are both the same C function). Provide a</div><div class='del'>-	  facility to allow the methods to be documented</div><div class='del'>-	  separately.</div><div class='del'>-</div><div class='del'>-Sun Dec 28 01:05:31 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c, signal.c: RDoc collemts added by Elliott Hughes</div><div class='del'>-</div><div class='del'>-Sun Dec 28 00:46:25 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_class_comment):</div><div class='del'>-	  Some Ruby source uses lower-case class names for the</div><div class='del'>-	  Init_Xxx C function name.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 23:41:46 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix "test: too many arguments" error.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:32:40 2003  Dave Thomas  &lt;dave@wireless_3.local.thomases.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: Add RDoc comments for Time class.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:07:26 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Add RDoc comments for Symbol class.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 14:39:53 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): Add RDoc comments.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 00:44:00 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): warn always for stdin on inplace edit mode.</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): need to check string value.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): allow ARGF.read(nil).  [ruby-dev:22433]</div><div class='del'>-</div><div class='del'>-Fri Dec 26 23:02:09 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_backquote): need not to check nil result.</div><div class='del'>-	  [ruby-core:02078]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline): should return nil when read_all gives</div><div class='del'>-	  empty string, even when nil rs is specified. [ruby-core:02077]</div><div class='del'>-</div><div class='del'>-Fri Dec 26 18:33:54 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if getcontext and setcontext are available.</div><div class='del'>-</div><div class='del'>-	* eval.c: use presence of getcontext/setcontext.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 16:40:53 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (PathnameTest#test_plus): add 2 assertions.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 14:05:13 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: new test test_pack_N.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 12:53:26 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): add sign check for 'i', and 'l'.</div><div class='del'>-	  [ruby-dev:22427]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_quad_pack): add range check for 'quad int'.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 10:58:58 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add vms/config.h and remove vms/config.h_in.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 10:42:00 2003  AKIYOSHI, Masamichi  &lt;masamichi.akiyoshi@hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: [VMS] "rfm=stmlf" is specified for open() and fopen().</div><div class='del'>-</div><div class='del'>-Thu Dec 25 22:29:53 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_update): don't return any value.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 15:30:17 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_update): call rb_str_modify().</div><div class='del'>-</div><div class='del'>-Thu Dec 25 05:08:09 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): search actual file name once when no</div><div class='del'>-	  extension specified.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 04:00:44 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* stable version 1.8.1 released.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 00:17:53 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for nanosleep, -lrt if required.</div><div class='del'>-	  [ruby-core:02059]</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_timer): use select(2) if nanosleep(2) is not</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-	* eval.c: check __stub_getcontext for glibc on some platforms.</div><div class='del'>-	  [ruby-list:38984]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 23:48:04 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/test_basetype.rb, test/soap/marshal/test_marshal.rb</div><div class='del'>-	  test/xsd/test_xsd.rb: use "(-1.0 / (1.0 / 0.0))" instead of "-0.0"</div><div class='del'>-	  to express -0.0.  [ruby-talk:88786]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 23:29:30 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb (test_orphaned_break): removed.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 20:53:06 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkmulticolumnlist.rb: new sample</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkmultilistframe.rb: bug fix</div><div class='del'>-</div><div class='del'>-Wed Dec 24 20:37:37 2003  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LDSHARED): Fixed typographical error in assignment of</div><div class='del'>-	  LDSHARED for Rhapsody which caused linking of extension modules to</div><div class='del'>-	  fail.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 17:51:18 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_thread_flock): enable thread support again.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 16:46:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (catch_timer): do not call rb_thread_schedule() inside to</div><div class='del'>-	  avoid pthread_mutex_lock() deadlock.  interrupts to system calls</div><div class='del'>-	  are detected by TRAP_END via EINTR error.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_timer): do not post signal unless it is</div><div class='del'>-	  absolutely necessary.</div><div class='del'>-</div><div class='del'>-	* rubysig.h (TRAP_END): add CHECK_INTS to switch thread.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): check if nextp is smaller than</div><div class='del'>-	  pend.  [ruby-dev:22372]</div><div class='del'>-</div><div class='del'>-	* eval.c (umethod_bind): remove method overridden check.</div><div class='del'>-	  [ruby-dev:22366]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 16:13:05 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read): should check for error</div><div class='del'>-	  status by SSL_get_error().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_write): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 14:23:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): clear the buffer argument</div><div class='del'>-	  when returning nil.  [ruby-dev:22363]</div><div class='del'>-</div><div class='del'>-	* test/ruby/ut_eof.rb (TestEOF::test_eof_0, TestEOF::test_eof_1):</div><div class='del'>-	  add buffer argument tests.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 14:07:55 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: Modules are allowed to rescue.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb: show output_level in order.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb: get rid of successive same</div><div class='del'>-	  directories in load path.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb (test_assert_nothing_raised,</div><div class='del'>-	  test_assert_raise): test for modules.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 13:43:34 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (authenticate): remove "\n" from base64 encoded</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 11:26:41 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: should not create any</div><div class='del'>-	  files or directories in current directory.  [ruby-talk:88724]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 10:29:53 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): never return nil at</div><div class='del'>-	  unlimited read.  [ruby-dev:22334]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): support second</div><div class='del'>-	  argument.  [ruby-dev:22350]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 09:38:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): should return 0 after error.  [ruby-dev:22360]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 00:56:54 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): do not return nil at the end of file.</div><div class='del'>-	  [ruby-dev:22334]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): do not depend on nil at eof behavior of</div><div class='del'>-	  IO#read().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): dup exception before re-raising it.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_eof): call clearerr() to prevent side effect.  this</div><div class='del'>-	  patch is supplied by Masahiro Sakai &lt;sakai@tom.sfc.keio.ac.jp&gt;.</div><div class='del'>-	  [ruby-dev:22234]</div><div class='del'>-</div><div class='del'>-	* pack.c (OFF16): get offset for big endian machines.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): use OFF16 instead of OFF16B.</div><div class='del'>-	  [ruby-dev:22344]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 22:47:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): set FMODE_RBUF always, even if</div><div class='del'>-	  NEED_IO_SEEK_BETWEEN_RW is not defined. [ruby-dev:22340]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_writable): clear FMODE_RBUF before writing</div><div class='del'>-	  something.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 22:25:00 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: incomplete RDoc documentation added in place of</div><div class='del'>-	  existing RD comments.  Tabs converted to spaces.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 19:44:47 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/test_streamhandler.rb (test_basic_auth): removed.</div><div class='del'>-	  soap4r + basic_auth is not officially supported in ruby/1.8.1 even</div><div class='del'>-	  though soap4r + basic_auth + http-access2 should run fine.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 19:42:59 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ungetc): raise an exception at unread stream to</div><div class='del'>-	  avoid unspecified behavior.  [ruby-dev:22330]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (test_syntax): glob relatively from</div><div class='del'>-	  __FILE__.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 18:09:40 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): remove unnecessary negative value check.</div><div class='del'>-	  [ruby-dev:22329]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 17:26:55 2003  KONISHI Hiromasa  &lt;konishih@fd6.so-net.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub (config.h): bcc has finite(). [ruby-list:38940]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 16:08:16 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/encodings/US-ASCII.rb: typo.  [ruby-talk:88650]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb: num of asserts depended on running dir.</div><div class='del'>-</div><div class='del'>-	* test/xsd/test_noencoding.rb: rexml + without iconv/uconv cannot</div><div class='del'>-	  handle euc-jp.  install iconv, uconv or xmlscan.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 14:13:51 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::check_userinfo,</div><div class='del'>-	  URI::Generic::check_user, URI::Generic::check_password): tests</div><div class='del'>-	  conflicts/depends with other components closely.</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (TestGeneric::test_set_component):</div><div class='del'>-	  added tets.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 11:08:34 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xsd/test_noencoding.rb: rescue Errno::EINVAL and do not test.</div><div class='del'>-	  "euc-jp" might not be in supported encoding name list.</div><div class='del'>-	  [ruby-talk:88650]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 06:10:31 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (CGI): add support for mod_ruby.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (CGI::Socket): add check for existence of</div><div class='del'>-	  OpenSSL module in all HTTPS related methods.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (CGI::Socket#cipher): should create similar</div><div class='del'>-	  value to OpenSSL::SSLSocket#cipher.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (HTTPResponse#setup_header): should</div><div class='del'>-	  set "connection: close" if @keep_alive is false.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb (HTTPrequest#meta_vars): add supprt for</div><div class='del'>-	  SSL_PROTOCOL, SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 23:00:05 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic::check_opaque): fixed typo.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 21:59:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (map_charset): always ensure code is a String.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 21:15:29 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy): always copy singleton class.</div><div class='del'>-	  [ruby-dev:22325]</div><div class='del'>-</div><div class='del'>-Mon Dec 22 20:44:36 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#route_from): accepts urls which</div><div class='del'>-	  has no host-part.</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (TestGeneric::test_route): added a test.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 20:38:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: reduce eval.</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::read_multipart): alias path to</div><div class='del'>-	  local_path.  [ruby-list:38883]</div><div class='del'>-</div><div class='del'>-Mon Dec 22 20:09:31 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/test_property.rb: remove duplicated test method.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 18:22:04 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub (config.h): remove</div><div class='del'>-	  HAVE_ISINF definition to follow previous commits of missing.h</div><div class='del'>-	  and win32/win32.h.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 17:23:42 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_setitimer): moved from defines.h</div><div class='del'>-</div><div class='del'>-	* defines.h, rubysig.h, signal.c: removed macro handling which</div><div class='del'>-	  should be done in configure.</div><div class='del'>-</div><div class='del'>-	* configure.in (intrinsics.h): check if present.</div><div class='del'>-</div><div class='del'>-	* ruby.h: include intrinsics.h if available.</div><div class='del'>-</div><div class='del'>-	* bignum.c, marshal.c: include ieeefp.h if available.</div><div class='del'>-</div><div class='del'>-	* missing.h (isinf): define as a macro if finite() and isnan()</div><div class='del'>-	  are available.  [ruby-core:02032]</div><div class='del'>-</div><div class='del'>-Mon Dec 22 17:07:31 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw): set isnan, finite and isinf to yes.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 13:40:19 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb: passing block by reference.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 00:32:43 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_with_disable_interrupt): use ENABLE_INTS instead of</div><div class='del'>-	  ALLOW_INTS which may switch context.  [ruby-dev:22319]</div><div class='del'>-</div><div class='del'>-	* ext/syck/emitter.c (syck_emitter_write): str bigger than</div><div class='del'>-	  e-&gt;bufsize causes buffer overflow.  [ruby-dev:22307]</div><div class='del'>-</div><div class='del'>-Sun Dec 21 17:29:00 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_check_inheritable): new function.  [ruby-dev:22316]</div><div class='del'>-</div><div class='del'>-	* intern.h: add prototype.</div><div class='del'>-</div><div class='del'>-	* eval.c (superclass): use rb_check_inheritable().</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_initialize): check argument validity.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 16:25:10 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#+): re-implemented to resolve ".." in</div><div class='del'>-	  beginning of the argument.</div><div class='del'>-	  (Pathname#join): concatenate from the last argument.</div><div class='del'>-	  (Pathname#parent): just use Pathname#+.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 00:12:37 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add new methods (TkScrollbar#assign, assign_list)</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkmultilistframe.rb: use TkScrollbar#assign method</div><div class='del'>-</div><div class='del'>-Sat Dec 20 21:59:03 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): refine regexp.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (CGI#start): NPH scripts return status line</div><div class='del'>-	  instead of Status: header field.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb (CGI::Socket): refine some coditions.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 16:07:14 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion::complete): wrong</div><div class='del'>-	  Regexp for word boundary.  pointed out by Gavin Sinclair.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::make_switch): [no-] prefix was</div><div class='del'>-	  missing.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 11:40:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML::YAML): adjust Marshal version.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 03:56:02 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_with_disable_interrupt): prohibit thread context</div><div class='del'>-	  switch during proc execution.  [ruby-dev:21899]</div><div class='del'>-</div><div class='del'>-Sat Dec 20 02:41:02 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb: add file. (yet another CGI library)</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add lib/webrick/cgi.rb.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 02:18:31 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-calculate-indent): proper indentation</div><div class='del'>-	  inside of parentheses.  [ruby-dev:22308]</div><div class='del'>-</div><div class='del'>-Fri Dec 19 21:24:22 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): should not set</div><div class='del'>-	  HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb (HTTPRequest#parse): should check presence</div><div class='del'>-	  of cert() method to detect SSLSocket.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 22:56:46 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb (SOAP::Property#load): new method for loading</div><div class='del'>-	  property value into existing property tree.</div><div class='del'>-</div><div class='del'>-	* test/soap/test_property.rb: add test.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 19:21:49 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/runit/cui/testrunner.rb (RUNIT::CUI::TestRunner::run):</div><div class='del'>-	  should use Test::Unit::UI::{PROGRESS_ONLY,VERBOSE}.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 17:36:49 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkmultilistbox.rb: bug fix</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkmultilistframe.rb: new sample script</div><div class='del'>-</div><div class='del'>-Fri Dec 19 03:44:27 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (parse_form_data): should return an</div><div class='del'>-	  empty Hash if the body is empty.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 21:47:35 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): should remove deffile if it's</div><div class='del'>-	  made by miniruby. based on nobu's patch.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 21:44:21 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (stack_extend): ignore inline optimization on VC7.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (OS, RT): can override.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none</div><div class='del'>-	  option. based on Tietew's patch [ruby-dev:22289]</div><div class='del'>-</div><div class='del'>-Thu Dec 18 16:38:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): unlike find_dirsep(), rb_path_next() never</div><div class='del'>-	  return NULL.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 15:27:59 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPSocket::getaddress): merge usa's patch.</div><div class='del'>-	  [ruby-dev:21678]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 15:15:30 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like</div><div class='del'>-	  String#[] if more than one arguments are specified.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: avoid using common instance name as "@obj".</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer</div><div class='del'>-	  subclass of String, but DelegateClass(String).</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: restore function check for init_color.</div><div class='del'>-	  [ruby-list:38905]</div><div class='del'>-</div><div class='del'>-	* Makefile.in: need to specify $(MAINLIBS) for the miniruby</div><div class='del'>-	  generation rule.</div><div class='del'>-</div><div class='del'>-	* configure.in: better FreeBSD -lc_r support.</div><div class='del'>-</div><div class='del'>-Wed Dec 17 00:16:14 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: new method</div><div class='del'>-	  StringScanner#beginning_of_line? (alias #bol?)</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: new method StringScanner#concat and #&lt;&lt;.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: StringScanner#new(str) does not duplicate</div><div class='del'>-	  nor freeze STR (allow destructive modification).</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb: test new methods above.</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb: test destructive string</div><div class='del'>-	  modification.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 21:20:47 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: don't use local variable `pp'.</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 13:20:43 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: condition bug of if statement on</div><div class='del'>-	  {pack,grid}_propagate methods</div><div class='del'>-</div><div class='del'>-Tue Dec 16 03:17:29 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: comments in strings. [ruby-talk:88012]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: add test.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 01:14:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (catch_timer): check rb_thread_crtical in main native</div><div class='del'>-	  thread.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_timer): just sends signals periodically, to</div><div class='del'>-	  prevent main native thread from receiving them in critical</div><div class='del'>-	  section.  [ruby-core:01959]</div><div class='del'>-</div><div class='del'>-Mon Dec 15 13:32:22 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (check_dirname): check string safety and remove extraneous</div><div class='del'>-	  trailing directory separators.  [ruby-dev:22279]</div><div class='del'>-</div><div class='del'>-	* file.c: renamed and externalized rb_path_next,</div><div class='del'>-	  rb_path_skip_prefix, rb_path_last_separator, rb_path_end.</div><div class='del'>-</div><div class='del'>-	* intern.h: prototypes for rb_path_next, rb_path_skip_prefix,</div><div class='del'>-	  rb_path_last_separator, rb_path_end.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 09:27:46 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): first argument</div><div class='del'>-	  of rb_protect should take an argument of VALUE.</div><div class='del'>-</div><div class='del'>-Sun Dec 14 18:46:48 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): IPv6 is not supported although</div><div class='del'>-	  AF_INET6 is defined on MinGW.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (AF_INET6): workaround in the environment which does</div><div class='del'>-	  not support IPv6.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 18:55:16 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb: preserve original order.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/extconf.rb: remove wrapper file at clean.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 18:09:42 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_timer): use timer by sub-thread and nanosleep.</div><div class='del'>-	  [ruby-talk:87519]</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): no stack adjustment for THREAD_SAFE.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 17:17:59 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_alloc): cache the created object at first time.</div><div class='del'>-	  [ruby-talk:61288], [ruby-dev:22240]</div><div class='del'>-</div><div class='del'>-Sat Dec 13 09:01:23 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check ucontext.h.</div><div class='del'>-</div><div class='del'>-	* eval.c: use getcontext/setcontext() instead of setjmp/longjmp()</div><div class='del'>-	  on ia64 or with native thread enabled.  [ruby-core:01932]</div><div class='del'>-</div><div class='del'>-Sat Dec 13 03:09:14 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb: add test.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 22:36:44 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell,</div><div class='del'>-	  "#{aCell}" and so on.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: add tests.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:33:06 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mkdir): remove trailing `/' from pathes.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rmdir): ditto. [ruby-dev:22238]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rmdir_r): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_copy_dir): check if it is a directory after</div><div class='del'>-	  mkdir(2).</div><div class='del'>-</div><div class='del'>-Fri Dec 12 06:06:09 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): fix class name in warning message for</div><div class='del'>-	  define_method.  [ruby-dev:22235]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 21:24:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs12.[ch]: new files. add OpenSSL::PKCS12.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.[ch]: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/MANIFEST: add ossl_pkcs12.[ch].</div><div class='del'>-</div><div class='del'>-Thu Dec 11 20:54:28 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mkdir_p): remove trailing `/' befere mkdir(2).</div><div class='del'>-	  mkdir("nonexistdir/") does not work on NetBSD/Alpha 1.6.1.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_list): call to_str for all arguments.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 20:07:01 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb (makedirs): sync with fileutils.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 19:53:03 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mkdir_p): catch all SystemCallErrors.</div><div class='del'>-	  (mkdir("C:\") causes EACCESS on Windows 2000/NTFS)</div><div class='del'>-</div><div class='del'>-Thu Dec 11 19:08:02 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (mkdir_p): check if it is a directory after</div><div class='del'>-	  mkdir(2) instead of before mkdir(2), to avoid race condition.</div><div class='del'>-	  [ruby-talk:87730]</div><div class='del'>-	  Refer: mkinstalldirs sh script, GNU mkdir(1) (coreutils 5.0)</div><div class='del'>-</div><div class='del'>-Thu Dec 11 18:49:30 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: def m( arg ) -&gt; def m(arg).</div><div class='del'>-</div><div class='del'>-Thu Dec 11 11:39:43 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ieeefp.h), numeric.c: needed for finite() on</div><div class='del'>-	  Solaris.  [ruby-core:01921]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_inspect): adjust format specifier.</div><div class='del'>-</div><div class='del'>-	* parse.c (arg_prepend): nodetype() is for debug use.</div><div class='del'>-</div><div class='del'>-	* ruby.h (ISASCII, etc): cast to int to get rid of warning.</div><div class='del'>-</div><div class='del'>-	* ruby.h (alloca.h): include even in GCC.  [ruby-core:01925]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format</div><div class='del'>-	  specifier.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,</div><div class='del'>-	  BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be</div><div class='del'>-	  volatile.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with</div><div class='del'>-	  format specifier.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not</div><div class='del'>-	  define unless used.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (getDevice): get rid of warning.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (port_str, sock_s_getaddrinfo,</div><div class='del'>-	  sock_s_getnameinfo): FIX2INT() now returns long.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (init_inetsock_internal): uninitialized</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use</div><div class='del'>-	  ISDIGIT() instead of isdigit() to avoid warnings and for</div><div class='del'>-	  platforms which don't support non-ascii charater.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 19:28:56 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): set EOF flag at short read.</div><div class='del'>-	  [ruby-dev:22223], [ruby-dev:22224]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 18:07:25 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: new method ERB#filename(=). [ruby-dev:22208]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 17:54:51 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): do not set EOF flag when</div><div class='del'>-	  requested length is zero.  [ruby-dev:22214]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 17:17:18 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): should return given string even if data read is</div><div class='del'>-	  empty.  [ruby-dev:22207]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 17:16:06 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): adjust behavior at reading</div><div class='del'>-	  beyond EOF to IO.  [ruby-dev:22205]</div><div class='del'>-</div><div class='del'>-	* test/ruby/ut_eof.rb (TestEOF::Seek): test behaviors at reading</div><div class='del'>-	  beyond EOF.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb, test/stringio/test_stringio.rb: include</div><div class='del'>-	  TestEOF::Seek test case.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 15:01:19 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/monitor/test_monitor.rb (test_cond): use Queue#deq</div><div class='del'>-	  instead of sleep.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 14:45:39 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (HAVE_SYS_IOCTL_H): need to include &lt;sys/ioctl.h&gt;</div><div class='del'>-	  for TIOCSCTTY on *BSD.  based on gotoyuzo's patch.</div><div class='del'>-	  (ruby-bugs:PR#1211)</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): should close descriptors if fork</div><div class='del'>-	  failed.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 12:53:05 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.h: define execv() using do_aspawn().</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v): remove #ifdef's which stopped needing.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 23:32:23 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tkcanvas.rb, ext/tk/lib/tkdialog.rb,</div><div class='del'>-	  ext/tk/lib/tkentry.rb, ext/tk/lib/tkscrollbox.rb, ext/tk/lib/tktext.rb,</div><div class='del'>-	  ext/tk/sample/tkalignbox.rb, ext/tk/sample/tkcombobox.rb,</div><div class='del'>-	  ext/tk/sample/tkmultilistbox.rb, ext/tk/sample/tkoptdb.rb, ext/tk/sample/tktextframe.rb,</div><div class='del'>-	  ext/tk/sample/demos-en/dialog1.rb, ext/tk/sample/demos-en/dialog2.rb,</div><div class='del'>-	  ext/tk/sample/demos-jp/dialog1.rb, ext/tk/sample/demos-jp/dialog2.rb:</div><div class='del'>-	  overrided instance methods, which are private methods on the super</div><div class='del'>-	  class, are changed to 'private'</div><div class='del'>-</div><div class='del'>-Tue Dec  9 19:53:02 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#route_from0): make case insensitive</div><div class='del'>-	  for host-part.</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (test_route): added tests for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 14:10:48 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_readable): don't call io_seek if EOF flag is set,</div><div class='del'>-	  to avoid clearing EOF flag.</div><div class='del'>-	  (rb_io_check_writable): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 02:53:55 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkalignbox.rb: new sample script</div><div class='del'>-</div><div class='del'>-Tue Dec  9 00:45:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: renamed #assert_raises to #assert_raise</div><div class='del'>-	  and made the former call the latter. [ruby-core:01890]</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 00:07:35 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/standaloneServer.rb: add 'shutdown' and 'status'</div><div class='del'>-	  methods as delegates to WEBrick.</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/{test_calc.rb,test_calc2.rb},</div><div class='del'>-	  test/soap/helloworld/test_helloworld.rb,</div><div class='del'>-	  test/wsdl/datetime/test_datetime.rb, test/wsdl/raa/test_raa.rb:</div><div class='del'>-	  follow the change.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 22:48:03 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb: remove dependency to a particular</div><div class='del'>-	  runner.  [ruby-core:01901], [ruby-list:38869]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/testrunnerutilities.rb: moved output level</div><div class='del'>-	  constants from Console.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/console/testrunner.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/{fox,gtk,gtk2,tk}/testrunner.rb (initialize):</div><div class='del'>-	  accept output_level.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 15:03:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c (syck_io_str_read): get rid of buffer overflow.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 13:02:11 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: new method URI.regexp. [ruby-dev:22121]</div><div class='del'>-</div><div class='del'>-	* test/uri/test_common.rb: add test for URI.regexp.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 12:44:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: define swap16 and swap32 only if they are not</div><div class='del'>-	  defined. OpenBSD defines these macros. [ruby-dev:22181]</div><div class='del'>-</div><div class='del'>-Sun Dec  7 20:54:17 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (map_charset): make case sensitive.</div><div class='del'>-	  ext/iconv/charset_alias.rb (charset_alias): don't ignore</div><div class='del'>-	  config.charset's information.  sort aliases.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 22:58:03 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_start_ssl): new function to wrap</div><div class='del'>-	  SSL_connect and SSL_accept; if SSL_connect (or SSL_accept) returned</div><div class='del'>-	  but not finished the handshake process, we should retry it.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_connect): call ossl_start_ssl.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read): allow signal traps.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 21:45:10 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (flush_before_seek): flush before seek on any platform.</div><div class='del'>-</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 17:23:00 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/soap.rb(SOAP::Env.getenv): allow upcase environment variable</div><div class='del'>-	  as well as downcase one.</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb(SOAP::NetHttpClient#proxy=): check URI.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 23:22:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises,</div><div class='del'>-	  Test::Unit::Assertions::assert_nothing_raised): use the last</div><div class='del'>-	  argument as message unless class object.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb (test_assert_raises): test for</div><div class='del'>-	  multiple exception list.  [ruby-core:01891]</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb (test_assert_nothing_raised): test</div><div class='del'>-	  for non-exception classes.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 22:23:04 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb: proxy support did not work.  fixed.</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb: add class methods for loading property from</div><div class='del'>-	  stream/file/propertyfile.  propertyfile is a file which is located at</div><div class='del'>-	  somedir in $:.</div><div class='del'>-</div><div class='del'>-	* lib/soap/soap.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb,</div><div class='del'>-	  lib/wsdl/importer.rb: load property from propertyfile 'soap/property'</div><div class='del'>-	  e.g. /usr/local/lib/ruby/site_ruby/1.8/soap/property.</div><div class='del'>-</div><div class='del'>-	* test/soap/test_property.rb, test/soap/test_streamhandler.rb: new file.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 17:26:23 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exec_end_proc): maintain tmp_end_procs.</div><div class='del'>-	  [ruby-dev:22154]</div><div class='del'>-</div><div class='del'>-Fri Dec  5 13:36:59 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exec_end_proc): should not clear end_procs and</div><div class='del'>-	  ephemeral_end_procs before execution. [ruby-dev:22144]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_extend): call Module#extended hook after</div><div class='del'>-	  extended_object.  [ruby-list:38866]</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): Module#extended defined.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 13:17:30 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pipe.rb: use IO.pipe instead of IO.popen.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 11:54:45 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): follow IO#read.</div><div class='del'>-</div><div class='del'>-	* test/ruby/ut_eof.rb, test/ruby/test_file.rb, test/ruby/test_pipe.rb,</div><div class='del'>-	  test/stringio/test_stringio.rb: add EOF test.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 02:49:35 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises):</div><div class='del'>-	  allow multiple exception list.  [ruby-core:01884]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_nothing_raised):</div><div class='del'>-	  check whether arguments are subclass of Exception.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 23:54:00 2003  Rick Ohnemus  &lt;rick.ohnemus@systemware.com&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (aix_loaderror): should not use member named 'errno' which</div><div class='del'>-	  might be a macro (e.g. on AIX).</div><div class='del'>-</div><div class='del'>-Thu Dec  4 23:32:26 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): do not depend on lseek position.</div><div class='del'>-	  [ruby-dev:22026]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 22:37:26 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): preserve $! value when retry happens in the</div><div class='del'>-	  rescue clause.  [ruby-talk:86697]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 21:50:07 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRb::DRbMessage::send_request, send_reply):</div><div class='del'>-	  should rescue errors and re-raise DRbConnError on write too.</div><div class='del'>-	  [ruby-dev:22132]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 16:41:17 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (exc_list): allow expanding list.  [ruby-dev:22134]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 14:09:24 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_cp): test if the error is</div><div class='del'>-	  kind of SystemCallError.  It is needless details that which errno</div><div class='del'>-	  is set on each systems.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 13:24:13 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: use Object#__send__ instead of Object#send.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 13:17:45 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/streamHandler.rb: support latest released version of</div><div class='del'>-	  http-access2.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 13:04:44 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/soap.rb: add SOAP::Env module for environment repository</div><div class='del'>-	  such as HTTP_PROXY.</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb: property implementation.</div><div class='del'>-</div><div class='del'>-	* lib/soap/streamHandler.rb, lib/soap/wsdlDriver.rb,</div><div class='del'>-	  lib/soap/rpc/driver.rb: use soap/property.rb.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/importer.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb:</div><div class='del'>-	  use SOAP::Env.</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb: add basic_auth, ssl_config, and cookie</div><div class='del'>-	  management interface, but ignored for now.</div><div class='del'>-</div><div class='del'>-	* lib/xsd/charset.rb: add XSD::Charset.encoding= interface to set</div><div class='del'>-	  wiredump charset explicitly.  it was fixed to 'utf-8' when iconv or</div><div class='del'>-	  uconv module was found.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 10:43:58 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/sym.c (rb_dlsym_guardcall): __declspec(noinline) is VC7</div><div class='del'>-	  feature.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 10:27:12 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: update hyperlink to the Japanese document.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 09:12:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (asn1time_to_time): should check that</div><div class='del'>-	  the underlying value of ASN1_TIME isn't NULL. [ruby-core:01881]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 08:29:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (GenericServer#start): should rescue</div><div class='del'>-	  Exception to avoid unexpected aborting. [ruby-core:01853]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (GenericServer#start_thread): should check</div><div class='del'>-	  that peeraddr isn't nil before printing.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (HTTPResponse#start_thread): should</div><div class='del'>-	  rescue Exception to avoid unexpected aborting of thread.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 03:48:59 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#link, Pathname#symlink): obsoleted.</div><div class='del'>-	  (Pathname#make_link, Pathname#make_symlink): new method.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 01:45:24 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): should not terminate on empty string; wait</div><div class='del'>-	  until real EOF.  [ruby-dev:21969]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read): should adjust length to read, when length is</div><div class='del'>-	  specified and read spans command line argument files.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 19:38:36 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: correct fcntl parameter. [ruby-dev:22120]</div><div class='del'>-</div><div class='del'>-Wed Dec  3 13:49:07 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: 'format'==&gt;'Kernel.format' (avoid override trouble)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkafter.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkcanvas.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkdialog.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tktext.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 13:28:13 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (lex.c): try gperf first, and copy from the source</div><div class='del'>-	  directory if failed.  [ruby-dev:22123]</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (MTIMES): let makefiles depend to mkmf.rb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): DLDFLAGS was duplicated.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 23:18:12 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: wrote the warning about HTTP_PROXY environment</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 21:31:42 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/testrb: new test runner.  [ruby-core:01845]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner.run,</div><div class='del'>-	  Test::Unit::AutoRunner#process_args): take test list to run and</div><div class='del'>-	  options.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::RUNNERS,</div><div class='del'>-	  Test::Unit::AutoRunner#run): should not exit inside a library,</div><div class='del'>-	  just return the result instead.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: exit with the test result.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 20:18:48 2003  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found</div><div class='del'>-	  instead of Bison or byacc.</div><div class='del'>-</div><div class='del'>-	* parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least</div><div class='del'>-	  10000 (Bison's default) since some old versions of Yacc define it as</div><div class='del'>-	  low as 150 by default, which is too low for Ruby to parse some files,</div><div class='del'>-	  such as date/format.rb.  Among other issues, the parse problem causes</div><div class='del'>-	  "make test" to fail.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 20:03:20 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: check if Pathnames are usable</div><div class='del'>-	  for arguments.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 04:22:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: fixed #assert_no_match message.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 00:43:00 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c: string buffering bug.  decrementing by full</div><div class='del'>-	  max_size now. [ruby-core:01834]</div><div class='del'>-</div><div class='del'>-Mon Dec  1 21:33:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_sadded): prohibit singleton method definition for</div><div class='del'>-	  Numerics.  fill yet another gap between Fixnum and Bignum.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 17:33:47 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (htov16): converts endian using swap16. htov32(), hton16,</div><div class='del'>-	  hton32 as well. [ruby-talk:85377]</div><div class='del'>-</div><div class='del'>-	* pack.c (swap16): swap 2 bytes no matter how big short is on the</div><div class='del'>-	  platform.  swap32() is also prepared.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2int): returns long to preserve information.</div><div class='del'>-	  rb_fix2int(), rb_num2uint(), rb_fix2uint() as well.</div><div class='del'>-	  [ruby-talk:85377]</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2uint): should not check for value range if the</div><div class='del'>-	  source value is negative.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 17:14:34 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/optparse/opttest.rb: added.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 16:10:52 2003  Dave Thomas  &lt;dave@pragprog.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.rb: (etc) initial merge into main tree.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 14:17:49 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_each_src_dest0): call #to_str to allow</div><div class='del'>-	  Pathname for arguments. [ruby-core:01795]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: does much strict test on</div><div class='del'>-	  "same" files detecting.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 09:28:14 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='del'>-	  (XCFLAGS): re-export $(XCFLAGS).</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='del'>-	  (ARCH_FLAG): export $(ARCH_FLAG) (perhaps empty value).</div><div class='del'>-</div><div class='del'>-Mon Dec  1 01:03:27 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (TRY_LINK, link_command): added support for DLDFLAGS</div><div class='del'>-	  and ARCH_FLAG.  [ruby-dev:22085]</div><div class='del'>-</div><div class='del'>-Sun Nov 30 20:18:07 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.</div><div class='del'>-	  [ruby-core:01819]</div><div class='del'>-</div><div class='del'>-	* Makefile.in: add ARCH_FLAG to CFLAGS.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: add @CPPFLAGS@ to CPPFLAGS.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): add ARCH_FLAG to DLDFLAGS.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: add ARCH_FLAG to DLDFLAGS.</div><div class='del'>-</div><div class='del'>-	* configure.in: should put getcwd in AC_CHECK_FUNCS, not</div><div class='del'>-	  AC_REPLACE_FUNCS.  [ruby-core:01826]</div><div class='del'>-</div><div class='del'>-Sun Nov 30 18:22:48 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,</div><div class='del'>-	  DLDFLAGS and LDSHARED.</div><div class='del'>-</div><div class='del'>-	* configure.in: XCFLAGS for compiling ruby itself.  ARCH_FLAG is</div><div class='del'>-	  reflected in CFLAGS.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.  do not import XCFLAGS from config.status.</div><div class='del'>-</div><div class='del'>-Sun Nov 30 17:37:36 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: bug fix [ruby-talk:86746]</div><div class='del'>-</div><div class='del'>-Sun Nov 30 13:02:00 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying</div><div class='del'>-	  Conditional Expressions.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/soap/definitions.rb: refactoring - Move Method.</div><div class='del'>-</div><div class='del'>-	* test/xsd/{test_noencoding.rb,noencoding.xml}: new files.  test for</div><div class='del'>-	  encoding unspecified XML file parsing.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/{test_fault.rb,map,datetime}: new files.  test of</div><div class='del'>-	  SOAPFault, dateTime and Apache's Map.</div><div class='del'>-</div><div class='del'>-Sun Nov 30 09:35:14 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_update): get rid of SEGV at just allocated String.</div><div class='del'>-	  [ruby-core:01812]</div><div class='del'>-</div><div class='del'>-Fri Nov 28 23:19:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): explicitly check mark recursion levels, instead</div><div class='del'>-	  of unreliable stack length.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 22:49:56 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb: fix TupleSpaceProxy#read, read_all.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 21:44:40 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_ln_s): should be a file, not</div><div class='del'>-	  a directory for FreeBSD.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 19:37:56 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_has_value, env_index): must match exactly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb (test_has_value, test_index): condition for</div><div class='del'>-	  aboves.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 17:59:20 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: add tests for ENV.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 17:47:46 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (DRbMessage#load): rescue Errno::* and raise</div><div class='del'>-	  DRbConnError.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 15:41:15 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#realpath): obsolete the force_absolute</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 14:41:52 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/streamHandler.rb: drop unused http parameters.</div><div class='del'>-</div><div class='del'>-	* lib/soap/encodingstyle/soapHandler.rb, lib/soap/mapping/factory.rb,</div><div class='del'>-	  lib/soap/mapping/mapping.rb, lib/soap/mapping/registry.rb,</div><div class='del'>-	  lib/wsdl/soap/complexType.rb: ApacheSOAP's map support was broken</div><div class='del'>-	  under WSDL dynanic client environment.  fixed.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/raa/*: add tests.</div><div class='del'>-</div><div class='del'>-	* lib/xsd/datatypes.rb: dateTime precision bug fix (at least, I hope.)</div><div class='del'>-	  bug of soap4r.  XSDDateTimeImple.to_time passed a Float to</div><div class='del'>-	  Time.local/Time.gm as an usec, and NUM2LONG(rb_num2long for Float)</div><div class='del'>-	  causes rounding error.</div><div class='del'>-</div><div class='del'>-	* test/soap/test_basetype.rb, test/xsd/test_xsd.rb: add tests.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 04:15:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (method_arity): used wrong Proc object.  [ruby-talk:86504]</div><div class='del'>-</div><div class='del'>-Fri Nov 28 00:47:29 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_exit), process.c (rb_f_exit_bang): treat true as</div><div class='del'>-	  success, false as failure.  [ruby-dev:22067]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_abort, rb_thread_switch), process.c (rb_f_system): use</div><div class='del'>-	  ANSI macro instead of hard coded value.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_exit), process.c (rb_f_exit_bang): use VALUEs not but</div><div class='del'>-	  TYPEs.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 22:05:48 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c: FreeBSD/ia64 currently does not have a way for a</div><div class='del'>-	  process to get the base address for the RSE backing store, so</div><div class='del'>-	  hardcode it for the moment.</div><div class='del'>-	  [submitted by: Marcel Moolenaar &lt;marcel@FreeBSD.org&gt;]</div><div class='del'>-</div><div class='del'>-Thu Nov 27 17:36:42 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkafter.rb: bug fix on TkTimer#cancel_on_exception=(mode).</div><div class='del'>-	  TkTimer#wait receives the exception of the callback.</div><div class='del'>-	  The exception is kept on @return_value.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 16:58:48 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_stat): remove _fullpath() for NUL: device.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 15:38:47 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_ln_s): should take the</div><div class='del'>-	  existing symbolic link for OpenBSD.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 04:48:42 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: removed YYTOKTMP references which</div><div class='del'>-	  were causing buffer overflows on large block scalars,</div><div class='del'>-	  comments, quoted scalars and plain scalars.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: dynamic changing of buffer size.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: default buffer size of 4k.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 00:55:30 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb: add HTTPResponse#keep_alive=.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (HTTPServer#run): should pass the</div><div class='del'>-	  request's keep_alive flag to the response.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 21:41:35 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h (ENV_IGNORECASE): should define when DOSISH without</div><div class='del'>-	  human68k. [ruby-dev:22047]</div><div class='del'>-</div><div class='del'>-	* hash.c (env_has_value, env_index): don't ignore case of value.</div><div class='del'>-	  [ruby-dev:22048]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 21:39:37 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (path_check_1): honor sticky bits always.</div><div class='del'>-	  [ruby-talk:86273]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 20:02:14 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: do test in more deep</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_nowrite.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 19:04:23 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): ENV case sensitivity test</div><div class='del'>-	  refined.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 18:13:30 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: chdir Dir.tmpdir before each</div><div class='del'>-	  test. [ruby-dev:22045]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_nowrite.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 17:52:11 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): use http_proxy under CGI</div><div class='del'>-	  if the environment variable is case sensitive.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 16:41:33 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb:</div><div class='del'>-	  removed.  this test requires extra libraries in soap4r/1.5.*.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 16:24:42 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/**/*.rb, lib/wsdl/**/*.rb, lib/xsd/**/*.rb: changed license;</div><div class='del'>-	  GPL2 -&gt; Ruby's.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/driver.rb, lib/soap/wsdlDriver.rb,</div><div class='del'>-	  lib/soap/streamHandler.rb: add interface to streamhandler.</div><div class='del'>-</div><div class='del'>-	* lib/soap/marshal.rb: raise error if parse fails.</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb: add https support.  Patched by</div><div class='del'>-	  Oliver M. Bolzer.</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb: dump HTTP response message body by itself.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/driver.rb, lib/soap/rpc/proxy.rb,</div><div class='del'>-	  lib/soap/wsdlDriver.rb: add driver#mandatorycharset interface to foce</div><div class='del'>-	  using charset for parsing response from buggy server.</div><div class='del'>-</div><div class='del'>-	* lib/soap/encodingstyle/soapHandler.rb: support Apache Axis's half</div><div class='del'>-	  typed multi-ref array.</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/factory.rb, lib/soap/mapping/registry.rb: map</div><div class='del'>-	  SOAPStruct which has multi-accessors which name are the same, to an</div><div class='del'>-	  array.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/element.rb: fixed illegal parameter order.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/element.rb: element name of response message could have</div><div class='del'>-	  the name other than 'return'.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/operation.rb, lib/wsdl/operationBinding.rb,</div><div class='del'>-	  lib/wsdl/soap/classDefCreator.rb, lib/wsdl/soap/methodDefCreator.rb,</div><div class='del'>-	  lib/wsdl/soap/methodDefCreatorSupport.rb: WSDL/1.1 allows plural</div><div class='del'>-	  fault definition in a operation. [ruby-talk:84948]</div><div class='del'>-</div><div class='del'>-	* test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb: add</div><div class='del'>-	  test for above fix.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/soap/complexType.rb: support WSDL array definition with</div><div class='del'>-	  maxOccures="unbound".</div><div class='del'>-</div><div class='del'>-	* lib/xsd/charset.rb: use cp932 under emx.  Patched by</div><div class='del'>-	  Siena. / SHINAGAWA, Norihide in [ruby-dev:21972]</div><div class='del'>-</div><div class='del'>-	* lib/xsd/xmlparser/parser.rb: set @charset nil by default.  Nil means</div><div class='del'>-	  'follow encoding declaration in XML'.</div><div class='del'>-</div><div class='del'>-	* sample/soap/digraph.rb, sample/wsdl/amazon/wsdlDriver.rb,</div><div class='del'>-	  sample/wsdl/googleSearch/sampleClient.rb,</div><div class='del'>-	  sample/wsdl/googleSearch/wsdlDriver.rb,</div><div class='del'>-	  test/wsdl/test_emptycomplextype.rb,</div><div class='del'>-	  test/wsdl/marshal/test_wsdlmarshal.rb,</div><div class='del'>-	  test/xsd/test_xmlschemaparser.rb: use File.open(...) { |f| f.read }</div><div class='del'>-	  instead of File.open(...).read. [ruby-dev:21964]</div><div class='del'>-</div><div class='del'>-	* test/wsdl/emptycomplextype.wsdl, test/wsdl/test_emptycomplextype.rb:</div><div class='del'>-	  simplify the test case.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/axisArray/*: add tests for axis's array encoding.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 16:15:29 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: don't treat Cygwin as Windows.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 15:18:28 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: change default value of --enable-pthread (default: no)</div><div class='del'>-</div><div class='del'>-Tue Nov 25 07:31:16 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): allow newlines just before right argument</div><div class='del'>-	  parenthesis.  (ruby-bugs:PR#1221)</div><div class='del'>-</div><div class='del'>-Mon Nov 24 23:32:06 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_loop, URI::HTTP#proxy_open): use</div><div class='del'>-	  catch/throw for redirection instead of exception.</div><div class='del'>-	  (OpenURI.open_loop, OpenURI.redirectable?): restrict redirection.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 19:59:48 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): use CGI_HTTP_PROXY</div><div class='del'>-	  instead of HTTP_PROXY in the CGI environment.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 19:32:55 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb: check for pw_passwd in struct passwd and</div><div class='del'>-	  gr_passwd in struct group for DJGPP.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/Setup.dj: support for curses, etc, zlib.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 17:00:00 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: validate option names.</div><div class='del'>-	  :content_length_proc and :progress_proc option implemented.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 14:53:10 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='del'>-	  (XCFLAGS): output empty value instead of `-DRUBY_EXPORT'.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 23:09:45 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: set enable_pthread to no on MinGW.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 22:56:20 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add --enable-pthread option (default: yes)</div><div class='del'>-</div><div class='del'>-Sat Nov 22 22:48:46 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add Tk.grab_release and fix bug of TkComposite</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkafter.rb: bug fix of TkAfter#start</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkcombobox.rb: new sample script</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: add native thread check</div><div class='del'>-</div><div class='del'>-Sat Nov 22 18:49:47 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_nodelay): nodelay() of NetBSD's</div><div class='del'>-	  libcruses returns no value, just like keypad().</div><div class='del'>-</div><div class='del'>-Sat Nov 22 17:36:36 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='del'>-	  (HAVE_GETCWD): output to config.h.</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub</div><div class='del'>-	  (XCFLAGS): output to config.status.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 13:10:10 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (have_st_ino?): djgpp has valid st_ino.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 11:28:48 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): stack region is far smaller than usual if</div><div class='del'>-	  pthread is used.</div><div class='del'>-</div><div class='del'>-Sat Nov 22 07:30:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/util/backtracefilter.rb: fixed a bug that occurred</div><div class='del'>-	  when an exception had no backtrace.</div><div class='del'>-</div><div class='del'>-	* test/testunit/util/test_backtracefilter.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 16:44:18 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkentry.rb: fix the encoding trouble of percent</div><div class='del'>-	  substitutions on validatecommand option of TkEntry widget</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fix bug on {pack|grid}_propagate() method</div><div class='del'>-</div><div class='del'>-Fri Nov 21 16:12:11 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.1: Fix markups and grammar.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 14:49:42 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.1: wrote about ruby related environment variables.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 12:28:03 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_extended): singleton methods should not be checked</div><div class='del'>-	  when dumping via marshal_dump() or _dump(). [ruby-talk:85909]</div><div class='del'>-</div><div class='del'>-Fri Nov 21 01:40:00 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check &lt;pthread.h&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: include pthread.h if existence.</div><div class='del'>-	  define is_ruby_native() macro when not HAVE_NATIVETHREAD</div><div class='del'>-</div><div class='del'>-	* eval.c: undef is_ruby_native() function when not HAVE_NATIVETHREAD</div><div class='del'>-</div><div class='del'>-Fri Nov 21 00:43:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: use #__send__ instead of #send.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 19:19:22 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't find the Cygwin's pthread library on MinGW.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 19:15:50 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (have_st_ino?): emx (OS/2 with EMX) does not</div><div class='del'>-	  have st_ino (always 0). [ruby-dev:21972]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rename_cannot_overwrite_file?): emx does not</div><div class='del'>-	  allow overwriting files by rename(2).</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: windows? -&gt;</div><div class='del'>-	  have_drive_letter?, have_file_perm?</div><div class='del'>-</div><div class='del'>-Thu Nov 20 17:50:58 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkballoonhelp.rb: new sample script</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tkmultilistbox.rb: ditto</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextframe.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Nov 20 13:37:34 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: define is_ruby_native_thread() for no native thread</div><div class='del'>-	  environment</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto</div><div class='del'>-</div><div class='del'>-Thu Nov 20 12:42:47 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: always check existence of the pthread library</div><div class='del'>-</div><div class='del'>-	* ruby.h: define macros for ruby's native thread check</div><div class='del'>-</div><div class='del'>-	* eval.c: add ruby's native thread check</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 19 14:45:18 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (to_ary): print more friendly warning message.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 14:32:08 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_same?): add djgpp and wince.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cannot_overwrite_file?): add wince.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 11:04:47 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cannot_overwrite_file?, have_st_ino?): bccwin32</div><div class='del'>-	  is same as mswin32.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 07:54:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: do not run tests if $! is set.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertionfailederror.rb: extend StandardError instead</div><div class='del'>-	  Exception (irb catches the former but not the latter).</div><div class='del'>-</div><div class='del'>-Tue Nov 18 23:31:36 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/memmove.c (memmove): take void *, not char *.</div><div class='del'>-</div><div class='del'>-	* missing.h (memmove): ditto.</div><div class='del'>-</div><div class='del'>-	* missing.h (strchr, strrchr): return char *, not int.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 22:20:10 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_same?): temporal fix for windows.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 19:05:04 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_same?): check by inode instead of path</div><div class='del'>-	  name, to detect two hard links pointing to the same content.</div><div class='del'>-</div><div class='del'>-	* test/fileutils.rb: did not create correctly looped symlinks.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 18:23:05 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): behave as IO at empty string.</div><div class='del'>-	  [ruby-dev:21939], [ruby-dev:21941]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getc, strio_getline): set EOF flag.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_rewind, strio_seek, strio_ungetc):</div><div class='del'>-	  clear EOF flag.</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb: imported from [ruby-dev:21941].</div><div class='del'>-</div><div class='del'>-Tue Nov 18 14:06:35 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_each_src_dest): raise if src==dest.</div><div class='del'>-	  [ruby-talk:85344] [ruby-core:01699]</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: use Object#is_a? instead of Class#=== to allow</div><div class='del'>-	  e.g. remote objects for receivers.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: FileTest -&gt; File.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: put parentheses for arguments of File.xxxx?</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_cp): test "cp a a".</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_mv): test "mv a a".</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_ln): test "ln a a".</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_ln_s): test "ln_s a a".</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_install): test "install a a".</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb: new method assert_symlink.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb: assert_is_directory -&gt; assert_directory.</div><div class='del'>-</div><div class='del'>-Mon Nov 17 19:38:49 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (getcwdofdrv): avoid using getcwd() directly, use</div><div class='del'>-	  my_getcwd() instead.</div><div class='del'>-</div><div class='del'>-	* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine</div><div class='del'>-	  &lt;sunshine@sunshineco.com&gt;.  [ruby-core:01596]</div><div class='del'>-</div><div class='del'>-Mon Nov 17 10:50:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion::complete): allow least</div><div class='del'>-	  common completion for three or more candidates.</div><div class='del'>-</div><div class='del'>-Mon Nov 17 09:41:38 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/tk/testrunner.rb,</div><div class='del'>-	  lib/test/unit/ui/gtk/testrunner.rb:</div><div class='del'>-	  run GUI main loop in sub thread.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/gtk2/testrunner.rb: imported from rough.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb (keyword_display): sort keywords.</div><div class='del'>-</div><div class='del'>-Sun Nov 16 18:10:57 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): iterator should return value from next inside</div><div class='del'>-	  begin/rescue/end.  (ruby-bugs:PR#1218)</div><div class='del'>-</div><div class='del'>-Sun Nov 16 13:26:07 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): LINK check earlier than anything else,</div><div class='del'>-	  i.e. do not dump TYPE_IVAR for already dumped objects.</div><div class='del'>-	  (ruby-bugs:PR#1220)</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): call "inherited" only when a new class is</div><div class='del'>-	  generated; not on reopening.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): prepend error position in evaluating string to</div><div class='del'>-	  "mesg" attribute string only when it's available and is a</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Sun Nov 16 12:16:10 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: logging response body. [experimental]</div><div class='del'>-	  [ruby-list:38800]</div><div class='del'>-</div><div class='del'>-Sun Nov 16 10:49:38 2003  Gavin Sinclair  &lt;gsinclair@soyabean.com.au&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Thread.exclusive): wrap method definition in</div><div class='del'>-	  class Thread to enable rdoc to process.</div><div class='del'>-</div><div class='del'>-Sun Nov 16 09:45:23 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (set_debug_output): warn if method is called</div><div class='del'>-	  after #start.  [ruby-dev:38798]</div><div class='del'>-</div><div class='del'>-Sun Nov 16 04:41:33 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): do not re-raise exception to avoid unnecessary</div><div class='del'>-	  exception copying, instead modify exception and internal</div><div class='del'>-	  information to adjust eval().</div><div class='del'>-</div><div class='del'>-	* eval.c (backtrace): can return the current frame information</div><div class='del'>-	  only if lev &lt; -1.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 22:16:42 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* /ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext):</div><div class='del'>-	  refine error message.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 10:05:40 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_loop, OpenURI::HTTP#proxy_open):</div><div class='del'>-	  refactored to support options.</div><div class='del'>-	  (Buffer): maintain size by this class.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 07:40:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_node): new API to retrieve method body.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 13:21:30 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: fix (en-bugged at 2003/11/07)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkdialog.rb: TkDialog.new accepts a parent widget</div><div class='del'>-	  argument [ruby-talk:85066]</div><div class='del'>-</div><div class='del'>-Thu Nov 13 20:53:35 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.</div><div class='del'>-	  [ruby-ext:02251]</div><div class='del'>-</div><div class='del'>-Thu Nov 13 19:17:00 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/tk/testrunner.rb: use grid and panedwindow</div><div class='del'>-	  (if available)</div><div class='del'>-</div><div class='del'>-Thu Nov 13 17:56:41 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_uri): use File::RDONLY.</div><div class='del'>-	  reported by Take_tk &lt;ggb03124@nifty.ne.jp&gt;.</div><div class='del'>-	  [ruby-ext:02245]</div><div class='del'>-</div><div class='del'>-Thu Nov 13 16:45:53 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509req.c (ossl_x509req_to_der): add function for</div><div class='del'>-	  X509::Request#to_der.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 11:31:14 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion#complete): prior shorter</div><div class='del'>-	  name to containing longer name.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 06:08:54 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: stop freezing some classes</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 17:32:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_throws, assert_nothing_thrown):</div><div class='del'>-	  uncaught throw in sub thread raises ThreadError.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/tk/testrunner.rb (setup_ui): "expand" is not</div><div class='del'>-	  necessary.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 14:09:43 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/monitor/test_monitor.rb: fix the timing problem by Queue.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 12:59:44 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/monitor/test_monitor.rb: added.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 10:14:28 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: refactored. Thanks, Gennady Bystritsky.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 06:11:39 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_x509_sk2ary, ossl_x509crl_sk2ary):</div><div class='del'>-	  add functions to convert STACK into Array.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: add prototypes.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_set_certificates,</div><div class='del'>-	  ossl_pkcs7_get_certificates, ossl_pkcs7_get_crls,</div><div class='del'>-	  ossl_pkcs7_set_crls): add functions for PKCS7#certificates=</div><div class='del'>-	  PKCS7#certificates, PKCS7#crls= and PKCS7#crls.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 00:47:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/testrunnermediator.rb: should require 'test/unit'.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 23:54:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/gtk/testrunner.rb: added a rescue clause to handle</div><div class='del'>-	  the case when the requested font is not available.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 22:44:08 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): file may not end with newline.  a bug if</div><div class='del'>-	  READ_DATA_PENDING_PTR is defined. [ruby-talk:84925]</div><div class='del'>-</div><div class='del'>-Tue Nov 11 10:42:41 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: raise an exception when creating TkWindow</div><div class='del'>-	  object, because TkWindow class is an abstract class.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 03:30:43 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ext/openssl/ossl_conf.c (ossl_config_get_value): return nil</div><div class='del'>-	  if the specified value doesn't exist.</div><div class='del'>-</div><div class='del'>-	* lib/ext/openssl/ossl_conf.c (ossl_config_get_section): return</div><div class='del'>-	  a empty hash if the specified section doesn't exist.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 11:40:29 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb (wait): return true on signal/broadcastfalse and</div><div class='del'>-	  false on timeout. Thanks Gennady Bystritsky.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 00:07:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): primary_value may be 0 when syntax error.</div><div class='del'>-	  [ruby-talk:84893]</div><div class='del'>-</div><div class='del'>-Sun Nov  9 02:05:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: un-deprecated #assert_not_nil to</div><div class='del'>-	  maintain symmetry with #assert_nil. Also added better output for</div><div class='del'>-	  #assert_kind_of.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tc_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 18:50:20 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/wsdl/raa/*: add new testcase for WSDL loading, parsing and</div><div class='del'>-	  reading.</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/*: backport from soap4r/1.5.1.  all differences are</div><div class='del'>-	  for ruby/1.6.</div><div class='del'>-</div><div class='del'>-	* lib/soap/*: backport from soap4r/1.5.1.  all differences are for</div><div class='del'>-	  ruby/1.6.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of</div><div class='del'>-	  ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*.</div><div class='del'>-	  [ruby-talk:84813]</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/soap/definitions.rb: element name typo in custom exception</div><div class='del'>-	  struct definition which is needed for wsdlDriver; camelCase -&gt;</div><div class='del'>-	  underscore_name.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 13:49:50 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: improvement of pthread check</div><div class='del'>-</div><div class='del'>-Sat Nov  8 13:28:46 2003  Takaaki Tateishi  &lt;ttate@ttsky.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/sym.c: Add DL.win32_last_error and DL.last_error.</div><div class='del'>-	  Thanks, Kaoru Shirai.</div><div class='del'>-</div><div class='del'>-Sat Nov  8 06:19:38 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: To fix 'pthread-enabled Tcl/Tk' problem,</div><div class='del'>-	  TclTkIp#_eval calls Tcl_Eval() on the mainloop thread only</div><div class='del'>-	  (queueing a handler to the EventQueue).</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/README.1st: edit the description of '--with-pthread-ext'</div><div class='del'>-</div><div class='del'>-Fri Nov  7 23:23:04 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#+): if self or the argument is `.', return</div><div class='del'>-	  another.</div><div class='del'>-	  (Pathname#parent): if self is `.', return `..'.</div><div class='del'>-	  (Pathname#children): if self is `.', don't prepend self for a</div><div class='del'>-	  pathname in a result.</div><div class='del'>-	  (Pathname#join): re-implemented using Pathname#+.</div><div class='del'>-	  (Pathname#find): if self is `.', remove `./' prefix of yielding</div><div class='del'>-	  pathname.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 10:23:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent): get rid of SEGV on aliases</div><div class='del'>-	  lookup failure.  (ruby-bugs:PR#1215)</div><div class='del'>-</div><div class='del'>-Fri Nov  7 04:08:05 2003  UENO Katsuhiro  &lt;katsu@blue.sky.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib): define Zlib::GzipReader#each_line as</div><div class='del'>-	  an alias of Zlib::GzipReader#each.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 01:03:16 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): save and restore rb_prohibit_interrupt.</div><div class='del'>-	  [ruby-dev:21857]</div><div class='del'>-</div><div class='del'>-Thu Nov  6 18:05:07 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_inspect): show the path also at a closed file.</div><div class='del'>-	  [ruby-dev:21851]</div><div class='del'>-</div><div class='del'>-Thu Nov  6 11:42:07 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_set_string, strio_reopen): check</div><div class='del'>-	  tainted.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_copy, strio_ungetc, strio_write,</div><div class='del'>-	  strio_putc): add infection.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_path): just nil.  [ruby-dev:21846]</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): reserve searched script path in the</div><div class='del'>-	  source file name table.  [ruby-list:38765]</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion#complete): default not to</div><div class='del'>-	  ignore case on completion.  [ruby-talk:84726]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (make_cmdvector): process backslashes even if a quote</div><div class='del'>-	  is not enclosed.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 23:49:45 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/openssl/gen_csr.rb: there (at least) is a CA which does not</div><div class='del'>-	  accept DN in UTF8STRING format.  it's a sample.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 22:55:16 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, eval.c, signal.c: : add '--with-pthread-ext'</div><div class='del'>-	  option to fix the pthread trouble on 'tcltklib'</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/README.1st: add the description of '--with-pthread-ext'</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tktext.rb: add TkText#text_copy, text_cut, text_paste</div><div class='del'>-	  to support Tcl/Tk8.4's tk_textCopy, tk_textCut, tk_textPaste</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add TkMenu#set_focus support Tcl/Tk's</div><div class='del'>-	  tk_menuSetFocus</div><div class='del'>-</div><div class='del'>-Wed Nov  5 17:33:45 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): allow interrupt during loaded program</div><div class='del'>-	  evaluation.  [ruby-dev:21834]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch): always warn if default argument and a</div><div class='del'>-	  block are supplied at the same time. [ruby-dev:21842]</div><div class='del'>-</div><div class='del'>-	* hash.c (env_fetch): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fetch): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 19:08:47 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):</div><div class='del'>-	  do not remove next argument if empty value is placed.</div><div class='del'>-</div><div class='del'>-	* test/optparse: added.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 17:05:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/gtk/testrunner.rb: typo.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 11:13:32 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: add #include "version.h". this file still depends on it.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,</div><div class='del'>-	  wince/Makefile.sub: add version.h dependency to string.c.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 09:14:23 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: revert to the previous revision.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 08:39:51 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb (HTTPRequest#meta_vars): create</div><div class='del'>-	  SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil</div><div class='del'>-	  if no cert-chain was given.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 23:44:48 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:</div><div class='del'>-	  remove needless version.h dependency.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 23:38:43 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, hash.c, string.c: remove #include "version.h".</div><div class='del'>-</div><div class='del'>-	* Makefile.in: remove needless version.h dependency.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 06:54:52 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): fptr-&gt;f may be NULL, if IO is closed in the</div><div class='del'>-	  signal handler.</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (get_pat): remove 1.8.0 warning code.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match): extend warning until 1.8.2.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match2): ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (class_instance_method_list): remove 1.8.0 warnings.</div><div class='del'>-	  method_list now recurs.  [ruby-dev:21816]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_singleton_methods): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select): remove select with block.</div><div class='del'>-	  [ruby-dev:21824]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_select): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_select): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (match_select): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_select): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 22:53:21 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: synchronize with Racc 1.4.4.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c (parse_main): should abort when</div><div class='del'>-	  the length of LR state stack &lt;=1, not ==0.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 08:50:47 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_uid_switch): remove duplicated error messages.</div><div class='del'>-</div><div class='del'>-	* process.c (check_gid_switch): ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  2 02:28:33 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb: new option :SSLExtraChainCert.</div><div class='del'>-</div><div class='del'>-Sun Nov  2 01:02:04 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash): Update the HASH_PERL alternative hash</div><div class='del'>-	  algorithm in sync with Perl 5.8.</div><div class='del'>-</div><div class='del'>-	* st.c (strhash): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 18:21:09 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method</div><div class='del'>-	  SSLSocket#peer_cert_chain.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509req.c (GetX509ReqPtr): new function</div><div class='del'>-	  which returns underlying X509_REQ.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_issuer_cert,</div><div class='del'>-	  ossl_x509extfactory_set_subject_cert, ossl_x509extfactory_set_crl,</div><div class='del'>-	  ossl_x509extfactory_set_subject_req, ossl_x509extfactory_set_config):</div><div class='del'>-	  use underlying C struct without duplication not to leak momory.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 01:49:03 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/factory.rb: mark marshalled basetype objects when</div><div class='del'>-	  @allow_original_mapping is true.  multi-referencing basetype node is</div><div class='del'>-	  prohibited in SOAP/1.1 encoding but soap4r's original ruby object</div><div class='del'>-	  mapping requires basetype to be marked to detect self referencing</div><div class='del'>-	  loop.  e.g. o = 1; o.instance_eval { @iv = o }  soap4r's original</div><div class='del'>-	  mapping is only used through soap/marshal API.</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/test_marshal.rb: add tests for self referencing</div><div class='del'>-	  immutable objects.</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/test_calc_cgi.rb: fix test name.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 22:26:29 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* wince/string_wce.c (strrchr): should decrement pointer.</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub: correct a range of isdigit().</div><div class='del'>-</div><div class='del'>-Fri Oct 31 12:55:24 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD.</div><div class='del'>-	  [ruby-dev:21791]</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 01:38:14 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub, win32/Makefile.sub (.y.c): allow white spaces</div><div class='del'>-	  at the beginning of line to remove by sed. (ruby-bugs-ja:PR#580)</div><div class='del'>-</div><div class='del'>-Fri Oct 31 01:02:24 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_equal): protect exceptions from &lt;=&gt; comparison</div><div class='del'>-	  again.  returns nil if any exception or error happened during</div><div class='del'>-	  comparison.</div><div class='del'>-</div><div class='del'>-	* eval.c (search_required): should update *featurep when DLEXT2 is</div><div class='del'>-	  defined. (ruby-bugs-ja:PR#581)</div><div class='del'>-</div><div class='del'>-Thu Oct 30 23:41:04 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: add DRbArray</div><div class='del'>-</div><div class='del'>-	* lib/drb/invokemethod.rb: fix Hash#each problem. [ruby-dev:21773]</div><div class='del'>-</div><div class='del'>-	* lib/drb/unix.rb: add LoadError. [ruby-dev:21743]</div><div class='del'>-</div><div class='del'>-Thu Oct 30 23:19:11 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/generator.rb: better XML pretty printing.</div><div class='del'>-</div><div class='del'>-	* lib/soap/encodingstyle/soapHandler.rb: remove unnecessary namespace</div><div class='del'>-	  assignment in the element which has "encodingStyle" attribute, and</div><div class='del'>-	  add necessary namespace assignment for "arrayType" attribute.</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/test_calc_cgi.rb: take over $DEBUG to ruby process</div><div class='del'>-	  through CGI.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 22:59:39 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/yaml2byte.c: HASH const too long.  Thanks, matz.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 19:13:53 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/MANIFEST: Add yamlbyte.h.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 14:25:31 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (READ_DATA_BUFFERED): new macro to detect whether stdio</div><div class='del'>-	  buffer filled.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_cleanup): move path deallocation to</div><div class='del'>-	  rb_io_fptr_finalize (finalizer called by GC).</div><div class='del'>-</div><div class='del'>-Thu Oct 30 13:23:39 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (logop): left may be NULL. [ruby-talk:84539]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): NODE_CASE nd_head may be NULL.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 10:14:51 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb: make fox runner work.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 09:32:26 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): fixed lack of security check before</div><div class='del'>-	  calling do_spawn() on win32. [ruby-talk:84555]</div><div class='del'>-</div><div class='del'>-Thu Oct 30 02:46:35 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): single array value to normal Proc#call</div><div class='del'>-	  (i.e. not via lambda call), should be treated just like yield.</div><div class='del'>-	  [ruby-dev:21726]</div><div class='del'>-</div><div class='del'>-Thu Oct 30 02:25:48 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):</div><div class='del'>-	  add new method to inherit @sync from @io.sync.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): no need to</div><div class='del'>-	  set sync flag explicitly.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): call super.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): set extra chain</div><div class='del'>-	  certificates in @extra_chain_cert.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 22:02:04 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: use rbconfig.rb to make the path of ruby</div><div class='del'>-	  interpreter to exec, instead of test/ruby/envutil.rb,</div><div class='del'>-</div><div class='del'>-Wed Oct 29 19:58:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (CONST84): define CONST84 when it is not</div><div class='del'>-	  defined and TCL_MAJOR_VERSION &gt;= 8.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (VwaitVarProc, WaitVariableProc,</div><div class='del'>-	  rb_threadVwaitProc): use CONST84 instead of CONST.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_rbTkWaitCommand,</div><div class='del'>-	  ip_rb_threadTkWaitCommand): use CONST84 always.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 17:27:05 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_union, Init_Regexp): new method `Regexp.union'.</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (realpath): examine Dir.pwd because it may have</div><div class='del'>-	  symlinks.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 17:16:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): must not disturb original jump.</div><div class='del'>-	  [ruby-dev:21733]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 15:28:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Proc): taint preallocated exception object</div><div class='del'>-	  sysstack_error. [ruby-talk:84534]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:27:39 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ret_args): node may be NULL. [ruby-talk:84530]</div><div class='del'>-</div><div class='del'>-Tue Oct 28 15:20:12 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (VwaitVarProc, ip_rbVwaitObjCmd,</div><div class='del'>-	  WaitVariableProc, WaitVisibilityProc, WaitWindowProc,</div><div class='del'>-	  ip_rbTkWaitObjCmd, ip_rbTkWaitCommand, rb_threadVwaitProc,</div><div class='del'>-	  rb_threadWaitVisibilityProc, rb_threadWaitWindowProc,</div><div class='del'>-	  ip_rb_threadVwaitObjCmd, ip_rb_threadTkWaitObjCmd): prototype;</div><div class='del'>-	  avoid VC++ warnings.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 19:19:55 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): ignore reentering error while warning.</div><div class='del'>-	  [ruby-dev:21730]</div><div class='del'>-</div><div class='del'>-Mon Oct 27 00:23:50 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_ruby): bug fix on Win : hang-up when</div><div class='del'>-	  calling 'exit' in the Tk callback procedure. [ruby-list:38656]</div><div class='del'>-</div><div class='del'>-Sat Oct 25 09:18:04 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_missing): protect exception from within</div><div class='del'>-	  "inspect".  (ruby-bugs:PR#1204)</div><div class='del'>-</div><div class='del'>-Fri Oct 24 23:26:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_each): Hash#each should yield single value.</div><div class='del'>-	  [ruby-talk:84420]</div><div class='del'>-</div><div class='del'>-	* hash.c (env_each): ditto for ENV.each.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 20:25:32 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (GenericServer#start): should rescue</div><div class='del'>-	  IOError from IO::accept. [ruby-dev:21692]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 17:59:36 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): initialize stack bottom for embedding.</div><div class='del'>-	  [ruby-dev:21686]</div><div class='del'>-</div><div class='del'>-	* ext/dl/extconf.rb: move list of files to clean from DEPEND file,</div><div class='del'>-	  to get rid of macro redefinitions.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 13:44:00 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: integrate operations for stack_type.  [ruby-dev:21681]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 00:41:45 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/*, test/soap/helloworld/*: set logging threshold</div><div class='del'>-	  to ERROR.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 12:53:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):</div><div class='del'>-	  ignore tests which raised LoadError.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb, test/ruby/test_beginendblock.rb,</div><div class='del'>-	  test/ruby/test_system.rb: avoid requiring same file twice.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbssl.rb, test/drb/test_drbunix.rb: should not use</div><div class='del'>-	  ARGV unless invoked directly.  do not create test cases unless</div><div class='del'>-	  required libraries are available.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 02:31:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): should not ignore exit_value in END</div><div class='del'>-	  execution. [ruby-dev:21670]</div><div class='del'>-</div><div class='del'>-Tue Oct 21 23:16:26 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): call finalizers and exit procs before</div><div class='del'>-	  terminating threads.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().</div><div class='del'>-</div><div class='del'>-Tue Oct 21 15:57:11 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):</div><div class='del'>-	  prepend the directory of target file to the load path.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 15:08:53 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (do_spawn, do_aspawn): should wait child process even</div><div class='del'>-	  if callded with P_OVERLAY.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (do_spawn, do_aspawn): should return child's exit</div><div class='del'>-	  status to parent.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 00:35:02 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/*, test/soap/helloworld/*: catch the exception from</div><div class='del'>-	  test server thread and recover.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 00:22:57 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/*: import drb/runit.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 23:55:47 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): set current node after arguments evaluation.</div><div class='del'>-	  [ruby-dev:21632]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): set current node and keep it at local jump.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 22:01:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_cleanup): keep thread group for main thread.</div><div class='del'>-	  [ruby-dev:21644]</div><div class='del'>-</div><div class='del'>-Mon Oct 20 18:28:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_catch): backout.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 17:31:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_FRAME): generate unique number to be TAG_JUMP()</div><div class='del'>-	  destination.</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_destination): use unique number in ruby_frame</div><div class='del'>-	  for localjump destination.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 11:31:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_signal): restore old trap.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 11:00:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): loosen page free condition to avoid add_heap()</div><div class='del'>-	  race condition. [ruby-dev:21633]</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): do not update malloc_limit when malloc_increase</div><div class='del'>-	  is smaller than malloc_limit.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 09:45:12 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (debug_command): remove debug print.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 13:12:30 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (foreachline, dir_foreach): add obsolete warning.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 00:14:22 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/*, test/soap/helloworkd/*: changed port# of test</div><div class='del'>-	  server. (17171)</div><div class='del'>-</div><div class='del'>-Sat Oct 18 23:01:32 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/acosh.c (DBL_MANT_DIG): typo fix(ifdef -&gt; ifndef).</div><div class='del'>-</div><div class='del'>-Sat Oct 18 05:48:59 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: YAML::Syck::compile method.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c: Buffer edge bug.</div><div class='del'>-</div><div class='del'>-	* ext/syck/yaml2byte.c: YAML to bytecode converter.</div><div class='del'>-</div><div class='del'>-	* ext/syck/yamlbyte.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/bytecode.c: Bytecode parser fixes to empty collections</div><div class='del'>-	  and empty strings.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: Ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 23:07:38 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/enumerator/enumerator.c, ext/enumerator/enumerator.txt:</div><div class='del'>-	  Provide Kernel#to_enum as an alias for Kernel#enum_for.  Maybe</div><div class='del'>-	  this is a better name.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 23:00:30 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: Add rdoc documentation.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 22:16:42 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Reword and fix Overview.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: It is not necessary to require</div><div class='del'>-	  'test/unit/ui/console/testrunner'.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 11:15:22 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: added.</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add test/ruby/test_range.rb.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 03:21:23 2003  William Sobel  &lt;will.sobel@barra.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_hostent): h_aliases may be NULL.</div><div class='del'>-	  (ruby-bugs:PR#1195)</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_gethostbyaddr): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 00:12:41 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: (bug fix) instance variable @frame was used</div><div class='del'>-	  without initializing on TkComposite module.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 23:51:04 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: If $DEBUG == true and some exception is caused</div><div class='del'>-	  in a callback operation, Ruby/Tk shows a (verbose) backtrace</div><div class='del'>-	  information on the callback process.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 17:09:19 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (DEBUGGER__::Context::debug_command): do not call</div><div class='del'>-	  debug_silent_eval() when $1 is not set. (ruby-bugs:PR#1194)</div><div class='del'>-</div><div class='del'>-Thu Oct 16 16:54:57 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): ("a"..."a").to_a should return [].</div><div class='del'>-	  [ruby-core:01634]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 16:40:51 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb:</div><div class='del'>-	  Add Tk::EncodedString and Tk::UTF8_String class to support</div><div class='del'>-	  characters using the \uXXXX escape to the UNICODE string.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/{demos-en,demos-jp}/unicodeout.rb</div><div class='del'>-	  new demo-scripts (samples of Tk::UTF8_String)</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/{demos-en,demos-jp}/widget</div><div class='del'>-	  add entries for 'unicodeout.rb'</div><div class='del'>-</div><div class='del'>-Thu Oct 16 08:38:06 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb (test_eq): show failed class.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (test_break, test_return_trace_func):</div><div class='del'>-	  test localjump destination.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 20:22:31 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb: use URI::HTTP#request_uri instead of</div><div class='del'>-	  instance_eval('path_query').  [ruby-list:38575]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 17:24:45 2003  URABE Shyouhei  &lt;root@mput.dip.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb (CGI::Cookie): tiny typo fix.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 15:00:54 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): just return FAILURE instead of parse error</div><div class='del'>-	  count.  [ruby-list:38569]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 13:17:02 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_base_alloc): need to initialize</div><div class='del'>-	  buffer. [ruby-dev:21622]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 11:23:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump extended modules as well.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): TYPE_USRMARSHAL should restore extended</div><div class='del'>-	  modules before invoking marshal_load.  these two fixes are done</div><div class='del'>-	  by Masatoshi Seki &lt;m_seki@mva.biglobe.ne.jp&gt;.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 09:30:34 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/enumerator/enumerator.c (enumerator_each): avoid VC++ warning.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: include stdio.h for definition of FILE.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 08:09:07 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/bytecode.c: Checkin of YAML bytecode support.</div><div class='del'>-</div><div class='del'>-	* ext/syck/gram.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/handler.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: Ditto (on both counts).</div><div class='del'>-</div><div class='del'>-Wed Oct 15 05:05:53 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/generator.rb: A new library which converts an internal</div><div class='del'>-	  iterator to an external iterator.</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: A new library which creates an abbreviation table</div><div class='del'>-	  from a list.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 04:31:51 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/entry3.rb, ext/tk/sample/demos-jp/entry3.rb:</div><div class='del'>-	  new demo-scripts</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/widget:</div><div class='del'>-	  add entries for 'entry3.rb'</div><div class='del'>-</div><div class='del'>-Wed Oct 15 04:31:47 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: Moved from ext/digest/test.rb.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 03:53:20 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: fixed trouble on auto-load Tcl commands (enbug</div><div class='del'>-	  on the last commit).</div><div class='del'>-</div><div class='del'>-Wed Oct 15 00:25:00 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): argument parentheses preceded by spaces should</div><div class='del'>-	  be warned; not error.  [ruby-talk:84103]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 00:20:15 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: replace Tcl/Tk's vwait and tkwait to</div><div class='del'>-	  switch on threads smoothly and avoid seg-fault.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: add TclTkIp._thread_vwait and</div><div class='del'>-	  _thread_tkwait for waiting on a thread. (Because Tcl/Tk's vwait</div><div class='del'>-	  and tkwait command wait on an eventloop.)</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: support TclTkIp._thread_vwait and</div><div class='del'>-	  _thread_tkwait.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: now, TkVariable#wait has 2 arguments.</div><div class='del'>-	  If 1st argument is true, waits on a thread. If false, waits on</div><div class='del'>-	  an eventloop. If 2nd argument is true, checks existence of</div><div class='del'>-	  rootwidgets. If false, doesn't. Default is wait(true, false).</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: add TkVariable#tkwait(arg) which is equal to</div><div class='del'>-	  TkVariable#wait(arg, true). wait_visibility and wait_destroy</div><div class='del'>-	  have an argument for waiting on a thread or an eventloop.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: improve of accessing Tcl/Tk's special variables.</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkafter.rb: support 'wait on a thread' and 'wait on</div><div class='del'>-	  an eventloop'.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 00:10:24 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of</div><div class='del'>-	  SOAPBasetype and SOAPCompoundtype.</div><div class='del'>-</div><div class='del'>-	* lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:</div><div class='del'>-	  Encoding methods signature change.  Pass SOAPGenerator as a parameter.</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/*, test/soap/marshal/test_marshal.rb: Refactoring</div><div class='del'>-	  for better marshalling/unmarshalling support.  Now I think SOAP</div><div class='del'>-	  marshaller supports all kind of object graph which is supported by</div><div class='del'>-	  Ruby's original marshaller.  Of course there could be bugs as always.</div><div class='del'>-	  Find it.  :-)</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO.</div><div class='del'>-	  DEBUG is too noisy.</div><div class='del'>-</div><div class='del'>-	* lib/xsd/datatypes.rb: DateTime#of is obsoleted.  Use DateTime#offset.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid</div><div class='del'>-	  useless warning.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 19:09:35 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_finalize_0): return the given exit status unless</div><div class='del'>-	  SystemExit got raised.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 11:53:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (ruby_stop): never return.</div><div class='del'>-</div><div class='del'>-	* ruby.h (ruby_run): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 04:43:55 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (realpath): make ELOOP check bit more robust.</div><div class='del'>-	  (children): prepend self by default.</div><div class='del'>-	  (chroot): obsoleted.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 02:29:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_require_safe): segfault after loading .so.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 02:05:23 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper</div><div class='del'>-	  module for the Enumerable interface.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 23:55:59 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: use Config::CONFIG["ruby_install_name"],</div><div class='del'>-	  not "ruby".</div><div class='del'>-</div><div class='del'>-Mon Oct 13 23:57:29 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_feature_p): match by classified suffix.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_require_safe): require library in the specified safe</div><div class='del'>-	  level.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload, rb_autoload_load): restore safe level</div><div class='del'>-	  when autoload was called.  [ruby-dev:21338]</div><div class='del'>-</div><div class='del'>-	* intern.h: prototypes; rb_require_safe.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: accept non-option arguments.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 20:49:51 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new4): should not preserve FL_TAINT status in the</div><div class='del'>-	  internal shared string. [ruby-dev:21601]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new4): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto. [ruby-list:38521]</div><div class='del'>-</div><div class='del'>-Mon Oct 13 19:51:02 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (debug_command): should enter emacs mode when</div><div class='del'>-	  assigned any value to the environment variable "EMACS".</div><div class='del'>-	  On Meadow, (getenv "EMACS") is "meadow".</div><div class='del'>-</div><div class='del'>-Sun Oct 12 14:45:03 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/extconf.rb: check "windows.h", not "windows".</div><div class='del'>-	  [ruby-talk:84051]</div><div class='del'>-</div><div class='del'>-Sat Oct 11 20:41:03 2003  Corinna Vinschen  &lt;corinna@vinschen.de&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (eaccess): Use access(2) on Cygwin.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 17:09:21 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/quickpath.rb (REXML::QuickPath::match):</div><div class='del'>-	  escape '[' to avoid warning.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 16:08:41 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (realpath): check existence of the file.</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (realpath): re-implemented.</div><div class='del'>-	  (realpath_root?, realpath_rec): removed</div><div class='del'>-</div><div class='del'>-Sat Oct 11 10:19:39 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: handle exceptions correctly. Thanks, Gennady</div><div class='del'>-	  Bystritsky.</div><div class='del'>-</div><div class='del'>-Fri Oct 10 07:50:54 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): inheritance line adjustment as like as</div><div class='del'>-	  rb_call_super().</div><div class='del'>-</div><div class='del'>-Fri Oct 10 01:19:00 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): add</div><div class='del'>-	  optional argument to specify the DirectoryString type</div><div class='del'>-	  (ASN1::UTF8STRING by default). RFC3280 deprecates PrintableString</div><div class='del'>-	  for DirectoryString, and strongly requires to use UTF8String for</div><div class='del'>-	  all certificates issued after December, 31 2003.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb (X509::Name::parse): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 23:50:21 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): prevent thread from GC.</div><div class='del'>-	  [ruby-dev:21572]</div><div class='del'>-</div><div class='del'>-Thu Oct  9 19:11:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): non-volatile should be restored from</div><div class='del'>-	  volatile.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 17:43:36 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_save_safe_level, proc_get_safe_level,</div><div class='del'>-	  proc_set_safe_level): save/restore safe level 1..4.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 16:33:23 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): remove unnecessary iv restoration for</div><div class='del'>-	  USRMARSHAL. [ruby-dev:21582]</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump generic instance variables from</div><div class='del'>-	  a string from '_dump'.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_generic_ivar_table): return 0 if obj's FL_EXIVAR</div><div class='del'>-	  is not set.</div><div class='del'>-</div><div class='del'>-	* time.c (time_dump): copy instance variables to dumped string, to</div><div class='del'>-	  be included in the marshaled data.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ulong): add range check to ensure round trip.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 15:45:27 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (uv_to_utf8): change message to "out of range", since</div><div class='del'>-	  negative values are not "too big". [ruby-dev:21567]</div><div class='del'>-</div><div class='del'>-Thu Oct  9 14:05:38 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_set_end_proc, rb_exec_end_proc): restore safe level.</div><div class='del'>-	  [ruby-dev:21557]</div><div class='del'>-</div><div class='del'>-Thu Oct  9 10:51:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): no error if block is empty.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 06:43:33 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_error): id should be ID.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): nd_rval is set in copy_node_scope().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): unused variable.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): nothing to do for empty node.</div><div class='del'>-</div><div class='del'>-	* eval.c (call_end_proc, proc_invoke): adjust backtrace in END.</div><div class='del'>-	  [ruby-dev:21551]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): set the value by break as the result.</div><div class='del'>-	  [ruby-dev:21552]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0, rb_thread_raise, rb_callcc): save</div><div class='del'>-	  variables across THREAD_SAVE_CONTEXT.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 12:05:46 2003  Eric Sunshine  &lt;sunshine@sunshineco.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revived NextStep, OpenStep, and Rhapsody ports which</div><div class='del'>-	  had become unbuildable; enhanced --enable-fat-binary option so that</div><div class='del'>-	  it accepts a list of desired architectures (rather than assuming a</div><div class='del'>-	  fixed list), or defaults to a platform-appropriate list if user does</div><div class='del'>-	  not provide an explicit list; made the default list of architectures</div><div class='del'>-	  for MAB (fat binary) more comprehensive; now uses -fno-common even</div><div class='del'>-	  when building the interpreter (in addition to using it for</div><div class='del'>-	  extensions), thus allowing the interpreter to be embedded into a</div><div class='del'>-	  plugin module of an external project (in addition to allowing</div><div class='del'>-	  embedding directly into an application); added checks for</div><div class='del'>-	  &lt;netinet/in_systm.h&gt; (needed by `socket' extension) and getcwd(); now</div><div class='del'>-	  ensures that -I/usr/local/include is employed when extensions'</div><div class='del'>-	  extconf.rb scripts invoke have_header() since extension checks on</div><div class='del'>-	  NextStep and OpenStep will fail without it if the desired resource</div><div class='del'>-	  resides in the /usr/local tree; fixed formatting of --help message.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before</div><div class='del'>-	  invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives</div><div class='del'>-	  (see configure's --enable-fat-binary option); added rule for new</div><div class='del'>-	  missing/getcwd.c.</div><div class='del'>-</div><div class='del'>-	* defines.h: fixed endian handling during MAB build (see configure's</div><div class='del'>-	  --enable-fat-binary option) to ensure that all portions of the</div><div class='del'>-	  project see the correct WORDS_BIGENDIAN value (some extension modules</div><div class='del'>-	  were getting the wrong endian setting); added missing constants</div><div class='del'>-	  GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep</div><div class='del'>-	  and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H</div><div class='del'>-	  define in NeXT section.</div><div class='del'>-</div><div class='del'>-	* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on</div><div class='del'>-	  NextStep since, on some installations, this value always resolves</div><div class='del'>-	  uselessly to zero.</div><div class='del'>-</div><div class='del'>-	* dln.c: added error reporting to NextStep extension loader since the</div><div class='del'>-	  previous behavior of failing silently was not useful; now ensures</div><div class='del'>-	  that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined</div><div class='del'>-	  for OpenStep and Rhapsody; no longer includes &lt;mach-o/dyld.h&gt; twice</div><div class='del'>-	  on Rhapsody since this header lacks multiple-include protection,</div><div class='del'>-	  which resulted in "redefinition" compilation errors.</div><div class='del'>-</div><div class='del'>-	* main.c: also create hard reference to objc_msgSend() on NeXT</div><div class='del'>-	  platforms (in addition to Apple platforms).</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: now exports XCFLAGS from configure script to extension</div><div class='del'>-	  makefiles so that extensions can be built MAB (see configure's</div><div class='del'>-	  --enable-fat-binary option); also utilize XCFLAGS in cc_command()</div><div class='del'>-	  (but not cpp_command() because MAB flags are incompatible with</div><div class='del'>-	  direct invocation of `cpp').</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: now additionally checks for presence of these</div><div class='del'>-	  curses functions which are not present on NextStep or Openstep:</div><div class='del'>-	  bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),</div><div class='del'>-	  setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),</div><div class='del'>-	  wscrl(), wsetscrreg()</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: added appropriate #ifdef's for additional set of</div><div class='del'>-	  curses functions now checked by extconf.rb; fixed curses_bkgd() and</div><div class='del'>-	  window_bkgd() to correctly return boolean result rather than numeric</div><div class='del'>-	  result; fixed window_getbkgd() to correctly signal an error by</div><div class='del'>-	  returning nil rather than -1.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: setup_passwd() and setup_group() now check for null</div><div class='del'>-	  pointers before invoking rb_tainted_str_new2() upon fields extracted</div><div class='del'>-	  from `struct passwd' and `struct group' since null pointers in some</div><div class='del'>-	  fields are common on NextStep/OpenStep (especially so for the</div><div class='del'>-	  `pw_comment' field) and rb_tainted_str_new2() throws an exception</div><div class='del'>-	  when it receives a null pointer.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for</div><div class='del'>-	  platforms such as NextStep and OpenStep which lack strdup().</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),</div><div class='del'>-	  gethostbyaddr(), and gethostbyname() from (const char*) to non-const</div><div class='del'>-	  (char*) for older platforms such as NextStep and OpenStep.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for</div><div class='del'>-	  platforms such as NextStep and OpenStep which lack strdup(); include</div><div class='del'>-	  &lt;netinet/in_systm.h&gt; if present for NextStep and OpenStep; cast first</div><div class='del'>-	  argument of gethostbyaddr() and getservbyname() from (const char*) to</div><div class='del'>-	  non-const (char*) for older platforms.</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for</div><div class='del'>-	  platforms such as NextStep and OpenStep which lack strdup().</div><div class='del'>-</div><div class='del'>-Wed Oct  8 22:19:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: removed installation instructions.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/testrunnermediator.rb: moved the run flag to a more</div><div class='del'>-	  central location.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: extracted the running code in to AutoRunner.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb: added.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb: extracted common test</div><div class='del'>-	  collection functionality in to a module.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector.rb: ditto; added.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/dir.rb: added. Supports collecting tests out</div><div class='del'>-	  of a directory structure.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb: added.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: simplified to use the new capabilities.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 15:23:09 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: add tests for nested BEGIN/END.</div><div class='del'>-</div><div class='del'>-	* test/ruby/beginmainend.rb: add tests for nested BEGIN/END.</div><div class='del'>-</div><div class='del'>-	* test/ruby/endblockwarn.rb: new file added to test of END-in-method</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 12:23:47 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/fcntl.c (Init_fcntl): define Fcntl::O_ACCMODE.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: useless assignment removed.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 09:13:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb (test_endinmethod): END{} is now</div><div class='del'>-	  allowed in eval.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 04:15:25 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): should not expand mrhs if lhs is solely starred.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 02:57:53 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): rhs of multiple assignment should not be</div><div class='del'>-	  expanded using "to_a". [ruby-dev:21527]</div><div class='del'>-</div><div class='del'>-Tue Oct  7 01:42:34 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): use appropriate</div><div class='del'>-	  free function for ASN1_OBJECT.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_sn): add new function for</div><div class='del'>-	  ASN1::ObjectId#sn; it returns short name text representation of OID.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_ln): add new function for</div><div class='del'>-	  ASN1::ObjectId#ln; it returns long name text representation of OID.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_oid): add new function for</div><div class='del'>-	  ASN1::ObjectId#oid; it returns numerical representation of OID.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 22:59:46 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (IOReader, BasicWriter): call binmode when a given IO</div><div class='del'>-	  respond_to?(:binmode).  record separator was wrong when you gave</div><div class='del'>-	  text mode IO to Reader.parse and Writer.generate.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: add tests for above change.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 16:23:38 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): wrong method name in the message.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 16:02:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): END in method should cause warning.</div><div class='del'>-	  [ruby-dev:21519]</div><div class='del'>-</div><div class='del'>-Mon Oct  6 15:17:23 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (test_block_argument_without_paren):</div><div class='del'>-	  added. (follows sample/test.rb)</div><div class='del'>-</div><div class='del'>-Mon Oct  6 11:57:06 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: added</div><div class='del'>-	  test for eval-ed BEGIN END order.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 09:19:54 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): should pass "weak" value to next level.</div><div class='del'>-	  [ruby-dev:21496]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_alloc): should not use cached object if klass is</div><div class='del'>-	  different. [ruby-talk:83685]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 23:27:09 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check recvmsg even if sendmsg is exists.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (thread_read_select): restored.</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: version information is added in document.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 23:07:03 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_END): block should be given.  [ruby-dev:21497]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 22:51:23 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ext/openssl/extconf.rb: add check for some engine functions</div><div class='del'>-	  unavailable in OpenSSL-0.9.6.</div><div class='del'>-</div><div class='del'>-	* lib/ext/openssl/ossl_engine.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 17:56:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): fix evaluation order.  [ruby-list:38431]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 15:05:06 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/*: translated RUNIT to Test::Unit.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 14:37:39 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xsd/datatypes.rb: Rational -&gt; Decimal string bug fix.</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/test_marshal.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/test_calc_cgi.rb: add Config::CONFIG["EXEEXT"] to</div><div class='del'>-	  RUBYBIN.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 13:47:22 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests</div><div class='del'>-	  about scope, order and allowed syntax.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 11:54:29 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: added.  split "rubybin" from test_system.rb.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb: use envutil.rb</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: added.</div><div class='del'>-</div><div class='del'>-	* test/ruby/beginmainend.rb: added.  used in test_beginendblock.rb.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 11:23:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/runit/test_testresult.rb: removed some unnecessary</div><div class='del'>-	  cruft.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 11:14:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubyunit.rb: aliasing TestCase into the top level is</div><div class='del'>-	  problematic.</div><div class='del'>-</div><div class='del'>-	* lib/runit/assert.rb: fixed a couple of bugs caused by recent</div><div class='del'>-	  refactoring in Test::Unit.</div><div class='del'>-</div><div class='del'>-	* test/testunit/runit/*: added.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 10:55:29 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (URI::Generic#find_proxy): no_proxy support did not</div><div class='del'>-	  work.  [ruby-dev:21484]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 09:52:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: will use pp for output if available.</div><div class='del'>-	  Can be disabled by setting Assertions.use_pp = false.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: made a small change to exception</div><div class='del'>-	  formatting.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 07:42:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: made small improvements to assertion</div><div class='del'>-	  messages. Deprecated Assertions#assert_not_nil; use #assert instead.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/util/test_procwrapper.rb: use #assert instead of</div><div class='del'>-	  #assert_not_nil.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 04:10:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: refactored message building.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 03:40:22 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.h: global symbols should be declared</div><div class='del'>-	  as external.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 03:03:20 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb (test_else): added.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 02:12:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: changed assertion messages to rely more</div><div class='del'>-	  heavily on #inspect. Added backtrace filtering for exceptions in</div><div class='del'>-	  assertion messages.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  5 02:12:00 2003  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/acl.rb, lib/drb/ssl.rb: added.</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: exit from a thread using 'break'.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 21:49:14 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): the type of space is changed to unsigned int</div><div class='del'>-	  from double.  [ruby-dev:21483]</div><div class='del'>-</div><div class='del'>-Sat Oct  4 17:52:59 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/netHttpClient.rb: follow http-access2.  hosts which matches</div><div class='del'>-	  ENV['no_proxy'] or ENV['NO_PROXY'] are not proxyed.</div><div class='del'>-	  - [,:] separated. ("ruby-lang.org:rubyist.net")</div><div class='del'>-	  - no regexp. (give "ruby-lang.org", not "*.ruby-lang.org")</div><div class='del'>-	  - if you want specify host by IP address, give full address.</div><div class='del'>-	    ("192.168.1.1, 192.168.1.2")</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/cgistub.rb: return "Status: XXX MMM" line.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: give testsuite name.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 15:16:02 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): instance variable dump do not cause error</div><div class='del'>-	  for objects that cannot be dumped, if they traversed from</div><div class='del'>-	  marshal_dump.  they are just ignored.</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_stack): cast "space" (doble value) into unsigned</div><div class='del'>-	  int.  should run on PowerPC.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): should not execute else part if any exception</div><div class='del'>-	  is caught. [ruby-dev:21482]</div><div class='del'>-</div><div class='del'>-	* parse.y (f_args): should allow unparenthesized block argument.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_rest_arg): should allow unparenthesized rest</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 14:59:51 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (initialize): raise ArgumentError if argument has</div><div class='del'>-	  '\0' character.</div><div class='del'>-	  (relative_path_from): new method.</div><div class='del'>-	  (each_entry): new method for replacement of dir_foreach.</div><div class='del'>-	  (foreach, foreachline, dir_foreach, chdir): obsoleted.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 12:58:48 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/* (6 files): added.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 12:44:45 2003  akira yamada  &lt;akira@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb, lib/uri/mailto.rb: renamed to #to_s from #to_str.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 07:33:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testsuite.rb: changed #&lt;&lt; to return self, and added</div><div class='del'>-	  #delete.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_testsuite.rb: ditto. Also slightly refactored</div><div class='del'>-	  #test_size.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb: collector now preserves the</div><div class='del'>-	  hierarchy of suites.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 04:48:49 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: default keys handled.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: lowered default buffer size to 16k for increased</div><div class='del'>-	  performance.</div><div class='del'>-</div><div class='del'>-	* test/yaml: checkin of basic unit tests.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 04:24:19 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: add check for X509V3_set_nconf.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):</div><div class='del'>-	  cannot implement if X509V3_set_nconf doesn't exist.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 02:12:44 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xsd/datatypes.rb: dump sign by itself.  under the problematic</div><div class='del'>-	  platform, sprintf("%+.10g", -0.0) =&gt; +0.  sigh.</div><div class='del'>-</div><div class='del'>-	* sample/wsdl/amazon/*: update schema ver2 to ver3.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 01:33:46 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (initialize): duplicate and freeze argument.</div><div class='del'>-	  (to_s): return duplicated string.</div><div class='del'>-	  (children): new method.</div><div class='del'>-	  (each_line): new alias to foreachline.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 16:13:19 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: add DER encoder and decoder.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.h: add OpenSSL::ASN1 module.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (Init_openssl): call Init_ossl_asn1.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check if X509_ATTRIBUTE has field "single".</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): accept</div><div class='del'>-	  DER encoded data argument.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c (ossl_x509attr_get_value): return</div><div class='del'>-	  DER encoded data in OpenSSL::ASN1 types.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 13:02:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: refactored to use optparse.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: added support for selecting the output</div><div class='del'>-	  level from the command-line.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: added a command-line switch to stop processing</div><div class='del'>-	  the command-line, allowing arguments to be passed to tests.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: changed the method for specifying a runner or a</div><div class='del'>-	  filter from the command-line.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb: fixed a bug causing all</div><div class='del'>-	  tests to be excluded when the filter was set to an empty array.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 08:14:32 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb (RubyLex::identify_identifier): support</div><div class='del'>-	  'class ::Foo' syntax. [ruby-talk:83514]</div><div class='del'>-</div><div class='del'>-Fri Oct  3 08:01:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: added a default message for #assert,</div><div class='del'>-	  #assert_block, and #flunk.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/failure.rb: failures now show a better trace of where</div><div class='del'>-	  they occurred.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_failure.rb: ditto (added).</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_testcase.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/util/backtracefilter.rb: added.</div><div class='del'>-</div><div class='del'>-	* test/testunit/util/test_backtracefilter.rb: added.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/error.rb: changed to use BacktraceFilter and improved</div><div class='del'>-	  output.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_error.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 20:33:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_failure_initialize): conform with</div><div class='del'>-	  orthodox initialization method.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_fail): initialize exception instance</div><div class='del'>-	  from the class, and do not share instance variables with the</div><div class='del'>-	  others.  [ruby-dev:21470]</div><div class='del'>-</div><div class='del'>-Thu Oct  2 18:20:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (Init_Time): define initialize.  [ruby-dev:21469]</div><div class='del'>-</div><div class='del'>-Thu Oct  2 17:39:38 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c: add a new module OpenSSL::Engine.</div><div class='del'>-	  it supports OpenSSL hardware cryptographic engine interface.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/MANIFEST: add ossl_engine.c and ossl_engine.h.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: add check for openssl/engine.h.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: call Init_ossl_engine().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: include openssl/engine.h.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_{rsa,dsa,dh}.c: check if underlying</div><div class='del'>-	  EVP_PKEY referes engine.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 17:22:37 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_load): restore instance variables (if any) before</div><div class='del'>-	  loading from marshaled data.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 14:19:15 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_fail): now yield erred substring, and</div><div class='del'>-	  set error object to $!.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): error handler block should</div><div class='del'>-	  return appended part and the rest.  if rest is nil, the</div><div class='del'>-	  conversion stops.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 12:00:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_0): look up constants in Object as</div><div class='del'>-	  well.  [ruby-dev:21458]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_defined.rb (TestDefined::test_defined): test for</div><div class='del'>-	  constants.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 11:17:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: should not capture an</div><div class='del'>-	  AssertionFailedError unless explicitly requested.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_objectspace.rb: fixed a test failure</div><div class='del'>-	  caused by methods being returned in different orders on different</div><div class='del'>-	  platforms by moving test sorting from TestSuite into the locations</div><div class='del'>-	  where suites are constructed. [ruby-talk:83156]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testsuite.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 03:25:01 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_raise): prototype; avoid VC++ warning.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 01:37:34 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump): new marshal dumper. _dump is still</div><div class='del'>-	  available for compatibility.</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): new marshal loader.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): preserve instance variables for objects</div><div class='del'>-	  with marshal_dump.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): restore instance variables before calling</div><div class='del'>-	  marshal_load.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_warn_m): always return nil.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 01:32:46 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_block_given_p): real required condition is</div><div class='del'>-	  ruby_frame-&gt;prev-&gt;iter == ITER_CUR.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_given_p): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): update ruby_frame-&gt;iter only when previous</div><div class='del'>-	  value is ITER_NOT.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 01:02:35 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_at): should exclude constants from</div><div class='del'>-	  Object when TYPE(klass) == T_MODULE *and* exclude is on.</div><div class='del'>-	  [ruby-dev:21458]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): do not lookup constants from Object</div><div class='del'>-	  when TYPE(klass) == T_MODULE *and* exclude is on.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 00:21:11 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: unlinking file before close causes</div><div class='del'>-	  problem under win32 box.</div><div class='del'>-</div><div class='del'>-	* lib/xsd/datatypes.rb(XSDFloat, XSDDouble): add +/- sign explicitly</div><div class='del'>-	  when stringified and embedded into XML instance.  Ruby's sprintf may</div><div class='del'>-	  format -0.0 as "0.0" (no minus sign) depending on underlying C</div><div class='del'>-	  sprintf implementation.</div><div class='del'>-</div><div class='del'>-	* test/xsd/test_xsd.rb, test/soap/test_basetype.rb: follow above change.</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/*: give httpd config param "CGIInterpreter".</div><div class='del'>-	  "/usr/bin/env ruby" thing does not work under non-Unix boxes.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 00:25:21 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal_name): adjust to the prototype.</div><div class='del'>-</div><div class='del'>-	* process.c (pst_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getgrent, Init_etc): typo.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 20:49:41 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heaps): manage slots and limits together.  [ruby-dev:21453]</div><div class='del'>-</div><div class='del'>-	* gc.c (add_heap): should not clear heaps slot even if realloc()</div><div class='del'>-	  failed.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 20:36:49 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add wince/mkconfig_wce.rb.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 17:22:33 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: add new functions: setpwent, getpwent, endpwent,</div><div class='del'>-	  setgrent, getgrent, endgrent.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_gethostbyname): do not reverse lookup.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 17:01:30 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): Object scope had priority over required file</div><div class='del'>-	  scope.  [ruby-dev:21415]</div><div class='del'>-</div><div class='del'>-Wed Oct  1 14:09:53 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* wince/mkconfig_wce.rb: sorry, forget to commit.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 10:08:42 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* wince/setup.mak: add sigmarionIII SDK support.</div><div class='del'>-</div><div class='del'>-	* wince/Makefile.sub: ditto.</div><div class='del'>-</div><div class='del'>-	* wince/mkexports.rb: fix linker error in SH4.</div><div class='del'>-</div><div class='del'>-	* wince/mkconfig_wce.rb: camouflage RUBY_PLATFORM for compiling ext.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 08:02:52 2003  Takaaki Uematsu  &lt;uema2x@jcom.home.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* wince/time_wce.c (time): add zero check.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 16:11:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: copy lex.c from $(srcdir) if it's not the current</div><div class='del'>-	  directory.  [ruby-dev:21437]</div><div class='del'>-</div><div class='del'>-Tue Sep 30 11:29:23 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (pst_inspect): describe stopped process "stopped".</div><div class='del'>-</div><div class='del'>-Tue Sep 30 09:31:56 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: glob for directories.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 09:11:43 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): while/until should not capture break unless</div><div class='del'>-	  they are destination of the break.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 03:12:02 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (finish): revert to 1.93.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (finish): revert to 1.60.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (finish): revert to 1.67.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (do_start): ensure to close socket if failed to</div><div class='del'>-	  start session.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (do_start): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (do_start): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: SMTP#started? wrongly returned false always.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 02:54:49 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: new test</div><div class='del'>-	  test_break__nested_loop[123].</div><div class='del'>-</div><div class='del'>-Mon Sep 29 23:39:13 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (finish): does not raise IOError even if</div><div class='del'>-	  !started?, to allow closing socket which was opened before</div><div class='del'>-	  session started.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (finish): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (finish): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 19:06:51 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/extconf.rb: add windows.h checking.</div><div class='del'>-	  (ruby-bugs:PR#1185)</div><div class='del'>-</div><div class='del'>-Mon Sep 29 16:18:30 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: check if the given logdevice object respond_to :write</div><div class='del'>-	  and :close, not is_a? IO.  duck duck.</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: self IO.pipe reading/writing may be</div><div class='del'>-	  locked by the flood.  use tempfile.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/xmlSchema/data.rb: wrong constant reference.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 16:11:23 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: clean up temporary symlink.</div><div class='del'>-	  Patched by NaHi.  [ruby-dev:21420]</div><div class='del'>-</div><div class='del'>-Mon Sep 29 11:16:55 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_atfork): wrong format specifier.</div><div class='del'>-	  [ruby-dev:21428]</div><div class='del'>-</div><div class='del'>-	* process.c (pst_inspect): better description.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 02:31:44 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (Utils::su): use setgid and setuid to</div><div class='del'>-	  set real and effective IDs. and setup group access list by</div><div class='del'>-	  initgroups.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 11:14:19 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (Init_digest): `copy_object' was deprecated.</div><div class='del'>-	  `initialize_copy' should be defined.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (Init_stringio): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 18:25:13 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xsd/charset.rb: XSD::Charset.is_ces did return always true under</div><div class='del'>-	  $KCODE = "NONE" environment.  check added.</div><div class='del'>-</div><div class='del'>-	* test/xsd/test_xsd.rb: add tests for above fix.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 15:58:50 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/cgistub.rb: make logging severity threshold higher.</div><div class='del'>-</div><div class='del'>-	* lib/soap/rpc/standaloneServer.rb: defer WEBrick server start to give</div><div class='del'>-	  a chance to reset logging severity threshold.</div><div class='del'>-</div><div class='del'>-	* test/soap/calc/test_*, test/soap/helloworld/test_helloworld.rb: run</div><div class='del'>-	  silent.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 09:44:18 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: clear all errors on Windows.</div><div class='del'>-	  [ruby-dev:21417]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_nowrite.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 04:57:07 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: new file.  only asserts unlink-before-close</div><div class='del'>-	  behaviour now.</div><div class='del'>-</div><div class='del'>-	* test/soap/marshal/test_digraph.rb: should close before unlink.</div><div class='del'>-	  unlink-before-close pattern is not needed here.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 03:32:37 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/soap/*, test/wsdl/*, test/xsd/*: move TestCase classes into</div><div class='del'>-	  each module namespace.  TestMarshal in</div><div class='del'>-	  test/soap/marshal/test_marshal.rb crashed with</div><div class='del'>-	  test/ruby/test_marshal.rb.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 01:30:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect): on win32, type of the 4th</div><div class='del'>-	  argument of getsockopt is char *.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 18:35:40 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb: 1.8 compliance.  [ruby-talk:82946]</div><div class='del'>-</div><div class='del'>-Fri Sep 26 17:39:27 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: add test for ruby's objects.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 09:52:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h (flush_register_windows): use volatile only for gcc on</div><div class='del'>-	  Solaris.  [ruby-dev:21403]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (xsystem): use system directly to honor shell meta</div><div class='del'>-	  charaters.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 00:10:13 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/README: updated.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 17:48:10 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_buf2str): fix type of 1st argument for</div><div class='del'>-	  rb_protect.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c (ossl_hmac_digest): should return meaningful</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 09:00:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Added OpenStruct#==.</div><div class='del'>-</div><div class='del'>-	* test/ostruct/test_ostruct.rb: Added.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 07:55:26 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,</div><div class='del'>-	  ext/openssl/ossl_pkey_rsa.c, ext/bigdecimal/bigdecimal.h: must</div><div class='del'>-	  not use C++ or C99 style comment yet.  (ruby-bugs:PR#1184)</div><div class='del'>-</div><div class='del'>-Thu Sep 25 00:23:22 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add SOAP4R.</div><div class='del'>-</div><div class='del'>-Thu Sep 25 00:13:15 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/soap/* (29 files): SOAP4R added.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl/* (42 files): WSDL4R added.</div><div class='del'>-</div><div class='del'>-	* lib/xsd/* (12 files): XSD4R added.</div><div class='del'>-</div><div class='del'>-	* test/soap/* (16 files): added.</div><div class='del'>-</div><div class='del'>-	* test/wsdl/* (2 files): added.</div><div class='del'>-</div><div class='del'>-	* test/xsd/* (3 files): added.</div><div class='del'>-</div><div class='del'>-	* sample/soap/* (27 files): added.</div><div class='del'>-</div><div class='del'>-	* sample/wsdl/* (13 files): added.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 02:08:11 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.</div><div class='del'>-	  [ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818]</div><div class='del'>-</div><div class='del'>-Tue Sep 23 23:10:16 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: add Logger#&lt;&lt;(msg) for writing msg without any</div><div class='del'>-	  formatting.</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 20:47:51 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_warn_m): should not warn if -W0 is specified.</div><div class='del'>-	  [ruby-talk:82675]</div><div class='del'>-</div><div class='del'>-Mon Sep 22 21:28:57 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: updated.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 19:22:26 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_CHECK_FUNCS): add setuid and setgid.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 12:34:55 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): skip preceding zeros before counting</div><div class='del'>-	  digits in the mantissa. (ruby-bugs:PR#1181)</div><div class='del'>-</div><div class='del'>-Sun Sep 21 04:12:36 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): the argument</div><div class='del'>-	  should be a String.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): ditt.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 11:49:05 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: typo fixed.</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: new file.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 11:39:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/*: Added.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Documentation update.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):</div><div class='del'>-	  Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Factored out an ObjectSpace collector.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* sample/testunit/*: Added.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 01:00:48 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb (BasicLog#log): get rid of as ineffectual</div><div class='del'>-	  condition.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb (BasicLog#format): add "\n" to message.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 22:43:20 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): should push PROT_PCALL tag for orphans.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): should update "result" for orphans.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 20:33:03 2003  Tietew  &lt;tietew-ml-ruby-list@tietew.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (str_xquote): do not prepend escapes in</div><div class='del'>-	  backqoute literals.  [ruby-list:38409]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 20:30:17 2003  Tanaka Akira  &lt;akr@m17n.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb: update document.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 15:27:05 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: new file.  Logger, formerly called devel-logger or</div><div class='del'>-	  Devel::Logger.</div><div class='del'>-</div><div class='del'>-	* sample/logger/*: new file.  samples of logger.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 23:41:45 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_destination): should not raise ThreadError</div><div class='del'>-	  exception for "break". [ruby-dev:21348]</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): use result instead of prot_tag-&gt;retval.</div><div class='del'>-	  retval is no longer propagated to the ancestors.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 20:34:00 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (tokadd_string, parse_string, yylex): escaped terminator</div><div class='del'>-	  is now interpreted as is.  [ruby-talk:82206]</div><div class='del'>-</div><div class='del'>-Wed Sep 17 18:52:36 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileassertions.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_nowrite.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 18:51:02 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb: require test/unit.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 18:35:34 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb: new file.</div><div class='del'>-</div><div class='del'>-Wed Sep 17 18:03:30 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl: all files are reviewed to simplify and avoid memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: add check for assert.h.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_buf2str): new function to convert</div><div class='del'>-	  C buffer to String and free buffer.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert</div><div class='del'>-	  Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new</div><div class='del'>-	  functions to convert object to DER string.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert</div><div class='del'>-	  BIO to String object and free BIO.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (create_ext_from_array): removed</div><div class='del'>-	  and reimplement in openssl/x509.rb.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c: reimplemented and disable some</div><div class='del'>-	  method temporarily. this class doesn't work fine without ASN.1</div><div class='del'>-	  data support;-) I'll rewrite in near future.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off</div><div class='del'>-	  unused code.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 22:25:06 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: add negative tests of row_sep.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 18:02:36 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): should not translate character</div><div class='del'>-	  class range edge. [ruby-list:38393]</div><div class='del'>-</div><div class='del'>-Tue Sep 16 16:47:56 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: add test/csv/mac.csv.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, bcc32/Makefile.sub (test): add phony NUL target.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 19:02:52 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: add extra pamameter to specify row(record) separater</div><div class='del'>-	  character.  To parse Mac's CR separated CSV, do like this.</div><div class='del'>-	    CSV.open("mac.csv", "r", ?,, ?\r) { |row| p row.to_a }</div><div class='del'>-	  The 3rd parameter in this example ?, is for column separater and the</div><div class='del'>-	  4th ?\r is for row separater.  Row separater is nil by default.  Nil</div><div class='del'>-	  separater means "\r\n" or "\n".</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: add tests for above feature.</div><div class='del'>-</div><div class='del'>-	* test/csv/mac.csv: added.  Sample CR separated CSV file.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 22:41:48 2003  Michal Rokos  &lt;m.rokos@sh.cvut.cz&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: move ASN.1 stuff to ossl_asn1.[ch]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: move BIO stuff to ossl_bio.[ch]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.[ch]: new files</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.[ch]: new files</div><div class='del'>-</div><div class='del'>-Fri Sep 12 12:30:41 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_disable_super, rb_enable_super): replace with dummy</div><div class='del'>-	  expressions instead of prototypes.  the functions remain yet for</div><div class='del'>-	  binary compatibility.  [ruby-talk:81758]</div><div class='del'>-</div><div class='del'>-Fri Sep 12 12:09:54 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): convert argument using 'to_int'.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_or): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_xor): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 07:06:14 2003  David Black  &lt;dblack@superlink.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: Took out useless @matched_item variable; some small</div><div class='del'>-	  refactoring.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 08:43:44 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_require): allow "require" on $SAFE&gt;0, if feature</div><div class='del'>-	  name is not tainted.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):</div><div class='del'>-	  Supports StringIO.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 22:47:30 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: add a workaround for win32 platform.</div><div class='del'>-	  libeay32.dll doesn't export functions defined in conf_api.h.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (ossl_config_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (ossl_config_add_value): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c (set_conf_section_i): should check</div><div class='del'>-	  if the argument is Array.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 22:41:54 2003  Tietew  &lt;tietew@tietew.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (win32_get_exception_list): avoid VC7 warning.</div><div class='del'>-	  [ruby-win32:577]</div><div class='del'>-</div><div class='del'>-Tue Sep  9 10:39:51 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (struct tag): dst should be VALUE.</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_destination): stop at the scope where the current</div><div class='del'>-	  block was created.  [ruby-dev:21353]</div><div class='del'>-</div><div class='del'>-Tue Sep  9 05:17:04 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 02:41:35 2003  Michal Rokos  &lt;m.rokos@sh.cvut.cz&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c: Refine compatibility.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 01:50:45 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" to</div><div class='del'>-	  the message.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb (BasicLog#log): add "\n" only if needed.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 22:15:33 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: modify security check at creating</div><div class='del'>-	  a new interpreter</div><div class='del'>-</div><div class='del'>-Mon Sep  8 20:00:12 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb, lib/optparse/version.rb: search also all</div><div class='del'>-	  capital versions.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 19:26:33 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c: refine all with backward compatibility.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509.c: added new constants under X509 module.</div><div class='del'>-	  DEFAULT_CERT_AREA, DEFAULT_CERT_DIR, DEFAULT_CERT_FILE,</div><div class='del'>-	  DEFAULT_CERT_DIR_ENV, DEFAULT_CERT_FILE_ENV and DEFAULT_PRIVATE_DIR.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free</div><div class='del'>-	  the members of the struct. it's left to GC.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):</div><div class='del'>-	  add attr readers: issuer_certificate, subject_certificate,</div><div class='del'>-	  subject_request, crl and config.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 18:26:41 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb (AccessLog::setup_params): use req.port</div><div class='del'>-	  instead of config[:Port] or req.request_uri.port.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb: :Listen option never be used.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (GenericServer#initialize): don't use :Listen</div><div class='del'>-	  option and add warning message.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb (BasicLog#&lt;&lt;): shortcut of log(INFO, ...).</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (HTTPServer#accesslog): use &lt;&lt; for logging.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 16:08:28 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_mainloop_core): fixed signal-trap bug</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/*.rb: Ruby/Tk works at $SAFE == 4</div><div class='del'>-</div><div class='del'>-Sat Sep  6 02:26:34 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_*.rb: assert_same, assert_match, and so on.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 18:45:46 2003  Mauricio Fernandez  &lt;batsman.geo@yahoo.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable): call rb_compile_error(), not rb_bug().</div><div class='del'>-	  [ruby-core:01523]</div><div class='del'>-</div><div class='del'>-Sat Sep  6 17:40:41 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ruby_missing.c: rid of unnecessary backward</div><div class='del'>-	  compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from</div><div class='del'>-	  all sources.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 01:23:22 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): fix condition about whether to call</div><div class='del'>-	  shell or not.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 00:36:20 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (test): phony target.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_library, find_library): configure by library</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#order, #permute, #parse): allow an</div><div class='del'>-	  array as argument.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_*.rb: moved invariants to left side in</div><div class='del'>-	  assert_equal, and use assert_nil, assert_raises and so on.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (isInternalCmd): distinguish command.com and</div><div class='del'>-	  cmd.exe.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (make_cmdvector): a character just after wildcard</div><div class='del'>-	  was ignored.  [ruby-core:01518]</div><div class='del'>-</div><div class='del'>-Fri Sep  5 20:27:08 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_*.rb: replace 'assert(a == b)' with assert_equal(a, b)'</div><div class='del'>-</div><div class='del'>-Fri Sep  5 18:00:51 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: add ossl_digest_new().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: add ossl_cipher_new().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 15:32:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not</div><div class='del'>-	  search delimiter forward if found in backward.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 13:32:48 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: arguments should be keys.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 12:09:55 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (test_system): check existence of ruby</div><div class='del'>-	  interpreter.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 11:32:17 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (--version): fix assignment/reference order.</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may</div><div class='del'>-	  be deprecated in future.</div><div class='del'>-</div><div class='del'>-	* lib/optparse/version.rb (OptionParser#show_version): hide Object.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: fix optparse usage.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: glob all testsuits if no tests given.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 10:42:58 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: added.  gets testcases from command line and runs it.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: remove useless part which was for dumping test</div><div class='del'>-	  result.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 09:28:59 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: added.  splitter.rb which I made to split</div><div class='del'>-	  sample/test.rb into test/ruby/test_* kindly removed GC test (the</div><div class='del'>-	  last section in the original test) to reduce things to be worried.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 03:00:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (test_block_in_arg): add no block</div><div class='del'>-	  given tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb (test_ljump): uncomment LocalJumpError</div><div class='del'>-	  test.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 01:10:11 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby: tests for ruby itself.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases.</div><div class='del'>-	  some tests could not be translates...  search '!!' mark to see it.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: should require 'csv', not '../lib/csv'.  test</div><div class='del'>-	  runner should set load path correctly.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 01:03:59 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: close opened files for CSV::IOBuf explicitly.</div><div class='del'>-	  opened file cannot be removed under win32 box.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 23:59:40 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (tokadd_string): newlines have no special meanings in</div><div class='del'>-	  %w/%W, otherwise they are ignored only when interpolation is</div><div class='del'>-	  enabled.  [ruby-dev:21325]</div><div class='del'>-</div><div class='del'>-Thu Sep  4 19:38:25 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/.cvsignore: added.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/.cvsignore: added.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 19:28:24 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/openssl: added.  Sample of standard distribution library</div><div class='del'>-	  should be locate in sample/{module_name}/*.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/sample/*: removed.  move to sample/openssl/*.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 18:02:15 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: use remove_const to reduce warnings.  use</div><div class='del'>-	  Dir.tmpdir to locate working files.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 17:41:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-here-doc-beg-re): underscore also is</div><div class='del'>-	  valid delimiter.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-here-doc-end-match): must quote</div><div class='del'>-	  arbitrary string to use as regexp.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): must not</div><div class='del'>-	  call `ruby-here-doc-end-match' unless `ruby-here-doc-beg-re'</div><div class='del'>-	  matched.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 15:40:07 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_csv.rb: run on test/unit original layer.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 12:54:50 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: headerless documents with root-level spacing now</div><div class='del'>-	  honored.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 00:06:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (mark_frame_adj): need to adjust argv pointer if using</div><div class='del'>-	  system's alloca. [ruby-core:01503]</div><div class='del'>-</div><div class='del'>-Wed Sep  3 21:33:20 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test: add test directory.  Test::Unit aware testcases and needed</div><div class='del'>-	  files should be located in this directory.  dir/file name convention;</div><div class='del'>-	    test/{module_name}/test_{testcase_name}.rb</div><div class='del'>-	    test/{module_name}/{needed_files}</div><div class='del'>-	  someday, someone will write testrunner which searches test_*.rb and</div><div class='del'>-	  run testcases automatically.</div><div class='del'>-</div><div class='del'>-	* test/csv/*: add testcase for lib/csv.rb.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 01:37:09 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_gets): should call next_argv() before type check</div><div class='del'>-	  current_file. [ruby-list:38336]</div><div class='del'>-</div><div class='del'>-Tue Sep  2 20:37:15 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning</div><div class='del'>-	  for skipping server verification.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 23:36:57 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): should retrieve retval when pcall is true.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 14:09:20 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check s6_addr8 in in6_addr (Tru64 UNIX).</div><div class='del'>-	  the patch is submitted by nmu &lt;nmu@users.sourceforge.jp&gt;.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (getaddrinfo): should use in6_addr8 on</div><div class='del'>-	  some platforms.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getnameinfo.c (getnameinfo): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 14:02:19 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb}:</div><div class='del'>-	  bug fix and improvement of font control</div><div class='del'>-</div><div class='del'>-Tue Sep  2 09:51:36 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): should not handle exceptions within rescue</div><div class='del'>-	  argument.  [ruby-talk:80804]</div><div class='del'>-</div><div class='del'>-Tue Sep  2 00:44:37 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch): fix overrun.  [ruby-talk:80759]</div><div class='del'>-</div><div class='del'>-Tue Sep  2 00:41:27 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (map_charset): use lower case keys.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_fail): just yield error and return the</div><div class='del'>-	  result if a block is given.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/iconv.c (iconv_convert): yield error and append the</div><div class='del'>-	  result if a block is given.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb (charset_alias): optional third</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* ext/iconv/charset_alias.rb (charset_alias): use CP932 instead of</div><div class='del'>-	  SHIFT_JIS on cygwin.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 18:34:25 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): make tail recursion in ELSE clause of</div><div class='del'>-	  RESCUE a jump.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 18:00:02 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (aref_args): forgot to call NEW_SPLAT(). reported by</div><div class='del'>-	  Dave Butcher.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): protect thgroup_default.  suggested by Guy</div><div class='del'>-	  Decoux in [ruby-talk:80623]</div><div class='del'>-</div><div class='del'>-Mon Sep  1 16:59:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_switch): add RESTORE_EXIT; exit by another</div><div class='del'>-	  thread termination.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start_0): should not error_print() within</div><div class='del'>-	  terminated thread, because $stderr used by it might be</div><div class='del'>-	  overriden now.  [ruby-dev:21280]</div><div class='del'>-</div><div class='del'>-Sun Aug 31 22:46:55 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (TAG_DST()): take no argument.</div><div class='del'>-</div><div class='del'>-	* process.c (p_gid_sw_ensure): return VALUE.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 22:27:10 2003  Hidetoshi NAGAI  &lt;nagai@dumbo.ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (p_gid_sw_ensure): lack of function type</div><div class='del'>-</div><div class='del'>-Sun Aug 31 12:25:06 2003  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: --version takes an optional argument; "all" or</div><div class='del'>-	  a list of package names.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 10:17:02 2003  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/date/format.rb: yyyy/mm is not an acceptable format.</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: follow above.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 14:25:43 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_iter_break): should not call TAG_JUMP directly.</div><div class='del'>-</div><div class='del'>-Sat Aug 30 03:58:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (struct BLOCK): remove BLOCKTAG, use scope instead.</div><div class='del'>-</div><div class='del'>-	* eval.c (POP_TAG): no longer propagate retval.  retval is now set</div><div class='del'>-	  directly by localjump_destination().</div><div class='del'>-</div><div class='del'>-	* eval.c (localjump_destination): new function to cast</div><div class='del'>-	  return/break local jump.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): stop TAG_RETURN/TAG_BREAK escaping.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 22:35:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bigdecimal.c *.html: The 2nd arg. for add,sub,mult, and div is 0,</div><div class='del'>-	  then result will be the same as +,-,*,/ respectively.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 17:30:15 2003  Hidetoshi NAGAI  &lt;nagai@ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: bug fix</div><div class='del'>-</div><div class='del'>-	* process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}</div><div class='del'>-</div><div class='del'>-	* process.c: deny handling IDs during evaluating the block given to</div><div class='del'>-	  the Process::{UID,GID}.switch method</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: some methods have no effect if on slave-IP</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: can create a interpreter without Tk</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: bug fix on handling exceptions</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/MANUAL.euc: modify</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: freeze some core modules</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: more secure</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: TkVariable.new(array) --&gt; treat the array as the</div><div class='del'>-	  Tk's list</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb: improve accessibility of TkVariable object</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb, ext/tk/lib/tkfont.rb, ext/tk/lib/tkcanvas.rb,</div><div class='del'>-	  ext/tk/lib/tktext.rb: fix bug of font handling</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkfont.rb: TkFont.new() accepts compound fonts</div><div class='del'>-</div><div class='del'>-Thu Aug 28 22:07:12 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): call const_missing if autoloading</div><div class='del'>-	  constant is not defined to allow hook.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): use rb_const_get_from() instead of</div><div class='del'>-	  rb_const_get_at().</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): forgot to check NODE_COLON3.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 17:30:24 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): should check constants defined in</div><div class='del'>-	  included modules, if klass is Object. [ruby-talk:79302]</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint): check should be done using UINT_MAX, not</div><div class='del'>-	  INT_MAX. this fix is submitted by Lyle Johnson</div><div class='del'>-	  &lt;lyle@knology.net&gt; in [ruby-core:01486]</div><div class='del'>-</div><div class='del'>-Thu Aug 28 05:02:52 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (singleton): typo fixed (ruby-bugs-ja:PR#562)</div><div class='del'>-</div><div class='del'>-Thu Aug 28 02:37:45 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.</div><div class='del'>-	  consistent with *a = [1], which set [[1]] to a.</div><div class='del'>-</div><div class='del'>-	* node.h: merge NODE_RESTARY to NODE_SPLAT.</div><div class='del'>-</div><div class='del'>-	* parse.y: rules simplified a bit by removing NODE_RESTARY.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: updated for new assignment behavior.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 22:33:24 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_bug): should not use other methods; this function is</div><div class='del'>-	  not for ordinary use.  [ruby-dev:21259]</div><div class='del'>-</div><div class='del'>-Wed Aug 27 15:07:57 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (check_response): AUTH CRAM-MD5 returns 334</div><div class='del'>-	  response. [ruby-list:38279]</div><div class='del'>-</div><div class='del'>-Wed Aug 27 05:10:15 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (map_errno): support winsock error.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,</div><div class='del'>-	  kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime):</div><div class='del'>-	  pass errno to map_errno().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,</div><div class='del'>-	  rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,</div><div class='del'>-	  rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,</div><div class='del'>-	  rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,</div><div class='del'>-	  rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,</div><div class='del'>-	  rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,</div><div class='del'>-	  rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,</div><div class='del'>-	  rb_w32_fclose, rb_w32_close): use map_errno().</div><div class='del'>-</div><div class='del'>-	* win32/win32.h: add winsock errors.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 23:53:23 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct::method_missing): prohibit modifying</div><div class='del'>-	  frozen OpenStruct. [ruby-talk:80214]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 20:03:50 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_tmpsrc): add the hook for source.</div><div class='del'>-	  [ruby-list:38122]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 15:59:53 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* implicit.c (syck_type_id_to_taguri): corrected detection of</div><div class='del'>-	  x-private types.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 01:02:48 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): performance improvement.</div><div class='del'>-	  [ruby-talk:79748]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 23:41:16 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for</div><div class='del'>-	  apparent cases. [ruby-talk:79748]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 18:56:53 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_putchar): should use rb_str_resize() to just</div><div class='del'>-	  resize a string, rb_str_cat() disallows NULL.  [ruby-dev:21237]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 16:48:41 2003  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: bug fix for "foo" !~ /bar/. [ruby-talk:79942]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 15:59:58 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval, rb_iterate, block_pass): reduce PUSH/POP_TAG and</div><div class='del'>-	  EXEC_TAG() for retry.  [ruby-dev:21216]</div><div class='del'>-</div><div class='del'>-Sat Aug 23 02:32:33 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_splat): should check if "values" is array.</div><div class='del'>-</div><div class='del'>-	* enum.c (each_with_index_i): typo.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 17:07:05 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (inject_i): use rb_yield_values.</div><div class='del'>-</div><div class='del'>-	* enum.c (each_with_index_i): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_splat): new function to call "yield *values".</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scan): use rb_yield_splat().</div><div class='del'>-</div><div class='del'>-Fri Aug 22 06:13:22 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: refactoring of the transfer method</div><div class='del'>-	  dispatch.  added yaml_org_handler for faster dispatch of</div><div class='del'>-	  transfers to base types.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/rubytypes.rb: removed handling of builtins from</div><div class='del'>-	  Ruby library.</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c: quoted and block scalars are now implicit !str</div><div class='del'>-</div><div class='del'>-	* ext/syck/implicit.c: empty string detected as !null.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 01:00:31 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): improve passing current block.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 00:13:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication</div><div class='del'>-	  fixed, and VpNmlz() speed up.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 16:44:49 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_connect): many systems seem to have</div><div class='del'>-	  a problem in select() after EINPROGRESS.  [ruby-list:38080]</div><div class='del'>-</div><div class='del'>-Wed Aug 20 01:31:17 2003  why the lucky stiff  &lt;why@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.h: Parser definition problems on HP-UX.</div><div class='del'>-	  [ruby-talk:79389]</div><div class='del'>-</div><div class='del'>-	* ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c: Tainting issues.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 23:20:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c .h .html: to_s("+") implemented.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: E implemented.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 11:19:33 2003  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): should not call GetOpenFile() if rb_stdout is</div><div class='del'>-	  not a IO (T_FILE).</div><div class='del'>-</div><div class='del'>-Tue Aug 19 07:47:10 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/compat.rb (File::fnmatch): remove old migration code.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (HTTPServer#run): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (GenericServer#listen): the body of this</div><div class='del'>-	  method is pull out as Utils::create_lisnteners.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (Utils::create_lisnteners): new method.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (GenericServer#start): should rescue</div><div class='del'>-	  unknown errors. and refine comments.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close</div><div class='del'>-	  socket if SSLSocket raises error.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 07:47:09 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as</div><div class='del'>-	  a builtin.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should</div><div class='del'>-	  add a return to the tails of each line.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/sample/echo_svr.rb: use SSLServer.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/sample/echo_cli.rb: add example of SSLSocket#sync_close.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 01:24:34 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard</div><div class='del'>-	  headers are inconsistent at this macro.  [ruby-core:01432]</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers</div><div class='del'>-	  winspool.h</div><div class='del'>-</div><div class='del'>-	* instruby.rb: make list at first instead of iterator.</div><div class='del'>-	  [ruby-talk:79347]</div><div class='del'>-</div><div class='del'>-Mon Aug 18 11:23:11 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): preserve raw order for **.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 23:39:55 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 17:10:03 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (SSLSocket#sync_close=): add a</div><div class='del'>-	  method to specify if the underlying IO will be closed in</div><div class='del'>-	  SSLSocket#close.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: add forwarders to</div><div class='del'>-	  setsockopt, getsockopt and fcntl.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 11:32:04 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): should not force to remake Makefile when</div><div class='del'>-	  installation and so on.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 23:58:18 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_symbol, w_object): get rid of warnings.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch): ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (time_dump): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): not continue making when extconf.rb</div><div class='del'>-	  failed.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: remove version.h dependency.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ruby_missing.h: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (pkg_config): use --libs output except with</div><div class='del'>-	  only-L for other options.  [ruby-list:38099]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): separate rule for static</div><div class='del'>-	  library from shared object.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:</div><div class='del'>-	  define exec_prefix and libdir.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 23:15:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c .h: Bug in combination of limit &amp; div</div><div class='del'>-	  method fixed.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: atan() &amp; sqrt() added.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 12:01:44 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HUGE_ST_INO): check whether struct stat.st_ino</div><div class='del'>-	  is larger than long.  [ruby-dev:21194]</div><div class='del'>-	  http://www.geocities.co.jp/SiliconValley-PaloAlto/1409/ruby/beos.html</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_eqq): errno might exceed Fixnum limit.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): moved base initialization from</div><div class='del'>-	  init_syserr().</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): postpone initializing errnos until</div><div class='del'>-	  Bignum is available.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 12:01:43 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let</div><div class='del'>-	  keyname() and so on be declared.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_resizeterm, window_resize):</div><div class='del'>-	  arguments conflicted with macros in term.h.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Curses module methods): ensure</div><div class='del'>-	  initialized.  [ruby-dev:21191]</div><div class='del'>-</div><div class='del'>-Fri Aug 15 02:08:53 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): recycle check should be done by klass == 0.</div><div class='del'>-	  [ruby-core:01408]</div><div class='del'>-</div><div class='del'>-Fri Aug 15 01:34:23 2003  Michal Rokos  &lt;m.rokos@sh.cvut.cz&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c: move generate_cb here</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_{dh|dsa|rsa}.c: adapt to this cb</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.[ch]: add (0.9.6x, x&lt;j) missing BN funcs</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c: use supplied funcs from openssl_missing.c</div><div class='del'>-</div><div class='del'>-Fri Aug 15 00:38:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Bug in div method fixed.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: Newly added.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/sample/pi.rb: Changed so as to use math.rb.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 21:19:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): Continuation#[] added.  [ruby-talk:79028]</div><div class='del'>-</div><div class='del'>-Thu Aug 14 20:03:34 2003  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (OLE_FREE): should not call</div><div class='del'>-	  ole_message_loop.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_event_free): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_initialize): stop calling</div><div class='del'>-	  OleUninitialize at exit.</div><div class='del'>-</div><div class='del'>-Thu Aug 14 11:27:37 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_alloc): check type of 1st argument.</div><div class='del'>-	  [ruby-dev:21192]</div><div class='del'>-</div><div class='del'>-Thu Aug 14 00:21:14 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_node): should allow "::Foo" (colon3) as lhs.</div><div class='del'>-</div><div class='del'>-	* parse.y (lhs): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): should return tCOLON3 right after kCLASS.</div><div class='del'>-	  [ruby-talk:78918]</div><div class='del'>-</div><div class='del'>-	* error.c (exc_initialize): was converting argument to string too</div><div class='del'>-	  eagerly.  Only check was needed. [ruby-talk:78958]</div><div class='del'>-</div><div class='del'>-Wed Aug 13 23:31:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c .h .html: Ambiguity of</div><div class='del'>-	  BigDecimal::limit removed.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 19:21:34 2003  Christian Neukirchen  &lt;chneukirchen@yahoo.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb (HTTPServer#run): should set syncing-mode</div><div class='del'>-	  to SSLSocket. [ruby-talk:78919]</div><div class='del'>-</div><div class='del'>-Wed Aug 13 18:13:49 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (POP_BLOCK): turn on BLOCK_LEFT flag when leaving block.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_invoke): unpack return/break destination when block</div><div class='del'>-	  is already left.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 15:58:31 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_s_alloc): add function prototype to avoid VC++</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 13:50:59 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Win32API/Win32API.c (Win32API_initialize): should pass some</div><div class='del'>-	  class to first argument of Data_Wrap_Struct(). (ruby-bugs:PR#1109)</div><div class='del'>-</div><div class='del'>-Tue Aug 12 16:55:11 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: static link libraries to LIBRUBY_SO with static linked</div><div class='del'>-	  ext.  [ruby-dev:21157]</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): sort extension library initialization order.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): compact $extlibs.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 02:48:56 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (THREAD_SAVE_CONTEXT): should explicitly turn off the</div><div class='del'>-	  flag before calling getcontext(2).</div><div class='del'>-</div><div class='del'>-	* eval.c (struct thread): add member to save backing store on</div><div class='del'>-	  IA64. (ruby-bugs PR1086)</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_mark): mark IA64 backing store region.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_free): free saved IA64 backing store.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_save_context): save IA64 backing store as well.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_restore_context): restore IA64 backing store.</div><div class='del'>-</div><div class='del'>-	* eval.c (THREAD_ALLOC): initialize IA64 members.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 22:31:50 2003  NAKAMURA, Hiroshi  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb(debug_command): inspection command should inspect</div><div class='del'>-	  resulting value even if it's nil.  [ruby-dev:21180] by OMAE, jun</div><div class='del'>-	  &lt;jun66j5@ybb.ne.jp&gt;.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb(debug_command): incomplete regexp.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 17:33:07 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call_super): do not use rb_block_given_p() for</div><div class='del'>-	  check. [ruby-talk:78656]</div><div class='del'>-</div><div class='del'>-	* eval.c (BEGIN_CALLARGS): push ITER_NOT only when ITER_PRE.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 10:43:05 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE</div><div class='del'>-	  from 1k to 16k bytes. [ruby-talk:78603]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable</div><div class='del'>-	  partial write to allow interruption in SSLSocket#write.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 00:34:16 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'</div><div class='del'>-	  for ccache.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 10:36:21 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): do not dump generic instance variable when</div><div class='del'>-	  marshal_dump is defined.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 00:35:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal.c: F style output(like 1234.56789) implemented</div><div class='del'>-	  to to_s method.</div><div class='del'>-	* ext/bigdecimal_??.html: F style output(like 1234.56789)</div><div class='del'>-	  implemented to to_s method.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 12:33:17 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32/Makefile.sub: rubyw.exe should be a Windows GUI program.</div><div class='del'>-	  add the -aa option to WLDFLAGS.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 11:29:26 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): should set `c_arg' at first.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 03:22:28 2003  GOTOU Yuuzou  &lt;gotoyuzo@notwork.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (FormData#list): should not take</div><div class='del'>-	  a side effect for the receiver.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 14:40:37 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile: better --disbale-shared option support.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile: add forwarding DLL target for cygwin.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 14:21:05 2003  Corinna Vinschen  &lt;vinschen@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix Cygwin specific naming of libraries to</div><div class='del'>-	  be net distribution compliant. (ruby-bugs:PR#1077)</div><div class='del'>-	  cygwin-ruby18.dll -&gt; cygruby18.dll</div><div class='del'>-</div><div class='del'>-Thu Aug  7 12:51:38 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_at_exit): should not be called without a block.</div><div class='del'>-	  block_given check added.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 06:46:06 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): forgot to pop ruby_class.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): update ruby_class as well as ruby_cref.</div><div class='del'>-	  (ruby-bugs-ja:PR#540)</div><div class='del'>-</div><div class='del'>-Thu Aug  7 04:52:50 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): remove ruby_frame-&gt;cbase and unify to</div><div class='del'>-	  ruby_cref.  [ruby-talk:78141]</div><div class='del'>-</div><div class='del'>-Thu Aug  7 04:19:15 2003  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: FreeBSD/ia64's mcontext_t is a bit different from that of</div><div class='del'>-	  Linux/ia64.  This makes gc.c compile but miniruby coredumps for</div><div class='del'>-	  the moment.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 00:15:00 2003  Shigeo Kobayashi  &lt;shigek@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal.c: Comparison results adjusted to Float's.</div><div class='del'>-	* ext/bigdecimal.c: Use rb_num_coerce_????(x,y) instead of own.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 22:58:00 2003  Nathaniel Talbott  &lt;ntalbott@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: Added equality checking.</div><div class='del'>-	* lib/test/unit/testsuite.rb: Added equality checking.</div><div class='del'>-	* lib/test/unit/assertions.rb: Fixed a warning.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 17:28:10 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): pass LIBPATH to make ruby.  [ruby-dev:21137]</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): set library name as source file name in</div><div class='del'>-	  Init_ext().  [ruby-dev:21137]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging::postpone): postpone logging messages after</div><div class='del'>-	  heading message as the result of the block.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (macro_defined?): append newline to src unless ended</div><div class='del'>-	  with it.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_library): treat nil function name as "main".</div><div class='del'>-	  (ruby-bugs:PR#1083)</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (pkg_config): should append additional libraries to</div><div class='del'>-	  $libs but not $LIBS.  [ruby-dev:21137]</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/extconf.rb: check DOSISH macro instead of platform.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/extconf.rb: have_library already appends library</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 17:23:57 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: initialize /* OK */ variables by Qnil to stop warnings.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 04:58:32 2003  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/Setup*: add io/wait and openssl.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 01:13:38 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_autoload): use ruby_cbase instead of ruby_class.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_autoload_p): ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy): no longer implements independent</div><div class='del'>-	  clone and dup methods.  override "initialize_copy" instead.</div><div class='del'>-	  [ruby-core:01352]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_s_alloc): define Class allocation function.</div><div class='del'>-	  this makes Classes to follow clone framework that uses</div><div class='del'>-	  initialize_copy.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_initialize): separate instantiation and</div><div class='del'>-	  initialization.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_alloc): prohibit instantiation from</div><div class='del'>-	  uninitialized class.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_superclass): check uninitialized class.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): wrong index processing with block.  this</div><div class='del'>-	  fix was done by Koji Arai &lt;JCA02266@nifty.ne.jp&gt; [ruby-list:38029]</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): should preserve generic ivar for nil,</div><div class='del'>-	  true, false, symbols, and fixnums.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_uclass): base_klass check should be done after</div><div class='del'>-	  rb_class_real().</div><div class='del'>-</div><div class='del'>-Wed Aug  6 01:18:50 2003  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: update document.</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 00:48:37 2003  Koji Arai  &lt;jca02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): should recommend marshal_dump rather than</div><div class='del'>-	  _dump_data.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 17:58:57 2003  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (install): should preserve timestamp only.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 17:31:59 2003  Ian Macdonald  &lt;ian@caliban.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):</div><div class='del'>-	  simple typo.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 15:47:34 2003  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): should preserve current source file/line.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 10:04:42 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new4): ptr may refer to null_str.</div><div class='del'>-</div><div class='del'>-Mon Aug  4 17:25:18 2003  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* stable version 1.8.0 released.</div><div class='del'>-</div><div class='del'>-For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-add-log-time-format: (lambda ()</div><div class='del'>-  (let* ((time (current-time))</div><div class='del'>-	 (system-time-locale "C")</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-end:</div><div class='head'>diff --git a/doc/ChangeLog-2.0.0 b/doc/ChangeLog-2.0.0<br/>deleted file mode 100644<br/>index a1a79b8dca..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-2.0.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.0.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24015 +0,0 @@</div><div class='del'>-Fri Feb  8 19:56:54 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dup): reverted r39004.  see [Bug #7768], and</div><div class='del'>-	  release manager finally decided to revert it.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 16:09:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_ensure): preserve errinfo across ensure proc before</div><div class='del'>-	  JUMP_TAG().  [ruby-core:52022] [Bug #7802]</div><div class='del'>-</div><div class='del'>-Fri Feb  8 16:08:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_separately): check also terminating</div><div class='del'>-	  signal not only if core dumped.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 13:12:04 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/darkfish.rb:  Set encoding on output template to</div><div class='del'>-	  user-specified encoding.</div><div class='del'>-	* test/rdoc/test_rdoc_generator_darkfish.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Bump version</div><div class='del'>-</div><div class='del'>-Fri Feb  8 11:53:33 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/security/policy.rb:  Raise proper exceptions when</div><div class='del'>-	  verifying unsigned gems (instead of crashing).</div><div class='del'>-	* test/rubygems/test_gem_security_policy.rb:  Tests for the above.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 10:44:44 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb:  Improve coverage of</div><div class='del'>-	  --install-dir feature of gem install.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 10:11:09 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb:  Add missing require for</div><div class='del'>-	  user_interaction.rb</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_installer.rb:  Minor refactor for clarity.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 09:35:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#configuration): set all ruby names.</div><div class='del'>-	  hdrdir now needs RUBY_VERSION_NAME.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 08:58:26 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package/old.rb:  Fix loading old format gems on ruby</div><div class='del'>-	  1.8.  This commit is only so trunk and rubygems master have the same</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 08:53:27 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: fixing string quotation</div><div class='del'>-	  when dumping Ruby strings. Thanks Ingy</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb: appropriate tests.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yaml.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Feb  8 08:50:42 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: change output reference</div><div class='del'>-	  ids to be sequential numbers.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 07:47:56 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package/old.rb:  Disallow installation of old-format</div><div class='del'>-	  gems when a security policy is active.</div><div class='del'>-	* test/rubygems/test_gem_package_old.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 07:34:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (HTTP.post_form): Fix module scope in documentation</div><div class='del'>-	  Patch by David Albert [Bug #7794] [ruby-core:51955]</div><div class='del'>-</div><div class='del'>-Fri Feb  8 07:33:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_equal): Document ignored exception and return false</div><div class='del'>-	  By Makoto Kishimoto [Bug #7790] [ruby-dev:46925] [ruby-dev:46910]</div><div class='del'>-</div><div class='del'>-Fri Feb  8 07:17:00 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_installer.rb:  Only install local gems if</div><div class='del'>-	  they end in '.gem'.  Fixes github rubygems issue #407.</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 00:02:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (obj2gid): use getgrnam_r() only if getgrnam_r() and</div><div class='del'>-	  _SC_GETGR_R_SIZE_MAX is available.</div><div class='del'>-	  MirOS BSD (MirBSD 10 GENERIC#1382 i386) have getgrnam_r() but</div><div class='del'>-	  no _SC_GETGR_R_SIZE_MAX.</div><div class='del'>-	  (obj2uid): use getpwnam_r() only if getpwnam_r() and</div><div class='del'>-	  _SC_GETPW_R_SIZE_MAX is available.</div><div class='del'>-	  This is consistency for obj2gid.</div><div class='del'>-	  MirOS BSD have neither getpwnam_r() nor _SC_GETPW_R_SIZE_MAX.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 22:01:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: define linker for shared library on MirOS BSD.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 21:09:23 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_config_file.rb</div><div class='del'>-	  (TestGemConfigFile#test_check_credentials_permissions): skip on</div><div class='del'>-	  Windows. see [Bug #7784] [ruby-core:51864] and r39070.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 20:52:40 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): added variables which were</div><div class='del'>-	  missing at r39130.</div><div class='del'>-</div><div class='del'>-Thu Feb  7 15:33:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#merge_libs): insert following reversal</div><div class='del'>-	  ordered elements just after the duplicated element, not overwriting</div><div class='del'>-	  successive elements.  [ruby-core:50314] [Bug #7467]</div><div class='del'>-</div><div class='del'>-Thu Feb  7 14:56:15 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Ensure digests are generated for signing.</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/security/policy.rb:  Ensure digests are present when</div><div class='del'>-	  verifying a gem and match the number of signatures bidirectionally.</div><div class='del'>-	* test/rubygems/test_gem_security_policy.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Documentation improvements (by zzak)</div><div class='del'>-</div><div class='del'>-Thu Feb  7 05:52:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/pty/README: Remove static documentation file</div><div class='del'>-	* ext/pty/pty.c: Add License to PTY module overview</div><div class='del'>-</div><div class='del'>-Thu Feb  7 02:31:10 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: attr_writer should return its argument [Bug #7773]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: Test for above</div><div class='del'>-</div><div class='del'>-Thu Feb  7 01:35:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: Link to japanese version of CVE page patch by</div><div class='del'>-	  nagachika</div><div class='del'>-</div><div class='del'>-Wed Feb  6 23:30:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/pty/README.expect: Removed static documentation file</div><div class='del'>-	* ext/pty/lib/expect.rb: Documentation for IO#expect</div><div class='del'>-</div><div class='del'>-Wed Feb  6 22:25:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_reject_bang): hide keys array from ObjectSpace</div><div class='del'>-	* hash.c (env_select_bang): ditto</div><div class='del'>-</div><div class='del'>-Wed Feb  6 17:33:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (multiarch): add option to move architecture dependent</div><div class='del'>-	  directories.  [Feature #6111]</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in: add arch dependent paths.</div><div class='del'>-</div><div class='del'>-	* configure.in (rubyarchhdrdir, sitearchhdrdir, vendorarchhdrdir): add</div><div class='del'>-	  options to customize architecture dependent header directories.</div><div class='del'>-</div><div class='del'>-	* configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add</div><div class='del'>-	  options to customize architecture dependent library directories.</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use</div><div class='del'>-	  configured values.</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: expand rubyarchdir to extract prefix.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add</div><div class='del'>-	  substitution and define.</div><div class='del'>-</div><div class='del'>-	* configure.in, version.c: parametric architecture name for paths.</div><div class='del'>-</div><div class='del'>-	* configure.in (shvar_to_cpp): convert sh variable references</div><div class='del'>-	  by replacing with string literal forms in cpp.</div><div class='del'>-</div><div class='del'>-Wed Feb  6 17:05:26 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Import RDoc 4.0.0.rc.2</div><div class='del'>-</div><div class='del'>-Mon Feb  4 02:22:49 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_setsid): ensure to call</div><div class='del'>-	  Process.wait(). Reported by George Koehler. Thanks.</div><div class='del'>-</div><div class='del'>-Mon Feb  4 02:18:00 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_setsid): skip when platform is</div><div class='del'>-	  OpenBSD. Contributed from George Koehler.</div><div class='del'>-	  [Bug #7789] [ruby-core:51889]</div><div class='del'>-</div><div class='del'>-Wed Feb  6 13:35:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_location, rb_{mod,obj}_method_location): new</div><div class='del'>-	  functions to obtain source location of method definition.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_obj_respond_to): show the location of old style</div><div class='del'>-	  respond_to? method.</div><div class='del'>-</div><div class='del'>-Wed Feb  6 13:03:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: Add link to CVEs on ruby-lang.org/en/security</div><div class='del'>-</div><div class='del'>-Wed Feb  6 12:49:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add note about removal of CSV::load and CSV::dump from r39077</div><div class='del'>-</div><div class='del'>-Wed Feb  6 05:57:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: Hide copyright notice from Racc doc</div><div class='del'>-</div><div class='del'>-Wed Feb  6 05:50:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/rubygems/*: Removed outdated documentation files</div><div class='del'>-	* lib/rubygems/LICENSE.txt: Include license file</div><div class='del'>-	* lib/rubygems.rb: Move Gem module documentation so rdoc can parse it</div><div class='del'>-	  and link to LICENSE.txt</div><div class='del'>-	* lib/rubygems/*: Hide useless documentation from Gem module rdoc</div><div class='del'>-</div><div class='del'>-Wed Feb  6 03:45:19 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: Remove documentation for unsafe CSV.load which</div><div class='del'>-	  was deleted in r39077</div><div class='del'>-</div><div class='del'>-Wed Feb  6 03:27:19 2013  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Remove the dangerous serialization feature.</div><div class='del'>-</div><div class='del'>-Wed Feb  6 00:56:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: Remove example from restrictions, it works [Github #246]</div><div class='del'>-	  Based on patch by Ryunosuke SATO</div><div class='del'>-</div><div class='del'>-Wed Feb  6 00:46:53 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_stack_to_heap): call rb_vm_get_binding_creatable_next_cfp</div><div class='del'>-	  instead of rb_vm_get_ruby_level_next_cfp to prevent a segfault by</div><div class='del'>-	  calling Kernel#callcc. See r39067 for more details.</div><div class='del'>-	  [ruby-dev:46908] [ruby-trunk - Bug #7774]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 18:48:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: add regex, eval and drb sections</div><div class='del'>-</div><div class='del'>-Tue Feb  5 17:24:02 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/servlet.rb:  Fixed root search paths, filesystem paths</div><div class='del'>-	  instead of HTTP paths were returned.</div><div class='del'>-	* test/rdoc/test_rdoc_servlet.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 16:37:00 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb:  Ignore permissions check on windows.</div><div class='del'>-	  Windows writes 0600 file as 0644 permissions making the check</div><div class='del'>-	  useless.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 16:25:25 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_obj_respond_to): drop optional include_all flag if</div><div class='del'>-	  respond_to? method is defined in old style.  [Bug #7722]</div><div class='del'>-</div><div class='del'>-Tue Feb 05 15:04:34 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_binding_new_with_cfp): permit to create binding object</div><div class='del'>-	  of IFUNC frame.</div><div class='del'>-	  When `rb_binding_new_with_cfp()' is called, VM finds out the first</div><div class='del'>-	  normal (has iseq) frame and create a binding object of this frame</div><div class='del'>-	  and create Env objects. `ep's of related frames are updated</div><div class='del'>-	  (`ep's point Env object managed spaces).</div><div class='del'>-	  However, `ep' of skipped IFUNC frame was not updated and</div><div class='del'>-	  old invalid `ep' was remained. It causes serious problems.</div><div class='del'>-	  To solve this issue, permit IFUNC to create binding.</div><div class='del'>-	  (Maybe there is no problem on it)</div><div class='del'>-	  [ruby-dev:46908] [ruby-trunk - Bug #7774]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_binding_creatable_next_cfp), vm_core.h: added.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: fix to use `rb_vm_get_binding_creatable_next_cfp()'.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 14:43:15 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Fix error message, patch by pypypy [Bug #7777]</div><div class='del'>-</div><div class='del'>-Tue Feb  5 14:36:04 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): Handle special cases when base is 0, -1 or +1</div><div class='del'>-	  [Bug #5713] [Bug #5715]</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_expt): ditto</div><div class='del'>-</div><div class='del'>-Tue Feb  5 13:27:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (rawmode_opt): use default values by `stty</div><div class='del'>-	  raw`.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 12:50:47 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* range.c: Use div instead of / for bsearch</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: Test showing bug when requiring mathn</div><div class='del'>-</div><div class='del'>-Tue Feb  5 12:48:38 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Use to_enum for Enumerable methods returning</div><div class='del'>-	  Enumerators.</div><div class='del'>-	  This makes Lazy#cycle no longer needed, so it was removed.</div><div class='del'>-	  Make Enumerator#chunk and slice_before return lazy Enumerators.</div><div class='del'>-	  [Bug #7715]</div><div class='del'>-</div><div class='del'>-	* internal.h: Remove ref to rb_enum_cycle_size; no longer needed</div><div class='del'>-</div><div class='del'>-	* enum.c: Make enum_cycle_size static.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb: Test for above</div><div class='del'>-</div><div class='del'>-Tue Feb  5 12:48:10 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Finalize and document Lazy.new. [Bug #7248]</div><div class='del'>-	  Add Lazy#to_enum and simplify Lazy#size.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb: tests for above</div><div class='del'>-</div><div class='del'>-Tue Feb  5 11:35:35 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/push_command.rb:  Fixed credential download for</div><div class='del'>-	  `gem push --host`</div><div class='del'>-	* lib/rubygems/gemcutter_utilities.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_commands_push_command.rb:  Test for the above.</div><div class='del'>-	* test/rubygems/test_gem_gemcutter_utilities.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb:  Abort if the `gem push` credentials</div><div class='del'>-	  file has insecure permissions.</div><div class='del'>-	* test/rubygems/test_gem_config_file.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/builder.rb:  Do not look for Gemfile, Isolate, etc.</div><div class='del'>-	  while building gem extensions.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Unset spec and files list if a gem's</div><div class='del'>-	  signatures cannot be verified.</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Reduce use of eval.</div><div class='del'>-	* lib/rubygems/test_case.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_specification.rb:  Test setting</div><div class='del'>-	  specification_version for legacy gems.  Dup Gem.ruby before</div><div class='del'>-	  untainting in case it's frozen.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Reduce use of eval.  Only read files when looking</div><div class='del'>-	  for Gemfile, Isolate, etc.</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Tue Feb  5 10:15:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: Wrap security guide at 80 columns</div><div class='del'>-</div><div class='del'>-Tue Feb  5 10:15:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: Grammatical error on security guide</div><div class='del'>-	  Patch by Josh Bassett [Github fixes #245]</div><div class='del'>-</div><div class='del'>-Tue Feb  5 10:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: Update #do_parse and #yyparse from upstream</div><div class='del'>-	  See [Github tenderlove/racc@7d954b5]</div><div class='del'>-</div><div class='del'>-Tue Feb  5 09:55:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc: Merge Racc documentation downstream, add grammar ref file</div><div class='del'>-</div><div class='del'>-Tue Feb  5 08:03:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb, lib/irb/ext/save-history.rb: Add documentation on how to</div><div class='del'>-	  enabled irb history [ruby-core:51347] [Bug #7679]</div><div class='del'>-</div><div class='del'>-Tue Feb  5 07:35:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb, lib/irb/context.rb: Add documentation on how to enable</div><div class='del'>-	  auto-indentation and autocompletion using irbrc and irb_context</div><div class='del'>-	  [ruby-core:51209] [Bug #7642] and [ruby-core:51348] [Bug #7680]</div><div class='del'>-</div><div class='del'>-Tue Feb  5 05:20:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/standard_library.rdoc: Document list of libraries and extensions</div><div class='del'>-	  and their purpose or short description</div><div class='del'>-	* lib/README: Remove lib/README in favor of doc/standard_library.rdoc</div><div class='del'>-</div><div class='del'>-Tue Feb  5 04:40:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json.rb: Move module overview definition for rdoc</div><div class='del'>-</div><div class='del'>-Tue Feb  5 03:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb: Move class overview definition and reformat</div><div class='del'>-</div><div class='del'>-Mon Feb  4 15:10:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (rawmode_opt): initialize options for the</div><div class='del'>-	  case all options are not given.</div><div class='del'>-</div><div class='del'>-Mon Feb  4 12:44:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (control_frame_dump): capitalize prefix of `ep'</div><div class='del'>-	  if `ep' points an env object.</div><div class='del'>-</div><div class='del'>-Mon Feb  4 04:20:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/English.rb: Add English module for RDoc to parse, then</div><div class='del'>-	  remove_const to avoid confusion. Include full list of aliases and</div><div class='del'>-	  their associated global variable.</div><div class='del'>-</div><div class='del'>-Mon Feb  4 02:40:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb (YAML::EngineManager): Documentation for #yamler and</div><div class='del'>-	  #yamler= for using the removed Syck gem as the YAML::ENGINE</div><div class='del'>-</div><div class='del'>-Sun Feb  3 16:54:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/io-console.gemspec: bump.  [Bug #7762]</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (test_stringio_getch): use more</div><div class='del'>-	  descriptive assertions.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (rawmode_opt): min is minimum characters,</div><div class='del'>-	  not tenths.</div><div class='del'>-</div><div class='del'>-Sun Feb  3 16:13:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: add first cut at a Ruby security document</div><div class='del'>-</div><div class='del'>-Sun Feb  3 10:25:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: Document range argument for Kernel#rand.</div><div class='del'>-	  [ruby-core:51794] [Bug #7770]</div><div class='del'>-</div><div class='del'>-Sun Feb  3 10:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Document Float constants [ruby-core:51484] [Bug #7709]</div><div class='del'>-</div><div class='del'>-Sun Feb  3 09:38:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): add b_call</div><div class='del'>-	  and b_return to profile block calls.</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): split</div><div class='del'>-	  PROFILE_PROC for call and return events.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 14:32:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/mock.rb, lib/minitest/hell.rb: nodoc top-level module</div><div class='del'>-</div><div class='del'>-Sat Feb  2 14:05:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: Documentation for DEBUGGER__ class methods based on</div><div class='del'>-	  patch by Vincent Batts [ruby-core:51253]</div><div class='del'>-</div><div class='del'>-Sat Feb  2 13:37:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: Fix rdoc title for Net::SMTP</div><div class='del'>-</div><div class='del'>-Sat Feb  2 13:32:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: Fix rdoc title for Net::POP3</div><div class='del'>-</div><div class='del'>-Sat Feb  2 13:00:11 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb (GServer#start): fix a timing issue.  patch from</div><div class='del'>-	  Charles Nutter.  [Bug #7081]</div><div class='del'>-</div><div class='del'>-Sat Feb  2 12:36:54 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (copy_entry, wrap_traverse): preserve attributes of</div><div class='del'>-	  directories on FileUtils.cp_r.  The fix was proposed by Jan</div><div class='del'>-	  Wedekind.  [Bug #7246]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 12:30:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (URI::FTP.new2): nodoc method from r39013 [Bug #7301]</div><div class='del'>-</div><div class='del'>-Sat Feb  2 12:15:36 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (URI::FTP.new2): remove the rdoc because it is not</div><div class='del'>-	  well tested yet.  [Bug #7301]</div><div class='del'>-</div><div class='del'>-Sat Feb  2 12:07:41 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Forgot to add a reference to the ChangeLog of the</div><div class='del'>-	  previous commit.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 12:05:18 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: chmod/chmod_R with a string mode (e.g., "+x")</div><div class='del'>-	  caused error in verbose mode.  [Bug #7373]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 11:44:42 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/English.rb: Remove some confusing words from rdoc.  [Bug #7406]</div><div class='del'>-</div><div class='del'>-Sat Feb  2 10:17:12 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add keyword arguments.</div><div class='del'>-</div><div class='del'>-Sat Feb  2 07:45:44 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_curry): Fix arity check [Bug #5747]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: Test for above</div><div class='del'>-</div><div class='del'>-Sat Feb  2 07:44:15 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: Add {*}_min_max_arity and refactor.</div><div class='del'>-	  [Bug #7765]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: Fix wrong test</div><div class='del'>-</div><div class='del'>-Fri Feb  2 00:46:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c: add security considerations to marshal overview, refer to</div><div class='del'>-	  overview from Marshal.load documentation [#7759]</div><div class='del'>-</div><div class='del'>-Fri Feb  1 23:04:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dup): make returned array the same class as the original</div><div class='del'>-	  array [Bug #7768] [ruby-core:51792]</div><div class='del'>-	* test/ruby/test_array.rb (class TestArray): add test</div><div class='del'>-</div><div class='del'>-Fri Feb  1 16:35:34 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): prohibit setting instance variables of</div><div class='del'>-	  existing class/module.</div><div class='del'>-</div><div class='del'>-Fri Feb  1 14:34:29 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb, ext/readline/readline.c: check</div><div class='del'>-	  RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE directly in</div><div class='del'>-	  readline.c.  Patch by Zachary Scott.  [Bug #7397] [ruby-core:49561]</div><div class='del'>-</div><div class='del'>-Thu Jan 31 21:55:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_load): Add documentation warning against using</div><div class='del'>-	  Marshal.load on untrusted data [Bug #7759] [ruby-core:51765]</div><div class='del'>-</div><div class='del'>-Thu Jan 31 16:33:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (local_push_gen): no assigned but unused variable warnings</div><div class='del'>-	  in eval as well as -e.  [Feature #7730] [ruby-core:51580]</div><div class='del'>-</div><div class='del'>-Wed Jan 30 12:30:08 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_trap_puts): Fix typo. "sync"</div><div class='del'>-	  should be "STDOUT.sync".</div><div class='del'>-</div><div class='del'>-Thu Jan 31 15:39:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset_m): Documentation for String#[]= fix</div><div class='del'>-	  Raises an IndexError if Regexp match is out of range.</div><div class='del'>-	  Github fixes #243 Patch by Dmtiriy Budnik</div><div class='del'>-</div><div class='del'>-Thu Jan 31 13:54:44 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return</div><div class='del'>-	  sizeof(sa_family_t) if path is empty.  see "Autobind Feature" in</div><div class='del'>-	  unix(7) for details.</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an</div><div class='del'>-	  empty path as an abstract name.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 20:58:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getsockname): ignore truncated</div><div class='del'>-	  part of socket address.</div><div class='del'>-	  (bsock_getpeername): ditto.</div><div class='del'>-	  (bsock_local_address): ditto.</div><div class='del'>-	  (bsock_remote_address): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_path): ditto.</div><div class='del'>-	  (unix_addr): ditto.</div><div class='del'>-	  (unix_peeraddr): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (cloexec_accept): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 17:08:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (fstat): revert r37337, which uses _fstati64()</div><div class='del'>-	  instead of fstati64() on mingw32.  [Bug #7276]</div><div class='del'>-</div><div class='del'>-Wed Jan 30 15:26:37 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()</div><div class='del'>-	  because rb_sys_fail_str() fails if its argument contains NUL.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 15:21:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): show the most important message, Crash</div><div class='del'>-	  Report log information, first.</div><div class='del'>-</div><div class='del'>-Wed Jan 30 15:00:05 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_bsearch): Raise TypeError on bad return from block</div><div class='del'>-</div><div class='del'>-	* range.c (range_bsearch): ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (class): Test for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (class): ditto</div><div class='del'>-</div><div class='del'>-Wed Jan 30 14:46:28 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* range.c: Restrict bsearch to integers [#7728]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: Test for above</div><div class='del'>-</div><div class='del'>-Wed Jan 30 14:10:52 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_bsearch): Return enumerator if no block [#7725]</div><div class='del'>-</div><div class='del'>-	* range.c (range_bsearch): ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: Test for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Jan 30 13:53:43 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Take conjugate for inner product</div><div class='del'>-	  [rubyspec:5a01ad5719f2] [ruby-dev:46101]</div><div class='del'>-</div><div class='del'>-Wed Jan 30 13:22:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (local_push_gen): warn assigned but unused variables also in</div><div class='del'>-	  toplevel, except for -e option.  [Feature #7730] [ruby-core:51580]</div><div class='del'>-</div><div class='del'>-Wed Jan 30 13:17:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_thread): svar should be separate per fibers.</div><div class='del'>-	  [ruby-core:51331] [Bug #7678]</div><div class='del'>-</div><div class='del'>-Wed Jan 30 07:15:04 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_operand): Simplify and reuse error handling [Bug #7539]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: Test for above</div><div class='del'>-</div><div class='del'>-Wed Jan 30 07:00:16 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Improve error for failed implicit conversions [Bug #7539]</div><div class='del'>-</div><div class='del'>-	* error.c: Adapt rdoc</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: Test for above</div><div class='del'>-</div><div class='del'>-Tue Jan 29 21:40:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb (encode_multipart_form_data): remove</div><div class='del'>-	  tempfile explicitly.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 19:27:18 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Improve documentation about</div><div class='del'>-	  comparison by hash for concerned methods. [ruby-core:51266]</div><div class='del'>-</div><div class='del'>-Tue Jan 29 17:03:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: fix issue of rb_debug_inspector_open().</div><div class='del'>-	  The order of making binding should be stack (frame) top to bottom.</div><div class='del'>-	  [Bug #7635]</div><div class='del'>-	  And also fix issue of collecting klass. Collecting klass is same</div><div class='del'>-	  as TracePoint#defined_class.</div><div class='del'>-	  (previous version, it returns T_ICLASS (internal objects).</div><div class='del'>-</div><div class='del'>-	* test/-ext-/debug/test_debug.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/debug/extconf.rb, init.c, inspector.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: remove magic number and add enum CALLER_BINDING_*.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c, include/ruby/debug.h: add new C api (experimental)</div><div class='del'>-	  rb_debug_inspector_frame_self_get().</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h, vm_trace.c: move decl. of</div><div class='del'>-	  rb_vm_control_frame_id_and_class() and constify first parameter.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 16:50:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_enable, rb_tracepoint_disable): check safe</div><div class='del'>-	  level as well as set_trace_func.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (set_trace_func, thread_{add,set}_trace_func_m): check</div><div class='del'>-	  safe level as well as 1.8.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 16:49:19 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_method_arity): return original arity of the method if</div><div class='del'>-	  aliased because of visibility change, like as Method#arity.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 12:05:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: remove temporally files early.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_exception.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 29 09:26:20 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the</div><div class='del'>-	  correct address length of an abstract socket.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: related test.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 18:02:16 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_debug_inspector_frame_{class,binding,iseq}_get):</div><div class='del'>-	  use long as index as well as RARRAY_LEN().</div><div class='del'>-</div><div class='del'>-Mon Jan 28 17:51:38 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_separately): imply no core dump.</div><div class='del'>-</div><div class='del'>-Mon Jan 28 12:32:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/fcntl.c: update document.  use "file descriptor" instead</div><div class='del'>-	  of "file handle" because it is not used other Ruby documents and</div><div class='del'>-	  it is confusing with Windows file handle.</div><div class='del'>-	  correct F_DUPFD behavior.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 22:39:12 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump instance variables of the result of</div><div class='del'>-	  marshal_dump not the original object.  [ruby-core:51163] [Bug #7627]</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_marshal_dump): need to copy instance variables.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_marshal_dump): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 13:35:56 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/fcntl.c:  Document Fcntl constants</div><div class='del'>-</div><div class='del'>-Sat Jan 26 12:54:40 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_env_size):  Restored documentation for ENV.size</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb:  Documented DRb::DRb#run.</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (class ERB):  Improved documentation of ERb.</div><div class='del'>-</div><div class='del'>-	* transcode.c:  Documented Encoding::Converter constants.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 10:09:57 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb:  Improved WEBrick documentation.</div><div class='del'>-	* lib/webrick/cgi.rb:  ditto.</div><div class='del'>-	* lib/webrick/config.rb:  ditto.</div><div class='del'>-	* lib/webrick/cookie.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpauth/authenticator.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpauth/basicauth.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpproxy.rb:  ditto.</div><div class='del'>-	* lib/webrick/httprequest.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpresponse.rb:  ditto.</div><div class='del'>-	* lib/webrick/https.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpserver.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpservlet/prochandler.rb:  ditto.</div><div class='del'>-	* lib/webrick/httputils.rb:  ditto.</div><div class='del'>-	* lib/webrick/httpversion.rb:  ditto.</div><div class='del'>-	* lib/webrick/log.rb:  ditto.</div><div class='del'>-	* lib/webrick/server.rb:  ditto.</div><div class='del'>-	* lib/webrick/ssl.rb:  ditto.</div><div class='del'>-	* lib/webrick/utils.rb:  ditto.</div><div class='del'>-	* lib/webrick/version.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 08:29:33 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from</div><div class='del'>-	  rsock_unixpath_len, because it returns not the length of the path,</div><div class='del'>-	  but the length of a socket address for the path.</div><div class='del'>-</div><div class='del'>-Sat Jan 26 01:12:23 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_ioctl_linux): skip if a platform is</div><div class='del'>-	  not x86 because linux ioctl request number depend on cpu arch.</div><div class='del'>-	  At least, alpha, mips, sparc and ppc have a different number.</div><div class='del'>-	  [Bug #7718] [ruby-core:51544]</div><div class='del'>-</div><div class='del'>-Fri Jan 25 19:14:24 2013  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread)</div><div class='del'>-	  to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows</div><div class='del'>-	  XP or earlier.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 16:47:31 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),</div><div class='del'>-	  ext/socket/unixsocket.c (unixsock_connect_internal,</div><div class='del'>-	  rsock_init_unixsock): calculate the correct address length of</div><div class='del'>-	  an abstract socket.  Without this fix, sizeof(struct sockaddr_un)</div><div class='del'>-	  is specified as the length of an abstract socket for bind(2) or</div><div class='del'>-	  connect(2), so the address of the socket is filled with extra NUL</div><div class='del'>-	  characters.  See unix(7) for details.</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (unix_server_socket): don't access the</div><div class='del'>-	  file system if the platform is Linux and path starts with NUL,</div><div class='del'>-	  which means that the socket is an abstract socket.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: related test.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 13:02:27 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb:  Updated documentation based on patch from Vincent</div><div class='del'>-	  Batts.  [ruby-trunk - Bug #7714]</div><div class='del'>-	* lib/drb/ssl.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 12:23:29 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb:  Improved documentation by adding or hiding methods.</div><div class='del'>-	* lib/drb/eq.rb:  ditto.</div><div class='del'>-	* lib/drb/extserv.rb:  ditto.</div><div class='del'>-	* lib/drb/gw.rb:  ditto.</div><div class='del'>-	* lib/drb/invokemethod.rb:  ditto.</div><div class='del'>-	* lib/drb/observer.rb:  ditto.</div><div class='del'>-	* lib/drb/ssl.rb:  ditto.</div><div class='del'>-	* lib/drb/timeridconv.rb:  ditto.</div><div class='del'>-	* lib/drb/unix.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* sample/drb/gw_cu.rb:  Fixed bug in DRb gateway sample.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 12:01:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: modify a comment about rb_iseq_t::local_size.</div><div class='del'>-	  A patch by davidbalbert (David Albert) [Bug #6750]</div><div class='del'>-</div><div class='del'>-Fri Jan 25 10:36:31 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb:  Documented MakeMakefile constants.  Hide implementation</div><div class='del'>-	  details from RDoc</div><div class='del'>-</div><div class='del'>-Fri Jan 25 10:04:07 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/compatibility.rb:  Hide compatibility shims from RDoc</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb:  Hide RbConfig use from RDoc</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb:  Added note to use realpath when 1.8</div><div class='del'>-	  support is dropped.</div><div class='del'>-</div><div class='del'>-Fri Jan 25 09:14:43 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/darkfish.rb:  Fixed debug message.  RDoc bug #174</div><div class='del'>-	  by Thomas Leitner.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/store.rb:  Fixed deletion of ri attribute data when a class</div><div class='del'>-	  was loaded then saved.  RDoc bug #171 by Thomas Leitner.</div><div class='del'>-	* test/rdoc/test_rdoc_store.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 19:55:25 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (yaml): Write about bundled libyaml.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:54:34 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc:  Added a Method Lookup section.</div><div class='del'>-	* doc/syntax/refinements.rdoc (Method Lookup):  Clarified that</div><div class='del'>-	  refinement methods are looked up in classes, not instances.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:49:17 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_zip): Fix error message</div><div class='del'>-</div><div class='del'>-	* array.c (take_items): Same, for Array#zip</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:47:26 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_zip): raise error for bad arguments</div><div class='del'>-	  [Bug #7706]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 16:05:08 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Optimize Lazy#zip when passed only arrays</div><div class='del'>-	  [Bug #7706]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 15:21:17 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Fix state handling for Lazy#zip,{drop_take}{_while}</div><div class='del'>-	  [bug #7696] [bug #7691]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 11:43:47 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_current_dirname): Add documentation about "__dir__</div><div class='del'>-	  returns always an absolute path". [Bug #7729]</div><div class='del'>-</div><div class='del'>-Thu Jan 24 10:28:30 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (RDoc):  Added mention of page support and markdown support.</div><div class='del'>-</div><div class='del'>-Thu Jan 24 09:40:13 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc:  Added refinements document based on</div><div class='del'>-	  the specification from the wiki.</div><div class='del'>-	* doc/syntax.rdoc:  Added link to refinements document.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 16:29:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): fix missing</div><div class='del'>-	  initialization.  pointed out by phasis68 (Heesob Park) at</div><div class='del'>-	  [ruby-core:51579].  [Bug #7721]</div><div class='del'>-</div><div class='del'>-Wed Jan 23 16:18:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#try_constant): fix for large unsigned.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#try_constant): fix for larger constants.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_constant.rb: tests for try_constant.</div><div class='del'>-	  TODO: define check_constant and use it.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 13:35:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): ignore `STACK_END_ADDRESS'</div><div class='del'>-	  if Ruby interpreter is running on co-routine.</div><div class='del'>-	  [Feature #2294]</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/2294#note-18</div><div class='del'>-</div><div class='del'>-Wed Jan 23 12:28:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): check the results</div><div class='del'>-	  of acp_to_wstr() which can return NULL.  [ruby-core:51557] [Bug #7721]</div><div class='del'>-</div><div class='del'>-Wed Jan 23 10:40:49 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/assignment.rdoc (Implicit Array Assignment):  Clarify</div><div class='del'>-	  that "left-hand side" means "of the assignment".  Suggested by Jorge</div><div class='del'>-	  Dias.</div><div class='del'>-	* doc/syntax/assignment.rdoc (Multiple Assignment):  ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 10:34:47 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/assignment.rdoc (Local Variables and Methods):  Fixed</div><div class='del'>-	  example showing caching of a method's results into a local variable.</div><div class='del'>-	  Added not about using an explicit receiver to call a method that</div><div class='del'>-	  matches a local variable.  Suggested by markov_twain on twitter.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 10:20:08 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/README:  Fixed typo.  Patch by Pradeep Sahoo.</div><div class='del'>-	  Fixes #240 on github</div><div class='del'>-</div><div class='del'>-Wed Jan 23 09:53:39 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/servlet.rb:  Fixed display of site and home documentation.</div><div class='del'>-	  Fixes rdoc issue #170 by Thomas Leitner.</div><div class='del'>-	* test/rdoc/test_rdoc_servlet.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/code_object.rb:  Split #initialize_visibility from</div><div class='del'>-	  #initialize for reuse when loading a stored object.</div><div class='del'>-	  Fixes rdoc issue #171 by Thomas Leitner.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/any_method.rb:  Initialize visibility for #display?  For</div><div class='del'>-	  rdoc issue #171</div><div class='del'>-	* lib/rdoc/attr.rb:  ditto.</div><div class='del'>-	* lib/rdoc/class_module.rb:  ditto.</div><div class='del'>-	* lib/rdoc/top_level.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_any_method.rb:  Test for above.</div><div class='del'>-	* test/rdoc/test_rdoc_attr.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_class_module.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_constant.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_top_level.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Jan 23 06:43:26 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb:  Use Dir.tmpdir for rubygems tests instead</div><div class='del'>-	  of ./tmp/test.  Fixes [ruby-trunk - Bug #7717]</div><div class='del'>-</div><div class='del'>-Tue Jan 22 22:58:03 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-curlies): Fix the bug where</div><div class='del'>-	  an open curly inserted in a string is always replaced with a</div><div class='del'>-	  hash sign.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 15:41:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: BASERUBY is transient at core build.</div><div class='del'>-</div><div class='del'>-Mon Jan 21 13:51:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb ($extmk): traverse parent directories for the case</div><div class='del'>-	  srcdir is a symlink.</div><div class='del'>-</div><div class='del'>-Sun Jan 20 23:55:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, r_object0): separate respond_to checks and</div><div class='del'>-	  calling, and get back to the old behavior for 2.0.  [Bug #7564]</div><div class='del'>-</div><div class='del'>-Sun Jan 20 22:24:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vpath.rb (VPath#def_options): hack for msys make, which</div><div class='del'>-	  converts a command line argument to non-msys command seems like a</div><div class='del'>-	  path list automagically.  [Bug #7710] [ruby-core:51489]</div><div class='del'>-</div><div class='del'>-Sat Jan 19 11:35:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (Struct.new): Document Struct.new with block</div><div class='del'>-	  Patch by Hiroyuki Iwatsuki [Bug #7674]</div><div class='del'>-</div><div class='del'>-Sat Jan 19 09:52:46 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/miscellaneous.rdoc:  Added section on defined?</div><div class='del'>-</div><div class='del'>-Sat Jan 19 09:27:31 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/assignment.rdoc (Local Variables and Methods):  Made it</div><div class='del'>-	  more clear that local variables are created by the parser, not</div><div class='del'>-	  execution.  Thanks to John Hawthorn.</div><div class='del'>-</div><div class='del'>-Sat Jan 19 09:15:58 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/assignment.rdoc:  Improved links</div><div class='del'>-	* doc/syntax/methods.rdoc:  ditto.</div><div class='del'>-</div><div class='del'>-	* doc/syntax.rdoc:  Added link to assignment document</div><div class='del'>-</div><div class='del'>-Sat Jan 19 08:47:33 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/assignment.rdoc:  Added a syntax document on assignment.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 14:11:01 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc:  Added Array Decomposition.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 12:54:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories makes</div><div class='del'>-	  subdirectories group-writable, so make them with $dir_mode.</div><div class='del'>-</div><div class='del'>-Fri Jan 18 11:24:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_initialize): uninitialize OLE at thread</div><div class='del'>-	  ends.  [Bug #2618] [ruby-core:27634]</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_initialize): initialize OLE for each</div><div class='del'>-	  threads.  [Bug #2618] [ruby-core:27634]</div><div class='del'>-</div><div class='del'>-Thu Jan 17 22:10:35 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Remove</div><div class='del'>-	  .time dependency from *.rb install target. It causes needless</div><div class='del'>-	  *.rb install. [Bug #7698] [ruby-core:51437]</div><div class='del'>-	  Reported by Tadashi Saito. Thanks!!!</div><div class='del'>-	* test/rubygems/test_gem_installer.rb</div><div class='del'>-	  (TestGemInstaller#test_install_extension_and_script): Add a test</div><div class='del'>-	  for the above change.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 21:08:20 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: Fix a typo in ruby_finalize() documentation.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 20:28:18 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Typo in Kernel#hash documentation.</div><div class='del'>-	  Patch by zed_0xff [Github Fixes #237]</div><div class='del'>-</div><div class='del'>-Thu Jan 17 10:48:56 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: use constants rather than</div><div class='del'>-	  calculating Inf and NaN.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 10:21:05 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/miscellaneous.rdoc:  Added Ending an Expression and</div><div class='del'>-	  indentation.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 09:30:21 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb:  Untaint string when checking output</div><div class='del'>-	  for $SAFE=1</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Keep previously loaded specs as</div><div class='del'>-	  active.  This prevents double loading when refreshing the gem list.</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for above</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Bump version to 2.0.0.rc.2</div><div class='del'>-</div><div class='del'>-Thu Jan 17 09:08:37 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc:  Added ? : ternary if</div><div class='del'>-</div><div class='del'>-Thu Jan 17 08:36:04 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/miscellaneous.rdoc:  Added documentation for alias, undef,</div><div class='del'>-	  BEGIN, END.</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc (Constants):  Fixed unwrapped</div><div class='del'>-	  paragraph with trailing whitespace.</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc (Scope):  Added section pointing</div><div class='del'>-	  to alias and undef documentation.</div><div class='del'>-	* doc/syntax.rdoc:  Added link to miscellaneous section.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 07:50:26 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc (Flip-Flop):  Added a section on</div><div class='del'>-	  the flip-flop.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 06:59:51 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc (if Expressions):  Fixed markup</div><div class='del'>-	  error.  Fixes #235 on github by FlyingFoX.</div><div class='del'>-</div><div class='del'>-Thu Jan 17 06:53:58 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc (Strings):  Fixed typo.  Fixes #236 on</div><div class='del'>-	  github by Doug Yun.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 18:45:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/lib/win32ole.rb: use TracePoint to hook all thread</div><div class='del'>-	  creation not only by Thread.new and to get rid of interference with</div><div class='del'>-	  svar scope.  [Bug #7681] [ruby-core:51365]</div><div class='del'>-</div><div class='del'>-Wed Jan 16 09:35:53 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* .document:  Removed extra space</div><div class='del'>-	* lib/irb/lc/.document:  Hide help-message</div><div class='del'>-	* lib/minitest/.document:  Hide README.txt</div><div class='del'>-	* lib/rake/lib/.document:  Hide project.rake</div><div class='del'>-	* lib/rdoc/generator/template/json_index/.document:  Hide JavaScript</div><div class='del'>-	  files</div><div class='del'>-	* lib/rubygems/ssl_certs/.document:  Hide PEM files.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 03:54:28 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc:  Omit optional "then" for if and</div><div class='del'>-	  unless expressions.  Improved description of "a if a = 0.zero?"</div><div class='del'>-	  NameError.  Note that "do" for for loop is optional.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 03:28:47 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc:  Link to defining methods.</div><div class='del'>-	* doc/syntax/methods.rdoc:  Link to calling methods, fixed typo.</div><div class='del'>-</div><div class='del'>-Wed Jan 16 03:15:00 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc:  Fixed link</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc:  Fixed link</div><div class='del'>-	* doc/syntax.rdoc:  Updated with links to the recently added pages</div><div class='del'>-</div><div class='del'>-Wed Jan 16 03:05:50 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc (redo Statement):  Added note</div><div class='del'>-	  about retry.</div><div class='del'>-	* doc/syntax/exceptions.rdoc:  Added retry statement</div><div class='del'>-</div><div class='del'>-Tue Jan 15 23:12:34 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vpath.rb (VPath#list): default separator to PATH_SEPARATOR from</div><div class='del'>-	  configure.in for make, not same name constant of File for use in ruby.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 22:30:04 2013  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/save-history.rb: identify rightly a status of a</div><div class='del'>-	  history file that already exists [Bug #7694]. Thanks Nobuhiro IMAI</div><div class='del'>-	  for this patch.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 15:55:28 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc:  Added description of control</div><div class='del'>-	  expressions in ruby.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 13:33:00 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc (Method Names):  Added method names including</div><div class='del'>-	  operator methods.</div><div class='del'>-	* doc/syntax/methods.rdoc (Return Values):  Added note that assignment</div><div class='del'>-	  methods ignore return values.</div><div class='del'>-	* doc/syntax/precedence.rdoc:  Added document describing precedence.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 11:49:31 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc (Block Argument):  Added section on block</div><div class='del'>-	  argument.  Thanks to Andy Lindeman.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 10:54:59 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Arguments):  Added improved</div><div class='del'>-	  introduction to arguments including passing style and lazy</div><div class='del'>-	  evaluation.  Thanks to Matt Aimonetti.</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Positional Arguments):  Added</div><div class='del'>-	  description for sending a message to a method with *arguments</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Default Positional Arguments):</div><div class='del'>-	  Added description.  Thanks to Andy Lindeman.</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Block Local Arguments):</div><div class='del'>-	  Added description of block locals.  Thanks to Justin Collins.</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Hash to Keyword Arguments):  Added</div><div class='del'>-	  section describing ** operator.  Thanks  to Justin Collins.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 10:40:18 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* test_lazy_enumerator: Test that map &amp; flat_map also require a block</div><div class='del'>-</div><div class='del'>-Tue Jan 15 09:22:47 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_init): Reset gvl.wait_yield explicitly when</div><div class='del'>-	  fork()ing. Patch by Apollon Oikonomopoulos. Thanks!</div><div class='del'>-	  [Bug #7693][ruby-core:51424]</div><div class='del'>-</div><div class='del'>-Tue Jan 15 09:27:56 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Receiver):  Added :: as pointed out</div><div class='del'>-	  by Tony Arcieri</div><div class='del'>-	* doc/syntax/calling_methods.rdoc (Block Argument):  Fixed { } block</div><div class='del'>-	  examples as pointed out by David Copeland.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 09:10:29 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc (Array/Hash Argument):  Moved above Keyword</div><div class='del'>-	  Arguments</div><div class='del'>-	* doc/syntax/methods.rdoc (Keyword Arguments):  Described ** for</div><div class='del'>-	  gathering arbitrary keyword arguments.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 08:56:37 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc:  Added document describing method</div><div class='del'>-	  calls.</div><div class='del'>-</div><div class='del'>-Tue Jan 15 07:39:21 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/top_level.rb:  Fixed extension trimming for page names in</div><div class='del'>-	  RDoc HTML output.  [ruby-trunk - Bug #7673]</div><div class='del'>-	* test/rdoc/test_rdoc_top_level.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 23:06:41 2013  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/save-history.rb: outputs its history to</div><div class='del'>-	  owner-only-readable file and change the permission of a file that</div><div class='del'>-	  already exists [Bug #7694]. Thanks Nobuhiro IMAI for bug reports.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 17:12:48 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_flat_map_func): flat_map should call each only</div><div class='del'>-	  when the value of a block returns a forcable object.</div><div class='del'>-	  [ruby-core:51401] [Bug #7690]</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_flat_map): add documentation.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb: related test.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 16:42:28 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Require block for Lazy#{take|drop}_while [Bug #7692]</div><div class='del'>-</div><div class='del'>-Mon Jan 14 14:41:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 14:39:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of</div><div class='del'>-	  `TYPE(x) == t`.</div><div class='del'>-</div><div class='del'>-Mon Jan 14 10:18:56 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Fix size for Enumerator::Lazy#flat_map</div><div class='del'>-</div><div class='del'>-Mon Jan 14 07:12:52 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix/lup_decomposition: Fix bugs with LUP Decomposition of</div><div class='del'>-	  rectangular matrices. [rubyspec:ba849801a85]</div><div class='del'>-</div><div class='del'>-Mon Jan 14 06:46:53 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_ctype_to_cc): don't check dup warn on adding</div><div class='del'>-	  negative ctype to cclass. [Bug #7471] [ruby-core:50344]</div><div class='del'>-</div><div class='del'>-Mon Jan 14 06:06:03 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix/eigenvalue_decomposition: Backport bugfix of Jama 1.0.3</div><div class='del'>-	  [rubyspec:df87040be371]</div><div class='del'>-</div><div class='del'>-Sun Jan 13 16:45:00 2013  Zachary Scott &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs</div><div class='del'>-	  [Github tenderlove/psych#118]</div><div class='del'>-</div><div class='del'>-Sun Jan 13 15:00:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_sub):</div><div class='del'>-	  need to specify precision for converting Rational and Float.</div><div class='del'>-	  [ruby-dev:46544] [Bug #7404]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes.</div><div class='del'>-</div><div class='del'>-Sun Jan 13 14:48:55 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix/eigenvalue_decomposition: Fix eigensystem with complex</div><div class='del'>-	  eigenvectors. Patch by pypypy567.</div><div class='del'>-	  [Bug #7208] [ruby-dev:46251] [rubyspec:242f8e55bd]</div><div class='del'>-</div><div class='del'>-	* lib/matrix/lup_decomposition.rb: Fix error for rectangular matrices</div><div class='del'>-	  [bug#7620] [ruby-core:51118] [rubyspec:41f833ee2]</div><div class='del'>-</div><div class='del'>-Sun Jan 13 14:06:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb, lib/prime.rb: Typos in overview</div><div class='del'>-	  Patch by Ershad K [Github Fixes #234]</div><div class='del'>-</div><div class='del'>-Sun Jan 13 13:40:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb : Typo in Open3 overview. Patch by zed_0xff</div><div class='del'>-	  [Github Fixes #233]</div><div class='del'>-</div><div class='del'>-Sat Jan 12 17:42:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (do_coerce): fix for the exceptions which the coerce</div><div class='del'>-	  method raises.  The optimization done by r38756 is preserved.</div><div class='del'>-	  [Bug #7645] [ruby-core:51213]</div><div class='del'>-</div><div class='del'>-Sat Jan 12 16:12:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak (-runtime-): see msvcrt from link header on mswin</div><div class='del'>-	  instead of running testing executable file, for cross compiling.</div><div class='del'>-</div><div class='del'>-Sat Jan 12 08:58:47 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that</div><div class='del'>-	  contain something besides a hash should be left in tact.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_merge_keys.rb: test for change</div><div class='del'>-</div><div class='del'>-Sat Jan 12 07:52:47 2013  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_set_byref): support VT_UI8|VT_BYREF,</div><div class='del'>-	  VT_I8|VT_BYREF in cygwin and mingw.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_variant2val): ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 12 02:45:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1 (options): include --*-encoding from r38784</div><div class='del'>-</div><div class='del'>-Fri Jan 11 23:34:48 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): sort --*-encoding in help. (same order of -E)</div><div class='del'>-</div><div class='del'>-Fri Jan 11 16:56:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: use configured libdir value to fix</div><div class='del'>-	  --enable-load-relative on systems where libdir is not default value,</div><div class='del'>-	  overridden in config.site files.  [ruby-core:47267] [Bug #6903]</div><div class='del'>-</div><div class='del'>-Fri Jan 11 11:59:32 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (dispose_string): use rb_str_free for freeing string in</div><div class='del'>-	  parse.y. by Sokolov Yura &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/87 fix GH-87</div><div class='del'>-</div><div class='del'>-Fri Jan 11 09:56:22 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): private constants should not be accessed</div><div class='del'>-	  by scoped module definitions.  The bug was introduced in r38495.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: related test.</div><div class='del'>-</div><div class='del'>-Fri Jan 11 02:11:59 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rbconfig/obsolete.rb (respond_to_missing?): use send because</div><div class='del'>-	  RbConfig.respond_to_missing? is now private.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 22:00:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_DEBUG_BP_CHECK): set 0 as default.</div><div class='del'>-	  This flag specifies checking BP consistency on each frame popping.</div><div class='del'>-	  Now, we don't have any trouble on it, so I remove it.</div><div class='del'>-	  If you feel any bugs about VM execution, then set it to 1.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 21:03:05 2013 TAKANO `takano32' Mitsuhiro &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: define FIBER_USE_NATIVE as 0 in ia64.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 19:39:05 2013  TAKANO `takano32' Mitsuhiro &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: fix RB_GC_SAVE_MACHINE_REGISTER_STACK define for ia64.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 17:45:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub ($(MKFILES)): continue if Makefile</div><div class='del'>-	  unchanged.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 16:31:20 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): raise a TypeError</div><div class='del'>-	  instead of a NotImplementedError if self is not an instance of the</div><div class='del'>-	  current class.  [ruby-dev:39772] [Bug #2402]</div><div class='del'>-</div><div class='del'>-Thu Jan 10 16:47:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb (find_tcltk_header): use have_header instead of</div><div class='del'>-	  try_cpp, which is incredibly slow with VC.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 15:55:28 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (do_coerce): remove an unused variable.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 15:35:55 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/gen_dummy_probes.rb: remove comments in probes.d to fix the</div><div class='del'>-	  compilation error introduced by r38755.</div><div class='del'>-</div><div class='del'>-Thu Jan 10 11:15:04 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (do_coerce): speed optimization by using rb_check_funcall</div><div class='del'>-	  instead of rb_rescue + rb_funcall.</div><div class='del'>-	  This fix is based on the patch by Benoit Daloze.</div><div class='del'>-	  [Bug #7645] [ruby-core:51213]</div><div class='del'>-</div><div class='del'>-Thu Jan 10 11:15:04 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* probes.d: updating probes to be more symmetrical, adding</div><div class='del'>-	  documentation.</div><div class='del'>-</div><div class='del'>-	* load.c: ditto</div><div class='del'>-</div><div class='del'>-Thu Jan 10 04:23:07 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from</div><div class='del'>-	  floats so that Float() will not raise an exception.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_numeric.rb: test to ensure "1." can be loaded</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: make sure "1." can round trip</div><div class='del'>-</div><div class='del'>-Thu Jan 10 03:38:40 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings</div><div class='del'>-	  will be dumped as unicode.  Thanks Paul Kunysch!</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: appropriate test</div><div class='del'>-</div><div class='del'>-Thu Jan 10 03:29:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): modify wrong optimization.</div><div class='del'>-	  A script "[print(1)]; print(2)" should output "12".</div><div class='del'>-	  However, the compiler had eliminated "[print(1)]" expression</div><div class='del'>-	  because it is void expression (unused array).</div><div class='del'>-	  Of course, side-effect should be remained.</div><div class='del'>-	  This issue is reported by Masaya Tarui.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 22:07:42 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): if thread shield is destroyed and there is no</div><div class='del'>-	  waiting thread, insert new thread shield into load_table.</div><div class='del'>-	  [Bug #7530] [ruby-core:50645]</div><div class='del'>-</div><div class='del'>-Wed Jan  9 21:43:32 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): revert r38744. it should acquire new thread</div><div class='del'>-	  shield.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 15:40:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init, ruby_thread_init): initialize root_svar with Qnil,</div><div class='del'>-	  since lep_svar_place() expects uninitialized svar to be nil, not 0.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 13:20:23 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: improve test for r38744.</div><div class='del'>-	  fix to use Tempfile instead of temporary file in current directory.</div><div class='del'>-	  the patch is from nobu (Nobuyoshi Nakada).</div><div class='del'>-</div><div class='del'>-Wed Jan  9 09:53:23 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): fix not to delete thread shield twice.</div><div class='del'>-	  it may break the shield locked by another thread.</div><div class='del'>-	  [Bug #7530] [ruby-core:50645]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: a test for above.</div><div class='del'>-</div><div class='del'>-Wed Jan  9 02:13:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RBasic): to be aligned on a VALUE size</div><div class='del'>-	  boundary.  [Bug #7647]</div><div class='del'>-</div><div class='del'>-Tue Jan  8 14:41:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_iseq_t): move flip_cnt from struct iseq_compile_data,</div><div class='del'>-	  because it has same life span as enclosing iseq.  [Bug #7671]</div><div class='del'>-	  [ruby-core:51296]</div><div class='del'>-</div><div class='del'>-Mon Jan  7 23:43:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal):</div><div class='del'>-	  add RB_GC_GUARD to prevent the intermediate object is GCed too early.</div><div class='del'>-	  This patch was made by Yusuke Endoh.  [Bug #7044] [ruby-core:47632]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add a reproduction test for</div><div class='del'>-	  the issue [Bug #7044]</div><div class='del'>-</div><div class='del'>-Mon Jan  7 21:40:36 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_eval_method): main.public and main.private</div><div class='del'>-	  should be private.</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): main.define_method should be private.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: related test.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 20:48:47 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): main.include should be private.</div><div class='del'>-	  [ruby-core:51293] [Bug #7670]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_top_include_is_private): a new test</div><div class='del'>-	  for the above change.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 20:29:50 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: remove description about `require "refinement"'.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 20:15:49 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): enable Refinements by default.</div><div class='del'>-	  [ruby-core:51286] [Bug #7667]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine, top_using): show a warning when</div><div class='del'>-	  Module#refine or main.using is called at the first time.</div><div class='del'>-</div><div class='del'>-	* ext/refinement/*: removed the extension library "refinement".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: fix for the above changes.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 17:34:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_EVENT_SPECIFIED_LINE): make it special.</div><div class='del'>-	  This flag is not contained by RUBY_EVENT_TRACEPOINT_ALL.</div><div class='del'>-	  This event is experimental one. It is possible to remove/rename</div><div class='del'>-	  flag name after 2.0.1.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (get_event_id): return :line if SPECIFIED_LINE was</div><div class='del'>-	  occurred. `:specified_line' never been returned.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:42:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_kwrest): allow bare kwrest_mark as valid syntax.  its</div><div class='del'>-	  semantics is still undefined.  [Bug #7662] [ruby-core:51269]</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:31:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_kwrest): reject duplicated kwrest argument name.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:24:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks_orig): pop tag before</div><div class='del'>-	  JUMP_TAG() if frame is `finish' frame.</div><div class='del'>-	  Without this patch, there is an inconsistency between control</div><div class='del'>-	  frame stack and tags stack.</div><div class='del'>-	  [Bug #7668]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 15:21:48 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (fake, yes-fake, no-make): these dependencies</div><div class='del'>-	  are not platform dependent.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(arch)-fake.rb): workaround.</div><div class='del'>-</div><div class='del'>-Mon Jan  7 12:09:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):</div><div class='del'>-	  set keyrest hash after making rest array, so that the last element</div><div class='del'>-	  will not be overwritten.  [ruby-core:51278] [Bug #7665]</div><div class='del'>-</div><div class='del'>-Mon Jan  7 09:37:24 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a NEWS entry about RubyVM.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 19:06:57 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: Fix build with VC.</div><div class='del'>-	  Patch by Charlie Savage. Fixes [ruby-core:51261]</div><div class='del'>-</div><div class='del'>-Sun Jan  6 18:43:48 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb: add a test for [ruby-dev:46834].</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when</div><div class='del'>-	  fcntl(2) and/or F_DUPFD is unavailable.</div><div class='del'>-	  Suggested by akr.</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).</div><div class='del'>-</div><div class='del'>-Sun Jan  6 11:11:26 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc:  Fixed typo.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 05:35:18 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc:  Added singleton classes</div><div class='del'>-	  documentation.</div><div class='del'>-</div><div class='del'>-Sun Jan  6 02:22:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/abstract.rb (WEBrick::HTTPServlet): Typo in</div><div class='del'>-	  example. Patch by shlensky [Fixes #232 on github]</div><div class='del'>-</div><div class='del'>-Sat Jan  5 21:15:10 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb:</div><div class='del'>-	  Amazon ECA API and GTE/1.3 disallow requests whose host has port</div><div class='del'>-	  number if its port number equals to default port number of the</div><div class='del'>-	  scheme. [Bug #7650]</div><div class='del'>-</div><div class='del'>-Sat Jan  5 13:58:59 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc:  Improved description of methods</div><div class='del'>-	  on a module or class as suggested by Tobias Buhlmann</div><div class='del'>-</div><div class='del'>-Sat Jan  5 13:38:07 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_lines): fix invalid byte sequence error</div><div class='del'>-	  when a separator is passed. The patch is from yoshidam (Yoshida</div><div class='del'>-	  Masato).</div><div class='del'>-	  [Bug #7646] [ruby-dev:46827]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: a test for above.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 12:25:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):</div><div class='del'>-	  check stdout and stderr both.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 10:21:54 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/modules_and_classes.rdoc:  Added documentation of syntax</div><div class='del'>-	  for Modules and Classes.</div><div class='del'>-	* doc/syntax/methods.rdoc:  Moved some text to the Modules and</div><div class='del'>-	  Classes syntax document.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 08:38:27 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc:  Added return values and scope sections,</div><div class='del'>-	  slightly modified from the original patch.  Fixes #227 from github by</div><div class='del'>-	  Dave Brown.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 08:21:41 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd): improve #ifdef condition.</div><div class='del'>-	* io.c (rb_maygvl_fd_fix_cloexec): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 07:54:59 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/cleanup_command.rb:  Clean all possible gems</div><div class='del'>-	  using multiple passes.  Fixes RubyGems bug #422.  Refactored for</div><div class='del'>-	  maintainability.</div><div class='del'>-	* test/rubygems/test_gem_commands_cleanup_command.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Sat Jan  5 05:04:39 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_xrealloc): add a few comment why we avoid realloc(ptr,0).</div><div class='del'>-</div><div class='del'>-Fri Jan  4 20:17:06 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (RBCONFIG): Moved from common.mk in order to use the</div><div class='del'>-	  variable in Makefile.in.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (RBCONFIG): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 19:45:50 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (run, parse): Use BTESTRUBY instead of MINIRUBY to handle</div><div class='del'>-	  cross-compiling cases, e.g. NativeClient.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 17:58:16 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (yes-btest): btest depends on also $(arch)-fake.rb and</div><div class='del'>-	  rbconfig.rb on building for NativeClient.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross</div><div class='del'>-	  compiling.</div><div class='del'>-</div><div class='del'>-	* configure.in (CROSS_COMPILING): New substitution.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 16:26:45 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/doctor.rb:  Process directories in order in case the</div><div class='del'>-	  filesystem doesn't.  [ruby-trunk - Bug #7618]</div><div class='del'>-</div><div class='del'>-	  Process specifications before other directories in case of bugs.</div><div class='del'>-	* test/rubygems/test_gem_doctor.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Updated version.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_require.rb:  Fixed double require of</div><div class='del'>-	  benchmark.rb.  RubyGems bug #420.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_check_command.rb:  Fixed unused</div><div class='del'>-	  variable warnings.</div><div class='del'>-	* test/rubygems/test_gem_commands_query_command.rb:  ditto</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  ditto</div><div class='del'>-</div><div class='del'>-Fri Jan  4 15:05:25 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/cross_reference.rb:  Fixed matching of C#=== or #===.  RDoc</div><div class='del'>-	  bug #164</div><div class='del'>-	* test/rdoc/test_rdoc_cross_reference.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/changelog.rb:  Fixed parsing of dates.  RDoc bug #165</div><div class='del'>-	* test/rdoc/test_rdoc_parser_changelog.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb:  Fixed parsing multibyte files with incomplete</div><div class='del'>-	  characters at byte 1024.  [ruby-trunk - Bug #6393]</div><div class='del'>-	  Fixed handling of -E.  [ruby-trunk - Bug #6392]</div><div class='del'>-	* test/rdoc/test_rdoc_options.rb:  Test for above.</div><div class='del'>-	* test/rdoc/test_rdoc_parser.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_c.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_changelog.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_markdown.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_rd.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_rdoc.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/tom_doc.rb:  Fixed parsing of [] in TomDoc arguments list.</div><div class='del'>-	  RDoc bug #167</div><div class='del'>-	* test/rdoc/test_rdoc_tom_doc.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Update version.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 11:51:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb: Fix rdoc parameters for ::def_single_delegator.</div><div class='del'>-	  Patch by Vladimir Andrijevik [Github Fixes #230]</div><div class='del'>-</div><div class='del'>-Fri Jan  4 00:35:11 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	Fix failures on btest for NativeClient.</div><div class='del'>-	* bootstraptest/runner.rb (nacl?): New method to distinguish NaCl</div><div class='del'>-	  cross build.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb: Skip unsupported operations.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan  4 00:29:40 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd): Fix failures in</div><div class='del'>-	  bootstrap_test/test_io.rb.  NativeClient does not support F_DUPFD</div><div class='del'>-	  but supports dup2(2).</div><div class='del'>-</div><div class='del'>-Thu Jan  3 17:46:50 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/element.rb (REXML::Elements#add): Remove too much</div><div class='del'>-	  "elements" in document. Sorry...</div><div class='del'>-</div><div class='del'>-Thu Jan  3 17:42:32 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/element.rb (REXML::Elements#each): Add missing</div><div class='del'>-	  "elements" in document. [ruby-talk:402713]</div><div class='del'>-	  Reported by Wesley Rishel. Thanks!!!</div><div class='del'>-</div><div class='del'>-Thu Jan  3 15:13:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb (Psych.load): Return value of</div><div class='del'>-	  Psych::SyntaxError.message should be same as example.</div><div class='del'>-	  Patch by Ippei Obayashi [ruby-core:51193] [Bug #7636]</div><div class='del'>-</div><div class='del'>-Thu Jan  3 14:58:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (SingleForwardable): Fix example in overview</div><div class='del'>-	  Patch by Vladimir Andrijevik [Github Fixes #231]</div><div class='del'>-</div><div class='del'>-Thu Jan  3 14:32:47 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (OBJCOPY):  Fixes build error for NativeClient.</div><div class='del'>-	  Avoid disabling OBJCOPY for NativeClient.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_reserved_fd_p): USE_SLEEPY_TIMER_THREAD is</div><div class='del'>-	  always defined.  Fixes compilation error for NativeClient.</div><div class='del'>-</div><div class='del'>-Wed Jan 02 03:09:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Zlib::GzipReader): Fix typo by zed_0xff</div><div class='del'>-	  [Fixes Github #229]</div><div class='del'>-</div><div class='del'>-Wed Jan 02 02:29:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update): Revert documentation from r38672</div><div class='del'>-	  See: https://github.com/ruby/ruby/pull/228#issuecomment-11791013</div><div class='del'>-</div><div class='del'>-Wed Jan 02 02:16:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update): Documentation for Hash#merge and shallow</div><div class='del'>-	  copies Patch by Yorick Peterse [Fixes Github #228]</div><div class='del'>-</div><div class='del'>-Mon Dec 31 15:10:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: Add documentation for Kernel#caller_locations,</div><div class='del'>-	  Kernel#caller, and Thread::Backtrace::Location</div><div class='del'>-</div><div class='del'>-Mon Dec 31 13:05:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: Add test for r37957 [Feature #7434]</div><div class='del'>-</div><div class='del'>-Sun Dec 30 23:33:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (simple_re_meta): escaped closing parenthesis has different</div><div class='del'>-	  meaning.  [Bug #7610] [ruby-core:51088]</div><div class='del'>-</div><div class='del'>-Sun Dec 30 12:09:47 2012  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use 4 argument form of AC_CHECK_HEADERS to force</div><div class='del'>-	  autoconf to use compiler's result</div><div class='del'>-</div><div class='del'>-Sun Dec 30 10:58:04 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add a test for passing hash</div><div class='del'>-	  as a last argument. [ruby-dev:46712] [Bug #7529]</div><div class='del'>-</div><div class='del'>-Sun Dec 30 10:51:29 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: set keyword hash on Proc/block calls.</div><div class='del'>-	  [ruby-core:51172] [Bug #7630]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sat Dec 29 21:57:11 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: treat rightly completion for symbol on irb</div><div class='del'>-	  [Bug #7632].</div><div class='del'>-</div><div class='del'>-Sat Dec 29 21:51:30 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_cury, window_curx, window_maxy,</div><div class='del'>-	  window_maxx, window_begy, window_begx): use RB_UNUSED_VAR()</div><div class='del'>-	  to suppress unused-but-set-variable warnings.</div><div class='del'>-</div><div class='del'>-Sat Dec 29 16:45:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (RubyVM::InstructionSequence): rdoc formatting</div><div class='del'>-</div><div class='del'>-Sat Dec 29 15:28:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (RubyVM::InstructionSequence):	Add rdoc for new iseq features</div><div class='del'>-	  added from r38085, this includes ::of, #path, #absolute_path,</div><div class='del'>-	  #label, #base_label, #first_lineno, and #inspect</div><div class='del'>-</div><div class='del'>-Sat Dec 29 14:06:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_line_trace_all, rb_iseq_line_trace_specify): Add</div><div class='del'>-	  rdoc for experimental C level api of iseq, from r38076</div><div class='del'>-</div><div class='del'>-Sat Dec 29 11:37:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): attach clone to its singleton class during</div><div class='del'>-	  cloning singleton class so that singleton_method_added will be called</div><div class='del'>-	  on it.  based on the patch by shiba (satoshi shiba)[Bug #5283] in</div><div class='del'>-	  [ruby-dev:44477].  [Bug #5283]</div><div class='del'>-</div><div class='del'>-Sat Dec 29 10:10:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (crt_externs.h): use standard macro AC_CHECK_HEADERS.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 23:12:44 2012  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for the whether crt_externs.h is present when compiling</div><div class='del'>-	  for darwin (this header is missing in the iOS SDK)</div><div class='del'>-	* eval_intern.h: check HAVE_CRT_EXTERNS_H before including crt_externs.h, if</div><div class='del'>-	  not defined, include missing/crt_externs.h instead</div><div class='del'>-	* hash.c: ditto</div><div class='del'>-	* missing/setproctitle.c: ditto</div><div class='del'>-	* missing/crt_externs.h: declare _NSGetEnviron() function and define environ</div><div class='del'>-	  for iOS</div><div class='del'>-</div><div class='del'>-Fri Dec 28 21:40:36 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb: IRB::Context#new: Check from JobManager</div><div class='del'>-	  inside IRB namespace [Bug #7628]. Thanks rafaelfranca for bug</div><div class='del'>-	  report and its patch.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 17:06:17 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-curlies): Automatically</div><div class='del'>-	  indent closing curly brackets when</div><div class='del'>-	  ruby-electric-newline-before-closing-bracket is true.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 11:50:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): pass single argument to</div><div class='del'>-	  single optional parameter unchanged without splatting.  [Bug #7621]</div><div class='del'>-	  [ruby-dev:46801]</div><div class='del'>-</div><div class='del'>-Fri Dec 28 11:17:47 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_eq): fix the documentation to refer to owner.</div><div class='del'>-	  [ruby-core:51105] [Bug #7613]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb (test_alias_onwer): new test to confirm</div><div class='del'>-	  that `a == b' returns false if owners of a and b are different.</div><div class='del'>-</div><div class='del'>-Fri Dec 28 07:07:43 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* def/id.def: use split(/^/) instead of String#lines to support</div><div class='del'>-	  Ruby 1.8.5 as BASERUBY.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 21:56:56 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_remove_const): fix segv caused by r38558.</div><div class='del'>-</div><div class='del'>-Tue Dec 28 01:13:48 2012  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Added more Hash methods to CSV::Row.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 23:27:15 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: make lex_state to EXPR_END when next token</div><div class='del'>-	  is an operator after SYMBEG [Bug #6378].</div><div class='del'>-</div><div class='del'>-Thu Dec 27 21:30:21 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: allow to handle recursive heredocs on</div><div class='del'>-	  irb[Bug #5648].</div><div class='del'>-</div><div class='del'>-Thu Dec 27 20:45:29 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): fix not to raise TypeError</div><div class='del'>-	  when limit is nil.</div><div class='del'>-	  [Bug #7232] [ruby-core:48531]</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb: a test for above.</div><div class='del'>-</div><div class='del'>-Thu Dec 27 21:08:23 2012  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_DEFINECLASS_TYPE): explicit cast to enum type to avoid 64-&gt;32</div><div class='del'>-	  shorten warning</div><div class='del'>-</div><div class='del'>-Thu Dec 27 20:11:29 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetc): raise IOError instead of RuntimeError</div><div class='del'>-	  if the string is frozen.</div><div class='del'>-	  [Bug #7231] [ruby-core:48530]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetbyte): ditto.</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb: a test for above.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 23:55:18 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb: fix IRB::Inspector#keys_with_inspector [Bug #7598]</div><div class='del'>-</div><div class='del'>-Wed Dec 26 23:26:15 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb: IRB::Context#use_readline= has been obsolete</div><div class='del'>-	  [Bug #6339].</div><div class='del'>-</div><div class='del'>-Wed Dec 26 21:32:46 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb: make a correct prompt from</div><div class='del'>-	  IRB.conf[:IRB_NAME] on irb [Bug #6338]. Patched by sho-h.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 21:09:19 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/math-mode.rb: make not able to change math-mode</div><div class='del'>-	  after irb starting [Bug #6302]. Patched by sho-h.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 12:52:36 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb: change default debug level for</div><div class='del'>-	  irb[ruby-dev:46805], [Bug #6301].</div><div class='del'>-</div><div class='del'>-Wed Dec 26 11:54:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: enable -fPIE when checking -pie for fixing</div><div class='del'>-	  OpenBSD build error. Patch by George Koehler. Thank you!</div><div class='del'>-	  [Bug #7606] [ruby-core:51082]</div><div class='del'>-</div><div class='del'>-Wed Dec 26 07:31:24 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_copy_for_substr): empty string is always</div><div class='del'>-	  valid or 7bit.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_lines, rb_str_chop): reduce duplicated</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars): prevent shared copy from GC.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 01:31:16 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb, lib/irb/context.rb: fix conf.debug_level=</div><div class='del'>-	  [Bug #6301] and fix irb command option: -- irb_debug_level for irb.</div><div class='del'>-</div><div class='del'>-Wed Dec 26 00:59:18 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: improve RubyLex performance for large files</div><div class='del'>-	  [Bug #5202]. Patch by ryanmelt.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:21:06 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/output-method.rb: raise right exception when</div><div class='del'>-	  IRB::OutputMethod#print don't defined [Bug #6657].</div><div class='del'>-</div><div class='del'>-Tue Dec 25 22:06:33 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks_and_pop_frame):</div><div class='del'>-	  pop a frame before JUMP_TAG() if exception occurred.</div><div class='del'>-	  This change fix bug of Ruby 1.9.</div><div class='del'>-	  [ruby-core:51128] [ruby-trunk - Bug #7624]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (EXEC_EVENT_HOOK_AND_POP_FRAME): add to use</div><div class='del'>-	  `rb_threadptr_exec_event_hooks_and_pop_frame()'.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): use EXEC_EVENT_HOOK_AND_POP_FRAME() while</div><div class='del'>-	  exception handling. While exception handling, if an exception</div><div class='del'>-	  is raised in hooks, need to pop current frame and raise this</div><div class='del'>-	  raised exception by hook.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 21:08:53 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb, lib/irb/lc/ja/error.rb, lib/irb/lc/error.rb:</div><div class='del'>-	  raise exception when illegal RC_NAME_GENERATOR defined [Bug #6455].</div><div class='del'>-</div><div class='del'>-Tue Dec 25 19:22:17 2012  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/workspace.rb: define method to private on top-level irb</div><div class='del'>-	  [Bug #5776]. Patch by davidbalbert.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 19:09:51 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c, include/ruby/intern.h (rb_big_eql): exported.</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on</div><div class='del'>-	  LLP64.  see also r38493 and r38548.</div><div class='del'>-	  reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched</div><div class='del'>-	  by shirosaki at [ruby-core:51095]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 18:53:35 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, eval_intern.h (CHECK_STACK_OVERFLOW): move</div><div class='del'>-	  CHECK_STACK_OVERFLOW() to vm_core.h and rename to</div><div class='del'>-	  CHECK_VM_STACK_OVERFLOW().</div><div class='del'>-	  This change is only move and rename.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: catch up above changes.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_stackoverflow): add a function to unify</div><div class='del'>-	  raising vm stackoverflow exception.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 16:16:54 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_THREAD_VM_STACK_SIZE): change default</div><div class='del'>-	  VM stack size (128 KB or  256 KB -&gt; 512 KB or 1024 KB).</div><div class='del'>-	  This re-sizing corrects smaller value introduced at r38478.</div><div class='del'>-	  Newer value is same VM stack size of Ruby 1.9.</div><div class='del'>-	  [ruby-dev:46797] [ruby-trunk - Bug #7603]</div><div class='del'>-</div><div class='del'>-Tue Dec 25 13:38:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (compile_err_append, compile_warn_print, warn_print): use</div><div class='del'>-	  rb_write_error_str() instead of writing to rb_stderr directly.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_write_error_str): a stopgap measure not to unblock GVL.</div><div class='del'>-	  warning from require seems to still have race condition errors.</div><div class='del'>-</div><div class='del'>-Tue Dec 25 00:59:29 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_OP_CDECL), compile.c (iseq_compile_each),</div><div class='del'>-	  parse.y (stmt, arg): allow scoped constant op-assignment.</div><div class='del'>-	  [ruby-core:40154] [Bug #5449]</div><div class='del'>-</div><div class='del'>-Mon Dec 24 04:56:48 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb (Net::HTTPGenericRequest):</div><div class='del'>-	  set content-length to zero on empty post requests</div><div class='del'>-	  by Gregory Ostermayr &lt;gregory.ostermayr@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/201 fix GH-201</div><div class='del'>-</div><div class='del'>-Sun Dec 23 19:09:16 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: rename methods:</div><div class='del'>-	    from Thread.async_interrupt_timing to Thread.handle_interrupt,</div><div class='del'>-	    from Thread.async_interrupted? to Thread.pending_interrupt?.</div><div class='del'>-	  Also rename option from `defer' to `never'.</div><div class='del'>-	  [ruby-core:51074] [ruby-trunk - Feature #6762]</div><div class='del'>-</div><div class='del'>-	* vm_core.c, thread.c: rename functions and data structure</div><div class='del'>-	  `async_errinfo' to `pending_interrupt'.</div><div class='del'>-</div><div class='del'>-	* thread.c: add global variables sym_immediate, sym_on_blocking and</div><div class='del'>-	  sym_never.</div><div class='del'>-</div><div class='del'>-	* cont.c, process.c, vm.c, signal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb, lib/thread.rb: catch up this renaming.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 17:57:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb (Profiler__::PROFILE_PROC, print_profile): store</div><div class='del'>-	  profile data per threads for concurrent-execution.</div><div class='del'>-	  [ruby-core:22046] [Bug #1152]</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb (Profiler__::Wrapper): support calling singleton</div><div class='del'>-	  methods of an instance of BasicObject.</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb (Profiler__::PROFILE_PROC): use TracePoint.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 16:13:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: typos for ERB::new link</div><div class='del'>-</div><div class='del'>-Sun Dec 23 16:06:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: Document ERB::new trim_mode '-' for lines ending in -%&gt;</div><div class='del'>-	  [ruby-core:51084] [Bug #7608]</div><div class='del'>-</div><div class='del'>-Sun Dec 23 15:25:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: Add handling for %i and %I quoting to irb</div><div class='del'>-	  Patch by flori [ruby-core:49550] [Bug #7392] [Github Issue #157]</div><div class='del'>-</div><div class='del'>-Sun Dec 23 15:05:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_funcall_with_hook): rb_check_funcall with hook</div><div class='del'>-	  which is called before calling method_missing or target method.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, r_object0): use rb_check_funcall_with_hook</div><div class='del'>-	  instead of respond_to? and call.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 14:52:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_eqq): doc: #=== is not a synonym for #=~, added example</div><div class='del'>-	  [ruby-dev:46746] [Bug #7571]</div><div class='del'>-</div><div class='del'>-Sun Dec 23 14:35:13 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (BLOCKING_REGION): if fail_if_interrupted is false ignore</div><div class='del'>-	  the result of blocking_region_begin(), since it always is true in</div><div class='del'>-	  that case.  suppress "uninitialized" warnings.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 09:34:07 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/check_command.rb:  Added --doctor and --dry-run</div><div class='del'>-	  options to clean up after failed uninstallation.</div><div class='del'>-	* test/rubygems/test_gem_commands_check_command.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/push_command.rb:  Allow pushes from RubyGems</div><div class='del'>-	  2.0.0.preview3</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/update_command.rb:  Use Gem.ruby_version</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency.rb:  Update style.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb:  Ensure installed gem specifications will</div><div class='del'>-	  be useable.  Refactor.</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/validator.rb:  Fixed bug with unreadable files.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Fixed broken methods.</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_push_command.rb:  Fixed overridden</div><div class='del'>-	  Gem.latest_rubygems_version</div><div class='del'>-</div><div class='del'>-Sun Dec 23 01:52:01 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints):</div><div class='del'>-	  Deprecate IO#{lines,bytes,chars,codepoints} and those of ARGF.</div><div class='del'>-	  [Feature #6670]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_lines, strio_bytes, strio_chars)</div><div class='del'>-	  (strio_codepoints): Deprecate</div><div class='del'>-	  StringIO#{lines,bytes,chars,codepoints}. [Feature #6670]</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_lines, rb_gzreader_bytes):</div><div class='del'>-	  Deprecate Zlib::GzipReader#{lines,bytes}. [Feature #6670]</div><div class='del'>-</div><div class='del'>-Sat Dec 23 01:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: Documentation for OptionParser to remove 'shadowed</div><div class='del'>-	  outer local variable' from example and make obvious ARGV with</div><div class='del'>-	  non-option arguments.</div><div class='del'>-	  Patch by Marcus Stollsteimer [ruby-core:47460] [Bug #6997]</div><div class='del'>-</div><div class='del'>-Sat Dec 23 00:08:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: add the prototype declaration of</div><div class='del'>-	  rb_num_coerce_bit.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_coerce_bit): the new coerce function for bitwise</div><div class='del'>-	  binary operation.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): use coerce to convert the argument, which isn't</div><div class='del'>-	  a Fixnum nor a Bignum, to the corresponding Integer object so that</div><div class='del'>-	  bitwise operations can support Integer-mimic objects.</div><div class='del'>-	  [Bug #1792] [ruby-core:39491]</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_or): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_xor): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (bit_coerce): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_and): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_or): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_xor): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: add tests for the above changes.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 23 00:04:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (QUOTE, QUOTE_ID): quote unprintable chars in strings and</div><div class='del'>-	  IDs. [Bug #7574] [ruby-dev:46749]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_quote_unprintable): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 23:59:18 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_compile_error, rb_compile_warn, rb_compile_warning),</div><div class='del'>-	  (rb_warn, rb_warning): support PRIsVALUE.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 22:04:58 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): unify conditions.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 21:47:55 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_writable): use rb_thread_check_ints() instead</div><div class='del'>-	  of rb_thread_fd_writable().</div><div class='del'>-	* io.c (rb_io_wait_readable): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 20:31:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): symbol cannot be nested constant name.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 19:26:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): check more strictly.  [ruby-dev:46748]</div><div class='del'>-	  [Bug #7573]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 02:34:48 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): in case of jump with TAG_FATAL,</div><div class='del'>-	  enqueue error into async_errinfo_queue, because you cannot call</div><div class='del'>-	  TH_TAG_JUMP() in this function. [ruby-dev:45218]  [Bug #5993]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts): now INT2FIX(TAG_FATAL)</div><div class='del'>-	  can be popped from async_errinfo_queue.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_jump_tag_but_local_jump): revert r38441.</div><div class='del'>-	  rb_vm_make_jump_tag_but_local_jump() shouldn't return exception</div><div class='del'>-	  in case of state == TAG_FATAL.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb (test_exit_in_fiber): fix a test to illuminate</div><div class='del'>-	  Thread.exit should terminate current Thread.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 13:15:08 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_id_to_ref): add a macro to treat Bignum object id.</div><div class='del'>-	  This follows the change r38493.</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): fix for working fine with Bignum object id on x64</div><div class='del'>-	  Windows.</div><div class='del'>-	* gc.c (wmap_finalize): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 11:30:21 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): remove junk ID check to allow members who</div><div class='del'>-	  have junk name like "foo\000".</div><div class='del'>-	* test/ruby/test_struct.rb: Test for above.</div><div class='del'>-	  [Bug #7575] [ruby-dev:46750]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 05:34:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Requests may be created with a URI which sets the</div><div class='del'>-	  Host header.  Responses contain the requested URI for easier redirect</div><div class='del'>-	  following.  [ruby-trunk - Feature #6482]</div><div class='del'>-	* lib/net/http/generic_request.rb:  ditto.</div><div class='del'>-	* lib/net/http/response.rb:  ditto.</div><div class='del'>-	* NEWS (net/http):  Updated for above.</div><div class='del'>-	* test/net/http/test_http.rb:  Tests for above.</div><div class='del'>-	* test/net/http/test_http.rb:  ditto.</div><div class='del'>-	* test/net/http/test_httpresponse.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 22 02:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/slex.rb(#match): Typo, should be D_DETAIL</div><div class='del'>-	  [ruby-core:51071] [Bug#7600]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 02:29:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb, lib/irb.rb: Typo in</div><div class='del'>-	  InputMethod#readable_atfer_eof? to #readable_after_eof?</div><div class='del'>-	  [ruby-core:51069] [Bug #7599]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 02:19:38 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): revert r38533.</div><div class='del'>-	* addr2line.c (fill_lines): add ELF sanity check.</div><div class='del'>-	  [Bug #7597] [ruby-dev:46786]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 02:05:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/inspector.rb, lib/irb/context.rb: Move IRB::INSPECTORS and</div><div class='del'>-	  class methods to IRB::Inspector [ruby-core:51067][Bug #7598]</div><div class='del'>-</div><div class='del'>-Sat Dec 22 00:28:46 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_hash): shouldn't assume object_id can be long.</div><div class='del'>-	  based on a patch by Heesob Park at [ruby-core:51060].</div><div class='del'>-	  cf. [Backport #7454]</div><div class='del'>-</div><div class='del'>-Fri Dec 21 23:15:25 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):</div><div class='del'>-	  CPtr -&gt; Pointer.</div><div class='del'>-	* test/fiddle/test_c_struct_entry.rb</div><div class='del'>-	  (Fiddle::TestCStructEntity#test_aref_pointer):</div><div class='del'>-	  Added the test for the above.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 23:12:05 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):</div><div class='del'>-	  CPtr -&gt; Pointer.</div><div class='del'>-	* test/fiddle/test_c_struct_entry.rb</div><div class='del'>-	  (Fiddle::TestCStructEntity#test_aref_pointer_array):</div><div class='del'>-	  Added the test for the above.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 22:43:36 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof):</div><div class='del'>-	  CPtr -&gt; Pointer.</div><div class='del'>-	* test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):</div><div class='del'>-	  Added the test for the above.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 22:34:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: disable a test which checks features</div><div class='del'>-	  removed at r38532.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 22:02:00 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{dir.h,win32.c} (rb_w32_readdir): removed old rb_w32_readdir()</div><div class='del'>-	  and renamed from rb_w32_readdir_with_enc().</div><div class='del'>-	  [ruby-core:24864] [Feature #1927]</div><div class='del'>-</div><div class='del'>-	* dir.c (READDIR): follow above change.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 21:12:54 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): commentout addr2line call temporarily</div><div class='del'>-	  in order to avoid segv. anyone can fix addr2line?</div><div class='del'>-	  [Bug #7597] [ruby-dev:46786]</div><div class='del'>-</div><div class='del'>-Fri Dec 21 20:38:28 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (Init_ISeq): remove definition of the following methods:</div><div class='del'>-	  ISeq#line_trace_all and ISeq#line_trace_specify because they are</div><div class='del'>-	  half baked.</div><div class='del'>-	  C APIs are remained as experimental. These functions will be</div><div class='del'>-	  renamed, removed their parameters may be changed.</div><div class='del'>-	  You can use these methods by C exts. Please give us your comments.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 20:21:04 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (tracepoint_new): add code to support specified thread.</div><div class='del'>-	  But not tested and this feature is not supported officially.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 19:37:15 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): need to acquire env from TOPLEVEL_BINDING</div><div class='del'>-	  each time.</div><div class='del'>-	  `bind-&gt;env' may update after `eval()'.</div><div class='del'>-	   [Bug #7536]</div><div class='del'>-</div><div class='del'>-Fri Dec 21 18:46:50 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h, vm_core.h: define rb_trace_arg_t at</div><div class='del'>-	  include/ruby/debug.h (move from vm_core.h).</div><div class='del'>-</div><div class='del'>-Fri Dec 21 17:48:15 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_trace.c: fix multi-threading bug for tracing.</div><div class='del'>-	  Move `trace_arg' from rb_tp_t::trace_arg to rb_thread_t::trace_arg.</div><div class='del'>-	  `trace_arg' may changed by multiple threads.</div><div class='del'>-	  rb_thread_t::trace_arg can represent rb_thread_t::trace_running</div><div class='del'>-	  (null or non-null) and rb_thread_t::trace_running is removed.</div><div class='del'>-	  After that, `rb_tp_t' is not needed to check tracing or not</div><div class='del'>-	  (A running thread knows tracing or not). This is why I remove</div><div class='del'>-	  tp_attr_check_active() and make new function get_trace_arg().</div><div class='del'>-</div><div class='del'>-	  And this modification disable to work the following code:</div><div class='del'>-	    TracePoint.trace{|tp|</div><div class='del'>-	      Thread.new{p tp.event} # access `tp' from other threads.</div><div class='del'>-	    }</div><div class='del'>-	  I believe nobody mix threads at trace procedure.</div><div class='del'>-	  This is current limitation.</div><div class='del'>-	  [Bug #7590]</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_switch, rb_cont_call): use rb_thread_t::trace_arg</div><div class='del'>-	  instead of rb_thread_t::trace_running.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a multi-threading test.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 16:38:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl (ID2ATTRSET): compile time constant macro for</div><div class='del'>-	  ID_ATTRSET.</div><div class='del'>-</div><div class='del'>-	* defs/id.def (KeywordError): check duplication.</div><div class='del'>-</div><div class='del'>-	* defs/id.def: support for other scope IDs,</div><div class='del'>-	  ID_{INSTANCE,GLOBAL,CONST,CLASS}.</div><div class='del'>-</div><div class='del'>-Fri Dec 21 14:45:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb, lib/irb/*: Documentation for IRB</div><div class='del'>-</div><div class='del'>-Fri Dec 21 11:31:02 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/*:  Updated to rake 0.9.6</div><div class='del'>-	* doc/rake/*:  ditto</div><div class='del'>-	* test/rake/*:  ditto</div><div class='del'>-</div><div class='del'>-Fri Dec 21 08:56:34 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_suppress_tracing): remove unused variable 'vm_tracing'</div><div class='del'>-</div><div class='del'>-Fri Dec 21 01:01:45 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb (CompletionProc): support completion of</div><div class='del'>-	  instance variables. [ruby-dev:46710] [Bug #7520]</div><div class='del'>-</div><div class='del'>-Thu Dec 20 20:58:25 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_suppress_tracing): bugfix for vm-&gt;trace_running</div><div class='del'>-	  counter. And if tracing is already true, vm_trace_running ops is</div><div class='del'>-	  skipped to control overflow.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 18:29:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without</div><div class='del'>-	  outermost parentheses.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 17:29:00 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: fix the description for Refinements.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 16:53:59 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_defineclass_type_t),</div><div class='del'>-	  compile.c (iseq_compile_each), insns.def (defineclass): change the</div><div class='del'>-	  meaning of the third operand of defineclass as follows:</div><div class='del'>-	    lower 3bits: the type of the defineclass</div><div class='del'>-	                   0 = class, 1 = singleton class, 2 = module</div><div class='del'>-	    4th bit: a flag represents whether the defineclass is scoped</div><div class='del'>-	               0 = not scoped (e.g., class Foo)</div><div class='del'>-		       1 = scoped (e.g., class Bar::Baz)</div><div class='del'>-	    5th bit: a flag represents whether the superclass is specified</div><div class='del'>-	               0 = not specified (e.g., class Foo)</div><div class='del'>-	               1 = specified (e.g., class Bar &lt; Foo)</div><div class='del'>-	  If the superclass is specified and is not a class, a TypeError</div><div class='del'>-	  should be raised.  [ruby-dev:46747] [Bug #7572]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: related test.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 16:52:37 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: announce AEAD encryption support in the OpenSSL extension.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 16:40:13 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (nonspecial_obj_id): VALUE is not compatible with Fixnum on</div><div class='del'>-	  LLP64 platform, such as 64bit Windows.</div><div class='del'>-	  reported by Heesob Park at [ruby-core:50255] [Bug #7454], and the</div><div class='del'>-	  fix is suggested by akr.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 16:39:04 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: fix errors for installations that do not</div><div class='del'>-	  feature Authenticated Encryption.</div><div class='del'>-	* ext/openssl/extconf.rb: detect presence of EVP_CTRL_GCM_GET_TAG to</div><div class='del'>-	  determine whether Authenticated Encryption can be used.</div><div class='del'>-	  [Feature #6980] [ruby-core:47426]</div><div class='del'>-</div><div class='del'>-Thu Dec 20 15:55:46 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: do not use FIPS_mode_set if not available.</div><div class='del'>-	* test/openssl/utils.rb: revise comment about setting FIPS mode to</div><div class='del'>-	  false.</div><div class='del'>-	* test/openssl/test_fips.rb: remove tests that cause errors on</div><div class='del'>-	  ruby-ci.</div><div class='del'>-	  [Feature #6946] [ruby-core:47345]</div><div class='del'>-</div><div class='del'>-Thu Dec 20 15:22:59 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb:  Ignore methods defined on constants to</div><div class='del'>-	  prevent modules with the names of constants from appearing in the</div><div class='del'>-	  documentation.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_ruby.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 15:00:33 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: add support for Authenticated Encryption</div><div class='del'>-	  with Associated Data (AEAD) for OpenSSL versions that support the</div><div class='del'>-	  GCM encryption mode. It's the only mode supported for now by OpenSSL</div><div class='del'>-	  itself. Add Cipher#authenticated? to detect whether a chosen mode</div><div class='del'>-	  does support Authenticated Encryption.</div><div class='del'>-	* test/openssl/test_cipher.rb: add tests for Authenticated Encryption.</div><div class='del'>-	  [Feature #6980] [ruby-core:47426] Thank you, Stephen Touset for</div><div class='del'>-	  providing a patch!</div><div class='del'>-</div><div class='del'>-Thu Dec 20 12:56:53 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/to_html.rb (class RDoc):  Added current heading and</div><div class='del'>-	  top links to headings.</div><div class='del'>-	* lib/rdoc/generator/template/darkfish/rdoc.css:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_generator_markup.rb:  Test for above</div><div class='del'>-	* test/rdoc/test_rdoc_markup_to_html.rb:  ditto</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_comment.rb:  Removed trailing whitespace.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 11:05:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_valid_syntax): move from</div><div class='del'>-	  test_syntax.rb.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): validate syntax before</div><div class='del'>-	  running because this assertion passes even if the code fails by</div><div class='del'>-	  SyntaxError.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 10:29:58 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_dh.rb: revert special treatment of</div><div class='del'>-	  FIPS-capable installations since FIPS mode is now disabled for the</div><div class='del'>-	  tests.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 10:23:12 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPS</div><div class='del'>-	  mode manually.</div><div class='del'>-	* test/openssl/utils.rb: turn off FIPS mode for tests. This prevents</div><div class='del'>-	  OpenSSL installations with FIPS mode enabled by default from raising</div><div class='del'>-	  FIPS-related errors during the tests.</div><div class='del'>-	* test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL</div><div class='del'>-	  installations.</div><div class='del'>-	  [Feature #6946] [ruby-core:47345]</div><div class='del'>-</div><div class='del'>-Thu Dec 20 06:59:52 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: support variable VM/Machine stack sizes.</div><div class='del'>-	  Specified by the following environment variables:</div><div class='del'>-	    - RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.</div><div class='del'>-	      default: 128KB (32bit CPU) or 256KB (64bit CPU).</div><div class='del'>-	    - RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread</div><div class='del'>-	      creation. default: 512KB or 1024KB.</div><div class='del'>-	    - RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation.</div><div class='del'>-	      default: 64KB or 128KB.</div><div class='del'>-	    - RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber</div><div class='del'>-	      creation. default: 256KB or 256KB.</div><div class='del'>-	  This values are specified at launched timing. You can not change</div><div class='del'>-	  these values at running time.</div><div class='del'>-	  Environ variables are only *hints* because:</div><div class='del'>-	    - They are aligned to 4KB.</div><div class='del'>-	    - They have minimum values (depend on OSs).</div><div class='del'>-	    - Machine stack settings are ignored by some OSs.</div><div class='del'>-	  Default values especially fiber stack sizes are increased.</div><div class='del'>-	  This change affect Fiber's behavior:</div><div class='del'>-	    (1) You can run more complex program on a Fiber.</div><div class='del'>-	    (2) You can not make many (thousands) Fibers because of</div><div class='del'>-	        lack of address space (on 32bit CPU).</div><div class='del'>-	  If (2) bothers you,</div><div class='del'>-	    (a) Use 64bit CPU with big memory, or</div><div class='del'>-	    (b) Specify RUBY_FIBER_(VM|MACHINE)_STACK_SIZE correctly.</div><div class='del'>-	  You need to choose correct stack size carefully. These values</div><div class='del'>-	  are completely rely on systems (OS/compiler and so on).</div><div class='del'>-	  [Feature #4614], [Bug #7212]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t::default_params): add to record above settings.</div><div class='del'>-</div><div class='del'>-	* vm.c (RubyVM::DEFAULT_PARAMS): add new constant to see</div><div class='del'>-	  above setting.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: support RUBY_THREAD_MACHINE_STACK_SIZE.</div><div class='del'>-</div><div class='del'>-	* cont.c: support RUBY_FIBER_(VM|MACHINE)_STACK_SIZE.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 06:25:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: remove a strange single quote character.</div><div class='del'>-	  With this character, this script exits by SyntaxError.</div><div class='del'>-</div><div class='del'>-Thu Dec 20 01:03:00 2012  Zachary Scott  &lt;zachary@zacharyscott&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: Add missing ext modules to .document</div><div class='del'>-	  Patch by Ryunosuke SATO [Fixes Github #224]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 23:52:16 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): use original C string as the filename</div><div class='del'>-	  for parser.</div><div class='del'>-	  reported by whiteleaf at [ruby-list:49085] [ruby-dev:46738]</div><div class='del'>-	  [Bug #7562]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 23:36:12 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump, marshal_load): fix SEGV during make rdoc</div><div class='del'>-	  and test failure in TestMarshal#test_gc and test_context_switch</div><div class='del'>-	  on SPARC Solaris 10 compiled with Oracle Solaris Studio 12.3.</div><div class='del'>-	  [Bug #7591] [ruby-dev:46772]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 19:34:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): nul byte is invalid as constant name.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 17:54:18 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks): get rid of race</div><div class='del'>-	  condition. [Bug #7589] [ruby-dev:46763]</div><div class='del'>-</div><div class='del'>-Wed Dec 19 16:30:28 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc:  Added 0d decimal format.  Thanks Nobu!</div><div class='del'>-</div><div class='del'>-Wed Dec 19 16:19:36 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc:  Fixed typo.  Thanks to Josh Susser.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 16:18:22 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/query_command.rb:  Refactored to improve</div><div class='del'>-	  maintainability.</div><div class='del'>-	* test/rubygems/test_gem_commands_query_command.rb:  Note default gems</div><div class='del'>-	  in gem list details.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/uninstaller.rb:  Detect all gems for uninstallation.</div><div class='del'>-	  This allows duplicate installs of default gems to be removed.</div><div class='del'>-	* lib/rubygems/specification.rb:  Allow use of ::each_spec.</div><div class='del'>-	* lib/rubygems/test_case.rb:  Added install_default_gems.</div><div class='del'>-	* test/rubygems/test_gem_commands_uninstall_command.rb:  Moved test</div><div class='del'>-	  down to the uninstaller tests.</div><div class='del'>-	* test/rubygems/test_gem_uninstaller.rb:  Test for uninstallation of</div><div class='del'>-	  default gems and duplicate default gems.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 15:23:50 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc:  Add () around keyword arguments example for</div><div class='del'>-	  consistency.  Thanks to Josh Susser.</div><div class='del'>-</div><div class='del'>-Wed Dec 19 01:51:24 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_jump_tag_but_local_jump): remove unnecessary 2nd</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (rb_vm_jump_tag_but_local_jump): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 18:57:58 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_writable): don't use rb_thread_wait_fd()</div><div class='del'>-	  because it is for waiting until io readable.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_writable): always use rb_thread_fd_writable()</div><div class='del'>-	  instead of bare rb_wait_for_single_fd(). we shouldn't ignore</div><div class='del'>-	  return value.</div><div class='del'>-	* io.c (rb_io_wait_readable): ditto. always use rb_thread_wait_fd().</div><div class='del'>-</div><div class='del'>-Tue Dec 18 18:55:33 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): fix infinite loop bug.</div><div class='del'>-	  rb_wait_for_single_fd() never return positive number.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 17:24:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/encoding.rb:  Do not remove #! line from document when</div><div class='del'>-	  setting encoding.  This allows ruby executables to be parsed as ruby</div><div class='del'>-	  files.</div><div class='del'>-	* test/rdoc/test_rdoc_encoding.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb:  Set the parser file name of ruby executables</div><div class='del'>-	  correctly.</div><div class='del'>-	* test/rdoc/test_rdoc_parser.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 16:46:15 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc:  Used simplified heredoc example that</div><div class='del'>-	  doesn't include method definition.  Added heredoc with backticks.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 16:38:51 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/store.rb:  Work around RDoc stores from older versions of</div><div class='del'>-	  RDoc.</div><div class='del'>-	* test/rdoc/test_rdoc_store.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 16:31:20 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ruby_lex.rb:  Return a TkHEREDOC instead of a TkSTRING when</div><div class='del'>-	  the heredoc identifier is followed by a line-end.  This allows proper</div><div class='del'>-	  display of some HEREDOCs in source view.</div><div class='del'>-	* lib/rdoc/ruby_token.rb:  Added TkHEREDOC</div><div class='del'>-	* test/rdoc/test_rdoc_ruby_lex.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 09:45:14 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_jump_tag_but_local_jump): take care of the case</div><div class='del'>-	  TAG_JUMP() with TAG_FATAL (ex. rb_fatal()). [ruby-core:50917]</div><div class='del'>-	  [Bug #7570]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb (test_fatal_in_fiber): add a test for above.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/fatal/extconf.rb, ext/-test-/fatal/rb_fatal.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 13:17:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for</div><div class='del'>-	  TracePoint#defined_class</div><div class='del'>-</div><div class='del'>-Tue Dec 18 12:15:59 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Fixed ruby output of requirements</div><div class='del'>-	  with multiple version specifiers.</div><div class='del'>-	* test/rubygems/test_gem_ext_cmake_builder.rb:  Only look for specific</div><div class='del'>-	  lines in cmake output.  Should fix [ruby-trunk - Bug #7579]</div><div class='del'>-</div><div class='del'>-Tue Dec 18 11:45:26 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc:  Added 0o octal integers.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 12:28:52 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Use :TLSv1_2_client explicitly in</div><div class='del'>-	  test_tls_v1_2 to prevent upstream bug.</div><div class='del'>-	  [Bug #7197] [ruby-dev:46240]</div><div class='del'>-</div><div class='del'>-Tue Dec 18 11:52:34 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/ssl.rb: Enable insertion of empty fragments as a</div><div class='del'>-	  countermeasure for the BEAST attack by default. The default options</div><div class='del'>-	  of OpenSSL::SSL:SSLContext are now:</div><div class='del'>-	  OpenSSL::SSL::OP_ALL &amp; ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS</div><div class='del'>-	  [Bug #5353] [ruby-core:39673]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Adapt tests to new SSLContext default.</div><div class='del'>-</div><div class='del'>-	* NEWS: Announce the new default.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 06:36:12 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: remove `VM_METHOD_TYPE_CFUNC_FRAMELESS' method type.</div><div class='del'>-	  This method type is for optimized CFUNC such as Fixnum#+ and so on.</div><div class='del'>-	  This feature is half-baked and no way to use them.</div><div class='del'>-	  [Background]</div><div class='del'>-	  Now, VM has opt_plus instructions to optimize `+' methods for</div><div class='del'>-	  some Classes (such as Fixnum, Float (flonum)). We call this</div><div class='del'>-	  type of instructions as `specialized instructions'.</div><div class='del'>-	  This simple technique improve simple program dramatically.</div><div class='del'>-	  However, we can make specialized instructions for only several</div><div class='del'>-	  types (classes) and selectors (method names) because a large</div><div class='del'>-	  instruction will be slow. In other words, this technique has no</div><div class='del'>-	  extensibility.</div><div class='del'>-	  To overcome this problem, VM_METHOD_TYPE_CFUNC_FRAMELESS was</div><div class='del'>-	  introduced (r37198). This type is a variant of CFUNC, but called</div><div class='del'>-	  their functions directly without building a method frame.</div><div class='del'>-	  Any CFUNC method can be defined as frameless methods if a method</div><div class='del'>-	  is not needed to make method frame. Frameless methods are faster</div><div class='del'>-	  as specialized instructions (a bit slower, but no need to care).</div><div class='del'>-	  No problem described at</div><div class='del'>-	  http://charlie.bz/blog/why-do-singleton-methods-make-ruby-slow</div><div class='del'>-	  because this technique doesn't see class, but see method body</div><div class='del'>-	  itself. Alias is also no problem.</div><div class='del'>-	  [Problem]</div><div class='del'>-	  However, we can't set frameless method type for polymorphic methods</div><div class='del'>-	  such as Array#[]. Necessity for method frame depends on which</div><div class='del'>-	  parameter type. For example, Fixnum#+ needs method frame if</div><div class='del'>-	  coerce is needed. Current VM_METHOD_TYPE_CFUNC_FRAMELESS is not</div><div class='del'>-	  flexible and need more tuning to introduce it.</div><div class='del'>-	  Expected behavior of frameless method type may be:</div><div class='del'>-	    result = optimized_cfunc(params); /* call optimized cfunc */</div><div class='del'>-	    if (result == Qundef) { result = normal_cfunc(); }</div><div class='del'>-	  This is why I say this feature is half-baked.</div><div class='del'>-	  We need to learn primitive method in Smalltalk more.</div><div class='del'>-	  (I heard this name at RubyConf Taiwan this month. Thanks!)</div><div class='del'>-	  [Conclusion]</div><div class='del'>-	  I remove this feature and consider again.</div><div class='del'>-	  This feature goes to next minor (2.1?).</div><div class='del'>-	  Nobody may use this feature and there is no compatibility issue.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 04:58:22 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (fill_id_and_klass): TracePoint#defined_class returns</div><div class='del'>-	  singleton class. `set_trace_func' passed attached class (which is</div><div class='del'>-	  attached/modified by singleton class) by 6th block parameter if it</div><div class='del'>-	  is singleton class. Previous behavior follows this spec.</div><div class='del'>-	  However, this method named `defined_class' should return singleton</div><div class='del'>-	  class directly because singleton methods are defined in singleton</div><div class='del'>-	  class. There are no compatible issue because TracePoint is introduced</div><div class='del'>-	  after 2.0.</div><div class='del'>-	  But compatibility with `set_trace_func' is broken. This means that</div><div class='del'>-	  you can not replace all `set_trace_func' code with TracePoint</div><div class='del'>-	  without consideration of this behavior.</div><div class='del'>-	  [Bug #7554]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: change a test to catch up</div><div class='del'>-	  an above change.</div><div class='del'>-</div><div class='del'>-Tue Dec 18 03:03:10 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so</div><div class='del'>-	  common cases are evaluated first.  Thanks Kevin Menard!</div><div class='del'>-</div><div class='del'>-Tue Dec 18 02:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: Remove 'developer documentation' section from rdoc</div><div class='del'>-	  Patch by Marcus Stollsteimer [ruby-core:50526][Bug #7504]</div><div class='del'>-</div><div class='del'>-Tue Dec 18 02:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (#lup): typo in example [ruby-core:50946][Bug #7582]</div><div class='del'>-</div><div class='del'>-Mon Dec 17 18:03:34 2012  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rewrite_cref_stack, clone_method): rewrite a method's cref</div><div class='del'>-	  stack when cloning into a new class to allow lexical const lookup to</div><div class='del'>-	  work as expected [ruby-core:47834] [Bug #7107]</div><div class='del'>-	* test/ruby/test_class.rb (class TestClass): related test</div><div class='del'>-</div><div class='del'>-Mon Dec 17 13:56:55 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_flush_buffer_sync2): avoid to return 0. because</div><div class='del'>-	  rb_thread_call_without_gvl2 uses 0 internally.</div><div class='del'>-	* io.c (io_flush_buffer_async2): adapt the above.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 12:05:32 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc:  Added a description of singleton methods.</div><div class='del'>-</div><div class='del'>-Mon Dec 17 11:35:57 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/.document:  Added doc/syntax</div><div class='del'>-</div><div class='del'>-Mon Dec 17 11:25:32 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax.rdoc:  Added syntax guide table of contents</div><div class='del'>-	* doc/syntax/exceptions.rdoc:  Syntax guide for exceptions</div><div class='del'>-	* doc/syntax/literals.rdoc:  Syntax guide for literals</div><div class='del'>-	* doc/syntax/methods.rdoc:  Syntax guide for methods</div><div class='del'>-</div><div class='del'>-Mon Dec 17 07:59:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Updated VERSION</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  Fixed ambiguous first argument</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_rdoc.rb:  RDoc generation depends on installed</div><div class='del'>-	  version of RDoc.</div><div class='del'>-</div><div class='del'>-Sun Dec 16 02:04:41 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_sigaltstack_size): cast sysconf() return value</div><div class='del'>-	  explicitly. Fix compile error on Mac OS X.</div><div class='del'>-</div><div class='del'>-Sun Dec 16 00:39:43 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): don't enqueue Qnil to async_errinfo_queue.</div><div class='del'>-	  rb_vm_make_jump_tag_but_local_jump() could return Qnil (ex. when</div><div class='del'>-	  finished by Thread.exit). [ruby-dev:45218] [Bug #5993]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb (test_exit_in_fiber): add test for it.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 23:56:51 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message</div><div class='del'>-	  forgotten to be changed from DL to Fiddle.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 23:14:32 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (default_handler): remove rb_register_sigaltstack()</div><div class='del'>-	  call. sigaltstack was already registered when creating threads.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 23:08:56 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_sigaltstack_size): new. calculate stack size for</div><div class='del'>-	  sigsegv handler. enlarge value when x86 or x86_64 on Linux.</div><div class='del'>-	  Linux has very small MINSIGSTKSZ size (2048 bytes) and</div><div class='del'>-	  our sigsegv routine need 5KiB at least. [Bug #7141]</div><div class='del'>-	* internal.h: add declaration of rb_sigaltstack_size().</div><div class='del'>-	* vm_core.h: remove ALT_STACK_SIZE definition.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_register_sigaltstack): replace ALT_STACK_SIZE with</div><div class='del'>-	  rb_sigaltstack_size();</div><div class='del'>-	* gc.c (Init_heap): ditto.</div><div class='del'>-	* vm.c (th_init): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 18:24:21 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (f_round_common): should check overflow.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 18:00:00 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (float_rationalize): reduced.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 14:18:44 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (finish_writeconv): uses rb_write_internal2 if</div><div class='del'>-	  fptr-&gt;write_lock have.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 13:57:08 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_owned_p): remove static.</div><div class='del'>-	* io.c (io_flush_buffer): don't hold mutex if already have.</div><div class='del'>-	  Now recursive lock may occur when following scenario.</div><div class='del'>-	  fptr_finalize -&gt; finish_writeconv_sync -&gt; finish_writeconv</div><div class='del'>-	  -&gt; io_fflush.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 13:38:30 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_flush_buffer): uses io_flush_buffer_async2 instead of</div><div class='del'>-	  io_flush_buffer_async.</div><div class='del'>-	* io.c (io_flush_buffer_async2): new helper function for</div><div class='del'>-	  io_flush_buffer. It uses rb_thread_call_without_gvl2() instead</div><div class='del'>-	  of rb_thread_io_blocking_region.</div><div class='del'>-	* io.c (io_flush_buffer_sync2): new helper function for</div><div class='del'>-	  io_flush_buffer_async2.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 13:04:26 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (internal_write_func2): new helper function for rb_write_internal2().</div><div class='del'>-	* io.c (rb_write_internal2): new function. it uses</div><div class='del'>-	  rb_thread_call_without_gvl2() instead of rb_thread_io_blocking_region().</div><div class='del'>-	* io.c (rb_binwrite_string): uses rb_write_internal2 instead of</div><div class='del'>-	  rb_write_internal. [Bug #7134]</div><div class='del'>-</div><div class='del'>-Sat Dec 15 12:55:29 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_writable): add to call rb_thread_wait_fd()</div><div class='del'>-	  likes rb_io_wait_readable.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 11:54:50 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_wait_writable): don't call rb_thread_fd_writable()</div><div class='del'>-	  when EINTR. EINTR mean signal interrupt was happen. We don't</div><div class='del'>-	  need any wait.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 11:53:36 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd_rw): remove silly rb_thread_alone()</div><div class='del'>-	  check.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 10:22:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_polling): revert but deprecate.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_thread_polling): deprecate.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 08:37:01 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_ext_cmake_builder.rb (test_self_build):</div><div class='del'>-	  get rid of false positive.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 08:05:56 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_uninitialized, test_backtrace,</div><div class='del'>-	test_thread_timer_and_interrupt, test_thread_join_in_trap,</div><div class='del'>-	test_thread_join_current, test_thread_join_main_thread,</div><div class='del'>-	test_main_thread_status_at_exit, test_thread_status_in_trap,</div><div class='del'>-	test_thread_status_raise_after_kill, test_mutex_owned,</div><div class='del'>-	test_mutex_owned2): move these tests from TestThreadGroup class</div><div class='del'>-	  to TestThread because they are not thread group tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_status_raise_after_kill):</div><div class='del'>-	  add t.join.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_threadgroup.rb: new file. moved ThreadGroup test</div><div class='del'>-	  from test_thread.rb.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 08:02:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread::Thread::new.): remove</div><div class='del'>-	  th.abort_on_exception change. Test template shouldn't change</div><div class='del'>-	  global flag. It prevent to test a normal case.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 06:15:14 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_GCC_ATOMIC_BUILTINS):  Set -march=i486 to enable</div><div class='del'>-	  __sync_val_compare_and_swap.  Patch by KOSAKI Motohiro.</div><div class='del'>-	  [ruby-trunk - Bug #7485]</div><div class='del'>-</div><div class='del'>-Sat Dec 15 03:42:34 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: add fiddle/pointer.c, fiddle/handle.c, and</div><div class='del'>-	  fiddle/win32/lib as documentation.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 03:06:40 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_flock): use rb_thread_wait_for() instead of</div><div class='del'>-	  rb_thread_polling(). When getting EAGAIN, we need to wait a</div><div class='del'>-	  while even if no multi threading.</div><div class='del'>-	* thread.c (sleep_for_polling, rb_thread_polling) removed.</div><div class='del'>-</div><div class='del'>-Sat Dec 15 00:03:31 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): remove rb_thread_polling() because this</div><div class='del'>-	  has no good effect and makes meaningless 100ms delay. 1)</div><div class='del'>-	  when sending signal to another process, waiting has just silly.</div><div class='del'>-	  2) when sending signal to current process, 100ms is often not</div><div class='del'>-	  enough time to wait. It depend on kernel behavior. And,</div><div class='del'>-	  rb_thread_polling() doesn't make sense anyway. When rb_thread_alone()</div><div class='del'>-	  is true, it doesn't wait at all and Process.kill() users don't</div><div class='del'>-	  expect threading changes Process.kill() behavior. [Bug #7560]</div><div class='del'>-</div><div class='del'>-Fri Dec 14 17:10:57 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_params): parser_tokline to track the line number at</div><div class='del'>-	  which token started.  [ruby-dev:46737] [Bug #7559]</div><div class='del'>-</div><div class='del'>-	* parse.y (fcall): operation with starting line number.</div><div class='del'>-</div><div class='del'>-	* parse.y (command, primary, method_call): point method name line.</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): return token line for __LINE__.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 16:56:59 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_super_method): remove volatile introduced</div><div class='del'>-	  in r38365.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): use __forceinline to prevent</div><div class='del'>-	  VC++ to make vm_call_general and vm_call_super_method as the same</div><div class='del'>-	  method.  Thanks, Heesob Park.  [Bug #7556] [ruby-core:50867]</div><div class='del'>-</div><div class='del'>-Fri Dec 14 14:59:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):</div><div class='del'>-	  take file and line by using caller_locations if not given.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):</div><div class='del'>-	  count assertions in separated tests.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 14:16:42 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rubygems_hook.rb:  Fixed generation of documentation.</div><div class='del'>-	  Disabled rdoc generation by default to match RubyGems defaults.</div><div class='del'>-	  Reduced diff with RubyGems::RDoc.</div><div class='del'>-	* test/rdoc/test_rdoc_rubygems_hook.rb:  Tests for the above.</div><div class='del'>-	* test/rubygems/test_gem_rdoc.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/store.rb:  Removed useless variable assignment</div><div class='del'>-</div><div class='del'>-Fri Dec 14 13:58:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/rdoc_command.rb:  When overwriting</div><div class='del'>-	  documentation, remove existing documentation first.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/server.rb:  Fixed documentation links.</div><div class='del'>-	* test/rubygems/test_gem_server.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/rdoc.rb:  Reduced diff with RDoc::RubyGemsHook</div><div class='del'>-	* test/rubygems/test_gem_rdoc.rb:  ditto</div><div class='del'>-</div><div class='del'>-Fri Dec 14 04:08:05 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):</div><div class='del'>-	  added to execute given test source on separate process,</div><div class='del'>-	  catch its resulted exception and raise it on main process.</div><div class='del'>-</div><div class='del'>-Fri Dec 14 07:43:44 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: quote strings that begin</div><div class='del'>-	  with non-word characters.  Thanks Alex Tambellini!</div><div class='del'>-	* test/psych/test_yaml.rb: appropriate test case</div><div class='del'>-</div><div class='del'>-Thu Dec 13 23:14:17 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_super_method): a workaround for the</div><div class='del'>-	  failure of TestRefinement#test_refine_recursion in Windows.</div><div class='del'>-	  See [ruby-core:50871] for details.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 23:10:52  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): use rb_mod_init_copy for Class#initialize_copy</div><div class='del'>-	* class.c (rb_class_init_copy): rename to class_init_copy_check, performs type</div><div class='del'>-	  checks on arguments to prevent reinitialization of initialized class</div><div class='del'>-	  [ruby-core:50869] [Bug #7557]</div><div class='del'>-	* class.c (rb_mod_init_copy): use class_init_copy_check if receiver is T_CLASS</div><div class='del'>-	* test/ruby/test_class.rb (class TestClass): related test</div><div class='del'>-</div><div class='del'>-Thu Dec 13 16:53:10 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/class_module.rb:  Fixed duplicate comments for classes and</div><div class='del'>-	  modules from C.</div><div class='del'>-	* test/rdoc/test_rdoc_class_module.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/c.rb:  Reload C variable names to allow proper</div><div class='del'>-	  updates of an ri store for C files.</div><div class='del'>-	* lib/rdoc/rdoc.rb:  ditto.</div><div class='del'>-	* lib/rdoc/store.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_c.rb:  Test for the above.</div><div class='del'>-	* test/rdoc/test_rdoc_store.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 14:20:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb*: merge doc from doc/irb/ird.rd and improve overall</div><div class='del'>-	  documentation of IRB</div><div class='del'>-	* doc/irb/irb.rd: remove stale documentation</div><div class='del'>-</div><div class='del'>-Thu Dec 13 14:10:00 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_entry0): don't taint classes and modules because</div><div class='del'>-	  Marshal.load just returns the dumped classes and modules.</div><div class='del'>-	  [Bug #7325] [ruby-core:49198]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: related test.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 14:10:13 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_loaded_features_encoding):</div><div class='del'>-	  need to check compatibility, not equality of encodings.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 14:02:15 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): check encoding compatibility before joining</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 13:06:27 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (umethod_bind): allow another form of method transplanting</div><div class='del'>-	  from a module via UnboundMethod.  [ruby-core:34267][Feature #4254]</div><div class='del'>-</div><div class='del'>-Thu Dec 13 12:07:25 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppress</div><div class='del'>-	  warnings for unused variables.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to</div><div class='del'>-	  suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6.</div><div class='del'>-</div><div class='del'>-Thu Dec 13 11:22:33 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: remove "VM_METHOD_TYPE__MAX" from rb_method_type_t.</div><div class='del'>-	  rb_method_type_t is not a number and "_MAX" causes misunderstanding.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 21:40:45 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir::Tmpname#create): deal with a prefix name which</div><div class='del'>-	  starts with tilde as a plain name, not expanding as home directory.</div><div class='del'>-	  [ruby-core:50793] [Bug #7547]</div><div class='del'>-</div><div class='del'>-Wed Dec 12 19:48:59 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: merge JSON 1.7.5.</div><div class='del'>-	  fix tests and other fixes.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 18:30:29 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): move refined methods from the origin</div><div class='del'>-	  of a class to the class, because refinements should have priority</div><div class='del'>-	  over prepended modules.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 18:27:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (zone_str): lookup or insert by using st_update() at once.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 15:30:11 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -fno-omit-frame-pointer if libexecinfo is used.</div><div class='del'>-	  At least on FreeBSD ruby will crash on getting C backtrace</div><div class='del'>-	  when it is compiled with other than -O0.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: enable backtrace on FreeBSD even if with optimizations.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 16:08:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_normalized_file_list_non_file_directory):</div><div class='del'>-	  use File::NULL for portability if possible.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 16:07:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_flag_t): name a magic number for NOEX_SAFE and</div><div class='del'>-	  NOEX_WITH as NOEX_SAFE_SHIFT_OFFSET.</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_type_t, method_optimized_type): C89 forbids a</div><div class='del'>-	  comma after the last element in enum.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity), vm_eval.c (vm_call0_body),</div><div class='del'>-	  vm_insnhelper.c (vm_call_method): add VM_METHOD_TYPE__MAX case.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 14:16:35 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/class_module.rb:  Added RDoc::ClassModule#documented? which</div><div class='del'>-	  checks comment_location.  Hide RDoc::ClassModule#comment=.</div><div class='del'>-	* test/rdoc/test_rdoc_class_module.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml:</div><div class='del'>-	  Fix display of the table of contents in the sidebar.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/template/darkfish/table_of_contents.rhtml:</div><div class='del'>-	  Use #comment_location when displaying classes or modules.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_store.rb:  Use comment_location.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 13:40:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): no uninitialized instance variables</div><div class='del'>-	  warnings for non-object if attr method.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 06:43:37 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_parameters): fix limit for optional arguments.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: tests for above.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): update documentation</div><div class='del'>-	  with keyword arguments. [Bug #7540] [ruby-core:50735]</div><div class='del'>-</div><div class='del'>-Wed Dec 12 03:45:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): pass exceptions while handling an exception.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks): propagate exceptions.</div><div class='del'>-	  revert r38293 partially.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 03:09:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (Progress#initialize): add --verbose option and show</div><div class='del'>-	  messages in one line unless --verbose is given.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 01:47:02 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_refinement): make the method table of an iclass</div><div class='del'>-	  for a refinement that of the refinement, not that of the origin of</div><div class='del'>-	  the refinement, which is set by rb_include_class_new().  This</div><div class='del'>-	  change is needed to make module prepend into a refinement work</div><div class='del'>-	  properly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 01:05:04 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: add --disable-rubygem to both MINIRUBY and RUBY.</div><div class='del'>-	  On making miniprelude.c, it seems use MINIRUBY. this fixes #7541</div><div class='del'>-	  but rubygems also needs to be fixed for older rubies.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 00:32:11 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_func.rb (test_name_with_block, test_bind, test_qsort1):</div><div class='del'>-	  call unbind to release the callback closure because maximum number</div><div class='del'>-	  of callbacks is limited to DL::MAX_CALLBACK (== 5) with pure DL</div><div class='del'>-	  without Fiddle.</div><div class='del'>-</div><div class='del'>-Wed Dec 12 00:13:34 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function#unbind, #bound?): suppress</div><div class='del'>-	  NoMethodError when Fiddle is available. [ruby-core:50756] [Bug #7543]</div><div class='del'>-	* test/dl/test_func.rb (test_bound*, test_unbind*): tests for the above.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 19:38:37 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/function.c (Fiddle::Function.new): new keyword argument</div><div class='del'>-	  :name to set the name attribute.</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):</div><div class='del'>-	  set function name by using the :name keyword argument.</div><div class='del'>-	  Re-fixes r38243. [ruby-core:50566]</div><div class='del'>-	* test/fiddle/test_function.rb (test_name): test for the :name keyword</div><div class='del'>-	  argument and Fiddle::Function#name.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 16:57:33 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk:  Added --pages-dir to rdoc creation.  Now doc/ items show</div><div class='del'>-	  up at top-level.</div><div class='del'>-	* .document:  Moved doc/* entries to doc/.document</div><div class='del'>-	* doc/.document:  ditto</div><div class='del'>-</div><div class='del'>-Tue Dec 11 16:44:37 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb:  Added --page-dir option for moving pages in</div><div class='del'>-	  doc/ to the top-level.</div><div class='del'>-	* lib/rdoc/rdoc.rb:  ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_options.rb:  Test for the above.</div><div class='del'>-	* test/rdoc/test_rdoc_rdoc.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 15:24:05 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb:  Hide private methods from RDoc.</div><div class='del'>-</div><div class='del'>-Tue Dec 11 15:11:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (BASERUBY): add --disable-gem to avoid load gems.</div><div class='del'>-	  [Bug #7541] [ruby-core:50736]</div><div class='del'>-</div><div class='del'>-Tue Dec 11 12:00:19 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/extconf.rb: Fix typo</div><div class='del'>-	  by Santiago Pastorino &lt;santiago@wyeworks.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/221 fix GH-221</div><div class='del'>-</div><div class='del'>-Tue Dec 11 01:53:37 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix: alias {row|column}_size to {row|column}_count and use</div><div class='del'>-	  the latter.</div><div class='del'>-	  [Bug #7369] [ruby-core:49409]</div><div class='del'>-</div><div class='del'>-Tue Dec 11 00:26:58 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* fix the behavior when a module is included into a refinement.</div><div class='del'>-	  This change is a little tricky, so it might be better to prohibit</div><div class='del'>-	  module inclusion to refinements.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RMODULE_INCLUDED_INTO_REFINEMENT): new flag</div><div class='del'>-	  to represent that a module (iclass) is included into a refinement.</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): set RMODULE_INCLUDED_INTO_REFINEMENT</div><div class='del'>-	  if klass is a refinement.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): set the superclass of a refinement to the</div><div class='del'>-	  refined class for super.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_refinement): skip the above superclass (the</div><div class='del'>-	  refined class) when creating iclasses for refinements.  Otherwise,</div><div class='del'>-	  `using Refinement1; using Refinement2' creates iclasses:</div><div class='del'>-	  &lt;Refinement2&gt; -&gt; &lt;RefinedClass&gt; -&gt; &lt;Refinement1&gt; -&gt; RefinedClass,</div><div class='del'>-	  where &lt;Module&gt; is an iclass for Module, so RefinedClass is</div><div class='del'>-	  searched before Refinement1.  The correct iclasses should be</div><div class='del'>-	  &lt;Refinement2&gt; -&gt; &lt;Refinement1&gt; -&gt; RefinedClass.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_normal_superclass): if klass is an</div><div class='del'>-	  iclass for a refinement, use the refinement's superclass instead</div><div class='del'>-	  of the iclass's superclass.  Otherwise, multiple refinements are</div><div class='del'>-	  searched by super.  For example, if a refinement Refinement2</div><div class='del'>-	  includes a module M (i.e., Refinement2 -&gt; &lt;M&gt; -&gt; RefinedClass,</div><div class='del'>-	  and if refinements iclasses are &lt;Refinement2&gt; -&gt; &lt;M&gt;' -&gt;</div><div class='del'>-	  &lt;Refinement1&gt; -&gt; RefinedClass, then super in &lt;Refinement2&gt; should</div><div class='del'>-	  use Refinement2's superclass &lt;M&gt; instead of &lt;Refinement2&gt;'s</div><div class='del'>-	  superclass &lt;M&gt;'.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): do not raise a</div><div class='del'>-	  NotImplementError if current_defined_class is a module included</div><div class='del'>-	  into a refinement.  Because of the change of</div><div class='del'>-	  vm_search_normal_superclass(), the receiver might not be an</div><div class='del'>-	  instance of the module('s iclass).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 18:35:25 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_without_refinements): use</div><div class='del'>-	  rb_resolve_refined_method() to search superclasses if</div><div class='del'>-	  me-&gt;def-&gt;orig_me is 0.  This change fixes make test-all</div><div class='del'>-	  TESTS="json ruby/test_refinement.rb".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 17:59:07 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/win32/*: library ports from DL to Fiddle.</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/extconf.rb: check fiddle.  often case dl compiled prior</div><div class='del'>-	  to fiddle, so this change is no meaning.  in most cases, simply</div><div class='del'>-	  fiddle/win32 overwrite dl/win32.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 15:23:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks): exceptions in event</div><div class='del'>-	  hooks should not propagate outside.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 15:11:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): count flip-flop state in local iseq</div><div class='del'>-	  not in each iseqs, so that the keys can be other than hidden</div><div class='del'>-	  strings.  [ruby-core:47253] [Bug #6899]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (lep_svar_get, lep_svar_set, vm_getspecial): store</div><div class='del'>-	  flip-flop states in an array instead of a hash.</div><div class='del'>-</div><div class='del'>-	* iseq.c (set_relation): main iseq also can has local scope.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 10:36:12 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/magic-file.rb: set a encoding, which is detected from</div><div class='del'>-	  the file to read, to the internal encoding.</div><div class='del'>-	  [Bug #4281][ruby-dev:43036]</div><div class='del'>-</div><div class='del'>-Mon Dec 10 09:40:19 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/cmake_builder.rb:  Added a builder for cmake.</div><div class='del'>-	* lib/rubygems/ext.rb:  ditto.</div><div class='del'>-	* lib/rubygems/installer.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_ext_cmake_builder.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Mon Dec 10 09:13:08 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Omit directories when packaging gems like</div><div class='del'>-	  RubyGems 1.8.x</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 17:36:59 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use</div><div class='del'>-	  refinements.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): Kernel#method, Kernel#public_method,</div><div class='del'>-	  Module#instance_method, and Module#public_instance_method should</div><div class='del'>-	  not use refinements.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp): Kernel#respond_to? should not use</div><div class='del'>-	  refinements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Dec  9 06:19:04 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markdown/entities.rb:  Added documentation.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb:  Updated style</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ruby_lex.rb:  Parse characters up to \u{FFFFF}</div><div class='del'>-	* test/rdoc/test_rdoc_ruby_lex.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 22:38:35 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): don't override Module#include.  It's</div><div class='del'>-	  unnecessary now because refinements are activated only in refine</div><div class='del'>-	  blocks.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 22:33:26 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove Module#refinements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: remove tests for Module#refinements.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 13:17:55 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (top_using): raise a RuntimeError if using is called in a</div><div class='del'>-	  module definition or a method definition.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 15:01:35 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/cleanup_command.rb:  Skip default gems when</div><div class='del'>-	  cleaning up.</div><div class='del'>-	* test/rubygems/test_gem_commands_cleanup_command.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/query_command.rb:  Fixed listing remote gems.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_installer.rb:  Ignore non-files when looking</div><div class='del'>-	  for local gems.</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/uninstaller.rb:  The user must confirm uninstalling gems</div><div class='del'>-	  that have dependencies.</div><div class='del'>-	* test/rubygems/test_gem_uninstaller.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (module Gem):  Updated version.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/*.pem:  Updated to run in FIPS mode.</div><div class='del'>-	* test/rubygems/test_gem_security.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_security_signer.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 12:34:01 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_normal_superclass): super in a</div><div class='del'>-	  refinement always uses the refined class as its superclass.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 11:59:59 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): raise an ArgumentError if a given</div><div class='del'>-	  block is of a Proc object.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): store refined methods in inline</div><div class='del'>-	  cache to improve performance.  It's safe now because blocks cannot</div><div class='del'>-	  be yielded with different refinements in the new specification.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 11:17:53 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine), vm_eval.c (rb_yield_refine_block):</div><div class='del'>-	  Module#refine activates all refinements defined in that module</div><div class='del'>-	  only in a given block.</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_proc, sym_call): don't use refinements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 09:24:42 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c:  Completed documentation for</div><div class='del'>-	  OpenSSL::X509::Name.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 07:57:12 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (iow_size): return size of internal object</div><div class='del'>-	  for ObjectSpace.memsize_of().</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Dec 08 02:39:23 2012  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: A fix for row comparison by Stephen Wattam.  [Bug #7528]</div><div class='del'>-</div><div class='del'>-Sat Dec  8 01:27:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to</div><div class='del'>-	  check all reports.</div><div class='del'>-</div><div class='del'>-Sat Dec  8 00:10:34 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (yield_under, eval_under): do not activate refinements</div><div class='del'>-	  of the receiver in module_eval and instance_eval.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_Init_refinement): undef Class#refine.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_Init_refinement): remove Module#using.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_Init_refinement): main.using should be private.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): the argument of Module#refine should not</div><div class='del'>-	  be a module.</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): do not activate refinements in a class or</div><div class='del'>-	  module.</div><div class='del'>-</div><div class='del'>-Fri Dec  7 23:42:11 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/refinement/refinement.c: include ruby/ruby.h instead of the</div><div class='del'>-	  declaration of rb_warn().</div><div class='del'>-</div><div class='del'>-Fri Dec  7 16:07:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/etc.rd: Removed stale documentation file</div><div class='del'>-	* ext/etc/etc.c:  Merged documentation from doc/etc.rd and updated</div><div class='del'>-	  rdoc, added documentation for Etc::Passwd and Etc::Group</div><div class='del'>-</div><div class='del'>-Fri Dec  7 16:00:57 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to</div><div class='del'>-	  retry skipped test.  this fix makes 40% faster the whole test-all</div><div class='del'>-	  with -j5 on Windows.</div><div class='del'>-</div><div class='del'>-Fri Dec  7 14:22:29 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/to_joined_paragraph.rb:  Completed documentation</div><div class='del'>-	* lib/rdoc/parser/c.rb:  ditto</div><div class='del'>-	* lib/rdoc/parser/changelog.rb:  ditto</div><div class='del'>-	* lib/rdoc/servlet.rb:  ditto</div><div class='del'>-	* lib/rdoc/store.rb:  ditto</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/store.rb:  Improved HTML error page.  Completed</div><div class='del'>-	  documentation</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb:  Fixed bug attaching a comment to A::B = 42</div><div class='del'>-	* test/rdoc/test_rdoc_parser_ruby.rb:  Test for above</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_comment.rb:  Removed garbage</div><div class='del'>-</div><div class='del'>-Fri Dec  7 14:03:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): since async_interrupt_timing</div><div class='del'>-	  re-raises a deferred exception, replace the timeout exception with</div><div class='del'>-	  Timeout::Error after it.  [Bug #7503]</div><div class='del'>-</div><div class='del'>-Fri Dec  7 13:07:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/forwardable.rd: Remove stale documentation file</div><div class='del'>-	* lib/forwardable.rb: Merge documentation from doc/forwardable.rd</div><div class='del'>-</div><div class='del'>-Fri Dec  7 09:47:35 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump): dump timezone string to private instance variable</div><div class='del'>-	  on marshaling.</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): load timezone string from private instance</div><div class='del'>-	  variable named 'zone'.</div><div class='del'>-</div><div class='del'>-Fri Dec  7 01:15:07 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/function.rb (Fiddle::Function#name): new</div><div class='del'>-	  attribute needed to switch Win32::Registry from DL to Fiddle.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):</div><div class='del'>-	  set function name to the returned Fiddle::Function object.</div><div class='del'>-</div><div class='del'>-Fri Dec  7 00:11:44 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: fix some tests to use neither</div><div class='del'>-	  Module#using nor Module#module_eval.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 23:27:50 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_Init_refinement): a new function to enable</div><div class='del'>-	  Refinements with a warning "Refinements are experimental...".</div><div class='del'>-</div><div class='del'>-	* ext/refinement/refinement.c, ext/refinement/extconf.rb: a new</div><div class='del'>-	  extension library to enable Refinements.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 18:23:05 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* revised r37993 to avoid SEGV/ILL in tests.  In r37993, a method</div><div class='del'>-	  entry with VM_METHOD_TYPE_REFINED holds only the original method</div><div class='del'>-	  definition, so ci-&gt;me is set to a method entry allocated in the</div><div class='del'>-	  stack, and it causes SEGV/ILL.  In this commit, a method entry</div><div class='del'>-	  with VM_METHOD_TYPE_REFINED holds the whole original method entry.</div><div class='del'>-	  Furthermore, rb_thread_mark() is changed to mark cfp-&gt;klass to</div><div class='del'>-	  avoid GC for iclasses created by copy_refinement_iclass().</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): add a method entry with</div><div class='del'>-	  VM_METHOD_TYPE_REFINED to the class refined by the refinement if</div><div class='del'>-	  the target module is a refinement.  When a method entry with</div><div class='del'>-	  VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with</div><div class='del'>-	  the same name is searched in refinements.  If such a method is</div><div class='del'>-	  found, the method is invoked.  Otherwise, the original method in</div><div class='del'>-	  the refined class (rb_method_definition_t::body.orig_me) is</div><div class='del'>-	  invoked.  This change is made to simplify the normal method lookup</div><div class='del'>-	  and to improve the performance of normal method calls.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (EXPR1, search_method, rb_method_entry),</div><div class='del'>-	  vm_eval.c (rb_call0, rb_search_method_entry): do not use</div><div class='del'>-	  refinements for method lookup.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): search methods in refinements if</div><div class='del'>-	  ci-&gt;me is VM_METHOD_TYPE_REFINED.  If the method is called by</div><div class='del'>-	  super (i.e., ci-&gt;call == vm_call_super_method), skip the same</div><div class='del'>-	  method entry as the current method to avoid infinite call of the</div><div class='del'>-	  same method.</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): add a refined method entry for each</div><div class='del'>-	  method defined in a module included in a refinement.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): set an empty table to</div><div class='del'>-	  RCLASS_M_TBL(klass) to add refined method entries, because</div><div class='del'>-	  refinements should have priority over prepended modules.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): use rb_method_entry_with_refinements() to get</div><div class='del'>-	  a refined method.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): mark cfp-&gt;klass for iclasses created by</div><div class='del'>-	  copy_refinement_iclass().</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM), cont.c (fiber_init): initialize th-&gt;cfp-&gt;klass.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_inline_method_cache): do not skip</div><div class='del'>-	  the test because it should pass successfully.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_redefine_refined_method): new</div><div class='del'>-	  test for the case a refined method is redefined.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 17:29:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): flush string content between new</div><div class='del'>-	  line and :string_embexpr.  [ruby-core:48703] [Bug #7255]</div><div class='del'>-</div><div class='del'>-Thu Dec  6 16:35:21 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/helper.rb:  Load envutil correctly.  Removed useless rescue</div><div class='del'>-	  for signal propagation tests</div><div class='del'>-	* lib/rake/file_utils.rb:  Prefer the built ruby.</div><div class='del'>-	* test/rake/test_rake_functional.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu Dec  6 15:20:34 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/context.rb:  Don't warn for duplicate methods while loading.</div><div class='del'>-	* test/rdoc/test_rdoc_context.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 14:26:22 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/command_manager.rb:  Removed string concatenation</div><div class='del'>-	  syntax.  [Bug #6265]</div><div class='del'>-	* lib/rubygems/commands/install_command.rb:  ditto</div><div class='del'>-	* lib/rubygems/commands/uninstall_command.rb:  ditto</div><div class='del'>-	* lib/rubygems/indexer.rb:  ditto</div><div class='del'>-	* lib/rubygems/security/policy.rb:  ditto</div><div class='del'>-	* lib/rubygems/security.rb:  ditto</div><div class='del'>-	* lib/rubygems/uninstaller.rb:  ditto</div><div class='del'>-	* test/rubygems/test_gem_commands_cert_command.rb:  ditto</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  ditto</div><div class='del'>-	* test/rubygems/test_gem_security.rb:  ditto</div><div class='del'>-	* test/rubygems/test_gem_security_policy.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu Dec  6 14:10:08 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Set rubygems_version before validation.</div><div class='del'>-	  Fixes issue with bundler.</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/remote_fetcher.rb:  Only update the cache when we have</div><div class='del'>-	  permission.  [ruby-trunk - Bug #7509]</div><div class='del'>-	* lib/rubygems/source.rb (class Gem):  ditto</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb:  Test for above.</div><div class='del'>-	* lib/rubygems/test_utilities.rb:  ditto</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Derive base_dir properly for default</div><div class='del'>-	  gems.  [ruby-trunk - Bug #7496]</div><div class='del'>-	* test/rubygems/test_gem_specification.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Untaint Dir.pwd when searching for gemdeps files</div><div class='del'>-	  for operation under $SAFE=1</div><div class='del'>-</div><div class='del'>-Thu Dec 06 12:07:11 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: TracePoint#enable should not cause an error</div><div class='del'>-	  when it is already enabled. TracePoint#disable is too.</div><div class='del'>-	  [ruby-core:50561] [ruby-trunk - Bug #7513]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 07:19:58 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*:  Improved display of ChangeLog files as HTML.</div><div class='del'>-	* test/rdoc*:  Test for above.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 04:34:19 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_uninterruptible): helper function for providing</div><div class='del'>-	  temporary async_interrupt_timing(Object =&gt; :defer)</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_p): use rb_uninterruptible.</div><div class='del'>-	* io.c (rb_f_p_internal): helper function for rb_f_p().</div><div class='del'>-	* io.c (struct rb_f_p_arg): new struct for rb_f_p_internal.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_and_p): test for</div><div class='del'>-	  the above.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 04:27:10 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): check interrupt before io issue.</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_and_io):</div><div class='del'>-	  test for the above.</div><div class='del'>-</div><div class='del'>-Thu Dec  6 01:10:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_method_call_status): use Qundef as no self instead of</div><div class='del'>-	  the current self.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (send_internal): public_send does not consider how it is</div><div class='del'>-	  called, as mentioned in r14173.  patched by charliesome (Charlie</div><div class='del'>-	  Somerville).  [ruby-core:50489] [Bug #7499]</div><div class='del'>-</div><div class='del'>-Wed Dec  5 23:50:23 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (getrusage_time): uses clock_gettime() with</div><div class='del'>-	  CLOCK_PROCESS_CPUTIME_ID when available, which provides a 1ns</div><div class='del'>-	  precision on linux. [ruby-core:50495] [Bug #7500]</div><div class='del'>-	  patched by Aman Gupta.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 22:46:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_proc): save the proc made from the given block so</div><div class='del'>-	  that it will not get collected.  [ruby-core:50545] [Bug #7507]</div><div class='del'>-</div><div class='del'>-Wed Dec  5 22:13:57 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function#bind): When Fiddle is used,</div><div class='del'>-	  @ptr should be updated. This fixes SEGV raised in DL::Function#call</div><div class='del'>-	  after calling DL::Function#bind. [Bug #7516] [ruby-dev:46708]</div><div class='del'>-</div><div class='del'>-	* test/dl/test_func.rb (test_bind): test for the above</div><div class='del'>-</div><div class='del'>-Wed Dec  5 18:53:00 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_s_async_interrupt_timing): have to check ints</div><div class='del'>-	  before jumping out.</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_with_return): add test</div><div class='del'>-	  rescue has to catch a queued async exception at the time of return.</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_with_break): add test</div><div class='del'>-	  rescue has to catch a queued async exception at the time of break.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 16:54:28 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb: suppress warning.</div><div class='del'>-	  A patch from NAKAMURA Usaku.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 16:06:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/changelog.rb:  Parse more ChangeLog file variations.</div><div class='del'>-	* test/rdoc/test_rdoc_parser_changelog.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 12:17:11 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function#initialize, DL::Function#bind):</div><div class='del'>-	  ABI should be set by using CFunc#calltype even when Fiddle is used.</div><div class='del'>-	  When Fiddle is used and a block is given, name should not be ignored.</div><div class='del'>-	  [ruby-core:50562] [Bug #7514]</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/import.rb (DL::Importer#bind_function): should respect</div><div class='del'>-	  abi and name when Fiddle is used.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_func.rb (test_name_with_block): test for "name" method</div><div class='del'>-	  with giving a block.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 11:55:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/shell.rd, doc/shell.rd.ja: Removed stale doc files</div><div class='del'>-	* lib/shell.rb, lib/shell/*: Merge and updates docs from doc/shell.rd*</div><div class='del'>-</div><div class='del'>-Wed Dec  5 11:42:38 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: disable trace.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 11:37:37 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#macro_defined?): use clearly different</div><div class='del'>-	  strings from conflict markers.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 04:25:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/README: Add rdoc modeline directive and formatting libs</div><div class='del'>-</div><div class='del'>-Wed Dec  5 04:04:02 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_blocking): bugfix</div><div class='del'>-	  about deferred check</div><div class='del'>-</div><div class='del'>-Wed Dec  5 03:35:37 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_CHECK_INTS_BLOCKING): check async queue everytime.</div><div class='del'>-	* thread.c (sleep_forever): check RUBY_VM_CHECK_INTS_BLOCKING first.</div><div class='del'>-	* thread.c (sleep_timeval): ditto.</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_blocking): add a test</div><div class='del'>-	  exceptions are correctly deferred and raised on :on_blocking context.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 02:36:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, defs/id.def, template/id.c.tmpl: generate id.c as well as id.h.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 00:56:21 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_owned_p): new method that return current</div><div class='del'>-	  thread have the target mutex or not. [Feature #7505] [ruby-dev:46697]</div><div class='del'>-	* test/ruby/test_thread.rb (test_mutex_owned, test_mutex_owned2):</div><div class='del'>-	  test for the above.</div><div class='del'>-	* NEWS: new for the above.</div><div class='del'>-</div><div class='del'>-Wed Dec  5 00:05:47 2012  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (make_compiler, add_put_cmd, add_insert_cmd): extract</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 18:21:04 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb (Memory): use fiddle/types if available.</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb (Memory::Win32): :stdcall is needed on</div><div class='del'>-	  x86 WIN32. This commit partly reverts r38054.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 18:05:58 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/types.rb: copied from ext/dl/lib/dl/types.rb</div><div class='del'>-	  and modified for Fiddle, needed for migration from DL to Fiddle.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 17:57:09 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):</div><div class='del'>-	  should respect call_type for migration from DL to Fiddle.</div><div class='del'>-	  [Bug #7484] [ruby-core:50405]</div><div class='del'>-</div><div class='del'>-Tue Dec  4 16:54:00 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* .document:  Added ChangeLog and doc/ChangeLog-* as documentation</div><div class='del'>-</div><div class='del'>-Tue Dec  4 16:47:46 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/changelog.rb:  Added a ChangeLog parser to RDoc.</div><div class='del'>-	* lib/rdoc/parser.rb:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_parser_changelog.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 16:23:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (path2class, path2module): use PRIsVALUE.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, marshal_dump, marshal_load): use</div><div class='del'>-	  rb_check_funcall if possible.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, marshal_dump, r_object0, marshal_load): use</div><div class='del'>-	  RB_GC_GUARD() (directly or indirectly) instead of volatile.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path_to_class): prevent the argument from GC.</div><div class='del'>-</div><div class='del'>-Tue Dec 04 13:55:07 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: enable optimization - operand unification.</div><div class='del'>-	  Operand unification technique enable to combine</div><div class='del'>-	  an instruction and specific operands and make new</div><div class='del'>-	  instruction.</div><div class='del'>-</div><div class='del'>-	* defs/opt_operand.def: add several configuration</div><div class='del'>-	  of operand unification.</div><div class='del'>-</div><div class='del'>-	* insns.def: use `int' instead to suppress warning.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 17:58:53 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: replace parser-&gt;enc with current_enc.</div><div class='del'>-</div><div class='del'>-Tue Dec  4 08:33:46 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT:  Converted to RDoc format</div><div class='del'>-	* README.EXT.ja:  ditto</div><div class='del'>-</div><div class='del'>-Tue Dec  4 08:32:10 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb:  Fixed ri page display for files with</div><div class='del'>-	  extensions.</div><div class='del'>-	* test/rdoc/test_rdoc_ri_driver.rb:  Test for above</div><div class='del'>-</div><div class='del'>-Tue Dec  4 04:11:50 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* .document:  Add NEWS for `ri ruby:NEWS`</div><div class='del'>-	* NEWS:  Set format as rdoc</div><div class='del'>-	* doc/NEWS-1.8.7:  ditto</div><div class='del'>-	* doc/NEWS-1.9.1:  ditto</div><div class='del'>-	* doc/NEWS-1.9.2:  ditto</div><div class='del'>-	* doc/NEWS-1.9.3:  ditto</div><div class='del'>-</div><div class='del'>-Mon Dec  3 20:37:22 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: check VM_COLLECT_USAGE_DETAILS.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 20:28:02 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction):</div><div class='del'>-	  change condition of using `opt_send_simple'.</div><div class='del'>-	  More method invocations can be simple.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 20:03:38 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_objectspace.rb: skip RuntimeError</div><div class='del'>-	  which says a message "can't modify frozen File".</div><div class='del'>-	  Is that correct behavior?</div><div class='del'>-</div><div class='del'>-Mon Dec 03 20:00:19 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: vm_analysis_insn should be static.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 19:10:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (Init_Random), rational.c (Init_Rational): make marshal</div><div class='del'>-	  methods private.  [Feature #6539]</div><div class='del'>-</div><div class='del'>-Mon Dec  3 18:29:27 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h: iseq_catch_table_entry::catch_type should be</div><div class='del'>-	  Fixnum because they are pushed into Array in a compiler.</div><div class='del'>-	  [Bug #7502]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_objectspace.rb: add a test of this issue.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 18:25:16 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl (preserved_ids): "empty?" is not an attribute name.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 16:23:09 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (vm_backtrace_to_ary): check negative size (2nd arg).</div><div class='del'>-</div><div class='del'>-Mon Dec  3 15:50:33 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-mode-set-encoding): Unbreak by</div><div class='del'>-	  fixing a typo, s/set/setq/.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 14:14:19 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): joke shouldn't use id.h defined ids.</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id): ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix dependency.</div><div class='del'>-</div><div class='del'>-Mon Dec  3 12:43:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-block-end-re, ruby-delimiter)</div><div class='del'>-	  (ruby-mode-syntax-table, ruby-parse-partial, ruby-beginning-of-indent):</div><div class='del'>-	  merge from Emacs.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-calculate-indent): fix indentation of</div><div class='del'>-	  argument lines in parentheses.  [Bug #5140]</div><div class='del'>-</div><div class='del'>-Mon Dec  3 07:52:41 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb:  Improved modeline support.  Patch by nobu.</div><div class='del'>-	* test/rdoc/test_rdoc_parser.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Sun Dec  3 00:06:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_new): stop checking string</div><div class='del'>-	  taintness.  [Bug #5508] [ruby-core:40510]</div><div class='del'>-</div><div class='del'>-Sun Dec  2 19:26:47 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (RB_GC_SAVE_MACHINE_CONTEXT, rb_gc_save_machine_context):</div><div class='del'>-	  extract rb_gc_save_machine_context to RB_GC_SAVE_MACHINE_CONTEXT.</div><div class='del'>-	  NOTE: machine_regs and machine_stack_end must be set in current scope.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 18:46:24 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, enum.c, insns.def, io.c, numeric.c, parse.y, process.c,</div><div class='del'>-	  range.c: use prepared IDs.</div><div class='del'>-	  A patch from charliesome (Charlie Somerville).</div><div class='del'>-	  [Bug #7495]</div><div class='del'>-</div><div class='del'>-	* common.mk: add dependency to id.h.</div><div class='del'>-</div><div class='del'>-	* common.mk: replace ID_H_INCLUDES with id.h.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 16:48:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb (rdoc): Clean up usage, add example,</div><div class='del'>-	  note ArgumentError on WeakRef.new</div><div class='del'>-</div><div class='del'>-Sun Dec  2 16:45:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (WeakMap): Add doc for internal reference, use lib/weakref.rb</div><div class='del'>-</div><div class='del'>-Sun Dec  2 07:24:23 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb:  Parse files with a -*- rdoc -*- modeline</div><div class='del'>-	* test/rdoc/test_rdoc_parser.rb:  Test for above</div><div class='del'>-</div><div class='del'>-Sun Dec  2 06:02:00 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): add volatile for preventing</div><div class='del'>-	  harmful optimization.  [ruby-dev:46665] [Bug #7468]</div><div class='del'>-</div><div class='del'>-Sun Dec  2 05:01:58 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_line_trace_each): iterate `line' event only.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add a test for this change.</div><div class='del'>-</div><div class='del'>-Sun Dec  2 02:46:04 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: add TracePoint#inspect.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test for this change.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 21:18:19 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add a test for</div><div class='del'>-	  Thread::Backtrace::Location#inspect.</div><div class='del'>-	  BTW, tests for `caller_locations' are not enough.</div><div class='del'>-	  Any volunteers are welcome.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 21:06:58 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (location_inspect_m): add</div><div class='del'>-	  Thread::Backtrace::Location#inspect.</div><div class='del'>-	  It same as loc_obj.to_s.inspect.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 19:24:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_puts): recurse for the argument itself, not converted</div><div class='del'>-	  array elements.  [ruby-core:42444] [Bug #5986]</div><div class='del'>-</div><div class='del'>-Sat Dec  1 19:01:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, r_object0): call private marshal methods.</div><div class='del'>-	  [Feature #6539]</div><div class='del'>-</div><div class='del'>-Sat Dec  1 18:52:22 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/cleanup_command.rb:  Fix cleanup command for</div><div class='del'>-	  multiple gems.  [ruby-trunk - #7481] by Kouhei Sutou</div><div class='del'>-	* test/rubygems/test_gem_commands_cleanup_command.rb:  Test for above.</div><div class='del'>-	* lib/rubygems.rb:  Autoload Gem::Source to prevent test failures</div><div class='del'>-</div><div class='del'>-Sat Dec  1 18:17:00 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex), time.c (Init_Time): make marshal methods</div><div class='del'>-	  private.  [Feature #6539]</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): make remove_instance_variable public.</div><div class='del'>-	  [Feature #6539]</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id), template/id.h.tmpl: add initialize_{copy,clone,dup}</div><div class='del'>-	  and respond_to_missing?.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): make above methods private.</div><div class='del'>-	  [Feature #6539]</div><div class='del'>-</div><div class='del'>-Sat Dec  1 16:40:22 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: move ConditionVariable related test</div><div class='del'>-	  into test/thread/test_cv.rb.</div><div class='del'>-	* test/thread/test_cv.rb: new file.</div><div class='del'>-	* test/thread/test_cv.rb (test_condvar_empty_signal): new tests.</div><div class='del'>-	* test/thread/test_cv.rb (test_condvar_empty_broadcast): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 15:14:25 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_cv_wait_deadlock): enable</div><div class='del'>-	  cv deadlock test.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 14:23:33 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable): use hash instead of array for</div><div class='del'>-	  @waiters.</div><div class='del'>-	* test/thread/test_queue.rb (test_sized_queue_and_wakeup): remove</div><div class='del'>-	  a test because @waiters no longer have a chance to duplicated. Now it's</div><div class='del'>-	  a hash.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 17:16:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-curlies): use kill-region</div><div class='del'>-	  instead of interactive command delete-backward-char.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 17:12:55 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/inf-ruby.el (inferior-ruby-mode): fix the</div><div class='del'>-	  compilation-shell-minor-mode configuration.  a patch by</div><div class='del'>-	  j2petkov (Jean-Christophe Petkovich) in [ruby-core:46518].</div><div class='del'>-	  [Bug #6742]</div><div class='del'>-</div><div class='del'>-Sat Dec  1 15:05:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): use NAMLEN() to tell the length of d_name</div><div class='del'>-	  instead of strlen(), which can access beyond the boundary.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 13:48:13 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Don't add default gems to $LOAD_PATH</div><div class='del'>-	  as they are already there.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 12:22:17 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* re-added r38053 that is reverted by r38061. Problems by r38053</div><div class='del'>-	  are resolved by r38096. r38096 removed GEM_SKIP configuration.</div><div class='del'>-</div><div class='del'>-	  The below is ChangeLog of r38053:</div><div class='del'>-</div><div class='del'>-	* defs/default_gems: Add base directory column.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb:</div><div class='del'>-	  - Install .gemspecs of default gem to</div><div class='del'>-	    #{GEM_HOME}/specifications/default/.</div><div class='del'>-	  - Update files parameter of .gemspecs by relative path from</div><div class='del'>-	    library directory.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 11:09:12 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class_path_no_cache): add a function to get the class</div><div class='del'>-	  path without caching the computed path. Some classes are frozen, and</div><div class='del'>-	  will raise an exception without this.</div><div class='del'>-</div><div class='del'>-	* probes.d (cmethod-entry, cmethod-return): separate cmethods from</div><div class='del'>-	  regular methods to match set trace func.</div><div class='del'>-</div><div class='del'>-	* probes_helper.h: refactor macros.  Fix probes to avoid calling</div><div class='del'>-	  #inspect when profiling.</div><div class='del'>-</div><div class='del'>-	* insns.def: update for use with new macros.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto</div><div class='del'>-</div><div class='del'>-	* test/dtrace/test_singleton_function.rb: fix test for new output.</div><div class='del'>-</div><div class='del'>-	* test/dtrace/test_cmethod.rb: test the cmethod probes.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 09:44:16 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_options.rb:  Windows drive letters are</div><div class='del'>-	  case-insensitive.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 09:42:13 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Search for gem deps file up the directory tree.</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 09:33:32 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb:  Set GEM_HOME, GEM_PATH and GEM_SKIP to empty set.</div><div class='del'>-	  With default_gem support in RubyGems GEM_SKIP prevents loading of</div><div class='del'>-	  built-in gems.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 07:16:17 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ADD_CATCH_ENTRY): add a cast to fix SEGV with x64 mingw</div><div class='del'>-	  on Windows 8. Without cast, 0 might be non zero value at higher bits</div><div class='del'>-	  in rb_ary_new3().</div><div class='del'>-	  [ruby-core:50258] [Bug #7456]</div><div class='del'>-</div><div class='del'>-Sat Dec  1 04:07:57 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser.utf8): remove unused property.</div><div class='del'>-</div><div class='del'>-	* parse.y (UTF8_ENC): remove unused macro.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_utf8): use rb_utf8_encoding() directly.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 03:49:45 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb (Sync_m#sync_synchronize): add Thread.async_interrupt_timing</div><div class='del'>-	  for protecting from async interrupt.</div><div class='del'>-	* lib/sync.rb (Sync_m#sync_lock): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 03:38:04 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable#broadcast): s/RuntimeError/StandardError/</div><div class='del'>-	* lib/thread.rb (ConditionVariable#signal): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 03:29:52 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (SizedQueue#pop): rewrite by using ConditionVariable.</div><div class='del'>-	* lib/thread.rb (SizedQueue#push): ditto.</div><div class='del'>-	* lib/thread.rb (SizedQueue#max): ditto.</div><div class='del'>-	* lib/thread.rb (Queue#pop): ditto.</div><div class='del'>-	* lib/thread.rb (Queue#push): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (SizedQueue#num_waiting): adopt the above changes.</div><div class='del'>-	* lib/thread.rb (SizedQueue#initialize): ditto.</div><div class='del'>-	* lib/thread.rb (Queue#num_waiting): ditto.</div><div class='del'>-	* lib/thread.rb (Queue#initialize): ditto.</div><div class='del'>-	* test/thread/test_queue.rb (test_sized_queue_and_wakeup): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 03:45:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (Thread.async_interrupt_timing): fix RDoc.</div><div class='del'>-	  :never is not used any more.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:56:19 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: add RubyVM::InstructionSequence (ISeq) inspection methods.</div><div class='del'>-	  * ISeq#path returns path of this ISeq written.</div><div class='del'>-	  * ISeq#absolute_path returns absolute path.</div><div class='del'>-	  * ISeq#label returns label (method name and so on).</div><div class='del'>-	  * ISeq#base_label returns base label (see Thread::Backtrace::Location).</div><div class='del'>-	  * ISeq#first_lineno returns first line number of this ISeq.</div><div class='del'>-	  * ISeq.of(obj) returns ISeq object which obj (Proc or Method)</div><div class='del'>-	    is contains.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add tests.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:58:51 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_event_flag_t):  Maintain integer precision</div><div class='del'>-	  for clang error (VALUE aka unsigned long vs unsigned int)</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:53:18 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb:  Use Gem.read_binary</div><div class='del'>-	  instead of File.binread for ruby 1.8 compatibility in the rubygems</div><div class='del'>-	  source repository.  Updates r38075</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:33:20 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_interrupt_mask, async_interrupt_timing_func):</div><div class='del'>-	  merge into them into rb_thread_s_async_interrupt_timing.</div><div class='del'>-	* thread.c (rb_thread_s_async_interrupt_timing): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:11:47 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_interrupt_mask): add argument check.</div><div class='del'>-	* thread.c (async_interrupt_timing_arg_check_i): helper function</div><div class='del'>-	  for the above.</div><div class='del'>-	* test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument):</div><div class='del'>-	  test for the above.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 01:19:34 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (ConditionVariable#broadcast): protect from</div><div class='del'>-	  async interrupt by using Thread.async_interrupt_timing.</div><div class='del'>-	* lib/thread.rb (ConditionVariable#signal): ditto.</div><div class='del'>-	* lib/thread.rb (ConditionVariable#wait): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:04:23 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):</div><div class='del'>-	  raise if assert_in_out_err misused.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 02:08:16 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_rubygems_hook.rb</div><div class='del'>-	  (TestRDocRubygemsHook#test_setup_unwritable): 1. check the existence</div><div class='del'>-	  of the file(directory) before touch it.  2. remove test</div><div class='del'>-	  file(directory) after the test.  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-Sat Dec  1 01:51:06 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	[EXPERIMENTAL]</div><div class='del'>-	* iseq.c: add following two methods.</div><div class='del'>-	  * ISeq#line_trace_all returns all line traces (line numbers)</div><div class='del'>-	  * ISeq#line_trace_specify(pos, set) set `pos'th line event to</div><div class='del'>-	    specified_line event (if set is true).</div><div class='del'>-	  These features are introduced for debuggers (mainly to make</div><div class='del'>-	  breakpoint).</div><div class='del'>-</div><div class='del'>-	* iseq.h: add decl. of C APIs.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add tests.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: add `specified_line' event.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 01:49:52 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb: gems are of course</div><div class='del'>-	  binary files, so use a binary reading method when reading it.</div><div class='del'>-	  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-Sat Dec  1 01:21:07 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/command.rb (Gem::Command#get_all_gem_names_and_versions):</div><div class='del'>-	  who assumes that the pathname of a gem never contains ':' ?</div><div class='del'>-	  yes, on Unixen pathnames can contain ':', and on Windows they almost</div><div class='del'>-	  certainly contain ':'.  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract</div><div class='del'>-	  the regexp to match the version specifier from PATTERN to use in</div><div class='del'>-	  above method.</div><div class='del'>-</div><div class='del'>-Sat Dec  1 00:48:19 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb, ext/fiddle/function.c</div><div class='del'>-	  (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an</div><div class='del'>-	  enumeration. [ruby-core:50398] [Bug #7483]</div><div class='del'>-</div><div class='del'>-Sat Dec  1 00:08:55 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb</div><div class='del'>-	  (TestGemInstaller#test_check_executable_overwrite_other_non_gem):</div><div class='del'>-	  on Windows, rubygems always generate a wrapper .bat file when</div><div class='del'>-	  installing a file into bin, so testing no-overwrite a wrapper file</div><div class='del'>-	  and a non-wrapper file is nonsense.  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-Fri Nov 30 23:39:58 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb</div><div class='del'>-	  (TestGemInstaller#test_check_executable_overwrite_default_bin_dir):</div><div class='del'>-	  if the executable to be overwritten was generated by rubygems, the</div><div class='del'>-	  error message differs from the only copied one's.</div><div class='del'>-	  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-Fri Nov 30 23:27:26 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_ext_ext_conf_builder.rb</div><div class='del'>-	  (TestGemExtExtConfBuilder::test_class_make): reading with binary mode</div><div class='del'>-	  of course introduce \r on Windows.  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-Fri Nov 30 23:11:37 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb</div><div class='del'>-	  (Gem::Specification.validate_permissions): don't check executability</div><div class='del'>-	  of the source on Windows.  they will be wrapped to .bat files when</div><div class='del'>-	  installing.  see [ruby-core:50388].</div><div class='del'>-</div><div class='del'>-Fri Nov 30 22:44:14 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): add thread_destruct_lock field.</div><div class='del'>-	* thread.c (Init_Thread): ditto.</div><div class='del'>-	* thread.c (rb_vm_gvl_destroy): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): make sure vm-&gt;running_thread</div><div class='del'>-	  don't point to dead thread.</div><div class='del'>-	* thread.c (timer_thread_function): close a race against thread</div><div class='del'>-	  destruction. [Bug #4911][ruby-dev:43859]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_set_current): reset running time of</div><div class='del'>-	  current thread instead of previous thread. We no longer</div><div class='del'>-	  assume previous running thread still live.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 21:57:43 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* revert r38053 because it causes too many test failures.</div><div class='del'>-	  if you've already installed r38053 or later, remove the installed</div><div class='del'>-	  lib/ruby/gems/2.0.0 directory and reinstall this revision or later.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 21:07:56 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb (Test::Unit::Worker.run): wrap LoadError</div><div class='del'>-	  because it's Gem::LoadError sometimes.  see [Bug #6882]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 20:47:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: TracePoint#self returns invoking/exiting thread object</div><div class='del'>-	  at thread_begin/end event.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: fix test.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 19:55:17 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb (Memory::Win32): use fiddle instead of dl,</div><div class='del'>-	  but I doubt fiddle is not compatible with dl. (if you are interested,</div><div class='del'>-	  see the diff.)  [ruby-core:50194] [Bug #7443]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 19:37:44 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/default_gems: Add base directory column.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb:</div><div class='del'>-	  - Install .gemspecs of default gem to</div><div class='del'>-	    #{GEM_HOME}/specifications/default/.</div><div class='del'>-	  - Update files parameter of .gemspecs by relative path from</div><div class='del'>-	    library directory.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 19:30:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c:</div><div class='del'>-	  tracepoint_attr_return_value (TracePoint#return_value):</div><div class='del'>-	    include `:b_return` for method doc</div><div class='del'>-	  tracepoint_enable_m, tracepoint_disable_m (#enable/#disable):</div><div class='del'>-	    don't have block argument, document block scope</div><div class='del'>-</div><div class='del'>-Fri Nov 30 18:52:56 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (tracepoint_disable_m, tracepoint_enable_m):</div><div class='del'>-	  fix block parameter.</div><div class='del'>-	  No argument should be given to a block which is passed</div><div class='del'>-	  to TracePoint#enable (and disable).</div><div class='del'>-</div><div class='del'>-Fri Nov 30 18:23:26 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: rename Thread.control_interrupt</div><div class='del'>-	  to Thread.async_interrupt_timing.</div><div class='del'>-	  The option name `:never' is also changed to  `:defer'.</div><div class='del'>-	  [ruby-core:50375] [ruby-trunk - Feature #6762]</div><div class='del'>-</div><div class='del'>-	* thread.c: remove Thread.check_interrupt.</div><div class='del'>-	  This method is difficult to understand by name.</div><div class='del'>-</div><div class='del'>-	* thread.c: add Thread.async_interrupted?.</div><div class='del'>-	  This method check any deferred async interrupts.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: change tests for above.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 18:24:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: Documentation for TracePoint API</div><div class='del'>-	  [ruby-core:47243] [Feature #6895]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 17:43:50 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp_m): try to compare with to_str result if</div><div class='del'>-	  possible before calling &lt;=&gt; method.  [ruby-core:49279] [Bug #7342]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp_m): use rb_check_funcall instead of respond_to</div><div class='del'>-	  and call.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 16:19:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): get rid of calling methods in sigsegv</div><div class='del'>-	  handler.  based on a patch by charliesome (Charlie Somerville)</div><div class='del'>-	  [ruby-core:49573] [Bug #7402]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 16:05:44 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS:  Added RubyGems 2.0.0</div><div class='del'>-</div><div class='del'>-Fri Nov 30 15:24:37 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix false usage of local variable, it cannot</div><div class='del'>-	  appear in fname state [ruby-core:49659] [Bug #7408]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 15:20:12 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Load YAML for building gems.</div><div class='del'>-	* test/rubygems/test_gem_commands_contents_command.rb:  Sort expected</div><div class='del'>-	  output of default gem contents.  Re-fixes r38004 and r38005.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 15:15:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (set_trace_func): Formatting of params and events</div><div class='del'>-</div><div class='del'>-Fri Nov 30 14:45:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Net::HTTP::Patch to list of HTTP Request Classes</div><div class='del'>-	  Patch by Ryunosuke SATO [Fixes #217 on github]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 14:05:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: CGI example for HTML generation</div><div class='del'>-	  Patch by Marcus Stollsteimer [ruby-core:50303] [Bug #7465]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 13:52:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: Documentation improvements, grammar and formatting</div><div class='del'>-	  Patch by Bernd Homuth [ruby-core:49203] [Bug #7326]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 13:48:33 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Set version to 4.0.0.preview2</div><div class='del'>-	* lib/rubygems.rb:  Set version to 2.0.0.preview2</div><div class='del'>-</div><div class='del'>-Fri Nov 30 13:11:53 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/setup_command.rb:  Remove old files on install</div><div class='del'>-	  of RubyGems.  (not by rbinstall.rb).</div><div class='del'>-	* test/rubygems/test_gem_commands_setup_command.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 12:47:59 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb (Abbrev#abbrev): A fixed string prefix pattern</div><div class='del'>-	  should only match the beginning of each word, not the beginning</div><div class='del'>-	  of every line in it.</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb (Abbrev#abbrev): Stop using a regexp that causes a</div><div class='del'>-	  false warning. [Bug #7471]</div><div class='del'>-</div><div class='del'>-Fri Nov 30 12:30:55 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_abbrev.rb: Add tests for lib/abbrev.rb.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 12:27:51 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/spec_fetcher.rb:  Allow prerelease spec fetching to fail</div><div class='del'>-	  for bundler.</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 12:20:53 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/backtrace.rb:  Removed duplication in</div><div class='del'>-	  Rake::Backtrace::SUPPRESSED_PATHS</div><div class='del'>-	* test/rake/test_rake_backtrace.rb:  Skip tests when tmpdir is in the</div><div class='del'>-	  suppressed pattern.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 11:07:45 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* revert r37993 to avoid SEGV in tests.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 10:38:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb:  Relaxed matching for pages to be more</div><div class='del'>-	  user-friendly.</div><div class='del'>-	* test/rdoc/test_rdoc_ri_driver.rb:   Test for above.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 09:50:16 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markdown.rb:  Fixed warnings with -w</div><div class='del'>-</div><div class='del'>-Fri Nov 30 09:38:22 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_GC_GUARD_PTR): add note.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (backtrace_to_str_ary): use RB_GC_GUARD() instead of</div><div class='del'>-	  RB_GC_GUARD_PTR() which has no effect.</div><div class='del'>-	  (backtrace_to_location_ary): ditto.</div><div class='del'>-	  (vm_backtrace_to_ary): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 09:22:52 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/contents_command.rb:  Sort output from command.</div><div class='del'>-	  Replaces r38004, r38005</div><div class='del'>-	* test/rubygems/test_gem_commands_contents_command.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/defaults.rb:  Use Gem.path_separator for jruby support.</div><div class='del'>-	* lib/rubygems/path_support.rb:  ditto</div><div class='del'>-</div><div class='del'>-Fri Nov 30 08:34:03 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/darkfish.rb:  Silenced warning</div><div class='del'>-	* test/rdoc/test_rdoc_rdoc.rb:  ditto</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markup/parser.rb:  Use byteslice when available for</div><div class='del'>-	  performance</div><div class='del'>-	* test/rdoc/test_rdoc_markup_parser.rb:  Test for above</div><div class='del'>-	* lib/rdoc/test_case.rb:  ditto</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/ruby.rb:  Fixed bug parsing yield({})</div><div class='del'>-	* test/rdoc/test_rdoc_parser_ruby.rb (end):</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rubygems_hook.rb:  Skip default gems.  Display generator</div><div class='del'>-	  name properly.</div><div class='del'>-	* test/rdoc/test_rdoc_rubygems_hook.rb:  Test for above</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/servlet.rb:  Fixed typo.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 08:09:56 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : remove a unused function.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 07:46:42 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): finalize_deferred may free up</div><div class='del'>-	  a object which is reachable from a part after this function,</div><div class='del'>-	  e.g. ruby_vm_destruct(). [ruby-dev:46647] [Bug #7452]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_finalizing_main_thread): add a test</div><div class='del'>-	  for above.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 07:43:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_interrupted): avoid warning of</div><div class='del'>-	  implicit conversion.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 07:34:28 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: add GC guards.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 07:21:33 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	[EXPERIMENTAL: NEED DISCUSS]</div><div class='del'>-	* vm_trace.c: add events</div><div class='del'>-	  * :thread_begin - hook at thread beginning.</div><div class='del'>-	  * :thread_end - hook at thread ending.</div><div class='del'>-	  * :b_call - hook at block enter.</div><div class='del'>-	  * :b_return - hook at block leave.</div><div class='del'>-	  This change slow down block invocation.</div><div class='del'>-	  Please try and give us feedback until 2.0 code freeze.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile_node): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: add a comment.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a tests.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 06:56:30 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/*: Imported minitest 4.3.2 (r8027)</div><div class='del'>-</div><div class='del'>-Fri Nov 30 04:16:29 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/*:  Updated to rake 0.9.5</div><div class='del'>-	* test/rake/*:  ditto.</div><div class='del'>-	* NEWS:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 02:53:47 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: add a return hook when a method raises an exception.</div><div class='del'>-</div><div class='del'>-	* probes_helper.h: look up klass and method if none are provided.</div><div class='del'>-</div><div class='del'>-	* eval.c: update macro usage.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/dtrace/test_function_entry.rb: test for change.</div><div class='del'>-</div><div class='del'>-Fri Nov 30 02:27:12 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): refix r37991 remove assertion:</div><div class='del'>-	  it is true only if type == COMPILE_ARRAY_TYPE_HASH.</div><div class='del'>-	  [ruby-dev:46658] [Bug #7466]</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_hash_from_ary): add assertion instead of above.</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_hash_merge_ary): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 19:15:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): hash elements must be paired even for</div><div class='del'>-	  literal elements.  [ruby-dev:46658] [Bug #7466]</div><div class='del'>-</div><div class='del'>-Thu Nov 29 22:39:35 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_npn_encode_protocol_i): fix byte order</div><div class='del'>-	  issue on big-endian architecture [ruby-core:50292] [Bug #7463]</div><div class='del'>-</div><div class='del'>-Thu Nov 29 22:23:31 2012  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb (test_ctr_if_exists): add CTR mode test</div><div class='del'>-	  if underlying OpenSSL supports it. See #4408</div><div class='del'>-</div><div class='del'>-Thu Nov 29 21:42:16 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): add a method entry with</div><div class='del'>-	  VM_METHOD_TYPE_REFINED to the class refined by the refinement if</div><div class='del'>-	  the target module is a refinement.  When a method entry with</div><div class='del'>-	  VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with</div><div class='del'>-	  the same name is searched in refinements.  If such a method is</div><div class='del'>-	  found, the method is invoked.  Otherwise, the original method in</div><div class='del'>-	  the refined class (rb_method_definition_t::body.orig_def) is</div><div class='del'>-	  invoked.  This change is made to simplify the normal method lookup</div><div class='del'>-	  and to improve the performance of normal method calls.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (EXPR1, search_method, rb_method_entry),</div><div class='del'>-	  vm_eval.c (rb_call0, rb_search_method_entry): do not use</div><div class='del'>-	  refinements for method lookup.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): search methods in refinements if</div><div class='del'>-	  ci-&gt;me is VM_METHOD_TYPE_REFINED.  If the method is called by</div><div class='del'>-	  super (i.e., ci-&gt;call == vm_call_super_method), skip the same</div><div class='del'>-	  method entry as the current method to avoid infinite call of the</div><div class='del'>-	  same method.</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): add a refined method entry for each</div><div class='del'>-	  method defined in a module included in a refinement.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): set an empty table to</div><div class='del'>-	  RCLASS_M_TBL(klass) to add refined method entries, because</div><div class='del'>-	  refinements should have priority over prepended modules.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): use rb_method_entry_with_refinements() to get</div><div class='del'>-	  a refined method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_inline_method_cache): do not skip</div><div class='del'>-	  the test because it should pass successfully.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_redefine_refined_method): new</div><div class='del'>-	  test for the case a refined method is redefined.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:45:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): show namespace in warning messages.</div><div class='del'>-	  [Feature #7190]</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:31:53 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.load_yaml): return if Kernel#gem is not defined</div><div class='del'>-	  yet. This causes crash if test-all requires libraries in a certain</div><div class='del'>-	  order. A simple reproducible code is</div><div class='del'>-	  ruby --disable-gem -e'require"yaml";require"minitest/autorun"'</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:19:26 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb:  Updated to match removal of custom_require from</div><div class='del'>-	  RubyGems.</div><div class='del'>-	* test/test_tracer.rb:  ditto.  Improved failure message if the test</div><div class='del'>-	  fails</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:15:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Documentation for GC, GC::Profiler, ObjectSpace, and</div><div class='del'>-	  ObjectSpace::WeakMap [ruby-core:50245] [Bug #7449]</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:12:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/generic_erb.rb, tool/id2token.rb: add --path-separator option</div><div class='del'>-	  for mingw where make and built ruby live in different world.</div><div class='del'>-</div><div class='del'>-	* tool/vpath.rb: extract from tool/instruction.rb.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:11:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb (TestIOWait#fill_pipe):</div><div class='del'>-	  Errno::EWOULDBLOCK may not be the same as Errno::EAGAIN.  patch by</div><div class='del'>-	  phasis68 (Heesob Park) at [ruby-core:49894].  [Bug #7420]</div><div class='del'>-</div><div class='del'>-Thu Nov 29 17:03:38 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb:  Determine path to certificates to avoid</div><div class='del'>-	  build-dir problems.</div><div class='del'>-	* test/rubygems/test_gem_security_signer.rb:  Use predetermined paths</div><div class='del'>-	  to avoid build-dir problems.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 16:18:14 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb:  Disable loading of keys and certificates</div><div class='del'>-	  outside rubygems or ruby tests as the files are not available (or</div><div class='del'>-	  necessary).</div><div class='del'>-</div><div class='del'>-Thu Nov 29 16:14:41 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_debug_inspector_open): use RARRAY_LENINT() for</div><div class='del'>-	  int variable.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 15:59:55 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: add rb_debug_inspector_* APIs.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: add dependency from vm_backtrace.o to</div><div class='del'>-	  include/ruby/debug.h.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_binding_new_with_cfp): constify.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_ruby_level_next_cfp): constify.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_trace.c: move decls.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 15:56:14 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/test_case.rb (RDoc::TestCase#verbose_capture_io):</div><div class='del'>-	  defined for asserts of warnings.</div><div class='del'>-</div><div class='del'>-	* test/rdoc: use verbose_capture_io on asserts of warnings.</div><div class='del'>-	  they failed when tests was run with RUBYOPT=-W0.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 15:53:38 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: added --enable-bundled-libyaml option.  this</div><div class='del'>-	  enforces using bundled libyaml.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 15:51:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*:  Updated to RubyGems 2.0</div><div class='del'>-	* test/rubygems*:  ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude):  Updated for RubyGems 2.0 source rearrangement.</div><div class='del'>-</div><div class='del'>-	* tool/change_maker.rb:  Allow invalid UTF-8 characters in source</div><div class='del'>-	  files.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 15:38:14 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: provide rb_tracearg_*() APIs,</div><div class='del'>-	  instead of rb_tracepoint_attr_*().</div><div class='del'>-	  These APIs are for debuggers/profilers.</div><div class='del'>-	  They will be explained in another docs sometime.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 15:10:45 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_unit.rb: restore orig_verbose only</div><div class='del'>-	  if it is set. This broke rdoc's tests.</div><div class='del'>-	  http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20121129T050102Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Thu Nov 29 14:56:30 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_attr_method_id):</div><div class='del'>-	  rename TracePoint#id to TracePoint#method_id.</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: ditto,</div><div class='del'>-</div><div class='del'>-Thu Nov 29 14:49:10 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_attr_defined_class):</div><div class='del'>-	  rename TracePoint#klass to TracePoint#defined_class.</div><div class='del'>-	  [ruby-core:50187] Re: [ruby-trunk - Feature #6895]</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 14:27:57 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): prepare Symbol objects at first time</div><div class='del'>-	  to make it fast.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 14:02:15 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): GC.stat supports new information</div><div class='del'>-	  * total_allocated_object: total allocated object number.</div><div class='del'>-	  * total_freed_object: total freed object number.</div><div class='del'>-	  Above two numbers are only accumulated and they will</div><div class='del'>-	  overflow (return to 0). Please use them as a hint.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 12:13:54 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 4.3.2 (r8026)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Thu Nov 29 11:06:06 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): remove unused code. When</div><div class='del'>-	  th-&gt;safe_level == 4, th-&gt;errinfo never be thrown. So, to</div><div class='del'>-	  create new exception makes no sense.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 10:29:53 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: same as a last patch.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 10:24:25 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: use `long' for return values of `NUM2LONG()'.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 09:52:08 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): suppress warning (uninitialized value warning)</div><div class='del'>-	  with UNINITIALIZED_VAR().</div><div class='del'>-</div><div class='del'>-Thu Nov 29 09:36:09 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): delay THREAD_KILLED timing.</div><div class='del'>-	  It should be located just before rb_thread_terminate_all().</div><div class='del'>-</div><div class='del'>-Thu Nov 29 09:10:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (vm_backtrace_to_ary): support range argument</div><div class='del'>-	  like Array#[].</div><div class='del'>-	  [ruby-core:50092] [ruby-trunk - Feature #7434]</div><div class='del'>-	  Test and document is not available. Please help us.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 06:46:33 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): small cleanups.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 06:37:08 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): remove unused code.</div><div class='del'>-	  this function never be used for main thread.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 06:27:55 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): remove unused code.</div><div class='del'>-	  errinfo = th-&gt;errinfo; and errinfo = rb_errinfo(); are</div><div class='del'>-	  the same.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 05:26:32 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (backtrace_to_str_ary2): rename to backtrace_to_str_ary.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_backtrace_to_str_ary): use `backtrace_to_str_ary()'.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (backtrace_to_frame_ary): rename to</div><div class='del'>-	  backtrace_to_location_ary.</div><div class='del'>-</div><div class='del'>-Thu Nov 29 05:19:25 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* probes.d: Change function-entry probe to method-entry.</div><div class='del'>-	* insns.def: ditto</div><div class='del'>-	* probes_helper.h: ditto</div><div class='del'>-	* test/dtrace/test_function_entry.rb: ditto</div><div class='del'>-	* test/dtrace/test_singleton_function.rb: ditto</div><div class='del'>-	* vm.c: ditto</div><div class='del'>-	* vm_eval.c: ditto</div><div class='del'>-	* vm_insnhelper.c: ditto</div><div class='del'>-</div><div class='del'>-Thu Nov 29 04:45:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: rename Class name from</div><div class='del'>-	  ::RubyVM::Backtrace and ::RubyVM::Backtrace::Location</div><div class='del'>-	  to ::Thread::Backtrace and ::Thread::Backtrace::Location.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 23:52:02 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (Thread) remove incompatible changes about trap.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 23:39:01 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_sleep): fix to allow spurious wakeup.</div><div class='del'>-	  [ruby-dev:46654] [ruby-trunk - Bug #7455]</div><div class='del'>-</div><div class='del'>-	* NEWS: write about spurious wakeup.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 22:57:23 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c: catch up latest change of BLOCKING_REGION.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 22:54:21 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): fix undefined behavior.</div><div class='del'>-	  Should not access scope local variable from outer scope.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 22:20:55 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_status_in_trap): change test for</div><div class='del'>-	  thread status in trap. now can accept Thread#join and Thread#value in trap.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 21:58:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/thread.h (rb_thread_call_without_gvl2): change</div><div class='del'>-	  meaning of function.</div><div class='del'>-	  This function is called with same parameters of</div><div class='del'>-	  `rb_thread_call_without_gvl()'.</div><div class='del'>-	  However, if interrupts are detected, then return immediately.</div><div class='del'>-</div><div class='del'>-	* thread.c: implement `rb_thread_call_without_gvl2()'.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 21:31:21 2012  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join_sleep): check spurious wakeup by itself for</div><div class='del'>-	corresponding status change in trap context.</div><div class='del'>-	* vm_core.h (struct rb_thread_struct): add rb_thread_list_t and use as join_list for</div><div class='del'>-	reentry by trap context.</div><div class='del'>-	* thread.c (thread_start_func_2): ditto.</div><div class='del'>-	* thread.c (remove_from_join_list): ditto.</div><div class='del'>-	* thread.c (rb_thread_atfork): ditto.</div><div class='del'>-	* thread.c (thread_join): ditto. &amp; remove trap handler check.</div><div class='del'>-	* thread.c (sleep_forever): add argument : spurious_check.</div><div class='del'>-	* thread.c (sleep_timeval): ditto.</div><div class='del'>-	* thread.c (rb_thread_sleep_forever): set spurious_check.</div><div class='del'>-	* thread.c (rb_thread_sleep_deadly): ditto.</div><div class='del'>-	* thread.c (sleep_for_polling): ditto.</div><div class='del'>-	* thread.c (rb_thread_wait_for): ditto.</div><div class='del'>-	* thread.c (sleep_wait_for_interrupt): bypass spurious_check.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 21:23:18 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/yaml/emitter.c (yaml_emitter_write_indicator): constify.</div><div class='del'>-</div><div class='del'>-	* ext/psych/yaml/emitter.c (yaml_emitter_write_block_scalar_hints):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: mingw32 also needs macros for win32, not</div><div class='del'>-	  only mswin32.</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: compile sources in the source directory</div><div class='del'>-	  without copying by using VPATH.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 21:18:57 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for</div><div class='del'>-	  each VPATH elements.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 16:40:14 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (enum rb_thread_status): remove THREAD_TO_KILL</div><div class='del'>-	* vm_core.h (struct rb_thread_struct): add to_kill field</div><div class='del'>-	* thread.c (terminate_i): convert THREAD_TO_KILL to to_kill.</div><div class='del'>-	* thread.c (rb_threadptr_to_kill): ditto.</div><div class='del'>-	* thread.c (rb_thread_kill): ditto.</div><div class='del'>-	* thread.c (rb_thread_wakeup_alive): ditto.</div><div class='del'>-	* thread.c (thread_list_i): ditto.</div><div class='del'>-	* thread.c (static const char): ditto.</div><div class='del'>-	* thread.c (thread_status_name): ditto.</div><div class='del'>-	* thread.c (rb_thread_status): ditto.</div><div class='del'>-	* thread.c (rb_thread_inspect): ditto.</div><div class='del'>-	* vm_backtrace.c (thread_backtrace_to_ary): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts): fix thread status</div><div class='del'>-	  overwritten issue. [Bug #7450] [ruby-core:50249]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_hread_status_raise_after_kill):</div><div class='del'>-	  test for the above.</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_status_in_trap): test for</div><div class='del'>-	  thread status in trap.</div><div class='del'>-	* test/ruby/test_thread.rb (test_status_and_stop_p): remove</div><div class='del'>-	  Thread.control_interrupt unsafe test. Thread#kill no longer</div><div class='del'>-	  changes thread status. Instead of, Thread#kill receiver changes</div><div class='del'>-	  their own status when receiving kill signal.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 16:21:46 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (struct rb_mutex_struct): add allow_trap field.</div><div class='del'>-	* internal.h (rb_mutex_allow_trap): added.</div><div class='del'>-	* thread.c (rb_mutex_lock, rb_mutex_unlock): check mutex-&gt;allow_trap.</div><div class='del'>-	* thread.c (mutex_sleep): remove trap check because it uses</div><div class='del'>-	  rb_mutex_lock and rb_mutex_unlock internally.</div><div class='del'>-	* thread.c (rb_mutex_allow_trap): new helper function for the above.</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): mark fptr-&gt;write_lock as writable in trap.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_trap_puts): test for the above.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 16:59:12 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: remove Proc#== and Proc#eql?.</div><div class='del'>-	  Proc objects compared with their object ids.</div><div class='del'>-	  [Bug #4559]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: remove related test.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 16:41:04 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/servlet.rb:  Add support for serving documentation from a</div><div class='del'>-	  subdirectory.</div><div class='del'>-	* lib/rdoc/generator/darkfish.rb:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_servlet.rb:  Test for above</div><div class='del'>-	* test/rdoc/test_rdoc_servlet.rb:  ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 15:37:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix r37924: run only on i[3-6]86-linux.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 15:31:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (FMODE_SYNCWRITE): removed unused macro.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 15:19:25 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r37911, r37906 and r37904 which break build</div><div class='del'>-	  with non-gcc and/or non-IA32 compilers, e.g. Solaris Studio,</div><div class='del'>-	  Fujitsu C Compiler. [ruby-dev:46646] [Bug #7451]</div><div class='del'>-</div><div class='del'>-Wed Nov 28 14:50:55 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: copy sources into build directory,</div><div class='del'>-	  not into srcdir.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 14:34:06 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_lock): moved trap context check from</div><div class='del'>-	  rb_mutex_trylock because try_lock have no change to make</div><div class='del'>-	  a deadlock.</div><div class='del'>-	* thread.c (rb_mutex_trylock): ditto.</div><div class='del'>-	* NEWS: news for the above.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 13:39:54 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_s_new): uses main_thread-&gt;status instead of</div><div class='del'>-	  th-&gt;inhibit_thread_creation for preventing thread creation.</div><div class='del'>-	* vm_core.h (rb_vm_struct): remove inhibit_thread_creation field.</div><div class='del'>-	* thread.c (rb_thread_terminate_all): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 13:27:29 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: use embedded libyaml if no system libyaml is</div><div class='del'>-	  found. [ruby-core:49463]</div><div class='del'>-	* ext/psych/lib/psych.rb: updating to psych 2.0.0</div><div class='del'>-	* ext/psych/lib/psych/deprecated.rb: updated docs</div><div class='del'>-	* ext/psych/psych.gemspec: updated to psych 2.0.0</div><div class='del'>-	* ext/psych/psych.h: fixing header file include for rename</div><div class='del'>-	* ext/psych/psych_emitter.c: renamed to avoid libyaml conflict.</div><div class='del'>-	* ext/psych/psych_emitter.h: ditto</div><div class='del'>-	* ext/psych/psych_parser.c: ditto</div><div class='del'>-	* ext/psych/psych_parser.h: ditto</div><div class='del'>-	* ext/psych/psych_to_ruby.c: ditto</div><div class='del'>-	* ext/psych/psych_to_ruby.h: ditto</div><div class='del'>-	* ext/psych/psych_yaml_tree.c: ditto</div><div class='del'>-	* ext/psych/psych_yaml_tree.h: ditto</div><div class='del'>-	* ext/psych/yaml/LICENSE: embedding libyaml 0.1.4</div><div class='del'>-	* ext/psych/yaml/api.c: ditto</div><div class='del'>-	* ext/psych/yaml/config.h: ditto</div><div class='del'>-	* ext/psych/yaml/dumper.c: ditto</div><div class='del'>-	* ext/psych/yaml/emitter.c: ditto</div><div class='del'>-	* ext/psych/yaml/loader.c: ditto</div><div class='del'>-	* ext/psych/yaml/parser.c: ditto</div><div class='del'>-	* ext/psych/yaml/reader.c: ditto</div><div class='del'>-	* ext/psych/yaml/scanner.c: ditto</div><div class='del'>-	* ext/psych/yaml/writer.c: ditto</div><div class='del'>-	* ext/psych/yaml/yaml.h: ditto</div><div class='del'>-	* ext/psych/yaml/yaml_private.h: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 12:54:59 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): A trap handler check was moved from</div><div class='del'>-	  thread_join_m because Thread#value should be raised an exception</div><div class='del'>-	  too.</div><div class='del'>-	* thread.c (thread_join_m): remove trap handler check.</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_join_in_trap): add test</div><div class='del'>-	  for thread#value.</div><div class='del'>-	* NEWS: documentation fix for the above.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 11:07:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c: Documentation for Fiddle</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/value.rb: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/pack.rb: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/cparser.rb: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/struct.rb: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/function.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 09:15:51 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: Added #charpos for multibyte string position.</div><div class='del'>-	* test/strscan/test_stringscanner.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 09:00:34 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/fiddle.c: adding alignment constants for compatibility</div><div class='del'>-	  with DL.</div><div class='del'>-	* ext/fiddle/fiddle.h: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/cparser.rb: importing the C parser for DL</div><div class='del'>-	  backwards compatibility.</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb: importing the import DSL for DL</div><div class='del'>-	  backwards compatibility.</div><div class='del'>-	* ext/fiddle/lib/fiddle/pack.rb: importing structure pack for DL</div><div class='del'>-	  backwards compatibility.</div><div class='del'>-	* ext/fiddle/lib/fiddle/value.rb: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle/struct.rb: importing struct DSL for DL backwards</div><div class='del'>-	  compatibility.</div><div class='del'>-	* test/dl/test_c_struct_entry.rb: importing tests</div><div class='del'>-	* test/dl/test_c_union_entity.rb: ditto</div><div class='del'>-	* test/dl/test_cparser.rb: ditto</div><div class='del'>-	* test/dl/test_import.rb: ditto</div><div class='del'>-	* test/fiddle/test_c_struct_entry.rb: ditto</div><div class='del'>-	* test/fiddle/test_c_union_entity.rb: ditto</div><div class='del'>-	* test/fiddle/test_cparser.rb: ditto</div><div class='del'>-	* test/fiddle/test_import.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 08:56:00 2012  Zachary Scott &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/globals.rdoc: Add documentation file for magic globals</div><div class='del'>-	[ruby-core:29048] [Bug #3022]</div><div class='del'>-</div><div class='del'>-Wed Nov 28 08:55:00 2012  Zachary Scott &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* .document: Add README's to be included with docs</div><div class='del'>-</div><div class='del'>-Wed Nov 28 08:26:00 2012  Zachary Scott &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl.rb: Deprecation notice for DL</div><div class='del'>-</div><div class='del'>-Wed Nov 28 08:25:00 2012  Zachary Scott &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c: Documentation for Fiddle</div><div class='del'>-	* ext/fiddle/pointer.c: ditto</div><div class='del'>-	* ext/fiddle/function.c: ditto</div><div class='del'>-	* ext/fiddle/lib/fiddle.rb: ditto</div><div class='del'>-	* ext/fiddle/fiddle.c: ditto</div><div class='del'>-	* ext/fiddle/handle.c: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 04:53:40 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/handle.c: Make Fiddle independent of DL, copy DL::Handle</div><div class='del'>-	  to Fiddle::Handle.</div><div class='del'>-	* ext/fiddle/pointer.c: Make Fiddle independent of DL, copy</div><div class='del'>-	  DL::Pointer to Fiddle::Pointer.</div><div class='del'>-	* test/fiddle/test_func.rb: relevant tests</div><div class='del'>-	* test/fiddle/test_handle.rb: ditto</div><div class='del'>-	* test/fiddle/test_pointer.rb: ditto</div><div class='del'>-	* ext/dl/lib/dl/struct.rb: use Fiddle::Pointer if available</div><div class='del'>-	* ext/fiddle/extconf.rb: check for dlfcn.h</div><div class='del'>-	* ext/fiddle/fiddle.c: add constants for sizeof() things</div><div class='del'>-	* ext/fiddle/fiddle.h: include dlfcn.h</div><div class='del'>-	* ext/fiddle/function.c: expose a C function for creating new</div><div class='del'>-	  Fiddle::Function objects.</div><div class='del'>-	* ext/fiddle/lib/fiddle.rb: include constants for dl backwards compat</div><div class='del'>-	* ext/fiddle/lib/fiddle/function.rb: read the pointer from the</div><div class='del'>-	  function for dl backwards compat.</div><div class='del'>-	* test/dl/test_callback.rb: check the addresses of the pointers rather</div><div class='del'>-	  than their types.</div><div class='del'>-	* test/fiddle/helper.rb: remove dependency on dl</div><div class='del'>-	* test/fiddle/test_closure.rb: ditto</div><div class='del'>-	* test/fiddle/test_fiddle.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 28 03:03:28 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (opt-dir): don't use non portable flag -E of sed.</div><div class='del'>-</div><div class='del'>-Wed Nov 28 02:55:35 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ARCH_FLAG): __sync_val_compare_and_swap_4 needs</div><div class='del'>-	  -march=$target_cpu on at least linux gcc 4.1.</div><div class='del'>-	  patched by KOSAKI Motohiro</div><div class='del'>-</div><div class='del'>-Tue Nov 27 22:03:09 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars, rb_str_enumerate_codepoints)</div><div class='del'>-	  (rb_str_enumerate_lines): Dummy initialization of ary has been</div><div class='del'>-	  replaced with UNINITIALIZED_VAR().</div><div class='del'>-</div><div class='del'>-Tue Nov 27 21:29:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): optimize the way to retry calculation of</div><div class='del'>-	  bigdivrem so that the calculation is started from the point where</div><div class='del'>-	  the last interruption was occurred.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem1): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: add a test case for rb_bigdivrem in the</div><div class='del'>-	  case that an interruption is occurred during bigdivrem1 is running.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 19:56:43 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_env_object): make Proc object if Env is possible</div><div class='del'>-	  to point block.</div><div class='del'>-	  [ruby-core:41038] [ruby-trunk - Bug #5634]</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_proc): No need to make Proc object here.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_proc.rb: add tests.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 18:51:06 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_CAS): added for Solaris and other platforms.</div><div class='del'>-	* ruby_atomic.h, signal.c (NEED_RUBY_ATOMIC_OPS): renamed from</div><div class='del'>-	  NEED_RUBY_ATOMIC_EXCHANGE.</div><div class='del'>-	* signal.c (ruby_atomic_compare_and_swap): naive, non-atomic</div><div class='del'>-	  compare-and-swap implementation only used for platforms without</div><div class='del'>-	  valid support for atomic operations.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 17:43:46 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*:  Added --root option for building documentation outside</div><div class='del'>-	  the source directory.</div><div class='del'>-	* test/rdoc/*:  ditto</div><div class='del'>-	* common.mk (rdoc):  Added --root to rdoc rule</div><div class='del'>-</div><div class='del'>-Tue Nov 27 16:24:45 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_ri_paths.rb:  Fixed duplicate path bug which</div><div class='del'>-	  caused windows failures.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 16:06:00 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_generator_darkfish.rb:  Updated tests for windows</div><div class='del'>-	* test/rdoc/test_rdoc_options.rb:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_parser.rb:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_rdoc.rb:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_ri_driver.rb:  ditto</div><div class='del'>-	* test/rdoc/test_rdoc_servlet.rb:  ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 27 15:13:51 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc):  Set --debug for rdoc generation in case of bugs</div><div class='del'>-</div><div class='del'>-Tue Nov 27 14:56:45 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rubygems_hook.rb:  Updated for (upcoming) RubyGems 2</div><div class='del'>-	  import.</div><div class='del'>-	* test/rdoc/test_rdoc_rubygems_hook.rb:  ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 27 13:59:29 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add improvements of the garbage collector.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 13:27:46 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc*:  Updated to RDoc 4.0 (pre-release)</div><div class='del'>-	* bin/rdoc:  ditto</div><div class='del'>-	* test/rdoc*:  ditto</div><div class='del'>-	* NEWS:  Updated with RDoc 4.0 information</div><div class='del'>-</div><div class='del'>-Tue Nov 27 12:17:11 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): retry broadcast only when</div><div class='del'>-	  an exception is raised.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 12:02:25 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): broadcast terminate event</div><div class='del'>-	  not only an interrupt exception but any exceptions.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 10:55:09 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): set thread status to THREAD_KILLED</div><div class='del'>-	  for preventing thr.raise.</div><div class='del'>-	* test/ruby/test_thread.rb (test_main_thread_status_at_exit):</div><div class='del'>-	  test for the above.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 10:31:29 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): suppress a warning.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 09:29:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): raises ThreadError if target thread</div><div class='del'>-	  is a main thread.</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_join_main_thread):</div><div class='del'>-	  test for the above.</div><div class='del'>-	* NEWS: news for the above.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 09:24:47 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): raises ThreadError if target thread</div><div class='del'>-	  is a current thread.</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_join_current):</div><div class='del'>-	  test for the above.</div><div class='del'>-	* NEWS: news for the above.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 09:59:16 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): close mkmf.log for each libraries so that</div><div class='del'>-	  failure messages are not mixed.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 09:58:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/extconf.rb, ext/openssl/extconf.rb: get git rid of</div><div class='del'>-	  post-1.8 feature require_relative for cross compilation.</div><div class='del'>-	  [ruby-core:50160] [Bug #7439]</div><div class='del'>-</div><div class='del'>-Tue Nov 27 09:17:59 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add TracePoint.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 08:16:03 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: rename TracePoint#file and TracePoint#line</div><div class='del'>-	  to TracePoint#path and TracePoint#lineno respectively.</div><div class='del'>-	  They are consistent to RubyVM::Backtrace::Location.</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 08:04:26 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): broadcast eTerminateSignal</div><div class='del'>-	  again when Ctrl-C was pressed. [Feature #1952] [ruby-dev:39107]</div><div class='del'>-</div><div class='del'>-Tue Nov 27 07:58:03 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add members to rb_trace_arg_t:</div><div class='del'>-	  * `klass_solved' represents klass and id is checked.</div><div class='del'>-	  * `line' represents line calculated from cfp.</div><div class='del'>-	  * `file' represents line calculated from cfp.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: fix to use above data structures.</div><div class='del'>-	  No need to calculate klass and id, line and file</div><div class='del'>-	  pairs for each trace points.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 07:47:09 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): add RUBY_VM_CHECK_INTS_BLOCKING().</div><div class='del'>-	  Otherwise the loop in this function behave as busy loop because</div><div class='del'>-	  native_sleep() return immediately when RUBY_VM_INTERRUPTED() is true.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 04:12:49 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): git rid of post-1.8 features for cross</div><div class='del'>-	  compilation.  [ruby-core:50160] [Bug #7439]</div><div class='del'>-</div><div class='del'>-Tue Nov 27 00:13:41 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_trylock, rb_mutex_unlock, mutex_sleep):</div><div class='del'>-	  raises ThreadError if called from trap handler as Thread#join.</div><div class='del'>-	* NEWS: news for the above.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 23:55:33 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: update for Thread#join incompatible change.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 22:44:24 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): use native_sleep() instead</div><div class='del'>-	  of rb_thread_schedule(). Otherwise, it consume 100% cpu meaninglessly.</div><div class='del'>-	  [Bug #5368] [ruby-dev:44546]</div><div class='del'>-	* thread.c (thread_start_func_2): last sub-thread wakes up main thread.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 21:16:04 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_SET_TIMER_INTERRUPT, RUBY_VM_SET_INTERRUPT)</div><div class='del'>-	(RUBY_VM_SET_FINALIZER_INTERRUPT, RUBY_VM_SET_TRAP_INTERRUPT)</div><div class='del'>-	(RUBY_VM_INTERRUPTED): use enum symbol instead of immediate value.</div><div class='del'>-	* thread.c (thread_join_m, rb_threadptr_execute_interrupts): ditto.</div><div class='del'>-	* signal.c (signal_exec): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 20:23:20 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join_m): use th-&gt;interrupt_mask instead of</div><div class='del'>-	  th-&gt;in_trap.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_thread_struct): remove in_trap member.</div><div class='del'>-	* signal.c (signal_exec): ditto.</div><div class='del'>-	* thread.c (thread_create_core): ditto.</div><div class='del'>-	* thread.c (Init_Thread): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 20:23:49 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (TestArgf#test_chars): since marshal data is</div><div class='del'>-	  binary, shouldn't pass via text mode.  use base64 encoded data.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 19:45:18 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_CAS): new macro for compare-and-exchange.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_thread_struct): add interrupt_mask member.</div><div class='del'>-	* thread.c (thread_create_core, Init_Thread): initialize</div><div class='del'>-	  th-&gt;thread_mask.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_INTERRUPTED_ANY): new macro for avoiding</div><div class='del'>-	  bare th-&gt;interrupt_flag.</div><div class='del'>-	* vm_core.h (RUBY_VM_INTERRUPTED, RUBY_VM_INTERRUPTED): check</div><div class='del'>-	  th-&gt;interrupt_mask.</div><div class='del'>-	* thread.c (set_unblock_function, rb_thread_schedule): replace</div><div class='del'>-	  th-&gt;interrupt_flag with RUBY_VM_INTERRUPTED_ANY()</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec): set up thread-&gt;interrupt_mask for</div><div class='del'>-	  preventing recursive trap handler.</div><div class='del'>-	* vm_core.h (RUBY_VM_CHECK_INTS, RUBY_VM_CHECK_INTS_BLOCKING): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts):</div><div class='del'>-	  don't process interrupt if it is masked.</div><div class='del'>-	  [Bug #6009] [ruby-core:42524]</div><div class='del'>-</div><div class='del'>-Mon Nov 26 19:43:42 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (make_compile_option_value): add trace_instruction option.</div><div class='del'>-	  a patch by davidbalbert (David Albert).</div><div class='del'>-	  [Bug #6786]</div><div class='del'>-</div><div class='del'>-Mon Nov 26 19:10:53 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: try to `join' each 100</div><div class='del'>-	  threads.</div><div class='del'>-	  This benchmark seems consuming long time on travis-ci</div><div class='del'>-	  several times (and make `failure').</div><div class='del'>-</div><div class='del'>-Mon Nov 26 18:22:56 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: specify label `built-ruby'.</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: quote path.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 18:26:28 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec): add volatile to make sure setjmp safe.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 18:19:47 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec): suppress "warning: variable 'signum'</div><div class='del'>-	  might be clobbered by 'longjmp' or 'vfork'" warning.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 18:15:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: accept multiple `-e'.</div><div class='del'>-	  You don't need to use `;' separation character.</div><div class='del'>-	  [ruby-core:50139] [ruby-trunk - Bug #7380]</div><div class='del'>-</div><div class='del'>-Mon Nov 26 17:10:04 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars, rb_str_enumerate_codepoints)</div><div class='del'>-	(rb_str_enumerate_lines): suppress "may be used uninitialized in</div><div class='del'>-	  this function" warning.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 17:00:12 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_struct): added 'in_trap' member for marking</div><div class='del'>-	  running trap handler.</div><div class='del'>-	* signal.c (signal_exec): turn on in_trap when running trap.</div><div class='del'>-	* thread.c (Init_Thread, thread_create_core): initialize in_trap</div><div class='del'>-	  when creating new threads.</div><div class='del'>-	* thread.c (thread_join_m): raise ThreadError when running trap</div><div class='del'>-	  handler.Bug [#6416][ruby-core:44956]</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_join_in_trap): new test</div><div class='del'>-	  for the above.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 16:36:13 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_codepoint): add missing ARGF#codepoints [Bug #7438]</div><div class='del'>-</div><div class='del'>-Mon Nov 26 15:50:29 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): restart calculation when bigdivrem1 was</div><div class='del'>-	  interrupted by signal. Otherwise, ruby script may see a garbage</div><div class='del'>-	  value.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 15:33:02 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_div_struct): added volatile to 'stop' member.</div><div class='del'>-	  Otherwise, "if (bds-&gt;stop)" check in bigdivrem1 don't read</div><div class='del'>-	  memory and ignore interrupt.</div><div class='del'>-	* bignum.c (bigdivrem, rb_big_stop): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 12:11:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (DLNOBJ): missing in r37821.</div><div class='del'>-</div><div class='del'>-Mon Nov 26 10:50:19 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_setsid): added a few wait for</div><div class='del'>-	  preventing that Process.getsid(io.pid) makes Errno::ESRCH.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 22:34:00 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_resize_smaller): new function to resize array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): refactoring to extract a function.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete_same): refactoring.</div><div class='del'>-	  It renames function, reduces duplicated code and removes unused</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_final_func): follow the above change.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_ary_delete_same): ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 22:27:33 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: fixes for the updated documentation in r35858:</div><div class='del'>-	  Typos and #take/#drop accept to take/drop 0 elements.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 19:43:29 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a news about iconv.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 03:49:23 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb, test/test_set.rb: Move tests embedded in lib/set.rb</div><div class='del'>-	  to test/test_set.rb.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 03:44:50 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line, rb_str_lines): String#lines now</div><div class='del'>-	  returns an array instead of an enumerator.  Passing a block is</div><div class='del'>-	  deprecated but still supported for backwards compatibility.</div><div class='del'>-	  Based on the patch by yhara. [Feature #6670]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char, rb_str_chars): Ditto for</div><div class='del'>-	  String#chars.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for</div><div class='del'>-	  String#codepoints.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_byte, rb_str_bytes): Ditto for</div><div class='del'>-	  String#bytes.</div><div class='del'>-</div><div class='del'>-	* NEWS: Add notes for the above changes.</div><div class='del'>-</div><div class='del'>-Sun Nov 25 02:07:37 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_warning)</div><div class='del'>-	  (Test::Unit::Assertions#assert_warn), test/ruby/envutil.rb,</div><div class='del'>-	  test/ruby/test_enumerator.rb, test/ruby/test_io_m17n.rb,</div><div class='del'>-	  test/ruby/test_regexp.rb, test/ruby/test_syntax.rb:</div><div class='del'>-	  assert_warn() and assert_warning() are reversed.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 21:08:50 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_final_func): rename variables to clarify the meaning.</div><div class='del'>-	  In wmap2obj the key is WeakRef and the value is referenced object.</div><div class='del'>-	  In obj2wmap the key is referenced object and the value is an array</div><div class='del'>-	  of WeakRef.</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_finalize): ditto.</div><div class='del'>-	  [ruby-core:49044] [Bug #7304]</div><div class='del'>-</div><div class='del'>-Sat Nov 24 21:01:55 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete_same_obj): new function for WeakRef.</div><div class='del'>-	  This deletes same objects as item argument in the array.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_ary_delete_same_obj): add a declaration.</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_final_func): remove WeakRef object reference from the</div><div class='del'>-	  array. rb_ary_delete() is not usable because it uses rb_equal() to</div><div class='del'>-	  compare object references.</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_finalize): remove recycled object references from weak</div><div class='del'>-	  map hash properly. How to get object reference from object id was</div><div class='del'>-	  wrong. st_delete() doesn't work properly if key and value arguments</div><div class='del'>-	  are same. The key of obj2wmap is referenced object and the value of</div><div class='del'>-	  obj2wmap is WeakRef array.</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_aset): obj2wmap should contain WeakRef array in the</div><div class='del'>-	  definition.</div><div class='del'>-</div><div class='del'>-	* test/test_weakref.rb</div><div class='del'>-	  (TestWeakRef#test_not_reference_different_object,</div><div class='del'>-	   TestWeakRef#test_weakref_finalize): add tests for above.</div><div class='del'>-	  [ruby-core:49044] [Bug #7304]</div><div class='del'>-</div><div class='del'>-Sat Nov 24 19:44:41 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (unicode_iconv_combine): returning flags are</div><div class='del'>-	  nkf_char.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 19:29:18 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_usage, test_usage_long):</div><div class='del'>-	  reduced, renamed.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 13:10:14 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_attr_raised_exception): should not check</div><div class='del'>-	  value before event checking.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_attr_return_value): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests for TracePoint#return_value</div><div class='del'>-	  and TracePoint#raised_exception.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 12:47:27 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_setsid): "./ruby-trunk"</div><div class='del'>-	  doesn't work on all environments. EnvUtil.rubybin would be suitable.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 12:28:04 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_aref): fix Segmentation fault at TestArray#test_aref</div><div class='del'>-	  on x64 mingw. Variable argument of rb_scan_args() should be a pointer</div><div class='del'>-	  (VALUE *), but 0 of variable argument seems not equal to null pointer</div><div class='del'>-	  on x64 mingw.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 11:47:14 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getsid): adds new method for getting session id.</div><div class='del'>-	  Contributed from fumiyas (Fumiyasu SATOH). Thank you!</div><div class='del'>-	  [Feature #6757] [ruby-dev:45977]</div><div class='del'>-	* configure.in: adds getsid check.</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_setsid): new test</div><div class='del'>-	  for the above.</div><div class='del'>-	* NEWS: news for the above.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 10:59:14 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): don't use th-&gt;thread_id before</div><div class='del'>-	  initialized.</div><div class='del'>-</div><div class='del'>-Sat Nov 24 00:00:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options, process_options, ruby_process_options): take</div><div class='del'>-	  care of the case argc is 0, and check if argv has NULL.</div><div class='del'>-	  [ruby-core:49889] [Bug #7423]</div><div class='del'>-</div><div class='del'>-Sat Nov 24 00:00:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--disable-dln): option to disable dynamic linking</div><div class='del'>-	  feature.  [ruby-core:37676] [Feature #4946]</div><div class='del'>-</div><div class='del'>-Fri Nov 23 23:44:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#pkg_config): strip all white spaces for</div><div class='del'>-	  mingw64+MSYS pkg-config which erroneously emits extra newlines.</div><div class='del'>-	  [ruby-core:47998] [Bug #7163]</div><div class='del'>-</div><div class='del'>-Fri Nov 23 17:31:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): wrap description lines if options are too long.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 11:13:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage2): refine</div><div class='del'>-	  assertion.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage2): now</div><div class='del'>-	  --help option is for modern terminals.</div><div class='del'>-</div><div class='del'>-Fri Nov 23 10:45:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (IPSocket#peeraddr): Fix example</div><div class='del'>-	  [ruby-core:46429] [Bug #6732]</div><div class='del'>-</div><div class='del'>-Fri Nov 23 02:40:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: Documentation for CGI#header alias</div><div class='del'>-	  Based on a patch by Marcus Stollsteimer</div><div class='del'>-	  [ruby-core:49585] [Bug #7405]</div><div class='del'>-</div><div class='del'>-Thu Nov 22 23:48:10 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_swept_object): extract from is_dead_object().</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gcdebug_print_obj_condition): add the function for debug.</div><div class='del'>-	  This function shows some conditions of given object (e.g.,</div><div class='del'>-	  marked, in heap, swept).</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gcdebug_sentinel): add the function for debug.</div><div class='del'>-	  This function allow check to inadvertently free up an object.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 23:45:18 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shared_with_p): fix cache validity check.</div><div class='del'>-	  If #pop or #shift has been called against $: or $", the array will</div><div class='del'>-	  be still shared with the snapshot. We check array length for cache</div><div class='del'>-	  validity.</div><div class='del'>-	  [ruby-core:49518] [Bug #7383]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb</div><div class='del'>-	  (TestRequire#test_require_with_array_pop,</div><div class='del'>-	   TestRequire#test_require_with_array_shift): add tests for above.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 21:48:48 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, win32/Makefile.sub (probes.dmyh): now be made in current</div><div class='del'>-	  (=build) directory if build from the repository.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 21:34:51 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: added a test.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 20:32:07 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_strict, string_to_c): check NUL.</div><div class='del'>-	* rational.c (string_to_r_strict, string_to_r): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 20:21:45 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.dmyh.h): removed $(VPATH). GNU make don't</div><div class='del'>-	  recognize suffix rule with VPATH.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 18:11:27 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in, win32/Makefile.sub (.dmyh.h): nmake merges</div><div class='del'>-	  explicit rules for same target, but not merges explicit rules and</div><div class='del'>-	  implicit rules -- always explicit rules win.  So, need to add an</div><div class='del'>-	  explicit rule for probes.h.  [Bug #7421] [ruby-core:49839]</div><div class='del'>-</div><div class='del'>-Thu Nov 22 18:01:28 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (probes.o): add -C to ignore #include in probes.d.</div><div class='del'>-</div><div class='del'>-	* probes.d: include vm_opts.h instead of vm_core.h.</div><div class='del'>-</div><div class='del'>-	* vm_opts.h (VM_COLLECT_USAGE_DETAILS): move definition from vm_core.h.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 17:45:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8: Merge b0a6577a521d1bba5e19853f95d5c4b9be1072b5.</div><div class='del'>-	  Support JIS X 0213 and some bugfixes.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 17:39:37 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/gen_dummy_probes.rb: don't change #include, #if and #endif</div><div class='del'>-	  lines. [Bug #7370]</div><div class='del'>-</div><div class='del'>-Thu Nov 22 16:58:26 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: run preprocessor when making probe.h</div><div class='del'>-	* probes.d: define probe insn and insn__operand only when</div><div class='del'>-	  VM_COLLECT_USAGE_DETAILS is 1. [Bug #7370]</div><div class='del'>-</div><div class='del'>-Thu Nov 22 16:20:49 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: Don't define vm_collect_usage_operand() and</div><div class='del'>-	  static void vm_collect_usage_insn() when disabling</div><div class='del'>-	  VM_COLLECT_USAGE_DETAILS. (refix r37796)</div><div class='del'>-</div><div class='del'>-Thu Nov 22 15:26:02 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: partly revert r37631 (DTrace support).</div><div class='del'>-	  "vm usage information is always collected, so uncomment the</div><div class='del'>-	  functions." causes performance impact. [Bug #7370]</div><div class='del'>-	  Off course this revert disables related probes.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 14:14:36 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_ss): Apply performance improvement to short</div><div class='del'>-	  byte array search for platforms without memmem(3).</div><div class='del'>-	  [Feature #6311] [ruby-dev:45530]</div><div class='del'>-</div><div class='del'>-Thu Nov 22 12:52:19 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (TestString#test_index): Add some</div><div class='del'>-	  corner cases to tests for String#index, which might fail if ruby</div><div class='del'>-	  directly used a buggy memmem(3) implementation.</div><div class='del'>-</div><div class='del'>-Thu Nov 22 08:06:42 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_profiler_clear): fix wrong method</div><div class='del'>-	  calls [Bug #7419] [ruby-core:49828].</div><div class='del'>-</div><div class='del'>-Thu Nov 22 02:22:33 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: edited (order etc).</div><div class='del'>-</div><div class='del'>-Wed Nov 21 22:52:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_wait_readable): add alias wait_readable.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_wait_writable): this is easier to use than</div><div class='del'>-	  IO.select for a single IO object and is immune to the</div><div class='del'>-	  limitations/inefficiency of select() on platforms where poll/ppoll</div><div class='del'>-	  is available.  patched by Eric Wong.  [Feature #4646]</div><div class='del'>-</div><div class='del'>-Wed Nov 21 22:27:52 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): remove a duplicative probe.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 22:08:48 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_clear): realloc profile records if its size is</div><div class='del'>-	  higher than the threshold, GC_PROFILE_RECORD_DEFAULT_SIZE * 2.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 21:53:29 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_c): added.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 21:35:38 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h: removed extra semicolon in definition of</div><div class='del'>-	  macro.</div><div class='del'>-	* compile.c: ditto.</div><div class='del'>-	* cont.c: ditto.</div><div class='del'>-	* math.c: ditto.</div><div class='del'>-	* node.c: ditto.</div><div class='del'>-	* parse.y: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 18:46:37 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (read_digits): due to a bit tighter rb_cstr_to_inum().</div><div class='del'>-</div><div class='del'>-Wed Nov 21 16:13:37 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_nsieve_bits.rb: add an encoding pragma because</div><div class='del'>-	  this benchmark using strings (literals) as binary sequence.</div><div class='del'>-	  Now, they are UTF-8 strings. [ruby-dev:46578]</div><div class='del'>-</div><div class='del'>-Wed Nov 21 00:57:43 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): null device definition uses rb_define_const</div><div class='del'>-	  instead of rb_file_const.</div><div class='del'>-</div><div class='del'>-Wed Nov 21 00:28:18 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (test_str_crypt): Use RbConfig to get</div><div class='del'>-	  libc's directory. Patched by Vit Ondruch [ruby-core:49763] [Bug #7312]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 23:28:26 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c: add marshal readahead. marshalized Array, Hash and Struct</div><div class='del'>-	  have size at least number of its elements, marshal readahead will</div><div class='del'>-	  read the certain readable length and buffer when it needs more bytes.</div><div class='del'>-	  marshal readahead prevents many calls to IO#getbyte and IO#read,</div><div class='del'>-	  then it enables performance improvement.</div><div class='del'>-	  [ruby-dev:45637] [Feature #6440]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 22:35:02 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.d.h): replace char * to const char * because somehow</div><div class='del'>-	  current dtrace removes const of function declaration in probes.d.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 21:41:04 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: introduced.</div><div class='del'>-	  Debugging/profiling features will be located.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: expose C-level TracePoint APIs.</div><div class='del'>-	  Note that they are experimental.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c, include/ruby/debug.h: rename `rb_hook_flag_t'</div><div class='del'>-	  to `rb_event_hook_flag_t'.</div><div class='del'>-	  Macro names `RUBY_HOOK_FLAG_*' are also renamed to</div><div class='del'>-	  `RUBY_EVENT_HOOK_FLAG_*'.</div><div class='del'>-</div><div class='del'>-	* debug.h, vm_debug.h: rename debug.h to vm_debug.h.</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-	* debug.c, main.c, vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 21:12:37 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_POSTPROCESS): restore.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 21:22:44 2012  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_type.rb (test_implemented_ole_types):</div><div class='del'>-	  IShellDispatch6 bundled in Windows 8. Thanks to phasis68 (Heesob</div><div class='del'>-	  Park).  [ruby-core:49580][Bug #7403]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 21:06:41 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: some improvements.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 21:01:16 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (incs): BSD make cannot deal with non-prefixed dependency</div><div class='del'>-	  and prefixed target.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 20:10:23 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_bsearch): fix rdoc bug (O(n log n) -&gt; O(log n)).</div><div class='del'>-	  Patch by Charlie Somerville.  [ruby-core:49661] [Bug #7409]</div><div class='del'>-</div><div class='del'>-	* range.c (range_bsearch): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 19:02:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: rename and add TracePoint APIs.</div><div class='del'>-	  (1) TracePoint.new(...){...} creates a new trace point</div><div class='del'>-	      but does not make it enable.</div><div class='del'>-	  (2) TracePoint.trace(...){...} creates a new trace point</div><div class='del'>-	      and enable it (same as old behavior).</div><div class='del'>-	  (3) TracePoint#enable make it enable (renamed from TracePoint#retrace).</div><div class='del'>-	      If block given, when enable only in block.</div><div class='del'>-	  (4) TracePoint#disable make it disable (renamed from TracePoint#untrace).</div><div class='del'>-	      If block given, when disable only in block.</div><div class='del'>-	  (5) TracePoint#enabled? returns this trace is enable or not.</div><div class='del'>-	  [Feature #6895]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 18:35:05 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: add two methods:</div><div class='del'>-	  (1) TracePoint#return_value which returns return</div><div class='del'>-	      value on the :return and :c_return event.</div><div class='del'>-	  (2) TracePoint#raised_exception which returns raised exception</div><div class='del'>-	      value on the :raise event.</div><div class='del'>-	  Each methods raise RuntimeError if it is called at unsupported</div><div class='del'>-	  event.</div><div class='del'>-	  Please review and give us feedback until next preview</div><div class='del'>-	  release (Dec/2012) of Ruby 2.0.0.</div><div class='del'>-	  [Feature #6895]</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, vm_eval.c, vm_insnhelper.c, eval.c, thread.c:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c, vm_core.h: move definition of rb_trace_arg_t from</div><div class='del'>-	  vm_trace.c to vm_core.h.</div><div class='del'>-	  Caller fills rb_trace_arg_t and pass the pointer of this variable.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: fix tests to test this change.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 17:31:12 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix dtrace didn't work on darwin.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_AVAILABLE): unify RUBY_DTRACE_POSTPROCESS</div><div class='del'>-	  and RUBY_DTRACE_BSD_BROKEN.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 15:20:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (File.extname): Documentation for extname on dotfiles and</div><div class='del'>-	files ending with a dot. Also, added example for this.</div><div class='del'>-	[ruby-core:47852] [Bug #7112]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 14:19:20 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_signame): fix windows</div><div class='del'>-	  test failure. Process.kill on windows can't send a signal to</div><div class='del'>-	  another process.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 13:58:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): moved all rb_file_const() into file.c.</div><div class='del'>-	* file.c (Init_File): replace with rb_file_const() with</div><div class='del'>-	  rb_define_const() because RDoc don't care rb_file_const.</div><div class='del'>-	  [Bug #5530]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 12:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage_msg): Fix typo [ruby-core:49205] [Bug #7327]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 12:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (File::NULL): Document File::NULL constant</div><div class='del'>-	  [ruby-core:49384] [Bug #7365]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 12:05:15 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of console</div><div class='del'>-	  API.</div><div class='del'>-	  based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 11:14:33 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--enable-dtrace): always call RUBY_DTRACE_BSD_BROKEN</div><div class='del'>-	  for portability.</div><div class='del'>-	  As the note, FreeBSD 8 has DTrace as the optional</div><div class='del'>-	  feature (it is enabled by the build option), but doesn't have USDT.</div><div class='del'>-	  FreeBSD 9 has USDT but they are still optional. FreeBSD 10 will</div><div class='del'>-	  enable them by default.</div><div class='del'>-	  The variable $rb_cv_prog_dtrace_g is "yes" only on FreeBSD 9 with</div><div class='del'>-	  optional DTrace or FreeBSD 10. If it is "no", you cannot know</div><div class='del'>-	  whether it doesn't need -G or DTrace is disabled. (by checking</div><div class='del'>-	  error code, you can know)</div><div class='del'>-</div><div class='del'>-Mon Nov 19 22:55:48 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--enable-dtrace): change help message</div><div class='del'>-</div><div class='del'>-Tue Nov 20 11:05:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb (Tracer.trace_func): printf to stdout</div><div class='del'>-	  Patch by Michal Fojtik [ruby-core:45219] [Bug #6490]</div><div class='del'>-</div><div class='del'>-Mon Nov 19 21:24:18 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: not to include probes.h because the code does not depend</div><div class='del'>-	  on it.</div><div class='del'>-	* common.mk (vm_dump.$(OBJEXT)): remove dependency on probes.h</div><div class='del'>-</div><div class='del'>-Tue Nov 20 10:14:22 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_s_check_interrupt): removed redundant</div><div class='del'>-	  GET_THREAD().</div><div class='del'>-</div><div class='del'>-Tue Nov 20 10:12:46 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_async_errinfo_active_p): added a small</div><div class='del'>-	  comment.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 10:05:56 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region_end): replaced GET_THREAD()</div><div class='del'>-	  with ruby_thread_from_native(). We don't have GVL here.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 09:56:15 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts) removed.</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common) renamed to</div><div class='del'>-	  rb_threadptr_execute_interrupts. I.e. unified</div><div class='del'>-	  rb_threadptr_execute_interrupts and rb_threadptr_execute_interrupts_common.</div><div class='del'>-	* thread.c (rb_thread_schedule, rb_thread_execute_interrupts) s/_common//.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 09:48:34 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_get_next_signal): removed pointless signal</div><div class='del'>-	  disabling. pthread_sigmask() only changes current thread</div><div class='del'>-	  mask.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 09:36:55 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (install_sighandler): added comments why we need</div><div class='del'>-	  rb_disable_interrupt().</div><div class='del'>-</div><div class='del'>-Tue Nov 20 09:31:33 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_disable_interrupt, rb_enable_interrupt): removed</div><div class='del'>-	  USE_TRAP_MASK.</div><div class='del'>-	* signal.c (trap_arg, trap_ensure): removed.</div><div class='del'>-	* signal.c (trap, sig_trap): removed pointless signal disabling.</div><div class='del'>-	  We don't need it because we no longer run trap handler on signal</div><div class='del'>-	  handler context.</div><div class='del'>-</div><div class='del'>-Tue Nov 20 09:20:49 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb: Moved Mutex#synchronize to</div><div class='del'>-	* thread.c (rb_mutex_synchronize_m): here. [Bug #4266]</div><div class='del'>-</div><div class='del'>-Tue Nov 20 08:36:15 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_signame): implements Signal.signame method</div><div class='del'>-	[Feature #5613]</div><div class='del'>-	* test/ruby/test_signal.rb (test_signame): adds test for above</div><div class='del'>-	* NEWS: add an item about above</div><div class='del'>-</div><div class='del'>-Mon Nov 19 16:30:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_each_pair): yield associated pairs so that</div><div class='del'>-	  an unsplat argument can get both, for consistency with Hash,</div><div class='del'>-	  OpenStruct, and etc.  [ruby-dev:46533] [Bug #7382]</div><div class='del'>-</div><div class='del'>-Mon Nov 19 16:17:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBS): libelf is need on only FreeBSD.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 16:08:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RUBYLIB): purelib option in runruby.rb is deprecated</div><div class='del'>-	  since r28841, so set to an empty list to get rid of a bogus path in</div><div class='del'>-	  child processes, which caused an insecure operation exception in</div><div class='del'>-	  test/ruby/test_encoding.rb:test_unsafe.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 15:40:50 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (script): add OPTS=-v, requested by @_ko1.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 15:09:07 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix didn't enable_dtrace=yes on auto.</div><div class='del'>-</div><div class='del'>-	* configure.in: see enable_dtrace for adding libelf on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* common.mk: VPATH is not needed.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 14:55:51 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: add `Thread#backtrace_locations' method.</div><div class='del'>-	  This method is similar to `caller_locations' method for</div><div class='del'>-	  specific method.</div><div class='del'>-	  And fix to accept `level' and `n' parameters for `Thread#backtrace'</div><div class='del'>-	  and `Thread#backtrace_locations'.</div><div class='del'>-	  `caller' (and `caller_locations') do not return `caller' method</div><div class='del'>-	  frame.</div><div class='del'>-	  However, `Thread#backtrace' (and `Thread#backtrace_locations')</div><div class='del'>-	  return `Thread#backtrace' method frame itself</div><div class='del'>-	  if `Thread.current.backtrace' was called.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add tests.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 14:54:32 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (probes.h): moved to common.mk and changed to</div><div class='del'>-	  see $(srcdir).</div><div class='del'>-</div><div class='del'>-	* common.mk (probes.dmyh): now created it on $(srcdir) always.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (.SUFFIXES): removed common suffix.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 10:00:10 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.SUFFIX): bsdmake needs .SUFFIX is defined before use.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix path of probes.dmyh.</div><div class='del'>-</div><div class='del'>-	* common.mk (vm_dump.o): depend probes.h.</div><div class='del'>-</div><div class='del'>-	* configure.in: FreeBSD's USDT requires libelf.</div><div class='del'>-</div><div class='del'>-Mon Nov 19 01:11:59 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, probes_helper.h (RUBY_DTRACE_FUNC_ENTRY_HOOK,</div><div class='del'>-	  RUBY_DTRACE_FUNC_RETURN_HOOK): move from vm_core.h to new file</div><div class='del'>-	  probes_helper.h for narrowing dependency to probes.h.</div><div class='del'>-	* common.mk (VM_CORE_H_INCLUDES): remove dependency to probes.h.</div><div class='del'>-	* common.mk (vm.$(OBJEXT)): add dependency to probes_helper.h.</div><div class='del'>-	* vm.c, vm_insnhelper.c: include probes_helper.h.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 16:33:00 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,</div><div class='del'>-	  based on r26235 by Yugui. On Solaris 10, low optimization level</div><div class='del'>-	  may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle</div><div class='del'>-	  SolarisStudio 12.3 cc.</div><div class='del'>-</div><div class='del'>-	* configure.in (--enable-dtrace): new option to enable/disable</div><div class='del'>-	  DTrace support. By default, trying to enable if dtrace command</div><div class='del'>-	  is found on the system. It is disabled when cross compiling.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether</div><div class='del'>-	  the dtrace on the system needs postprocessing with "dtrace -G".</div><div class='del'>-	  The postprocessing is needed on Solaris 10 and other platforms.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether</div><div class='del'>-	  the dtrace supports USDT.</div><div class='del'>-</div><div class='del'>-	* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.</div><div class='del'>-</div><div class='del'>-	* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for</div><div class='del'>-	  DTrace probe object generated by postprocessing with "dtrace -G".</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object</div><div class='del'>-	  generated by the postprocessing. New file probes.stamp is for</div><div class='del'>-	  rebuilding related objects that may be modified by "dtrace -G".</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new</div><div class='del'>-	  macro for DTrace static library hacks.</div><div class='del'>-</div><div class='del'>-	* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with</div><div class='del'>-	  rule for DTrace static library hacks.</div><div class='del'>-</div><div class='del'>-	* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 09:31:47 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (read_comp): mathn compliant.</div><div class='del'>-	* rational.c (read_num): ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 02:50:12 2012  Luis Lavena &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (replace_to_long_name): correct logic around wildcard</div><div class='del'>-	  characters detection and ensure wide-chars are used as pattern.</div><div class='del'>-	  [ruby-core:49451] [Bug #7374]</div><div class='del'>-</div><div class='del'>-Sun Nov 18 02:02:46 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (read_comp): modified handling of polar form.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 00:50:44 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (read_comp): fixed handling of polar form.</div><div class='del'>-</div><div class='del'>-Sun Nov 18 00:14:46 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (string_to_c_strict, string_to_c): rewrote without regexp.</div><div class='del'>-	* rational.c (string_to_r_strict, string_to_r): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 23:53:05 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (make_patterns): should not accept extra sign.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 21:45:12  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (replace_to_long_name): skip expansion for all wildcard</div><div class='del'>-	  characters.</div><div class='del'>-	  [ruby-core:49451] [Bug #7374]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: add more assertions to test.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 12:14:50 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: use literal YAML style</div><div class='del'>-	  when emitting multi-line strings. Thanks @atambo</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yaml.rb: test for change.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 12:03:41 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: avoid raising exceptions when</div><div class='del'>-	  parsing Floats and Integers. Thanks riffraff [ruby-core:44426]</div><div class='del'>-	* test/psych/test_numeric.rb: associated test</div><div class='del'>-</div><div class='del'>-Sat Nov 17 11:34:31 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_update): pass the key in st_table so that we can free</div><div class='del'>-	  memory of the key in st_table when deleting.</div><div class='del'>-	  [ruby-core:49220] [Bug #7330]</div><div class='del'>-</div><div class='del'>-	* test/-ext-/st/test_update.rb</div><div class='del'>-	  (Bug::StTable#test_pass_objects_in_st_table): add a test.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 11:26:36 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/core_ext.rb: move Kernel#y so that it can</div><div class='del'>-	  manually be required as 'psych/y'.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/y.rb: ditto</div><div class='del'>-</div><div class='del'>-Sat Nov 17 08:13:48 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: fix r37113. Correct examples, fix style</div><div class='del'>-	  and show explicit dependency (require 'abbrev').</div><div class='del'>-</div><div class='del'>-Sat Nov 17 07:35:15 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (replace_to_long_name): skip automatic path expansion</div><div class='del'>-	  when wildcard character is used.  [ruby-core:49451] [Bug #7374]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 00:50:23 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): add flonum to arg-&gt;data to keep reference index</div><div class='del'>-	  consistency. [ruby-core:49323] [Bug #7348]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Nov 17 00:40:25 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (incs): dist files need probes.dmyh.</div><div class='del'>-</div><div class='del'>-	* common.mk (probes.dmyh): depends on generator script.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk, configure.in, win32/Makefile.sub (probes.h):</div><div class='del'>-	  select generating with dtrace or copying dummy file by suffix rules.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 19:24:10 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_without_gvl2): change the parameter of</div><div class='del'>-	  `func' from `int *skip_interrupt' to `VALUE *flags'.</div><div class='del'>-	  If (flags &amp; RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS) is not zero,</div><div class='del'>-	  then skip checking interrupt.</div><div class='del'>-	  [ruby-core:46547]</div><div class='del'>-</div><div class='del'>-	* include/ruby/thread.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 18:59:05 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (no-dtrace-probes.h): dmyprobes.h is in srcdir.</div><div class='del'>-</div><div class='del'>-	* common.mk (dmyprobes.h): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 17:57:15 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (probes.h): split build commands for dtrace-available</div><div class='del'>-	  and unavailable platforms.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (incs): probes.h is a platform dependent file, so it</div><div class='del'>-	  cannot be a part of prereq target.  move it to all-incs.</div><div class='del'>-</div><div class='del'>-	* configure.in (DTRACE): move after AC_PROG_CC since cross_compiling</div><div class='del'>-	  is set in it.</div><div class='del'>-</div><div class='del'>-	* configure.in (DTRACE): ignore non-prefixed version if</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, win32/Makefile.sub (probes.h): fix copying dmyprobes.h</div><div class='del'>-	  path when outplace-build.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 15:27:36 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb (POP3.certs): fix typo in comment.</div><div class='del'>-	  patch from no6v (Nobuhiro IMAI) &lt;nov@yo.rim.or.jp&gt;.</div><div class='del'>-	  [ruby-dev:46519] [Bug #7355]</div><div class='del'>-</div><div class='del'>-Fri Nov 16 12:36:47 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/helper.rb (Rake::TestCase#setup): revert r37669.</div><div class='del'>-	  @orig_PWD should be the original pwd.</div><div class='del'>-</div><div class='del'>-	* test/rake/test_*.rb: don't use @orig_PWD to load libraries.</div><div class='del'>-	  It should be specified with relative path from the file.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 10:22:52 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/helper.rb (Rake::TestCase#setup): @orig_PWD shouldn't be</div><div class='del'>-	  Dir.pwd when the build directory is different from source directory.</div><div class='del'>-</div><div class='del'>-Fri Nov 16 09:41:08 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/version.rb:  workaround fix to build. see #7366</div><div class='del'>-	  [ruby-dev:46522]</div><div class='del'>-</div><div class='del'>-Fri Nov 16 07:23:18 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake*:  Updated to rake 0.9.4</div><div class='del'>-	  http://rake.rubyforge.org/doc/release_notes/rake-0_9_4_rdoc.html for</div><div class='del'>-	  a list of changes in 0.9.4.</div><div class='del'>-</div><div class='del'>-	* test/rake*:  ditto</div><div class='del'>-</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-</div><div class='del'>-Fri Nov 16 06:58:52 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake*:  Updated to rake 0.9.3.  See</div><div class='del'>-	  http://rake.rubyforge.org/doc/release_notes/rake-0_9_3_rdoc.html for</div><div class='del'>-	  a list of changes in 0.9.3.</div><div class='del'>-</div><div class='del'>-	* test/rake*:  ditto</div><div class='del'>-</div><div class='del'>-	* bin/rake:  ditto</div><div class='del'>-</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-</div><div class='del'>-Thu Nov 15 22:39:32 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_bsearch): fix some bugs: a documentation bug, a wrong</div><div class='del'>-	  condition, missed break in switch/case, and workaround for GCC</div><div class='del'>-	  optimization. See [ruby-core:49364] in detail.  A great patch from</div><div class='del'>-	  Heesob Park. [Bug #7352] [Feature #4766]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_bsearch): fix similar bug (missed break).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: add two test cases for above.</div><div class='del'>-</div><div class='del'>-Thu Nov 15 22:41:57 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (GENTRY): GENTRY should be pointer size.</div><div class='del'>-	  A patch by yoshidam (Yoshida Masato) [Bug #7332].</div><div class='del'>-</div><div class='del'>-Thu Nov 15 13:20:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* man/erb.1: Fix grammar and copyright dates</div><div class='del'>-	* man/goruby.1: ditto</div><div class='del'>-	* man/irb.1: ditto</div><div class='del'>-	* man/rake.1: ditto</div><div class='del'>-	* man/ri.1: ditto</div><div class='del'>-	* man/ruby.1: ditto</div><div class='del'>-	  Patch by Arthur Gunn</div><div class='del'>-	  [Fixes Github #210]</div><div class='del'>-</div><div class='del'>-Thu Nov 15 11:35:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: Grammar edits for man page</div><div class='del'>-	  Based on a patch by Michael Endsley [Fixes Github #183]</div><div class='del'>-</div><div class='del'>-Thu Nov 15 00:47:20 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_bsearch): add Array#bsearch for binary search.</div><div class='del'>-	  [ruby-core:36390] [Feature #4766]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* range.c (range_bsearch): add Range#bsearch for binary search.</div><div class='del'>-	  [ruby-core:36390] [Feature #4766]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: add a test for above</div><div class='del'>-</div><div class='del'>-	* NEWS: added the two new methods.</div><div class='del'>-</div><div class='del'>-Wed Nov 14 13:25:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (chmod): Add "X" to modes, convert format to table</div><div class='del'>-	  [ruby-core:48965] [Bug #7288]</div><div class='del'>-</div><div class='del'>-Wed Nov 14 11:51:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (init_comments): Document private method #init_comments.</div><div class='del'>-	  Based on a patch from Vincent Batts [ruby-core:49172] [Bug #7319]</div><div class='del'>-</div><div class='del'>-Wed Nov 14 00:54:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (probes.h): create from probes.d</div><div class='del'>-</div><div class='del'>-Tue Nov 13 18:44:01 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc_with_frame): don't use ci after</div><div class='del'>-	  EXEC_EVENT_HOOK because ci can be overridden.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* method.h: change invoker's parameters types.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (call_cfunc_invoker_func): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 18:01:54 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_using): raise an ArgumentError if cyclic using is</div><div class='del'>-	  detected.  based on the patch by Charlie Somerville.</div><div class='del'>-	  [ruby-core:49092] Bug #7308</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 17:40:04 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (vm_insnhelper.c): this target is useless and causes</div><div class='del'>-	  ruby always need rebuild.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 17:35:49 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (insn_data_to_s_detail): remove debug lines.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 17:28:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_caller_setup_args): save and restore</div><div class='del'>-	  ci-&gt;argc and ci-&gt;blockptr before and after method invocations</div><div class='del'>-	  because these method dispatches can override call_info.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add tests for this fix.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 16:38:02 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (dmyprobes.h): always create for make dist.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (probes.h): create or copy dmyprobes.h</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: only do copy dmyprobes.h.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 15:37:21 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.SUFFIX): .SUFFIX is needed here for .d.h on bsd make.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 15:34:35 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 12:27:11 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: disable dtrace because it doesn't work on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-local): rm probes.h.</div><div class='del'>-</div><div class='del'>-	* common.mk (parse.o): depend $(PROBES_H_INCLUDES).</div><div class='del'>-</div><div class='del'>-	* common.mk (.d.h): moved from Makefile.in and use BASERUBY.</div><div class='del'>-</div><div class='del'>-	* tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not</div><div class='del'>-	  available on Windows Microsoft VC++ environment.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 12:30:26 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/README.win32: added mention about build directory.  currently</div><div class='del'>-	  we can not build ruby in win32 directory.  this problem is reported</div><div class='del'>-	  by Masahiro Kitajima &lt;katonbo@katontech.com&gt;.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 11:03:47 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_ss): performance improvement by using memmem(3) if</div><div class='del'>-	  possible. [ruby-dev:45530] [Feature #6311]</div><div class='del'>-</div><div class='del'>-	* configure.in: check existence of memmem(3) and that it is not broken.</div><div class='del'>-</div><div class='del'>-Tue Nov 13 06:50:02 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* probes.d: add DTrace probe declarations. [ruby-core:27448]</div><div class='del'>-</div><div class='del'>-	* array.c (empty_ary_alloc, ary_new): added array create DTrace probe.</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_insns_name): allowing DTrace probes to access</div><div class='del'>-	  instruction sequence name.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: translate probes.d file to appropriate header file.</div><div class='del'>-</div><div class='del'>-	* common.mk: declare dependencies on the DTrace header.</div><div class='del'>-</div><div class='del'>-	* configure.in: add a test for existence of DTrace.</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): add a probe for when an exception is</div><div class='del'>-	  raised.</div><div class='del'>-</div><div class='del'>-	* gc.c: Add DTrace probes for mark begin and end, and sweep begin and</div><div class='del'>-	  end.</div><div class='del'>-</div><div class='del'>-	* hash.c (empty_hash_alloc): Add a probe for hash allocation.</div><div class='del'>-</div><div class='del'>-	* insns.def: Add probes for function entry and return.</div><div class='del'>-</div><div class='del'>-	* internal.h: function declaration for compile.c change.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_load): add probes for `load` entry and exit, require</div><div class='del'>-	  entry and exit, and wrapping search_required for load path search.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_alloc): added a probe for general object creation.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): added a probe around parse and compile phase.</div><div class='del'>-</div><div class='del'>-	* string.c (empty_str_alloc, str_new): DTrace probes for string</div><div class='del'>-	  allocation.</div><div class='del'>-</div><div class='del'>-	* test/dtrace/*: tests for DTrace probes.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_invoke_proc): add probes for function return on exception</div><div class='del'>-	  raise, hash create, and instruction sequence execution.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add probe declarations for function entry and exit.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: add probes header file.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on</div><div class='del'>-	  function entry and return.</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: expose instruction number to instruction name function.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: add function entry and exit probes for cfunc</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: vm usage information is always collected, so</div><div class='del'>-	  uncomment the functions.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 19:14:50 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (isinf, isnan): isinf() and isnan() are macros on</div><div class='del'>-	  DragonFly which cannot be found by AC_REPLACE_FUNCS().  This</div><div class='del'>-	  workaround enforces the fact that they exist on DragonFly.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 15:59:38 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),</div><div class='del'>-	  vm_insnhelper.c (vm_search_method): revert r37616 because it's too</div><div class='del'>-	  slow.  [ruby-dev:46477]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_inline_method_cache): skip</div><div class='del'>-	  the test until the bug is fixed efficiently.</div><div class='del'>-</div><div class='del'>-Mon Nov 12 14:28:01 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (each_export): skip garbage generated by VS2012's</div><div class='del'>-	  nmake.</div><div class='del'>-	  reported and patched by Yoshida Masato at [Bug #7333] [ruby-dev:46484]</div><div class='del'>-</div><div class='del'>-Sun Nov 11 18:58:55 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_date_{parse,strptime}.rb: changed the format of</div><div class='del'>-	  some extra messages.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 18:41:34 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date__parse): revised the tight parser</div><div class='del'>-	  (about handling of apostrophes).</div><div class='del'>-</div><div class='del'>-Sun Nov 11 15:39:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): just warn for wrong elements now.</div><div class='del'>-	  [ruby-dev:46440] [Bug #7300]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): refine error messages.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_builtin_class_name): share for above.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 15:12:18 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (top_using): remove Kernel#using, and add main.using instead.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 13:41:01 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_refinement, rb_mod_using, f_using): clear method</div><div class='del'>-	  cache only when using is called explicitly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 12:56:34 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore): fix not to replace ThreadError raised in</div><div class='del'>-	  #transaction block with PStore::Error.</div><div class='del'>-	  [ruby-core:39238] [Bug #5269]</div><div class='del'>-</div><div class='del'>-Sun Nov 11 11:36:19 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo):</div><div class='del'>-	  add a new field for inline method cache.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_method): check rb_call_info_t::refinements</div><div class='del'>-	  not to confuse inline method cache when module_eval is used with</div><div class='del'>-	  refinements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Nov 11 08:45:45 2012  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: removed a comma before "before"</div><div class='del'>-</div><div class='del'>-Sat Nov 10 23:02:31 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: move immutable fields from struct heaps_slot and struct</div><div class='del'>-	  sorted_heaps_slot into struct heaps_header.</div><div class='del'>-	  Based on a patch from Sokolov Yura [Feature #6199][ruby-core:43592]</div><div class='del'>-</div><div class='del'>-Sat Nov 10 19:28:16 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: modified doc.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 18:20:10 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c: edited about era.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 12:13:41 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: Don't install *.gemspec under lib/.</div><div class='del'>-	  [ruby-core:48966] [Bug #7289]</div><div class='del'>-	  Reported by Vit Ondruch. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sat Nov 10 00:49:26 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h: renamed from atomic.h to avoid header file name</div><div class='del'>-	  conflict on Solaris 10. [ruby-dev:46414] [Bug #7287]</div><div class='del'>-</div><div class='del'>-	* gc.c, signal.c, vm_core.h, common.mk: reflect the rename from</div><div class='del'>-	  atomic.h to ruby_atomic.h.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 00:46:57 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h: Revert r37491 which is a temporary workaround.</div><div class='del'>-</div><div class='del'>-Sat Nov 10 00:33:31 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* siphash.h: check configure macros before include newer headers.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 23:33:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#run, ERB#result): eval under isolated bindings for</div><div class='del'>-	  safe concurrent use.  [ruby-core:47638] [Bug #7046]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 23:05:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (BYTE_ORDER): define using configured WORDS_BIGENDIAN.</div><div class='del'>-</div><div class='del'>-	* siphash.c (sip_init_state): use union to suppress warnings by gcc</div><div class='del'>-	  4.7.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 19:40:03 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_splice): fix r37583 doesn't consider the case when</div><div class='del'>-	  beg &gt; array length.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 16:11:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_memhash): use siphash.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 16:08:46 2012  Sokolov Yura funny-falcon  &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: speedup Array#unshift by using space in shared array.</div><div class='del'>-	  [Feature #6638]</div><div class='del'>-	  - when array owns its shared array (ARY_SHARED_NUM == 1), and there</div><div class='del'>-	    is enough space then try unshift values directly into shared</div><div class='del'>-	    array.</div><div class='del'>-	  - when resulting array is big (~&gt;64 items) then make it shared with</div><div class='del'>-	    enough room for future #unshifts, and then insert into shared</div><div class='del'>-	    array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_splice): use shared array in rb_ary_slice.</div><div class='del'>-	  [Feature #6638]</div><div class='del'>-	  - use ary_ensure_room_for_push when rb_ary_slice used to add at the</div><div class='del'>-	    end of array, cause rb_ary_concat use rb_ary_slice.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_push): make array really suitable for</div><div class='del'>-	  queue.  [Feature #6638]</div><div class='del'>-	  when array is shared (which happens after Array#shift), and</div><div class='del'>-	  ARY_SHARED_NUM == 1 (which is very often when array used as queue),</div><div class='del'>-	  then make rb_ary_push push directly into shared array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): steal shared array's container when</div><div class='del'>-	  ARY_SHARED_NUM == 1.  [Feature #6638]</div><div class='del'>-	  - Do not allocate new memory in rb_ary_modify when ARY_SHARED_NUM == 1</div><div class='del'>-	    and length almost same.</div><div class='del'>-	  - Store ARY_CAPA instead of RARRAY_LEN in ary_make_shared, to make</div><div class='del'>-	    it useful.</div><div class='del'>-	  - Fix rb_ary_sort_bang accordantly.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 16:00:00 2012  Zachary Scott  &lt;zzak@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Documentation for BigDecimal</div><div class='del'>-	  Based on a patch from Vincent Batts [ruby-core:49047] [Bug #7305]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 15:25:42 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shellescape): Add back my original</div><div class='del'>-	  real world example with some enhancement.</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shelljoin): Undo part of the</div><div class='del'>-	  previous rdoc change.  This new example using a string-only</div><div class='del'>-	  array was not in line with the description.</div><div class='del'>-</div><div class='del'>-Fri Nov  9 12:58:13 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): crypt(3) may return NULL.</div><div class='del'>-	  Latest glibc (2.16?) crypt(3) actually returns NULL. [Bug #7312]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 12:07:06 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (alloca), eval_intern.h (alloca), gc.c</div><div class='del'>-	  (alloca): Make alloca() globally available by moving the</div><div class='del'>-	  ultimate ifdef's to ruby/ruby.h.  Gcc hides its builtin alloca()</div><div class='del'>-	  when compiling with -ansi, and linking thus fails on platforms</div><div class='del'>-	  that lack their own alloca() implementation in libc, which</div><div class='del'>-	  include OpenBSD and some ports of NetBSD.  We use alloca()</div><div class='del'>-	  everywhere including from within third party C extensions, so</div><div class='del'>-	  alloca() must be made globally available. [Bug #7307]</div><div class='del'>-</div><div class='del'>-	* addr2line.c (alloca): Replace the alloca() part with the</div><div class='del'>-	  ultimate ifdef's. [Bug #7307]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 09:30:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (IO#new):</div><div class='del'>-	  Fix indentation from r37444</div><div class='del'>-	  [ruby-core:48052] [Bug #7179]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 07:36:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul0): enable big_mul_toom3.</div><div class='del'>-	  [ruby-core:48552] [Bug #7242]</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_toom3): fix incorrect calculation.</div><div class='del'>-	  the patch is made by Heesob Park.</div><div class='del'>-	  [ruby-core:48552] [Bug #7242]</div><div class='del'>-</div><div class='del'>-Fri Nov  9 05:33:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul0): disable big_mul_toom3 temporarily.</div><div class='del'>-	  [ruby-core:48552] [Bug #7242]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb (test_mul_large_numbers):</div><div class='del'>-	  add a test for bigmul1_toom3 suggested in [Bug #7242].</div><div class='del'>-</div><div class='del'>-Thu Nov  8 21:57:59 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch): performance improvement by using memchr().</div><div class='del'>-	  [ruby-dev:45397] [Feature #6173]</div><div class='del'>-</div><div class='del'>-Thu Nov  8 19:02:50 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):</div><div class='del'>-	  treat \r as newline as mame pointed. [ruby-dev:46425] [Bug #7278]</div><div class='del'>-</div><div class='del'>-Thu Nov  8 11:32:11 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-opt-dir): Avoid nesting of double quotes</div><div class='del'>-	  inside backquotes, since some traditional shells like PD KSH</div><div class='del'>-	  (which OpenBSD's /bin/sh bases on) fail to parse them.</div><div class='del'>-</div><div class='del'>-Thu Nov  8 09:34:00 2012  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Add a caution that the results of the comparing</div><div class='del'>-	  operations of two NaNs are undefined.</div><div class='del'>-	  [#1720] [ruby-dev:38725] [ruby-core:36966]</div><div class='del'>-</div><div class='del'>-Thu Nov  8 04:45:21 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: Restore rb_enumeratorize as it was before</div><div class='del'>-	  r37497 and introduce rb_enumeratorize_with_size instead. [#7302]</div><div class='del'>-</div><div class='del'>-	* enumerator.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 15:22:37 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): fix r37514: it yielded with NaN</div><div class='del'>-	  if the unit is infinity.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 15:46:12 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick.rb: fix typo. reported by Rohit Arondekar.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/211</div><div class='del'>-</div><div class='del'>-Wed Nov  7 15:34:12 2012  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: alias CGI#http_header to CGI#header.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 12:49:39 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): set RMODULE_IS_REFINEMENT to a created</div><div class='del'>-	  refinement module, and don't override method_added.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): check redefinition of</div><div class='del'>-	  optimized methods when a method is added to a refinement module.</div><div class='del'>-	  [ruby-core:48970] [Bug #7290]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 11:48:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-mode-set-encoding): now encoding needs</div><div class='del'>-	  to be set always explicitly actually.  [Feature #6679]</div><div class='del'>-</div><div class='del'>-Wed Nov  7 09:15:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): avoid inadvertent symbol creation.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 07:52:50 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (rb_enum_cycle_size): prefix with rb.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 04:32:15 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Remove FIXME skip on Windows</div><div class='del'>-	  specific test because the test in question was already fixed.</div><div class='del'>-</div><div class='del'>-Wed Nov  7 03:45:12 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb: Recognize zlibwapi as linking library.</div><div class='del'>-	  Patch by Daniel Berger.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:44979] [Feature #6421]</div><div class='del'>-</div><div class='del'>-Wed Nov  7 02:06:40 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: New method #size; constructor accepts size.</div><div class='del'>-	                Have #to_enum accept a block</div><div class='del'>-	                Warn when using deprecated form of constructor</div><div class='del'>-	                Support #size for enumerators created from enumerators</div><div class='del'>-	                Support for lazy.{map|flat_map|...}.size.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: RETURN_SIZED_ENUMERATOR for support of</div><div class='del'>-	  sized enumerators.</div><div class='del'>-</div><div class='del'>-	* array.c: Support for various enumerator.size.</div><div class='del'>-</div><div class='del'>-	* enum.c: ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-	* range.c: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  6 20:40:28 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): Fix constant missing exception class</div><div class='del'>-	  and message to maintain backwards compatibility. Constant search</div><div class='del'>-	  should start at Object when constant starts with '::'</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: test for fixes</div><div class='del'>-</div><div class='del'>-Tue Nov  6 16:50:00 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#inspect): fix confusing #inspect.</div><div class='del'>-	  previous Tempfile#inspect says it is a File, but actually</div><div class='del'>-	  it is not a File.</div><div class='del'>-</div><div class='del'>-	    t = Tempfile.new("foo") #=&gt; #&lt;File:/tmp/foo20121106-31970-1ffbum0&gt;</div><div class='del'>-	    t.is_a? File #=&gt; false</div><div class='del'>-</div><div class='del'>-	  now Tempfile#inspect returns like:</div><div class='del'>-</div><div class='del'>-	    t = Tempfile.new("foo")</div><div class='del'>-	    #=&gt; #&lt;Tempfile:/tmp/foo20121106-31970-1ffbum0&gt;</div><div class='del'>-</div><div class='del'>-	  [ruby-core:47544] [Bug #7027]</div><div class='del'>-</div><div class='del'>-Tue Nov  6 16:22:30 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h: add #include &lt;sys/atomic.h&gt; for the workaround of</div><div class='del'>-	  header file name conflict of atomic.h with /usr/include/atomic.h</div><div class='del'>-	  on Solaris 10. [ruby-dev:46414] [Bug #7287]</div><div class='del'>-</div><div class='del'>-Tue Nov  6 14:38:00 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb: now source encoding is UTF-8, so</div><div class='del'>-	  binary strings in old scripts are dangerous.</div><div class='del'>-</div><div class='del'>-Tue Nov  6 14:25:09 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):</div><div class='del'>-	  don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278]</div><div class='del'>-</div><div class='del'>-Tue Nov  6 09:42:26 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_b): Add String#b, returning a copied string</div><div class='del'>-	  whose encoding is ASCII-8BIT. [ruby-dev:45992] [Feature #6767]</div><div class='del'>-</div><div class='del'>-Tue Nov  6 09:37:57 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): set default source encoding as</div><div class='del'>-	  UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_initialize): set default parser encoding as</div><div class='del'>-	  UTF-8 instead of US-ASCII.</div><div class='del'>-</div><div class='del'>-Tue Nov  6 05:48:06 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb</div><div class='del'>-	  (TestRequire#test_require_to_path_redefined_in_load_path,</div><div class='del'>-	   TestRequire#test_require_to_str_redefined_in_load_path):</div><div class='del'>-	  Suppress method redefined warning when test-all with RUBYOPT=-w.</div><div class='del'>-</div><div class='del'>-Thu Nov  8 00:24:14 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/view.rb: Do not fail if the file to view is shorter</div><div class='del'>-	  than the screen height.</div><div class='del'>-</div><div class='del'>-Mon Nov  5 11:40:00 2012  Mark Somerville  &lt;mark@scottishclmibs.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_reserved_fd_p): fix typo in macro check</div><div class='del'>-	  that prevented the ifdef ever being true.</div><div class='del'>-	  [Bug #7281] [ruby-core:48940]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 23:28:57 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check_to_string): extract from</div><div class='del'>-	  rb_get_path_check(). We change the spec not to call to_path of</div><div class='del'>-	  String object.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check_convert): extract from rb_get_path_check().</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check): follow the above change.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_fast): remove check_expand_path_args().</div><div class='del'>-	  Instead we call it in load.c.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to</div><div class='del'>-	  reduce expand cost.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_safe): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_get_expanded_load_path): add a declaration.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_get_path_check_to_string, rb_get_path_check_convert):</div><div class='del'>-	  add declarations.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_construct_expanded_load_path): fix for compatibility.</div><div class='del'>-	  Same checks in rb_get_path_check() are added. We don't replace</div><div class='del'>-	  $LOAD_PATH and ensure that String object of $LOAD_PATH are frozen.</div><div class='del'>-	  We don't freeze non String object and expand it every time. We add</div><div class='del'>-	  arguments for expanding load path partially and checking if load path</div><div class='del'>-	  have relative paths or non String objects.</div><div class='del'>-</div><div class='del'>-	* load.c (load_path_getcwd): get current working directory for checking</div><div class='del'>-	  if it's changed when getting load path.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_expanded_load_path): fix for rebuilding cache properly.</div><div class='del'>-	  We check if current working directory is changed and rebuild expanded</div><div class='del'>-	  load path cache. We expand paths which start with ~ (User HOME) and</div><div class='del'>-	  non String objects every time for compatibility. We make this</div><div class='del'>-	  accessible from other source files.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_provided): call rb_get_path() since we changed</div><div class='del'>-	  rb_file_expand_path_fast() not to call it.</div><div class='del'>-</div><div class='del'>-	* load.c (Init_load): initialize vm-&gt;load_path_check_cache.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): mark vm-&gt;load_path_check_cache for GC.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): add vm-&gt;load_path_check_cache to store data</div><div class='del'>-	  to check load path cache validity.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire): add tests for require</div><div class='del'>-	  compatibility related to cached expanded load path.</div><div class='del'>-	  [ruby-core:47970] [Bug #7158]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 23:26:05 2012  Greg Price  &lt;price@mit.edu&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_expanded_load_path): cache the expanded load</div><div class='del'>-	  path.  This saves 4KB of allocation and some stats for every</div><div class='del'>-	  element of the load path (so nearly a MB in my Rails app)</div><div class='del'>-	  on every require.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_construct_expanded_load_path): ensure that $LOAD_PATH</div><div class='del'>-	  entries are frozen strings.  The user must mutate $LOAD_PATH</div><div class='del'>-	  itself rather than its individual entries.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): add fields.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): mark new fields.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): modify $LOAD_PATH directly rather than</div><div class='del'>-	  its elements.</div><div class='del'>-	  Patch by Greg Price.</div><div class='del'>-	  [ruby-core:47970] [Bug #7158]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 23:24:42 2012  Greg Price  &lt;price@mit.edu&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p, rb_provide_feature): index $LOADED_FEATURES</div><div class='del'>-	  so that require isn't so slow.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_provide_feature, get_loaded_features_index): ensure</div><div class='del'>-	  that $LOADED_FEATURES entries are frozen strings.  The user</div><div class='del'>-	  must mutate $LOADED_FEATURES itself rather than its individual</div><div class='del'>-	  entries.</div><div class='del'>-</div><div class='del'>-	* load.c (reset_loaded_features_snapshot): add a new function to reset</div><div class='del'>-	  vm-&gt;loaded_features_snapshot.</div><div class='del'>-</div><div class='del'>-	* load.c (get_loaded_features_index_raw): add a new function to get</div><div class='del'>-	  the loaded-features index.</div><div class='del'>-</div><div class='del'>-	* load.c (features_index_add_single): add a new function to add to the</div><div class='del'>-	  loaded-features index a single feature.</div><div class='del'>-</div><div class='del'>-	* load.c (features_index_add): add a new function to add to the</div><div class='del'>-	  loaded-features index all the required entries for `feature`.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): add fields.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): mark new fields.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_hash_clear): declare function.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_clear): make function non-static.</div><div class='del'>-	  Patch by Greg Price.</div><div class='del'>-	  [ruby-core:47970] [Bug #7158]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 23:23:51 2012  Greg Price  &lt;price@mit.edu&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shared_with_p): new function.</div><div class='del'>-	  Expose whether two arrays are shared (read-only, C only).</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_ary_shared_with_p): declare.</div><div class='del'>-	  Patch by Greg Price.</div><div class='del'>-	  [ruby-core:47970] [Bug #7158]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 23:21:14 2012  Greg Price  &lt;price@mit.edu&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (loaded_feature_path): clarify and briefly comment</div><div class='del'>-	  function.  These clarifications have no effect on the behavior</div><div class='del'>-	  of the function.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): explain the search loop.  Especially</div><div class='del'>-	  useful because the logic is complicated as described in the</div><div class='del'>-	  second paragraph.</div><div class='del'>-	  Patch by Greg Price.</div><div class='del'>-	  [ruby-core:47970] [Bug #7158]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 22:45:03 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/Win32API.rb (Win32API#call): use 64bit pointer for x64</div><div class='del'>-	  Windows. This would fix</div><div class='del'>-	  TestSecureRandom#test_s_random_bytes_without_openssl error.</div><div class='del'>-	  [ruby-core:47451] [Bug #6990]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 22:09:26 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (uncommon.mk): link *.res.o.</div><div class='del'>-	  EXTOBJES is defined in uncommon.mk. *.res.o setting should be below</div><div class='del'>-	  uncommon.mk.</div><div class='del'>-	  [ruby-core:48858] [Bug #7277]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 11:35:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_init, native_thread_destroy):</div><div class='del'>-	  removed HAVE_PTHREAD_CONDATTR_INIT check because this silly</div><div class='del'>-	  #ifdef makes use-uninitialized-var issue and (2) native_cond_initialize()</div><div class='del'>-	  already have a right platform and caller don't need any additional care.</div><div class='del'>-	  [Bug #6825]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 10:57:59 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: check if Tempfile is defined before use it.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: remove tempfiles only if tempfiles exist</div><div class='del'>-</div><div class='del'>-Mon Nov  5 12:17:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/http.rb (URI::HTTP.build): Fix example</div><div class='del'>-	  Patch by Carina C. Zona</div><div class='del'>-	  [Fixes #209 Github]</div><div class='del'>-</div><div class='del'>-Mon Nov  5 09:55:05 2012  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: remove tempfile more early.</div><div class='del'>-</div><div class='del'>-Sun Nov  4 20:29:46 2012  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb, lib/cgi/*/rb: rename CGI#header to CGI#http_header,</div><div class='del'>-	  add and update HTML5 tag generator.  [Bug #7110]</div><div class='del'>-	  Patch provided by Marcus Stollsteimer, thank you !</div><div class='del'>-</div><div class='del'>-Sun Nov  4 11:47:39 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622]</div><div class='del'>-	  [Feature #5337]. improve performance of FileUtils.compare_stream.</div><div class='del'>-	  [ruby-core:47545] [Feature #7028]</div><div class='del'>-</div><div class='del'>-Sun Nov  4 11:27:54 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_equal): fix to return true when self and other</div><div class='del'>-	  are resized to same size and the current index become out of</div><div class='del'>-	  range.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add a test for the above.</div><div class='del'>-</div><div class='del'>-Sun Nov  4 10:19:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (file_s_fnmatch): match with expanding braces if FNM_EXTGLOB</div><div class='del'>-	  is set.  [ruby-core:40037] [Feature #5422]</div><div class='del'>-</div><div class='del'>-Sat Nov  3 23:38:15 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: modified doc.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 22:38:55 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: modified doc.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 18:35:55 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_rewrite_ep_in_errinfo, vm_rewrite_ep_in_errinfo):</div><div class='del'>-	  merge code and remove `rb_vm_rewrite_ep_in_errinfo'.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 18:15:24 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, proc.c: avoid unnecessary `rb_vm_rewrite_ep_in_errinfo'</div><div class='del'>-	  calls.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 17:53:43 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/testrb: Use only Test::Unit::AutoRunner in test-unit gem</div><div class='del'>-	  compatible API to be available by both test/unit bundled in Ruby</div><div class='del'>-	  and test-unit gem.</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::AutoRunner): Move codes from testrb.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 14:56:21 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (parse_eu): should capture apostrophe too.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 14:46:15 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date__parse): revised the tight parser.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 14:43:42 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A</div><div class='del'>-	  and \z.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 14:42:55 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/output.rb (REXML::Output#initialize): Use normalized</div><div class='del'>-	  encoding name.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 14:41:17 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/output.rb (REXML::Output): Don't output BOM in middle</div><div class='del'>-	  of the output string.</div><div class='del'>-	* test/rexml/test_document.rb: Add a test for the above change.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 14:09:55 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add an item about REXML::Document#write.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 13:46:49 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: Fix tests that expect encoding name</div><div class='del'>-	  isn't normalized.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 13:26:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (Dir#glob):</div><div class='del'>-	  Documentation for pattern section, backslash subsection</div><div class='del'>-	  Patch by Eric Bouchut</div><div class='del'>-	  [ruby-core:48528] [Bug #7230]</div><div class='del'>-</div><div class='del'>-Sat Nov  3 13:26:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (IO#new):</div><div class='del'>-	  Documentation for IO#open modes and formatting</div><div class='del'>-	  [ruby-core:48052] [Bug #7179]</div><div class='del'>-</div><div class='del'>-Sat Nov  3 13:01:02 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_encoding.rb (EncodingTester#test_in_different_out):</div><div class='del'>-	  Fix a test that expects encoding in XML declaration is changed by</div><div class='del'>-	  Output's encoding. It is dropped feature.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 12:49:45 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): Document encoding</div><div class='del'>-	  option. Now different encoding between XML file's encoding and</div><div class='del'>-	  XML declaration's encoding is support.</div><div class='del'>-	  [Feature #4872] (work in progress)</div><div class='del'>-	* lib/rexml/xmldecl.rb (REXML::XMLDecl#write): Always use XMLDecl's</div><div class='del'>-	  encoding.</div><div class='del'>-	* test/rexml/test_document.rb: Update tests for the above change.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 12:18:35 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_equal): fix not to make invalid pointers when</div><div class='del'>-	  self and other are resized to same size in #== of their elements.</div><div class='del'>-	  [ruby-dev:46373] [Feature #6177]</div><div class='del'>-</div><div class='del'>-Sat Nov  3 12:06:15 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_xml_declaration.rb (TestXmlDeclaration#test_*):</div><div class='del'>-	  Remove needless prefix from test names.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 12:04:52 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_xml_declaration_parent_child.rb: Rename to ...</div><div class='del'>-	* test/rexml/test_xml_declaration.rb: ... this.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 11:43:00 2012  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_delete): Correct grammar</div><div class='del'>-	  Patch by Glenn Oppegard</div><div class='del'>-	  [Fixes #208 Github]</div><div class='del'>-</div><div class='del'>-Sat Nov  3 11:28:28 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a news about GC::Profiler.raw_data.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 11:01:32 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a news about rb_newobj_of() and NEWOBJ_OF().</div><div class='del'>-</div><div class='del'>-Sat Nov  3 10:17:41 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_current_dirname): add the new method for Kernel.</div><div class='del'>-	  This method almost same as File.dirname(__FILE__). One</div><div class='del'>-	  different behavior is it returns nil when __FILE__ returns nil.</div><div class='del'>-	  [Feature #3346]</div><div class='del'>-</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: related test.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 09:03:34 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_new_method_by_send,</div><div class='del'>-	  test_new_method_by_method_object): add tests for Kernel#send and</div><div class='del'>-	  Kernel#method with refinements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_symbol_to_proc): add a test</div><div class='del'>-	  calling a proc created by Symbol#to_proc outside the scope where</div><div class='del'>-	  a refinement is closed over.</div><div class='del'>-</div><div class='del'>-Sat Nov  3 04:14:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_rewrite_ep_in_errinfo): rewrite all catch points in</div><div class='del'>-	  errinfo, not only the topmost frame.  based on the patch by</div><div class='del'>-	  ktsj (Kazuki Tsujimoto) in [ruby-dev:45656]. [Bug #6460]</div><div class='del'>-</div><div class='del'>-Fri Nov  2 20:11:17 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#timestamp_file): remove @ which looks like</div><div class='del'>-	  configure variables.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#timestamp_file): use .-. instead of !, a</div><div class='del'>-	  special character of NMAKE and BSD make.  [Bug #7265]</div><div class='del'>-</div><div class='del'>-Fri Nov  2 17:55:39 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (_run_parallel): Delete status line before showing</div><div class='del'>-	  results. Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (_run_parallel): Fix strange result when disabled retrying.</div><div class='del'>-	  Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250]</div><div class='del'>-</div><div class='del'>-Fri Nov  2 17:52:12 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_to_s): Module#{to_s,inspect}, when invoked on</div><div class='del'>-	  a refinement, returns a string in the format #&lt;refinement:C@M&gt;,</div><div class='del'>-	  where C is a refined class and M is a module at which the refinement</div><div class='del'>-	  is defined.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): store information on a refinement for the</div><div class='del'>-	  above change.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 16:57:52 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): Because of many log directories,</div><div class='del'>-	  making directory lists readable.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 16:44:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): add ~/Library/Logs/DiagnosticReports</div><div class='del'>-	  in the locations list of crash reports.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 14:52:52 2012  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_equal): performance improvement by avoiding</div><div class='del'>-	  overhead to call rb_ary_elt().</div><div class='del'>-	  [ruby-dev:45412] [Feature #6177]</div><div class='del'>-</div><div class='del'>-Fri Nov  2 14:47:53 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_proc, sym_call): A Proc created by Symbol#to_proc</div><div class='del'>-	  should close over the current refinements.</div><div class='del'>-	  [ruby-dev:46345] [Bug #7261]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_call0, rb_search_method_entry,</div><div class='del'>-	  rb_funcall_passing_block_with_refinements): add a new argument</div><div class='del'>-	  `refinements' for the above changes.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 08:24:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (top_define_method): new method, main.define_method.</div><div class='del'>-	  [ruby-core:45715] [Feature #6609]</div><div class='del'>-</div><div class='del'>-	* eval.c (top_include): fix a warning message, main is not a class or</div><div class='del'>-	  module.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 04:41:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#timestamp_file): use ! instead of %, a GNU</div><div class='del'>-	  make special character.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 04:40:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_execopts_preserve_env_on_exec_failure):</div><div class='del'>-	  use never existing file in the current temporary directory.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 04:23:20 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: add feature to tag preview/rc.</div><div class='del'>-</div><div class='del'>-Fri Nov  2 03:23:37 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: fix for if config["libdir"] is nil.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 23:06:01 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: fix wrong regexp for releasing preview.</div><div class='del'>-	  patched by mame.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 22:27:11 2012  Koichi Sasada &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a news about objspace,</div><div class='del'>-	  ObjectSpace.reachable_objects_from.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 21:57:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_new),</div><div class='del'>-	  test/bigdecimal/test_bigdecimal.rb:</div><div class='del'>-	  Fix exception message of BigDecimal constructor with a Float.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 21:52:20 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_add),</div><div class='del'>-	  test/bigdecimal/test_bigdecimal.rb:</div><div class='del'>-	  need to specify precision for converting Rational and Float.</div><div class='del'>-	  [ruby-core:48045] [Bug #7176]</div><div class='del'>-</div><div class='del'>-Thu Nov  1 21:42:20 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: Revert r37404.  My ubuntu box has</div><div class='del'>-	  actually the directory named "/nonexistent"...  Sorry.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 21:28:28 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: Process.exec raised EACCES on Linux</div><div class='del'>-	  3.5.0-17-generic.  This is a temporal fix to rescue that exception.</div><div class='del'>-	  Needs kosaki's review.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 21:19:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (set_relation): parent_iseq need to be set regardless iseq</div><div class='del'>-	  type.  fix r37397.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 19:47:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (RUBY_STACK_MIN): may not a compile time constant.</div><div class='del'>-	  fix r37079.  [ruby-dev:46322] [Bug #7247]</div><div class='del'>-</div><div class='del'>-Thu Nov  1 16:44:36 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add note for Module#refine, Module#refinements,</div><div class='del'>-	  Module#using, and Kernel#using.</div><div class='del'>-</div><div class='del'>-Thu Nov  1 14:41:47 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_module): using should be used indirectly.</div><div class='del'>-	  [ruby-dev:46326] [Feature #7251]</div><div class='del'>-</div><div class='del'>-Wed Oct 31 18:17:38 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record): don't define unused variables when</div><div class='del'>-	  GC_PROFILE_MORE_DETAIL is 0.</div><div class='del'>-</div><div class='del'>-Wed Oct 31 18:10:53 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_mark_timer_stop): count is not initialized.</div><div class='del'>-</div><div class='del'>-Wed Oct 31 09:28:24 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_without_gvl2):  Note that ubf() may or may</div><div class='del'>-	  not be called with the GVL.  Hinted that rb_thread_call_with_gvl()</div><div class='del'>-	  can be used to access ruby functionality.</div><div class='del'>-</div><div class='del'>-Wed Oct 31 09:06:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_without_gvl2):  Update documentation to</div><div class='del'>-	  natural English.</div><div class='del'>-	* thread.c (rb_thread_call_with_gvl):  ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 31 02:53:07 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb: fix strange require order. [ruby-dev:45702]</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/value.rb: ditto</div><div class='del'>-</div><div class='del'>-	* test/dl/test_c_struct_entry.rb: remove strange require order from</div><div class='del'>-	  tests.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_c_union_entity.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Oct 30 23:59:32 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): fix the error message when no block is</div><div class='del'>-	  given.  [ruby-dev:46319] [Bug #7244]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Tue Oct 30 19:27:48 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (redirect_dup2): set standard handles when new fd is stdio,</div><div class='del'>-	  because if there is no allocated console at the moment Windows does</div><div class='del'>-	  not automatically associate it for child process's standard handle.</div><div class='del'>-	  this is adhoc workaround.</div><div class='del'>-	  reported by Martin Thiede at [ruby-core:48542] [Bug #7239].</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup2): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 30 03:08:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rbconfig/obsolete.rb (Config): re-introduce warnings for a</div><div class='del'>-	  lame-duck.  [ruby-core:46836] [Bug #6809]</div><div class='del'>-</div><div class='del'>-Tue Oct 30 02:20:10 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: added Thread#thread_variable_(get|set),</div><div class='del'>-	  Thread#thread_variable?, and Thread#thread_variables for operating</div><div class='del'>-	  on variables that are local to threads. [ruby-core:47790]</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: tests for thread variables.</div><div class='del'>-</div><div class='del'>-Mon Oct 29 18:22:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_close): close separately per each</div><div class='del'>-	  instances, as well as IO.</div><div class='del'>-</div><div class='del'>-Mon Oct 29 10:22:00 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/handlers/recorder.rb: added a class for</div><div class='del'>-	  recording YAML parse and emit events.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/handler.rb: adding a list of events so that</div><div class='del'>-	  handler classes can more easily be meta-programmed.</div><div class='del'>-</div><div class='del'>-	* test/psych/handlers/test_recorder.rb: tests for the change.</div><div class='del'>-</div><div class='del'>-Mon Oct 29 05:48:52 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Add [] and []=, base on a patch by Thomas Sawyer.</div><div class='del'>-	  Also accept {Open}Struct as argument to new.</div><div class='del'>-	  Add #eql?, #hash &amp; #each_pair</div><div class='del'>-	  Protect new_ostruct_member</div><div class='del'>-</div><div class='del'>-Mon Oct 29 03:20:58 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Fix determinant_e [ruby-dev:46305] [Bug #7228]</div><div class='del'>-</div><div class='del'>-Sun Oct 28 23:52:25 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: Add tests for parsing XML encoded</div><div class='del'>-	  by UTF-8 with BOM.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 23:47:09 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb: Move encoding detection code to base class.</div><div class='del'>-	* lib/rexml/encoding.rb: Remove needless encoding detection code.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 21:40:13 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb: Fix a bug that UTF-8 is used</div><div class='del'>-	  for UTF-16XX encoded XML that doesn't have encoding="UTF-16" in</div><div class='del'>-	  XML declaration.</div><div class='del'>-	* test/rexml/test_document.rb: Add tests for the above change.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 21:37:34 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: Group tests that they parse</div><div class='del'>-	  UTF-16XX encoded XML that has encoding="UTF-16" in XML declaration.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 21:25:11 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb (REXML::IOSource#initialize): Reduce</div><div class='del'>-	  @line_break initialize code. It should be done only in #encoding=.</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb: Don't set UTF-16 encoding to</div><div class='del'>-	  source by encoding="UTF-16" in XML declaration because UTF-16XX</div><div class='del'>-	  source encoding should be set in Source#initialize or</div><div class='del'>-	  IOSource#initialize. They should handle BOM. Parser should not</div><div class='del'>-	  consider about it.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 21:18:37 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: Add tests for parsing XML encoded</div><div class='del'>-	  by UTF-16 with BOM.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 19:12:11 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (iso8601_{ext,bas}_time): should not match</div><div class='del'>-	  empty string.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 18:51:33 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date__parse): revised the tight parser.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 15:41:50 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): Add :encoding option</div><div class='del'>-	  to support custom XML encoding.</div><div class='del'>-	  [Feature #4872] (work in progress)</div><div class='del'>-	* test/rexml/test_document.rb: Add tests for the above change.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 15:00:19 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): Remove needless</div><div class='del'>-	  indent in document.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 14:59:14 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): Accept options</div><div class='del'>-	  Hash as argument.</div><div class='del'>-	* test/rexml/test_document.rb: Add tests for the above change.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 14:09:44 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): Fix wrong usage</div><div class='del'>-	  in document.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 14:03:48 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document#write): Fix wrong method</div><div class='del'>-	  names in document.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 10:12:15 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: `tree` should return the</div><div class='del'>-	  same thing on every call.</div><div class='del'>-</div><div class='del'>-	* test/psych/visitors/test_yaml_tree.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 10:05:03 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: YAML Tree object should</div><div class='del'>-	  be able to take an emitter object as it's output.</div><div class='del'>-</div><div class='del'>-	* test/psych/visitors/test_yaml_tree.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 08:23:16 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignew_1): Bignum instances are frozen.</div><div class='del'>-	  Feature #3222</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Fixnum instances are also frozen.</div><div class='del'>-</div><div class='del'>-	* class.c (singleton_class_of): check Bignum before</div><div class='del'>-	  singleton checking.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/marshaltestlib.rb, test/ruby/test_eval.rb,</div><div class='del'>-	  test/ruby/test_object.rb: catch up above changes.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 04:38:06 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): remove type and frozen checking.</div><div class='del'>-	  Checking is done in `rb_singleton_class()'.</div><div class='del'>-</div><div class='del'>-Sun Oct 28 00:49:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assign_in_cond): warn for static content object assignments</div><div class='del'>-	  in conditional statements.  [ruby-dev:43083] [Feature #4299]</div><div class='del'>-</div><div class='del'>-Sat Oct 27 23:33:41 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_result, gc_profile_report): use internal structures</div><div class='del'>-	  to avoid allocations and progressively print the output for #report.</div><div class='del'>-	  [ruby-core:47163] [Bug #6865]</div><div class='del'>-</div><div class='del'>-Sat Oct 27 11:01:10 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_float_new_in_heap), include/ruby/ruby.h:</div><div class='del'>-	  make all Float objects frozen.</div><div class='del'>-	  [ruby-dev:46081] [ruby-trunk - Feature #6936]</div><div class='del'>-	  Most part of patch by NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;.</div><div class='del'>-</div><div class='del'>-	* class.c (singleton_class_of): raise TypeError when</div><div class='del'>-	  trying to define a singleton method on Float objects.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/marshaltestlib.rb: catch up above changes.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_pp.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 27 10:50:53 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): make sure the constant name is</div><div class='del'>-	  converted to a string before searching. [ruby-core:48405]</div><div class='del'>-</div><div class='del'>-Sat Oct 27 10:12:13 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): Instead of testing</div><div class='del'>-	  respond_to, just check if the argument is actually a file,</div><div class='del'>-	  because by calling user-defined gets something weired can</div><div class='del'>-	  happen.  Patch by Glass_saga. [ruby-dev:40202] [Bug #2861]</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_initialize): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 27 10:07:57 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (enum lex_state_e): [EXPERIMENTAL] lex_state as bit field /</div><div class='del'>-	  IS_lex_state() macro.  based on the patch by Dave B in</div><div class='del'>-	  [ruby-core:23503].  [Feature #1493]</div><div class='del'>-</div><div class='del'>-Sat Oct 27 10:05:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (fstat): use _fstati64() instead of fstati64()</div><div class='del'>-	  on mingw32.</div><div class='del'>-</div><div class='del'>-Sat Oct 27 06:28:33 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): const_get accepts qualified constant</div><div class='del'>-	  strings.  e.g. Object.const_get("Foo::Bar::Baz") [ruby-core:41404]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: tests for new behavior</div><div class='del'>-</div><div class='del'>-Fri Oct 26 13:24:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat_gen): merge fixed strings across</div><div class='del'>-	  concatenated literals, after an interpolation.</div><div class='del'>-</div><div class='del'>-Thu Oct 25 17:48:54 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (has_redirection): should use shell (cmd.exe) when</div><div class='del'>-	  the commandline contains '&amp;'.</div><div class='del'>-	  reported by Roger Pack at [ruby-core:47912] [Bug #7143], and</div><div class='del'>-	  patched by Heesob Park at [ruby-core:47931].</div><div class='del'>-</div><div class='del'>-Thu Oct 25 15:00:08 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, class.c: remove (revert)</div><div class='del'>-	  `rb_add_method_cfunc_frameless()' API.</div><div class='del'>-	  This API is not mature to become an official API.</div><div class='del'>-	  For example, we can not use this API with</div><div class='del'>-	  `rb_define_private_method()'.</div><div class='del'>-</div><div class='del'>-	* method.h, vm_method.c (rb_add_method_cfunc_frameless): removed.</div><div class='del'>-</div><div class='del'>-Thu Oct 25 13:35:07 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: remove string literal concatenation.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 18:49:16 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (type2sym, count_objects_size): use enum</div><div class='del'>-	  instead of size_t which may be larger than actual values.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 17:41:24 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: add `-x' or `--exclude' option</div><div class='del'>-	  to specify exclude benchmark name pattern.</div><div class='del'>-	  You can specify "-x foo" if you want to exclude the benchmarks</div><div class='del'>-	  if the name of benchmark contains `foo'.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 11:57:24 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prepare_free_objects): rename to match the behavior of</div><div class='del'>-	  this function.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 11:55:19 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (reachable_object_from_i): change data</div><div class='del'>-	  structure of the result of reachable objects. Keys of table</div><div class='del'>-	  contains object_id of each reachable objects. Value of table</div><div class='del'>-	  is an object itself or an instance of InternalObjectWrapper.</div><div class='del'>-	  To avoid duplication, we use st_table and object_id keys.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (type2sym): bug fix.</div><div class='del'>-	  Should use `i' instead of `type'.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 10:33:09 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect, gc_marks): move the location of</div><div class='del'>-	  clear and restore rb_objspace_t::mark_func_data</div><div class='del'>-	  from garbage_collect() to gc_marks().</div><div class='del'>-</div><div class='del'>-Wed Oct 24 10:17:45 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (Init_objspace): add a new method</div><div class='del'>-	  `ObjectSpace::InternalObjectWrapper#internal_object_id' which returns</div><div class='del'>-	  an object id of a wrapped internal object.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 08:55:04 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (ObjectSpace.reachable_objects_from):</div><div class='del'>-	  internal object support.</div><div class='del'>-	  If given object `obj' has references to internal objects</div><div class='del'>-	  (such as T_NODE objects), then this method returns instances of</div><div class='del'>-	  `ObjectSpace::InternalObjectWrapper' instead of that internal objects.</div><div class='del'>-	  This instance contains a reference to an internal object and you can</div><div class='del'>-	  check the type of internal object using</div><div class='del'>-	  `ObjectSpace::InternalObjectWrapper#type' method.</div><div class='del'>-	  Rdoc of `InternalObjectWrapper' is not prepared yet.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_reachable_objects_from), gc.h: change</div><div class='del'>-	  an interface of 'rb_objspace_reachable_objects_from()'</div><div class='del'>-</div><div class='del'>-	* gc.c, gc.h: add two APIs</div><div class='del'>-	  - rb_objspace_markable_object_p(obj): check markable or not.</div><div class='del'>-	  - rb_objspace_internal_object_p(obj): check internal or not.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 05:52:36 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): remove `default' and</div><div class='del'>-	  add a case for `VM_METHOD_TYPE_UNDEF'.</div><div class='del'>-</div><div class='del'>-Wed Oct 24 05:41:18 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print), vm_eval.c (eval_string_with_cref),</div><div class='del'>-	  vm_trace.c (rb_suppress_tracing): use TH_PUSH_TAG() instead of</div><div class='del'>-	  PUSH_TAG().</div><div class='del'>-</div><div class='del'>-Wed Oct 24 05:17:52 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): remove RUBY_VM_CHECK_INTS()</div><div class='del'>-	  after method invocation using rb_call0().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): remove default section on top of</div><div class='del'>-	  switch statement and add cases for `VM_METHOD_TYPE_CFUNC_FRAMELESS'</div><div class='del'>-	  and `VM_METHOD_TYPE_UNDEF'.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): remove useless brackets.</div><div class='del'>-</div><div class='del'>-Tue Oct 23 22:34:49 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_raise_m):  check interrupts after Thread#raise</div><div class='del'>-	  if a target thread is the current thread because the behavior</div><div class='del'>-	  of Thread.current.raise is expected to perform same as</div><div class='del'>-	  Kernel.raise (by rubyspec).</div><div class='del'>-</div><div class='del'>-Tue Oct 23 17:08:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage, process_options): show more info in --help.</div><div class='del'>-	  [EXPERIMENTAL] [ruby-core:48072] [Bug #7184]</div><div class='del'>-</div><div class='del'>-Tue Oct 23 14:20:43 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el using variable `last-command-event' instead of</div><div class='del'>-	  obsolete `last-command-char', so that work with Emacs trunk.</div><div class='del'>-	  a patch by Victor Deryagin &lt;vderyagin AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Tue Oct 23 14:06:47 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (visibility_option): visibility attribute is not</div><div class='del'>-	  available before GCC 4, so do not use -fvisibility option in that</div><div class='del'>-	  case.  [ruby-core:48147] [Bug #7205]</div><div class='del'>-</div><div class='del'>-Tue Oct 23 12:57:29 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_insnhelper.c, vm_eval.c (OPT_CALL_CFUNC_WITHOUT_FRAME):</div><div class='del'>-	  add a new optimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'.</div><div class='del'>-	  This optimization makes all cfunc method calls `frameless', which</div><div class='del'>-	  is faster than ordinal cfunc method call.</div><div class='del'>-	  If `frame' is needed (for example, it calls another method with</div><div class='del'>-	  `rb_funcall()'), then build a frame. In other words, this</div><div class='del'>-	  optimization delays frame building.</div><div class='del'>-	  However, to delay the frame building, we need additional overheads:</div><div class='del'>-	    (1) Store the last call information.</div><div class='del'>-	    (2) Check the delayed frame building before the frame is needed.</div><div class='del'>-	    (3) Overhead to build a delayed frame.</div><div class='del'>-	  rb_thread_t::passed_ci is storage of delayed cfunc call information.</div><div class='del'>-	  (1) is lightweight because it is only 1 assignment to `passed_ci'.</div><div class='del'>-	  To achieve (2), we modify GET_THREAD() to check `passed_ci' every</div><div class='del'>-	  time. It causes 10% overhead on my environment.</div><div class='del'>-	  This optimization only works for cfunc methods which do not need</div><div class='del'>-	  their `frame'.</div><div class='del'>-	  After evaluation on my environment, this optimization does not</div><div class='del'>-	  effective every time. Because of this evaluation results, this</div><div class='del'>-	  optimization is disabled at default.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm.c: add VM_PROFILE* macros to measure behaviour</div><div class='del'>-	  of VM internals. I will extend this feature.</div><div class='del'>-</div><div class='del'>-	* vm_method.c, method.h: change parameters of the `invoker' function.</div><div class='del'>-	  Receive `func' pointer as the first parameter.</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:21:05 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: just get the constant defined in Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/syntax_error.rb: Psych::SyntaxError now inherits</div><div class='del'>-	  from StandardError rather than SyntaxError.  Thanks Eric Hodel!</div><div class='del'>-</div><div class='del'>-	* test/psych/test_exception.rb: tests for change.</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:17:36 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Cache symbols while</div><div class='del'>-	  tokenizing.  Thanks Kevin Menard!</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:15:40 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Updated the RegExp to catch</div><div class='del'>-	  Strings earlier in the tokenization process.  Thanks Kevin Menard!</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:12:39 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Handle nil tags specially</div><div class='del'>-	  to avoid slow method_missing calls.  Thanks Kevin Menard!</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:07:57 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Ignore bad timestamps.  If</div><div class='del'>-	  something looks like a timestamp but has an invalid component, treat</div><div class='del'>-	  it as a string instead of throwing an ArgumentError.</div><div class='del'>-	  Thanks Rhett Sutphin!</div><div class='del'>-</div><div class='del'>-	* test/psych/test_scalar_scanner.rb: appropriate tests.</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:04:07 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner to</div><div class='del'>-	  understand strings starting with an underscore and containing only</div><div class='del'>-	  digits.  Thanks Kelley Reynolds.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_scalar_scanner.rb: test for fix</div><div class='del'>-</div><div class='del'>-Tue Oct 23 06:00:41 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: Changed comment in psych.rb to update new</div><div class='del'>-	  home page for libyaml.  Thanks to Carolyn Ann.</div><div class='del'>-</div><div class='del'>-Sun Oct 21 19:12:59 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t::trace_running): add a new field</div><div class='del'>-	  `trace_running' to store vm global tracing status.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: fix SEGV bug. event_hook was free'd</div><div class='del'>-	  even when the hook is still used in another thread.</div><div class='del'>-	  [ruby-dev:46141] [Bug #7032]</div><div class='del'>-</div><div class='del'>-Sun Oct 21 19:12:42 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t::trace_flag): remove `trace_flag'</div><div class='del'>-	  which is no longer used.</div><div class='del'>-</div><div class='del'>-Sun Oct 21 18:34:27 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date__parse): uses more tight parser if</div><div class='del'>-	  defined TIGHT_PARSER.  now inactivated; because it introduces</div><div class='del'>-	  incompatibilities and it is a bit slow.</div><div class='del'>-</div><div class='del'>-Sat Oct 20 15:35:06 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add C APIs.</div><div class='del'>-	  VALUE rb_newobj_of(VALUE klass, VALUE flags)</div><div class='del'>-	  #define NEWOBJ_OF(obj,type,klass,flags)</div><div class='del'>-	  These allow to change a allocation strategy depending on klass</div><div class='del'>-	  or flags.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto</div><div class='del'>-</div><div class='del'>-	* array.c: use new C API.</div><div class='del'>-	* bignum.c: ditto</div><div class='del'>-	* class.c: ditto</div><div class='del'>-	* complex.c: ditto</div><div class='del'>-	* ext/socket/ancdata.c: ditto</div><div class='del'>-	* ext/socket/option.c: ditto</div><div class='del'>-	* hash.c: ditto</div><div class='del'>-	* io.c: ditto</div><div class='del'>-	* marshal.c: ditto</div><div class='del'>-	* numeric.c: ditto</div><div class='del'>-	* object.c: ditto</div><div class='del'>-	* random.c: ditto</div><div class='del'>-	* range.c: ditto</div><div class='del'>-	* rational.c: ditto</div><div class='del'>-	* re.c: ditto</div><div class='del'>-	* string.c: ditto</div><div class='del'>-	* struct.c: ditto</div><div class='del'>-	  [Feature #7177][Feature #7047]</div><div class='del'>-</div><div class='del'>-Sat Oct 20 12:50:00 2012  Zachary Scott	&lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: Documentation for Socket</div><div class='del'>-	  Based on a patch by David Albert</div><div class='del'>-	  [Bug #7105] [ruby-core:47828]</div><div class='del'>-</div><div class='del'>-Sat Oct 20 11:00:00 2012  Zachary Scott	&lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Documentation for OpenURI</div><div class='del'>-</div><div class='del'>-Sat Oct 20 06:18:34 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (initialize_copy): unset the default proc if there isn't one</div><div class='del'>-	  for the target hash, call to_hash, check frozen status.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 22:22:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects.</div><div class='del'>-	  [ruby-dev:46234] [Bug #7185]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_cmd): if state is non-zero, val should be nil and</div><div class='del'>-	  rb_vm_jump_tag_but_local_jump() just jump tag.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 22:11:55 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): set encoding of the</div><div class='del'>-	  'H','h','B' and 'B' modifiers to US-ASCII.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: tests for the above.</div><div class='del'>-	  [ruby-core:47653][Bug #7050]</div><div class='del'>-</div><div class='del'>-	* test/test_securerandom.rb: tests for SecureRandom.hex</div><div class='del'>-	  from tenderlove. [ruby-core:46792][Bug #6799]</div><div class='del'>-</div><div class='del'>-Fri Oct 19 19:29:11 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_cfunc_t::invoker): add new field (func ptr)</div><div class='del'>-	  `invoker'. `invoker' function invoke cfunc body</div><div class='del'>-	  (rb_method_cfunc_t::func).</div><div class='del'>-	  `invoker' is set at method definition timing.</div><div class='del'>-	  With this change, the big `switch' (branch) in `call_cfunc()'</div><div class='del'>-	  is no longer needed.</div><div class='del'>-	  However, the performance benefit is only a bit.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t::aux::func): add a new field to store</div><div class='del'>-	  cfunc body function pointer.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (call_cfunc_invoker_func): add a new function which</div><div class='del'>-	  returns a suitable invoke function.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (setup_method_cfunc_struct): added.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): fix to set `invoker'.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): catch up above changes.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (call_cfunc): removed.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): fix to call cfunc body</div><div class='del'>-	  with `invoker' function.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 16:55:58 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, vm_eval.c: use TH_PUSH_TAG() instead of PUSH_TAG().</div><div class='del'>-</div><div class='del'>-Fri Oct 19 11:13:55 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: remove unexpected `output'.</div><div class='del'>-	  (commit miss)</div><div class='del'>-</div><div class='del'>-Fri Oct 19 10:24:03 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_method): remove needless local variable.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 10:22:26 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bmx_temp.rb: removed.</div><div class='del'>-	  This file should not be in repository.</div><div class='del'>-</div><div class='del'>-Fri Oct 19 10:20:10 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: add new option `--ruby-arg [ARG]'</div><div class='del'>-	  which is passed as a launch parameter for each ruby's execution.</div><div class='del'>-	  ($ ruby [ARG] [File])</div><div class='del'>-</div><div class='del'>-Thu Oct 18 18:42:35 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_send_simple): move the location of</div><div class='del'>-	  `opt_send_simple' to the place near `send' definition.</div><div class='del'>-	  (to take care about icache locality).</div><div class='del'>-</div><div class='del'>-Thu Oct 18 18:29:25 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (send): remove unused condition.</div><div class='del'>-	  This condition will be true after r37258.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_caller_setup_args): remove `UNLIKELY' on</div><div class='del'>-	  checking blockiseq (it seems `LIKELY').</div><div class='del'>-</div><div class='del'>-Thu Oct 18 17:31:58 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_send_simple): introduce new instruction used</div><div class='del'>-	  when no need to care about block and splat.</div><div class='del'>-</div><div class='del'>-	* compile.c: use the `opt_send_simple' instruction.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 16:44:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_cfunc, rb_add_method_cfunc_frameless):</div><div class='del'>-	  check arity earlier at definition time.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 15:11:31 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: add `inline' keyword to several functions.</div><div class='del'>-	  Compilers (gcc) are conservative than I expected.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 15:01:15 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add a decl. of</div><div class='del'>-	  `rb_define_frameless_method()'.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 14:31:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (new_callinfo): set a temporary index of callinfo</div><div class='del'>-	  (used in `iseq_set_sequence()') to rb_call_info_t::aux::index.</div><div class='del'>-	  rb_call_info_t::argc is initialized by same value of</div><div class='del'>-	  rb_call_info_t::orig_argc.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 14:11:08 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_frameless_method): rename from</div><div class='del'>-	  rb_define_method_fast(). Defined method with this C API</div><div class='del'>-	  does not make a method frame. It is bit lightweight than</div><div class='del'>-	  ordinal C functions. Now only 0 or 1 argc are permitted.</div><div class='del'>-</div><div class='del'>-	* method.h (VM_METHOD_TYPE_CFUNC_FRAMELESS): rename macro name</div><div class='del'>-	  from VM_METHOD_TYPE_CFUNC_FAST.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm_method.c: rename related functions.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): catch up above changes.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 10:30:34 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable_gen): fail if yyerror occurred.  fix a bug in</div><div class='del'>-	  r36973.</div><div class='del'>-</div><div class='del'>-Thu Oct 18 09:23:03 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (initialize_copy): duping should rehash the hash.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: added a test to ensure rehash.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 21:16:47 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (WPROGRAM): need same dependencies as PROGRAM.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (uncommon.mk): move include position</div><div class='del'>-	  below WPROGRAM definition to be defined in uncommon.mk.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN.</div><div class='del'>-	  If make of ruby.exe and rubyw.exe run in parallel, link dll and link</div><div class='del'>-	  exe run in parallel, which causes link failure on mingw. To fix this,</div><div class='del'>-	  we make ruby.exe and rubyw.exe in one make process.</div><div class='del'>-	  [ruby-core:48007] [Bug #7165]</div><div class='del'>-</div><div class='del'>-Wed Oct 17 16:25:34 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_method_missing.rb: add a benchmark to measure</div><div class='del'>-	  performance of invoking `method_missing'.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 16:23:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): fix to use `aux.index' instead of</div><div class='del'>-	  `aux.opt_pc'.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 16:03:54 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method_missing): make a refactoring</div><div class='del'>-	  about method_missing process. Use `vm_call_method()' to invoke</div><div class='del'>-	  `method_missing' method instead of `rb_funcall2()'.</div><div class='del'>-	  In `vm_call_method()', set fastpath to `vm_call_method_missing()'</div><div class='del'>-	  if it can be cached.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t): add new field</div><div class='del'>-	  `rb_call_info_t::aux::missing_reason' to pass the reason to</div><div class='del'>-	  `vm_call_method_missing()'.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 15:33:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (opt-dir): allow multiple directories separated by</div><div class='del'>-	  $PATH_SEPARATOR as well as dir_config in mkmf.rb. [ruby-core:47868]</div><div class='del'>-	  [Bug #7120]</div><div class='del'>-</div><div class='del'>-Wed Oct 17 15:08:13 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: fix Net::IMAP::ResponseParser to accept</div><div class='del'>-	  message/delivery-status ([ruby-core:47920] [Bug #7146]),</div><div class='del'>-	  message/rfc822 attachments ([ruby-core:47921] [Bug #7147]), and</div><div class='del'>-	  (BODY ("MIXED")) ([ruby-core:47951] [Bug #7153]).</div><div class='del'>-	  patched by Tony Arkles.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap_response_parser.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 11:04:48 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (TestHash#test_dup_equality): added a new test</div><div class='del'>-	  to show the problem of r37232.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 10:48:40 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_method): fix a build error that occurs</div><div class='del'>-	  when OPT_INLINE_METHOD_CACHE is 0.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 08:46:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_dstr.rb: add a benchmark to measure</div><div class='del'>-	  performance of dynamic generated string ("foo#{bar}baz").</div><div class='del'>-</div><div class='del'>-Wed Oct 17 08:32:46 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_dstr_fragments): use `putobject' instead of</div><div class='del'>-	  `putstring' for all of strings used by NODE_DSTR because</div><div class='del'>-	  ruby users can not grab this string.</div><div class='del'>-	  For example, the string object of "baz" in "foo#{bar}baz"</div><div class='del'>-	  is located by `putobject' (users can not touch "baz" object</div><div class='del'>-	  directly). This change reduces GC pressure.</div><div class='del'>-	  This improvement is suggested by Aaron Patterson.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 08:02:57 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_interrupt_mask): fix to check interrupt</div><div class='del'>-	  after interrupt_mask changed.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 06:42:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): fix to return value immediately.</div><div class='del'>-	  Remove CHECK_INTS() after that method dispatch.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 06:25:56 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (initialize_copy): copy the underlying st_table on dup,</div><div class='del'>-	  rather than copying the hash key by key. [ruby-core:48009]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: relevant tests for initialize_copy</div><div class='del'>-</div><div class='del'>-Wed Oct 17 06:17:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_iseq_setup_2): separate tailcall and normal</div><div class='del'>-	  method frame setup functions.</div><div class='del'>-	  Add checking interrupts at the tailcall setup function.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 05:35:37 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield'</div><div class='del'>-	  (invoke empty block) performance.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure</div><div class='del'>-	  method invocation with empty block.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 05:05:07 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip</div><div class='del'>-	  when splat flag is not set.</div><div class='del'>-</div><div class='del'>-Wed Oct 17 01:53:47 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar, vm_setivar): support index inline cache</div><div class='del'>-	  with rb_call_info_t to speedup `attr' getter and setter.</div><div class='del'>-	  Cached index is stored in rb_call_info_t::aux::index.</div><div class='del'>-	  `index' == 0 means not cached. `index' &gt; 0 means cached and cached</div><div class='del'>-	  index is `index - 1'.</div><div class='del'>-</div><div class='del'>-	* insns.def ((get|set)instancevariable): use new wrapper functions</div><div class='del'>-	  vm_(get|set)instancevariable() defined in vm_insnhelper.c.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t::aux): introduce new union data because</div><div class='del'>-	  opt_pc can share with index.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 22:24:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb (show_results): Show speedup ratio</div><div class='del'>-	  with first executables score at last of results</div><div class='del'>-	  if two or more executables are given.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 21:59:01 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: some refactoring.</div><div class='del'>-	  (1) Remove `average differential'.</div><div class='del'>-	      In this benchmark driver, We should not care about `average'.</div><div class='del'>-	      We use fastest score because this score should not include</div><div class='del'>-	      any disturbances (affections of background process, etc).</div><div class='del'>-	      If you care about timing affect, I recommend `median'</div><div class='del'>-	      score with more than 5 examinations rather than simple</div><div class='del'>-	      `average' score (`average' score was affected by error scores).</div><div class='del'>-	  (2) Show log file name.</div><div class='del'>-	  (3) Change default directory from './' to driver's directory.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 14:56:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): need to check again after any conversion run.</div><div class='del'>-	  [ruby-core:48012] [Bug #7168]</div><div class='del'>-</div><div class='del'>-Tue Oct 16 12:52:14 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#assert_file):</div><div class='del'>-	  rename from file_assertion.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 11:30:18 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): hide the result under construction until</div><div class='del'>-	  return.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): check nul-byte only for strings, since</div><div class='del'>-	  FilePathStringValue() does it.  [ruby-core:48012] [Bug #7168]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): path names must be ASCII-compatible.</div><div class='del'>-	  [ruby-core:48012] [Bug #7168]</div><div class='del'>-</div><div class='del'>-	* file.c (check_path_encoding): new function to ensure path name</div><div class='del'>-	  encoding to be ASCII-compatible.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 09:40:04 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): use</div><div class='del'>-	  Regexp.new instead of literal to ignore a parser warning.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 09:30:30 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): ignoring</div><div class='del'>-	  warnings are already set in setup method.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 06:44:06 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (VM_CALLEE_SETUP_ARG): fix wrong condition.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 06:29:18 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): disable CI_SET_FASTPATH() if</div><div class='del'>-	  this method call needs splat argument because cached functions</div><div class='del'>-	  (vm_call_attrset, vm_call_ivar, vm_call_cfunc_fast_(unary|binary))</div><div class='del'>-	  do not check an arity.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: add a test to check an above issue.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 06:15:44 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: introduce new method type VM_METHOD_TYPE_CFUNC_FAST.</div><div class='del'>-	  This method is similar to VM_METHOD_TYPE_CFUNC methods, but</div><div class='del'>-	  called cfunc without building new frame (does not push new control</div><div class='del'>-	  frame). If error is occurred in cfunc, the backtrace only shows</div><div class='del'>-	  caller frame and upper.</div><div class='del'>-	  This kind of methods can be added by rb_define_method_fast().</div><div class='del'>-	  This feature is similar to specialized instructions (opt_plus, etc),</div><div class='del'>-	  but more flexible (but a bit slower).</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_method_fast): added.</div><div class='del'>-	  Maybe it will be renamed soon.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): support method type</div><div class='del'>-	  VM_METHOD_TYPE_CFUNC_FAST.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_arity): catch up new method type.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_cfunc_fast): added.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 02:32:29 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (CI_SET_FASTPATH): add new parameter `enabled'.</div><div class='del'>-	  If `enable' is 0 then CI_SET_FASTPATH() doesn't work.</div><div class='del'>-	  And add new configuration option OPT_CALL_FASTPATH. If this macro</div><div class='del'>-	  was defined by 0, then CI_SET_FASTPATH() doesn't work any more.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): Pass `0' for `enabled' parameter</div><div class='del'>-	  of CI_SET_FASTPATH if this method is protected.</div><div class='del'>-</div><div class='del'>-Tue Oct 16 02:17:35 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_CALL_*): rename VM_CALL_*_BIT</div><div class='del'>-	  to VM_CALL_* (remove `_BIT' suffix).</div><div class='del'>-	  Add comments on each macros.</div><div class='del'>-	  Remove unused macro VM_CALL_TAILRECURSION_BIT.</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c, insns.def, vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 15 22:14:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion):</div><div class='del'>-	  rewrite file assertions.</div><div class='del'>-</div><div class='del'>-Mon Oct 15 09:41:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (VM_CALLEE_SETUP_ARG): skip CI_SET_FASTPATH() if</div><div class='del'>-	  it was called from vm_yield_setup_args().</div><div class='del'>-</div><div class='del'>-Mon Oct 15 05:20:13 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h CI_SET_FASTPATH: introduce new macro</div><div class='del'>-	  `CI_SET_FASTPATH(ci, func)'. This macro set `ci-&gt;call' as `func'.</div><div class='del'>-	  `func' (ci-&gt;call) is called at the last of `send'</div><div class='del'>-	  (and `invokesuper') instruction.</div><div class='del'>-	  `CI_SET_FASTPATH' does not set `ci-&gt;call' when the method</div><div class='del'>-	  (stored in `ci-&gt;me') is `protected'.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): use `CI_SET_FASTPATH'.</div><div class='del'>-	  After several checking (visibility, argc checking), the result of</div><div class='del'>-	  checking can be reused until re-definition of this method</div><div class='del'>-	  with inline method cache.</div><div class='del'>-</div><div class='del'>-	  Note that this optimization is now experimental.</div><div class='del'>-	  If you find any problem about it, please tell us.</div><div class='del'>-</div><div class='del'>-Mon Oct 15 04:51:55 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: refactoring.</div><div class='del'>-	  - move all `call' related functions to the last of file.</div><div class='del'>-	  - make functions for respective method types in vm_call_method().</div><div class='del'>-	    (all functions have same function parameters)</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add `opt_pc' field in `rb_call_info_t'</div><div class='del'>-	  as temporal variable.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): catch up above changes.</div><div class='del'>-</div><div class='del'>-Mon Oct 15 03:51:46 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_attr_ivar(_set).rb: added (for method dispatch speed).</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_float_simple.rb: added (for flonum/float).</div><div class='del'>-</div><div class='del'>-Mon Oct 15 02:51:16 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): add new function.</div><div class='del'>-	  `vm_call0()' makes call_info struct and calls `vm_call0_body()'</div><div class='del'>-	  with this struct. In near future, `vm_call0()' will be removed</div><div class='del'>-	  because all of `vm_call0()' users setup call_info struct by itself.</div><div class='del'>-</div><div class='del'>-Mon Oct 15 01:38:06 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (send, invokesuper, invokeblock, opt_*), vm_core.h:</div><div class='del'>-	  use only a `ci' (rb_call_info_t) parameter instead of using</div><div class='del'>-	  parameters such as `op_id', 'op_argc', `blockiseq' and flag.</div><div class='del'>-	  These information are stored in rb_call_info_t at the compile</div><div class='del'>-	  time.</div><div class='del'>-	  This technique simplifies parameter passing at related</div><div class='del'>-	  function calls (~10% speedups for simple method invocation at</div><div class='del'>-	  my machine).</div><div class='del'>-	  `rb_call_info_t' also has new function pointer variable `call'.</div><div class='del'>-	  This `call' variable enables to customize method (block)</div><div class='del'>-	  invocation process for each place. However, it always call</div><div class='del'>-	  `vm_call_general()' at this changes.</div><div class='del'>-	  `rb_call_info_t' also has temporary variables for method</div><div class='del'>-	  (block) invocation.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, compile.c, insns.def: introduce VM_CALL_ARGS_SKIP_SETUP</div><div class='del'>-	  VM_CALL macro.  This flag indicates that this call can skip</div><div class='del'>-	  caller_setup (block arg and splat arg).</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up above changes.</div><div class='del'>-</div><div class='del'>-	* iseq.c: catch up above changes (especially for TS_CALLINFO).</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: catch up above changes.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm_insnhelper.h: ditto. Macros and functions</div><div class='del'>-	  parameters are changed.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): ditto (it will be rewritten soon).</div><div class='del'>-</div><div class='del'>-Sun Oct 14 12:30:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_f_sub, rb_f_gsub): pass the given block.</div><div class='del'>-	  [ruby-core:47967] [Bug #7157]</div><div class='del'>-</div><div class='del'>-Sat Oct 13 23:15:39 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_char_class): should match with a hyphen after a</div><div class='del'>-	  range in a character class.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_char_class): fixed wrong</div><div class='del'>-	  test.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#check): now can accept the</div><div class='del'>-	  error message.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): renamed</div><div class='del'>-	  because the previous name was wrong.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): added</div><div class='del'>-	  more test pattern.</div><div class='del'>-</div><div class='del'>-Sat Oct 13 03:01:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): prevent link from GC while link_names refers</div><div class='del'>-	  the content.</div><div class='del'>-</div><div class='del'>-Sat Oct 13 01:37:48 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TestRegexp#test_raw_hyphen_and_type_char_after_range): added new</div><div class='del'>-	  test. ref [ruby-core:47115] [Backport #6853]</div><div class='del'>-</div><div class='del'>-Fri Oct 12 21:55:08 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_pow): set floating point precision</div><div class='del'>-	  for mingw-w64 x86 pow(). This improves the precision of pow() on</div><div class='del'>-	  Windows XP for TestFloat#test_round_with_precision failure.</div><div class='del'>-	  [ruby-core:47911] [Bug #7142]</div><div class='del'>-</div><div class='del'>-Fri Oct 12 21:37:25 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): skip a test</div><div class='del'>-	  depending on locale on Windows. ENV[] doesn't work properly if</div><div class='del'>-	  console code page is not equal to file system encoding.</div><div class='del'>-	  [ruby-core:47910] [Bug #7140]</div><div class='del'>-</div><div class='del'>-Fri Oct 12 20:40:29 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (posix_sh_cmds): the command name of colon is ":".</div><div class='del'>-</div><div class='del'>-Fri Oct 12 18:18:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_get_path_check): path name must not contain NUL bytes.</div><div class='del'>-</div><div class='del'>-Fri Oct 12 16:06:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: now can merge revision(s) without --ticket again.</div><div class='del'>-</div><div class='del'>-Fri Oct 12 14:10:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (dir_config, init_mkmf): use configured libdir value as</div><div class='del'>-	  default library path.  [ruby-core:43726] [Bug #6207]</div><div class='del'>-</div><div class='del'>-Fri Oct 12 05:25:00 2012  Zachary Scott	&lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (timeout):</div><div class='del'>-	  Remove paragraph on wrong implementation detail.</div><div class='del'>-	  [ruby-core:47739] [Bug #7088]</div><div class='del'>-</div><div class='del'>-Thu Oct 11 23:09:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub{seq,pos,str}, rb_str_each_{line,codepoint}):</div><div class='del'>-	  prevent String copies from GC.  [ruby-core:47881] [Bug #7135]</div><div class='del'>-</div><div class='del'>-Thu Oct 11 07:40:50 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern): cast op to rb_call_info_t* before</div><div class='del'>-	  compare with iseq-&gt;callinfo_entries whose type is rb_call_info_t*.</div><div class='del'>-</div><div class='del'>-Thu Oct 11 03:37:08 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_block.rb: add tests for block with super.</div><div class='del'>-</div><div class='del'>-Thu Oct 11 02:54:07 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: fix debug prints to catch up recent changes</div><div class='del'>-	  such as VM data structures.</div><div class='del'>-</div><div class='del'>-Thu Oct 11 02:50:34 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern): add support disasm TS_CALLINFO</div><div class='del'>-	  operands.</div><div class='del'>-</div><div class='del'>-Wed Oct 10 15:12:48 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_execopts_gid): skip on</div><div class='del'>-	  windows because the platform does not have Process.group method.</div><div class='del'>-	  patched by Jon Forums in [ruby-core:47878] [Bug #7133].</div><div class='del'>-</div><div class='del'>-Tue Oct  9 23:18:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_file, assert_file_not): more</div><div class='del'>-	  descriptive assertions for File predicates.</div><div class='del'>-</div><div class='del'>-Tue Oct  9 18:01:37 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): use rb_random_ulong_limited, since</div><div class='del'>-	  precision of long may be larger than double.</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_ulong_limited): new function to return a random</div><div class='del'>-	  value from 0 upto limit as unsigned long, similarly to</div><div class='del'>-	  rb_genrand_ulong_limited but with arbitrary RNG object.</div><div class='del'>-</div><div class='del'>-Tue Oct  9 17:13:27 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_addopt, rb_execarg_run_options): add :uid and</div><div class='del'>-	  :gid options.  [ruby-core:47414] [Feature #6975]</div><div class='del'>-</div><div class='del'>-Tue Oct  9 14:36:11 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free): fix memory leak.</div><div class='del'>-	  rb_iseq_t::callinfo_entries should be freed.</div><div class='del'>-</div><div class='del'>-Tue Oct  9 14:28:18 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t): add new type `rb_call_info_t'.</div><div class='del'>-	  This data structure contains information including inline method</div><div class='del'>-	  cache. After that, `struct iseq_inline_cache_entry' does not</div><div class='del'>-	  need to contain inline cache for method invocation.</div><div class='del'>-	  Other information will be added to this data structure.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_iseq_t): add `callinfo_entries' and `callinfo_size'</div><div class='del'>-	  members to `rb_iseq_t'.</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c: Use CALL_INFO instead of IC.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: support CALL_INFO as operand type.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 23:54:33 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run_func): don't call inflate() when</div><div class='del'>-	  z-&gt;stream.avail_in == 0. it return Z_BUF_ERROR.</div><div class='del'>-	  but deflate() could be called with z-&gt;stream-&gt;avail_in == 0 because</div><div class='del'>-	  it has hidden buffer in z-&gt;stream-&gt;state (opaque structure).</div><div class='del'>-	  fix for gem install error. [ruby-dev:46149] [Bug #7040]</div><div class='del'>-</div><div class='del'>-Mon Oct  8 23:55:41 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refinements): new method Module#refinements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add new tests for the above changes.</div><div class='del'>-</div><div class='del'>-Mon Oct  8 23:02:19 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c, iseq.c, node.h, vm_insnhelper.c, vm_insnhelper.h,</div><div class='del'>-	  vm_method.c: rename omod and overlaid modules to refinements.</div><div class='del'>-</div><div class='del'>-	* eval.c (hidden_identity_hash_new): renamed from identity_hash_new.</div><div class='del'>-</div><div class='del'>-Sun Oct  7 04:50:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: Documentation examples for Abbrev.</div><div class='del'>-	  [ruby-core:47442] [Bug #6985]</div><div class='del'>-</div><div class='del'>-Sun Oct  7 04:50:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_aref):</div><div class='del'>-	  Grammar in Thread documentation.</div><div class='del'>-	  Patch by Steve Klabnik [ruby-core:47799] [Bug #7099]</div><div class='del'>-</div><div class='del'>-Sun Oct  7 04:37:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match):</div><div class='del'>-	  Clarify behavior for captured strings and local variable assignment</div><div class='del'>-	  Patch by Marcus Stollsteimer [ruby-core:47668] [Bug #7062]</div><div class='del'>-</div><div class='del'>-Sat Oct  6 18:31:36 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_opts.h (OPT_GLOBAL_METHOD_CACHE): new build option to</div><div class='del'>-	  enable/disable global method caching. [ruby-dev:46203] [Bug #7111]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_with_omod): don't use global</div><div class='del'>-	  method cache if OPT_GLOBAL_METHOD_CACHE is 0.</div><div class='del'>-</div><div class='del'>-Sat Oct  6 16:32:04 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (search_method): check omod only once for performance.</div><div class='del'>-</div><div class='del'>-Sat Oct  6 09:42:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): endian-less wide</div><div class='del'>-	  UTF encodings are dummy but Unicode.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_encdb_set_unicode): set Unicode flag.</div><div class='del'>-</div><div class='del'>-	* template/encdb.h.tmpl: allow ENC_DUMMY variants.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_unicode_p): oniguruma provides Unicode flag.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 17:18:42 JST 2012  TAKANO Mitsuhiro  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* template/Doxyfile.tmpl: remove SHOW_DIRECTORIES and</div><div class='del'>-	  HTML_ALIGN_MEMBERS lines. They have been obsolete in</div><div class='del'>-	  Doxygen version 1.8.2.</div><div class='del'>-</div><div class='del'>-Fri Oct  5 15:26:18 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: add ObjectSpace#reachable_objects_from.</div><div class='del'>-	  This method returns an array of objects referenced by given object.</div><div class='del'>-	  If given object is special objects such as true/false/nil/Fixnum etc</div><div class='del'>-	  then it returns nil. See rdoc for details.</div><div class='del'>-	  [ruby-core:39772]</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test for this method.</div><div class='del'>-</div><div class='del'>-	* gc.c: add rb_objspace_reachable_objects_from().</div><div class='del'>-	  To make this function, add several member `mark_func_data'</div><div class='del'>-	  to rb_objspace_t.  If mark_func_data is not null, then</div><div class='del'>-	  gc_mark() calls mark_func_data::mark_func.</div><div class='del'>-</div><div class='del'>-	* gc.h: export rb_objspace_reachable_objects_from().</div><div class='del'>-</div><div class='del'>-Thu Oct  4 23:40:04 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (init_heap): call init_mark_stack before to allocate</div><div class='del'>-	  altstack. This change avoid the stack overflow at the signal</div><div class='del'>-	  handler on 32bit, but I don't understand reason... [Feature #7095]</div><div class='del'>-</div><div class='del'>-Thu Oct  4 22:39:27 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (getlocal, setlocal): remove old getlocal/setlocal</div><div class='del'>-	  instructions and rename getdaynmic/setdynamic instructions</div><div class='del'>-	  to getlocal/setlocal.</div><div class='del'>-</div><div class='del'>-	* compile.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: remove TS_DINDEX.</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (dindex_t): remove type definition of `dindex_t'.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 21:44:17 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_analysis_insn|operand|register): use st_insert</div><div class='del'>-	  instead of using rb_hash_aset() because rb_hash_aset()</div><div class='del'>-	  check $SAFE.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 21:15:26 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (VM_COLLECT_USAGE_DETAILS): make new VM usage analysis</div><div class='del'>-	  hooks (old macro name is COLLECT_USAGE_ANALYSIS).</div><div class='del'>-	  This feature is only for VM developers.  (I'm not sure I can use</div><div class='del'>-	  `VM developers' (the plural form) in this sentence).</div><div class='del'>-	  If VM_COLLECT_USAGE_DETAILS is not 0, VM enables the following</div><div class='del'>-	  usage collection features:</div><div class='del'>-	    (1) instruction: collect instruction usages.</div><div class='del'>-	    (2) operand: collect operand usages.</div><div class='del'>-	    (3) register: collect register usages.</div><div class='del'>-	  The results are stored in</div><div class='del'>-	    RubyVM::USAGE_ANALYSIS_INSN for (1, 2),</div><div class='del'>-	    RubyVM::USAGE_ANALYSIS_INSN_BIGRAM for (1) and</div><div class='del'>-	    RubyVM::USAGE_ANALYSIS_REGS for (3).</div><div class='del'>-	  You can stop collecting usages with</div><div class='del'>-	    RubyVM::USAGE_ANALYSIS_INSN_STOP(),</div><div class='del'>-	    RubyVM::USAGE_ANALYSIS_OPERAND_STOP(),</div><div class='del'>-	    RubyVM::USAGE_ANALYSIS_REGISTER_STOP()</div><div class='del'>-	  for (1), (2), (3) respectively.</div><div class='del'>-	  You can also change the hook functions by setting</div><div class='del'>-	  C level global variables</div><div class='del'>-	    `ruby_vm_collect_usage_func_(insn|operand|register)'</div><div class='del'>-	  for (1), (2), (3) respectively.</div><div class='del'>-	  See codes for more details.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: fix macro names.</div><div class='del'>-</div><div class='del'>-	* iseq.c (insn_operand_intern): make it export (used in vm.c).</div><div class='del'>-	  fix to skip several processes if not needed (pointer is 0).</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: move codes for collection features to vm.c.</div><div class='del'>-</div><div class='del'>-	* vm_exec.h: rename macro and function names.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 18:59:14 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb (test_tracepoint):</div><div class='del'>-	  remove unused test case.</div><div class='del'>-	  (this test case is redefined by newer tests)</div><div class='del'>-</div><div class='del'>-Thu Oct  4 17:24:51 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): call gc_mark_stacked_objects</div><div class='del'>-	  at suitable point.</div><div class='del'>-</div><div class='del'>-Thu Oct  4 16:31:29 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): mark self-referencing finalizers</div><div class='del'>-	  before run finalizers, to fix SEGV from btest on 32bit.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_stacked_objects): extract from gc_marks().</div><div class='del'>-</div><div class='del'>-Thu Oct  4 11:43:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): round stack limit to page size</div><div class='del'>-	  boundary to calculate stack size more precisely.  [ruby-dev:46174]</div><div class='del'>-	  [Bug #7084]</div><div class='del'>-</div><div class='del'>-Wed Oct  3 19:51:57 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Use the non-recursive marking instead of recursion. The</div><div class='del'>-	  recursion marking of CRuby needs checking stack overflow and the</div><div class='del'>-	  fail-safe system, but these systems not good at partial points,</div><div class='del'>-	  for example, marking deep tree structures. [ruby-dev:46184]</div><div class='del'>-	  [Feature #7095]</div><div class='del'>-</div><div class='del'>-	* configure.in (GC_MARK_STACKFRAME_WORD): removed. It's used by</div><div class='del'>-	  checking stack overflow of marking.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (GC_MARK_STACKFRAME_WORD): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct  3 15:33:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): use getrlimit() for the main</div><div class='del'>-	  thread on Mac OS X, since pthread_get_stack{addr,size}_np()</div><div class='del'>-	  return the default value always, but not the ulimit value.</div><div class='del'>-	  [ruby-dev:46174] [Bug #7084]</div><div class='del'>-</div><div class='del'>-Wed Oct  3 11:43:15 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): improvement to accept optional arguments.</div><div class='del'>-	  a patch by Glass_saga (Masaki Matsushita) in [ruby-core:47806].</div><div class='del'>-	  [Feature #7103]</div><div class='del'>-</div><div class='del'>-Wed Oct  3 04:36:11 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_add_file):  Added</div><div class='del'>-	  documentation</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):</div><div class='del'>-	  ditto</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_add_cert):  ditto</div><div class='del'>-</div><div class='del'>-Wed Oct  3 02:23:37 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not</div><div class='del'>-	  taint messages.</div><div class='del'>-</div><div class='del'>-Tue Oct  2 16:47:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (identity_hash_new): hide internal hashes for refinements.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): no default value.</div><div class='del'>-</div><div class='del'>-Mon Oct  1 22:54:02 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (identity_hash_new): new function to create a new identity</div><div class='del'>-	  hash.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_overlay_module, rb_mod_using, rb_mod_refine): use</div><div class='del'>-	  identity_hash_new().</div><div class='del'>-</div><div class='del'>-Mon Oct  1 02:34:53 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-opt-dir): Make this also work on DLDFLAGS</div><div class='del'>-	  so LIBRUBY_SO links fine with libexecinfo installed in a</div><div class='del'>-	  non-system directory.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 23:32:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): add /Library/Logs/DiagnosticReports</div><div class='del'>-	  in the list of locations of crash reports.</div><div class='del'>-</div><div class='del'>-Sun Sep 30 21:18:03 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): use memcpy to copy a string which contains</div><div class='del'>-	  NUL characters. [ruby-core:47751] [Bug #7090]</div><div class='del'>-</div><div class='del'>-Sat Sep 29 19:41:53 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill child process</div><div class='del'>-	  before Timeout::Error is raised. rmdir of mktmpdir fails with</div><div class='del'>-	  EACCES if child process is alive on Windows.</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (TestQueue): increase timeout.</div><div class='del'>-	  This test takes long time on Windows XP.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 19:41:33 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTP#test_proxy_address):</div><div class='del'>-	  clear environment variables. If http_proxy environment variable was</div><div class='del'>-	  set, the test failed.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTP#test_proxy_port): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 19:41:11 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (DRbCore#teardown):</div><div class='del'>-	  Use Process.kill :KILL on Windows because Process.kill :INT silently</div><div class='del'>-	  fails on Windows 7 and raises EINVAL on Windows XP for spawned</div><div class='del'>-	  process with new_pgroup: false.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (DRbAry#teardown): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 19:40:32 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):</div><div class='del'>-	  set script encoding to work with LANG=C. It would work on both</div><div class='del'>-	  Windows and Unix. Refix of r37051.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 11:21:06 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_using_modules): use using_modules before</div><div class='del'>-	  klass to fix method lookup order, and use klass even if klass is</div><div class='del'>-	  not a module to make refinements in class_eval invoked on classes</div><div class='del'>-	  work.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_module): accept a class as the second argument.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_using, f_using): raise a TypeError if the argument</div><div class='del'>-	  is not a module.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add new tests for the above changes.</div><div class='del'>-</div><div class='del'>-Sat Sep 29 02:18:57 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):</div><div class='del'>-	  Use ruby only on Windows since the test fails on Unix with LANG=C.</div><div class='del'>-	  [ruby-core:47709] [Bug #7076]</div><div class='del'>-</div><div class='del'>-Fri Sep 28 22:19:31 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):</div><div class='del'>-	  echo command doesn't work properly against non-ascii character on</div><div class='del'>-	  Windows with chcp 437. Instead we use ruby.</div><div class='del'>-	  [ruby-core:47709] [Bug #7076]</div><div class='del'>-</div><div class='del'>-Fri Sep 28 17:54:31 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setup_method): refactoring.</div><div class='del'>-	  Remove src_argc and use iseq-&gt;arg_size directly.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 17:26:27 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (check_that_user_bin_dir_is_in_path):</div><div class='del'>-	  test_generate_bin_bindir_with_user_install_warning(TestGemInstaller)</div><div class='del'>-	  fails on Windows with msys bash. It makes comparing paths</div><div class='del'>-	  case-insensitive.</div><div class='del'>-	  pick from upstream to fix a failure of test-all [ruby-core:47711]</div><div class='del'>-	 https://github.com/rubygems/rubygems/commit/c474edb2f3704206f04da1c8c6cf9fb079d84abe</div><div class='del'>-</div><div class='del'>-Fri Sep 28 15:44:45 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (search_method): copy refinement iclasses to search</div><div class='del'>-	  superclasses correctly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 15:15:41 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_checkenv): remove unused instruction `opt_checkenv'.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): ditto.</div><div class='del'>-</div><div class='del'>-	* node.h: remove unused node `NODE_OPTBLOCK'.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c, gc.c (gc_mark_children): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 13:14:34 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: now VM_DEBUG_BP_CHECK should be 1.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 12:51:54 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_control_frame_t::bp (bp: base pointer).</div><div class='del'>-	  `bp' can be calculate by `sp' (stack pointer) of previous frame.</div><div class='del'>-	  Now, `bp_check' field is remained for debug.  You can eliminate</div><div class='del'>-	  this field by setting  VM_DEBUG_BP_CHECK as 0.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_base_ptr): add `vm_base_ptr(cfp).</div><div class='del'>-	  This function calculates base pointer from cfp.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setup_method): push `recv' value on top of</div><div class='del'>-	  value stack (before method parameters).</div><div class='del'>-	  This change is for keeping consistency with normal method dispatch.</div><div class='del'>-</div><div class='del'>-	* insns.def: fix to use vm_base_ptr().</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: remove `bp' related dumps.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_init): fix to check VM_DEBUG_BP_CHECK.</div><div class='del'>-</div><div class='del'>-Fri Sep 28 10:40:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): accept File::Constants as well as mode string.</div><div class='del'>-	  based on the patch by Glass_saga (Masaki Matsushita) in</div><div class='del'>-	  [ruby-core:47694].  [Feature #7067]</div><div class='del'>-</div><div class='del'>-Thu Sep 27 18:36:51 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_overlay_module, rb_mod_refine): accept a module as the</div><div class='del'>-	  argument of Module#refine.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (search_method): if klass is an iclass, lookup the</div><div class='del'>-	  original module of the iclass in omod in order to allow</div><div class='del'>-	  refinements of modules.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add tests for the above changes.</div><div class='del'>-</div><div class='del'>-Thu Sep 27 18:12:20 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/lib/syslog/logger.rb: add a formatter to the</div><div class='del'>-	  Syslog::Logger object. [Bug #7065]</div><div class='del'>-	* test/syslog/test_syslog_logger.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 26 16:39:57 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: add new instruction `opt_empty_p' for optimize `empty?'</div><div class='del'>-	  method.  Apply a patch proposed at [ruby-dev:46120]</div><div class='del'>-	  [ruby-trunk - Feature #6972] by Glass_saga (Masaki Matsushita).</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction), vm.c, vm_insnhelper.h:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* id.c, template/id.h.tmpl: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb: test for this changes.</div><div class='del'>-</div><div class='del'>-Tue Sep 25 09:59:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokesuper): klass in cfp is not valid in at_exit and</div><div class='del'>-	  END blocks.  [ruby-core:47680] [Bug #7064]</div><div class='del'>-</div><div class='del'>-Tue Sep 25 08:11:11 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_defined_string): the index of defined_strings must</div><div class='del'>-	  be the value of type - 1.</div><div class='del'>-</div><div class='del'>-Mon Sep 24 17:36:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr), insns.def (defined): share single frozen</div><div class='del'>-	  strings.  [EXPERIMENTAL] [ruby-core:47558][Feature #7035]</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_defined_string): make expression strings.</div><div class='del'>-</div><div class='del'>-Mon Sep 24 11:22:36 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: add --ticket option to add ticket number.</div><div class='del'>-</div><div class='del'>-Sun Sep 23 21:51:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (String#unspace): unescape with backslashes.  normal</div><div class='del'>-	  makes need to escape spaces with backslashes.  nmake is not the</div><div class='del'>-	  case.  [Bug #7036]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): use timestamp file dependencies for</div><div class='del'>-	  directories.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: unexpand macros.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (LIBPATHFLAG): no needs to escape library path here.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#configuration): make prefix paths</div><div class='del'>-	  internal to deal with in Makefile.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#mkintpath): not a global function now.</div><div class='del'>-</div><div class='del'>-Sun Sep 23 02:33:37 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: Fix examples of r36993.</div><div class='del'>-	  Keep the simple definition, mathematics define the result.</div><div class='del'>-	  Based on patch by Robin Dupret. Fixes #188 on github.</div><div class='del'>-</div><div class='del'>-Sat Sep 22 07:15:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb:</div><div class='del'>-	  Match sample output to Ripper.sexp from current trunk version.</div><div class='del'>-	  [Bug #6929]</div><div class='del'>-</div><div class='del'>-Thu Sep 20 23:05:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_initialize): destroy condattr</div><div class='del'>-	  after using it. Patch by Stanislav Sedov. Thank you.</div><div class='del'>-	  [Bug #7041] [ruby-core:47619]</div><div class='del'>-</div><div class='del'>-Thu Sep 20 22:53:02 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_initialize): clean up #ifdef condition.</div><div class='del'>-</div><div class='del'>-Thu Sep 20 16:42:44 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb (DRb::DRbSSLSocket::SSLConfig::DEFAULT): add</div><div class='del'>-	  SSLTmpDhCallback for configuration option.</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb (setup_ssl_context): copy the value of tmp_dh_callback.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_array_drbssl.rb: set tmp_dh_callback to suppress warning.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_drb_drbssl.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 20 10:56:08 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_drb.rb: revert a part of r36987, and get rid of a warning</div><div class='del'>-	  with another method.  if the substitution is removed, the ExtSrv</div><div class='del'>-	  object will be GC'ed and some tests will be blocked.</div><div class='del'>-</div><div class='del'>-Thu Sep 20 07:20:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: Examples for Complex Documentation.</div><div class='del'>-	  Patch by Robin Dupret.</div><div class='del'>-	  Fixes #184 on github.</div><div class='del'>-</div><div class='del'>-Thu Sep 20 07:15:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: Documentation for Ripper.</div><div class='del'>-	  +:void_stmt+ is meaningless</div><div class='del'>-	  [Bug #6929] [ruby-core:47507]</div><div class='del'>-</div><div class='del'>-Thu Sep 20 07:05:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (Object#CSV, Array#to_csv, String#parse_csv):</div><div class='del'>-	  Examples and documentation for CSV.</div><div class='del'>-	  [Bug #6880] [ruby-core:47218]</div><div class='del'>-</div><div class='del'>-Thu Sep 20 00:42:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (take_items), enum.c (enum_zip): raise TypeError at</div><div class='del'>-	  non-enumerable objects, not NoMethodError.  [ruby-dev:46145]</div><div class='del'>-	  [Bug #7038]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_block_call): check_funcall variant with block</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-Tue Sep 18 17:51:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_attrs): add npn_select_db to</div><div class='del'>-	  suppress warning: instance variable @npn_select_cb not initialized</div><div class='del'>-</div><div class='del'>-Sun Sep 16 17:47:00 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/change_maker.rb:  Update svn detection for subversion 1.7's</div><div class='del'>-	  single .svn directory.</div><div class='del'>-</div><div class='del'>-Sun Sep 16 11:39:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_set_read_length): if the read length equals to the buffer</div><div class='del'>-	  string size then nothing to do.  or ensure the string modifiable</div><div class='del'>-	  before setting the length only when the former is shorter.  based on</div><div class='del'>-	  the patch in [ruby-core:47541] by Hiroshi Shirosaki.</div><div class='del'>-	  [ruby-core:46586] [Bug #6764]</div><div class='del'>-</div><div class='del'>-Sun Sep 16 08:57:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (strict_warnflags): separate strict flags from</div><div class='del'>-	  warnflags only for core.  [ruby-dev:46105]</div><div class='del'>-</div><div class='del'>-Sun Sep 16 08:16:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .editorconfig: add.  [ruby-core:47548] [Feature #7030]</div><div class='del'>-</div><div class='del'>-Sat Sep 15 01:56:40 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Merge upstream: 50a383c84.</div><div class='del'>-	  [ruby-dev:46128] [Bug #7005]</div><div class='del'>-</div><div class='del'>-Sat Sep 15 00:20:04 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_convert): suppress warning.</div><div class='del'>-</div><div class='del'>-Fri Sep 14 04:05:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_diff, rb_ary_uniq):</div><div class='del'>-	  Enhance documentation for array uniqueness</div><div class='del'>-	  Based on a patch by Robin Dupret</div><div class='del'>-	  [Bug #6872] [ruby-core:47209]</div><div class='del'>-</div><div class='del'>-Fri Sep 14 03:30:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select):</div><div class='del'>-	  Update documentation for Array#select</div><div class='del'>-	* enum.c (enum_find_all, enum_reject):</div><div class='del'>-	  Update documentation for Enumerable#find_all and Enumerable#reject</div><div class='del'>-	  Based on a patch by Jeff Saracco</div><div class='del'>-	  [Bug #6908] [ruby-core:47285] [Fixes #166 on github]</div><div class='del'>-</div><div class='del'>-Fri Sep 14 00:20:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill):</div><div class='del'>-	  Update documentation for Process.kill to reflect kill(2)</div><div class='del'>-	  Patch by Richo Healey</div><div class='del'>-</div><div class='del'>-Thu Sep 13 21:40:49 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.random_bytes):</div><div class='del'>-	  Use 64bit value as pointer for Windows x64 to fix SystemCallError.</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.lastWin32ErrorMessage):</div><div class='del'>-	  Set proper encoding to avoid invalid byte sequence error.</div><div class='del'>-	  [ruby-core:47451] [Bug #6990]</div><div class='del'>-</div><div class='del'>-Thu Sep 13 11:20:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: Remove unreachable email address from documentation</div><div class='del'>-	  [Bug #6996] [ruby-core:47459]</div><div class='del'>-</div><div class='del'>-Thu Sep 13 11:20:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb: Documentation for XMLRPC</div><div class='del'>-	* lib/xmlrpc/datetime.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/parser.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/client.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/utils.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/README.rdoc: ditto.</div><div class='del'>-	* lib/xmlrpc/create.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/base64.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/config.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/httpserver.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/server.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/marshal.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/README.txt: ditto.</div><div class='del'>-	  [Bug #6909] [ruby-core:47286]</div><div class='del'>-</div><div class='del'>-Thu Sep 13 10:22:11 2012  Takashi Toyoshima  &lt;toyoshim@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Don't use PIE on Haiku because loader support is not</div><div class='del'>-	  enough.</div><div class='del'>-</div><div class='del'>-Thu Sep 13 08:20:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Documentation for Shellwords.</div><div class='del'>-</div><div class='del'>-Thu Sep 13 08:00:00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper.rb: Documentation for Ripper.</div><div class='del'>-	* ext/ripper/lib/ripper/lexer.rb: ditto.</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: ditto.</div><div class='del'>-	* ext/ripper/lib/ripper/filter.rb: ditto.</div><div class='del'>-	* ext/ripper/lib/ripper/core.rb: ditto.</div><div class='del'>-	  [Bug #6929] [ruby-core:47309]</div><div class='del'>-</div><div class='del'>-Wed Sep 12 22:59:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_missing, vm_call_method): reuse arguments</div><div class='del'>-	  on the VM stack and get rid of ALLOCA.</div><div class='del'>-</div><div class='del'>-Wed Sep 12 22:45::00 2012  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb: Documentation for Pathname.</div><div class='del'>-	* ext/pathname/pathname.c: ditto.</div><div class='del'>-	  [Bug #6947] [ruby-core:47354]</div><div class='del'>-</div><div class='del'>-Mon Sep 10 10:19:34 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: fixed wrong change in a part of r34802.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 22:02:50 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (rsock_bsock_send):</div><div class='del'>-	  avoid unnecessary select() calls before doing I/O</div><div class='del'>-	  Patch by Eric Wong. [Feature #4538] [ruby-core:35586]</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom): ditto.</div><div class='del'>-	* ext/socket/init.c (rsock_s_accept): ditto.</div><div class='del'>-	* ext/socket/udpsocket.c (udp_send): ditto.</div><div class='del'>-	* io.c (io_fflush): ditto.</div><div class='del'>-	* io.c (io_binwrite): ditto.</div><div class='del'>-	* io.c (rb_io_syswrite): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 10 01:38:51 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):</div><div class='del'>-	  suppress integer &lt;-&gt; pointer cast warnings.</div><div class='del'>-	  [Feature #4570] [ruby-core:35711]</div><div class='del'>-</div><div class='del'>-Mon Sep 10 01:36:00 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close): notify fd close before releasing gvl.</div><div class='del'>-	* io.c (fptr_finalize): modify fptr-&gt;mode before releasing gvl.</div><div class='del'>-	  remove unnecessary rb_thread_fd_close().</div><div class='del'>-	  [Feature #4570] [ruby-core:35711]</div><div class='del'>-</div><div class='del'>-Mon Sep 10 00:16:34 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: exec() requires to be single threaded also on Haiku.</div><div class='del'>-	  by Takashi Toyoshima &lt;toyoshim@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/178</div><div class='del'>-</div><div class='del'>-Sun Sep  9 21:21:15 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Queue#pop): Fixed double registration issue when</div><div class='del'>-	  mutex.sleep is interrupted. [Bug #5258] [ruby-dev:44448]</div><div class='del'>-	* lib/thread.rb (SizedQueue#push): ditto.</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (test_sized_queue_and_wakeup,</div><div class='del'>-	test_queue_pop_interrupt, test_sized_queue_pop_interrupt,</div><div class='del'>-	test_sized_queue_push_interrupt): new tests.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 20:20:31 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb (Sync_m#sync_lock): Fixed wakeup/raise unsafe code.</div><div class='del'>-	  Patched by Masaki Matsushita. [Bug #5355] [ruby-dev:44521]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_sync.rb (test_sync_lock_and_wakeup,</div><div class='del'>-	  test_sync_upgrade_and_wakeup, test_sync_lock_and_raise):</div><div class='del'>-	  new test.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 18:39:46 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_thread_blocking_region): Added</div><div class='del'>-	  a comment of recommended alternative way.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 18:37:05 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb (Sync_m): Removed RCS_ID.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 18:21:03 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_advise_pipe): new test to check</div><div class='del'>-	  io.advise() against anonymous io object don't make crash.</div><div class='del'>-	  made by Eric Wong. [Bug #6081] [ruby-core:42880]</div><div class='del'>-</div><div class='del'>-Sun Sep  9 16:47:12 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):</div><div class='del'>-	  new functions.</div><div class='del'>-	* io.c (fptr_finalize): release GVL if possible.</div><div class='del'>-	  Patched by Eric Wong. [Feature #4570] [ruby-core:35711]</div><div class='del'>-</div><div class='del'>-Sun Sep  9 16:08:48 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_bufread): removed unnecessary rb_thread_wait_fd().</div><div class='del'>-	  Patch by Eric Wong. [Bug #6629] [ruby-core:45789]</div><div class='del'>-	* io.c (rb_io_sysread): ditto.</div><div class='del'>-	* io.c (copy_stream_fallback_body): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  9 15:21:52 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_lock): stop multiple threads use</div><div class='del'>-	  pthread_cond_timedwait() concurrently. [Bug #6278] [ruby-core:44275]</div><div class='del'>-</div><div class='del'>-Sat Sep  8 18:52:22 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (struct rb_classext_struct): move allocator function into</div><div class='del'>-	  rb_classext_t from ordinary method table.  [ruby-dev:46121]</div><div class='del'>-	  [Feature #6993]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_alloc): call allocator function directly.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_define_alloc_func, rb_undef_alloc_func)</div><div class='del'>-	  (rb_get_alloc_func): use allocator function in rb_classext_t.</div><div class='del'>-</div><div class='del'>-Fri Sep  7 01:21:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake), lib/mkmf.rb (have_framework): fix splitting</div><div class='del'>-	  options with an argument, not using NUL as special character.</div><div class='del'>-	  [ruby-core:47447] [Bug #6987]</div><div class='del'>-</div><div class='del'>-Thu Sep  6 14:49:49 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rp): FLONUM support.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_special_consts): define FLONUM constants</div><div class='del'>-	  always, so that they are available from gdb.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_FLOAT_TYPE_P): merge FLONUM and non-FLONUM</div><div class='del'>-	  versions.  inline TYPE() comparison and FLONUM_P() should be</div><div class='del'>-	  optimized away on non-FLONUM.</div><div class='del'>-</div><div class='del'>-Thu Sep  6 08:20:55 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 3.4.0 (r7762)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Wed Sep  5 19:20:53 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_warn4S): renamed from rb_warn4(), because the case in</div><div class='del'>-	  r36911 takes a string.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_warn4S): use ripper_warnS() for ripper.</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_warnS): now it is used.</div><div class='del'>-</div><div class='del'>-Wed Sep  5 15:51:52 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (notifications): [experimental] update notification</div><div class='del'>-	  template.</div><div class='del'>-</div><div class='del'>-Wed Sep  5 15:21:12 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_warn4): added as a rb_warn variant to warn with explicit</div><div class='del'>-	  source file name and line in parse.y.</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_unused_var): use rb_warn4 to suppress warning on ripper.</div><div class='del'>-</div><div class='del'>-Wed Sep  5 13:30:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_make_pattern): names under recursive need to be single</div><div class='del'>-	  basenames to match for each name.  [ruby-core:47418] [Bug #6977]</div><div class='del'>-</div><div class='del'>-Tue Sep  4 20:55:17 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): show Timeout::Error</div><div class='del'>-	  instead of IOError if the timeout has expired.</div><div class='del'>-</div><div class='del'>-	* test/test_pstore.rb</div><div class='del'>-	  (PStoreTest#test_pstore_files_are_accessed_as_binary_files):</div><div class='del'>-	  increase timeout because this test is slow on Windows.</div><div class='del'>-	  [ruby-core:47402] [Bug #6965]</div><div class='del'>-</div><div class='del'>-Tue Sep  4 11:28:57 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (ruby_eval_string_from_file_protect): initializer</div><div class='del'>-	  element is not computable at load time.</div><div class='del'>-</div><div class='del'>-Tue Sep  4 07:48:35 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_asn1_rb:</div><div class='del'>-	  test/openssl/test_ssl_session.rb:</div><div class='del'>-	  test/openssl/test_x509name.rb:</div><div class='del'>-	  test/openssl/test_buffering.rb:</div><div class='del'>-	  test/openssl/test_x509cert.rb:</div><div class='del'>-	  test/openssl/test_ssl.rb: Refactor code that leads to warnings on</div><div class='del'>-	  Ruby CI.</div><div class='del'>-</div><div class='del'>-Tue Sep  4 07:02:56 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb: Use DSS1 as DSA signature digest for all</div><div class='del'>-	  OpenSSL versions &lt; 1.0.0.</div><div class='del'>-	  [Feature #6946] [ruby-core:47405]</div><div class='del'>-</div><div class='del'>-Mon Sep  3 21:22:37 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_float_value): suppress warnings.</div><div class='del'>-	  [ruby-core:47406][Bug #6971]</div><div class='del'>-</div><div class='del'>-Mon Sep  3 14:49:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (Vector#magnitude): accumulate squares of absolute</div><div class='del'>-	  values to fix for complex vector.  [ruby-dev:46100] [Bug #6966]</div><div class='del'>-</div><div class='del'>-Mon Sep  3 10:09:36 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Detect OpenSSL_FIPS macro</div><div class='del'>-	  ext/openssl/ossl.c: Expose OpenSSL::OPENSSL_FIPS constant to</div><div class='del'>-	  indicate whether OpenSSL runs in FIPS mode.</div><div class='del'>-	  test/openssl/test_pkey_dh.rb: Generate 256 bit keys for</div><div class='del'>-	  non-FIPS installations to improve test performance (e.g. for</div><div class='del'>-	  rubyci).</div><div class='del'>-	  test/openssl/utils.rb: Replace DSS1 as certificate signature</div><div class='del'>-	  digest with SHA1 for FIPS installations when using DSA by</div><div class='del'>-	  introducing TestUtils::DSA_SIGNATURE_DIGEST.</div><div class='del'>-	  test/openssl/test_x509cert.rb:</div><div class='del'>-	  test/openssl/test_x509crl.rb:</div><div class='del'>-	  test/openssl/test_x509req.rb: Use DSA_SIGNATURE_DIGEST</div><div class='del'>-	  NEWS: Introduce OpenSSL::OPENSSL_FIPS</div><div class='del'>-</div><div class='del'>-	  These changes allow running the OpenSSL tests in FIPS mode</div><div class='del'>-	  while keeping a high performance for non-FIPS installations.</div><div class='del'>-	  Introduction of OpenSSL::OPENSSL_FIPS allows for applications</div><div class='del'>-	  to react to special requirements when using OpenSSL in FIPS mode.</div><div class='del'>-	  [Feature #6946] [ruby-core:47345]</div><div class='del'>-</div><div class='del'>-Sun Sep  2 21:46:28 2012  Martin Bosslet &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb: Use a cached DH key instead of generating a</div><div class='del'>-	  new one each time.</div><div class='del'>-</div><div class='del'>-Sun Sep  2 05:41:28 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb (WEBrick::Config::SSL): add new key</div><div class='del'>-	  SSLTmpDhCallback to set SSLContext#tmp_dh_callback.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb (WEBrick::GenericServer#setup_ssl_context):</div><div class='del'>-	  follow above.</div><div class='del'>-</div><div class='del'>-Sat Sep  1 18:50:50 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (#initialize_copy, #eql): Use instance_variable_get</div><div class='del'>-	  instead of instance_eval.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 21:47:56 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/test-unit.gemspec: Make test/unit default gem.</div><div class='del'>-	  [Feature #6875] [ruby-dev:46051]</div><div class='del'>-</div><div class='del'>-Fri Aug 31 18:35:02 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check existence of OPENSSL_NPN_NEGOTIATED.</div><div class='del'>-	  ext/ossl_ssl.c: Support Next Protocol Negotiation. Protocols to be</div><div class='del'>-	  advertised by the server can be set in the SSLContext by using</div><div class='del'>-	  SSLContext#npn_protocols=, protocol selection on the client is</div><div class='del'>-	  supported by providing a selection callback with</div><div class='del'>-	  SSLContext#npn_select_cb. The protocol that was finally negotiated</div><div class='del'>-	  is available through SSL#npn_protocol.</div><div class='del'>-	  test/openssl/test_ssl.rb: Add tests for Next Protocol Negotiation.</div><div class='del'>-	  NEWS: add news about NPN support.</div><div class='del'>-	  [Feature #6503] [ruby-core:45272]</div><div class='del'>-</div><div class='del'>-Fri Aug 31 17:38:43 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#{each,reject!,select!}, SortedSet#each): Pass</div><div class='del'>-	  the original block through instead of creating one that only</div><div class='del'>-	  yields the passed argument.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 16:23:20 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: Introduce several new error classes where only</div><div class='del'>-	  ArgumentError and StandardError were used.  IPAddr::Error is</div><div class='del'>-	  their common ancestor class that inherits from ArgumentError for</div><div class='del'>-	  backward compatibility.  Submitted by Jon Daniel.  Fixes #173 on</div><div class='del'>-	  GitHub.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 14:51:27 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_to_f): added</div><div class='del'>-	  for previous commit.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 14:32:05 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): use self's sign to</div><div class='del'>-	  determine 0.0 and Inf's sign instead of internal double value's.</div><div class='del'>-	  Reported by phasis68 (Heesob Park) at [ruby-core:47381] [Bug #6955]</div><div class='del'>-</div><div class='del'>-Fri Aug 31 14:31:17 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl, tool/id2token.rb: make id.h independent from</div><div class='del'>-	  parse.h, and make parse.c dependent on it instead.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 14:27:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): fix race conditions at install-ext.</div><div class='del'>-	  target files need to depend on destination directory timestamp</div><div class='del'>-	  files, not phony targets.</div><div class='del'>-</div><div class='del'>-Fri Aug 31 14:03:45 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (clean_hooks): do not access freed memory.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks): fix uninitialized state</div><div class='del'>-	  when no events is executed.</div><div class='del'>-</div><div class='del'>-Thu Aug 30 18:21:51 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close): call rb_last_status_clear.</div><div class='del'>-</div><div class='del'>-Thu Aug 30 16:17:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): check underflow since</div><div class='del'>-	  strtod() sets errno to ERANGE at underflow too.  [ruby-core:47342]</div><div class='del'>-	  [Bug #6944]</div><div class='del'>-</div><div class='del'>-Thu Aug 30 12:44:43 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#{&lt;,&gt;,&lt;=,&gt;=}): Define comparison operators as</div><div class='del'>-	  shorthand for the {proper_}{subset?,superset?} methods (finally).</div><div class='del'>-	  Given a push by Alexander E. Fischer.</div><div class='del'>-</div><div class='del'>-Thu Aug 30 09:21:01 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (URI::FTP#initialize): raise InvalidURIError if "//"</div><div class='del'>-	  is not present [ruby-core:47344] [Bug #6945]</div><div class='del'>-</div><div class='del'>-Thu Aug 30 07:45:12 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: fix test introduced in r36811 for</div><div class='del'>-	  posix environments where HOME is not defined.  [ruby-core:47322]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 23:42:59 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_last_status_clear): declared.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_last_status_clear): exported.</div><div class='del'>-	  (rb_f_system): call rb_last_status_clear.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_backquote): call rb_last_status_clear.</div><div class='del'>-</div><div class='del'>-Wed Aug 29 22:01:15 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_system): check failures of waitpid.</div><div class='del'>-	  [ruby-talk:398687]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 15:03:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBDIR_BASENAME): use configured libdir value to fix</div><div class='del'>-	  --enable-load-relative on systems where libdir is not default value,</div><div class='del'>-	  overridden in config.site files.  [ruby-core:47267] [Bug #6903]</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 29 14:34:41 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: SIZE_MAX is defined in stdint.h, so r36755 breaks</div><div class='del'>-	  32bit FreeBSD. [ruby-core:47360] [Bug #6948]</div><div class='del'>-</div><div class='del'>-Wed Aug 29 04:50:04 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb</div><div class='del'>-	  test/openssl/test_pair.rb</div><div class='del'>-	  test/openssl/test_pkey_dh.rb: Use 1024 bit DH parameters to satisfy</div><div class='del'>-	  OpenSSL FIPS requirements. Patch by Vit Ondruch.</div><div class='del'>-	  [Bug #6938] [ruby-core:47326]</div><div class='del'>-</div><div class='del'>-Tue Aug 28 22:31:49 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (checkmatch): suppress warnings. [ruby-core:47339]</div><div class='del'>-	  [Bug #6930]</div><div class='del'>-</div><div class='del'>-Tue Aug 28 20:03:54 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fixing Haiku R1/alpha3 build with gcc-4.4.4.</div><div class='del'>-	  - omit ANSI standard flags to compile socket extension where</div><div class='del'>-	    anonymous union is required.</div><div class='del'>-	  - remove redundant -be flags.</div><div class='del'>-	  by Takashi Toyoshima &lt;toyoshim@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/168</div><div class='del'>-</div><div class='del'>-Tue Aug 28 11:32:37 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in (.rbconfig.time): r36828 was incomplete.</div><div class='del'>-	  It did not run correctly on clean build.</div><div class='del'>-</div><div class='del'>-Tue Aug 28 09:25:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (Makefile): make to depend on common.mk, to</div><div class='del'>-	  stop and force to re-run make process when common.mk is changed.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 20:19:49 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb (TestEtc#test_getgrgid): fix for non unique GID.</div><div class='del'>-	  No unixen systems guarantee that GID is unique. Etc.getgrgid would</div><div class='del'>-	  not return the first entry in the order of Etc.group for shared GID.</div><div class='del'>-	  [ruby-core:47312] [Bug #6935]</div><div class='del'>-</div><div class='del'>-Mon Aug 27 18:19:36 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_float_value): optimize it.</div><div class='del'>-	  This technique was pointed by shinichiro.hamaji</div><div class='del'>-	  &lt;http://shinh.skr.jp/m/?date=20120825#p02&gt;.</div><div class='del'>-</div><div class='del'>-Mon Aug 27 15:08:25 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (vm_trace.o): Added a missing dependency.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 09:29:32 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in (package): make package should install</div><div class='del'>-	  example.html for nacl build</div><div class='del'>-</div><div class='del'>-	Patch by Takashi Toyoshima &lt;toyoshim AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 09:22:33 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY)</div><div class='del'>-	  Rewrites these variables instead of PATH.</div><div class='del'>-	  NaCl port uses a toolchain which is specified by NACL_SDK_ROOT</div><div class='del'>-	  environment variable. Originally, NaCl build added the toolchain</div><div class='del'>-	  under the NACL_SDK_ROOT to the PATH. But updating PATH doesn't work</div><div class='del'>-	  on Mac.</div><div class='del'>-	  (RBCONFIG): Replaces configs with the variable updates above.</div><div class='del'>-</div><div class='del'>-	* configure.in: Thus it is no longer necessary to check $PATH.</div><div class='del'>-</div><div class='del'>-	Based on a patch by Takashi Toyoshima &lt;toyoshim AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Sun Aug 26 16:53:00 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (checkmatch): suppress warnings.  [ruby-core:47310]</div><div class='del'>-	  [Bug #6930]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_FRAME_TYPE_FINISH_P): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 15:42:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): use timestamp for destination</div><div class='del'>-	  directories to make them before making or copying files there.</div><div class='del'>-	  [ruby-dev:46067] [Bug #6904]</div><div class='del'>-</div><div class='del'>-Fri Aug 24 12:40:15 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (mingw): add shlwapi to the list of dependency</div><div class='del'>-	  libs for Windows.</div><div class='del'>-	* win32/Makefile.sub (EXTSOLIBS): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: declare internal functions rb_w32_init_file,</div><div class='del'>-	  rb_file_expand_path_internal and rb_file_expand_path_fast.</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): invoke Windows initialization rb_w32_init_file</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_load_path_internal): new function.</div><div class='del'>-	  Windows-specific implementation that replaces file_expand_path.</div><div class='del'>-	  [Bug #6836][ruby-core:46996]</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_w32_init_file): new function. Initialize codepage</div><div class='del'>-	  cache for faster conversion encodings lookup.</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): rename to rb_file_expand_path_internal.</div><div class='del'>-	  Conditionally exclude from Windows.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_fast): new function. delegates to</div><div class='del'>-	  rb_file_expand_path_internal without performing a hit to the</div><div class='del'>-	  filesystem.</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path_1): use rb_file_expand_path_internal without</div><div class='del'>-	  path expansion (used by require).</div><div class='del'>-	* file.c (rb_find_file_ext_safe): ditto.</div><div class='del'>-	* file.c (rb_find_file_safe): ditto.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.</div><div class='del'>-	* load.c (rb_feature_provided): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path): use rb_file_expand_path_internal with</div><div class='del'>-	  path expansion.</div><div class='del'>-	* file.c (rb_file_absolute_path): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: new tests to exercise</div><div class='del'>-	  rb_file_expand_path_internal implementation and compliance with</div><div class='del'>-	  existing behaviors.</div><div class='del'>-</div><div class='del'>-Fri Aug 24 07:35:24 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/backward.rb (class Net):  Restored Net::HTTPSession to</div><div class='del'>-	  fix backwards-compatibility with ancient Net::HTTP.  [Bug #6889]</div><div class='del'>-</div><div class='del'>-Thu Aug 23 20:58:55 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: support `make id.h` without `rm .id.h.time` after</div><div class='del'>-	  `rm id.h`.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 20:48:45 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb (TestFixnum#test_singleton_method): new test.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb (TestBignum#test_singleton_method): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat#test_singleton_method): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb (TestSymbol#test_singleton_method): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 20:34:32 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (singleton_class_of): flonum can't have singleton class.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): flonum can't have singleton method.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 19:18:33 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (win32/*): macro RUBY_H_INCLUDES is not defined there,</div><div class='del'>-	  so need to move dependency rules under the definition of it.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 19:16:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: refactoring.  remove unused rules, and update</div><div class='del'>-	  some rules which are not used usually to fit current macros.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 16:46:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext_safe, rb_find_file_safe): default to</div><div class='del'>-	  US-ASCII for encdb and transdb.</div><div class='del'>-</div><div class='del'>-	* load.c (search_required): keep encoding of feature name.  set</div><div class='del'>-	  loading path to filesystem encoding.  [Bug #6377][ruby-core:44750]</div><div class='del'>-</div><div class='del'>-	* ruby.c (add_modules, require_libraries): assume default external</div><div class='del'>-	  encoding as well as ARGV.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 16:20:04 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: introduce flonum technique for</div><div class='del'>-	  64bit CPU environment (sizeof(double) == sizeof(VALUE)).</div><div class='del'>-	  flonum technique enables to avoid double object creation</div><div class='del'>-	  if the double value d is in range about between</div><div class='del'>-	  1.72723e-77 &lt; |d| &lt;= 1.15792e+77 or 0.0.</div><div class='del'>-	  flonum Float value is immediate and their lowest two bits</div><div class='del'>-	  are b10.</div><div class='del'>-	  If flonum is activated, then USE_FLONUM macro is 1.</div><div class='del'>-	  I'll write detailed in this technique on</div><div class='del'>-	  https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Flonum_tech</div><div class='del'>-</div><div class='del'>-	* benchmark/bmx_temp.rb: add an benchmark for simple</div><div class='del'>-	  Float calculation.</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref, rb_obj_id): add flonum Float support.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: move decl of rb_float_new(double)</div><div class='del'>-	  to include/ruby/ruby.h.</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, vm_insnhelper.c: add flonum optimization</div><div class='del'>-	  and simplify source code.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (FLONUM_2_P): added.</div><div class='del'>-</div><div class='del'>-	* marshal.c: support flonum output.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_float_new_in_heap): added.</div><div class='del'>-</div><div class='del'>-	* parse.y: support flonum.</div><div class='del'>-</div><div class='del'>-	* random.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 16:12:40 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): add dependency to header files when</div><div class='del'>-	  depend files don't exist.  now we can remove simple (and often</div><div class='del'>-	  wrong) depend files in most cases.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 16:02:20 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/depend: add dependency to $(ruby_headers).</div><div class='del'>-</div><div class='del'>-Thu Aug 23 12:51:39 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokesuper): reverted r36640 partially to make super</div><div class='del'>-	  in a thread work correctly. [ruby-core:47284] [Bug #6907]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: related test.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 12:30:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: support --with(out)?-ext(ensions) options.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 11:52:04 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fixing Haiku build.</div><div class='del'>-	  - -lbe is not required for linking</div><div class='del'>-	  - stack protector doesn't work for now because of the default gcc's</div><div class='del'>-	    bug</div><div class='del'>-	  by Takashi Toyoshima &lt;toyoshim@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/167</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): haiku doesn't have SIGBUS.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 11:32:44 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_open-uri.rb (TestOpenURI#test_read_timeout): this</div><div class='del'>-	  test expects that the server thread will be killed in sleep, but 0.01</div><div class='del'>-	  sec is too short to reach there.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 10:49:28 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use the value of --with-opt-dir on building ruby</div><div class='del'>-	  itself. [ruby-dev:46064] [Bug #6900]</div><div class='del'>-</div><div class='del'>-Thu Aug 23 10:36:35 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ID_H_TARGET): revert a part of r36724 and r36751.  they</div><div class='del'>-	  break mswin build from clean source.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 02:37:35 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck: removed. Fixes [ruby-core:43360]</div><div class='del'>-</div><div class='del'>-	* test/syck: removed.</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: only require psych, show a warning if people try to set</div><div class='del'>-	  the engine to syck.</div><div class='del'>-</div><div class='del'>-Thu Aug 23 01:46:53 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: search up the cf stack for an object that is an instance</div><div class='del'>-	  of the recipient class.  Fixes [ruby-core:47186]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 19:46:24 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:47266].</div><div class='del'>-</div><div class='del'>-Wed Aug 22 19:41:19 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:47226].</div><div class='del'>-</div><div class='del'>-Wed Aug 22 16:57:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): extract least ruby headers list as</div><div class='del'>-	  ruby_headers, so depend files can use default dependency</div><div class='del'>-	  explicitly.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 15:27:50 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setup_method): fix last commit of</div><div class='del'>-	  vm_insnhelper.c (r36771). [ruby-dev:46065] [Bug #6901]</div><div class='del'>-	  Should not disable tail call opt on FINISH_FRAME.</div><div class='del'>-	  This flag should be propagated correctly.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 14:05:23 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: support TracePoint. [ruby-trunk - Feature #6895]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_binding_new_with_cfp): add an internal function.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_control_frame_id_and_class): add an internal function.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: add rb_add_event_hook2() and rb_thread_add_event_hook2().</div><div class='del'>-	  Give us the good name for them!</div><div class='del'>-</div><div class='del'>-Wed Aug 22 11:38:16 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (before_script): Turned out that make -j is broken.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 11:23:35 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setup_method): should not enable tail call</div><div class='del'>-	  optimization for frames with VM_FRAME_FLAG_FINISH.</div><div class='del'>-	  [ruby-dev:46065] [Bug #6901]</div><div class='del'>-</div><div class='del'>-Wed Aug 22 11:20:47 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: run test with psych if exist.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 12:09:51 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c (init_loadpath): Pushes the correct load path on</div><div class='del'>-	  other architectures than x86_64. Fixes #6873.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 19:37:33 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_shutdown): shutdown(2) has a dummy</div><div class='del'>-	  implementation but has no declaration and does not work in</div><div class='del'>-	  NativeClient SDK pepper_20.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 19:29:29 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (vm_backtrace.o): Added missing dependencies.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/depend (nkf.o): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (ripper.o) ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 22 07:27:00 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI.escapeHTML): use &amp;#39;</div><div class='del'>-	  [ruby-core:47221] [Bug #6861]</div><div class='del'>-</div><div class='del'>-Tue Aug 21 21:59:22 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb: fix typo. https://github.com/ruby/ruby/pull/162 by</div><div class='del'>-	  unsymbol (Philip Cunningham).</div><div class='del'>-</div><div class='del'>-Tue Aug 21 20:30:06 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#teardown):</div><div class='del'>-	  do not assume cwd is TMPROOT and never remove current directory.</div><div class='del'>-	  [ruby-core:47224][Bug #6884]</div><div class='del'>-</div><div class='del'>-Tue Aug 21 17:29:56 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): need check and cast of the file size of</div><div class='del'>-	  target binary because there are some platforms which off_t &gt; size_t.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 17:07:58 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (compiler): [experimental] clang support.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 15:44:27 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function#bind): fixes an error in</div><div class='del'>-	  test/dl/test_import.rb (DL::TestImport#test_carried_function)</div><div class='del'>-	  introduced by r36718.</div><div class='del'>-	  the instance of the anonymous class which wraps the block should have</div><div class='del'>-	  same methods and instance variables of self.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 14:29:22 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (scriptbin.mk): no need to include twice.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 10:52:08 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/unit/test.rb (Test::Unit::ProxyError): new exception class to</div><div class='del'>-	  wrap exceptions raised in workers in parallel test mode.</div><div class='del'>-</div><div class='del'>-	* test/unit/parallel.rb (Test::Unit::Worker#puke): use above wrapper</div><div class='del'>-	  exception.</div><div class='del'>-	  [Bug #6882] [ruby-dev:46054]</div><div class='del'>-</div><div class='del'>-Tue Aug 21 10:40:06 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test_continuation.rb (tracing_with_thread_set_trace_func):</div><div class='del'>-	  fix to use Thread#set_trace_func(nil), not set_trace_func(nil).</div><div class='del'>-</div><div class='del'>-Tue Aug 21 09:32:41 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 3.3.0 (r7676)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Tue Aug 21 09:05:32 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_forth.rb: added a test case</div><div class='del'>-	  which causes an error.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb: follow above change.</div><div class='del'>-	  see [Bug #6882]</div><div class='del'>-</div><div class='del'>-Tue Aug 21 05:43:00 2012  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Fixes #161 on github</div><div class='del'>-	* lib/csv.rb: You can now specify a pattern for :skip_lines.</div><div class='del'>-	  Matching lines will not be passed to the CSV parser.</div><div class='del'>-	* lib/csv.rb: Patch by Christian Schwartz.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 05:25:41 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): Forgot to update output for or'd-options</div><div class='del'>-	  example.</div><div class='del'>-</div><div class='del'>-Tue Aug 21 05:18:03 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): Update example to show that regexp</div><div class='del'>-	  options use | an not || to avoid confusion.</div><div class='del'>-</div><div class='del'>-Mon Aug 20 23:02:27 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: more descriptive token names in syntax error messages.</div><div class='del'>-</div><div class='del'>-Mon Aug 20 20:36:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): follow iclasses as klass in cfp</div><div class='del'>-	  but not included modules.  [ruby-core:47241] [Bug #6891]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_bmethod): pass defined_class to follow</div><div class='del'>-	  proper ancestors.  [ruby-core:47241] [Bug #6891]</div><div class='del'>-</div><div class='del'>-Mon Aug 20 11:40:27 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix failed to make with -j2.</div><div class='del'>-	  https://gist.github.com/3397935</div><div class='del'>-</div><div class='del'>-Mon Aug 20 10:51:01 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb, lib/test/unit/parallel.rb:</div><div class='del'>-	  generate error message (String) in parallel.rb instead of</div><div class='del'>-	  marshalling Exception. Fixes [Bug #6882] [ruby-dev:46054]</div><div class='del'>-</div><div class='del'>-Sun Aug 19 01:24:32 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: fix docs. https://github.com/ruby/ruby/pull/129 by</div><div class='del'>-	  richardkmichael (Richard Michael).</div><div class='del'>-</div><div class='del'>-Sun Aug 19 00:47:26 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: fix typo.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/155 by simonc (Simon COURTOIS).</div><div class='del'>-</div><div class='del'>-Sat Aug 18 09:57:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: fix inplace-build condition.  enc.mk is generated with</div><div class='del'>-	  setting $srcdir to enc, but pwd is still top build directory.</div><div class='del'>-	  [ruby-core:47236] [Bug #6888]</div><div class='del'>-</div><div class='del'>-Fri Aug 17 23:28:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_any_to_s, rb_obj_inspect): preserve encodings of class</div><div class='del'>-	  name and instance variable names.</div><div class='del'>-</div><div class='del'>-Fri Aug 17 12:39:33 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function#bind): allow to return/break from</div><div class='del'>-	  the callback method. (Fiddle already allows it.)</div><div class='del'>-	  [Bug #6389] [ruby-dev:45604]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 19:54:24 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c, vm_core.h: simplify tracing mechanism.</div><div class='del'>-</div><div class='del'>-	  (1) add rb_hook_list_t data structure which includes</div><div class='del'>-	      hooks, events (flag) and `need_clean' flag.</div><div class='del'>-	      If the last flag is true, then clean the hooks list.</div><div class='del'>-	      In other words, deleted hooks are contained by `hooks'.</div><div class='del'>-	      Cleanup process should run before traversing the list.</div><div class='del'>-	  (2) Change check mechanism</div><div class='del'>-	      See EXEC_EVENT_HOOK() in vm_core.h.</div><div class='del'>-	  (3) Add `raw' hooks APIs</div><div class='del'>-	      Normal hooks are guarded from exception by rb_protect().</div><div class='del'>-	      However, this protection is overhead for too simple</div><div class='del'>-	      functions which never cause exceptions.  `raw' hooks</div><div class='del'>-	      are executed without protection and faster.</div><div class='del'>-	      Now, we only provide registration APIs.  All `raw'</div><div class='del'>-	      hooks are kicked under protection (same as normal hooks).</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: remove internal data definition and</div><div class='del'>-	  macros.</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_suppress_tracing), vm_trace.c: rename</div><div class='del'>-	  ruby_suppress_tracing() to rb_suppress_tracing()</div><div class='del'>-	  and remove unused function parameter.</div><div class='del'>-</div><div class='del'>-	* parse.y: fix to use renamed rb_suppress_tracing().</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): no need to set RUBY_VM_VM.</div><div class='del'>-</div><div class='del'>-	* vm.c (mark_event_hooks): move definition to vm_trace.c.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_event_flags): add a global variable.</div><div class='del'>-	  This global variable represents all of Threads and VM's</div><div class='del'>-	  event masks (T1#events | T2#events | ... | VM#events).</div><div class='del'>-	  You can check the possibility kick trace func or not</div><div class='del'>-	  with ruby_vm_event_flags.</div><div class='del'>-	  ruby_vm_event_flags is maintained by vm_trace.c.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_switch, rb_cont_call): restore tracing status.</div><div class='del'>-	  [Feature #4347]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 16 19:15:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_initialize): forbid inheriting uninitialized</div><div class='del'>-	  class.  another class tree not based on BasicObject cannot exist.</div><div class='del'>-	  [ruby-core:47148][Bug #6863]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 11:52:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use</div><div class='del'>-	  plain object so that the results of to_s and inspect are infected.</div><div class='del'>-	  [ruby-dev:46053] [Bug #6881]</div><div class='del'>-</div><div class='del'>-Thu Aug 16 09:46:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c: remove unnecessary macros to check traditional C.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/46 by lateau (Daehyub Kim).</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c: remove K&amp;R.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 20:47:49 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s. A class</div><div class='del'>-	  can now benefit from the nice default #inspect even if it defines #to_s.</div><div class='del'>-	  Also, there is no more unexpected change in #inspect result.</div><div class='del'>-</div><div class='del'>-	* NEWS: Add note about the change.</div><div class='del'>-</div><div class='del'>-	* bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*):</div><div class='del'>-	  Adapt internal structures (by aliasing #inspect to #to_s) so they</div><div class='del'>-	  don't rely on the removed behavior (#inspect calling overridden #to_s).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect</div><div class='del'>-	  no more does (mame).</div><div class='del'>-</div><div class='del'>-	* test/test_pp.rb (class PPInspectTest): remove related assertion (mame).</div><div class='del'>-	  [ruby-core:43238][Feature #6130]</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (DRbCore#teardown, DRbAry#teardown):</div><div class='del'>-	  adapt DRb tests with the new change (shirosaki).</div><div class='del'>-	  [ruby-core:47182][Bug #6866]</div><div class='del'>-</div><div class='del'>-Wed Aug 15 18:05:37 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#failed): need to delete the</div><div class='del'>-	  status line if the status is skipped and -q is specified.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 16:26:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvextra): the result should be infected by the</div><div class='del'>-	  given strings.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvwrite): set buffer length and exclude</div><div class='del'>-	  uninitialized garbage to get correct coderange.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 16:20:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ID_H_TARGET): make timestamp file of id.h so that the</div><div class='del'>-	  header will not be remade repetitively.</div><div class='del'>-</div><div class='del'>-Wed Aug 15 11:39:53 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: separate trace_func related functions from</div><div class='del'>-	  thread.c.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk: add vm_trace.o.</div><div class='del'>-</div><div class='del'>-	* inits.c: call Init_vm_trace().</div><div class='del'>-</div><div class='del'>-Tue Aug 14 16:25:46 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb (test_html_escape): add assertions for the</div><div class='del'>-	  cases where the argument is not a String.</div><div class='del'>-</div><div class='del'>-Tue Aug 14 16:03:31 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (check_valid_dir): reject "..." as directory name.</div><div class='del'>-	  [Bug #6851]</div><div class='del'>-</div><div class='del'>-Tue Aug 14 16:02:51 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb</div><div class='del'>-	  (TestFileExhaustive#test_stat_dotted_prefix): added.</div><div class='del'>-</div><div class='del'>-Tue Aug 14 15:39:09 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb</div><div class='del'>-	  (TestFileExhaustive#test_stat_drive_root): added.</div><div class='del'>-</div><div class='del'>-Tue Aug 14 10:38:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Util.html_escape): fix r36687: call to_s before</div><div class='del'>-	  passing it to CGI.escapeHTML.</div><div class='del'>-</div><div class='del'>-Mon Aug 13 13:13:19 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Util.html_escape): use CGI.escapeHTML to escape</div><div class='del'>-	  single quotes. [ruby-core:47138] [Bug #6861]</div><div class='del'>-</div><div class='del'>-Sun Aug 12 11:57:20 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): fix unintentional block passing.</div><div class='del'>-	  [ruby-dev:45071] [Bug #5832]</div><div class='del'>-</div><div class='del'>-Fri Aug 10 08:41:28 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_malloc_allocated_size):  RDoc does not process macros, so</div><div class='del'>-	  mention this method is only available when ruby is built with</div><div class='del'>-	  CALC_EXACT_MALLOC_SIZE</div><div class='del'>-	* gc.c (gc_malloc_allocations):  ditto</div><div class='del'>-</div><div class='del'>-Thu Aug  9 23:46:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkrunnable.rb: see build_os instead of target arch for</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-	* configure.in (MINIRUBY): use real path for include path.</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in (builddir): remove duplications</div><div class='del'>-</div><div class='del'>-Thu Aug  9 20:03:11 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb</div><div class='del'>-	  (TestFileExhaustive#test_stat_special_file): add a test.</div><div class='del'>-	  GetFileAttributesExW fails to get attributes of special files</div><div class='del'>-	  such as pagefile.sys.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (check_valid_dir): for performance, check the path</div><div class='del'>-	  by FindFirstFileW only if the path contains "..."</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (winnt_stat): use GetFileAttributesExW instead of</div><div class='del'>-	  FindFirstFileW since GetFileAttributesExW is faster.</div><div class='del'>-	  Based on the patch by Dusan D. Majkic.</div><div class='del'>-	  [ruby-core:47083] [Feature #6845]</div><div class='del'>-</div><div class='del'>-Thu Aug  9 18:33:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): show version only once even if -v and</div><div class='del'>-	  --version are given together.</div><div class='del'>-	  http://twitter.com/d6rkaiz/status/233491797085671424</div><div class='del'>-</div><div class='del'>-Thu Aug  9 12:37:22 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_config.rb (OpenSSL#test_constants): skip this</div><div class='del'>-	  test if platform is Mac OS X or Windows. [Bug #6830]</div><div class='del'>-</div><div class='del'>-Wed Aug  8 22:51:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_under): singletons other than special constants</div><div class='del'>-	  don't need cref-scope hack.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 22:45:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (.y.h): split from .y.c rule to manage dependency on</div><div class='del'>-	  parse.h.  [ruby-core:46741] [Bug #6789]</div><div class='del'>-</div><div class='del'>-	* common.mk (id.h): keep old file unless changed.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 17:11:20 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ADD_INSNL): make ADD_INSNL as alias of ADD_INSN1.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 17:08:14 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstrap/test_exception.rb: fix a last committed test.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 16:27:58 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def (checkmatch):</div><div class='del'>-	  remove checkincludearray instruction and</div><div class='del'>-	  add new instruction checkmatch.</div><div class='del'>-	  This change is to solve</div><div class='del'>-	  [Bug #4438] "rescue args type check omitted".</div><div class='del'>-</div><div class='del'>-	* iseq.c: increment ISEQ_MAJOR_VERSION because removal of</div><div class='del'>-	  checkincludearray instruction.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add several definitions for</div><div class='del'>-	  the checkmatch instruction.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (check_match): added.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_exception.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug  8 05:51:20 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_clone):  Added documentation.  Patch by Robin Dupret.</div><div class='del'>-	  Fixes #152 on github.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 20:19:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): rl_catch_signals=0 returns</div><div class='del'>-	  back. Without this, on FreeBSD9 and readline 6.2 irb can't catch ^C.</div><div class='del'>-	  [Bug #5423]</div><div class='del'>-</div><div class='del'>-Tue Aug  7 20:12:39 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c, insns.def (leave): solve problems on</div><div class='del'>-	  OPT_CALL_THREADED_CODE.</div><div class='del'>-	  Catch up finish frame structure on OPT_CALL_THREADED_CODE.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add rb_thread_t#retval for temporary space on</div><div class='del'>-	  OPT_CALL_THREADED_CODE.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init): clear rb_thread_t#retval as Qundef.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_debug_print_pre): fix debug print format.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 11:58:27 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_twice): added.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 11:35:37 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_redefine_opt_method): use RCLASS_ORIGIN to avoid</div><div class='del'>-	  SEGV when a module-prepended class is refined.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 10:46:37 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb</div><div class='del'>-	  (TestFileExhaustive#test_expand_path*): refactoring.  split the method</div><div class='del'>-	  into some chunks of the same kind of tests.</div><div class='del'>-</div><div class='del'>-Tue Aug  7 00:31:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_special_singleton_class_of): utility function.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_under): special deal for class variable scope with</div><div class='del'>-	  instance_eval.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow method</div><div class='del'>-	  definition in instance_eval of special constants.  [ruby-core:28324]</div><div class='del'>-	  [Bug #2788]</div><div class='del'>-</div><div class='del'>-Tue Aug  7 00:23:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (CVAR_LOOKUP): split into helper functions.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 19:15:11 2012  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: setting WIN32OLE.locale</div><div class='del'>-	  to pass some assertion.  Thanks to Hiroshi Shirosaki.</div><div class='del'>-	  [ruby-core:46873][Bug #6814]</div><div class='del'>-</div><div class='del'>-Mon Aug  6 15:54:50 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h, class.c, eval.c, insns.def: find the appropriate</div><div class='del'>-	  receiver for super called in instance_eval.  If such a receiver is</div><div class='del'>-	  not found, raise NoMethodError. [ruby-dev:39772] [Bug #2402]</div><div class='del'>-</div><div class='del'>-Mon Aug  6 14:54:38 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, eval.c, vm_insnhelper.c: fix typo.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 13:13:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call_super): since cfp-&gt;klass is always class or</div><div class='del'>-	  iclass, no search from method entry.</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): now should use klass in the current control</div><div class='del'>-	  frame to search superclass, not me-&gt;klass.  reported by naruse.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 11:19:19 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/etc/test_etc.rb (TestEtc#test_getpwuid): `s' is never set to nil.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 11:08:48 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/syslog/test_syslog_logger.rb: skip unless Syslog module is</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 00:40:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_log): fix format specifier.</div><div class='del'>-</div><div class='del'>-Mon Aug  6 00:39:24 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2ULONG): optimize by inline as well as</div><div class='del'>-	  NUM2LONG, and cast to unsigned long explicitly for the platforms</div><div class='del'>-	  where SIZEOF_VALUE is larger than SIZEOF_LONG.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (NUM2SSIZET): fix type to cast.</div><div class='del'>-</div><div class='del'>-Sun Aug  5 21:10:36 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : if ENABLE_VM_OBJSPACE is 1, rest_sweep is not defined.</div><div class='del'>-	  remove unused declarations. [ruby-core:47004] [Bug #6837]</div><div class='del'>-</div><div class='del'>-Sun Aug  5 19:31:57 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: just move functions and so on. I don't touch any internal</div><div class='del'>-	  implementation.</div><div class='del'>-</div><div class='del'>-Sun Aug  5 13:22:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use gcc-4.2 prior to clang, gcc, and cc if exist for</div><div class='del'>-	  the use of Snow Leopard's old clang. see also r36594, r36610, r36611.</div><div class='del'>-</div><div class='del'>-Sun Aug  5 06:55:10 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_{core,strftime}.c: [ruby-core:46990].</div><div class='del'>-</div><div class='del'>-Sat Aug  4 22:56:20 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use inline functions instead of macros, and close up</div><div class='del'>-	  related codes for the profiler.</div><div class='del'>-</div><div class='del'>-Sat Aug  4 20:37:56 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): use gc_mark_ptr instead of marking</div><div class='del'>-	  a object directly.</div><div class='del'>-</div><div class='del'>-Sat Aug  4 10:02:03 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb (test_super_in_aliased_module_method):</div><div class='del'>-	  add a test case for [ruby-dev:46028], which fails in 1.8.</div><div class='del'>-</div><div class='del'>-Sat Aug  4 01:56:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_normal_superclass): no longer needs</div><div class='del'>-	  receiver, klass is always unique in the ancestors now.</div><div class='del'>-</div><div class='del'>-Sat Aug  4 01:27:40 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokesuper): reverted r36612 so that super in an</div><div class='del'>-	  aliased method will not call the same method.</div><div class='del'>-</div><div class='del'>-Fri Aug  3 19:26:10 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (invokesuper): don't skip the same class.  instead, use</div><div class='del'>-	  rb_method_entry_get_with_omod() to avoid infinite loop when</div><div class='del'>-	  super is used with refinements. [ruby-core:30450] [Bug #3351]</div><div class='del'>-</div><div class='del'>-Fri Aug  3 19:21:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use clang prior to gcc only when self-compiling on</div><div class='del'>-	  darwin.  search default compilers on other platforms.  [Bug #6816]</div><div class='del'>-</div><div class='del'>-Fri Aug  3 17:25:49 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: move RUBY_MINGW32 after AC_PROG_CC.</div><div class='del'>-	  RUBY_MINGW32 uses AC_TRY_CPP and it sets CC and CPP. [Bug #6816]</div><div class='del'>-</div><div class='del'>-	* configure.in: don't use AC_PROG_CC in AS_CASE.</div><div class='del'>-</div><div class='del'>-Fri Aug  3 17:21:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: get rid of loading previously installed gems.</div><div class='del'>-	  [ruby-dev:46025]</div><div class='del'>-</div><div class='del'>-Fri Aug  3 16:40:01 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (notifications): [experimental] IRC notifications.</div><div class='del'>-</div><div class='del'>-Thu Aug  2 20:32:29 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_using): new method Module#using. [experimental]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): new method Module#refine. [experimental]</div><div class='del'>-</div><div class='del'>-	* eval.c (f_using): new method Kernel#using. [experimental]</div><div class='del'>-</div><div class='del'>-Thu Aug  2 20:08:02 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, insns.def, method.h, proc.c, vm.c, vm_core.h, vm_eval.c,</div><div class='del'>-	  vm_insnhelper.c, vm_insnhelper.h, vm_method.c: add klass to</div><div class='del'>-	  rb_control_frame_t to implement super correctly.</div><div class='del'>-</div><div class='del'>-Thu Aug  2 13:23:08 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_PROG_CC): AC_PROG_CC tries clang at first on</div><div class='del'>-	  darwin. [Bug #6816]</div><div class='del'>-</div><div class='del'>-Thu Aug  2 11:39:25 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: return true or false. Patch by Dirkjan Bussink. [Bug #6821]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add test-case for this bug.</div><div class='del'>-</div><div class='del'>-Thu Aug  2 10:51:12 2012  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/digest.rb</div><div class='del'>-	  test/openssl/test_digest.rb: Add Digest module function to OpenSSL</div><div class='del'>-	  module and test it. Patch provided by Eric Hodel.</div><div class='del'>-	  [ruby-core:46908][Feature #6819]</div><div class='del'>-</div><div class='del'>-Wed Aug  1 22:29:12 2012  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (hexencode_str_new): return an ASCII string</div><div class='del'>-</div><div class='del'>-	* test/digest: tests for all kind of digests encodings</div><div class='del'>-	  [ruby-core:46792][Bug #6799]</div><div class='del'>-</div><div class='del'>-Wed Aug  1 05:50:53 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding):</div><div class='del'>-	  Fix test_encoding failure on Windows.</div><div class='del'>-	  With chcp 65001, 1252 and 437, test_encoding failed. Test result</div><div class='del'>-	  depends on locale because LANG environment variable doesn't affect</div><div class='del'>-	  locale on Windows.</div><div class='del'>-	  [ruby-core:46872] [Bug #6813]</div><div class='del'>-</div><div class='del'>-Wed Aug  1 00:33:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (include_class_new): fix duplication of prepended module.</div><div class='del'>-	  since m_tbl of prepended module is always zero, copy from its</div><div class='del'>-	  copy iclass of original.</div><div class='del'>-</div><div class='del'>-Tue Jul 31 18:22:34 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): tell if found name is permanent.  search</div><div class='del'>-	  tmp_classpath only if class id is set.  [ruby-core:42865][Bug #6078]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class_path): duplicate found temporary path.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_set_class_path_string, rb_set_class_path): set class</div><div class='del'>-	  id to find classpath.</div><div class='del'>-</div><div class='del'>-Tue Jul 31 10:36:12 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: updated to released version.</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Tue Jul 31 06:18:06 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_sec):  Remove extra wording about leap seconds and refer</div><div class='del'>-	  directly to Wikipedia's leap second page for further information.</div><div class='del'>-	  [Bug #6749]</div><div class='del'>-</div><div class='del'>-Mon Jul 30 23:01:47 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/platform.rb (Gem::Platform#initialize): Support pattern</div><div class='del'>-	  like x86_64-netbsd6.99.7.</div><div class='del'>-</div><div class='del'>-Mon Jul 30 21:00:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (find_class_path): no retry when preferred is given.</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): if classid is set try it to find full</div><div class='del'>-	  qualified class path, and then try arbitrary class path.  try</div><div class='del'>-	  tmp_classpath at last even if enclosing namespace is anonymous.</div><div class='del'>-	  fix r36574.  [ruby-core:42865][Bug #6078]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_set_class_path_string, rb_set_class_path): set</div><div class='del'>-	  tmp_classpath instead of classpath if the name is not permanent.</div><div class='del'>-</div><div class='del'>-Mon Jul 30 14:24:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: store anonymous class path in tmp_classpath but not in</div><div class='del'>-	  classpath.  [ruby-core:42865][Bug #6078]</div><div class='del'>-</div><div class='del'>-Mon Jul 30 13:11:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): on Darwin, deprecate -flat_namespace to get</div><div class='del'>-	  rid of huge imported symbols table.</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_RELATIVE): libruby_so is not made when</div><div class='del'>-	  disable-shared, so no absolute path is used for it and executable</div><div class='del'>-	  file is runnable anywhere.</div><div class='del'>-</div><div class='del'>-Mon Jul 30 01:30:10 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add a dependency. [ruby-core:46741] [Bug #6789]</div><div class='del'>-</div><div class='del'>-Sun Jul 29 15:44:47 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core): hide th-&gt;async_errinfo_mask_stack from</div><div class='del'>-	  ObjectSpace.each_object. refix of r36539.</div><div class='del'>-</div><div class='del'>-Sun Jul 29 23:57:27 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inet_ntop): use rb_w32_inet_ntop, instead of</div><div class='del'>-	  inet_ntop directly, which is unavailable on older version Windows.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_inet_ntop): type should be const.</div><div class='del'>-</div><div class='del'>-Sun Jul 29 14:20:34 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (Init_Thread): does not need to set klass</div><div class='del'>-	  explicitly.</div><div class='del'>-</div><div class='del'>-Sun Jul 29 06:21:04 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: suppress warning redeclared on mingw64.</div><div class='del'>-	  *_s functions are declared if MINGW_HAS_SECURE_API is defined.</div><div class='del'>-	  Follow up r36556.</div><div class='del'>-</div><div class='del'>-Sun Jul 29 00:28:46 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove unused initialization.</div><div class='del'>-</div><div class='del'>-Sat Jul 28 16:26:09 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gmtime_r): use _gmtime64_s() with x86_64-w64-mingw32.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (localtime_r): use _localtime64_s() with</div><div class='del'>-	  x86_64-w64-mingw32. Since FileTimeToSystemTime() seems not work with</div><div class='del'>-	  large value under x64. Mingw-w64 doesn't have these declaration.</div><div class='del'>-	  [ruby-core:46780] [Bug #6794]</div><div class='del'>-</div><div class='del'>-Fri Jul 27 18:25:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_check_io): make public.</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect): try conversion to IO on redirect</div><div class='del'>-	  parameters.  [ruby-core:44181] [Bug #6269]</div><div class='del'>-</div><div class='del'>-Fri Jul 27 17:58:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CPPOUTFILE): get rid of variable conflict so</div><div class='del'>-	  CPPFLAGS is not duplicated.  [ruby-core:43097] [Bug #6119]</div><div class='del'>-</div><div class='del'>-Fri Jul 27 12:12:36 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb: should not export DllMain().</div><div class='del'>-	  reported by luis at [ruby-core:46743] [Bug #6790], solved by</div><div class='del'>-	  Heesob Park, and confirmed by nobu.</div><div class='del'>-</div><div class='del'>-Thu Jul 26 14:51:29 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb (TestNetHTTPS#test_session_reuse):</div><div class='del'>-	  localhost is not (always) 127.0.0.1.  Don't expect that.</div><div class='del'>-</div><div class='del'>-Thu Jul 26 07:18:38 2012    &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/fbuffer/fbuffer.h: avoid compilation error on AIX by</div><div class='del'>-	   -ansi -std=iso9899:199409 (r36038). [ruby-core:46744] [Bug #6791].</div><div class='del'>-</div><div class='del'>-Thu Jul 26 00:42:23 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_create_core, Init_Thread): hide</div><div class='del'>-	  th-&gt;async_errinfo_queue and th-&gt;async_errinfo_mask_stack from</div><div class='del'>-	  ObjectSpace.each_object.</div><div class='del'>-</div><div class='del'>-Wed Jul 25 17:41:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c: compatible marshal loader for compatibilities</div><div class='del'>-	  with 1.8.  [ruby-core:45775] [Bug #6625]</div><div class='del'>-</div><div class='del'>-Wed Jul 25 17:17:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h: prefer GCC atomic builtins than Windows APIs, if possible,</div><div class='del'>-	  since they are generic.</div><div class='del'>-</div><div class='del'>-Wed Jul 25 11:16:57 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/.document:  Removed.  All files in net/ should be included in</div><div class='del'>-	  RDoc.</div><div class='del'>-</div><div class='del'>-Wed Jul 25 10:00:23 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_redefinition.rb: broken class/method names.</div><div class='del'>-</div><div class='del'>-Wed Jul 25 09:26:32 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/html.rb: Use &lt;&lt; instead of +=.</div><div class='del'>-	  `a += b` is syntax sugar of `a = a + b`; it creates a new string</div><div class='del'>-	  object. `a &lt;&lt; b` is concatenation and doesn't create new object.</div><div class='del'>-</div><div class='del'>-Wed Jul 25 09:16:26 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/html.rb (element_init): suppress redefine warning.</div><div class='del'>-	  Don't define methods if they are already defined.</div><div class='del'>-</div><div class='del'>-Wed Jul 25 09:05:38 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Added SSL session reuse across connections for a</div><div class='del'>-	  single instance to speed up connection.  [Feature #5341]</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-	* test/net/http/test_https.rb:  Tests for #5341</div><div class='del'>-</div><div class='del'>-Wed Jul 25 06:54:24 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc:  Fix spelling</div><div class='del'>-</div><div class='del'>-Wed Jul 25 06:49:12 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_last_match):  Update $~ to reference Regexp</div><div class='del'>-	  documentation about "special global variables".  [Bug #6723]</div><div class='del'>-</div><div class='del'>-Wed Jul 25 06:28:56 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c:  Added documentation.  Patch by David Albert.  [Bug #6785]</div><div class='del'>-</div><div class='del'>-Wed Jul 25 03:05:06 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: added symbols and qsymbols productions for %i and %I</div><div class='del'>-	  support. %i{ .. } returns a list of symbols without interpolation,</div><div class='del'>-	  %I{ .. } returns a list of symbols with interpolation.  Thanks to</div><div class='del'>-	  Josh Susser for inspiration of this feature. [Feature #4985]</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c: added ripper events for %i and %I.</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_parser_events.rb: ripper tests</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_scanner_events.rb: ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: test for %i and %I behavior</div><div class='del'>-</div><div class='del'>-Tue Jul 24 23:34:43 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_pow): add new function.</div><div class='del'>-	  We use powl() instead of broken pow() for x64-mingw32. This workaround</div><div class='del'>-	  fixes test failures related to floating point numeric.</div><div class='del'>-	  [ruby-core:46686] [Bug #6784]</div><div class='del'>-</div><div class='del'>-Tue Jul 24 15:01:24 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_socket, rb_w32_socketpair): remember the family</div><div class='del'>-	  in the high word of socklist value.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (overlapped_socket_io, recvmsg, sendmsg, setfl): follow</div><div class='del'>-	  above changes.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getsockname): set remembered family to the</div><div class='del'>-	  argument when OS's function fails.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 12:35:13 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb: remove a garbage.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb: convert from ascii-8bit to other encoding</div><div class='del'>-	  with 8bit bytes always fails.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 12:32:18 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb: sorry, typo.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 12:13:26 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb: refactoring. RE should be in the left side</div><div class='del'>-	  of the =~ operator, and compare the result with nil is meaningless.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 11:35:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb (test_pack_unpack_M): was redefined</div><div class='del'>-	  accidentally.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 09:31:18 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Updated to RubyGems 1.8.24, a bugfix release.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 08:30:15 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb (create_and_check_raw_file_name): add new</div><div class='del'>-	  helper method to ease encoding testing. Patch by Oleg Sukhodolsky.</div><div class='del'>-	  [ruby-core:46589][Bug #6765]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb (test_filename_extutf8): use filesystem</div><div class='del'>-	  encoding when reading entries and comparing.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_name): removed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_jp_name): split test.</div><div class='del'>-</div><div class='del'>-Tue Jul 24 08:09:30 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_method.rb (is_ruby64?): Correct platform</div><div class='del'>-	  used to identify mingw-w64 (x64-mingw32). Patch by Hiroshi Shirosaki.</div><div class='del'>-	  [ruby-core:46651][Bug #6782]</div><div class='del'>-</div><div class='del'>-Tue Jul 24 07:22:58 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_sec):  Updated description of leap seconds for accuracy.</div><div class='del'>-	  Based on patch by Marcus Stollsteimer.  [Bug #6749]</div><div class='del'>-</div><div class='del'>-Tue Jul 24 07:03:11 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub):  Fixed wording of documentation to match the</div><div class='del'>-	  replacement operation.  Minor cleanup of markup.  [Bug #6719]</div><div class='del'>-	* string.c (rb_str_sub_bang):  Minor wording change for clarity, minor</div><div class='del'>-	  cleanup of markup.</div><div class='del'>-</div><div class='del'>-Mon Jul 23 23:58:40 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (TARGET_NAME, TARGET_ENTRY): needed for EXTDLDFLAGS</div><div class='del'>-	  on some platforms.  [ruby-core:46600] [Bug #6768]</div><div class='del'>-</div><div class='del'>-	* enc/depend: no longer needs tweaking DLDFLAGS for TARGET names.</div><div class='del'>-</div><div class='del'>-Mon Jul 23 22:48:19 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: use respond_to? to test Tempfile.</div><div class='del'>-	  [ruby-dev:45995] [Bug #6781] reported by hsbt (Hiroshi SHIBATA).</div><div class='del'>-</div><div class='del'>-Mon Jul 23 14:43:34 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBPATHENV): LIBPATH is used on AIX, but not</div><div class='del'>-	  SHLIB_PATH which was carelessly copied from HP/UX.  suggested by</div><div class='del'>-	  Perry Smith at [ruby-core:46397].  [Bug #6728]</div><div class='del'>-</div><div class='del'>-Mon Jul 23 01:55:08 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (URI#test_find_proxy): add tests with</div><div class='del'>-	  empty *_proxy env variables.</div><div class='del'>-</div><div class='del'>-Mon Jul 23 01:47:26 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (URI#with_env): unset proxy related env</div><div class='del'>-	  variables.  [Bug #6774]</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (URI#test_find_proxy): fix failures</div><div class='del'>-	  when proxy related env variables already set.  [Bug #6774]</div><div class='del'>-</div><div class='del'>-Sun Jul 22 23:58:48 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common): increase</div><div class='del'>-	  running_time_us on THREAD_TO_KILL like on THREAD_RUNNABLE.</div><div class='del'>-	  This cause not to switch from a thread which is to be killed</div><div class='del'>-	  on FreeBSD and Mac OS X. see also the test.</div><div class='del'>-	  This issue maybe exist for long time but happens after r36430.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 06:21:45 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: fixes for r36476. [Feature #6546]</div><div class='del'>-	 http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120720T030101Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.newobj): return back for compatibility.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.new): set default_port if proxy port is</div><div class='del'>-	  not given.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#proxy?): return true or false.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#proxy_address): check proxy_uri is not nil.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#proxy_port): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 23:12:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): STACK_GROW_DIR_DETECTION is</div><div class='del'>-	  necessary on platforms with unknown stack direction.  [Bug #6761]</div><div class='del'>-</div><div class='del'>-Sat Jul 21 15:13:42 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb (method_added): refactoring.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 14:06:41 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/testcase.rb: warn when test_* method is redefined.</div><div class='del'>-	  Patch by mame (Yusuke Endoh). [Feature #2643] [ruby-core:27790]</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_redefinition.rb: Test for above.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test4test_redefinition.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 21 08:41:14 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb:  Updated example in Logger comment to match other</div><div class='del'>-	  examples and fixed a bug.  Patch by Marcus Stollsteimer.</div><div class='del'>-	  [Bug #6759]</div><div class='del'>-</div><div class='del'>-Fri Jul 20 17:20:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_real): refine error message.</div><div class='del'>-</div><div class='del'>-Fri Jul 20 11:03:17 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS:  Updated net/http for automatic proxy detection (#6546) and</div><div class='del'>-	  automatic gzip and deflate compression (#6492, #6494).</div><div class='del'>-</div><div class='del'>-Fri Jul 20 10:55:38 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Net::HTTP now automatically detects and uses</div><div class='del'>-	  proxies from the environment.  A proxy may also be specified as</div><div class='del'>-	  before.</div><div class='del'>-</div><div class='del'>-	  Net::HTTP::Proxy still creates anonymous classes, but these classes</div><div class='del'>-	  are only used to store configuration information.  When an HTTP</div><div class='del'>-	  instance is created the configuration is now copied.</div><div class='del'>-</div><div class='del'>-	  Additionally, Net::HTTP::ProxyDelta is no longer used by Net::HTTP</div><div class='del'>-</div><div class='del'>-	  [Feature #6546]</div><div class='del'>-	* lib/open-uri.rb:  Moved URI::Generic#find_proxy to uri/generic.</div><div class='del'>-	* lib/uri/generic.rb:  Imported find_proxy from open-uri.</div><div class='del'>-	* test/open-uri/test_open-uri.rb:  Moved proxy-discovery tests to URI.</div><div class='del'>-	* test/uri/test_generic.rb:  Imported proxy-discovery tests from</div><div class='del'>-	  open-uri.</div><div class='del'>-	* test/net/http/test_http.rb:  Added tests for proxy behavior.</div><div class='del'>-</div><div class='del'>-Fri Jul 20 09:34:11 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb:  Ignore IPv6 unique local addresses on OS</div><div class='del'>-	  X (iCloud Back to my Mac addresses) for test_udp_socket since they do</div><div class='del'>-	  not act as loopback addresses.  [Bug #6692]</div><div class='del'>-</div><div class='del'>-Fri Jul 20 09:32:14 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_ipv6_unique_local_p):  Added</div><div class='del'>-	  Addrinfo#ipv6_unique_local? to detect RFC 4193 unique local</div><div class='del'>-	  addresses.  Part of #6692</div><div class='del'>-	* ext/socket/rubysocket.h:  Add IN6_IS_ADDR_UNIQUE_LOCAL macro if</div><div class='del'>-	  missing.</div><div class='del'>-	* test/socket/test_addrinfo.rb:  Test for ipv6_unique_local?</div><div class='del'>-</div><div class='del'>-Fri Jul 20 07:40:32 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb:  Automatically inflate gzip and</div><div class='del'>-	  deflate-encoded response bodies.  [Feature #6942]</div><div class='del'>-	* lib/net/http/generic_request.rb:  Automatically accept gzip and</div><div class='del'>-	  deflate content-encoding for requests.  [Feature #6494]</div><div class='del'>-	* lib/net/http/request.rb:  Updated documentation for #6494.</div><div class='del'>-	* lib/net/http.rb:  Updated documentation for #6492 and #6494, removed</div><div class='del'>-	  Content-Encoding handling now present in Net::HTTPResponse.</div><div class='del'>-	* test/net/http/test_httpresponse.rb:  Tests for #6492</div><div class='del'>-	* test/net/http/test_http_request.rb:  Tests for #6494</div><div class='del'>-	* test/open-uri/test_open-uri.rb (test_content_encoding):  Updated test</div><div class='del'>-	  for automatic content-encoding handling.</div><div class='del'>-</div><div class='del'>-Fri Jul 20 03:42:54 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: use #ifdef, not #if.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 15:08:40 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_s_control_interrupt,</div><div class='del'>-	            rb_thread_s_check_interrupt): added for</div><div class='del'>-	  Thread.control_interrupt and Thread.check_interrupt.</div><div class='del'>-	  See details on rdoc.</div><div class='del'>-	  I'll make an ticket for this feature.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: add a test for Thread.control_interrupt.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_raise): make a new exception object</div><div class='del'>-	  even if argc is 0.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_kill): kill thread immediately if target thread</div><div class='del'>-	  is current thread.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_CHECK_INTS_BLOCKING): added.</div><div class='del'>-	  CHECK_INTS while/after blocking operation.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_CHECK_INTS): require rb_thread_t ptr.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_switch): use replaced RUBY_VM_CHECK_INTS().</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_waitpid): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 22:46:48 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: remove temporally files early.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 15:38:35 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_class_variables): return inherited variables</div><div class='del'>-	  except when the optional argument is set to false.</div><div class='del'>-	  [ruby-dev:44034] [Bug #4971]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_constants): fix typo in documentation.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 14:30:43 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move mark function declarations that should be private.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 14:18:22 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_init_sock): need to update max fd on all</div><div class='del'>-	  platforms.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 14:15:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_gc_mark_threads): remove deprecated function.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 13:28:03 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTPLocalBind#test_bind_to_local*):</div><div class='del'>-	  re-enable the tests because now it's OK on windows.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 13:26:25 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: now enable IPv6 by default on mswin.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 09:33:46 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/emitter.c (initialize): allow a configuration object to be</div><div class='del'>-	  passed to the constructor so that mutation isn't required after</div><div class='del'>-	  instantiation.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/handler.rb: add configuration object</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/emitter.rb: use configuration object if</div><div class='del'>-	  extra configuration is present.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 08:20:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: remove temporally files early.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 07:37:41 2012  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: fixed: can't delete unix domain sockets problem.</div><div class='del'>-</div><div class='del'>-Thu Jul 19 03:41:20 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Added #include &lt;strings.h&gt; for ffs(). Patch by Perry</div><div class='del'>-	  Smith. Thank you. [Bug #6748]</div><div class='del'>-</div><div class='del'>-Thu Jul 19 01:56:02 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_num_zerodiv): Added NORETURN.</div><div class='del'>-	  Patched by Xi Wang. [Bug #6736]</div><div class='del'>-</div><div class='del'>-Wed Jul 18 23:57:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): round down too long uuencode width.  folding</div><div class='del'>-	  width in uuencode format cannot be longer than 63 bytes.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 23:04:18 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_empty_p): fix wrong condition introduced in r36438.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c (fsdbm_empty_p): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 23:08:57 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: remove temporally files early.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 22:43:02 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload.rb: remove temporally files early.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 21:59:46 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb: use temporally directory.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 19:41:19 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_config.rb: remove temporally files early.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 17:45:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_builtin_type_name): map by index.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 16:17:40 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_framework): get rid of separating -framework</div><div class='del'>-	  option and its argument and dealing with the argument as a library</div><div class='del'>-	  or an object name.  if $LDFLAGS were an array...</div><div class='del'>-</div><div class='del'>-Wed Jul 18 16:09:10 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: support PDCurses.  patched by Luis Lavena.</div><div class='del'>-	  [ruby-core:46485] [Feature #6735]</div><div class='del'>-</div><div class='del'>-Wed Jul 18 15:50:25 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): allow an empty grouped expression as the</div><div class='del'>-	  operand of the not operator (e.g., not ()).</div><div class='del'>-	  [ruby-core:45976] [Bug #6674]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): show no warning for a grouped expression</div><div class='del'>-	  as the operand of the not operator (e.g., not (a)) or as an</div><div class='del'>-	  argument of a method call without parentheses (e.g., foo (a)).</div><div class='del'>-	  [ruby-core:39050] [Bug #5214]</div><div class='del'>-</div><div class='del'>-Wed Jul 18 15:33:21 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_without_gvl2): added.</div><div class='del'>-	  it can skip last CHECK_INTS.  See document for more details.</div><div class='del'>-	  Document about it was updated a bit.</div><div class='del'>-</div><div class='del'>-	* include/ruby/thread.h (decl. of rb_thread_call_without_gvl2): added.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_with_gvl): remove "EXPERIMENTAL!"</div><div class='del'>-	  warning from a document.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 14:53:21 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (EXTDLDFLAGS): split options for each extension</div><div class='del'>-	  libraries, and unused in ruby.pc.  [Bug #6734]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#configuration): add EXTDLDFLAGS.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 14:47:23 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: fix last commit miss.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 14:16:51 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_async_errinfo_*): manage async errors queue.</div><div class='del'>-	  Async events such as an exception throwed by Thread#raise,</div><div class='del'>-	  Thread#kill and thread termination (after main thread termination)</div><div class='del'>-	  will be queued to th-&gt;async_errinfo_queue.</div><div class='del'>-	  - clear: clear the queue.</div><div class='del'>-	  - enque: enque err object into queue.</div><div class='del'>-	  - deque: deque err object from queue.</div><div class='del'>-	  - active_p: return 1 if the queue should be checked.</div><div class='del'>-	  rb_thread_t#thrown_errinfo was removed.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add declarations of rb_threadptr_async_errinfo_*.</div><div class='del'>-	  remove rb_thread_t#thrown_errinfo field and</div><div class='del'>-	  add rb_thread_t#async_errinfo_queue (queue body: Array),</div><div class='del'>-	      rb_thread_t#async_errinfo_queue_checked (flag),</div><div class='del'>-	      rb_thread_t#async_errinfo_mask_stack(Array, not used yet).</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): fix a mark function.</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): enque an error.</div><div class='del'>-</div><div class='del'>-	* process.c (after_fork): clear async errinfo queue.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 14:25:55 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: (ditto) bitwise operations are not char.  Apply explicit</div><div class='del'>-	  casts on them.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 12:59:50 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (load_encoding): explicit cast  to suppress  warning.</div><div class='del'>-	  Though the  cast truncates some bits, from  heuristic analysis I</div><div class='del'>-	  believe it is OK to do so here.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 12:55:54 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: Fix Benchmark.benchmark output with an empty</div><div class='del'>-	  caption.  patched by Benoit Daloze. [ruby-core:45719] [Bug #6610]</div><div class='del'>-</div><div class='del'>-Wed Jul 18 10:00:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb:  Added toplevel documentation.  Based on patch by Oscar</div><div class='del'>-	  Del Ben.  [Bug #6743], fixes #146 on github.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 09:33:59 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb (TestWIN32OLE_EVENT): use</div><div class='del'>-	  standard skip method to skip tests.</div><div class='del'>-</div><div class='del'>-Wed Jul 18 09:26:45 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb:  Updated typos and output to match modern Logger</div><div class='del'>-	  output.  Patch by Marcus Stollsteimer.  [Bug #6738]</div><div class='del'>-</div><div class='del'>-Wed Jul 18 07:59:29 2012  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI.escapeHTML,unescapeHTML): Add &amp;apos; for HTML5</div><div class='del'>-	  escaping.</div><div class='del'>-	  [Feature #6620]</div><div class='del'>-</div><div class='del'>-Tue Jul 17 22:17:13 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: call io.close! for Tempfile.</div><div class='del'>-</div><div class='del'>-Tue Jul 17 16:41:32 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_arity): return normal value (not -n-1) if it is not</div><div class='del'>-	  a labmda, or it is a labmda and no arg_opts. [Bug #5694]</div><div class='del'>-</div><div class='del'>-Tue Jul 17 03:56:34 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: strings with YAML anchors</div><div class='del'>-	  are properly referenced. Patched by Joe Rafaniello via Github:</div><div class='del'>-	    https://github.com/tenderlove/psych/pull/69</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto</div><div class='del'>-	* test/psych/test_alias_and_anchor.rb: test for change</div><div class='del'>-</div><div class='del'>-Mon Jul 16 23:20:24 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_float_cmp): use FIXNUM_MIN and FIXNUM_MAX,</div><div class='del'>-	  instead of LONG_MIN and LONG_MAX.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 22:50:41 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): use the exponential form if the integer part</div><div class='del'>-	  is longer than or equal DBL_DIG.</div><div class='del'>-	  [ruby-dev:45960] [ruby-trunk - Bug #6741]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 22:01:00 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: fixed docs. [Bug #6740][ruby-core:46501]</div><div class='del'>-	  patched by Nobuhiro IMAI.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 19:24:01 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_float_eq): new function.</div><div class='del'>-	  (rb_big_eq): use rb_integer_float_eq.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_integer_float_eq): declared.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_eq): use rb_integer_float_eq.</div><div class='del'>-	  (fix_equal): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 19:02:31 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_float_cmp): rename a local variable.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 18:40:26 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_float_cmp): renamed from rb_big_float_cmp.</div><div class='del'>-</div><div class='del'>-	* internal.h: follow the above change.</div><div class='del'>-</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 17:57:54 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_float_cmp): compare an integer and float precisely.</div><div class='del'>-	  [ruby-core:31376] [Bug #3589] reported by Tomasz Wegrzanowski.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 17:29:45 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_float_cmp): support fixnum for argument x.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_equal): use rb_big_float_cmp.</div><div class='del'>-	  (fix_cmp): ditto.</div><div class='del'>-	  (fix_gt): ditto.</div><div class='del'>-	  (fix_ge): ditto.</div><div class='del'>-	  (fix_lt): ditto.</div><div class='del'>-	  (fix_le): ditto.</div><div class='del'>-	  (flo_eq): ditto.</div><div class='del'>-	  (flo_cmp): use rb_big_float_cmp for fixnum argument.</div><div class='del'>-	  (flo_gt): ditto.</div><div class='del'>-	  (flo_ge): ditto.</div><div class='del'>-	  (flo_lt): ditto.</div><div class='del'>-	  (flo_le): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 17:05:53 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add test for FileUtils#uptodate?</div><div class='del'>-</div><div class='del'>-Mon Jul 16 16:56:12 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils.uptodate?): remove useless parameter.</div><div class='del'>-	  patched by Oscar Del Ben.[Bug #6708][ruby-core:46256]</div><div class='del'>-</div><div class='del'>-Mon Jul 16 15:37:56 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): use rb_big_float_cmp.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 15:00:45 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_float_cmp): declared.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_float_cmp): extracted from rb_big_cmp and big_op.</div><div class='del'>-	  (rb_big_cmp): use rb_big_float_cmp.</div><div class='del'>-	  (big_op): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): use rb_big_float_cmp.</div><div class='del'>-	  (flo_gt): ditto.</div><div class='del'>-	  (flo_ge): ditto.</div><div class='del'>-	  (flo_lt): ditto.</div><div class='del'>-	  (flo_le): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 16 14:14:21 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (enum big_op_t): new type.</div><div class='del'>-	  (big_op): use enum big_op_t.</div><div class='del'>-	  (big_gt): ditto.</div><div class='del'>-	  (big_ge): ditto.</div><div class='del'>-	  (big_lt): ditto.</div><div class='del'>-	  (big_le): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 14 18:18:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_get_values_at): fill with nil out of range.</div><div class='del'>-	  [ruby-core:43678] [Bug #6203]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 17:17:55 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_0): improve docs. [Bug #6706][ruby-core:46243]</div><div class='del'>-	  patched by Oscar Del Ben via https://github.com/ruby/ruby/pull/140</div><div class='del'>-</div><div class='del'>-Sat Jul 14 17:08:13 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): raise an exception, when input elements</div><div class='del'>-	  are not one or two elements arrays.  [ruby-core:39945] [Bug #5406]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 16:16:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): use</div><div class='del'>-	  Array#uniq!.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#deal): deal tasks to workers.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#quit_workers): close and kill</div><div class='del'>-	  all workers.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#delete_worker): delete dead</div><div class='del'>-	  worker from working set.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#launch_worker): add new worker</div><div class='del'>-	  to working set.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#launch_worker): extract.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#start_watchdog): extract.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): move</div><div class='del'>-	  initializations with nothing to release outside begin/ensure.</div><div class='del'>-</div><div class='del'>-Sat Jul 14 16:04:24 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_join): should not infected by separator if it is not</div><div class='del'>-	  used.  [ruby-core:42161][Bug #5902]</div><div class='del'>-</div><div class='del'>-Sat Jul 14 02:31:55 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_thread_blocking_region): fix declarations</div><div class='del'>-	  prototypes without arguments in C++ have different meanings than C.</div><div class='del'>-</div><div class='del'>-Thu Jul 12 12:32:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: skip default gems to get rid of loading old versions</div><div class='del'>-	  before installation.</div><div class='del'>-</div><div class='del'>-Thu Jul 12 11:44:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new_frozen): since the result object should have</div><div class='del'>-	  same tainted/untrusted bits with the original object, return new</div><div class='del'>-	  object if the shared object unmatch.  [ruby-core:39745][Bug #5374]</div><div class='del'>-</div><div class='del'>-Thu Jul 12 10:46:39 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTPLocalBind#test_bind_to_local*):</div><div class='del'>-	  cannot cross between network interfaces on Windows, so skip this test</div><div class='del'>-	  until we find better test.</div><div class='del'>-</div><div class='del'>-Thu Jul 12 08:48:33 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 3.2.0 (r7598)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Thu Jul 12 05:11:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): use method entry and id in cfp for proper</div><div class='del'>-	  superclass, since klass in iseq is shared by dynamically defined</div><div class='del'>-	  methods from the same block.  [ruby-core:45831][Bug #6644]</div><div class='del'>-</div><div class='del'>-Thu Jul 12 01:49:07 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): use local_host and local_port</div><div class='del'>-	  if specified. patched by Ricardo Amorim [Feature #6617]</div><div class='del'>-</div><div class='del'>-Wed Jul 11 17:36:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: append ENCOBJS to DLDOBJS but not EXTSOLIBS which is</div><div class='del'>-	  not a target, to compile enc/encinit.c.</div><div class='del'>-</div><div class='del'>-Wed Jul 11 12:38:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): nonstatic initializer</div><div class='del'>-	  of an aggregate type is a C99ism.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): get rid of VC++</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Mon Jul  9 16:11:30 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_string_from_file,</div><div class='del'>-	  rb_eval_string_from_file_protect): new functions to replace</div><div class='del'>-	  rb_compile_main_from_string() and ruby_eval_main().</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_ruby.c: Follows the change in vm_eval.c</div><div class='del'>-</div><div class='del'>-Mon Jul  9 14:05:42 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	Reverts a half of r36079. As we discussed on ruby-dev@ and IRC,</div><div class='del'>-	we do not need to disclose intermediate representation of program.</div><div class='del'>-	The program embedding CRuby should use rb_eval_string family.</div><div class='del'>-	* include/ruby/ruby.h (ruby_opaque_t): removed.</div><div class='del'>-	  (ruby_compile_main_from_file, ruby_compile_main_from_string,</div><div class='del'>-	   ruby_eval_main): removed.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_eval_main_internal): became ruby_exec_internal() again.</div><div class='del'>-	  (ruby_eval_main): removed.</div><div class='del'>-</div><div class='del'>-	* ruby.c (PREPARE_PARSE_MAIN) reverted.</div><div class='del'>-	  (parse_and_compile_main, ruby_compile_main_from_file,</div><div class='del'>-	   ruby_compile_main_from_string): removed</div><div class='del'>-</div><div class='del'>-Wed Jul 11 10:16:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby.h (HAVE_RUBY_THREAD_H): to show ruby/thread.h to be</div><div class='del'>-	  available.  fixup of r36355.</div><div class='del'>-</div><div class='del'>-Wed Jul 11 03:26:47 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c:  Added streaming support to inflate processing.</div><div class='del'>-	  This allows zlib streams to be processed without huge memory growth.</div><div class='del'>-	  [Feature #6612]</div><div class='del'>-	* NEWS:  ditto</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer):  Uses rb_yield when a block</div><div class='del'>-	  is given for streaming support.  Refactored to use</div><div class='del'>-	  zstream_expand_buffer_into to remove duplicate code.</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer_protect):  Added wrapper</div><div class='del'>-	  function to pass jump state back through GVL-free section to allow</div><div class='del'>-	  zstream clean-up before terminating the ruby call.</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer_without_gvl):  Acquire GVL to</div><div class='del'>-	  yield processed chunk of output stream.</div><div class='del'>-	* ext/zlib/zlib.c (zstream_detach_buffer):  When a block is given,</div><div class='del'>-	  returns Qnil mid-stream and yields the output buffer at the end of</div><div class='del'>-	  the stream.</div><div class='del'>-	* test/zlib/test_zlib.rb:  Updated tests</div><div class='del'>-</div><div class='del'>-Tue Jul 10 22:57:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/thread.h: new header file for thread stuff.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_call_without_gvl): export.  [Feature#4328]</div><div class='del'>-	  returns void* instead of VALUE.  [Feature #5543]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_blocking_region): deprecate.  [ruby-core:46295]</div><div class='del'>-</div><div class='del'>-Tue Jul 10 10:48:59 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (NT, NtInitialize): removed unused old macros.</div><div class='del'>-</div><div class='del'>-Tue Jul 10 10:43:37 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removed --enable/disable-win95 options. (see r36342)</div><div class='del'>-</div><div class='del'>-Tue Jul 10 00:44:41 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP completely. It is</div><div class='del'>-	  no meaning definition since r24894.</div><div class='del'>-	* main.c: ditto.</div><div class='del'>-	* nacl/pepper_main.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  9 23:59:36 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: Simplify and make consistent an ifdef for Mac OS X.</div><div class='del'>-	* ext/socket/rubysocket.h: ditto.</div><div class='del'>-	* ext/tk/stubs.c: ditto.</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-	* signal.c: ditto.</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  9 17:37:35 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (win95_stat): removed unnecessary macro.</div><div class='del'>-</div><div class='del'>-Mon Jul  9 17:22:16 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat, win32/setup.mak, win32/Makefile.sub: omitted</div><div class='del'>-	  Win9x support.  removed --enable/disable-win95 options.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, file.c, win32/win32.c: ditto.</div><div class='del'>-</div><div class='del'>-	* win32/README.win32: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  9 13:28:34 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point</div><div class='del'>-	  instead of TARGET which may contain non-identifier characters.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first</div><div class='del'>-	  part consists of only word characters.  [ruby-core:46248][Bug #6709]</div><div class='del'>-</div><div class='del'>-Sun Jul  8 07:36:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (shadowing_lvar_gen, warn_unused_var): no warnings for</div><div class='del'>-	  variables starting with _.  [ruby-core:46160][Feature #6693]</div><div class='del'>-</div><div class='del'>-Sat Jul  7 23:07:30 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_features.rb: add require for Tempfile.</div><div class='del'>-	* test/csv/test_serialization.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 06:49:50 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_aref):  Added a description of the behavior of</div><div class='del'>-	  index positioning.  [Bug #6680]</div><div class='del'>-	* array.c (rb_ary_aset):  ditto.  Reordered sentences for clarity.</div><div class='del'>-	* string.c (rb_str_aref_m):  Added a description of the behavior of</div><div class='del'>-	  index positioning</div><div class='del'>-</div><div class='del'>-Fri Jul  6 05:38:44 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_bytesize):  Improve documentation.  Patch by Oscar</div><div class='del'>-	  Del Ben from github issue #138.</div><div class='del'>-	* string.c (rb_str_empty):  ditto.</div><div class='del'>-	* string.c (rb_str_times):  ditto.</div><div class='del'>-	* string.c (rb_str_dump):  ditto.</div><div class='del'>-	* string.c (rb_str_center):  ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  6 04:05:59 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_expand_buffer_without_gvl):  Use</div><div class='del'>-	  ruby_xrealloc() to avoid crash with CALC_EXACT_MALLOC_SIZE.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 17:32:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move ThreadShield declarations from intern.h.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 16:00:24 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ThreadShield): rename from Barrier.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 15:14:50 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (show_progress): refine error output. do not</div><div class='del'>-	  count non-empty error message, but just warn.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (error): show errors immediately if tty.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 12:28:11 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_httpresponses.rb: Add a test file for</div><div class='del'>-	  Net::HTTPResponses and put a test case for the previous bug.</div><div class='del'>-</div><div class='del'>-Thu Jul  5 06:33:52 2012  Mark Dodwell &lt;mark@mkdynamic.co.uk&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: Fix 4xx classes to inherit correctly</div><div class='del'>-	  from Net::HTTPClientError. [Bug #6700]</div><div class='del'>-</div><div class='del'>-Wed Jul  4 21:55:35 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): warn only if -K and -w option is specified.</div><div class='del'>-	  see also r36274 [Feature #5206]</div><div class='del'>-</div><div class='del'>-Wed Jul  4 21:41:44 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, atomic.h (ATOMIC_SIZE_*): moved from gc.c to atomic.h</div><div class='del'>-	  [ruby-dev:45909]</div><div class='del'>-</div><div class='del'>-Wed Jul  4 19:13:15 2012  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_s_codepage_changed):</div><div class='del'>-	  FileSystemObject only supports ANSI or UTF-16LE encoding.</div><div class='del'>-	  Patch by h.shirosaki (Hiroshi Shirosaki) [ruby-trunk - Bug #6650]</div><div class='del'>-</div><div class='del'>-Wed Jul  4 11:52:12 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ATOMIC_SIZE_*): 64bit Windows support.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 11:11:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_frame_callee, rb_f_callee_name): fix to return the</div><div class='del'>-	  called id.  this longstanding bug has been caused and blocked by</div><div class='del'>-	  the structure of old rb_control_frame_t and rb_iseq_t.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): set proper method entry.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 08:29:31 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_aref):  Updated documentation to indicate the</div><div class='del'>-	  starting index is an index into the array or string.  Updated</div><div class='del'>-	  examples to show behavior of indexes at the end of an array or</div><div class='del'>-	  string.  Based on patch by Marcus Stollsteimer.  [Bug #6680]</div><div class='del'>-	* array.c (rb_ary_aset):  ditto.</div><div class='del'>-	* string.c (rb_str_aref):  ditto.  Also added descriptive argument</div><div class='del'>-	  names to call-seq section.</div><div class='del'>-</div><div class='del'>-Wed Jul  4 07:05:59 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_inflate_partial_input):  Added test for</div><div class='del'>-	  inflating incomplete zlib streams.</div><div class='del'>-</div><div class='del'>-Tue Jul  3 23:14:16 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ATOMIC_SIZE_EXCHANGE): fix function name on Solaris [Bug #6689]</div><div class='del'>-	  [ruby-dev:45904]</div><div class='del'>-</div><div class='del'>-Tue Jul  3 16:07:49 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_fixup, vm_xrealloc, vm_xfree, after_gc_sweep): use</div><div class='del'>-	  atomic operations to update malloc_params.</div><div class='del'>-</div><div class='del'>-Tue Jul  3 14:50:16 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run_func):  Don't exit run loop for buffer</div><div class='del'>-	  error.  [Feature #6615]</div><div class='del'>-	* ext/zlib/zlib.c:  Fix style to match existing functions.</div><div class='del'>-</div><div class='del'>-Tue Jul  3 12:05:51 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): also needed the workaround for VC8</div><div class='del'>-	  for x64.  [ruby-dev:45875] [Bug #6676]</div><div class='del'>-	  reported by aves_ramphastos (Seigo Ishigane)</div><div class='del'>-</div><div class='del'>-Tue Jul  3 11:56:46 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_detach_buffer):  Refactored tainting of</div><div class='del'>-	  output string, moving it from the callee to zstream_detach_buffer.</div><div class='del'>-	* ext/zlib/zlib.c (rb_zstream_finish):  ditto</div><div class='del'>-	* ext/zlib/zlib.c (rb_zstream_flush_next_out):  ditto</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_deflate):  ditto</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_flush):  ditto</div><div class='del'>-	* ext/zlib/zlib.c (rb_inflate_inflate):  ditto</div><div class='del'>-</div><div class='del'>-Tue Jul  3 11:16:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (runnable): make symbolic links to run in build directory.</div><div class='del'>-</div><div class='del'>-Tue Jul  3 10:46:06 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): warn if -K option is specified. [Feature #5206]</div><div class='del'>-</div><div class='del'>-Tue Jul  3 06:12:13 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object):  Added RDoc location pointers for</div><div class='del'>-	  Kernel#methods, Kernel#protected_methods, Kernel#private_methods and</div><div class='del'>-	  Kernel#public_methods.  [Bug #6666]</div><div class='del'>-</div><div class='del'>-Tue Jul  3 06:02:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run):  Process zlib streams without GVL.</div><div class='del'>-	  [Feature #6615]</div><div class='del'>-	* NEWS:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 22:13:04 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_aref): add explanation for why Thread#[] and</div><div class='del'>-	  Thread#[]= are fiber-local and not thread-local.</div><div class='del'>-	  reported by Julien A.  [ruby-core:41606] [ruby-trunk - Bug #5750]</div><div class='del'>-</div><div class='del'>-Mon Jul  2 21:25:55 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (timew_out_of_timet_range): specialization for</div><div class='del'>-	  SIZEOF_TIME_T == SIZEOF_INT64_T.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 17:06:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_include_module): include modules after the origin.</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): skip prepended modules.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): now basic.klass in ICLASS refers the</div><div class='del'>-	  old original class/module.  [ruby-dev:45868][Bug #6662]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_ancestors): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (search_method): search method entry from the origin</div><div class='del'>-	  iclass.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 05:54:58 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:46058].</div><div class='del'>-</div><div class='del'>-Mon Jul  2 05:35:43 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_marshal_load): accepts old dump.</div><div class='del'>-</div><div class='del'>-Mon Jul  2 03:21:53 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: fixed args of have_struct_member() ,</div><div class='del'>-	  create_makefile() same as r35977. however, mkmf.rb include</div><div class='del'>-	  no Japanese-docs, so Appendix C was not removed. [Bug #6597]</div><div class='del'>-</div><div class='del'>-Fri Jun 29 05:08:41 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: workaround fix for rubygems.</div><div class='del'>-	  RubyGems can't find rake if the source directory is not equal to</div><div class='del'>-	  the directory which is running the test. [Bug #6604]</div><div class='del'>-</div><div class='del'>-Thu Jun 28 20:33:15 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole.rb (test_s_codepage_changed):</div><div class='del'>-	  FileSystemObject only supports ANSI or UTF-16LE encoding.</div><div class='del'>-	  Patch by bosko (Bosko Ivanisevic) [ruby-trunk - Bug #6650]</div><div class='del'>-</div><div class='del'>-Thu Jun 28 09:27:09 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_instance_method_list): consider prepended Class/Module</div><div class='del'>-	  when recur != 0. [ruby-dev:45863] [Bug #6660]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_prepend_instance_methods_false): add</div><div class='del'>-	  a test for it.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Thu Jun 28 06:12:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_ancestors): fix ancestors order.</div><div class='del'>-	  [ruby-core:45919][Bug #6658] [ruby-dev:45861][Bug #6659]</div><div class='del'>-</div><div class='del'>-Wed Jun 27 21:28:59 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: NotImplementError is not exist.</div><div class='del'>-</div><div class='del'>-	* lib/irb/output-method.rb (IRB::OutputMethod#print): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 27 21:31:13 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): ancestors of prepending module also</div><div class='del'>-	  should be included.  [ruby-core:45914][Bug #6654]</div><div class='del'>-</div><div class='del'>-Wed Jun 27 21:01:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_instance_method_list): m_tbl in prepended</div><div class='del'>-	  class/module is NULL.  [ruby-core:45915][Bug #6655]</div><div class='del'>-</div><div class='del'>-Wed Jun 27 16:48:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): prepend module into another module.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_prepend): new method Module#prepend.  [Feature #1102]</div><div class='del'>-</div><div class='del'>-Wed Jun 27 09:15:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (is_popen_fork): check if fork and raise NotImplementedError if</div><div class='del'>-	  unavailable.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): allow environment variables hash and exec</div><div class='del'>-	  options as flat parameters, not in an array arguments.</div><div class='del'>-	  [Feature#6651] [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_extract_options): extract exec options, but no</div><div class='del'>-	  exceptions on non-exec options and returns them as a Hash.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_setenv): set environment variables.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 16:57:14 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (register_cached_thread_and_wait):</div><div class='del'>-	  return immediately if malloc() failed.</div><div class='del'>-	  [ruby-core:43960] [ruby-trunk - Bug #6235]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (USE_THREAD_CACHE): check already defined or not.</div><div class='del'>-</div><div class='del'>-Tue Jun 26 10:01:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): revert r36213 "popen: shell commands with</div><div class='del'>-	  envvar" because it disabled to let single command bypass shell.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 17:49:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mix_module): revert Module#mix.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 16:57:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): allow method transplanting from a</div><div class='del'>-	  module to either class or module.  [ruby-core:34267][Feature #4254]</div><div class='del'>-</div><div class='del'>-Mon Jun 25 11:34:45 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: use rb_pid_t instead of pid_t because of there is no</div><div class='del'>-	  definition of pid_t here on Windows.</div><div class='del'>-</div><div class='del'>-Mon Jun 25 00:25:01 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (for stack end address): remove human68k specific</div><div class='del'>-	  check. It is no longer supported.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 23:02:17 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): merge win32 code using spawnv().</div><div class='del'>-</div><div class='del'>-Sun Jun 24 22:53:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_fds): separate check_exec_fds_1() since</div><div class='del'>-	  nonstatic initializer of an aggregate type is not allowed by C89.</div><div class='del'>-</div><div class='del'>-Sun Jun 24 07:47:17 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): options field removed.</div><div class='del'>-</div><div class='del'>-	* process.c: follow the rb_execarg change.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 23:48:21 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_cmd): unused variable removed to suppress a</div><div class='del'>-	  warning.</div><div class='del'>-	  (save_env): ditto.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:45797] reported by Luis Lavena.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 23:19:31 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add new_pgroup_given and new_pgroup_flag</div><div class='del'>-	  fields.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_NEW_PGROUP): removed.</div><div class='del'>-	  (proc_spawn_cmd): take a struct rb_execarg argument.</div><div class='del'>-	  use the new fields.</div><div class='del'>-	  (rb_execarg_addopt): use the new fields.</div><div class='del'>-	  (rb_spawn_process): follow the proc_spawn_cmd change.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:45794] [ruby-trunk - Bug #6633] reported by Luis Lavena.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 20:26:36 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add fd_dup2, fd_close, fd_open,</div><div class='del'>-	  fd_dup2_child fields.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_DUP2): removed.</div><div class='del'>-	  (EXEC_OPTION_CLOSE): removed.</div><div class='del'>-	  (EXEC_OPTION_OPEN): removed.</div><div class='del'>-	  (EXEC_OPTION_DUP2_CHILD): removed.</div><div class='del'>-	  (mark_exec_arg): mark the new fields.</div><div class='del'>-	  (check_exec_redirect1): change condition for default option.</div><div class='del'>-	  (check_exec_redirect): take a struct rb_execarg argument.</div><div class='del'>-	  use the new fields.</div><div class='del'>-	  (rb_execarg_addopt): follow the check_exec_redirect change.</div><div class='del'>-	  (check_exec_fds): use the new fields.</div><div class='del'>-	  (save_redirect_fd): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 19:01:18 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_fixup): fix envopts condition.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 18:44:13 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect1): extracted from</div><div class='del'>-	  check_exec_redirect.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 17:22:02 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (save_env): don't use EXEC_OPTION_UNSETENV_OTHERS.</div><div class='del'>-	  (rb_execarg_run_options): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 17:04:08 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add env_modification field.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_ENV): removed.</div><div class='del'>-	  (mark_exec_arg): mark env_modification field.</div><div class='del'>-	  (rb_exec_fillarg): update the new field, instead of options array.</div><div class='del'>-	  (rb_execarg_fixup): use the new field.</div><div class='del'>-	  (save_env): ditto.</div><div class='del'>-	  (rb_execarg_run_options): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 16:27:01 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add rlimit_limits field.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_RLIMIT): removed.</div><div class='del'>-	  (mark_exec_arg): mark rlimit_limits field.</div><div class='del'>-	  (rb_execarg_addopt): update the new fields, instead of options array.</div><div class='del'>-	  (run_exec_rlimit): use the new field.</div><div class='del'>-	  (rb_execarg_run_options): clear sarg using MEMZERO.  use the new</div><div class='del'>-	  field.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 14:29:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add chdir_given and chdir_dir fields.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_CHDIR): removed.</div><div class='del'>-	  (mark_exec_arg): mark chdir_dir field.</div><div class='del'>-	  (rb_execarg_addopt): update the new fields, instead of options array.</div><div class='del'>-	  (rb_execarg_run_options): use the new fields.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 13:20:47 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add close_others_given, close_others_do and</div><div class='del'>-	  close_others_maxhint fields.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_CLOSE_OTHERS): removed.</div><div class='del'>-	  (rb_execarg_addopt): update the new fields, instead of options array.</div><div class='del'>-	  (check_exec_fds): take eargp as an argument.  update the</div><div class='del'>-	  close_others_maxhint field.</div><div class='del'>-	  (rb_execarg_fixup): follow the argument change of check_exec_fds.</div><div class='del'>-	  (rb_execarg_run_options): use the new fields.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 10:41:59 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add unsetenv_others_given and</div><div class='del'>-	  unsetenv_others_do fields.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_UNSETENV_OTHERS): removed.</div><div class='del'>-	  (rb_execarg_addopt): update the new fields, instead of options array.</div><div class='del'>-	  (rb_execarg_fixup): use the new fields.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 09:35:47 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: use the variable name "soptions" for sargp-&gt;options.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 09:17:49 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: use the name "sargp" for struct rb_execarg variables</div><div class='del'>-	  consistently for saving process attributes.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 23 07:59:57 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: use the name "eargp" for struct rb_execarg variables</div><div class='del'>-	  consistently except for saving process attributes.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 18:27:03 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Add missing dependencies.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 20:27:39 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg): add pgroup_given and pgroup_pgid fields.</div><div class='del'>-</div><div class='del'>-	* process.c (EXEC_OPTION_PGROUP): removed.</div><div class='del'>-	  (rb_execarg_addopt): update the new fields, instead of options array.</div><div class='del'>-	  (run_exec_pgroup): take a struct rb_execarg argument.  refer the new</div><div class='del'>-	  fields.</div><div class='del'>-	  (rb_execarg_run_options): follow run_exec_pgroup change.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 18:48:51 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: use "sval" for the third argument</div><div class='del'>-	  name of Data_Wrap_Struct().</div><div class='del'>-	  Suggested by @satoh_fumiyasu. Thanks!!!</div><div class='del'>-</div><div class='del'>-Fri Jun 22 18:04:26 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c, vm_eval.c: set th-&gt;base_block properly.</div><div class='del'>-	  th-&gt;base_block is information for (a) parsing, (b) compiling</div><div class='del'>-	  and (c) setting up the frame to execute the program passed by</div><div class='del'>-	  `eval' method.  For example, (1) parser need to know up-level</div><div class='del'>-	  variables to detect it is variable or method without paren.</div><div class='del'>-	  Befor (a), (b) and (c), VM set th-&gt;base_block by passed bindng</div><div class='del'>-	  (or previous frame information).  After execute (a), (b) and (c),</div><div class='del'>-	  VM should clear th-&gt;base_block.  However, if (a), (b) or (c)</div><div class='del'>-	  raises an exception, then th-&gt;base_block is not cleared.</div><div class='del'>-	  Problem is that the uncleared value th-&gt;balo_block is used for</div><div class='del'>-	  irrelevant iseq compilation.  It causes SEGV or critical error.</div><div class='del'>-	  I tried to solve this problem: to clear them before exception,</div><div class='del'>-	  but finally I found out that it is difficult to do it (Ruby</div><div class='del'>-	  program can be run in many places).</div><div class='del'>-	  Because of this background, I set th-&gt;base_block before</div><div class='del'>-	  compiling iseq and restore it after compiling.</div><div class='del'>-	  Basically, th-&gt;base_block is dirty hack (similar to global</div><div class='del'>-	  variable) and this patch is also dirty.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_eval.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-	* internal.h: remove unused decl.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): add base_block parameter.</div><div class='del'>-	  set th-&gt;base_block before compilation and restore it after</div><div class='del'>-	  compilation.</div><div class='del'>-</div><div class='del'>-	* ruby.c (require_libraries): pass 0 as base_block instead of</div><div class='del'>-	  setting th-&gt;base_block</div><div class='del'>-</div><div class='del'>-	* tool/compile_prelude.rb (prelude_eval): apply above changes.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add comments.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 18:19:38 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: pass struct rb_execarg value instead of its options</div><div class='del'>-	  field for saving process attribute changing functions.</div><div class='del'>-	  (save_redirect_fd): take a struct rb_execarg argument.</div><div class='del'>-	  (run_exec_dup2): ditto.</div><div class='del'>-	  (run_exec_close): ditto.</div><div class='del'>-	  (run_exec_open): ditto.</div><div class='del'>-	  (run_exec_dup2_child): ditto.</div><div class='del'>-	  (run_exec_pgroup): ditto.</div><div class='del'>-	  (run_exec_rlimit): ditto.</div><div class='del'>-	  (save_env): ditto.</div><div class='del'>-	  (rb_execarg_run_options): follow the above functions change.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 17:55:48 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: decrease recursion depth</div><div class='del'>-	  to reduce consuming stack size.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 13:36:50 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_init, random_load): cannot initialize frozen object</div><div class='del'>-	  again, nor with tainted/untrusted object.  [Bug #6540]</div><div class='del'>-</div><div class='del'>-Fri Jun 22 13:32:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_copyable): new function, to ensure the target is</div><div class='del'>-	  not frozen and the source is not tainted nor untrusted.</div><div class='del'>-</div><div class='del'>-Fri Jun 22 05:55:20 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup):  Fixed typo.  Patch by Trever Dawe.</div><div class='del'>-	  Fixes #131 (github).  [ruby-trunk - Bug #6619]</div><div class='del'>-</div><div class='del'>-Thu Jun 21 21:16:58 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_addopt): take a VALUE argument instead of</div><div class='del'>-	  struct rb_execarg.</div><div class='del'>-	  (rb_exec_arg_addopt): follow the rb_execarg_addopt change.</div><div class='del'>-	  (check_exec_options_i): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): follow the rb_execarg_addopt change.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_addopt): follow the definition change.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 20:34:19 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): take a VALUE argument instead of</div><div class='del'>-	  struct rb_execarg.</div><div class='del'>-	  (rb_check_exec_options): ditto.</div><div class='del'>-	  (check_exec_options_i): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 19:48:05 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_async_signal_safe): use rb_execarg_run_options</div><div class='del'>-	  instead of rb_run_exec_options_err.</div><div class='del'>-	  (rb_spawn_process): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 19:02:43 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): take a VALUE argument instead of</div><div class='del'>-	  struct rb_execarg.</div><div class='del'>-	  (rb_execarg_init): follow the rb_exec_fillarg change.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 18:36:43 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_init): take a VALUE argument instead of</div><div class='del'>-	  struct rb_execarg.</div><div class='del'>-	  (rb_execarg_new): follow the rb_execarg_init change.</div><div class='del'>-	  (rb_exec_arg_init): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_init): follow the definition change.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 17:20:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_tail_gen): fix GC problem of keyword rest</div><div class='del'>-	  argument.  the wrapped struct should be bound to the wrapping node</div><div class='del'>-	  before assignment of child nodes, to get rid of the case the</div><div class='del'>-	  children are referred by only the struct pointer which is not a</div><div class='del'>-	  subject of GC.  [ruby-core:45744]</div><div class='del'>-</div><div class='del'>-Thu Jun 21 07:06:52 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (err_append): rename err_append() to compile_err_append()</div><div class='del'>-	  and move definition body.  err_append() is used only by compiling.</div><div class='del'>-</div><div class='del'>-Thu Jun 21 06:21:54 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_fixup): take a VALUE argument instead of</div><div class='del'>-	  struct rb_execarg.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_fixup): follow the definition change.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): follow rb_execarg_fixup change.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 21:25:37 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (struct rb_execarg): add umask_given and umask_mask</div><div class='del'>-	  fields.</div><div class='del'>-</div><div class='del'>-	* process.c (STATIC_ASSERT): removed.</div><div class='del'>-	  (rb_execarg_addopt): follow the rb_execarg change.</div><div class='del'>-	  (rb_execarg_run_options): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 20:38:23 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (struct rb_execarg) moved and renamed from</div><div class='del'>-	  struct rb_exec_arg in intern.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (struct rb_exec_arg): refer Data object which</div><div class='del'>-	  contains struct rb_execarg.</div><div class='del'>-</div><div class='del'>-	* process.c: use struct rb_execarg instead of struct rb_exec_arg</div><div class='del'>-	  except functions declared in intern.h.</div><div class='del'>-	  (rb_exec_arg_addopt): extract a pointer to struct rb_execarg from</div><div class='del'>-	  struct rb_exec_arg.</div><div class='del'>-	  (rb_exec_arg_init): ditto.</div><div class='del'>-	  (rb_exec_arg_fixup): ditto.</div><div class='del'>-	  (rb_run_exec_options_err): ditto.</div><div class='del'>-	  (rb_run_exec_options): ditto.</div><div class='del'>-	  (rb_exec_err): ditto.</div><div class='del'>-	  (rb_exec): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: use struct rb_execarg instead of struct rb_exec_arg.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 19:13:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_new): declared.</div><div class='del'>-	  (rb_execarg_get): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (mark_exec_arg): new function.</div><div class='del'>-	  (free_exec_arg): ditto.</div><div class='del'>-	  (memsize_exec_arg): ditto.</div><div class='del'>-	  (exec_arg_data_type): defined.</div><div class='del'>-	  (rb_execarg_new): new function.</div><div class='del'>-	  (rb_execarg_get): ditto.</div><div class='del'>-	  (rb_f_exec): use rb_execarg_new.</div><div class='del'>-	  (rb_spawn_internal): ditto.</div><div class='del'>-	  (rb_f_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open_v): use rb_execarg_new.</div><div class='del'>-	  (pipe_open_s): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): use rb_execarg_new.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 16:36:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/setproctitle.c (environ): use (*_NSGetEnviron()) instead of</div><div class='del'>-	  environ on Darwin for namespace cleanness, same as [ruby-core:00537].</div><div class='del'>-	  [ruby-core:45615] [Bug #6576]</div><div class='del'>-</div><div class='del'>-Wed Jun 20 11:33:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_addopt): always make Fixnum, and ignore higher</div><div class='del'>-	  bits in too large umask value.</div><div class='del'>-</div><div class='del'>-Wed Jun 20 11:24:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): deal with</div><div class='del'>-	  sudden-death of workers.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 20:34:20 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (init_leap_second_info): fix non-ANSI function declaration.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 20:29:04 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_f_sub): use ansi style declaration.</div><div class='del'>-	* ruby.c (rb_f_gsub): ditto.</div><div class='del'>-	* ruby.c (rb_f_chomp): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 20:26:23 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_int32): get rid of "warning: constant 0x100000000</div><div class='del'>-	  is so big it is long" warning.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 20:07:23 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): get rid of "unused return: argc = rb_scan_args()"</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 19:31:20 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: include math.h before checking INFINITY</div><div class='del'>-	  and NAN. Otherwise, strange macro redefinition will occur.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 19:12:37 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_reverse): use ansi style declaration.</div><div class='del'>-</div><div class='del'>-Tue Jun 19 18:43:50 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/rubysig.h: fix visibility.  [Bug #6607]</div><div class='del'>-</div><div class='del'>-Tue Jun 19 17:51:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_run_options): do not call any methods in the</div><div class='del'>-	  async-signal-safe function.  mask has been checked with NUM2MODET()</div><div class='del'>-	  already and converted with LONG2NUM().</div><div class='del'>-</div><div class='del'>-Tue Jun 19 11:59:56 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): don't set 0 to</div><div class='del'>-	  rl_catch_signals and rl_catch_sigwinch. [Bug #5423]</div><div class='del'>-</div><div class='del'>-Tue Jun 19 11:52:59 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_get_special_prefixes): suppress</div><div class='del'>-	  warning: uninitialized instance variable.</div><div class='del'>-</div><div class='del'>-Tue Jun 19 11:43:16 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_getc): fix editline compatibility</div><div class='del'>-	  broken by r36123. [Bug #6601]</div><div class='del'>-</div><div class='del'>-Mon Jun 18 17:10:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpos): split from rb_str_substr.  returns</div><div class='del'>-	  adjusted position for substring.</div><div class='del'>-</div><div class='del'>-Mon Jun 18 10:42:57 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_getc): deal with ESC just followed</div><div class='del'>-	  by ASCII as meta prefix in incremental search mode.  based on the</div><div class='del'>-	  patch from rctay (Tay Ray Chuan) at [ruby-core:45682].  [Bug #6601]</div><div class='del'>-</div><div class='del'>-Sun Jun 17 22:23:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_file_directory_p): move documentation for Dir.exist? from</div><div class='del'>-	  file.c so that the proper description will be shown instead of the</div><div class='del'>-	  documentation of File.directory?.  [ruby-core:45685]</div><div class='del'>-</div><div class='del'>-Sun Jun 17 16:21:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.h (rb_thread_lock_t): make a union for USE_WIN32_MUTEX.</div><div class='del'>-	  this internal is used only in thread_win32.c, but has to be complete</div><div class='del'>-	  to define rb_thread_t.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_mutex_lock, native_mutex_destroy): fix for</div><div class='del'>-	  USE_WIN32_MUTEX.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_cond_timedwait_ms): rename reserved pattern</div><div class='del'>-	  name.  user defined symbols should not start with __.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 19:24:01 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: define date_sg_t.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 18:46:57 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_tmx.h: offset in struct tmx_funcs is now int.</div><div class='del'>-	* ext/date/date_strftime.c: ditto.</div><div class='del'>-	* ext/date/date_core.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 18:31:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_setup): set running state in the normal case before</div><div class='del'>-	  popping a tag.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 07:46:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): format workers</div><div class='del'>-	  results in the parent.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 07:12:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/runruby.rb (File.realpath): return real path of expanded path.</div><div class='del'>-	  [Bug #6598]</div><div class='del'>-</div><div class='del'>-Sat Jun 16 07:12:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (main): ignore -j option for compatibility</div><div class='del'>-	  with test/unit.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 07:11:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and</div><div class='del'>-	  drop useless reports, not override entirely.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb (Test::Unit::Worker#_run_suite): report</div><div class='del'>-	  unformatted results.  formatting messages is not a workers task.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb (Test::Unit::Worker#puke): store raw</div><div class='del'>-	  results.</div><div class='del'>-</div><div class='del'>-Sat Jun 16 01:27:14 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bumping psych to 1.3.3</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Fri Jun 15 20:54:28 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (backtrace_collect): rename from backtreace_collect.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 19:22:13 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove VM_FRAME_MAGIC_FINISH (finish frame type).</div><div class='del'>-	  Before this commit:</div><div class='del'>-	    `finish frame' was place holder which indicates that VM loop</div><div class='del'>-	    needs to return function.</div><div class='del'>-	    If a C method calls a Ruby methods (a method written by Ruby),</div><div class='del'>-	    then VM loop will be (re-)invoked.  When the Ruby method returns,</div><div class='del'>-	    then also VM loop should be escaped.  `finish frame' has only</div><div class='del'>-	    one instruction `finish', which returns VM loop function.</div><div class='del'>-	    VM loop function executes `finish' instruction, then VM loop</div><div class='del'>-	    function returns itself.</div><div class='del'>-	    With such mechanism, `leave' instruction (which returns one</div><div class='del'>-	    frame from current scope) doesn't need to check that this `leave'</div><div class='del'>-	    should also return from VM loop function.</div><div class='del'>-	    Strictly, one branch can be removed from `leave' instruction.</div><div class='del'>-	  Consideration:</div><div class='del'>-	    However, pushing the `finish frame' needs costs because</div><div class='del'>-	    it needs several memory accesses.  The number of pushing</div><div class='del'>-	    `finish frame' is greater than I had assumed.  Of course,</div><div class='del'>-	    pushing `finish frame' consumes additional control frame.</div><div class='del'>-	    Moreover, recent processors has good branch prediction,</div><div class='del'>-	    with which we can ignore such trivial checking.</div><div class='del'>-	  After this commit:</div><div class='del'>-	    Finally, I decide to remove `finish frame' and `finish'</div><div class='del'>-	    instruction.  Some parts of VM depend on `finish frame',</div><div class='del'>-	    so the new frame flag VM_FRAME_FLAG_FINISH is introduced.</div><div class='del'>-	    If this frame should escape from VM function loop, then</div><div class='del'>-	    the result of VM_FRAME_TYPE_FINISH_P(cfp) is true.</div><div class='del'>-	    `leave' instruction checks this flag every time.</div><div class='del'>-	    I measured performance on it.  However on my environments,</div><div class='del'>-	    it improves some benchmarks and slows some benchmarks down.</div><div class='del'>-	    Maybe it is because of C compiler optimization parameters.</div><div class='del'>-	    I'll re-visit here if this cause problems.</div><div class='del'>-</div><div class='del'>-	* insns.def (leave, finish): remove finish instruction.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_eval.c, vm_exec.c, vm_backtrace.c, vm_dump.c:</div><div class='del'>-	  apply above changes.</div><div class='del'>-</div><div class='del'>-Fri Jun 15 19:11:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#puke): always add skipped</div><div class='del'>-	  results to the report for parallel test.  [Bug #6595]</div><div class='del'>-</div><div class='del'>-Fri Jun 15 09:01:35 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c: Removed an unnecessary and erroneous inclusion.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 22:59:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CPPOUTFILE): check if output is really sent to</div><div class='del'>-	  specified file to tell if -o option works.  [ruby-dev:45742]</div><div class='del'>-	  [Bug#6591]</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CPPOUTFILE): check if output file is actually</div><div class='del'>-	  created.  [ruby-dev:45742] [Bug#6591]</div><div class='del'>-</div><div class='del'>-Thu Jun 14 22:10:50 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_sh): don't strip leading spaces of the script.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 15:54:02 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename, rb_file_s_dirname): documentation fix.</div><div class='del'>-	  File.basename and File.dirname support File::ALT_SEPARATOR.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 11:10:10 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c: Applies the new embedding API to pepper_ruby.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 10:44:41 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Grouped APIs for embedding CRuby interpreter.</div><div class='del'>-	  (ruby_setup, ruby_compile_main_from_file,</div><div class='del'>-	  ruby_compile_main_from_string, ruby_eval_main,</div><div class='del'>-	  ruby_set_script_name): new APIs to embed CRuby.</div><div class='del'>-	  (ruby_opaque_t) Opaque pointer to an internal data, to NODE or iseq</div><div class='del'>-	  in particular.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_setup): Similar to ruby_init but returns an error code</div><div class='del'>-	  instead of exit(3) on error.</div><div class='del'>-	  (ruby_eval_main): Similar to ruby_exec_node but returns the</div><div class='del'>-	  evaluation result.</div><div class='del'>-	  (ruby_eval_main_internal): renamed from ruby_exec_internal.</div><div class='del'>-</div><div class='del'>-	* ruby.c (toplevel_context): new helper function.</div><div class='del'>-	  (PREPARE_EVAL_MAIN): moved.</div><div class='del'>-	  (process_options): refactored with new functions.</div><div class='del'>-	  (parse_and_compile_main) new helper function.</div><div class='del'>-	  (ruby_compile_main_from_file, ruby_compile_main_from_string) new API</div><div class='del'>-	  (ruby_set_script_name): new API.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Thu Jun 14 10:39:48 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: Add doxygen comments.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: ditto</div><div class='del'>-</div><div class='del'>-	* version.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 10:16:07 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r36071 and add NetBSD to blacklist of -ansi.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 07:59:12 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): Linux is the only OS which includes</div><div class='del'>-	  the size of guard page into the stack size.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 06:21:00 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb:  Replace broken links to the English DRb book.</div><div class='del'>-	  Patch by Zachary Scott.  [ruby-trunk - Bug #6544]</div><div class='del'>-</div><div class='del'>-Thu Jun 14 06:17:47 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb:  Update broken link to the Programming Ruby book.</div><div class='del'>-	  Patch by Zachary Scott.  [ruby-trunk - Bug #6536]</div><div class='del'>-	* lib/drb/drb.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 05:23:05 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (PFETCH_READY): suppress Wunused-but-set-variable.</div><div class='del'>-</div><div class='del'>-	* regparse.c (is_onechar_cclass): restructured to clarify that c is</div><div class='del'>-	  used iff found == 1.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 02:54:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use -fbuiltin with -ansi -std=iso9899:199409.</div><div class='del'>-	  This prevents errors introduced by disabling builtin functions,</div><div class='del'>-	  which is the sub-effect of -ansi/-std.</div><div class='del'>-	  Now NetBSD can use -ansi -std=iso9899:199409.</div><div class='del'>-	  Maybe mingw, cygwin and darwin can also.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 02:53:30 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: don't remove macros. now name2ctype uses macros.</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: add comment why it uses Hash#index.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/{name2ctype.kwd,name2ctype.src,name2ctype.h.blt}:</div><div class='del'>-	  update to follow the current name2ctype.h.</div><div class='del'>-	  FYI current Unicode version is 6.1.</div><div class='del'>-</div><div class='del'>-Thu Jun 14 00:16:59 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb, lib/webrick/httpstatus.rb: Add HTTP</div><div class='del'>-	  response codes added in RFCs 2817 and 4918.  [ruby-core:45547]</div><div class='del'>-	  [Feature #6569]</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: Rename Net::HTTPMultipleChoice to</div><div class='del'>-	  Net::HTTPMultipleChoices, leaving the former as alias to the</div><div class='del'>-	  latter for backward compatibility.  [ruby-core:45547]</div><div class='del'>-	  [Feature #6569]</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: Add comments about unused,</div><div class='del'>-	  still-in-draft and private extension response codes.</div><div class='del'>-	  [ruby-core:45547] [Feature #6569]</div><div class='del'>-</div><div class='del'>-Wed Jun 13 22:44:32 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_func.rb (test_qsort1, test_qsort2): use TYPE_SIZE_T</div><div class='del'>-	  for size_t variables. [ruby-dev:45733] [Bug #6584]</div><div class='del'>-</div><div class='del'>-Wed Jun 13 22:18:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove -ansi and -std options for lgamma_r() and</div><div class='del'>-	  finite().</div><div class='del'>-</div><div class='del'>-Wed Jun 13 21:46:34 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: cygwin does not provide some declarations in strict</div><div class='del'>-	  ANSI mode.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 20:19:59 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_internal): move a variable declaration.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 17:54:38 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (PFETCH_READY):  this  line was to  suppress warning,</div><div class='del'>-	  but  did emit  warnings if  -Wuninitialized was  set.  Assigning</div><div class='del'>-	  NULL instead if pfetch_prev should suffice the situation.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 17:51:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: cygwin needs C99 for some stuff, e.g.,</div><div class='del'>-	  pthread_attr_setstacksize, sched_yield.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 17:50:43 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (.c.i): add warnflags to make the result consistent with</div><div class='del'>-	  compilation.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 15:12:07 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: On Windows  platforms, system provided headers are</div><div class='del'>-	  VC++ optimized.  That is, C++ habits are often contaminated into</div><div class='del'>-	  various  headers.  Most  frequent  situation is  the  use of  //</div><div class='del'>-	  comments.  We bypass ANSI  C mode for them.  Otherwise extension</div><div class='del'>-	  libs cannot include those headers.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 13:39:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: get rid of C99 style one line comments.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 13:39:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_alias_internal): use strdup defined as macro.</div><div class='del'>-</div><div class='del'>-Wed Jun 13 10:20:27 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): get rid of SIZE_T_MAX which may need</div><div class='del'>-	  more headers.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): fix array element size.  "continue" and</div><div class='del'>-	  "readonly" exceeded the size.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): use shell if the first word is reserved</div><div class='del'>-	  or special built-in name.</div><div class='del'>-	 http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): treat '=' only in the first word.  if</div><div class='del'>-	  the first word does not contain '=', it is the command name and</div><div class='del'>-	  environment assignments cannot be anymore.</div><div class='del'>-</div><div class='del'>-Tue Jun 12 23:45:36 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: add dummy clean-static target to prevent errors for the</div><div class='del'>-	  case real clean-static target doesn't exist.</div><div class='del'>-</div><div class='del'>-Tue Jun 12 22:49:42 2012  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_fixup): fix compile error</div><div class='del'>-</div><div class='del'>-Tue Jun 12 21:40:13 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): treat '=' character as a meta</div><div class='del'>-	  character to detect assignments preceding command name.</div><div class='del'>-</div><div class='del'>-Tue Jun 12 20:29:19 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exec_arg_init): deprecated.</div><div class='del'>-	  (rb_exec_arg_addopt): ditto.</div><div class='del'>-	  (rb_exec_arg_fixup): ditto.</div><div class='del'>-	  (rb_run_exec_options): ditto.</div><div class='del'>-	  (rb_run_exec_options_err): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_init): declared.</div><div class='del'>-	  (rb_execarg_addopt): ditto.</div><div class='del'>-	  (rb_execarg_fixup): ditto.</div><div class='del'>-	  (rb_execarg_run_options): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: call rb_execarg_addopt, rb_execarg_fixup,</div><div class='del'>-	  rb_execarg_run_options, rb_execarg_init.</div><div class='del'>-	  (rb_execarg_addopt): renamed from rb_exec_arg_addopt.</div><div class='del'>-	  (rb_exec_arg_addopt): stub to call rb_execarg_addopt.</div><div class='del'>-	  (rb_execarg_init): renamed from rb_exec_arg_init.</div><div class='del'>-	  (rb_exec_arg_init): stub to call rb_execarg_init.</div><div class='del'>-	  (rb_execarg_fixup): renamed from rb_exec_arg_fixup.</div><div class='del'>-	  (rb_exec_arg_fixup): stub to call rb_execarg_fixup.</div><div class='del'>-	  (rb_execarg_run_options): renamed from rb_run_exec_options_err.</div><div class='del'>-	  (rb_run_exec_options_err): stub to call rb_execarg_run_options.</div><div class='del'>-	  (rb_run_exec_options): call rb_execarg_run_options.</div><div class='del'>-</div><div class='del'>-	* io.c: call rb_execarg_addopt, rb_execarg_fixup,</div><div class='del'>-	  rb_execarg_run_options, rb_execarg_init.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): call rb_execarg_init and</div><div class='del'>-	  rb_execarg_fixup.</div><div class='del'>-</div><div class='del'>-Tue Jun 12 18:39:59 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: enable strict ANSI mode by default in case of GCC,</div><div class='del'>-	  requested by _ko1.</div><div class='del'>-</div><div class='del'>-Tue Jun 12 06:40:23 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): detect '#' as a meta character.</div><div class='del'>-</div><div class='del'>-Mon Jun 11 22:15:44 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_proc_exec_n): deprecated.</div><div class='del'>-	  (rb_exec): ditto.</div><div class='del'>-	  (rb_exec_err): ditto.</div><div class='del'>-	  (rb_fork): ditto.</div><div class='del'>-	  (rb_fork_err): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 11 18:49:52 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: on checking libexecinfo, don't specify /use/local.</div><div class='del'>-	  On FreeBSD people must specify --with-opt-dir or --with-execinfo-dir.</div><div class='del'>-</div><div class='del'>-Mon Jun 11 12:14:37 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove lfp (local frame pointer) and rename</div><div class='del'>-	  dfp (dynamic frame pointer) to ep (environment pointer).</div><div class='del'>-	  This change make VM `normal' (similar to other interpreters).</div><div class='del'>-	  Before this commit:</div><div class='del'>-	    Each frame has two env pointers lfp and dfp.  lfp points</div><div class='del'>-	    local environment which is method/class/toplevel frame.</div><div class='del'>-	    lfp[0] is block pointer.</div><div class='del'>-	    dfp is block local frame. dfp[0] points previous (parent)</div><div class='del'>-	    environment pointer.</div><div class='del'>-	    lfp == dfp when frame is method/class/toplevel.</div><div class='del'>-	    You can get lfp from dfp by traversing previous environment</div><div class='del'>-	    pointers.</div><div class='del'>-	  After this commit:</div><div class='del'>-	    Each frame has only `ep' to point respective environment.</div><div class='del'>-	    If there is parent environment, then ep[0] points parent</div><div class='del'>-	    environment (as dfp).  If there are no more environment,</div><div class='del'>-	    then ep[0] points block pointer (as lfp).  We call such ep</div><div class='del'>-	    as `LEP' (local EP).  We add some macros to get LEP and to</div><div class='del'>-	    detect LEP or not.</div><div class='del'>-	    In short, we replace dfp and lfp with ep and LEP.</div><div class='del'>-	  rb_block_t and rb_binding_t member `lfp' and `dfp' are removed</div><div class='del'>-	  and member `ep' is added.</div><div class='del'>-	  rename rb_thread_t's member `local_lfp' and `local_svar' to</div><div class='del'>-	  `root_lep' and `root_svar'.</div><div class='del'>-	  (VM_EP_PREV_EP(ep)): get previous environment pointer.  This macro</div><div class='del'>-	    assume that ep is not LEP.</div><div class='del'>-	  (VM_EP_BLOCK_PTR(ep)): get block pointer.  This macro assume</div><div class='del'>-	    that ep is LEP.</div><div class='del'>-	  (VM_EP_LEP_P(ep)): detect ep is LEP or not.</div><div class='del'>-	  (VM_ENVVAL_BLOCK_PTR(ptr)): make block pointer.</div><div class='del'>-	  (VM_ENVVAL_BLOCK_PTR_P(v)): detect v is block pointer.</div><div class='del'>-	  (VM_ENVVAL_PREV_EP_PTR(ptr)): make prev environment pointer.</div><div class='del'>-	  (VM_ENVVAL_PREV_EP_PTR_P(v)): detect v is prev env pointer.</div><div class='del'>-</div><div class='del'>-	* vm.c: apply above changes.</div><div class='del'>-	  (VM_EP_LEP(ep)): get LEP.</div><div class='del'>-	  (VM_CF_LEP(cfp)): get LEP of cfp-&gt;ep.</div><div class='del'>-	  (VM_CF_PREV_EP(cfp)): utility function VM_EP_PREV_EP(cfp-&gt;ep).</div><div class='del'>-	  (VM_CF_BLOCK_PTR(cfp)): utility function VM_EP_BLOCK_PTR(cfp-&gt;ep).</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_eval.c, vm_insnhelper.c, vm_insnhelper.h, insns.def:</div><div class='del'>-	  apply above changes.</div><div class='del'>-</div><div class='del'>-	* cont.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_exec.h: fix function name (on vm debug mode).</div><div class='del'>-</div><div class='del'>-Mon Jun 11 11:52:18 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): nonstatic initializer of an</div><div class='del'>-	  aggregate type is a C99ism.</div><div class='del'>-</div><div class='del'>-	* compile.c (enum compile_array_type_t): comma at the end of enum</div><div class='del'>-	  list is a C99ism.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (enum LOCATION_TYPE): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 11 06:31:33 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec_n): revert the function removed at r35889.</div><div class='del'>-</div><div class='del'>-Mon Jun 11 06:20:50 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): assign return</div><div class='del'>-	  value to the variable err.</div><div class='del'>-</div><div class='del'>-Mon Jun 11 06:17:06 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_initialize): fix typo in r36022.</div><div class='del'>-	  this cause a failure on FreeBSD 8.2 amd64.</div><div class='del'>-	 http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20120610T130201Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Mon Jun 11 05:21:57 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (SDR): add SDR function.  It's only for VM debugging.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 21:50:45 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/nacl_config.rb: Fixed for 32bit hosts.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 20:23:14 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	Fixes threading on NativeClient.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (timer_thread_sleep): Extracted out a function from</div><div class='del'>-	  thread_timer(). Added an alternative implementation for platforms</div><div class='del'>-	  that lacks select(2) or pipe(2).</div><div class='del'>-	  (rb_thread_create_timer_thread, native_cond_initialize,</div><div class='del'>-	  native_cond_destroy): Replaced wrong HAVE_XXX checks.</div><div class='del'>-</div><div class='del'>-	* configure.in (pthread_attr_init): New check.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 21:30:11 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_without_timer_thread): renamed from rb_exec_err.</div><div class='del'>-	  (rb_exec_err): new stub function to call</div><div class='del'>-	  rb_exec_without_timer_thread.</div><div class='del'>-	  (rb_f_exec): call rb_exec_without_timer_thread.</div><div class='del'>-	  (rb_exec): call rb_exec_without_timer_thread.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 21:13:10 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork): call rb_fork_internal instead of rb_fork_err.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 20:55:59 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_ruby): call rb_fork_internal directly.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 20:19:40 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_ruby): new function.</div><div class='del'>-	  (rb_f_fork): use rb_fork_ruby instead of rb_fork.</div><div class='del'>-	  (rb_daemon): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): use rb_fork_ruby instead of rb_fork.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fork_ruby): declared.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 18:58:16 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb: Remove a duplicated rdoc and leave a</div><div class='del'>-	  pointer.</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: Add RFC numbers to base on.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 18:31:42 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_NACL): Warns if $PATH does not contain the path</div><div class='del'>-	  to NativeClient SDK. PATH variable redefinition in GNUmakefile does</div><div class='del'>-	  not work for GNU make 3.81.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 17:54:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (IS_STACK_DIR_UPPER): utility macro.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): seems stack size does not include</div><div class='del'>-	  guard size on Mac OS X.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): adjust stack size for offset of</div><div class='del'>-	  addr from the bottom.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 15:49:47 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork): call after_fork except in a child process.</div><div class='del'>-	  (rb_fork_internal): restrict after_fork call condition.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 14:19:33 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: NetBSD 6 adds libexecinfo but it only works on amd64.</div><div class='del'>-	 http://www.mail-archive.com/source-changes-full@netbsd.org/msg38729.html</div><div class='del'>-</div><div class='del'>-Sun Jun 10 12:43:23 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec): call rb_exec_async_signal_safe except on</div><div class='del'>-	  Mac OS X.  cf. the comment in before_exec_non_async_signal_safe.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 12:15:18 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (popen_exec): don't call rb_thread_atfork_before_exec.  use</div><div class='del'>-	  rb_exec_async_signal_safe instead of rb_exec_err.</div><div class='del'>-	  (pipe_open): use rb_fork_async_signal_safe instead of rb_fork_err.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 11:44:57 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_internal): call after_fork only unless</div><div class='del'>-	  chfunc_is_async_signal_safe.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 11:33:01 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c</div><div class='del'>-	  test/openssl/test_pkey_ec.rb: Add support for EC_POINT_mul.</div><div class='del'>-	  Patch provided by Sambasiva Suda. Thanks!</div><div class='del'>-	  [ruby-core:44408][ruby-trunk - Feature #6310]</div><div class='del'>-</div><div class='del'>-Sun Jun 10 10:48:15 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/openssl/ssl.rb: Use a simple random number to generate the</div><div class='del'>-	  session id. MD5, as was used before, causes problems when</div><div class='del'>-	  using a FIPS version of OpenSSL. Issue was found by Jared</div><div class='del'>-	  Jennings, thank you!</div><div class='del'>-	  [ruby-trunk - Bug #6137]</div><div class='del'>-</div><div class='del'>-Sun Jun 10 10:27:34 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add note about the new private key export behavior.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 10:24:51 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_async_signal_safe): exported.</div><div class='del'>-</div><div class='del'>-	* ext/pty/extconf.rb: modify $INCFLAGS to include internal.h</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: include internal.h.</div><div class='del'>-	  (chfunc): don't call rb_thread_atfork_before_exec.  use</div><div class='del'>-	  rb_exec_async_signal_safe instead of rb_f_exec.</div><div class='del'>-	  (establishShell): set up earg.  use rb_fork_async_signal_safe</div><div class='del'>-	  instead of rb_fork_err.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_exec_async_signal_safe): declared.</div><div class='del'>-	  (rb_fork_async_signal_safe): declared.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 10:21:37 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c</div><div class='del'>-	  ext/openssl/ossl_pkey_rsa.c</div><div class='del'>-	  ext/openssl/ossl_pkey_dsa.c</div><div class='del'>-	  ext/openssl/ossl_pkey_ec.c: Forbid export passwords that are less</div><div class='del'>-	  than four characters long, as OpenSSL itself does not allow this.</div><div class='del'>-	  Issue found by Eric Hodel.</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: Add export as an alias of to_pem,</div><div class='del'>-	  following the PKey interface contract.</div><div class='del'>-	* test/openssl/test_pkey_dsa.rb</div><div class='del'>-	  test/openssl/test_pkey_rsa.rb</div><div class='del'>-	  test/openssl/test_pkey_ec.rb: Add tests that assert correct</div><div class='del'>-	  behaviour when dealing with passwords that are less than four</div><div class='del'>-	  characters long.</div><div class='del'>-	  [ruby-core: 42281][ruby-trunk - Bug #5951]</div><div class='del'>-</div><div class='del'>-Sun Jun 10 10:14:26 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec): use rb_exec_arg_prepare.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 06:43:51 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: split after_exec into async-signal-safe part and rest.</div><div class='del'>-	  (after_exec_async_signal_safe): extracted from after_exec.</div><div class='del'>-	  (after_exec_non_async_signal_safe): ditto.</div><div class='del'>-	  (after_exec): call them.</div><div class='del'>-	  (rb_exec_async_signal_safe): call after_exec_async_signal_safe.</div><div class='del'>-	  (rb_exec_err): call after_exec_non_async_signal_safe instead of</div><div class='del'>-	  after_exec.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 06:21:10 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: document new features of Ruby OpenSSL.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 03:09:41 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: Fix error in example. Patch by David Albert.</div><div class='del'>-</div><div class='del'>-	  Add/extend existing documentation. Examples now also cover RSA</div><div class='del'>-	  signatures and PBKDF2.</div><div class='del'>-	  [ruby-core: 45154][ruby-trunk - Bug #6475]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Sun Jun 10 01:41:45 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Introduce SSLContext#renegotiation_cb and</div><div class='del'>-	  remove SSLContext#disable_client_renegotiation and related</div><div class='del'>-	  functionality introduced in r35797. The new callback approach</div><div class='del'>-	  gives clients maximum flexibility to decide on their own what to</div><div class='del'>-	  do on renegotiation attempts.</div><div class='del'>-	  Add documentation for SSL module and SSLError.</div><div class='del'>-	* test/openssl/test_ssl.rb: Add a test for</div><div class='del'>-	  SSLContext#renegotiation_cb.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 01:37:18 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_internal): initialize exc.</div><div class='del'>-</div><div class='del'>-Sun Jun 10 00:19:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: don't use non async-signal-safe functions in a child</div><div class='del'>-	  process before exec, for invoking a command.</div><div class='del'>-	  (rb_exec_atfork): call rb_exec_async_signal_safe only.</div><div class='del'>-	  (retry_fork): take chfunc_is_async_signal_safe argument.  call</div><div class='del'>-	  before_fork and after_fork only unless chfunc_is_async_signal_safe.</div><div class='del'>-	  (send_child_error): take chfunc_is_async_signal_safe argument.</div><div class='del'>-	  send an exception only unless chfunc_is_async_signal_safe.</div><div class='del'>-	  (recv_child_error): take chfunc_is_async_signal_safe argument.</div><div class='del'>-	  receive an exception only unless chfunc_is_async_signal_safe.</div><div class='del'>-	  (rb_fork_internal): renamed from rb_fork_err and take</div><div class='del'>-	  chfunc_is_async_signal_safe argument.</div><div class='del'>-	  use rb_protect only unless chfunc_is_async_signal_safe.</div><div class='del'>-	  (rb_fork_err): call rb_fork_internal with false as</div><div class='del'>-	  chfunc_is_async_signal_safe.</div><div class='del'>-	  (rb_fork_async_signal_safe): call rb_fork_internal with true as</div><div class='del'>-	  chfunc_is_async_signal_safe.</div><div class='del'>-	  (rb_spawn_process): call rb_fork_async_signal_safe instead of</div><div class='del'>-	  rb_fork_err.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 23:57:03 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): rewrite a complex "if" statement.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 23:44:29 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_exec_async_signal_safe): extracted from</div><div class='del'>-	  before_exec.</div><div class='del'>-	  (before_exec_non_async_signal_safe): ditto.</div><div class='del'>-	  (before_exec): call before_exec_async_signal_safe and</div><div class='del'>-	  before_exec_non_async_signal_safe.</div><div class='del'>-	  (rb_exec_async_signal_safe): call before_exec_async_signal_safe.</div><div class='del'>-	  (rb_exec_err): call before_exec_non_async_signal_safe instead of</div><div class='del'>-	  before_exec.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 23:36:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load, insn_operand_intern, rb_iseq_disasm)</div><div class='del'>-	  (rb_iseq_parameters): use rb_id2str() instead of rb_id2name() to</div><div class='del'>-	  keep encoding.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_symname_p): new function that checks if the string</div><div class='del'>-	  is valid as a symbol name.  split from sym_inspect().</div><div class='del'>-</div><div class='del'>-Sat Jun  9 22:27:05 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork): rewrite a complex "for" statement by</div><div class='del'>-	  simple statements.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 21:50:04 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork): extracted from rb_fork_err.</div><div class='del'>-	  (send_child_error): ditto.</div><div class='del'>-	  (recv_child_error): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 17:21:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load): type is a symbol, and invalid as ID in common.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 10:57:14 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_async_signal_safe): extracted from rb_exec_err.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 09:31:07 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: simplified because close_others option is always</div><div class='del'>-	  enabled by default.</div><div class='del'>-	  (rb_f_exec): don't need to set the option.</div><div class='del'>-	  (rb_exec_arg_prepare): don't need to set the option.  don't need</div><div class='del'>-	  default_close_others argument.</div><div class='del'>-	  (rb_spawn_internal): don't need to give default_close_others</div><div class='del'>-	  argument for rb_exec_arg_prepare.  don't need default_close_others</div><div class='del'>-	  argument.</div><div class='del'>-	  (rb_spawn_err): don't need to give default_close_others</div><div class='del'>-	  argument for rb_spawn_internal.</div><div class='del'>-	  (rb_spawn): don't need to give default_close_others</div><div class='del'>-	  argument for rb_spawn_internal.</div><div class='del'>-	  (rb_f_system): don't need to give default_close_others argument for</div><div class='del'>-	  rb_spawn_internal.</div><div class='del'>-	  (rb_f_spawn): don't need to give default_close_others argument for</div><div class='del'>-	  rb_exec_arg_prepare.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 09:00:58 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): call before_exec() here addition to</div><div class='del'>-	  rb_exec_err.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 08:30:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): use stack info if possible.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 08:21:32 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT (prepare extconf.rb):  Added note to see MakeMakefile for</div><div class='del'>-	  documentation of extconf.rb functions.  Patch by Zachary Scott.</div><div class='del'>-	  [ruby-trunk - Feature #6522]</div><div class='del'>-	* README.EXT (Appendix C):  Removed in favor of MakeMakefile.</div><div class='del'>-	  Patch by Zachary Scott.</div><div class='del'>-	* lib/mkmf.rb:  Merged documentation from README.EXT Appendix C.  Patch</div><div class='del'>-	  by Zachary Scott.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 08:16:47 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc:  Completed wording in the description of the =~ operator.</div><div class='del'>-	  [ruby-trunk - Bug #6529]</div><div class='del'>-</div><div class='del'>-Sat Jun  9 08:09:38 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_start_with):  Removed "p" from start_with? examples</div><div class='del'>-	  to match other String method examples.  [ruby-trunk - Bug #6553]</div><div class='del'>-	* string.c (rb_str_end_with):  Updated end_with? to use code markup</div><div class='del'>-	  instead of italic.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 07:56:03 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb:  Updated formatting of Benchmark documentation for</div><div class='del'>-	  consistency.  [ruby-trunk - Bug #6533]</div><div class='del'>-</div><div class='del'>-Sat Jun  9 07:46:26 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb:  Added documentation for Delegator#!.  Patch by</div><div class='del'>-	  Zachary Scott.  [ruby-trunk - Feature #6534]</div><div class='del'>-</div><div class='del'>-Sat Jun  9 07:39:50 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb:  Add RFC 6585 response codes.  Patch by</div><div class='del'>-	  Sangil Jung.  [ruby-trunk - Feature #6480]</div><div class='del'>-	* lib/net/http/response.rb:  ditto</div><div class='del'>-	* lib/net/http.rb:  ditto</div><div class='del'>-	* lib/webrick/httpstatus.rb:  ditto</div><div class='del'>-</div><div class='del'>-Sat Jun  9 01:24:28 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_err): before_exec() call moved from proc_exec_cmd</div><div class='del'>-	  and proc_exec_sh.</div><div class='del'>-	  (rb_proc_exec): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun  9 01:11:07 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exec_arg_init): declaration changed to</div><div class='del'>-	  return a value.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_init): return a value.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 23:44:14 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: don't check the availability of FD_CLOEXEC.  It should</div><div class='del'>-	  be available if fork() is available.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 22:39:32 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): revert r35955.  The condition needs !chfunc</div><div class='del'>-	  to close ep[0] and ep[1].  The catched exception is re-raised</div><div class='del'>-	  immediately after that if status is not NULL.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 19:43:33 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_err): after_exec() call moved from proc_exec_cmd</div><div class='del'>-	  and proc_exec_sh.</div><div class='del'>-	  (rb_proc_exec): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 19:00:59 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (ARGV_COUNT): unused macro removed.</div><div class='del'>-	  (ARGV_SIZE): ditto.</div><div class='del'>-	  (ALLOC_ARGV): ditto.</div><div class='del'>-	  (ALLOC_ARGV_WITH_STR): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 16:19:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb (src_testdir): expand real path so that</div><div class='del'>-	  TestGem#test_self_find_files does not fail by aliased load path when</div><div class='del'>-	  srcdir contains a symbolic link.</div><div class='del'>-</div><div class='del'>-	* tool/runruby.rb (srcdir): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  8 12:04:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): error state in the child process is prior</div><div class='del'>-	  to exceptions in proc_syswait().</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): determine status on errors.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): reraise exception if something</div><div class='del'>-	  raised during sleep.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): now needs status to protect from</div><div class='del'>-	  exceptions in rb_fork_err().</div><div class='del'>-</div><div class='del'>-Thu Jun  7 22:13:05 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_err): Fix the condition to use rb_protect.</div><div class='del'>-</div><div class='del'>-Thu Jun  7 20:29:12 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: rb_exec_arg and related stuff moved back from</div><div class='del'>-	  internal.h</div><div class='del'>-</div><div class='del'>-Thu Jun  7 15:53:03 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit: add function `trace_machine_instructions' to trace</div><div class='del'>-	  in native machine assemble.</div><div class='del'>-	  See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/MachineInstructionsTraceWithGDB</div><div class='del'>-	  for more details.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 21:31:21 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_cmd) renamed from proc_exec_v.</div><div class='del'>-	  (proc_exec_sh): renamed from rb_proc_exec_e.</div><div class='del'>-	  (proc_spawn_cmd_internal): renamed from proc_spawn_v.</div><div class='del'>-	  (proc_spawn_cmd): renamed from proc_spawn_n.</div><div class='del'>-	  (proc_spawn_sh): renamed from proc_spawn.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 21:18:47 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (try_with_sh): please take care of the macro defined by</div><div class='del'>-	  you.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 20:45:08 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v): don't call dln_find_exe_r here because it</div><div class='del'>-	  is not async-signal-safe and proc_exec_v is called in a child</div><div class='del'>-	  process.</div><div class='del'>-	  command_abspath field of rb_exec_arg.</div><div class='del'>-	  (rb_exec_fillarg): call dln_find_exe_r and set command_abspath.</div><div class='del'>-	  (rb_exec_err): Give the absolute path of the invoking command for</div><div class='del'>-	  proc_exec_v, instead of the command name.</div><div class='del'>-</div><div class='del'>-	* internal.h: add command_abspath field for rb_exec_arg.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 20:08:01 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (try_with_sh): take envp argument.</div><div class='del'>-	  (exec_with_sh): ditto.  use it for execve.</div><div class='del'>-	  (proc_exec_v): provide envp for try_with_sh.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 13:25:04 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_wrap_io_handle): new API.</div><div class='del'>-	  this API wraps an I/O handle (HANDLE or SOCKET) and returns fd.</div><div class='del'>-	  the second parameter should be combination of O_*, for example,</div><div class='del'>-	  O_RDWR | O_BINARY | O_NOINHERIT.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_unwrap_io_handle): new</div><div class='del'>-	  API.  this API unwraps an I/O handle and close the fd (not closes</div><div class='del'>-	  the handle itself).</div><div class='del'>-</div><div class='del'>-	[Feature #4906] [ruby-core:37227]</div><div class='del'>-</div><div class='del'>-Wed Jun  6 13:18:26 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_close): of course, console handle is not socket.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 12:37:43 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_run_exec_options_err): allocate a temporary buffer for</div><div class='del'>-	  run_exec_dup2() for restoring fds on non-fork environments.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 09:45:21 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_c_{struct_entry,union_entity}.rb: sorry, typos.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 05:27:54 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): check use_shell field before accessing</div><div class='del'>-	  a union field.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 04:58:44 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_process): prog variable is not used for Unix.</div><div class='del'>-</div><div class='del'>-Wed Jun  6 00:20:37 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_exec_arg_init): change return type to void.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_init): don't return a value.</div><div class='del'>-	  (rb_exec_arg_prepare): ditto.</div><div class='del'>-	  (rb_spawn_process): don't take the prog argument.  extract the</div><div class='del'>-	  information from earg.</div><div class='del'>-	  (rb_spawn_internal): follow rb_spawn_process change.</div><div class='del'>-	  (rb_f_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): don't take the prog argument.  extract the</div><div class='del'>-	  information from eargp.</div><div class='del'>-	  (pipe_open_v): follow pipe_open change.</div><div class='del'>-	  (pipe_open_s): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 23:51:33 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_exec_arg): use union to represent command invocation</div><div class='del'>-	  with/without shell.</div><div class='del'>-</div><div class='del'>-	* process.c: follow the rb_exec_arg change.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 22:28:46 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: rb_exec_arg and related stuff moved from intern.h</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_proc_exec_n): removed.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 21:57:22 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_fixup): allocate a temporary buffer for</div><div class='del'>-	  run_exec_dup2 here because it should be async-signal-safe.</div><div class='del'>-	  (run_exec_dup2): use the temporary buffer.</div><div class='del'>-	  (run_exec_dup2_tmpbuf_size): new function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exec_arg): add dup2_tmpbuf field.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 20:13:15 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_init_copy): should check if trusted too.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 19:59:13 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (strtok): declaration removed because it is not used.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 19:33:51 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn): don't detect simple command line here</div><div class='del'>-	  because rb_exec_fillarg already did.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 19:21:10 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): bail out a loop eagerly.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 19:15:14 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: add comments about async-signal-safe.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun  5 09:25:10 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c:  Edited documentation for IO and File open and new and</div><div class='del'>-	  Kernel#open for consistency and clarity.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 21:53:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit): let the system not display the</div><div class='del'>-	  critical-error-handler message box and the Windows Error Reporting</div><div class='del'>-	  dialog.  [ruby-core:45389] [Bug #6535]</div><div class='del'>-</div><div class='del'>-Mon Jun  4 19:36:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): allocate one more element before</div><div class='del'>-	  beginning in argv_str for try_with_sh.</div><div class='del'>-</div><div class='del'>-	* internal.h (ARGVSTR2ARGC): adjust for the above change.</div><div class='del'>-	  (ARGVSTR2ARGV): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 19:17:06 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (ARGVSTR2ARGC): defined.</div><div class='del'>-	  (ARGVSTR2ARGV): defined.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v): use ARGVSTR2ARGV.</div><div class='del'>-	  (rb_spawn_process): use ARGVSTR2ARGC and ARGVSTR2ARGV.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): use ARGVSTR2ARGV.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 16:13:00 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: remove magical code "lfp[0] &amp; 0x02".</div><div class='del'>-	  Current VM doesn't use this bit.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_GET_BLOCK_PTR): added.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_given_p): use RUBY_VM_GET_BLOCK_PTR().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_block_given_p): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 15:39:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (constat_apply): apply VT100 functions.</div><div class='del'>-	  [ruby-core:44958] [Feature #6418]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (constat_parse): parse some VT100 escape sequence.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 14:06:12 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_err): should preserve errno.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 13:10:11 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_c_{struct_entry,union_entity}.rb: broken require.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 12:01:21 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: fix test.</div><div class='del'>-	  Windows path includes `:' character.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 11:42:39 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_location_t): fix type and field name.</div><div class='del'>-	  (1) rename rb_location_t to rb_iseq_location_t.</div><div class='del'>-	  (2) rename field names of rb_iseq_location_t to adjust</div><div class='del'>-	      RubyVM::Backtrace::Location methods.</div><div class='del'>-	      (2-1) filename -&gt; path</div><div class='del'>-	      (2-2) filepath -&gt; absolute_path</div><div class='del'>-	      (2-3) basename -&gt; base_label</div><div class='del'>-	      (2-4) name -&gt; label</div><div class='del'>-	  (3) rename filed name rb_iseq_location_t#line_no to</div><div class='del'>-	      rb_iseq_location_t#first_lineno to clear purpose of this field.</div><div class='del'>-	  (4) The field names rb_binding_t#(filename|line_no) are also renamed</div><div class='del'>-	      to rb_binding_t#(path|first_lineno).</div><div class='del'>-</div><div class='del'>-	* compile.c: apply above changes.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm*.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 11:40:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): also load TYPE_USRMARSHAL, TYPE_DATA using</div><div class='del'>-	  compatible loader.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 11:33:42 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_run_exec_options_err): restore save_env() call for</div><div class='del'>-	  non-fork environments.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_err): restore environments after the failure of</div><div class='del'>-	  exec to fix [ruby-core:44093] [Bug #6249] on non-fork environments</div><div class='del'>-</div><div class='del'>-Mon Jun  4 10:42:04 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): follow up changes in r35889.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_n): now uses char ** instead of VALUE *.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_process): prog is now VALUE of String, not char *.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 06:12:43 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): remove old warning for _alloc.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 04:24:06 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c: experimental test aborted.</div><div class='del'>-	* complex.c: ditto.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 00:45:18 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_process): fix for Windows.  not tested.</div><div class='del'>-</div><div class='del'>-Mon Jun  4 00:11:51 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec_e): don't use ISSPACE().  \f, \r and \v</div><div class='del'>-	  are not word separator in Bourne shell.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 23:47:30 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exec_arg): remove argc and argv fields.</div><div class='del'>-	  add use_shell, argv_str and argv_buf fields.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec_e): don't split shell command line arguments</div><div class='del'>-	  here to avoid memory allocation in a child process.</div><div class='del'>-	  (rb_exec_fillarg): split shell command line arguments here.</div><div class='del'>-	  (proc_exec_v): takes argv_str argument instead of argv.</div><div class='del'>-	  (rb_proc_exec_ne): removed.</div><div class='del'>-	  (rb_proc_exec_n): removed.</div><div class='del'>-	  (rb_run_exec_options_err): don't initialize the removed fields.</div><div class='del'>-	  (rb_exec_err): don't initialize the removed fields.</div><div class='del'>-	  call proc_exec_v directly instead of rb_proc_exec_ne.</div><div class='del'>-	  (rb_spawn_process): use use_shell field.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 21:53:00 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* GPL: update text of GPLv2. [ruby-core:44488] [Bug #6328]</div><div class='del'>-	  http://www.gnu.org/licenses/gpl-2.0.txt</div><div class='del'>-</div><div class='del'>-Sun Jun  3 21:22:52 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_getargs): remove rb_exec_arg argument.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 21:14:26 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c: calls directly rb_{Complex,Rational}_marshal_load().</div><div class='del'>-	  But now disabled. [experimental]</div><div class='del'>-	* complex.c: followed the above.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 21:18:17 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_check_argv): use rb_str_new_frozen instead of</div><div class='del'>-	  rb_str_new4.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 20:10:52 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec_e): extended version of rb_proc_exec() to</div><div class='del'>-	  call execle().</div><div class='del'>-	  (rb_proc_exec): use rb_proc_exec_e().</div><div class='del'>-	  (rb_exec_err): use rb_proc_exec_e().</div><div class='del'>-</div><div class='del'>-Sun Jun  3 19:47:18 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (vm_living_thread_num): suppress a warning.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 17:23:52 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* use execve() to preserve environment variables when exec method is</div><div class='del'>-	  failed.  [ruby-core:44093] [ruby-trunk - Bug #6249]</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_exec_arg): add envp_str and envp_buf field</div><div class='del'>-	  to store envp of execve().</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_v): takes envp_str as an argument and use it</div><div class='del'>-	  for execve().</div><div class='del'>-	  (rb_proc_exec_ne): extended version of rb_proc_exec_n().</div><div class='del'>-	  (rb_proc_exec_n): use rb_proc_exec_ne().</div><div class='del'>-	  (rb_proc_exec): follow proc_exec_v() change.</div><div class='del'>-	  (fill_envp_buf_i): new function.</div><div class='del'>-	  (rb_exec_arg_fixup): set up envp_str and envp_buf.</div><div class='del'>-	  (save_env_i): removed.</div><div class='del'>-	  (save_env): removed.</div><div class='del'>-	  (rb_run_exec_options_err): don't modify environment variables.</div><div class='del'>-	  (rb_exec_err): use rb_proc_exec_ne().</div><div class='del'>-</div><div class='del'>-Sun Jun  3 16:33:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c: revert r35879 "now marshal_{load|dump} are external."</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_marshal__{dump,load}): should use rb_marshal_{dump,load}.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_marshal__{dump,load}): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 14:13:58 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: checks whether the object is frozen or not.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 14:00:51 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: wrote Complex#_dump and Complex::load.  But now</div><div class='del'>-	  disabled (due to compatibility) [experimental].</div><div class='del'>-</div><div class='del'>-	* rational.c: wrote Rational#_dump and Rational::load. ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 10:23:32 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_marshal_load): [ruby-core:45394]</div><div class='del'>-	* rational.c (nurat_marshal_load): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 03:15:46 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (onig_number_of_names): suppress a warning.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 01:36:52 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: change names.</div><div class='del'>-	  (1) Class name: RubyVM::FrameInfo -&gt; RubyVM::Backtrace::Location.</div><div class='del'>-	  (2) Method name: RubyVM::FrameInfo.caller -&gt;</div><div class='del'>-	      Kernel.caller_locations.</div><div class='del'>-	  (3) Instance methods of</div><div class='del'>-	      RubyVM::FrameInfo (RubyVM::Backtrace::Location)</div><div class='del'>-	      (3-1) name -&gt; label</div><div class='del'>-	      (3-2) basename -&gt; base_label (basename is confusing with</div><div class='del'>-		    File.basename)</div><div class='del'>-	      (3-3) line_no -&gt; lineno (We have already similar name</div><div class='del'>-		    File#lineno, commented by kou [ruby-dev:45686]).</div><div class='del'>-	      (3-4) filename -&gt; path.</div><div class='del'>-	      (3-5) filepath -&gt; absolute_path.</div><div class='del'>-	      (3-5) iseq -&gt; removed (we will make other APIs to access iseq</div><div class='del'>-		    and other information of frame for debugging).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: apply above changes.</div><div class='del'>-	  And apply comment from kou [ruby-dev:45686].</div><div class='del'>-</div><div class='del'>-Sun Jun  3 00:49:11 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix to build vm_backtrace.c only itself (vm_backtrace.c</div><div class='del'>-	  is no longer included from vm.c).  I hope this separation reduce</div><div class='del'>-	  compile time of vm.c.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h, vm_dump.c, vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: some functions (callee, etc) moved to vm_backtrace.c.</div><div class='del'>-</div><div class='del'>-Sun Jun  3 00:20:53 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: added.  Separate backtrace related functions to</div><div class='del'>-	  this file.</div><div class='del'>-</div><div class='del'>-	* vm.c, common.mk: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun  2 18:09:02 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: Inhibit zero-filled octets in an IPv4 address in</div><div class='del'>-	  all platforms. [ruby-dev:45671]</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: Allow the x:x:x:x:x:x:d.d.d.d form not limited to</div><div class='del'>-	  IPv4 mapped/compatible addresses.  This change also makes it</div><div class='del'>-	  possible for the parser to understand IPv4 mapped and compatible</div><div class='del'>-	  IPv6 addresses in non-compressed form.</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: Stop exposing IPSocket.valid*? methods which were</div><div class='del'>-	  only usable on non-IPv6-ready platforms.</div><div class='del'>-</div><div class='del'>-Sat Jun  2 16:59:00 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat): don't reset coderange as unknown.</div><div class='del'>-	  the condition 'ptr_a8 &amp;&amp; str_cr != ENC_CODERANGE_7BIT' means not</div><div class='del'>-	  unknown, str is also ASCII-8BIT because str_encindex == ptr_encindex,</div><div class='del'>-	  and nont (str_cr == ENC_CODERANGE_UNKNOWN) and</div><div class='del'>-	  str_cr != ENC_CODERANGE_7BIT means str_cr is valid because ASCII-8BIT</div><div class='del'>-	  can't be broken. [ruby-dev:45688] [Bug #6509]</div><div class='del'>-</div><div class='del'>-Sat Jun  2 07:04:48 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc (Performance):  Replaced incorrect example of reducing</div><div class='del'>-	  backtracking through anchoring with reduced backtracking through a</div><div class='del'>-	  range.  [ruby-trunk - Bug #6525]</div><div class='del'>-</div><div class='del'>-Sat Jun  2 06:34:15 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc (Performance):  Removed useless sample output from final</div><div class='del'>-	  performance example and switched from #match to #=~ for consistency.</div><div class='del'>-	  [ruby-trunk - Bug #6524]</div><div class='del'>-</div><div class='del'>-Fri Jun  1 09:30:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (class_or_module_required): extract check for class or</div><div class='del'>-	  module.</div><div class='del'>-</div><div class='del'>-Fri Jun  1 08:50:47 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c:  Updated Array documentation formatting.  Patch by Zachary</div><div class='del'>-	  Scott.  [ruby-trunk - Feature #6517]</div><div class='del'>-</div><div class='del'>-Fri Jun  1 06:57:10 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb (DL::CStructEntity#set_ctypes):  Refactored</div><div class='del'>-	  #set_ctypes using newer ruby features to simplify its implementation.</div><div class='del'>-	* test/dl/test_c_struct_entry.rb (class DL):  Test to verify</div><div class='del'>-	  refactoring.</div><div class='del'>-</div><div class='del'>-Fri Jun  1 06:40:25 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object):  Restored Kernel documentation based on</div><div class='del'>-	  Pickaxe book documentation.  Patch by Zachary Scott.</div><div class='del'>-	  [ruby-trunk - Feature #6521]</div><div class='del'>-</div><div class='del'>-Fri Jun  1 06:29:42 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_equal):  Let Object be a link in #=== documentation.</div><div class='del'>-	  Patch by Zachary Scott.  [ruby-trunk - Feature #6518]</div><div class='del'>-</div><div class='del'>-Thu May 31 09:27:06 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb (DL::CStructEntity::size):  Refactored ::size</div><div class='del'>-	  to remove unused variables and simplify using newer ruby features.</div><div class='del'>-	* test/dl/test_c_struct_entry.rb:  Test to validate refactoring</div><div class='del'>-</div><div class='del'>-Thu May 31 08:40:34 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb (DL::CUnionEntity#set_ctypes):  Refactored</div><div class='del'>-	  #set_types to reuse DL::CUnionEntity::size</div><div class='del'>-	* test/dl/test_c_union_entity.rb:  Added test</div><div class='del'>-</div><div class='del'>-Thu May 31 08:20:14 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/struct.rb (DL::CUnionEntity::size):  Fixed ::size to</div><div class='del'>-	  return the size of the union.</div><div class='del'>-	* test/dl/test_c_union_entity.rb:  Test for DL::CUnionEntity::size</div><div class='del'>-</div><div class='del'>-Thu May 31 07:45:43 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl:  Added documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [ruby-trunk - Bug #6496]</div><div class='del'>-</div><div class='del'>-Wed May 30 16:30:00 2012  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/jacobian.rb,</div><div class='del'>-	  ext/bigdecimal/lib/bigdecimal/newton.rb:</div><div class='del'>-	  fix documentation comments.</div><div class='del'>-	  Patch by alperakgun from github.com/shyouhei/ruby/pull/8</div><div class='del'>-</div><div class='del'>-Wed May 30 16:20:00 2012  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/jacobian.rb (Jacobian#dfdxi):</div><div class='del'>-	  fix jacobian to get stuck in an infinite loop when a solution is not</div><div class='del'>-	  found due to forget to increment nRetry counter.</div><div class='del'>-	  Patch by alperakgun from github.com/shyouhei/ruby/pull/8</div><div class='del'>-</div><div class='del'>-Wed May 30 10:58:31 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (utc_offset_arg): utc offset can be precision in seconds.</div><div class='del'>-	  e.g. old Europe/Lisbon (c.f. [ruby-dev:40066])</div><div class='del'>-</div><div class='del'>-Wed May 30 06:20:29 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_set_backtrace):  Updated documentation to indicate</div><div class='del'>-	  set_backtrace allows a string as well as an array of strings.</div><div class='del'>-	  [ruby-trunk - Bug #6501]</div><div class='del'>-</div><div class='del'>-Tue May 29 17:28:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): support GNU extension triple</div><div class='del'>-	  colons modifier.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): check conversion with locale</div><div class='del'>-	  modifier.</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): colons are valid only for</div><div class='del'>-	  'z' and must come just before it.</div><div class='del'>-</div><div class='del'>-Mon May 28 16:56:55 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_prepare_run): StatusLineOutput</div><div class='del'>-	  needs job_status to be :replace.</div><div class='del'>-</div><div class='del'>-Mon May 28 13:35:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (do-install-*): fix dependencies.  based on the patch by</div><div class='del'>-	  nagachika at [ruby-dev:45683].  [Bug #6506]</div><div class='del'>-</div><div class='del'>-Mon May 28 12:03:04 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): doesn't free a method table if it doesn't</div><div class='del'>-	  exist. [ruby-dev:44436]</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): added the test case for</div><div class='del'>-	  this issue.</div><div class='del'>-</div><div class='del'>-Sun May 27 23:37:48 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_lvar_init.rb: added.</div><div class='del'>-	  This benchmark measures a initialize time of non-used variable.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_lvar_set.rb: added.</div><div class='del'>-	  This benchmark measures a local variables initialization time.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_bigarray.rb: added.</div><div class='del'>-	  This benchmark mesures a big array literal creation time.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_bighash.rb: added.</div><div class='del'>-	  This benchmark mesures a big hash literal creation time.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm*: change notation "i=0" to "i = 0".</div><div class='del'>-</div><div class='del'>-Sun May 27 13:33:26 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix to continue benchmarks when</div><div class='del'>-	  an error is occurred.</div><div class='del'>-</div><div class='del'>-Sun May 27 11:27:50 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_prepare_run): fix operator</div><div class='del'>-	  precedence, so that platform and TERM should be counted.</div><div class='del'>-</div><div class='del'>-Sun May 27 10:02:33 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: allows %Ok and %Ol.</div><div class='del'>-</div><div class='del'>-Sun May 27 09:29:20 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: modified doc.</div><div class='del'>-</div><div class='del'>-Sat May 26 19:04:34 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: added description.</div><div class='del'>-</div><div class='del'>-Sat May 26 18:14:57 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: reduced the code.</div><div class='del'>-</div><div class='del'>-Sat May 26 18:08:59 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: modified doc.</div><div class='del'>-	* ext/date/date_core.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 26 17:05:45 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (backtrace_*): change type of lev and n from size_t to int.</div><div class='del'>-	  Also set type of rb_backtrace_t#backtrace_size to int.</div><div class='del'>-	  A patch from nobu.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 26 16:26:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (realpath_rec): UNC prefix does not end with path separator,</div><div class='del'>-	  so new separator is needed after it.</div><div class='del'>-</div><div class='del'>-Sat May 26 15:29:22 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb (test_caller_lev):</div><div class='del'>-	  decrease recursion size.</div><div class='del'>-</div><div class='del'>-Sat May 26 13:50:48 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Kernel#caller's second argument.</div><div class='del'>-</div><div class='del'>-Sat May 26 13:40:29 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (RubyVM::FrameInfo): add a class to access each frame</div><div class='del'>-	  information.  You don't need to parse strings from caller().</div><div class='del'>-	  FrameInfo has the following methods:</div><div class='del'>-	    FrameInfo#name: method name, class name, etc with decorations.</div><div class='del'>-	    FrameInfo#basename: name without decorations.</div><div class='del'>-	    FrameInfo#line_no: line number.</div><div class='del'>-	    FrameInfo#filename: file name.</div><div class='del'>-	    FrameInfo#filepath: full filepath.</div><div class='del'>-	    FrameInfo#iseq: iseq if it is iseq frame (defined by ruby script)</div><div class='del'>-	    FrameInfo#to_s: return caller() method style string.</div><div class='del'>-	  RubyVM::FrameInfo.caller(n, lev) returns array of FrameInfo objects.</div><div class='del'>-	  The name "RubyVM::FrameInfo.caller" is long and ambiguous (it is</div><div class='del'>-	  confusing with Kernel::caller() method), we need to change the name</div><div class='del'>-	  before Ruby 2.0 release. Good names or comments are welcome.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add a test for above change.</div><div class='del'>-</div><div class='del'>-Sat May 26 12:18:09 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (frame_info_to_str): add `break'.</div><div class='del'>-</div><div class='del'>-	* vm.c (backtrace_object): remove lev and n parameter.</div><div class='del'>-	  backtrace_object always returns all of backtrace information.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_backtrace_to_str_ary): fix to use backtrace_object().</div><div class='del'>-	  This change improve performance of caller(lev, n).</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_backtrace.rb: added to check above improvement.</div><div class='del'>-	  FYI: measurement on my laptop, 1.9.3p229 needs 5.125 sec,</div><div class='del'>-	  and current trunk only needs 0.299sec.</div><div class='del'>-</div><div class='del'>-Sat May 26 11:05:09 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_frame_info_t): keep previous ISEQ frame info for CFUNC</div><div class='del'>-	  frame info.  And fix to cache a calculated line_no of ISEQ frame</div><div class='del'>-	  info.</div><div class='del'>-</div><div class='del'>-Sat May 26 09:54:53 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Allow disabling client-side renegotiation.</div><div class='del'>-	* test/openssl/test_ssl.rb: Simple tests for this.</div><div class='del'>-</div><div class='del'>-	  Client-side renegotiation is still considered problematic, even</div><div class='del'>-	  when used in the context of secure renegotiation (RI, RFC 5746).</div><div class='del'>-	  The changes allow users to either completely disable client</div><div class='del'>-	  renegotiation on the server, or to specify a maximum number of</div><div class='del'>-	  handshakes allowed in total. The number of total handshakes is</div><div class='del'>-	  counted in a callback set as SSL_set_info_callback. If the</div><div class='del'>-	  maximum number of handshakes is exceeded an error will be raised</div><div class='del'>-	  We do not support renegotiation in the OpenSSL extension, therefore</div><div class='del'>-	  this feature can only be tested externally.</div><div class='del'>-	  The feature is opt-in, the default setting will be to allow</div><div class='del'>-	  unlimited client renegotiation, as was the case before.</div><div class='del'>-</div><div class='del'>-Fri May 25 23:38:58 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Clarify the intention of errors to be</div><div class='del'>-	  expected. Two errors are possible when connection is refused due</div><div class='del'>-	  to a protocol version that was explicitly disallowed,</div><div class='del'>-	  OpenSSL::SSL::SSLError or Errno::ECONNRESET, depending on the</div><div class='del'>-	  OpenSSL version in use.</div><div class='del'>-</div><div class='del'>-Fri May 25 22:19:40 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Revert r35583</div><div class='del'>-	* test/openssl/test_ssl.rb: Handle ECONNRESET in code instead to avoid</div><div class='del'>-	  the test failing in Ruby CI [1]</div><div class='del'>-</div><div class='del'>-	[1] http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120507T190102Z.log.html.gz#test-all</div><div class='del'>-</div><div class='del'>-Fri May 25 19:51:36 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_caller): caller() method accepts second optional</div><div class='del'>-	  argument `n' which specify how many frames should return.</div><div class='del'>-	  For example, `caller(0, 1)' returns only one frame information</div><div class='del'>-	  which calls caller() method.  If there are less than n frame</div><div class='del'>-	  information, then all frame information are returned.  If n is 0,</div><div class='del'>-	  then always return [].</div><div class='del'>-	  This fix is part of [ruby-dev:42345] [Ruby 1.9-Feature#3917].</div><div class='del'>-	  However, performance and features are not enough.</div><div class='del'>-	  RDoc is also not available.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Fri May 25 17:05:07 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (oldbt_init, vm_backtrace_str_ary): arg-&gt;data should</div><div class='del'>-	  be initialized before calling `backtrace_each()'.</div><div class='del'>-</div><div class='del'>-Fri May 25 16:11:27 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* trunk/ext/-test-/printf/printf.c: change function names because of</div><div class='del'>-	  conflict with msvcrt.  fixed build error of mswin.</div><div class='del'>-</div><div class='del'>-Fri May 25 10:52:52 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: refactoring backtrace related functions.</div><div class='del'>-	  (1) unify similar functions (rb_backtrace_each() and</div><div class='del'>-	      backtrace_object()).  backtrace_each() is a unified function.</div><div class='del'>-	      variation:</div><div class='del'>-	      a) backtrace_object(): create backtrace object.</div><div class='del'>-	      b) vm_backtrace_str_ary(): create bt as an array of string.</div><div class='del'>-	      c) vm_backtrace_print(): print backtrace to specified file.</div><div class='del'>-	      d) rb_backtrace_print_as_bugreport(): print backtrace on</div><div class='del'>-	                                            bugreport style.</div><div class='del'>-	  (2) remove rb_backtrace_each().  Use backtrace_each() instead.</div><div class='del'>-	  (3) change the type of lev parameter to size_t.</div><div class='del'>-	      a) lev == 0 means current frame (exception, etc use it).</div><div class='del'>-	      b) lev == 1 means upper frame (caller(0) use it).</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_dump.c, vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (backtrace_object(), vm_backtrace_str_ary()): fix to return a</div><div class='del'>-	  correct size of caller(lev) array.</div><div class='del'>-	  Let n be a "caller(0).size" then ln as caller(lev).size should be</div><div class='del'>-	  (n - lev).  However, the previous implementation returns a wrong</div><div class='del'>-	  size array (ln &gt; n - lev).  [ruby-dev:45673]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add tests for backtrace.</div><div class='del'>-</div><div class='del'>-Fri May 25 08:51:39 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_count):  Enumerable#count no longer uses #size when</div><div class='del'>-	  counting elements.  Patch by Nobuhiro IMAI.  [ruby-trunk - Bug #6473]</div><div class='del'>-</div><div class='del'>-Fri May 25 01:15:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvextra): [EXPERIMENTAL] use inspect instead of</div><div class='del'>-	  to_s if plus flag is given.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): pass sign flag.</div><div class='del'>-</div><div class='del'>-Fri May 25 00:37:22 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_indexer.rb (setup, teardown): save @tempdir</div><div class='del'>-	  to remove it properly.  [Bug #5348]</div><div class='del'>-</div><div class='del'>-Thu May 24 23:36:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): [EXPERIMENTAL] object representation in</div><div class='del'>-	  rb_enc_vsprintf(). [Feature #5896]</div><div class='del'>-</div><div class='del'>-Thu May 24 15:33:01 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_defined_by): removed.</div><div class='del'>-	  nobu pointed out that rb_method_basic_definition_p() is enough</div><div class='del'>-	  for last commit.</div><div class='del'>-</div><div class='del'>-	* error.c, eval_error.c: change for above.</div><div class='del'>-</div><div class='del'>-Thu May 24 14:30:13 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: add RubyVM::Backtrace object (btobj).</div><div class='del'>-	  Backtrace information contains an array consists of location</div><div class='del'>-	  information for each frames by string.</div><div class='del'>-	  RubyVM::Backtrace object is lightweight backtrace information,</div><div class='del'>-	  which contains complete information to generate traditional style</div><div class='del'>-	  backtrace (an array of strings) with faster generation.</div><div class='del'>-	  If someone accesses to backtrace information via</div><div class='del'>-	  Exception#backtrace, then convert a RubyVM::Backtrace object to</div><div class='del'>-	  traditional style backtrace.</div><div class='del'>-	  This change causes incompatibility on marshal dumped binary</div><div class='del'>-	  of Exception.  If you have any trouble on it, please tell us</div><div class='del'>-	  before Ruby 2.0 release.</div><div class='del'>-	  Note that RubyVM::Backtrace object should not expose Ruby level.</div><div class='del'>-</div><div class='del'>-	* error.c, eval.c, vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_error.c: fix to skip "set_backtrace" method invocation in</div><div class='del'>-	  creating an exception object if it call a normal set_backtrace</div><div class='del'>-	  method (defined by core).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: fix for above change.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_defined_by): added.  This function</div><div class='del'>-	  checks that the given object responds with the given method</div><div class='del'>-	  by the given cfunc.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_raise1.rb, benchmark/bm_vm2_raise2.rb:</div><div class='del'>-	  add to measure exception creation speed. raise1 create</div><div class='del'>-	  exception objects from shallow stack frame.  raise2 create</div><div class='del'>-	  exception objects from deep stack frame.</div><div class='del'>-</div><div class='del'>-Thu May 24 12:07:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_strip_bom): check EOF.  [Bug #6487][ruby-core:45203]</div><div class='del'>-</div><div class='del'>-Wed May 23 22:06:14 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/header.rb (Net::HTTPHeader#range): fix broken parser of</div><div class='del'>-	  HTTP Range request. Old one can't parse invalid specs and multiple</div><div class='del'>-	  specs correctly.</div><div class='del'>-</div><div class='del'>-Wed May 23 10:18:54 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (finish_overlapped_socket, overlapped_socket_io):</div><div class='del'>-	  replace ECONNABORTED to EPIPE in send, sendto and sendmsg to improve</div><div class='del'>-	  BSD socket compatibility.  this change removes a failure on the test</div><div class='del'>-	  of net/ftp.</div><div class='del'>-</div><div class='del'>-Wed May 23 05:35:58 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Broke up Net::HTTP into individual files.</div><div class='del'>-	  [ruby-trunk - Feature #6435]</div><div class='del'>-	* lib/net/http/backward.rb:  ditto.</div><div class='del'>-	* lib/net/http/response.rb:  ditto.</div><div class='del'>-	* lib/net/http/exceptions.rb:  ditto.</div><div class='del'>-	* lib/net/http/responses.rb:  ditto.</div><div class='del'>-	* lib/net/http/generic_request.rb:  ditto.</div><div class='del'>-	* lib/net/http/header.rb:  ditto.</div><div class='del'>-	* lib/net/http/request.rb:  ditto.</div><div class='del'>-	* lib/net/http/proxy_delta.rb:  ditto.</div><div class='del'>-	* lib/net/http/requests.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Wed May 23 05:15:11 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy):  Clear the cached inspect string of a</div><div class='del'>-	  dup'd anonymous module or class.  [ruby-trunk - Bug #6454]</div><div class='del'>-	* test/ruby/test_module.rb (class TestModule):  ditto</div><div class='del'>-</div><div class='del'>-Tue May 22 16:49:15 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add a data type rb_location_t to store iseq location</div><div class='del'>-	  information.</div><div class='del'>-	  rb_location_t#filename, filepath, name and line_no was moved from</div><div class='del'>-	  rb_iseq_t.  rb_location_t#basename is a new field which is</div><div class='del'>-	  similar to `name' field without any decoration.</div><div class='del'>-	  `name' field contains some decoration such as `block in foo'.</div><div class='del'>-	  `basename' only contains `foo'.</div><div class='del'>-	  rb_iseq_t contains memory object of rb_location_t.</div><div class='del'>-</div><div class='del'>-	* iseq.c: setup rb_location_t for each rb_iseq_t memory objects.</div><div class='del'>-</div><div class='del'>-	* compile.c, proc.c, vm.c, vm_dump.c, vm_eval.c, vm_insnhelper.c,</div><div class='del'>-	  vm_method.c: support about it.</div><div class='del'>-</div><div class='del'>-Tue May 22 00:45:05 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_members): Refactoring.  As Struct#members had</div><div class='del'>-	  returned an array of String, the old code was needed to convert</div><div class='del'>-	  Symbols to Strings.  But it is almost unnecessary because the</div><div class='del'>-	  method now returns an array of Symbols.  A patch by Masaki</div><div class='del'>-	  Matsushita &lt;glass.saga at gmail dot com&gt;  [Feature #6218]</div><div class='del'>-	  [ruby-dev:45451]</div><div class='del'>-</div><div class='del'>-Mon May 21 19:20:25 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#retrbinary): close only if conn is not nil</div><div class='del'>-	  because transfercmd may fail and return nil.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#retrlines): ditto.</div><div class='del'>-</div><div class='del'>-Mon May 21 15:10:28 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: Classify constants and macros into several</div><div class='del'>-	  sub-modules. (Syslog::Priority, Syslog::Level, Syslog::Option</div><div class='del'>-	  and Syslog::Macros)</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (mSyslog_inspect): Use rb_sprintf().</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (mSyslog_inspect): Make sure self is a</div><div class='del'>-	  module before calling rb_class2name().</div><div class='del'>-</div><div class='del'>-Mon May 21 12:44:11 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (install): It seems tcl/tk is skipped in Travis</div><div class='del'>-	  CI. Trying to fix the situation.</div><div class='del'>-</div><div class='del'>-Mon May 21 12:11:25 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (ENCOBJS): add dependencies.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb (target_encodings): extract dependencies.</div><div class='del'>-</div><div class='del'>-Mon May 21 11:26:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#transfercmd): rescue shutdown.</div><div class='del'>-</div><div class='del'>-Sun May 20 23:00:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): reopen $stdout to NULL, since setting</div><div class='del'>-	  $stdout cannot affect child processes.</div><div class='del'>-</div><div class='del'>-Sun May 20 21:36:39 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (code_to_mbclen): return</div><div class='del'>-	  ONIGERR_INVALID_CODE_POINT_VALUE if the code is invalid.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_next): increment character until the code</div><div class='del'>-	  is a valid character. [ruby-dev:45652] [Bug #6450]</div><div class='del'>-</div><div class='del'>-Sun May 20 12:25:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (LIBRUBY_SO): link EXTSOLIBS too.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid</div><div class='del'>-	  of discard libraries needed by default.  [Bug #6462]</div><div class='del'>-</div><div class='del'>-Sat May 19 19:04:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (command_output): ENCOBJS is needed for all linked</div><div class='del'>-	  ruby, if --disable-shared and --with-static-linked-ext.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (command_output): dmyext is needed as DLDOBJS if no</div><div class='del'>-	  static linked extensions.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk (PROGRAM): no extension libraries.</div><div class='del'>-</div><div class='del'>-	* common.mk (build-ext): pass macros for libruby.so.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (command_output): link extension libraries and encoding</div><div class='del'>-	  libraries into libruby.so, not ruby executable.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (command_output): fold long macro lines.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (LIBEXT): add macro.</div><div class='del'>-</div><div class='del'>-	* configure.in (ENCOBJS, EXTOBJS): use LIBEXT, not hardcoded suffix.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (LIBRUBY_A): fix typo.  re-applying r35242.</div><div class='del'>-</div><div class='del'>-Sat May 19 04:46:53 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Use Logging::message instead of message.</div><div class='del'>-	* ext/zlib/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri May 18 18:13:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#configuration): keep space at end of</div><div class='del'>-	  OUTFLAG and COUTFLAG.  [ruby-dev:45650]</div><div class='del'>-</div><div class='del'>-Fri May 18 17:39:42 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): Added error</div><div class='del'>-	  check when failing fcntl(). [Bug #6147] [ruby-dev:45364]</div><div class='del'>-</div><div class='del'>-Fri May 18 17:41:00 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): link archives only, skip script only</div><div class='del'>-	  extension libraries.</div><div class='del'>-</div><div class='del'>-Fri May 18 17:25:33 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: bump up fiber machine stack size when running on 64bit</div><div class='del'>-	  arch. [Bug #6344] [ruby-dev:45554]</div><div class='del'>-</div><div class='del'>-Fri May 18 15:20:56 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic.build): duplicate args before adding</div><div class='del'>-	  new items. (don't change arguments)</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic.build): use URI::Generic::COMPONENT</div><div class='del'>-	  if this method is called from URI::Generic.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic.build2): escape only if the item is</div><div class='del'>-	  a String.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic.build2): use DEFAULT_PARSER because</div><div class='del'>-	  it doesn't have parser method. [Bug #6420]</div><div class='del'>-</div><div class='del'>-Fri May 18 15:54:07 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb: Use an exception instead of bare puts.</div><div class='del'>-</div><div class='del'>-Fri May 18 15:53:05 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/extconf.rb: Use an exception instead of bare abort.</div><div class='del'>-</div><div class='del'>-Fri May 18 15:51:32 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: Use an exception instead of bare abort.</div><div class='del'>-</div><div class='del'>-Fri May 18 15:49:35 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: Use an exception instead of bare exit.</div><div class='del'>-</div><div class='del'>-Fri May 18 15:38:11 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb: Use an exception instead of bare</div><div class='del'>-	  Logging.message.</div><div class='del'>-</div><div class='del'>-Fri May 18 15:23:06 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Clarify a message when hit Apple</div><div class='del'>-	  OpenSSL issue.</div><div class='del'>-</div><div class='del'>-Fri May 18 15:14:32 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: Show a message when extconf.rb raised an exception.</div><div class='del'>-	* ext/openssl/extconf.rb: Use exception raising instead of message</div><div class='del'>-	  and/or abort. We want to display error message to console _and_</div><div class='del'>-	  logging into mkmf.log.</div><div class='del'>-</div><div class='del'>-Fri May 18 06:14:07 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/lib/syslog/logger.rb:  Added Syslog::Logger which was</div><div class='del'>-	  ported from the SyslogLogger gem.  [ruby-trunk - Feature #5096]</div><div class='del'>-	* NEWS:  ditto.</div><div class='del'>-	* test/syslog/test_syslog_logger.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Fri May 18 01:28:21 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (transcode_string): fix encoding index names.</div><div class='del'>-	  Thanks markizko for reporting.</div><div class='del'>-</div><div class='del'>-Thu May 17 23:03:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix function name to be checked, to initialize</div><div class='del'>-	  rb_thread_cond_t properly.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_initialize, native_cond_destroy):</div><div class='del'>-	  fix macro name.</div><div class='del'>-</div><div class='del'>-Thu May 17 12:53:07 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.c: Moved pthread-specific preprocessor</div><div class='del'>-	  hacks to thread_pthread.c</div><div class='del'>-</div><div class='del'>-Thu May 17 12:18:47 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Fix a mistake on merging the patch in the previous commit.</div><div class='del'>-</div><div class='del'>-Thu May 17 11:33:07 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	Imports Ruby's port to NativeClient (a.k.a NaCl).</div><div class='del'>-	Patch by Google Inc. [ruby-core:45073].</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_NACL): New M4 func to configure variables for</div><div class='del'>-	  NaCl.</div><div class='del'>-	  (RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names</div><div class='del'>-	  of Pepper interface types.</div><div class='del'>-	  (BTESTRUBY): New variable to specify which ruby should be run on</div><div class='del'>-	  "make btest". NaCl can run the built binary by sel_ldr, but it need</div><div class='del'>-	  rbconfig.rb. So this variable is distinguished from $MINIRUBY.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: Disabled some features on NaCl.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* signal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* missing/flock.c: ditto.</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c: An example implementation of Pepper application</div><div class='del'>-	  that embeds Ruby.</div><div class='del'>-</div><div class='del'>-	* nacl/example.html: An example of web page that uses the Pepper</div><div class='del'>-	  application.</div><div class='del'>-</div><div class='del'>-	* nacl/nacl-config.rb: Detects variants of NaCl SDK.</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in: Makefile template for NaCl specific build</div><div class='del'>-	  process.</div><div class='del'>-</div><div class='del'>-	* nacl/package.rb: script for packaging a NaCl-Ruby embedding</div><div class='del'>-	  application.</div><div class='del'>-</div><div class='del'>-	* nacl/reate_nmf.rb: Wrapper script of create_nmf.py</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): Added a hack to call on NaCl.</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_getcwd): Path to the current directory is not available</div><div class='del'>-	  on NaCl.</div><div class='del'>-</div><div class='del'>-Thu May 17 10:54:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: add -l options to $libs not $LDFLAGS,</div><div class='del'>-	  to be passed to EXTLIBS in exts.mk.</div><div class='del'>-</div><div class='del'>-	* enc/encinit.c.erb: use %-lines to adjust indent in the generated file.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#have_framework): combine -framework option</div><div class='del'>-	  and its argument with an equal sign not to be separated in merge_libs.</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: EXTLDFLAGS also needs to be passed.</div><div class='del'>-</div><div class='del'>-Wed May 16 15:44:22 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix an unbalanced quote.</div><div class='del'>-</div><div class='del'>-Wed May 16 15:43:10 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (exts.mk): use double quotes instead of single quotes</div><div class='del'>-	  for commandline because it's not recognized as quotes on Windows.</div><div class='del'>-</div><div class='del'>-Wed May 16 15:15:55 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LD): enclose with single quotes but not double quotes</div><div class='del'>-	  not to expand command substitution.</div><div class='del'>-</div><div class='del'>-Wed May 16 14:19:51 2012  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	Supports static linking of extensions and encodings again.</div><div class='del'>-	Fixes --with-static-linked-ext.</div><div class='del'>-</div><div class='del'>-	Patch by Google Inc. [ruby-core:45073].</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static</div><div class='del'>-	  linked libraries. Also reintroduces extinit.o, introduces encinit.o</div><div class='del'>-	  introduces encinit.o</div><div class='del'>-</div><div class='del'>-	* common.mk: Builds static libraries rather than shared objects if</div><div class='del'>-	  specified.</div><div class='del'>-</div><div class='del'>-	* configure.in (LD): new substitution.</div><div class='del'>-</div><div class='del'>-	* enc/depend: Supports static linked libraries</div><div class='del'>-	  (libencs, libenc, libtrans): New target.</div><div class='del'>-</div><div class='del'>-	* enc/encinit.c.erb: new template to generate the initialization of</div><div class='del'>-	  statically linked encodings.</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb (--module): new flag to specify whether static</div><div class='del'>-	  or dynamic.</div><div class='del'>-</div><div class='del'>-	* transcode_data.h (TRANS_INIT): New macro to get rid of the name</div><div class='del'>-	  collision of encoding initializers and transcoder initializers.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: Fixes the behavior on $extstatic is true.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (clean-static): new target to clean up static linked</div><div class='del'>-	  libraries.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): New initializes statically linked</div><div class='del'>-	  encodings here.</div><div class='del'>-</div><div class='del'>-Wed May 16 14:30:43 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fixed a merge mistake of r33878, reported by nobu via IRC.</div><div class='del'>-</div><div class='del'>-Wed May 16 06:59:41 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: should also be aware of flags on</div><div class='del'>-	  complex specifier.</div><div class='del'>-</div><div class='del'>-Wed May 16 05:11:29 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: fix a bug with string</div><div class='del'>-	  subclass dumping and loading.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_array.rb: pertinent tests</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed May 16 01:31:21 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: convert omap tagged maps to</div><div class='del'>-	  Psych::Omap objects rather than hashes. [Bug #6425]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_omap.rb: pertinent test.</div><div class='del'>-</div><div class='del'>-Wed May 16 01:15:45 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: keep a reference to</div><div class='del'>-	  custom coders so that GC does not impact dumped yaml reference ids.</div><div class='del'>-</div><div class='del'>-Tue May 15 23:59:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Options#setup_options): add --color option.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_prepare_run): defer color code</div><div class='del'>-	  initialization to regard --color option.</div><div class='del'>-</div><div class='del'>-Mon May 14 16:28:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arglist): should reset lexical states after empty</div><div class='del'>-	  argument list with no parenthesis as well as parenthesized list,</div><div class='del'>-	  so that reserved name method definition work.  [ruby-dev:45626]</div><div class='del'>-	  [Bug #6403]</div><div class='del'>-</div><div class='del'>-Mon May 14 00:14:24 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_take_func, lazy_take): multiple calls of</div><div class='del'>-	  force/to_a method to Enumerator::Lazy#take should return same</div><div class='del'>-	  results. [ruby-dev:45634] [Bug #6428]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb (test_take_recycle): add test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Sun May 13 23:38:31 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_flush_in_finalizer1): don't use IO.for_fd</div><div class='del'>-	  to close IO objects. it create IO object with already closed fd, and</div><div class='del'>-	  cause occasional Errno::EBADF in following tests. [ruby-core:45020]</div><div class='del'>-	  [Bug #6228]</div><div class='del'>-</div><div class='del'>-Sun May 13 23:32:16 2012  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO): revert r35631. it broke the intent of</div><div class='del'>-	  test_flush_in_finalizer1.  [ruby-core:43951] [Bug #6228]</div><div class='del'>-</div><div class='del'>-Sun May 13 22:46:36 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (passwd_ensure): move endpwent() call from</div><div class='del'>-	  passwd_iterate to close /etc/passwd on exception.</div><div class='del'>-	  (group_ensure): move endgrent() call from group_iterate to close</div><div class='del'>-	  /etc/group on exception.</div><div class='del'>-</div><div class='del'>-Sun May 13 18:10:43 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: removed unused code and changed the style.</div><div class='del'>-</div><div class='del'>-Sun May 13 17:37:56 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: refactored.</div><div class='del'>-</div><div class='del'>-Sun May 13 06:40:12 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (class TestIO):  Disable GC during IO tests to</div><div class='del'>-	  avoid file descriptors being GC'ed. Suggestion by Tomoyuki Chikanaga</div><div class='del'>-	  [ruby-core:43951][Bug #6228]</div><div class='del'>-</div><div class='del'>-Sat May 12 07:00:16 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c:  Added documentation.  Patch by Justin Collins,</div><div class='del'>-	  cleanup by Zachary Scott.  [ruby-trunk - #6410]</div><div class='del'>-</div><div class='del'>-Sat May 12 06:02:03 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (cp_r):  Fixed cp_r example.  Patch by TJ Koblentz</div><div class='del'>-	  from pull request #114.  [ruby-trunk - Bug #6411]</div><div class='del'>-</div><div class='del'>-Sat May 12 05:23:06 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common):</div><div class='del'>-	  test_signal_requiring of test/ruby/test_signal.rb fail if the sub</div><div class='del'>-	  process is killed on waiting IO in lex_io_gets in rb_load_file in</div><div class='del'>-	  rb_load_internal in require.</div><div class='del'>-	  This is because</div><div class='del'>-	  (1) the process receive the killing signal in</div><div class='del'>-	      rb_thread_io_blocking_region in rb_read_internal in lex_io_gets.</div><div class='del'>-	  (2) set th-&gt;errinfo as INT2FIX(TAG_FATAL) at</div><div class='del'>-	      rb_threadptr_execute_interrupts_common.</div><div class='del'>-	  (3) escape rb_load_file in rb_load_internal and jump to EXEC_TAG()</div><div class='del'>-	      without set loaded as TRUE.</div><div class='del'>-	  (4) call first rb_exc_raise(GET_THREAD()-&gt;errinfo); because loaded</div><div class='del'>-	      is FALSE as above. this errinfo should be an exception object</div><div class='del'>-	      but this is INT2FIX(TAG_FATAL).</div><div class='del'>-	  Don't call first rb_exc_raise if GET_THREAD()-&gt;errinfo is Fixnum.</div><div class='del'>-</div><div class='del'>-Fri May 11 14:23:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): begin/end block should be isolated from outside.</div><div class='del'>-	  [ruby-dev:45631][Bug #6419]</div><div class='del'>-</div><div class='del'>-Fri May 11 14:09:47 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC,</div><div class='del'>-	  must not cast it to unsigned long, which may be shorter than</div><div class='del'>-	  VALUE, and the result can be mere garbage.</div><div class='del'>-</div><div class='del'>-Fri May 11 09:51:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#failed): no unnecessary</div><div class='del'>-	  newlines if no reports to be displayed.</div><div class='del'>-</div><div class='del'>-Thu May 10 10:55:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_mock.rb: Correct requiring path to</div><div class='del'>-	  metametameta.rb.</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_unit.rb: Correct requiring path to</div><div class='del'>-	  metametameta.rb.</div><div class='del'>-</div><div class='del'>-Thu May 10 10:18:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_state_name): returns name for lex_state_e, for debug</div><div class='del'>-	  use.</div><div class='del'>-</div><div class='del'>-Wed May  9 16:36:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#pkg_config): check if libs resulted from</div><div class='del'>-	  pkg-config works actually.</div><div class='del'>-</div><div class='del'>-Wed May  9 16:01:38 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (decode_utf7, encode_utf7): refactored by</div><div class='del'>-	  Nobuyoshi Nakada, to use String#encode.</div><div class='del'>-</div><div class='del'>-Wed May  9 13:26:25 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb: skip OpenSSL dependent</div><div class='del'>-	  tests if not available.</div><div class='del'>-</div><div class='del'>-Wed May  9 08:09:38 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 3.0.0 (r7435)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-	* test/rubygems/*: Imported fixes for buggy use of assert_match</div><div class='del'>-	  and deprecated assert_block</div><div class='del'>-	UNBUNCH YOUR PANTIES. THE TESTS DO NOT RUN CLEAN ON OSX.</div><div class='del'>-</div><div class='del'>-Wed May  9 06:28:59 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_equal):  Removed incorrect example for Regexp#== with</div><div class='del'>-	  "n" option.  [ruby-talk - Bug #6415]</div><div class='del'>-</div><div class='del'>-Wed May  9 06:23:33 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: reverted.</div><div class='del'>-</div><div class='del'>-Wed May  9 04:31:26 2012  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (lookup_ring_any): fix Rinda::RingFinger.primary</div><div class='del'>-	  hungs forever. [ruby-talk:395364]</div><div class='del'>-</div><div class='del'>-Tue May  8 21:09:00 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (FD_SET): change function to macro.</div><div class='del'>-	  To avoid buffer overflow when smaller FD_SETSIZE is used in ext</div><div class='del'>-	  libraries.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fdset): this function is not used anymore.</div><div class='del'>-	  But we leave this for compatibility.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select_with_thread): fix SEGV when smaller</div><div class='del'>-	  FD_SETSIZE is used in ext libraries. Dereference of fd_set pointer</div><div class='del'>-	  causes SEGV.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/win32/test_fd_setsize.rb(TestFdSetSize): add tests for</div><div class='del'>-	  above.</div><div class='del'>-	* ext/-test-/win32/fd_setsize/depend: ditto.</div><div class='del'>-	* ext/-test-/win32/fd_setsize/extconf.rb: ditto.</div><div class='del'>-	* ext/-test-/win32/fd_setsize/fd_setsize.c: ditto.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:44588] [Bug #6352]</div><div class='del'>-</div><div class='del'>-Tue May  8 20:44:46 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): fix IO#pos with mode 'r' bug on Windows.</div><div class='del'>-	  If the end of reading buffer is CR, io_unread() needs to unread one</div><div class='del'>-	  more byte.</div><div class='del'>-	  [ruby-core:44874] [Bug #6401]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#test_pos_with_buffer_end_cr):</div><div class='del'>-	  add a test for above.</div><div class='del'>-</div><div class='del'>-Tue May  8 13:38:17 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: improving introduction in Date/DateTime</div><div class='del'>-	  documentation. patched by Daniel Kaufman via Github.</div><div class='del'>-		https://github.com/ruby/ruby/pull/110</div><div class='del'>-</div><div class='del'>-Tue May  8 13:36:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (POSTLINK): default to : command to get rid of flag</div><div class='del'>-	  only command, since BSD make does not work with it.</div><div class='del'>-</div><div class='del'>-Tue May  8 13:35:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (MiniTest#run_test): remove exact trace and get rid</div><div class='del'>-	  of IndexError, which could caused by modified $@ sometimes.</div><div class='del'>-</div><div class='del'>-Tue May  8 11:21:27 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/metametameta.rb (MetaMetaMetaTestCase#assert_report):</div><div class='del'>-	  support drive letter on Windows.  yes, the original code is metameta.</div><div class='del'>-</div><div class='del'>-Tue May  8 08:54:48 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb:  Fixed typo in abbrev pattern documentation.  Based on</div><div class='del'>-	  patch by Mark Rushakoff.  [ruby-trunk - #6346]</div><div class='del'>-</div><div class='del'>-Tue May  8 07:44:18 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_start_ssl): remove useless rb_sys_fail</div><div class='del'>-	  before ossl_raise. this cause a test failure on Linux.</div><div class='del'>-	 http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120507T190102Z.log.html.gz</div><div class='del'>-</div><div class='del'>-Tue May  8 05:35:18 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object):  Added reference to variable.c where</div><div class='del'>-	  public_constant and private_constant documentation lives.  [#6381]</div><div class='del'>-</div><div class='del'>-Tue May  8 04:47:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#output): prefer local output to</div><div class='del'>-	  get rid of unexpected side effect in test/minitest/metametameta.rb.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (MiniTest#run_test): show the running test in $0.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::StatusLineOutput): new class to output</div><div class='del'>-	  in status line.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_hideskip.rb (TestHideSkip#test_hideskip):</div><div class='del'>-	  MiniTest#puke now reports Skipped messages only if verbose mode.</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_sorting.rb (TestTestUnitSorting#test_sorting):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and</div><div class='del'>-	  drop useless reports, not override entirely.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb (exec_test, show_progress): show rotators</div><div class='del'>-	  and pass/fail counts.</div><div class='del'>-</div><div class='del'>-	* sample/test.rb (PROGRESS): refine output.</div><div class='del'>-</div><div class='del'>-Tue May  8 02:34:26 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (assert_match): refix of r35563.</div><div class='del'>-	  r35563 breaks the intention of the original change.</div><div class='del'>-	 https://github.com/seattlerb/minitest/commit/68858105b2eb11c85105ffac5f32b662c59397f3</div><div class='del'>-	* lib/minitest/unit.rb (refute_match): ditto.</div><div class='del'>-</div><div class='del'>-Mon May  7 21:19:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Merge JSON 1.7.1.</div><div class='del'>-	 https://github.com/flori/json/commit/e5b9a9465c1159fae533bca320d950b772bcb4ac</div><div class='del'>-</div><div class='del'>-Mon May  7 22:54:22 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: add support for option flags</div><div class='del'>-	  OpenSSL::SSL::OP_NO_TLSv1_1</div><div class='del'>-	  OpenSSL::SSL::OP_NO_TLSv1_2</div><div class='del'>-	  to allow blocking specific TLS versions. Thanks to Justin Guyett for</div><div class='del'>-	  pointing this out to me.</div><div class='del'>-	* test/openssl/test_ssl.rb: add tests to assert correct behavior when</div><div class='del'>-	  blocking certain versions of TLS/SSL both on server and client side.</div><div class='del'>-	  Also refactored tests to reduce boilerplate code a little.</div><div class='del'>-	* test/openssl/utils.rb: rescue Errno::ECONNRESET for tests where</div><div class='del'>-	  client rejects the connection because a forbidden protocol version</div><div class='del'>-	  was used.</div><div class='del'>-</div><div class='del'>-Mon May  7 20:14:15 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (random_bytes): call to_int method for the</div><div class='del'>-	  argument at first.</div><div class='del'>-</div><div class='del'>-Mon May  7 17:54:12 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (assert_match): replace matcher only if both</div><div class='del'>-	  matcher and obj are String. fix r35541. [Bug #6405]</div><div class='del'>-	  DON'T COMMIT IF YOU CAN'T RUN TEST.</div><div class='del'>-	  FIX AS SOON AS POSSIBLE YOU BREAK TESTS.</div><div class='del'>-	  patched by ayumin.</div><div class='del'>-	  https://github.com/seattlerb/minitest/pull/124</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (refute_match): ditto.</div><div class='del'>-</div><div class='del'>-Mon May  7 13:41:00 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (PROGRAM), configure.in (POSTLINK): sign built program</div><div class='del'>-	  using RUBY_CODESIGN identity.</div><div class='del'>-</div><div class='del'>-Mon May  7 13:03:55 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (body_type_attachment): parse body type</div><div class='del'>-	  "ATTACHMENT". [ruby-core:44849] [Bug #6397]</div><div class='del'>-</div><div class='del'>-Mon May  7 10:49:36 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): define IDs before</div><div class='del'>-	  they are used. [ruby-core:44900] [Bug #6406]</div><div class='del'>-</div><div class='del'>-Mon May  7 10:27:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/rmd160.c (RMD160_Update): fix for huge data.</div><div class='del'>-</div><div class='del'>-Mon May  7 10:23:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb: use assert_equal, assert_match, and so on.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_utf16.rb, test/ruby/enc/test_utf32.rb,</div><div class='del'>-	  test/ruby/test_io_m17n.rb (assert_str_equal): ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb</div><div class='del'>-	  (assert_data_from_{server,proxy}): ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_pstore.rb (test_thread_safe): ditto.</div><div class='del'>-</div><div class='del'>-Mon May  7 10:16:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb (TestGemInstaller#test_dir): fix</div><div class='del'>-	  argument order.  expected value must come first.</div><div class='del'>-</div><div class='del'>-Mon May  7 09:14:11 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: support TLSv1.1 &amp; TLSv1.2. Add</div><div class='del'>-	  SSLContext#version to inspect the version that was negotiated for</div><div class='del'>-	  a given connection.</div><div class='del'>-	* ext/openssl/extconf.rb: detect TLS 1.1 &amp; 1.2 support.</div><div class='del'>-	* test/openssl/test_ssl.rb: add tests for TLS 1.1 &amp; 1.2 given they</div><div class='del'>-	  are supported by the native OpenSSL being used.</div><div class='del'>-</div><div class='del'>-Sun May  6 21:34:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): suppress warnings. [ruby-dev:45627]</div><div class='del'>-	  this tmp1 is not required after r35538.</div><div class='del'>-</div><div class='del'>-	* addr2line.c: suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun May  6 18:39:39 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): remove unused variable `size'.</div><div class='del'>-</div><div class='del'>-Sun May  6 14:50:03 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: show actual read length in an error message.</div><div class='del'>-</div><div class='del'>-Sat May  5 06:43:10 2012  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 2.12.1 (r7323)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Sat May  5 01:47:33 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_inflate): add a test for Zlib.inflate.</div><div class='del'>-	  patched by headius (Charles Nutter). [ruby-core:44859] [Bug #6398]</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_deflate): add a test for Zlib.deflate.</div><div class='del'>-</div><div class='del'>-Sat May  5 00:53:55 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): remove warnings 'Ignoring internal encoding'.</div><div class='del'>-	  [ruby-core:44455] [Bug #6324]</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): ditto.</div><div class='del'>-</div><div class='del'>-Fri May  4 07:19:02 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc.binary?): fix wrong regexp.</div><div class='del'>-	  [ruby-core:44798] [Bug #6393]</div><div class='del'>-</div><div class='del'>-Fri May  4 01:33:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc.alias_extension): a real file is irrelevant</div><div class='del'>-	  to aliasing.  [ruby-core:44796][Bug #6392]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc.zip?): non-existent file will not be a zip</div><div class='del'>-	  file.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc.can_parse_by_name): accept aliased</div><div class='del'>-	  extension file names.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser.rb (RDoc.binary?): binary read data may have</div><div class='del'>-	  incomplete multibyte sequence.  [ruby-core:44798][Bug #6393]</div><div class='del'>-</div><div class='del'>-Wed May  2 23:55:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::RequireFiles#non_options): expand</div><div class='del'>-	  real path to get rid of loading same files via symlinks.</div><div class='del'>-</div><div class='del'>-Wed May  2 23:26:04 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_m_transfer): improve sample code in Fiber#transfer</div><div class='del'>-	  documentation. emphasize the difference between transfer and resume.</div><div class='del'>-</div><div class='del'>-Wed May  2 23:21:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): allow spaces between lambda arrow and</div><div class='del'>-	  parenthesis.  [ruby-dev:45605][Feature #6390]</div><div class='del'>-</div><div class='del'>-Wed May  2 19:06:30 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_m_transfer): Improved Fiber documentation.</div><div class='del'>-	  patched by Anuj Dutta. [ruby-core:44540][Bug #6343]</div><div class='del'>-</div><div class='del'>-Wed May  2 13:06:37 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README, README.ja: reformatted using rdoc markup.  based on the</div><div class='del'>-	  patches by zzak (Zachary Scott) in [Feature #6388].</div><div class='del'>-</div><div class='del'>-	* README, README.ja: updated the author's mail address.</div><div class='del'>-</div><div class='del'>-Wed May  2 09:46:09 2012  Kouji Takao  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Readline.special_prefixes=)</div><div class='del'>-	  (Readline.special_prefixes): new function. An original patch was</div><div class='del'>-	  created by nagachika. [Feature #5784]</div><div class='del'>-</div><div class='del'>-Tue May  1 22:18:45 2012  Kouji Takao  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Readline.pre_input_hook)</div><div class='del'>-	  (Readline.insert_text, Readline.redisplay): new function. An</div><div class='del'>-	  original patch was created by nagachika. [Feature #5785]</div><div class='del'>-</div><div class='del'>-Tue May  1 15:46:48 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: "$(Q)-..." doesn't work on nmake.</div><div class='del'>-</div><div class='del'>-Tue May  1 15:32:10 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: replace '@' prefix to '$(Q)' to control build</div><div class='del'>-	  process outputs.</div><div class='del'>-</div><div class='del'>-Tue May  1 14:17:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/deprecation.rb (OpenSSL.check_func): check if header is</div><div class='del'>-	  available for macro compatibility.</div><div class='del'>-</div><div class='del'>-Tue May  1 10:53:54 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: ignore traces from another threads</div><div class='del'>-	  because Kernel.set_trace_func affects other threads.</div><div class='del'>-</div><div class='del'>-Tue May  1 06:04:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c (REVERSE32): explicitly cast since unsigned</div><div class='del'>-	  long may be larger than sha2_word32.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c (SHA{256,512,384}_{Final,End}): should clear</div><div class='del'>-	  whole content, not pointer size.</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/extconf.rb: use pkg_config to use same library with</div><div class='del'>-	  openssl.  [ruby-core:44755][Bug #6379]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/deprecation.rb: extract check for broken Apple OpenSSL.</div><div class='del'>-</div><div class='del'>-Tue May  1 05:02:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (optflags): disable unsafe optimizations.</div><div class='del'>-	  [ruby-core:44679][Bug #6370]</div><div class='del'>-</div><div class='del'>-Mon Apr 30 23:36:49 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (copy_metadata): use File.lchown and File.lchmod to</div><div class='del'>-	  update meta data of symlinks.</div><div class='del'>-</div><div class='del'>-Mon Apr 30 23:05:53 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb (tracing_with_set_trace_func): don't</div><div class='del'>-	  call Continuation from other threads. [ruby-dev:45596] [Bug #6382]</div><div class='del'>-</div><div class='del'>-Mon Apr 30 20:10:04 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb: detect z_crc_t type which will be defined</div><div class='del'>-	  since zlib-1.2.7.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_zlib_crc_table): use z_crc_t if available.</div><div class='del'>-</div><div class='del'>-Mon Apr 30 09:02:15 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: add hostname to "hostname does not</div><div class='del'>-	  match server cert." error. patched by Wes Morgan via Github.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/122</div><div class='del'>-</div><div class='del'>-Mon Apr 30 04:43:53 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/json/yaml_events.rb: implicit styles should not</div><div class='del'>-	  be changeable for JSON events.</div><div class='del'>-</div><div class='del'>-Sun Apr 29 06:12:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc, parser_yylex): add syntax to splat keyword hash.</div><div class='del'>-	  [ruby-core:44591][Feature #6353]</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): generate keyword splat insns.</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_hash_merge_kwd): merge keyword hash into intermediate</div><div class='del'>-	  hash.  leftward argument is prior currently.</div><div class='del'>-</div><div class='del'>-Fri Apr 27 12:34:23 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): should convert a Bignum value to</div><div class='del'>-	  unsigned long long on Win64.</div><div class='del'>-	  [ruby-core:44636][Bug #6364] reported by raylinn@gmail.com (ray linn)</div><div class='del'>-</div><div class='del'>-Fri Apr 27 10:58:17 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb (setup): avoid affected by user's</div><div class='del'>-	  inputrc file.  [ruby-dev:45584][Bug #6357]</div><div class='del'>-</div><div class='del'>-Fri Apr 27 01:45:05 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common):</div><div class='del'>-	  handle timer_interrupt only on the first loop for the case to avoid</div><div class='del'>-	  the infinite loop like following case:</div><div class='del'>-	  * there is 2 Ruby threads (3 pthreads)</div><div class='del'>-	  (1) main thread is waiting at gvl_yield:112 (native_cond_wait)</div><div class='del'>-	  (2) sub thread works</div><div class='del'>-	  (3) sub thread waits at gvl_yield:133 (native_mutex_unlock)</div><div class='del'>-	  (4) main thread works</div><div class='del'>-	  (5) main thread goes to gvl_acquire_common</div><div class='del'>-	  (6) main thread call rb_wakeup_timer_thread</div><div class='del'>-	  (7) timer thread set timer interrupt to the main thread</div><div class='del'>-	  (8) main thread works</div><div class='del'>-	  (9) main thread waits at gvl_acquire_common:64 (native_cond_wait)</div><div class='del'>-	  (10) sub tread works</div><div class='del'>-	  (11) set sub thread as the current thread</div><div class='del'>-	  (12) run Ruby thread</div><div class='del'>-	  (13) ...100ms</div><div class='del'>-	  (14) sub thread goes to rb_threadptr_execute_interrupts_common</div><div class='del'>-	  (15) sub thread call rb_thread_schedule_limits</div><div class='del'>-	  (16) sub thread call gvl_release_common</div><div class='del'>-	  (17) sub threads waits at gvl_yield:121 (native_cond_wait)</div><div class='del'>-	  (18) main threads works</div><div class='del'>-	  (19) main thread back to gvl_yield</div><div class='del'>-	  (20) set main thread as the current thread</div><div class='del'>-	  (21) main thread call gvl_yield</div><div class='del'>-	  (22) main thread waits at gvl_yield:112 (native_cond_wait)</div><div class='del'>-	  As described above, the main thread can't escape from</div><div class='del'>-	  rb_threadptr_execute_interrupts_common.</div><div class='del'>-	  See extended memo: http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/R35480_ExtendedMemo</div><div class='del'>-</div><div class='del'>-Fri Apr 27 07:15:07 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest</div><div class='del'>-	  path in sockaddr_un, really.</div><div class='del'>-	  reported by nagachika.</div><div class='del'>-	 http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476</div><div class='del'>-</div><div class='del'>-Thu Apr 26 12:28:06 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest</div><div class='del'>-	  path in sockaddr_un.</div><div class='del'>-	  (inspect_sockaddr): ditto.</div><div class='del'>-	  (addrinfo_mdump): ditto.</div><div class='del'>-	  (addrinfo_mload): ditto.</div><div class='del'>-	  (rsock_unixpath_str): new function.</div><div class='del'>-	  (rsock_unixpath): removed.</div><div class='del'>-	  (rsock_unixaddr): use rsock_unixpath_str.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest</div><div class='del'>-	  path in sockaddr_un.</div><div class='del'>-	  (sock_s_unpack_sockaddr_un): ditto.</div><div class='del'>-	  (sock_s_gethostbyaddr): unused variable removed.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): support the longest</div><div class='del'>-	  path in sockaddr_un.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_unixpath_str): declared.</div><div class='del'>-	  (rsock_unixpath): removed.</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: comment out test_nul because abstract unix</div><div class='del'>-	  sockets may contain NULs.</div><div class='del'>-</div><div class='del'>-Thu Apr 26 01:32:33 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/optparse/test_summary.rb (test_summary_containing_space): add</div><div class='del'>-	  test for r35467. OptionParser#to_a shouldn't split banner by spaces.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 23:02:46 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (init_unix_addrinfo): refine error message</div><div class='del'>-	  format.</div><div class='del'>-	  (addrinfo_mload): show more information on "too long AF_UNIX path"</div><div class='del'>-	  error.</div><div class='del'>-	  (addrinfo_unix_path): ditto for "too short AF_UNIX address" and</div><div class='del'>-	  "too long AF_UNIX address" error.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 05:46:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#to_a): split for each lines.</div><div class='del'>-	  [ruby-dev:45568][Bug #6348]</div><div class='del'>-</div><div class='del'>-Tue Apr 24 21:57:53 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length</div><div class='del'>-	  when it is too long for Unix socket.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 21:43:58 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (check_continue): raise an error with an explanatory</div><div class='del'>-	  message.  [ruby-core:35854] [Feature #4598]</div><div class='del'>-</div><div class='del'>-Tue Apr 24 21:11:31 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#to_a): should split by end-of-line,</div><div class='del'>-	  and MUST TEST IT, MUST RUN THE TEST, MUST VERIFY BEFORE BACKPORT.</div><div class='del'>-	  [ruby-dev:45568][Bug #6348]</div><div class='del'>-</div><div class='del'>-Tue Apr 24 19:59:31 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: added EUC-JP-2004 and its alias EUC-JISX0213.</div><div class='del'>-	  [ruby-dev:45571] [Feature #6349]</div><div class='del'>-	  Requested by Kyouhei Yanagita &lt;yanagi@shakenbu.org&gt;.</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese_euc.trans: ditto.</div><div class='del'>-</div><div class='del'>-	* enc/trans/JIS/JISX0213-[12]%UCS@{BMP,SIP}.src: JIS X 0213:2004 -&gt;</div><div class='del'>-	  Unicode mapping table from NetBSD.</div><div class='del'>-</div><div class='del'>-	* enc/trans/JIS/UCS@{BMP,SIP}%JISX0213-[12].src: Unicode -&gt; JIS X</div><div class='del'>-	  0213:2004 mapping table from NetBSD.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: added SIP support.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_transcode.rb: tests of above changes.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 18:12:13 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: fix to output warning when the same literals</div><div class='del'>-	  are available as a condition of same case clause.</div><div class='del'>-	  And remove information ('#n') because we can find duplicated</div><div class='del'>-	  condition with explicit line numbers.</div><div class='del'>-	  [ruby-core:38343] [Ruby 1.9 - Bug #5068]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_syntax.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 17:03:51 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (waitpid): need to check the return value of</div><div class='del'>-	  FindChildSlotByHandle() before passing poll_child_status().</div><div class='del'>-	  this fixed a SEGV in test-all.  reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 16:04:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): EXPR_BEG by keywords is a start point of</div><div class='del'>-	  commands.  [ruby-dev:45563][Bug #6347]</div><div class='del'>-</div><div class='del'>-	* parse.y (superclass): ditto for superclass.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_parse_string, parser_here_document): ditto for</div><div class='del'>-	  string interpolation.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ditto for singleton class.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 15:51:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#to_a): should split by end-of-line</div><div class='del'>-	  [ruby-dev:45568][Bug #6348]</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#to_a): String#to_a is no longer</div><div class='del'>-	  defined.  [ruby-dev:45568][Bug #6348]</div><div class='del'>-</div><div class='del'>-Tue Apr 24 12:46:50 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c, object.c, struct.c, lib/ostruct.rb: add to_h methods.</div><div class='del'>-	  [Feature #6276]</div><div class='del'>-</div><div class='del'>-Tue Apr 24 10:54:34 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb ({DRbCore,DRbAry}#teardown): cannot pass SIGTERM</div><div class='del'>-	  to another process on Windows, so use SIGINT instead.</div><div class='del'>-</div><div class='del'>-Tue Apr 24 00:25:39 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_check_deadlock): refine an error message of deadlock</div><div class='del'>-	  detection.  [ruby-core:44336] [Bug #6288]</div><div class='del'>-</div><div class='del'>-Tue Apr 24 00:14:42 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): remove wrong "fixpos" that caused incorrect</div><div class='del'>-	  source_location of blocks.  [ruby-core:42232] [Bug #5930]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Apr 23 22:56:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/iconv: deprecated.  [Feature #6322]</div><div class='del'>-</div><div class='del'>-Mon Apr 23 22:07:00 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb (bound_unix_socket): make temporary</div><div class='del'>-	  filename shorter for less possibility of Unix socket path over</div><div class='del'>-	  107 bytes when TMPDIR has long path.</div><div class='del'>-</div><div class='del'>-Mon Apr 23 20:35:49 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (szInternalCmds, internal_match, internal_cmd_match):</div><div class='del'>-	  get rid of a segmentation fault with GCC 4.7.0.</div><div class='del'>-	  reported by raylinn@gmail.com (ray linn) at [ruby-core:44505]</div><div class='del'>-	  [Bug #6333], and patched by mame.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb (TestSystem#test_system): test for it.</div><div class='del'>-</div><div class='del'>-Mon Apr 23 20:11:02 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb: generate 1024 bits RSA key instead of 512 bits.</div><div class='del'>-	  OpenSSL 1.0.1 rejects 512 bits RSA key for TLS1.2 with SHA512.</div><div class='del'>-	 http://rt.openssl.org/Ticket/Display.html?id=2769&amp;user=guest&amp;pass=guest</div><div class='del'>-	  reported by Bohuslav Kabrda.</div><div class='del'>-	  [ruby-core:43844] [ruby-trunk - Bug #6221]</div><div class='del'>-</div><div class='del'>-Mon Apr 23 19:54:33 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: rescue Errno::ESRCH for Process.kill.</div><div class='del'>-	  reported by NARUSE, Yui.  [ruby-dev:45551]</div><div class='del'>-</div><div class='del'>-Mon Apr 23 14:16:45 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_ps_vm): follow st_table's packing change.</div><div class='del'>-</div><div class='del'>-Mon Apr 23 10:43:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: disable rubygems not to load rbconfig.rb before</div><div class='del'>-	  fake.rb.  [ruby-core:44492][Bug #6329]</div><div class='del'>-</div><div class='del'>-Sun Apr 22 20:26:06 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extservm.rb (DRb::ExtServManager): don't use /bin/sh to</div><div class='del'>-	  invoke service subprocess.  mark detach threads for clean up.</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb: clean up the service subprocess in teardown.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: set @service_name for teardown.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbunix.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drbssl.rb: ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:45547]</div><div class='del'>-</div><div class='del'>-Sun Apr 22 07:51:29 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb: close accepted TCP socket if SSL accept is failed.</div><div class='del'>-	  [ruby-dev:45541]</div><div class='del'>-</div><div class='del'>-Sat Apr 21 14:36:49 2012  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: fix sticks on some tests problem</div><div class='del'>-	  [Bug #6272]</div><div class='del'>-</div><div class='del'>-Fri Apr 20 12:24:04 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem:  Removed to avoid</div><div class='del'>-	  conflict with ca-bundle.pem</div><div class='del'>-	* lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem:</div><div class='del'>-	  ditto.</div><div class='del'>-	* lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem:</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 20 08:07:06 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 1.8.23 which contains security</div><div class='del'>-	  fixes:</div><div class='del'>-</div><div class='del'>-	  RubyGems now disallows redirection from HTTPS to HTTP.</div><div class='del'>-</div><div class='del'>-	  RubyGems now verifies SSL connections.</div><div class='del'>-</div><div class='del'>-	  See https://github.com/rubygems/rubygems/blob/1.8/History.txt for</div><div class='del'>-	  changes since 1.8.22.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 19 16:33:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): fix carry-up bug and</div><div class='del'>-	  overwrite '+' with '-' if negative offset less than a hour.</div><div class='del'>-	  [ruby-core:44447][Bug #6323]</div><div class='del'>-</div><div class='del'>-Thu Apr 19 09:39:57 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/win32/dln/extconf.rb: need import library for ordinal</div><div class='del'>-	  entry even on mingw.  [ruby-core:44441][Bug #6320]</div><div class='del'>-</div><div class='del'>-Thu Apr 19 09:35:15 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_init):  Clarify that the default seed is</div><div class='del'>-	  Random.new_seed, not zero.  Based on patch by Roger Pack.</div><div class='del'>-	  [ruby-trunk - Bug #6313]</div><div class='del'>-	* random.c (rb_f_srand):  ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 19 08:59:02 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_nodelay):  Fixed call-seq of nodelay to</div><div class='del'>-	  include the '='.</div><div class='del'>-</div><div class='del'>-	  Improved description window.nodelay=.</div><div class='del'>-</div><div class='del'>-Thu Apr 19 08:47:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_readpartial):  Document the output buffer parameter is</div><div class='del'>-	  overwritten with the read contents even when non-empty.</div><div class='del'>-	  Patch by yu nobuoka.  [ruby-trunk - Bug #6285]</div><div class='del'>-	* io.c (io_read_nonblock):  ditto.</div><div class='del'>-	* io.c (io_read):  ditto.</div><div class='del'>-	* io.c (rb_io_sysread):  ditto.</div><div class='del'>-	* io.c (argf_read):  ditto.</div><div class='del'>-	* io.c (argf_readpartial):  ditto.</div><div class='del'>-	* ext/stringio/stringio.c (strio_read):  ditto.</div><div class='del'>-	* test/ruby/test_argf.rb (class TestArgf):  Add test for existing</div><div class='del'>-	  behavior of read outbuf.</div><div class='del'>-	* test/ruby/test_io.rb (class TestIO):  ditto.</div><div class='del'>-	* test/stringio/test_stringio.rb (class TestStringIO):  ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 18 22:58:55 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DOT, DOXYGEN): use AC_CHECK_PROGS instead of</div><div class='del'>-	  AC_CHECK_PROG which needs the third argument.  [ruby-core:44433]</div><div class='del'>-	  [Bug #6316]</div><div class='del'>-</div><div class='del'>-	* configure.in (PKG_CONFIG): fix condition to skip older version</div><div class='del'>-	  of pkg-config.  continue in backticks does not affect outside.</div><div class='del'>-</div><div class='del'>-Wed Apr 18 13:59:40 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (INVALID_FILE_ATTRIBUTES): define for old SDK.</div><div class='del'>-</div><div class='del'>-Wed Apr 18 10:22:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): add an interim digit for</div><div class='del'>-	  the timezone offset which is less than an hour.</div><div class='del'>-</div><div class='del'>-Wed Apr 18 09:58:29 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/version.rb:  Fixed init_with warning by calling into</div><div class='del'>-	  yaml_initialize (for syck) from psych's init_with</div><div class='del'>-</div><div class='del'>-Wed Apr 18 09:03:43 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 1.8.22 plus r33517 and r35337 which</div><div class='del'>-	  were ported to the rubygems git repository.</div><div class='del'>-</div><div class='del'>-	  See https://github.com/rubygems/rubygems/blob/1.8/History.txt for</div><div class='del'>-	  changes since 1.8.11.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 17 22:18:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): fix padding of time zone</div><div class='del'>-	  offset.  [ruby-dev:43287][Bug #4458]</div><div class='del'>-</div><div class='del'>-Tue Apr 17 13:11:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (rb_w32_check_imported): skip ordinal entries.  based on a</div><div class='del'>-	  patch by phasis68 (Heesob Park) at [ruby-core:44381].</div><div class='del'>-	  [ruby-core:44371][Bug #6303]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 18:22:14 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: expand relative path for ruby_exe which uses</div><div class='del'>-	  them with Dir.chdir; it breaks relative paths, for example</div><div class='del'>-	  core/kernel/exec_spec.rb.</div><div class='del'>-</div><div class='del'>-Mon Apr 16 16:22:40 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gmtime_r, localtime_r): POSIX compliant reentrant</div><div class='del'>-	  versions.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_MSVCRT_VERSION): define on mingw too.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make</div><div class='del'>-	  more descriptive to get rid of potential conflict.</div><div class='del'>-</div><div class='del'>-Mon Apr 16 15:19:39 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (NO_RUBY_VENDOR_LIB): fix missing comma.</div><div class='del'>-</div><div class='del'>-Mon Apr 16 12:17:12 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb (hermitian?): Bug fix, patch by George Koehler</div><div class='del'>-	  [Bug #6290] [rubyspec:4b9573d7613]</div><div class='del'>-</div><div class='del'>-Mon Apr 16 09:42:50 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/remote_fetcher.rb (Gem::RemoteFetcher#download): should</div><div class='del'>-	  use File.identical? to check the identity of the files.</div><div class='del'>-	  this fixed an error of a test on Windows.</div><div class='del'>-</div><div class='del'>-Sat Apr 14 12:55:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (UNREACHABLE): gcc 4.4 eliminates unreachable code</div><div class='del'>-	  if -O3 is given.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (child_result): dropped colon.</div><div class='del'>-</div><div class='del'>-Sat Apr 14 10:45:18 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#start):</div><div class='del'>-	  partially revert r35315.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_server.rb (test_start_exception):</div><div class='del'>-	  received signal is delivered to the main thread, so it is needed to</div><div class='del'>-	  emulate it. patched by Eric Hodel. [ruby-core:44348] [Feature #6236]</div><div class='del'>-</div><div class='del'>-Sat Apr 14 09:35:45 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (trace_ev):  Removed "not reached" comment as this line is</div><div class='del'>-	  reached.</div><div class='del'>-	* variable.c (rb_obj_remove_instance_variable):  Replaced "not reached"</div><div class='del'>-	  comment with the UNREACHABLE macro.</div><div class='del'>-	* variable.c (rb_mod_const_missing):  ditto.</div><div class='del'>-	* variable.c (rb_mod_remove_cvar):  ditto.</div><div class='del'>-	* enum.c (first_i):  ditto.</div><div class='del'>-	* string.c (rb_str_aref):  ditto.</div><div class='del'>-	* string.c (str_byte_aref):  ditto.</div><div class='del'>-	* string.c (rb_to_id):  ditto.</div><div class='del'>-	* io.c (rb_io_fmode_modestr):  ditto.</div><div class='del'>-	* io.c (rb_io_oflags_modestr):  ditto.</div><div class='del'>-	* pack.c (num2i32):  ditto.</div><div class='del'>-	* vm_eval.c (rb_method_missing):  ditto.</div><div class='del'>-	* vm_eval.c (rb_f_throw):  ditto.</div><div class='del'>-	* dir.c (dir_read):  ditto.</div><div class='del'>-	* win32/win32.c (child_result):  ditto.</div><div class='del'>-	* struct.c (rb_struct_getmember):  ditto.</div><div class='del'>-	* struct.c (rb_struct_set):  ditto.</div><div class='del'>-	* struct.c (rb_struct_aref_id):  ditto.</div><div class='del'>-	* eval.c (rb_f_raise):  ditto.</div><div class='del'>-	* process.c (rb_f_exit_bang):  ditto.</div><div class='del'>-	* process.c (rb_f_exit):  ditto.</div><div class='del'>-	* process.c (rb_f_abort):  ditto.</div><div class='del'>-	* ext/-test-/iter/break.c (iter_break_value):  ditto.</div><div class='del'>-	* ext/pty/pty.c (pty_check):  ditto.</div><div class='del'>-	* ext/openssl/ossl_pkey.c (ossl_pkey_new):  ditto.</div><div class='del'>-	* ext/readline/readline.c (rb_remove_history):  ditto.</div><div class='del'>-	* ext/stringio/stringio.c (strio_unimpl):  ditto.</div><div class='del'>-	* numeric.c (num_sadded):  ditto.</div><div class='del'>-	* numeric.c (num_init_copy):  ditto.</div><div class='del'>-	* numeric.c (rb_num2ll):  ditto.</div><div class='del'>-	* numeric.c (rb_num2ull):  ditto.</div><div class='del'>-	* vm_insnhelper.c (call_cfunc):  ditto.</div><div class='del'>-	* ruby.c (opt_W_getter):  ditto.</div><div class='del'>-	* bignum.c (rb_big_coerce):  ditto.</div><div class='del'>-	* file.c (rb_f_test):  ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 14 08:38:20 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_codepoint_len):  Use UNREACHABLE to avoid "control</div><div class='del'>-	  reaches end of non-void function" warnings.  [ruby-trunk - Bug #6066]</div><div class='del'>-	* re.c (name_to_backref_number):  ditto.</div><div class='del'>-	* object.c (rb_Float):  ditto.</div><div class='del'>-	* io.c (io_readpartial):  ditto.</div><div class='del'>-	* io.c (io_read_nonblock):  ditto.</div><div class='del'>-	* pack.c (rb_uv_to_utf8):  ditto.</div><div class='del'>-	* proc.c (rb_method_entry_arity):  ditto.</div><div class='del'>-	* vm_method.c (rb_f_notimplement):  ditto.</div><div class='del'>-	* struct.c (rb_struct_aset_id):  ditto.</div><div class='del'>-	* class.c (rb_scan_args):  ditto.</div><div class='del'>-	* process.c (rlimit_resource_type):  ditto.</div><div class='del'>-	* process.c (rlimit_resource_value):  ditto.</div><div class='del'>-	* process.c (p_uid_switch):  ditto.</div><div class='del'>-	* process.c (p_gid_switch):  ditto.</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_update):  ditto.</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_finish):  ditto.</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_reset):  ditto.</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_block_length):  ditto.</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalCmp):  ditto.</div><div class='del'>-	* ext/dl/handle.c (rb_dlhandle_close):  ditto.</div><div class='del'>-	* ext/tk/tcltklib.c (pending_exception_check0):  ditto.</div><div class='del'>-	* ext/tk/tcltklib.c (pending_exception_check1):  ditto.</div><div class='del'>-	* ext/tk/tcltklib.c (ip_cancel_eval_core):  ditto.</div><div class='del'>-	* ext/tk/tcltklib.c (lib_get_reltype_name):  ditto.</div><div class='del'>-	* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core):  ditto.</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (tk_hash_kv):  ditto.</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused):  ditto.</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1):  ditto.</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit):  ditto.</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve):  ditto.</div><div class='del'>-	* ext/fiddle/conversions.c (generic_to_value):  ditto.</div><div class='del'>-	* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo):  ditto.</div><div class='del'>-	* ext/socket/socket.c (sock_s_getnameinfo):  ditto.</div><div class='del'>-	* ext/ripper/eventids2.c (ripper_token2eventid):  ditto.</div><div class='del'>-	* cont.c (return_fiber):  ditto.</div><div class='del'>-	* dmydln.c (dln_load):  ditto.</div><div class='del'>-	* vm_insnhelper.c (vm_search_normal_superclass):  ditto.</div><div class='del'>-	* bignum.c (big_fdiv):  ditto.</div><div class='del'>-	* marshal.c (r_symlink):  ditto.</div><div class='del'>-	* marshal.c (r_symbol):  ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 13 17:12:09 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (inspect_i): keep string's coderange.</div><div class='del'>-</div><div class='del'>-Fri Apr 13 15:26:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset, rb_hash_update, rb_hash_update_by): use</div><div class='del'>-	  st_update() to reduce evaluation of hash values.</div><div class='del'>-</div><div class='del'>-Fri Apr 13 15:17:36 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#stop): fix r35303;</div><div class='del'>-	  this method is to deny new connections, not shutdown yet.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#start):</div><div class='del'>-	  re-raise exception only when the exception is Interrupt (^C).</div><div class='del'>-</div><div class='del'>-Thu Apr 12 19:51:45 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: added some notes.</div><div class='del'>-</div><div class='del'>-Wed Apr 11 17:16:49 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array, compile_array_):</div><div class='del'>-	  Divide big array (or hash) literals into several blocks and</div><div class='del'>-	  concatenate them.  There was a problem that a big array (hash)</div><div class='del'>-	  literal causes SystemStackError exception (stack overflow)</div><div class='del'>-	  because VM push all contents of the literal onto VM stack to</div><div class='del'>-	  make an array (or hash).  To solve this issue, we make several</div><div class='del'>-	  arrays (hashes) and concatenate them to make a big array (hash)</div><div class='del'>-	  object.  [ruby-dev:37701] [Bug #982]</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each, setup_args): use modified</div><div class='del'>-	  compile_array.</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_hash_from_ary, m_core_hash_merge_ary,</div><div class='del'>-	  m_core_hash_merge_ptr): added for above change.</div><div class='del'>-</div><div class='del'>-	* id.c (Init_id), parse.y: add core method ids.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: add simple tests.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_eval.rb: remove rescue clause to catch</div><div class='del'>-	  SystemStackError exception.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_literal.rb: add tests to check no stack overflow.</div><div class='del'>-</div><div class='del'>-Thu Apr 12 07:10:37 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (module URI):  URI now downcases the scheme to</div><div class='del'>-	  follow RFC 2396 section 3.1.  [ruby-trunk - Feature #4551]</div><div class='del'>-	* test/uri/test_generic.rb (class URI):  Test for above</div><div class='del'>-</div><div class='del'>-Thu Apr 12 06:15:44 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (module Net):  Added ReadTimeout to match</div><div class='del'>-	  OpenTimeout.  ReadTimeout is now raised by rbuf_fill instead of</div><div class='del'>-	  Timeout::Error to help users distinguish what type of timeout</div><div class='del'>-	  occurred.  [ruby-trunk - Feature #6088]</div><div class='del'>-	* lib/net/pop.rb (module Net):  Updated documentation for ReadTimeout</div><div class='del'>-	  and OpenTimeout.</div><div class='del'>-	* lib/net/http.rb (module Net):  ditto</div><div class='del'>-	* lib/net/smtp.rb (module Net):  ditto</div><div class='del'>-	* lib/net/telnet.rb (module Net):  Net::ReadTimeout is now raised in</div><div class='del'>-	  waitfor to match Net::Protocol.</div><div class='del'>-	* test/net/http/test_http.rb:  Updated Timeout::Error expectation to</div><div class='del'>-	  Net::ReadTimeout.</div><div class='del'>-	* test/net/ftp/test_ftp.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu Apr 12 05:27:01 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (module WEBrick::GenericServer):  A server</div><div class='del'>-	  will now continue only when a StandardError subclass is raised.  For</div><div class='del'>-	  other exception types the error will be logged at the fatal level and</div><div class='del'>-	  the server will safely stop.  Based on a patch by Alex Young.</div><div class='del'>-	  [ruby-trunk - Feature #6236]</div><div class='del'>-	* test/webrick/test_server.rb:  Test for new exception handling</div><div class='del'>-	  behavior.  Join the server thread instead of busy-waiting for it to</div><div class='del'>-	  shut down to remove race conditions.</div><div class='del'>-</div><div class='del'>-Thu Apr 12 03:50:44 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit:Runner::Worker#_run_suites):</div><div class='del'>-	  call GC.start before running the test suites.</div><div class='del'>-</div><div class='del'>-Wed Apr 11 22:31:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_check_id_cstr): new function to check if ID is</div><div class='del'>-	  registered with NUL-terminated C string.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): avoid inadvertent symbol creation.</div><div class='del'>-</div><div class='del'>-Wed Apr 11 20:28:36 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_eof): use eof() instead of io_fillbuf(). It's because</div><div class='del'>-	  io_unread() doesn't work properly when reading CRLF with read(length)</div><div class='del'>-	  and mode 'r'.</div><div class='del'>-	  [ruby-core:44189][Bug #6271]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#test_read_crlf_and_eof):</div><div class='del'>-	  test for above.</div><div class='del'>-</div><div class='del'>-Wed Apr 11 07:38:33 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/lib/sha2.rb (Digest#block_length):  Fixed method name</div><div class='del'>-	  in documentation examples.  Patch by naleski via</div><div class='del'>-	  https://github.com/ruby/ruby/pull/115</div><div class='del'>-</div><div class='del'>-Wed Apr 11 07:33:13 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack):  Warn when an invalid character is found in the</div><div class='del'>-	  format string when $VERBOSE is true.  [ruby-trunk - Feature #5219]</div><div class='del'>-	* pack.c (pack_unpack):  ditto</div><div class='del'>-	* test/ruby/test_pack.rb (class TestPack):  Test for warnings on</div><div class='del'>-	  invalid format characters.</div><div class='del'>-</div><div class='del'>-Wed Apr 11 06:11:10 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_tr):  Documented use of \ to escape characters.</div><div class='del'>-	  [ruby-trunk - Bug #6161]</div><div class='del'>-	* string.c (rb_str_count):  ditto</div><div class='del'>-</div><div class='del'>-Wed Apr 11 05:14:51 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb:  Clarified that Abbrev.abbrev returns a Hash instead</div><div class='del'>-	  of an Array.  Patch by Andrei Bocan.  [ruby-trunk - Bug #6107]</div><div class='del'>-</div><div class='del'>-Wed Apr 11 03:02:24 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb: fix spelling. patched by</div><div class='del'>-	  Jonathan Hinkle via https://github.com/ruby/ruby/pull/116</div><div class='del'>-</div><div class='del'>-Tue Apr 10 19:07:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_enc_raise): new function to raise an exception with</div><div class='del'>-	  the message in the given encoding.  patched by now (Nikolai</div><div class='del'>-	  Weibull) at [ruby-core:41160].  [Feature #5650]</div><div class='del'>-</div><div class='del'>-Tue Apr 10 18:19:32 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#send_request_with_body_stream):</div><div class='del'>-	  use IO.copy_stream for requests using body_stream.</div><div class='del'>-	  patched by Eric Wong. [ruby-core:40898] [Feature #5605]</div><div class='del'>-</div><div class='del'>-Tue Apr 10 16:53:21 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: add prototype declarations for older Mac OS X.</div><div class='del'>-	  [ruby-core:43376][Bug #6170]</div><div class='del'>-</div><div class='del'>-Tue Apr 10 15:35:21 2012  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): show a hint if there are duplicated</div><div class='del'>-	  "when" clauses.  [ruby-core:41502] [ruby-trunk - Feature #5716]</div><div class='del'>-</div><div class='del'>-Tue Apr 10 09:57:00 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m):  Documented behavior of split on the empty</div><div class='del'>-	  string.  [ruby-trunk - Feature #3575]</div><div class='del'>-</div><div class='del'>-Tue Apr 10 09:48:31 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_deflate_s_deflate):  Fixed ruby example replacing</div><div class='del'>-	  NO_FLUSH with FINISH.  [ruby-trunk - Bug #6273]</div><div class='del'>-</div><div class='del'>-Mon Apr  9 23:10:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (isUNCRoot, winnt_stat): support long UNC.</div><div class='del'>-	  [ruby-core:30623][Feature #3399]</div><div class='del'>-</div><div class='del'>-Mon Apr  9 15:16:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string_content, parser_yylex): count brace nesting to</div><div class='del'>-	  dispatch embexpr_end.  [ruby-core:43775][Bug #6211]</div><div class='del'>-</div><div class='del'>-Mon Apr  9 13:06:58 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_set_default_proc): Accept nil, patch by Run Paint</div><div class='del'>-	  [Feature #4234]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: test for above.</div><div class='del'>-</div><div class='del'>-Mon Apr  9 08:01:15 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: gets the value with range() consistently.</div><div class='del'>-	* ext/date/date_strftime.c (range): now just replaces the given item.</div><div class='del'>-</div><div class='del'>-Mon Apr  9 06:58:01 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): [ruby-core:44170].</div><div class='del'>-</div><div class='del'>-Mon Apr  9 02:52:03 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_expt): the result of f_complex_new2 may be a fixnum</div><div class='del'>-	  with mathn. [ruby-core:44170] [Bug #6267]</div><div class='del'>-</div><div class='del'>-Sun Apr  8 22:46:01 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c (generate_json_bignum):</div><div class='del'>-	  add RB_GC_GUARD.</div><div class='del'>-	 http://fb.rubyci.org/~chkbuild/ruby-trunk/log/20120407T210301Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Sun Apr  8 07:26:40 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): get keys</div><div class='del'>-	  and fetch values from it to prevent @timeout_info's error</div><div class='del'>-	  "can't add a new key into hash during iteration".</div><div class='del'>-</div><div class='del'>-Sun Apr  8 06:51:57 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): cast as long the value for extra_max.</div><div class='del'>-	  [ruby-core:44137] [Bug #6257]</div><div class='del'>-</div><div class='del'>-Sun Apr  8 06:46:48 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):</div><div class='del'>-	  use readpartial to get data even if the response is streaming data and</div><div class='del'>-	  each data is smaller than @buffer_size.</div><div class='del'>-	  patched by yu nobuoka. [ruby-dev:45471] [Bug #6230]</div><div class='del'>-</div><div class='del'>-Sat Apr  7 22:35:36 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_aspawn_flags): add the declaration of</div><div class='del'>-	  new function.</div><div class='del'>-</div><div class='del'>-	* process.c (enum): add EXEC_OPTION_PGROUP and move the position</div><div class='del'>-	  above for the usage in proc_spawn_n().</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_n): add an argument to pass new option</div><div class='del'>-	  `new_pgroup`. The option specifies CREATE_NEW_PROCESS_GROUP flag to</div><div class='del'>-	  CreateProcessW(). This flag is necessary for the usage of</div><div class='del'>-	  Process.kill on the subprocess on Windows.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_arg_addopt): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_process): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (documentation for rb_f_spawn): add documentation for new</div><div class='del'>-	  option `new_pgroup` of spawn.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_execopts_new_pgroup):</div><div class='del'>-	  add tests for option `new_pgroup`.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb</div><div class='del'>-	  (TestThreadGroup#test_thread_timer_and_interrupt):</div><div class='del'>-	  add option `new_pgroup: true` to spawn on Windows. It's needed for</div><div class='del'>-	  Process.kill on a subprocess.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): add an argument to pass</div><div class='del'>-	  dwCreationFlags of CreateProcessW().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_spawn): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn_flags): add new function to pass</div><div class='del'>-	  dwCreationFlags.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_aspawn): refactor to move the content to</div><div class='del'>-	  rb_w32_aspawn_flags().</div><div class='del'>-	  [ruby-core:43245][Bug #6131]</div><div class='del'>-</div><div class='del'>-Sat Apr  7 22:32:00 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb</div><div class='del'>-	  (TestThreadGroup#test_thread_timer_and_interrupt): skip on Windows.</div><div class='del'>-	  Process.kill cannot kill a subprocess if CREATE_NEW_PROCESS_GROUP</div><div class='del'>-	  flag is not specified in a call to CreateProcessW().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): revert the usage of</div><div class='del'>-	  CREATE_NEW_PROCESS_GROUP flag for compatibility.</div><div class='del'>-	  [ruby-core:43245][Bug #6131]</div><div class='del'>-</div><div class='del'>-Sat Apr  7 10:28:40 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bumping up psych version to match release.</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Sat Apr  7 02:07:00 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: fall back to any encoding if the external</div><div class='del'>-	  encoding is wrong.  [ruby-core:44163]</div><div class='del'>-	* test/psych/test_encoding.rb: fix test</div><div class='del'>-</div><div class='del'>-Fri Apr  6 16:24:24 2012  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (documentation for rb_struct_members_m):</div><div class='del'>-	  fix 'array of strings' to 'array of symbols'</div><div class='del'>-	  [ruby-core:44152][Bug #6264]</div><div class='del'>-</div><div class='del'>-Fri Apr  6 14:27:04 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in ($(LIBRUBY_A)): fix typo.</div><div class='del'>-</div><div class='del'>-Thu Apr  5 13:26:15 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/alloca.c (xmalloc, xfree): use ruby version, not</div><div class='del'>-	  depending on RUBY_LIB_PREFIX.  [ruby-dev:45492][Bug #6255]</div><div class='del'>-</div><div class='del'>-Wed Apr  4 13:06:39 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftp/ftp.rb (Net::FTP#close): restore original read_timeout.</div><div class='del'>-</div><div class='del'>-Wed Apr  4 10:33:31 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftp/ftp.rb (Net::FTP#close): ignore exceptions from shutdown and</div><div class='del'>-	  read on closing.</div><div class='del'>-</div><div class='del'>-Wed Apr  4 01:48:35 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ftp/ftp.rb (Net::FTP#close): close socket more gracefully.</div><div class='del'>-</div><div class='del'>-	* lib/ftp/ftp.rb (Net::BufferedSocket#shutdown): added.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb (FTPTest#create_ftp_server): wait socket</div><div class='del'>-	  with shutdown and read.</div><div class='del'>-</div><div class='del'>-Tue Apr  3 19:00:52 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb (FTPTest#create_ftp_server): should wait</div><div class='del'>-	  a little before closing socket because if the client call</div><div class='del'>-	  Net::FTP#getmultiline the socket is suddenly closed by the server in</div><div class='del'>-	  the getline loop.</div><div class='del'>-</div><div class='del'>-Tue Apr  3 18:33:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (setreuid, setregid): suppress warnings.</div><div class='del'>-	  [ruby-core:43374][Bug #6169]</div><div class='del'>-</div><div class='del'>-Tue Apr  3 10:18:27 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (inspect_enumerator): suppress uninitialized</div><div class='del'>-	  instance variable warnings.  [ruby-dev:45449][Bug #6214]</div><div class='del'>-	  patched by no6v (Nobuhiro IMAI).</div><div class='del'>-</div><div class='del'>-Mon Apr  2 13:25:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse/ac.rb: autoconf-like options.</div><div class='del'>-</div><div class='del'>-Mon Apr  2 10:34:00 2012  eregon  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_start_with, rb_str_end_with): raise an error if</div><div class='del'>-	  an argument is not convertible to a String.</div><div class='del'>-	  [ruby-core:40623][Bug #5536]</div><div class='del'>-</div><div class='del'>-Mon Apr  2 03:35:25 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer): close socket only if</div><div class='del'>-	  the socket is not closed yet.</div><div class='del'>-</div><div class='del'>-Sun Apr  1 23:03:18 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::BufferedSocket): should delegate send() to @io</div><div class='del'>-	  for Net::FTP#abort and Net::FTP#status.</div><div class='del'>-</div><div class='del'>-Sun Apr  1 00:41:56 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: fixed the domain name in examples.</div><div class='del'>-</div><div class='del'>-Sat Mar 31 21:39:45 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): dup to prevent</div><div class='del'>-	  @timeout_info's "can't add a new key into hash during iteration".</div><div class='del'>-</div><div class='del'>-Sat Mar 31 14:22:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_default_value): extract from rb_hash_aref(), to be</div><div class='del'>-	  shared with rb_hash_shift(), so that overriding Hash#default</div><div class='del'>-	  will be respected.</div><div class='del'>-</div><div class='del'>-Sat Mar 31 14:16:02 2012  Sokolov Yura (funny-falcon)  &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: do not allocate st_table when it is not necessary.</div><div class='del'>-</div><div class='del'>-Sat Mar 31 13:42:39 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (read_timeout=, open_timeout=): supported timeout.</div><div class='del'>-</div><div class='del'>-Sat Mar 31 13:20:40 2012  Sokolov Yura (funny-falcon)  &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: remove unnecessary checks for Qundef in hash iterations.</div><div class='del'>-	  since hash use st_foreach_check for iterations, such checks are</div><div class='del'>-	  needless.</div><div class='del'>-</div><div class='del'>-Sat Mar 31 12:05:01 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509cert.c: Fix doc typo.</div><div class='del'>-</div><div class='del'>-Sat Mar 31 10:13:24 2012  Sokolov Yura (funny-falcon)  &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach_check, st_foreach): remove ancient check.  This</div><div class='del'>-	  check are from initial ordered hash commit when first entry were</div><div class='del'>-	  created with entry-&gt;fore = entry-&gt;back = entry.</div><div class='del'>-</div><div class='del'>-	* st.c (st_delete): use real_entries in st_delete for packed tables</div><div class='del'>-</div><div class='del'>-Sat Mar 31 07:53:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach_check): remove the entry by replacing with never</div><div class='del'>-	  when ST_DELETE.</div><div class='del'>-</div><div class='del'>-	* hash.c (st_foreach_safe): since table is not for VALUE, Qundef is</div><div class='del'>-	  not special value, so use 0 instead.  therefore this function can be</div><div class='del'>-	  applied to only st_table which 0 is invalid as keys, e.g., IDs.</div><div class='del'>-</div><div class='del'>-	* hash.c: Qundef cannot be passed from st_foreach_check().</div><div class='del'>-</div><div class='del'>-	* hash.c, marshal.c, object.c, variable.c: fix callback argument types</div><div class='del'>-	  of iterators.</div><div class='del'>-</div><div class='del'>-Thu Mar 29 23:50:15 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_update): pass pointer to key to the callback function.</div><div class='del'>-</div><div class='del'>-Thu Mar 29 16:36:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_update): add existing parameter to the callback function.</div><div class='del'>-</div><div class='del'>-Thu Mar 29 16:35:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (terminal_width, del_status_line, put_status):</div><div class='del'>-	  extract as methods.</div><div class='del'>-</div><div class='del'>-Thu Mar 29 10:20:18 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c: fix crash when parsing garbage data.</div><div class='del'>-	* test/openssl/test_pkcs7.rb: assert correct behavior for it.</div><div class='del'>-	  Thanks to Matt Venables for reporting the issue.</div><div class='del'>-	  [ruby-core:43250][Bug #6134]</div><div class='del'>-</div><div class='del'>-Thu Mar 29 10:16:05 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (TIME_QUANTUM_USEC): 10ms(= old setting) [experimental]</div><div class='del'>-	  cf. [Bug #6098]</div><div class='del'>-</div><div class='del'>-Thu Mar 29 10:12:12 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts_common): use defined</div><div class='del'>-	  TIME_QUANTUM_USEC instead of a magic number.  there is no meanings</div><div class='del'>-	  to use different values for checking interval of interruption and</div><div class='del'>-	  thread switching limits.</div><div class='del'>-	  cf. [Bug #6098]</div><div class='del'>-</div><div class='del'>-Thu Mar 29 09:26:17 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509cert.rb: exclude test that fails when issuing</div><div class='del'>-	  a certificate with RSA signature and DSS1 digest for earlier</div><div class='del'>-	  OpenSSL versions when used in conjunction with OpenSSL 1.0.1.</div><div class='del'>-	  Thanks, Vit Ondruch, for reporting the issue.</div><div class='del'>-	  [ruby-core:42949][Bug #6089]</div><div class='del'>-</div><div class='del'>-Thu Mar 29 08:25:35 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add note about unified behavior of encoding nil values in</div><div class='del'>-	  instances of OpenSSL::ASN1::ASN1Data.</div><div class='del'>-</div><div class='del'>-Thu Mar 29 07:45:36 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: raise TypeError when trying to encode nil</div><div class='del'>-	  values for Primitive instances.</div><div class='del'>-	* test/openssl/test_asn1.rb: Assert consistent behavior when</div><div class='del'>-	  encoding nil values: Primitives raise TypeError, Constructives</div><div class='del'>-	  raise NoMethodError.</div><div class='del'>-	  Fixes [ruby-core:43009][Bug #6102]</div><div class='del'>-</div><div class='del'>-Wed Mar 28 16:39:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (obj2uid, obj2gid): allow strings as input user/group id.</div><div class='del'>-	  [ruby-core:40923][Feature #5610]</div><div class='del'>-</div><div class='del'>-Wed Mar 28 15:06:18 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_symreal): default to ASCII-8BIT for non-ascii symbols,</div><div class='del'>-	  otherwise it should be converted to US-ASCII in rb_intern_str() if</div><div class='del'>-	  possible.  [ruby-core:43762][Bug #6209]</div><div class='del'>-</div><div class='del'>-Wed Mar 28 08:44:24 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: updating version to match gem</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: fixing deprecation warning</div><div class='del'>-</div><div class='del'>-Tue Mar 27 23:44:11 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): fixed memory leak.  report by nagachika via IRC.</div><div class='del'>-</div><div class='del'>-Tue Mar 27 22:44:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (verconf.h): separate load path specific stuff from</div><div class='del'>-	  config.h.</div><div class='del'>-</div><div class='del'>-Tue Mar 27 22:43:40 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: fix config.h path to include.</div><div class='del'>-</div><div class='del'>-Tue Mar 27 17:08:08 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (check_if_dir): fix memory leak.</div><div class='del'>-</div><div class='del'>-Tue Mar 27 13:13:51 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new_empty): should copy also the encoding as an</div><div class='del'>-	  empty substring.  [ruby-dev:45441][Bug #6206]</div><div class='del'>-</div><div class='del'>-Mon Mar 26 23:43:04 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse227, parse228, parse229): don't use $~.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 23:34:40 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse227, parse228, parse229): don't use local</div><div class='del'>-	  variables defined by named capture for other Ruby implementations</div><div class='del'>-	  such as Rubinius.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 23:19:03 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse_pasv_port): refactored.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 19:49:49 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb: add the test, which was forgotten in the</div><div class='del'>-	  previous commit.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 19:37:27 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse227, parse228, parse229): refactored.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 11:46:23 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (inspect_enumerator): show method arguments of</div><div class='del'>-	  lazy enumerators correctly.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 13:51:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (check_if_dir, check_if_wdir): fix for Visual C++</div><div class='del'>-	  not to use S_ISDIR().  [Feature #2408][ruby-core:26925]</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 26 11:46:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): bail out if the script is a directory.</div><div class='del'>-	  [Feature #2408][ruby-core:26925]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_open, rb_w32_wopen): check if the file is a</div><div class='del'>-	  directory when access denied, to set errno to EISDIR.</div><div class='del'>-</div><div class='del'>-Sun Mar 25 18:13:14 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_setup_table): fix multiple non latin argument for</div><div class='del'>-	  non latin (over 256 characters) tr-like methods.</div><div class='del'>-	  [ruby-core:43371] [Bug #6167]</div><div class='del'>-</div><div class='del'>-Sun Mar 25 00:46:06 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator (lazy_initialize): set the instance variable "receiver"</div><div class='del'>-	  to include the receiver to the return value of inspect on a lazy</div><div class='del'>-	  enumerator directly created by Enumerator::Lazy.new.</div><div class='del'>-</div><div class='del'>-	* enumerator (RETURN_LAZY): don't set the instance variable "receiver".</div><div class='del'>-</div><div class='del'>-Sat Mar 24 23:59:00 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator (enumerator_inspect): include the original receiver and</div><div class='del'>-	  method name of Enumerator::Lazy in the result of inspect.</div><div class='del'>-	  [ruby-core:43345] [Bug #6159]</div><div class='del'>-</div><div class='del'>-	* enumerator (InitVM_Enumerator): don't use rb_define_alias for</div><div class='del'>-	  some methods such as collect in order to make rb_frame_this_func()</div><div class='del'>-	  return the correct method names.</div><div class='del'>-</div><div class='del'>-Sat Mar 24 22:22:18 2012  Sambasiva Rao Suda  &lt;sambasivarao@gmail.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_init_1): Time.new will accept seconds as string or</div><div class='del'>-	  int.  [ruby-core:43569][Bug #6193]</div><div class='del'>-</div><div class='del'>-Fri Mar 23 15:12:12 2012  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (documentation for str_encode): Explain</div><div class='del'>-	  that transcoding to the same encoding is a no-op</div><div class='del'>-	  (i.e. no exceptions, no replacements,...).</div><div class='del'>-	  [ruby-core:43557][Bug #6190]</div><div class='del'>-</div><div class='del'>-Fri Mar 23 13:19:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str_to_inum): must be ASCII compatible encoding as</div><div class='del'>-	  well as String#hex and String#oct.  [ruby-core:43566][Bug #6192]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_must_asciicompat): check if ASCII compatible.</div><div class='del'>-</div><div class='del'>-Thu Mar 22 23:14:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode_bang, encoded_dup): if nothing was</div><div class='del'>-	  transcoded, just set encoding but leave coderange unchanged as</div><div class='del'>-	  force_encoding.  [ruby-core:43557][Bug #6190]</div><div class='del'>-</div><div class='del'>-Thu Mar 22 22:30:44 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (static int io_fflush): add the definition.</div><div class='del'>-	  Use it in set_binary_mode_with_seek_cur().</div><div class='del'>-</div><div class='del'>-	* io.c (set_binary_mode_with_seek_cur): refactoring to split the</div><div class='del'>-	  content into io_unread(). Fix the possibility of buffer overflow.</div><div class='del'>-</div><div class='del'>-	* io.c (io_unread): add new implementation for Windows. Previous one</div><div class='del'>-	  caused invalid cursor position using IO#pos with OS text mode. New</div><div class='del'>-	  one fixes the bug.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb</div><div class='del'>-	  (TestIO_M17N#test_pos_dont_move_cursor_position): add a test for</div><div class='del'>-	  above bug.</div><div class='del'>-	  [ruby-core:43497] [Bug #6179]</div><div class='del'>-</div><div class='del'>-Thu Mar 22 19:55:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fstat, rb_w32_fstati64): convert FILETIME</div><div class='del'>-	  to time_t directly, not to be affected by TZ unnecessarily.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (unixtime_to_filetime): convert time_t to FILETIME</div><div class='del'>-	  simply.</div><div class='del'>-</div><div class='del'>-Thu Mar 22 13:43:31 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (rsa_generate): fix argument type.</div><div class='del'>-	  [Bug #6094]</div><div class='del'>-</div><div class='del'>-Thu Mar 22 11:14:10 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_pos_with_getc): updated.</div><div class='del'>-	  see [ruby-core:43550]</div><div class='del'>-</div><div class='del'>-Wed Mar 21 17:57:57 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c: Merge Onigmo 3d855b30d574536d3ae600260208c6624ae4791c.</div><div class='del'>-	  [Bug#6143] [Bug#6144] [Bug#6145]</div><div class='del'>-</div><div class='del'>-Wed Mar 21 17:01:55 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_pos_with_getc): added.</div><div class='del'>-	  see [Bug #6179][ruby-core:43518]</div><div class='del'>-</div><div class='del'>-Mon Mar 19 17:18:51 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_flat_map_func): convert the block value to</div><div class='del'>-	  Array if it doesn't respond to each.  [ruby-core:43334]</div><div class='del'>-	  [Bug #6155]</div><div class='del'>-</div><div class='del'>-Mon Mar 19 16:34:14 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (zip_i): variadic argument needs explicit cast on the</div><div class='del'>-	  platforms where VALUE is longer than int.</div><div class='del'>-</div><div class='del'>-Mon Mar 19 15:36:41 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerable_lazy): add an example of take and first</div><div class='del'>-	  to the documentation.  [ruby-core:43344] [Bug #6158]</div><div class='del'>-	  add the description of the behavior when a block is given to zip</div><div class='del'>-	  or cycle.</div><div class='del'>-</div><div class='del'>-Mon Mar 19 15:20:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): DRY and replace chain</div><div class='del'>-	  of if-else with switch for special instructions.  based on a</div><div class='del'>-	  patch by Vasfed.  https://github.com/ruby/ruby/pull/105</div><div class='del'>-</div><div class='del'>-Mon Mar 19 15:05:54 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pty.rb: same as r29280, skip tests when PTY allocation</div><div class='del'>-	  failed (that's not our fault).</div><div class='del'>-</div><div class='del'>-Sun Mar 18 23:21:17 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (aligned_free): fix condition for free.  memalign() and</div><div class='del'>-	  posix_memalign() are not defined together normally.</div><div class='del'>-</div><div class='del'>-Sun Mar 18 18:31:45 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (aligned_malloc, aligned_free): added fallback implementations</div><div class='del'>-	  for platforms like OSX Leopard.</div><div class='del'>-</div><div class='del'>-Sun Mar 18 17:17:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): estimate result bit size more precisely.</div><div class='del'>-	  [ruby-core:30735][Feature #3429]</div><div class='del'>-</div><div class='del'>-Sun Mar 18 17:17:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (free_method_entry_i): method entry may be in</div><div class='del'>-	  unlinked_method_entry_list.  [ruby-core:43383][Bug #6171]</div><div class='del'>-</div><div class='del'>-Sun Mar 18 15:27:31 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: typo fix by Run Paint Run Run.</div><div class='del'>-	  [ruby-core:28368] [Bug #2824]</div><div class='del'>-</div><div class='del'>-Sun Mar 18 10:01:02 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb: support calling singleton methods of</div><div class='del'>-	  an instance of BasicObject.</div><div class='del'>-</div><div class='del'>-Sat Mar 17 06:56:58 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c:  Fix indentation of Class#inherited example.</div><div class='del'>-</div><div class='del'>-Sat Mar 17 01:46:05 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (trnext): fix bug with string ending with '\\'.</div><div class='del'>-	  [ruby-dev:45374][Bug #6160]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (TestString#test_delete): test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 20:06:24 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (trnext): should advance char-wise.</div><div class='del'>-	  [ruby-core:43335][Bug #6156]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 17:42:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_append_gen): fix unreachable warning line number.</div><div class='del'>-	  should warn at the code, not jump.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 17:33:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take): allocate buffer array before iteration, as well</div><div class='del'>-	  as enum_first did.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_first): remove duplication.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 14:43:18 2012  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_init_ext): don't free the given pointer itself.</div><div class='del'>-	  It is not guaranteed even that the pointer is on heap.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 14:37:57 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_mod_module_eval): fix the documentation of</div><div class='del'>-	  class_eval to mention class variable lookup.  [ruby-core:40649]</div><div class='del'>-	  [Bug #5544]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 14:27:11 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_mod_module_eval): fix the documentation of</div><div class='del'>-	  class_eval to mention constant lookup.  [ruby-core:41718]</div><div class='del'>-	  [Bug #5777]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 14:10:45 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (initialize): raise Net::IMAP::Error when the</div><div class='del'>-	  connection is closed without a greeting response.</div><div class='del'>-	  [ruby-core:40938] [Bug #5616]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 13:50:12 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (rfc822_text): ignore [] after RFC822.</div><div class='del'>-	  [ruby-core:40945] [Bug #5620]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 12:00:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (argument_error): use line number at the beginning</div><div class='del'>-	  of lambda, not the first code of its body.</div><div class='del'>-	  [ruby-core:43314][Bug #6151]</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_first_lineno): constified.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 11:20:07 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_take): don't enumerate an extra value.</div><div class='del'>-	  [ruby-dev:45370] [Bug #6152]</div><div class='del'>-</div><div class='del'>-Fri Mar 16 06:30:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_zip_func): variadic argument needs explicit cast</div><div class='del'>-	  on the platforms where VALUE is longer than int.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_init_iterator): no need to check overflow twice.</div><div class='del'>-</div><div class='del'>-Fri Mar 16 05:47:09 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_init_iterator):  Fix type error (int vs long).</div><div class='del'>-</div><div class='del'>-Thu Mar 15 23:13:36 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (rb_enum_values_pack): rename from enum_values_pack, and</div><div class='del'>-	  remove static.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_init_iterator, lazy_init_yielder,</div><div class='del'>-	  lazy_select_func, lazy_reject_func, lazy_grep_func): handle</div><div class='del'>-	  multiple values correctly.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_grep): change the behavior when a block is</div><div class='del'>-	  given, to be consistent with Enumerable#grep.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 19:12:31 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_zip): rescue StopIteration returned by</div><div class='del'>-	  Enumerator#next.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 18:19:53 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_zip, lazy_cycle): Enumerator::Lazy#{zip,cycle}</div><div class='del'>-	  should be eager when a block is given, to be consistent with</div><div class='del'>-	  Enumerable#{zip,cycle}.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 17:45:27 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (InitVM_Enumerator): renamed Enumerable::Lazy to</div><div class='del'>-	  Enumerator::Lazy.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 16:37:38 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerable_lazy): added cycle to the documentation.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 15:37:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix warning line number.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 15:19:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_cycle): check argument number overflow before</div><div class='del'>-	  creating temporary array.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 15:04:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): no need to check same digit for hexdigit</div><div class='del'>-	  twice.  [ruby-dev:45363][Bug #6146]</div><div class='del'>-</div><div class='del'>-	* parse.y (sym_check_asciionly): check ascii compatibility before</div><div class='del'>-	  scanning for code range.</div><div class='del'>-</div><div class='del'>-	* parse.y (intern_str): set to us-ascii if ascii only.</div><div class='del'>-	  [ruby-dev:45363][Bug #6146]</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_enc_find_basename): allow NULL as alllen.</div><div class='del'>-	  [ruby-dev:45363][Bug #6146]</div><div class='del'>-</div><div class='del'>-Thu Mar 15 14:49:31 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_conv_enc_opts): default to original encoding.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 13:47:17 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_str_new, rb_f_getenv, env_fetch): use rb_str_conv_enc()</div><div class='del'>-	  instead of rb_str_encode() to simplify the code.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 12:44:50 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_ugetenv): new API to</div><div class='del'>-	  accept and to return UTF-8 strings.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getenv): follow above change.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_get_environ): returns UTF-8 environment area.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_str_new, rb_f_getenv, env_fetch): follow above changes.</div><div class='del'>-	  [Bug #5570] [ruby-core:40737]</div><div class='del'>-</div><div class='del'>-Thu Mar 15 10:57:27 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_cycle): add Enumerable::Lazy#cycle.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 10:31:40 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_arity.rb (TestArity#err_mess): use assert_raise.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 07:03:52 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall):  Raise ArgumentError if respond_to?</div><div class='del'>-	  requires more than three arguments. [Bug #6000]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (class TestObject):  Test for respond_to?</div><div class='del'>-	  requiring more than three arguments.</div><div class='del'>-</div><div class='del'>-Thu Mar 15 06:08:06 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: Add rb_check_arity, rb_error_arity [#6085]</div><div class='del'>-</div><div class='del'>-	* array.c: Use rb_check_arity / rb_error_arity</div><div class='del'>-</div><div class='del'>-	* class.c: ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c: ditto</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto</div><div class='del'>-</div><div class='del'>-	* file.c: ditto</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto</div><div class='del'>-</div><div class='del'>-	* numeric.c: ditto</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto</div><div class='del'>-</div><div class='del'>-	* process.c: ditto</div><div class='del'>-</div><div class='del'>-	* random.c: ditto</div><div class='del'>-</div><div class='del'>-	* re.c: ditto</div><div class='del'>-</div><div class='del'>-	* signal.c: ditto</div><div class='del'>-</div><div class='del'>-	* string.c: ditto</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto</div><div class='del'>-</div><div class='del'>-	* transcode.c: ditto</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto &amp; implementation of rb_error_arity</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_arity.rb: tests for above</div><div class='del'>-</div><div class='del'>-Thu Mar 15 06:08:05 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: improve number of arguments error in case of</div><div class='del'>-	  optional parameters (issue #6085)</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: define UNLIMITED_ARGUMENTS</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_arity.rb:  test for above</div><div class='del'>-</div><div class='del'>-Thu Mar 15 00:58:04 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerable_lazy): fix the documentation of</div><div class='del'>-	  Enumerable#lazy.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 22:01:06 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_init_iterator): break when Qundef is returned</div><div class='del'>-	  to make obj.drop(3).take(2) work properly.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_take_while): add Enumerable::Lazy#take_while.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_drop): add Enumerable::Lazy#drop.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_drop_while): add Enumerable::Lazy#drop_while.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (InitVM_Enumerator): add Enumerable::Lazy#force as an</div><div class='del'>-	  alias of to_a.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 19:28:40 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_take): add Enumerable::Lazy#take.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 18:40:36 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: use long for array indices.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 18:25:18 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: moved the comment of StopIteration.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 17:55:29 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flodivmod): must go through the same pass if HAVE_FMOD or</div><div class='del'>-	  not.  this is a bugfix of r35013.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 16:41:55 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tmpdir.rb (TestTmpdir#test_world_writable): skip on Windows.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 15:09:23 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: fix flodivmod for cornercases [Bug #6044]</div><div class='del'>-	  add ruby_float_mod</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mod): use ruby_float_mod</div><div class='del'>-</div><div class='del'>-	* internal.h: declare ruby_float_mod</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: tests for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: create helper assert_is_minus_zero</div><div class='del'>-</div><div class='del'>-Wed Mar 14 10:44:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_grep_func): should use === instead of =~, as</div><div class='del'>-	  well as Enumerable#grep</div><div class='del'>-</div><div class='del'>-Wed Mar 14 08:15:54 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_flat_map_func): use each for non-Array objects.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 08:06:35 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_zip): add Enumerable::Lazy#zip.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_lazy): just returns self.</div><div class='del'>-</div><div class='del'>-Wed Mar 14 07:48:36 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (datetime_s_now): [ruby-core:43256].</div><div class='del'>-</div><div class='del'>-Tue Mar 13 22:00:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments): keyword rest arg without keyword args.</div><div class='del'>-</div><div class='del'>-	* node.c (dump_node): dump kw_rest_arg too.</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param, f_arg): more kwrest patterns.</div><div class='del'>-	  [ruby-core:42455][Bug #5989]</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): no extra kw_rest_arg if no keyword rest arg.</div><div class='del'>-</div><div class='del'>-Tue Mar 13 15:17:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_param, f_args): add rules for the case arguments</div><div class='del'>-	  begin with kwrest.  [ruby-core:42455][Bug #5989]</div><div class='del'>-</div><div class='del'>-Tue Mar 13 12:37:53 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): always warn if external encoding and internal</div><div class='del'>-	  encoding are identical. [ruby-core:40727] [Bug #5568]</div><div class='del'>-</div><div class='del'>-Tue Mar 13 12:37:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add ObjectSpace::WeakMap.  [ruby-dev:44565][Bug #5350]</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb: use WeakMap instead of _id2ref.</div><div class='del'>-</div><div class='del'>-Tue Mar 13 10:59:48 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (prepare): skip if basedir is not defined.</div><div class='del'>-	  [ruby-core:39135][Bug #5238]</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (CONFIG.[]): check for mandatory</div><div class='del'>-	  configurations.</div><div class='del'>-</div><div class='del'>-Tue Mar 13 00:09:18 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerable_lazy): added documentation.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 20:19:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir::tmpdir): test the current directory suitable for</div><div class='del'>-	  temporary directory.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 20:08:16 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_have_symlink?): specify TypeError for rescue</div><div class='del'>-	  clause.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 19:23:13 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_find_encoding): new function find encoding from</div><div class='del'>-	  arbitrary object as a pointer to rb_encoding, and return NULL if</div><div class='del'>-	  not found.</div><div class='del'>-</div><div class='del'>-	* io.c (io_encoding_set): just warn unsupported encodings, but not</div><div class='del'>-	  exception.  [ruby-core:40726] [Bug #5567]</div><div class='del'>-</div><div class='del'>-Mon Mar 12 19:03:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_eval_method): respond_to? and</div><div class='del'>-	  respond_to_missing? are public.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 14:56:52 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (NEW_YIELD), parse.y (new_yield_gen): array-values flags</div><div class='del'>-	  has been already obsolete.  patch by Thomas Enebo.</div><div class='del'>-	  [ruby-core:41929][Bug #5847]</div><div class='del'>-</div><div class='del'>-Mon Mar 12 12:44:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_eval_method): copy basic methods to Exception.</div><div class='del'>-	  [ruby-core:40287][Bug #5473]</div><div class='del'>-</div><div class='del'>-Mon Mar 12 10:13:36 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (rb_exec_end_proc): remember the latest exit status.</div><div class='del'>-	  [ruby-core:43173][Bug #5218]</div><div class='del'>-</div><div class='del'>-Mon Mar 12 07:33:12 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: update document for changing</div><div class='del'>-	  FileUtils.remove_entry_secure to FileUtils.remove_entry.</div><div class='del'>-</div><div class='del'>-	* NEWS: add incompatibility note for lib/tmpdir.rb.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 07:19:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.tmpdir): should not use world-writable but</div><div class='del'>-	  non-sticky directory.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.mktmpdir): check the parent directory.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 07:04:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (Init_Random): removed rb_Random_DEFAULT and register as</div><div class='del'>-	  mark-object instead of global variable.</div><div class='del'>-</div><div class='del'>-Mon Mar 12 07:03:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_s_rand): ensure default PRNG is re-initialized</div><div class='del'>-	  after fork.  patched by Eric Wong.  [ruby-core:41209][Bug #5661]</div><div class='del'>-</div><div class='del'>-Sun Mar 11 23:57:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): when unpack('M') occurs an illegal byte</div><div class='del'>-	  sequence, output the "=" character and the following character in</div><div class='del'>-	  the decoded data without any transformation.</div><div class='del'>-	  [ruby-dev:44875] [Bug #5635]</div><div class='del'>-</div><div class='del'>-Sun Mar 11 22:32:43 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Merge 164a75c8bd2007d32c4d7665d53140d8fc126dcd.</div><div class='del'>-	  [ruby-core:41917] [Bug #5846]</div><div class='del'>-</div><div class='del'>-Sun Mar 11 17:10:04 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Put error message into STDERR if failed to launch</div><div class='del'>-	  worker (job) process. [ruby-dev:44802] [Bug #5577]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: If failed to increment_io, exit with code</div><div class='del'>-	  2. [ruby-dev:44802] [Bug #5577]</div><div class='del'>-</div><div class='del'>-Sun Mar 11 15:46:45 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fix rdoc of `IO.binwrite` to show same as `IO.write` except</div><div class='del'>-	  it opens file with mode "wb:ASCII-8BIT". [Bug #5782] [ruby-core:42592]</div><div class='del'>-</div><div class='del'>-Sat Mar 10 23:52:28 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: pack tables also generic keys.  patched by Sokolov Yura at</div><div class='del'>-	  https://github.com/ruby/ruby/pull/84</div><div class='del'>-</div><div class='del'>-	* st.c: add st_foreach_check for fixing iteration over packed table</div><div class='del'>-	  and st_delete_safe.  patched by Sokolov Yura at</div><div class='del'>-	  https://github.com/ruby/ruby/pull/84</div><div class='del'>-</div><div class='del'>-	* st.c: fix packed num_entries on delete_safe.  patched by Sokolov</div><div class='del'>-	  Yura at https://github.com/ruby/ruby/pull/84</div><div class='del'>-</div><div class='del'>-Fri Mar  9 14:29:32 2012  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_flat_map): add Enumerable::Lazy#flat_map.</div><div class='del'>-</div><div class='del'>-Fri Mar  9 06:29:22 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb (load, parse): stop parsing or loading after</div><div class='del'>-	  the first document has been parsed.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_stream.rb: pertinent tests.</div><div class='del'>-</div><div class='del'>-Fri Mar  9 06:17:05 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb (parse_stream, load_stream): if a block is</div><div class='del'>-	  given, documents will be yielded to the block as they are parsed.</div><div class='del'>-	  [ruby-core:42404] [Bug #5978]</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/handlers/document_stream.rb: add a handler that</div><div class='del'>-	  yields documents as they are parsed</div><div class='del'>-</div><div class='del'>-	* test/psych/test_stream.rb: corresponding tests.</div><div class='del'>-</div><div class='del'>-Fri Mar  9 00:35:03 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_initialize, enumerable_lazy): no additional</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-Fri Mar  9 00:30:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: add Enumerable#lazy. based on the patch by</div><div class='del'>-	  Innokenty Mikhailov at &lt;https://github.com/ruby/ruby/pull/101&gt;</div><div class='del'>-	  [ruby-core:37164] [Feature #4890]</div><div class='del'>-</div><div class='del'>-Fri Mar  9 00:25:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_each, generator_each): pass arguments to</div><div class='del'>-	  the block with yielder.</div><div class='del'>-</div><div class='del'>-Fri Mar  9 00:25:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_cat): new function to concat objects into array.</div><div class='del'>-</div><div class='del'>-Thu Mar  8 16:44:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_numtable_entry): update for recent refactoring of</div><div class='del'>-	  st_table.</div><div class='del'>-</div><div class='del'>-Wed Mar  7 22:41:50 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (module XMLRPC): fix typo.</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_client.rb (test_async_call): add test for</div><div class='del'>-	  XMLRPC::Client#call_async to check above fix.</div><div class='del'>-</div><div class='del'>-Wed Mar  7 16:30:24 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_load_fail): should honor encoding.</div><div class='del'>-</div><div class='del'>-	* load.c (load_failed): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  7 12:26:25 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_load_fail): use path as a string, not char*.</div><div class='del'>-</div><div class='del'>-	* internal.h: (rb_load_fail): moved from ruby/intern.h.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): fname cannot be NULL.</div><div class='del'>-</div><div class='del'>-Wed Mar  7 08:32:43 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_loaderror_with_path): Adding the missing file as an</div><div class='del'>-	  instance variable to the LoadError exception.</div><div class='del'>-	  [ruby-core:39079]</div><div class='del'>-</div><div class='del'>-	* load.c: call rb_loaderror_with_path so that the missing path is</div><div class='del'>-	  added to the exception.</div><div class='del'>-</div><div class='del'>-	* ruby.c: call rb_loaderror rather than raising our own LoadError</div><div class='del'>-	  exception.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: add declaration for rb_loaderror_with_path.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: add supporting test for LoadError#path</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-Wed Mar  7 08:28:00 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb: support i8 types. Thanks Stas Kelvich!</div><div class='del'>-	  [ruby-core:29246] [Feature #3090]</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_client.rb: supporting test</div><div class='del'>-</div><div class='del'>-Wed Mar  7 07:43:29 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: assume servers that do not send a Content-Type</div><div class='del'>-	  header are sending 'text/xml'. Thanks Nathan Leavitt!</div><div class='del'>-	  [ruby-core:41204] [Bug #5660]</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_client.rb: supporting test</div><div class='del'>-</div><div class='del'>-Wed Mar  7 07:39:28 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_client.rb: adding a test for performing an XMLRPC</div><div class='del'>-	  call.</div><div class='del'>-	* test/xmlrpc/data/blog.xml: supporting XML document for the response.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 16:24:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string): escape simple regexp meta</div><div class='del'>-	  character terminators.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 10:11:43 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (set_rawmode): clear ECHOE and ECHOK</div><div class='del'>-	  bits too.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (echo_p): ignore ECHOE and ECHOK bits.</div><div class='del'>-	  [ruby-dev:45309] [Bug #6116]</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_raw): fix rdoc.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_set_echo): mentioned about</div><div class='del'>-	  platform dependency.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 07:18:10 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: switch net/http post2 calls to modern</div><div class='del'>-	  `request_post` methods.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 02:31:20 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/core_ext.rb: only extend Kernel if IRB is loaded</div><div class='del'>-	  in order to stop method pollution.</div><div class='del'>-</div><div class='del'>-Tue Mar  6 01:34:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_call): rules for block_call after block_call.</div><div class='del'>-	  based on a patch by pasberth https://github.com/ruby/ruby/pull/102</div><div class='del'>-	  [ruby-dev:45308][Bug #6115]</div><div class='del'>-</div><div class='del'>-Tue Mar  6 01:24:13 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_command, block_call): simplified rules.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 18:28:35 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_source): fix typo.</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_equal): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 17:11:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/syck/rubytypes.rb (Exception.yaml_new): fix bug</div><div class='del'>-	  that causes YAML serialization problem for Exception.</div><div class='del'>-	  Exception#initialize doesn't use visible instance variable for</div><div class='del'>-	  the exception message, so call the method with the message.</div><div class='del'>-	  patched by Jingwen Owen Ou &lt;jingweno AT gmail.com&gt;.</div><div class='del'>-	  http://github.com/ruby/ruby/pull/41</div><div class='del'>-</div><div class='del'>-Mon Mar  5 16:50:22 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): syntax error.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): call uname</div><div class='del'>-	  only on linux because it's a workaround for linux only.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 12:44:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (unpack_entries): chain entries directly.  based on a patch</div><div class='del'>-	  by Sokolov Yura &lt;funny.falcon AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* st.c (unpack_entries): use union instead of casted pointer.</div><div class='del'>-	  patched by Sokolov Yura &lt;funny.falcon AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* st.c: use PACKED_ENT and FIND_ENTRY.  patched by Sokolov</div><div class='del'>-	  Yura &lt;funny.falcon AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* st.c (unpack_entries): reallocate bins if packed array size</div><div class='del'>-	  is not same as initial bins size.  based on a patch by</div><div class='del'>-	  Sokolov Yura &lt;funny.falcon AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Mon Mar  5 11:51:48 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: remove description about</div><div class='del'>-	  BigMath#log. patched by Sho Hashimoto [ruby-dev:45307] [Bug #6112]</div><div class='del'>-</div><div class='del'>-	* string.c (str_byteslice): fix typo.</div><div class='del'>-</div><div class='del'>-Sun Mar  4 23:21:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string): regexp engine doesn't need</div><div class='del'>-	  terminators to be escaped.  [ruby-core:40364][Bug #5484]</div><div class='del'>-</div><div class='del'>-Sat Mar  3 22:51:46 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_run_exec_options_err): chdir at last to interpret</div><div class='del'>-	  relative pathnames from the current directory of the parent process.</div><div class='del'>-</div><div class='del'>-Sat Mar  3 12:20:44 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c: reassigned some variables.</div><div class='del'>-</div><div class='del'>-Sat Mar  3 12:12:16 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_{parse,strptime}.c: [ruby-dev:45303].</div><div class='del'>-</div><div class='del'>-Sat Mar  3 10:09:21 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (initialize): net/http defaults to 1_2 in 1.8+,</div><div class='del'>-	  so we can safely remove the call to enable it.</div><div class='del'>-</div><div class='del'>-Sat Mar  3 08:42:25 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (new2): use URI for uri parsing.</div><div class='del'>-	* test/xmlrpc/test_client.rb: test that query params are passed to the</div><div class='del'>-	  client constructor.</div><div class='del'>-</div><div class='del'>-Sat Mar  3 08:20:10 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (new2): raises an ArgumentError on bad</div><div class='del'>-	  arguments.</div><div class='del'>-	* test/xmlrpc/test_client.rb: tests for bad uris</div><div class='del'>-</div><div class='del'>-Sat Mar  3 08:08:11 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (new2): fix custom port specification when an</div><div class='del'>-	  SSL uri is used.</div><div class='del'>-	* test/xmlrpc/test_client.rb: tests for XMLRPC::Client.new2</div><div class='del'>-</div><div class='del'>-Sat Mar  3 08:03:29 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/rubyext.c (mktime_do): use ISDIGIT().</div><div class='del'>-	  [ruby-core:43060] [Bug #6108]</div><div class='del'>-</div><div class='del'>-	* ext/syck/token.c (sycklex_yaml_utf8): cast as unsigned char.</div><div class='del'>-	  [ruby-core:43060] [Bug #6108]</div><div class='del'>-</div><div class='del'>-Sat Mar  3 06:57:14 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_pc): make configurable.  [Bug #6051]</div><div class='del'>-</div><div class='del'>-Fri Mar  2 17:49:03 2012  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (branches): Enable TravisCI for ruby_1_9_3.</div><div class='del'>-</div><div class='del'>-Fri Mar  2 17:13:33 2012  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_combination2): Make the test case for</div><div class='del'>-	  [ruby-core:29240] more descriptive.</div><div class='del'>-	  cf. http://bugs.jruby.org/6518</div><div class='del'>-</div><div class='del'>-Fri Mar  2 16:37:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): use wcscasecmp().</div><div class='del'>-</div><div class='del'>-Fri Mar  2 16:36:31 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_timeout): cast explicitly to suppress</div><div class='del'>-	  a warning.</div><div class='del'>-</div><div class='del'>-Fri Mar  2 16:35:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): cmd is no longer used if fork is available.</div><div class='del'>-</div><div class='del'>-Thu Mar  1 16:13:18 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_file_const, rb_file_load_ok): moved functions for</div><div class='del'>-	  internal use only.</div><div class='del'>-</div><div class='del'>-Thu Mar  1 15:40:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/makedirs.bat: new command to make intermediate</div><div class='del'>-	  directories, and not to report any errors if the directory</div><div class='del'>-	  already exists.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MAKEDIRS): enable command extensions.</div><div class='del'>-</div><div class='del'>-Thu Mar  1 01:25:43 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (is_onechar_cclass): optimize character class</div><div class='del'>-	  Merge Onigmo 27278c12e6674043cc8affca6507e20e119a86ee.</div><div class='del'>-</div><div class='del'>-	* regparse.c (is_onechar_cclass): [bug] unexpected match occurs when a</div><div class='del'>-	  char class contains no char</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (init_case_fold_table): define the sizes of case</div><div class='del'>-	  folding tables in casefold.h</div><div class='del'>-</div><div class='del'>-Wed Feb 29 16:11:34 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MAKEDIRS): use mkdir of cmd.exe instead of ruby.</div><div class='del'>-	  [Bug #6103] [ruby-core:43012]</div><div class='del'>-</div><div class='del'>-	* win32/README.win32: added a notice about command extension of cmd.exe.</div><div class='del'>-</div><div class='del'>-Wed Feb 29 15:39:39 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_readpartial_locktmp): skip on</div><div class='del'>-	  windows because of the platform restriction.</div><div class='del'>-</div><div class='del'>-Wed Feb 29 15:38:50 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb (Memory): syntax error.</div><div class='del'>-</div><div class='del'>-Wed Feb 29 13:06:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb: use /proc/self/status if it is in</div><div class='del'>-	  the expected format.</div><div class='del'>-</div><div class='del'>-Wed Feb 29 06:14:51 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: reverted r34825.</div><div class='del'>-</div><div class='del'>-Tue Feb 28 23:20:01 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (PLATFORM_DIR): add a variable for `win32` directory.</div><div class='del'>-	* Makefile.in (clean-platform): add new target.</div><div class='del'>-	  It cleans `win32` directory.</div><div class='del'>-</div><div class='del'>-	* common.mk (clean): add a dependency for `win32` directory.</div><div class='del'>-	* common.mk (distclean): ditto.</div><div class='del'>-	* common.mk (distclean-platform): add new target.</div><div class='del'>-	  It cleans `win32` directory.</div><div class='del'>-	* common.mk ($(PLATFORM_D)): add new target to make `win32` directory.</div><div class='del'>-	* common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32`</div><div class='del'>-	  directory.</div><div class='del'>-	* common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.</div><div class='del'>-</div><div class='del'>-	* configure.in: move win32.o into `win32` directory and add</div><div class='del'>-	  win32/file.o to MISSING.</div><div class='del'>-</div><div class='del'>-	* file.c (file_load_ok, rb_file_load_ok): replace static</div><div class='del'>-	  file_load_ok() with public rb_file_load_ok().</div><div class='del'>-	  It's to link Windows implementation in win32/file.c.</div><div class='del'>-	* file.c (rb_find_file_ext_safe): ditto.</div><div class='del'>-	* file.c (rb_find_file_safe): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_load_ok): new file. Add Windows specific</div><div class='del'>-	  optimized implementation of rb_file_load_ok(). We created a</div><div class='del'>-	  separated file to avoid too many #ifdef macro which is unreadable.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`</div><div class='del'>-	  directory.</div><div class='del'>-	* win32/Makefile.sub (MISSING): move win32.obj into `win32`</div><div class='del'>-	  directory and add win32/file.obj to MISSING.</div><div class='del'>-	* win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.</div><div class='del'>-	  It's because miniruby doesn't exist when making `win32` directory.</div><div class='del'>-	* win32/Makefile.sub (clean-platform): add new target to clean `win32`</div><div class='del'>-	  directory.</div><div class='del'>-	* win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match</div><div class='del'>-	  win32/file.c to build properly.</div><div class='del'>-	* win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into</div><div class='del'>-	 `win32` directory.</div><div class='del'>-</div><div class='del'>-	  Patch created with Luis Lavena.</div><div class='del'>-	  [ruby-core:42480] [Feature #5999]</div><div class='del'>-</div><div class='del'>-Tue Feb 28 20:27:25 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:42998]</div><div class='del'>-</div><div class='del'>-Tue Feb 28 18:47:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite, rb_io_syswrite): use shared frozen source</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread, io_getpartial, rb_io_sysread): set buffer size</div><div class='del'>-	  after check if readable, which can cause thread switch.</div><div class='del'>-	  [ruby-dev:45297][Bug #6099]</div><div class='del'>-</div><div class='del'>-Tue Feb 28 17:16:01 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time#xmlschema): use strftime specifiers instead of</div><div class='del'>-	  fractional exponential calculation which yields undesirable</div><div class='del'>-	  result.  [ruby-core:42997][Bug #6100]</div><div class='del'>-</div><div class='del'>-Tue Feb 28 14:15:29 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb: Add OpenTimeout subclass of Timeout::Error</div><div class='del'>-	* lib/net/pop.rb:  Modernize Timeout usage.  Patch by Eric Wong.</div><div class='del'>-	  Use Net::OpenTimeout instead of Timeout::Error.  [Bug #5765]</div><div class='del'>-	* lib/net/http.rb:  ditto</div><div class='del'>-	* lib/net/smtp.rb:  ditto</div><div class='del'>-	* lib/net/telnet.rb:  ditto</div><div class='del'>-</div><div class='del'>-Tue Feb 28 13:51:12 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Retry HTTP requests for additional network errors.</div><div class='del'>-	  Introduce OpenTimeout subclass of Timeout::Error.  [Bug #6001]</div><div class='del'>-	* test/net/http/test_http.rb:  Reduce timeout to 0.01s for faster test</div><div class='del'>-	* test/net/http/test_https.rb:  ditto</div><div class='del'>-</div><div class='del'>-Tue Feb 28 11:44:49 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (debugflags): check if -ggdb is accepted.</div><div class='del'>-	  [ruby-core:42875][Bug #6080]</div><div class='del'>-</div><div class='del'>-Tue Feb 28 10:28:51 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: default open YAML files with utf8 external</div><div class='del'>-	  encoding. [ruby-core:42967]</div><div class='del'>-	* test/psych/test_tainted.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Feb 27 23:46:09 2012  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (opt_bv_decl): allow newline at the end.  [ruby-dev:45292]</div><div class='del'>-</div><div class='del'>-Mon Feb 27 20:43:05 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_set_pos): add rdoc about textmode.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_setpos): use binmode.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 17:00:15 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): Update rdoc and state that this</div><div class='del'>-	  function is system dependent.  Reviewed by nobu, thanks to</div><div class='del'>-	  @takai.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 17:03:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): since methods</div><div class='del'>-	  can be overridden, so should not make an assumption on the type</div><div class='del'>-	  of results.  [ruby-core:42969][Bug #6093]</div><div class='del'>-</div><div class='del'>-Mon Feb 27 10:54:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): replace the</div><div class='del'>-	  target flags if the given flag is accepted.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 10:53:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_specification.rb (test_self_from_yaml_syck_default_key_bug):</div><div class='del'>-	  ignore the test for too old versions.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 10:53:12 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#puke): skips with no</div><div class='del'>-	  messages should be trivial.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 10:50:23 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, process.c, time.c, ext: use rb_sys_fail_str instead of</div><div class='del'>-	  rb_sys_fail.</div><div class='del'>-</div><div class='del'>-Mon Feb 27 10:48:49 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: suppress useless deprecation warnings</div><div class='del'>-	  from OpenSSL added by Apple.</div><div class='del'>-</div><div class='del'>-Sun Feb 26 23:29:49 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (add_code_range_to_buf0): wrong condition of duplicated</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Sun Feb 26 11:26:44 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): call on special object instead of</div><div class='del'>-	  self.  since stabby lambda is a syntax, so it should not be</div><div class='del'>-	  affected by the context.  [ruby-core:42349][Bug #5966]</div><div class='del'>-</div><div class='del'>-	* insns.def (send): no special deal for FCALL.  self should be put</div><div class='del'>-	  on TOS instead.</div><div class='del'>-</div><div class='del'>-Sun Feb 26 05:35:43 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (report_bug): use buf and snprintf to avoid consuming stack.</div><div class='del'>-	  [ruby-dev:45272] [Bug #6058]</div><div class='del'>-</div><div class='del'>-Sat Feb 25 17:41:19 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb (headers): try ambiguous headers at last.</div><div class='del'>-</div><div class='del'>-Sat Feb 25 17:07:15 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: use chomp(?/) instead of sub to optimize and avoid</div><div class='del'>-	  to regexping invalid string.</div><div class='del'>-</div><div class='del'>-Sat Feb 25 16:18:24 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_marshal_load): raise error on invalid data.</div><div class='del'>-	  reported by John Firebaugh [ruby-core:42860] [Bug #6076]</div><div class='del'>-</div><div class='del'>-Sat Feb 25 14:46:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (Init_dl): support intrinsic types, size_t, ptrdiff_t</div><div class='del'>-	  and intptr_t.  [ruby-core:42460][Feature #5992]</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/fiddle.c (Init_fiddle): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_ctype): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 25 11:08:28 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): use rb_define_const once for</div><div class='del'>-	  Curses::VERSION.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): ditto for DBM::VERSION.</div><div class='del'>-</div><div class='del'>-Sat Feb 25 10:34:22 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): make Curses::VERSION</div><div class='del'>-	  understandable without context.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): ditto for DBM::VERSION.</div><div class='del'>-</div><div class='del'>-Sat Feb 25 07:53:58 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string): insert a backslash only if</div><div class='del'>-	  quoted by single quotes.  [ruby-dev:45281] [Bug #6069]</div><div class='del'>-</div><div class='del'>-Sat Feb 25 07:53:49 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_inspect), io.c (rb_io_inspect): keep encoding of path.</div><div class='del'>-	  [Bug #6072]</div><div class='del'>-</div><div class='del'>-Sat Feb 25 07:53:40 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): keep path in original encoding.</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): prefer the encoding of message over</div><div class='del'>-	  locale.  [ruby-dev:45279][Bug #6071]</div><div class='del'>-</div><div class='del'>-Sat Feb 25 06:55:29 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (utime_internal): fix a variable missed to replace.</div><div class='del'>-	  [ruby-core:42864] [Bug #6077]</div><div class='del'>-</div><div class='del'>-Fri Feb 24 18:21:55 2012  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (TestZlibGzipReader#test_encoding): Add</div><div class='del'>-	  encoding testcases for GzipReader#read.  read() emits</div><div class='del'>-	  Encoding.default_external in contrast to read(size) emits BINARY.</div><div class='del'>-	  See also: http://bugs.jruby.org/6208</div><div class='del'>-</div><div class='del'>-Fri Feb 24 17:56:39 2012  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_literal.rb (TestRubyLiteral#test_special_const):</div><div class='del'>-	  test for https://bugs.php.net/bug.php?id=61095</div><div class='del'>-</div><div class='del'>-Fri Feb 24 16:48:29 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c, file.c, io.c (rb_sys_fail_path): use rb_sys_fail_str.</div><div class='del'>-</div><div class='del'>-	* error.c: new functions to deal exceptions with string instances.</div><div class='del'>-</div><div class='del'>-	* dir.c, file.c, io.c: use rb_sys_fail_path.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 15:49:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (__builtin_unreachable): check for clang.</div><div class='del'>-	  [ruby-core:42849]</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (UNREACHABLE): fallback definition.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 13:54:33 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: prevent a memory leak by protecting calls to</div><div class='del'>-	  handler callbacks.</div><div class='del'>-	* test/psych/test_parser.rb: test to demonstrate leak.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 12:07:34 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Fix documentation. Patched from Florian Mhun</div><div class='del'>-	  via http://github.com/ruby/ruby/pull/96</div><div class='del'>-</div><div class='del'>-Fri Feb 24 11:48:07 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_prepend): Fix documentation for String#prepend.</div><div class='del'>-	  Patched from Franck Verrot via http://github.com/ruby/ruby/pull/98</div><div class='del'>-	  and Andrew Horsman via http://github.com/ruby/ruby/pull/55</div><div class='del'>-</div><div class='del'>-Fri Feb 24 10:08:33 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#transport_request):  Fix infinite loop</div><div class='del'>-	  upon EOFError or Errno::ECONNRESET where count is reset to 0.</div><div class='del'>-	* test/net/http/test_http.rb (class TestNetHTTPKeepAlive):  Test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 09:05:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex):  Document Complex::I.  Patch by Sylvain</div><div class='del'>-	  Daubert.  [Feature #5623]</div><div class='del'>-</div><div class='del'>-Fri Feb 24 08:52:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string, parser_yylex): insert a backslash</div><div class='del'>-	  if the next character is non-ascii.  [ruby-dev:45278] [Bug #6069]</div><div class='del'>-</div><div class='del'>-Fri Feb 24 08:13:20 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb:  Add Profiler documentation by Gonzalo Rodriguez.</div><div class='del'>-	  [Bug #5816]</div><div class='del'>-</div><div class='del'>-Fri Feb 24 08:08:38 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: set parser encoding based on the YAML input</div><div class='del'>-	  rather than user configuration.</div><div class='del'>-	* test/psych/test_encoding.rb: corresponding tests.</div><div class='del'>-	* test/psych/test_parser.rb: ditto</div><div class='del'>-	* test/psych/test_tainted.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Feb 24 08:02:52 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash):  Add section on how objects are used as Hash keys</div><div class='del'>-	  and how to use custom classes as Hash keys.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 07:36:11 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_eql):  Improve equality documentation by adding an</div><div class='del'>-	  example of equal? vs == and recommending eql? be aliased to == when</div><div class='del'>-	  overridden.</div><div class='del'>-</div><div class='del'>-Fri Feb 24 07:21:15 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_hash):  Added note that the hash value is not</div><div class='del'>-	  deterministic on Marc-Andre's suggestion.  Expanded description of</div><div class='del'>-	  the purpose of the hash method.  [Bug #6068]</div><div class='del'>-</div><div class='del'>-Thu Feb 23 23:01:21 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: unused macro removed.</div><div class='del'>-</div><div class='del'>-Thu Feb 23 22:26:53 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_curses.rb: new file.</div><div class='del'>-</div><div class='del'>-Thu Feb 23 19:57:56 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/rain.rb: trap SIGHUP, SIGINT, SIGQUIT and SIGTERM only.</div><div class='del'>-</div><div class='del'>-Thu Feb 23 19:56:48 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_trap): show signal name on error.</div><div class='del'>-</div><div class='del'>-Thu Feb 23 12:21:48 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: use DBM_SUFFIX only to detect header of</div><div class='del'>-	  Berkeley DB.</div><div class='del'>-</div><div class='del'>-Thu Feb 23 10:00:18 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_f_sync):  Fix double-negative typo.  [ruby-trunk - #5837]</div><div class='del'>-</div><div class='del'>-Thu Feb 23 09:57:21 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require):  Add note to require for scope of items in the</div><div class='del'>-	  loaded file.  [ruby-trunk - #5910]</div><div class='del'>-</div><div class='del'>-Thu Feb 23 03:58:08 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (delete_field): Bug fix so previous value is</div><div class='del'>-	  returned. Patch by Nick Recobra [Bug #6063]</div><div class='del'>-</div><div class='del'>-Thu Feb 23 02:33:00 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): fail only if conflicting</div><div class='del'>-	  text/binary modes given explicitly.  [ruby-dev:45268][Bug #6055]</div><div class='del'>-</div><div class='del'>-Wed Feb 22 23:27:08 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/iconv/test_option.rb: enabled.  [ruby-core:42802][Bug #6061]</div><div class='del'>-</div><div class='del'>-Wed Feb 22 21:45:56 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: use defined() to suppress a warning.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 21:44:29 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: refactored.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 20:42:28 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: try to distinguish curses_version is a</div><div class='del'>-	  function or variable.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): refine Curses::VERSION.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 19:47:03 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: show the chosen header and library.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 19:22:31 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* reverted 34739 for test/date.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 19:08:55 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: refactored.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 18:44:41 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (setup_options): add option "--retry" as opposite</div><div class='del'>-	  for "--no-retry"</div><div class='del'>-</div><div class='del'>-Wed Feb 22 18:34:02 2012  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (setup_options): add option "--show-skip" to</div><div class='del'>-	  cancel "--hide-skip" (-q)</div><div class='del'>-</div><div class='del'>-Wed Feb 22 17:36:22 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_foreach): argument check before making Enumerator.</div><div class='del'>-	  [ruby-dev:31525]</div><div class='del'>-</div><div class='del'>-Wed Feb 22 17:07:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_foreach): return enumerator including keyword</div><div class='del'>-	  arguments.  [ruby-dev:45267][Bug #6054]</div><div class='del'>-</div><div class='del'>-Wed Feb 22 12:15:16 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: allow llvm-gcc because it work fine with r34278.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 10:57:08 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token): don't use // comment.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 10:32:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_framework.rb: try CoreFoundation framework, than</div><div class='del'>-	  Cocoa which is dependent on QuickTime SDK which has separated</div><div class='del'>-	  since Xcode 4.3.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 10:18:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (test-all, test-ruby): more dependencies.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 06:48:55 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test):  Fix formatting of Kernel#test rdoc.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 06:12:15 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: check DBM_SUFFIX for Mac OS X.</div><div class='del'>-	  Its ndbm.h doesn't include db.h.</div><div class='del'>-</div><div class='del'>-Wed Feb 22 06:02:42 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_initialize): disable Berkeley DB error messages.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: check DBC type for above.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:45269]</div><div class='del'>-</div><div class='del'>-Tue Feb 21 20:23:47 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): treat Qundef like as other special constants.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_foreach_iter): fix signature.</div><div class='del'>-</div><div class='del'>-Tue Feb 21 19:39:34 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): use curses_version() for</div><div class='del'>-	  Curses::VERSION.</div><div class='del'>-</div><div class='del'>-Tue Feb 21 18:21:25 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : remove gc_clear_mark_on_sweep_slots() and use</div><div class='del'>-	  rest_sweep() instead of it, because some dead objects might be</div><div class='del'>-	  marked in next the mark phase by false pointers.</div><div class='del'>-	  [ruby-core:42672]</div><div class='del'>-</div><div class='del'>-Tue Feb 21 16:08:17 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_hash_proc): get wrapped pointer properly.  [Bug #6048]</div><div class='del'>-</div><div class='del'>-Tue Feb 21 14:41:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in: added rubylibprefix, {rubylib,vendor,site}dir</div><div class='del'>-	  and {ruby,vendor,site}archdir.  [ruby-core:42766][Feature #6052]</div><div class='del'>-</div><div class='del'>-Tue Feb 21 09:13:25 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_hash, proc_hash): Fix {Unbound}Method#hash</div><div class='del'>-	  [Bug #6048]. Isolate hash computation for proc</div><div class='del'>-</div><div class='del'>-	* internal.h: Declaration for above</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_hash): Computation for</div><div class='del'>-	  hash part of a method definition</div><div class='del'>-</div><div class='del'>-	* method.h: Declaration for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: Test for above</div><div class='del'>-</div><div class='del'>-Tue Feb 21 02:56:15 2012  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_rewind): update the documentation.</div><div class='del'>-	  fixed: #6053</div><div class='del'>-</div><div class='del'>-Mon Feb 20 23:38:35 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: ignore mktable.c because it's not encoding library.</div><div class='del'>-	  [ruby-core:42760] [Bug #6049]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 21:40:53 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: fold too long lines.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 21:16:48 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: revert a line modified accidentally at r34669.</div><div class='del'>-	  This fixes mingw test errors in TestDir_M17N.</div><div class='del'>-	  [ruby-core:42728] [Feature #4970]</div><div class='del'>-</div><div class='del'>-Mon Feb 20 21:09:27 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): define Curses::VERSION.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 21:08:00 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: restore $libs and $defs for each</div><div class='del'>-	  header/library choice.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 19:57:26 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: weaken header/library consistency check if db is</div><div class='del'>-	  "ndbm".  It seems several (possibly historical) distributions</div><div class='del'>-	  provide libndbm.  However the content of libndbm vary: Berkeley DB,</div><div class='del'>-	  GDBM or even 4.3BSD NDBM.  (Mandriva, Tru64 UNIX, OpenSuSE,</div><div class='del'>-	  SCO OpenServer, ...)</div><div class='del'>-	  "ndbm" is not searched automatically now (dblib doesn't contain it)</div><div class='del'>-	  but configure --with-dbm-type=ndbm choose libndbm and ndbm.h.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 19:15:57 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: refine variable names.</div><div class='del'>-</div><div class='del'>-Mon Feb 20 15:50:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if -fstack-protector is really available.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 23:43:38 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: show header and library found.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 23:01:01 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): refine DBM::VERSION definition.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: provide RUBYDBM_GDBM_HEADER macro.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 17:07:27 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb (test_dbmfile_suffix): check pag and dir is</div><div class='del'>-	  empty for 4.3BSD ndbm.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 03:00:30 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb (test_dbmfile_suffix): check magic numbers.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 01:05:41 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: detect GDBM's ndbm.h by testing dbm_clearerr is</div><div class='del'>-	  an empty macro.</div><div class='del'>-</div><div class='del'>-Sun Feb 19 00:25:55 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: don't choose 'dbm' if _GDB_H_ is defined which</div><div class='del'>-	  is available since GDBM 1.9 because 'gdbm_compat' is appropriate</div><div class='del'>-	  choice since GDBM 1.8.1.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 23:27:00 2012  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: remove a duplicated comment.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 18:43:13 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb (dblib): prefer recent GDBM over older GDBM.</div><div class='del'>-	  (have_declared_libvar): new function to check a declared variable</div><div class='del'>-	  exists in a library.</div><div class='del'>-	  (have_undeclared_libvar): renamed from renamed from have_libvar.</div><div class='del'>-	  (headers.db_check2): check that GDBM version variable if GDBM header</div><div class='del'>-	  is chosen.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): use HAVE_DECLARED_LIBVAR_GDBM_VERSION and</div><div class='del'>-	  HAVE_UNDECLARED_LIBVAR_GDBM_VERSION macro.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 13:53:01 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb (test_dbmfile_suffix): DBM::VERSION should</div><div class='del'>-	  be Berkeley DB if foo.db is created by DBM.open.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 13:40:37 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb (test_dbmfile_suffix): test dbm file suffix.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 12:50:59 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (DBM::VERSION): define it by detecting _GDBM_H_ or</div><div class='del'>-	  _DBM_IOERR.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 07:52:45 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: don't use 1.9 feature on tools.</div><div class='del'>-</div><div class='del'>-Sat Feb 18 02:48:39 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: refactored FileUtil methods to use the</div><div class='del'>-	  `define_command` API.  Patch from 7rans &lt;transfire@gmail.com&gt;</div><div class='del'>-	* test/fileutils/test_dryrun.rb: corresponding test refactoring</div><div class='del'>-	* test/fileutils/test_nowrite.rb: ditto</div><div class='del'>-	* test/fileutils/test_verbose.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Feb 17 21:39:36 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: remove dbm.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 21:18:39 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: refine header/library mismatch detection.</div><div class='del'>-	  check only for ndbm.h except libc.  check _GDBM_H_ for gdbm.</div><div class='del'>-	  check _DBM_IOERR for the original ndbm.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 20:30:44 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: don't check libdbm.  It is not a ndbm</div><div class='del'>-	  implementation.  (libdbm in Version 7 Unix is database library</div><div class='del'>-	  for single database per process.)</div><div class='del'>-</div><div class='del'>-Fri Feb 17 15:38:53 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820]</div><div class='del'>-	  https://github.com/k-takata/Onigmo</div><div class='del'>-	  cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h</div><div class='del'>-	  cp oniguruma.h</div><div class='del'>-	  cp tool/enc-unicode.rb</div><div class='del'>-	  cp -r enc/</div><div class='del'>-</div><div class='del'>-Fri Feb 17 15:20:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_slice): arrays to be yielded can be newly</div><div class='del'>-	  created in the block.</div><div class='del'>-</div><div class='del'>-	* enum.c: move work variables to objects not to let called blocks</div><div class='del'>-	  access stack area out of scope.  [Bug #5801]</div><div class='del'>-</div><div class='del'>-Fri Feb 17 12:35:55 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: remove borders from the commit message which is used</div><div class='del'>-	  when the commit doesn't change ChangeLog.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 11:50:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (btest, btest-ruby, test-sample test-knownbugs)</div><div class='del'>-	  (test-all, test-ruby): depend on prog.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 09:56:22 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_header): log the content of header.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 09:44:55 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb (import_ucm): don't use \h because the</div><div class='del'>-	  script should work with ruby 1.8.</div><div class='del'>-</div><div class='del'>-	* tool/enc-unicode.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 07:33:29 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (id_lshift): use constant ID.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 07:30:53 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: refactored to split too long conditions.</div><div class='del'>-</div><div class='del'>-Fri Feb 17 00:23:25 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb: fix skip condition for libgdbm 1.8.0 or prior.</div><div class='del'>-	  reported by Bohuslav Kabrda.</div><div class='del'>-	  [ruby-core:42685] [ruby-trunk - Bug #6036]</div><div class='del'>-</div><div class='del'>-Fri Feb 17 00:04:21 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: check _DB_H_ macro unavailable except</div><div class='del'>-	  Berkeley DB library.</div><div class='del'>-</div><div class='del'>-Thu Feb 16 05:41:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (splatarray): make new array if flag is set.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): make new array with</div><div class='del'>-	  splat. [ruby-core:21901][Feature #1125]</div><div class='del'>-</div><div class='del'>-Thu Feb 16 00:14:04 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb (Array#abbrev): add missing '"' in documentation.</div><div class='del'>-</div><div class='del'>-Wed Feb 15 22:20:19 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_reset_root_local_storage): add a new function to</div><div class='del'>-	  restore rb_thread_t::local_storage.</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_obj_is_fiber): add a new function to tell finalizer to</div><div class='del'>-	  prevent fibers from destroy.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): don't sweep fibers at finalizing</div><div class='del'>-	  objspace.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fiber_reset_root_local_storage, rb_obj_is_fiber):</div><div class='del'>-	  add prototypes.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): reset main thread's local_storage before</div><div class='del'>-	  free main thread. rb_thread_t::local_storage is replaced by fiber's</div><div class='del'>-	  local storage when forked from fiber, and it should be already freed</div><div class='del'>-	  when the fiber was destroyed. [ruby-core:41456] [Bug #5700]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb (test_fork_from_fiber): add test for fork</div><div class='del'>-	  from fiber.</div><div class='del'>-</div><div class='del'>-Wed Feb 15 19:57:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (callback): deal with unsigned integers.</div><div class='del'>-	  [ruby-core:42458][Bug #5991][Bug #6022]</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.c (value_to_generic, generic_to_value):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (callback): same as r34506.</div><div class='del'>-</div><div class='del'>-Wed Feb 15 17:41:31 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_strsetbuf): call rb_str_modify to make str independent</div><div class='del'>-	  before calling rb_str_set_len for r34580.</div><div class='del'>-</div><div class='del'>-Wed Feb 15 12:30:10 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib):  Added Zlib::TEXT and note that</div><div class='del'>-	  Zlib::ASCII is deprecated in zlib 1.2.3 and newer.</div><div class='del'>-</div><div class='del'>-Wed Feb 15 12:24:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c:  Move constant descriptions to constants.  Remove</div><div class='del'>-	  extra comment block at the top of Init_zlib().</div><div class='del'>-</div><div class='del'>-Wed Feb 15 12:30:46 2012  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Create getters and setters after dup.</div><div class='del'>-	  [Bug #6028] [rubyspecs:0380bcc]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 10:59:52 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (HEAP_BITMAP_LIMIT): HEAP_BITMAP_LIMIT is computed on the</div><div class='del'>-	  basis of HEAP_SIZE because it must covers a whole heap block.</div><div class='del'>-	  [ruby-trunk - Bug #6006]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 09:27:45 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib):  Added Zlib::FIXED and Zlib::RLE</div><div class='del'>-	  strategies.</div><div class='del'>-	* NEWS:  Add note about the new Zlib constants.</div><div class='del'>-</div><div class='del'>-Wed Feb 15 09:11:36 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c:  Improve documentation.  [ruby-trunk - Bug #5948]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 07:28:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding):  Add IO example of internal and external</div><div class='del'>-	  encoding.  Fixed a typo in the force_encoding example.  [#5949]</div><div class='del'>-</div><div class='del'>-Wed Feb 15 06:58:21 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (Init_Encoding):  Add Encoding documentation.</div><div class='del'>-	  [ruby-trunk - Bug #5949]</div><div class='del'>-	* encoding.c (rb_set_default_external):  Fix typo in documentation.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 20:22:11 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (CEILDIV): rename to a appropriate name.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 18:07:20 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot): SEGV happens cause on 64-bit platform</div><div class='del'>-	  sometime there should be `objs-=2` instead of `objs--`.</div><div class='del'>-	  [Bug #6006]</div><div class='del'>-	  patched by Sokolov Yura. https://github.com/ruby/ruby/pull/92</div><div class='del'>-</div><div class='del'>-Tue Feb 14 16:00:30 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_setstrbuf): cut down the buffer if longer.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 15:06:37 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (build_message): skip escaped</div><div class='del'>-	  question marks.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 12:10:04 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_const_set, autoload_require): fix</div><div class='del'>-	  signatures.</div><div class='del'>-</div><div class='del'>-Tue Feb 14 05:23:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_wait):  Change typo "SystemError" to</div><div class='del'>-	  "SystemCallError".  [ruby-trunk - Bug #5962]</div><div class='del'>-	* process.c (proc_wait2):  ditto</div><div class='del'>-</div><div class='del'>-Tue Feb 14 05:18:24 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c:  Document use of Enumerator.new for creating a lazy</div><div class='del'>-	  enumeration for filtering/chaining.  [ruby-trunk - Feature #707]</div><div class='del'>-</div><div class='del'>-Mon Feb 13 23:01:50 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_boundp):</div><div class='del'>-	  obj.respond_to?(:a_protected_method) should return false because</div><div class='del'>-	  calling a protected method may cause NoMethodError if called</div><div class='del'>-	  from outside the class inheritance tree.  Kernel#respond_to? is</div><div class='del'>-	  mostly used to test if it is safe to call a method, so the false</div><div class='del'>-	  positive should be avoided. [ruby-dev:40461] [ruby-dev:41739]</div><div class='del'>-	  [ruby-dev:41837]</div><div class='del'>-</div><div class='del'>-Mon Feb 13 21:52:06 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (HEAP_OBJ_LIMIT, HEAP_BITMAP_LIMIT): HEAP_OBJ_LIMIT used</div><div class='del'>-	  `sizeof(struct heaps_slot)` while heap is currently allocated</div><div class='del'>-	  with `struct heaps_header`.</div><div class='del'>-	  HEAP_BITMAP_LIMIT were calculated from</div><div class='del'>-	  `HEAP_OBJ_LIMIT/sizeof(uintptr_t)` - one Byte for each object,</div><div class='del'>-	  not one Bit. [Bug #6006]</div><div class='del'>-	  patched by Sokolov Yura. https://github.com/ruby/ruby/pull/92</div><div class='del'>-</div><div class='del'>-Mon Feb 13 18:30:32 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_setstrbuf): defer resizing buffer string until data is</div><div class='del'>-	  read actually.</div><div class='del'>-</div><div class='del'>-Mon Feb 13 10:24:39 2012  Loren Segal  &lt;lsegal@soen.ca&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): use directive hack to make ARGF documentable</div><div class='del'>-	  in other tools.  [ruby-core:42515][Bug #6007]</div><div class='del'>-</div><div class='del'>-Sun Feb 12 20:43:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_event_hook_func_t): add argument names.</div><div class='del'>-</div><div class='del'>-Sun Feb 12 16:30:23 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb (#default_merge_branch): Add support for</div><div class='del'>-	  Subversion 1.7 which adopted a whole new working directory</div><div class='del'>-	  structure.</div><div class='del'>-</div><div class='del'>-Sun Feb 12 15:14:41 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: suppress unused/shadowing variable warnings.</div><div class='del'>-</div><div class='del'>-Sun Feb 12 03:14:40 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall):  Call respond_to? with matching arity for</div><div class='del'>-	  legacy single-argument implementations.  [ruby-trunk - Bug #6000]</div><div class='del'>-</div><div class='del'>-Sat Feb 11 12:04:05 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): guard the whole expression.</div><div class='del'>-	  [ruby-dev:45021][Bug#5786]</div><div class='del'>-</div><div class='del'>-Sat Feb 11 08:34:42 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_inflate_add_dictionary):  Added</div><div class='del'>-	  Zlib::Inflate#add_dictionary to allow users to pre-specify</div><div class='del'>-	  for using during #inflate.  [ruby-trunk - Feature #5937]</div><div class='del'>-</div><div class='del'>-Sat Feb 11 08:23:02 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (do_inflate):  Inflate more data if buffered data</div><div class='del'>-	  exists.  Allows Zlib::Inflate#set_dictionary to work.</div><div class='del'>-	  [ruby-trunk - Bug #5929]</div><div class='del'>-</div><div class='del'>-Sat Feb 11 06:00:48 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (fnmatch): The * needs to be escaped to avoid formatting in</div><div class='del'>-	  fnmatch comment.</div><div class='del'>-	  patched by @dalton. https://github.com/ruby/ruby/pull/91</div><div class='del'>-</div><div class='del'>-Fri Feb 10 03:41:31 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: removed external encoding setter, allow parser</div><div class='del'>-	  to be reused.</div><div class='del'>-	* ext/psych/lib/psych/parser.rb: added external encoding setter.</div><div class='del'>-	* test/psych/test_parser.rb: test parser reuse</div><div class='del'>-</div><div class='del'>-Fri Feb 10 01:30:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h (ALIGN_OF): use offsetof().</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.h (DLALIGN): round up at once and get rid of overflow.</div><div class='del'>-</div><div class='del'>-Fri Feb 10 00:47:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_no_memory_leak): new assertion to</div><div class='del'>-	  check memory leak by invoking child ruby process and watch its</div><div class='del'>-	  memory size.</div><div class='del'>-</div><div class='del'>-Thu Feb  9 23:41:44 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (test_binread): add assertion to</div><div class='del'>-	  check encoding.</div><div class='del'>-</div><div class='del'>-Thu Feb  9 16:48:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (Init_dl): fix mangled document.</div><div class='del'>-</div><div class='del'>-Thu Feb  9 16:10:34 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb (Memory::Win32): 64bit support.</div><div class='del'>-</div><div class='del'>-Thu Feb  9 16:08:55 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/value.rb (DL::ValueUtil.{unsigned_value,signed_value}):</div><div class='del'>-	  currently pack/unpack does not accept "q!" and "Q!".</div><div class='del'>-</div><div class='del'>-Thu Feb  9 16:01:29 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.c (value_to_generic): src is not guaranteed as</div><div class='del'>-	  a Bignum if the type is LONG_LONG.  it may be a Fixnum if the value</div><div class='del'>-	  is small.</div><div class='del'>-</div><div class='del'>-Thu Feb  9 11:32:36 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/types.rb: Win64 support.</div><div class='del'>-</div><div class='del'>-Thu Feb  9 04:12:29 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: not read but binread.</div><div class='del'>-	  patched by Benoit Daloze, [ruby-core:42440] [Bug #5984]</div><div class='del'>-</div><div class='del'>-Wed Feb  8 22:29:59 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify_expand): fix memory leak.</div><div class='del'>-</div><div class='del'>-Wed Feb  8 14:06:59 2012  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL</div><div class='del'>-	  option to prevent BEAST attack. See [Bug #5353].</div><div class='del'>-</div><div class='del'>-	  In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent</div><div class='del'>-	  TLS-CBC-IV vulnerability described at</div><div class='del'>-	  http://www.openssl.org/~bodo/tls-cbc.txt</div><div class='del'>-	  It's known issue of TLSv1/SSLv3 but it attracts lots of attention</div><div class='del'>-	  these days as BEAST attack. (CVE-2011-3389)</div><div class='del'>-</div><div class='del'>-	  Until now ossl sets OP_ALL at SSLContext allocation and call</div><div class='del'>-	  SSL_CTX_set_options at connection.  SSL_CTX_set_options updates the</div><div class='del'>-	  value by using |= so bits set by OP_ALL cannot be unset afterwards.</div><div class='del'>-</div><div class='del'>-	  This commit changes to call SSL_CTX_set_options only 1 time for each</div><div class='del'>-	  SSLContext. It sets the specified value if SSLContext#options= are</div><div class='del'>-	  called and sets OP_ALL if not.</div><div class='del'>-</div><div class='del'>-	  To help users to unset bits in OP_ALL, this commit also adds several</div><div class='del'>-	  constant to SSL such as</div><div class='del'>-	  OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS.  These constants were</div><div class='del'>-	  not exposed in Ruby because there's no way to unset bits in OP_ALL</div><div class='del'>-	  before.</div><div class='del'>-</div><div class='del'>-	  Following is an example to enable 0/n split for BEAST prevention.</div><div class='del'>-</div><div class='del'>-	    ctx.options = OP_ALL &amp; ~OP_DONT_INSERT_EMPTY_FRAGMENTS</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Test above option exists.</div><div class='del'>-</div><div class='del'>-Wed Feb 8 13:12:02 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c: Use the numerical representation of</div><div class='del'>-	  unrecognized OIDs instead of the sn "UNDEF".</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509name.rb: Add tests for the fixed behavior.</div><div class='del'>-</div><div class='del'>-	  Patch provided by Paul Kehrer, thank you!</div><div class='del'>-	  [ruby-core:41769] [Feature #5787]</div><div class='del'>-</div><div class='del'>-Wed Feb  8 09:49:58 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: don't abort, update first.</div><div class='del'>-</div><div class='del'>-Wed Feb 8 09:47:33 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: Call INT2NUM only once for GeneralString.</div><div class='del'>-	  Thanks to Mantas Mikulenas for noticing and providing a patch!</div><div class='del'>-	  [ruby-core:42358] [Bug #5972]</div><div class='del'>-</div><div class='del'>-Wed Feb 8 09:19:00 2012  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: Add warning about key as IV.</div><div class='del'>-</div><div class='del'>-Tue Feb  7 20:08:12 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_inspect): Fix typo. patch from Trent Ogren</div><div class='del'>-	  via https://github.com/ruby/ruby/pull/90</div><div class='del'>-</div><div class='del'>-Tue Feb  7 19:37:35 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: refactor packed entries using structs.</div><div class='del'>-</div><div class='del'>-Tue Feb  7 14:52:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_update): table can be unpacked in the callback.</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): should not yield same pair when checking</div><div class='del'>-	  after unpacking.</div><div class='del'>-</div><div class='del'>-Mon Feb  6 21:55:13 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: abort if the working directory is dirty.</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: update the working directory after commit.</div><div class='del'>-</div><div class='del'>-Mon Feb  6 00:16:27 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string</div><div class='del'>-	  is ascii only string. [ruby-core:42354] [Bug #5968]</div><div class='del'>-</div><div class='del'>-Fri Feb  3 07:16:47 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick.rb:  Moved proxy rewriting to WEBrick::HTTPProxy.</div><div class='del'>-	* lib/webrick/httpproxy.rb:  Add examples of creating a proxy server</div><div class='del'>-	  and response rewriting using HTTPProxy.</div><div class='del'>-</div><div class='del'>-Fri Feb  3 06:53:22 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c:  Add class documentation for</div><div class='del'>-	  OpenSSL::X509::Store</div><div class='del'>-</div><div class='del'>-Thu Feb  2 22:28:13 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https_proxy.rb</div><div class='del'>-	  (HTTPSProxyTest#test_https_proxy_authentication):</div><div class='del'>-	  add workaround to avoid to hang up without openssl.</div><div class='del'>-	  see [ruby-dev:45021][Bug #5786]</div><div class='del'>-</div><div class='del'>-	* test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  2 21:48:18 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb: use meaningful names.</div><div class='del'>-</div><div class='del'>-Thu Feb  2 21:38:52 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:</div><div class='del'>-	  fix the default xml namespace URI validation.</div><div class='del'>-	  [ruby-dev:45169] [Bug #5956]</div><div class='del'>-	  Reported by Miho Hiramatsu. Thanks!!!</div><div class='del'>-</div><div class='del'>-Thu Feb  2 17:51:02 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.</div><div class='del'>-	  r34409 breaks replacing ARGV.</div><div class='del'>-	  [ruby-dev:45160] [Bug #5952]</div><div class='del'>-</div><div class='del'>-Thu Feb  2 16:21:01 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug</div><div class='del'>-	  output.</div><div class='del'>-</div><div class='del'>-Thu Feb  2 01:24:34 2012  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (debug_lines, coverage): set file path encoding for coverage</div><div class='del'>-	  result.  [ruby-dev:44950]</div><div class='del'>-</div><div class='del'>-Wed Feb  1 14:38:31 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): Just</div><div class='del'>-	  call File.unlink and ignore ENOENT because existence check</div><div class='del'>-	  before unlinking does not help in terms of race condition.</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): My</div><div class='del'>-	  comment about thread safeness is obsolete.</div><div class='del'>-</div><div class='del'>-Wed Feb  1 09:50:10 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc (Repetition): fix typo.  reported by Ori Avtalion</div><div class='del'>-	  and patched by Zachary Scott.  [Bug #5947]</div><div class='del'>-</div><div class='del'>-Wed Feb  1 06:38:54 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_close): skip stdin, which should be readable again.</div><div class='del'>-	  [ruby-dev:45160] [Bug #5952]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_readlines): reinitialize after all read to be</div><div class='del'>-	  readable again.</div><div class='del'>-</div><div class='del'>-Tue Jan 31 21:27:43 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HEAP_ALIGN_LOG): HEAP_ALIGN_LOG should be page</div><div class='del'>-	  size in OpenBSD. [ruby-core:42158][Bug #5901]</div><div class='del'>-</div><div class='del'>-	* gc.c : avoid to redefine.</div><div class='del'>-</div><div class='del'>-Tue Jan 31 14:27:22 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil.invoke_ruby): yield also child pid</div><div class='del'>-	  in block form.</div><div class='del'>-</div><div class='del'>-Mon Jan 30 19:08:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): should pass block to enumerators.  patched</div><div class='del'>-	  by Kazuki Tsujimoto.  [ruby-dev:44961][Bug #5731]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method):</div><div class='del'>-	  ditto.  patched by satoshi shiba.</div><div class='del'>-</div><div class='del'>-Mon Jan 30 12:31:05 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (append_fspath): need to set the encoding to result always.</div><div class='del'>-</div><div class='del'>-Mon Jan 30 10:38:37 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/irb/test_completion.rb: skip if cannot load irb/completion</div><div class='del'>-	  (maybe readline does not exist).</div><div class='del'>-</div><div class='del'>-Sun Jan 29 22:47:19 2012  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config.{guess,sub}: updated to automake-1.11.2.</div><div class='del'>-</div><div class='del'>-Sun Jan 29 12:17:56 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  respect encodings.  [Bug #5941]</div><div class='del'>-</div><div class='del'>-Sat Jan 28 09:33:33 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): fix an issue that $stdin.read doesn't</div><div class='del'>-	  terminate by CTRL-C on Windows.</div><div class='del'>-	  [ruby-dev:45149] [Bug #5812]</div><div class='del'>-</div><div class='del'>-Sat Jan 28 08:18:11 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb</div><div class='del'>-	  (TestThreadGroup#test_thread_timer_and_interrupt): skip exit status</div><div class='del'>-	  assertion because we cannot get signal status on Windows.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (CreateChild): create process group to receive the</div><div class='del'>-	  signal by GenerateConsoleCtrlEvent().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (kill): use CTRL_BREAK_EVENT instead of CTRL_C_EVENT</div><div class='del'>-	  if a process group is specified. CTRL_C_EVENT signal cannot be</div><div class='del'>-	  generated for process groups for the specification.</div><div class='del'>-	  [ruby-dev:45149] [Bug #5812]</div><div class='del'>-</div><div class='del'>-Sat Jan 28 07:46:03 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_w32_wait_events_blocking): use</div><div class='del'>-	  ruby_thread_from_native() instead of GET_THREAD() because</div><div class='del'>-	  GET_THREAD() doesn't always return the current thread and</div><div class='del'>-	  WaitForMultipleObjects() at rb_w32_read() doesn't return by</div><div class='del'>-	  Thread#kill. This fixes TestQueue#test_thr_kill failure on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_w32_wait_events): use ruby_thread_from_native()</div><div class='del'>-	  instead of GET_THREAD() for consistency with the above change.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_w32_sleep): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_w32_Sleep): ditto.</div><div class='del'>-	  [ruby-dev:45149] [Bug #5812]</div><div class='del'>-</div><div class='del'>-Sat Jan 28 07:28:48 2012  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (TestZlibGzipReader#test_reader_wrap): set</div><div class='del'>-	  binmode explicitly for fixing test error on Windows. This is consistent</div><div class='del'>-	  with r34243.</div><div class='del'>-	  [ruby-dev:45149] [Bug #5812]</div><div class='del'>-</div><div class='del'>-Sat Jan 28 05:53:34 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):</div><div class='del'>-	  ignore non-string name modules.  [ruby-core:42244][Bug #5938]</div><div class='del'>-</div><div class='del'>-Fri Jan 27 16:31:45 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (HEAP_ALIGN, HEAP_ALIGN_MASK): DRY, let compiler calculate</div><div class='del'>-	  from HEAP_ALIGN_LOG.</div><div class='del'>-</div><div class='del'>-Thu Jan 26 11:03:37 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb:  Clean up extra whitespace in output documentation.</div><div class='del'>-</div><div class='del'>-Thu Jan 26 03:24:02 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (io_getch): default delegating method</div><div class='del'>-	  for StringIO.  https://github.com/nobu/io-console/issues/4</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: moved some methods to hidden modules.</div><div class='del'>-</div><div class='del'>-Wed Jan 25 13:27:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_basename): ignore non-ascii extension in</div><div class='del'>-	  different encoding, which cannot match.</div><div class='del'>-</div><div class='del'>-	* file.c (rmext): no extension to strip if empty string.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_enc_path_next, rb_enc_path_skip_prefix)</div><div class='del'>-	  (rb_enc_path_last_separator, rb_enc_path_end)</div><div class='del'>-	  (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware</div><div class='del'>-	  path handling functions.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_home_dir, file_expand_path, rb_realpath_internal)</div><div class='del'>-	  (rb_file_s_basename, rb_file_dirname, rb_file_s_extname)</div><div class='del'>-	  (rb_file_join): should respect the encodings of arguments than</div><div class='del'>-	  file system encoding.  [ruby-dev:45145] [Bug #5919]</div><div class='del'>-</div><div class='del'>-	* dir.c (check_dirname, ruby_glob0): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_sub_ext): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan 24 14:20:42 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_iter_break_value): new function to break a block with</div><div class='del'>-	  the value.  [ruby-dev:45132] [Feature #5895]</div><div class='del'>-</div><div class='del'>-Tue Jan 24 12:58:41 2012  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Hash): add Kernel#Hash conversion method like</div><div class='del'>-	  Array() or Float().  a patch from Run Paint Run Run.  Fix #3131</div><div class='del'>-</div><div class='del'>-Tue Jan 24 11:38:05 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.encode_www_form_component): initialize on</div><div class='del'>-	  requiring to support JRuby, which runs parallel multithreads.</div><div class='del'>-	  [ruby-core:42222] [Bug #5925]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form_component): initialize on</div><div class='del'>-</div><div class='del'>-Mon Jan 23 20:33:11 2012  Jason Kay  &lt;geniture@me.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): Writing entire packet at</div><div class='del'>-	  once to avoid incomplete transmission.  Current code using</div><div class='del'>-	  writeline was causing sub-optimal conversing with a proxy due to</div><div class='del'>-	  the connect tunnel request headers being split over multiple</div><div class='del'>-	  packets. The modification I made allows the connect request to</div><div class='del'>-	  be written as one packet, avoiding problems and optimizing the</div><div class='del'>-	  conversation.</div><div class='del'>-</div><div class='del'>-	  https://github.com/ruby/ruby/pull/72</div><div class='del'>-	  [Feature #5460]</div><div class='del'>-</div><div class='del'>-Mon Jan 23 17:06:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo.build): follow Array#to_s change of</div><div class='del'>-	  Ruby 1.9; use Array#join. [Bug #5840]</div><div class='del'>-</div><div class='del'>-Mon Jan 23 16:42:28 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (extract_binmode): raise an exception if binmode/textmode</div><div class='del'>-	  is specified with both vmode and opthash.</div><div class='del'>-	  [ruby-core:42199] [Bug #5918]</div><div class='del'>-</div><div class='del'>-Mon Jan 23 16:35:27 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specified</div><div class='del'>-	  with opthash. [ruby-core:42197] [Bug #5917]</div><div class='del'>-</div><div class='del'>-Mon Jan 23 10:08:00 2012  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_util.rb (test_cgi_escape_preserve_encoding):</div><div class='del'>-	  add a test for CGI::escape to preserve encoding.</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_util.rb (test_cgi_unescape_preserve_encoding):</div><div class='del'>-	  add a test for CGI::unescape to preserve encoding.</div><div class='del'>-</div><div class='del'>-Mon Jan 23 00:45:34 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rdoc-mode.el (rdoc-imenu-create-index): Add imenu support</div><div class='del'>-	  to rdoc-mode.</div><div class='del'>-</div><div class='del'>-	* misc/rdoc-mode.el (rdoc-mode): Fix regexp patterns containing</div><div class='del'>-	  "\s " where CR/LF is not supposed to match.</div><div class='del'>-</div><div class='del'>-Sun Jan 22 15:41:26 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3): split to registration check and new</div><div class='del'>-	  registration.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern_str): make interned string shared with the</div><div class='del'>-	  given string.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern3, rb_intern_str): check the coderange first.</div><div class='del'>-</div><div class='del'>-Sat Jan 21 22:21:07 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FIXNUM_P): simple flag should be int.</div><div class='del'>-</div><div class='del'>-Sat Jan 21 21:51:19 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_compatible): fix segv on symbols.</div><div class='del'>-	  [ruby-core:42204] [Bug #5921]</div><div class='del'>-</div><div class='del'>-Sat Jan 21 11:43:45 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_chdir, check_dirname): get rid of optimization-out.</div><div class='del'>-</div><div class='del'>-Fri Jan 20 20:47:37 2012  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI.escape): support a string with invalid byte</div><div class='del'>-	  sequence.  [Bug #5913]</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_util.rb</div><div class='del'>-	  (test_cgi_escape_with_invalid_byte_sequence): test for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Fri Jan 20 17:37:37 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): remove workaround for LLVM because r34278 fixes it.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 20 14:31:43 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#transport_request): retry a idempotent</div><div class='del'>-	  request automatically. [ruby-dev:45030] [Bug #5790]</div><div class='del'>-	  [ruby-core:41821] [Bug #5813]</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#keep_alive_timeout=): added to specify</div><div class='del'>-	  the second to reconnect the TCP connection on Keep-Alive.</div><div class='del'>-	  The default value is 2 second because current servers uses 2 sec.</div><div class='del'>-	  http://ftp-admin.blogspot.com/2009/09/keepalivetimeout2.html</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#begin_transport): reconnect TCP</div><div class='del'>-	  connection on keep-alive timeout.</div><div class='del'>-</div><div class='del'>-Thu Jan 19 07:53:09 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strptime.c: moved detector of leftover.</div><div class='del'>-</div><div class='del'>-Thu Jan 19 07:10:47 2012  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c: [ruby-core:42173].</div><div class='del'>-</div><div class='del'>-Wed Jan 18 18:11:02 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/rdoc-mode.el (rdoc-mode): Add provide so that requiring</div><div class='del'>-	  this library succeeds.</div><div class='del'>-</div><div class='del'>-Wed Jan 18 18:06:45 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (cWindow, cMouseEvent): made typed data.</div><div class='del'>-</div><div class='del'>-Wed Jan 18 12:49:15 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Added support for loading</div><div class='del'>-	  subclasses of String with ivars</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Added support for dumping</div><div class='del'>-	  subclasses of String with ivars</div><div class='del'>-	* test/psych/test_string.rb: corresponding tests</div><div class='del'>-</div><div class='del'>-Wed Jan 18 10:39:47 2012  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Added ability to load array</div><div class='del'>-	  subclasses with ivars.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Added ability to dump</div><div class='del'>-	  array subclasses with ivars.</div><div class='del'>-	* test/psych/test_array.rb: corresponding tests</div><div class='del'>-</div><div class='del'>-Tue Jan 17 17:18:41 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (SPT_TYPE): enable as SPT_REUSEARGV on Darwin.</div><div class='del'>-</div><div class='del'>-	* missing/setproctitle.c (ruby_init_setproctitle): changed prefix.</div><div class='del'>-</div><div class='del'>-Tue Jan 17 12:32:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (aligned_malloc, aligned_free): covered missing defined</div><div class='del'>-	  operators and fixes for cygwin.</div><div class='del'>-</div><div class='del'>-Tue Jan 17 10:54:46 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (do_hash): it's the time to remove cast to unsigned int.</div><div class='del'>-</div><div class='del'>-Tue Jan 17 07:30:12 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (unpack_entries): Fix r34310: on unpacking, the position of</div><div class='del'>-	  a hash must be do_hash-ed value.</div><div class='del'>-</div><div class='del'>-	* st.c (add_packed_direct): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 16 16:41:53 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (Regexp): fix incorrect options when casting to</div><div class='del'>-	  a Regexp, and suppress encoding option warnings.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/82</div><div class='del'>-</div><div class='del'>-Mon Jan 16 11:22:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_chsize): no need to get the current file size.</div><div class='del'>-</div><div class='del'>-Mon Jan 16 00:41:33 2012  Sokolov Yura  &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: st use function instead of macro.  In my current</div><div class='del'>-	  environment (Ubuntu 11.04 32bit gcc-4.5.2) it gives 4%</div><div class='del'>-	  performance improvement.</div><div class='del'>-</div><div class='del'>-	  https://github.com/ruby/ruby/pull/77</div><div class='del'>-</div><div class='del'>-Sun Jan 15 14:09:48 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_inspect): raise the result is not compatible with</div><div class='del'>-	  the default external encoding. [ruby-core:42095] [Bug #5848]</div><div class='del'>-	  If the default external encoding is ASCII compatible, the encoding of</div><div class='del'>-	  inspected result must be compatible with it.</div><div class='del'>-	  If the default external encoding is ASCII incompatible,</div><div class='del'>-	  the result must be ASCII only.</div><div class='del'>-</div><div class='del'>-Sun Jan 15 13:21:50 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (json_string_unescape): workaround fix</div><div class='del'>-	  for over optimization of GCC 4.7. [ruby-core:42085] [Bug #5888]</div><div class='del'>-	  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51862</div><div class='del'>-</div><div class='del'>-Sat Jan 14 22:24:09 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/mkcallback.rb (gencallback): suppress unused</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-Sat Jan 14 21:56:43 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): check line info table boundary.  line</div><div class='del'>-	  number 0 means no line number info is needed.  [ruby-dev:45130]</div><div class='del'>-	  [Bug #5894]</div><div class='del'>-</div><div class='del'>-Sat Jan 14 18:24:13 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): clear rb_thread_t::errinfo when ignore</div><div class='del'>-	  an exception under rb_protect(). [ruby-core:41979] [Bug #5865]</div><div class='del'>-</div><div class='del'>-Sat Jan 14 12:02:55 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_enc_vsprintf): relaxed the restriction.  since the</div><div class='del'>-	  implementation deeply depends on plain char, so wchar_t based</div><div class='del'>-	  encodings are not supported.</div><div class='del'>-</div><div class='del'>-Sat Jan 14 12:00:20 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): ignore exceptions during implicit</div><div class='del'>-	  conversion.  [ruby-core:41979] [Bug #5865]</div><div class='del'>-</div><div class='del'>-Sat Jan 14 05:58:54 2012  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_read):  Fix formatting of open_args comment.  Reported</div><div class='del'>-	  by Adam Prescott.</div><div class='del'>-</div><div class='del'>-Fri Jan 13 18:41:19 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_enc_vsprintf): can be used for ASCII compatible</div><div class='del'>-	  encodings only.</div><div class='del'>-</div><div class='del'>-Fri Jan 13 18:29:06 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_unlock_th): simplified.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_waiting): fix potential overflows.</div><div class='del'>-</div><div class='del'>-Fri Jan 13 17:23:38 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_unlock): update loading table at once.</div><div class='del'>-</div><div class='del'>-Fri Jan 13 16:44:45 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_equal): try implicit conversion for delegator.</div><div class='del'>-	  [ruby-core:41979] [Bug #5865]</div><div class='del'>-</div><div class='del'>-Fri Jan 13 03:46:53 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shellescape): shellescape() now</div><div class='del'>-	  stringifies the given object using to_s.</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shelljoin): shelljoin() accepts</div><div class='del'>-	  non-string objects in the given array, each of which is</div><div class='del'>-	  stringified using to_s.</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Fix rdoc markups.</div><div class='del'>-</div><div class='del'>-Fri Jan 13 03:38:36 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shellsplit): Fix a bug where</div><div class='del'>-	  consecutive backslashes in double quotes are all removed except</div><div class='del'>-	  the one at the tail.</div><div class='del'>-</div><div class='del'>-Fri Jan 13 03:28:00 2012  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb (if ipv6): only define _WIN32_WINNT if was not</div><div class='del'>-	  previously defined. This solve warnings with multiple defines in</div><div class='del'>-	  command line with GCC 4.6.1</div><div class='del'>-</div><div class='del'>-Thu Jan 12 18:44:31 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: fix r33904 and revert r33905.  initialize global</div><div class='del'>-	  variables with init_mkmf before initializing constants.</div><div class='del'>-	  [ruby-dev:45124] [Bug #5879]</div><div class='del'>-</div><div class='del'>-Thu Jan 12 13:51:00 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for</div><div class='del'>-	  reserving a memory space with ALLOCA_N for restoring machine stack</div><div class='del'>-	  stored in cont-&gt;machine_stack, but clang optimized out it (and</div><div class='del'>-	  maybe #5851 is also caused by this).</div><div class='del'>-	  This affected TestContinuation#test_check_localvars.</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_restore_1): revert workaround introduced in r32201.</div><div class='del'>-</div><div class='del'>-Thu Jan 12 02:14:43 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Added examples for Object#is_a? and</div><div class='del'>-	  Object#instance_of? patched from Manoj Kumar.</div><div class='del'>-	  [Bug #5880] [ruby-core:42057]</div><div class='del'>-</div><div class='del'>-Thu Jan 12 00:57:48 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: verbose-mode can use by RM, RMDIRS, etc.</div><div class='del'>-	  (e.g. make V=1 realclean)</div><div class='del'>-</div><div class='del'>-Wed Jan 11 23:40:21 2012  Naohisa Goto  &lt;ngoto@gen-info.osaka-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): set array element after definition</div><div class='del'>-	  to fix compile error with Fujitsu C Compiler 5.6 on Solaris 10</div><div class='del'>-	  on Sparc.  [Bug #5878] [ruby-dev:45123]</div><div class='del'>-</div><div class='del'>-Wed Jan 11 22:52:51 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_mimmalloc): don't set allocated size to header.</div><div class='del'>-	  ruby_mimmalloc() doesn't increment allocated_size/allocations and</div><div class='del'>-	  decrement them in ruby_xfree() cause inconsistency.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xfree): don't decrement allocated_size/allocations if</div><div class='del'>-	  allocated size record is 0.</div><div class='del'>-</div><div class='del'>-Wed Jan 11 22:36:43 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb (test_completion_proc_empty_result):</div><div class='del'>-	  ensure clearance of Readline's line_buffer after the test.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 21:57:38 2012  Hiroshi Shirosaki &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): fix a build error on mswin32.</div><div class='del'>-	  use `extern __declspec(dllimport)` for dll link with VC.</div><div class='del'>-	  [ruby-core:41996] [Bug #5869]</div><div class='del'>-</div><div class='del'>-Tue Jan 10 15:31:55 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): refix r34162; suppress warning and add description.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 15:13:58 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  use rb_memerror().</div><div class='del'>-</div><div class='del'>-Tue Jan 10 12:49:42 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: in fact, i686-linux doesn't need to define _XOPEN_SOURCE 600.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 12:44:11 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_mimmalloc): defined for objects need not rb_objspace,</div><div class='del'>-	  but should return pointer suitable for ruby_xfree;</div><div class='del'>-	  main vm and main thread.</div><div class='del'>-	  patched by Sokolov Yura. https://github.com/ruby/ruby/pull/79</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_BareVM): use ruby_mimmalloc.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c: #include &lt;ruby/util.h&gt;.</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: use xfree because it is allocated by</div><div class='del'>-	  ruby_strdup.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 12:13:56 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  fix compile error.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 10:41:11 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  empty completion result does not mean memory error.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 02:19:22 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_autoclose_true_closed_by_finalizer,</div><div class='del'>-	  test_autoclose_true_closed_by_finalizer): skip if IO objects are</div><div class='del'>-	  not recycled yet. [ruby-dev:45098] [Bug #5850]</div><div class='del'>-</div><div class='del'>-Tue Jan 10 00:41:28 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even</div><div class='del'>-	  when exception is raised at @tempfile.close. [ruby-dev:45113]</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink): fix a typo.</div><div class='del'>-</div><div class='del'>-Tue Jan 10 00:32:17 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore</div><div class='del'>-	  an exception under rb_protect(). [ruby-dev:45113]</div><div class='del'>-</div><div class='del'>-Mon Jan  9 23:37:43 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  fix typos.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 20:55:34 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : don't embed struct heaps_slot to a heap block because it</div><div class='del'>-	  can causes copy-on-write of memory page on heap block when its</div><div class='del'>-	  free_next is rewritten.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 20:26:33 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_entries): add document suggested by</div><div class='del'>-	  the thread [ruby-core:41959] [Bug #5859].</div><div class='del'>-</div><div class='del'>-Mon Jan  9 20:14:13 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (family_addrinfo): don't require protocol</div><div class='del'>-	  equality.  For example, protocol 0 and IPPROTO_TCP is not problem</div><div class='del'>-	  for TCP.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 20:08:52 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (family_addrinfo): return the given</div><div class='del'>-	  addrinfo object.</div><div class='del'>-	  Patch by Ippei Obayashi.  [ruby-dev:45095] [Bug #5845]</div><div class='del'>-</div><div class='del'>-Mon Jan  9 19:40:20 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (TestZlibGzipWriter#test_writer_wrap): set</div><div class='del'>-	  binmode explicitly.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 14:42:41 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: free_slots is changed Singly linked list. clear</div><div class='del'>-	  free_slots before sweep.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 07:46:17 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: i686-linux needs to define _XOPEN_SOURCE 600 for posix_memalign.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 04:24:59 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): global_List is allocated with xmalloc.</div><div class='del'>-	  patched by Sokolov Yura.  https://github.com/ruby/ruby/pull/78</div><div class='del'>-</div><div class='del'>-	* dln_find.c: remove useless replacement of free.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  strings for readline must allocated with malloc.</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_dup2): use free; see also r20950.</div><div class='del'>-</div><div class='del'>-	* re.c (onig_new_with_source): use malloc for oniguruma.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): use free for VMs.</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): use free for threads.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 04:24:59 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln_find.c: remove useless replacement of free.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (filename_completion_proc_call):</div><div class='del'>-	  matches should use xfree.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (username_completion_proc_call): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan  9 01:12:35 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_enc_uint_char): raise RangeError when added codepoint</div><div class='del'>-	  is invalid. [Feature #5855] [Bug #5863] [Bug #5864]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): set encoding as ASCII-8BIT when the string</div><div class='del'>-	  is US-ASCII and the argument is an integer greater than 127.</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (code_to_mbclen): ditto.</div><div class='del'>-</div><div class='del'>-	* enc/shift_jis.c (code_to_mbclen): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  8 20:31:45 2012  Narihiro Nakamura  &lt;narihiro@netlab.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : consider header bytes which are used by malloc.</div><div class='del'>-</div><div class='del'>-Sun Jan  8 11:54:43 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (aligned_free): support MinGW. Patch by Hiroshi Shirosaki.</div><div class='del'>-</div><div class='del'>-Sun Jan  8 11:43:05 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep): add a assertion instead of a debug print.</div><div class='del'>-</div><div class='del'>-Sun Jan  8 01:18:19 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/old_thread_select/test_old_thread_select.rb:</div><div class='del'>-	  avoid platform bug. [Bug #5858] [ruby-dev:45108]</div><div class='del'>-</div><div class='del'>-Sun Jan  8 00:46:34 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: get rid of implicit narrowing conversion.</div><div class='del'>-</div><div class='del'>-Sun Jan  8 00:10:10 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check posix_memalign(3) and memalign(3).</div><div class='del'>-</div><div class='del'>-	* gc.c (aligned_malloc): use configure's result instead of</div><div class='del'>-	  _POSIX_C_SOURCE and _XOPEN_SOURCE because they can't be used</div><div class='del'>-	  to check availability at least on FreeBSD.</div><div class='del'>-</div><div class='del'>-Sat Jan  7 22:25:50 2012  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use Bitmap Marking algorithm to avoid copy-on-write of</div><div class='del'>-	  memory pages. See [ruby-dev:45085] [Feature #5839]</div><div class='del'>-	  [ruby-core:41916].</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h : FL_MARK rename to FL_RESERVED1.</div><div class='del'>-</div><div class='del'>-	* node.h : ditto.</div><div class='del'>-</div><div class='del'>-	* debug.c : ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): FL_MARK move to a bitmap.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class_clone): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  7 00:47:07 2012  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: always define CANONICALIZATION_FOR_MATHN.</div><div class='del'>-	  [ruby-dev:45100] [Bug #5852]</div><div class='del'>-</div><div class='del'>-Fri Jan  6 23:11:20 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/version.h: RUBY_API_VERSION 2.0.0</div><div class='del'>-</div><div class='del'>-Fri Jan  6 12:24:11 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_inspect): raises Encoding::CompatibilityError if the</div><div class='del'>-	  result is incompatible with the default external encoding.</div><div class='del'>-	  [ruby-core:41931] [Bug #5848]</div><div class='del'>-</div><div class='del'>-Thu Jan  5 15:26:15 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (check_valid_dir): strict checking of root.</div><div class='del'>-	  GetDriveType() succeeds with non root directory as the argument,</div><div class='del'>-	  even if MSDN says that the API needs the root directory.</div><div class='del'>-	  this patch fixes a failure of test/ruby/test_file_exhaustive.rb.</div><div class='del'>-</div><div class='del'>-Thu Jan  5 12:15:55 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): separator is appended by array length - 1</div><div class='del'>-	  times. patched by Benoit Daloze [ruby-core:41901] [Bug #5841]</div><div class='del'>-</div><div class='del'>-Thu Jan  5 11:47:54 2012  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser#initialize_regexp):</div><div class='del'>-	  use \A \z instead of ^ $. [Bug #5843]</div><div class='del'>-</div><div class='del'>-Wed Jan  4 17:55:53 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): add example for Array#sample</div><div class='del'>-	  based on patch from https://github.com/ruby/ruby/pull/74</div><div class='del'>-</div><div class='del'>-Wed Jan  4 14:24:33 2012  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_nth_len): count ascii-only run at the end.  this</div><div class='del'>-	  bug appears only when single-byte-optimization is disabled due</div><div class='del'>-	  to unknown coderange.  [ruby-core:41896] [Bug #5836]</div><div class='del'>-</div><div class='del'>-Wed Jan  4 11:32:07 2012  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (check_valid_dir): special case for a root directory.</div><div class='del'>-	  Reported by Masateru OKAMOTO at [Bug #5819].</div><div class='del'>-</div><div class='del'>-Wed Jan  4 00:19:54 2012  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb: use private instead of _xxx</div><div class='del'>-	  method name. This is Ruby code not Python code.</div><div class='del'>-	  refs #5696</div><div class='del'>-</div><div class='del'>-Tue Jan  3 23:57:37 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb: rexml BaseParser uses</div><div class='del'>-	  instance_eval unnecessarily on listener add.</div><div class='del'>-	  patch from Charles Nutter. [Bug #5696] [ruby-core:41437]</div><div class='del'>-</div><div class='del'>-Tue Jan  3 20:44:13 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* README: add comment for Git user. patch from Arun Agrawal.</div><div class='del'>-	* README.ja: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan  3 15:58:22 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: changed documentation for "thread-local" variables.</div><div class='del'>-	  patch from Julien Ammous.</div><div class='del'>-</div><div class='del'>-Tue Jan  3 15:50:12 2012  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Fix typo. patch from Aviv Ben-Yosef.</div><div class='del'>-</div><div class='del'>-Tue Jan  3 13:43:37 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: allow r0123 style revision number.</div><div class='del'>-</div><div class='del'>-Tue Jan  3 11:17:55 2012  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb (#version_up): version.h date should be Japanese</div><div class='del'>-	  locale date.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 22:08:00 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::detect): Add support for Subversion</div><div class='del'>-	  1.7 which adopted a whole new working directory structure.</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb (VCS::detect): Simply use .each instead of</div><div class='del'>-	  .sort.reverse_each which looks too arbitrary.  If you want SVN</div><div class='del'>-	  to be tried first, then you just have to register it first as it</div><div class='del'>-	  is right now.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 20:53:36 2012  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (random_bytes): use IO#read instead of</div><div class='del'>-	  IO#readpartial to make the intent more clear.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 15:26:39 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (test_send_with_block): add a normal case.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 15:18:54 2012  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (test_send_with_block): moved from</div><div class='del'>-	  bootstraptest/test_flow.rb.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 15:10:11 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: use pack("m0") instead of</div><div class='del'>-	  pack("m").gsub("\n","").</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#run): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 15:05:09 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#run): use</div><div class='del'>-	  File.basename with suffix instead of gsub.</div><div class='del'>-</div><div class='del'>-Mon Jan  2 14:55:28 2012  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): find may</div><div class='del'>-	  return nil and nil can not dup.</div><div class='del'>-</div><div class='del'>-Sun Jan  1 12:23:10 2012  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shellescape): Drop the //n flag</div><div class='del'>-	  that only causes warnings with no real effect.  [Bug #5637]</div><div class='del'>-</div><div class='del'>-Sat Dec 31 06:28:37 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_waiting): save the number of waiting threads</div><div class='del'>-	  in RBASIC()-&gt;flags. [ruby-dev:45002] [Bug #5768]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): increment and decrement around</div><div class='del'>-	  rb_mutex_lock, and use rb_barrier_waiting().</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_release): use rb_barrier_waiting().</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_destroy): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 17:20:10 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): add guard to prevent optimization for LLVM clang.</div><div class='del'>-</div><div class='del'>-Fri Dec 30 17:01:12 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_send): fix obj.send() documentation issue.</div><div class='del'>-	 [Bug #5125] [ruby-core:38633]</div><div class='del'>-</div><div class='del'>-Thu Dec 29 22:36:16 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Runner::Worker#_run_parallels): fix</div><div class='del'>-	  premature exit when all workers' status are :ready or :prepare.</div><div class='del'>-	  [ruby-dev:45061] [Bug #5822]</div><div class='del'>-</div><div class='del'>-Thu Dec 29 01:51:13 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: fix #error pragma. LLP64 platform is supported.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 28 11:22:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#entries): use utility method</div><div class='del'>-	  instead of typoed regexp.  [ruby-core:41829] [Bug #5817]</div><div class='del'>-</div><div class='del'>-Wed Dec 28 02:08:04 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (unknown_keyword_error): add GC guard to prevent</div><div class='del'>-	  intermediate object from GC.</div><div class='del'>-</div><div class='del'>-Tue Dec 27 22:34:54 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Worker#close): "closing IO if IO is closed"</div><div class='del'>-	  should be "closing IO if IO isn't closed"</div><div class='del'>-</div><div class='del'>-Tue Dec 27 22:04:27 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_update): new function to lookup the given key and</div><div class='del'>-	  update the value.  [ruby-dev:44998]</div><div class='del'>-</div><div class='del'>-Tue Dec 27 21:17:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (rb_args_info): change pre_args_num and post_args_num as</div><div class='del'>-	  int, to match with rb_iseq_t.</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): check overflow.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 22:38:35 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (unknown_keyword_error): make it kind a error</div><div class='del'>-	  message when unknown keyword is given.  It require more work.</div><div class='del'>-	  See [ruby-core:40518] and [ruby-core:40541] in detail.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 22:31:07 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments),</div><div class='del'>-	  iseq.c (rb_iseq_parameters), vm_insnhelper.c</div><div class='del'>-	  (vm_callee_setup_arg_complex): support Method#parameters for keyword</div><div class='del'>-	  arguments.  The provisional spec is what Benoit Daloze proposed.</div><div class='del'>-	  [ruby-core:40541]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 22:15:27 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments,</div><div class='del'>-	  iseq_compile_each), vm_insnhelper.c (vm_callee_setup_arg_complex):</div><div class='del'>-	  implement keyword arguments.  See [ruby-core:40290]</div><div class='del'>-	  The feature is promised to be included in 2.0, but the detail spec</div><div class='del'>-	  is still under discussion; this commit is a springboard for further</div><div class='del'>-	  discussion.  Please try it and give us feedback.</div><div class='del'>-	  This commit includes fixes for some problems reported by Benoit</div><div class='del'>-	  Daloze &lt;eregontp AT gmail.com&gt; [ruby-core:40518] and Marc-Andre</div><div class='del'>-	  Lafortune &lt;ruby-core-mailing-list AT marc-andre.ca&gt;</div><div class='del'>-	  [ruby-core:41772].</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free, prepare_iseq_build): bookkeeping.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add tests for keyword arguments.</div><div class='del'>-</div><div class='del'>-	* test/ripper/dummyparser.rb (class DummyParser): temporal fix for</div><div class='del'>-	  ripper test.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 22:00:17 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.h, node.c, parse.y: implement a parser part for keyword</div><div class='del'>-	  arguments.</div><div class='del'>-	  This is a preparation for keyword argument (see [ruby-core:40290]).</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): bookkeeping.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 21:03:18 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.h, parse.y (new_args_gen), compile.c (iseq_set_arguments): use</div><div class='del'>-	  struct rb_args_info instead of NODEs.</div><div class='del'>-	  This is a preparation for keyword argument (see [ruby-core:40290]).</div><div class='del'>-</div><div class='del'>-	* node.c (dump_node), gc.c (gc_mark_children, obj_free): bookkeeping.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 20:59:51 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.h, parse.y (lambda, f_larglist): remove NEW_LAMBDA hack.</div><div class='del'>-	  This is a preparation for keyword argument (see [ruby-core:40290]).</div><div class='del'>-</div><div class='del'>-Mon Dec 26 22:01:19 2011  Hiroshi Shirosaki &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sys_fail_path): move the definition.</div><div class='del'>-	  Move above for using it in set_binary_mode_with_seek_cur().</div><div class='del'>-</div><div class='del'>-	* io.c (set_binary_mode_with_seek_cur): fix improper seek cursor.</div><div class='del'>-	  Seeking file cursor with setting binary mode has possibility to</div><div class='del'>-	  cause infinite loop. Fixed the bug and refined error handling.</div><div class='del'>-	  Introduced at r34043.</div><div class='del'>-</div><div class='del'>-	  And cleanups as below.</div><div class='del'>-	  Remove unnecessary parentheses of `fptr`.</div><div class='del'>-	  Use return value of setmode().</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb</div><div class='del'>-	  (TestIO_M17N#test_seek_with_setting_binmode): add a test for above.</div><div class='del'>-	  [ruby-core:41671] [Bug #5714]</div><div class='del'>-</div><div class='del'>-Mon Dec 26 17:01:14 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (LIBRUBY_A): depends on main.o since r33774.</div><div class='del'>-	  [ruby-core:41786] [Bug #5796]</div><div class='del'>-</div><div class='del'>-Mon Dec 26 13:07:08 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_autoclose): Tempfile.new doesn't</div><div class='del'>-	  accept the block argument.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 13:06:52 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Avoid zombie processes on "--separate" option</div><div class='del'>-	  added at r34121.</div><div class='del'>-</div><div class='del'>-Mon Dec 26 04:01:23 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: Update and complete documentation.</div><div class='del'>-</div><div class='del'>-Sun Dec 25 23:16:11 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb (test_separate): Test for "--separate"</div><div class='del'>-	  option (r34121)</div><div class='del'>-</div><div class='del'>-Sun Dec 25 22:39:49 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (_run_parallel):</div><div class='del'>-	  New option "--separate" for test/unit; when running tests with this</div><div class='del'>-	  option, a job process will be restarted after one test file has done.</div><div class='del'>-	  This means all test files will run with separated process.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: Fix for above. Now parallel.rb puts</div><div class='del'>-	  "ready!" for first ready, "ready" for afters.</div><div class='del'>-</div><div class='del'>-Sun Dec 25 00:02:15 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: change --with-ntver to --with-winnt-ver to be more</div><div class='del'>-	  descriptive in the context. [ruby-core:41794]</div><div class='del'>-</div><div class='del'>-Sat Dec 24 23:25:15 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add --with-ntver option to match win32/configure.bat</div><div class='del'>-	  functionality. Set 0x0501 as default. [ruby-core:35010]</div><div class='del'>-	  [ruby-core:35035]</div><div class='del'>-</div><div class='del'>-Sat Dec 24 12:38:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_call): get rid of optimization-out by clang.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_call, rb_proc_call_with_block): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 24 10:56:32 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_readline): check if outstream</div><div class='del'>-	  is closed to get rid of a bug of readline 6.  [ruby-dev:45043]</div><div class='del'>-	  [Bug #5803]</div><div class='del'>-</div><div class='del'>-Sat Dec 24 06:59:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb (test_line_buffer__point): use</div><div class='del'>-	  lambda not to exit entire method by "return".  or "next" for</div><div class='del'>-	  proc.  [ruby-dev:45042] [Bug #5802]</div><div class='del'>-</div><div class='del'>-Sat Dec 24 01:20:39 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (send_internal): PASS_PASSED_BLOCK_TH must be placed</div><div class='del'>-	  just before calling rb_call0.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_flow.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Dec 24 00:55:16 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): warn if a block is given.</div><div class='del'>-</div><div class='del'>-Fri Dec 23 16:14:30 2011  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_attempted_completion_function):</div><div class='del'>-	  in Readline module with GNU Readline 6 case, Readline module</div><div class='del'>-	  resets completion_append_character to " ", after it executes</div><div class='del'>-	  completion. So, Readline module stores</div><div class='del'>-	  completion_append_character, and Readline module always sets it</div><div class='del'>-	  after Readline module executes completion. [ruby-dev:43456]</div><div class='del'>-	  [Feature #4635]</div><div class='del'>-</div><div class='del'>-Fri Dec 23 15:59:05 2011  TAKAO Kouji  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): libedit check</div><div class='del'>-	  rl_getc_function only when rl_initialize() is called, and</div><div class='del'>-	  using_history() call rl_initialize(). This assignment should be</div><div class='del'>-	  placed before using_history(). [ruby-core:40641] [Bug #5539]</div><div class='del'>-</div><div class='del'>-Fri Dec 23 10:14:47 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (test_thr_kill): show the number of loop</div><div class='del'>-	  run when the test failed.</div><div class='del'>-</div><div class='del'>-Fri Dec 23 09:23:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pty.rb (test_pty_check_default): call PTY.check until</div><div class='del'>-	  "cat" command is finished.</div><div class='del'>-</div><div class='del'>-Fri Dec 23 06:03:00 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add "check succeeded" message.</div><div class='del'>-</div><div class='del'>-	* README, README.ja: follow above change.</div><div class='del'>-</div><div class='del'>-Fri Dec 23 06:00:39 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h: add satisfy cc-mode comment.</div><div class='del'>-	* util.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 23 00:08:25 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pty.rb (test_pty_check_default): "cat" may not terminated</div><div class='del'>-	  in the 0.1 second.</div><div class='del'>-</div><div class='del'>-Thu Dec 22 23:37:25 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_condvar_timed_wait): don't test the</div><div class='del'>-	  maximum sleep time.  Ruby is not a real-time system.</div><div class='del'>-</div><div class='del'>-Thu Dec 22 22:37:45 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ping_signal_thread_list): remove return value.</div><div class='del'>-	* thread_pthread.c (check_signal_thread_list): add a new function to</div><div class='del'>-	  check if signal thread list is empty.</div><div class='del'>-	* thread_pthread.c (thread_timer): check signal thread list after</div><div class='del'>-	  timer_thread_function(). main thread might be added into signal thread</div><div class='del'>-	  list during timer_thread_function().</div><div class='del'>-</div><div class='del'>-Thu Dec 22 00:40:24 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpMult, VpCtoV, VpSqrt): remove assigned</div><div class='del'>-	  but unused variables.</div><div class='del'>-</div><div class='del'>-Wed Dec 21 18:28:22 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (newline.c, miniprelude.c): revert r33949 because the change</div><div class='del'>-	  broke mswin build, and the changer said no reason about the change.</div><div class='del'>-	  [ruby-dev:45016] [Bug #5783]</div><div class='del'>-</div><div class='del'>-Wed Dec 21 12:35:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_s_allocate): follow</div><div class='del'>-	  Allocation Framework.  [Bug #5775]</div><div class='del'>-</div><div class='del'>-Wed Dec 21 02:25:36 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/emitter.c: fixing clang warnings. Thanks Joey!</div><div class='del'>-</div><div class='del'>-Wed Dec 21 01:06:00 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/README: Update redmine.ruby-lang.org to bugs.ruby-lang.org</div><div class='del'>-	* ext/socket/ancdata.c: ditto</div><div class='del'>-	* test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb: ditto</div><div class='del'>-	* test/syck/test_yaml.rb: ditto</div><div class='del'>-	* doc/ChangeLog-1.9.3: ditto</div><div class='del'>-</div><div class='del'>-Tue Dec 20 23:50:12 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* PStore content update perf optimization. Patch by Masaki Matsushita.</div><div class='del'>-	  See #5248.</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (save_data):</div><div class='del'>-</div><div class='del'>-	  * Delete inadequate Marshal check.</div><div class='del'>-</div><div class='del'>-	  * Deferred file truncation: when writing the new content, truncate</div><div class='del'>-	    the saved file to the data size after writing the data, instead of</div><div class='del'>-	    truncating whole bytes before writing data.</div><div class='del'>-</div><div class='del'>-	  * Deferred MD5 calculation: when comparing MD5 hash to check the</div><div class='del'>-	    content modification, calculate MD5 hash of new data iif the</div><div class='del'>-	    content length is differ from the old one.</div><div class='del'>-</div><div class='del'>-	  * Compare content size with String#bytesize instead of String#size.</div><div class='del'>-</div><div class='del'>-Tue Dec 20 21:00:30 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: uses to_integer instead.</div><div class='del'>-	* test/date/test_switch_hitter.rb: added a test.</div><div class='del'>-</div><div class='del'>-Tue Dec 20 15:04:18 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Make sure to clear $! when ignoring an exception</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_pem_passwd_cb0, ossl_verify_cb):</div><div class='del'>-	  pem_passwd_cb and verify_cb ignores the exception raised in a</div><div class='del'>-	  callback proc so it should clear $! for subsequent execution.</div><div class='del'>-</div><div class='del'>-	  That's said, both subsequent processes for pem_passwd_cb and</div><div class='del'>-	  verify_cb raises another exception before leaking $! to Ruby world.</div><div class='del'>-	  We cannot test this fix in Ruby land.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb</div><div class='del'>-	  (test_read_private_key_pem_pw_exception): Test for pem_passwd_cb +</div><div class='del'>-	  exception.</div><div class='del'>-</div><div class='del'>-Tue Dec 20 11:49:13 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_date_base.rb (test_jd): tests for</div><div class='del'>-	  [ruby-dev:45008].</div><div class='del'>-</div><div class='del'>-Tue Dec 20 10:20:48 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (wholenum): fix the type of the return value.</div><div class='del'>-</div><div class='del'>-Tue Dec 20 05:03:24 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja:  Update redmine.ruby-lang.org to bugs.ruby-lang.org</div><div class='del'>-	* README:  ditto</div><div class='del'>-	* common.mk:  ditto</div><div class='del'>-	* man/erb.1:  ditto</div><div class='del'>-	* man/irb.1:  ditto</div><div class='del'>-	* man/ri.1:  ditto</div><div class='del'>-	* man/ruby.1:  ditto</div><div class='del'>-	* sparc.c:  ditto</div><div class='del'>-	* tool/install-sh:  ditto</div><div class='del'>-</div><div class='del'>-Tue Dec 20 02:15:18 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c:  [ruby-dev:45008].</div><div class='del'>-</div><div class='del'>-Sun Dec 18 18:52:37 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): improve guard of iseq from GC.  Fix</div><div class='del'>-	  failure or segmentation fault in test_singleton_method(TestGc)</div><div class='del'>-	  on sparc Solaris10 compiled with Oracle Solaris Studio 12.2.</div><div class='del'>-	  [Bug #5762] [ruby-dev:45000] [Bug #4178]</div><div class='del'>-</div><div class='del'>-Sun Dec 18 14:34:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow</div><div class='del'>-	  allocation framework right now.  [ruby-core:41710] [Bug #5773]</div><div class='del'>-</div><div class='del'>-Sun Dec 18 12:42:48 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored</div><div class='del'>-	  from YAML.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped</div><div class='del'>-	  to YAML.</div><div class='del'>-	* test/psych/test_numeric.rb: tests for BigDecimal serialization</div><div class='del'>-</div><div class='del'>-Sun Dec 18 12:03:13 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Strings that look like dates</div><div class='del'>-	  should be treated as strings and not dates.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_scalar_scanner.rb: corresponding tests.</div><div class='del'>-</div><div class='del'>-Sun Dec 18 09:43:21 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (test_thr_kill): extend timeout.</div><div class='del'>-	  this test takes a long time at slow machine.</div><div class='del'>-</div><div class='del'>-Sun Dec 18 09:36:51 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (invoke_ruby): remove :timeout option before</div><div class='del'>-	  pass it to Kernel#spawn.</div><div class='del'>-</div><div class='del'>-Fri Dec 16 17:18:38 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README, README.ja: 'make check' is preferable to 'make test'.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 23:16:13 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (builtin_type_name): don't return pointer to the buffer of</div><div class='del'>-	  temporary String object.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 17:56:58 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_type): make typed data.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 17:40:28 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_type): fix typo.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 14:48:35 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: use typed data with</div><div class='del'>-	  onig_region_memsize().</div><div class='del'>-</div><div class='del'>-Thu Dec 15 14:33:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_typeddata): refine error message with</div><div class='del'>-	  including expected struct name.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 13:15:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_region_memsize): implemented for memsize_of().</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (memsize_of): use it.</div><div class='del'>-</div><div class='del'>-Thu Dec 15 10:44:54 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reject_bang, rb_ary_delete_if): update rdoc.</div><div class='del'>-	  documentation from Thomas Leitner &lt;t_leitner AT gmx.at&gt; in</div><div class='del'>-	  [ruby-core:41616].  [Bug #5752]</div><div class='del'>-</div><div class='del'>-Thu Dec 15 10:10:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_race_exception): get rid of</div><div class='del'>-	  not-guaranteed timing issue.  [ruby-core:41655] [Bug #5754]</div><div class='del'>-</div><div class='del'>-Wed Dec 14 21:58:42 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb</div><div class='del'>-	  (TestIO_M17N#test_{read_with_binmode_and_get[cs]}): only for Windows.</div><div class='del'>-</div><div class='del'>-Wed Dec 14 19:57:23 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk,Makefile.in,win32/Makefile.sub (ECHO1): move platform</div><div class='del'>-	  specific hack from common.mk to Makefile.in (and win32/Makefile.sub).</div><div class='del'>-	  [Bug #5711]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: we can generate Makefile as we like.</div><div class='del'>-</div><div class='del'>-Wed Dec 14 19:22:33 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_fd_is_text): new function.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_stdhandle): set default mode of stdin as binmode.</div><div class='del'>-</div><div class='del'>-	* io.c (set_binary_mode_with_seek_cur): new function to replace</div><div class='del'>-	  SET_BINARY_MODE_WITH_SEEK_CUR macro.  now returns previous mode of the</div><div class='del'>-	  fd and take care of LF in rbuf.</div><div class='del'>-</div><div class='del'>-	* io.c (do_writeconv): set text mode when needed.</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): need to change the mode of the IO to binmode</div><div class='del'>-	  temporally when the length for IO#read, because IO#read with length</div><div class='del'>-	  must behave so.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#test_{read_with_length,</div><div class='del'>-	  read_with_length_binmode,get[cs]_and_read_with_binmode,</div><div class='del'>-	  read_with_binmode_and_get[cs],read_write_with_binmode}): tests for</div><div class='del'>-	  above changes.</div><div class='del'>-</div><div class='del'>-	all patches are written by Hiroshi Shirosaki. [ruby-core:41496]</div><div class='del'>-	[Feature #5714]</div><div class='del'>-</div><div class='del'>-Wed Dec 14 15:28:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode): about the extension of :fallback</div><div class='del'>-	  option since 1.9.3.</div><div class='del'>-</div><div class='del'>-Wed Dec 14 12:19:59 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_unlock): release loading barrier and then remove it</div><div class='del'>-	  from loading_table if it is not in-use.  [Bug #5754]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_release, rb_barrier_destroy): return</div><div class='del'>-	  whether any other threads are waiting on it.</div><div class='del'>-</div><div class='del'>-Wed Dec 14 11:23:45 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ubf_select): call rb_thread_wakeup_timer_thread()</div><div class='del'>-	  only when it is not timer_thread. [Bug #5757] [ruby-dev:44985]</div><div class='del'>-	  patched by Tomoyuki Chikanaga.</div><div class='del'>-</div><div class='del'>-Wed Dec 14 10:20:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): delete the loading barrier if it has been</div><div class='del'>-	  destroyed.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_barrier_wait): return nil for recursive lock</div><div class='del'>-	  instead of false, to distinguish it from destroyed barrier.</div><div class='del'>-</div><div class='del'>-Wed Dec 14 01:24:55 2011  okkez  &lt;okkez000@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): fix memory</div><div class='del'>-	  leak. [ruby-dev:44904] [Bug #5688]</div><div class='del'>-</div><div class='del'>-Wed Dec 14 00:01:15 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): point method name line.  [ruby-core:40936]</div><div class='del'>-	  [Bug #5614]</div><div class='del'>-</div><div class='del'>-Tue Dec 13 23:43:48 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_to_str): clear rb_thread_t::errinfo when</div><div class='del'>-	  ignore exception under rb_protect(). [ruby-core:41612] [Bug #5755]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb (test_exception_in_name_error_to_str):</div><div class='del'>-	  add a corresponding test.</div><div class='del'>-</div><div class='del'>-Tue Dec 13 16:13:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_unlock): all threads requiring one file should</div><div class='del'>-	  share same loading barrier, so it must be kept alive while those</div><div class='del'>-	  are waiting on it.  [ruby-core:41618] [Bug #5754]</div><div class='del'>-</div><div class='del'>-Tue Dec 13 07:30:14 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (setup_header): 1xx responses</div><div class='del'>-	  are allowed to have Keep-Alive connections.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpresponse.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Tue Dec 13 07:13:28 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses</div><div class='del'>-	  are allowed to have a Keep-Alive connection. [ruby-core:41581]</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpresponse.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Tue Dec 13 06:29:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): should pass the proper value.</div><div class='del'>-	  [ruby-dev:44984][Bug #5753]</div><div class='del'>-</div><div class='del'>-Tue Dec 13 05:50:07 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): splat single</div><div class='del'>-	  argument if optional arguments are defined not only mandatory or</div><div class='del'>-	  post arguments.  [ruby-core:41557] [Bug #5730]</div><div class='del'>-</div><div class='del'>-Mon Dec 12 22:35:39 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt_or_begin): changed the error message for BEGIN not</div><div class='del'>-	  at toplevel.  [ruby-dev:44963] [Bug #5738]</div><div class='del'>-</div><div class='del'>-Mon Dec 12 17:29:01 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README: Fixed SupportedPlatforms URL in the README.</div><div class='del'>-	  patched by eMxyzptlk. https://github.com/ruby/ruby/pull/62</div><div class='del'>-</div><div class='del'>-Mon Dec 12 17:26:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): lazy assigned load_path searched in</div><div class='del'>-	  loading_table were not expanded, but all features, pushed to</div><div class='del'>-	  loading table, are expanded.  a patch by Yura Sokolov</div><div class='del'>-	  &lt;funny.falcon AT gmail.com&gt; in [ruby-core:41545]. [Bug #5727]</div><div class='del'>-</div><div class='del'>-Mon Dec 12 15:41:03 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_truncate): fix typo.  patched by</div><div class='del'>-	  Nick Howard &lt;ndh AT baroquebobcat.com&gt;.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/65</div><div class='del'>-</div><div class='del'>-Sun Dec 11 12:19:17 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: includes the sequence number of UID in a error</div><div class='del'>-	  message.  suggested by art lussos.</div><div class='del'>-	  [ruby-core:41413] [Feature #5692]</div><div class='del'>-</div><div class='del'>-Sun Dec 11 11:42:10 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c: fix a typo. [ruby-core:41585] [Bug #5740]</div><div class='del'>-</div><div class='del'>-Sun Dec 11 10:48:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exit_initialize): deal with true and false as well as</div><div class='del'>-	  Kernel#exit.  [ruby-dev:44951] [Bug #5728]</div><div class='del'>-</div><div class='del'>-Sun Dec 11 10:37:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_check_to_int): new function to convert a VALUE to</div><div class='del'>-	  an Integer if possible, but returns nil instead of raising an</div><div class='del'>-	  exception otherwise.</div><div class='del'>-</div><div class='del'>-Sun Dec 11 10:34:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exit_status_code): extract from rb_f_exit_bang and</div><div class='del'>-	  rb_f_exit.  assume 0 to be success in Kernel#exit! too.</div><div class='del'>-</div><div class='del'>-Fri Dec  9 19:24:31 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/iso-8859-16-tbl.rb: add ISO-8859-16 converter.</div><div class='del'>-</div><div class='del'>-	* enc/trans/single_byte.trans: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  9 14:28:40 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_path_convert): don't convert it when the path string is</div><div class='del'>-	  ascii only. [ruby-core:41556] [Bug #5733]</div><div class='del'>-	  tests are contributed by nobu.</div><div class='del'>-</div><div class='del'>-Fri Dec  9 08:00:15 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: undef stat to silence mingw-w64 stat</div><div class='del'>-	  redefinition warnings (GCC 4.6.3).</div><div class='del'>-</div><div class='del'>-Thu Dec  8 23:38:24 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): clear inline-cache when constant's</div><div class='del'>-	  visibility is modified. [ruby-dev:44929]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_private_constants_clear_inlinecache):</div><div class='del'>-	  add test for it.</div><div class='del'>-</div><div class='del'>-Thu Dec  8 23:26:11 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): should sort after map, not before</div><div class='del'>-	  it.  in this case there is no difference, but we should write better</div><div class='del'>-	  code.  this bad smell was caught by nagachika.</div><div class='del'>-</div><div class='del'>-Thu Dec  8 22:31:13 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile): need to sort the array of current</div><div class='del'>-	  srcs before comparing to the sorted old srcs.</div><div class='del'>-	  fixed the problem that the configuring stage of exts were always</div><div class='del'>-	  run, introduced at r33801.</div><div class='del'>-</div><div class='del'>-Thu Dec  8 13:26:24 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_order.rb (OrderTester#test_more_ordering): use</div><div class='del'>-	  Zlib::GzipReader.open instead of Zlib::GzipReader.new with File.new.</div><div class='del'>-	  fixed a test error on Windows introduced at r33946.</div><div class='del'>-</div><div class='del'>-Thu Dec  8 13:11:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_sete[gu]id): silently</div><div class='del'>-	  skip if not implemented such functions (such as, on Windows).</div><div class='del'>-	  fixed test errors on Windows introduced at r33953.</div><div class='del'>-</div><div class='del'>-Thu Dec  8 12:57:50 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: forgotten to define HAVE_SOCKETPAIR for</div><div class='del'>-	  windows.</div><div class='del'>-	  fixed test errors on Windows introduced at r33947.</div><div class='del'>-</div><div class='del'>-Thu Dec  8 12:11:06 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_WERROR_FLAG): append all warning flags which</div><div class='del'>-	  are enabled to compile, so that printf format modifiers properly</div><div class='del'>-	  fail.  [ruby-core:41351] [Bug #5679]</div><div class='del'>-</div><div class='del'>-Thu Dec  8 07:20:15 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc:  Document difference between match and =~, options with</div><div class='del'>-	  Regexp.new and global variables.  Patch by Sylvain Daubert.</div><div class='del'>-	  [Ruby 1.9 - Bug #5709]</div><div class='del'>-</div><div class='del'>-Thu Dec  8 06:53:10 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc:  Fix example code to match documentation.  Patch by</div><div class='del'>-	  Jarno Lamberg.  [Ruby 1.9 - Bug #5624]</div><div class='del'>-</div><div class='del'>-Wed Dec  7 19:04:22 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rpath): fix typo in the help string.  a patch from</div><div class='del'>-	  Yuji Yamano &lt;yyamano AT kt.rim.or.jp&gt; in [ruby-list:48568].</div><div class='del'>-</div><div class='del'>-Wed Dec  7 18:55:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_set_top_stack, vm_set_eval_stack): check for stack</div><div class='del'>-	  overflow with stack_max before push new frame. [ruby-core:41520]</div><div class='del'>-	  [Bug #5720]</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_set_main_stack): no stack overflow chances after</div><div class='del'>-	  vm_set_eval_stack().</div><div class='del'>-</div><div class='del'>-Wed Dec  7 09:58:15 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c:  Document +@, -@, hash, INFINITY, Nan.</div><div class='del'>-	  Patch by Sylvain Daubert.  [Ruby 1.9 - Feature #5622]</div><div class='del'>-</div><div class='del'>-Wed Dec  7 09:48:00 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO):  Mention io/console methods.  [Ruby 1.9 - Bug #5602]</div><div class='del'>-	* ext/io/console/console.c:  Mention that io/console must be required</div><div class='del'>-	  similar to lib/time.rb</div><div class='del'>-</div><div class='del'>-Wed Dec  7 08:04:31 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb (module Psych): parse and load methods take</div><div class='del'>-	  an optional file name that is used when raising Psych::SyntaxError</div><div class='del'>-	  exceptions</div><div class='del'>-	* ext/psych/lib/psych/syntax_error.rb (module Psych): allow nil file</div><div class='del'>-	  names and handle nil file names in the exception message</div><div class='del'>-	* test/psych/test_exception.rb (module Psych): Tests for changes.</div><div class='del'>-</div><div class='del'>-Tue Dec  6 18:26:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: use db_version() instead of DB_VERSION_STRING to</div><div class='del'>-	  detect runtime Berkeley DB version.</div><div class='del'>-	  use dpversion instead of _QDBM_VERSION to detect runtime QDBM</div><div class='del'>-	  version.</div><div class='del'>-	  [ruby-dev:44948]</div><div class='del'>-</div><div class='del'>-Tue Dec  6 12:30:41 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: detect gdbm_version in libgdbm.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: make DBM::VERSION more informative for gdbm, qdbm and</div><div class='del'>-	  Berkeley DB 1.x.  [ruby-dev:44944]</div><div class='del'>-</div><div class='del'>-Tue Dec  6 07:26:37 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* range.c:  Improve documentation for Range.  Patch by Chris Zetter.</div><div class='del'>-	  [Ruby 1.9 - Bug #5656]</div><div class='del'>-</div><div class='del'>-Mon Dec  5 19:08:04 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (PFETCH_READY): separate gcc specific trick.</div><div class='del'>-</div><div class='del'>-Mon Dec  5 19:01:59 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_seteuid_m): fix argument.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_geteuid): fix typo.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_getegid, test_set[eg]uid): add.</div><div class='del'>-</div><div class='del'>-Mon Dec  5 18:56:55 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_rshift), compile.c (validate_label,</div><div class='del'>-	  iseq_build_from_ary_exception), cont.c (cont_capture), dir.c</div><div class='del'>-	  (dir_open_dir), gc.c (objspace_each_objects), io.c (pipe_open)</div><div class='del'>-	  (rb_io_advise), parse.y (parser_compile_string)</div><div class='del'>-	  (rb_parser_compile_file), proc.c (binding_free), process.c</div><div class='del'>-	  (rb_proc_exec_n, rb_seteuid_core, proc_setegid, rb_setegid_core)</div><div class='del'>-	  (p_uid_exchange, p_gid_exchange), regparse.c (strdup_with_null),</div><div class='del'>-	  signal.c (sig_dfl), vm.c (rb_iseq_eval, rb_iseq_eval_main),</div><div class='del'>-	  vm_insnhelper.c (vm_expandarray): suppress</div><div class='del'>-	  unused-but-set-variable warnings.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_methods), compile.c (iseq_compile_each),</div><div class='del'>-	  iseq.c(iseq_load, rb_iseq_parameters), pack.c (pack_pack),</div><div class='del'>-	  regcomp.c (is_not_included, update_string_node_case_fold),</div><div class='del'>-	  transcode.c (rb_econv_open0, make_replacement),</div><div class='del'>-	  vm_eval.c (raise_method_missing): remove unused variable.</div><div class='del'>-</div><div class='del'>-	* signal.c (reserved_signal_p): static.</div><div class='del'>-</div><div class='del'>-Mon Dec  5 14:27:23 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/{subst.h,win32.h}, ext/socket/rubysocket.h: revert</div><div class='del'>-	  r33876.  [ruby-core:41475] [Bug #5706]</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: the alternative hack for [Bug #5675].</div><div class='del'>-</div><div class='del'>-Mon Dec  5 10:18:45 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_initialize): revert a part of r33937.</div><div class='del'>-	  1st, to change the mode of an IO is very sensitive problem, so</div><div class='del'>-	  the maintainer of this library should judge it.</div><div class='del'>-	  2nd, usually Zlib::GzipReader.new is not called directly.  #initialize</div><div class='del'>-	  is called via .open, and in the method the I/O is opened in binary</div><div class='del'>-	  mode, so there is no problem without changing the mode in #initialize.</div><div class='del'>-</div><div class='del'>-Sun Dec  4 22:53:12 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: don't use lock directory.  [ruby-dev:39197]</div><div class='del'>-</div><div class='del'>-Sun Dec  4 22:34:43 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile::MAX_TRY): remove unused constant.</div><div class='del'>-</div><div class='del'>-Sun Dec  4 12:11:28 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: fix rdoc.</div><div class='del'>-</div><div class='del'>-Sun Dec  4 12:03:16 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#methods): Kernel#methods receives</div><div class='del'>-	  zero or one argument. [ruby-core:37118] [Bug #4882]</div><div class='del'>-</div><div class='del'>-Sun Dec  4 10:15:00 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_initialize): use binary mode by default</div><div class='del'>-	  under Windows. Patch by Hiroshi Shirosaki. [ruby-core:40706]</div><div class='del'>-	  [Feature #5562]</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (void rb_econv_binmode): define NEWLINE</div><div class='del'>-	  decorator.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd): Introduce NEED_READCONV and</div><div class='del'>-	  NEED_WRITECONV to replace universal newline decorator by CRLF only</div><div class='del'>-	  when required to improve file reading and writing under Windows.</div><div class='del'>-	  Patch by Hiroshi Shirosaki. [ruby-core:40706] [Feature #5562]</div><div class='del'>-	* io.c (do_writeconv): adjust binary mode if required.</div><div class='del'>-	* io.c (read_all, appendline, swallow, rb_io_getline_1): ditto.</div><div class='del'>-	* io.c (io_getc, rb_io_each_codepoint, rb_io_ungetc): ditto.</div><div class='del'>-	* io.c (rb_io_binmode, rb_io_ascii8bit_binmode): ditto.</div><div class='del'>-	* io.c (rb_io_extract_modeenc, rb_sysopen): ditto.</div><div class='del'>-	* io.c (pipe_open, prep_stdio, io_encoding_set): ditto.</div><div class='del'>-	* io.c (rb_io_s_pipe, copy_stream_body): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (EOT): add test for pipe and stdin in</div><div class='del'>-	  binary mode.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_stdhandle): remove O_BINARY from stdhandle</div><div class='del'>-	  initialization.</div><div class='del'>-	* win32/win32.c (rb_w32_write): use FTEXT mode accordingly.</div><div class='del'>-</div><div class='del'>-Sat Dec  3 20:49:16 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): print a warning when no argument</div><div class='del'>-	  is passwd to Module#private_constant.  [ruby-list:48558]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (set_method_visibility): ditto for</div><div class='del'>-	  Module#private_class_method.</div><div class='del'>-</div><div class='del'>-Sat Dec  3 20:43:14 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): Module#private_constant has</div><div class='del'>-	  changed the visibility of only the first argument.  Now it changes</div><div class='del'>-	  all of them.  [ruby-list:48558]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sat Dec  3 07:17:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (CFLAGS): append ARCH_FLAG.</div><div class='del'>-</div><div class='del'>-	* configure.in (ARCH_FLAG): exclude from CFLAGS.</div><div class='del'>-</div><div class='del'>-	* configure.in (UNIVERSAL_INTS): include short int.  fix for</div><div class='del'>-	  test/mkmf.</div><div class='del'>-</div><div class='del'>-Fri Dec  2 15:48:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpAllocReal): reduce extra frac.</div><div class='del'>-</div><div class='del'>-Fri Dec  2 15:41:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check whether -pie or -Wl,-pie is valid as</div><div class='del'>-	  LDFLAGS.  [ruby-core:41438] [Bug#5697]</div><div class='del'>-</div><div class='del'>-	* configure.in: use $linker_flag for LDFLAGS option which is not</div><div class='del'>-	  limited to particular platforms.</div><div class='del'>-</div><div class='del'>-Thu Dec  1 23:21:58 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (thread_timer): call prctl(PR_SET_NAME) only if</div><div class='del'>-	  PR_SET_NAME is available.</div><div class='del'>-</div><div class='del'>-Thu Dec  1 22:31:16 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (linux_get_maxfd): change local variable name.</div><div class='del'>-</div><div class='del'>-Thu Dec  1 16:59:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: add arguments for macro calls.</div><div class='del'>-	  [ruby-core:41370] [Bug#5681]</div><div class='del'>-</div><div class='del'>-Thu Dec  1 16:20:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#try_func): fix broken patch at r33834.</div><div class='del'>-</div><div class='del'>-Thu Dec  1 14:43:17 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h (Real): suppress false warning from</div><div class='del'>-	  clang.  [ruby-core:41418] [Bug#5693]</div><div class='del'>-</div><div class='del'>-Thu Dec  1 10:31:55 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LDFLAGS): -fstack-protector is always needed to</div><div class='del'>-	  link static library created with it.  [ruby-core:41387]</div><div class='del'>-	  [Bug#5686]</div><div class='del'>-</div><div class='del'>-Thu Dec  1 07:03:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add sys/prctl.h test.</div><div class='del'>-	* thread_pthread.c (thread_timer): call prctl(PR_SET_NAME) to change</div><div class='del'>-	  thread name. It may help to debug.</div><div class='del'>-</div><div class='del'>-Wed Nov 30 23:35:45 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path2class): don't raise NameError when the middle</div><div class='del'>-	  constant of the path is not defined but defined on toplevel.</div><div class='del'>-	  [ruby-core:41410] [Bug #5691]</div><div class='del'>-</div><div class='del'>-Wed Nov 30 20:02:02 2011  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: Simplified rb_econv_binmode, avoided a warning on cygwin.</div><div class='del'>-</div><div class='del'>-Wed Nov 30 08:57:07 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb:  Use MakeMakefile's rm_f to avoid conflict with Rake or</div><div class='del'>-	  FileUtils.</div><div class='del'>-	* test/ruby/test_module.rb:  Hide MakeMakefile's inclusion in Object</div><div class='del'>-</div><div class='del'>-Wed Nov 30 09:12:43 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/encoding.rb (RDoc::Encoding.read_file): fixup newline chars</div><div class='del'>-	  on Windows.</div><div class='del'>-	  see https://github.com/rdoc/rdoc/issues/87</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_markup_pre_process.rb</div><div class='del'>-	  (TestRDocMarkupPreProcess#test_include_file,</div><div class='del'>-	  TestRDocMarkupPreProcess#test_include_file_encoding_incompatible):</div><div class='del'>-	  follow above change.</div><div class='del'>-</div><div class='del'>-Wed Nov 30 09:09:37 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): parse method can take an option file</div><div class='del'>-	  name for use in exception messages.</div><div class='del'>-	* test/psych/test_parser.rb: corresponding tests.</div><div class='del'>-</div><div class='del'>-Tue Nov 29 09:07:59 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb:  Fix indentations of constants at end of module.</div><div class='del'>-	  Document some constants.</div><div class='del'>-</div><div class='del'>-Tue Nov 29 09:58:23 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_write_error2): suppress unused variable warning.</div><div class='del'>-</div><div class='del'>-Tue Nov 29 07:45:26 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb:  Wrap comments to 78 columns and clean up formatting.</div><div class='del'>-</div><div class='del'>-Tue Nov 29 05:54:18 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb:  Wrap mkmf.rb in module MakeMakefile to clean up Object</div><div class='del'>-	  documentation.  [Ruby 1.9 - Feature #5658]</div><div class='del'>-	* ext/extmk.rb:  Use MakeMakefile::CONFIG instead of Object::CONFIG</div><div class='del'>-	* test/mkmf/base.rb:  ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 29 00:08:57 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (INSTRUBY_ARGS): added --mantype to apply mdoc2man.rb</div><div class='del'>-	  to man pages.  Fixes #5598.</div><div class='del'>-	  (do-install-nodoc, do-install-local, do-install-man,</div><div class='del'>-	  dont-install-nodoc, dont-install-local, dont-install-man):</div><div class='del'>-	  No longer needs --mantype.</div><div class='del'>-</div><div class='del'>-	  Reported by Rainer Orth &lt;ro AT cebitec.uni-bielefeld.de&gt;,</div><div class='del'>-	  patch by George Koehler &lt;xkernigh AT netscape.net&gt;.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 22:26:31 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_directory_task.rb</div><div class='del'>-	  (TestRakeDirectoryTask#test_directory_win32): shouldn't create any</div><div class='del'>-	  file/directory on root directory.  create on @tempdir (= Dir.pwd).</div><div class='del'>-	  see https://github.com/jimweirich/rake/issues/91</div><div class='del'>-</div><div class='del'>-Mon Nov 28 12:57:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_write_error2): fwrite() returns ssize_t.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 12:47:19 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (nodetype, nodeline): static.  these functions are for</div><div class='del'>-	  debugging, and not intend to be public.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 12:37:54 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (initial_params): static.  it seems to be forgotten at r33501.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 12:32:24 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/win32.c (GetCurrentThreadHandle): remove</div><div class='del'>-	  unused old API.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 12:29:20 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports#initialize): remove old symbol name.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 12:15:28 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports#read_substitution): need to read</div><div class='del'>-	  from subst.h too.  [Bug #5675]</div><div class='del'>-</div><div class='del'>-Mon Nov 28 11:46:35 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flush): release GVL during fsync() on Windows.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 11:00:25 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/subst.h: typo of r33876.</div><div class='del'>-</div><div class='del'>-Mon Nov 28 10:36:00 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/subst.h: moved Windows specific substitutions from</div><div class='del'>-	  win32.h.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: include ruby/subst.h.  [Bug #5675]</div><div class='del'>-</div><div class='del'>-Mon Nov 28 10:20:58 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{Makeilfe.sub,win32.c} (FILE_COUNT, FILE_READPTR): move the</div><div class='del'>-	  definitions from config.h to win32.c.  I dared to have left such</div><div class='del'>-	  macros, for other future compiler support.</div><div class='del'>-	  [ruby-core:41313] [Bug #5674]</div><div class='del'>-</div><div class='del'>-Mon Nov 28 09:28:30 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_uchmod): typo.  [Bug#5671] [ruby-dev:44898]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile#test_chmod_m17n): test of above bug.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 21:25:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: added -fno-strict-overflow. it suppress annoying</div><div class='del'>-	  -Wstrict-overflow warning.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 20:58:02 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_write_error2): get rid of warning on linux. fwrite</div><div class='del'>-	  of glibc is tagged __attribute__ ((__warn_unused_result__))</div><div class='del'>-	  if _FORTIFY_SOURCE != 0.</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 19:09:02 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (stack_protector): disable on mingw.  [Bug#5676]</div><div class='del'>-</div><div class='del'>-	* Makefile.in (DLDFLAGS): also needs -fstack-protector.</div><div class='del'>-	  [Bug#5676]</div><div class='del'>-</div><div class='del'>-Sun Nov 27 14:13:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -fstack-protector into XLDFLAGS as well as</div><div class='del'>-	  XCFLAGS if stack-protector is used.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 13:09:25 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: workaround to avoid MacOS X build error.</div><div class='del'>-	  Maybe autoconf 2.61 is slightly buggy. [ruby-core:41316]</div><div class='del'>-</div><div class='del'>-Sun Nov 27 04:57:11 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--no-undefined): r33840 breaks FreeBSD and DragonFly</div><div class='del'>-	  with gcc 4.4 or later. Their environ is in /usr/libexec/ld-elf.so.1,</div><div class='del'>-	  so it will be false negative.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 04:55:45 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP::SSL_IVNAMES): rerefix 33701.</div><div class='del'>-	  SSL_ATTRIBUTES stores names for set_params, they are symbol.</div><div class='del'>-	  SSL_IVNAMES stores instance variable names.</div><div class='del'>-</div><div class='del'>-Sun Nov 27 00:16:07 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): use 0666 for permission argument for open.</div><div class='del'>-	  [ruby-core:40865]</div><div class='del'>-</div><div class='del'>-Sat Nov 26 23:01:38 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: remove side effect of generic engine</div><div class='del'>-	  load by explicitly loading software-based "openssl" engine for</div><div class='del'>-	  all tests.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 20:41:48 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.get_response): enable use_ssl</div><div class='del'>-	  if given URI object is https.</div><div class='del'>-	  patched by Mark Ferlatte [ruby-core:40665] [Bug #5545]</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.post_form): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 20:01:18 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES): refix 33701.</div><div class='del'>-	  store instance variable symbol names.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 15:40:25 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (script): should be ./configure</div><div class='del'>-</div><div class='del'>-Sat Nov 26 15:39:18 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (before_script): wrong name, sorry.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 15:31:34 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (before-script): autoconf required.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 15:24:05 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: Travis enable.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 10:47:50 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: remove checks for available functions.</div><div class='del'>-	* ext/openssl/missing.h: ditto.</div><div class='del'>-	  Thanks, Tim Mooney for reporting this!</div><div class='del'>-	  [Bug #5432] [ruby-core:40088]</div><div class='del'>-</div><div class='del'>-Sat Nov 26 10:22:28 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: add comment on where to find implementation</div><div class='del'>-	  of OpenSSL::SSL::SSLSocket#session.</div><div class='del'>-</div><div class='del'>-Sat Nov 26 05:00:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--no-undefined): RUBY_TRY_CFLAGS does nothing for</div><div class='del'>-	  linker flags.  use RUBY_TRY_LDFLAGS.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 11:37:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ioctl_narg_len, linux_iocparm_len): reinstantiate linux</div><div class='del'>-	  specific narg length calculation.</div><div class='del'>-	* test/ruby/test_io.rb (test_ioctl_linux2): add new test for old and</div><div class='del'>-	  unstructured ioctl.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 10:39:14 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (EXTLDFLAGS): export it.</div><div class='del'>-	* configure.in: add --no-undefined if --enable-shared is specified.</div><div class='del'>-	  Gentoo enabled this option long time. Also, export EXTLDFALGS.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 08:48:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: turn on PIE if --enable-shared is not specified.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 08:05:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -fstack-protector. It help to protect us from</div><div class='del'>-	  stack smashing attack.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 08:03:28 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -D_FORTIFY_SOURCE=2. It provide some compile</div><div class='del'>-	  time and runtime check for security.</div><div class='del'>-</div><div class='del'>-Fri Nov 25 08:00:23 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: get rid of warnings of mkmf.rb if -Wmissing-declarations</div><div class='del'>-	  and/or -Wold-style-definition warnings if specified.</div><div class='del'>-	  Patch by Nikolai Weibull. Thank you! [Bug #5459] [ruby-core:40200]</div><div class='del'>-</div><div class='del'>-Fri Nov 25 07:46:09 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -Wall always.</div><div class='del'>-</div><div class='del'>-Thu Nov 24 20:02:40 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: use IO#reopen to restore stderr.</div><div class='del'>-</div><div class='del'>-Thu Nov 24 19:59:56 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): re-initialize buffering mode for stdout and</div><div class='del'>-	  stderr.</div><div class='del'>-</div><div class='del'>-Thu Nov 24 11:12:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fsync,rb_io_fdatasync): release GVL during fsync().</div><div class='del'>-	  fsync() and fdatasync() may take a long time on slow disks and/or</div><div class='del'>-	  if there is much dirty data.</div><div class='del'>-	  Patch by Eric Wong. [Feature #5665] [ruby-core:41247]</div><div class='del'>-</div><div class='del'>-Thu Nov 24 10:05:02 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: Suppress output from 'openssl'</div><div class='del'>-	  engine's RC4 cipher.</div><div class='del'>-	  [Bug #5633] [ruby-core:41026]</div><div class='del'>-</div><div class='del'>-Thu Nov 24 08:05:02 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c: remove redundant colon from error</div><div class='del'>-	  message.</div><div class='del'>-	* ext/openssl/ossl_ssl.c: ditto.</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa: ditto.</div><div class='del'>-	  patched by Eric Hodel [Bug #5604] [ruby-core:40896]</div><div class='del'>-</div><div class='del'>-Wed Nov 23 20:03:43 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ioctl_narg_len): don't use _IOC_SIZE macro on Linux.</div><div class='del'>-	  On Linux some constants for ioctl(2) doesn't include the size of</div><div class='del'>-	  its return value and 16bit value; for example FIONREAD 0x541B.</div><div class='del'>-	  Moreover the manual, ioctl_list(2),  says "Note  that  the  size</div><div class='del'>-	  bits  are  very unreliable: in lots of cases they are wrong,</div><div class='del'>-	  either because of buggy macros using sizeof(sizeof(struct)),</div><div class='del'>-	  or because of legacy values."</div><div class='del'>-	  So we shouldn't use it.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 18:07:32 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (_pioinfo): need to declare _pioinfo() before using</div><div class='del'>-	  _osfhnd and other macros which uses _pioinfo() internally.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 17:49:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (_pioinfo): make an inline function.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 11:26:08 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-Tue Nov 22 11:33:58 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (dupfd): argument of _osfhnd and so on should not</div><div class='del'>-	  have side effect.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 11:26:08 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divide): refix of r33536. Don't change behavior of Bignum#/.</div><div class='del'>-	  [ruby-core:40429] [Bug #5490]</div><div class='del'>-</div><div class='del'>-Tue Nov 22 10:46:57 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): improve floating point calculations.</div><div class='del'>-	  [ruby-core:35753] [Bug #4576]</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): correct the error of floating point</div><div class='del'>-	  numbers on the excluding case.</div><div class='del'>-	  patched by Masahiro Tanaka [ruby-core:39608]</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_float_step): use the end value when the current</div><div class='del'>-	  value is greater than or equal to the end value.</div><div class='del'>-	  patched by Akira Tanaka [ruby-core:39612]</div><div class='del'>-</div><div class='del'>-Tue Nov 22 06:59:21 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_fcntl_dupfd): there is no known platform</div><div class='del'>-	  which don't have F_DUPFD.  [ruby-dev:44874]</div><div class='del'>-</div><div class='del'>-Tue Nov 22 04:46:22 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: remove autoload from psych</div><div class='del'>-	* ext/psych/lib/psych/json.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 22 00:44:59 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_fcntl_dupfd): the argument of F_DUPFD is</div><div class='del'>-	  minimum file descriptor.</div><div class='del'>-</div><div class='del'>-Tue Nov 22 00:25:17 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (linux_get_maxfd): get rid of a warning.</div><div class='del'>-</div><div class='del'>-Mon Nov 21 23:39:14 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (linux_get_maxfd): new function to find maximum fd on Linux.</div><div class='del'>-	  (rb_close_before_exec): use linux_get_maxfd.</div><div class='del'>-</div><div class='del'>-Mon Nov 21 06:16:24 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_switch): ignore fiber context switch</div><div class='del'>-	  because destination fiber is same as current fiber.</div><div class='del'>-	  With out this, it may segv on FreeBSD 9.</div><div class='del'>-	  patched by Koichi Sasada.</div><div class='del'>-</div><div class='del'>-Sun Nov 20 23:22:42 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile, extmake): regenerate makefiles</div><div class='del'>-	  if globbed source file list is changed.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): store ORIG_SRCS.</div><div class='del'>-</div><div class='del'>-Sun Nov 20 22:43:03 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (PROPERTY_NAME_MAX_SIZE): +1.</div><div class='del'>-	  reported by Ken Takata. [ruby-dev:44894][Bug #5652]</div><div class='del'>-</div><div class='del'>-Sun Nov 20 11:01:28 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (SortedSet.setup): remove old_init after initialize</div><div class='del'>-	  method is redefined.  The remove before redefinition makes the</div><div class='del'>-	  warning prevention fragile.  [ruby-dev:44892]</div><div class='del'>-</div><div class='del'>-Sun Nov 20 04:01:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (enc/unicode/name2ctype.h): remove duplicated</div><div class='del'>-	  ifdefs.</div><div class='del'>-</div><div class='del'>-Sat Nov 19 19:31:47 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (TIME_COPY_GMT): copy vtm.utc_offset and vtm.zone too.</div><div class='del'>-	  patch by Tomoyuki Chikanaga.</div><div class='del'>-	  [ruby-dev:44827] [Bug #5586]</div><div class='del'>-</div><div class='del'>-Sat Nov 19 16:36:57 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: remove temporally files in ensure clause.</div><div class='del'>-</div><div class='del'>-Sat Nov 19 08:18:41 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: remove temporally files.</div><div class='del'>-</div><div class='del'>-Fri Nov 18 17:18:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_raw, console_set_raw)</div><div class='del'>-	  (console_getch): optional parameters.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Fri Nov 18 16:12:11 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_cooked, console_set_cooked):</div><div class='del'>-	  new methods to reset cooked mode.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Fri Nov 18 13:20:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/unit/assertions.rb (MINI_DIR): quick dirty hack to get rid of</div><div class='del'>-	  warnings when using assert/assert_respond_to.</div><div class='del'>-</div><div class='del'>-Fri Nov 18 13:03:38 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_open): set O_NOINHERIT instead of O_CLOEXEC if it is</div><div class='del'>-	  available (for Windows).</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fcntl): on F_DUPFD, determine the inheritance of the</div><div class='del'>-	  new handle by O_NOINHERIT flag of original fd.</div><div class='del'>-</div><div class='del'>-Fri Nov 18 08:00:41 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 2.8.1 (r6750)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-	* configure.in: Improved gcc-llvm error message to help people migrate.</div><div class='del'>-</div><div class='del'>-Thu Nov 17 20:43:34 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: revert a part of the patch in [ruby-dev:41531].</div><div class='del'>-	  don't use db.h with other headers.  [ruby-dev:44884].</div><div class='del'>-</div><div class='del'>-Thu Nov 17 20:23:03 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_select[23].rb: use Process::RLIMIT_NOFILE only when</div><div class='del'>-	  it is defined.  if it is not defined, assume 64 as the max of fds.</div><div class='del'>-</div><div class='del'>-Thu Nov 17 10:36:46 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb (load_file): make sure opened yaml files are</div><div class='del'>-	  also closed. [ruby-core:41088]</div><div class='del'>-</div><div class='del'>-Wed Nov 16 18:13:52 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (LIBRUBY_A): check if generated linked library is</div><div class='del'>-	  valid for extconf.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 13:51:40 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ulong): need to calc in unsigned long, because</div><div class='del'>-	  the range of VALUE is larger than it on LLP64 platform, such as Win64.</div><div class='del'>-	  this change fixes the failures of test/-ext-/num2int.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 12:02:47 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb (TestWEBrickCGI#start_cgi_server): there are</div><div class='del'>-	  no guarantee of existence of RbConfig::CONFIG['LIBPATHENV'].</div><div class='del'>-	  it only exists in Unix-like environments.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_filehandler.rb</div><div class='del'>-	  (WEBrick::TestFileHandler#test_script_disclosure): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 11:34:20 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): wrong timing of setting ecflags.</div><div class='del'>-	  fixed the failure of TestArgf#test_textmode introduced at r33662.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 10:45:00 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/num2int/num2int.c: remove an unnecessary and wrong decl</div><div class='del'>-	  of rb_stdout.  it's declared in ruby.h correctly.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 10:26:41 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ull): add a cast to get rid of a VC++ warning.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 09:39:27 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/unit.rb (assert_raises): experimental fix to run</div><div class='del'>-	  correctly on chkbuild over 64bit linux. call exception_details only</div><div class='del'>-	  when the detail is really needed to avoid create needless inspect</div><div class='del'>-	  under ulimit-ed environment.</div><div class='del'>-</div><div class='del'>-Wed Nov 16 06:34:30 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_condvar_timed_wait): use</div><div class='del'>-	  assert_operator.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 21:56:25 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sleep.rb (test_sleep_5sec): 0.1sec tolerance is too</div><div class='del'>-	  small for busy environment.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 20:08:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, thread.c, ext/pty/pty.c, ext/fiddle/closure.c: use</div><div class='del'>-	  __linux__ macro for consistency.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 14:45:15 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h(NUM2LONG, NUM2INT, NUM2SHORT, NUM2LL,</div><div class='del'>-	  INT2NUM, UINT2NUM, LONG2NUM, ULONG2NUM, NUM2CHR): wrap by</div><div class='del'>-	  macros.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 13:38:14 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (FLUSH_REGISTER_WINDOWS): move sparc asm code</div><div class='del'>-	  to a separate file sparc.c for preventing inlining optimization.</div><div class='del'>-	  Patched by Jurij Smakov. [Bug #5244] [ruby-core:40685]</div><div class='del'>-	* sparc.c (rb_sparc_flush_register_windows): ditto.</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 13:11:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: get rid of gcc specific rb_long2int(),</div><div class='del'>-	  NUM2LONG(), NUM2INT(), NUM2SHORT(), NUM2LL(), INT2NUM(),</div><div class='del'>-	  UINT2NUM(), LONG2NUM(), ULONG2NUM() and NUM2CHR()</div><div class='del'>-	  implementation. Because 1) They don't make any better code</div><div class='del'>-	  at all. 2) Inline function have a better debugger supoort.</div><div class='del'>-</div><div class='del'>-Tue Nov 15 09:58:25 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_fcntl_dupfd): fix OpenBSD test</div><div class='del'>-	  failure. [ruby-dev:44872]</div><div class='del'>-</div><div class='del'>-Tue Nov 15 09:50:21 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (print_indent_tree): fix double printing of ENCLOSE_OPTION</div><div class='del'>-	  children bug. patched by Suraj Kurapati. [ruby-core:40964]</div><div class='del'>-</div><div class='del'>-Tue Nov 15 01:53:48 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_fcntl_dupfd): fix test error on</div><div class='del'>-	  SnowLeopard. Pointed out by CHIKANAGA Tomoyuki. [ruby-dev:44866]</div><div class='del'>-</div><div class='del'>-Mon Nov 14 22:06:02 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (ossl_pkey_new_from_file): set close-on-exec</div><div class='del'>-	  flag.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509cert.c (rb_fd_fix_cloexec): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 14 14:54:17 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ull): fix 32bit platform breakage. we must</div><div class='del'>-	  not assume sizeof(VALUE) == sizeof(LONG_LONG).</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb (class TestNum2int):</div><div class='del'>-	  fix false assumption on 32bit platform.</div><div class='del'>-</div><div class='del'>-Mon Nov 14 14:52:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix2ushort): fix typo. use num rb_num2ushort()</div><div class='del'>-	  instead of num2uint().</div><div class='del'>-</div><div class='del'>-Sun Nov 13 10:31:03 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add #ifdef comment.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 10:28:18 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add NUM2SHORT(), NUM2USHORT() macros.</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: add testcases for NUM2SHORT().</div><div class='del'>-	* ext/-test-/num2int/num2int.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 10:23:48 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ull): fix off-by-twice bug of NUM2ULL.</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb (class TestNum2int):</div><div class='del'>-	  fix a testcase too.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 10:22:44 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb (class TestNum2int):</div><div class='del'>-	  add FIXNUM tests.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 09:57:29 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint): fix off-by-one bug of NUM2UINT.</div><div class='del'>-	* bignum.c (rb_big2ulong): fix off-by-one bug of NUM2ULONG.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: add a testcase for NUM2INT()</div><div class='del'>-	  NUM2UINT(), NUM2LONG(), NUM2ULONG(), NUM2LL and NUM2ULL().</div><div class='del'>-	* ext/-test-/num2int/depend: ditto.</div><div class='del'>-	* ext/-test-/num2int/extconf.rb: ditto.</div><div class='del'>-	* ext/-test-/num2int/num2int.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 23:47:29 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: use convertible_int.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 23:45:57 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (checking_for): should not modify the result.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_struct_member): accept compiler options.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (convertible_int): add restricted support of struct</div><div class='del'>-	  member, and TYPEOF_ macro.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 23:21:24 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_reorganize): set close-on-exec flag after</div><div class='del'>-	  gdbm_reorganize().  gdbm_reorganize() opens a new database internally.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 19:57:18 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: rollback for each headers for each libraries.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 16:24:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: treat libc as a choice for a library which</div><div class='del'>-	  provide ndbm API.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 15:40:43 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: duplicate $libs and $defs when save them.</div><div class='del'>-</div><div class='del'>-Sun Nov 13 12:43:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: rollback $libs and $defs when db detection is</div><div class='del'>-	  failed.  It fixes -lgdbm -lqdbm when the system has qdbm and gdbm</div><div class='del'>-	  without gdbm_compat.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 21:14:51 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb (class TestWEBrickCGI): respect</div><div class='del'>-	  RbConfig::CONFIG["LIBPATHENV"]. [Bug #5135] [ruby-core:38653]</div><div class='del'>-	* test/webrick/test_filehandler.rb (class WEBrick): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 20:57:29 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_fcntl_dupfd): skip if Fcntl::DUPFD</div><div class='del'>-	  is not defined. Pointed out by CHIKANAGA Tomoyuki. Thanks.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 17:26:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (do_ioctl, ioctl_narg_len, setup_narg, rb_ioctl): use</div><div class='del'>-	  ioctl_req_t.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 17:01:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb (headers.db_check): reduce duplicated code.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 15:59:42 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: dbm_clearerr should be available in all ndbm</div><div class='del'>-	  implementation.  If it is not available, it is caused by</div><div class='del'>-	  header/library mismatch such that Berkeley DB header &amp; gdbm library.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_store): use dbm_clearerr() unconditionally.</div><div class='del'>-	  gdbm 1.9 provides it as a real function instead of a empty macro.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 13:35:33 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: don't suppress SIGINT.</div><div class='del'>-	  [Feature #5612] [ruby-dev:44856]</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:20:36 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fcntl_narg_len): introduce narg calculation for fcntl instead</div><div class='del'>-	  of hard coded 256.</div><div class='del'>-	* io.c (setup_narg): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:19:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_fcntl_dupfd): add another fcntl test.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:18:17 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_fcntl_lock_freebsd): add a testcase</div><div class='del'>-	  of fcntl lock for freebsd.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:16:32 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ioctl_narg_len): Linux doesn't have IOCPARM_LEN macro, but</div><div class='del'>-	  has _IOC_SIZE. support it.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:13:18 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_ioctl): don't expose our sanity check value to ruby script.</div><div class='del'>-	  It may change string value meaning if the value is string.</div><div class='del'>-	  (e.g. MacOS X has F_GETPATH ioctl)</div><div class='del'>-	* io.c (rb_fcntl): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:06:02 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (ioctl_req_t): Type of req argument of ioctl() depend on platform.</div><div class='del'>-	  Moreover almost all linux ioctl can't be represented by 32bit integer</div><div class='del'>-	  (i.e. MSB is 1). We need wrap ioctl argument type.</div><div class='del'>-	  [Bug #5429] [ruby-dev:44589]</div><div class='del'>-	* io.c (struct ioctl_arg): ditto.</div><div class='del'>-	* io.c (rb_ioctl): ditto.</div><div class='del'>-	* test/ruby/test_io.rb (test_ioctl_linux): add a testcase for ioctl</div><div class='del'>-</div><div class='del'>-Sat Nov 12 11:00:42 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct io_cntl_arg): remove io_p member.</div><div class='del'>-	* io.c (nogvl_fcntl, do_fcntl, rb_fcntl): separated from ioctl functions.</div><div class='del'>-	* io.c (nogvl_io_cntl): remove fcntl depended logic.</div><div class='del'>-	* io.c (io_cntl): ditto.</div><div class='del'>-	* io.c (rb_io_ctl): ditto.</div><div class='del'>-	* io.c (rb_io_ioctl): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 10:59:49 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (setup_narg): fix off by one bug.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 10:56:43 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (+setup_narg): factor out length calculation logic.</div><div class='del'>-	* io.c (rb_io_ctl): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 12 10:52:17 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (+ioctl_narg_len) new helper function.</div><div class='del'>-	* io.c (rb_io_ctl): don't use ioctl specific length check</div><div class='del'>-	  if caller is fcntl.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 23:00:46 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: db_prefix is not required now.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 21:13:30 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_initialize): use GDBM_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 21:00:05 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: fix dbm_pagfno and dbm_dirfno detection with</div><div class='del'>-	  Berkeley DB.  Macro definitions needs arguments to detect correctly.</div><div class='del'>-	  SIZEOF_DSIZE needs -DDB_DBM_HSEARCH because db.h defines datum type</div><div class='del'>-	  only if DB_DBM_HSEARCH is defined.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 18:41:57 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_seteuid): separate an internal wrapper function</div><div class='del'>-	  from the method implementation.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 17:21:15 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_library, find_library, have_func): allow</div><div class='del'>-	  arguments of function to be checked.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 17:09:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (HAVE_BACKTRACE): fallback to 0.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): show "Other runtime information"</div><div class='del'>-	  header only when available.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): get rid of modifying the content of</div><div class='del'>-	  VM directly.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): check if vm is non-null.</div><div class='del'>-	  Pointed out by Ikegami Daisuke &lt;ikegami.da@gmail.com&gt;.</div><div class='del'>-	  Thank you.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 12:36:37 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): Remove fflush(stdin). it's no effect.</div><div class='del'>-	  Pointed out by Ikegami Daisuke &lt;ikegami.da@gmail.com&gt;.</div><div class='del'>-	  Thank you.</div><div class='del'>-</div><div class='del'>-Fri Nov 11 07:33:30 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES):  Use symbol keys instead</div><div class='del'>-	  of string keys to avoid duplicating parameters in</div><div class='del'>-	  OpenSSL::SSL:SSLContext#set_params.</div><div class='del'>-</div><div class='del'>-Thu Nov 10 15:02:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_library, have_func, have_var, have_header):</div><div class='del'>-	  add compiler option parameter.</div><div class='del'>-</div><div class='del'>-Thu Nov 10 07:45:16 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (class OpenSSL::SSL::SSLContext):</div><div class='del'>-	  Document #set_params.</div><div class='del'>-</div><div class='del'>-Wed Nov  9 11:36:53 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (gvl_yield): don't prevent concurrent sched_yield().</div><div class='del'>-	  [Bug #5130] [ruby-core:38647]</div><div class='del'>-</div><div class='del'>-Wed Nov  9 23:20:22 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_update_max_fd): fstat(2) can fail with other than</div><div class='del'>-	  EBADF.  [ruby-dev:44837] [Bug #5593].  Cf.</div><div class='del'>-	  http://pubs.opengroup.org/onlinepubs/9699919799/functions/fstat.html</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sysopen): max fd is updated in rb_sysopen_internal()</div><div class='del'>-	  already.</div><div class='del'>-</div><div class='del'>-Wed Nov  9 22:13:38 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile#test_utime_with_minus_time_segv):</div><div class='del'>-	  fixed previous commit.</div><div class='del'>-</div><div class='del'>-Wed Nov  9 19:53:45 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile#test_utime_with_minus_time_segv):</div><div class='del'>-	  add test for r33685.</div><div class='del'>-</div><div class='del'>-Wed Nov  9 19:00:44 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: add tests for r33684 (Fiber#resume).</div><div class='del'>-</div><div class='del'>-Wed Nov  9 16:40:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (unixtime_to_filetime): should check the return value</div><div class='del'>-	  of localtime().  reported by snowjail at gmail.com.</div><div class='del'>-	  [ruby-dev:44838] [Bug #5596]</div><div class='del'>-</div><div class='del'>-Thu Nov  9 13:17:25 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_m_transfer, rb_fiber_resume): prohibit using</div><div class='del'>-	  "resume" after "transfer" method are used.  You should not mix</div><div class='del'>-	  "resume" fiber and "transfer" fiber.</div><div class='del'>-	  [Bug #5526]</div><div class='del'>-</div><div class='del'>-	* NEWS: add information about this change.</div><div class='del'>-</div><div class='del'>-Wed Nov  9 11:40:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/Doxyfile.tmpl (INCLUDE_PATH): add srcdir and include.</div><div class='del'>-	  [ruby-core:40843] [Bug #5597]</div><div class='del'>-</div><div class='del'>-Wed Nov  9 11:02:54 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): fix cast, tv_sec is time_t.</div><div class='del'>-</div><div class='del'>-Wed Nov  9 10:32:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: should not use test -e for portability.</div><div class='del'>-	  [ruby-core:40841] [Bug #5594]</div><div class='del'>-</div><div class='del'>-Wed Nov  9 04:52:16 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/tree_builder.rb: dump complex numbers,</div><div class='del'>-	  rationals, etc with reference ids.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: loading complex numbers,</div><div class='del'>-	  rationals, etc with reference ids.</div><div class='del'>-	* test/psych/test_object_references.rb: corresponding tests</div><div class='del'>-</div><div class='del'>-Tue Nov  8 23:34:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_fetch, fdbm_key, fdbm_delete, fdbm_store)</div><div class='del'>-	  (fdbm_has_key, fdbm_has_value): get rid of overflow.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (rb_gdbm_fetch2, rb_gdbm_nextkey)</div><div class='del'>-	  (rb_gdbm_delete, fgdbm_store, fgdbm_has_key): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_delete_if): hide intermediate objects.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_delete_if): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: check size of datum.dsize to get rid of</div><div class='del'>-	  overflow.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 23:30:21 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (PATH_MAX): define if not defined. [ruby-core:40840]</div><div class='del'>-</div><div class='del'>-Tue Nov  8 23:26:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (rb_thread_critical): fix type.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (eventloop_sleep, lib_eventloop_core): int is</div><div class='del'>-	  enough for micro seconds.  may need to check overflow in the</div><div class='del'>-	  setter though.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (RSTRING_LENINT): check overflow if necessary.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (RbTk_ALLOC_N): wrapper for ckalloc() which</div><div class='del'>-	  takes an int.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_ruby_cmd_receiver_get, tcltklib_compile_info):</div><div class='del'>-	  get rid overflow.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (tcltklib_compile_info): constified.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 20:50:45 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb: split tests for read only database.</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 18:59:07 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (MasterDevice): define only when used.</div><div class='del'>-	  (SlaveDevice): ditto.</div><div class='del'>-	  (deviceNo): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 17:59:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_long2int): define as a macro always, so</div><div class='del'>-	  that cpp conditionals can tell if it is provided.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 17:30:50 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (cpp_command): remove multiple -arch flags since cpp</div><div class='del'>-	  cannot work.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 14:50:55 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): call rb_w32_write_console() only if FMODE_TTY is</div><div class='del'>-	  set.  this is the one of the reason of IO writing slowness of Windows</div><div class='del'>-	  in 1.9.3 or later.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 11:01:04 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): FreeBSD 8 supported O_CLOEXEC flag</div><div class='del'>-	  for posix_openpt, but FreeBSD 9's posix_openpt doesn't support</div><div class='del'>-	  O_CLOEXEC and fails if specified.</div><div class='del'>-</div><div class='del'>-Tue Nov  8 02:36:45 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_READ_MASK,</div><div class='del'>-	  ECONV_NEWLINE_DECORATOR_WRITE_MASK): new macro.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc, pipe_open, prep_stdio, argf_next_argv):</div><div class='del'>-	  set TEXTMODE_NEWLINE_DECORATOR_ON_WRITE for textmode on creating IO</div><div class='del'>-	  if the flag is available.</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): drop decorators for reading.</div><div class='del'>-</div><div class='del'>-	* io.c (make_readconv): drop decorators for writing.</div><div class='del'>-</div><div class='del'>-	* io.c (do_writeconv): existing writeconv is not the condition to raise</div><div class='del'>-	  ArgumentError.  should check textmode or not.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb</div><div class='del'>-	  (TestIO_M17N#test_{cr,lf,crlf}_decorator_on_stdout): test above</div><div class='del'>-	  changes.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 22:03:47 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (fgdbm_initialize): set close-on-exec flag.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 20:31:52 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: make sure strings that look</div><div class='del'>-	  like base 60 numbers are serialized as quoted strings.</div><div class='del'>-	* test/psych/test_string.rb: test for change.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 20:26:37 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamlstore.rb: make test case inherit from MiniTest,</div><div class='del'>-	  load psych/helper so that psych is loaded.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 20:18:29 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamldbm.rb: Test case should inherit from MiniTest,</div><div class='del'>-	  load psych/helper so that psych and friends are loaded.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 20:15:44 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: check dbm_pagfno() and dbm_dirfno().</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: use above to set close-on-exec flag.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 20:05:16 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fflush): remove fsync().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flush, rb_io_rewind): fsync() here.</div><div class='del'>-</div><div class='del'>-	these changes reduces fsync() calls to improve performance.</div><div class='del'>-	first reported at [ruby-list:48515] by ak7 at mail.goo.ne.jp .</div><div class='del'>-	[Bug #5585]</div><div class='del'>-</div><div class='del'>-Mon Nov  7 19:43:10 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_close_before_exec): use F_MAXFD if available.</div><div class='del'>-	  F_MAXFD is available on NetBSD since NetBSD 2.0.</div><div class='del'>-</div><div class='del'>-Mon Nov  7 19:25:16 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb</div><div class='del'>-	  (TestIO_M17N#test_default_stdout_stderr_mode): new test for</div><div class='del'>-	  r33627-33629.  see [backport #5565]</div><div class='del'>-</div><div class='del'>-Mon Nov  7 01:14:22 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: add help for 'pp' and 'r[estart]'. patch</div><div class='del'>-	  from Sho Hashimoto. [Bug #5093] [ruby-dev:44222]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 14:49:58 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_recvmsg): declared.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (rsock_recvmsg): extracted from</div><div class='del'>-	  nogvl_recvmsg_func.</div><div class='del'>-	  (nogvl_recvmsg_func): use rsock_recvmsg.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (recvmsg_blocking): use rsock_recvmsg.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 03:22:36 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: add test for engine cipher. RC4 is used</div><div class='del'>-	  because AES is not supported by the "openssl" engine currently.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 00:11:52 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (Test::Unit::Options#non_options): options[:ruby]</div><div class='del'>-	  should be an array.  This fixes</div><div class='del'>-	  "./ruby test/runner.rb test/testunit/test_parallel.rb"</div><div class='del'>-	  [ruby-dev:44782]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 20:30:30 2011  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: Some fixes and tweaks to English explanations</div><div class='del'>-</div><div class='del'>-Sat Nov  5 19:11:50 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd): don't clear try_dupfd_cloexec if</div><div class='del'>-	  fcntl(F_DUPFD) failed as fcntl(F_DUPFD_CLOEXEC).</div><div class='del'>-</div><div class='del'>-Sat Nov  5 18:05:12 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair0): refactored.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 17:55:52 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_socket0): don't clear try_sock_cloexec if</div><div class='del'>-	  SOCK_CLOEXEC is not a reason for EINVAL.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 16:27:52 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb,</div><div class='del'>-	  ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb,</div><div class='del'>-	  lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb,</div><div class='del'>-	  lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb,</div><div class='del'>-	  lib/rinda/tuplespace.rb, lib/rss/maker/base.rb,</div><div class='del'>-	  lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb,</div><div class='del'>-	  lib/shell/command-processor.rb, lib/shell/process-controller.rb,</div><div class='del'>-	  lib/shell/system-command.rb, lib/uri/common.rb: remove unused block</div><div class='del'>-	  arguments to avoid creating Proc objects.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 15:45:04 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_socket0): extract single socket() call with</div><div class='del'>-	  CLOEXEC handling from rsock_socket.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 13:49:40 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb (Pathname#find): return an enumerator if</div><div class='del'>-	  no block is given.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:44797] [Feature #5572]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 11:18:12 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair0): don't clear</div><div class='del'>-	  try_sock_cloexec if SOCK_CLOEXEC is not a reason for EINVAL.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 14:08:19 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (rsa_generate): [SECURITY] Set RSA</div><div class='del'>-	  exponent value correctly.  Awful bug.  This bug caused exponent of</div><div class='del'>-	  generated key to be always '1'.  By default, and regardless of e</div><div class='del'>-	  given as a parameter.</div><div class='del'>-</div><div class='del'>-	  !!! Keys generated by this code (trunk after 2011-09-01) must be</div><div class='del'>-	  re-generated !!! (ruby_1_9_3 is safe)</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb: Add tests for default exponent and</div><div class='del'>-	  specifying exponent by a parameter.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 01:31:25 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: add first tests for builtin "openssl"</div><div class='del'>-	  engine.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 08:41:26 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb:</div><div class='del'>-	* ext/openssl/ossl_engine.c: add some missing OpenSSL engines.</div><div class='del'>-	  Thanks, Yui Naruse, for providing the patch!</div><div class='del'>-	  [Bug #5548] [ruby-core:40670]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 04:54:10 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: disable delayed expansion of enironment variable.</div><div class='del'>-	  [Bug #5517] [ruby-core:40531]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 03:45:22 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): fixed typo of previous commit.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 01:56:30 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (make_writeconv): unversal_newline converter is for reading.</div><div class='del'>-	  so, if the io is text mode and has ECONV_UNIVERSAL_NEWLINE_DECORATOR</div><div class='del'>-	  flag, use crlf_newline converter for writing.</div><div class='del'>-	  this change fixes the problem about the luck of CR up Kernel.p and</div><div class='del'>-	  Kernel.puts to stdout/stderr on Windows.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 01:04:48 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): like r18313, libedit's</div><div class='del'>-	  replace_history_entry may use offset instead of which.</div><div class='del'>-	  so introduce history_replace_offset_func and initialize it.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (hist_set): use history_replace_offset_func.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 00:53:35 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): fix wrong condition.</div><div class='del'>-</div><div class='del'>-Thu Nov  3 23:53:04 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_charmap): ignore calling nl_langinfo_codeset()</div><div class='del'>-	  on Windows except cygwin. [experimental]</div><div class='del'>-</div><div class='del'>-Thu Nov  3 22:45:09 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair0): extracted from</div><div class='del'>-	  rsock_socketpair to set close-on-exec flag for each socketpair()</div><div class='del'>-	  call.</div><div class='del'>-</div><div class='del'>-Thu Nov  3 22:12:41 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_socket): set close-on-exec flag when</div><div class='del'>-	  SOCK_CLOEXEC is not available.</div><div class='del'>-</div><div class='del'>-Thu Nov  3 08:36:00 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: call Engine::cleanup on exit.</div><div class='del'>-	  Patch provided by Yui Naruse, thanks!</div><div class='del'>-	  [Bug #5547] [ruby-core:40669]</div><div class='del'>-</div><div class='del'>-Wed Nov  2 21:36:00 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_rationalize): fix function.  [ruby-core:40667]</div><div class='del'>-	  [Bug #5546]</div><div class='del'>-</div><div class='del'>-Wed Nov  2 08:16:45 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb: fix fcntl call.</div><div class='del'>-</div><div class='del'>-	* lib/drb/unix.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  2 00:43:59 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamldbm.rb: avoid platform dependency.</div><div class='del'>-	  patch by Naohisa Goto. [ruby-dev:44763] [Bug #5535]</div><div class='del'>-	* test/syck/test_yamldbm.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  2 00:14:15 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: renamed methods duplicated with those</div><div class='del'>-	  of marshaltestlib.rb.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 22:08:27 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: reject llvm-gcc.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 21:39:00 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_pipe): remove workaround of r33587.</div><div class='del'>-	  The bug of NetBSD is fixed on Mon Oct 31 21:31:29 UTC 2011.</div><div class='del'>-	  http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45545</div><div class='del'>-</div><div class='del'>-Tue Nov  1 19:49:08 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): call rb_fd_fix_cloexec instead of</div><div class='del'>-	  rb_maygvl_fd_fix_cloexec.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 19:00:30 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): call rb_maygvl_fd_fix_cloexec after freopen().</div><div class='del'>-</div><div class='del'>-Tue Nov  1 17:17:26 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_expand_path): reset coderange after expanding path.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 14:55:29 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_io_cntl): rb_cloexec_fcntl_dupfd's 2nd argument is int.</div><div class='del'>-</div><div class='del'>-	* process.c (move_fds_to_avoid_crash): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 13:14:33 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): support 'll' prefix.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (__sfeof): rename to avoid the collision with NetBSD's</div><div class='del'>-	  one.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (__sferror): ditto.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (__sclearerr): ditto.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (__sfileno): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 12:36:16 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_maygvl_fd_fix_cloexec): change the visibility for</div><div class='del'>-	  ext/socket.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 12:00:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_maygvl_fd_fix_cloexec): renamed from fd_set_cloexec.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_maygvl_fd_fix_cloexec): declared.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (cloexec_accept): use rb_maygvl_fd_fix_cloexec.</div><div class='del'>-	  (rsock_s_accept_nonblock): use rb_update_max_fd.</div><div class='del'>-	  (rsock_s_accept): use rb_update_max_fd.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 08:24:40 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (cloexec_accept): new function to use accept4 if</div><div class='del'>-	  available.</div><div class='del'>-	  (rsock_s_accept_nonblock): use cloexec_accept.</div><div class='del'>-	  (accept_blocking): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check accept4.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 07:31:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (nogvl_recvmsg_func): use MSG_CMSG_CLOEXEC if</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (recvmsg_blocking): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 05:59:41 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair): use SOCK_CLOEXEC if</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Tue Nov  1 02:56:17 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): convert the encoding of load path if</div><div class='del'>-	  needed by platform.  calling open() was replaced by rb_cloexec_open()</div><div class='del'>-	  at r33549, but the function expected UTF-8 pathname on Windows.</div><div class='del'>-	  (open() expected "locale" pathname.)</div><div class='del'>-	  reported by taco via IRC.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): change the type of the 2nd parameter to pass its</div><div class='del'>-	  encoding to load_file_internal().</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options, rb_load_file): follow above change.</div><div class='del'>-	  NOTE: we should pass encoding information to rb_load_file().</div><div class='del'>-</div><div class='del'>-Mon Oct 31 23:49:38 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair): extracted from</div><div class='del'>-	  rsock_sock_s_socketpair.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 23:31:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_socket): use SOCK_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 21:47:44 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_pipe): NetBSD 6.0 will support pipe2(2),</div><div class='del'>-	  but its return value is -1 or larger than 0.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 22:04:54 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (fdbm_initialize): use O_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 21:47:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_fd_fix_cloexec): renamed from</div><div class='del'>-	  rb_fd_set_cloexec.</div><div class='del'>-</div><div class='del'>-	* io.c: follow the above renaming.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 21:02:43 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS): retry IO.select for premature wakeup.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 20:14:22 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fd_set_cloexec): clear CLOEXEC flag for standard file</div><div class='del'>-	  descriptors.</div><div class='del'>-	  (rb_cloexec_dup): use rb_cloexec_fcntl_dupfd.</div><div class='del'>-	  (rb_cloexec_fcntl_dupfd): use F_DUPFD_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 19:14:11 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/resolv/test_dns.rb: don't check maximum slept time.</div><div class='del'>-	  ruby doesn't guarantee the maximum time because it is not a</div><div class='del'>-	  realtime application.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 13:10:06 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (setfl): extract from fcntl().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (dupfd): new function to support F_DUPFD. based on a</div><div class='del'>-	  patch written by akr.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fcntl): use above functions.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (F_DUPFD): define. [experimental]</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (F_SETFL): change the value to correspond with</div><div class='del'>-	  other platforms.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 12:37:50 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): use O_CLOEXEC for posix_openpt if</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 12:05:24 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup2): check oldfd == newfd at first.</div><div class='del'>-	  pointed by KOSAKI Motohiro.  [ruby-dev:44713]</div><div class='del'>-</div><div class='del'>-Mon Oct 31 10:50:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd): this function needs F_DUPFD.</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd() only if the</div><div class='del'>-	  platform has F_DUPFD.</div><div class='del'>-</div><div class='del'>-Mon Oct 31 00:50:00 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check -fno-omit-frame-pointer acceptance and usage</div><div class='del'>-	  under MinGW. [ruby-core:39957] [Bug #5407]</div><div class='del'>-</div><div class='del'>-Mon Oct 31 00:16:11 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_cloexec_fcntl_dupfd): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_fcntl_dupfd): new function.</div><div class='del'>-	  (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd.</div><div class='del'>-</div><div class='del'>-	* process.c (move_fds_to_avoid_crash): use rb_cloexec_fcntl_dupfd.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 22:46:46 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check pipe2.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_pipe): use pipe2 if available.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 22:32:44 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (fill_standard_fds): use fstat() instead of fcntl(F_GETFD)</div><div class='del'>-	  for MinGW.  reported by Luis Lavena.  [ruby-core:40526] [Bug #5516]</div><div class='del'>-</div><div class='del'>-Sun Oct 30 21:12:47 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_cloexec_pipe): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_pipe): new function.</div><div class='del'>-	  (rb_pipe): use rb_cloexec_pipe.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): use</div><div class='del'>-	  rb_cloexec_pipe.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 20:06:07 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup): refine control flow.</div><div class='del'>-	  (rb_cloexec_dup2): ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 18:45:50 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (fill_standard_fds): new function to open closed standard</div><div class='del'>-	  file descriptors.</div><div class='del'>-	  (ruby_sysinit): call fill_standard_fds.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 10:50:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install_recursive, bin-comm): split mere</div><div class='del'>-	  string not path name.  [ruby-core:40462] [Bug #5492]</div><div class='del'>-</div><div class='del'>-Sun Oct 30 10:47:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup, rb_cloexec_dup2): CLOEXEC has been set if</div><div class='del'>-	  dup3 succeeded.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 09:58:48 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup): don't allocate standard file descriptors.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 08:29:51 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup2): don't set CLOEXEC for standard file</div><div class='del'>-	  descriptors.</div><div class='del'>-</div><div class='del'>-Sun Oct 30 07:47:10 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check dup3.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup2): use dup3 if available.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 22:06:37 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_cloexec_dup2): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup2): new function.</div><div class='del'>-	  (io_reopen): use rb_cloexec_dup2.</div><div class='del'>-</div><div class='del'>-Sat Oct 20 21:08:18 2011  Tajima Akio &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (CONFIG_H): have stdint.h if VC2010.</div><div class='del'>-	  [Bug #5243]</div><div class='del'>-</div><div class='del'>-Sat Oct 29 20:59:08 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup): use F_DUPFD_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 20:00:26 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_cloexec_dup): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_dup): new function.</div><div class='del'>-	  (ruby_dup): use rb_cloexec_dup.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_getpty): use rb_cloexec_dup.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 16:11:34 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (sdbm_prep): use O_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 14:26:56 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_cloexec_open): use O_CLOEXEC if available.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 12:57:15 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (ruby_setsid): use rb_cloexec_open.</div><div class='del'>-	  (rb_daemon): ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_truncate): ditto.</div><div class='del'>-	  (file_load_ok): ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): ditto.</div><div class='del'>-	  (get_device_once): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 10:40:19 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_cloexec_open): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (fd_set_cloexec): extracted from rb_fd_set_cloexec.</div><div class='del'>-	  (rb_cloexec_open): new function.</div><div class='del'>-	  (sysopen_func): use rb_cloexec_open.</div><div class='del'>-	  (rb_sysopen_internal): use rb_update_max_fd instead of</div><div class='del'>-	  rb_fd_set_cloexec.</div><div class='del'>-</div><div class='del'>-Sat Oct 29 09:05:07 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h: no Structured Exception Handling like macros.</div><div class='del'>-	  [ruby-core:40432] [Bug #5491]</div><div class='del'>-</div><div class='del'>-Fri Oct 28 22:05:34 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: RCS $Id$ removed.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 18:58:00 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_nextc): set encoding for the buffer of ripper.</div><div class='del'>-</div><div class='del'>-Fri Oct 28 06:06:08 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (sdbm_prep): set FD_CLOEXEC flags for file</div><div class='del'>-	  descriptors.</div><div class='del'>-	  (fd_set_cloexec): new function.</div><div class='del'>-</div><div class='del'>-Fri Oct 28 03:01:27 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): adding back useless hack.  For some</div><div class='del'>-	  reason, this fixes CFP errors on OS X 10.7.</div><div class='del'>-</div><div class='del'>-Fri Oct 28 00:09:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c (sdbm_prep): refactored for less nesting.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 18:28:18 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFINE_IF): revert r33534 partially to get</div><div class='del'>-	  rid of AS_ECHO which is not available in autoconf 2.61.</div><div class='del'>-	  [ruby-dev:44702]</div><div class='del'>-</div><div class='del'>-Thu Oct 27 16:10:46 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divide): raise ZeroDivisionError if divisor is</div><div class='del'>-	  zero, as well as Fixnum.  [ruby-core:40429] [Bug #5490]</div><div class='del'>-</div><div class='del'>-Thu Oct 27 14:56:22 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_FUNC_ATTRIBUTE): unset temporary variable.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_STACK_GROW_DIRECTION): substitute CPU name as</div><div class='del'>-	  shell variable name.  based on the patch by The Written Word Inc. at</div><div class='del'>-	  [ruby-core:40421].  [Bug #5488]</div><div class='del'>-</div><div class='del'>-Thu Oct 27 09:57:56 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (SIZE_MAX): define SIZE_MAX if not defined.</div><div class='del'>-	  patched by The Written Word Inc. [ruby-core:40422] [Bug #5489]</div><div class='del'>-</div><div class='del'>-Thu Oct 27 08:47:38 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c: remove unused variable.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 08:38:41 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: add -Wall flag by default when compiler is</div><div class='del'>-	  GCC.</div><div class='del'>-</div><div class='del'>-Wed Oct 26 15:24:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_join): honor input encodings than ASCII-8BIT.</div><div class='del'>-	  [ruby-core:40338] [Bug #5483]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 21:52:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: use "__sparc" instead of "sparc" and</div><div class='del'>-	  "__sparc__".</div><div class='del'>-</div><div class='del'>-	* dln.c: ditto.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:44694]</div><div class='del'>-</div><div class='del'>-Tue Oct 25 06:34:39 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref):  Use &lt;code&gt; around indexing examples to prevent</div><div class='del'>-	  hyperlinks.  [ruby-talk:389396]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 23:55:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: use "__sun" instead of "__sun__" to detect SunOS.</div><div class='del'>-</div><div class='del'>-	* math.c: ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto.</div><div class='del'>-</div><div class='del'>-	* atomic.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c: ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:44693]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 22:45:37 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: use "__sun" instead of "sun" to detect SunOS.</div><div class='del'>-</div><div class='del'>-	* dln.c: ditto.</div><div class='del'>-</div><div class='del'>-	* cont.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:44693]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 22:38:08 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): delay rb_fd_set_cloexec() until</div><div class='del'>-	  grantpt() on Solaris.  grantpt() doesn't work with CLOEXEC on</div><div class='del'>-	  Solaris 10.</div><div class='del'>-	  reported by Naohisa GOTO.  [ruby-dev:44688] [Bug #5475]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 08:18:14 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_fallback_body): check nil for EOF of read method.</div><div class='del'>-	  patch by Eric Wong.  [ruby-core:39134] [Bug #5237]</div><div class='del'>-</div><div class='del'>-Sun Oct 23 18:21:23 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANUAL_tcltklib.eng: fix typo.</div><div class='del'>-</div><div class='del'>-Sun Oct 23 18:03:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_infinity, rb_nan): aggregated member initializers</div><div class='del'>-	  need braces.</div><div class='del'>-</div><div class='del'>-Sun Oct 23 16:43:43 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c: ioctl(2) is declared in unistd.h on Solaris.</div><div class='del'>-</div><div class='del'>-Sun Oct 23 16:33:35 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANUAL_tcltklib.eng: fix typo. reported by Mimura-san.</div><div class='del'>-	  [ruby-dev:44683] [Bug #5471]</div><div class='del'>-</div><div class='del'>-Sun Oct 23 08:01:29 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fd_set_cloexec): set close-on-exec flag only if F_GETFD is</div><div class='del'>-	  defined.  reported by Luis Lavena.  [ruby-core:40281] [Bug #5470]</div><div class='del'>-</div><div class='del'>-Sat Oct 22 19:48:50 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (test_multibyte_read_write): start server</div><div class='del'>-	  for each length to avoid race condition.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 18:49:24 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_fd_set_cloexec): declared.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fd_set_cloexec): new function.</div><div class='del'>-	  (ruby_dup): call rb_fd_set_cloexec to set close-on-exec flag.</div><div class='del'>-	  (rb_sysopen_internal): ditto.</div><div class='del'>-	  (rb_pipe): ditto.</div><div class='del'>-	  (io_reopen): ditto.</div><div class='del'>-	  (io_cntl): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec): change the default :close_others option to</div><div class='del'>-	  true.</div><div class='del'>-	  (rb_f_system): ditto.</div><div class='del'>-	  (move_fds_to_avoid_crash): call rb_fd_set_cloexec to set</div><div class='del'>-	  close-on-exec flag.</div><div class='del'>-	  (ruby_setsid): ditto.</div><div class='del'>-	  (rb_daemon): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): call</div><div class='del'>-	  rb_fd_set_cloexec to set close-on-exec flag.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_truncate): ditto.</div><div class='del'>-	  (file_load_ok): ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chfunc): ditto.</div><div class='del'>-	  (get_device_once): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_socket): ditto.</div><div class='del'>-	  (rsock_s_accept_nonblock): ditto.</div><div class='del'>-	  (rsock_s_accept): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sock_s_socketpair): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (discard_cmsg): ditto.</div><div class='del'>-	  (make_io_for_unix_rights): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_recv_io): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): ditto.</div><div class='del'>-</div><div class='del'>-	[ruby-core:38140] [Feature #5041]</div><div class='del'>-</div><div class='del'>-Sat Oct 22 17:46:27 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: fix a exception name in previous patch.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 17:43:33 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: make timeout configurable for DNS query.</div><div class='del'>-	  patch by Eric Wong.  [ruby-core:38533] [Feature #5100]</div><div class='del'>-</div><div class='del'>-Sat Oct 22 02:07:48 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_infinity, rb_nan): use union to prevent bus error</div><div class='del'>-	  caused by misalignment.  [Bug #5469] [ruby-dev:44657]</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (INFINITY, NAN): ditto</div><div class='del'>-</div><div class='del'>-Fri Oct 21 22:02:17 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (initial_params): pack in a struct.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_set_params): set parameters always.</div><div class='del'>-	  [ruby-dev:44648] [Bug #5467]</div><div class='del'>-</div><div class='del'>-Fri Oct 21 12:10:20 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h: change Solaris checking macro because atomic_ops can work</div><div class='del'>-	  not only with Sun Studio but also with Fujitsu C Compiler.</div><div class='del'>-</div><div class='del'>-Fri Oct 21 02:11:00 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c: Complete documentation.</div><div class='del'>-	* test/openssl/test_ns_spki.rb: Integrate SPKI#to_text.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 22:47:28 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (socklist_insert, socklist_lookup, socklist_delete):</div><div class='del'>-	  new functions to wrap of st_insert(), st_lookup() and st_delete() to</div><div class='del'>-	  socklist.</div><div class='del'>-	  allocating socklist is deferred until it is really needed.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (exit_handler): delete socklist only if it is</div><div class='del'>-	  initialized.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit, StartSockets): refactoring: move</div><div class='del'>-	  initialization of select_mutex to StartSockets().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (exit_handler): refactoring: delete select_mutex only</div><div class='del'>-	  if winsock is used.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 22:38:53 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs5.c: add note on timing attacks and general</div><div class='del'>-	  documentation.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 21:19:15 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall): set array elements one-by-one to fix</div><div class='del'>-	  compile error with Fujitsu C Compiler 5.6 on Solaris 10 on Sparc.</div><div class='del'>-	  [Bug #5464] [ruby-dev:44632]</div><div class='del'>-</div><div class='del'>-Thu Oct 20 13:09:35 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (flush_register_windows): use software</div><div class='del'>-	  trap on Debian Sparc 32-bit userspace.  [Bug #5244]</div><div class='del'>-</div><div class='del'>-Thu Oct 20 12:28:22 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs5.rb: add RFC 6070 tests for PBKDF2 with</div><div class='del'>-	  HMAC-SHA1</div><div class='del'>-</div><div class='del'>-Thu Oct 20 11:42:23 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (mmprepare): fix for fragmental size.</div><div class='del'>-</div><div class='del'>-	* util.c (mmswap_, mmrot3_): portability improvement.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 05:58:02 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c (Init_ossl_ns_spki):  Stub documentation</div><div class='del'>-	  for Netscape SPKI.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 05:13:39 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 2.6.2 (r6712)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Thu Oct 20 06:55:32 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/openssl/buffering.rb: Force multi-byte strings to be treated as</div><div class='del'>-	  binary data.</div><div class='del'>-	* test/openssl/test_ssl.rb: Add test for it.</div><div class='del'>-</div><div class='del'>-	Thanks to Niklas Baumstark for reporting the issue!</div><div class='del'>-</div><div class='del'>-	[Ruby 1.9 - Bug #5233] [ruby-core:39120]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 17:06:54 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION): finally declare start of 2.0 work!</div><div class='del'>-</div><div class='del'>-Wed Oct 19 11:48:44 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception):  Document $! and $@.  Provide</div><div class='del'>-	  recommendations for creating exceptions for a library.</div><div class='del'>-</div><div class='del'>-Wed Oct 19 11:25:46 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception):  Add hierarchy of Exception subclasses.</div><div class='del'>-	  Based on patch by Sylvain Daubert.  [Ruby 1.9 - Bug #5438]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 11:04:47 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Reformat block args to a single standard, { |args| ... }.</div><div class='del'>-	  Patch by b t.  [Ruby 1.9 - Bug #5393]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 12:11:26 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Remove set, but unused variables.</div><div class='del'>-	  ext/openssl/ossl_pkey.c: ditto</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: Make functions passed to</div><div class='del'>-	  rb_thread_blocking_region return VALUE instead of void.</div><div class='del'>-	  ext/openssl/ossl_pkey_dsa.c: ditto</div><div class='del'>-	  ext/openssl/ossl_pkey_rsa.c: ditto</div><div class='del'>-</div><div class='del'>-Tue Oct 18 23:28:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (identhash): share with type_numhash.</div><div class='del'>-</div><div class='del'>-	* st.c (st_hashtype_num): rename from type_numhash.</div><div class='del'>-</div><div class='del'>-Tue Oct 18 23:07:30 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ruby_current_thread): probeprofiler has been removed</div><div class='del'>-	  long ago.</div><div class='del'>-</div><div class='del'>-Tue Oct 18 23:05:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (ripper_init_eventids2): separate</div><div class='del'>-	  initializations of IDs and objects.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/tools/generate.rb (generate_eventids1): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (Init_ripper, InitVM_ripper): fix inversed roles.</div><div class='del'>-</div><div class='del'>-Sun Oct 16 19:46:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec (files): fixed typo, and</div><div class='del'>-	  removed nonexistent file.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec (homepage): added.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/io-console.gemspec (homepage): ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 12:13:57 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (pty_check): should return nil until the child</div><div class='del'>-	  terminates or stops.  [ruby-dev:44600] [Bug #2642]</div><div class='del'>-</div><div class='del'>-Fri Oct 14 11:19:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_ary_rotate): export.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 05:58:05 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values.</div><div class='del'>-	  [ruby-dev:44596] [Bug #5439]</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_atomic_exchange): no needs to define on the</div><div class='del'>-	  platforms where atomic.h is available.</div><div class='del'>-</div><div class='del'>-Thu Oct 13 19:29:40 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h (ATOMIC_*): use atomic_ops(3C) when SunStudio on Solaris.</div><div class='del'>-	  [ruby-dev:44596] [Bug #5439]</div><div class='del'>-</div><div class='del'>-Thu Oct 13 18:13:04 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* atomic.h(ATOMIC_SET): add cast to void to prevent misuse.</div><div class='del'>-	  [ruby-dev:44596] [Bug #5439]</div><div class='del'>-</div><div class='del'>-Thu Oct 13 18:04:27 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_finalize_deferred, rb_objspace_call_finalizer):</div><div class='del'>-	  should use ATOMIC_EXCHANGE() to check the previous value.</div><div class='del'>-	  [ruby-dev:44596] [Bug #5439]</div><div class='del'>-</div><div class='del'>-Wed Oct 12 23:39:58 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Move duplicated tests for SSL::Session to</div><div class='del'>-	  test_ssl_session.rb</div><div class='del'>-</div><div class='del'>-Tue Oct 11 08:49:40 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize):  Improve explanation of Array.new</div><div class='del'>-	  parameters.  Patch by Alvaro Pereyra Rabanal.  [Ruby 1.9 - Bug #5425]</div><div class='del'>-	* array.c (rb_ary_s_try_convert):  Fix typo (try =&gt; tries)</div><div class='del'>-	* array.c (rb_ary_rindex):  Add spacing for block.</div><div class='del'>-	* array.c (rb_ary_uniq_bang):  Describe block</div><div class='del'>-	* array.c (rb_ary_uniq):  ditto</div><div class='del'>-</div><div class='del'>-Tue Oct 11 07:55:38 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c:  Add a description to Array, minor cleanups.  Patch by</div><div class='del'>-	  Andrea Singh.  [Ruby 1.9 - Bug #5412]</div><div class='del'>-</div><div class='del'>-Tue Oct 11 06:09:52 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb:  Move PP documentation to top of class PP.  Patch by</div><div class='del'>-	  Sylvain Daubert.  [Ruby 1.9 - Bug #5430]</div><div class='del'>-</div><div class='del'>-Tue Oct 11 06:06:29 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c (Init_coverage):  Change list format and</div><div class='del'>-	  describe Coverage.result output.  Patch by Sylvain Daubert.</div><div class='del'>-	  [Ruby 1.9 - Bug #5428]</div><div class='del'>-</div><div class='del'>-Tue Oct 11 05:53:23 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object):  Add reference to BasicObject, brief</div><div class='del'>-	  explanation of constant lookup.  Based on patch by Alvaro Pereyra</div><div class='del'>-	  Rabanal.</div><div class='del'>-	  [Ruby 1.9 - Bug #5426]</div><div class='del'>-</div><div class='del'>-Sun Oct  9 11:06:52 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamldbm.rb: don't run test if the system</div><div class='del'>-	  don't support yaml/dbm.</div><div class='del'>-</div><div class='del'>-	* test/syck/test_yamldbm.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  8 08:54:56 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (group_by):  Improve group_by description.  Patch by b t.</div><div class='del'>-	  [#5411]</div><div class='del'>-</div><div class='del'>-Sat Oct  8 03:17:51 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell.rb:  Document some methods of Shell.  Patch by Carol</div><div class='del'>-	  Nichols.  [Ruby 1.9 - Bug #5417]</div><div class='del'>-</div><div class='del'>-Fri Oct  7 17:54:28 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_send, assert_not_send):</div><div class='del'>-	  parenthesize non-empty arguments.</div><div class='del'>-</div><div class='del'>-Fri Oct  7 06:35:50 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c:  Use + for arguments described in documentation to allow</div><div class='del'>-	  rdoc -C2 to work better.  Remove &lt;code&gt; from method references to</div><div class='del'>-	  allow cross-references in HTML documentation.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 18:46:23 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (make_no_method_exception): fix typo.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 16:29:30 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (make_no_method_execption): extract from</div><div class='del'>-	  raise_method_missing().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (send_internal): remove inadvertent symbol creation</div><div class='del'>-	  from public_send.  based on a patch by Jeremy Evans &lt;code AT</div><div class='del'>-	  jeremyevans.net&gt; in [ruby-core:38576]. [Feature #5112]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): remove inadvertent symbol</div><div class='del'>-	  creation from send and __send__, too.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 14:59:11 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb:  Clean up Time documentation.  Patch by Jake Goulding.</div><div class='del'>-	  [Ruby 1.9 - Bug #5416]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 10:00:54 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (group_by):  Improve documentation based on patch by b t.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 09:56:30 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c:  Clean up wording in Enumerable documentation.  Patch by b t.</div><div class='del'>-	  [Ruby 1.9 - Bug #5411]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 09:17:18 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (Init_Time):  Remove editorial comments from Time</div><div class='del'>-	  documentation, fix link.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 09:14:20 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (Init_Time):  Improve Time documentation.  Patch by Shane</div><div class='del'>-	  Emmons.  [Ruby 1.9 - Bug #5404]</div><div class='del'>-	* lib/time.rb:  Improve time.rb documentation including Time.strptime.</div><div class='del'>-	  Patch by Shane Emmons.  [Ruby 1.9 - Bug #5402]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 08:54:05 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c:  Improve documentation of Random.  Patch by Gregory</div><div class='del'>-	  Parkhurst.  [Ruby 1.9 - Bug #5410]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 01:44:51 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_mark): mark original Thread object from saved_thread.</div><div class='del'>-	  [ruby-dev:44571] [Bug #5386]</div><div class='del'>-</div><div class='del'>-Wed Oct  5 16:33:04 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): remove useless hack.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 05:56:39 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash):  Improve Hash documentation.  Patch by Alvaro</div><div class='del'>-	  Pereyra Rabanal.  [Ruby 1.9 - Bug #5405]</div><div class='del'>-</div><div class='del'>-Wed Oct  5 05:47:59 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (Init_Random):  Add a top-level comment for Random.  Patch</div><div class='del'>-	  by Brett Bim.  [Ruby 1.9 - Bug #5403]</div><div class='del'>-</div><div class='del'>-Wed Oct  5 02:50:27 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/syntax_error.rb: Add file, line, offset, and</div><div class='del'>-	  message attributes during parse failure.</div><div class='del'>-	* ext/psych/parser.c: Update parser to raise exception with correct</div><div class='del'>-	  values.</div><div class='del'>-	* test/psych/test_exception.rb: corresponding tests.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 01:52:16 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/parser.c (parse): Use context_mark for indicating error</div><div class='del'>-	  line and column.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 01:22:08 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: use normal begin / rescue</div><div class='del'>-	  since postfix rescue cannot receive the exception class. Thanks</div><div class='del'>-	  nagachika!</div><div class='del'>-</div><div class='del'>-Tue Oct  4 21:10:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_alloc): allocate extra memory after containing</div><div class='del'>-	  object setup to get rid of rare-but-potential memory leak.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): skip marking extended members if ptr is</div><div class='del'>-	  NULL.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 16:17:50 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.strptime): use Time.at if d[:seconds] is set.</div><div class='del'>-	  Reported by Christopher Eberz. [ruby-core:39903] Bug #5399</div><div class='del'>-</div><div class='del'>-Tue Oct  4 11:44:10 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_set_params): ruby_verbose can be Qnil, so use RTEST.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 08:33:41 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c:  Document Etc, Etc.sysconfdir, Etc.systmpdir.  Patch</div><div class='del'>-	  by mathew murphy.  [Ruby 1.9 - Bug #5396]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 08:21:51 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb:  Update toplevel comment with an example.  Patch</div><div class='del'>-	  by Samnang Chhun.  [Ruby 1.9 - Bug #5388]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 08:15:50 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_call):  Update documentation to match argument handling</div><div class='del'>-	  of proc/Proc.new/lambda/-&gt;()</div><div class='del'>-</div><div class='del'>-Tue Oct  4 07:59:16 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_call):  Fix documentation of Proc#call vs Proc#===.</div><div class='del'>-	  [Ruby 1.9 - Bug #5349]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 07:43:18 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize):  Make Array.new description match</div><div class='del'>-	  call-seq.  Patch by Henry Maddocks.  [Ruby 1.9 - Bug #5344]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 07:35:23 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize):  Add output for examples.  Patch by</div><div class='del'>-	  Jonathan Mukai.  [Ruby 1.9 - Bug #5216]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 07:30:50 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_s_create):  Add example results for Array::[].  Patch</div><div class='del'>-	  by Jonathan Mukai.  [Ruby 1.9 - Bug #5215]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 07:15:17 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 1.8.11.  Move Deprecate into the</div><div class='del'>-	  Gem namespace.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 06:43:47 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: update psych version.</div><div class='del'>-	* ext/psych/psych.gemspec: generate new gemspec for new version.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 06:29:55 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: calling `yaml` rather than `to_yaml`.</div><div class='del'>-	* ext/psych/lib/psych/nodes/node.rb: Rename `to_yaml` to just `yaml`</div><div class='del'>-	  in order to avoid YAML::ENGINE switching from replacing this method.</div><div class='del'>-	* test/psych/helper.rb: fix tests for method name change.</div><div class='del'>-	* test/psych/test_document.rb: ditto</div><div class='del'>-	* test/psych/visitors/test_emitter.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Oct  4 06:20:19 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Match values against the</div><div class='del'>-	  floating point spec defined in YAML to avoid erroneous parses.</div><div class='del'>-	* test/psych/test_numeric.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 05:59:24 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: ToRuby visitor can be</div><div class='del'>-	  constructed with a ScalarScanner.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ScalarScanner can be</div><div class='del'>-	  passed to the YAMLTree visitor.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 05:47:23 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: Define Regexp::NOENCODING</div><div class='del'>-	  for 1.9.2 backwards compatibility.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: Fix Date string</div><div class='del'>-	  generation for 1.9.2 backwards compatibility.</div><div class='del'>-</div><div class='del'>-Mon Oct  3 23:56:39 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_set_params): output GC parameter change messages only</div><div class='del'>-	  if -w/-v options are specified. these messages are output to stderr,</div><div class='del'>-	  not to stdout. [ruby-core:39795] [Bug #5380]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_gc_parameter): add test for it.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 20:05:32 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark), cont.c (cont_mark): revert r33369 and r33371</div><div class='del'>-	  that may cause SEGV in certain environments.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 12:14:06 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamldbm.rb: add test case.</div><div class='del'>-	* test/syck/test_yamldbm.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 11:28:09 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb: make initialize method signature match the</div><div class='del'>-	  superclass signature.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 10:44:01 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fix documentation of ARGF.lineno=.</div><div class='del'>-</div><div class='del'>-Sat Oct  1 20:03:19 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_framework): try as Objective-C.</div><div class='del'>-	  https://twitter.com/nagachika/status/120294447660539904</div><div class='del'>-</div><div class='del'>-Sun Oct  2 08:43:25 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark), cont.c (cont_mark): self pointer should not</div><div class='del'>-	  be marked by itself. Patch by Koichi Sasada.</div><div class='del'>-	  [ruby-dev:44567] [Bug #5386]</div><div class='del'>-</div><div class='del'>-Sun Oct  2 00:42:14 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): rb_thread_t needs self to be marked.</div><div class='del'>-	  [ruby-dev:44566] [Bug #5386]</div><div class='del'>-</div><div class='del'>-Sat Oct  1 09:48:53 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (add_heap_slots, init_heap): reset heaps_inc zero when</div><div class='del'>-	  heap slots are expanded by environment variable RUBY_HEAP_MIN_SLOTS.</div><div class='del'>-	  [ruby-core:39777] [Bug #5380]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_gc_parameter): add test for it.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_normal_exit): add :child_env option to</div><div class='del'>-	  enable pass environment variables to child process.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 13:17:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join_1): should not copy the encoding of non-string</div><div class='del'>-	  element after string element.  [ruby-core:39776] [Bug #5379]</div><div class='del'>-</div><div class='del'>-Thu Sep 29 11:53:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep, rb_gc_finalize_deferred)</div><div class='del'>-	  (rb_objspace_call_finalizer, rb_gc): run finalizers</div><div class='del'>-	  sequentially.  [ruby-dev:44562]</div><div class='del'>-</div><div class='del'>-Thu Sep 29 20:37:38 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c (rb_gdbm_fatal): adjust argument type.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 20:10:42 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_id_value, is_live_object): extract from id2ref().</div><div class='del'>-</div><div class='del'>-	* gc.c (run_finalizer): use object instead of object id.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 20:07:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* use RB_TYPE_P which is optimized for constant types, instead of</div><div class='del'>-	  comparison with TYPE.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 09:20:37 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (pthread_np.h): needs pthread.h to be included</div><div class='del'>-	  previously on OpenBSD.  a patch by George Koehler &lt;xkernigh AT</div><div class='del'>-	  netscape.net&gt; at [ruby-core:39752].  [Bug #5376]</div><div class='del'>-</div><div class='del'>-Wed Sep 28 04:41:35 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamlstore.rb: use tmpdir for tmpfile.</div><div class='del'>-	* test/syck/test_yamlstore.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 04:10:46 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/README: update report to.</div><div class='del'>-</div><div class='del'>-Tue Sep 28 04:05:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal_en.html: removed because this file isn't</div><div class='del'>-	  maintained now.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal_ja.html: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 09:55:40 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: make native_fd_select().</div><div class='del'>-	* thread.c (do_select): remove #ifdef _WIN32. Instead, use</div><div class='del'>-	  native_fd_select() always.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 09:44:59 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): remove cygwin specific hack. It's layer</div><div class='del'>-	  violation and too large hack.</div><div class='del'>-	* thread.c (cmp_tv, subtract_tv): removed.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 03:50:19 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_sax.rb: add require 'rexml/document'.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 03:32:27 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yamldbm.rb: fix #setup and #teardown.</div><div class='del'>-	  [Bug #5370] [ruby-core:39730]</div><div class='del'>-	* test/syck/test_yamldbm.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 11:27:38 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb: Add MIME Type definition of .js and .svg.</div><div class='del'>-	  patched by Hal Brodigan. [ruby-core:39704] [Bug #5365]</div><div class='del'>-</div><div class='del'>-Mon Sep 26 09:20:44 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove DJGPP support. It's not longer supported</div><div class='del'>-	  since ruby 1.9.0.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 09:07:46 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: remove NextStep, OpenStep, Rhapsody</div><div class='del'>-	  support. Last activity of their OSes are 7 years ago.</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-	* dir.c: ditto.</div><div class='del'>-	* ext/tk/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 09:02:49 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove a code for human68k. it's no longer</div><div class='del'>-	  supported since r19677.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 23:43:32 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: fix int_ossl_asn1_decode0_cons when being</div><div class='del'>-	  fed arbitrary string values.</div><div class='del'>-	  Clearly distinguish between the cases "universal, infinite and</div><div class='del'>-	  not a SEQUENCE or SET" and "universal SEQUENCE or SET, possibly</div><div class='del'>-	  infinite". Raise error for universal tags that are not infinite.</div><div class='del'>-	* test/openssl/test_asn1.rb: add a test for this.</div><div class='del'>-</div><div class='del'>-	  Thanks to Hiroshi Yoshida for reporting this bug.</div><div class='del'>-	  [Bug #5363] [ruby-dev:44542]</div><div class='del'>-</div><div class='del'>-Sun Sep 25 20:57:18 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/syck/test/yamldbm.rb: add test for Syck::DBM.</div><div class='del'>-	* test/psych/test_yamldbm.rb: add test for Psych::DBM.</div><div class='del'>-	* test/psych/test_yamlstore.rb: add test for Psych::PStore.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 20:54:10 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/dbm/dbm.rb: fix #update, add #key for using instead #index.</div><div class='del'>-	  [Bug #5305][ruby-dev:44485]</div><div class='del'>-</div><div class='del'>-Sun Sep 25 16:54:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (require_enc): reject only loading from untrusted</div><div class='del'>-	  load paths.  [ruby-dev:44541] [Bug #5279]</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder_entry): ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 16:45:05 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: ignore all warnings from an arbitrary</div><div class='del'>-	  header in /usr/local/include.</div><div class='del'>-</div><div class='del'>-Sun Sep 25 03:43:03 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (slice_before_i): use rb_attr_get to suppress wrong warning</div><div class='del'>-	  for internal instance variable slicebefore_initial_state.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 14:20:14 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: remove unused variable.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 13:46:59 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb: execute test_session_exts_read</div><div class='del'>-	  only for OpenSSL versions &gt;= 0.9.8k. Thanks, Eric Wong, for</div><div class='del'>-	  reporting this.</div><div class='del'>-	  [Bug #4961] [ruby-core:37726]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 11:59:08 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb: ensure server calls callbacks in</div><div class='del'>-	  test_ctx_server_session_cb. Thanks to Eric Wong for the patch.</div><div class='del'>-	  [Bug #5336] [ruby-core:39619]</div><div class='del'>-</div><div class='del'>-Thu Sep 22 02:53:19 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): suppress a warning.  note that</div><div class='del'>-	  `volatile type *var' doesn't make var itself volatile.</div><div class='del'>-</div><div class='del'>-Thu Sep 22 01:52:48 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ubf_select): activate timer thread when interrupt</div><div class='del'>-	  blocking thread.</div><div class='del'>-	  A patch created by Koichi Sasada. [ruby-core:39634] [Bug #5343]</div><div class='del'>-	  to cover race condition, timer thread periodically send SIGVTARLM to</div><div class='del'>-	  threads in signal thread list. so you should activate timer thread</div><div class='del'>-	  when interrupt a thread.</div><div class='del'>-</div><div class='del'>-Wed Sep 21 16:55:26 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb (TestIOWait#setup): of course, the</div><div class='del'>-	  behavior of mingw is just same with mswin.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 18:08:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_cvar_base): reduce duplicated checks and</div><div class='del'>-	  move a warning outside the loop.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 18:55:51 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (module FileUtils): improve performance of</div><div class='del'>-	  FileUtils.compare_stream. a patch by Masaki Matsushita.</div><div class='del'>-	  [Feature #5337] [ruby-core:39622]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 18:42:58 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/old_thread_select/test_old_thread_select.rb:</div><div class='del'>-	  select() with timeout may return early in old Linux kernels</div><div class='del'>-	  with 250 Hz tickrate and no dynticks, so skip everything older</div><div class='del'>-	  than 2.6.32 (which has long term support).</div><div class='del'>-	  And, Make the timing assertions consistently use assert_operator with</div><div class='del'>-	  timing difference in error message</div><div class='del'>-	  Patch by Eric Wong. [Bug #5335] [ruby-core:39618]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 09:28:06 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (class OpenSSL):  Test</div><div class='del'>-	  OpenSSL::SSL::SSLSocket#session and #session=.</div><div class='del'>-</div><div class='del'>-Mon Sep 19 07:54:17 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): singleton class should be attached</div><div class='del'>-	  singleton object to.  a patch by Satoshi Shiba &lt;shiba AT rvm.jp&gt;</div><div class='del'>-	  at [ruby-dev:44460].  [Bug #5274]</div><div class='del'>-</div><div class='del'>-Sat Sep 17 23:34:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_data_type): inherit the core type in ripper so</div><div class='del'>-	  that checks in core would work.  [ruby-core:39591] [Bug #5331]</div><div class='del'>-</div><div class='del'>-Sat Sep 17 12:44:04 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): add documentation that Find.find</div><div class='del'>-	  without block returns an enumerator.</div><div class='del'>-</div><div class='del'>-Thu Sep 15 11:39:43 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_entry, mark_key, mark_keyvalue): adjust callback</div><div class='del'>-	  argument types.</div><div class='del'>-</div><div class='del'>-Thu Sep 15 01:44:10 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/*: Change encoding from EUC-JP to UTF-8</div><div class='del'>-</div><div class='del'>-Wed Sep 14 11:43:37 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_fd_rcopy): added an argument guard.</div><div class='del'>-	  Patch by NAKAMURA Usaku. [Bug #5306] [ruby-core:39435]</div><div class='del'>-</div><div class='del'>-Tue Sep 13 20:21:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb, test/test_pstore.rb: suppress warnings with -v.</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore): always open in binary mode even if</div><div class='del'>-	  default encodings are set.  [Bug #5311] [ruby-core:39503]</div><div class='del'>-</div><div class='del'>-Tue Sep 13 05:37:15 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): update BINARY comment.  it should not change the</div><div class='del'>-	  encoding of the result to ASCII-8BIT.  [ruby-talk:387719]</div><div class='del'>-</div><div class='del'>-Mon Sep 12 19:55:00 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): fix to ignore an argument</div><div class='del'>-	  modification of rb_thread_fd_select().</div><div class='del'>-	  based on a patch by Eric Wong. [Bug #5306] [ruby-core:39435]</div><div class='del'>-	* thread.c (rb_fd_rcopy): New. for reverse fd copy.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/old_thread_select/test_old_thread_select.rb</div><div class='del'>-	(test_old_select_false_positive): test for bug5306.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/old_thread_select/old_thread_select.c (fdset2array):</div><div class='del'>-	  New. convert fdsets to array.</div><div class='del'>-	* ext/-test-/old_thread_select/old_thread_select.c (old_thread_select):</div><div class='del'>-	  return 'read', 'write', 'except' argument of rb_thread_select()</div><div class='del'>-	  to ruby script.</div><div class='del'>-</div><div class='del'>-Mon Sep 12 13:38:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja (2.2.2), parse.y (rb_check_id): add</div><div class='del'>-	  documents for rb_check_id().</div><div class='del'>-</div><div class='del'>-Mon Sep 12 12:53:39 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/file_list.rb (Rake::FileList#egrep): there is no need to</div><div class='del'>-	  open files in binary mode.</div><div class='del'>-	  see more details in https://github.com/jimweirich/rake/issues/74</div><div class='del'>-</div><div class='del'>-Mon Sep 12 12:42:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb (TestException#test_exit_success_p):</div><div class='del'>-	  assert also the cases when exiting with true and false.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_send): make arguments in</div><div class='del'>-	  the default message clearer.</div><div class='del'>-</div><div class='del'>-Sun Sep 11 05:23:14 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Deal with subclasses of Matrix [redmine #5307]</div><div class='del'>-</div><div class='del'>-Sat Sep 10 13:38:20 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_aref):</div><div class='del'>-	* dir.c (dir_entries): Two small documentation fixes.</div><div class='del'>-	  A patch from Aaron Lerch. [Bug #5302] [ruby-core:39404]</div><div class='del'>-</div><div class='del'>-Sat Sep 10 08:30:03 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_PROFILE_MORE_DETAIL, CALC_EXACT_MALLOC_SIZE):</div><div class='del'>-	  define macros only if they are not defined.</div><div class='del'>-	  fixes: [Ruby 1.9 - Feature #5291]</div><div class='del'>-</div><div class='del'>-Sat Sep 10 08:25:47 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (bv_decls): parse.y relies on $$ = $1 before action</div><div class='del'>-	  routines.  a patch from Michael Edgar.  [Bug #5303]</div><div class='del'>-	  [ruby-core:39429]</div><div class='del'>-</div><div class='del'>-Sat Sep 10 01:37:55 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* sample/drb/dhasenc.rb: coding cookie of Emacs is coding,</div><div class='del'>-	  not encoding.</div><div class='del'>-</div><div class='del'>-	* sample/mine.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  9 21:56:40 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix comment.</div><div class='del'>-	  BigDecimal#sqrt requires argument. Reported by Makoto Kishimoto.</div><div class='del'>-	  Thanks for your contribution. [Bug #5267] [ruby-dev:44452]</div><div class='del'>-</div><div class='del'>-Fri Sep  9 11:00:55 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_help_command.rb: Add one</div><div class='del'>-	  `require` because if run test-all with test/unit parallel</div><div class='del'>-	  running, sometimes this test fails by some constants not found.</div><div class='del'>-	  The error reason is some worker doesn't require the file needed by</div><div class='del'>-	  this test. This issue is related to [ruby-core:36168].</div><div class='del'>-</div><div class='del'>-Fri Sep  9 10:22:03 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): fix a typo to initialize efds</div><div class='del'>-	  properly.  [Bug #5299] [ruby-core:39380]</div><div class='del'>-</div><div class='del'>-Fri Sep  9 02:02:09 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* template/yarvarch.ja:</div><div class='del'>-	  Change encoding from Shift_JIS to UTF-8</div><div class='del'>-</div><div class='del'>-Thu Sep  9 01:14:00 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* sample/drb/README.rd.ja:</div><div class='del'>-	* sample/drb/dhasenc.rb:</div><div class='del'>-	* sample/mine.rb:</div><div class='del'>-	  Change encoding from EUC-JP to UTF-8</div><div class='del'>-</div><div class='del'>-Thu Sep  8 21:03:22 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: import nkf 2.1.2 (be9c280)</div><div class='del'>-	  Bump version number/release date only.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 12:43:18 2011  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_GC): defined GC::Profiler.raw_data. based on the</div><div class='del'>-	  patch by Eric Hodel. [ruby-core:37857] [Bug #4991]</div><div class='del'>-</div><div class='del'>-Thu Sep  8 09:02:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): objects which are unmarked but not in sweep_slots</div><div class='del'>-	  are not dead.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 07:44:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_declare_transcoder, load_transcoder_entry): no</div><div class='del'>-	  longer need to limit the length of transcoder library name.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 07:36:36 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syck/lib/syck/types.rb: use toplevel Syck.</div><div class='del'>-	  for the case someone define Syck::Syck (or YAML::Syck).</div><div class='del'>-</div><div class='del'>-Thu Sep  8 07:33:12 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): unmarked object is already dead while lazy</div><div class='del'>-	  sweeping, and to it cannot come back since other objects</div><div class='del'>-	  referred from it might have been freed already.</div><div class='del'>-</div><div class='del'>-Wed Sep  8 03:48:00 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/README.ja:</div><div class='del'>-	  Change encoding from EUC-JP to UTF-8</div><div class='del'>-</div><div class='del'>-Wed Sep  8 02:59:00 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_encoding.rb:</div><div class='del'>-	  Add require 'require 'rexml/document'</div><div class='del'>-</div><div class='del'>-Wed Sep  8 02:53:00 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c:</div><div class='del'>-	  Change encoding from ISO-2022 to UTF-8</div><div class='del'>-</div><div class='del'>-Wed Sep  7 23:41:24 2011  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb, test/rexml/test_comment.rb:</div><div class='del'>-	  allow a single hyphen in comment. [Bug #5278] [ruby-core:39289]</div><div class='del'>-	  Reported by Thomas Fritzsche. Thanks!!!</div><div class='del'>-</div><div class='del'>-Wed Sep  7 17:27:18 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: explicitly specify ::Object to avoid the collision with</div><div class='del'>-	  Syck::Object.</div><div class='del'>-</div><div class='del'>-Tue Sep  6 21:06:49 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (_run_suites): Now reports are written the</div><div class='del'>-	  following order: Skip, Failure, Error. [Feature #5282]</div><div class='del'>-</div><div class='del'>-	* test_sorting.rb: test for above.</div><div class='del'>-</div><div class='del'>-	* test4test_sorting.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb (run): Put RUBY_DESCRIPTION before quitting.</div><div class='del'>-	  [Feature #5282]</div><div class='del'>-</div><div class='del'>-Tue Sep  6 21:13:47 2011  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (INSNS): change command line option -Ks to -Ku</div><div class='del'>-	  for generate *.inc. because insns.def encoding has been changed SJIS</div><div class='del'>-	  to UTF-8. if $BASERUBY is 1.9, -Ks cause an error. [Feature #5128]</div><div class='del'>-	  (same as r33194)</div><div class='del'>-</div><div class='del'>-Tue Sep  6 15:55:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder_entry): concatenate paths directly.</div><div class='del'>-</div><div class='del'>-	* encoding.c (load_encoding): predefined encoding names are safe.</div><div class='del'>-	  [ruby-dev:44469] [Bug #5279]</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder_entry): ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  6 12:07:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: enabled econv newline option.</div><div class='del'>-</div><div class='del'>-Tue Sep  6 06:44:57 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (dbl2ival): Fix Float#divmod and #round for 32 bit</div><div class='del'>-	  platform. part 1 of [bug #5276]</div><div class='del'>-</div><div class='del'>-Tue Sep  6 06:44:25 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): Fix criteria for 32 bits platform</div><div class='del'>-	  part 2 of [bug #5276]</div><div class='del'>-</div><div class='del'>-Tue Sep  6 05:37:11 2011  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures</div><div class='del'>-	  [ruby-dev:44430] [Ruby 1.9 - Bug #372]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 20:59:30 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: change encoding pragma for emacs (shift_jis to utf-8).</div><div class='del'>-</div><div class='del'>-Mon Sep  5 19:32:15 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (INSNS): change command line option -Ks to -Ku for</div><div class='del'>-	  generate *.inc. because insns.def encoding has been changed SJIS to</div><div class='del'>-	  UTF-8. if $BASERUBY is 1.9, -Ks cause an error. [Feature #5128]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 18:10:56 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_binmode): newline decorators are</div><div class='del'>-	  exclusive.</div><div class='del'>-</div><div class='del'>-Mon Sep  5 15:03:37 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_security.rb</div><div class='del'>-	  (test_class_build_self_signed_cert): reset opt[:trust_dir] to apply</div><div class='del'>-	  temporary Gem.user_home.</div><div class='del'>-</div><div class='del'>-Mon Sep  5 10:04:35 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja, README.EXT.ja: resolve conflicts. [ruby-dev:44459]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 05:13:22 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): Make Float#round round big values [bug</div><div class='del'>-	  #5272]</div><div class='del'>-</div><div class='del'>-Mon Sep  5 04:28:25 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round): Integer#round always returns an Integer [Bug</div><div class='del'>-	  #5271]</div><div class='del'>-</div><div class='del'>-Sun Sep  4 22:28:50 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (default_port, default_imap_port,</div><div class='del'>-	  default_tls_port, default_ssl_port, default_imaps_port):</div><div class='del'>-	  added methods for consistency with Net::POP.</div><div class='del'>-	  based on the patch by art lussos.  [ruby-core:38997] [Bug #5198]</div><div class='del'>-</div><div class='del'>-Sun Sep  4 21:19:19 2011  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Change encoding from EUC-JP to UTF-8. [Feature #5128]</div><div class='del'>-</div><div class='del'>-Sun Sep  4 00:47:39 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb (TestFiber#test_no_valid_cfp):</div><div class='del'>-	  add a test. Unlike TestThread#test_no_valid_cfp,</div><div class='del'>-	  this test succeeds even if win32ole is required (see r33153).</div><div class='del'>-</div><div class='del'>-Sun Sep  4 00:11:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): show the previous definition</div><div class='del'>-	  location.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Sat Sep  3 23:56:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (sizeof_struct_dirent_too_small): check if struct</div><div class='del'>-	  dirent.d_name is too small.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_MINGW32): take tool prefix from CC.</div><div class='del'>-</div><div class='del'>-Sat Sep  3 23:52:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): open in default text mode.</div><div class='del'>-	  [ruby-core:39234] [Bug #5268]</div><div class='del'>-</div><div class='del'>-Sat Sep  3 18:40:57 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (SizedQueue#max=): raise ArgumentError if max is not</div><div class='del'>-	  positive number. patch by Masaki Matsushita.</div><div class='del'>-	  [ruby-dev:44449] [Bug #5259]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (test_sized_queue_initialize,</div><div class='del'>-	  test_sized_queue_assign_max): add tests for it.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 21:11:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (validate_enc_binmode, prep_stdio): default to text mode on</div><div class='del'>-	  dosish platforms.  [ruby-core:38822] [Bug #5164]</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_prepare_options): keep default ecflags</div><div class='del'>-	  unchanged if no options.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 14:36:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_const_defined_class): search</div><div class='del'>-	  ancestors only when global scope.  [ruby-core:39227] [Bug #5264]</div><div class='del'>-</div><div class='del'>-Fri Sep  2 09:58:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_tokadd_string, parser_yylex): ignore a backslash</div><div class='del'>-	  which prefixes an non-ascii character, which has no escape</div><div class='del'>-	  syntax.  [ruby-core:39222] [Ruby 1.9 - Bug #5262]</div><div class='del'>-</div><div class='del'>-Fri Sep  2 04:05:25 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: emit strings tagged as</div><div class='del'>-	  ascii-8bit as binary in YAML.</div><div class='del'>-	* test/psych/test_string.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 01:07:14 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): substitute machine dependent magic number.</div><div class='del'>-</div><div class='del'>-Thu Sep  1 17:31:22 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass), vm_insnhelper.c (vm_get_cvar_base): see</div><div class='del'>-	  also inherited constants for classes without superclass and</div><div class='del'>-	  modules.  [ruby-core:37698] [Bug #3423]</div><div class='del'>-</div><div class='del'>-Thu Sep  1 16:18:44 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Release GVL while OpenSSL's public key generation.</div><div class='del'>-</div><div class='del'>-	    t = Thread.new { print "."; sleep 0.1 }</div><div class='del'>-	    key = OpenSSL::PKey::RSA.new(2048)</div><div class='del'>-	    #=&gt; Thread t works in parallel with public key generation if</div><div class='del'>-		OS/machine allows it.</div><div class='del'>-</div><div class='del'>-	  This works with OpenSSL &gt;= 0.9.8. From this version, it has new</div><div class='del'>-	  public key generation function which allows us to interrupt the</div><div class='del'>-	  execution while pkey generation iterations.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check existence of OpenSSL's new public key</div><div class='del'>-	  generation function. (DH_generate_parameters_ex,</div><div class='del'>-	  DSA_generate_parameters_ex and RSA_generate_key_ex.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.{h,c} (ossl_generate_cb_2,</div><div class='del'>-	  ossl_generate_cb_stop): Added new callback function for OpenSSL pkey</div><div class='del'>-	  generation which handles Thread interruption by Ruby.</div><div class='del'>-	  ossl_generate_cb_stop is the unblock function(ubf) for Ruby which</div><div class='del'>-	  sets a stop flag. New pkey generation callback ossl_generate_cb_2</div><div class='del'>-	  checks the stop flag at each iterations of OpenSSL and interrupts</div><div class='del'>-	  pkey generation when the flag is set.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (dsa_generate): Call</div><div class='del'>-	  rb_thread_blocking_region with the above unblock function to release</div><div class='del'>-	  GVL while pkey generation.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (dh_generate): ditto.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_{dh,dsa,rsa}.rb: Test it.</div><div class='del'>-</div><div class='del'>-Thu Sep  1 14:06:54 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_no_valid_cfp): skip when</div><div class='del'>-	  win32ole is required.  in such case, win32ole redefines</div><div class='del'>-	  Thread#initialize, and the block argument becomes to be not the top</div><div class='del'>-	  of the thread, then this testcase always fails.</div><div class='del'>-</div><div class='del'>-Thu Sep  1 10:20:50 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#test_{default_mode_on_dosish,</div><div class='del'>-	  default_mode_on_unix,text_mode,binary_mode}): sorry for wrong test</div><div class='del'>-	  committed in r33144.  I'd misunderstood the spec of ruby's universal</div><div class='del'>-	  newline.</div><div class='del'>-</div><div class='del'>-Thu Sep  1 09:27:57 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoloading_value): Fix the order of definitions.</div><div class='del'>-	  It is used by autoload_defined_p.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 17:28:23 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload): There was a chance to run GC (from</div><div class='del'>-	  rb_str_new2()) before finishing autoload_data_i construction. It</div><div class='del'>-	  caused SEGV at rb_gc_mark() at autoload_i_mark.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): Move RB_GC_GUARD() to proper</div><div class='del'>-	  position based on suggestion by CHIKANAGA Tomoyuki at</div><div class='del'>-	 http://d.hatena.ne.jp/nagachika/20110826/ruby_trunk_changes_33070_33078</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_defined_p): Fix incompatible autoload behavior</div><div class='del'>-	  that causes Rails crash. Class definition instruction defined in</div><div class='del'>-	  'defineclass' in insns.def always invokes rb_autoload_load for a</div><div class='del'>-	  constant. It's invoked for every class definition regardless of</div><div class='del'>-	  existence of autoload definition. rb_autoload_load checks if a</div><div class='del'>-	  constant is defined as autoloaded, but new thread-safe autoload</div><div class='del'>-	  returned different value if the constant is under autoloading.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 17:20:56 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Re-apply r33078, thread-safe autoload which is reverted at r33093.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 16:28:04 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb (TestIO_M17N#test_{default_mode_on_dosish,</div><div class='del'>-	  default_mode_on_unix,text_mode,binary_mode}): tests for [Bug #5164].</div><div class='del'>-</div><div class='del'>-Wed Aug 31 15:54:11 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Merge json gem v1.5.4 (3dab4c5a6a97fac03dac).</div><div class='del'>-</div><div class='del'>-Wed Aug 31 13:09:41 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): Avoid overflow by optimizing for trivial</div><div class='del'>-	  cases [Bug #5227]</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:50:01 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select_with_thread): and my typo. we all must</div><div class='del'>-	  be more careful.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:48:38 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): critical typo in r33117.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:30:49 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/old_thread_select/test_old_thread_select.rb</div><div class='del'>-	  (TestOldThreadSelect#test_old_select_read_timeout): if the machine</div><div class='del'>-	  is fast enough, the time used by code around IO.select may be smaller</div><div class='del'>-	  than Time implement threshold.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:04:38 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/old_thread_select/old_thread_select.c (old_thread_select):</div><div class='del'>-	  typo.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/old_thread_select/test_old_thread_select.rb</div><div class='del'>-	  (TestOldThreadSelect#test_old_select_signal_safe): use SIGINT instead</div><div class='del'>-	  of SIGUSR1 because the former is general and the latter is platform</div><div class='del'>-	  dependent.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 23:59:36 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement</div><div class='del'>-	  for rb_thread_select() in thread.c.  the use of rb_fd_copy() is</div><div class='del'>-	  introduced in r33117.</div><div class='del'>-	  [Bug #5251] [ruby-core:39195]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): must call rb_fd_init() before using</div><div class='del'>-	  rb_fdset_t.  see the implementations of rb_fd_init()s if you want to</div><div class='del'>-	  know the reason.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 22:34:45 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_callback.rb (test_callback_with_string): prevents</div><div class='del'>-	  temporary string from GC.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 22:25:38 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): revert r33112.  RB_GC_GUARD macro</div><div class='del'>-	  protect a VALUE from GC.  It's not for general anti-optimizing</div><div class='del'>-	  purpose.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 11:06:19 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: Merge json gem 1.5.4+ (2149f4185c598fb97db1).</div><div class='del'>-	  [Bug #5173] [ruby-core:38866]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 09:57:50 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Queue#pop): fix a race against Thread.wakeup.</div><div class='del'>-	  Patch by Masaki Matsushita &lt;glass.saga at gmail dot com&gt;</div><div class='del'>-	  [Bug #5195] [ruby-dev:44400]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 09:48:07 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_entry): fix stack allocation failure on Debian</div><div class='del'>-	  GNU/kFreeBSD.</div><div class='del'>-	  Patch by Lucas Nussbaum &lt;lucas at lucas-nussbaum dot net&gt;.</div><div class='del'>-	  [Bug #5241] [ruby-core:39147]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 09:28:01 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select): rewrite by using</div><div class='del'>-	  rb_thread_fd_select(). old one is EINTR unsafe.</div><div class='del'>-	  Patch by Eric Wong. [Bug #5229] [ruby-core:39102]</div><div class='del'>-</div><div class='del'>-	* test/-ext-/old_thread_select/test_old_thread_select.rb:</div><div class='del'>-	  a testcase for rb_thread_select().</div><div class='del'>-	* ext/-test-/old_thread_select/old_thread_select.c: ditto.</div><div class='del'>-	* ext/-test-/old_thread_select/depend: ditto.</div><div class='del'>-	* ext/-test-/old_thread_select/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 09:08:22 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix a build failure on GNU Hurd.</div><div class='del'>-	  Patch by Samuel Thibault &lt;sthibault at debian dot org&gt;. Thank you!</div><div class='del'>-	  [Bug #5250] [ruby-core:39185]</div><div class='del'>-</div><div class='del'>-Sun Aug 29 23:22:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (test_num2long): modify a test against the</div><div class='del'>-	  change by r33108.</div><div class='del'>-</div><div class='del'>-Sun Aug 29 09:58:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (bit_coerce): A Fixnum and a Bignum are only permitted for</div><div class='del'>-	 bitwise arithmetic with a Fixnum.  #1792</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: add tests for the above change.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bit_coerce): A Fixnum and a Bignum are only permitted for</div><div class='del'>-	 bitwise arithmetic with a Bignum.  #1792</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: add tests for the above change.</div><div class='del'>-</div><div class='del'>-Sun Aug 28 15:38:17 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date_zone_to_diff): keep a temporary string</div><div class='del'>-	  stored in variable while the contents buffer is being used.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date_zone_to_diff): get rid of out of bounds</div><div class='del'>-	  memory read. [ruby-dev:44409] [Bug #5213]</div><div class='del'>-</div><div class='del'>-Sun Aug 28 05:29:50 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 2.5.1 (r6596)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Sat Aug 27 20:46:05 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_rewrite_dfp_in_errinfo): change return type</div><div class='del'>-	  to suppress a warning.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 19:04:06 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_strftime_timespec): moved from time.c and define only</div><div class='del'>-	  if ruby/encoding.h is included.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_strftime): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 18:53:51 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): force to rewrite errinfo when calling Proc.new in ensure.</div><div class='del'>-	  [Bug #5234] [ruby-core:39125]</div><div class='del'>-	  This code will be removed after changing throw mechanism (see r33064).</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_rewrite_dfp_in_errinfo): new function.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): changed accordingly.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_flow.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 18:44:06 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_strftime_timespec): move to time.c because it depends</div><div class='del'>-	  encoding.h.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 18:17:58 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): get enc argument to specify</div><div class='del'>-	  the encoding of the format. On Windows (at least Japanese Windows),</div><div class='del'>-	  Time#strftime("%Z") includes non ASCII in locale encoding (CP932).</div><div class='del'>-	  So convert locale to default internal. [ruby-core:39092] [Bug #5226]</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime): ditto.</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_timespec): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_strftime_timespec): follow above.</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime_alloc): ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (strftimev): ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): the resulted string of Time#to_s is always</div><div class='del'>-	  ascii only, so this should be US-ASCII.</div><div class='del'>-</div><div class='del'>-	* time.c (time_asctime): ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 11:18:12 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Revert r33078. It caused a Rails application NoMethodError.</div><div class='del'>-</div><div class='del'>-	 /home/nahi/git/emptyApp/ruby/1.9.1/gems/rack-mount-0.6.14/lib/rack/mount/utils.rb:157: warning: toplevel constant ScanError referenced by Regin::Parser::ScanError</div><div class='del'>-	 /home/nahi/git/emptyApp/ruby/1.9.1/gems/rack-mount-0.6.14/lib/rack/mount/vendor/regin/regin/parser.rb:17:in `parse_regexp': undefined method `scan_str' for #&lt;Regin::Parser:0x00000002344548&gt; (NoMethodError)</div><div class='del'>-</div><div class='del'>-Sat Aug 27 08:44:58 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Import RDoc 3.9.4.  Typo and grammar fixes by Luke Gruber.</div><div class='del'>-	  [Ruby 1.9 - Bug #5203]</div><div class='del'>-</div><div class='del'>-Sat Aug 27 07:53:34 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb:  Fix indentation of OpenURI::OpenRead#open.  Use ++</div><div class='del'>-	  instead of `' for method arguments in open-uri.rb</div><div class='del'>-</div><div class='del'>-Sat Aug 27 07:22:07 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb:  Fix typos and grammar mistakes.  Patch</div><div class='del'>-	  by Luke Gruber.  [#5203]</div><div class='del'>-	* ext/pty/lib/expect.rb:  ditto</div><div class='del'>-	* lib/mathn.rb:  ditto</div><div class='del'>-	* lib/net/http.rb:  ditto</div><div class='del'>-	* lib/open-uri.rb:  ditto</div><div class='del'>-	* lib/ostruct.rb:  ditto</div><div class='del'>-	* lib/tempfile.rb:  ditto</div><div class='del'>-	* lib/thread.rb:  ditto</div><div class='del'>-	* lib/weakref.rb:  ditto</div><div class='del'>-	* sample/webrick/httpproxy.rb:  ditto</div><div class='del'>-</div><div class='del'>-Sat Aug 27 04:03:18 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): fix type of variable</div><div class='del'>-	  (long -&gt; unsigned long) to suppress a warning.</div><div class='del'>-</div><div class='del'>-Sat Aug 27 04:02:11 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add a decl. of rb_autoloading_value().</div><div class='del'>-</div><div class='del'>-Fri Aug 26 19:12:08 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: Make autoload thread-safe. See #921.</div><div class='del'>-</div><div class='del'>-	  What's the problem?</div><div class='del'>-	    autoload is thread unsafe. When we define a constant to be</div><div class='del'>-	    autoloaded, we expect the constant construction is invariant. But</div><div class='del'>-	    current autoload implementation allows other threads to access the</div><div class='del'>-	    constant while the first thread is loading a file.</div><div class='del'>-</div><div class='del'>-	  What's happening inside?</div><div class='del'>-	    The current implementation uses Qundef as a marker of autoload in</div><div class='del'>-	    Constant table. Once the first thread find Qundef as a value at</div><div class='del'>-	    constant lookup, it starts loading a defined feature. Generally a</div><div class='del'>-	    loaded file overrides the Qundef in Constant table by module/class</div><div class='del'>-	    declaration at very beginning lines of the file, so other threads</div><div class='del'>-	    can see the new Module/Class object before feature loading is</div><div class='del'>-	    finished. It breaks invariant construction.</div><div class='del'>-</div><div class='del'>-	  How to solve?</div><div class='del'>-	    To ensure invariant constant construction, we need to override</div><div class='del'>-	    Qundef with defined Object after the feature loading. For keeping</div><div class='del'>-	    Qundef in Constant table, I expanded autoload_data struct in</div><div class='del'>-	    Module to have a slot for keeping the defined object while feature</div><div class='del'>-	    loading. And changed Module's constant lookup/update logic a</div><div class='del'>-	    little so that the slot is only visible from the thread which</div><div class='del'>-	    invokes feature loading. (== the first thread which accessed the</div><div class='del'>-	    autoload constant)</div><div class='del'>-</div><div class='del'>-	  Evaluation?</div><div class='del'>-	    All test passes (bootstrap test, test-all and RubySpec) and added</div><div class='del'>-	    8 tests for threading behavior. Extra logics are executed only</div><div class='del'>-	    when Qundef is found, so no perf drop should happen except</div><div class='del'>-	    autoloading.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload): Prepare new autoload_data struct.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): Load feature and update Constant</div><div class='del'>-	  table after feature loading is finished.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): When the fetched constant is under</div><div class='del'>-	  autoloading, it returns the object only for the thread which starts</div><div class='del'>-	  autoloading.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined_0): Ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): When the specified constant is under</div><div class='del'>-	  autoloading, it sets the object only for the thread which starts</div><div class='del'>-	  autoloading. Otherwise, simply overrides Qundef with constant</div><div class='del'>-	  override warning.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): Apply same change as</div><div class='del'>-	  rb_const_get_0 in variable.c.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload.rb: Added tests for threading behavior.</div><div class='del'>-</div><div class='del'>-Fri Aug 26 10:10:37 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 1.8.10.  Fixes security issue in</div><div class='del'>-	  creating ruby-format gemspecs.  Fixes Gem.dir not being at the front</div><div class='del'>-	  of Gem.path to fix uninstall and cleanup commands.  Fixes gem</div><div class='del'>-	  uninstall stopping on the first missing gem.</div><div class='del'>-</div><div class='del'>-Fri Aug 26 08:21:10 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (strftimev): Make Time#to_s default to US-ASCII encoding but</div><div class='del'>-	  respect Encoding.default_internal. [ruby-core:39092]</div><div class='del'>-	* test/ruby/test_time.rb (class TestTime): Corresponding test.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 09:43:16 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/bn.rb:  Hide copyright info from RDoc.</div><div class='del'>-	* ext/openssl/lib/openssl/digest.rb:  ditto</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb:  ditto</div><div class='del'>-	* ext/openssl/lib/openssl/cipher.rb:  ditto</div><div class='del'>-</div><div class='del'>-Thu Aug 25 09:25:48 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c:  Document OpenSSL::Digest::digest and add</div><div class='del'>-	  an example to OpenSSL::Digest.  Patch by Sylvain Daubert.</div><div class='del'>-	  [Ruby 1.9 - Bug #5166]</div><div class='del'>-	* ext/openssl/lib/openssl/digest.rb (module OpenSSL):  ditto</div><div class='del'>-</div><div class='del'>-Thu Aug 25 08:19:43 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): work around to solve Bug #2729.</div><div class='del'>-	  fixes: Bug #2729</div><div class='del'>-	  a patch from Kazuki Tsujimoto &lt;kazuki@callcc.net&gt;</div><div class='del'>-	  This problem is caused by changing dfp (dynamic env pointer)</div><div class='del'>-	  from saved dfp.  Saved dfp is pointed env in VM stack.  However,</div><div class='del'>-	  the dfp can be moved because VM copies env from VM stack to</div><div class='del'>-	  the heap.  At this copying, dfp was also changed.  To solve this</div><div class='del'>-	  problem, I'll try to change throw mechanism (not save target dfp,</div><div class='del'>-	  but save target cfp).</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_flow.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 07:57:33 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round): Fix Integer#round [ruby-core:39096]</div><div class='del'>-</div><div class='del'>-Thu Aug 25 07:00:00 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h, vm_insnhelper.c, vm.c, vm_method.c, insns.def:</div><div class='del'>-	  Manage a redefinition of special methods for each classes.</div><div class='del'>-	  A patch from Joel Gouly &lt;joel.gouly@gmail.com&gt;.  Thanks!</div><div class='del'>-</div><div class='del'>-Thu Aug 25 06:51:08 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: Fixing psych version number.</div><div class='del'>-	* ext/psych/psych.gemspec: updating the gemspec.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 06:11:35 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/nodes/node.rb: default `to_yaml` encoding to be</div><div class='del'>-	  UTF-8.</div><div class='del'>-	* test/psych/test_encoding.rb: test yaml dump encoding.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 01:24:33 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_chmod_symbol_mode): Solaris</div><div class='del'>-	  seems to behave the same as FreeBSD.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 01:11:36 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_script_from_stdin): slave pty</div><div class='del'>-	  should be manipulated because master pty may not be a tty on some</div><div class='del'>-	  environment (e.g. Solaris). [Bug:#5222] [ruby-dev:44420]</div><div class='del'>-</div><div class='del'>-Wed Aug 24 15:13:56 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h, iseq.c, compile.c: Change the line number data structure</div><div class='del'>-	  to solve an issue reported at [ruby-dev:44413] [Ruby 1.9 - Bug #5217].</div><div class='del'>-	  Before this fix, each instruction has an information including</div><div class='del'>-	  line number (iseq::iseq_insn_info_table).  Instead of this data</div><div class='del'>-	  structure, recording only line number changing places</div><div class='del'>-	  (iseq::iseq_line_info_table).</div><div class='del'>-	  The order of entries in iseq_line_info_table is ascending order of</div><div class='del'>-	  iseq_line_info_table_entry::position.  You can get a line number</div><div class='del'>-	  by an iseq and a program counter with this data structure.</div><div class='del'>-	  This fix reduces memory consumption of iseq (bytecode).</div><div class='del'>-	  On my measurement, a rails application consumes 21.8MB for</div><div class='del'>-	  iseq with this fix on the 32bit CPU.  Without this fix, it</div><div class='del'>-	  consumes 24.7MB for iseq [ruby-dev:44415].</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_get_sourceline): change to use rb_iseq_line_no().</div><div class='del'>-</div><div class='del'>-Wed Aug 24 09:49:10 2011  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): fix to checking class variable.</div><div class='del'>-	  A patch by Magnus Holm &lt;judofyr@gmail.com&gt;.  Thanks!</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_variable.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 08:53:06 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 3.9.3.  Fixes RDoc with `ruby -Ku`.  Allows</div><div class='del'>-	  HTTPS image paths to be turned into &lt;img&gt; tags.  Prevents special</div><div class='del'>-	  markup inside &lt;tt&gt; from being processed.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 07:57:43 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 1.8.9.  Fixes uninstalling multiple</div><div class='del'>-	  gems and gem cleanup.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 06:45:20 2011  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 2.5.0 (r6557)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Wed Aug 24 00:38:22 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (update_coverage): skip coverage count up if the current</div><div class='del'>-	  line is out of the way.  rb_sourceline() is unreliable when source</div><div class='del'>-	  code is big.  [ruby-dev:44413]</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 15:23:56 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_require):  Improve documentation of Kernel#require.</div><div class='del'>-	  [Ruby 1.9 - Bug #5210]</div><div class='del'>-</div><div class='del'>-Tue Aug 23 11:27:26 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_read_header): Ensure that each section of</div><div class='del'>-	  gzip header is readable to avoid SEGV.</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_corrupted_header): Test it.</div><div class='del'>-</div><div class='del'>-Mon Aug 22 23:43:33 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): add RB_GC_GUARD to prevent temporary</div><div class='del'>-	  strings from GC.</div><div class='del'>-</div><div class='del'>-Sun Aug 21 17:49:53 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_disasm): remove variable which is no longer used</div><div class='del'>-	  since r33013.</div><div class='del'>-</div><div class='del'>-Sun Aug 21 14:20:58 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use LD_LIBRARY_PATH_64 on 64-bit Solaris.</div><div class='del'>-</div><div class='del'>-Sat Aug 20 13:19:52 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_disasm): fix a bug that may cause SEGV.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb (test_body): add a test for the above change.</div><div class='del'>-</div><div class='del'>-Sat Aug 20 10:43:24 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read): return new string if nil</div><div class='del'>-	  is explicitly given as a buffer ([Bug #5207]), otherwise set the</div><div class='del'>-	  encoding.  also removed dead code.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 14:25:51 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_v, proc_spawn): should not wait the</div><div class='del'>-	  spawned process.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_spawn_v): fix missing argument, and try with</div><div class='del'>-	  /bin/sh only if failed with ENOEXEC.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 14:12:57 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (idle): raises a Net::IMAP::Error when the</div><div class='del'>-	  connection is closed.  based on the patch by Hugo Barauna.</div><div class='del'>-	  [Bug #5190] [ruby-core:38930]</div><div class='del'>-</div><div class='del'>-Fri Aug 19 13:18:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: defines _DARWIN_UNLIMITED_SELECT if the target_os</div><div class='del'>-	  is darwin.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 13:14:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: add a description for the behavior of select(2) on</div><div class='del'>-	  Mac OS X 10.7 (Lion).</div><div class='del'>-</div><div class='del'>-Fri Aug 19 11:28:58 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (msg_att): accepts extra space before ')'.</div><div class='del'>-	  based on the patch by art lussos.  [Bug #5163] [ruby-core:38820]</div><div class='del'>-</div><div class='del'>-Wed Aug 17 23:01:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (cannot_be_coerced_into_BigDecimal):</div><div class='del'>-	  remove duplication.</div><div class='del'>-</div><div class='del'>-Wed Aug 17 15:27:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (cannot_be_coerced_into_BigDecimal):</div><div class='del'>-	  add a new function for raising error when an object cannot coerce</div><div class='del'>-	  into BigDecimal.  [Bug #5172]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimalValueWithPrec): use</div><div class='del'>-	  cannot_be_coerced_into_BigDecimal function.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: test for the above changes.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/testbase.rb (under_gc_stress): add a new utility</div><div class='del'>-	  method to run tests under the condition of GC.stress = true.</div><div class='del'>-</div><div class='del'>-Wed Aug 17 10:16:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_coerce): Rational#coerce should converts itself</div><div class='del'>-	  into Complex if the argument is a Complex with non-zero imaginary</div><div class='del'>-	  part.  [Bug #5020] [ruby-dev:44088]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb (test_coerce): test for the above change.</div><div class='del'>-</div><div class='del'>-Wed Aug 17 06:33:19 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509cert.c: Add class documentation for</div><div class='del'>-	  OpenSSL::X509::Certificate.</div><div class='del'>-</div><div class='del'>-Wed Aug 17 04:54:25 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c: corrected docs, OpenSSL::PKey::DH does</div><div class='del'>-	  *not* support #sign/verify.</div><div class='del'>-</div><div class='del'>-Tue Aug 16 18:56:54 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_threadptr_data_type): rename to hide.</div><div class='del'>-	  [ruby-core:38972]</div><div class='del'>-</div><div class='del'>-Tue Aug 16 18:52:08 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb (Exports::Mswin#each_export): exclude Init_</div><div class='del'>-	  and _threadptr_ functions, as well as mingw.</div><div class='del'>-</div><div class='del'>-Tue Aug 16 09:31:44 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl:  Add documentation.  Patch by Vincent Batts.</div><div class='del'>-	  [Ruby 1.9 - Bug #5192]</div><div class='del'>-</div><div class='del'>-Tue Aug 16 08:48:26 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document (fiddle):  Remove duplicate entry</div><div class='del'>-	* ext/fiddle:  Complete documentation of Fiddle.  Patch by Vincent</div><div class='del'>-	  Batts.  [#5192]</div><div class='del'>-</div><div class='del'>-Tue Aug 16 08:00:15 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket:  Make Socket documentation appear.  Add documentation for</div><div class='del'>-	  Socket, TCPServer, SOCKSSocket.  Patch by Sylvain Daubert.</div><div class='del'>-	  [Ruby 1.9 - Feature #5182]</div><div class='del'>-</div><div class='del'>-Mon Aug 15 09:58:55 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Support disabling OpenSSL compression.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Add a test for it.</div><div class='del'>-	  Thanks to Eric Wong for the patch.</div><div class='del'>-	  [Ruby 1.9 - Feature #5183] [ruby-core:38911]</div><div class='del'>-</div><div class='del'>-Sun Aug 14 05:57:01 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test_connect_timeout): added a test</div><div class='del'>-	  based on a patch by Eric Wong.  [ruby-core:38910]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 22:17:27 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: do not make the entries related to sitedir and</div><div class='del'>-	  verdordir if disabled by --without options.  [ruby-core:38922]</div><div class='del'>-	  [Bug #5187]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 17:03:22 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:38861]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 09:39:07 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_*.rb: added tests.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 09:36:19 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (parse_ddd_cb): fix r32896. RB_GC_GUARD</div><div class='del'>-	  insertion position was mistaken. [ruby-dev:44337] [Bug #5152]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 09:26:24 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/core_ext.rb: Make Kernel#y private.</div><div class='del'>-	  [ruby-core:38913]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yaml.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 09:05:16 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (date_strftime_alloc): followed the change</div><div class='del'>-	  of r32885.</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-1.9.3: followed the above change.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 08:55:38 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: Only consider strings</div><div class='del'>-	  with fewer than 2 dots to be numbers. [ruby-core:38915]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 08:47:20 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:38855].</div><div class='del'>-</div><div class='del'>-Sat Aug 13 03:41:37 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb:  Fix documentation of URI::Parser.new.  Patch by</div><div class='del'>-	  Steve Klabnik.  [Ruby 1.9 - Bug #5177]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 02:19:57 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c:  Add documentation for the Digest module.  Patch</div><div class='del'>-	  by Sylvain Daubert.  [Ruby 1.9 - Bug #5167]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 01:56:11 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake:  Update to Rake 0.9.2.2.  Prevent pollution of toplevel</div><div class='del'>-	  namespace by Commands.  Remove unused variable and debugging</div><div class='del'>-	  statement in tests.</div><div class='del'>-</div><div class='del'>-Fri Aug 12 11:39:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Describe "no" configure option for site_ruby</div><div class='del'>-	  and vendor_ruby. Patch by Vit Ondruch. [Bug #5187][ruby-core:38921]</div><div class='del'>-</div><div class='del'>-Fri Aug 12 09:00:24 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems 1.8.8.  Fixes encoding of YAML gemspec</div><div class='del'>-	  from gems.  Github Issue #149</div><div class='del'>-</div><div class='del'>-Fri Aug 12 08:17:46 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for</div><div class='del'>-	  listen backlog.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Addrinfo#listen): ditto.</div><div class='del'>-	  (Socket.tcp_server_sockets_port0): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define SOMAXCONN as 5 if not available.</div><div class='del'>-</div><div class='del'>-	[ruby-core:38493]</div><div class='del'>-</div><div class='del'>-Fri Aug 12 03:24:35 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Import RDoc 3.9.2.  Fixes TIDYLINK for HTML output.</div><div class='del'>-</div><div class='del'>-Thu Aug 11 15:37:42 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_delete): An autoload entry is still in a</div><div class='del'>-	  RCLASS_IV_TBL, not in a RCLASS_CONST_TBL, so take back the table</div><div class='del'>-	  changed in r29600. And an autoload entry keeps not a</div><div class='del'>-	  rb_const_entry_t but a NODE so remove rb_const_entry_t thing added</div><div class='del'>-	  in r29602.</div><div class='del'>-</div><div class='del'>-Thu Aug 11 15:07:36 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command): use LIBRUBYARG in rbconfig for</div><div class='del'>-	  unbundled extensions.  [ruby-core:38802] [Bug #5147]</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): revert r32902.  [ruby-core:38903]</div><div class='del'>-</div><div class='del'>-Wed Aug 10 23:03:55 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: fix argument check in the previous commit.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 22:12:28 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.tcp): add :connect_timeout option.</div><div class='del'>-	  (Addrinfo#connect_from): add :timeout option.</div><div class='del'>-	  (Addrinfo#connect): ditto.</div><div class='del'>-	  (Addrinfo#connect_to): ditto.</div><div class='del'>-	  [ruby-core:38538]</div><div class='del'>-</div><div class='del'>-Wed Aug 10 21:27:19 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb: fix typo in document.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 19:30:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_rationalize): calls rationalize of real part if</div><div class='del'>-	  imaginary part is exactly zero.  The patch is made by Marc-Andre</div><div class='del'>-	  Lafortune.  fixes [Bug #5178] [ruby-core:38885]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb (test_rationalize): add a test for the</div><div class='del'>-	  above change.</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_to_r): fix RDoc comment.  The patch is made by</div><div class='del'>-	  Marc-Andre Lafortune.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 14:11:07 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (init_mkmf): set $LIBRUBYARG regardless of shared</div><div class='del'>-	  option.  [ruby-core:38802] [Bug #5147]</div><div class='del'>-</div><div class='del'>-Wed Aug 10 02:53:27 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: come back autoload. OpenSSL constant is used</div><div class='del'>-	  some places, so it leads mistakes like HTTP.start.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 22:57:45 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date_zone_to_diff): add RB_GC_GUARD.</div><div class='del'>-	  [ruby-dev:44337] [Bug #5152]</div><div class='del'>-</div><div class='del'>-	* ext/date/data_parse.c (parse_ddd_cb): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 14:25:47 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.c (generic_to_value): ffi_arg and ffi_sarg</div><div class='del'>-	  should be used to handle shorter return value. fix [Bug #3861]</div><div class='del'>-	  [ruby-core:32504]</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (callback): ditto</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.h (fiddle_generic): ditto</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.c (value_to_generic): char, short and int</div><div class='del'>-	  are strictly distinguished on big-endian CPU, e.g. sparc64.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 11:21:08 2011  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_lazy_sweep): if sweep target slots are not found, we</div><div class='del'>-	  try heap_increment() because it might be able to expand the</div><div class='del'>-	  heap. [Bug #5127] [ruby-dev:44285]</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_clear_mark_on_sweep_slots): if a sweeping was</div><div class='del'>-	  interrupted, we expand the heap if at all possible.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 12:20:33 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/helper.rb (libc_so, libm_so): Solaris support added.</div><div class='del'>-	  [ruby-core:38853] [Bug #5168]</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb (libc_so, libm_so): on Solaris, remove libc</div><div class='del'>-	  and libm version numbers for detecting default libc and libm.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 09:18:04 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_wrap):  Document encoding options.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzwriter_s_open): ditto</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_s_open): ditto</div><div class='del'>-</div><div class='del'>-Sun Aug  7 23:31:32 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime_alloc): raise ERANGE if width is too large.</div><div class='del'>-	  Patch by Nobuyoshi Nakada. [Bug #4457] [ruby-dev:43285]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (class TestTime): add a test for the</div><div class='del'>-	  above change.</div><div class='del'>-</div><div class='del'>-Sun Aug  7 22:51:45 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (decode_eoc): remove unused variables.</div><div class='del'>-	  Patch by Eric Wong. [Feature #5157] [ruby-core:38798]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug  7 22:37:08 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -Wunused-variable to default CFLAGS.</div><div class='del'>-	  Patch by Eric Wong. [Feature #5157] [ruby-core:38798]</div><div class='del'>-</div><div class='del'>-Sun Aug  7 15:37:35 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2ossl.c: use original SHA384_Final on DragonFly.</div><div class='del'>-</div><div class='del'>-Sun Aug  7 14:08:16 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: fix typos in a document.</div><div class='del'>-</div><div class='del'>-Sun Aug  7 07:14:57 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (HAVE_GETCONTEXT): see getcontext(3) because DragonFly BSD</div><div class='del'>-	  x64 port doesn't have it.</div><div class='del'>-</div><div class='del'>-Sun Aug  7 00:42:55 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/wm.rb (Tk::Wm.command): Add the missing receiver</div><div class='del'>-	  before calling epath. patched by flori</div><div class='del'>-	 https://github.com/flori/ruby/commit/aa9474d32e5f2c57f8b0e2e0c528a03f06a4d433</div><div class='del'>-</div><div class='del'>-Sat Aug  6 07:06:34 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object):  Fix exception message when _dump_data is not</div><div class='del'>-	  defined on a T_DATA object.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 22:16:20 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_infinity, rb_nan): use WORDS_BIGENDIAN to get endian.</div><div class='del'>-	  fix [Bug #5160] [ruby-dev:44356]</div><div class='del'>-</div><div class='del'>-Fri Aug  5 17:14:11 2011  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb (TestSyslog#test_log): Do not be too</div><div class='del'>-	  specific about the log line format.  Fixes #5081.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 15:57:10 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_signbit): fix compile error in gcc4 on Solaris with</div><div class='del'>-	  CFLAGS="-std=gnu99".  [ruby-dev:44355] fix [Bug #5159]</div><div class='del'>-</div><div class='del'>-	* math.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 15:55:33 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: tests that respond_to? returns false.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 13:32:43 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb, lib/xmlrpc/server.rb: should use</div><div class='del'>-	  String#bytesize instead of String#size.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 12:18:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall): try respond_to? first if redefined.</div><div class='del'>-	  [Bug #5158]</div><div class='del'>-</div><div class='del'>-Fri Aug  5 09:48:22 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems 1.8.7:</div><div class='del'>-	  Added missing require for `gem uninstall --format-executable`.</div><div class='del'>-</div><div class='del'>-	  The correct name of the executable being uninstalled is now displayed</div><div class='del'>-	  with --format-executable.</div><div class='del'>-</div><div class='del'>-	  Fixed `gem unpack uninstalled_gem` default version picker.</div><div class='del'>-</div><div class='del'>-	  RubyGems no longer claims a nonexistent gem can be uninstalled.</div><div class='del'>-</div><div class='del'>-	  `gem which` no longer claims directories are requirable files.</div><div class='del'>-</div><div class='del'>-	  `gem cleanup` continues cleaning up gems if one can't be uninstalled</div><div class='del'>-	  due to permissions.  Issue #82.</div><div class='del'>-</div><div class='del'>-	  Gem repository directories are no longer created world-writable.</div><div class='del'>-	  Patch by Sakuro OZAWA.  [Ruby 1.9 - Bug #4930]</div><div class='del'>-</div><div class='del'>-Fri Aug  5 07:00:31 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (test_noctty): daemon() on</div><div class='del'>-	  Fedora Rawhide seems not to detach the controlling terminal,</div><div class='del'>-	  when the argument noclose is non-zero.  ref: [Bug #5135]</div><div class='del'>-</div><div class='del'>-Thu Aug  4 23:48:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_signal): retry to call pthread_cond_signal</div><div class='del'>-	  and pthread_cond_broadcast if they return EAGAIN in</div><div class='del'>-	  native_cond_signal and native_cond_broadcast, respectively.</div><div class='del'>-	  It is for the pthread implementation of Mac OS X 10.7 (Lion).</div><div class='del'>-	  fixes #5155.  [ruby-dev:44342].</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_cond_broadcast): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (struct cached_thread_entry): stop using</div><div class='del'>-	  pthread_cond_t and its functions directly.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (register_cached_thread_and_wait): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (use_cached_thread): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 20:29:41 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: when Solaris cc, use $(CC) to link shared libs.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 20:19:11 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (report_bug): use a small message buffer instead of BUFSIZ.</div><div class='del'>-	  It is needed for avoiding nested SIGSEGV on Linux.</div><div class='del'>-	  Note: BUFSIZ is not proper buffer size. It's unrelated with maximum</div><div class='del'>-	  filename length. :-/</div><div class='del'>-	  [Bug #5139] [ruby-dev:44315]</div><div class='del'>-</div><div class='del'>-Thu Aug  4 16:08:45 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): install all gemspecs under lib and ext.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (Gem::Specification): may not be defined when</div><div class='del'>-	  cross-compiling and BASERUBY is 1.8.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 11:30:36 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: define __syscall on OpenBSD as r32702.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 03:02:54 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: use rubygems to load gemspecs, copy actual</div><div class='del'>-	  gemspecs on install rather than generate fake ones for all gems.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 02:45:10 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: set CXX variable to the C++ compiler that matches the</div><div class='del'>-	  C compiler specified by CC variable (e.g. use g++-4.2 for gcc-4.2).</div><div class='del'>-</div><div class='del'>-Thu Aug  4 02:21:10 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command): use static library only for bundled</div><div class='del'>-	  extensions.  [Bug #5147]</div><div class='del'>-</div><div class='del'>-Thu Aug  4 02:02:10 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: installing psych as a gem.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 16:01:35 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c, include/ruby/util.h (ruby_add_suffix): remove the function.</div><div class='del'>-	  [Bug #5153] [ruby-core:38736]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): remove the call of above function.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/add_suffix, test/-ext-/test_add_suffix.rb: remove the test</div><div class='del'>-	  extension module because this is only for testing ruby_add_suffix().</div><div class='del'>-</div><div class='del'>-	* LEGAL: remove the mention about a part of util.c, because now we</div><div class='del'>-	  removed the part.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): now the new filename is not guaranteed to</div><div class='del'>-	  use, so should check the return value of rename(2).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_argf.rb (TestArgf#test_inplace_rename_impossible):</div><div class='del'>-	  now we expect same result with other platforms on no_safe_rename</div><div class='del'>-	  platforms (=Windows).</div><div class='del'>-</div><div class='del'>-Wed Aug  3 09:18:08 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/webrick_testing.rb (WEBrick_Testing#start_server):</div><div class='del'>-	  Like r32795, bind address should be specified.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 07:46:30 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): mistakenly remained !.  [Bug #5150]</div><div class='del'>-</div><div class='del'>-Wed Aug  3 00:11:08 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb: update document.  [ruby-core:36776]</div><div class='del'>-</div><div class='del'>-Tue Aug  2 22:04:46 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (init_heap): allocate sigaltstack after heaps are allocated.</div><div class='del'>-	  [ruby-dev:44315] [Bug #5139]</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_free): use free because objspace is not ready.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init): use malloc because objspace is not ready.</div><div class='del'>-</div><div class='del'>-Tue Aug  2 20:10:16 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb: pass "--ruby" option to</div><div class='del'>-	  test/testunit/tests_for_parallel/runner.rb. [Bug #5132] [ruby-dev:44303]</div><div class='del'>-</div><div class='del'>-Tue Aug  2 15:53:37 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (str_to_encoding): rename from to_encoding and</div><div class='del'>-	  use str_to_encindex.</div><div class='del'>-</div><div class='del'>-	* encoding.c (str_to_encindex): split from to_encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_to_encoding): use str_to_encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_obj_encoding): don't bypass rb_encoding*.</div><div class='del'>-	  If it uses rb_encoding*, it bypass encindex. If it uses encindex,</div><div class='del'>-	  it doesn't bypass.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): add shortcut for encoding object, use</div><div class='del'>-	  str_to_encindex, and avoid bypass rb_encoding*.</div><div class='del'>-</div><div class='del'>-Tue Aug  2 12:03:16 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (recursive_hash): hash value of emptied hash should be</div><div class='del'>-	  equal to an empty hash.  [ruby-core:38650]</div><div class='del'>-</div><div class='del'>-Tue Aug  2 11:42:15 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname2_p): :! is valid symbol.  [Bug #5136]</div><div class='del'>-</div><div class='del'>-Tue Aug  2 07:33:29 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTP_version_1_1_methods#test_timeout_during_HTTP_session):</div><div class='del'>-	  If you connect to localhost, you should listen localhost.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  2 06:18:15 2011  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (class Gem): Correct path check on Windows</div><div class='del'>-	  Possible fix for [Ruby 1.9 - Bug #5111]</div><div class='del'>-	* test/rubygems/test_gem_installer.rb (load Gem): ditto</div><div class='del'>-</div><div class='del'>-Mon Aug  1 20:12:03 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#windows?): new method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#*): use above method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_execopts_redirect):</div><div class='del'>-	  windows doesn't support FD_CLOEXEC.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 15:45:23 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_functional.rb:  Don't assume the binary name of</div><div class='del'>-	  ruby is "ruby".  [Ruby 1.9 - Bug #5114]</div><div class='del'>-	* test/rake/helper.rb:  ditto</div><div class='del'>-</div><div class='del'>-Mon Aug  1 15:31:14 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (TestIO_Console#test_sync):</div><div class='del'>-	  Skip when PTY allocation failed (that's not our fault).</div><div class='del'>-</div><div class='del'>-Mon Aug  1 15:04:12 2011  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb (Test_Webrick#setup_http_server):</div><div class='del'>-	  XMLRPC::Client.new3(), when called without host: argument, tries</div><div class='del'>-	  to  connect to  a host  where "localhost"  resolves to.   On the</div><div class='del'>-	  other  hand  a  WEBrick::HTTPServer.new(), when  called  without</div><div class='del'>-	  BindAddress:  argument, tries  to listen  all the  address where</div><div class='del'>-	  getaddrinfo(AF_UNSPEC) resolves to.   This is a mismatch because</div><div class='del'>-	  "localhost" might not resolve to one of those listening sockets.</div><div class='del'>-	  We  would  better explicitly  specify  "localhost"  here and  if</div><div class='del'>-	  failed, just skip the whole test.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 14:24:56 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Import RDoc 3.9.1.  Fixes bugs in the RDoc::Markup</div><div class='del'>-	  parser.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 12:00:35 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (concatstrings): don't use initial ASCII-8BIT string.</div><div class='del'>-	  [ruby-core:38635] [Bug #5126]</div><div class='del'>-</div><div class='del'>-Sun Jul 31 22:57:16 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/Makefile.in (ECHO1): Same as the recent fix in common.mk.</div><div class='del'>-	  ":" in a make variable replacement cause a syntax error with</div><div class='del'>-	  /usr/ccs/bin/make on Solaris.  Uses $(NULLCMD) instead.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 21:16:02 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_signbit): gcc4 on Solaris DOES have signbit but does</div><div class='del'>-	  not have it on header.</div><div class='del'>-</div><div class='del'>-	* math.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 21:09:04 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (node_name.inc): Use $(Q) for consistency.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (INSNS): ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 21:19:51 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration:ECHO1): Same as the recent fix in</div><div class='del'>-	  common.mk.</div><div class='del'>-	  ":" in a make variable replacement cause a syntax error with</div><div class='del'>-	  /usr/ccs/bin/make on Solaris.  Uses $(NULLCMD) instead.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 20:39:12 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ECHO1): nmake does not allow parenthesis in make variable</div><div class='del'>-	  replacement.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 23:06:57 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (check_env): print debug messages to stderr.</div><div class='del'>-	[Feature #4871] [ruby-dev:43743]</div><div class='del'>-</div><div class='del'>-Sun Jul 31 22:50:23 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): don't save prev env value.</div><div class='del'>-	It is no longer used. [Feature #4871] [ruby-dev:43743]</div><div class='del'>-</div><div class='del'>-	* vm.c (check_env): changed accordingly.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 20:21:36 2011  "Yuki Sonoda (Yugui)"  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ECHO1): ":" in a make variable replacement cause a syntax</div><div class='del'>-	  error with /usr/ccs/bin/make on Solaris.  Uses $(NULLCMD) instead.</div><div class='del'>-</div><div class='del'>-	* configure.in (NULLCMD): new check.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (NULLCMD): Reflects checking in configure.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (NULLCMD): new assignment.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 18:58:59 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_pipe): pipe on cygwin can succeed half but fail</div><div class='del'>-	  half.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 11:31:07 2011  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: check if cfp is valid. [Bug #5083] [ruby-dev:44208]</div><div class='del'>-</div><div class='del'>-Sun Jul 31 09:18:28 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 3.9.  Fixed `ri []`, stopdoc creating an</div><div class='del'>-	  object reference, nodoc for class aliases, verbatim === lines.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 01:29:08 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_byte): remove unused variable e.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 01:23:45 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_version): removed.</div><div class='del'>-</div><div class='del'>-Sat Jul 30 23:19:09 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/default_gems: separate from tool/rbinstall.rb.</div><div class='del'>-</div><div class='del'>-Sat Jul 30 23:14:44 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_byte): rbuf can be refreshed during yield.</div><div class='del'>-	  [Bug #5119]</div><div class='del'>-</div><div class='del'>-Sat Jul 30 22:35:50 2011  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (NEEDS): avoid SEGV due to integer overflow in</div><div class='del'>-	  sparc-solaris2.10 and i686-linux.  fix [Bug #4456] [ruby-dev:43284]</div><div class='del'>-</div><div class='del'>-Sat Jul 30 17:26:26 2011  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb: use skip method to skip the test.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant_outarg.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 30 14:27:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_version): version 1.1.0.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: turn into a default gem.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 30 11:21:55 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ALT_STACK_SIZE): use MINSIGSTKSZ*2 instead of SIGSTKSZ*2.</div><div class='del'>-	  [ruby-core:38607]</div><div class='del'>-</div><div class='del'>-Sat Jul 30 10:39:14 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init): preallocate alternative stack.</div><div class='del'>-	  NoMemoryError is better than rb_bug, of course.</div><div class='del'>-	  Patch by Eric Wong. [ruby-core:38572][ruby-core:38594].</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_register_sigaltstack): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: moved ALT_STACK_SIZE definition from signal.c.</div><div class='del'>-	* vm.c (thread_free): use xfree() instead of free().</div><div class='del'>-</div><div class='del'>-Sat Jul 30 07:20:49 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (udp_server_sockets): unused variable</div><div class='del'>-	  removed.</div><div class='del'>-	  patch by Jeremy Evans.  [ruby-core:38600]</div><div class='del'>-</div><div class='del'>-Fri Jul 29 23:56:32 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: call OpenSSL::Random.seed at the</div><div class='del'>-	  SecureRandom.random_bytes call.</div><div class='del'>-	  based on the patch by Masahiro Tomita.  [ruby-dev:44270]</div><div class='del'>-</div><div class='del'>-Fri Jul 29 23:53:48 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_set_len): new function to set array length.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing): set the length of argv array, to mark</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_apply): get rid of too large alloca.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 20:48:39 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: fix typos.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 20:28:56 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: use whitespaces as a separator.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 18:59:07 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: add documents for constants.</div><div class='del'>-	  patch by Eric Hodel.  [ruby-core:37853] [Bug #4989]</div><div class='del'>-</div><div class='del'>-Fri Jul 29 16:00:43 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (enable_pthread): use -pthread on OpenBSD without</div><div class='del'>-	  explicit option. patched by Jeremy Evans. [ruby-core:38572]</div><div class='del'>-</div><div class='del'>-Thu Jul 28 23:36:28 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (callback): use rb_ary_tmp_new() instead of</div><div class='del'>-	  xmalloc() to allocate an array for arguments of callback procedure,</div><div class='del'>-	  to prevent arguments from being swept by GC. [ruby-core:38546]</div><div class='del'>-	  [Bug #4929]</div><div class='del'>-</div><div class='del'>-Thu Jul 28 22:36:06 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_initialize): Avoid possible</div><div class='del'>-	  SEGV from AES encryption/decryption. Processing data by</div><div class='del'>-	  Cipher#update without initializing key (meaningless usage of Cipher</div><div class='del'>-	  object since we don't offer a way to export a key) could cause SEGV.</div><div class='del'>-</div><div class='del'>-	  In OpenSSL, the EVP which has EVP_CIPH_RAND_KEY flag (such as DES3)</div><div class='del'>-	  allows uninitialized key, but other EVPs (such as AES) does not</div><div class='del'>-	  allow it. Calling EVP_CipherUpdate() without initializing key causes</div><div class='del'>-	  SEGV so we set the data filled with "\0" as the key by default. See</div><div class='del'>-	  #2768.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb: test it.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 14:25:08 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/user_interaction.rb (Gem::StreamUI#tty?): typo.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 12:32:53 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/mkcallback.rb (gencallback): use PTR2NUM.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_aref, rb_dlptr_aset): check NULL pointer</div><div class='del'>-	  dereference.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): use rb_check_funcall.</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): fix wrapping condition.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 04:53:31 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb:  Move file-level documentation to the appropriate</div><div class='del'>-	  classes.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 02:15:04 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (dlcfunc_mark), ext/dl/cptr.c (dlptr_mark):</div><div class='del'>-	  workaround to mark wrapped object.  this is not a true fix,</div><div class='del'>-	  because [Bug #4929] is caused by the interface design of DL.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 00:28:15 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add OpenBSD case.</div><div class='del'>-	  patched by Jeremy Evans [ruby-core:38530] see #5097</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 22:46:59 2011  CHIKANAGA Tomoyuki  &lt;nagachika00@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_remote_array_and_hash):</div><div class='del'>-	  add local variables to protect objects from GC. [ruby-dev:44253]</div><div class='del'>-	  [Bug #5104]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 17:55:54 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: define __syscall if the platform has</div><div class='del'>-	  __syscall in the library but doesn't define it in headers</div><div class='del'>-	  for example Mac OS X.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 15:39:14 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c:  Add usage documentation for BasicObject.  Based on patch</div><div class='del'>-	  by Thomas Sawyer.  [Ruby 1.9 - Bug #5067]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 12:24:17 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/uninstaller.rb:  Add missing require and update</div><div class='del'>-	  messaging to avoid confusion with uninstall --format-executable.</div><div class='del'>-	  [Ruby 1.9 - Bug #4062]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 09:34:24 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 1.8.6.1.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 09:27:59 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs12.rb: Add test and intermediate certificates.</div><div class='del'>-	  [ Ruby 1.9 - Feature #3793 ] [ruby-core:32088]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 01:05:32 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (rb_print_undef_str): new function to raise</div><div class='del'>-	  NameError for undefined method.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_mod_autoload_p), object.c (rb_mod_const_get),</div><div class='del'>-	  variable.c (rb_f_untrace_var, set_const_visibility), vm_method.c</div><div class='del'>-	  (rb_mod_{remove,undef,alias}_method, set_method_visibility):</div><div class='del'>-	  remove inadvertent symbol creation.  based on the first patch by</div><div class='del'>-	  Jeremy Evans at [ruby-core:38447].  [Feature #5089]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (obj_respond_to): fix the respond_to_missing? override</div><div class='del'>-	  case.  based on the patch by Jeremy Evans at [ruby-core:38417].</div><div class='del'>-	  [Feature #5072]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_check_id): make the given name a symbol or a string.</div><div class='del'>-	  based on the second patch by Jeremy Evans at [ruby-core:38447]</div><div class='del'>-</div><div class='del'>-Wed Jul 27 00:50:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb (Rational#to_d):</div><div class='del'>-	  zero or negative precision is error.  fixes #5098.</div><div class='del'>-	  [ruby-dev:44210]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal_util.rb: add test for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 00:48:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): modified for</div><div class='del'>-	  specifying precision.  fixes #5098.  [ruby-dev:44210]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal_util.rb: add test for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 00:45:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb (Integer#to_d): added</div><div class='del'>-	  for symmetry to BigDecimal() function with an Integer.</div><div class='del'>-	  fixes #5098.  [ruby-dev:44210]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal_util.rb: add test for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 00:30:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb (BigDecimal#to_d): added</div><div class='del'>-	  for adapting other Numeric subclasses.  [ruby-dev:44245]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal_util.rb: test for the above change.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 00:27:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bigdecimal/bigdecimal.c (VpDup) a new function for duplicating</div><div class='del'>-	  a BigDecimal.</div><div class='del'>-</div><div class='del'>-	* bigdecimal/bigdecimal.c (BigDecimal_new): support generating a new</div><div class='del'>-	  BigDecimal from another BigDecimal using BigDecimal global function</div><div class='del'>-	  or constructor.  [ruby-dev:44245]</div><div class='del'>-</div><div class='del'>-Tue Jul 26 23:33:24 2011  Igor Zubkov  &lt;igor.zubkov@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Fix typo. https://github.com/ruby/ruby/pull/36</div><div class='del'>-</div><div class='del'>-Mon Jul 25 23:51:01 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: pre-allocate the unlinked_method_entry_list_entry struct to</div><div class='del'>-	  avoid memory allocation during GC.  based on a patch from Eric Wong.</div><div class='del'>-	  [ruby-core:38498]</div><div class='del'>-</div><div class='del'>-Mon Jul 25 23:39:33 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_directory_task.rb (TestRakeDirectoryTask#</div><div class='del'>-	  test_directory_win32): fixed wrong test.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 22:36:11 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (struct METHOD), gc.c (gc_marks), vm_method.c</div><div class='del'>-	  (rb_gc_mark_unlinked_live_method_entries): fix SEGV bug.</div><div class='del'>-	  rb_method_entry_t was free'd even when the method is still on the</div><div class='del'>-	  stack if it is BMETHOD (i.e., Method#call).  This is because</div><div class='del'>-	  rb_method_entry_t is embedded in struct METHOD.  This commit</div><div class='del'>-	  separates them and marks the live method entries.</div><div class='del'>-	  See [ruby-core:38449] in detail.  fix [Bug #5047] [ruby-core:38171]</div><div class='del'>-</div><div class='del'>-Mon Jul 25 22:14:37 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: Fix possible HTTP header formatting failure by</div><div class='del'>-	  'Basic' header. Long username caused the base64 String truncation in</div><div class='del'>-	  HTTP header which is not allowed. See #5046.</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb: test it.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 15:04:33 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl.rb: End of transition period introduced by</div><div class='del'>-	  [ruby-dev:38018]. From the next version of 1.9.3, you should use</div><div class='del'>-	    require "openssl"</div><div class='del'>-	  instead of</div><div class='del'>-	    require "openssl/ssl"</div><div class='del'>-	  and</div><div class='del'>-	    require "openssl/x509"</div><div class='del'>-</div><div class='del'>-Mon Jul 25 13:46:38 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb: Cosmetic change: move definition</div><div class='del'>-	  introduced in r30152 to x509-internal.rb.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 13:09:42 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): Avoid randomly generated</div><div class='del'>-	  SSLError from SSLSocket just after invoking SSLSocket#close.</div><div class='del'>-	  OpenSSL's SSL_shutdown could try to send alert packet and it might</div><div class='del'>-	  set SSLerr(global error stack) as the result. It causes the next</div><div class='del'>-	  SSL read/write operation to fail by unrelated reason.</div><div class='del'>-</div><div class='del'>-	  By design, we're ignoring any error at SSL_shutdown() so we clear</div><div class='del'>-	  global error stack after SSL_shutdown is called. See #5039.</div><div class='del'>-</div><div class='del'>-Sun Jul 24 20:29:53 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: refine the recvmsg test.</div><div class='del'>-</div><div class='del'>-Sun Jul 24 20:02:31 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: fix the recvmsg test.</div><div class='del'>-</div><div class='del'>-Sun Jul 24 08:42:51 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test recvmsg allocates file descriptors for</div><div class='del'>-	  fd passing even with MSG_PEEK.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: use the above test result.</div><div class='del'>-</div><div class='del'>-Sun Jul 24 01:04:50 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Restore behavior of</div><div class='del'>-	  Gem::Specification#loaded.  [Ruby 1.9 - Bug #5032]</div><div class='del'>-</div><div class='del'>-Sun Jul 24 00:05:00 2011  Jeremy Evans  &lt;merch-redmine@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_name_error_str): new function to raise NameError</div><div class='del'>-	  with the name string but not ID.</div><div class='del'>-</div><div class='del'>-	* object.c, proc.c, variable.c: more removal of inadvertent symbol</div><div class='del'>-	  creation.  [Feature #5079]</div><div class='del'>-</div><div class='del'>-Sat Jul 23 21:14:00 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (cbrt): should return a real number if possible.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 20:12:52 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_functional.rb (setup): Use __FILE__ for the base</div><div class='del'>-	  directory. Current directory is not the top source directory when</div><div class='del'>-	  the building process runs on other than there.</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_rake_test_loader.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_task_argument_parsing.rb</div><div class='del'>-	  (test_terminal_width_using_hardcoded_80): hardcoded 80 is used</div><div class='del'>-	  when app.unix? is false.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 20:11:50 2011  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: an issue that is same as  [ruby-dev:44071].</div><div class='del'>-	* ext/date/date_strftime.c: identical to [ruby-dev:44112].</div><div class='del'>-</div><div class='del'>-Sat Jul 23 19:12:53 2011  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb (test_err_in_callback):</div><div class='del'>-	  skip test if ADODB.connection is not available.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 15:37:04 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname_type): :$a!, @a! and so on are not</div><div class='del'>-	  valid symbols, so they should be inspected with quotes.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 17:06:25 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_update_max_fd): validate fd.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_discard_cmsg_resource): add</div><div class='del'>-	  msg_peek_p argument for the declaration.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (discard_cmsg): add msg_peek_p argument.</div><div class='del'>-	  assume FreeBSD, NetBSD and MacOS X doesn't generate passed fd</div><div class='del'>-	  when MSG_PEEK.</div><div class='del'>-	  (rsock_discard_cmsg_resource): add msg_peek_p argument.</div><div class='del'>-	  (bsock_recvmsg_internal): call rsock_discard_cmsg_resource with</div><div class='del'>-	  msg_peek_p argument.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_recv_io): call</div><div class='del'>-	  rsock_discard_cmsg_resource with msg_peek_p argument.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 14:38:28 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake*: Remove dependencies on flexmock and session gems.</div><div class='del'>-	  [Ruby 1.9 - Bug #4987]</div><div class='del'>-</div><div class='del'>-Sat Jul 23 12:19:04 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_check_id): take care of attrset ID created</div><div class='del'>-	  implicitly by local ID.  [Bug #5084]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_check_id): conversion condition was inverse.</div><div class='del'>-	  [Bug #5084]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 21:46:54 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc): added volatile for a workaround</div><div class='del'>-	  of cfp consistency error problem on OS X 10.7 (Lion). It's</div><div class='del'>-	  suspected llvm optimization bug.</div><div class='del'>-	  [Bug #5074] [ruby-dev:44185]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 21:18:20 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (WFKV_): unroll the loop of regexp.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI.decode_www_form_component): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 21:06:39 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_{const,cvar}_defined, rb_obj_ivar_defined):</div><div class='del'>-	  avoid inadvertent symbol creation in reflection methods.  based</div><div class='del'>-	  on a patch by Jeremy Evans at [ruby-core:38367].  [Feature #5072]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_mod_method_defined)</div><div class='del'>-	  (rb_mod_{public,private,protected}_method_defined)</div><div class='del'>-	  (obj_respond_to): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_check_id): new function returns already interned ID</div><div class='del'>-	  or 0.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 20:44:49 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_is_global_id, rb_is_attrset_id): add missing</div><div class='del'>-	  predicates.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 20:24:38 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (TestObject#test_respond_to_missing):</div><div class='del'>-	  2nd argument of respond_to_missing? is not optional.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 19:05:47 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname2_p): get rid of potential out-of-bound</div><div class='del'>-	  access.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 13:55:59 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Net::HTTP#finish is used to manually close</div><div class='del'>-	  connections.  [Ruby 1.9 - Bug #5045]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 13:51:29 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c:  Add examples for Readline.completion_proc=.</div><div class='del'>-	  [Ruby 1.9 - Bug #5057]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 13:03:12 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c: Revert checking return type of</div><div class='del'>-	  HMAC_Init_ex as it is not compatible with OpenSSL &lt; 1.0.0.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 12:10:21 2011  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (default gems):  Install executables into the fake</div><div class='del'>-	  gem dir for Gem.bin_path.  [#4485]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 11:20:20 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_digest.c: Check return value of EVP_DigestInit_ex.</div><div class='del'>-	* ext/openssl/ossl_hmac.c: Check return value of HMAC_Init_ex.</div><div class='del'>-	  Thanks, Jared Jennings, for the patch.</div><div class='del'>-	  [ Ruby 1.9 - Bug #4944 ] [ruby-core:37670]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 09:09:43 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c: Avoid double free of ENGINE reference.</div><div class='del'>-	* test/openssl/test_engine.rb: Add a test for it.</div><div class='del'>-	  Thanks to Ippei Obayashi for providing the patch.</div><div class='del'>-	  [ Ruby 1.9 - Bug #5062 ] [ruby-dev:44173]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 06:37:13 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Do not modify CSV.generate's argument [ruby-core:38356]</div><div class='del'>-</div><div class='del'>-Thu Jul 21 20:59:59 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (discard_cmsg): workaround for MacOS X Lion.</div><div class='del'>-</div><div class='del'>-Thu Jul 21 20:02:11 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (set_trace_func, thread_set_trace_func_m): reset tracing</div><div class='del'>-	  state when set_trace_func hook is removed.  This is workaround patch</div><div class='del'>-	  to force to reset tracing state that is broken by continuation call.</div><div class='del'>-	  a patch from James M. Lawrence.  [Feature #4347] [ruby-core:34998]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_continuation.rb (class TestContinuation): add a test</div><div class='del'>-	  for above.  a patch from James M. Lawrence.</div><div class='del'>-</div><div class='del'>-Thu Jul 21 19:27:19 2011  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_node): add today's knowledge.  "init arguments (m)" and</div><div class='del'>-	  "init arguments (p)" of compile.c indicates a Ruby code that</div><div class='del'>-	  evaluates multiple assignments that is in method or block</div><div class='del'>-	  parameters:  def foo((m1,m2), (m3,m4), *r, (p1,p2), (p3,p4)); end</div><div class='del'>-	  The former (init arguments (m)) evaluates the multiple assignments</div><div class='del'>-	  before rest argument, that are (m1,m2) and (m3,m4).  The letter</div><div class='del'>-	  (init arguments (p)) does ones after rest argument, that are</div><div class='del'>-	  (p1,p2) and (p3, p4).</div><div class='del'>-</div><div class='del'>-Thu Jul 21 18:11:07 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): remove empty line to notify rdoc</div><div class='del'>-	  Enumerable#reduce is alias. patched by milki@github.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/26</div><div class='del'>-</div><div class='del'>-Thu Jul 21 17:30:21 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete_at_m): use simple array literal in rdoc.</div><div class='del'>-	  patched by samuel tonini. [ruby-core:38310] [Bug #5066]</div><div class='del'>-</div><div class='del'>-Thu Jul 21 17:14:21 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#each):</div><div class='del'>-	  Allow HTTP/0.9 request which doesn't has any header or body.</div><div class='del'>-	  patched by Felix Jodoin. [ruby-core:38040] [Bug #5022]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 23:02:18 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_update_max_fd): remove parentheses. they are not in</div><div class='del'>-	  macro.</div><div class='del'>-</div><div class='del'>-Wed Jul 20 22:22:23 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_update_max_fd): declaration moved from</div><div class='del'>-	  internal.h.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: call rb_update_max_fd for each new fds.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* random.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bio.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 20 15:16:22 2011  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/handle.c (dlhandle_sym): clear previous error with dlerror()</div><div class='del'>-	  before calling dlsym(). [ruby-dev:44091] [Bug #5021]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 07:16:26 2011  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention Kernel#warn.  [ruby-core:38119] [Feature #5029]</div><div class='del'>-</div><div class='del'>-Tue Jul 19 16:40:45 2011  TAKANO Mitsuhiro (takano32)  &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_save_thread): fix missing semicolon.</div><div class='del'>-</div><div class='del'>-Tue Jul 19 16:25:15 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (UPDATE_MAXFD): removed.</div><div class='del'>-</div><div class='del'>-Tue Jul 19 16:07:45 2011  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_update_max_fd): new function.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_update_max_fd): declare rb_update_max_fd.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): update max fd when</div><div class='del'>-	  timer thread pipe is created.</div><div class='del'>-</div><div class='del'>-Mon Jul 18 13:36:47 2011  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: define a new BadAlias error class.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: raise an exception when</div><div class='del'>-	  deserializing an alias that does not exist.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_merge_keys.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Mon Jul 18 00:00:46 2011  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: added the new class Curses::Pad, which</div><div class='del'>-	  supports scrolling.  patch by Eric Hodel.  [Feature #4896]</div><div class='del'>-	  [ruby-core:37206]</div><div class='del'>-</div><div class='del'>-Sun Jul 17 16:26:40 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_trusted): new function to check an object is</div><div class='del'>-	  trusted.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_modify), time.c (time_modify): check by the</div><div class='del'>-	  above function to show proper class names.  [Bug #5036]</div><div class='del'>-</div><div class='del'>-Sun Jul 17 15:30:04 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_warn_m): accept multiple args in like puts.  rdoc</div><div class='del'>-	  patch by Erik Price at [ruby-core:38119].  [Feature #5029]</div><div class='del'>-</div><div class='del'>-Sun Jul 17 07:56:31 2011  Martin Bosslet  &lt;Martin.Bosslet@googlemail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb: add PEM SSL session without TLS</div><div class='del'>-	  extensions. Use this as the default for the tests to ensure</div><div class='del'>-	  compatibility with OpenSSL 0.9.7.</div><div class='del'>-	  [ Ruby 1.9 - Bug #4961 ] [ruby-core:37726]</div><div class='del'>-</div><div class='del'>-Sat Jul 16 17:29:20 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_UNIVERSAL_ARCH): restore arch flag.</div><div class='del'>-	  Bug #4977</div><div class='del'>-</div><div class='del'>-Sat Jul 16 06:27:51 2011  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (module): Remove optional parser argument to</div><div class='del'>-	  Kernel#URI</div><div class='del'>-	  [ruby-core:38061]</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (module): ditto</div><div class='del'>-</div><div class='del'>-Sat Jul 16 03:19:45 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (is_socket, is_console): add prototypes to fix compile</div><div class='del'>-	  problem with gcc introduced at r32549.</div><div class='del'>-	  reported by Jon Forums. [Bug #5030] [ruby-core:38079]</div><div class='del'>-</div><div class='del'>-Sat Jul 16 00:55:38 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_dup): used rb_obj_class() instead of CLASS_OF().</div><div class='del'>-	  The patch is made by Kazuki Tsujimoto. [Bug #5012] [ruby-dev:44071]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb (TestTime#test_getlocal_dont_share_eigenclass):</div><div class='del'>-	  added a new test for eigenclass of time object.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 19:11:00 2011  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub_int): add RB_GC_GUARD.  This patch is made by</div><div class='del'>-	  Makoto Kishimoto.  fixes #4223 [ruby-dev:42907]</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd_int): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 14:27:53 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_io_cancelable_p): renamed</div><div class='del'>-	  from rb_w32_has_cancel_io().  now it takes a parameter as fd to check</div><div class='del'>-	  the fd is console or not, because we cannot cancel console input even</div><div class='del'>-	  if we have cancel_io function.</div><div class='del'>-</div><div class='del'>-	* io.c (WAIT_FD_IN_WIN32): call above function instead of the old one,</div><div class='del'>-	  so now we can kill the thread which calls STDIN.gets.</div><div class='del'>-	  the problem was reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 09:10:41 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c (SHA256_Update, SHA512_Update): avoid Bus</div><div class='del'>-	  Error caused by unalignment access on Sparc-Solaris (and possibly on</div><div class='del'>-	  other similar environment.) This patch just do memcpy always instead</div><div class='del'>-	  of checking architecture. I see no perf drop on my 64bit env. For</div><div class='del'>-	  more details, see #4320.</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: add test for unalignment access.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 01:51:25 2011  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): Power PC does not</div><div class='del'>-	  allow unaligned word access.</div><div class='del'>-</div><div class='del'>-	* st.c (UNALIGNED_WORD_ACCESS): x86_64 allows unaligned word</div><div class='del'>-	  access as well as i386.</div><div class='del'>-</div><div class='del'>-Thu Jul 14 12:19:34 2011  Hiroshi Nakamura  &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_verify_cb): trap the exception from</div><div class='del'>-	  verify callback of SSLContext and X509Store and make the</div><div class='del'>-	  verification fail normally. Raising exception directly from callback</div><div class='del'>-	  causes orphan resources in OpenSSL stack. Patched by Ippei Obayashi.</div><div class='del'>-	  See #4445.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb</div><div class='del'>-	  (test_exception_in_verify_callback_is_ignored): test it.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 23:41:49 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a description of Signal.trap change.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 20:02:35 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (reserved_signal_p): reverted a part of r32523.</div><div class='del'>-	  chikanaga noticed trap(:CHLD) has some realworld usecase.</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_reserved_signal):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 17:12:45 2011  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): should not call method_added hook</div><div class='del'>-	  for undef operation. [Bug #5015]</div><div class='del'>-</div><div class='del'>-Tue Jul 12 16:58:44 2011  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb(Test::Unit::Options#process_args): Fix bug.</div><div class='del'>-	  Fix process_args didn't return `@option` after r30939.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 14:07:46 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (install_sighandler): fixed a race.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 13:49:32 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_trap): don't permit to change a signal handler which</div><div class='del'>-	  the interpreter reserved.</div><div class='del'>-	* signal.c (reserved_signal_p): ditto.</div><div class='del'>-	  [Bug #2616] [ruby-core:27625]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_reserved_signal):</div><div class='del'>-	  added a test for reserved signal.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 11:58:28 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: support x86-amd64 cross compile environment.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 23:22:28 2011  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: can't compile time.c on AIX due to missing declaration for</div><div class='del'>-	  ffs(). It is declared in strings.h on AIX.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 15:54:24 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: removed signal() macro. It's no longer used.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 15:02:24 2011  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ull): use FIX2LONG instead of FIX2ULONG. see</div><div class='del'>-	  rb_num2ulong(). fixed the problem of ObjectSpace._id2ref of IL32LLP64</div><div class='del'>-	  platforms, introduced at r32433.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 05:38:05 2011  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_stack): need to adjust stack addr for</div><div class='del'>-	  [Bug #1813] on AIX.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 01:16:27 2011  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): removed</div><div class='del'>-	  rb_disable_interrupt()/rb_enable_interrupt().</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-	* process.c (static void before_exec): ditto.</div><div class='del'>-	* process.c (static void after_exec): ditto.</div><div class='del'>-	  [Bug #4765] [ruby-dev:43571]</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: removed rb_trap_restore_mask().</div><div class='del'>-	* vm_eval.c (rb_throw_obj): ditto.</div><div class='del'>-	* eval.c (setup_exception): ditto.</div><div class='del'>-</div><div class='del'>-	* signal.c: removed trap_last_mask.</div><div class='del'>-	* signal.c (trap_restore_mask): removed.</div><div class='del'>-	* signal.c (init_sigchld): comment clarification why signal block</div><div class='del'>-	  is needed. and removed trap_last_mask operation.</div><div class='del'>-	* signal.c (trap_ensure): removed trap_last_mask operation.</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_disable_interrupt, rb_enable_interrupt): made</div><div class='del'>-	  static and removed sigdelset(SIGVTALRM) and sigdelset(SIGSEGV).</div><div class='del'>-</div><div class='del'>-	* process.c (rb_syswait): removed implicit signal handler change.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 23:49:12 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* docs/NEWS-1.9.3: moved from NEWS.</div><div class='del'>-</div><div class='del'>-	* docs/ChangeLog-1.9.3: merged ChangeLog for 1.9.3.</div><div class='del'>-</div><div class='del'>-	* NEWS: NEWS for 1.9.4 that describes changes since 1.9.3</div><div class='del'>-</div><div class='del'>-	* ChangeLog: new ChangeLog for 1.9.4.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 23:30:52 2011  Yuki Sonoda (Yugui)  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION): ruby_1_9_3 branch was forked.</div><div class='del'>-</div><div class='del'>-For the changes before 1.9.3, see doc/ChangeLog-1.9.3</div><div class='del'>-For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-coding: us-ascii</div><div class='del'>-add-log-time-format: (lambda ()</div><div class='del'>-  (let* ((time (current-time))</div><div class='del'>-	 (system-time-locale "C")</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-change-log-indent-text: 2</div><div class='del'>-end:</div><div class='del'>-vim: tabstop=8 shiftwidth=2</div><div class='head'>diff --git a/doc/ChangeLog-2.1.0 b/doc/ChangeLog-2.1.0<br/>deleted file mode 100644<br/>index 76edfd3ce7..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-2.1.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.1.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,18060 +0,0 @@</div><div class='del'>-Fri Dec 20 17:52:50 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: check definition of</div><div class='del'>-	  GLOBAL_METHOD_CACHE_SIZE and GLOBAL_METHOD_CACHE_MASK.</div><div class='del'>-</div><div class='del'>-Fri Dec 20 17:03:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into</div><div class='del'>-	  RB_OBJ_WRITE and RB_OBJ_WRITTEN.</div><div class='del'>-</div><div class='del'>-	* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,</div><div class='del'>-	  proc.c, process.c, re.c, string.c, variable.c, vm.c,</div><div class='del'>-	  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,</div><div class='del'>-	  vm_method.c: catch up this change.</div><div class='del'>-</div><div class='del'>-Fri Dec 20 16:01:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add a comment for WB interfaces.</div><div class='del'>-</div><div class='del'>-Fri Dec 20 16:00:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: DLDFLAGS is defined in --with-opt-dir handler, so</div><div class='del'>-	  ${DLDFLAGS=} does not work now.  use RUBY_APPEND_OPTIONS instead.</div><div class='del'>-	  [ruby-dev:47855] [Bug #9256]</div><div class='del'>-</div><div class='del'>-Fri Dec 20 14:19:12 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_ARG_WITH): use withval directly.</div><div class='del'>-	  fix failure on FreeBSD.</div><div class='del'>-	  http://fb32.rubyci.org/~chkbuild/ruby-trunk/log/20131217T070301Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Fri Dec 20 14:00:01 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl.</div><div class='del'>-	  since RCLASS_SUPER() is commonly used inside while loops, we move it</div><div class='del'>-	  back inside struct RClass to improve cache hits. this provides a</div><div class='del'>-	  small improvement (1%) in hotspots like rb_obj_is_kind_of()</div><div class='del'>-	* internal.h (struct rb_classext_struct): remove super, add</div><div class='del'>-	  iv_index_table</div><div class='del'>-	* internal.h (RCLASS_SUPER): update for new location</div><div class='del'>-	* internal.h (RCLASS_SET_SUPER): ditto</div><div class='del'>-	* internal.h (RCLASS_IV_INDEX_TBL): ditto</div><div class='del'>-	* object.c (rb_class_get_superclass): ditto</div><div class='del'>-	* include/ruby/backward/classext.h (RCLASS_SUPER): ditto</div><div class='del'>-</div><div class='del'>-Fri Dec 20 07:07:35 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 03d6ae7.  Changes include:</div><div class='del'>-</div><div class='del'>-	  * Fixed typos.</div><div class='del'>-</div><div class='del'>-	  * Relaxed Gem.ruby test for ruby packagers that do not use `ruby`.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 14:03:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj): improve hot path performance.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj_from_next_freepage): replace with</div><div class='del'>-	  heap_get_freepage(). It returns freeobj instead of freepage.</div><div class='del'>-	  This is not on hot path.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 12:05:17 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master af60443.  Changes include:</div><div class='del'>-</div><div class='del'>-	  * Improved speed of `gem install --ignore-dependencies`.</div><div class='del'>-</div><div class='del'>-	  * Open read-write for exclusive flock.  [ruby-trunk - Bug #9257]</div><div class='del'>-</div><div class='del'>-	  * Remove specification before install to prevent infinite loop.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 11:23:49 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_iseq_setup_normal): simple for loop</div><div class='del'>-	  condition optimization. this area shows up as a hotspot in VM</div><div class='del'>-	  profiles.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 10:50:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): don't need to RBASIC_SET_CLASS() which includes WB</div><div class='del'>-	  here because created obj is always YOUNG/INFANT.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 10:48:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: check GC::OPTS availability</div><div class='del'>-	  for not MRI 2.1.0.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 03:10:30 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj): remove redundant assignment. heap-&gt;freelist</div><div class='del'>-	  is set after the while() loop already.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 01:54:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: fix commit miss on r44278.</div><div class='del'>-</div><div class='del'>-Thu Dec 19 00:26:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): lazy_sweep setting should work</div><div class='del'>-	  without USE_RGENGC.</div><div class='del'>-</div><div class='del'>-Wed Dec 18 23:31:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_major_reason): fix this function because major_reason</div><div class='del'>-	  can be OR of multiple reasons.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 18 17:03:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record_get): should return an empty array</div><div class='del'>-	  when profiling is active.</div><div class='del'>-</div><div class='del'>-Wed Dec 18 16:49:40 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_clear, gc_profile_enable): remove rest_sweep().</div><div class='del'>-</div><div class='del'>-	* gc.c: check objspace-&gt;profile.current_record before inserting</div><div class='del'>-	  profiling record by new macro gc_prof_enabled().</div><div class='del'>-</div><div class='del'>-Wed Dec 18 14:32:06 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (VM_DEBUG_STACKOVERFLOW): added.</div><div class='del'>-	  disable stack overflow check for every stack pushing as default.</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (vm_stack_overflow_for_insn): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 18 10:00:22 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master d8f12e2.  This increases the</div><div class='del'>-	  speed of `gem install --ignore-dependencies` which helps bundler</div><div class='del'>-	  tests.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 18 09:00:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_expand_heap): allow +/-1 diff.</div><div class='del'>-</div><div class='del'>-Tue Dec 17 23:44:15 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: fix duplicated test name.</div><div class='del'>-</div><div class='del'>-Tue Dec 17 20:15:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject): revert to deprecated behavior, with</div><div class='del'>-	  warnings, due to compatibility for HashWithDifferentAccess.</div><div class='del'>-	  [ruby-core:59154] [Bug #9223]</div><div class='del'>-</div><div class='del'>-Tue Dec 17 17:30:56 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import version 2.1.1 from</div><div class='del'>-	  https://github.com/knu/ruby-electric.el.</div><div class='del'>-</div><div class='del'>-	  * ruby-electric-delete-backward-char: Enable support for number</div><div class='del'>-	    prefix.</div><div class='del'>-</div><div class='del'>-	  * ruby-electric-curlies: Fix electric operation after an open</div><div class='del'>-	    curly.</div><div class='del'>-</div><div class='del'>-Tue Dec 17 16:19:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush): isolate exceptions in</div><div class='del'>-	  postponed jobs and restore outer ones.  based on a patch by</div><div class='del'>-	  tarui.  [ruby-core:58652] [Bug #9168]</div><div class='del'>-</div><div class='del'>-Tue Dec 17 10:48:04 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_POSTPROCESS): Fix compatibility with</div><div class='del'>-	  systemtap on linux. stap requires `dtrace -G` post-processing, but</div><div class='del'>-	  the dtrace compatibility wrapper is very strict about probes.d</div><div class='del'>-	  syntax.</div><div class='del'>-</div><div class='del'>-Tue Dec 17 05:18:17 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 1c5f4b3.  Allows rubygems</div><div class='del'>-	  repackagers to disable backward-compatible shared gem directory</div><div class='del'>-	  behavior.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 17 05:14:35 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (RDoc):  Update version number so I don't have to change it</div><div class='del'>-	  for the final release.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 19:19:19 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_markable_object_p): should check special_const_p</div><div class='del'>-	  first (by is_markable_object()).</div><div class='del'>-</div><div class='del'>-Mon Dec 16 19:12:54 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (reachable_object_from_root_i): use</div><div class='del'>-	  compare_by_identity hash to avoid hash modify problem</div><div class='del'>-	  during iteration.</div><div class='del'>-	  [Bug #9252]</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (reachable_objects_from_root): ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 18:16:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_verify_internal_consistency): should not use</div><div class='del'>-	  rb_objspace_each_objects() because it call rest_sweep().</div><div class='del'>-</div><div class='del'>-Mon Dec 16 18:07:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_markable_object_p): fix last commit (build error).</div><div class='del'>-</div><div class='del'>-Mon Dec 16 18:04:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_markable_object_p): it should be live objects.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 18:00:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep</div><div class='del'>-	  flag in nested case.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 16:40:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): fix WB miss.</div><div class='del'>-	  Note that rb_method_entry_t::klass is not constified.</div><div class='del'>-	  We may  constify this field.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: add a test.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 14:14:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use gc_verify_internal_consistency() instead of</div><div class='del'>-	  gc_check_before_marks_i() for check consistency</div><div class='del'>-	  on RGENGC_CHECK_MODE &gt;= 2.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 14:01:48 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (make_clock_result): add :second as a unit for</div><div class='del'>-	  Process.clock_gettime.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 13:10:54 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce GC.verify_internal_consistency method to verify GC</div><div class='del'>-	  internal data structure.</div><div class='del'>-</div><div class='del'>-	  Now this method only checks generation (old/young) consistency.</div><div class='del'>-</div><div class='del'>-Mon Dec 16 11:49:26 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_info_decode): Fix build errors when compiled with</div><div class='del'>-	  RGENGC_ESTIMATE_OLDMALLOC=0</div><div class='del'>-	* gc.c (objspace_malloc_increase): ditto</div><div class='del'>-</div><div class='del'>-Sun Dec 15 13:38:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (reachable_object_from_root_i):</div><div class='del'>-	  reachable objects should not include categories and</div><div class='del'>-	  category_objects because it is noisy information.</div><div class='del'>-</div><div class='del'>-	  In fact, objects created after calling</div><div class='del'>-	  ObjectSpace.reachable_objects_from_root should not be included</div><div class='del'>-	  as a returning hash objects. Currently, mswin64 platform has a</div><div class='del'>-	  problem because of this behavior. Should we trace new objects?</div><div class='del'>-</div><div class='del'>-Sun Dec 15 07:09:28 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc master 263a9e5.  This improves the</div><div class='del'>-	  accessibility of the search box.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 17:39:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg_complex): count post</div><div class='del'>-	  arguments as mandatory arguments.  [ruby-core:57706] [Bug #8993]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 16:26:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rubylibprefix): replace exec_prefix as well as</div><div class='del'>-	  bindir and libdir.  a patch by kimuraw (Wataru Kimura) at</div><div class='del'>-	  [ruby-dev:47852].  [Bug #9160]</div><div class='del'>-</div><div class='del'>-Sat Dec 14 14:42:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (lock_shift_log): no need to rotate the log file</div><div class='del'>-	  if it has been rotated by another process.  based on the patch</div><div class='del'>-	  by no6v (Nobuhiro IMAI) in [ruby-core:58620].  [Bug #9133]</div><div class='del'>-</div><div class='del'>-Sat Dec 14 13:01:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_from_me): method by respond_to_missing? should be</div><div class='del'>-	  owned by the original class.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 11:55:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb (IO#scanf): fix mistaken use of rescue modifier.</div><div class='del'>-	  a patch by Mon_Ouie at [ruby-core:52813].  [Bug #7940]</div><div class='del'>-</div><div class='del'>-Sat Dec 14 11:44:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_qsort): fix potential stack overflow on a large</div><div class='del'>-	  machine.  based on the patch by Conrad Irwin &lt;conrad.irwin AT</div><div class='del'>-	  gmail.com&gt; at [ruby-core:51816].  [Bug #7772]</div><div class='del'>-</div><div class='del'>-Sat Dec 14 11:25:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_defined): support nested class path as</div><div class='del'>-	  well as const_get.  [Feature #7414]</div><div class='del'>-</div><div class='del'>-Sat Dec 14 01:31:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue2): reuse tags pushed for body proc to protect</div><div class='del'>-	  rescue proc too.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 01:15:51 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_final_func): Bugfix. Should update *value to new pointer.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 01:05:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because</div><div class='del'>-	  it may be set before the body.</div><div class='del'>-	  Reported by ko1 and mrkn.  [ruby-core:59088] [Bug #9247]</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 00:34:31 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_sized_xrealloc2): fix typo introduced in r44117,</div><div class='del'>-	  which cause compile error on Solaris.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 00:22:16 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: (exec_recursive): use rb_catch_protect() instead of</div><div class='del'>-	  rb_catch_obj() and PUSH_TAG(), and reduce pushing tags and</div><div class='del'>-	  machine stack usage.</div><div class='del'>-</div><div class='del'>-Sat Dec 14 00:18:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_from_me): achieve the original defined_class from</div><div class='del'>-	  prepended iclass, to fix inherited owner.</div><div class='del'>-</div><div class='del'>-	* proc.c (method_owner): return the defined class, but not the</div><div class='del'>-	  class which the method object is created from.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 22:29:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_owner): return the class where alias is defined, not</div><div class='del'>-	  the class original method is defined.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make, rb_alias): store the originally</div><div class='del'>-	  defined class in me.  [Bug #7993] [Bug #7842] [Bug #9236]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_without_cache): cache included</div><div class='del'>-	  module but not iclass.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 16:27:17 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_info_decode): Use :major_by=&gt;:nofree as fallback reason</div><div class='del'>-	  when other trigger conditions are present.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 13:25:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: add Exception#backtrace_locations.</div><div class='del'>-	  Now, there are no setter and independent from Exception#backtrace.</div><div class='del'>-	  [Feature #8960]</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): set backtrace locations for `bt_location'</div><div class='del'>-	  special attribute.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_backtrace_to_location_ary): added.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add a test for</div><div class='del'>-	  Exception#backtrace_locations.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 12:01:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): use rb_bug() and explicit error message</div><div class='del'>-	  instead of using assert().</div><div class='del'>-	  [Bug #9222]</div><div class='del'>-</div><div class='del'>-Fri Dec 13 11:52:41 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: fix comment to remove the word "shady".</div><div class='del'>-</div><div class='del'>-	* variable.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 11:33:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename *shady* func/macros.</div><div class='del'>-	  * RVALUE_RAW_SHADY()   -&gt; RVALUE_WB_PROTECTED_RAW()</div><div class='del'>-	  * RVALUE_SHADY()       -&gt; RVALUE_RAW_SHADY()</div><div class='del'>-	  * rgengc_check_shady() -&gt; rgengc_check_relation().</div><div class='del'>-	  And fix some messages using "shady" to "non-WB-protected".</div><div class='del'>-</div><div class='del'>-Fri Dec 13 10:04:23 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/request_set/lockfile.rb:  Import RubyGems master a8d0669</div><div class='del'>-	  with a 1.8.7 compatibility fix.</div><div class='del'>-	* test/rubygems/test_gem_request_set_lockfile.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 09:50:49 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master ddac51f.  Changes:</div><div class='del'>-</div><div class='del'>-	  * Allow override for the shared gem installation directory for</div><div class='del'>-	    rubygems packagers.</div><div class='del'>-</div><div class='del'>-	  * Lock gem cache files for read and write to improve thread safety.</div><div class='del'>-</div><div class='del'>-	  * Use io/console when available.</div><div class='del'>-</div><div class='del'>-	  * Minor cleanup.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 13 08:15:31 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): use RCLASS_M_TBL_WRAPPER for</div><div class='del'>-	  equality checks. this avoids an unnecessary deference inside a tight</div><div class='del'>-	  loop, fixing a performance regression from r43973.</div><div class='del'>-	* object.c (rb_obj_is_kind_of): ditto.</div><div class='del'>-	* object.c (rb_class_inherited_p): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 13 02:00:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpSetPTR): fix for limitation of the resulting</div><div class='del'>-	  precision.</div><div class='del'>-	  [ruby-core:50269] [Bug #7458]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb (test_limit): add tests for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Wed Dec 13 01:56:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpAddAbs): put out a conditional branch from</div><div class='del'>-	  the inside of while-loop.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpSubAbs): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 13 01:53:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VPrint): be a static function, support another</div><div class='del'>-	  dump formats, and add more information of the given bigdecimal.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 11 16:45:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_raise_jump): call c_return hook immediately after</div><div class='del'>-	  popping `raise' frame.</div><div class='del'>-	  Patches by deivid (David Rodriguez). [Bug #8886]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-Wed Dec 11 16:01:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject): return a plain hash, without copying</div><div class='del'>-	  the class, default value, instance variables, and taintedness.</div><div class='del'>-	  they had been copied just by accident.</div><div class='del'>-	  [ruby-core:59045] [Bug #9223]</div><div class='del'>-</div><div class='del'>-Wed Dec 11 15:36:15 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): emit opt_aset instruction</div><div class='del'>-	  to optimize Hash#[]= and Array#[]= when called with Fixnum argument.</div><div class='del'>-	  [Bug #9227] [ruby-core:58956]</div><div class='del'>-</div><div class='del'>-Wed Dec 11 04:54:03 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master ec8ed22.  Notable changes</div><div class='del'>-	  include:</div><div class='del'>-</div><div class='del'>-	  * Renamed extension_install_dir to extension_dir (backwards</div><div class='del'>-	    compatible).</div><div class='del'>-</div><div class='del'>-	  * Fixed creation of gem.deps.rb.lock file from</div><div class='del'>-	    TestGemRequestSet#test_install_from_gemdeps_install_dir</div><div class='del'>-</div><div class='del'>-	  * Fixed a typo and some documentation.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 11 03:18:08 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: Fix optimization bug of Float#/ [Bug #9238]</div><div class='del'>-</div><div class='del'>-Tue Dec 10 23:58:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strptime.c (date__strptime_internal): unset</div><div class='del'>-	  case-insensitive flag for [:alpha:], which already implies both</div><div class='del'>-	  cases, to get rid of backtrack explosion.  [ruby-core:58984]</div><div class='del'>-	  [Bug #9221]</div><div class='del'>-</div><div class='del'>-Tue Dec 10 23:44:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_hash): add salt to differentiate false and empty</div><div class='del'>-	  array.  [ruby-core:58993] [Bug #9231]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash, rb_hash_hash): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 10 18:16:09 2013  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: [DOC] Use www.ruby-toolbox.com instead of RAA.</div><div class='del'>-</div><div class='del'>-Tue Dec 10 17:21:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_finalize, wmap_aset_update): use simple malloced array</div><div class='del'>-	  instead of T_ARRAY, to reduce GC pressure.</div><div class='del'>-</div><div class='del'>-Tue Dec 10 15:56:48 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (reflist_add): revert changes from r44109. it is unnecessary</div><div class='del'>-	  after r44113</div><div class='del'>-	* gc.c (allrefs_i): fix whitespace</div><div class='del'>-	* gc.c (allrefs_roots_i): fix whitespace</div><div class='del'>-</div><div class='del'>-Tue Dec 10 15:46:03 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (allrefs_add): push obj only if allrefs table doesn't have</div><div class='del'>-	  obj.</div><div class='del'>-</div><div class='del'>-	* gc.c (allrefs_roots_i): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 10 15:28:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RGENGC_CHECK_MODE): separate checkers to different modes.</div><div class='del'>-	  * 2: enable generational bits check (for debugging)</div><div class='del'>-	  * 3: enable livness check</div><div class='del'>-	  * 4: show all references</div><div class='del'>-</div><div class='del'>-Tue Dec 10 15:15:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_check): disable GC during checking and</div><div class='del'>-	  restore malloc_increase info.</div><div class='del'>-</div><div class='del'>-Tue Dec 10 14:41:53 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (reflist_add): return 0 if reference already exists</div><div class='del'>-	* gc.c (allrefs_add): return 1 on newly added references</div><div class='del'>-	* gc.c (allrefs_i): follow references to construct complete object</div><div class='del'>-	  graph. before this patch, RGENGC_CHECK could fail to verify some WB</div><div class='del'>-	  miss issues. [Bug #9226] [ruby-core:58959]</div><div class='del'>-</div><div class='del'>-Tue Dec 10 11:20:56 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_object): include fstring flag on</div><div class='del'>-	  strings. include gc flags (old, remembered, wb_protected) on all objects.</div><div class='del'>-	* ext/objspace/objspace_dump.c (Init_objspace_dump): initialize lazy</div><div class='del'>-	  IDs before first use.</div><div class='del'>-	* gc.c (rb_obj_gc_flags): new function to retrieve object flags</div><div class='del'>-	* internal.h (RB_OBJ_GC_FLAGS_MAX): maximum flags allowed for one obj</div><div class='del'>-	* test/objspace/test_objspace.rb (test_dump_flags): test for above</div><div class='del'>-	* test/objspace/test_objspace.rb (test_trace_object_allocations):</div><div class='del'>-	  resolve name before dump (for rb_class_path_cached)</div><div class='del'>-</div><div class='del'>-Tue Dec 10 07:48:29 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_clear_method_cache_by_class): fire</div><div class='del'>-	  ruby::method-cache-clear probe on global or klass-level method cache</div><div class='del'>-	  clear [Bug #9190]</div><div class='del'>-	* probes.d (provider ruby): new dtrace probe</div><div class='del'>-	* doc/dtrace_probes.rdoc: docs for new probe</div><div class='del'>-	* test/dtrace/test_method_cache.rb: test for new probe</div><div class='del'>-</div><div class='del'>-Tue Dec 10 06:14:11 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document:  Remove curses from documentable directories.</div><div class='del'>-</div><div class='del'>-Tue Dec 10 04:55:36 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/digest.rb: Deprecate OpenSSL::Digest::Digest</div><div class='del'>-	  [Fixes GH-446] https://github.com/ruby/ruby/pull/446</div><div class='del'>-</div><div class='del'>-Tue Dec 10 00:41:42 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c: [DOC] add call-seq alias for Queue#enq, #&lt;&lt;, etc.</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (Init_thread): use rb_define_alias instead of</div><div class='del'>-	  rb_alias to document alias.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 20:00:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (RCLASS_SERIAL): Add RCLASS_SERIAL as a convenience</div><div class='del'>-	  accessor for RCLASS_EXT(klass)-&gt;class_serial.</div><div class='del'>-</div><div class='del'>-	* class.c, vm_insnhelper.c, vm_method.c: Use RCLASS_SERIAL</div><div class='del'>-</div><div class='del'>-Mon Dec  9 19:50:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def, test/ruby/test_rubyvm.rb, vm.c, vm_core.h,</div><div class='del'>-	  vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial</div><div class='del'>-	  to global_method_state and constant_serial to global_constant_state</div><div class='del'>-	  after discussion with ko1.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 18:50:43 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_replace): fix segv on `{}.replace({})` introduced</div><div class='del'>-	  in r44060 [Bug #9230] [ruby-core:58991]</div><div class='del'>-	* test/ruby/test_hash.rb: regression test for above</div><div class='del'>-</div><div class='del'>-Mon Dec  9 18:10:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_stat): renamed from ruby_vm_stat.</div><div class='del'>-	  Should not use ruby_ prefix here.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 16:13:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_size): add ObjectSpace::WeakMap#size and #length.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 15:26:17 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_curses.rb: removed.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 13:36:55 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses, sample/curses: removed curses.</div><div class='del'>-</div><div class='del'>-	* NEWS: added an entry for the above change.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 12:26:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c (newobj_i): use cached class path</div><div class='del'>-	  only to get rid object allocation during NEWOBJ hook.</div><div class='del'>-	  [ruby-core:58853] [Bug #9212]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class_path_cached): returns cached class path</div><div class='del'>-	  only, without searching and allocating new class path string.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 11:14:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (parse_time): unset case-insensitive flag</div><div class='del'>-	  for [:alpha:], which already implies both cases, to get rid of</div><div class='del'>-	  backtrack explosion.  [ruby-core:58876] [Bug #9221]</div><div class='del'>-</div><div class='del'>-Mon Dec  9 08:40:40 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master bf37240.  Fixes useless</div><div class='del'>-	  error message with `gem install -g` with no gem dependencies file.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 04:52:25 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS:  Update RubyGems entry with notable features.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 04:43:54 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document:  Add syslog/lib and thread/thread.c to documentable</div><div class='del'>-	  items.  [ruby-trunk - Bug #9228]</div><div class='del'>-</div><div class='del'>-Mon Dec  9 04:28:50 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 096db36.  Changes include</div><div class='del'>-	  support for PATH in Gemfile.lock and a typo fix from Akira Matsuda.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec  9 02:10:32 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb:</div><div class='del'>-	  Add `HTTPIMUsed`, as it is also supported by rack/rails.</div><div class='del'>-	  RFC - http://tools.ietf.org/html/rfc3229</div><div class='del'>-	  by Vipul A M &lt;vipulnsward@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/447 fix GH-447</div><div class='del'>-</div><div class='del'>-Sun Dec  8 20:47:35 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_get_kwargs): when values is non-null, remove</div><div class='del'>-	  extracted keywords from the rest keyword argument.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 20:26:54 2013  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby.imp): avoid circular dependency on AIX</div><div class='del'>-</div><div class='del'>-Sun Dec  8 20:21:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bigdecimal.c (BigDecimal_coerce): convert a Float to a BigDecimal instead</div><div class='del'>-	  of converting the receiver to a Float.  The reason is there are BigDecimal</div><div class='del'>-	  instances with precisions that is smaller than the Float's precision.</div><div class='del'>-	  [ruby-core:58756] [Bug #9192]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests for the above change.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 18:28:20 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: [DOC] update NEWS about GC.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 17:52:24 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: [DOC] document Module#singleton_class?.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 16:19:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_get_kwargs): if optional is negative, unknown</div><div class='del'>-	  keywords are allowed.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_keyword_arg): check unknown</div><div class='del'>-	  keywords.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 14:55:12 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang, rb_ary_sample): rename local variables.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 13:59:38 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang, rb_ary_sample): check</div><div class='del'>-	  unknown keywords.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_shuffle, test_sample): tests for</div><div class='del'>-	  the above.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 13:01:11 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_stat): add RubyVM.stat() for access to internal cache</div><div class='del'>-	  counters. this methods behaves like GC.stat, accepting an optional</div><div class='del'>-	  hash or symbol argument. [Bug #9190] [ruby-core:58750]</div><div class='del'>-	* test/ruby/test_rubyvm.rb: test for new method</div><div class='del'>-</div><div class='del'>-Sun Dec  8 11:59:40 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_replace): add a write barrier to fix GC mark miss on</div><div class='del'>-	  hashes using Hash#replace [Bug #9226] [ruby-core:58948]</div><div class='del'>-</div><div class='del'>-Sun Dec  8 11:21:00 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting</div><div class='del'>-	  In a large app, this reduces the size of</div><div class='del'>-	  remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947]</div><div class='del'>-	* gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF</div><div class='del'>-	* class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF</div><div class='del'>-	* iseq.c (set_relation): ditto</div><div class='del'>-	* iseq.c (rb_iseq_clone): ditto</div><div class='del'>-	* vm_eval.c (rb_yield_refine_block): ditto</div><div class='del'>-	* vm_insnhelper.c (vm_cref_push): ditto</div><div class='del'>-	* vm_insnhelper.h (COPY_CREF): ditto</div><div class='del'>-</div><div class='del'>-Sun Dec  8 10:45:05 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_aset_str): revert r43870 due to performance issue</div><div class='del'>-	  [Bug #9188] [ruby-core:58730]</div><div class='del'>-	* parse.y (assoc): convert literal string hash keys to fstrings</div><div class='del'>-	* test/ruby/test_hash.rb (class TestHash): expand test</div><div class='del'>-</div><div class='del'>-Sun Dec  8 10:22:38 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (register_symid_str): use fstrings in symbol table</div><div class='del'>-	  [Bug #9171] [ruby-core:58656]</div><div class='del'>-	* parse.y (rb_id2str): ditto</div><div class='del'>-	* string.c (rb_fstring): create frozen_strings on first usage. this</div><div class='del'>-	  allows rb_fstring() calls from the parser (before cString is created)</div><div class='del'>-	* string.c (fstring_set_class_i): set klass on fstrings generated</div><div class='del'>-	  before cString was defined</div><div class='del'>-	* string.c (Init_String): convert frozen_strings table to String</div><div class='del'>-	  objects after boot</div><div class='del'>-	* ext/-test-/symbol/type.c (bug_sym_id2str): expose rb_id2str()</div><div class='del'>-	* test/-ext-/symbol/test_type.rb (module Test_Symbol): verify symbol</div><div class='del'>-	  table entries are fstrings</div><div class='del'>-</div><div class='del'>-Sun Dec  8 10:24:20 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Update version for upcoming ruby 2.1.0 RC.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 10:21:36 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 14749ce.  This fixes bugs</div><div class='del'>-	  handling of gem dependencies lockfiles (Gemfile.lock).</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec  8 09:40:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): use RHASH_TBL_RAW instead of RHASH_TBL</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_fixup): use RHASH_TBL_RAW and insert write</div><div class='del'>-	  barriers where appropriate</div><div class='del'>-</div><div class='del'>-	* vm.c (kwmerge_i): use RHASH_TBL_RAW</div><div class='del'>-</div><div class='del'>-	* vm.c (HASH_ASET): use rb_hash_aset instead of calling directly into</div><div class='del'>-	  st_insert</div><div class='del'>-</div><div class='del'>-Sat Dec  7 11:15:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject): copy unrejected elements only to new hash,</div><div class='del'>-	  so that the change on the original receiver can affect.</div><div class='del'>-	  [ruby-core:58914] [Bug #9223]</div><div class='del'>-</div><div class='del'>-Sat Dec  7 08:25:00 2013  Richo Healey  &lt;richo@psych0tik.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb: Add regression test for question marks and</div><div class='del'>-	  bangs in struct members. [Closes GH-468]</div><div class='del'>-</div><div class='del'>-Fri Dec  6 19:33:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_extract_keywords, rb_get_kwargs): move from</div><div class='del'>-	  vm_insnhelper.c.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 19:18:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change oldmalloc meaning.</div><div class='del'>-	  Increase oldmalloc_increase with malloc_increase</div><div class='del'>-	  instead of using obj_memsize_of().</div><div class='del'>-</div><div class='del'>-	  This change will avoid the danger of memory full without major GC.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 19:08:48 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (atomic_sub_nounderflow): not 0 but val itself.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 18:37:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_alloc, Init_heap): initialize</div><div class='del'>-	  oldmalloc_increase_limit at Init_heap.</div><div class='del'>-</div><div class='del'>-	  rb_objspace_alloc() is not called on some platforms.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 18:33:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): bug fix.</div><div class='del'>-	  initialize after recording.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 17:49:46 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (atomic_sub_nounderflow): added to simplify atomic sub with</div><div class='del'>-	  care about underflow.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_increase): use it.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 17:10:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_get_kwargs): get keyword argument values from an</div><div class='del'>-	  option hash, not only checking keys.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): use rb_get_kwargs.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal): ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 16:47:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-brace-to-do-end): split single line block.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-do-end-to-brace): shrink single line block</div><div class='del'>-	  to one line.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 16:16:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal): do not use rb_gc_start() and rb_gc().</div><div class='del'>-</div><div class='del'>-Fri Dec  6 15:24:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal, rb_gc): do not need</div><div class='del'>-	  heap_pages_free_unused_pages() here.</div><div class='del'>-	  It was done in after_sweep().</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc): The reason is now GPR_FLAG_CAPI.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 14:05:19 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal): GC.start() now accepts two optional</div><div class='del'>-	  keyword arguments. These can be used to disable full_mark (minor</div><div class='del'>-	  mark only) or disable immediate_sweep (use lazy sweep). These new</div><div class='del'>-	  options are useful for benchmarking GC behavior, or performing minor</div><div class='del'>-	  GC out-of-band.</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): tests for new options.</div><div class='del'>-</div><div class='del'>-Fri Dec  6 11:51:28 2013  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: [DOC] fix broken link, Use rubygems.org and www.ruby-toolbox.com instead of RAA.</div><div class='del'>-	  [Bug #9197]</div><div class='del'>-</div><div class='del'>-Fri Dec  6 10:50:54 2013  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb: [DOC] Fix broken link of CGI specification by @udzura [fix GH-466]</div><div class='del'>-</div><div class='del'>-Thu Dec  6 01:27:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec):</div><div class='del'>-	  treat 0.0 and -0.0 of floating-point numbers specially for an optimization</div><div class='del'>-	  and to correctly propagate its signbit to the result.</div><div class='del'>-	  [Bug #9214] [ruby-core:58858]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests case for the above change.</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal_util.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 22:18:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): strip destdir part from prefix to get</div><div class='del'>-	  rid of duplication.  a patch by arton at [ruby-core:58859].</div><div class='del'>-	  [ruby-core:58856] [Bug #9213]</div><div class='del'>-</div><div class='del'>-Thu Dec  5 21:53:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): lhs elements are preferred, so should not</div><div class='del'>-	  replace with rhs elements.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_OR_in_order): import the test failed</div><div class='del'>-	  by r43969 from rubyspec/core/array/union_spec.rb.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 21:05:42 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_info_decode): fix to avoid syntax error on VS2012.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 19:35:35 2013  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: tweaked comment</div><div class='del'>-</div><div class='del'>-Thu Dec  5 19:21:10 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (struct rb_objspace): rename internal last_collection_flags to</div><div class='del'>-	  latest_gc_info</div><div class='del'>-	* gc.c (gc_latest_collection_info): add GC.latest_gc_info() with similar</div><div class='del'>-	  behavior to GC.stat()</div><div class='del'>-	* gc.c (rb_gc_latest_gc_info): new c-api for above</div><div class='del'>-	* gc.c (gc_stat_internal): remove :last_collection_flags from GC.stat</div><div class='del'>-	* gc.c (gc_profile_decode_flags): remove GC::Profiler.decode_flags</div><div class='del'>-	* include/ruby/intern.h (rb_gc_latest_gc_info): export new c-api</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): test for new behavior</div><div class='del'>-	* NEWS: note about new api</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): raise TypeError on wrong type</div><div class='del'>-	* gc.c (gc_stat): fix error message</div><div class='del'>-</div><div class='del'>-Thu Dec  5 18:18:08 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/gc_hook.c: remove this file</div><div class='del'>-	* ext/-test-/tracepoint/gc_hook.c: new filename for above</div><div class='del'>-	* ext/objspace/objspace.c: remove ObjectSpace.after_gc_start_hook=</div><div class='del'>-	* test/objspace/test_objspace.rb: remove test</div><div class='del'>-	* test/-ext-/tracepoint/test_tracepoint.rb: add above test for</div><div class='del'>-	  tracepoint re-entry</div><div class='del'>-</div><div class='del'>-Thu Dec  5 17:44:53 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change function names vm_ prefix to objspace_ prefix.</div><div class='del'>-	  They are objspace_ functionality.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 16:11:04 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: add rb_gc_stat() for access to GC.stat</div><div class='del'>-	  variables from c-api</div><div class='del'>-	* gc.c (rb_gc_stat): new c-api method. accepts either VALUE hash like</div><div class='del'>-	  GC.stat, or VALUE symbol key and returns size_t directly. the second</div><div class='del'>-	  form is useful to avoid allocations, i.e. for usage inside</div><div class='del'>-	  INTERNAL_EVENT_GC tracepoints.</div><div class='del'>-	* gc.c (gc_stat): add GC.stat(:key) to return single value instead of hash</div><div class='del'>-	* gc.c (gc_stat_internal): helper method to retrieve single or all stat values</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): test for new behavior</div><div class='del'>-	* NEWS: note about this new api</div><div class='del'>-</div><div class='del'>-Thu Dec  5 14:40:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): revert r43981 and bail out to the outermost frame</div><div class='del'>-	  when recursion is detected.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 13:47:15 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_size): added.</div><div class='del'>-	  return malloc_usable_size() if possible.</div><div class='del'>-</div><div class='del'>-	* gc.c (MALLOC_ALLOCATED_SIZE): add new setting macro to enable</div><div class='del'>-	  GC.allocated_size.</div><div class='del'>-	  If platform supports `malloc_usable_size()' (or similar one),</div><div class='del'>-	  GC.allocated_size can be implemented with this function.</div><div class='del'>-	  Default is 0.</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_xmalloc, vm_xrealloc, vm_xfree): use vm_malloc_size()</div><div class='del'>-	  to detect collect allocated size.</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_increase): refactoring.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 13:19:03 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: remove INTERNAL_EVENT_GC_END and replace with</div><div class='del'>-	  two new events: GC_END_MARK and GC_END_SWEEP</div><div class='del'>-	* gc.c (gc_after_sweep): emit GC_END_SWEEP after lazy sweep is done</div><div class='del'>-	* gc.c (gc_marks_body): emit GC_END_MARK at end of minor/major mark</div><div class='del'>-	* ext/-test-/tracepoint/tracepoint.c (struct tracepoint_track): tests</div><div class='del'>-	  for new events.</div><div class='del'>-	* test/-ext-/tracepoint/test_tracepoint.rb (class TestTracepointObj):</div><div class='del'>-	  ditto.</div><div class='del'>-	* NEWS: remove ObjectSpace.after_gc_*_hook. These are only a sample,</div><div class='del'>-	  and will be removed before ruby 2.1.</div><div class='del'>-	* ext/objspace/gc_hook.c: remove ObjectSpace.after_gc_end_hook=</div><div class='del'>-</div><div class='del'>-Thu Dec  5 10:47:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_PTR_EXCHANGE): atomic exchange function for</div><div class='del'>-	  a generic pointer.</div><div class='del'>-</div><div class='del'>-Thu Dec  5 10:47:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (finalize_deferred): flush all deferred finalizers while other</div><div class='del'>-	  finalizers can get ready to run newly by lazy sweep.</div><div class='del'>-	  [ruby-core:58833] [Bug #9205]</div><div class='del'>-</div><div class='del'>-Thu Dec  5 09:07:59 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): Accept safe_level argument so GC tuning</div><div class='del'>-	  settings can be applied before rb_safe_level() is available.</div><div class='del'>-	* internal.h (rb_gc_set_params): ditto.</div><div class='del'>-	* ruby.c (process_options): Apply GC tuning early during boot process</div><div class='del'>-	  so boot-time allocations can benefit. This also benefits any code</div><div class='del'>-	  loaded in via `ruby -r`.</div><div class='del'>-</div><div class='del'>-Wed Dec  4 13:02:13 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_suppress_tracing): Fix initialization of stack</div><div class='del'>-	  allocated rb_trace_arg_t structure. Without this patch, sometimes</div><div class='del'>-	  INTERNAL_EVENT_GC would be skipped accidentally inside</div><div class='del'>-	  rb_threadptr_exec_event_hooks_orig().</div><div class='del'>-</div><div class='del'>-Wed Dec  4 12:57:24 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (fstr_update_callback): Improve implementation in r43968</div><div class='del'>-	  based on feedback from @nagachika. In the existing case, we can</div><div class='del'>-	  return ST_STOP to prevent any hash modification. In the !existing</div><div class='del'>-	  case, set both key and value to the fstr.</div><div class='del'>-</div><div class='del'>-Wed Dec  4 12:47:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#method_missing): ignore the target if not</div><div class='del'>-	  set, and delegate to global methods.  [ruby-core:58572] [Bug #9155]</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#respond_to_missing): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (SimpleDelegator#__getobj__): yield and return if</div><div class='del'>-	  not delegated but a block is given, like as Hash#fetch.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass#__getobj__): ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 23:48:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check malloc_size() availability.</div><div class='del'>-</div><div class='del'>-	* gc.c: use malloc_size() with malloc/malloc.h if available.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 23:06:20 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): don't copy FL_WB_PROTECTED of a</div><div class='del'>-	  original object.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 22:32:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_recursive): make similar (recursive) constructs</div><div class='del'>-	  return same hash value.  execute recursively, and rewind to the</div><div class='del'>-	  topmost frame with an object which .eql? to the recursive</div><div class='del'>-	  object, if recursion is detected.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): detect recursion for all `hash' methods.  each</div><div class='del'>-	  `hash' methods no longer need to use rb_exec_recursive().</div><div class='del'>-</div><div class='del'>-Tue Dec  3 21:53:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_catch_protect): new function similar to</div><div class='del'>-	  rb_catch_obj(), but protect from all global jumps like as</div><div class='del'>-	  rb_load_protect(), rb_protect(), etc.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 20:18:46 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): Protect FL_PROMOTED and FL_WB_PROTECTED</div><div class='del'>-	  flags of a destination object.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 20:16:38 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_hash_rehash): use hash_alloc() instead of rb_hash_new(),</div><div class='del'>-	  to hide temporary object from ObjectSpace.  [Bug #9187]</div><div class='del'>-</div><div class='del'>-Tue Dec  3 17:11:47 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (features_index_add_single): Move loaded_features_index array values off</div><div class='del'>-	  the ruby heap. [Bug #9201] [ruby-core:58805]</div><div class='del'>-	* load.c (loaded_features_index_clear_i): Clean up off-heap array structure.</div><div class='del'>-	* vm.c (rb_vm_mark): Remove unnecessary mark_tbl for loaded_features_index.</div><div class='del'>-	  This improves minor GC time by 15% in a large application.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 17:01:45 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RClass): Add wrapper struct around</div><div class='del'>-	  RClass-&gt;m_tbl with serial. This prevents double marking method</div><div class='del'>-	  tables, since many classes/modules can share the same method table.</div><div class='del'>-	  This improves minor mark time in a large application by 30%.</div><div class='del'>-	* internal.h (struct method_table_wrapper): Define new</div><div class='del'>-	  wrapper struct with additional serial.</div><div class='del'>-	* internal.h (RCLASS_M_TBL_INIT): New macro for initializing method</div><div class='del'>-	  table wrapper and st_table.</div><div class='del'>-	* method.h (void rb_sweep_method_entry): Rename rb_free_m_table to</div><div class='del'>-	  rb_free_m_tbl for consistency</div><div class='del'>-	* .gdbinit (define rb_method_entry): Update rb_method_entry gdb helper</div><div class='del'>-	  for new method table structure.</div><div class='del'>-	* class.c: Use RCLASS_M_TBL_WRAPPER and</div><div class='del'>-	  RCLASS_M_TBL_INIT macros.</div><div class='del'>-	* class.c (rb_include_class_new): Share WRAPPER between module and</div><div class='del'>-	  iclass, so serial can prevent double marking.</div><div class='del'>-	* eval.c (rb_prepend_module): ditto.</div><div class='del'>-	* eval.c (rb_using_refinement): ditto.</div><div class='del'>-	* gc.c: Mark and free new wrapper struct.</div><div class='del'>-	* gc.c (obj_memsize_of): Count size of additional wrapper struct.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 14:05:49 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): remove duplicate code.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 13:40:42 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_add_hash): set and return values because string keys</div><div class='del'>-	  will be frozen. [ruby-core:58809] [Bug #9202]</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: tests for above.</div><div class='del'>-</div><div class='del'>-	The patch is from normalperson (Eric Wong).</div><div class='del'>-</div><div class='del'>-Tue Dec  3 12:20:21 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): Use st_update instead of st_lookup +</div><div class='del'>-	  st_insert.</div><div class='del'>-	* string.c (fstr_update_callback): New callback for st_update.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 12:17:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for</div><div class='del'>-	  NoMethodError when the original of alias is not found.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 10:43:58 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb:  Return ASCII-8BIT strings from</div><div class='del'>-	  SSLSocket methods.  [ruby-trunk - Bug #9028]</div><div class='del'>-	* test/openssl/test_ssl.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Tue Dec  3 09:42:27 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc master 900de99.  Changes include:</div><div class='del'>-</div><div class='del'>-	  Fixed documentation display of constants</div><div class='del'>-</div><div class='del'>-	  Fixed handling of unknown parsers</div><div class='del'>-</div><div class='del'>-	* test/rdoc:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec  2 22:30:10 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (getenv): fixed test failures introduced by r43950.</div><div class='del'>-	  [ruby-core:58774] [Bug #9195] reported by phasis68 (Heesob Park).</div><div class='del'>-</div><div class='del'>-Mon Dec  2 21:49:19 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_rehash): make temporary st_table under the control</div><div class='del'>-	  of GC. [Bug #9187]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Dec  2 17:23:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_constants): when calling Module#constants with</div><div class='del'>-	  inherit=false, there is no need to use a hashtable to deduplicate</div><div class='del'>-	  constant names. [Feature #9196] [ruby-core:58786]</div><div class='del'>-</div><div class='del'>-Mon Dec  2 14:16:52 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP#critical):  Always return a</div><div class='del'>-	  Net::SMTP::Response.  Patch by Pawel Veselov.</div><div class='del'>-	  [ruby-trunk - Bug #9125]</div><div class='del'>-	* test/net/smtp/test_smtp.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Mon Dec  2 05:52:33 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master baa965b.  Notable changes:</div><div class='del'>-</div><div class='del'>-	  Copy directories to lib/ when installing extensions.  This completes</div><div class='del'>-	  the fix for [ruby-trunk - Bug #9106]</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec  2 02:03:47 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_case.rb (test_nomethoderror):</div><div class='del'>-	  Add test related to r43913, r43914</div><div class='del'>-</div><div class='del'>-Mon Dec  2 00:53:01 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (getenv): use ANSI codepage version of getenv() for miniruby</div><div class='del'>-	  on Windows.</div><div class='del'>-	  [ruby-core:58732] [Bug #9189] reported by phasis68 (Heesob Park).</div><div class='del'>-</div><div class='del'>-Sun Dec  1 22:14:27 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributors.rdoc: [DOC] Import contributors from redmine wiki</div><div class='del'>-	  Many wiki pages have become outdated and spam-ridden, we will import</div><div class='del'>-	  these to trunk and begin maintaining them in ruby-trunk. This will</div><div class='del'>-	  also allow new contributors to easily contribute patches to update</div><div class='del'>-	  these pages, where previously a redmine account with wiki access was</div><div class='del'>-	  required. Another bonus is having a contributors file to show thanks</div><div class='del'>-	  to all of the people who have submitted a patch to Ruby.</div><div class='del'>-</div><div class='del'>-Sun Dec  1 18:03:26 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: [DOC] Current maintainers of Ruby</div><div class='del'>-</div><div class='del'>-Sun Dec  1 17:17:36 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Current branch maintainers</div><div class='del'>-</div><div class='del'>-Sun Dec  1 17:16:36 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Reporting other (ruby-lang.org) issues</div><div class='del'>-</div><div class='del'>-Sun Dec  1 17:15:51 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Current platform maintainers</div><div class='del'>-</div><div class='del'>-Sun Dec  1 17:14:55 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Reporting downstream distro issues</div><div class='del'>-</div><div class='del'>-Sun Dec  1 14:37:20 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_to_a): specify array capa.</div><div class='del'>-</div><div class='del'>-Sun Dec  1 14:15:36 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_rehash): fix to free new st_table when exception</div><div class='del'>-	  is raised in do_hash(). [Bug #9187]</div><div class='del'>-</div><div class='del'>-Sun Dec  1 11:57:59 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: Fix warning in copyright</div><div class='del'>-</div><div class='del'>-Sun Dec  1 08:27:28 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 66e5c39.  Notable changes:</div><div class='del'>-</div><div class='del'>-	  Implement gem.deps.rb (Gemfile) .lock support</div><div class='del'>-</div><div class='del'>-	  Fixed `gem uninstall` for a relative directory in GEM_HOME.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec  1 06:00:49 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_gc_reason): Force minor GC by consuming</div><div class='del'>-	  free slots to fix test.</div><div class='del'>-</div><div class='del'>-Sat Nov 30 21:22:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): check unknown keywords.  [ruby-dev:47152]</div><div class='del'>-	  [Bug #8060]</div><div class='del'>-</div><div class='del'>-Sat Nov 30 18:05:38 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (hash2named_arg): correct declaration to fix</div><div class='del'>-	  build failure.  a patch by phasis68 (Heesob Park) at</div><div class='del'>-	  [ruby-core:58710].  [Bug #9184]</div><div class='del'>-</div><div class='del'>-Sat Nov 30 17:46:35 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): determine exit status and signal to terminate</div><div class='del'>-	  before finalization, to get rid of access destroyed T_DATA exception</div><div class='del'>-	  object.  [ruby-core:58643] [Bug #9167]</div><div class='del'>-</div><div class='del'>-Sat Nov 30 16:25:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index): should not store local variable</div><div class='del'>-	  address to memoize the arguments.  it is invalidated after the return.</div><div class='del'>-	  [ruby-core:58692] [Bug #9178]</div><div class='del'>-</div><div class='del'>-Sat Nov 30 13:28:13 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* siphash.c (sip_hash24): fix for aligned word access little endian</div><div class='del'>-	  platforms.  [ruby-core:58658] [Bug #9172]</div><div class='del'>-</div><div class='del'>-Sat Nov 30 13:21:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_yield_block): implement non-nil block argument.</div><div class='del'>-</div><div class='del'>-Fri Nov 29 20:59:39 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_debug_print_pre): Bugfix. Get PC directly.</div><div class='del'>-	  PC is cached into local stack and cfp-&gt;pc is incorrect at next of</div><div class='del'>-	  branch or jump.</div><div class='del'>-	* vm_exec.h (DEBUG_ENTER_INSN): catch up this change.</div><div class='del'>-	* vm_core.h: update signature of rb_vmdebug_debug_print_pre.</div><div class='del'>-</div><div class='del'>-Fri Nov 29 20:43:57 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: Bugsfix for dump_disasm_list.</div><div class='del'>-	  rb_inspect denies a hidden object. So, insert wrapper that creates</div><div class='del'>-	  the unhidden one.</div><div class='del'>-	  adjust-&gt;label is null sometimes.</div><div class='del'>-	  insn_data_line_no makes no sense at all.</div><div class='del'>-</div><div class='del'>-Fri Nov 29 18:06:45 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_case.rb (test_method_missing): Test for r43913.</div><div class='del'>-</div><div class='del'>-Fri Nov 29 17:53:22 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (check_match): Fix SEGV with VM_CHECKMATCH_TYPE_CASE</div><div class='del'>-	  and class of `pattern` has `method_missing`</div><div class='del'>-	  [Bug #8872] [ruby-core:58606]</div><div class='del'>-</div><div class='del'>-Fri Nov 29 17:06:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_yield_block): yield block with rb_block_call_func</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): use rb_yield_block.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): constify argv.</div><div class='del'>-</div><div class='del'>-	* enum.c (rb_enum_values_pack): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_block_call, rb_check_block_call): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): for declaration</div><div class='del'>-	  argument list of rb_block_call_func.</div><div class='del'>-</div><div class='del'>-Fri Nov 29 11:26:43 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_block_call_func): add blockarg.  block</div><div class='del'>-	  function can take block argument, e.g., proc {|&amp;blockarg| ...}.</div><div class='del'>-</div><div class='del'>-Thu Nov 28 21:43:48 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/dtrace_probes.rdoc: [DOC] Import dtrace probes doc from wiki</div><div class='del'>-</div><div class='del'>-Thu Nov 28 21:17:32 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Add heading above ChangeLog tips to</div><div class='del'>-	  setup entry for commits, its not required. Actually easier if</div><div class='del'>-	  contributors don't include a ChangeLog entry.</div><div class='del'>-</div><div class='del'>-Thu Nov 28 21:16:18 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Add coding style heading for patch</div><div class='del'>-	  rules</div><div class='del'>-</div><div class='del'>-Thu Nov 28 21:15:45 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Add notes about deciding what to patch</div><div class='del'>-</div><div class='del'>-Thu Nov 28 19:43:45 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_flatten.rb: added. r43896 is about 4 times faster</div><div class='del'>-	  than 2.0.0p353.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_keys.rb: added. r43896 is about 5 times faster</div><div class='del'>-	  than 2.0.0p353.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_values.rb: added. r43896 is about 5 times faster</div><div class='del'>-	  than 2.0.0p353.</div><div class='del'>-</div><div class='del'>-Thu Nov 28 19:29:04 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] Add notes about slideshow proposals</div><div class='del'>-	  from wiki page: HowToRequestFeatures</div><div class='del'>-</div><div class='del'>-Thu Nov 28 17:34:42 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: add st_values() and st_values_check().</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: add prototypes for above.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_values): use st_values_check() for performance</div><div class='del'>-	  improvement if VALUE and st_data_t are compatible.</div><div class='del'>-</div><div class='del'>-Thu Nov 28 17:14:14 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_keys): fix not to use Qundef in st.c.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: define modified prototype.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_keys): use modified st_keys().</div><div class='del'>-</div><div class='del'>-Thu Nov 28 16:34:43 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Expose details about last garbage collection via GC.stat.</div><div class='del'>-	* gc.c (gc_stat): Add :last_collection_flags for reason/trigger/type of</div><div class='del'>-	  last GC run.</div><div class='del'>-	* gc.c (gc_prof_sweep_timer_stop): Record HAVE_FINALIZE GPR even</div><div class='del'>-	  without GC_PROFILE_MORE_DETAIL.</div><div class='del'>-	* gc.c (gc_profile_flags): Add GC::Profiler.decode_flags to make sense</div><div class='del'>-	  of GC.stat[:last_collection_flags]</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): Test for above.</div><div class='del'>-</div><div class='del'>-Thu Nov 28 16:15:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_dup2): extract from rb_cloexec_dup2() and</div><div class='del'>-	  redirect_dup2().</div><div class='del'>-</div><div class='del'>-Tue Nov 28 14:40:00 2013  Akira Matsuda  &lt;ronnie@dio.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb:  [Doc] Fix typo</div><div class='del'>-</div><div class='del'>-Thu Nov 28 13:56:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (Doxyfile): tool/file2lastrev.rb needs running with</div><div class='del'>-	  BASERUBY since r43617.  [ruby-dev:47823] [Bug #9169]</div><div class='del'>-</div><div class='del'>-Thu Nov 28 09:18:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): fstrings should be ELTS_SHARED.</div><div class='del'>-	  If we resurrect dying objects (non-marked, but not swept yet),</div><div class='del'>-	  pointing shared string can be collected.</div><div class='del'>-	  To avoid such issue, fstrings (recorded to fstring_table)</div><div class='del'>-	  should not be ELTS_SHARED (should not have a shared string).</div><div class='del'>-</div><div class='del'>-Thu Nov 28 01:35:08 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_keys): fix to use st_index_t for size of hash.</div><div class='del'>-</div><div class='del'>-Thu Nov 28 00:36:52 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_keys): define st_keys(). it writes each key to buffer.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_keys): use st_keys() for performance improvement</div><div class='del'>-	  if st_data_t and VALUE are compatible.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: define macro ST_DATA_COMPATIBLE_P() to predicate</div><div class='del'>-	  whether st_data_t and passed type are compatible.</div><div class='del'>-</div><div class='del'>-	* configure.in: check existence of builtin function to use in</div><div class='del'>-	  ST_DATA_COMPATIBLE_P().</div><div class='del'>-</div><div class='del'>-Thu Nov 28 00:07:28 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h: remove duplicate definitions between ATOMIC_XXX</div><div class='del'>-	  and ATOMIC_SIZE_XXX.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 23:55:50 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h: define ATOMIC_SIZE_CAS() with</div><div class='del'>-	  __atomic_compare_exchange_n() and refactoring.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 21:43:00 2013  Akira Matsuda  &lt;ronnie@dio.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/notifier.rb:  [Doc] Fix typo</div><div class='del'>-	* ext/json/lib/json/common.rb:  Ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 27 18:04:57 2013  Akira Matsuda  &lt;ronnie@dio.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/notifier.rb:  Fix typo</div><div class='del'>-</div><div class='del'>-Wed Nov 27 17:54:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_stacked_objects): check only when check_mode &gt; 0.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 16:07:19 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): Fix warning in</div><div class='del'>-	  test_expand_heap.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 15:55:52 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_GC): Add new GC::INTERNAL_CONSTANTS for information about</div><div class='del'>-	  GC heap/page/slot sizing.</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): test for above.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 15:21:17 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): Fix compile warning from last commit.</div><div class='del'>-	* hash.c (hash_aset_str): Re-use existing variable to avoid</div><div class='del'>-	  unnecessary pointer dereferencing.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 15:12:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): disable debug print.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 15:05:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): add new information heap_eden_page_length and</div><div class='del'>-	  heap_tomb_page_length.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: fix to use GC.stat[:heap_eden_page_length]</div><div class='del'>-	  instead of GC.stat[:heap_length].</div><div class='del'>-	  This test expects `heap_eden_page_length' (used pages size).</div><div class='del'>-</div><div class='del'>-Wed Nov 27 15:02:53 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb (class TestEval): Use assert_same instead of</div><div class='del'>-	  assert_equal.</div><div class='del'>-	* test/ruby/test_hash.rb (class TestHash): ditto.</div><div class='del'>-	* test/ruby/test_iseq.rb (class TestISeq): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 14:50:02 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb:  Announce RingServer for the same process.</div><div class='del'>-	  [ruby-trunk - Bug #9163]</div><div class='del'>-	* test/rinda/test_rinda.rb:  Tests for the above.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 14:37:33 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb (class TestEval): Add test for shared eval</div><div class='del'>-	  filenames via rb_fstring().</div><div class='del'>-	* test/ruby/test_iseq.rb (class TestISeq): Add test for shared</div><div class='del'>-	  iseq labels via rb_fstring(). [Bug #9159]</div><div class='del'>-</div><div class='del'>-Wed Nov 27 14:24:55 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_aset_str): Use rb_fstring() to de-duplicate hash string</div><div class='del'>-	  keys. Patch by Eric Wong. [Bug #8998] [ruby-core:57727]</div><div class='del'>-	* test/ruby/test_hash.rb (class TestHash): test for above.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 10:39:39 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Rename rb_heap_t members:</div><div class='del'>-	    used -&gt; page_length</div><div class='del'>-	    limit -&gt; total_slots</div><div class='del'>-</div><div class='del'>-Wed Nov 27 08:24:49 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: Use rb_fstring() to de-duplicate string literals in code.</div><div class='del'>-	  [ruby-core:58599] [Bug #9159] [ruby-core:54405]</div><div class='del'>-	* iseq.c (prepare_iseq_build): De-duplicate iseq labels and source</div><div class='del'>-	  locations.</div><div class='del'>-	* re.c (rb_reg_initialize): Use rb_fstring() for regex string.</div><div class='del'>-	* string.c (rb_fstring): Handle non-string and already-fstr arguments.</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): De-duplicate eval source</div><div class='del'>-	  filename.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 07:13:54 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: psych version 2.0.2</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Wed Nov 27 06:40:18 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: fix support for negative</div><div class='del'>-	  years.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto</div><div class='del'>-	* test/psych/test_date_time.rb: test for change.</div><div class='del'>-	  Fixes: https://github.com/tenderlove/psych/issues/168</div><div class='del'>-</div><div class='del'>-Wed Nov 27 04:46:55 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: fix regexp for matching TIME</div><div class='del'>-	  strings.</div><div class='del'>-	* test/psych/test_date_time.rb: test for change.</div><div class='del'>-	  Fixes: https://github.com/tenderlove/psych/issues/171</div><div class='del'>-</div><div class='del'>-Wed Nov 27 02:26:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new4): copy the original capacity so that memsize of</div><div class='del'>-	  frozen shared string returns correct size.</div><div class='del'>-</div><div class='del'>-Wed Nov 27 02:20:13 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_hash): should not ignore the rest of recursive</div><div class='del'>-	  constructs.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* range.c (range_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/test_recursion.rb (TestRecursion): separate from</div><div class='del'>-	  test/ruby/test_thread.rb.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 22:43:36 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): cut off if recursion detected to get rid of stack</div><div class='del'>-	  overflow.  [ruby-core:58567] [Bug #9151]</div><div class='del'>-</div><div class='del'>-Tue Nov 26 20:02:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests for a_call/a_return</div><div class='del'>-	  by Brandur &lt;brandur@mutelight.org&gt; [Feature #9120]</div><div class='del'>-</div><div class='del'>-Tue Nov 26 19:29:52 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add useful config "set breakpoint pending on"</div><div class='del'>-	  for run.gdb.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 19:17:47 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c (newobj_i): skip class_path if class</div><div class='del'>-	  is frozen.</div><div class='del'>-</div><div class='del'>-	  rb_class_path() can modify frozen classes (and causes errors).</div><div class='del'>-	  This patch is temporary. We need no-modification/no-allocation</div><div class='del'>-	  class path function.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 18:12:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: skip "exception check" and "reentrant check (only normal</div><div class='del'>-	  events)  for internal events.</div><div class='del'>-</div><div class='del'>-	  Reentrant check for internal events are remaining.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 17:38:16 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: prohibit to specify normal events and internal events</div><div class='del'>-	  simultaneously.</div><div class='del'>-	  I will introduce special care for internal events later.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/tracepoint/tracepoint.c: test this behavior.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/tracepoint/test_tracepoint.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 16:30:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_readlink): fix buffer overflow on a long symlink. since</div><div class='del'>-	  rb_str_modify_expand() expands from its length but not its capacity,</div><div class='del'>-	  need to set the length properly for each expansion.</div><div class='del'>-	  [ruby-core:58592] [Bug #9157]</div><div class='del'>-</div><div class='del'>-Tue Nov 26 14:23:17 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_append_string_value): Escape</div><div class='del'>-	  control characters for strict json parsers.</div><div class='del'>-	* ext/objspace/objspace_dump.c (objspace_dump): Document File/IO</div><div class='del'>-	  output option.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 11:43:19 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h: use __atomic builtin functions supported by GCC.</div><div class='del'>-	  __sync family are legacy functions now and it is recommended</div><div class='del'>-	  that new code use the __atomic functions.</div><div class='del'>-	  http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html</div><div class='del'>-</div><div class='del'>-	* configure.in: check existence of __atomic functions.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 10:57:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: revert Gem::Specification#date</div><div class='del'>-	  for snapshot/release tarballs.</div><div class='del'>-</div><div class='del'>-Tue Nov 26 06:42:50 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add ObjectSpace.after_gc_{start,end}_hook=</div><div class='del'>-	* ext/objspace/objspace_dump.c: [DOC] catch up dump/dump_all to r43679</div><div class='del'>-</div><div class='del'>-Tue Nov 26 04:12:10 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 612f85a.  Notable changes:</div><div class='del'>-</div><div class='del'>-	  Fixed installation and activation of git: and path: gems via</div><div class='del'>-	  Gem.use_gemdeps</div><div class='del'>-</div><div class='del'>-	  Improved documentation coverage</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 22:23:03 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb: [DOC] Fix link to xmlrpc4r site [Bug #9148]</div><div class='del'>-	  Patch by Giorgos Tsiftsis</div><div class='del'>-</div><div class='del'>-Mon Nov 25 19:48:10 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: [DOC] typo fixes by @vipulnsward [Fixes GH-456]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/456</div><div class='del'>-	* lib/uri/generic.rb: [DOC] ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 14:34:42 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: bump BigDecimal to 1.2.3 for</div><div class='del'>-	  proper release date in RubyGems</div><div class='del'>-</div><div class='del'>-Mon Nov 25 14:25:08 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: Remove Gem::Specification#date</div><div class='del'>-	  We should rely on rubygems to create the date the gem was released</div><div class='del'>-	  for each version.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 06:53:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: do not use ruby_sized_xrealloc() and ruby_sized_xfree()</div><div class='del'>-	  if HAVE_MALLOC_USABLE_SIZE (or _WIN32) is defined.</div><div class='del'>-</div><div class='del'>-	  We don't need these function if malloc_usable_size() is available.</div><div class='del'>-</div><div class='del'>-	* gc.c: catch up this change.</div><div class='del'>-</div><div class='del'>-	* gc.c: define HAVE_MALLOC_USABLE_SIZE on _WIN32.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_resize_capa): do not use ruby_sized_xfree() with</div><div class='del'>-	  local variable to avoid "unused local variable" warning.</div><div class='del'>-	  This change only has few impact.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 05:05:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/tracepoint/test_tracepoint.rb: catch up GC.stat changes</div><div class='del'>-	  at r43835.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 04:45:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: continue to change OLDSPACE -&gt; OLDMALLOC.</div><div class='del'>-	  RGENGC_ESTIMATE_OLDSPACE -&gt; RGENGC_ESTIMATE_OLDMALLOC.</div><div class='del'>-</div><div class='del'>-	* gc.c: add a new major GC reason GPR_FLAG_MAJOR_BY_OLDMALLOC.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 04:16:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change terminology "..._num" to "..._slots" about slot operation.</div><div class='del'>-	  * final_num -&gt; final_slots</div><div class='del'>-	  * objspace_live_num() -&gt; objspace_live_slots()</div><div class='del'>-	  * objspace_limit_num() -&gt; objspace_limit_slots()</div><div class='del'>-	  * objspace_free_num() -&gt; objspace_free_slots()</div><div class='del'>-</div><div class='del'>-Mon Nov 25 04:03:12 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): add internal information.</div><div class='del'>-	  * heap_swept_slot</div><div class='del'>-	  * malloc_increase</div><div class='del'>-	  * malloc_limit</div><div class='del'>-	  * remembered_shady_object</div><div class='del'>-	  * remembered_shady_object_limit</div><div class='del'>-	  * old_object</div><div class='del'>-	  * old_object_limit</div><div class='del'>-	  * oldmalloc_increase</div><div class='del'>-	  * oldmalloc_limit</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): rename names.</div><div class='del'>-	  * heap_live_num -&gt; heap_live_slot</div><div class='del'>-	  * heap_free_num -&gt; heap_free_slot</div><div class='del'>-	  * heap_final_slot -&gt; heap_final_slot</div><div class='del'>-</div><div class='del'>-	  Quote from RDoc of GC.stat():</div><div class='del'>-	    "The contents of the hash are implementation specific and may</div><div class='del'>-	    be changed in the future."</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up this change.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 03:59:45 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up last commit.</div><div class='del'>-	  Now RUBY_GC_OLDSPACE_LIMIT(...) is RUBY_GC_OLDMALLOC_LIMIT(...).</div><div class='del'>-</div><div class='del'>-Mon Nov 25 03:10:46 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change terminology OLDSPACE -&gt; OLDMALLOC.</div><div class='del'>-	  (oldspace -&gt; oldmalloc for variable names)</div><div class='del'>-</div><div class='del'>-	  OLDSPACE is confusing because it is not includes slots.</div><div class='del'>-	  To more clearly, rename such as (oldspace_limit -&gt; oldmalloc_limit).</div><div class='del'>-	  It is clear that it measures (estimates) malloc()'ed size.</div><div class='del'>-</div><div class='del'>-Mon Nov 25 00:50:03 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: use __builtin_bswap16() if possible.</div><div class='del'>-</div><div class='del'>-	* configure.in: check existence of __builtin_bswap16().</div><div class='del'>-</div><div class='del'>-Sun Nov 24 22:24:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigxor_int): Apply BIGLO for long in a BDIGIT expression.</div><div class='del'>-	  (bigor_int): Ditto.</div><div class='del'>-	  (bigand_int): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 24 18:13:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (SIZEOF_ACTUAL_BDIGIT): Defined.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Use</div><div class='del'>-	  SIZEOF_ACTUAL_BDIGIT instead of SIZEOF_BDIGITS.</div><div class='del'>-	  SIZEOF_BDIGITS can be different to sizeof(BDIGIT).</div><div class='del'>-</div><div class='del'>-Sun Nov 24 13:49:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: Don't use int128_t for Bignum.</div><div class='del'>-	  It's not always faster.</div><div class='del'>-</div><div class='del'>-	* bignum.c: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 24 10:18:15 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add details about new debugging features and APIs.</div><div class='del'>-</div><div class='del'>-Sun Nov 24 09:37:20 2013  Andrew Vit  &lt;andrew@avit.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Optimize header hashes by freezing string keys.</div><div class='del'>-	  [ruby-core:58510]</div><div class='del'>-</div><div class='del'>-Sun Nov 24 09:18:06 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_object): Use PRIuSIZE to print</div><div class='del'>-	  size_t for better win32 compatibility.</div><div class='del'>-	* test/objspace/test_objspace.rb (test_dump_all): Hold reference to</div><div class='del'>-	  test string to avoid failure due to GC. Reduce size of failure message</div><div class='del'>-	  using grep(/TEST STRING/).</div><div class='del'>-</div><div class='del'>-Sun Nov 24 08:38:00 2013  Kyle Stevens  &lt;kstevens715@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: If skip_lines is set to a String, convert it to a Regexp</div><div class='del'>-	  to prevent the alternative, which is that each line in the CSV gets</div><div class='del'>-	  converted to a Regexp when calling skip_lines#match.</div><div class='del'>-</div><div class='del'>-Sun Nov 24 01:03:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power): Use FIX2LONG instead</div><div class='del'>-	  of FIX2INT to avoid conversion error.</div><div class='del'>-</div><div class='del'>-Sun Nov 24 00:44:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): define by macros</div><div class='del'>-	  defined in defines.h, instead of complex and repeated expression.</div><div class='del'>-</div><div class='del'>-Sat Nov 23 22:22:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Limit the value to</div><div class='del'>-	  less than 8.</div><div class='del'>-</div><div class='del'>-Sat Nov 23 19:52:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (BigMath.E): Use BigMath.exp.</div><div class='del'>-	  [Feature #6857] [ruby-core:47130]</div><div class='del'>-</div><div class='del'>-Sat Nov 23 19:46:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Optimize the</div><div class='del'>-	  calculation algorithm to reduce the number of divisions.</div><div class='del'>-	  This optimization was proposed by Rafal Michalski.</div><div class='del'>-	  [Feature #6857] [ruby-core:47130]</div><div class='del'>-</div><div class='del'>-Sat Nov 23 19:20:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): The signature was</div><div class='del'>-	  changed to allow us to pass arguments directly.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div3): Added for the role of</div><div class='del'>-	  the old BigDecimal_div2.</div><div class='del'>-</div><div class='del'>-Sat Nov 23 12:31:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix global variable name.</div><div class='del'>-	  Now we have following environments (and related variable names).</div><div class='del'>-</div><div class='del'>-	  * RUBY_GC_HEAP_INIT_SLOTS</div><div class='del'>-	  * RUBY_GC_HEAP_FREE_SLOTS</div><div class='del'>-	  * RUBY_GC_HEAP_GROWTH_FACTOR (new from 2.1)</div><div class='del'>-	  * RUBY_GC_HEAP_GROWTH_MAX_SLOTS (new from 2.1)</div><div class='del'>-</div><div class='del'>-	  * obsolete</div><div class='del'>-	    * RUBY_FREE_MIN       -&gt; RUBY_GC_HEAP_FREE_SLOTS (from 2.1)</div><div class='del'>-	    * RUBY_HEAP_MIN_SLOTS -&gt; RUBY_GC_HEAP_INIT_SLOTS (from 2.1)</div><div class='del'>-</div><div class='del'>-	  * RUBY_GC_MALLOC_LIMIT</div><div class='del'>-	  * RUBY_GC_MALLOC_LIMIT_MAX (new from 2.1)</div><div class='del'>-	  * RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR (new from 2.1)</div><div class='del'>-</div><div class='del'>-	  * RUBY_GC_OLDSPACE_LIMIT (new from 2.1)</div><div class='del'>-	  * RUBY_GC_OLDSPACE_LIMIT_MAX (new from 2.1)</div><div class='del'>-	  * RUBY_GC_OLDSPACE_LIMIT_GROWTH_FACTOR (new from 2.1)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up this change.</div><div class='del'>-</div><div class='del'>-Sat Nov 23 09:45:49 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): Use HASH_PROC_DEFAULT directly from internal.h</div><div class='del'>-</div><div class='del'>-Sat Nov 23 08:43:23 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Rename heap_pages_swept_num to heap_pages_swept_slots to</div><div class='del'>-	  clarify meaning (number of slots, not pages).</div><div class='del'>-</div><div class='del'>-Sat Nov 23 08:23:23 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (class SortedSet): Fix source_location for methods</div><div class='del'>-	  defined via eval.</div><div class='del'>-</div><div class='del'>-Sat Nov 23 03:44:03 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master dcce4ff.  Important changes</div><div class='del'>-	  in this commit:</div><div class='del'>-</div><div class='del'>-	  Remove automatic detection of gem dependencies files.  This prevents a</div><div class='del'>-	  security hole as described in [ruby-core:58490]</div><div class='del'>-</div><div class='del'>-	  Fixed bugs for installing git gems.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 22:30:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power):</div><div class='del'>-	  Round the result value only if the precision is given.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 17:20:50 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): don't scrub invalid chars if</div><div class='del'>-	  str.encode doesn't have explicit invalid: :replace.</div><div class='del'>-	  workaround fix for see #8995</div><div class='del'>-</div><div class='del'>-Fri Nov 22 17:11:26 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, internal.h: Expose rb_gc_count().</div><div class='del'>-</div><div class='del'>-Fri Nov 22 17:07:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: version 1.2.2.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 17:04:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_data_type):</div><div class='del'>-	  Use RUBY_TYPED_FREE_IMMEDIATELY only if it is available.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 16:49:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power): Round the result value.</div><div class='del'>-	  [Bug #8818] [ruby-core:56802]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: Add a test for the above fix.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 16:25:43 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_set_increment): accept minimum additional page number.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_after_sweep): allocate pages to allocate at least</div><div class='del'>-	   RUBY_HEAP_MIN_SLOTS.</div><div class='del'>-	   [Bug #9137]</div><div class='del'>-</div><div class='del'>-Fri Nov 22 16:19:52 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_gc_set_params): Deprecate</div><div class='del'>-	  rb_gc_set_params because it's only used in ruby internal.</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_gc_set_params): Declare rb_gc_set_params's</div><div class='del'>-	  alias function.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ruby.c: use ruby_gc_set_params.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 14:55:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Insert rb_thread_check_ints.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 14:35:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix the inserting points</div><div class='del'>-	  of RB_GC_GUARDs.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 14:31:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Fix indentation.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 14:03:00 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf: merge nkf 2.1.3 2a2f2c5.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 12:43:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): ignore too long fraction part, which does not</div><div class='del'>-	  affect the result.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 12:17:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#initialize):</div><div class='del'>-	  initialize of a module should pass arguments to super.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 12:02:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: Ignore events from other threads.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 10:35:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): do not use ruby_xfree() after freeing</div><div class='del'>-	  objspace.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_mimfree): added. It is similar to ruby_mimmalloc().</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 09:42:35 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: Reverse order of assert_equal</div><div class='del'>-	  Reported by @splattael</div><div class='del'>-</div><div class='del'>-Fri Nov 22 09:03:16 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix build failure on FreeBSD introduced by r43763.</div><div class='del'>-	  malloc_usable_size() is defined by malloc_np.h on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* configure.in: check malloc.h and malloc_np.h.</div><div class='del'>-</div><div class='del'>-Fri Nov 22 08:27:13 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 50a8210.  Important changes</div><div class='del'>-	  in this commit:</div><div class='del'>-</div><div class='del'>-	  RubyGems now automatically checks for gem.deps.rb or Gemfile when</div><div class='del'>-	  running ruby executables.  This behavior is similar to `bundle exec</div><div class='del'>-	  rake`.  This change may be reverted before Ruby 2.1.0 if too many bugs</div><div class='del'>-	  are found.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 22:33:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: RGENGC_CHECK_MODE should be 0.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 21:40:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpAlloc): Fix the expr to adjust the size</div><div class='del'>-	  of the digit array.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 21:36:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix the precision of</div><div class='del'>-	  the result BigDecimal of sqrt.</div><div class='del'>-	  [Bug #5266] [ruby-dev:44450]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: add tests for the above changes.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 18:49:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_xrealloc, vm_xfree): use malloc_usable_size() to obtain old</div><div class='del'>-	  size if available.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 18:47:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (SimpleDelegator#__getobj__): target object must be set.</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass#__getobj__): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 18:28:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): use class method to get rid</div><div class='del'>-	  of warnings when $VERBOSE.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 17:43:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename initial_xxx variables to gc_params.xxx.</div><div class='del'>-	  They are not only used initial values.</div><div class='del'>-</div><div class='del'>-	  Chikanaga-san: Congratulations on RubyPrize!</div><div class='del'>-</div><div class='del'>-Thu Nov 21 17:16:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: enable "RGENGC_ESTIMATE_OLDSPACE" option as default.</div><div class='del'>-	  Without this option, some application consumes huge memory.</div><div class='del'>-	  (and there are only a few performance down)</div><div class='del'>-</div><div class='del'>-	  Introduced new environment variables:</div><div class='del'>-	  * RUBY_GC_HEAP_OLDSPACE (default 16MB)</div><div class='del'>-	  * RUBY_GC_HEAP_OLDSPACE_MAX (default 128 MB)</div><div class='del'>-	  * RUBY_GC_HEAP_OLDSPACE_GROWTH_FACTOR (default 1.2)</div><div class='del'>-</div><div class='del'>-	* gc.c (initial_malloc_limit): rename to initial_malloc_limit_min.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 16:51:34 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/bubblebabble/bubblebabble.c: Teach RDoc digest/bubblebabble</div><div class='del'>-</div><div class='del'>-Thu Nov 21 16:50:16 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: Add more tests for digest/bubblebabble</div><div class='del'>-</div><div class='del'>-Thu Nov 21 16:32:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator#method_missing): try private methods defined in</div><div class='del'>-	  Kernel after the target.  [Fixes GH-449]</div><div class='del'>-</div><div class='del'>-Thu Nov 21 16:25:08 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (URI#test_merge): Test uri + URI(path)</div><div class='del'>-	  in addition to uri + path.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 15:36:08 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: [DOC] Fix HEREDOC comment for</div><div class='del'>-	  OpenSSL::Buffering which breaks overview because of RDoc bug</div><div class='del'>-</div><div class='del'>-Thu Nov 21 14:46:57 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (SAVE_ROOT_JMPBUF): workaround for the failure of</div><div class='del'>-	  test/ruby/test_exception.rb on Windows.</div><div class='del'>-	  wrap by __try and __exception statements on mswin to raise SIGSEGV</div><div class='del'>-	  when EXCEPTION_STACK_OVERFLOW is occurred, because MSVCRT doesn't</div><div class='del'>-	  handle the exception.</div><div class='del'>-	  however, (1) mingw-gcc doesn't support __try and __exception</div><div class='del'>-	  statements, and (2) we cannot retry SystemStackError after this</div><div class='del'>-	  change yet (maybe crashed) because SEH and longjmp() are too</div><div class='del'>-	  uncongenial.</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow, CHECK_STACK_OVERFLOW): now defined on</div><div class='del'>-	  Windows, too.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (ruby_stack_overflowed_p): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 14:18:24 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: [DOC] Clarify Object#dup vs #clone [Bug #9128]</div><div class='del'>-	  Moving existing doc for this comparison to separate section of #dup</div><div class='del'>-	  Adding examples to document behavior of #dup with Module#extend.</div><div class='del'>-	  Based on a patch by stevegoobermanhill</div><div class='del'>-</div><div class='del'>-Thu Nov 21 14:06:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_check): do not dump all refs.</div><div class='del'>-</div><div class='del'>-	* gc.c (allrefs_dump_i): fix output format.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 13:43:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change RGENGC_CHECK_MODE (&gt;= 2) logic.</div><div class='del'>-	  Basically, make an object graph of all of living objects before and</div><div class='del'>-	  after marking and check status.</div><div class='del'>-</div><div class='del'>-	  [Before marking: check WB sanity]</div><div class='del'>-	  If there is a non-old object `obj' pointed from old object</div><div class='del'>-	  (`parent') then `parent' or `obj' should be remembered.</div><div class='del'>-</div><div class='del'>-	  [After marking: check marking miss]</div><div class='del'>-	  Traversible objects with the object graph should be marked.</div><div class='del'>-	  (However, this alert about objects pointed by machine context</div><div class='del'>-	   can be false positive. We only display alert.)</div><div class='del'>-</div><div class='del'>-	  [Implementation memo]</div><div class='del'>-	  objspace_allrefs() creates an object graph.</div><div class='del'>-	  The object graph is represented by st_table, key is object (VALUE)</div><div class='del'>-	  and value is referring objects. Referring objects are stored by</div><div class='del'>-	  "struct reflist".</div><div class='del'>-</div><div class='del'>-	* gc.c (init_mark_stack): do not use push_mark_stack_chunk() at init.</div><div class='del'>-	  This pre-allocation causes failure on is_mark_stack_empty()</div><div class='del'>-	  without any pushing.</div><div class='del'>-</div><div class='del'>-Thu Nov 21 13:40:20 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb: [DOC] Clarify default observer method.</div><div class='del'>-	  By @edward [Fixes GH-450] https://github.com/ruby/ruby/pull/450</div><div class='del'>-</div><div class='del'>-Thu Nov 21 13:32:53 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c: [DOC] Documentation for OpenSSL::Engine</div><div class='del'>-	  This patch is based off work by @vbatts in GH-436 completing the</div><div class='del'>-	  documentation for this class and its methods.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/436</div><div class='del'>-</div><div class='del'>-Thu Nov 21 10:45:22 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb: Remove unused arguments from</div><div class='del'>-	  OpenSSL::Buffering.new [Fixes GH-445]</div><div class='del'>-</div><div class='del'>-Thu Nov 21 10:30:47 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: Add test for Digest::SHA256.bubblebabble</div><div class='del'>-</div><div class='del'>-Wed Nov 20 20:54:01 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb : fix typo.</div><div class='del'>-</div><div class='del'>-Wed Nov 20 19:45:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): Make it possible to specify arbitrary array</div><div class='del'>-	  for init_genrand().</div><div class='del'>-</div><div class='del'>-Wed Nov 20 17:34:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_gc_mark_symbols): set global_symbols.minor_marked only</div><div class='del'>-	  when full_mark is 0.</div><div class='del'>-	  rb_gc_mark_symbols() (with full_mark == 1) can be called by other</div><div class='del'>-	  than GC (such as rb_objspace_reachable_objects_from_root()).</div><div class='del'>-</div><div class='del'>-Wed Nov 20 11:46:38 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: merge JSON 1.8.1.</div><div class='del'>-	  https://github.com/nurse/json/compare/002ac2771ce32776b32ccd2d06e5604de6c36dcd...e09ffc0d7da25d0393873936c118c188c78dbac3</div><div class='del'>-	* Remove Rubinius exception since transcoding should be working now.</div><div class='del'>-	* Fix https://github.com/flori/json/issues/162 reported by Marc-Andre</div><div class='del'>-	  Lafortune &lt;github_rocks@marc-andre.ca&gt;. Thanks!</div><div class='del'>-	* Applied patches by Yui NARUSE &lt;naruse@airemix.jp&gt; to suppress</div><div class='del'>-	  warning with -Wchar-subscripts and better validate UTF-8 strings.</div><div class='del'>-	* Applied patch by ginriki@github to remove unnecessary if.</div><div class='del'>-	* Add load/dump interface to JSON::GenericObject to make</div><div class='del'>-	  serialize :some_attribute, JSON::GenericObject</div><div class='del'>-	  work in Rails active models for convenient</div><div class='del'>-	  SomeModel#some_attribute.foo.bar access to serialised JSON data.</div><div class='del'>-</div><div class='del'>-Wed Nov 20 01:39:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for</div><div class='del'>-	  NoMethodError when the original of alias is not found.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 23:38:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-os-version-style): option to transform target</div><div class='del'>-	  OS version string.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 21:27:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb (spawn_server): Specify zero for port to</div><div class='del'>-	  avoid reusing an allocated port.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: Don't specify port here.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 18:52:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_is_swept_object): use heap_page::before_sweep flag.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 18:49:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_reachable_objects_from_root): do major marking.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 18:45:40 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_resurrect): added.</div><div class='del'>-	  rb_fstring() used rb_gc_mark() to avoid freeing used string.</div><div class='del'>-	  However, rb_gc_mark() set mark bit *and* pushes mark_stack.</div><div class='del'>-	  rb_gc_resurrect() does only set mark bit if it is before sweeping.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): use rb_gc_resurrect.</div><div class='del'>-</div><div class='del'>-	* internal.h: add decl.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 09:47:02 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc master a1195ce.  Changes include:</div><div class='del'>-</div><div class='del'>-	  Improved accessibility of the main sidebar navigation.</div><div class='del'>-</div><div class='del'>-	  Fixed handling of regexp options in HTML source highlighting.</div><div class='del'>-</div><div class='del'>-	* test/rdoc:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 09:33:52 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 6a3d9f9.  Changes include:</div><div class='del'>-</div><div class='del'>-	  Compatibly renamed Gem::DependencyResolver to Gem::Resolver.</div><div class='del'>-</div><div class='del'>-	  Added support for git gems in gem.deps.rb and Gemfile.</div><div class='del'>-</div><div class='del'>-	  Fixed resolver bugs.</div><div class='del'>-</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/LICENSE.txt:  Updated to license from RubyGems trunk.</div><div class='del'>-	  [ruby-trunk - Bug #9086]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/which_command.rb:  RubyGems now indicates</div><div class='del'>-	  failure when any file is missing.  [ruby-trunk - Bug #9004]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/builder:  Extensions are now installed into the</div><div class='del'>-	  extension install directory and the first directory in the require</div><div class='del'>-	  path from the gem.  This allows backwards compatibility with msgpack</div><div class='del'>-	  and other gems that calculate full require paths.</div><div class='del'>-	  [ruby-trunk - Bug #9106]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Tue Nov 19 07:21:56 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LOCALTIME_OVERFLOW_PROBLEM): Define it for cross</div><div class='del'>-	  compiling.</div><div class='del'>-	  [ruby-core:58391] [Bug #9119] Reported by Luis Lavena.</div><div class='del'>-	  Analyzed by Heesob Park.</div><div class='del'>-</div><div class='del'>-Tue Nov 19 05:55:05 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rubygems_hook.rb:  Remove debugging puts committed by</div><div class='del'>-	  accident.</div><div class='del'>-</div><div class='del'>-Mon Nov 18 22:47:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (TH_PUSH_TAG, TH_EXEC_TAG): refine stack overflow</div><div class='del'>-	  detection.  chain local tag after setjmp() successed on it, because</div><div class='del'>-	  calling setjmp() also can overflow the stack.</div><div class='del'>-	  [ruby-dev:47804] [Bug #9109]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_catch_obj): now th-&gt;tag points previous tag until</div><div class='del'>-	  TH_EXEC_TAG().</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): set stack_start properly by</div><div class='del'>-	  get_main_stack() if possible.</div><div class='del'>-</div><div class='del'>-Mon Nov 18 22:45:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (rb_exec_end_proc): unlink and free procs data before</div><div class='del'>-	  calling for each procs.  [Bug #9110]</div><div class='del'>-</div><div class='del'>-Sun Nov 17 06:33:32 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Use $LIBS for base of $SOLIBS, also in darwin.</div><div class='del'>-	  By this fix, environment that libgmp is located in $LIBS can build</div><div class='del'>-	  ruby.</div><div class='del'>-</div><div class='del'>-Sun Nov 17 01:56:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): Show error</div><div class='del'>-	  message instead of error number.</div><div class='del'>-	  (thread_create_core): Ditto.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_machine_stack_alloc): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 16 18:28:08 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/ultralightparser.rb</div><div class='del'>-	  (REXML::Parsers::UltraLightParser#parse): Fix wrong :start_doctype</div><div class='del'>-	  position.</div><div class='del'>-	  [Bug #9061] [ruby-dev:47778]</div><div class='del'>-	  Patch by Ippei Obayashi. Thanks!!!</div><div class='del'>-</div><div class='del'>-	* test/rexml/parser/test_ultra_light.rb: Add a test for this case.</div><div class='del'>-</div><div class='del'>-Sat Nov 16 02:13:56 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c : Introduce ensure rollback mechanism. Please see below.</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_register_rollback_func_for_ensure): catch up above change.</div><div class='del'>-	  Add rollback mechanism API.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (typedef struct rb_vm_struct): catch up above change.</div><div class='del'>-	  Introduce ensure-rollback relation table.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (typedef struct rb_thread_struct): catch up above change.</div><div class='del'>-	  Introduce ensure stack.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_ensure): catch up above change.</div><div class='del'>-	  Introduce ensure stack.</div><div class='del'>-</div><div class='del'>-	* hash.c : New function for rollback ensure, and register it to</div><div class='del'>-	  ensure-rollback relation table. [ruby-dev:47803] [Bug #9105]</div><div class='del'>-</div><div class='del'>-	Ensure Rollback Mechanism:</div><div class='del'>-	A rollback's function is a function to rollback a state before ensure's</div><div class='del'>-	function execution.</div><div class='del'>-	When the jump of callcc is across the scope of rb_ensure,</div><div class='del'>-	ensure's functions and rollback's functions are executed appropriately</div><div class='del'>-	for keeping consistency.</div><div class='del'>-</div><div class='del'>-	Current API is unstable, and only internal use.</div><div class='del'>-</div><div class='del'>-	ruby_register_rollback_func_for_ensure(ensure_func,rollback_func)</div><div class='del'>-	This API create relation ensure's function to rollback's function.</div><div class='del'>-	By registered rollback's function, it is executed When jumping into</div><div class='del'>-	corresponding rb_ensure scope.</div><div class='del'>-</div><div class='del'>-Sat Nov 16 00:18:36 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (rb_exec_end_proc): fix double free or corruption error</div><div class='del'>-	  when reentering by callcc. [ruby-core:58329] [Bug #9110]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: test for above.</div><div class='del'>-</div><div class='del'>-Fri Nov 15 01:06:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_output): allow IO object as</div><div class='del'>-	  output, and use Tempfile.create and return open file instead of</div><div class='del'>-	  mkstemp() and path name for :file output.</div><div class='del'>-	  [ruby-core:58266] [Bug #9102]</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb (TestObjSpace#dump_my_heap_please):</div><div class='del'>-	  remove temporary output file.</div><div class='del'>-</div><div class='del'>-Thu Nov 14 23:39:00 2013  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] remove example of</div><div class='del'>-	  Rational#to_d without argument. [Bug #8958]</div><div class='del'>-</div><div class='del'>-Thu Nov 14 20:24:15 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_SIZE_CAS): fix compile error on Solaris</div><div class='del'>-	  since r43460.</div><div class='del'>-</div><div class='del'>-Thu Nov 14 19:53:00 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb (test_aes_gcm_wrong_tag): Don't use</div><div class='del'>-	  String#succ because it can make modified (wrong) auth_tag longer</div><div class='del'>-	  than 16 bytes.  The longer auth_tag makes that</div><div class='del'>-	  EVP_CIPHER_CTX_ctrl (and internally aes_gcm_ctrl) fail.</div><div class='del'>-	  [ruby-core:55143] [Bug #8439] reported by Vit Ondruch.</div><div class='del'>-</div><div class='del'>-Thu Nov 14 11:33:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (foreach_safe_i, hash_foreach_iter): deal with error detected</div><div class='del'>-	  by ST_CHECK.</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach_check): call with non-error argument in normal case.</div><div class='del'>-</div><div class='del'>-Thu Nov 14 02:37:14 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c: [DOC] This patch accomplishes the following:</div><div class='del'>-</div><div class='del'>-	  - Teach RDoc about ConditionVariable</div><div class='del'>-	  - Teach RDoc about Queue</div><div class='del'>-	  - Teach RDoc about SizedQueue</div><div class='del'>-	  - Use fully-qualified namespace for Document-method</div><div class='del'>-	    This is necessary to separate definitions between classes</div><div class='del'>-	  - Fix rdoc bug in call_seq vs. call-seq</div><div class='del'>-	  - Correct doc for SizedQueue#pop patch by @jackdanger [Bug #8988]</div><div class='del'>-</div><div class='del'>-Thu Nov 14 01:11:54 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] +precision+ is required</div><div class='del'>-</div><div class='del'>-Wed Nov 13 19:21:36 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] Document the required</div><div class='del'>-	  +precision+ argument for Rational#to_d [Bug #8958]</div><div class='del'>-</div><div class='del'>-Wed Nov 13 19:02:05 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/*: [DOC] Fix several typos and broken http links.</div><div class='del'>-	  Improved examples for Digest overview and fixed a broken example in</div><div class='del'>-	  Digest::HMAC overview. This patch also adds a description of</div><div class='del'>-	  Digest::SHA256.bubblebabble to the Digest overview.</div><div class='del'>-</div><div class='del'>-	  Patched by @stomar [Bug #9027]</div><div class='del'>-</div><div class='del'>-Wed Nov 13 18:32:12 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_config.c: [DOC] Document the following:</div><div class='del'>-</div><div class='del'>-	  - OpenSSL::ConfigError</div><div class='del'>-	  - OpenSSL::Config::DEFAULT_CONFIG_FILE</div><div class='del'>-</div><div class='del'>-	  Patched by @vbatts via GH-436</div><div class='del'>-	  https://github.com/ruby/ruby/pull/436</div><div class='del'>-</div><div class='del'>-Wed Nov 13 18:03:00 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: [DOC] Document parts of</div><div class='del'>-	  OpenSSL::ASN1::ObjectId included a fix for the class overview, which</div><div class='del'>-	  previously showed the documentation for Constructive due to missing</div><div class='del'>-	  ObjectId overview. This patch also includes a note for Primitive.</div><div class='del'>-</div><div class='del'>-	  Based on a patch by @vbatts via GH-436</div><div class='del'>-	  https://github.com/ruby/ruby/pull/436</div><div class='del'>-</div><div class='del'>-Wed Nov 13 17:19:36 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/config.rb: In #parse use +string+ for +str+</div><div class='del'>-</div><div class='del'>-Wed Nov 13 17:09:45 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/*.rb: [DOC] Document the following:</div><div class='del'>-</div><div class='del'>-	  - Integer#to_bn</div><div class='del'>-	  - OpenSSL::Buffering module</div><div class='del'>-	  - Deprecated OpenSSL::Digest::Digest compatibility class</div><div class='del'>-	  - OpenSSL::Config</div><div class='del'>-</div><div class='del'>-	  These changes were based on a patch by @vbatts via GH-436</div><div class='del'>-	  https://github.com/ruby/ruby/pull/436</div><div class='del'>-</div><div class='del'>-Wed Nov 13 10:55:43 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc: [DOC] Fix typo in Special global variables section.</div><div class='del'>-	  Reported by Alex Johnson on ruby-doc.org</div><div class='del'>-</div><div class='del'>-Wed Nov 13 10:43:19 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: [DOC] Adds an example for Hash#store</div><div class='del'>-</div><div class='del'>-Wed Nov 13 09:03:40 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc: [DOC] add note about Bug #4044 as suggested by</div><div class='del'>-	  duerst-san in [ruby-core:43612] [Fixes GH-443] Patched by @rosenfeld</div><div class='del'>-	  https://github.com/ruby/ruby/pull/443</div><div class='del'>-</div><div class='del'>-Tue Nov 12 10:15:14 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/insure_session.rb:  Remove unused test file.</div><div class='del'>-</div><div class='del'>-Tue Nov 12 09:16:24 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master b9213d7.  Changes include:</div><div class='del'>-</div><div class='del'>-	  Fixed tests on Windows (I hope) by forcing platform for</div><div class='del'>-	  platform-dependent tests.</div><div class='del'>-</div><div class='del'>-	  Fixed File.exists? warnings.</div><div class='del'>-</div><div class='del'>-	  Improved testing infrastructure.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_rubygems_hook.rb:  Switch to util_spec like</div><div class='del'>-	  RubyGems.</div><div class='del'>-</div><div class='del'>-Mon Nov 11 18:31:12 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move common string/hash flags to include file.</div><div class='del'>-	* ext/objspace/objspace_dump.c: remove flags shared above.</div><div class='del'>-	* hash.c: ditto.</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov 11 04:36:14 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb:  Include 2.2.0.preview.2 when checking</div><div class='del'>-	  if extensions should be built.  Fixes a ruby-ci failure.</div><div class='del'>-	* test/rubygems/test_gem_specification.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Mon Nov 11 03:15:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (symbol2event_flag): add secret feature.</div><div class='del'>-	  add a_call/a_return events.</div><div class='del'>-	  a_call is call | b_call | c_call, and same as a_return.</div><div class='del'>-</div><div class='del'>-Mon Nov 11 02:51:17 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems master 4bdc4f2.  Important changes</div><div class='del'>-	  in this commit:</div><div class='del'>-</div><div class='del'>-	  RubyGems now chooses the test server port reliably.  Patch by akr.</div><div class='del'>-</div><div class='del'>-	  Partial implementation of bundler's Gemfile format.</div><div class='del'>-</div><div class='del'>-	  Refactorings to improve the new resolver.</div><div class='del'>-</div><div class='del'>-	  Fixes bugs in the resolver.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  Tests for the above.</div><div class='del'>-</div><div class='del'>-Mon Nov 11 01:02:06 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb: [DOC] Add note about change from #8730 [Fixes GH-440]</div><div class='del'>-	* NEWS: [DOC] Improve grammar on change to Timeout</div><div class='del'>-	  Patched by @srawlins in https://github.com/ruby/ruby/pull/440</div><div class='del'>-</div><div class='del'>-Sun Nov 10 23:47:05 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gcdebug_print_obj_condition): catch up recent changes</div><div class='del'>-	  to compile on GC_DEBUG.</div><div class='del'>-</div><div class='del'>-Sun Nov 10 22:16:19 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_cause): captured previous exception.</div><div class='del'>-</div><div class='del'>-	* eval.c (make_exception): capture previous exception automagically.</div><div class='del'>-	  [Feature #8257]</div><div class='del'>-</div><div class='del'>-Sun Nov 10 08:37:20 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: [DOC] Remove duplicate reference</div><div class='del'>-</div><div class='del'>-Sun Nov 10 08:09:29 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: [DOC] promote better windows-safe filename regular</div><div class='del'>-	  expression in DRb Logger example. Reported by Chris Pheonix</div><div class='del'>-	  [Bug #9074]</div><div class='del'>-</div><div class='del'>-Sun Nov 10 08:03:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_define_finalizer, rb_undefine_finalizer): rename and export</div><div class='del'>-	  finalizer functions.</div><div class='del'>-</div><div class='del'>-Sun Nov 10 07:41:22 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb: [DOC] fix typos by @xaviershay [Fixes GH-439]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/439</div><div class='del'>-</div><div class='del'>-Sun Nov 10 06:14:39 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze</div><div class='del'>-	  method is called on a static string literal with no arguments.</div><div class='del'>-</div><div class='del'>-	* defs/id.def (firstline): add freeze so idFreeze is available</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_str_freeze): add opt_str_freeze instruction which</div><div class='del'>-	  pushes a frozen string literal without allocating a new object if</div><div class='del'>-	  String#freeze is not overridden</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): define String#freeze</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_init_redefined_flag): define BOP_FREEZE on String class as</div><div class='del'>-	  a basic operation</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: ditto</div><div class='del'>-</div><div class='del'>-	[Feature #8992] [ruby-core:57705]</div><div class='del'>-</div><div class='del'>-Sun Nov 10 01:34:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_increase): sweep immediately on GC due to malloc().</div><div class='del'>-	  To reduce memory usage, sweep as soon as possible.</div><div class='del'>-	  This behavior is same as Ruby 2.0.0 and before.</div><div class='del'>-</div><div class='del'>-Sun Nov 10 00:39:26 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: output version description and GC::OPTS.</div><div class='del'>-</div><div class='del'>-Sun Nov 10 00:36:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (should_be_callable): allow private call since rb_eval_cmd</div><div class='del'>-	  calls even private methods.</div><div class='del'>-</div><div class='del'>-Sun Nov 10 00:33:17 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo by Tsuyoshi Sawada</div><div class='del'>-	  [Bug #9077]</div><div class='del'>-</div><div class='del'>-Sat Nov  9 22:35:35 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (Gem::Specification.load): obtain spec date from</div><div class='del'>-	  VCS for the case using git, RUBY_RELEASE_DATE is the last resort.</div><div class='del'>-	  probably fixes [Bug #9085].</div><div class='del'>-</div><div class='del'>-Sat Nov  9 20:56:12 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: use declarations in internal.h.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: ditto</div><div class='del'>-</div><div class='del'>-Sat Nov  9 20:32:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb (test_dump_all): Make the test string</div><div class='del'>-	  shorter to be an embedded string on 32bit environment as well as</div><div class='del'>-	  64bit environment.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 15:00:16 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: [DOC] ARGF.gets may return nil [Bug #9029] patch by znz</div><div class='del'>-</div><div class='del'>-Sat Nov  9 14:54:52 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/*: [DOC] document various constants @steveklabnik [Bug #8812]</div><div class='del'>-</div><div class='del'>-Sat Nov  9 14:50:09 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: [DOC] document Time#w3cdtf by @steveklabnik</div><div class='del'>-	  [Bug #8821]</div><div class='del'>-</div><div class='del'>-Sat Nov  9 14:29:04 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c: [DOC] fix typo in example [Bug #8944]</div><div class='del'>-	  Patched by Heesob Park</div><div class='del'>-</div><div class='del'>-Sat Nov  9 13:59:58 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb: [DOC] better example for assert_send()</div><div class='del'>-	  Patch by Andrew Grimm [Bug #8975]</div><div class='del'>-</div><div class='del'>-Sat Nov  9 12:45:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: unify ic_constant_serial and ic_class_serial into one field</div><div class='del'>-	  ic_serial. This is possible because these fields are only ever used</div><div class='del'>-	  exclusively with each other.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto</div><div class='del'>-	* vm_core.h: ditto</div><div class='del'>-	* vm_insnhelper.c: ditto</div><div class='del'>-</div><div class='del'>-Sat Nov  9 12:31:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: unify names of vm state version counters to 'serial'.</div><div class='del'>-	  This includes renaming 'vm_state_version_t' to 'rb_serial_t',</div><div class='del'>-	  'method_state' to 'method_serial', 'seq' to 'class_serial',</div><div class='del'>-	  'vmstat' to 'constant_serial', etc.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto</div><div class='del'>-	* internal.h: ditto</div><div class='del'>-	* vm.c: ditto</div><div class='del'>-	* vm_core.h: ditto</div><div class='del'>-	* vm_insnhelper.c: ditto</div><div class='del'>-	* vm_insnhelper.h: ditto</div><div class='del'>-	* vm_method.c: ditto</div><div class='del'>-</div><div class='del'>-Sat Nov  9 09:22:29 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep, rgengc_rememberset_mark): Refactoring.</div><div class='del'>-	  Get bitmaps directly.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 09:16:36 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTE_INFANT): Refactoring. Remove duplicated nonsense</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 09:04:48 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_test): Bugfix. Fix a struct member name for build</div><div class='del'>-	  with RGENGC_CHECK_MODE.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 08:58:23 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : Add GC_PROFILE_DETAIL_MEMORY option.</div><div class='del'>-	  If GC_PROFILE_MORE_DETAIL &amp;&amp; GC_PROFILE_DETAIL_MEMORY,</div><div class='del'>-	  maxrss, minflt and majflt are added to each profile record.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 07:41:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_vm_backtrace_object, rb_gc_count): make prototype</div><div class='del'>-	  declarations, not old-K&amp;R style.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 06:11:14 2013  vo.x (Vit Ondruch)  &lt;vondruch@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (Gem::Specification#collect): make stable</div><div class='del'>-	  Gem::Specification.files in default .gemspecs the different order of</div><div class='del'>-	  "files" in .gemspec files makes them different therefore possibly</div><div class='del'>-	  conflicting in multilib scenario.  patch by vo.x (Vit Ondruch) at</div><div class='del'>-	  [ruby-core:57544] [Bug #8623].</div><div class='del'>-</div><div class='del'>-Sat Nov  9 01:59:18 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c: Add experimental methods to</div><div class='del'>-	  dump objectspace as json: ObjectSpace.dump_all and</div><div class='del'>-	  ObjectSpace.dump(obj). These methods are useful for debugging</div><div class='del'>-	  reference leaks and memory growth in large ruby applications.</div><div class='del'>-	  [Bug #9026] [ruby-core:57893] [Fixes GH-423]</div><div class='del'>-	* test/objspace/test_objspace.rb: tests for above.</div><div class='del'>-</div><div class='del'>-Sat Nov  9 00:26:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (GetLastError): already defined in windows.h on nowadays</div><div class='del'>-	  cygwin, and caused the confliction with the system provided</div><div class='del'>-	  definition on cygwin64.  by @kou1okada [Fixes GH-433].</div><div class='del'>-</div><div class='del'>-Fri Nov  8 18:35:31 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: receive arguments as keyword arguments.</div><div class='del'>-</div><div class='del'>-Fri Nov  8 13:19:26 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_open_with_args): use RARRAY_CONST_PTR().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_scan_open_args): use const qualifier for above.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_open_file): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_open_with_args): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov  8 11:35:06 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c, pack.c, ruby.c, struct.c, vm_eval.c: use RARRAY_CONST_PTR().</div><div class='del'>-</div><div class='del'>-Fri Nov  8 10:58:02 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary_exception): use RARRAY_CONST_PTR().</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary_body): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov  8 10:49:34 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (append_method): use RARRAY_CONST_PTR().</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_init_iterator): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov  8 02:44:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_increase): check GVL before gc_rest_sweep().</div><div class='del'>-	  vm_malloc_increase() can be called without GVL.</div><div class='del'>-	  However, gc_rest_sweep() assumes acquiring GVL.</div><div class='del'>-	  To avoid this problem, check GVL before gc_rest_sweep().</div><div class='del'>-	  [Bug #9090]</div><div class='del'>-</div><div class='del'>-	  This workaround introduces possibility to set malloc_limit as</div><div class='del'>-	  wrong value (*1). However, this may be rare case. So I commit it.</div><div class='del'>-</div><div class='del'>-	  *1: Without rest_sweep() here, gc_rest_sweep() can decrease</div><div class='del'>-	      malloc_increase due to ruby_sized_xfree().</div><div class='del'>-</div><div class='del'>-Fri Nov  8 02:50:25 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: [DOC] specify arguments passed to ::random_bytes</div><div class='del'>-	  By @chastell [Fixes GH-412] https://github.com/ruby/ruby/pull/412</div><div class='del'>-</div><div class='del'>-Fri Nov  8 02:43:01 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: [DOC] trace_object_allocations_stop</div><div class='del'>-	  By @srawlins [Fixes GH-421] https://github.com/ruby/ruby/pull/421</div><div class='del'>-</div><div class='del'>-Fri Nov  8 02:34:20 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: [DOC] Document Net::FTP.mdtm and .set_socket and fix</div><div class='del'>-	  spelling typo, based on patch by @artfuldodger [Fixes GH-426]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/426</div><div class='del'>-</div><div class='del'>-Fri Nov  8 02:14:37 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: [DOC] Add note about negative indices in Array overview</div><div class='del'>-	  By @ckaenzig [Fixes GH-427] https://github.com/ruby/ruby/pull/427</div><div class='del'>-</div><div class='del'>-Fri Nov  8 02:09:12 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: [DOC] Fix typo in CSV.parse_line by @funky-bibimbap</div><div class='del'>-	  [Fixes GH-430] https://github.com/ruby/ruby/pull/430</div><div class='del'>-</div><div class='del'>-Fri Nov  8 01:01:54 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* golf_prelude.rb: syntax formatting for whitespace [Fixes GH-425]</div><div class='del'>-	  Patch by @edward https://github.com/ruby/ruby/pull/425</div><div class='del'>-</div><div class='del'>-Thu Nov  7 19:36:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: modify malloc_limit strategy.</div><div class='del'>-</div><div class='del'>-	  * fix default values:</div><div class='del'>-	    GC_MALLOC_LIMIT_GROWTH_FACTOR</div><div class='del'>-	    GC_MALLOC_LIMIT: 8MB -&gt; 16MB</div><div class='del'>-	    GC_MALLOC_LIMIT_MAX: 384MB -&gt; 32MB</div><div class='del'>-</div><div class='del'>-	  * algorithm of malloc_limit increment.</div><div class='del'>-	    if (malloc_increase &lt; malloc_limit) {</div><div class='del'>-	      next_malloc_limit = malloc_limit * factor</div><div class='del'>-	      if (malloc_limit &gt; malloc_limit_max) {</div><div class='del'>-	        malloc_limit = malloc_increase</div><div class='del'>-	      }</div><div class='del'>-	    }</div><div class='del'>-	    This algorithm change malloc_limit from</div><div class='del'>-	    16MB -&gt; 32MB slowly.</div><div class='del'>-	    If malloc_limit exceeds malloc_limit_max, then</div><div class='del'>-	    increase with malloc_increase.</div><div class='del'>-</div><div class='del'>-Thu Nov  7 11:06:05 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shuffle_bang): use RARRAY_PTR_USE() without WB</div><div class='del'>-	  because there are not new relations.</div><div class='del'>-</div><div class='del'>-Thu Nov  7 10:34:12 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): use rb_ary_dup().</div><div class='del'>-</div><div class='del'>-Thu Nov  7 09:39:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks_orig): errinfo should not</div><div class='del'>-	  be propagated to trace blocks so that no argument raise does not</div><div class='del'>-	  throw internal objects.  [ruby-dev:47793] [Bug #9088]</div><div class='del'>-</div><div class='del'>-Wed Nov  6 21:30:55 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): Change algorithm of malloc_limit to</div><div class='del'>-	  conservative for closing to memory consumption of ruby 2.0.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT, GC_MALLOC_LIMIT_GROWTH_FACTOR):</div><div class='del'>-	  Adjust parameters for new algorithm.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 21:16:51 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift_m): use RARRAY_PTR_USE() without WB because</div><div class='del'>-	  there are not new relations.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 21:05:20 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reverse): use RARRAY_PTR_USE().</div><div class='del'>-</div><div class='del'>-Wed Nov  6 19:30:44 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): add texts about gcbench.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 16:32:32 2013  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: tweaked grammar in comments</div><div class='del'>-</div><div class='del'>-Wed Nov  6 11:46:36 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sample): use RARRAY_AREF() and RARRAY_PTR_USE()</div><div class='del'>-	  instead of RARRAY_PTR().</div><div class='del'>-</div><div class='del'>-Wed Nov  6 10:37:07 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_and): defer hash creation and some refactoring.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 09:14:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_short_lived.rb: added.</div><div class='del'>-	  These GC benchmarks do not reflect practical applications.</div><div class='del'>-	  They are only for tuning.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_short_with_complex_long.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_short_with_long.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_short_with_symbol.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_ary.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_obj.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm_thread_queue.rb: added.</div><div class='del'>-	  This benchmark is added to know how fast C version of thread.so.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 09:13:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: define RGENGC_ESTIMATE_OLDSPACE == 0 if USE_RGENGC is 0.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 07:13:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_GC): add GC::OPTS to show options.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 07:12:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: add some options to make quiet.</div><div class='del'>-</div><div class='del'>-Wed Nov  6 04:14:25 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: process merge keys before</div><div class='del'>-	  reviving objects. Fixes GH psych #168</div><div class='del'>-	* test/psych/test_merge_keys.rb: test for change</div><div class='del'>-	  https://github.com/tenderlove/psych/issues/168</div><div class='del'>-</div><div class='del'>-Tue Nov  5 21:21:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_join_in_trap):</div><div class='del'>-	  Run the test in a different process.</div><div class='del'>-</div><div class='del'>-Tue Nov  5 20:14:32 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_live_object): A hidden object may be a live object.</div><div class='del'>-	  [ruby-dev:47788] [Bug #9072]</div><div class='del'>-</div><div class='del'>-Tue Nov  5 13:37:19 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add support to estimate increase of oldspace memory usage.</div><div class='del'>-	  This is another approach to solve an issue discussed at r43530.</div><div class='del'>-	  This feature is disabled as default.</div><div class='del'>-</div><div class='del'>-	  This feature measures an increment of memory consumption by oldgen</div><div class='del'>-	  objects. It measures memory consumption for each objects when</div><div class='del'>-	  the object is promoted. However, measurement of memory consumption</div><div class='del'>-	  is not accurate now. So that this measurement is `estimation'.</div><div class='del'>-</div><div class='del'>-	  To implement this feature, move memsize_of() function from</div><div class='del'>-	  ext/objspace/objspace.c and expose rb_obj_memsize_of().</div><div class='del'>-</div><div class='del'>-	  Some memsize() functions for T_DATA (T_TYPEDDATA) have problem to</div><div class='del'>-	  measure memory size, so that we ignores T_DATA objects now.</div><div class='del'>-	  For example, some functions skip NULL check for pointer.</div><div class='del'>-</div><div class='del'>-	  The macro RGENGC_ESTIMATE_OLDSPACE enables/disables this feature,</div><div class='del'>-	  and turned off as default.</div><div class='del'>-</div><div class='del'>-	  We need to compare 3gen GC and this feature carefully.</div><div class='del'>-	  (it is possible to enable both feature)</div><div class='del'>-	  We need a help to compare them.</div><div class='del'>-</div><div class='del'>-	* internal.h: expose rb_obj_memsize_of().</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: use rb_obj_memsize_of() function.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_memsize): fix to check NULL.</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_memsize): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_memsize): ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov  5 04:03:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT_MAX): fix default value 512MB -&gt; 384MB.</div><div class='del'>-	  512MB is huge.</div><div class='del'>-</div><div class='del'>-Tue Nov  5 03:31:23 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add 3gen GC patch, but disabled as default.</div><div class='del'>-</div><div class='del'>-	  RGenGC is designed as 2 generational GC, young and old generation.</div><div class='del'>-	  Young objects will be promoted to old objects after one GC.</div><div class='del'>-	  Old objects are not collect until major (full) GC.</div><div class='del'>-</div><div class='del'>-	  The issue of this approach is some objects can promote as old</div><div class='del'>-	  objects accidentally and not freed until major GC.</div><div class='del'>-	  Major GC is not frequently so short-lived but accidentally becoming</div><div class='del'>-	  old objects are not freed.</div><div class='del'>-</div><div class='del'>-	  For example, the program "loop{Array.new(1_000_000)}" consumes huge</div><div class='del'>-	  memories because short lived objects (an array which has 1M</div><div class='del'>-	  elements) are promoted while GC and they are not freed before major</div><div class='del'>-	  GC.</div><div class='del'>-</div><div class='del'>-	  To solve this problem, generational GC with more generations</div><div class='del'>-	  technique is known. This patch implements three generations gen GC.</div><div class='del'>-</div><div class='del'>-	  At first, newly created objects are "Infant" objects.</div><div class='del'>-	  After surviving one GC, "Infant" objects are promoted to "Young"</div><div class='del'>-	  objects.</div><div class='del'>-	  "Young" objects are promoted to "Old" objects after surviving</div><div class='del'>-	  next GC.</div><div class='del'>-	  "Infant" and "Young" objects are collected if it is not marked</div><div class='del'>-	  while minor GC. So that this technique solves this problem.</div><div class='del'>-</div><div class='del'>-	  Representation of generations:</div><div class='del'>-	  * Infant: !FL_PROMOTED and !oldgen_bitmap [00]</div><div class='del'>-	  * Young :  FL_PROMOTED and !oldgen_bitmap [10]</div><div class='del'>-	  * Old   :  FL_PROMOTED and  oldgen_bitmap [11]</div><div class='del'>-</div><div class='del'>-	  The macro "RGENGC_THREEGEN" enables/disables this feature, and</div><div class='del'>-	  turned off as default because there are several problems.</div><div class='del'>-	  (1) Failed sometimes (Heisenbugs).</div><div class='del'>-	  (2) Performance down.</div><div class='del'>-	      Especially on write barriers. We need to detect Young or Old</div><div class='del'>-	      object by oldgen_bitmap. It is slower than checking flags.</div><div class='del'>-</div><div class='del'>-	  To evaluate this feature on more applications, I commit this patch.</div><div class='del'>-	  Reports are very welcome.</div><div class='del'>-</div><div class='del'>-	  This patch includes some refactoring (renaming names, etc).</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: catch up 3gen GC.</div><div class='del'>-</div><div class='del'>-	* .gdbinit: fix to show a prompt "[PROMOTED]" for promoted objects.</div><div class='del'>-</div><div class='del'>-Tue Nov  5 00:05:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* node.h: catch up comments for last commit.</div><div class='del'>-</div><div class='del'>-Tue Nov  5 00:02:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rename FL_OLDGEN to FL_PROMOTED.</div><div class='del'>-	  This flag represents that "this object is promoted at least once."</div><div class='del'>-</div><div class='del'>-	* gc.c, debug.c, object.c: catch up this change.</div><div class='del'>-</div><div class='del'>-Mon Nov  4 22:20:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc: Don't use fixed ports: 8070 and 8071.</div><div class='del'>-</div><div class='del'>-Mon Nov  4 15:25:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/webrick_testing.rb (start_server): Initialize the server</div><div class='del'>-	  at main thread to fail early.</div><div class='del'>-</div><div class='del'>-Mon Nov  4 10:08:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (TH_EXEC_TAG, TH_JUMP_TAG): get rid of undefined</div><div class='del'>-	  behavior of setjmp() in rhs of assignment expression.</div><div class='del'>-	  [ISO/IEC 9899:1999] 7.13.1.1</div><div class='del'>-</div><div class='del'>-Sun Nov  3 23:06:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: Make temporary file names unique.</div><div class='del'>-</div><div class='del'>-Sun Nov  3 20:41:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc: Wrap definitions by TestXMLRPC module.</div><div class='del'>-</div><div class='del'>-Sun Nov  3 20:23:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/webrick_testing.rb (stop_server): Don't try to shutdown</div><div class='del'>-	  the server if the server is not started.</div><div class='del'>-</div><div class='del'>-Sun Nov  3 09:35:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p): deal with default loadable suffixes.</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): initialize statically linked extensions.</div><div class='del'>-</div><div class='del'>-	* load.c (search_required, rb_require_safe): deal with statically</div><div class='del'>-	  linked extensions.</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_init_ext): defer initialization of statically linked</div><div class='del'>-	  extensions until required actually.  [Bug #8883]</div><div class='del'>-</div><div class='del'>-Sat Nov  2 15:14:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::LogDevice::LogDeviceMutex#lock_shift_log):</div><div class='del'>-	  open file can't be removed or renamed on Windows.  [ruby-dev:47790]</div><div class='del'>-	  [Bug #9046]</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb (TestLogDevice#run_children): don't use</div><div class='del'>-	  fork.</div><div class='del'>-</div><div class='del'>-Sat Nov  2 07:08:43 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Inter-process locking for log rotation</div><div class='del'>-	  Current implementation fails log rotation on multi process env.</div><div class='del'>-	  by sonots &lt;sonots@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/428 fix GH-428 [Bug #9046]</div><div class='del'>-</div><div class='del'>-Fri Nov  1 23:24:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_mark_map): mark live objects only, but delete zombies.</div><div class='del'>-	  [ruby-dev:47787] [Bug #9069]</div><div class='del'>-</div><div class='del'>-Fri Nov  1 22:45:54 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (struct heap_page, gc_page_sweep, gc_sweep): Refactoring for</div><div class='del'>-	  performance. Add before_sweep condition to heap_page structure.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_force_recycle): Use before_sweep member.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_is_before_sweep, is_before_sweep): Remove. They have not</div><div class='del'>-	  already been used.</div><div class='del'>-</div><div class='del'>-Fri Nov  1 22:20:28 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (make_deferred): Refactoring. Collect codes which should be</div><div class='del'>-	  atomic.</div><div class='del'>-</div><div class='del'>-	* gc.c (make_io_deferred, obj_free, rb_objspace_call_finalizer,</div><div class='del'>-	  gc_page_sweep): Correspond to the above.</div><div class='del'>-</div><div class='del'>-Fri Nov  1 21:40:35 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (typedef struct rb_objspace): Refactoring. Move some members</div><div class='del'>-	  into profile member.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): Correspond to the above.</div><div class='del'>-</div><div class='del'>-	* gc.c (finalize_list): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_live_num): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_force_recycle): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_count): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_set_heap_info): Ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov  1 20:53:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scrub): fix typo, should yield invalid byte</div><div class='del'>-	  sequence to be scrubbed.  reported by znz at IRC.</div><div class='del'>-</div><div class='del'>-Fri Nov  1 17:25:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_live_object): finalizer may not run because of lazy-sweep.</div><div class='del'>-	  [ruby-dev:47786] [Bug #9069]</div><div class='del'>-</div><div class='del'>-Fri Nov  1 16:55:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scrub): export with fixed length arguments, and</div><div class='del'>-	  allow nil as replacement string instead of omitting.</div><div class='del'>-</div><div class='del'>-Fri Nov  1 06:20:44 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_struct): reduce rb_mutex_t size by 8 bytes</div><div class='del'>-	  on 64bit platform. Patch by Eric Wong. [Feature #9068][ruby-core:58114]</div><div class='del'>-</div><div class='del'>-Fri Nov  1 01:08:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: print HWM (high water mark) if possible.</div><div class='del'>-</div><div class='del'>-Thu Oct 31 21:48:31 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/streamparser.rb: Add dependency file require.</div><div class='del'>-	  [Bug #9062] [ruby-dev:47779]</div><div class='del'>-	  Reported by Ippei Obayashi. Thanks!!!</div><div class='del'>-</div><div class='del'>-Thu Oct 31 14:09:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): fix to pass an ISeq value.</div><div class='del'>-	  OBJ_WRITTEN() accepts only VALUE.</div><div class='del'>-</div><div class='del'>-Wed Oct 30 19:07:57 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-brace-to-do-end)</div><div class='del'>-	  (ruby-do-end-to-brace, ruby-toggle-block): Remove functions that</div><div class='del'>-	  are already in the latest released version of Emacs (24.3).</div><div class='del'>-	  [Bug #7565]</div><div class='del'>-</div><div class='del'>-Wed Oct 30 12:44:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): add missing variables,</div><div class='del'>-	  PLATFORM_DIR and THREAD_MODEL.</div><div class='del'>-</div><div class='del'>-Wed Oct 30 12:20:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (v2w): Normalize a rational value to an integer if possible.</div><div class='del'>-	  [ruby-core:58070] [Bug #9059] reported by Isaac Schwabacher.</div><div class='del'>-</div><div class='del'>-Wed Oct 30 12:08:41 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): use rb_ary_modify_check() instead of</div><div class='del'>-	  rb_ary_modify() because the array will be unshared soon.</div><div class='del'>-</div><div class='del'>-Wed Oct 30 03:25:10 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: make less garbage when</div><div class='del'>-	  testing if a string is binary.</div><div class='del'>-</div><div class='del'>-Wed Oct 30 03:08:24 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: string subclasses should</div><div class='del'>-	  not be considered to be binary.  Fixes Psych / GH 166</div><div class='del'>-	  https://github.com/tenderlove/psych/issues/166</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: test for fix</div><div class='del'>-</div><div class='del'>-Tue Oct 29 23:01:18 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): some refactoring.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 22:11:37 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): use st_foreach() instead of for loop.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 20:01:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use</div><div class='del'>-	  safe functions during garbage collection such as xfree().</div><div class='del'>-</div><div class='del'>-	  On default, T_DATA objects are freed at same points as finalizers.</div><div class='del'>-	  This approach protects issues such as reported by [ruby-dev:35578].</div><div class='del'>-	  However, freeing T_DATA objects immediately helps heap usage.</div><div class='del'>-</div><div class='del'>-	  Most of T_DATA (in other words, most of dfree functions) are safe.</div><div class='del'>-	  However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default</div><div class='del'>-	  for safety.</div><div class='del'>-</div><div class='del'>-	* cont.c: ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c: ditto.</div><div class='del'>-</div><div class='del'>-	* encoding.c: ditto.</div><div class='del'>-</div><div class='del'>-	* enumerator.c: ditto.</div><div class='del'>-</div><div class='del'>-	* error.c: ditto.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* random.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* time.c: ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c: ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 19:48:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: fix typo (FL_WB_PROTECT -&gt; FL_WB_PROTECTED).</div><div class='del'>-</div><div class='del'>-Tue Oct 29 18:45:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (tp_free): removed because empty free function.</div><div class='del'>-	  Use RUBY_TYPED_NEVER_FREE instead.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 18:37:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: introduce new flags for T_TYPEDDATA.</div><div class='del'>-	  * RUBY_TYPED_FREE_IMMEDIATELY: free the data given by DATA_PTR()</div><div class='del'>-	    with dfree function immediately.  Otherwise (default), the data</div><div class='del'>-	    freed at finalization point.</div><div class='del'>-	  * RUBY_TYPED_WB_PROTECTED: make this object with FL_WB_PROTECT</div><div class='del'>-	    (not shady).</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): support RUBY_TYPED_FREE_IMMEDIATELY.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 16:49:03 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_increase): decrease it more carefully.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 16:24:52 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_page_resurrect): return a page in tomb heap even if</div><div class='del'>-	  freelist is NULL.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 15:46:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_SIZE_CAS): new macro, compare and swap size_t.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 12:08:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_getc): Consider</div><div class='del'>-	  NULL as input.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 11:10:08 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_total_time): fix off-by-one error in</div><div class='del'>-	  GC::Profiler.total_time.</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): test for above.</div><div class='del'>-</div><div class='del'>-Tue Oct 29 09:53:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: split</div><div class='del'>-	  ruby_vm_global_state_version into two separate counters - one for the</div><div class='del'>-	  global method state and one for the global constant state. This means</div><div class='del'>-	  changes to constants do not affect method caches, and changes to</div><div class='del'>-	  methods do not affect constant caches. In particular, this means</div><div class='del'>-	  inclusions of modules containing constants no longer globally</div><div class='del'>-	  invalidate the method cache.</div><div class='del'>-</div><div class='del'>-	* class.c, eval.c, include/ruby/intern.h, insns.def, vm.c, vm_method.c:</div><div class='del'>-	  rename rb_clear_cache_by_class to rb_clear_method_cache_by_class</div><div class='del'>-</div><div class='del'>-	* class.c, include/ruby/intern.h, variable.c, vm_method.c: add</div><div class='del'>-	  rb_clear_constant_cache</div><div class='del'>-</div><div class='del'>-	* compile.c, vm_core.h, vm_insnhelper.c: rename vmstat field in</div><div class='del'>-	  rb_call_info_struct to method_state</div><div class='del'>-</div><div class='del'>-	* vm_method.c: rename vmstat field in struct cache_entry to method_state</div><div class='del'>-</div><div class='del'>-Mon Oct 28 23:26:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb (teardown): Clear Readline.input and</div><div class='del'>-	  Readline.output.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 21:35:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/depend, ext/-test-/postponed_job/depend,</div><div class='del'>-	  ext/-test-/tracepoint/depend: New files for dependencies.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 15:32:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/depend (ossl.o): work around of dependency of</div><div class='del'>-	  thread_native.h, which depends on headers by THREAD_MODEL.</div><div class='del'>-	  [ruby-dev:47777]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: need THREAD_MODEL.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 14:57:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_init_ext): share feature names between frame name and</div><div class='del'>-	  provided features.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 14:41:27 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import ruby-electric.el 2.1 from</div><div class='del'>-	  https://github.com/knu/ruby-electric.el.</div><div class='del'>-</div><div class='del'>-	  * Hitting the newline-and-indent key within a comment fires</div><div class='del'>-	    comment-indent-new-line.</div><div class='del'>-</div><div class='del'>-	  * Introduce a new feature</div><div class='del'>-	    `ruby-electric-autoindent-on-closing-char`.</div><div class='del'>-</div><div class='del'>-	  * Fix fallback behavior of ruby-electric-space/return that</div><div class='del'>-	    caused error with auto-complete.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 13:17:17 2013  Or Cohen  &lt;orc@fewbytes.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_to_s): remove no longer needed overriding, since</div><div class='del'>-	  r30455 which made exc_to_s almost same.  Fixes [GH-413].</div><div class='del'>-</div><div class='del'>-Mon Oct 28 12:42:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, ext/objspace/depend, ext/coverage/depend,</div><div class='del'>-	  ext/-test-/debug/depend, ext/date/depend: Update dependencies.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 09:29:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: vm_clear_all_cache is not necessary now we use a 64 bit counter</div><div class='del'>-	  for global state version.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: ruby_vm_global_state_version overflow is unnecessary</div><div class='del'>-</div><div class='del'>-Mon Oct 28 07:47:32 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_profile_frame_classpath): do not use rb_inspect</div><div class='del'>-	  directly, since it might have a custom implementation or show ivars.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 04:10:41 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_profile_frame_classpath): handle singleton</div><div class='del'>-	  methods defined directly on an object.</div><div class='del'>-	* test/-ext-/debug/test_profile_frames.rb: test for above.</div><div class='del'>-</div><div class='del'>-Mon Oct 28 00:52:36 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (new_struct): fix warning message, class name and encoding.</div><div class='del'>-</div><div class='del'>-Sun Oct 27 20:53:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: Include ruby/thread.h for</div><div class='del'>-	  rb_thread_call_without_gvl2.</div><div class='del'>-	  (readline_rl_instream, readline_rl_outstream): Record FILE</div><div class='del'>-	  structures allocated by this extension.</div><div class='del'>-	  (getc_body): New function extracted from readline_getc.</div><div class='del'>-	  (getc_func): New function.</div><div class='del'>-	  (readline_getc): Use rb_thread_call_without_gvl2 to invoke getc_func.</div><div class='del'>-	  [ruby-dev:47033] [Bug #8749]</div><div class='del'>-	  (clear_rl_instream, clear_rl_outstream): Close FILE structure</div><div class='del'>-	  allocated by this extension reliably.  [ruby-core:57951] [Bug #9040]</div><div class='del'>-	  (readline_readline): Use clear_rl_instream and clear_rl_outstream.</div><div class='del'>-	  (readline_s_set_input): Set readline_rl_instream.</div><div class='del'>-	  (readline_s_set_output): Set readline_rl_outstream.</div><div class='del'>-	  (Init_readline): Don't call readline_s_set_input because</div><div class='del'>-	  readline_getc doesn't block other threads for any FILE structure now.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:47033] [Bug #8749] reported by Nobuhiro IMAI.</div><div class='del'>-	  [ruby-core:57951] [Bug #9040] reported by Eamonn Webster.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 19:31:28 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: catch up recent changes to compile on GC_DEBUG,</div><div class='del'>-	  RGENGC_CHECK_MODE.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 19:08:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_initialize_copy): disallow to modify after</div><div class='del'>-	  initialized.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 17:48:54 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (meta_add_field): : Re-implemented.</div><div class='del'>-	   [ruby-core:58017] [Bug #9051] patch by Eamonn Webster.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 14:35:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): use "Page" terminology.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 13:25:45 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep, gc_heap_lazy_sweep): fix measurement code.</div><div class='del'>-	  We only need one sweep time measurement without lazy sweep.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 11:59:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: Include ELF header after system headers (especially</div><div class='del'>-	  sys/types.h) to avoid compilation failure,</div><div class='del'>-	  "usr/include/sh3/elf_machdep.h:4:2: error: #error Define _BYTE_ORDER!",</div><div class='del'>-	  on NetBSD/sh3 (dreamcast, hpcsh, landisk, mmeye).</div><div class='del'>-</div><div class='del'>-Sat Oct 26 11:35:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: tuning parameters.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT): change default value to 16MB.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT_GROWTH_FACTOR): change default value to 2.0.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): change decrease ratio of `malloc_limit'</div><div class='del'>-	  from 1/4 to 1/10.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 11:30:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_increase): do gc_rest_sweep() before GC.</div><div class='del'>-	  gc_rest_sweep() can reduce malloc_increase, so try it before GC.</div><div class='del'>-	  Otherwise, malloc_increase can be less than malloc_limit at</div><div class='del'>-	  gc_before_sweep(). This means that re-calculation of malloc_limit</div><div class='del'>-	  may be wrong value.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 06:35:41 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_heap_sweep): Restructure code to mean clearly.</div><div class='del'>-	  heap-&gt;freelist is connected to end of list.</div><div class='del'>-</div><div class='del'>-Sat Oct 26 04:01:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_heap_sweep): fix freelist management.</div><div class='del'>-	  After rb_gc_force_recycle() for a object belonging to heap-&gt;freelist,</div><div class='del'>-	  `heap-&gt;using_page-&gt;freelist' is not null.</div><div class='del'>-</div><div class='del'>-Thu Oct 24 21:57:24 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: Remove +(binary) and -(binary) special cases</div><div class='del'>-	  [Feature #9048]</div><div class='del'>-</div><div class='del'>-Thu Oct 24 12:45:53 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: [DOC] Document first argument also takes string for:</div><div class='del'>-</div><div class='del'>-	  rb_mod_const_get, rb_mod_const_set, rb_mod_const_defined</div><div class='del'>-</div><div class='del'>-	  Also added note about NameError exception for invalid constant name</div><div class='del'>-</div><div class='del'>-Thu Oct 24 12:23:58 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): add a comment why we need</div><div class='del'>-	  state check and call terminate_i again.</div><div class='del'>-</div><div class='del'>-Thu Oct 24 12:15:02 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_terminate_all): add a comment why infinite</div><div class='del'>-	  sleep is safe.</div><div class='del'>-</div><div class='del'>-Thu Oct 24 07:41:42 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add new initial_growth_max tuning parameter.</div><div class='del'>-	  [ruby-core:57928] [Bug #9035]</div><div class='del'>-	* gc.c (heap_set_increment): when initial_growth_max is set,</div><div class='del'>-	  do not grow number of slots by more than growth_max at a time.</div><div class='del'>-	* gc.c (rb_gc_set_params): load optional new tuning value from</div><div class='del'>-	  RUBY_HEAP_SLOTS_GROWTH_MAX environment variable.</div><div class='del'>-	* test/ruby/test_gc.rb (class TestGc): test for above.</div><div class='del'>-</div><div class='del'>-Thu Oct 24 01:34:12 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_infinity_float): suppress overflow in</div><div class='del'>-	  constant arithmetic warnings.  [ruby-core:57981] [Bug #9044]</div><div class='del'>-</div><div class='del'>-Thu Oct 24 00:11:24 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: raise NoMethodError with a #name and #args.</div><div class='del'>-	  Raise RuntimeError when modifying frozen instances</div><div class='del'>-	  instead of TypeError.</div><div class='del'>-	  (OpenStruct#each_pair): Return an enumerator with size</div><div class='del'>-	  (OpenStruct#delete): Use the converted argument.</div><div class='del'>-	  Patches by Kenichi Kamiya. [Fixes GH-383]</div><div class='del'>-</div><div class='del'>-	* test/ostruct/test_ostruct.rb: Added tests for above.</div><div class='del'>-</div><div class='del'>-Thu Oct 24 00:10:22 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Add Array#to_h [Feature #7292]</div><div class='del'>-</div><div class='del'>-	* enum.c: Add Enumerable#to_h</div><div class='del'>-</div><div class='del'>-Wed Oct 23 23:48:28 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Rename free_min to min_free_slots and free_min_page to</div><div class='del'>-	  max_free_slots. The algorithm for heap growth is:</div><div class='del'>-	    if (swept_slots &lt; min_free_slots) pages++</div><div class='del'>-	    if (swept_slots &gt; max_free_slots) pages--</div><div class='del'>-</div><div class='del'>-Wed Oct 23 22:51:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): VC 2013 supports C99 mathematics</div><div class='del'>-	  functions.  [ruby-core:57981] [Bug #9044]</div><div class='del'>-</div><div class='del'>-Wed Oct 23 19:13:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: move increment from heap to heap_pages.</div><div class='del'>-	  Share `increment' information with heaps.</div><div class='del'>-</div><div class='del'>-	* gc.c: change ratio of heap_pages_free_min_page</div><div class='del'>-	  to 0.80.</div><div class='del'>-	  This change means slow down page freeing speed.</div><div class='del'>-</div><div class='del'>-Wed Oct 23 17:52:03 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_pages_free_unused_pages): cast to (int) for size_t</div><div class='del'>-	  variable `i'.</div><div class='del'>-</div><div class='del'>-Wed Oct 23 17:39:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce tomb heap.</div><div class='del'>-	  Tomb heap is where zombie objects and ghost (freed slot) lived in.</div><div class='del'>-	  Separate from other heaps (now there is only eden heap) at sweeping</div><div class='del'>-	  helps freeing pages more efficiently.</div><div class='del'>-	  Before this patch, even if there is an empty page at former phase</div><div class='del'>-	  of sweeping, we can't free it.</div><div class='del'>-</div><div class='del'>-	  Algorithm:</div><div class='del'>-	    (1) Sweeping all pages in a heap and move empty pages from the</div><div class='del'>-	        heap to tomb_heap.</div><div class='del'>-	    (2) Check all existing pages and free a page</div><div class='del'>-	        if all slots of this page are empty and</div><div class='del'>-	           there is enough empty slots (checking by swept_num)</div><div class='del'>-</div><div class='del'>-	  To introduce this patch, there are several tuning of GC parameters.</div><div class='del'>-</div><div class='del'>-Wed Oct 23 14:20:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_sweep_timer_stop): catch up recent changes</div><div class='del'>-	  to compile on GC_PROFILE_MORE_DETAIL=1.</div><div class='del'>-</div><div class='del'>-Wed Oct 23 11:43:27 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: [DOC] fix rdoc format of File#expand_path from r43386</div><div class='del'>-</div><div class='del'>-Tue Oct 22 21:58:28 2013  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (enum): avoid syntax error.</div><div class='del'>-</div><div class='del'>-	* method.h: ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 22 19:53:16 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_heap): move logics from heap_pages_init() and remove</div><div class='del'>-	  heap_pages_init().</div><div class='del'>-</div><div class='del'>-Tue Oct 22 19:19:05 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: allow multiple heaps.</div><div class='del'>-	  Now, objects are managed by page. And a set of pages is called heap.</div><div class='del'>-	  This commit supports multiple heaps in the object space.</div><div class='del'>-</div><div class='del'>-	  * Functions heap_* and rb_heap_t manages heap data structure.</div><div class='del'>-	  * Functions heap_page_* and struct heap_page manage page data</div><div class='del'>-	    structure.</div><div class='del'>-	  * Functions heap_pages_* and struct rb_objspace_t::heap_pages</div><div class='del'>-	    maintains all pages.</div><div class='del'>-	    For example, pages are allocated from the heap_pages.</div><div class='del'>-</div><div class='del'>-	  See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design</div><div class='del'>-	  and https://bugs.ruby-lang.org/attachments/4015/data-heap_structure_with_multiple_heaps.png</div><div class='del'>-	  for more details.</div><div class='del'>-</div><div class='del'>-	  Now, there is only one heap called `eden', which is a space for all</div><div class='del'>-	  new generated objects.</div><div class='del'>-</div><div class='del'>-Tue Oct 22 18:26:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (object_address_group): Use Kernel#to_s to obtain the class</div><div class='del'>-	  name and object address.</div><div class='del'>-	  This fix a problem caused by %p in C generates variable length</div><div class='del'>-	  address.</div><div class='del'>-	  Reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Tue Oct 22 16:57:48 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (File#expand_path): [DOC] improve documentation of File#expand_path.</div><div class='del'>-	  Based on patch by Prathamesh Sonpatki. [ruby-core:57734] [Bug #9002]</div><div class='del'>-</div><div class='del'>-Tue Oct 22 15:59:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): don't skip current directories if FNM_DOTMATCH</div><div class='del'>-	  is given.  [ruby-core:53108] [Bug #8006]</div><div class='del'>-</div><div class='del'>-Tue Oct 22 14:53:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: exterminate Zombies.</div><div class='del'>-	  There is a bug that T_ZOMBIE objects are not collected.</div><div class='del'>-	  Because there is a pass to miss finalizer postponed job</div><div class='del'>-	  with multi-threading. This patch solve this issue.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_register_one): set</div><div class='del'>-	  RUBY_VM_SET_POSTPONED_JOB_INTERRUPT(th) if another same job</div><div class='del'>-	  is registered.</div><div class='del'>-	  There is a possibility to remain a postponed job without</div><div class='del'>-	  interrupt flag.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_register_one): check interrupt</div><div class='del'>-	  carefully.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_register_one): use additional space</div><div class='del'>-	  to avoid buffer full.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_finalize_deferred_register): check failure.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts): check</div><div class='del'>-	  `postponed_job_interrupt' immediately.  There is a possibility</div><div class='del'>-	  to miss this flag.</div><div class='del'>-</div><div class='del'>-Tue Oct 22 12:11:16 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if the given CFLAGS and LDFLAGS are working, and</div><div class='del'>-	  bail out early if not.</div><div class='del'>-</div><div class='del'>-Tue Oct 22 00:06:57 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_exists_p): warn deprecated name.  [Bug #9041]</div><div class='del'>-</div><div class='del'>-Mon Oct 21 23:57:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (load_encoding): should preserve outer errinfo, so that</div><div class='del'>-	  expected exception may not be lost.  [ruby-core:57949] [Bug #9038]</div><div class='del'>-</div><div class='del'>-Sun Oct 20 15:41:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): create a new, temporary FD via rb_sysopen and</div><div class='del'>-	  call rb_cloexec_dup2 on it to atomically replace the file fptr-&gt;fd</div><div class='del'>-	  points to.  This leaves no possible window where fptr-&gt;fd is invalid</div><div class='del'>-	  to userspace (even for any threads running w/o GVL).  based on the</div><div class='del'>-	  patch by Eric Wong &lt;normalperson@yhbt.net&gt; at [ruby-core:57943].</div><div class='del'>-	  [Bug #9036]</div><div class='del'>-</div><div class='del'>-Sun Oct 20 15:29:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_syserr_fail_path_in): new function split from</div><div class='del'>-	  rb_sys_fail_path_in to raise SystemCallError without errno.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_syserr_fail_path): like rb_sys_fail_path but without</div><div class='del'>-	  errno.</div><div class='del'>-</div><div class='del'>-Sun Oct 20 13:58:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_obj_wb_unprotect, rb_obj_written),</div><div class='del'>-	  (rb_obj_write): suppress unused-parameter warnings.</div><div class='del'>-</div><div class='del'>-Sun Oct 20 10:32:48 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update RubyGems to master 0886307.  This commit</div><div class='del'>-	  improves documentation and should bring ruby above 75% documented on</div><div class='del'>-	  rubyci.</div><div class='del'>-</div><div class='del'>-Sun Oct 20 09:30:56 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 3de7e0f.  Changes:</div><div class='del'>-</div><div class='del'>-	  Only attempt to build extensions for newly-installed gems.  This</div><div class='del'>-	  prevents compilation attempts at gem activation time for gems that</div><div class='del'>-	  already have extensions built.</div><div class='del'>-</div><div class='del'>-	  Fix crash in the dependency resolver for dependencies that cannot be</div><div class='del'>-	  resolved.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 20 05:24:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class2name): should return real class name, not</div><div class='del'>-	  singleton class or iclass.</div><div class='del'>-</div><div class='del'>-Sun Oct 20 04:18:48 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class2name): call rb_tmp_class_path() directly to</div><div class='del'>-	  avoid extra rb_str_dup() from rb_class_name().</div><div class='del'>-</div><div class='del'>-Sat Oct 19 19:59:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (code_page): use simple array instead of st_table.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encindex): defer initialization of win32 code</div><div class='del'>-	  page table until encoding db loaded.</div><div class='del'>-</div><div class='del'>-Sat Oct 19 08:25:05 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix rb_objspace_t.</div><div class='del'>-	  * make "struct heap" and move most of variables</div><div class='del'>-	    in rb_objspace_t::heap.</div><div class='del'>-	  * rename rb_objspace_t::heap::sorted to</div><div class='del'>-	    rb_objspace_t::heap_sorted_pages</div><div class='del'>-	    and make a macro heap_sorted_pages.</div><div class='del'>-	  * rename rb_objspace_t::heap::range to</div><div class='del'>-	    rb_objspace_t::heap_range and rename macros</div><div class='del'>-	    lomem/himem to heap_lomem/heap_himem.</div><div class='del'>-</div><div class='del'>-Sat Oct 19 07:14:40 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 42543b6.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fix `gem update` for gems with multiple platforms.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 19 06:55:52 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 0a3814b.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fixed extension directory in Gem::Specification#require_paths.</div><div class='del'>-</div><div class='del'>-	  Allow installation of gems when $HOME is nonexistent or unwritable.</div><div class='del'>-</div><div class='del'>-	  Use proper API in InstallCommand.</div><div class='del'>-</div><div class='del'>-	  Improve support for path option in gem dependency files.</div><div class='del'>-</div><div class='del'>-	  Remove warnings.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 18 15:23:34 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change terminology of heap.</div><div class='del'>-	  Change "slot" to "page". "Slot" is a space of RVALUE.</div><div class='del'>-	  1. "Heap" consists of a set of "heap_page"s (pages).</div><div class='del'>-	  2. Each "heap_page" has "heap_page_body".</div><div class='del'>-	  3. "heap_page_body" has RVALUE (a.k.a. "slot") spaces.</div><div class='del'>-	  4. "sorted" is a sorted array of "heap_page"s, sorted</div><div class='del'>-	     by address of heap_page_body (for "is_pointer_to_heap").</div><div class='del'>-</div><div class='del'>-	  See https://bugs.ruby-lang.org/attachments/4008/data-heap_structure.png.</div><div class='del'>-</div><div class='del'>-Fri Oct 18 09:40:43 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master cee6788.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fix test failure on vc10-x64 Server on rubyci.org due to attempting</div><div class='del'>-	  to File.chmod where it is not supported.</div><div class='del'>-</div><div class='del'>-	  Continuing work on improved gem dependencies file (Gemfile) support.</div><div class='del'>-</div><div class='del'>-	* test:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 18 06:02:49 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master f738c67.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fixed test bug for ruby with ENABLE_SHARED = no</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 18 00:57:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb (TSort.tsort): Extracted from TSort#tsort.</div><div class='del'>-	  (TSort.tsort_each): Extracted from TSort#tsort_each.</div><div class='del'>-	  (TSort.strongly_connected_components): Extracted from</div><div class='del'>-	  TSort#strongly_connected_components.</div><div class='del'>-	  (TSort.each_strongly_connected_component): Extracted from</div><div class='del'>-	  TSort#each_strongly_connected_component.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 18:50:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (CALC_EXACT_MALLOC_SIZE_CHECK_OLD_SIZE): introduced.</div><div class='del'>-	  This macro enable checker compare with allocated memory and</div><div class='del'>-	  declared old_size of sized_xfree and sized_xrealloc.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 18:45:41 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_HEAP_SIZE): includes TERM_LEN(str).</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_memsize): use STR_HEAP_SIZE().</div><div class='del'>-</div><div class='del'>-Thu Oct 17 17:43:00 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): set ci-&gt;me to 0 when the</div><div class='del'>-	  original method of a refined method is undef to avoid SEGV.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_without_refinements): return 0 when</div><div class='del'>-	  the original method of a refined method is undef to avoid SEGV.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 17:38:36 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, internal.h: rename ruby_xsizefree/realloc to</div><div class='del'>-	  rb_sized_free/realloc.</div><div class='del'>-</div><div class='del'>-	* array.c: catch up these changes.</div><div class='del'>-</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 17:32:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, string.c: use ruby_xsizedfree() and ruby_xsizedrealloc().</div><div class='del'>-</div><div class='del'>-	* internal.h (SIZED_REALLOC_N): define a macro as REALLOC_N().</div><div class='del'>-</div><div class='del'>-Thu Oct 17 17:11:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (console_emulator_p): check by comparison between</div><div class='del'>-	  module handle of WriteConsoleW and kernel32.dll.</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub, win32/setup.mak: no longer need</div><div class='del'>-	  psapi.lib.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 16:53:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, internal.h: add new internal memory management functions.</div><div class='del'>-	  * void *ruby_xsizedrealloc(void *ptr, size_t new_size, size_t old_size)</div><div class='del'>-	  * void ruby_xsizedfree(void *x, size_t size)</div><div class='del'>-	  These functions accept additional size parameter to calculate more</div><div class='del'>-	  accurate malloc_increase parameter which control GC timing.</div><div class='del'>-	  [Feature #8985]</div><div class='del'>-</div><div class='del'>-Thu Oct 17 14:21:34 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_expand_path_internal): fix memory leaks at</div><div class='del'>-	  a non-absolute home exception.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 14:06:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c (newobj_i): fix memory leak.</div><div class='del'>-	  There is possibility to remain info due to missing FREEOBJ event.</div><div class='del'>-	  FREEOBJ events are skipped while suppress_tracing state, for example,</div><div class='del'>-	  during trace events are invoking.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 12:30:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb (TSort.each_strongly_connected_component_from):</div><div class='del'>-	  Extracted from TSort#each_strongly_connected_component_from.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 11:07:06 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 941c21a.  Changes:</div><div class='del'>-</div><div class='del'>-	  Restored method bundler wants to remove for compatibility.</div><div class='del'>-</div><div class='del'>-	  Improvements to Gemfile compatibility.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 08:08:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c (newobj_i): add workaround.</div><div class='del'>-	  some bugs hits this check.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c (object_allocations_reporter_i): cast as pointer.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 07:36:53 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 2abce58.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fixed documentation generation when sdoc and json are installed as</div><div class='del'>-	  gems.</div><div class='del'>-</div><div class='del'>-	  Added some missing documentation.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 07:10:26 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: [DOC] Cleaned up formatting consistency of rdoc</div><div class='del'>-	  comments for Curses, including period spacing and column width.</div><div class='del'>-</div><div class='del'>-	  This patch also fixed some typos. Thanks to @postmodern for the patch!</div><div class='del'>-	  [Fixes GH-420] https://github.com/ruby/ruby/pull/420</div><div class='del'>-</div><div class='del'>-Thu Oct 17 06:58:42 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [DOC] plural grammar fixed by @scott113341</div><div class='del'>-	  Contributed via documenting-ruby.org: documenting-ruby/ruby#16</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/16</div><div class='del'>-</div><div class='del'>-Thu Oct 17 05:52:31 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/nonblock/nonblock.c: [DOC] Document io/nonblock by reprah</div><div class='del'>-	  [Fixes GH-418] https://github.com/ruby/ruby/pull/418 based on the</div><div class='del'>-	  original discussion from documenting-ruby/ruby#18</div><div class='del'>-</div><div class='del'>-Thu Oct 17 05:40:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_each_objects): do not skip empty RVALUEs.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 05:31:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_bug_reporter_add): return simply 0 if failed.</div><div class='del'>-	  Please check return value.</div><div class='del'>-</div><div class='del'>-Thu Oct 17 05:17:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: add new method</div><div class='del'>-	  ObjectSpace.trace_object_allocations_debug_start for GC debugging.</div><div class='del'>-	  If you encounter the BUG "... is T_NONE" (and so on) on your</div><div class='del'>-	  application, please try this method at the beginning of your app.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 22:35:27 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/nonblock/nonblock.c: use rb_cIO instead of VALUE</div><div class='del'>-</div><div class='del'>-Wed Oct 16 17:45:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: check nil before calling `signal?'</div><div class='del'>-	  for a process status.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 17:37:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c, internal.h (rb_bug_reporter_add): add a new C-API.</div><div class='del'>-	  rb_bug_reporter_add() allows to register a function which</div><div class='del'>-	  is called at rb_bug() called.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bug_reporter/bug_reporter.c: add a test for this C-API.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bug_reporter/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bug_reporter/test_bug_reporter.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 15:14:21 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a line into NEWS for last commit.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 15:09:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: add a new method `reachable_objects_from_root'.</div><div class='del'>-	  ObjectSpace.reachable_objects_from_root returns all objects referred</div><div class='del'>-	  from root (called "root objects").</div><div class='del'>-	  This feature is for deep object analysis.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 15:00:21 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master b955554.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fixed NameError for Gem::Ext due to re-entering file lookup in</div><div class='del'>-	  RubyGems' overridden require.  Bug by Koichi Sasada.</div><div class='del'>-</div><div class='del'>-	  Fixed possible circular require warning in tests.</div><div class='del'>-</div><div class='del'>-	  Used existing constant for `gem install -g` dependency file list.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 09:42:42 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 278d00d.  Changes:</div><div class='del'>-</div><div class='del'>-	  Fixes building extensions without a "clean" make rule</div><div class='del'>-</div><div class='del'>-	  Adds gem dependency file autodetection to "gem install -g"</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  Tests for the above.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 09:12:23 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master commit 2a74263.  This fixes</div><div class='del'>-	  several bugs in RubyGems 2.2.0.preview.1.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 16 07:25:02 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_roots): rename roots to be categories</div><div class='del'>-	  instead of function names.</div><div class='del'>-</div><div class='del'>-Tue Oct 15 19:18:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (rb_objspace_reachable_objects_from_root): added.</div><div class='del'>-	  This API provides information which objects are root objects.</div><div class='del'>-	  `category' shows what kind of root objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_roots): separate from gc_marks_body().</div><div class='del'>-</div><div class='del'>-Tue Oct 15 17:47:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Fix a typo.  MacOS X doesn't have ENOTSUPP.</div><div class='del'>-</div><div class='del'>-Mon Oct 14 12:32:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): load statically linked extensions before</div><div class='del'>-	  rubygems, because of ext/thread.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): use gem_prelude instead of requiring</div><div class='del'>-	  rubygems directly when --enable=gems is given.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of</div><div class='del'>-	  --disable-rubygems.</div><div class='del'>-</div><div class='del'>-Mon Oct 14 11:07:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_framework): should append framework options to</div><div class='del'>-	  $LIBS, not $LDFLAGS.  The former is propagated to exts.mk when</div><div class='del'>-	  enable-static-linked-ext.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): ranlib on static library, not DLLIB.</div><div class='del'>-</div><div class='del'>-Sun Oct 13 23:53:40 2013  Andrew Grimm  &lt;andrew.j.grimm@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c: Fix spelling from compliment to complement.</div><div class='del'>-	  Patch by @agrimm.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto</div><div class='del'>-</div><div class='del'>-Sun Oct 13 20:59:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_BareVM): initialize defined_module_hash here,</div><div class='del'>-	  Init_top_self() is too late to register core classes/modules.</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): no hash to merge if it is empty.</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_hash_merge_kwd): just check keys if only one argument</div><div class='del'>-	  is given, without merging.</div><div class='del'>-</div><div class='del'>-Sat Oct 12 06:35:01 2013-10-11  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake:  Update to rake 10.1.0</div><div class='del'>-	* bin/rake:  ditto.</div><div class='del'>-	* test/rake:  ditto.</div><div class='del'>-</div><div class='del'>-	* NEWS:  Update NEWS to include rake 10.1.0 and links to release notes.</div><div class='del'>-</div><div class='del'>-Sat Oct 12 03:26:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, variable.c, gc.c (rb_class_tbl): removed.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h (rb_vm_add_root_module): added to register as a</div><div class='del'>-	  defined root module or class.</div><div class='del'>-	  This guard helps mark miss from defined classes/modules they are</div><div class='del'>-	  only referred from C's global variables in C-exts.</div><div class='del'>-	  Basically, it is extension's bug.</div><div class='del'>-	  Register to hash object VM has.</div><div class='del'>-	  Marking a hash objects allows generational GC supports.</div><div class='del'>-</div><div class='del'>-	* gc.c (RGENGC_PRINT_TICK): disable (revert).</div><div class='del'>-</div><div class='del'>-Sat Oct 12 03:24:49 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_gc_mark_unlinked_live_method_entries):</div><div class='del'>-	  revert last commit to introduce debug prints.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 21:05:19 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h, parse.y: use `full_mark' instead of `full_marking'.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 20:58:16 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use terminology `full_mark' instead of `minor_gc'</div><div class='del'>-	  in mark functions.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 20:46:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use __GNUC__ instead of __GCC__.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 20:35:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, parse.y: support generational Symbol related marking.</div><div class='del'>-	  Each symbols has String objects respectively to represent</div><div class='del'>-	  Symbols.</div><div class='del'>-	  These objects are marked only when:</div><div class='del'>-	  * full marking</div><div class='del'>-	  * new symbols are added</div><div class='del'>-	  This hack reduce symbols (related strings) marking time.</div><div class='del'>-	  For example, on my Linux environment, the following code</div><div class='del'>-	    "20_000_000.times{''}"</div><div class='del'>-	  with 40k symbols (similar symbol number on Rails 3.2.14 app,</div><div class='del'>-	  @jugyo tells me) boosts, from 7.3sec to 4.2sec.</div><div class='del'>-</div><div class='del'>-	* internal.h: change prototype of rb_gc_mark_symbols().</div><div class='del'>-</div><div class='del'>-Fri Oct 11 19:27:22 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import ruby-electric.el 2.0.1 which fixes</div><div class='del'>-	  a bug and a flaw with auto-end introduced in the revamp.</div><div class='del'>-</div><div class='del'>-	  * ruby-forward-sexp is inappropriate here because it moves the</div><div class='del'>-	    cursor past the keyword.</div><div class='del'>-</div><div class='del'>-	  * Fix a reversed looking-back check in</div><div class='del'>-	    ruby-electric--block-beg-keyword-at-point-p.</div><div class='del'>-</div><div class='del'>-	  * Do not add end again if space or return is hit repeatedly</div><div class='del'>-	    after a block beginning keyword.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 18:12:47 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/gc_hook.c: prohibit reentrant.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 18:11:34 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush): fix bit operation.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 17:33:24 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import ruby-electric.el 2.0 from</div><div class='del'>-	  https://github.com/knu/ruby-electric.el which integrates changes</div><div class='del'>-	  from another fork by @qoobaa.</div><div class='del'>-</div><div class='del'>-	  * Allow ruby-electric-mode to be disabled by introducing a</div><div class='del'>-	    dedicated key map.  Electric key bindings are now defined in</div><div class='del'>-	    ruby-electric-mode-map instead of overwriting ruby-mode-map.</div><div class='del'>-</div><div class='del'>-	  * Add ruby-electric-mode-hook.</div><div class='del'>-</div><div class='del'>-	  * Use a remap in binding ruby-electric-delete-backward-char.</div><div class='del'>-</div><div class='del'>-	  * Totally revamp electric keywords and then introduce electric</div><div class='del'>-	    return.  Modifier keywords are now properly detected making</div><div class='del'>-	    use of ruby-mode's indentation level calculator, and</div><div class='del'>-</div><div class='del'>-	  * block-mid keywords (then, else, elsif, when, rescue and</div><div class='del'>-	    ensure) also become electric with automatic reindentation.</div><div class='del'>-</div><div class='del'>-	  * Add standardized comments for ELPA integration.</div><div class='del'>-</div><div class='del'>-	  * Fix interaction with smartparens-mode by disabling its end</div><div class='del'>-	    keyword completion, since ruby-electric has become more clever</div><div class='del'>-	    at it.</div><div class='del'>-</div><div class='del'>-	  * The custom variable `ruby-electric-keywords` is changed to</div><div class='del'>-	    `ruby-electric-keywords-alist`, allowing user to fine-grained</div><div class='del'>-	    configuration.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 16:53:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush): simplify.</div><div class='del'>-</div><div class='del'>-Fri Oct 11 03:36:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_execute_interrupts): flush postponed job only</div><div class='del'>-	  once at last.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush): defer calling postponed jobs</div><div class='del'>-	  registered while flushing to get rid of infinite reentrance of</div><div class='del'>-	  ObjectSpace.after_gc_start_hook.  [ruby-dev:47400] [Bug #8492]</div><div class='del'>-</div><div class='del'>-Thu Oct 10 23:04:00 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): remove unused variables.</div><div class='del'>-</div><div class='del'>-Thu Oct 10 23:01:16 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): use rb_hash_keys().</div><div class='del'>-</div><div class='del'>-Thu Oct 10 21:36:16 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_compact_bang): use ary_resize_smaller().</div><div class='del'>-</div><div class='del'>-Thu Oct 10 17:25:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): support :b_return event for "lambda{return}.call".</div><div class='del'>-	  [Bug #8622]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Oct 10 13:52:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (postponed_job): use preallocated buffer.</div><div class='del'>-	  Pre-allocate MAX_POSTPONED_JOB (1024) sized buffer</div><div class='del'>-	  and use it.</div><div class='del'>-	  If rb_postponed_job_register() cause overflow, simply it</div><div class='del'>-	  fails and returns 0.</div><div class='del'>-	  And maybe rb_postponed_job_register() is signal safe.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: change data structure.</div><div class='del'>-</div><div class='del'>-Thu Oct 10 11:11:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): hide also the singleton class of frozen-core, not</div><div class='del'>-	  only frozen-core itself.</div><div class='del'>-</div><div class='del'>-Thu Oct 10 06:02:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb: fix r43224. local variable `e' is</div><div class='del'>-	  no longer available.</div><div class='del'>-</div><div class='del'>-Thu Oct 10 00:02:35 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_aref): avoid a possible undefined behavior.</div><div class='del'>-	  1L &lt;&lt; 63 on 64-bit platform is undefined, at least, according to</div><div class='del'>-	  ISO/IEC 9899 (C99) 6.5.7.</div><div class='del'>-</div><div class='del'>-Wed Oct  9 23:57:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (id_for_attr): avoid inadvertent symbol creation.</div><div class='del'>-</div><div class='del'>-Wed Oct  9 18:03:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_attr): preserve encoding of the attribute ID in</div><div class='del'>-	  error message.</div><div class='del'>-</div><div class='del'>-Wed Oct  9 17:40:16 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): because of lazy sweep, str may be unmarked</div><div class='del'>-	  already and swept at next time, so mark it for the time being.</div><div class='del'>-	  [ruby-core:57756]</div><div class='del'>-</div><div class='del'>-Wed Oct  9 13:53:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_eq): fail if recursion.  [ruby-core:57736] [Bug #9003]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_exec_recursive_paired_outer): new function which is</div><div class='del'>-	  combination of paired and outer variants.</div><div class='del'>-</div><div class='del'>-Wed Oct  9 09:18:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h,</div><div class='del'>-	  vm_backtrace.c (rb_profile_frame_full_label): add new C API</div><div class='del'>-	  rb_profile_frame_full_label() which returns label with</div><div class='del'>-	  qualified method name.</div><div class='del'>-	  Note that in future version of Ruby label() may return</div><div class='del'>-	  same return value of full_label().</div><div class='del'>-</div><div class='del'>-	* ext/-test-/debug/profile_frames.c,</div><div class='del'>-	  test/-ext-/debug/test_profile_frames.rb: fix a test for this change.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Wed Oct  9 00:55:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (load_lock): display backtrace to $stderr at circular</div><div class='del'>-	  require.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_backtrace_print_to): new function to print</div><div class='del'>-	  backtrace to the given output.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 21:03:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c, include/ruby/debug.h: add new APIs</div><div class='del'>-	  * VALUE rb_profile_frame_method_name(VALUE frame)</div><div class='del'>-	  * VALUE rb_profile_frame_qualified_method_name(VALUE frame)</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_klass), internal.h: add new internal function</div><div class='del'>-	  rb_iseq_method_name().</div><div class='del'>-</div><div class='del'>-	* ext/-test-/debug/profile_frames.c (profile_frames),</div><div class='del'>-	  test/-ext-/debug/test_profile_frames.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 16:11:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq): use rb_hash_values(), as well as the case no</div><div class='del'>-	  block is given.</div><div class='del'>-</div><div class='del'>-	* internal.h: define rb_hash_values() as internal API.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 13:53:21 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq): use rb_hash_keys().</div><div class='del'>-</div><div class='del'>-	* internal.h: define rb_hash_keys() as internal API.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_keys): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 10:56:39 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: disable FIBER_USE_NATIVE on GNU/Hurd because it doesn't</div><div class='del'>-	  support a combination getcontext() and threads. Patch by</div><div class='del'>-	  Gabriele Giacone (1o5g4r8o@gmail.com). [Bug #8990][ruby-core:57685]</div><div class='del'>-</div><div class='del'>-Tue Oct  8 05:58:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.strptime): Time.strptime('0', '%s') returns local</div><div class='del'>-	  time Time object as Ruby 2.0 and before.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 05:40:37 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml:  Rebuild Travis CI's "ruby-head" version on successful</div><div class='del'>-	  build.  Patch by Konstantin Haase.  [Fixes GH-417]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/417</div><div class='del'>-</div><div class='del'>-Tue Oct  8 04:28:25 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: Use preceding-char/following-char</div><div class='del'>-	  (returning 0 at BOF/EOF) instead of char-before/char-after</div><div class='del'>-	  (returning nil at BOF/EOF) to avoid error from char-syntax when</div><div class='del'>-	  at BOF/EOF.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 04:12:45 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-mode-set-encoding): Add a missing</div><div class='del'>-	  else clause to unbreak with `cp932`, etc.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 03:57:34 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-mode-set-encoding): Use</div><div class='del'>-	  `default-buffer-file-coding-system` if the :prefer-utf-8</div><div class='del'>-	  property is not available.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-encoding-map): Override the</div><div class='del'>-	  default value.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 03:19:19 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-mode-set-encoding): Add support</div><div class='del'>-	  for `prefer-utf-8` which was introduced in Emacs trunk.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-encoding-map): Add a mapping from</div><div class='del'>-	  `japanese-cp932` to `cp932` to fix the problem where saving a</div><div class='del'>-	  source file written in Shift_JIS twice would end up having</div><div class='del'>-	  `coding: japanese-cp932` which Ruby could not recognize.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-mode-set-encoding): Add support</div><div class='del'>-	  for encodings mapped to nil in `ruby-encoding-map`.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-encoding-map): Map `us-ascii` and</div><div class='del'>-	  `utf-8` to nil by default, meaning they need not be explicitly</div><div class='del'>-	  declared in magic comment.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-encoding-map): Add type</div><div class='del'>-	  declaration for better customize UI.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: Ditto for the above.</div><div class='del'>-</div><div class='del'>-Tue Oct  8 00:14:53 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el: Add a standard header and footer,</div><div class='del'>-	  including (provide 'ruby-additional).</div><div class='del'>-</div><div class='del'>-Mon Oct  7 22:52:45 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-space-can-be-expanded-p):</div><div class='del'>-	  Return nil to avoid "end" insertion when in smartparens-mode</div><div class='del'>-	  that is configured to insert "end" for the same keyword.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-keywords): New custom</div><div class='del'>-	  variable to replace `ruby-electric-simple-keywords-re` with.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 22:52:16 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el: Use preceding-char/following-char</div><div class='del'>-	  (returning 0 at BOF/EOF) instead of char-before/char-after</div><div class='del'>-	  (returning nil at BOF/EOF) to avoid error from char-syntax when</div><div class='del'>-	  at BOF/EOF.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 22:45:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (FIBER_USE_NATIVE): split long conditions.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 20:29:31 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: [DOC] typo in Time.rb overview by @srt32 [Fixes GH-416]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/416</div><div class='del'>-</div><div class='del'>-Mon Oct  7 20:07:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.strptime): Use :offset.</div><div class='del'>-	  Patch by Felipe Contreras.  [ruby-core:57694]</div><div class='del'>-</div><div class='del'>-Mon Oct  7 16:47:27 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/debug/test_profile_frames.rb: rename class C to</div><div class='del'>-	  something long name because one test depends on absence of</div><div class='del'>-	  class ::C.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 16:33:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/debug/profile_frames.c:</div><div class='del'>-	  test/-ext-/debug/test_profile_frames.rb: add a test for new C-APIs.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 16:12:36 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h: add backtrace collecting APIs for profiler.</div><div class='del'>-	  * int rb_profile_frames(int start, int limit, VALUE *buff, int *lines);</div><div class='del'>-	    Collect information of frame information.</div><div class='del'>-</div><div class='del'>-	  * VALUE rb_profile_frame_path(VALUE frame);</div><div class='del'>-	  * VALUE rb_profile_frame_absolute_path(VALUE frame);</div><div class='del'>-	  * VALUE rb_profile_frame_label(VALUE frame);</div><div class='del'>-	  * VALUE rb_profile_frame_base_label(VALUE frame);</div><div class='del'>-	  * VALUE rb_profile_frame_first_lineno(VALUE frame);</div><div class='del'>-	  * VALUE rb_profile_frame_classpath(VALUE frame);</div><div class='del'>-	  * VALUE rb_profile_frame_singleton_method_p(VALUE frame);</div><div class='del'>-	    Get information about each frame.</div><div class='del'>-</div><div class='del'>-	  These APIs are designed for profilers, for example, no object allocation,</div><div class='del'>-	  and enough information for profilers.</div><div class='del'>-	  In this version, this API collects only Ruby level frames.</div><div class='del'>-	  This issue will be fixed after Ruby 2.1.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: implement above APIs.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_klass): return local_iseq's class.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 14:26:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: catch up last commit.</div><div class='del'>-	  Type of return value of rb_iseq_first_lineno() is now VALUE.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (argument_error): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  7 14:07:45 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c, internal.h: change to public (but internal) functions</div><div class='del'>-	  * VALUE rb_iseq_path(VALUE iseqval);</div><div class='del'>-	  * VALUE rb_iseq_absolute_path(VALUE iseqval);</div><div class='del'>-	  * VALUE rb_iseq_label(VALUE iseqval);</div><div class='del'>-	  * VALUE rb_iseq_base_label(VALUE iseqval);</div><div class='del'>-	  * VALUE rb_iseq_first_lineno(VALUE iseqval);</div><div class='del'>-	  And new (temporary) function:</div><div class='del'>-	  * VALUE rb_iseq_klass(VALUE iseqval);</div><div class='del'>-</div><div class='del'>-	* iseq.c. vm_core.h (int rb_iseq_first_lineno): remove</div><div class='del'>-	  function `int rb_iseq_first_lineno(const rb_iseq_t *iseq)'.</div><div class='del'>-	  Use `VALUE rb_iseq_first_lineno(VALUE iseqval)' instead.</div><div class='del'>-</div><div class='del'>-	* proc.c. vm_insnhelper.c, vm_method.c: catch up this change.</div><div class='del'>-</div><div class='del'>-Sun Oct  6 08:37:39 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick.rb: [DOC] fix grammar in WEBrick overview [Fixes GH-413]</div><div class='del'>-	  Based on patch by @chastell https://github.com/ruby/ruby/pull/413</div><div class='del'>-</div><div class='del'>-Sat Oct  5 11:21:01 2013  Aaron Pfeifer  &lt;aaron.pfeifer@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (terminate_atfork_i): fix locking mutexes not unlocked in</div><div class='del'>-	  forks when not tracked in thread.  [ruby-core:55102] [Bug #8433]</div><div class='del'>-</div><div class='del'>-Fri Oct  4 19:54:09 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: [DOC] Fix wrong constant name in DBM by @edward</div><div class='del'>-	  [Fixes GH-409] https://github.com/ruby/ruby/pull/409</div><div class='del'>-</div><div class='del'>-Fri Oct  4 19:49:42 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename heap.free_num as heap.swept_num to clarify meaning and</div><div class='del'>-	  avoid confusion with objspace_free_num().</div><div class='del'>-</div><div class='del'>-Fri Oct  4 19:02:01 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_free_num): new method for available/free slots on</div><div class='del'>-	  heap. [ruby-core:57633] [Bug #8983]</div><div class='del'>-	* gc.c (gc_stat): change heap_free_num definition to use new method.</div><div class='del'>-	* test/ruby/test_gc.rb: test for above.</div><div class='del'>-</div><div class='del'>-Fri Oct  4 18:53:42 2013  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add rb_objspace.limit to keep accurate count of total heap</div><div class='del'>-	  slots [ruby-core:57633] [Bug #8983]</div><div class='del'>-</div><div class='del'>-Fri Oct  4 09:32:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV.foreach): support enumerator.  based on a patch by</div><div class='del'>-	  Hanmac (Hans Mackowiak) at [ruby-core:57643].  [ruby-core:57283]</div><div class='del'>-	  [Feature #8929]</div><div class='del'>-</div><div class='del'>-Thu Oct  3 18:20:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (console_emulator_p, constat_handle): disable built-in</div><div class='del'>-	  console colorizing when console-emulator-like DLL is injected.</div><div class='del'>-	  [Feature #8201]</div><div class='del'>-</div><div class='del'>-Thu Oct  3 18:01:44 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: define gc_profile_record::allocated_size if</div><div class='del'>-	  CALC_EXACT_MALLOC_SIZE is true.</div><div class='del'>-</div><div class='del'>-Thu Oct  3 13:42:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (yes-test-sample): use RUNRUBY instead of MINIRUBY to set</div><div class='del'>-	  runtime library path and run the built ruby.  [Bug #8971]</div><div class='del'>-</div><div class='del'>-Thu Oct  3 00:17:15 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el: Properly quote the body.  An unquoted</div><div class='del'>-	  body given to eval-after-load is evaluated immediately!</div><div class='del'>-</div><div class='del'>-Wed Oct  2 21:38:30 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ifaddr.c (rsock_getifaddrs): fix possible memory leak.</div><div class='del'>-	  When a system had no interface, this function used xmalloc for root</div><div class='del'>-	  but did not return any reference to it.  This patch fixes it by</div><div class='del'>-	  immediately returning an empty array if no interface is found.</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Wed Oct  2 21:37:04 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (make_seed_value): a local array declaration was accessed</div><div class='del'>-	  out of scope.  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Wed Oct  2 18:52:40 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: relax GC condition due to malloc_limit.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT_MAX): change default value</div><div class='del'>-	  (256MB -&gt; 512MB) and permit zero to ignore max value.</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_increase, vm_xrealloc): do not cause GC on realloc.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): change debug messages.</div><div class='del'>-</div><div class='del'>-Wed Oct  2 16:26:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_read): duplex IO should wait its child process</div><div class='del'>-	  even after close_read.</div><div class='del'>-</div><div class='del'>-Wed Oct  2 15:39:13 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: use __has_attribute() instead of __clang__major__ because</div><div class='del'>-	  clang says "Note that marketing version numbers should not be used</div><div class='del'>-	  to check for language features, as different vendors use different</div><div class='del'>-	  numbering schemes. Instead, use the Feature Checking Macros."</div><div class='del'>-	  http://clang.llvm.org/docs/LanguageExtensions.html</div><div class='del'>-</div><div class='del'>-Wed Oct  2 14:19:57 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_write): detach tied IO for writing before closing</div><div class='del'>-	  to get rid of race condition.  [ruby-list:49598]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to</div><div class='del'>-	  fix freed pointer access when it is in use by other threads, and get</div><div class='del'>-	  rid of potential memory/fd leak.</div><div class='del'>-</div><div class='del'>-Tue Oct  1 23:44:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: use __attribute__((unused)) in UNINITIALIZED_VAR on clang</div><div class='del'>-	  4.0+ instead of just on 4.2. Clang has supported the unused attribute</div><div class='del'>-	  since before version 4, so this should be safe.</div><div class='del'>-</div><div class='del'>-Tue Oct  1 22:03:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#unlink): finalizer is no longer needed</div><div class='del'>-	  after unlinking.  patched by by normalperson (Eric Wong) at</div><div class='del'>-	  [ruby-core:56521] [Bug #8768]</div><div class='del'>-</div><div class='del'>-Tue Oct  1 20:54:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (stat_new_0): constify.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_new): constify and export.  based on a patch by</div><div class='del'>-	  Hanmac (Hans Mackowiak) at [ruby-core:53225].  [Feature #8050]</div><div class='del'>-</div><div class='del'>-Tue Oct  1 16:03:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_safe_level_4_warning): needed by extension</div><div class='del'>-	  libraries which check safe level 4.  [ruby-dev:47517] [Bug #8652]</div><div class='del'>-</div><div class='del'>-Mon Sep 30 23:14:36 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: [DOC] Cleaned up many rdoc formatting</div><div class='del'>-	  issues and several duplicate grammar bugs.</div><div class='del'>-</div><div class='del'>-Mon Sep 30 23:01:01 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: [DOC] Adjust rdoc formatting and fix</div><div class='del'>-	  small grammar typo</div><div class='del'>-</div><div class='del'>-Mon Sep 30 17:28:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: [DOC] add some notes for</div><div class='del'>-	  ObjectSpace::trace_object_allocations.</div><div class='del'>-</div><div class='del'>-Mon Sep 30 16:46:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: add new 3 methods to control tracing.</div><div class='del'>-	  * ObjectSpace::trace_object_allocations_start</div><div class='del'>-	  * ObjectSpace::trace_object_allocations_stop</div><div class='del'>-	  * ObjectSpace::trace_object_allocations_clear</div><div class='del'>-	  And some refactoring.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test for new methods.</div><div class='del'>-</div><div class='del'>-	* NEWS: add a description for new methods.</div><div class='del'>-</div><div class='del'>-Mon Sep 30 11:18:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_disable): do rest_sweep() before disable GC.</div><div class='del'>-	  This fix may solve a failure of</div><div class='del'>-	  TestTracepointObj#test_tracks_objspace_events</div><div class='del'>-	  [test/-ext-/tracepoint/test_tracepoint.rb:43].</div><div class='del'>-</div><div class='del'>-Mon Sep 30 10:40:20 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_undef): raise a NameError if the original method</div><div class='del'>-	  of a refined method is not defined.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_method_entry_eq): added NULL check to avoid SEGV.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Sun Sep 29 23:45:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id_attrset, intern_str): allow junk attrset ID for</div><div class='del'>-	  Struct.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id_attrset): fix inconsistency with literals, allow</div><div class='del'>-	  ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET.</div><div class='del'>-	  and raise a NameError instead of rb_bug() for invalid argument.</div><div class='del'>-</div><div class='del'>-Sun Sep 29 18:45:05 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):</div><div class='del'>-	  clear keyword arguments to prevent GC bug which occurs</div><div class='del'>-	  while marking VM stack.</div><div class='del'>-	  [ruby-dev:47729] [Bug #8964]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: tests for the above.</div><div class='del'>-</div><div class='del'>-Sat Sep 28 23:25:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_log, math_log2, math_log10): fix for Bignum argument.</div><div class='del'>-	  numbits should be add only when right shifted.</div><div class='del'>-</div><div class='del'>-Sat Sep 28 14:30:29 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb: {libc, libm} detection now handle GNU/Hurd</div><div class='del'>-	  correctly. Patch by Gabriele Giacone (1o5g4r8o@gmail.com).</div><div class='del'>-	  [Bug #8937][ruby-core:57311]</div><div class='del'>-	* test/fiddle/helper.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 28 00:19:41 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: check the size of chtype.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (NUM2CH, CH2NUM): use proper macros for</div><div class='del'>-	  the size of chtype.</div><div class='del'>-</div><div class='del'>-	[ruby-core:56090] [Bug #8659]</div><div class='del'>-</div><div class='del'>-Fri Sep 27 18:33:23 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add two GC tuning environment variables.</div><div class='del'>-	  RUBY_GC_MALLOC_LIMIT_MAX and RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR.</div><div class='del'>-	  See r43067 for details.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_set_params): refactoring. And change verbose notation.</div><div class='del'>-	  Mostly duplicated functions get_envparam_int/double is not cool.</div><div class='del'>-	  Please rewrite it.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: fix a test for this change.</div><div class='del'>-</div><div class='del'>-Fri Sep 27 17:44:41 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT): 8,000,000 -&gt; 8 * 1,024 * 1,024.</div><div class='del'>-</div><div class='del'>-Fri Sep 27 17:19:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): cast to size_t to suppress warnings.</div><div class='del'>-</div><div class='del'>-Fri Sep 27 17:07:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add some fine-grained profiling codes to tuning marking phase.</div><div class='del'>-	  If you enable RGENGC_PRINT_TICK to 1, then profiling results by RDTSC</div><div class='del'>-	  (on x86/amd64 environment) are printed at last.</div><div class='del'>-	  Thanks Yoshii-san.</div><div class='del'>-</div><div class='del'>-Fri Sep 27 16:32:27 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: simplify threshold of GC caused by malloc_increase.</div><div class='del'>-	  Now, malloc_limit is increased/decreased by mysterious logic.</div><div class='del'>-	  This fix simplify malloc_limit increase/decrease logic such as:</div><div class='del'>-	    if (malloc_increase &gt; malloc_limit) /* so many malloc */</div><div class='del'>-	      malloc_limit += malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1);</div><div class='del'>-	    else</div><div class='del'>-	      malloc_limit -= malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1)/4;</div><div class='del'>-	  Default value of GC_MALLOC_LIMIT_FACTOR is 1.8.</div><div class='del'>-	  malloc_limit is bounded by GC_MALLOC_LIMIT_MAX (256MB by default).</div><div class='del'>-	  This logic runs at gc_before_sweep(). So there are no effect from</div><div class='del'>-	  caused by lazy sweep. And we can remove malloc_increase2.</div><div class='del'>-</div><div class='del'>-	* gc.c (HEAP_MIN_SLOTS, FREE_MIN, HEAP_GROWTH_FACTOR): rename to</div><div class='del'>-	  GC_HEAP_MIN_SLOTS, GC_FREE_MIN, GC_HEAP_GROWTH_FACTOR respectively.</div><div class='del'>-	  Check them by `#ifndef' so you can specify these values outside gc.c.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_params_t): add initial_malloc_limit_factor and</div><div class='del'>-	  initial_malloc_limit_max.</div><div class='del'>-</div><div class='del'>-	* gc.c (vm_malloc_prepare, vm_xrealloc): use vm_malloc_increase to</div><div class='del'>-	  add and check malloc_increase.</div><div class='del'>-</div><div class='del'>-Fri Sep 27 01:05:00 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: [DOC] arguments of Regexp::union receive #to_regexp [Bug #8205]</div><div class='del'>-</div><div class='del'>-Fri Sep 27 00:39:27 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c: [DOC] grammar of ArgumentError in Struct.new [Bug #8936]</div><div class='del'>-	  Patch by Prathamesh Sonpatki</div><div class='del'>-</div><div class='del'>-Thu Sep 26 22:11:56 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: [DOC] several fixes by @chastell</div><div class='del'>-	  This includes fixing the capitalization of Infinity, return value of</div><div class='del'>-	  example "BigDecimal.new('NaN') == 0.0", and code style in example.</div><div class='del'>-	  [Fixes GH-398] https://github.com/ruby/ruby/pull/398</div><div class='del'>-</div><div class='del'>-Thu Sep 26 22:08:11 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb: [DOC] syntax improvement in example by @chastell</div><div class='del'>-	  [Fixes GH-400] https://github.com/ruby/ruby/pull/400</div><div class='del'>-</div><div class='del'>-Thu Sep 26 22:03:15 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: [DOC] typo in overview by @chastell</div><div class='del'>-	  [Fixes GH-399] https://github.com/ruby/ruby/pull/399</div><div class='del'>-</div><div class='del'>-Thu Sep 26 22:00:42 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: [DOC] typo in example by @zoranzaric</div><div class='del'>-	  [Fixes GH-401] https://github.com/ruby/ruby/pull/401</div><div class='del'>-</div><div class='del'>-Thu Sep 26 21:07:49 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-delete-backward-char): Add</div><div class='del'>-	  support for smartparens-mode.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-cua-replace-region-maybe)</div><div class='del'>-	  (ruby-electric-cua-delete-region-maybe): New functions that</div><div class='del'>-	  combine `ruby-electric-cua-*-region` with</div><div class='del'>-	  `ruby-electric-cua-*-region-p`, using a slightly better way to</div><div class='del'>-	  detect if it is in cua-mode.</div><div class='del'>-</div><div class='del'>-Thu Sep 26 16:51:00 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_regexpmatch2): Check String#=~ hasn't overridden</div><div class='del'>-	  before calling rb_reg_match().</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: Test for above.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_init_redefined_flag): Add BOP flag for String#=~</div><div class='del'>-</div><div class='del'>-	[ruby-core:57385] [Bug #8953]</div><div class='del'>-</div><div class='del'>-Thu Sep 26 16:43:42 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Avoid use of the interactive function</div><div class='del'>-	  `self-insert-command` which fires `post-self-insert-hook` and</div><div class='del'>-	  `post-command-hook`, to make the ruby-electric commands work</div><div class='del'>-	  nicely with those minor modes that make use of them to do</div><div class='del'>-	  similar input assistance, such as electric-pair-mode,</div><div class='del'>-	  autopair-mode and smartparens-mode.</div><div class='del'>-</div><div class='del'>-Thu Sep 26 16:24:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_regexpmatch1): check Regexp#=~ is not defined before</div><div class='del'>-	  calling rb_reg_match()</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add test</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_redefined_flag): change type to short[]</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_redefinition_check_flag): return REGEXP_REDEFINED_OP_FLAG if</div><div class='del'>-	  klass == rb_cRegexp</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_init_redefined_flag): setup BOP flag for Regexp#=~</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: add REGEXP_REDEFINED_OP_FLAG</div><div class='del'>-</div><div class='del'>-	[ruby-core:57385] [Bug #8953]</div><div class='del'>-</div><div class='del'>-Thu Sep 26 14:46:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_locations_array): disable AddressSanitizer.  based on a</div><div class='del'>-	  patch by halfie (Ruby Guy) at [ruby-core:57372].</div><div class='del'>-	  [ruby-core:56155] [Bug #8680]</div><div class='del'>-</div><div class='del'>-Wed Sep 25 17:41:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: remove description of RARRAY_PTR()</div><div class='del'>-	  and add a caution of accessing internal data structure directly.</div><div class='del'>-	  Also add a description of rb_ary_store().</div><div class='del'>-	  [Bug #8399]</div><div class='del'>-</div><div class='del'>-Wed Sep 25 17:12:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rename RARRAY_RAWPTR() to RARRAY_CONST_PTR().</div><div class='del'>-	  RARRAY_RAWPTR(ary) returns (const VALUE *) type pointer and</div><div class='del'>-	  usecase of this macro is not acquire raw pointer, but acquire</div><div class='del'>-	  read-only pointer. So we rename to better name.</div><div class='del'>-	  RSTRUCT_RAWPTR() is also renamed to RSTRUCT_CONST_PTR()</div><div class='del'>-	  (I expect that nobody use it).</div><div class='del'>-</div><div class='del'>-	* array.c, compile.c, cont.c, enumerator.c, gc.c, proc.c, random.c,</div><div class='del'>-	  string.c, struct.c, thread.c, vm_eval.c, vm_insnhelper.c:</div><div class='del'>-	  catch up this change.</div><div class='del'>-</div><div class='del'>-Wed Sep 25 16:58:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_float_value, rb_float_new): move inline functions</div><div class='del'>-	  from ruby/ruby.h.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_float_value, rb_float_new): define external functions</div><div class='del'>-	  for extension libraries.</div><div class='del'>-</div><div class='del'>-Wed Sep 25 15:37:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_generator_darkfish.rb: add a guard for windows.</div><div class='del'>-</div><div class='del'>-Wed Sep 25 09:53:11 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Fix CVE-2013-4363.  Miscellaneous minor improvements.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  Tests for the above.</div><div class='del'>-</div><div class='del'>-Tue Sep 24 17:38:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): get rid of out-of-bound access.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): when a UTF-16/32 string doesn't have a</div><div class='del'>-	  BOM, inspect as a dummy encoding string.</div><div class='del'>-</div><div class='del'>-Tue Sep 24 17:15:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c (ENC_DUMMY_UNICODE): make BOM-encodings dummy.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_autoload): keep dummy encodings dummy.</div><div class='del'>-</div><div class='del'>-Tue Sep 24 16:41:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry#write): data size</div><div class='del'>-	  is in bytes, not chars.  terminators should be placed automatically.</div><div class='del'>-</div><div class='del'>-Tue Sep 24 16:39:36 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry#each_value): encode</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry#each_key): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry#export_string):</div><div class='del'>-	  encode to locale encoding if default internal is not set.</div><div class='del'>-</div><div class='del'>-Tue Sep 24 16:35:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumKey):</div><div class='del'>-	  size of the name is in WCHARs, not in bytes.</div><div class='del'>-</div><div class='del'>-Tue Sep 24 14:07:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (free_method_cache_entry_i): unused function</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_free_mc_table): ditto</div><div class='del'>-</div><div class='del'>-	* internal.h (method_cache_entry_t): unused struct</div><div class='del'>-</div><div class='del'>-	* vm_method.c (verify_method_cache): remove unused variable</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry): ditto</div><div class='del'>-</div><div class='del'>-Tue Sep 24 14:01:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_alloc): remove mc_tbl</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): ditto</div><div class='del'>-</div><div class='del'>-	* internal.h (struct rb_classext_struct): ditto</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_entry): remove ent param</div><div class='del'>-</div><div class='del'>-	* vm_method.c: restore the global method cache. Per class cache tables</div><div class='del'>-	  turned out to be far too slow.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:57289] [Bug #8930]</div><div class='del'>-</div><div class='del'>-Tue Sep 24 12:51:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry::API): need</div><div class='del'>-	  Constants.</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue):</div><div class='del'>-	  size of the name is in WCHARs, not in bytes.</div><div class='del'>-</div><div class='del'>-Mon Sep 23 22:16:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): Unicode with BOM</div><div class='del'>-	  must be based on big endian variants, so that actual encodings would</div><div class='del'>-	  work.  [ruby-core:57318] [Bug #8940]</div><div class='del'>-</div><div class='del'>-Mon Sep 23 12:11:26 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_each_pair): do not call rb_assoc_new() if</div><div class='del'>-	  it isn't needed.</div><div class='del'>-</div><div class='del'>-Mon Sep 23 10:42:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (TestModule#test_include_toplevel): test</div><div class='del'>-	  for top level main.include.  based on a part of the patch by</div><div class='del'>-	  kyrylo at [GH-395].</div><div class='del'>-</div><div class='del'>-Mon Sep 23 05:07:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_ary_cat): move from internal.h, since it</div><div class='del'>-	  is described in README.EXT.</div><div class='del'>-</div><div class='del'>-Sun Sep 22 20:55:20 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_make_proc_with_iseq): fix bug message.</div><div class='del'>-	  This is follow up to changes in r42637.</div><div class='del'>-</div><div class='del'>-Sun Sep 22 20:35:38 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/tracepoint/tracepoint.c (Init_tracepoint): prevent from GC.</div><div class='del'>-</div><div class='del'>-Sun Sep 22 19:00:28 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_answer.rb: revert r42990, benchmark scripts should</div><div class='del'>-	  be self-contained and avoid dependencies, especially such small one.</div><div class='del'>-	  See https://github.com/ruby/ruby/pull/393#issuecomment-24861301.</div><div class='del'>-</div><div class='del'>-Sat Sep 21 20:11:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_internal): remove cloexec setting on pipes</div><div class='del'>-	  created by rb_cloexec_pipe.  patch by normalperson (Eric Wong) at</div><div class='del'>-	  [ruby-core:56523].  [Bug #8769]</div><div class='del'>-</div><div class='del'>-Sat Sep 21 01:04:25 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: [DOC] grammar of Benchmark#bm [Bug #8888]</div><div class='del'>-	  Patch by Prathamesh Sonpatki</div><div class='del'>-</div><div class='del'>-Sat Sep 21 00:50:02 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: [DOC] Enumerator#each arguments documentation [GH-388]</div><div class='del'>-	  Patch by @kachick  https://github.com/ruby/ruby/pull/388</div><div class='del'>-</div><div class='del'>-Sat Sep 21 00:49:16 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: [DOC] Enumerable#to_a accepts arguments [GH-388]</div><div class='del'>-	  Patch by @kachick https://github.com/ruby/ruby/pull/388</div><div class='del'>-</div><div class='del'>-Sat Sep 21 00:47:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_conv_enc_opts): make sure to scan coderange to get</div><div class='del'>-	  rid of unnecessary conversion.</div><div class='del'>-</div><div class='del'>-Sat Sep 21 00:21:08 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: [DOC] Document OpenSSL::SSLServer</div><div class='del'>-	  Based on a patch by Rafal Lisowski [Bug #8758]</div><div class='del'>-</div><div class='del'>-Fri Sep 20 23:54:03 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: [DOC] correct gserver.rb license [Bug #8913]</div><div class='del'>-</div><div class='del'>-Fri Sep 20 23:48:34 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/yaml/yaml.h: [DOC] merge upstream typo fix by @GreenGeorge</div><div class='del'>-	  https://github.com/tenderlove/psych/pull/161</div><div class='del'>-</div><div class='del'>-Fri Sep 20 23:37:40 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: [DOC] SecureRandom.hex length argument</div><div class='del'>-	  [Fixes GH-394] Patch by @avdi https://github.com/ruby/ruby/pull/394</div><div class='del'>-</div><div class='del'>-Fri Sep 20 23:34:48 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_answer.rb: removed duplicate code [Fixes GH-393]</div><div class='del'>-	  Patch by @gouravtiwari https://github.com/ruby/ruby/pull/393</div><div class='del'>-</div><div class='del'>-Fri Sep 20 23:24:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (btest, btest-ruby, test-knownbug): add $(RUN_OPTS) to</div><div class='del'>-	  ruby to be run, so that tests are runnable before making exts.</div><div class='del'>-</div><div class='del'>-	* common.mk (test-sample): ditto, and use $(MINIRUBY) as rubytest.rb</div><div class='del'>-	  does not need extension libraries.</div><div class='del'>-</div><div class='del'>-	* tool/rubytest.rb: pass $(RUN_OPTS) to testing ruby using --run-opt.</div><div class='del'>-</div><div class='del'>-Fri Sep 20 15:01:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (intern_str): sigil only names are junk, at least one</div><div class='del'>-	  identifier character is needed.  [ruby-dev:47723] [Bug #8928]</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname_type): fix out of bound access.</div><div class='del'>-</div><div class='del'>-Fri Sep 20 14:14:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/printf/printf.c (printf_test_call): Fix an end of buffer</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 16:59:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): adjust position to the beginning of the block.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 16:25:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): initialize cp so that size is 0 in the</div><div class='del'>-	  commented case.  fix an accidental bug at r16716.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 14:33:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a news for r42974.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 14:12:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: make Symbol objects frozen.</div><div class='del'>-	  [Feature #8906]</div><div class='del'>-	  I want to freeze this good day, too.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: catch up this change.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb: add a test to check frozen symbols.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 09:11:33 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS:  Update for RDoc 4.1.0.preview.1 and RubyGems 2.2.0.preview.1</div><div class='del'>-</div><div class='del'>-Thu Sep 19 08:59:41 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markdown/literals_1_9.rb:  Fix trailing whitespace.</div><div class='del'>-</div><div class='del'>-	  Previously kpeg (which generates this file) added trailing</div><div class='del'>-	  whitespace, but this bug is now fixed.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/markdown.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 08:33:14 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 4.1.0.preview.1</div><div class='del'>-</div><div class='del'>-	  RDoc 4.1.0 contains a number of enhancements including a new default</div><div class='del'>-	  style and accessibility support.  You can see the changelog here:</div><div class='del'>-</div><div class='del'>-	  https://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc</div><div class='del'>-</div><div class='del'>-	* test/rdoc:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 07:16:26 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: updating Psych version</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Thu Sep 19 06:39:40 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_resolver.rb:  Switch the iterative resolver</div><div class='del'>-	  algorithm from recursive to iterative to avoid possible</div><div class='del'>-	  SystemStackError.</div><div class='del'>-</div><div class='del'>-Thu Sep 19 06:29:30 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.2.0.preview.1</div><div class='del'>-</div><div class='del'>-	  This brings several new features to RubyGems summarized here:</div><div class='del'>-</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/v2.2.0.preview.1/History.txt</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep 18 23:14:58 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_lines): make String#each_line and</div><div class='del'>-	  #lines not raise invalid byte sequence error when it is called</div><div class='del'>-	  with an argument. The patch also causes performance improvement.</div><div class='del'>-	  [ruby-dev:47549] [Bug #8698]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (test_str_each_line): remove</div><div class='del'>-	  assertions which check that String#each_line and #lines will</div><div class='del'>-	  raise an error if the receiver includes invalid byte sequence.</div><div class='del'>-</div><div class='del'>-Wed Sep 18 16:32:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_from_me): allocate structs after allocated wrapper</div><div class='del'>-	  object successfully, to get rid of potential memory leak.</div><div class='del'>-</div><div class='del'>-Tue Sep 17 15:54:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb (Shell::CommandProcessor#find_system_command):</div><div class='del'>-	  return executable file only, should ignore directories and</div><div class='del'>-	  unexecutable files.  [ruby-core:57235] [Bug #8918]</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_throw):</div><div class='del'>-	  assertion for throw.  MiniTest::Assertions#assert_throws discards</div><div class='del'>-	  the caught value.</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_nothing_thrown):</div><div class='del'>-	  returns the result of the given block.</div><div class='del'>-</div><div class='del'>-Tue Sep 17 12:55:58 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc:  [DOC] Replace paragraphs in verbatim sections with</div><div class='del'>-	  plain paragraphs to improve readability as ri and HTML.</div><div class='del'>-</div><div class='del'>-Mon Sep 16 07:32:35 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: removed meaningless lines.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 16 00:44:23 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: define MSG_FASTOPEN.</div><div class='del'>-	  [ruby-core:57138] [Feature #8897]</div><div class='del'>-</div><div class='del'>-Sun Sep 15 13:31:23 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_div): reverted r28844, r28886 and r28887.</div><div class='del'>-	  REASON: Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;'s commits are buggy.</div><div class='del'>-	  So Rational#/ may produce exact number with inexact number.</div><div class='del'>-	  Moreover, without reducing.</div><div class='del'>-	  REALLY NONSENSE COMMITS.</div><div class='del'>-	  A bug report by me [ruby-dev:44710] is also caused by this behavior.</div><div class='del'>-	  Kenta Murata  &lt;mrkn@mrkn.jp&gt; patched it up.</div><div class='del'>-	  But he did not fix the origin.</div><div class='del'>-	  Today, the bug is still alive in ruby 1.9.3 and 2.0.0.</div><div class='del'>-</div><div class='del'>-Sat Sep 14 06:08:10 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob):  [DOC] Improve wording and layout.</div><div class='del'>-</div><div class='del'>-	* dir.c (file_s_fnmatch):  ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (Init_Dir):  [DOC] Document File::Constants::FNM_XXX</div><div class='del'>-	  constants.  (These won't show up in RDoc until a new RDoc is</div><div class='del'>-	  imported.)</div><div class='del'>-</div><div class='del'>-Thu Sep 12 14:58:58 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic.find_proxy): return nil if</div><div class='del'>-	  http_proxy environment variable is empty string.</div><div class='del'>-	  [ruby-core:57140] [Bug #8898]</div><div class='del'>-</div><div class='del'>-Fri Sep 13 10:40:28 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.1.3</div><div class='del'>-</div><div class='del'>-	  Fixed installing platform gems</div><div class='del'>-</div><div class='del'>-	  Restored concurrent requires</div><div class='del'>-</div><div class='del'>-	  Fixed installing gems with extensions with --install-dir</div><div class='del'>-</div><div class='del'>-	  Fixed `gem fetch -v` to install the latest version</div><div class='del'>-</div><div class='del'>-	  Fixed installing gems with "./" in their files entries</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Tests for the above.</div><div class='del'>-</div><div class='del'>-	* NEWS:  Updated for RubyGems 2.1.3</div><div class='del'>-</div><div class='del'>-Thu Sep 12 22:40:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIGNEDNESS): macro to check signedness of a</div><div class='del'>-	  type.</div><div class='del'>-</div><div class='del'>-	* configure.in (size_t): must be unsigned.</div><div class='del'>-	  [ruby-core:57149] [Feature #8890]</div><div class='del'>-</div><div class='del'>-Thu Sep 12 22:37:08 2013  Anton Ovchinnikov  &lt;revolver112@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c, ext/digest/md5/md5.c,</div><div class='del'>-	  ext/json/fbuffer/fbuffer.h, ext/json/generator/generator.c:</div><div class='del'>-	  Eliminate less-than-zero checks for unsigned variables.</div><div class='del'>-	  According to section 4.1.5 of C89 standard, size_t is an unsigned</div><div class='del'>-	  type.  These checks were found with 'cppcheck' static analysis tool.</div><div class='del'>-	  [ruby-core:57117] [Feature #8890]</div><div class='del'>-</div><div class='del'>-Thu Sep 12 21:35:46 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (libruby-static.a): change LDFLAGS order. LDFLAGS may</div><div class='del'>-	  include library path that should be specified before LIBS.</div><div class='del'>-	  [ruby-dev:47707] [Bug #8901]</div><div class='del'>-</div><div class='del'>-Thu Sep 12 20:07:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (MAXEXP, MAXFRACT): calculate depending on constants in</div><div class='del'>-	  float.h.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): limit length for cvt() to get rid of</div><div class='del'>-	  buffer overflow.  [ruby-core:57023] [Bug #8864]</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (exponent): make expbuf size more precise.</div><div class='del'>-</div><div class='del'>-Wed Sep 11 17:30:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUNRUBY): append -- only after runruby.rb, not</div><div class='del'>-	  cross-compiling baseruby, so that $(RUN_OPT) can be command line</div><div class='del'>-	  options.  [ruby-dev:47703] [Bug #8893]</div><div class='del'>-</div><div class='del'>-Wed Sep 11 07:55:17 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_unlock): Mutex#unlock no longer raise</div><div class='del'>-	  an exception even if uses on trap. [Bug #8891]</div><div class='del'>-</div><div class='del'>-Tue Sep 10 14:37:01 2013  Shota Fukumori  &lt;sorah@tubusu.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (vm_backtrace_to_ary): Ignore the second argument if</div><div class='del'>-	  it is nil. [Bug #8884] [ruby-core:57094]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb (test_caller_with_nil_length):</div><div class='del'>-	  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Sep 10 12:39:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry_i): should exclude refined methods from</div><div class='del'>-	  instance method list.  [ruby-core:57080] [Bug #8881]</div><div class='del'>-</div><div class='del'>-Tue Sep 10 12:05:04 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_printf): [DOC] add missing parenthesis in rdoc.</div><div class='del'>-</div><div class='del'>-Tue Sep 10 10:08:00 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Update RubyGems note.</div><div class='del'>-</div><div class='del'>-Tue Sep 10 09:51:22 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.1.0.  Fixes CVE-2013-4287.</div><div class='del'>-</div><div class='del'>-	  See http://rubygems.rubyforge.org/rubygems-update/CVE-2013-4287_txt.html</div><div class='del'>-	  for CVE information.</div><div class='del'>-</div><div class='del'>-	  See http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.1.0+%2F+2013-09-09</div><div class='del'>-	  for release notes.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  Tests for the above.</div><div class='del'>-</div><div class='del'>-Mon Sep  9 21:31:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Remove spaces between SI prefix and unit to follow</div><div class='del'>-	  SI brochure.</div><div class='del'>-	  http://www.bipm.org/en/si/si_brochure/</div><div class='del'>-	  https://www.nmij.jp/library/units/si/</div><div class='del'>-</div><div class='del'>-	* time.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: Ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  9 16:55:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_refined_method_entry): clear cache in the</div><div class='del'>-	  refined class since refining a method entry is modifying the class.</div><div class='del'>-	  [ruby-core:57079] [Bug #8880]</div><div class='del'>-</div><div class='del'>-Mon Sep  9 09:14:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (Gem::Specification#initialize): default date to</div><div class='del'>-	  RUBY_RELEASE_DATE.  [ruby-core:57072] [Bug #8878]</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (Gem::Specification#to_ruby): add date.</div><div class='del'>-</div><div class='del'>-Sun Sep  8 16:01:54 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (f_gcd): Relax the condition to use GMP.</div><div class='del'>-</div><div class='del'>-Sun Sep  8 13:56:38 2013  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folevariant_initialize): check type of</div><div class='del'>-	  element of array.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_s_new_ary): ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  7 21:33:10 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): Test the sign for bignums.</div><div class='del'>-	  (math_log2): Ditto.</div><div class='del'>-	  (math_log10): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  7 20:25:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_log): Support bignums bigger than 2**1024.</div><div class='del'>-	  (math_log2): Ditto.</div><div class='del'>-	  (math_log10): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  7 15:36:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0): fix prototype, the id parameter should be of</div><div class='del'>-	  type ID, not VALUE</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (check_match): the rb_funcall family of functions</div><div class='del'>-	  does not care about refinements. We need to use</div><div class='del'>-	  rb_method_entry_with_refinements instead to call === with</div><div class='del'>-	  refinements. Thanks to Jon Conley for reporting this bug.</div><div class='del'>-	  [ruby-core:57051] [Bug #8872]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add test</div><div class='del'>-</div><div class='del'>-Sat Sep  7 13:49:40 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): the name of class that has</div><div class='del'>-	  non class id should not be nil. This bug was introduced</div><div class='del'>-	  in r36577.</div><div class='del'>-</div><div class='del'>-	* test/thread/test_cv.rb: test for change.</div><div class='del'>-</div><div class='del'>-Sat Sep  7 13:29:22 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): respect the encodings of arguments.</div><div class='del'>-	  [ruby-dev:47530] [Feature #8657]</div><div class='del'>-</div><div class='del'>-	* test/test_find.rb: add tests.</div><div class='del'>-</div><div class='del'>-Sat Sep  7 10:40:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (TCP_FASTOPEN): Defined for TCP fast open.</div><div class='del'>-	  [ruby-core:57048] [Feature #8871] patch by Masaki Matsushita.</div><div class='del'>-</div><div class='del'>-Fri Sep  6 23:53:31 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can't</div><div class='del'>-	  require extension libraries. The patch is from nobu</div><div class='del'>-	  (Nobuyoshi Nakada).</div><div class='del'>-</div><div class='del'>-	* ext/thread/extconf.rb: for build ext/thread/thread.c.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: removed and replaced by ext/thread/thread.c.</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c: Queue, SizedQueue and ConditionVariable</div><div class='del'>-	  implementations in C. This patch is based on patches from panaggio</div><div class='del'>-	  (Ricardo Panaggio) and funny_falcon (Yura Sokolov) and  ko1</div><div class='del'>-	  (Koichi Sasada). [ruby-core:31513] [Feature #3620]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (test_queue_thread_raise): add a test for</div><div class='del'>-	  ensuring that killed thread should be removed from waiting threads.</div><div class='del'>-	  It is based on a code by ko1 (Koichi Sasada). [ruby-core:45950]</div><div class='del'>-</div><div class='del'>-Fri Sep  6 22:47:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Define ac_cv_func_clock_getres to yes for mingw*.</div><div class='del'>-</div><div class='del'>-Fri Sep  6 21:04:10 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: Include gmp.h if GMP is used.</div><div class='del'>-	  (GMP_GCD_DIGITS): New macro.</div><div class='del'>-	  (rb_gcd_gmp): New function.</div><div class='del'>-	  (f_gcd_normal): Renamed from f_gcd.</div><div class='del'>-	  (rb_gcd_normal): New function.</div><div class='del'>-	  (f_gcd): Invoke rb_gcd_gmp or f_gcd_normal.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_gcd_normal): Declared.</div><div class='del'>-	  (rb_gcd_gmp): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/rational: New directory.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/rational: New directory.</div><div class='del'>-</div><div class='del'>-Fri Sep  6 14:23:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (clock_getres): required as well as clock_gettime().</div><div class='del'>-	  [ruby-dev:47699] [Bug #8869]</div><div class='del'>-</div><div class='del'>-Fri Sep  6 11:45:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_append): new function to append a string data</div><div class='del'>-	  with converting its encoding.  split from rb_econv_substr_append.</div><div class='del'>-</div><div class='del'>-Fri Sep  6 02:37:22 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: use double quotes when</div><div class='del'>-	  strings start with special characters.</div><div class='del'>-	  https://github.com/tenderlove/psych/issues/157</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: test for change.</div><div class='del'>-</div><div class='del'>-Fri Sep  6 00:05:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rewrite_cref_stack): remove recursion.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 18:05:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (fstring_cmp): take string encoding into account when</div><div class='del'>-	  comparing fstrings [ruby-core:57037] [Bug #8866]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: add test</div><div class='del'>-</div><div class='del'>-Thu Sep  5 17:25:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring, rb_str_free): use st_data_t instead of VALUE.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): get rid of duplicating already frozen object.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 14:01:22 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb:  The Integer acceptable now allows binary and</div><div class='del'>-	  hexadecimal numbers per the documentation.  [ruby-trunk - Bug #8865]</div><div class='del'>-</div><div class='del'>-	  DecimalInteger, OctalInteger, DecimalNumeric now validate their input</div><div class='del'>-	  before converting to a number.  [ruby-trunk - Bug #8865]</div><div class='del'>-</div><div class='del'>-	* test/optparse/test_acceptable.rb:  Tests for the above, tests for all</div><div class='del'>-	  numeric acceptables for existing behavior.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 13:49:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add RSTRING_FSTR flag</div><div class='del'>-</div><div class='del'>-	* internal.h: add rb_fstring() prototype</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): deduplicate frozen string literals</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_free): delete fstrings from frozen_strings table when</div><div class='del'>-	  they are GC'd</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): initialize frozen_strings table</div><div class='del'>-</div><div class='del'>-Thu Sep  5 12:48:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (with_gmp): set with_gmp no if it is empty.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 10:41:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): use class sequence to check class</div><div class='del'>-	  identity, instead of pointer + vm state</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setivar): ditto</div><div class='del'>-</div><div class='del'>-Thu Sep  5 08:20:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (GMP_DIV_DIGITS): New macro.</div><div class='del'>-	  (bary_divmod_gmp): New function.</div><div class='del'>-	  (rb_big_divrem_gmp): Ditto.</div><div class='del'>-	  (bary_divmod_branch): Ditto.</div><div class='del'>-	  (bary_divmod): Use bary_divmod_branch.</div><div class='del'>-	  (bigdivrem): Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_divrem_gmp): Declared.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 06:22:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_divmod_normal): Reduce temporary array allocations.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 02:17:06 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divrem_normal): Add GC guards.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 00:38:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divrem_normal): New function.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_divrem_normal): Declared.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/div.c: New file.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bignum/test_div.rb: New file.</div><div class='del'>-</div><div class='del'>-Thu Sep  5 00:08:44 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_normal): Removed.</div><div class='del'>-	  (bary_divmod_normal): New function.</div><div class='del'>-	  (bary_divmod): Use bary_divmod_normal.</div><div class='del'>-	  (bigdivrem): Use bary_divmod_normal.</div><div class='del'>-</div><div class='del'>-Wed Sep  4 23:02:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Useless declaration removed.</div><div class='del'>-</div><div class='del'>-Wed Sep  4 22:56:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (NUM_STEP_GET_INF): split from NUM_STEP_SCAN_ARGS(), since</div><div class='del'>-	  inf is not used in num_step_size().</div><div class='del'>-</div><div class='del'>-Wed Sep  4 20:22:43 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_normal): Add assertions.</div><div class='del'>-</div><div class='del'>-Wed Sep  4 19:18:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (vm_state_version_t): prefer LONG_LONG to uint64_t.</div><div class='del'>-</div><div class='del'>-Wed Sep  4 16:28:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (vm_state_version_t): use uint64_t when it is larger than</div><div class='del'>-	  LONG_LONG, and fallback to unsigned long.</div><div class='del'>-</div><div class='del'>-Wed Sep  4 15:37:05 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac-tbl.rb: fix r42789.</div><div class='del'>-	  Fix conversion table and logic. [ruby-dev:47680]</div><div class='del'>-</div><div class='del'>-Wed Sep  4 14:08:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, compile.c, eval.c, gc.h, insns.def, internal.h, method.h,</div><div class='del'>-	  variable.c, vm.c, vm_core.c, vm_insnhelper.c, vm_insnhelper.h,</div><div class='del'>-	  vm_method.c: Implement class hierarchy method cache invalidation.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:55053] [Feature #8426] [GH-387]</div><div class='del'>-</div><div class='del'>-Wed Sep  4 11:13:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_gsub): use BEG(0) for whole matched position not</div><div class='del'>-	  return value from rb_reg_search(), for \K matching.</div><div class='del'>-	  [ruby-dev:47694] [Bug #8856]</div><div class='del'>-</div><div class='del'>-Wed Sep  4 11:11:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (SOLIBS): LIBRUBY_SO also needs linking with gmp, to</div><div class='del'>-	  run worker processes in test-all on non-ELF platforms.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 23:01:41 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parser/test_tree.rb</div><div class='del'>-	  (TestTreeParser::TestInvalid#test_unmatched_close_tag):</div><div class='del'>-	  Compute expected value from test value.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 22:59:58 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):</div><div class='del'>-	  Add source information to parse exception on no close tag error.</div><div class='del'>-	  [Bug #8844]  [ruby-dev:47672]</div><div class='del'>-	  Patch by Ippei Obayashi. Thanks!!!</div><div class='del'>-	* test/rexml/parser/test_tree.rb: Add a test for the above case.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 22:57:57 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parser/test_tree.rb: Fix test name to describe test</div><div class='del'>-	  content.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 22:54:46 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):</div><div class='del'>-	  Remove needless nested parse exception information.</div><div class='del'>-	  [Bug #8844]  [ruby-dev:47672]</div><div class='del'>-	  Reported by Ippei Obayashi. Thanks!!!</div><div class='del'>-	* test/rexml/parser/test_tree.rb: Add a test for the above case.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 22:03:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_new_cstr): new function to create a string from</div><div class='del'>-	  the C-string pointer with the specified encoding.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 21:41:37 2013  Akira Matsuda  &lt;ronnie@dio.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): Make Module#include and Module#prepend public</div><div class='del'>-	  [Feature #8846]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (class TestModule): Test for above</div><div class='del'>-</div><div class='del'>-Tue Sep  3 21:35:19 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (sys/dyntune.h): for gettune().</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (hpux_attr_getstackaddr): fix missing *.</div><div class='del'>-	  [ruby-core:56983] [Feature #8793]</div><div class='del'>-</div><div class='del'>-Tue Sep  3 20:12:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (GMP_STR2BIG_DIGITS): New macro.</div><div class='del'>-	  (str2big_gmp): New function.</div><div class='del'>-	  (rb_cstr_to_inum): Use str2big_gmp for big bignums.</div><div class='del'>-	  (rb_str2big_gmp): New function.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_str2big_gmp): Declared.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 19:44:40 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry#values): added.</div><div class='del'>-	  [Feature #7763] [ruby-core:51783]</div><div class='del'>-</div><div class='del'>-Tue Sep  3 18:26:00 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/inf-ruby.el (inf-ruby-keys, run-ruby): Add magic autoload</div><div class='del'>-	  comments.</div><div class='del'>-</div><div class='del'>-	* misc/rdoc-mode.el (rdoc-mode): Ditto.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-mode): Ditto.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-style.el (ruby-style-c-mode): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 17:06:15 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb</div><div class='del'>-	  (TestRubyOptions::SEGVTest::ExpectedStderr): the URL was changed at</div><div class='del'>-	  r42800.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 14:48:25 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: [DOC] CV#wait typo by @avdi [Fixes GH-386]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/386</div><div class='del'>-</div><div class='del'>-Tue Sep  3 14:37:53 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: [DOC] Update bug tracker url by @ScotterC [Fixes GH-390]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/390</div><div class='del'>-</div><div class='del'>-Tue Sep  3 12:45:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str2big_poweroftwo): New function.</div><div class='del'>-	  (rb_str2big_normal): Ditto.</div><div class='del'>-	  (rb_str2big_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_str2big_poweroftwo): Declared.</div><div class='del'>-	  (rb_str2big_normal): Ditto.</div><div class='del'>-	  (rb_str2big_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/str2big.c: New file.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bignum/test_str2big.rb: New file.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/depend: Add the dependency for str2big.c.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 12:09:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): Support times() based monotonic clock.</div><div class='del'>-	  (rb_clock_getres): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 12:03:02 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (str2big_scan_digits): Extracted from rb_cstr_to_inum.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 11:23:57 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select_with_thread): rounding up the fraction of</div><div class='del'>-	  tv_usec instead of rounding down.</div><div class='del'>-	  this change is an experiment to get rid of failures on vc10-x64 CI.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 11:00:28 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (do_select): constify timeout.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_select_with_thread): constify 10ms wait and</div><div class='del'>-	  0ms wait structs.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 10:03:42 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb</div><div class='del'>-	  (OpenSSL::TestPair#test_write_nonblock_no_exceptions): on some CIs</div><div class='del'>-	  such as Debian 6.0, Ubuntu 10.04, CentOS and vc10-x64 (maybe depend</div><div class='del'>-	  on OpenSSL version), writing to SSLSocket after SSL_ERROR_WANT_WRITE</div><div class='del'>-	  causes SSL_ERROR_SSL "bad write retry".</div><div class='del'>-</div><div class='del'>-Tue Sep  3 08:20:46 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/utf8_mac-tbl.rb: update conversion table to recent OS X.</div><div class='del'>-	  Previous table is used on Mac OS X 10.1 or prior.</div><div class='del'>-	  This table is used on 10.2 or later. [ruby-dev:47680]</div><div class='del'>-</div><div class='del'>-Tue Sep  3 07:49:25 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (NUM_STEP_SCAN_ARGS): On second thought, keep</div><div class='del'>-	  Numeric#step backward compatible in that it raises TypeError</div><div class='del'>-	  when nil is given as second argument.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat#test_num2dbl): Revert.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (TestNumeric#test_step): Fix test</div><div class='del'>-	  cases for the above change.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 07:39:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bytes_2comp): Define it only for little endian</div><div class='del'>-	  environment.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 07:31:29 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (NUM_STEP_SCAN_ARGS): Numeric#step should raise</div><div class='del'>-	  TypeError if a non-numeric parameter is given.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb (TestFloat#test_num2dbl): Allow nil as</div><div class='del'>-	  step, as with the keyword argument.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (TestNumeric#test_step): Add tests for</div><div class='del'>-	  nil as step or limit.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 07:28:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (bit_length): Add casts to fix compilation error with</div><div class='del'>-	  clang 3.0 -Werror,-Wshorten-64-to-32.</div><div class='del'>-	  [ruby-dev:47687] reported by SASADA Koichi.</div><div class='del'>-</div><div class='del'>-Tue Sep  3 03:17:26 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): use ci-&gt;argc instead of</div><div class='del'>-	  ci-&gt;orig_argc. ci-&gt;argc can be changed by splat arguments.</div><div class='del'>-	  [ruby-list:49575]</div><div class='del'>-	  This fix should be applied to Ruby 2.0.0 series.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 23:46:29 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step): Default the limit argument to infinity and</div><div class='del'>-	  allow it to be omitted.  Keyword arguments (by: and to:) are</div><div class='del'>-	  introduced for ease of use. [Feature #8838] [ruby-dev:47662]</div><div class='del'>-	  [ruby-dev:42194]</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step): Optimize for infinite loop.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 22:55:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (ISDIGIT): Unused macro removed.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 22:49:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (str2big_poweroftwo): Extracted from rb_cstr_to_inum.</div><div class='del'>-	  (str2big_normal): Ditto.</div><div class='del'>-	  (str2big_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 14:39:29 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (Process#setproctitle): [DOC] Fix and improve rdoc.</div><div class='del'>-</div><div class='del'>-	* ruby.c (Process#argv0): [DOC] Improve rdoc.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 14:15:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: fix description of number literal suffixes.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 14:01:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rake/test_rake_rules.rb: add space after string literal to</div><div class='del'>-	  prevent conflict with string options syntax "foo"opts</div><div class='del'>-</div><div class='del'>-	* test/rss/rss-assertions.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Sep  2 12:28:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb (test_interrupt_during_to_s): Disable it</div><div class='del'>-	  when GMP is used.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 07:02:10 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): Define Bignum::GMP_VERSION when GMP is used.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 01:46:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_generic): Reduce arguments.</div><div class='del'>-	  (big2str_gmp): Ditto.</div><div class='del'>-	  (rb_big2str1): Follow the above change.</div><div class='del'>-</div><div class='del'>-Mon Sep  2 00:08:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (get_mach_timebase_info): Extracted from rb_clock_gettime.</div><div class='del'>-	  (rb_clock_gettime): Use get_mach_timebase_info.</div><div class='del'>-	  (rb_clock_getres): Support MACH_ABSOLUTE_TIME_BASED_CLOCK_MONOTONIC.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 23:30:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (GMP_BIG2STR_DIGITS): New constant.</div><div class='del'>-	  (big2str_gmp): New function.</div><div class='del'>-	  (rb_big2str1): Use big2str_gmp for big bignums.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big2str_gmp): Declared.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/big2str.c (big2str_gmp): New method.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 22:37:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_gmp): Use mpz_init and mpz_clear instead of</div><div class='del'>-	  mpz_inits and mpz_clears.</div><div class='del'>-	  Older GMP don't have them.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 21:17:54 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (test_bind_to_local_port): Choose an open</div><div class='del'>-	  port more reliably.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 20:32:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_base_poweroftwo): Renamed from</div><div class='del'>-	  big2str_base_powerof2.</div><div class='del'>-	  (rb_big2str_poweroftwo): New function for test.</div><div class='del'>-	  (big2str_generic): Extracted from rb_big2str1.</div><div class='del'>-	  (rb_big2str_generic): New function for test.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big2str_poweroftwo): Declared.</div><div class='del'>-	  (rb_big2str_generic): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/big2str.c: New file.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bignum/test_big2str.rb: New file.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 15:21:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_2bdigits): Renamed from big2str_orig.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 13:02:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Remove BITSPERDIG &gt;= INT_MAX test.  The static assertion,</div><div class='del'>-	  SIZEOF_BDIGITS &lt;= sizeof(BDIGIT) is enough.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 11:38:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (maxpow_in_bdigit): Removed.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 10:30:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix_bit_length): Moved from bignum.c.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 09:55:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (bit_length): Moved from bignum.c.</div><div class='del'>-	  (nlz_int): Ditto.</div><div class='del'>-	  (nlz_long): Ditto.</div><div class='del'>-	  (nlz_long_long): Ditto.</div><div class='del'>-	  (nlz_int128): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 03:32:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bit_length): Renamed from bitsize.</div><div class='del'>-</div><div class='del'>-Sun Sep  1 00:07:09 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_bit_length): New method.</div><div class='del'>-	  (rb_fix_bit_length): Ditto.</div><div class='del'>-	  [ruby-core:56247] [Feature #8700]</div><div class='del'>-</div><div class='del'>-Sat Aug 31 22:18:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_getres): New method.</div><div class='del'>-	  (timetick2dblnum_reciprocal): New function.</div><div class='del'>-</div><div class='del'>-	* configure.in: Check clock_getres.</div><div class='del'>-</div><div class='del'>-	[ruby-core:56780] [Feature #8809] accepted as a CRuby feature at</div><div class='del'>-	DevelopersMeeting20130831Japan</div><div class='del'>-	https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130831Japan</div><div class='del'>-</div><div class='del'>-Sat Aug 31 21:02:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Use GMP to accelerate big Bignum multiplication.</div><div class='del'>-	  (bary_mul_gmp): New function.</div><div class='del'>-	  (bary_mul): Use bary_mul_gmp.</div><div class='del'>-	  (bigsq): Use different threshold with GMP.</div><div class='del'>-</div><div class='del'>-	* configure.in: Detect GMP.</div><div class='del'>-</div><div class='del'>-	[ruby-core:56658] [Feature #8796]</div><div class='del'>-</div><div class='del'>-Sat Aug 31 15:03:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_MATCH3): pass CALL_INFO to opt_regexpmatch2</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_regexpmatch2): use CALL_SIMPLE_METHOD to call =~ if</div><div class='del'>-	  the receiver is not a T_STRING [Bug #8847] [ruby-core:56916]</div><div class='del'>-</div><div class='del'>-Sat Aug 31 14:07:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (random_bytes): Use Process.clock_gettime.</div><div class='del'>-</div><div class='del'>-Sat Aug 31 00:25:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_{ascii8bit,utf8,usascii}_encindex): get</div><div class='del'>-	  rid of conflict with macros defined in internal.h.</div><div class='del'>-</div><div class='del'>-Fri Aug 30 22:37:57 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_init_stack): wait the creator thread</div><div class='del'>-	  to fill machine stack info, if get_stack_of() is available.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_create): fill the created thread</div><div class='del'>-	  stack info after starting, if get_stack_of() is available.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_thread_create): define attr only if it is</div><div class='del'>-	  used, and merge pthread_create() calls.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (get_main_stack): separate function to get stack of</div><div class='del'>-	  main thread.</div><div class='del'>-</div><div class='del'>-Thu Aug 29 18:05:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_define_without_accessor_under): added.</div><div class='del'>-	  This function is similar to rb_define_class_under() against</div><div class='del'>-	  rb_define_class().</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: add a declaration of this function.</div><div class='del'>-</div><div class='del'>-Thu Aug 29 17:03:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): a method entry refers the based</div><div class='del'>-	  class/module, so should search superclass from the origin i-class</div><div class='del'>-	  where the entry belongs to, to get rid of infinite loop when zsuper</div><div class='del'>-	  in a prepended class/module.  [ruby-core:54105] [Bug #8238]</div><div class='del'>-</div><div class='del'>-Thu Aug 29 05:35:58 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_run):  Fix handling of deflate streams that</div><div class='del'>-	  need a dictionary but are being decompressed by Zlib::Inflate.inflate</div><div class='del'>-	  (which has no option to set a dictionary).  Now Zlib::NeedDict is</div><div class='del'>-	  raised instead of crashing.  [ruby-trunk - Bug #8829]</div><div class='del'>-	* test/zlib/test_zlib.rb (TestZlibInflate):  Test for the above.</div><div class='del'>-</div><div class='del'>-Thu Aug 29 02:40:45 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: invalid floats should be</div><div class='del'>-	  treated as strings.</div><div class='del'>-	  https://github.com/tenderlove/psych/issues/156</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: test for change</div><div class='del'>-</div><div class='del'>-Wed Aug 28 17:20:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (hpux_attr_getstackaddr): basic support for the</div><div class='del'>-	  get_stack() under HP-UX.  based on the patch by michal@rokos.cz</div><div class='del'>-	  (Michal Rokos) at [ruby-core:56645].  [Feature #8793]</div><div class='del'>-</div><div class='del'>-Wed Aug 28 11:24:20 2013  Michal Rokos  &lt;michal@rokos.cz&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (sys/pstat.h): fix missing header check for</div><div class='del'>-	  missing/setproctitle.c on HP-UX.  [ruby-core:56644] [Bug #8792]</div><div class='del'>-</div><div class='del'>-Wed Aug 28 04:54:33 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read):  Replace duplicate</div><div class='del'>-	  wait_writable with wait_readable.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 17:18:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): skip rescue clause only when no</div><div class='del'>-	  exception class is given.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 17:02:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): should write in binary mode.  based on a</div><div class='del'>-	  patch by godfat (Lin Jen-Shin) at [ruby-core:56556].</div><div class='del'>-	  [ruby-core:56518] [Bug #8767]</div><div class='del'>-</div><div class='del'>-Tue Aug 27 17:02:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): move common open flags.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 16:56:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_size): use rb_check_funcall() instead of</div><div class='del'>-	  respond_to? and call.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_each): ensure that argument array size</div><div class='del'>-	  does not overflow at appending.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 16:46:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_index, rb_ary_rindex): use optimized equality to</div><div class='del'>-	  improve performance.  [Feature #8820]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_equal_opt): optimized equality function.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 16:11:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (opt_eq_func): use RBASIC_CLASS() instead of HEAP_CLASS_OF().</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_plus, opt_minus, opt_mult, opt_div, opt_mod, opt_lt),</div><div class='del'>-	  (opt_gt, opt_ltlt, opt_aref, opt_aset, opt_length, opt_size),</div><div class='del'>-	  (opt_empty_p, opt_succ): ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 16:08:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_funcall, rb_check_funcall_with_hook): constify</div><div class='del'>-	  argv.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 13:03:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_read_nonblock): declare local</div><div class='del'>-	  variables at the first of function.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 11:51:37 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Allow Enumerator size argument to be any callable.</div><div class='del'>-	  Patch by Avdi Grimm. [bug #8641] [ruby-core:56032] [fix GH-362]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb: Test for above</div><div class='del'>-</div><div class='del'>-Tue Aug 27 11:46:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_clear): do rest_sweep() before clearing</div><div class='del'>-	  profile.current_record.</div><div class='del'>-</div><div class='del'>-Tue Aug 27 07:35:05 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read_nonblock): support non-blocking reads without raising</div><div class='del'>-	  exceptions. As in: `io.read_nonblock(size, exception: false)`</div><div class='del'>-	  [ruby-core:38666] [Feature #5138]</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): ditto</div><div class='del'>-	* ext/stringio/stringio.c (strio_sysread): ditto</div><div class='del'>-	* io.c (rb_io_write_nonblock): support non-blocking writes without</div><div class='del'>-	  raising an exception.</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): ditto</div><div class='del'>-	* test/openssl/test_pair.rb (class OpenSSL): tests</div><div class='del'>-	* test/ruby/test_io.rb (class TestIO): ditto</div><div class='del'>-	* test/socket/test_nonblock.rb (class TestSocketNonblock): ditto</div><div class='del'>-	* test/stringio/test_stringio.rb (class TestStringIO): ditto</div><div class='del'>-</div><div class='del'>-Tue Aug 27 05:24:34 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems 2.1.0 Release Candidate</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 26 16:24:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_nextc): warn carriage return in middle of line.</div><div class='del'>-	  [ruby-core:56240] [Feature #8699]</div><div class='del'>-</div><div class='del'>-Mon Aug 26 15:27:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): should not be caught by rescue</div><div class='del'>-	  clause.  [Bug #8730]</div><div class='del'>-</div><div class='del'>-Mon Aug 26 14:44:26 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_splice): use RARRAY_PTR_USE() without WB because</div><div class='del'>-	  there are not new relations.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (setup_struct): use RARRAY_RAWPTR().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (yield_under): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_entries): use RARRAY_AREF().</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_s_glob): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 26 13:11:10 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_push): fix typo in r42658.</div><div class='del'>-</div><div class='del'>-Mon Aug 26 12:37:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/sizes.c.tmpl: generate automatically by extracting</div><div class='del'>-	  RUBY_CHECK_SIZEOF from configure.in.</div><div class='del'>-</div><div class='del'>-Mon Aug 26 10:16:59 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (gcd_timetick_int): Renamed from gcd_timtick_int.</div><div class='del'>-</div><div class='del'>-Sun Aug 25 21:02:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sizes.c (Init_sizes): Define the size of clock_t.</div><div class='del'>-</div><div class='del'>-Sun Aug 25 01:47:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BARY_SHORT_MUL): Renamed from BARY_MUL1.</div><div class='del'>-	  (bary_short_mul): Renamed from bary_mul1.</div><div class='del'>-</div><div class='del'>-Sat Aug 24 10:35:09 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): The emulated clock names changed.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 22:22:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): Add a cast to fix compile error by</div><div class='del'>-	  -Werror,-Wshorten-64-to-32.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 22:12:13 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_intern): no symbol cache while initialization.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 22:07:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (clock_t): needs time.h.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 21:37:28 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (reduce_factors): New function.</div><div class='del'>-	  (timetick2dblnum): Use reduce_factors.</div><div class='del'>-	  (timetick2integer): Ditto.</div><div class='del'>-	  (make_clock_result): Follow the above change.</div><div class='del'>-	  (rb_clock_gettime): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 21:00:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (timetick_int_t): Renamed from timetick_giga_count_t.</div><div class='del'>-	  (gcd_timtick_int): Renamed from gcd_ul and make the arguments</div><div class='del'>-	  timetick_giga_count_t.</div><div class='del'>-	  (reduce_fraction): Make the arguments timetick_int_t.</div><div class='del'>-	  (timetick2integer): Ditto.</div><div class='del'>-	  (make_clock_result): Ditto.</div><div class='del'>-	  (timetick2dblnum): Fix the return type.</div><div class='del'>-	  (rb_clock_gettime): Use timetick_int_t.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 20:50:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (gcd_ul): New function.</div><div class='del'>-	  (reduce_fraction): Ditto.</div><div class='del'>-	  (reduce_fraction): Ditto.</div><div class='del'>-	  (timetick2dblnum): Ditto.</div><div class='del'>-	  (timetick2integer): Ditto.</div><div class='del'>-	  (make_clock_result): Use timetick2dblnum and timetick2integer.</div><div class='del'>-	  (rb_clock_gettime): Follow the make_clock_result change.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 18:39:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): shared ary as shady. Need more effort to</div><div class='del'>-	  make it normal object.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): use RARRAY_PTR_USE() without WB because</div><div class='del'>-	  there are not new relations.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_unshift): use RARRAY_RAWPTR() because</div><div class='del'>-	  there are not new relations.</div><div class='del'>-</div><div class='del'>-Fri Aug 23 11:25:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: introduce ARY_SHARED_OCCUPIED(shared).</div><div class='del'>-</div><div class='del'>-Fri Aug 23 11:07:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): now SIZEOF_CLOCK_T is needed for</div><div class='del'>-	  unsigned_clock_t.</div><div class='del'>-</div><div class='del'>-Thu Aug 22 22:01:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): Strip "s" from unit names.</div><div class='del'>-</div><div class='del'>-Thu Aug 22 20:14:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (unsigned_clock_t): Defined.</div><div class='del'>-	  (rb_clock_gettime): Consider clock_t overflow for</div><div class='del'>-	  ISO_C_CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID.</div><div class='del'>-</div><div class='del'>-	* configure.in: Check the size of clock_t.</div><div class='del'>-</div><div class='del'>-Thu Aug 22 16:22:48 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (build_postexe_iseq): fix to setup the local table.</div><div class='del'>-</div><div class='del'>-Thu Aug 22 15:42:43 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile_node): accept NODE_IFUNC to support</div><div class='del'>-	  custom compilation.</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_POSTEXE): compile to</div><div class='del'>-	  "ONCE{ VMFrozenCore::core#set_postexe{...} }" with a new custom</div><div class='del'>-	  compiler `build_postexe_iseq()'.</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_set_postexe): remove parameters (passed by a block).</div><div class='del'>-</div><div class='del'>-Thu Aug 22 06:54:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): Change emulation symbols for</div><div class='del'>-	  Process.clock_gettime.</div><div class='del'>-</div><div class='del'>-Thu Aug 22 06:24:54 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (make_clock_result): Extracted from rb_clock_gettime.</div><div class='del'>-</div><div class='del'>-Wed Aug 21 22:30:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): clock() based CLOCK_PROCESS_CPUTIME_ID</div><div class='del'>-	  emulation implemented.</div><div class='del'>-</div><div class='del'>-Wed Aug 21 21:02:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_times): Use RB_GC_GUARD to guard objects from GC.</div><div class='del'>-</div><div class='del'>-Wed Aug 21 20:33:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (get_clk_tck): Extracted from rb_proc_times.</div><div class='del'>-	  (rb_clock_gettime): times() based CLOCK_PROCESS_CPUTIME_ID emulation</div><div class='del'>-	  is implemented.</div><div class='del'>-</div><div class='del'>-Wed Aug 21 19:31:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: POSIX_GETTIMEOFDAY_CLOCK_REALTIME is renamed to</div><div class='del'>-	  SUS_GETTIMEOFDAY_CLOCK_REALTIME.</div><div class='del'>-</div><div class='del'>-Wed Aug 21 19:17:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): CLOCK_PROCESS_CPUTIME_ID emulation</div><div class='del'>-	  using getrusage is implemented.</div><div class='del'>-</div><div class='del'>-Wed Aug 21 17:34:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (getrusage_time): Fallback clock_gettime to getrusage when</div><div class='del'>-	  clock_gettime fails.</div><div class='del'>-	  Reported by Eric Saxby.  [ruby-core:56762] [Bug #8805]</div><div class='del'>-</div><div class='del'>-Wed Aug 21 02:32:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: fix regexp's once option behavior.</div><div class='del'>-	  fix [ruby-trunk - Bug #6701]</div><div class='del'>-</div><div class='del'>-	* insns.def: remove `onceinlinecache' and introduce `once' instruction.</div><div class='del'>-	  `once' doesn't use `setinlinecache' insn any more.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: `union iseq_inline_storage_entry' to store once data.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up above changes.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c: ditto. fix `m_core_set_postexe()' which</div><div class='del'>-	  is depend on `onceinlinecache' insn.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: add tests.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ISEQ_MINOR_VERSION to 1 (should increment major?)</div><div class='del'>-</div><div class='del'>-Wed Aug 21 02:30:15 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gcdebug_print_obj_condition): add printing information.</div><div class='del'>-</div><div class='del'>-Tue Aug 20 13:38:00 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb: skip TestGDBM#test_s_open_lock on Solaris.</div><div class='del'>-	  On Solaris (and platforms which do not have flock and have lockf),</div><div class='del'>-	  with GDBM 1.10, gdbm_open(3) blocks when opening already locked</div><div class='del'>-	  gdbm file. [Bug #8790] [ruby-dev:47631]</div><div class='del'>-</div><div class='del'>-Tue Aug 20 02:32:52 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/: [DOC] Document Test::Unit, hide most submodules and</div><div class='del'>-	  classes from rdoc. Since lib/test is only present as a compatibility</div><div class='del'>-	  layer with the legacy test suite many test/unit users will be using</div><div class='del'>-	  minitest or the test/unit gem instead. It is recommended to use one</div><div class='del'>-	  of these alternatives for writing new tests.</div><div class='del'>-</div><div class='del'>-	  This patch was based on a patch submitted by Steve Klabnik.</div><div class='del'>-	  [ruby-core:56694] [Bug #8778]</div><div class='del'>-</div><div class='del'>-Tue Aug 20 02:10:19 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb: [DOC] Document for constants by Steve Klabnik</div><div class='del'>-	  [ruby-core:56705] [Bug #8798]</div><div class='del'>-</div><div class='del'>-Tue Aug 20 02:01:10 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/xmlparser.rb: [DOC] Hide legacy constant from rdoc</div><div class='del'>-	  Patch by Steve Klabnik [ruby-core:56708] [Bug #8799]</div><div class='del'>-</div><div class='del'>-Tue Aug 20 01:52:05 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixserver.c: [DOC] Document #accept</div><div class='del'>-	* ext/socket/tcpserver.c: ditto</div><div class='del'>-	* ext/socket/udpsocket.c: [DOC] Fix indentation of documentation</div><div class='del'>-	* ext/socket/socket.c: ditto</div><div class='del'>-	  Patches by David Rodr'iguez [ruby-core:56734] [Bug #8802]</div><div class='del'>-</div><div class='del'>-Tue Aug 20 01:19:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Define ac_cv_func_clock_gettime to yes for mingw*.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 21:31:35 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: Fix a compilation error with</div><div class='del'>-	  i586-mingw32msvc-gcc of gcc-mingw32 package on Debian squeeze.</div><div class='del'>-	  ruby/missing.h should be included before include/ruby/win32.h</div><div class='del'>-	  because struct timespec, used in the clock_gettime declaration in</div><div class='del'>-	  include/ruby/win32.h, is defined in ruby/missing.h instead of</div><div class='del'>-	  system headers.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 20:55:12 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix around GC_DEBUG.</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE::line): should be VALUE. On some environment</div><div class='del'>-	  (such as mswin64), `int' introduces alignment mismatch.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): add an assertion to check VALUE alignment.</div><div class='del'>-</div><div class='del'>-	* gc.c (aligned_malloc): `&amp;' is low priority than `=='.</div><div class='del'>-</div><div class='del'>-	* gc.c: define GC_DEBUG everytime and use it as value 0 or 1.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 17:43:44 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb: collect garbage fibers immediately.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 17:41:49 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/profile_test_all.rb: add `failed?' information.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 17:00:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork): retry with GC if ENOMEM occurred, to free</div><div class='del'>-	  swap/kernel space.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 13:28:47 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (CLOCK_MONOTONIC): typo.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: removed duplicated declarations.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 13:03:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (clock_gettime): should not overwrite cache variable</div><div class='del'>-	  with different condition.  otherwise -lrt is not linked and the link</div><div class='del'>-	  fails, after reconfig.</div><div class='del'>-</div><div class='del'>-Mon Aug 19 12:56:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): Add constants: CLOCK_REALTIME_ALARM and</div><div class='del'>-	  CLOCK_BOOTTIME_ALARM.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 20:17:41 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c, vm_method.c: remove dead code.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fiber.rb, test/ruby/test_thread.rb:</div><div class='del'>-	  change accordingly.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 19:32:26 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c, file.c, gc.c, hash.c, thread.c, variable.c, vm_eval.c, bin/erb:</div><div class='del'>-	  $SAFE=4 is obsolete.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 14:30:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): Rename POSIX_TIME_CLOCK_REALTIME to</div><div class='del'>-	  ISO_C_TIME_CLOCK_REALTIME.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 14:22:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Revert r42604.  It causes linking librt on systems</div><div class='del'>-	  with newer glibc uselessly.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 13:18:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): Add constants: CLOCK_REALTIME_COARSE,</div><div class='del'>-	  CLOCK_MONOTONIC_COARSE and CLOCK_BOOTTIME.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 12:41:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (clock_gettime): need to check with -lrt prior to check</div><div class='del'>-	  for the function only.  otherwise -lrt is not linked and the link</div><div class='del'>-	  fails, when ac_cv_func_clock_gettime is cached as yes.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 10:05:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Make an expression more explicit.</div><div class='del'>-</div><div class='del'>-Sun Aug 18 03:18:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Use power_level instead of bitsize(xn).</div><div class='del'>-</div><div class='del'>-Sun Aug 18 00:44:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BIGDIVREM_EXTRA_WORDS): Redefine to 1.</div><div class='del'>-	  (bigdivrem_num_extra_words): Removed.</div><div class='del'>-	  (bigdivrem_normal): Simplified.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug 17 23:25:19 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: use the in_timezone() helper</div><div class='del'>-	  and define it at the top with other helpers.</div><div class='del'>-</div><div class='del'>-Sat Aug 17 22:20:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): ignore auxiliary data, offset and zone, if</div><div class='del'>-	  invalid.  [ruby-core:56648] [Bug #8795]</div><div class='del'>-</div><div class='del'>-Sat Aug 17 20:11:49 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: [DOC] MACH_ABSOLUTE_TIME_CLOCK_MONOTONIC is an</div><div class='del'>-	  available emulation for a monotonic clock on Darwin.</div><div class='del'>-	  https://developer.apple.com/library/mac/qa/qa1398/_index.html</div><div class='del'>-</div><div class='del'>-Fri Aug 16 18:12:05 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/profile_test_all.rb: fix typo.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 18:09:20 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/profile_test_all.rb: remove space characters from test names.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 17:32:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/profile_test_all.rb: refactoring memory profiling tool for</div><div class='del'>-	  test-all.</div><div class='del'>-	  Add profiling targets /proc/meminfo and /proc/self/status.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: accept other than 'true'.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 11:23:35 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_size, rb_file_flock): improve performance of Windows.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): removed unnecessary #ifdef.</div><div class='del'>-</div><div class='del'>-	* test/test_file.rb (TestFile#test_truncate_size): added an assertion</div><div class='del'>-	  for File#size.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 10:07:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_single1): Renamed from bigdivrem_single.  Add</div><div class='del'>-	  x_higher_bdigit argument.</div><div class='del'>-	  (bigdivrem_single): Just call bigdivrem_single1.</div><div class='del'>-	  (bigdivrem_restoring): Use bigdivrem_single1 to avoid memmove.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 09:17:00 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_small_rshift): Specify the higher BDIGIT instead of</div><div class='del'>-	  sign bit.</div><div class='del'>-	  (big_shift3): Follow the above change.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 02:20:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_toom3): Reduce a branch.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 02:14:09 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): add CLOCK_MONOTONIC support on OS X.</div><div class='del'>-	  http://developer.apple.com/library/mac/qa/qa1398/_index.html</div><div class='del'>-	  [Feature #8658]</div><div class='del'>-</div><div class='del'>-Fri Aug 16 01:37:43 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_single): Use shift when y is a power of two.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 01:09:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_restoring): Use bigdivrem_single if non-topmost</div><div class='del'>-	  BDIGITs of y are zero.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 00:33:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Truncate topmost zeros of x.</div><div class='del'>-</div><div class='del'>-Fri Aug 16 00:00:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_divmod): Simplify an expression.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 23:26:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_normal): Remove a local variable.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 23:08:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): Use bigdivrem_restoring directly to</div><div class='del'>-	  reduce working buffer and memory copy.</div><div class='del'>-	  (rb_big2str1): Allocate working buffer for big2str_karatsuba here.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 20:51:29 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c, internal.h (rb_io_flush_raw): new function to select calling</div><div class='del'>-	  fsync() (on Windows).</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flush_raw): use above function.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_truncate): use above function.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile#test_truncate_size): test for</div><div class='del'>-	  above changes.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 18:39:31 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (clock_gettime): improve precision when freq is less</div><div class='del'>-	  than and nearly equals 10**9.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 17:43:15 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_lazy_sweep): remove heap_increment() here because heap_inc</div><div class='del'>-	  may be 0.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 16:59:56 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_rewind): remove fsync() for Windows to improve the</div><div class='del'>-	  performance.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 16:30:23 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#test_rmdir):</div><div class='del'>-	  FileUtils.rmdir ignores Errno::ENOTEMPTY, so, in such cases, this</div><div class='del'>-	  assertion is nonsense.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 15:49:35 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): [DOC] FreeBSD 7.1 supports</div><div class='del'>-	  CLOCK_THREAD_CPUTIME_ID.</div><div class='del'>-	  http://www.freebsd.org/releases/7.1R/relnotes.html</div><div class='del'>-</div><div class='del'>-Thu Aug 15 14:30:23 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/Makefile.sub, win32/win32.c</div><div class='del'>-	  (clock_gettime): [experimental] emulates clock_gettime(2) of posix.</div><div class='del'>-</div><div class='del'>-Thu Aug 15 02:32:40 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): [DOC] Document key dup patch by @kachick</div><div class='del'>-	  [Fixes GH-382] https://github.com/ruby/ruby/pull/382</div><div class='del'>-</div><div class='del'>-Wed Aug 14 14:28:39 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): now they return the symbols of the</div><div class='del'>-	  defined methods, not the methods/procs themselves.</div><div class='del'>-	  [ruby-dev:42151] [Feature #3753]</div><div class='del'>-</div><div class='del'>-	* NEWS: documents about above change and def-expr (see r42337).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: tests about above change.</div><div class='del'>-</div><div class='del'>-Wed Aug 14 00:51:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_restoring): xn argument removed.</div><div class='del'>-	  (bigdivrem_normal): Follow the above change.</div><div class='del'>-</div><div class='del'>-Wed Aug 14 00:18:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_div_struct): Remove xn and j field.  Add zn field.</div><div class='del'>-	  (bigdivrem1): Follow the above change.</div><div class='del'>-	  (bigdivrem_restoring): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 13 23:38:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_div_struct): ynzero field removed.</div><div class='del'>-	  (bigdivrem1): Follow the above change.</div><div class='del'>-	  (bigdivrem_restoring): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 13 23:01:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_restoring): Extracted from bigdivrem_normal.</div><div class='del'>-</div><div class='del'>-Tue Aug 13 22:12:59 2013  Kenichi Kamiya  &lt;kachick1@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_ulong_limited): coerce before check negative.</div><div class='del'>-	  [Fixes GH-379]</div><div class='del'>-</div><div class='del'>-Tue Aug 13 21:52:15 2013  Kenichi Kamiya  &lt;kachick1@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): undef Module#prepend_features on Class, as</div><div class='del'>-	  well as Module#append_features.  [Fixes GH-376]</div><div class='del'>-</div><div class='del'>-	* test_class.rb: Added test for above. And ensure type checking</div><div class='del'>-	  on similar methods as module_function.</div><div class='del'>-</div><div class='del'>-Tue Aug 13 08:52:18 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc: [DOC] String literal concat by @cknadler</div><div class='del'>-	  [Fixes GH-380] https://github.com/ruby/ruby/pull/380</div><div class='del'>-</div><div class='del'>-Mon Aug 12 23:07:21 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_test): inhibit gc for st's operation.</div><div class='del'>-</div><div class='del'>-Mon Aug 12 15:59:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_whole_match_p): treat CR in middle of a line as a</div><div class='del'>-	  mere whitespace.</div><div class='del'>-</div><div class='del'>-Mon Aug 12 15:16:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): make T_ICLASS object shady because</div><div class='del'>-	  this T_ICLASS object seems to share method table with other class</div><div class='del'>-	  objects. It was causes WB miss.</div><div class='del'>-	  TODO: need to know the data structure.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add a test for WB miss.</div><div class='del'>-</div><div class='del'>-Mon Aug 12 13:47:54 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: [DOC] RDoc formatting of Process.clock_gettime</div><div class='del'>-</div><div class='del'>-Mon Aug 12 13:29:09 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/dbm.rb: [DOC] Document call-seq for YAML::DBM</div><div class='del'>-</div><div class='del'>-Mon Aug 12 12:57:26 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/extconf.rb: [DOC] Hide from RDoc</div><div class='del'>-	  Some libraries might want to document extconf.rb so RDoc treats it</div><div class='del'>-	  like any other ruby program. However, DBM users shouldn't care about</div><div class='del'>-	  these methods.</div><div class='del'>-</div><div class='del'>-Mon Aug 12 12:53:39 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: [DOC] Reformat headings of DBM class</div><div class='del'>-</div><div class='del'>-Mon Aug 12 12:46:31 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb, lib/yaml/: [DOC] Document YAML::DBM#key and add</div><div class='del'>-	  references to similar methods with more detail. This patch brings</div><div class='del'>-	  lib/yaml to 100% documentation coverage.</div><div class='del'>-</div><div class='del'>-Mon Aug 12 02:51:32 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_input): on OS X with editline,</div><div class='del'>-	  Readline.readline doesn't work because readline_get doesn't use</div><div class='del'>-	  rl_getc. The difference is introduced by r42402 [ruby-dev:47509]</div><div class='del'>-	  [Bug #8644]. Before it rb_io_stdio_file set ifp-&gt;stdio_file.</div><div class='del'>-	  Therefore add manually setting the value.</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_output): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 23:27:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_encode_ospath): OS path encoding on Mac OS X is also</div><div class='del'>-	  fixed.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 22:57:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (assert_require_nonascii_path): OS path</div><div class='del'>-	  encoding on Windows is fixed, so encoding of __FILE__ should be it.</div><div class='del'>-	  [ruby-core:56498] [Bug #8764]</div><div class='del'>-</div><div class='del'>-Sun Aug 11 19:11:45 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parser/test_sax2.rb: Expand abbreviated class name.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 19:06:03 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/sax2listener.rb (REXML::SAX2Listener#notationdecl): Fix</div><div class='del'>-	  wrong number of arguments in the template listener.</div><div class='del'>-	  [Bug #8731] [ruby-dev:47582]</div><div class='del'>-	  Reported by Ippei Obayashi.</div><div class='del'>-	* test/rexml/parser/test_sax2.rb: Add tests for parsing notation</div><div class='del'>-	  declarations with SAX2 API.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 18:44:04 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/sax2listener.rb (REXML::SAX2Listener#elementdecl): Fix wrong</div><div class='del'>-	  examples. [Bug #8731] [ruby-dev:47582]</div><div class='del'>-	  Reported by Ippei Obayashi.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 18:42:13 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/sax2parser.rb</div><div class='del'>-	  (REXML::Parsers::SAX2Parser#handle_entitydecl): Extract.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 18:40:25 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):</div><div class='del'>-	  Fix wrong "%" position in parameter entity declaration event argument.</div><div class='del'>-	* test/rexml/parser/test_sax2.rb: Add tests for the above case.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 18:08:40 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):</div><div class='del'>-	  Support NDATA in external ID entity declaration.</div><div class='del'>-	* test/rexml/parser/test_sax2.rb: Add tests for the above case.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 18:07:39 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb</div><div class='del'>-	  (REXML::Parsers::BaseParser#pull_event): Support optional NDATA</div><div class='del'>-	  in external ID entity declaration.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 17:54:07 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (REXML::Parsers::SAX2Parser): Add about this change.</div><div class='del'>-	* lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):</div><div class='del'>-	  Fix wrong number of arguments. Document says "an array of the</div><div class='del'>-	  entity declaration" but it passes two or more arguments.</div><div class='del'>-	  This is a bug but it break backward compatibility.</div><div class='del'>-	  Reported by Ippei Obayashi. [Bug #8731] [ruby-dev:47582]</div><div class='del'>-	* lib/rexml/sax2listener.rb (REXML::SAX2Listener#entitydecl): ditto.</div><div class='del'>-	  The listener template accepted two arguments.</div><div class='del'>-	* test/rexml/parser/test_sax2.rb: Add tests for external ID case.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 17:41:41 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parser/test_sax2.rb: Add SAX2 API test.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 15:10:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname_type): allow ID_ATTRSET for ID_INSTANCE,</div><div class='del'>-	  ID_GLOBAL, ID_CLASS, ID_JUNK too.  [Bug #8756]</div><div class='del'>-</div><div class='del'>-Sun Aug 11 13:17:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: Reduce ENCODING_INLINE_MAX to 127 as this</div><div class='del'>-	  should be sufficient to represent all the encodings Ruby supports.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 11:54:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_clock_gettime): New method.</div><div class='del'>-	  This is accepted in the meeting:</div><div class='del'>-	  https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809</div><div class='del'>-	  This method is accepted as a CRuby feature.</div><div class='del'>-	  I.e. Other Ruby implementations don't need to implement it.</div><div class='del'>-	  [ruby-core:56087] [Feature #8658]</div><div class='del'>-</div><div class='del'>-Sun Aug 11 10:40:48 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: [DOC] Correcting rdoc visibility of time.rb constants</div><div class='del'>-	  Reported by Tanaka Akira [ruby-core:56517]</div><div class='del'>-</div><div class='del'>-Sun Aug 11 04:48:14 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_normalize_ospath):</div><div class='del'>-	  HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which</div><div class='del'>-	  U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through</div><div class='del'>-	  U+2FAFF are not decomposed (this avoids problems with round trip</div><div class='del'>-	  conversions from old Mac text encodings).</div><div class='del'>-	  http://developer.apple.com/library/mac/qa/qa1173/_index.html</div><div class='del'>-	  Therefore fix r42457 to exclude the range.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 03:26:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bitsize): Fix a conditional expression.</div><div class='del'>-</div><div class='del'>-Sun Aug 11 02:44:03 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: [DOC] Document constants by @markijbema [Fixes GH-377]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/377</div><div class='del'>-</div><div class='del'>-Sun Aug 11 01:28:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Revert r42458.</div><div class='del'>-	  It removes the HAVE_CLOCK_GETTIME from config.h.</div><div class='del'>-	  http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130809T044800Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Sat Aug 10 13:53:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id_attrset): allow other than ID_ATTRSET.</div><div class='del'>-</div><div class='del'>-	* parse.y (intern_str): ditto.  try stem ID for ID_INSTANCE,</div><div class='del'>-	  ID_GLOBAL, ID_CLASS, ID_JUNK too.  [Bug #8756]</div><div class='del'>-</div><div class='del'>-Sat Aug 10 12:49:50 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb</div><div class='del'>-	  (REXML::Parsers::BaseParser::CDATA_END): Use "\A" instead of "^".</div><div class='del'>-	  It is not an used constant but I fix it. (Or should I remove it?)</div><div class='del'>-</div><div class='del'>-Sat Aug 10 12:47:19 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser):</div><div class='del'>-	  Fix wrong constant name. "]&gt;" pattern match is the same but</div><div class='del'>-	  it is used for "&lt;!DOCTYPE" end mark not "&lt;![CDATA[" end mark.</div><div class='del'>-</div><div class='del'>-Sat Aug 10 12:43:15 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser):</div><div class='del'>-	  Use "\A" instead of "^" in document type declaration patterns</div><div class='del'>-	  because they are used as the head match in content not the head</div><div class='del'>-	  match in line. They don't cause any problems in the current code</div><div class='del'>-	  but it should be fixed.</div><div class='del'>-</div><div class='del'>-Sat Aug 10 12:39:00 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parse/test_document_type_declaration.rb: Add tests for</div><div class='del'>-	  parsing document type declaration.</div><div class='del'>-</div><div class='del'>-Sat Aug 10 12:00:45 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::SYSTEM):</div><div class='del'>-	  Fix loose "head" match regular expression. It doesn't cause any</div><div class='del'>-	  problem in the current code but it should be fixed because readers</div><div class='del'>-	  may confuse it.</div><div class='del'>-	  Patch by Ippei Obayashi. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sat Aug 10 11:58:24 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parse/test_notation_declaration.rb (#test_system_public):</div><div class='del'>-	  Add a test for PUBLIC notation and SYSTEM notation order case.</div><div class='del'>-</div><div class='del'>-Sat Aug 10 11:31:35 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::PUBLIC):</div><div class='del'>-	  Fix loose "head" match regular expression.</div><div class='del'>-	  [Bug #8701] [ruby-dev:47551]</div><div class='del'>-	  Patch by Ippei Obayashi. Thanks!!!</div><div class='del'>-	* test/rexml/parse/test_notation_declaration.rb (#test_system_public):</div><div class='del'>-	  Add a test for the above case.</div><div class='del'>-</div><div class='del'>-Sat Aug 10 09:20:21 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: [DOC] typo in example reported by @moretea</div><div class='del'>-	  https://github.com/ruby/ruby/commit/a39e724#commitcomment-3831489</div><div class='del'>-</div><div class='del'>-Sat Aug 10 09:19:04 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: [DOC] rdoc code formatting</div><div class='del'>-</div><div class='del'>-Sat Aug 10 09:12:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id_attrset): check if the argument is valid type as an</div><div class='del'>-	  attribute.</div><div class='del'>-</div><div class='del'>-Sat Aug 10 05:44:08 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb: [DOC] Hide RSS::Trackback from rdoc</div><div class='del'>-	  Patch by Steve Klabnik [Bug #8755] [ruby-core:56456]</div><div class='del'>-</div><div class='del'>-Sat Aug 10 04:52:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_div_struct): Use size_t.</div><div class='del'>-	  (bigdivrem1): Ditto.</div><div class='del'>-	  (bigdivrem_num_extra_words): Ditto.</div><div class='del'>-	  (bigdivrem_single): Ditto.</div><div class='del'>-	  (bigdivrem_normal): Ditto.</div><div class='del'>-	  (bary_divmod): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 23:47:15 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rexmlparser.rb: Remove needless REXML version check.</div><div class='del'>-	  Both RSS Parser and REXML are bundled in Ruby. RSS Parser can</div><div class='del'>-	  always use the latest REXML. [Bug #8754] [ruby-core:56454]</div><div class='del'>-	  Patch by Steve Klabnik. Thanks!!!</div><div class='del'>-</div><div class='del'>-Fri Aug  9 22:51:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XLDFLAGS, LIBRUBYARG_STATIC): CoreFoundation framework</div><div class='del'>-	  option is now needed always, regardless enable-shared.</div><div class='del'>-	  [ruby-core:56467] [Bug #8759]</div><div class='del'>-</div><div class='del'>-Fri Aug  9 22:20:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): use rb_parser_compile_string_path and</div><div class='del'>-	  rb_parser_compile_file_path, String path name versions.  [Bug #8753]</div><div class='del'>-</div><div class='del'>-Fri Aug  9 07:16:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c: delete redefinition of rb_cloexec_open.</div><div class='del'>-	  drop support for 1.8 and 1.9 from the next release of io-console gem.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 19:13:54 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: update about new methods for Binding.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 18:48:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: add Binding#local_variable_get/set/defined?</div><div class='del'>-	  to access local variables which a binding contains.</div><div class='del'>-	  Most part of implementation by nobu.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add a tests for above.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_core.h (rb_binding_add_dynavars): add a new function</div><div class='del'>-	  to add a new environment to create space for new local variables.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 14:02:01 2013  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: Fix order of priority for option parameter.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 12:06:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_normalize_ospath): normalize to Normalization Form C</div><div class='del'>-	  using CFString.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 10:53:57 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (get_timeval, get_new_timeval): use rb_obj_class()</div><div class='del'>-	  instead of CLASS_OF() because CLASS_OF() may return</div><div class='del'>-	  a singleton class.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 10:42:11 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_invoke_block): returning from lambda proc</div><div class='del'>-	  now always exits from the Proc. [ruby-core:56193] [Feature #8693]</div><div class='del'>-</div><div class='del'>-	* NEWS, test/ruby/test_lambda.rb: ditto. Patch by nobu.</div><div class='del'>-</div><div class='del'>-Fri Aug  9 00:10:32 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_zip_func): fix non-single argument.  fix</div><div class='del'>-	  out-of-bound access and pack multiple yielded values.</div><div class='del'>-	  [ruby-core:56383] [Bug #8735]</div><div class='del'>-</div><div class='del'>-Thu Aug  8 23:01:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_singleton_p): new method Module#singleton_class? to</div><div class='del'>-	  return whether the receiver is a singleton class or not.</div><div class='del'>-	  [ruby-core:51087] [Feature #7609]</div><div class='del'>-</div><div class='del'>-Thu Aug  8 21:56:44 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_overflow_p): Avoid signed integer overflow.</div><div class='del'>-	  (rb_time_new): Fix overflow condition.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 19:58:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_pending_interrupt_check_mask):</div><div class='del'>-	  use RARRAY_RAWPTR() instead of RARRAY_PTR() because</div><div class='del'>-	  there is no new reference.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 19:56:52 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_format_m): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR() because there is no new reference.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 19:55:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: define USE_RGENGC_LOGGING_WB_UNPROTECT.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 16:44:25 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add old macro name `RUBY_EVENT_SWITCH'.</div><div class='del'>-	  This macro name is obsolete because it is renamed to</div><div class='del'>-	  RUBY_INTERNAL_EVENT_SWITCH, but it has compatibility problem</div><div class='del'>-	  using this macro name like ruby-prof.</div><div class='del'>-	  I want to remove this macro after ruby 2.1.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 15:37:53 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb (TestCoverage#test_big_code): use `1'</div><div class='del'>-	  instead of `p' to get rid of a side effect.</div><div class='del'>-	  Kernel#p without any argument seems to do nothing, but flushes stdout.</div><div class='del'>-	  and, if stdout is redirected to file, fsync() will be called on</div><div class='del'>-	  Windows.  so, when running test-all on Windows with redirection, such</div><div class='del'>-	  as CI environment, this test took a lot of time.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 14:54:18 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add description of incompatibility introduced by r42396.</div><div class='del'>-	  [ruby-core:56329] [Bug #8722]</div><div class='del'>-</div><div class='del'>-Thu Aug  8 14:50:36 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (mini): portable target to build miniruby</div><div class='del'>-</div><div class='del'>-	* common.mk (bisect): run git-bisect with miniruby</div><div class='del'>-</div><div class='del'>-	* common.mk (bisect-ruby): run git-bisect with ruby</div><div class='del'>-</div><div class='del'>-	* tool/bisect.sh: script for git-bisect</div><div class='del'>-</div><div class='del'>-Thu Aug  8 12:11:43 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpresponse.rb (test_send_body_*_chunked): these</div><div class='del'>-	  expectations assumes that the IOs are binmode.  fixed test failures</div><div class='del'>-	  introduced at r42427 on Windows.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 10:27:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_last): revert r42400.  [Bug #8739]</div><div class='del'>-</div><div class='del'>-Thu Aug  8 10:26:25 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_normalize_ospath): extract and move from dir.c.</div><div class='del'>-</div><div class='del'>-Thu Aug  8 05:59:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Fix test for CVE-2013-4073.</div><div class='del'>-	  Patch by Antonio Terceiro. [Bug #8750] [ruby-core:56437]</div><div class='del'>-</div><div class='del'>-Thu Aug  8 03:37:38 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb:  Allow #body to be an IO-like object</div><div class='del'>-	  that responds to #readpartial and #read.</div><div class='del'>-	  [ruby-trunk - Feature #8155]</div><div class='del'>-	* NEWS:  NEWS for above</div><div class='del'>-	* test/webrick/test_httpresponse.rb:  Tests for above.</div><div class='del'>-</div><div class='del'>-Wed Aug  7 23:06:26 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (Process.argv0): New method to return the original value</div><div class='del'>-	  of $0. [Feature #8696]</div><div class='del'>-</div><div class='del'>-Wed Aug  7 23:05:55 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (Process.setproctitle): New method to change the title of</div><div class='del'>-	  the running process that is shown in ps(1). [Feature #8696]</div><div class='del'>-</div><div class='del'>-Wed Aug  7 20:05:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_odd_p): Check the bignum length.</div><div class='del'>-	  (rb_big_even_p): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug  7 19:29:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (dbl2big): A condition simplified.</div><div class='del'>-</div><div class='del'>-Wed Aug  7 16:34:30 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb (TestWEBrickCGI#{start_cgi_server,test_cgi}):</div><div class='del'>-	  mswin is not only mswin32 but also mswin64. [Bug #8746]</div><div class='del'>-</div><div class='del'>-Wed Aug  7 16:19:12 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_start): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR() because there is no new reference.</div><div class='del'>-</div><div class='del'>-	* proc.c (curry): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_call): remove line break.</div><div class='del'>-</div><div class='del'>-Wed Aug  7 13:20:12 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_load): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR() because there is no new reference.</div><div class='del'>-</div><div class='del'>-Wed Aug  7 12:58:23 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR() because there is no new reference.</div><div class='del'>-</div><div class='del'>-Wed Aug  7 09:00:24 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: [DOC] Description of rb_str_equal [Fixes GH-375]</div><div class='del'>-	  Based on a patch by @markijbema</div><div class='del'>-	  https://github.com/ruby/ruby/pull/375</div><div class='del'>-</div><div class='del'>-Wed Aug  7 08:30:38 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c: [DOC] Documentation for OpenSSL::HMAC</div><div class='del'>-	  based on a patch by @repah documenting-ruby/ruby#14</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/14</div><div class='del'>-</div><div class='del'>-Wed Aug  7 07:46:23 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/utils.rb: [DOC] RSS::Utils by Steve Klabnik [Bug #8745]</div><div class='del'>-</div><div class='del'>-Wed Aug  7 07:38:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (nlz16): Removed.</div><div class='del'>-	  (nlz32): Ditto.</div><div class='del'>-	  (nlz64): Ditto.</div><div class='del'>-	  (nlz128): Ditto.</div><div class='del'>-	  (nlz_int): New function.</div><div class='del'>-	  (nlz_long): New function.</div><div class='del'>-	  (nlz_long_long): New function.</div><div class='del'>-	  (nlz_int128): New function.</div><div class='del'>-	  (nlz): Follow above changes.</div><div class='del'>-	  (bitsize): Follow above changes.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 22:38:15 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: [DOC] Typo in Time overview by @sparr [Fixes GH-374]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/374</div><div class='del'>-</div><div class='del'>-Tue Aug  6 22:35:32 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/1.0.rb: [DOC] Document RSS10 by Steve Klabnik [Bug #8740]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 22:14:11 2013  Kouji Takao  &lt;kouji.takao@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_delete_text): remove</div><div class='del'>-	  checking "$SAFE == 4".</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c: fix rdoc, remove "Raises SecurityError"</div><div class='del'>-	  and add "Raises NotImplementedError".</div><div class='del'>-</div><div class='del'>-Tue Aug  6 22:04:38 2013  Kouji Takao  &lt;kouji.takao@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c, test/readline/test_readline.rb: fix</div><div class='del'>-	  indent.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 21:59:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_last): return nil for empty range, or in the case the</div><div class='del'>-	  predecessor is smaller than the begin.  [Bug #8739]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 21:48:31 2013  Kouji Takao  &lt;kouji.takao@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_point, Init_readline):</div><div class='del'>-	  add Readline.point=(pos). Patched by naruse.  [ruby-dev:47535]</div><div class='del'>-	  [Feature #8675]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 21:14:11 2013  Kouji Takao  &lt;kouji.takao@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline, readline_s_set_output)</div><div class='del'>-	(clear_rl_outstream, readline_s_set_input, clear_rl_instream)</div><div class='del'>-	(readline_readline): fix causing SEGV if closed IO object that is</div><div class='del'>-	  set Readline.input or Readline.output. Patched by akr</div><div class='del'>-	  [ruby-dev:47509] [Bug #8644]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 17:56:40 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): change type of stack_max to size_t.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 17:42:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_last): exclude the last number of the exclusive range</div><div class='del'>-	  if the end is Numeric.  [ruby-dev:47587] [Bug #8739]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 17:42:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_conv_from_wchar): converted string to CP_UTF8</div><div class='del'>-	  should have UTF-8 encoding.  otherwise no conversion takes place</div><div class='del'>-	  later.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 17:21:38 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): fix stack overflow check codes.</div><div class='del'>-	  Stack overflow check should be done *after* pushing a stack frame.</div><div class='del'>-	  However, some stack overflow checking codes checked *before*</div><div class='del'>-	  pushing a stack frame with iseq-&gt;stack_max.</div><div class='del'>-	  To solve this problem, add a new parameter `stack_max' to specify</div><div class='del'>-	  a possible consuming stack size.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (CHECK_VM_STACK_OVERFLOW0): add to share the stack overflow</div><div class='del'>-	  checking code.</div><div class='del'>-</div><div class='del'>-	* insns.def: catch up this change.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: add a stack overflow test.</div><div class='del'>-	  This code is reported by nobu.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 17:02:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_conv_from_wchar): use WideCharToMultiByte(),</div><div class='del'>-	  as like as mbstr_to_wstr(), in the first step of the conversion from</div><div class='del'>-	  WCHAR.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 16:14:32 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): copy cref to limit the scope of</div><div class='del'>-	  refinements in the eval string. [ruby-core:56329] [Bug #8722]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 12:23:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_realloc): Use VALGRIND_MAKE_MEM_UNDEFINED to</div><div class='del'>-	  declare undefined memory area.</div><div class='del'>-	  (bignew_1): Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (VALGRIND_MAKE_MEM_DEFINED): Moved from gc.c</div><div class='del'>-	  (VALGRIND_MAKE_MEM_UNDEFINED): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug  6 01:40:37 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: [DOC] Document caveats of command form of Process.spawn</div><div class='del'>-	  with regard to the shell and OS. Patched by Steve Klabnik [Bug #8550]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 01:28:35 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb: [DOC] Typo in example [Bug #8732]</div><div class='del'>-</div><div class='del'>-Tue Aug  6 01:22:37 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb: [DOC] Document RSS::Rss by Steve Klabnik #8740</div><div class='del'>-	* lib/rss/atom.rb: [DOC] Typo in rdoc by Steve Klabnik</div><div class='del'>-</div><div class='del'>-Mon Aug  5 23:47:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Rename local variables.</div><div class='del'>-</div><div class='del'>-Mon Aug  5 22:23:59 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: [DOC] Fix TracePoint return values in examples</div><div class='del'>-	  Based on a patch by @sho-h [Fixes GH-373]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/373</div><div class='del'>-</div><div class='del'>-Mon Aug  5 17:38:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for</div><div class='del'>-	  the last step of conversion to WCHAR, to get rid of warnings from</div><div class='del'>-	  rb_enc_find() in miniruby.  [ruby-dev:47584] [Bug #8733]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wstr_to_mbstr, mbstr_to_wstr): fix wrong trimming.</div><div class='del'>-	  WideCharToMultiByte() and MultiByteToWideChar() do not count</div><div class='del'>-	  NUL-terminator in the size for conversion result, unless the input</div><div class='del'>-	  length is -1.</div><div class='del'>-</div><div class='del'>-Mon Aug  5 11:51:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: document which user flags are used by</div><div class='del'>-	  ENCODING_MASK for better greppability</div><div class='del'>-</div><div class='del'>-Mon Aug  5 10:01:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_inherited_p): allow iclasses to be tested for</div><div class='del'>-	  inheritance. [Bug #8686] [ruby-core:56174]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add test</div><div class='del'>-</div><div class='del'>-Mon Aug  5 06:13:48 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: [DOC] Remove reference to Enumerator::Lazy#cycle</div><div class='del'>-	  Patch by @kachick [Fixes GH-372]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/372</div><div class='del'>-</div><div class='del'>-Mon Aug  5 03:57:16 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb: [DOC] Document RSS09 by Steve Klabnik [Bug #8732]</div><div class='del'>-</div><div class='del'>-Mon Aug  5 03:35:11 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/attribute.rb: [DOC] Update example for #namespace</div><div class='del'>-	  Patch by Ippei Obayashi [Bug #8685] [ruby-core:56173]</div><div class='del'>-</div><div class='del'>-Sun Aug  4 21:08:29 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): performance implement by using</div><div class='del'>-	  ALLOCA_N() to allocate tmp buffer.</div><div class='del'>-</div><div class='del'>-Sun Aug  4 07:14:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT, README.EXT.ja: Mention rb_integer_pack and</div><div class='del'>-	  rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sun Aug  4 01:54:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BARY_TRUNC): New macro.</div><div class='del'>-	  (bary_cmp): Use BARY_TRUNC.</div><div class='del'>-	  (bary_mul_toom3): Ditto.</div><div class='del'>-	  (bary_divmod): Ditto.</div><div class='del'>-	  (abs2twocomp): Ditto.</div><div class='del'>-	  (bigfixize): Ditto.</div><div class='del'>-	  (rb_cstr_to_inum): Ditto.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (bigdivrem): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug  4 00:57:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): Don't allocate new temporary buffer</div><div class='del'>-	  if the buffer is enough for current invocation.</div><div class='del'>-</div><div class='del'>-Sun Aug  4 00:22:34 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary2bdigitdbl): New function.</div><div class='del'>-	  (bdigitdbl2bary): Ditto.</div><div class='del'>-	  (bary_mul_single): Use bdigitdbl2bary.</div><div class='del'>-	  (power_cache_get_power): Ditto.</div><div class='del'>-	  (bary_divmod): Use bary2bdigitdbl.</div><div class='del'>-	  (big2str_orig): Ditto.</div><div class='del'>-	  (bigdivrem): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 22:47:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: The branch condition of selecting multiplication</div><div class='del'>-	  algorithms should check smaller argument because Karatsuba and Toom3</div><div class='del'>-	  is effective only if both arguments are big.</div><div class='del'>-	  (bary_mul_toom3_branch): Compare the smaller argument to</div><div class='del'>-	  TOOM3_MUL_DIGITS.</div><div class='del'>-	  (bary_mul): Compare the smaller argument to KARATSUBA_MUL_DIGITS.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 22:23:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_orig): Receive the number to stringize as</div><div class='del'>-	  BDIGIT array and size.</div><div class='del'>-	  (big2str_karatsuba): Receive the number to stringize as BDIGIT array</div><div class='del'>-	  and size.  Use an temporary array of BDIGIT.</div><div class='del'>-	  (rb_big2str1): Follow the above change.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 13:30:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (MAX_BASE36_POWER_TABLE_ENTRIES): Renamed from</div><div class='del'>-	  MAX_BIG2STR_TABLE_ENTRIES.</div><div class='del'>-	  (base36_power_cache): Renamed from big2str_power_cache.</div><div class='del'>-	  (base36_numdigits_cache): Renamed from big2str_numdigits_cache.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 10:33:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_integer_literal): use rb_rational_raw1() for</div><div class='del'>-	  integral rational because no reduction is needed with 1.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 09:46:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (setup_passwd, setup_group): set proper encodings to</div><div class='del'>-	  string members.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 09:30:57 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_define_under): new function to define Struct</div><div class='del'>-	  under the given namespace, not under Struct.  [Feature #8264]</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: use rb_struct_define_under.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 06:55:29 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (value_expr_gen): now NODE_DEFN and NODE_DEFS are not void</div><div class='del'>-	  value expressions.  get rid of wrong warning with -w, and make to</div><div class='del'>-	  pass tests with chkbuild.  ref. [Feature #3753]</div><div class='del'>-</div><div class='del'>-Sat Aug  3 04:23:48 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc:  Remove mention of instance_eval and</div><div class='del'>-	  module_eval from scope section per:</div><div class='del'>-	  http://twitter.com/shugomaeda/status/363219951336693761</div><div class='del'>-</div><div class='del'>-Sat Aug  3 02:22:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_orig): Refactored.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 01:20:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd_core): Removed.</div><div class='del'>-	  (bigadd): Use bary_add instead of bigadd_core.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 00:52:43 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Simplify power_level calculation.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 00:34:20 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): use rb_ary_new2() to create buffer</div><div class='del'>-	  if rb_block_arity() &gt; 1.</div><div class='del'>-</div><div class='del'>-Sat Aug  3 00:12:00 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add the description that IO#seek supports SEEK_DATA</div><div class='del'>-	  and SEEK_HOLE.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 23:57:57 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (m_core_define_method, m_core_define_singleton_method): now</div><div class='del'>-	  the value of def-expr is the Symbol of the name of the method, not</div><div class='del'>-	  nil.</div><div class='del'>-	  ref. [ruby-dev:42151] [Feature #3753]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_syntax.rb (TestSyntax#test_value_of_def): test for</div><div class='del'>-	  above changes.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 23:54:11 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): performance improvement by avoiding</div><div class='del'>-	  array creation if rb_block_arity() &gt; 1.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 23:50:53 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (power_cache_get_power): Apply bigtrunc to the result of</div><div class='del'>-	  bigsq.</div><div class='del'>-	  (big2str_karatsuba): Fix number of leading zero characters.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 23:48:36 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): calculate denominator directly as powers of</div><div class='del'>-	  ten, not parsing string.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_number_literal_suffix): return bit set of found</div><div class='del'>-	  suffixes.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_number_literal, parser_set_integer_literal):</div><div class='del'>-	  split from parser_number_literal_suffix to set yylval.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): parse rational number literal with decimal</div><div class='del'>-	  point precisely.</div><div class='del'>-</div><div class='del'>-	* parse.y (simple_numeric): integrate numeric literals and simplify</div><div class='del'>-	  numeric rules.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/eventids2.c (ripper_init_eventids2): ripper support for</div><div class='del'>-	  new literals, tRATIONAL and tIMAGINARY.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 18:33:28 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): Reduce power_level more than one at</div><div class='del'>-	  recursion, if possible.</div><div class='del'>-	  (rb_big2str1): Follow the above change.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 12:25:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul): Swap x and y for bary_mul1 if x is longer than y.</div><div class='del'>-	  [ruby-dev:47565] [Bug #8719] Reported by Narihiro Nakamura.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 10:39:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (negate_lit): add T_RATIONAL and T_COMPLEX to the switch</div><div class='del'>-	  statement, and call rb_bug() if an unknown type is passed to</div><div class='del'>-	  negate_lit(). [ruby-core:56316] [Bug #8717]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal_suffix.rb (assert_equal): add test</div><div class='del'>-</div><div class='del'>-Fri Aug  2 09:14:47 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc:  Improve description of where you may</div><div class='del'>-	  activate refinements.</div><div class='del'>-</div><div class='del'>-Fri Aug  2 07:45:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_orig): Remove len argument.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (rb_big2str1): Follow above change.</div><div class='del'>-</div><div class='del'>-Thu Aug  2 02:32:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add the description of number literal suffixes.</div><div class='del'>-</div><div class='del'>-Thu Aug  2 00:02:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal_suffix.rb: add two test cases to</div><div class='del'>-	  examine that "1if true" and "1rescue nil" are recognized as 1.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 23:45:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_flt_rationalize_with_prec): new public C function</div><div class='del'>-	  to rationalize a Float instance with a precision.</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_flt_rationalize): new public C function to</div><div class='del'>-	 rationalize a Float instance.  A precision is calculated from</div><div class='del'>-	 the given float number.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: Add rb_flt_rationalize_with_prec and</div><div class='del'>-	  rb_flt_rationalize.</div><div class='del'>-</div><div class='del'>-	* parse.y: implement number literal suffixes, 'r' and 'i'.</div><div class='del'>-	  [ruby-core:55096] [Feature #8430]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal_suffix.rb: add tests for parser to scan</div><div class='del'>-	  number literals with the above tsuffixes.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 23:55:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Remove a local variable.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 23:33:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): Use power_cache_get_power.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 21:02:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Raise an error for too big number.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 20:46:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (power_cache_get_power): Hide cached Bignum objects.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 19:15:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Remove non-trim mode.</div><div class='del'>-	  (rb_big2str0): Non-trim mode implemented here.</div><div class='del'>-	  (big2str_find_n1): Change the result type to long again.</div><div class='del'>-	  (big2str_base_powerof2): Don't take arguments: len and trim.</div><div class='del'>-	  (rb_big2str): Follow above change.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 12:37:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_alloc): New function to allocate the result string.</div><div class='del'>-	  It is called after actual length is calculated.</div><div class='del'>-	  (big2str_struct): Add fields: negative, result and ptr.</div><div class='del'>-	  (big2str_orig): Write out the result via b2s-&gt;ptr.</div><div class='del'>-	  (big2str_orig): Ditto.</div><div class='del'>-	  (rb_big2str1): Don't allocate the result string at beginning.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 07:36:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_orig): Use temporary buffer when trim mode.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 06:28:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_orig): Simplified because RBIGNUM_LEN(x) &lt;= 2 now.</div><div class='del'>-	  (big2str_struct): Two fields added: hbase2, hbase2_numdigits.</div><div class='del'>-	  (rb_big2str1): Initialize above fields.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 04:06:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/options.rb (RDoc#finish): include root path in include</div><div class='del'>-	  paths, to work in another directory than the source directory.</div><div class='del'>-	  [ruby-core:56282] [Bug #8712]</div><div class='del'>-</div><div class='del'>-	* test/test_rdoc_markup_pre_process.rb (TestRDocMarkupPreProcess#setup):</div><div class='del'>-	  fix input_file_name, as the test script is not pre-processed.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 01:45:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_karatsuba): Fix a condition of power_level.</div><div class='del'>-</div><div class='del'>-Thu Aug  1 01:09:02 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Removed.</div><div class='del'>-	  (KARATSUBA_BIG2STR_DIGITS): Removed.</div><div class='del'>-	  (big2str_numdigits_cache): New variable.</div><div class='del'>-	  (power_cache_get_power): Merged with power_cache_get_power0.</div><div class='del'>-	  This function returns maxpow_in_bdigit_dbl(base)**(2**power_level).</div><div class='del'>-	  (rb_big2str1): use power_cache_get_power.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 23:59:28 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_find_n1): Change the return type to size_t.</div><div class='del'>-	  (big2str_orig): Ditto.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (rb_big2str1): Follow the above changes.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 23:19:06 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (power_cache_get_power): Change numdigits_ret to size_t *.</div><div class='del'>-	  (big2str_orig): Change len argument to size_t.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (rb_big2str1): Follow the above changes.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:59:47 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/parse/test_notation_declaration.rb: Change class</div><div class='del'>-	  name to follow file name change.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:57:50 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Rename to ...</div><div class='del'>-	* test/rexml/parse/test_notation_declaration.rb: ... this.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:54:39 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_mixin.rb: Remove duplicated tests.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:52:55 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Fix typos in expected</div><div class='del'>-	  value.</div><div class='del'>-	  pubilc -&gt;</div><div class='del'>-	  public</div><div class='del'>-	     ^^</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:50:51 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Add tests that focus</div><div class='del'>-	  system literal in external ID system notation declaration.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:36:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_cmp): Extracted from rb_big_cmp.</div><div class='del'>-	  (power_cache_get_power): Change n1 argument (number of digits) to</div><div class='del'>-	  power_level which is just passed to power_cache_get_power0.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (rb_big2str1): Calculate the initial power_level.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:04:36 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Fix a typo.</div><div class='del'>-	  Extern  ID -&gt;</div><div class='del'>-	  ExternalID</div><div class='del'>-	        ^^</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:01:36 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Add tests that focus</div><div class='del'>-	  public ID in external ID notation declaration.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 22:01:24 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix build error with bison-3.0.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:58:53 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Split test patterns.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:42:33 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Group tests.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:37:51 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_mixin.rb (TestNotationDecl#test_name):</div><div class='del'>-	  Move to ...</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb</div><div class='del'>-	  (TestNotationDecl#test_name): ... here.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:37:47 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:31:49 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: Remove setup because it</div><div class='del'>-	  doesn't share anything with other tests.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:24:55 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_attributes_mixin.rb: Remove a needless shebang.</div><div class='del'>-	* test/rexml/test_notationdecl_mixin.rb: ditto.</div><div class='del'>-	* test/rexml/test_doctype.rb: ditto.</div><div class='del'>-	* test/rexml/test_xml_declaration.rb: ditto.</div><div class='del'>-	* test/rexml/test_changing_encoding.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 21:20:08 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_notationdecl_parsetest.rb: remove a needless shebang.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 20:11:01 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): fix bug introduced in r42269.</div><div class='del'>-	  "".rindex("") should return 0.</div><div class='del'>-	  (str_rindex): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 19:55:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (MAX_BIG2STR_TABLE_ENTRIES): Use SIZEOF_SIZE_T.</div><div class='del'>-	  (power_cache_get_power0): Add rb_bug call for too bit i argument.</div><div class='del'>-	  (power_cache_get_power): Simplified.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 18:32:25 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form_component): Use String#b.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 18:24:02 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine, mod_using, top_using): don't show</div><div class='del'>-	  warnings because Refinements are no longer experimental.</div><div class='del'>-	  [ruby-core:55993] [Feature #8632]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-	* NEWS: fixes for the above change.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 17:55:55 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form_component):</div><div class='del'>-	  Don't raise error when str includes multibyte characters.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 17:45:39 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): performance improvement by using</div><div class='del'>-	  memrchr(3).</div><div class='del'>-</div><div class='del'>-Wed Jul 31 16:43:30 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): refactoring and avoid to call str_nth() if</div><div class='del'>-	  pos == 0.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 14:41:36 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: [DOC] Add a couple of notes on Hash as storage.</div><div class='del'>-	  ref. [Feature #6589]</div><div class='del'>-</div><div class='del'>-Wed Jul 31 14:38:52 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: [DOC] Fix example result.  Hash is now ordered.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 14:38:10 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: [DOC] Use the term "sorted" instead of "ordered"</div><div class='del'>-	  when mentioning SortSet.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 12:18:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_struct): New structure.</div><div class='del'>-	  (big2str_orig): Use big2str_struct.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (rb_big2str1): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 31 12:02:16 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: [DOC] typo in url patch by @Red54 [Fixes #369]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/369</div><div class='del'>-</div><div class='del'>-Wed Jul 31 07:09:07 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems from master as of commit 523551c</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 30 22:21:54 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add a test for enumeration order of Hash.</div><div class='del'>-</div><div class='del'>-Tue Jul 30 18:52:27 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#intersect?, Set#disjoint?): Add new methods for</div><div class='del'>-	  testing if two sets have any element in common.</div><div class='del'>-	  [ruby-core:45641] [Feature #6588] Based on the code by marcandre.</div><div class='del'>-</div><div class='del'>-Tue Jul 30 17:16:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvextra): add QUOTE flag to escape unprintable</div><div class='del'>-	  characters.</div><div class='del'>-</div><div class='del'>-Tue Jul 30 11:00:52 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: [DOC] nodoc to reduce Object pollution</div><div class='del'>-</div><div class='del'>-Tue Jul 30 08:19:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sizes.c (Init_sizes): Define sizes only if the type actually exists.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 22:55:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sizes.c (Init_sizes): define RbConfig::SIZEOF.  [Feature #8568]</div><div class='del'>-</div><div class='del'>-Mon Jul 29 22:25:20 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: [DOC] Update location of samples</div><div class='del'>-	* samples/curses/*: Move Curses samples and refactor from mixin</div><div class='del'>-	  The samples are included in rdoc for module and use of mixin is</div><div class='del'>-	  confusing</div><div class='del'>-</div><div class='del'>-Mon Jul 29 22:16:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Renamed from</div><div class='del'>-	  LOG2_KARATSUBA_DIGITS.</div><div class='del'>-	  (KARATSUBA_BIG2STR_DIGITS): Renamed from KARATSUBA_DIGITS.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 22:04:45 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compare_by_id): add function prototype.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 21:53:41 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compare_by_id): don't call rb_hash_rehash()</div><div class='del'>-	  if self.compare_by_identity? == true.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 21:29:48 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_assoc): performance improvement by replacing</div><div class='del'>-	  compare function in RHASH(hash)-&gt;ntbl-&gt;type temporarily like r42224.</div><div class='del'>-	  it falls back to rb_hash_foreach() if st_lookup() doesn't find the key.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 21:15:30 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb</div><div class='del'>-	  (TestLazyEnumerator#test_initialize): Make sure</div><div class='del'>-	  Enumerator::Lazy#initialize raises error if the object is</div><div class='del'>-	  frozen.  The check was performed by rb_ivar_set() before</div><div class='del'>-	  rb_check_frozen() was added to enumerator_init().</div><div class='del'>-</div><div class='del'>-Mon Jul 29 21:06:42 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_init): Add a frozenness check to</div><div class='del'>-	  prevent a frozen Enumerator object from being reinitialized with</div><div class='del'>-	  a different enumerable object.  This is the least we should do,</div><div class='del'>-	  and more fixes will follow. [Fixes GH-368] Patch by Kenichi</div><div class='del'>-	  Kamiya.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (generator_init): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 20:14:24 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_assoc): revert r42224. table-&gt;type-&gt;compare is</div><div class='del'>-	  called only if hashes are matched.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add a test to check using #== to compare.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 17:00:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): store file name as String to keep the encoding.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_compile_string_path, rb_parser_compile_file_path):</div><div class='del'>-	  new functions to pass file name as a String.</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): return a copy of the original file name, not</div><div class='del'>-	  a copy in filesystem encoding.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): use Qundef instead of "(eval)".</div><div class='del'>-</div><div class='del'>-Mon Jul 29 16:53:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_initialize_copy): copy st_table type even if empty.</div><div class='del'>-	  [ruby-core:56256] [Bug #8703]</div><div class='del'>-</div><div class='del'>-Mon Jul 29 16:34:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_initialize_copy): clear old table before copy new</div><div class='del'>-	  table.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 16:34:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_assoc): aggregate object can be initialized only</div><div class='del'>-	  with link time constants.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 14:54:44 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_assoc): performance improvement by replacing</div><div class='del'>-	  compare function in RHASH(hash)-&gt;ntbl-&gt;type temporarily.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 14:52:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (xsystem): expand environment variable in all macros not</div><div class='del'>-	  expanded with RbConfig.  [Bug #8702]</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_framework.rb (create_framework): replace all $@ not</div><div class='del'>-	  only once.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 06:54:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe): use enum for compile time constants,</div><div class='del'>-	  instead of const int for debugging.</div><div class='del'>-</div><div class='del'>-Mon Jul 29 00:11:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Specialized implementation added for</div><div class='del'>-	  nx == 2 &amp;&amp; ny == 2</div><div class='del'>-</div><div class='del'>-Sun Jul 28 20:28:41 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getpartial): use rb_str_locktmp_ensure().</div><div class='del'>-	  [ruby-core:56121] [Bug #8669]</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_sysread): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 20:10:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): should make static libraries for extensions</div><div class='del'>-	  to be statically linked.  [Bug #7948]</div><div class='del'>-</div><div class='del'>-Sun Jul 28 17:38:32 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: add internal API rb_str_locktmp_ensure().</div><div class='del'>-</div><div class='del'>-	* io.c (io_fread): use rb_str_locktmp_ensure().</div><div class='del'>-	  [ruby-core:56121] [Bug #8669]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 13:04:39 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (interpret_seek_whence): support SEEK_DATA and SEEK_HOLE.</div><div class='del'>-	  These are whences for lseek(2) supported by Linux since version 3.1.</div><div class='del'>-	  [ruby-core:56123] [Feature #8671]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Add tests for above.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 12:41:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_generic): The char_bit variable changed</div><div class='del'>-	  to static constant.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 12:03:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Constify bary_* functions.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 11:12:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_absint_size): Declaration moved from</div><div class='del'>-	  internal.h to calculate required buffer size to pack integers.</div><div class='del'>-	  (rb_absint_numwords): Ditto.</div><div class='del'>-	  (rb_absint_singlebit_p): Ditto.</div><div class='del'>-	  [ruby-core:42813] [Feature #6065]</div><div class='del'>-</div><div class='del'>-Sun Jul 28 10:54:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pipe): fix pipe name formatting.  as "%x" may</div><div class='del'>-	  not contain '0' at all, fill at fixed position instead.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 00:35:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_size): Return the bignum "bytewise" size.</div><div class='del'>-	  [ruby-core:55578] [Feature #8553]</div><div class='del'>-	  This is accepted by matz on DevelopersMeeting20130727Japan.</div><div class='del'>-</div><div class='del'>-Sun Jul 28 00:07:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_integer_pack): Declaration moved from</div><div class='del'>-	  internal.h.</div><div class='del'>-	  (rb_integer_unpack): Ditto.</div><div class='del'>-	  [ruby-core:42813] [Feature #6065]</div><div class='del'>-</div><div class='del'>-Fri Jul 26 23:18:13 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add a new feature that REXML::Parsers::StreamParser</div><div class='del'>-	  supports "entity" event.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 23:14:31 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/parsers/streamparser.rb</div><div class='del'>-	  (REXML::Parsers::StreamParser#parse): Add "entity" event support to</div><div class='del'>-	  listener. [Bug #8689] [ruby-dev:47542]</div><div class='del'>-	  Reported by Ippei Obayashi.</div><div class='del'>-	* test/rexml/test_stream.rb (StreamTester#entity): Add a test for</div><div class='del'>-	  the above case.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 23:05:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): separate numeric literal from succeeding</div><div class='del'>-	  token, and treat 'e' as floating point number only if followed by</div><div class='del'>-	  exponent part.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 22:14:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (CHECK_VM_STACK_OVERFLOW_FOR_INSN): surround with</div><div class='del'>-	  do/while (0), and remove unnecessary casts.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 20:12:07 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/lib/syslog/logger.rb (Syslog::Logger): Add facility</div><div class='del'>-	  to Syslog::Logger. [Fixes GH-305] patch by Max Shytikov</div><div class='del'>-	  https://github.com/ruby/ruby/pull/305</div><div class='del'>-</div><div class='del'>-Fri Jul 26 19:25:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h, tool/instruction.rb: not an error, but a BUG if stack</div><div class='del'>-	  overflow checking failed just before/after the beginning of an</div><div class='del'>-	  instruction. It should be treated as a BUG.</div><div class='del'>-	  Please tell us if your code cause BUG with this problem.</div><div class='del'>-	  This check will removed soon (for performance).</div><div class='del'>-</div><div class='del'>-Fri Jul 26 18:30:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_memcpy): cast to int to suppress a warning.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 18:21:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_memcpy): try to enable optimization.</div><div class='del'>-	  At least on my environments, I don't see any errors</div><div class='del'>-	  with many trials. Please tell us if you find any GC bugs.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 17:49:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (fix_string_encoding): fix target encoding.  the</div><div class='del'>-	  parameter `encoding' is not the target encoding but the original</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 14:05:19 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/*: [DOC] More doc on dlopen and RTLD_DEFAULT from r42184</div><div class='del'>-</div><div class='del'>-Fri Jul 26 13:08:53 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle.rb: [DOC] Document Fiddle.dlopen(nil)</div><div class='del'>-	* ext/fiddle/handle.c: [DOC] Document Fiddle::Handle.new(nil)</div><div class='del'>-</div><div class='del'>-Fri Jul 26 13:04:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal): use rb_load_file_str() to keep path</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): search in OS path encoding for Windows.</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_load_file_str): load file with keeping path encoding.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming</div><div class='del'>-	  path is encoded in UTF-8.  [ruby-core:56136] [Bug #8676]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_encode_ospath): simplify using rb_str_conv_enc().</div><div class='del'>-</div><div class='del'>-	* win32/file.c (fix_string_encoding): simplify with rb_str_conv_enc().</div><div class='del'>-</div><div class='del'>-	* win32/file.c (convert_mb_to_wchar): use bare pointer instead of</div><div class='del'>-	  VALUE, and remove useless argument.</div><div class='del'>-</div><div class='del'>-Fri Jul 26 11:42:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (f_round_common): Rational is expected to be returned by</div><div class='del'>-	  Rational#*, but mathn.rb breaks that assumption.  [ruby-core:56177]</div><div class='del'>-	  [Bug #8687]</div><div class='del'>-</div><div class='del'>-Fri Jul 26 01:37:45 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: check defined(USE_RGENGC_LOGGING_WB_UNPROTECT)</div><div class='del'>-</div><div class='del'>-Fri Jul 26 01:21:41 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_internal): fix r42160; skip '~'.</div><div class='del'>-</div><div class='del'>-Thu Jul 25 17:53:18 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): disable Nagle's algorithm on</div><div class='del'>-	  HTTP connection. [ruby-core:56158] [Feature #8681]</div><div class='del'>-</div><div class='del'>-Thu Jul 25 17:49:42 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_to_s): convert closing parenthesis to the target encoding</div><div class='del'>-	  if it is ASCII incompatible encoding. [ruby-core:56063] [Bug #8650]</div><div class='del'>-</div><div class='del'>-Thu Jul 25 17:21:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (is_obj_encoding): new macro to check if obj is an</div><div class='del'>-	  Encoding.  obj can be any type while is_data_encoding expects T_DATA</div><div class='del'>-	  only.</div><div class='del'>-</div><div class='del'>-Thu Jul 25 17:17:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_internal): should clear coderange after</div><div class='del'>-	  copying user name as binary data.</div><div class='del'>-</div><div class='del'>-Thu Jul 25 16:17:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (check_encoding): Check T_DATA or not.</div><div class='del'>-	  is_data_encoding(obj) assumes that `obj' is T_DATA.</div><div class='del'>-</div><div class='del'>-Thu Jul 25 13:06:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_home): use rb_home_dir_of and rb_default_home_dir.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_home_dir_of): split from rb_home_dir() for the home</div><div class='del'>-	  directry of the given user, and the user name is a VALUE, not a bare</div><div class='del'>-	  pointer.  should raise if the user does not exist.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_default_home_dir): split from rb_home_dir() for the home</div><div class='del'>-	  directry of the current user.</div><div class='del'>-</div><div class='del'>-Thu Jul 25 12:32:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: support additional three thread synchronization</div><div class='del'>-	  functions. [ruby-trunk - Bug #8386]</div><div class='del'>-</div><div class='del'>-Thu Jul 25 07:15:58 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems from master as of commit 4ff70cc</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 24 20:57:44 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR() because there is no new reference.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_exception_table): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 24 19:49:54 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (find_proxy): raise BadURIError if the URI is</div><div class='del'>-	  a relative URI. [Bug #8645]</div><div class='del'>-</div><div class='del'>-Wed Jul 24 18:56:06 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_expandarray): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR() because there is no new reference.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_caller_setup_args): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 24 18:40:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, gc.c: move ary_unprotect_logging() into</div><div class='del'>-	  rb_gc_unprotect_logging() which is general version</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add USE_RGENGC_LOGGING_WB_UNPROTECT</div><div class='del'>-	  to enable.</div><div class='del'>-</div><div class='del'>-Wed Jul 24 17:37:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_internal): preserve the file name</div><div class='del'>-	  encoding in an exception message.</div><div class='del'>-</div><div class='del'>-Wed Jul 24 08:04:49 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/tracepoint/test_tracepoint.rb: add GC on/off to count</div><div class='del'>-	  GC events strictly.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 23:19:24 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb (CRYPTO_THREADID): check exist or not.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_thread_id): use rb_nativethread_self()</div><div class='del'>-	  implemented at r42137 to allow threads which doesn't associated with</div><div class='del'>-	  Ruby thread to use openssl functions.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (Init_ossl_locks): If CRYPTO_THREADID is defined</div><div class='del'>-	  (OpenSSL 1.0.0 or later has it) use CRYPTO_THREADID_set_callback()</div><div class='del'>-	  instead of CRYPTO_set_id_callback() because its argument is</div><div class='del'>-	  unsigned long; it may cause id collision on mswin64</div><div class='del'>-	  whose sizeof(unsigned long) &lt; sizeof(void*).</div><div class='del'>-	  http://www.openssl.org/docs/crypto/threads.html</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_threadid_func): defined for above.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 20:47:36 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Move functions.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 20:14:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_divmod): Add special cases for x &lt; y easily detected</div><div class='del'>-	  and nx == 2 &amp;&amp; ny == 2.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 19:48:38 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_(pthread|win32).h: rename rb_thread_cond_t to</div><div class='del'>-	  rb_nativethread_cond_t.</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.c, thread_win32.c, vm_core.h: catch up</div><div class='del'>-	  renaming.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 19:44:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_native.h: add rb_nativethread_self() which returns</div><div class='del'>-	  current running native thread identifier.</div><div class='del'>-</div><div class='del'>-	* thread_[pthread|win32].c: implement rb_nativethread_self().</div><div class='del'>-</div><div class='del'>-Tue Jul 23 19:34:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h, thread_win32.h: rename rb_thread_id_t to</div><div class='del'>-	  rb_nativethread_id_t.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c, vm_core.h: use rb_nativethread_id_t.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 18:56:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: use system native (system provided)</div><div class='del'>-	  thread locking APIs added by last commit.</div><div class='del'>-	  This patch fixes [Bug #8386].</div><div class='del'>-	  "rb_mutex_*" APIs control only "Ruby" threads.</div><div class='del'>-	  Not for native threads.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 18:44:15 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_native.h: added.</div><div class='del'>-	  Move native thread related lines from vm_core.h.</div><div class='del'>-	  And declare several functions "rb_nativethread_lock_*",</div><div class='del'>-	  manipulate locking.</div><div class='del'>-</div><div class='del'>-	* common.mk: add thread_native.h.</div><div class='del'>-</div><div class='del'>-	* thread.c: add functions "rb_nativethread_lock_*".</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t</div><div class='del'>-	  to rb_nativethread_lock_t to make it clear that this lock is for</div><div class='del'>-	  native threads, not for ruby threads.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 16:14:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): fix spacing.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 15:57:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj): clear slot-&gt;freelist here.</div><div class='del'>-	  This means that this slot doesn't have any free objects.</div><div class='del'>-	  And store this slot with objspace-&gt;heap.using_slot.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): restore objspace-&gt;freelist</div><div class='del'>-	  into objspace-&gt;heap.using_slot-&gt;freelist.</div><div class='del'>-	  This means that using_slot has free objects which are</div><div class='del'>-	  pointed from objspace-&gt;freelist.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_slot_sweep): do not need to clear slot-&gt;freelist.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 09:34:49 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* sample/drb/README*.rdoc: [DOC] migrate DRb sample READMEs to rdoc</div><div class='del'>-</div><div class='del'>-Tue Jul 23 09:28:05 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/invokemethod.rb: [DOC] nodoc InvokeMethod18Mixin</div><div class='del'>-</div><div class='del'>-Tue Jul 23 08:44:37 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (asn1time_to_time):  Implement YYMMDDhhmmZ</div><div class='del'>-	  format for ASN.1 UTCTime.  [ruby-trunk - Bug #8664]</div><div class='del'>-	* test/openssl/test_asn1.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 08:11:32 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/streamlistener.rb: [DOC] Fix examples in</div><div class='del'>-	  REXML::StreamListener#entitydecl patch by Ippei Obayashi [Bug #8665]</div><div class='del'>-</div><div class='del'>-Tue Jul 23 07:44:59 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems from master as of commit b165260</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 07:14:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mulsub_1xN): New function.</div><div class='del'>-	  (bary_mul_toom3): Use bary_mulsub_1xN.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 03:32:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (KARATSUBA_BALANCED): New macro.</div><div class='del'>-	  (TOOM3_BALANCED): Ditto.</div><div class='del'>-	  (bary_mul_balance_with_mulfunc): Use KARATSUBA_BALANCED and</div><div class='del'>-	  TOOM3_BALANCED.</div><div class='del'>-	  (rb_big_mul_balance): Relax a condition.</div><div class='del'>-	  (rb_big_mul_karatsuba): Use KARATSUBA_BALANCED.</div><div class='del'>-	  (rb_big_mul_toom3): Use TOOM3_BALANCED.</div><div class='del'>-	  (bary_mul_karatsuba_branch): Use KARATSUBA_BALANCED.</div><div class='del'>-	  (bary_mul_toom3_branch): Use TOOM3_BALANCED.</div><div class='del'>-</div><div class='del'>-Tue Jul 23 01:34:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem_mulsub): Extracted from bigdivrem1.</div><div class='del'>-	  (bigdivrem1): Use bary_add.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 18:39:52 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars): specify array capa</div><div class='del'>-	  with str_strlen().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_codepoints): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 18:01:33 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars): specify array capa.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 17:24:14 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_char_size): performance improvement by</div><div class='del'>-	  using rb_str_length().</div><div class='del'>-</div><div class='del'>-Mon Jul 22 16:32:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): check by Check_TypedStruct</div><div class='del'>-	  instead of rb_obj_is_kind_of.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 13:19:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_resize_capa): use RARRAY_RAWPTR() because</div><div class='del'>-	  this code creates no new references.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 12:58:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_memfill): added.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_initialize): use ary_memfill().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_slice_bang): use RARRAY_RAWPTR() because</div><div class='del'>-	  this code creates no new references.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 10:09:46 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_slot_sweep): need to add empty RVALUE as freeobj.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 09:48:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): use the given file name unless</div><div class='del'>-	  eval even if scope is given.  additional fix for [Bug #8436].</div><div class='del'>-	  based on the patch by srawlins at [ruby-core:56099] [Bug #8662].</div><div class='del'>-</div><div class='del'>-Mon Jul 22 09:24:19 2013  Kouji Takao  &lt;kouji@takao7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): added</div><div class='del'>-	  Readline.delete_text. [ruby-dev:45789] [Feature #6626]</div><div class='del'>-	* ext/readline/extconf.rb: check for rl_delete_text() in Readline library.</div><div class='del'>-</div><div class='del'>-	  Thanks, Nobuyoshi Nakada, for the patch.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 03:15:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (rfc2822_cb): check if wday is given, since it</div><div class='del'>-	  can be omitted.</div><div class='del'>-</div><div class='del'>-Mon Jul 22 00:15:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_sq_fast): Refine expressions.</div><div class='del'>-</div><div class='del'>-Sun Jul 21 21:08:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul): Use simple multiplication if yl is small.</div><div class='del'>-	  (rb_cstr_to_inum): Invoke bigsq instead of bigmul0.</div><div class='del'>-	  (bigsq): Re-implemented.</div><div class='del'>-	  (bigmul0): Invoke bigsq if two arguments are identical.</div><div class='del'>-</div><div class='del'>-Sun Jul 21 09:58:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_toom3): New function based on bigmul1_toom3.</div><div class='del'>-	  (bary_mul_toom3_branch): Call bary_mul_toom3.</div><div class='del'>-	  (rb_big_mul_toom3): Ditto.</div><div class='del'>-	  (bigmul1_toom3): Removed.</div><div class='del'>-	  (big_real_len): Ditto.</div><div class='del'>-	  (big_split): Ditto.</div><div class='del'>-	  (big_split3): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 21 08:12:16 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_to_s): use PRIsVALUE to preserve the result encoding.</div><div class='del'>-</div><div class='del'>-Sun Jul 21 03:36:18 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_flatten): use NUM2INT to raise TypeError on 32bit</div><div class='del'>-	  platform. it's introduced by r42039</div><div class='del'>-</div><div class='del'>-Sun Jul 21 01:07:45 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): Fix environment variable name and argument.</div><div class='del'>-	  Actually it can also be a directory or any argument for</div><div class='del'>-	  test/unit runner. [Fixes GH-363]</div><div class='del'>-</div><div class='del'>-Sat Jul 20 22:44:50 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Document running a single test [Fixes GH-363]</div><div class='del'>-	  Patch by Avdi Grimm https://github.com/ruby/ruby/pull/363</div><div class='del'>-</div><div class='del'>-Sat Jul 20 22:39:56 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* sample/*: whitespace patch by Sergio Campama [Fixes GH-364]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/364</div><div class='del'>-</div><div class='del'>-Sat Jul 20 22:33:13 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc: [DOC] Fix typo in example [Fixes GH-365]</div><div class='del'>-	  Patch by Juanito Fatas https://github.com/ruby/ruby/pull/365</div><div class='del'>-</div><div class='del'>-Sat Jul 20 17:46:03 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): add missing case NEIGHBOR_WRAPPED.</div><div class='del'>-	  r42078 caused buggy behavior like "\xFF".b -&gt; "\x01\xFF".b</div><div class='del'>-</div><div class='del'>-Sat Jul 20 15:22:38 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_resize): use simple memcpy because there are no new</div><div class='del'>-	  references.</div><div class='del'>-</div><div class='del'>-Sat Jul 20 15:02:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c (ruby_safe_level_4_warning): define for old extension</div><div class='del'>-	  libraries.  [Bug #8652]</div><div class='del'>-</div><div class='del'>-Sat Jul 20 14:38:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): make shared array shady.</div><div class='del'>-	  Making non-shady shared array causes SEGV (see rubyci).</div><div class='del'>-	  It seems a bug around shared array.</div><div class='del'>-</div><div class='del'>-Sat Jul 20 12:14:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (enc_succ_char, enc_pred_char): consider wchar case.</div><div class='del'>-	  [ruby-core:56071] [Bug #8653]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): do not replace with invalid char.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_code_to_mbclen): add new function which returns</div><div class='del'>-	  mbclen from codepoint like as rb_enc_codelen() but 0 for invalid</div><div class='del'>-	  char.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_code_to_mbclen): declaration and</div><div class='del'>-	  shortcut macro.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 21:59:12 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: declare type_name() at the beginning of file.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 21:35:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: reduce shady operations.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify, ary_make_partial, rb_ary_splice,</div><div class='del'>-	  rb_ary_replace, rb_ary_eql, rb_ary_compact_bang):</div><div class='del'>-	  use RARRAY_RAWPTR() instead of RARRAY_PTR().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_shift): use RARRAY_PTR_USE() without WB because</div><div class='del'>-	  there are not new relations.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_unshift): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete_at): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_reverse_m): use RARRAY_RAWPTR() because</div><div class='del'>-	  there are not new relations.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 20:58:20 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: reduce shade operations.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): use RARRAY_RAWPTR().</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_substitution, rb_ary_s_create, ary_make_partial,</div><div class='del'>-	  rb_ary_splice, rb_ary_resize, rb_ary_rotate_m, rb_ary_times):</div><div class='del'>-	  use ary_memcpy().</div><div class='del'>-</div><div class='del'>-Fri Jul 19 19:55:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_mem_clear): added. This operation doesn't need WB</div><div class='del'>-	  because this operation creates a reference to Qnil.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared, rb_ary_store, rb_ary_shift_m,</div><div class='del'>-	  rb_ary_splice, rb_ary_resize, rb_ary_fill): use ary_mem_clear()</div><div class='del'>-	  instead of rb_mem_clear().</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): use RARRAY_RAWPTR() instead of RARRAY_PTR().</div><div class='del'>-</div><div class='del'>-Fri Jul 19 19:18:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: fix commit miss.</div><div class='del'>-	  RGENGC_UNPROTECT_LOGGING should be 0.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 19:15:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_resurrect): use RARRAY_RAWPTR() because there is no</div><div class='del'>-	  writing.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new_from_values): use ary_memcpy().</div><div class='del'>-</div><div class='del'>-Fri Jul 19 19:07:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_memcpy): add a function to copy VALUEs into ary</div><div class='del'>-	  with write barrier. If ary is promoted, use write barrier correctly.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_cat, rb_ary_unshift_m, rb_ary_dup,</div><div class='del'>-	  rb_ary_sort_bang, rb_ary_replace, rb_ary_plus): use ary_memcpy().</div><div class='del'>-</div><div class='del'>-Fri Jul 19 15:32:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_store): use RARRAY_PTR_USE() instead of RARRAY_PTR().</div><div class='del'>-	  Clearing memory space doesn't need WBs.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 15:19:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_push): use RARRAY_RAWPTR() instead of</div><div class='del'>-	  RARRAY_PTR. In this code, there are no "write" operation.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_equal): ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (recursive_equal): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 15:09:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, internal.h (rb_gc_writebarrier_remember_promoted): add a new</div><div class='del'>-	  function to remember an specified object. This api is only</div><div class='del'>-	  experimental (strongly depend on WB/rgengc strategy).</div><div class='del'>-</div><div class='del'>-Fri Jul 19 14:56:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_unprotect_logging): use (void *) for first parameter</div><div class='del'>-	  because VALUE is not defined before including ruby/ruby.h.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 14:19:48 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_inspect): use PRIsVALUE to preserve</div><div class='del'>-	  the result encoding.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 12:35:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb (test_initialize_failure): Use EADDRNOTAVAIL</div><div class='del'>-	  to test an error message generated by bind() failure.</div><div class='del'>-</div><div class='del'>-Fri Jul 19 11:27:38 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/parser.rb: [DOC] Capitalize "Ruby" in documentation</div><div class='del'>-	  Patch by Dave Worth https://github.com/ruby/ruby/pull/341</div><div class='del'>-</div><div class='del'>-Fri Jul 19 11:26:28 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych*: [DOC] Capitalize "Ruby" in documentation</div><div class='del'>-	  Patch by Dave Worth https://github.com/ruby/ruby/pull/341</div><div class='del'>-</div><div class='del'>-Fri Jul 19 11:25:12 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*: [DOC] Capitalize "Ruby" in documentation</div><div class='del'>-	  Patch by Dave Worth https://github.com/ruby/ruby/pull/341</div><div class='del'>-</div><div class='del'>-Fri Jul 19 11:23:55 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems*: [DOC] Capitalize "Ruby" in documentation</div><div class='del'>-	  Patch by Dave Worth https://github.com/ruby/ruby/pull/341</div><div class='del'>-</div><div class='del'>-Fri Jul 19 11:16:54 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#to_set): Define Set#to_set so that aSet.to_set</div><div class='del'>-	  returns self. [Fixes GH-359]</div><div class='del'>-</div><div class='del'>-Fri Jul 19 11:10:23 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/*: [DOC] Capitalize "Ruby" in documentation</div><div class='del'>-	  Patch by Dave Worth https://github.com/ruby/ruby/pull/341</div><div class='del'>-</div><div class='del'>-Fri Jul 19 01:04:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/intpack.c: Renamed from ext/-test-/bignum/pack.c.</div><div class='del'>-	  (Init_intpack): Renamed from Init_pack.</div><div class='del'>-	  Reported by Naohisa Goto.  [ruby-dev:47526] [Bug #8655]</div><div class='del'>-</div><div class='del'>-Fri Jul 19 00:54:27 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_count): add a test case for #count</div><div class='del'>-	  with an argument. See Bug #8654.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 23:45:06 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_eql): compare RARRAY_PTR() for performance</div><div class='del'>-	  improvement in case of that self and other are shared.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 22:46:42 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: [DOC] Capitalize "Ruby" in documentation [Fixes GH-341]</div><div class='del'>-	  Patch by Dave Worth https://github.com/ruby/ruby/pull/341</div><div class='del'>-	* lib/webrick.rb: ditto</div><div class='del'>-	* lib/scanf.rb: ditto</div><div class='del'>-	* lib/xmlrpc/config.rb: ditto</div><div class='del'>-	* lib/resolv.rb: ditto</div><div class='del'>-	* lib/e2mmap.rb: ditto</div><div class='del'>-	* lib/fileutils.rb: ditto</div><div class='del'>-	* lib/mkmf.rb: ditto</div><div class='del'>-	* lib/cgi/session.rb: ditto</div><div class='del'>-	* lib/yaml.rb: ditto</div><div class='del'>-	* lib/erb.rb: ditto</div><div class='del'>-	* lib/irb.rb: ditto</div><div class='del'>-	* lib/tracer.rb: ditto</div><div class='del'>-	* lib/net/http.rb: ditto</div><div class='del'>-	* ext/syslog/lib/syslog/logger.rb: ditto</div><div class='del'>-	* sample/pty/expect_sample.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Jul 18 21:30:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_sq_fast): Specialize the last iteration of the</div><div class='del'>-	  outer loop.</div><div class='del'>-	  (bigfixize): A condition simplified.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 21:15:41 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_equal): compare RARRAY_PTR() for performance</div><div class='del'>-	  improvement in case of that self and other are shared.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 20:44:51 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): use memfill().</div><div class='del'>-</div><div class='del'>-Thu Jul 18 20:35:14 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_count): check length to avoid SEGV</div><div class='del'>-	  while iterating. Remove other pointer loop when arg is given.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_count): add test for bug.</div><div class='del'>-	  [ruby-core:56072] [Bug #8654]</div><div class='del'>-</div><div class='del'>-Thu Jul 18 18:14:36 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_count): iterate items appropriately.</div><div class='del'>-	  [Bug #8654]</div><div class='del'>-</div><div class='del'>-Thu Jul 18 17:35:41 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_flatten): performance improvement by not using</div><div class='del'>-	  rb_hash_to_a() to avoid array creation with rb_assoc_new().</div><div class='del'>-</div><div class='del'>-Thu Jul 18 16:16:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: add logging feature for RGenGC's write barrier unprotect</div><div class='del'>-	  event.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 15:45:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): make only</div><div class='del'>-	  rb_set_safe_level(4) an error always but make rb_secure(4) an error</div><div class='del'>-	  only in the core.  [ruby-dev:47517] [Bug #8652]</div><div class='del'>-</div><div class='del'>-Thu Jul 18 15:42:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: fix spell miss.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 15:11:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_safe_level_4): get rid of special</div><div class='del'>-	  character.  [ruby-dev:47512] [misc #8646]</div><div class='del'>-</div><div class='del'>-Thu Jul 18 14:51:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_alloc): slim setup process.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 14:37:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_alloc): no need to clear RString (already cleared).</div><div class='del'>-</div><div class='del'>-Thu Jul 18 12:57:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BDIGITS_ZERO): Defined.</div><div class='del'>-	  (bary_pack): Use BDIGITS_ZERO.</div><div class='del'>-	  (bary_unpack): Ditto.</div><div class='del'>-	  (bary_mul_single): Ditto.</div><div class='del'>-	  (bary_mul_normal): Ditto.</div><div class='del'>-	  (bary_sq_fast): Ditto.</div><div class='del'>-	  (bary_mul_balance_with_mulfunc): Ditto.</div><div class='del'>-	  (bary_mul_precheck): Ditto.</div><div class='del'>-	  (bary_mul_toom3_branch): Ditto.</div><div class='del'>-	  (rb_cstr_to_inum): Ditto.</div><div class='del'>-	  (big_shift3): Ditto.</div><div class='del'>-	  (bigmul1_toom3): Ditto.</div><div class='del'>-	  (bary_divmod): Ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 18 06:30:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename gc related functions with prefix "gc_".</div><div class='del'>-	  * before_gc_sweep() -&gt; gc_before_sweep().</div><div class='del'>-	  * after_gc_sweep()  -&gt; gc_after_sweep().</div><div class='del'>-	  * lazy_sweep()      -&gt; gc_lazy_sweep().</div><div class='del'>-	  * rest_sweep()      -&gt; gc_rest_sweep().</div><div class='del'>-	  * slot_sweep()      -&gt; gc_slot_sweep().</div><div class='del'>-</div><div class='del'>-	* gc.c: rename a heap management function with prefix "heap_".</div><div class='del'>-	  * get_freeobj() -&gt; heap_get_freeobj().</div><div class='del'>-</div><div class='del'>-	* gc.c: rename markable_object_p() to is_markable_object().</div><div class='del'>-</div><div class='del'>-Wed Jul 17 22:57:40 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (delete_if_i): use ST_DELETE.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 22:34:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: An static assertion for relation of SIZEOF_LONG and</div><div class='del'>-	  SIZEOF_BDIGITS is added.</div><div class='del'>-	  (bary_mul_precheck): Reduce comparisons.</div><div class='del'>-	  (bary_mul): Invoke bary_sq_fast or bary_mul1 if the bignum size is</div><div class='del'>-	  small.</div><div class='del'>-	  (bigfixize): Resize the argument bignum here.</div><div class='del'>-	  (bignorm): Don't call bigtrunc after bigfixize.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 22:13:26 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_replace): performance improvement by using</div><div class='del'>-	  st_copy().</div><div class='del'>-</div><div class='del'>-Wed Jul 17 17:19:54 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename heap management functions with prefix "heap_".</div><div class='del'>-	  * allocate_sorted_array() -&gt; heap_allocate_sorted_array().</div><div class='del'>-	  * slot_add_freeobj()      -&gt; heap_slot_add_freeobj().</div><div class='del'>-	  * assign_heap_slot()      -&gt; heap_assign_slot().</div><div class='del'>-	  * add_heap_slots()        -&gt; heap_add_slots().</div><div class='del'>-	  * init_heap()             -&gt; heap_init().</div><div class='del'>-	  * set_heap_increment()    -&gt; heap_set_increment().</div><div class='del'>-</div><div class='del'>-	* gc.c (initial_expand_heap): inlined in rb_gc_set_params().</div><div class='del'>-</div><div class='del'>-Wed Jul 17 17:12:23 2013  Matthew M. Boedicker  &lt;matthewm@boedicker.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_fetch): Add key name to message on ENV.fetch KeyError,</div><div class='del'>-	  as well as Hash#fetch.  [ruby-core:56062] [Feature #8649]</div><div class='del'>-</div><div class='del'>-Wed Jul 17 15:59:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: catch up last changes for debugging/checking mode.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 15:50:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): free slot itself.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_each_objects): fix condition.</div><div class='del'>-	  Use slot-&gt;body instead of slot.</div><div class='del'>-</div><div class='del'>-	* gc.c (count_objects): use "slot" variable.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 15:21:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (unlink_heap_slot): fix memory leak.</div><div class='del'>-	  free slot itself at free_heap_slot().</div><div class='del'>-</div><div class='del'>-	  Reproduce-able code is here:</div><div class='del'>-	    N1 = 100_000; N2 = 1_000_000</div><div class='del'>-	    N1.times{ary = []; N2.times{ary &lt;&lt; ''}}</div><div class='del'>-	  Maybe this problem is remaining in Ruby 2.0.0.</div><div class='del'>-</div><div class='del'>-	* gc.c (unlink_heap_slot): remove not working code.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 14:31:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: re-design the heap structure.</div><div class='del'>-</div><div class='del'>-	  (1) The heap is consists of a set of slots.</div><div class='del'>-	  (2) Each "slot" has a "slot_body".</div><div class='del'>-	      slot::start and slot::limit specify RVALUE beginning address</div><div class='del'>-	      and number of RVALUE in a "slot_body".</div><div class='del'>-	  (3) "slot_body" contains a pointer to slot (slot_body::header::slot)</div><div class='del'>-	      and an array of RVALUE.</div><div class='del'>-	  (4) heap::sorted is an array of "slots", sorted by an address of</div><div class='del'>-	      slot::body.</div><div class='del'>-</div><div class='del'>-	  See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design</div><div class='del'>-	  for more details (figure).</div><div class='del'>-</div><div class='del'>-	* gc.c: Avoid "heaps" terminology. It is ambiguous.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 13:29:16 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix heaps_header and heaps_slot to reduce memory consumption.</div><div class='del'>-	  (1) move heaps_header::start and limit to  heaps_slot.</div><div class='del'>-	  (2) remove heaps_header::end which can be calculated by start+limit.</div><div class='del'>-</div><div class='del'>-	* gc.c: catch up above change.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 12:30:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (st_strcasecmp): Macro defined for compatibility.</div><div class='del'>-	  (st_strncasecmp): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 11:57:45 2013  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI::Util#escape, unescape): Avoid use of regexp</div><div class='del'>-	  special global variable. [Feature #8648] Thanks to fotos.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 11:57:10 2013  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Util#url_encode): Avoid use of regexp special global</div><div class='del'>-	  variable. [Feature #8648] Thanks to fotos.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 08:12:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_locale_insensitive_strcasecmp): Renamed from st_strcasecmp.</div><div class='del'>-	  (st_locale_insensitive_strncasecmp): Renamed from st_strncasecmp.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: Follow above changes.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 17 00:14:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_toom3): Use bigdivrem_single instead of bigdivrem.</div><div class='del'>-	  (big_three): Removed.</div><div class='del'>-	  (Init_Bignum): Don't initialize big_three.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 21:46:03 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r42008. strcasecmp() uses the current locale.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* st.c (st_strcasecmp): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 21:07:04 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check strcasecmp().</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it</div><div class='del'>-	  exists.</div><div class='del'>-</div><div class='del'>-	* st.c (st_strcasecmp): define the function only if strcasecmp()</div><div class='del'>-	  doesn't exist.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 20:21:28 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsq): Renamed from bigsqr.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 19:42:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (USHORT): Unused macro removed.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 19:18:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: slim a path of newobj_of().</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace): add a new field objspace::freelist, which contains</div><div class='del'>-	  available RVALUEs.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): simply call new function `get_freeobj()'.</div><div class='del'>-	  get_freeobj() returns objspace::freelist. If  objspace::freelist</div><div class='del'>-	  is not available, refill objspace::freelist with a slot pointed by</div><div class='del'>-	  objspace::heap::free_slots.</div><div class='del'>-</div><div class='del'>-	* gc.c (before_gc_sweep): clear objspace::freelist.</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep): clear slot::freelist.</div><div class='del'>-</div><div class='del'>-	* gc.c (heaps_prepare_freeslot): renamed to heaps_prepare_freeslot.</div><div class='del'>-</div><div class='del'>-	* gc.c (unlink_free_heap_slot): remove unused function.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_free_const_table): remove unused function.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 19:05:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_shift3): Big shift width is not a problem for right</div><div class='del'>-	  shift.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 18:50:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_count): [DOC] fix typo.  Array#count uses ==, not</div><div class='del'>-	  ===.  a question at asakusa.rb ML.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 18:35:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_karatsuba): Avoid duplicate calculation when</div><div class='del'>-	  squaring.</div><div class='del'>-	  (bary_mul_toom3_branch): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 17:43:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (link_free_heap_slot): removed.</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep): use `heaps_add_freeslot' instead of</div><div class='del'>-	  `link_free_heap_slot'.</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot): use local variable `slot' instead of</div><div class='del'>-	  `heaps'.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 17:21:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (assign_heap_slot): refactoring variable names.</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_add_freeobj): added.</div><div class='del'>-</div><div class='del'>-	* gc.c (heaps_add_freeslot): added.</div><div class='del'>-</div><div class='del'>-	* gc.c (finalize_list, rb_gc_force_recycle, slot_sweep): use</div><div class='del'>-	  `slot_add_freeobj' instead of modifying linked list directly.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 16:30:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (lazy_sweep): refactoring.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 13:32:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_set_index): since r41967, old terminator is dealt</div><div class='del'>-	  with in str_fill_term().  should not consider it here because this</div><div class='del'>-	  function is called before any encoding is set.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 11:12:03 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_block_arity): raise ArgumentError if no block given.</div><div class='del'>-</div><div class='del'>-Tue Jul 16 08:15:22 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] document top-level</div><div class='del'>-	  classes from BigDecimal utils native extensions</div><div class='del'>-</div><div class='del'>-Tue Jul 16 03:23:03 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: [DOC] improve rdoc formatting for parameters and links</div><div class='del'>-</div><div class='del'>-Mon Jul 15 14:40:00 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big2str0): Deprecated.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2str1): Renamed from rb_big2str0.</div><div class='del'>-	  (rb_big2str0): Deprecated wrapper for rb_big2str1.</div><div class='del'>-	  (rb_big2str): Invoke rb_big2str1 instead of rb_big2str0.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 14:13:02 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_each_pair): use rb_yield_values(2, key, value)</div><div class='del'>-	  instead of rb_yield(rb_assoc_new(key, value)) if rb_block_arity()</div><div class='del'>-	  is greater than 1.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 13:46:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Add static assertions.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 13:36:02 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_each_pair): performance improvement by using</div><div class='del'>-	  rb_block_arity().</div><div class='del'>-</div><div class='del'>-Mon Jul 15 13:15:37 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_block_arity): create internal API rb_block_arity().</div><div class='del'>-	  it returns arity of given block.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 13:07:27 2013  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Prime::EratosthenesGenerator,</div><div class='del'>-	  Prime::EratosthenesSieve): New implementation by</div><div class='del'>-	  robertjlooby &lt;robertjlooby AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb: updated with new method name</div><div class='del'>-</div><div class='del'>-Mon Jul 15 11:32:46 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_cNumeric): [DOC] Added comment for Numeric to fix doc</div><div class='del'>-</div><div class='del'>-Mon Jul 15 11:24:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (maxpow_in_bdigit_dbl): Useless #if removed.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 11:10:46 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_coerce): [DOC] Add docs for Bignum#coerce</div><div class='del'>-	  Based on patch by Juanito Fatas [Fixes GH-360]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/360</div><div class='del'>-</div><div class='del'>-Mon Jul 15 10:56:01 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_sleep): [DOC] Awake thread will reacquire lock</div><div class='del'>-	  By Tim Abdulla [Fixes GH-342] https://github.com/ruby/ruby/pull/342</div><div class='del'>-</div><div class='del'>-Mon Jul 15 10:45:09 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (nlz16): Use __builtin_clz if possible.</div><div class='del'>-	  (nlz32): Use __builtin_clz or __builtin_clzl if possible.</div><div class='del'>-	  (nlz64): Use __builtin_clzl or __builtin_clzll if possible.</div><div class='del'>-	  (nlz128): Use __builtin_clzll if possible.</div><div class='del'>-</div><div class='del'>-	* configure.in: Check __builtin_clz, __builtin_clzl and</div><div class='del'>-	  __builtin_clzll.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 09:39:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (power_cache_get_power): Use bitsize instead of ceil_log2.</div><div class='del'>-	  (ones): Removed.</div><div class='del'>-	  (next_pow2): Removed.</div><div class='del'>-	  (floor_log2): Removed.</div><div class='del'>-	  (ceil_log2): Removed.</div><div class='del'>-</div><div class='del'>-	* configure.in (__builtin_popcountl): Don't check.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 02:47:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* localeinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):</div><div class='del'>-	  move from encoding.c.</div><div class='del'>-</div><div class='del'>-	* miniinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):</div><div class='del'>-	  define miniruby specific functions only.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 02:32:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): no longer needs NO_PRESERVED_ENCODING.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_inspect): defer loading autoloaded encoding.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_check_encoding): use is_data_encoding() to check</div><div class='del'>-	  type consistently.</div><div class='del'>-</div><div class='del'>-	* encoding.c (must_encoding): return rb_encoding* instead of encoding</div><div class='del'>-	  index.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_check_encoding): use is_data_encoding() to check</div><div class='del'>-	  type consistently.</div><div class='del'>-</div><div class='del'>-	* encoding.c (must_encoding): return rb_encoding* instead of encoding</div><div class='del'>-	  index.</div><div class='del'>-</div><div class='del'>-Mon Jul 15 02:21:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_fill_term): consider old terminator length, and should</div><div class='del'>-	  not use rb_enc_ascget since it depends on the current encoding which</div><div class='del'>-	  may not be compatible with the new terminator.  [Bug #8634]</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_inspect): use PRIsVALUE to preserve the result</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Sun Jul 14 23:21:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check __builtin_popcountl, __builtin_bswap32 and</div><div class='del'>-	  __builtin_bswap64.</div><div class='del'>-</div><div class='del'>-	* internal.h (swap32): Use the configure result for the condition to</div><div class='del'>-	  use __builtin_bswap32.</div><div class='del'>-	  (swap64): Use the configure result for the condition to use</div><div class='del'>-	  __builtin_bswap64.</div><div class='del'>-</div><div class='del'>-	* bignum.c (ones): Use the configure result for the condition to use</div><div class='del'>-	  __builtin_popcountl.</div><div class='del'>-	  (bary_unpack_internal): Use appropriate types for swap argument.</div><div class='del'>-</div><div class='del'>-Sun Jul 14 22:21:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_subb): Support xn &lt; yn.</div><div class='del'>-	  (bigsub_core): Removed.</div><div class='del'>-	  (bigsub): Don't compare before subtraction.  Just subtract and</div><div class='del'>-	  get the two's complement if the subtraction causes a borrow.</div><div class='del'>-</div><div class='del'>-Sun Jul 14 00:36:03 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (DIGSPERLONG): Unused macro removed.</div><div class='del'>-	  (DIGSPERLL): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 14 00:32:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_aref): Less scan when the number is negative.</div><div class='del'>-</div><div class='del'>-Sun Jul 14 00:17:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_shift): Avoid signed integer overflow.</div><div class='del'>-</div><div class='del'>-Sun Jul 14 00:14:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_precheck): Use bary_small_lshift or</div><div class='del'>-	  bary_mul_normal if xl is 1.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 22:58:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_shift3): New function.</div><div class='del'>-	  big_lshift and big_rshift are merged.</div><div class='del'>-	  (big_shift2): New function.</div><div class='del'>-	  (big_lshift): Use big_shift3.</div><div class='del'>-	  (big_rshift): Ditto.</div><div class='del'>-	  (check_shiftdown): Removed.</div><div class='del'>-	  (rb_big_lshift): Use big_shift2 and big_shift3.</div><div class='del'>-	  (rb_big_rshift): Ditto.</div><div class='del'>-	  (big_lshift): Removed.</div><div class='del'>-	  (big_rshift): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 15:51:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_small_lshift): Use size_t instead of long.</div><div class='del'>-	  (bary_small_rshift): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 15:33:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_small_lshift): Functions moved to remove</div><div class='del'>-	  declaration.</div><div class='del'>-	  (bary_small_rshift): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 12:27:34 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): fill new terminator length, not</div><div class='del'>-	  old one.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 12:24:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32: move from ext/dl and ext/fiddle.  since ext/extmk.rb</div><div class='del'>-	  builds extensions in alphabetical order, compiled?('fiddle') under</div><div class='del'>-	  ext/dl makes no sense.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 09:26:09 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (biglsh_bang): Removed.</div><div class='del'>-	  (bigrsh_bang): Ditto.</div><div class='del'>-	  (bigmul1_toom3): Use bary_small_lshift and bary_small_rshift.</div><div class='del'>-</div><div class='del'>-Sat Jul 13 01:04:43 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/psych_additions.rb: Ignore Psych docs here</div><div class='del'>-</div><div class='del'>-Fri Jul 12 18:10:46 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/win32/lib/win32/registry.rb</div><div class='del'>-	  (Win32::Registry::API#make_wstr): same as r41922.</div><div class='del'>-</div><div class='del'>-Fri Jul 12 16:28:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): refill the terminator if it</div><div class='del'>-	  becomes longer than before.  [ruby-dev:47500] [Bug #8624]</div><div class='del'>-</div><div class='del'>-	* string.c (str_null_char, str_fill_term): get rid of out of bound</div><div class='del'>-	  access.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_fill_terminator): add a parameter for the length of</div><div class='del'>-	  new terminator.</div><div class='del'>-</div><div class='del'>-Fri Jul 12 11:26:25 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_reject_bang): do not call rb_hash_foreach() if RHash</div><div class='del'>-	  has ntbl and it is empty.</div><div class='del'>-</div><div class='del'>-Fri Jul 12 11:17:41 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (recursive_hash): use RHASH_SIZE() to check hash size.</div><div class='del'>-</div><div class='del'>-Fri Jul 12 00:20:00 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_size): use RHASH_SIZE().</div><div class='del'>-</div><div class='del'>-Fri Jul 12 00:08:24 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_values): set array capa to RHASH_SIZE().</div><div class='del'>-</div><div class='del'>-Thu Jul 11 23:54:45 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_keys): set array capa to RHASH_SIZE().</div><div class='del'>-</div><div class='del'>-Thu Jul 11 21:30:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pow): undef pow to get rid of infinite</div><div class='del'>-	  recursive call.  re-fix [Bug #8495].  [ruby-core:55923] [Bug #8621]</div><div class='del'>-</div><div class='del'>-Thu Jul 11 20:18:13 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/registry.rb (Win32::Registry::API#make_wstr):</div><div class='del'>-	  remove workaround to append WCHAR terminator.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_encode_associate): fill terminator after conversion.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_new, rb_str_set_len, rb_str_resize): fill</div><div class='del'>-	  minimum length of the encoding as the terminator.</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat, rb_str_buf_append, rb_str_splice_0): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent_expand, rb_str_modify_expand): make</div><div class='del'>-	  the capacity enough for multi-byte terminator.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value_cstr): fill minimum length of the encoding</div><div class='del'>-	  as the terminator.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value_cstr): check null char in char, not in</div><div class='del'>-	  byte.</div><div class='del'>-</div><div class='del'>-Thu Jul 11 14:48:35 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Replace confusing example for #reverse_each in overview</div><div class='del'>-	  Patch by Earl St Sauver [Fixes documenting-ruby/ruby-12]</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/12</div><div class='del'>-</div><div class='del'>-Thu Jul 11 14:22:37 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_eq.rb: Use localhost for drb tests [Bug #7311]</div><div class='del'>-	  Patch by Vit Ondruch [ruby-core:49101]</div><div class='del'>-	* test/drb/ut_array.rb: ditto</div><div class='del'>-	* test/drb/ut_array_drbssl.rb: ditto</div><div class='del'>-</div><div class='del'>-Thu Jul 11 13:48:03 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c: Fix typo patch by @hynkle [Fixes GH-357]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/357</div><div class='del'>-</div><div class='del'>-Thu Jul 11 13:00:34 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: Refactor conditions by Rafal Chmiel</div><div class='del'>-	  [Fixes GH-326] https://github.com/ruby/ruby/pull/326</div><div class='del'>-</div><div class='del'>-Thu Jul 11 12:04:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Don't use toom3 after once karatsuba is chosen.</div><div class='del'>-	  (mulfunc_t): New type.</div><div class='del'>-	  (bary_mul_toom3_start): Renamed from bary_mul.</div><div class='del'>-	  (bary_mul_karatsuba_start): Renamed from bary_mul.</div><div class='del'>-	  (bary_mul_balance_with_mulfunc): Renamed from bary_mul_balance and</div><div class='del'>-	  new argument, mulfunc, is added.</div><div class='del'>-	  (rb_big_mul_balance): Invoke bary_mul_balance_with_mulfunc with</div><div class='del'>-	  bary_mul_toom3_start.</div><div class='del'>-	  (bary_mul_karatsuba): Invoke bary_mul_karatsuba_start instead of</div><div class='del'>-	  bary_mul.</div><div class='del'>-	  (bary_mul_precheck): Extracted from bary_mul.</div><div class='del'>-	  (bary_mul_karatsuba_branch): Extracted from bary_mul.</div><div class='del'>-	  (bary_mul_karatsuba_start): New function to call bary_mul_precheck</div><div class='del'>-	  and bary_mul_karatsuba_branch.</div><div class='del'>-	  (bary_mul_toom3_branch): Extracted from bary_mul.</div><div class='del'>-	  (bary_mul_toom3_start): New function to call bary_mul_precheck and</div><div class='del'>-	  bary_mul_toom3_branch.</div><div class='del'>-	  (bary_mul): Just call bary_mul_toom3_start.</div><div class='del'>-	  Arguments for work memory are removed.</div><div class='del'>-	  (rb_cstr_to_inum): Follow the bary_mul change.</div><div class='del'>-	  (bigmul0): Ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 11 10:46:38 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/probes_to_wiki.rb: fix usage comment.  use Enumerable#grep</div><div class='del'>-	  which yields each elements to reduce unnecessary array.</div><div class='del'>-</div><div class='del'>-Thu Jul 11 10:09:18 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_daemon): daemon(3) is implemented with fork(2).</div><div class='del'>-	  Therefore it needs rb_thread_atfork(). (and revert r41903)</div><div class='del'>-</div><div class='del'>-Thu Jul 11 03:22:10 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/probes_to_wiki.rb: adding a script to convert probes.d to wiki</div><div class='del'>-	  format for easy wiki updates.</div><div class='del'>-</div><div class='del'>-Thu Jul 11 00:54:07 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* man/ri.1: Incorrect use of .Dd macro [Bug #8620] by Tristan Hill</div><div class='del'>-</div><div class='del'>-Thu Jul 11 00:48:29 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: Add example for __setobj__ and __getobj__</div><div class='del'>-	  [Bug #8615] Patch by Caleb Thompson</div><div class='del'>-</div><div class='del'>-Wed Jul 10 23:29:22 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Use :call-seq: for method signature rdoc</div><div class='del'>-</div><div class='del'>-Wed Jul 10 23:23:18 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (#add): Remove incorrect rdoc for return value</div><div class='del'>-	  [Bug #8567] Reported by Tim Pease.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 23:12:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpos): make public function.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 22:44:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Add a static assertion for RBIGNUM_EMBED_LEN_MAX.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 22:31:25 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): cache single byte flag and some</div><div class='del'>-	  cosmetic changes.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 22:03:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_2comp): Don't use bary_plus_one.</div><div class='del'>-	  (bary_add_one): Replaced by the implementation of bary_plus_one.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 20:48:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (sizeof_bdigit_dbl): check sizeof(BDIGIT_DBL).</div><div class='del'>-</div><div class='del'>-	* internal.h (STATIC_ASSERT): move from enum.c.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 20:08:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (SIZEOF_BDIGIT_DBL): Add a ifdef guard for test.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 14:18:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (fork_daemon): kill the other threads all and abandon the</div><div class='del'>-	  kept mutexes.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 11:35:36 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (TestNetHTTP_v1_2#test_get,</div><div class='del'>-	  TestNetHTTP_v1_2_chunked#test_get): shouldn't check</div><div class='del'>-	  HttpResponse#decode_content if Zlib is not available.</div><div class='del'>-	  ko1 complained via IRC.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 10:20:07 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: always require rubygems to stabilize rubygems</div><div class='del'>-	  related status like whether Gem::Specification is defined or not.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (Gem::Specification.unresolved_deps): define stub.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 08:21:15 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Import RubyGems 2.1</div><div class='del'>-	* test/rubygems:  Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 07:34:34 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb:  Remove siteconf file after</div><div class='del'>-	  building the gem.</div><div class='del'>-	* test/rubygems/test_gem_ext_ext_conf_builder.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/psych_tree.rb (module Gem):  Add backward compatibility</div><div class='del'>-	  for r41148</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Add backward compatibility for</div><div class='del'>-	  double-slash elimination.</div><div class='del'>-</div><div class='del'>-Wed Jul 10 06:22:27 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date_zone_to_diff): [ruby-core:55831].</div><div class='del'>-</div><div class='del'>-Wed Jul 10 00:41:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul): x*1 is x.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 22:24:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul1): No need to invoke MEMZERO at last.</div><div class='del'>-	  (bary_mul_single): Invoke MEMZERO here.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 21:40:01 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_text.rb: Add missing tests for Text#&lt;&lt;.</div><div class='del'>-	  Reported by nagachika. Thanks!!!</div><div class='del'>-</div><div class='del'>-Tue Jul  9 18:02:38 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#chown_R): Do not skip traversal even</div><div class='del'>-	  if user and group are both nil, to be consistent with #chown and</div><div class='del'>-	  other commands.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 17:58:26 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb</div><div class='del'>-	  (TestFileUtils#assert_output_lines): New utility assertion</div><div class='del'>-	  method for testing verbose output.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 17:43:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tracer.rb: catch up recent rubygems changes.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 16:58:30 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/{dl,fiddle}/win32/lib/win32/registry.rb: hope that the final</div><div class='del'>-	  resolution to fix the failure of test-all.  and includes Win64</div><div class='del'>-	  support (fixed a potential bug).</div><div class='del'>-</div><div class='del'>-Tue Jul  9 15:57:20 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Fix rdoc for Kernel#&lt;=&gt;. [Fixes GH-352]</div><div class='del'>-</div><div class='del'>-Tue Jul  9 15:53:51 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#mode_to_s): Define mode_to_s() also</div><div class='del'>-	  as singleton method, or FileUtils.chmod fails in verbose mode.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 15:16:02 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb</div><div class='del'>-	  (Test::Unit::FileAssertions#assert_not_symlink): Add a missing</div><div class='del'>-	  optional argument "message".</div><div class='del'>-</div><div class='del'>-Tue Jul  9 15:03:24 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): If user</div><div class='del'>-	  and group are both nil, print ":".</div><div class='del'>-</div><div class='del'>-Tue Jul  9 12:47:08 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (appendline): use READ_CHAR_PENDING_XXX macros and</div><div class='del'>-	  RSTRING_END().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_getline_1): rewrite nested if statement into one</div><div class='del'>-	  statement.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 11:04:35 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/{dl,fiddle}/win32/lib/win32/registry.rb (Win32::Registry#check):</div><div class='del'>-	  should report the position of the error.</div><div class='del'>-</div><div class='del'>-	* ext/{dl,fiddle}/win32/lib/win32/registry.rb</div><div class='del'>-	  (Win32::Registry#QueryValue): workaround for test-all crash.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 10:27:56 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/{dl,fiddle}/win32/lib/win32/registry.rb</div><div class='del'>-	  (Win32::Registry.expand_environ): use suitable encoding for the</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-	* ext/{dl,fiddle}/win32/lib/win32/registry.rb (Win32::Registry#read):</div><div class='del'>-	  should return REG_SZ, REG_EXPAND_SZ and REG_MULTI_SZ values with</div><div class='del'>-	  the expected encoding -- assumed as the same encoding of name.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 10:02:45 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/{dl,fiddle}/win32/lib/win32/registry.rb</div><div class='del'>-	  (Win32::Registry::Error#initialize): use suitable encoding for the</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 09:46:53 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/registry.rb (Win32::Registry.expand_environ):</div><div class='del'>-	  use suitable encoding for the string.  fixed a test-all error of</div><div class='del'>-	  r41838.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/win32/lib/win32/registry.rb: same changes of r41838 and</div><div class='del'>-	  this revision of dl's win32/registry.rb.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 07:39:45 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.0.4.  See</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/2.0/History.txt for changes</div><div class='del'>-</div><div class='del'>-Tue Jul  9 01:47:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (biglsh_bang): Don't shift a BDIGIT with BITSPERDIG bits.</div><div class='del'>-	  (bigrsh_bang): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 01:17:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigrsh_bang): Fix bignum digits overrun.</div><div class='del'>-</div><div class='del'>-Tue Jul  9 00:46:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (biglsh_bang): Fix bignum digits under-run.</div><div class='del'>-</div><div class='del'>-Mon Jul  8 23:36:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/win32/lib/win32/registry.rb (Error, API): use WCHAR</div><div class='del'>-	  interfaces.  c.f. [Bug #8508]</div><div class='del'>-</div><div class='del'>-Mon Jul  8 23:13:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_pow): move from win32.h and disable strict</div><div class='del'>-	  ANSI mode macro to let _controlfp() stuff defined.</div><div class='del'>-	  [ruby-core:55312] [Bug #8495]</div><div class='del'>-</div><div class='del'>-	* numeric.c (finite): add declaration for strict ANSI.</div><div class='del'>-	  [ruby-core:55312] [Bug #8495]</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (w32_thread_start_func, thread_start_func_1),</div><div class='del'>-	  (timer_thread_func): use __stdcall instead of _stdcall which is</div><div class='del'>-	  unavailable in strict ANSI mode.  [ruby-core:55312] [Bug #8495]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gettimeofday): use __cdecl instead of _cdecl.</div><div class='del'>-</div><div class='del'>-Mon Jul  8 22:41:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul): Arguments for work memory added.</div><div class='del'>-	  (bary_mul_balance): Ditto.</div><div class='del'>-	  (bary_mul_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  8 22:03:30 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_sq_fast): New function for testing.</div><div class='del'>-	  (rb_big_mul_toom3): Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_sq_fast): Declared.</div><div class='del'>-	  (rb_big_mul_toom3): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  8 21:59:34 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_balance): Initialize a local variable to suppress</div><div class='del'>-	  a warning.</div><div class='del'>-</div><div class='del'>-Mon Jul  8 20:55:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_balance): Reduce work memory.</div><div class='del'>-</div><div class='del'>-Mon Jul  8 08:26:15 2013  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb: Skip tests for "Oakley" curves as</div><div class='del'>-	  they are not suitable for ECDSA.</div><div class='del'>-	  [ruby-core:54881] [Bug #8384]</div><div class='del'>-</div><div class='del'>-Mon Jul  8 08:03:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul): Add a RB_GC_GUARD.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 23:56:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_karatsuba): Unreachable code removed.  Remove</div><div class='del'>-	  several branches.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 22:59:06 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_mul_normal): Declared.</div><div class='del'>-	  (rb_big_mul_balance): Ditto.</div><div class='del'>-	  (rb_big_mul_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_mul_normal): New function for tests.</div><div class='del'>-	  (rb_big_mul_balance): Ditto.</div><div class='del'>-	  (rb_big_mul_karatsuba): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 19:21:30 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Reorder functions to decrease forward reference.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 14:41:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: (bigsub_core): Use bary_sub.</div><div class='del'>-	  (bary_sub): Returns a borrow flag.  Use bary_subb.</div><div class='del'>-	  (bary_subb): New function for actually calculating subtraction with</div><div class='del'>-	  borrow.</div><div class='del'>-	  (bary_sub_one): New function.</div><div class='del'>-	  (bigadd_core): Use bary_add.</div><div class='del'>-	  (bary_add): Returns a carry flag.  Use bary_addc.</div><div class='del'>-	  (bary_addc): New function for actually calculating addition with</div><div class='del'>-	  carry.</div><div class='del'>-	  (bary_add_one): New function.</div><div class='del'>-	  (bary_muladd_1xN): Extracted from bary_mul_normal.</div><div class='del'>-	  (bigmul1_normal): Removed.</div><div class='del'>-	  (bary_mul_karatsuba): New function.</div><div class='del'>-	  (bary_mul1): Invoke rb_thread_check_ints after bary_mul_normal.</div><div class='del'>-	  (bary_mul): Remove most and least significant zeros before actual</div><div class='del'>-	  multiplication.  Use bary_sq_fast, bary_mul_balance,</div><div class='del'>-	  bary_mul_karatsuba and bigmul1_toom3 as bigmul0.</div><div class='del'>-	  (bigmul1_balance): Removed.</div><div class='del'>-	  (bigmul1_karatsuba): Removed.</div><div class='del'>-	  (bigsqr_fast): Removed.</div><div class='del'>-	  (bary_sparse_p): Extracted from big_sparse_p.</div><div class='del'>-	  (big_sparse_p): Removed.</div><div class='del'>-	  (bigmul0): Use bary_mul.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 11:54:33 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add REXML::Text#&lt;&lt; related updates.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 11:49:19 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#&lt;&lt;): Support appending in not</div><div class='del'>-	  "raw" mode. [Bug #8602] [ruby-dev:47482]</div><div class='del'>-	  Reported by Ippei Obayashi. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sun Jul  7 11:43:13 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#&lt;&lt;): Support method chain use by "&lt;&lt;"</div><div class='del'>-	  like other objects.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 11:34:18 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text#clear_cache): Extract common</div><div class='del'>-	  cache clear code.</div><div class='del'>-</div><div class='del'>-Sun Jul  7 11:01:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_POSTPROCESS): dtrace version SUN D 1.11</div><div class='del'>-	  introduces a check in the dtrace compiler to ensure that probes</div><div class='del'>-	  actually exist. If there are no probes, then the -G step will</div><div class='del'>-	  fail. As this test is only being used to determine whether -G is</div><div class='del'>-	  necessary (for instance, on OSX it is not), adding a real probe to</div><div class='del'>-	  the conftest allows it to succeed on newer versions of dtrace.</div><div class='del'>-	  Patch by Eric Saxby &lt;sax AT livinginthepast.org&gt; at</div><div class='del'>-	  [ruby-core:55826].  [Fixes GH-351], [Bug #8606].</div><div class='del'>-</div><div class='del'>-Sun Jul  7 10:07:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_sq_fast): Extracted from bigsqr_fast and</div><div class='del'>-	  ensure not to access zds[2*xn].</div><div class='del'>-	  (bigsqr_fast): Allocate the result bignum with 2*xn words.</div><div class='del'>-</div><div class='del'>-Sat Jul  6 07:37:43 2013  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of</div><div class='del'>-	  OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not</div><div class='del'>-	  defined.</div><div class='del'>-	* test/openssl/test_pkey_ec.rb: Iterate over built-in curves</div><div class='del'>-	  (and assert their non-emptiness!) instead of hard-coding them, as</div><div class='del'>-	  this may cause problems with respect to the different availability</div><div class='del'>-	  of individual curves in individual OpenSSL builds.</div><div class='del'>-	  [ruby-core:54881] [Bug #8384]</div><div class='del'>-</div><div class='del'>-	  Thanks to Vit Ondruch for providing the patch!</div><div class='del'>-</div><div class='del'>-Sat Jul  6 07:12:39 2013  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509crl.rb: Remove unused variable.</div><div class='del'>-	  [ruby-core:53501] [Bug #8114]</div><div class='del'>-</div><div class='del'>-	  Thanks, Vipul Amler, for pointing this out!</div><div class='del'>-</div><div class='del'>-Sat Jul  6 06:37:10 2013  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: Provide CRYPTO_set_locking_callback() and</div><div class='del'>-	  CRYPTO_set_id_callback() callback functions ossl_thread_id and</div><div class='del'>-	  ossl_lock_callback to ensure the OpenSSL extension is usable in</div><div class='del'>-	  multi-threaded environments.</div><div class='del'>-	  [ruby-core:54900] [Bug #8386]</div><div class='del'>-</div><div class='del'>-	  Thanks, Dirkjan Bussink, for the patch!</div><div class='del'>-</div><div class='del'>-Sat Jul  6 06:06:16 2013  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/openssl/ssl.rb: Fix SSL client connection crash for SAN marked</div><div class='del'>-	  critical.</div><div class='del'>-	  The patch for CVE-2013-4073 caused SSL crash when a SSL server returns</div><div class='del'>-	  the certificate that has critical SAN value.  X509 extension could</div><div class='del'>-	  include 2 or 3 elements in it:</div><div class='del'>-</div><div class='del'>-	  [id, criticality, octet_string] if critical,</div><div class='del'>-	  [id, octet_string] if not.</div><div class='del'>-</div><div class='del'>-	  Making sure to pick the last element of X509 extension and use it as</div><div class='del'>-	  SAN value.</div><div class='del'>-	  [ruby-core:55685] [Bug #8575]</div><div class='del'>-</div><div class='del'>-	  Thank you @nahi for providing the patch!</div><div class='del'>-</div><div class='del'>-Sat Jul  6 04:49:38 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: register time objects so</div><div class='del'>-	  they are referenced as ids during output.</div><div class='del'>-	* test/psych/test_date_time.rb: corresponding test.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 20:46:39 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic): this</div><div class='del'>-	  assertion doesn't seems to be checking the unicode string on command</div><div class='del'>-	  line, but seems to be checking how to treat the unicode string from</div><div class='del'>-	  stdin.  so, should escape '\' before 'u'.  this fixes a test failure</div><div class='del'>-	  on Windows.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 19:05:40 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): Fix the</div><div class='del'>-	  wrong output message when user is nil, which should be "chown</div><div class='del'>-	  :group file" instead of "chown group file".</div><div class='del'>-</div><div class='del'>-Fri Jul  5 16:21:56 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TestRegexp#test_options_in_look_behind)</div><div class='del'>-	  (TestRegexp#assert_match_at): Add tests for another problem</div><div class='del'>-	  fixed in Onigmo 5.13.5.  Previously Onigmo did not allow option</div><div class='del'>-	  enclosures in look-behind, which makes it impossible to</div><div class='del'>-	  interpolate a regexp into another in the middle of a look-behind</div><div class='del'>-	  pattern.  cf. https://github.com/k-takata/Onigmo/pull/17</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb</div><div class='del'>-	  (TestRegexp#test_options_in_look_behind)</div><div class='del'>-	  (TestRegexp#assert_match_at): Parse regexps in run time rather</div><div class='del'>-	  than in compile time.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 12:14:40 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_notfound): after</div><div class='del'>-	  r41710, the path of command uses backslash as the separator on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 11:29:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (assert_raise_with_message): move from</div><div class='del'>-	  test/fileutils/test_fileutils.rb.  this is still experimental and</div><div class='del'>-	  the interface may be changed.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 11:08:00 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_spawn): r41710 made that if the command starts with</div><div class='del'>-	  a quote and includes slash, removed the top quote and NOT removed the</div><div class='del'>-	  last quote.</div><div class='del'>-	  this fixes test failures on test/ruby/test_process.rb and</div><div class='del'>-	  test/webrick.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 09:53:15 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-	* lib/mkmf.rb (CONFIG['CPPOUTFILE']): fix r41769; CONFIG['CPPOUTFILE']</div><div class='del'>-	  may be nil.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 05:39:53 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BARY_MUL1): Renamed from BARY_MUL.</div><div class='del'>-	  (bary_mul1): Renamed from bary_mul.</div><div class='del'>-	  (bary_mul): Renamed from bary_mul2.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 04:58:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_balance): Extracted from bigmul1_balance and</div><div class='del'>-	  use bary_mul2 and bary_add to decrease allocations.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 02:14:00 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#symbolic_modes_to_i): Fix the wrong</div><div class='del'>-	  character class [+-=], which happened to match all desired</div><div class='del'>-	  characters but also match undesired characters.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils.chmod{,_R}): Enhance the symbolic</div><div class='del'>-	  mode parser to support the permission symbols u/g/o and multiple</div><div class='del'>-	  actions as defined in SUS, so that chmod("g=o+w", file) works as</div><div class='del'>-	  expected.  Invalid symbolic modes are now rejected with</div><div class='del'>-	  ArgumentError.</div><div class='del'>-</div><div class='del'>-Fri Jul  5 00:25:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (have_framework): allow header file to check.</div><div class='del'>-	  [ruby-core:55745] [Bug #8593]</div><div class='del'>-</div><div class='del'>-Thu Jul  4 22:31:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_equal): Fixed an rb_obj_equal documentation typo</div><div class='del'>-	  where "a" was used instead of "obj".</div><div class='del'>-	  Fixes GH-349. Patch by @adnandoric</div><div class='del'>-</div><div class='del'>-Thu Jul  4 20:39:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: Exit with EXIT_FAILURE when it fails.</div><div class='del'>-</div><div class='del'>-Thu Jul  4 20:20:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (maxpow_in_bdigit_dbl): Use tables if available.</div><div class='del'>-	  (maxpow_in_bdigit): Ditto.</div><div class='del'>-	  (U16): New macro.</div><div class='del'>-	  (U32): Ditto.</div><div class='del'>-	  (U64): Ditto.</div><div class='del'>-	  (U128): Ditto.</div><div class='del'>-	  (maxpow16_exp): New table.</div><div class='del'>-	  (maxpow16_num): New table.</div><div class='del'>-	  (maxpow32_exp): New table.</div><div class='del'>-	  (maxpow32_num): New table.</div><div class='del'>-	  (maxpow64_exp): New table.</div><div class='del'>-	  (maxpow64_num): New table.</div><div class='del'>-	  (maxpow128_exp): New table.</div><div class='del'>-	  (maxpow128_num): New table.</div><div class='del'>-</div><div class='del'>-Thu Jul  4 18:25:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): Avoid temporary buffer allocation except</div><div class='del'>-	  very big base non-power-of-2 numbers.</div><div class='del'>-</div><div class='del'>-Thu Jul  4 15:51:56 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): use ONIGENC_MBCLEN_CHARFOUND_P correctly.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  4 10:04:11 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (): Merge Onigmo 5.13.5 23b523076d6f1161.</div><div class='del'>-</div><div class='del'>-	  * [bug]  (thanks Akinori MUSHA and Ippei Obayashi)</div><div class='del'>-	           Fix a renumbering bug in condition regexp with a named</div><div class='del'>-	           capture. [Bug #8583]</div><div class='del'>-	  * [spec] (thanks Akinori MUSHA)</div><div class='del'>-	    Allow ENCLOSE_OPTION in look-behind.</div><div class='del'>-</div><div class='del'>-Thu Jul  4 00:36:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (SIGNED_INTEGER_MAX): suppress warning C4146 on VC6.</div><div class='del'>-	  seems a logical ORed expression becomes unsigned.</div><div class='del'>-</div><div class='del'>-Thu Jul  4 00:13:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (rb_w32_atomic_cas): call InterlockedCompareExchange</div><div class='del'>-	  directly.</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_CAS): fix missing function call.</div><div class='del'>-</div><div class='del'>-Wed Jul  3 23:47:35 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_CAS): suppress C4022 and C4047 warnings in</div><div class='del'>-	  VC6.  only InterlockedCompareExchange is declared using PVOID.</div><div class='del'>-</div><div class='del'>-Wed Jul  3 22:29:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_digit36_to_number_table): Declared.</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_digit36_to_number_table): Moved from scan_digits.</div><div class='del'>-</div><div class='del'>-	* bignum.c (conv_digit): Use ruby_digit36_to_number_table.</div><div class='del'>-</div><div class='del'>-	* pack.c (hex2num): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul  3 18:12:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (install_dirs): revert DESTDIR prefix by r39841, since</div><div class='del'>-	  it is fixed by r41648.  [ruby-core:55760] [Bug #8115]</div><div class='del'>-</div><div class='del'>-Wed Jul  3 14:15:25 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (do_stat): use rb_w32_ustati64() in win32.c to get rid of</div><div class='del'>-	  mysterious behavior of FindFirstFile() Windows API which treat "&lt;"</div><div class='del'>-	  and "&gt;" like as wildcard characters.  [ruby-core:55764] [Bug #8597]</div><div class='del'>-</div><div class='del'>-Wed Jul  3 12:06:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (maxpow_in_bdigit): Renamed from calc_hbase and return</div><div class='del'>-	  maxpow.</div><div class='del'>-</div><div class='del'>-Tue Jul  2 23:47:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (roomof): Cast to long.</div><div class='del'>-	  (rb_ull2big): Fix bignew arguments.</div><div class='del'>-</div><div class='del'>-Tue Jul  2 21:17:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): Merge two temporary buffers.</div><div class='del'>-</div><div class='del'>-Tue Jul  2 20:25:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): Use BDIGIT_DBL to collect adjacent digits.</div><div class='del'>-	  (BDIGIT_DBL_MAX): New macro.</div><div class='del'>-	  (maxpow_in_bdigit_dbl): New function.</div><div class='del'>-</div><div class='del'>-Tue Jul  2 17:23:33 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc: add description of Module#using and</div><div class='del'>-	  refinement inheritance by module inclusion.</div><div class='del'>-</div><div class='del'>-Tue Jul  2 17:22:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: add EUC-JP and Windows-31J.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_char_to_option_kcode): use built-in encoding indexes in</div><div class='del'>-	  internal.h.</div><div class='del'>-</div><div class='del'>-	* internal.h: add UTF8-MAC.</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_utf8mac_encoding): use built-in encoding indexes in</div><div class='del'>-	  internal.h.</div><div class='del'>-</div><div class='del'>-	* internal.h: add UTF-{16,32} dummy encodings.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect, str_scrub0): use built-in encoding indexes</div><div class='del'>-	  in internal.h.</div><div class='del'>-</div><div class='del'>-	* internal.h: add UTF-{16,32}{BE,LE}.</div><div class='del'>-</div><div class='del'>-	* io.c (io_strip_bom): use built-in encoding indexes in internal.h.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_{ascii8bit,utf8,usascii}_encindex): use built-in</div><div class='del'>-	  encoding indexes for optimization.</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_inspect, rb_locale_encindex),</div><div class='del'>-	  (enc_set_filesystem_encoding, rb_filesystem_encindex): use built-in</div><div class='del'>-	  encoding indexes directly.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_set_index, rb_enc_associate_index): validate</div><div class='del'>-	  argument encoding index.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENCODING_SET): use rb_enc_set_index()</div><div class='del'>-	  instead of setting inlined bits directly.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_init): register preserved indexes.</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_preserved_encindex): move from encoding.c.</div><div class='del'>-</div><div class='del'>-Tue Jul  2 11:14:36 2013  Shota Fukumori  &lt;sorah@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_config): Fix to not replace $LDFLAGS with $libs</div><div class='del'>-	  (1.9.3 behavior) [ruby-core:55752] [Bug #8595]</div><div class='del'>-</div><div class='del'>-Tue Jul  2 00:39:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): Don't try mismatched</div><div class='del'>-	  address family if already failed.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 23:07:38 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/encdb.h.tmpl: define encoding index macros to use the index</div><div class='del'>-	  statically from C source.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 22:57:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul2): New function.</div><div class='del'>-	  (rb_cstr_to_inum): Use a better algorithm to compose the result</div><div class='del'>-	  if input length is very long.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 20:22:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h (RB_UNUSED_VAR, UNREACHABLE):</div><div class='del'>-	  import macros from ruby.h for 1.9.3.</div><div class='del'>-	  [Bug #8588] [ruby-core:55730]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: Bump version to 1.2.1.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 20:03:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): Use an address</div><div class='del'>-	  family for local address which is different to the remote</div><div class='del'>-	  address if no other choice.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 15:05:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#&lt;&lt;): use StringIO#set_encoding instead of creating</div><div class='del'>-	  new StringIO instance with String#force_encoding, forcing encoding</div><div class='del'>-	  discards the cached coderange bits and can make further operations</div><div class='del'>-	  very slow.  [ruby-core:55714] [Bug #8585]</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): keep coderange of</div><div class='del'>-	  ptr-&gt;string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_cr_str_buf_cat, rb_str_append): consider an empty</div><div class='del'>-	  string 7bit-clean and should not discard cached coderange of string</div><div class='del'>-	  to be appended.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 12:56:41 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_module): activate refinements in the ancestors of</div><div class='del'>-	  the argument module to support refinement inheritance by</div><div class='del'>-	  Module#include.  [ruby-core:55671] [Feature #8571]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 12:02:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): Skip leading zeros.</div><div class='del'>-</div><div class='del'>-Mon Jul  1 00:59:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (nlz16): New function.</div><div class='del'>-	  (nlz32): Ditto.</div><div class='del'>-	  (nlz64): Ditto.</div><div class='del'>-	  (nlz128): Ditto.</div><div class='del'>-	  (nlz): Redefined using an above function.</div><div class='del'>-	  (bitsize): New macro.</div><div class='del'>-	  (rb_cstr_to_inum): Use bitsize instead of nlz.</div><div class='del'>-</div><div class='del'>-Sun Jun 30 22:40:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Corrected a few comments. Patch by @Nullset14.</div><div class='del'>-	  Fixes GH-346.</div><div class='del'>-</div><div class='del'>-Sun Jun 30 21:53:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_to_inum): Use rb_integer_unpack if base is a power</div><div class='del'>-	  of 2.</div><div class='del'>-</div><div class='del'>-Sun Jun 30 10:59:23 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (join_argv): use backslash instead of slash in program</div><div class='del'>-	  path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason.</div><div class='del'>-	  [ruby-core:24309] [Bug #1771]</div><div class='del'>-</div><div class='del'>-	* io.c (spawnv, spawn): use UTF-8 spawn family.  [Bug #1771]</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_sh, proc_spawn_cmd, proc_spawn_sh): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (translate_char, join_argv, has_redirection): make</div><div class='del'>-	  codepage aware.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r):</div><div class='del'>-	  codepage independent versions.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_spawn): extract codepage aware code from</div><div class='del'>-	  rb_w32_spawn().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_uspawn): add UTF-8 version function.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_aspawn_flags): extract codepage aware code from</div><div class='del'>-	  rb_w32_aspawn_flags().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_uaspawn_flags, rb_w32_uaspawn_flags): add</div><div class='del'>-	  UTF-8 version functions.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_getenv): extract codepage aware code from</div><div class='del'>-	  rb_w32_ugetenv() and rb_w32_getenv().</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_stati64): extract codepage aware code from</div><div class='del'>-	  rb_w32_ustati64() and rb_w32_stati64().</div><div class='del'>-</div><div class='del'>-	* dln.h (DLN_FIND_EXTRA_ARG, DLN_FIND_EXTRA_ARG_DECL): allow extra</div><div class='del'>-	  arguments to dln_find_{exe,file}_r().</div><div class='del'>-</div><div class='del'>-	* dln_find.c (dln_find_exe_r, dln_find_file_r): add extract arguments.</div><div class='del'>-</div><div class='del'>-	* process.c (EXPORT_STR, EXPORT_DUP): convert to default process</div><div class='del'>-	  encoding if defined.</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_env_i): convert environment variables too.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): convert program path and arguments too.</div><div class='del'>-</div><div class='del'>-Sun Jun 30 01:57:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_rshift): Use abs2twocomp and twocomp2abs_bang.</div><div class='del'>-</div><div class='del'>-Sun Jun 30 00:14:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (RBIGNUM_SET_NEGATIVE_SIGN): New macro.</div><div class='del'>-	  (RBIGNUM_SET_POSITIVE_SIGN): Ditto.</div><div class='del'>-	  (rb_big_neg): Inline get2comp to avoid double negation.</div><div class='del'>-</div><div class='del'>-Sat Jun 29 23:26:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_neg): Extracted from bary_2comp.</div><div class='del'>-	  (bary_plus_one): Extracted from bary_2comp.</div><div class='del'>-	  (bary_2comp): Use bary_neg and bary_plus_one.</div><div class='del'>-	  (big_extend_carry): Extracted from get2comp.</div><div class='del'>-	  (get2comp): Use big_extend_carry.</div><div class='del'>-	  (rb_integer_unpack): Use big_extend_carry.</div><div class='del'>-	  (rb_big_neg): Use bary_neg.</div><div class='del'>-</div><div class='del'>-Sat Jun 29 22:31:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_2comp): Simplified.</div><div class='del'>-</div><div class='del'>-Sat Jun 29 09:33:53 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigor_int): Return -1 if y == -1.</div><div class='del'>-</div><div class='del'>-Sat Jun 29 09:07:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigor_int): Use RB_GC_GUARD.</div><div class='del'>-	  (bigxor_int): Take xn and hibitsx arguments.  Use twocomp2abs_bang.</div><div class='del'>-	  (rb_big_xor): Use abs2twocomp and twocomp2abs_bang.</div><div class='del'>-</div><div class='del'>-Sat Jun 29 08:19:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigand_int): Don't apply bitwise and for BDIGIT and long.</div><div class='del'>-	  (bigor_int): Take xn and hibitsx arguments.  Use twocomp2abs_bang.</div><div class='del'>-	  (rb_big_or): Use abs2twocomp and twocomp2abs_bang.</div><div class='del'>-</div><div class='del'>-Fri Jun 29 01:08:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): remove FIT_SQRT_LONG test as it was causing</div><div class='del'>-	  fix_mul to return an incorrect result for -2147483648*-2147483648</div><div class='del'>-	  on 64 bit platforms</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer_comb.rb (class TestIntegerComb): add test case</div><div class='del'>-</div><div class='del'>-Fri Jun 28 12:26:53 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): Allocate new bignum with same size to shorter</div><div class='del'>-	  argument if it's high bits are zero.</div><div class='del'>-</div><div class='del'>-Fri Jun 28 12:14:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): Don't use local</div><div class='del'>-	  addresses which address family is different to remote address.</div><div class='del'>-</div><div class='del'>-Fri Jun 28 08:06:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigand_int): Add arguments, xn and hibitsx.</div><div class='del'>-	  Use twocomp2abs_bang.</div><div class='del'>-</div><div class='del'>-Thu Jun 27 23:58:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (abs2twocomp_bang): Removed.</div><div class='del'>-	  (abs2twocomp): Take n_ret argument to return actual length.</div><div class='del'>-	  (rb_big_and): Follow above change.</div><div class='del'>-</div><div class='del'>-Thu Jun 27 22:52:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (get2comp): Use bary_2comp.</div><div class='del'>-	  (abs2twocomp_bang): New function.</div><div class='del'>-	  (abs2twocomp): New function.</div><div class='del'>-	  (twocomp2abs_bang): New function.</div><div class='del'>-	  (rb_big_and): Use abs2twocomp and twocomp2abs_bang.</div><div class='del'>-</div><div class='del'>-Thu Jun 27 20:03:13 2013  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (verify_certificate_identity): fix</div><div class='del'>-	  hostname verification. Patched by nahi.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (test_verify_certificate_identity): test for</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Thu Jun 27 00:23:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): Retry if y is a Bignum and it is</div><div class='del'>-	  representable as a Fixnum.</div><div class='del'>-	  Use rb_absint_numwords.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 23:53:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode): fix typo.</div><div class='del'>-	  Fixes GH-343. Patch by @jgarber.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 23:22:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (rb_enumeratorize_with_size): use strict definition</div><div class='del'>-	  rb_enumerator_size_func.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 23:11:14 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_before_sweep): Add a missing space before a parenthesis.</div><div class='del'>-	* gc.c (rb_gc_force_recycle): Add a missing space around a parenthesis.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 22:44:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_enumeratorize_with_size): cast for</div><div class='del'>-	  backward compatibility.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_enumerator_size_func): define strict</div><div class='del'>-	  function declaration for rb_enumeratorize_with_size().</div><div class='del'>-</div><div class='del'>-Wed Jun 26 21:01:22 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): skip if</div><div class='del'>-	  writing a file is slow.</div><div class='del'>-	  [ruby-core:55541] [Bug #8519]</div><div class='del'>-</div><div class='del'>-Wed Jun 26 16:42:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: should use expanded values for header directories</div><div class='del'>-	  unless extmk.  patch by vo.x (Vit Ondruch) at [ruby-core:55653]</div><div class='del'>-	  [Bug #8115], rhbz#921650.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 12:48:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigxor_int): Fix a buffer over read.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 12:13:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigand_int): Consider negative values.</div><div class='del'>-	  (bigor_int): The allocated bignum should have enough size</div><div class='del'>-	  to store long.</div><div class='del'>-	  This fixes (bignum fits in a BDIGIT) | (fixnum bigger than BDIGIT)</div><div class='del'>-	  on platforms which SIZEOF_BDIGITS &lt; SIZEOF_LONG,</div><div class='del'>-	  such as LP64 with 32bit BDIGIT (no int128).</div><div class='del'>-</div><div class='del'>-Wed Jun 26 12:08:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_udp.rb: Close sockets explicitly.</div><div class='del'>-	  Don't use fixed port number.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 07:27:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigand_int): Fix a buffer over read.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 06:48:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd_int): Fix a buffer over read.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 01:18:13 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_before_sweep): Add new helper function that check the object</div><div class='del'>-	  is before sweep?</div><div class='del'>-	* gc.c (rb_gc_force_recycle): Have to clear mark bit if object's slot</div><div class='del'>-	  already ready to minor sweep.</div><div class='del'>-</div><div class='del'>-Wed Jun 26 01:17:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub_int): Fix a buffer over read.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 22:45:43 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_singlebit_p): Use POW2_P.</div><div class='del'>-	  (bary_pack): Ditto.</div><div class='del'>-	  (rb_big2str0): Ditto.</div><div class='del'>-	  (POW2_P): Moved to top.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 22:28:07 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Pass</div><div class='del'>-	  DESTDIR via command line to override what's in MAKEFLAGS.  This</div><div class='del'>-	  fixes an installation problem under a package building</div><div class='del'>-	  environment where DESTDIR is specified in the (parent) command</div><div class='del'>-	  line. [Fixes GH-327]</div><div class='del'>-</div><div class='del'>-Tue Jun 25 21:43:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2dbl): Use (BDIGIT)1 instead of 1UL.</div><div class='del'>-	  (bary_mul_normal): Remove a useless cast.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 21:26:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix for the cases when</div><div class='del'>-	  the argument x is not a BigDecimal.</div><div class='del'>-	  This change is based on the patch made by Heesob Park and Garth Snyder.</div><div class='del'>-	  [Bug #6862] [ruby-core:47145]</div><div class='del'>-	  [Fixes GH-332] https://github.com/ruby/ruby/pull/332</div><div class='del'>-</div><div class='del'>-Tue Jun 25 20:36:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2ulong): "check" argument removed.</div><div class='del'>-	  (rb_big2ulong): Follow above change.</div><div class='del'>-	  (rb_big2long): Ditto.</div><div class='del'>-	  (rb_big_rshift): Ditto.</div><div class='del'>-	  (rb_big_aref): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 20:08:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ulong_pack): Use rb_integer_pack.</div><div class='del'>-	  (rb_big_aref): Call big2ulong with TRUE for "check" argument.</div><div class='del'>-	  It should be non-effective.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 19:07:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (LSHIFTX): Revert r41611.</div><div class='del'>-	  The redundant expression suppresses a warning, C4293, by Visual</div><div class='del'>-	  Studio.</div><div class='del'>-	  http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130625T072854Z.log.html.gz#miniruby</div><div class='del'>-</div><div class='del'>-Tue Jun 25 19:03:00 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2ulong): Add a cast.</div><div class='del'>-	  (big2ull): Add a specialized code for SIZEOF_LONG_LONG &lt;=</div><div class='del'>-	  SIZEOF_BDIGITS.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 12:42:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_single_bdigit): Use "1 + ~u" instead of</div><div class='del'>-	  "-u" to suppress warning (C4146) by Visual Studio.</div><div class='del'>-	  Reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 12:28:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2ulong): Add code specialized for SIZEOF_LONG &lt;=</div><div class='del'>-	  SIZEOF_BDIGITS.</div><div class='del'>-	  This prevents shift width warning from "num &lt;&lt;= BITSPERDIG".</div><div class='del'>-</div><div class='del'>-Tue Jun 25 12:23:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix oldgen/remembered_shady counting algorithm.</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_check_shady): increment</div><div class='del'>-	  `objspace-&gt;rgengc.remembered_shady_object_count' here.</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_remember): return FALSE if obj is already remembered.</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): make it void.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): fix to double counting oldgen_object_count</div><div class='del'>-	  at minor GC.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 12:07:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (MSB): Removed.</div><div class='del'>-	  (BDIGIT_MSB): Defined using BIGRAD_HALF.</div><div class='del'>-	  (bary_2comp): Apply BIGLO after possible over flow of BDIGIT.</div><div class='del'>-	  (get2comp): Ditto.</div><div class='del'>-	  (bary_unpack_internal): Use BDIGIT_MSB.</div><div class='del'>-	  Apply BIGLO after possible over flow of BDIGIT.</div><div class='del'>-	  (rb_integer_unpack): Use BDIGIT_MSB.</div><div class='del'>-	  (calc_hbase): Use BDIGMAX.</div><div class='del'>-	  (big2dbl): Use BDIGMAX.</div><div class='del'>-	  Apply BIGLO after possible over flow of BDIGIT.</div><div class='del'>-	  (rb_big_neg): Apply BIGLO after possible over flow of BDIGIT.</div><div class='del'>-	  (biglsh_bang): Ditto.</div><div class='del'>-	  (bigrsh_bang): Ditto.</div><div class='del'>-	  (bary_divmod): Use BDIGIT_MSB.</div><div class='del'>-	  (bigdivrem): Ditto.</div><div class='del'>-	  (bigxor_int): Apply BIGLO after possible over flow of BDIGIT.</div><div class='del'>-</div><div class='del'>-	* marshal.c (shortlen): Use SIZEOF_BDIGITS instead of sizeof(BDIGIT).</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): Use SIZEOF_BDIGITS</div><div class='del'>-	  instead of sizeof(BDIGIT).</div><div class='del'>-</div><div class='del'>-Tue Jun 25 11:40:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2ulong): suppress shorten-64-to-32 warning.  BDIGIT can</div><div class='del'>-	  be bigger than long now.</div><div class='del'>-</div><div class='del'>-	* bignum.c (LSHIFTX): remove redundant never-true expression.</div><div class='del'>-</div><div class='del'>-Tue Jun 25 00:55:54 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (typedef struct rb_objspace): Change members for monitor objects.</div><div class='del'>-	* gc.c (gc_marks_test): Check all WriteBarrier Errors and track them in obj-tree.</div><div class='del'>-	* gc.c (rgengc_check_shady): Ditto.</div><div class='del'>-	* gc.c (gc_marks): Move 2 function calls to gc_marks_test for test initialize.</div><div class='del'>-</div><div class='del'>-Mon Jun 24 23:30:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_single_bdigit): Refine code to filling</div><div class='del'>-	  higher bits and use BIGLO.</div><div class='del'>-</div><div class='del'>-Mon Jun 24 22:26:31 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6):</div><div class='del'>-	  ifindex() function may not be implemented on Windows. We use another</div><div class='del'>-	  check for the case.</div><div class='del'>-</div><div class='del'>-Mon Jun 24 22:11:37 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_nolock):</div><div class='del'>-	  skip a failing test on Windows because flock() implementation is</div><div class='del'>-	  different from Unix.</div><div class='del'>-</div><div class='del'>-Mon Jun 24 22:06:14 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb (test_install_extension_flat):</div><div class='del'>-	  use ruby in build directory in case ruby is not installed.</div><div class='del'>-	  [ruby-core:53265] [Bug #8058]</div><div class='del'>-</div><div class='del'>-Mon Jun 24 22:04:02 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): fix conversion from Bignum to</div><div class='del'>-	  pointer. sizeof(DLSTACK_TYPE) is larger than sizeof(long) on</div><div class='del'>-	  Windows x64 and higher bits over sizeof(long) of DLSTACK_TYPE was</div><div class='del'>-	  zero even if a pointer value was over 32 bits which causes SEGV on</div><div class='del'>-	  DL::TestCPtr#test_to_ptr_io. Adding a cast solves the bug.</div><div class='del'>-</div><div class='del'>-Mon Jun 24 22:04:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (warn_printf): use rb_vsprintf instead so ruby specific</div><div class='del'>-	  extensions like PRIsVALUE can be used in format strings</div><div class='del'>-	* eval_error.c (error_print): use warn_print_str (alias for</div><div class='del'>-	  rb_write_error_str) to print a string value instead of using</div><div class='del'>-	  RSTRING_PTR and RSTRING_LEN manually</div><div class='del'>-	* eval.c (setup_exception): use PRIsVALUE instead of %s and RSTRING_PTR</div><div class='del'>-</div><div class='del'>-Mon Jun 24 20:31:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (make_name_for_block): use PRIsVALUE in format string</div><div class='del'>-	  instead of %s and RSTRING_PTR to protect objects from being garbage</div><div class='del'>-	  collected too soon</div><div class='del'>-	* encoding.c (str_to_encindex): ditto</div><div class='del'>-	* hash.c (rb_hash_fetch_m): ditto</div><div class='del'>-	* io.c (rb_io_reopen): ditto</div><div class='del'>-	* parse.y (reg_fragment_check_gen): ditto</div><div class='del'>-	* parse.y (reg_compile_gen): ditto</div><div class='del'>-	* parse.y (ripper_assert_Qundef): ditto</div><div class='del'>-	* re.c (rb_reg_raise): ditto</div><div class='del'>-	* ruby.c (set_option_encoding_once): ditto</div><div class='del'>-	* vm_eval.c (rb_throw_obj): ditto</div><div class='del'>-</div><div class='del'>-Mon Jun 24 07:57:18 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep): Have to record malloc info before reset.</div><div class='del'>-	* gc.c (gc_prof_timer_start): Pick out part of new record creation as gc_prof_setup_new_record.</div><div class='del'>-	* gc.c (gc_prof_set_malloc_info): Move point of recording allocation size to front of mark.</div><div class='del'>-</div><div class='del'>-Mon Jun 24 02:53:09 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Return value in Array overview example found by @PragTob</div><div class='del'>-	  [Fixes GH-336] https://github.com/ruby/ruby/pull/336</div><div class='del'>-</div><div class='del'>-Mon Jun 24 02:45:51 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): typo by @PragTob [Fixes GH-337]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/337</div><div class='del'>-</div><div class='del'>-Mon Jun 24 02:42:01 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* win32/README.win32: grammar typo by @blankenshipz [Fixes GH-334]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/334</div><div class='del'>-</div><div class='del'>-Mon Jun 24 00:59:35 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BIGUP): Use LSHIFTX and avoid cast to consider the type</div><div class='del'>-	  of x is bigger than BDIGIT_DBL.</div><div class='del'>-	  (big2ulong): Use unsigned long to store the result.</div><div class='del'>-	  (big2ull): Use unsigned LONG_LONG to store the result.</div><div class='del'>-	  (bigand_int): Use long for num to avoid data loss.</div><div class='del'>-	  (bigor_int): Ditto.</div><div class='del'>-	  (bigxor_int): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 23:05:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (BDIGIT): Define it only if it is not defined</div><div class='del'>-	  yet.  This eases tests and debug.</div><div class='del'>-	  (SIZEOF_BDIGITS): Ditto.</div><div class='del'>-	  (BDIGIT_DBL): Ditto.</div><div class='del'>-	  (BDIGIT_DBL_SIGNED): Ditto.</div><div class='del'>-	  (PRI_BDIGIT_PREFIX): Ditto.</div><div class='del'>-	  (PRI_BDIGIT_DBL_PREFIX): Ditto.</div><div class='del'>-	  (PRIdBDIGIT): Define it only if PRI_BDIGIT_PREFIX is defined.</div><div class='del'>-	  (PRIiBDIGIT): Ditto.</div><div class='del'>-	  (PRIoBDIGIT): Ditto.</div><div class='del'>-	  (PRIuBDIGIT): Ditto.</div><div class='del'>-	  (PRIxBDIGIT): Ditto.</div><div class='del'>-	  (PRIXBDIGIT): Ditto.</div><div class='del'>-	  (PRIdBDIGIT_DBL): Ditto.</div><div class='del'>-	  (PRIiBDIGIT_DBL): Ditto.</div><div class='del'>-	  (PRIoBDIGIT_DBL): Ditto.</div><div class='del'>-	  (PRIuBDIGIT_DBL): Ditto.</div><div class='del'>-	  (PRIxBDIGIT_DBL): Ditto.</div><div class='del'>-	  (PRIXBDIGIT_DBL): Ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Define it only if it is</div><div class='del'>-	  not defined yet.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 17:29:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_single_bdigit): Use a cast.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 15:38:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_thread.rb: rescue resource limitation errors.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 08:19:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_single_bdigit): Extracted from</div><div class='del'>-	  bary_unpack_internal.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 07:41:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_unpack_internal): Suppress warnings (C4146) on Visual Studio.</div><div class='del'>-	  Reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 06:49:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, gc.c: rename macros and functions:</div><div class='del'>-	  OBJ_WB_GIVEUP() -&gt; OBJ_WB_UNPROTECT(),</div><div class='del'>-	  rb_obj_wb_giveup() -&gt; rb_obj_wb_unprotect(),</div><div class='del'>-	  rb_gc_giveup_promoted_writebarrier() -&gt;</div><div class='del'>-	  rb_gc_writebarrier_unprotect_promoted(),</div><div class='del'>-</div><div class='del'>-	* class.c, eval.c, hash.c: use OBJ_WB_UNPROTECT().</div><div class='del'>-</div><div class='del'>-Sun Jun 23 05:41:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_include_class_new), eval.c (rb_using_refinement):</div><div class='del'>-	  make classes/modules (who share method table) shady.</div><div class='del'>-	  If module `a' and `b' shares method table m_tbl and new method</div><div class='del'>-	  with iseq is added, then write barrier is applied only `a' or `b'.</div><div class='del'>-	  To avoid this issue, shade such classes/modules.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): add write barriers.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 01:27:54 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bytes_zero_p): Removed.</div><div class='del'>-	  (bary_pack): Don't call bytes_zero_p.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 00:51:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bytes_zero_p): Extracted from bary_pack.</div><div class='del'>-	  (bary_pack): Use bytes_zero_p.</div><div class='del'>-</div><div class='del'>-Sun Jun 23 00:16:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (MSB): New macro.</div><div class='del'>-	  (bary_unpack_internal): Use MSB.</div><div class='del'>-	  (bary_divmod): Ditto.</div><div class='del'>-	  (bigdivrem): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 23:45:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_swap): New function.</div><div class='del'>-	  (bary_pack): Use bary_swap.</div><div class='del'>-	  (bary_unpack_internal): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 23:18:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bytes_2comp): Renamed from quad_buf_complement.</div><div class='del'>-	  (bary_pack): Use bytes_2comp.</div><div class='del'>-	  (rb_quad_pack): Use rb_integer_pack.</div><div class='del'>-	  (rb_quad_unpack): Use rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 21:46:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_unpack): Don't allocate a Bignum if possible.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 21:03:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): Remove specialized unpackers for integers.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 20:36:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_unpack_internal): Specialized unpacker implemented.</div><div class='del'>-	  (bary_unpack): Support INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION.</div><div class='del'>-	  (rb_integer_unpack): Support INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 18:53:10 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_pack): Support</div><div class='del'>-	  INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION flag.</div><div class='del'>-	  Fix byte order and word order handling in code specialized for</div><div class='del'>-	  wordsize % SIZEOF_BDIGITS == 0.</div><div class='del'>-</div><div class='del'>-	* internal.h (INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION): Defined.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 15:41:25 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_check_shady): add new WB miss checking</div><div class='del'>-	  on RGENGC_CHECK_MODE &gt;= 2.</div><div class='del'>-</div><div class='del'>-	    (1) Save bitmaps before marking</div><div class='del'>-	    (2) Run full marking</div><div class='del'>-	    (3) On each traceable object,</div><div class='del'>-	      (a) object        was not oldgen (== newly or shady object) &amp;&amp;</div><div class='del'>-	      (b) parent object was     oldgen &amp;&amp;</div><div class='del'>-	      (c) parent object was not remembered &amp;&amp;</div><div class='del'>-	      (d) object        was not remembered</div><div class='del'>-	      then, it should be WB miss.</div><div class='del'>-</div><div class='del'>-	  This idea of this checker is by Masaya Tarui &lt;tarui@ruby-lang.org&gt;.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 15:25:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (setup_passwd): revert r41560, unnecessary</div><div class='del'>-</div><div class='del'>-Sat Jun 22 14:39:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): omit 'passwd' from definition of Etc::Passwd</div><div class='del'>-	  if HAVE_STRUCT_PASSWD_PW_PASSWD is not defined to prevent mismatch of</div><div class='del'>-	  fields and values in setup_passwd</div><div class='del'>-</div><div class='del'>-Sat Jun 22 14:35:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cfunc.c (rb_dlcfunc_call): Use rb_big_pack instead of</div><div class='del'>-	  rb_big2ulong_pack and rb_big2ull.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big2ulong_pack): Deprecated.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 14:31:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (setup_passwd): pass 0 as VALUE to rb_struct_new to</div><div class='del'>-	  prevent segfault if the compiler passes it as a 32 bit integer on</div><div class='del'>-	  a 64 bit ruby</div><div class='del'>-</div><div class='del'>-Sat Jun 22 13:47:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_pack): MEMZERO can be used even if nails is not zero.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 13:43:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getpwnam): use PRIsVALUE in format string instead</div><div class='del'>-	  of %s and RSTRING_PTR</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getgrnam): ditto</div><div class='del'>-</div><div class='del'>-Sat Jun 22 13:07:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (CLEAR_LOWBITS): Rewritten without RSHIFTX.</div><div class='del'>-	  (RSHIFTX): Removed.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 10:38:03 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (num2i32): Removed.</div><div class='del'>-	  (pack_pack): Don't use num2i32.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 09:55:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (LSHIFTX): Defined to suppress a warning.</div><div class='del'>-	  (RSHIFTX): Ditto.</div><div class='del'>-	  (CLEAR_LOWBITS): Use LSHIFTX and RSHIFTX.</div><div class='del'>-	  (FILL_LOWBITS): Use LSHIFTX.</div><div class='del'>-	  Reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 09:11:33 2013  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 4.7.5 (r8724)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Sat Jun 22 07:20:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_set_heap_info, after_gc_sweep): call</div><div class='del'>-	  gc_prof_set_heap_info() just after sweeping to calculate</div><div class='del'>-	  live object number correctly.</div><div class='del'>-	  (live object number = total generated number (before marking) -</div><div class='del'>-	                        total freed number (after sweeping))</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks): record `oldgen_object_count' into current profile`</div><div class='del'>-	  record directly.</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): same for remembered_normal_objects</div><div class='del'>-	  and remembered_shady_objects.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 06:46:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace::profile): rename rb_objspace::profile::record to</div><div class='del'>-	  records (because it points a set of records) and add a field</div><div class='del'>-	  rb_objspace::profile::current_record to point a current profiling</div><div class='del'>-	  record.</div><div class='del'>-</div><div class='del'>-	* gc.c: use above fields.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 06:05:36 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_giveup_promoted_writebarrier): remove `rest_sweep()'</div><div class='del'>-	  because all of remembered objects are called for gc_mark_children().</div><div class='del'>-</div><div class='del'>-Sat Jun 22 05:08:03 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): call gc_mark_children() for</div><div class='del'>-	  remembered objects directly instead of pushing on the mark stack.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 04:48:53 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (OBJ_WRITE): cast to (VALUE *) for second</div><div class='del'>-	  parameter `slot'. You don't need to write a cast (VALUE *) any more.</div><div class='del'>-</div><div class='del'>-	* class.c, compile.c, hash.c, iseq.c, proc.c, re.c, variable.c,</div><div class='del'>-	  vm.c, vm_method.c: remove cast expressions for OBJ_WRITE().</div><div class='del'>-</div><div class='del'>-Sat Jun 22 04:37:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep_body): rename to slot_sweep().</div><div class='del'>-	  No need to separate major/minor GC.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_setup_mark_bits): remove gc_clear_mark_bits() and unify to</div><div class='del'>-	  this function.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 04:20:21 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (check_bitmap_consistency): add to check flag and bitmap consistency.</div><div class='del'>-	  Use this function in several places.</div><div class='del'>-</div><div class='del'>-Sat Jun 22 02:18:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_pack): Specialized packers implemented.</div><div class='del'>-	  (HOST_BIGENDIAN_P): New macro.</div><div class='del'>-	  (ALIGNOF): New macro.</div><div class='del'>-	  (CLEAR_LOWBITS): New macro.</div><div class='del'>-	  (FILL_LOWBITS): New macro.</div><div class='del'>-	  (swap_bdigit): New macro.</div><div class='del'>-	  (bary_2comp): Returns an int.</div><div class='del'>-</div><div class='del'>-	* internal.h (swap16): Moved from pack.c</div><div class='del'>-	  (swap32): Ditto.</div><div class='del'>-	  (swap64): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 21:29:49 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (typedef enum): Introduce flags of major gc reason.</div><div class='del'>-	* gc.c (garbage_collect_body): Ditto.</div><div class='del'>-	* gc.c (gc_profile_flags): Ditto.</div><div class='del'>-	* gc.c (gc_profile_dump_on): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 21:11:53 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (allocate_sorted_heaps): remove unused variable `add'.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 20:50:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: constify RArray::as::ary and RArray::heap::ptr.</div><div class='del'>-	  Use RARRAY_ASET() or RARRAY_PTR_USE() to modify Array objects.</div><div class='del'>-</div><div class='del'>-	* array.c, gc.c: catch up above changes.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 20:32:13 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): fix WB miss.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 20:15:49 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: support write barrier protection for T_STRUCT.</div><div class='del'>-	  Introduce the following C APIs:</div><div class='del'>-	    * RSTRUCT_RAWPTR(st) returns pointer (do WB on your risk).</div><div class='del'>-	      The type of returned pointer is (const VALUE *).</div><div class='del'>-	    * RSTRUCT_GET(st, idx) returns idx-th value of struct.</div><div class='del'>-	    * RSTRUCT_SET(st, idx, v) set idx-th value by v with WB.</div><div class='del'>-	  And</div><div class='del'>-	    * RSTRUCT_PTR(st) returns pointer with shady operation.</div><div class='del'>-	      The type of returned pointer is (VALUE *).</div><div class='del'>-</div><div class='del'>-	* struct.c, re.c, gc.c, marshal.c: rewrite with above APIs.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 19:38:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BDIGMAX): Use BIGRAD.</div><div class='del'>-	  (BIGLO): Use BDIGMAX.</div><div class='del'>-	  (bigdivrem1): Ditto.</div><div class='del'>-	  (bigor_int): Ditto.</div><div class='del'>-	  (rb_big_or): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 19:18:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Move the implementation for 'c' directive after</div><div class='del'>-	  pack_integer label.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 19:11:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, re.c: support write barrier for T_REGEXP.</div><div class='del'>-</div><div class='del'>-	   Note: T_MATCH object is also easy to support write barriers.</div><div class='del'>-	         However, most of T_MATCH objects are short-lived objects.</div><div class='del'>-	         So I skipped to support non-shady T_MATCH.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 18:56:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigsub_int): Use bdigit_roomof.</div><div class='del'>-	  (bigadd_int): Ditto.</div><div class='del'>-	  (bigand_int): Ditto.</div><div class='del'>-	  (bigor_int): Ditto.</div><div class='del'>-	  (bigxor_int): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 17:56:25 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: fix summary of benchmark result notation.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 16:38:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c: change OSSL_X509ATTR_IS_SINGLE and</div><div class='del'>-	  OSSL_X509ATTR_SET_SINGLE macros to use -&gt;value.set rather than</div><div class='del'>-	  -&gt;set to fix compile failure</div><div class='del'>-</div><div class='del'>-Fri Jun 21 15:26:45 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): profile sweep time correctly when LAZY_SWEEP is</div><div class='del'>-	  disabled.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_test): store oldgen count and shady count</div><div class='del'>-	  before test marking and restore them after marking.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 15:07:42 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: enable lazy sweep (commit miss).</div><div class='del'>-</div><div class='del'>-Fri Jun 21 14:31:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): refine error message so include the variable</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 14:15:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix to use total_allocated_object_num and heaps_used</div><div class='del'>-	  at the GC time for profiler.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 12:35:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: RGENGC_CHECK_MODE should be 0.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 11:18:25 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_body): fix to get `th' in this function.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 10:21:44 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heaps_header/heaps_slot): embed bitmaps into heaps_slot.</div><div class='del'>-	  no need to maintain allocation/free bitmaps.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 09:22:16 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep_body): add counters at a time.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): fix line break position.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 08:14:00 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: refactoring bitmaps. introduce bits_t type and some Consts.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 08:04:32 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix to support USE_RGENGC == 0 (disable RGenGC).</div><div class='del'>-	  If USE_RGENGC==0, it caused compilation error.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 08:08:11 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (lazy_sweep): Use is_lazy_sweeping()</div><div class='del'>-	* gc.c (rest_sweep): Ditto.</div><div class='del'>-	* gc.c (gc_prepare_free_objects): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 07:34:47 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record::oldgen_objects): added.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): print the following information:</div><div class='del'>-	  * Living object counts</div><div class='del'>-	  * Free object counts</div><div class='del'>-	  If RGENGC_PROFILE &gt; 0 then</div><div class='del'>-	  * Oldgen object counts</div><div class='del'>-	  * Remembered normal object counts</div><div class='del'>-	  * Remembered shady object counts</div><div class='del'>-</div><div class='del'>-Fri Jun 21 06:43:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_ull2big): Refactored.</div><div class='del'>-	  (rb_uint2big): Useless code removed.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 05:37:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_sweep_timer_stop): accumulate sweep time only when</div><div class='del'>-	  record-&gt;gc_time &gt; 0.</div><div class='del'>-</div><div class='del'>-Fri Jun 21 00:37:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal: Workaround fix for bigdecimal test failures caused</div><div class='del'>-	  by [ruby-dev:47413] [Feature #8509]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.h (BDIGIT): Make it independent from the</div><div class='del'>-	  definition for bignum.c.</div><div class='del'>-	  (SIZEOF_BDIGITS): Ditto.</div><div class='del'>-	  (BDIGIT_DBL): Ditto.</div><div class='del'>-	  (BDIGIT_DBL_SIGNED): Ditto.</div><div class='del'>-	  (PRI_BDIGIT_PREFIX): Undefine the definition.</div><div class='del'>-	  (PRI_BDIGIT_DBL_PREFIX): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (RBIGNUM_ZERO_P): Use rb_bigzero_p.</div><div class='del'>-	  (bigzero_p): Removed.</div><div class='del'>-	  (is_even): Use rb_big_pack.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 22:52:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_toom3): Don't call bignorm twice.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 22:49:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignorm): Don't call bigtrunc if the result is a fixnum.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 22:29:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_uint2big): Refactored.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 22:24:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (dump_bignum): Use SIZEOF_BDIGITS.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 22:22:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2ulong): Change the return type to unsigned long.</div><div class='del'>-	  (rb_big2ulong_pack): Follow the above change.</div><div class='del'>-	  (rb_big2long): Ditto.</div><div class='del'>-	  (rb_big_lshift): Ditto.</div><div class='del'>-	  (rb_big_rshift): Ditto.</div><div class='del'>-	  (rb_big_aref): Ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 22:02:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_unpack_internal): Return -2 when negative overflow.</div><div class='del'>-	  (bary_unpack): Set the overflowed bit if an extra BDIGIT exists.</div><div class='del'>-	  (rb_integer_unpack): Set the overflowed bit.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 21:17:19 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): record</div><div class='del'>-	  (1) normal objects count in remember set</div><div class='del'>-	  (2) shady objects count in remember set</div><div class='del'>-	  each GC timing.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record_get): enable to access above information</div><div class='del'>-	  and REMOVING_OBJECTS, EMPTY_OBJECTS.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 18:29:26 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: Do not use GC::Profiler::disable because</div><div class='del'>-	  GC::Profiler::disable prohibit to access profiling data. It should</div><div class='del'>-	  be spec bug.</div><div class='del'>-</div><div class='del'>-	  Skip GC::Profiler::report if RUBY_VERSION &lt; '2.0.0'</div><div class='del'>-</div><div class='del'>-Thu Jun 20 17:59:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: stop GC::Profiler before output results.</div><div class='del'>-	  Generating GC::Profiler result under profiling causes infinite loop.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 17:24:24 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: don't use __dir__ to make compatible</div><div class='del'>-	  with ruby 1.9.3.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 16:57:19 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_aobench.rb: use attr_accessor/reader instead of</div><div class='del'>-	  defining methods.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 16:46:46 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_aobench.rb: added.</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/aobench.rb: added.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 16:28:33 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_binary_trees.rb: disable `puts' method</div><div class='del'>-	  and change iteration parameter to increase execution time.</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/binarytree.rb: added.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 16:06:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/pentomino.rb: added.</div><div class='del'>-	  Simply load pentomino puzzle in the benchmark/ directory.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 15:32:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/redblack.rb: import red black tree benchmark from</div><div class='del'>-	  https://github.com/jruby/rubybench/blob/master/time/bench_red_black.rb</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/ring.rb: add a benchmark. This benchmark create many</div><div class='del'>-	  old objects.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 15:14:00 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/gc: create a directory to store GC related benchmark.</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/gcbench.rb: moved from tool/gcbench.rb.</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/hash(1|2).rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/rdoc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/gc/null.rb: added.</div><div class='del'>-</div><div class='del'>-	* common.mk: fix rule.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 14:09:54 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/hashbench1.rb: fix parameter too. Increase temporary objects.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 14:01:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/hashbench1.rb: fix parameters.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 14:00:34 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: remove dependency from ruby.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 13:14:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_backtrace): evaluate RARRAY_AREF only once.</div><div class='del'>-	  the first argument of RB_TYPE_P is expanded twice for non-immediate</div><div class='del'>-	  types.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 08:09:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/gcbench.rb: Summary in one line.</div><div class='del'>-</div><div class='del'>-	* common.mk: separate gcbench-hash to gcbench-hash1 and gcbench-hash2.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 08:07:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BIGSIZE): New macro.</div><div class='del'>-	  (bigfixize): Use BIGSIZE.</div><div class='del'>-	  (big2ulong): Ditto.</div><div class='del'>-	  (check_shiftdown): Ditto.</div><div class='del'>-	  (rb_big_aref): Ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 07:46:48 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_writebarrier): give up rescan A and register B directly</div><div class='del'>-	  if A has huge number of children.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 07:30:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add new rules `gcbench-rdoc', `gcbench-hash'.</div><div class='del'>-</div><div class='del'>-	* tool/gcbench.rb: separate GC bench framework and process.</div><div class='del'>-</div><div class='del'>-	* tool/hashbench1.rb, tool/hashbench2.rb: add two types GC bench.</div><div class='del'>-	  hashbench1: many temporal objects (GC by newobj)</div><div class='del'>-	  hashbench2: hash size becomes bigger and bigger (GC by malloc)</div><div class='del'>-	  Two benches are executed by `gcbench-hash' rule.</div><div class='del'>-</div><div class='del'>-	* tool/rdocbench.rb: separated.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 06:25:39 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rdocbench.rb: add summary.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 06:18:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_total_time): check objspace-&gt;profile.next_index &gt; 0.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 05:47:41 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_sweep_timer_start): fix merge miss.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_PROFILE_MORE_DETAIL): set it 0.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 05:38:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Accumulate sweep time to GC time.</div><div class='del'>-	  Now [GC time] is [mark time] + [sweep time] + [misc].</div><div class='del'>-	  ([GC time] &gt;= [mark time] + [sweep time])</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_sweep_slot_timer_start/stop): rename to</div><div class='del'>-	  gc_prof_sweep_timer_start/stop and locate at lazy_sweep().</div><div class='del'>-</div><div class='del'>-	* gc.c (elapsed_time_from): add a utility function.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 05:08:53 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks): fix wrong option. FALSE means major/full GC.</div><div class='del'>-	  It should be TRUE (minor marking).</div><div class='del'>-</div><div class='del'>-Thu Jun 20 02:44:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (waitpid): should not return 0 but wait until exit</div><div class='del'>-	  unless WNOHANG is given.  waiting huge process may return while</div><div class='del'>-	  active, for some reason.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 01:34:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bdigit_roomof): Use SIZEOF_BDIGITS.</div><div class='del'>-	  (bigfixize): Refine an ifdef condition.</div><div class='del'>-	  (rb_absint_size): Use bdigit_roomof.</div><div class='del'>-	  (rb_absint_singlebit_p): Ditto.</div><div class='del'>-	  (rb_integer_pack): Ditto.</div><div class='del'>-	  (integer_pack_fill_dd): Use BITSPERDIG.</div><div class='del'>-	  (integer_unpack_push_bits): Use BITSPERDIG, BIGLO and BIGDN.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 01:07:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (MARKED_IN_BITMAP, FL_TEST2): return boolean value since always</div><div class='del'>-	  used as boolean value.</div><div class='del'>-</div><div class='del'>-	* gc.c (MARK_IN_BITMAP, CLEAR_IN_BITMAP): evaluate bits once.</div><div class='del'>-</div><div class='del'>-Thu Jun 20 00:05:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTED): fix type.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 23:39:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_test): rewrite checking code.</div><div class='del'>-	  When RGENGC_CHECK_MODE &gt;= 2, all minor marking, run normal minor</div><div class='del'>-	  marking *and* major/full marking. After that, compare the results</div><div class='del'>-	  and shows BUG if a object living with major/full marking but dead</div><div class='del'>-	  with minor marking.</div><div class='del'>-	  After detecting bugs, print references information.</div><div class='del'>-	  (RGENGC_CHECK_MODE == 2, show references to dead object)</div><div class='del'>-	  (RGENGC_CHECK_MODE == 3, show all references)</div><div class='del'>-</div><div class='del'>-Wed Jun 19 23:51:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigfixize): Use rb_absint_size.</div><div class='del'>-	  (check_shiftdown): Ditto.</div><div class='del'>-	  (big2ulong): Use bdigit_roomof.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 23:32:23 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTED): check consistency between oldgen flag and</div><div class='del'>-	  oldgen bitmap if RGENGC_CHECK_MODE &gt; 0.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 23:29:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_force_recycle): clear oldgen bitmap, too.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 21:02:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_uint2big): Consider environments BDIGIT is bigger than</div><div class='del'>-	  long.</div><div class='del'>-	  (big2ulong): Ditto.</div><div class='del'>-	  (rb_big_aref): Ditto.</div><div class='del'>-	  (rb_big_pack): Just call rb_integer_pack.</div><div class='del'>-	  (rb_big_unpack): Just call rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 20:51:21 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stress_get): GC.stress can be Fixnum.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 19:31:30 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (DIGSPERLONG): Don't define if BDIGIT is bigger than long.</div><div class='del'>-	  (DIGSPERLL): Don't define if BDIGIT is bigger than LONG_LONG</div><div class='del'>-	  (rb_absint_size): Consider environments BDIGIT is bigger than long.</div><div class='del'>-	  Use BIGLO and BIGDN.</div><div class='del'>-	  (rb_absint_singlebit_p): Ditto.</div><div class='del'>-	  (rb_integer_pack): Ditto.</div><div class='del'>-	  (bigsub_int): Consider environments BDIGIT is bigger than long.</div><div class='del'>-	  Use SIZEOF_BDIGITS instead of sizeof(BDIGIT).</div><div class='del'>-	  (bigadd_int): Ditto.</div><div class='del'>-	  (bigand_int): Ditto.</div><div class='del'>-	  (bigor_int): Ditto.</div><div class='del'>-	  (bigxor_int): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 15:14:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct rb_data_type_struct), gc.c: add</div><div class='del'>-	  rb_data_type_struct::flags. Now, this flags is passed</div><div class='del'>-	  at T_DATA object creation. You can specify FL_WB_PROTECTED</div><div class='del'>-	  on this flag.</div><div class='del'>-</div><div class='del'>-	* iseq.c: making non-shady iseq objects.</div><div class='del'>-</div><div class='del'>-	* class.c, compile.c, proc.c, vm.c: add WB for iseq objects.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, iseq.h: constify fields to detect WB insertion.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 15:11:13 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): show more info for broken object.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 14:04:41 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil#rubybin): remove unnecessary</div><div class='del'>-	  unless expression.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:47:48 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): use FIX2INT for ruby_gc_stress.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:44:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace::gc_stress): int -&gt; VALUE to store Fixnum object.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:25:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (make_deferred): clear flags to T_ZOMBIE.</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep_body): fix indent.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:18:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_aref): Apply BIGLO to ~xds[i] for environment which</div><div class='del'>-	  BDIGIT is 16bit.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:09:26 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_remember): fix output level.</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): fix to output clear count.</div><div class='del'>-	  (shady_object_count + clear_count = count of remembered objects)</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:06:21 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_remember): check T_NONE and T_ZOMBIE</div><div class='del'>-	  if RGENGC_CHECK_MODE &gt; 0.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 07:02:19 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RGENGC_CHECK_MODE): add new check mode `3'.</div><div class='del'>-	  In this mode, show all references if there is</div><div class='del'>-	  a miss-corrected object.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 06:31:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stress_set): add special option of GC.stress.</div><div class='del'>-	  `GC.stress=(flag)' accepts integer to control behavior of GC.</div><div class='del'>-	  See code for details. Of course, this feature is only for MRI.</div><div class='del'>-</div><div class='del'>-	  You can debug RGenGC (WB) using `GC.stress = 1'.</div><div class='del'>-	  Using this option, do minor marking at all possible places.</div><div class='del'>-</div><div class='del'>-	  GC::STRESS_MINOR_MARK = 1 and GC::STRESS_LAZY_SWEEP = 2</div><div class='del'>-	  seem good to add.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 06:29:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (kwmerge_i): add WB.</div><div class='del'>-</div><div class='del'>-Wed Jun 19 06:26:49 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: `st_update()' also has same issue of last fix.</div><div class='del'>-	  write barriers at callback function are too early.</div><div class='del'>-	  All write barriers are executed after `st_update()'</div><div class='del'>-</div><div class='del'>-Wed Jun 19 04:33:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): fix WB miss.</div><div class='del'>-</div><div class='del'>-	  WBs had located before creating reference between a klass</div><div class='del'>-	  and constant value. It causes GC bug.</div><div class='del'>-</div><div class='del'>-	    # pseudo code:</div><div class='del'>-	    WB(klass, value); # WB and remember klass</div><div class='del'>-	    st_insert(klass-&gt;const_table, const_id, value);</div><div class='del'>-</div><div class='del'>-	  `st_insert()' can cause GC before inserting `value' and</div><div class='del'>-	  forget `klass' from the remember set. After that, relationship</div><div class='del'>-	  between `klass' and `value' are created with constant table.</div><div class='del'>-	  Now, `value' can be young (shady) object and `klass' can be old</div><div class='del'>-	  object, without remembering `klass' object.</div><div class='del'>-	  At the next GC, old `klass' object will be skipped and</div><div class='del'>-	  young (shady) `value' will be miss-collected. -&gt; GC bug</div><div class='del'>-</div><div class='del'>-	  Lesson: The place of a WB is important.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 22:01:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): ensure methods of type</div><div class='del'>-	  VM_METHOD_TYPE_ATTR_SET are called with 1 argument</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb</div><div class='del'>-	  (TestModule#test_attr_writer_with_no_arguments): add test</div><div class='del'>-	  [ruby-core:55543] [Bug #8540]</div><div class='del'>-</div><div class='del'>-Tue Jun 18 22:36:23 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record_flag): fix typo.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 22:08:53 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: Return for ::allocation_generation</div><div class='del'>-</div><div class='del'>-Tue Jun 18 22:04:35 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: Document object_tracing methods.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 21:58:17 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Rename rb_mObSpace -&gt; rb_mObjSpace</div><div class='del'>-</div><div class='del'>-Tue Jun 18 20:55:05 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: Document ObjectSpace::InternalObjectWrapper.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 20:39:04 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: Teach rdoc object_tracing.c [Bug #8537]</div><div class='del'>-</div><div class='del'>-Tue Jun 18 20:29:47 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: add object_tracing.c to document file</div><div class='del'>-</div><div class='del'>-Tue Jun 18 20:20:27 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: rdoc on require to overview from r41355</div><div class='del'>-</div><div class='del'>-Tue Jun 18 18:39:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check __int128.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available.</div><div class='del'>-	  (BDIGIT): Use uint64_t if uint128_t is available.</div><div class='del'>-	  (SIZEOF_BDIGITS): Defined for above case.</div><div class='del'>-	  (BDIGIT_DBL_SIGNED): Ditto.</div><div class='del'>-	  (PRI_BDIGIT_PREFIX): Ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRI_64_PREFIX): Defined.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which</div><div class='del'>-	  rb_big_pow returns Float or Bignum.</div><div class='del'>-</div><div class='del'>-	[ruby-dev:47413] [Feature #8509]</div><div class='del'>-</div><div class='del'>-Tue Jun 18 16:43:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_heredoc_restore): clear lex_strterm always to get</div><div class='del'>-	  rid of marking recycled node.  this bug is revealed by r41372 with</div><div class='del'>-	  GC.stress=true.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 12:53:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (nlz): Cast the result explicitly.</div><div class='del'>-	  (big2dbl): Don't assign BDIGIT values to int variable.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 12:25:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_xor): Non-effective code removed.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 11:26:05 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): add `generated_normal_object_count_types' for</div><div class='del'>-	  RGENGC_PROFILE &gt;= 2.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 11:02:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_maybe): check to skip T_NONE.</div><div class='del'>-</div><div class='del'>-	* gc.c (markable_object_p): do not need to check (flags == 0) here.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 10:17:37 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload): fix WB miss.</div><div class='del'>-</div><div class='del'>-Tue Jun 18 04:20:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): don't need to care about T_ZOMBIE here.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 22:16:02 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc):</div><div class='del'>-	  run test for r41359.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 21:42:18 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, vm_eval.c (rb_funcall_with_block):</div><div class='del'>-	  new function to invoke a method with a block passed</div><div class='del'>-	  as an argument.</div><div class='del'>-</div><div class='del'>-	* string.c (sym_call): use the above function to avoid</div><div class='del'>-	  a block sharing. [ruby-dev:47438] [Bug #8531]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_with_cfunc): don't set block</div><div class='del'>-	  in the frame.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb (TestSymbol#test_block_given_to_proc):</div><div class='del'>-	  run related tests.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 21:33:27 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h, proc.c (rb_method_call_with_block):</div><div class='del'>-	  new function to invoke a Method object with a block passed</div><div class='del'>-	  as an argument.</div><div class='del'>-</div><div class='del'>-	* proc.c (bmcall): use the above function to avoid a block sharing.</div><div class='del'>-	  [ruby-core:54626] [Bug #8341]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls):</div><div class='del'>-	  run related tests.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 20:53:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* loadpath.c (RUBY_REVISION): Defined to suppress revision.h</div><div class='del'>-	  inclusion actually.  r41352 removes the dependency.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 18:15:57 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: let rdoc know about objspace methods.</div><div class='del'>-	  Specify 'objspace' should be required. See #8537.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 17:44:31 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ObjectSpace): is a module not a class.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: try to include overview in rdoc,</div><div class='del'>-	  see #8537.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 17:38:24 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix example of ObjectSpace.define_finalizer in overview</div><div class='del'>-</div><div class='del'>-Mon Jun 17 16:59:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c: use rb_sprintf(), rb_id2str(), and</div><div class='del'>-	  rb_intern_str() instead of rb_intern() and RSTRING_PTR() with</div><div class='del'>-	  RB_GC_GUARD(), to prevent temporary objects from GC.</div><div class='del'>-	  [ruby-core:39000] [Bug #5199]</div><div class='del'>-</div><div class='del'>-Mon Jun 17 14:27:54 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: Update rdoc for Backtrace#label with @_ko1</div><div class='del'>-</div><div class='del'>-Mon Jun 17 13:04:01 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ifchange (until): Fix the condition, although harmless in</div><div class='del'>-	  this case.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 11:50:29 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_maybe): added. check `is_pointer_to_heap()' and</div><div class='del'>-	  type is not T_ZOMBIE.</div><div class='del'>-</div><div class='del'>-	* gc.c: use `gc_mark_maybe()'. T_ZOMBIE objects should not be pushed</div><div class='del'>-	  to the mark stack.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 07:56:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_small_lshift): Renamed from bdigs_small_lshift.</div><div class='del'>-	  (bary_small_rshift): Renamed from bdigs_small_rshift.</div><div class='del'>-</div><div class='del'>-Mon Jun 17 07:38:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_bytes): Removed.</div><div class='del'>-	  (rb_absint_numwords): Don't call absint_numwords_bytes.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 23:14:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BARY_ADD): New macro.</div><div class='del'>-	  (BARY_SUB): Ditto.</div><div class='del'>-	  (BARY_MUL): Ditto.</div><div class='del'>-	  (BARY_DIVMOD): Ditto.</div><div class='del'>-	  (BARY_ZERO_P): Ditto.</div><div class='del'>-	  (absint_numwords_generic): Use these macros.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 21:41:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_2comp): Extracted from get2comp.</div><div class='del'>-	  (integer_unpack_num_bdigits): Extracted from</div><div class='del'>-	  rb_integer_unpack_internal.</div><div class='del'>-	  (bary_unpack_internal): Renamed from bary_unpack and support</div><div class='del'>-	  INTEGER_PACK_2COMP.</div><div class='del'>-	  (bary_unpack): New function to validate arguments and invoke</div><div class='del'>-	  bary_unpack_internal.</div><div class='del'>-	  (rb_integer_unpack_internal): Removed.</div><div class='del'>-	  (rb_integer_unpack): Invoke bary_unpack_internal.</div><div class='del'>-	  (rb_integer_unpack_2comp): Removed.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_integer_unpack_2comp): Removed.</div><div class='del'>-</div><div class='del'>-	* pack.c: Follow the above change.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 18:41:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (INTEGER_PACK_2COMP): Defined.</div><div class='del'>-	  (rb_integer_pack_2comp): Removed.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_pack): Support INTEGER_PACK_2COMP.</div><div class='del'>-	  (rb_integer_pack): Invoke bary_pack directly.</div><div class='del'>-	  (rb_integer_pack_2comp): Removed.</div><div class='del'>-	  (rb_integer_pack_internal): Ditto.</div><div class='del'>-	  (absint_numwords_generic): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 17:48:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_generic): rb_funcall invocations removed.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 16:04:38 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config_files.rb: use URI.read to allow it runs with Ruby 1.8.5.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 14:32:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_pack) Extracted from rb_integer_pack_internal.</div><div class='del'>-	  (absint_numwords_generic): Use bary_pack.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 11:01:57 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (XMLRPC::Client#http): Add.</div><div class='del'>-	  [ruby-core:55197] [Feature #8461]</div><div class='del'>-</div><div class='del'>-Sun Jun 16 10:38:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_add): New function.</div><div class='del'>-	  (bary_zero_p): Extracted from bigzero_p.</div><div class='del'>-	  (absint_numwords_generic): Use bary_zero_p and bary_add.</div><div class='del'>-	  (bary_mul): Fix an argument for bary_mul_single.</div><div class='del'>-	  (bary_divmod): Use size_t for arguments.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 08:55:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Use a BDIGIT variable to store the return</div><div class='del'>-	  value of bigdivrem_single.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 08:43:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_divmod): New function.</div><div class='del'>-	  (absint_numwords_generic): Use bary_divmod.</div><div class='del'>-	  (bigdivrem_num_extra_words): Extracted from bigdivrem.</div><div class='del'>-	  (bigdivrem_single): Ditto.</div><div class='del'>-	  (bigdivrem_normal): Ditto.</div><div class='del'>-	  (BIGDIVREM_EXTRA_WORDS): Defined.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 05:51:51 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Fixup around GC by MALLOC.</div><div class='del'>-	  Add allocate size to malloc_increase before GC</div><div class='del'>-	  for updating limit in after_gc_sweep.</div><div class='del'>-	  Reset malloc_increase into garbage_collect()</div><div class='del'>-	  for preventing GC again soon.</div><div class='del'>-</div><div class='del'>-Sun Jun 16 05:15:36 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Add some columns to more detail profile.</div><div class='del'>-	  new columns: Allocated size, Prepare Time, Removing Objects, Empty Objects</div><div class='del'>-</div><div class='del'>-Sun Jun 16 02:04:40 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_timer_stop): Merge function codes of GC_PROFILE_MORE_DETAIL and !GC_PROFILE_MORE_DETAIL.</div><div class='del'>-	* gc.c (gc_prof_mark_timer_start): Ditto.</div><div class='del'>-	* gc.c (gc_prof_mark_timer_stop): Ditto.</div><div class='del'>-	* gc.c (gc_prof_sweep_slot_timer_start): Ditto.</div><div class='del'>-	* gc.c (gc_prof_sweep_slot_timer_stop): Ditto.</div><div class='del'>-	* gc.c (gc_prof_set_malloc_info): Ditto.</div><div class='del'>-	* gc.c (gc_prof_set_heap_info): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 23:50:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_sub): New function.</div><div class='del'>-	  (absint_numwords_generic): Use bary_sub.</div><div class='del'>-	  (bigsub_core): Skip unnecessary copy.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 22:05:30 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul): New function.</div><div class='del'>-	  (absint_numwords_generic): Use bary_mul.</div><div class='del'>-	  (bary_mul_single): Extracted from bigmul1_single.</div><div class='del'>-	  (bary_mul_normal): Extracted from bigmul1_normal.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 20:13:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_unpack): Extracted from rb_integer_unpack_internal.</div><div class='del'>-	  (absint_numwords_generic): Use bary_unpack.</div><div class='del'>-	  (roomof): Defined.</div><div class='del'>-	  (bdigit_roomof): Defined.</div><div class='del'>-	  (BARY_ARGS): Defined.</div><div class='del'>-	  (bary_unpack): Declared.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 19:35:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_bytes): Make it static.</div><div class='del'>-	  (absint_numwords_small): Ditto.</div><div class='del'>-	  (absint_numwords_generic): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 17:14:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigmul1_normal): Shrink the result Bignum length.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 10:19:42 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Update overview formatting of headers</div><div class='del'>-</div><div class='del'>-Sat Jun 15 10:19:06 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: Update authors</div><div class='del'>-</div><div class='del'>-Sat Jun 15 10:02:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bdigs_small_rshift): Extracted from big_rshift.</div><div class='del'>-	  (bigdivrem): Use bdigs_small_rshift.</div><div class='del'>-</div><div class='del'>-Sat Jun 15 08:37:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): propagate absolute path from the</div><div class='del'>-	  binding if it is given explicitly.  patch by Gat (Dawid Janczak) at</div><div class='del'>-	  [ruby-core:55123]. [Bug #8436]</div><div class='del'>-</div><div class='del'>-Sat Jun 15 02:40:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bdigs_small_lshift): Extracted from big_lshift.</div><div class='del'>-	  (bigdivrem): Use bdigs_small_lshift.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 20:47:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Reduce number of digits before bignew() for div.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 20:12:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Use bignew when ny == 1.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 18:52:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile_node): fix location of a `trace'</div><div class='del'>-	  instruction (b_return event).</div><div class='del'>-	  [ruby-core:55305] [ruby-trunk - Bug #8489]</div><div class='del'>-	  (need a backport to 2.0.0?)</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 18:18:07 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, include/ruby/ruby.h: add write barriers for T_CLASS,</div><div class='del'>-	  T_MODULE, T_ICLASS.</div><div class='del'>-</div><div class='del'>-	* constant.h: constify rb_const_entry_t::value and file to detect</div><div class='del'>-	  assignment.</div><div class='del'>-</div><div class='del'>-	* variable.c, internal.h (rb_st_insert_id_and_value, rb_st_copy):</div><div class='del'>-	  added. update table with write barrier.</div><div class='del'>-</div><div class='del'>-	* method.h: constify some variables to detect assignment.</div><div class='del'>-</div><div class='del'>-	* object.c (init_copy): add WBs.</div><div class='del'>-</div><div class='del'>-	* variable.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 14:33:47 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a note for Module#using.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 13:40:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml (before_script): update config files.</div><div class='del'>-</div><div class='del'>-	* common.mk ($(srcdir)/tool/config.{guess,sub}): use get-config_files.</div><div class='del'>-</div><div class='del'>-	* tool/config_files.rb: split get-config_files.</div><div class='del'>-</div><div class='del'>-	* common.mk (update-config_files): rule to download config files.</div><div class='del'>-</div><div class='del'>-	* tool/config.guess, tool/config.sub: remove and download from the</div><div class='del'>-	  upstream.</div><div class='del'>-</div><div class='del'>-	* tool/config_files.rb: download config files from GNU.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 12:21:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): suppress warnings</div><div class='del'>-	  "left-hand operand of comma expression has no effect", on gcc 4.4.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 09:48:48 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add notes for $SAFE.</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: remove the description of $SAFE=4.</div><div class='del'>-</div><div class='del'>-Fri Jun 14 00:14:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Zero test condition simplified.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 23:43:11 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/*: improve documentation, nodoc samples with @mrkn</div><div class='del'>-</div><div class='del'>-Thu Jun 13 23:02:14 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#http): Add reader for raw</div><div class='del'>-	  Net::HTTP. [ruby-core:55197] [Feature #8461]</div><div class='del'>-	  Reported by Herwin Weststrate. Thanks!!!</div><div class='del'>-</div><div class='del'>-Thu Jun 13 22:44:52 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Support</div><div class='del'>-	  multiple names in a response. [ruby-core:41711] [Bug #5774]</div><div class='del'>-	  Reported by Roman Riha. Thanks!!!</div><div class='del'>-	* test/xmlrpc/test_client.rb (XMLRPC::ClientTest#test_cookie_override):</div><div class='del'>-	  Add a test of the above case.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 22:35:50 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Use</div><div class='del'>-	  guard style.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 22:12:32 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#rmdir): fix traversal loop, not trying</div><div class='del'>-	  remove same directory only.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 21:30:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (opt-dir), tool/ifchange: get rid of "alternate value"</div><div class='del'>-	  expansion for legacy sh.  [ruby-dev:47420] [Bug #8524]</div><div class='del'>-</div><div class='del'>-Thu Jun 13 21:24:09 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Refactored to use ALLOCV_N for temporary</div><div class='del'>-	  buffers.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 18:54:11 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_num_bdigits_generic): reorder terms (but not</div><div class='del'>-	  changed the intention of the expression) because VC++ reports a</div><div class='del'>-	  warning for it.  reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 18:53:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_thread_local_security): Don't create</div><div class='del'>-	  an unused thread.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 18:34:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivrem): Use nlz.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 14:51:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): check constant safe</div><div class='del'>-	  level at compile time.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 14:39:08 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/test_printf.rb, test/rss/test_parser.rb,</div><div class='del'>-	  test/ruby/test_array.rb, test/ruby/test_hash.rb,</div><div class='del'>-	  test/ruby/test_m17n.rb, test/ruby/test_marshal.rb,</div><div class='del'>-	  test/ruby/test_object.rb, test/ruby/test_string.rb: don't use</div><div class='del'>-	  untrusted?, untrust, and trust to avoid warnings in case $VERBOSE is</div><div class='del'>-	  true.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 10:47:16 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_autoload.rb, bootstraptest/test_method.rb:</div><div class='del'>-	  remove tests for $SAFE=4.</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: use taint instead of untrust to avoid warnings when</div><div class='del'>-	  $VERBOSE is set to true.</div><div class='del'>-</div><div class='del'>-Thu Jun 13 06:12:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_num_bdigits_small): Fix a compile error on</div><div class='del'>-	  clang -Werror,-Wshorten-64-to-32</div><div class='del'>-	  Reported by Eric Hodel.  [ruby-core:55467] [Bug #8522]</div><div class='del'>-</div><div class='del'>-Thu Jun 13 05:32:13 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb:  Enable RFC 3542 IPV6 socket options for OS X</div><div class='del'>-	  10.7+.  [ruby-trunk - Bug #8517]</div><div class='del'>-</div><div class='del'>-Thu Jun 13 00:17:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_unpack_2comp): New function.</div><div class='del'>-	  (rb_integer_unpack_internal): Extracted from rb_integer_unpack and</div><div class='del'>-	  nlp_bits_ret argument added.</div><div class='del'>-	  (integer_unpack_num_bdigits_small): nlp_bits_ret argument added to</div><div class='del'>-	  return number of leading padding bits.</div><div class='del'>-	  (integer_unpack_num_bdigits_generic): Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_integer_unpack_2comp): Declared.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): Use rb_integer_unpack_2comp and</div><div class='del'>-	  rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 23:27:03 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_using): new method Module#using, which activates</div><div class='del'>-	  refinements of the specified module only in the current class or</div><div class='del'>-	  module definition.  [ruby-core:55273] [Feature #8481]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 22:58:48 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError</div><div class='del'>-	  when $SAFE is set to 4.  $SAFE=4 is now obsolete.</div><div class='del'>-	  [ruby-core:55222] [Feature #8468]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust):</div><div class='del'>-	  Kernel#untrusted?, untrust, and trust are now deprecated.</div><div class='del'>-	  Their behavior is same as tainted?, taint, and untaint,</div><div class='del'>-	  respectively.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED()</div><div class='del'>-	  and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(),</div><div class='del'>-	  respectively.</div><div class='del'>-</div><div class='del'>-	* array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c,</div><div class='del'>-	  ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c,</div><div class='del'>-	  ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c,</div><div class='del'>-	  ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c,</div><div class='del'>-	  ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c,</div><div class='del'>-	  ext/socket/socket.c, ext/socket/udpsocket.c,</div><div class='del'>-	  ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c,</div><div class='del'>-	  ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c,</div><div class='del'>-	  load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c,</div><div class='del'>-	  safe.c, string.c, thread.c, transcode.c, variable.c,</div><div class='del'>-	  vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for</div><div class='del'>-	  $SAFE=4.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_dl2.rb, test/erb/test_erb.rb,</div><div class='del'>-	  test/readline/test_readline.rb,</div><div class='del'>-	  test/readline/test_readline_history.rb, test/ruby/test_alias.rb,</div><div class='del'>-	  test/ruby/test_array.rb, test/ruby/test_dir.rb,</div><div class='del'>-	  test/ruby/test_encoding.rb, test/ruby/test_env.rb,</div><div class='del'>-	  test/ruby/test_eval.rb, test/ruby/test_exception.rb,</div><div class='del'>-	  test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb,</div><div class='del'>-	  test/ruby/test_io.rb, test/ruby/test_method.rb,</div><div class='del'>-	  test/ruby/test_module.rb, test/ruby/test_object.rb,</div><div class='del'>-	  test/ruby/test_pack.rb, test/ruby/test_rand.rb,</div><div class='del'>-	  test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb,</div><div class='del'>-	  test/ruby/test_struct.rb, test/ruby/test_thread.rb,</div><div class='del'>-	  test/ruby/test_time.rb: remove tests for $SAFE=4.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 22:18:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_num_bdigits_generic): Rewritten without</div><div class='del'>-	  rb_funcall.</div><div class='del'>-	  (integer_unpack_num_bdigits_bytes): Removed.</div><div class='del'>-	  (rb_integer_unpack): integer_unpack_num_bdigits_bytes invocation</div><div class='del'>-	  removed.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 20:18:03 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Extract.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 18:19:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (validate_integer_pack_format): supported_flags argument</div><div class='del'>-	  added and validate given flags.</div><div class='del'>-	  (rb_integer_pack_internal): Specify supported_flags.</div><div class='del'>-	  (rb_integer_unpack): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 16:41:38 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): remove duplicated assertions.</div><div class='del'>-	  ARY_HEAP_PTR() implies ary not to be embedded.  [ruby-dev:47419]</div><div class='del'>-	  [Bug #8518]</div><div class='del'>-</div><div class='del'>-Wed Jun 12 12:44:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getc): fix 7bit coderange condition, check if ascii read</div><div class='del'>-	  data instead of read length. [ruby-core:55444] [Bug #8516]</div><div class='del'>-</div><div class='del'>-Wed Jun 12 12:35:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Use rb_integer_pack_2comp.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 12:07:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): Fix a dynamic format string.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 12:04:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_uniq_bang): must not be modified once frozen even in</div><div class='del'>-	  a callback method.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 12:03:43 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): must not be modified once frozen even in</div><div class='del'>-	  a callback method.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 12:00:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (FL_SET_EMBED): shared object is frozen even when get</div><div class='del'>-	  unshared.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): ARY_SET_CAPA needs unshared array.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 07:32:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_int): Use rb_big_uminus.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 07:12:54 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c:  Improve documentation: replace "instance variable" with</div><div class='del'>-	  "member", recommend the use of a block to customize structs, note</div><div class='del'>-	  that member accessors are created, general cleanup.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 06:35:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (INTEGER_PACK_NEGATIVE): Defined.</div><div class='del'>-	  (rb_integer_unpack): sign argument removed.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_unpack): sign argument removed.</div><div class='del'>-	  Non-negative integers generated by default.</div><div class='del'>-	  INTEGER_PACK_NEGATIVE flag is used to generate non-positive integers.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Ditto.</div><div class='del'>-	  (make_seed_value): Ditto.</div><div class='del'>-	  (mt_state): Ditto.</div><div class='del'>-	  (limited_big_rand): Ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 12 00:07:46 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_client.rb (XMLRPC::ClientTest#test_cookie_simple):</div><div class='del'>-	  Add a test for the extracted method.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 23:56:24 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_client.rb (XMLRPC::ClientTest::Fake::HTTP#started):</div><div class='del'>-	  Add a missing empty line.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 23:37:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (validate_integer_pack_format): Don't require a word order</div><div class='del'>-	  flag if numwords is 1 or less.</div><div class='del'>-	  (absint_numwords_generic): Don't specify a word order for</div><div class='del'>-	  rb_integer_pack.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): Ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (v2w_bignum): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 23:01:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (validate_integer_pack_format): Refine error messages.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 22:25:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (validate_integer_pack_format): numwords argument added.</div><div class='del'>-	  Move a varidation from rb_integer_pack_internal and rb_integer_unpack.</div><div class='del'>-	  (rb_integer_pack_internal): Follow above change.</div><div class='del'>-	  (rb_integer_unpack): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 20:52:43 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_pack_internal): Renamed from rb_integer_pack</div><div class='del'>-	  and overflow_2comp argument added.</div><div class='del'>-	  (rb_integer_pack): Just call rb_integer_pack_internal.</div><div class='del'>-	  (rb_integer_pack_2comp): New function.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_integer_pack_2comp): Declared.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): Use rb_integer_pack and</div><div class='del'>-	  rb_integer_pack_2comp to format binary/octal/hexadecimal integers.</div><div class='del'>-	  (ruby_digitmap): Declared.</div><div class='del'>-	  (remove_sign_bits): Removed.</div><div class='del'>-	  (BITSPERDIG): Ditto.</div><div class='del'>-	  (EXTENDSIGN): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 16:15:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_shrink_capa): shrink the capacity so it fits just with</div><div class='del'>-	  the length.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_make_shared): release never used elements from frozen</div><div class='del'>-	  array to be shared.  [ruby-dev:47416] [Bug #8510]</div><div class='del'>-</div><div class='del'>-Tue Jun 11 12:49:01 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/re.rdoc: Rename to doc/regexp.rdoc</div><div class='del'>-	* re.c: Update rdoc include for rename of file</div><div class='del'>-</div><div class='del'>-Tue Jun 11 07:13:13 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): keep that errat is non-shady object.</div><div class='del'>-	  and guard errat from GC.</div><div class='del'>-</div><div class='del'>-Tue Jun 11 05:04:25 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c: use rb_ary_entry() and</div><div class='del'>-	  rb_ary_subseq() instead of RARRAY_PTR.</div><div class='del'>-	  Based on a patch by Dirkjan Bussink. See Bug #8399.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 23:51:51 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new_from_values): fix a typo. pointed out by</div><div class='del'>-	  nagachika.</div><div class='del'>-	  http://d.hatena.ne.jp/nagachika/20130610/ruby_trunk_changes_41199_41220</div><div class='del'>-</div><div class='del'>-Mon Jun 10 21:51:03 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 21:49:43 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing return</div><div class='del'>-	  value assignment.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 20:58:11 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntu</div><div class='del'>-	  13.04's getaddrinfo issue with mdns4. [ruby-list:49420]</div><div class='del'>-</div><div class='del'>-Mon Jun 10 19:34:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_pack): Returns sign instead of words.</div><div class='del'>-	  (absint_numwords_generic): Follow the above change.</div><div class='del'>-	  (big2str_base_powerof2): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* internal.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): Ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Ditto.</div><div class='del'>-	  (rand_init): Ditto.</div><div class='del'>-	  (random_load): Ditto.</div><div class='del'>-	  (limited_big_rand): Ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (v2w_bignum): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 17:20:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_remember): permit promoted object.</div><div class='del'>-	  (rb_gc_writebarrier -&gt; remember)</div><div class='del'>-</div><div class='del'>-Mon Jun 10 17:14:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTE): fix parameter name (`x' to `obj')</div><div class='del'>-	  and make it inline function (like RVALUE_PROMOTE).</div><div class='del'>-</div><div class='del'>-Mon Jun 10 16:22:50 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new_from_values): add assertion</div><div class='del'>-	  (ary should be young object).</div><div class='del'>-</div><div class='del'>-Mon Jun 10 16:05:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_mark): check allocation of `w-&gt;obj2wmap'.</div><div class='del'>-	  (no-allocation `w-&gt;obj2wmap' will be NULL pointer reference)</div><div class='del'>-</div><div class='del'>-Mon Jun 10 15:36:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): use checking functions instead of</div><div class='del'>-	  catching exceptions.</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): restore errinfo for the case new</div><div class='del'>-	  exception raised while printing the message.  [ruby-core:55365]</div><div class='del'>-	  [Bug #8501]</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): reduce calling setjmp.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 12:10:06 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_unpack_num_bdigits_small: Extracted from</div><div class='del'>-	  rb_integer_unpack.</div><div class='del'>-	  (integer_unpack_num_bdigits_generic): Ditto.</div><div class='del'>-	  (integer_unpack_num_bdigits_bytes): New function.</div><div class='del'>-	  (rb_integer_unpack): Use above functions.</div><div class='del'>-	  Return a Bignum for INTEGER_PACK_FORCE_BIGNUM even when the result</div><div class='del'>-	  is zero.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 05:38:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_small): New function.</div><div class='del'>-	  (absint_numwords_generic): Use absint_numwords_small if possible.</div><div class='del'>-</div><div class='del'>-Mon Jun 10 01:07:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_bytes): New function.</div><div class='del'>-	  (absint_numwords_generic): Extracted from rb_absint_numwords.</div><div class='del'>-	  (rb_absint_numwords): Use absint_numwords_bytes if possible.</div><div class='del'>-</div><div class='del'>-Sun Jun  9 21:33:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_numwords): Return (size_t)-1 when overflow.</div><div class='del'>-	  Refine variable names.</div><div class='del'>-	  (rb_absint_size): Refine variable names.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_absint_size): Refine an argument name.</div><div class='del'>-	  (rb_absint_numwords): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  9 16:51:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_numwords): Renamed from rb_absint_size_in_word.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_absint_numwords): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): Ditto.</div><div class='del'>-	  (limited_big_rand): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  9 14:41:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_pack): numwords_allocated argument removed.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_integer_pack): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): Ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (v2w_bignum): Ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Ditto.</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Ditto.</div><div class='del'>-	  (rand_init): Ditto.</div><div class='del'>-	  (random_load): Ditto.</div><div class='del'>-	  (limited_big_rand): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Jun  9 09:34:44 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_base_powerof2): New function.</div><div class='del'>-	  (rb_big2str0): Use big2str_base_powerof2 if base is 2, 4, 8, 16 or 32.</div><div class='del'>-</div><div class='del'>-Sun Jun  9 00:59:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash): Use rb_integer_pack to obtain least significant</div><div class='del'>-	  long integer.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 23:56:00 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_to_uint): Use rb_absint_size instead of</div><div class='del'>-	  RBIGNUM_LEN.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 22:53:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): Use rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 22:18:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (v2w): Use rb_absint_size instead of RBIGNUM_LEN.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 21:47:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (v2w_bignum): Simplified using rb_integer_pack.</div><div class='del'>-	  (rb_big_abs_find_maxbit): Removed.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 21:03:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_singlebit_p): New function.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_absint_singlebit_p): Declared.</div><div class='del'>-</div><div class='del'>-	* time.c (v2w_bignum): Use rb_absint_singlebit_p instead of</div><div class='del'>-	  rb_big_abs_find_minbit.</div><div class='del'>-	  (rb_big_abs_find_minbit): Removed.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 20:24:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_big_abs_find_maxbit): Use rb_absint_size.</div><div class='del'>-	  (bdigit_find_maxbit): Removed.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 19:47:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): invalidate method cache if included</div><div class='del'>-	  module contains constants</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add test</div><div class='del'>-</div><div class='del'>-Sat Jun  8 19:31:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (limited_big_rand): declare rnd, lim and mask as uint32_t</div><div class='del'>-	  to avoid 64 bit to 32 bit shorten warnings.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 19:23:53 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: r41163 changed win32/win32.c and configure.in</div><div class='del'>-	  but it didn't treat about mswin32/mswin64, so fix it.</div><div class='del'>-	  NOTE: this needs a review by usa whether additional condition is</div><div class='del'>-	  required or not.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 19:06:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: Unused RBignum internal accessing macros removed.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 19:04:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (limited_big_rand): The argument, limit, is changed to</div><div class='del'>-	  VALUE.  Use rb_integer_pack and rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 17:15:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (make_seed_value): Fix the length given for</div><div class='del'>-	  rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 16:38:02 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_unpack): Don't use rb_funcall if possible.</div><div class='del'>-</div><div class='del'>-	* random.c: Use uint32_t for elements of seed.</div><div class='del'>-	  (make_seed_value): Use rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 15:58:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): Add a cast to fix clang compile error:</div><div class='del'>-	  random.c:410:32: error: implicit conversion loses integer precision:</div><div class='del'>-	  'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]</div><div class='del'>-	  This cast doesn't cause a problem because len is not bigger than</div><div class='del'>-	  MT_MAX_STATE.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 15:30:03 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_init): Use rb_integer_pack.</div><div class='del'>-	  (roomof): Removed.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 14:58:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (INTEGER_PACK_FORCE_BIGNUM): New flag constant.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_unpack): Support INTEGER_PACK_FORCE_BIGNUM.</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Use</div><div class='del'>-	  INTEGER_PACK_FORCE_BIGNUM to use rb_big_mul instead of rb_funcall.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 14:17:01 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for NET_LUID.  header macro varies across</div><div class='del'>-	  compiler versions.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: use configured macro.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 11:59:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Use rb_funcall instead of</div><div class='del'>-	  rb_big_mul because rb_integer_unpack can return a Fixnum.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 11:17:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Use rb_integer_pack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 09:49:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Use rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 08:12:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_load): Use rb_integer_pack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 06:15:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (numberof): Removed.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 06:00:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: include internal.h.</div><div class='del'>-	  (mt_state): Use rb_integer_unpack.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 00:55:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_pack_loop_setup): word_num_nailbytes_ret argument</div><div class='del'>-	  removed.</div><div class='del'>-	  (rb_integer_pack): Follow the above change.</div><div class='del'>-	  (rb_integer_unpack): Follow the above change.</div><div class='del'>-</div><div class='del'>-Sat Jun  8 00:37:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (validate_integer_pack_format): Renamed from</div><div class='del'>-	  validate_integer_format.</div><div class='del'>-	  (integer_pack_loop_setup): Renamed from integer_format_loop_setup.</div><div class='del'>-	  (integer_pack_fill_dd): Renamed from int_export_fill_dd.</div><div class='del'>-	  (integer_pack_take_lowbits): Renamed from int_export_take_lowbits.</div><div class='del'>-	  (integer_unpack_push_bits): Renamed from int_import_push_bits.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 23:58:06 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_pack): Arguments changed.  Use flags to</div><div class='del'>-	  specify word order and byte order.</div><div class='del'>-	  (rb_integer_unpack): Ditto.</div><div class='del'>-	  (validate_integer_format): Follow the above change.</div><div class='del'>-	  (integer_format_loop_setup): Ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: Ditto.</div><div class='del'>-	  (INTEGER_PACK_MSWORD_FIRST): Defined.</div><div class='del'>-	  (INTEGER_PACK_LSWORD_FIRST): Ditto.</div><div class='del'>-	  (INTEGER_PACK_MSBYTE_FIRST): Ditto.</div><div class='del'>-	  (INTEGER_PACK_LSBYTE_FIRST): Ditto.</div><div class='del'>-	  (INTEGER_PACK_NATIVE_BYTE_ORDER): Ditto.</div><div class='del'>-	  (INTEGER_PACK_LITTLE_ENDIAN): Ditto.</div><div class='del'>-	  (INTEGER_PACK_BIG_ENDIAN): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 22:10:50 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb (Gem::Specification#to_yaml):</div><div class='del'>-	  use Gem::NoAliasYAMLTree.create instead of Gem::NoAliasYAMLTree.new</div><div class='del'>-	  to suppress deprecated warnings.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 21:39:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_integer_pack): Renamed from rb_int_export.</div><div class='del'>-	  (rb_integer_unpack): Renamed from rb_int_import.</div><div class='del'>-</div><div class='del'>-	* internal.h, pack.c: Follow the above change.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 21:05:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (integer_format_loop_setup): Extracted from rb_int_export</div><div class='del'>-	  and rb_int_import.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 19:48:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (validate_integer_format): Extracted from rb_int_export and</div><div class='del'>-	  rb_int_import.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 19:23:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_size): Use numberof.</div><div class='del'>-	  (rb_int_export): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 18:58:56 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (numberof): Gathered from various files.</div><div class='del'>-</div><div class='del'>-	* array.c, math.c, thread_pthread.c, iseq.c, enum.c, string.c, io.c,</div><div class='del'>-	  load.c, compile.c, struct.c, eval.c, gc.c, parse.y, process.c,</div><div class='del'>-	  error.c, ruby.c: Remove the definitions of numberof.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 18:24:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_size): Declare a variable, i, just before used</div><div class='del'>-	  to suppress a warning.</div><div class='del'>-	  (rb_int_export): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 17:41:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_size): explicit cast to BDIGIT to avoid implicit</div><div class='del'>-	  64 bit to 32 bit shortening warning</div><div class='del'>-	* bignum.c (rb_int_export): ditto</div><div class='del'>-	* bignum.c (int_import_push_bits): ditto</div><div class='del'>-</div><div class='del'>-Fri Jun  7 17:31:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (RCLASS_SUPER): use descriptive variable name</div><div class='del'>-	* internal.h (RCLASS_SET_SUPER): ditto</div><div class='del'>-</div><div class='del'>-Fri Jun  7 13:25:27 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/fbuffer/fbuffer.h (fbuffer_append_str): change the place of</div><div class='del'>-	  RB_GC_GUARD. it should be after the object is used.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 13:22:43 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (before_gc_sweep): noinline can also avoid the segv instead of</div><div class='del'>-	  -O0 of r41084. this way is expected less slow.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:45:42 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (numeric_quo): move num_quo in numeric.c to numeric_quo</div><div class='del'>-	  in rational.c to refer canonicalization state for mathn support.</div><div class='del'>-	  [ruby-core:41575] [Bug #5736]</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_quo): ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_mathn.rb: add a test for the change at r41109.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:41:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r41106.  size_t may not be unsigned</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_size_in_word, rb_int_export, rb_int_import): use</div><div class='del'>-	  NUM2SIZET() and SIZET2NUM() already defined in ruby/ruby.h.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:28:37 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use oldgen bitmap as initial mark bitmap when major gc.</div><div class='del'>-	  so can skip oldgen bitmap check around mark &amp; sweep.</div><div class='del'>-	* gc.c (slot_sweep_body): change scan algorithm for performance:</div><div class='del'>-	  from object's pointer base to bitmap one.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:25:56 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce oldgen bitmap for preparing performance tuning.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:20:57 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (MARKED_IN_BITMAP, MARK_IN_BITMAP, CLEAR_IN_BITMAP): bring</div><div class='del'>-	  bitmap macros in one place, and introduce BITMAP_BIT.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:18:35 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_new): change order of allocation in order</div><div class='del'>-	  to remove FL_OLDGEN operation.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 11:16:28 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rdocbench.rb: add gc total time information.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 10:12:01 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove "Sunny" terminology.</div><div class='del'>-	  "Sunny" doesn't mean antonym of "Shady" (questionable, doubtful, etc).</div><div class='del'>-	  Instead of "Sunny", use "non-shady" or "normal".</div><div class='del'>-</div><div class='del'>-Fri Jun  7 09:29:33 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_int_import): explicitly casting BDIGIT_DBL to BDIGIT</div><div class='del'>-	  to prevent warning.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 07:29:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_int_export): countp argument is split into</div><div class='del'>-	  wordcount_allocated and wordcount.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_int_export): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 07:17:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: describe a compatibility issue of Numeric#quo</div><div class='del'>-	  introduced at r41109.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 07:15:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: fix style.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 06:48:17 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: remove unused ID id_to_r introduced in r41109.</div><div class='del'>-</div><div class='del'>-Fri Jun  7 06:15:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_int_import): New function.</div><div class='del'>-	  (int_import_push_bits): Ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_int_import): Declared.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): Use rb_int_import for BER compressed integer.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 22:24:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_quo): Use to_r method to convert the receiver to</div><div class='del'>-	  rational.  [ruby-core:41575] [Bug #5736]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb: add a test for the above change.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 20:40:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Invoke RUBY_REPLACE_TYPE for size_t.</div><div class='del'>-	  Don't invoke RUBY_CHECK_PRINTF_PREFIX for size_t to avoid conflict</div><div class='del'>-	  with RUBY_REPLACE_TYPE.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_absint_size): Declared.</div><div class='del'>-	  (rb_absint_size_in_word): Ditto.</div><div class='del'>-	  (rb_int_export): Ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_absint_size): New function.</div><div class='del'>-	  (rb_absint_size_in_word): Ditto.</div><div class='del'>-	  (int_export_fill_dd): Ditto.</div><div class='del'>-	  (int_export_take_lowbits): Ditto.</div><div class='del'>-	  (rb_int_export): Ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Use rb_int_export for BER compressed integer.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 19:31:33 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: fixed coding error [ruby-core:55337].</div><div class='del'>-	  reported by Riley Lynch.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 14:16:37 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: rename allocation_info to</div><div class='del'>-	  lookup_allocation_info. At times I confused "struct</div><div class='del'>-	  allocation_info" with "function allocation_info".</div><div class='del'>-</div><div class='del'>-Thu Jun  6 13:57:06 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: allocation_info function isn't</div><div class='del'>-	  called by any other file.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 09:41:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_quo): should return a Float for a Float argument.</div><div class='del'>-	  [ruby-dev:44710] [Bug #5515]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: Add an assertion for the above change.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 00:59:44 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): get rid of pushing useless objects.</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): bypass gc_mark() in order to push</div><div class='del'>-	  sunny old object at minor gc.</div><div class='del'>-	* gc.c (gc_mark_children): move sunny old check to gc_mark().</div><div class='del'>-	* gc.c (rgengc_check_shady): remove DEMOTE that already unnecessary.</div><div class='del'>-	* gc.c (rb_gc_writebarrier): ditto.</div><div class='del'>-</div><div class='del'>-	  change sunny old check point in order to save mark stack and</div><div class='del'>-	  remove unnatural rest_sweep &amp; demote.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 00:52:42 2013  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): change scan algorithm for performance:</div><div class='del'>-	  from object's pointer base to bitmap one.</div><div class='del'>-</div><div class='del'>-Thu Jun  6 00:30:04 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NET_LUID): define it on MinGW32.</div><div class='del'>-	  mingw-w64 has NET_LUID but mingw32 (mingw.org) still doesn't have</div><div class='del'>-	  NET_LUID. reported by taco on IRC</div><div class='del'>-</div><div class='del'>-Thu Jun  6 00:05:08 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (String#b): Allow code range scan to happen later so</div><div class='del'>-	  ascii_only? on a result string returns the correct value.</div><div class='del'>-	  [ruby-core:55315] [Bug #8496]</div><div class='del'>-</div><div class='del'>-Wed Jun  5 22:40:42 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (capability_response): should ignore trailing</div><div class='del'>-	  spaces.  Thanks, Peter Kovacs.  [ruby-core:55024] [Bug #8415]</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap_response_parser.rb: related test.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 21:17:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_fdiv): Use nlz() instead of bdigbitsize().</div><div class='del'>-	  (bdigbitsize): Removed.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 20:32:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: fix alignment in comment.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 20:05:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): Add a cast to BDIGIT.</div><div class='del'>-	  (random_load): Fix shift width for fixnums.</div><div class='del'>-	  Re-implement bignum extraction without ifdefs.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 15:26:10 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (before_gc_sweep): don't optimize it to avoid segv on Ubuntu</div><div class='del'>-	  10.04 gcc 4.4.</div><div class='del'>-	  http://u32.rubyci.org/~chkbuild/ruby-trunk/log/20130527T190301Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Wed Jun  5 09:46:46 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add</div><div class='del'>-	  EACCES for Windows.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 08:13:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): Don't need to multiply SIZEOF_BDIGITS.</div><div class='del'>-	  Use nlz instead of bitlength_bdigit.</div><div class='del'>-	  (bitlength_bdigit): Removed.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 07:14:18 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_cmp, d_lite_equal): simplified.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 07:07:01 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: fixed a bug [ruby-core:55295].  reported</div><div class='del'>-	  by Riley Lynch.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 06:44:08 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.0.3</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  Tests for the above.</div><div class='del'>-</div><div class='del'>-	* NEWS:  Added RubyGems 2.0.3 note.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 06:35:15 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/marshal.rdoc:  Add description of Marshal format.</div><div class='del'>-</div><div class='del'>-Wed Jun  5 01:16:09 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (Array#+): fix documentation example.</div><div class='del'>-	  Patch by Logan Serman. [Fixes GH-324]</div><div class='del'>-</div><div class='del'>-Wed Jun  5 00:21:54 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/help-message: update help messages.</div><div class='del'>-	  following r41028. [ruby-dev:46707] [Feature #7510]</div><div class='del'>-</div><div class='del'>-Wed Jun  5 00:09:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): Generalize a round up expression.</div><div class='del'>-	  Use BDIGIT instead of int.</div><div class='del'>-</div><div class='del'>-Tue Jun  4 23:44:02 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Hash): fix docs. patched by Stefan Sch"ussler.</div><div class='del'>-	  [ruby-core:55299] [Bug #8487]</div><div class='del'>-</div><div class='del'>-Tue Jun  4 23:16:49 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: Use %w literal construction for long lists.</div><div class='del'>-	  Patch by Dave Goodchild. [Fixes GH-299]</div><div class='del'>-</div><div class='del'>-Tue Jun  4 23:08:42 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: improve wording and remove duplicated comment.</div><div class='del'>-	  Based on a patch by Dave Goodchild. [Fixes GH-299]</div><div class='del'>-</div><div class='del'>-Tue Jun  4 18:41:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bitlength_bdigit): Fix an off-by-one error.</div><div class='del'>-</div><div class='del'>-Tue Jun  4 15:30:00 2013  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): fix the number</div><div class='del'>-	  of figures.  Patch by Vipul A M &lt;vipulnsward@gmail.com&gt;.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/323  fix GH-323</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal_util.rb: fix for the above change.</div><div class='del'>-</div><div class='del'>-Tue Jun  4 00:44:27 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add</div><div class='del'>-	  EEXIST for Linux. (suggested by nurse)</div><div class='del'>-</div><div class='del'>-Mon Jun  3 23:58:19 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils.rmdir): use remove_tailing_slash.</div><div class='del'>-	* test/fileutils/test_fileutils.rb: test for above.</div><div class='del'>-</div><div class='del'>-Mon Jun  3 23:47:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bitlength_bdigit): New function.</div><div class='del'>-	  (rb_big_pow): Use bitlength_bdigit instead of ffs.</div><div class='del'>-</div><div class='del'>-Mon Jun  3 23:11:19 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: fix behavior when mkdir/mkdir_p accepted "/".</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add test for above change.</div><div class='del'>-	  Patched by Mitsunori Komatsu. [GH-319]</div><div class='del'>-</div><div class='del'>-Mon Jun  3 19:02:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (is_hfs): use the file descriptor instead of a path.</div><div class='del'>-</div><div class='del'>-Mon Jun  3 07:15:17 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removes AC_CHECK_FUNCS(readdir_r). readdir_r()</div><div class='del'>-	  is only used from dir.c and it doesn't need readdir_r().</div><div class='del'>-	* configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): removed. It is</div><div class='del'>-	  only used for readdir_r.</div><div class='del'>-	* dir.c: removes NAME_MAX_FOR_STRUCT_DIRENT. It is not right way</div><div class='del'>-	  to detect maximum length of path len. POSIX require to use</div><div class='del'>-	  fpathconf(). IOW, it might have lead to make a vulnerability</div><div class='del'>-	  using stack smashing. Moreover, readdir() works enough for our</div><div class='del'>-	  usage.</div><div class='del'>-	* dir.c (READDIR): removes an implementation which uses</div><div class='del'>-	  readdir_r() and parenthesize in a macro body correctly.</div><div class='del'>-	* dir.c (dir_read): removes IF_HAVE_READDIR_R(DEFINE_STRUCT_DIRENT</div><div class='del'>-	  entry), it is used only for readdir_r().</div><div class='del'>-	* dir.c (dir_each): ditto.</div><div class='del'>-	* dir.c (glob_helper): ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (READDIR): removes entry and dp argument.</div><div class='del'>-	* dir.c (dir_read): adjust for the above change.</div><div class='del'>-	* dir.c (dir_each): ditto.</div><div class='del'>-	* dir.c (glob_helper): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  3 03:40:29 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): partially revert r41019.</div><div class='del'>-	  The code is not useless.</div><div class='del'>-</div><div class='del'>-Mon Jun  3 01:25:25 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_sockopt.rb: change test name. follow r41037.</div><div class='del'>-</div><div class='del'>-Mon Jun  3 01:08:43 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: rename functions introduced in r41009.</div><div class='del'>-</div><div class='del'>-Sun Jun  2 23:33:42 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/japanese_euc.trans, test/ruby/test_transcode.rb,</div><div class='del'>-	  tool/transcode-tblgen.rb: change EUC-JP-2004 to EUC-JIS-2004.</div><div class='del'>-	  This is follow up to changes in r41024.</div><div class='del'>-</div><div class='del'>-Sun Jun  2 22:44:42 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: rename functions introduced in r41009</div><div class='del'>-	  s/ip/ipv4/g because they are ipv4 functions.</div><div class='del'>-	  (there's a policy that the name "ip" is for methods which supports</div><div class='del'>-	   both ipv4 and ipv6)</div><div class='del'>-</div><div class='del'>-Sun Jun  2 16:15:29 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln_find.c (dln_find_exe, dln_find_file): remove deprecated</div><div class='del'>-	  non-reentrant functions.</div><div class='del'>-</div><div class='del'>-Sun Jun  2 15:04:35 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb, lib/erb.rb: Use String#b [Feature #8394] by znz</div><div class='del'>-</div><div class='del'>-Sun Jun  2 14:10:21 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/help-message: Apply english updates for irb --help #7510</div><div class='del'>-</div><div class='del'>-Sun Jun  2 12:03:58 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* range.c: Fix rdoc on Range#bsearch [Bug #8242] [ruby-core:54143]</div><div class='del'>-</div><div class='del'>-Sun Jun  2 02:08:37 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c: fix typo: the name of EUC-JIS-2004.</div><div class='del'>-</div><div class='del'>-Sat Jun  1 23:17:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_mod_module_eval): mention in docs that arguments passed</div><div class='del'>-	  to the method are passed to the block</div><div class='del'>-</div><div class='del'>-Sat Jun  1 17:58:13 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#freeze, taint, untaint): Save a "self" by</div><div class='del'>-	  utilizing super returning self, and add tests while at it.</div><div class='del'>-</div><div class='del'>-Sat Jun  1 17:24:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments): not a simple single argument if any</div><div class='del'>-	  keyword arguments exist.  [ruby-core:55203] [Bug #8463]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_setup_block_args): split single parameter</div><div class='del'>-	  if any keyword arguments exist, and then extract keyword arguments.</div><div class='del'>-	  [ruby-core:55203] [Bug #8463]</div><div class='del'>-</div><div class='del'>-Sat Jun  1 11:16:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_exc_new_cstr): rename from rb_exc_new2.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_exc_new_str): rename from rb_exc_new3.</div><div class='del'>-</div><div class='del'>-Sat Jun  1 10:13:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new[2-5], rb_{tainted,usascii}_str_new2),</div><div class='del'>-	  (rb_str_buf_new2): remove old interfaces.</div><div class='del'>-</div><div class='del'>-Sat Jun  1 08:00:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_read, gzfile_read_all, gzfile_getc),</div><div class='del'>-	  (gzreader_gets): check EOF.  [ruby-core:55220] [Bug #8467]</div><div class='del'>-</div><div class='del'>-Sat Jun  1 07:32:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Use BDIGIT type for hbase.</div><div class='del'>-</div><div class='del'>-Sat Jun  1 02:37:35 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_s_byte): constructor of the sockopt</div><div class='del'>-	  whose value's is byte.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_byte): getter for above.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_byte): inspect for above.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_s_ip_multicast_loop): constructor of</div><div class='del'>-	  the sockopt whose optname is IP_MULTICAST_LOOP.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_ip_multicast_loop): getter for above.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_s_ip_multicast_ttl): constructor of</div><div class='del'>-	  the sockopt whose optname is IP_MULTICAST_TTL.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_ip_multicast_ttl): getter for above.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_inspect): use above.</div><div class='del'>-</div><div class='del'>-Sat Jun 01 01:50:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_power): use rb_dbl2big</div><div class='del'>-	  to convert a double value to a Bignum.</div><div class='del'>-</div><div class='del'>-Sat Jun  1 00:19:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (calc_hbase): Make hbase the maximum power of base</div><div class='del'>-	  representable in BDIGIT.</div><div class='del'>-</div><div class='del'>-Fri May 31 23:56:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (calc_hbase): Extracted from rb_big2str0.</div><div class='del'>-</div><div class='del'>-Fri May 31 23:22:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: Don't hard code SIZEOF_BDIGITS for log_base(hbase).</div><div class='del'>-	  (big2str_orig): hbase_numdigits argument added.</div><div class='del'>-	  (big2str_karatsuba): Ditto.</div><div class='del'>-	  (rb_big2str0): Calculate hbase_numdigits.</div><div class='del'>-</div><div class='del'>-Fri May 31 17:57:21 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Improve Process::exec documentation</div><div class='del'>-</div><div class='del'>-Fri May 31 17:26:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcallv): add better names of rb_funcall2.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_funcallv_public): ditto for rb_funcall3.</div><div class='del'>-</div><div class='del'>-Fri May 31 17:04:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new_capa): add better names of rb_ary_new2.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new_from_args): ditto for rb_ary_new3.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_new_from_values): ditto for rb_ary_new4.</div><div class='del'>-</div><div class='del'>-Fri May 31 16:35:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_ATTRIBUTE_FUNCTION_ALIAS): define to tell if</div><div class='del'>-	  alias attribute is available.</div><div class='del'>-</div><div class='del'>-Fri May 31 16:03:23 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c, proc.c: s/call_seq/call-seq in rdoc. [Fixes GH-322]</div><div class='del'>-</div><div class='del'>-Fri May 31 15:56:36 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Add missing paren in rdoc [Fixes GH-321]</div><div class='del'>-</div><div class='del'>-Fri May 31 11:58:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (set_visibility): extract from rb_mod_public(),</div><div class='del'>-	  rb_mod_protected() and rb_mod_private().</div><div class='del'>-</div><div class='del'>-Thu May 30 19:47:42 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_keyword_arg,</div><div class='del'>-	  vm_callee_setup_arg_complex): consider a hash argument for keyword</div><div class='del'>-	  only when the number of arguments is more than the expected</div><div class='del'>-	  mandatory parameters.  [ruby-core:53199] [ruby-trunk - Bug #8040]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: update a test for above.</div><div class='del'>-</div><div class='del'>-Thu May 30 17:55:04 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: RDoc on Process.spawn</div><div class='del'>-</div><div class='del'>-Thu May 30 00:08:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_enable): rest_sweep() to finish last GC.</div><div class='del'>-	  Profiling record is allocated at first of marking phase.</div><div class='del'>-	  Enable at lazy sweeping may cause an error (SEGV).</div><div class='del'>-</div><div class='del'>-Wed May 29 10:33:27 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: fix WB bug.</div><div class='del'>-	  (1) Hash's key also needs WB.</div><div class='del'>-	  (2) callback parameter *key and *value of st_update() is not a</div><div class='del'>-	      storage of st_table itself (only local variable). So that</div><div class='del'>-	      OBJ_WRITE() is not suitable, especially for `!existing'.</div><div class='del'>-	      OBJ_WRITTEN() is used instead of OBJ_WRITE().</div><div class='del'>-</div><div class='del'>-Tue May 28 12:31:21 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: fix a bug reported at</div><div class='del'>-	  "[ruby-core:55182] [ruby-trunk - Bug #8456][Open] Sugfault in Ruby Head"</div><div class='del'>-	  Care about the case TracePoint#path #=&gt; `nil'.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: add two new methods:</div><div class='del'>-	  * ObjectSpace.allocation_class_path(o)</div><div class='del'>-	  * ObjectSpace.allocation_method_id(o)</div><div class='del'>-	  They are not useful for Object.new because they are always</div><div class='del'>-	  "Class" and :new.</div><div class='del'>-	  To trace more useful information, we need to maintain call-tree</div><div class='del'>-	  using call/return hooks, which is implemented by</div><div class='del'>-	  ll-prof &lt;http://sunagae.net/wiki/doku.php?id=software:llprof&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue May 28 11:30:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): leave makefiles untouched if the content is</div><div class='del'>-	  not changed, to get rid of unnecessary re-linking.</div><div class='del'>-</div><div class='del'>-Tue May 28 03:11:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/gc_hook.c, ext/objspace/objspace.c: add new methods to</div><div class='del'>-	  hook GC invocation.</div><div class='del'>-	  * ObjectSpace.after_gc_start_hook=(proc)</div><div class='del'>-	  * ObjectSpace.after_gc_end_hook=(proc)</div><div class='del'>-</div><div class='del'>-	  Note that hooks are not kicked immediately. Procs are kicked</div><div class='del'>-	  at postponed_job.</div><div class='del'>-</div><div class='del'>-	  This feature is a sample of new internal event and</div><div class='del'>-	  rb_postponed_job API.</div><div class='del'>-</div><div class='del'>-Tue May 28 02:56:15 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): remove wrong rest_sweep().</div><div class='del'>-</div><div class='del'>-Tue May 28 02:44:23 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): fix GC_ENABLE_LAZY_SWEEP condition.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_NOTIFY): move debug print location and use stderr instead</div><div class='del'>-	  of stdout.</div><div class='del'>-</div><div class='del'>-Tue May 28 02:07:21 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_register_one): fix iteration bug.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/postponed_job/postponed_job.c,</div><div class='del'>-	  test/-ext-/postponed_job/test_postponed_job.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue May 28 00:34:23 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, gc.c: add new internal event</div><div class='del'>-	  RUBY_INTERNAL_EVENT_GC_END. This event invokes at the end of</div><div class='del'>-	  after_sweep().</div><div class='del'>-	  Time chart with lazy sweep is:</div><div class='del'>-	    (1) Kick RUBY_INTERNAL_EVENT_GC_START</div><div class='del'>-	    (2) [gc_marks()]</div><div class='del'>-	    (3) [lazy_sweep()]</div><div class='del'>-	    (4) [... run Ruby program (mutator) with lazy_sweep() ...]</div><div class='del'>-	    (5) [after_sweep()]</div><div class='del'>-	    (6) Kick RUBY_INTERNAL_EVENT_GC_END</div><div class='del'>-	    (7) [... run Ruby program (mutator), and go to (1) ...]</div><div class='del'>-	  Time chart without lazy sweep (GC.start, etc) is:</div><div class='del'>-	    (1) Kick RUBY_INTERNAL_EVENT_GC_START</div><div class='del'>-	    (2) [gc_marks()]</div><div class='del'>-	    (3) [gc_sweep()]</div><div class='del'>-	    (4) [after_sweep()]</div><div class='del'>-	    (5) Kick RUBY_INTERNAL_EVENT_GC_END</div><div class='del'>-	    (6) [... run Ruby program (mutator), and go to (1) ...]</div><div class='del'>-</div><div class='del'>-	* ext/-test-/tracepoint/tracepoint.c,</div><div class='del'>-	  test/-ext-/tracepoint/test_tracepoint.rb: modify a test.</div><div class='del'>-</div><div class='del'>-Tue May 28 00:18:57 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush): remove a wrong comment.</div><div class='del'>-</div><div class='del'>-Mon May 27 22:09:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RHASH_SIZE): Add a cast to suppress a</div><div class='del'>-	  warning, comparison between signed and unsigned integer</div><div class='del'>-	  expressions [-Wsign-compare], on ILP32.</div><div class='del'>-</div><div class='del'>-Mon May 27 19:25:47 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rename RUBY_INTERNAL_EVENT_FREE to</div><div class='del'>-	  RUBY_INTERNAL_EVENT_FREEOBJ.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/tracepoint/tracepoint.c,</div><div class='del'>-	  ext/objspace/object_tracing.c,</div><div class='del'>-	  gc.c, vm_trace.c: catch up this change.</div><div class='del'>-</div><div class='del'>-Mon May 27 18:57:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: support ObjectSpace.trace_object_allocations.</div><div class='del'>-	  Read the following test to know HOWTO.</div><div class='del'>-	  This feature is a sample of RUBY_INTERNAL_EVENT.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/object_tracing.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_count): add. This function returns GC count.</div><div class='del'>-</div><div class='del'>-	* internal.h: add decl. of rb_gc_count(). Same as `GC.count'.</div><div class='del'>-</div><div class='del'>-Mon May 27 17:33:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (install_recursive): add maxdepth option.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (bin-comm): limit depth of bindir and reject empty</div><div class='del'>-	  files.  [ruby-core:55101] [Bug #8432]</div><div class='del'>-</div><div class='del'>-Mon May 27 16:16:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush, rb_postponed_job_register): use</div><div class='del'>-	  ruby_xmalloc/xfree. It is safe during GC.</div><div class='del'>-</div><div class='del'>-Mon May 27 09:24:03 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/postponed_job/test_postponed_job.rb: fix typo and class name.</div><div class='del'>-</div><div class='del'>-Mon May 27 09:05:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, gc.c, vm_trace.c: add internal events.</div><div class='del'>-	  * RUBY_INTERNAL_EVENT_NEWOBJ: object created.</div><div class='del'>-	  * RUBY_INTERNAL_EVENT_FREE: object freed.</div><div class='del'>-	  * RUBY_INTERNAL_EVENT_GC_START: GC started.</div><div class='del'>-	  And rename `RUBY_EVENT_SWITCH' to `RUBY_INTERNAL_EVENT_SWITCH'.</div><div class='del'>-</div><div class='del'>-	  Internal events can not invoke any Ruby program because the tracing</div><div class='del'>-	  timing may be critical (under huge restriction).</div><div class='del'>-	  These events can be hooked only by C-extensions.</div><div class='del'>-	  We recommend to use rb_postponed_job_register() API to call Ruby</div><div class='del'>-	  program safely.</div><div class='del'>-</div><div class='del'>-	  This change is mostly written by Aman Gupta (tmm1).</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/8107#note-12</div><div class='del'>-	  [Feature #8107]</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h, vm_trace.c: added two new APIs.</div><div class='del'>-	  * rb_tracearg_event_flag() returns rb_event_flag_t of this event.</div><div class='del'>-	  * rb_tracearg_object() returns created/freed object.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/tracepoint/extconf.rb,</div><div class='del'>-	  ext/-test-/tracepoint/tracepoint.c,</div><div class='del'>-	  test/-ext-/tracepoint/test_tracepoint.rb: add a test.</div><div class='del'>-</div><div class='del'>-Mon May 27 08:38:21 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/postponed_job/postponed_job.c: fix `init' function name.</div><div class='del'>-</div><div class='del'>-Mon May 27 06:22:41 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/debug.h, vm_trace.c: add rb_postponed_job API.</div><div class='del'>-	  Postponed jobs are registered with this API. Registered jobs</div><div class='del'>-	  are invoked at `ruby-running-safe-point' as soon as possible.</div><div class='del'>-	  This timing is completely same as finalizer timing.</div><div class='del'>-</div><div class='del'>-	  There are two APIs:</div><div class='del'>-	  * rb_postponed_job_register(flags, func, data): register a</div><div class='del'>-	    postponed job with data. flags are reserved.</div><div class='del'>-	  * rb_postponed_job_register_one(flags, func, data): same as</div><div class='del'>-	    `rb_postponed_job_register', but only one `func' job is</div><div class='del'>-	    registered (skip if `func' is already registered).</div><div class='del'>-</div><div class='del'>-	  This change is mostly written by Aman Gupta (tmm1).</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/8107#note-15</div><div class='del'>-	  [Feature #8107]</div><div class='del'>-</div><div class='del'>-	* gc.c: use postponed job API for finalizer.</div><div class='del'>-</div><div class='del'>-	* common.mk: add dependency from vm_trace.c to debug.h.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/postponed_job/extconf.rb, postponed_job.c,</div><div class='del'>-	  test/-ext-/postponed_job/test_postponed_job.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* thread.c: implement postponed API.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon May 27 02:26:02 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): collect promote_operation_count and</div><div class='del'>-	  types (RGENGC_PROFILE &gt;= 2).</div><div class='del'>-</div><div class='del'>-Mon May 27 01:40:58 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): collect shade_operation_count,</div><div class='del'>-	  remembered_sunny_object_count and remembered_shady_object_count</div><div class='del'>-	  for each types when RGENGC_PROFILE &gt;= 2.</div><div class='del'>-	  They are informative for optimization.</div><div class='del'>-</div><div class='del'>-Mon May 27 01:15:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_tbl_raw), internal.h: added.</div><div class='del'>-	  Returns st_table without shading hash.</div><div class='del'>-</div><div class='del'>-	* array.c: use rb_hash_tbl_raw() for read-only purpose.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (count_objects): ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (clear_coverage): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon May 27 00:31:09 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: use ENV["AUTOCONF"] instead of directly using</div><div class='del'>-	  literal "autoconf".</div><div class='del'>-</div><div class='del'>-Sun May 26 21:31:46 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c, include/ruby/ruby.h: support WB protected hash.</div><div class='del'>-	  * constify RHash::ifnone and make new macro RHASH_SET_IFNONE().</div><div class='del'>-	  * insert write barrier for st_update().</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: declare rb_hash_set_ifnone(hash, ifnone).</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): use RHASH_SET_IFNONE().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509name.c (Init_ossl_x509name): ditto.</div><div class='del'>-</div><div class='del'>-Sat May 25 23:22:38 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_c_struct_entry.rb,</div><div class='del'>-	  test/fiddle/test_c_union_entity.rb,</div><div class='del'>-	  test/fiddle/test_cparser.rb, test/fiddle/test_func.rb,</div><div class='del'>-	  test/fiddle/test_handle.rb, test/fiddle/test_import.rb,</div><div class='del'>-	  test/fiddle/test_pointer.rb: don't run test if the system</div><div class='del'>-	  don't support fiddle.</div><div class='del'>-</div><div class='del'>-Sat May 25 21:29:34 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (get_device_once): FreeBSD 10-current and 9-stable</div><div class='del'>-	  added O_CLOEXEC support to posix_openpt, so assume FreeBSD 9.2 or</div><div class='del'>-	  later supports it.</div><div class='del'>-	  http://www.freebsd.org/cgi/query-pr.cgi?pr=162374</div><div class='del'>-</div><div class='del'>-Sat May 25 18:46:23 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_min_max_arity): fix missing break in switch.</div><div class='del'>-	  This was introduced in r38236, which is not intentional apparently.</div><div class='del'>-	  This has caused no actual harm because VM_METHOD_TYPE_OPTIMIZED is</div><div class='del'>-	  not used except for OPTIMIZED_METHOD_TYPE_SEND, but may do in</div><div class='del'>-	  future.  Coverity Scan found this inadequacy.</div><div class='del'>-</div><div class='del'>-Sat May 25 18:08:06 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (bracket): fix copy-paste error.  When the first and last</div><div class='del'>-	  characters of fnmatch range have different length, fnmatch may</div><div class='del'>-	  have wrongly matched a path that does not really match.</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Sat May 25 17:06:25 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep): reduce full GC timing.</div><div class='del'>-</div><div class='del'>-Sat May 25 11:28:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): return without clearing method</div><div class='del'>-	  cache if no arguments.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (set_method_visibility): ditto.</div><div class='del'>-</div><div class='del'>-Sat May 25 11:27:32 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (set_method_visibility): quote unprintable method name.</div><div class='del'>-</div><div class='del'>-Sat May 25 11:24:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_frame_callee): returns the called name of the current</div><div class='del'>-	  frame, not the previous frame.</div><div class='del'>-</div><div class='del'>-	* eval.c (prev_frame_callee, prev_frame_func): rename and make static,</div><div class='del'>-	  as these are used by rb_f_method_name() and rb_f_callee_name() only.</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): use the called name.</div><div class='del'>-</div><div class='del'>-Sat May 25 08:58:23 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_quote_unprintable): check if argument is a string.</div><div class='del'>-</div><div class='del'>-Fri May 24 19:32:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): use rb_frame_this_func() instead</div><div class='del'>-	  of rb_frame_callee() for getting the name of the called method</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add test for private_constant with no args</div><div class='del'>-</div><div class='del'>-Fri May 24 18:53:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: do major/full GC when:</div><div class='del'>-	  * number of oldgen object is bigger than twice of</div><div class='del'>-	    number of oldgen object at last full GC.</div><div class='del'>-	  * number of remembered shady object is bigger than twice of</div><div class='del'>-	    number of remembered shady object at last full GC.</div><div class='del'>-	  * number of oldgen object and remembered shady object is bigger</div><div class='del'>-	    than half of total object space.</div><div class='del'>-	  (please fix my English!)</div><div class='del'>-</div><div class='del'>-Fri May 24 17:07:00 2013  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h: remove dangling rb_class_init_copy declaration</div><div class='del'>-	  [ruby-core:55120] [Bug #8434]</div><div class='del'>-</div><div class='del'>-Fri May 24 16:31:23 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_aref): raise error if given</div><div class='del'>-	  name reference is not found.</div><div class='del'>-</div><div class='del'>-Fri May 24 15:48:18 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep, garbage_collect_body): do major GC (full GC)</div><div class='del'>-	  before extending heaps.</div><div class='del'>-	  TODO: do major GC when there are many old (promoted) objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep): remove TODO comments.</div><div class='del'>-</div><div class='del'>-Fri May 24 11:04:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with</div><div class='del'>-	  runtime library directory if cross compiling, but only -R option.</div><div class='del'>-	  runtime path makes no sense on the host system.  [ruby-dev:47363]</div><div class='del'>-	  [Bug #8443]</div><div class='del'>-</div><div class='del'>-Fri May 24 02:57:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): should not propagate OLDGEN status.</div><div class='del'>-	  This propagation had caused WB miss for class.</div><div class='del'>-</div><div class='del'>-Thu May 23 17:35:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (loaded_feature_path): fix invalid read by index underflow.</div><div class='del'>-	  the beginning of name is also a boundary as well as just after '/'.</div><div class='del'>-</div><div class='del'>-Thu May 23 17:21:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): revert r40898.  ok to show the record</div><div class='del'>-	  accumulating while lazy_sweep().</div><div class='del'>-</div><div class='del'>-Wed May 22 16:50:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): use size_t to get rid of overflow and</div><div class='del'>-	  show the header when next_index &gt; 0, instead of next_index != 1.</div><div class='del'>-</div><div class='del'>-Wed May 22 15:18:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (setup_overlapped): check the error code in addition</div><div class='del'>-	  to the result of SetFilePointer() to determine if an error occurred,</div><div class='del'>-	  because INVALID_SET_FILE_POINTER is a valid value.</div><div class='del'>-	  [ruby-core:55098] [Bug #8431]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (setup_overlapped, finish_overlapped): extract from</div><div class='del'>-	  rb_w32_read() and rb_w32_write().</div><div class='del'>-</div><div class='del'>-Wed May 22 14:19:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prepare_free_objects, rest_sweep, lazy_sweep): fix position</div><div class='del'>-	  of `during_gc' setting.</div><div class='del'>-</div><div class='del'>-Wed May 22 07:36:08 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect): all GC is start from garbage_collect()</div><div class='del'>-	  (or garbage_collect_body()). `garbage_collect()' accept additional</div><div class='del'>-	  two parameters `full_mark' and `immediate_sweep'.</div><div class='del'>-	  If `full_mark' is TRUE, then force it full gc (major gc), otherwise,</div><div class='del'>-	  it depends on status of object space. Now, it will be minor gc.</div><div class='del'>-	  If `immediate_sweep' is TRUE, then disable lazy sweep.</div><div class='del'>-	  To allocate free memory, `full_mark' and `immediate_sweep' should be</div><div class='del'>-	  TRUE. Otherwise, they should be FALSE.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prepare_free_objects): use `garbage_collect_body()'.</div><div class='del'>-</div><div class='del'>-	* gc.c (slot_sweep, before_gc_sweep, after_gc_sweep): add logging code.</div><div class='del'>-</div><div class='del'>-Tue May 21 22:47:06 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (strscan_aref): support named captures.</div><div class='del'>-	  patched by Konstantin Haase [ruby-core:54664] [Feature #8343]</div><div class='del'>-</div><div class='del'>-Tue May 21 21:48:44 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb (TestDir_M17N#test_entries_compose):</div><div class='del'>-	  Use #each instead of #map just for iteration.</div><div class='del'>-</div><div class='del'>-Tue May 21 19:57:22 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest::Class.file): Take optional</div><div class='del'>-	  arguments that are passed to the constructor of the digest</div><div class='del'>-	  class.</div><div class='del'>-</div><div class='del'>-Tue May 21 17:21:12 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove gc_profile_record::is_marked. always true.</div><div class='del'>-</div><div class='del'>-Tue May 21 17:13:40 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix to collect additional information for GC::Profiler.</div><div class='del'>-	  * major/minor GC</div><div class='del'>-	  * trigger reason of GC</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): change reporting format with</div><div class='del'>-	  added information.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record_get): return added information by</div><div class='del'>-	  :GC_FLAGS =&gt; array.</div><div class='del'>-</div><div class='del'>-Tue May 21 16:45:31 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: GC::Profiler's sweeping time is accumulated all slot</div><div class='del'>-	  sweeping time. At lazy GC, GC::Profiler makes new record entry</div><div class='del'>-	  for each lazy_sweep(). In this change, accumulating all</div><div class='del'>-	  slot_sweep() time.</div><div class='del'>-	  And change indentation.</div><div class='del'>-</div><div class='del'>-Tue May 21 16:29:09 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (rdoc-bench): add a benchmark rule</div><div class='del'>-	  using RDoc. Generate all rdoc related files</div><div class='del'>-	  (same as `make rdoc') in temporary directory</div><div class='del'>-	  and remove them. Execution time, GC::Profiler</div><div class='del'>-	  and results of GC.stat are printed.</div><div class='del'>-</div><div class='del'>-	* tool/rdocbench.rb: added for `rdoc-bench'.</div><div class='del'>-</div><div class='del'>-Tue May 21 16:25:05 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_on): `count' should be (int) because it</div><div class='del'>-	  can be negative number.</div><div class='del'>-	  And use pointer for `record' (don't copy).</div><div class='del'>-</div><div class='del'>-Tue May 21 03:11:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_each): compose HFS file names from</div><div class='del'>-	  UTF8-MAC. [ruby-core:48745] [Bug #7267]</div><div class='del'>-</div><div class='del'>-Tue May 21 03:08:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_separately): require envutil in the</div><div class='del'>-	  child process too.</div><div class='del'>-</div><div class='del'>-Tue May 21 03:07:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_conv_enc_opts): should infect.</div><div class='del'>-</div><div class='del'>-Mon May 20 22:24:45 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#delete_if, Set#keep_if): Avoid blockless call of</div><div class='del'>-	  proc, which is not portable to JRuby.  Replace &amp;method() with</div><div class='del'>-	  faster and simpler literal blocks while at it.</div><div class='del'>-</div><div class='del'>-Mon May 20 22:00:31 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb: Format of E2MM documentation</div><div class='del'>-</div><div class='del'>-Mon May 20 21:41:15 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: nodoc this file</div><div class='del'>-</div><div class='del'>-Mon May 20 20:43:32 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: Remove duplicate RDoc heading from overview</div><div class='del'>-</div><div class='del'>-Mon May 20 20:36:19 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: Update position of overview for RDoc</div><div class='del'>-</div><div class='del'>-Mon May 20 19:33:55 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* math.c: improve and fix documentation of sin, tan and log</div><div class='del'>-</div><div class='del'>-Mon May 20 19:31:49 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::Application): show namespace in documentation</div><div class='del'>-</div><div class='del'>-Mon May 20 11:50:12 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: Revert part of r40834 and nodoc PP::ObjectMixin</div><div class='del'>-	  [ruby-core:55068]</div><div class='del'>-</div><div class='del'>-Mon May 20 10:40:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/htmlutils.rb (WEBrick::HTMLUtils#escape): replace HTML</div><div class='del'>-	  meta chars even in non-ascii string.  [Bug #8425] [ruby-core:55052]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb (WEBrick::HTTPUtils#{_escape,_unescape}):</div><div class='del'>-	  fix %-escape encodings.  [Bug #8425] [ruby-core:55052]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb (set_dir_list): revert r20152</div><div class='del'>-	  partially and fix misuse of bytesize and regexp repetition operator.</div><div class='del'>-</div><div class='del'>-Mon May 20 08:03:51 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/profiler.rb: Document Profiler__ methods</div><div class='del'>-</div><div class='del'>-Mon May 20 08:02:13 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: nodoc Tempfile#inspect</div><div class='del'>-</div><div class='del'>-Mon May 20 07:48:24 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c: Correct position of method rdoc</div><div class='del'>-</div><div class='del'>-Mon May 20 07:27:41 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* math.c: RDoc formatting of Math core docs with domains and codomains</div><div class='del'>-	  Patch by @eLobato [Fixes GH-309]</div><div class='del'>-</div><div class='del'>-Mon May 20 05:58:12 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Formatting for BigMath [Fixes GH-306]</div><div class='del'>-	  Based on a patch by @eLobato.</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon May 20 04:56:59 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb: Forwardable examples in overview were broken</div><div class='del'>-	  Based on patch by @joem [Fixes GH-303] [Bug #8392]</div><div class='del'>-</div><div class='del'>-Mon May 20 03:35:26 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: nodoc OptionParser::Version and SPLAT_PROC</div><div class='del'>-</div><div class='del'>-Mon May 20 03:16:52 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: Document PP::ObjectMixin [Fixes GH-312]</div><div class='del'>-</div><div class='del'>-Sun May 19 23:52:22 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_htmlutils.rb: add test for WEBrick::HTMLUtils.</div><div class='del'>-</div><div class='del'>-Sun May 19 23:12:07 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: document fix, change default script encoding.</div><div class='del'>-	  patched by @windwiny [Fixes GH-310]</div><div class='del'>-</div><div class='del'>-Sun May 19 17:29:07 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#delete_if, Set#keep_if): Add comments.</div><div class='del'>-</div><div class='del'>-Sun May 19 11:37:36 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: ignore rc version of libffi to fix build failure.</div><div class='del'>-</div><div class='del'>-Sun May 19 10:38:50 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-delete-backward-char): Use</div><div class='del'>-	  delete-char instead of delete-backward-char, which is an</div><div class='del'>-	  interactive function.</div><div class='del'>-</div><div class='del'>-Sun May 19 03:59:29 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_scrub0): added for refactoring.</div><div class='del'>-</div><div class='del'>-Sun May 19 03:48:26 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form): scrub string if decoded</div><div class='del'>-	  bytes are invalid for the encoding.</div><div class='del'>-</div><div class='del'>-Sun May 19 02:46:32 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#delete_if, Set#keep_if): Make Set#delete_if and</div><div class='del'>-	  Set#keep_if more space and time efficient by avoiding to_a.</div><div class='del'>-</div><div class='del'>-Sun May 19 02:33:09 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-setup-keymap): Make</div><div class='del'>-	  backquotes electric as well.  It was listed in</div><div class='del'>-	  ruby-electric-expand-delimiters-list but not activated.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-delete-backward-char):</div><div class='del'>-	  Introduce electric DEL that deletes what the previous electric</div><div class='del'>-	  command has input.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-matching-char): Make</div><div class='del'>-	  electric quotes work again at the end of buffer.</div><div class='del'>-</div><div class='del'>-Sun May 19 01:39:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (setjmp-type): check if setjmpex() is really available.</div><div class='del'>-	  workaround for i686-w64-mingw32 which declares it but lacks its</div><div class='del'>-	  definition.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: include setjmpex.h only if also setjmpex()</div><div class='del'>-	  is available.</div><div class='del'>-</div><div class='del'>-Sat May 18 23:57:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (setjmp-type): use setjmpex() on w64-mingw32 to get rid</div><div class='del'>-	  of -Wclobbered warnings.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: include setjmpex.h here becase setjmp.h is</div><div class='del'>-	  included from win32.h via intrin.h, winnt.h, and so on.</div><div class='del'>-</div><div class='del'>-Sat May 18 20:28:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (INTEGER2NUM): Make less comparisons.</div><div class='del'>-</div><div class='del'>-Sat May 18 20:15:28 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_scrub_bang): add String#scrub!. [Feature #8414]</div><div class='del'>-</div><div class='del'>-Sat May 18 16:59:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (INTEGER2NUM): Renamed from INTEGER2VALUE.</div><div class='del'>-</div><div class='del'>-Sat May 18 16:57:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (INTEGER2VALUE): Suppress a warning:</div><div class='del'>-	  comparison between signed and unsigned integer expressions</div><div class='del'>-</div><div class='del'>-Sat May 18 16:38:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): forward anonymous and first keyword</div><div class='del'>-	  rest argument one.  [ruby-core:55033] [Bug #8416].</div><div class='del'>-</div><div class='del'>-Sat May 18 15:49:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_tag): move jmpbuf between tag and prev so ensure to</div><div class='del'>-	  be accessible.</div><div class='del'>-</div><div class='del'>-Sat May 18 11:05:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (inspect_enumerator): use VALUE instead of mere char*</div><div class='del'>-	  by using rb_sprintf() and rb_id2str().</div><div class='del'>-</div><div class='del'>-	* enumerator.c (append_method): extract from inspect_enumerator().</div><div class='del'>-</div><div class='del'>-Sat May 18 09:00:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb (INTEGER2VALUE): Use LONG2FIX if possible.</div><div class='del'>-</div><div class='del'>-Sat May 18 00:38:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: Convert integer constants bigger than int</div><div class='del'>-	  correctly.</div><div class='del'>-</div><div class='del'>-Fri May 17 22:02:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ifaddr.c: Use unsigned LONG_LONG to represent flags</div><div class='del'>-	  because SunOS 5.11 (OpenIndiana) defines ifa_flags as uint64_t.</div><div class='del'>-</div><div class='del'>-Fri May 17 21:47:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: Typo in constant MAX_MACHINE_STACK_CACHE from '..MAHINE..'</div><div class='del'>-	  patch by @schmurfy [Fixes GH-307]</div><div class='del'>-</div><div class='del'>-Fri May 17 19:18:24 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-matching-char): Do not put</div><div class='del'>-	  a closing quote when the quote typed does not start a string, as</div><div class='del'>-	  in $', ?\' or ?\".</div><div class='del'>-</div><div class='del'>-Fri May 17 18:06:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Consider error messages to find out version option of</div><div class='del'>-	  C compiler.</div><div class='del'>-	  The C compiler of Sun Studio C emits "Warning: Option -qversion</div><div class='del'>-	  passed to ld, if ld is invoked, ignored otherwise" and exit</div><div class='del'>-	  successfully.</div><div class='del'>-</div><div class='del'>-Fri May 17 17:34:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_guarded_ptr): unoptimize on other compilers than gcc and</div><div class='del'>-	  msvc.</div><div class='del'>-</div><div class='del'>-Fri May 17 11:06:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (TH_PUSH_TAG): ensure jmpbuf to be accessible before</div><div class='del'>-	  pushing tag to get rid of unaccessible tag by stack overflow.</div><div class='del'>-</div><div class='del'>-Thu May 16 17:15:32 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_catch_obj): add volatile to tag to prevent crash</div><div class='del'>-	  experimentally.</div><div class='del'>-	  http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130515T133500Z.log.html.gz</div><div class='del'>-</div><div class='del'>-Thu May 16 16:19:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (verconf.in): no longer used.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): fix typo.</div><div class='del'>-</div><div class='del'>-	* configure.in, template/verconf.h.in (RUBY_EXEC_PREFIX): fix for</div><div class='del'>-	  default prefix.</div><div class='del'>-</div><div class='del'>-Thu May 16 13:12:27 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/verconf.h.in: generate verconf.h from the template and</div><div class='del'>-	  rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Thu May 16 05:47:18 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix syntax error.</div><div class='del'>-	  Thanks @spastorino! [ruby-core:55011]</div><div class='del'>-</div><div class='del'>-Thu May 16 03:05:45 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_node_newnode): use newobj_of() instead of rb_newobj().</div><div class='del'>-</div><div class='del'>-Thu May 16 02:03:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: Add a dependency for ifaddr.o.</div><div class='del'>-</div><div class='del'>-Thu May 16 01:44:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (verconf.h): $&lt; cannot be used in explicit rules with</div><div class='del'>-	  nmake.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (CONFIG_H): create verconf.in instead of</div><div class='del'>-	  verconf.h.</div><div class='del'>-</div><div class='del'>-Thu May 16 01:25:07 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: only emit warnings when</div><div class='del'>-	  -w is enabled.</div><div class='del'>-</div><div class='del'>-Wed May 15 18:58:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj): rename to `newobj_of' and accept additional</div><div class='del'>-	  three parameters v1, v2, v3. newobj_of() do OBJSETUP() and</div><div class='del'>-	  fill values with v1, v2, v3.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):</div><div class='del'>-	  use newobj_of().</div><div class='del'>-</div><div class='del'>-Wed May 15 17:55:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_PLATFORM): move to config.h as needed by</div><div class='del'>-	  version.c.</div><div class='del'>-</div><div class='del'>-Wed May 15 17:04:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add an additional RGENGC_PROFILE mode (2).</div><div class='del'>-	  Profiling result can be check by GC.stat.</div><div class='del'>-</div><div class='del'>-	* gc.c (type_name): separate from obj_type_name().</div><div class='del'>-</div><div class='del'>-Wed May 15 16:58:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: save configured load path values into verconf.in.</div><div class='del'>-</div><div class='del'>-	* common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb.</div><div class='del'>-</div><div class='del'>-	* tool/shvar_to_cpp.rb: turn shell variables into C macros.</div><div class='del'>-	  [Bug #7959]</div><div class='del'>-</div><div class='del'>-	* loadpath.c: split load path staffs from version.c.</div><div class='del'>-</div><div class='del'>-	* dmyloadpath.c: miniruby has no builtin load paths, so verconf.h is</div><div class='del'>-	  not needed.</div><div class='del'>-</div><div class='del'>-Wed May 15 03:56:09 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: adding backwards</div><div class='del'>-	  compatible YAMLTree.new method</div><div class='del'>-</div><div class='del'>-Wed May 15 02:22:16 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: Adding Psych.safe_load for loading a user</div><div class='del'>-	  defined, restricted subset of Ruby object types.</div><div class='del'>-	* ext/psych/lib/psych/class_loader.rb: A class loader for</div><div class='del'>-	  encapsulating the logic for which objects are allowed to be</div><div class='del'>-	  deserialized.</div><div class='del'>-	* ext/psych/lib/psych/deprecated.rb: Changes to use the class loader</div><div class='del'>-	* ext/psych/lib/psych/exception.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/json/stream.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/nodes/node.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/stream.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/streaming.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/visitors/json_tree.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto</div><div class='del'>-	* ext/psych/psych_to_ruby.c: ditto</div><div class='del'>-	* test/psych/helper.rb: ditto</div><div class='del'>-	* test/psych/test_safe_load.rb: tests for restricted subset.</div><div class='del'>-	* test/psych/test_scalar_scanner.rb: ditto</div><div class='del'>-	* test/psych/visitors/test_to_ruby.rb: ditto</div><div class='del'>-	* test/psych/visitors/test_yaml_tree.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed May 15 02:06:35 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/helper.rb: envutil is not available outside Ruby, so</div><div class='del'>-	  port the functions from envutil to the test helper.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_deprecated.rb: ditto</div><div class='del'>-</div><div class='del'>-	* test/psych/test_encoding.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed May 15 00:42:54 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c: need to include unistd.h for write(2).</div><div class='del'>-	  unistd.h is now included via ruby/defines.h, but should explicitly</div><div class='del'>-	  include here.  (suggested by kosaki)</div><div class='del'>-</div><div class='del'>-Tue May 14 23:43:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/.document: Add ifaddr.c.</div><div class='del'>-</div><div class='del'>-Tue May 14 23:24:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check for if_nametoindex() for</div><div class='del'>-	  i686-w64-mingw32, and check for declarations of if_indextoname() and</div><div class='del'>-	  if_nametoindex().</div><div class='del'>-</div><div class='del'>-	* ext/socket/ifaddr.c (ifaddr_ifindex): not-implement unless</div><div class='del'>-	  if_nametoindex() is available.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: declare if_indextoname() and</div><div class='del'>-	  if_nametoindex() if available but not declared.</div><div class='del'>-</div><div class='del'>-Tue May 14 19:58:17 2013  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/lib/dl/func.rb (DL::Function#call): check tainted when</div><div class='del'>-	  $SAFE &gt; 0.</div><div class='del'>-	* ext/fiddle/function.c (function_call): check tainted when $SAFE &gt; 0.</div><div class='del'>-	* test/fiddle/test_func.rb (module Fiddle): add test for above.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Tue May 14 14:51:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): split</div><div class='del'>-	  from intptr_t and uintptr_t, since VC9 defines the latter only in</div><div class='del'>-	  crtdefs.h.</div><div class='del'>-</div><div class='del'>-Tue May 14 12:21:28 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (NET_LUID): mingw may have NET_LUID and not defined</div><div class='del'>-	  _IFDEF_.</div><div class='del'>-</div><div class='del'>-Tue May 14 03:33:17 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new_frozen): remove debug print.</div><div class='del'>-</div><div class='del'>-Tue May 14 03:22:51 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: enable to generate write barrier protected</div><div class='del'>-	  arrays (T_ARRAY).</div><div class='del'>-</div><div class='del'>-Tue May 14 03:21:42 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: enable to generate write barrier protected</div><div class='del'>-	  strings (T_STRING).</div><div class='del'>-</div><div class='del'>-Tue May 14 03:19:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: enable to generate write barrier protected</div><div class='del'>-	  objects (T_OBJECT).</div><div class='del'>-</div><div class='del'>-Tue May 14 03:17:15 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: enable to generate write barrier protected</div><div class='del'>-	  objects for numeric types (Float, Complex, Rational, Bignum).</div><div class='del'>-</div><div class='del'>-Tue May 14 03:10:59 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: enable RGENGC (USE_RGENGC)</div><div class='del'>-	  but no type creates write protected (sunny) objects</div><div class='del'>-	  (RGENGC_WB_PROTECTED_* == 0).</div><div class='del'>-</div><div class='del'>-Tue May 14 02:47:30 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: support RGENGC. [ruby-trunk - Feature #8339]</div><div class='del'>-	  See this ticket about RGENGC.</div><div class='del'>-</div><div class='del'>-	* gc.c: Add several flags:</div><div class='del'>-	  * RGENGC_DEBUG: if &gt;0, then prints debug information.</div><div class='del'>-	  * RGENGC_CHECK_MODE: if &gt;0, add assertions.</div><div class='del'>-	  * RGENGC_PROFILE: if &gt;0, add profiling features.</div><div class='del'>-	    check GC.stat and GC::Profiler.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: disable RGENGC by default (USE_RGENGC == 0).</div><div class='del'>-</div><div class='del'>-	* array.c: add write barriers for T_ARRAY and generate sunny objects.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RARRAY_PTR_USE): added. Use this macro if</div><div class='del'>-	  you want to access raw pointers. If you modify the contents which</div><div class='del'>-	  pointer pointed, then you need to care write barrier.</div><div class='del'>-</div><div class='del'>-	* bignum.c, marshal.c, random.c: generate T_BIGNUM sunny objects.</div><div class='del'>-</div><div class='del'>-	* complex.c, include/ruby/ruby.h: add write barriers for T_COMPLEX</div><div class='del'>-	  and generate sunny objects.</div><div class='del'>-</div><div class='del'>-	* rational.c (nurat_s_new_internal), include/ruby/ruby.h: add write</div><div class='del'>-	  barriers for T_RATIONAL and generate sunny objects.</div><div class='del'>-</div><div class='del'>-	* internal.h: add write barriers for RBasic::klass.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_float_new_in_heap): generate sunny T_FLOAT objects.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_allocate_instance), range.c:</div><div class='del'>-	  generate sunny T_OBJECT objects.</div><div class='del'>-</div><div class='del'>-	* string.c: add write barriers for T_STRING and generate sunny objects.</div><div class='del'>-</div><div class='del'>-	* variable.c: add write barriers for ivars.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_setivar): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, debug.c: use two flags</div><div class='del'>-	  FL_WB_PROTECTED and FL_OLDGEN.</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_FL_CREF_PUSHED_BY_EVAL, NODE_FL_CREF_OMOD_SHARED):</div><div class='del'>-	  move flag bits.</div><div class='del'>-</div><div class='del'>-Tue May 14 01:54:48 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove rb_objspace_t::marked_num.</div><div class='del'>-	  We can use `objspace_live_num()' instead of removed `marked_num'</div><div class='del'>-	  if it is after `after_gc_sweep()' function call.</div><div class='del'>-</div><div class='del'>-	* gc.c (after_gc_sweep): use objspace_live_num() instead of removed</div><div class='del'>-	  rb_objspace_t::marked_num.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_ptr, gc_marks): remove rb_objspace_t::marked_num code.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prepare_free_objects): do not call set_heaps_increment()</div><div class='del'>-	  with checking objspace-&gt;heap.marked_num. At this point, we only</div><div class='del'>-	  need to check availability of free-cell.</div><div class='del'>-</div><div class='del'>-	* gc.c (lazy_sweep): call after_gc_sweep() if there are no sweep_able entry.</div><div class='del'>-</div><div class='del'>-	* gc.c (rest_sweep, gc_prepare_free_objects): remove after_gc_sweep() call.</div><div class='del'>-</div><div class='del'>-Tue May 14 01:50:41 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: disable GC_PROFILE_MORE_DETAIL (fix last commit).</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_set_malloc_info): fix "objspace-&gt;heap.live_num" to</div><div class='del'>-	  "objspace_live_num(objspace)". There is no such member variable.</div><div class='del'>-</div><div class='del'>-Tue May 14 01:25:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: refactoring GC::Profiler.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_sweep_timer_start/stop): removed because</div><div class='del'>-	  they doesn't support lazy sweep.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_sweep_slot_timer_start/stop): added.</div><div class='del'>-	  redefine `sweeping time' to accumulated time of all of</div><div class='del'>-	  slot_sweep().</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_t::profile::count): renamed to</div><div class='del'>-	  rb_objspace_t::profile::next_index. `counter' seems ambiguous.</div><div class='del'>-	  increment it when next record is acquired.</div><div class='del'>-</div><div class='del'>-Tue May 14 00:48:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: constify RRational::(num,den) and</div><div class='del'>-	  RComplex::(real,imag).</div><div class='del'>-	  Add macro to set these values:</div><div class='del'>-	    * RRATIONAL_SET_NUM()</div><div class='del'>-	    * RRATIONAL_SET_DEN()</div><div class='del'>-	    * RCOMPLEX_SET_REAL()</div><div class='del'>-	    * RCOMPLEX_SET_IMAG()</div><div class='del'>-	  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].</div><div class='del'>-</div><div class='del'>-	  TODO: API design. RRATIONAL_SET(rat,num,den) is enough?</div><div class='del'>-	  TODO: Setting constify variable with cast has same issue of r40691.</div><div class='del'>-</div><div class='del'>-	* complex.c, rational.c: use above macros.</div><div class='del'>-</div><div class='del'>-Mon May 13 21:49:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Check socketpair again.</div><div class='del'>-	  It is required on Unix.</div><div class='del'>-</div><div class='del'>-Mon May 13 21:20:32 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (getipaddrs): use alternative interface name if</div><div class='del'>-	  available, because if_nametoindex() requires them.</div><div class='del'>-</div><div class='del'>-Mon May 13 20:23:24 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]</div><div class='del'>-	  emulate getipaddrs(3) on Unix.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above</div><div class='del'>-	  function.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't</div><div class='del'>-	  substitute for any function, so use non-prefixed name.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb (socketpair); follow above change.</div><div class='del'>-</div><div class='del'>-Mon May 13 20:11:06 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): remove additional line break.</div><div class='del'>-</div><div class='del'>-Mon May 13 19:29:54 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: constify RBasic::klass and add</div><div class='del'>-	  RBASIC_CLASS(obj) macro which returns a class of `obj'.</div><div class='del'>-	  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].</div><div class='del'>-</div><div class='del'>-	* object.c: add new function rb_obj_reveal().</div><div class='del'>-	  This function reveal internal (hidden) object by rb_obj_hide().</div><div class='del'>-	  Note that do not change class before and after hiding.</div><div class='del'>-	  Only permitted example is:</div><div class='del'>-	    klass = RBASIC_CLASS(obj);</div><div class='del'>-	    rb_obj_hide(obj);</div><div class='del'>-	    ....</div><div class='del'>-	    rb_obj_reveal(obj, klass);</div><div class='del'>-</div><div class='del'>-	  TODO: API design. rb_obj_reveal() should be replaced with others.</div><div class='del'>-</div><div class='del'>-	  TODO: modify constified variables using cast may be harmful for</div><div class='del'>-	        compiler's analysis and optimization.</div><div class='del'>-	        Any idea to prohibit inserting RBasic::klass directly?</div><div class='del'>-	        If rename RBasic::klass and force to use RBASIC_CLASS(obj),</div><div class='del'>-	        then all codes such as `RBASIC(obj)-&gt;klass' will be</div><div class='del'>-	        compilation error. Is it acceptable? (We have similar</div><div class='del'>-	        experience at Ruby 1.9,</div><div class='del'>-	        for example "RARRAY(ary)-&gt;ptr" to "RARRAY_PTR(ary)".</div><div class='del'>-</div><div class='del'>-	* internal.h: add some macros.</div><div class='del'>-	  * RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal</div><div class='del'>-	    object.</div><div class='del'>-	  * RBASIC_SET_CLASS(obj, cls) set RBasic::klass.</div><div class='del'>-	  * RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS</div><div class='del'>-	    without write barrier (planned).</div><div class='del'>-	  * RCLASS_SET_SUPER(a, b) set super class of a.</div><div class='del'>-</div><div class='del'>-	* array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c,</div><div class='del'>-	  file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c,</div><div class='del'>-	  parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c,</div><div class='del'>-	  string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c:</div><div class='del'>-	  Use above macros and functions to access RBasic::klass.</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c, ext/readline/readline.c,</div><div class='del'>-	  ext/socket/ancdata.c, ext/socket/init.c,</div><div class='del'>-	* ext/zlib/zlib.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon May 13 18:44:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* *.c, parse.y, insns.def: use RARRAY_AREF/ASET macro</div><div class='del'>-	  instead of using RARRAY_PTR().</div><div class='del'>-</div><div class='del'>-Mon May 13 16:53:53 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add new utility macros to access</div><div class='del'>-	  Array's element.</div><div class='del'>-	  * RARRAY_AREF(a, i) returns i-th element of an array `a'</div><div class='del'>-	  * RARRAY_ASET(a, i, v) set i-th element of `a' to `v'</div><div class='del'>-	  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].</div><div class='del'>-</div><div class='del'>-Mon May 13 15:31:10 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_setup): added.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (OBJSETUP): use rb_obj_setup() instead of</div><div class='del'>-	  a macro.</div><div class='del'>-</div><div class='del'>-Mon May 13 15:24:16 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_alloc): check klass only if klass is not 0.</div><div class='del'>-	  klass==0 means internal object.</div><div class='del'>-</div><div class='del'>-Mon May 13 14:57:28 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):</div><div class='del'>-	  use NEWOBJ_OF() instead of NEWOBJ().</div><div class='del'>-</div><div class='del'>-Mon May 13 14:51:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_obj_singleton_method): new method Kernel#singleton_method</div><div class='del'>-	  which returns a Method object of the singleton method.</div><div class='del'>-	  non-singleton method causes NameError, but not aliased or zsuper</div><div class='del'>-	  method, right now.</div><div class='del'>-	  [ruby-core:54914] [Feature #8391]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_at): return the method entry for id at</div><div class='del'>-	  klass, without ancestors.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class_get): get the singleton class if exists,</div><div class='del'>-	  or nil.</div><div class='del'>-</div><div class='del'>-Mon May 13 10:20:59 2013  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Disabled OpenSSL::SSL::SSLSocket if</div><div class='del'>-	  defined(OPENSSL_NO_SOCK).</div><div class='del'>-</div><div class='del'>-	  This fixes a linkage error on platforms which do not have socket.</div><div class='del'>-	  OpenSSL itself is still useful as a set of cryptographic functions</div><div class='del'>-	  even on such platforms.</div><div class='del'>-</div><div class='del'>-Mon May 13 10:30:04 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: Hash[] and {} are not equivalent by @eam [Fixes GH-301]</div><div class='del'>-</div><div class='del'>-Mon May 13 10:04:22 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: Document Random::DEFAULT by @eLobato [Fixes GH-304]</div><div class='del'>-</div><div class='del'>-Sun May 12 21:12:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (OFFT2NUM): RUBY_REPLACE_TYPE also defines macro</div><div class='del'>-	  to convert int type to VALUE if found.</div><div class='del'>-</div><div class='del'>-Wed May  8 13:46:52 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_iv_set, rb_iv_get): removed. Because</div><div class='del'>-	  ruby.h has a declaration for that.</div><div class='del'>-</div><div class='del'>-Wed May  8 13:49:06 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_uint2big, rb_int2big, rb_uint2inum)</div><div class='del'>-	(rb_int2inum, rb_ll2inum, rb_ull2inum): removed because ruby.h</div><div class='del'>-	  has a declaration for these.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:52:23 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removes 'ac_cv_func_fseeko=yes' form MinGW</div><div class='del'>-	  specific definitions.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:25:46 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_truncate): use correct type. chsize takes</div><div class='del'>-	  a long.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:18:46 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: move '#define HAVE_SPAWNV 1' to win32/Makefile.sub.</div><div class='del'>-	* win32/Makefile.sub: see above.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:13:32 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removes AC_CHECK_FUNCS(setitimer) because it's</div><div class='del'>-	  unused.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:08:16 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removes AC_CHECK_FUNCS(pause) because it's unused.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:05:18 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): fixes typo. s/HAS_KILLPG/HAVE_KILLPG/.</div><div class='del'>-</div><div class='del'>-Sun May 12 17:03:27 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: abort if gettimeofday doesn't exist.</div><div class='del'>-</div><div class='del'>-Sun May 12 16:31:27 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating</div><div class='del'>-	  NUM2OFFT.</div><div class='del'>-	* file.c (rb_file_truncate): use correct type. chsize() take</div><div class='del'>-	  a long.</div><div class='del'>-	* include/ruby/ruby.h (NUM2OFFT): use a definition created by</div><div class='del'>-	  a configure script by default.</div><div class='del'>-</div><div class='del'>-Sun May 12 16:03:41 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,</div><div class='del'>-	  ftello64). They are not used from anywhere.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fseeko): removes.</div><div class='del'>-	* win32/win32.c (rb_w32_ftello): removes.</div><div class='del'>-	* include/ruby/win32.h: removes declarations of rb_w32_ftello and</div><div class='del'>-	  rb_w32_fseeko.</div><div class='del'>-	* win32/Makefile.sub: removes '#define HAVE_FTELLO 1'.</div><div class='del'>-</div><div class='del'>-Sun May 12 15:51:47 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove AC_CHECK_FUNC(close). It is not used from</div><div class='del'>-	  anywhere.</div><div class='del'>-</div><div class='del'>-Sun May 12 15:50:45 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: adds comments for setjmp check.</div><div class='del'>-</div><div class='del'>-Sun May 12 15:38:09 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: move clock_gettime() check into regular place.</div><div class='del'>-</div><div class='del'>-Wed May  8 13:45:53 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add getenv() declaration check.</div><div class='del'>-	* dln_find.c: add HAVE_DECL_GETENV test.</div><div class='del'>-</div><div class='del'>-Sun May 12 15:33:18 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: sorts AC_CHECK_FUNCS()s as alphabetical order.</div><div class='del'>-</div><div class='del'>-Wed May  8 13:41:57 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: remove redundant decl for big_lshift() big_rshift().</div><div class='del'>-</div><div class='del'>-Sun May 12 16:06:43 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_inspect_sockaddr): as r40646</div><div class='del'>-	  check HAVE_TYPE_STRUCT_SOCKADDR_DL.</div><div class='del'>-</div><div class='del'>-Sat May 11 23:01:58 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (HAVE_TYPE_STRUCT_SOCKADDR_DL):</div><div class='del'>-	  MSVC has struct sockaddr_dl, but its content is broken.</div><div class='del'>-	  http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130511T103938Z.log.html.gz</div><div class='del'>-</div><div class='del'>-Sat May 11 22:07:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: Socket.getifaddrs may returns an interface</div><div class='del'>-	  which #addr method returns nil for venet0 in OpenVZ.</div><div class='del'>-</div><div class='del'>-Sat May 11 21:56:34 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rsock_inspect_sockaddr): Add casts to</div><div class='del'>-	  suppress warnings.</div><div class='del'>-</div><div class='del'>-Sat May 11 17:28:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: New method, Socket.getifaddrs, implemented.</div><div class='del'>-	  [ruby-core:54777] [Feature #8368]</div><div class='del'>-</div><div class='del'>-Sat May 11 00:47:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): Add !defined(_ILP32) to a defining</div><div class='del'>-	  condition to avoid compilation error on x32.</div><div class='del'>-	  https://sites.google.com/site/x32abi/</div><div class='del'>-</div><div class='del'>-Fri May 10 23:56:34 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_peek_variable_name): treat invalid global, class,</div><div class='del'>-	  and instance variable names as mere strings rather than errors.</div><div class='del'>-	  [ruby-core:54885] [Bug #8375]</div><div class='del'>-</div><div class='del'>-Fri May 10 20:22:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Move library checks into "Checks for libraries." part.</div><div class='del'>-</div><div class='del'>-Fri May 10 19:32:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Reformat arguments of AC_CHECK_HEADERS and</div><div class='del'>-	  AC_CHECK_FUNCS to track modifications easily.</div><div class='del'>-</div><div class='del'>-Fri May 10 12:01:36 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Don't link librt if clock_gettime is available in</div><div class='del'>-	  the main C library.</div><div class='del'>-	  glibc 2.17 moves clock_* from librt to the main C library.</div><div class='del'>-	  http://sourceware.org/ml/libc-announce/2012/msg00001.html</div><div class='del'>-</div><div class='del'>-Thu May  9 22:00:35 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): controls_num should</div><div class='del'>-	  not be negative.</div><div class='del'>-</div><div class='del'>-Thu May  9 21:09:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c, ext/etc/etc.c, ext/socket/unixsocket.c,</div><div class='del'>-	  ext/openssl/ossl.h, ext/openssl/openssl_missing.c: Use</div><div class='del'>-	  HAVE_AGGREGATE_MEMBER instead of HAVE_ST_MEMBER.</div><div class='del'>-</div><div class='del'>-Thu May  9 20:43:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): Always set</div><div class='del'>-	  controls_num to raise NotImplementedError appropriately.</div><div class='del'>-	  (bsock_recvmsg_internal): Raise NotImplementedError if</div><div class='del'>-	  :scm_rights=&gt;true is given on platforms which don't have</div><div class='del'>-	  4.4BSD style control message.</div><div class='del'>-</div><div class='del'>-Thu May  9 12:06:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h, ext/socket/unixsocket.c,</div><div class='del'>-	  ext/socket/ancdata.c: Use HAVE_STRUCT_MSGHDR_MSG_CONTROL instead</div><div class='del'>-	  of HAVE_ST_MSG_CONTROL.</div><div class='del'>-</div><div class='del'>-Thu May  9 11:30:02 2013  Zachary Scott	 &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Add call-seq alias for String#=== [Bug #8381]</div><div class='del'>-</div><div class='del'>-Thu May  9 11:14:18 2013  Zachary Scott	 &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: Add guide for contributing to CRuby</div><div class='del'>-</div><div class='del'>-Thu May  9 04:55:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check socket library again.  shutdown() is used in</div><div class='del'>-	  io.c.</div><div class='del'>-</div><div class='del'>-Thu May  9 01:52:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Don't check socketpair.  socketpair is not used in</div><div class='del'>-	  ruby command itself.</div><div class='del'>-</div><div class='del'>-Thu May  9 01:05:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_included_modules): should not include non-modules.</div><div class='del'>-	  [ruby-core:53158] [Bug #8025]</div><div class='del'>-</div><div class='del'>-Wed May  8 22:46:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_included_modules): should not include the original</div><div class='del'>-	  module itself.  [ruby-core:53158] [Bug #8025]</div><div class='del'>-</div><div class='del'>-Wed May  8 17:43:55 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ext_int_to_encs): ignore internal encoding if external</div><div class='del'>-	  encoding is ASCII-8BIT. [Bug #8342]</div><div class='del'>-</div><div class='del'>-Wed May  8 13:49:38 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c (isArrayOrObject): cast char to</div><div class='del'>-	  unsigned char. [Bug #8378]</div><div class='del'>-</div><div class='del'>-Wed May  8 13:46:10 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/depend: fix dependencies [Bug #8379]</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/depend: ditto.</div><div class='del'>-</div><div class='del'>-Wed May  8 13:07:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fail if $, @, @@ are not followed by a valid</div><div class='del'>-	  name character.  [ruby-core:54846] [Bug #8375].</div><div class='del'>-</div><div class='del'>-Wed May  8 13:06:31 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ISGRAPH): add missing macro.</div><div class='del'>-</div><div class='del'>-Wed May  8 06:42:56 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): fix wrongly filled</div><div class='del'>-	  sin6_scope_id on KAME introduced by r40593 for OpenIndiana.</div><div class='del'>-	  KAME uses fe80:&lt;scope_id&gt;::&lt;interface id&gt; for link-local address</div><div class='del'>-	  internally.</div><div class='del'>-	  Setting sin6_scope_id causes it leaked.</div><div class='del'>-	  see also comments of sockaddr_obj().</div><div class='del'>-</div><div class='del'>-Tue May  7 22:12:34 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (insert_ignore_escape): Add a cast to</div><div class='del'>-	  unsigned char * before dereference.</div><div class='del'>-	  This suppress a warning on Cygwin.</div><div class='del'>-</div><div class='del'>-Tue May  7 12:15:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): Add a cast to</div><div class='del'>-	  suppress warning.</div><div class='del'>-	  Bionic defines socklen_t as int.</div><div class='del'>-	  Bionic defines msg_controllen as unsigned int (__kernel_size_t)</div><div class='del'>-	  instead of socklen_t as POSIX.</div><div class='del'>-</div><div class='del'>-Tue May  7 12:12:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (ancillary_inspect): Don't call</div><div class='del'>-	  anc_inspect_ipv6_pktinfo if !HAVE_TYPE_STRUCT_IN6_PKTINFO.</div><div class='del'>-	  anc_inspect_ipv6_pktinfo is not defined in the case.</div><div class='del'>-</div><div class='del'>-Tue May  7 12:10:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): Cast EXTRA_SPACE as</div><div class='del'>-	  int.  This suppress a warning.</div><div class='del'>-</div><div class='del'>-Tue May  7 12:09:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Set close_fds false for Cygwin.</div><div class='del'>-	  Cygwin doesn't support fd passing.</div><div class='del'>-	  This enables socket extension library cross-compilable by default.</div><div class='del'>-</div><div class='del'>-Tue May  7 12:07:35 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swap32): Don't redefine it if it is already defined.</div><div class='del'>-	  Bionic defines it.</div><div class='del'>-	  (swap64): Ditto.</div><div class='del'>-</div><div class='del'>-Mon May  6 20:50:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (socket_s_ip_address_list): Fill sin6_scope_id</div><div class='del'>-	  if getifaddrs() returns an IPv6 link local address which</div><div class='del'>-	  sin6_scope_id is zero, such as on OpenIndiana SunOS 5.11.</div><div class='del'>-</div><div class='del'>-Sun May  5 18:56:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): use vm_search_superclass() like as normal super</div><div class='del'>-	  call.  based on a patch &lt;https://gist.github.com/wanabe/5520026&gt; by</div><div class='del'>-	  wanabe.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_superclass): return error but not raise</div><div class='del'>-	  exceptions.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): check the result of</div><div class='del'>-	  vm_search_superclass and raise exceptions on error.</div><div class='del'>-</div><div class='del'>-Sun May  5 16:29:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined): get method entry from the method top level</div><div class='del'>-	  frame, not block frame.  [ruby-core:54769] [Bug #8367]</div><div class='del'>-</div><div class='del'>-Sun May  5 13:28:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in (Cflags): use rubyarchhdrdir for multiarch.</div><div class='del'>-	  [Bug #7874]</div><div class='del'>-</div><div class='del'>-Sat May  4 07:20:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc: Add note about reporting security vulns</div><div class='del'>-</div><div class='del'>-Sat May  4 04:13:27 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): New for</div><div class='del'>-	  attribute((alloc_size(params))).</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (xmalloc, xmalloc2, xcalloc)</div><div class='del'>-	(xrealloc, xrealloc2): Annotated by RUBY_ATTR_ALLOC_SIZE.</div><div class='del'>-	* include/ruby/ruby.h (rb_alloc_tmp_buffer): ditto.</div><div class='del'>-</div><div class='del'>-Fri May  3 19:32:13 2013  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb: All class methods modulized.</div><div class='del'>-	  We can use these methods like a function when "include CGI::Util".</div><div class='del'>-	  [Feature #8354]</div><div class='del'>-</div><div class='del'>-Fri May  3 14:09:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Make default_ipv6 true for Cygwin.</div><div class='del'>-	  Cygwin supports IPv6 since Cygwin 1.7.1 (2009-12).</div><div class='del'>-	  http://cygwin.com/ml/cygwin-announce/2009-12/msg00027.html</div><div class='del'>-</div><div class='del'>-Fri May  3 13:35:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/{getaddrinfo,getnameinfo}.c: define socklen_t if not</div><div class='del'>-	  defined, e.g., older VC.</div><div class='del'>-</div><div class='del'>-Fri May  3 13:29:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): also</div><div class='del'>-	  should be defined when defining intptr_t and uintptr_t.</div><div class='del'>-	  bigdecimal.c requires the former two now.</div><div class='del'>-</div><div class='del'>-Fri May  3 13:22:12 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (poll_child_status): fix build error on older mingw.</div><div class='del'>-</div><div class='del'>-Fri May  3 00:15:58 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: remove timestamps in distclean-ext realclean-ext.</div><div class='del'>-</div><div class='del'>-Thu May  2 23:23:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_is_kind_of): skip prepending modules.</div><div class='del'>-	  [ruby-core:54742] [Bug #8357]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_inherited_p): ditto.</div><div class='del'>-	  [ruby-core:54736] [Bug #8357]</div><div class='del'>-</div><div class='del'>-Thu May  2 22:11:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/irb: remove dead code from sample/irb.rb.</div><div class='del'>-</div><div class='del'>-Thu May  2 17:32:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (copy_ivar_i): get rid of overwriting already copied</div><div class='del'>-	  instance variables.  c.f. [Bug #8276]</div><div class='del'>-</div><div class='del'>-Thu May  2 16:55:43 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (id_locals): use cached ID.</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_thread_init): ditto.</div><div class='del'>-</div><div class='del'>-	* defs/id.def: add more predefined IDs used in core.</div><div class='del'>-</div><div class='del'>-Thu May  2 13:42:42 2013  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/minitest/*: Imported minitest 4.7.4 (r8483)</div><div class='del'>-	* test/minitest/*: ditto</div><div class='del'>-</div><div class='del'>-Thu May  2 11:32:22 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (poll_child_status): [experimental] set the cause of</div><div class='del'>-	  a child's death to status if its exitcode seems to be an error.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now</div><div class='del'>-	  we can test it.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Thu May  2 11:24:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: nodoc EngineManager, add History doc #8344</div><div class='del'>-</div><div class='del'>-Wed May  1 21:11:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (localtime_with_gmtoff_zone): musl libc may return NULL for</div><div class='del'>-	  tm_zone.</div><div class='del'>-</div><div class='del'>-Wed May  1 18:59:36 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (Enumerable#chunk): fix grammar of error message</div><div class='del'>-	  for symbols beginning with an underscore [Bug #8351]</div><div class='del'>-</div><div class='del'>-Wed May  1 16:47:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb (curses_version): try once for each tests, a</div><div class='del'>-	  function or a variable.  fallback to variable for old SVR4.</div><div class='del'>-</div><div class='del'>-Wed May  1 16:17:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): extensions not to be installed should not</div><div class='del'>-	  make static libraries, but make dynamic libraries always.</div><div class='del'>-</div><div class='del'>-Wed May  1 12:20:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/version.rb: Fix RDoc warning with  :include: [Bug #8347]</div><div class='del'>-</div><div class='del'>-Wed May  1 11:40:25 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def (predefined): add "idProc".</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id): use predefined IDs.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew, mproc, mlambda): use predefined IDs.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_control_frame_id_and_class): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 30 23:18:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: Update Benchmark results on newer CPU</div><div class='del'>-</div><div class='del'>-Tue Apr 30 12:31:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mproc, mlambda): use frozen core methods instead of plain</div><div class='del'>-	  global methods, so that methods cannot be overridden.</div><div class='del'>-	  [ruby-core:54687] [Bug #8345]</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): define proc and lambda on the frozen core object.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_block_lambda): add declaration instead of</div><div class='del'>-	  deprecated rb_f_lambda.</div><div class='del'>-</div><div class='del'>-Mon Apr 29 17:02:30 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.h: Bionic libc doesn't have locale.</div><div class='del'>-	  [Feature #8338]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Mon Apr 29 06:58:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): no need of alloca for</div><div class='del'>-	  small fixed size array.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): check overflow first,</div><div class='del'>-	  and use alloca for small size input.</div><div class='del'>-</div><div class='del'>-Mon Apr 29 00:40:13 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: Clarify documentation about YAML being always Psych.</div><div class='del'>-	  Give a tip about using Syck. See #8344.</div><div class='del'>-</div><div class='del'>-Sun Apr 28 23:34:01 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: Use another trick to define the YAML module.</div><div class='del'>-	  https://twitter.com/n0kada/status/328342207511801856</div><div class='del'>-</div><div class='del'>-Sun Apr 28 23:19:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: Update PP module overview by @geopet</div><div class='del'>-</div><div class='del'>-Sun Apr 28 22:04:37 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): fix buffer overflow on</div><div class='del'>-	  x64 Windows and memory leak when initializing with integer.</div><div class='del'>-	  [ruby-core:54615] [Bug #8337]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 12:38:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: correct method name to be used.  [Bug #7982]</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: add notes too.</div><div class='del'>-</div><div class='del'>-Sun Apr 28 10:35:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: With feedback from Steve Klabnik, reverted a change to</div><div class='del'>-	  #untrusted? and #tainted?. Also adjusted grammar for $SAFE levels</div><div class='del'>-</div><div class='del'>-Sun Apr 28 10:10:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: Disable setting YAML const twice [ruby-core:54642]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 09:50:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Documentation for taint and trust [Bug #8162]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 09:40:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: Copy note from r40505 for rb_sprintf() [Bug #7982]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 08:28:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: Update Curses::Window example for nicer output</div><div class='del'>-	  Patch by Michal Suchanek [Bug #8121] [ruby-core:53520]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 08:10:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: Update note from r40504, by Jeremy Evans [Bug #7982]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 08:02:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: Add note to warn use of %i in Exceptions [Bug #7982]</div><div class='del'>-</div><div class='del'>-Sun Apr 28 02:41:05 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix a typo.  Should check endgrent() instead of</div><div class='del'>-	  endgrnam().</div><div class='del'>-</div><div class='del'>-Sun Apr 28 00:35:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (obj2gid): Don't call endgrent() if not exist.</div><div class='del'>-	  Bionic (Android's libc) don't have endgrent().</div><div class='del'>-</div><div class='del'>-	* configure.in: Check endgrnam function.</div><div class='del'>-</div><div class='del'>-Sat Apr 27 23:53:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: add security warning to YAML documentation</div><div class='del'>-</div><div class='del'>-Sat Apr 27 23:25:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: Documentation for YAML module [Bug #8213]</div><div class='del'>-</div><div class='del'>-Sat Apr 27 20:19:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.</div><div class='del'>-	  This fixes a compilation failure while cross-compiling for Tensilica</div><div class='del'>-	  Xtensa Processor.</div><div class='del'>-</div><div class='del'>-Sat Apr 27 19:32:44 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: fix typos and documentation</div><div class='del'>-</div><div class='del'>-Sat Apr 27 19:04:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* sparc.c: Use __asm__ instead of asm for gcc.</div><div class='del'>-	  gcc doesn't provide asm keyword if -ansi option is given.</div><div class='del'>-	  http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html</div><div class='del'>-</div><div class='del'>-Sat Apr 27 17:22:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Redundant test removed.</div><div class='del'>-</div><div class='del'>-Sat Apr 27 16:00:10 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb (test_recvmsg_with_msg_peek_creates_fds):</div><div class='del'>-	  Extracted.</div><div class='del'>-</div><div class='del'>-Sat Apr 27 15:50:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (SIGNED_INTEGER_TYPE_P): New macro.</div><div class='del'>-	  (SIGNED_INTEGER_MAX): Ditto.</div><div class='del'>-	  (SIGNED_INTEGER_MIN): Ditto.</div><div class='del'>-	  (UNSIGNED_INTEGER_MAX): Ditto.</div><div class='del'>-	  (TIMET_MAX): Use SIGNED_INTEGER_MAX and UNSIGNED_INTEGER_MAX.</div><div class='del'>-	  (TIMET_MIN): Use SIGNED_INTEGER_MIN.</div><div class='del'>-</div><div class='del'>-	* thread.c (TIMEVAL_SEC_MAX): Use SIGNED_INTEGER_MAX.</div><div class='del'>-	  (TIMEVAL_SEC_MIN): Use SIGNED_INTEGER_MIN.</div><div class='del'>-</div><div class='del'>-Sat Apr 27 10:52:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (TIMEVAL_SEC_MAX, TIMEVAL_SEC_MIN): Consider environments,</div><div class='del'>-	  sizeof(time_t) is smaller than sizeof(tv_sec), such as</div><div class='del'>-	  OpenBSD 5.2 (amd64).</div><div class='del'>-</div><div class='del'>-Fri Apr 26 23:34:59 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text.normalize): Fix a bug that all</div><div class='del'>-	  entity filters are ignored. [ruby-dev:47278] [Bug #8302]</div><div class='del'>-	  Patch by Ippei Obayashi. Thanks!!!</div><div class='del'>-	* test/rexml/test_entity.rb (EntityTester#test_entity_filter): Add</div><div class='del'>-	  a test of the above change.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 22:53:55 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/element.rb (REXML::Attributes#to_a): Support</div><div class='del'>-	  namespaced attributes. [ruby-dev:47277] [Bug #8301]</div><div class='del'>-	  Patch by Ippei Obayashi. Thanks!!!</div><div class='del'>-	* test/rexml/test_attributes.rb</div><div class='del'>-	  (AttributesTester#test_to_a_with_namespaces): Add a test of the</div><div class='del'>-	  above change.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 21:48:29 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/atom.rb (RSS::Atom::Entry): Fix indent of document comment.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 21:21:17 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb (RSS::Maker): Fix indent of document comment.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 18:41:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Use a block of enable_config() for</div><div class='del'>-	  --{enable,disable}-close-fds-by-recvmsg-with-peek configure option</div><div class='del'>-</div><div class='del'>-Fri Apr 26 18:08:08 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_set_pos): Fix a compilation error when seekdir() is not</div><div class='del'>-	  exist.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 17:41:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.</div><div class='del'>-	  This fixes a compilation failure while cross-compiling for ARM.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 14:35:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/atom.rb: Documentation for RSS::Atom based on a patch by</div><div class='del'>-	  Michael Denomy</div><div class='del'>-	* lib/rss/maker.rb: Documentation for RSS::Maker also by @mdenomy</div><div class='del'>-</div><div class='del'>-Fri Apr 26 12:41:22 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: Test linkability of curses_version at first.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Test the behavior of fd passing with MSG_PEEK</div><div class='del'>-	  only if recvmsg(), msg_control member, AF_UNIX and SCM_RIGHTS are</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Fri Apr 26 00:07:52 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingServer#initialize): accept array</div><div class='del'>-	  arguments of address to specify multicast interface.</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingServer#make_socket): add optional</div><div class='del'>-	  arguments for multicast interface.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb</div><div class='del'>-	  (TestRingFinger#test_ring_server_ipv4_multicast,</div><div class='del'>-	   TestRingFinger#test_ring_server_ipv6_multicast): add tests for</div><div class='del'>-	  above change.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb</div><div class='del'>-	  (TestRingServer#test_make_socket_ipv4_multicast,</div><div class='del'>-	   TestRingServer#test_make_socket_ipv6_multicast): change bound</div><div class='del'>-	  interface address because multicast address is not allowed on Linux</div><div class='del'>-	  or Windows.</div><div class='del'>-	  [ruby-core:53692] [Bug #8159]</div><div class='del'>-</div><div class='del'>-Thu Apr 25 23:45:02 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingServer#initialize): add a socket</div><div class='del'>-	  to @sockets in make_socket() to close sockets on shutdown even if</div><div class='del'>-	  make_socket() is called after initialize.</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingServer#make_socket): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 23:39:42 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (TupleSpaceProxyTest#test_take_bug_8215):</div><div class='del'>-	  use KILL on Windows since TERM doen't work and ruby process remains</div><div class='del'>-	  after test-all on Windows.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 23:16:28 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb: Implement</div><div class='del'>-	  --with-curses-version={function,variable} configure option for</div><div class='del'>-	  cross-compiling.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 18:15:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Don't use WIDE getaddrinfo by default.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 17:56:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Remove obsolete options: ---with-ipv6-lib and</div><div class='del'>-	  --with-ipv6-libdir.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 17:43:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Implement</div><div class='del'>-	  --{enable,disable}-close-fds-by-recvmsg-with-peek configure option</div><div class='del'>-	  for cross-compiling.</div><div class='del'>-	  Make --{enable,disable}-wide-getaddrinfo configure option</div><div class='del'>-	  cross-compiling friendly.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 16:11:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_ext_int_to_encs, parse_mode_enc): bom-prefixed name is</div><div class='del'>-	  not a real encoding name, just a fallback.  so the proper conversion</div><div class='del'>-	  should take place even if if the internal encoding is equal to the</div><div class='del'>-	  bom-prefixed name, unless actual encoding is equal to the internal</div><div class='del'>-	  encoding.  [ruby-core:54563] [Bug #8323]</div><div class='del'>-</div><div class='del'>-	* io.c (io_set_encoding_by_bom): reset extenal encoding if no BOM</div><div class='del'>-	  found.  [ruby-core:54569]</div><div class='del'>-</div><div class='del'>-Thu Apr 25 14:35:01 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): allow Fixnum and Bignum.</div><div class='del'>-	  [ruby-core:53986] [Feature #8217]</div><div class='del'>-</div><div class='del'>-Thu Apr 25 14:26:32 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.</div><div class='del'>-	  It gets encoding argument to specify the character encoding.</div><div class='del'>-	  It now allows loose percent encoded strings, but denies ;-separator.</div><div class='del'>-	  [ruby-core:53475] [Bug #8103]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.</div><div class='del'>-	  It gets encoding argument to convert before percent encode.</div><div class='del'>-	  Now UTF-16 strings aren't converted to UTF-8 before percent encode</div><div class='del'>-	  by default.</div><div class='del'>-</div><div class='del'>-Wed Apr 25 14:26:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_shift.rb: add benchmark for Hash#shift</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_shift): use st_shift if hash is not being iterated to</div><div class='del'>-	  delete element without iterating the whole hash.</div><div class='del'>-</div><div class='del'>-	* hash.c (shift_i): remove function</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (st_shift): add st_shift function</div><div class='del'>-</div><div class='del'>-	* st.c (st_shift): ditto</div><div class='del'>-</div><div class='del'>-	[Bug #8312] [ruby-core:54524] Patch by funny-falcon</div><div class='del'>-</div><div class='del'>-Thu Apr 25 12:03:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Extract C programs as toplevel constants.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 02:23:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_RM_RECURSIVE): this hack is needed by only</div><div class='del'>-	  autoconf 2.69 or earlier on darwin.</div><div class='del'>-</div><div class='del'>-Thu Apr 25 01:22:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tracer.rb (get_line): simply read by File.readlines.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (script_lines): get source lines from SCRIPT_LINES__ or</div><div class='del'>-	  read from the file.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (display_list): use script_lines instead of recursion.</div><div class='del'>-	  [Bug #8318]</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (line_at): use script_lines same as display_list.</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb (display_list): Fix debug listing when called from the</div><div class='del'>-	  same file it has been required.  patch by Dario Bertini &lt;berdario AT</div><div class='del'>-	  gmail.com&gt; [Bug #8318] [fix GH-280]</div><div class='del'>-</div><div class='del'>-Wed Apr 24 21:51:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check mblen().</div><div class='del'>-	  mblen() is optional in uClibc.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (CharNext): Don't use mblen() is not available.</div><div class='del'>-</div><div class='del'>-Wed Apr 24 15:55:06 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fd_fix_cloexec): use rb_update_max_fd().</div><div class='del'>-</div><div class='del'>-Wed Apr 24 14:08:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Fix wiki link on Float imprecision in overview, patched</div><div class='del'>-	  by Makoto Kishimoto [Bug #8304] [ruby-dev:47280]</div><div class='del'>-</div><div class='del'>-Wed Apr 24 14:03:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): disallow $- without following identifier</div><div class='del'>-	  character.  [ruby-talk:406969]</div><div class='del'>-</div><div class='del'>-	* parse.y (is_special_global_name): mere $- is not a valid global</div><div class='del'>-	  variable name.</div><div class='del'>-</div><div class='del'>-Wed Apr 24 13:54:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Document String#setbyte return value by @gjmurakami-10gen</div><div class='del'>-	  [Fixes GH-294]</div><div class='del'>-</div><div class='del'>-Wed Apr 24 13:45:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: Example of Object#methods by @windwiny [Fixes GH-293]</div><div class='del'>-	* ruby.c: Document return values of Kernel #sub, #gsub, and #chop</div><div class='del'>-</div><div class='del'>-Wed Apr 24 12:54:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Wed Apr 24 12:54:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292]</div><div class='del'>-</div><div class='del'>-Wed Apr 24 12:27:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Fix documentation for Array#index and #replace aliases</div><div class='del'>-	  Based on a patch by @phiggins [Fixes GH-282]</div><div class='del'>-</div><div class='del'>-Tue Apr 23 21:14:38 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): refix r40413, on Ruby 1.9 usual character</div><div class='del'>-	  escape uses hex/Unicode escapes, so fix to use Unicode escape on</div><div class='del'>-	  Unicode strings and hex on others. [ruby-core:54458] [Bug #8290]</div><div class='del'>-</div><div class='del'>-Tue Apr 23 20:10:02 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/isnan.c (isnan): Don't define if isnan() macro is defined.</div><div class='del'>-	  This fixes a compilation failure on uClibc based Gentoo system.</div><div class='del'>-</div><div class='del'>-Tue Apr 23 17:40:40 2013  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb, lib/rexml/element.rb,</div><div class='del'>-	  lib/rexml/formatters/pretty.rb: remove opinionated</div><div class='del'>-	  language in documentation. [Bug #8309],</div><div class='del'>-	  reported by Charles Beckmann</div><div class='del'>-</div><div class='del'>-Tue Apr 23 14:04:44 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (getacl_response): parse the mailbox of an ACL</div><div class='del'>-	  response correctly.  [ruby-core:54365] [Bug #8281]</div><div class='del'>-</div><div class='del'>-Tue Apr 23 11:58:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scrub): fix for UTF-32.  strlen() on strings</div><div class='del'>-	  contain NUL returns wrong result, use sizeof operator instead.</div><div class='del'>-	  [ruby-dev:45975] [Feature #6752]</div><div class='del'>-</div><div class='del'>-Tue Apr 23 10:26:50 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb</div><div class='del'>-	  (TestModule#test_const_get_invalid_name)</div><div class='del'>-	  (test_const_defined_invalid_name): Fix expected values.</div><div class='del'>-</div><div class='del'>-Tue Apr 23 09:51:26 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): NUL should not be represented as "\0"</div><div class='del'>-	  when octal digits may follow.  [ruby-core:54458] [Bug #8290]</div><div class='del'>-</div><div class='del'>-Mon Apr 22 22:54:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mod): Use % operator if both operands are positive for</div><div class='del'>-	  a significant performance improvement. Thanks to @samsaffron.</div><div class='del'>-</div><div class='del'>-Mon Apr 22 17:09:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): copy all instance variables not only generic</div><div class='del'>-	  ivars, before calling post proc.  [ruby-core:51163] [Bug #7627]</div><div class='del'>-</div><div class='del'>-Mon Apr 22 10:25:21 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_hdtoa): revert r29729.</div><div class='del'>-	  If you want ruby to behave as before on x86, specify to use SSE like</div><div class='del'>-	  -msse2 -mfpmath=sse for gcc.</div><div class='del'>-</div><div class='del'>-Sun Apr 21 23:19:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Revert using sigsetjmp by default due to performance</div><div class='del'>-	  problems on some systems (eg. older Linux)</div><div class='del'>-</div><div class='del'>-Sun Apr 21 21:35:00 2013  Charlie Somerville  &lt;charlie@charliesomerville.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Use sigsetjmp by default so jumping out of signal</div><div class='del'>-	  handlers properly restores the signal mask and SS_ONSTACK flag.</div><div class='del'>-	  [ruby-core:54175] [Bug #8254]</div><div class='del'>-</div><div class='del'>-	* configure.in: Manually check for presence of sigsetjmp. It is not a</div><div class='del'>-	  function on some systems, so AC_CHECK_FUNCS cannot be used.</div><div class='del'>-</div><div class='del'>-Sun Apr 21 08:00:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_features.rb, test/logger/test_logger.rb</div><div class='del'>-	  test/mkmf/test_have_macro.rb, test/net/http/test_http.rb,</div><div class='del'>-	  test/openssl/test_config.rb, test/psych/test_encoding.rb,</div><div class='del'>-	  test/psych/test_exception.rb, test/psych/test_psych.rb,</div><div class='del'>-	  test/psych/test_tainted.rb, test/readline/test_readline.rb,</div><div class='del'>-	  test/rexml/test_contrib.rb, test/ruby/test_autoload.rb,</div><div class='del'>-	  test/ruby/test_beginendblock.rb, test/ruby/test_exception.rb,</div><div class='del'>-	  test/ruby/test_file.rb, test/ruby/test_io.rb,</div><div class='del'>-	  test/ruby/test_marshal.rb, test/ruby/test_process.rb,</div><div class='del'>-	  test/ruby/test_require.rb, test/ruby/test_rubyoptions.rb,</div><div class='del'>-	  test/syslog/test_syslog_logger.rb, test/webrick/test_httpauth.rb,</div><div class='del'>-	  test/zlib/test_zlib.rb: Use Tempfile.create.</div><div class='del'>-</div><div class='del'>-Sun Apr 21 00:15:36 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile.create): Close when the block exits.</div><div class='del'>-</div><div class='del'>-Sat Apr 20 23:38:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/htpasswd.rb: Use Tempfile.create to avoid</div><div class='del'>-	  unintentional unlink() by the finalizer.</div><div class='del'>-	  lib/webrick/httpauth/htdigest.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 20 22:47:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile.create): New method.</div><div class='del'>-	  The method name is proposed by Shugo Maeda.  [ruby-dev:47220]</div><div class='del'>-	  [ruby-core:41478] [Feature #5707]</div><div class='del'>-</div><div class='del'>-Sat Apr 20 14:22:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): dump no ivars to the original by marshal_dump.</div><div class='del'>-	  [ruby-core:54334] [Bug #8276]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): copy all ivars of marshal_dump data to the</div><div class='del'>-	  result object instead.  [ruby-core:51163] [Bug #7627]</div><div class='del'>-</div><div class='del'>-Sat Apr 20 02:33:27 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_scrub): add ruby method String#scrub which verify and</div><div class='del'>-	  fix invalid byte sequence. [ruby-dev:45975] [Feature #6752]</div><div class='del'>-</div><div class='del'>-	* string.c (str_compat_and_valid): check given string is compatible</div><div class='del'>-	  and valid with given encoding.</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): If invalid: :replace is specified for</div><div class='del'>-	  String#encode, replace invalid byte sequence even if the destination</div><div class='del'>-	  encoding equals to the source encoding.</div><div class='del'>-</div><div class='del'>-Fri Apr 19 21:55:40 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja (Data_Wrap_Struct): Remove a description about</div><div class='del'>-	  orphan argument. Oh, I renamed the argument name without</div><div class='del'>-	  changing description at r36180... Sorry....</div><div class='del'>-	  Patch by Makoto Kishimoto. Thanks!!! [ruby-dev:47269] [Bug #8292]</div><div class='del'>-	* README.EXT.ja (Data_Make_Struct): Add a sample code that describes</div><div class='del'>-	  how it works.</div><div class='del'>-	  Patch by Makoto Kishimoto. Thanks!!! [ruby-dev:47269] [Bug #8292]</div><div class='del'>-</div><div class='del'>-Fri Apr 19 17:54:57 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (body_type_msg): should accept</div><div class='del'>-	  message/delivery-status with extra data.</div><div class='del'>-	  [ruby-core:53741] [Bug #8167]</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap_response_parser.rb: related test.</div><div class='del'>-</div><div class='del'>-Fri Apr 19 13:03:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): do not dump encoding which is dumped with</div><div class='del'>-	  marshal_dump data.  [ruby-core:54334] [Bug #8276]</div><div class='del'>-</div><div class='del'>-Fri Apr 19 11:36:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (stack_protector): control use of -fstack-protector.</div><div class='del'>-</div><div class='del'>-	* configure.in (debugflags): let -fstack-protector precede and disable</div><div class='del'>-	  debugflags, because they can't work together on SmartOS.  [Bug #8268]</div><div class='del'>-</div><div class='del'>-Fri Apr 19 07:43:52 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb: Correct a typo</div><div class='del'>-	  by jgls &lt;joerg@joergleis.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/291 fix GH-291</div><div class='del'>-</div><div class='del'>-Thu Apr 18 16:58:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_mod_public_method): fix visibility on anonymous</div><div class='del'>-	  module. set visibility of singleton method, not method in base</div><div class='del'>-	  class.  [ruby-core:54404] [Bug #8284]</div><div class='del'>-</div><div class='del'>-Thu Apr 18 16:20:51 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): should skip dot directories only for recursion,</div><div class='del'>-	  but should not if matching to the given pattern.  [ruby-core:54387]</div><div class='del'>-	  [Bug #8283]</div><div class='del'>-</div><div class='del'>-Thu Apr 18 16:20:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): increase buffer size to fix buffer overflow,</div><div class='del'>-	  and fix garbage just after unpacking without missing paddings.</div><div class='del'>-	  [Bug #8286]</div><div class='del'>-</div><div class='del'>-Thu Apr 18 13:35:54 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): output characters even if the input doesn't</div><div class='del'>-	  have paddings. [Bug #8286]</div><div class='del'>-</div><div class='del'>-Thu Apr 18 08:20:48 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (clean-ext): remove timestamps.</div><div class='del'>-</div><div class='del'>-Wed Apr 17 22:07:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (SOCKLEN_MAX): Expression simplified.</div><div class='del'>-</div><div class='del'>-Wed Apr 17 20:09:19 2013  Aman Gupta  &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_add_mark_object): Use new rb_iseq_add_mark_object().</div><div class='del'>-</div><div class='del'>-	* insns.def (setinlinecache): Ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_add_mark_object): New function to allocate</div><div class='del'>-	  iseq-&gt;mark_ary on demand. [Bug #8142]</div><div class='del'>-</div><div class='del'>-	* iseq.h (rb_iseq_add_mark_object): Ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): Avoid allocating mark_ary until needed.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_build_for_ruby2cext): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 17 20:00:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (SOCKLEN_MAX): Defined.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (ext/socket/raddrinfo.c): Reject too long</div><div class='del'>-	  Linux abstract socket name.</div><div class='del'>-</div><div class='del'>-Wed Apr 17 19:45:27 2013  Aman Gupta  &lt;tmm1@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_location_setup): re-use existing string when iseq has</div><div class='del'>-	  the same path and absolute_path. [Bug #8149]</div><div class='del'>-</div><div class='del'>-Wed Apr 17 11:38:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):</div><div class='del'>-	  UNASSIGNED is not a valid message.</div><div class='del'>-</div><div class='del'>-Wed Apr 17 10:58:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_timeval): get rid of overflow on Windows where</div><div class='del'>-	  timeval.tv_sec is not time_t but mere long.</div><div class='del'>-</div><div class='del'>-Tue Apr 16 23:07:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_send_io): Suppress a warning by clang.</div><div class='del'>-	  (unix_recv_io): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 16 12:27:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/init.c: Fix comment indentation, by windwiny [Fixes GH-277]</div><div class='del'>-</div><div class='del'>-Tue Apr 16 12:25:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Document synonymous methods, by windwiny [GH-277]</div><div class='del'>-	* ext/stringio/stringio.c: ditto</div><div class='del'>-	* ext/io/wait/wait.c: ditto</div><div class='del'>-	* ext/gdbm/gdbm.c: ditto</div><div class='del'>-	* ext/dl/cfunc.c: ditto</div><div class='del'>-	* ext/zlib/zlib.c: ditto</div><div class='del'>-	* ext/win32ole/win32ole.c: ditto</div><div class='del'>-	* ext/dbm/dbm.c: ditto</div><div class='del'>-	* ext/json/generator/generator.c: ditto</div><div class='del'>-	* ext/date/date_core.c: ditto</div><div class='del'>-</div><div class='del'>-Tue Apr 16 11:23:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/*: Document synonymous methods, by windwiny [GH-277]</div><div class='del'>-</div><div class='del'>-Mon Apr 15 22:21:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/depend: New file.</div><div class='del'>-</div><div class='del'>-Mon Apr 15 22:01:02 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-insert): Check</div><div class='del'>-	  ruby-electric-is-last-command-char-expandable-punct-p here.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-closing-char): New</div><div class='del'>-	  interactive function bound to closing characters.  Typing one of</div><div class='del'>-	  those closing characters right after the matching counterpart</div><div class='del'>-	  cancels the effect of automatic closing.  For example, typing</div><div class='del'>-	  "{" followed by "}" simply makes "{}" instead of "{ } }".</div><div class='del'>-</div><div class='del'>-Mon Apr 15 12:54:42 2013  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Correct shutdown behavior w.r.t GC.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Add tests to verify correct behavior.</div><div class='del'>-</div><div class='del'>-	[Bug #8240] Patch provided by Shugo Maeda. Thanks!</div><div class='del'>-</div><div class='del'>-Mon Apr 15 10:23:39 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/depend: fix id.h place as r40283.</div><div class='del'>-</div><div class='del'>-	* ext/coverage/extconf.rb: add topdir and topsrcdir to VPATH.</div><div class='del'>-</div><div class='del'>-Sun Apr 14 19:46:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/debug/depend: New file.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/exception/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/printf/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/string/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/coverage/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/nonblock/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/psych/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/depend: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 14 02:46:50 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#create_makefile): remove {$(VPATH)} other</div><div class='del'>-	  than nmake.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: use VPATH expecting removed by above.</div><div class='del'>-</div><div class='del'>-Sat Apr 13 23:06:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (timestamp_file): gather timestamp files in one</div><div class='del'>-	  directory from each extension directories.</div><div class='del'>-</div><div class='del'>-Sat Apr 13 21:09:02 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#create_makefile): output new macro</div><div class='del'>-	  disthdrdir to specify the path of id.h, parse.h and etc.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: use above macro.</div><div class='del'>-</div><div class='del'>-Sat Apr 13 20:28:08 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Merge Onigmo 5.13.4 f22cf2e566712cace60d17f84d63119d7c5764ee.</div><div class='del'>-	  [bug] fix problem with optimization of \z (Issue #16) [Bug #8210]</div><div class='del'>-</div><div class='del'>-Sat Apr 13 18:56:15 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: parse.h and id.h may be created on topdir.</div><div class='del'>-</div><div class='del'>-Sat Apr 13 12:08:16 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Vector#cross_product, patch by Luis Ezcurdia</div><div class='del'>-	  [fix GH-276] [rubyspec:81eec89a124]</div><div class='del'>-</div><div class='del'>-Sat Apr 13 10:20:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_define_without_accessor, rb_struct_define),</div><div class='del'>-	  (rb_struct_s_def): hide member names array.</div><div class='del'>-</div><div class='del'>-	* struct.c (anonymous_struct, new_struct, setup_struct): split</div><div class='del'>-	  make_struct() for each purpose.</div><div class='del'>-</div><div class='del'>-Sat Apr 13 09:34:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h,</div><div class='del'>-	  ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/old_thread_select/depend: Update dependencies.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/wait_for_single_fd/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/curses/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/bubblebabble/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/callback/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/dl/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/etc/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/readline/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syslog/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/num2int/depend: Removed.</div><div class='del'>-</div><div class='del'>-	* ext/dbm/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/depend: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 13 00:15:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): move Passwd and Group under Etc namespace</div><div class='del'>-	  as primary names.</div><div class='del'>-</div><div class='del'>-Fri Apr 12 21:06:55 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: pack.o depends on internal.h.</div><div class='del'>-</div><div class='del'>-Fri Apr 12 20:59:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (ones): Use __builtin_popcountl if available.</div><div class='del'>-</div><div class='del'>-	* internal.h (GCC_VERSION_SINCE): Macro moved from pack.c.</div><div class='del'>-</div><div class='del'>-	* pack.c: Include internal.h for GCC_VERSION_SINCE.</div><div class='del'>-</div><div class='del'>-Fri Apr 12 18:29:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: version.o depends on $(srcdir)/include/ruby/version.h</div><div class='del'>-	  instead of {$(VPATH)}version.h to avoid confusion by VPATH between</div><div class='del'>-	  top level version.h and include/ruby/version.h for build in-place.</div><div class='del'>-	  [ruby-dev:47249] [Bug #8256]</div><div class='del'>-</div><div class='del'>-Fri Apr 12 15:21:24 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_keyword_arg): non-symbol key is not</div><div class='del'>-	  a keyword argument, keep it as a positional argument.</div><div class='del'>-</div><div class='del'>-Fri Apr 12 11:58:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Document synonymous methods, by windwiny [GH-277]</div><div class='del'>-	* bignum.c: ditto</div><div class='del'>-	* complex.c: ditto</div><div class='del'>-	* dir.c: ditto</div><div class='del'>-	* encoding.c: ditto</div><div class='del'>-	* enumerator.c: ditto</div><div class='del'>-	* numeric.c: ditto</div><div class='del'>-	* proc.c: ditto</div><div class='del'>-	* re.c: ditto</div><div class='del'>-	* string.c: ditto</div><div class='del'>-</div><div class='del'>-Thu Apr 11 23:41:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Add dependencies for include/ruby.h</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Use "make -p all miniruby ruby golf" to extract</div><div class='del'>-	  dependencies in makefiles.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 23:21:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Use "make -p all golf" to extract dependencies in</div><div class='del'>-	  makefiles.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 21:02:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Dependency updated.</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Rewritten.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 19:59:48 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: partially revert r40183, which breaks building on</div><div class='del'>-	  other than source directory. (its commit log also says the same</div><div class='del'>-	  thing, but such failure is not reproducible on my environment</div><div class='del'>-	  and the commit breaks build on my environment)</div><div class='del'>-</div><div class='del'>-Thu Apr 11 16:10:01 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 on</div><div class='del'>-	  Mac OS X and Linux [Bug #3371]</div><div class='del'>-</div><div class='del'>-Thu Apr 11 13:19:22 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill</div><div class='del'>-	  if it fails with Errno::EPERM on Windows (workaround).</div><div class='del'>-	  [ruby-dev:47245] [Bug #8251]</div><div class='del'>-</div><div class='del'>-Thu Apr 11 11:11:38 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c: Fix a typo.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 10:39:34 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): add missing case:</div><div class='del'>-	  RUBY_LIBFFI_MODVERSION is not defined (usually on Windows).</div><div class='del'>-</div><div class='del'>-Thu Apr 11 09:27:04 2013  Konstantin Haase  &lt;me@rkh.im&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (file_s_fnmatch): Document File::FNM_EXTGLOB flag.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 09:17:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* README: Fix typo by Benjamin Winkler [Fixes GH-281]</div><div class='del'>-</div><div class='del'>-Thu Apr 11 06:15:51 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h: fix typo: _M_AMD86 -&gt; _M_AMD64.</div><div class='del'>-</div><div class='del'>-	* siphash.c: ditto.</div><div class='del'>-</div><div class='del'>-	* st.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 06:09:57 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: define RUBY_LIBFFI_MODVERSION macro.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 or 1</div><div class='del'>-	  with platform and libffi's version. [Bug #3371]</div><div class='del'>-</div><div class='del'>-Thu Apr 11 05:30:43 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (pkg_config): Add optional argument "option".</div><div class='del'>-	  If it is given, it returns the result of</div><div class='del'>-	  `pkg-config --&lt;option&gt; &lt;pkgname&gt;`.</div><div class='del'>-</div><div class='del'>-Thu Apr 11 03:33:05 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (initialize): check mprotect's return value.</div><div class='del'>-	  If mprotect is failed because of PaX or something, its function call</div><div class='del'>-	  will cause SEGV.</div><div class='del'>-	  http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130401T210301Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Wed Apr 10 17:39:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpCtoV): Initialize a local variable</div><div class='del'>-	  even when overflow.</div><div class='del'>-</div><div class='del'>-Wed Apr 10 12:32:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_ll2big): Don't overflow on signed integer negation.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (MUL_OVERFLOW_SIGNED_VALUE_P): New</div><div class='del'>-	  macro.</div><div class='del'>-	  (AddExponent): Don't overflow on signed integer multiplication.</div><div class='del'>-	  (VpCtoV): Don't overflow on signed integer arithmetic.</div><div class='del'>-	  (VpCtoV): Don't overflow on signed integer arithmetic.</div><div class='del'>-</div><div class='del'>-Wed Apr 10 06:32:12 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (MUL_OVERFLOW_INT_P): New macro.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (GETNUM): Don't overflow on signed integer multiplication.</div><div class='del'>-</div><div class='del'>-Tue Apr  9 20:38:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (MUL_OVERFLOW_SIGNED_INTEGER_P): New macro.</div><div class='del'>-	  (MUL_OVERFLOW_FIXNUM_P): Ditto.</div><div class='del'>-	  (MUL_OVERFLOW_LONG_P): Ditto.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_product): Don't overflow on signed integer</div><div class='del'>-	  multiplication.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): Ditto.</div><div class='del'>-	  (int_pow): Ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c (f_imul): Ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mult): Ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_timeval): Don't overflow on signed integer addition.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_int2big): Don't overflow on signed integer negation.</div><div class='del'>-	  (rb_big2ulong): Ditto.</div><div class='del'>-	  (rb_big2long): Ditto.</div><div class='del'>-	  (rb_big2ull): Ditto.</div><div class='del'>-	  (rb_big2ll): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr  9 19:45:44 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Support multiple fields with same field</div><div class='del'>-	  name (like Set-Cookie).</div><div class='del'>-	  (OpenURI::Meta#metas): New accessor to obtain fields as a Hash from</div><div class='del'>-	  field name (string) to field values (array of strings).</div><div class='del'>-	  [ruby-core:37734] [Bug #4964] reported by ren li.</div><div class='del'>-</div><div class='del'>-Tue Apr  9 15:26:12 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): append keyword hash to argument array</div><div class='del'>-	  to splat if needed.  [ruby-core:54094] [Bug #8236]</div><div class='del'>-</div><div class='del'>-Tue Apr  9 10:02:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (timestamp_file): gather timestamp files in one</div><div class='del'>-	  directory from each extension directories, with considering</div><div class='del'>-	  target_prefix.</div><div class='del'>-</div><div class='del'>-Tue Apr  9 04:57:59 JST 2013  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: Capture EAGAIN, EWOULDBLOCK, EINPROGRESS exceptions and</div><div class='del'>-	  export them for use in WaitReadable/Writable exceptions.</div><div class='del'>-	* io.c: Create versions of EAGAIN, EWOULDBLOCK, EINPROGRESS that</div><div class='del'>-	  include WaitReadable and WaitWritable. Add rb_readwrite_sys_fail</div><div class='del'>-	  for nonblocking failures using those exceptions. Use that</div><div class='del'>-	  function in io_getpartial and io_write_nonblock instead of</div><div class='del'>-	  rb_mod_sys_fail</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Add new SSLError subclasses that include</div><div class='del'>-	  WaitReadable and WaitWritable. Use those classes for</div><div class='del'>-	  write_would_block and read_would_block instead of rb_mod_sys_fail.</div><div class='del'>-	* ext/socket/ancdata.c: Use rb_readwrite_sys_fail instead of</div><div class='del'>-	  rb_mod_sys_fail in bsock_sendmsg_internal and</div><div class='del'>-	  bsock_recvmsg_internal.</div><div class='del'>-	* ext/socket/init.c: Use rb_readwrite_sys_fail instead of</div><div class='del'>-	  rb_mod_sys_fail in rsock_s_recvfrom_nonblock and</div><div class='del'>-	  rsock_s_connect_nonblock.</div><div class='del'>-	* ext/socket/socket.c: Use rb_readwrite_sys_fail instead of</div><div class='del'>-	  rb_mod_sys_fail in sock_connect_nonblock.</div><div class='del'>-	* include/ruby/ruby.h: Export rb_readwrite_sys_fail for use instead</div><div class='del'>-	  of rb_mod_sys_fail. Introduce new constants RB_IO_WAIT_READABLE and</div><div class='del'>-	  RB_IO_WAIT_WRITABLE for first arg to rb_readwrite_sys_fail.</div><div class='del'>-</div><div class='del'>-Tue Apr  9 02:44:32 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: $defs needs -D or -U.  nothing is added</div><div class='del'>-	  otherwize.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: check struct in_addr6, which is defined in</div><div class='del'>-	  VC6 instead of in6_addr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (optname_to_sym): fix macro name.</div><div class='del'>-</div><div class='del'>-	* ext/socket/constants.c (rsock_cmsg_type_arg): fix macro name.</div><div class='del'>-</div><div class='del'>-Mon Apr  8 23:57:21 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (id_for_setter): extract common code from const, class</div><div class='del'>-	  variable, instance variable setters.</div><div class='del'>-</div><div class='del'>-Mon Apr  8 23:55:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/depend (ENCOBJS, TRANSOBJS): use explicit path to ruby.h for</div><div class='del'>-	  nmake.</div><div class='del'>-</div><div class='del'>-	* ext/depend (ENCOBJS, TRANSOBJS): fix header dependency, VPATH has</div><div class='del'>-	  $(srcdir)/include/ruby but not $(srcdir)/include, so cannot find out</div><div class='del'>-	  ruby/ruby.h.  use ruby.h instead and ../ruby for include/ruby.h.</div><div class='del'>-</div><div class='del'>-Mon Apr  8 20:30:37 2013  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/depend (ENCOBJS, TRANSOBJS): Add missing dependencies.</div><div class='del'>-</div><div class='del'>-Mon Apr  8 17:19:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_missing): should check actual argument</div><div class='del'>-	  count before accessing.</div><div class='del'>-</div><div class='del'>-Mon Apr  8 16:03:55 2013  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	Fixes a build failure of ext/ripper/ripper.c on building out of place.</div><div class='del'>-	* common.mk (id.h, id.c): Always generated in $(srcdir).</div><div class='del'>-	(ext/ripper/ripper.c): Passes $(PATH_SEPARATOR) too to the sub make.</div><div class='del'>-</div><div class='del'>-Mon Apr  8 12:05:02 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_ivar_set): call to_str for string only once.</div><div class='del'>-	  to_str was called from rb_is_const_name and rb_to_id before.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_set): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_set): ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr  7 13:56:16 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):</div><div class='del'>-	  RUBY_PLATFORM should escape as Regexp,</div><div class='del'>-	  because RUBY_PLATFORM may contain '.'.</div><div class='del'>-</div><div class='del'>-Sun Apr  7 10:44:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: Simplify the logic to include sys/select.h.</div><div class='del'>-	  This fixes a compilation error on Haiku (gcc2 and gcc4).</div><div class='del'>-</div><div class='del'>-	* configure.in: Use shared linker as $(CC) for Haiku.</div><div class='del'>-	  This fixes a build error on Haiku (gcc2).</div><div class='del'>-</div><div class='del'>-Sun Apr  7 10:41:30 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (MDNSOneShot#sender): Delete an unused variable.</div><div class='del'>-</div><div class='del'>-Sun Apr  7 03:24:36 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: use more generic type:</div><div class='del'>-	  * u_char -&gt; unsigned char</div><div class='del'>-	  * u_short -&gt; unsigned short</div><div class='del'>-	  * u_int -&gt; unsigned int</div><div class='del'>-	  * u_long -&gt; unsigned long</div><div class='del'>-	  * quad_t -&gt; int64_t</div><div class='del'>-	  * u_quad_t -&gt; uint64_t</div><div class='del'>-</div><div class='del'>-	* addr2line.c (imax): inline is defined by configure.</div><div class='del'>-</div><div class='del'>-Sun Apr  7 01:40:39 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-hash): New electric</div><div class='del'>-	  function that expands a hash sign inside a string or regexp to</div><div class='del'>-	  "#{}".</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-curlies): Do not insert</div><div class='del'>-	  spaces inside when the curly brace is a delimiter of %r, %w,</div><div class='del'>-	  etc.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-curlies): Insert another</div><div class='del'>-	  space before a closing curly brace when</div><div class='del'>-	  ruby-electric-newline-before-closing-bracket is nil.</div><div class='del'>-</div><div class='del'>-Sun Apr  7 01:01:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): Test yday range.</div><div class='del'>-	  [ruby-core:44088] [Bug #6247] reported by Ruby Submit.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 23:46:54 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_CHECK_HEADERS): atomic.h for Solaris atomic_ops.</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or</div><div class='del'>-	  earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228]</div><div class='del'>-</div><div class='del'>-Sat Apr  6 23:40:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Support LOC resources.</div><div class='del'>-	  [ruby-core:23361] [Feature #1436] by JB Smith.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 23:38:09 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: quad_t and u_quad_t is not available on Solaris.</div><div class='del'>-	  __inline is not available with old compilers on Solaris.</div><div class='del'>-	  [ruby-dev:47229] [Bug #8227]</div><div class='del'>-</div><div class='del'>-Sat Apr  6 23:31:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Add one-shot multicast DNS support.</div><div class='del'>-	  [ruby-core:53387] [Feature #8089] by Eric Hodel.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 22:12:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS.fetch_resource): New method to obtain</div><div class='del'>-	  full result.</div><div class='del'>-	  [ruby-dev:43587] [Feature #4788] proposed by Makoto Kishimoto.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 20:17:51 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_raddrinfo): Renamed from</div><div class='del'>-	  rsock_sys_fail_addrinfo.</div><div class='del'>-	  (rsock_sys_fail_raddrinfo_or_sockaddr): Renamed from</div><div class='del'>-	  rsock_sys_fail_addrinfo_or_sockaddr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: Follow the above change.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 19:24:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_sockaddr): Takes struct sockaddr</div><div class='del'>-	  and socklen_t instead of String object.</div><div class='del'>-	  (rsock_sys_fail_addrinfo_or_sockaddr): Follow the above change.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 14:28:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro.</div><div class='del'>-	  (rsock_sockaddr_string_value_with_addrinfo): New declaration.</div><div class='del'>-	  (rsock_addrinfo_inspect_sockaddr): Ditto.</div><div class='del'>-	  (rsock_sys_fail_addrinfo): Ditto.</div><div class='del'>-	  (rsock_sys_fail_sockaddr_or_addrinfo): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed</div><div class='del'>-	  from addrinfo_inspect_sockaddr and exported.</div><div class='del'>-	  (rsock_sockaddr_string_value_with_addrinfo): New function to obtain</div><div class='del'>-	  string and possibly addrinfo object.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use</div><div class='del'>-	  rsock_sys_fail_host_port which is IP dependent.  Invoke</div><div class='del'>-	  rsock_sys_fail_addrinfo.</div><div class='del'>-	  (rsock_sys_fail_addrinfo): New function using</div><div class='del'>-	  rsock_addrinfo_inspect_sockaddr.</div><div class='del'>-	  (rsock_sys_fail_addrinfo_or_sockaddr): New function.</div><div class='del'>-	  (sock_connect): Use SockAddrStringValueWithAddrinfo and</div><div class='del'>-	  rsock_sys_fail_addrinfo_or_sockaddr.</div><div class='del'>-	  (sock_connect_nonblock): Ditto.</div><div class='del'>-	  (sock_bind): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 13:34:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_sockaddr): Delete 2nd argument.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 13:13:39 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect only</div><div class='del'>-	  for String to avoid SEGV.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 12:40:16 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_sys_fail_host_port): Wrap by NORETURN.</div><div class='del'>-	  (rsock_sys_fail_path): Ditto.</div><div class='del'>-	  (rsock_sys_fail_sockaddr): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 11:49:35 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect if the</div><div class='del'>-	  path contains a NUL.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 11:39:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: Improve socket exception message to show socket address.</div><div class='del'>-	  [ruby-core:45617] [Feature #6583] proposed Eric Hodel.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared.</div><div class='del'>-	  (rsock_sys_fail_path): Ditto.</div><div class='del'>-	  (rsock_sys_fail_sockaddr): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port.</div><div class='del'>-	  (udp_bind): Ditto.</div><div class='del'>-	  (udp_send): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail</div><div class='del'>-	  argument.</div><div class='del'>-	  (make_fd_nonblock): Ditto.</div><div class='del'>-	  (rsock_s_accept): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): Use</div><div class='del'>-	  rsock_sys_fail_host_port.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_host_port): Defined.</div><div class='del'>-	  (rsock_sys_fail_path): Ditto.</div><div class='del'>-	  (rsock_sys_fail_sockaddr): Ditto.</div><div class='del'>-	  (setup_domain_and_type): Use rsock_sys_fail_sockaddr.</div><div class='del'>-	  (sock_connect_nonblock): Ditto.</div><div class='del'>-	  (sock_bind): Ditto.</div><div class='del'>-	  (sock_gethostname): Specify a string for rb_sys_fail argument.</div><div class='del'>-	  (socket_s_ip_address_list): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_shutdown): Specify a string for</div><div class='del'>-	  rb_sys_fail argument.</div><div class='del'>-	  (bsock_setsockopt): Use rsock_sys_fail_path.</div><div class='del'>-	  (bsock_getsockopt): Ditto.</div><div class='del'>-	  (bsock_getpeereid): Refine the argument for rb_sys_fail.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): Use</div><div class='del'>-	  rsock_sys_fail_path.</div><div class='del'>-	  (unix_path): Ditto.</div><div class='del'>-	  (unix_send_io): Ditto.</div><div class='del'>-	  (unix_recv_io): Ditto.</div><div class='del'>-	  (unix_addr): Ditto.</div><div class='del'>-	  (unix_peeraddr): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 11:23:18 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):</div><div class='del'>-	  fix load path for encoding to run the test as stand-alone.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 09:54:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (NATINT_LEN): fix definition order, must be after</div><div class='del'>-	  NATINT_PACK.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 03:11:07 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix symbol keys in coder</div><div class='del'>-	  emission.  Thanks @tjwallace</div><div class='del'>-	* test/psych/test_coder.rb: test for change</div><div class='del'>-</div><div class='del'>-Sat Apr  6 02:54:08 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/exception.rb: there should be only one exception</div><div class='del'>-	  base class. Fixes tenderlove/psych #125</div><div class='del'>-	* ext/psych/lib/psych.rb: require the correct exception class</div><div class='del'>-	* ext/psych/lib/psych/syntax_error.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: ditto</div><div class='del'>-</div><div class='del'>-Sat Apr  6 02:30:28 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_defined): remove all extra parentheses, and return</div><div class='del'>-	  "nil" for defined? with empty expression.</div><div class='del'>-	  [ruby-core:54024] [Bug #8224]</div><div class='del'>-</div><div class='del'>-Sat Apr  6 02:06:04 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: correctly register</div><div class='del'>-	  self-referential strings. Fixes tenderlove/psych #135</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: appropriate test.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 01:21:56 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (cloexec_accept): Fix a compile error on</div><div class='del'>-	  Debian GNU/kFreeBSD.  Consider HAVE_ACCEPT4 is defined</div><div class='del'>-	  but SOCK_CLOEXEC is not defined.</div><div class='del'>-</div><div class='del'>-Sat Apr  6 00:19:30 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (features_index_add): use rb_str_subseq() to specify C string</div><div class='del'>-	  position properly to fix require non ascii path.</div><div class='del'>-	  [ruby-core:53733] [Bug #8165]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):</div><div class='del'>-	  a test for the above.</div><div class='del'>-</div><div class='del'>-Fri Apr  5 20:41:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (HAVE_TRUE_LONG_LONG): Defined to distinguish</div><div class='del'>-	  availability of long long and availability of 64bit integer type.</div><div class='del'>-</div><div class='del'>-	* pack.c: Use HAVE_TRUE_LONG_LONG to distinguish q! and Q! support.</div><div class='del'>-</div><div class='del'>-Fri Apr  5 20:19:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: Include ruby/missing.h to fix compile error on Debian.</div><div class='del'>-</div><div class='del'>-Fri Apr  5 19:39:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): fix of defined? with empty</div><div class='del'>-	  expression.  [ruby-core:53999] [Bug #8220]</div><div class='del'>-</div><div class='del'>-Fri Apr  5 13:22:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (Init_curses): fix implementation function,</div><div class='del'>-	  crmode should be same as cbreak.  [ruby-core:54013] [Bug #8222]</div><div class='del'>-</div><div class='del'>-Fri Apr  5 12:06:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/hello.rb: Typo in Curses example by Drew Blas</div><div class='del'>-	  [Fixes GH-273]</div><div class='del'>-</div><div class='del'>-Thu Apr  4 23:45:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (bind_random_port): Rescue EACCES for SunOS.</div><div class='del'>-	  bind() on SunOS for port 2049 (nfs) and 4045 (lockd) causes</div><div class='del'>-	  EACCES with unprivileged process.  cf. PRIV_SYS_NFS in privileges(5)</div><div class='del'>-	  [ruby-core:48064] [Bug #7183] reported by Frank Meier.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 23:24:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Remove condition for bcc.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 22:53:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FIX2LONG): Parenthesize the macro body.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 22:32:32 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): Describe %L and %N truncates digits under</div><div class='del'>-	  the specified length.</div><div class='del'>-	  [ruby-core:52130] [Bug #7829]</div><div class='del'>-</div><div class='del'>-Thu Apr  4 22:08:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_cvar_set): Reverted "avoid inadvertent</div><div class='del'>-	  symbol creation" to avoid SEGV by</div><div class='del'>-	  Class.new.class_variable_set(1, 2).</div><div class='del'>-</div><div class='del'>-Thu Apr  4 20:07:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_write): New method.</div><div class='del'>-	  (path_binwrite): Ditto.</div><div class='del'>-	  [ruby-core:49468] [Feature #7378]</div><div class='del'>-</div><div class='del'>-Thu Apr  4 16:51:29 2013  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: Fixes wrong scopes of #if USE_SLEEPY_TIMER_THREAD</div><div class='del'>-	  .. #endif sections.  This fixes a build error on NativeClient.</div><div class='del'>-</div><div class='del'>-Wed Apr  3 17:25:31 2013  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): Avoid using uninitialized value.</div><div class='del'>-	  stackaddr and size are not set if get_stack() fails.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 16:55:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): avoid inadvertent symbol creation.</div><div class='del'>-	  (rb_struct_aref): ditto.</div><div class='del'>-	  (rb_struct_aset): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 16:54:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_set): avoid inadvertent symbol creation.</div><div class='del'>-	  (rb_obj_ivar_set): ditto.</div><div class='del'>-	  (rb_mod_cvar_set): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 15:46:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): avoid inadvertent symbol creation.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 14:37:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_aref): avoid inadvertent symbol creation.</div><div class='del'>-	  (rb_thread_variable_get): ditto.</div><div class='del'>-	  (rb_thread_key_p): ditto.</div><div class='del'>-	  (rb_thread_variable_p): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 11:33:57 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_to_i): Use bn2hex to speed up.</div><div class='del'>-	  In general, binary to/from decimal needs extra cost.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 07:24:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Specify arguments to test functions.</div><div class='del'>-</div><div class='del'>-Thu Apr  4 03:25:09 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): fix can't create from bn.</div><div class='del'>-</div><div class='del'>-Wed Apr  3 22:09:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Test functions and libraries after headers.</div><div class='del'>-</div><div class='del'>-Wed Apr  3 21:23:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	 * io.c (rb_io_seek_m): Accept :CUR, :END, :SET as "whence" argument.</div><div class='del'>-	   (interpret_seek_whence): New function.</div><div class='del'>-	   [ruby-dev:45818] [Feature #6643]</div><div class='del'>-</div><div class='del'>-Wed Apr  3 20:52:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Describe the behavior which Ruby invokes a commandline</div><div class='del'>-	  directly without shell if the commandline is simple enough.</div><div class='del'>-	  [ruby-core:50459] [Bug #7489]</div><div class='del'>-</div><div class='del'>-Wed Apr  3 20:27:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): Invoke Logging::log_close in a ensure</div><div class='del'>-	  clause.</div><div class='del'>-</div><div class='del'>-Wed Apr  3 18:53:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): Use Logging.open to switch stdout and</div><div class='del'>-	  stderr.  Delay Logging::log_close until the failure message is</div><div class='del'>-	  written.  Write the failure message only if log file is opened.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (Logging.log_opened?): New method.</div><div class='del'>-</div><div class='del'>-	  [ruby-dev:47215] [Bug #8209]</div><div class='del'>-</div><div class='del'>-Wed Apr  3 17:11:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (constat_apply): pass through unknown sequence which</div><div class='del'>-	  starts with ESC but is not followed by a bracket.  [ruby-core:53879]</div><div class='del'>-	  [Bug #8201]</div><div class='del'>-</div><div class='del'>-Wed Apr  3 16:35:32 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): hide intermediate Bignums not just freeing</div><div class='del'>-	  memory.  [ruby-core:53893] [Bug #8204]</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_hide): hide an object by clearing klass.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): test as Fixnum if possible and get rid of zero</div><div class='del'>-	  length Bignum.  [ruby-core:53893] [Bug #8204]</div><div class='del'>-</div><div class='del'>-Tue Apr  2 23:56:03 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.random_bytes): Use</div><div class='del'>-	  OpenSSL::Random.random_add instead of OpenSSL::Random.seed and</div><div class='del'>-	  specify 0.0 as the entropy.</div><div class='del'>-	  [ruby-core:47308] [Bug #6928]</div><div class='del'>-</div><div class='del'>-Tue Apr  2 20:24:52 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: Support Q! and q! for long long.</div><div class='del'>-	  (natstr): Moved to toplevel.  Add q and Q if there is long long type.</div><div class='del'>-	  (endstr): Moved to toplevel.</div><div class='del'>-	  (NATINT_PACK): Consider long long.</div><div class='del'>-	  (NATINT_LEN_Q): New macro.</div><div class='del'>-	  (pack_pack): Support Q! and q!.</div><div class='del'>-	  (pack_unpack): Ditto.</div><div class='del'>-	  [ruby-dev:43970] [Feature #3946]</div><div class='del'>-</div><div class='del'>-Tue Apr  2 19:24:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/num2int/num2int.c: Define utility methods</div><div class='del'>-	  as module methods of Num2int.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: Follow the above change.</div><div class='del'>-</div><div class='del'>-Tue Apr  2 18:49:01 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: Don't use Array#to_s.</div><div class='del'>-	   [ruby-core:52058] [Bug #7811] fixed by zzak (Zachary Scott).</div><div class='del'>-</div><div class='del'>-Tue Apr  2 17:38:20 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_to_s): suppress duplicated charclass warning.</div><div class='del'>-	  Regexp#to_s suppress extra its whole regexp options by calling</div><div class='del'>-	  onig_new with its source, but it doesn't call rb_reg_preprocess.</div><div class='del'>-	  Therefore its Unicode escapes (\u{XXXX}) are given as is,</div><div class='del'>-	  and it may cause duplicated charclass warning for example</div><div class='del'>-	  "[\u{33}]" (3 is duplicated) or "[\u{a}\u{b}]" (u is duplicated).</div><div class='del'>-	  [ruby-core:53649] [Bug #8151]</div><div class='del'>-</div><div class='del'>-Tue Apr  2 16:00:06 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_print_backtrace): separate to ease showing C backtrace.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_print_backtrace): ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr  2 15:22:09 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_separately): stop_auto_run of</div><div class='del'>-	  Test::Unit::Runner to prevent auto runner use ARGV.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_separately): add $: to separate process.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_separately): fail if stderr is not</div><div class='del'>-	  empty and ignore_stderr is false.</div><div class='del'>-</div><div class='del'>-Tue Apr  2 06:46:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/num2int/num2int.c: Rename utility methods</div><div class='del'>-	  to global functions to ease manual experiments.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: Follow the above change.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 22:26:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzfile_set_mtime): Use NUM2UINT.</div><div class='del'>-	  The old logic doesn't work well on LP64 platforms as:</div><div class='del'>-	  .. -2**63-1 =&gt; error,</div><div class='del'>-	  -2**63 .. -2**62-1 =&gt; success,</div><div class='del'>-	  -2**62 .. -2**31-1 =&gt; error,</div><div class='del'>-	  -2**31 .. 2**31-1 =&gt; success,</div><div class='del'>-	  2**31 .. 2**62-1 =&gt; error,</div><div class='del'>-	  2**62 .. 2**64-1 =&gt; success,</div><div class='del'>-	  2**64 ..  =&gt; error.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 22:08:02 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Zlib::Inflate.new):</div><div class='del'>-	  Fix documentation syntax and naming errors.</div><div class='del'>-	  Based on patch by Robin Dupret. Fix GH-271.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 21:22:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: Test small bignums.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 21:10:56 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ulong_internal): Don't cast a negative double value</div><div class='del'>-	  into unsigned long, which is undefined behavior.</div><div class='del'>-	  (rb_num2ull): Don't cast a value bigger than LLONG_MAX into</div><div class='del'>-	  long long, which is undefined behavior.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 20:57:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/num2int/num2int.c: Return string for result, instead of</div><div class='del'>-	  printing.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: updated to follow above change.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 20:08:07 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2long): Don't use SIGNED_VALUE uselessly.</div><div class='del'>-	  (check_int): Ditto.</div><div class='del'>-	  (check_short): Ditto.</div><div class='del'>-	  (rb_num2fix): Ditto.</div><div class='del'>-	  (rb_num2ulong_internal): Add a cast.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 18:41:35 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: skip autoconf 2.64 and 2.66, 2.67 seems short-lived</div><div class='del'>-	  but stick on it for Debian Squeeze.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 14:22:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check clang version by predefined macro values.</div><div class='del'>-	  [Bug #8192]</div><div class='del'>-</div><div class='del'>-Mon Apr  1 12:05:15 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (check_uint): Take the 1st argument as unsigned long,</div><div class='del'>-	  instead of VALUE.  Refine the validity test conditions.</div><div class='del'>-	  (check_ushort): Ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr  1 07:15:03 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use quadrigraph to put '[' or ']'. [Bug #8192]</div><div class='del'>-</div><div class='del'>-Mon Apr  1 04:16:41 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: kick old clang. [ruby-dev:47204] [Bug #8192]</div><div class='del'>-</div><div class='del'>-Mon Apr  1 01:12:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (FIX2ULONG): Make it consistent with NUM2ULONG.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/num2int/num2int.c: Add utility methods for FIX2XXX tests.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: Add tests for FIX2XXX.</div><div class='del'>-</div><div class='del'>-Sun Mar 31 17:17:56 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): consider visibility in define_method.</div><div class='del'>-	  patch by mashiro &lt;mail AT mashiro.org&gt;.  fix GH-268.</div><div class='del'>-</div><div class='del'>-Sun Mar 31 15:40:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: try to fix option arguments split by commas and</div><div class='del'>-	  equals here.  this batch file no longer run with old command.com.</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: no hacks for cmd.exe.</div><div class='del'>-</div><div class='del'>-Sun Mar 31 13:47:04 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ulong_internal): New function similar to</div><div class='del'>-	  rb_num2ulong but integer wrap around flag is also returned.</div><div class='del'>-	  (rb_num2ulong): Use rb_num2ulong_internal.</div><div class='del'>-	  (rb_num2uint): Use rb_num2ulong_internal and the wrap around flag is</div><div class='del'>-	  used instead of negative_int_p(val).</div><div class='del'>-	  (rb_num2ushort): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 31 06:27:17 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (HAVE_METACLASS_P): should check FL_SINGLETON flag before get</div><div class='del'>-	  instance variable to get rid of wrong warning about __attached__.</div><div class='del'>-	  [ruby-core:53839] [Bug #8188]</div><div class='del'>-</div><div class='del'>-Sat Mar 30 14:11:28 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* bcc32: removed. agreed at</div><div class='del'>-	  http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130223Japan</div><div class='del'>-</div><div class='del'>-Sat Mar 30 03:58:00 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (code_page): use cp1252 instead of cp20127 as US-ASCII.</div><div class='del'>-	  fix [ruby-core:53079] [Bug #7996]</div><div class='del'>-	  reported and patched by mmeltner (Michael Meltner).</div><div class='del'>-</div><div class='del'>-Sat Mar 30 03:49:21 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,</div><div class='del'>-	  because the latter fails on cross device file move of some</div><div class='del'>-	  environments.</div><div class='del'>-	  fix [ruby-core:53492] [Bug #8109]</div><div class='del'>-	  reported by mitchellh (Mitchell Hashimoto).</div><div class='del'>-</div><div class='del'>-Fri Mar 29 22:09:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_mutex_synchronize_m): yield no block params.  patch by</div><div class='del'>-	  splattael (Peter Suschlik) in [ruby-core:53773] [Bug #8097].</div><div class='del'>-	  fix GH-266.</div><div class='del'>-</div><div class='del'>-Fri Mar 29 16:51:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): set init flag if succeeded to forward, after</div><div class='del'>-	  skipping.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_block_call_i, argf_block_call): no more forwarding if</div><div class='del'>-	  forwarded after skipping.  [ruby-list:49185]</div><div class='del'>-</div><div class='del'>-	* io.c (argf_close): deal with init flag.</div><div class='del'>-</div><div class='del'>-	* io.c (argf_block_call_i, argf_block_call): forward next file if</div><div class='del'>-	  skipped while iteration, to get rid of IOError.  [ruby-list:49185]</div><div class='del'>-</div><div class='del'>-Fri Mar 29 11:09:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): not include all CFLAGS in CXXFLAGS, to</div><div class='del'>-	  use different set than C for C++.  [ruby-core:45273] [Bug #6504]</div><div class='del'>-</div><div class='del'>-Fri Mar 29 10:24:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h: undef POSIX compliant names on AIX, which are no</div><div class='del'>-	  longer needed.  patch suggested by edelsohn (David Edelsohn) in</div><div class='del'>-	  [ruby-core:53815].  [Bug #8174]</div><div class='del'>-</div><div class='del'>-Fri Mar 29 06:39:42 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2ull): Cast double to unsigned LONG_LONG via</div><div class='del'>-	  LONG_LONG instead of double to unsigned LONG_LONG directly.</div><div class='del'>-	  This is a challenge to fix a test_num2ull(TestNum2int)</div><div class='del'>-	  failure (NUM2ULL(-1.0) should be "18446744073709551615" but was "0")</div><div class='del'>-	  on Mac OS X with 32bit clang.</div><div class='del'>-	  http://a.mrkn.jp/~mrkn/chkbuild/mountain_lion/ruby-trunk-m32-o0/log/20130328T191100Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Fri Mar 29 00:54:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MAIN_DOES_NOTHING): ensure symbols for tests to be</div><div class='del'>-	  preserved.  [ruby-core:53745] [Bug #8169]</div><div class='del'>-</div><div class='del'>-Thu Mar 28 23:11:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Test Windows platform by detecting LoadError when</div><div class='del'>-	  require 'win32/resolv' suggested by Nobuyoshi Nakada [ruby-core:53389].</div><div class='del'>-	  [ruby-core:53388] [Feature #8090] Reported by Charles Nutter.</div><div class='del'>-</div><div class='del'>-Thu Mar 28 23:10:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h: rename SVR3,4 member names as POSIX compliant,</div><div class='del'>-	  to get rid of conflict on AIX.  [ruby-core:53765] [Bug #8174]</div><div class='del'>-</div><div class='del'>-Thu Mar 28 18:22:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb: extract</div><div class='del'>-	  assert_num2i_success_internal and assert_num2i_error_internal and</div><div class='del'>-	  provide assertion messages as "NUM2XXX(NNN)".</div><div class='del'>-</div><div class='del'>-Thu Mar 28 07:05:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: Delete redundant inclusions caused by</div><div class='del'>-	  AC_INCLUDES_DEFAULT in defines.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h: Ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 28 06:51:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h: Fix a compilation error on NetBSD,</div><div class='del'>-	  "type of formal parameter 1 is incomplete" for the rb_thread_wait_for</div><div class='del'>-	  invocation in rb_file_flock, by including header files as</div><div class='del'>-	  AC_INCLUDES_DEFAULT of autoconf.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 22:09:14 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (LONG_MIN_MINUS_ONE_IS_LESS_THAN): New macro.</div><div class='del'>-	  (LLONG_MIN_MINUS_ONE_IS_LESS_THAN): Ditto.</div><div class='del'>-	  (rb_num2long): Use LONG_MIN_MINUS_ONE_IS_LESS_THAN.</div><div class='del'>-	  (rb_num2ulong): Ditto.</div><div class='del'>-	  (rb_num2ll): Use LLONG_MIN_MINUS_ONE_IS_LESS_THAN.</div><div class='del'>-	  (rb_num2ull): Ditto.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb (assert_num2i_success): Test the</div><div class='del'>-	  value converted into a Float if Float can represent the value</div><div class='del'>-	  exactly.</div><div class='del'>-	  (assert_num2i_error): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 20:59:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb (assert_num2i_success): New</div><div class='del'>-	  utility method.</div><div class='del'>-	  (assert_num2i_error): Ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 20:37:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (num_exact): Use to_r method only if to_int method is</div><div class='del'>-	  available.</div><div class='del'>-	  [ruby-core:53764] [Bug #8173] Reported by Hiro Asari.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 12:07:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/num2int/test_num2int.rb (test_num2ll): test LLONG_MIN,</div><div class='del'>-	  not LONG_MIN.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 12:02:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (TIMET_MAX_PLUS_ONE): definition simplified.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 06:39:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MAIN_DOES_NOTHING): force to refer symbols for tests</div><div class='del'>-	  to be preserved.  [ruby-core:53745] [Bug #8169]</div><div class='del'>-</div><div class='del'>-Wed Mar 27 05:15:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): define SIGNEDNESS_OF_type same as</div><div class='del'>-	  check_signedness of mkmf.rb.</div><div class='del'>-</div><div class='del'>-	* internal.h (TIMET_MAX, TIMET_MIN, TIMET_MAX_PLUS_ONE): use</div><div class='del'>-	  SIGNEDNESS_OF_TIME_T.</div><div class='del'>-</div><div class='del'>-Wed Mar 27 00:28:45 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (TIMET_MAX_PLUS_ONE): Defined.</div><div class='del'>-</div><div class='del'>-	* thread.c (double2timeval): Saturate out-of-range values.</div><div class='del'>-</div><div class='del'>-Tue Mar 26 23:41:18 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: Define TIMET_MAX and TIMET_MIN here.</div><div class='del'>-</div><div class='del'>-	* time.c: Remove TIMET_MAX and TIMET_MIN definitions.</div><div class='del'>-</div><div class='del'>-	* thread.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: Remove TIMET_MAX definition.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c: Ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 26 22:31:10 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sockaddr_len): return the shortest length for</div><div class='del'>-	  unknown socket address.</div><div class='del'>-</div><div class='del'>-Tue Mar 26 22:14:46 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (double2timeval): convert the infinity to TIME_MAX to avoid</div><div class='del'>-	  SEGV by Thread.new {}.join(Float::INFINITY) on</div><div class='del'>-	  Debian GNU/Linux (amd64).</div><div class='del'>-</div><div class='del'>-Mon Mar 25 07:09:20 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb:  Only return tuple entry once on move,</div><div class='del'>-	  either through port or regular return, not both.  This results in a</div><div class='del'>-	  120% speedup when combined with #8125.  Patch by Joel VanderWerf.</div><div class='del'>-	  [ruby-trunk - Feature #8119]</div><div class='del'>-</div><div class='del'>-Mon Mar 25 06:59:01 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb:  Skip IPv6 tests if no IPv6 addresses</div><div class='del'>-	  exist.  Skip fork-dependent test if fork is not available.</div><div class='del'>-	  [ruby-trunk - Bug #8159]</div><div class='del'>-</div><div class='del'>-Sun Mar 24 10:38:24 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (putce): suppress unused return value warning.</div><div class='del'>-</div><div class='del'>-Mon Mar 25 02:01:03 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bm_free): need to clean up the mark flag of a free and</div><div class='del'>-	  unlinked method entry. [Bug #8100] [ruby-core:53439]</div><div class='del'>-</div><div class='del'>-Sun Mar 24 22:13:51 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rpartition): revert r39903, and convert byte offset</div><div class='del'>-	  to char offset; the return value of rb_reg_search is byte offset,</div><div class='del'>-	  but other than it of rb_str_rpartition expects char offset.</div><div class='del'>-	  [Bug #8138] [ruby-dev:47183]</div><div class='del'>-</div><div class='del'>-Sun Mar 24 18:29:46 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rpartition): Fix String#rpartition(/re/)</div><div class='del'>-	  against a multibyte string. [Bug #8138] [ruby-dev:47183]</div><div class='del'>-</div><div class='del'>-Sun Mar 24 13:42:24 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_ENABLE_LAZY_SWEEP): new macro to switch lazy sweeping</div><div class='del'>-	  for debugging. [Feature #8024] [ruby-dev:47135]</div><div class='del'>-</div><div class='del'>-Sun Mar 24 12:55:47 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: We have no chance to expand the heap when lazy sweeping is</div><div class='del'>-	  restricted. So collecting is often invoked if there is not</div><div class='del'>-	  enough free space in the heap. Try to expand heap when this is</div><div class='del'>-	  the case.</div><div class='del'>-</div><div class='del'>-Sun Mar 24 11:03:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb: Remove temporally files in the tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logger.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/syslog/test_syslog_logger.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_httpauth.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 24 05:36:29 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb:  Added documentation for multicast support.</div><div class='del'>-</div><div class='del'>-	* NEWS:  Point to above documentation.</div><div class='del'>-</div><div class='del'>-Sun Mar 24 05:32:39 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb:  Restore tests commented out while fixing</div><div class='del'>-	  test slowdown bug before r39895.</div><div class='del'>-</div><div class='del'>-Sun Mar 24 05:03:36 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb:  Add multicast support to Rinda::RingFinger and</div><div class='del'>-	  Rinda::RingServer.  [ruby-trunk - Bug #8073]</div><div class='del'>-	* test/rinda/test_rinda.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* NEWS: Update with Rinda multicast support</div><div class='del'>-</div><div class='del'>-Sun Mar 24 04:13:27 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb:  Fixed test failures in r39890 and r39891</div><div class='del'>-	  due to stopping DRb service.</div><div class='del'>-</div><div class='del'>-Sun Mar 24 03:34:02 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/rinda.rb:  Fixed loss of tuple when remote is alive but the</div><div class='del'>-	  call stack was unwound.  Patch by Joel VanderWerf.</div><div class='del'>-	  [ruby-trunk - Bug #8125]</div><div class='del'>-	* test/rinda/test_rinda.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Sun Mar 24 02:14:53 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_have_macro.rb: remove temporally files in the tests.</div><div class='del'>-</div><div class='del'>-Sat Mar 23 23:50:04 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (kprintf): added from FreeBSD libstand's printf.</div><div class='del'>-	  this is consided as async signal safe function.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): use kfprintf.</div><div class='del'>-	  [Bug #8144] [ruby-core:53632]</div><div class='del'>-</div><div class='del'>-Sat Mar 23 23:28:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Use Qnil and NIL_P</div><div class='del'>-	  instead of (VALUE)0 as a return value.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_remainder): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 23 17:39:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall_respond_to): preserve passed_block, which</div><div class='del'>-	  is modified in vm_call0_body() via vm_call0(), and caused a bug of</div><div class='del'>-	  rb_check_funcall() by false negative result of rb_block_given_p().</div><div class='del'>-	  re-fix [ruby-core:53650] [Bug #8153].</div><div class='del'>-	  [ruby-core:53653] [Bug #8154]</div><div class='del'>-</div><div class='del'>-Fri Mar 22 17:48:34 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (Forwardable::FILE_REGEXP): create regexp object</div><div class='del'>-	  outside sources for eval, to reduce allocations in def_delegators</div><div class='del'>-	  wrappers.  //o option does not make each regexps shared.  patch by</div><div class='del'>-	  tmm1 (Aman Gupta) in [ruby-core:53620] [Bug #8143].</div><div class='del'>-</div><div class='del'>-Fri Mar 22 17:38:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_feature_p), vm_core.h (rb_vm_struct): turn</div><div class='del'>-	  loaded_features_index into st_table.  patches by tmm1 (Aman Gupta)</div><div class='del'>-	  in [ruby-core:53251] and [ruby-core:53274] [Bug #8048]</div><div class='del'>-</div><div class='del'>-Fri Mar 22 10:29:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Fix style.</div><div class='del'>-</div><div class='del'>-Fri Mar 22 05:30:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ambiguous_operator): refine warning message, since this</div><div class='del'>-	  warning is shown after literal too.</div><div class='del'>-</div><div class='del'>-Fri Mar 22 04:51:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_keyword_arg): should check required</div><div class='del'>-	  keyword arguments even if rest hash is defined.  [ruby-core:53608]</div><div class='del'>-	  [Bug #8139]</div><div class='del'>-</div><div class='del'>-Fri Mar 22 01:00:17 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_addopt, run_exec_pgroup): use rb_pid_t</div><div class='del'>-	  instead of pid_t.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (raise_from_check, pty_check): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 22 00:04:15 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): output line at once.</div><div class='del'>-</div><div class='del'>-Thu Mar 21 23:17:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_kill): get rid of deadlock on signal 0.</div><div class='del'>-	  [ruby-dev:47182] [Bug #8137]</div><div class='del'>-</div><div class='del'>-Thu Mar 21 22:39:46 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump, marshal_load): workaround for segv on</div><div class='del'>-	  Intel Solaris compiled with Oracle SolarisStudio 12.3.</div><div class='del'>-	  Partly revert r38174. [ruby-core:52042] [Bug #7805]</div><div class='del'>-</div><div class='del'>-Thu Mar 21 16:48:06 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (simple_re_meta): escape all closing characters, not only</div><div class='del'>-	  round parenthesis.  [ruby-core:53578] [Bug #8133]</div><div class='del'>-</div><div class='del'>-Thu Mar 21 13:50:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (UNINITIALIZED_VAR): suppress warnings by clang 4.2.</div><div class='del'>-	  [ruby-core:51742] [Bug #7756]</div><div class='del'>-</div><div class='del'>-Thu Mar 21 07:34:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: Typo in Date::MONTHNAMES by Matt Gauger</div><div class='del'>-	  [GH fixes #261]</div><div class='del'>-</div><div class='del'>-Wed Mar 20 22:53:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_library): fix to format message.</div><div class='del'>-	  [ruby-core:53568] [Bug #8130]</div><div class='del'>-</div><div class='del'>-Wed Mar 20 22:52:52 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (install_dirs, with_destdir): prefix with DESTDIR</div><div class='del'>-	  directories to install only unless bundled extension libraries.</div><div class='del'>-	  [ruby-core:53502] [Bug #8115]</div><div class='del'>-</div><div class='del'>-Wed Mar 20 17:47:53 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup):</div><div class='del'>-	  allow using different root for source and build directories.</div><div class='del'>-	  this may fixes a minor problem of r39834.</div><div class='del'>-</div><div class='del'>-Wed Mar 20 16:40:48 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_hup_me): skip if HUP isn't supported.</div><div class='del'>-	  On Windows this test causes ArgumentError.</div><div class='del'>-</div><div class='del'>-Wed Mar 20 16:24:12 2013  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb (test_install_extension_flat):</div><div class='del'>-	  use ruby in build directory in case ruby is not installed.</div><div class='del'>-	  [ruby-core:53265] [Bug #8058]</div><div class='del'>-</div><div class='del'>-Wed Mar 20 15:22:07 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup): use</div><div class='del'>-	  relative path to get rid of "too long commandline" error.</div><div class='del'>-</div><div class='del'>-Wed Mar 20 04:27:42 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: remove unused variables.</div><div class='del'>-	  patched by Vipul A M &lt;vipulnsward@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Wed Mar 20 04:15:32 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: fixed typo.</div><div class='del'>-	  patched by Vipul A M &lt;vipulnsward@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Sat Mar 16 03:40:49 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_hup_me): added a few comments.</div><div class='del'>-</div><div class='del'>-Sat Mar 16 03:39:38 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_kill): added a few comments.</div><div class='del'>-</div><div class='del'>-Sat Mar 16 03:36:56 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (ruby_kill): release GVL while waiting signal delivered.</div><div class='del'>-</div><div class='del'>-Tue Mar 19 19:50:48 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_kill (internal.h, thread.c): use rb_pid_t instead of pid_t.</div><div class='del'>-	  this fixes the build failure of mswin introduced at r39819.</div><div class='del'>-</div><div class='del'>-Tue Mar 19 17:09:30 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_conv_enc_opts): convert with one converter, instead</div><div class='del'>-	  of re-creating converters for each buffer expansion.</div><div class='del'>-</div><div class='del'>-Tue Mar 19 17:06:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): compose HFS file names from UTF8-MAC.</div><div class='del'>-	  [ruby-core:48745] [Bug #7267]</div><div class='del'>-</div><div class='del'>-Sat Mar 16 01:44:29 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: added a declaration of ruby_kill().</div><div class='del'>-	* thread.c (ruby_kill): helper function of kill().</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): use ruby_kill() instead of kill().</div><div class='del'>-	* signal.c (rb_f_kill): call rb_thread_execute_interrupts()</div><div class='del'>-	  to ensure that make SignalException if sent a signal</div><div class='del'>-	  to myself. [Bug #7951] [ruby-core:52864]</div><div class='del'>-</div><div class='del'>-	* vm_core.h (typedef struct rb_thread_struct): added</div><div class='del'>-	  th-&gt;interrupt_cond.</div><div class='del'>-	* thread.c (rb_threadptr_interrupt_common): added to</div><div class='del'>-	  initialization of th-&gt;interrupt_cond.</div><div class='del'>-	* thread.c (thread_create_core): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (TestSignal#test_hup_me): test for</div><div class='del'>-	  the above.</div><div class='del'>-</div><div class='del'>-Sat Mar 16 00:42:39 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (linux_iocparm_len): enable only exist _IOC_SIZE().</div><div class='del'>-	  Because musl libc doesn't have it. [Bug #8051] [ruby-core:53229]</div><div class='del'>-</div><div class='del'>-Tue Mar 19 10:05:04 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: Fix typo in doc. Patch by Sho Hashimoto.</div><div class='del'>-	  [Bug #8116] [ruby-dev:47177]</div><div class='del'>-</div><div class='del'>-Tue Mar 19 02:13:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: set ac_cv_prog_cxx if CXX is supplied.</div><div class='del'>-</div><div class='del'>-Tue Mar 19 01:18:00 2013  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix c++ compiler auto-selection not only for</div><div class='del'>-	  Darwin 11.x, but also the other versions of Darwin.</div><div class='del'>-</div><div class='del'>-Tue Mar 19 00:26:22 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Improve accuracy of objspace_live_num() and</div><div class='del'>-	  allocated/freed counters. patched by tmm1(Aman Gupta).</div><div class='del'>-	  [Bug #8092] [ruby-core:53392]</div><div class='del'>-</div><div class='del'>-Mon Mar 18 21:42:48 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Avoid unnecessary heap growth. patched by tmm1(Aman Gupta).</div><div class='del'>-	  [Bug #8093] [ruby-core:53393]</div><div class='del'>-</div><div class='del'>-Mon Mar 18 17:58:36 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Fix unlimited memory growth with large values of</div><div class='del'>-	  RUBY_FREE_MIN. patched by tmm1(Aman Gupta).</div><div class='del'>-	  [Bug #8095] [ruby-core:53405]</div><div class='del'>-</div><div class='del'>-Mon Mar 18 14:46:19 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_err_in_callback.rb</div><div class='del'>-	  (TestErrInCallBack#test_err_in_callback): shouldn't create a file in</div><div class='del'>-	  the top of build directory.</div><div class='del'>-</div><div class='del'>-Mon Mar 18 13:29:52 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (backtrace): on darwin use custom backtrace() to trace</div><div class='del'>-	  beyond _sigtramp. darwin's backtrace can't trace beyond signal</div><div class='del'>-	  trampoline with sigaltstack.</div><div class='del'>-</div><div class='del'>-	* configure.in: check execinfo.h on darwin.</div><div class='del'>-</div><div class='del'>-Mon Mar 18 11:03:23 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (END_INSN): revert r39517 because the segv seems fixed by</div><div class='del'>-	  r39806.</div><div class='del'>-</div><div class='del'>-Mon Mar 18 10:41:06 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: Correct predefined macro name. This typo is introduced by</div><div class='del'>-	  r36534 and should be backported to ruby_2_0_0.</div><div class='del'>-</div><div class='del'>-Mon Mar 18 03:18:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Typo in Array#delete by Timo Sand [GH fixes #258]</div><div class='del'>-</div><div class='del'>-Mon Mar 18 01:14:56 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fillbuf): show fd number on failure to debug.</div><div class='del'>-	  http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20130316T050302Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-Sun Mar 17 02:38:21 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: include sys/time.h for avoiding implicit</div><div class='del'>-	  declaration of gettimeofday().</div><div class='del'>-</div><div class='del'>-Sun Mar 17 00:55:31 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: removed __linux__. it's unnecessary.</div><div class='del'>-</div><div class='del'>-Fri Mar 15 14:57:16 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: disabled _FORTIFY_SOURCE for avoid to hit glibc bug.</div><div class='del'>-	  [Bug #8080] [ruby-core:53349]</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_io_select_with_many_files):</div><div class='del'>-	  test for the above.</div><div class='del'>-</div><div class='del'>-Wed Mar 13 15:16:35 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (__syscall): moved to...</div><div class='del'>-	* io.c: here. because __syscall() is only used from io.c.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: move "#include &lt;sys/type.h&gt;" to ....</div><div class='del'>-	* include/ruby/intern.h: here. because it was introduced for</div><div class='del'>-	  fixing NFDBITS issue. [ruby-core:05179].</div><div class='del'>-</div><div class='del'>-Wed Mar 13 14:38:53 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (struct timespec): include &lt;sys/time.h&gt;</div><div class='del'>-</div><div class='del'>-Wed Mar 13 13:54:45 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check struct timeval exist or not.</div><div class='del'>-	* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL</div><div class='del'>-	  properly. and don't include sys/time.h if struct timeval exist.</div><div class='del'>-</div><div class='del'>-	* file.c: include sys/time.h explicitly.</div><div class='del'>-	* random.c: ditto.</div><div class='del'>-	* thread_pthread.c: ditto.</div><div class='del'>-	* time.c: ditto.</div><div class='del'>-	* ext/date/date_strftime.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 15 14:45:02 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (_FORTIFY_SOURCE): added a few comments.</div><div class='del'>-</div><div class='del'>-Fri Mar 15 14:17:55 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (numberof): renamed from ARRAY_SIZE() because</div><div class='del'>-	  other all files use numberof().</div><div class='del'>-</div><div class='del'>-Say Mar 15 01:33:00 2013  Charles Oliver Nutter &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb (TestLazyEnumerator#test_drop_while):</div><div class='del'>-	  Modify while condition to show dropping remains off after first false</div><div class='del'>-	  value. This change was made in 39711.</div><div class='del'>-</div><div class='del'>-Fri Mar 15 23:06:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (GetTimeval): check if already initialized instance.</div><div class='del'>-</div><div class='del'>-	* time.c (GetNewTimeval): check if newly created instance.</div><div class='del'>-</div><div class='del'>-	* time.c (time_init_0, time_init_1, time_init_copy, time_mload): must</div><div class='del'>-	  be newly created instance.  [ruby-core:53436] [Bug #8099]</div><div class='del'>-</div><div class='del'>-Fri Mar 15 14:51:33 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_sys_fail_path_with_func): share same function, and path</div><div class='del'>-	  may be nil.</div><div class='del'>-</div><div class='del'>-Fri Mar 15 08:24:51 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sys_fail_path): define &amp; use rb_sys_fail_path0 like r39752</div><div class='del'>-</div><div class='del'>-Fri Mar 15 04:08:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: Typo in Proc.arity found by Jack Nagel [Bug #8094]</div><div class='del'>-</div><div class='del'>-Thu Mar 14 16:59:09 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_function_name_string): macro for function name</div><div class='del'>-	  string predefined identifier, __func__ in C99, or __FUNCTION__ in</div><div class='del'>-	  gcc.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_sys_fail_path): use RUBY_FUNCTION_NAME_STRING.</div><div class='del'>-</div><div class='del'>-Thu Mar 14 14:12:34 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_sys_fail_path): use rb_sys_fail_path0 only on GCC.</div><div class='del'>-	  __func__ is C99 feature.</div><div class='del'>-</div><div class='del'>-Thu Mar 14 12:59:59 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_sys_fail_path0): add to append the name of called function</div><div class='del'>-	  to ease debugging for example blow umask_spec failure.</div><div class='del'>-	  http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20130309T010202Z.diff.html.gz</div><div class='del'>-</div><div class='del'>-	* file.c (rb_sys_fail_path): use rb_sys_fail_path0.</div><div class='del'>-</div><div class='del'>-Thu Mar 14 12:53:15 2013  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (get_user_from_path):  add internal function that retrieves</div><div class='del'>-	  username from supplied path (refactored).</div><div class='del'>-	* win32/file.c (rb_file_expand_path_internal):  refactor expansion of user</div><div class='del'>-	  home to use get_user_from_path and cover dir_string corner cases.</div><div class='del'>-	  [ruby-core:53168] [Bug #8034]</div><div class='del'>-</div><div class='del'>-Thu Mar 14 11:53:01 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: describe RUBY_HEAP_SLOTS_GROWTH_FACTOR.</div><div class='del'>-</div><div class='del'>-Thu Mar 14 10:01:12 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/globals.rdoc:  $? is thread-local</div><div class='del'>-</div><div class='del'>-Wed Mar 13 23:25:59 2013  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: allow to tune growth of heap by environment variable</div><div class='del'>-	  RUBY_HEAP_SLOTS_GROWTH_FACTOR. patched by tmm1(Aman Gupta).</div><div class='del'>-	  [Feature #8015] [ruby-core:53131]</div><div class='del'>-</div><div class='del'>-Wed Mar 13 19:43:46 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/irb/irb.rd.ja: fix typo</div><div class='del'>-</div><div class='del'>-	* ext/tk/MANUAL_tcltklib.eng: fix typos</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/tktextframe.rb (Tk#component_delegates): fix typo</div><div class='del'>-</div><div class='del'>-Wed Mar 13 15:13:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_singleton_methods): collect methods from the origin</div><div class='del'>-	  class.  [ruby-core:53207] [Bug #8044]</div><div class='del'>-</div><div class='del'>-Wed Mar 13 14:51:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_export_method): directly override the flag of method</div><div class='del'>-	  defined in prepending class too, not adding zsuper entry.</div><div class='del'>-	  [ruby-core:53106] [Bug #8005]</div><div class='del'>-</div><div class='del'>-Wed Mar 13 13:06:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rm, shvar_to_cpp, unexpand_shvar): local is not</div><div class='del'>-	  available on old shells.</div><div class='del'>-</div><div class='del'>-	* configure.in (shvar_to_cpp): escape quotes for old shells.</div><div class='del'>-	  [Bug #7959] [Bug #8071]</div><div class='del'>-</div><div class='del'>-Wed Mar 13 11:11:07 2013  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove Module#used, which has been</div><div class='del'>-	  introduced in Ruby 2.0 by mistake.  [Bug #7916] [ruby-core:52719]</div><div class='del'>-</div><div class='del'>-Wed Mar 13 05:49:29 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb:  Fix typo</div><div class='del'>-</div><div class='del'>-Tue Mar 12 22:20:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments, iseq_compile_each): support required</div><div class='del'>-	  keyword arguments.   [ruby-core:51454] [Feature #7701]</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_parameters): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_kw, f_block_kw): ditto.  this syntax is still</div><div class='del'>-	  experimental, the notation may change.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_iseq_struct): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_keyword_arg): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 12 17:02:53 2013  TAKANO Mitsuhiro &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* date_core.c: clearly specify operator precedence.</div><div class='del'>-</div><div class='del'>-Tue Mar 12 17:00:45 2013  TAKANO Mitsuhiro &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: fix condition.</div><div class='del'>-</div><div class='del'>-Tue Mar 12 16:48:19 2013  TAKANO Mitsuhiro &lt;tak@no32.tk&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: fix dangling if, else-if and else.</div><div class='del'>-</div><div class='del'>-Tue Mar 12 06:27:59 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/setup_command.rb:  Don't delete non-rubygems</div><div class='del'>-	  files when installing RubyGems.</div><div class='del'>-	* test/rubygems/test_gem_commands_setup_command.rb:  Test for the</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb:  Use full path to siteconf.rb</div><div class='del'>-	  in case the extconf.rb changes directories (like memcached does).</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Remove double slash from path.</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Test for the above.</div><div class='del'>-	* test/rubygems/test_gem_package_old.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/source.rb:  Revert automatic HTTPS upgrade</div><div class='del'>-	* lib/rubygems/spec_fetcher.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_source.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 12 02:25:19 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb:  Added Net::SMTP#rset method to implement the SMTP</div><div class='del'>-	  RSET command.  [ruby-trunk - Feature #5373]</div><div class='del'>-	* NEWS:  ditto.</div><div class='del'>-	* test/net/smtp/test_smtp.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Mon Mar 11 22:44:57 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb (TCPSocket#initialize): resolve the 3rd</div><div class='del'>-	  argument only if non-nil value is given.</div><div class='del'>-	  [ruby-dev:47150] [ruby-trunk - Bug #8054] reported and analyzed by</div><div class='del'>-	  mrkn.</div><div class='del'>-</div><div class='del'>-Mon Mar 11 19:22:54 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/base.rb: class name conflict.</div><div class='del'>-</div><div class='del'>-Mon Mar 11 18:45:09 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index): try to convert given offset to</div><div class='del'>-	  integer. fix bug introduced in r39594.</div><div class='del'>-</div><div class='del'>-Mon Mar 11 17:27:57 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil.with_default_external): add for</div><div class='del'>-	  changing Encoding.default_external without warnings.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (EnvUtil.with_default_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io_m17n.rb: use above with_default_external.</div><div class='del'>-</div><div class='del'>-Mon Mar 11 16:57:00 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (extract_binmode): raise error even if binmode and textmode</div><div class='del'>-	  don't conflict. [Bug #5918] [ruby-core:42199]</div><div class='del'>-</div><div class='del'>-Mon Mar 11 12:25:12 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Merge Onigmo d4bad41e16e3eccd97ccce6f1f96712e557c4518.</div><div class='del'>-	  fix lookbehind assertion fails with /m mode enabled. [Bug #8023]</div><div class='del'>-	  fix \Z matches where it shouldn't. [Bug #8001]</div><div class='del'>-</div><div class='del'>-Mon Mar 11 11:53:35 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#dir_config, MakeMakefile#_libdir_basename):</div><div class='del'>-	  defer use of instance variable until needed.  [Bug #8074]</div><div class='del'>-</div><div class='del'>-Thu Mar  7 10:42:28 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Queue#clear): return self.</div><div class='del'>-	  Patch by Cubing Cube. Thank you! [Bug #7947] [ruby-dev:47098]</div><div class='del'>-	* lib/thread.rb (Queue#push): ditto.</div><div class='del'>-	* lib/thread.rb (SizedQueue#push): ditto.</div><div class='del'>-	* test/thread/test_queue.rb: add tests for the above.</div><div class='del'>-</div><div class='del'>-Thu Mar  7 10:40:49 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/change_maker.rb (#diff2index): check Encoding::BINARY.</div><div class='del'>-	  BASERUBY may still be 1.8.x.</div><div class='del'>-</div><div class='del'>-Thu Mar  7 08:47:42 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS (Mutex#owned?): no longer experimental.</div><div class='del'>-</div><div class='del'>-Sun Mar 10 23:38:15 2013  Luis Lavena  &lt;luislavena@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_expand_path_internal):  Expand home directory when</div><div class='del'>-	  used as second parameter (dir_string).  [ruby-core:53168] [Bug #8034]</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: add test to verify.</div><div class='del'>-</div><div class='del'>-Sun Mar 10 23:27:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):</div><div class='del'>-	  it is impossible to predict which file will be installed to where,</div><div class='del'>-	  by the arguments, so use intermediate destination directory always.</div><div class='del'>-	  [Bug #7698]</div><div class='del'>-</div><div class='del'>-Sun Mar 10 17:00:22 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: edited rdoc.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 10 15:02:39 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (setup_communication_pipe): remove unused function.</div><div class='del'>-	  it was unintentionally added r39683.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 00:30:40 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/gen_ruby_tapset.rb: add tapset generator.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 03:27:43 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* probes.d (symbol-create): change argument name `string' to</div><div class='del'>-	  `str'. `string' is a keyword for systemtap.</div><div class='del'>-</div><div class='del'>-Tue Mar  5 22:23:01 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* probes.d: added argument name</div><div class='del'>-</div><div class='del'>-Thu Mar  7 01:17:00 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce</div><div class='del'>-	  iterations from 2000 to 250. When running on uniprocessor</div><div class='del'>-	  systems, every th.kill needs TIME_QUANTUM_USEC time (i.e.</div><div class='del'>-	  100msec on posix systems). Because, "r.read 1" is 3 steps</div><div class='del'>-	  operations that 1) release GVL 2) read 3) acquire gvl and</div><div class='del'>-	  (1) invoke context switch to main thread. and then, main</div><div class='del'>-	  thread's th.kill resume (1), but not (2). Thus read interrupt</div><div class='del'>-	  need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec</div><div class='del'>-	  = 300.</div><div class='del'>-</div><div class='del'>-Thu Mar  7 00:14:51 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_update_max_fd): use ATOMIC_CAS because this function</div><div class='del'>-	  is used from timer thread too.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 23:30:21 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ARRAY_SIZE): new.</div><div class='del'>-	* thread_pthread.c (gvl_acquire_common): use low priority</div><div class='del'>-	  notification for avoiding timer thread interval confusion.</div><div class='del'>-	  If we use timer_thread_pipe[1], every gvl_yield() request</div><div class='del'>-	  one more gvl_yield(). It lead to thread starvation.</div><div class='del'>-	  [Bug #7999] [ruby-core:53095]</div><div class='del'>-	* thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low</div><div class='del'>-	  to reserved fds.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 22:36:19 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd</div><div class='del'>-	  argument and remove hardcoded dependency of timer_thread_pipe[1].</div><div class='del'>-	* thread_pthread.c (consume_communication_pipe): add fd argument.</div><div class='del'>-	* thread_pthread.c (close_communication_pipe): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (timer_thread_sleep): adjust the above changes.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (setup_communication_pipe_internal): factor</div><div class='del'>-	  out pipe initialize logic.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 22:56:14 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ubf_select): add to small comments why we</div><div class='del'>-	  need to call rb_thread_wakeup_timer_thread().</div><div class='del'>-</div><div class='del'>-Wed Mar  6 21:42:24 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): factor out</div><div class='del'>-	  creating communication pipe logic into separate function.</div><div class='del'>-	* thread_pthread.c (setup_communication_pipe): new helper function.</div><div class='del'>-	* thread_pthread.c (set_nonblock): moves a definition before</div><div class='del'>-	  setup_communication_pipe.</div><div class='del'>-</div><div class='del'>-Sun Mar  3 02:42:29 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (consume_communication_pipe): retry when</div><div class='del'>-	  read returned CCP_READ_BUFF_SIZE.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 21:31:35 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (timer_thread_sleep): use poll() instead of</div><div class='del'>-	  select(). select doesn't work if timer_thread_pipe[0] is</div><div class='del'>-	  greater than FD_SETSIZE.</div><div class='del'>-	* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): add a dependency</div><div class='del'>-	  against poll.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 21:00:23 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): use more accurate</div><div class='del'>-	  ifdef conditions.</div><div class='del'>-</div><div class='del'>-Sun Mar  3 02:30:36 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (set_nonblock): new helper function for set</div><div class='del'>-	  O_NONBLOCK.</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK</div><div class='del'>-	  to timer_thread_pipe[0] too.</div><div class='del'>-</div><div class='del'>-Sun Mar 10 09:12:51 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: described syntax of string form.</div><div class='del'>-	* rational.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  9 11:58:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_extended): check for prepended object.</div><div class='del'>-	  [ruby-core:53206] [Bug #8043]</div><div class='del'>-</div><div class='del'>-Sat Mar  9 08:36:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (features_index_add_single, rb_feature_p): store single index</div><div class='del'>-	  as Fixnum to reduce the number of arrays for the indexes.  based on</div><div class='del'>-	  the patch by tmm1 (Aman Gupta) in [ruby-core:53216] [Bug #8048].</div><div class='del'>-</div><div class='del'>-Sat Mar  9 00:25:57 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): load prepended objects.  treat the class of</div><div class='del'>-	  extended object in the included modules as prepended singleton</div><div class='del'>-	  class. [ruby-core:53202] [Bug #8041]</div><div class='del'>-</div><div class='del'>-Fri Mar  8 19:44:00 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/rake.1, man/ruby.1: Use the Pa macro to make URLs stand out.</div><div class='del'>-</div><div class='del'>-Fri Mar  8 13:20:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_f_pathname): rdoc for Pathname()</div><div class='del'>-</div><div class='del'>-Fri Mar  8 12:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* man/rake.1: Document ENVIRONMENT variables on RAKE(1) manpage</div><div class='del'>-</div><div class='del'>-Fri Mar  8 10:44:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb: Fix typos in HTTPProxyServer [Bug #8013]</div><div class='del'>-	  Patch by Nobuhiro IMAI [ruby-core:53127]</div><div class='del'>-</div><div class='del'>-Fri Mar  8 03:16:15 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_ancestors): Include singleton_class in ancestors</div><div class='del'>-	  list [Feature #8035]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (class): test for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/marshaltestlib.rb (module): adapt test</div><div class='del'>-</div><div class='del'>-	* NEWS: list change</div><div class='del'>-</div><div class='del'>-Thu Mar  7 14:21:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): pass keyword arguments to zsuper,</div><div class='del'>-	  with current values.  [ruby-core:53114] [Bug #8008]</div><div class='del'>-</div><div class='del'>-Thu Mar  7 12:53:47 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/setup_command.rb:  Install .pem files.</div><div class='del'>-	* test/rubygems/test_gem_commands_setup_command.rb:  Test for the</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/spec_fetcher.rb:  Test HTTPS upgrade with URI::HTTPS,</div><div class='del'>-	  not URI::HTTP.  Fixes bug in automatic HTTPS upgrade.</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Version 2.0.2</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_utilities.rb:  Ensure scheme and uri class match.</div><div class='del'>-</div><div class='del'>-Thu Mar  7 10:39:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories now has mode</div><div class='del'>-	  option since r39607.  refix of r38870.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 13:14:28 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb:  Removed unused variable.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 08:10:15 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_require.rb:  Fix tests when 'a.rb' exists.</div><div class='del'>-	  [ruby-trunk - Bug #7749]</div><div class='del'>-</div><div class='del'>-Wed Mar  6 08:00:59 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Allow specification of directory permissions.</div><div class='del'>-	  [ruby-trunk - Bug #7713]</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Wed Mar  6 07:40:21 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/query_command.rb:  Only fetch remote specs when</div><div class='del'>-	  showing details.  [ruby-trunk - Bug #8019]  RubyGems bug #487</div><div class='del'>-	* lib/rubygems/remote_fetcher.rb:  ditto.</div><div class='del'>-	* lib/rubygems/security/policy.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_commands_query_command.rb:  Test for the</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/security.rb:  Make OpenSSL optional for RubyGems.</div><div class='del'>-	* lib/rubygems/commands/cert_command.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb:  Display file with YAML error, not</div><div class='del'>-	  ~/.gemrc</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/remote_fetcher.rb:  Only create gem subdirectories when</div><div class='del'>-	  installing gems.</div><div class='del'>-	* lib/rubygems/dependency_resolver.rb:  ditto.</div><div class='del'>-	* lib/rubygems/test_utilities.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_commands_fetch_command.rb:  Test for the</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/spec_fetcher.rb:  Only try to upgrade</div><div class='del'>-	  http://rubygems.org to HTTPS</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Update win_platform? check for JRuby compatibility.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  Update for Ruby 1.9.2</div><div class='del'>-	  compatibility</div><div class='del'>-</div><div class='del'>-Wed Mar  6 01:19:28 2013  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index, lazy_take): use INT2FIX(0)</div><div class='del'>-	  instead of INT2NUM(0).</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/function.c (function_call): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getsid): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_finish): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  5 21:36:43 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): check redefinition of built-in optimized</div><div class='del'>-	  methods.  [ruby-dev:47124] [Bug #7983]</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_check_redefinition_by_prepend): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  5 20:29:25 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): revert r39224.  [ruby-core:53038] [Bug #7988]</div><div class='del'>-</div><div class='del'>-Tue Mar  5 20:23:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_check_arity): make a static inline</div><div class='del'>-	  function so it can be used as an expression and argc would be</div><div class='del'>-	  evaluated only once.</div><div class='del'>-</div><div class='del'>-Tue Mar  5 12:30:55 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Bump version to 2.0.1 for upcoming bugfix release</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb:  Restore ruby 1.8 compatibility</div><div class='del'>-	  for [Bug #7698]</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Restore ruby 1.8 compatibility.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb:  Fix warnings</div><div class='del'>-</div><div class='del'>-Tue Mar  5 12:24:23 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index):  Restore handling of a nil memo</div><div class='del'>-	  from r39594.</div><div class='del'>-</div><div class='del'>-Tue Mar  5 10:40:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (count_nodes): count also newly added nodes,</div><div class='del'>-	  and fix key for unknown node.  patch by tmm1 (Aman Gupta) in</div><div class='del'>-	  [ruby-core:53130] [Bug #8014]</div><div class='del'>-</div><div class='del'>-Tue Mar  5 10:20:16 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_with_index_i): allow Bignum as offset, to</div><div class='del'>-	  get rid of conversion exception and integer overflow.</div><div class='del'>-	  [ruby-dev:47131] [Bug #8010]</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_succ, rb_int_pred): shortcut optimization for</div><div class='del'>-	  Bignum.</div><div class='del'>-</div><div class='del'>-Tue Mar  5 10:02:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):</div><div class='del'>-	  clear DESTDIR so RUBYARCHDIR and RUBYLIBDIR are not be overridden.</div><div class='del'>-	  [Bug #7698]</div><div class='del'>-</div><div class='del'>-Mon Mar  4 15:33:40 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):</div><div class='del'>-	  fix for unusual cases again.  install to a temporary directory once</div><div class='del'>-	  and move installed files to the destination directory, if it is same</div><div class='del'>-	  as the current directory.  [Bug #7698]</div><div class='del'>-</div><div class='del'>-Mon Mar  4 14:13:36 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (miniruby, ruby): move MAINLIBC because linker arguments</div><div class='del'>-	  must appear after object files with newer versions of gcc.  patch by</div><div class='del'>-	  tmm1 (Aman Gupta) in [ruby-core:53121] [Bug #8009]</div><div class='del'>-</div><div class='del'>-Mon Mar  4 10:23:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: Typo in Encoding overview by Tom Wardrop [GH fixes #255]</div><div class='del'>-</div><div class='del'>-Sun Mar  3 12:35:08 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#libpath_env): set runtime library path for</div><div class='del'>-	  the case rpath is disabled.</div><div class='del'>-</div><div class='del'>-Sun Mar  3 12:17:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb</div><div class='del'>-	  (Gem::Ext::ExtConfBuilder.hack_for_obsolete_style_gems): remove</div><div class='del'>-	  circular dependencies in install-so too.  [ruby-core:52882]</div><div class='del'>-	  [Bug #7698]</div><div class='del'>-</div><div class='del'>-Sun Mar  3 07:33:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpserver.c: Grammar for TCPServer.new from r39554</div><div class='del'>-</div><div class='del'>-Sun Mar  3 01:17:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb</div><div class='del'>-	  (Gem::Ext::ExtConfBuilder.hack_for_obsolete_style_gems): remove</div><div class='del'>-	  circular dependencies for old style gems which locate extconf.rb on</div><div class='del'>-	  the toplevel.  [ruby-core:53059] [ruby-trunk - Bug #7698]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):</div><div class='del'>-	  use RUBYOPT instead of -r option, and revert some tests.  [Bug #7698]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):</div><div class='del'>-	  revert use of temporary directory for build, to work some buggy</div><div class='del'>-	  extconf.rb which cannot build outside the source directory.</div><div class='del'>-	  [ruby-core:53056] [Bug #7698]</div><div class='del'>-</div><div class='del'>-Sun Mar  3 00:04:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (CPPFLAGS), lib/mkmf.rb (MakeMakefile#create_makefile):</div><div class='del'>-	  define RUBY_EXPORT for static-linked-ext mswin.  [Bug #7960]</div><div class='del'>-</div><div class='del'>-Sat Mar  2 22:49:47 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (ENCOBJS, EXTOBJS, config.h): definitions for</div><div class='del'>-	  static-linked-ext.  [Bug #7960]</div><div class='del'>-</div><div class='del'>-Sat Mar  2 17:34:19 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb: use Socket.tcp_server_sockets to create server</div><div class='del'>-	  sockets.</div><div class='del'>-	  fix [Bug #7100] https://bugs.ruby-lang.org/issues/7100</div><div class='del'>-	  reported by sho-h (Sho Hashimoto).</div><div class='del'>-</div><div class='del'>-Sat Mar  2 02:45:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: typo in comment patch by Nami-Doc [Github fixes #253]</div><div class='del'>-</div><div class='del'>-Sat Mar  2 01:33:17 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Merge Onigmo 0fe387da2fee089254f6b04990541c731a26757f</div><div class='del'>-	  v5.13.3 [Bug#7972] [Bug#7974]</div><div class='del'>-</div><div class='del'>-Fri Mar  1 11:09:06 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb:  Revert r34669 which altered the way</div><div class='del'>-	  metaprogramming in FileUtils occurred.  [ruby-trunk - Bug #7958]</div><div class='del'>-</div><div class='del'>-	* test/fileutils/visibility_tests.rb:  Refactored tests of FileUtils</div><div class='del'>-	  options modules to expose bug found in #7958</div><div class='del'>-	* test/fileutils/test_dryrun.rb:  ditto.</div><div class='del'>-	* test/fileutils/test_nowrite.rb:  ditto.</div><div class='del'>-	* test/fileutils/test_verbose.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar  1 09:18:00 2013  Zachary Scott &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/psych.rb: specify in rdoc what object is returned in parser</div><div class='del'>-	  By Adam Stankiewicz [Github tenderlove/psych#133]</div><div class='del'>-</div><div class='del'>-Fri Mar  1 07:21:41 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ext/builder.rb:  Fix incompatibilities when installing</div><div class='del'>-	  extensions.  Patch by Nobu.</div><div class='del'>-	  [ruby-trunk - Bug #7698] [ruby-trunk - Bug #7971]</div><div class='del'>-	* lib/rubygems/ext/ext_conf_builder.rb:  ditto.</div><div class='del'>-	* lib/rubygems/installer.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_ext_ext_conf_builder.rb:  Test for the above.</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/sources_command.rb:  Prefer HTTPS over HTTP.</div><div class='del'>-	* lib/rubygems/defaults.rb:  ditto</div><div class='del'>-	* lib/rubygems/dependency_resolver.rb:  Ditto.</div><div class='del'>-	* lib/rubygems/source.rb:  ditto.</div><div class='del'>-	* lib/rubygems/spec_fetcher.rb:  ditto.</div><div class='del'>-	* lib/rubygems/specification.rb:  ditto.</div><div class='del'>-	* lib/rubygems/test_utilities.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for the above.</div><div class='del'>-	* test/rubygems/test_gem_commands_sources_command.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_dependency_resolver_api_set.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_source.rb:  ditto.</div><div class='del'>-	* test/rubygems/test_gem_spec_fetcher.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 1 03:25:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: rdoc for Psych overview by Adam Stankiewicz</div><div class='del'>-	  [Github tenderlove/psych#134]</div><div class='del'>-</div><div class='del'>-Thu Feb 28 22:57:48 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): remove redundant trace(line)</div><div class='del'>-	  instruction. for example, at the following script</div><div class='del'>-	    def m()</div><div class='del'>-	      p:xyzzy</div><div class='del'>-	      1</div><div class='del'>-	      2</div><div class='del'>-	    end</div><div class='del'>-	  compiler ignores `1' because there is no effect. However,</div><div class='del'>-	  `trace(line)' instruction remains in bytecode.</div><div class='del'>-	  This modification removes such redundant trace(line) instruction.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 22:23:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (inspect_sockaddr): don't show that Unix</div><div class='del'>-	  domain socket filename is bigger than sizeof(sun_path).</div><div class='del'>-	  This limit is not rigid on some platforms such as Darwin and SunOS.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 21:33:01 2013  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in(AC_DISABLE_OPTION_CHECKING): avoid warning "WARNING:</div><div class='del'>-	  Unrecognized options: --with-PACKAGE".</div><div class='del'>-</div><div class='del'>-Thu Feb 28 20:22:04 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): fix condition.</div><div class='del'>-	  r34303 introduces a bug to avoid all line information from</div><div class='del'>-	  a result of ISeq#to_a. This is a regression problem from 2.0.0p0.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add a test of lines after ISeq#to_a.</div><div class='del'>-</div><div class='del'>-Thu Feb 28 08:20:33 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/available_set.rb:  Undent for style</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_installer.rb:  Pick latest prerelease gem to</div><div class='del'>-	  install.  Fixes RubyGems bug #468.</div><div class='del'>-	* test/rubygems/test_gem_dependency_installer.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_installer.rb:  Don't display "Done installing</div><div class='del'>-	  documentation" if documentation will not be installed.</div><div class='del'>-	* lib/rubygems/rdoc.rb:  ditto</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/dependency_list.rb:  Use Array#concat for Ruby 1.x</div><div class='del'>-	  performance.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb:  Use formatted program name when comparing</div><div class='del'>-	  executables.  RubyGems pull request #471</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Use more explicit feature check to work</div><div class='del'>-	  around JRuby bug #552</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem:  Added GeoTrust root</div><div class='del'>-	  certificate.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_source_list.rb:  Use "example" instead of real</div><div class='del'>-	  hostname</div><div class='del'>-</div><div class='del'>-Thu Feb 28 05:57:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: rdoc formatting for Thread, ThreadGroup, and ThreadError</div><div class='del'>-</div><div class='del'>-Thu Feb 28 02:42:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: Typo in overview for example of Thread#status returning false</div><div class='del'>-	  Reported by Lee Jarvis</div><div class='del'>-</div><div class='del'>-Wed Feb 27 22:54:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (union_sockaddr): make it longer for SunOS</div><div class='del'>-	  and Darwin.</div><div class='del'>-</div><div class='del'>-Wed Feb 27 21:14:34 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/security.rb (REXML::Security): create.</div><div class='del'>-	* lib/rexml/rexml.rb: move entity_expansion_limit and</div><div class='del'>-	  entity_expansion_text_limit accessors to ...</div><div class='del'>-	* lib/rexml/security.rb: ... here.</div><div class='del'>-	* lib/rexml/document.rb: use REXML::Security.</div><div class='del'>-	* lib/rexml/text.rb: use REXML::Security.</div><div class='del'>-	* test/rexml/test_document.rb: use REXML::Security.</div><div class='del'>-</div><div class='del'>-Wed Feb 27 19:53:32 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Thread): fix typos in overview</div><div class='del'>-</div><div class='del'>-Wed Feb 27 13:21:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Thread): Typo in overview, swap setting and getting</div><div class='del'>-</div><div class='del'>-Wed Feb 27 13:02:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Thread): Documentation overview of Thread class</div><div class='del'>-</div><div class='del'>-Wed Feb 27 12:57:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wakeup): rdoc formatting</div><div class='del'>-</div><div class='del'>-Wed Feb 27 12:53:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_group): rdoc formatting</div><div class='del'>-</div><div class='del'>-Wed Feb 27 12:33:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Typo in OpenStruct overview [Github Fixes #251]</div><div class='del'>-	  Patch by Chun-wei Kuo</div><div class='del'>-</div><div class='del'>-Wed Feb 27 12:13:32 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (END_INSN): llvm-gcc may optimize out reg_cfp and cause</div><div class='del'>-	  Stack/cfp consistency error when the instruction doesn't use reg_cfp.</div><div class='del'>-	  Usually instructions use PUSH() but for example trace doesn't.</div><div class='del'>-	  This hack cause speed down but you shouldn't use llvm-gcc, use clang.</div><div class='del'>-	  [Bug #7938]</div><div class='del'>-</div><div class='del'>-Wed Feb 27 10:23:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_raise_m): rdoc formatting</div><div class='del'>-</div><div class='del'>-Tue Feb 26 23:32:44 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb: move entity_expansion_limit accessor to ...</div><div class='del'>-	* lib/rexml/rexml.rb: ... here for consistency.</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document.entity_expansion_limit):</div><div class='del'>-	  deprecated.</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document.entity_expansion_limit=):</div><div class='del'>-	  deprecated.</div><div class='del'>-</div><div class='del'>-Tue Feb 26 23:26:13 2013  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb: move entity_expansion_text_limit accessor to ...</div><div class='del'>-	* lib/rexml/rexml.rb: ... here to make rexml/text independent from</div><div class='del'>-	  REXML::Document. It causes circular require.</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):</div><div class='del'>-	  deprecated.</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit=):</div><div class='del'>-	  deprecated.</div><div class='del'>-	* lib/rexml/text.rb: add missing require "rexml/rexml" for</div><div class='del'>-	  REXML.entity_expansion_text_limit.</div><div class='del'>-	  Reported by Robert Ulejczyk. Thanks!!! [ruby-core:52895] [Bug #7961]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 15:12:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: reconstruct comma separated list values.  a</div><div class='del'>-	  command line to Windows batch file is split not only by spaces</div><div class='del'>-	  and equal signs but also by commas and semicolons.</div><div class='del'>-</div><div class='del'>-Tue Feb 26 15:04:19 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (unexpand_shvar): get rid of non-portable shell</div><div class='del'>-	  behavior on OpenBSD, so no extra quotes.  [Bug #7959]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 10:24:49 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (IS_LABEL_POSSIBLE): allow labels for keyword arguments just</div><div class='del'>-	  after method definition without a parenthesis.  [ruby-core:52820]</div><div class='del'>-	  [Bug #7942]</div><div class='del'>-</div><div class='del'>-Tue Feb 26 04:50:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: clarify reason for sleep in SignalException example</div><div class='del'>-</div><div class='del'>-Tue Feb 26 03:47:00 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: clarify a document of SignalException. Process.kill()</div><div class='del'>-	  doesn't have any guarantee when signal will be delivered.</div><div class='del'>-	  [Bug #7951] [ruby-core:52864]</div><div class='del'>-</div><div class='del'>-Mon Feb 25 23:51:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/version.h: bump RUBY_API_VERSION same as RUBY_VERSION.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 21:03:34 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_byte_substr): don't set coderange if it's not known.</div><div class='del'>-	  [Bug #7954] [ruby-dev:47108]</div><div class='del'>-</div><div class='del'>-Mon Feb 25 16:47:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (realclean-local): miniprelude.c is made by srcs, so it</div><div class='del'>-	  should not removed by distclean but by realclean.  [Bug #6807]</div><div class='del'>-</div><div class='del'>-Mon Feb 25 16:30:30 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/config_file.rb:  Lazily load .gem/credentials to only</div><div class='del'>-	  check permissions when necessary.  RubyGems bug #465</div><div class='del'>-	* test/rubygems/test_gem_config_file.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_push_command.rb:  Remove duplicated</div><div class='del'>-	  test.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 15:47:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (ARFLAGS): VisualC++ linker does not allow spaces between</div><div class='del'>-	  output option and the output file name.  [Bug #7950]</div><div class='del'>-</div><div class='del'>-	* enc/depend (RANLIB): set default command to do nothing, or make the</div><div class='del'>-	  entire line a label on Windows.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 14:41:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#init_mkmf): default libdirname to libdir.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 13:12:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (setup): find Setup file from target_os 1. by</div><div class='del'>-	  suffix (e.g. Setup.nacl, Setup.atheos), 2. by "platform"</div><div class='del'>-	  option (e.g. Setup.nt, Setup.emx), and 3. default Setup.  And</div><div class='del'>-	  Setup.dj had been removed.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 12:48:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Document Thread::new, clean up ::fork and mention calling</div><div class='del'>-	  super if subclassing Thread</div><div class='del'>-</div><div class='del'>-Mon Feb 25 12:38:50 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: don't test ss_family and ss_len member of</div><div class='del'>-	  struct sockaddr_storage.  They are not used now except SunOS</div><div class='del'>-	  specific code.</div><div class='del'>-</div><div class='del'>-Mon Feb 25 11:03:38 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (unexpand_shvar): Use the numeric comparison</div><div class='del'>-	  operator instead of '==' which is a ksh extension. [Bug #7941]</div><div class='del'>-</div><div class='del'>-Mon Feb 25 02:37:56 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: define and use union_sockaddr instead of struct</div><div class='del'>-	  sockaddr_storage for less casts.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (union_sockaddr): defined.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_accept): use union_sockaddr.</div><div class='del'>-	  (sock_accept_nonblock): ditto.</div><div class='del'>-	  (sock_sysaccept): ditto.</div><div class='del'>-	  (sock_s_getnameinfo): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_getsockname): ditto.</div><div class='del'>-	  (bsock_getpeername): ditto.</div><div class='del'>-	  (bsock_local_address): ditto.</div><div class='del'>-	  (bsock_remote_address): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (recvfrom_arg): ditto.</div><div class='del'>-	  (recvfrom_blocking): ditto.</div><div class='del'>-	  (rsock_s_recvfrom): ditto.</div><div class='del'>-	  (rsock_s_recvfrom_nonblock): ditto.</div><div class='del'>-	  (rsock_getfamily): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rb_addrinfo_t): ditto.</div><div class='del'>-	  (ai_get_afamily): ditto.</div><div class='del'>-	  (inspect_sockaddr): ditto.</div><div class='del'>-	  (addrinfo_mdump): ditto.</div><div class='del'>-	  (addrinfo_mload): ditto.</div><div class='del'>-	  (addrinfo_getnameinfo): ditto.</div><div class='del'>-	  (addrinfo_ip_port): ditto.</div><div class='del'>-	  (extract_in_addr): ditto.</div><div class='del'>-	  (addrinfo_ipv6_to_ipv4): ditto.</div><div class='del'>-	  (addrinfo_unix_path): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpserver.c (tcp_accept): ditto.</div><div class='del'>-	  (tcp_accept_nonblock): ditto.</div><div class='del'>-	  (tcp_sysaccept): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (ip_addr): ditto.</div><div class='del'>-	  (ip_peeraddr): ditto.</div><div class='del'>-	  (ip_s_getaddress): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 21:15:05 2013  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [ruby-core:52303]</div><div class='del'>-</div><div class='del'>-Sun Feb 24 15:33:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_ulong_limited): limit is inclusive, but generic</div><div class='del'>-	  rand method should return a number less than it, so increase for the</div><div class='del'>-	  difference.  [ruby-core:52779] [Bug #7935]</div><div class='del'>-</div><div class='del'>-Sun Feb 24 15:32:36 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_ulong_limited): limit is inclusive, but generic</div><div class='del'>-	  rand method should return a number less than it, so increase for the</div><div class='del'>-	  difference.  [ruby-core:52779] [Bug #7935]</div><div class='del'>-</div><div class='del'>-Sun Feb 24 15:14:43 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Removed duplicate Accept-Encoding in Net::HTTP#get.</div><div class='del'>-	  [ruby-trunk - Bug #7924]</div><div class='del'>-	* test/net/http/test_http.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 14:28:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Document ThreadGroup::Default</div><div class='del'>-</div><div class='del'>-Wed Feb 20 14:23:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Grammar for #backtrace_locations and ::handle_interrupt</div><div class='del'>-</div><div class='del'>-Sun Feb 24 13:35:57 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): block level control frame does not</div><div class='del'>-	  have method entry, so obtain the method entry from method top-level</div><div class='del'>-	  control frame to be compared with refined method entry.</div><div class='del'>-	  [ruby-core:52750] [Bug #7925]</div><div class='del'>-</div><div class='del'>-Wed Feb 20 13:23:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Document methods receiving string and convert to symbol</div><div class='del'>-	  Patch by Stefan Rusterholz</div><div class='del'>-	* vm_eval.c: ditto</div><div class='del'>-	* vm_method.c: ditto</div><div class='del'>-</div><div class='del'>-Wed Feb 20 07:20:56 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): suppress unused result warning. Because</div><div class='del'>-	  write(2) is marked __warn_unused_result__ on Linux glibc.</div><div class='del'>-</div><div class='del'>-Sun Feb 24 07:50:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments): no keyword check if any keyword rest</div><div class='del'>-	  argument exists, even unnamed.  [ruby-core:52744] [Bug #7922]</div><div class='del'>-</div><div class='del'>-Sat Feb 23 16:51:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Documentation for Thread#backtrace_locations</div><div class='del'>-</div><div class='del'>-Sat Feb 23 16:05:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: Typo in ObjectSpace::WeakMap overview</div><div class='del'>-</div><div class='del'>-Sat Feb 23 16:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Improved rdoc for ::handle_interrupt, ::pending_interrupt?</div><div class='del'>-	  and #pending_interrupt?</div><div class='del'>-</div><div class='del'>-Sat Feb 23 12:26:43 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-curlies)</div><div class='del'>-	  (ruby-electric-matching-char, ruby-electric-bar): Avoid electric</div><div class='del'>-	  insertion when there is a prefix argument.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el (ruby-electric-insert)</div><div class='del'>-	  (ruby-electric-cua-replace-region-p)</div><div class='del'>-	  (ruby-electric-cua-replace-region): Avoid electric insertion and</div><div class='del'>-	  fall back when cua-mode is enabled and a region is active.</div><div class='del'>-</div><div class='del'>-Sat Feb 23 12:35:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Document #&lt;=&gt; return values and formatting</div><div class='del'>-	* bignum.c: ditto</div><div class='del'>-	* file.c: ditto</div><div class='del'>-	* object.c: ditto</div><div class='del'>-	* numeric.c: ditto</div><div class='del'>-	* rational.c: ditto</div><div class='del'>-	* string.c: ditto</div><div class='del'>-	* time.c: ditto</div><div class='del'>-</div><div class='del'>-Sat Feb 23 10:50:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_diff, rb_ary_and, rb_ary_or): Document return order</div><div class='del'>-	  [RubySpec #7803]</div><div class='del'>-</div><div class='del'>-Sat Feb 23 10:17:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_comp): Documenting Object#&lt;=&gt; return values</div><div class='del'>-	  Patch by Stefan Rusterholz</div><div class='del'>-</div><div class='del'>-Sat Feb 23 09:48:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (file_s_fnmatch, fnmatch_brace): encoding-incompatible pattern</div><div class='del'>-	  and string do not match, instead of exception.  [ruby-dev:47069]</div><div class='del'>-	  [Bug #7911]</div><div class='del'>-</div><div class='del'>-Sat Feb 23 08:57:46 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-*: Update NEWS from their respective branches</div><div class='del'>-</div><div class='del'>-Sat Feb 23 08:14:43 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: many additions for Ruby 2.0.0</div><div class='del'>-</div><div class='del'>-	* object.c: Add doc for Module.prepended</div><div class='del'>-</div><div class='del'>-Sat Feb 23 07:52:53 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/ruby.pc.in: reorder library flags which may refer library</div><div class='del'>-	  names.  [Bug #7913]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 23:46:20 2013  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):</div><div class='del'>-	  fix a typo in comment in r39384.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 18:31:46 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):</div><div class='del'>-	  new attribute to read/write entity expansion text limit.  the default</div><div class='del'>-	  limit is 10Kb.</div><div class='del'>-</div><div class='del'>-	* lib/rexml/text.rb (REXML::Text.unnormalize): check above attribute.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 17:36:23 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_rbconfig.rb (TestRbConfig): fix r39372.</div><div class='del'>-	  It must see RbConfig::CONFIG instead of CONFIG.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 14:55:41 2013  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_abort): fix typo in r39354 [Bug #5014]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 12:46:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rb_random_ulong_limited): fix error message for negative</div><div class='del'>-	  value.  [ruby-dev:47061] [Bug #7903]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 11:36:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_rbconfig.rb (TestRbConfig): skip user defined values by</div><div class='del'>-	  configuration options.  [Bug #7902]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 11:33:42 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#init_mkmf): adjust default library path</div><div class='del'>-	  for multiarch.  [Bug #7874]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 11:10:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (Enumerable#chunk: Improved examples, grammar, and formatting</div><div class='del'>-	  Patch by Dan Bernier and Rich Bruchal of newhaven.rb</div><div class='del'>-	  [Github documenting-ruby/ruby#8]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 11:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Examples and formatting for Numeric and Float</div><div class='del'>-	  Based on a patch by Zach Morek and Oren K of newhaven.rb</div><div class='del'>-	  [Github documenting-ruby/ruby#5]</div><div class='del'>-</div><div class='del'>-Fri Feb 22 07:04:41 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb (build_extensions):  Create extension</div><div class='del'>-	  install destination before building extension.  Patch by Kenta Murata.</div><div class='del'>-	  [ruby-trunk - Bug #7897]</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 06:30:57 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/globals.rdoc:  Document what setting $DEBUG does.</div><div class='del'>-</div><div class='del'>-	* doc/globals.rdoc:  Added pointer to $-d for full documentation.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 06:27:07 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/globals.rdoc:  Document what setting $VERBOSE does.  [Bug #7899]</div><div class='del'>-</div><div class='del'>-	* doc/globals.rdoc:  Added pointer to $-w and $-v for full</div><div class='del'>-	  documentation.</div><div class='del'>-</div><div class='del'>-Fri Feb 22 02:33:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: Add words parameter to Abbrev::abbrev</div><div class='del'>-	  Patch by Devin Weaver [Github documenting-ruby/ruby#7]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 17:28:14 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: add interaction when only ChangeLog is modified.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 16:34:46 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow): extract duplicated code and get rid</div><div class='del'>-	  of declaration-after-statement.  [Bug #5014]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 14:14:13 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sigsegv): avoid to use async signal unsafe functions</div><div class='del'>-	  when nested sigsegv is happen.</div><div class='del'>-	  [Bug #5014] [ruby-dev:44082]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 13:47:59 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_group_member): added an error check. SUS says,</div><div class='del'>-	  getgroups(small_value) may return EINVAL.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 13:37:07 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (RB_MAX_GROUPS): moved to</div><div class='del'>-	* internal.h (RB_MAX_GROUPS): here.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_group_member): use RB_MAX_GROUPS instead of</div><div class='del'>-	  RUBY_GROUP_MAX. They are the same.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 13:15:40 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (access_internal): removed.</div><div class='del'>-	* file.c (rb_file_readable_real): use access() instead of</div><div class='del'>-	  access_internal().</div><div class='del'>-	* file.c (rb_file_writable_real): ditto.</div><div class='del'>-	* file.c (rb_file_executable_real): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 13:04:59 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (eaccess): use access() when not using setuid nor setgid.</div><div class='del'>-	  This is minor optimization.</div><div class='del'>-</div><div class='del'>-Thu Feb 21 12:56:19 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_group_member): get rid of NGROUPS dependency.</div><div class='del'>-	  [Bug #7886] [ruby-core:52537]</div><div class='del'>-</div><div class='del'>-Thu Feb 21 12:45:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): try two levels upper for stripping</div><div class='del'>-	  libdir name.  [Bug #7874]</div><div class='del'>-</div><div class='del'>-	* configure.in (libdir_basename): expand with multiarch in configure,</div><div class='del'>-	  not to defer the expansion till ruby.pc.in and mkmf.rb.  [Bug #7874]</div><div class='del'>-</div><div class='del'>-	* configure.in (libdir_basename): also -rpath and -install_name flags</div><div class='del'>-	  are affected when libruby directory changes.  [Bug #7874]</div><div class='del'>-</div><div class='del'>-Wed Feb 20 19:27:02 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (HAVE_RB_SCAN_ARGS_OPTIONAL_HASH): for</div><div class='del'>-	  rb_scan_args() optional hash feature.  [Bug #7861]</div><div class='del'>-</div><div class='del'>-Wed Feb 20 18:02:26 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (target_os): do not strip -gnu suffix on Linux if</div><div class='del'>-	  --target is given explicitly.  [Bug #7874]</div><div class='del'>-</div><div class='del'>-	* configure.in (libdirname): adjust library path name which libruby</div><div class='del'>-	  files will be installed.  [Bug #7874]</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (libdir): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 13:37:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: Documentation for the PTY module</div><div class='del'>-</div><div class='del'>-Wed Feb 20 12:18:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Document Data class [Bug #7890] [ruby-core:52549]</div><div class='del'>-	  Patch by Matthew Mongeau</div><div class='del'>-</div><div class='del'>-Wed Feb 20 11:50:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mutex_m.rb: Add rdoc for Mutex_m module</div><div class='del'>-</div><div class='del'>-Wed Feb 20 09:34:43 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/update_command.rb:  Create the installer after</div><div class='del'>-	  options are processed.  [ruby-trunk - Bug #7779]</div><div class='del'>-	* test/rubygems/test_gem_commands_update_command.rb:  Test for the</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Wed Feb 20 07:51:19 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb:  Use gsub instead of gsub! to avoid</div><div class='del'>-	  altering @bin_dir.  Fixes tests on windows.  [ruby-trunk - Bug #7885]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 20:50:00 2013  Kenta MURATA  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: bump to 1.2.0.</div><div class='del'>-	  [ruby-core:51777] [Bug #7761]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 13:07:25 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/syslog.c (Init_syslog): Define inspect as a singleton</div><div class='del'>-	  method and remove it as an instance method. [Bug #6502]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 12:30:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: rdoc formatting for Kernel#Array()</div><div class='del'>-	* array.c: Add rdoc for Array() method to Creating Arrays section</div><div class='del'>-</div><div class='del'>-Tue Feb 19 10:35:52 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (class OpenSSL):  Use only inner parenthesis in</div><div class='del'>-	  create_extension examples.</div><div class='del'>-</div><div class='del'>-Tue Feb 19 10:27:12 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (class OpenSSL):  Fixed ExtensionFactory example.</div><div class='del'>-	  Patch by Richard Bradley.  [ruby-trunk - Bug #7551]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 08:32:11 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): check interrupts after method dispatch</div><div class='del'>-	  from C methods. [Bug #7878]</div><div class='del'>-</div><div class='del'>-Tue Feb 19 08:14:40 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb:  Fixed placement of executables with</div><div class='del'>-	  --user-install.  [ruby-trunk - Bug #7779]</div><div class='del'>-	* test/rubygems/test_gem_installer.rb:  Test for above.</div><div class='del'>-</div><div class='del'>-Tue Feb 19 06:04:06 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump: FreeBSD ports' libexecinfo's backtrace(3) can't trace</div><div class='del'>-	  beyond signal trampoline, and as described in r38342 it can't</div><div class='del'>-	  trace on -O because it see stack frame pointers.</div><div class='del'>-	  libunwind unw_backtrace see dwarf information in the binary</div><div class='del'>-	  and it works with -O (without frame pointers).</div><div class='del'>-</div><div class='del'>-	* configure.in: remove r38342's hack and check libunwind.</div><div class='del'>-</div><div class='del'>-Tue Feb 19 04:26:29 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check whether backtrace(3) works well or not.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: set HAVE_BACKTRACE 0 if BROKEN_BACKTRACE.</div><div class='del'>-</div><div class='del'>-Mon Feb 18 16:30:18 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#in6_addr): Fix a typo with the closing</div><div class='del'>-	  parenthesis.</div><div class='del'>-</div><div class='del'>-Mon Feb 18 12:32:24 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#in6_addr): Fix the parser so that it can</div><div class='del'>-	  recognize IPv6 addresses with only one edge 16-bit piece</div><div class='del'>-	  compressed, like [::2:3:4:5:6:7:8] or [1:2:3:4:5:6:7::].</div><div class='del'>-	  [Bug #7477]</div><div class='del'>-</div><div class='del'>-Mon Feb 18 10:09:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (unexpand_shvar): regularize a shell variable by</div><div class='del'>-	  unexpanding shell variables in it.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 20:55:44 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (rb_invcmp): compare by inversed comparison, with preventing</div><div class='del'>-	  from infinite recursion.  [ruby-core:52305] [Bug #7870]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cmp_m), time.c (time_cmp): get rid of infinite</div><div class='del'>-	  recursion.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 17:23:22 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: remove extra topdir in VPATH, which was in</div><div class='del'>-	  win32/Makefile.sub for some reason and moved from there.</div><div class='del'>-	  [ruby-dev:46998] [Bug #7864]</div><div class='del'>-</div><div class='del'>-Sun Feb 17 01:19:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/y.rb: Document Kernel#y by Adam Stankiewicz</div><div class='del'>-	  [Github tenderlove/psych#127]</div><div class='del'>-</div><div class='del'>-Sun Feb 17 00:52:14 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: remove prefix from rubyarchdir.</div><div class='del'>-	  r39267 expands variables, it changes expansion timing,</div><div class='del'>-	  breaks RbConfig::CONFIG["includedir"] and building</div><div class='del'>-	  extension libraries with installed ruby.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 20:51:17 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ENV_IN_HEAP_P): fix off-by-one error.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 20:47:16 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): Fix a bug where --with-opt-dir</div><div class='del'>-	  options given were not reflected to LIBRUBY_DLDFLAGS on many</div><div class='del'>-	  platforms including Linux and other GNU-based systems, NetBSD,</div><div class='del'>-	  AIX and BeOS.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 20:43:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (rsock_recvmsg): ignore truncated part of</div><div class='del'>-	  socket address returned from recvmsg().</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (recvfrom_blocking): ignore truncated part of</div><div class='del'>-	  socket address returned from recvfrom().</div><div class='del'>-	  (rsock_s_recvfrom_nonblock): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 20:05:26 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: fixed typo</div><div class='del'>-	  patched by Hiroki Matsue via https://github.com/ruby/ruby/pull/248</div><div class='del'>-</div><div class='del'>-Sat Feb 16 16:08:35 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): mark a working Proc of bmethod</div><div class='del'>-	  (a method defined by define_method) even if the method was removed.</div><div class='del'>-	  We could not trace working Proc object which represents the body</div><div class='del'>-	  of bmethod if the method was removed (alias/undef/overridden).</div><div class='del'>-	  Simply, it was mark miss.</div><div class='del'>-	  This patch by Kazuki Tsujimoto. [Bug #7825]</div><div class='del'>-</div><div class='del'>-	  NOTE: We can brush up this marking because we do not need to mark</div><div class='del'>-	  `me' on each living control frame. We need to mark `me's</div><div class='del'>-	  only if `me' was free'ed. This is future work after Ruby 2.0.0.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 15:45:56 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_binding_new_with_cfp): create binding object even if</div><div class='del'>-	  the frame is IFUNC. But return a ruby-level binding to keep</div><div class='del'>-	  compatibility.</div><div class='del'>-	  This patch fix degradation introduced from r39067.</div><div class='del'>-	  [Bug #7774] [ruby-dev:46960]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 13:40:13 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (shvar_to_cpp): do not substitute exec_prefix itself</div><div class='del'>-	  with RUBY_EXEC_PREFIX, which cause recursive definition.</div><div class='del'>-	  [ruby-core:52296] [Bug #7860]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 13:13:04 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/io-console.gemspec: bump to 0.4.2.  now explicitly</div><div class='del'>-	  requires ruby 1.9.3 or later.  [Bug #7847]</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): compatibility with ruby 1.8.</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (rawmode_opt, console_dev): compatibility</div><div class='del'>-	  with ruby 1.9.  [ruby-core:52220] [Bug #7847]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 12:45:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: unexpand arch sitearch and exec_prefix values, so</div><div class='del'>-	  directly specified bindir, libdir, rubyprefix, etc can be properly</div><div class='del'>-	  substituted.  [ruby-core:52296] [Bug #7860]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 12:15:20 2013  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: add dtrace probe for symbol create.</div><div class='del'>-</div><div class='del'>-	* probes.d: ditto</div><div class='del'>-</div><div class='del'>-Sat Feb 16 09:27:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: don't test sys/feature_tests.h which is not</div><div class='del'>-	  used now.</div><div class='del'>-	  It was included in r7901 as "bug of gcc 3.0 on Solaris 8 ?".</div><div class='del'>-</div><div class='del'>-Sat Feb 16 09:24:37 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: reorder header tests to consider inclusion</div><div class='del'>-	  order in rubysocket.h.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 08:42:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, ext/socket/extconf.rb: test netinet/in_systm.h in</div><div class='del'>-	  ext/socket/extconf.rb instead of configure.in.</div><div class='del'>-</div><div class='del'>-	  Originally, netinet/in_systm.h is included for NextStep, OpenStep,</div><div class='del'>-	  and Rhapsody.  [ruby-core:1596]</div><div class='del'>-</div><div class='del'>-Sat Feb 16 07:55:40 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't test xti.h here.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test xti.h here.</div><div class='del'>-</div><div class='del'>-	  Originally, xti.h is included for IRIX [ruby-core:14447].</div><div class='del'>-</div><div class='del'>-Sat Feb 16 07:16:49 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test struct sockaddr_un and its member,</div><div class='del'>-	  sun_len.</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN.</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (init_unix_addrinfo): ditto.</div><div class='del'>-	  (addrinfo_mload): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 07:05:59 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (INIT_SOCKADDR_IN): don't need family</div><div class='del'>-	  argument.  it is always AF_INET.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_inetaddr): follow INIT_SOCKADDR_IN</div><div class='del'>-	  change.</div><div class='del'>-	  (addrinfo_ipv6_to_ipv4): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 04:21:07 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: workaround for mswin/mingw build problem.</div><div class='del'>-	  sendmsg emulation in win32/win32.c is not enough.</div><div class='del'>-</div><div class='del'>-Sat Feb 16 00:19:20 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: use all all tested available headers for</div><div class='del'>-	  have_func.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 22:21:37 2013  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix a bug introduced in r38342 that the cflagspat</div><div class='del'>-	  substitution is messed up by the way CFLAGS and optflags are</div><div class='del'>-	  modified, which affected FreeBSD and NetBSD/amd64 when</div><div class='del'>-	  configured to use libexecinfo.  This bug resulted in CFLAGS and</div><div class='del'>-	  CXXFLAGS in RbConfig::CONFIG having warnflags expanded in them,</div><div class='del'>-	  forcing third-party C/C++ extensions to follow what warnflags</div><div class='del'>-	  demands, like ANSI/ISO-C90 conformance.  ref [Bug #7101]</div><div class='del'>-</div><div class='del'>-Fri Feb 15 20:29:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SET_SIN_LEN): defined for strict-aliasing</div><div class='del'>-	  rule.</div><div class='del'>-	  (INIT_SOCKADDR_IN): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR_IN.</div><div class='del'>-	  (addrinfo_ipv6_to_ipv4): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 18:24:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#try_run): bail out explicitly if cross</div><div class='del'>-	  compiling, because it cannot work of course.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 12:34:58 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test struct sockaddr_storage directly.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: use HAVE_TYPE_STRUCT_SOCKADDR_STORAGE.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 12:26:13 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (GET_AI): don't cast 1st argument for</div><div class='del'>-	  INIT_SOCKADDR.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 08:12:11 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SET_SS_LEN): removed.</div><div class='del'>-	  (SET_SIN_LEN): removed.</div><div class='del'>-	  (INIT_SOCKADDR): new macro.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (extract_ipv6_pktinfo): use INIT_SOCKADDR.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR.</div><div class='del'>-	  (addrinfo_ipv6_to_ipv4): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (GET_AI): use INIT_SOCKADDR.</div><div class='del'>-</div><div class='del'>-Fri Feb 15 07:49:27 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Update to release version of 4.0.0</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Update to release version of 2.0.0</div><div class='del'>-</div><div class='del'>-Fri Feb 15 07:07:27 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SA_LEN): removed because unused now.</div><div class='del'>-	  (SS_LEN): ditto.</div><div class='del'>-	  (SIN_LEN): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 10:45:31 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_setsid): Added a workaround for</div><div class='del'>-	  MacOS X. Patch by nagachika. [Bug #7826] [ruby-core:52126]</div><div class='del'>-</div><div class='del'>-Fri Feb 15 00:15:31 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (VALIDATE_SOCKLEN): new macro to validate</div><div class='del'>-	  sa_len member of 4.4BSD socket address.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getnameinfo.c (getnameinfo): use VALIDATE_SOCKLEN,</div><div class='del'>-	  instead of SA_LEN.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getnameinfo): use VALIDATE_SOCKLEN</div><div class='del'>-	  instead of SS_LEN.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 22:25:54 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sockaddr_len): extracted from sockaddr_obj.</div><div class='del'>-	  (sockaddr_obj): add an argument to length of socket address.</div><div class='del'>-	  (socket_s_ip_address_list): call sockaddr_obj with actual socket</div><div class='del'>-	  address length if given, use sockaddr_len otherwise.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 20:11:23 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: always operate length of socket address companion with</div><div class='del'>-	  socket address.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for</div><div class='del'>-	  socket address length.</div><div class='del'>-	  (rsock_ipaddr): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr.</div><div class='del'>-	  (ip_peeraddr): ditto.</div><div class='del'>-	  (ip_s_getaddress): pass length to rsock_make_ipaddr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr.</div><div class='del'>-	  (sock_s_getnameinfo): pass actual address length to rb_getnameinfo.</div><div class='del'>-	  (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr.</div><div class='del'>-	  (rsock_s_recvfrom_nonblock): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpsocket.c (tcp_sockaddr): pass length to</div><div class='del'>-	  rsock_make_ipaddr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket</div><div class='del'>-	  address length.  pass the length to rb_getnameinfo.</div><div class='del'>-	  (rsock_ipaddr): ditto.</div><div class='del'>-	  (rsock_make_ipaddr): add an argument for socket address length.</div><div class='del'>-	  pass the length to make_ipaddr0.</div><div class='del'>-	  (make_inetaddr): pass length to make_ipaddr0.</div><div class='del'>-	  a local variable renamed.</div><div class='del'>-	  (host_str): a local variable renamed.</div><div class='del'>-	  (port_str): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 14:31:43 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Removed OpenSSL dependency from Net::HTTP.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb:  Remove Zlib dependency from tests.</div><div class='del'>-	* test/net/http/test_http_request.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 11:08:15 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): detect cyclic prepend with original</div><div class='del'>-	  method table.  [ruby-core:52205] [Bug #7841]</div><div class='del'>-</div><div class='del'>-Thu Feb 14 10:30:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: call method_removed hook on called class, not on</div><div class='del'>-	  prepending iclass.  [ruby-core:52207] [Bug #7843]</div><div class='del'>-</div><div class='del'>-Thu Feb 14 10:05:57 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http:  Do not handle Content-Encoding when the user sets</div><div class='del'>-	  Accept-Encoding.  This allows users to handle Content-Encoding for</div><div class='del'>-	  themselves.  This restores backwards-compatibility with Ruby 1.x.</div><div class='del'>-	  [ruby-trunk - Bug #7831]</div><div class='del'>-	* lib/net/http/generic_request.rb:  ditto.</div><div class='del'>-	* lib/net/http/response.rb:  ditto</div><div class='del'>-	* test/net/http/test_http.rb:  Test for the above.</div><div class='del'>-	* test/net/http/test_http_request.rb:  ditto.</div><div class='del'>-	* test/net/http/test_httpresponse.rb:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 14 08:18:47 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN.</div><div class='del'>-	  use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN</div><div class='del'>-	  instead.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 20:59:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: don't define socklen_t here, just test.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: define socklen_t if not available.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 18:37:50 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew): skip prepending modules and return the method bound</div><div class='del'>-	  on the given class.  [ruby-core:52160] [Bug #7836]</div><div class='del'>-</div><div class='del'>-Wed Feb 13 18:11:59 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_original_name): new methods Method#original_name and</div><div class='del'>-	  UnboundMethod#original_name.  [ruby-core:52048] [Bug #7806]</div><div class='del'>-	  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* proc.c (method_inspect): show the given name primarily, and</div><div class='del'>-	  original_id if aliased.  [ruby-core:52048] [Bug #7806]</div><div class='del'>-</div><div class='del'>-Wed Feb 13 17:56:39 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): disable -Werror by default unless</div><div class='del'>-	  development.  [ruby-core:52131] [Bug #7830]</div><div class='del'>-</div><div class='del'>-Wed Feb 13 06:05:52 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Return BINARY strings from Gem.gzip and Gem.gunzip.</div><div class='del'>-	  Fixes intermittent test failures.  RubyGems issue #450 by Jeremey</div><div class='del'>-	  Kemper.</div><div class='del'>-	* test/rubygems/test_gem.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Wed Feb 13 05:49:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test functions just after struct members.</div><div class='del'>-</div><div class='del'>-Tue Feb 12 12:02:35 2013  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: merge JSON 1.7.7.</div><div class='del'>-	  This includes security fix. [CVE-2013-0269]</div><div class='del'>-	  https://github.com/flori/json/commit/d0a62f3ced7560daba2ad546d83f0479a5ae2cf2</div><div class='del'>-	  https://groups.google.com/d/topic/rubyonrails-security/4_YvCpLzL58/discussion</div><div class='del'>-</div><div class='del'>-Mon Feb 11 23:08:48 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: enable rb_cv_page_size_log test for MirOS BSD.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 20:06:38 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use -pthread on mirbsd*.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 16:07:09 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add SOLIBS and LIBRUBY_SO definition for mirbsd*.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 13:17:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rubysitearchprefix): sitearchdir and vendorarchdir</div><div class='del'>-	  should use sitearch, not arch.  [ruby-dev:46964] [Bug #7823]</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.status): site and vendor directories</div><div class='del'>-	  should use sitearch, not arch.  [ruby-dev:46964] [Bug #7823]</div><div class='del'>-</div><div class='del'>-Mon Feb 11 12:31:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: move OS specific header/function knowledge before</div><div class='del'>-	  automatic header tests.</div><div class='del'>-</div><div class='del'>-Mon Feb 11 11:04:29 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: move the test for -march=i486 just after</div><div class='del'>-	  RUBY_UNIVERSAL_ARCH/RUBY_DEFAULT_ARCH.</div><div class='del'>-</div><div class='del'>-Sun Feb 10 23:42:26 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test structure members just after types test.</div><div class='del'>-</div><div class='del'>-Sun Feb 10 20:58:17 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test types just after headers test.</div><div class='del'>-</div><div class='del'>-Sun Feb  10 16:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/doc/MIT-LICENSE: Add license file from upstream</div><div class='del'>-	* lib/rake/doc/README.rdoc: Link to license file from Rake README</div><div class='del'>-	* lib/rake/version.rb: Include README rdoc for Rake module overview</div><div class='del'>-</div><div class='del'>-Sun Feb  10 15:26:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/doc/*: Sync Rake rdoc files from upstream</div><div class='del'>-</div><div class='del'>-Sun Feb 10 15:50:02 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.h (DISPATCH_ARCH_DEPEND_WAY): use __asm__ __volatile__</div><div class='del'>-	  instead of asm volatile.</div><div class='del'>-</div><div class='del'>-Sun Feb 10 15:50:02 2013  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (SET_MACHINE_STACK_END): use __volatile__ instead of volatile.</div><div class='del'>-</div><div class='del'>-Sun Feb 10 14:25:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/rake/, lib/rake/doc/: Move Rake rdoc files to lib/rake</div><div class='del'>-</div><div class='del'>-Sun Feb 10 12:10:25 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: test headers at first.</div><div class='del'>-</div><div class='del'>-Sun Feb  10 12:00:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/rake/*: Removed stale Rake static files</div><div class='del'>-</div><div class='del'>-Sun Feb  10 09:10:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb, lib/prettyprint.rb: Documentation for PP and PrettyPrint</div><div class='del'>-	  Based on a patch by Vincent Batts [ruby-core:51253] [Bug #7656]</div><div class='del'>-</div><div class='del'>-Sat Feb  9 21:11:21 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: move header files check to the beginning of</div><div class='del'>-	  "header and library section".</div><div class='del'>-	  test rlim_t with sys/types.h and sys/time.h for MirOS BSD.</div><div class='del'>-	  sys/types.h and sys/time.h is guarded by #ifdef and the above</div><div class='del'>-	  move is required for this change.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 17:45:58 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, version.c: prevent duplicated load paths by empty</div><div class='del'>-	  version string, it does not work right now.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 17:38:41 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix arch parameters in help message.  [Bug #7804]</div><div class='del'>-</div><div class='del'>-Sat Feb  9 13:13:00 2013  Zachary Scott  &lt;zachary@zacharyscott.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: Note about TracePoint events set, and comment on</div><div class='del'>-	  Kernel#set_trace_func to prefer new TracePoint API</div><div class='del'>-</div><div class='del'>-Sat Feb  9 10:07:47 2013  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* BSDL: update copyright notice for 2013.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 09:24:38 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package/old.rb:  Fix behavior only on ruby 1.8.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb:  Include checksums.yaml.gz signatures for</div><div class='del'>-	  verification.</div><div class='del'>-	* test/rubygems/test_gem_package.rb:  Test for the above.</div><div class='del'>-</div><div class='del'>-Sat Feb  9 01:23:24 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/helper.rb: specify libc and libm locations for MirOS BSD.</div><div class='del'>-</div><div class='del'>-	* test/dl/test_base.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb  8 23:25:33 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: change CFLAGS temporally to test</div><div class='del'>-	  ARCH_FLAG="-march=i486".</div><div class='del'>-</div><div class='del'>-Fri Feb  8 21:19:41 2013  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't define ARCH_FLAG="-march=i486" if it causes</div><div class='del'>-	  compilation problem.</div><div class='del'>-</div><div class='del'>-For the changes before 2.0.0, see doc/ChangeLog-2.0.0</div><div class='del'>-For the changes before 1.9.3, see doc/ChangeLog-1.9.3</div><div class='del'>-For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-coding: us-ascii</div><div class='del'>-add-log-time-format: (lambda ()</div><div class='del'>-  (let* ((time (current-time))</div><div class='del'>-	 (system-time-locale "C")</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-change-log-indent-text: 2</div><div class='del'>-end:</div><div class='del'>-vim: tabstop=8 shiftwidth=2</div><div class='head'>diff --git a/doc/ChangeLog-2.2.0 b/doc/ChangeLog-2.2.0<br/>deleted file mode 100644<br/>index 5a7dbf826d..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-2.2.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.2.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12157 +0,0 @@</div><div class='del'>-Thu Dec 25 16:01:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_internal): drop characters ignored</div><div class='del'>-	  by filesystem on Mac OS X.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 15:36:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): get the real name and replace the</div><div class='del'>-	  base name with it by getattrlist(2) if available.</div><div class='del'>-	  suggested by Matthew Draper at [ruby-core:67116].  [Bug #10015]</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): get the real name of the whole path, not</div><div class='del'>-	  only the last name.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 13:59:17 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (NET_LUID): include also ifdef.h as a workaround of</div><div class='del'>-	  a bug in mingw-w64 header.  [ruby-core:67103] [Bug #10640]</div><div class='del'>-</div><div class='del'>-Thu Dec 25 12:47:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): warn possible reference to a local</div><div class='del'>-	  variable defined in a past scope.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 10:09:14 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): id_console is not a</div><div class='del'>-	  constant name, use rb_const_remove() to get rid of NameError.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 09:18:55 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):</div><div class='del'>-	  set timeout for recvfrom because if client thread is crashed, it</div><div class='del'>-	  waits infinity.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 08:42:11 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (split_userinfo): fstring for 1-byte split</div><div class='del'>-	  (set_port): reduce bytecode size</div><div class='del'>-	  (check_path): reduce garbage via opt_str_freeze</div><div class='del'>-	  (query=): ditto</div><div class='del'>-	  (fragment=): ditto</div><div class='del'>-	  [misc #10628]</div><div class='del'>-	* lib/uri/rfc3986_parser.rb (regexp): cache as attr</div><div class='del'>-	  (initialize): setup and freeze regexp attr once</div><div class='del'>-	  (split): reduce bytecode size, use opt_str_freeze</div><div class='del'>-	  (parse): minor bytecode and garbage reduction</div><div class='del'>-	  (default_regexp): rename for initialize</div><div class='del'>-</div><div class='del'>-Wed Dec 24 20:38:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_make_pattern): restrict searching case-insensitive</div><div class='del'>-	  name from the filesystem to only last part, for the performance.</div><div class='del'>-	  [ruby-core:63591] [Bug #10015]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 18:21:27 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove unused rb_objspace_t::rgengc::old_objects_at_gc_start.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 13:25:22 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: require view_changesets permission.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 13:00:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb (Downloader.download): fix the exception to</div><div class='del'>-	  re-raise.  initialize methods of subclasses of Exception may</div><div class='del'>-	  have different parameters.  [ruby-core:67086] [Bug #10639]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 12:16:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (rb_data_type_t): revert r48647 and revise parent member.</div><div class='del'>-	  [ruby-core:66969] [Bug #10621]</div><div class='del'>-</div><div class='del'>-Wed Dec 24 05:40:52 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: use config.guess in gcc repo.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 11:50:19 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_delete): return Qnil if there are no corresponding</div><div class='del'>-	  entry. [Bug #10623]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_delete_entry): try delete and return Qundef if there</div><div class='del'>-	  are no corresponding entry.</div><div class='del'>-</div><div class='del'>-	* internal.h: add rb_hash_delete_entry()'s declaration.</div><div class='del'>-</div><div class='del'>-	* symbol.c: use rb_hash_delete_entry().</div><div class='del'>-</div><div class='del'>-	* thread.c: use rb_hash_delete_entry().</div><div class='del'>-</div><div class='del'>-	* ext/-test-/hash/delete.c: use rb_hash_delete_entry().</div><div class='del'>-</div><div class='del'>-Wed Dec 24 09:35:11 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: remove ffitarget.h generated by configure on</div><div class='del'>-	  mswin, because it's not normal file (cygwin's symlink) and have</div><div class='del'>-	  system attribute.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 05:40:52 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: support ruby 1.8.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 02:44:06 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb (Net::HTTPResponse): require one or more</div><div class='del'>-	  spaces [Bug #10591].</div><div class='del'>-	  by leriksen &lt;leif.eriksen.au@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/782 fix GH-782</div><div class='del'>-	  NOTE: graph.facebook.com returns without SP Reason-Phrase.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 02:12:22 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): VCS#branch_list expects glob a</div><div class='del'>-	  pattern string but not a regexp.  based on the patch by Vit</div><div class='del'>-	  Ondruch.  in [ruby-core:67064].  [Bug #10636]</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (VCS::SVN#branch_list): strip newlines.</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time</div><div class='del'>-	  from toplevel log too.</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (VCS::GIT#branch_list): yield for each lines.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 00:23:13 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/extlibs.rb (do_extract): the pipe should be binmode.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 00:21:44 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk: move common-srcs to Makefile.in because</div><div class='del'>-	  it breaks build on mswin.</div><div class='del'>-</div><div class='del'>-Wed Dec 24 00:04:45 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_http): accept multiple certs path in</div><div class='del'>-	  ssl_ca_certs.</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: use certs of rubygems for downloading gems.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 22:39:11 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extlibs: libffi-3.2.1 and patch for mswin.</div><div class='del'>-</div><div class='del'>-Tue Dec 23 22:04:38 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#query=): don't escape [\]^</div><div class='del'>-	  on both rfc2396 and rfc3986. [Bug #10619]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 16:03:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry::Error#initialize):</div><div class='del'>-	  try en_US message if the default message cannot be encoded to</div><div class='del'>-	  locale.  [ruby-core:65295] [Bug #10300]</div><div class='del'>-</div><div class='del'>-Tue Dec 23 11:42:14 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge</div><div class='del'>-	  data gradually not to exceed INT_MAX.  workaround of OpenSSL API</div><div class='del'>-	  limitation.  [ruby-core:67043] [Bug #10633]</div><div class='del'>-</div><div class='del'>-Mon Dec 22 21:30:16 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: some tests are</div><div class='del'>-	  executed on standard Windows OS without ADO.</div><div class='del'>-</div><div class='del'>-Mon Dec 22 14:08:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (received_signal): fix condition to define.</div><div class='del'>-	  [ruby-core:67032] [Bug #10629]</div><div class='del'>-</div><div class='del'>-Sun Dec 21 10:51:51 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: test_s_new_exception is</div><div class='del'>-	  executed on standard Windows OS without ADO.</div><div class='del'>-</div><div class='del'>-Sun Dec 21 08:35:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (jemalloc): fix option argument, should use</div><div class='del'>-	  `$withval` but not `yes` always.  [ruby-core:66994] [Bug #10625]</div><div class='del'>-</div><div class='del'>-	* configure.in (jemalloc): defer adding the liner option to get</div><div class='del'>-	  rid of linking contest against jemalloc, so that it works</div><div class='del'>-	  without runtime dynamic load path.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 17:49:03 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.mktmpdir): Accept nil again, as Ruby 2.1.</div><div class='del'>-	  [ruby-core:66943] [Bug #10616] Fixed by Alex Slynko.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 11:22:58 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled</div><div class='del'>-	  libffi if existing.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 05:21:00 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_weakref.rb (test_repeated_object_leak): increase timeout</div><div class='del'>-	  [Bug #10618]</div><div class='del'>-</div><div class='del'>-Fri Dec 19 22:33:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Use $(hdrdir) if possible.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 22:10:00 2014  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/depend: Fix dependencies to make bigdecimal</div><div class='del'>-	  installable by rubygems.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: version 1.2.6.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 20:00:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRIsVALUE): put a space after string</div><div class='del'>-	  literals not to be confused with C++11 string literal suffix.</div><div class='del'>-	  https://github.com/ruby/ruby/commit/a9f3eb7#commitcomment-9040169</div><div class='del'>-</div><div class='del'>-Fri Dec 19 15:36:02 2014  Simon Genier  &lt;simon.genier@shopify.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_equal): prefer true than the result of implicit</div><div class='del'>-	  conversion from int returned by rb_eql() to VALUE.  [Fix GH-789]</div><div class='del'>-</div><div class='del'>-Thu Dec 18 17:45:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_binary_elf): get rid of -e option of cat</div><div class='del'>-	  which is not available on BusyBox, use tr instead.</div><div class='del'>-	  [ruby-core:64824] [Bug #10210]</div><div class='del'>-</div><div class='del'>-Thu Dec 18 14:25:17 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): since SIGKILL is not supported by MSVCRT,</div><div class='del'>-	  should be treated before calling signal(3).</div><div class='del'>-	  [Bug #10615]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 12:20:56 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_method_for_self_aref, rb_method_for_self_aset):</div><div class='del'>-	  move from iseq.c to build from node instead of arrays.</div><div class='del'>-</div><div class='del'>-Wed Dec 17 10:50:09 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb: Added test for each_key called without a block.</div><div class='del'>-	  Patch by @joeyates [fix GH-783]</div><div class='del'>-</div><div class='del'>-Wed Dec 17 10:18:42 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): check</div><div class='del'>-	  iseq-&gt;compile_data-&gt;option-&gt;specialized_instruction for opt_* insn.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: check no specialized_instructions option.</div><div class='del'>-</div><div class='del'>-Wed Dec 17 09:48:57 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): only emit opt_str_freeze,</div><div class='del'>-	  opt_aref_with, and opt_aset_with insn when no block is given</div><div class='del'>-	  [Bug #10557] [ruby-core:66595]</div><div class='del'>-	* test/ruby/test_optimization.rb (test_block_given_aset_aref):</div><div class='del'>-	  new test for bug thanks to Bartosz Kopinski.</div><div class='del'>-	  (test_string_freeze): additional assertion for object_id</div><div class='del'>-</div><div class='del'>-Wed Dec 17 01:06:47 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/Win32API.rb (Win32API#call): need to splat.  hmm, when</div><div class='del'>-	  was this broken?</div><div class='del'>-</div><div class='del'>-Tue Dec 16 15:18:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): call</div><div class='del'>-	  accessor functions directly, not to be affected by [] and []=</div><div class='del'>-	  methods.  [ruby-core:66846] [Bug #10601]</div><div class='del'>-</div><div class='del'>-	* struct.c (define_aref_method, define_aset_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_opt_struct_aref, rb_vm_opt_struct_aset):</div><div class='del'>-	  direct accessors of Struct.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 12:01:29 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  extend timeout seconds to 60 for RGENGC_CHECK_MODE &gt; 0 environment.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 08:53:12 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb: fix Ruby 1.8 compatibility harder</div><div class='del'>-</div><div class='del'>-Tue Dec 16 07:37:18 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_HEAP_FREE_SLOTS): move definition to match use order</div><div class='del'>-	  (RUBY_GC_HEAP_GROWTH_SLOTS): s/factor/number of slots/</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: add section for GC environment variables</div><div class='del'>-	  [Feature #10197]</div><div class='del'>-</div><div class='del'>-Tue Dec 16 05:41:46 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb: fix Ruby 1.8 compatibility</div><div class='del'>-</div><div class='del'>-Mon Dec 15 17:51:28 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: ObjectSpace.memsize_of(obj) returns</div><div class='del'>-	  with sizeof(RVALUE). [Bug #8984]</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_memsize_of): ditto.</div><div class='del'>-</div><div class='del'>-	* NEWS: add a NEWS entry.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 15 16:19:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_enc_str_coderange): dummy wchar, non-endianness</div><div class='del'>-	  encoding string cannot be ascii only.</div><div class='del'>-	  [ruby-core:66835] [Bug #10598]</div><div class='del'>-</div><div class='del'>-Sun Dec 14 20:11:42 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): restore current_arg so that circular</div><div class='del'>-	  reference after a method definition is also warned.</div><div class='del'>-	  [ruby-core:61299] [Bug #9593]</div><div class='del'>-</div><div class='del'>-Sat Dec 13 20:41:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_postponed_job_flush): mask signal trap interrupt</div><div class='del'>-	  too to defer handling after finalizers finished.</div><div class='del'>-	  [ruby-core:66825] [Bug #10595]</div><div class='del'>-</div><div class='del'>-Sat Dec 13 18:33:25 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb: ignored tests with old OpenSSL.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 18:01:57 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow): check sp also on i386/x86_64</div><div class='del'>-	  FreeBSD.</div><div class='del'>-</div><div class='del'>-Sat Dec 13 09:58:41 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (define_final0): avoid duplicate blocks</div><div class='del'>-	  [Bug #10537]</div><div class='del'>-	* test/test_weakref.rb (test_repeated_object_leak): new test</div><div class='del'>-</div><div class='del'>-Sat Dec 13 04:59:20 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb (ERB::Main#run): get rid of shadowing outer local</div><div class='del'>-	  variables.  [ruby-core:65772] [Feature #10395]</div><div class='del'>-</div><div class='del'>-Fri Dec 12 21:56:44 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgrade to test-unit 3.0.8. assert_throw and</div><div class='del'>-	  assert_nothing_thrown in test-unit 3.0.7 were broken by</div><div class='del'>-	  UncaughtThrowError change introduced in Ruby 2.2.0</div><div class='del'>-	  preview2. These assertions in test-unit 3.0.8 work well with</div><div class='del'>-	  UncaughtThrowError in Ruby 2.2.0 preview2.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:48:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb (ARGV.switch, ERB::Main#run): allow variables to be set</div><div class='del'>-	  from the command line.  [ruby-core:65772] [Feature #10395]</div><div class='del'>-</div><div class='del'>-Fri Dec 12 19:31:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#lineno): accessor for line number to eval.</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#location=): setter of file name and line number.</div><div class='del'>-</div><div class='del'>-Fri Dec 12 13:09:13 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_latest_gc_info): return :state field to show current</div><div class='del'>-	  GC state (none/marking/sweeping).</div><div class='del'>-	  [Feature #10590]</div><div class='del'>-</div><div class='del'>-Fri Dec 12 10:49:18 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): check arguments more strictly.</div><div class='del'>-	  * crypt() is not for wide char strings</div><div class='del'>-	  * salt bytes should not be NUL</div><div class='del'>-</div><div class='del'>-Fri Dec 12 08:16:01 2014  Matt Hoyle  &lt;matt@deployable.co&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_read) Fix spelling in docco for read.  [Fix GH-781]</div><div class='del'>-	  try &gt; tries</div><div class='del'>-</div><div class='del'>-Thu Dec 11 19:06:01 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_alloc): Start from age == 2.</div><div class='del'>-	  Class and Module objects can be living long life.</div><div class='del'>-</div><div class='del'>-	* iseq.c: Same for ISeq objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_AGE_RESET): added.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): allow to generate (age != 0) objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected</div><div class='del'>-	  objects.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended</div><div class='del'>-	  flag.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 05:37:52 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Remove useless loop and block capture.</div><div class='del'>-	  See [#10354]</div><div class='del'>-</div><div class='del'>-Thu Dec 11 04:27:24 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: introduce new field</div><div class='del'>-	  rb_thread_t::local_storage_recursive_hash_for_trace to store</div><div class='del'>-	  recursive hash to avoid creating new recursive (nested) hashes</div><div class='del'>-	  for each trace events.</div><div class='del'>-	  [Bug #10511]</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it.</div><div class='del'>-</div><div class='del'>-	* cont.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 13:39:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (define_aref_method, define_aset_method): use iseq</div><div class='del'>-	  VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD</div><div class='del'>-	  makes sense only for local variables.  [Feature #10575]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 09:38:40 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (exec_recursive): use the same last method name as</div><div class='del'>-	  recursive_push in the error message when recursive_pop failed.</div><div class='del'>-	  [ruby-core:66742] [Bug #10579]</div><div class='del'>-</div><div class='del'>-Wed Dec 10 02:48:46 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https.rb</div><div class='del'>-	  (TestNetHTTPS#test_certificate_verify_failure): on Windows,</div><div class='del'>-	  Errno::ECONNRESET will be raised when the verify is failure at the</div><div class='del'>-	  client side, and it'll be eaten by WEBrick.</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 10 00:42:13 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_method_for_self_aref, rb_method_for_self_aset):</div><div class='del'>-	  new methods to generate bytecode for struct.c</div><div class='del'>-	  [Feature #10575]</div><div class='del'>-	* struct.c (rb_struct_ref, rb_struct_set): remove</div><div class='del'>-	  (define_aref_method, define_aset_method): new functions</div><div class='del'>-	  (setup_struct): use new functions</div><div class='del'>-	* test/ruby/test_struct.rb: add test for struct &gt;10 members</div><div class='del'>-	* benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark</div><div class='del'>-	* benchmark/bm_vm2_struct_big_aref_lo.rb: ditto</div><div class='del'>-	* benchmark/bm_vm2_struct_big_aset.rb: ditto</div><div class='del'>-	* benchmark/bm_vm2_struct_small_aref.rb: ditto</div><div class='del'>-	* benchmark/bm_vm2_struct_small_aset.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Dec  9 20:24:41 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: [DOC] Add missing documentation around String#chomp.</div><div class='del'>-	  Patch by @stderr [ci skip][fix GH-780]</div><div class='del'>-</div><div class='del'>-Tue Dec  9 18:20:02 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: [DOC] Revise documentation by Marcus Stollsteimer at</div><div class='del'>-	  [ruby-core:66368].  [Bug #10526]</div><div class='del'>-</div><div class='del'>-	  * #inspect: be more specific about generated string, remove</div><div class='del'>-	    obsolete example.</div><div class='del'>-	  * #nil?: use code examples instead of different call-seq's.</div><div class='del'>-	  * #tap: clarify what is yielded.</div><div class='del'>-	  * Integer(): be more specific about to_int and to_i, remove</div><div class='del'>-	    reference to Ruby 1.8.</div><div class='del'>-	  * Array(): fix error.</div><div class='del'>-	  * Class: fix variable name style and indentation in example.</div><div class='del'>-	  * improve consistency, fix typos and formatting.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 12:48:32 2014  Josef Simanek  &lt;josef.simanek@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap`</div><div class='del'>-	  documentation.  It is referencing `require` instead of `load`.</div><div class='del'>-	  The former does not have the optional argument.  [Fix GH-779]</div><div class='del'>-</div><div class='del'>-Tue Dec  9 10:16:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_frame_last_func): return the most recent frame method</div><div class='del'>-	  name.</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_list_access): use the last method name,</div><div class='del'>-	  instead of the current method name which can be unset in some</div><div class='del'>-	  cases, not to use a symbol by the invalid ID.</div><div class='del'>-	  [ruby-core:66742] [Bug #10579]</div><div class='del'>-</div><div class='del'>-Sun Dec  7 19:36:12 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c, ext/socket/sockssocket.c:</div><div class='del'>-	  remove code for $SAFE=4.</div><div class='del'>-</div><div class='del'>-Sun Dec  7 10:20:55 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc:  Update to RDoc 4.2.0.</div><div class='del'>-	* test/rdoc:  ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec  7 09:52:30 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.4.5.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 10:05:08 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: Fix undefined variable usage &amp; refactor/DRY</div><div class='del'>-	  code.  Patch by @aledovsky. [Fixes GH-770]</div><div class='del'>-</div><div class='del'>-	* test/net/test_imap.rb: related test.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 10:09:44 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): rename parameters to avoid shadowing</div><div class='del'>-</div><div class='del'>-Sat Dec  6 09:22:45 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake:  Update to rake 10.4.2</div><div class='del'>-	* test/rake: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  6 06:48:03 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_build_from_ary): remove misc handling</div><div class='del'>-</div><div class='del'>-Sat Dec  6 06:14:23 2014  Vit Ondruch  &lt;vondruch@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB_VERSION): Fix --with-ruby-version</div><div class='del'>-	  configuration option.  get rid of quoting in config.status.</div><div class='del'>-</div><div class='del'>-	* template/verconf.h.tmpl: quote RUBY_LIB_VERSION here.</div><div class='del'>-	  [ruby-core:66724] [Bug #10572]</div><div class='del'>-</div><div class='del'>-Sat Dec  6 04:33:52 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (File::Stat#pretty_print): some platforms (such as Windows)</div><div class='del'>-	  does not have major/minor parts of device.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 22:43:04 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bump version to 2.0.8</div><div class='del'>-	* ext/psych/psych.gemspec: ditto.</div><div class='del'>-	* ext/psych/psych_emitter.c: ditto.</div><div class='del'>-	* ext/psych/psych_parser.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 17:09:09 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inet_ntop): link aliased inet_ntop in</div><div class='del'>-	  libruby on mswin not rb_w32_inet_ntop which fails to link for</div><div class='del'>-	  unknown reason.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 11:09:54 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): remove unused block_opt param</div><div class='del'>-	  (rb_iseq_new_with_bopt_and_opt): remove</div><div class='del'>-	  (rb_iseq_new_with_opt): inline removed function</div><div class='del'>-	  (rb_iseq_new_with_bopt): remove</div><div class='del'>-	  (iseq_load): adjust prepare_iseq_build call</div><div class='del'>-	  [Feature #10565]</div><div class='del'>-</div><div class='del'>-Fri Dec  5 09:46:05 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix lex_state after tLABEL_END, should</div><div class='del'>-	  be EXPR_LABELARG to be followed by "paren with arg".</div><div class='del'>-	  [ruby-core:66705] [Feature #4935]</div><div class='del'>-</div><div class='del'>-Fri Dec  5 02:27:47 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: as all extension objects including initializations</div><div class='del'>-	  of ext and enc should be linked to libruby if enable-shared,</div><div class='del'>-	  EXTOBJS should not be linked to main programs.</div><div class='del'>-	  [ruby-core:66675] [Bug #10566]</div><div class='del'>-</div><div class='del'>-Thu Dec  4 07:06:02 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_build_from_exception): entry-&gt;sp is unsigned</div><div class='del'>-	  (iseq_build_callinfo_from_hash): account for kw_arg</div><div class='del'>-	  (iseq_build_from_ary_body): update for r35459</div><div class='del'>-	  (CHECK_STRING, CHECK_INTEGER): remove unused checks</div><div class='del'>-	  (int_param): new function for checking new `params' hash</div><div class='del'>-	  (iseq_build_kw): new function for loading rb_iseq_param_keyword</div><div class='del'>-	  (rb_iseq_build_from_ary): account for `misc' entry and general</div><div class='del'>-	   structure changes</div><div class='del'>-	  [Feature #8543]</div><div class='del'>-	* iseq.c (CHECK_HASH): new macro (for `misc' and `param' entries)</div><div class='del'>-	  (iseq_load): account for `misc' and `params' hashes</div><div class='del'>-	  (iseq_data_to_ary): add final opt to arg_opt_labels,</div><div class='del'>-	   fix kw support, account for unsigned entry-&gt;sp</div><div class='del'>-	* ext/-test-/iseq_load/iseq_load.c: new ext for test</div><div class='del'>-	* ext/-test-/iseq_load/extconf.rb: ditto</div><div class='del'>-	* test/-ext-/iseq_load/test_iseq_load.rb: new test</div><div class='del'>-</div><div class='del'>-Thu Dec  4 06:56:57 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free): avoid segfault on incomplete iseq</div><div class='del'>-	* test/ruby/test_syntax.rb (test_invalid_next): new test</div><div class='del'>-	  for syntax error, not segfault</div><div class='del'>-</div><div class='del'>-Thu Dec  4 04:20:34 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_require_internal): ignore error detail, just return</div><div class='del'>-	  an error.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 17:13:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (load_encoding): use rb_require_internal instead of</div><div class='del'>-	  calling rb_require_safe with protection.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 16:47:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (register_init_ext, ruby_init_ext): defer running the</div><div class='del'>-	  registered initialization function until required, not to enable</div><div class='del'>-	  extensions which have global effects just by loading, e.g.,</div><div class='del'>-	  mathn/complex and mathn/rational.  fix `make test` with</div><div class='del'>-	  --with-static-linked-ext.</div><div class='del'>-</div><div class='del'>-	* enc/encinit.c.erb (Init_enc): initialize encdb and transdb</div><div class='del'>-	  directly.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 14:51:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_require_internal): separate from rb_require_safe,</div><div class='del'>-	  not to raise exceptions.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): remove unnatural encoding search.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 14:34:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (setup_fake_str): fake string does not share another</div><div class='del'>-	  string, but just should not free.</div><div class='del'>-</div><div class='del'>-Wed Dec  3 11:14:14 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_spawn): `v2` is used not only for `shell` but also</div><div class='del'>-	  `cmd`, so must not free before using `cmd`.</div><div class='del'>-	  [ruby-core:66648] [Bug #10563]</div><div class='del'>-</div><div class='del'>-Wed Dec  3 09:48:57 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/racc/cparse/cparse.c (cparse_params_type): use typed data.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 21:33:56 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: use typed data for com_hash.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 15:30:30 2014  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_plus): in documentation, added note about</div><div class='del'>-	  inefficiency of repeated += operations.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 07:20:21 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): keep hidden variables</div><div class='del'>-	  Thanks to wanabe [ruby-core:66566]</div><div class='del'>-</div><div class='del'>-Tue Dec  2 06:46:57 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bumping version</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Tue Dec  2 06:34:08 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: support objects that are</div><div class='del'>-	  marshalable, but inherit from basic object.</div><div class='del'>-	  Thanks Sean Griffin &lt;sean@thoughtbot.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto</div><div class='del'>-</div><div class='del'>-	* test/psych/test_marshalable.rb: test for fix</div><div class='del'>-</div><div class='del'>-Tue Dec  2 06:32:02 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_flush_string_content): preserve the dispatched</div><div class='del'>-	  results at tSTRING_CONTENT.  [ruby-dev:48714] [Bug #10437]</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp_contents): check in ripper only if the whole</div><div class='del'>-	  content is a single regexp without interpolation.</div><div class='del'>-	  [ruby-dev:48714] [Bug #10437]</div><div class='del'>-</div><div class='del'>-Tue Dec  2 06:30:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_region_copy): new function to try with GC if copy</div><div class='del'>-	  failed and return the error.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 04:43:08 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (CHECK_REGION_COPIED): onig_region_copy() can fail when</div><div class='del'>-	  memory exhausted but returns nothing, so check by if allocated.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 02:53:00 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comment_encoding): enable in ripper, since the</div><div class='del'>-	  encoding is necessary to parse non-default encoding scripts.</div><div class='del'>-</div><div class='del'>-Tue Dec  2 02:30:25 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic.build):</div><div class='del'>-	  use hostname= to detect and wrap IPv6 hosts.</div><div class='del'>-	  Build is accepting URI components and users may not expect</div><div class='del'>-	  that a host component needs to be wrapped with square brackets</div><div class='del'>-	  since it's not providing a URI.</div><div class='del'>-	  Note: initialize with arg_check =&gt; true does not wrap IPv6 hosts.</div><div class='del'>-	  by Joe Rafaniello &lt;jrafanie@redhat.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/765 fix GH-765</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb: Add more tests</div><div class='del'>-</div><div class='del'>-Mon Dec  1 20:01:12 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: use typed data for WIN32OLE.</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_event.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 17:20:42 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (verconf.h): so depends on verconf.mk, which</div><div class='del'>-	  is rebuilt by setup.mak.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 11:05:46 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: fix grammar by @BenMorganIO [fix GH-764][ci skip]</div><div class='del'>-</div><div class='del'>-Mon Dec  1 10:49:53 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/rake.1: Update latest man content by @aledovsky</div><div class='del'>-	  [fix GH-771][ci skip]</div><div class='del'>-</div><div class='del'>-Mon Dec  1 10:42:31 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc: refinements are no longer experimental.</div><div class='del'>-	  patch by @gaurish [fix GH-775][ci skip]</div><div class='del'>-</div><div class='del'>-Sun Nov 30 20:05:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp_contents): fix a typo.  pointed out by wanabe.</div><div class='del'>-	  [ruby-dev:48741] [Bug #10543]</div><div class='del'>-</div><div class='del'>-Sun Nov 30 18:55:32 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  Don't raise Interrupt.</div><div class='del'>-</div><div class='del'>-Sun Nov 30 17:11:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): Use</div><div class='del'>-	  assert_separately.</div><div class='del'>-</div><div class='del'>-Sun Nov 30 00:02:52 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options, ruby_script): transcode script name and</div><div class='del'>-	  program name to locale encoding as well as argv.</div><div class='del'>-	  [ruby-dev:48752] [Bug #10555]</div><div class='del'>-</div><div class='del'>-	* ruby.c (translit_char_bin): should not use code page dependent</div><div class='del'>-	  CharNext on UTF-8 string.  [ruby-dev:48752] [Bug #10555]</div><div class='del'>-</div><div class='del'>-Sat Nov 29 16:53:14 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_set_argv): convert argv from UTF-8.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit, cmdglob, w32_cmdvector): convert</div><div class='del'>-	  wide char command line to UTF-8 argv, and glob in UTF-8 so that</div><div class='del'>-	  metacharacters would match multibyte characters.</div><div class='del'>-	  [ruby-dev:48752] [Bug #10555]</div><div class='del'>-</div><div class='del'>-Sat Nov 29 10:49:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (win32_direct_conv, rb_w32_readdir): convert UTF-8</div><div class='del'>-	  and filesystem code page by using Win32 API directly.</div><div class='del'>-</div><div class='del'>-Sat Nov 29 09:37:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_initialize): simplify message building and get</div><div class='del'>-	  rid of potential invalid byte sequence.</div><div class='del'>-</div><div class='del'>-Sat Nov 29 06:09:44 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): respect the encoding of the message.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_write_error_str): use rb_w32_write_console() on Windows</div><div class='del'>-	  if stderr is a tty.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 05:10:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-setup): add option to select ext/Setup file.</div><div class='del'>-</div><div class='del'>-Fri Nov 28 05:02:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dmyenc.c (Init_enc): separate from dmyext.c for statically</div><div class='del'>-	  linked extension excluding encoding libraries.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 21:58:30 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (miniprelude.c): It does not depend on prelude.rb now.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 21:49:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: List up files built always in the source directory</div><div class='del'>-	  and source files built always in the build directory.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 21:24:55 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add obsolete callcc.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 19:59:49 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): remove duplicated line event.</div><div class='del'>-	  [Bug #10449]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add and fix tests.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 19:04:50 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c: fix backtrace location for keyword related exceptions.</div><div class='del'>-</div><div class='del'>-	  For example, the following program</div><div class='del'>-	    def foo(k1: 1); end # line 1</div><div class='del'>-	    foo(k2: 2)          # line 2</div><div class='del'>-	  causes "unknown keyword: k2 (ArgumentError)".</div><div class='del'>-</div><div class='del'>-	  Before this patch, the backtrace location is only line 2.</div><div class='del'>-	  However, error should be located at line 1 (over line 2 in</div><div class='del'>-	  stack trace). This patch fix this problem.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_keyword_error_new): separate exception creation logic</div><div class='del'>-	  from rb_keyword_error(), to use in vm_args.c.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_arg_error_new): rename to rb_arity_error_new().</div><div class='del'>-</div><div class='del'>-	* vm_args.c (argument_arity_error): rename to argument_arity_error().</div><div class='del'>-</div><div class='del'>-	* vm_args.c (argument_kw_error): added to fix backtrace.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add tests.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 17:31:58 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): no longer depends on miniruby, since not</div><div class='del'>-	  depending on rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 17:12:14 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (miniprelude.c): miniruby needs no preludes.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 17:10:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/prelude.c.tmpl: no code if no prelude code is given.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 13:11:00 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_increase): enable lazy sweep on GC by malloc()</div><div class='del'>-	  (malloc_increase) to make GC incrementally.</div><div class='del'>-</div><div class='del'>-	  This change can increase memory consumption. Report us if you find</div><div class='del'>-	  any problem.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 12:46:38 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_s_mkutc): [DOC] Time.utc's 10 arguments form</div><div class='del'>-	  doesn't examine wday, yday, isdst and tz.</div><div class='del'>-	  (time_s_mktime): [DOC] Time.mktime's 10 arguments form</div><div class='del'>-	  doesn't examine wday, yday and tz.</div><div class='del'>-	  Suggested by naruse.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 11:45:33 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): add missing GC guard</div><div class='del'>-</div><div class='del'>-Thu Nov 27 10:51:59 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add rb_thread_t::local_storage_recursive_hash</div><div class='del'>-	  to speed up Thread#[:__recursive_key__] access.</div><div class='del'>-	  [Bug #10511]</div><div class='del'>-</div><div class='del'>-	* thread.c (threadptr_local_aref): add fast path for</div><div class='del'>-	  :__recursive_data__.</div><div class='del'>-</div><div class='del'>-	* thread.c (threadptr_recursive_hash, threadptr_recursive_hash_set):</div><div class='del'>-	  add special accessor for recursive hash.</div><div class='del'>-</div><div class='del'>-	* cont.c: store/restore local_storage_recursive_hash.</div><div class='del'>-</div><div class='del'>-	* vm.c: init and mark local_storage_recursive_hash.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks_orig): clear and restore</div><div class='del'>-	  local_storage_recursive_hash directly.</div><div class='del'>-</div><div class='del'>-Thu Nov 27 07:11:00 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_calc_param_size): hoist out of iseq_set_arguments</div><div class='del'>-</div><div class='del'>-Wed Nov 26 22:28:12 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_get_kwargs, rb_extract_keywords): export</div><div class='del'>-	  keyword argument functions.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 21:18:40 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb: removed unused test helper.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 20:47:28 2014  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/continuation/continuation.c (Init_continuation): obsolete callcc.</div><div class='del'>-	  first step of [Feature #10548].</div><div class='del'>-</div><div class='del'>-Wed Nov 26 19:57:54 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_latest_gc_info): do test separately</div><div class='del'>-	  to avoid mysterious behavior.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 19:54:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (constat_reset): do nothing on non-standard</div><div class='del'>-	  console emulators.  [ruby-core:66471] [Bug #10546]</div><div class='del'>-</div><div class='del'>-Wed Nov 26 19:44:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb: Returns an enumerator if no block is given.</div><div class='del'>-	  [ruby-core:66270] [Feature #10508] Proposed by Andrey Savchenko.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 17:25:45 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_label, f_kw, formal_argument_gen): ignore invalid</div><div class='del'>-	  formal argument in keyword argument definition.</div><div class='del'>-	  [ruby-dev:48742] [Bug #10545]</div><div class='del'>-</div><div class='del'>-Wed Nov 26 15:32:06 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): use "nop" insn instead of</div><div class='del'>-	  "jump to next insn".</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/8543#change-50085</div><div class='del'>-</div><div class='del'>-Wed Nov 26 11:01:35 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_compile_file): close IO when done</div><div class='del'>-</div><div class='del'>-Wed Nov 26 06:06:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: encdb.h and transdb.h depends on $(PREP).</div><div class='del'>-	  So prebuild files for them in tarball are useless.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 02:08:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: Don't generate enc/trans/newline.c in tarball.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 00:41:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prereq): Don't depends on prelude.c and golf_prelude.c.</div><div class='del'>-	  Since they depend on $(PREP) which is miniruby, they are rebuilt</div><div class='del'>-	  after miniruby is built, even if tarball contains them.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 00:20:48 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/prelude.c.tmpl: Don't expand RbConfig::Config[...].</div><div class='del'>-	  It is not used now.</div><div class='del'>-</div><div class='del'>-	* common.mk: prelude.c and golf_prelude.c doesn't depend on rbconfig.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 17:07:06 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add an "Implementation changes" section.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 16:09:28 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb:  Do not attempt SSL session resumption when the</div><div class='del'>-	  session is expired.  [Bug #10533]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 15:59:46 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake:  Update to rake 10.4.0</div><div class='del'>-	* test/rake:  ditto.</div><div class='del'>-	* NEWS:  ditto.</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb:  Add compatibility shim for minitest 5.</div><div class='del'>-	  This only provides minitest 5 unit test naming compatibility.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 15:26:33 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime</div><div class='del'>-	  which does not accept UTC offset, and offset manually for older</div><div class='del'>-	  versions than 1.9.</div><div class='del'>-</div><div class='del'>-Tue Nov 25 12:14:43 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): initialize static IDs before constant</div><div class='del'>-	  definitions.  [ruby-core:66445]</div><div class='del'>-</div><div class='del'>-Tue Nov 25 10:32:23 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_callinfo_from_hash): hoist out</div><div class='del'>-	  (iseq_build_from_ary_body): shorten callinfo case</div><div class='del'>-</div><div class='del'>-Mon Nov 24 23:03:21 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update to test-unit 3.0.7.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 12:44:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect_fd, check_exec_redirect),</div><div class='del'>-	  (rb_execarg_addopt): get rid of inadvertent ID pindown.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 02:03:40 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_setter): preserve encoding of global variable</div><div class='del'>-	  name in error message.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 02:03:30 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_insn_operand_intern): preserve encoding of method</div><div class='del'>-	  name in CALL_INFO at disassembling.</div><div class='del'>-</div><div class='del'>-Mon Nov 24 02:02:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (must_respond_to): preserve encodings of variable name and</div><div class='del'>-	  class name in warning message.</div><div class='del'>-</div><div class='del'>-Sun Nov 23 10:46:23 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (struct rb_execarg): 160 =&gt; 144 bytes on x86-64</div><div class='del'>-	* ruby.c (struct load_file_arg): 48 =&gt; 40 bytes on x86-64</div><div class='del'>-	* vm_args.c (struct args_info): ditto</div><div class='del'>-</div><div class='del'>-Sun Nov 23 07:46:54 2014  Andy Maloney  &lt;asmaloney@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_sysread): Remove redundant assignment of 'n'.</div><div class='del'>-	  [Fix GH-767]</div><div class='del'>-</div><div class='del'>-Sat Nov 22 09:48:33 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: Specify PWD macro for make.</div><div class='del'>-	  PWD environment variable may not exist.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 11:58:58 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: fall back if canonicalization fails.</div><div class='del'>-	  Thanks Vit Ondruch for the patch!  [ruby-core:65836]</div><div class='del'>-</div><div class='del'>-	* test/resolv/test_dns.rb: test for patch</div><div class='del'>-</div><div class='del'>-Sat Nov 22 01:11:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get, rb_mod_const_defined): ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_missing, rb_mod_const_missing): call</div><div class='del'>-	  const_missing without new ID to get rid of inadvertent ID</div><div class='del'>-	  creation.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 19:32:57 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): revert about srcdir and top_srcdir.</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): use $(PWD) for Unix,</div><div class='del'>-	  $(MAKEDIR) for Windows.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 18:12:37 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Refactored.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 14:25:40 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (top_srcdir): added because lacking this macro</div><div class='del'>-	  causes build error at r48526.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 12:00:58 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps (in_makefile): Use FILES_NEED_VPATH and</div><div class='del'>-	  FILES_CONFUSING.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/extconf.rb: Add VPATH for id.h</div><div class='del'>-</div><div class='del'>-Fri Nov 21 09:10:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): fix dependencies for the case</div><div class='del'>-	  to make ripper.y and id.h under the build directory.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 08:42:21 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): id.h in VPATH may exist in the build</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): $(RM) was not defined.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 00:36:09 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb</div><div class='del'>-	  (OpenSSL::X509::Name::RFC2253DN::StringChar): get rid of a false</div><div class='del'>-	  positive assertion in ripper's test.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 00:29:51 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (Net::IMAP::ResponseParser::BEG_REGEXP): no need to</div><div class='del'>-	  use embed string.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 00:19:17 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo::EMAIL_REGEXP): should escape `#`.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 23:17:11 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Insert all dependencies found by compiler.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 15:51:01 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/depend (nkf.o): add nkf.c as dependency.</div><div class='del'>-	  bsdmake tries to make nkf.o with nkf-utf8/nkf.c without this.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 08:54:56 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): reduce size by reordering</div><div class='del'>-	  members and an unused member.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 02:44:27 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Vector#independent? and associated class method</div><div class='del'>-	  patch by gogo tanaka [#10451]</div><div class='del'>-</div><div class='del'>-Thu Nov 20 02:32:34 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Vector#angle_with</div><div class='del'>-	  Patch by Egunov Dmitriy [#10442]</div><div class='del'>-</div><div class='del'>-Thu Nov 20 02:10:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_flush_string_content, parser_parse_string):</div><div class='del'>-	  preserve parsed string content.  [ruby-dev:48714] [Bug #10437]</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_new_yylval): abstract function to create ripper</div><div class='del'>-	  wrapper, and make it able to hold another object.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 01:00:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_gen): use predefined ID</div><div class='del'>-	  instead of rb_intern.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 00:54:57 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_init_setproctitle): Declare here.</div><div class='del'>-</div><div class='del'>-Thu Nov 20 00:26:37 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): append byte sequence directly to</div><div class='del'>-	  the delayed content instead of creating an intermediate string</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 21:11:01 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/json/parser/parser.c): don't touch parse.c,</div><div class='del'>-	  ruby repo is a downstream.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 20:38:11 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): use $(PWD) to get</div><div class='del'>-	  &lt;build-directory&gt;/ext/ripper.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 18:12:17 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb (RubyGems.download): Don't download gem if the</div><div class='del'>-	  version is already downloaded. A gem file is versioned and</div><div class='del'>-	  it must be identical if the version is the same.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 17:59:25 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c): pass build directory as VPATH.</div><div class='del'>-</div><div class='del'>-	* ext/ripper/depend (.y.c): use VPATH for y.tab.c.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 10:07:57 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/prelude.c.tmpl (Prelude#translate): strip VPATH prefix</div><div class='del'>-	  from prelude names, so that srcdir differences do not make the</div><div class='del'>-	  generated code different.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 07:45:11 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write): should set the error of</div><div class='del'>-	  GetOverlappedResult()'s, not WriteFile()'s (it's always</div><div class='del'>-	  ERROR_IO_PENDING, of course).</div><div class='del'>-</div><div class='del'>-Tue Nov 18 14:16:47 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_record): add information for debug print.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 04:49:07 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (set_debug_option): need the declaration.</div><div class='del'>-</div><div class='del'>-	* debug.c (set_debug_option): use the same macro with the implementation</div><div class='del'>-	  at win32/win32.c.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 04:16:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (symbol_list): fix the node type of literal symbol list</div><div class='del'>-	  with no interpolation.  [ruby-core:66343]</div><div class='del'>-</div><div class='del'>-Wed Nov 19 00:26:15 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Sort dependencies.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 00:24:18 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/encdb.c: Include internal.h.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 23:23:45 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: Gather declarations in non-header files.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 23:45:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (SET_WHEN): Don't declare debug variables here.</div><div class='del'>-	  ruby_initial_gc_stress_ptr is changed int* to VALUE* at r41406.</div><div class='del'>-</div><div class='del'>-	* internal.h (ruby_initial_gc_stress_ptr): Declared.</div><div class='del'>-	  (ruby_enable_coredump): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 18:06:43 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (FMODE_WSPLIT): Removed.  The write() system call</div><div class='del'>-	  is not required to split.  It was useful to avoid whole process</div><div class='del'>-	  blocking in Ruby 1.8 but not useful since write() is invoked without</div><div class='del'>-	  GVL.</div><div class='del'>-	  (FMODE_WSPLIT_INITIALIZED): Ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (wsplit_p): Removed.</div><div class='del'>-	  (io_writable_length): Removed.</div><div class='del'>-	  (rb_fcntl): Don't update the removed flags.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 03:23:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (check_setter_id): show the original argument instead</div><div class='del'>-	  of nil on TypeError.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 03:20:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym):</div><div class='del'>-	  fix ID type names.</div><div class='del'>-</div><div class='del'>-Mon Nov 17 20:17:59 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_event.c: use typed data.</div><div class='del'>-</div><div class='del'>-Mon Nov 17 12:54:56 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/*, test/rubygems/*: Update to RubyGems 2.4.4</div><div class='del'>-	  master (2f6e42e).</div><div class='del'>-</div><div class='del'>-Mon Nov 17 06:13:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_binding): use the original iseq on a binding from</div><div class='del'>-	  proc from method object to get the location.</div><div class='del'>-</div><div class='del'>-Sun Nov 16 19:38:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_current_receiver): new function to return the</div><div class='del'>-	  receiver in the current control frame.  [Feature #10195]</div><div class='del'>-</div><div class='del'>-Sun Nov 16 19:11:04 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout::ExitException#exception): rescue</div><div class='del'>-	  UncaughtThrowError which is specific for throw, instead of</div><div class='del'>-	  ArgumentError.</div><div class='del'>-</div><div class='del'>-Sun Nov 16 18:22:18 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: warning to disable ccache</div><div class='del'>-</div><div class='del'>-Sun Nov 16 13:11:35 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (CCAN_LIST_INCLUDES): Unused variable removed.</div><div class='del'>-	  (ENCODING_H_INCLUDES): Ditto.</div><div class='del'>-	  (PROBES_H_INCLUDES): Ditto.</div><div class='del'>-	  (VM_CORE_H_INCLUDES): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 16 11:07:25 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_readpartial_locktmp):</div><div class='del'>-	  remove unnecessary begin/end</div><div class='del'>-</div><div class='del'>-Sun Nov 16 00:45:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Specify dependencies for generated C sources.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 23:10:45 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: No need to declare dependencies which</div><div class='del'>-	  will be detected by inference rules.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:34:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: Include ruby.h and ruby/encoding.h to be</div><div class='del'>-	  includable without prior inclusion.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:46:44 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb</div><div class='del'>-	  (REXMLTests::TestDocument::EntityExpansionLimitTest):</div><div class='del'>-	  Group tests by general entity and parameter entity.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:43:31 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb</div><div class='del'>-	  (REXMLTests::TestDocument::EntityExpansionLimitTest): Define</div><div class='del'>-	  test XML in each test method because (1) each XML in used only</div><div class='del'>-	  one test and (2) related data and code should be close.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:39:06 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb</div><div class='del'>-	  (REXMLTests::TestDocument::EntityExpansionLimitTest): Use</div><div class='del'>-	  one test method for one test.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:16:59 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb</div><div class='del'>-	  (REXMLTests::TestDocument::EntityExpansionLimitTest): Use</div><div class='del'>-	  setup and teardown instead of ensure in test.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:11:34 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb (REXMLTests::TestDocument): Group</div><div class='del'>-	  entity expansion limit related tests.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 20:09:00 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb (REXMLTests::TestDocument::BomTest):</div><div class='del'>-	  Fix wrong parent class. It doesn't need inherit tests in</div><div class='del'>-	  TestDocument class.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 19:48:59 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): support comments during a line.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (depend_rules): apply RULE_SUBST even if the dependency</div><div class='del'>-	  file contains path.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 19:25:46 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Remove comments in Dependency lines.</div><div class='del'>-	  Notified by usa.</div><div class='del'>-</div><div class='del'>-	* enc/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/**/depend: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 16:28:05 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_throw_obj): throw UncaughtThrowError instead of</div><div class='del'>-	  ArgumentError.  [Feature #10480]</div><div class='del'>-</div><div class='del'>-Sat Nov 15 14:13:38 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Extend to fix dependencies.</div><div class='del'>-</div><div class='del'>-	* common.mk: Dependencies updated by tool/update-deps.</div><div class='del'>-</div><div class='del'>-	* enc/depend: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/**/depend: Ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 17:36:48 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/update-deps: Support GNU Make 4.0.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 16:59:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (default_proc_for_compat_func): check arguments number and</div><div class='del'>-	  type, and get rid of reentering this default proc.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 16:33:06 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): support compatible layer for</div><div class='del'>-	  GC.stat(symbol) type access.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 16:19:08 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): add compatible layer.</div><div class='del'>-	  From Ruby 2.2, keys of GC.stat are changed [Feature #9924].</div><div class='del'>-	  To provide compatible layer, GC.stat add a default_proc</div><div class='del'>-	  (if default_proc of given Hash object is not set).</div><div class='del'>-</div><div class='del'>-	  At first use of this compatible layer of interpreter process,</div><div class='del'>-	  show a warning message like that:</div><div class='del'>-	  program: GC.stat[:total_allocated_object]</div><div class='del'>-	  warning message: "warning: GC.stat keys were changed from Ruby</div><div class='del'>-	  2.1. In this case, you refer to obsolete `total_allocated_object'</div><div class='del'>-	  (new key is `total_allocated_objects').</div><div class='del'>-	  Please check &lt;https://bugs.ruby-lang.org/issues/9924&gt;</div><div class='del'>-	  for more information."</div><div class='del'>-</div><div class='del'>-	  Please correct my English message :)</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_set_default_proc): export (in internal).</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 10:41:25 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: guard by #if/#endif with GC_ENABLE_INCREMENTAL_MARK</div><div class='del'>-	  to hide unused codes.</div><div class='del'>-</div><div class='del'>-	* gc.c: similar to GC_ENABLE_LAZY_SWEEP.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 10:23:35 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_cmd): use pre-defined idCall</div><div class='del'>-</div><div class='del'>-Fri Nov 14 09:25:44 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_yield_splat): add missing GC guard</div><div class='del'>-	  [Bug #10509]</div><div class='del'>-</div><div class='del'>-Fri Nov 14 08:12:40 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix build error caused by implicit conversion with clang.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 06:54:06 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_succ): remove Time#succ optimization</div><div class='del'>-	  [Feature #10501]</div><div class='del'>-</div><div class='del'>-Fri Nov 14 05:29:46 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: refactoring.</div><div class='del'>-</div><div class='del'>-	* gc.c: use GC_ENABLE_INCREMENTAL_MARK instead of USE_RINCGC.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start): check FORCE_MAJOR_GC.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 04:51:18 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Tuning RincGC parameters.</div><div class='del'>-</div><div class='del'>-	  Before this patch, gc_marks_step() marks (white -&gt; grey) fixed</div><div class='del'>-	  number objects. However, this strategy does not fit practical</div><div class='del'>-	  cases, for example too slow to make progress.</div><div class='del'>-</div><div class='del'>-	  This patch changes this strategy how many objects the</div><div class='del'>-	  gc_marks_step() should handle.</div><div class='del'>-</div><div class='del'>-	  We can estimate how many times gc_marks_step() is called during</div><div class='del'>-	  this major marking (== C) with the free slot number in pooled</div><div class='del'>-	  pages. We also can estimate the living object number (== L)</div><div class='del'>-	  using last marked_slots value. We can solve this problem (how</div><div class='del'>-	  many objects should be process in gc_marks_step()) by L/C.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_t): add rb_objspace_t::rincgc::pooled_slots and</div><div class='del'>-	  step_slots.</div><div class='del'>-</div><div class='del'>-Fri Nov 14 01:26:47 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (search_response): parse MODSEQ in SEARCH</div><div class='del'>-	  responses properly.  [ruby-core:64203] [Bug #10112]</div><div class='del'>-</div><div class='del'>-Fri Nov 14 01:03:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb: Moved from test/ruby/.</div><div class='del'>-</div><div class='del'>-	* test/lib/find_executable.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/lib/memory_status.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb: require envutil.</div><div class='del'>-</div><div class='del'>-	* test/: Don't require envutil in test files.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 21:59:58 2014  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb: add REXML::Document#document.</div><div class='del'>-	  reported by Tomas Hoger &lt;thoger@redhat.com&gt; and patched by nahi.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 21:51:56 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/monitor/test_monitor.rb: Use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 21:45:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl: Don't specify port number.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 21:22:35 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/ssl_server.rb: Unused file removed.</div><div class='del'>-	  It is not used since r16111, Ruby 1.9.1.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 18:50:14 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_ensure): remove obsolete prot_tag comment.  patch by</div><div class='del'>-	  Jack Danger at [ruby-core:66238].  [misc #10502]</div><div class='del'>-</div><div class='del'>-Thu Nov 13 18:10:38 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_proc_lambda): similar to rb_vm_make_proc() with</div><div class='del'>-	  is_lambda argument.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 12:11:18 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fstat{,i64}): speed up.  adjusting</div><div class='del'>-	  timestamps in this function is to get rid of the side effect of</div><div class='del'>-	  ENV["TZ"].  then, if ENV["TZ"] is not set, no need to adjust.</div><div class='del'>-	  this change makes File#stat about 60% faster.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 11:56:12 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: include "internal.h" for STATIC_ASSERT.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 03:56:38 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (struct heap_page): trivial packing</div><div class='del'>-	  304 =&gt; 296 bytes on x86-64</div><div class='del'>-</div><div class='del'>-Wed Nov 12 22:50:12 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update to test-unit 3.0.6 and minitest 5.4.3.</div><div class='del'>-</div><div class='del'>-Wed Nov 12 22:30:52 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/*: Update to RubyGems 2.4.3 master (7b1f684).</div><div class='del'>-</div><div class='del'>-Wed Nov 12 00:26:37 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: Specify an exception class for rescue clause.</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/sdbm/test_sdbm.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 23:43:51 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: Use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 22:51:14 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/resolv/test_dns.rb: Use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 22:33:08 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/pop/test_pop.rb: Use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 22:07:20 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_https_proxy.rb: Use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 18:09:11 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/prelude.c.tmpl: move from tool/compile_prelude.rb and</div><div class='del'>-	  expand by generic_erb.rb.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 13:01:31 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/contents_command.rb (files_in_default_gem):</div><div class='del'>-	  remove useless sort. show_files will sort the result and</div><div class='del'>-	  another branch, files_in_gem, doesn't sort.</div><div class='del'>-	  it should be removed for consistency.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_contents_command.rb</div><div class='del'>-	  (test_execute_default_gem): adjust the sort algorithm with</div><div class='del'>-	  Gem::Commands::ContentsCommand#show_files, which sort items</div><div class='del'>-	  as array of [prefix, basename] not strings.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 10:37:09 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_equal): use rb_obj_equal().</div><div class='del'>-	  rb_obj_equal() is specially optimized in</div><div class='del'>-	  opt_eq_func()@vm_insnhelper.c.</div><div class='del'>-</div><div class='del'>-	  This fix is made from this discussion:</div><div class='del'>-	  https://www.omniref.com/ruby/2.1.4/symbols/Symbol/%3D%3D#line=8361.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 09:38:55 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/known_classes.rb: reverted regression changes of</div><div class='del'>-	  rdoc known class.</div><div class='del'>-</div><div class='del'>-Tue Nov 11 00:21:50 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: Don't ignore exceptions on server</div><div class='del'>-	  threads.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 23:34:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb (create_ftp_server): Don't ignore</div><div class='del'>-	  exceptions on server thread.</div><div class='del'>-	  Delete read_timeout method call to fix NoMethodError.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 20:20:53 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): retry with reduced length if cannot to</div><div class='del'>-	  write any data but no error occurs.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 20:04:16 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: Setup shutdown pipe in listen method.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 19:37:09 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new</div><div class='del'>-	  function to support nonblock-mode of pipes.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read): nonblock-mode pipe returns ERROR_NO_DATA</div><div class='del'>-	  if there is no data, but also returns it if remote-end is closed.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write): if cannot to write any data, it may be</div><div class='del'>-	  blocking.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_set_nonblock): use rb_w32_set_nonblock for Windows.</div><div class='del'>-</div><div class='del'>-	* ext/io/nonblock/nonblock.c (rb_io_nonblock_set): use ruby's API when</div><div class='del'>-	  setting nonblock-mode.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: test nonblock pipes on Windows.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 17:24:34 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_getlogin): set login name encoding properly.</div><div class='del'>-	  [ruby-core:66163] [Bug #10493]</div><div class='del'>-</div><div class='del'>-Mon Nov 10 16:20:42 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/*.rb: Update to RubyGems master(3e36528).</div><div class='del'>-</div><div class='del'>-Mon Nov 10 16:09:43 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): [DOC] mention known signal list.</div><div class='del'>-	  [ruby-core:66162] [Bug #10492]</div><div class='del'>-</div><div class='del'>-Mon Nov 10 14:17:58 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*.rb: Update to RDoc 4.2.0.alpha(579a11c)</div><div class='del'>-</div><div class='del'>-Mon Nov 10 12:44:39 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: Less instance variables.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 12:19:43 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (shutdown): Use close() on @shutdown_pipe_w to</div><div class='del'>-	  notify readability on the read side of the pipe.</div><div class='del'>-	  write_nonblock() is not usable for pipe on Windows.</div><div class='del'>-	  (cleanup_shutdown_pipe): Rescue IOError for @shutdown_pipe_w.close.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 07:31:59 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (initialize): Initialize shutdown pipe here</div><div class='del'>-	  to avoid race condition.</div><div class='del'>-	  (cleanup_shutdown_pipe): New private method.</div><div class='del'>-	  (cleanup_listener): Extracted from shutdown method.</div><div class='del'>-	  Call this method from start method to avoid race condition.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 05:57:53 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/webrick.cgi: Don't use debug mode.</div><div class='del'>-</div><div class='del'>-	* test/webrick/webrick_long_filename.cgi: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 23:25:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call_super): allow bound proc method to call super</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_with_cfunc): push defined class and</div><div class='del'>-	  bound proc method entry to the control frame.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 22:46:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/open-uri: Test server log in server thread.</div><div class='del'>-</div><div class='del'>-	* test/webrick: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 22:28:34 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpstatus.rb: require webrick/accesslog for AccessLog.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 21:03:59 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick: Fix the argument order of assert_equal.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 20:29:01 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick: Store log in an array.</div><div class='del'>-</div><div class='del'>-	* test/net/http: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/open-uri: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 18:35:36 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc: Refine log test.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 18:33:33 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: Replaced if-else by</div><div class='del'>-	  case in self.normalized? in parallel to r48309.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 18:07:00 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc: Use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 14:06:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc: Test webrick error log is empty.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 13:47:02 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_incremental_marking): use #if/#else because</div><div class='del'>-	  rb_objspace_t::flags::during_incremental_marking is not defined</div><div class='del'>-	  when GC_ENABLE_INCREMENTAL_MARK is 0.</div><div class='del'>-</div><div class='del'>-	* gc.c (will_be_incremental_marking, is_full_marking): similar fix.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 12:16:22 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.gen_random): separate</div><div class='del'>-	  implementation details and select at the load time.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 12:09:38 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry::API#Enum{Value,Key):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 11:48:40 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http: Examine webrick log.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 11:45:19 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: upgraded to test-unit 3.0.5.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 11:40:50 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/known_errors.def: More errors for FreeBSD.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 11:25:11 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: upgraded to power_assert 0.2.0.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 10:31:03 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: set the script encoding to make a string</div><div class='del'>-	  literal in SecureRandom::Kernel32.last_error_message single byte</div><div class='del'>-	  encoding so msg[] works in bytes, since FormatMessage() returns</div><div class='del'>-	  the size in TCHARs, not in characters.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 09:50:22 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick: Refine log tests.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 08:58:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/known_errors.def (EHWPOISON): New errno symbol.</div><div class='del'>-	  It is defined by glibc-2.16.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 05:00:23 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (initialize): call the special method for Win32</div><div class='del'>-	  before checking `/dev/urandom` because we know windows doesn't have it.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 04:01:46 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`.</div><div class='del'>-	  thanks @zzak to remember it.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 02:05:33 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb: Don't connect to spawned server</div><div class='del'>-	  before actual test.</div><div class='del'>-</div><div class='del'>-Sun Nov  9 01:51:50 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Module#const_defined?): [DOC] Revise the documentation.</div><div class='del'>-	  Patch by Xavier Noria.</div><div class='del'>-	  [Fixes GH-754] https://github.com/ruby/ruby/pull/754</div><div class='del'>-</div><div class='del'>-Sun Nov  9 00:37:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick: Examine log and use assert_join_threads.</div><div class='del'>-</div><div class='del'>-Fri Nov  7 00:00:12 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/unicode_norm_gen.tmpl: expand kompatible_table so that</div><div class='del'>-	  recursive expansion is not needed at runtime.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 23:58:40 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): escape unprintable characters and preserve</div><div class='del'>-	  the encoding of warning message.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 23:55:18 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_printable): QUOTE() should not raise an exception</div><div class='del'>-	  even on invalid byte sequence.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 21:44:36 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_unicode_normalize.rb: Rename TestNormalize to</div><div class='del'>-	  TestUnicodeNormalize.</div><div class='del'>-	  Define constants under TestUnicodeNormalize.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 21:22:59 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_open-uri.rb: Check empty webrick log.</div><div class='del'>-</div><div class='del'>-Thu Nov  6 19:27:34 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): cast -1 for the case char is unsigned char.</div><div class='del'>-	  If char is signed char, for example gcc for ARM or ppc64, it caused</div><div class='del'>-	  infinite loop.</div><div class='del'>-	  http://kmuto.jp/build-ruby/arm/ruby-trunk/log/20141106T013005Z.fail.html.gz</div><div class='del'>-	  http://rubyci.blob.core.windows.net/f19p8/ruby-trunk/log/20141106T090217Z.fail.html.gz</div><div class='del'>-</div><div class='del'>-Thu Nov  6 09:53:18 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc2396_parser.rb (initialize): reduce bytecode size</div><div class='del'>-	  2088 =&gt; 1332 bytes on 32-bit x86</div><div class='del'>-</div><div class='del'>-Thu Nov  6 08:49:49 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: Comment clarification.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 23:43:24 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_data_alloc): add padding when strict alignment</div><div class='del'>-	  is required for memory access. Currently, the padding is enabled</div><div class='del'>-	  only when the CPU is 32-bit SPARC and the compiler is GCC.</div><div class='del'>-	  [Bug #9681] [ruby-core:61715]</div><div class='del'>-</div><div class='del'>-	* compile.c (STRICT_ALIGNMENT): defined if strict alignment is required</div><div class='del'>-</div><div class='del'>-	* compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX):</div><div class='del'>-	  new macros for alignment word size, bit mask, max size of padding.</div><div class='del'>-</div><div class='del'>-	* compile.c (calc_padding): new function to calculate padding size.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 23:24:45 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_open-uri.rb: Don't ignore webrick's log.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 19:20:08 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: Stop listener loop properly.</div><div class='del'>-	  [ruby-core:66085] [Bug #10478] Fixed by Charles Nutter.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 17:20:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_disable_super, rb_enable_super): warn</div><div class='del'>-	  as deprecated at build time, instead of ignoring silently or</div><div class='del'>-	  warning at runtime only.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 16:55:52 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_f_lambda): remove deprecated function, which has been</div><div class='del'>-	  unavailable from extension libraries.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 16:26:58 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_clear_cache): mark as deprecated, not</div><div class='del'>-	  only warnings at runtime.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 15:05:12 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_{,l,r}strip_bang): rb_str_subseq() will not</div><div class='del'>-	  NUL-terminate the result string, in the future, so it will not</div><div class='del'>-	  be needed in other cases.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 14:11:30 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (lib/unicode_normalize/tables.rb): do nothing unless</div><div class='del'>-	  BASERUBY is available.  MINIRUBY cannot load extension libraries,</div><div class='del'>-	  so cannot update Unicode data.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 12:13:54 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by</div><div class='del'>-	  copying necessary part only.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_strip_bang, rb_str_strip): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 12:13:48 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by</div><div class='del'>-	  copying necessary part only.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_strip_bang, rb_str_strip): ditto.</div><div class='del'>-</div><div class='del'>-Wed Nov  5 10:54:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): terminate</div><div class='del'>-	  wchar strings with wchar 0.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 21:23:22 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/Win32API.rb: Fiddle::Importer is defined in</div><div class='del'>-	  fiddle/import.rb and it's not loaded implicitly.</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/Win32API.rb (Win32API#initialize): `import` is a string.</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/Win32API.rb (Win32API#initialize):</div><div class='del'>-	  Fiddle::Importer::CALL_TYPE_TO_ABI is private constant.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 21:20:07 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom.random_bytes): use fiddle directly</div><div class='del'>-	  instead of using Win32API.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 21:04:30 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_request_set_lockfile.rb</div><div class='del'>-	  (test_relative_path_from): driveletter support.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 16:23:57 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb (RemoteFetcherCleanup):</div><div class='del'>-	  close all pooled connections for each tests to fix leaked file</div><div class='del'>-	  descriptors.</div><div class='del'>-</div><div class='del'>-Tue Nov  4 12:51:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (PRIsVALUE), vsnprintf.c (BSD_vfprintf): add</div><div class='del'>-	  RUBY_PRI_VALUE_MARK to reduce danger of accidental conflict with</div><div class='del'>-	  plain "%i".  binary incompatible with extension libraries using</div><div class='del'>-	  PRIsVALUE and built for 2.1 and earlier.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Tue Nov  4 12:33:44 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: fix document of Kernel#String by @suzukaze</div><div class='del'>-	  [fix GH-743][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Nov  4 12:21:45 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: added documentation for skip_blanks option by @decasia</div><div class='del'>-	  [fix GH-744][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Nov  4 12:09:18 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: fix code formatting in documentation by @JoshCheek</div><div class='del'>-	  [fix GH-747][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Nov  4 08:57:37 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_memsize): remove unnecessary function</div><div class='del'>-	  [ruby-core:65304]</div><div class='del'>-</div><div class='del'>-Mon Nov  3 18:09:39 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb: The default of :ignore_listener_error is</div><div class='del'>-	  changed to false.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 14:42:37 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free): resolve memory leak.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 13:49:18 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_memsize): catch up recent changes.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 13:38:28 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: change semantics of opt_num and opt_table.</div><div class='del'>-	  `opt_num' was the number of optional parameters + 1.</div><div class='del'>-	  `opt_table' has "opt_num" entries.</div><div class='del'>-</div><div class='del'>-	  Change them to:</div><div class='del'>-	  `opt_num' is the number of optional parameters.</div><div class='del'>-	  `opt_table' has "opt_num + 1" entries.</div><div class='del'>-</div><div class='del'>-	  This change simplify parameter fitting logics.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this change.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_args.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 11:47:44 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added period into Matrix section. [ci skip]</div><div class='del'>-	  [misc #10446][ruby-core:65987]</div><div class='del'>-</div><div class='del'>-Mon Nov  3 09:43:30 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c: fixed build error with clang</div><div class='del'>-</div><div class='del'>-Mon Nov  3 09:32:46 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI):</div><div class='del'>-	  allow '[' and ']' for URI input (and escape). [Bug #10402]</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 07:49:34 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: change iseq parameter data structure.</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/10440#change-49694</div><div class='del'>-</div><div class='del'>-	  * change terminology `arg' to `param'.</div><div class='del'>-	  * move rb_iseq_t::arg_* to rb_iseq_t::param.</div><div class='del'>-	  * move rb_iseq_t::arg_size to rb_iseq_t::param::size.</div><div class='del'>-	  * move rb_iseq_t::argc to rb_iseq_t::param::lead_num.</div><div class='del'>-	  * move rb_iseq_t::arg_opts to rb_iseq_t::param::opt_num.</div><div class='del'>-	  * move rb_iseq_t::arg_rest to rb_iseq_t::param::rest_start.</div><div class='del'>-	  * move rb_iseq_t::arg_post_num to rb_iseq_t::param::post_num.</div><div class='del'>-	  * move rb_iseq_t::arg_post_start to rb_iseq_t::param::post_start.</div><div class='del'>-	  * move rb_iseq_t::arg_block to rb_iseq_t::param::block_start.</div><div class='del'>-	  * move rb_iseq_t::arg_keyword* to rb_iseq_t::param::keyword.</div><div class='del'>-	    rb_iseq_t::param::keyword is allocated only when keyword</div><div class='del'>-	    parameters are available.</div><div class='del'>-	  * introduce rb_iseq_t::param::flags to represent parameter</div><div class='del'>-	    availability. For example, rb_iseq_t::param::flags::has_kw</div><div class='del'>-	    represents that this iseq has keyword parameters and</div><div class='del'>-	    rb_iseq_t::param::keyword is allocated.</div><div class='del'>-	    We don't need to compare with -1 to check availability.</div><div class='del'>-	  * remove rb_iseq_t::arg_simple.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this change.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_args.c, vm_dump.c, vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): support keyword argument.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 03:39:04 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: r48239 makes this test green.</div><div class='del'>-</div><div class='del'>-Mon Nov 03 03:02:38 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rewrite method/block parameter fitting logic to optimize</div><div class='del'>-	  keyword arguments/parameters and a splat argument.</div><div class='del'>-	  [Feature #10440] (Details are described in this ticket)</div><div class='del'>-</div><div class='del'>-	  Most of complex part is moved to vm_args.c.</div><div class='del'>-</div><div class='del'>-	  Now, ISeq#to_a does not catch up new instruction format.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: change iseq data structures.</div><div class='del'>-</div><div class='del'>-	  * introduce rb_call_info_kw_arg_t to represent keyword arguments.</div><div class='del'>-	  * add rb_call_info_t::kw_arg.</div><div class='del'>-	  * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num.</div><div class='del'>-	  * rename rb_iseq_t::arg_keywords to arg_keyword_num.</div><div class='del'>-	  * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits.</div><div class='del'>-	    to represent keyword bitmap parameter index.</div><div class='del'>-	    This bitmap parameter shows that which keyword parameters are given</div><div class='del'>-	    or not given (0 for given).</div><div class='del'>-	    It is referred by `checkkeyword' instruction described bellow.</div><div class='del'>-	  * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest</div><div class='del'>-	    to represent keyword rest parameter index.</div><div class='del'>-	  * add rb_iseq_t::arg_keyword_default_values to represent default</div><div class='del'>-	    keyword values.</div><div class='del'>-	  * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE</div><div class='del'>-	    to represent</div><div class='del'>-	      (ci-&gt;flag &amp; (SPLAT|BLOCKARG)) &amp;&amp;</div><div class='del'>-	      ci-&gt;blockiseq == NULL &amp;&amp;</div><div class='del'>-	      ci-&gt;kw_arg == NULL.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm_args.c: rewrite with refactoring.</div><div class='del'>-</div><div class='del'>-	  * rewrite splat argument code.</div><div class='del'>-	  * rewrite keyword arguments/parameters code.</div><div class='del'>-	  * merge method and block parameter fitting code into one code base.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_eval.c: catch up these changes.</div><div class='del'>-</div><div class='del'>-	* compile.c (new_callinfo): callinfo requires kw_arg parameter.</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): check the last argument Hash object or</div><div class='del'>-	  not. If Hash object and all keys are Symbol literals, they are</div><div class='del'>-	  compiled to keyword arguments.</div><div class='del'>-</div><div class='del'>-	* insns.def (checkkeyword): add new instruction.</div><div class='del'>-	  This instruction check the availability of corresponding keyword.</div><div class='del'>-</div><div class='del'>-	  For example, a method "def foo k1: 'v1'; end" is compiled to the</div><div class='del'>-	  following instructions.</div><div class='del'>-</div><div class='del'>-	    0000 checkkeyword     2, 0  # check k1 is given.</div><div class='del'>-	    0003 branchif         9     # if given, jump to address #9</div><div class='del'>-	    0005 putstring        "v1"</div><div class='del'>-	    0007 setlocal_OP__WC__0 3   # k1 = 'v1'</div><div class='del'>-	    0009 trace            8</div><div class='del'>-	    0011 putnil</div><div class='del'>-	    0012 trace            16</div><div class='del'>-	    0014 leave</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_send_simple): removed and add new instruction</div><div class='del'>-	  "opt_send_without_block".</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_tail_gen): reorder variables.</div><div class='del'>-	  Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &amp;b)"</div><div class='del'>-	  has parameter variables "k1, kr1, k2, &amp;b, internal_id, krest",</div><div class='del'>-	  but this patch reorders to "kr1, k1, k2, internal_id, krest, &amp;b".</div><div class='del'>-	  (locate a block variable at last)</div><div class='del'>-</div><div class='del'>-	* parse.y (vtable_pop): added.</div><div class='del'>-	  This function remove latest `n' variables from vtable.</div><div class='del'>-</div><div class='del'>-	* iseq.c: catch up iseq data changes.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (keyword_error): export as rb_keyword_error().</div><div class='del'>-</div><div class='del'>-	* common.mk: depend vm_args.c for vm.o.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_has_key): export.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 02:35:32 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* sample/simple-bench.rb: added to measure performance of simple</div><div class='del'>-	  lines.</div><div class='del'>-</div><div class='del'>-Mon Nov  3 02:33:43 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): show T_STRING more details.</div><div class='del'>-</div><div class='del'>-Sun Nov  2 01:30:32 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Don't ignore errors on listener threads,</div><div class='del'>-	  as much as possible.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_partial_record_read.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 23:11:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb (start_server): Don't close sockets before</div><div class='del'>-	  threads finished.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 22:06:24 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (test_ctx_client_session_cb): Don't</div><div class='del'>-	  ignore errors of SSL accept.</div><div class='del'>-	  (test_ctx_server_session_cb): Ditto.</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb (server_loop): Add ignore_ssl_accept_error</div><div class='del'>-	  argument.</div><div class='del'>-	  (start_server): Refine threads waits.</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_join_threads): Show a thread before</div><div class='del'>-	  backtrace.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 20:40:18 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb (start_server, server_loop): Use a</div><div class='del'>-	  pipe to stop server instead of shutdown/close a listening socket.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 19:24:59 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_join_threads): New assertion to</div><div class='del'>-	  join multiple threads without exceptions.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 17:09:32 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_balance_with_mulfunc): Fix free work area</div><div class='del'>-	  location.</div><div class='del'>-	  [ruby-dev:48723] [Bug #10464]</div><div class='del'>-	  [ruby-core:66044] [Bug #10465]</div><div class='del'>-	  Reported by Kohji Nishihama.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 15:45:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_atmark): mere atmark and two atmarks without</div><div class='del'>-	  succeeding identifiers are invalid as instance/class variable</div><div class='del'>-	  names.</div><div class='del'>-</div><div class='del'>-Sat Nov  1 06:31:41 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variant.c: use typed data.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 13:55:28 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/*: remove DL as it is replaced by Fiddle.</div><div class='del'>-	  [Feature #5458] Thanks to Jonan Scheffler &lt;jonanscheffler@gmail.com&gt;</div><div class='del'>-	  for this patch</div><div class='del'>-</div><div class='del'>-	* test/dl/*: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 15:26:02 2014  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Add certificate verification chain</div><div class='del'>-	  test from JRuby community.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 18:58:02 2014  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_emitter.rb: Fix line_width test...initial value</div><div class='del'>-	  is impl-specific and attr assignment always returns LHS.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 22:19:30 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest.rb (Digest()): This function should now be</div><div class='del'>-	  thread-safe.  If you have a problem with regard to on-demand</div><div class='del'>-	  loading under a multi-threaded environment, preload "digest/*"</div><div class='del'>-	  modules on boot or use this method instead of directly</div><div class='del'>-	  referencing Digest::*. [Bug #9494]</div><div class='del'>-	  cf. https://github.com/aws/aws-sdk-ruby/issues/525</div><div class='del'>-</div><div class='del'>-Fri Oct 31 21:33:17 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: Drop #!.  This no longer runs</div><div class='del'>-	  stand-alone because it depends on ruby/envutil.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 17:22:19 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak: $(APPEND) with some arguments insert a space before</div><div class='del'>-	  the arguments, so it causes error if the arguments are expected to be</div><div class='del'>-	  a macro definition.  this fix resolve the build error introduced at</div><div class='del'>-	  r48210.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 16:47:35 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog/lib/syslog/logger.rb (Syslog::Logger::VERSION): Bump</div><div class='del'>-	  the VERSION to 2.1.0. [ruby-core:64483] [Bug #10159]</div><div class='del'>-</div><div class='del'>-Fri Oct 31 16:33:46 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (Net::IMAP#fetch): [DOC] Document that</div><div class='del'>-	  Net::IMAP#fetch will return nil instead of an empty array.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 12:54:43 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (.unicode-tables.time): needs Unicode files always,</div><div class='del'>-	  and should update after downloading these files.</div><div class='del'>-	  [ruby-core:66026] [Bug #10461]</div><div class='del'>-</div><div class='del'>-Fri Oct 31 10:16:42 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: reverted r48199, it's unrelated configuration.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 09:58:14 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_unicode_normalize.rb: added unicode version number to</div><div class='del'>-	  test data location.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 09:56:41 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored unicode data with version directories.</div><div class='del'>-</div><div class='del'>-Fri Oct 31 09:35:30 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: tweak build scripts for unicode_normalize.rb.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 18:47:04 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix for the case ALWAYS_UPDATE_UNICODE=no</div><div class='del'>-</div><div class='del'>-Thu Oct 30 13:23:23 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: changed Unicode data download location</div><div class='del'>-	  from latest Unicode version to Unicode 7.0.0.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 11:16:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg{_complex,}): try conversion</div><div class='del'>-	  by to_ary for a lambda, as well as a proc.</div><div class='del'>-	  [ruby-core:65887] [Bug #9605]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 21:13:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): warn circular argument reference, for</div><div class='del'>-	  transition from 2.1 and earlier.  [ruby-core:65990] [Bug #10314]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 20:41:01 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_params): remove unused member `cur_mid`.</div><div class='del'>-	  this has been taken over by `in_def` since 1.6.</div><div class='del'>-</div><div class='del'>-Wed Oct 29 14:44:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_load): path name needs to be transcoded to OS path</div><div class='del'>-	  encoding.  [ruby-list:49994]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:48:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (__builtin_setjmp): disable with gcc/clang earlier</div><div class='del'>-	  than 4.3 on Mac OS X.  [ruby-core:65174] [Bug #10272]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:43:43 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Generalize Vector#cross_product to arbitrary</div><div class='del'>-	  dimensions</div><div class='del'>-	  based on a patch by gogo tanaka [#10074]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:43:11 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Matrix#adjucate</div><div class='del'>-	  patch by gogo tanaka [#10056]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 11:42:33 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add aliases for Vector#cross &amp; dot</div><div class='del'>-	  patch by gogo tanaka [#10352]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 10:00:18 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update latest version of bundled gems.</div><div class='del'>-</div><div class='del'>-Tue Oct 28 16:52:07 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (install_sighandler): remove rb_disable_interrupt and</div><div class='del'>-	  rb_enable_interrupt calls</div><div class='del'>-	  (init_sigchld): ditto</div><div class='del'>-	  (Init_signal): disable and enable interrupt once around all</div><div class='del'>-	  install_sighandler and init_sigchld to reduce syscalls at start</div><div class='del'>-	  [Feature #9345] [ruby-core:59480]</div><div class='del'>-</div><div class='del'>-Tue Oct 28 16:22:41 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options, load_file_internal2): should not</div><div class='del'>-	  require other files when dump option is given.</div><div class='del'>-	  [ruby-dev:48712] [Bug #10435]</div><div class='del'>-</div><div class='del'>-Tue Oct 28 14:51:38 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove apple-gcc4.2 from CC candidates.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 20:13:37 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/entity.rb: keep the entity size within the limitation.</div><div class='del'>-	  reported by Willis Vandevanter &lt;will@silentrobots.com&gt; and</div><div class='del'>-	  patched by nahi.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 17:17:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_proc): the receiver of binding from method should</div><div class='del'>-	  be same as the receiver of the method.</div><div class='del'>-	  [ruby-core:65917] [Bug #10432]</div><div class='del'>-</div><div class='del'>-Mon Oct 27 16:26:37 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: add a test to check block passing.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 15:59:26 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: is_incremental_marking(), will_be_incremental_marking():</div><div class='del'>-	  use `&amp;&amp;' with GC_ENABLE_INCREMENTAL_MARK instead of using</div><div class='del'>-	  #if/#else/#endif.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 13:40:11 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep_rest): sweep rest pages regardless of whether</div><div class='del'>-	  lazy sweep is enabled or not.  based on the patch by Masahiro</div><div class='del'>-	  Ide at [ruby-dev:48706].  [Bug #10431]</div><div class='del'>-</div><div class='del'>-Mon Oct 27 11:18:32 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  reduce garbage during forks</div><div class='del'>-</div><div class='del'>-Sun Oct 25 12:26:26 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* template/insns.inc.tmpl, insns_info.inc.tmpl, known_errors.inc.tmpl,</div><div class='del'>-	  minsns.inc.tmpl: fixed path of generating script.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 12:24:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/sexp.rb (Ripper.sexp, Ripper.sexp_raw):</div><div class='del'>-	  return nil on error.  [ruby-dev:48678] [Bug #10405]</div><div class='del'>-</div><div class='del'>-Sun Oct 25 11:24:24 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: improved comment.</div><div class='del'>-</div><div class='del'>-Sun Oct 26 07:40:11 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2variant, ole_invoke): refactoring.</div><div class='del'>-	  use ole_variant2variant to convert WIN32OLE_VARIANT object to</div><div class='del'>-	  VARIANT object.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variant.c: refactoring. add</div><div class='del'>-	  ole_variant2variant.</div><div class='del'>-	* ext/win32ole/win32ole_variant.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 22:28:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite_string): Test writev() failure.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 20:19:19 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: added test_us_ascii.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 20:09:09 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: added US_ASCII</div><div class='del'>-	  as trivially supported encoding (is always normalized,</div><div class='del'>-	  and may appear mixed in with UTF-8 or other Unicode</div><div class='del'>-	  encodings).</div><div class='del'>-</div><div class='del'>-Sat Oct 25 20:01:01 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: added</div><div class='del'>-	  test_raise_exception_for_non_unicode_encoding.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 19:30:30 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: removed unused function.</div><div class='del'>-</div><div class='del'>-Sat Oct 25 18:41:41 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* template/unicode_norm_gen.tmpl: Adjusted name of generating file.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 22:49:42 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): dispatch newline and space at fluent</div><div class='del'>-	  interface, so that the following identifier does not include the</div><div class='del'>-	  space.  [ruby-dev:48684] [Bug #10411]</div><div class='del'>-</div><div class='del'>-Fri Oct 24 20:41:36 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_reserved_signal_): fix write count since r47991.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 21:42:54 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_delete): now does not call the block given to</div><div class='del'>-	  the current method.  [ruby-core:65861] [Bug #10413]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 19:13:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): warn redefinition only for</div><div class='del'>-	  already defined methods, but not for undefined methods.</div><div class='del'>-	  [ruby-dev:48691] [Bug #10421]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 17:19:04 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb (REXML::IOSource#encoding_updated): Fix a</div><div class='del'>-	  bug that can't parse XML correctly when</div><div class='del'>-	  Encoding.default_internal is different with XML</div><div class='del'>-	  encoding. REXML::Source converts XML encoding on read. So IO</div><div class='del'>-	  should not convert XML encoding.</div><div class='del'>-	  Based on patch by NAKAMURA Usaku.</div><div class='del'>-	  [ruby-dev:48686] [Bug #10418]</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_encoding.rb</div><div class='del'>-	  (REXMLTests::EncodingTester#test_parse_utf16_with_utf8_default_internal):</div><div class='del'>-	  Add the for the above case.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 16:29:02 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_encoding.rb</div><div class='del'>-	  (REXMLTests::EncodingTester#test_parse_utf16): Use meaningful</div><div class='del'>-	  test name. "ticket" in the old test name means the ticket in</div><div class='del'>-	  REXML's issue tracker. The REXML's issue tracker was gone. So</div><div class='del'>-	  "ticket" is meaningless.</div><div class='del'>-</div><div class='del'>-	* test/rexml/data/ticket_110_utf16.xml: Rename to ...</div><div class='del'>-	* test/rexml/data/utf16.xml: ... this.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 16:18:11 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_encoding.rb</div><div class='del'>-	  (REXMLTests::EncodingTester#test_ticket_110): Fix expected and</div><div class='del'>-	  actual order.</div><div class='del'>-	  Patch by NAKAMURA Usaku. Thanks!!!</div><div class='del'>-</div><div class='del'>-Thu Oct 23 10:47:16 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (getlocal,setlocal): add comment to def/opt_operand.def</div><div class='del'>-</div><div class='del'>-Thu Oct 23 10:22:41 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  use IO#wait_readable instead of timeout</div><div class='del'>-</div><div class='del'>-Thu Oct 23 10:22:24 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  ensure exit! during fork failure</div><div class='del'>-</div><div class='del'>-Thu Oct 23 10:21:21 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Added String#unicode_normalize(|!|d?) [ci skip]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 03:41:51 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (unknown_keyword_error): delete expected keywords</div><div class='del'>-	  directly from raw table, so that the given block is not called.</div><div class='del'>-	  [ruby-core:65837] [Bug #10413]</div><div class='del'>-</div><div class='del'>-Thu Oct 23 02:33:01 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (update-unicode): invert dependency to run every times.</div><div class='del'>-	  [ruby-core:65842] [Bug #10415]</div><div class='del'>-</div><div class='del'>-	* common.mk (after-update): update files under source tree.</div><div class='del'>-	  [ruby-core:65840] [Bug #10414]</div><div class='del'>-</div><div class='del'>-Wed Oct 22 22:38:59 2014  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (DEFAULT_PARAMS): override</div><div class='del'>-	  options even if OpenSSL::SSL::OP_NO_SSLv3 is not defined.</div><div class='del'>-	  this is pointed out by Stephen Touset. [ruby-core:65711] [Bug #9424]</div><div class='del'>-</div><div class='del'>-Wed Oct 22 21:31:56 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (prelude.c): add dependency to LIB_SRCS because</div><div class='del'>-	  enc/prelude.rb requires lib/unicode_normalize.rb, and it's also</div><div class='del'>-	  requires lib/unicode_normalize/tables.rb (=LIB_SRCS).</div><div class='del'>-</div><div class='del'>-Wed Oct 22 21:09:51 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (nacl_cv_cpu_nick): fix typo in PNaCl.</div><div class='del'>-	  (XCFLAGS) Add -isystem flag to pnacl and nacl-newlib</div><div class='del'>-	  (CXX): added</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in (CXX): Added</div><div class='del'>-	  (PPROGRAM): Use clang++ instead of clang because libnacl_io</div><div class='del'>-	  depends on c++ std lib.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 21:07:32 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (build-ext): avoid trying to build dynamic libraries</div><div class='del'>-	  if configured --with-static-linked-ext.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 20:33:33 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Fixed grammar in comment [ci skip]</div><div class='del'>-</div><div class='del'>-Wed Oct 22 19:18:18 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.rb: Fixed escaping of backslash and</div><div class='del'>-	  double quote ('\\\&amp;' -&gt; "\\\\\\\&amp;"; double quoted string</div><div class='del'>-	  is needed to make \&amp; mean last match; double double</div><div class='del'>-	  backslashes are needed because of two layers of escaping).</div><div class='del'>-</div><div class='del'>-Wed Oct 22 18:13:29 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: as often said, ruby is sometimes built</div><div class='del'>-	  at non-srcdir.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 18:12:12 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: Adjusted path for test</div><div class='del'>-	  data file (now ../enc/unicode/data/NormalizationTest.txt).</div><div class='del'>-</div><div class='del'>-Wed Oct 22 18:07:07 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: Removed explicit require,</div><div class='del'>-	  changed method names, adjusted copyright.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 18:00:00 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test-unicode_normalize.rb: Importing from</div><div class='del'>-	  https://github.com/duerst/eprun/blob/master/test/test_normalize.rb.</div><div class='del'>-	  (removing trailing whitespace, fixing EOLs and adding EOL property)</div><div class='del'>-</div><div class='del'>-Wed Oct 22 08:21:09 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c (Instance_DidCreate): mount devfs and rebind fd 0</div><div class='del'>-	  .. 2 so that stderr goes to the console of the browser.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 03:47:43 2014  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors_affin): maximum "n" should be 16384.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 03:37:00 2014  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors_affin): minor spell fix.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 03:33:58 2014  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors_affin): optimize memory usage a</div><div class='del'>-	  bit. Typical rubyist never use 8k cpus machine.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 00:01:09 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XCFLAGS): Add include path for NaCl libraries.</div><div class='del'>-	  (XLDFLAGS): ditto.</div><div class='del'>-	  (NACL_LIB_PATH): new substitution</div><div class='del'>-</div><div class='del'>-	* nacl/nacl-config.rb: support NACL_LIB_PATH</div><div class='del'>-</div><div class='del'>-	* nacl/package.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c: replace old implementations with nacl_io.</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in: link nacl_io to pepper_ruby</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_load_file): remove __attribute__((weak)) because the old</div><div class='del'>-	  override hack was replaced with nacl_io.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_load_ok): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 17:32:32 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Adding explicit creation of directory</div><div class='del'>-	  enc/unicode/data because git doesn't handle empty</div><div class='del'>-	  directories. [patch by Masahiro Ide, filed with r48073]</div><div class='del'>-</div><div class='del'>-Tue Oct 21 17:12:12 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/tables.rb: Committing to make version</div><div class='del'>-	  update easier and more predictable, and reducing compilation</div><div class='del'>-	  time.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 15:56:56 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: Added comment to point to</div><div class='del'>-	  relevant portion of Unicode standard for Hangul (de)composition</div><div class='del'>-	  identifiers and algorithm.</div><div class='del'>-</div><div class='del'>-Tue Oct 21 11:49:16 2014  Andreas Schwab  &lt;schwab@suse.de&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context) [__mc68000__]: Update stack</div><div class='del'>-	  marking.</div><div class='del'>-	  (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 23:59:38 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/prelude.rb: we sometimes run ruby without library path (especially</div><div class='del'>-	  for test), so should permit to run ruby if unicode_normalize.rb is</div><div class='del'>-	  missing.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 23:57:58 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (lib/unicode_normalize/tables.rb): enable running (n)make</div><div class='del'>-	  in non-srcdir.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 23:58:04 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: add -a option to always download regardless</div><div class='del'>-	  existing files.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 23:18:18 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: no need to convert path separator for COPY because it's</div><div class='del'>-	  ruby -run cp and it can treat '/' on any platform.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 19:54:54 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* config.mk: Added missing data files as targets for</div><div class='del'>-	  prerequisite update_unicode.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 19:06:06 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: revert r48046. The s in sIndex</div><div class='del'>-	  is not hungarian notation. The variable name sIndex is</div><div class='del'>-	  directly taken from the relevant part of the Unicode</div><div class='del'>-	  Standard, where it is written SIndex and stands for</div><div class='del'>-	  'syllable index'. See pp. 144/145 of</div><div class='del'>-	  http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 12:46:46 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: removing unnecessary 'self'.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 12:37:37 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: change method names</div><div class='del'>-	  in commented-out code. Followup to r48027.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 02:23:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_get), vm_insnhelper.c (vm_getivar): improve</div><div class='del'>-	  instance variable retrieval performance by checking ruby_verbose</div><div class='del'>-	  before call of rb_warning and evaluation of its argument.</div><div class='del'>-	  [ruby-core:65786] [Feature #10396]</div><div class='del'>-</div><div class='del'>-Sun Oct 19 23:31:29 2014  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: (unicode_normalize!): change method name.</div><div class='del'>-	  catch up the method name change at r48014. [Feature #10084]</div><div class='del'>-</div><div class='del'>-Sun Oct 19 20:05:58 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tile/treeview.rb: fix syntax error.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 18:39:39 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/prelude.rb: Added automatic loading of</div><div class='del'>-	  lib/unicode_normalize.rb. This makes sure that all</div><div class='del'>-	  the methods that are available on String are</div><div class='del'>-	  available without explicit require.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 18:35:35 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: Added a missing</div><div class='del'>-	  file extension in require statement.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 18:13:13 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Added a rule to generate</div><div class='del'>-	  lib/unicode_normalize/tables.rb. This rule still</div><div class='del'>-	  needs to be integrated into the overall make process.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 17:53:53 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Changed to dynamic</div><div class='del'>-	  loading of actual normalization code and tables.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 17:37:37 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Small documentation fix.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 17:26:26 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Added documentation.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 11:09:09 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.rb, lib/unicode_normalize.rb:</div><div class='del'>-	  File name change from lib/unicode_normalize/normalize_tables.rb</div><div class='del'>-	  to lib/unicode_normalize/tables.rb.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 10:12:12 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Changing method names, see</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/10084#note-7</div><div class='del'>-</div><div class='del'>-Sun Oct 19 10:10:10 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Changing module name.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 10:08:08 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Changing require statement,</div><div class='del'>-	  adjusting copyright.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 10:04:04 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: Importing from</div><div class='del'>-	  https://github.com/duerst/eprun/blob/master/lib/string_normalize.rb.</div><div class='del'>-	  (removing trailing whitespace, fixing EOLs and adding EOL property)</div><div class='del'>-</div><div class='del'>-Sun Oct 19 09:56:56 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.rb: Changed module name.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 09:48:48 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: Changed module name,</div><div class='del'>-	  adjusted copyright.</div><div class='del'>-</div><div class='del'>-Sun Oct 19 09:38:38 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/normalize.rb: Importing from</div><div class='del'>-	  https://github.com/duerst/eprun/blob/master/lib/normalize.rb.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 20:40:52 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, proc.c, vm_backtrace.c, vm_trace.c:</div><div class='del'>-	  remove rb_binding_new_with_cfp, and use rb_vm_make_binding instead.</div><div class='del'>-</div><div class='del'>-Sat Oct 18 20:38:48 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm.c, proc.c: fix GC mark miss on bindings.</div><div class='del'>-	  [ruby-dev:48616] [Bug #10368]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: add a test code.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 22:47:11 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): Add casts for char references for 'u'.</div><div class='del'>-	  Fix line ending recognition algorithm.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 21:49:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): Add casts for char references for 'b' and 'h'.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 17:50:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Avoid undefined behaviors found by gcc -fsanitize=undefined.</div><div class='del'>-	  gcc (Debian 4.9.1-16) 4.9.1</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sum): Avoid undefined behavior.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 17:43:50 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Avoid undefined behaviors found by gcc -fsanitize=undefined.</div><div class='del'>-	  gcc (Debian 4.9.1-16) 4.9.1</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (INT2FIX): Avoid undefined behavior.</div><div class='del'>-</div><div class='del'>-	* node.h (nd_set_line): Ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c (encodes): Ditto.</div><div class='del'>-	  (pack_unpack): Ditto.</div><div class='del'>-</div><div class='del'>-	* regint.h (BIT_STATUS_AT): Ditto.</div><div class='del'>-	  (BS_BIT): Ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (time_mdump): Ditto.</div><div class='del'>-	  (time_mload): Ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_FRAME_MAGIC_MASK): Ditto.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (recalc_add_ruby_vm_event_flags): Ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 17 15:06:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): make dynamically compiled US-ASCII</div><div class='del'>-	  regexps ASCII-8BIT encoding if binary (hexadecimal, control,</div><div class='del'>-	  meta) escapes are contained, as well as literal regexps.</div><div class='del'>-	  [ruby-dev:48626] [Bug #10382]</div><div class='del'>-</div><div class='del'>-Fri Oct 17 03:05:08 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bug_reporter/test_bug_reporter.rb</div><div class='del'>-	  (test_bug_reporter_add): revert r47972</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_segv_test): revert r47971</div><div class='del'>-	  [ruby-core:65764]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 23:17:40 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_sigaltstack_size): double default size to get rid</div><div class='del'>-	  of heap corruption by alternate stack overflow in SEGV handler.</div><div class='del'>-	  typically happened at fprintf() in control_frame_dump().</div><div class='del'>-</div><div class='del'>-Thu Oct 16 22:43:12 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (id2str): Fix a variable name.</div><div class='del'>-	  [ruby-dev:48642] [Bug #10389]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 20:01:26 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_pattern_list): Show number of matched</div><div class='del'>-	  patterns and characters.</div><div class='del'>-</div><div class='del'>-Thu Oct 16 16:26:09 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_store): fix WIN32 fibers</div><div class='del'>-	  [ruby-core:65745] [ruby-core:65758]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 15:05:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): do not append already appended</div><div class='del'>-	  and disposed code fragment.  [ruby-dev:48647] [Bug #10392]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 10:35:33 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bug_reporter/test_bug_reporter.rb</div><div class='del'>-	  (test_bug_reporter_add): fix race</div><div class='del'>-</div><div class='del'>-Thu Oct 16 10:09:02 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_segv_test): fix race</div><div class='del'>-</div><div class='del'>-Thu Oct 16 09:17:48 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_t): fix compile error caused by move to</div><div class='del'>-	  vm_core.h at r47964.  [Feature #10341]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 08:58:11 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  avoid killing wrong parent</div><div class='del'>-</div><div class='del'>-Thu Oct 16 08:40:04 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_store): restore references to next_fib (fix typo)</div><div class='del'>-</div><div class='del'>-Thu Oct 16 08:26:08 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_store): remove references to nextfib</div><div class='del'>-	  fix build when FIBER_USE_NATIVE is 0</div><div class='del'>-</div><div class='del'>-Thu Oct 16 06:51:35 2014  Knut Franke  &lt;Knut.Franke@gmx.de&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: declare rb_fiber_t typedef</div><div class='del'>-	  (rb_thread_t): fiber and root_fiber become rb_fiber_t * (from VALUE)</div><div class='del'>-	* vm.c (rb_thread_mark): use rb_fiber_mark_self</div><div class='del'>-	* cont.c (rb_fiber_t): prev becomes rb_fiber_t * (from VALUE)</div><div class='del'>-	  (cont_mark, cont_free): simplify conditions</div><div class='del'>-	  (rb_fiber_mark_self): new function</div><div class='del'>-	  (fiber_mark): use rb_fiber_mark_self</div><div class='del'>-	  (cont_save_thread, cont_restore_thread): inline</div><div class='del'>-	  (cont_restore_thread): simplify</div><div class='del'>-	  (fiber_setcontext): simplify conditions</div><div class='del'>-	  (rb_cont_call): remove dereference</div><div class='del'>-	  (fiber_t_alloc): update for rb_fiber_t-&gt;prev type change</div><div class='del'>-	  (rb_fiber_start): ditto</div><div class='del'>-	  (fiber_current): extract from rb_fiber_current</div><div class='del'>-	  (return_fiber): move, simplify type checks</div><div class='del'>-	  (rb_fiber_current): use fiber_current</div><div class='del'>-	  (fiber_store): simplify type checks</div><div class='del'>-	  (fiber_switch): ditto, simplify call to fiber_setcontext,</div><div class='del'>-	   use fiber_current</div><div class='del'>-	  (rb_fiber_transfer): update for type changes</div><div class='del'>-	  (rb_fiber_terminate): move, use fiber_switch</div><div class='del'>-	  (rb_fiber_resume): update for type changes</div><div class='del'>-	  (rb_fiber_reset_root_local_storage): ditto</div><div class='del'>-	  (rb_fiber_yield): use rb_fiber_switch instead of rb_fiber_transfer</div><div class='del'>-	  (rb_fiber_m_transfer): ditto</div><div class='del'>-	  [ruby-core:65518] [Feature #10341]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 06:25:29 2014  Knut Franke  &lt;Knut.Franke@gmx.de&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_context_t): comment on saved_thread</div><div class='del'>-	  (cont_save_thread): sparse copy</div><div class='del'>-	  (cont_init): copy extra fields</div><div class='del'>-	  (fiber_init): use current thread VM stack size</div><div class='del'>-	  [ruby-core:65518] [Feature #10341]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 06:13:09 2014  Knut Franke  &lt;Knut.Franke@gmx.de&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_capture): remove unnecessary variable</div><div class='del'>-	  [ruby-core:65518] [Feature #10341]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 05:02:31 2014  Knut Franke  &lt;Knut.Franke@gmx.de&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_store, fiber_switch): simplify</div><div class='del'>-	  [ruby-core:65518] [Feature #10341]</div><div class='del'>-</div><div class='del'>-Thu Oct 16 04:28:41 2014  Knut Franke  &lt;Knut.Franke@gmx.de&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_t): remove prev_fiber/next_fiber</div><div class='del'>-	  (fiber_link_join, fiber_link_remove): remove functions</div><div class='del'>-	  (fiber_free, fiber_init, root_fiber_alloc):</div><div class='del'>-	   remove references to removed fields and functions</div><div class='del'>-	  [ruby-core:65518] [Feature #10341]</div><div class='del'>-</div><div class='del'>-Wed Oct 15 22:08:37 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors_affin): Test CPU_ALLOC availability.</div><div class='del'>-	  CentOS 5 don't have CPU_ALLOC().</div><div class='del'>-</div><div class='del'>-Wed Oct 15 18:26:19 2014  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors_affinity): use sched_getaffinity</div><div class='del'>-	  for getting precious number of available cpus.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if</div><div class='del'>-	  possible.</div><div class='del'>-</div><div class='del'>-	  [Feature #10267] etc-nprocessors-kosaki2.patch</div><div class='del'>-</div><div class='del'>-Wed Oct 15 17:53:28 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_pattern_list) Renamed from</div><div class='del'>-	  assert_regexp_list.</div><div class='del'>-	  Show multiline string in multi lines.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/bug_reporter/test_bug_reporter.rb: Use</div><div class='del'>-	  assert_pattern_list.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 12:26:58 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_regexp_list): New assertion method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: Use assert_regexp_list.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 07:21:09 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: min(n) drops elements bigger than the n-th maximum element.</div><div class='del'>-	  (struct nmin_data): New field to record the n-th maximum element, limit</div><div class='del'>-	  (nmin_filter): Update limit field.</div><div class='del'>-	  (nmin_i): Drop too big elements.</div><div class='del'>-	  (nmin_run): Initialize limit field.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 07:00:14 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_string_size): new test</div><div class='del'>-</div><div class='del'>-Wed Oct 15 06:51:13 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_string_eq_neq): new test</div><div class='del'>-	  (test_string_ltlt): ditto</div><div class='del'>-</div><div class='del'>-Wed Oct 15 06:50:29 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_hash_aset_with):</div><div class='del'>-	  assert assignment</div><div class='del'>-</div><div class='del'>-Wed Oct 15 04:56:27 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_obj_id): [DOC] Fix typo, clean up sentence, and wrap cols</div><div class='del'>-</div><div class='del'>-Wed Oct 15 04:53:30 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: [DOC] Fix case of type in exception message by @tricknotes</div><div class='del'>-	  [Fixes GH-740] https://github.com/ruby/ruby/pull/740</div><div class='del'>-</div><div class='del'>-	* object.c: ditto</div><div class='del'>-</div><div class='del'>-Tue Oct 14 21:39:16 2014  Vit Ondruch  &lt;vondruch@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): Fix permissions of bundled gems</div><div class='del'>-	  specification files.  [ruby-core:65700] [Bug #10383]</div><div class='del'>-</div><div class='del'>-Tue Oct 14 19:15:31 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_record.c: use typed data.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 16:23:12 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (global_symbols): make ids two-dimensional array of</div><div class='del'>-	  strings and symbols, for write-barrier.</div><div class='del'>-</div><div class='del'>-	* symbol.c (global_symbols): make IDs immortal always, instead</div><div class='del'>-	  of treating dynamic symbols as IDs.</div><div class='del'>-</div><div class='del'>-	* iseq.c, marshal.c, string.c: use rb_str_intern instead of</div><div class='del'>-	  rb_str_dynamic_intern.</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_str_intern): rename rb_str_dynamic_intern.</div><div class='del'>-</div><div class='del'>-Tue Oct 14 10:19:10 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_string_freeze): new test</div><div class='del'>-	  (test_hash_aref_with): ditto</div><div class='del'>-	  (test_hash_aset_with): ditto</div><div class='del'>-</div><div class='del'>-Tue Oct 14 01:27:54 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (nmin_run): max(n) and max_by(n) returns an array in</div><div class='del'>-	  descending order.</div><div class='del'>-	  [ruby-core:65452] Suggested by David Grayson.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 20:44:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (update-gems): chdir to the target directory and then</div><div class='del'>-	  add the tool directory to load paths, for older BASERUBY.</div><div class='del'>-	  [Bug #10372][ruby-core:65630]</div><div class='del'>-</div><div class='del'>-Mon Oct 13 17:53:01 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem.</div><div class='del'>-	  [Feature #9379][ruby-core:59633]</div><div class='del'>-	* lib/xmlrpc/config.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 16:32:56 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find.find): Call to_path for arguments to obtain</div><div class='del'>-	  strings.</div><div class='del'>-	  [ruby-core:63713] [Bug #10035] Reported by Herwin.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 15:42:25 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: use relative load path for bundled_gems directory.</div><div class='del'>-	  [Bug #10372][ruby-core:65630]</div><div class='del'>-</div><div class='del'>-Mon Oct 13 08:44:06 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: [DOC] fix example missing typedef with patch by</div><div class='del'>-	  @steveklabnik [Fixes GH-739] https://github.com/ruby/ruby/pull/739</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 06:52:09 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_recycle_hash): add RB_GC_GUARD</div><div class='del'>-	  (rb_ary_diff): remove volatile</div><div class='del'>-	  [Bug #10369]</div><div class='del'>-</div><div class='del'>-Mon Oct 13 03:20:23 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [DOC] Clean up whitespace, examples, and typos</div><div class='del'>-	  in date_core based on a patch by @vipulnsward [Fixes GH-724]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/724</div><div class='del'>-</div><div class='del'>-Mon Oct 13 02:39:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (remove_duplicate_keys): should not simply eliminate all</div><div class='del'>-	  value nodes, which may have side effects.</div><div class='del'>-	  [ruby-core:65625] [Bug #10315]</div><div class='del'>-</div><div class='del'>-Sun Oct 12 10:39:16 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: [DOC] fix typo by @yui-knk [Fixes GH-738]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/738</div><div class='del'>-</div><div class='del'>-Sun Oct 12 09:24:15 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb: Hide skips by default.</div><div class='del'>-</div><div class='del'>-Sun Oct 12 01:37:11 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: include sys/time.h only if HAVE_SYS_TIME_H</div><div class='del'>-</div><div class='del'>-Sat Oct 11 22:29:40 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (HAVE_UTIMENSAT): disabled for NativeClient.</div><div class='del'>-	  Fixes build error.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 22:11:58 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: generates the rule for extinit.$(OBJEXT).</div><div class='del'>-	  extinit.$(OBJEXT) used to be generated by the builtin rule, thus</div><div class='del'>-	  didn't accept custom $(CC) and caused linkage error for cross</div><div class='del'>-	  compiling.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 18:46:50 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_fd_select): declare struct timeval, or the</div><div class='del'>-	  struct gets local to the function in C99.</div><div class='del'>-</div><div class='del'>-	* file.c (#include): add nacl/stat.h for PNaCl.</div><div class='del'>-	  (utimes): added a declaration for PNaCl.</div><div class='del'>-	  (stat_atimespec): stat::st_atimensec is long long but</div><div class='del'>-	  timespec::tv_nsec is long in PNaCl.</div><div class='del'>-	  (stat_mtimespec, stat_ctimespec): ditto.</div><div class='del'>-	  (rb_group_member): disable getgroups unless HAVE_GETGROUPS.</div><div class='del'>-	  (eaccess): unify the fallback to generic defined(USE_GETEUID).</div><div class='del'>-</div><div class='del'>-	* io.c: include sys/time.h for struct timeval.</div><div class='del'>-	  (rb_close_before_exec): nothing we can do if F_GETFD is not</div><div class='del'>-	  available.</div><div class='del'>-	  (ioctl): pnacl newlib actually doesn't have ioctl.</div><div class='del'>-</div><div class='del'>-	* process.c (maxgroups): it is used iff</div><div class='del'>-	   defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX) but not</div><div class='del'>-	   defined(HAVE_GETGROUPS) || defined(HAVE_SETGROUPS).</div><div class='del'>-	  (obj2gid): fail unless the object is a Fixnum if getgrnam is not</div><div class='del'>-	  available.</div><div class='del'>-	  (disable_child_handler_fork_child): sigaction is not available in</div><div class='del'>-	  PNaCl newlib.</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags, strict_warnflags): avoid -ansi for strlcpy.</div><div class='del'>-	  (rb_cv_gcc_atomic_builtins): also check</div><div class='del'>-	  __atomic_or_etch because it is used in ruby_atomic.h.</div><div class='del'>-	  (rb_cv_gcc_sync_builtins): ditto.</div><div class='del'>-	  (HAVE_GETGRNAM): added.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 15:32:08 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary_exception): move RB_GC_GUARD</div><div class='del'>-	  (iseq_build_from_ary_body): use PRIsVALUE instead of RB_GC_GUARD</div><div class='del'>-</div><div class='del'>-Sat Oct 11 14:57:08 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_intern): remove unnecessary RB_GC_GUARD</div><div class='del'>-</div><div class='del'>-Sat Oct 11 13:47:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (remove_duplicate_keys): remove duplicate literal keys,</div><div class='del'>-	  i.e., symbols and strings.  [ruby-core:65368] [Bug #10315]</div><div class='del'>-</div><div class='del'>-	* vm.c (kwmerge_i): override existing keys by new keys.</div><div class='del'>-	  [ruby-core:65368] [Bug #10315]</div><div class='del'>-</div><div class='del'>-	* parse.y (assocs): concatenate splatted literal hashes.  the</div><div class='del'>-	  former key has precedence even if duplicated literal keys</div><div class='del'>-	  follow.  [ruby-core:65368] [Bug #10315]</div><div class='del'>-</div><div class='del'>-Sat Oct 11 12:27:03 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_NACL): automatically locate pnacl-clang.</div><div class='del'>-	  (RUBY_PLATFORM): pnacl instead of le32-nacl.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 11:27:14 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: fix issues in the last two commits. don't disable cloexec for</div><div class='del'>-	  platforms other than NativeClient.</div><div class='del'>-</div><div class='del'>-	* ChangeLog: ditto. add entries for the last two commits.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 11:12:00 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (install_signalhandler, init_sigchld): allow failure because it</div><div class='del'>-	  always fails with ENOSYS on NaCl.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 11:11:53 2014  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_NACL and others): merge patch from naclports. Supports PNaCl.</div><div class='del'>-</div><div class='del'>-	* dln.c: ditto. replace the old hacky dynamic loading over HTTP with nacl_io.</div><div class='del'>-</div><div class='del'>-	* file.c: ditto. tentatively use access(2) instead of eaccess.</div><div class='del'>-	  (rb_file_load_ok): weaken with attribute but not by postprocess.</div><div class='del'>-</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-	  (socket.h): now NaCl has socket.h</div><div class='del'>-	  (flock): disable here instead of nacl/ioctl.h</div><div class='del'>-</div><div class='del'>-	* nacl/GNUmakefile.in: ditto.</div><div class='del'>-	  (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY):</div><div class='del'>-	  respect path to them if they are absolute.</div><div class='del'>-	  This helps naclports to build ruby in their source tree.</div><div class='del'>-	  (PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl.</div><div class='del'>-	  (ruby.o, file.o): move the hack to attributes in ruby.c and file.c</div><div class='del'>-</div><div class='del'>-	* nacl/ioctl.h: ditto. removed. move the hack to io.c.</div><div class='del'>-</div><div class='del'>-	* nacl/nacl-config.rb: ditto. support arm, pnacl and others.</div><div class='del'>-</div><div class='del'>-	* nacl/pepper_main.c: ditto. support build in a naclports tree.</div><div class='del'>-</div><div class='del'>-	* ruby.c (rb_load_file): ditto. weaken with attribute but not by postprocess.</div><div class='del'>-</div><div class='del'>-Sat Oct 11 09:32:00 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c: [DOC] Fix example to render in HTML</div><div class='del'>-	  properly, with a patch by @eval [Fixes GH-733]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/733</div><div class='del'>-</div><div class='del'>-Sat Oct 11 04:14:41 2014  Kir Shatrov  &lt;shatrov@me.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI::Options): add :open_timeout default</div><div class='del'>-	* (def OpenURI.open_http): check :open_timeout option</div><div class='del'>-	* (module OpenURI): rdoc for :open_timeout</div><div class='del'>-	* test/open-uri/test_open-uri.rb (test_open_timeout): new test</div><div class='del'>-	  [Feature #10361]</div><div class='del'>-</div><div class='del'>-Fri Oct 10 11:27:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_mode_flags, rb_io_modenum_flags):</div><div class='del'>-	  deprecate old macros for compatibility for ruby 1.8 and older.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 23:31:47 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (absint_numwords_generic): set an array element after</div><div class='del'>-	  definition of a variable to fix compile error with older version</div><div class='del'>-	  of fcc (Fujitsu C Compiler) 5.6 on Solaris 10 on Sparc.</div><div class='del'>-	  [Bug #10350] [ruby-dev:48608]</div><div class='del'>-</div><div class='del'>-Thu Oct  9 16:15:26 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/st/foreach/extconf.rb: new file</div><div class='del'>-	* ext/-test-/st/foreach/foreach.c: ditto</div><div class='del'>-	* test/-ext-/st/test_foreach.rb: ditto</div><div class='del'>-	  [Feature #10321]</div><div class='del'>-</div><div class='del'>-Thu Oct  9 12:40:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_aref_sym*.rb: force static symbols</div><div class='del'>-</div><div class='del'>-Thu Oct  9 12:38:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): remove unnecessary dsym check</div><div class='del'>-</div><div class='del'>-Thu Oct  9 07:20:30 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/setproctitle.c: Avoid invalidating argv[1], argv[2],</div><div class='del'>-	  etc. until the first call to Process.setproctitle, because</div><div class='del'>-	  the ps command of AIX refers to the argv array.</div><div class='del'>-	  [Bug #10090]</div><div class='del'>-</div><div class='del'>-Thu Oct  9 00:53:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_aref): fix rdoc.  `Dir.glob` allows an array but</div><div class='del'>-	  `Dir[]` not.  the former accepts an optional parameter `flags`,</div><div class='del'>-	  while the latter accepts arbitrary number of arguments but no</div><div class='del'>-	  `flags`.  [ruby-core:65265] [Bug #10294]</div><div class='del'>-</div><div class='del'>-Wed Oct  8 21:44:10 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variable.c: use typed data.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 16:36:47 2014  gogo tanaka  &lt;mail@tanakakazuki.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_syntax.rb: added syntax tests of underscore</div><div class='del'>-	  arguments.  [Feature #10340][ruby-core:65496]</div><div class='del'>-</div><div class='del'>-Wed Oct  8 07:42:39 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI#inspect): remove Object id.</div><div class='del'>-	  URI is considered that it doesn't require id.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 05:22:42 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_systmpdir): set default tmplen correctly</div><div class='del'>-	  Fixup r47826</div><div class='del'>-</div><div class='del'>-Wed Oct  8 05:16:32 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add @- and @+ for Matrix and Vector.</div><div class='del'>-	  patch by gogo tanaka [#10068] [#10069]</div><div class='del'>-</div><div class='del'>-Wed Oct  8 04:58:48 2014  John Bachir  &lt;j@jjb.cc&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb (assert_finish):</div><div class='del'>-	  normalize rescue for Timeout::Error</div><div class='del'>-	* lib/net/ftp.rb (Net#read_timeout): ditto for doc</div><div class='del'>-	* lib/resolv.rb (Resolv::ResolvTimeout): ditto for subclass</div><div class='del'>-	* lib/webrick/httprequest.rb (_read_data): ditto for rescue</div><div class='del'>-	* sample/timeout.rb (p timeout): ditto for call</div><div class='del'>-	* test/drb/drbtest.rb (test_06_timeout): ditto</div><div class='del'>-	* test/ruby/test_readpartial.rb (test_open_pipe): ditto</div><div class='del'>-	* test/thread/test_queue.rb (test_queue_thread_raise): ditto</div><div class='del'>-	* thread.c (rb_thread_s_handle_interrupt): ditto for doc</div><div class='del'>-	  [ruby-core:65481] [misc #10339]</div><div class='del'>-</div><div class='del'>-Wed Oct  8 04:38:29 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (TestProcess#test_setsid): AIX</div><div class='del'>-	  does not allow Process::getsid(pid) when pid is in a</div><div class='del'>-	  different session.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 04:33:04 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding):</div><div class='del'>-	  On AIX, locale_charmap is ISO-8859-1 with LANG=C.  This means</div><div class='del'>-	  the source encoding of stdin is ISO-8859-1, so "invalid</div><div class='del'>-	  multibyte char" error does not occur.</div><div class='del'>-</div><div class='del'>-Wed Oct  8 04:30:29 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Matrix#laplace_expansion.</div><div class='del'>-	  patch by gogo tanaka [#10073]</div><div class='del'>-</div><div class='del'>-Wed Oct  8 04:29:21 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Vector.basis.</div><div class='del'>-	  Based on patch by gogo tanaka [#10072]</div><div class='del'>-</div><div class='del'>-Tue Oct  7 23:40:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): get rid of deadlock as unhandled and</div><div class='del'>-	  discarded signals do not make interrupt_cond signaled.</div><div class='del'>-	  based on the patch by Kazuki Tsujimoto at [ruby-dev:48606].</div><div class='del'>-	  [Bug #9820]</div><div class='del'>-</div><div class='del'>-Tue Oct  7 22:43:44 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_method.c: use typed data.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 21:47:05 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_param.c: refactoring.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 21:40:17 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_method.c: refactoring. add</div><div class='del'>-	  olemethod_data_get_struct to wrap Data_Get_Struct.</div><div class='del'>-	* ext/win32ole/win32ole_method.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_param.c (oleparam_ole_param):</div><div class='del'>-	  call olemethod_data_get_struct instead of Data_Get_Struct.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 11:17:08 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_systmpdir): try user temporary directory by</div><div class='del'>-	  confstr() on Mac OS X.</div><div class='del'>-	  c.f. http://www.opensource.apple.com/source/ruby/ruby-104/patches/ext_etc_etc.c.diff</div><div class='del'>-</div><div class='del'>-Tue Oct  7 10:48:17 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (struct stat.st_size): prefer off_t over int, long,</div><div class='del'>-	  and so on.  inspired by</div><div class='del'>-	  http://www.opensource.apple.com/source/ruby/ruby-104/patches/config.h.ed</div><div class='del'>-</div><div class='del'>-Tue Oct  7 10:37:39 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_UNIVERSAL_ARCH): fix missing quoting</div><div class='del'>-	  brackets.  incorporated from</div><div class='del'>-	  http://www.opensource.apple.com/source/ruby/ruby-104/patches/configure.diff</div><div class='del'>-</div><div class='del'>-Mon Oct  6 23:34:42 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_param.c: use typed data.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 22:37:09 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.h (struct RSymbol): move from internal.h.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 21:43:03 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: update exception tree. [DOC]</div><div class='del'>-	  reported by @hemge via twitter.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 18:43:03 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix typo. [Bug #9914]</div><div class='del'>-</div><div class='del'>-Mon Oct  6 16:23:30 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): should not ignore signal unless the</div><div class='del'>-	  default handler is registered.  [ruby-dev:48592] [Bug #9820]</div><div class='del'>-</div><div class='del'>-Mon Oct  6 16:07:11 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (test_LSHIFT_neary_long_max): enable</div><div class='del'>-	  only on platforms where string size range is smaller than memory</div><div class='del'>-	  space.  this test does not make sense but just wastes memory and</div><div class='del'>-	  time on other platforms, as it is hardly possible that a string</div><div class='del'>-	  size becomes neary LONG_MAX if long size equals pointer size.</div><div class='del'>-	  [ruby-core:65410] [Bug #10325]</div><div class='del'>-</div><div class='del'>-Mon Oct  6 11:21:21 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.rb: Adding/tweaking comments.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 10:57:57 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.rb: Adjusted directory paths.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 10:27:27 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.rb: Data generation script imported from</div><div class='del'>-	  https://github.com/duerst/eprun/blob/master/lib/generate.rb</div><div class='del'>-</div><div class='del'>-Mon Oct  6 10:15:15 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Adjust example in documentation for</div><div class='del'>-	  Downloader.download.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 10:07:07 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize: New folder for Unicode normalization</div><div class='del'>-	  functionality</div><div class='del'>-</div><div class='del'>-Sun Oct  5 11:04:13 2014  Luiz Angelo Daros de Luca  &lt;luizluca@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/{md5,rmd160,sha1,sha2}/extconf.rb: configure OpenSSL</div><div class='del'>-	  only if bundled libraries is not used, so that OpenSSL is not</div><div class='del'>-	  linked unnecessarily.  [ruby-core:65404] [Bug #10324]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 10:39:11 2014  Luiz Angelo Daros de Luca  &lt;luizluca@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/rmd160/extconf.rb: fix transform function name to</div><div class='del'>-	  check.  [ruby-core:65091] [Bug #10252]</div><div class='del'>-</div><div class='del'>-Sun Oct  5 05:46:00 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zstream_mark, zstream_free): update signature</div><div class='del'>-	  (gzfile_mark, gzfile_free): ditto</div><div class='del'>-	  (zstream_memsize): new function for rb_data_type-&gt;dsize</div><div class='del'>-	  (gzfile_memsize): ditto</div><div class='del'>-	  (zstream_data_type, gzfile_data_type): new data types</div><div class='del'>-	  (zstream_new): Data_Make_Struct =&gt; TypedData_Make_Struct</div><div class='del'>-	  (gzfile_new): ditto</div><div class='del'>-	  (get_zstream, get_gzfile): Data_Get_Struct =&gt; TypedData_Get_Struct</div><div class='del'>-	  (rb_zstream_flush_next_in): ditto</div><div class='del'>-	  (rb_zstream_flush_next_out): ditto</div><div class='del'>-	  (rb_zstream_avail_out): ditto</div><div class='del'>-	  (rb_zstream_avail_in): ditto</div><div class='del'>-	  (rb_zstream_closed_p): ditto</div><div class='del'>-	  (rb_deflate_initialize): ditto</div><div class='del'>-	  (rb_deflate_init_copy): ditto</div><div class='del'>-	  (rb_inflate_initialize): ditto</div><div class='del'>-	  (gzfile_ensure_close): ditto</div><div class='del'>-	  (rb_gzfile_closed_p): ditto</div><div class='del'>-	  (rb_gzfile_path): ditto</div><div class='del'>-	  (rb_gzwriter_initialize): ditto</div><div class='del'>-	  (rb_gzreader_initialize): ditto</div><div class='del'>-	  (rb_gzreader_unused): ditto</div><div class='del'>-	  [ruby-core:65377] [Feature #10319]</div><div class='del'>-</div><div class='del'>-Sat Oct  4 16:24:41 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb (TestSyslog#test_log): In AIX, each output</div><div class='del'>-	  line of LOG_PERROR to stderr has an additional empty line appended,</div><div class='del'>-	  so skip that line.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 16:05:49 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb (TestSocket_UNIXSocket#test_too_long_path):</div><div class='del'>-	  sockaddr_un.sun_path in AIX is defined as char[1024],</div><div class='del'>-	  so "a" * 300 is not too long. "a" * 3000 would be enough.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 09:12:03 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/sample/example*.rb: Add wait input to quit for examples</div><div class='del'>-	  with patch provided by @windwiny [Fixes GH-705]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/705</div><div class='del'>-</div><div class='del'>-Sat Oct  4 09:08:18 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: [DOC] Fix typo in :nodoc: reported by</div><div class='del'>-	  @windwiny to [Fix GH-705] https://github.com/ruby/ruby/pull/705</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: ditto</div><div class='del'>-</div><div class='del'>-Sat Oct  4 08:59:45 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: [DOC] Add call signature for pseudo_bytes</div><div class='del'>-	  and random_bytes, wrap lines at 80 chars, and remove useless</div><div class='del'>-	  comments.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 08:49:34 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: [DOC] Add rdoc for method descriptions</div><div class='del'>-	  By @vipulnsward [Fixes GH-657] https://github.com/ruby/ruby/pull/657</div><div class='del'>-</div><div class='del'>-Sat Oct  4 08:23:48 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: Use rb_define_module_function instead of</div><div class='del'>-	  macro. [Fixes GH-686] https://github.com/ruby/ruby/pull/686</div><div class='del'>-</div><div class='del'>-Sat Oct  4 06:04:56 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_method.c(olemethod_set_member): remove</div><div class='del'>-	  redundant NULL check.</div><div class='del'>-	* ext/win32ole/win32ole_type.c(oletype_set_member): ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct  4 00:25:04 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: removed needless preparation for gcc.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 23:41:20 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: enabled gcc build with osx on travis.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 23:22:23 2014  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: fix make install failure due to MSYS path</div><div class='del'>-	  with mingw on MSYS environment.</div><div class='del'>-	  [ruby-core:64965] [Bug #10230]</div><div class='del'>-</div><div class='del'>-Fri Oct  3 21:02:32 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_advise): avoid to infinite loop.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 19:26:01 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: enabled test results of linux.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 18:52:16 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (TestIO#test_advise): added workaround of fadvise(2)</div><div class='del'>-	  with tmpfs and old linux kernel. [ruby-core:65355][Bug #10313]</div><div class='del'>-</div><div class='del'>-Fri Oct  3 18:22:45 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: Disabled to generate document on travis.</div><div class='del'>-	  Reduce test running time.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 12:42:15 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add hstack &amp; vstack methods.</div><div class='del'>-	  Based on a patch by creasywuqiong. [Fix GH-344]</div><div class='del'>-</div><div class='del'>-Fri Oct  3 12:37:48 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Fix Matrix.rows copy bug.</div><div class='del'>-	  Patch by Arron Mabrey. [Fix GH-707]</div><div class='del'>-</div><div class='del'>-Fri Oct  3 06:06:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (next_pow2): new function (from old bignum.c)</div><div class='del'>-	  (new_size): use next_pow2 function</div><div class='del'>-</div><div class='del'>-Fri Oct  3 05:58:58 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tp_t): pack 56 =&gt; 48 bytes on 64-bit</div><div class='del'>-</div><div class='del'>-Thu Oct  2 18:41:45 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors): Windows support.</div><div class='del'>-	  see [Feature #10267]</div><div class='del'>-</div><div class='del'>-Thu Oct  2 12:21:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_nprocessors): New method.</div><div class='del'>-	  Accepted by matz at RubyKaigi 2014.</div><div class='del'>-	  [ruby-core:65142] [Feature #10267]</div><div class='del'>-</div><div class='del'>-Thu Oct  2 07:56:49 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_line_trace_each): explicit cast</div><div class='del'>-	  Fix https://travis-ci.org/ruby/ruby/jobs/36814282</div><div class='del'>-</div><div class='del'>-Thu Oct  2 05:40:05 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: set rb_event_flag_t to uint32_t</div><div class='del'>-	  [ruby-core:65315] [misc #10249]</div><div class='del'>-</div><div class='del'>-Thu Oct  2 05:32:17 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): free memory before GC sweep</div><div class='del'>-	  [ruby-core:65269] [Feature #10295]</div><div class='del'>-</div><div class='del'>-Thu Oct  2 05:27:24 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_class): check dump_arg-&gt;compat_tbl before lookup</div><div class='del'>-	  (w_object): lazy init -&gt;compat_tbl before insert</div><div class='del'>-	  (obj_alloc_by_class): ditto</div><div class='del'>-	  (clear_dump_arg): free only non-NULL -&gt;compat_tbl</div><div class='del'>-	  (clear_load_arg): ditto for -&gt;compat_tbl</div><div class='del'>-	  (marshal_dump): -&gt;compat_tbl defaults to zero</div><div class='del'>-	  (marshal_load): ditto for -&gt;compat_tbl</div><div class='del'>-	  (r_entry0): check l-&gt;compat_tbl before lookup</div><div class='del'>-	  (r_fixup_compat): ditto</div><div class='del'>-	  [ruby-core:65305] [Feature #10302]</div><div class='del'>-</div><div class='del'>-Wed Oct  1 21:14:34 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_type.c: use typed data.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 18:15:42 2014  Nolan Evans  &lt;nolane@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: remove commented out code.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 17:38:53 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: AIX does not allow</div><div class='del'>-	  a sticky bit on a regular file.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 17:31:41 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS:  Add RubyGems update.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 17:28:58 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.4.2.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 22:25:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_data_type): separate ripper data type for from</div><div class='del'>-	  parser.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 18:46:31 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_typelib.c: use typed data.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 09:51:46 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fixed broken reference of update-config_files task</div><div class='del'>-</div><div class='del'>-Mon Sep 29 22:54:51 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (append_wstr): set expanded length, not length of</div><div class='del'>-	  appended string.  fix "probable buffer overflow" bug.</div><div class='del'>-	  [ruby-core:65317] [Bug #10304]</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent_expand): drop NOFREE flag after</div><div class='del'>-	  reallocation, static buffer is not pointed anymore.</div><div class='del'>-	  [ruby-core:65317] [Bug #10304]</div><div class='del'>-</div><div class='del'>-Sun Sep 28 23:59:17 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gcdebug_print_obj_condition): use RVALUE_REMEMBERED</div><div class='del'>-	  because GET_HEAP_REMEMBERSET_BITS is obsoleted.</div><div class='del'>-</div><div class='del'>-Sun Sep 28 11:14:14 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Created new target update-unicode to download</div><div class='del'>-	  some Unicode data files.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 15:03:19 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError when</div><div class='del'>-	  uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150]</div><div class='del'>-</div><div class='del'>-	* test/uri/test_parser.rb: test for above.</div><div class='del'>-</div><div class='del'>-Sat Sep 27 10:31:48 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: upgraded to power_assert 0.1.4.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 12:52:36 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO</div><div class='del'>-	  should be writable any encoding strings, without conversion.</div><div class='del'>-	  [ruby-core:65240] [Bug #10285]</div><div class='del'>-</div><div class='del'>-Fri Sep 26 05:21:01 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_real): do not dereference 0 VALUE</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_inspect_segfault):</div><div class='del'>-	  Test case and bug report by Thomas Stratmann.</div><div class='del'>-	  [ruby-core:65214] [Bug #10282]</div><div class='del'>-</div><div class='del'>-Fri Sep 26 05:12:10 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: document stack size env variables</div><div class='del'>-	  [Feature #10197]</div><div class='del'>-</div><div class='del'>-Thu Sep 25 19:37:34 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (free_io_buffer): new function for a common pattern</div><div class='del'>-	  (clear_readconv): use free_io_buffer</div><div class='del'>-	  (rb_io_fptr_finalize): ditto</div><div class='del'>-</div><div class='del'>-Thu Sep 25 07:51:07 2014  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Fix docs. Patched by Ben Woodall. [GH-726]</div><div class='del'>-</div><div class='del'>-Wed Sep 24 19:04:04 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/data: New directory for downloaded Unicode</div><div class='del'>-	  data files.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 18:59:59 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Adjusting example for</div><div class='del'>-	  Downloader.download to implementation changes in r47693.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 18:06:06 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Removing unused method</div><div class='del'>-	  Downloader.download_if_modified_since.</div><div class='del'>-	  (if ever used, just replace with Downloader.download)</div><div class='del'>-</div><div class='del'>-Wed Sep 24 17:59:59 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Fixing raise after return.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 17:55:55 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Made Unicode data file location available</div><div class='del'>-	  via :unicode Symbol.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 10:45:45 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Small fix to documentation comment.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 22:00:20 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_ident): just after a label, new expression should</div><div class='del'>-	  start, cannot be a modifier.  [ruby-core:65211] [Bug #10279]</div><div class='del'>-</div><div class='del'>-Tue Sep 23 16:07:07 2014  Martin Duerst &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: added Downloader.download_if_modified_since</div><div class='del'>-	  to reduce downloads of large files that change only rarely.</div><div class='del'>-	  [ruby-core:65164] [CommonRuby - Feature #10084]</div><div class='del'>-</div><div class='del'>-Tue Sep 23 11:55:09 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: added rubyspec into travis tasks and eliminate to stdout.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 20:00:29 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb</div><div class='del'>-	  (test_conversion_time2date_with_msec): test by using only</div><div class='del'>-	  assert_in_delta  to avoid to fail when converting Time object with</div><div class='del'>-	  999999999 nanoseconds into VT_DATE Variant.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 19:49:12 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc: [DOC] [] and []= methods by @process</div><div class='del'>-	  [Fixes GH-662] https://github.com/ruby/ruby/pull/662</div><div class='del'>-</div><div class='del'>-Mon Sep 22 18:21:35 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: Only osx build is enabled. linux builds is random failure</div><div class='del'>-	  and test results of major linux is covered by rubyci.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 12:10:29 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.</div><div class='del'>-	  [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 09:28:43 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 =&gt; 16 bytes</div><div class='del'>-	* ext/socket/init.c (connect_arg): ditto</div><div class='del'>-	* ext/socket/raddrinfo.c (getnameinfo_arg): 56 =&gt; 48 bytes</div><div class='del'>-	  (reductions only for 64-bit systems)</div><div class='del'>-</div><div class='del'>-Mon Sep 22 02:04:25 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: Support graceful shutdown.</div><div class='del'>-	  (DRbTCPSocket#initialize): Create a pipe for shutdown notification.</div><div class='del'>-	  (DRbTCPSocket#close): Invoke close_shutdown_pipe.</div><div class='del'>-	  (DRbTCPSocket#close_shutdown_pipe): New private method.</div><div class='del'>-	  (DRbTCPSocket#accept): Use accept_or_shutdown.</div><div class='del'>-	  (DRbTCPSocket#accept_or_shutdown): New private method which returns</div><div class='del'>-	  nil on shutdown.</div><div class='del'>-	  (DRbServer#stop_service): Use shutdown instead of Thread#kill.</div><div class='del'>-	  (DRbServer#run): Break infinite loop when main_loop returns nil.</div><div class='del'>-	  (DRbServer#main_loop): @protocol.accept may return nil.</div><div class='del'>-</div><div class='del'>-	* lib/drb/ssl.rb: Follow above change.</div><div class='del'>-</div><div class='del'>-	* lib/drb/unix.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 13:54:36 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: raise exception when minutes of utc_offset is out of 00-59.</div><div class='del'>-	  patch is from Kenichi Kamiya.</div><div class='del'>-	  [ruby-dev:47539] [Bug #8679]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: test for above.</div><div class='del'>-	  patch is from Kenichi Kamiya.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 19:04:08 2014  Narihiro Nakamura &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (do_hash_bin): unused macro.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 18:45:01 2014  Narihiro Nakamura &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_class_nest): unused variable after YARV</div><div class='del'>-	  merged (r11439).</div><div class='del'>-</div><div class='del'>-Sun Sep 21 18:14:03 2014  Narihiro Nakamura &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (numberof): unused. internal.h has same macro.</div><div class='del'>-</div><div class='del'>-	* node.c (F_CUSTOM2): unused.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 14:11:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_set_thread_name): New function to</div><div class='del'>-	  set thread name visible with ps command on GNU/Linux.</div><div class='del'>-	  Ex. ps -o %c -L</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): Call native_set_thread_name at</div><div class='del'>-	  beginning.</div><div class='del'>-	  (rb_thread_inspect_msg): Extract from rb_thread_inspect.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 12:49:11 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_defined_string): trim redundant semi-colon</div><div class='del'>-</div><div class='del'>-Sun Sep 21 12:19:29 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_find_file_ext_safe): clear tmp buffer on failure</div><div class='del'>-	  (rb_find_file_safe): ditto</div><div class='del'>-</div><div class='del'>-Sat Sep 20 04:42:18 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: avoid unnecessary object allocations.</div><div class='del'>-	  patch is from Andrew Vit. [ruby-core:63215] [Feature #9952]</div><div class='del'>-</div><div class='del'>-Sun Sep 21 12:10:18 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/**/*.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 03:46:58 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: use rb_equal_opt() for performance improvement.</div><div class='del'>-	  [ruby-core:64954] [Feature #10227]</div><div class='del'>-</div><div class='del'>-Sun Sep 21 11:16:56 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (rbtime2vtdate, vtdate2rbtime): fix</div><div class='del'>-	  the bug in conversion of milliseconds. [Bug #10258]</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb</div><div class='del'>-	  (test_conversion_dbl2date_with_msec,</div><div class='del'>-	  test_conversion_time2date_with_msec): use assert_in_delta instead</div><div class='del'>-	  of assert_equal to treat an acceptable error range.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 11:03:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): although "EINVAL from sigaction(2) is</div><div class='del'>-	  not a bug", but even it is a failure.  pointed at toRuby/guRuby</div><div class='del'>-	  in RubyHiroba.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 03:00:26 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: define parameters appropriately and some</div><div class='del'>-	  refactoring.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 23:58:21 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_chunk): Deprecate the state management.</div><div class='del'>-	  (enum_slice_before): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 15:39:11 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_slice_when): New method: Enumerable#slice_when.</div><div class='del'>-	  (slicewhen_i): New function.</div><div class='del'>-	  (slicewhen_ii): New function.</div><div class='del'>-</div><div class='del'>-	* enumerator.c (InitVM_Enumerator): New method:</div><div class='del'>-	  Enumerator::Lazy#slice_when.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:62499] [Feature #9826]</div><div class='del'>-</div><div class='del'>-Sat Sep 20 11:55:19 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: added new configurations for osx on travis ci.</div><div class='del'>-	  [fix GH-723]</div><div class='del'>-	* test/ruby/test_object.rb: tweaked to memory leak limit for osx build.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 10:48:41 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc): allow quoted ID as a key of a hash literal.</div><div class='del'>-	  [ruby-core:34453] [Feature #4276]</div><div class='del'>-</div><div class='del'>-Sat Sep 20 10:23:00 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments): store local variable IDs in</div><div class='del'>-	  temporary list as Symbols.  previously these are stored as</div><div class='del'>-	  Fixnums to prevent from GC, but IDs of dynamic symbols can</div><div class='del'>-	  exceed Fixnum range and cause RangeError at inverting from</div><div class='del'>-	  Fixnum.  [ruby-dev:48564] [Bug #10266]</div><div class='del'>-</div><div class='del'>-Sat Sep 20 10:02:51 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print):</div><div class='del'>-	  New method.</div><div class='del'>-	  (OpenSSL::X509::Certificate#pretty_print): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 20 07:55:57 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): fix super from eval with</div><div class='del'>-	  scope.  set klass in the current control frame to the class of</div><div class='del'>-	  the receiver in the context to be evaluated, this class/module</div><div class='del'>-	  must match the actual receiver to call super.</div><div class='del'>-	  [ruby-core:65122] [Bug #10263]</div><div class='del'>-</div><div class='del'>-Fri Sep 19 20:06:00 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_str_dynamic_intern): check if the stem ID of</div><div class='del'>-	  attrset ID is already registered as a static ID.</div><div class='del'>-	  [ruby-dev:48559] [Bug #10259]</div><div class='del'>-</div><div class='del'>-Fri Sep 19 15:48:09 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (VCSUP): nothing to do if this worktree is not</div><div class='del'>-	  under any VCS (it means that the worktree may be from the release</div><div class='del'>-	  package).</div><div class='del'>-</div><div class='del'>-Fri Sep 19 10:47:03 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite?</div><div class='del'>-	  returns true also for NaN, so use Float#infinite? instead.</div><div class='del'>-	  [ruby-core:65117] [Feature #10261]</div><div class='del'>-</div><div class='del'>-Fri Sep 19 05:36:16 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: note --with-jemalloc option [ci skip]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 16:26:27 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_setup_command.rb: @ui uses StringIO</div><div class='del'>-	  as its streams, and Encoding.default_external does not effect to</div><div class='del'>-	  StringIOs already exist.  so, we need to set external_encoding of</div><div class='del'>-	  @ui.outs directly.  this problem (test failure) does not appear in</div><div class='del'>-	  the environments default_external is us-ascii or utf-8.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 15:02:15 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_specification.rb: '/' is not always the root.</div><div class='del'>-</div><div class='del'>-Thu Sep 18 09:36:37 2014  Scott Francis  &lt;scott.francis@shopify.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (Init_Method): make global method cache size</div><div class='del'>-	  configurable by environment variable</div><div class='del'>-	  "RUBY_GLOBAL_METHOD_CACHE_SIZE"  [Fix GH-719]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 07:03:36 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/string/test_modify_expand.rb: increase limit</div><div class='del'>-	  for {je,tc}malloc [Bug #10236]</div><div class='del'>-</div><div class='del'>-Thu Sep 18 06:41:18 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (struct gzfile): pack (288 =&gt; 272 bytes) on 64-bit</div><div class='del'>-</div><div class='del'>-Thu Sep 18 05:44:05 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_connect): refactor for blocking</div><div class='del'>-	  (wait_connectable): clear error before wait</div><div class='del'>-	  [Bug #9356]</div><div class='del'>-</div><div class='del'>-Wed Sep 17 23:12:36 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc3986_parser.rb: specify a regexp for :OPAQUE; generic.rb</div><div class='del'>-	  assumes it is present, and will refuse all values otherwise.</div><div class='del'>-	  by Matthew Draper &lt;matthew@trebex.net&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/718 fix GH-718</div><div class='del'>-</div><div class='del'>-Wed Sep 17 16:22:58 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (zlib_mem_alloc): check overflow</div><div class='del'>-</div><div class='del'>-Wed Sep 17 11:33:35 2014  Laurent Arnoud  &lt;laurent@spkdev.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):</div><div class='del'>-	  added test for long long [fix GH-716]</div><div class='del'>-</div><div class='del'>-Wed Sep 17 11:09:21 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: fixed invalid options with latest rubygems.</div><div class='del'>-	  https://github.com/rubygems/rubygems/issues/1013</div><div class='del'>-</div><div class='del'>-Tue Sep 16 19:19:00 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_aobench.rb: update outdated links to the</div><div class='del'>-	  original program.  [ruby-dev:48550] [Feature #10247]</div><div class='del'>-</div><div class='del'>-Tue Sep 16 01:06:40 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544</div><div class='del'>-</div><div class='del'>-Mon Sep 15 16:21:10 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (struct io_advise_struct): 32 =&gt; 24 bytes on 64-bit</div><div class='del'>-	* io.c (struct io_internal_writev_struct): 24 =&gt; 16 bytes on 64-bit</div><div class='del'>-	* process.c (struct waitpid_arg): ditto</div><div class='del'>-</div><div class='del'>-Mon Sep 15 10:29:25 2014  Natalie Weizenbaum  &lt;nweiz@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (SAME_PATHS):</div><div class='del'>-	  Pathname#relative_path_from uses String#casecmp to compare strings</div><div class='del'>-	  on case-insensitive filesystem platforms (e.g., Windows). This can</div><div class='del'>-	  return nil for strings with different encodings, and the code</div><div class='del'>-	  previously assumed that it always returned a Fixnum.  [Fix GH-713]</div><div class='del'>-</div><div class='del'>-Mon Sep 15 09:43:18 2014  Sho Hashimoto  &lt;sho.hsmt@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo,</div><div class='del'>-	  SIZEOF_LONG_LON.  [Fix GH-714]</div><div class='del'>-</div><div class='del'>-Mon Sep 15 08:13:40 2014  Matthew Draper  &lt;matthew@trebex.net&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): rational 'f' format works for more</div><div class='del'>-	  values.  [fix GH-717]</div><div class='del'>-</div><div class='del'>-Sun Sep 14 16:57:27 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/vm.inc.tmpl: "insns.c" =&gt; "insns.def"</div><div class='del'>-	* tool/instruction.rb: typo fix</div><div class='del'>-</div><div class='del'>-Sun Sep 14 12:29:52 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tracer.rb: fixed testcase for rubygems update.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 12:29:02 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.4.1 master(713ab65)</div><div class='del'>-	  Complete history at:</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 14 11:03:24 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: update version</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Sun Sep 14 08:43:37 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ccan/container_of/container_of.h (container_of_or_null): added</div><div class='del'>-	  [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson)</div><div class='del'>-</div><div class='del'>-Sun Sep 14 08:41:44 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ccan/list/list.h (list_del_init, list_node_init): new functions</div><div class='del'>-	  for multiple list_del() calls</div><div class='del'>-	  [ccan ec8654d94d3c5c47aa5f82698f7e8048c79765b1] (Rusty Russell)</div><div class='del'>-</div><div class='del'>-Sat Sep 13 22:19:26 2014  Bernard Potocki  &lt;bernard.potocki@imanel.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): fix misleading example which may suggest</div><div class='del'>-	  that Hash.store will return self instead of value - Hash#store</div><div class='del'>-	  is returning value and update itself, as well as Hash#[]=.</div><div class='del'>-	  [Fix GH-715]</div><div class='del'>-</div><div class='del'>-Sat Sep 13 15:16:31 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: use ALLOC(rb_subclass_entry_t)</div><div class='del'>-</div><div class='del'>-Sat Sep 13 14:14:00 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (free_exec_arg): remove</div><div class='del'>-	  (memsize_exec_arg): ptr is never NULL</div><div class='del'>-	  (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE</div><div class='del'>-</div><div class='del'>-	* variable.c (autoload_i_free): remove</div><div class='del'>-	  (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE</div><div class='del'>-	  (autoload_memsize): ptr is never NULL</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (location_free): remove</div><div class='del'>-	  (location_mark): ptr is never NULL</div><div class='del'>-	  (location_data_type): use RUBY_TYPED_DEFAULT_FREE</div><div class='del'>-	  (backtrace_mark): ditto</div><div class='del'>-	  (backtrace_free): ditto</div><div class='del'>-</div><div class='del'>-Sat Sep 13 13:43:07 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-2.0.0: fix typo for default RUBY_FIBER_MACHINE_STACK_SIZE</div><div class='del'>-	  [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Sep 13 11:16:58 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_event.c(ev_advise, ole_event_free,</div><div class='del'>-	  fev_s_allocate, fev_unadvise): avoid segmentation fault when COM</div><div class='del'>-	  server freed before calling Unadvise from WIN32OLE_EVENT object.</div><div class='del'>-	* ext/win32ole/win32ole.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep 13 09:47:44 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: use https for *.ruby-lang.org links</div><div class='del'>-</div><div class='del'>-Sat Sep 13 06:31:23 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_alloc): remove needless volatile</div><div class='del'>-</div><div class='del'>-Sat Sep 13 06:13:55 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_free): remove, use RUBY_TYPED_DEFAULT_FREE</div><div class='del'>-	  (proc_mark, proc_memsize): remove needless branching</div><div class='del'>-</div><div class='del'>-	* vm.c (env_free): remove, use RUBY_TYPED_DEFAULT_FREE</div><div class='del'>-	  (env_mark, env_memsize): remove needless branching</div><div class='del'>-</div><div class='del'>-Sat Sep 13 05:52:15 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_alloc): inline and move to vm.c</div><div class='del'>-	  (rb_proc_wrap): new wrapper function used by rb_proc_alloc</div><div class='del'>-	  (proc_dup): simplify alloc + copy + wrap operation</div><div class='del'>-	  [ruby-core:64994]</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_proc_alloc): new inline function</div><div class='del'>-	  (rb_vm_make_proc): call rb_proc_alloc</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_proc_alloc, add rb_proc_wrap</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_newlambda.rb: short test to show difference</div><div class='del'>-</div><div class='del'>-Sat Sep 13 04:40:04 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (Init_process): subclass Thread as Process::Waiter</div><div class='del'>-	  (rb_detach_process): use Process::Waiter instead of singleton class</div><div class='del'>-	  Thanks to headius and nobu. [Bug #10231]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_process_detach): new test</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): call Init_Thread before Init_process to</div><div class='del'>-	  ensure Process::Waiter may be a subclass of Thread</div><div class='del'>-</div><div class='del'>-Fri Sep 12 18:14:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (env_alloc): inline to avoid extra zeroing</div><div class='del'>-	  tiny speedup [ruby-core:64980]</div><div class='del'>-</div><div class='del'>-Fri Sep 12 17:13:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make, remove_method): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 14:39:55 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgraded to test-unit-3.0.1 and minitest-5.4.1</div><div class='del'>-</div><div class='del'>-Fri Sep 12 06:55:40 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_frozen_strings): use st_init_table_with_size</div><div class='del'>-</div><div class='del'>-Fri Sep 12 06:15:37 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_find): remove Symbol.find because we have Symbol GC now.</div><div class='del'>-	  https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan</div><div class='del'>-	  If you still want this, request again on Redmine. [Feature #7854]</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/7854</div><div class='del'>-</div><div class='del'>-	* ext/-test-/symbol/init.c (sym_find): moved from string.c for tests.</div><div class='del'>-</div><div class='del'>-Fri Sep 12 04:24:03 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (once): define and use fake RUNNING_THREAD_ONCE_DONE</div><div class='del'>-	  pointer to indicate is-&gt;once.running_thread is done.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (iseq_inline_storage_entry): remove done field,</div><div class='del'>-	  allowing the union to be reduced from 24=&gt;16 bytes on 64-bit</div><div class='del'>-	  [Feature #10187]</div><div class='del'>-</div><div class='del'>-Thu Sep 11 20:10:00 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): use rb_gc_mark_values() to mark VM stack.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 19:50:57 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_register_special_exception): make new function to</div><div class='del'>-	  make and register special exceptions.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): do not need to mark special exceptions</div><div class='del'>-	  because they are registered by rb_gc_register_mark_object().</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): use rb_vm_register_special_exception().</div><div class='del'>-</div><div class='del'>-	* gc.c (Init_GC): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (Init_Thread): ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 19:32:30 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_mark_values): added.</div><div class='del'>-	  This function is similar to rb_gc_mark_locations(), but not</div><div class='del'>-	  conservative.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (env_mark): use rb_gc_mark_values() because env values should</div><div class='del'>-	  be Ruby VALUEs.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 19:16:39 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_ptr): rename to gc_mark_set.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): add gc_mark_ptr() to skip is_markable_object()</div><div class='del'>-	  check. gc_mark_maybe() can use gc_mark_ptr() directly because</div><div class='del'>-	  passed pointer is checked by is_pointer_to_heap().</div><div class='del'>-</div><div class='del'>-Thu Sep 11 18:40:16 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored temporary files and coverage results.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 18:15:30 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored only simplecov.</div><div class='del'>-	* coverage/README: Added coverage docs.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 17:25:31 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, gc.c: add new internal events</div><div class='del'>-	  RUBY_INTERNAL_EVENT_GC_ENTER and</div><div class='del'>-	  RUBY_INTERNAL_EVENT_GC_EXIT.</div><div class='del'>-</div><div class='del'>-	  When invoking GC process, GC_ENTER event is called.</div><div class='del'>-	  When exiting from GC process, GC_EXIT event is called.</div><div class='del'>-</div><div class='del'>-	  Incremental GC (incremental marking and lazy sweep) can call</div><div class='del'>-	  these events many times.</div><div class='del'>-</div><div class='del'>-	  For example (minor marking):</div><div class='del'>-	  (1) GC_ENTER</div><div class='del'>-	  - (2) GC_START (minor GC)</div><div class='del'>-	    (minor marking)</div><div class='del'>-	  - (3) GC_END_MARK</div><div class='del'>-	    (start lazy sweep)</div><div class='del'>-	  (4) GC_EXIT</div><div class='del'>-	    (ruby process)</div><div class='del'>-	  (5) GC_ENTER</div><div class='del'>-	    (lazy sweep)</div><div class='del'>-	  (6) GC_EXIT</div><div class='del'>-	    (ruby process)</div><div class='del'>-	    (... repeat (5), (6))</div><div class='del'>-	  (7) GC_ENTER</div><div class='del'>-	      (finish lazy sweep)</div><div class='del'>-	    - (8) GC_END_SWEEP</div><div class='del'>-	  (9) GC_EXIT</div><div class='del'>-</div><div class='del'>-	  2nd example (incremental major marking):</div><div class='del'>-	  (1) GC_ENTER</div><div class='del'>-	  - (2) GC_START (minor GC)</div><div class='del'>-	    (start incremental marking)</div><div class='del'>-	  (3) GC_EXIT</div><div class='del'>-	    (ruby process)</div><div class='del'>-	  (4) GC_ENTER</div><div class='del'>-	    (incremental marking)</div><div class='del'>-	  (5) GC_EXIT</div><div class='del'>-	     (ruby process)</div><div class='del'>-	     (... repeat (4), (5))</div><div class='del'>-	  (6) GC_ENTER</div><div class='del'>-	    (finish incremental marking)</div><div class='del'>-	  - (7) GC_END_MARK</div><div class='del'>-	    (start lazy sweep)</div><div class='del'>-	  (8) GC_EXIT</div><div class='del'>-	    (ruby process)</div><div class='del'>-	  (9) GC_ENTER</div><div class='del'>-	    (lazy sweep)</div><div class='del'>-	  (10) GC_EXIT</div><div class='del'>-	    (ruby process)</div><div class='del'>-	    (... repeat (9), (10))</div><div class='del'>-	  (11) GC_ENTER</div><div class='del'>-	    (finish lazy marking)</div><div class='del'>-	  - (12) GC_STOP_SWEEP</div><div class='del'>-	  (13) GC_EXIT</div><div class='del'>-</div><div class='del'>-	  These internal events enable to measure GC pause time completely.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 17:04:54 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support</div><div class='del'>-	  Thanks to Vit Ondruch for reporting the issue on ARM.</div><div class='del'>-	  [Bug #10202]</div><div class='del'>-</div><div class='del'>-Thu Sep 11 14:31:57 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: freeze nil/true/false.</div><div class='del'>-	  [Feature #8923]</div><div class='del'>-</div><div class='del'>-	* gc.c (should_be_finalizable): check frozen after checkin FL_ABLE.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_taint): check</div><div class='del'>-	  OBJ_TAINTABLE(obj).</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_freeze): remove immediate_frozen_tbl</div><div class='del'>-	  because all of immediate values are frozen. YAY!</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_frozen_p): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: skip instance_variable_set for</div><div class='del'>-	  frozen objects.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_weakmap.rb: check ArgumentError instead of</div><div class='del'>-	  RuntimeError.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 10:03:16 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a)</div><div class='del'>-</div><div class='del'>-Wed Sep 10 17:52:25 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_vm_addr2insn): rename to rb_vm_insn_addr2insn</div><div class='del'>-	  to clear what address.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 16:22:26 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: fix condition.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 15:29:46 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_t): ci-&gt;flag becomes 32-bit unsigned int</div><div class='del'>-	  ci-&gt;index becomes a 32-bit signed int (from signed long).</div><div class='del'>-	  Reorder for better packing on 64-bit, giving an 8 byte reduction</div><div class='del'>-	  from 104 to 96 bytes for each ci.</div><div class='del'>-	  [Feature #10187]</div><div class='del'>-</div><div class='del'>-	* compile.c (new_callinfo, setup_args, iseq_compile_each,</div><div class='del'>-	  iseq_build_from_ary_body): adjust for type changes</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): ditto</div><div class='del'>-</div><div class='del'>-Wed Sep 10 15:07:35 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_translate_threaded_code):</div><div class='del'>-	  modify in-place w/o copy</div><div class='del'>-	  (rb_vm_addr2insn): new function for debug</div><div class='del'>-	  (rb_iseq_original_iseq): ditto</div><div class='del'>-	  (iseq_set_sequence): assign iseq_encoded directly</div><div class='del'>-	  [Feature #10185]</div><div class='del'>-</div><div class='del'>-	* vm_core (rb_iseq_t): move original -&gt;iseq to bottom</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free, iseq_free): adjust for new layout</div><div class='del'>-	  (rb_iseq_disasm): use original iseq for dump</div><div class='del'>-	  (iseq_data_to_ary): ditto</div><div class='del'>-	  (rb_iseq_line_trace_each): ditto</div><div class='del'>-	  (rb_iseq_build_for_ruby2cext): use iseq_encoded directly</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_debug_print_pre): use original iseq</div><div class='del'>-</div><div class='del'>-Wed Sep 10 15:00:11 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mark): remove NULL check</div><div class='del'>-	  (time_memsize): ditto</div><div class='del'>-	  (time_free): remove, use RUBY_TYPED_DEFAULT_FREE instead</div><div class='del'>-	  [Feature #10219]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 14:14:57 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (encs enc trans libencs libenc libtrans): force to run</div><div class='del'>-	  enk.mk because common.mk does not know the dependency, but enk.mk</div><div class='del'>-	  knows. [ruby-dev:48530] [Bug #10220]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 11:59:10 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat): update rdoc.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 11:52:08 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): rename:</div><div class='del'>-	  * malloc_increase -&gt; malloc_increase_bytes</div><div class='del'>-	  * malloc_limit -&gt; malloc_increase_bytes_limit</div><div class='del'>-	  * oldmalloc_increase -&gt; oldmalloc_increase_bytes</div><div class='del'>-	  * oldmalloc_limit -&gt; oldmalloc_increase_bytes_limit</div><div class='del'>-	  ref: [Feature #9924]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 11:45:40 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): rename `heap_used' to `heap_allocated_pages'.</div><div class='del'>-	  ref: [Feature #9924]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add constraints test for gc stat information.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 11:31:16 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): rename:</div><div class='del'>-	  * remembered_shady_object -&gt; remembered_wb_unprotected_objects</div><div class='del'>-	  * remembered_shady_object_limit -&gt; remembered_wb_unprotected_objects_limit</div><div class='del'>-	  * old_object -&gt; old_objects</div><div class='del'>-	  * old_object_limit -&gt; old_objects_limit</div><div class='del'>-	  ref: [Feature #9924]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 11:12:25 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): support:</div><div class='del'>-	  * total_allocated_pages</div><div class='del'>-	  * total_freed_pages</div><div class='del'>-	  ref: [Feature #9924]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 10:48:04 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up last fix.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 10:36:08 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_total_slot): rename objspace_available_slots.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_live_slot, objspace_free_slot): rename</div><div class='del'>-	  ..._slot() to ..._slots().</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_free_slot): should subtract heap_pages_final_slots.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal):</div><div class='del'>-	  * add `heap_available_slots' field</div><div class='del'>-	  * rename heap_live_slot to heap_live_slots</div><div class='del'>-	  * rename heap_free_slot to heap_free_slots</div><div class='del'>-	  ref: [Feature #9924]</div><div class='del'>-</div><div class='del'>-Wed Sep 10 07:22:53 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: refactoring for RGENGC_PROFILE &gt; 0.</div><div class='del'>-</div><div class='del'>-	  * rename rb_objspace_t::profile::..._count</div><div class='del'>-	    to rb_objspace_t::profile::total_..._count</div><div class='del'>-	  * rename promote_infant_types to promote_types</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_remember_unprotected): count remembered shady objects here.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 03:12:12 2014  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (init_mark_stack): MEMZERO() receive type as 2nd argument instead</div><div class='del'>-	  of size.</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 21:55:39 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/sample/excel2.rb: remove some commented-out code.</div><div class='del'>-	  rotate graph more slowly to see graph clearly.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 19:52:33 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename rb_objspace_t::marked_objects to marked_slots.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_start): should be clear first.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_start): remembered shady objects are also marked.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): add heap_marked_slots.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 18:58:48 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename</div><div class='del'>-	  * total_allocated_object_num -&gt; total_allocated_objects</div><div class='del'>-	  * total_allocated_object_num_at_gc_start -&gt; total_allocated_objects_at_gc_start</div><div class='del'>-	  * total_freed_object_num -&gt; total_freed_objects</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal):</div><div class='del'>-	  * rename total_allocated_object -&gt; total_allocated_objects</div><div class='del'>-	  * rename total_freed_object -&gt; total_freed_objects</div><div class='del'>-</div><div class='del'>-Tue Sep  9 18:51:36 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): fix symbol names</div><div class='del'>-	  * heap_final_slot -&gt; heap_final_slots</div><div class='del'>-	  * heap_swept_slot -&gt; heap_swept_slots</div><div class='del'>-</div><div class='del'>-Tue Sep  9 18:18:07 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_t::heap_pages): rename field names:</div><div class='del'>-	  * used -&gt; allocated_pages</div><div class='del'>-	  * increment -&gt; allocatable_pages</div><div class='del'>-	  * length -&gt; sorted_length</div><div class='del'>-	  And remove unused `limit' field.</div><div class='del'>-</div><div class='del'>-	* gc.c: rename macros:</div><div class='del'>-	  * heap_pages_used -&gt; heap_allocated_pages</div><div class='del'>-	  * heap_pages_length -&gt; heap_pages_sorted_length</div><div class='del'>-	  * heap_pages_increment -&gt; heap_allocatable_pages</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): fix symbol names</div><div class='del'>-	  * heap_used -&gt; heap_allocated_pages</div><div class='del'>-	  * heap_eden_page_length -&gt; heap_eden_pages</div><div class='del'>-	  * heap_tomb_page_length -&gt; heap_tomb_pages</div><div class='del'>-	  * heap_increment -&gt; heap_allocatable_pages</div><div class='del'>-	  * heap_length -&gt; heap_sorted_length</div><div class='del'>-</div><div class='del'>-	  ref: [Feature #9924]</div><div class='del'>-	  https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing</div><div class='del'>-	  Yellow color fields in this table are changed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up this change.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 14:56:03 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: continue layout changing.</div><div class='del'>-</div><div class='del'>-	  newobj_of() also touch:</div><div class='del'>-	  (4) increment total_allocated_object_num</div><div class='del'>-	  (5) check hook_events</div><div class='del'>-</div><div class='del'>-	  And gather fields related to marking phase.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 14:21:50 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix layout of rb_objspace_t to improve cache locality.</div><div class='del'>-</div><div class='del'>-	  newobj_of() accesses:</div><div class='del'>-	  (1) rb_objspace_t::flags</div><div class='del'>-	  (2) rb_objspace_t::eden_heap::freelist</div><div class='del'>-	  (3) and rb_objspace_t::eden_heap::free_pages if freelist is NULL.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 14:09:36 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: move rb_objspace_t::flags::gc_stressful after during_gc</div><div class='del'>-	  to make accessing both parameters easy.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj): add LIKELY() hint.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj_from_next_freepage): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): check both parameters at once for exceptional</div><div class='del'>-	  case.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 13:51:32 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add rb_objspace_t::flags::gc_stressful and</div><div class='del'>-	  ruby_gc_stressful macro.</div><div class='del'>-	  Rename objspace-&gt;gc_stress to objspace-&gt;gc_stress_mode.</div><div class='del'>-</div><div class='del'>-	  If objspace-&gt;gc_stress_mode is true (!nil and !false) then</div><div class='del'>-	  ruby_gc_stressful becomes TRUE.</div><div class='del'>-</div><div class='del'>-	  ruby_gc_stressful will speedup newobj_of() slightly.</div><div class='del'>-</div><div class='del'>-	* gc.c: initialize ruby_gc_stress(full|_mode) by gc_params.gc_stress</div><div class='del'>-	  even if ENABLE_VM_OBJSPACE is false.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 13:05:50 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove ruby_disable_gc_stress and add ruby_disable_gc</div><div class='del'>-	  to speed-up newobj_of().</div><div class='del'>-</div><div class='del'>-	* gc.c (ready_to_gc): check ruby_disable_gc.</div><div class='del'>-</div><div class='del'>-	* signal.c: use ruby_disable_gc.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 12:11:41 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename gc_stat entries and check stat transition.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 12:06:03 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep_rest): remove wrong modification of during_gc flag.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 11:39:41 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: pack boolean values into rb_objspace_t::flags with bit fields</div><div class='del'>-	  to improve cache locality.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 11:11:05 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: extend timeout.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 09:02:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#pkg_config): append --cflags to also</div><div class='del'>-	  $CXXFLAGS, as they are often used by C++ compiler.</div><div class='del'>-	  [ruby-core:54532] [Bug #8315]</div><div class='del'>-</div><div class='del'>-Tue Sep  9 07:03:22 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: remove needless SYM2ID &lt;-&gt; ID2SYM conversions</div><div class='del'>-	  [misc #10207]</div><div class='del'>-</div><div class='del'>-Tue Sep  9 05:48:42 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_intern_cstr_without_pindown): check dsymbol on return</div><div class='del'>-	  This is not a complete fix for bug 10206, but seems to reduce</div><div class='del'>-	  that crash and also looks correct.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 04:36:24 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_env_t): use flexible array</div><div class='del'>-	  This reduces allocations and speeds up the lambda calculus</div><div class='del'>-	  fizzbuzz (bm_app_lc_fizzbuzz.rb) benchmark [ruby-core:64858]</div><div class='del'>-	* proc.c (get_local_variable_ptr): deconst to adjust for flex array</div><div class='del'>-	* vm.c (env_mark, env_free, env_memsize): remove check for env-&gt;env</div><div class='del'>-	* vm.c (env_alloc): single allocation for flex array</div><div class='del'>-	* vm.c (vm_make_env_each): adjust env_alloc call</div><div class='del'>-</div><div class='del'>-Mon Sep  8 16:08:22 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_lc_fizzbuzz.rb: should skip output on benchmark.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 16:04:02 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_lc_fizzbuzz.rb: `answer.to_a' does not return</div><div class='del'>-	  a string, but an array.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 13:18:37 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_lc_fizzbuzz.rb: added.</div><div class='del'>-</div><div class='del'>-	  This program is described closely in "Understanding Computation"</div><div class='del'>-	  chapter 6 by Tom Stuart. &lt;http://computationbook.com/&gt;</div><div class='del'>-</div><div class='del'>-	  Japanese translation will be published soon.</div><div class='del'>-	  &lt;http://www.oreilly.co.jp/books/9784873116976/&gt;</div><div class='del'>-</div><div class='del'>-Mon Sep  8 12:01:39 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add incremental GC algorithm. [Feature #10137]</div><div class='del'>-</div><div class='del'>-	  Please refer this ticket for details.</div><div class='del'>-</div><div class='del'>-	  This change also introduces the following changes.</div><div class='del'>-</div><div class='del'>-	  * Remove RGENGC_AGE2_PROMOTION and introduce object age (0 to 3).</div><div class='del'>-	    Age can be count with FL_PROMOTE0 and FL_PROMOTE1 flags in</div><div class='del'>-	    RBasic::flags (2 bit). Age == 3 objects become old objects.</div><div class='del'>-	  * WB_PROTECTED flag in RBasic to WB_UNPROTECTED bitmap.</div><div class='del'>-	  * LONG_LIVED bitmap to represent living objects while minor GCs</div><div class='del'>-	    It specifies (1) Old objects and (2) remembered shady objects.</div><div class='del'>-	  * Introduce rb_objspace_t::marked_objects which counts marked</div><div class='del'>-	    objects in current marking phase. marking count is needed to</div><div class='del'>-	    introduce incremental marking.</div><div class='del'>-	  * rename mark related function and sweep related function to</div><div class='del'>-	    gc_(marks|sweep)_(start|finish|step|rest|continue).</div><div class='del'>-	  * rename rgengc_report() to gc_report().</div><div class='del'>-	  * Add obj_info() function to get cstr of object details.</div><div class='del'>-	  * Add MEASURE_LINE() macro to measure execution time of specific line.</div><div class='del'>-	  * and many small fixes.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add flag USE_RINCGC.</div><div class='del'>-	  Now USE_RINCGC can be set only with USE_RGENGC.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: introduce FL_PROMOTED0 and add FL_PROMOTED1</div><div class='del'>-	  to count object age.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: rewrite write barriers for incremental marking.</div><div class='del'>-</div><div class='del'>-	* debug.c: catch up flag name changes.</div><div class='del'>-</div><div class='del'>-	* internal.h: add rb_gc_writebarrier_remember() instead of</div><div class='del'>-	  rb_gc_writebarrier_remember_promoted().</div><div class='del'>-</div><div class='del'>-	* array.c (ary_memcpy0): use rb_gc_writebarrier_remember().</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_keys): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_values): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (init_copy): use rb_copy_wb_protected_attribute() because</div><div class='del'>-	  FL_WB_PROTECTED is moved from RBasic::flags.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: catch up ObjectSpace.dump() changes.</div><div class='del'>-</div><div class='del'>-Sun Sep  7 12:47:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: PTHREAD_CANCEL_DISABLE is not defined on Android.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 20:59:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (has_privilege): The gid zero is not a privilege.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 20:19:16 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (struct child_handler_disabler_state): cancelstate field</div><div class='del'>-	  added.</div><div class='del'>-	  (disable_child_handler_before_fork): Record cancelstate.</div><div class='del'>-	  (disable_child_handler_fork_parent): Restore cancelstate.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 19:27:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (struct child_handler_disabler_state): Defined.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 18:31:32 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb, lib/rake/*, test/rake/*: Update latest rake master(e47d023)</div><div class='del'>-</div><div class='del'>-Sat Sep  6 16:38:08 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variant.c (ole_val2variant_err,</div><div class='del'>-	  ole_val2variantdata, Init_win32ole_variant): support VT_ERROR</div><div class='del'>-	  variant with error code. add WIN32OLE_VARIANT::NoParam.</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb(test_c_noparam,</div><div class='del'>-	  test_vt_error_noparam): ditto.</div><div class='del'>-	* ext/win32ole/win32ole.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 11:08:52 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg_ambiguous_gen): fix warning message, "even" does</div><div class='del'>-	  not mean the number of spaces here.  state the place to put a</div><div class='del'>-	  space and the operator.  [ruby-core:64790] [Bug #10204]</div><div class='del'>-</div><div class='del'>-Sat Sep  6 08:44:40 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/template/darkfish/js/jquery.js: Backport</div><div class='del'>-	  rdoc/rdoc@74f60fcb04fee1778fe2694d1a0ea6513f8e67b7</div><div class='del'>-</div><div class='del'>-Sat Sep  6 08:10:44 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_readpartial_locktmp): use IO#nonblock=</div><div class='del'>-	  Old fcntl invocation may drop necessary flags on some platforms.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 07:46:51 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_readpartial_locktmp): avoid EBADF</div><div class='del'>-	  [ruby-core:64773] [ruby-core:64775]</div><div class='del'>-</div><div class='del'>-Sat Sep  6 01:34:31 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exec): Call before_exec_async_signal_safe and</div><div class='del'>-	  after_exec_async_signal_safe around rb_exec_async_signal_safe.</div><div class='del'>-	  (rb_exec_async_signal_safe): Don't call</div><div class='del'>-	  before_exec_async_signal_safe and after_exec_async_signal_safe.</div><div class='del'>-	  (rb_exec_without_timer_thread): Call before_exec and</div><div class='del'>-	  after_exec.</div><div class='del'>-	  (disable_child_handler_fork_child): Make SIGPIPE handler SIG_DFL.</div><div class='del'>-</div><div class='del'>-Sat Sep  6 00:49:41 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): Don't set SA_SIGINFO for SIG_IGN and</div><div class='del'>-	  SIG_DFL.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 21:45:33 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (disable_child_handler_before_fork): New function.</div><div class='del'>-	  (disable_child_handler_fork_parent): Ditto.</div><div class='del'>-	  (disable_child_handler_fork_child): Ditto.</div><div class='del'>-	  (retry_fork_async_signal_safe): Call above functions to disable</div><div class='del'>-	  signal handlers in child process.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 21:02:54 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (handle_fork_error): Make try_gc_p argument volatile to</div><div class='del'>-	  suppress "clobbered" warning.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 20:48:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (handle_fork_error): Don't need state_p argument.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 20:35:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (has_privilege): Fix a return value.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 19:00:40 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: proofreading documentation.</div><div class='del'>-	  [Bug #10155][ruby-core:64471]</div><div class='del'>-</div><div class='del'>-Fri Sep  5 18:34:33 2014  Laurent Arnoud  &lt;laurent@spkdev.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/csv/test_row.rb: Added some missing tests in CSV.</div><div class='del'>-	  [fix GH-710]</div><div class='del'>-	* test/csv/test_table.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 12:57:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (has_privilege): Refine uid/gid check.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 12:40:55 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check sys/id.h, getuidx and getgidx for AIX.</div><div class='del'>-</div><div class='del'>-	* process.c (getresuid): Defined for AIX.</div><div class='del'>-	  (getresgid): Ditto</div><div class='del'>-	  AIX don't have getresuid/getresgid but getuidx/getgidx.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 12:28:21 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (has_privilege): Fix assignments.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 11:10:13 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/generator/pot/po.rb: fixed broken tests for trailing whitespace.</div><div class='del'>-	* test/rdoc/test_rdoc_generator_pot.rb: ditto.</div><div class='del'>-	* test/rdoc/test_rdoc_generator_pot_po.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 10:41:07 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_parse_file_encoding):</div><div class='del'>-	  typofix.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 10:39:14 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(313287)</div><div class='del'>-</div><div class='del'>-Fri Sep  5 06:04:22 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: remove unused USE_THREAD_RECYCLE [misc #10198]</div><div class='del'>-</div><div class='del'>-Fri Sep  5 00:29:08 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (dirfd): Check function.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_fileno): New method.</div><div class='del'>-	  [ruby-dev:48265] [Feature #9880]</div><div class='del'>-</div><div class='del'>-Thu Sep  4 23:39:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (has_privilege): New function.</div><div class='del'>-	  (retry_fork_async_signal_safe): Don't use vfork() for privileged</div><div class='del'>-	  process.</div><div class='del'>-</div><div class='del'>-	* configure.in (getresuid): Check function.</div><div class='del'>-	  (getresgid): Ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 20:22:14 2014  Laurent Arnoud  &lt;laurent@spkdev.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: added testcase for Pathname#mountpoint?.</div><div class='del'>-	  [fix GH-709]</div><div class='del'>-</div><div class='del'>-Thu Sep  4 20:09:21 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbian/*: removed Symbian support.</div><div class='del'>-	  [Feature #10199][ruby-core:64725]</div><div class='del'>-	* dln.c: ditto.</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-	* thread_pthread.c: ditto.</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 17:44:40 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): use #ifdef instead of #if.</div><div class='del'>-	  gcc's -Wundef option shows warning for undefined macro.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_is_finite_p): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_thread_dump_state): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: define VM_DEBUG_VERIFY_METHOD_CACHE to 0.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 03:57:46 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: spelling fix ("bellow" =&gt; "below") [ci-skip]</div><div class='del'>-</div><div class='del'>-Thu Sep  4 03:52:16 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: add trailing slash to URLs [ci-skip]</div><div class='del'>-</div><div class='del'>-Wed Sep  3 19:10:28 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (before_fork_ruby): Renamed from before_fork.</div><div class='del'>-	  (after_fork_ruby): Renamed from after_fork.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 18:56:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (forked_child): Removed.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 16:56:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_copy_ivar): allocate no memory for empty</div><div class='del'>-	  instance variables.  [ruby-core:64700] [Bug #10191]</div><div class='del'>-</div><div class='del'>-Wed Sep  3 12:05:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork_async_signal_safe): Use vfork() if available.</div><div class='del'>-	  vfork() is still faster than fork() especially when the parent</div><div class='del'>-	  process uses big memory.</div><div class='del'>-</div><div class='del'>-	  ruby -rbenchmark -e 'a = "a" * 1_000_000_000; puts Benchmark.measure { system("true") }'</div><div class='del'>-	  fork:   0.000000   0.010000   0.010000 (  0.014968)</div><div class='del'>-	  vfork:  0.000000   0.000000   0.000000 (  0.000912)</div><div class='del'>-	  on Debian sid.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 11:33:08 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_rsa.rb (OpenSSL#test_sign_verify_memory_leak):</div><div class='del'>-	  added timeout into testcase for low performance environment.</div><div class='del'>-	  [Bug #9984][ruby-core:63367]</div><div class='del'>-</div><div class='del'>-Wed Sep  3 07:50:15 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Use AC_FUNC_FORK.</div><div class='del'>-</div><div class='del'>-	* io.c: Use HAVE_WORKING_FORK instead of HAVE_FORK.</div><div class='del'>-</div><div class='del'>-	* process.c: Ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 00:12:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork_async_signal_safe): Don't return on in child</div><div class='del'>-	  process.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 23:47:35 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (retry_fork_async_signal_safe): Specialized version of</div><div class='del'>-	  retry_fork respect to rb_fork_async_signal_safe.</div><div class='del'>-	  (retry_fork_ruby): Specialized version of retry_fork respect to</div><div class='del'>-	  rb_fork_ruby.</div><div class='del'>-	  (rb_fork_ruby): Removed.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 23:26:26 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (send_child_error): Simplified.</div><div class='del'>-	  (recv_child_error): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 22:56:25 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_fork_async_signal_safe): Inline rb_fork_internal.</div><div class='del'>-	  (rb_fork_ruby): Ditto.</div><div class='del'>-	  (rb_fork_internal): Removed.</div><div class='del'>-	  (chfunc_protect): Removed.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 22:43:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_new_with_block): Set autoclose to avoid</div><div class='del'>-	  EBADF.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 22:01:51 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (update-coverage): Remove a never executed line.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 19:48:26 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (handle_fork_error): Extracted from retry_fork.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 17:02:53 2014  Vit Ondruch  &lt;v.ondruch@tiscali.cz&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: fixed error of local installation.</div><div class='del'>-	  [Bug #10192][ruby-core:64702]</div><div class='del'>-</div><div class='del'>-Tue Sep  2 16:58:03 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: reporting test coverage for test-all with COVERAGE env.</div><div class='del'>-	  [Feature #10189][ruby-core:64681][fix GH-708]</div><div class='del'>-	* Makefile.in: added task for coverage report.</div><div class='del'>-	* common.mk: added definition of forked simplecov url.</div><div class='del'>-	* .gitignore: ignored coverage directory.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 20:11:02 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (rbtime2vtdate): try to convert millisecond</div><div class='del'>-	  of Time object to millisecond of VT_DATE VARIANT.</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb</div><div class='del'>-	  (test_conversion_time2date_with_msec): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 16:58:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: Fix a syntax error.</div><div class='del'>-</div><div class='del'>-Sun Aug 31 08:46:44 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_reset): preserve ZSTREAM_FLAG_GZFILE</div><div class='del'>-	  [Bug #10101]</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_rewind): test each_byte</div><div class='del'>-</div><div class='del'>-Sat Aug 30 19:22:47 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_sym2id): do not return garbage object</div><div class='del'>-</div><div class='del'>-Sat Aug 30 06:39:48 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix NameError dumping and</div><div class='del'>-	  loading. Fixes GH #85. Thanks @brentdax for the patch!</div><div class='del'>-	* test/psych/test_exception.rb: test for fix</div><div class='del'>-</div><div class='del'>-Sat Aug 30 06:23:40 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/scalar_scanner.rb: fix loading strings that</div><div class='del'>-	  look like integers but have a newline. Fixes GH #189</div><div class='del'>-	* test/psych/test_string.rb: test for fix</div><div class='del'>-</div><div class='del'>-Sat Aug 30 06:10:39 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hash</div><div class='del'>-	  should merge the hash in to the parent.</div><div class='del'>-	* test/psych/test_merge_keys.rb: test for change. Fixes GH #202</div><div class='del'>-</div><div class='del'>-Sat Aug 30 06:00:26 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: quoted "&lt;&lt;" strings</div><div class='del'>-	  should not be treated as merge keys.</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: hashes with keys</div><div class='del'>-	  containing "&lt;&lt;" should roundtrip.</div><div class='del'>-	* test/psych/test_merge_keys.rb: test for change. Fixes GH #203</div><div class='del'>-</div><div class='del'>-Fri Aug 29 17:56:44 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap_response_parser.rb: removed needless code.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 17:36:58 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: removed useless assignment variables.</div><div class='del'>-	* test/rss/rss-assertions.rb: ditto.</div><div class='del'>-	* test/rss/test_maker_itunes.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 16:18:26 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: revert part of r47311, add rb_vm_fstring_table(),</div><div class='del'>-	  remove vm_core.h dependency. [ruby-core:64627]</div><div class='del'>-</div><div class='del'>-Fri Aug 29 15:17:13 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: remove static frozen_strings</div><div class='del'>-	* string.c (Init_frozen_strings): new function</div><div class='del'>-	* string.c (rb_fstring): remove check for frozen strings,</div><div class='del'>-	  use per-VM table</div><div class='del'>-	* string.c (rb_str_free): use per-VM table</div><div class='del'>-	* string.c (Init_String): use per-VM table</div><div class='del'>-	* vm_core.h (rb_vm_t): add frozen_strings table</div><div class='del'>-	* internal.h (Init_frozen_strings): new function prototype</div><div class='del'>-	* eval.c (ruby_setup): call Init_frozen_strings</div><div class='del'>-	  [Feature #10182]</div><div class='del'>-</div><div class='del'>-Wed Aug 27 23:10:24 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: remove "require 'thread'". its features are no</div><div class='del'>-	  longer used.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 21:19:40 2014  gogo tanaka  &lt;mail@tanakakazuki.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/acl.rb: Removed meaningless #to_s methods in interpolation.</div><div class='del'>-	  [Feature #10174][ruby-core:64584]</div><div class='del'>-	* lib/erb.rb: ditto.</div><div class='del'>-	* lib/observer.rb: ditto.</div><div class='del'>-	* lib/rake/invocation_chain.rb: ditto.</div><div class='del'>-	* lib/rubygems/command_manager.rb: ditto.</div><div class='del'>-	* lib/rubygems/config_file.rb: ditto.</div><div class='del'>-	* lib/uri/common.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 21:08:20 2014  gogo tanaka  &lt;mail@tanakakazuki.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: use attr_reader instead of Module#attr.</div><div class='del'>-	  [Feature #10172][ruby-core:64582]</div><div class='del'>-	* lib/irb/ruby-token.rb: ditto.</div><div class='del'>-	* lib/net/telnet.rb: ditto.</div><div class='del'>-	* lib/rdoc/ruby_token.rb: ditto.</div><div class='del'>-	* lib/thwait.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 19:52:33 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (vtdate2rbtime): try to convert millisecond</div><div class='del'>-	  of VT_DATE VARIANT to nsec of Time object.</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb</div><div class='del'>-	  (test_conversion_dbl2date_with_msec): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 09:57:29 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: removed unreachable code.</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 27 07:59:17 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): check for multiplication overflow</div><div class='del'>-</div><div class='del'>-Tue Aug 26 22:07:42 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: cherry-picked working assertions from r47251.</div><div class='del'>-	* test/ruby/test_rational.rb: cherry-picked working assertions from r47263.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 21:07:56 2014  gogo tanaka  &lt;mail@tanakakazuki.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Fixnum#**, Bignum#**, Float#**, Rational#**):</div><div class='del'>-	  remove as these are now built-in.  [ruby-core:63973] [Bug #10086]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 20:46:55 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_unmagnify_to_float): Avoid double rounding.</div><div class='del'>-	  Reported by Tsuyoshi Sawada.</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/10135#note-1</div><div class='del'>-</div><div class='del'>-Tue Aug 26 17:12:47 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_close): ignore only "closed stream" IOError and</div><div class='del'>-	  NoMethodError, do not swallow other exceptions at the end of</div><div class='del'>-	  block.  [ruby-core:64463] [Bug #10153]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 13:46:33 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: fix failed to make install when @srcdir@ is</div><div class='del'>-	  absolute path.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 13:43:50 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: added workaround for VERBOSE message.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 12:38:02 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_mathn.rb: added workaround for VERBOSE messages.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 11:44:04 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/process-controller.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 11:39:01 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thwait.rb (ThreadsWait): removed needless constant.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 09:27:10 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: mathn library is deprecated on ruby 2.2.</div><div class='del'>-	  [Feature #10169][ruby-core:64553]</div><div class='del'>-</div><div class='del'>-Tue Aug 26 09:25:03 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 20:15:50 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c(fole_s_connect, fole_initialize): raise a</div><div class='del'>-	  security error with the tainted string object.</div><div class='del'>-	* ext/win32ole/win32ole_event.c(ev_advise): ditto.</div><div class='del'>-	* test/win32ole/test_win32ole.rb(test_s_new_exc_svr_tainted,</div><div class='del'>-	  test_s_new_exc_host_tainted): ditto.</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb(test_s_new_exc_tainted): ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 12:56:54 2014  Ivan Korunkov  &lt;ivankorunkov@ya.ru&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (format_datetime): use "%6N" to show microsecond.</div><div class='del'>-	  [Fix GH-704]</div><div class='del'>-</div><div class='del'>-Mon Aug 25 11:02:07 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_iseq_location_t): change first_lineno type to VALUE</div><div class='del'>-	* iseq.c (rb_iseq_build_for_ruby2cext): update based on argument</div><div class='del'>-</div><div class='del'>-Sun Aug 24 16:14:46 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb: remove needless instance variables.</div><div class='del'>-	* lib/irb.rb: ditto.</div><div class='del'>-	* lib/irb/**/*.rb: ditto.</div><div class='del'>-	* lib/shell.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 12:44:26 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: removed needless conditions.</div><div class='del'>-	* test/ruby/test_rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 11:47:39 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: fixed indent.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 11:44:11 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: remove commented-out code.</div><div class='del'>-</div><div class='del'>-Sun Aug 24 11:09:29 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (measure): reduce allocations as in r47260</div><div class='del'>-</div><div class='del'>-Sun Aug 24 10:35:54 2014  Pete Higgins  &lt;pete@peterhiggins.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb (module Benchmark): define BENCHMARK_CLOCK</div><div class='del'>-	  (realtime): use Process.clock_gettime(BENCHMARK_CLOCK)</div><div class='del'>-	  Reduces allocations to improve performance [Feature #10165]</div><div class='del'>-</div><div class='del'>-	* test/benchmark/test_benchmark.rb (test_realtime_output): new test</div><div class='del'>-</div><div class='del'>-Fri Aug 22 20:23:54 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): fix condition (easy to cause infinite loop!).</div><div class='del'>-</div><div class='del'>-Fri Aug 22 20:07:43 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring, fstr_update_callback): simply delete garbage</div><div class='del'>-	  key first.</div><div class='del'>-</div><div class='del'>-	  Garbage keys can be swept by lazy sweeping invoked by creating new</div><div class='del'>-	  fstring.  So that simply do:</div><div class='del'>-	  (1) delete garbage key and return `fstr_update_callback' immediately</div><div class='del'>-	  (2) try again `fstr_update_callback()' to create a new fstr.</div><div class='del'>-</div><div class='del'>-	  This bug can be cause memory corruption, reported by</div><div class='del'>-	  http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20140821T220302Z.fail.html.gz</div><div class='del'>-</div><div class='del'>-Fri Aug 22 19:30:39 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 19:25:28 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: fixed broken tests. Math is not</div><div class='del'>-	  compatible CMath now.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 15:36:09 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (Doxyfile): revert r43888, not to require preinstalled</div><div class='del'>-	  ruby.  [ruby-core:64488] [Bug #10161]</div><div class='del'>-</div><div class='del'>-Fri Aug 22 12:32:15 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell.rb: removed commented-out code.</div><div class='del'>-	* lib/shell/builtin-command.rb: ditto.</div><div class='del'>-	* lib/shell/command-processor.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 12:21:46 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb: removed deprecated library.</div><div class='del'>-	* lib/rational.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 11:38:49 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb: removed PrettyPrint#first?</div><div class='del'>-	  because it is obsoleted method since Ruby 1.8.2</div><div class='del'>-</div><div class='del'>-Thu Aug 21 17:10:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (constat_attr): manage reverse video internally</div><div class='del'>-	  since Windows console window does not manage it.  based on the</div><div class='del'>-	  patch by white leaf in [ruby-dev:48483].  [Bug #10158]</div><div class='del'>-</div><div class='del'>-Thu Aug 21 14:45:41 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 13:23:34 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb: split executable code into sample directory.</div><div class='del'>-	* sample/rinda-ring.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 13:21:45 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/acl.rb: split executable code into sample directory.</div><div class='del'>-	* sample/drb/acl.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 12:55:35 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored temporary file for Changelog.</div><div class='del'>-	  http://mkosaki.blog46.fc2.com/blog-entry-1284.html</div><div class='del'>-</div><div class='del'>-Thu Aug 21 12:40:22 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: split executable code into sample directory.</div><div class='del'>-	* sample/net-imap.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 12:23:56 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Wed Aug 20 17:27:02 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_TRY_CFLAGS, RUBY_TRY_LDFLAGS),</div><div class='del'>-	  (RUBY_CHECK_BUILTIN_SETJMP, RUBY_SETJMP_TYPE),</div><div class='del'>-	  (RUBY_STACK_GROW_DIRECTION): quote defun names, for some</div><div class='del'>-	  versions of autoconf possibly.  [ruby-core:64473] [Bug #10156]</div><div class='del'>-</div><div class='del'>-Tue Aug 19 22:28:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix condition to round.</div><div class='del'>-	  [ruby-core:64454] [Bug #10151]</div><div class='del'>-</div><div class='del'>-Tue Aug 19 22:22:45 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/euckr-tbl.rb (EUCKR_TO_UCS_TBL): add missing euro and</div><div class='del'>-	  registered signs.  [ruby-core:64452] [Bug #10149]</div><div class='del'>-</div><div class='del'>-Tue Aug 19 13:59:43 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (rb_cmperr): preserve encodings of arguments in the</div><div class='del'>-	  message.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 10:13:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (get_array): check instance variables are</div><div class='del'>-	  initialized properly.  [ruby-core:63826][Bug #10062]</div><div class='del'>-</div><div class='del'>-Mon Aug 18 17:06:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): support rational 'f' format.</div><div class='del'>-	  [ruby-core:64382] [Bug #10136]</div><div class='del'>-</div><div class='del'>-Mon Aug 18 08:03:46 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: use 2.2 definition.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 19:41:40 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_memsize_of): don't calculate memsize of T_NODE</div><div class='del'>-	  when called from check_gen_consistency. It fixes segmentation</div><div class='del'>-	  fault on RGENGC_CHECK_MODE &gt;= 1 introduced by r47188.</div><div class='del'>-</div><div class='del'>-Sun Aug 17 17:08:12 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): use RHASH_SIZE instead of</div><div class='del'>-	  calling Hash#length method.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 19:32:06 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_event.c (evs_length): use RARRAY_LEN instead</div><div class='del'>-	  of calling Array#length method.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 10:20:17 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_timespec): fix tv_nsec overflow</div><div class='del'>-	  [Bug #10144]</div><div class='del'>-</div><div class='del'>-Fri Aug 15 20:34:17 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_EVENT src from</div><div class='del'>-	  win32ole.c.</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_event.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_event.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 19:38:00 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_clone): Should not insert write barrier from</div><div class='del'>-	  non-RVALUE data (to non-RVALUE data, of course).</div><div class='del'>-</div><div class='del'>-	  Ruby 2.1 also has a same problem.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 19:34:33 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (setup_fake_str): fake strings should not set class by</div><div class='del'>-	  RBASIC_SET_CLASS() because it insert write barriers to fake</div><div class='del'>-	  (non-RVALUE) structure.</div><div class='del'>-</div><div class='del'>-	  It can cause unexpected behaviour.</div><div class='del'>-</div><div class='del'>-	  Ruby 2.1 also have a same problem (setup_fake_str() in parse.y).</div><div class='del'>-</div><div class='del'>-	* symbol.c (setup_fake_str): ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 19:27:25 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_tmp_new_fill): added.</div><div class='del'>-	  This function creates internal use only array (which is completely</div><div class='del'>-	  hided by ObjectSpace.each_object) with filling nil.</div><div class='del'>-</div><div class='del'>-	  Otherwise, it can be includes strange VALUEs.</div><div class='del'>-</div><div class='del'>-	* internal.h: added.</div><div class='del'>-</div><div class='del'>-	* node.h: use rb_ary_tmp_new_fill() for MEMO.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 10:13:37 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: removed unmaintained code.</div><div class='del'>-	  [ruby-core:40313][Feature #5480]</div><div class='del'>-	* lib/xmlrpc/httpserver.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 09:22:12 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_struct): reorder to pack</div><div class='del'>-	* cont.c (rb_context_struct, rb_fiber_struct): ditto</div><div class='del'>-	  On x86-64, these changes reduces:</div><div class='del'>-	  rb_thread_struct to 1000 bytes (from 1016)</div><div class='del'>-	  rb_context_struct to 1288 bytes (from 1312)</div><div class='del'>-	  rb_fiber_struct to 2272 bytes (from 2304)</div><div class='del'>-</div><div class='del'>-Fri Aug 15 09:06:31 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h: define RB_NATIVETHREAD_LOCK_INIT and</div><div class='del'>-	  RB_NATIVETHREAD_COND_INIT macros</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_mutex_lock, native_mutex_unlock,</div><div class='del'>-	  native_mutex_trylock, native_mutex_initialize,</div><div class='del'>-	  native_mutex_destroy, native_cond_wait):</div><div class='del'>-	  use rb_nativethread_lock_t instead of pthread_mutex_t</div><div class='del'>-	  [Feature #10134]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_mutex_debug): make argument type-agnostic</div><div class='del'>-	  to avoid later cast.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (register_cached_thread_and_wait):</div><div class='del'>-	  replace PTHREAD_COND_INITIALIZER with RB_NATIVETHREAD_COND_INIT,</div><div class='del'>-	  use native_mutex_{lock,unlock}</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (use_cached_thread):</div><div class='del'>-	  use native_mutex_{lock,unlock}</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_sleep):</div><div class='del'>-	  use rb_nativethread_lock_t to match th-&gt;interrupt_lock,</div><div class='del'>-	  use native_mutex_{lock,unlock}</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (timer_thread_lock): use rb_nativethread_lock_t type</div><div class='del'>-</div><div class='del'>-Fri Aug 15 08:10:29 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_mark): fix typo in unused path [ci skip]</div><div class='del'>-</div><div class='del'>-Fri Aug 15 06:00:56 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): update comment about marking `me'</div><div class='del'>-	  [ruby-core:64340] [ruby-core:64341]</div><div class='del'>-</div><div class='del'>-Fri Aug 15 05:53:59 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: preliminary documentation for RB_GC_GUARD</div><div class='del'>-	  [Bug #10100] [ruby-core:60741]</div><div class='del'>-</div><div class='del'>-Thu Aug 14 00:26:19 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_RECORD src from</div><div class='del'>-	  win32ole.c</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_record.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_record.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 21:41:04 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_VARIANT src from</div><div class='del'>-	  win32ole.c.</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_variant.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_variant.c: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 20:09:37 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: remove unused variable.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 19:31:27 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_search_handler_method, rescue_callback,</div><div class='del'>-	  folerecord_inspect): use PRIsVALUE in rb_sprintf.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_param.c (foleparam_inspect): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variable.c (folevariable_inspect): use</div><div class='del'>-	  PRIsVALUE in rb_sprintf, use rb_inspect.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 11:54:41 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: reverted r47163.</div><div class='del'>-	  because another case can't be show completion target.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 11:17:00 2014  Shimpei Makimoto  &lt;github@makimoto.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: Prevent irb from crashing when exception with</div><div class='del'>-	  nil backtrace is raised.</div><div class='del'>-	  [fix GH-434][ruby-core:58078][Bug #9063]</div><div class='del'>-	* test/irb/test_raise_no_backtrace_exception.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 11:08:55 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb: fixed broken completion list with</div><div class='del'>-	  String including spaces. Contributed from @dunric. [fix GH-465]</div><div class='del'>-</div><div class='del'>-Wed Aug 13 00:07:01 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_PARAM src from win32ole.c</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_param.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_param.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 23:17:47 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: refactoring. move some methods</div><div class='del'>-	  into win32ole_type.c / win32ole_method.c</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_method.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_method.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_type.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_type.h: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 22:59:48 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: refactoring. move</div><div class='del'>-	  ole_typelib_from_itypeinfo into win32ole_typelib.c.</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_typelib.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_typelib.h: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 21:49:40 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_create_dcom): use the converted</div><div class='del'>-	  result if the argument can be converted to a string, to get rid</div><div class='del'>-	  of invalid access. Thanks to nobu. [ruby-dev:48467] [Bug #10127]</div><div class='del'>-</div><div class='del'>-Tue Aug 12 14:22:58 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: ignored working directory same as prefix value.</div><div class='del'>-	  [ruby-core:54999] [Bug #8409]</div><div class='del'>-</div><div class='del'>-Tue Aug 12 13:34:25 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: enable to remove with non-owner directory.</div><div class='del'>-	  [ruby-dev:45976] [Bug #6756]</div><div class='del'>-	* test/fileutils/test_fileutils.rb: add testcase for #6756.</div><div class='del'>-</div><div class='del'>-Tue Aug 12 12:57:28 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: improve performance in ppc64 arch.</div><div class='del'>-	  [ruby-core:63437] [Feature #9997]</div><div class='del'>-</div><div class='del'>-Tue Aug 12 12:14:52 2014  Akira Matsuda &lt;ronnie@dio.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: fix typo.</div><div class='del'>-	  [ruby-dev:47831] [Bug #9180]</div><div class='del'>-</div><div class='del'>-Tue Aug 12 10:10:42 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (release_method_definition): use rb_free_method_entry</div><div class='del'>-</div><div class='del'>-Tue Aug 12 06:16:09 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_METHOD src from</div><div class='del'>-	  win32ole.c.</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_method.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_method.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 22:19:15 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variable.c (folevariable_inspect): refactoring.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 20:47:27 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_VARIABLE src from</div><div class='del'>-	  win32ole.c</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_variable.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_variable.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Mon Aug 11 16:17:21 2014  Tony Miller  &lt;mcfiredrill@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_dir_exists_p): [DOC] Document that Dir.exists? is</div><div class='del'>-	  deprecated.  [ruby-core:64135] [Bug #10102]</div><div class='del'>-</div><div class='del'>-Mon Aug 11 11:26:33 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: start rdoc parsing inside singleton class</div><div class='del'>-	  definition to include the document there.</div><div class='del'>-	  [ruby-core:64157] [Bug #10105]</div><div class='del'>-</div><div class='del'>-Sun Aug 10 12:22:43 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_type.c: refactoring.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 10:34:00 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session/pstore.rb: separated sample code.</div><div class='del'>-	* lib/open3.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug 10 10:03:24 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/multi-irb.rb: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 11:02:07 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: removed commented-out code.</div><div class='del'>-	* lib/irb/**/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 10:35:30 2014  Laurent Arnoud  &lt;laurent@spkdev.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: fixed indent. [fix GH-696]</div><div class='del'>-	* lib/drb/ssl.rb: ditto.</div><div class='del'>-	* lib/irb/**/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 10:28:03 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_unit.rb: removed obsoleted condition</div><div class='del'>-	  for Ruby 1.8.</div><div class='del'>-	* test/ruby/test_time_tz.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 10:18:00 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/cgi/test_cgi_core.rb: removed obsoleted condition for Ruby 1.8.</div><div class='del'>-	* test/cgi/test_cgi_header.rb: ditto.</div><div class='del'>-	* test/cgi/test_cgi_multipart.rb: ditto.</div><div class='del'>-	* test/cgi/test_cgi_tag_helper.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  9 00:34:37 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE_TYPE src from win32ole.c.</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_type.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_type.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 01:53:37 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: use OpenSSL::BN for performance improvement.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_securerandom.rb: benchmark script.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 17:19:57 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: remove needless condition for old ruby version.</div><div class='del'>-	* test/open-uri/test_open-uri.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 16:40:59 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb: removed unreachable code.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 16:34:22 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: removed unreachable code.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 14:33:49 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb: remove needless condition</div><div class='del'>-	  for old ruby version.</div><div class='del'>-</div><div class='del'>-Fri Aug  8 01:07:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): fix invalid char in eval, should raise</div><div class='del'>-	  an syntax error too, as well as directly coded.</div><div class='del'>-	  [ruby-core:64243] [Bug #10117]</div><div class='del'>-</div><div class='del'>-Thu Aug  7 23:25:29 2014  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: avoid unnecessary write if stdin_data is empty.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 21:42:49 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_typelib.c (foletypelib_version): return</div><div class='del'>-	  version string.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_typelib.rb (test_version): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 15:13:13 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: remove needless condition for old ruby version.</div><div class='del'>-</div><div class='del'>-Thu Aug  7 06:04:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yyerror): preserve source code encoding in</div><div class='del'>-	  syntax error messages.  [ruby-core:64228] [Bug #10114]</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:56:02 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate src of WIN32OLE_TYPELIB from</div><div class='del'>-	  win32ole.c</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_typelib.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_typelib.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:44:07 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_one): [DOC] Move enum.one? documentation before the</div><div class='del'>-	  relevant method.  Submitted by @vipulnsward. [Fixes GH-687]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/687</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:25:47 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#replace): Check if an object given is enumerable</div><div class='del'>-	  before clearing self.  Reported by yui-knk. [GH-675]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/675</div><div class='del'>-</div><div class='del'>-Wed Aug  6 20:07:26 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (olerecord_ivar_set): remove rb_str_subseq.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 19:09:27 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set): Implement Set#clone by splitting</div><div class='del'>-	  initialize_copy into initialize_dup and initialize_clone.</div><div class='del'>-	  Submitted by yui-knk. [Fixes GH-661]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/661</div><div class='del'>-</div><div class='del'>-Wed Aug  6 18:42:58 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate src of WIN32OLERuntimeError</div><div class='del'>-	  from win32ole.c.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_error.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_error.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 04:33:58 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.proxy_uri): use initializer instead</div><div class='del'>-	  of parser to handle IPv6 address. [Bug #9129]</div><div class='del'>-</div><div class='del'>-Wed Aug  6 04:16:05 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/requests.rb (Net::HTTP::Options::RESPONSE_HAS_BODY):</div><div class='del'>-	  OPTIONS requests may have response bodies. [Feature #8429]</div><div class='del'>-	  http://tools.ietf.org/html/rfc7231#section-4.3.7</div><div class='del'>-</div><div class='del'>-Wed Aug  6 03:18:04 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec):</div><div class='del'>-	  handle req['host'] in update_uri.</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb</div><div class='del'>-	  (Net::HTTP::GenericRequest#update_uri):</div><div class='del'>-	  use req['host'] if it is explicitly set. Even if URI is given,</div><div class='del'>-	  it is already used for the initial value of req['host'].</div><div class='del'>-	  Therefore overwritten value should be respected. [Bug #10054]</div><div class='del'>-</div><div class='del'>-Wed Aug  6 03:17:34 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb</div><div class='del'>-	  (Net::HTTP::GenericRequest#update_uri):</div><div class='del'>-	  handle scheme, host, and port to reflect connection to @uri.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#begin_transport): move trivial handling</div><div class='del'>-	  to Net::HTTP::GenericRequest#update_uri.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Wed Aug  6 02:16:43 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb</div><div class='del'>-	  (Net::HTTP::GenericRequest#initialize):</div><div class='del'>-	  optimize object allocation.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 01:16:47 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#path_query): remove a private method.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 01:15:47 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#normalize!): use String#empty?</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#path_query): optimized.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#to_s): optimized.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 00:15:10 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/http.rb (URI::HTTP#request_uri): optimized.</div><div class='del'>-	  decrease object allocation, and ensure always create at least one new</div><div class='del'>-	  object for return value.</div><div class='del'>-</div><div class='del'>-Wed Aug  6 03:41:21 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: backwards compatibility for</div><div class='del'>-	  hashes emitted by Syck. Github #198</div><div class='del'>-	* test/psych/test_hash.rb: test for change.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 19:27:59 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): skip VariantClear when</div><div class='del'>-	  argument is VT_RECORD variant.</div><div class='del'>-</div><div class='del'>-Tue Aug  5 15:52:51 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgrade to test-unit-3.0.0 and minitest-5.4.0.</div><div class='del'>-</div><div class='del'>-Mon Aug  4 21:50:09 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_record.rb: add for WIN32OLE_RECORD</div><div class='del'>-	  test(need .NET Framework 3.5 to run test).</div><div class='del'>-</div><div class='del'>-Mon Aug  4 19:49:34 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): call rb_hash_foreach instead</div><div class='del'>-	  of rb_block_call.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add comment for rdoc of WIN32OLE_VARIANT</div><div class='del'>-	  class.</div><div class='del'>-</div><div class='del'>-Mon Aug  4 09:12:47 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: cleanup to use rb_const_lookup</div><div class='del'>-	  [Feature #10107]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto</div><div class='del'>-</div><div class='del'>-Sun Aug  3 10:55:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (rb_check_symbol_cstr): ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug  3 10:43:08 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): unusable super class should cause</div><div class='del'>-	  method missing when BasicObject is refined but not been using.</div><div class='del'>-	  [ruby-core:64166] [Bug #10106]</div><div class='del'>-</div><div class='del'>-Sat Aug  2 23:47:45 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: separate WIN32OLE::VARIANT src file</div><div class='del'>-	  from win32ole.c</div><div class='del'>-	* ext/win32ole/win32ole.h: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_variant_m.c: ditto.</div><div class='del'>-	* ext/win32ole/win32ole_variant_m.h: ditto.</div><div class='del'>-	* ext/win32ole/depend: ditto.</div><div class='del'>-	* ext/.document: ditto.</div><div class='del'>-</div><div class='del'>-Sat Aug  2 14:34:58 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add comments for rdoc.</div><div class='del'>-</div><div class='del'>-Sat Aug  2 10:26:57 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_itself): new method Object#itself.  based on the</div><div class='del'>-	  patch by Rafael Franca in [ruby-core:64156].</div><div class='del'>-	  [EXPERIMENTAL] this method may be renamed due to compatibilities.</div><div class='del'>-	  [ruby-core:44704] [Feature #6373]</div><div class='del'>-</div><div class='del'>-Fri Aug  1 22:30:40 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folerecord_initialize): accept</div><div class='del'>-	  only 2 arguments. The 2nd argument should be WIN32OLE object or</div><div class='del'>-	  WIN32OLE_RECORD object.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 20:17:33 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_variant2val): call</div><div class='del'>-	  folerecord_s_allocate instead of WIN32OLE_RECORD.new.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 18:39:57 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/date/test_date.rb: remove commented-out code.</div><div class='del'>-	* test/date/test_date_arith.rb: ditto.</div><div class='del'>-	* test/date/test_date_attr.rb: ditto.</div><div class='del'>-	* test/date/test_date_parse.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Aug  1 16:35:32 2014  Evan Miller  &lt;evan@squareup.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flodivmod): all results are NaN if divisor is NaN.</div><div class='del'>-	  [fix GH-692]</div><div class='del'>-</div><div class='del'>-Thu Aug 01 07:28:12 2014  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: [DOC] Add description of</div><div class='del'>-	  `BigDecimal.new` exceptions.  Patched by @joker1007 and</div><div class='del'>-	  @prathamesh-sonpatki [Fixes GH-690]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/690</div><div class='del'>-</div><div class='del'>-Thu Jul 31 22:20:12 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_RECORD#inspect.</div><div class='del'>-</div><div class='del'>-Thu Jul 31 20:35:32 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add</div><div class='del'>-	  WIN32OLE_RECORD#ole_instance_variable_set and</div><div class='del'>-	  WIN32OLE_RECORD#ole_instance_variable_get</div><div class='del'>-</div><div class='del'>-Wed Jul 30 23:28:10 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): like r47006, get rid of</div><div class='del'>-	  function calls in RSTRING_PTR().</div><div class='del'>-</div><div class='del'>-Wed Jul 30 22:10:29 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rlimit_resource_type, rlimit_resource_value):</div><div class='del'>-	  get rid of inadvertent dynamic symbol pin-down.</div><div class='del'>-</div><div class='del'>-	* re.c (match_backref_number): ditto.</div><div class='del'>-</div><div class='del'>-	* signal.c (esignal_init, rb_f_kill, trap_signm): ditto.</div><div class='del'>-</div><div class='del'>-	* transcode.c (econv_opts): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (symbol2event_flag): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 21:29:39 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): pass WIN32OLE_RECORD variant</div><div class='del'>-	  by reference when invoke OLE methods at first.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (olerecord_set_ivar): release</div><div class='del'>-	  IRecordInfo interface before setting another IRecordInfo interface.</div><div class='del'>-</div><div class='del'>-Wed Jul 30 13:17:35 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove unused macros.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 22:21:37 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (hash2olerec): ignore WIN32OLE_RECORD</div><div class='del'>-	  instance variable if the variable is nil.</div><div class='del'>-</div><div class='del'>-Tue Jul 29 19:43:27 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folerecord_method_missing): refactoring.</div><div class='del'>-	  divide functionality of folerecord_method_missing into</div><div class='del'>-	  olerecord_ivar_set and olerecord_ivar_get.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 20:20:08 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win23ole.c (folerecord_method_missing): support</div><div class='del'>-	  setter of member of WIN32OLE_RECORD object.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 06:37:19 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: [DOC] Fix rdoc formatting of patch from [Bug #9551]</div><div class='del'>-</div><div class='del'>-Mon Jul 28 06:34:43 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: [DOC] [Bug #9551] Improve clarity of Kernel::catch</div><div class='del'>-	  documentation, patch by Jesse Sielaff.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 06:24:54 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: [DOC] [Bug #9563] Recommend using URI.escape</div><div class='del'>-	  before parsing a uri to avoid invalid characters. Reported by</div><div class='del'>-	  Evgeniy Serykh.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 05:55:56 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: [DOC] Clarify %Y in strftime, which can accept any digits</div><div class='del'>-	  and will output at least 4 digits as the year. Reported by Yury</div><div class='del'>-	  Trofimenko [Bug #10049]</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Jul 28 05:32:06 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: [DOC] [Bug #10075] Clarify how URI.join arguments</div><div class='del'>-	  are handled by RFC3986, originally reported by John Feminella.</div><div class='del'>-</div><div class='del'>-Mon Jul 28 05:21:41 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: [DOC] Clarify how File.file? handles symbolic links. Also</div><div class='del'>-	  cleaned up the rdoc style for this method, more to follow.</div><div class='del'>-	  Originally reported by Michael Renner [Bug #10067]</div><div class='del'>-</div><div class='del'>-Mon Jul 28 05:12:22 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: [DOC] Remove dead link and old bug report, which hasn't been</div><div class='del'>-	  reproduced in a few years. Reported by Federico Builes [Bug #10071]</div><div class='del'>-</div><div class='del'>-Mon Jul 28 04:39:58 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: [DOC] Remove default value of Zlib constants, as</div><div class='del'>-	  they may change in the implementation without notice. Patched by</div><div class='del'>-	  @robin850 [Fixes GH-682] https://github.com/ruby/ruby/pull/682</div><div class='del'>-</div><div class='del'>-Mon Jul 28 04:35:35 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_hmac.c: Fix NO_HMAC warning [Fixes GH-665]</div><div class='del'>-	  Patched by @vipulnsward https://github.com/ruby/ruby/pull/665</div><div class='del'>-</div><div class='del'>-Sun Jul 27 19:49:36 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: remove unused variables.</div><div class='del'>-	* lib/erb.rb: ditto.</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-	* lib/net/http/response.rb: ditto.</div><div class='del'>-	* lib/optparse/version.rb: ditto.</div><div class='del'>-	* lib/prime.rb: ditto.</div><div class='del'>-	* lib/racc/parser.rb: ditto.</div><div class='del'>-	* lib/rexml/document.rb: ditto.</div><div class='del'>-	* lib/rexml/dtd/dtd.rb: ditto.</div><div class='del'>-	* lib/rexml/element.rb: ditto.</div><div class='del'>-	* lib/rexml/functions.rb: ditto.</div><div class='del'>-	* lib/rexml/parsers/xpathparser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 05:11:21 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: [DOC] PROMPT_I cannot be nil, patch by @hgillane</div><div class='del'>-	  Fixes documenting-ruby/ruby#37</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/37</div><div class='del'>-</div><div class='del'>-Sun Jul 27 02:41:50 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb: remove unused variable.</div><div class='del'>-	* lib/shell/system-command.rb: ditto.</div><div class='del'>-	* lib/tmpdir.rb: ditto.</div><div class='del'>-	* lib/uri/generic.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 02:08:31 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb: split executable code into sample directory.</div><div class='del'>-	* sample/weakref.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 02:06:55 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: split executable code into sample directory.</div><div class='del'>-	* sample/delegate.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 27 01:46:34 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_super_method): [DOC] Method#super_method</div><div class='del'>-</div><div class='del'>-Sun Jul 27 01:22:39 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_super_method): new method Method#super_method,</div><div class='del'>-	  which returns a method object of the method to be called by</div><div class='del'>-	  `super` in the receiver method object.</div><div class='del'>-	  [ruby-core:62202] [Feature #9781]</div><div class='del'>-</div><div class='del'>-Sat Jul 26 17:22:14 2014  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_append): avoid fflush.</div><div class='del'>-</div><div class='del'>-	  because dump_append_string_value() iterates over each chars,</div><div class='del'>-	  fflush()-ing here effectively issues system calls on every single</div><div class='del'>-	  bytes exist in a ruby process.</div><div class='del'>-</div><div class='del'>-Sat Jul 26 16:55:18 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h (struct iseq_compile_data_storage): reduce overhead</div><div class='del'>-	  to 16 bytes (from 32) on 64-bit</div><div class='del'>-</div><div class='del'>-Sat Jul 26 16:28:06 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): reduce to 280 bytes</div><div class='del'>-	  (from 288 bytes) on 64-bit</div><div class='del'>-</div><div class='del'>-Sat Jul 26 06:44:43 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parse_params): shrink to 320 to 304 bytes on 64-bit</div><div class='del'>-</div><div class='del'>-Sat Jul 26 05:58:35 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement</div><div class='del'>-	  (Data_Make_Struct, TypedData_Make_Struct):</div><div class='del'>-	  ZALLOC replaces ALLOC+memset</div><div class='del'>-	  [ruby-core:63951][Feature #10082]</div><div class='del'>-	* compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO</div><div class='del'>-	* cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO</div><div class='del'>-	* io.c (rb_io_reopen): ditto</div><div class='del'>-	* iseq.c (prepare_iseq_build): ditto</div><div class='del'>-	* parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto</div><div class='del'>-	* re.c (match_alloc): ditto</div><div class='del'>-	* variable.c (rb_const_set): ditto</div><div class='del'>-	* ext/socket/raddrinfo.c (get_addrinfo): ditto</div><div class='del'>-	* ext/strscan/strscan.c (strscan_s_allocate): ditto</div><div class='del'>-	* gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO</div><div class='del'>-</div><div class='del'>-Sat Jul 26 05:54:54 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (dsymbol_check): remove unneeded semi-colon</div><div class='del'>-</div><div class='del'>-Fri Jul 25 14:07:27 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change objspace::rgengc::parent_object_is_old (boolean)</div><div class='del'>-	  to objspace::rgengc::parent_object (VALUE).</div><div class='del'>-	  Use Qfalse or RVALUE pointer instead of FALSE and TRUE.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_body): should clear parent_object just before</div><div class='del'>-	  gc_mark_roots() because there are no parents objects</div><div class='del'>-	  for root objects.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 13:45:39 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_writebarrier_remember_promoted): should remember only</div><div class='del'>-	  OLD objects on RGENGC_AGE2_PROMOTION.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 13:42:02 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_stacked_objects): fix error message.</div><div class='del'>-</div><div class='del'>-Fri Jul 25 13:18:00 2014  Will Farrington  &lt;wfarrington@digitalocean.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_gethostname): Use NI_MAXHOST to support</div><div class='del'>-	  hostnames longer than 64 characters if the system supports it.</div><div class='del'>-	  [fixes GH-683]</div><div class='del'>-</div><div class='del'>-Fri Jul 25 12:21:11 2014  Santiago Pastorino  &lt;santiago@wyeworks.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (defined_expr): make the condition if the receiver</div><div class='del'>-	  is explicit or implicit cleaner.  [fix GH-681]</div><div class='del'>-</div><div class='del'>-Fri Jul 25 03:53:52 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/keywords.rdoc:  [DOC] Describe each keyword.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 22:40:24 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_RECORD#initialize</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2variant): convert WIN32OLE_RECORD</div><div class='del'>-	  object to VT_RECORD variant.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 20:10:59 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix major GC flags.</div><div class='del'>-	  * add GPR_FLAG_MAJOR_BY_FORCE, which indicates</div><div class='del'>-	    major GC by METHOD, CAPI and so on (see GC_BY).</div><div class='del'>-	  * remove GPR_FLAG_MAJOR_BY_RESCAN because not used.</div><div class='del'>-	  * remove GPR_FLAG_MAJOR_BY_STRESS, use FORCE instead.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 15:55:02 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (struct rb_io_buffer_t): PACKED_STRUCT should not</div><div class='del'>-	  be used for platform-specific optimization. PACKED_STRUCT_UNALIGNED</div><div class='del'>-	  should be used. [ruby-core:63988] [Bug #10088]</div><div class='del'>-</div><div class='del'>-Thu Jul 24 04:42:13 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: split executable code into sample directory.</div><div class='del'>-	* sample/benchmark.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 04:36:49 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: split executable code into sample directory.</div><div class='del'>-	* sample/tempfile.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 24 04:29:36 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb: split executable code into sample directory.</div><div class='del'>-	* sample/pstore.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 23:50:11 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS):</div><div class='del'>-	  add PowerPC64 too, which is capable to access unaligned words.</div><div class='del'>-	  patched by Gustavo Frederico Temple Pedrosa in [ruby-core:63937].</div><div class='del'>-	  [Feature #10081]</div><div class='del'>-</div><div class='del'>-	* regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 23 04:04:38 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/extserv.rb: remove duplicate code with sample directory.</div><div class='del'>-	  contributed from @vipulnsward. [fix GH-679]</div><div class='del'>-</div><div class='del'>-Tue Jul 22 12:56:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): fix wrong single-byte optimization.</div><div class='del'>-	  7bit ascii can be a trailing byte in Shift_JIS.</div><div class='del'>-	  [ruby-dev:48442] [Bug #10078]</div><div class='del'>-</div><div class='del'>-Tue Jul 22 01:48:38 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_buffer_t): fix packing on gcc</div><div class='del'>-	  r46892 caused packing to be a no-op on gcc (4.7.2-5, Debian)</div><div class='del'>-	  [Bug #10079][ruby-core:63912]</div><div class='del'>-</div><div class='del'>-Mon Jul 21 15:55:42 2014  fuji70  &lt;fujifuji70@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (getopts): print default values and descriptions</div><div class='del'>-	  in the help message.  [fix GH-676]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 14:26:27 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit</div><div class='del'>-</div><div class='del'>-Sun Jul 20 13:50:34 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_t): reduce to 184 bytes from 200 on 64-bit</div><div class='del'>-</div><div class='del'>-Sun Jul 20 12:44:23 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_buffer_t): pack structure</div><div class='del'>-	  Reduces rb_io_t from 200 to 192 bytes, allowing rb_io_t to</div><div class='del'>-	  occupy one less cache line.</div><div class='del'>-	  [Feature #10050]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 12:41:53 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/io.h (rb_io_t): shrink to 200 bytes from 216 on 64-bit</div><div class='del'>-	  This puts us within 8 bytes of being three cache lines instead of</div><div class='del'>-	  four lines on x86-64.  This breaks the ABI.</div><div class='del'>-	  [Feature #10050]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 12:36:46 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448</div><div class='del'>-	  bytes from 464 bytes on 64-bit.  This breaks the ABI.</div><div class='del'>-	  [Feature #10034]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 01:06:06 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: use encryptor instead of encrypter in doc.</div><div class='del'>-	  contributed from @vipulnsward. [fix GH-663]</div><div class='del'>-</div><div class='del'>-Sun Jul 20 00:32:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_initialize): [DOC] fix rdoc of append mode.  it does</div><div class='del'>-	  not move the pointer at open.  [ruby-core:63747] [Bug #10039]</div><div class='del'>-</div><div class='del'>-Sat Jul 19 12:40:50 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): allow to access private attribute</div><div class='del'>-	  reader in op_assign.  [ruby-core:63817] [Bug #10060]</div><div class='del'>-</div><div class='del'>-Sat Jul 19 11:56:36 2014  Grey Baker  &lt;greysteil@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time#apply_offset): Guards against a `nil` return</div><div class='del'>-	  value from `Time.month_days` when offsetting date.  Out of range</div><div class='del'>-	  values are then caught when `Time.utc` is called (as usual).</div><div class='del'>-</div><div class='del'>-	  Previously a `nil` return value from `Time.month_days` would</div><div class='del'>-	  have the `&lt;` operator called on it, and raise `NoMethodError`.</div><div class='del'>-	  [fix GH-667]</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parser/changelog.rb (RDoc#parse_entries): fix dirty hack.</div><div class='del'>-</div><div class='del'>-Sat Jul 19 06:19:01 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: refactoring.</div><div class='del'>-</div><div class='del'>-Fri Jul 18 22:34:41 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folevariant_initialize): WIN32OLE_VARIANT</div><div class='del'>-	  does not support VT_RECORD. VT_RECORD should be supported in</div><div class='del'>-	  WIN32OLE_RECORD.</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_variant.rb (test_s_new_vt_record_exc):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 18 19:54:03 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (folevariant_initialize): remove unnecessary</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-Fri Jul 18 19:11:03 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix/eigenvalue_decomposition: Style fix</div><div class='del'>-	  Patch by Gogo Tanaka [#10058]</div><div class='del'>-</div><div class='del'>-Fri Jul 18 19:03:53 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Avoid using `and`.</div><div class='del'>-	  Patch by gogo tanaka [#10058]</div><div class='del'>-</div><div class='del'>-Fri Jul 18 17:41:54 2014  GoGo tanaka  &lt;qlli.illb@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_matrix.rb: Add tests for Matrix class.</div><div class='del'>-	  [Feature #10057][ruby-core:63809]</div><div class='del'>-</div><div class='del'>-Fri Jul 18 10:14:42 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: added missing options of FileUtils.touch by @Domon.</div><div class='del'>-	  [fix GH-669]</div><div class='del'>-</div><div class='del'>-Thu Jul 17 19:57:27 2014  Herwin  &lt;herwin@quarantainenet.nl&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (rb_szqueue_push): add optional parameter,</div><div class='del'>-	  non_block defaulted to false.  [ruby-core:63794] [Feature #10052]</div><div class='del'>-</div><div class='del'>-Wed Jul 16 23:01:43 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_variant2val): support array of</div><div class='del'>-	  VT_RECORD variant.</div><div class='del'>-</div><div class='del'>-Wed Jul 16 20:21:49 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): stack_max is changed to int</div><div class='del'>-	  because all calculations related to stack_max in compile.c</div><div class='del'>-	  (iseq_set_sequence) and vm_insnhelper.c (vm_push_frame) are</div><div class='del'>-	  conducted by using int. This partly reverts r23945.</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): ditto. This reverts r42401.</div><div class='del'>-</div><div class='del'>-Wed Jul 16 19:55:32 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): temporal workaround of [Bug 10037].</div><div class='del'>-	  Add padding on big-endian 64-bit architecture (e.g. sparc64).</div><div class='del'>-</div><div class='del'>-Wed Jul 16 19:32:23 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_record_method_missing): call</div><div class='del'>-	  rb_hash_fetch instead of rb_hash_aref.</div><div class='del'>-</div><div class='del'>-Wed Jul 16 18:08:47 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of</div><div class='del'>-	  marking from vm_mark().</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 16 18:03:50 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_roots): call rb_vm_mark directly.</div><div class='del'>-</div><div class='del'>-	* vm.c: remove mark function for RubyVM object because</div><div class='del'>-	  RubyVM object marked manually.</div><div class='del'>-</div><div class='del'>-Wed Jul 16 12:25:39 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09.</div><div class='del'>-	  this includes Support for Unicode 7.0 [Bug #9092].</div><div class='del'>-</div><div class='del'>-Tue Jul 15 23:59:27 2014  Jared Jennings  &lt;jared.jennings.ctr@us.af.mil&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest: make built-in digest function implementations</div><div class='del'>-	  indicate success or failure of init and final functions.</div><div class='del'>-	  [ruby-core:61614] [Bug #9659]</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: expect digest init and finish functions to</div><div class='del'>-	  indicate success or failure; raise exception on failure.</div><div class='del'>-	  [ruby-core:61614] [Bug #9659]</div><div class='del'>-</div><div class='del'>-Tue Jul 15 20:31:40 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 12:42:23 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* defs/default_gems: change version definition file of rake.</div><div class='del'>-</div><div class='del'>-Tue Jul 15 12:00:03 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake.rb, lib/rake/*.rb: Upgrade to rake-10.3.2</div><div class='del'>-	  [fix GH-668]</div><div class='del'>-	* test/rake/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 14 19:14:51 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: modify WIN32OLE class document and</div><div class='del'>-	  add comment for constants of WIN32OLE.</div><div class='del'>-</div><div class='del'>-Mon Jul 14 16:38:45 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): reduce to 288 bytes</div><div class='del'>-	  on x86-64 (from 296 bytes)</div><div class='del'>-</div><div class='del'>-Mon Jul 14 16:07:25 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes</div><div class='del'>-	  on x86-64 (from 48 bytes)</div><div class='del'>-</div><div class='del'>-Mon Jul 14 16:04:41 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h (struct iseq_catch_table): new flexible array struct</div><div class='del'>-		 (iseq_catch_table_bytes): allocated size function</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): update catch_table member</div><div class='del'>-	  This reduces the struct from 304 to 296 bytes on x86-64.</div><div class='del'>-	* compile.c (iseq_set_exception_table): update for struct changes</div><div class='del'>-	* iseq.c (iseq_free): ditto</div><div class='del'>-	* iseq.c (iseq_memsize): ditto</div><div class='del'>-	* iseq.c (rb_iseq_disasm): ditto</div><div class='del'>-	* iseq.c (iseq_data_to_ary): ditto</div><div class='del'>-	* iseq.c (rb_iseq_build_for_ruby2cext): ditto (untested)</div><div class='del'>-	* vm.c (vm_exec): ditto</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): ditto</div><div class='del'>-	* vm_insnhelper.c (vm_throw): ditto</div><div class='del'>-</div><div class='del'>-Sun Jul 13 17:49:52 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c: Fix call to ciphers class method and</div><div class='del'>-	  spell out `encryption` by @vipulnsward [fix GH-664]</div><div class='del'>-</div><div class='del'>-Sun Jul 13 17:31:51 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro.</div><div class='del'>-	* ext/sdbm/init.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jul 13 17:25:50 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp.</div><div class='del'>-	  [fix GH-655]</div><div class='del'>-</div><div class='del'>-Sun Jul 13 16:44:56 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_call_info_struct): improve packing</div><div class='del'>-	  This reduces the struct from 112 to 104 bytes on x86-64.</div><div class='del'>-</div><div class='del'>-Sun Jul 13 15:53:25 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_struct): stack_max is uint32_t</div><div class='del'>-	  This reduces the struct from 312 to 304 bytes on x86-64.</div><div class='del'>-</div><div class='del'>-Sun Jul 13 10:56:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_broken_backtrace): exit with failure</div><div class='del'>-	  normally, no needs to abort.  [ruby-core:63678] [Bug #10008]</div><div class='del'>-</div><div class='del'>-Sat Jul 12 15:10:22 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_record_method_missing): correct</div><div class='del'>-	  fields Hash key.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 04:17:40 2014  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (Net::SMTP#data): enable buffering while</div><div class='del'>-	  'data' send for optimizing Net::SMTP#send_message.</div><div class='del'>-	  [ruby-dev:48329] [misc #9981]</div><div class='del'>-	  patch by Masahiro Tomita.</div><div class='del'>-</div><div class='del'>-Sat Jul 12 01:13:45 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,</div><div class='del'>-	  if possible, execute child ruby with environment variables</div><div class='del'>-	  LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these</div><div class='del'>-	  variables, freed memory is immediately returned to the OS.</div><div class='del'>-	  [Bug #10020] [ruby-dev:48391]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 20:49:10 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to support</div><div class='del'>-	  VT_RECORD OLE variables.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 17:15:08 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: remove executable.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 16:45:39 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: handle ENOENT error with symlink targeted to</div><div class='del'>-	  non-exists file. [ruby-dev:45933] [Bug #6716]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 15:59:42 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Clarify documentation for Array#insert.</div><div class='del'>-	  [ruby-core:62934] [Bug #9901]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 15:39:36 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Improve Documentation by @dapplebeforedawn.</div><div class='del'>-	  [fix GH-658] [ruby-core:63579] [Bug #10012]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 14:19:14 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Fix sign for cross_product [#9499]</div><div class='del'>-</div><div class='del'>-Fri Jul 11 11:11:50 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/prepare_so_k_nucleotide.rb: use require_relative.</div><div class='del'>-</div><div class='del'>-	* benchmark/prepare_so_reverse_complement.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 11 10:09:03 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (encodes): fix buffer overrun by tail_lf.  Thanks to</div><div class='del'>-	  Mamoru Tasaka and Tomas Hoger.  [ruby-core:63604] [Bug #10019]</div><div class='del'>-</div><div class='del'>-Thu Jul 10 23:51:36 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9.</div><div class='del'>-	  When name contains '=', ruby_setenv raises Errno::EINVAL.</div><div class='del'>-	  That is the same behavior as Solaris 10.</div><div class='del'>-	  NULL check for malloc return value is also added.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 15:02:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack</div><div class='del'>-	  pointer to get rid of overwriting splat arguments by arguments</div><div class='del'>-	  for `to_hash` conversion.  [ruby-core:63593] [Bug #10016]</div><div class='del'>-</div><div class='del'>-Thu Jul 10 01:09:57 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c: remove rb_gc_mark_symbols().</div><div class='del'>-</div><div class='del'>-	  fstrings referred by static symbols and pinned dynamic symbols</div><div class='del'>-	  are registered by rb_gc_register_mark_object().</div><div class='del'>-</div><div class='del'>-	  fstrings referred by dynamic symbols (not pinned symbols)</div><div class='del'>-	  are referred from global_symbols.dsymbol_fstr_hash (Hash object).</div><div class='del'>-</div><div class='del'>-	  Note that fstrings referred from dynamic symbols must live logger</div><div class='del'>-	  than symbol objects themselves because rb_gc_free_dsymbol() uses</div><div class='del'>-	  fstrings to remove from symbol tables.</div><div class='del'>-	  This is why we can not mark fstrings from dynamic symbols.</div><div class='del'>-</div><div class='del'>-	  This technique reduces root objects for GC marking.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_roots): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 10 00:24:18 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solaris</div><div class='del'>-	  introduced in r46768. Object files containing dtrace probes should</div><div class='del'>-	  be listed in DTRACE_DEPENDENT_OBJS.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 17:07:28 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c, symbol.h: Symbol class implementation and internals,</div><div class='del'>-	  split from parse.y.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 14:45:39 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: change Symbol &lt;-&gt; ID relationship to avoid</div><div class='del'>-	  exposing IDs from collectable symbols.</div><div class='del'>-	  [Bug #10014]</div><div class='del'>-</div><div class='del'>-	  Now, rb_check_id() returns 0 if corresponding symbol is</div><div class='del'>-	  pinned dynamic symbol.</div><div class='del'>-</div><div class='del'>-	  There is remaining intern_cstr_without_pindown(), it can return</div><div class='del'>-	  IDs from collectable symbols. We must be careful to use it</div><div class='del'>-	  (only used in parse.y).  I think it should be removed if</div><div class='del'>-	  it does not have impact for performance.</div><div class='del'>-</div><div class='del'>-	* parse.y:</div><div class='del'>-	  add:</div><div class='del'>-	  * STATIC_SYM2ID()</div><div class='del'>-	  * STATIC_ID2SYM()</div><div class='del'>-	  rename:</div><div class='del'>-	  * rb_pin_dynamic_symbol() -&gt; dsymbol_pindown()</div><div class='del'>-</div><div class='del'>-	* internal.h:</div><div class='del'>-	  remove:</div><div class='del'>-	  * rb_check_id_without_pindown()</div><div class='del'>-	  * rb_sym2id_without_pindown()</div><div class='del'>-	  add:</div><div class='del'>-	  * rb_check_symbol()</div><div class='del'>-	  * rb_check_symbol_cstr()</div><div class='del'>-</div><div class='del'>-	* load.c: use rb_check_id() or rb_check_id_cstr().</div><div class='del'>-</div><div class='del'>-	* object.c: ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (sym_find): use only rb_check_symbol().</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): use rb_check_symbol_cstr().</div><div class='del'>-</div><div class='del'>-Wed Jul  9 12:21:55 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols.</div><div class='del'>-</div><div class='del'>-Wed Jul  9 05:49:08 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (struct rb_global_vm_lock_struct):</div><div class='del'>-	  do not expose pthread type for lock</div><div class='del'>-</div><div class='del'>-Wed Jul  9 05:41:40 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h: remove unneeded semaphore.h include</div><div class='del'>-</div><div class='del'>-Wed Jul  9 00:12:28 2014  Keiju Ishitsuka  &lt;keiju@ishitsuka.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar.</div><div class='del'>-</div><div class='del'>-Tue Jul  8 16:58:02 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb (Memory::PSCMD): use ps command which</div><div class='del'>-	  outputs expected result.  [ruby-dev:48370] [Bug #10010]</div><div class='del'>-</div><div class='del'>-Tue Jul  8 14:45:17 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0.</div><div class='del'>-</div><div class='del'>-	* parse.y (dsymbol_check): set RSYMBOL(sym)-&gt;fstr to 0</div><div class='del'>-	  because we should not touch fstr after that.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_gc_free_dsymbol): skip deleting str and sym</div><div class='del'>-	  from tables if fstr == 0.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 14:31:52 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove global_symbols::pinned_dsym</div><div class='del'>-	  (and ::pinned_dsym_minor_marked).</div><div class='del'>-</div><div class='del'>-	  Mark pinned dsymbols by rb_gc_register_mark_object() because</div><div class='del'>-	  they are immortal.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_gc_free_dsymbol): rename parameter name `ptr' to `sym'.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 12:45:51 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: revert miss-commit.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 12:40:59 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: need to use updated (re-created) symbols.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 11:02:55 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.</div><div class='del'>-</div><div class='del'>-	* lib/rbconfig/obsolete.rb: removed.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 10:52:03 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: do not use rb_gc_resurrect(), but create a new dynamic</div><div class='del'>-	  symbol for garbage dynamic symbol.</div><div class='del'>-</div><div class='del'>-	* common.mk: use gc.h by parse.y.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 02:18:42 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (fstr_update_callback): do not use rb_gc_resurrect()</div><div class='del'>-	  any more.</div><div class='del'>-</div><div class='del'>-	  Make new frozen string and replace with garbage frozen string.</div><div class='del'>-</div><div class='del'>-	* common.mk: use gc.h from string.c.</div><div class='del'>-</div><div class='del'>-Mon Jul  7 00:36:13 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename is_dying_object() to is_garbage_object().</div><div class='del'>-</div><div class='del'>-	* gc.h: rb_objspace_garbage_object_p() as an exported function.</div><div class='del'>-</div><div class='del'>-Sun Jul  6 21:30:35 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (is_dying_object): fix missed condition.</div><div class='del'>-</div><div class='del'>-	* gc.c (is_live_object): move frequent path first.</div><div class='del'>-</div><div class='del'>-Sun Jul  6 21:00:11 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename is_dead_object() to is_dying_object().</div><div class='del'>-	  This function is not opposite against is_live_object()</div><div class='del'>-	  because is_dying_object() does *not* check object type.</div><div class='del'>-</div><div class='del'>-	* gc.c (is_dying_object): change condition.</div><div class='del'>-</div><div class='del'>-	* gc.c (is_live_object): use T_NONE instead of 0.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_dying_object_p): added.</div><div class='del'>-</div><div class='del'>-Sun Jul  6 13:37:27 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_register_mark_object): change data structure.</div><div class='del'>-	  From single array, to array of arrays. Each array only has 1024</div><div class='del'>-	  entries.</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_vm_objects): change default capa from 1 to 128.</div><div class='del'>-</div><div class='del'>-Sat Jul  5 05:05:53 2014  Vipul A M  &lt;vipulnsward@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb (IRB::Locale#modifier): fix wrong attr_reader</div><div class='del'>-	  `modifieer` =&gt; `modifier` from irb locale.  [fix GH-656]</div><div class='del'>-</div><div class='del'>-Fri Jul  4 20:45:26 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: rename symbols::sym_id to symbols::str_id.</div><div class='del'>-	  This table is not {Symbol =&gt; ID} table, but</div><div class='del'>-	  {String =&gt; ID} table.</div><div class='del'>-</div><div class='del'>-	* parse.y (lookup_sym_id): also rename lookup_sym_id() to</div><div class='del'>-	  lookup_str_id() because key is not Symbol, but String.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 18:42:04 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (must_be_dynamic_symbol): fix missed-condition.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 18:38:11 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_pin_dynamic_symbol): should be `static' function.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 18:03:35 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (must_be_dynamic_symbol): refactoring.</div><div class='del'>-	  * add `inline'.</div><div class='del'>-	  * use UNLIKELY().</div><div class='del'>-	  * check only DYNAMIC_SYM_P(), otherwise it is a bug.</div><div class='del'>-	  * lookup_id_str() is not needed in second condition.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 11:53:56 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: remove unused code</div><div class='del'>-	  surrounded by `#if ENABLE_SELECTOR_NAMESPACE'</div><div class='del'>-</div><div class='del'>-Fri Jul  4 10:08:24 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_package.rb: avoid tempfile leaks using Tempfile#close!</div><div class='del'>-	* test/rubygems/test_gem_request_set.rb: ditto.</div><div class='del'>-	* test/rubygems/test_gem_request_set_gem_dependency_api.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 04:42:05 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb (Net::Inflater#inflate_adapter):</div><div class='del'>-	  prevent automatic encoding conversion.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 04:39:52 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb (Net::HTTPResponse.each_response_header):</div><div class='del'>-	  raise first exception even if inflate_body_io.finish raises error.</div><div class='del'>-	  when begin block raises error, finish usually raises error too.</div><div class='del'>-</div><div class='del'>-Fri Jul  4 02:56:04 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#query=): remove validation, just</div><div class='del'>-	  escape. [Feature #2542]</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#fragment=): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#check_query): removed.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#set_query): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#check_fragment): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#set_fragment): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  3 12:40:22 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (--with-static-linked-ext): fix for extensions to</div><div class='del'>-	  be linked statically.</div><div class='del'>-</div><div class='del'>-	* Makefile.in, common.mk: use ENCSTATIC for enc directory.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: supply dependencies of statically linked extension</div><div class='del'>-	  libraries.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 15:45:49 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_heap_lazy_sweep): simplify logic.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): return TRUE if empty slots are available.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 09:48:42 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* logger.rb: removed unmaintained code.</div><div class='del'>-	  [Feature #9860][ruby-core:62724]</div><div class='del'>-	* test/logger/test_application.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 03:20:00 2014  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_node): handle nd_value == (NODE *)-1 to mean this</div><div class='del'>-	  keyword argument is required</div><div class='del'>-</div><div class='del'>-Wed Jul  2 02:57:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_env_local_variables): returns array of local</div><div class='del'>-	  variable name symbols in the environment by envval.</div><div class='del'>-</div><div class='del'>-	* proc.c (bind_local_variables): use rb_vm_env_local_variables.</div><div class='del'>-</div><div class='del'>-Wed Jul  2 02:23:52 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bind_receiver): new method to return the bound receiver</div><div class='del'>-	  of the binding object.  [ruby-dev:47613] [Feature #8779]</div><div class='del'>-</div><div class='del'>-Wed Jul  2 02:14:37 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bind_local_variables): update env from envval for each</div><div class='del'>-	  iterations.  [ruby-dev:48351] [Bug #10001]</div><div class='del'>-</div><div class='del'>-Tue Jul  1 23:46:34 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: [DOC] mention about Binding#local_variables, introduced at</div><div class='del'>-	  r44392 (see [Feature #8773]).</div><div class='del'>-</div><div class='del'>-Tue Jul  1 23:30:51 2014  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step_scan_args): table argument of rb_get_kwargs() is</div><div class='del'>-	  array of IDs, not Symbols. [ruby-dev:48353] [Bug #9811]</div><div class='del'>-</div><div class='del'>-Tue Jul  1 16:18:22 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb, test/digest/test_digest_hmac.rb:</div><div class='del'>-	  Digest::HMAC is finally removed as previously noticed.</div><div class='del'>-	  [fix GH-648]</div><div class='del'>-</div><div class='del'>-Tue Jul  1 11:13:43 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/lib/date/format.rb: removed empty file by @vipulnsward.</div><div class='del'>-	* ext/date/lib/date.rb: removed needless require.</div><div class='del'>-	  [fix GH-647]</div><div class='del'>-</div><div class='del'>-Mon Jun 30 16:42:52 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): return size_t value instead of VALUE</div><div class='del'>-	  and remove `out' parameter.</div><div class='del'>-</div><div class='del'>-	* gc.c: add braces for `if' statements.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): fix comment.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 15:07:34 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: support `USE_RGENGC == 0'.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 30 11:36:04 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: [DOC] document File.join returns a string.</div><div class='del'>-	  Contributed by @dapplebeforedawn. [fix GH-646]</div><div class='del'>-</div><div class='del'>-Sat Jun 28 22:57:01 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_birthtime): Windows support.</div><div class='del'>-	  see [Feature #9857] [ruby-dev:48339]</div><div class='del'>-</div><div class='del'>-Sat Jun 28 22:44:16 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_birthtime): New method,</div><div class='del'>-	  Pathname#birthtime.</div><div class='del'>-	  Proposed by Kazuhiro NISHIYAMA.  [ruby-dev:48232] [Feature #9857]</div><div class='del'>-</div><div class='del'>-Sat Jun 28 20:29:03 2014  Simon Baird  &lt;simon.baird@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#PI): change error</div><div class='del'>-	  message about zero or negative precision for clarity and</div><div class='del'>-	  consistency with other methods.  [GH-644]</div><div class='del'>-</div><div class='del'>-Sat Jun 28 15:32:57 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (create_listeners): Close socket objects.</div><div class='del'>-</div><div class='del'>-Sat Jun 28 13:58:48 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): should not overwrite SystemStackError</div><div class='del'>-	  backtrace if set already.  [ruby-core:63377] [Feature #6216]</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): get rid of method calls before raising</div><div class='del'>-	  stack overflow, not to cause stack overflow again.</div><div class='del'>-</div><div class='del'>-	* defs/id.def: add IDs for backtraces.</div><div class='del'>-</div><div class='del'>-Sat Jun 28 04:08:22 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb: update to latest specs, RFC 6068 and HTML5.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (HEADER_PATTERN): removed.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (HEADER_REGEXP): use RFC 6068 hfields.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (EMAIL_REGEXP): use HTML5 email regexp.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo.build): support multiple to addresses.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo#initialize): Support multiple to</div><div class='del'>-	  addresses. Don't check with regexp, only split.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo#check_to): verify by matching</div><div class='del'>-	  URI path-rootless and HTML5 email regexp with unescaped one.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo#check_headers): verify only by</div><div class='del'>-	  HEADER_REGEXP.</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (URI::MailTo#set_headers): don't check by</div><div class='del'>-	  HEADER_REGEXP, only split it.</div><div class='del'>-</div><div class='del'>-Sat Jun 28 00:35:10 2014  Lauri Tirkkonen  &lt;lotheac@iki.fi&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: fix empty RbConfig::CONFIG["prefix"] when</div><div class='del'>-	  configured --with-rubyarchprefix, remove prefix from rubyarchdir</div><div class='del'>-	  after expansion for the case it does not start with '$(prefix)'.</div><div class='del'>-	  [fix GH-643]</div><div class='del'>-</div><div class='del'>-Fri Jun 27 15:20:12 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: rescue Gem::LoadError in Gem::TestCase.</div><div class='del'>-	  because it's effected by removing minitest from stdlib.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 12:29:37 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb: fixed broken condition caused</div><div class='del'>-	  by removing YAML::ENGINE.</div><div class='del'>-	* lib/rubygems/package/old.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 27 05:33:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_shift): fix memory leak on Windows, free environment</div><div class='del'>-	  strings block always.  [ruby-dev:48332] [Bug #9983]</div><div class='del'>-</div><div class='del'>-Fri Jun 27 03:41:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (GETASTER): should not use the numbered argument to be</div><div class='del'>-	  formatted, raise ArgumentError instead.</div><div class='del'>-	  [ruby-dev:48330] [Bug #9982]</div><div class='del'>-</div><div class='del'>-Thu Jun 26 18:18:28 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/with_different_ofs.rb: move into test library directory.</div><div class='del'>-	* test/csv/base.rb: fix require path for with_different_ofs.rb.</div><div class='del'>-	* test/digest/test_digest_extend.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 26 18:06:50 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/profile_test_all.rb: move into test library directory.</div><div class='del'>-	* test/runner.rb: fix require path for profile_test_all.rb.</div><div class='del'>-</div><div class='del'>-Thu Jun 26 17:57:57 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb: remove useless assigned variables.</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb: ditto.</div><div class='del'>-	* lib/webrick/httpservlet/erbhandler.rb: ditto.</div><div class='del'>-	* lib/webrick/server.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 26 08:28:01 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_select): fix memory leak and crash on Windows, make</div><div class='del'>-	  keys array first instead of iterating on environ directly.</div><div class='del'>-	  [ruby-dev:48325] [Bug #9978]</div><div class='del'>-</div><div class='del'>-Thu Jun 26 02:45:04 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): put a newline after an anonymous</div><div class='del'>-	  exception class name.</div><div class='del'>-</div><div class='del'>-Wed Jun 25 22:31:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): fix memory leak on Windows, free</div><div class='del'>-	  environment strings block after check for the size.</div><div class='del'>-	  [ruby-dev:48323] [Bug #9977]</div><div class='del'>-</div><div class='del'>-Wed Jun 25 15:44:12 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ccan/container_of/container_of.h (container_off_var):</div><div class='del'>-	  avoid warning with -Wcast-qual</div><div class='del'>-	  [ccan ba5ad771af4aa9e085498de6c3c665c52694460f (Rusty Russell)]</div><div class='del'>-</div><div class='del'>-Wed Jun 25 10:19:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_aset, env_has_key, env_assoc, env_has_value),</div><div class='del'>-	  (env_rassoc, env_key): prohibit tainted strings if $SAFE is</div><div class='del'>-	  non-zero.  [Bug #9976]</div><div class='del'>-</div><div class='del'>-Tue Jun 24 14:46:17 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: remove redundant use of to_s in interpolation.</div><div class='del'>-	* lib/logger.rb: ditto.</div><div class='del'>-	* lib/optparse.rb: ditto.</div><div class='del'>-	* lib/rbconfig/obsolete.rb: ditto.</div><div class='del'>-	* lib/resolv.rb: ditto.</div><div class='del'>-	* lib/webrick/httpresponse.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 10:50:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_path_str_new): make PATH environment variable</div><div class='del'>-	  string, to be frozen.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 10:40:52 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: download bundle gems when package making.</div><div class='del'>-	  [Feature #9852][ruby-core:62676]</div><div class='del'>-	* gems/bundled_gems: listed bundled gems for Ruby 2.2.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 10:20:35 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: make Downloader class to general download utility.</div><div class='del'>-	  It can be used without config.guess and config.sub.</div><div class='del'>-	* tool/get-config_files: ditto.</div><div class='del'>-	* tool/make-snapshot: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 06:17:52 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): "mesg == sysstack_error" and</div><div class='del'>-	  sysstack_error_p(mesg) are duplicated.</div><div class='del'>-	  r46502 seems to want to use latter.</div><div class='del'>-</div><div class='del'>-Tue Jun 24 06:15:36 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: fix format specifiers for VALUE and</div><div class='del'>-	  Tcl_Interp*.  [ruby-core:63283] [Bug #9972]</div><div class='del'>-</div><div class='del'>-Tue Jun 24 05:40:41 2014  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* nacl/nacl-config.rb: Use File.exist? instead of executable?</div><div class='del'>-	  for irt_core. Recent nacl_sdk has non-executable irt_core.</div><div class='del'>-	  Patch by Shinichiro Hamaji.</div><div class='del'>-	  [Fixes GH-529] https://github.com/ruby/ruby/pull/529</div><div class='del'>-</div><div class='del'>-Mon Jun 23 18:44:45 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config_files.rb: rename class ConfigFiles to Downloader.</div><div class='del'>-	* tool/get-config_files: ditto.</div><div class='del'>-	* tool/make-snapshot: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 18:03:13 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: support to install bundle gems.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 17:33:11 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (Net::IMAP#fetch): [DOC] Describe how a range in</div><div class='del'>-	  +set+ is interpreted, and mention -1 which can be used for '*'.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 16:22:50 2014  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RHash): no longer. [Feature #9889]</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RHASH): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RHASH_ITER_LEV): deprecated.  Will be deleted later.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RHASH_IFNONE): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (struct RHash): moved here.</div><div class='del'>-</div><div class='del'>-	* internal.h (RHASH): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_iter_lev): do not use this.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_ifnone): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 13:30:11 2014  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RComplex): no longer. [Feature #9888]</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RCOMPLEX): ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RCOMPLEX_SET_REAL): deprecated.  Will be deleted later.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RCOMPLEX_SET_IMAG): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (struct RFloat): moved here.</div><div class='del'>-</div><div class='del'>-	* internal.h (RCOMPLEX): ditto.</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_set_real): do not use this.</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_set_imag): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 13:10:15 2014  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RFloat): no longer.  [Feature #9863]</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RFLOAT): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (struct RFloat): moved here.</div><div class='del'>-</div><div class='del'>-	* internal.h (RFLOAT): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 12:01:42 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (check_port): allow strings for port= as</div><div class='del'>-	  described in rdoc.</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc3986_parser.rb (regexp): implementation detail of above.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 11:35:01 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): set backtrace in system stack error</div><div class='del'>-	  other than the pre-allocated sysstack_error.  [Feature #6216]</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): freeze the pre-allocated sysstack_error.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_stackoverflow): raise new instance for each</div><div class='del'>-	  times without calling any methods to keep the backtrace with no</div><div class='del'>-	  further stack overflow.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_copy_ivar): extract function to copy instance</div><div class='del'>-	  variables only for T_OBJECT from init_copy.</div><div class='del'>-</div><div class='del'>-Mon Jun 23 11:11:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow): drop the last tag too close to</div><div class='del'>-	  the fault page, to get rid of stack overflow deadlock.</div><div class='del'>-	  [Bug #9971]</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:11:15 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb: remove registry.</div><div class='del'>-	  'registry' is not used and RFC3986 doesn't use it.</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:10:09 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc3986_parser.rb: raise exception when given a URI string</div><div class='del'>-	  has non ASCII in order to keep the regexp compiled for US-ASCII.</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:05:42 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::REGEXP): move to lib/uri/rfc2396_parser.rb.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI::Parser): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.split): use RFC3986_Parser. [Feature #2542]</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.parse): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.join): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.extract): deprecated.</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (URI.regexp): ditto.</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc2396_parser.rb: added.</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc3986_parser.rb: added.</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:04:50 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (initialize): as previous commit, fix arg_check</div><div class='del'>-</div><div class='del'>-Sun Jun 22 09:01:47 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (initialize): argument checking flag is arg_check,</div><div class='del'>-	  but arg[-1] is fragment.</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb (initialize): explicitly specify arguments.</div><div class='del'>-</div><div class='del'>-Sat Jun 21 12:50:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION</div><div class='del'>-	  with 3-digit.  libffi 3.1 returns just 2-digit.</div><div class='del'>-	  [ruby-core:62920] [Bug #9897]</div><div class='del'>-</div><div class='del'>-Sat Jun 21 07:06:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_find): [DOC] never accepted a symbol.</div><div class='del'>-	  [ruby-dev:48308] [Bug #9966]</div><div class='del'>-</div><div class='del'>-Fri Jun 20 17:15:43 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/tracepointchecker.rb: add to check TracePoint healthiness.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: use it.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 07:26:44 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: rewrite tests with</div><div class='del'>-	  assert_consistent_call_return().</div><div class='del'>-</div><div class='del'>-	  assert_consistent_call_return() is also modified to check</div><div class='del'>-	  consistency.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 07:07:28 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile_node): put start label of block after</div><div class='del'>-	  trace (b_call).</div><div class='del'>-	  [Bug #9964]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-	  added assert_consistent_call_return() method check call/return</div><div class='del'>-	  consistency.</div><div class='del'>-</div><div class='del'>-Fri Jun 20 05:26:27 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961].</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 21:41:30 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp</div><div class='del'>-	  with invoking RUBY_EVENT_C_RETURN.</div><div class='del'>-	  [Bug #9961]</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_protect): use it.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue2): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_rewind_cfp): add the prototype declaration.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 19:47:21 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): move call/return event timing for</div><div class='del'>-	  bmethod. It can invoke inconsistent call event if this call raises</div><div class='del'>-	  argument error.</div><div class='del'>-	  [Bug #9959]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_bmethod_body): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 18:14:47 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add VM_FRAME_MAGIC_RESCUE to recognize normal block or</div><div class='del'>-	  rescue clause.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): use VM_FRAME_MAGIC_RESCUE on at rescue/ensure.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: should not invoke b_return at rescue</div><div class='del'>-	  clause.</div><div class='del'>-	  [Bug #9957]</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (control_frame_dump): check VM_FRAME_MAGIC_RESCUE.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (vm_stack_dump_each): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 19 13:39:11 2014  Arne Brasseur  &lt;arne@arnebrasseur.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_curry): Implement Method#curry, which delegates</div><div class='del'>-	  to to_proc.curry.  [ruby-core:62212] [Feature #9783]</div><div class='del'>-</div><div class='del'>-Tue Jun 17 16:41:49 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (gets, readline): read lines without LF properly.</div><div class='del'>-	  [ruby-core:63205] [Bug #9949]</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_buffered_socket.rb: related test.</div><div class='del'>-</div><div class='del'>-Tue Jun 17 12:35:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (extract_raise_opts): pass unknown options to the</div><div class='del'>-	  exception, so that exception class can receive a hash argument.</div><div class='del'>-	  [ruby-core:63203] [Feature #8257]</div><div class='del'>-</div><div class='del'>-Tue Jun 17 12:24:57 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_memsize_of): memsize_of(T_ZOMBIE) returns 0, not a rb_bug.</div><div class='del'>-	  ObjectSpace.count_objects_size() uses memsize_of(T_ZOMBIE).</div><div class='del'>-</div><div class='del'>-	  This bug introduced at r46348.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 19:00:11 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: failure message should be passed as an argument.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 18:42:57 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: capture TracePoint stat before setup and compare</div><div class='del'>-	  it after teardown.</div><div class='del'>-</div><div class='del'>-Mon Jun 16 14:33:56 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (open): use UTF-8 version function to support</div><div class='del'>-	  non-ascii path properly.  [ruby-core:63185] [Bug #9946]</div><div class='del'>-</div><div class='del'>-Sat Jun 14 10:54:08 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rcombinate0): remove recursion, by looping with indexes</div><div class='del'>-	  stored in `p`.</div><div class='del'>-</div><div class='del'>-	* array.c (rpermute0): remove recursion, by looping with indexes</div><div class='del'>-	  stored in `p`.</div><div class='del'>-</div><div class='del'>-	* array.c (permute0): remove recursion, by looping with indexes</div><div class='del'>-	  stored in `p`.  [ruby-core:63103] [Bug #9932]</div><div class='del'>-</div><div class='del'>-Sat Jun 14 10:52:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): update capa only when buffer get</div><div class='del'>-	  reallocated.</div><div class='del'>-	  http://d.hatena.ne.jp/nagachika/20140613/ruby_trunk_changes_46413_46420#r46413</div><div class='del'>-</div><div class='del'>-Sat Jun 14 08:28:59 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* man/rake.1: [DOC] Update links for Rake, patch by @hsbt [Bug #9904]</div><div class='del'>-	  [Fixes GH-628] https://github.com/ruby/ruby/pull/628</div><div class='del'>-</div><div class='del'>-Fri Jun 13 17:58:58 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: add new method TracePoint.stat to debug</div><div class='del'>-	  TracePoint mechanism.</div><div class='del'>-</div><div class='del'>-	  Ruby users should not use this method. So I don't note this method</div><div class='del'>-	  in the NEWS file.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: detect zombie active TracePoints with</div><div class='del'>-	  TracePoint.stat.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 17:46:31 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: clear and restore recursive checking thread local data</div><div class='del'>-	  to avoid unexpected throw from TracePoint.</div><div class='del'>-	  [Bug #9940]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* thread.c: added</div><div class='del'>-	  * rb_threadptr_reset_recursive_data(rb_thread_t *th);</div><div class='del'>-	  * rb_threadptr_restore_recursive_data(rb_thread_t *th, VALUE old);</div><div class='del'>-</div><div class='del'>-	* vm_core.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 13 17:33:14 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_combination): iterate on a shared copy, and use</div><div class='del'>-	  array of indexes instead of array of chosen objects.</div><div class='del'>-	  [ruby-core:63149] [Bug #9939]</div><div class='del'>-</div><div class='del'>-	* array.c (yield_indexed_values): extract from permute0(),</div><div class='del'>-	  rpermute0(), and rcombinate0().</div><div class='del'>-</div><div class='del'>-Fri Jun 13 13:42:58 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_permutation): `p` is the array of size `r`, as</div><div class='del'>-	  commented at permute0().  since `n &gt;= r` here, buffer overflow</div><div class='del'>-	  never happened, just reduce unnecessary allocation though.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 20:32:28 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): should consider the capacity instead</div><div class='del'>-	  of the old length, as pointed out by nagachika.</div><div class='del'>-</div><div class='del'>-Thu Jun 12 18:31:01 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: added Net::HTTPPermanentRedirect(308)</div><div class='del'>-	  Contributed by @yorkie [fix GH-638]</div><div class='del'>-</div><div class='del'>-Thu Jun 12 13:27:38 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_freeze): shrink the buffer before freezing, as</div><div class='del'>-	  pointed out by Eric Wong at [ruby-core:63119].</div><div class='del'>-</div><div class='del'>-Thu Jun 12 13:09:03 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (expand_path): shrink expanded path which no longer needs</div><div class='del'>-	  rooms to append.  [ruby-core:63114] [Bug #9934]</div><div class='del'>-</div><div class='del'>-Wed Jun 11 17:37:48 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_scalar_pthread_t): pthread_t is not required</div><div class='del'>-	  to be a scalar type.</div><div class='del'>-</div><div class='del'>-	* thread.c (fill_thread_id_string, thread_id_str): dump pthread_t</div><div class='del'>-	  in hexadecimal form if it is not a scalar type, assume it can be</div><div class='del'>-	  represented in a pointer form otherwise.  based on the patch by</div><div class='del'>-	  Rei Odaira at [ruby-core:62867].  [ruby-core:62857] [Bug #9884]</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (Init_native_thread, thread_start_func_1),</div><div class='del'>-	  (native_thread_create): set thread_id_str if needed.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_t): add thread_id_string if needed.</div><div class='del'>-</div><div class='del'>-Wed Jun 11 01:53:22 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: invoke GC before memory allocation (xmalloc/xrealloc)</div><div class='del'>-	  when GC.stress = true.</div><div class='del'>-	  [Bug #9859]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Tue Jun 10 13:20:14 2014  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: Provide a mechanism to specify the</div><div class='del'>-	  max_multipart_length of multipart data.</div><div class='del'>-	  [Feature #8370] patch by Leif Eriksen &lt;leif.eriksen.au@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Tue Jun 10 10:57:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#&lt;&lt;): honor explicitly given encoding.  based on</div><div class='del'>-	  the patch by DAISUKE TANIWAKI &lt;daisuketaniwaki AT gmail.com&gt; at</div><div class='del'>-	  [ruby-core:62113].  [Bug #9766]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 20:40:48 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change full GC timing to keep lower memory usage.</div><div class='del'>-</div><div class='del'>-	  Extend heap only at</div><div class='del'>-	  (1) after major GC</div><div class='del'>-	  or</div><div class='del'>-	  (2) after several (two times, at current) minor GC</div><div class='del'>-</div><div class='del'>-	  Details in https://bugs.ruby-lang.org/issues/9607#note-9</div><div class='del'>-	  [Bug #9607]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 16:01:41 2014  Masahiro Ide  &lt;imasahiro9@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gcdebug_sentinel): fix typo, "sentinel" not "sential".</div><div class='del'>-	  [fix GH-634]</div><div class='del'>-</div><div class='del'>-Mon Jun  9 00:04:25 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (posix_fadvise): disable use of posix_fadvise</div><div class='del'>-	  itself on 32-bit AIX.  [ruby-core:62968] [Bug #9914]</div><div class='del'>-</div><div class='del'>-Sun Jun  8 23:28:00 2014    &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_advise): AIX currently does not support a 32-bit call to</div><div class='del'>-	  posix_fadvise() if _LARGE_FILES is defined. Patch by Rei Odaira.</div><div class='del'>-	  [ruby-core:62968] [Bug #9914]</div><div class='del'>-</div><div class='del'>-Sun Jun  8 04:52:40 2014  Jun Hiroe  &lt;Jun.Hiroe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_slice_bang): [DOC] update return value against</div><div class='del'>-	  a fixnum, which has changed because of M17N.  [fix GH-631]</div><div class='del'>-</div><div class='del'>-Sat Jun  7 22:13:42 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (do_coerce): Add a warning when an exception is raised</div><div class='del'>-	  or an invalid value is returned in #coerce called by</div><div class='del'>-	  numeric comparison operators and the exception</div><div class='del'>-	  thrown by the caller has no information on the failure.</div><div class='del'>-	  In the next release such exception should not be rescued or</div><div class='del'>-	  should be the cause of the caller exception. nil is accepted</div><div class='del'>-	  as the "no possible coercion" return value. See #7688.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb: Add corresponding test.</div><div class='del'>-</div><div class='del'>-Sat Jun  7 18:15:33 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (bit_coerce): remove constant parameter `err'</div><div class='del'>-	  (always TRUE) of bit_coerce().</div><div class='del'>-</div><div class='del'>-Sat Jun  7 16:01:57 2014  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_fiber_struct): keep context.uc_stack.ss_sp and context.uc_stack.ss_size</div><div class='del'>-	  for later use. Patch by Rei Odaira. [ruby-core:62945] [Bug #9905]</div><div class='del'>-</div><div class='del'>-Sat Jun  7 12:51:51 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): truncate the buffer before appending read data,</div><div class='del'>-	  instead of truncating before reading.</div><div class='del'>-	  [ruby-core:55951] [Bug #8625]</div><div class='del'>-</div><div class='del'>-Sat Jun  7 12:28:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_equal): no need to call</div><div class='del'>-	  `to_s` twice.  [Bug #9913]</div><div class='del'>-</div><div class='del'>-Sat Jun  7 11:35:01 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_initialize_clone): Override Kernel#initialize_clone</div><div class='del'>-	  to avoid an exception on Class.new.freeze.clone.to_s.</div><div class='del'>-	  Reported by Andrew Grimm.  [ruby-core:41858] [Bug #5828]</div><div class='del'>-</div><div class='del'>-Sat Jun  7 06:03:11 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c (rb_digest_instance_equal):</div><div class='del'>-	  fix #== for non-string arguments. [ruby-core:62967] [Bug #9913]</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb: add test for above.</div><div class='del'>-</div><div class='del'>-Fri Jun  6 22:19:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (private_recv_p): check by node type, instead of a</div><div class='del'>-	  magic number.</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_PRIVATE_RECV), parse.y (attrset_gen): remove</div><div class='del'>-</div><div class='del'>-Fri Jun  6 17:07:08 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each), parse.y (new_attr_op_assign_gen):</div><div class='del'>-	  allow op assign to a private attribute.</div><div class='del'>-	  [ruby-core:62949] [Bug #9907]</div><div class='del'>-</div><div class='del'>-Fri Jun  6 13:39:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_setstrbuf, io_read): should not shorten the given buffer until</div><div class='del'>-	  read succeeds.  [ruby-core:55951] [Bug #8625]</div><div class='del'>-</div><div class='del'>-Fri Jun  6 07:41:41 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: dump empty symbols with a</div><div class='del'>-	  tag so that they can be parsed on input. [Bug #9873] [ruby-core:62825]</div><div class='del'>-	* test/psych/test_symbol.rb: test for change</div><div class='del'>-</div><div class='del'>-Thu Jun  5 16:08:39 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): refactoring.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): should not set, but add final_slots into</div><div class='del'>-	  sweep_page-&gt;final_slots.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 14:36:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (jemalloc): check for the header regardless drop-in</div><div class='del'>-	  libjemalloc is found, for `malloc_conf` declaration.</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_show_version): show `malloc_conf` if set.</div><div class='del'>-	  [Feature #9113]</div><div class='del'>-</div><div class='del'>-	* configure.in (with-jemalloc): also check for header, for ABIs</div><div class='del'>-	  which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF</div><div class='del'>-	  platforms.  [ruby-core:62939] [Feature #9113]</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h: include alternative malloc header to</div><div class='del'>-	  replace memory management functions.</div><div class='del'>-</div><div class='del'>-	* dln.c, io.c, parse.y, st.c: undef malloc family before</div><div class='del'>-	  re-definition to suppress warnings.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 12:52:18 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: remove rubyforge entry.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 12:45:32 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/README: use github link instead of rubyforge.</div><div class='del'>-</div><div class='del'>-Thu Jun  5 10:03:29 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): check also FL_PROMOTED bit by RVALUE_OLD_P().</div><div class='del'>-</div><div class='del'>-Thu Jun  5 03:45:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add --with-jemalloc option</div><div class='del'>-	  [ruby-core:62912]</div><div class='del'>-</div><div class='del'>-Wed Jun  4 22:28:14 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce RZombie to manage zombie objects.</div><div class='del'>-	  Rewrite finalizing logics with this type.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_verify_internal_consistency): verify zombie (finalizing)</div><div class='del'>-	  objects count.</div><div class='del'>-</div><div class='del'>-Wed Jun  4 22:09:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref, rb_reg_regsub): consider encoding of captured</div><div class='del'>-	  names, encoding-incompatible should not match.</div><div class='del'>-	  [ruby-dev:48278] [Bug #9903]</div><div class='del'>-</div><div class='del'>-Wed Jun  4 21:23:52 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): should not ignore name after NUL byte.</div><div class='del'>-	  [ruby-dev:48275] [Bug #9902]</div><div class='del'>-</div><div class='del'>-Wed Jun  4 04:08:37 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (core_hash_merge_kwd): should return the result hash, which</div><div class='del'>-	  may be converted from and differ from the given argument.</div><div class='del'>-	  [ruby-core:62921] [Bug #9898]</div><div class='del'>-</div><div class='del'>-Tue Jun  3 23:32:34 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal2): Extracted from load_file_internal.</div><div class='del'>-	  (load_file_internal): Invoke load_file_internal2 using rb_protect.</div><div class='del'>-	  Close an opened FD if load_file_internal2 raises an exception.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 19:11:45 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): should not rest_sweep() here.</div><div class='del'>-	  Some data structures are already freed.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 18:43:51 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: allocate more objects to invoke GC by newobj.</div><div class='del'>-	  GC allows extending pages depends on heap_increment.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 18:01:27 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): add</div><div class='del'>-	  gc_verify_internal_consistency() when RGENGC_CHECK_MODE &gt;= 2.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 17:54:21 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change the counting method for young objects.</div><div class='del'>-	  clear counter at the beginning of every GC and</div><div class='del'>-	  count promoted (infant-&gt;young) objects.</div><div class='del'>-</div><div class='del'>-	  Some promotions (infant-&gt;young) are transition of promoting to old</div><div class='del'>-	  objects. We should not count such promotions.</div><div class='del'>-</div><div class='del'>-	  With this technique, we don't need to check young objects</div><div class='del'>-	  at obj_free().</div><div class='del'>-</div><div class='del'>-Tue Jun  3 16:38:19 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add verifying counters code in gc_verify_internal_consistency().</div><div class='del'>-	  gc_verify_internal_consistency() counts all</div><div class='del'>-	  - live objects</div><div class='del'>-	  - young objects (if age2 promotion)</div><div class='del'>-	  - old objects</div><div class='del'>-	  in all pages and compares with objspace managing counters.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_after_sweep): do gc_verify_internal_consistency()</div><div class='del'>-	  when RGENGC_CHECK_MODE &gt;= 2.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 13:14:04 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body</div><div class='del'>-	  type as "MIXED" followed immediately by params</div><div class='del'>-	  [ruby-core:62864] [Bug #9885]</div><div class='del'>-	  Patch by @rayners (David Raynes). [Fixes GH-622]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/622</div><div class='del'>-</div><div class='del'>-Tue Jun  3 13:18:24 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_live_slot): live slot count should not include final</div><div class='del'>-	  slot (contains T_ZOMBIE) count.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 13:03:21 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): fix spacing.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 12:59:32 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (check_gen_consistency): fix error message.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 12:40:23 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: count old/young objects more correctly.</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_DEMOTE_FROM_OLD): decrement old object count.</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_DEMOTE_FROM_YOUNG): decrement young object count.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_resurrect): increment old object count.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_body): should not add old object count.</div><div class='del'>-	  This code is completely my misunderstanding.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_force_recycle): decrement young or old object count</div><div class='del'>-	  correctly.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 12:26:47 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb: add $LOAD_PATH to load test/unit</div><div class='del'>-	  correctly for fiddle/import unavailable environments.</div><div class='del'>-</div><div class='del'>-Tue Jun  3 09:45:13 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (OpenSSL::TestSSL#test_verify_result):</div><div class='del'>-	  shouldn't use same server for respective tests, because the 1st</div><div class='del'>-	  test sometimes kills the server main loop silently.</div><div class='del'>-	  [Bug #9881] [ruby-dev:48266]</div><div class='del'>-</div><div class='del'>-Tue Jun  3 01:34:59 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: [DOC] Add rb_call_super when subclassing from @robin850</div><div class='del'>-	  [Fixes GH-623] https://github.com/ruby/ruby/pull/623</div><div class='del'>-</div><div class='del'>-Mon Jun  2 17:14:49 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_destruct): remove useless call of</div><div class='del'>-	  rb_gc_force_recycle().</div><div class='del'>-</div><div class='del'>-	  At this line, a VM object is already freed</div><div class='del'>-	  (is changed to T_NONE) by rb_gc_call_finalizer_at_exit().</div><div class='del'>-</div><div class='del'>-Mon Jun  2 15:50:24 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_refinement): add write-barriers for</div><div class='del'>-	  cref-&gt;nd_refinements.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 12:26:08 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* CONTRIBUTING.md: added contributing guide for github. [fix GH-625]</div><div class='del'>-</div><div class='del'>-Mon Jun  2 07:30:33 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb (default_warning): New method.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload.rb: Use EnvUtil.default_warning.</div><div class='del'>-</div><div class='del'>-Mon Jun  2 07:05:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: constify `rb_encoding` arguments.</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: constify `OnigEncoding` arguments.</div><div class='del'>-</div><div class='del'>-Sun Jun  1 12:05:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb: Wrap tests definitions by DRbTests module.  This makes</div><div class='del'>-	  several tests (ACLEntryTest, TestBug4409, etc.) easier to understand</div><div class='del'>-	  that they are tests for DRb.</div><div class='del'>-</div><div class='del'>-Sun Jun  1 11:36:25 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (RingFinger#make_socket): Close the socket on</div><div class='del'>-	  exception.</div><div class='del'>-</div><div class='del'>-Sun Jun  1 06:55:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (intern_str): dynamic attrset ID is registered by</div><div class='del'>-	  `rb_id_attrset()` already, so no further registration is needed.</div><div class='del'>-	  [ruby-core:62861]</div><div class='del'>-</div><div class='del'>-Sun Jun  1 04:52:47 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/English.rb: [DOC] $LOADED_FEATURES moved to load.c [Fixes GH-620]</div><div class='del'>-	  Patch submitted by @leafac in https://github.com/ruby/ruby/pull/620</div><div class='del'>-	* doc/globals.rdoc: Added $LOADED_FEATURES to list</div><div class='del'>-</div><div class='del'>-Sat May 31 22:30:14 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/leakchecker.rb: Leak checker extracted from</div><div class='del'>-	  test/lib/minitest/unit.rb.</div><div class='del'>-</div><div class='del'>-Sat May 31 21:15:43 2014  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork_internal): My compiler complains</div><div class='del'>-	  about this variable being used before initialized. I looked at</div><div class='del'>-	  the code and expanded the macro and turned out it was actually</div><div class='del'>-	  USED for pointer arithmetic, not dereferenced.  So this was</div><div class='del'>-	  never a serious bug.  But is annoying indeed to see warnings</div><div class='del'>-	  every time.  I added `=0` and all went healthy.</div><div class='del'>-</div><div class='del'>-	* configure.in: Also, I found that the problematic macro expansion</div><div class='del'>-	  only happens when we lack __typeof__ C extension, which shall</div><div class='del'>-	  not be the case of my compiler.  I added AC_C_TYPEOF to kick ass.</div><div class='del'>-</div><div class='del'>-Sat May 31 16:32:50 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: extracted inline tests into test dir.</div><div class='del'>-	* test/test_ipaddr.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 31 16:29:21 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/lib/digest/hmac.rb: extracted inline tests into test dir.</div><div class='del'>-	* test/digest/test_digest_hmac.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 31 16:02:03 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_syslog.rb: remove executable.</div><div class='del'>-</div><div class='del'>-Sat May 31 08:58:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c (init_case_fold_table): no longer need to</div><div class='del'>-	  initialize tables at runtime.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb (lookup_hash): make perfect hash to</div><div class='del'>-	  lookup case unfolding table 3.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb (lookup_hash): make perfect hash to</div><div class='del'>-	  lookup case unfolding table 2.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb (lookup_hash): make perfect hash to</div><div class='del'>-	  lookup case unfolding table 1.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb (lookup_hash): make perfect hash to</div><div class='del'>-	  lookup case folding table.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb (print_table): merge non-locale and</div><div class='del'>-	  locale tables, and reduce initializing loops.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb (CaseFolding): modularize, and add</div><div class='del'>-	  --output-file option.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: script to convert CaseFolding.txt,</div><div class='del'>-	  translated from CaseFolding.py.</div><div class='del'>-</div><div class='del'>-Sat May 31 08:31:41 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Check Tempfile leaks for each test method</div><div class='del'>-	  again.</div><div class='del'>-</div><div class='del'>-Sat May 31 03:50:50 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: [DOC] Document raise in Delegator class</div><div class='del'>-	  Patch by @lucasmazza. [Fixes GH-621]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/621</div><div class='del'>-</div><div class='del'>-Fri May 30 21:23:26 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: Use a pipe to detect server shutdown.</div><div class='del'>-	  shutdown() or close() for listening socket is not a reliable.</div><div class='del'>-	  Actually, both doesn't work (doesn't wake up select()) on</div><div class='del'>-	  DragonFly BSD 3.6.2.</div><div class='del'>-</div><div class='del'>-	* test/webrick/utils.rb: :ShutdownSocketWithoutClose is not required</div><div class='del'>-	  now to immediate server shutdown detection.</div><div class='del'>-	  This fixes fd leaks.</div><div class='del'>-</div><div class='del'>-	* test/net/http/utils.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Fri May 30 20:58:37 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb (check_fd_leak): Sort the inspected</div><div class='del'>-	  objects list for a FD.</div><div class='del'>-</div><div class='del'>-Fri May 30 18:06:55 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb (check_fd_leak): Try GC to delete leaked</div><div class='del'>-	  FDs.</div><div class='del'>-</div><div class='del'>-Fri May 30 12:05:59 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit/parallel.rb (_run_suite): orig_stdout may be nil</div><div class='del'>-	  though I don't know the reason.</div><div class='del'>-</div><div class='del'>-Fri May 30 11:33:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): need to reset code range for shared</div><div class='del'>-	  string too, not only copied string.</div><div class='del'>-	  [ruby-core:62842] [Bug #9882]</div><div class='del'>-</div><div class='del'>-Fri May 30 10:22:21 2014  Mark Lorenz  &lt;mlorenz@covermymeds.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (result): [DOC] no longer accepts a Proc, as</div><div class='del'>-	  Kernel.eval does not.  [fix GH-619]</div><div class='del'>-</div><div class='del'>-Fri May 30 07:25:46 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/dir: Dir#fileno implemented.</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb (find_fds): Don't return the fd used to</div><div class='del'>-	  scan /proc/$$/fd.</div><div class='del'>-</div><div class='del'>-Fri May 30 04:48:00 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_gc_mark_parser): remove, empty since r8758</div><div class='del'>-	* internal.h: ditto, not usable from extensions since 2.0.0</div><div class='del'>-	* gc.c (gc_mark_roots): remove checkpoint for parser</div><div class='del'>-</div><div class='del'>-Thu May 29 23:27:50 2014  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (ruby_signal): should return either `old.sa_sigaction`</div><div class='del'>-	  or `old.sa_handler`, depending on whether `SA_SIGINFO` is set in</div><div class='del'>-	  `old.sa_flags`, because they may not be a union.</div><div class='del'>-	  [ruby-core:62836] [Bug #9878]</div><div class='del'>-</div><div class='del'>-Thu May 29 23:11:20 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): Close pipes when rb_execarg_fixup() raises</div><div class='del'>-	  an exception.</div><div class='del'>-	  (rb_execarg_fixup_v): New function.</div><div class='del'>-</div><div class='del'>-Thu May 29 22:18:57 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb (capture_subprocess_io): Close fds.</div><div class='del'>-</div><div class='del'>-Thu May 29 19:47:08 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): Close pipes if io_encoding_set() raises an</div><div class='del'>-	  exception.</div><div class='del'>-	  (io_encoding_set_v): New function.</div><div class='del'>-</div><div class='del'>-Thu May 29 19:42:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV.open): Close the opened file when an exception</div><div class='del'>-	  occur.</div><div class='del'>-</div><div class='del'>-Thu May 29 19:31:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): Close a socket</div><div class='del'>-	  if any exception occur.</div><div class='del'>-</div><div class='del'>-Thu May 29 05:05:29 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Hide Symbol internals.</div><div class='del'>-	  (struct RSymbol): moved to internal.h</div><div class='del'>-	  (RSYMBOL): ditto</div><div class='del'>-</div><div class='del'>-Thu May 29 00:28:56 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket</div><div class='del'>-	  after path length check.</div><div class='del'>-	  This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path.</div><div class='del'>-</div><div class='del'>-Wed May 28 23:04:35 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_flush_in_finalizer1): Use</div><div class='del'>-	  ObjectSpace.each_object to close files.</div><div class='del'>-	  GC.start is not reliable.</div><div class='del'>-</div><div class='del'>-Wed May 28 19:00:31 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when</div><div class='del'>-	  any exception occur.</div><div class='del'>-	  This fixes a fd leak by IMAPTest#test_imaps_post_connection_check</div><div class='del'>-	  which start_tls_session() raises an exception.</div><div class='del'>-</div><div class='del'>-Wed May 28 18:06:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work</div><div class='del'>-	  when SSL is not started.</div><div class='del'>-	  This fix the fd leak by test_https_proxy_authentication in</div><div class='del'>-	  test/net/http/test_https_proxy.rb.</div><div class='del'>-</div><div class='del'>-Wed May 28 10:29:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_living_threads_foreach): remove function</div><div class='del'>-	  [ruby-core:62745]</div><div class='del'>-	* thread.c (terminate_i): remove</div><div class='del'>-	* thread.c (terminate_all): implement (inlines old terminate_i)</div><div class='del'>-	* thread.c (rb_thread_terminate_all): use terminate_all</div><div class='del'>-	* thread.c (rb_thread_fd_close_i): remove</div><div class='del'>-	* thread.c (rb_thread_fd_close): iterate inline</div><div class='del'>-	* thread.c (thread_list_i): remove</div><div class='del'>-	* thread.c (rb_thread_list): iterate inline</div><div class='del'>-	* thread.c (rb_thread_atfork_internal): iterate inline</div><div class='del'>-	* thread.c (terminate_atfork_i): update types to remove casts</div><div class='del'>-	* thread.c (terminate_atfork_before_exec_i): ditto</div><div class='del'>-	* thread.c (struct thgroup_list_params): remove definition</div><div class='del'>-	* thread.c (thgroup_list_i): remove</div><div class='del'>-	* thread.c (thgroup_list): iterate inline</div><div class='del'>-	* thread.c (check_deadlock_i): remove</div><div class='del'>-	* thread.c (debug_deadlock_check): implement (inlines check_deadlock_i)</div><div class='del'>-	* thread.c (debug_i): remove</div><div class='del'>-	* thread.c (rb_check_deadlock): iterate inline</div><div class='del'>-	* vm.c (vm_mark_each_thread_func): remove</div><div class='del'>-	* vm.c (rb_vm_mark): iterate inline</div><div class='del'>-	* vm_core.h (rb_vm_living_threads_remove): remove</div><div class='del'>-	* vm_trace.c (clear_trace_func_i): remove</div><div class='del'>-	* vm_trace.c (rb_clear_trace_func): iterate inline</div><div class='del'>-</div><div class='del'>-Wed May 28 09:30:51 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (signal_exec): ignore immediate cmd for SIG_IGN</div><div class='del'>-	* signal.c (trap_handler): set cmd to true for SIG_IGN</div><div class='del'>-	* signal.c (trap): handle nil and true values for oldcmd</div><div class='del'>-	  [Bug #9835]</div><div class='del'>-</div><div class='del'>-Wed May 28 01:02:54 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#inspect): Show "(closed)" if the tempfile</div><div class='del'>-	  is closed.</div><div class='del'>-</div><div class='del'>-Wed May 28 00:38:09 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Use Tempfile#close! instead of</div><div class='del'>-	  Tempfile#unlink to close file descriptors.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_config.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Wed May 28 00:06:18 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (transfercmd): Close TCP server socket even if an</div><div class='del'>-	  exception occur.</div><div class='del'>-</div><div class='del'>-Tue May 27 23:50:07 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/core.rb: Use Tempfile#close! instead of Tempfile#unlink</div><div class='del'>-	  to close file descriptors.</div><div class='del'>-</div><div class='del'>-Tue May 27 23:06:46 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_number_literal_suffix): refine error message for</div><div class='del'>-	  extra dot and digits.</div><div class='del'>-</div><div class='del'>-Tue May 27 22:44:20 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml: Avoid fd leaks.</div><div class='del'>-</div><div class='del'>-Tue May 27 22:24:25 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: Indent.</div><div class='del'>-</div><div class='del'>-Tue May 27 22:15:29 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_document.rb: Wrap by REXMLTests module.</div><div class='del'>-</div><div class='del'>-Tue May 27 22:11:10 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_encoding_2.rb: Remove a needless file.</div><div class='del'>-</div><div class='del'>-Tue May 27 22:10:30 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_contrib.rb: Indent.</div><div class='del'>-</div><div class='del'>-Tue May 27 21:28:16 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ifaddr.c (ifaddr_inspect_flags): support IFF_SIMPLEX.</div><div class='del'>-</div><div class='del'>-Tue May 27 21:03:03 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/: Use REXMLTests as wrapping module for REXML tests.</div><div class='del'>-	  I avoid using the same module for library in test because</div><div class='del'>-	  it provides "include REXML" environment in test. Normally,</div><div class='del'>-	  users don't use REXML on "include REXML" environment. So I</div><div class='del'>-	  don't want to write tests on "include REXML" environment.</div><div class='del'>-</div><div class='del'>-Tue May 27 20:59:37 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_comment.rb: Remove needless REXML module wrapping.</div><div class='del'>-</div><div class='del'>-Tue May 27 20:56:49 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs7.rb: Fix inverted expected and actual values.</div><div class='del'>-</div><div class='del'>-Tue May 27 20:26:06 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_flush_in_finalizer1): some opened fds are</div><div class='del'>-	  remain before GC, so unlink the tempfile is failed.</div><div class='del'>-</div><div class='del'>-Tue May 27 19:07:26 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_autoclose_p): Don't raise on frozen IO.</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: IO#autoclose? may raise IOError.</div><div class='del'>-</div><div class='del'>-Tue May 27 19:01:49 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb: Modify TestSSL#test_read_and_write</div><div class='del'>-	  to handle partial sysreads. [Bug #7398][ruby-core:49563]</div><div class='del'>-	* test/openssl/test_ssl.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue May 27 18:46:23 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkcs7.rb: Add tests for PKCS7#type= and add_data.</div><div class='del'>-	  [Feature #7399][ruby-core:49565]</div><div class='del'>-</div><div class='del'>-Tue May 27 17:45:09 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_hmac.rb (test_binary_update): Added Test for</div><div class='del'>-	  HMAC signing with UTF-8 String. [Bug #7512][ruby-core:50559]</div><div class='del'>-</div><div class='del'>-Tue May 27 17:10:14 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: fixed randomly test failure.</div><div class='del'>-	  [Bug #6573][ruby-core:45563]</div><div class='del'>-</div><div class='del'>-Tue May 27 16:58:12 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_timeout.rb (test_timeout): inverted test condition.</div><div class='del'>-	  [Bug #8523]</div><div class='del'>-</div><div class='del'>-Tue May 27 12:24:22 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Show leaked file descriptors.</div><div class='del'>-</div><div class='del'>-Tue May 27 11:12:56 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fileno, rb_io_inspect): non-modification does not</div><div class='del'>-	  error on frozen IO.  [ruby-dev:48241] [Bug #9865]</div><div class='del'>-</div><div class='del'>-Tue May 27 00:00:21 2014  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): fix typo in the instruction comment.</div><div class='del'>-	  [fix GH-618]</div><div class='del'>-</div><div class='del'>-Mon May 26 16:33:15 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: skip the test of atime on Windows, because</div><div class='del'>-	  Windows delays updating atime about 1 hour.</div><div class='del'>-	  see more details:</div><div class='del'>-	    http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx</div><div class='del'>-</div><div class='del'>-Mon May 26 12:25:36 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optionparser.rb, lib/optparse.rb (OptParse): aliases.</div><div class='del'>-	  [ruby-core:62751] [Feature #9864]</div><div class='del'>-</div><div class='del'>-Mon May 26 07:59:34 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Show Finished threads line-by-line.</div><div class='del'>-</div><div class='del'>-Mon May 26 01:39:02 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Reject nil as data source for CSV.new, patch by @Peeja.</div><div class='del'>-	  [Fixes GH-580] https://github.com/ruby/ruby/pull/580</div><div class='del'>-</div><div class='del'>-Mon May 26 01:07:51 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Show leaked threads and tempfiles</div><div class='del'>-	  line-by-line.</div><div class='del'>-</div><div class='del'>-Sun May 25 23:02:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb (MiniTest::Assertions#diff): Remove</div><div class='del'>-	  tempfiles.</div><div class='del'>-</div><div class='del'>-Sun May 25 22:42:27 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Check tempfile leak for each test class.</div><div class='del'>-</div><div class='del'>-Sun May 25 20:31:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_{getcontext,setcontext}): do not</div><div class='del'>-	  disable ucontext.h entirely, but disable use of functions only.</div><div class='del'>-	  `ucontext_t` is necessary in the signal handler now.</div><div class='del'>-</div><div class='del'>-Sun May 25 20:00:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow): revert part of r46100, the</div><div class='del'>-	  previous condition was correct, and fix compilation error on</div><div class='del'>-	  other architecture linux.  [ruby-core:62746] [Bug #9862]</div><div class='del'>-</div><div class='del'>-Sun May 25 17:09:13 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Less ObjectSpace.each_object(Tempfile)</div><div class='del'>-	  invocation.</div><div class='del'>-</div><div class='del'>-Sun May 25 16:54:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Use Thread.list instead of</div><div class='del'>-	  ObjectSpace.each_object(Thread).</div><div class='del'>-</div><div class='del'>-Sun May 25 15:53:54 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingServer#shutdown): Join the killed</div><div class='del'>-	  threads.</div><div class='del'>-</div><div class='del'>-Sun May 25 15:26:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb: Override the inspect method of the thread</div><div class='del'>-	  used in WEBrick::Utils::TimeoutHandler.</div><div class='del'>-</div><div class='del'>-Sun May 25 14:22:30 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl: Join threads.</div><div class='del'>-</div><div class='del'>-Sun May 25 12:46:47 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_bug_context): new function to report bug with</div><div class='del'>-	  context.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): accepts `ucontext_t` argument to</div><div class='del'>-	  dump machine registers.  based on [GH-584].</div><div class='del'>-</div><div class='del'>-	* signal.c (sigbus, sigsegv): dump machine registers if available.</div><div class='del'>-</div><div class='del'>-Sun May 25 12:32:42 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Sort leaked threads and tempfiles.</div><div class='del'>-</div><div class='del'>-Sun May 25 12:15:30 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow): fix condition to use ucontext</div><div class='del'>-	  register, mcontext_t dereference, and its member names, on Mac</div><div class='del'>-	  OS X.</div><div class='del'>-</div><div class='del'>-Sun May 25 11:58:26 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c: [DOC] Fix example to show Enumerator#peek behavior</div><div class='del'>-	  Patch by Erik Hollembeak [Bug #9814]</div><div class='del'>-</div><div class='del'>-Sun May 25 11:56:33 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): fix string width when precision is</div><div class='del'>-	  given.  as the result of `memchr` is NULL or its offset from the</div><div class='del'>-	  start cannot exceed the size, the comparison was always false.</div><div class='del'>-	  [ruby-core:62737] [Bug #9861]</div><div class='del'>-</div><div class='del'>-Sun May 25 11:32:42 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]</div><div class='del'>-	* test/psych/*: ditto.</div><div class='del'>-</div><div class='del'>-Sun May 25 10:34:15 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc: [DOC] Clarify whitespace matching by @allolex</div><div class='del'>-	  [Fixes GH-606] https://github.com/ruby/ruby/pull/606</div><div class='del'>-</div><div class='del'>-Sun May 25 10:19:34 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: [DOC] Use #find in example to clarify alias by @rachellogie</div><div class='del'>-	  Patch submitted via documenting-ruby/ruby#34</div><div class='del'>-</div><div class='del'>-Sun May 25 10:16:43 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: [DOC] Fix rdoc in example for Fiber#transfer by @majjoha</div><div class='del'>-	  Patch submitted via documenting-ruby/ruby#33</div><div class='del'>-</div><div class='del'>-Sun May 25 10:01:11 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: [DOC] Fixed syntax error in example by @jasdeepsingh.</div><div class='del'>-	  Patch submitted via documenting-ruby/ruby#32</div><div class='del'>-</div><div class='del'>-Sun May 25 09:58:02 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_chown_R): Add tests for</div><div class='del'>-	  chown_R. [Feature #9383][ruby-core:59641]</div><div class='del'>-</div><div class='del'>-Sun May 25 09:57:09 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb: Added recursively chown tests.</div><div class='del'>-	  [Feature #9303][ruby-core:59325]</div><div class='del'>-</div><div class='del'>-Sun May 25 09:41:56 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: [DOC] Fixed grammar and examples of instance_methods.</div><div class='del'>-	  By @alex-frost via documenting-ruby/ruby#31</div><div class='del'>-</div><div class='del'>-Sun May 25 09:40:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb: Show leaked threads and tempfiles.</div><div class='del'>-</div><div class='del'>-Sun May 25 08:54:38 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_partial_record_read.rb: Testing read_nonblock on</div><div class='del'>-	  a partial TLS record results in IO::WaitReadable by @mohamedhafez.</div><div class='del'>-	  [fix GH-547]</div><div class='del'>-</div><div class='del'>-Sun May 25 08:43:16 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: refactored to include Logger::Period.</div><div class='del'>-</div><div class='del'>-Sun May 25 06:50:19 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: [DOC] Improve instance_eval description when given a</div><div class='del'>-	  block or String arguments. By @nathanl via documenting-ruby/ruby#28</div><div class='del'>-</div><div class='del'>-Sun May 25 06:29:39 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: [DOC] Clarify default argument for Array.new.</div><div class='del'>-	  By @Elffers [Fixes GH-610]</div><div class='del'>-</div><div class='del'>-Sat May 24 22:37:20 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: [DOC] Add more documents to shuffle! and shuffle.</div><div class='del'>-	  Contributed by @JuanitoFatas [ci skip][fix GH-612]</div><div class='del'>-</div><div class='del'>-Sat May 24 22:28:55 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/.document: removed unused configuration.</div><div class='del'>-</div><div class='del'>-Sat May 24 19:08:47 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/spec.rb: Unused file removed.</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/autorun.rb: Don't require minitest/spec.</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/benchmark.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sat May 24 18:45:30 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/benchmark/test_benchmark.rb: Use test/unit.</div><div class='del'>-</div><div class='del'>-Sat May 24 16:20:59 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getgroups, proc_setgroups): use ALLOCV_N</div><div class='del'>-	  [Bug #9856]</div><div class='del'>-</div><div class='del'>-Sat May 24 15:49:39 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/unit.rb (parallelize_me!): Removed.</div><div class='del'>-	  This fixes the line-by-line structure of the test result in verbose</div><div class='del'>-	  mode.  [ruby-core:54905]</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/parallel_each.rb: Removed.</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_mock.rb: Don't call parallelize_me!.</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_spec.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/minitest/test_minitest_unit.rb: Ditto.</div><div class='del'>-	  Tests for parallel feature removed.</div><div class='del'>-</div><div class='del'>-Sat May 24 15:29:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/hell.rb: Unused file removed.</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest/pride.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sat May 24 15:05:32 2014  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (yielder_yield_push): Insert a break after the</div><div class='del'>-	  method return value.  [fix GH-617]</div><div class='del'>-</div><div class='del'>-Sat May 24 14:59:12 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/minitest: Remove comments not appropriate now.</div><div class='del'>-</div><div class='del'>-	* test/minitest: Ditto.</div><div class='del'>-</div><div class='del'>-Sat May 24 14:02:04 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added minitest changes.</div><div class='del'>-</div><div class='del'>-Sat May 24 13:42:46 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit/test-unit.gemspec: removed needless gemspec file.</div><div class='del'>-</div><div class='del'>-Sat May 24 09:39:06 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* defs/default_gems: removed minitest entry.</div><div class='del'>-</div><div class='del'>-Sat May 24 06:17:33 2014  Ryan Davis  &lt;ryand-ruby@zenspider.com&gt;</div><div class='del'>-</div><div class='del'>-	*  lib/minitest: minitest 4.7.5 removed. Need to support proper</div><div class='del'>-	  gem packaging / installation before minitest 5 can be added.</div><div class='del'>-</div><div class='del'>-Sat May 24 05:54:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: More constants</div><div class='del'>-</div><div class='del'>-Sat May 24 00:25:34 2014  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add information of incompatibility about Prime.prime?</div><div class='del'>-	* lib/prime.rb: fix docs.</div><div class='del'>-</div><div class='del'>-Fri May 23 21:36:28 2014  Josh Goebel  &lt;dreamer3@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* net/protocol.rb (using_each_crlf_line): fix SMTP dot-stuffing</div><div class='del'>-	  for messages not ending with a new-line.</div><div class='del'>-	  [ruby-core:61441] [Bug #9627] [fix GH-616]</div><div class='del'>-</div><div class='del'>-Fri May 23 03:48:08 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_free_m_tbl): mark function as static</div><div class='del'>-</div><div class='del'>-	* method.h (rb_free_m_tbl): remove prototype</div><div class='del'>-</div><div class='del'>-Thu May 22 22:58:27 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: More TCP option constants.</div><div class='del'>-	  Describe Linux and glibc versions.</div><div class='del'>-</div><div class='del'>-Thu May 22 20:38:10 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (stat_birthtime): add birthtime support [Feature #9647]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_birthtime): add File::Stat.birthtime</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_birthtime): add File.birthtime</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_birthtime): add File#birthtime</div><div class='del'>-</div><div class='del'>-	* configure.in: check struct stat.st_birthtimespec.</div><div class='del'>-</div><div class='del'>-Thu May 22 19:38:14 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: remove IO::Statfs because of reject. [Feature #9772]</div><div class='del'>-</div><div class='del'>-Thu May 22 14:02:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/jis/props.kwd: constify character property tables of JIS</div><div class='del'>-	  based encodings by perfect hash.</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c, enc/shift_jis.c: use character property functions.</div><div class='del'>-</div><div class='del'>-Wed May 21 12:21:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Fix compilation error on Android.</div><div class='del'>-	  Bionic doesn't define TCP state constants.</div><div class='del'>-</div><div class='del'>-Wed May 21 11:42:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: workaround for Info.plist to get rid of `dsymutil`</div><div class='del'>-	  crash by wrong files in parent directories.</div><div class='del'>-	  [ruby-core:62594] [Bug #9840]</div><div class='del'>-</div><div class='del'>-Tue May 20 20:57:34 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb (test_glob): added testcase of double</div><div class='del'>-	  slash path.</div><div class='del'>-</div><div class='del'>-Tue May 20 04:58:54 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Don't check fields of struct tcp_info if the</div><div class='del'>-	  structure is not available.</div><div class='del'>-</div><div class='del'>-Mon May 19 23:13:33 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_tcp_info): Permit longer data.  (glibc</div><div class='del'>-	  2.7 adds tcpi_rcv_rtt, tcpi_rcv_space and tcpi_total_retrans to</div><div class='del'>-	  struct tcp_info.)</div><div class='del'>-</div><div class='del'>-Mon May 19 20:49:07 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_tcp_info): New function to inspect</div><div class='del'>-	  struct tcp_info.</div><div class='del'>-	  (sockopt_inspect): Use inspect_tcp_info.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Check tcp_info related things.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: Include netinet/tcp_fsm.h if available.</div><div class='del'>-</div><div class='del'>-Mon May 19 19:36:39 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/dbm/test_dbm.rb: Use Etc.uname.</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Mon May 19 16:54:22 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_uname): add support for Windows using</div><div class='del'>-	  GetVersionExW(), GetSystemInfo(), and GetComputerNameExW() with</div><div class='del'>-	  `ComputerNameDnsHostname`.  [Feature #9842]</div><div class='del'>-</div><div class='del'>-Mon May 19 16:29:48 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_pat_search): advance by byte offset but not by char</div><div class='del'>-	  offset.  [ruby-core:62669] [Bug #9849]</div><div class='del'>-</div><div class='del'>-Mon May 19 14:06:18 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bin/testrb: Removed. Forgot to remove in r45971.</div><div class='del'>-	  [Feature #9711] [ruby-core:62620]</div><div class='del'>-</div><div class='del'>-Sun May 18 16:42:08 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb (test_str_crypt): Use Etc.confstr to</div><div class='del'>-	  detect the glibc version.</div><div class='del'>-	  libc.so is not an executable on Debian GNU/kFreeBSD 7.0 (wheezy).</div><div class='del'>-</div><div class='del'>-Sun May 18 12:15:54 2014  Jonathan Mukai-Heidt  &lt;johnnymukai@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_each_line, argf_inplace_mode_set): [DOC] Update ARGF</div><div class='del'>-	  documentation examples.  `ARGF.lines` has been deprecated in</div><div class='del'>-	  favor of `ARGF.each_line`.  [Fixes GH-615]</div><div class='del'>-</div><div class='del'>-Sun May 18 11:59:25 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/nextafter.c: Include ruby/missing.h.</div><div class='del'>-</div><div class='del'>-Sun May 18 11:09:28 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: Add nextafter.obj to MISSING.</div><div class='del'>-</div><div class='del'>-Sun May 18 10:46:04 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented.</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb: Check sysconf(), confstr() and fpathconf().</div><div class='del'>-</div><div class='del'>-	* ext/etc/mkconstants.rb: New file.</div><div class='del'>-</div><div class='del'>-	   [ruby-core:62600] [Feature #9842]</div><div class='del'>-</div><div class='del'>-Sun May 18 09:58:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c: Etc.uname method implemented.</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb: Check uname() function.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:62139] [Feature #9770]</div><div class='del'>-</div><div class='del'>-Sun May 18 09:16:33 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Check nextafter() availability.</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (nextafter): New optional declaration.</div><div class='del'>-</div><div class='del'>-	* missing/nextafter.c: New file.</div><div class='del'>-</div><div class='del'>-	* numeric.c: Float#next_float and Float#prev_float implemented.</div><div class='del'>-</div><div class='del'>-	   [ruby-core:62562] [Feature #9834]</div><div class='del'>-</div><div class='del'>-Sun May 18 09:02:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Enumerable#slice_after implemented.</div><div class='del'>-</div><div class='del'>-	* enumerator.c: Enumerator::Lazy#slice_after implemented.</div><div class='del'>-</div><div class='del'>-	  Requested by Tsuyoshi Sawada.  [ruby-core:58123] [Feature #9071]</div><div class='del'>-</div><div class='del'>-Sun May 18 08:22:25 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_setstrbuf): always check if the buffer is modifiable.</div><div class='del'>-	  [ruby-core:62643] [Bug #9847]</div><div class='del'>-</div><div class='del'>-Sun May 18 01:21:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Hide Rational internal.</div><div class='del'>-	  (RRational): Moved to internal.h</div><div class='del'>-	  (RRATIONAL): Ditto.</div><div class='del'>-	  (RRATIONAL_SET_NUM): Moved to rational.c.</div><div class='del'>-	  (RRATIONAL_SET_DEN): Ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_rational_num): New function.</div><div class='del'>-	  (rb_rational_den): Ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_rational_num): Declared.</div><div class='del'>-	  (rb_rational_den): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Follow the above change.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: Ditto.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:60665] [Feature #9513]</div><div class='del'>-</div><div class='del'>-Sat May 17 17:04:32 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add news about removal of lib/test/**/*.rb.</div><div class='del'>-</div><div class='del'>-Sat May 17 16:57:33 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test: Removed because ruby's test cases now independent to</div><div class='del'>-	  lib/test by r45970. [Feature #9711] [ruby-core:62620]</div><div class='del'>-</div><div class='del'>-	  I'm still considering about the future of lib/minitest, lib/test.</div><div class='del'>-	  (bundling gems?)</div><div class='del'>-</div><div class='del'>-Sat May 17 15:06:40 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: remove dependency test-unit and minitest</div><div class='del'>-	  from stdlib when running with test-all.</div><div class='del'>-	  [Feature #9711][ruby-core:61890]</div><div class='del'>-	* test/testunit/*.rb: ditto.</div><div class='del'>-	* test/lib: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 17 11:02:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): try match PLAIN as well as ALPHA, which are</div><div class='del'>-	  separated by previous commits.  [ruby-core:61552] [Bug #9648]</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_make_pattern): set PLAIN for non-magical path to</div><div class='del'>-	  skip parts which not need to glob.</div><div class='del'>-	  [ruby-core:61552] [Bug #9648]</div><div class='del'>-</div><div class='del'>-	* dir.c (has_magic): return ALPHA at alphabetical name regardless</div><div class='del'>-	  FNM_CASEFOLD flag.</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): fix conditions for ALPHA.</div><div class='del'>-	  [ruby-core:61552] [Bug #9648]</div><div class='del'>-</div><div class='del'>-Sat May 17 01:49:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): reduce matching at non-magical path on</div><div class='del'>-	  Windows.</div><div class='del'>-</div><div class='del'>-Sat May 17 01:49:23 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_pattern_type): separate names with alphabet but no</div><div class='del'>-	  magical from plain.</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): match plain names as-is to treat super-root</div><div class='del'>-	  same as the root.  [ruby-core:61552] [Bug #9648]</div><div class='del'>-</div><div class='del'>-Fri May 16 17:38:22 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks, gc_marks_body): increase the counter of young objects</div><div class='del'>-	  at the major GC because AGE2Promotion changes all old objects into</div><div class='del'>-	  young objects at major GC.</div><div class='del'>-</div><div class='del'>-Fri May 16 17:26:24 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): heap_pages_swept_slots should contains</div><div class='del'>-	  heap_pages_increment.</div><div class='del'>-</div><div class='del'>-	  For example, GC by exceeding malloc_limit can remain</div><div class='del'>-	  heap_pages_increment.</div><div class='del'>-</div><div class='del'>-Thu May 15 21:18:43 2014  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'.</div><div class='del'>-	  [ruby-core:62095] [Bug #8358]</div><div class='del'>-</div><div class='del'>-Thu May 15 21:04:06 2014  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/parallel.rb: fix test-all parallel failure if a test</div><div class='del'>-	  is skipped after raise.</div><div class='del'>-	  DL::TestFunc#test_sinf is skipped after raise on mingw ruby.</div><div class='del'>-	  But it causes Marshal.load failure due to undefined class/module</div><div class='del'>-	  DL::DLError when doing test-all parallel and test-all doesn't</div><div class='del'>-	  complete. We create new MiniTest::Skip object to avoid Marshal.load</div><div class='del'>-	  failure.</div><div class='del'>-	  [ruby-core:62133] [Bug #9767]</div><div class='del'>-</div><div class='del'>-	* test/testunit/test_parallel.rb (TestParallel): add a test.</div><div class='del'>-</div><div class='del'>-	* test/testunit/tests_for_parallel/ptest_forth.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu May 15 18:57:23 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (garbage_collect_body): move gc_heap_prepare_minimum_pages()</div><div class='del'>-	  from gc_sweep().</div><div class='del'>-</div><div class='del'>-Thu May 15 18:51:25 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_extend_pages): calculate next growing heap size.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_set_increment): accept addition pages instead of</div><div class='del'>-	  minimum pages.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_after_sweep): use heap_etend_pages().</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_heap_prepare_minimum_pages): add only 1 page.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_ready_to_gc): add only 1 page.</div><div class='del'>-</div><div class='del'>-Thu May 15 18:42:49 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce macros to remove magic number.</div><div class='del'>-</div><div class='del'>-	  GC_HEAP_FREE_SLOTS_MIN_RATIO = 0.3: guarantee minimum empty slots</div><div class='del'>-	                                      ratio after sweep.</div><div class='del'>-	  GC_HEAP_FREE_SLOTS_MAX_RATIO = 0.8: allow to free pages 0.2 (= 1-0.8)</div><div class='del'>-	                                      of current existing slots.</div><div class='del'>-</div><div class='del'>-Thu May 15 17:32:51 2014  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_w32_stack_overflow_handler): use Structured</div><div class='del'>-	  Exception Handling by AddVectoredExceptionHandler() for machine</div><div class='del'>-	  stack overflow on mingw.</div><div class='del'>-	  This would be equivalent to the handling using __try and __except</div><div class='del'>-	  on mswin introduced by r43748.</div><div class='del'>-</div><div class='del'>-Wed May 14 19:31:03 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/depend: remove dependency from internal headers.</div><div class='del'>-	  [Feature #9612]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_fips_mode_set): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/coverage/depend: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/thread_native.h: added.</div><div class='del'>-</div><div class='del'>-	  This header file only provides wrapper functions to control</div><div class='del'>-	  native threads. These wrapper functions are used by MRI</div><div class='del'>-	  implementation.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: use include/ruby/thread_native.h.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h: ditto.</div><div class='del'>-</div><div class='del'>-	* thread_win32.h: ditto.</div><div class='del'>-</div><div class='del'>-	* thread_native.h: removed.</div><div class='del'>-</div><div class='del'>-Wed May 14 18:03:28 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: enable RGENGC_AGE2_PROMOTION.</div><div class='del'>-</div><div class='del'>-Wed May 14 18:02:30 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): promote remembered object earlier.</div><div class='del'>-</div><div class='del'>-Mon May 12 23:57:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_atan2_inf_c99): check whether runtime atan2</div><div class='del'>-	  handles Inf as C99. [ruby-core:62536] [Bug #9831]</div><div class='del'>-</div><div class='del'>-Mon May 12 20:33:01 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Invoke AC_REPLACE_FUNCS for each function.</div><div class='del'>-</div><div class='del'>-Mon May 12 19:52:11 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: count young object correctly and show it in GC.stat</div><div class='del'>-	  on RGENGC_AGE2_PROMOTION.</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTE_YOUNG): decrement young object count on</div><div class='del'>-	  YOUNG-&gt;OLD.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): decrement young object count when young object</div><div class='del'>-	  freed.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks): should not clear young object count.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_stat_internal): GC.stat :young_object information.</div><div class='del'>-</div><div class='del'>-Mon May 12 01:30:59 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c (BUFSIZE): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (OBJ_IS_FREED): Ditto.</div><div class='del'>-</div><div class='del'>-Sun May 11 22:27:18 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (BUFSIZE): Unused macro removed.</div><div class='del'>-</div><div class='del'>-	* vm.c (BUFSIZE): Ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c (INT64toNUM): Ditto.</div><div class='del'>-	  (UINT64toNUM): Ditto.</div><div class='del'>-	  (BYTEWIDTH): Ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (lshift): Ditto.</div><div class='del'>-	  (UINT64toNUM): Ditto.</div><div class='del'>-	  (id_lshift): Unused variable removed.</div><div class='del'>-</div><div class='del'>-Sun May 11 21:23:27 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (swaps): Unused macro removed.</div><div class='del'>-	  (swapi): Ditto.</div><div class='del'>-	  (swapl): Ditto.</div><div class='del'>-	  (swapll): Ditto.</div><div class='del'>-</div><div class='del'>-Sun May 11 08:02:49 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_t): list_head and counter for living_threads</div><div class='del'>-	  (rb_thread_t): vmlt_node for living_threads linkage</div><div class='del'>-	  (rb_vm_living_threads_init): new function wrapper</div><div class='del'>-	  (rb_vm_living_threads_insert): ditto</div><div class='del'>-	  (rb_vm_living_threads_remove): ditto</div><div class='del'>-	* vm.c (rb_vm_living_threads_foreach): new function wrapper</div><div class='del'>-	* thread.c (terminate_i, thread_start_func_2, thread_create_core,</div><div class='del'>-	  thread_fd_close_i, thread_fd_close): update to use new APIs</div><div class='del'>-	* vm.c (vm_mark_each_thread_func, rb_vm_mark, ruby_vm_destruct,</div><div class='del'>-	  vm_memsize, vm_init2, Init_VM): ditto</div><div class='del'>-	* vm_trace.c (clear_trace_func_i, rb_clear_trace_func): ditto</div><div class='del'>-	* benchmark/bm_vm_thread_close.rb: added to show improvement</div><div class='del'>-	* ccan/build_assert/build_assert.h: added as a dependency of list.h</div><div class='del'>-	* ccan/check_type/check_type.h: ditto</div><div class='del'>-	* ccan/container_of/container_of.h: ditto</div><div class='del'>-	* ccan/licenses/BSD-MIT: ditto</div><div class='del'>-	* ccan/licenses/CC0: ditto</div><div class='del'>-	* ccan/str/str.h: ditto (stripped of unused macros)</div><div class='del'>-	* ccan/list/list.h: ditto</div><div class='del'>-	* common.mk: add CCAN_LIST_INCLUDES</div><div class='del'>-	  [ruby-core:61871][Feature #9632 (part 1)]</div><div class='del'>-</div><div class='del'>-Sun May 11 01:10:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): directly enqueue an ignored signal to self,</div><div class='del'>-	  except for SIGSEGV and SIGBUS.  [ruby-dev:48203] [Bug #9820]</div><div class='del'>-</div><div class='del'>-Sat May 10 22:37:56 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): match in UTF-8 on Mac OS X.</div><div class='del'>-	  [ruby-dev:48213] [Bug #9825]</div><div class='del'>-</div><div class='del'>-Sat May 10 13:32:18 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): stop if forked in a sub-thread,</div><div class='del'>-	  the thread has become the main thread.</div><div class='del'>-	  [ruby-core:62070] [Bug #9751]</div><div class='del'>-</div><div class='del'>-Sat May 10 09:32:19 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: remove deadlink. [ruby-core:62145][Bug #9773]</div><div class='del'>-</div><div class='del'>-Sat May 10 08:47:36 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): Return "SYSTEM_DEFAULT" if SIG_DFL is set.</div><div class='del'>-</div><div class='del'>-Fri May  9 14:27:05 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_SETJMP_TYPE): check for setjmp type after</div><div class='del'>-	  CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be</div><div class='del'>-	  affected.  [ruby-core:62469] [Bug #9818]</div><div class='del'>-</div><div class='del'>-Fri May  9 03:59:06 2014  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: Fix example of using delegator.</div><div class='del'>-	  patched from Andrey Koleshko. [Fixes GH-505]</div><div class='del'>-</div><div class='del'>-Fri May  9 03:42:43 2014  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell.rb: add documentation in lib/shell.rb</div><div class='del'>-	  patched from reprah. [Fixes GH-516]</div><div class='del'>-</div><div class='del'>-Fri May  9 03:28:04 2014  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: show fileutils require at top.</div><div class='del'>-	  patched from Richard Schneeman. [Fixes GH-604]</div><div class='del'>-</div><div class='del'>-Fri May  9 03:07:09 2014  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb (Prime#prime?): negative numbers can't be primes</div><div class='del'>-	  by definition. reported by Ivan Kataitsev. [Bug #7395]</div><div class='del'>-	* test/test_prime.rb: add test.</div><div class='del'>-</div><div class='del'>-Thu May  8 14:34:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy): always clear instance variable,</div><div class='del'>-	  constant and method tables first, regardless the source tables.</div><div class='del'>-	  [ruby-dev:48182] [Bug #9813]</div><div class='del'>-</div><div class='del'>-Thu May  8 10:53:14 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: OpenBSD needs to include sys/param.h before include</div><div class='del'>-	  sys/mount.h. [ruby-dev:48167]</div><div class='del'>-</div><div class='del'>-Thu May  8 10:17:04 2014  Karsten Sperling  &lt;karsten@sperling.co.nz&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): stop</div><div class='del'>-	  handling requests on shutdown, even if the socket is readable</div><div class='del'>-	  and IO.select() returns true.  [Fixes GH-607]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#start): IO.select()</div><div class='del'>-	  raises ENOTSOCK on shutdown on Windows.</div><div class='del'>-</div><div class='del'>-Wed May  7 21:45:00 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept):</div><div class='del'>-	  Consider Socket#accept as well as TCPServer#accept.</div><div class='del'>-	  Reported by Sam Stelfox.  [ruby-core:62064] [Bug #9750]</div><div class='del'>-</div><div class='del'>-Wed May  7 17:24:07 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step_scan_args): check keyword arguments and fail</div><div class='del'>-	  if they conflict with positional arguments.</div><div class='del'>-	  [ruby-dev:48177] [Bug #9811]</div><div class='del'>-</div><div class='del'>-Wed May  7 12:06:14 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: remove debug output and output results into</div><div class='del'>-	  specified file.</div><div class='del'>-</div><div class='del'>-Wed May  7 11:55:40 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: add '--rawdata-output=[FILE] option to output</div><div class='del'>-	  raw results into FILE.</div><div class='del'>-</div><div class='del'>-Wed May  7 11:25:41 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_local_variables): exclude variables hidden by</div><div class='del'>-	  shadowing.  [ruby-core:60501] [Bug #9486]</div><div class='del'>-</div><div class='del'>-	* vm.c (collect_local_variables_in_iseq): ditto.</div><div class='del'>-</div><div class='del'>-Tue May  6 23:29:05 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_bv_gen): no duplicated names, if already added in</div><div class='del'>-	  shadowing_lvar().</div><div class='del'>-</div><div class='del'>-	* parse.y (local_tbl_gen): remove local variables duplicated with</div><div class='del'>-	  arguments.</div><div class='del'>-	  [ruby-core:60501] [Bug #9486]</div><div class='del'>-</div><div class='del'>-Tue May  6 18:48:50 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.make_time): Adjust the time zone of "now".</div><div class='del'>-</div><div class='del'>-Tue May  6 18:33:12 2014  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_{read,write}_nonblock): use rb_get_kwargs instead of</div><div class='del'>-	  rb_hash_aref.</div><div class='del'>-</div><div class='del'>-Tue May  6 18:03:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.make_time): Argument validation code moved from</div><div class='del'>-	  Time.parse and Time.strptime.</div><div class='del'>-</div><div class='del'>-Tue May  6 17:27:06 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.parse): [DOC] Fix an example in the documentation</div><div class='del'>-	  to use EST.</div><div class='del'>-	  Reported by Marcus Stollsteimer.</div><div class='del'>-	  [ruby-core:60778] [Bug #9521] and [ruby-core:61718] [Bug #9682]</div><div class='del'>-</div><div class='del'>-Tue May  6 04:31:48 2014  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): removed meaningless "case 'a'".</div><div class='del'>-</div><div class='del'>-Tue May  6 01:28:14 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_uri): Call StringIO#close only if</div><div class='del'>-	  the StringIO object is not closed yet.</div><div class='del'>-	  Reported by Jordi Massaguer Pla.  [ruby-core:42538] [Bug #6010]</div><div class='del'>-</div><div class='del'>-Tue May  6 01:08:01 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: define File::NULL if not defined and /dev/null</div><div class='del'>-	  is available to run benchmark driver on ruby 1.9.2.</div><div class='del'>-</div><div class='del'>-Mon May  5 23:53:24 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/mkconstants.rb: Add IP_TRANSPARENT.</div><div class='del'>-	  IP_TRANSPARENT is provieded since glibc-2.12.</div><div class='del'>-	  Reported by Eliezer Croitoru.  [ruby-core:50372] [Bug #7476]</div><div class='del'>-</div><div class='del'>-Mon May  5 22:29:47 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (check_exec_redirect): Open the file in write mode for</div><div class='del'>-	  redirect from [:out, :err].</div><div class='del'>-	  Proposed and implemented by Yusuke Endoh.</div><div class='del'>-	  [ruby-dev:41430] [Feature #3348]</div><div class='del'>-</div><div class='del'>-Mon May  5 21:52:35 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all</div><div class='del'>-	  separators File::SEPARATOR from File::ALT_SEPARATOR.</div><div class='del'>-	  Reported by Daniel Rikowski.</div><div class='del'>-	  Fixed by Nobuyoshi Nakada.  [Bug #9618]</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.</div><div class='del'>-</div><div class='del'>-Mon May  5 21:48:04 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+.</div><div class='del'>-	  Suggested by Alexey Muranov.  [ruby-core:61432] [Feature #9625]</div><div class='del'>-</div><div class='del'>-Mon May  5 17:26:09 2014  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (rb_math_sqrt): omitted exporting an unused function,</div><div class='del'>-	  anyway.</div><div class='del'>-	* internal.h: follows the above change.</div><div class='del'>-</div><div class='del'>-Mon May  5 11:44:03 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.strptime): Raise ArgumentError if Date._strptime</div><div class='del'>-	  doesn't extract date information.</div><div class='del'>-	  Reported by tadayoshi funaba.  [ruby-core:62349]</div><div class='del'>-</div><div class='del'>-Mon May  5 01:12:27 2014  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (rt_rewrite_frags): a new feature (not a</div><div class='del'>-	  bug fix) of strptime.  applies offset even if the given date is</div><div class='del'>-	  not local time (%s and %Q).  This is an exceptional feature and</div><div class='del'>-	  I do NOT recommend to use this at all.  Thank you git community.</div><div class='del'>-</div><div class='del'>-Sun May  4 20:51:32 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.force_zone!): Use usual local time if it has</div><div class='del'>-	  expected offset from UTC.</div><div class='del'>-</div><div class='del'>-Sun May  4 17:58:12 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.force_zone!): New private method.</div><div class='del'>-	  (Time.make_time): Use Time.force_zone!.</div><div class='del'>-	  (Time.strptime): Ditto.</div><div class='del'>-	  (Time.rfc2822): Ditto.</div><div class='del'>-	  (Time.xmlschema): Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (Time.w3cdtf): Use Time.force_zone!.</div><div class='del'>-</div><div class='del'>-Sun May  4 10:22:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2): return values like as expected by C99 if</div><div class='del'>-	  both two arguments are infinity.  based on the patch by cremno</div><div class='del'>-	  phobia &lt;cremno AT mail.ru&gt; in [ruby-core:62310].  [Feature #9799]</div><div class='del'>-</div><div class='del'>-Sun May  4 03:46:42 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.httpdate): Always return a UTC Time object.</div><div class='del'>-</div><div class='del'>-Sun May  4 03:26:39 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.make_time): Refactored.</div><div class='del'>-</div><div class='del'>-Sun May  4 02:53:17 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.rfc2822): Fix year completion.</div><div class='del'>-	  Produce fixed-offset time object if appropriate.</div><div class='del'>-	  (Time.xmlschema): Produce fixed-offset time object if appropriate.</div><div class='del'>-</div><div class='del'>-Sat May  3 23:52:20 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (make_time): Produce fixed-offset time object if</div><div class='del'>-	  appropriate.</div><div class='del'>-	  (Time.strptime): Use d[:zone] instead of d[:offset].</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (Time.w3cdtf): Produce fixed-offset time object if</div><div class='del'>-	  appropriate.</div><div class='del'>-</div><div class='del'>-Sat May  3 20:21:38 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (Time.strptime): Use d[:offset] if d[:seconds] is not</div><div class='del'>-	  given.</div><div class='del'>-	  Reported by tadayoshi funaba.  [ruby-core:62322]</div><div class='del'>-</div><div class='del'>-Sat May  3 04:04:16 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (parse_comp): replace ALLOCA_N with ALLOCV_N/ALLOCV_END</div><div class='del'>-	  [Bug #9608]</div><div class='del'>-	* rational.c (read_digits): ditto</div><div class='del'>-</div><div class='del'>-Sat May  3 00:06:30 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (HAVE_STRUCT_STATVFS_F_BASETYPE): File::Statfs#fstypename</div><div class='del'>-	  is supported on AIX, HP-UX, and Solaris, by using the value of</div><div class='del'>-	  struct statvfs.f_basetype.</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct</div><div class='del'>-	  statvfs.f_basetype which is available on AIX, HP-UX, and Solaris.</div><div class='del'>-</div><div class='del'>-Fri May  2 21:04:02 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (next_id): no reason to set ID_STATIC_SYM here, as ID</div><div class='del'>-	  returned by rb_intern3 can be a dynamic symbol and the static</div><div class='del'>-	  symbol flag is set otherwise.  [Bug #9787]</div><div class='del'>-</div><div class='del'>-Fri May  2 11:32:51 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb (test_seek, test_seek_symwhence): defer</div><div class='del'>-	  File::Statfs#type call which may not be implemented, to mitigate</div><div class='del'>-	  errors on platforms where SEEK_DATA is available but f_type in</div><div class='del'>-	  struct statfs is not.  [ruby-dev:48154] [Bug #9789]</div><div class='del'>-</div><div class='del'>-Fri May  2 10:37:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id_attrset): turn dynamically interned Symbol into</div><div class='del'>-	  an ID, since rb_str_dynamic_intern returns a Symbol but not an</div><div class='del'>-	  ID.  [ruby-core:62226] [Bug #9787]</div><div class='del'>-</div><div class='del'>-Thu May  1 22:19:34 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: Change AND condition to nested condition.</div><div class='del'>-</div><div class='del'>-Thu May  1 00:36:26 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (FSTATFS): check availability of struct statfs and</div><div class='del'>-	  struct statvfs in addition to fstatfs(2) and fstatvfs(2).</div><div class='del'>-	  This fixes error in Solaris. [Bug #9788] [ruby-dev:48145]</div><div class='del'>-</div><div class='del'>-Wed Apr 30 19:46:23 2014  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_after_sweep): suppress unnecessary expanding heap.</div><div class='del'>-	  Tomb heap pages are freed pages here, so expanding heap is</div><div class='del'>-	  not required.</div><div class='del'>-</div><div class='del'>-Wed Apr 30 17:58:40 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record</div><div class='del'>-	  it is bmethod frame.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame</div><div class='del'>-	  is VM_FRAME_FLAG_BMETHOD.</div><div class='del'>-	  [Bug #9759]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename rb_thread_t::passed_me to</div><div class='del'>-	  rb_thread_t::passed_bmethod_me to clarify the usage.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_bmethod_body): use renamed member.</div><div class='del'>-</div><div class='del'>-Wed Apr 30 17:06:49 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_id_attrset): pin down dynamic symbol only. it is</div><div class='del'>-	  possible that attrset ID can be registered as a static symbol</div><div class='del'>-	  after the corresponding attrget ID has been registered as a</div><div class='del'>-	  dynamic, and then the latter may be collected.</div><div class='del'>-	  [ruby-core:62226] [Bug #9787]</div><div class='del'>-</div><div class='del'>-Tue Apr 29 14:17:57 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: Rescue LoadError on etc.so for miniruby.</div><div class='del'>-	  Revert r45707, r45711, r45717.</div><div class='del'>-</div><div class='del'>-Tue Apr 29 12:50:02 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: Don't need to define fu_get_gid and fu_get_gid in</div><div class='del'>-	  rescue LoadError on 'etc'.</div><div class='del'>-</div><div class='del'>-Tue Apr 29 10:21:38 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (symbols_i): like r45492, call rb_gc_resurrect().</div><div class='del'>-</div><div class='del'>-Tue Apr 29 04:29:05 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (HAVE_STRUCT_STATFS_T_F_FSTYPENAME): Add new macro for</div><div class='del'>-	  statfs_t.</div><div class='del'>-	* file.c (HAVE_STRUCT_STATFS_T_F_TYPE): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_io_statfs): check FSTATFS macro only instead of</div><div class='del'>-	  HAVE_FSTATFS and HAVE_FSTATVFS.</div><div class='del'>-</div><div class='del'>-	* file.c (statfs_type): use new macro.</div><div class='del'>-	* file.c (statfs_fstypename): ditto.</div><div class='del'>-	* file.c (statfs_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 29 00:20:26 2014  Rajarshi Das  &lt;rajarshid@cybage.com&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_literal.rb: fix typo of "dynamic".  [ci skip]</div><div class='del'>-</div><div class='del'>-	* regexp.rdoc: fix typo of "organized".  [ci skip]</div><div class='del'>-</div><div class='del'>-	* lib/session.rb: fix typo of "recognized".  [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Apr 28 21:40:27 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (HAVE_STRUCT_STATFS_F_TYPE): check struct statfs.f_type</div><div class='del'>-	  to support OpenBSD.</div><div class='del'>-</div><div class='del'>-	* file.c (statfs_type): use above macro to switch.</div><div class='del'>-</div><div class='del'>-	* file.c (statfs_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 28 18:06:08 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check struct statvfs and struct statvfs.f_fstypename.</div><div class='del'>-</div><div class='del'>-	* configure.in: on NetBSD fstatfs is obsoleted.</div><div class='del'>-</div><div class='del'>-	* file.c: support NetBSD for File::Statfs.</div><div class='del'>-</div><div class='del'>-Mon Apr 28 17:42:42 2014  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: This argument must be a pointer.</div><div class='del'>-</div><div class='del'>-Mon Apr 28 17:40:15 2014  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Fix typos. These are undefined variables.</div><div class='del'>-</div><div class='del'>-Sun Apr 27 19:39:42 2014  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strptime.c (date__strptime_internal): do not</div><div class='del'>-	  overwrite century.</div><div class='del'>-</div><div class='del'>-Sat Apr 26 11:50:08 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (test_flat_map): Added test for flat_map.</div><div class='del'>-	  Contribute from @igaiga. [fix GH-598]</div><div class='del'>-</div><div class='del'>-Sat Apr 26 10:55:33 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): make copy a first hash not to modify</div><div class='del'>-	  the argument itself.  keyword splat should be non-destructive.</div><div class='del'>-	  [ruby-core:62161] [Bug #9776]</div><div class='del'>-</div><div class='del'>-Sat Apr 26 08:05:36 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_rlimit_nofile): Don't limit</div><div class='del'>-	  RLIMIT_NOFILE too small.</div><div class='del'>-	  This fix sporadic "[ASYNC BUG] thread_timer: select" on GNU/Linux.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 22:54:34 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (rmdir): rescue Errno::EEXIST in addition to</div><div class='del'>-	  ENOTEMPTY (and ENOENT), because SUSv3 describes that "If the</div><div class='del'>-	  directory is not an empty directory, rmdir() shall fail and set</div><div class='del'>-	  errno to [EEXIST] or [ENOTEMPTY]" and Solaris uses EEXIST.</div><div class='del'>-	  [Bug #9571] [ruby-dev:48017]</div><div class='del'>-</div><div class='del'>-Fri Apr 25 19:16:30 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb: Don't rescue LoadError for 'etc' extension.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 14:55:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_func___builtin_unreachable): try with an</div><div class='del'>-	  external variable not only by a warning, which might not be</div><div class='del'>-	  shown due to the optimization.  [ruby-core:61647] [Bug #9665]</div><div class='del'>-</div><div class='del'>-Fri Apr 25 13:11:49 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: NetBSD's ksh, used by configure, needs escapes.</div><div class='del'>-</div><div class='del'>-Fri Apr 25 12:51:08 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: correct pthread_setname_np's prototype on NetBSD.</div><div class='del'>-	  [Bug #9586]</div><div class='del'>-</div><div class='del'>-Thu Apr 24 23:17:25 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (fu_get_uid, fu_get_gid): Etc.getpwnam/getgrnam may</div><div class='del'>-	  returns nil.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (su): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 22:55:22 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_io.rb: Add etc.so to $" before require 'tmpdir'.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 21:09:55 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: fix broken link.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 20:53:02 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: Don't need to rescue LoadError for etc.so.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 17:39:53 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (statfs_inspect): suppress warnings.</div><div class='del'>-	  assume those values won't be larger than LONG_LONG_MAX.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 11:53:28 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_initialize): SYMID on a value</div><div class='del'>-	  other than Symbol is an undefined behavior.  fix up r31699.</div><div class='del'>-	  [ruby-core:62142] [Bug #9771]</div><div class='del'>-</div><div class='del'>-Thu Apr 24 11:21:37 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_sym2id, rb_sym2id_without_pindown): return 0 for</div><div class='del'>-	  non-symbol values, for the time being.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 05:50:13 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (dsym_node_gen): like r45492, call rb_gc_resurrect().</div><div class='del'>-</div><div class='del'>-Wed Apr 23 20:36:22 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/extconf.rb: Build ext/etc unconditionally.</div><div class='del'>-</div><div class='del'>-Wed Apr 23 14:10:50 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (statfs_fsid): remove statfs.f_fsid because it doesn't return</div><div class='del'>-	  meaningful value portably. http://togetter.com/li/658517</div><div class='del'>-</div><div class='del'>-Wed Apr 23 11:03:41 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_write): use rb_str_append to</div><div class='del'>-	  reuse coderange bits other than ASCII-8BIT, and keep</div><div class='del'>-	  taintedness.  [ruby-dev:48118] [Bug #9769]</div><div class='del'>-</div><div class='del'>-Wed Apr 23 00:43:00 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (ustatfs): implementation of</div><div class='del'>-	  statfs(2) clone. [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* file.c (rb_io_statfs): use above function.</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/Makefile.sub (struct statfs): available.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 23:56:24 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable.</div><div class='del'>-</div><div class='del'>-	* configure.in (fstatfs): check it.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 22:15:51 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_io_statfs): need to define even if the system doesn't have</div><div class='del'>-	  fstatfs(2).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile#test_statfs): skip if IO#stafs is not</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-Tue Apr 22 19:32:48 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: newly added a class File::Statfs. (experimental)</div><div class='del'>-</div><div class='del'>-Tue Apr 22 08:22:33 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_increase): don't cause GC by malloc_increase</div><div class='del'>-	  when memop type is MEMOP_TYPE_REALLOC.</div><div class='del'>-</div><div class='del'>-	  GC at realloc is not well maintained.</div><div class='del'>-	  We need a time to make it safe.</div><div class='del'>-	  [ruby-dev:48117]</div><div class='del'>-</div><div class='del'>-Tue Apr 22 06:54:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_increase): run full mark if 0x04 bit is</div><div class='del'>-	  set in ruby_gc_stress.  [ruby-core:62103] [Feature #9761]</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_increase): run GC after realloc not only</div><div class='del'>-	  malloc and calloc by GC.stress.  [ruby-core:62103] [Feature #9761]</div><div class='del'>-</div><div class='del'>-Mon Apr 21 19:12:20 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable): coderange is always</div><div class='del'>-	  ENC_CODERANGE_VALID if the string is ASCII-8BIT and already has a non</div><div class='del'>-	  ASCII character.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 19:02:44 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (coderange_scan): remove useless condition `p &lt; e` after</div><div class='del'>-	  search_nonascii.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 18:55:21 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/string/coderange.c: add Bug::String.new#coderange_scan</div><div class='del'>-	  to explicitly scan coderange.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 18:19:35 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (coderange_scan): remove unused logic.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_coderange_scan_restartable): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 21 14:11:48 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_putc): fix for non-ascii</div><div class='del'>-	  encoding, like as IO#putc.  [ruby-dev:48114] [Bug #9765]</div><div class='del'>-</div><div class='del'>-Sun Apr 20 12:57:15 2014  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach_check): change start point of search at check</div><div class='del'>-	  from top to current. [ruby-dev:48047] [Bug #9646]</div><div class='del'>-</div><div class='del'>-Sun Apr 20 08:41:33 2014  Andrew DeMaria  &lt;ademariad@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (link_command, libpathflag, create_makefile): prefer</div><div class='del'>-	  user specified `$LIBPATH` than `$DEFLIBPATH`.  [ruby-core:62100]</div><div class='del'>-	  [ruby-trunk - Bug #9760]</div><div class='del'>-</div><div class='del'>-Sun Apr 20 06:01:18 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_writebarrier): drop special case for big hash/array</div><div class='del'>-	  [Bug #9518]</div><div class='del'>-</div><div class='del'>-Sat Apr 19 15:38:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): flush cmdarg flags inside left-paren in a</div><div class='del'>-	  command argument, to allow parenthesed do-block as an argument</div><div class='del'>-	  without arguments parentheses.  [ruby-core:61950] [Bug #9726]</div><div class='del'>-</div><div class='del'>-Sat Apr 19 10:07:24 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (struct RBignum): Use size_t for len.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big_new): Use size_t instead of long to</div><div class='del'>-	  specify the size of bignum.</div><div class='del'>-	  (rb_big_resize): Ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c: Follow above changes.</div><div class='del'>-</div><div class='del'>-	* rational.c: Follow above changes.</div><div class='del'>-</div><div class='del'>-	* marshal.c: Follow above changes.</div><div class='del'>-</div><div class='del'>-Sat Apr 19 00:32:07 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2long): Returns a long.</div><div class='del'>-	  (rb_num2ulong): Returns a unsigned long.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2long): Returns a long.</div><div class='del'>-	  (rb_big2ulong): Returns a unsigned long.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: Follow above changes.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: Follow above changes.</div><div class='del'>-	  (rb_num2long_inline): No need to cast.</div><div class='del'>-	  (rb_num2ulong_inline): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 19 00:17:20 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (SHARABLE_SUBSTRING_P): predicate if substring can be</div><div class='del'>-	  shared with the original string.  true if just at the end of the</div><div class='del'>-	  original string, for the time being.  all substring will be able to</div><div class='del'>-	  be shared in the future.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 21:48:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new_frozen): consider the shared string at</div><div class='del'>-	  middle.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq, rb_str_substr, str_byte_substr): share</div><div class='del'>-	  middle of a string.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 15:40:05 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: use uintptr_t instead of VALUE because they are not ruby</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 14:51:42 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: check str_strlen's argument, and add comment or</div><div class='del'>-	  use NULL if simply it uses str's enc.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 14:32:40 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_strlen): use enc_strlen if the coderange is known.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 14:21:21 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (enc_strlen): move UTF-8 optimization from str_strlen to</div><div class='del'>-	  enc_strlen.</div><div class='del'>-</div><div class='del'>-Fri Apr 18 08:50:18 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_getcwd_malloc): check if getcwd allocates</div><div class='del'>-	  buffer if NULL is given [ruby-core:62072] [Bug #9752]</div><div class='del'>-</div><div class='del'>-Thu Apr 17 16:28:10 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb: [DOC] Update Thread::exclusive docs by @stevenharman.</div><div class='del'>-</div><div class='del'>-Thu Apr 17 10:03:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#copy_entry): update rdoc about</div><div class='del'>-	  preserve option and permissions, following r31123.</div><div class='del'>-	  [ruby-core:62065] [Bug #9748]</div><div class='del'>-</div><div class='del'>-Wed Apr 16 23:47:36 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (dont_recycle_block_arg): fix condition to recycle block</div><div class='del'>-	  argument.  lambda with rest can get internal array directly.</div><div class='del'>-	  [ruby-core:62060] [Bug #9749]</div><div class='del'>-</div><div class='del'>-Wed Apr 16 09:51:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (ossl_pkey_verify): as EVP_VerifyFinal()</div><div class='del'>-	  finalizes only a copy of the digest context, the context must be</div><div class='del'>-	  cleaned up after initialization by EVP_MD_CTX_cleanup() or a</div><div class='del'>-	  memory leak will occur.  [ruby-core:62038] [Bug #9743]</div><div class='del'>-</div><div class='del'>-Tue Apr 15 19:36:42 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (rb_w32_cmdvector): removed.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit): use WCHAR version of GetCommandLine()</div><div class='del'>-	  internally.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_cmdvector): renamed from rb_w32_cmdvector.  use</div><div class='del'>-	  WCHAR* instead of char* internally.</div><div class='del'>-</div><div class='del'>-	these changes are expected to not changing the behavior yet.</div><div class='del'>-</div><div class='del'>-Tue Apr 15 19:26:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: Re-generate extmk.mk and dummy makefiles only if</div><div class='del'>-	  really required.</div><div class='del'>-	  This fixes a problem to run multiple test-all concurrently as:</div><div class='del'>-	  make test-all &amp; make test-all &amp; make test-all &amp; ...</div><div class='del'>-</div><div class='del'>-Tue Apr 15 12:49:53 2014  Sam Rawlins  &lt;sam.rawlins@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_slice, enum_each_cons): make more efficient by</div><div class='del'>-	  allocating less and recycling block argument arrays if possible.</div><div class='del'>-	  [Fixes GH-596]</div><div class='del'>-</div><div class='del'>-Mon Apr 14 18:44:45 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): get base addrs in fill_lines to use it</div><div class='del'>-	  with dladdr_fbases introduced at r45563.</div><div class='del'>-	  it didn't get before if the executable is not pie.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 18:05:48 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (main_exe_path): support FreeBSD.</div><div class='del'>-	  At least sh, csh, tcsh, bash, and zsh sets realpath of the main</div><div class='del'>-	  executable for dladdr, but gdb doesn't.</div><div class='del'>-</div><div class='del'>-Mon Apr 14 17:20:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (umethod_bind): use the ancestor iclass instead of new</div><div class='del'>-	  iclass to get rid of infinite recursion, if the defined module</div><div class='del'>-	  is already included.  [ruby-core:62014] [Bug #9721]</div><div class='del'>-</div><div class='del'>-Sun Apr 13 12:46:58 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (SIZEOF_BDIGIT): Renamed from SIZEOF_BDIGITS.</div><div class='del'>-</div><div class='del'>-	* internal.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c: Ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 13 10:18:09 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Unused target, $(MKMAIN_CMD), removed.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (MKMAIN_CMD): Unused macro removed.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MKMAIN_CMD): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 12 22:11:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_to_proc), proc.c (rb_block_clear_env_self): clear</div><div class='del'>-	  caller's self which is useless, so that it can get collected.</div><div class='del'>-	  [Fixes GH-592]</div><div class='del'>-</div><div class='del'>-Sat Apr 12 09:26:48 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c:  [DOC] Document OpenSSL::OCSP.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 18:52:38 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ARY_SET): added.</div><div class='del'>-</div><div class='del'>-	  ARY_SET() is same functionality of RARRAY_ASET(), but</div><div class='del'>-	  it has an assertion (`ary' doesn't have shared array).</div><div class='del'>-</div><div class='del'>-Fri Apr 11 16:54:26 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: make shared arrays WB-protected objects.</div><div class='del'>-</div><div class='del'>-	  Shared arrays were WB-unprotected object because</div><div class='del'>-	  sharing array can modify shared array's buffer</div><div class='del'>-	  if it occupied shared array.</div><div class='del'>-</div><div class='del'>-	  [sharing array (ary)] -&gt; [shared array (shared)] -&gt; &lt;buff&gt;</div><div class='del'>-	                |                                       A</div><div class='del'>-	                +---------------------------------------+</div><div class='del'>-	             write `buff' with WB(ary, &amp;buff[i], obj)</div><div class='del'>-	             -&gt; if `ary' and `shared' are old, then only `ary'</div><div class='del'>-	                will be remembered.</div><div class='del'>-	             -&gt; traverse from `ary'. But `shared' is old, so</div><div class='del'>-	                that written `obj' is not marked.</div><div class='del'>-</div><div class='del'>-	  It cause WB miss so that shared arrays were WB-unprotected.</div><div class='del'>-	  (WB-unprotected objects are marked everytime if it is living)</div><div class='del'>-</div><div class='del'>-	  This patch insert WB() for `shared' if it is needed.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 15:05:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_call_with_block, umethod_bind): call with</div><div class='del'>-	  IClass including the module for a module instance method.</div><div class='del'>-	  [ruby-core:61936] [Bug #9721]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): allow bound</div><div class='del'>-	  UnboundMethod case.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 12:02:30 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): set base address</div><div class='del'>-	  which is retrieved from dladdr to dladdr_fbases, to skip already</div><div class='del'>-	  parsed objects.</div><div class='del'>-</div><div class='del'>-Fri Apr 11 12:44:50 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_reject): may be turned into a shared array during</div><div class='del'>-	  the given block.  [ruby-dev:48101] [Bug #9727]</div><div class='del'>-</div><div class='del'>-Thu Apr 10 23:41:21 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (Net::FTP#login): [DOC] The default password for</div><div class='del'>-	  anonymous login was changed to "anonymous@" in r25313.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 19:22:58 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: remove useless `assert'.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 19:11:11 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): remember shared array owner if a shared</div><div class='del'>-	  array owner is promoted and a shared array is not promoted.</div><div class='del'>-</div><div class='del'>-	  Now, shared array is WB-unprotected so that shared arrays are not</div><div class='del'>-	  promoted.  All objects referred from shared array should be marked</div><div class='del'>-	  correctly.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:61919] [ruby-trunk - Bug #9718]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 18:57:12 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_verify_internal_consistency): move lines and enable</div><div class='del'>-	  allrefs_dump() on RGENGC_CHECK_MODE &gt;= 4.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 15:01:06 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (append_obj): clear allocated memory.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): free `base_addrs'.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 14:40:18 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_writebarrier_unprotect_promoted): disable to dump debug</div><div class='del'>-	  message when RGENGC_CHECK_MODE == 0.</div><div class='del'>-</div><div class='del'>-Thu Apr 10 08:13:47 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (check_stack_overflow): Don't use ucontext_t if ucontext.h</div><div class='del'>-	  is not available.</div><div class='del'>-	  Fixes build on Android (x86).</div><div class='del'>-</div><div class='del'>-Wed Apr  9 23:22:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_current_machine_context): Call SET_STACK_END.</div><div class='del'>-	  This reverts a hunk of r40703 by ko1.</div><div class='del'>-	  This fixes [ruby-dev:48098] [Bug #9717].</div><div class='del'>-</div><div class='del'>-Wed Apr  9 21:02:04 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (OBJ2UID1): Defined even if getpwnam_r is not usable.</div><div class='del'>-	  (OBJ2GID1): Defined even if getgrnam_r is not usable.</div><div class='del'>-	  This fixes compilation error on Android.</div><div class='del'>-</div><div class='del'>-Wed Apr  9 15:16:59 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_default_internal): fix rdoc.  `__FILE__` is</div><div class='del'>-	  in filesystem encoding but not `default_internal`.</div><div class='del'>-	  [ruby-core:61894] [Bug #9713]</div><div class='del'>-</div><div class='del'>-Wed Apr  9 14:43:00 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: more long timeout.</div><div class='del'>-	  This test failed under RGENGC_CHECK_MODE &gt;= 2.</div><div class='del'>-</div><div class='del'>-Wed Apr  9 13:07:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: get rid of __builtin_setjmp/__builtin_longjmp on</div><div class='del'>-	  x64-mingw, which causes SEGV with callcc.</div><div class='del'>-	  [ruby-core:61887] [Bug #9710]</div><div class='del'>-</div><div class='del'>-Wed Apr  9 12:44:54 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): should round up the capacity by 4KiB,</div><div class='del'>-	  but not number of rooms.  [ruby-core:61886] [Bug #9709]</div><div class='del'>-</div><div class='del'>-Tue Apr  8 22:55:32 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#dir_config): [DOC] Improve</div><div class='del'>-	  documentation.</div><div class='del'>-</div><div class='del'>-Tue Apr  8 22:31:44 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename `RGENGC_THREEGEN' to `RGENGC_AGE2_PROMOTION'.</div><div class='del'>-</div><div class='del'>-	* gc.c (rgengc_rememberset_mark): don't promote, but remain in</div><div class='del'>-	  remember set for infant objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTE_INFANT, RVALUE_PROMOTE_YOUNG): count numbers</div><div class='del'>-	  in these functions.</div><div class='del'>-</div><div class='del'>-Mon Apr  7 21:11:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.</div><div class='del'>-	  Reported by Saravana kumar.  [ruby-core:61820] [Bug #9697]</div><div class='del'>-	  Fixed by Heesob Park.  [ruby-core:61868]</div><div class='del'>-</div><div class='del'>-Mon Apr  7 07:20:23 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb (do_rpc): don't check body length.</div><div class='del'>-	  If HTTP content-encoding is used, the length may be different.</div><div class='del'>-	  [Bug #8182] [ruby-core:53811]</div><div class='del'>-</div><div class='del'>-Mon Apr  7 02:39:48 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Matrix#cofactor [fix GH-568]</div><div class='del'>-	  Add first_minor [fix GH-568]</div><div class='del'>-	  Handle empty diagonal matrix case [fix GH-576]</div><div class='del'>-	  Patches by gogotanaka</div><div class='del'>-</div><div class='del'>-Sun Apr  6 08:52:50 2014  Bugra Barin  &lt;bugrabarin@hotmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): use wchar version to load a library in</div><div class='del'>-	  non-ascii path on Windows.  based on the patch by Bugra Barin</div><div class='del'>-	  &lt;bugrabarin AT hotmail.com&gt; in [ruby-core:61845].  [Bug #9699]</div><div class='del'>-</div><div class='del'>-Sat Apr  5 19:36:33 2014  Tadayoshi Funaba  &lt;tadf@dotrb.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_cmp): should compare with #&lt;.</div><div class='del'>-</div><div class='del'>-Sat Apr  5 00:31:21 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb (rl_hook_func_t): check pointer type.</div><div class='del'>-	  [ruby-dev:48089] [Bug #9702]</div><div class='del'>-</div><div class='del'>-Fri Apr  4 07:13:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func___builtin_setjmp): should not skip</div><div class='del'>-	  flags restoration in RUBY_WERROR_FLAG by `break`.</div><div class='del'>-	  [ruby-dev:48086] [Bug #9698]</div><div class='del'>-</div><div class='del'>-Wed Apr  2 21:50:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp()</div><div class='del'>-	  in Apple LLVM 5.1 (LLVM 3.4svn) uses `void**`, not `jmp_buf`.</div><div class='del'>-	  [Bug #9692]</div><div class='del'>-</div><div class='del'>-Wed Apr  2 20:57:15 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, gc.h (rb_objspace_each_objects_without_setup):</div><div class='del'>-	  Add a new (hidden) C-API to iterate objspace snapshot.</div><div class='del'>-</div><div class='del'>-	  This API is not safe to call any C-APIs in a given callback</div><div class='del'>-	  function. Be careful to use this C-API.</div><div class='del'>-</div><div class='del'>-Wed Apr  2 17:43:17 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a</div><div class='del'>-	  variable as the second argument of __builtin_longjmp().</div><div class='del'>-	  [ruby-core:61800] [Bug #9692]</div><div class='del'>-</div><div class='del'>-Wed Apr  2 15:12:18 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Use redmine-2.x url for DeveloperHowto wiki.</div><div class='del'>-	  [ruby-core:60657] [Bug #9511]</div><div class='del'>-</div><div class='del'>-Wed Apr  2 11:46:29 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (Pathname#join): Fix error with</div><div class='del'>-	  empty args. Reported by ko1 via IRC.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (TestPathname#test_join): Add the</div><div class='del'>-	  test for above case.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 11:39:57 2014  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Symbol HeaderConverter: strip leading/trailing space.</div><div class='del'>-	  Reported by Skye Shaw</div><div class='del'>-	  [Fixes GH-575]</div><div class='del'>-</div><div class='del'>-Tue Apr  1 11:34:04 2014  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Don't attempt to convert nil headers.</div><div class='del'>-	  Reported by Skye Shaw</div><div class='del'>-</div><div class='del'>-Tue Apr  1 17:29:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/config_files.rb (ConfigFiles.download): show failed URI.</div><div class='del'>-	  [ruby-core:61792] [Bug #9690]</div><div class='del'>-</div><div class='del'>-Tue Apr  1 12:06:49 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): don't depend hard coded</div><div class='del'>-	  symbol '_start'.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): instead of above, get a dynamic symbol</div><div class='del'>-	  in the main executable and use it to know the base address.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (follow_debuglink0): use obj_info_t instead of</div><div class='del'>-	  line_info_t to handle object related data.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (main_exe_path): defined for Linux.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 08:58:39 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_str_dynamic_intern): set mark bit if dynamic symbol</div><div class='del'>-	  is before sweeping.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 07:37:00 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): use dynsym, which is used for dynamic</div><div class='del'>-	  linking and always exists, if there's no symtab.</div><div class='del'>-</div><div class='del'>-Tue Apr  1 07:27:15 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_print_backtrace): current implementation</div><div class='del'>-	  uses dladdr to get the path of objects.</div><div class='del'>-</div><div class='del'>-Mon Mar 31 23:57:45 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`.</div><div class='del'>-	  [ruby-core:61756] [Bug #9578]</div><div class='del'>-</div><div class='del'>-Mon Mar 31 17:23:50 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/memory_status.rb: require envutil before accessing EnvUtil</div><div class='del'>-	  module.  reported by ko1 via twitter.</div><div class='del'>-</div><div class='del'>-Mon Mar 31 10:28:01 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_init_table_with_size): update comment</div><div class='del'>-	  [Feature #9425]</div><div class='del'>-</div><div class='del'>-Sun Mar 30 23:39:26 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal):</div><div class='del'>-	  reset inherit flag of socket to avoid unintentional inheritance of</div><div class='del'>-	  socket.  note that the return value of SetHandleInformation() is not</div><div class='del'>-	  verified intentionally because old Windows may return an error.</div><div class='del'>-	  [Bug #9688] [ruby-core:61754]</div><div class='del'>-</div><div class='del'>-Sat Mar 29 13:04:22 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_before_sweep): cap `malloc_limit' to</div><div class='del'>-	  gc_params.malloc_limit_max.  It can grow and grow with such case:</div><div class='del'>-	    `loop{"a" * (1024 ** 2)}'</div><div class='del'>-	  [Bug #9687]</div><div class='del'>-</div><div class='del'>-	  This issue is pointed by Tim Robertson.</div><div class='del'>-	  http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/</div><div class='del'>-</div><div class='del'>-Fri Mar 28 19:32:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (not_a_member): extract name error and use same error</div><div class='del'>-	  messages.  based on the patch by Marcus Stollsteimer &lt;sto.mar AT</div><div class='del'>-	  web.de&gt; at [ruby-core:61721].  [Bug #9684]</div><div class='del'>-</div><div class='del'>-Fri Mar 28 09:21:54 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: update gemspec for psych-2.0.5</div><div class='del'>-</div><div class='del'>-Fri Mar 28 09:11:06 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version to</div><div class='del'>-	  libyaml-0.1.6 for CVE-2014-2525.</div><div class='del'>-	* ext/psych/yaml/config.h: ditto.</div><div class='del'>-	* ext/psych/yaml/scanner.c: ditto.</div><div class='del'>-	* ext/psych/yaml/yaml_private.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 27 18:58:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_regexp): set regexp for MatchData from string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_backref_set_string): create MatchData from string and</div><div class='del'>-	  set backref.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub),</div><div class='del'>-	  (scan_once, rb_str_scan, rb_str_partition): use rb_str_index</div><div class='del'>-	  instead of rb_reg_search() when pattern is a String.  based on</div><div class='del'>-	  the patch by Sam Rawlins &lt;sam.rawlins@gmail.com&gt; [Fixes GH-579]</div><div class='del'>-</div><div class='del'>-Thu Mar 27 11:58:55 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): check shdr[i].sh_type because even if</div><div class='del'>-	  .symtab section exists, the section's type can be SHT_NOBITS and</div><div class='del'>-	  actual data doesn't exist in the file.</div><div class='del'>-	  revert r45441.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 14:57:35 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: inline must be static (for mswin).</div><div class='del'>-	  fixed build error introduced at r45426.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 14:33:00 2014  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (USE_SYMBOL_GC): enable Symbol GC by default (USE_SYMBOL_GC == 1).</div><div class='del'>-</div><div class='del'>-Tue Mar 25 22:57:11 2014  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: support Symbol GC. [ruby-trunk Feature #9634]</div><div class='del'>-	  See this ticket about Symbol GC.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h:</div><div class='del'>-	  Declare few functions.</div><div class='del'>-	  * rb_sym2id: almost same as old SYM2ID but support dynamic symbols.</div><div class='del'>-	  * rb_id2sym: almost same as old ID2SYM but support dynamic symbols.</div><div class='del'>-	  * rb_sym2str: almost same as `rb_id2str(SYM2ID(sym))` but not</div><div class='del'>-	    pin down a dynamic symbol.</div><div class='del'>-	  Declare a new struct.</div><div class='del'>-	  * struct RSymbol: represents a dynamic symbol as object in</div><div class='del'>-	    Ruby's heaps.</div><div class='del'>-	  Add few macros.</div><div class='del'>-	  * STATIC_SYM_P: check a static symbol.</div><div class='del'>-	  * DYNAMIC_SYM_P: check a dynamic symbol.</div><div class='del'>-	  * RSYMBOL: cast to RSymbol</div><div class='del'>-</div><div class='del'>-	* gc.c: declare RSymbol. support T_SYMBOL.</div><div class='del'>-</div><div class='del'>-	* internal.h: Declare few functions.</div><div class='del'>-	  * rb_gc_free_dsymbol: free up a dynamic symbol. GC call this</div><div class='del'>-	    function at a sweep phase.</div><div class='del'>-	  * rb_str_dynamic_intern: convert a string to a dynamic symbol.</div><div class='del'>-	  * rb_check_id_without_pindown: not pinning function.</div><div class='del'>-	  * rb_sym2id_without_pindown: ditto.</div><div class='del'>-	  * rb_check_id_cstr_without_pindown: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): String#intern and String#to_sym use</div><div class='del'>-	  rb_str_dynamic_intern.</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl: use LSB of ID as a flag for determining a</div><div class='del'>-	  static symbol, so we shift left other ruby_id_types.</div><div class='del'>-</div><div class='del'>-	* string.c: use rb_sym2str instead `rb_id2str(SYM2ID(sym))` to</div><div class='del'>-	  avoid pinning.</div><div class='del'>-</div><div class='del'>-	* load.c: use xx_without_pindown function at creating temporary ID</div><div class='del'>-	  to avoid pinning.</div><div class='del'>-</div><div class='del'>-	* object.c: ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c: ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-	* variable.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 13:25:54 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): loop reverse order not to overwrite</div><div class='del'>-	  the basis of base addresses comparison.</div><div class='del'>-</div><div class='del'>-	* addr2line.c: use uintptr_t instead of intptr_t for pointers.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): don't use syms.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_print_backtrace): ditto.</div><div class='del'>-</div><div class='del'>-	* addr2line.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 11:20:50 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): internal objects are not dumpable.</div><div class='del'>-	  [ruby-core:61677] [Bug #9674]</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (undumpable): ConditionVariable and Queue</div><div class='del'>-	  are not dumpable.  [ruby-core:61677] [Bug #9674]</div><div class='del'>-</div><div class='del'>-Wed Mar 26 10:36:39 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (follow_debuglink): show message if it closes opened</div><div class='del'>-	  (and maybe used) elf binary.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 10:34:25 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_line): pass and use offset instead of</div><div class='del'>-	  curobj_baseaddr.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 09:07:48 2014  Yutaka Kanemoto  &lt;kanemoto@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add --disable-pie. [Feature #9673]</div><div class='del'>-</div><div class='del'>-Wed Mar 26 08:47:04 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): don't run fill_lines multiple times.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 08:45:00 2014  Sam Rawlins  &lt;sam.rawlins@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: add prototype for rb_reg_search0</div><div class='del'>-</div><div class='del'>-	* re.c: rename rb_reg_search to rb_reg_search0, add set_backref_str</div><div class='del'>-	  argument to allow callers to indicate that they don't require the</div><div class='del'>-	  backref string to be allocated.</div><div class='del'>-</div><div class='del'>-	* string.c: don't allocate backref str if replacement string is provided</div><div class='del'>-</div><div class='del'>-	[GH-578] [Bug #9676] [ruby-core:61682]</div><div class='del'>-</div><div class='del'>-Wed Mar 26 08:29:43 2014  mo khan  &lt;mo@mokhan.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: fix spelling of Jim Weirich.  [Fixes GH-577]</div><div class='del'>-</div><div class='del'>-Wed Mar 26 01:55:45 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): a function to get must</div><div class='del'>-	  be a function in the main executable, whose absolute path is not</div><div class='del'>-	  available by dladdr, and ruby get it by /proc/self/exe on Linux.</div><div class='del'>-</div><div class='del'>-Wed Mar 26 01:34:50 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): skip if path is NULL.</div><div class='del'>-</div><div class='del'>-Tue Mar 25 23:57:17 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): only a newline after label should be</div><div class='del'>-	  significant.  [ruby-core:61658] [Bug #9669]</div><div class='del'>-</div><div class='del'>-Tue Mar 25 23:32:25 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary</div><div class='del'>-	  unshift.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb (TestPathname#test_join): add tests.</div><div class='del'>-</div><div class='del'>-Tue Mar 25 16:47:36 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_state_e, parser_params, f_arglist, parser_yylex):</div><div class='del'>-	  separate EXPR_LABELARG from EXPR_BEG and let newline significant,</div><div class='del'>-	  so that required keyword argument can place at the end of</div><div class='del'>-	  argument list without parentheses.  [ruby-core:61658] [Bug #9669]</div><div class='del'>-</div><div class='del'>-Mon Mar 24 22:19:56 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ripper_initialize): filename can not be modified.</div><div class='del'>-</div><div class='del'>-Mon Mar 24 15:19:47 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): fetch path of the</div><div class='del'>-	  executable from /proc/self/exe on Linux.</div><div class='del'>-</div><div class='del'>-Mon Mar 24 14:14:37 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Fix up default GC params by @csfrancis [fix GH-556]</div><div class='del'>-</div><div class='del'>-Mon Mar 24 13:13:36 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (parse_debug_line_cu): explicitly specify signed char</div><div class='del'>-	  because DWARF's line_Base is signed char and char maybe unsigned.</div><div class='del'>-	  patched by Rei Odaira. [ruby-dev:48068] [Bug #9654]</div><div class='del'>-</div><div class='del'>-Sun Mar 23 11:03:50 2014  Kohei Suzuki  &lt;eagletmt@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_without_cache): me-&gt;klass is 0</div><div class='del'>-	  for a method aliased in a module.  [ruby-core:61636] [Bug #9663]</div><div class='del'>-</div><div class='del'>-Sun Mar 23 08:12:27 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (hash_pos): use bitwise AND to avoid slow modulo op</div><div class='del'>-	  (new_size): power-of-two sizes for hash_pos change</div><div class='del'>-	  (st_numhash): adjust for common keys due to lack of prime modulo</div><div class='del'>-	  [Feature #9425]</div><div class='del'>-	* hash.c (rb_any_hash): right shift for symbols</div><div class='del'>-	* benchmark/bm_hash_aref_miss.rb: added to show improvement</div><div class='del'>-	* benchmark/bm_hash_aref_sym_long.rb: ditto</div><div class='del'>-	* benchmark/bm_hash_aref_str.rb: ditto</div><div class='del'>-	* benchmark/bm_hash_aref_sym.rb: ditto</div><div class='del'>-	* benchmark/bm_hash_ident_num.rb: added to prevent regression</div><div class='del'>-	* benchmark/bm_hash_ident_obj.rb: ditto</div><div class='del'>-	* benchmark/bm_hash_ident_str.rb: ditto</div><div class='del'>-	* benchmark/bm_hash_ident_sym.rb: ditto</div><div class='del'>-</div><div class='del'>-Sat Mar 22 22:56:45 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): compare the file names of object in which</div><div class='del'>-	  symbols exist. [Bug #9654] [ruby-dev:48058]</div><div class='del'>-</div><div class='del'>-Sat Mar 22 06:46:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (escape_html, unescape_html): make synonyms</div><div class='del'>-	  aliases instead of wrapper methods.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (escape_element, unescape_element): ditto.</div><div class='del'>-	  [Fixes GH-573]</div><div class='del'>-</div><div class='del'>-Fri Mar 21 21:57:34 2014  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix a build problem with clang and --with-opt-dir.</div><div class='del'>-	  If ruby is configured with --with-opt-dir=dir when using clang</div><div class='del'>-	  as compiler, a warning `clang: warning: argument unused during</div><div class='del'>-	  compilation: '-I dir'` is emitted almost every time clang</div><div class='del'>-	  compiles a file.  Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes</div><div class='del'>-	  any output from the compiler as fatal error, and the check thus</div><div class='del'>-	  fails due to the warning.  This is an attempt to fix the problem</div><div class='del'>-	  by adding a flag -Qunused-arguments to CFLAGS locally in the</div><div class='del'>-	  function to suppress the warning. [ruby-dev:48062] [Bug #9658]</div><div class='del'>-	  [Fixes GH-571] https://github.com/ruby/ruby/pull/571</div><div class='del'>-</div><div class='del'>-Fri Mar 21 16:31:56 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: [DOC] Fix call-seq for GC.start by @jasonrclark [Fixes GH-572]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/572</div><div class='del'>-</div><div class='del'>-Thu Mar 20 11:37:28 2014  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Fixed a broken regular expression that was causing</div><div class='del'>-	  CSV to miss escaping some special meaning characters when used</div><div class='del'>-	  in parsing.</div><div class='del'>-	  Reported by David Unric</div><div class='del'>-	  [ruby-core:54986] [Bug #8405]</div><div class='del'>-</div><div class='del'>-Thu Mar 20 16:53:07 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_increase): should not invoke</div><div class='del'>-	  garbage_collect_with_gvl() here on non-ruby threads.</div><div class='del'>-</div><div class='del'>-	  Should just ignore the malloc_increase.</div><div class='del'>-</div><div class='del'>-	  This issue is pointed by Eric Wong [ruby-core:61519].</div><div class='del'>-</div><div class='del'>-Thu Mar 20 13:05:16 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_alloc): use RARRAY_CONST_PTR() instead of</div><div class='del'>-	  RARRAY_PTR().</div><div class='del'>-</div><div class='del'>-Thu Mar 20 12:59:39 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_obj_call_init, rb_class_new_instance):</div><div class='del'>-	  constify a parameter (VALUE *).</div><div class='del'>-	  I believe this incompatibility doesn't break any code.</div><div class='del'>-	  However, if you have trouble, please tell us.</div><div class='del'>-</div><div class='del'>-	* eval.c, object.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 20 12:31:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_without_cache): get rid of</div><div class='del'>-	  infinite recursion at aliases in a subclass and a superclass.</div><div class='del'>-	  return actually defined class for other than singleton class.</div><div class='del'>-	  [ruby-core:60431] [Bug #9475]</div><div class='del'>-</div><div class='del'>-Wed Mar 19 17:13:06 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mload): freeze and preserve marshal-loaded time zone</div><div class='del'>-	* test/ruby/test_time.rb: add test for GC on loaded object</div><div class='del'>-	  [Bug #9652]</div><div class='del'>-</div><div class='del'>-Tue Mar 18 23:20:12 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): Unify to use NIL_P.</div><div class='del'>-</div><div class='del'>-Tue Mar 18 22:03:41 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): Use file path even if scope is</div><div class='del'>-	  given. Related to [ruby-core:56099] [Bug #8662] and r42103.</div><div class='del'>-</div><div class='del'>-Mon Mar 17 13:17:47 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (enumerator_block_call): use RARRAY_CONST_PTR()</div><div class='del'>-	  instead of RARRAY_PTR().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step_size): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_apply): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_cmd): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 17 10:11:59 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): delete existing entry on redefinition</div><div class='del'>-	  [Bug #9645]</div><div class='del'>-	* test/ruby/test_const.rb (test_redefinition): test for leak</div><div class='del'>-</div><div class='del'>-Sun Mar 16 21:33:01 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521]</div><div class='del'>-	  Based on patch by @stomar</div><div class='del'>-</div><div class='del'>-Sun Mar 16 13:21:40 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): insert a space between option and its</div><div class='del'>-	  argument for non-GCC compilers.  [ruby-core:61429] [Bug #9624]</div><div class='del'>-</div><div class='del'>-Sun Mar 16 08:05:06 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_xcalloc): fix GC accounting</div><div class='del'>-</div><div class='del'>-Sun Mar 16 06:33:35 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): return address is just after calling</div><div class='del'>-	  address. Therefore noreturn function with tail call's return</div><div class='del'>-	  address may be in another function.</div><div class='del'>-</div><div class='del'>-Sun Mar 16 05:51:55 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543]</div><div class='del'>-</div><div class='del'>-Sat Mar 15 18:54:03 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: remove refinement from documentable directories.</div><div class='del'>-</div><div class='del'>-Sat Mar 15 11:02:58 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): check for each options to control</div><div class='del'>-	  symbol resolution.  [ruby-core:61429] [Bug #9624]</div><div class='del'>-</div><div class='del'>-Sat Mar 15 07:02:35 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_update): remove unnecessary assignment</div><div class='del'>-</div><div class='del'>-Fri Mar 14 14:58:38 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): fetch symbol names from ELF binary's</div><div class='del'>-	  symbol table if it is built with cc -g and not stripped.</div><div class='del'>-	  Now ruby can show static symbols on Linux though glibc's</div><div class='del'>-	  backtrace_symbols(3) don't show them.</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): use dladdr(3) to</div><div class='del'>-	  detect what object file declares the symbol because</div><div class='del'>-	  dl_iterate_phdr can't detect the main executable file</div><div class='del'>-	  and codes on the stack.</div><div class='del'>-	  NOTE: signal trampolines sometimes on the user stack. (FreeBSD)</div><div class='del'>-</div><div class='del'>-	* addr2line.c (rb_dump_backtrace_with_lines): stop showing</div><div class='del'>-	  backtrace if the function's name is main.</div><div class='del'>-	  NOTE: FreeBSD's backtrace (libexecinfo) shows _start and</div><div class='del'>-	  an additional address. Why it doesn't remove them on dladdr phase</div><div class='del'>-	  is, dladdr may fail to detect the main function but detect</div><div class='del'>-	  as _start function. Therefore it must be after scanning</div><div class='del'>-	  the symbol table and getting correct name.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Fri Mar 14 12:07:46 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc: [DOC] Single quote strings allows escape</div><div class='del'>-	  of backslash as well, patch by @idupree [Fixes GH-553]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/553</div><div class='del'>-</div><div class='del'>-Fri Mar 14 01:18:24 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): add splattable argument.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_invoke_proc): disallow to splat when directly invoked.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg_complex, vm_callee_setup_arg):</div><div class='del'>-	  relax arity check of yielded lambda.  [ruby-core:61340] [Bug #9605]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb (TestRubyYieldGen#emu_bind_params): no</div><div class='del'>-	  longer raise ArgumentError when splatting to lambda.</div><div class='del'>-</div><div class='del'>-Thu Mar 13 23:51:02 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/win32/dln/libdlntest.c (dlntest_ordinal): no need to</div><div class='del'>-	  specify export in the source file because .def file do it.</div><div class='del'>-	  get rid of warning on linking.</div><div class='del'>-</div><div class='del'>-Wed Mar 12 11:19:03 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg): disable fastpath if splat</div><div class='del'>-	  argument, since argc may differ for each calls.</div><div class='del'>-	  [ruby-core:61422] [Bug #9622]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_callee_setup_arg): turn a macro into an</div><div class='del'>-	  inline function.</div><div class='del'>-</div><div class='del'>-Wed Mar 12 07:26:05 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_regexpmatch2): respect redefined match op</div><div class='del'>-	  Thanks to Sam Rawlins for the fix.</div><div class='del'>-	* test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report</div><div class='del'>-	  [Bug #9581]</div><div class='del'>-</div><div class='del'>-Tue Mar 11 22:31:25 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/.document: add objspace/objspace_dump.c to document file.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 22:22:38 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file):</div><div class='del'>-	  remove dependency on json library.</div><div class='del'>-</div><div class='del'>-Tue Mar 11 10:55:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT{,.ja} (Appendix B): update contents of `ruby_options`</div><div class='del'>-	  and replace `ruby_run` with `ruby_run_node`.  based on the patch</div><div class='del'>-	  by Kaneko Yuichiro at [ruby-dev:48030] [Bug #9619].</div><div class='del'>-</div><div class='del'>-Tue Mar 11 06:54:00 2014  Scott Francis  &lt;scott.francis@shopify.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE</div><div class='del'>-	  object fd. [GH-562]</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add test</div><div class='del'>-</div><div class='del'>-Tue Mar 11 02:04:36 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): show vm maps on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (procstat_vm): copied from FreeBSD.</div><div class='del'>-	  http://svnweb.freebsd.org/base/head/usr.bin/procstat/procstat_vm.c?revision=261780</div><div class='del'>-</div><div class='del'>-Mon Mar 10 12:14:26 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: always check dladdr(1).</div><div class='del'>-</div><div class='del'>-	* addr2line.c (fill_lines): show the line number in C backtrace if</div><div class='del'>-	  ruby is built without --enable-shared (PIE) on Linux.</div><div class='del'>-	  patch is originally by Shinichiro Hamaji</div><div class='del'>-	  https://twitter.com/shinh/status/441957774264504321</div><div class='del'>-	  NOTE: ld doesn't insert __executable_start for PIE.</div><div class='del'>-	  dladdr(3)'s argument must be a function pointer.</div><div class='del'>-</div><div class='del'>-Mon Mar 10 10:51:17 2014  ksss  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enumerator.rb (test_iterators): fix test for hash</div><div class='del'>-	  iterators.  [Fixes GH-558]</div><div class='del'>-</div><div class='del'>-Sun Mar  9 14:14:49 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_subclass_add): use xmalloc</div><div class='del'>-	* class.c (rb_module_add_to_subclasses_list): ditto</div><div class='del'>-	* class.c (rb_class_remove_from_super_subclasses): use xfree</div><div class='del'>-	* class.c (rb_class_remove_from_module_subclasses): ditto</div><div class='del'>-	  [Bug #9616]</div><div class='del'>-</div><div class='del'>-Sun Mar  9 13:51:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/function.c (function_call): fix memory leak when an</div><div class='del'>-	  exception occurs at argument conversion or the function call.</div><div class='del'>-</div><div class='del'>-Sun Mar  9 06:42:40 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (struct global_variable): shrink by 8 bytes on 64-bit</div><div class='del'>-</div><div class='del'>-Sat Mar  8 17:42:51 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (add_opt_method): cleanup to use rb_method_entry_at</div><div class='del'>-</div><div class='del'>-Sat Mar  8 13:46:40 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free),</div><div class='del'>-	  ext/fiddle/handle.c (fiddle_handle_free),</div><div class='del'>-	  ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak.</div><div class='del'>-	  based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599].</div><div class='del'>-</div><div class='del'>-Sat Mar  8 13:30:39 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r()</div><div class='del'>-	  may need larger buffers than sysconf values, so retry with</div><div class='del'>-	  expanding the buffer when ERANGE is returned.</div><div class='del'>-	  [ruby-core:61325] [Bug #9600]</div><div class='del'>-</div><div class='del'>-Fri Mar  7 19:29:13 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): use RARRAY_CONST_PTR</div><div class='del'>-	  (check_funcall_exec): ditto</div><div class='del'>-	  [ruby-core:61360]</div><div class='del'>-</div><div class='del'>-Fri Mar  7 19:14:11 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): fix RB_GC_GUARD location</div><div class='del'>-	  (check_funcall_exec): ditto</div><div class='del'>-	  [Bug #9609]</div><div class='del'>-</div><div class='del'>-Fri Mar  7 14:48:17 2014  Narihiro Nakamura  &lt;authornari@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ENC_SINGLE): Unused macro removed.</div><div class='del'>-</div><div class='del'>-Fri Mar  7 12:06:19 2014  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Reuse TLS default options from</div><div class='del'>-	  OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.</div><div class='del'>-</div><div class='del'>-Thu Mar  6 15:15:24 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/assignment.rdoc: [DOC] Fix assignment directions</div><div class='del'>-	  By @idupree [Fixes GH-555] https://github.com/ruby/ruby/pull/555</div><div class='del'>-</div><div class='del'>-Thu Mar  6 15:07:18 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc: [DOC] Fix example for block arguments</div><div class='del'>-	  By @idupree [Fixes GH-554] https://github.com/ruby/ruby/pull/554</div><div class='del'>-</div><div class='del'>-Thu Mar  6 10:33:31 2014  Martin Bosslet  &lt;Martin.Bosslet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/openssl/ssl.rb: Explicitly whitelist the default</div><div class='del'>-	  SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable</div><div class='del'>-	  compression by default.</div><div class='del'>-	  Reported by Jeff Hodges.</div><div class='del'>-	  [ruby-core:59829] [Bug #9424]</div><div class='del'>-</div><div class='del'>-Wed Mar  5 15:56:18 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg_asgn): define optional arguments as argument</div><div class='del'>-	  variables in the rhs default expressions.</div><div class='del'>-	  [ruby-core:61299] [Bug #9593]</div><div class='del'>-</div><div class='del'>-Wed Mar  5 11:58:30 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_make_error): check NULL for unknown</div><div class='del'>-	  error reasons with old OpenSSL, and insert a colon iff formatted</div><div class='del'>-	  message is not empty.</div><div class='del'>-</div><div class='del'>-Wed Mar  5 00:42:00 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (Pathname#find): add "ignore_error"</div><div class='del'>-	  keyword argument defaulted to true as well as Find#find.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 23:00:18 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb (TestEval#make_test_binding): renamed.</div><div class='del'>-	  it's not test method.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 20:50:59 2014  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_foreach): fix type of hash. not st_data_t but st_index_t.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 19:41:40 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: ".DEFAULT" target removed because it is not for</div><div class='del'>-	  specifying default target.</div><div class='del'>-</div><div class='del'>-Tue Mar  4 00:25:35 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find#find): should pass ignore_error option to enumerators.</div><div class='del'>-</div><div class='del'>-Mon Mar  3 13:27:35 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_find.rb (TestFind#test_unsearchable_dir): ruby cannot make</div><div class='del'>-	  directory unreachable by owner on Windows.</div><div class='del'>-</div><div class='del'>-Mon Mar  3 08:10:04 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_without_cache): disable GMC</div><div class='del'>-	  writing if GMC is disabled.</div><div class='del'>-	  [ruby-core:61218]</div><div class='del'>-</div><div class='del'>-Mon Mar  3 07:47:17 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: wrap GetDBM with do/while(0)</div><div class='del'>-	* README.EXT.ja: ditto</div><div class='del'>-	* ext/dbm/dbm.c: ditto, likewise for GetDBM2</div><div class='del'>-	* ext/gdbm/gdbm.c: ditto</div><div class='del'>-	* ext/sdbm/init.c: ditto</div><div class='del'>-	  [ruby-core:61217]</div><div class='del'>-</div><div class='del'>-Mon Mar  3 07:17:31 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: [DOC] Update doc regarding filesystem load when flushing IO</div><div class='del'>-</div><div class='del'>-Mon Mar  3 04:37:50 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fsync): need to fsync even if on Windows.  fixed mistake</div><div class='del'>-	  of r45254 and r45256.</div><div class='del'>-</div><div class='del'>-Mon Mar  3 04:21:34 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole: get rid of warnings (unused variable).</div><div class='del'>-</div><div class='del'>-Mon Mar  3 02:53:53 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_flush_raw): [EXPERIMENTAL] remove force syncing for Win32</div><div class='del'>-	  to speed up IO.  this may break some tests, and they'll be fixed</div><div class='del'>-	  later.</div><div class='del'>-	  [ruby-core:58570] [Bug #9153]</div><div class='del'>-</div><div class='del'>-Mon Mar  3 00:17:43 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: get rid of warnings.  unused variable,</div><div class='del'>-	  shadowing.</div><div class='del'>-</div><div class='del'>-Sun Mar  2 11:15:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find#find): add "ignore_error" keyword argument</div><div class='del'>-	  defaulted to true.  [ruby-core:51025] [Feature #7596]</div><div class='del'>-</div><div class='del'>-Sun Mar  2 11:13:30 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb (rl_hook_func_t): define as Function for</div><div class='del'>-	  very old readline versions.  [ruby-core:61209] [Bug #9578]</div><div class='del'>-</div><div class='del'>-Sun Mar  2 10:47:58 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_init_ext): make idempotent to suppress warnings</div><div class='del'>-</div><div class='del'>-Sat Mar  1 19:51:42 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing</div><div class='del'>-	  stdin_data.</div><div class='del'>-	  (Open3.capture2): Ditto.</div><div class='del'>-	  (Open3.capture2e): Ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  1 19:06:47 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): simplify condition</div><div class='del'>-</div><div class='del'>-Sat Mar  1 16:18:40 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead</div><div class='del'>-	  of Function to support readline-6.3.  (rl_hook_func_t is available</div><div class='del'>-	  since readline-4.2.)</div><div class='del'>-	  Reported by Dmitry Medvinsky.  [ruby-core:61141] [Bug #9578]</div><div class='del'>-</div><div class='del'>-Sat Mar  1 16:05:58 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): fix building without RGenGC</div><div class='del'>-</div><div class='del'>-Sat Mar  1 11:08:00 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding</div><div class='del'>-	  objects.</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding</div><div class='del'>-	  objects.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_encoding.rb: add test</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: add version</div><div class='del'>-</div><div class='del'>-Sat Mar  1 10:52:34 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: [DOC] Fix typo "macro macro" @utenmiki [Fixes GH-551]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/551</div><div class='del'>-</div><div class='del'>-Fri Feb 28 11:16:55 2014  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Fix Numeric#step with 0 unit [Bug #9575]</div><div class='del'>-</div><div class='del'>-Thu Feb 27 17:59:01 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: [DOC] Add example of generating help with optparse.</div><div class='del'>-	  Patch by @joelmccracken documenting-ruby/ruby#19</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/19</div><div class='del'>-</div><div class='del'>-Thu Feb 27 12:10:09 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (ruby_num_interval_step_size): check signs and get rid</div><div class='del'>-	  of implementation dependent behavior of negative division.</div><div class='del'>-	  [ruby-core:61106] [Bug #9570]</div><div class='del'>-</div><div class='del'>-Thu Feb 27 03:55:45 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: [DOC] Typo in comment for _FORTIFY_SOURCE [Fixes GH-548]</div><div class='del'>-	  Patch by @qnet-herwin https://github.com/ruby/ruby/pull/548</div><div class='del'>-</div><div class='del'>-Wed Feb 26 18:43:43 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_pages_free_unused_pages): check tomb page availability</div><div class='del'>-	  at first.</div><div class='del'>-	  And return immediately if we don't touch sorted list any more.</div><div class='del'>-</div><div class='del'>-Wed Feb 26 14:10:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): preserve exception class name encoding</div><div class='del'>-	  in debug mode messages.</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): preserve errinfo across calling #to_s</div><div class='del'>-	  method on the exception.  [ruby-core:61091] [Bug #9568]</div><div class='del'>-</div><div class='del'>-Wed Feb 26 01:29:27 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_find): Add Symbol.find(str), which returns whether given</div><div class='del'>-	  string is defined as symbol or not. [Feature #7854]</div><div class='del'>-</div><div class='del'>-Tue Feb 25 22:52:02 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_realloc): use NUM2SIZET instead of NUM2INT.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/fiddle.c (rb_fiddle_realloc): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 25 22:49:30 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dl/dl.c (rb_dl_malloc): use NUM2SIZET instead of NUM2INT.</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/fiddle.c (rb_fiddle_malloc): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 25 12:06:13 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: define PACKED_STRUCT.</div><div class='del'>-</div><div class='del'>-Mon Feb 24 21:41:56 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.md, README.ja.md: removed (wrong) mode setting for emacs.</div><div class='del'>-</div><div class='del'>-Mon Feb 24 20:05:41 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: define PACKED_STRUCT_UNALIGNED for x86*</div><div class='del'>-	* timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED</div><div class='del'>-	* time.c (struct time_object): ditto</div><div class='del'>-	  [Bug #9558] non-x86 cannot safely access unaligned addresses</div><div class='del'>-</div><div class='del'>-Mon Feb 24 18:10:02 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_function.rb: remove unused variables.</div><div class='del'>-	* test/fileutils/test_fileutils.rb: ditto.</div><div class='del'>-	* test/io/console/test_io_console.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 24 12:37:51 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+</div><div class='del'>-	  use __attribute__((packed)) if available</div><div class='del'>-	* timev.h: shrink and pack struct vtm</div><div class='del'>-	* time.c: pack struct time_object and adjust/introduce helpers</div><div class='del'>-	  [ruby-core:60794]</div><div class='del'>-</div><div class='del'>-Sun Feb 23 17:55:50 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xmltokens.rb: Add missing non ASCII valid characters</div><div class='del'>-	  to element name characters. Now, REXML name tokens exactly</div><div class='del'>-	  match "[5] Name" in the XML spec and "[4] NCName" in the</div><div class='del'>-	  Namespaces in XML spec. See comment about the details.</div><div class='del'>-	  [Bug #9539]  [ruby-core:60901]</div><div class='del'>-	  Reported by Mario Barcala. Thanks!!!</div><div class='del'>-</div><div class='del'>-	* test/rexml/xpath/test_node.rb: Add tests for the above case.</div><div class='del'>-</div><div class='del'>-Sun Feb 23 12:18:54 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (inet_pton): use rb_w32_inet_pton, instead of</div><div class='del'>-	  inet_pton directly, which is unavailable on older version Windows.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a</div><div class='del'>-	  wrapper function for inet_pton minimum supported client is</div><div class='del'>-	  Vista, as well as inet_ntop.</div><div class='del'>-</div><div class='del'>-Sun Feb 23 11:33:25 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: remove unused variables.</div><div class='del'>-	* test/net/imap/test_imap_response_parser.rb: ditto.</div><div class='del'>-	* test/net/pop/test_pop.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 23 02:19:51 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which</div><div class='del'>-	  security.mac.portacl.port_high is changed.</div><div class='del'>-	  See mac_portacl(4) for details.</div><div class='del'>-	  Reported by Jakub Szafranski.  [ruby-core:60917] [Bug #9544]</div><div class='del'>-</div><div class='del'>-Sat Feb 22 23:17:01 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/xpath_parser.rb: Fix indent.</div><div class='del'>-</div><div class='del'>-Sat Feb 22 23:15:35 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/xpath/test_attribute.rb: Simplify.</div><div class='del'>-</div><div class='del'>-Sat Feb 22 20:28:47 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: more friendly.</div><div class='del'>-</div><div class='del'>-Sat Feb 22 20:24:43 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/test_xpath*.rb: Move to ...</div><div class='del'>-	* test/rexml/xpath/*.rb: ... here.</div><div class='del'>-</div><div class='del'>-Sat Feb 22 20:04:41 2014  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/listener.rb: Untabify.</div><div class='del'>-</div><div class='del'>-Sat Feb 22 19:07:31 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): need read access for conout$</div><div class='del'>-	  because some functions need it.  [Bug#9554]</div><div class='del'>-</div><div class='del'>-Sat Feb 22 18:40:58 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignore benchmark files</div><div class='del'>-</div><div class='del'>-Sat Feb 22 01:22:24 2014  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bary_mul_precheck): fix a copy-paste error.</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Sat Feb 22 00:58:51 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of</div><div class='del'>-	  MEMZERO is type.  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Fri Feb 21 23:47:24 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (wait_connectable): break if the socket is</div><div class='del'>-	  writable to avoid infinite loops on FreeBSD and other platforms</div><div class='del'>-	  which conforms to SUSv3.  This problem cannot be reproduced with</div><div class='del'>-	  loopback interfaces, so it's hard to write test code.</div><div class='del'>-	  rsock_connect() and wait_connectable() are overly complicated, so</div><div class='del'>-	  they should be refactored, but I commit this fix as a workaround</div><div class='del'>-	  for the release of Ruby 1.9.3 scheduled on Feb 24.</div><div class='del'>-	  [ruby-core:60940] [Bug #9547]</div><div class='del'>-</div><div class='del'>-Fri Feb 21 23:03:39 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: added to handle redmine tickets.</div><div class='del'>-</div><div class='del'>-Fri Feb 21 20:42:01 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_mod_init_copy): do nothing if copying self.</div><div class='del'>-	  [ruby-dev:47989] [Bug #9535]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_initialize_copy): ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 21 16:45:54 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (next_rotate_time, previous_period_end): consider</div><div class='del'>-	  DST change.</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::LogDevice#check_shift_log): compare the</div><div class='del'>-	  current time with the time for the next rotation to fix rotation</div><div class='del'>-	  miss when date changed between the comparison and log writing.</div><div class='del'>-	  based on the patch by megayu &lt;yuhg2310 AT gmail.com&gt;.</div><div class='del'>-	  [Fixes GH-539]</div><div class='del'>-</div><div class='del'>-Fri Feb 21 10:39:33 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	*  test/monitor/test_monitor.rb: remove unused variables.</div><div class='del'>-	*  test/resolv/test_dns.rb: ditto.</div><div class='del'>-	*  test/rexml/test_functions.rb: ditto.</div><div class='del'>-	*  test/rss/test_setup_maker_itunes.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 21 09:48:56 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error</div><div class='del'>-	  (bsock_recvmsg_internal): ditto</div><div class='del'>-	* test/socket/test_unix.rb: test above for infinite loop</div><div class='del'>-</div><div class='del'>-Fri Feb 21 08:27:19 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_GC_GUARD):</div><div class='del'>-	  use rb_gc_guarded_ptr_val on non-GCC/MSC</div><div class='del'>-	* gc.c (rb_gc_guarded_ptr_val): rename and adjust argument.</div><div class='del'>-	  RB_GC_GUARD should be robust enough for any compiler.</div><div class='del'>-	  [ruby-core:60816] [Bug #7805]</div><div class='del'>-</div><div class='del'>-Thu Feb 20 22:21:26 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc.</div><div class='del'>-	  Suggested by Eric Wong.</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/9525#note-14</div><div class='del'>-</div><div class='del'>-Thu Feb 20 11:21:13 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_flatten): fix behavior of flatten(-1).</div><div class='del'>-	  [ruby-dev:47988] [Bug #9533]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: test for above.</div><div class='del'>-</div><div class='del'>-Wed Feb 19 18:57:02 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: Bypass getaddrinfo() if node and serv are numeric.</div><div class='del'>-	  Reporeted by Naotoshi Seo.  [ruby-core:60801] [Bug #9525]</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len.</div><div class='del'>-</div><div class='del'>-	* ext/socket/sockport.h (SET_SIN6_LEN): New macro.</div><div class='del'>-	  (INIT_SOCKADDR_IN6): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h (struct rb_addrinfo): Add</div><div class='del'>-	  allocated_by_malloc field.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (numeric_getaddrinfo): New function.</div><div class='del'>-	  (rb_getaddrinfo): Call numeric_getaddrinfo at first.</div><div class='del'>-	  (rb_freeaddrinfo): Free struct addrinfo properly when it is</div><div class='del'>-	  allocated by numeric_getaddrinfo.</div><div class='del'>-</div><div class='del'>-Wed Feb 19 18:31:48 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.</div><div class='del'>-</div><div class='del'>-Wed Feb 19 17:47:01 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.</div><div class='del'>-</div><div class='del'>-Wed Feb 19 11:39:41 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: it must see rb_cv_broken_memmem not rb_cv_func_memmem.</div><div class='del'>-</div><div class='del'>-Tue Feb 18 23:18:41 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb: unix socket is required by test case.</div><div class='del'>-</div><div class='del'>-Tue Feb 18 20:48:38 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_addrinfo.rb: remove unused variables.</div><div class='del'>-	* test/socket/test_nonblock.rb: ditto.</div><div class='del'>-	* test/socket/test_socket.rb: ditto.</div><div class='del'>-	* test/socket/test_unix.rb: ditto.</div><div class='del'>-	* test/testunit/test_parallel.rb: ditto.</div><div class='del'>-	* test/webrick/test_filehandler.rb: ditto.</div><div class='del'>-	* test/xmlrpc/test_features.rb: ditto.</div><div class='del'>-	* test/zlib/test_zlib.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 18 14:27:18 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit.rb: Requires minitest &lt; 5.0.0 if Gem is available.</div><div class='del'>-</div><div class='del'>-Tue Feb 18 14:24:07 2014  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/test-unit.gemspec: Add minitest &lt; 5.0.0 dependency</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: Add empty implementations for `add_dependency`,</div><div class='del'>-	  `add_runtime_dependency`, `add_development_dependency` for</div><div class='del'>-	  Gem::Specification.</div><div class='del'>-</div><div class='del'>-Tue Feb 18 12:06:39 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (FILE_COUNT): Removed.  (win32.c defines it in itself.)</div><div class='del'>-	  (FILE_READPTR): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 18 09:35:44 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test/psych/test_string.rb: remove unused variables.</div><div class='del'>-	* test/test/psych/test_yaml.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 21:31:31 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: ignore warning messages for running with -w</div><div class='del'>-	  option such as chkbuild.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 20:00:27 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: Move BDIGIT and related definitions from</div><div class='del'>-	  include/ruby/defines.h.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 17:41:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump, marshal_load): do not recycle wrapper</div><div class='del'>-	  objects, to prevent from segfault with continuation.</div><div class='del'>-	  [ruby-dev:47970] [Bug #9523]</div><div class='del'>-</div><div class='del'>-Mon Feb 17 15:43:59 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/keywords.rdoc: [DOC] Add keywords doc by documenting-ruby/ruby#29</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/29</div><div class='del'>-</div><div class='del'>-Mon Feb 17 12:31:31 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_double): fix a warning message.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 12:09:52 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce new environment variable</div><div class='del'>-	  "RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR" to control major/minor GC</div><div class='del'>-	  frequency.</div><div class='del'>-</div><div class='del'>-	  Do full GC when the number of old objects is more than R * N</div><div class='del'>-	  where R is this factor and</div><div class='del'>-                N is the number of old objects just after last full GC.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 11:28:40 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pty.rb: ignore warnings to unused variables.</div><div class='del'>-</div><div class='del'>-Mon Feb 17 11:27:36 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_find.rb: remove unused variables.</div><div class='del'>-</div><div class='del'>-Sun Feb 17 02:12:00 2014  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 16 15:53:36 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_securerandom.rb: File.exists? is deprecated. use File.exist?</div><div class='del'>-</div><div class='del'>-Sun Feb 16 15:05:00 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: File.exists? is deprecated. use File.exist?</div><div class='del'>-</div><div class='del'>-Sun Feb 16 15:00:28 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb: remove unused variables.</div><div class='del'>-	* test/logger/test_logger.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 16 14:52:46 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): RB_GC_GUARD instead of volatile</div><div class='del'>-</div><div class='del'>-Sun Feb 16 14:33:52 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RBIGNUM_SIGN): Defined for compatibility.</div><div class='del'>-	  (RBIGNUM_POSITIVE_P): Ditto.</div><div class='del'>-	  (RBIGNUM_NEGATIVE_P): Ditto.</div><div class='del'>-</div><div class='del'>-Sun Feb 16 12:46:47 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_backquote): trade volatile for manual recycle</div><div class='del'>-	  rb_gc_force_recycle ensures object is visible until recycle</div><div class='del'>-</div><div class='del'>-Sun Feb 16 11:55:14 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (marshal_dump): use rb_gc_force_recycle for GC-safety</div><div class='del'>-	  (marshal_load): ditto</div><div class='del'>-	  [ruby-core:60730] [Bug #7805]</div><div class='del'>-</div><div class='del'>-Sun Feb 16 08:11:23 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: [DOC] Fix typo by @utenmiki [Fixes GH-534]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/534</div><div class='del'>-</div><div class='del'>-Sun Feb 16 07:48:20 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BIGNUM_ZERO_P): Unused macro removed.</div><div class='del'>-</div><div class='del'>-Sun Feb 16 06:12:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: Rename macro names: RBIGNUM_FOO to BIGNUM_FOO.</div><div class='del'>-	  (BIGNUM_EMBED_LEN_NUMBITS): Renamed from RBIGNUM_EMBED_LEN_NUMBITS.</div><div class='del'>-	  (BIGNUM_EMBED_LEN_MAX): Renamed from RBIGNUM_EMBED_LEN_MAX.</div><div class='del'>-	  (BIGNUM_SIGN_BIT): Renamed from RBIGNUM_SIGN_BIT.</div><div class='del'>-	  (BIGNUM_SIGN): Renamed from RBIGNUM_SIGN.</div><div class='del'>-	  (BIGNUM_SET_SIGN): Renamed from RBIGNUM_SET_SIGN.</div><div class='del'>-	  (BIGNUM_POSITIVE_P): Renamed from RBIGNUM_POSITIVE_P.</div><div class='del'>-	  (BIGNUM_NEGATIVE_P): Renamed from RBIGNUM_NEGATIVE_P.</div><div class='del'>-	  (BIGNUM_EMBED_FLAG): Renamed from RBIGNUM_EMBED_FLAG.</div><div class='del'>-	  (BIGNUM_EMBED_LEN_MASK): Renamed from RBIGNUM_EMBED_LEN_MASK.</div><div class='del'>-	  (BIGNUM_EMBED_LEN_SHIFT): Renamed from RBIGNUM_EMBED_LEN_SHIFT.</div><div class='del'>-	  (BIGNUM_LEN): Renamed from RBIGNUM_LEN.</div><div class='del'>-	  (RBIGNUM_DIGITS): Renamed from RBIGNUM_DIGITS.</div><div class='del'>-	  (BIGNUM_LENINT): Renamed from RBIGNUM_LENINT.</div><div class='del'>-</div><div class='del'>-	* bignum.c: Follow the above change.</div><div class='del'>-</div><div class='del'>-	* gc.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* math.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* random.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* rational.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/bigzero.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/bignum/intpack.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 15 20:48:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (FILE_READEND): Don't detect it because it is not used.</div><div class='del'>-</div><div class='del'>-Sat Feb 15 13:22:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* probes_helper.h (RUBY_DTRACE_HOOK): correct type for _id</div><div class='del'>-</div><div class='del'>-Sat Feb 15 11:47:47 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_cmp): Avoid bignum allocation for comparison</div><div class='del'>-	  between bignum and fixnum.</div><div class='del'>-</div><div class='del'>-Sat Feb 15 10:55:12 2014  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/win32/fd_setsize/depend: fix wrong dependencies.</div><div class='del'>-	  [ruby-dev:47253]</div><div class='del'>-</div><div class='del'>-Sat Feb 15 00:38:54 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Enumerable#{min,min_by,max,max_by} extended to take an</div><div class='del'>-	  optional argument.</div><div class='del'>-	  (nmin_cmp): New function.</div><div class='del'>-	  (nmin_block_cmp): Ditto</div><div class='del'>-	  (nmin_filter): Ditto.</div><div class='del'>-	  (nmin_i): Ditto.</div><div class='del'>-	  (nmin_run): Ditto.</div><div class='del'>-	  (enum_min): Call nmin_run if the optional argument is given.</div><div class='del'>-	  (nmin_max): Ditto.</div><div class='del'>-	  (nmin_min_by): Ditto.</div><div class='del'>-	  (nmin_max_by): Ditto.</div><div class='del'>-</div><div class='del'>-	* range.c: Range#{min,max} extended to take an optional argument.</div><div class='del'>-	  (range_min): Call range_first if the optional argument is given.</div><div class='del'>-	  (range_max): Call rb_call_super if the optional argument is given.</div><div class='del'>-</div><div class='del'>-	[ruby-core:57111] [Feature #8887]</div><div class='del'>-</div><div class='del'>-Sat Feb 15 00:27:46 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h,</div><div class='del'>-	  internal.h,</div><div class='del'>-	  ext/-test-/bignum/bigzero.c: Hide a Bignum definition.</div><div class='del'>-	  [ruby-core:42891] [Feature #6083]</div><div class='del'>-</div><div class='del'>-Sat Feb 15 00:13:14 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h,</div><div class='del'>-	  include/ruby/io.h,</div><div class='del'>-	  include/ruby/ruby.h,</div><div class='del'>-	  include/ruby/win32.h,</div><div class='del'>-	  include/ruby/backward/rubysig.h,</div><div class='del'>-	  bignum.c,</div><div class='del'>-	  gc.c,</div><div class='del'>-	  io.c,</div><div class='del'>-	  process.c,</div><div class='del'>-	  safe.c,</div><div class='del'>-	  struct.c,</div><div class='del'>-	  thread.c,</div><div class='del'>-	  ext/socket/rubysocket.h,</div><div class='del'>-	  ext/-test-/old_thread_select: Remove deprecated definitions</div><div class='del'>-	  [ruby-core:60581] [Feature #9502]</div><div class='del'>-</div><div class='del'>-Fri Feb 14 18:38:46 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_format_m): trade volatile for RB_GC_GUARD</div><div class='del'>-	  RB_GC_GUARD meaning is clear and has better code generation.</div><div class='del'>-	  [ruby-core:60688]</div><div class='del'>-</div><div class='del'>-Thu Feb 13 23:30:30 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): should check ci-&gt;me-&gt;flag of</div><div class='del'>-	  a refining method in case the method is private.</div><div class='del'>-	  [ruby-core:60111] [Bug #9452]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (make_method_entry_refined): set me-&gt;flag of a refined</div><div class='del'>-	  method entry to NOEX_PUBLIC in case the original method is private</div><div class='del'>-	  and it is refined as a public method.  The original flag is stored</div><div class='del'>-	  in me-&gt;def-&gt;body.orig_me, so it's OK to make a refined method</div><div class='del'>-	  entry public.  [ruby-core:60111] [Bug #9452]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: related tests.</div><div class='del'>-</div><div class='del'>-Thu Feb 13 18:38:15 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_raise): remove volatile</div><div class='del'>-	  Unnecessary since r41597</div><div class='del'>-</div><div class='del'>-Thu Feb 13 18:28:51 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_regcomp): remove volatile</div><div class='del'>-	  Unnecessary since r13261</div><div class='del'>-</div><div class='del'>-Thu Feb 13 16:54:32 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: Ensure flatten! is used for test_flatten</div><div class='del'>-	  Patch by @ksss [Fixes GH-530] https://github.com/ruby/ruby/pull/530</div><div class='del'>-</div><div class='del'>-Thu Feb 13 15:43:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also</div><div class='del'>-	  attrset ID.  [ruby-core:60668] [Bug #8756]</div><div class='del'>-</div><div class='del'>-Thu Feb 13 11:06:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if pthread_setname_np is available.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: pthread_setname_np is not available on old</div><div class='del'>-	  Darwins.  [ruby-core:60524] [Bug #9492]</div><div class='del'>-</div><div class='del'>-Thu Feb 13 00:56:59 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r44922. I should have used AC_CHECK_FUNCS()</div><div class='del'>-	  to just define a symbol if the function is available.</div><div class='del'>-</div><div class='del'>-Thu Feb 13 00:20:58 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use AC_CHECK_FUNC instead of AC_CHECK_FUNCS</div><div class='del'>-	  if available.</div><div class='del'>-</div><div class='del'>-Thu Feb 13 00:15:10 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fix to undefine HAVE_MEMMEM correctly if it is broken.</div><div class='del'>-</div><div class='del'>-Tue Feb 11 23:54:40 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_cmp): Specialize a comparison to zero.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (is_negative): Use rb_big_cmp instead of</div><div class='del'>-	  RBIGNUM_NEGATIVE_P.</div><div class='del'>-	  (BigMath_s_log): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 11 22:59:10 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (ossl_bn_initialize): Use rb_integer_pack.</div><div class='del'>-	  Fix SEGV by OpenSSL::BN.new(1 &lt;&lt; (2**34)).</div><div class='del'>-</div><div class='del'>-Tue Feb 11 17:00:38 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/README.tcltklib: [DOC] Fix typo by @xta [Fixes GH-532]</div><div class='del'>-</div><div class='del'>-Sun Feb  9 13:59:29 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix compilation error.</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/8358#note-16</div><div class='del'>-</div><div class='del'>-Sun Feb  9 05:20:24 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_gnu_qsort_r): use compile error "conflicting</div><div class='del'>-	  types for 'qsort_r'" instead of AC_RUN_IFELSE.</div><div class='del'>-</div><div class='del'>-Sun Feb  9 04:07:34 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: [DOC] Add links to syck and psych on github [Bug #9501]</div><div class='del'>-	  Based on a patch by Giorgos Tsiftsis</div><div class='del'>-</div><div class='del'>-Sun Feb  9 02:13:53 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (OBJ_TAINTABLE, OBJ_TAINT, OBJ_INFECT),</div><div class='del'>-	  marshal.c (r_entry0): all Numerics never be tainted now.</div><div class='del'>-	  [ruby-core:57346] [Bug #8945]</div><div class='del'>-</div><div class='del'>-Sat Feb  8 23:40:35 2014  Vit Ondruch  &lt;vondruch@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add quoting brackets and append wildcard for the</div><div class='del'>-	  rest after target_cpu, to properly detect platform for SSE2</div><div class='del'>-	  instructions.  [ruby-core:60576] [Bug #8358]</div><div class='del'>-</div><div class='del'>-Sat Feb  8 21:44:07 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check qsort_r(3) and whether it is GNU version.</div><div class='del'>-	  BSD version has different prototype.</div><div class='del'>-</div><div class='del'>-	* util.h: use qsort_r() as ruby_qsort() if it is GNU version.</div><div class='del'>-</div><div class='del'>-	* util.c: define ruby_qsort() if needed.</div><div class='del'>-</div><div class='del'>-Sat Feb  8 16:34:36 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#get_labels):</div><div class='del'>-	  Make it iterative.</div><div class='del'>-</div><div class='del'>-Sat Feb  8 15:54:12 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, gc.h (rb_objspace_marked_object_p): added.</div><div class='del'>-	  This function *ONLY* works just after marking phase,</div><div class='del'>-	  before any sweeping.</div><div class='del'>-	  This function is highly depending current GC implementation</div><div class='del'>-	  and can be removed future version.</div><div class='del'>-</div><div class='del'>-Sat Feb  8 15:41:37 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Don't set CLOEXEC flag explicitly.  (Ruby set it by</div><div class='del'>-	  default.)</div><div class='del'>-</div><div class='del'>-Sat Feb  8 15:27:02 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise</div><div class='del'>-	  DecodeError if no data before the limit.</div><div class='del'>-	  Reported by Will Bryant.  [ruby-core:60557] [Bug #9498]</div><div class='del'>-</div><div class='del'>-Sat Feb  8 15:11:21 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (SMALLBUF): Unused macro removed.</div><div class='del'>-</div><div class='del'>-Fri Feb  7 23:37:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on</div><div class='del'>-	  socket creation.</div><div class='del'>-	  Reported by Bjoern Rennhak.  [ruby-core:60442] [Bug #9477]</div><div class='del'>-</div><div class='del'>-Fri Feb  7 21:58:48 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: [DOC] use lower case version of core classes, same</div><div class='del'>-	  as commit r44878, based on patch by Jonathan Jackson [Bug #9483]</div><div class='del'>-</div><div class='del'>-Fri Feb  7 21:54:53 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core</div><div class='del'>-	  classes when referring to return value, since we aren't directly</div><div class='del'>-	  talking about the class. Patch by Jonathan Jackson [Bug #9483]</div><div class='del'>-</div><div class='del'>-Fri Feb 7 05:28:38 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* constant.h: reduce rb_const_entry_t size on 64-bit</div><div class='del'>-	  Patch by Adam Avilla [ruby-core:60542] [Feature #9496]</div><div class='del'>-</div><div class='del'>-Thu Feb  6 15:27:46 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_int): correct warning messages.</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_double): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  6 15:17:30 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_int): don't accept a value equals to lowerbound</div><div class='del'>-	  (changed by last commit) because "" or "foo" (not a number) strings</div><div class='del'>-	  are parsed as 0. They should be rejected.</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_double): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  6 09:00:35 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): if RUBY_GC_OLDMALLOC_LIMIT is provided,</div><div class='del'>-	  then set objspace-&gt;rgengc.oldmalloc_increase_limit.</div><div class='del'>-	  Without this fix, the env variable RUBY_GC_OLDMALLOC_LIMIT</div><div class='del'>-	  does not work.</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_int): accept a value equals to lowerbound.</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_double): ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb 6 08:23:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (rb_szqueue_max_set): use correct queue and</div><div class='del'>-	  limit wakeups.  [Bug #9343][ruby-core:60517]</div><div class='del'>-	* test/thread/test_queue.rb (test_sized_queue_assign_max):</div><div class='del'>-	  test for bug</div><div class='del'>-</div><div class='del'>-Thu Feb  6 07:18:01 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.2.2.  Complete history at:</div><div class='del'>-</div><div class='del'>-	  http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 20:56:32 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (to_be_skipped_id): ignore anonymous attributes.</div><div class='del'>-</div><div class='del'>-	* pack.c (Init_pack): use anonymous ID so that associated objects</div><div class='del'>-	  do not appear in the packed result.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_make_internal_id): return an anonymous ID for</div><div class='del'>-	  internal use.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 14:41:56 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c: remove duplicated def of `UNINITIALIZED_VAR()'.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 14:40:16 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_object): use STR_SHARED_P()</div><div class='del'>-	  instead of removed STR_NOCAPA_P() macro.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 13:51:33 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR()</div><div class='del'>-	  macros from vm_core.h to internal.h.</div><div class='del'>-</div><div class='del'>-	* string.c: remove dependency to "vm_core.h".</div><div class='del'>-</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 13:29:01 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_free): use FL_TEST(str, STR_SHARED) directly</div><div class='del'>-	  because str is not embed.</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace): remove `FL_SET(str, STR_SHARED)' line</div><div class='del'>-	  because STR_SET_SHARED() set STR_SHARED.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 13:18:08 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: remove macros STR_NOCAPA and STR_NOCAPA_P().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): remove `STR_SET_NOEMBED(str)' because</div><div class='del'>-	  str_make_independent_expand() set NOEMBED flag.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resize): remove `STR_NOCAPA_P(str)' check because</div><div class='del'>-	  `str' is independent (not shared).</div><div class='del'>-</div><div class='del'>-Wed Feb  5 12:54:25 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: refactoring, especially about string flags.</div><div class='del'>-</div><div class='del'>-	* string.c (STR_UNSET_NOCAPA): removed.</div><div class='del'>-	  Use FL_UNSET() with STR_SHARED.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_capacity): check STR_SHARED directly</div><div class='del'>-	  because it is not a embed string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify_expand): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_shared_replace): use STR_SET_SHARED().</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent_expand): remove STR_UNSET_NOCAPA()</div><div class='del'>-	  because `str' is not shared string.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 12:11:04 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (RESIZE_CAPA): should not resize shared string.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 11:46:42 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): STR_ASSOC is no longer available.</div><div class='del'>-	  Reported by @nagachika.</div><div class='del'>-	  http://d.hatena.ne.jp/nagachika/20140204</div><div class='del'>-</div><div class='del'>-Wed Feb  5 11:27:22 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new_frozen): refactoring code.</div><div class='del'>-	  * Move code from str_new_frozen_with_klass() (and remove it)</div><div class='del'>-	  * `aux.shared' should not be 0 for STR_SHARED strings.</div><div class='del'>-</div><div class='del'>-Wed Feb  5 04:23:41 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: New release of psych.</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Wed Feb  5 04:16:41 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/yaml/emitter.c: merge libyaml 0.1.5</div><div class='del'>-	* ext/psych/yaml/loader.c: ditto</div><div class='del'>-	* ext/psych/yaml/parser.c: ditto</div><div class='del'>-	* ext/psych/yaml/reader.c: ditto</div><div class='del'>-	* ext/psych/yaml/scanner.c: ditto</div><div class='del'>-	* ext/psych/yaml/writer.c: ditto</div><div class='del'>-	* ext/psych/yaml/yaml_private.h: ditto</div><div class='del'>-</div><div class='del'>-Tue Feb  4 19:10:29 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: use long allocator names instead of numbered</div><div class='del'>-	  allocator names.</div><div class='del'>-	  * rb_str_new2 -&gt; rb_str_new_cstr</div><div class='del'>-	  * rb_str_new4 -&gt; rb_str_new_frozen</div><div class='del'>-	  * rb_str_new5 -&gt; rb_str_new_with_class</div><div class='del'>-	  * str_new3 -&gt; str_new_shared</div><div class='del'>-	  * str_new4 -&gt; str_new_frozen_with_klass</div><div class='del'>-</div><div class='del'>-Tue Feb  4 17:20:03 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): return the filename with actual cases on</div><div class='del'>-	  the filesystem if it is case-insensitive.  [ruby-core:42469]</div><div class='del'>-	  [Feature #5994]</div><div class='del'>-</div><div class='del'>-Tue Feb  4 16:16:58 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: use STR_SHARED instead of ELTS_SHARED.</div><div class='del'>-	  (same value, but more clear meaning)</div><div class='del'>-</div><div class='del'>-Tue Feb  4 16:09:14 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: remove STR_ASSOC related code.</div><div class='del'>-	  By r44804, string objects can not have STR_ASSOC flag.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_object): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  4 14:07:20 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (str_associate, str_associated): keep associated objects</div><div class='del'>-	  in an instance variables, instead of in the internal structure.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_associate, rb_str_associated): deprecate.</div><div class='del'>-</div><div class='del'>-Tue Feb  4 12:55:31 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify_expand): enable capacity and disable</div><div class='del'>-	  association with packed objects when setting capa, so that</div><div class='del'>-	  pack("p") string fails to unpack properly after modified.</div><div class='del'>-</div><div class='del'>-Tue Feb  4 12:45:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_make_pattern): all alphabets are magic characters on</div><div class='del'>-	  case-insensitive filesystems.  [ruby-core:42469] [Feature #5994]</div><div class='del'>-</div><div class='del'>-Tue Feb  4 09:47:57 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems 2.2.2 prerelease to check fixes to</div><div class='del'>-	  CI.</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  3 12:04:47 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: [DOC] Exception#cause may return nil. [ci skip]</div><div class='del'>-</div><div class='del'>-Sun Feb 2 05:48:42 2014  Eric Wong &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_syswrite): add RB_GC_GUARD</div><div class='del'>-	  [Bug #9472][ruby-core:60407]</div><div class='del'>-</div><div class='del'>-Sat Feb  1 15:09:16 2014  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_typedesc2val): add VT_RECORD case.</div><div class='del'>-</div><div class='del'>-Sat Feb  1 06:38:51 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: [DOC] Add note about start_service for each process</div><div class='del'>-	  Based on a patch by @rosenfeld [Fixes GH-514] [ci skip]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/514</div><div class='del'>-</div><div class='del'>-Sat Feb  1 06:30:20 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: [DOC] Document Exception#cause by @jasonrclark [ci skip]</div><div class='del'>-	  [Fixes GH-519] https://github.com/ruby/ruby/pull/519</div><div class='del'>-</div><div class='del'>-Sat Feb  1 06:10:49 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: [DOC] Add note on require for examples</div><div class='del'>-	  Based on a patch by @schneems [Fixes GH-518] [ci skip]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/518</div><div class='del'>-</div><div class='del'>-Sat Feb  1 06:04:56 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: [DOC] Fix typo in example for #step [ci skip]</div><div class='del'>-	  Patch by @ksss [Fixes GH-522] https://github.com/ruby/ruby/pull/522</div><div class='del'>-</div><div class='del'>-Fri Jan 31 17:01:47 2014  Eric Wong &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_socket0): split out SOCK_CLOEXEC version</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair0): ditto</div><div class='del'>-	  [ruby-core:60377]</div><div class='del'>-</div><div class='del'>-Fri Jan 31 03:48:40 2014  Eric Wong &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver: avoid large alloc in driver process</div><div class='del'>-	  [ruby-core:59869] [Bug #9430]</div><div class='del'>-</div><div class='del'>-Thu Jan 30 14:45:49 2014  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use $@ instead of $(.TARGET) because .TARGET is not</div><div class='del'>-	  supported by GNU make.</div><div class='del'>-</div><div class='del'>-Thu Jan 30 08:26:21 2014  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.</div><div class='del'>-	  [ruby-core:57599] [Bug #8978].</div><div class='del'>-</div><div class='del'>-Wed Jan 29 20:08:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_copy_stream_sendfile): check socket on other than</div><div class='del'>-	  linux, as sendfile(2) on non-socket fd works only on linux.</div><div class='del'>-	  [Feature #9427]</div><div class='del'>-</div><div class='del'>-Wed Jan 29 18:09:48 2014  Eric Wong &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_copy_stream_sendfile): remove socket check</div><div class='del'>-	  [ruby-core:59856][Feature #9427]</div><div class='del'>-</div><div class='del'>-Wed Jan 29 04:29:54 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: pass read_nonblock options to underlying IO</div><div class='del'>-	  when SSL session has not been started.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: test for change.</div><div class='del'>-</div><div class='del'>-Wed Jan 29 03:49:36 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.</div><div class='del'>-	  [ruby-core:57599] [Bug #8978].  Thanks mame!</div><div class='del'>-</div><div class='del'>-Wed Jan 29 03:36:42 2014  Eric Wong &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: allow/encourage other git hosts</div><div class='del'>-	  [ruby-core:59807][misc #9421]</div><div class='del'>-</div><div class='del'>-Tue Jan 28 23:36:01 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: Avoid redundant fcntl/fstat syscalls for cloexec</div><div class='del'>-	  sockets.</div><div class='del'>-	  Patch by Eric Wong.  [ruby-core:59429] [Feature #9330]</div><div class='del'>-</div><div class='del'>-Tue Jan 28 20:51:07 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (READ_FROM_CHILD): Apply the last hunk of</div><div class='del'>-	  0001-process.c-avoid-EINTR-from-Process.spawn.patch written by</div><div class='del'>-	  Eric Wong in [Bug #8770].</div><div class='del'>-</div><div class='del'>-Tue Jan 28 16:31:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p):</div><div class='del'>-	  place get_stack above others to get stack boundary information.</div><div class='del'>-	  [ruby-core:60113] [Bug #9454]</div><div class='del'>-</div><div class='del'>-Tue Jan 28 15:27:36 2014  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: rlimit is only available on Linux.</div><div class='del'>-	  At least r44712 breaks FreeBSD.</div><div class='del'>-	  [ruby-core:60113] [Bug #9454]</div><div class='del'>-</div><div class='del'>-Tue Jan 28 15:17:59 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: [DOC] Add examples for Set#intersect? and Set#disjoint?</div><div class='del'>-	  Patch by xavier nayrac [Bug #9331] [ci skip]</div><div class='del'>-</div><div class='del'>-Tue Jan 28 15:12:22 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_zlib_adler32): [DOC] Add example for adler32</div><div class='del'>-	  Patch by Vajrasky Kok [Bug #9307] [ci skip]</div><div class='del'>-</div><div class='del'>-Tue Jan 28 08:56:00 2014  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block</div><div class='del'>-	  as hash key when loading serialized instruction sequences from arrays.</div><div class='del'>-	  [Bug #9455] [ruby-core:60146]</div><div class='del'>-</div><div class='del'>-Mon Jan 27 21:52:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: get current main thread stack size, which may</div><div class='del'>-	  be expanded than allocated size at initialization, by rlimit().</div><div class='del'>-	  [ruby-core:60113] [Bug #9454]</div><div class='del'>-</div><div class='del'>-Sat Jan 25 22:17:02 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja.md, README.md: update the controller address of</div><div class='del'>-	  mailing lists.</div><div class='del'>-</div><div class='del'>-Sat Jan 25 14:50:42 2014  Eric Wong  &lt;normalperson@yhbt.net&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (send_child_error): retry write on EINTR to fix</div><div class='del'>-	  occasional Errno::EINTR from Process.spawn.</div><div class='del'>-</div><div class='del'>-	* process.c (recv_child_error): retry read on EINTR to fix</div><div class='del'>-	  occasional Errno::EINTR from Process.spawn.</div><div class='del'>-</div><div class='del'>-Sat Jan 25 14:21:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): result of assignment should be</div><div class='del'>-	  its rhs instead of returned value from a method.</div><div class='del'>-	  [ruby-core:60071] [Bug #9448]</div><div class='del'>-</div><div class='del'>-Sat Jan 25 11:16:19 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_extract_keywords): treat nil keyword_hash same as 0,</div><div class='del'>-	  for the case rb_scan_args returns nil if no keyword hash.</div><div class='del'>-</div><div class='del'>-Fri Jan 24 15:13:20 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos</div><div class='del'>-	  Patch by Giorgos Tsiftsis [Bug #9429] [ci skip]</div><div class='del'>-</div><div class='del'>-Thu Jan 23 20:20:17 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: try to wait a bit (0.1sec) when ruby process</div><div class='del'>-	  exits by signals because some SEGV tests fail because of not enough</div><div class='del'>-	  error output.</div><div class='del'>-</div><div class='del'>-Thu Jan 23 20:06:27 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: check the target thread.</div><div class='del'>-</div><div class='del'>-Thu Jan 23 19:59:16 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: check the target thread.</div><div class='del'>-</div><div class='del'>-Thu Jan 23 14:26:44 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: [DOC] Fix typo in options_of() example [Bug #9392]</div><div class='del'>-	  Patch by Giorgos Tsiftsis</div><div class='del'>-</div><div class='del'>-Thu Jan 23 13:56:16 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* README -&gt; README.md: [DOC] Format README with Markdown [Bug #9255]</div><div class='del'>-	* README.ja -&gt; README.ja.md: ditto</div><div class='del'>-</div><div class='del'>-Wed Jan 22 15:59:39 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (Init_thread): ConditionVariable and Queue</div><div class='del'>-	  are not able to copy.  [ruby-core:59961] [Bug #9440]</div><div class='del'>-</div><div class='del'>-Tue Jan 21 20:14:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): fix for platforms</div><div class='del'>-	  where PTHREAD_STACK_MIN is a dynamic value and not a compile-time</div><div class='del'>-	  constant.  [ruby-dev:47911] [Bug #9436]</div><div class='del'>-</div><div class='del'>-Tue Jan 21 17:55:09 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: [DOC] Use static w3.org uri [ci skip]</div><div class='del'>-	  Patch by @ykzts [Fix GH-484] https://github.com/ruby/ruby/pull/484</div><div class='del'>-</div><div class='del'>-Tue Jan 21 16:43:22 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: [DOC] Add simple example of Enumerable#zip [ci skip]</div><div class='del'>-	  Patch by @nruth on documenting-ruby/ruby#22</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/22</div><div class='del'>-</div><div class='del'>-Tue Jan 21 16:26:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): expand timer</div><div class='del'>-	  thread stack size to get rid of segfault on FreeBSD/powerpc64.</div><div class='del'>-	  based on the patch by Steve Wills at [ruby-core:59923].</div><div class='del'>-	  [ruby-core:56590] [Bug #8783]</div><div class='del'>-</div><div class='del'>-Tue Jan 21 04:31:23 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and</div><div class='del'>-	  IP_MULTICAST_TTL on Mac OS X and Windows.</div><div class='del'>-</div><div class='del'>-Tue Jan 21 00:39:15 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Use "byte" as default argument for</div><div class='del'>-	  IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option to follow</div><div class='del'>-	  the original multicast implementation.</div><div class='del'>-</div><div class='del'>-Mon Jan 20 20:20:27 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Use preprocessor macros to avoid repeated</div><div class='del'>-	  conditionals.</div><div class='del'>-</div><div class='del'>-Mon Jan 20 13:55:03 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/version.rb: [DOC] Use gender-neutral pronouns [ci skip]</div><div class='del'>-	* lib/rubygems/security.rb: ditto</div><div class='del'>-</div><div class='del'>-Sun Jan 19 06:38:48 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_equal): warn for this release and still rescue</div><div class='del'>-	  standard exceptions for a nicer transition. See #7688.</div><div class='del'>-	  Partly reverts r44502.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_comparable.rb: adapt assertion to match new behavior.</div><div class='del'>-</div><div class='del'>-Sun Jan 19 06:27:18 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_comparable.rb: specify behavior for the different</div><div class='del'>-	  kind of exceptions rescued (or not) by Comparable#==.</div><div class='del'>-</div><div class='del'>-Sat Jan 18 23:12:19 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket: Avoid unnecessary ppoll/select on Linux.</div><div class='del'>-	  Patch by Eric Wong.  [ruby-core:57950] [Bug #9039]</div><div class='del'>-</div><div class='del'>-Sat Jan 18 22:57:44 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated</div><div class='del'>-	  string.</div><div class='del'>-	  Patch by Ryan Brunner.  [ruby-core:58220] [Bug #9093]</div><div class='del'>-</div><div class='del'>-Sat Jan 18 22:35:15 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_update_max_fd): Return immediately if the given fd is small</div><div class='del'>-	  enough.</div><div class='del'>-</div><div class='del'>-Sat Jan 18 22:25:53 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Test O_CLOEXEC only once.</div><div class='del'>-	  Patch by Eric Wong.  [ruby-core:59419] [Feature #9328]</div><div class='del'>-</div><div class='del'>-Sat Jan 18 21:24:49 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket</div><div class='del'>-	  option takes a byte on OpenBSD.</div><div class='del'>-	  Fixed by Jeremy Evans.  [ruby-core:59496] [Bug #9350]</div><div class='del'>-</div><div class='del'>-Sat Jan 18 21:19:04 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Make proxy disabling working again.</div><div class='del'>-	  Fixed by Christophe Philemotte.   [ruby-core:59650] [Bug #9385]</div><div class='del'>-</div><div class='del'>-Fri Jan 17 20:05:02 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (Delegator): keep source information methods</div><div class='del'>-	  which start and end with '__'.  [ruby-core:59718] [Bug #9403]</div><div class='del'>-</div><div class='del'>-Fri Jan 17 17:58:04 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_s_constants): return its own constants for other</div><div class='del'>-	  than Module itself.  [ruby-core:59763] [Bug #9413]</div><div class='del'>-</div><div class='del'>-Tue Jan 16 00:17:00 2014  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.5.</div><div class='del'>-</div><div class='del'>-Wed Jan 15 20:30:31 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_binwrite): use writev(2) to avoid double write if available.</div><div class='del'>-</div><div class='del'>-	* configure.in: check writev(2)</div><div class='del'>-</div><div class='del'>-Wed Jan 15 14:04:33 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (get_encoding): respect BOM on pseudo encodings.</div><div class='del'>-	  [ruby-dev:47895] [Bug #9415]</div><div class='del'>-</div><div class='del'>-Wed Jan 15 14:03:47 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (get_actual_encoding): get actual encoding according to</div><div class='del'>-	  the BOM if exists.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): use according encoding, instead of</div><div class='del'>-	  pseudo encodings, UTF-{16,32}.  [ruby-core:59757] [Bug #8940]</div><div class='del'>-</div><div class='del'>-Tue Jan 14 21:07:22 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS</div><div class='del'>-	  on SizedQueue#clear. [ruby-core:59462] [Bug #9342]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb: add test. the patch is from</div><div class='del'>-	  Justin Collins.</div><div class='del'>-</div><div class='del'>-Tue Jan 14 15:58:43 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap</div><div class='del'>-	  depending on PRIsVALUE for 1.9.  [Backport #9406]</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback</div><div class='del'>-	  definition for 2.1 or older.  [ruby-core:59750] [Backport #9406]</div><div class='del'>-</div><div class='del'>-Tue Jan 14 11:28:44 2014  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (cfp): Fixes a SEGV issue in r44554.</div><div class='del'>-	  r11 can be broken by subroutine and sometimes causes SEGV at</div><div class='del'>-	  runtime.  Use r13 instead.</div><div class='del'>-</div><div class='del'>-Tue Jan 14 02:20:00 2014  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional</div><div class='del'>-	  digit for the quotient to be compatible with bigdecimal 1.2.1 and</div><div class='del'>-	  the former.  [ruby-core:59365] [#9316] [#9305]</div><div class='del'>-</div><div class='del'>-	* test/bigdecimal/test_bigdecimal.rb: tests for the above change.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4.</div><div class='del'>-</div><div class='del'>-Mon Jan 13 14:55:31 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: [DOC] Remove note about SSL package on RAA</div><div class='del'>-	  Since RAA has been deprecated, and the SSL package has been replaced</div><div class='del'>-	  with net/https this statement is entirely false and should be</div><div class='del'>-	  deleted. [Bug #9152]</div><div class='del'>-</div><div class='del'>-Mon Jan 13 14:47:07 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: [DOC] Remove dead link to RAA by Giorgos Tsiftsis</div><div class='del'>-	  Fixes the following bugs: [Bug #9152] [Bug #9268] [Bug #9394]</div><div class='del'>-	* lib/open-uri.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Jan 13 14:25:55 2014  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243]</div><div class='del'>-</div><div class='del'>-Mon Jan 13 12:03:00 2014  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS</div><div class='del'>-	  instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong.</div><div class='del'>-	  [Bug #9302] [ruby-core:59324]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb: add test</div><div class='del'>-</div><div class='del'>-Sun Jan 12 16:41:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load): keep type_map to get rid of memory leak.</div><div class='del'>-	  based on a patch by Eric Wong at [ruby-core:59699].  [Bug #9399]</div><div class='del'>-</div><div class='del'>-Sun Jan 12 09:21:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor</div><div class='del'>-	  constant macro to approximate decimal representation size of n-bits</div><div class='del'>-	  integer.</div><div class='del'>-</div><div class='del'>-	* iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better</div><div class='del'>-	  approximation.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.</div><div class='del'>-</div><div class='del'>-	* common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add</div><div class='del'>-	  dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS.</div><div class='del'>-</div><div class='del'>-Fri Jan 10 16:27:20 2014  Yuki Yugui Sonoda  &lt;yugui@google.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (cfp): Avoid generating invalid binary for</div><div class='del'>-	  NativeClient.</div><div class='del'>-	  r15 on x86_64 is reserved by NativeClient.  So r15 to cfp used to</div><div class='del'>-	  generate invalid binary under some combinations of compiler</div><div class='del'>-	  optimization flags.</div><div class='del'>-</div><div class='del'>-Fri Jan 10 18:01:41 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): allow bound method from a</div><div class='del'>-	  module, yet another method transplanting.</div><div class='del'>-</div><div class='del'>-Fri Jan 10 13:34:04 2014  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_aref_with): new instruction to optimize Hash#[],</div><div class='del'>-	  removing any allocation overhead when used with a string literal</div><div class='del'>-	  key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382]</div><div class='del'>-	* insns.def (opt_aset_with): new instruction to optimize Hash#[]=</div><div class='del'>-	* compile.c (iseq_compile_each): compiler shortcuts for new</div><div class='del'>-	  instructions</div><div class='del'>-	* hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for</div><div class='del'>-	  Hash#compare_by_identity to reflect frozen string sharing</div><div class='del'>-	* test/ruby/test_hash.rb (class TestHash): test for new behavior</div><div class='del'>-</div><div class='del'>-Fri Jan 10 06:23:21 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (Range#size): [DOC] improve description and add examples.</div><div class='del'>-	  Patch by @skade. [Fixes GH-501]</div><div class='del'>-</div><div class='del'>-Fri Jan 10 00:47:52 2014  Josef Stribny  &lt;strzibny@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/extconf.rb: fix to pass arrays instead of strings to</div><div class='del'>-	  libpathflag.  patch at [ruby-core:59665].  [Bug #9386]</div><div class='del'>-</div><div class='del'>-Thu Jan  9 20:49:22 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: -mstackrealign is necessary for -msse2 working.</div><div class='del'>-	  [ruby-core:54716] [Bug #8349]</div><div class='del'>-</div><div class='del'>-	* configure.in: use SSE2 instructions to drop unexpected precisions on</div><div class='del'>-	  other than mingw.  [ruby-core:59472] [Bug #8358]</div><div class='del'>-</div><div class='del'>-Thu Jan  9 20:31:10 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_objid_hash): should return `long'.  brushup r44534.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_hash): follow above change.</div><div class='del'>-</div><div class='del'>-Thu Jan  9 19:12:37 2014  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_pop_cfunc_frame): added.  It cares c_return event.</div><div class='del'>-	  The patch base by drkaes (Stefan Kaes).</div><div class='del'>-	  [Bug #9321]</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()</div><div class='del'>-	  instead of rb_frame_pop().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (raise_method_missing): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_vm_pop_cfunc_frame): add decl.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests.</div><div class='del'>-	  provided by drkaes (Stefan Kaes).</div><div class='del'>-</div><div class='del'>-	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):</div><div class='del'>-	  move definition of rb_frame_pop() and deprecate it.</div><div class='del'>-	  It doesn't care about `return' events.</div><div class='del'>-</div><div class='del'>-Thu Jan  9 17:40:28 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): should treat the return value of rb_objid_hash()</div><div class='del'>-	  as `long', because ruby assumes the hash value of the object id of</div><div class='del'>-	  an object is `long'.</div><div class='del'>-	  this fixes test failures on mswin64 introduced at r44525.</div><div class='del'>-</div><div class='del'>-Thu Jan  9 09:55:20 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with</div><div class='del'>-	  quotes should not have changed.  [ruby-core:59316] [Bug #9300]</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: fixed missing require.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: test</div><div class='del'>-</div><div class='del'>-Thu Jan  9 09:51:00 2014  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs</div><div class='del'>-	  should be able to roundtrip.  Thanks @splattael!</div><div class='del'>-</div><div class='del'>-	* test/psych/test_object_references.rb: test for change</div><div class='del'>-</div><div class='del'>-Wed Jan  8 22:53:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): when super called in a</div><div class='del'>-	  bound UnboundMethod generated from a module, no superclass is</div><div class='del'>-	  found since the current defined class is the module, then call</div><div class='del'>-	  method_missing in that case.  [ruby-core:59619] [Bug #9377]</div><div class='del'>-</div><div class='del'>-Wed Jan  8 15:55:21 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_objid_hash): return hash value from object ID with a</div><div class='del'>-	  salt, extract from rb_any_hash().</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_hash): return same value as rb_any_hash().</div><div class='del'>-	  fix r44125.  [ruby-core:59638] [Bug #9381]</div><div class='del'>-</div><div class='del'>-Wed Jan  8 13:12:41 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout::ExitException.catch): pass arguments</div><div class='del'>-	  for new instance.</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout::ExitException#exception): fallback to</div><div class='del'>-	  Timeout::Error if couldn't throw.  [ruby-dev:47872] [Bug #9380]</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): initialize ExitException with</div><div class='del'>-	  message for the fallback case.</div><div class='del'>-</div><div class='del'>-Tue Jan  7 12:43:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): should not rescue ordinarily</div><div class='del'>-	  raised ExitException, which should not be thrown.</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout::ExitException.catch): set @thread only if</div><div class='del'>-	  it ought to be caught.</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): when a custom exception is given,</div><div class='del'>-	  no instance is needed to be caught, so defer creating new instance</div><div class='del'>-	  until it is raised.  [ruby-core:59511] [Bug #9354]</div><div class='del'>-</div><div class='del'>-Tue Jan  7 10:16:02 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems master 21e409d / RubyGems 2.2.1.</div><div class='del'>-</div><div class='del'>-	  See http://rubygems.rubyforge.org/rubygems-update/History_txt.html</div><div class='del'>-	  for a list of bug fixes.</div><div class='del'>-</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Tue Jan  7 10:10:46 2014  Eric Wong &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/depend: add build dependencies for json extension</div><div class='del'>-	  [Bug #9374] [ruby-core:59609]</div><div class='del'>-	* ext/json/parser/depend: ditto</div><div class='del'>-</div><div class='del'>-Tue Jan  7 04:35:46 2014  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_add_hash): Fix consistency issue between Array#uniq and</div><div class='del'>-	  Array#uniq! [Bug #9340] [ruby-core:59457]</div><div class='del'>-	* test/ruby/test_array.rb (class TestArray): regression test for above.</div><div class='del'>-</div><div class='del'>-Mon Jan  6 21:28:48 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignore *-fake.rb generated even when CROSS_COMPILING = no</div><div class='del'>-	  since r42862.</div><div class='del'>-</div><div class='del'>-Sun Jan  5 20:14:14 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_equal): remove error hiding in Comparable#==.</div><div class='del'>-	  Comparable#== no longer rescues exceptions silently.</div><div class='del'>-	  This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_comparable.rb: adapt assertion to match new behavior.</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/method_attr.rb: fix bugs discovered by this change.</div><div class='del'>-</div><div class='del'>-	* test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests.</div><div class='del'>-</div><div class='del'>-Sat Jan  4 22:44:00 2014  Charlie Somerville  &lt;charliesome@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_set): return assigned value from setter method</div><div class='del'>-	  rather than struct object. [Bug #9353] [ruby-core:59509]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb (test_setter_method_returns_value): add test</div><div class='del'>-</div><div class='del'>-Sat Jan  4 21:44:31 2014  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use</div><div class='del'>-	  GC.stat(:key) instead of GC.stat.</div><div class='del'>-</div><div class='del'>-Sat Jan  4 19:15:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_syserr_fail_host_port): use format flags,</div><div class='del'>-	  '+' to inspect, ' ' to quote unprintables.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_syserr_fail_path): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_syserr_fail_raddrinfo): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_syserr_fail_host_port): add errno</div><div class='del'>-	  argument version and use rb_syserr_fail_str() instead of</div><div class='del'>-	  rb_sys_fail_str() with restoring errno.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_syserr_fail_path): ditto, and</div><div class='del'>-	  rb_syserr_fail().</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use</div><div class='del'>-	  rsock_syserr_fail_raddrinfo().</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setup_domain_and_type): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  4 17:18:58 2014  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (RubyVM::OPTS): get rid of a garbage character.</div><div class='del'>-</div><div class='del'>-Sat Jan  4 10:17:54 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingFinger#make_socket):  Use</div><div class='del'>-	  ipv4_multicast_ttl option for portability.</div><div class='del'>-</div><div class='del'>-Sat Jan  4 10:15:47 2014  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/ring.rb (Rinda::RingFinger#make_socket):  Use</div><div class='del'>-	  ipv4_multicast_loop option for portability.  Patch by Jeremy Evans.</div><div class='del'>-	  [ruby-trunk - Bug #9351]</div><div class='del'>-</div><div class='del'>-Fri Jan  3 19:09:00 2014  Eric Wong  &lt;normalperson@yhbt.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno</div><div class='del'>-	  before calling rb_sys_fail_str to prevent [BUG] errno == 0.</div><div class='del'>-	  Patch by Eric Wong. [ruby-core:59498] [Bug #9352]</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_path): ditto</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto</div><div class='del'>-	* ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto</div><div class='del'>-</div><div class='del'>-Fri Jan  3 10:43:57 2014  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/cacert.pem: generate new CA cert, since the last one</div><div class='del'>-	  expired. [Bug #9341] [ruby-core:59459]</div><div class='del'>-	* test/net/imap/server.crt: new server cert signed with updated CA.</div><div class='del'>-	* test/net/imap/Makefile: add `make regen_certs` to automate this</div><div class='del'>-	  process.</div><div class='del'>-</div><div class='del'>-Fri Jan  3 00:09:54 2014  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal: update class method call style from :: to .</div><div class='del'>-	  in documentation and usage.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values.</div><div class='del'>-	  Computations were made using ruby 2.0.0p247 to ensure</div><div class='del'>-	  no effect of the recent BigDecimal bug.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/sample/nlsolve.rb: fix indent.</div><div class='del'>-</div><div class='del'>-Thu Jan  2 16:07:21 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): freeze converted str.</div><div class='del'>-</div><div class='del'>-Thu Jan  2 04:15:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): remove an extra modifier from the forward</div><div class='del'>-	  declaration to match the actual definition.  [ruby-core:59451]</div><div class='del'>-	  [Bug #9338]</div><div class='del'>-</div><div class='del'>-Thu Jan  2 01:23:30 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing): use ALLOCV_N() instead of</div><div class='del'>-	  ALLOCA_N() and rb_ary_tmp_new().</div><div class='del'>-</div><div class='del'>-Thu Jan  2 00:53:16 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_zip): use ALLOCV_N() instead of ALLOCA_N().</div><div class='del'>-</div><div class='del'>-Thu Jan  2 00:04:29 2014  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_keys): make rb_hash_keys() static.</div><div class='del'>-	  it is no longer used from array.c since r43969.</div><div class='del'>-	  the patch is from normalperson (Eric Wong).</div><div class='del'>-	  [ruby-core:59449] [Feature #9336]</div><div class='del'>-</div><div class='del'>-	* internal.h: remove definition of rb_hash_keys().</div><div class='del'>-</div><div class='del'>-Wed Jan  1 18:19:35 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after</div><div class='del'>-	  LIBPATHFLAG and RPATHFLAG are set.  [ruby-dev:47868] [Bug #9317]</div><div class='del'>-</div><div class='del'>-Wed Jan  1 11:12:29 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use SSE2 instructions for drop unexpected</div><div class='del'>-	  precisions.  [ruby-core:54738] [Bug #8358]</div><div class='del'>-</div><div class='del'>-Tue Dec 31 23:49:07 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_raise): add cause: optional keyword argument.</div><div class='del'>-	  [ruby-core:58610] [Feature #8257] [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Tue Dec 31 21:44:17 2013  Akio Tajima &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: remove HAVE_FSEEKO because fseeko removed from win32/win32.c</div><div class='del'>-	  Fixed [Bug #9333].</div><div class='del'>-</div><div class='del'>-Tue Dec 31 21:02:27 2013  Masaki Matsushita  &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fwrite): allocate frozen str only when str is not converted.</div><div class='del'>-</div><div class='del'>-Tue Dec 31 15:44:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (RbConfig): expand RUBY_SO_NAME for extensions</div><div class='del'>-	  backward compatibility.  [ruby-core:59426] [Bug #9329]</div><div class='del'>-</div><div class='del'>-Mon Dec 30 23:33:07 2013  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: [DOC] adding extra example in docs.</div><div class='del'>-	  patched by Steve Klabnik. [Bug #9210]</div><div class='del'>-</div><div class='del'>-Mon Dec 30 18:34:18 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask</div><div class='del'>-	  encoding index and ignore dummy flags.  [ruby-core:59354] [Bug #9314]</div><div class='del'>-</div><div class='del'>-Mon Dec 30 16:11:52 2013  WATANABE Hirofumi  &lt;eban@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: needs CXXFLAGS.  [ruby-core:59393][Bug #9320]</div><div class='del'>-</div><div class='del'>-Sun Dec 29 18:36:54 2013  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): Make CXXFLAGS customizable.</div><div class='del'>-	  Patch by Kohei Suzuki (eagletmt). [Fixes GH-492]</div><div class='del'>-</div><div class='del'>-Sun Dec 29 12:11:11 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_from_me): keep iclass as-is, to make inheritance</div><div class='del'>-	  chain consistent.  [ruby-core:59358] [Bug #9315]</div><div class='del'>-</div><div class='del'>-	* proc.c (method_owner): return the original defined_class from</div><div class='del'>-	  prepended iclass, instead.</div><div class='del'>-</div><div class='del'>-Sun Dec 29 08:47:24 2013  Lucas Allan Amorim  &lt;lucas.allan@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf</div><div class='del'>-	  with a hash as parameter.  [Fixes GH-491]</div><div class='del'>-</div><div class='del'>-Sun Dec 29 07:27:51 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_eq_recursive): Fix the return value, the value for</div><div class='del'>-	  failed #&lt;=&gt; should be nil. It was raising a NoMethodError for</div><div class='del'>-	  the test case TestComparable#test_no_cmp (undefined method `&gt;'</div><div class='del'>-	  for false:FalseClass). Yet one more reason for #7688.</div><div class='del'>-</div><div class='del'>-Sat Dec 28 22:21:59 2013  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (Kernel#&lt;=&gt;) surround Comparable operators with &lt;code&gt; tags.</div><div class='del'>-	  The #== method was hidden in ri/rdoc's output and was highlighting</div><div class='del'>-	  the line instead.</div><div class='del'>-</div><div class='del'>-Sat Dec 28 17:24:00 2013  DV Suresh  &lt;e@dvsuresh.me&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typos</div><div class='del'>-	* ext/fiddle/lib/fiddle/import.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych.rb: ditto</div><div class='del'>-	* ext/psych/lib/psych/nodes/sequence.rb: ditto</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: ditto</div><div class='del'>-	* ext/tk/lib/tcltk.rb: ditto</div><div class='del'>-</div><div class='del'>-Sat Dec 28 00:42:37 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to</div><div class='del'>-	  isolate command argument state from outer scope.</div><div class='del'>-	  [ruby-core:59342] [Bug #9308]</div><div class='del'>-</div><div class='del'>-Fri Dec 27 13:25:03 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/{setup.mak,Makefile.sub}: update fake.rb like</div><div class='del'>-	  template/fake.rb.in.</div><div class='del'>-</div><div class='del'>-Thu Dec 26 16:10:41 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (fake.rb): should depend on version.h because</div><div class='del'>-	  if RUBY_VERSION is updated, fake.rb need to say the new version</div><div class='del'>-	  to avoid install error in rbconfig.rb.</div><div class='del'>-</div><div class='del'>-Thu Dec 26 14:25:03 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (HASH_REJECT_COPY_EXTRA_STATES): turn off the old</div><div class='del'>-	  behavior, copying extra states by accident.</div><div class='del'>-</div><div class='del'>-Thu Dec 26 10:49:14 2013  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION): 2.2.0 development has started.</div><div class='del'>-</div><div class='del'>-Thu Dec 26 10:27:53 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb (tag): support 2.1.1 semi-automatic tagging and 2.2.0</div><div class='del'>-	  explicit tagging.</div><div class='del'>-</div><div class='del'>-Thu Dec 26 06:35:25 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: Having any mandatory keyword argument increases min arity</div><div class='del'>-	  [#9299]</div><div class='del'>-</div><div class='del'>-Thu Dec 26 06:27:08 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: Having optional keyword arguments makes maximum arity +1,</div><div class='del'>-	  not unlimited [#8072]</div><div class='del'>-</div><div class='del'>-Thu Dec 26 01:09:57 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/release.sh: make symbolic links.</div><div class='del'>-</div><div class='del'>-Thu Dec 26 00:45:33 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: support new version scheme.</div><div class='del'>-</div><div class='del'>-Wed Dec 25 22:44:14 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_arguments): set arg_keyword_check from</div><div class='del'>-	  nd_cflag, which is set by parser.  internal ID is used for</div><div class='del'>-	  unnamed keyword rest argument, which should be separated from no</div><div class='del'>-	  keyword check.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is</div><div class='del'>-	  present.</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_tail_gen): set keywords check to nd_cflag, which</div><div class='del'>-	  equals to that keyword rest is not present.</div><div class='del'>-</div><div class='del'>-Wed Dec 25 22:32:19 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb: [DOC] rdoc format patch by Giorgos Tsiftsis [Bug #9146]</div><div class='del'>-</div><div class='del'>-Wed Dec 25 20:30:10 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_parameters): push argument type symbol only for</div><div class='del'>-	  unnamed rest keywords argument.</div><div class='del'>-</div><div class='del'>-Wed Dec 25 20:28:48 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if</div><div class='del'>-	  having rest keywords argument.  [ruby-core:53298] [Bug #8072]</div><div class='del'>-</div><div class='del'>-Wed Dec 25 18:29:22 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (argument_error): insert dummy frame to make</div><div class='del'>-	  a backtrace object intead of modify backtrace string array.</div><div class='del'>-	  [Bug #9295]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: add a test for this patch.</div><div class='del'>-	  fix test to compare a result of Exception#backtrace with</div><div class='del'>-	  a result of Exception#backtrace_locations.</div><div class='del'>-</div><div class='del'>-Wed Dec 25 13:00:54 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: let mingw do something black-magic, and check if</div><div class='del'>-	  _gmtime64_s() is available actually.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and</div><div class='del'>-	  _localtime64_s() if available, not depending on very confusing</div><div class='del'>-	  mingw variants macros.  based on the patch by phasis68 (Heesob</div><div class='del'>-	  Park) at [ruby-core:58764].  [ruby-core:58391] [Bug #9119]</div><div class='del'>-</div><div class='del'>-Wed Dec 25 12:33:41 2013  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/trick2013/: added the award-winning entries of TRICK 2013.</div><div class='del'>-	  See https://github.com/tric/trick2013 for the contest outline.</div><div class='del'>-	  (Matz has approved the attachment.)</div><div class='del'>-</div><div class='del'>-Wed Dec 25 10:42:02 2013  Yamashita Yuu  &lt;yamashita@geishatokyo.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): Declare a constant</div><div class='del'>-	  `OP_MSIE_SSLV2_RSA_PADDING` only if the macro is defined.  The</div><div class='del'>-	  `SSL_OP_MSIE_SSLV2_RSA_PADDING` has been removed from latest</div><div class='del'>-	  snapshot of OpenSSL 1.0.1.  [Fixes GH-488]</div><div class='del'>-</div><div class='del'>-Wed Dec 25 01:03:00 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bind_local_variables): allowing binding to list its</div><div class='del'>-	  local variables.  patch by Jack Danger Canty &lt;jackdanger AT</div><div class='del'>-	  squareup.com&gt; at [ruby-core:56543].  [Feature #8773]</div><div class='del'>-</div><div class='del'>-Tue Dec 24 23:20:38 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (assert_ownership_user): new</div><div class='del'>-	  assertion for user ownership.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_chown_error),</div><div class='del'>-	  (test_chown_without_permission, test_chown_with_root):</div><div class='del'>-	  based on the patch by vajrasky (Vajrasky Kok) at</div><div class='del'>-	  [ruby-core:59298].  [Feature #9292]</div><div class='del'>-</div><div class='del'>-Tue Dec 24 16:28:05 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): consider visibility only if self</div><div class='del'>-	  in the caller is same as the receiver, otherwise make public as</div><div class='del'>-	  well as old behavior.  [ruby-core:57747] [Bug #9005]</div><div class='del'>-	  [ruby-core:58497] [Bug #9141]</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_cref_in_context): return ruby level cref if self is</div><div class='del'>-	  same.</div><div class='del'>-</div><div class='del'>-Tue Dec 24 14:13:14 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: add a refer to URL.</div><div class='del'>-</div><div class='del'>-Tue Dec 24 13:48:45 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: add a document about RGenGC.</div><div class='del'>-	  Reviewed by havenwood.</div><div class='del'>-	  [misc #8962]</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 24 12:11:43 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RARRAY_ASET): try to avoid compiler warning.</div><div class='del'>-	  [Bug #9287]</div><div class='del'>-</div><div class='del'>-Tue Dec 24 05:04:56 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (setup): should not call</div><div class='del'>-	  Process.groups for Windows.  get rid of many errors introduced by</div><div class='del'>-	  r44364.</div><div class='del'>-</div><div class='del'>-Mon Dec 23 18:37:16 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/fileasserts.rb (assert_ownership_group): new</div><div class='del'>-	  assertion for group ownership.</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_chown{,_verbose,_noop}):</div><div class='del'>-	  based on the patch by vajrasky (Vajrasky Kok) at</div><div class='del'>-	  [ruby-core:59281].  [Feature #9286]</div><div class='del'>-</div><div class='del'>-Mon Dec 23 15:53:45 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (HAS_EXTRA_STATES): warn extra states only when something</div><div class='del'>-	  differ.  [ruby-core:59254] [Bug #9275]</div><div class='del'>-</div><div class='del'>-Mon Dec 23 12:42:13 2013  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Have to_h raise on elements that are not key-value pairs</div><div class='del'>-	  [#9239]</div><div class='del'>-</div><div class='del'>-	* enum.c: ditto</div><div class='del'>-</div><div class='del'>-Mon Dec 23 05:01:55 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc: [DOC] Added example for underscore</div><div class='del'>-	  conventions in method names. Also added doc to clarify encoding</div><div class='del'>-	  character set support for Ruby programs and elaborated on defining</div><div class='del'>-	  predicate and bang methods. Based on a patch by @gaurish</div><div class='del'>-	  [Fixes GH-477] https://github.com/ruby/ruby/pull/477</div><div class='del'>-</div><div class='del'>-Mon Dec 23 03:18:09 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* doc/ChangeLog-1.9.3: [DOC] Fix typos by @dvsuresh</div><div class='del'>-	  [Fixes GH-485] https://github.com/ruby/ruby/pull/485</div><div class='del'>-	* ext/openssl/ossl_config.c: ditto</div><div class='del'>-	* lib/rss/utils.rb, lib/time.rb: ditto</div><div class='del'>-	* test/ruby/envutil.rb: ditto</div><div class='del'>-</div><div class='del'>-Sun Dec 22 23:56:56 2013  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* lib/{rake,rdoc,rss}/*, test/rexml/test_listener.rb: [DOC] Fix typos</div><div class='del'>-	  by @dvsuresh [Fixes GH-486] https://github.com/ruby/ruby/pull/486</div><div class='del'>-</div><div class='del'>-Sun Dec 22 11:08:47 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_ext_builder.rb:  Fix warning due to ambiguous</div><div class='del'>-	  expression.</div><div class='del'>-</div><div class='del'>-Sun Dec 22 11:05:53 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/commands/install_command.rb:  Restore gem install</div><div class='del'>-	  --ignore-dependencies for remote gems</div><div class='del'>-	* test/rubygems/test_gem_commands_install_command.rb:  Test for the</div><div class='del'>-	  above.</div><div class='del'>-</div><div class='del'>-Sun Dec 22 10:23:40 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb:  Set RDoc to release version.</div><div class='del'>-</div><div class='del'>-Sun Dec 22 10:19:07 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb:  Set RubyGems to release version.</div><div class='del'>-</div><div class='del'>-Sun Dec 22 10:16:08 2013  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (module Gem):  Fix comment for</div><div class='del'>-	  Gem::load_path_insert_index.</div><div class='del'>-</div><div class='del'>-Sun Dec 22 04:07:55 2013  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): don't show obsolete warnings for</div><div class='del'>-	  RUBY_FREE_MIN/RUBY_HEAP_MIN_SLOTS if</div><div class='del'>-	  RUBY_GC_HEAP_FREE_SLOTS/RUBY_GC_HEAP_INIT_SLOTS are given.</div><div class='del'>-	  [Bug #9276]</div><div class='del'>-</div><div class='del'>-Sat Dec 21 13:00:20 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: remove unnecessary the source path from EEXIST error</div><div class='del'>-	  messages and show the destination path only.  [ruby-core:59202]</div><div class='del'>-	  [Feature #9263]</div><div class='del'>-</div><div class='del'>-Sat Dec 21 12:37:19 2013  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not</div><div class='del'>-	  consider encodings in hosts file.  [ruby-core:59239] [Bug #9273]</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 21 05:43:27 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: replace RUBY_PATCHLEVEL_STR in version.h to</div><div class='del'>-	  show users that this ruby is a preview/rc version.</div><div class='del'>-</div><div class='del'>-Sat Dec 21 05:03:49 2013  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (fake.rb): fixed wrong RUBY_PLATFORM, to correctly</div><div class='del'>-	  install win32.h.</div><div class='del'>-	  [ruby-core:58801][Bug #9199] reported by arton.</div><div class='del'>-</div><div class='del'>-For the changes before 2.1.0, see doc/ChangeLog-2.1.0</div><div class='del'>-For the changes before 2.0.0, see doc/ChangeLog-2.0.0</div><div class='del'>-For the changes before 1.9.3, see doc/ChangeLog-1.9.3</div><div class='del'>-For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-coding: us-ascii</div><div class='del'>-add-log-time-format: (lambda ()</div><div class='del'>-  (let* ((time (current-time))</div><div class='del'>-	 (system-time-locale "C")</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-change-log-indent-text: 2</div><div class='del'>-end:</div><div class='del'>-vim: tabstop=8 shiftwidth=2</div><div class='head'>diff --git a/doc/ChangeLog-2.3.0 b/doc/ChangeLog-2.3.0<br/>deleted file mode 100644<br/>index 7f3c4e672a..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-2.3.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.3.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,12187 +0,0 @@</div><div class='del'>-Thu Dec 24 23:01:57 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added entry for CGI.escapeHTML optimization.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 18:43:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_compile_error_with_enc, rb_compile_error),</div><div class='del'>-	  (rb_compile_bug): deprecate internal functions.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yyerror): construct exception message with</div><div class='del'>-	  source code and caret.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 17:25:42 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (append_compile_error), parse.y (compile_error):</div><div class='del'>-	  preserve encoding of source file name in exceptions.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_compile_error_str, rb_compile_bug_str): add.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 16:17:47 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (fake.rb): $(arch)-fake.rb must depend on miniruby because</div><div class='del'>-	  it may depend on miniruby.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 16:13:05 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../..</div><div class='del'>-	  It is the top of build directory, not topsrcdir.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 15:02:42 2015  sorah (Shota Fukumori)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (IO.popen): Refactor. Avoid assigning in condition.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 15:01:38 2015  sorah (Shota Fukumori)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 14:44:08 2015  sorah (Shota Fukumori)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (IO.popen): Enable on Ruby 1.9 where chdir option is not</div><div class='del'>-	  supported on IO.popen</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not</div><div class='del'>-	  tested... :/</div><div class='del'>-</div><div class='del'>-Thu Dec 24 14:57:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: rename</div><div class='del'>-	  "Implementation changes" section to</div><div class='del'>-	  "Supported platform changes" section.</div><div class='del'>-</div><div class='del'>-	* NEWS: add "Implementation improvements" and add several entries.</div><div class='del'>-</div><div class='del'>-	* NEWS: add NEWS entries by Eric Wong. [ruby-core:72450]</div><div class='del'>-</div><div class='del'>-Thu Dec 24 00:26:05 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/extconf.rb: fix gem build failure on Windows.</div><div class='del'>-	  only win32_vk.inc is included in the gem and no dependencies for</div><div class='del'>-	  the header, so that gperf will not be mandatory.</div><div class='del'>-	  [ruby-core:72453] [Bug #11866]</div><div class='del'>-</div><div class='del'>-	* ext/io/console/io-console.gemspec: include depend file and</div><div class='del'>-	  win32_vk header.</div><div class='del'>-</div><div class='del'>-Wed Dec 23 23:58:44 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_readwrite_syserr_fail): works with the given errno than</div><div class='del'>-	  thread local errno.</div><div class='del'>-</div><div class='del'>-Wed Dec 23 17:57:45 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c, io.c, util.c: prefer rb_syserr_fail with saved errno</div><div class='del'>-	  over setting errno then call rb_sys_fail, not to be clobbered</div><div class='del'>-	  potentially and to reduce thread local errno accesses.</div><div class='del'>-</div><div class='del'>-Wed Dec 23 11:58:52 2015  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Fix document. Default value of the first</div><div class='del'>-	  argument of `String#split` is not `$;` but `nil`.</div><div class='del'>-	  When `nil` is passed as first argument, `$;` is used.</div><div class='del'>-	  [ci skip] [Bug #11729] [ruby-dev:49378]</div><div class='del'>-</div><div class='del'>-Wed Dec 23 07:15:17 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_init_sock): reject reserved FDs</div><div class='del'>-	  [ruby-core:72445] [Bug #11862]</div><div class='del'>-</div><div class='del'>-Wed Dec 23 02:59:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (__STDC_WANT_LIB_EXT1__): necessary to use memset_s</div><div class='del'>-	  in strict C99 mode.</div><div class='del'>-</div><div class='del'>-Wed Dec 23 02:34:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): move direct threaded VM code to get rid of</div><div class='del'>-	  mixed declarations and code, and enable it only for gcc since it</div><div class='del'>-	  depends on a gcc extension.</div><div class='del'>-</div><div class='del'>-Wed Dec 23 02:23:19 2015  Yuki Nishijima  &lt;mail@yukinishijima.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0</div><div class='del'>-</div><div class='del'>-	* NEWS: Add news about the did_you_mean gem</div><div class='del'>-</div><div class='del'>-Wed Dec 23 02:18:57 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: [DOC] remove an extra word "here".</div><div class='del'>-	  [Fix GH-1169]</div><div class='del'>-</div><div class='del'>-Wed Dec 23 01:58:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (USE_DIRECT_THREADED_VM): enable direct threaded VM by</div><div class='del'>-	  the default.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 22:15:53 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (internal_object_p): should not expose singleton classes</div><div class='del'>-	  without a metaclass.  based on patches by ko1 and shugo.</div><div class='del'>-	  [Bug #11740]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_singleton_class_object_p): added.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 22:15:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/io-console.gemspec: bump up to 0.4.4.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 22:11:06 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Added news entry of Psych 2.0.17</div><div class='del'>-</div><div class='del'>-Tue Dec 22 22:09:01 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Added news entry of RDoc 4.2.1</div><div class='del'>-</div><div class='del'>-Tue Dec 22 21:20:00 2015  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: bump version to 1.2.8.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 21:08:05 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc.rb: bump version to 4.2.1. It contains following fixes.</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/340</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/341</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/367</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/368</div><div class='del'>-	* lib/rdoc/*: ditto.</div><div class='del'>-	* test/rdoc/*: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 20:25:33 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bump version to 2.0.17</div><div class='del'>-	* ext/psych/psych.gemspec: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 20:14:47 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: move vm_callee_setup_block_arg() (and related</div><div class='del'>-	  functions) to the latter location.</div><div class='del'>-	  This moving recovers performance a little.</div><div class='del'>-	  [Bug #11829]</div><div class='del'>-</div><div class='del'>-Tue Dec 22 15:21:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_compat_and_valid): as scrub does nothing for dummy</div><div class='del'>-	  encoding string now, incompatible encoding is not a matter.</div><div class='del'>-</div><div class='del'>-Tue Dec 22 14:31:28 2015  Toru Iwase  &lt;tietew@tietew.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML</div><div class='del'>-	  should return unfrozen new string.</div><div class='del'>-	  [ruby-core:72426] [Bug #11858]</div><div class='del'>-</div><div class='del'>-Tue Dec 22 05:39:58 2015  Takashi Kokubun  &lt;takashikkbn@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/cgi/escape/escape.c (preserve_original_state): Preserve</div><div class='del'>-	  original state for tainted and frozen.  [Fix GH-1166]</div><div class='del'>-	  [ruby-dev:49451] [Bug #11855]</div><div class='del'>-</div><div class='del'>-Tue Dec 22 03:57:20 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_init_sock): check FD after validating</div><div class='del'>-	* test/socket/test_basicsocket.rb (test_for_fd): new</div><div class='del'>-	  [ruby-core:72418] [Bug #11854]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 21:29:45 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (struct ivar_update): rename "extended" to "iv_extended"</div><div class='del'>-	  to avoid name conflict with /usr/include/floatingpoint.h on</div><div class='del'>-	  Solaris. [Bug #11853] [ruby-dev:49448]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 12:15:32 2015  Kimura Wataru  &lt;kimuraw@i.nifty.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: handled rlimit value same as r52277</div><div class='del'>-	  [Bug #11852][ruby-dev:49446]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 10:21:22 2015  Ilya Vassilevsky &lt;vassilevsky@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (open_timeout): update default value in RDoc</div><div class='del'>-	  [ruby-core:72413]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 10:18:46 2015  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it</div><div class='del'>-	  did before.  [ruby-core:72409] [Bug #11851]</div><div class='del'>-</div><div class='del'>-Mon Dec 21 09:33:17 2015  Karol Bucek  &lt;kares@users.noreply.github.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket): fix</div><div class='del'>-	  NotImplementedError typo.  [Fix GH-1165]</div><div class='del'>-</div><div class='del'>-Sun Dec 20 20:54:51 2015  Takashi Kokubun  &lt;takashikkbn@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cgi/escape/escape.c: Optimize CGI.escapeHTML for</div><div class='del'>-	  ASCII-compatible encodings.  [Fix GH-1164]</div><div class='del'>-</div><div class='del'>-Sun Dec 20 15:36:46 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: revert r53123. It breaks compatibility like thor and</div><div class='del'>-	  rspec-rails.</div><div class='del'>-	  We should try with Ruby 2.4 or 3.0.</div><div class='del'>-	  [Bug #11842][ruby-core:72374]</div><div class='del'>-	* lib/rdoc/erb_partial.rb: ditto.</div><div class='del'>-	* template/verconf.h.tmpl: ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 20 11:43:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): allow here documents in labeled</div><div class='del'>-	  argument.  [ruby-core:72396] [Bug #11849]</div><div class='del'>-</div><div class='del'>-Sun Dec 20 11:14:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): should check Symbol or not.</div><div class='del'>-	  [Bug #11850]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sun Dec 20 11:01:57 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): fix notation.</div><div class='del'>-</div><div class='del'>-Sun Dec 20 10:54:15 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): fix notation.</div><div class='del'>-</div><div class='del'>-Sun Dec 20 00:29:00 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_proc_get_iseq): proc made from symbol does not have</div><div class='del'>-	  iseq.  fix infinite loop.  [ruby-core:72381] [Bug #11845]</div><div class='del'>-</div><div class='del'>-Sat Dec 19 20:06:10 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1250.c: Should not use C++ style comments (C99 feature).</div><div class='del'>-	  [Bug #11843]</div><div class='del'>-</div><div class='del'>-Sat Dec 19 17:17:04 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):</div><div class='del'>-	  use WEBrick::Utils::TimeoutHandler::Thread, which is ignored by</div><div class='del'>-	  LeakChecker#find_threads, instead of ::Thread to get rid of</div><div class='del'>-	  thread leak checker.  since this TimeoutHandler is resident</div><div class='del'>-	  during tests because of Singleton, it waits for the next timeout</div><div class='del'>-	  if it has any schedules.  in the case of nested timeouts, inner</div><div class='del'>-	  timeout does not cancel outer timeouts and then those schedules</div><div class='del'>-	  still remain.</div><div class='del'>-</div><div class='del'>-Sat Dec 19 14:28:01 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (Init_zlib): [DOC] Fix double-word typo and</div><div class='del'>-	  grammatical error.  [Fix GH-1162]</div><div class='del'>-</div><div class='del'>-Sat Dec 19 14:23:59 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#initialize): [DOC] Fix double-word typo.</div><div class='del'>-	  [Fix GH-1161]</div><div class='del'>-</div><div class='del'>-Sat Dec 19 10:33:33 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250</div><div class='del'>-	  from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Dec 18 21:26:54 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): To prevent</div><div class='del'>-	  potential deadlocks, Queue is used to tell update of @timeout_info</div><div class='del'>-	  instead of sleep and wakeup. [Bug #11742] [ruby-dev:49387]</div><div class='del'>-</div><div class='del'>-Fri Dec 18 17:24:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ibf_load_object_string): use fstring if frozen string.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 16:54:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_set_encoding): add StringIO's own</div><div class='del'>-	  encoding and separate it from the buffer string to override the</div><div class='del'>-	  encoding of string when reading.  [ruby-core:72189] [Bug #11827]</div><div class='del'>-	  note that setting the encoding of its buffer string directly</div><div class='del'>-	  without StringIO#set_encoding may cause unpredictable behavior.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 16:50:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ibf_load_setup): check tainted string argument.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 16:12:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: define USE_LAZY_LOAD if it is not defined.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 15:40:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_unget_bytes): extract from</div><div class='del'>-	  strio_ungetbyte to share with strio_ungetc.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 12:39:42 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/*.rdoc: separated modifier at sentence.</div><div class='del'>-	  [ci skip][fix GH-1121] Patch by @clandry94</div><div class='del'>-</div><div class='del'>-Fri Dec 18 12:09:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when</div><div class='del'>-	  the current position is after the end.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 11:24:48 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make, check_override_opt_method):</div><div class='del'>-	  should check whether a newly created method overrides an optimize</div><div class='del'>-	  method in case the method is defined in a prepended module of a</div><div class='del'>-	  built-in class.</div><div class='del'>-	  [ruby-core:72226] [Bug #11836]</div><div class='del'>-</div><div class='del'>-Fri Dec 18 11:09:38 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): call RUBY_DTRACE_CMETHOD_RETURN_HOOK instead of</div><div class='del'>-	  RUBY_DTRACE_METHOD_RETURN_HOOK.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 10:24:44 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax.</div><div class='del'>-	  [fix GH-1127] Patch by @koic</div><div class='del'>-</div><div class='del'>-Fri Dec 18 09:44:47 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: fix double words typo.</div><div class='del'>-	  [ci skip][fix GH-1157] Patch by @jwworth</div><div class='del'>-</div><div class='del'>-Fri Dec 18 09:42:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.c: fix a typo.</div><div class='del'>-	  [ci skip][fix GH-1159] Patch by @akshay-vishnoi</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 18 07:39:01 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_check_redefinition_opt_method): should check the real</div><div class='del'>-	  class instead of the origin iclass.</div><div class='del'>-	  [ruby-core:72188] [Bug #11826]</div><div class='del'>-</div><div class='del'>-Thu Dec 17 22:13:10 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (vm_caller_setup_arg_block): remove code for ifunc</div><div class='del'>-	  because it was made unnecessary by r52138.</div><div class='del'>-</div><div class='del'>-Thu Dec 17 16:13:10 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_block_arity): should not call GetProcPtr() for symbols.</div><div class='del'>-	  [ruby-core:72205] [Bug #11830]</div><div class='del'>-</div><div class='del'>-Thu Dec 17 14:16:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_scrub): the result should be infected by the</div><div class='del'>-	  original string.</div><div class='del'>-</div><div class='del'>-Thu Dec 17 13:35:27 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_substr_append, econv_primitive_convert):</div><div class='del'>-	  the result should be infected by the original string.</div><div class='del'>-</div><div class='del'>-Thu Dec 17 09:46:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_names_iter): should consider encoding of regexp.</div><div class='del'>-	  [ruby-core:72185] [Bug #11825]</div><div class='del'>-</div><div class='del'>-Thu Dec 17 03:52:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): should not compare with Qfalse and FALSE.</div><div class='del'>-	  Pointed at http://d.hatena.ne.jp/nagachika/20151216/ruby_trunk_changes_53128_53163</div><div class='del'>-</div><div class='del'>-Thu Dec 17 03:15:25 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method_each_type): should not set fastpath</div><div class='del'>-	  with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.</div><div class='del'>-</div><div class='del'>-	  Normally, we can not use keyword arguments for this kind of methods,</div><div class='del'>-	  (obj.foo = 1), but we can set alias names for them.</div><div class='del'>-	  [Bug #11657]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add a test for this fix.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 20:32:43 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/handle.c: check tainted string arguments.</div><div class='del'>-	  Patch provided by tenderlove and nobu.</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_handle.rb (class TestHandle): add test for above.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Wed Dec 16 19:30:56 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc.</div><div class='del'>-	  [ruby-core:72083] [Bug #11811]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 16:17:34 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: fix spelling errors</div><div class='del'>-</div><div class='del'>-Wed Dec 16 16:04:49 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: note IO#advise change [ruby-core:72168]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 15:35:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: fix mark miss for proc given as passed block.</div><div class='del'>-	  [Bug #11750]</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_proc_from_block): should return a Proc object</div><div class='del'>-	  if block is given. Previous implementation returns</div><div class='del'>-	  a Proc object only when corresponding Proc object is not</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: add a test for this bug.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 12:24:59 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* test_struct.rb: Test that initialize is overridable [#11708]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 10:49:51 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_command, block_call): fix `&amp;.` calls after</div><div class='del'>-	  block_call.  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 00:53:45 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): Acquire</div><div class='del'>-	  TimeoutMutex only when accessing @timeout_info for avoiding</div><div class='del'>-	  potential deadlock. [Bug #11742] [ruby-dev:49387]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 00:39:27 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: [DOC] fix double-word typo.  [Fix GH-1153]</div><div class='del'>-</div><div class='del'>-Wed Dec 16 00:25:41 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):</div><div class='del'>-	  TimeoutMutex should be acquired when accessing @timeout_info.</div><div class='del'>-	  To avoid deadlock, interrupt() calls are delayed.</div><div class='del'>-	  Due to the mutex, it is safe to treat ary without ary.dup.</div><div class='del'>-	  [Bug #11742] [ruby-dev:49387]</div><div class='del'>-</div><div class='del'>-Tue Dec 15 23:13:10 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Delete excess semicolon after RUBY_ALIAS_FUNCTION().</div><div class='del'>-	  Suppress "syntax error:  empty declaration" warnings by</div><div class='del'>-	  Oracle Solaris Studio 12.x on Solaris. [Bug #11821]</div><div class='del'>-</div><div class='del'>-	* hash.c: ditto, after NOINSERT_UPDATE_CALLBACK().</div><div class='del'>-</div><div class='del'>-Tue Dec 15 18:04:04 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added news about EBCDIC encoding</div><div class='del'>-</div><div class='del'>-Tue Dec 15 17:57:57 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/ebcdic.h, enc/trans/ebcdic.trans,</div><div class='del'>-	  test/ruby/test_transcode.rb: Fixed encoding name</div><div class='del'>-	  to the correct one in the IANA registry (IBM037)</div><div class='del'>-	  and added an alias (ebcdic-cp-us)</div><div class='del'>-</div><div class='del'>-Tue Dec 15 16:19:26 2015  Takashi Kokubun  &lt;takashikkbn@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: Render erb with array buffer for function call optimization.</div><div class='del'>-	  [fix GH-1143]</div><div class='del'>-	* lib/rdoc/erb_partial.rb: ditto.</div><div class='del'>-	* template/verconf.h.tmpl: ditto.</div><div class='del'>-</div><div class='del'>-Tue Dec 15 13:50:05 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_oct): [DOC] mention radix indicators.</div><div class='del'>-	  [ruby-core:71310] [Bug #11648]</div><div class='del'>-</div><div class='del'>-Tue Dec 15 12:20:30 2015  Takashi Kokubun  &lt;takashikkbn@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: Simplify regexp to optimize erb scanner.</div><div class='del'>-	  [fix GH-1144]</div><div class='del'>-</div><div class='del'>-Tue Dec 15 11:56:24 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: make code block for rdoc.</div><div class='del'>-	  [ci skip][fix GH-1152] Patch by @Tonkpils</div><div class='del'>-</div><div class='del'>-Tue Dec 15 11:55:08 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: fix a typo.</div><div class='del'>-	  [ci skip][fix GH-1149] Patch by @crismali</div><div class='del'>-</div><div class='del'>-Tue Dec 15 09:14:14 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/transcode_tablegen.rb: detailed documentation</div><div class='del'>-	  for transcode_tblgen function [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Dec 14 22:11:11 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/ebcdic.h: new dummy encoding EBCDIC-US</div><div class='del'>-	* enc/trans/ebcdic.trans: transcodings between EBCDIC-US</div><div class='del'>-	  and iso-8859-1 [with code from Andrea Ribuoli]</div><div class='del'>-	* test/ruby/test_transcode.rb: tests for above</div><div class='del'>-	* tool/transcode_tablegen.rb: additional argument for</div><div class='del'>-	  method transcode_tblgen</div><div class='del'>-</div><div class='del'>-Mon Dec 14 17:04:14 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: use safe navigation operator.</div><div class='del'>-	  [fix GH-1142] Patch by @mlarraz</div><div class='del'>-	* lib/drb/extservm.rb: ditto.</div><div class='del'>-	* lib/net/http.rb: ditto.</div><div class='del'>-	* lib/net/http/response.rb: ditto.</div><div class='del'>-	* lib/scanf.rb: ditto.</div><div class='del'>-	* lib/uri/generic.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 17:03:05 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: use safe navigation operator.</div><div class='del'>-	  [fix GH-1142] Patch by @mlarraz</div><div class='del'>-	* test/openssl/test_pair.rb: ditto.</div><div class='del'>-	* test/ruby/test_econv.rb: ditto.</div><div class='del'>-	* test/ruby/test_settracefunc.rb: ditto.</div><div class='del'>-	* test/thread/test_queue.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 14:33:35 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb: added documentation for parser details.</div><div class='del'>-	  [ci skip][fix GH-1124] Patch by @jrafanie</div><div class='del'>-</div><div class='del'>-Mon Dec 14 11:46:52 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: fix a typo in documentation.</div><div class='del'>-	  [ci skip][fix GH-1140] Patch by @jutaz</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-	* numeric.c: ditto.</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-	* vm_trace.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 11:41:59 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb: fix a typo in documentation.</div><div class='del'>-	  [ci skip][fix GH-1140] Patch by @jutaz</div><div class='del'>-</div><div class='del'>-Mon Dec 14 11:31:00 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: fix typos.</div><div class='del'>-	  [ci skip][fix GH-1140] Patch by @jutaz</div><div class='del'>-	* dir.c: ditto.</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-	* node.h: ditto.</div><div class='del'>-	* thread_pthread.c: ditto.</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-	* vsnprintf.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 11:27:01 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_2022_jp.h: fix typos.</div><div class='del'>-	  [ci skip][fix GH-1140] Patch by @jutaz</div><div class='del'>-	* enc/utf_16_32.h: ditto.</div><div class='del'>-	* enc/utf_7.h: ditto.</div><div class='del'>-</div><div class='del'>-Mon Dec 14 11:25:57 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_aobench.rb: fix typos.</div><div class='del'>-	  [ci skip][fix GH-1140] Patch by @jutaz</div><div class='del'>-	* benchmark/bm_vm_thread_pipe.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 23:46:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (trace_lex_state): trace lex_state changes if yydebug is</div><div class='del'>-	  set, and send the messages to rb_stdout.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_printf): store YYPRINTF messages per lines</div><div class='del'>-	  so that lex_state traces do not mix.</div><div class='del'>-</div><div class='del'>-	* tool/ytab.sed: add parser argument to yy_stack_print too.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 20:41:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (build_lex_state_name, trace_lex_state): lex_state is</div><div class='del'>-	  now bit flags and can be set 2 bits or more.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 20:26:30 2015  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_syntax.rb: fix typo in test</div><div class='del'>-</div><div class='del'>-Sun Dec 13 20:12:14 2015  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_percent): Allow %-literals in labeled arg as</div><div class='del'>-	  r51624 did for parentheses.</div><div class='del'>-	  Fixes [ruby-core:72084] [Bug #11812].</div><div class='del'>-</div><div class='del'>-Sun Dec 13 20:02:15 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix a typo</div><div class='del'>-</div><div class='del'>-Sun Dec 13 19:54:26 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb: move envutil's assertions under Test::Unit::Assertion.</div><div class='del'>-	* test/lib/test/unit/assertions.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 19:24:20 2015  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_state_name): Make it return the correct names.</div><div class='del'>-	  Add new names to follow r51617; Indices ffs(2) returns are 1-origin.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:40:45 2015  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: debug output of lex_state transition if PARSER_DEBUG</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:49:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): preserve encoding of mode string in</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-	* io.c (io_encname_bom_p): check BOM prefix only, not including</div><div class='del'>-	  UTF prefix.</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): warn BOM with non-UTF encoding.</div><div class='del'>-</div><div class='del'>-	* io.c (parse_mode_enc): fix buffer overflow.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:35:57 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/function.c (initialize): check all arguments first.</div><div class='del'>-	  reported by Marcin 'Icewall' Noga of Cisco Talos.</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/conversions.h (PTR2NUM): use signed integer to make</div><div class='del'>-	  Fixnum for negative values.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:33:41 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): always check index range against the</div><div class='del'>-	  receiver array length, which can be shortened by elements</div><div class='del'>-	  conversion.  reported by Marcin 'Icewall' Noga of Cisco Talos.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:28:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych_emitter.c (start_document): should not exceed</div><div class='del'>-	  tags array range.</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych_emitter.c (start_document): ensure string before</div><div class='del'>-	  encoding conversion.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:26:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (tk_hash_kv): check types of array</div><div class='del'>-	  argument.  reported by Marcin 'Icewall' Noga of Cisco Talos.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check length of</div><div class='del'>-	  argument arrays for each access, as callback methods can modify</div><div class='del'>-	  them.  reported by Marcin 'Icewall' Noga of Cisco Talos.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check types of</div><div class='del'>-	  argument elements.  reported by Marcin 'Icewall' Noga of Cisco</div><div class='del'>-	  Talos.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 18:19:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr</div><div class='del'>-	  must be a String here.  reported by Marcin 'Icewall' Noga of</div><div class='del'>-	  Cisco Talos.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 16:41:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BOOTSTRAPRUBY): make BASERUBY full path before</div><div class='del'>-	  building ruby to get rid of unexpectedly invoking built ruby.</div><div class='del'>-	  [ruby-core:72065] [Bug #11807]</div><div class='del'>-</div><div class='del'>-	* configure.in (BOOTSTRAPRUBY): use MINIRUBY but not BASERUBY</div><div class='del'>-	  unless cross compiling.  [ruby-core:72065] [Bug #11807]</div><div class='del'>-</div><div class='del'>-Sun Dec 13 14:17:19 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_shellwords.rb (TestShellwords): Add many more tests</div><div class='del'>-	  for handling whitespace characters and frozenness.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 14:16:09 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shellsplit): Document that this</div><div class='del'>-	  method does not treat shell metacharacters as such.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 12:17:43 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (shellescape): duplicate frozen literal</div><div class='del'>-	* test/test_shellwords.rb (test_stringification): new test</div><div class='del'>-</div><div class='del'>-Sun Dec 13 11:47:35 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_inspect): check the default internal encoding as</div><div class='del'>-	  String#inspect do.</div><div class='del'>-	  [ruby-dev:49415] [Bug #11787]</div><div class='del'>-</div><div class='del'>-Sun Dec 13 11:38:12 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb: Turn on frozen-string-literal after fixing</div><div class='del'>-	  shellsplit.</div><div class='del'>-</div><div class='del'>-Sun Dec 13 10:44:44 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* KNOWNBUGS.rb: Fixed typo, made more explicit [ci skip]</div><div class='del'>-</div><div class='del'>-Sun Dec 13 10:26:47 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing</div><div class='del'>-	  protocol list.</div><div class='del'>-	  The protocol list from OpenSSL is not null-terminated.</div><div class='del'>-	  patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082]</div><div class='del'>-</div><div class='del'>-Sun Dec 13 06:40:30 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Have OpenStruct#dig raise if argument is not a</div><div class='del'>-	  symbol</div><div class='del'>-	  nor a string. See [#11762]</div><div class='del'>-</div><div class='del'>-Sun Dec 13 00:05:42 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method_missing): method_missing should</div><div class='del'>-	  not be refined.</div><div class='del'>-	  [ruby-core:72080] [Bug #11809]</div><div class='del'>-</div><div class='del'>-Sat Dec 12 23:00:17 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Merge nkf 2.1.4.</div><div class='del'>-</div><div class='del'>-Sat Dec 12 18:52:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_dig): raise TypeError if an element does not</div><div class='del'>-	  have #dig method.  [ruby-core:71798] [Bug #11762]</div><div class='del'>-</div><div class='del'>-Sat Dec 12 17:59:07 2015  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warning</div><div class='del'>-	  [Misc #11770][ruby-dev:49398]</div><div class='del'>-</div><div class='del'>-Sat Dec 12 17:11:57 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-0.2.2: add description about incompatible change in Hash</div><div class='del'>-	  duplicated key overriding policy. [Bug #10315] [Bug #11501]</div><div class='del'>-</div><div class='del'>-Sat Dec 12 07:44:38 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (do_io_advise): do not raise on ENOSYS</div><div class='del'>-	* test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS</div><div class='del'>-	  (test_advise_pipe): ditto</div><div class='del'>-	  [ruby-core:72066] [Feature #11806]</div><div class='del'>-</div><div class='del'>-Sat Dec 12 07:05:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e</div><div class='del'>-	  range.  [ruby-core:64049] [Bug #10097]</div><div class='del'>-</div><div class='del'>-Fri Dec 11 23:33:40 2015  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/trick2015/: added the award-winning entries of TRICK 2015.</div><div class='del'>-	  See https://github.com/tric/trick2015 for the contest outline.</div><div class='del'>-</div><div class='del'>-Fri Dec 11 17:59:05 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): avoid converting Infinity</div><div class='del'>-	* test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new</div><div class='del'>-	  [ruby-dev:49423] [Bug #11804]'</div><div class='del'>-</div><div class='del'>-Fri Dec 11 16:48:57 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_num_hash_start): avoid pathological behavior</div><div class='del'>-	  [ruby-core:72028] [Feature #11405]</div><div class='del'>-</div><div class='del'>-Fri Dec 11 11:58:46 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Mentioned rubygems-2.5.1</div><div class='del'>-</div><div class='del'>-Fri Dec 11 11:52:39 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems 2.5.1</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec 11 11:38:14 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each, ibf_load_object_hash): rehash</div><div class='del'>-	  case-dispatch hash to reduce collisions.</div><div class='del'>-	  http://d.hatena.ne.jp/ku-ma-me/20151210</div><div class='del'>-</div><div class='del'>-Fri Dec 11 03:44:43 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_inspect): dump inspected result with rb_str_escape()</div><div class='del'>-	  instead of raising Encoding::CompatibilityError. [Feature #11801]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_escape): added to dump given string like</div><div class='del'>-	  rb_str_inspect without quotes and always dump in US-ASCII</div><div class='del'>-	  like rb_str_dump.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 14:59:59 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb (test_expand_heap): relax condition (1-&gt;2).</div><div class='del'>-</div><div class='del'>-Thu Dec 10 14:15:59 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c: fix a double word typo.</div><div class='del'>-	  [Bug #11313][ruby-core:69749]</div><div class='del'>-</div><div class='del'>-Thu Dec 10 14:13:34 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/multi-tk.rb: fix typos.</div><div class='del'>-	  [Bug #11764][ruby-core:71800]</div><div class='del'>-</div><div class='del'>-Thu Dec 10 11:33:34 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): reduce needless rb_str_dup</div><div class='del'>-	  [ruby-core:72018] &lt;5668DB6E.8000101@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-Thu Dec 10 09:32:51 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb, lib/shellwords.rb: disable frozen-string-literal.</div><div class='del'>-	  [ruby-core:72011] [Bug #11800]</div><div class='del'>-</div><div class='del'>-Thu Dec 10 06:33:39 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (memsize_dump_arg): remove NULL check</div><div class='del'>-	  (memsize_load_arg): ditto</div><div class='del'>-</div><div class='del'>-Thu Dec 10 05:53:18 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: rbconfig must not be frozen-string-literal to</div><div class='del'>-	  expand CONFIG hash.  [ruby-core:72006] [Bug #11798]</div><div class='del'>-</div><div class='del'>-Thu Dec 10 05:03:51 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ifaddr.c (ifaddr_mark): remove empty function</div><div class='del'>-	  (ifaddr_type): pass zero to rb_data_type_t.function.dmark</div><div class='del'>-</div><div class='del'>-Thu Dec 10 04:49:16 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (bm_free): remove, use default free</div><div class='del'>-	  (method_data_type): use RUBY_TYPED_DEFAULT_FREE</div><div class='del'>-</div><div class='del'>-Thu Dec 10 02:01:41 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): do not add debug information</div><div class='del'>-	  without --debug or --debug=frozen-string-literal option</div><div class='del'>-	  because String#dup slows down with debug information.</div><div class='del'>-	  [Feature #11725]</div><div class='del'>-</div><div class='del'>-	* NEWS: apply about it.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: catch up this fix with refactoring.</div><div class='del'>-</div><div class='del'>-Thu Dec 10 00:06:56 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: rename methods</div><div class='del'>-	  RubyVM::InstructionSequence#to_binary_format -&gt; #to_binary</div><div class='del'>-	  RubyVM::InstructionSequence.from_binary_format -&gt; .load_from_binary</div><div class='del'>-	  RubyVM::InstructionSequence.from_binary_format_extra_data -&gt;</div><div class='del'>-	                             .load_from_binary_extra_data</div><div class='del'>-</div><div class='del'>-	* iseq.c: fix document of iseq.to_binary.</div><div class='del'>-	  [Fix GH-1134]</div><div class='del'>-</div><div class='del'>-	* sample/iseq_loader.rb: catch up this change.</div><div class='del'>-</div><div class='del'>-	* test/lib/iseq_loader_checker.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 17:02:03 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.h (SET_NTYPE): get rid of breaking strict aliasing.</div><div class='del'>-	  patch by Zarko Todorovski in [ruby-core:71953].  [Bug #11790]</div><div class='del'>-</div><div class='del'>-Wed Dec  9 16:10:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_cref_in_context): Module#define_method in non-class</div><div class='del'>-	  expression should be public.</div><div class='del'>-	  [Bug #11754]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 14:45:27 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_stacked_objects): fix typo.</div><div class='del'>-	  reported by XIE Zhibang. [Bug #11763]</div><div class='del'>-</div><div class='del'>-Wed Dec  9 14:37:51 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc: remove outdated description.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 09:58:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/**/*.c (*_memsize): same as r52986 for extensions.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 09:46:19 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored ISeq binary format.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 09:34:41 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* *.c (*_memsize): do not check ptr.</div><div class='del'>-	  NULL checking is finished Before call of memsize functions.</div><div class='del'>-	  See r52979.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 09:25:29 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/smtp/test_response.rb: use Test::Unit. We should use Test::Unit</div><div class='del'>-	  without rubygems and rdoc.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 06:26:23 2015  Colin Kelley &lt;colindkelley@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb: enable frozen_string_literal</div><div class='del'>-	  (split_userinfo): remove explicit .freeze for string literals</div><div class='del'>-	  (check_path): ditto</div><div class='del'>-	  (query): ditto</div><div class='del'>-	  (fragment): ditto</div><div class='del'>-	  (to_s): ditto</div><div class='del'>-	  [ruby-core:71910] [Bug #11759]</div><div class='del'>-</div><div class='del'>-Wed Dec  9 06:25:47 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (to_s): new test</div><div class='del'>-	  [ruby-core:71820]</div><div class='del'>-</div><div class='del'>-Wed Dec  9 02:18:52 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ibf_dump_memsize): should check NULL.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 01:46:35 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_init): now accepts new option parameter `encoding'.</div><div class='del'>-	  [Feature #11785]</div><div class='del'>-</div><div class='del'>-Wed Dec  9 00:52:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_wr, rb_stat_ww): call get_stat only once and</div><div class='del'>-	  reduce checking struct.  patch by Yuki Kurihara in</div><div class='del'>-	  [ruby-core:71949].  [Misc #11789]</div><div class='del'>-</div><div class='del'>-Wed Dec  9 00:24:33 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_ibf_dump): dump extra data just string length.</div><div class='del'>-</div><div class='del'>-	* sample/iseq_loader.rb: add using</div><div class='del'>-	  RubyVM::InstructionSequence.from_binary_format_extra_data method</div><div class='del'>-	  (commented out).</div><div class='del'>-</div><div class='del'>-Mon Dec  9 00:21:19 2015  Yuki Nishijima  &lt;mail@yukinishijima.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1</div><div class='del'>-</div><div class='del'>-Wed Dec  9 00:17:49 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ibf_load_setup): cast to int.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 00:13:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ibf_setup_load): rename to ibf_load_setup().</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_load_setup): check binary format.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 23:30:07 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (run_pty): Avoid waiting twice</div><div class='del'>-	  for a process. Fix Errno::ECHILD in TestIO_Console#test_close and</div><div class='del'>-	  TestIO_Console#test_sync.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 23:05:47 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_ibf_dump): fix for clang type checker.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 23:04:02 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_s_load): fix mysterious bug.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 22:31:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* introduce new ISeq binary format serializer/de-serializer</div><div class='del'>-	  and a pre-compilation/runtime loader sample.</div><div class='del'>-	  [Feature #11788]</div><div class='del'>-</div><div class='del'>-	* iseq.c: add new methods:</div><div class='del'>-	  * RubyVM::InstructionSequence#to_binary_format(extra_data = nil)</div><div class='del'>-	  * RubyVM::InstructionSequence.from_binary_format(binary)</div><div class='del'>-	  * RubyVM::InstructionSequence.from_binary_format_extra_data(binary)</div><div class='del'>-</div><div class='del'>-	* compile.c: implement body of this new feature.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0), iseq.c (rb_iseq_load_iseq):</div><div class='del'>-	  call RubyVM::InstructionSequence.load_iseq(fname) with</div><div class='del'>-	  loading script name if this method is defined.</div><div class='del'>-</div><div class='del'>-	  We can return any ISeq object as a result value.</div><div class='del'>-	  Otherwise loading will be continue as usual.</div><div class='del'>-</div><div class='del'>-	  This interface is not matured and is not extensible.</div><div class='del'>-	  So that we don't guarantee the future compatibility of this method.</div><div class='del'>-	  Basically, you shouldn't use this method.</div><div class='del'>-</div><div class='del'>-	* iseq.h: move ISEQ_MAJOR/MINOR_VERSION (and some definitions)</div><div class='del'>-	  from iseq.c.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_data_is_encoding), internal.h: added.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: add several supports for lazy load.</div><div class='del'>-	  * add USE_LAZY_LOAD macro to specify enable or disable of</div><div class='del'>-	    this feature.</div><div class='del'>-	  * add several fields to rb_iseq_t.</div><div class='del'>-	  * introduce new macro rb_iseq_check().</div><div class='del'>-</div><div class='del'>-	* insns.def: some check for lazy loading feature.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/lib/iseq_loader_checker.rb: enabled iff suitable</div><div class='del'>-	  environment variables are provided.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: enable lib/iseq_loader_checker.rb.</div><div class='del'>-</div><div class='del'>-	* sample/iseq_loader.rb: add sample compiler and loader.</div><div class='del'>-</div><div class='del'>-	    $ ruby sample/iseq_loader.rb [dir]</div><div class='del'>-</div><div class='del'>-	  will compile all ruby scripts in [dir].</div><div class='del'>-	  With default setting, this compile creates *.rb.yarb files</div><div class='del'>-	  in same directory of target .rb scripts.</div><div class='del'>-</div><div class='del'>-	    $ ruby -r sample/iseq_loader.rb [app]</div><div class='del'>-</div><div class='del'>-	  will run with enable to load compiled binary data.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 21:21:16 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention about Enumerator::Lazy#grep_v.</div><div class='del'>-	  [ruby-core:71845] [Feature #11773]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 17:36:36 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: removed unused variable</div><div class='del'>-</div><div class='del'>-Tue Dec  8 16:23:40 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well</div><div class='del'>-	  as Enumerable, to enumerate lazily.</div><div class='del'>-	  [ruby-core:71845] [Feature #11773]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 14:27:07 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_local_variables): new method</div><div class='del'>-	  NameError#local_variables for internal use only.</div><div class='del'>-	  [Feature #11777]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 14:20:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_objivar): skip internal instance variables in</div><div class='del'>-	  T_OBJECT too.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 12:58:04 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/console/test_io_console.rb (test_getpass): s.getpass</div><div class='del'>-	  should be tested. Narrow ensure block. This reverts r52911.</div><div class='del'>-	  [Bug #11780] [ruby-dev:49412]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 10:40:21 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_case_lit.rb: new benchmark</div><div class='del'>-	* compile.c (case_when_optimizable_literal): add nil/true/false</div><div class='del'>-	* insns.def (opt_case_dispatch): ditto</div><div class='del'>-	* vm.c (vm_redefinition_check_flag): ditto</div><div class='del'>-	* vm.c (vm_init_redefined_flag): ditto</div><div class='del'>-	* vm_core.h: ditto</div><div class='del'>-	* object.c (InitVM_Object): define === explicitly for nil/true/false</div><div class='del'>-	* test/ruby/test_case.rb (test_deoptimize_nil): new test</div><div class='del'>-	* test/ruby/test_optimization.rb (test_opt_case_dispatch): update</div><div class='del'>-	  (test_eqq): new test</div><div class='del'>-	  [ruby-core:71923] [Feature #11769]</div><div class='del'>-	  Original patch by Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-Tue Dec  8 10:19:02 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: fix double word typo in the document.</div><div class='del'>-	  [Misc #10608] [Fix GH-1126]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 09:03:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_lshift): should check the argument</div><div class='del'>-	  before negation.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 08:56:16 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): check Float#=== redefinition</div><div class='del'>-	* test/ruby/test_optimization.rb (test_opt_case_dispatch): new</div><div class='del'>-	  [ruby-core:71920] [Bug #11784]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 03:56:05 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/iseq_loader_checker.rb: add iseq dumper/loader checker.</div><div class='del'>-	  If you enable this checker (remove `#' in test/runner.rb),</div><div class='del'>-	  you can see comparison results between an original iseq disassembed</div><div class='del'>-	  result and dumped and loaded iseq disassembed result.</div><div class='del'>-</div><div class='del'>-	  There are several bugs around there, because of inexact stack depth</div><div class='del'>-	  calculation. Now, I leave these bugs because they are not critical</div><div class='del'>-	  and difficult to solve completely.</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: require test/lib/iseq_loader_checker.rb but</div><div class='del'>-	  disabled at default (commented out).</div><div class='del'>-</div><div class='del'>-Tue Dec  8 03:45:47 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: warn about kwargs performance in C</div><div class='del'>-	  [Feature #11339] [ci skip]</div><div class='del'>-</div><div class='del'>-Tue Dec  8 03:44:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_load): disable peephole optimization option</div><div class='del'>-	  because apply it multiple times change the sequence.</div><div class='del'>-	  (iseq != peephole_optimize(load(iseq.to_a)))</div><div class='del'>-</div><div class='del'>-Tue Dec  8 03:43:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_build_from_ary): do not allocate table</div><div class='del'>-	  if table_size is 0.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 03:30:34 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixsocket.c (unix_send_io): document args</div><div class='del'>-	  (unix_recv_io): ditto</div><div class='del'>-	* test/socket/test_unix.rb (test_fd_passing_class_mode): added</div><div class='del'>-</div><div class='del'>-Tue Dec 08 02:21:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_translate): at the end of constructing an iseq,</div><div class='del'>-	  call RubyVM::InstructionSequence.translate(iseq) if this method</div><div class='del'>-	  is defined. If the return value is also an object of</div><div class='del'>-	  RubyVM::InstructionSequence, then use it instead of created one.</div><div class='del'>-</div><div class='del'>-	  For example, this method is useful to test iseq dumper/loader</div><div class='del'>-	  such as RubyVM::InstructionSequence#to_a and rb_iseq_load().</div><div class='del'>-</div><div class='del'>-	  Because this method is for such internal experimental usage,</div><div class='del'>-	  the interface is not matured. For example, this interface has</div><div class='del'>-	  no extensibility. Two or more translators can not run</div><div class='del'>-	  simultaneously.</div><div class='del'>-</div><div class='del'>-	  So that we don't guarantee future compatibility of this method.</div><div class='del'>-	  Basically, do not use this method.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 01:57:13 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/*: update psych to 2.0.16</div><div class='del'>-	* test/psych/*: ditto</div><div class='del'>-</div><div class='del'>-Mon Dec  7 23:45:20 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: introduce String#+@ and String#-@ to control</div><div class='del'>-	  String mutability.</div><div class='del'>-	  [Feature #11782]</div><div class='del'>-</div><div class='del'>-Mon Dec  7 23:39:49 2015  Ben Miller  &lt;bjmllr@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: add heredoc &lt;&lt;~ syntax.  [Feature #9098]</div><div class='del'>-</div><div class='del'>-Mon Dec  7 23:06:16 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb (IO#read_nonblock): [DOC] add missing options to</div><div class='del'>-	  call-seq.  [ruby-core:71627] [Bug #11730]</div><div class='del'>-</div><div class='del'>-Mon Dec  7 15:50:50 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: added cygruby*.def for Cygwin</div><div class='del'>-</div><div class='del'>-Sun Dec  6 19:52:31 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_autoload): deprecate</div><div class='del'>-	* internal.h (rb_autoload_str): declare</div><div class='del'>-	* load.c (rb_mod_autoload): use rb_autoload_str</div><div class='del'>-	* variable.c (rb_autoload): become compatibility wrapper</div><div class='del'>-	  (rb_autoload_str): hoisted out from old rb_autoload</div><div class='del'>-	  [ruby-core:71369] [Feature #11664]</div><div class='del'>-</div><div class='del'>-Sun Dec  6 18:25:22 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): gave up the test</div><div class='del'>-	  of binary path info test on Windows because the test had passed</div><div class='del'>-	  occasionally as the comment said.</div><div class='del'>-</div><div class='del'>-Sun Dec  6 15:25:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_getpass): add IO#getpass</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-Sun Dec  6 08:39:05 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/json.gemspec: bump version to json 1.8.3. CRuby already contained</div><div class='del'>-	  upstream changes.</div><div class='del'>-</div><div class='del'>-	  https://github.com/ruby/ruby/commit/4d059bf9f5f10f3d3088de49fc87e5555db7770d</div><div class='del'>-	  https://github.com/flori/json/commit/d4c99de78905d96c3f301f48b2c789943bb3f098</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/version.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 17:48:25 2015  Lars Kanis  &lt;lars@greiz-reinsdorf.de&gt;</div><div class='del'>-</div><div class='del'>-	* tool/fake.rb: Fix cross build when srcdir is an absolute path.</div><div class='del'>-</div><div class='del'>-	* Makefile.in: PREP dependency is needed when cross build too, not</div><div class='del'>-	  "-r$(arch)-fake" to be  used before created.  [Fix GH-1125]</div><div class='del'>-</div><div class='del'>-Sat Dec  5 17:26:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_str_new, env_path_str_new): make default string</div><div class='del'>-	  UTF-8 for the case conversion is not possible.  [Bug #8822]</div><div class='del'>-</div><div class='del'>-	* hash.c (get_env_cstr): convert non-ASCII string to UTF-8 string.</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_setenv): use wide char version to put environment</div><div class='del'>-	  variable to deal with non-ASCII value.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 09:56:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_CAS): old value to be swapped should be</div><div class='del'>-	  same as the destination.  immediate value may need type</div><div class='del'>-	  promotion.</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of</div><div class='del'>-	  InterlockedCompareExchange64.  new value and then old value is</div><div class='del'>-	  the last.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 09:23:34 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_seed): fix the size to be filled, not the</div><div class='del'>-	  size of element, but the whole size of array.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 06:03:54 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (ruby_vm_verbose_ptr): make static</div><div class='del'>-	  (ruby_vm_debug_ptr): ditto</div><div class='del'>-</div><div class='del'>-Sat Dec  5 00:56:29 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_OBJ_TAINT): follow-up of r52881.</div><div class='del'>-	  Turn into void expression not to use unexpected result.</div><div class='del'>-	  Fix "operands have incompatible types" error with</div><div class='del'>-	  Oracle Solaris Studio 12.x on Solaris.</div><div class='del'>-</div><div class='del'>-Fri Dec  4 19:52:52 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_13.c: Added three missing lower/upper-case</div><div class='del'>-	  character pairs (from Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Dec  4 18:57:57 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_4.c: Added missing lower/upper-case character</div><div class='del'>-	  pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG)</div><div class='del'>-	  (from Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Dec  4 16:48:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_obj_as_string): fstring should not be infected.</div><div class='del'>-	  re-apply r52872 and fix a typo.</div><div class='del'>-	  TODO: other frozen strings also may not be.</div><div class='del'>-</div><div class='del'>-Fri Dec  4 15:21:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems 2.5.0+ HEAD(fdab4c4).</div><div class='del'>-	  this version includes #1396, #1397, #1398, #1399</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Fri Dec  4 11:22:40 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_setname): name must be ascii-compatible, as</div><div class='del'>-	  pthread APIs do not accept legacy wide char strings.</div><div class='del'>-</div><div class='del'>-Thu Dec  3 15:39:21 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb: fixed double words typo.</div><div class='del'>-	  [ci skip][fix GH-1123] Patch by @jwworth</div><div class='del'>-</div><div class='del'>-Thu Dec  3 15:37:56 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_mixed_unicode_escapes.rb: fixed typo.</div><div class='del'>-	  [fix GH-1122] Patch by @davydovanton</div><div class='del'>-	* test/ruby/test_object.rb: ditto.</div><div class='del'>-	* test/socket/test_tcp.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Dec  3 15:33:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix wrong shifting position in</div><div class='del'>-	  Rational conversion when not at the beginning of the result.</div><div class='del'>-	  [ruby-core:71806] [Bug #11766]</div><div class='del'>-</div><div class='del'>-Thu Dec  3 14:22:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_to_s): should be infected by the receiver.</div><div class='del'>-	  str2 infects by appending.  [ruby-core:71811] [Bug #11767]</div><div class='del'>-</div><div class='del'>-Thu Dec  3 11:57:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: separate SET_CURRENT_THREAD_NAME, which can set</div><div class='del'>-	  the name of current thread only, and SET_ANOTHER_THREAD_NAME,</div><div class='del'>-	  which can set the name of other threads.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_setname): use SET_ANOTHER_THREAD_NAME.  OS X</div><div class='del'>-	  is not possible to set another thread name.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_set_thread_name, thread_timer): use</div><div class='del'>-	  SET_CURRENT_THREAD_NAME.</div><div class='del'>-</div><div class='del'>-Wed Dec 02 22:57:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, iseq.h: remove rb_iseq_t::variable_body.</div><div class='del'>-	  Fields in rb_iseq_t::variable_body are contained by</div><div class='del'>-	  rb_iseq_t::body::mark_ary (hidden Array object).</div><div class='del'>-</div><div class='del'>-	  Index 0 to 2 of mark_ary are reserved by these objects.</div><div class='del'>-</div><div class='del'>-	* iseq.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_original_iseq): trivial rewrite.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 17:19:02 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h: introduce ISEQ_ORIGINAL_ISEQ() and</div><div class='del'>-	  ISEQ_ORIGINAL_ISEQ_ALLOC() macro.</div><div class='del'>-</div><div class='del'>-	* compile.c: use them to access original iseq buffer.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename iseq field to support this fix.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 17:10:32 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): use it.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename flip_cnt field to support this fix.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 17:05:15 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro.</div><div class='del'>-</div><div class='del'>-	* compile.c: use them.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_coverage): added.</div><div class='del'>-</div><div class='del'>-	* thread.c (update_coverage): use rb_iseq_coverage().</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename coverage field name to support this fix.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 17:00:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_name, rb_enc_name_list_i, rb_enc_aliases_enc_i):</div><div class='del'>-	  make fstring instead of making each copies.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 16:32:08 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h: introduce ISEQ_COMPILE_DATA() macro.</div><div class='del'>-</div><div class='del'>-	* compile.c, iseq.c: use ISEQ_COMPILE_DATA().</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename compile_data field to support this fix.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 16:27:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_m_loader): defer finding encoding object not to</div><div class='del'>-	  be infected by marshal source.  [ruby-core:71793] [Bug #11760]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): enable compatible loader on USERDEF</div><div class='del'>-	  class.  the loader function is called with the class itself,</div><div class='del'>-	  instead of an allocated object, and the loaded data.</div><div class='del'>-</div><div class='del'>-	* marshal.c (compat_allocator_table): initialize</div><div class='del'>-	  compat_allocator_tbl on demand.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_undefined_alloc): extract from rb_obj_alloc.</div><div class='del'>-</div><div class='del'>-Wed Dec  2 15:12:43 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fixed double negative comments.</div><div class='del'>-	  [Bug #11698][ruby-core:71506]</div><div class='del'>-</div><div class='del'>-Wed Dec  2 14:55:01 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: removed non executing tests.</div><div class='del'>-	  [Misc #11757][ruby-dev:49397]</div><div class='del'>-</div><div class='del'>-Wed Dec  2 11:23:06 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: enable frozen_string_literal.</div><div class='del'>-	  [fix GH-1116] Patch by @marshall-lee</div><div class='del'>-</div><div class='del'>-Wed Dec  2 10:36:25 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Fix double word typo.</div><div class='del'>-	  [ci skip][fix GH-1120] Patch by @jwworth</div><div class='del'>-</div><div class='del'>-Wed Dec  2 07:43:51 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (mSSLExtConfig): make static</div><div class='del'>-	  (eSSLError): ditto</div><div class='del'>-	  (ID_callback_state): ditto</div><div class='del'>-	  (ossl_ssl_ex_vcb_idx): ditto</div><div class='del'>-	  (ossl_ssl_ex_store_p): ditto</div><div class='del'>-	  (ossl_ssl_ex_ptr_idx): ditto</div><div class='del'>-	* ext/openssl/ossl_ssl.h: remove extern declarations for</div><div class='del'>-	  mSSLExtConfig and eSSLError</div><div class='del'>-</div><div class='del'>-Wed Dec  2 07:41:08 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/explicit_bzero.c (explicit_bzero): fixup r52839</div><div class='del'>-	  for compilers with "weak" attribute</div><div class='del'>-</div><div class='del'>-Wed Dec  2 06:47:25 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/explicit_bzero.c: add ruby_explicit_bzero_hook_unused</div><div class='del'>-	  for preventing optimization. Inspired from OpenBSD.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 23:36:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_setname): allow to reset thread name.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 23:14:04 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_setname): check the argument if valid</div><div class='del'>-	  string.  [ruby-core:71774] [Bug #11756]</div><div class='del'>-</div><div class='del'>-Tue Dec  1 17:13:41 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_string_value_cstr): should not raise on frozen</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 09:35:29 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/explicit_bzero.c: add a few comment.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 09:31:19 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* missing/explicit_bzero.c: add disabling optimization on gcc.</div><div class='del'>-</div><div class='del'>-Tue Dec  1 07:50:33 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/explicit_bzero.c: new file. define explicit_bzero.</div><div class='del'>-	  Fixup r52806</div><div class='del'>-</div><div class='del'>-Thu Oct 22 12:54:43 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (register_ubf_list): renamed from</div><div class='del'>-	  add_signal_thread_list.</div><div class='del'>-	* thread_pthread.c (unregister_ubf_list): renamed</div><div class='del'>-	  from remove_signal_thread_list.</div><div class='del'>-	* thread_pthread.c (ubf_wakeup_all_threads): renamed from</div><div class='del'>-	  ping_signal_thread_list.</div><div class='del'>-	* thread_pthread.c (ubf_wakeup_thread): renamed from</div><div class='del'>-	  ubf_select_each.</div><div class='del'>-	* thread_pthread.c (ubf_threads_empty): renamed from</div><div class='del'>-	  check_signal_thread_list().</div><div class='del'>-	* thread_pthread.c (ubf_list_lock): renamed from</div><div class='del'>-	  signal_thread_list_lock.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (register_ubf_list): large simplification</div><div class='del'>-	  by using ccan/list.h.</div><div class='del'>-	  bonus: removed malloc() and exit(EXIT_FAILURE).</div><div class='del'>-	* thread_pthread.c (unregister_ubf_list): ditto.</div><div class='del'>-	* thread_pthread.c (ubf_threads_empty): ditto.</div><div class='del'>-	* thread_pthread.c (ubf_wakeup_all_threads): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (print_signal_list): removed.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 08:03:49 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb (TestRand#test_default_seed): add</div><div class='del'>-	  srand case.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 06:33:38 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (InitVM_Random): move Random::DEFAULT initialization</div><div class='del'>-	  bits to Init_Random_default.</div><div class='del'>-	* random.c (Init_Random_default): renamed from Init_RandomSeed2.</div><div class='del'>-	* random.c (Init_RandomSeedCore): renamed from Init_RandomSeed.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 06:20:48 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (Init_RandomSeed): move all Random::DEFAULT</div><div class='del'>-	  construction bits to Init_RandomSeed2. Random::DEFAULT</div><div class='del'>-	  and Ruby internal hashes are no longer shared their seed.</div><div class='del'>-	* random.c (Init_RandomSeed2): ditto. And, kill evil</div><div class='del'>-	  rb_obj_reveal() stuff.</div><div class='del'>-</div><div class='del'>-	* random.c (init_hashseed): add MT argument.</div><div class='del'>-	* random.c: (init_siphash): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb (TestRand#test_default_seed): new</div><div class='del'>-	  test for Random::DEFAULT::seed.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 05:23:48 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (init_hashseed, init_siphash): extract initialize</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 01:01:34 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: sort AC_CHECK_HEADERS() by alphabetical order.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 00:19:07 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (init_randomseed): remove "initial" argument. It never</div><div class='del'>-	  be used from outside of this function.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 00:12:33 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom</div><div class='del'>-	  for initialize OpenSSL's rand.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 12:10:04 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c (ossl_rand_bytes): RAND_bytes could</div><div class='del'>-	  be return -1 as an error. Therefore, added error handling.</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 09:04:09 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h: remove a warning suppression C4723</div><div class='del'>-	  (potential divide by zero) for VisualC++. It's meaningless.</div><div class='del'>-	  Before r26197, there is ruby_div0() in this place and it</div><div class='del'>-	  actually made divide by zero. But now it's just garbage.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 08:23:36 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c: random_raw_seed don't use GRND_NONBLOCK. GRND_NONBLOCK</div><div class='del'>-	  mean the result might not have an enough cryptic strength and</div><div class='del'>-	  easy predictable. That's no good for SecureRandom.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 17:26:53 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add a rule for explicit_bzero.o.</div><div class='del'>-	* configure.in: detect explicit_bzero and memset_s.</div><div class='del'>-	* include/ruby/missing.h: add explicit_bzero.</div><div class='del'>-	* random.c (init_randomseed): use explicit_bzero() instead of</div><div class='del'>-	  memset(). memset could be eliminated by compiler optimization.</div><div class='del'>-</div><div class='del'>-Mon Nov 30 18:46:44 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: call dir_config("libedit")</div><div class='del'>-	  if --enable-libedit is specified. [Bug #11751]</div><div class='del'>-	  patched by John Hein</div><div class='del'>-</div><div class='del'>-Mon Nov 30 08:44:29 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: remove spurious #define for globals</div><div class='del'>-	  [ruby-core:71735] [Feature #11749]</div><div class='del'>-</div><div class='del'>-Sun Nov 29 09:13:03 2015  Conor Landry  &lt;clandry94@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: [DOC] Various grammar corrections and clarifications to</div><div class='del'>-	  increase readability.  [Fix GH-1115]</div><div class='del'>-</div><div class='del'>-Sat Nov 28 19:33:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): store dispatched result of</div><div class='del'>-	  on_tstring_content at the last fragment of a here document.</div><div class='del'>-</div><div class='del'>-Fri Nov 27 19:19:44 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (connect): detect closed connection and reconnect</div><div class='del'>-	  If the server closes a keep-alive http connection, the client socket</div><div class='del'>-	  reaches EOF. To avoid an EOFError, detect the closed connection and</div><div class='del'>-	  reconnect.</div><div class='del'>-	  Added test to ensure HTTP#post succeeds even if the</div><div class='del'>-	  keep-alive-connection has been closed by the server.</div><div class='del'>-	  by Kristian Hanekamp &lt;kris.hanekamp@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/1089 fix GH-1089</div><div class='del'>-</div><div class='del'>-Thu Nov 26 21:36:40 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): enable tail call</div><div class='del'>-	  optimization for specialized indexers.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): blockiseq should be NULL, but not</div><div class='del'>-	  Qnil.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 17:22:53 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c, regenc.c, regexec.c, regint.h, enc/unicode.c:</div><div class='del'>-	  Merge Onigmo 58fa099ed1a34367de67fb3d06dd48d076839692</div><div class='del'>-	  + https://github.com/k-takata/Onigmo/pull/52</div><div class='del'>-</div><div class='del'>-Thu Nov 26 09:50:02 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: Added test-case for Coverage.restart.</div><div class='del'>-	  [Misc #11732][ruby-dev:49379]</div><div class='del'>-</div><div class='del'>-Thu Nov 26 09:46:36 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: Added test-case for Coverage.peek_result</div><div class='del'>-	  without Coverage.start. [Misc #11726][ruby-core:71622]</div><div class='del'>-</div><div class='del'>-Thu Nov 26 07:22:55 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (test_copy_stream): new test</div><div class='del'>-</div><div class='del'>-Wed Nov 25 21:23:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): try to_io conversion before read,</div><div class='del'>-	  readpartial, and write methods.  [ruby-dev:49008] [Bug #11199]</div><div class='del'>-</div><div class='del'>-Wed Nov 25 10:55:21 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_getpartial): should not resize str if the second</div><div class='del'>-	  argument is not given.</div><div class='del'>-	  [ruby-core:71668] [Bug #11738]</div><div class='del'>-</div><div class='del'>-Tue Nov 24 23:56:25 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: On Solaris, it is safe to define _LARGEFILE_SOURCE</div><div class='del'>-	  when _FILE_OFFSET_BITS=64 is defined (= when 32-bit compile).</div><div class='del'>-</div><div class='del'>-Tue Nov 24 10:00:10 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/installer.rb: Fix two double-word typos.</div><div class='del'>-	  [ci skip][fix GH-1108] Patch by @jwworth</div><div class='del'>-</div><div class='del'>-Tue Nov 24 09:17:02 2015  Alexander von Gluck IV  &lt;kallisti5@unixzen.com&gt;</div><div class='del'>-</div><div class='del'>-	* beos: Drop support for BeOS now that Haiku is stable.</div><div class='del'>-	  [Fix GH-1112]</div><div class='del'>-</div><div class='del'>-Tue Nov 24 09:16:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_gc_for_fd): move to export, as referred by</div><div class='del'>-	  ext/socket.</div><div class='del'>-</div><div class='del'>-Tue Nov 24 09:04:29 2015  David Rodriguez  &lt;deivid.rodriguez@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: [DOC] add a missing period to File docs, to terminate</div><div class='del'>-	  the sentence and separate from the next sentence.  [Fix GH-1111]</div><div class='del'>-</div><div class='del'>-Tue Nov 24 08:30:06 2015  JuanitoFatas  &lt;katehuang0320@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Fix the issue number of `Struct#dig`, which should be</div><div class='del'>-	  [Feature #11688].  [Fix GH-1110]</div><div class='del'>-</div><div class='del'>-Tue Nov 24 07:56:54 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_accept): handle ENOMEM</div><div class='del'>-</div><div class='del'>-Tue Nov 24 07:50:15 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): use rb_gc_for_fd for ENOMEM</div><div class='del'>-	* ext/socket/init.c (rsock_socket): ditto</div><div class='del'>-	* ext/socket/socket.c (rsock_socketpair): ditto</div><div class='del'>-	* internal.h (rb_gc_for_fd): prototype</div><div class='del'>-	* io.c (rb_gc_for_fd): remove static</div><div class='del'>-	  [ruby-core:71623] [Feature #11727]</div><div class='del'>-</div><div class='del'>-Tue Nov 24 06:46:27 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_gc_for_fd): new helper function</div><div class='del'>-	  (ruby_dup): use rb_gc_for_fd</div><div class='del'>-	  (rb_sysopen): ditto</div><div class='del'>-	  (rb_fdopen): ditto</div><div class='del'>-	  (rb_pipe): ditto</div><div class='del'>-	  [ruby-core:71623] [Feature #11727]</div><div class='del'>-</div><div class='del'>-Tue Nov 24 05:13:35 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/function.c (struct nogvl_ffi_call_args):</div><div class='del'>-	  new struct for GVL release</div><div class='del'>-	  (nogvl_ffi_call): new function</div><div class='del'>-	  (function_call): adjust for GVL release</div><div class='del'>-	  [ruby-core:71642] [Feature #11607]</div><div class='del'>-	* ext/fiddle/closure.c (struct callback_args):</div><div class='del'>-	  new struct for GVL acquire</div><div class='del'>-	  (with_gvl_callback): adjusted original callback function</div><div class='del'>-	  (callback): wrapper for conditional GVL acquire</div><div class='del'>-	* ext/fiddle/depend: add dependencies</div><div class='del'>-	* ext/fiddle/extconf.rb: include top_srcdir for internal.h</div><div class='del'>-	* internal.h (ruby_thread_has_gvl_p): expose for fiddle</div><div class='del'>-	* vm_core.h (ruby_thread_has_gvl_p): moved to internal.h</div><div class='del'>-	* test/fiddle/test_function.rb (test_nogvl_poll): new test</div><div class='del'>-</div><div class='del'>-Mon Nov 23 19:53:12 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: On Solaris, with gcc, "-std=iso9899:1999"</div><div class='del'>-	  in $ansi_options is often also needed in CPPFLAGS,</div><div class='del'>-	  because some feature definitions vary depending on such</div><div class='del'>-	  standards options.</div><div class='del'>-</div><div class='del'>-Mon Nov 23 12:54:39 2015  Hamish Morrison  &lt;hamishm53@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove obsolete workarounds for Haiku.</div><div class='del'>-</div><div class='del'>-	* dln.c, file.c, io.c: remove obsolete Haiku workarounds.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: add stack bounds detection for Haiku.</div><div class='del'>-</div><div class='del'>-	* signal.c: get stack pointer from signal context on Haiku.</div><div class='del'>-	  [ruby-core:67923] [Bug #10811] [Fix GH-1109]</div><div class='del'>-</div><div class='del'>-Mon Nov 23 11:44:11 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: bump version to minitest-5.8.3</div><div class='del'>-</div><div class='del'>-Mon Nov 23 08:55:00 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix wrong reference for r52714</div><div class='del'>-</div><div class='del'>-Sun Nov 22 22:23:37 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_raw_obj_info): fix compile errors when USE_RGENGC</div><div class='del'>-	  is 0.</div><div class='del'>-</div><div class='del'>-Sun Nov 22 21:58:09 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb: methods which has suffix '!' are now deprecated.</div><div class='del'>-	  Re-apply r52469 made by Kazuki Tanaka, with fixing bug about</div><div class='del'>-	  mathn.rb compatibility. [ruby-core:68528] [Feature #10974]</div><div class='del'>-</div><div class='del'>-Sun Nov 22 19:36:51 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: fix brew command for installation of openssl.</div><div class='del'>-	  [ci skip][fix GH-1107] Patch by @arthurnn</div><div class='del'>-</div><div class='del'>-Sun Nov 22 17:59:50 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when both</div><div class='del'>-	  AC_TRY_CPP and AC_TRY_COMPILE pass, because some options</div><div class='del'>-	  (e.g. -std=iso9899:1999) are not set when running C preprocessor</div><div class='del'>-	  or building ext.</div><div class='del'>-</div><div class='del'>-Sun Nov 22 16:53:34 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): remove unreachable code</div><div class='del'>-	  chunk after jump/leave.</div><div class='del'>-</div><div class='del'>-	* parse.y: move dead code elimination of logical operation to</div><div class='del'>-	  compile.c.  not to warn logical operation of literal constants.</div><div class='del'>-</div><div class='del'>-Sun Nov 22 16:37:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): eliminate always/never</div><div class='del'>-	  branches after a literal object and when the value is used after</div><div class='del'>-	  the branch.</div><div class='del'>-</div><div class='del'>-Sun Nov 22 01:23:43 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solaris</div><div class='del'>-	  if available, mainly for enabling some features in sockets.</div><div class='del'>-</div><div class='del'>-Sun Nov 22 00:17:22 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test/socket/test_socket.rb): skip</div><div class='del'>-	  the test when Socket::SO_TIMESTAMP is not defined. Fix error</div><div class='del'>-	  on Solaris 10. [Bug #11728] [ruby-dev:49377]</div><div class='del'>-</div><div class='del'>-Sat Nov 21 18:57:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (need_argument): move frozen-string-literal-debug option</div><div class='del'>-	  from --enable to --debug.  [Feature #11725]</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): fix pointer overrun. do not advance argv</div><div class='del'>-	  until it is valid.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 13:59:09 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 is</div><div class='del'>-	  SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html</div><div class='del'>-</div><div class='del'>-Sat Nov 21 13:31:52 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid</div><div class='del'>-	  including ext/digest/extconf.h. [Bug #3231]</div><div class='del'>-	  https://msdn.microsoft.com/library/36k2cdd4.aspx</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/extconf.rb: remove ext/digest from include search path</div><div class='del'>-	  to avoid confusion of cl.exe.</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/*.[ch]: explicitly specify def.h's path.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 13:05:16 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 09:18:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c: reduce the specification of Queue#close.</div><div class='del'>-	  * Queue#close accepts no arguments.</div><div class='del'>-	  * deq'ing on closed queue returns nil, always.</div><div class='del'>-	  [Feature #10600]</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 08:44:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): add debug information to NODE_STR</div><div class='del'>-	  strings as default.</div><div class='del'>-	  [Feature #11725]</div><div class='del'>-</div><div class='del'>-	* insns.def (freezestring): add new instruction to support adding</div><div class='del'>-	  debug information for dynamically constructed strings.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): support adding debug information</div><div class='del'>-	  for NODE_DSTR with freezestring instruction.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_error_frozen): change the debug information ID name</div><div class='del'>-	  id_debug_created_info and this field should have a 2 element array</div><div class='del'>-	  containing path and line information.</div><div class='del'>-</div><div class='del'>-	* defs/id.def: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: now frozen strings are not same.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 04:34:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_str_intern): should not freeze the receiver itself</div><div class='del'>-	  unexpectedly.  [ruby-core:71611] [Bug #11721]</div><div class='del'>-</div><div class='del'>-Fri Nov 20 23:15:18 2015  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: expose logger mutex</div><div class='del'>-	  [fix GH-541] Patch by @arthurnn</div><div class='del'>-</div><div class='del'>-Fri Nov 20 15:05:28 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Added missing reference of GitHub</div><div class='del'>-</div><div class='del'>-Fri Nov 20 14:57:01 2015  Trevor Rowe  &lt;trevorrowe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"</div><div class='del'>-	  header. [fix GH-949]</div><div class='del'>-	* test/net/http/test_http.rb: added test.</div><div class='del'>-</div><div class='del'>-Fri Nov 20 14:39:56 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: set hostname before call ossl_ssl_set_session.</div><div class='del'>-	  [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek</div><div class='del'>-</div><div class='del'>-Fri Nov 20 12:53:19 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: clarify docs for take_while/drop_while samples.</div><div class='del'>-	  [ci skip][fix GH-1028] Patch by @leriksen</div><div class='del'>-</div><div class='del'>-Fri Nov 20 12:48:04 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: remove mention of :UNIX in getaddrinfo().</div><div class='del'>-	  It's typically not a support option.</div><div class='del'>-	  [ci skip][fix GH-990] Patch by @eam</div><div class='del'>-</div><div class='del'>-Fri Nov 20 12:44:06 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod.</div><div class='del'>-	  [ci skip][fix GH-1105] Patch by @davydovanton</div><div class='del'>-</div><div class='del'>-Fri Nov 20 09:05:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_cref_replace_with_duplicated_cref): added.</div><div class='del'>-</div><div class='del'>-	  CREFs should not be shared by methods between `using'.</div><div class='del'>-	  [Bug #11247]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_dup): should copy refinements correctly.</div><div class='del'>-</div><div class='del'>-	* eval.c: use rb_vm_cref_replace_with_duplicated_cref().</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: add a decl. of</div><div class='del'>-	  rb_vm_cref_replace_with_duplicated_cref().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): do not need to pass</div><div class='del'>-	  scope's CREF because VM can find out CREF from stack frames.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Nov 20 06:52:53 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gitattributes: new file for git users</div><div class='del'>-	  [ruby-core:71578] [Feature #11713]</div><div class='del'>-</div><div class='del'>-Thu Nov 19 22:35:31 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag.</div><div class='del'>-	  buffer fullness is more robust to detect the message is too big for</div><div class='del'>-	  the buffer.</div><div class='del'>-	  AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is</div><div class='del'>-	  given.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 21:55:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start): force to invoke GC by GC.start</div><div class='del'>-	  even if it is GC.disable'd.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 20:08:59 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: trivial performance improvements.</div><div class='del'>-</div><div class='del'>-	    name    modified</div><div class='del'>-	    vm1_gc_short_lived*                1.015</div><div class='del'>-	    vm1_gc_short_with_complex_long*    1.014</div><div class='del'>-	    vm1_gc_short_with_long*            1.000</div><div class='del'>-	    vm1_gc_short_with_symbol*          1.016</div><div class='del'>-	    vm1_gc_wb_ary*                     1.002</div><div class='del'>-	    vm1_gc_wb_ary_promoted*            0.996</div><div class='del'>-	    vm1_gc_wb_obj*                     1.045</div><div class='del'>-	    vm1_gc_wb_obj_promoted*            1.014</div><div class='del'>-	    vm3_gc                             1.021</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_writebarrier_generational): reorder parameters to optimize</div><div class='del'>-	  register passing function call.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_writebarrier_incremental): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_writebarrier): remove LIKELY().</div><div class='del'>-	  LIKELY() seems to move related functions not better places.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 19:45:05 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of</div><div class='del'>-	  the executable.  [ruby-core:71561] [Bug #11711]</div><div class='del'>-</div><div class='del'>-Thu Nov 19 15:53:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c: should also clear ruby_disable_gc.</div><div class='del'>-	  [Bug #11692]</div><div class='del'>-</div><div class='del'>-Thu Nov 19 15:31:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): T_IMEMO/iseq objects should be</div><div class='del'>-	  wrap with ISeq wrappers. [Bug #11676]</div><div class='del'>-</div><div class='del'>-Thu Nov 19 15:16:12 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946).</div><div class='del'>-	  this version includes #1114, #1314, #1322, #1375, #1383, #1387</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 14:14:37 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (finish_overlapped_socket): return value of this</div><div class='del'>-	  function should be only 0 or SOCKET_ERROR.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 14:12:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_tailcall_optimize): apply tail call optimization</div><div class='del'>-	  before conversion to specialized instructions.  when looking</div><div class='del'>-	  back from `leave` instruction, `send` instructions have been</div><div class='del'>-	  translated already.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 13:57:58 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,</div><div class='del'>-	  because POSIX platforms just do so.  fixes test errors revealed by</div><div class='del'>-	  r52647.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 02:52:30 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size</div><div class='del'>-	  only when vmaxdatlen is nil.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 02:20:11 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is</div><div class='del'>-	  nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.</div><div class='del'>-	  Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709]</div><div class='del'>-</div><div class='del'>-Thu Nov 19 01:48:05 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -static-libgcc for mingw automatically if available.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 00:53:26 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children,</div><div class='del'>-	  especially exts.mk.</div><div class='del'>-</div><div class='del'>-	* common.mk (EXTMK_ARGS): use above option.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 22:50:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_class_clear_method_cache): should clear all</div><div class='del'>-	  RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS).</div><div class='del'>-</div><div class='del'>-	  RCLASS_CALLABLE_M_TBL() caches complemented method entries.</div><div class='del'>-	  It should be cleared when the modules are cleared.</div><div class='del'>-	  On previous version clears only for direct children.</div><div class='del'>-	  It is enough for normal modules because corresponding T_ICLASSes</div><div class='del'>-	  are direct children.</div><div class='del'>-</div><div class='del'>-	  However, refinements create complex data structure. So that</div><div class='del'>-	  we need to clear all children (and descendants).</div><div class='del'>-	  [ruby-core:71423] [Bug #11672]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_clear_method_cache_by_class): rb_mKernel</div><div class='del'>-	  doesn't call rb_class_clear_method_cache, so that</div><div class='del'>-	  clear child T_ICLASSes.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: enable disabled test.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 21:09:08 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (prepare_callable_method_entry): use</div><div class='del'>-	  RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 17:08:18 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: introduce the following field and macros.</div><div class='del'>-</div><div class='del'>-	  * rb_method_definition_t::complemented_count to count shared method</div><div class='del'>-	    entries because of complemented method entries and separate from</div><div class='del'>-	    alias_count.</div><div class='del'>-</div><div class='del'>-	    Shared `def' only by complemented method entries should not prevent</div><div class='del'>-	    method re-definition warning.</div><div class='del'>-</div><div class='del'>-	  * METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry.</div><div class='del'>-	  * METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as  complemented me.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (aliased_callable_method_entry): should also</div><div class='del'>-	  check me-&gt;def-&gt;complemented_count.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (method_definition_addref_complement): add to count</div><div class='del'>-	  complemented method entries number.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_release): release `def' iff</div><div class='del'>-	  alias_count == 0 and complemented_count == 0.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 17:06:19 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_raw_obj_info): fix trivial issues.</div><div class='del'>-</div><div class='del'>-	  * support SPECIAL_CONSTs.</div><div class='del'>-	  * fix IMEMO/ment outputs.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 11:32:15 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): eliminate always/never</div><div class='del'>-	  branches after a literal object.  this sequence typically</div><div class='del'>-	  appears by defined? operator for a method call on a local</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 10:33:06 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size</div><div class='del'>-	  when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms</div><div class='del'>-	  (such as, Windows).  fixes a test error revealed by r52625.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 10:12:36 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as</div><div class='del'>-	  default size to match pre-r52610, which also maps to a common</div><div class='del'>-	  page size.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 10:05:25 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/refinements.rdoc: update documentation to reflect</div><div class='del'>-	  recent changes.</div><div class='del'>-	  [ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam</div><div class='del'>-</div><div class='del'>-Wed Nov 18 09:50:21 2015  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/logger/test_logdevice.rb: Fix tests of logger to make it work on</div><div class='del'>-	  windows (windows can not remove opened file) [Bug #11702]</div><div class='del'>-</div><div class='del'>-Wed Nov 18 06:59:52 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer</div><div class='del'>-	  on unspecified maxdatlen</div><div class='del'>-	  [ruby-core:71517] [Bug #11701]</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen</div><div class='del'>-	  (Socket#recvmsg_nonblock): ditto</div><div class='del'>-	* test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test</div><div class='del'>-</div><div class='del'>-Tue Nov 17 19:50:06 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fstat): declare for mingw.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 19:02:59 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (BASERUBY): use Kernel#print instead of Kernel#p because</div><div class='del'>-	  the baseruby may output CRLF as end of line.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 15:34:34 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-	* NEWS: Added update from Unicode 7.0.0 to 8.0.0 [ci skip]</div><div class='del'>-</div><div class='del'>-Tue Nov 17 15:30:30 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-	* enc/unicode/casefold.h, name2ctype.h: Change Unicode</div><div class='del'>-	  Version for regular expressions from 7.0.0 to</div><div class='del'>-	  8.0.0 (with help from Kimihito Matsui) [Feature #11563]</div><div class='del'>-</div><div class='del'>-Tue Nov 17 14:36:00 2015  Kenichi Kamiya  &lt;kachick1@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (dig): Implement OpenStruct#dig</div><div class='del'>-	  [Feature #11688]</div><div class='del'>-</div><div class='del'>-Tue Nov 17 14:04:14 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket#recvmsg{,_nonblock}): default values</div><div class='del'>-	  of clen must be nil.</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): handle nil of clen.</div><div class='del'>-	  fixes test errors introduced at r52602.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 13:43:46 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: UNIXSocket is not always exists.  fixes</div><div class='del'>-	  install error on Windows, introduced at r52601.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 11:27:23 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket#recvfrom_nonblock):</div><div class='del'>-	  UDPSocket#recvfrom_nonblock):</div><div class='del'>-	  update doc for `exception: false` and destination buffer</div><div class='del'>-	  [ruby-core:69542] [Feature #11229]</div><div class='del'>-	  [ruby-core:69543] [Feature #11242]</div><div class='del'>-</div><div class='del'>-Tue Nov 17 11:25:05 2015  Eric Turner  &lt;ericturnerdev@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dig), hash.c (rb_hash_dig): [DOC] Update</div><div class='del'>-	  comments describing dig methods.  [Fix GH-1103]</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_dig): [DOC] add rdoc.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 11:22:22 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-	* NEWS: Small grammatical fix [ci skip]</div><div class='del'>-</div><div class='del'>-Tue Nov 17 10:12:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket.accept_loop): avoid exceptions</div><div class='del'>-	  (Socket.udp_server_recv): ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 17 09:59:00 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): avoid arg parsing</div><div class='del'>-	  [ruby-core:71439] [Feature #11339]</div><div class='del'>-	  (rsock_bsock_sendmsg): make private, adjust for above</div><div class='del'>-	  (rsock_bsock_sendmsg_nonblock): ditto</div><div class='del'>-	* ext/socket/rubysocket.h: adjust prototypes</div><div class='del'>-	  (rsock_opt_false_p): remove</div><div class='del'>-	* ext/socket/basicsocket.c (rsock_init_basicsocket):</div><div class='del'>-	  define private methods</div><div class='del'>-	* ext/socket/lib/socket.rb (BasicSocket#sendmsg): new wrapper</div><div class='del'>-	  (BasicSocket#sendmsg_nonblock): ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 17 09:45:18 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): avoid arg parsing</div><div class='del'>-	  (rsock_bsock_recvmsg): adjust for above change</div><div class='del'>-	  (rsock_bsock_recvmsg_nonblock): ditto</div><div class='del'>-	  [ruby-core:71439] [Feature #11339]</div><div class='del'>-	* ext/socket/rubysocket.h: adjust prototypes for above</div><div class='del'>-	* ext/socket/basicsocket.c (rsock_init_basicsocket):</div><div class='del'>-	  adjust private methods</div><div class='del'>-	* ext/socket/lib/socket.rb (BasicSocket#recvmsg): wrapper method</div><div class='del'>-	  (BasicSocket#recvmsg_nonblock): ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 17 08:36:34 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_accept_nonblock): avoid parsing args</div><div class='del'>-	  [ruby-core:71439] [Feature #11339]</div><div class='del'>-	* ext/socket/rubysocket.h: adjust prototype</div><div class='del'>-	* ext/socket/socket.c (sock_accept_nonblock): make private</div><div class='del'>-	* ext/socket/tcpserver.c (tcp_accept_nonblock): ditto</div><div class='del'>-	* ext/socket/unixserver.c (unix_accept_nonblock): ditto</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket#accept_nonblock):</div><div class='del'>-	  implement as wrapper, move RDoc</div><div class='del'>-	  (TCPServer#accept_nonblock): ditto</div><div class='del'>-	  (UNIXServer#accept_nonblock): ditto</div><div class='del'>-</div><div class='del'>-Tue Nov 17 08:25:57 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect_nonblock):</div><div class='del'>-	  avoid argument parsing in C.</div><div class='del'>-	  [ruby-core:71439] [Feature #11339]</div><div class='del'>-	* ext/socket/lib/socket.rb (Socket#connect_nonblock):</div><div class='del'>-	  new wrapper for private method, move RDoc</div><div class='del'>-</div><div class='del'>-Tue Nov 17 08:16:09 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom_nonblock):</div><div class='del'>-	  avoid arg parsing with C API</div><div class='del'>-	  [ruby-core:71439] [Feature #11339]</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_recv_nonblock):</div><div class='del'>-	  adjust for above change, make private</div><div class='del'>-	* ext/socket/socket.c (sock_recvfrom_nonblock): ditto</div><div class='del'>-	* ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto</div><div class='del'>-	* ext/socket/lib/socket.rb (BasicSocket#recv_nonblock):</div><div class='del'>-	  new wrapper for private method, move RDoc</div><div class='del'>-	  (Socket#recvfrom_nonblock): ditto</div><div class='del'>-	  (UDPSocket#recvfrom_nonblock): ditto</div><div class='del'>-</div><div class='del'>-Mon Nov 16 21:27:54 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/dtrace/helper.rb (Dtrace::TestCase#trap_probe): dtrace buffer</div><div class='del'>-	  size is set as 8m on Solaris (default 4m). [Bug #11697]</div><div class='del'>-</div><div class='del'>-Mon Nov 16 20:03:14 2015  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Add Logger#reopen</div><div class='del'>-</div><div class='del'>-Mon Nov 16 18:21:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_dig): dig in nested structs too.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_dig): new method Struct#dig.</div><div class='del'>-	  [Feature #11688]</div><div class='del'>-</div><div class='del'>-Mon Nov 16 17:41:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): optimize tail calls on aref</div><div class='del'>-	  and aset specialized instructions.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): optimize replaced leave</div><div class='del'>-	  instruction copied to jump instruction too.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 16:39:38 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Enable frozen_string_literal.</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Move &lt;&lt; out of the begin block that ensures pop.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 16:28:30 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Hash#flatten!, #add?, #delete?, #collect!, #reject!,</div><div class='del'>-	  #select!, #^, #classify): Micro-optimize some methods for</div><div class='del'>-	  performance and readability.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 16:17:58 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fixed accidentally commit.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 16:10:51 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: Add some high-level documentation.</div><div class='del'>-	  [ci skip][fix GH-1081] Patch by @ulfalizer</div><div class='del'>-</div><div class='del'>-Mon Nov 16 15:59:14 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: Add call-seq of `Method#super_method`</div><div class='del'>-	  [ci skip][fix GH-1094]</div><div class='del'>-</div><div class='del'>-Mon Nov 16 15:58:39 2015  Kenichi Kamiya  &lt;kachick1@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c: Standardize a method signature of Struct#[]=.</div><div class='del'>-	  [ci skip][fix GH-1095]</div><div class='del'>-</div><div class='del'>-Mon Nov 16 15:42:36 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (#&gt;=, #&gt;, #&lt;=, #&lt;): Make use of Hash#&gt;=, #&gt;, #&lt;, and</div><div class='del'>-	  #&lt;= when comparing against an instance of the same kind.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 15:37:11 2015  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Support symbol and string log level setting</div><div class='del'>-</div><div class='del'>-Mon Nov 16 15:33:11 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: fix wrong permission for gem specification without</div><div class='del'>-	  zlib runtime. [Bug #11685][ruby-dev:49343]</div><div class='del'>-</div><div class='del'>-Mon Nov 16 12:11:11 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/basicauth.rb: fix a typo.</div><div class='del'>-	  [ci skip][fix GH-1099] Patch by @jwworth</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov 15 18:28:43 2015  Kenichi Kamiya  &lt;kachick1@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (set_method_visibility): should fail if the receiver</div><div class='del'>-	  is frozen.  [ruby-core:71489] [Bug #11687]</div><div class='del'>-</div><div class='del'>-Sat Nov 14 22:15:07 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 21:44:56 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: Use "&lt;&lt;" to reduce string allocation.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 17:45:49 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 17:25:15 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 17:00:13 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 16:43:02 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 05:04:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* node.h: remove old comments.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 04:55:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* refactoring CREF related code.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: remove unused setter functions.</div><div class='del'>-	  CREF_CLASS_SET()</div><div class='del'>-	  CREF_NEXT_SET()</div><div class='del'>-	  CREF_SCOPE_VISI_COPY()</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: rename flags:</div><div class='del'>-	  * NODE_FL_CREF_PUSHED_BY_EVAL_ -&gt; CREF_FL_PUSHED_BY_EVAL</div><div class='del'>-	  * NODE_FL_CREF_OMOD_SHARED_ -&gt; CREF_FL_OMOD_SHARED</div><div class='del'>-	  and use IMEMO_FL_USER1/2.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_new): accept push_by_eval parameter.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_new_use_prev): added for rb_vm_rewrite_cref().</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_cref_push): accept pushed_by_eval parameter.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: remove unused macros:</div><div class='del'>-	  COPY_CREF_OMOD() and COPY_CREF().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c, insns.def: catch up this fix.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 02:58:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): refactoring.</div><div class='del'>-	  * get CREF in this function.</div><div class='del'>-	  * cbase is no longer needed (CREF_CLASS(cref) is enough).</div><div class='del'>-</div><div class='del'>-	* compile.c: RubyVM::FrozenCore.define_method only accept 2 args.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 02:34:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): do not use current CREF immediately,</div><div class='del'>-	  but check CREF in environment or methods. Methods defined in methods</div><div class='del'>-	  should be public.</div><div class='del'>-	  [Bug #11571]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_scope_module_func_check): check CREF in env or me.</div><div class='del'>-	  if CREF is contained by `me', then return FALSE.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 02:19:16 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: constify rb_cref_t::scope_visi;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (CREF_SCOPE_VISI_COPY): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 01:53:52 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack, AVOID_CC_BUG): Very ugly workaround for</div><div class='del'>-	  optimization bug of Oracle Solaris Studio 12.4 on Solaris</div><div class='del'>-	  with -xO4 optimization option. [Bug #11684]</div><div class='del'>-</div><div class='del'>-Fri Nov 13 23:00:23 2015  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: unset LD_PRELOAD on mingw. msys2 child processes</div><div class='del'>-	  crash at make test-all with LD_PRELOAD.</div><div class='del'>-	  [ruby-core:71461] [Bug #11680]</div><div class='del'>-</div><div class='del'>-Fri Nov 13 14:00:43 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]</div><div class='del'>-</div><div class='del'>-Fri Nov 13 13:09:16 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Nov 13 13:05:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* prelude.rb (Thread.exclusive): warn as deprecated.</div><div class='del'>-</div><div class='del'>-Fri Nov 13 10:36:39 2015  Victor Nawothnig  &lt;Victor.Nawothnig@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_unless): optimize constant condition for `unless`</div><div class='del'>-	  as well as `if`.  [Fix GH-1092]</div><div class='del'>-</div><div class='del'>-Fri Nov 13 10:08:41 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: bump version to 2.0.15</div><div class='del'>-</div><div class='del'>-Thu Nov 12 18:44:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): should match exactly.</div><div class='del'>-	  [ruby-core:71460] [Bug #11679]</div><div class='del'>-</div><div class='del'>-Thu Nov 12 16:16:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/prelude.c.tmpl: enable tail call optimization.</div><div class='del'>-</div><div class='del'>-Thu Nov 12 14:17:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ANDDOT at the head of the line denote</div><div class='del'>-	  line continuation from previous one to support fluent interface,</div><div class='del'>-	  as well as single dot.</div><div class='del'>-</div><div class='del'>-Thu Nov 12 13:49:50 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems 2.5.0+ HEAD(db78980).</div><div class='del'>-	  this version includes #1367 , #1373 , #1375</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov 12 10:53:41 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_nonblock_noex2.rb: new benchmark based</div><div class='del'>-	  on bm_io_nonblock_noex.rb</div><div class='del'>-	* io.c (io_read_nonblock): move documentation to prelude.rb</div><div class='del'>-	  (io_write_nonblock): ditto</div><div class='del'>-	  (Init_io): private, internal methods for prelude.rb use only</div><div class='del'>-	* prelude.rb (IO#read_nonblock): wrapper + documentation</div><div class='del'>-	  (IO#write_nonblock): ditto</div><div class='del'>-	  [ruby-core:71439] [Feature #11339]</div><div class='del'>-</div><div class='del'>-Wed Nov 11 18:30:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): look up the key, then get default</div><div class='del'>-	  value and raise KeyError if the returned value is nil.</div><div class='del'>-	  [ruby-dev:49338] [Ruby trunk - Bug #11677]</div><div class='del'>-</div><div class='del'>-Wed Nov 11 17:38:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (local_var_list_add): skip internal local variable</div><div class='del'>-	  name by its type but not if it has a name.  internal local</div><div class='del'>-	  variable names are just unique per frame, not globally.</div><div class='del'>-	  [ruby-core:71437] [Bug #11674]</div><div class='del'>-</div><div class='del'>-Wed Nov 11 14:14:33 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c: fix a typo</div><div class='del'>-	[ci skip][fix GH-1091] Patch by @jwworth</div><div class='del'>-</div><div class='del'>-Wed Nov 11 11:58:38 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (initialize): Connections are in passive mode per</div><div class='del'>-	  default now.  The default mode can be changed by</div><div class='del'>-	  Net::FTP.default_passive=.</div><div class='del'>-	  [ruby-core:71146] [Feature #11612]</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (default_passive=, default_passive): new methods.</div><div class='del'>-</div><div class='del'>-Wed Nov 11 09:03:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): respect default value of a hash.  no</div><div class='del'>-	  longer raises KeyError unless the default value of the hash is</div><div class='del'>-	  nil.  [ruby-core:71354] [Bug #11661]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 20:35:12 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Remove indicator for "frozen_string_literal: true".</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/tables.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_buffered_socket.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_mlsx_entry.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_open-uri.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_ssl.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_pp.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_prettyprint.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Tue Nov 10 18:42:24 2015  Aleksandrs Ledovskis  &lt;aleksandrs@ledovskis.lv&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def, parse.y: Switch internal token name to reflect</div><div class='del'>-	  current form of safe-call operator.  [Fix GH-1090]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 18:25:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_to_proc): use rb_func_proc_new to make light</div><div class='del'>-	  weight proc.  [Feature #11653]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 18:23:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (cfunc_proc_t): add room for me.</div><div class='del'>-</div><div class='del'>-	* proc.c (cfunc_proc_new): generalise for cfunc proc without env.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_func_proc_new, rb_func_lambda_new): new functions to</div><div class='del'>-	  make proc/lambda without env from cfunc.</div><div class='del'>-</div><div class='del'>-Tue Nov 10 17:32:35 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC)</div><div class='del'>-	  is not supported on some platforms (e.g. Solaris 10).</div><div class='del'>-</div><div class='del'>-Tue Nov 10 16:57:14 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_to_proc): new method Hash#to_proc.</div><div class='del'>-	  [Feature #11653]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 14:34:09 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_timespec_new): swap utc and localtime</div><div class='del'>-	  to generate gmt flag by INT_MAX - gmtoff.</div><div class='del'>-</div><div class='del'>-Tue Nov 10 14:01:59 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_{le,lt,ge,gt}): new methods, Hash#&lt;=, Hash#&lt;,</div><div class='del'>-	  Hash#&gt;=, Hash#&gt;, to test if all elements of a hash are also</div><div class='del'>-	  included in another hash, and vice versa.</div><div class='del'>-	  [ruby-core:68561] [Feature #10984]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 11:25:29 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_timespec_now): added.  [Feature #11558]</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_timespec_new): added.  [Feature #11558]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 06:17:17 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_autoload_load): allow recursive calls</div><div class='del'>-	  [ruby-core:71345] [Bug #11658]</div><div class='del'>-	* test/ruby/test_autoload.rb (test_autoload_while_autoloading):</div><div class='del'>-	  new test by: Hiroshi Shirosaki &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-	  [ruby-core:71390]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 00:36:46 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Message::MessageEncoder#put_labels):</div><div class='del'>-	  Prevent overflow of pointer to labels.</div><div class='del'>-	  Patch by Hannes Georg.  [ruby-core:71248] [Bug #11632]</div><div class='del'>-</div><div class='del'>-Tue Nov 10 00:25:41 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update to power_assert 0.2.6.</div><div class='del'>-</div><div class='del'>-Mon Nov  9 21:48:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_funcall_default): split from</div><div class='del'>-	  rb_check_funcall to return the given fallback value.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_dig): use rb_check_funcall_default so that tail</div><div class='del'>-	  call optimization will be possible.  [Feature #11643]</div><div class='del'>-</div><div class='del'>-Mon Nov  9 21:27:23 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dig): new method Array#dig.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_dig): new method Hash#dig.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_dig): dig in nested arrays/hashes.</div><div class='del'>-	  [Feature #11643]</div><div class='del'>-</div><div class='del'>-Mon Nov  9 18:00:47 2015  Yuki Nishijima  &lt;mail@yukinishijima.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta3</div><div class='del'>-</div><div class='del'>-Mon Nov  9 17:38:14 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: use official repository for coverage tool.</div><div class='del'>-	* Makefile.in: ditto.</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-	* .gitignore: ignored third party repositories.</div><div class='del'>-</div><div class='del'>-Mon Nov  9 17:29:09 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): Dynamic string literals should be</div><div class='del'>-	  frozen.</div><div class='del'>-	  [ruby-core:57574] [Feature #8976]</div><div class='del'>-</div><div class='del'>-Mon Nov  9 15:56:07 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Use ruby organization url for simplecov repository.</div><div class='del'>-</div><div class='del'>-Sun Nov  8 16:24:09 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: describe addition of File::TMPFILE</div><div class='del'>-</div><div class='del'>-Sun Nov  8 15:19:17 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: Add O_TMPFILE.</div><div class='del'>-</div><div class='del'>-Sun Nov  8 14:24:43 2015  windwiny  &lt;windwiny.ubt@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (METHOD_ENTRY_{VISI,BASIC,FLAGS}_SET): suppress</div><div class='del'>-	  shift-op-parentheses warnings.  [Fix GH-1082]</div><div class='del'>-</div><div class='del'>-Sun Nov  8 14:01:22 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych_emitter.c: backport 5bd7744 from tenderlove/psych.</div><div class='del'>-	  support backward compatibility of Ruby 2.0</div><div class='del'>-</div><div class='del'>-Sun Nov  8 10:55:10 2015  Anton Davydov  &lt;antondavydov.o@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets_m): Update IO#gets doc for characters more than</div><div class='del'>-	  1 byte.  [Fix GH-1085]</div><div class='del'>-</div><div class='del'>-Sun Nov  8 10:37:58 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/ftp.rb: fix a typo.</div><div class='del'>-	  [fix GH-1084][ci skip] Patch by @windwiny</div><div class='del'>-</div><div class='del'>-Sun Nov  8 08:10:31 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (exec_hooks_precheck): check need_clean everytime</div><div class='del'>-	  to clean-up unused hooks.</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (list-&gt;need_clean): use as boolean value.</div><div class='del'>-</div><div class='del'>-Sun Nov  8 01:31:27 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#initialize):</div><div class='del'>-	  default value of Net::HTTP#open_timeout is now 60 (was nil).</div><div class='del'>-</div><div class='del'>-Sat Nov  7 12:18:05 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (id_to_s): remove redundant variable</div><div class='del'>-	  (rb_obj_as_string): trade id_to_s for idTo_s</div><div class='del'>-	  (rb_str_equal): replace rb_intern(...) with pre-defined ID</div><div class='del'>-	  (rb_str_cmp_m): ditto</div><div class='del'>-	  (rb_str_match): ditto</div><div class='del'>-	  (str_upto_each): ditto</div><div class='del'>-	  (rb_str_sum): ditto</div><div class='del'>-	  (Init_String): remove id_to_s initialization</div><div class='del'>-</div><div class='del'>-Sat Nov  7 11:40:05 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_cThreadShield): make static</div><div class='del'>-</div><div class='del'>-Sat Nov  7 09:51:38 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_threadptr_exec_event_hooks_orig):</div><div class='del'>-	  maintain trace_running counter on internal events.</div><div class='del'>-</div><div class='del'>-	  This patch is made by Takashi Kokubun &lt;takashikkbn@gmail.com&gt;.</div><div class='del'>-	  [Bug #11603] https://github.com/ruby/ruby/pull/1059</div><div class='del'>-</div><div class='del'>-Sat Nov  7 03:32:27 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RSTRUCT_PTR): need a close parenthesis.</div><div class='del'>-</div><div class='del'>-Sat Nov  7 01:32:06 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_fileno, dirfd): support of Dir#fileno on Solaris 10.</div><div class='del'>-	  Solaris 10 does not have dirfd, but the file descriptor of a</div><div class='del'>-	  directory is stored in the d_fd or dd_fd member in the DIR struct.</div><div class='del'>-	  Note that Solaris 11 has dirfd(3C).</div><div class='del'>-</div><div class='del'>-	* configure.in: checks for DIR.d_fd and DIR.dd_fd on Solaris 10.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 23:13:53 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: clarifies Array#reject! documentation.</div><div class='del'>-	  [fix GH-894][ci skip] Patch by @GxSplinter</div><div class='del'>-</div><div class='del'>-Fri Nov  6 20:18:25 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: extracted test helper.</div><div class='del'>-	* test/lib/zombie_hunter.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 18:07:47 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr):</div><div class='del'>-	  Suppress pointer type mismatch warnings occurred with old version</div><div class='del'>-	  of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause</div><div class='del'>-	  failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326]</div><div class='del'>-	* include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above,</div><div class='del'>-	  only effective with fcc.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 12:39:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ</div><div class='del'>-	  from ".?" to "&amp;.".  [ruby-core:71363] [Feature #11537]</div><div class='del'>-</div><div class='del'>-Fri Nov  6 09:01:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (kwd_append): fix segv after invalid keyword argument,</div><div class='del'>-	  preceding keyword list is NULL when syntax error is there.</div><div class='del'>-	  [ruby-core:71356] [Bug #11663]</div><div class='del'>-</div><div class='del'>-Fri Nov  6 06:59:37 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload: hoist out ruby_impl_require</div><div class='del'>-</div><div class='del'>-Thu Nov  5 13:03:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def (token_ops): gather associations between IDs,</div><div class='del'>-	  operators, and parser tokens.</div><div class='del'>-</div><div class='del'>-Thu Nov  5 10:17:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (make_addrinfo): use RARRAY_ASET for</div><div class='del'>-	  write-barrier.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c ({call,eval,invoke}_queue_handler): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (ary2list, ary2list2): ditto.</div><div class='del'>-</div><div class='del'>-Thu Nov  5 10:09:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR.</div><div class='del'>-	  pointed out by hanmac.</div><div class='del'>-	  https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670</div><div class='del'>-</div><div class='del'>-Wed Nov  4 17:33:24 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: Add documentation for #thread_list_all.</div><div class='del'>-	  [Misc #11580][ci skip]</div><div class='del'>-</div><div class='del'>-Wed Nov  4 15:45:59 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: fix documentation for rb_define_class{_id}_under.</div><div class='del'>-	  [fix GH-991][ci skip] Patch by @kachick</div><div class='del'>-</div><div class='del'>-Wed Nov  4 15:40:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: fix typo. Patch by @davydovanton</div><div class='del'>-	  [fix GH-1076][ci skip]</div><div class='del'>-</div><div class='del'>-Wed Nov  4 15:39:32 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: use correct grammar. Patch by @tveastman</div><div class='del'>-	  [fix GH-1079][ci skip]</div><div class='del'>-</div><div class='del'>-Wed Nov  4 11:38:23 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_getsid): [DOC] Fix double word 'for' and typo.</div><div class='del'>-	  [Fix GH-1080]</div><div class='del'>-</div><div class='del'>-Wed Nov  4 06:01:52 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RObject): hide iv_index_tbl type</div><div class='del'>-	  [ruby-core:71306] [Feature #11647]</div><div class='del'>-</div><div class='del'>-Tue Nov  3 06:48:58 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (find_class_path): remove cast for rb_class_ivar_set</div><div class='del'>-	  (rb_ivar_set): ditto</div><div class='del'>-	  (rb_cvar_set): ditto</div><div class='del'>-</div><div class='del'>-Tue Nov  3 06:18:21 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_global_tbl): convert to id_table</div><div class='del'>-</div><div class='del'>-Tue Nov  3 01:58:46 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (NO_QCALL): fix type mismatch of operands that causes</div><div class='del'>-	  compile error with Oracle Solaris Studio on Solaris.</div><div class='del'>-	  [Bug #11645] [ruby-dev:49327]</div><div class='del'>-</div><div class='del'>-Sun Nov  1 17:14:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c (mix_id_table_insert): do not touch list during</div><div class='del'>-	  list-&gt;hash transition because GC can run during transition.</div><div class='del'>-</div><div class='del'>-Sun Nov  1 11:07:31 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_memsize): account for rb_call_cache entries</div><div class='del'>-</div><div class='del'>-Sun Nov  1 09:12:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_yylex): ':' separated by a comment and a newline</div><div class='del'>-	  is not valid as symbol.</div><div class='del'>-</div><div class='del'>-Sat Oct 31 20:15:48 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb: skipped tests if openssl doesn't support</div><div class='del'>-	  ECDH cipher.</div><div class='del'>-</div><div class='del'>-Sat Oct 31 14:58:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as</div><div class='del'>-	  it does not allow spaces before its argument.</div><div class='del'>-	  [ruby-core:71283] [Bug #11641]</div><div class='del'>-</div><div class='del'>-Sat Oct 31 14:58:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as</div><div class='del'>-	  it does not allow spaces before its argument.</div><div class='del'>-	  [ruby-core:71283] [Bug #11641]</div><div class='del'>-</div><div class='del'>-Sat Oct 31 10:22:49 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (undef_mesg_for): fix typo.  Before this commit</div><div class='del'>-	  `ArgumentError: malformed format string - %$` was raised when</div><div class='del'>-	  `NameError#message` is called.  [ruby-core:71282] [Bug #11640]</div><div class='del'>-	  [Fix GH-1077]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 21:12:45 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update to power_assert 0.2.5.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 19:29:52 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_slowpath): do not need to use flags hack (commit miss).</div><div class='del'>-</div><div class='del'>-Fri Oct 30 19:08:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_get_freeobj_from_next_freepage): not so UNLIKELY.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 18:09:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_slowpath): reduce 1 parameter to use only registers</div><div class='del'>-	  for performance.</div><div class='del'>-</div><div class='del'>-	  On my laptop, 'N.times{x = []}' (where N = 29_000_000) is</div><div class='del'>-	  1.86 sec -&gt; 1.74 sec.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 12:53:21 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_call.rb: added test for safe navigation operator.</div><div class='del'>-	  [fix GH-1066]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 12:47:34 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix wrong commit name.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 12:36:16 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: added documentation of protected/private methods.</div><div class='del'>-	  [fix GH-1072]</div><div class='del'>-	* test/ruby/test_module.rb: added testcase for method_defined?</div><div class='del'>-	  [fix GH-1071]</div><div class='del'>-</div><div class='del'>-Fri Oct 30 12:06:59 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class_ivar_set): rename as class specific ivar</div><div class='del'>-	  setter, and st_table is no longer involved.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 11:36:33 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (generic_ivar_remove): adjust type, set valp</div><div class='del'>-	  (rb_obj_remove_instance_variable): simplify call</div><div class='del'>-	* test/ruby/test_object.rb (test_remove_instance_variable):</div><div class='del'>-	  expand for implementation details</div><div class='del'>-</div><div class='del'>-Fri Oct 30 10:37:56 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_st_insert_id_and_value): update prototype</div><div class='del'>-	* variable.c (rb_st_insert_id_and_value): reduce args</div><div class='del'>-	  (find_class_path): adjust call for less args</div><div class='del'>-	  (rb_ivar_set): ditto</div><div class='del'>-	  (rb_cvar_set): ditto</div><div class='del'>-	* class.c (rb_singleton_class_attached): ditto</div><div class='del'>-</div><div class='del'>-Fri Oct 30 09:57:22 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update latest gems.</div><div class='del'>-	  test-unit-3.1.5 and minitest-5.8.2</div><div class='del'>-</div><div class='del'>-Fri Oct 30 09:54:05 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems HEAD(60d7972).</div><div class='del'>-	  this version contains pull requests number of #1343, #1356, #1357, #1363</div><div class='del'>-	  at https://github.com/rubygems/rubygems/pulls</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 07:38:29 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (getinlinecache/setinlinecache): compare ic-&gt;ic_cref and</div><div class='del'>-	  current cref only when cached CREF list includes singleton class.</div><div class='del'>-</div><div class='del'>-	  Singleton classes have own namespaces, so that we need to check</div><div class='del'>-	  cref as a key (#10943).</div><div class='del'>-</div><div class='del'>-	  However, if current CREF list does not include singleton class,</div><div class='del'>-	  no need to check CREF because it should be same name space.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_const_key_cref): add a function returns</div><div class='del'>-	  CREF only when it includes singleton class.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify iseq_inline_cache_entry::ic_cref.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 06:43:50 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_env_cref): make it inline for performance.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_get_cref): use NULL instead of 0.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 06:20:40 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def: nobody set ic-&gt;ic_value.value to Qundef.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 06:15:50 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: add ifndef guard for VM_CHECK_MODE.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 06:13:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_check_frame_detail): should require me for</div><div class='del'>-	  VM_FRAME_FLAG_BMETHOD type frame.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 18:42:30 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return</div><div class='del'>-	  immediately when obj is not a markable object.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 18:05:22 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_check_str): add for performance.</div><div class='del'>-	  This function only accepts T_STRING (and T_REGEXP).</div><div class='del'>-</div><div class='del'>-	  This patch improves performance of a tiny_segmenter benchmark</div><div class='del'>-	  (num=2) 2.54sec -&gt; 2.42sec on my machine.</div><div class='del'>-	  https://github.com/chezou/TinySegmenter.jl/blob/master/benchmark/benchmark.rb</div><div class='del'>-</div><div class='del'>-	* encoding.c: add ENC_DEBUG and ENC_ASSERT() macros.</div><div class='del'>-</div><div class='del'>-	* internal.h: add a decl. of rb_enc_check_str().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_plus): use rb_enc_check_str().</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subpat_set): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 17:16:40 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: export rb_wb_(un)protected_newobj_of()</div><div class='del'>-	  because some extensions include internal.h.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 16:42:19 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_imemo_new): should not pass FL_WB_PROTECTED flag.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_wb_protected_newobj_of): add more assertions.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_wb_unprotected_newobj_of): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 16:20:26 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: introduce rb_wb_unprotected_newobj_of() and</div><div class='del'>-	  rb_wb_protected_newobj_of(), pass the WB_PROTECTED</div><div class='del'>-	  information explicitly.</div><div class='del'>-</div><div class='del'>-	* internal.h: use introduced functions by NEWOBJ_OF().</div><div class='del'>-	  `flag' is immediate value, so that C compilers can</div><div class='del'>-	  solve them at compile time.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add a comment about that.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 14:52:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add rb_objspace::flags::has_hook to represent hook availability.</div><div class='del'>-</div><div class='del'>-	* gc.c: add gc_event_hook_available_p(objspace) to check that flag.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): use gc_event_hook_available_p() instead of</div><div class='del'>-	  checking gc_event_hook_needed_p(objspace, RUBY_INTERNAL_EVENT_NEWOBJ).</div><div class='del'>-	  for performance.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_init): add UNLIKELY() for FL_WB_PROTECTED flag.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_init): change parameters order (trivial change).</div><div class='del'>-</div><div class='del'>-Thu Oct 29 14:45:15 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_struct): move forward declarations before</div><div class='del'>-	  used.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 14:07:54 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_ptr): remove debug code for #11244.</div><div class='del'>-</div><div class='del'>-Thu Oct 29 10:08:33 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (struct autoload_state): usable as wait-queue head</div><div class='del'>-	  (struct autoload_data_i): remove 2 words of overhead</div><div class='del'>-	  (autoload_i_mark): remove marking for thread</div><div class='del'>-	  (autoload_reset): adjust for struct changes</div><div class='del'>-	  (rb_autoload): ditto</div><div class='del'>-	  (rb_autoloading_value): ditto</div><div class='del'>-	  (rb_autoload_load): ditto</div><div class='del'>-	  (const_update): ditto</div><div class='del'>-</div><div class='del'>-Thu Oct 29 08:48:05 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (struct autoload_data_i): add waitq_head</div><div class='del'>-	  (struct autoload_state): new struct</div><div class='del'>-	  (autoload_require): save result in autoload_state for use</div><div class='del'>-	    in autoload_reset</div><div class='del'>-	  (autoload_reset): wake up other waiters with open-coded</div><div class='del'>-	    wait-queues</div><div class='del'>-	  (rb_autoload_load): add ensure autoload_const_set happens</div><div class='del'>-	    atomically w.r.t. autoload-triggered "require"</div><div class='del'>-	  [ruby-core:70075] [ruby-core:71239] [Bug #11384]</div><div class='del'>-</div><div class='del'>-Wed Oct 29 00:39:50 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_commands_server_command.rb</div><div class='del'>-	  (test_handle_options_port): change port from http to discard.</div><div class='del'>-	  Solaris does not include "http 80/tcp" in its default</div><div class='del'>-	  /etc/inet/services. AFAIK, discard (9/tcp) is older than http</div><div class='del'>-	  and it is expected that all OS can resolve the service name.</div><div class='del'>-	  [Bug #10004] [ruby-core:63518]</div><div class='del'>-</div><div class='del'>-Wed Oct 28 23:52:48 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* probes_helper.h (RUBY_DTRACE_HOOK): add RB_GC_GUARD, though paranoic.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 15:36:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_name_err_new): store the receiver directly.</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_receiver): return directly stored receiver.</div><div class='del'>-	  [Feature #10881]</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_to_str): quote the name if unprintable.</div><div class='del'>-</div><div class='del'>-	* object.c (check_setter_id): use rb_check_id to convert names.</div><div class='del'>-</div><div class='del'>-	* variable.c (uninitialized_constant): use NameError::message to</div><div class='del'>-	  keep the receiver of uninitialized constant.  [Feature #10881]</div><div class='del'>-</div><div class='del'>-	* error.c (rb_name_err_new): new function to create NameError</div><div class='del'>-	  exception instance.  [Feature #10881]</div><div class='del'>-</div><div class='del'>-Wed Oct 28 13:29:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_attr_op_assign): fix op_assign type, which is</div><div class='del'>-	  already an ID since r52284.  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 23:14:14 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def: enable anonymous IDs not to expose internal IDs for</div><div class='del'>-	  frozen-string-literal-debug by Marshal.dump.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 17:06:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def: move internal IDs for frozen-string-literal-debug.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 16:41:05 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_error_frozen_object): use rb_attr_get instead of</div><div class='del'>-	  rb_ivar_get to get rid of warnings for string objects created</div><div class='del'>-	  when frozen-string-literal-debug is disabled.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 16:18:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::Period#previous_period_end): as weekly</div><div class='del'>-	  rotation shifts the log file on Sundays, the end date of the</div><div class='del'>-	  previous period should be Saturdays.  fix r45072.</div><div class='del'>-	  [ruby-dev:49314] [Bug #11622]</div><div class='del'>-</div><div class='del'>-Tue Oct 27 16:12:37 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_print_backtrace): our addr2line doesn't work on sparc.</div><div class='del'>-	  http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151027T043311Z.log.html.gz</div><div class='del'>-</div><div class='del'>-Tue Oct 27 12:00:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::Period#next_rotate_time): get rid of</div><div class='del'>-	  adding to mday not to exceed the days of the month.</div><div class='del'>-	  [ruby-core:71185] [Bug #11620]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 22:43:03 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_method_defined): Add test cases</div><div class='del'>-	  for `public/protected/private _method_defined?`</div><div class='del'>-	  These methods accept string as argument, so add string argument</div><div class='del'>-	  cases.  [Fix GH-1067]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 22:23:30 2015  SimonDKnight  &lt;simondknight@hotmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/rdoc/grammar.en.rdoc: Grammatical errors fixed.</div><div class='del'>-	  [Fix GH-1070]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 18:36:43 2015  Shota Fukumori (sora_h) &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c(rb_method_entry_make):</div><div class='del'>-	  [DOC] [ci skip] Remove a needless space from comment</div><div class='del'>-	  [Fixes GH-1069] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Mon Oct 26 17:30:13 2015  Ryan Hosford  &lt;tad.hosford@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: rename tailing to trailing.</div><div class='del'>-	  [Misc #11548]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 17:11:53 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_op, call_op2): fix values on ripper.  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 12:55:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (call_op2): separate from call_op and also allow "::",</div><div class='del'>-	  while dot_or_colon should not allow ".?".  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Mon Oct 26 01:03:23 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c: fix compile errors when</div><div class='del'>-	  USE_SLEEPY_TIMER_THREAD is disabled.</div><div class='del'>-</div><div class='del'>-Sun Oct 25 10:12:05 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (op_tbl): add DOTQ for ripper.  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 22:51:18 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: fixed build failure of Haiku.</div><div class='del'>-	  [fix GH-984] Patch by @kallisti5</div><div class='del'>-	* ext/socket/getaddrinfo.c: ditto.</div><div class='del'>-	* ext/socket/getnameinfo.c: ditto.</div><div class='del'>-	* ext/socket/rubysocket.h: ditto.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 21:16:53 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fileutils/test_fileutils.rb (test_uptodate): relax error</div><div class='del'>-	  message format.  [Feature #9025], [ruby-core:71178] [Bug #11617]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 21:06:43 2015  Shota Fukumori (sora_h)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: Revert r45640 because it may lead to link</div><div class='del'>-	  with different libruby. [Bug #9760]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 15:42:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: relax error message format.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_arity.rb (err_mess): ditto.</div><div class='del'>-	  [Feature #9025], [ruby-core:71178] [Bug #11617]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 12:47:47 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: improved error message for "wrong number</div><div class='del'>-	  of arguments", distinguishing given and expected argument</div><div class='del'>-	  numbers clearly. [Feature #9025]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 11:57:59 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: remove the typedef redeclaration of</div><div class='del'>-	  vm_call_handler.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 07:29:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (def_instance_delegator, def_single_delegator):</div><div class='del'>-	  match backtraces against ::Forwardable in case the target class</div><div class='del'>-	  is a subclass of BasicObject and does not include Kernel.</div><div class='del'>-	  [ruby-core:71176] [Bug #11616]</div><div class='del'>-</div><div class='del'>-Sat Oct 24 04:10:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (make_compile_option_value): include frozen_string_literal*</div><div class='del'>-	  in a made option value.</div><div class='del'>-</div><div class='del'>-	* vm_opts.h: forgot to add OPT_FROZEN_STRING_LITERAL_DEBUG</div><div class='del'>-	  at last commit.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 03:58:02 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: introduce --enable-frozen-string-literal-debug option.</div><div class='del'>-	  If this option is enabled, the modify error will be:</div><div class='del'>-	    can't modify frozen String (RuntimeError) =&gt;</div><div class='del'>-	    can't modify frozen String, created at test.rb:3 (RuntimeError)</div><div class='del'>-</div><div class='del'>-	* iseq.h: add compile option frozen_string_literal_debug.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_error_frozen): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (set_compile_option_from_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: add a test for this fix.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 02:02:24 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: introduce new call handler for simple ISeqs.</div><div class='del'>-</div><div class='del'>-	  vm_call_iseq_setup_normal_0start() is simple, however it has</div><div class='del'>-	  some loops/conditions depends on ISeq::param.size and</div><div class='del'>-	  ISeq::local_size (in vm_push_frame(), inlined into this function).</div><div class='del'>-</div><div class='del'>-	  There are many simple methods which has a few parameters and local</div><div class='del'>-	  variables. So that this patch introduces several special functions</div><div class='del'>-	  generated in vm_call_iseq_optimized.inc by</div><div class='del'>-	  tool/mk_call_iseq_optimized.rb.</div><div class='del'>-</div><div class='del'>-	  This script makes</div><div class='del'>-	    vm_call_iseq_setup_normal_0start_Xparams_Ylocals()</div><div class='del'>-	  where X is 0 to 3 and Y is 1 to 6 (as current setting).</div><div class='del'>-	  In this case, X * Y = 24 functions are created.</div><div class='del'>-</div><div class='del'>-	  These functions creates fast method dispatch by inlining</div><div class='del'>-	  vm_push_frame() with immediate params/locals sizes.</div><div class='del'>-</div><div class='del'>-	  On my laptop, we can have the following results.</div><div class='del'>-</div><div class='del'>-	  vm2_method*       1.083 (8.3% faster)</div><div class='del'>-	  vm2_poly_method*  0.961 (3.4% slower)</div><div class='del'>-</div><div class='del'>-	  It shows 8.3% faster for inner loop method dispatch (hit inline</div><div class='del'>-	  cache), but 3.4% slower when inline cache miss because we need</div><div class='del'>-	  to find a suitable call handler.</div><div class='del'>-</div><div class='del'>-	* common.mk: add a rule for vm_call_iseq_optimized.inc.</div><div class='del'>-</div><div class='del'>-	* tool/mk_call_iseq_optimized.rb: added.</div><div class='del'>-</div><div class='del'>-	* vm.c: include vm_call_iseq_optimized.inc.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 01:58:50 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: define vm_call_handler.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 01:56:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_insnhelper.h: move definition of VMDEBUG</div><div class='del'>-	  from vm_insnhelper.h to vm_core.h.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 01:51:01 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: [DOC] In the new safe call syntax, arguments are evaluated</div><div class='del'>-	  only if a call is made.</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc: Fix a typo.</div><div class='del'>-</div><div class='del'>-Sat Oct 24 00:38:34 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable (def_instance_delegator, def_single_delegator):</div><div class='del'>-	  rescue ::Exception instead of Exception in case Exception is</div><div class='del'>-	  defined under the target class.</div><div class='del'>-	  [ruby-core:71175] [Ruby trunk - Bug #11615]</div><div class='del'>-</div><div class='del'>-Fri Oct 23 21:10:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_mesg_to_str): separate class names from the</div><div class='del'>-	  receiver description.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (make_no_method_exception, raise_method_missing): add</div><div class='del'>-	  format specifiers for class names.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 18:10:32 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored environmental wrapper files.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 17:55:29 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: Ignored assignment of STDOUT.sync = true</div><div class='del'>-	  when irb.rb loaded. It's affected to IDE such as Jetbrain.</div><div class='del'>-	  [fix GH-864] Patch by @os97673</div><div class='del'>-</div><div class='del'>-Fri Oct 23 16:35:08 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained</div><div class='del'>-	  EOL string. Patch by @kachick [fix GH-942][Bug #11513]</div><div class='del'>-</div><div class='del'>-Fri Oct 23 16:03:26 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: fix indent style. [fix GH-977]</div><div class='del'>-	* test/ruby/test_string.rb: indent. [fix GH-975]</div><div class='del'>-	  [ci skip] These patches are contributed from @yui-knk</div><div class='del'>-</div><div class='del'>-Fri Oct 23 15:46:09 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Added method signature to include hash. It's inconsistency</div><div class='del'>-	  with `gsub` method signature.</div><div class='del'>-	  [ci skip][fix GH-1023] Patch by @danielevans</div><div class='del'>-</div><div class='del'>-Fri Oct 23 15:25:51 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: remove an empty comment line and -*-.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 15:20:02 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (gettextfile, getbinaryfile): use the safe</div><div class='del'>-	  navigation operator.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 13:51:33 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test_call.rb (test_safe_call): Add test cases for safe</div><div class='del'>-	  navigation operator assignment.  [Fix GH-1064]</div><div class='del'>-	  Validate:</div><div class='del'>-	  * can assign an attribute which is `nil`</div><div class='del'>-	  * can "or assign" an attribute which is `nil`</div><div class='del'>-</div><div class='del'>-Fri Oct 23 11:58:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): optimize lengthy safe</div><div class='del'>-	  navigation method chain.  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Fri Oct 23 10:58:41 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix/eigenvalue_decomposition.rb (tridiagonalize): fix</div><div class='del'>-	  indentation to avoid a warning when the command line option -w of</div><div class='del'>-	  ruby is specified.</div><div class='del'>-</div><div class='del'>-	* lib/matrix/eigenvalue_decomposition.rb (hessenberg_to_real_schur):</div><div class='del'>-	  change the name of a block parameter to avoid a warning when the</div><div class='del'>-	  command line option -w of ruby is specified.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 10:49:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): support safe navigation of simple</div><div class='del'>-	  attribute assignment.  [Feature #11537]</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_node, lhs, attrset_gen): ditto.  keep mid</div><div class='del'>-	  non-attrset as the sign of safe navigation.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 07:17:11 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb (test_wait_eof): test return value</div><div class='del'>-</div><div class='del'>-Fri Oct 23 00:32:02 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error</div><div class='del'>-	  in ext/openssl instead of OpenSSL itself because LibreSSL</div><div class='del'>-	  silently truncate the selected protocol name by casting the length</div><div class='del'>-	  from int to unsigned char. [Bug #11369]</div><div class='del'>-	  Patch by Jeremy Evans &lt;merch-redmine@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-Fri Oct 23 00:49:45 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/un.rb (help): change the name of a block parameter to avoid</div><div class='del'>-	  a warning when the command line option -w of ruby is specified.</div><div class='del'>-</div><div class='del'>-Fri Oct 23 00:22:20 2015  Josef Simanek  &lt;josef.simanek@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_tr): [DOC] Escape backslash in String#tr</div><div class='del'>-	  documentation.  [Fix GH-1063]</div><div class='del'>-</div><div class='del'>-Fri Oct 23 00:19:04 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_collect): [DOC] Fix space of code example of</div><div class='del'>-	  Array#map.  [Fix GH-1062]</div><div class='del'>-</div><div class='del'>-Thu Oct 22 18:52:53 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration</div><div class='del'>-	  exception, return what the enumerator has returned instead of</div><div class='del'>-	  nil. [ruby-core:71133] [Feature #11498]</div><div class='del'>-</div><div class='del'>-Thu Oct 22 18:25:10 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (idle): add a new argument timeout for keep-alive.</div><div class='del'>-	  [ruby-core:63693] [Bug #10031]</div><div class='del'>-</div><div class='del'>-Thu Oct 22 15:30:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): peephole optimization for</div><div class='del'>-	  branchnil jumps.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): generate save navigation operator</div><div class='del'>-	  code.</div><div class='del'>-</div><div class='del'>-	* insns.def (branchnil): new opcode to pop the tos and branch if</div><div class='del'>-	  it is nil.</div><div class='del'>-</div><div class='del'>-	* parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'.</div><div class='del'>-	  [Feature #11537]</div><div class='del'>-</div><div class='del'>-Thu Oct 22 13:16:19 2015  Guilherme Reis Campos  &lt;guilhermekbsa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (ruby_brace_expand): glob brace expansion edge case fix.</div><div class='del'>-	  When there are closing braces '}' before a open brace '{' it</div><div class='del'>-	  must be ignored and considered as literal.</div><div class='del'>-	  [ruby-core:71138] [Bug #11609]</div><div class='del'>-</div><div class='del'>-Thu Oct 22 13:13:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_next_argv): check ARGV element type, and try</div><div class='del'>-	  conversion if necessary.  [ruby-core:71140] [Bug #11610]</div><div class='del'>-</div><div class='del'>-Thu Oct 22 11:11:16 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb: add tests for getbinaryfile and</div><div class='del'>-	  gettextfile.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 18:34:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_magic_comment): allow a sole magic comment without</div><div class='del'>-	  indicators, neither other non-space comments.  [Feature #8976]</div><div class='del'>-</div><div class='del'>-Tue Oct 20 12:17:56 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Add basic argument checking to Prime.prime?</div><div class='del'>-	  [Bug #11606]</div><div class='del'>-</div><div class='del'>-Tue Oct 20 12:17:50 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Optimize Integer#prime?</div><div class='del'>-	  Patch by Nick Slocum [Bug #10354]</div><div class='del'>-</div><div class='del'>-Tue Oct 20 08:12:47 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: pthread_getattr_np is broken on AIX.</div><div class='del'>-	  More specifically, the stack address and size returned are</div><div class='del'>-	  not correct.</div><div class='del'>-</div><div class='del'>-Tue Oct 20 05:54:46 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/closure.c (callback): static function</div><div class='del'>-</div><div class='del'>-Mon Oct 19 10:33:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_raise_socket_error): get rid of a glibc</div><div class='del'>-	  bug.  [ruby-core:71100] [Bug #11600]</div><div class='del'>-</div><div class='del'>-Mon Oct 19 01:26:26 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_identical_p): not necessary to compare the paths after</div><div class='del'>-	  comparing the file indexes on Windows.  designate by kosaki.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 21:17:27 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 14:37:56 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_urandom): add a comment why using</div><div class='del'>-	  O_NONBLOCK and O_NOCTTY.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 13:24:17 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_syscall): use ATOMIC_SET() for</div><div class='del'>-	  updating try_syscall.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 13:03:52 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward/util.h: Good-by Borland-C.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 13:03:09 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add a comment how to use "make test-all"</div><div class='del'>-</div><div class='del'>-Sun Oct 18 12:59:22 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: add comments how to use "make benchmark"</div><div class='del'>-</div><div class='del'>-Sun Oct 18 12:58:15 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: Specify frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 11:22:52 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: remove defined(__WATCOMC__).</div><div class='del'>-</div><div class='del'>-Sun Oct 18 11:16:33 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: Good-by Borland-C.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 11:04:36 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: Good-by Borland-C.</div><div class='del'>-	* include/ruby/backward/rubyio.h: ditto.</div><div class='del'>-	* include/ruby/backward/st.h: ditto.</div><div class='del'>-	* include/ruby/backward/util.h: ditto.</div><div class='del'>-	* include/ruby/backward/rubysig.h: ditto.</div><div class='del'>-	* include/ruby/backward/classext.h: ditto.</div><div class='del'>-	* dln.c: ditto.</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-	* win32/resource.rb: ditto.</div><div class='del'>-	* win32/dir.h: ditto.</div><div class='del'>-	* ext/tk/tcltklib.c: ditto.</div><div class='del'>-	* NEWS: announce that Borland-C is no longer supported.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 10:54:52 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: simplify #ifdef. _WIN32 and __CYGWIN__ are exclusive.</div><div class='del'>-	  see include/ruby/defines.h</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-	* ext/sdbm/_sdbm.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 10:42:19 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): add a comment.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 10:12:46 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_identical_p): simplify ifdefs</div><div class='del'>-</div><div class='del'>-Sun Oct 18 10:01:40 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Good-bye OS/2.</div><div class='del'>-	* common.mk: ditto.</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-	* dln_find.c: ditto.</div><div class='del'>-	* ext/Setup.emx: ditto.</div><div class='del'>-	* ext/extmk.rb: ditto.</div><div class='del'>-	* ext/socket/extconf.rb: ditto.</div><div class='del'>-	* ext/zlib/extconf.rb: ditto.</div><div class='del'>-	* file.c: ditto.</div><div class='del'>-	* include/ruby/defines.h: ditto.</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-	* missing/os2.c: ditto.</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-	* ruby.c: ditto.</div><div class='del'>-	* NEWS: announce OS/2 is no longer supported.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 08:50:15 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (DOSISH): add comments.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 08:26:51 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): don't release gvl if fptr is not writable.</div><div class='del'>-	  writable fd may block on close(2) when it's on NFS. But readonly</div><div class='del'>-	  fd doesn't. [Bug #11559]</div><div class='del'>-	  result: make benchmark OPTS="-p bm_require_t -e ruby-trunk -e ruby-2.2.2"</div><div class='del'>-	    build-ruby:             0.171</div><div class='del'>-	    ruby 2.3.0dev(r52151):  0.659</div><div class='del'>-	    ruby 2.2.0p95 (r50295): 0.834</div><div class='del'>-</div><div class='del'>-Sun Oct 18 09:32:58 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_is_fd_loadable): this should be fail if st_mode is</div><div class='del'>-	  not regular file nor FIFO.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 09:20:17 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): use rb_thread_wait_fd() instead of reopen.</div><div class='del'>-</div><div class='del'>-Sun Oct 18 05:11:22 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): reset O_NONBLOCK after open.</div><div class='del'>-	  Even if S_ISREG() is true, the file may be file on FUSE filesystem</div><div class='del'>-	  or something. We can't assume O_NONBLOCK is safe.</div><div class='del'>-	  Moreover, we should wait if the path is point to FIFO. That's</div><div class='del'>-	  FIFO semantics. GVL should be transparent from ruby script.</div><div class='del'>-	  Thus, just reopen without O_NONBLOCK for filling the requirements.</div><div class='del'>-	  [Bug #11060][Bug #11559]</div><div class='del'>-</div><div class='del'>-	* ruby.c (loadopen_func): new for the above.</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_is_fd_loadable): new. for checks loadable file type</div><div class='del'>-	  of not.</div><div class='del'>-	* file.c (rb_file_load_ok): use ruby_is_fd_loadble()</div><div class='del'>-	* internal.h: add ruby_is_fd_loadble()</div><div class='del'>-</div><div class='del'>-	* common.mk: now, ruby.o depend on thread.h.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb</div><div class='del'>-	(TestRequire#test_loading_fifo_threading_success): new test.</div><div class='del'>-	  This test successful case that loading from FIFO.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb</div><div class='del'>-	(TestRequire#test_loading_fifo_threading_raise): rename from</div><div class='del'>-	  test_loading_fifo_threading. You shouldn't rescue an exception</div><div class='del'>-	  if you test raise or not.</div><div class='del'>-	  Moreover, this case should be caught IOError because load(FIFO)</div><div class='del'>-	  should be blocked until given any input.</div><div class='del'>-</div><div class='del'>-Sat Oct 17 13:55:32 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_expand_path_internal): concatenate converted</div><div class='del'>-	  string to the result instead of making converted string and</div><div class='del'>-	  append it.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_cat_conv_enc_opts): from rb_str_conv_enc_opts,</div><div class='del'>-	  separate function to concatenate with transcoding.</div><div class='del'>-</div><div class='del'>-Sat Oct 17 13:19:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): unify each preparations and clean-ups by</div><div class='del'>-	  merging load_file_internal and load_file_internal2, and remove</div><div class='del'>-	  nested rb_protect and rb_ensure.</div><div class='del'>-</div><div class='del'>-Sat Oct 17 05:28:32 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up</div><div class='del'>-	  code and check RSS to avoid false positive on AIX and false</div><div class='del'>-	  negative on Mac OS X. [Bug #10686]</div><div class='del'>-</div><div class='del'>-Fri Oct 16 15:54:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_load_ok): open in non-blocking mode withoout</div><div class='del'>-	  releasing GVL.  don't care about others than regular files and</div><div class='del'>-	  directories.  [ruby-dev:49272] [Bug #11559]</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file_internal): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 15 23:56:03 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_sym_to_proc): make void env.</div><div class='del'>-</div><div class='del'>-Thu Oct 15 13:37:23 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_sym_to_proc): move from string.c and create a Proc</div><div class='del'>-	  with no environments.  [ruby-core:71088] [Bug #11594]</div><div class='del'>-</div><div class='del'>-Thu Oct 15 01:57:03 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb</div><div class='del'>-	  (test_trace_object_allocations_start_stop_clear): clear object</div><div class='del'>-	  allocation table first to get rid of erroneous detection for obj3.</div><div class='del'>-	  [ruby-dev:49095] [Bug #11271]</div><div class='del'>-</div><div class='del'>-Thu Oct 15 01:53:38 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ostruct/test_ostruct.rb: Add tests for OpenStruct#respond_to.</div><div class='del'>-	  Patch by @jeremy in [GH-1041]: https://github.com/ruby/ruby/pull/1041</div><div class='del'>-</div><div class='del'>-Thu Oct 15 01:49:25 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Finish defining OpenStruct attributes lazily.</div><div class='del'>-	  Patch by @sferik in [GH-1037]: https://github.com/ruby/ruby/pull/1037</div><div class='del'>-	  This commit is an addendum to https://github.com/ruby/ruby/pull/1033.</div><div class='del'>-	  It:</div><div class='del'>-	  1. lazily defines attribute accessors for copied and marshaled objects,</div><div class='del'>-	  2. returns nil when an attribute reader is not defined, and</div><div class='del'>-	  3. defines respond_to_missing? to maintain the same respond_to? behavior</div><div class='del'>-</div><div class='del'>-Wed Oct 14 16:56:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check for libunwind.h, which is not available in</div><div class='del'>-	  very old OS X SDK.  [ruby-core:71080] [Bug #11591]</div><div class='del'>-</div><div class='del'>-Wed Oct 14 14:11:42 2015  Brian Black  &lt;bblack@veracode.com&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_insn_operand_intern): change kw in callinfo disasm from the</div><div class='del'>-	  number of keyword arguments to an ordered list of the keywords used.</div><div class='del'>-	  [Feature #11589]</div><div class='del'>-</div><div class='del'>-Wed Oct 14 13:58:44 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_nextc): send a warning to ripper, not to STDERR</div><div class='del'>-	  always.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_warn1, rb_warning1): move argument conversions to</div><div class='del'>-	  callers.  PRIsVALUE is not valid in String#%.</div><div class='del'>-</div><div class='del'>-Wed Oct 14 13:37:23 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/rdoc/grammar.en.rdoc: fix spell error.</div><div class='del'>-	  [fix GH-1053][ci skip] Patch by @Matrixbirds</div><div class='del'>-</div><div class='del'>-Tue Oct 13 22:06:50 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len.</div><div class='del'>-</div><div class='del'>-Tue Oct 13 12:14:10 2015  Craig Davison  &lt;craig65535@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rsock_addrinfo (rsock_addrinfo): specify address</div><div class='del'>-	  family.  [Fix GH-1052]</div><div class='del'>-</div><div class='del'>-	* ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send):</div><div class='del'>-	  address family by the receiver.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 07:09:19 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): initialize other than sp (and ep)</div><div class='del'>-	  first for performance.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 06:21:50 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c, internal.h (rb_yield_1): added for performance which</div><div class='del'>-	  doesn't check Qundef.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_dotimes): use rb_yield_1.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 06:19:49 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_iseq_setup_normal): setup sp first</div><div class='del'>-	  for performance.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 05:29:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_block_from_c): split this function into several</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_callee_setup_arg): remove this function</div><div class='del'>-	  because it is only delegation function.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 03:48:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of_slowpass): fix typo (pass -&gt; path).</div><div class='del'>-	  Pointed out by Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of_...): `of' is unnecessary.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 19:04:42 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/udpsocket.c (udp_connect, udp_bind): get open files</div><div class='del'>-	  inside ensure functions.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 18:35:12 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method0): do not propagate enable_fastpath,</div><div class='del'>-	  but pass dummy CC to prevent wrong caching.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 15:28:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* import a github pull request</div><div class='del'>-	  https://github.com/ruby/ruby/pull/1050</div><div class='del'>-	  by Kazuho Oku &lt;kazuho@natadeco.co&gt;.</div><div class='del'>-</div><div class='del'>-	  This pull request has the following commits.</div><div class='del'>-</div><div class='del'>-	* gc.c: reduce # of args to 6 (max. of register args on x86-64) so</div><div class='del'>-	  that the `newobj_of_slowpass` can be called via TCO.</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of), string.c (str_duplicate): for performance,</div><div class='del'>-	  the hot functions must be inlined.</div><div class='del'>-</div><div class='del'>-	* gc.c: for performance, preceding arguments of `.*newobj_of.*`</div><div class='del'>-	  must be same, so that the arg registers can be reused in case of</div><div class='del'>-	  TCO.</div><div class='del'>-</div><div class='del'>-Sat Oct 10 08:52:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): fix</div><div class='del'>-	  memory leaks at closed socket.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 17:29:07 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse257): refactor.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 16:42:26 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb: use frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap_response_parser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 15:52:28 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb: use frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_buffered_socket.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_mlsx_entry.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 14:12:35 2015  Shota Fukumori (sora_h)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: Revert r52082 because it was</div><div class='del'>-	  dropping TLS v1.1 support too. Supporting only TLS v1.2 is too</div><div class='del'>-	  early, because many popular websites still don't support it.</div><div class='del'>-</div><div class='del'>-	  For instance, Servers where aws-sdk connects to still don't support</div><div class='del'>-	  TLS v1.2 and it became broken.</div><div class='del'>-</div><div class='del'>-	  We should consider more carefully about this.</div><div class='del'>-</div><div class='del'>-	  [Fix GH-873] [Feature #11524]</div><div class='del'>-</div><div class='del'>-Fri Oct  9 12:52:08 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): Dynamic string literals (e.g.,</div><div class='del'>-	  "#{x}") should not be frozen because they don't literally</div><div class='del'>-	  represent strings.</div><div class='del'>-	  https://twitter.com/shugomaeda/status/651937650027401216</div><div class='del'>-	  https://twitter.com/yukihiro_matz/status/651942882312482817</div><div class='del'>-	  https://twitter.com/yukihiro_matz/status/651980835181096960</div><div class='del'>-</div><div class='del'>-Fri Oct  9 06:52:49 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/prepare_require.rb: skip file creation if it already</div><div class='del'>-	  exist. Suggested by ko1.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 06:18:04 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-	* benchmark/bm_require.rb: new benchmark for require.</div><div class='del'>-	* benchmark/bm_require_thread.rb: new benchmark for conflicting</div><div class='del'>-	  require vs thread. like [Bug #11559]</div><div class='del'>-	* prepare_require.rb: new file for preparing above tests.</div><div class='del'>-	* prepare_require.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  8 14:10:45 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1</div><div class='del'>-	  Patch provided by @claudijd [Fixes GH-873] [Feature #11524]:</div><div class='del'>-	  https://github.com/ruby/ruby/pull/873</div><div class='del'>-</div><div class='del'>-Wed Oct  7 22:55:02 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/minitest/metametameta.rb (with_output): restore output to</div><div class='del'>-	  fix mixing test result output in worker responses.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 21:32:51 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_duplicate): move from rb_str_resurrect to short</div><div class='del'>-	  circuit initialization.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 20:43:14 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resurrect): fix resurrection of short enough to</div><div class='del'>-	  be embedded but not embedded string.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 20:17:29 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): divide fast path and slow path</div><div class='del'>-	  to avoid register savings for fast path.</div><div class='del'>-</div><div class='del'>-	  This idea is given by Kazuho Oku &lt;kazuho@natadeco.co&gt;.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 17:30:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): optimize for the argument 0 and 1.</div><div class='del'>-</div><div class='del'>-Wed Oct  7 01:20:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h, gc.c: introduce new debug function rb_obj_info_dump(VALUE obj)</div><div class='del'>-	  which prints the result of rb_raw_obj_info(..., obj).</div><div class='del'>-</div><div class='del'>-Wed Oct  7 01:16:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c: remove an unused field args_info::calling.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 23:43:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_min_max_arity): should support</div><div class='del'>-	  OPTIMIZED_METHOD_TYPE_CALL.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 21:29:08 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb (Dir.tmpdir): return duplicated string to be</div><div class='del'>-	  modify safely even when $SAFE &gt; 0.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 19:24:38 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method0): use switch() for visibilities</div><div class='del'>-	  (for readability).</div><div class='del'>-</div><div class='del'>-Tue Oct  6 19:23:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (Init_Proc): Proc#call and others should be public.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 18:51:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: IMEMO_FL_USER3 and IMEMO_FL_USER4 is not needed any more.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 18:47:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: remove METHOD_ENTRY_SAFE(me) and related code</div><div class='del'>-	  because $SAFE = 3 and 4 is not available.</div><div class='del'>-	  Now, $SAFE is not checked on method dispatch at all.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 13:56:14 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: turn function macros into inline functions,</div><div class='del'>-	  for debuggers.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: turn constant macros into enums, for</div><div class='del'>-	  debuggers.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 13:48:05 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: typo fix. Patch by @davydovanton [fix GH-1032][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Oct  6 06:54:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_free): free iseq::variable_body to avoid memory</div><div class='del'>-	  leak.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 06:32:52 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: enable optimization of Proc#call.</div><div class='del'>-	  [Feature #11569]</div><div class='del'>-</div><div class='del'>-	* NEWS: write about this optimization and incompatibilities.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_backtrace.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 04:41:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: solve goto spaghetti.</div><div class='del'>-</div><div class='del'>-	  Change all goto statement across blocks to tail call functions.</div><div class='del'>-</div><div class='del'>-Tue Oct  6 02:29:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_resurrect): optimize by short circuit to copy</div><div class='del'>-	  hidden string without checking length, encoding and so on.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 23:08:17 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (test_handle_interrupt_blocking): check if</div><div class='del'>-	  exception handling was postponed until sleep.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 22:25:49 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb: Use frozen_string_literal: true.</div><div class='del'>-</div><div class='del'>-	* lib/prettyprint.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_pp.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_prettyprint.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* tool/transcode-tblgen.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 20:39:32 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb: fix potential race condition.</div><div class='del'>-	  The thread could have a "sleep" status because it tries</div><div class='del'>-	  to acquire the mutex, but does not have it yet.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 15:39:30 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: [DOC] Overview for Numeric class by Joe Corcoran</div><div class='del'>-	  This patch was created at ROSSConf Berlin 2015 [Bug #11555]</div><div class='del'>-</div><div class='del'>-Mon Oct  5 15:34:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_new): link ep to calling block.</div><div class='del'>-	  [ruby-core:70980] [Bug #11566]</div><div class='del'>-</div><div class='del'>-Mon Oct  5 00:53:51 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_dir_getwd): make ASCII-8BIT if filesystem encoding is</div><div class='del'>-	  US-ASCII, like as Dir.glob.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 23:39:09 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (nmin_filter): Fix limit value.</div><div class='del'>-	  patch by Helder Pereira.</div><div class='del'>-	  [Bug #11471] [ruby-core:70477]</div><div class='del'>-</div><div class='del'>-Sun Oct  4 15:11:48 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/euc_jp.c (mbc_case_fold): check given string is valid or not,</div><div class='del'>-	  and if invalid, return 1. [Bug #11486]</div><div class='del'>-</div><div class='del'>-Sun Oct  4 10:09:57 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_dir_getwd): normalize OS path to UTF-8 on OS X.</div><div class='del'>-</div><div class='del'>-Sun Oct  4 00:09:45 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/ruby-runner.c.in: wrapper to set dynamic loading path</div><div class='del'>-	  environment variable.  /bin/sh on Mac OS X 10.11 (El Capitan)</div><div class='del'>-	  clears DYLD_LIBRARY_PATH.</div><div class='del'>-</div><div class='del'>-	  it must:</div><div class='del'>-	  - do nothing even if current directory is not present</div><div class='del'>-	  - do not set other environment variables, e.g. PWD, SHLVL, etc</div><div class='del'>-	  - do not open other FDs, e.g. pipes for timer thread</div><div class='del'>-</div><div class='del'>-Sun Oct 2 10:59:00 2015  schneems  &lt;richard.schneeman@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb: freeze string literals for</div><div class='del'>-	  reduced object allocation.</div><div class='del'>-	  [Feature #11375] [ruby-core:70043]</div><div class='del'>-</div><div class='del'>-Fri Oct  2 09:20:20 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, lib/unicode_normalize/tables.rb: Change Unicode</div><div class='del'>-	  Version for character normalization data from 7.0.0 to</div><div class='del'>-	  8.0.0.</div><div class='del'>-</div><div class='del'>-Fri Oct  2 00:18:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_mark): block.ep of Proc from Symbol is now NULL.</div><div class='del'>-	  [ruby-core:70961] [Bug #11560]</div><div class='del'>-</div><div class='del'>-Wed Sep 30 15:47:13 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (vm_caller_setup_arg_block): bypass Symbol#to_proc</div><div class='del'>-	  call to optimize symbol block passing.</div><div class='del'>-</div><div class='del'>-Wed Sep 30 01:34:34 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_free): fix memory leak at syntax error when</div><div class='del'>-	  warn-indent is enabled.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 22:27:50 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix minor typo. [ci skip][fix GH-1038].</div><div class='del'>-	  Patch by @ltratt.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 16:53:53 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/unicode_norm_gen.tmpl, lib/unicode_normalize/tables.rb:</div><div class='del'>-	  get rid of many .freeze commands by using frozen_string_literal</div><div class='del'>-	  pragma.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 16:37:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_dstr_fragments): fix performance by omitting</div><div class='del'>-	  the first empty string only for keeping literal encoding if</div><div class='del'>-	  other literals are too.  [ruby-core:70930] [Bug #11556]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_append_literal): append but keep encoding non</div><div class='del'>-	  US-ASCII.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 17:40:17 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (mtime): use usec instead of fractions to parse</div><div class='del'>-	  decimal fractions of a second correctly when the number of digits</div><div class='del'>-	  is not 6.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 16:07:08 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (mtime): parse decimal fractions of a second as</div><div class='del'>-	  specified in RFC 3659.</div><div class='del'>-</div><div class='del'>-Mon Sep 28 10:31:12 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_forwardable.rb: Write basic tests for lib/forwardable.</div><div class='del'>-	  [fix GH-1035] Patch by @kachick</div><div class='del'>-</div><div class='del'>-Sun Sep 27 23:32:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class, rb_define_class_id_under): refine</div><div class='del'>-	  error messages.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_module, rb_define_module_id_under): ditto,</div><div class='del'>-	  and make consistent with class.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 18:44:43 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: removed duplicated message.</div><div class='del'>-</div><div class='del'>-Sun Sep 27 15:46:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): add an option to enable/disable</div><div class='del'>-	  frozen-string-literal.  [Feature #8976]</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): override compile option by option</div><div class='del'>-	  given by pragma.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_make_compile_option): extract a function to</div><div class='del'>-	  overwrite rb_compile_option_t.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_set_compile_option_flag): introduce pragma to</div><div class='del'>-	  override compile options.</div><div class='del'>-</div><div class='del'>-	* parse.y (magic_comments): new pragma "frozen-string-literal".</div><div class='del'>-	  [Feature #8976]</div><div class='del'>-</div><div class='del'>-Sun Sep 27 08:16:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (delete_field): do not raise NameError for</div><div class='del'>-	  existing keys.  [Fix GH-1033]</div><div class='del'>-</div><div class='del'>-Sun Sep 27 00:34:31 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Move method definitions for getter/setter to be lazy</div><div class='del'>-	  Patch by @sferik in [GH-1033]: https://github.com/ruby/ruby/pull/1033</div><div class='del'>-</div><div class='del'>-Fri Sep 25 10:07:25 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: removed unused variable. It's removed at r13648.</div><div class='del'>-	  [fix GH-1022] Patch by @nkondratyev</div><div class='del'>-</div><div class='del'>-Fri Sep 25 09:48:27 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: upgrade to minitest-5.8.1</div><div class='del'>-</div><div class='del'>-Fri Sep 25 09:47:12 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c: fix typo. [ci skip][fix GH-1031] Patch @davydovanton</div><div class='del'>-</div><div class='del'>-Fri Sep 25 07:54:05 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip</div><div class='del'>-	  this test on AIX. The issue is the same as on Solaris.</div><div class='del'>-	  [ruby-dev:47631]</div><div class='del'>-</div><div class='del'>-Thu Sep 24 17:25:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (paren_args): fix separator token at `foo::bar()` in</div><div class='del'>-	  ripper.</div><div class='del'>-</div><div class='del'>-Thu Sep 24 00:00:17 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: ruby/config.h must be included before math.h</div><div class='del'>-	  because it defines _LARGE_FILES on AIX and _LARGE_FILES</div><div class='del'>-	  must be defined before sys/types.h is included from math.h.</div><div class='del'>-	  [Bug #11483]</div><div class='del'>-</div><div class='del'>-Wed Sep 23 22:22:38 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs12*: Remove svn commit id macro</div><div class='del'>-</div><div class='del'>-Wed Sep 23 01:11:28 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/*: Remove svn commit id macros to make sync easier</div><div class='del'>-</div><div class='del'>-Tue Sep 22 04:20:01 2015  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027]</div><div class='del'>-	  patch by voxik.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Sep 21 20:53:39 2015  tbpgr  &lt;tbpgr@tbpgr.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_event.rb: fix typo.</div><div class='del'>-	  swbemsink_avairable? =&gt; swbemsink_available?  [Fix GH-1025]</div><div class='del'>-</div><div class='del'>-Sun Sep 20 10:07:35 2015  Anton Davydov  &lt;antondavydov.o@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (rb_callcc): [DOC] append continuations example across</div><div class='del'>-	  methods.  [Fix GH-1026]</div><div class='del'>-</div><div class='del'>-Sun Sep 20 03:20:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_free): free rb_iseq_t::body::cc_entries.</div><div class='del'>-</div><div class='del'>-Sun Sep 20 02:46:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: split rb_call_info_t into several structs.</div><div class='del'>-	  * rb_call_info (ci) has compiled fixed information.</div><div class='del'>-	  * if ci-&gt;flag &amp; VM_CALL_KWARG, then rb_call_info is</div><div class='del'>-	    also rb_call_info_with_kwarg. This technique reduce one word</div><div class='del'>-	    for major rb_call_info data.</div><div class='del'>-	  * rb_calling_info has temporary data (argc, blockptr, recv).</div><div class='del'>-	    for each method dispatch. This data is allocated only on</div><div class='del'>-	    machine stack.</div><div class='del'>-	  * rb_call_cache is for inline method cache.</div><div class='del'>-</div><div class='del'>-	  Before this patch, only rb_call_info_t data is passed.</div><div class='del'>-	  After this patch, above three structs are passed.</div><div class='del'>-</div><div class='del'>-	  This patch improves:</div><div class='del'>-	  * data locality (rb_call_info is now read-only data).</div><div class='del'>-	  * reduce memory consumption (rb_call_info_with_kwarg,</div><div class='del'>-	    rb_calling_info).</div><div class='del'>-</div><div class='del'>-	* compile.c: use above data.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_args.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.h: add iseq_compile_data::ci_index and</div><div class='del'>-	  iseq_compile_data::ci_kw_index.</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: introduce TS_CALLCACHE operand type.</div><div class='del'>-</div><div class='del'>-Sun Sep 20 02:18:10 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb: mkfifo command based File.mkfifo method</div><div class='del'>-	  definition removed.</div><div class='del'>-</div><div class='del'>-Fri Sep 18 20:11:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_mkfifo): implement File.mkfifo.</div><div class='del'>-	  [Feature #11536]</div><div class='del'>-</div><div class='del'>-Fri Sep 18 16:56:19 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Net::FTP#mlst and Net::FTP#mlsd.</div><div class='del'>-</div><div class='del'>-Fri Sep 18 07:39:22 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (obj_type): add IMEMO types to the heap</div><div class='del'>-	  dump information.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 22:33:07 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: fix command error with outside builddir.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 17:42:09 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: separated test for test-framework from test-all task.</div><div class='del'>-	  They should be invoke at first before tests of test-all.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 12:05:54 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb (TestDir#test_fileno): s/?x/"x"/. Don't</div><div class='del'>-	  use tricky code, please.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 20:49:56 2015  Masaki Suketa  &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* encindex.h: fix typo of last #endif comment. [ci skip]</div><div class='del'>-</div><div class='del'>-Wed Sep 16 20:39:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (set_const_visibility): fail if the class/module is</div><div class='del'>-	  frozen.  [ruby-core:70828] [Bug #11532]</div><div class='del'>-</div><div class='del'>-Wed Sep 16 17:16:43 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ENABLE_VM_OBJSPACE): enable per-VM object space on</div><div class='del'>-	  Windows by default, as rb_w32_sysinit() no longer depends on</div><div class='del'>-	  ruby_xmalloc.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 15:08:17 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc (Strings): [DOC] Revise the character</div><div class='del'>-	  literal part.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 14:55:33 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc (Strings): [DOC] Document the full list</div><div class='del'>-	  of supported escape sequences in string literals.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 14:49:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_setbyte): keep the code range as possible.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 13:23:48 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc (Strings): mention about ?a literal.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 12:06:53 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): check pathtype once again by lstat(2) if</div><div class='del'>-	  dp-&gt;d_type is DT_UNKNOWN. XFS may return DT_UNKNOWN.</div><div class='del'>-</div><div class='del'>-Wed Sep 16 03:49:19 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_thread.rb (TestThread#test_mutex_synchronize):</div><div class='del'>-	  insert waste loop for invoking preemptive thread context switch.</div><div class='del'>-	  [Bug #11496]</div><div class='del'>-</div><div class='del'>-Tue Sep 15 19:38:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_alloc, rb_objspace_free): define always</div><div class='del'>-	  regardless ENABLE_VM_OBJSPACE, and free heap pages.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 15:15:41 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by</div><div class='del'>-	  encoding index to get rid of encoding initialization before VM</div><div class='del'>-	  object space allocation.</div><div class='del'>-</div><div class='del'>-	* dir.c (fundamental_encoding_p, push_glob): compare by encoding</div><div class='del'>-	  index immediately.</div><div class='del'>-</div><div class='del'>-	* enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of</div><div class='del'>-	  fundamental built-in encodings so that usable as well as</div><div class='del'>-	  allocated rb_encoding before rb_enc_init().</div><div class='del'>-</div><div class='del'>-	* encindex.h: separate encoding index constants from internal.h.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 13:13:13 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] correct block</div><div class='del'>-	  return values, which may be a negative or positive integer, not</div><div class='del'>-	  only -1 or +1.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 12:49:10 2015  Jason Barnabe  &lt;jason.barnabe@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] Correct</div><div class='del'>-	  description of array sort block return values.  And also fix up</div><div class='del'>-	  the grammar a bit.  [Fix GH-1020]</div><div class='del'>-</div><div class='del'>-Tue Sep 15 12:44:32 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_qsort): use BSD-style qsort_r if available.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 19:26:34 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse_mlsx_entry): parse pathnames including</div><div class='del'>-	  space correctly.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 11:12:10 2015  Anton Davydov  &lt;antondavydov.o@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo, "convertion" to</div><div class='del'>-	  "conversion".  [Fix GH-1016]</div><div class='del'>-</div><div class='del'>-Sun Sep 13 11:03:13 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: prefix RUBY or RB to global symbols to get</div><div class='del'>-	  rid of name conflicts with other headers.</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h, include/ruby/intern.h: ditto.</div><div class='del'>-</div><div class='del'>-Sun Sep 13 09:38:51 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (size, modify, create, type, unique, perm, lang,</div><div class='del'>-	  media_type, charset): new methods to return standard facts.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 19:43:49 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_iseq_setup_normal): do not clear local</div><div class='del'>-	  variables here. vm_push_frame() clears.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_iseq_setup_tailcall): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): move check code to</div><div class='del'>-	  vm_check_frame().</div><div class='del'>-</div><div class='del'>-	  Reorder initialization timing to reuse same values (sp).</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_compile_node): use</div><div class='del'>-	  iseq_set_exception_local_table() for ISEQ_TYPE_DEFINED_GUARD.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 23:06:51 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (file?, directory?, appendable?, creatable?,</div><div class='del'>-	  deletable?, enterable?, renamable?, listable?, directory_makable?,</div><div class='del'>-	  purgeable?, readable?, writable?): new methods.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 21:27:22 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (FACT_PARSERS): support system dependent facts</div><div class='del'>-	  UNIX.mode, UNIX.owner, UNIX.group, UNIX.ctime, and UNIX.atime.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 19:08:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_dup2): should return the new fd on</div><div class='del'>-	  success, while msvcrt returns 0 wrongly.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 18:14:11 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (parse_mlsx_entry, mlst) raise an FTPProtoError</div><div class='del'>-	  when parsing failed.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 18:00:35 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (TIME_PARSER): use "Z" instead of "+00:00" to</div><div class='del'>-	  get UTC time.  Thanks, Wilson Bilkovich.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 17:55:24 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (mlst, mlsd): support new commands MLST and MLSD</div><div class='del'>-	  specified in RFC 3659.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 16:14:31 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: access()/eaccess() wrapping methods check more than just uid.</div><div class='del'>-	  [fix GH-1007][ci skip] Patch by @eam</div><div class='del'>-</div><div class='del'>-Sat Sep 12 16:07:01 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: improve markdown rendering for readability.</div><div class='del'>-	  [fix GH-1015][ci skip] Patch by @Matrixbirds</div><div class='del'>-</div><div class='del'>-Sat Sep 12 14:30:03 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (save_redirect_fd): make saved FDs close-on-exec not</div><div class='del'>-	  to be inherited.</div><div class='del'>-</div><div class='del'>-	* process.c (run_exec_dup2): restore close-on-exec flags too.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fcntl): implement F_GETFD, F_SETFD, and</div><div class='del'>-	  F_DUPFD_CLOEXEC.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 05:35:24 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (string_to_r_strict): preserve encoding in exception</div><div class='del'>-</div><div class='del'>-Fri Sep 11 20:23:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_call_info_t::aux.opt_pc.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: introduce shortcut functions for opt_pc == 0</div><div class='del'>-	  because opt_pc is always 0 on shortcut function.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 17:49:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: disable ISeq.load. It enabled accidentally at r51794.</div><div class='del'>-</div><div class='del'>-Fri Sep 11 11:15:12 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (size, mdtm, system): parse responses according to</div><div class='del'>-	  RFC 959 and 3659, where reply codes must be followed by SP.</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (system): remove LF from the return value.</div><div class='del'>-</div><div class='del'>-Thu Sep 10 22:48:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (literal_concat_gen, evstr2dstr_gen): keep literal</div><div class='del'>-	  encoding beginning with an interpolation same as the source file</div><div class='del'>-	  encoding.  [ruby-core:70703] [Bug #11519]</div><div class='del'>-</div><div class='del'>-Thu Sep 10 22:15:51 2015  Joe Rafaniello  &lt;jrafanie@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_spawn): Be more specific regarding "other</div><div class='del'>-	  values" by having "non-zero positive integers" Add nil, the</div><div class='del'>-	  default value, as a possible value and what it means.</div><div class='del'>-</div><div class='del'>-	  Try to use more consistent language.</div><div class='del'>-	  [Fix GH-1008]</div><div class='del'>-</div><div class='del'>-Thu Sep 10 15:16:02 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (getmultiline): refactor.</div><div class='del'>-</div><div class='del'>-Thu Sep 10 12:17:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_build_from_ary_body): register cdhash to the</div><div class='del'>-	  iseq constant body instead of compile time mark array, not to</div><div class='del'>-	  get GCed.  [ruby-core:70708] [Feature #8543]</div><div class='del'>-</div><div class='del'>-Wed Sep  9 18:16:14 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/stub_specification.rb (Gem::StubSpecification#data):</div><div class='del'>-	  should not change the value of $. when `require`ing gems.</div><div class='del'>-	  this fixed test failures introduced by r51813.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 16:55:45 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage, enable_option, disable_option, process_options): new</div><div class='del'>-	  option `--disable-did_you_mean`.</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: now requires did_you_mean gem by default if available.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 13:38:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/extlibs.rb (do_patch): let "patch" command change the</div><div class='del'>-	  working directory and open the patch file there, instead of</div><div class='del'>-	  spawn options, so that proper error message will be shown by the</div><div class='del'>-	  command not just "chdir" or "open".</div><div class='del'>-</div><div class='del'>-Wed Sep  9 11:33:05 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (update-gems): use BASERUBY instead of RUNRUBY.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 11:08:59 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: Remove backtrace cleaning for delegated methods</div><div class='del'>-	  This patch was provided by Rafael Franca and greatly improves</div><div class='del'>-	  performance when an exception is raised. [Bug #11461]</div><div class='del'>-</div><div class='del'>-Wed Sep  9 10:05:41 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_config.rb: fix broken tests for Windows platform.</div><div class='del'>-</div><div class='del'>-Wed Sep  9 07:46:32 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems HEAD(fe61e4c112).</div><div class='del'>-	  this version contains new feature that warn invalid SPDX license</div><div class='del'>-	  identifiers. https://github.com/rubygems/rubygems/pull/1249</div><div class='del'>-	  and #1032, #1023, #1332, #1328, #1306, #1321, #1324</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 23:17:36 2015  Yuki Nishijima  &lt;mail@yukinishijima.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta2.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 23:09:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_popen): do not wait the child process during being</div><div class='del'>-	  killed.  [ruby-core:70671] [Bug #11510]</div><div class='del'>-</div><div class='del'>-Tue Sep  8 22:18:04 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: revert because ruby trunk never be able to install</div><div class='del'>-	  the did_you_mean gem.  retry after enough test.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 21:48:22 2015  Yuki Nishijima  &lt;mail@yukinishijima.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Automatically install the did_you_mean gem</div><div class='del'>-	  as a bundled gem.  [Feature #11252]</div><div class='del'>-</div><div class='del'>-Tue Sep  8 17:17:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_call_info_t::blockiseq.</div><div class='del'>-</div><div class='del'>-	* insns.def (send, invokesuper): pass blockiseq explicitly.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_args.c: ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (ISEQ_MINOR_VERSION): 2-&gt;3 because instruction spec was</div><div class='del'>-	  changed.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 15:01:19 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (list): fetch all the lines before yielding a block</div><div class='del'>-	  to allow other commands in the block.  [Feature #11454]</div><div class='del'>-	  Patched by Srikanth Shreenivas.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 12:05:00 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read_reparse_point): return correct required</div><div class='del'>-	  buffer size for IO_REPARSE_TAG_MOUNT_POINT.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 00:14:43 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_parent_start1): raise with the target path</div><div class='del'>-	  name when open() failed.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 23:45:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fail): raise with the target directory name</div><div class='del'>-	  when chdir() failed.  pointed out by sorah.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 22:05:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (insert): should use plain strdup() instead of</div><div class='del'>-	  ruby_strdup() at startup time, and plain free()ed in cmdglob().</div><div class='del'>-</div><div class='del'>-Mon Sep  7 16:49:30 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): define objspace always regardless</div><div class='del'>-	  ENABLE_VM_OBJSPACE.</div><div class='del'>-</div><div class='del'>-Mon Sep  7 15:54:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_VALUE_CAS): fix typo.</div><div class='del'>-	  TODO: make arguments of all CAS macros consistent.</div><div class='del'>-</div><div class='del'>-Sun Sep  6 16:07:22 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ccan/list/list.h: suppress unused argument warnings</div><div class='del'>-	  [ccan commit 6aaca17e07588997417a73fac19dcf0ff17ed81b]</div><div class='del'>-</div><div class='del'>-Sat Sep  5 11:39:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction</div><div class='del'>-	  digits.  [ruby-core:70667] [Bug #11509]</div><div class='del'>-</div><div class='del'>-Sat Sep  5 08:28:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_equal, rb_hash_eql): [DOC] the orders of each</div><div class='del'>-	  hashes are not compared.  [Bug #11508]</div><div class='del'>-</div><div class='del'>-Fri Sep  4 23:26:22 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: fix macro name for VC runtime version,</div><div class='del'>-	  RT_VER is only in Makefile.</div><div class='del'>-</div><div class='del'>-Fri Sep  4 17:46:17 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: fix configuration option.</div><div class='del'>-	  [ci skip] [fix GH-1009]</div><div class='del'>-</div><div class='del'>-Fri Sep  4 04:46:54 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_memsize): functions for wrapper object should have</div><div class='del'>-	  iseqw_ prefix.</div><div class='del'>-</div><div class='del'>-Thu Sep  3 21:12:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb (create_new_id): use SHA512 instead of MD5.</div><div class='del'>-	  pointed out by SARWAR JAHAN.</div><div class='del'>-</div><div class='del'>-Thu Sep  3 20:29:18 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_raw_obj_info): iseq-&gt;body-&gt;location.first_lineno is Fixnum.</div><div class='del'>-</div><div class='del'>-Thu Sep  3 17:54:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (raise_method_missing): "names" should be singular.</div><div class='del'>-	  pointed out by Filip Bartuzi.</div><div class='del'>-</div><div class='del'>-Thu Sep  3 17:50:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_raw_obj_info): should support IMEMO/iseq.</div><div class='del'>-</div><div class='del'>-Thu Sep  3 10:07:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (raise_method_missing): refine error messages when a</div><div class='del'>-	  symbol is not given.  [Fix GH-1013]</div><div class='del'>-</div><div class='del'>-Wed Sep  2 18:49:55 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/*: merge psych master(8737e5b). It contains following fixes.</div><div class='del'>-	  https://github.com/tenderlove/psych/pull/242</div><div class='del'>-	  https://github.com/tenderlove/psych/pull/246 [ruby-list:50219]</div><div class='del'>-	* test/psych/*: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  2 18:04:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (GET_PC_COUNT): remove unused macro.</div><div class='del'>-</div><div class='del'>-Wed Sep  2 17:18:37 2015  Chris Schneider  &lt;chris@christopher-schneider.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_detach): [DOC] fix typo "intent" as "intend" in</div><div class='del'>-	  rdoc.  [Fix GH-1011]</div><div class='del'>-</div><div class='del'>-Wed Sep  2 16:58:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_realpath_internal): use filesystem encoding if the</div><div class='del'>-	  argument is in ASCII encodings.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_readlink): needs the result encoding.</div><div class='del'>-</div><div class='del'>-Tue Sep  1 18:37:15 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb: catch up last commit.</div><div class='del'>-</div><div class='del'>-Tue Sep  1 18:16:32 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (queue_do_close): ignore multiple close to allow</div><div class='del'>-	  multiple producers.</div><div class='del'>-	  https://bugs.ruby-lang.org/issues/10600#note-14</div><div class='del'>-</div><div class='del'>-Tue Sep  1 18:06:26 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_tools.c: rename thread_tools.c to thread_sync.c.</div><div class='del'>-</div><div class='del'>-Mon Aug 31 17:04:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (move_refined_method): should insert a write barrier</div><div class='del'>-	  from an original class to a created (cloned) method entry.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sun Aug 30 02:42:22 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support</div><div class='del'>-	  if the SSL library supports it.  Thanks Kurt Roeckx &lt;kurt@roeckx.be&gt;</div><div class='del'>-	  [Bug #11376]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check for SSLv3 support in the SSL</div><div class='del'>-	  implementation.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3</div><div class='del'>-	  if there is no support.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 16:05:09 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*: Update rdoc master(cfffed5)</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/337</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/367</div><div class='del'>-</div><div class='del'>-Fri Aug 28 10:16:20 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (hook_before_rewind): prevent kicking :return event while</div><div class='del'>-	  finishing vm_exec func because invoke_block_from_c() kick a :return</div><div class='del'>-	  event for bmethods.</div><div class='del'>-	  [Bug #11492]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 18:05:42 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: use IO::NULL instead of '/dev/null'</div><div class='del'>-	* test/ruby/test_string.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 15:24:57 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_sequence): rename variable names</div><div class='del'>-	  to make it readable.</div><div class='del'>-</div><div class='del'>-Thu Aug 27 07:45:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_tools.c: add Queue#close(exception=false) and</div><div class='del'>-	  SizedQueue#close(exception=false).</div><div class='del'>-	  [Feature #10600]</div><div class='del'>-</div><div class='del'>-	  Trying to deq from a closed empty queue return nil</div><div class='del'>-	  if exception parameter equals to false (default).</div><div class='del'>-</div><div class='del'>-	  If exception parameter is truthy, it raises</div><div class='del'>-	  ClosedQueueError (&lt; StopIteration).</div><div class='del'>-	  ClosedQueueError inherits StopIteration so that you can write:</div><div class='del'>-</div><div class='del'>-	    loop{ e = q.deq; (using e) }</div><div class='del'>-</div><div class='del'>-	  Trying to close a closed queue raises ClosedQueueError.</div><div class='del'>-</div><div class='del'>-	  Blocking threads to wait deq for Queue and SizedQueue will be</div><div class='del'>-	  restarted immediately by returning nil (exception=false) or</div><div class='del'>-	  raising a ClosedQueueError (exception=true).</div><div class='del'>-</div><div class='del'>-	  Blocking threads to wait enq for SizedQueue will be</div><div class='del'>-	  restarted by raising a ClosedQueueError immediately.</div><div class='del'>-</div><div class='del'>-	  The above specification is not proposed specification, so that</div><div class='del'>-	  we need to continue discussion to conclude specification this</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	* test/thread/test_queue.rb: add tests originally written by</div><div class='del'>-	  John Anderson and modify detailed behavior.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 10:52:02 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching</div><div class='del'>-	  till the end of string.  [ruby-core:70592] [Bug #11488]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n.rb (test_include?, test_index): add tests by</div><div class='del'>-	  Tom Stuart.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 09:26:00 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c (list_table_extend, hash_table_extend): remove C99</div><div class='del'>-	  features.  [ruby-dev:49239] [Bug #11487]</div><div class='del'>-</div><div class='del'>-Tue Aug 25 06:34:43 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_symlink): implement symlink().</div><div class='del'>-</div><div class='del'>-Mon Aug 24 16:01:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_locale_encindex): find encoding index without</div><div class='del'>-	  making a string object every time.  [ruby-core:58160] [Bug #9080]</div><div class='del'>-</div><div class='del'>-Sat Aug 22 15:43:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall_failed, check_funcall_missing): cache</div><div class='del'>-	  results of respond_to? and respond_to_missing?, and search a</div><div class='del'>-	  public method only for compatibility with rb_respond_to.</div><div class='del'>-</div><div class='del'>-Sat Aug 22 08:23:32 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread/thread.c: move definitions of Queue, SizedQueue</div><div class='del'>-	  and ConditionalVariables to thread_tools.c. In other words,</div><div class='del'>-	  such classes are built-in.</div><div class='del'>-	  [Feature #8919]</div><div class='del'>-</div><div class='del'>-	  At first, I planned to embed only a Queue class.</div><div class='del'>-	  However, rubygems requires 'thread.rb' (rubygems are</div><div class='del'>-	  required at first, when launch MRI without --disable-gems).</div><div class='del'>-	  So most of people require 'thread.rb' as an embedded library.</div><div class='del'>-</div><div class='del'>-	  Now, ext/thread/thread.c is empty, only for a dummy for</div><div class='del'>-	  compatibility.</div><div class='del'>-</div><div class='del'>-	* thread.c: move a definition of Mutex class to thread_tools.c.</div><div class='del'>-</div><div class='del'>-	  And define Mutex class under Thread (so now Mutex is Thread::Mutex).</div><div class='del'>-	  Because other thread related classes are also defined under Thread.</div><div class='del'>-	  We remain ::Mutex as Thread::Mutex. Only an inspect result is changed.</div><div class='del'>-</div><div class='del'>-	* common.mk: add dependency from thread.o to thread_tools.c.</div><div class='del'>-</div><div class='del'>-Sat Aug 22 05:31:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_opts.h, iseq.c, iseq.h: add compile option to force frozen</div><div class='del'>-	  string literals.</div><div class='del'>-	  [Feature #11473]</div><div class='del'>-</div><div class='del'>-	  This addition is not specification change, but to try frozen</div><div class='del'>-	  string literal world discussed on [Feature #11473].</div><div class='del'>-</div><div class='del'>-	  You can try frozen string literal world using this magical line:</div><div class='del'>-</div><div class='del'>-	    RubyVM::InstructionSequence.compile_option =</div><div class='del'>-	      {frozen_string_literal: true}</div><div class='del'>-</div><div class='del'>-	  Note that this is a global compilation option, so that you need to</div><div class='del'>-	  compile another script like that:</div><div class='del'>-</div><div class='del'>-	    p 'foo'.frozen? #=&gt; false</div><div class='del'>-	    RubyVM::InstructionSequence.compile_option =</div><div class='del'>-	      {frozen_string_literal: true}</div><div class='del'>-	    p 'foo'.frozen? #=&gt; false, because this line is already compiled.</div><div class='del'>-	    p eval("'foo'.frozen?") #=&gt; true</div><div class='del'>-</div><div class='del'>-	  Details:</div><div class='del'>-	    * String literals are deduped by rb_fstring().</div><div class='del'>-	    * Dynamic string literals ("...#{xyz}...") is now only frozen,</div><div class='del'>-	      not deduped. Maybe you have other ideas.</div><div class='del'>-</div><div class='del'>-	  Now, please do not use this option on your productions :)</div><div class='del'>-	  Of course, current specification can be changed.</div><div class='del'>-</div><div class='del'>-	* compile.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add a test.</div><div class='del'>-</div><div class='del'>-Sat Aug 22 02:53:12 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/*: update to Psych 2.0.14</div><div class='del'>-</div><div class='del'>-	* test/psych/*: ditto</div><div class='del'>-</div><div class='del'>-Fri Aug 21 19:58:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: add a new method ObjectSpace.count_symbols.</div><div class='del'>-	  [Feature #11158]</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_sym_immortal_count): added to count immortal symbols.</div><div class='del'>-</div><div class='del'>-	* symbol.h: ditto.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test for this method.</div><div class='del'>-</div><div class='del'>-	* NEWS: describe about this method.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 19:48:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub ($(LIBRUBY_SO)): needs additional libraries</div><div class='del'>-	  for extension libraries to link statically.</div><div class='del'>-	  [ruby-core:70499] [Feature #9018]</div><div class='del'>-</div><div class='del'>-Fri Aug 21 18:49:22 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h, cont.c, vm_trace.c: add a new event</div><div class='del'>-	  fiber_switch. We need more discussion about this feature</div><div class='del'>-	  so that I don't write it on NEWS.</div><div class='del'>-	  [Feature #11348]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add tests.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 17:32:42 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_invoke_block): we should not expect ci-&gt;argc is</div><div class='del'>-	  stable after invoking a block. [Bug #11451]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_yield.rb: add a test. This test script is given by</div><div class='del'>-	  Alex Dowad.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 06:35:50 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb: Fix tests so that they take in to</div><div class='del'>-	  account OpenSSL installations that have SSLv3 disabled by default.</div><div class='del'>-	  Thanks Jeremy Evans &lt;code@jeremyevans.net&gt; for the patches.</div><div class='del'>-	  [Bug #11366] [Bug #11367]</div><div class='del'>-</div><div class='del'>-Thu Aug 20 22:19:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (basic_obj_respond_to): call respond_to_missing?</div><div class='del'>-	  only when redefined.  [ruby-core:70460] [Bug #11465]</div><div class='del'>-</div><div class='del'>-Thu Aug 20 14:13:27 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (check_funcall_respond_to): share the behavior with</div><div class='del'>-	  rb_obj_respond_to.  [ruby-core:70460] [Bug #11465]</div><div class='del'>-</div><div class='del'>-	* vm_method.c (vm_respond_to): extract from rb_obj_respond_to and</div><div class='del'>-	  merge r39881.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 08:53:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_obj_respond_to): reuse found method entry</div><div class='del'>-	  instead of searching same entry repeatedly.</div><div class='del'>-</div><div class='del'>-Thu Aug 20 08:31:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename), win32/win32.c (opendir_internal):</div><div class='del'>-	  check reparse point tags and treat supported tags only as</div><div class='del'>-	  symbolic links.  [ruby-core:70454] [Bug #11462]</div><div class='del'>-</div><div class='del'>-Wed Aug 19 23:59:28 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add OP_ALL to</div><div class='del'>-	  existing options rather than just setting it.  Some vendors apply</div><div class='del'>-	  custom patches to their versions of OpenSSL that set default values</div><div class='del'>-	  for options.  This commit respects the custom patches they've</div><div class='del'>-	  applied.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (class OpenSSL): check that OP_ALL has been</div><div class='del'>-	  added to the options.</div><div class='del'>-</div><div class='del'>-Wed Aug 19 23:55:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_spawn): [DOC] elaborate environment variable</div><div class='del'>-	  values.  [ruby-core:70456] [Bug #11463]</div><div class='del'>-</div><div class='del'>-Wed Aug 19 23:48:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (winnt_lstat): check reparse point tags and treat</div><div class='del'>-	  supported tags only as symbolic links.</div><div class='del'>-	  [ruby-core:70454] [Bug #11462]</div><div class='del'>-</div><div class='del'>-Tue Aug 18 20:05:49 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (reserve_stack): ensure the memory is really</div><div class='del'>-	  allocated. [Bug #11457]</div><div class='del'>-</div><div class='del'>-Tue Aug 18 17:19:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (IS_BEG): include labeled argument state, which was</div><div class='del'>-	  EXPR_LABELARG.  [ruby-dev:49221] [Bug #11456]</div><div class='del'>-</div><div class='del'>-Tue Aug 18 16:16:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RClass): define only in C, `__attribute__`</div><div class='del'>-	  between `struct` and the name can't compile with g++.</div><div class='del'>-	  [ruby-core:70297] [Bug #11426]</div><div class='del'>-</div><div class='del'>-Mon Aug 17 20:56:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: fix syntax error at do-block after a conditional</div><div class='del'>-	  operator.  separate label-allowed and after-a-label states from</div><div class='del'>-	  others as bit flags.  [ruby-dev:48790] [Bug #10653]</div><div class='del'>-</div><div class='del'>-Mon Aug 17 11:57:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_codepoint): raise an exception at incomplete</div><div class='del'>-	  character before EOF when conversion takes place.  [Bug #11444]</div><div class='del'>-</div><div class='del'>-Sun Aug 16 17:33:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update latest version of bundled gems.</div><div class='del'>-	  It includes minitest-5.8.0 and test-unit 3.1.3.</div><div class='del'>-</div><div class='del'>-Sun Aug 16 17:24:10 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): check if RCLASS_EXT is valid</div><div class='del'>-	  before marking. This fixes the following test failure</div><div class='del'>-	  introduced in r51126:</div><div class='del'>-</div><div class='del'>-	    make test-all TESTOPTS='--gc-stress ruby/test_refinement.rb'</div><div class='del'>-</div><div class='del'>-Sat Aug 15 10:51:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (API#SetValue): data size should</div><div class='del'>-	  be in bytes, not in chars.  [ruby-core:70365] [Bug #11439]</div><div class='del'>-</div><div class='del'>-Sat Aug 15 10:15:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_each_codepoint): read more data when read partially.</div><div class='del'>-	  [ruby-core:70379] [Bug #11444]</div><div class='del'>-</div><div class='del'>-Sat Aug 15 04:33:39 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (any_hash): skip rb_objid_hash for static syms</div><div class='del'>-	  (rb_num_hash_start): extract from rb_ident_hash</div><div class='del'>-	  (rb_objid_hash): call rb_num_hash_start</div><div class='del'>-	  (rb_ident_hash): ditto</div><div class='del'>-	  [ruby-core:70181] [Feature #11405]</div><div class='del'>-</div><div class='del'>-Sat Aug 15 04:16:13 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_mark): reduce NULL checks</div><div class='del'>-</div><div class='del'>-Fri Aug 14 18:50:57 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (METHOD_ENTRY_VISI_SET): cast visi to int</div><div class='del'>-	  (METHOD_ENTRY_FLAGS_SET): ditto</div><div class='del'>-</div><div class='del'>-Fri Aug 14 18:43:11 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (close_unless_reserved): add extra check</div><div class='del'>-	  (dup2_with_divert): remove</div><div class='del'>-	  (redirect_dup2): use dup2 without divert</div><div class='del'>-	  (before_exec_non_async_signal_safe): adjust call + comment</div><div class='del'>-	  (rb_f_exec): stop timer thread for all OSes</div><div class='del'>-	  (rb_exec_without_timer_thread): remove</div><div class='del'>-	* eval.c (ruby_cleanup): adjust call</div><div class='del'>-	* thread.c (rb_thread_stop_timer_thread): always close pipes</div><div class='del'>-	* thread_pthread.c (struct timer_thread_pipe): add writing field,</div><div class='del'>-	  mark owner_process volatile for signal handlers</div><div class='del'>-	  (rb_thread_wakeup_timer_thread_fd): check valid FD</div><div class='del'>-	  (rb_thread_wakeup_timer_thread): set writing flag to prevent close</div><div class='del'>-	  (rb_thread_wakeup_timer_thread_low): ditto</div><div class='del'>-	  (CLOSE_INVALIDATE): new macro</div><div class='del'>-	  (close_invalidate): new function</div><div class='del'>-	  (close_communication_pipe): removed</div><div class='del'>-	  (setup_communication_pipe_internal): make errors non-fatal</div><div class='del'>-	  (setup_communication_pipe): ditto</div><div class='del'>-	  (thread_timer): close reading ends inside timer thread</div><div class='del'>-	  (rb_thread_create_timer_thread): make errors non-fatal</div><div class='del'>-	  (native_stop_timer_thread): close write ends only, always,</div><div class='del'>-	   wait for signal handlers to finish</div><div class='del'>-	  (rb_divert_reserved_fd): remove</div><div class='del'>-	* thread_win32.c (native_stop_timer_thread): adjust (untested)</div><div class='del'>-	  (rb_divert_reserved_fd): remove</div><div class='del'>-	* vm_core.h: adjust prototype</div><div class='del'>-	  [ruby-core:70386] [Bug #11336]</div><div class='del'>-</div><div class='del'>-Fri Aug 14 18:40:43 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (API#SetValue): add terminator</div><div class='del'>-	  size, not 1 byte.  [ruby-core:70365] [Bug #11439]</div><div class='del'>-</div><div class='del'>-Thu Aug 13 22:49:42 2015  Juanito Fatas  &lt;katehuang0320@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): freeze a string message to</div><div class='del'>-	  reduce string allocations.  [Fix GH-996]</div><div class='del'>-</div><div class='del'>-Thu Aug 13 17:42:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_kw_arg_bytes): move the definition</div><div class='del'>-	  to iseq.h because this function is shared with iseq.c and compile.c.</div><div class='del'>-</div><div class='del'>-Thu Aug 13 14:36:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_num_to_dbl): move from num2dbl_with_to_f in math.c.</div><div class='del'>-</div><div class='del'>-Thu Aug 13 09:01:25 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (features_index_add): avoid repeat calculation</div><div class='del'>-</div><div class='del'>-Wed Aug 12 21:57:31 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c: IMPL() macro accept op as _opname instead of opname</div><div class='del'>-	  because jemalloc seems to replace the word `free' to `je_free'.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 21:51:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c (mix_id_table_insert): fix memory leak.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 21:17:38 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_memsize): reimplement for wrapper</div><div class='del'>-	  (param_keyword_size): extracted from iseq_memsize</div><div class='del'>-	  (iseqw_mark): new mark function</div><div class='del'>-	  (iseqw_data_type): new data type</div><div class='del'>-	  (iseqw_new): wrap as iseqw_data_type</div><div class='del'>-	  (iseqw_check): adjust for wrapper</div><div class='del'>-	  (Init_ISeq): remove iseqw_iseq_key initialization</div><div class='del'>-	* test/objspace/test_objspace.rb: new test</div><div class='del'>-	  [ruby-core:70344] [Feature #11435]</div><div class='del'>-</div><div class='del'>-Wed Aug 12 21:15:27 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_kw_arg_bytes): extract from compile.c</div><div class='del'>-	* compile.c (iseq_build_callinfo_from_hash): use above function</div><div class='del'>-</div><div class='del'>-Wed Aug 12 18:00:17 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (move_refined_method): same as the last commit.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 17:57:53 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c, gc.c vm.c: use ID_TABLE_* instead of ST_*</div><div class='del'>-	  (such as ST_CONTINUE) for enum rb_id_table_iterator_result.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 17:05:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.h: introduce ID key table.</div><div class='del'>-	  [Feature #11420]</div><div class='del'>-</div><div class='del'>-	  This table only manage ID-&gt;VALUE table to reduce overhead of st.</div><div class='del'>-</div><div class='del'>-	  Some functions prefixed rb_id_table_* are provided.</div><div class='del'>-</div><div class='del'>-	* id_table.c: implement rb_id_table_*.</div><div class='del'>-</div><div class='del'>-	  There are several algorithms to implement it.</div><div class='del'>-</div><div class='del'>-	  Now, there are roughly 4 types:</div><div class='del'>-</div><div class='del'>-	    * st</div><div class='del'>-	    * array</div><div class='del'>-	    * hash (implemented by  Yura Sokolov)</div><div class='del'>-	    * mix of array and hash</div><div class='del'>-</div><div class='del'>-	  The macro ID_TABLE_IMPL can choose implementation.</div><div class='del'>-	  You can see detailes about them at the head of id_table.c.</div><div class='del'>-</div><div class='del'>-	  At the default, I choose 34 (mix of list and hash).</div><div class='del'>-	  This is not final decision.</div><div class='del'>-	  Please report your suitable parameters or</div><div class='del'>-	  your data structure.</div><div class='del'>-</div><div class='del'>-	  * symbol.c: introduce rb_id_serial_t and rb_id_to_serial()</div><div class='del'>-	    to represent ID by serial number.</div><div class='del'>-</div><div class='del'>-	  * internal.h: use id_table for method tables.</div><div class='del'>-</div><div class='del'>-	  * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 12 05:19:11 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_compile_cstr): remove volatile arg</div><div class='del'>-	  (rb_parser_compile_string): ditto</div><div class='del'>-	  (rb_parser_compile_file): ditto</div><div class='del'>-	  (rb_parser_compile_string_path): ditto</div><div class='del'>-	  (rb_parser_compile_file_path): ditto</div><div class='del'>-	  [ruby-core:70323] [Misc #11431]</div><div class='del'>-</div><div class='del'>-Tue Aug 11 22:59:57 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): Fix document for Float::MIN and</div><div class='del'>-	  Float::EPSILON.</div><div class='del'>-</div><div class='del'>-Tue Aug 11 15:22:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ALLOCV_N): check integer overflow, as well</div><div class='del'>-	  as ruby_xmalloc2.  pointed out by Paul &lt;pawlkt AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Tue Aug 11 14:57:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_repeated_permutation): fix buffer size, ALLOCV_N</div><div class='del'>-	  already multiplies element size.</div><div class='del'>-</div><div class='del'>-Tue Aug 11 12:13:20 2015  Jeremy Evans  &lt;merch-redmine@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised</div><div class='del'>-	  in OpenSSL tests. [ruby-core:70020][Bug #11368]</div><div class='del'>-</div><div class='del'>-Tue Aug 11 11:54:13 2015  Alexey Lipnyagov  &lt;liptonshmidt@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Fix documentation for String#slice</div><div class='del'>-	  [ruby-core:70298][Bug #11427]</div><div class='del'>-</div><div class='del'>-Tue Aug 11 11:53:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (superclass): make superclass rule optional and allow</div><div class='del'>-	  any contents without a terminator.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Tue Aug 11 10:58:42 2015  Juanito Fatas  &lt;juanitofatas@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: [DOC] Make #end_with? example doc symmetry</div><div class='del'>-	  with #start_with? [fix GH-992][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Aug 11 10:51:19 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: Add test for `Array#flatten` with level 1</div><div class='del'>-	  [fix GH-986] Patch @yui-knk</div><div class='del'>-</div><div class='del'>-Tue Aug 11 10:48:16 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: added doc for Enumerable#zip</div><div class='del'>-	  [fix GH-985] Patch by @yui-knk</div><div class='del'>-	* test/ruby/test_enum.rb: added tests for Enumerable#zip</div><div class='del'>-	  [fix GH-985] Patch @yui-knk</div><div class='del'>-</div><div class='del'>-Tue Aug 11 10:33:26 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: typo fix [fix GH-993][ci skip] Patch by @0x0dea</div><div class='del'>-	* test/ruby/test_refinement.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Aug  9 14:15:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_vm_objects, rb_vm_fstring_table): use frozen_strings</div><div class='del'>-	  table in rb_vm_t.  [ruby-core:70274] [Bug #11423]</div><div class='del'>-</div><div class='del'>-Sat Aug  8 03:59:51 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: [DOC] Improve grammar for Module#===</div><div class='del'>-	  Patch by @SkyBirdSoar in documenting-ruby/ruby#52:</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/52</div><div class='del'>-</div><div class='del'>-Sat Aug  8 03:39:33 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: [DOC] Improve description of symbol key syntax</div><div class='del'>-	  Patch by Raphael Das Gupta in documenting-ruby/ruby#51:</div><div class='del'>-	  https://github.com/documenting-ruby/ruby/pull/51</div><div class='del'>-</div><div class='del'>-Fri Aug  7 21:04:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_params): turn in_def and in_single into bit</div><div class='del'>-	  flags and reduce the size by 2-words.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_params): remove redundant prefixes.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): non-pure parser has not been supported since</div><div class='del'>-	  merger of ripper.  change argument types from void pointers.</div><div class='del'>-</div><div class='del'>-Fri Aug  7 17:07:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_super_method): uncallable method entry does not</div><div class='del'>-	  have the defined class, use the owner instead.</div><div class='del'>-	  [ruby-core:70254] [Bug #11419]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb (test_super_method_unbound): add test</div><div class='del'>-	  by Akira Matsuda.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 10:49:57 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (rb_alloc_tmp_buffer): round up the size and check the</div><div class='del'>-	  range.</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_VALUE_EXCHANGE, ATOMIC_VALUE_CAS): add</div><div class='del'>-	  atomic operations for VALUE.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 08:15:49 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move</div><div class='del'>-	  SSLSocket#sysclose to Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_close): ditto</div><div class='del'>-</div><div class='del'>-Thu Aug  6 07:57:21 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move nonblock</div><div class='del'>-	  enable to SSLSocket#initialize and remove Nonblock module.</div><div class='del'>-</div><div class='del'>-Thu Aug  6 07:53:47 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move</div><div class='del'>-	  OpenSSL::SSL::SSLSocket#initialize to Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: ditto</div><div class='del'>-</div><div class='del'>-Thu Aug  6 02:25:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (rb_alloc_tmp_buffer): use NODE_ALLOCA to mark locations</div><div class='del'>-	  like as builtin alloca.  [ruby-core:70251] [Bug #11418]</div><div class='del'>-</div><div class='del'>-Wed Aug  5 14:37:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name</div><div class='del'>-	  and rb_econv_t::destination_encoding_name should refer static</div><div class='del'>-	  strings always or NULL.  [ruby-core:70247] [Bug #11416]</div><div class='del'>-</div><div class='del'>-Tue Aug  4 16:53:43 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): extract callback</div><div class='del'>-	  lookup to private Ruby methods. This means we can keep the default</div><div class='del'>-	  DH callback logic hidden from consumers.  Also, since the SSLSocket</div><div class='del'>-	  always has a context, we can remove conditionals about that</div><div class='del'>-	  instance.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: move callback lookup methods to private Ruby</div><div class='del'>-	  methods.</div><div class='del'>-</div><div class='del'>-Tue Aug  4 16:40:26 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: should not expect a method table ordering.</div><div class='del'>-	  [Feature #11414]</div><div class='del'>-</div><div class='del'>-Tue Aug 04 15:30:04 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_block_clear_env_self): clear by Qfalse instead of Qnil.</div><div class='del'>-	  [Bug #11409]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: add tests for this issue,</div><div class='del'>-	  written by @0x0dea.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/988</div><div class='del'>-</div><div class='del'>-Tue Aug  4 12:12:14 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: wrap long lines</div><div class='del'>-</div><div class='del'>-Tue Aug  4 09:32:30 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: Removing duplicate doc [fix GH-987][ci skip]</div><div class='del'>-	  Patch by @ronakjangir47</div><div class='del'>-</div><div class='del'>-Tue Aug  4 09:21:58 2015  Richard Schneeman  &lt;richard.schneeman+foo@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: fixed wrong instructions with OS X</div><div class='del'>-	  [fix GH-989][ci skip] Patch by @schneems</div><div class='del'>-</div><div class='del'>-Mon Aug  3 10:08:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memsearch): should match only char boundaries in wide</div><div class='del'>-	  character encodings.  [ruby-core:70220] [Bug #11413]</div><div class='del'>-</div><div class='del'>-Sun Aug  2 07:01:17 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (gets):</div><div class='del'>-	  avoid comparing fixnum with nil</div><div class='del'>-	* test/openssl/test_pair.rb: test gets with limit when EOF is hit</div><div class='del'>-	  Thanks to Bar Hofesh &lt;bar.hofesh@safe-t.com&gt; for the bug report</div><div class='del'>-	  and testing.</div><div class='del'>-	  [ruby-core:70149] [Bug #11400]</div><div class='del'>-</div><div class='del'>-Sat Aug  1 17:13:15 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish):</div><div class='del'>-	  fix a bug that empty gzipped response body causes Zlib::BufError.</div><div class='del'>-	  [ruby-core:68846] [Bug #11058]</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_httpresponse.rb: tests for the above.</div><div class='del'>-</div><div class='del'>-Sat Aug  1 17:05:18 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb (Net::HTTPResponse#inflater):</div><div class='del'>-	  fix TypeError. An exception object might be nil.</div><div class='del'>-	  [ruby-core:68846] [Bug #11058]</div><div class='del'>-</div><div class='del'>-Sat Aug  1 09:09:46 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): Implement</div><div class='del'>-	  SSLContext#options and options= using SSL_CTX_set_options and</div><div class='del'>-	  SSL_CTX_get_options. This reduces the number of ivars we need and</div><div class='del'>-	  simplifies `ossl_sslctx_setup`.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Default `options`</div><div class='del'>-	  to SSL_OP_ALL</div><div class='del'>-</div><div class='del'>-Sat Aug  1 06:54:36 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): OpenSSL declares these</div><div class='del'>-	  constants as longs, so we should follow that and use LONG2NUM.</div><div class='del'>-	  http://git.io/vOqxD</div><div class='del'>-</div><div class='del'>-Sat Aug  1 04:06:29 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): change callback</div><div class='del'>-	  to return the Ruby dh (or ecdh) object that the caller cares about</div><div class='del'>-	  instead of doing rb_iv_get / set to communicate.  This means we can</div><div class='del'>-	  remove an rb_iv_get call, and only use the set calls for their</div><div class='del'>-	  intended purpose (to prevent the object from being GC'd).</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): ditto</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_tmp_ecdh_callback): ditto</div><div class='del'>-</div><div class='del'>-Sat Aug  1 03:49:31 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): Similarly to the</div><div class='del'>-	  tmp_ecdh_callback, the SSLSocket instance always holds a reference</div><div class='del'>-	  to the SSLContext object (it's always set in `initialize`).  The</div><div class='del'>-	  SSLContext holds a reference to the tmp_dh_callback.  Ask the</div><div class='del'>-	  context for the callback instead of storing the callback in two</div><div class='del'>-	  places.</div><div class='del'>-</div><div class='del'>-Sat Aug  1 03:43:10 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): create an array</div><div class='del'>-	  and use `rb_apply` to clean up calls to `rb_protect`.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto</div><div class='del'>-</div><div class='del'>-Sat Aug  1 03:27:12 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): The SSL socket</div><div class='del'>-	  always holds a reference to the SSLContext object, which will have</div><div class='del'>-	  the callback object.  Ask the context for the callback instead of</div><div class='del'>-	  storing the callback in two places.</div><div class='del'>-</div><div class='del'>-Sat Aug  1 03:14:07 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): convert</div><div class='del'>-	  `tmp_dh_callback` to Ruby, and call it when setting up an SSL</div><div class='del'>-	  connection.  This allows us to move the "default" behavior to the</div><div class='del'>-	  reader method.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: call the tmp_dh_callback instead of</div><div class='del'>-	  accessing the SSLContext's internals.</div><div class='del'>-</div><div class='del'>-Fri Jul 31 23:34:27 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: update libssl before running tests.</div><div class='del'>-	  Thanks to Chris Sinjakli &lt;chris@sinjakli.co.uk&gt; for figuring out the</div><div class='del'>-	  travis settings!</div><div class='del'>-</div><div class='del'>-Fri Jul 31 21:34:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_internal): use rb_load_internal0 not to raise</div><div class='del'>-	  a exception to be caught.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 13:19:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_get_0): warn deprecated constant reference.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_deprecate_constant): mark constants to be</div><div class='del'>-	  warned as deprecated.  [Feature #11398]</div><div class='del'>-</div><div class='del'>-Thu Jul 30 11:53:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_s_handle_interrupt): make identity hash, to</div><div class='del'>-	  compare masking classes just by their IDs.</div><div class='del'>-</div><div class='del'>-Thu Jul 30 11:52:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0): stop separating exits at loading</div><div class='del'>-	  from exits from execution.  TAG_FATAL is the only case that</div><div class='del'>-	  `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG</div><div class='del'>-	  but not raising as an ordinary exception.</div><div class='del'>-	  [ruby-core:70169] [Bug #11404]</div><div class='del'>-</div><div class='del'>-Thu Jul 30 10:42:27 2015  Alex Dowad  &lt;alexinbeijing@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0): extra check before returning</div><div class='del'>-	  TAG_RAISE when a non-local transfer of control happens while</div><div class='del'>-	  loading and parsing a Ruby source file.</div><div class='del'>-	  [ruby-core:70169] [Bug #11404]</div><div class='del'>-</div><div class='del'>-Thu Jul 30 08:48:42 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (find_entry): constify st_table*</div><div class='del'>-	  (find_packed_index_from): ditto</div><div class='del'>-	  (find_packed_index): ditto</div><div class='del'>-	  (get_keys): ditto</div><div class='del'>-	  (get_values): ditto</div><div class='del'>-</div><div class='del'>-Thu Jul 30 04:29:25 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_aref_dsym.rb: new benchmark</div><div class='del'>-	* benchmark/bm_hash_aref_dsym_long.rb: ditto</div><div class='del'>-	* benchmark/bm_hash_aref_fix.rb: ditto</div><div class='del'>-</div><div class='del'>-Wed Jul 29 21:38:41 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol</div><div class='del'>-	  hash value by restricting in Fixnum range, that is `long`.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 17:25:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_obj_hash): move in order to share with rb_any_hash.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 16:00:22 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): consider empty non-embed string case,</div><div class='del'>-	  not to loop infinitely.  [ruby-core:70074] [Bug #11383]</div><div class='del'>-</div><div class='del'>-Wed Jul 29 15:25:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (send_internal): set method_missing_reason before</div><div class='del'>-	  invoking overriding method_missing method so that the default</div><div class='del'>-	  method_missing can achieve it properly.</div><div class='del'>-	  [ruby-core:68515] [Bug #10969]</div><div class='del'>-</div><div class='del'>-Wed Jul 29 14:54:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_sym_hash): return same value as rb_any_hash() of</div><div class='del'>-	  Symbol.  [Bug #9381]</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): fix Float hash.  rb_dbl_hash() returns a</div><div class='del'>-	  Fixnum, but not a long.  [Bug #9381]</div><div class='del'>-</div><div class='del'>-Wed Jul 29 11:07:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 10:44:43 2015  Alex Dowad  &lt;alexinbeijing@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: document argument passed to finalizer proc.</div><div class='del'>-	  [fix GH-976][ci skip] Patch by @alexdowad</div><div class='del'>-</div><div class='del'>-Wed Jul 29 10:36:58 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_extract_modeenc): add option parameter `flags'</div><div class='del'>-	  to append extra oflags to normal mode.</div><div class='del'>-	  [Feature #11253] [ruby-core:69539]</div><div class='del'>-</div><div class='del'>-Wed Jul 29 04:54:47 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key</div><div class='del'>-	  [ruby-core:70151] [Bug #11397]</div><div class='del'>-</div><div class='del'>-Tue Jul 28 10:32:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (struct RClass): moved from ruby/ruby.h to hide the</div><div class='del'>-	  internals.</div><div class='del'>-</div><div class='del'>-Tue Jul 28 08:48:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for</div><div class='del'>-	  types.</div><div class='del'>-</div><div class='del'>-Tue Jul 28 07:23:03 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.h (struct RSymbol): add hashval field</div><div class='del'>-	* symbol.c (dsymbol_alloc): setup hashval field once</div><div class='del'>-	* hash.c (rb_any_hash): return RSymbol-&gt;hashval directly</div><div class='del'>-	* common.mk: hash.o depends on symbol.h</div><div class='del'>-	  Thanks to Bruno Escherl &lt;bruno@escherl.net&gt; for the bug report</div><div class='del'>-	  [ruby-core:70129] [Bug #11396]</div><div class='del'>-</div><div class='del'>-Tue Jul 28 03:26:15 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a more</div><div class='del'>-	  helpful exception when verifying the peer connection and an</div><div class='del'>-	  anonymous cipher has been selected. [ruby-core:68330] [Bug #10910]</div><div class='del'>-	  Thanks to Chris Sinjakli &lt;chris@sinjakli.co.uk&gt; for the patch.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (class OpenSSL): test for change</div><div class='del'>-</div><div class='del'>-Mon Jul 27 13:24:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* template/id.h.tmpl (ID2ATTRSET): remove an unused macro.</div><div class='del'>-</div><div class='del'>-Mon Jul 27 12:21:15 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: run tests on non-Unix platforms.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 19:21:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition</div><div class='del'>-	  to compile, needs ALPN to be available.  [Feature #9390]</div><div class='del'>-</div><div class='del'>-Sun Jul 26 11:29:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS</div><div class='del'>-	  should raise a SystemCallError always instead.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 10:26:35 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_call_servername_cb): set the ssl context</div><div class='del'>-	  object returned by the servername callback on to the socket as an</div><div class='del'>-	  instance variable.  If the callback allocated a new context object</div><div class='del'>-	  and didn't keep a reference to it, it could be GC'd out from under</div><div class='del'>-	  the socket object.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (class OpenSSL): test for change.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 10:07:26 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (class OpenSSL): add test coverage around</div><div class='del'>-	  OpenSSL::SSL::SSLContext#servername_cb</div><div class='del'>-</div><div class='del'>-Sun Jul 26 09:10:32 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update latest version of bundled power_assert.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 08:49:28 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb: backport rubygems upstream</div><div class='del'>-	  change for OpenSSL key length. see detail to</div><div class='del'>-	  https://github.com/rubygems/rubygems/pull/1290</div><div class='del'>-</div><div class='del'>-Sun Jul 26 08:33:03 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/pkey.rb: implement DEFAULT_512 and</div><div class='del'>-	  DEFAULT_1024 constants in Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Ask PKey for the</div><div class='del'>-	  default DH callback since it already must check whether openssl has</div><div class='del'>-	  been compiled with DH support.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (OSSL_PKEY_BN): Remove C definitions of</div><div class='del'>-	  DEFAULT_512 and DEFAULT_1024</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_dh.rb (class OpenSSL): add test to ensure the</div><div class='del'>-	  Ruby definitions are the same as the C definitions were.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 08:14:59 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): support</div><div class='del'>-	  specifically setting the tmp_dh_callback to nil.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb (module OpenSSL): add a test</div><div class='del'>-</div><div class='del'>-Sun Jul 26 07:47:14 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move the default</div><div class='del'>-	  tmp_dh_callback Ruby code and set it as a default in `initialize`.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_512_GEN):</div><div class='del'>-	  move this constant to Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_1024_GEN):</div><div class='del'>-	  ditto</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): tmp_dh_callback should</div><div class='del'>-	  always be set, so we can remove this conditional</div><div class='del'>-</div><div class='del'>-Sun Jul 26 06:22:24 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb: add a test ensuring that the default DH</div><div class='del'>-	  callback is used when no DH callback is specified.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 04:08:27 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing</div><div class='del'>-	  instance variables to squash warnings with alpn.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 03:42:19 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move</div><div class='del'>-	  OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto</div><div class='del'>-</div><div class='del'>-Sat Jul 25 21:03:45 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_syscall): get rid of blocking when</div><div class='del'>-	  no entropy is available.  based on the patch by mame in</div><div class='del'>-	  [ruby-core:70114].  [Bug #11395]</div><div class='del'>-</div><div class='del'>-Sat Jul 25 11:05:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace_shared_without_enc): fill the terminator</div><div class='del'>-	  of embedded strings in wide char encodings.</div><div class='del'>-</div><div class='del'>-Sat Jul 25 06:38:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: size should be unsigned.</div><div class='del'>-	  * rb_call_info_t::index</div><div class='del'>-	  * rb_iseq_constant_body::stack_max</div><div class='del'>-	  * rb_iseq_constant_body::local_size</div><div class='del'>-	  * rb_iseq_constant_body::param::size</div><div class='del'>-	  * rb_iseq_constant_body::local_table_size</div><div class='del'>-	  * rb_iseq_constant_body::is_size</div><div class='del'>-	  * rb_iseq_constant_body::callinfo_size</div><div class='del'>-</div><div class='del'>-	* iseq.h: same for iseq_catch_table::size.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up these fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_args.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jul 25 06:00:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_iseq_constant_body::line_info_table.</div><div class='del'>-</div><div class='del'>-	* iseq.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-Sat Jul 25 05:56:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_iseq_constant_body::param::opt_table and</div><div class='del'>-	  rb_iseq_constant_body::param::keyword.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-Sat Jul 25 04:47:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_iseq_constant_body::catch_table.</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_set_exception_table): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 24 21:29:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (EQUAL, st_delete_safe): fix arguments order to compare</div><div class='del'>-	  function, searching key is the first and stored key is the</div><div class='del'>-	  second always.</div><div class='del'>-</div><div class='del'>-Fri Jul 24 21:27:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (fstr_update_callback): fstring must not be a shared</div><div class='del'>-	  string, or the content without RSTRING_FSTR may be freed.</div><div class='del'>-	  [ruby-dev:49188] [Bug #11386]</div><div class='del'>-</div><div class='del'>-Fri Jul 24 20:09:43 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use</div><div class='del'>-	  IPv6 loopback interface for</div><div class='del'>-	  Rinda::TestRingFinger#test_make_socket_ipv6_multicast and</div><div class='del'>-	  Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops.</div><div class='del'>-	  The tests are skipped if there are no IPv6 devices other than the</div><div class='del'>-	  loopback device. [Bug #11394] [ruby-dev:49199]</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto</div><div class='del'>-	  for Rinda::TestRingServer#test_make_socket_ipv6_multicast.</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto</div><div class='del'>-	  for Rinda::TestRingServer#test_ring_server_ipv6_multicast.</div><div class='del'>-</div><div class='del'>-Fri Jul 24 16:35:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (fstr_update_callback): pool bare strings only.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring): return the original string with sharing a</div><div class='del'>-	  fstring if it has extra attributes, not the fstring itself.</div><div class='del'>-	  [ruby-dev:49188] [Bug #11386]</div><div class='del'>-</div><div class='del'>-Fri Jul 24 16:35:34 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_extname): [DOC] add an example.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb (test_extname): add tests.  [Fix GH-978]</div><div class='del'>-	  * path starts with dot ('.a.rb')</div><div class='del'>-	  * path includes dir name ('a/b/d/test.rb')</div><div class='del'>-	  * path includes dir name and dir name starts with dot</div><div class='del'>-	    ('.a/b/d/test.rb')</div><div class='del'>-</div><div class='del'>-Thu Jul 23 18:50:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_iseq_constant_body::local_table and</div><div class='del'>-	  rb_iseq_param_keyword::table and</div><div class='del'>-	  rb_iseq_param_keyword::default_values.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 17:30:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_iseq_constant_body::iseq_encoded and</div><div class='del'>-	  rb_control_frame_t::pc.</div><div class='del'>-</div><div class='del'>-	* compile.c (rb_iseq_translate_threaded_code): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_exec.c (vm_exec_core): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 10:25:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: add raw FL macros, which assume always the</div><div class='del'>-	  argument object is not a special constant.</div><div class='del'>-</div><div class='del'>-	* internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING.</div><div class='del'>-</div><div class='del'>-	* string.c: deal with taint flags directly across String instances.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 09:05:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda_body): pop cmdarg stack for lookahead</div><div class='del'>-	  token.  [ruby-core:70067] [Bug #11380]</div><div class='del'>-</div><div class='del'>-Thu Jul 23 04:03:03 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: fix tests by not setting the instance</div><div class='del'>-	  variable on the frozen ssl instance.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 03:32:26 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: add ECDH callback support. [Feature #11356]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb: test for ECDH callback support</div><div class='del'>-</div><div class='del'>-Thu Jul 23 03:29:49 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: add ALPN support. [Feature #9390]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: detect ALPN support in OpenSSL</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: test for ALPN</div><div class='del'>-</div><div class='del'>-Wed Jul 22 23:44:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse): reversed string is not a substring,</div><div class='del'>-	  and should not set coderange of the original string.</div><div class='del'>-	  [ruby-dev:49189] [Bug #11387]</div><div class='del'>-</div><div class='del'>-Wed Jul 22 20:17:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: modify layout of rb_iseq_constant_body.</div><div class='del'>-</div><div class='del'>-	  Move frequent accessing fields to upper part.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 19:57:47 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove unused declaration of</div><div class='del'>-	  iseq_compile_data_ensure_node_stack.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 19:52:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: separate rb_iseq_body into rb_iseq_constant_body and</div><div class='del'>-	  rb_iseq_variable_body (rb_iseq_t::variable_body).</div><div class='del'>-</div><div class='del'>-	  rb_iseq_variable_body can be modified after compilation.</div><div class='del'>-</div><div class='del'>-	* compile.c: use rb_iseq_t::variable_body.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 17:50:35 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix/eigenvalue_decomposition.rb: refine code style.</div><div class='del'>-	  [fix GH-959][ci skip] Patch by @bogdanvlviv</div><div class='del'>-</div><div class='del'>-Wed Jul 22 15:48:47 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: Add test case for Range#end with</div><div class='del'>-	  exclude_end true case. [fix GH-968] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Wed Jul 22 09:45:31 2015  Maksim Sitnikov  &lt;sitnikovme@undev.ru&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_coerce): [DOC] fix doc for Numeric#coerce,</div><div class='del'>-	  missing '+'.  [Fix GH-974]</div><div class='del'>-</div><div class='del'>-Wed Jul 22 07:24:18 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* make rb_iseq_t T_IMEMO object (type is imemo_iseq).</div><div class='del'>-</div><div class='del'>-	  All contents of previous rb_iseq_t is in rb_iseq_t::body.</div><div class='del'>-	  Remove rb_iseq_t::self because rb_iseq_t is an object.</div><div class='del'>-</div><div class='del'>-	  RubyVM::InstructionSequence is wrapper object points T_IMEMO/iseq.</div><div class='del'>-	  So RubyVM::ISeq.of(something) method returns different wrapper</div><div class='del'>-	  objects but they point the same T_IMEMO/iseq object.</div><div class='del'>-</div><div class='del'>-	  This patch is big, but most of difference is replacement of</div><div class='del'>-	  iseq-&gt;xxx to iseq-&gt;body-&gt;xxx.</div><div class='del'>-</div><div class='del'>-	  (previous) rb_iseq_t::compile_data is also located to</div><div class='del'>-	  rb_iseq_t::compile_data.</div><div class='del'>-	  It was moved from rb_iseq_body::compile_data.</div><div class='del'>-</div><div class='del'>-	  Now rb_iseq_t has empty two pointers.</div><div class='del'>-	  I will split rb_iseq_body data into static data and dynamic data.</div><div class='del'>-</div><div class='del'>-	* compile.c: rename some functions/macros.</div><div class='del'>-	  Now, we don't need to separate iseq and iseqval (only VALUE).</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_exec_internal): `n' is rb_iseq_t (T_IMEMO/iseq).</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (count_imemo_objects): count T_IMEMO/iseq.</div><div class='del'>-</div><div class='del'>-	* gc.c: check T_IMEMO/iseq.</div><div class='del'>-</div><div class='del'>-	* internal.h: add imemo_type::imemo_iseq.</div><div class='del'>-</div><div class='del'>-	* iseq.c: define RubyVM::InstructionSequence as T_OBJECT.</div><div class='del'>-	  Methods are implemented by functions named iseqw_....</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0): rb_iseq_new_top() returns</div><div class='del'>-	  rb_iseq_t (T_IMEMO/iesq).</div><div class='del'>-</div><div class='del'>-	* method.h (rb_add_method_iseq): accept rb_iseq_t (T_IMEMO/iseq).</div><div class='del'>-</div><div class='del'>-	* vm_core.h (GetISeqPtr): removed because it is not T_DATA now.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (struct rb_iseq_body): remove padding for</div><div class='del'>-	  [Bug #10037][ruby-core:63721].</div><div class='del'>-</div><div class='del'>-Wed Jul 22 07:15:33 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (total_i): no need to skip singleton classes.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 06:37:54 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_call_info_t::kw_arg,</div><div class='del'>-	  rb_control_frame_t::iseq and rb_control_frame_t::block_iseq.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_free): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 06:25:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_call_info_t::blockiseq and rb_block_t::iseq.</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_insnhelper.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): constify the first iseq parameter.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_make_proc_with_iseq): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 06:17:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: constify rb_method_iseq_t::iseqptr.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_min_max_arity): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (def_iseq_ptr): constify.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 03:37:39 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (internal_object_p): Now a singleton classes appear by</div><div class='del'>-	  ObjectSpace.each_object. [Bug #11360]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_objectspace.rb: add a test about it.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 21:21:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): replace switch and goto with a loop to</div><div class='del'>-	  suppress maybe-uninitialized warnings by gcc6.</div><div class='del'>-</div><div class='del'>-	* thread.c (set_unblock_function, rb_wait_for_single_fd): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 20:32:33 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: Add test for Range#hash</div><div class='del'>-	  [fix GH-969] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Tue Jul 21 19:43:20 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c: constify the first parameter (iseq).</div><div class='del'>-	  * iseq_add_mark_object()</div><div class='del'>-	  * iseq_add_mark_object_compile_time()</div><div class='del'>-</div><div class='del'>-	* iseq.c, iseq.h (rb_iseq_add_mark_object): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 16:18:48 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_nonblock.rb: increase buffer sizes</div><div class='del'>-	  to OpenBSD limits. Thanks to Jeremy Evans &lt;code@jeremyevans.net&gt;</div><div class='del'>-	  [ruby-core:70058]</div><div class='del'>-</div><div class='del'>-Tue Jul 21 16:08:53 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (ruby_dln_librefs): make static</div><div class='del'>-</div><div class='del'>-Tue Jul 21 13:36:54 2015  yuuji.yaginuma  &lt;yuuji.yaginuma@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (complete): [DOC] fix typo.  [Fix GH-973]</div><div class='del'>-</div><div class='del'>-Tue Jul 21 05:20:21 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_wait_for_single_fd): new function for Linux</div><div class='del'>-	  (maygvl_copy_stream_wait_read): Linux-specific version</div><div class='del'>-	  (nogvl_copy_stream_wait_write): use nogvl_wait_for_single_fd</div><div class='del'>-	  [ruby-core:70051] [Feature #11377]</div><div class='del'>-</div><div class='del'>-Mon Jul 20 15:04:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_initialize): avoid redundant zero-ing</div><div class='del'>-</div><div class='del'>-Mon Jul 20 12:12:05 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): pack: 88 =&gt; 256 bytes on 64-bit</div><div class='del'>-	  [ruby-core:70034] [Feature #11371]</div><div class='del'>-</div><div class='del'>-Sun Jul 19 14:29:18 2015  windwiny  &lt;windwiny.ubt@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: [DOC] fix example typo, an old name at move from</div><div class='del'>-	  PTY.open.  [Fix GH-972]</div><div class='del'>-</div><div class='del'>-Sat Jul 18 21:29:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (vm_check_ints_blocking): gather common statements at</div><div class='del'>-	  the end, and prefer LIKELY for Visual C optimization.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 20:44:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0): do not raise any exceptions but</div><div class='del'>-	  return the result tag state.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_protect): reduce nested EXEC_TAGs.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 19:52:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_finalizer): set and restore safe level here to reduce</div><div class='del'>-	  nested EXEC_TAGs.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 18:45:22 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): error_handle() returns exit status to the</div><div class='del'>-	  system, not internal error state, do not convert the exit status</div><div class='del'>-	  again.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 10:29:03 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: test thread+sigs work after failed exec</div><div class='del'>-</div><div class='del'>-Sat Jul 18 07:20:18 2015  Jeremy Evans  &lt;code@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_nonblock: use smaller buffer for sendmsg</div><div class='del'>-	  [ruby-core:70016] [Bug #11364]</div><div class='del'>-</div><div class='del'>-Sat Jul 18 07:04:24 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (trap_handler): cleanup to use RSTRING_GETMEM + memcmp</div><div class='del'>-</div><div class='del'>-Sat Jul 18 02:53:06 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_read_nonblock): support `exception: false'</div><div class='del'>-	  (io_nonblock_eof): new function</div><div class='del'>-	  (io_read_nonblock): use io_nonblock_eof</div><div class='del'>-	  (argf_getpartial): accept kwargs hash for `exception: false'</div><div class='del'>-	* test/ruby/test_argf.rb (test_read_nonblock): new test</div><div class='del'>-	* NEWS: add item for ARGF.read_nonblock</div><div class='del'>-	  [ruby-core:70000] [Feature #11358]</div><div class='del'>-</div><div class='del'>-Fri Jul 17 23:51:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_cmd): $SAFE=4 has been deprecated.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 22:18:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): use enum ruby_tag_type names.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (ruby_tag_type): move from eval_intern.h for compiling</div><div class='del'>-	  break/next/redo/return.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 15:39:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h (ENC_CODERANGE_CLEAN_P): predicate that</div><div class='del'>-	  tells if the coderange is clean, that is 7bit or valid, and no</div><div class='del'>-	  needs to scrub.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_expr_str): use ENC_CODERANGE_CLEAN_P.</div><div class='del'>-</div><div class='del'>-	* string.c (enc_strlen, rb_enc_cr_str_buf_cat, rb_str_scrub):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars): ditto, and suppress a warning</div><div class='del'>-	  by gcc6.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 15:36:52 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (test_first_last): Add test for</div><div class='del'>-	  `Range.new`.  [Fix GH-971]</div><div class='del'>-</div><div class='del'>-Fri Jul 17 15:36:40 2015  yui-knk  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (test_first_last): Add assertions to</div><div class='del'>-	  test of `Range#last` with exclude_end true case.  [Fix GH-970]</div><div class='del'>-</div><div class='del'>-Fri Jul 17 09:59:14 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_alone): simplify</div><div class='del'>-</div><div class='del'>-Fri Jul 17 09:58:32 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rinda/tuplespace.rb: remove enumerator require</div><div class='del'>-	* test/pathname/test_pathname.rb: ditto</div><div class='del'>-</div><div class='del'>-Fri Jul 17 05:33:58 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): reuse result of previous</div><div class='del'>-	  GET_THREAD() call</div><div class='del'>-	* thread.c (thread_create_core): ditto</div><div class='del'>-	  (rb_mutex_trylock): ditto</div><div class='del'>-	  (rb_mutex_lock): ditto</div><div class='del'>-	* process.c (rb_waitpid): avoid multiple eval from RUBY_VM_CHECK_INTS</div><div class='del'>-	* thread.c (rb_thread_check_ints): ditto</div><div class='del'>-</div><div class='del'>-Thu Jul 16 19:12:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (mutex_alloc): remove needless volatile</div><div class='del'>-</div><div class='del'>-Thu Jul 16 22:05:29 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: constify rb_iseq_t::parent_iseq.</div><div class='del'>-</div><div class='del'>-	  rb_iseq_t::local_iseq is not constant data because</div><div class='del'>-	  local_iseq::flip_cnt can be modified (commented).</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 21:47:47 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (redirect_dup2): when the new FD of dup2() conflicts</div><div class='del'>-	  with one of the timer thread FDs, the internal FD is diverted.</div><div class='del'>-	  [Bug #11336] [ruby-core:69886] [Bug #11350] [ruby-core:69961]</div><div class='del'>-</div><div class='del'>-	* process.c (dup2_with_divert): new function for the above purpose.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_divert_reserved_fd): new function for</div><div class='del'>-	  diverting reserved FD. If the given FD is the same as one of the</div><div class='del'>-	  reserved FDs, the reserved FD number is internally changed.</div><div class='del'>-	  It returns -1 when error. Otherwise, returns 0. It also returns</div><div class='del'>-	  0 if there is no need to change reserved FD number.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (rb_divert_reserved_fd): always returns 0 because</div><div class='del'>-	  of no reserved FDs.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_divert_reserved_fd): prototype declaration.</div><div class='del'>-	  It is Ruby internal use only.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 21:47:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_disasm): rename rb_iseq_t *iseqdat to iseq</div><div class='del'>-	  and VALUE *iseq to code.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_disasm_insn): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 14:34:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (REWIND_CFP): keep the arguments region inside the valid</div><div class='del'>-	  value stack.  [ruby-core:69969] [Bug #11352]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 11:38:21 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (close_unless_reserved): declare type of `fd' arg</div><div class='del'>-</div><div class='del'>-Thu Jul 16 08:47:29 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_construct_expanded_load_path): fstring expanded path</div><div class='del'>-	  (get_loaded_features_index): fstring feature path</div><div class='del'>-	  (rb_provide_feature): ditto</div><div class='del'>-	  [ruby-core:69871] [Feature #11331]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 02:56:14 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_initialize): avoid RSTRING_PTR and NUMT2INT</div><div class='del'>-</div><div class='del'>-Thu Jul 16 01:00:46 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_exec_close_reserved_fd): test for</div><div class='del'>-	  [Bug #11353]</div><div class='del'>-</div><div class='del'>-Thu Jul 16 00:35:42 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignore version.i.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 23:40:32 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):</div><div class='del'>-	  use RUBY (= EnvUtil.rubybin)</div><div class='del'>-</div><div class='del'>-Wed Jul 15 23:01:22 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (redirect_close, parent_redirect_close): should not close</div><div class='del'>-	  reserved FD. It should be closed in the exec system call due to the</div><div class='del'>-	  O_CLOEXEC or FD_CLOEXEC flag. [Bug #11353] [ruby-core:69977]</div><div class='del'>-</div><div class='del'>-	* process.c (close_unless_reserved): new function to close FD unless</div><div class='del'>-	  it is reserved for internal communication.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_reserved_fd_p): should check owner_process pid</div><div class='del'>-	  to avoid false positive in forked child process.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 18:31:18 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_mark): remove redundant check</div><div class='del'>-	* vm.c (env_mark): ditto</div><div class='del'>-</div><div class='del'>-Wed Jul 15 17:27:40 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_mark): remove check for data pointer</div><div class='del'>-	* proc.c (binding_mark): ditto</div><div class='del'>-	* vm.c (rb_thread_mark): ditto</div><div class='del'>-	* vm_trace.c (tp_mark): ditto</div><div class='del'>-</div><div class='del'>-Wed Jul 15 16:55:04 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c (enc_autoload): drop dummy encoding flag from</div><div class='del'>-	  the loaded encoding index.  this flag is used only in this</div><div class='del'>-	  source.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 14:39:29 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): add comments about env layout.</div><div class='del'>-	  Do not use `i' to specify `new_ep'.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_proc_create, rb_vm_make_proc_lambda): envval is not used.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 08:59:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.h (RUBY_MARK_UNLESS_NULL): evaluate the argument only once</div><div class='del'>-	  to get rid of inadvertent side effects.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 02:53:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm.c: remove rb_proc_t::envval because we can know it via</div><div class='del'>-	  rb_proc_t::block::ep.</div><div class='del'>-</div><div class='del'>-	  rb_vm_proc_envval(const rb_proc_t *proc) returns an Env object which</div><div class='del'>-	  the Proc object use.</div><div class='del'>-</div><div class='del'>-	* proc.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_proc_dump_raw): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 02:27:22 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm.c: remove rb_env_t::prev_envval because we can know it</div><div class='del'>-	  via env-&gt;ep.</div><div class='del'>-</div><div class='del'>-	  rb_vm_env_prev_envval(env) returns prev_envval via env-&gt;ep.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_env_local_variables): change parameter type</div><div class='del'>-	  from VALUE (T_DATA/env) to `const rb_env_t *' to make same as</div><div class='del'>-	  rb_vm_env_prev_envval().</div><div class='del'>-</div><div class='del'>-	* proc.c: catch up these changes.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: rename macros.</div><div class='del'>-</div><div class='del'>-	  * ENV_IN_HEAP_P() to VM_EP_IN_HEAP_P() because it uses ep.</div><div class='del'>-	  * ENV_VAL() to VM_ENV_EP_ENVVAL() because it is too short.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 01:09:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: refactoring Proc/Env related code.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove blockprocval field from rb_proc_t and rb_binding_t.</div><div class='del'>-	  Instead of this field, mark given block in Proc at rb_env_t::env.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_make_env_each): make an Env object with this layout.</div><div class='del'>-	  And also simplify parameters.</div><div class='del'>-</div><div class='del'>-	* proc.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_env_t::local_size because it is not used.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vmdebug_env_dump_raw): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_make_env_object): remove rb_vm_make_env_object()</div><div class='del'>-	  because it is only referred from vm.c.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): catch up this fix.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 00:03:36 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (__has_feature): move into internal.h.</div><div class='del'>-</div><div class='del'>-	* internal.h (__has_feature): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (__has_extension): new macro.</div><div class='del'>-</div><div class='del'>-	* internal.h (STATIC_ASSERT): use _Static_assert with</div><div class='del'>-	  clang. [ruby-core:69931] [Bug #11343]</div><div class='del'>-</div><div class='del'>-Wed Jul 15 00:00:00 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_syscall): fix compile error with</div><div class='del'>-	  clang. [ruby-core:69931] [Bug #11343]</div><div class='del'>-</div><div class='del'>-Tue Jul 14 11:22:42 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#register):</div><div class='del'>-	  notify the handler thread of new timeout registration.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):</div><div class='del'>-	  make sleep intervals adaptive than fixed period intervals.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#start): flush</div><div class='del'>-	  shutdown pipe.</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (WEBrick::GenericServer#stop): request the</div><div class='del'>-	  server to stop immediately by sending data via shutdown pipe.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 23:58:08 2015  Stefano Tortarolo  &lt;stefano.tortarolo@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT):</div><div class='del'>-	  fix typos in debugger statements.  [Fix GH-967]</div><div class='del'>-</div><div class='del'>-Mon Jul 13 19:11:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (timeout): warn as deprecated for a long time.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 01:37:27 2015  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: [DOC] Backport ruby/openssl@dbb3fdb [Bug #11345]</div><div class='del'>-	  Thanks to Tomoya Chiba for the report and help with patch.</div><div class='del'>-</div><div class='del'>-Sun Jul 12 09:20:02 2015  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c: [DOC] typo (Errno::AGAIN -&gt; Errno::EAGAIN)</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: ditto</div><div class='del'>-</div><div class='del'>-	* ext/socket/tcpserver.c: ditto</div><div class='del'>-</div><div class='del'>-	* ext/socket/udpsocket.c: ditto</div><div class='del'>-</div><div class='del'>-	* ext/socket/unixserver.c: ditto</div><div class='del'>-</div><div class='del'>-	* io.c: ditto</div><div class='del'>-</div><div class='del'>-Sun Jul 12 06:42:23 2015  ksss  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb (test_sysread): add a test for</div><div class='del'>-	  StringIO#sysread.  [Fix GH-966]</div><div class='del'>-</div><div class='del'>-Sat Jul 11 21:16:34 2015  ksss  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (Init_stringio): [DOC] Fix an example,</div><div class='del'>-	  StringIO#puts should be set "\n" at last.  [Fix GH-965]</div><div class='del'>-</div><div class='del'>-Sat Jul 11 12:45:51 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): remove regexp with wrong line</div><div class='del'>-	  number and fix caller depth.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 22:05:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (ExitException): removed internal exception class</div><div class='del'>-	  and use Timeout::Error instead, as using throw/catch to isolate</div><div class='del'>-	  each timeouts now.  [ruby-dev:49179] [Bug #11344]</div><div class='del'>-</div><div class='del'>-Fri Jul 10 17:41:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (is_case_sensitive): get attributes by the file descriptor</div><div class='del'>-	  of open directory, instead of using mount point name.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 10:46:02 2015  ksss  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (writable): remove unnecessary check for</div><div class='del'>-	  deprecated safe level 4.  [Fix GH-963]</div><div class='del'>-</div><div class='del'>-Thu Jul  9 15:07:12 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (waitpid): return immediately if interrupted.</div><div class='del'>-	  reported by &lt;takkanm AT gmail.com&gt; [ruby-dev:49176] [Bug #11340]</div><div class='del'>-</div><div class='del'>-Thu Jul  9 13:03:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): use CI_SET_FASTPATH().</div><div class='del'>-</div><div class='del'>-Thu Jul  9 11:07:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_call_info_t::klass because</div><div class='del'>-	  rb_callable_method_entry_t has information about defined class.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_method): don't set ci-&gt;klass because</div><div class='del'>-	  it is removed.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_equal_opt): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_superclass): removed because it is too</div><div class='del'>-	  simple to write code directly.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_defined): don't use vm_search_superclass().</div><div class='del'>-	  This fix avoid searching current callable `me' twice.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  9 10:03:10 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: Added 308 status to CODE_TO_OBJ list.</div><div class='del'>-	  [fix GH-961] Patch by @billinghamj</div><div class='del'>-</div><div class='del'>-Thu Jul  9 09:34:14 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_control_frame_t): fix comments (layout index).</div><div class='del'>-</div><div class='del'>-Thu Jul  9 09:25:50 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: Improve duplicate key warning with patch by @andremedeiros</div><div class='del'>-	  [Fix GH-938] https://github.com/ruby/ruby/pull/938 [Bug #11327]</div><div class='del'>-</div><div class='del'>-Wed Jul  8 07:43:01 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: typo fix [ci skip][fix GH-958] Patch by @henrik</div><div class='del'>-</div><div class='del'>-Wed Jul  8 04:42:27 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_data_to_ary): dump kw_arg as symbol</div><div class='del'>-	* test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip</div><div class='del'>-	  [ruby-core:69891] [Bug #11338]</div><div class='del'>-</div><div class='del'>-Tue Jul  7 18:18:41 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_syscall): fix compile error.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 16:47:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (COMPILE_ERROR): reduce GET_THREAD() calls</div><div class='del'>-</div><div class='del'>-Tue Jul  7 16:39:04 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_syscall): return -1 for error</div><div class='del'>-	* random.c (fill_random_bytes): try urandom on syscall failure</div><div class='del'>-</div><div class='del'>-Tue Jul  7 15:02:18 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_str_normalize_ospath): skip invalid byte sequence not</div><div class='del'>-	  to loop infinitely.  this case usually does not happen as the</div><div class='del'>-	  input name should come from real file systems.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 14:40:08 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: remove debug flag introduced accidentally.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 12:05:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_free): remove mysterious fflush()</div><div class='del'>-	  introduced at r19890, maybe accidentally.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 11:45:14 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_call): because data-&gt;me should be non-NULL,</div><div class='del'>-	  do not check data-&gt;me</div><div class='del'>-</div><div class='del'>-	* proc.c (method_inspect): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 11:37:25 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_iseq_t::orig because rb_iseq_clone()</div><div class='del'>-	  no longer exists.</div><div class='del'>-</div><div class='del'>-	* iseq.c: don't use rb_iseq_t::orig.</div><div class='del'>-</div><div class='del'>-Tue Jul 07 11:25:57 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c, internal.h (rb_iseq_clone): removed because we don't need to</div><div class='del'>-	  clone iseq any more.</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): share iseq between cloned methods. All of</div><div class='del'>-	  method dependent information are able to refer from method entry.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 04:42:25 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): use rb_str_freeze for String#freeze</div><div class='del'>-	  to resize internal buffer</div><div class='del'>-	  [ruby-core:69870] [Feature #11330]</div><div class='del'>-</div><div class='del'>-Tue Jul  7 04:12:32 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): remove an unused local variable.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 03:57:28 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_iseq_t::defined_method_id because it is not</div><div class='del'>-	  needed.</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id): simplify. rb_callable_method_entry_t</div><div class='del'>-	  has enough information.</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_called_id): ditto.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 03:47:26 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove a useless declaration.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 03:33:20 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_iseq_t::klass to reduce dynamic data.</div><div class='del'>-</div><div class='del'>-	* internal.h, iseq.c (rb_iseq_klass): remove it because</div><div class='del'>-	  rb_iseq_t::klass is removed.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_super_outside): do not see cfp-&gt;iseq, but</div><div class='del'>-	  check callable method entry on a frame.</div><div class='del'>-	  This fix simplify the logic to search super class.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: support super() from Proc.</div><div class='del'>-	  Now, [Bug #4881] and [Bug #3136] was solved.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): catch up this change.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_define_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_profile_frames): now, each `frame' objects</div><div class='del'>-	  are rb_callable_method_entry_t data or iseq VALUEs.</div><div class='del'>-</div><div class='del'>-	  This fix introduce minor compatibility issue that</div><div class='del'>-	  rb_profile_frame_label() always returns</div><div class='del'>-	  rb_profile_frame_base_label().</div><div class='del'>-</div><div class='del'>-	* test/-ext-/debug/test_profile_frames.rb: catch up this change.</div><div class='del'>-</div><div class='del'>-Tue Jul  7 01:52:14 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_init): initialize control frame correctly.</div><div class='del'>-	  This fix does not affect any ordinal execution, but</div><div class='del'>-	  affects debug prints.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 17:59:05 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_search_super_method): do not skip calling</div><div class='del'>-	  same methods in super.</div><div class='del'>-	  [Bug #3351]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: fix a test.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 17:59:11 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c: removed deprecated safe level.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 17:16:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h, proc.c (rb_method_entry_location): make it static</div><div class='del'>-	  and remove prefix `rb_' because it is used only in proc.c.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 16:42:10 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/memory_status.rb: removed redundant path.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 01:18:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit/parallel.rb: make @@project_dir one level</div><div class='del'>-	  upper as this file had moved one level deeper.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 23:54:10 2015  mizokami  &lt;suzunatsu@yahoo.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: [DOC] Fix typo.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 18:25:37 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_record_get): fix spelling error in keys</div><div class='del'>-</div><div class='del'>-Sun Jul  5 14:49:01 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: fix a typo pointed out by raoulvdberge.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/953#commitcomment-11998186</div><div class='del'>-</div><div class='del'>-Sun Jul  5 12:56:20 2015  Irvi Firqotul Aini  &lt;viarc7@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: Added link HowToReport bugs.</div><div class='del'>-</div><div class='del'>-Sun Jul  5 10:51:48 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): the original array may not be</div><div class='del'>-	  embedded even if a substitution array is embedded, as it is</div><div class='del'>-	  embedded when the original array is short enough but not</div><div class='del'>-	  embedded.  [ruby-dev:49166] [Bug #11332]</div><div class='del'>-</div><div class='del'>-Sun Jul  5 09:31:40 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: test for fd=3 usability in child</div><div class='del'>-</div><div class='del'>-Sat Jul  4 19:43:31 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Add test case for empty array and first method with args.</div><div class='del'>-	  Patch by @yui-knk [fix GH-955]</div><div class='del'>-</div><div class='del'>-Sat Jul  4 19:39:08 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Add test for `Enumerable#sort` with block. Patch by @yui-knk</div><div class='del'>-	  [fix GH-954]</div><div class='del'>-</div><div class='del'>-Sat Jul  4 14:38:43 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (zip_ary): remove volatile, use RB_GC_GUARD</div><div class='del'>-	  (zip_i): ditto</div><div class='del'>-</div><div class='del'>-Sat Jul  4 10:42:57 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb (teardown): do not delete features</div><div class='del'>-	  loaded from the original load paths, the same libraries should</div><div class='del'>-	  be loaded again when the same features are required.</div><div class='del'>-	  [ruby-dev:49031] [Bug #11222]</div><div class='del'>-</div><div class='del'>-Sat Jul  4 09:38:52 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_mark): reduce branches for always-set VM fields</div><div class='del'>-	  (rb_vm_add_root_module): ditto</div><div class='del'>-</div><div class='del'>-Fri Jul 03 20:05:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: introduce rb_callable_method_entry_t to remove</div><div class='del'>-	  rb_control_frame_t::klass.</div><div class='del'>-	  [Bug #11278], [Bug #11279]</div><div class='del'>-</div><div class='del'>-	  rb_method_entry_t data belong to modules/classes.</div><div class='del'>-	  rb_method_entry_t::owner points defined module or class.</div><div class='del'>-</div><div class='del'>-	    module M</div><div class='del'>-	      def foo; end</div><div class='del'>-	    end</div><div class='del'>-</div><div class='del'>-	  In this case, owner is M.</div><div class='del'>-</div><div class='del'>-	  rb_callable_method_entry_t data belong to only classes.</div><div class='del'>-	  For modules, MRI creates corresponding T_ICLASS internally.</div><div class='del'>-	  rb_callable_method_entry_t can also belong to T_ICLASS.</div><div class='del'>-</div><div class='del'>-	  rb_callable_method_entry_t::defined_class points T_CLASS or</div><div class='del'>-	  T_ICLASS.</div><div class='del'>-	  rb_method_entry_t data for classes (not for modules) are also</div><div class='del'>-	  rb_callable_method_entry_t data because it is completely same data.</div><div class='del'>-	  In this case, rb_method_entry_t::owner == rb_method_entry_t::defined_class.</div><div class='del'>-</div><div class='del'>-	  For example, there are classes C and D, and includes M,</div><div class='del'>-</div><div class='del'>-	    class C; include M; end</div><div class='del'>-	    class D; include M; end</div><div class='del'>-</div><div class='del'>-	  then, two T_ICLASS objects for C's super class and D's super class</div><div class='del'>-	  will be created.</div><div class='del'>-</div><div class='del'>-	  When C.new.foo is called, then M#foo is searched and</div><div class='del'>-	  rb_callable_method_t data is used by VM to invoke M#foo.</div><div class='del'>-</div><div class='del'>-	  rb_method_entry_t data is only one for M#foo.</div><div class='del'>-	  However, rb_callable_method_entry_t data are two (and can be more).</div><div class='del'>-	  It is proportional to the number of including (and prepending)</div><div class='del'>-	  classes (the number of T_ICLASS which point to the module).</div><div class='del'>-</div><div class='del'>-	  Now, created rb_callable_method_entry_t are collected when</div><div class='del'>-	  the original module M was modified. We can think it is a cache.</div><div class='del'>-</div><div class='del'>-	  We need to select what kind of method entry data is needed.</div><div class='del'>-	  To operate definition, then you need to use rb_method_entry_t.</div><div class='del'>-</div><div class='del'>-	  You can access them by the following functions.</div><div class='del'>-</div><div class='del'>-	  * rb_method_entry(VALUE klass, ID id);</div><div class='del'>-	  * rb_method_entry_with_refinements(VALUE klass, ID id);</div><div class='del'>-	  * rb_method_entry_without_refinements(VALUE klass, ID id);</div><div class='del'>-	  * rb_resolve_refined_method(VALUE refinements, const rb_method_entry_t *me);</div><div class='del'>-</div><div class='del'>-	  To invoke methods, then you need to use rb_callable_method_entry_t</div><div class='del'>-	  which you can get by the following APIs corresponding to the</div><div class='del'>-	  above listed functions.</div><div class='del'>-</div><div class='del'>-	  * rb_callable_method_entry(VALUE klass, ID id);</div><div class='del'>-	  * rb_callable_method_entry_with_refinements(VALUE klass, ID id);</div><div class='del'>-	  * rb_callable_method_entry_without_refinements(VALUE klass, ID id);</div><div class='del'>-	  * rb_resolve_refined_method_callable(VALUE refinements, const rb_callable_method_entry_t *me);</div><div class='del'>-</div><div class='del'>-	  VM pushes rb_callable_method_entry_t, so that rb_vm_frame_method_entry()</div><div class='del'>-	  returns rb_callable_method_entry_t.</div><div class='del'>-	  You can check a super class of current method by</div><div class='del'>-	  rb_callable_method_entry_t::defined_class.</div><div class='del'>-</div><div class='del'>-	* method.h: renamed from rb_method_entry_t::klass to</div><div class='del'>-	  rb_method_entry_t::owner.</div><div class='del'>-</div><div class='del'>-	* internal.h: add rb_classext_struct::callable_m_tbl to cache</div><div class='del'>-	  rb_callable_method_entry_t data.</div><div class='del'>-</div><div class='del'>-	  We need to consider about this field again because it is only</div><div class='del'>-	  active for T_ICLASS.</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry_i): ditto.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_attr): rb_method_entry() does not takes</div><div class='del'>-	  defined_class_ptr.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_method_entry): mark RCLASS_CALLABLE_M_TBL() for T_ICLASS.</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_init): rb_control_frame_t::klass is removed.</div><div class='del'>-</div><div class='del'>-	* proc.c: fix `struct METHOD' data structure because</div><div class='del'>-	  rb_callable_method_t has all information.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove several fields.</div><div class='del'>-	  * rb_control_frame_t::klass.</div><div class='del'>-	  * rb_block_t::klass.</div><div class='del'>-</div><div class='del'>-	  And catch up changes.</div><div class='del'>-</div><div class='del'>-	* eval.c: catch up changes.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_args.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 14:30:18 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c: some mingw compilers need a tweek for the</div><div class='del'>-	  declarations of _wfreopen_s.  [Bug #11320]</div><div class='del'>-</div><div class='del'>-Fri Jul  3 12:25:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (rb_econv_set_replacement): target encoding name can</div><div class='del'>-	  be empty now.  [ruby-core:69841] [Bug #11324]</div><div class='del'>-</div><div class='del'>-Fri Jul  3 07:21:06 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_io_nonblock_noex.rb: new benchmark</div><div class='del'>-	* ext/openssl/ossl_ssl.c (no_exception_p): new function</div><div class='del'>-	  (ossl_start_ssl): adjust for no_exception_p</div><div class='del'>-	  (ossl_ssl_connect): adjust ossl_start_ssl call</div><div class='del'>-	  (ossl_ssl_connect_nonblock): ditto</div><div class='del'>-	  (ossl_ssl_accept): ditto</div><div class='del'>-	  (ossl_ssl_accept_nonblock): ditto</div><div class='del'>-	  (ossl_ssl_read_internal): adjust for no_exception_p</div><div class='del'>-	  (ossl_ssl_write_internal): ditto</div><div class='del'>-	  (ossl_ssl_write): adjust ossl_write_internal call</div><div class='del'>-	  (ossl_ssl_write_nonblock): ditto</div><div class='del'>-	* ext/stringio/stringio.c (strio_read_nonblock):</div><div class='del'>-	  delay exception check</div><div class='del'>-	* io.c (no_exception_p): new function</div><div class='del'>-	  (io_getpartial): call no_exception_p</div><div class='del'>-	  (io_readpartial): adjust for io_getpartial</div><div class='del'>-	  (get_kwargs_exception): remove</div><div class='del'>-	  (io_read_nonblock): adjust for io_getpartial,</div><div class='del'>-	  check no_exception_p on EOF</div><div class='del'>-	  (io_write_nonblock): call no_exception_p</div><div class='del'>-	  (rb_io_write_nonblock): do not check `exception: false'</div><div class='del'>-	  (argf_getpartial): adjust for io_getpartial</div><div class='del'>-	  [ruby-core:69778] [Feature #11318]</div><div class='del'>-</div><div class='del'>-Fri Jul  3 07:13:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): Win32 API does not set errno, get</div><div class='del'>-	  the last error by GetLastError() and map to errno.  [Bug #10015]</div><div class='del'>-</div><div class='del'>-Thu Jul  2 21:32:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): show warnings at errors.</div><div class='del'>-	  [Bug #10015]</div><div class='del'>-</div><div class='del'>-Thu Jul  2 18:39:20 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove `#define RGENGC_OBJ_INFO 1' line introduced to</div><div class='del'>-	  debug Bug #11244.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 18:34:26 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_raw_obj_info): separated from rb_obj_info().</div><div class='del'>-	  Fill internal object information into passed buffer.</div><div class='del'>-</div><div class='del'>-	* gc.h: declare rb_raw_obj_info().</div><div class='del'>-</div><div class='del'>-Thu Jul  2 16:15:04 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): update path type by the target</div><div class='del'>-	  attributes if possible, to improve the performance.  [Bug #10015]</div><div class='del'>-</div><div class='del'>-Thu Jul  2 14:45:53 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c: get rid of VC++'s warnings of C4700 (uninitialized local</div><div class='del'>-	  variable used).  I think that these are wrong, but should shut them</div><div class='del'>-	  up.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 14:15:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb (Gem.load_path_insert_index): search</div><div class='del'>-	  @gem_prelude_index first.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb (Gem::TestCase#setup): keep already</div><div class='del'>-	  expanded paths to preserve instance variables.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 14:12:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): also copy initial load path marks at</div><div class='del'>-	  setting load paths encoding.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 12:26:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_server.rb (process_based_port): use</div><div class='del'>-	  dynamically chosen port numbers to get rid of conflicts.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 11:58:59 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_specification.rb: skip tests which the</div><div class='del'>-	  platform does not permit the filename of its test file.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 11:36:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_resolver_git_specification.rb: require</div><div class='del'>-	  rubygems/installer.rb before Gem::TestCase#setup runs, otherwise</div><div class='del'>-	  as Gem::TestCase#teardown restores $LOADED_FEATURES to the state</div><div class='del'>-	  at that time, the requiring the file in GitSpecification#install</div><div class='del'>-	  method causes a lot of constant redefinitions.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 10:43:36 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/rubysocket.h: flags for common socket families</div><div class='del'>-	  (rsock_getfamily): update signature</div><div class='del'>-	* include/ruby/io.h: comment socket FMODE flags</div><div class='del'>-	* ext/socket/init.c (rsock_getfamily): memoize family</div><div class='del'>-	* ext/socket/basicsocket.c: adjust rsock_getfamily calls</div><div class='del'>-	* ext/socket/ancdata.c: ditto</div><div class='del'>-	  [ruby-core:69713] [Feature #11298]</div><div class='del'>-</div><div class='del'>-Thu Jul  2 10:30:01 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/resolver.rb: fixed NameError of Gem::Util::NULL_DEVICE.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 09:51:44 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/resolver.rb: fix error of null device reference with DOSISH</div><div class='del'>-	  platform.</div><div class='del'>-</div><div class='del'>-Thu Jul  2 06:49:44 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems HEAD(c202db2).</div><div class='del'>-	  this version contains many enhancements see http://git.io/vtNwF</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 23:50:34 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_httpresponse.rb</div><div class='del'>-	(HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):</div><div class='del'>-	fix a failure without zlib.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 10:54:56 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Add test for Enumerable#none? [fix GH-950] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Wed Jul  1 09:30:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_set_members): hide internal back_members</div><div class='del'>-	  object, and members object does not need to be duped as it</div><div class='del'>-	  should be frozen and hidden.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 09:28:47 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_member_pos): revert r51080 to fix other</div><div class='del'>-	  implicit conversions but cast the return value to fix the</div><div class='del'>-	  previous implicit conversion.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 08:47:24 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_member_pos): avoid implicit conversion loses</div><div class='del'>-	  integer precision: 'long' to 'int'.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 05:57:03 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_iseq): add RB_GC_GUARD</div><div class='del'>-	* class.c (clone_method): remove RB_GC_GUARD</div><div class='del'>-	* struct.c (define_aref_method): ditto</div><div class='del'>-	  (define_aset_method): ditto</div><div class='del'>-	* vm.c (vm_define_method):</div><div class='del'>-	* iseq.c (rb_iseq_clone): add RB_GC_GUARD</div><div class='del'>-</div><div class='del'>-Wed Jul  1 05:43:58 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (AREF_HASH_THRESHOLD): new macro</div><div class='del'>-	  (id_back_members): new ID</div><div class='del'>-	  (struct_member_pos_ideal): new function</div><div class='del'>-	  (struct_member_pos_probe): ditto</div><div class='del'>-	  (struct_set_members): ditto</div><div class='del'>-	  (struct_member_pos): ditto</div><div class='del'>-	  (rb_struct_getmember): use struct_member_pos for O(1) access</div><div class='del'>-	  (rb_struct_aref_sym): ditto</div><div class='del'>-	  (rb_struct_aset_sym): ditto</div><div class='del'>-	  (setup_struct): call struct_set_members</div><div class='del'>-	  (struct_define_without_accessor): ditto</div><div class='del'>-	  (Init_Struct): initialize __members_back__</div><div class='del'>-	  [ruby-core:66851] [ruby-core:69705] [ruby-core:69821]</div><div class='del'>-</div><div class='del'>-Tue Jun 30 23:12:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): FilePathValue() ensures the path</div><div class='del'>-	  NUL-terminated and frozen, so it is unnecessary to make it shared.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 23:11:53 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (check_dirname): ensure path name NUL-terminated for</div><div class='del'>-	  SHARABLE_MIDDLE_SUBSTRING.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_sysopen): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 18:38:16 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_freopen): need to terminate by NUL.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 17:28:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): freopen(3) with OS encoding path.</div><div class='del'>-	  [ruby-core:69780] [Bug #11320]</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_freopen): wrapper of wchar version freopen(3).</div><div class='del'>-	  use _wfreopen_s() if available.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 08:24:08 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_oflags_modestr): handle O_TRUNC correctly</div><div class='del'>-	* test/ruby/test_io.rb (test_reopen_stdio): new test</div><div class='del'>-	  Patch-by: cremno phobia &lt;cremno@mail.ru&gt;</div><div class='del'>-	  [ruby-core:69779] [Bug #11319]</div><div class='del'>-</div><div class='del'>-Tue Jun 30 02:47:02 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/st.h (struct st_table): hide struct list_head</div><div class='del'>-	* st.c (struct st_table_entry): adjust struct</div><div class='del'>-	  (head, tail): remove shortcut macros</div><div class='del'>-	  (st_head): new wrapper function</div><div class='del'>-	  (st_init_table_with_size): adjust to new struct and API</div><div class='del'>-	  (st_clear): ditto</div><div class='del'>-	  (add_direct): ditto</div><div class='del'>-	  (unpack_entries): ditto</div><div class='del'>-	  (rehash): ditto</div><div class='del'>-	  (st_copy): ditto</div><div class='del'>-	  (remove_entry): ditto</div><div class='del'>-	  (st_shift): ditto</div><div class='del'>-	  (st_foreach_check): ditto</div><div class='del'>-	  (st_foreach): ditto</div><div class='del'>-	  (get_keys): ditto</div><div class='del'>-	  (get_values): ditto</div><div class='del'>-	  (st_values_check): ditto</div><div class='del'>-	  (st_reverse_foreach_check): ditto (unused)</div><div class='del'>-	  (st_reverse_foreach): ditto (unused)</div><div class='del'>-	  [ruby-core:69726] [Misc #10278]</div><div class='del'>-</div><div class='del'>-Mon Jun 29 17:38:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): do not quote unprintable characters at</div><div class='del'>-	  raising an exception.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 16:01:24 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper</div><div class='del'>-	  case. [ruby-core:69670] [Bug #11285] patched by Andy Chu</div><div class='del'>-</div><div class='del'>-Mon Jun 29 14:50:08 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (add_activated_refinement): should not include the original</div><div class='del'>-	  class.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 12:09:10 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: tweak styles. [fix GH-945][ci skip] Patch by @bryndyment</div><div class='del'>-</div><div class='del'>-Mon Jun 29 07:23:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/sizes.c.tmpl: extract RUBY_DEFINT to define sizes of</div><div class='del'>-	  types checked by configure.in, and fix size of intptr_t in</div><div class='del'>-	  universal binary.</div><div class='del'>-</div><div class='del'>-Mon Jun 29 02:10:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): preserve encoding of name in error</div><div class='del'>-	  messages for super class mismatch.</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): preserve encoding of name in error</div><div class='del'>-	  messages for non-class super.</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): preserve encoding of name in error</div><div class='del'>-	  messages when already defined but type mismatch.</div><div class='del'>-</div><div class='del'>-Sun Jun 28 12:07:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class_id_under): raise TypeError exception</div><div class='del'>-	  same as ruby level class definition when superclass mismatch.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 19:02:03 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (makeport): close the TCPServer</div><div class='del'>-	  when sending the port fails.</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb: test for above.</div><div class='del'>-</div><div class='del'>-Fri Jun 26 12:48:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (load_transcoder_entry): fix transcoder loading race</div><div class='del'>-	  condition, by waiting in require.  [ruby-dev:49106] [Bug #11277]</div><div class='del'>-</div><div class='del'>-Fri Jun 26 07:53:56 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax): simplify return value creation</div><div class='del'>-	* test/ruby/test_enum.rb: test behavior on empty</div><div class='del'>-	* hash.c (rb_hash_fetch_m): remove unnecessary volatile since r41597</div><div class='del'>-	  (env_reject_bang): trade volatile for GC guard</div><div class='del'>-	  (env_select): ditto</div><div class='del'>-	  (env_select_bang): ditto</div><div class='del'>-	  (env_keep_if): ditto</div><div class='del'>-	  (rb_env_clear): ditto</div><div class='del'>-</div><div class='del'>-Thu Jun 25 21:24:28 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/popen_deadlock/test_popen_deadlock.rb: test [Bug #11265]</div><div class='del'>-</div><div class='del'>-	* ext/-test-/popen_deadlock/infinite_loop_dlsym.c: new ext to call</div><div class='del'>-	  dlsym(3) infinitely without GVL, used in the above test.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/popen_deadlock/extconf.rb: extconf.rb for the above</div><div class='del'>-	  ext. Currently, only enabled on Solaris (main target) and Linux</div><div class='del'>-	  (as a reference platform and for debugging the ext).</div><div class='del'>-</div><div class='del'>-Thu Jun 25 19:24:25 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: not to use vfork on Solaris to avoid deadlock</div><div class='del'>-	  occurred in vfork(2) with multi-threading and dynamic linker</div><div class='del'>-	  on Solaris. [Bug #11265] [ruby-dev:49089]</div><div class='del'>-</div><div class='del'>-Thu Jun 25 18:25:41 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb (Test::Unit::Assertions#assert_no_memory_leak):</div><div class='del'>-	  NO_MEMORY_LEAK_ENVS is moved to Memory::NO_MEMORY_LEAK_ENVS</div><div class='del'>-	  to reduce child executions during test-all on Solaris.</div><div class='del'>-</div><div class='del'>-	* test/lib/memory_status.rb (Memory::NO_MEMORY_LEAK_ENVS): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 17:32:33 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_create): need to call</div><div class='del'>-	  method_definition_reset() if def is given.</div><div class='del'>-</div><div class='del'>-	  Actually, `me' is a new object, so we don't need to call it.</div><div class='del'>-	  It is just to make sure.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (method_definition_reset): remove duplicated insertion.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_clone): assign dst-&gt;def here,</div><div class='del'>-	  not in method_definition_reset().</div><div class='del'>-</div><div class='del'>-Thu Jun 25 16:44:54 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: make a rb_method_definition_t data (def) *after* making</div><div class='del'>-	  a rb_method_entry_t data (me).</div><div class='del'>-</div><div class='del'>-	  Normally, `me' points `def'. Some Ruby objects pointed from `def'</div><div class='del'>-	  and objects are marked by `me' (mark_method_entry() in gc.c).</div><div class='del'>-	  However, `def' is built before making a `me', then nobody can mark</div><div class='del'>-	  objects pointed from `def' before making (and pointing from) `me'.</div><div class='del'>-</div><div class='del'>-	  I hope this patch solve #11244.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: remove `rb_' prefix from some static functions.</div><div class='del'>-</div><div class='del'>-	* method.h (rb_method_entry_create): constify</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_method_entry): add checking `def' and</div><div class='del'>-	  `def-&gt;body.iseq.iseqptr' availability because they can be NULL.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 14:14:16 2015  takiy33  &lt;takiy33@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb (test_eratosthenes_works_fine_after_timeout):</div><div class='del'>-	  use spaces instead of TABs in ruby codes.  [Fix GH-944]</div><div class='del'>-</div><div class='del'>-Thu Jun 25 07:08:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info, method_type_name): show method type name in a string</div><div class='del'>-	  instead of a number.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 06:49:25 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): show more details for T_IMEMO/imemo_ment.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 06:40:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_reset): need a WB for</div><div class='del'>-	  VM_METHOD_TYPE_ATTRSET.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 03:33:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RGENGC_OBJ_INFO, obj_info): add a macro to enable/disable</div><div class='del'>-	  rich obj_info() output.</div><div class='del'>-</div><div class='del'>-	  At the default, the value of RGENGC_OBJ_INFO is</div><div class='del'>-	  (RGENGC_DEBUG | RGENGC_CHECK_MODE).</div><div class='del'>-</div><div class='del'>-	* gc.c (RGENGC_OBJ_INFO): force enable it to debug #11244.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_ptr): print more details with obj_info().</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): remove useless debug prints.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 02:40:33 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal):</div><div class='del'>-	  do not process kwargs in blocking mode</div><div class='del'>-	* test/openssl/test_ssl.rb: test sysread</div><div class='del'>-</div><div class='del'>-Wed Jun 24 16:54:11 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): add additional debug code for #11244.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 16:05:42 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_justify): use RB_GC_GUARD</div><div class='del'>-</div><div class='del'>-Wed Jun 24 14:25:17 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_ptr): add a check code for #11244.</div><div class='del'>-</div><div class='del'>-	  It should be removed later. But we can remain this check</div><div class='del'>-	  because it is only a branch.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 12:49:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring_cstr): new function to make a fstring from</div><div class='del'>-	  a string literal.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fstring_lit): new macro to make a fstring from a</div><div class='del'>-	  string literal.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_strlen_lit): new macro to get the</div><div class='del'>-	  length of a string literal, borrowed from mruby/mruby@e4afd53.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 12:21:16 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: Update documentation for Regexp class.</div><div class='del'>-	  [fix GH-937][ci skip] Patch by @davydovanton</div><div class='del'>-</div><div class='del'>-Wed Jun 24 09:23:03 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (generic_ivar_set): remove FL_ABLE check</div><div class='del'>-	  (gen_ivar_copy): ditto</div><div class='del'>-	  [ruby-core:69715]</div><div class='del'>-</div><div class='del'>-Wed Jun 24 08:28:15 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): reduce stack use</div><div class='del'>-	  [ruby-core:69595] [Feature #11263]</div><div class='del'>-</div><div class='del'>-Tue Jun 23 14:32:42 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_receiver): raise ArgumentError if no receiver</div><div class='del'>-	  is available on this exception object.  [Feature #10881]</div><div class='del'>-</div><div class='del'>-Tue Jun 23 09:48:34 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (check_dirname): avoid volatile, use return value</div><div class='del'>-	  (dir_s_chroot, dir_s_mkdir, dir_s_rmdir): adjust callers</div><div class='del'>-</div><div class='del'>-Tue Jun 23 06:37:10 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_ivar_get): cache member definition in a subclass</div><div class='del'>-	  Thanks to Sokolov Yura aka funny_falcon &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-	  in https://bugs.ruby-lang.org/issues/10585</div><div class='del'>-</div><div class='del'>-Tue Jun 23 04:58:06 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_struct_big_href_hi.rb: new benchmark</div><div class='del'>-	* benchmark/bm_vm2_struct_big_href_lo.rb: ditto</div><div class='del'>-	* benchmark/bm_vm2_struct_big_hset.rb: ditto</div><div class='del'>-	* benchmark/bm_vm2_struct_small_href.rb: ditto</div><div class='del'>-	* benchmark/bm_vm2_struct_small_hset.rb: ditto</div><div class='del'>-	  Thanks to Sokolov Yura aka funny_falcon &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-	  in https://bugs.ruby-lang.org/issues/10585</div><div class='del'>-</div><div class='del'>-Mon Jun 22 18:08:48 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit::Parallel#start_watchdog): removed</div><div class='del'>-	  because it has been meaningless since r36385. [Bug #11288]</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel): delete</div><div class='del'>-	  lines related to the removed start_watchdog method</div><div class='del'>-</div><div class='del'>-Sun Jun 21 23:52:46 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention about Array#bsearch_index and Hash#fetch_values.</div><div class='del'>-</div><div class='del'>-Sun Jun 21 23:46:27 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add a reference to a ticket.</div><div class='del'>-</div><div class='del'>-Sun Jun 21 20:28:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (roomof): extract from type_roomof, and move from</div><div class='del'>-	  bignum.c.</div><div class='del'>-</div><div class='del'>-Sun Jun 21 18:32:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_atomic.h (ATOMIC_PTR_CAS): define by generic CAS macro, not</div><div class='del'>-	  via size_t, to suppress a warning by mingw gcc.</div><div class='del'>-</div><div class='del'>-Sun Jun 21 05:31:41 2015  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c(dump_object): Return empty JSON object when</div><div class='del'>-	  passed object is a special const, instead of SEGV.</div><div class='del'>-	  Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291]</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Sat Jun 20 03:56:58 2015  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb: the list of encoding extension libraries must</div><div class='del'>-	  not include encinit.c itself.  It caused "undefined reference to</div><div class='del'>-	  Init_encinit".</div><div class='del'>-</div><div class='del'>-Sat Jun 20 02:03:53 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_parent_start1): new macro ALWAYS_NEED_ENVP</div><div class='del'>-	  to generate envp_str anytime on Solaris 10 (or earlier version</div><div class='del'>-	  of Solaris) to avoid calling execv() which is async-signal unsafe</div><div class='del'>-	  on Solaris 10. [Bug #11265] [ruby-dev:49089]</div><div class='del'>-</div><div class='del'>-	* process.c (exec_with_sh, proc_exec_cmd): On Solaris 10,</div><div class='del'>-	  because ALWAYS_NEED_ENVP is 1 and envp_str is always generated,</div><div class='del'>-	  execv() in exec_with_sh() and proc_exec_cmd() are never called.</div><div class='del'>-	  To guarantee this, execv() is replaced by a macro to print</div><div class='del'>-	  out error message on Solaris 10.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_sh): Because proc_exec_sh() may be called</div><div class='del'>-	  by rb_proc_exec() with envp_str = Qfalse, execl() is replaced</div><div class='del'>-	  by a macro that calls execle() with "extern char **environ"</div><div class='del'>-	  traditional global variable on Solaris 10.</div><div class='del'>-	  TODO: This may be unsafe and should be changed in the future.</div><div class='del'>-	  Although rb_proc_exec() is not used from inside current version</div><div class='del'>-	  of ruby, it may be called by third-party extensions.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 01:10:13 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention about $SAFE.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 14:53:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): now requires a block direct to</div><div class='del'>-	  this method call.  [ruby-core:69655] [Bug #11283]</div><div class='del'>-</div><div class='del'>-Fri Jun 19 13:54:43 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_mod_define_method): get rid of inadvertent ID</div><div class='del'>-	  creations at error.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 07:58:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: if no with-ext option is given, default to</div><div class='del'>-	  enable everything.  [ruby-dev:49108] [Bug #11280]</div><div class='del'>-</div><div class='del'>-Fri Jun 19 06:30:07 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb: remove a test because $SAFE=2 was</div><div class='del'>-	  obsolete.</div><div class='del'>-</div><div class='del'>-	  Please check btest, too.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 23:51:51 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* bin/erb: $SAFE=3 is obsolete.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 23:45:11 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c: removed needless doc related $SAFE=2</div><div class='del'>-</div><div class='del'>-Thu Jun 18 23:38:07 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_safe_level): fix document.  $SAFE=3 is obsolete.</div><div class='del'>-	  [ci skip]</div><div class='del'>-</div><div class='del'>-Thu Jun 18 23:25:51 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: configure intersection of with-ext and not</div><div class='del'>-	  without-ext, as withouts is no longer true by default if</div><div class='del'>-	  with-ext option is given.  [ruby-dev:49108] [Bug #11280]</div><div class='del'>-</div><div class='del'>-Thu Jun 18 23:20:46 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: $SAFE=2 is now obsolete.</div><div class='del'>-</div><div class='del'>-	* dir.c, ext/fiddle/handle.c, ext/socket/basicsocket.c, file.c</div><div class='del'>-	  gc.c, io.c, process.c, safe.c, signal.c, win32/file.c:</div><div class='del'>-	  removed code for $SAFE=2</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb, test/fiddle/test_handle.rb</div><div class='del'>-	  test/ruby/test_env.rb: removed tests for $SAFE=2.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 22:50:07 2015  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/make_encmake.rb: added --transes and --no-transes options.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 18:24:12 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb: replace sleep with select</div><div class='del'>-</div><div class='del'>-Thu Jun 18 17:59:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_control_frame_id_and_class): remove useless codes.</div><div class='del'>-	  `me' knows ID and owner class.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 16:58:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: constify rb_method_alias_struct::original_me and</div><div class='del'>-	  rb_method_refined_struct::orig_me.</div><div class='del'>-</div><div class='del'>-	* class.c (move_refined_method): use RB_OBJ_WRITE() for</div><div class='del'>-	  me-&gt;def-&gt;body.refined.orig_me.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 14:35:28 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (count_imemo_objects): support imemo_ment.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 13:32:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_receiver): add NameError#receiver method.</div><div class='del'>-	  [Feature #10881]</div><div class='del'>-</div><div class='del'>-Thu Jun 18 10:00:06 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c: removed needless doc related $SAFE=3</div><div class='del'>-</div><div class='del'>-Thu Jun 18 09:59:23 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c: rename old method name for $SAFE=3</div><div class='del'>-</div><div class='del'>-Thu Jun 18 06:02:42 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (get_exception_sym2type, iseq_build_from_ary_body):</div><div class='del'>-	  rely on %+PRIsVALUE instead of calling rb_inspect directly</div><div class='del'>-</div><div class='del'>-Wed Jun 17 20:59:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ENC_MK): needs fake.rb if cross compilation.</div><div class='del'>-	  [ruby-dev:49098] [Bug #11272]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 20:23:29 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/rbconfig/sizeof/extconf.rb: Check __float80.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 15:15:53 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* safe.c (safe_setter): of course, don't have to warn the limitation of</div><div class='del'>-	  $SAFE=3 after it's removed.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 14:29:43 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: $SAFE=3 is now obsolete.</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c, ext/socket/socket.c, ext/socket/tcpsocket.c</div><div class='del'>-	  ext/socket/udpsocket.c, gc.c, object.c, re.c, safe.c: removed code</div><div class='del'>-	  for $SAFE=3</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_method.rb, test/erb/test_erb.rb, test/ruby/test_dir.rb</div><div class='del'>-	  test/ruby/test_file.rb, test/ruby/test_method.rb, test/ruby/test_regexp.rb</div><div class='del'>-	  test/ruby/test_thread.rb: remove tests for $SAFE=3</div><div class='del'>-</div><div class='del'>-Wed Jun 17 12:13:33 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: added contributor name.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 10:57:28 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: accept to use Range object for row selection.</div><div class='del'>-	  contributed by Mitsutaka Mimura.</div><div class='del'>-	  [Feature #11267][ruby-dev:49091]</div><div class='del'>-</div><div class='del'>-Wed Jun 17 09:50:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/servlet.rb (documentation_search, root_search):</div><div class='del'>-	  requires json for JSON.dump and fix sporadic failures due to</div><div class='del'>-	  the loading order.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 19:19:53 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99</div><div class='del'>-	  and x86_64 ABI.</div><div class='del'>-</div><div class='del'>-	* template/sizes.c.tmpl: Relax a pattern for types.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 17:37:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: relax pattern because uncollectible</div><div class='del'>-	  flag and marked flag can be false at major GC.</div><div class='del'>-	  [Bug #10852]</div><div class='del'>-</div><div class='del'>-Tue Jun 16 04:50:44 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_recv): document outbuf</div><div class='del'>-	* ext/socket/unixsocket.c (unix_recvfrom): ditto</div><div class='del'>-	* ext/socket/init.c (rsock_strbuf, recvfrom_locktmp): new functions</div><div class='del'>-	  (rsock_s_recvfrom): support destination buffer as 3rd arg</div><div class='del'>-	  (rsock_s_recvfrom_nonblock): ditto</div><div class='del'>-	* string.c (rb_str_locktmp_ensure): export for internal ext</div><div class='del'>-	* test/socket/test_nonblock.rb: test recv_nonblock</div><div class='del'>-	* test/socket/test_unix.rb: test recv</div><div class='del'>-	  [ruby-core:69543] [Feature #11242]</div><div class='del'>-</div><div class='del'>-Tue Jun 16 04:38:02 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal,</div><div class='del'>-	  bsock_recvmsg_internal):</div><div class='del'>-	  support "exception: false" kwarg</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom_nonblock):</div><div class='del'>-	  ditto</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom_nonblock): use rsock_opt_false_p</div><div class='del'>-	* ext/socket/socket.c (sock_connect_nonblock): ditto</div><div class='del'>-	* ext/socket/rubysocket.h (rsock_opt_false_p): new function</div><div class='del'>-	* ext/socket/basicsocket.c (bsock_recv_nonblock): update rdoc</div><div class='del'>-	* ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto</div><div class='del'>-	* test/socket/test_nonblock.rb: new tests</div><div class='del'>-	  [ruby-core:69542] [Feature #11229]</div><div class='del'>-</div><div class='del'>-Mon Jun 15 14:33:02 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb: Make Set#each and SortedSet#each generate a sized</div><div class='del'>-	  enumerator. [GH-931] by kachick (Kenichi Kamiya)</div><div class='del'>-</div><div class='del'>-	* test/test_set.rb: Import tests from Set into SortedSet. [GH-931]</div><div class='del'>-	  by kachick (Kenichi Kamiya)</div><div class='del'>-</div><div class='del'>-Mon Jun 15 02:26:34 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#connect): use connect_nonblock and</div><div class='del'>-	  io/wait to eliminate timeout use. fix GH-899</div><div class='del'>-</div><div class='del'>-Sat Jun 13 07:21:18 2015  KOSAKI Motohiro  &lt;kosaki.motohiro@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): don't interrupt when last thread</div><div class='del'>-	  exit unless main thread is already exited. Otherwise main thread</div><div class='del'>-	  could be wrongly interrupted when it uses rb_thread_call_without_gvl().</div><div class='del'>-	  Patch by Takehiro Kubo. [Bug #11237][ruby-dev:49044][GH-898]</div><div class='del'>-</div><div class='del'>-	* test/-ext-/gvl/test_last_thread.rb: new test for the above fix.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/gvl/call_without_gvl/call_without_gvl.c: new ext for</div><div class='del'>-	  the above test.</div><div class='del'>-	* ext/-test-/gvl/call_without_gvl/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 15 00:14:33 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb (descend): Blockless form supported.</div><div class='del'>-	  (ascend): Ditto.</div><div class='del'>-	  [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 20:09:25 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_getlocaltime): [DOC] Add examples of valid utc_offset</div><div class='del'>-	  formats.</div><div class='del'>-	  [ruby-core:68306] [Misc #10905] Patch by Charles Korn.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 18:49:56 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (parse_numeric_port): Detect</div><div class='del'>-	  port overflow.</div><div class='del'>-	  (numeric_getaddrinfo): Use parse_numeric_port.</div><div class='del'>-	  numeric_getaddrinfo fails if port is too big now.</div><div class='del'>-	  This makes rb_getaddrinfo invokes the real getaddrinfo()</div><div class='del'>-	  on such condition.</div><div class='del'>-	  This change is related to [ruby-core:69355] [Bug #11179].</div><div class='del'>-</div><div class='del'>-Sun Jun 14 17:26:03 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_chunk_while): New method Enumerable#chunk_while.</div><div class='del'>-	  [ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 17:20:40 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_load_ok): try opening file without gvl not to</div><div class='del'>-	  lock entire process.  [Bug #11060]</div><div class='del'>-</div><div class='del'>-Sun Jun 14 10:43:50 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/runruby.rb: just remove the lines of RUBY_VERSION check and raise</div><div class='del'>-	  instead of replacing the check to `true`, for getting rid of a</div><div class='del'>-	  warning `possibly useless use of true in void context`.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 10:13:55 2015  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo in</div><div class='del'>-	  document. [fix GH-934]</div><div class='del'>-	  Patch by Anton Davydov. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sun Jun 14 10:09:48 2015  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo in</div><div class='del'>-	  document. [fix GH-934]</div><div class='del'>-	  Patch by Anton Davydov. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sun Jun 14 06:24:57 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: add test for IO.binread fd leak.</div><div class='del'>-	  See r50881.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 05:23:51 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_binread): close fd if seek offset is invalid.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 04:40:32 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/leakchecker.rb (check): refactor.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 04:34:14 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/leakchecker.rb: Return false for no leaks.</div><div class='del'>-	  Otherwise the GC could run for nothing.</div><div class='del'>-</div><div class='del'>-Sun Jun 14 04:15:40 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Jun 13 20:28:14 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat_ino): get inode from the interval of struct st.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (stati64_set_inode): get nFileIndexHigh/Low, and set it</div><div class='del'>-	  to the interval of struct st as inode.</div><div class='del'>-	  [Feature #11216]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (stati64_set_inode_handle): call stati64_set_inode.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_fstati64): call stati64_set_inode_handle.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (stati64_handle): call stati64_set_inode.</div><div class='del'>-</div><div class='del'>-Sat Jun 13 19:44:53 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/depend (.list.chksum): revert a part of r50859, because</div><div class='del'>-	  it was not mentioned at its commit log and it caused a build error on</div><div class='del'>-	  Windows ($(MAKE) is already quoted).</div><div class='del'>-</div><div class='del'>-Sat Jun 13 17:35:11 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_thread_t): add th-&gt;name.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init): initialize th-&gt;name.</div><div class='del'>-</div><div class='del'>-	* thread.c (Init_Thread): add Thread.name and name=. [Feature #11251]</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_inspect): show thread's name if set.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_getname): defined.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_setname): ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 13 11:39:43 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: Fix typo. [fix GH-933] Patch by @Zorbash</div><div class='del'>-</div><div class='del'>-Sat Jun 13 11:38:00 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: fix documentation on ocsp response cert status.</div><div class='del'>-	  [fix GH-932] Patch by @chrisholmes</div><div class='del'>-</div><div class='del'>-Sat Jun 13 11:35:19 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.gemspec: Fix require paths for released gem.</div><div class='del'>-	  [fix GH-929] Patch by @voxik</div><div class='del'>-	* ext/io/console/io-console.gemspec: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun 13 00:45:08 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Return sized enumerators.</div><div class='del'>-	  Patch by Kenichi Kamiya [GH-931]</div><div class='del'>-</div><div class='del'>-Sat Jun 13 00:45:06 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Fix with_object with no block given</div><div class='del'>-</div><div class='del'>-Sat Jun 13 00:44:59 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Have with_index accept an offset parameter.</div><div class='del'>-	  Based on patch by T Yamada. [#11007]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 22:21:12 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_extlibs.rb (TestExtLibs::check_existence): fix</div><div class='del'>-	  error. [Bug #11255] [ruby-dev:49079]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 21:17:46 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_{un,}pack): new template character `j` and `J`, pointer</div><div class='del'>-	  with signed and unsigned integers.</div><div class='del'>-</div><div class='del'>-	* NEWS: mention about this feature.</div><div class='del'>-	  [Feature #11215] [ruby-dev:49015]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 21:01:44 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (File::SHARE_DELETE): new flag to be able to delete opened file</div><div class='del'>-	  on Windows.</div><div class='del'>-</div><div class='del'>-	* include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_{w,}open): support above flag.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-	* NEWS: mention about this feature.</div><div class='del'>-	  [Feature #11218] [ruby-dev:49022]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 18:21:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: added missing commit message.</div><div class='del'>-</div><div class='del'>-Fri Jun 12 18:20:37 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sample/exyacc.rb: Fix some typos. [fix GH-927] Patch by @davydovanton</div><div class='del'>-	* sample/list.rb: ditto.</div><div class='del'>-	* sample/trick2013/kinaba/remarks.markdown: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun 12 17:34:14 2015  Wojciech Mach  &lt;wojtek@wojtekmach.pl&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_fetch_values): add `Hash#fetch_values`.</div><div class='del'>-	  [Feature #10017] [Fix GH-776]</div><div class='del'>-</div><div class='del'>-Fri Jun 12 16:28:17 2015  Radan Skoric  &lt;radan.skoric@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_bsearch_index): Implement Array#bsearch_index</div><div class='del'>-	  method, which is similar to bsearch and returns the index or</div><div class='del'>-	  nil.  [Feature #10730]</div><div class='del'>-</div><div class='del'>-Thu Jun 11 19:11:22 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: Fix indentation for rdoc.</div><div class='del'>-	  [Bug #11221][ruby-core:69465]</div><div class='del'>-</div><div class='del'>-Thu Jun 11 16:23:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (METHOD_ENTRY_BASIC_SET): fix last commit (unbalanced parens).</div><div class='del'>-</div><div class='del'>-Thu Jun 11 15:14:16 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: define SET_THREAD_NAME if it has pthread_set_name_np</div><div class='del'>-	  for FreeBSD, and don't define it if both pthread_setname_np</div><div class='del'>-	  and pthread_set_name_np don't exist.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (SET_THREAD_NAME): don't define if they don't exist.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (native_set_thread_name): run if SET_THREAD_NAME</div><div class='del'>-	  is defined.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 15:53:31 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h (METHOD_ENTRY_BASIC_SET): should clear last bit.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 14:34:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: bump version to 2.4.7 and 2.4.8. these versions fixed</div><div class='del'>-	  CVE-2015-3900.</div><div class='del'>-	* lib/rubygems/remote_fetcher.rb: ditto.</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb: added testcase for CVE-2015-3900</div><div class='del'>-</div><div class='del'>-Thu Jun 11 14:18:51 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: bump version to 2.4.6. It's missing change at r49774.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 13:50:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_push): check if array size will</div><div class='del'>-	  exceed maximum size to get rid of buffer overflow.</div><div class='del'>-	  [ruby-dev:49043] [Bug #11235]</div><div class='del'>-</div><div class='del'>-	* array.c (ary_ensure_room_for_unshift, rb_ary_splice): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 13:17:34 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_cmath.rb (TestCMath#test_trigonometric_functions): should</div><div class='del'>-	  not compare float values (in complex values) by `==`.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 08:52:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: embed rb_method_entry_t::attr::flags (5 bits) into</div><div class='del'>-	  rb_method_entry_t::flags to make one word spare space.</div><div class='del'>-</div><div class='del'>-	  Add some macros to access these flags.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: use these macros.</div><div class='del'>-</div><div class='del'>-	* internal.h: define IMEMO_FL_USHIFT and IMEMO_FL_USER[0-4]</div><div class='del'>-	  for T_IMEMO local flags.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 08:27:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: use VM_ASSERT instead of assert().</div><div class='del'>-</div><div class='del'>-	* vm_args.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 08:16:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: define VM_ASSERT() for assertion</div><div class='del'>-	  enabled only when (VM_CHECK_MODE &gt; 0).</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: move definition VM_CHECK_MODE</div><div class='del'>-	  from vm_insnhelper.c to vm_core.h.</div><div class='del'>-</div><div class='del'>-	* vm.c: remove &lt;assert.h&gt;</div><div class='del'>-</div><div class='del'>-Thu Jun 11 06:46:07 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (check_frame): check type of cref_or_me first.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 04:34:39 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_cmath.rb: Add some assertions.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 00:34:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: expanded macro result may have spaces</div><div class='del'>-	  between tokens.  [ruby-dev:49047] [Bug #11243]</div><div class='del'>-</div><div class='del'>-Wed Jun 10 22:27:32 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: revert r50804 because of build failure when specifying</div><div class='del'>-	  LDFLAGS during configure, observed on Solaris with GCC 4.6.</div><div class='del'>-	  [Bug #11245]</div><div class='del'>-</div><div class='del'>-Wed Jun 10 21:59:51 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja.md: fix markup miss.</div><div class='del'>-</div><div class='del'>-Wed Jun 10 11:06:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: turn into erb template from autoconf</div><div class='del'>-	  template to fake more accurately.</div><div class='del'>-</div><div class='del'>-	* common.mk (fake.rb): needs preprocessed file now.</div><div class='del'>-</div><div class='del'>-	* version.c (Init_version): add dummy expression to</div><div class='del'>-	  RUBY_ENGINE_VERSION.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 12:31:25 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Simplify and optimize EratosthenesSieve</div><div class='del'>-</div><div class='del'>-Tue Jun  9 11:45:00 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Simplify and optimize EratosthenesSieve</div><div class='del'>-	  based on patch by Ajay Kumar. [Fixes GH-921]</div><div class='del'>-</div><div class='del'>-Mon Jun  8 05:09:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): print method id for T_IMEMO/ment.</div><div class='del'>-</div><div class='del'>-Sun Jun  7 07:05:43 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Move test cases from test/ruby/test_complex.rb to test/test_cmath.rb</div><div class='del'>-</div><div class='del'>-Sat Jun  6 18:23:41 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: back to share rb_method_definition_t by</div><div class='del'>-	  rb_method_entry_t.</div><div class='del'>-</div><div class='del'>-	  r50728 changed sharing `def's to isolating `def's</div><div class='del'>-	  on alias and so on. However, this change conflicts</div><div class='del'>-	  future improvement plan. So I change back to sharing approach.</div><div class='del'>-</div><div class='del'>-	* method.h: move rb_method_definition_t::flags to</div><div class='del'>-	  rb_method_entry_t::attr::flags.</div><div class='del'>-</div><div class='del'>-	  rb_method_entry_t::attr is union with VALUE because this field</div><div class='del'>-	  should have same size of VALUE. rb_method_entry_t is T_IMEMO).</div><div class='del'>-</div><div class='del'>-	  And also add the following access macros to it's fields.</div><div class='del'>-</div><div class='del'>-	  * METHOD_ENTRY_VISI(me)</div><div class='del'>-	  * METHOD_ENTRY_BASIC(me)</div><div class='del'>-	  * METHOD_ENTRY_SAFE(me)</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_addref): added instead of</div><div class='del'>-	  rb_method_definition_clone().</div><div class='del'>-</div><div class='del'>-	  Do not create new definition, but increment alias_count.</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry_i): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_missing): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jun  6 15:59:38 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: ins_methods_push() needs rb_method_visibility_t type on</div><div class='del'>-	  2nd arg.</div><div class='del'>-</div><div class='del'>-Sat Jun  6 15:05:47 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_push): Change type and name of parameters</div><div class='del'>-	  to make more clear.</div><div class='del'>-</div><div class='del'>-Sat Jun  6 08:52:13 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_nonblock.rb: try to avoid EMSGSIZE</div><div class='del'>-	  [ruby-core:69466]</div><div class='del'>-</div><div class='del'>-Sat Jun  6 07:58:30 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove struct mark_tbl_arg and pass objspace directly</div><div class='del'>-	  to avoid indirect access overhead.</div><div class='del'>-</div><div class='del'>-Sat Jun  6 07:08:45 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): drop redundant assignment</div><div class='del'>-</div><div class='del'>-Sat Jun  6 01:00:06 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): all arguments are</div><div class='del'>-	  parsed even on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL</div><div class='del'>-	  to prevent SEGV caused by passing Qnil to RARRAY_LENINT and</div><div class='del'>-	  to preserve behavior before r50776.</div><div class='del'>-	  [Bug #11224] [ruby-core:69468] [Bug #11225] [ruby-core:69469]</div><div class='del'>-</div><div class='del'>-Fri Jun  5 22:37:42 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_push): change 3rd parameter's type</div><div class='del'>-	  from long to rb_method_visibility_t.</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_i): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry_i): cast to st_data_t instead of `long'.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 20:37:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move definition of rb_cref_t to method.h.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: move definition of rb_scope_visibility_t</div><div class='del'>-	  to method.h.</div><div class='del'>-</div><div class='del'>-	* method.h: change rb_cref_t::scope_visi from VALUE to</div><div class='del'>-	  rb_scope_visibility_t.</div><div class='del'>-	  [Bug #11219]</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_new): accept rb_method_visibility_t directly.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_rewrite_cref): don't use 0,</div><div class='del'>-	  but METHOD_VISI_UNDEF.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_scope_visibility_set): don't need to use cast.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_scope_module_func_set): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 17:27:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): avoid msg_control</div><div class='del'>-	  ptr if msg_controllen is zero to fix portability problems.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 09:17:45 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): fix build error</div><div class='del'>-	  from r50776</div><div class='del'>-</div><div class='del'>-Fri Jun  5 07:05:58 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (sym_wait_readable, sym_wait_writable): declare</div><div class='del'>-	  (io_getpartial): use sym_wait_readable</div><div class='del'>-	  (io_write_nonblock): use sym_wait_writable</div><div class='del'>-	  (Init_IO): initialize sym_wait_*able</div><div class='del'>-</div><div class='del'>-Fri Jun  5 06:43:00 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: note rb_get_kwargs changes keywords_hash</div><div class='del'>-	  [ruby-core:68507]</div><div class='del'>-</div><div class='del'>-Fri Jun  5 05:50:29 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal): use rb_scan_args</div><div class='del'>-	  [ruby-core:69439] [Feature #11207]</div><div class='del'>-</div><div class='del'>-Fri Jun  5 02:20:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb (assert_no_memory_leak): change default value</div><div class='del'>-	  of limit from 1.5 to 2.0. It is ad-hoc fix to solve test failure</div><div class='del'>-	  in travis-ci.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 01:17:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_defined): no need to use cast.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 01:14:02 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_defined): show additional messages on rb_bug().</div><div class='del'>-</div><div class='del'>-Fri Jun  5 01:06:02 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_add_method_iseq): use intermediate struct to</div><div class='del'>-	  avoid initializing struct with variables.</div><div class='del'>-	  [Bug #11217]</div><div class='del'>-</div><div class='del'>-	* method.h: add a comment about it.</div><div class='del'>-</div><div class='del'>-Fri Jun  5 00:55:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: constify rb_method_refined_t::orig_me.</div><div class='del'>-</div><div class='del'>-	  Also constify the following functions.</div><div class='del'>-</div><div class='del'>-	  * rb_resolve_refined_method()</div><div class='del'>-	  * rb_method_entry_with_refinements()</div><div class='del'>-	  * rb_method_entry_without_refinements()</div><div class='del'>-	  * rb_method_entry_copy()'s parameter.</div><div class='del'>-</div><div class='del'>-	* class.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 12:47:54 SGT 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Revert r50763. because "reentered" is not typo.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 11:12:29 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton</div><div class='del'>-	  [fix GH-923]</div><div class='del'>-	* include/ruby/st.h: ditto.</div><div class='del'>-	* include/ruby/util.h: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 10:54:30 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: fix a typo. Patch by @manish-shrivastava</div><div class='del'>-	  [fix GH-922]</div><div class='del'>-</div><div class='del'>-Thu Jun  4 09:52:02 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: use io/nonblock instead of fcntl</div><div class='del'>-	  [ruby-core:69382] [Feature #11190]</div><div class='del'>-</div><div class='del'>-Thu Jun  4 07:22:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: introduce rb_method_refined_t for refined method entry.</div><div class='del'>-</div><div class='del'>-	* class.c (move_refined_method): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_method_entry): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 07:12:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dirent_match): match short names only when FNM_SHORTNAME</div><div class='del'>-	  flag is given, for the backward compatibility, and the new</div><div class='del'>-	  behavior is often dangerous.  [ruby-core:69435] [Bug #11206]</div><div class='del'>-</div><div class='del'>-Thu Jun  4 05:44:01 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (special_generic_ivar): remove flag</div><div class='del'>-	  (givar_i, rb_mark_generic_ivar_tbl): remove functions</div><div class='del'>-	  (rb_free_generic_ivar, rb_ivar_lookup, rb_ivar_delete,</div><div class='del'>-	   generic_ivar_set, rb_ivar_set, rb_ivar_defined,</div><div class='del'>-	   rb_copy_generic_ivar, rb_ivar_foreach, rb_ivar_count,</div><div class='del'>-	   rb_obj_remove_instance_variable):</div><div class='del'>-	   adjust for lack of ivar support in special constants</div><div class='del'>-	* test/ruby/test_variable.rb: test ivars for special consts</div><div class='del'>-	* internal.h: remove rb_mark_generic_ivar_tbl decl</div><div class='del'>-	* gc.c (gc_mark_roots): remove rb_mark_generic_ivar_tbl call</div><div class='del'>-	  [ruby-core:69441] [Feature #11208]</div><div class='del'>-</div><div class='del'>-Thu Jun  4 05:13:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (def_iseq_ptr): `iseqval' is not available any more.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 04:50:12 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry_i): mtbl should not have `me' as NULL.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 04:28:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): do not use me-&gt;klass, but use explicitly</div><div class='del'>-	  passed argument.</div><div class='del'>-</div><div class='del'>-Thu Jun  4 04:10:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_rewrite_cref_stack): rename to rb_vm_rewrite_cref().</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): use renamed name.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_rewrite_cref): do not use `node' in variable</div><div class='del'>-	  names.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 23:03:50 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: rename `rb_frame_...' to `rb_scope_...'.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: move decl. of rb_scope_visibility_set() to method.h.</div><div class='del'>-</div><div class='del'>-	* load.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 21:14:20 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/rbconfig/sizeof/extconf.rb: Check C99 standard integer types.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 21:00:47 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Don't check __int128.</div><div class='del'>-</div><div class='del'>-	* ext/rbconfig/sizeof/extconf.rb: Check __int128.</div><div class='del'>-</div><div class='del'>-	* ext/rbconfig/sizeof/depend: sizes.c depends on</div><div class='del'>-	  ext/rbconfig/sizeof/extconf.rb.</div><div class='del'>-</div><div class='del'>-	* template/sizes.c.tmpl: Detect check_sizeof.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 20:07:07 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): remove redundant check for me-&gt;def != NULL.</div><div class='del'>-	  Now, all `me` have `me-&gt;def`.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_location): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_check_redefinition_opt_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (add_opt_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 19:24:12 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename enum missing_reason to enum method_missing_reason.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: use enum method_missing_reason for</div><div class='del'>-	  rb_thread_t::method_missing_reason.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 16:17:21 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: eagerly allocate `loading_table`.  This eliminates the need to</div><div class='del'>-	  do NULL checks when looking up the `loading_table` hash.</div><div class='del'>-	  https://github.com/ruby/ruby/pull/918</div><div class='del'>-</div><div class='del'>-	* load.c: remove various NULL checks</div><div class='del'>-</div><div class='del'>-Wed Jun  3 11:47:15 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: change fields order to gather frequent access fields.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): add LIKELY().</div><div class='del'>-</div><div class='del'>-Wed Jun 03 10:35:45 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: split rb_method_definition_t::flag to several flags.</div><div class='del'>-</div><div class='del'>-	  `flag' contains several categories of attributes and it makes us</div><div class='del'>-	  confusion (at least, I had confused).</div><div class='del'>-</div><div class='del'>-	  * rb_method_visibility_t (flags::visi)</div><div class='del'>-	    * NOEX_UNDEF     -&gt; METHOD_VISI_UNDEF     = 0</div><div class='del'>-	    * NOEX_PUBLIC    -&gt; METHOD_VISI_PUBLIC    = 1</div><div class='del'>-	    * NOEX_PRIVATE   -&gt; METHOD_VISI_PRIVATE   = 2</div><div class='del'>-	    * NOEX_PROTECTED -&gt; METHOD_VISI_PROTECTED = 3</div><div class='del'>-	  * NOEX_SAFE(flag)  -&gt; safe (flags::safe, 3 bits)</div><div class='del'>-	  * NOEX_BASIC       -&gt; basic (flags::basic, 1 bit)</div><div class='del'>-	  * NOEX_MODFUNC     -&gt; rb_scope_visibility_t in CREF</div><div class='del'>-	  * NOEX_SUPER       -&gt; MISSING_SUPER (enum missing_reason)</div><div class='del'>-	  * NOEX_VCALL       -&gt; MISSING_VCALL (enum missing_reason)</div><div class='del'>-	  * NOEX_RESPONDS    -&gt; BOUND_RESPONDS (macro)</div><div class='del'>-</div><div class='del'>-	  Now, NOEX_NOREDEF is not supported (I'm not sure it is needed).</div><div class='del'>-</div><div class='del'>-	  Background:</div><div class='del'>-	    I did not know what "NOEX" stands for.</div><div class='del'>-	    I asked Matz (who made this name) and his answer was "Nothing".</div><div class='del'>-	    "At first, it meant NO EXport (private), but the original</div><div class='del'>-	    meaning was gone."</div><div class='del'>-	    This is why I remove the mysterious word "NOEX" from MRI.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: introduce `enum missing_reason' to represent</div><div class='del'>-	  method_missing (NoMethodError) reason.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: introduce rb_scope_visibility_t to represent</div><div class='del'>-	  scope visibility.</div><div class='del'>-	  It has 3 method visibilities (public/private/protected)</div><div class='del'>-	  and `module_function`.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 08:06:30 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem/bundled_gems: updated to test-unit 3.1.1 and minitest 5.7.0.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 04:48:05 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_defined): check respond_to_missing?</div><div class='del'>-	  at defined?(func()).</div><div class='del'>-	  [Bug #11212]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_defined.rb: add a test for this fix.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 04:34:39 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_defined): skip respond_to_missing? when</div><div class='del'>-	  a method is available.</div><div class='del'>-	  [Bug #11211]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_defined.rb: add a test for this fix.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 04:14:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defined), vm_insnhelper.c (vm_defined):</div><div class='del'>-	  move instruction body to the vm_defined() function.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 02:29:25 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: Do not assume class variable order.</div><div class='del'>-	  Patch by @enebo.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 01:10:38 2015  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_set): remove a double assignment.</div><div class='del'>-	  Coverity Scan found this bug.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 00:04:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): rename parameter names.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 23:27:18 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: remove rb_method_iseq_t::iseqval.</div><div class='del'>-	  While making a r50728, iseqval is needed (to mark correctly),</div><div class='del'>-	  but now just iseqptr is enough.</div><div class='del'>-</div><div class='del'>-	* class.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 21:29:28 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_curry): remove a debug line.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 12:43:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: make rb_method_entry_t a VALUE.</div><div class='del'>-	  Motivation and new data structure are described in [Bug #11203].</div><div class='del'>-</div><div class='del'>-	  This patch also solve the following issues.</div><div class='del'>-</div><div class='del'>-	  * [Bug #11200] Memory leak of method entries</div><div class='del'>-	  * [Bug #11046] __callee__ returns incorrect method name in orphan</div><div class='del'>-	                 proc</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add a test for [Bug #11046].</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_control_frame_t::me. me is located at value</div><div class='del'>-	  stack.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, gc.c, vm_method.c: remove unlinked_method... codes</div><div class='del'>-	  because method entries are simple VALUEs.</div><div class='del'>-</div><div class='del'>-	* method.h: Now, all method entries has own independent method</div><div class='del'>-	  definitions. Strictly speaking, this change is not essential,</div><div class='del'>-	  but for future changes.</div><div class='del'>-</div><div class='del'>-	  * rb_method_entry_t::flag is move to rb_method_definition_t::flag.</div><div class='del'>-	  * rb_method_definition_t::alias_count is now</div><div class='del'>-	    rb_method_definition_t::alias_count_ptr, a pointer to the counter.</div><div class='del'>-</div><div class='del'>-	* vm_core.h, vm_insnhelper.c (rb_vm_frame_method_entry) added to</div><div class='del'>-	  search the current method entry from value stack.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (VM_CHECK_MODE): introduced to enable/disable</div><div class='del'>-	  assertions.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 10:46:36 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_nonblock.rb: new test for sendmsg_nonblock</div><div class='del'>-</div><div class='del'>-Tue Jun  2 09:04:14 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: just use Process::CLOCK_MONOTONIC</div><div class='del'>-	  [ruby-core:69390]</div><div class='del'>-</div><div class='del'>-Mon Jun  1 22:01:27 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (pkg_config): split --libs if --libs-only-l option</div><div class='del'>-	  is not available.  patch in [ruby-core:69428] by Hans Mackowiak.</div><div class='del'>-	  [ruby-core:69421] [Bug #11201]</div><div class='del'>-</div><div class='del'>-Mon Jun  1 21:18:24 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): remove a garbage character</div><div class='del'>-	  introduced at the last commit.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 19:24:42 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_make): do not show warning message</div><div class='del'>-	  when method_entry is an alias.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 15:47:16 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move class related definitions.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 15:43:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c: remove needless include pragma for method.h.</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 05:42:00 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm_method.c: move macros to functions.</div><div class='del'>-	  * SCOPE_TEST(f)  -&gt; rb_frame_visibility_test(flag).</div><div class='del'>-	  * SCOPE_CHECK(f) -&gt; rb_frame_visibility_check(flag).</div><div class='del'>-	  * SCOPE_SET(f)   -&gt; rb_frame_visibility_set(flag).</div><div class='del'>-</div><div class='del'>-	* load.c (load_ext): use it.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 04:47:37 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [DOC] Add comparison of Time and DateTime</div><div class='del'>-	  Patch provided by @pixeltrix</div><div class='del'>-</div><div class='del'>-Mon Jun  1 04:22:09 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_FRAME_MAGIC_DUMMY): introduce new frame type to</div><div class='del'>-	  recognize dummy frame.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_init): use new frame type.</div><div class='del'>-</div><div class='del'>-	* vm_args.c (raise_argument_error): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 04:15:42 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_class_has_methods): added to reduce dependency</div><div class='del'>-	  to internal class data structure.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (has_extra_methods): use added function.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 04:11:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c , gc.h (rb_obj_info): export obj_info(VALUE) for debugging.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 03:52:55 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: increase timeout seconds for GC stressful</div><div class='del'>-	  debugging.</div><div class='del'>-</div><div class='del'>-Sun May 31 04:18:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: fix typo of comments.</div><div class='del'>-</div><div class='del'>-Sun May 31 03:36:42 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: add VM_METHOD_TYPE_ALIAS rb_method_definition_t::type</div><div class='del'>-	  to fix [Bug #11173].</div><div class='del'>-</div><div class='del'>-	  Now, inter class/method alias creates new method entry</div><div class='del'>-	  VM_METHOD_TYPE_ALIAS, which has an original method entry.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (find_defined_class_by_owner): added.</div><div class='del'>-	  Search corresponding defined_class from owner class/module.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry_get_without_cache): return me-&gt;klass</div><div class='del'>-	  directly for defined_class.</div><div class='del'>-</div><div class='del'>-	  Now, no need to check me-&gt;klass any more.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (method_entry_set0): separated from method_entry_set().</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): make method entry has VM_METHOD_TYPE_ALIAS.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (release_method_definition): support VM_METHOD_TYPE_ALIAS.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_hash_method_definition): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_definition_eq): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c (release_method_definition): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_method_cfunc_entry): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_method_entry): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (method_def_iseq): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (method_cref): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_entry_min_max_arity): ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: add tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: fix a test to catch up current behavior.</div><div class='del'>-</div><div class='del'>-Sun May 31 03:34:25 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_unlink_method_entry): make it static.</div><div class='del'>-</div><div class='del'>-Sun May 31 03:26:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h, vm_method.c (rb_free_method_entry): constify a parameter.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove useless declaration about rb_unlink_method_entry().</div><div class='del'>-</div><div class='del'>-Sat May 30 18:05:02 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Remover#call): fixed wrong condition.  introduced at</div><div class='del'>-	  r50682.</div><div class='del'>-</div><div class='del'>-Sat May 30 16:12:35 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile</div><div class='del'>-	  [ruby-core:69419] [Feature #11198]</div><div class='del'>-</div><div class='del'>-Sat May 30 15:59:10 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): initialize @unlinked to fix</div><div class='del'>-	  test failures introduced at r50682.  I hope that check the results of</div><div class='del'>-	  tests before committing, at least the tests about the changed feature.</div><div class='del'>-</div><div class='del'>-Sat May 30 11:02:55 2015  Martin Englund &lt;martin@englund.nu&gt;</div><div class='del'>-</div><div class='del'>-	* doc/dtrace_probes.rdoc: change lingering dtrace probe documentation</div><div class='del'>-	  from function- to method-</div><div class='del'>-</div><div class='del'>-Sat May 30 10:26:09 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: refactoring.</div><div class='del'>-	  * use warn instead of STDERR.print</div><div class='del'>-	  * remove @tmpname and use @tmpfile.path</div><div class='del'>-	  * introduce @unlinked flag</div><div class='del'>-	  * Remover takes only @tmpfile</div><div class='del'>-	  * mode will be modified just before file reopen</div><div class='del'>-</div><div class='del'>-Sat May 30 09:02:51 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_generic_ivar_table): deprecate</div><div class='del'>-	* internal.h (rb_attr_delete): declare</div><div class='del'>-	* marshal.c (has_ivars): use rb_ivar_foreach</div><div class='del'>-	  (w_ivar): ditto</div><div class='del'>-	  (w_object): update for new interface</div><div class='del'>-	* time.c (time_mload): use rb_attr_delete</div><div class='del'>-	* variable.c (generic_ivar_delete): implement</div><div class='del'>-	  (rb_ivar_delete): ditto</div><div class='del'>-	  (rb_attr_delete): ditto</div><div class='del'>-	  [ruby-core:69323] [Feature #11170]</div><div class='del'>-</div><div class='del'>-Sat May 30 09:14:28 2015  Scott Francis  &lt;scott.francis@shopify.com&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_free): check if ruby_current_thread is still valid.</div><div class='del'>-	  [Fix GH-914]</div><div class='del'>-</div><div class='del'>-Sat May 30 08:36:04 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (static int special_generic_ivar): move</div><div class='del'>-	  (rb_generic_ivar_table): rewrite for compatibility</div><div class='del'>-	  (gen_ivtbl_bytes): new function</div><div class='del'>-	  (generic_ivar_get): update to use ivar index</div><div class='del'>-	  (generic_ivar_update): ditto</div><div class='del'>-	  (generic_ivar_set): ditto</div><div class='del'>-	  (generic_ivar_defined): ditto</div><div class='del'>-	  (generic_ivar_remove): ditto</div><div class='del'>-	  (rb_mark_generic_ivar): ditto</div><div class='del'>-	  (givar_i): ditto</div><div class='del'>-	  (rb_free_generic_ivar): ditto</div><div class='del'>-	  (rb_mark_generic_ivar_tbl): ditto</div><div class='del'>-	  (rb_generic_ivar_memsize): ditto</div><div class='del'>-	  (rb_copy_generic_ivar): ditto</div><div class='del'>-	  (rb_ivar_set): ditto</div><div class='del'>-	  (rb_ivar_foreach): ditto</div><div class='del'>-	  (rb_ivar_count): ditto</div><div class='del'>-	  (givar_mark_i): remove</div><div class='del'>-	  (gen_ivtbl_mark): new function</div><div class='del'>-	  (gen_ivar_each): ditto</div><div class='del'>-	  (iv_index_tbl_extend): update for struct ivar_update</div><div class='del'>-	  (iv_index_tbl_newsize): ditto</div><div class='del'>-	  [ruby-core:69323] [Feature #11170]</div><div class='del'>-</div><div class='del'>-Sat May 30 08:10:46 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (iv_index_tbl_make): extract from rb_ivar_set</div><div class='del'>-	  (iv_index_tbl_extend): ditto</div><div class='del'>-	  (iv_index_tbl_newsize): ditto</div><div class='del'>-	  (rb_ivar_set): use extracted functions</div><div class='del'>-	  [ruby-core:69323] (Part 1)</div><div class='del'>-</div><div class='del'>-Fri May 29 17:39:14 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make_hgraph.rb: added.</div><div class='del'>-</div><div class='del'>-Fri May 29 14:39:00 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): out of range NTH_REF is always</div><div class='del'>-	  nil.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_numvar): check overflow of NTH_REF and range.</div><div class='del'>-	  [ruby-core:69393] [Bug #11192]</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_scan_digits): make public and add length parameter.</div><div class='del'>-</div><div class='del'>-Fri May 29 11:18:58 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_sendmsg_internal,</div><div class='del'>-	  bsock_recvmsg_internal):</div><div class='del'>-	  avoid redundant fcntl on Linux</div><div class='del'>-	  [ruby-core:69154] [Feature #11145]</div><div class='del'>-	* ext/socket/init.c (rsock_s_recvfrom_nonblock): ditto</div><div class='del'>-	* ext/socket/rubysocket.h (MSG_DONTWAIT_RELIABLE): new macro</div><div class='del'>-</div><div class='del'>-Fri May 29 10:30:34 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/resolv.rb (request): use monotonic clock</div><div class='del'>-	* lib/net/http.rb (begin_transport, end_transport): ditto</div><div class='del'>-	  [ruby-core:69384] [Feature #11124]</div><div class='del'>-</div><div class='del'>-Fri May 29 04:37:38 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: add two methods to debug internals.</div><div class='del'>-</div><div class='del'>-	  * ObjectSpace.internal_class_of: return RBASIC_CLASS(obj).</div><div class='del'>-	  * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls).</div><div class='del'>-</div><div class='del'>-	* NEWS: add information about both methods.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add tests for both methods.</div><div class='del'>-</div><div class='del'>-Thu May 28 06:55:53 2015  Anton Davydov  &lt;antondavydov.o@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/figmemo_sample.rb (open_file),</div><div class='del'>-	  ext/tk/sample/tktextio.rb (TkTextIO): fix typo in messages.</div><div class='del'>-	  [Fix GH-916]</div><div class='del'>-</div><div class='del'>-Wed May 27 09:50:51 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,</div><div class='del'>-	  ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile</div><div class='del'>-	  [ruby-core:69371] [Bug #11185]</div><div class='del'>-</div><div class='del'>-Wed May 27 09:27:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (set_sockopt): remove redundant fcntl call</div><div class='del'>-	* lib/drb/unix.rb (set_sockopt): ditto</div><div class='del'>-	  [ruby-core:69128] [Feature #11137]</div><div class='del'>-</div><div class='del'>-Tue May 26 22:10:43 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): should resolve refined methods.</div><div class='del'>-	  [ruby-core:69360] [Bug #11182]</div><div class='del'>-</div><div class='del'>-Tue May 26 21:35:13 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): fix condition.</div><div class='del'>-</div><div class='del'>-Mon May 25 22:35:58 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (rel): after the relations is changed,</div><div class='del'>-	  @changesets is no longer right.</div><div class='del'>-</div><div class='del'>-Mon May 25 11:27:14 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (setup_overlapped): seek to the file end only when</div><div class='del'>-	  writing (mode:a), not reading (mode:a+, read).</div><div class='del'>-</div><div class='del'>-Mon May 25 00:27:37 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Numeric#negative?): [DOC] Fix call-seq.</div><div class='del'>-	  Patch by @yui-knk. [Fixes GH-908]</div><div class='del'>-</div><div class='del'>-Sun May 24 01:35:22 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_debug_print_id): use rb_id2name() for fprintf().</div><div class='del'>-</div><div class='del'>-Sat May 23 18:38:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/*.1: updated dates in man pages.</div><div class='del'>-	  [ruby-dev:48988] [Bug #11171]</div><div class='del'>-</div><div class='del'>-Sat May 23 03:10:58 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): should return the count of</div><div class='del'>-	  actually eaten characters, include escape sequences.</div><div class='del'>-</div><div class='del'>-Fri May 22 22:36:14 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Remove obsolete Prime.new</div><div class='del'>-	  patch by Ajay Kumar. [Fixes GH-891]</div><div class='del'>-</div><div class='del'>-Fri May 22 21:13:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_sym_count): move `rb_sym_all_symbols`</div><div class='del'>-	  to a symbol.c specific section.  a part of patch by Lourens</div><div class='del'>-	  Naude.</div><div class='del'>-</div><div class='del'>-Fri May 22 20:56:33 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (f_complex_polar): simple bug reproduced only when y is</div><div class='del'>-	  a float but x is not a float.</div><div class='del'>-</div><div class='del'>-Fri May 22 19:42:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_process): do not discard global escape</div><div class='del'>-	  status.  [ruby-core:69304] [Bug #11166]</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_spawn): extract the start procedure in a</div><div class='del'>-	  parent process with ensuring the end procedure.</div><div class='del'>-</div><div class='del'>-Fri May 22 16:48:32 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added news for net-telnet and rake</div><div class='del'>-</div><div class='del'>-Thu May 21 20:27:07 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DTRACE_POSTPROCESS): cmp -b is GNU extension.</div><div class='del'>-	  darwin uses GNU cmp, and FreeBSD and Solaris are not.</div><div class='del'>-	  Note that accidentally equals to expected result.</div><div class='del'>-</div><div class='del'>-Thu May 21 18:00:19 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c: constify.</div><div class='del'>-</div><div class='del'>-	* iseq.h: ditto.</div><div class='del'>-</div><div class='del'>-	* method.h: ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_method.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu May 21 17:44:53 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: fix issues caused by binding created from Method#to_proc.</div><div class='del'>-	  [Bug #11163]</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_new_toplevel): export as rb_vm_cref_new_toplevel().</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: add some assertions.</div><div class='del'>-</div><div class='del'>-Thu May 21 17:29:26 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: added documentation for Matrix#empty and Matrix#/</div><div class='del'>-	  [Feature #10070][ruby-dev:48433] Patch by @gogotanaka</div><div class='del'>-</div><div class='del'>-Thu May 21 17:02:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: rename functions.</div><div class='del'>-	  * method_get_def() -&gt; method_def()</div><div class='del'>-	  * method_get_iseq() -&gt; method_def_iseq()</div><div class='del'>-	  * method_get_cref() -&gt; method_cref()</div><div class='del'>-</div><div class='del'>-Thu May 21 16:52:44 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_method_get_iseq): rename to rb_method_iseq.</div><div class='del'>-</div><div class='del'>-	* iseq.c: catch up this fix.</div><div class='del'>-</div><div class='del'>-	* iseq.h: commit ditto.</div><div class='del'>-</div><div class='del'>-Thu May 21 15:41:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb: gemify net-telnet.</div><div class='del'>-	  [Feature #11083]</div><div class='del'>-	* gems/bundled_gems: added net-telnet to bundled gems.</div><div class='del'>-</div><div class='del'>-Thu May 21 15:37:32 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: Remove private attribute warning [Bug #10967]</div><div class='del'>-	  Patch by @spastorino [Fixes GH-849]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/849</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: Update test for changes</div><div class='del'>-</div><div class='del'>-Thu May 21 10:59:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (method_proc): rename to method_to_proc.</div><div class='del'>-</div><div class='del'>-Thu May 21 10:51:54 2015  Jake Worth  &lt;jakeworth82@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): [DOC] Fixes for grammar and style.</div><div class='del'>-	  [Fix GH-906]</div><div class='del'>-</div><div class='del'>-Thu May 21 08:25:19 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (Init_var_tables): init generic_iv_tbl</div><div class='del'>-	  (rb_generic_ivar_table, generic_ivar_get, generic_ivar_set,</div><div class='del'>-	   generic_ivar_defined, generic_ivar_remove,</div><div class='del'>-	   rb_mark_generic_ivar, givar_i, rb_mark_generic_ivar_tbl,</div><div class='del'>-	   rb_free_generic_ivar, rb_copy_generic_ivar, rb_ivar_foreach,</div><div class='del'>-	   rb_ivar_count): remove checks for uninitialize generic_iv_tbl</div><div class='del'>-	[ruby-core:69155] [Feature #11146]</div><div class='del'>-</div><div class='del'>-Thu May 21 04:11:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (exception_type2symbol): show correct bug message.</div><div class='del'>-</div><div class='del'>-Wed May 20 23:19:05 2015  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: Fix rdoc-formatting for padding argument.</div><div class='del'>-	  [fix GH-905][ci skip] Patch by @davydovanton</div><div class='del'>-</div><div class='del'>-Wed May 20 13:16:23 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DEPRECATED_BY): deprecate warning with preferable</div><div class='del'>-	  alternative.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_FUNC_ATTRIBUTE): allow attribute arguments in</div><div class='del'>-	  the macro.</div><div class='del'>-</div><div class='del'>-Wed May 20 11:23:24 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_print_backtrace): return value of libexec's backtrace</div><div class='del'>-	  is size_t, so simply cast as int.</div><div class='del'>-</div><div class='del'>-Tue May 19 18:54:41 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): check source type, must be</div><div class='del'>-	  an IO or a String.  [ruby-core:69219] [Bug #11159]</div><div class='del'>-</div><div class='del'>-Tue May 19 17:15:03 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: Update Benchmark documentation and formatting.</div><div class='del'>-	  [fix GH-903][ci skip] Patch by @davydovanton</div><div class='del'>-</div><div class='del'>-Tue May 19 13:10:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_positive_p): should false on Bignum 0.</div><div class='del'>-	  http://twitter.com/rafaelfranca/status/600509783427391488</div><div class='del'>-	  [ruby-core:69173] [Feature #11151]</div><div class='del'>-</div><div class='del'>-Tue May 19 11:22:28 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/rfc2396_parser.rb (initialize_pattern):</div><div class='del'>-	  URI::Generic.build should accept port as a string.</div><div class='del'>-	  pattern[:PORT] is not defined for long.</div><div class='del'>-	  by Dave Slutzkin &lt;daveslutzkin@fastmail.fm&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/804 fix GH-804</div><div class='del'>-</div><div class='del'>-Tue May 19 11:18:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_data_typed_object_alloc),</div><div class='del'>-	  (rb_data_object_alloc): add old names for source level backward</div><div class='del'>-	  compatibilities.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): add</div><div class='del'>-	  aliases for binary level backward compatibilities.</div><div class='del'>-</div><div class='del'>-Tue May 19 09:54:44 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (Data_Make_Struct0): needs function pointer</div><div class='del'>-	  casts to fix function overloading in C++.</div><div class='del'>-</div><div class='del'>-Tue May 19 09:43:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (Data_Make_Struct0, TypedData_Make_Struct0):</div><div class='del'>-	  explicit cast from void* is necessary as implicit cast is</div><div class='del'>-	  disallowed in C++.</div><div class='del'>-</div><div class='del'>-Mon May 18 15:31:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_f_notimplement): should not respond to</div><div class='del'>-	  not-implemented methods.  as the address inside a DLL and the</div><div class='del'>-	  imported address are different on Windows, use an exported</div><div class='del'>-	  variable to share the same address.</div><div class='del'>-</div><div class='del'>-Mon May 18 13:55:01 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb (mon_try_enter, mon_enter): should reset @mon_count</div><div class='del'>-	  just in case the previous owner thread dies without mon_exit.</div><div class='del'>-	  [fix GH-874] Patch by @chrisberkhout</div><div class='del'>-</div><div class='del'>-Sun May 17 17:21:29 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (set_non_blocking): use IO#nonblock=</div><div class='del'>-	* (set_close_on_exec): use IO#close_on_exec=</div><div class='del'>-	  [Feature #11136]</div><div class='del'>-</div><div class='del'>-Sun May 17 15:01:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_positive_p, num_negative_p): add methods</div><div class='del'>-	  Numeric#positive? and Numeric#negative?.</div><div class='del'>-	  [ruby-core:69173] [Feature #11151]</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_positive_p, flo_negative_p): specialized</div><div class='del'>-	  functions for Float.</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex): Complex do not have positive? and</div><div class='del'>-	  negative? methods</div><div class='del'>-</div><div class='del'>-Sun May 17 14:57:42 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb (accept_client): avoid redundant fcntl call</div><div class='del'>-	  [Feature #11137]</div><div class='del'>-</div><div class='del'>-Sun May 17 12:13:33 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (cloexec_accept): support nonblock flag and</div><div class='del'>-	  use SOCK_NONBLOCK if possible</div><div class='del'>-	* ext/socket/init.c (rsock_s_accept_nonblock):</div><div class='del'>-	  update cloexec_accept call</div><div class='del'>-	* ext/socket/init.c (accept_blocking): ditto for blocking</div><div class='del'>-	* test/socket/test_nonblock.rb: check nonblock? on accepted socket</div><div class='del'>-	  [Feature #11138]</div><div class='del'>-</div><div class='del'>-Sun May 17 03:58:59 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (loaded_feature_path): stop returning false negatives for</div><div class='del'>-	  filenames which are trailing substrings of file extensions.  For</div><div class='del'>-	  example, 'b', which a trailing substring of ".rb" should not return</div><div class='del'>-	  false. [Bug #11155][ruby-core:69206]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload.rb: test for fix</div><div class='del'>-</div><div class='del'>-Sat May 16 21:41:24 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: added documentation for character sequence \' with String#sub</div><div class='del'>-	  [Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127</div><div class='del'>-</div><div class='del'>-Sat May 16 21:38:05 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: fix a sample code. Patch by @eagletmt</div><div class='del'>-	  [fix GH-901][ci skip]</div><div class='del'>-</div><div class='del'>-Sat May 16 21:17:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_data_object_wrap, rb_data_typed_object_wrap): rename</div><div class='del'>-	  alloc as wrap.  these functions do not allocate data pointers</div><div class='del'>-	  but just wrap the given pointers.</div><div class='del'>-</div><div class='del'>-Sat May 16 19:59:24 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_accept): simplified.</div><div class='del'>-</div><div class='del'>-Fri May 15 18:28:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_assoc, rb_ary_rassoc): [DOC] the result when key</div><div class='del'>-	  was found is the existing element, not a new array.  reported by</div><div class='del'>-	  Giau Nguyen &lt;giaunv AT nustechnology.com&gt;.</div><div class='del'>-</div><div class='del'>-Fri May 15 08:24:28 2015  Takeyuki FUJIOKA  &lt;xibbar@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/cookie.rb: Implement HttpOnly flag for cookies.</div><div class='del'>-	  [fix GH-887] Patch by @martinpovolny</div><div class='del'>-</div><div class='del'>-Fri May 15 06:54:19 2015  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: Change autoload to call `require` through Ruby rather</div><div class='del'>-	  than directly calling `rb_require_safe`.  This allows things like</div><div class='del'>-	  RubyGems to intercept file loading done though `autoload`.</div><div class='del'>-	  [Feature #11140]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_autoload.rb: Test for change.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 19:18:02 2015  Shota Fukumori (sora_h)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum):</div><div class='del'>-	  Implement Enumerable#grep_v. [Feature #11049]</div><div class='del'>-</div><div class='del'>-Thu May 14 15:54:13 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/lib/pathname.rb: Remove condition of RUBY_VERSION &lt;= 1.9.</div><div class='del'>-	  [Feature #11082]</div><div class='del'>-</div><div class='del'>-Wed May 13 17:10:37 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_to_a): revert r50457.</div><div class='del'>-	  it requires recursion check.</div><div class='del'>-	  then, it doesn't make performance improvement.</div><div class='del'>-	  [Bug #11130] [Feature #9118]</div><div class='del'>-</div><div class='del'>-Wed May 13 11:13:40 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_gvar): separate message for gvar without</div><div class='del'>-	  non-space characters from message for invalid identifiers.</div><div class='del'>-</div><div class='del'>-Tue May 12 22:18:27 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_to_a): fix incompatibility introduced in r50457.</div><div class='del'>-	  [Bug #11130]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb: test for above.</div><div class='del'>-</div><div class='del'>-Tue May 12 17:08:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* method.h: remove unused declaration.</div><div class='del'>-</div><div class='del'>-Mon May 11 10:58:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update minitest-5.6.1 and power_assert-0.2.3.</div><div class='del'>-</div><div class='del'>-Mon May 11 00:20:31 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (Data_Make_Struct, TypedData_Make_Struct):</div><div class='del'>-	  allocate wrapper data object before allocating DATA_PTR to get</div><div class='del'>-	  rid of possible memory leak when the former failed.</div><div class='del'>-</div><div class='del'>-Sun May 10 21:32:45 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): call dmark function for non-NULL</div><div class='del'>-	  pointers only, so that DATA_PTR can be NULL safely now.</div><div class='del'>-</div><div class='del'>-Sun May 10 16:23:58 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_binding): fix segmentation fault on marking phase.</div><div class='del'>-	  envptr of newenvval should not be NULL.</div><div class='del'>-</div><div class='del'>-	  You can reproduce by</div><div class='del'>-	   make test-all TESTS='--gc-stress -n test_to_proc_binding ruby/test_method.rb'</div><div class='del'>-</div><div class='del'>-Sun May 10 12:41:18 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzreader_external_encoding):</div><div class='del'>-	  define GzipReader#external_encoding.</div><div class='del'>-	  [Bug #10900]</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb: test for above.</div><div class='del'>-</div><div class='del'>-Sun May 10 11:57:48 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_variant.c: fix typo "indicies".</div><div class='del'>-	  the patch is from davydovanton &lt;antondavydov.o at gmail.com&gt;.</div><div class='del'>-	  [fix GH-892]</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/indexer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_indexer.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun May 10 11:44:37 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): Raise ArgumentError when</div><div class='del'>-	  string passed to String#crypt contains null.</div><div class='del'>-	  the patch is from jrusnack &lt;jrusnack at redhat.com&gt;.</div><div class='del'>-	  [Bug #10988] [fix GH-853]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: test for above.</div><div class='del'>-</div><div class='del'>-Sun May 10 11:23:03 2015  Masaki Matsushita &lt;glass.saga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_to_a): Use size to set array capa when possible.</div><div class='del'>-	  the patch is from HonoreDB &lt;aweiner at mdsol.com&gt;.</div><div class='del'>-	  [fix GH-444]</div><div class='del'>-</div><div class='del'>-Sat May  9 06:48:36 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard</div><div class='del'>-	  [Bug #11123]</div><div class='del'>-</div><div class='del'>-Fri May  8 22:57:24 2015  takiy33  &lt;takiy33@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/matrix/test_matrix.rb (test_determinant): refactor test on</div><div class='del'>-	  Matrix#determinant, by merging with test_det for an alias method</div><div class='del'>-	  det.  [Fix GH-897]</div><div class='del'>-</div><div class='del'>-Fri May  8 15:43:11 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp</div><div class='del'>-	  is omitted.  [ruby-core:69093] [Bug #11128]</div><div class='del'>-</div><div class='del'>-Fri May  8 15:05:57 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc: fix a missing "a"</div><div class='del'>-	  [fix GH-888][ci skip] Patch by @riffraff</div><div class='del'>-</div><div class='del'>-Fri May  8 12:11:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_method_call_status): resolve refined method entry</div><div class='del'>-	  to check if undefined.  [ruby-core:69064] [Bug #11117]</div><div class='del'>-</div><div class='del'>-Thu May  7 22:22:59 2015  Sho Hashimoto  &lt;sho-h@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: [DOC] fix Binding#local_variable_set example. [ci skip]</div><div class='del'>-</div><div class='del'>-Thu May  7 11:32:57 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (rbconfig.rb): add rule to make.</div><div class='del'>-</div><div class='del'>-Thu May  7 05:14:39 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (connect_nonblock): use IO#wait_writable</div><div class='del'>-	* lib/drb/drb.rb (DRB::DRbTCPSocket#alive?): use IO#wait_readable</div><div class='del'>-	* lib/webrick/httpserver.rb (run): ditto</div><div class='del'>-	* lib/resolv.rb (request): ditto for single socket case</div><div class='del'>-	  [ruby-core:68943] [Feature #11081]</div><div class='del'>-</div><div class='del'>-Wed May  6 22:49:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_method_call_status): undefined refined method is</div><div class='del'>-	  not callable unless using.  [ruby-core:69064] [Bug #11117]</div><div class='del'>-</div><div class='del'>-Sun May  3 22:40:06 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/fs.c: need to include sys/statvfs.h</div><div class='del'>-	  to use statvfs().</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/extconf.rb: check the existence of</div><div class='del'>-	  sys/statvfs.h</div><div class='del'>-</div><div class='del'>-Sun May  3 21:59:48 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: fix typo. [ci skip][fix GH-890]</div><div class='del'>-	  Patch by @miketheman</div><div class='del'>-</div><div class='del'>-Sun May  3 10:02:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (linear_object_p, range_include): test if covered for</div><div class='del'>-	  linear objects.  [ruby-core:69052] [Bug #11113]</div><div class='del'>-</div><div class='del'>-Fri May  1 13:30:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): check if a different libruby is loaded by the</div><div class='del'>-	  extension library, and then bail out to get rid of very</div><div class='del'>-	  frequently reported stale bug reports.</div><div class='del'>-</div><div class='del'>-Thu Apr 30 19:51:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): revert r46873 and r46875, not to</div><div class='del'>-	  allow to execute private readers by pretending op assign.</div><div class='del'>-	  [ruby-core:68984] [Bug #11096]</div><div class='del'>-</div><div class='del'>-Thu Apr 30 17:02:33 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: Added documentation for rational literal.</div><div class='del'>-	  [Bug #11075][fix GH-885][ci skip] Patch by @shishir127</div><div class='del'>-</div><div class='del'>-Thu Apr 30 16:39:44 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/ipsocket.c (init_inetsock_internal): preserve errno</div><div class='del'>-	  before other library calls and use rb_syserr_fail.</div><div class='del'>-	  [ruby-core:68531] [Bug #10975]</div><div class='del'>-</div><div class='del'>-Thu Apr 30 16:22:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda): push and reset cmdarg_stack in lambda body.</div><div class='del'>-	  [ruby-core:69017] [Bug #11107]</div><div class='del'>-</div><div class='del'>-Sun Apr 26 07:36:48 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/utf_8.c (code_to_mbclen, code_to_mbc): reject values larger</div><div class='del'>-	  than UTF-8 max codepoints.  [Feature #11094]</div><div class='del'>-</div><div class='del'>-Sat Apr 25 14:26:19 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): expand later so that the buffer can be</div><div class='del'>-	  larger for further use.  [Bug #11080] [Bug #11095]</div><div class='del'>-</div><div class='del'>-Fri Apr 24 23:48:45 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import version 2.2.3 from</div><div class='del'>-	  https://github.com/knu/ruby-electric.el.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 10:40:02 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_{getc,putc}): removed.  they are needed for old</div><div class='del'>-	  ruby (before 1.8), but not now.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 08:40:13 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: remove bcc related code.</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 08:21:07 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_acrt_lowio_lock_fh): wrap _pioinfo(i)-&gt;lock.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_acrt_lowio_unlock_fh): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 06:47:19 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (_filbuf): msvc14 doesn't have it, use _fgetc_nolock.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (_flsbuf): msvc14 doesn't have it, use _fputc_nolock.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (vcruntime_file): define vcruntime_file on msvc14</div><div class='del'>-	  because it doesn't export FILE's internal structure.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (FILE_COUNT): added to abstract FILE-&gt;_cnt.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (FILE_READPTR): added to abstract FILE-&gt;_ptr.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (FILE_FILENO): added to abstract FILE-&gt;_file.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (init_stdhandle): use FILE_FILENO.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_getc): use FILE_COUNT and FILE_READPTR.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_putc): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 06:37:07 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (dupfd): use _set_osfhnd.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_wopen): use _set_osflags.</div><div class='del'>-</div><div class='del'>-Thu Apr 24 05:38:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_roots): fox to work PRINT_ROOT_TICKS.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 04:49:05 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub: MSVC14 have struct timespec.</div><div class='del'>-</div><div class='del'>-	* win32/rtname.cmd: support vcruntime140.dll.</div><div class='del'>-</div><div class='del'>-	* time.c (localtime_with_gmtoff_zone): MSVC14 doesn't have tzname and</div><div class='del'>-	  daylight but have _tzname and _daylight.</div><div class='del'>-</div><div class='del'>-Thu Apr 23 11:35:55 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow</div><div class='del'>-	  symbols to just instance_eval/exec, except for definition of</div><div class='del'>-	  singletons.  [ruby-core:68961] [Bug #11086]</div><div class='del'>-</div><div class='del'>-Thu Apr 23 10:01:36 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: fix a typo.</div><div class='del'>-	  [fix GH-881][ci skip] Patch by @Zorbash</div><div class='del'>-</div><div class='del'>-Wed Apr 22 18:36:50 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb (move, uid_move): support the MOVE command defined</div><div class='del'>-	  in RFC6851.  Patch by ojab ojab.</div><div class='del'>-	  [ruby-core:68960] [Feature #11077]</div><div class='del'>-</div><div class='del'>-Tue Apr 22 12:42:12 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: add tests for Kernel#String and Kernel#Array.</div><div class='del'>-	  [fix GH-879][fix GH-880] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Tue Apr 21 20:46:02 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb: renamed tests to explicitly class name.</div><div class='del'>-	  [fix GH-877] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Tue Apr 21 05:31:00 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (connect_internal): avoid common exceptions</div><div class='del'>-	  from connect_nonblock. [ruby-core:68909]</div><div class='del'>-</div><div class='del'>-Mon Apr 20 23:46:53 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_wreadlink): follow the official format of</div><div class='del'>-	  REPARSE_DATA_BUFFER structure.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 20:23:04 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk ($(arch)-fake.rb): revert r50354 because bsdmake seems not</div><div class='del'>-	  to handle such substitution.</div><div class='del'>-</div><div class='del'>-	* tool/expand-config.rb: convert path separators here.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 16:52:20 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/fake.rb: don't fake libdir.  use libdirname instead.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 16:49:52 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (MakeMakefile#configuration): DESTDIR should never affect</div><div class='del'>-	  top_srcdir and builddir.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 16:18:17 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk ($(arch)-fake.rb): fix the path separator up for Windows.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 15:02:47 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_wreadlink): fixed a bug that a junction misses</div><div class='del'>-	  its drive letter.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 12:54:56 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/*: use license instead of licence.</div><div class='del'>-	  [fix GH-876][ci skip] Patch by @davydovanton</div><div class='del'>-	* lib/net/https.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 12:42:40 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_meteor_contest.rb: fix a typo.</div><div class='del'>-	  [fix GH-876][ci skip] Patch by @davydovanton</div><div class='del'>-	* tool/bisect.sh: ditto.</div><div class='del'>-	* tool/update-deps: ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 11:10:46 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_connect_nonblock): do not raise EISCONN</div><div class='del'>-	  [ruby-core:68926] [Feature #11072]</div><div class='del'>-	* test/socket/test_nonblock.rb: check non-EISCONN on 2nd connect</div><div class='del'>-</div><div class='del'>-Sun Apr 19 12:19:17 2015  Chad Brewbaker  &lt;crb002@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/{etc,openssl,tk}: Adding parens and comparisons around</div><div class='del'>-	  assignments to get rid of Wparentheses warnings.  [Fix GH-875]</div><div class='del'>-</div><div class='del'>-Sun Apr 19 10:42:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (get_env_cstr): environment variables must be ASCII</div><div class='del'>-	  compatible, as dummy encodings and wide char encodings are</div><div class='del'>-	  unsupported now.</div><div class='del'>-</div><div class='del'>-Sat Apr 18 15:18:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl: raise with messages in UTF-8</div><div class='del'>-	  encoding.  [ruby-core:67386] [Bug #10705]</div><div class='del'>-</div><div class='del'>-Fri Apr 17 11:58:34 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_SET_EMBED): clear NOFREE flag at embedding as</div><div class='del'>-	  embedded strings no longer refer static strings.</div><div class='del'>-	  [ruby-core:68436] [Bug #10942]</div><div class='del'>-</div><div class='del'>-Thu Apr 16 05:15:50 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: note IO#wait_readable change in r50263</div><div class='del'>-</div><div class='del'>-Thu Apr 16 05:09:36 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (rbuf_fill): use IO#wait_*able</div><div class='del'>-	* lib/net/http/generic_request.rb (wait_for_continue): ditto</div><div class='del'>-	  [ruby-core:68891] [Feature #11056]</div><div class='del'>-</div><div class='del'>-Wed Apr 15 18:43:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_new): fix documentation.</div><div class='del'>-	  Commented by @emilsoman.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 17:36:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (rb_tracepoint_new): Add documentation for</div><div class='del'>-	  rb_tracepoint_new C level API [ci skip]</div><div class='del'>-	  Provided by @emilsoman. [fix GH-869]</div><div class='del'>-</div><div class='del'>-Wed Apr 15 10:37:40 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributors.rdoc: fix a typo. Patch by @davydovanton</div><div class='del'>-	  [fix GH-872][ci skip]</div><div class='del'>-	* doc/syntax/methods.rdoc: ditto.</div><div class='del'>-	* ext/digest/sha2/sha2.c: ditto.</div><div class='del'>-	* ext/socket/ipsocket.c: ditto.</div><div class='del'>-	* ext/tk/*: ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 07:51:23 2015  Yuki Yugui Sonoda  &lt;yugui@yugui.jp&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: Added description of TypedData_XXX.</div><div class='del'>-	  Deprecated the old DATA_XXX.</div><div class='del'>-	  Reviewed by ko1 and nobu.</div><div class='del'>-	  Fixes [ruby-dev:40881] #3064</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 07:34:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (reserve_stack): keep sp safe zone to get rid</div><div class='del'>-	  of crash by -fstack-check.  [ruby-core:68740] [Bug #11030]</div><div class='del'>-</div><div class='del'>-Tue Apr 14 16:03:49 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb (versionup): should also increment revision when</div><div class='del'>-	  changing teeny.</div><div class='del'>-</div><div class='del'>-Tue Apr 14 11:24:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/printf/printf.c (uint_to_str): renamed to get rid of</div><div class='del'>-	  conflict on cygwin.  [ruby-core:68877] [Bug #11065]</div><div class='del'>-</div><div class='del'>-Tue Apr 14 08:59:04 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: [DOC] Improve documentation for ObjectSpace.count_objects</div><div class='del'>-	  with regards to `:TOTAL` key, with patch by @schneems [Fixes GH-871]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/871 [Bug #11067]</div><div class='del'>-</div><div class='del'>-Mon Apr 13 22:44:07 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb (File.mkfifo): Defined using mkfifo command.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Use File.mkfifo.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 13 21:20:20 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb: stricter hostname verification</div><div class='del'>-	  following RFC 6125. with the patch provided by Tony Arcieri and</div><div class='del'>-	  Hiroshi Nakamura [ruby-core:61545] [Bug #9644]</div><div class='del'>-	* test/openssl/test_ssl.rb: add tests for above.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 18:40:04 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/json.gemspec: bump version to 1.8.2.</div><div class='del'>-	* ext/json/lib/json/version.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 18:12:07 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/json.gemspec, lib/rdoc/rdoc.gemspec: added gemspec directly.</div><div class='del'>-	* defs/default_gems, tool/rbinstall.rb: removed default_gems definition.</div><div class='del'>-	  it make simple installation for default gems.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 17:35:17 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/*, test/json/*: Reverted r50231.  Because it's not</div><div class='del'>-	  working with cross-compile environment.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 15:34:59 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): fix segfault by null caused by syntax error.</div><div class='del'>-	  [ruby-core:68851] [Bug #10957]</div><div class='del'>-</div><div class='del'>-Sun Apr 12 15:11:16 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: use explicitly exception class and reverted</div><div class='del'>-	  to require JSON library for rubygems tests with Ruby 2.2.0 or earlier.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 15:10:18 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_wait_readable): simply returns that IO is</div><div class='del'>-	  readable without blocking, but no longer returns EOF.</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_ready_p, io_wait_readable): try polling</div><div class='del'>-	  first and check FIONREAD optionally to see if EOF.</div><div class='del'>-	  [ruby-core:36805] [Feature #4849]</div><div class='del'>-</div><div class='del'>-Sun Apr 12 14:53:23 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: fixed json load error for rubygems tests.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 14:13:28 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: Document require name for ObjectSpace methods.</div><div class='del'>-	  [ci skip][fix GH-860] Patch by @schneems</div><div class='del'>-</div><div class='del'>-Sun Apr 12 13:54:05 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: New test that open(fifo) doesn't block other</div><div class='del'>-	  threads.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 13:52:18 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: Remove extension from require argument.</div><div class='del'>-	  [ci skip][fix GH-870] Patch by @yui-knk</div><div class='del'>-</div><div class='del'>-Sun Apr 12 10:29:14 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock):</div><div class='del'>-	  support `exception: false'</div><div class='del'>-	* (get_no_exception): move function location</div><div class='del'>-	* ext/socket/socket.c (sock_connect_nonblock):</div><div class='del'>-	  support `exception: false'</div><div class='del'>-	* test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception):</div><div class='del'>-	  test `exception: false' on connect,</div><div class='del'>-	  rename from `test_accept_nonblock_no_exception'</div><div class='del'>-	* test/socket/test_nonblock.rb (test_connect_nonblock_no_exception):</div><div class='del'>-	  new test</div><div class='del'>-</div><div class='del'>-Sun Apr 12 09:57:16 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test a block device on GNU/Linux.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 09:24:03 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test a file not owned.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 09:05:44 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/depend: Fix "Wrong mix of special targets" error with</div><div class='del'>-	  OpenBSD make.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 09:04:37 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Windows doesn't support Unix file</div><div class='del'>-	  modes.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 08:56:44 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/fs.c: OpenBSD needs sys/param.h before sys/mount.h.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 08:52:01 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test suid, sgid and sticky file.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 23:48:30 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* template/fake.rb.in: Don't assign baseruby, Because it's affect to</div><div class='del'>-	  Makefile of native gem like json on bundled gems.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 23:33:22 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): Consider nsec for "=", "&lt;" and "&gt;" for "test"</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 23:26:05 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: support destdir for native extension gem.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 21:02:06 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb</div><div class='del'>-	  (TestFileExhaustive#test_stat_socket_p): r50226 accidentally missed</div><div class='del'>-	  the guard for non-unix environments.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 20:14:21 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/*, test/json/*, defs/default_gems: Gemify JSON library.</div><div class='del'>-	  [fix GH-867][Feature #11057]</div><div class='del'>-	* test/ruby/test_extlibs.rb: removed json gem from existence extensions.</div><div class='del'>-	* gems/bundled_gems: added json gem into bundled gem.</div><div class='del'>-	* lib/rdoc/rubygems_hook.rb: ignored no json environment.</div><div class='del'>-	* lib/rubygems/test_case.rb, test/rubygems/*: ditto.</div><div class='del'>-	* lib/rdoc/test_case.rb, test/rdoc/*: ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 15:56:58 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Create sample files lazily.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 14:03:47 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test character device using</div><div class='del'>-	  /dev/null.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 10:59:58 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags):</div><div class='del'>-	  utility methods to append compiler options.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 08:22:24 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/text.rb: removed duplicated code.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 04:46:42 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (rbuf_fill): avoid exception with read_nonblock</div><div class='del'>-	  [ruby-core:68787] [Feature #11044]</div><div class='del'>-</div><div class='del'>-Fri Apr 10 23:57:44 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (need_normalization): use getattrlist() if fgetattrlist()</div><div class='del'>-	  is unavailable, on OSX 10.5.  [ruby-core:68829] [Bug #11054]</div><div class='del'>-</div><div class='del'>-Fri Apr 10 22:29:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_compile): pass the given werror flag to try_do</div><div class='del'>-	  to check if stderr is empty.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_cflags, try_ldflags): default werror to true.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (WERRORFLAG): remove useless option.  VC does</div><div class='del'>-	  not make warnings of unknown command option an error.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 19:34:24 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test socket.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 19:38:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: remove debug prints.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 19:35:51 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects method</div><div class='del'>-	  to count imemo objects for each type.</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* NEWS: describe about this addition.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 19:34:24 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test anonymous pipe.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 19:31:56 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb: Test named pipe.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 19:10:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (setup_hash): unify common routine.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 18:29:49 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_parent_start1): Handle EINTR.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 17:27:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_exec): check other events when RETURN is thrown.</div><div class='del'>-	  [Bug #10724]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 11:44:09 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/extconf.rb: check warnings.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_cflags): pass options to try_compile.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (WERRORFLAG): make unknown command line</div><div class='del'>-	  options an error.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 08:00:17 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: unfortunately, windows is not POSIX...</div><div class='del'>-	  cygwin has mkfifo command, but it does not affect system-wide.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 02:18:53 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb: Use mkfifo command instead of mknod</div><div class='del'>-	  command to create a named pipe.  mkfifo command is defined by POSIX.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 01:29:05 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Release GVL when opening a file in spawn() to avoid whole</div><div class='del'>-	  process blocking when opening a named pipe.</div><div class='del'>-	  (open_func): New function.</div><div class='del'>-	  (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and</div><div class='del'>-	  use rb_thread_call_without_gvl2 to release GVL when opening a file.</div><div class='del'>-	  (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via</div><div class='del'>-	  rb_protect and invoke rb_execarg_parent_end when error.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 22:19:19 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (redirect_open): Removed.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 21:38:20 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_parent_end): Declared.</div><div class='del'>-</div><div class='del'>-	* process.c: "spawn" opens files in the parent process.</div><div class='del'>-	  (check_exec_redirect): Add an placeholder for fd in parameters</div><div class='del'>-	  for fd_open.</div><div class='del'>-	  (check_exec_fds_1): Delete fd_open condition.</div><div class='del'>-	  (check_exec_fds): Don't call check_exec_fds_1 with fd_open.</div><div class='del'>-	  (rb_execarg_parent_start): Open files specified as "spawn" options</div><div class='del'>-	  and add "dup2" options.</div><div class='del'>-	  (rb_execarg_parent_end): New function to close opened fds.</div><div class='del'>-	  (run_exec_open): Removed.</div><div class='del'>-	  (rb_execarg_run_options): Don't call run_exec_open.</div><div class='del'>-	  (rb_spawn_internal): Call rb_execarg_parent_end.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): Call rb_execarg_parent_end.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): Call rb_execarg_parent_end.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 20:52:31 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_execarg_parent_start): Renamed from rb_execarg_fixup.</div><div class='del'>-</div><div class='del'>-	* process.c: Follows the above change.</div><div class='del'>-</div><div class='del'>-	* io.c: Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: Ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 20:35:12 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (fd_clear_cloexec): Extracted from run_exec_dup2.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 09:26:47 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ccan/list/list.h: sync with ccan upstream</div><div class='del'>-	  [ccan commit c2fbfe5282ba264f3485586e7efa8a5967f2d386]</div><div class='del'>-</div><div class='del'>-Thu Apr  9 08:24:03 2015  Masahiro Tomita  &lt;tommy@tmtm.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of</div><div class='del'>-	  addrinfo.  [ruby-dev:48923] [Bug #11051]</div><div class='del'>-</div><div class='del'>-Wed Apr  8 17:45:02 2015  Shannon Skipper  &lt;shannonskipper@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* version.c (Init_version): the version of the engine or</div><div class='del'>-	  interpreter.  [Fix GH-858]</div><div class='del'>-</div><div class='del'>-Wed Apr  8 16:15:30 2015  Kenta Murata  &lt;mrkn@cookpad.com&gt;</div><div class='del'>-</div><div class='del'>-	* bigdecimal: conform to ruby's license.  [ruby-core:68466] [Bug #10952]</div><div class='del'>-</div><div class='del'>-Wed Apr  8 14:57:06 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_wreadlink): should treat junctions like as</div><div class='del'>-	  symlinks.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 14:03:47 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb: fix syntax error.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 13:01:06 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): Symbols are compared by the identities</div><div class='del'>-	  always.  [ruby-core:68767] [Bug #11035]</div><div class='del'>-</div><div class='del'>-Tue Apr  7 10:22:51 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: fix typo. Patch by @sferik [fix GH-865]</div><div class='del'>-</div><div class='del'>-Mon Apr  6 22:52:35 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes</div><div class='del'>-	  the initial_state argument.  [Feature #10958]</div><div class='del'>-</div><div class='del'>-Mon Apr  6 16:09:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c: protect value stack from calling other methods</div><div class='del'>-	  during complex parameter setting process (splat, kw, and so on).</div><div class='del'>-	  [Bug #11027]</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove rb_thread_t::mark_stack_len.</div><div class='del'>-	  With this modification, we don't need to use th-&gt;mark_stack_len.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_keyword.rb: add a test.</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_capture): catch up this fix.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_thread_mark): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr  6 11:26:42 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb (http_options): prevent content auto decoding</div><div class='del'>-	  because this is a downloader.</div><div class='del'>-</div><div class='del'>-Sun Apr  5 09:55:18 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: update Maintainers list.</div><div class='del'>-</div><div class='del'>-Sun Apr  5 09:11:00 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: fix bin script permission of bundled gems.</div><div class='del'>-</div><div class='del'>-Sun Apr  5 08:46:08 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: support --program-suffix option.</div><div class='del'>-</div><div class='del'>-Sat Apr  4 21:31:18 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake/*: Gemify rake [fix GH-862][Feature #11025]</div><div class='del'>-	* test/rake/*: ditto.</div><div class='del'>-	* tool/rbinstall.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Apr  4 11:30:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_setbyte): check the argument first not to</div><div class='del'>-	  discard shared string and code range unnecessarily until</div><div class='del'>-	  actually changing the contents.  pointed out by headius.</div><div class='del'>-</div><div class='del'>-Sat Apr  4 08:16:43 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (edit_path): use path which is absolute ftp url</div><div class='del'>-	  on using ftp_proxy.</div><div class='del'>-</div><div class='del'>-Fri Apr  3 11:43:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_cfunc): update invoker arguments.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_cfunc_latter): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix</div><div class='del'>-	  with rb_.</div><div class='del'>-</div><div class='del'>-Thu Apr  2 16:26:59 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, tool/mkconfig.rb: check the running ruby version in</div><div class='del'>-	  rbconfig.rb with the program version, as RUBY_VERSION has never</div><div class='del'>-	  been affected by --with-ruby-version option.</div><div class='del'>-	  [ruby-core:68639] [Bug #11002]</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be</div><div class='del'>-	  valid version numbers, not an arbitrary string.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 11:09:15 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_glob): remove indirect links of arguments for</div><div class='del'>-	  trampoline.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 09:59:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#mv): show the exact target path in</div><div class='del'>-	  the error message instead of the destination parent directory</div><div class='del'>-	  name.  patched by Joao Britto &lt;jabcalves AT gmail.com&gt; at</div><div class='del'>-	  [ruby-core:68706].  [Bug #11021]</div><div class='del'>-</div><div class='del'>-Tue Mar 31 15:25:07 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/ChangeLog-0.06_to_0.52: added archived Changelog.</div><div class='del'>-	  [ruby-list:50105]</div><div class='del'>-	* doc/ChangeLog-0.50_to_0.60: ditto.</div><div class='del'>-	* doc/ChangeLog-0.60_to_1.1: ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 22:02:55 2015  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT.ja: add redirect [ruby-core:68631]</div><div class='del'>-</div><div class='del'>-Mon Mar 30 14:42:41 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with</div><div class='del'>-	  symbolic link than directory, and set executable bits.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 11:27:54 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): use the arguments without conversion if</div><div class='del'>-	  having read, readpartial, and write methods, than conversion by</div><div class='del'>-	  to_path method.  [ruby-core:68676] [Bug #11015]</div><div class='del'>-</div><div class='del'>-Sun Mar 29 21:08:37 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_allrefs_destruct_i): fix a typo.</div><div class='del'>-	  [Bug #11013]</div><div class='del'>-</div><div class='del'>-Sun Mar 29 11:51:32 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_binding): replicate env from method object, and</div><div class='del'>-	  allocate the local variable area for the iseq local table.</div><div class='del'>-	  [ruby-core:68673] [Bug #11012]</div><div class='del'>-</div><div class='del'>-Sat Mar 28 09:19:41 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/extconf.rb: try_cflags("-std=iso9899:1999") [Bug #10906]</div><div class='del'>-	  ruby itself (including numeric.c) is built with strict compile</div><div class='del'>-	  options including -std=iso9899:1999, but ext/date is not.</div><div class='del'>-	  By the way -std=iso9899:1999 is not only a warning option but also</div><div class='del'>-	  changes behavior like MACRO definitions for example INFINITY.</div><div class='del'>-	  gcc on Solaris affect this.</div><div class='del'>-</div><div class='del'>-Fri Mar 27 16:34:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: revert using BOOTSTRAPRUBY for enc.mk, as</div><div class='del'>-	  enc/depend uses CONFIG.  [ruby-core:68647] [Bug #11004]</div><div class='del'>-</div><div class='del'>-Thu Mar 26 10:05:13 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_observer.rb: add tests for Observable module.</div><div class='del'>-	  [fix GH-859] Patch by @brightbits</div><div class='del'>-</div><div class='del'>-Thu Mar 26 06:35:10 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.EXT: add redirect [ruby-core:68631]</div><div class='del'>-</div><div class='del'>-Wed Mar 25 16:46:49 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,</div><div class='del'>-	  but it is a dummy.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Solaris 11 doesn't have u_intN_t.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have</div><div class='del'>-	  related macros.</div><div class='del'>-</div><div class='del'>-Wed Mar 25 17:03:08 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/fs.c (get_fsname): try magic number only if</div><div class='del'>-	  f_type is included.  [ruby-dev:48913] [Bug #11000]</div><div class='del'>-</div><div class='del'>-Wed Mar 25 11:20:40 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_hash_aref_flo.rb: make more realistic data.</div><div class='del'>-	  [ruby-core:68632] [[Bug #10999]</div><div class='del'>-</div><div class='del'>-Wed Mar 25 10:39:06 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .document: removed needless entries.</div><div class='del'>-</div><div class='del'>-Wed Mar 25 08:07:28 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: fix spelling of filename</div><div class='del'>-	* doc/extension.ja.rdoc: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 25 06:55:43 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (k_inexact_p, k_exact_zero_p): use k_exact_zero_p macro</div><div class='del'>-	  to remove k_inexact_p macro.</div><div class='del'>-</div><div class='del'>-	* complex.c (k_exact_one_p): remove unused macro k_exact_one_p.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 22:23:33 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: move from toplevel document and added extname.</div><div class='del'>-	* doc/extension.ja.rdoc: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 22:06:58 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/standard_library.rdoc: strip.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 22:06:27 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/standard_library.rdoc: move Thread to Extensions.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 21:59:10 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/contributing.rdoc: update Maintainers list.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 19:10:24 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_writebarrier_generational): fix messages for rb_bug().</div><div class='del'>-	  Remove `rb_' prefix.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_writebarrier_incremental): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 17:34:01 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja.md: should be chunibyo.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 17:30:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/fs.c (get_fsname): return filesystem name by</div><div class='del'>-	  statfs/statvfs.  [ruby-core:68624] [Bug #10998]</div><div class='del'>-</div><div class='del'>-Tue Mar 24 16:46:02 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: now doesn't required spaces just after</div><div class='del'>-	  `!`.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 23:18:27 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_close): don't raise on double close for consistent to</div><div class='del'>-	  IO#close.  [Feature #10950]</div><div class='del'>-</div><div class='del'>-Mon Mar 23 21:22:07 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_readlink): move from file.c for better buffer</div><div class='del'>-	  allocation and the result encoding.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink().</div><div class='del'>-</div><div class='del'>-Mon Mar 23 14:40:45 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (winnt_stat): stat with following symbolic links.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (winnt_lstat): rename old winnt_stat, which does</div><div class='del'>-	  not follow symbolic links.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 01:44:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_symreal): register symbol names as strings first so</div><div class='del'>-	  that r_symlink always returns valid names.</div><div class='del'>-	  [ruby-core:68587] [Bug #10991]</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_ivar, r_object0): now need to intern symbol names.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): compare with symbol names.</div><div class='del'>-</div><div class='del'>-Sun Mar 22 22:07:40 2015  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/etc.rd.ja: Fix wrong coding for Emacs.</div><div class='del'>-</div><div class='del'>-Sun Mar 22 09:53:15 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): add default CONFIGURE name to</div><div class='del'>-	  follow r50039.</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): substitute configuration variables</div><div class='del'>-	  in Makefile.in instead of passing by the command line, and make</div><div class='del'>-	  temporary Makefile instead of a pipe.</div><div class='del'>-</div><div class='del'>-Sun Mar 22 08:09:47 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c):</div><div class='del'>-	  strip autogenerated dependencies which have invalid syntax in</div><div class='del'>-	  other than nmake.</div><div class='del'>-</div><div class='del'>-Sat Mar 21 15:01:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_set_winsize): use handle for</div><div class='del'>-	  writing.  GetConsoleScreenBufferInfo seems failing on a handle</div><div class='del'>-	  for reading.</div><div class='del'>-</div><div class='del'>-	* io.c: [DOC] update the example of IO#winsize to use $stdout</div><div class='del'>-	  instead of $stdin, which does not work on Windows.  a patch by</div><div class='del'>-	  Jan Lelis &lt;mail AT janlelis.de&gt; at [ruby-core:68574].</div><div class='del'>-	  [Bug #10986]</div><div class='del'>-</div><div class='del'>-Fri Mar 20 18:41:03 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (respond_to_missing_p): check if the receiver responds to</div><div class='del'>-	  the given method by respond_to_missing?.</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_missing): create Method object for method_missing.</div><div class='del'>-	  [ruby-core:68564] [Bug #10985]</div><div class='del'>-</div><div class='del'>-Fri Mar 20 17:43:18 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: enabled email notification.</div><div class='del'>-</div><div class='del'>-Fri Mar 20 17:39:52 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: removed Ruby 1.9.3 build on Travis CI</div><div class='del'>-</div><div class='del'>-Fri Mar 20 12:38:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): obj_info() can receive internal objects.</div><div class='del'>-</div><div class='del'>-	* gc.c (check_rvalue_consistency): obj_info() returns const char *.</div><div class='del'>-</div><div class='del'>-Fri Mar 20 12:14:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): show class name and T_DATA type_name.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 22:12:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 21:25:25 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_copy_wb_protected_attribute): demote `dest' object.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 16:18:00 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c, internal.h: export rb_gc_verify_internal_consistency().</div><div class='del'>-</div><div class='del'>-Thu Mar 19 16:15:24 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): show allocation site if GC_DEBUG is not 0.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 16:12:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics.</div><div class='del'>-	  * skip on incremental marking because not sure what happen :p</div><div class='del'>-	  * rb_gc_writebarrier_remember() is enough to mark children.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 16:08:42 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_copy_wb_protected_attribute): need demote for old objects.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 10:31:00 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes): release the handle in the static</div><div class='del'>-	  variable, not a local variable.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 06:30:35 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) because</div><div class='del'>-	  rb_obj_alloc() can return old object in debug.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 06:29:28 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/objspace/test_objspace.rb: flag name was changed</div><div class='del'>-	  (long_lived -&gt; uncollectible).</div><div class='del'>-</div><div class='del'>-Thu Mar 19 05:30:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseq_mark): skip some marking if iseq-&gt;orig is available.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_clone): need WB for iseq1-&gt;klass = iseq0-&gt;klass</div><div class='del'>-	  (done in MEMCPY).</div><div class='del'>-</div><div class='del'>-Thu Mar 19 04:55:53 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (IMEMO_DEBUG): added.</div><div class='del'>-</div><div class='del'>-	* internal.h: remove unused FL_IMEMO_MARK_V[0-3].</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_imemo_new_debug): added.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): show imemo type name.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 04:52:26 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism.</div><div class='del'>-</div><div class='del'>-	  If RGENGC_OLD_NEWOBJ_CHECK &gt; 0, then create old objects</div><div class='del'>-	  (not new objects) periodically.</div><div class='del'>-</div><div class='del'>-	  Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are</div><div class='del'>-	  created.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 04:46:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort_by): add WBs.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 03:37:52 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (check_rvalue_consistency): refactoring.</div><div class='del'>-	  * not inline on RGENGC_CHECK_MODE &gt; 0.</div><div class='del'>-	  * check SPECIAL_CONST_P(obj) first.</div><div class='del'>-	  * add a check that remembered_bit is only TRUE when old (age == 3).</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit.</div><div class='del'>-</div><div class='del'>-	  remembered_bit should be TRUE only for old (age == 3) objects.</div><div class='del'>-</div><div class='del'>-	  Actually there are no effect because demoted objects will be</div><div class='del'>-	  uncollectible WB unprotected objects (marked at the beginning of</div><div class='del'>-	  every minor GC).</div><div class='del'>-</div><div class='del'>-Thu Mar 19 02:52:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename terminologies.</div><div class='del'>-	  * long_lived -&gt; uncollectible:</div><div class='del'>-	    because this bitmap does not mean "long lived objects in past",</div><div class='del'>-	    but means "prohibit collection these objects until next major GC".</div><div class='del'>-</div><div class='del'>-	    Uncollectible objects consist of two types objects, one is old</div><div class='del'>-	    objects (WB protected objects which age == 3) and another is</div><div class='del'>-	    uncollectible WB unprotected objects which are referred from old</div><div class='del'>-	    objects</div><div class='del'>-</div><div class='del'>-	  * remembered_wb_unprotected_objects -&gt;</div><div class='del'>-	    uncollectible_wb_unprotected_objects:</div><div class='del'>-	    because uncollectible objects does not mean remembered objects.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 17:21:12 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_writebarrier_generational): add an alternative write</div><div class='del'>-	  barrier (WB) implementation.</div><div class='del'>-	  When finding reference from [Old obj] to [New obj] by WB, current</div><div class='del'>-	  implementation marks [Old obj] as remembered old objects and marks</div><div class='del'>-	  children of [Old obj] at the beginning of marking.</div><div class='del'>-</div><div class='del'>-	  Added (but disabled) code changes current behaviour. This fix promote</div><div class='del'>-	  [New obj] to old and marks as a remembered old object. We can assume</div><div class='del'>-	  "new objects referred from old objects are maybe long-lived old</div><div class='del'>-	  objects".</div><div class='del'>-</div><div class='del'>-	  Disadvantage of added algorithm is we may promote unwilling</div><div class='del'>-	  short-lived objects. For example, consider many new objects push and</div><div class='del'>-	  pop to an old stack object. All of new objects (short-lived objects)</div><div class='del'>-	  promote to old objects unexpectedly.</div><div class='del'>-</div><div class='del'>-	  To compare these behaviour, I add this new code (but disabled it).</div><div class='del'>-</div><div class='del'>-Wed Mar 18 17:14:39 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET()</div><div class='del'>-	  to make clear.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 17:10:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (check_rvalue_consistency): do not need to check is_sweeping().</div><div class='del'>-</div><div class='del'>-Wed Mar 18 14:13:22 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_obj.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter</div><div class='del'>-	  full_mark: false to invoke only minor GC.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 12:07:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: add a comment about RSTRING_FSTR.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 12:01:53 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_hash): use same hash values with Float#hash so</div><div class='del'>-	  that -0.0 and +0.0 will be identical.</div><div class='del'>-	  [ruby-core:68541] [Bug #10979]</div><div class='del'>-</div><div class='del'>-Wed Mar 18 05:34:32 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: introduce STR_FAKESTR to show string is FAKESTR or not.</div><div class='del'>-</div><div class='del'>-	* string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects</div><div class='del'>-	  can use write barrier.</div><div class='del'>-</div><div class='del'>-Tue Mar 17 18:59:16 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: use rb_gc_writebrrier() simply.</div><div class='del'>-	  For incremental GC, we need to get a pointer to the objspace.</div><div class='del'>-	  We can share this pointer for the following WB process.</div><div class='del'>-	  And considering icache hit ratio, process in the GC.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_writebarrier): added.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_writebarrier_generational, gc_writebarrier_incremental):</div><div class='del'>-	  make them NOINLINE because inlining them into rb_gc_writebarrier()</div><div class='del'>-	  makes a prologue code of rb_gc_writebarrier() longer (storing callee</div><div class='del'>-	  save registers).</div><div class='del'>-</div><div class='del'>-	  This patch improve the performance of WB on micro-benchmarks.</div><div class='del'>-</div><div class='del'>-	  name                   ruby 2.1   trunk   modified</div><div class='del'>-	  vm1_gc_wb_ary*            0.511   0.632      0.532</div><div class='del'>-	  vm1_gc_wb_ary_promoted*   0.578   0.701      0.674</div><div class='del'>-	  vm1_gc_wb_obj*            0.419   0.575      0.492</div><div class='del'>-	  vm1_gc_wb_obj_promoted*   0.537   0.664      0.618</div><div class='del'>-	                                                 (sec)</div><div class='del'>-</div><div class='del'>-Tue Mar 17 18:51:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_ary(_promoted).rb: separate fastpath and</div><div class='del'>-	  slowpath for WB.</div><div class='del'>-</div><div class='del'>-	  Before this change bm_vm1_gc_wb_ary.rb tried to check the performance</div><div class='del'>-	  for WB slowpath (making a reference from oldobj to newobj). However,</div><div class='del'>-	  from Ruby 2.2, 3 GCs are needed to promote new objects because</div><div class='del'>-	  only 3 age objects are promoted objects.</div><div class='del'>-</div><div class='del'>-	  To compare fastpath and slowpath, introduce new "promoted" version</div><div class='del'>-	  benchmark.</div><div class='del'>-</div><div class='del'>-	  bm_vm1_gc_wb_ary.rb is for fastpath and</div><div class='del'>-	  bm_vm1_gc_wb_ary_promoted.rb is for slowpath.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm1_gc_wb_obj(_promoted).rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 17 17:23:11 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): distinguish not-yet-stated and DT_UNKNOWN</div><div class='del'>-	  by readdir, and traverse recursively for the former.  Linux</div><div class='del'>-	  readdir returns DT_UNKNOWN on some filesystems, e.g., smbfs,</div><div class='del'>-	  iso9660.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 17:43:21 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: Fix regression bug in WEBrick's</div><div class='del'>-	  :DoNotReverseLookup config option implementation.</div><div class='del'>-	  [fix GH-731] Patch by @vais</div><div class='del'>-	* test/webrick/test_do_not_reverse_lookup.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 20:05:23 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_gamma): optimization for passed small integer.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 18:07:23 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: [DOC] Fixes Enumerable#member? documentation</div><div class='del'>-	  [fix GH-756][ci skip] Patch by @shamanime</div><div class='del'>-</div><div class='del'>-Sat Mar 14 12:23:53 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): use d_type to reduce lstat system calls.</div><div class='del'>-</div><div class='del'>-	* win32/dir.h (struct direct): add d_type instead of d_isdir and</div><div class='del'>-	  d_isrep.  SYMLINKD is unreliable, since the target can be</div><div class='del'>-	  replaced after a link was created.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (readdir_internal): set d_type.</div><div class='del'>-</div><div class='del'>-Sat Mar 14 02:14:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): empty parentheses at cmdarg can be null.</div><div class='del'>-	  [ruby-core:68477] [Bug #10957]</div><div class='del'>-</div><div class='del'>-Fri Mar 13 15:04:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_close): don't raise on double</div><div class='del'>-	  close for consistent to IO#close.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 15:03:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_read, rb_io_close_write): don't raise after</div><div class='del'>-	  close same as IO#close.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 12:29:07 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/readline/test_readline.rb: Restore environment variables:</div><div class='del'>-	  COLUMNS LINES</div><div class='del'>-</div><div class='del'>-Fri Mar 13 11:37:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: needs --enable-shared when linked to</div><div class='del'>-	  libruby or fiddle.so.  since --with-static-linked-ext does no</div><div class='del'>-	  longer link extensions to ruby program with --enable-shared, the</div><div class='del'>-	  only combination needs --enable-static is --disable-shared and</div><div class='del'>-	  --with-static-linked-ext.  [ruby-dev:48901] [Bug #10960]</div><div class='del'>-</div><div class='del'>-Fri Mar 13 07:02:20 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_accept_nonblock): use rb_hash_lookup2</div><div class='del'>-	* ext/openssl/ossl_ssl.c (get_no_exception): new function</div><div class='del'>-	  (ossl_ssl_accept_nonblock): use get_no_exception</div><div class='del'>-	  (ossl_ssl_read_internal): ditto</div><div class='del'>-	  (ossl_ssl_write_nonblock): ditto</div><div class='del'>-	  [ruby-core:68511]</div><div class='del'>-</div><div class='del'>-Fri Mar 13 07:01:38 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: predefine wait_*able symbols</div><div class='del'>-</div><div class='del'>-Thu Mar 12 22:59:53 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/leakchecker.rb: Check environment variables.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 05:54:27 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/init.c (rsock_s_accept_nonblock):</div><div class='del'>-	  support exception: false</div><div class='del'>-	  [ruby-core:66385] [Feature #10532]</div><div class='del'>-	* ext/socket/init.c (rsock_init_socket_init): define new symbols</div><div class='del'>-	* ext/socket/rubysocket.h: adjust prototype</div><div class='del'>-	* ext/socket/socket.c (sock_accept_nonblock): support exception: false</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto</div><div class='del'>-	* ext/socket/socket.c (Init_socket): adjust accept_nonblock definition</div><div class='del'>-	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto</div><div class='del'>-	* ext/socket/tcpserver.c (rsock_init_tcpserver): ditto</div><div class='del'>-	* ext/socket/unixserver.c (rsock_init_unixserver): ditto</div><div class='del'>-	* ext/socket/tcpserver.c (tcp_accept_nonblock): adjust</div><div class='del'>-	  rsock_s_accept_nonblock call</div><div class='del'>-	* ext/socket/unixserver.c (unix_accept_nonblock): ditto</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto</div><div class='del'>-	* test/socket/test_nonblock.rb (test_accept_nonblock): test for</div><div class='del'>-	  "exception :false"</div><div class='del'>-	* test/socket/test_tcp.rb (test_accept_nonblock): new test</div><div class='del'>-	* test/socket/test_unix.rb (test_accept_nonblock): ditto</div><div class='del'>-	* test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto</div><div class='del'>-</div><div class='del'>-Thu Mar 12 10:53:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h, node.h: move a definition of `struct rb_global_entry'</div><div class='del'>-	  and related functions from node.h to internal.h.</div><div class='del'>-</div><div class='del'>-	* variable.c: remove unused include pragma.</div><div class='del'>-</div><div class='del'>-	* common.mk: remove unused dependency.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 10:32:39 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: remove unused dependency.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 08:20:14 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* load.c: removed unused header file "node.h".</div><div class='del'>-</div><div class='del'>-	* method.h: ditto.</div><div class='del'>-</div><div class='del'>-	* symbol.c: ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 08:14:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: RGENGC_CHECK_MODE should be 0.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 07:44:17 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: use T_IMEMO to represent `struct MEMO' value.</div><div class='del'>-	  memo-&gt;v1 and memo-&gt;v2 is WB protected values.</div><div class='del'>-	  So use MEMO_V1/V2_SET() macros to set these values.</div><div class='del'>-	  memo-&gt;u3 is ambiguous (sometimes a VALUE, sometimes an integer</div><div class='del'>-	  value), so use gc_mark_maybe() in gc.c to mark it.</div><div class='del'>-</div><div class='del'>-	  Rename NEW_MEMO() to MEMO_NEW().</div><div class='del'>-</div><div class='del'>-	  Move MEMO_FOR and NEW_MEMO_FOR macros from node.h.</div><div class='del'>-</div><div class='del'>-	  Export a rb_imemo_new() function for ext/ripper.</div><div class='del'>-</div><div class='del'>-	* node.h: remove NODE_MEMO.</div><div class='del'>-</div><div class='del'>-	* enum.c: catch up these change.</div><div class='del'>-</div><div class='del'>-	* enumerator.c: ditto.</div><div class='del'>-</div><div class='del'>-	* load.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c (count_nodes): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark imemo_memo type.</div><div class='del'>-</div><div class='del'>-	* parse.y (new_args_gen): use T_IMEMO.</div><div class='del'>-	  (I'm not sure it is working correctly...)</div><div class='del'>-</div><div class='del'>-Wed Mar 11 22:36:34 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_called_id): it should use vm_ifunc type.</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_func_id): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 22:27:05 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* node.h: remove NODE_IFUNC, NEW_IFUNC.</div><div class='del'>-</div><div class='del'>-	* internal.h: use T_IMEMO for IFUNC.</div><div class='del'>-</div><div class='del'>-	  rename `struct IFUNC' to `struct vm_ifunc' and move the definition</div><div class='del'>-	  from vm_insnhelper.h. Add imemo_ifunc.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark imemo_ifunc type T_IMEMO object.</div><div class='del'>-</div><div class='del'>-	* compile.c: catch up these changes.</div><div class='del'>-</div><div class='del'>-	* proc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_IFUNC_P): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 21:53:43 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h, eval_intern.h: move CREF accessors.</div><div class='del'>-</div><div class='del'>-	  List IMEMO supported types in internal.h.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 21:45:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: use T_IMEMO to create THROW_DATA.</div><div class='del'>-</div><div class='del'>-	  Add THROW_DATA_NEW().</div><div class='del'>-</div><div class='del'>-	* internal.h: move definition of `struct THROW_DATA'</div><div class='del'>-	  from vm_insnhelper.h to internal.h.</div><div class='del'>-</div><div class='del'>-	  Rename `THROW_DATA' to `vm_throw_data'.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (THROW_DATA_P): move to internal.h.</div><div class='del'>-	  THROW_DATA is no longer T_NODE, so check T_IMEMO.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark THROW_DATA.</div><div class='del'>-</div><div class='del'>-	* vm.c: catch up these changes.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 21:21:56 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: use T_IMEMO to create SVAR.</div><div class='del'>-</div><div class='del'>-	* internal.h, vm_insnhelper.h: move definition `struct SVAR'</div><div class='del'>-	  from vm_insnhelper.h to internal.h. And rename it to struct vm_svar.</div><div class='del'>-</div><div class='del'>-	  new imemo_type imemo_svar is added.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): mark imemo_svar.</div><div class='del'>-</div><div class='del'>-	* node.c (rb_gc_mark_node): remove useless marking.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 19:35:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: introduce new type T_IMEMO.</div><div class='del'>-	  T_IMEMO is Internal Memo type, internal use only.</div><div class='del'>-	  T_IMEMO has same purpose of NODE_MEMO.</div><div class='del'>-</div><div class='del'>-	  To insert T_IMEMO, type numbers are modified a little.</div><div class='del'>-</div><div class='del'>-	* internal.h: define struct RIMemo. Each RIMemo objects</div><div class='del'>-	  has imemo_type. We can observe it by the imemo_type() function.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_imemo_new): added.</div><div class='del'>-</div><div class='del'>-	* node.h: remove NODE_CREF and NEW_CREF().</div><div class='del'>-</div><div class='del'>-	* node.c (rb_gc_mark_node): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_new): use rb_imem_new().</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: use RIMemo objects for CREF.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace.c: support T_IMEMO.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 17:03:20 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: fix memory leak by prepend method.</div><div class='del'>-</div><div class='del'>-	  It is easy to reproduce with such script:</div><div class='del'>-</div><div class='del'>-	    module M; def bar; end; end</div><div class='del'>-	    loop{</div><div class='del'>-	      Class.new do</div><div class='del'>-	        def foo; end</div><div class='del'>-	        prepend M</div><div class='del'>-	      end</div><div class='del'>-	    }</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): free T_ICLASS::m_tbl if it is created by prepend.</div><div class='del'>-	  To recognize it, check RICLASS_IS_ORIGIN flag.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children): T_ICLASS objects only need to mark</div><div class='del'>-	  T_ICLASS::m_tbl if RICLASS_IS_ORIGIN is set.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_memsize_of): count T_ICLASS if RICLASS_IS_ORIGIN is set.</div><div class='del'>-</div><div class='del'>-	* internal.h (RCLASS_SET_ORIGIN): add to set RCLASS_SET_ORIGIN.</div><div class='del'>-</div><div class='del'>-	  TODO: The word `origin' seems not good name. We need to invent</div><div class='del'>-	  another good name.</div><div class='del'>-</div><div class='del'>-	* class.c: use RCLASS_SET_ORIGIN().</div><div class='del'>-</div><div class='del'>-	* class.c (class_alloc): zero clear rb_classext_t.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 13:28:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check also procstat_getvmmap, which is not</div><div class='del'>-	  available on FreeBSD 9.  [ruby-core:68468] [Bug #10954]</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (procstat_vm): use kinfo_getvmmap instead if</div><div class='del'>-	  procstat_getvmmap is not available.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 09:15:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: define struct MEMO.</div><div class='del'>-</div><div class='del'>-	* enum.c: use MEMO.</div><div class='del'>-</div><div class='del'>-	* enumerator.c: ditto.</div><div class='del'>-</div><div class='del'>-	* load.c: ditto.</div><div class='del'>-</div><div class='del'>-	* node.h: return (struct MEMO *) pointer.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 06:26:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (THROW_DATA_STATE): return int, not VALUE.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (THROW_DATA_STATE_SET): accept int value.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 05:06:46 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_catch_protect): use THROW_DATA_VAL().</div><div class='del'>-</div><div class='del'>-Wed Mar 11 04:56:04 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: define struct IFUNC.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_iterate): use it.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_yield_with_cfunc): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 03:52:12 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (THROW_DATA_P): use RB_TYPE_P() instead of</div><div class='del'>-	  BUILTIN_TYPE().</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): use THROW_DATA_P().</div><div class='del'>-</div><div class='del'>-Wed Mar 11 03:48:01 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: use RUBY_VM_IFUNC_P() to recognize IFUNC or not.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (RUBY_VM_IFUNC_P): use RB_TYPE_P() instead of</div><div class='del'>-	  BUILTIN_TYPE().</div><div class='del'>-</div><div class='del'>-Wed Mar 11 03:21:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: define struct THROW_DATA to represent</div><div class='del'>-	  throwing data. Also define accessor functions.</div><div class='del'>-</div><div class='del'>-	* eval_intern.h: move related changes into vm_insnhelper.h.</div><div class='del'>-	  Now these MACROs (functions) are only used in vm*.c.</div><div class='del'>-</div><div class='del'>-	  There is only THROW_DATA_P(err) to check this data type or not.</div><div class='del'>-</div><div class='del'>-	* vm.c: catch up these changes.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 00:57:00 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_security_trust_dir.rb: The return value of</div><div class='del'>-	  File::Stat#mode is OS dependent. In AIX, 0200000 is set.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 20:03:41 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb: Invoke setup_shutdown_pipe in start method</div><div class='del'>-	  instead of listen method.</div><div class='del'>-	  [ruby-core:68476] [Bug #10956] Reported by Shintaro Kojima.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 17:27:27 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_join): Fixnum (except TAG_FATAL) and</div><div class='del'>-	  NODE should not be reached here.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 21:42:10 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (ep_cref): rename to lep_cref() because it should be</div><div class='del'>-	  local ep.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 16:34:36 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_close): don't raise on double</div><div class='del'>-	  close for consistent to IO#close.</div><div class='del'>-</div><div class='del'>-Mon Mar 09 06:44:48 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: define struct SVAR for SVAR.</div><div class='del'>-	  This data type is also same layout of NODE (NODE_IF).</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: catch up this change.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 06:43:21 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (lep_svar_set): add WBs.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 06:19:06 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: define rb_cref_t and change to use it.</div><div class='del'>-</div><div class='del'>-	  rb_cref_t is data type of CREF. Now, the body is still NODE.</div><div class='del'>-	  It is easy to understand what is CREF and what is pure NODE.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 06:00:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h (COPY_CREF_OMOD): fix translation miss.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 04:47:58 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: define CREF accessor macros.</div><div class='del'>-	  * CREF_CLASS(cref)</div><div class='del'>-	  * CREF_NEXT(cref)</div><div class='del'>-	  * CREF_VISI(cref)</div><div class='del'>-	  * CREF_VISI_SET(cref, v)</div><div class='del'>-	  * CREF_REFINEMENTS(cref)</div><div class='del'>-	  * CREF_PUSHED_BY_EVAL(cref)</div><div class='del'>-	  * CREF_PUSHED_BY_EVAL_SET(cref)</div><div class='del'>-	  * CREF_OMOD_SHARED(cref)</div><div class='del'>-	  * CREF_OMOD_SHARED_SET(cref)</div><div class='del'>-	  * CREF_OMOD_SHARED_UNSET(cref)</div><div class='del'>-</div><div class='del'>-	  This is process to change CREF data type from NODE.</div><div class='del'>-</div><div class='del'>-Sun Mar  8 22:50:57 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (rb_gzfile_close): Don't raise on double</div><div class='del'>-	  close for consistent to IO#close.</div><div class='del'>-</div><div class='del'>-Sun Mar  8 16:57:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): match patterns against legacy short names</div><div class='del'>-	  too, not only ordinary names.  [ruby-core:67954] [Bug #10819]</div><div class='del'>-</div><div class='del'>-	* win32/dir.h (struct direct): add short name members.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (opendir_internal, readdir_internal): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 09:36:05 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: document that first element is kept when using</div><div class='del'>-	  Array#uniq and #uniq! [fix GH-845][ci skip]</div><div class='del'>-	  Patch by @riffraff</div><div class='del'>-</div><div class='del'>-Sat Mar  7 09:28:02 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Mutex#owned? is no longer experimental since 2.1.0</div><div class='del'>-	  [fix GH-839][ci skip] Patch by @takiy33</div><div class='del'>-</div><div class='del'>-Sat Mar  7 09:18:42 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: Added documentation to version method.</div><div class='del'>-	  [fix GH-847][ci skip] Patch by @magikid</div><div class='del'>-</div><div class='del'>-Fri Mar  6 22:50:36 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_prepend_module): need a WB for klass -&gt; origin.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 20:18:38 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* fix namespace issue on singleton class expressions. [Bug #10943]</div><div class='del'>-</div><div class='del'>-	* vm_core.h, method.h: remove rb_iseq_t::cref_stack. CREF is stored</div><div class='del'>-	  to rb_method_definition_t::body.iseq_body.cref.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: modify SVAR usage.</div><div class='del'>-	  When calling ISEQ type method, push CREF information onto method</div><div class='del'>-	  frame, SVAR located place. Before this fix, SVAR is simply nil.</div><div class='del'>-	  After this patch, CREF (or NULL == Qfalse for not iseq methods)</div><div class='del'>-	  is stored at the method invocation.</div><div class='del'>-</div><div class='del'>-	  When SVAR is required, then put NODE_IF onto SVAR location,</div><div class='del'>-	  and NDOE_IF::nd_reserved points CREF itself.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_cref_new, vm_cref_dump, vm_cref_new_toplevel): added.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_push_frame): accept CREF.</div><div class='del'>-</div><div class='del'>-	* method.h, vm_method.c (rb_add_method_iseq): added. This function</div><div class='del'>-	  accepts iseq and CREF.</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method): use rb_add_method_iseq().</div><div class='del'>-</div><div class='del'>-	* gc.c (mark_method_entry): mark method_entry::body.iseq_body.cref.</div><div class='del'>-</div><div class='del'>-	* iseq.c: remove CREF related codes.</div><div class='del'>-</div><div class='del'>-	* insns.def (getinlinecache/setinlinecache): CREF should be cache key</div><div class='del'>-	  because a different CREF has a different namespace.</div><div class='del'>-</div><div class='del'>-	* node.c (rb_gc_mark_node): mark NODE_IF::nd_reserved for SVAR.</div><div class='del'>-</div><div class='del'>-	* proc.c: catch up changes.</div><div class='del'>-</div><div class='del'>-	* struct.c: ditto.</div><div class='del'>-</div><div class='del'>-	* insns.def: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_args.c (raise_argument_error): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: add a test.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 18:19:13 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox</div><div class='del'>-	  on Windows 7), file name and permissions are strange (can access</div><div class='del'>-	  by short file name and so on).</div><div class='del'>-</div><div class='del'>-	  Simply skip on such tests on such FS. To detect strange FS, this</div><div class='del'>-	  patch use a part of code `File.executable?(__FILE__)`.</div><div class='del'>-	  Please correct them if there are better ways.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 17:31:29 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: do not change directory.</div><div class='del'>-</div><div class='del'>-	  Run system command in the directory mounted by vboxsf on Windows 7</div><div class='del'>-	  and get warning like that "warning: Insecure world writable dir...".</div><div class='del'>-</div><div class='del'>-Fri Mar  6 10:31:00 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call_super): search next super class from the</div><div class='del'>-	  original class, to get rid of infinite recursion with</div><div class='del'>-	  prepending.  a patch by Seiei Higa &lt;hanachin AT gmail.com&gt; at</div><div class='del'>-	  [ruby-core:68434].  [ruby-core:68093] [Bug #10847]</div><div class='del'>-</div><div class='del'>-Fri Mar  6 08:45:26 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.</div><div class='del'>-	  [Fixes GH-802]</div><div class='del'>-</div><div class='del'>-Fri Mar  6 07:33:03 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_info): show node name too.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 07:00:44 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: remove struct method_table_wrapper.</div><div class='del'>-	  struct method_table_wrapper was introduced to avoid duplicate marking</div><div class='del'>-	  for method tables.</div><div class='del'>-</div><div class='del'>-	  For example, `module M1; def foo; end; end` make one method table</div><div class='del'>-	  (mtbl) contains a method `foo`. M1 (T_MODULE) points mtbl.</div><div class='del'>-	  Classes C1 and C2 includes M1, then two T_ICLASS objects are created</div><div class='del'>-	  and they points mtbl too. In this case, three objects (one T_MODULE</div><div class='del'>-	  and two T_ICLASS objects) points same mtbl. On marking phase, these</div><div class='del'>-	  three objects mark same mtbl. To avoid such duplication, struct</div><div class='del'>-	  method_table_wrapper was introduced.</div><div class='del'>-</div><div class='del'>-	  However, created two T_ICLASS objects have same or shorter lifetime</div><div class='del'>-	  than M1 (T_MODULE) object. So that we only need to mark mtbl from M1,</div><div class='del'>-	  not from T_ICLASS objects. This patch tries marking only from M1.</div><div class='del'>-	  In other words, original module (M1) has responsibility to mark mtbl.</div><div class='del'>-	  Because of no duplicate marking, we don't need method_table_wrapper</div><div class='del'>-	  any more.</div><div class='del'>-</div><div class='del'>-	  Note that one `Module#prepend` call creates two T_ICLASS objects.</div><div class='del'>-	  One for referring to a prepending Module object, same as</div><div class='del'>-	  `Module#include`. We don't need to care this T_ICLASS.</div><div class='del'>-	  One for moving original mtbl from a prepending class. We need to</div><div class='del'>-	  mark such mtbl from this T_ICLASS object. To mark the mtbl,</div><div class='del'>-	  we need to use `RCLASS_ORIGIN(klass)` on marking from a prepended</div><div class='del'>-	  class `klass`.</div><div class='del'>-</div><div class='del'>-	* class.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_using_refinement): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: define m_tbl directly. The definition of</div><div class='del'>-	  struct RClass should be moved to (srcdir)/internal.h.</div><div class='del'>-</div><div class='del'>-	* method.h: remove decl of rb_free_m_tbl_wrapper().</div><div class='del'>-</div><div class='del'>-	* object.c: use RCLASS_M_TBL() directly.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 02:50:12 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): need to check the return value of</div><div class='del'>-	  GLOB_REALLOC().</div><div class='del'>-</div><div class='del'>-Fri Mar  6 02:26:03 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): shouldn't create Ruby object before</div><div class='del'>-	  the object system is loaded.</div><div class='del'>-	  [ruby-core:68430] [Bug #10941]</div><div class='del'>-</div><div class='del'>-Wed Mar  5 16:58:43 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: [DOC] #delete method actually returns nil, if the key</div><div class='del'>-	  is not found. [fix GH-844][ci skip] Patch by @ivdma</div><div class='del'>-</div><div class='del'>-Wed Mar  5 12:22:23 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c: refactoring: remove unnecessary variable d0 to unify code</div><div class='del'>-	  appearance.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 11:50:54 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): A binding should keep</div><div class='del'>-	  refinements activation information and the refinements should be</div><div class='del'>-	  activated in subsequent eval calls with the binding.</div><div class='del'>-	  [ruby-core:67945] [Bug #10818]</div><div class='del'>-</div><div class='del'>-Thu Mar  5 11:16:55 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: There is no need anymore to suppress</div><div class='del'>-	  warnings.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 08:31:02 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_raw_seed): Avoid calling fill_random_bytes()</div><div class='del'>-	  if the requested size is 0. AIX returns -1 for 0-byte read from</div><div class='del'>-	  /dev/urandom, while other UNIX returns 0. With this change,</div><div class='del'>-	  Random.raw_seed(0) consistently returns "" in any UNIX.</div><div class='del'>-</div><div class='del'>-Wed Mar  4 12:43:32 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb (assert_float_and_int): Refactor test cases</div><div class='del'>-	  by introducing assert_float_and_int. [misc #10810]</div><div class='del'>-</div><div class='del'>-Wed Mar  4 11:52:30 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (Init_sym): make dsym_fstrs a hash compared by identity</div><div class='del'>-	  as the keys are unique fstrings, to get rid of running hash and</div><div class='del'>-	  compare methods and causing new object allocation during garbage</div><div class='del'>-	  collection phase.  [ruby-dev:48891] [Bug #10933]</div><div class='del'>-</div><div class='del'>-Wed Mar  4 10:16:57 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Fix typo in slice_after's exception message.</div><div class='del'>-	  [fix GH-842][ci skip] Patch by @jsyeo</div><div class='del'>-</div><div class='del'>-Wed Mar  4 10:15:37 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc: add some missing spaces and</div><div class='del'>-	  fix a grammatical error in method docs.</div><div class='del'>-	  [fix GH-843][ci skip] Patch by @nikolas</div><div class='del'>-</div><div class='del'>-Wed Mar  4 02:13:06 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (backport_command_string): pick up only</div><div class='del'>-	  when the revision exists in trunk.</div><div class='del'>-</div><div class='del'>-Wed Mar  4 00:44:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_io_blocking_region): assigned variables</div><div class='del'>-	  inside EXEC_TAG() should be volatile.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_s_handle_interrupt): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (exec_recursive): ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  4 00:29:18 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: now can specify shorten form of commands.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 23:41:42 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (Readline.readline): drop untreated control</div><div class='del'>-	  characters.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 22:25:24 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb (EnvUtil.invoke_ruby): need to rescue because</div><div class='del'>-	  Signal.signame may raise exception.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 16:57:39 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: use 'b' instead of 's' for showing</div><div class='del'>-	  Backport options for merger.rb.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 16:55:23 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: show selected ticket number at prompt.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 14:47:30 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (num2dbl_with_to_f): direct casting from Rational to double.</div><div class='del'>-	  [Feature #10909]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: add tests for the above change.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 07:52:20 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb: avoid a false positive in AIX.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 00:59:39 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: set PRELOADENV in Solaris to avoid "wrong ELF class"</div><div class='del'>-	  error. [Bug #10926] [ruby-dev:48888]</div><div class='del'>-	* configure.in: set LIBPATHENV for 32-bit compile in Solaris</div><div class='del'>-	  in addition to 64-bit.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 15:36:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: do not check _setjmp unless _longjmp is available,</div><div class='del'>-	  so that configure results will not be changed by cache.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 14:44:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): restore unsigned type from</div><div class='del'>-	  cached variable only if the target type is not available.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 13:04:27 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_signame): return nil if the argument is a valid</div><div class='del'>-	  signal number.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 12:05:04 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/ftp/test_ftp.rb (create_ftp_server): set SO_OOBINLINE</div><div class='del'>-	  for receiving OOB data which is sent with MSG_OOB flag in</div><div class='del'>-	  portable way. [Bug #10915] [ruby-dev:48885]</div><div class='del'>-	* test/net/ftp/test_ftp.rb (test_abort, test_status): use gets</div><div class='del'>-	  for receiving OOB data in portable way.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 11:43:07 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): restore unsigned type from</div><div class='del'>-	  cached variable.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 06:01:41 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX</div><div class='del'>-	  Thanks to Yura Sokolov &lt;funny.falcon@gmail.com&gt;</div><div class='del'>-	  [ruby-core:68369] [Bug#10923]</div><div class='del'>-	* test/io/wait/test_io_wait.rb (test_nread_buffered):</div><div class='del'>-	  fix broken test</div><div class='del'>-</div><div class='del'>-Sun Mar  1 20:21:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_REPLACE_TYPE): restore convertible type from</div><div class='del'>-	  cached variable, so that configured results will be stable.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 18:10:34 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_broken_memmem): check before adding the</div><div class='del'>-	  result HAVE_MEMMEM macro to confdefs.h, so that configured</div><div class='del'>-	  results will be stable.</div><div class='del'>-</div><div class='del'>-Sun Mar  1 11:17:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): prohibit from accessing internal objects.</div><div class='del'>-	  [ruby-core:68348] [Bug #10918]</div><div class='del'>-</div><div class='del'>-Sun Mar  1 09:06:11 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (strptime): Support %s.%N.</div><div class='del'>-	  [ruby-core:68301] [Bug #10904] Patch by Sadayuki Furuhashi.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 17:18:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_slice, enum_each_cons): limit elements size by</div><div class='del'>-	  the enumerator size.  suggested by Hans Mackowiak &lt;hanmac AT</div><div class='del'>-	  gmx.de&gt; at [ruby-core:68335]</div><div class='del'>-</div><div class='del'>-Sat Feb 28 15:44:20 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): get rid of making new strings</div><div class='del'>-	  inside signal context.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_tmp_class_path): defer making temporary class</div><div class='del'>-	  path string.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_search_class_path): search class path or return</div><div class='del'>-	  Qnil or Qfalse if unnamed, not creating a temporary path.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 15:02:02 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_tmp_class_path): preserve name encoding of an</div><div class='del'>-	  anonymous instance of module/class subclass.</div><div class='del'>-</div><div class='del'>-Sat Feb 28 08:24:30 2015  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: AIX supports autopush.</div><div class='del'>-	  Patch by Perry Smith [ruby-core:58539] [Bug #9144]</div><div class='del'>-</div><div class='del'>-Fri Feb 27 22:00:05 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems: Update to RubyGems 2.4.6 and HEAD(800f2e6).</div><div class='del'>-	  Fixed #1159, #1171, #1173 on rubygems/rubygems</div><div class='del'>-	* test/rubygems: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 20:55:42 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rake: Update to rake (9237e74), typo fix and remove needless</div><div class='del'>-	  private syntax.</div><div class='del'>-	* test/rake: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 17:06:44 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: define vm_svar_index.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c, vm.c, compile.c: use vm_svar_index names.</div><div class='del'>-</div><div class='del'>-	* iseq.h: remove DEFAULT_SPECIAL_VAR_COUNT.</div><div class='del'>-	  use VM_SVAR_FLIPFLOP_START instead.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 13:57:48 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (setup_narg): wipe away expanded part of buffer to get rid</div><div class='del'>-	  of revealing uncleaned data.  reported by Dongkwan Kim &lt;dkay AT</div><div class='del'>-	  kaist.ac.kr&gt;.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 22:25:07 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: use default configuration file name.</div><div class='del'>-	  https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf</div><div class='del'>-</div><div class='del'>-Wed Feb 25 22:21:56 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* spec/default.mspec: remove specific version number.</div><div class='del'>-	  https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714</div><div class='del'>-</div><div class='del'>-Wed Feb 25 22:04:04 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/Win32API.rb (initialize): accept both a string and an array</div><div class='del'>-	  for the arguments of the imported function.</div><div class='del'>-	  reported by Aaron Stone [ruby-core:68208] [Bug #10876] [Fixes GH-835]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 18:12:11 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandler): preserve errno</div><div class='del'>-	  Patch by Steven Stewart-Gallus &lt;sstewartgallus00@mylangara.bc.ca&gt;</div><div class='del'>-	  [ruby-core:68172] [Bug #10866]</div><div class='del'>-</div><div class='del'>-Wed Feb 25 15:59:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_pattern, push_glob): make globbed file names same</div><div class='del'>-	  encoding to the given pattern.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 15:27:16 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: support 2.1+ versioning scheme.</div><div class='del'>-</div><div class='del'>-Tue Feb 25 08:49:12 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cmath.rb (log): raise ArgumentError when more than 2 arguments</div><div class='del'>-	  are passed. [ruby-core:66143] [Bug #10487]</div><div class='del'>-</div><div class='del'>-Tue Feb 25 02:15:17 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: Use assert_infinity instead of assert_equal(1.0/0, ...).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: Add tests for overriding Integer#to_f.</div><div class='del'>-	  [ruby-core:67919] [Misc #10809]</div><div class='del'>-</div><div class='del'>-Tue Feb 24 22:58:48 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (nucomp_mul): calculate as rotation in complex plane</div><div class='del'>-	  if matrix calculation resulted in NaN.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 21:45:39 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb(test_cbrt): Add an assertion for Math.cbrt(1.0/0)</div><div class='del'>-	  and move #test_cbrt to more proper place.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 19:09:25 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (lep_svar_place, lep_svar_get): do not create</div><div class='del'>-	  additional T_NODE object (svars holder) when only getting</div><div class='del'>-	  svars.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 11:49:48 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_zone_name): should be US-ASCII only if all 7-bits,</div><div class='del'>-	  otherwise locale encoding.  [ruby-core:68230] [Bug #10887]</div><div class='del'>-</div><div class='del'>-Tue Feb 24 09:47:07 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (chompped_length): enable smart chomp for all non-dummy</div><div class='del'>-	  encoding strings, not only default_rs.</div><div class='del'>-	  [ruby-core:68258] [Bug #10893]</div><div class='del'>-</div><div class='del'>-Mon Feb 23 23:19:42 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (IO.popen): support :chdir option.</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (VCS::GIT.get_revisions): use :chdir option instead</div><div class='del'>-	  of -C option which is not supported by older git.</div><div class='del'>-	  [ruby-dev:48880] [Bug #10890]</div><div class='del'>-</div><div class='del'>-Mon Feb 23 15:26:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): raise ArgumentError at broken string</div><div class='del'>-	  not RegexpError, as Regexp is not involved in.</div><div class='del'>-	  [ruby-core:68229] [Bug #10886]</div><div class='del'>-</div><div class='del'>-Mon Feb 23 07:25:29 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 18:33:42 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: use ruby organization for rubyspec.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 15:56:06 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements</div><div class='del'>-	  of original crefs. It fixes segmentation fault when calling</div><div class='del'>-	  refined method in duplicate module. [ruby-dev:48878] [Bug #10885]</div><div class='del'>-</div><div class='del'>-	* vm_core.h, class.c: change accordingly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: add a test for above.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 10:43:37 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): control GC execution during</div><div class='del'>-	  force firnalizations at the end of interpreter process.</div><div class='del'>-	  [Bug #10768]</div><div class='del'>-</div><div class='del'>-	  1) Prohibit incremental GC while running Ruby-level finalizers</div><div class='del'>-	     to avoid any danger.</div><div class='del'>-	  2) Prohibit GC while invoking T_DATA/T_FILE data structure</div><div class='del'>-	     because these operations break object relations consistency.</div><div class='del'>-</div><div class='del'>-	  This patch can introduce another memory consuming issue because</div><div class='del'>-	  Ruby-level finalizers can run after (2), GC is disabled.</div><div class='del'>-	  However, basically object consistency was broken at (2) as I</div><div class='del'>-	  described above. So that running Ruby-level finalizers contains</div><div class='del'>-	  danger originally. Because of this point, I need to suggest to</div><div class='del'>-	  remove these 3 lines (invoking remaining finalizers). And add a</div><div class='del'>-	  rule to add that finalizers should not add new finalizers, or</div><div class='del'>-	  say there is no guarantee to invoke finalizers that added by</div><div class='del'>-	  another finalizer.</div><div class='del'>-</div><div class='del'>-Sun Feb 22 04:07:05 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c: [DOC] RDoc formatting fixes for</div><div class='del'>-	  ASN1::ObjectId with patch from @vbatts [Fixes GH-834]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb 21 19:51:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): RMatch::regexp is Qnil after matching by a</div><div class='del'>-	  string since r45451.  [ruby-core:68209] [Bug #10877]</div><div class='del'>-</div><div class='del'>-Sat Feb 21 16:18:42 2015  Stefan Schuler  &lt;mail@stefanschuessler.de&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (Init_Comparable): [DOC] Replace camelcase variable name.</div><div class='del'>-	  [Fix GH-833]</div><div class='del'>-</div><div class='del'>-Fri Feb 20 17:27:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_identical_p): fix handle leak, ensure to close</div><div class='del'>-	  the handle of the first argument.</div><div class='del'>-</div><div class='del'>-Fri Feb 20 17:19:23 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (different_device_p): compare by volume serial</div><div class='del'>-	  numbers, not by path names.  [ruby-core:68162] [Bug #10865]</div><div class='del'>-</div><div class='del'>-Thu Feb 19 01:58:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_expand_path_internal): neither the drive</div><div class='del'>-	  of base directory nor the current drive are involved in the</div><div class='del'>-	  result if different than the drive of path.</div><div class='del'>-	  [ruby-core:68130] [Bug #10858]</div><div class='del'>-</div><div class='del'>-Wed Feb 18 10:48:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (wrename): return EXDEV if moving a directory to</div><div class='del'>-	  another drive, since MoveFileExW does not set proper error code.</div><div class='del'>-	  [ruby-core:68162] [Bug #10865]</div><div class='del'>-</div><div class='del'>-Wed Feb 18 03:13:52 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bump psych version.</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-	* ext/psych/yaml/scanner.c: add latest libyaml change.</div><div class='del'>-	* test/psych/helper.rb: support newer minitest</div><div class='del'>-	* test/psych/test_to_yaml_properties.rb: ditto</div><div class='del'>-</div><div class='del'>-Tue Feb 17 11:47:17 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements</div><div class='del'>-	  returned by Kernel#instance_variables are Symbols now.</div><div class='del'>-	  [ruby-core:68128] [Bug #10857]</div><div class='del'>-</div><div class='del'>-Tue Feb 17 10:59:10 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc: Fix documentation for "calling_methods"</div><div class='del'>-	  Patch by @sos4nt [fix GH-830][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Feb 17 10:53:29 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_expand_path_internal): do not make invalid</div><div class='del'>-	  (or ADS) path if the path has a drive letter, the result also</div><div class='del'>-	  should have be under it.  [ruby-core:68130] [Bug #10858]</div><div class='del'>-</div><div class='del'>-Tue Feb 17 10:47:20 2015  Iain Beeston  &lt;iain.beeston@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: Added docs to explain that #include? and #member? do not</div><div class='del'>-	  check member equality</div><div class='del'>-	* lib/set.rb: ditto</div><div class='del'>-</div><div class='del'>-Mon Feb 16 20:58:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign): optimization for special case,</div><div class='del'>-	  assignments by aset or attrset.</div><div class='del'>-	  http://kokizzu.blogspot.jp/2015/02/c-java-hhvm-ruby-nodejsrhinojscspidermo.html</div><div class='del'>-	  http://www.atdot.net/~ko1/diary/201502.html#d16</div><div class='del'>-</div><div class='del'>-Sun Feb 15 10:41:23 2015  Sho Hashimoto  &lt;sho-h@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/standard_library.rdoc: [DOC] delete removed libraries.</div><div class='del'>-	  [misc #10843] [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Feb 14 12:20:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (rand_random_number): add a method to return a random</div><div class='del'>-	  number like SecureRandom to Random::Formatter.</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (random_bytes): move to Random::Formatter,</div><div class='del'>-	  the base method of the module.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 12:01:32 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_raw_seed): extract platform dependent random</div><div class='del'>-	  seed initialization function as a new method Random.raw_seed.</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (SecureRandom): use Random.raw_seed.</div><div class='del'>-</div><div class='del'>-Sat Feb 14 00:49:37 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: Add Coverage.peek_result.  Allows you to</div><div class='del'>-	  capture coverage information without stopping the coverage tool.</div><div class='del'>-	  [ruby-core:67940] [Feature #10816]</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: test for change.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 21:52:05 2015  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_discard): does not free for STR_NOFREE string.</div><div class='del'>-	  [Bug #10853][ruby-core:68110]</div><div class='del'>-</div><div class='del'>-	* bootstraptest/test_string.rb: test for above.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 21:16:00 2015  Yusuke Endoh  &lt;mame@tsg.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: make urlsafe mode user-friendly.</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to</div><div class='del'>-	  suppress the padding character ("=").</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only</div><div class='del'>-	  correctly-padded input but also unpadded input.</div><div class='del'>-	  [Feature #10740][ruby-core:67570]</div><div class='del'>-</div><div class='del'>-	* test/base64/test_base64.rb: Test for above</div><div class='del'>-</div><div class='del'>-Fri Feb 13 14:19:06 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json: merge upstream from flori/json</div><div class='del'>-	  change usage of TypedData. [Feature #10739][ruby-core:67564]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 18:34:01 2015  multisnow  &lt;infinity.blick.winkel@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check RAND_edg to support libressl.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg</div><div class='del'>-	  is available.  [Fix GH-829]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 10:46:14 2015  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_call):  Improve Proc#call documentation.  Patch by</div><div class='del'>-	  Hsing-Hui Hsu.  [fix GH-761]</div><div class='del'>-</div><div class='del'>-Thu Feb 12 04:33:02 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_equal): no more error hiding for Comparable#==.</div><div class='del'>-	  It now behaves as other Comparable methods. See #7688.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_comparable.rb: update related test.</div><div class='del'>-</div><div class='del'>-Thu Feb 12 03:28:05 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (initialize): internal hash defaults to false</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (include?): use Hash#[] for optimized dispatch.</div><div class='del'>-	  Patch by Ismael Abreu &lt;ismaelga@gmail.com&gt;</div><div class='del'>-	  [ruby-core:67664] [Misc #10754]</div><div class='del'>-</div><div class='del'>-Wed Feb 11 11:09:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest_conf.rb (digest_conf): check for CommonDigest.</div><div class='del'>-</div><div class='del'>-	* ext/digest/*/*cc.h: for Apple CommonCrypto/CommonDigest.h.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.h (DEFINE_FINISH_FUNC_FROM_FINAL): macro for</div><div class='del'>-	  finish functions, by inverting arguments order.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest_conf.rb (digest_conf): extract common</div><div class='del'>-	  configurations.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 11:01:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c (generate_json): get rid of</div><div class='del'>-	  unnecessary recursive calls which can cause infinite recursion.</div><div class='del'>-	  T_STRING may not have rb_cString.</div><div class='del'>-</div><div class='del'>-Wed Feb 11 07:53:35 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_word.rb: use skip method to skip test.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 11:38:28 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_method): stop method search when a method</div><div class='del'>-	  is not found in a refinement, to support undef in refinements.</div><div class='del'>-	  [ruby-core:66741] [Bug #10578]</div><div class='del'>-</div><div class='del'>-Tue Feb 10 11:19:11 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (chdir, delete, gettextfile, mdtm, mkdir, nlst,</div><div class='del'>-	  putbinaryfile, puttextfile, rename, rmdir, size): support</div><div class='del'>-	  Pathname. Patch by Joe Rafaniello. [fix GH-828]</div><div class='del'>-</div><div class='del'>-Mon Feb  9 16:36:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): get rid of loading unbundled and</div><div class='del'>-	  unexpected libraries.  [ruby-core:67977] [Bug #10822]</div><div class='del'>-</div><div class='del'>-Sun Feb  8 20:09:37 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/header.rb: pass header names as symbols.</div><div class='del'>-	  Patch by @DamirSvrtan [fix GH-805]</div><div class='del'>-	* test/net/http/test_httpheader.rb: added test.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 13:04:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (get_addr): reject too long hostname to</div><div class='del'>-	  get rid of GHOST vulnerability on very old platforms.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic</div><div class='del'>-	  check for the canonical name.</div><div class='del'>-</div><div class='del'>-Sun Feb  8 12:48:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide</div><div class='del'>-	  versions of RegDeleteValue and RegDeleteKey.</div><div class='del'>-	  [ruby-core:67958] [Bug #10820]</div><div class='del'>-</div><div class='del'>-Sat Feb  7 22:13:08 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_record.rb: remove test using .NET</div><div class='del'>-	  Framework 3.5 because it is not included in Windows 8/8.1.</div><div class='del'>-</div><div class='del'>-Sat Feb  7 19:25:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (has_magic): always get long path name on Windows even if</div><div class='del'>-	  no tilde is there.  [ruby-core:68011] [Bug #10819]</div><div class='del'>-</div><div class='del'>-	* dir.c (replace_real_basename): FindFirstFile ignore redirection</div><div class='del'>-	  character, check if exists before call it.  cf. [Bug #8597]</div><div class='del'>-</div><div class='del'>-Sat Feb  7 13:30:11 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/win32ole/test_win32ole_record.rb</div><div class='del'>-	  (test_ole_instance_variable_get): correct VT_RECORD type and</div><div class='del'>-	  instance variables.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 17:47:05 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes when</div><div class='del'>-	  dumping objects with custom coders. [ruby-core:66215] [Bug #10496]</div><div class='del'>-</div><div class='del'>-	* test/psych/test_coder.rb: test for fix</div><div class='del'>-</div><div class='del'>-Fri Feb  6 16:58:31 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: fix support for regular</div><div class='del'>-	  expressions with newlines. tenderlove/psych#222</div><div class='del'>-</div><div class='del'>-	* test/psych/test_yaml.rb: test for change.</div><div class='del'>-</div><div class='del'>-Fri Feb  6 10:31:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols</div><div class='del'>-	  list to get rid of inadvertent creation by variable keyword</div><div class='del'>-	  arguments.  [ruby-core:68031] [Bug #10831]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 22:42:34 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems HEAD(5c3b6f3).</div><div class='del'>-	  Fixed #1156, #1142, #1115, #1142, #1139 on rubygems/rubygems</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 13:41:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send):</div><div class='del'>-	  convert String method name into a Symbol, as method_missing</div><div class='del'>-	  method expects its first argument to be a Symbol.  [Bug #10828]</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (ci_missing_reason): return the reason of method</div><div class='del'>-	  missing in call info.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the</div><div class='del'>-	  proper missing reason.  [Bug #10828]</div><div class='del'>-</div><div class='del'>-Thu Feb  5 10:31:46 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_obj_singleton_methods): should use RTEST() to convert</div><div class='del'>-	  VALUE to int.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 03:59:33 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828]</div><div class='del'>-</div><div class='del'>-Wed Feb  4 20:26:54 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to</div><div class='del'>-	  free allocated hash table to avoid error on Cygwin.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 15:34:25 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry_i, class_instance_method_list,</div><div class='del'>-	  rb_obj_singleton_methods): should not include methods of</div><div class='del'>-	  superclasses if recur is false. [ruby-dev:48854] [Bug #10826]</div><div class='del'>-</div><div class='del'>-Wed Feb  4 16:32:40 2015  Matt Hoyle  &lt;matt@deployable.co&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt'</div><div class='del'>-	  to 'exponent'.  [ruby-core:67980] [Bug #10823] [Fix GH-825]</div><div class='del'>-</div><div class='del'>-Wed Feb  4 15:55:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/_sdbm.c: include ruby/ruby.h for PRIdPTRDIFF when a</div><div class='del'>-	  macro `DEBUG` is defined.  based on the patch by Owen Rodley in</div><div class='del'>-	  [ruby-core:67987]. [Bug #10825]</div><div class='del'>-</div><div class='del'>-Wed Feb  4 11:12:43 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (probes.stamp): rebuild dtrace dependent objects</div><div class='del'>-	  only when `dtrace -G` modifies its input files.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 19:27:16 2015  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (ruby-glommed.o): dependency on $(OBJ) should be written</div><div class='del'>-	  in common.mk (in which OBJ is defined) because of Makefile include</div><div class='del'>-	  and parse order. This partly reverts r49419.</div><div class='del'>-	  [ruby-dev:48849] [Bug #10808]</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ruby-glommed.o): ditto.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because</div><div class='del'>-	  it is included in $(OBJS) since r49451.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS)</div><div class='del'>-</div><div class='del'>-Tue Feb  3 17:15:45 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of</div><div class='del'>-	  interference by modifying global variables in have_devel? method.</div><div class='del'>-	  [ruby-core:67962] [Bug #10821]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 15:23:58 2015  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (remove_method): When remove refined</div><div class='del'>-	  method, raise a NameError if the method is not</div><div class='del'>-	  defined in refined class.</div><div class='del'>-</div><div class='del'>-	  But if the method is defined in refined class,</div><div class='del'>-	  it should keep refined method and remove original</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	  Patch by Seiei Higa. [ruby-core:67722] [Bug #10765]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 14:04:47 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): obtain real name with FindFirstFile API</div><div class='del'>-	  instead of matching all entries, on Windows.</div><div class='del'>-	  [ruby-core:67954] [Bug #10819]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 12:26:35 2015  Katsuhiko Nishimra  &lt;ktns.87@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (configuration): set the default cxxflags, which is</div><div class='del'>-	  referred from the default CXXFLAGS, for extension libraries.</div><div class='del'>-	  [Fix GH-823]</div><div class='del'>-</div><div class='del'>-Tue Feb  3 05:52:00 2015  Aman Gupta &lt;ruby@tmm1.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress</div><div class='del'>-	  during rb_objspace_free. Adds extra protection for r46340.</div><div class='del'>-	  Patch by Vicent Marti. [Bug #10768] [ruby-core:67734]</div><div class='del'>-	* gc.c (rb_objspace_call_finalizer): Ensure GC is completed after</div><div class='del'>-	  finalizers have run. We already call gc_rest() before invoking</div><div class='del'>-	  finalizers, but finalizer can allocate new objects and start new GC</div><div class='del'>-	  cycle, so we call gc_rest() again after finalizers are complete.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 10:51:34 2015  Ari Pollak  &lt;ajp@aripollak.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/security.rdoc (Symbols): update about Symbol GC.  Symbols</div><div class='del'>-	  explicitly converted from Strings now can be collected, but</div><div class='del'>-	  reflection/metaprogramming still can cause memory flooding.</div><div class='del'>-	  [Fix GH-725]</div><div class='del'>-</div><div class='del'>-Sun Feb  1 13:46:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (bin-comm): drop batch file installation.</div><div class='del'>-	  Windows 95 support has not been supported already.</div><div class='del'>-	  [Feature #10806]</div><div class='del'>-</div><div class='del'>-Sat Jan 31 12:06:23 2015  Scott Francis  &lt;scott.francis@shopify.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (reserve_stack): fix intermittent SIGBUS on</div><div class='del'>-	  Linux, by reserving the stack virtual address space at process</div><div class='del'>-	  start up so that it will not clash with the heap space.</div><div class='del'>-	  [Fix GH-822]</div><div class='del'>-</div><div class='del'>-Fri Jan 30 17:28:29 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (num2dbl_with_to_f): make faster when Bignum passed by</div><div class='del'>-	  direct conversion using rb_big2dbl().  [Feature #10800]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 23:30:00 2015  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function</div><div class='del'>-	  for rubies lower than 2.2.0.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/extconf.rb: check the existences of struct RRational,</div><div class='del'>-	  rb_rational_num, and rb_rational_den.</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.bundle: bump version.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 20:28:25 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: removed md5 digest with package information</div><div class='del'>-</div><div class='del'>-Thu Jan 29 10:41:52 2015  Kazuki Tanaka  &lt;gogotanaka@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (Get_Double): direct casting from Fixnum to double.</div><div class='del'>-	  [Feature #10785]</div><div class='del'>-</div><div class='del'>-Thu Jan 29 02:34:27 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes with</div><div class='del'>-	  instance variables when it is referenced multiple times.</div><div class='del'>-	* ext/psych/lib/psych.rb: bump version</div><div class='del'>-	* ext/psych/psych.gemspec: bump version</div><div class='del'>-	* test/psych/test_hash.rb: test for fix</div><div class='del'>-</div><div class='del'>-Thu Jan 29 02:06:09 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (struct join_arg): restructure and make smaller</div><div class='del'>-	  (thread_join_sleep): avoid timeofday() call if forever</div><div class='del'>-	  (thread_join): pass join_arg.delay directly</div><div class='del'>-	  (rb_thread_inspect_msg): remove, inline into rb_thread_inspect</div><div class='del'>-	  (rb_thread_inspect): reduce branching and string creation</div><div class='del'>-	* thread_pthread.c (native_set_thread_name): create string directly</div><div class='del'>-	  to avoid reparsing. [Misc #10723]</div><div class='del'>-</div><div class='del'>-Wed Jan 28 21:32:24 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Improve documentation for Thread#value</div><div class='del'>-	  [Bug #10694][ruby-core:67324][ci skip]</div><div class='del'>-</div><div class='del'>-Tue Jan 27 16:04:19 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: added `!` command.</div><div class='del'>-</div><div class='del'>-Tue Jan 27 15:58:23 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: added history feature for platforms which</div><div class='del'>-	  lack readline.</div><div class='del'>-</div><div class='del'>-Mon Jan 26 22:09:35 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .gitignore: ignored temporary file with git.</div><div class='del'>-</div><div class='del'>-Mon Jan 26 18:06:03 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import version 2.2.2 from</div><div class='del'>-	  https://github.com/knu/ruby-electric.el.</div><div class='del'>-</div><div class='del'>-Mon Jan 26 11:37:49 2015  Dave Stevens  &lt;dave@crowdlab.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_make_independent_expand): terminate String when</div><div class='del'>-	  moved from heap to embedded.  [Fix GH-821].</div><div class='del'>-</div><div class='del'>-Sun Jan 25 12:04:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): no need to call to_ary method on elements</div><div class='del'>-	  beyond the given level.  [ruby-core:67637] [Bug #10748]</div><div class='del'>-</div><div class='del'>-Sun Jan 25 00:42:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/win32/libffi.mk.tmpl: assemble without directory prefix.</div><div class='del'>-	  workaround of a bug of VC12 ml, by unak at [ruby-core:67792].</div><div class='del'>-	  [ruby-core:67789] [Bug #10780]</div><div class='del'>-</div><div class='del'>-Sat Jan 24 19:56:25 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dln_find.c (dln_find_1): search regular files only.  based on</div><div class='del'>-	  the patch by Alex Coomans in [ruby-core:67766].  [Bug #10776]</div><div class='del'>-</div><div class='del'>-Fri Jan 23 23:57:05 2015  Misumi Rize  &lt;r@ayase-e.li&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw_start): search the target to break</div><div class='del'>-	  from a block with nested rescue, from the nested blocks.</div><div class='del'>-	  [ruby-core:67765] [Bug #10775] [Fix GH-820]</div><div class='del'>-</div><div class='del'>-Fri Jan 23 20:00:59 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object, marshal_dump): use identity tables for</div><div class='del'>-	  arbitrary VALUE keys, because of performance of FLONUM.</div><div class='del'>-	  [Bug #10761]</div><div class='del'>-</div><div class='del'>-	* marshal.c (obj_alloc_by_klass, marshal_load): ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan 23 17:12:33 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761]</div><div class='del'>-</div><div class='del'>-Thu Jan 22 18:03:19 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (find_svn_log): use double quotes instead</div><div class='del'>-	  of single quotes because cmd.exe doesn't handle them.</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (done): the 2nd element of matched data</div><div class='del'>-	  is the offset of the end of matched string, not length.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 16:45:24 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_numhash): mix float value for flonum</div><div class='del'>-	* hash.c (rb_any_hash): ditto</div><div class='del'>-	* benchmark/bm_hash_aref_flo.rb: new benchmark</div><div class='del'>-	* benchmark/bm_hash_ident_flo.rb: ditto</div><div class='del'>-	  [Bug #10761]</div><div class='del'>-</div><div class='del'>-Wed Jan 21 22:33:51 2015  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-electric.el: Import version 2.2.1 from</div><div class='del'>-	  https://github.com/knu/ruby-electric.el.  Improve compatibility</div><div class='del'>-	  with and optimize for Emacs 24.4.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 09:40:52 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: Document other cases of missing birthtime on OS with patch</div><div class='del'>-	  provided by @sho-h similar to GH-817. [ci skip] [DOC]</div><div class='del'>-</div><div class='del'>-Wed Jan 21 09:09:19 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: References to tickets added.</div><div class='del'>-	  [ruby-core:67701] [Bug #10760] Suggested by Zachary Scott.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 22:59:54 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb: fix the exception given remote-url of svn.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 12:58:33 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: now can change the page of `ls`.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 12:28:37 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (readline): fallback to normal gets on</div><div class='del'>-	  Windows because IO.console.getch is not always do as expected.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 11:31:07 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: update usage.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 11:23:47 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (mygets): to support Backspace</div><div class='del'>-	  implement gets by itself.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 02:54:11 2015  Zachary Scott  &lt;e@zzak.io&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: NotImplementedError is raised if birthtime is unavailable.</div><div class='del'>-	  Patch by @y-yagi san and [Fixes GH-817] [ci skip] [DOC]</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 22:08:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (include_modules_at): allow to prepend each module up to</div><div class='del'>-	  once for each classe.  [EXPERIMENTAL]</div><div class='del'>-</div><div class='del'>-Sun Jan 18 18:32:20 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2): revive documentation before r49220.</div><div class='del'>-	  http://d.hatena.ne.jp/nagachika/20150112/ruby_trunk_changes_49213_49226</div><div class='del'>-</div><div class='del'>-Sun Jan 18 15:57:32 2015  Seiei Higa  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (check_definition): Module#public_method_defined?,</div><div class='del'>-	  Module#private_method_defined?, Module#protected_method_defined?</div><div class='del'>-	  should not use refinements. [ruby-core:67656] [Bug #10753]</div><div class='del'>-</div><div class='del'>-Sun Jan 18 15:50:39 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (rb_vm_bugreport): check by configured result instead</div><div class='del'>-	  of system name for old FreeBSD.  based on a patch by Steve Wills</div><div class='del'>-	  at [ruby-core:67655].  [Bug #10752]</div><div class='del'>-</div><div class='del'>-Sun Jan 18 12:56:49 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make</div><div class='del'>-	  and use newline.c under enc/trans directory, not toplevel.  no</div><div class='del'>-	  longer search enc directory implicitly.</div><div class='del'>-</div><div class='del'>-	* configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES):</div><div class='del'>-	  prefix respective directory names to builtin encodings and</div><div class='del'>-	  transcoder source names.</div><div class='del'>-</div><div class='del'>-Sun Jan 18 11:49:46 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD</div><div class='del'>-	  variable is passed by reference. [ruby-dev:48803] [Bug #10697]</div><div class='del'>-</div><div class='del'>-Sat Jan 17 23:59:15 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):</div><div class='del'>-	  anchors like `\Z` are not valid inside character class.  use</div><div class='del'>-	  negative-lookahead instead.</div><div class='del'>-	  Fixes: https://github.com/tenderlove/psych/issues/221</div><div class='del'>-</div><div class='del'>-Sat Jan 17 23:42:27 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: get rid of pattern substitution, which is not</div><div class='del'>-	  supported by ash, and ash on NetBSD parses whole source first</div><div class='del'>-	  and fails to start.  [ruby-dev:48823] [Bug #10750]</div><div class='del'>-</div><div class='del'>-Fri Jan 16 18:42:58 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: support adding related revisions</div><div class='del'>-	  to issues.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 17:20:33 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	vm.c, vm_core.h: constify VM_CF_LEP, VM_CF_PREV_EP, VM_CF_BLOCK_PTR</div><div class='del'>-	and rb_vm_control_frame_block_ptr.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 15:41:21 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bump version</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec: ditto</div><div class='del'>-</div><div class='del'>-Fri Jan 16 15:37:49 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: only dump hash</div><div class='del'>-	  subclasses. Thanks Joe Eli McIlvain &lt;joe.eli.mac@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_hash.rb: test for change</div><div class='del'>-</div><div class='del'>-Fri Jan 16 15:35:21 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych.rb: bump version</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix line width wrapping</div><div class='del'>-	  for long strings.  Thanks Jakub Jirutka &lt;jakub@jirutka.cz&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: test for change</div><div class='del'>-</div><div class='del'>-Fri Jan 16 11:44:44 2015  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, vm.c, vm_eval.c, vm_insnhelper.c:</div><div class='del'>-	  change throw mechanism (not save target ep, but save target cfp).</div><div class='del'>-	  It fixes `unexpected break' bug that occurs when</div><div class='del'>-	  TracePoint#binding is called.</div><div class='del'>-	  [ruby-dev:48797] [Bug #10689]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 23:55:15 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close_m): Don't raise when the IO object is closed.</div><div class='del'>-	  [ruby-core:67444] [Feature #10718]</div><div class='del'>-</div><div class='del'>-Thu Jan 15 21:34:57 2015  Seiei Higa  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (rb_obj_singleton_method): Kernel#singleton_method should</div><div class='del'>-	  not use refinements, as well as Kernel#method.</div><div class='del'>-	  [ruby-core:67603] [Bug #10744]</div><div class='del'>-</div><div class='del'>-Thu Jan 15 10:45:04 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select_bang, ary_reject_bang): linear</div><div class='del'>-	  performance.  [ruby-core:67418] [Feature #10714]</div><div class='del'>-</div><div class='del'>-Wed Jan 14 18:06:06 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb: raising URI::InvalidComponentError instead</div><div class='del'>-	  of failing with undefined method `split' for nil:NilClass for</div><div class='del'>-	  mailto: URIs without opaque part. [Bug #10738]</div><div class='del'>-	* test/uri/testuri.rb: Test for above</div><div class='del'>-</div><div class='del'>-Wed Jan 14 16:45:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb (RubyGems.download): verify downloaded gem</div><div class='del'>-	  packages.  LowSecurity to allow untrusted certificates now.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 15:43:48 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_refresh_line): initialize</div><div class='del'>-	  before rl_refresh_line(), as some function make the internal</div><div class='del'>-	  state non-clean but rl_refresh_line() does not re-initialize it.</div><div class='del'>-	  [ruby-core:43957] [Bug #6232]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:59:24 2015  Michal Papis  &lt;mpapis@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): fix changing permissions of installed</div><div class='del'>-	  bundled gems.  [Fix GH-812]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:57:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (distclean-local): remove autom4te.cache generated by</div><div class='del'>-	  autoconf.</div><div class='del'>-</div><div class='del'>-	* common.mk (realclean-local): remove id sources and dummy header</div><div class='del'>-	  for dtrace.  [ruby-core:67562] [Bug #10737]</div><div class='del'>-</div><div class='del'>-Tue Jan 13 21:08:22 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json, test/json: merge JSON HEAD(259dee6)</div><div class='del'>-	  separate implementation of Typed_Data macro.</div><div class='del'>-	  https://github.com/flori/json/compare/v1.8.1...v1.8.2</div><div class='del'>-</div><div class='del'>-Tue Jan 13 14:16:35 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb: get rid of accessing DNS actually</div><div class='del'>-	  for some servers returning wrong results.</div><div class='del'>-	  [ruby-core:67454] [Bug #10721]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 23:21:57 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update test-unit to 3.0.9.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 18:35:44 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (bit_coerce): use original value for error message</div><div class='del'>-	  [ruby-core:67405] [Bug #10711]</div><div class='del'>-	* test/ruby/test_numeric.rb (test_coerce): check error message</div><div class='del'>-</div><div class='del'>-Mon Jan 12 18:01:24 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with</div><div class='del'>-	  CR.  should check if substitution occurred too.</div><div class='del'>-	  [ruby-dev:48813] [Bug #10732]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 16:45:46 2015  Seiei Higa  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): raise a NameError when creating alias to</div><div class='del'>-	  a refined method if the original method of the refined method is</div><div class='del'>-	  not defined.  [ruby-core:67523] [Bug #10731]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 13:53:17 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_atan2): improve documentation.</div><div class='del'>-	  [Feature #10323][ruby-core:65400][ci skip]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 13:50:49 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: fixes documentation like labeled lists,</div><div class='del'>-	  code examples etc. [ruby-core:66730][Bug #10576][ci skip]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 13:36:44 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: improvements for OptionParser documentation.</div><div class='del'>-	  [misc #10608][ruby-core:66901][ci skip]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 13:33:52 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_each): documented return value.</div><div class='del'>-	  [misc #10469][ruby-core:66063]</div><div class='del'>-</div><div class='del'>-Sun Jan 11 15:11:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_utils.rb (test_create_listeners): use</div><div class='del'>-	  dynamically chosen port number, not hardcoded port number.</div><div class='del'>-	  [ruby-core:67508]</div><div class='del'>-</div><div class='del'>-Sat Jan 10 12:57:12 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: fix document of method signatures.</div><div class='del'>-	  [Bug #10668][ruby-core:67186][ci skip]</div><div class='del'>-</div><div class='del'>-Sat Jan 10 12:32:44 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (error_print): pos and len parameters of rb_str_substr()</div><div class='del'>-	  are counted by characters, not bytes.  use rb_str_subseq() instead.</div><div class='del'>-	  [Bug #10727] [ruby-core:67473]</div><div class='del'>-</div><div class='del'>-Sat Jan 10 10:58:55 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Sat Jan 10 10:57:19 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c: removed commented-out code.</div><div class='del'>-	  [Feature #10376][ruby-core:65643]</div><div class='del'>-</div><div class='del'>-Sat Jan 10 10:12:15 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_select_bang): keep the array consistent by</div><div class='del'>-	  removing unselected values soon.  [ruby-dev:48805] [Bug #10722]</div><div class='del'>-</div><div class='del'>-Fri Jan  9 23:20:04 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems:  Update to RubyGems HEAD(e53c54a).</div><div class='del'>-	* test/rubygems:  ditto.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 11:13:01 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assocs, assoc): eliminate splatting empty literal</div><div class='del'>-	  hashes.  [ruby-core:67446] [Bug #10719]</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_array_): support splatted hash in hash type.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 10:57:09 2015  Vit Ondruch  &lt;vondruch@redhat.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_SETJMP_TYPE): Remove superfluous semicolon</div><div class='del'>-	  which causes a syntax error with autoconf 2.63.</div><div class='del'>-	  [ruby-core:67429] [Bug #10716]</div><div class='del'>-</div><div class='del'>-Fri Jan  9 07:23:32 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: correctly quote non-ascii</div><div class='del'>-	  letters. Thanks @jirutka for the patch.</div><div class='del'>-</div><div class='del'>-	* test/psych/test_string.rb: test for change</div><div class='del'>-</div><div class='del'>-Fri Jan  9 07:13:55 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: call `allocate` on hash</div><div class='del'>-	  subclasses.  Fixes github.com/tenderlove/psych/issues/196</div><div class='del'>-</div><div class='del'>-	* test/psych/test_hash.rb: test for change</div><div class='del'>-</div><div class='del'>-Fri Jan  9 06:58:43 2015  Aaron Patterson &lt;aaron@tenderlovemaking.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/to_ruby.rb: revive hashes with ivars</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb: dump hashes with ivars.</div><div class='del'>-	  Fixes github.com/psych/issues/43</div><div class='del'>-</div><div class='del'>-	* test/psych/test_hash.rb: test for change</div><div class='del'>-</div><div class='del'>-Thu Jan  8 17:05:00 2015  Seiei Higa  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_method_entry): if no super class, no original</div><div class='del'>-	  method entry.  [ruby-core:67389] [Bug #10707]</div><div class='del'>-</div><div class='del'>-Thu Jan  8 16:31:43 2015  Seiei Higa  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_export_method): bail out if the original method</div><div class='del'>-	  is undefined when the method is refined.</div><div class='del'>-	  [ruby-core:67387] [Bug #10706]</div><div class='del'>-</div><div class='del'>-Thu Jan  8 12:53:44 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob_helper): match in case-folding only if the directory</div><div class='del'>-	  resides on a case-insensitive file system, on OSX.</div><div class='del'>-	  [ruby-core:67364] [Bug #10700]</div><div class='del'>-</div><div class='del'>-Thu Jan  8 11:39:18 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: Remove redundant configuration option.</div><div class='del'>-	  [fix GH-809] Patch by @gxworld</div><div class='del'>-</div><div class='del'>-Thu Jan  8 07:17:14 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb: consider ENETUNREACH as ResolvTimeout</div><div class='del'>-	  [ruby-core:67411] [Bug #10712]</div><div class='del'>-</div><div class='del'>-Thu Jan  8 00:13:52 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: Open3 properly passes non-keyword hash args to spawn.</div><div class='del'>-	  Fixed by Josh Cheek.  [Fix GH-808]</div><div class='del'>-	  Related to [ruby-core:67347] [Bug #10699]</div><div class='del'>-</div><div class='del'>-Wed Jan  7 19:19:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_initialize): workaround of opendir failure at symlink</div><div class='del'>-	  directories on Windows via CIFS.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 18:52:50 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (need_normalization): not only HFS+, CIFS (SMB) is also</div><div class='del'>-	  decomposed.  [Bug #10704]</div><div class='del'>-</div><div class='del'>-	* dir.c (NORMALIZE_UTF8PATH): Unicode decomposition seems to</div><div class='del'>-	  perform in an upper layer than file systems on OSX, as all path</div><div class='del'>-	  names are always decomposed regardless of file system types.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 21:41:04 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (timelocalw): Set tm_isdst field -1 if vtm-&gt;isdst is</div><div class='del'>-	  VTM_ISDST_INITVAL.  This bug is introduced at packing struct</div><div class='del'>-	  vtm (r45155).</div><div class='del'>-	  [ruby-core:67345] [Bug #10698] Reported by Boris Ruf.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 03:10:54 2015  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_handle.rb: fix syntax.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 00:16:10 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty</div><div class='del'>-	  which is always a shared object and is not used by others.</div><div class='del'>-	  [ruby-dev:48629] [Bug #10384]</div><div class='del'>-</div><div class='del'>-Mon Jan  5 14:58:01 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: added timeout for AIX environment.</div><div class='del'>-	  [ruby-core:62983][Bug #9917]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 22:33:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (ExcludesOption): add "excludes" support</div><div class='del'>-	  to test suite, for alternative implementations and platforms.</div><div class='del'>-	  [Feature #10682]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 22:32:42 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit): reorder modules and merge</div><div class='del'>-	  each modules.</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit): split the large class into</div><div class='del'>-	  each modules.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 21:32:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_label): return tLABEL value as it is.</div><div class='del'>-	  [ruby-core:67315] [Bug #10693]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 14:02:37 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit/parallel.rb (run): expand the file name to be</div><div class='del'>-	  loaded, so that relative paths work in parallel mode.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 13:36:56 2015  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_tempfile.rb: use assert_file for more descriptive message.</div><div class='del'>-	  following r49131.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 13:05:09 2015  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: improve docs for String#&lt;=&gt;. [ruby-core:65399][Feature #10322]</div><div class='del'>-	  Patch by gogo tanaka.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 12:42:24 2015  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: improve docs for Array#reject. [ruby-core:65324][misc #10307]</div><div class='del'>-	  Patched by Nebu Pookins.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 12:24:11 2015  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: improve docs for String#strip and variations.</div><div class='del'>-	  [ruby-core:66081][Bug #10476]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 09:21:04 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb: removed unused argument. Patch by @vipulnsward</div><div class='del'>-	  [fix GH-515]</div><div class='del'>-</div><div class='del'>-Sun Jan  4 09:18:31 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: provide default basename parameter.</div><div class='del'>-	  [fix GH-523] Patch by @dissolved</div><div class='del'>-	* test/test_tempfile.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun Jan  4 00:43:41 2015  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.ja.md: add guidance of mailing list and bugs.r-l.o.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 23:56:28 2015  Ayumu AIZAWA  &lt;ayumu.aizawa@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c: fix docs for Hash#invert. [ruby-core:66917] [Bug #10612]</div><div class='del'>-</div><div class='del'>-Sat Jan  3 19:52:12 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_str_new_literal): define on all</div><div class='del'>-	  platforms, not only gcc.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 18:53:28 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word</div><div class='del'>-	  number as the rest are not used.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 18:19:50 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/cparser.rb: r49110 broke Fiddle::Import with</div><div class='del'>-	  type_alias.</div><div class='del'>-	* test/fiddle/test_cparser.rb: added type_alias test for parse_ctype</div><div class='del'>-	  and parse_struct_signature.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 11:50:16 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: avoid to build failure of Windows environment.</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 11:27:46 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c: Improve performance of Array#shift. use shared instead of</div><div class='del'>-	  MEMMOVE if with arguments. Patch by @ksss [fix GH-537]</div><div class='del'>-	* test/ruby/test_array.rb: ditto.</div><div class='del'>-	* benchmark/bm_array_shift.rb: Added benchmark of GH-537 issue.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 10:38:52 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: More descriptive error message when net/http fails</div><div class='del'>-	  to connect to a server. Patch by @xaviershay [fix GH-700]</div><div class='del'>-	* test/net/http/test_http.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 10:14:51 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: Make `SSL_SESSION_cmp` use `CRYPTO_memcmp`</div><div class='del'>-	  [fix GH-591] Patch by @PiPeep</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 09:54:32 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/lib/fiddle/cparser.rb: Support for Fiddle::CParser</div><div class='del'>-	  to handle rich signatures including parameter names and function</div><div class='del'>-	  pointer types. Patch by @theryan [fix GH-590]</div><div class='del'>-	* test/fiddle/test_cparser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  3 09:01:43 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added compatibility entry of r49101.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 21:06:59 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#send_request): there is no response body</div><div class='del'>-	  with HEAD request. Patch by @rodrigosaito [fix GH-520]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 21:04:36 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_http.rb (_test_send_request__HEAD): Added</div><div class='del'>-	  failing test for send_request with HEAD method.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 18:41:20 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init): Print ruby_setup() error only in debug mode.</div><div class='del'>-	  Unsuppressable error message is not a good idea.</div><div class='del'>-	  Note that the message is printed sometimes with following</div><div class='del'>-	  code (highly timing dependent, though):</div><div class='del'>-	  pid = spawn("ruby -e ''"); Process.kill(:TERM, pid)</div><div class='del'>-</div><div class='del'>-Fri Jan  2 16:18:44 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: Refactor invalid testcase.</div><div class='del'>-	  [fix GH-472][ruby-core:59035][Bug #9240]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 15:53:00 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb: removed unused argument variable.</div><div class='del'>-	  [fix GH-356] Patch by @vipulnsward</div><div class='del'>-	* lib/webrick/server.rb: ditto.</div><div class='del'>-	* lib/webrick/ssl.rb: ditto.</div><div class='del'>-	* test/webrick/test_utils.rb: added test for WEBrick::Utils#create_listeners.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 15:35:53 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb: improve syntax and grammar of documentation.</div><div class='del'>-	  [fix GH-796][ci skip] Patch by @Erol</div><div class='del'>-</div><div class='del'>-Fri Jan  2 15:10:01 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (OpenSSL#test_ctx_client_session_cb):</div><div class='del'>-	  fix test failure with OpenSSL disabled SSLv3 protocol.</div><div class='del'>-	  [ruby-core:63772] [Bug #10046]</div><div class='del'>-</div><div class='del'>-Fri Jan  2 09:08:31 2015  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality.</div><div class='del'>-	  (Resolv::DNS::Name#initialize): Normalize labels as</div><div class='del'>-	  Resolv::DNS::Label::Str objects.</div><div class='del'>-</div><div class='del'>-Thu Jan  1 21:41:49 2015  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc: fix regexp docs for whitespace character.</div><div class='del'>-	  [ruby-dev:48765] [Bug #10624]</div><div class='del'>-</div><div class='del'>-Thu Jan  1 17:50:52 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: try locale encoding name.</div><div class='del'>-	  [ruby-core:67109] [Bug #10643]</div><div class='del'>-</div><div class='del'>-Thu Jan  1 11:07:12 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_gc_free_dsymbol): delete from global fstr hash</div><div class='del'>-	* test/ruby/test_symbol.rb (test_symbol_fstr_leak): test for bug</div><div class='del'>-	  [ruby-core:67268] [Bug #10686]</div><div class='del'>-</div><div class='del'>-Thu Jan  1 09:14:21 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (keyword_hash_p): fix non-symbol keys hash.</div><div class='del'>-	  rb_extract_keywords() returns 0 not Qnil when no symbol keys is</div><div class='del'>-	  included.  [ruby-core:67264] [Bug #10685]</div><div class='del'>-</div><div class='del'>-Wed Dec 31 17:48:43 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Label::Str#initialize): Set encoding</div><div class='del'>-	  ASCII-8BIT before downcase.  case insensitivity of DNS labels doesn't</div><div class='del'>-	  apply non-ASCII characters.  [RFC 4343]</div><div class='del'>-</div><div class='del'>-Wed Dec 31 16:48:44 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable_gen): disable warnings of possible reference</div><div class='del'>-	  to a local variable defined in a past scope.</div><div class='del'>-	  [ruby-core:67162] [Bug #10661]</div><div class='del'>-</div><div class='del'>-Wed Dec 31 13:43:48 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str</div><div class='del'>-	  objects.  Label#Str#== is case-insensitive.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 16:16:12 2014  Ben Miller  &lt;bmiller@rackspace.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the</div><div class='del'>-	  comparison should be case-insensitive as well.</div><div class='del'>-	  [ruby-core:66498] [Bug #10550]</div><div class='del'>-</div><div class='del'>-Tue Dec 30 16:03:45 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS::Name): names with different dots</div><div class='del'>-	  should be different.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 13:16:56 2014  Martin Duerst  &lt;bernhard+git@lsmod.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: Initialize HTML5ASCIIINCOMPAT to empty Array</div><div class='del'>-	  to avoid error during bootstrap when encodings are not yet defined.</div><div class='del'>-	  [Bug #10678]</div><div class='del'>-</div><div class='del'>-Tue Dec 30 09:29:26 2014  Bernhard M. Wiedemann  &lt;bernhard+git@lsmod.de&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c (Init_dbm): [DOC] as UNIX permissions are octal</div><div class='del'>-	  numbers, needs to be prefixed by 0.  [Fix GH-800]</div><div class='del'>-</div><div class='del'>-Tue Dec 30 08:57:39 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize.rb: typo fix. [ci skip]</div><div class='del'>-	  [ruby-dev:48794][misc #10675]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 19:38:01 2014  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION): 2.3.0 development has started.</div><div class='del'>-</div><div class='del'>-Mon Dec 29 18:58:46 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): append escape sequence as-is not</div><div class='del'>-	  unescaped character, to get rid of unexpected meta-character.</div><div class='del'>-	  [ruby-core:67193] [Bug #10670]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 14:27:33 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/literals.rdoc (Symbols): now Symbols created by</div><div class='del'>-	  interpolation can be garbage collected.  patch by Yihang Ho in</div><div class='del'>-	  [ruby-core:67194].  [Bug #10671]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 11:18:17 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_variable_get): fix dynamic symbol keys.</div><div class='del'>-	  rb_check_id() returns non-zero only for static symbols, whereas</div><div class='del'>-	  thread local variable keys can be dynamic symbols.</div><div class='del'>-	  [ruby-core:67185] [Bug #10667]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 10:37:27 2014  Thiago Lewin  &lt;thiago_lewin@yahoo.com.br&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): [DOC] workaround for YARD doc.  [Fix GH-799]</div><div class='del'>-</div><div class='del'>-	* process.c (proc_detach): [DOC] fix missing closing parenthesis.</div><div class='del'>-	  [Fix GH-799]</div><div class='del'>-</div><div class='del'>-Mon Dec 29 07:27:23 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json, test/json: merge JSON HEAD(17fe8e7)</div><div class='del'>-	  https://github.com/flori/json/compare/v1.8.1...17fe8e7</div><div class='del'>-</div><div class='del'>-Sun Dec 28 23:49:37 2014  Michal Papis  &lt;mpapis@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* rbinstall.rb: fix target location for installing bundled gems.</div><div class='del'>-	  install to the prepared directory instead of default Gem.dir,</div><div class='del'>-	  not to be affected GEM_HOME environment variable.  [Fix GH-798]</div><div class='del'>-</div><div class='del'>-Sun Dec 28 18:19:28 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/iseq_load/test_iseq_load.rb</div><div class='del'>-	  (test_next_in_block_in_block): test using ISeq#eval</div><div class='del'>-	  (test_break_ensure): ditto</div><div class='del'>-	  [ruby-core:66988]</div><div class='del'>-</div><div class='del'>-Sun Dec 28 16:25:12 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (EXTOBJS): override to add resource files</div><div class='del'>-	  always.  [ruby-core:67153] [Bug #10657]</div><div class='del'>-</div><div class='del'>-Sun Dec 28 13:54:26 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and</div><div class='del'>-	  keywords bits arguments should be unique.  since internal IDs</div><div class='del'>-	  depend on the local variable index in the current scope, new ID</div><div class='del'>-	  should be made before popping those vtables.</div><div class='del'>-	  [ruby-core:67157] [Bug #10659]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 20:12:55 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c (JSON_Generator_State_type): add</div><div class='del'>-	  #ifdef for backward compatibility.</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (JSON_Parser_type): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.h (ZALLOC): add fallback definition.</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.h (ZALLOC): ditto.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 16:54:05 2014  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: Unused code removed.</div><div class='del'>-	  It seems waitpid() is universally available on POSIX platforms.</div><div class='del'>-</div><div class='del'>-Sat Dec 27 15:08:27 2014  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_living_threads_insert): preserve order</div><div class='del'>-	  [Bug #10660] [ruby-core:67154] [ruby-core:67159]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 13:08:20 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: improved document for YARD doc.</div><div class='del'>-	  [fix GH-795][ci skip] Patch by @tlewin</div><div class='del'>-</div><div class='del'>-Sat Dec 27 10:11:21 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tcllib/plotchart.rb: fix to invoke correct function</div><div class='del'>-	  of tcllib. Patch by @zalt50 [fix GH-787]</div><div class='del'>-</div><div class='del'>-Sat Dec 27 10:03:41 2014  SHIBATA Hiroshi  &lt;shibata.hiroshi@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot: show sha1 digest when making packages.</div><div class='del'>-	  it's request from https://github.com/ruby/www.ruby-lang.org/issues/921</div><div class='del'>-	  [fix GH-794]</div><div class='del'>-</div><div class='del'>-Fri Dec 26 15:32:16 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_invoke_core): remove probably duplicate</div><div class='del'>-	  dead code.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 15:28:27 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tcltklib.c (ip_ruby_cmd_receiver_const_get): simply use</div><div class='del'>-	  rb_path2class() to get a class/module from its name.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 15:20:54 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_long): append at once by w_nbyte() instead of</div><div class='del'>-	  appending byte by byte.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 15:13:13 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/parser/parser.rl (unescape_unicode): check if valid</div><div class='del'>-	  before bit-or assignments.</div><div class='del'>-	  reported by Denis Denisov &lt;denji0k AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (nkf_iconv_t): fix a missing semicolon.</div><div class='del'>-	  reported by Denis Denisov &lt;denji0k AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_spawn_process): get rid of usage of uninitialized</div><div class='del'>-	  variable.</div><div class='del'>-	  reported by Denis Denisov &lt;denji0k AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_wc2mb_alloc, ole_vstr2wc, ole_mb2wc):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* dir.c (ruby_glob0): no need to check never-NULL pointer.</div><div class='del'>-	  reported by Denis Denisov &lt;denji0k AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_file_expand_path_internal): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (code_page_i): handle realloc failure.</div><div class='del'>-	  reported by Denis Denisov &lt;denji0k AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-	* win32/stub.c (stub_sysinit): ditto.</div><div class='del'>-</div><div class='del'>-	* fix printf format conversion specifiers.</div><div class='del'>-	  reported by Denis Denisov &lt;denji0k AT gmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 01:41:40 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable.</div><div class='del'>-	  [Bug #10647] [ruby-dev:48787]</div><div class='del'>-</div><div class='del'>-Fri Dec 26 01:24:42 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: support old versions of ruby.</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: now can download gems by http if openssl is not</div><div class='del'>-	  available (this may be danger!)</div><div class='del'>-</div><div class='del'>-Fri Dec 26 00:13:48 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_extlibs.rb: check existence of extension libraries</div><div class='del'>-	  which not depend on outer libraries. (experimental)</div><div class='del'>-</div><div class='del'>-Thu Dec 25 21:58:15 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/extconf.rb: make PIC objects if it will be linked as</div><div class='del'>-	  a shared object eventually.  [ruby-core:67128]</div><div class='del'>-</div><div class='del'>-Thu Dec 25 19:01:13 2014  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/fiddle/win32/libffi-3.2.1-mswin.patch: support mswin32.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 17:30:40 2014  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (wmap_final_func): fix memory size shortage when realloc wmap.</div><div class='del'>-	  Fix SEGV during finalize of WeakRef on Solaris (though the SEGV</div><div class='del'>-	  could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646]</div><div class='del'>-</div><div class='del'>-Thu Dec 25 17:27:06 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (NET_LUID): include winsock2.h instead of windows.h.</div><div class='del'>-	  patch by Jon Forums in [ruby-core:67125].  [Bug #10640]</div><div class='del'>-</div><div class='del'>-Thu Dec 25 16:14:10 2014  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_dev): send the given arguments</div><div class='del'>-	  to the opened console.  as a special case, do nothing if :close</div><div class='del'>-	  is given.</div><div class='del'>-</div><div class='del'>-	* test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if</div><div class='del'>-	  console.</div><div class='del'>-</div><div class='del'>-For the changes before 2.2.0, see doc/ChangeLog-2.2.0</div><div class='del'>-For the changes before 2.1.0, see doc/ChangeLog-2.1.0</div><div class='del'>-For the changes before 2.0.0, see doc/ChangeLog-2.0.0</div><div class='del'>-For the changes before 1.9.3, see doc/ChangeLog-1.9.3</div><div class='del'>-For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-coding: us-ascii</div><div class='del'>-add-log-time-format: (lambda ()</div><div class='del'>-  (let* ((time (current-time))</div><div class='del'>-	 (system-time-locale "C")</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-change-log-indent-text: 2</div><div class='del'>-end:</div><div class='del'>-vim: tabstop=8 shiftwidth=2</div><div class='head'>diff --git a/doc/ChangeLog-2.4.0 b/doc/ChangeLog-2.4.0<br/>deleted file mode 100644<br/>index 96b5ecb077..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-2.4.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2.4.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,9492 +0,0 @@</div><div class='del'>-Mon Nov  7 00:32:45 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint):</div><div class='del'>-	  ignore on Windows because we cannot handle signaled status of child</div><div class='del'>-	  ruby process on this platform.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 23:36:07 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint):</div><div class='del'>-	  send SIGKILL if the child process doesn't die within 1 second.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 21:54:28 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (export_changelog): generate ChangeLog file from</div><div class='del'>-	  vcs's log. [Feature #12283]</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): overwrite ChangeLog by generated</div><div class='del'>-	  ChangeLog.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 21:36:33 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Added entry for RDoc 5.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 21:35:37 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: ordered entries and adjust styles.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 18:23:31 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Added entry for [Feature #12160][ruby-core:74239]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 18:18:25 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Added entry for r56624.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 15:53:03 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (-Wno-maybe-uninitialized): gcc 6 also shows the same</div><div class='del'>-	  warnings as described in r49410.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 14:42:50 2016  takkanm  &lt;takkanm@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_include, rb_mod_prepend): check if arguments are</div><div class='del'>-	  given, as well as Kernel#extend.  [ruby-dev:49854] [Bug #12887]</div><div class='del'>-	  [Fix GH-1470]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 11:59:05 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast,</div><div class='del'>-	  test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast</div><div class='del'>-	  address is not available.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 11:53:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (Binding#irb): new method like Binding#pry.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 11:48:55 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/smtp/test_smtp.rb (test_tls_connect, test_tls_connect):</div><div class='del'>-	  use Socket.tcp_server_sockets in case localhost is resolved to ::1.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 11:49:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb (IRB::Irb#run): split from IRB.start.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 11:45:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/e2mmap.rb (E2MM.def_exception): remove old definition if</div><div class='del'>-	  exists so that works multiple times.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 10:03:00 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint):</div><div class='del'>-	  don't use sleep to run faster.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 09:58:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_fillarg): honor the given path environment</div><div class='del'>-	  variable.  [ruby-core:53103] [Bug #8004]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 01:52:31 2016  Akira Matsuda  &lt;ronnie@dio.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: Alias regist_scanner to register_scanner</div><div class='del'>-</div><div class='del'>-Sun Nov  6 01:39:36 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (tailcallable_p): disable tail call optimization for</div><div class='del'>-	  toplevel, eval, and load to avoid SEGV when interrupted by SIGINT.</div><div class='del'>-	  [ruby-core:76327] [Bug #12576]</div><div class='del'>-</div><div class='del'>-Sun Nov  6 01:28:41 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.h: rename REG_(CFP|PC|SP|EP) to VM_REG_....</div><div class='del'>-	  [Bug #12527]</div><div class='del'>-</div><div class='del'>-	* vm_exec.c: ditto.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 00:25:11 2016  Sho Hashimoto  &lt;sho.hsmt@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (InitVM_Enumerator): Enumerator::Lazy#chunk_while</div><div class='del'>-	  defined.  [Fix GH-1186]</div><div class='del'>-	  https://github.com/ruby/ruby/pull/1186</div><div class='del'>-</div><div class='del'>-Sun Nov  6 00:22:51 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_cfunc_with_frame): pass method id to</div><div class='del'>-	  dtrace hook. follow up r56592.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 00:06:38 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::LOC::Coord.create): fixed.</div><div class='del'>-	  [ruby-core:72567] [Bug #11912] fixed by Eric Wong and Kazuhiro</div><div class='del'>-	  NISHIYAMA.</div><div class='del'>-</div><div class='del'>-Sun Nov  6 00:03:09 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (-Wimplicit-fallthrough): gcc7 introduces case</div><div class='del'>-	  fall through warnings but it is too noisy.</div><div class='del'>-	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652</div><div class='del'>-</div><div class='del'>-Sat Nov  5 23:58:32 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_round): cast to SIGNED_VALUE to suppress</div><div class='del'>-	  warnings by -Wsign-compare.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 23:48:27 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_home_dir_of): convert given username into filesystem</div><div class='del'>-	  encoding. [ruby-core:76682] [Bug #12652]</div><div class='del'>-	  patched by Davis Mosans</div><div class='del'>-</div><div class='del'>-Sat Nov  5 23:46:03 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (vtm_add_offset): Fix yday on last day of year.</div><div class='del'>-	  [ruby-core:72878] [Bug #11994] Fixed by Andrew White.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 23:30:41 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP.post): new convenience method to send</div><div class='del'>-	  a POST request.  [ruby-core:75484] [Feature #12375]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 23:03:54 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (transport_request): other than HTTPContinue</div><div class='del'>-	  in 1xx (HTTPInformation) also needs to continue. [Bug #12890]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 22:51:06 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (make_time): "now" argument as nil works again.</div><div class='del'>-	  This is broken since Ruby 2.2.</div><div class='del'>-	  Mathieu Jobin pointed a problem.</div><div class='del'>-	  https://github.com/ruby/ruby/commit/e4b05d91eb0d48fd172abf015c493bb42d755d07#commitcomment-17421387</div><div class='del'>-</div><div class='del'>-Sat Nov  5 22:50:13 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#==): If coercion fails, return false</div><div class='del'>-	  instead of passing through the exception. [ruby-core:77451]</div><div class='del'>-	  [Bug #12799]</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb (IPAddr#&lt;=&gt;): If coercion fails, return nil</div><div class='del'>-	  instead of passing through the exception. [ruby-core:77451]</div><div class='del'>-	  [Bug #12799]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 22:11:33 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (tracepoint_attr_callee_id, rb_tracearg_callee_id):</div><div class='del'>-	  add TracePoint#callee_id. [ruby-core:77241] [Feature #12747]</div><div class='del'>-</div><div class='del'>-	* cont.c, eval.c, gc.c, include/ruby/intern.h, insns.def, thread.c,</div><div class='del'>-	  vm.c, vm_backtrace.c, vm_core.h, vm_eval.c, vm_insnhelper.c, vm_trace.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: tests for above.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 22:09:48 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, method.h, proc.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c:</div><div class='del'>-	  TracePoint#method_id should return method_id, not callee_id.</div><div class='del'>-	  [ruby-core:77241] [Feature #12747]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: change accordingly.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 18:49:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round, int_round): support round-to-nearest-even</div><div class='del'>-	  semantics of IEEE 754 to match sprintf behavior, and add `half:`</div><div class='del'>-	  optional keyword argument for the old behavior.</div><div class='del'>-	  [ruby-core:76273] [Bug #12548]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 18:17:54 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#compare_by_identity, Set#compare_by_identity?):</div><div class='del'>-	  New methods. [Feature #12210]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 18:17:08 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0</div><div class='del'>-	  Release note: https://github.com/rdoc/rdoc/blob/b825775647f62c5b525e9780a28ff2fbb1d5bf6f/History.rdoc#500--2016-11-05</div><div class='del'>-</div><div class='del'>-Sat Nov  5 17:29:06 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::DNS#extract_resources): Use each_resource</div><div class='del'>-	  instead of each_answer.</div><div class='del'>-	  [ruby-core:75461] [Bug #12372] reported by Rafael Fernandez Lopez.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 17:18:24 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/file/fs.c (get_atime_p): Updating of file access times</div><div class='del'>-	  is enabled or not.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 16:28:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (extract_getline_opts): extract chomp option.</div><div class='del'>-	  [Feature #12553]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 15:58:24 2016  Sho Hashimoto  &lt;sho-h@netlab.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: [DOC] add rbconfig documentation.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 15:42:52 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (tlsconnect): support timeout for TLS handshake.</div><div class='del'>-	  [ruby-core:76893] [Bug #12678]</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb (ssl_socket_connect): new method to implement</div><div class='del'>-	  timeout for TLS handshake.</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (connect): use Net::Protocol#ssl_socket_connect.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 14:17:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (brace_body, do_body): since cmdarg_stack is saved in</div><div class='del'>-	  VALUE val, should restore from the same member.  on big-endian</div><div class='del'>-	  platforms where VALUE is larger than int, it restored 0 in the</div><div class='del'>-	  upper word.  [ruby-core:77920] [Bug #12900]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 13:52:52 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb (Shellwords#shellsplit): Fix the handling of</div><div class='del'>-	  the backslash in double quotes to conform to the standard.</div><div class='del'>-	  [ruby-core:63807] [Bug #10055]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 12:14:31 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (Pathname#empty?): New method.</div><div class='del'>-	  [ruby-core:76404] [Feature #12596] Proposed by John Backus.</div><div class='del'>-</div><div class='del'>-Sat Nov  5 11:53:02 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_refine_alias_in_subclass):</div><div class='del'>-	  add a test to check that alias in subclasses can be refined.</div><div class='del'>-	  [ruby-core:69374] [Bug #11186]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 11:20:57 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (cont_new): disable optimization if clang's version is</div><div class='del'>-	  3.8.0.  [ruby-core:77894] [Bug #12893]</div><div class='del'>-</div><div class='del'>-Sat Nov  5 10:07:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb (TestFile#test_stat): fix noatime case.</div><div class='del'>-	  [ruby-core:77943] [Bug #12903]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 17:52:44 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_page_resurrect): do not return tomb_pages when</div><div class='del'>-	  page-&gt;freelist == NULL.</div><div class='del'>-	  [Bug #12670]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 16:31:45 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_dtoa): round to even, instead of rounding to</div><div class='del'>-	  nearest.  [ruby-core:77864] [Bug #12889]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 15:31:00 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add compiler version message into rbconfig</div><div class='del'>-	  as RbConfig::CONFIG['CC_VERSION_MESSAGE']. [Feature #12896]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 13:03:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_digits): Fix exception message</div><div class='del'>-	  [ruby-core:77502] [Bug #12815]</div><div class='del'>-</div><div class='del'>-Fri Nov  4 10:51:16 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pathname/pathname.c (path_hash): fix unnormalized Fixnum</div><div class='del'>-	  value bug on mingw/mswin.</div><div class='del'>-</div><div class='del'>-Fri Nov  4 10:35:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils::Entry_#copy): ensure that the</div><div class='del'>-	  source entry exists first, to fix error for non-existent entry.</div><div class='del'>-	  [ruby-core:77885] [Bug #12892]</div><div class='del'>-</div><div class='del'>-Thu Nov  3 21:45:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Import changes from ruby/bigdecimal</div><div class='del'>-	  repository.</div><div class='del'>-</div><div class='del'>-Thu Nov  3 15:01:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c: include sys/sysmacros.h for ArchLinux which deprecated</div><div class='del'>-	  use of major() and minor() in sys/types.h.</div><div class='del'>-</div><div class='del'>-Wed Nov  2 08:45:49 2016  Dmitry Gritsay  &lt;unseductable@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: set ANYARGS as arguments for func1 and func2.</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: mention the exception object which is passed</div><div class='del'>-	  to func2 as the second argument.  [Fix GH-1471]</div><div class='del'>-</div><div class='del'>-Wed Nov  2 07:34:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num_coerce_bit): enable bit operations with</div><div class='del'>-	  coercing by non-integer object.  [ruby-core:77783] [Bug #12875]</div><div class='del'>-</div><div class='del'>-Tue Nov  1 01:31:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ac_cv_func_round): round(3) in x86_64-w64-mingw32</div><div class='del'>-	  is not accurate in an edge case.  [ruby-core:77794] [Bug #12878]</div><div class='del'>-</div><div class='del'>-Mon Oct 31 17:36:04 2016  Code Ahss  &lt;aycabta@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_forwardable.rb (TestForwardable#test_on_private_method):</div><div class='del'>-	  add test for [Bug #12782] [Bug #12840]</div><div class='del'>-</div><div class='del'>-Mon Oct 31 11:08:51 2016  Samuel Williams  &lt;samuel.williams@oriontransfer.co.nz&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#merge): merge merge0.</div><div class='del'>-	  [GH-1469]</div><div class='del'>-</div><div class='del'>-Sun Oct 30 15:32:43 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update</div><div class='del'>-	  rubygems to 2.6.8.</div><div class='del'>-	  Release note of 2.6.8: https://github.com/rubygems/rubygems/commit/9fb8880976f5ab998912898b091d88aa10eb1d4a</div><div class='del'>-</div><div class='del'>-Sun Oct 30 06:39:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1254.c: Fix typo. Reported by k-takata at</div><div class='del'>-	  https://github.com/k-takata/Onigmo/commit/ceb59cc. Thanks!</div><div class='del'>-</div><div class='del'>-Sat Oct 29 19:59:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (cond0): !-operator is a method call, no warning for</div><div class='del'>-	  literal in condition.  [ruby-core:77801] [Bug #12881]</div><div class='del'>-</div><div class='del'>-Sat Oct 29 10:09:38 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): turn flip-flop in a not-operator</div><div class='del'>-	  into a boolean value.  fix up r56315</div><div class='del'>-</div><div class='del'>-Sat Oct 29 09:39:14 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): follow the original class, not to</div><div class='del'>-	  loop the prepended module.  [ruby-core:77784] [Bug #12876]</div><div class='del'>-</div><div class='del'>-Sat Oct 29 00:14:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/windows-1255-tbl.rb: update mapping from 0xCA to</div><div class='del'>-	  U+05BA.  [Feature #12877]</div><div class='del'>-</div><div class='del'>-Fri Oct 28 23:22:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend: extract transcode_tblgen method calls for libraries</div><div class='del'>-	  loaded by dynamically generated names, in single_byte.trans.</div><div class='del'>-</div><div class='del'>-Fri Oct 28 16:05:03 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): extract float value only if the</div><div class='del'>-	  Float method is not redefined.</div><div class='del'>-</div><div class='del'>-Fri Oct 28 15:58:16 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (RB_OBJ_BUILTIN_TYPE): special-const safe</div><div class='del'>-	  BUILTIN_TYPE.</div><div class='del'>-</div><div class='del'>-Fri Oct 28 15:20:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (id_finite_p, id_infinite_p, id_rationalize, id_PI):</div><div class='del'>-	  initialize static IDs.</div><div class='del'>-</div><div class='del'>-	* complex.c (FINITE_TYPE_P): extract predicate.</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_finite_p, rb_complex_infinite_p): use</div><div class='del'>-	  dedicated predicates instead of switch by TYPE.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 23:28:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_integer_type_p): turn into macro to help</div><div class='del'>-	  clang based on old gcc to eliminate CSE.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 16:33:47 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (rel): check the exception and show right</div><div class='del'>-	  message.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 14:57:33 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/lib/socket.rb (UDPSocket#recvfrom_nonblock): [DOC] Remove</div><div class='del'>-	  a false statement "If _maxlen_ is omitted, its default value is</div><div class='del'>-	  65536." maxlen, the first parameter, cannot be omitted as the method</div><div class='del'>-	  signature indicates. This hasn't changed ever since it was first</div><div class='del'>-	  implemented.</div><div class='del'>-</div><div class='del'>-Thu Oct 27 09:42:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_convert_to_integer): convert a fixable float to a</div><div class='del'>-	  fixnum directly without the conversion method, as well as bignum</div><div class='del'>-	  case.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_convert_to_integer): should not drop the converted</div><div class='del'>-	  string.</div><div class='del'>-</div><div class='del'>-Wed Oct 26 17:09:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_intern): use prefixed version macro</div><div class='del'>-	  RUBY_CONST_ID_CACHE.</div><div class='del'>-</div><div class='del'>-Wed Oct 26 11:28:25 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: added several entries which (if I remember correctly) are</div><div class='del'>-	  added in a year.</div><div class='del'>-</div><div class='del'>-Tue Oct 25 12:54:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_internal): follow the original class, not to loop</div><div class='del'>-	  the prepended module.  [ruby-core:77591] [Bug #12832]</div><div class='del'>-</div><div class='del'>-Mon Oct 24 10:52:17 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit::Parallel#deal): update the</div><div class='del'>-	  job status after a task finished, to show idling workers.</div><div class='del'>-</div><div class='del'>-Mon Oct 24 10:51:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex): undefine methods inherited from</div><div class='del'>-	  Comparable, because Complex does not have &lt;=&gt; method.</div><div class='del'>-	  [Bug #12866]</div><div class='del'>-</div><div class='del'>-	* class.c (rb_undef_methods_from): undefine methods defined in</div><div class='del'>-	  super from klass.</div><div class='del'>-</div><div class='del'>-Mon Oct 24 10:19:44 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (Init_Complex): undefine Complex#clamp, which does not</div><div class='del'>-	  work like other Comparable methods, because Complex does not</div><div class='del'>-	  have &lt;=&gt; method.  patched by Tim Peters &lt;zomg.tim AT gmail.com&gt;</div><div class='del'>-	  in [ruby-core:77720].  [Bug #12866]</div><div class='del'>-</div><div class='del'>-Sun Oct 23 11:41:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/encoding.h: include "ruby/ruby.h" explicitly for</div><div class='del'>-	  enum ruby_fl_type and VALUE.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 23:33:55 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_compile_gen): always append error message to the</div><div class='del'>-	  error buffer.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 22:33:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_funcall1): check recursion by inverse pair, to</div><div class='del'>-	  fix fake infinite recursion.  [ruby-core:77713] [Bug #12864]</div><div class='del'>-</div><div class='del'>-Sat Oct 22 18:52:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compact_bang): should return nil if no elements</div><div class='del'>-	  is deleted.  [ruby-core:77709] [Bug #12863]</div><div class='del'>-</div><div class='del'>-Sat Oct 22 10:28:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): fallback to LDFLAGS.</div><div class='del'>-	  [ruby-core:72444] [Bug #11863]</div><div class='del'>-</div><div class='del'>-	* configure.in (LIBRUBY_DLDFLAGS): fallback to DLDFLAGS.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_APPEND_OPTION, RUBY_PREPEND_OPTION): expand</div><div class='del'>-	  the option to be appended/prepended when matching, as well as</div><div class='del'>-	  RUBY_APPEND_OPTIONS and  RUBY_PREPEND_OPTIONS.</div><div class='del'>-</div><div class='del'>-Sat Oct 22 09:52:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (setup_args): duplicate splatting array if more</div><div class='del'>-	  arguments present to obey left-to-right execution order.</div><div class='del'>-	  [ruby-core:77701] [Bug# 12860]</div><div class='del'>-</div><div class='del'>-Fri Oct 21 16:44:44 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (do_opendir): retry after GC when the limit for open file</div><div class='del'>-	  descriptors reached.</div><div class='del'>-</div><div class='del'>-Fri Oct 21 16:06:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): retry after GC when the limit for open</div><div class='del'>-	  file descriptors reached.</div><div class='del'>-</div><div class='del'>-Fri Oct 21 11:34:17 2016  Pascal Schmid  &lt;Lechindianer@users.noreply.github.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub, rb_str_gsub): [DOC] 'backlash' should read</div><div class='del'>-	  'backslash'.  [Fix GH-1461]</div><div class='del'>-</div><div class='del'>-Thu Oct 20 17:02:56 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb: added documentation for deprecated method.</div><div class='del'>-	  [Misc #11960][ruby-core:72733][ci skip]</div><div class='del'>-</div><div class='del'>-Thu Oct 20 16:57:23 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c: Add documentation for Digest.</div><div class='del'>-	  [Feature #10452][ruby-core:66001][ci skip]</div><div class='del'>-	  * remove HMAC from list of digest algorithms,</div><div class='del'>-	  * add MD5 in list of digest algorithms,</div><div class='del'>-	  * add information about writing a C digest implementation using Digest::Base,</div><div class='del'>-	  * add documentation for Digest::Base public methods.</div><div class='del'>-	* ext/digest/md5/md5init.c: add examples for MD5.</div><div class='del'>-	* ext/digest/rmd160/rmd160init.c: add examples for Digest::RMD160.</div><div class='del'>-	* ext/digest/sha1/sha1init.c: add examples for Digest::SHA1.</div><div class='del'>-</div><div class='del'>-Thu Oct 20 16:19:51 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Improved documentation grammar for</div><div class='del'>-	  open-uri#open option. [Misc #11329][ruby-core:69868][ci skip]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 21:48:40 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention refinements with Kernel#send and</div><div class='del'>-	  BasicObject#__send__.  [Feature #11476]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 17:02:15 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_call_opt_send): enable refinements with</div><div class='del'>-	  Kernel#send and BasicObject#__send__.  [Feature #11476]</div><div class='del'>-</div><div class='del'>-Wed Oct 19 14:22:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* basictest/runner.rb: do not clobber the option by --run-opt with</div><div class='del'>-	  RUBYOPT.  reported by Allen Hewes &lt;rallenh AT hotmail.com&gt;.</div><div class='del'>-</div><div class='del'>-Wed Oct 19 00:09:06 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c (parse_debug_line_cu): boundary checks for</div><div class='del'>-	  compressed debug sections.  [ruby-dev:49840] [Bug #12850]</div><div class='del'>-</div><div class='del'>-Tue Oct 18 16:36:40 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DLDFLAGS): append --compress-debug-sections=zlib</div><div class='del'>-	  if available, which reduces the size of LIBRUBY_SO by half or</div><div class='del'>-	  more.</div><div class='del'>-</div><div class='del'>-Mon Oct 17 16:20:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/configure.bat: add option to enable/disable to install</div><div class='del'>-	  static ruby library.  defaulted to "no".  [Feature #12845]</div><div class='del'>-</div><div class='del'>-	* configure.in (install-static-library): add option to enable/</div><div class='del'>-	  disable to install static ruby library.  defaulted to "no" if</div><div class='del'>-	  enable-shared.  [Feature #12845]</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (local-arch-lib): respect the option.</div><div class='del'>-</div><div class='del'>-Sun Oct 16 15:09:06 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1254.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for Windows-1254.</div><div class='del'>-</div><div class='del'>-Sat Oct 15 14:17:05 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (refine_sym_proc_call): search and call method with</div><div class='del'>-	  refinements.</div><div class='del'>-</div><div class='del'>-	* vm_args.c (vm_caller_setup_arg_block): enable refinements when</div><div class='del'>-	  enabled in the caller.  [Feature #9451]</div><div class='del'>-</div><div class='del'>-Sat Oct 15 00:54:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (proc_exec_cmd): use UTF-8 version aspawn.</div><div class='del'>-	  [ruby-dev:49838] [Bug #12841]</div><div class='del'>-</div><div class='del'>-Fri Oct 14 22:26:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse/kwargs.rb (OptionParser#define_by_keywords):</div><div class='del'>-	  [EXPERIMENTAL] extract command line option definitions from the</div><div class='del'>-	  information of keyword arguments.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 18:27:18 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c: Improve documentation for Float conversion.</div><div class='del'>-	  [ruby-core:71661][Bug #11736][ci skip]</div><div class='del'>-</div><div class='del'>-Fri Oct 14 18:00:20 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Improve Logger.new option documentation.</div><div class='del'>-	  [Feature #12803][ruby-core:77467]</div><div class='del'>-</div><div class='del'>-Fri Oct 14 17:20:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (make_switch, parse_in_order): unify underscores</div><div class='del'>-	  to hyphens.</div><div class='del'>-</div><div class='del'>-Fri Oct 14 10:48:37 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb (TimeoutHandler): use monotonic clock</div><div class='del'>-	  (watch): ditto</div><div class='del'>-</div><div class='del'>-Thu Oct 13 19:41:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (copy_stream_body): use IO to write to copy to duplex IO.</div><div class='del'>-	  http://twitter.com/knu/status/786505317974585344</div><div class='del'>-</div><div class='del'>-Thu Oct 13 17:05:57 2016  Dwain Faithfull  &lt;dwfaithfull@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_compact, rb_hash_compact_bang): Removes nil</div><div class='del'>-	  values from the original hash, to port Active Support behavior.</div><div class='del'>-	  [Feature #11818]</div><div class='del'>-</div><div class='del'>-Thu Oct 13 11:35:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang, rb_ary_sort, rb_ary_sort_by_bang):</div><div class='del'>-	  [DOC] describe that sort may not be stable.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort, enum_sort_by): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 13 11:31:40 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rexml/xpath/test_text.rb (test_ancestors): Array#sort may</div><div class='del'>-	  not be stable.  [ruby-core:76088] [Bug #12509]</div><div class='del'>-</div><div class='del'>-	* test/rss/test_maker_{0.9,1.0,2.0}.rb (test_items): ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct 13 10:37:31 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: wording fix</div><div class='del'>-</div><div class='del'>-Thu Oct 13 00:39:08 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sort_bang_with_freeze): make a</div><div class='del'>-	  clone to copy a &lt;=&gt; singleton method, instead of dup.  which</div><div class='del'>-	  element will be called is not predictable.</div><div class='del'>-	  [ruby-core:76088] [Bug #12509]</div><div class='del'>-</div><div class='del'>-Thu Oct 13 00:21:27 2016  Simon Soriano  &lt;simon0191@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: Replace "You can defined hooked variables"</div><div class='del'>-	  with "You can define hooked variables". [Fix GH-1460]</div><div class='del'>-</div><div class='del'>-Wed Oct 12 21:05:50 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): revert r56385.  it introduced incompatibility</div><div class='del'>-	  about `DATA.binmode?`.</div><div class='del'>-</div><div class='del'>-Wed Oct 12 15:24:53 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Removed verification of gem certification.</div><div class='del'>-	  Because signed gem is not working on rubygems ecosystem.</div><div class='del'>-	* tool/gem-unpack.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct 11 22:08:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (prep_io): fix typo of struct member name.</div><div class='del'>-	  [ruby-core:77550] [Bug #12829]</div><div class='del'>-</div><div class='del'>-Tue Oct 11 16:45:24 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI.find_proxy): Add an optional argument, env.</div><div class='del'>-</div><div class='del'>-Tue Oct 11 16:38:32 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb (String#pretty_print): Defined to print a string as</div><div class='del'>-	  multiple lines.</div><div class='del'>-	  [ruby-core:76800] [Feature#12664] proposed by Petr Chalupa.</div><div class='del'>-</div><div class='del'>-Mon Oct 10 15:22:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): bind the open fd to an IO instance</div><div class='del'>-	  before waiting FIFO, not to leak the fd if interrupted.</div><div class='del'>-</div><div class='del'>-Mon Oct 10 12:40:54 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): compare with EXEEXT instead of hard</div><div class='del'>-	  coded name, and do not match with mere EXEEXT.</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): open in binary mode if available, as</div><div class='del'>-	  parser deals with EOLs.</div><div class='del'>-</div><div class='del'>-	* io.c (prep_io): reduce isatty call (and its system call) on</div><div class='del'>-	  Cygwin.</div><div class='del'>-</div><div class='del'>-Sun Oct  9 23:05:53 2016  Prathamesh Sonpatki  &lt;csonpatki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, class.c: Fixed documentation where Fixnum was referred</div><div class='del'>-	  directly to use Integer, as Fixnum and Bignum are now unified</div><div class='del'>-	  into Integer and direct usage is deprecated.  [Fix GH-1459]</div><div class='del'>-</div><div class='del'>-Sun Oct  9 11:37:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_ASSERT): stringify expr here before expansion in</div><div class='del'>-	  RUBY_ASSERT_WHEN.</div><div class='del'>-</div><div class='del'>-Sat Oct  8 10:54:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/memory_status/memory_status.c (read_status): use</div><div class='del'>-	  Win32 GetProcessMemoryInfo API.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/memory_status/memory_status.c: get memory sizes by</div><div class='del'>-	  mach task_info system call.</div><div class='del'>-</div><div class='del'>-Sat Oct  8 09:06:55 2016  Aurelien Jacobs  &lt;aurel@gnuage.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log</div><div class='del'>-	  rotate when DST is applied during a month of 31 days.</div><div class='del'>-	  [Fix GH-1458]</div><div class='del'>-</div><div class='del'>-Fri Oct  7 20:21:39 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_setup_new_record): fix the condition to get</div><div class='del'>-	  rusage.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_profile_dump_major_reason): remove undefined flags.</div><div class='del'>-</div><div class='del'>-Fri Oct  7 19:18:33 2016  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/*.c, ext/win32ole/win32ole.h: use RB_INT2FIX instead of</div><div class='del'>-	  INT2FIX, and so on.</div><div class='del'>-</div><div class='del'>-Fri Oct  7 14:18:40 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* basictest/test.rb: Adjust spaces in class declarations</div><div class='del'>-	  with inheritance. [fix GH-1227] Patch by @adrfer</div><div class='del'>-	* lib/irb/*: ditto.</div><div class='del'>-	* lib/prime.rb: ditto.</div><div class='del'>-	* lib/shell/builtin-command.rb: ditto.</div><div class='del'>-	* object.c: ditto.</div><div class='del'>-	* sample/*.rb: ditto.</div><div class='del'>-	* test/-ext-/method/test_arity.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 17:29:44 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_require_safe): SyntaxError created by the parser just</div><div class='del'>-	  has the message and needs to set up the backtrace.</div><div class='del'>-	  [ruby-core:77491] [Bug #12811]</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0): load/require is not the main</div><div class='del'>-	  script.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 13:35:15 2016  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: [DOC] Improve doc [ci-skip]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 11:38:14 2016  Chris Jones  &lt;chris@christopherjones.us&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb: Update error message with correct words.</div><div class='del'>-	  [fix GH-1453][ci skip] Patch by @magikid</div><div class='del'>-</div><div class='del'>-Thu Oct  6 11:01:49 2016  Tieg Zaharia  &lt;tieg.zaharia@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/common.rb (WEB_ENCODINGS_): Update URI::WEB_ENCODINGS_</div><div class='del'>-	  hash, and fix documented command to grab it.  [Fix GH-1430]</div><div class='del'>-</div><div class='del'>-Thu Oct  6 10:37:13 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Add reduce/inject alias note.</div><div class='del'>-	  [fix GH-1400][ci skip] Patch by @getaaron</div><div class='del'>-</div><div class='del'>-Thu Oct  6 10:30:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (update_coverage): check coverage values, and ignore</div><div class='del'>-	  non-fixnum values.</div><div class='del'>-</div><div class='del'>-Thu Oct  6 09:19:21 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): use dedicated macro RB_INTEGER_TYPE_P.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 18:02:44 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/response.rb: Improve document readability.</div><div class='del'>-	  [fix GH-1411][ci skip] Patch by @stz-seongheon</div><div class='del'>-</div><div class='del'>-Wed Oct  5 15:43:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_node): flatten statements in NODE_BLOCK.</div><div class='del'>-</div><div class='del'>-Wed Oct  5 14:27:36 2016  Byron Bowerman  &lt;me@bm5k.com&gt;</div><div class='del'>-</div><div class='del'>-	* range.c: Add docs for max/min behavior with exclusive range.</div><div class='del'>-	  [fix GH-1433][ci skip] Patch by @BM5k</div><div class='del'>-</div><div class='del'>-Wed Oct  5 12:57:21 2016  Richard Schneeman  &lt;richard.schneeman+foo@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/*.c: Add proper require for example to work.</div><div class='del'>-	  [fix GH-1378][ci skip] Patch by @schneems</div><div class='del'>-</div><div class='del'>-Wed Oct  5 11:47:19 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: Fixed equivalent ruby code with core implemention.</div><div class='del'>-	  [fix GH-1429][ci skip] Patch by @sos4nt</div><div class='del'>-</div><div class='del'>-Wed Oct  5 11:36:21 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: Added missing spaces and Removed needless spaces.</div><div class='del'>-	  [fix GH-1454][ci skip] Patch by @bogdanvlviv</div><div class='del'>-</div><div class='del'>-Wed Oct  5 03:24:55 2016  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c: Make Enumerable#chunk with no block return</div><div class='del'>-	  an Enumerator [#2172]</div><div class='del'>-</div><div class='del'>-Wed Oct  5 01:19:45 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (ST2FIX): new macro to convert st_index_t to Fixnum.</div><div class='del'>-	  a hash value of Object might be Bignum, but it causes many troubles</div><div class='del'>-	  especially the Object is used as a key of a hash.  so I've gave up</div><div class='del'>-	  to do so.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_hash): use above macro.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_obj_hash, rb_hash_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_dbl_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_hash, match_hash): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash_m): ditto.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 12:59:44 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dig): [DOC] update an example of error message</div><div class='del'>-	  by Array#dig, because of Integer Unification.  [Fix GH-1455]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 09:55:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): need more room</div><div class='del'>-	  for precision to round.  [ruby-core:77475] [Bug #12805]</div><div class='del'>-</div><div class='del'>-Tue Oct  4 06:05:46 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (onig_print_compiled_byte_code): make the shown address</div><div class='del'>-	  look relative.</div><div class='del'>-</div><div class='del'>-Tue Oct  4 05:53:11 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (OPCODE_EXEC_HOOK): op is p-1 because p is already</div><div class='del'>-	  incremented.</div><div class='del'>-</div><div class='del'>-	* regexec.c (OPCODE_EXEC_HOOK): use the exact end address.</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): don't call OPCODE_EXEC_HOOK in CASE()</div><div class='del'>-	  when it comes from goto fail.</div><div class='del'>-</div><div class='del'>-Mon Oct  3 21:24:41 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention Readline.quoting_detection_proc{,=}.</div><div class='del'>-</div><div class='del'>-Mon Oct  3 21:19:46 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: [DOC] Fix default value of shift_age.</div><div class='del'>-</div><div class='del'>-Mon Oct  3 17:20:05 2016  George Brocklehurst  &lt;ruby@georgebrock.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_set_quoting_detection_proc):</div><div class='del'>-	  support rl_char_is_quoted_p.  [Feature #12659]</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_get_quoting_detection_proc):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 08:22:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_INT2FIX, RB_LONG2FIX): prefix RB to</div><div class='del'>-	  global symbols to get rid of name conflicts with other headers.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 07:51:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash_m): hash values may be negative.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 02:04:12 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_hash_m): st_index_t is not guaranteed as the same</div><div class='del'>-	  size with int, and of course also not guaranteed the value can be</div><div class='del'>-	  Fixnum.</div><div class='del'>-</div><div class='del'>-Sun Oct  2 02:03:06 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix2str): detect unnormalized Fixnum value.</div><div class='del'>-</div><div class='del'>-Sat Oct  1 23:08:47 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_parse.c (date_zone_to_diff): it's nonsence and really</div><div class='del'>-	  harm that to use unary minus operator with unsigned value.</div><div class='del'>-	  get rid of test failures introduced at r56312.</div><div class='del'>-</div><div class='del'>-Sat Oct  1 22:17:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): move numeric literal range</div><div class='del'>-	  optimization from fixup_nodes() in parse.y.</div><div class='del'>-</div><div class='del'>-Sat Oct  1 19:19:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_flip_flop): simplify generated code.</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_branch_condition): flip-flop can appear only</div><div class='del'>-	  in conditional expressions.</div><div class='del'>-</div><div class='del'>-Sat Oct  1 02:02:02 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets</div><div class='del'>-	  errno internally, then should not set it here.</div><div class='del'>-</div><div class='del'>-Fri Sep 30 19:06:21 2016  Anton Davydov  &lt;mail@davydovanton.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/http.rb: Documentation and code style improvements.</div><div class='del'>-	* test/uri/test_http.rb: Added test for coverage.</div><div class='del'>-	  [fix GH-1427][ruby-core:77255][Misc #12756]</div><div class='del'>-</div><div class='del'>-Fri Sep 30 18:43:20 2016  Jason Yeo  &lt;jason@jasonyeo.me&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/control_expressions.rdoc: Add missing 'as'</div><div class='del'>-	  [ci skip][fix GH-1448] Patch by @jsyeo</div><div class='del'>-</div><div class='del'>-Thu Sep 29 23:38:04 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::Store#dump): use table argument instead</div><div class='del'>-	  of @table directly.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 22:22:22 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::Store#initialize): Fix arguments.</div><div class='del'>-	  [ruby-dev:49821] [Bug #12800]</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_store.rb: Add tests from test/test_pstore.rb.</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_store.rb (YAMLStoreTest#test_with_options): Add options test.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::Store#dump): Revert to to_yaml.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::Store#empty_marshal_data): Use to_yaml with options.</div><div class='del'>-</div><div class='del'>-	* lib/yaml/store.rb (YAML::Store#empty_marshal_checksum): Use CHECKSUM_ALGO.</div><div class='del'>-</div><div class='del'>-Thu Sep 29 19:34:23 2016  Pete Higgins  &lt;pete@peterhiggins.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (rb_queue_pop, rb_szqueue_push, rb_szqueue_pop):</div><div class='del'>-	  Document exception types, ThreadError, raised by Queue and</div><div class='del'>-	  SizedQueue.  [Fix GH-1451]</div><div class='del'>-</div><div class='del'>-Thu Sep 29 19:21:02 2016  Pete Higgins  &lt;pete@peterhiggins.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (Init_thread_sync): Remove confusing doc comments,</div><div class='del'>-	  which are picked up by rdoc unexpectedly, from Queue and</div><div class='del'>-	  SizedQueue.  [Fix GH-1450]</div><div class='del'>-</div><div class='del'>-Wed Sep 28 23:14:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore::CHECKSUM_ALGO): find available hashing</div><div class='del'>-	  algorithm for checksum.  MD5 is not available in FIPS mode.</div><div class='del'>-	  [Feature #6943]</div><div class='del'>-</div><div class='del'>-Wed Sep 28 13:00:25 2016  ksss  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_signame): [DOC] Add documentation in the case of</div><div class='del'>-	  return nil.  [Fix GH-1449]</div><div class='del'>-</div><div class='del'>-Wed Sep 28 10:43:27 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: delete comments. They were outdated.</div><div class='del'>-</div><div class='del'>-Wed Sep 28 09:57:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update</div><div class='del'>-	  rubygems to 2.6.7.</div><div class='del'>-	  Release note of 2.6.7: https://github.com/rubygems/rubygems/commit/60f35bd1d2359fc30301d2d4cd72bc6833e8d12a</div><div class='del'>-</div><div class='del'>-Wed Sep 28 00:21:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_warning_s_warn): the argument must be an</div><div class='del'>-	  ASCII-compatible string.  [ruby-core:77430] [Bug #12793]</div><div class='del'>-</div><div class='del'>-Tue Sep 27 23:22:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (symbol, dsym, parser_set_number_literal): set state to</div><div class='del'>-	  ENDARG, so that `do` after a literal should be `do_block` and</div><div class='del'>-	  bound to the outer method.  [ruby-core:72482] [Bug #11873]</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_ident): revert r56198.</div><div class='del'>-</div><div class='del'>-	* parse.y (warn_balanced): the state of symbol and numeric</div><div class='del'>-	  literals is now EXPR_ENDARG, do not exclude it.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 22:59:42 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: news about Warning.warn.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 18:10:18 2016  Jeremy Evans &lt;code@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c: This makes all warnings raised call Warning.warn, which</div><div class='del'>-	  by default does the same thing it does currently</div><div class='del'>-	  (rb_write_error_str).  You can override Warning.warn to change</div><div class='del'>-	  the behavior. [ruby-core:75016] [Feature #12299]</div><div class='del'>-</div><div class='del'>-Tue Sep 27 17:35:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (iseqw_s_compile_file): deal with syntax error as well as</div><div class='del'>-	  compile, and should not abort when rescued.</div><div class='del'>-</div><div class='del'>-Tue Sep 27 12:07:17 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/cookie.rb (parse): don't allow , as a separator. [Bug #12791]</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cookie.rb (parse): ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 21:37:21 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/erb.1, man/irb.1, man/ri.1, man/ruby.1: Remove Ns before</div><div class='del'>-	  punctuation.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 16:23:49 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_seek): Avoid signed integer overflow.</div><div class='del'>-	  It's not harmful in practice here, but is still undefined behavior.</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_extend): Check that the new length does</div><div class='del'>-	  not exceed LONG_MAX. This fixes the invalid write on the overflow.</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb (test_write_integer_overflow): Add a</div><div class='del'>-	  test case for the above fix in strio_extend().</div><div class='del'>-</div><div class='del'>-Mon Sep 26 15:43:34 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with</div><div class='del'>-	  Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj)</div><div class='del'>-	  searches a tag with rb_vm_tag::tag == obj, throw(false) can</div><div class='del'>-	  accidentally find an unrelated tag which is not created by</div><div class='del'>-	  Kernel#catch.  [ruby-core:77229] [Bug #12743]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb (test_throw_false): Add a test case for</div><div class='del'>-	  this.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 14:36:12 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: provide default basename parameter for</div><div class='del'>-	  Tempfile.create. [Feature #11965] Patch by Yuki Kurihara</div><div class='del'>-	* test/test_tempfile.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 14:10:54 2016  Ary Borenszweig  &lt;ary@esperanto.org.ar&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (lstrip_offset): add a fast path in the case of single</div><div class='del'>-	  byte optimizable strings, as well as rstrip_offset.</div><div class='del'>-	  [ruby-core:77392] [Feature #12788]</div><div class='del'>-</div><div class='del'>-Mon Sep 26 12:00:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update to minitest-5.9.1.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 11:50:03 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): Don't install gemspec if no files will be</div><div class='del'>-	  installed for the gem. This happens when the extension library is not</div><div class='del'>-	  compiled.</div><div class='del'>-</div><div class='del'>-Mon Sep 26 11:06:47 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (enc_strlen, rb_enc_strlen_cr): Avoid signed integer</div><div class='del'>-	  overflow. The result type of a pointer subtraction may have the same</div><div class='del'>-	  size as long. This fixes String#size returning an negative value on</div><div class='del'>-	  i686-linux environment:</div><div class='del'>-</div><div class='del'>-	    str = "\x00" * ((1&lt;&lt;31)-2))</div><div class='del'>-	    str.slice!(-3, 3)</div><div class='del'>-	    str.force_encoding("UTF-32BE")</div><div class='del'>-	    str &lt;&lt; 1234</div><div class='del'>-	    p str.size</div><div class='del'>-</div><div class='del'>-Sun Sep 25 22:48:06 2016  namusyaka  &lt;namusyaka@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler::TrimScanner#stag): The :stag accessor</div><div class='del'>-	  has already been available because it is defined in parent</div><div class='del'>-	  Scanner class.  [Fix GH-1445]</div><div class='del'>-</div><div class='del'>-Sun Sep 25 19:21:26 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_array): remove duplicate header of NODE_ARRAY/</div><div class='del'>-	  NODE_VALUES.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 22:26:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extract_makefile, extmake, configuration): store</div><div class='del'>-	  extra libraries to be installed.</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (ext-arch): install extra libraries.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb: install zlib if built.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 14:24:55 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* spec/README: update URL.</div><div class='del'>-</div><div class='del'>-Sat Sep 24 11:28:22 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* fix typos, "a" before "Integer" to "an".  [Fix GH-1438]</div><div class='del'>-</div><div class='del'>-Sat Sep 24 10:19:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/misc/test_ruby_mode.rb (assert_indent): since write-region</div><div class='del'>-	  in Emacs 25.1 no longer displays the "Wrote file" message, shows</div><div class='del'>-	  the explicit message to check if successfully finished.</div><div class='del'>-	  [ruby-core:77355] [Bug #12785]</div><div class='del'>-</div><div class='del'>-	* test/misc/test_ruby_mode.rb (EXPR_SAVE): use a numeric prefix</div><div class='del'>-	  argument of 0, not to make the previous version into a backup</div><div class='del'>-	  file, instead of backup-inhibited.</div><div class='del'>-</div><div class='del'>-	* test/misc/test_ruby_mode.rb (run_emacs): always save the buffer</div><div class='del'>-	  if modified.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 23:57:40 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (make_method_entry_refined): fix wrong use of ||.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 21:38:58 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mdoc2man.rb (Mdoc2Man#parse_macro): Add support for the</div><div class='del'>-	  `Lk` macro.</div><div class='del'>-</div><div class='del'>-	* tool/mdoc2man.rb (Mdoc2Man#shift_arg): A new function to extract</div><div class='del'>-	  a possibly quoted argument.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 20:36:05 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_refine): refine modules as well.</div><div class='del'>-	  [ruby-core:76199] [Feature #12534]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 20:19:09 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: Update the paragraphs in "Rich Libraries" which</div><div class='del'>-	  included a dead link.</div><div class='del'>-</div><div class='del'>-Fri Sep 23 20:05:27 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1, man/erb.1, man/irb.1, man/ri.1: Use the `Lk` macro</div><div class='del'>-	  for hyperlinks, which has been available since mdocml 1.5.1</div><div class='del'>-	  (released more than seven years ago).</div><div class='del'>-</div><div class='del'>-Fri Sep 23 15:47:04 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (_delegator_method): allow private methods to</div><div class='del'>-	  be delegated, with warnings.  [ruby-core:77341] [Bug #12782]</div><div class='del'>-</div><div class='del'>-Fri Sep 23 12:15:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): enable tail call</div><div class='del'>-	  optimization inside a conditional block.</div><div class='del'>-</div><div class='del'>-Thu Sep 22 13:00:04 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal): [DOC] methods without arguments</div><div class='del'>-	  like r56194. [Bug #12777]</div><div class='del'>-</div><div class='del'>-Wed Sep 21 17:43:53 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (InitVM_process): Support CLOCK_MONOTONIC_RAW_APPROX,</div><div class='del'>-	  CLOCK_UPTIME_RAW, and CLOCK_UPTIME_RAW_APPROX which are introduced</div><div class='del'>-	  by macOS 10.12.</div><div class='del'>-</div><div class='del'>-Wed Sep 21 13:47:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (brace_body, do_body): preserve cmdarg_stack so that</div><div class='del'>-	  `do` after cmdarg in a block should be `do_block` and bound to</div><div class='del'>-	  the outer method.  [ruby-core:72482] [Bug #11873]</div><div class='del'>-</div><div class='del'>-	* parse.y: `do` after cmdarg in parentheses should be `do_block`</div><div class='del'>-	  and bound to the outer method.  [ruby-core:72482] [Bug #11873]</div><div class='del'>-</div><div class='del'>-	* parse.y (brace_body, do_body): extract block bodies.</div><div class='del'>-</div><div class='del'>-Tue Sep 20 23:02:50 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal): [DOC] add ObjectSpace.garbage_collect</div><div class='del'>-	  and fix GC#garbage_collect.  [Bug #12777]</div><div class='del'>-</div><div class='del'>-Tue Sep 20 21:24:01 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: translate r56189 (rb_gc_adjust_memory_usage).</div><div class='del'>-</div><div class='del'>-Tue Sep 20 17:52:28 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update rake-11.3.0</div><div class='del'>-</div><div class='del'>-Tue Sep 20 16:52:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_adjust_memory_usage): notify memory usage to the GC</div><div class='del'>-	  engine by extension libraries, to trigger GC.  [Feature #12690]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 17:05:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric), bignum.c (Init_Bignum): deprecate</div><div class='del'>-	  Fixnum and Bignum.  this may be reverted after previews.</div><div class='del'>-	  [Feature #12739]</div><div class='del'>-</div><div class='del'>-Mon Sep 19 10:36:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_init_yielder): directly call stored functions.</div><div class='del'>-	  [Feature #6183]</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_add_method): create lazy enumerator which</div><div class='del'>-	  uses lazy_init_yielder().</div><div class='del'>-</div><div class='del'>-Sun Sep 18 22:48:54 2016  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb (RSS::BaseModel): Remove needless codes.</div><div class='del'>-	  [Bug #12773][ruby-dev:49813]</div><div class='del'>-	  Reported by Kazuhiro NISHIYAMA. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sun Sep 18 19:23:47 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/sync.rb: Fix NameError when error.</div><div class='del'>-</div><div class='del'>-Sat Sep 17 22:46:02 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw_start): Remove too much ";"</div><div class='del'>-	  [fix GH-1432]</div><div class='del'>-</div><div class='del'>-Sat Sep 17 19:19:06 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb (test_ctx_options): Fix test failure on</div><div class='del'>-	  Ubuntu 16.04. The fix in r56147 was incomplete. This is a cherry-pick</div><div class='del'>-	  of the commit b039f3e268c2 at ruby/openssl.</div><div class='del'>-</div><div class='del'>-Sat Sep 17 10:49:35 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: translate r56130 (rb_check_arity).</div><div class='del'>-</div><div class='del'>-Sat Sep 17 02:40:52 2016  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c: Fix stream processing support for heap</div><div class='del'>-	  dumps. Full heap dumps should use JSON lines (http://jsonlines.org)</div><div class='del'>-	  so that we can process very large heaps without loading the entire</div><div class='del'>-	  heap dump in to memory at once.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 22:10:31 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): Fix compile error</div><div class='del'>-	  with old version of fcc (Fujitsu C Compiler) on Solaris 10.</div><div class='del'>-	  [Bug #12769] [ruby-dev:49809]</div><div class='del'>-</div><div class='del'>-Fri Sep 16 21:28:25 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (MAYBE_UNUSED): The fallback definition is needed.</div><div class='del'>-	  Fix compile error with some non-GCC compilers such as</div><div class='del'>-	  Oracle Solaris Studio 12.3 on Solaris 10.</div><div class='del'>-	  [Bug #12767] [ruby-dev:49807]</div><div class='del'>-</div><div class='del'>-	* internal.h (WARN_UNUSED_RESULT): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 21:19:51 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (each_pair_i_fast): Fix compile error with old version of</div><div class='del'>-	  fcc on Solaris 10. [Bug #12768] [ruby-dev:49808]</div><div class='del'>-</div><div class='del'>-Fri Sep 16 19:46:05 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (config.h): fixed compile error with VC introduced</div><div class='del'>-	  by previous commit.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 14:54:34 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (WARN_UNUSED_RESULT): moved to configure.in, to</div><div class='del'>-	  actually check its availability rather to check GCC's version.</div><div class='del'>-</div><div class='del'>-	* configure.in (WARN_UNUSED_RESULT): moved to here.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration</div><div class='del'>-	  to return int rather than void, because it makes no sense for a</div><div class='del'>-	  warn_unused_result attributed function to return void.</div><div class='del'>-</div><div class='del'>-	  Funny thing however is that it also makes no sense for noreturn</div><div class='del'>-	  attributed function to return int.  So there is a fundamental</div><div class='del'>-	  conflict between them.  While I tested this, I confirmed both</div><div class='del'>-	  GCC 6 and Clang 3.8 prefers int over void to correctly detect</div><div class='del'>-	  necessary attributes under this setup.  Maybe subject to change</div><div class='del'>-	  in future.</div><div class='del'>-</div><div class='del'>-	* internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then</div><div class='del'>-	  moved to configure.in for the same reason we move</div><div class='del'>-	  WARN_UNUSED_RESULT.</div><div class='del'>-</div><div class='del'>-	* configure.in (MAYBE_UNUSED): moved to here.</div><div class='del'>-</div><div class='del'>-	* internal.h (__has_attribute): deleted, because it has no use now.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_lines): refactor macro rename.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_bytes): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_chars): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_enumerate_codepoints): ditto.</div><div class='del'>-</div><div class='del'>-	* thread.c (do_select): ditto.</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (rb_debug_inspector_open): ditto.</div><div class='del'>-</div><div class='del'>-	* vsnprintf.c (BSD_vfprintf): ditto.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 14:35:55 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog (add-log-time-format): Not exactly sure when but</div><div class='del'>-	  recently (25.x maybe), emacs changed its API to take optional</div><div class='del'>-	  two arguments.  We have to follow that.</div><div class='del'>-</div><div class='del'>-Fri Sep 16 06:43:25 2016  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (def check_password): don't include bad password</div><div class='del'>-	  in URI exception output</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb (def test_set_component): test for behavior</div><div class='del'>-</div><div class='del'>-Thu Sep 15 21:40:03 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: Fix file name.</div><div class='del'>-</div><div class='del'>-Thu Sep 15 00:59:30 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/: add vnmakarov's benchmarks around hash [ruby-core:75265]</div><div class='del'>-</div><div class='del'>-Wed Sep 14 07:02:31 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (each_pair_i_fast): use rb_yield_values2 to avoid var args.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 21:32:54 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_HEAP_SIZE, RESIZE_CAPA_TERM, str_new0, rb_str_buf_new,</div><div class='del'>-	  str_shared_replace, rb_str_init, str_make_independent_expand,</div><div class='del'>-	  rb_str_resize): Avoid overflow by casting the length to size_t. size_t</div><div class='del'>-	  should be able to represent LONG_MAX+termlen.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify_expand): Check that the new length is in the</div><div class='del'>-	  range of long before resizing. Also refactor to use RESIZE_CAPA_TERM</div><div class='del'>-	  macro.</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): Fix so that it does not create a negative</div><div class='del'>-	  length String. Also fix the condition for 'string sizes too big', the</div><div class='del'>-	  total length can be up to LONG_MAX.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_plus): Check the resulting String length does not</div><div class='del'>-	  exceed LONG_MAX.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): Fix integer overflow. The dump result will be</div><div class='del'>-	  longer then the original String.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 21:30:53 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_extend_pages, get_envparam_size, ruby_malloc_size_overflow,</div><div class='del'>-	  gc_profile_dump_on): Use PRIuSIZE instead of PRIdSIZE as the passed</div><div class='del'>-	  value is size_t, not ssize_t.</div><div class='del'>-</div><div class='del'>-	* iseq.c (get_line_info, rb_iseq_disasm_insn): Ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): Ditto.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (native_thread_create): Ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (get_param): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c (dump_append_string_content,</div><div class='del'>-	  dump_object): Ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (host_str, port_str): Ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 21:27:35 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_EMBEDDABLE_P): Renamed from STR_EMBEDABLE_P(). And use</div><div class='del'>-	  it in more places.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 21:23:51 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: Drop support for BeOS now that Haiku is stable since</div><div class='del'>-	  2.3.0.</div><div class='del'>-</div><div class='del'>-	* README.ja.md: ditto.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 21:11:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_EMBEDABLE_P): extract the predicate macro to tell</div><div class='del'>-	  if the given length is capable in an embedded string, and fix</div><div class='del'>-	  possible integer overflow.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 18:37:08 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: fix thread issues.</div><div class='del'>-	  * use Queue instead of a local variable for synchronization.</div><div class='del'>-	  * join created thread to solve leaking threads warning.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 16:07:26 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_set_len): The buffer overflow check is wrong. The</div><div class='del'>-	  space for termlen is allocated outside the capacity returned by</div><div class='del'>-	  rb_str_capacity(). This fixes r41920 ("string.c: multi-byte</div><div class='del'>-	  terminator", 2013-07-11).  [ruby-core:77257] [Bug #12757]</div><div class='del'>-</div><div class='del'>-	* test/-ext-/string/test_set_len.rb (test_capacity_equals_to_new_size):</div><div class='del'>-	  Test for this change. Applying only the test will trigger [BUG].</div><div class='del'>-</div><div class='del'>-Tue Sep 13 06:03:34 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (benchmark): fix lib path.</div><div class='del'>-</div><div class='del'>-Tue Sep 13 00:39:47 2016  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (singleton_class_of): Copy superclass serial number to</div><div class='del'>-	  singleton class.  This improves singleton class IMC hit rates.</div><div class='del'>-	  [Feature #12364] [ruby-core:75425]</div><div class='del'>-</div><div class='del'>-Mon Sep 12 13:46:23 2016  Anton Davydov  &lt;mail@davydovanton.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb: Removed needless `return` and use `.` instead of `::`</div><div class='del'>-	  with class method.</div><div class='del'>-	* test/uri/test_mailto.rb: Added tests for coverage.</div><div class='del'>-	  [fix GH-1426][Misc #12750][ruby-core:77242]</div><div class='del'>-</div><div class='del'>-Sun Sep 11 21:30:26 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: News about Module.used_modules.</div><div class='del'>-</div><div class='del'>-Sun Sep 11 19:06:49 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): should set written length as the</div><div class='del'>-	  return value.  [Bug #12748] [ruby-dev:49786]</div><div class='del'>-</div><div class='del'>-Fri Sep  9 22:43:29 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: sort lines.</div><div class='del'>-</div><div class='del'>-Fri Sep  9 17:59:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_threadptr_raise): set cause from the called thread,</div><div class='del'>-	  but not from the thread to be interrupted.</div><div class='del'>-	  [ruby-core:77222] [Bug #12741]</div><div class='del'>-</div><div class='del'>-Fri Sep  9 13:50:05 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc, doc/extension.ja.rdoc: fix file name.</div><div class='del'>-	  pointed out by @takkanm in the RubyKaigi talk.</div><div class='del'>-</div><div class='del'>-Fri Sep  9 13:14:53 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* News: Announcing update to Unicode version 9.0.0 [ci skip]</div><div class='del'>-</div><div class='del'>-Fri Sep  9 10:10:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_search): warn with the actual class/module</div><div class='del'>-	  name which defines the deprecated constant.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_search): raise with the actual class/module</div><div class='del'>-	  name which defines the private constant.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 17:47:18 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (flatten): use rb_obj_class instead of rb_class_of</div><div class='del'>-	  because rb_class_of may return a singleton class.</div><div class='del'>-	  [ruby-dev:49781] [Bug #12738]</div><div class='del'>-</div><div class='del'>-Thu Sep  8 17:40:15 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (gem): use the bindir of each gemspec instead</div><div class='del'>-	  of hardcoded 'bin', since rdoc 5.0.0 overrides it.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 16:47:03 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_s_used_modules): rename Module.used_refinements to</div><div class='del'>-	  Module.used_modules.  [Feature #7418] [ruby-core:49805]</div><div class='del'>-</div><div class='del'>-Thu Sep  8 14:21:48 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/psych.gemspec, lib/rdoc/rdoc.gemspec: Use file list instead of</div><div class='del'>-	  git output. It shows warning message when invoke `make install`</div><div class='del'>-	  [Bug #12736][ruby-dev:49778]</div><div class='del'>-</div><div class='del'>-Thu Sep  8 13:41:46 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (setclassvariable, setconstant): warn when self is a</div><div class='del'>-	  refinement.  [Bug #10103] [ruby-core:64143]</div><div class='del'>-</div><div class='del'>-Thu Sep  8 11:29:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_transform_values, rb_hash_transform_values_bang):</div><div class='del'>-	  Rename map_v to transform_values.</div><div class='del'>-	  [Feature #12512] [ruby-core:76095]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: ditto.</div><div class='del'>-</div><div class='del'>-Thu Sep  8 10:08:35 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* {ext,test}/openssl: Import Ruby/OpenSSL 2.0.0.beta.2. The full commit</div><div class='del'>-	  history since v2.0.0.beta.1 can be found at:</div><div class='del'>-	  https://github.com/ruby/openssl/compare/v2.0.0.beta.1...v2.0.0.beta.2</div><div class='del'>-</div><div class='del'>-Thu Sep  8 07:23:34 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta2</div><div class='del'>-	  Fixed ri parse defect with left-hand matched classes.</div><div class='del'>-	  https://github.com/rdoc/rdoc/pull/420</div><div class='del'>-</div><div class='del'>-Thu Sep  8 01:12:47 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_s_used_refinements): new method</div><div class='del'>-	  Module.used_refinements.  based on the patch by Charlie</div><div class='del'>-	  Somerville.  [Feature #7418] [ruby-core:49805]</div><div class='del'>-</div><div class='del'>-Wed Sep  7 17:50:38 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/util.h (setenv): remove POSIX-noncompliant</div><div class='del'>-	  definition with 2 arguments.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 17:35:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* unicode/8.0.0/casefold.h, name2ctype.h, unicode/data/8.0.0:</div><div class='del'>-	  removing directories/files related to Unicode version 8.0.0</div><div class='del'>-</div><div class='del'>-Wed Sep  7 17:21:55 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb (Timeout#timeout): add custom error message</div><div class='del'>-	  argument.  [Feature #11650]</div><div class='del'>-</div><div class='del'>-Wed Sep  7 17:13:05 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Updated Unicode version to 9.0.0 [Feature #12513]</div><div class='del'>-</div><div class='del'>-	* unicode/9.0.0/casefold.h, name2ctype.h, unicode/data/9.0.0:</div><div class='del'>-	  new directories/files for Unicode version 9.0.0</div><div class='del'>-</div><div class='del'>-Wed Sep  7 16:00:45 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Allow http to https redirection.</div><div class='del'>-	  Note that https to http is still forbidden.</div><div class='del'>-	  [ruby-core:20485] [Feature #859] by Roman Shterenzon.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 14:56:59 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV::{Row,Table}#{each,delete_if}): returns an enumerator</div><div class='del'>-	  if no block is given. [ruby-core:75346] [Feature #12347]</div><div class='del'>-</div><div class='del'>-	* test/csv/test_row.rb: add test for above.</div><div class='del'>-</div><div class='del'>-	* test/csv/test_table.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 14:50:01 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update to power_assert 0.3.1.</div><div class='del'>-</div><div class='del'>-Wed Sep  7 12:16:09 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/*, test/psych/*: Update psych-2.1.1</div><div class='del'>-	  This version fixed following pull requests.</div><div class='del'>-	  https://github.com/tenderlove/psych/pull/284</div><div class='del'>-	  https://github.com/tenderlove/psych/pull/276</div><div class='del'>-</div><div class='del'>-Wed Sep  7 11:51:06 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta1</div><div class='del'>-	  This version is mostly same as r56072. It contains to remove code</div><div class='del'>-	  for Ruby 1.8</div><div class='del'>-</div><div class='del'>-Tue Sep  6 09:23:06 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/rdoc.gemspec: partly reverted for default gem installer.</div><div class='del'>-	  upstream configuration is not working on ruby core repository.</div><div class='del'>-</div><div class='del'>-Mon Sep  5 19:35:22 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/*, test/rdoc/*: Update rdoc/rdoc master(f191513)</div><div class='del'>-	  https://github.com/rdoc/rdoc/blob/master/History.rdoc#423--2016--</div><div class='del'>-	  https://github.com/rdoc/rdoc/blob/master/History.rdoc#422--2016-02-09</div><div class='del'>-</div><div class='del'>-Sun Sep  4 00:17:55 2016  Sho Hashimoto  &lt;sho-h@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: [DOC] fix Object#define_singleton_method and</div><div class='del'>-	  main.define_method return value. [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Sep  3 11:28:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (ruby_init_stack): check stack bounds even if</div><div class='del'>-	  get_main_stack succeeded, on the "co-routine" case.</div><div class='del'>-	  https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413</div><div class='del'>-</div><div class='del'>-Fri Sep  2 16:06:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (MEMO_V1_SET, MEMO_V2_SET): fix typos.  use the macro</div><div class='del'>-	  parameter, not the local variable.</div><div class='del'>-</div><div class='del'>-Fri Sep  2 00:55:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (timestamp_file): move extmk.rb specific tricks</div><div class='del'>-	  from lib/mkmf.rb.  keep RUBYCOMMONDIR prefix not to conflict</div><div class='del'>-	  with a timestamp file in the toplevel.</div><div class='del'>-</div><div class='del'>-Thu Sep  1 14:24:16 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (gems): move dirty hacks for bundled gems from</div><div class='del'>-	  mkmf.rb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): yield all configuration strings.</div><div class='del'>-</div><div class='del'>-Wed Aug 31 17:39:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (create_makefile): make gem.build_complete file</div><div class='del'>-	  under TARGET_SO_DIR and install it only when the gem build</div><div class='del'>-	  succeeded.  [ruby-core:77057] [Bug #12681]</div><div class='del'>-</div><div class='del'>-Wed Aug 31 15:36:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): create target shared object files</div><div class='del'>-	  under $(TARGET_SO_DIR) which is $sodir if it is defined with</div><div class='del'>-	  $extout.  [ruby-core:77058] [Bug #12681]</div><div class='del'>-</div><div class='del'>-Wed Aug 31 01:56:55 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: [DOC] Fix a typo. [ci skip]</div><div class='del'>-</div><div class='del'>-Wed Aug 31 00:52:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: make the gems target directory under the expanded</div><div class='del'>-	  name.  [ruby-core:77102] [Bug #12714]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 15:27:27 2016  Kouhei Yanagita  &lt;yanagi@shakenbu.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/add/ostruct.rb (OpenStruct.json_create):</div><div class='del'>-	  Correct documentation, fix the name of values.  [Fix GH-1421]</div><div class='del'>-</div><div class='del'>-Tue Aug 30 14:53:34 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if the</div><div class='del'>-	  fd is associated to non-disk device.  if call fsync and/or fdatasync</div><div class='del'>-	  with such fds, it causes Errno::EBADF exception and the behavior is</div><div class='del'>-	  incompatible with ruby 2.1 and earlier unintentionally introduced.</div><div class='del'>-</div><div class='del'>-Tue Aug 30 03:38:35 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (backtrace): use rip in the saved context for the case</div><div class='del'>-	  the SIGSEGV is received when the process is in userland.</div><div class='del'>-	  Note that ip in the stack should be used if the signal is received</div><div class='del'>-	  when it is in kernel (when it is calling syscall) [Bug #12711]</div><div class='del'>-</div><div class='del'>-Sat Aug 27 10:26:14 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_concat_multi): take multiple arguments.  based</div><div class='del'>-	  on the patch by Satoru Horie.  [Feature #12333]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat_multi, rb_str_prepend_multi): ditto.</div><div class='del'>-</div><div class='del'>-Thu Aug 25 00:42:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (append_wstr): remove a codepage argument, and use</div><div class='del'>-	  INVALID_CODE_PAGE for conversion by econv.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (append_wstr): exclude the terminator from the</div><div class='del'>-	  result length when input len == -1.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 22:41:30 2016  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_reset_malloc_info): Remove too much ";".</div><div class='del'>-</div><div class='del'>-Wed Aug 24 20:07:57 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (ALWAYS_INLINE): Add alternative definition.</div><div class='del'>-	  Fix compile error with compilers that do not have force inline</div><div class='del'>-	  attribute, including old version of fcc on Solaris 10.</div><div class='del'>-	  [ruby-dev:49773] [Bug #12701]</div><div class='del'>-</div><div class='del'>-Wed Aug 24 16:56:26 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit: follow r55766's VM change.</div><div class='del'>-</div><div class='del'>-Wed Aug 24 12:57:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_initialize, rb_class_initialize): [DOC] these</div><div class='del'>-	  methods do not invoke module_eval/class_eval, just eval the</div><div class='del'>-	  given block under the new module/class but sharing the context</div><div class='del'>-	  with the surrounding scope like those methods.</div><div class='del'>-	  [ruby-core:77023] [Bug #12696]</div><div class='del'>-</div><div class='del'>-Tue Aug 23 10:34:40 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/psych/test_psych.rb (test_load_file_with_fallback): fix</div><div class='del'>-	  Tempfile leak.  https://github.com/tenderlove/psych/pull/288</div><div class='del'>-</div><div class='del'>-Tue Aug 23 10:15:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fs_setter): check and convert $; value at</div><div class='del'>-	  assignment.</div><div class='del'>-</div><div class='del'>-Tue Aug 23 02:09:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): show $; name in error message when it</div><div class='del'>-	  is a wrong object.</div><div class='del'>-</div><div class='del'>-Mon Aug 22 16:29:52 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV#shift): store partial quoted strings in an array</div><div class='del'>-	  and join at last, to improve performance with very long quoted</div><div class='del'>-	  lines.  [ruby-core:76987] [Bug #12691]</div><div class='del'>-</div><div class='del'>-Mon Aug 22 14:35:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* man/irb.1: remove useless -width option.</div><div class='del'>-	  [ruby-dev:49767] [Bug #12692]</div><div class='del'>-</div><div class='del'>-Mon Aug 22 09:02:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (Init_ISeq): undefine allocator of InstructionSequence,</div><div class='del'>-	  to get rid of segfaults at method call on uninitialized object.</div><div class='del'>-</div><div class='del'>-Sat Aug 21 05:47:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sort): prevent wasteful array duplication.</div><div class='del'>-</div><div class='del'>-Sat Aug 20 11:20:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* rubystub.c: generalize win32/stub.c.</div><div class='del'>-</div><div class='del'>-Fri Aug 19 11:39:06 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): allow parenthesised statement as a method</div><div class='del'>-	  argument.  [Feature #12686]</div><div class='del'>-</div><div class='del'>-Fri Aug 19 09:12:45 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_set_main_stack): TOPLEVEL_BINDING must be built.</div><div class='del'>-	  http://www.viva64.com/en/b/0414/#ID0EQ1CI  [ruby-core:76973]</div><div class='del'>-</div><div class='del'>-Fri Aug 19 01:00:53 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (mnew_missing): Remove an unused argument.</div><div class='del'>-	  After r51126 rid is not used.</div><div class='del'>-</div><div class='del'>-Thu Aug 18 09:26:52 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: bump to test-unit-3.2.1</div><div class='del'>-</div><div class='del'>-Thu Aug 18 02:36:26 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: skip gems which failed to build extensions.</div><div class='del'>-	  [ruby-dev:49764] [Bug #12683]</div><div class='del'>-</div><div class='del'>-Wed Aug 17 23:35:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems (tk): bump up to 0.1.1.</div><div class='del'>-</div><div class='del'>-Wed Aug 17 23:14:42 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: build gem extensions into separate directories</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb: install pre-built gem extension files gem</div><div class='del'>-	  extension directories.  [ruby-core:76931] [Bug #12681]</div><div class='del'>-</div><div class='del'>-Tue Aug 16 21:04:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (UNICODE_HDR_DIR): separate unicode header files from</div><div class='del'>-	  unicode data files.  [ruby-core:76879] [Bug #12677]</div><div class='del'>-</div><div class='del'>-Tue Aug 16 11:17:51 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/header.rb: Fix typo. [ci skip][fix GH-1407]</div><div class='del'>-	* transcode.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Aug 16 11:02:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/make-snapshot (package): save generated header files from</div><div class='del'>-	  unicode data.  [ruby-core:76879] [Bug #12677]</div><div class='del'>-</div><div class='del'>-Mon Aug 15 20:31:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_array): show nd_alen field in NODE_ARRAY only in</div><div class='del'>-	  the first node.  it is nd_end in the rest nodes.</div><div class='del'>-</div><div class='del'>-Mon Aug 15 16:41:32 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* appveyor.yml: Update libressl version to 2.3.7.</div><div class='del'>-</div><div class='del'>-Mon Aug 15 11:46:50 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb (extmake): extension libraries in gems cannot link</div><div class='del'>-	  statically.</div><div class='del'>-</div><div class='del'>-Sun Aug 14 22:35:40 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c (hash_table_extend): should not shrink the table than</div><div class='del'>-	  the previous capacity.  [ruby-core:76534] [Bug #12614]</div><div class='del'>-</div><div class='del'>-Sun Aug 14 18:51:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: add gemified tk 0.1.0.</div><div class='del'>-	  this needs `extract-gems` to build.</div><div class='del'>-</div><div class='del'>-Sun Aug 14 14:54:14 2016  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (InitVM_Object): Update referenced document path.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 23:08:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_funcall0, num_funcall1): get rid of infinite</div><div class='del'>-	  recursion in fallback methods of Numeric.</div><div class='del'>-</div><div class='del'>-Sat Aug 13 11:10:08 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (command_asgn, arg): fix syntax errors with chained</div><div class='del'>-	  assignment with op assign.  [Bug #12669]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 10:52:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt, arg): rescue modifier in command op assignment</div><div class='del'>-	  should be limited to rhs only.  [ruby-core:75621] [Bug #12402]</div><div class='del'>-</div><div class='del'>-Sat Aug 13 07:51:40 2016  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_val2variant): fix integer conversion in</div><div class='del'>-	  cygwin64.</div><div class='del'>-</div><div class='del'>-Fri Aug 12 21:05:19 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb (WEBrick::Config::General):</div><div class='del'>-	  disable reverse lookup by default. [ruby-core:45514] [Feature #6559]</div><div class='del'>-	  Socket.do_not_reverse_lookup is true by default but WEBrick</div><div class='del'>-	  overwrote it.</div><div class='del'>-	  patch by Eric Hodel [ruby-core:45527]</div><div class='del'>-</div><div class='del'>-Fri Aug 12 12:50:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_syntax_error_append): fix newline in syntax error</div><div class='del'>-	  message to the beginning, not after file name and line number.</div><div class='del'>-	  [Feature #11951]</div><div class='del'>-</div><div class='del'>-Thu Aug 11 16:24:23 2016  Ferdinand Niedermann  &lt;nerdinand@nerdinand.com&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_clamp): Introduce Comparable#clamp.  [Feature #10594]</div><div class='del'>-</div><div class='del'>-Thu Aug 11 03:16:59 2016  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/prime.rb: Optimize prime?</div><div class='del'>-	  Adapted from patch by Jabari Zakiya [#12665]</div><div class='del'>-</div><div class='del'>-	* test/test_prime.rb: Improve test</div><div class='del'>-</div><div class='del'>-Wed Aug 10 22:37:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (command_rhs, arg_rhs): introduce new rules to reduce</div><div class='del'>-	  repeated rules with rescue modifier.</div><div class='del'>-</div><div class='del'>-Wed Aug 10 17:26:43 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (command_asgn): rescue modifier in command assignment</div><div class='del'>-	  should be limited to rhs only.  [ruby-core:75621] [Bug #12402]</div><div class='del'>-</div><div class='del'>-Wed Aug 10 15:35:03 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on</div><div class='del'>-	  cygwin.  [ruby-core:76791] [Bug #12663]</div><div class='del'>-</div><div class='del'>-	* ext/win32/resolv/resolv.c (w32error_make_error): use</div><div class='del'>-	  Win32::Resolv::Error, an alias of Win32::Registry::Error.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 17:50:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_map_v, rb_hash_map_v_bang): implement Hash#map_v and</div><div class='del'>-	  Hash#map_v! [Feature #12512] [ruby-core:76095]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: add tests for above change.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 16:09:03 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): use always_inline because</div><div class='del'>-	  gcc7 doesn't inline this without always_inline.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 15:41:24 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk: Tk is removed from stdlib.  [Feature #8539]</div><div class='del'>-	  https://github.com/ruby/tk is the new upstream.</div><div class='del'>-</div><div class='del'>-Tue Aug  9 00:12:31 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: Remove moved file section.</div><div class='del'>-</div><div class='del'>-Mon Aug  8 20:56:46 2016  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/sample/excel1.rb, ext/win32ole/sample/excel2.rb,</div><div class='del'>-	  ext/win32ole/sample/excel3.rb, ext/win32ole/sample/ie.rb,</div><div class='del'>-	  ext/win32ole/sample/ienavi.rb, ext/win32ole/sample/ienavi2.rb: use</div><div class='del'>-	  true instead of deprecated TRUE. [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Aug  8 12:51:12 2016  Zarko Todorovski &lt;zarko@ca.ibm.com&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (RBASIC_CLEAR_CLASS): Reroute ANSI C's strict</div><div class='del'>-	  aliasing rule.</div><div class='del'>-	  [ruby-core:74427][Bug #12191][ruby-core:76747][Bug #12657]</div><div class='del'>-</div><div class='del'>-Sun Aug  7 18:08:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (InitVM_Object): deprecate toplevel constants TRUE,</div><div class='del'>-	  FALSE, and NIL.  [Feature #12574]</div><div class='del'>-</div><div class='del'>-Sun Aug  7 06:48:21 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_write_internal):</div><div class='del'>-	  avoid undefined behavior</div><div class='del'>-	* test/openssl/test_pair.rb (test_write_zero): new test</div><div class='del'>-	  [ruby-core:76751] [Bug #12660]</div><div class='del'>-</div><div class='del'>-Sat Aug  6 09:35:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.h (rb_id_table_iterator_result): add dummy sentinel</div><div class='del'>-	  member because C standard prohibits a trailing comma.</div><div class='del'>-</div><div class='del'>-Sat Aug  6 00:39:44 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_enc_str_new): make string for an environment</div><div class='del'>-	  variable name or value.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_name_new): make environment value string with the</div><div class='del'>-	  encoding for its name.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 23:18:35 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_str_new): taint the string.  get rid of a test failure</div><div class='del'>-	  introduced at r55811.</div><div class='del'>-</div><div class='del'>-Fri Aug  5 17:04:02 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (w32_getenv): call rb_w32_getenv and rb_w32_ugetenv via</div><div class='del'>-	  this pointer without further comparisons.</div><div class='del'>-</div><div class='del'>-Thu Aug  4 11:54:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_assoc): the encoding of the value should be the</div><div class='del'>-	  locale, as well as other methods, [], fetch, values, etc.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 21:31:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_fragment_enc_error): compile_error is different</div><div class='del'>-	  between parser and ripper.  [ruby-core:76397] [Bug #12651]</div><div class='del'>-</div><div class='del'>-Wed Aug  3 17:15:06 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone2): restrict freeze option to true other</div><div class='del'>-	  than false which only has the effect.  [Feature #12300]</div><div class='del'>-</div><div class='del'>-Wed Aug  3 10:47:07 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: introduce VM_FRAME_RUBYFRAME_P()</div><div class='del'>-	  and VM_FRAME_CFRAME_P().</div><div class='del'>-	  Most of case, RUBY_VM_NORMAL_ISEQ_P() is no</div><div class='del'>-	  longer needed.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: introduce rb_obj_is_iseq().</div><div class='del'>-</div><div class='del'>-	* cont.c, vm.c: VM_FRAME_MAGIC_DUMMY with</div><div class='del'>-	  VM_FRAME_FLAG_CFRAME.</div><div class='del'>-</div><div class='del'>-Wed Aug  3 09:25:16 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: rename macros and make them inline functions.</div><div class='del'>-</div><div class='del'>-	  * rename VM_FRAME_TYPE_FINISH_P() to VM_FRAME_FINISHED_P().</div><div class='del'>-	  * rename VM_FRAME_TYPE_BMETHOD_P() to VM_FRAME_BMETHOD_P().</div><div class='del'>-</div><div class='del'>-Wed Aug 03 09:15:02 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: introduce VM_FRAME_FLAG_CFRAME to represent cfp-&gt;iseq</div><div class='del'>-	  type.</div><div class='del'>-</div><div class='del'>-Tue Aug  2 21:42:40 2016  Chia-sheng Chen  &lt;qitar888@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (tanh): make faster by the extract form if three</div><div class='del'>-	  hyperbolic functions are unavailable.  [Feature #12647]</div><div class='del'>-</div><div class='del'>-Tue Aug  2 12:37:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share</div><div class='del'>-	  the fallback definition.  [ruby-core:76646] [Bug #12645]</div><div class='del'>-</div><div class='del'>-Tue Aug  2 04:07:29 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (set_pioinfo_extra): use more reliable way to search</div><div class='del'>-	  the position of pioinfo of VC14, and also support debug library of it.</div><div class='del'>-	  patched by davispuh AT gmail.com</div><div class='del'>-	  [ruby-core:76644] [Bug #12644]</div><div class='del'>-	  this fixes also [Bug #12631]</div><div class='del'>-</div><div class='del'>-Mon Aug  1 21:39:52 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: [EXPERIMENTAL] build extension libraries in</div><div class='del'>-	  extracted gems.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 16:07:18 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (struct RStruct): no longer.</div><div class='del'>-</div><div class='del'>-	* internal.h (struct RStruct): moved here.</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_ptr): a compensation function for the lack</div><div class='del'>-	  of RSTRUCT_PTR.  But now that we have RSTRUCT_GET/SET, that must</div><div class='del'>-	  not be used anyway.  I mark this deprecated.  Dont use it.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 14:50:06 2016  Jeremy Evans &lt;code@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_clone2): Allow Object#clone to take freeze:</div><div class='del'>-	  false keyword argument to not freeze the clone.</div><div class='del'>-	  [ruby-core:75017][Feature #12300]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_object.rb (TestObject): test for it.</div><div class='del'>-</div><div class='del'>-Mon Aug  1 12:16:19 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/*, test/json/json_parser_test.rb: Update json-2.0.2.</div><div class='del'>-</div><div class='del'>-Sun Jul 31 16:17:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/resolv/resolv.c (get_dns_server_list): [Win32] get DNS</div><div class='del'>-	  servers only for connected network devices by GetNetworkParams</div><div class='del'>-	  API.  [Bug #12604]</div><div class='del'>-</div><div class='del'>-Sat Jul 30 12:13:26 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (String#downcase), NEWS: Mentioned that case mapping for all</div><div class='del'>-	  of ISO-8859-1~16 is now supported. [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Jul 30 12:00:01 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_2.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-2, by Yushiro Ishii.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 20:57:12 2016  chuanshuo  &lt;lilijreey@126.com&gt;</div><div class='del'>-</div><div class='del'>-	* *.c: rename rb_funcall2 to rb_funcallv, except for extensions</div><div class='del'>-	  which are/will be/may be gems.  [Fix GH-1406]</div><div class='del'>-</div><div class='del'>-Fri Jul 29 10:51:34 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (env_write): remove unused function.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 10:49:52 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_LOCAL_P): should return an integer value.</div><div class='del'>-	  reported at</div><div class='del'>-	  http://d.hatena.ne.jp/nagachika/20160728/ruby_trunk_changes_55764_55770</div><div class='del'>-</div><div class='del'>-Fri Jul 29 04:23:08 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_ENV_LOCAL_P): return truthy (0 or not) value.</div><div class='del'>-</div><div class='del'>-	* vm.c (rb_vm_make_proc_lambda): use VM_ENV_ESCAPED_P() macro.</div><div class='del'>-</div><div class='del'>-Fri Jul 29 03:49:04 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, internal.h: remove RubyVM::Env class and all of env objects</div><div class='del'>-	  are imemo objects (imemo_env).</div><div class='del'>-</div><div class='del'>-	* NEWS: describe this change. I believe nobody touch these objects</div><div class='del'>-	  because there are no method defined.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: remove the following definitions.</div><div class='del'>-	  * rb_cEnv decl.</div><div class='del'>-	  * GetEnvPtr() because Env is no longer T_DATA object.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_env_t): fix layout for imemo values.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (vm_assert_env): added.</div><div class='del'>-</div><div class='del'>-	* vm_core.h (vm_env_new): added.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 19:53:21 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h: revisit the structure of frame, block and env.</div><div class='del'>-	  [Bug #12628]</div><div class='del'>-</div><div class='del'>-	  This patch introduce many changes.</div><div class='del'>-</div><div class='del'>-	  * Introduce concept of "Block Handler (BH)" to represent</div><div class='del'>-	    passed blocks.</div><div class='del'>-</div><div class='del'>-	  * move rb_control_frame_t::flag to ep[0] (as a special local</div><div class='del'>-	    variable). This flags represents not only frame type, but also</div><div class='del'>-	    env flags such as escaped.</div><div class='del'>-</div><div class='del'>-	  * rename `rb_block_t` to `struct rb_block`.</div><div class='del'>-</div><div class='del'>-	  * Make Proc, Binding and RubyVM::Env objects wb-protected.</div><div class='del'>-</div><div class='del'>-	  Check [Bug #12628] for more details.</div><div class='del'>-</div><div class='del'>-Thu Jul 28 15:05:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_fl_type): use __extension__ to get rid</div><div class='del'>-	  of pedantic warning against RUBY_FL_USER19.</div><div class='del'>-	  https://github.com/skylightio/skylight-ruby/issues/64</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_mul_size_overflow): ditto for use of</div><div class='del'>-	  int128.</div><div class='del'>-</div><div class='del'>-Wed Jul 27 10:32:59 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1253.c: Remove dead code found by Coverity Scan.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 22:43:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_finalizer): make saved running finalizer state</div><div class='del'>-	  volatile to ensure not to be clobbered by longjmp.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 19:26:00 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c: introduce rb_vm_pop_frame() and use it</div><div class='del'>-	  instead of setting rb_thread_t::cfp directly.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_pop_frame): return the result of</div><div class='del'>-	  finish frame or not.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 19:06:39 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_raw_obj_info): support to show Proc obj.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 18:55:55 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): add `inline' explicitly.</div><div class='del'>-	  I expected to inline this function implicitly at the loop</div><div class='del'>-	  (ex: marking T_ARRAY objects) but sometimes it remains as</div><div class='del'>-	  normal call.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 16:33:16 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1257.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for Windows-1257, by Sho Koike.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 16:19:41 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1250.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for Windows-1250, by Sho Koike.</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Fixed order of previous two entries.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 15:54:17 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1253.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for Windows-1253, by Takumi Koyama.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 15:30:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1251.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for Windows-1251, by Shunsuke Sato.</div><div class='del'>-</div><div class='del'>-Tue Jul 26 13:04:59 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Add explicit skip test for</div><div class='del'>-	  availability of Unicode data files.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 21:33:13 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (check_step_domain): check step argument domain by &lt;=&gt;</div><div class='del'>-	  method, instead of &lt; and &gt;.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 21:11:32 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: fix filenames.</div><div class='del'>-</div><div class='del'>-Mon Jul 25 16:59:00 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* debug.c (ruby_debug_printf): use rb_raw_obj_info()</div><div class='del'>-	  instead of rb_inspect() because it is more robust way</div><div class='del'>-	  to see object internal.</div><div class='del'>-</div><div class='del'>-Sun Jul 24 16:33:13 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.h/c, include/ruby/oniguruma.h, enc/ascii.c, big5.c, cp949.c,</div><div class='del'>-	  emacs_mule.c, euc_jp.c, euc_kr.c, euc_tw.c, gb18030.c, gbk.c,</div><div class='del'>-	  iso_8859_1|2|3|4|5|6|7|8|9|10|11|13|14|15|16.c, koi8_r.c, koi8_u.c,</div><div class='del'>-	  shift_jis.c, unicode.c, us_ascii.c, utf_16|32be|le.c, utf_8.c,</div><div class='del'>-	  windows_1250|51|52|53|54|57.c, windows_31j.c, unicode.c:</div><div class='del'>-	  Remove conditional compilation macro ONIG_CASE_MAPPING. [Feature #12386].</div><div class='del'>-</div><div class='del'>-Sun Jul 24 12:53:42 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: xmlrpc is bundled gem from Ruby 2.4.</div><div class='del'>-</div><div class='del'>-Sun Jul 24 12:07:39 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: Update OpenSSL maintainer.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 22:43:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (Check_Type): inline check for the object type.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 04:06:04 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RTEST, NIL_P): use RUBY prefixed name in</div><div class='del'>-	  macros.</div><div class='del'>-</div><div class='del'>-Sat Jul 23 01:41:29 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb (do_GET): delete HTTP_PROXY</div><div class='del'>-	* test/webrick/test_cgi.rb (test_cgi_env): new test</div><div class='del'>-	* test/webrick/webrick.cgi (do_GET): new endpoint to dump env</div><div class='del'>-	  [ruby-core:76511] [Bug #12610]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 19:55:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_set_main_stack): remove unnecessary check.  toplevel</div><div class='del'>-	  binding must be initialized.  [Bug #12611] (N1)</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_symlink): fix return type.  [Bug #12611] (N3)</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_m): simplify the condition.</div><div class='del'>-	  [Bug #12611](N4)</div><div class='del'>-</div><div class='del'>-Fri Jul 22 17:13:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (String#dump): Change escaping of non-ASCII characters in</div><div class='del'>-	  UTF-8 to use upper-case four-digit hexadecimal escapes without braces</div><div class='del'>-	  where possible [Feature #12419].</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (test_dump): Add tests for above.</div><div class='del'>-</div><div class='del'>-Fri Jul 22 10:35:35 2016  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong</div><div class='del'>-	  entry reference name of double quote.</div><div class='del'>-	  [Bug #12609][ruby-core:76509]</div><div class='del'>-	  Patch by Joseph Marrero. Thanks!!!</div><div class='del'>-</div><div class='del'>-Fri Jul 22 10:32:13 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* template/unicode_norm_gen.tmpl: Remove</div><div class='del'>-	  UnicodeNormalize::UNICODE_VERSION at origin [Feature #12546].</div><div class='del'>-</div><div class='del'>-Fri Jul 22 09:23:51 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: Added entries for files under the USD license.</div><div class='del'>-	  [Bug #12598][ruby-core:76428][ci skip]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 09:19:57 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: Added entry for `lib/rdoc/generator/template/darkfish/css/fonts.css`</div><div class='del'>-	  [Misc #12550][ruby-core:76255][ci skip]</div><div class='del'>-</div><div class='del'>-Fri Jul 22 06:28:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (run_finalizer): push and exec tag just once, instead of</div><div class='del'>-	  protecting for each finalizer.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_start_internal, rb_gc_start): set finalizing flag</div><div class='del'>-	  whenever calling deferred finalizers not to recurse.</div><div class='del'>-</div><div class='del'>-Thu Jul 21 22:26:40 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/strl{cat,cpy}.c: Update latest upstream files.</div><div class='del'>-	  [Misc #12205][ruby-core:74487]</div><div class='del'>-	* LEGAL: Update license for missing/strl{cat,cpy}.c.</div><div class='del'>-</div><div class='del'>-Thu Jul 21 21:53:30 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: added file list with Public domain license.</div><div class='del'>-	  [ruby-core:76254][Bug #12549]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 17:44:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enumerator.c (lazy_uniq): new method Enumerator::Lazy#uniq.</div><div class='del'>-	  [Feature #11090]</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_uniq): new method Enumerable#uniq.</div><div class='del'>-	  [Feature #11090]</div><div class='del'>-</div><div class='del'>-Wed Jul 20 17:35:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_add_new_element): add new element or do nothing</div><div class='del'>-	  if it is contained already.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_add_hash, ary_add_hash_by): use</div><div class='del'>-	  rb_hash_add_new_element.</div><div class='del'>-</div><div class='del'>-Tue Jul 19 18:21:17 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/unicode_normalize/tables.rb: Remove</div><div class='del'>-	  UnicodeNormalize::UNICODE_VERSION (#12546).</div><div class='del'>-</div><div class='del'>-Tue Jul 19 15:38:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_local_constants_i): exclude private constants</div><div class='del'>-	  when excluding inherited constants too.  [Bug #12345]</div><div class='del'>-</div><div class='del'>-Sun Jul 17 23:42:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_finite_p, num_infinite_p): Add Numeric#finite? and</div><div class='del'>-	  Numeric#infinite?  [Feature #12039] [ruby-core:73618]</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_finite_p): Add Complex#finite?</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_infinite_p): Add Complex#infinite?</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: Add test for Integer#finite? and</div><div class='del'>-	  Integer#infinite?</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fixnum.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rational.rb: Add test for Rational#finite? and</div><div class='del'>-	  Rational#infinite?</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complex.rb: Add test for Complex#finite? and</div><div class='del'>-	  Complex#infinite?</div><div class='del'>-</div><div class='del'>-Sun Jul 17 20:59:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, enc/depend (casefold.h, name2ctype.h): move to</div><div class='del'>-	  unicode data directory per version.</div><div class='del'>-</div><div class='del'>-Sat Jul 16 06:26:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, enc/Makefile.in: moved timestamp files for</div><div class='del'>-	  directories under the specific directory, to get rid of match</div><div class='del'>-	  with files under the source directory.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 22:05:13 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): Fix potential integer overflow of capa.</div><div class='del'>-	  In addition, termlen is used instead of +1.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 21:30:38 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_buf_cat): Fix capa size for embed string.</div><div class='del'>-	  Fix bug in r55547. [Bug #12536]</div><div class='del'>-</div><div class='del'>-Fri Jul 15 18:13:15 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: update latest gems.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 17:08:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_strtod): do not underflow only by preceding zeros,</div><div class='del'>-	  which may be canceled out by the exponent.</div><div class='del'>-	  http://twitter.com/kazuho/status/753829998767714305</div><div class='del'>-</div><div class='del'>-Fri Jul 15 09:53:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, tool/enc-unicode.rb: check if</div><div class='del'>-	  Unicode versions are consistent with each other.</div><div class='del'>-</div><div class='del'>-Fri Jul 15 08:25:15 2016  Jeremy Evans &lt;code@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (STR_BUF_MIN_SIZE): reduce from 128 to 127</div><div class='del'>-	  [ruby-core:76371] [Feature #12025]</div><div class='del'>-	* string.c (rb_str_buf_new): adjust for above reduction</div><div class='del'>-</div><div class='del'>-Thu Jul 14 17:26:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (enc/unicode/name2ctype.h): remove stale recipe,</div><div class='del'>-	  which did not support Unicode age properties.</div><div class='del'>-</div><div class='del'>-	* common.mk (enc/unicode/name2ctype.h): update by --header option</div><div class='del'>-	  of tool/enc-unicode.rb.  enc/unicode/name2ctype.kwd file has not</div><div class='del'>-	  been used.</div><div class='del'>-</div><div class='del'>-	* common.mk (enc/unicode/name2ctype.kwd): rule to create from</div><div class='del'>-	  Unicode data files, used only when the target does not exist.</div><div class='del'>-</div><div class='del'>-Thu Jul 14 13:10:54 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/json/ext: remove stale directory.  bundled</div><div class='del'>-	  extension libraries are placed under the directory for each</div><div class='del'>-	  architectures, but not mixed with plain text script libraries.</div><div class='del'>-</div><div class='del'>-Thu Jul 14 12:48:47 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/**/*.rb: merge original files from upstream repository.</div><div class='del'>-	  It only fixes styles of frozen string literal.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 22:23:03 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/json/json_common_interface_test.rb: use assert_raise instead of</div><div class='del'>-	  assert_raises.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 22:14:23 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb: added test files with `_test` suffix for json</div><div class='del'>-	  upstream.</div><div class='del'>-	* test/json: merge original test files from json upstream.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 18:09:42 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_9.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-9, by Kazuki Iijima.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_9.c: Exclude dotless i/I with dot from case-insensitive</div><div class='del'>-	  matching because they are not a case pair.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_iso_8859.rb: Make test coverage for ISO-8859-9</div><div class='del'>-	  a bit more complete.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 17:21:24 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1252.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for Windows-1252, by Serina Tai.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 16:19:14 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_7.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-7, by Kosuke Kurihara.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 16:08:08 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_roots): should mark the VM object itself to mark</div><div class='del'>-	  singleton class of the VM object.</div><div class='del'>-	  Before this patch, we only set mark bit for the VM object and</div><div class='del'>-	  invoke mark function separately.</div><div class='del'>-	  [Bug #12583]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 15:59:59 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (_USE_MATH_DEFINES): it must be set before including internal.h</div><div class='del'>-	  because internal.h includes ruby.h, ruby.h includes win32.h, and</div><div class='del'>-	  win32.h includes system's math.h.</div><div class='del'>-	  this change is to get rid of a compiler warning (redefinition of</div><div class='del'>-	  a macro) introduced at r55641.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 15:19:03 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c, enc/iso_8859_4.c: Avoid setting modification flag if</div><div class='del'>-	  there is no modification.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 14:40:04 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_5.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-5, by Masaru Onodera.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 14:28:33 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (rb_math_sqrt): r55646 must use f_signbit.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 14:22:50 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (Init_ISeq): undef ISeq.translate and ISeq.load_iseq</div><div class='del'>-	  to prevent calling super classes' methods.</div><div class='del'>-</div><div class='del'>-	  Without this patch, you can write workaround like:</div><div class='del'>-</div><div class='del'>-	    class &lt;&lt; RubyVM::InstructionSequence</div><div class='del'>-	      def translate; end</div><div class='del'>-	      undef translate</div><div class='del'>-	    end</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iseq.rb: add a test.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 14:16:03 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (method_entry_get_without_cache): check</div><div class='del'>-	  undefined method even if ruby_running is FALSE.</div><div class='del'>-</div><div class='del'>-	  We haven't call "undef"ed methods before ruby_running.</div><div class='del'>-	  So that this issue does not make troubles.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 14:15:22 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/windows_1254.c: Adjust variable/macro names.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 13:19:12 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_9.c, enc/windows_1254.c: Split Windows-1254 from</div><div class='del'>-	  ISO-8859-9 to be able to implement different case conversions.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 13:08:30 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_7.c, enc/windows_1253.c: Split Windows-1253 from</div><div class='del'>-	  ISO-8859-7 to be able to implement different case conversions.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 10:50:12 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_13.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-13, by Kanon Shindo.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 10:31:39 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_13.c, enc/windows_1257.c: Split Windows-1257 from</div><div class='del'>-	  ISO-8859-13 to be able to implement different case conversions.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 09:02:30 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Extend special treatment</div><div class='del'>-	  for Turkic.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_3.c: Exclude dotless i/I with dot from case-insensitive</div><div class='del'>-	  matching because they are not a case pair.</div><div class='del'>-</div><div class='del'>-Wed Jul 13 08:40:21 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_iso_8859.rb: Exclude dotless i/I with dot from</div><div class='del'>-	  case-insensitive matching because they are not a case pair.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 23:13:43 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (rb_math_sqrt): [EXPERIMENTAL] move Complex sqrt support</div><div class='del'>-	  from mathn.rb.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 01:25:09 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the</div><div class='del'>-	  compiler option replacable in Makefile.</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto.</div><div class='del'>-</div><div class='del'>-	* win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo`</div><div class='del'>-	  option forcely.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 18:05:40 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c: Moved test for lowercase characters without</div><div class='del'>-	  uppercase equivalent.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 17:49:25 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_4.c, enc/iso_8859_10.c, enc/iso_8859_14.c,</div><div class='del'>-	  enc/iso_8859_15.c, enc/iso_8859_16.c: Replace case-by-case code with</div><div class='del'>-	  lookup in ENC_ISO_8859_xx_TO_LOWER_CASE table.</div><div class='del'>-</div><div class='del'>-Mon Jul 11 16:00:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_each, strio_readlines): convert</div><div class='del'>-	  arguments just once before reading, instead of conversions for</div><div class='del'>-	  each lines, as r55603.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 19:53:41 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_10.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-10, by Toya Hosokawa.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 19:33:47 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Changed testing logic to</div><div class='del'>-	  catch unintended modifications of characters that do not have a case</div><div class='del'>-	  equivalent in the respective encoding.</div><div class='del'>-	* enc/iso_8859_1.c, enc/iso_8859_15.c: Fixed unintended modifications of</div><div class='del'>-	  micro sign and y with diaeresis.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 17:05:36 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_4.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-4, by Kotaro Yoshida.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 16:17:47 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Fixed a comment</div><div class='del'>-	  (message belongs to last commit). [ci skip]</div><div class='del'>-</div><div class='del'>-Sun Jul 10 14:27:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_dtoa): [EXPERIMENTAL] adjust the case that the</div><div class='del'>-	  Float value is close to the exact but unrepresentable middle</div><div class='del'>-	  value of two values in the given precision, as r55604.</div><div class='del'>-</div><div class='del'>-Sun Jul 10 08:57:20 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c: Fixed implicit conversion error with Apple clang-800.0.31</div><div class='del'>-</div><div class='del'>-Sat Jul  9 12:43:09 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb: use false instead of FALSE.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 21:49:28 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_wait_for_single_fd): Clean up fds.revents every time</div><div class='del'>-	  before calling ppoll(2). [Bug #12575] [ruby-dev:49725]</div><div class='del'>-</div><div class='del'>-Fri Jul  8 14:16:48 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (vm_caller_setup_arg_block): call rb_sym_to_proc()</div><div class='del'>-	  directly to reduce method dispatch overhead.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 08:43:31 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_read): add description of pipes to the documentation</div><div class='del'>-	  of IO.read.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 03:54:22 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (setup_parameters_complex): don't raise ArgumentError</div><div class='del'>-	  if an array is given for instance_exec with optional argument.</div><div class='del'>-	  [ruby-core:76300] [Bug #12568]</div><div class='del'>-	  https://github.com/rails/rails/pull/25699</div><div class='del'>-</div><div class='del'>-Fri Jul  8 00:47:36 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (yield_under): change prototype to get argc/argv.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (specific_eval): change for above.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_obj_instance_exec): avoid object allocation.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_mod_module_exec): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jul  7 20:08:37 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_args.c (vm_caller_setup_arg_block): disable symbol block</div><div class='del'>-	  argument optimization when tail call optimization is enabled,</div><div class='del'>-	  in order to avoid SEGV.  [ruby-core:76288] [Bug #12565]</div><div class='del'>-</div><div class='del'>-Thu Jul  7 16:37:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): [EXPERIMENTAL] adjust the case that the</div><div class='del'>-	  receiver is close to the exact but unrepresentable middle value</div><div class='del'>-	  of two values in the given precision.</div><div class='del'>-	  http://d.hatena.ne.jp/hnw/20160702</div><div class='del'>-</div><div class='del'>-Thu Jul  7 16:31:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_foreach, rb_io_s_readlines): convert arguments</div><div class='del'>-	  just once before reading, instead of conversions for each lines.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 19:54:17 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_14.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-14, by Yutaro Tada.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 19:24:48 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c, enc/iso_8859_15.c, enc/iso_8859_16.c:</div><div class='del'>-	  Align indenting to onigmo convention.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 18:59:13 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_15.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-15, by Maho Harada.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 18:34:21 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_16.c, test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Implement non-ASCII case conversion for ISO-8859-16, by Satoshi Kayama.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 14:44:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for</div><div class='del'>-	  depend files.</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest_conf.rb (digest_conf): add implementation</div><div class='del'>-	  specific headers to $header.</div><div class='del'>-</div><div class='del'>-	* ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the</div><div class='del'>-	  dependencies.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 08:59:35 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/generic_request.rb (write_header): A Request-Line must</div><div class='del'>-	  not contain CR or LF.</div><div class='del'>-</div><div class='del'>-Wed Jul  6 07:11:27 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb (putline): raise an ArgumentError when</div><div class='del'>-	  CR or LF is included in a line.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 20:49:30 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/*, test/json/*: Update json-2.0.1.</div><div class='del'>-	  Changes of 2.0.0: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2015-09-11-200</div><div class='del'>-	  Changes of 2.0.1: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2016-07-01-201</div><div class='del'>-	  [Feature #12542][ruby-dev:49706][fix GH-1395]</div><div class='del'>-</div><div class='del'>-Tue Jul  5 19:39:49 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_change_terminator_length): New function to change</div><div class='del'>-	  termlen and resize heap for the terminator. This is split from</div><div class='del'>-	  rb_str_fill_terminator (str_fill_term) because filling terminator</div><div class='del'>-	  and changing terminator length are different things. [Bug #12536]</div><div class='del'>-</div><div class='del'>-	* internal.h: declaration for rb_str_change_terminator_length.</div><div class='del'>-</div><div class='del'>-	* string.c (str_fill_term): Simplify only to zero-fill the terminator.</div><div class='del'>-	  For non-shared strings, it assumes that (capa + termlen) bytes of</div><div class='del'>-	  heap is allocated. This partially reverts r55557.</div><div class='del'>-</div><div class='del'>-	* encoding.c (rb_enc_associate_index): rb_str_change_terminator_length</div><div class='del'>-	  is used, and it should be called whenever the termlen is changed.</div><div class='del'>-</div><div class='del'>-	* string.c (str_capacity): New static function to return capacity</div><div class='del'>-	  of a string with the given termlen, because the termlen may</div><div class='del'>-	  sometimes be different from TERM_LEN(str) especially during</div><div class='del'>-	  changing termlen or filling terminator with specific termlen.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_capacity): Use str_capacity.</div><div class='del'>-</div><div class='del'>-Tue Jul  5 11:07:14 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): use union instead of bare variable to ease</div><div class='del'>-	  optimizations and avoid assigning x87 floating point number.</div><div class='del'>-	  [ruby-core:74496] [Bug #12209]</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 13:56:34 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: define sig_t if not exist.</div><div class='del'>-	  at least Solaris 10 and 11 doesn't have sig_t.</div><div class='del'>-</div><div class='del'>-Mon Jul  4 13:08:48 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (random_ulong_limited): avoid left shift count &gt;= width of</div><div class='del'>-	  type on 32bit environment.</div><div class='del'>-</div><div class='del'>-Sun Jul  3 18:51:42 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb, test_regex_casefold.rb,</div><div class='del'>-	  test/test_unicode_normalize.rb: Replace UNICODE_VERSION from</div><div class='del'>-	  UnicodeNormalize with RbConfig::CONFIG['UNICODE_VERSION'] from</div><div class='del'>-	  feature 12460.</div><div class='del'>-</div><div class='del'>-Sun Jul  3 06:04:09 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (disable_child_handler_fork_child): simplify</div><div class='del'>-	  [ruby-core:75781] [Misc #12439]</div><div class='del'>-</div><div class='del'>-Sun Jul  3 05:25:46 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/asm_parse.rb: add description</div><div class='del'>-	* tool/change_maker.rb: ditto</div><div class='del'>-	* tool/downloader.rb: ditto</div><div class='del'>-	* tool/eval.rb: ditto</div><div class='del'>-	* tool/expand-config.rb: ditto</div><div class='del'>-	* tool/extlibs.rb: ditto</div><div class='del'>-	* tool/fake.rb: ditto</div><div class='del'>-	* tool/file2lastrev.rb: ditto</div><div class='del'>-	* tool/gem-unpack.rb: ditto</div><div class='del'>-	* tool/gen_dummy_probes.rb: ditto</div><div class='del'>-	* tool/gen_ruby_tapset.rb: ditto</div><div class='del'>-	* tool/generic_erb.rb: ditto</div><div class='del'>-	* tool/id2token.rb: ditto</div><div class='del'>-	* tool/ifchange: ditto</div><div class='del'>-	* tool/insns2vm.rb: ditto</div><div class='del'>-	* tool/instruction.rb: ditto</div><div class='del'>-	* tool/jisx0208.rb: ditto</div><div class='del'>-	* tool/merger.rb: ditto</div><div class='del'>-	* tool/mkrunnable.rb: ditto</div><div class='del'>-	* tool/node_name.rb: ditto</div><div class='del'>-	* tool/parse.rb: ditto</div><div class='del'>-	* tool/rbinstall.rb: ditto</div><div class='del'>-	* tool/rbuninstall.rb: ditto</div><div class='del'>-	* tool/rmdirs: ditto</div><div class='del'>-	* tool/runruby.rb: ditto</div><div class='del'>-	* tool/strip-rdoc.rb: ditto</div><div class='del'>-	* tool/vcs.rb: ditto</div><div class='del'>-	* tool/vtlh.rb: ditto</div><div class='del'>-	* tool/ytab.sed: ditto</div><div class='del'>-	* tool/enc-unicode.rb: fix typo</div><div class='del'>-	* tool/mk_call_iseq_optimized.rb: ditto</div><div class='del'>-	* tool/update-deps: ditto</div><div class='del'>-	  [ruby-core:76215] [Bug #12539]</div><div class='del'>-	  by Noah Gibbs &lt;the.codefolio.guy@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-Sat Jul  2 18:04:24 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque</div><div class='del'>-	  only if the URI has path-rootless, not path-empty.</div><div class='del'>-	  [ruby-core:76055] [Bug #12498]</div><div class='del'>-	  patched by Chris Heisterkamp &lt;cheister@squareup.com&gt;</div><div class='del'>-</div><div class='del'>-Sat Jul  2 04:26:14 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (noname_disable_map): don't optimize out group 0</div><div class='del'>-	  Ruby's Regexp doesn't allow normal numbered groups if the regexp</div><div class='del'>-	  has named groups. On such case it optimizes out related NT_ENCLOSE.</div><div class='del'>-	  But even on the case it can use \g&lt;0&gt;.</div><div class='del'>-	  This fix not to remove NT_ENCLOSE whose regnum is 0.</div><div class='del'>-	  [ruby-core:75828] [Bug #12454]</div><div class='del'>-</div><div class='del'>-Sat Jul  2 03:09:27 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Partially reverts r55547 and r55555.</div><div class='del'>-	  ChangeLog about the reverted changes are also deleted in this file.</div><div class='del'>-	  [Bug #12536] [ruby-dev:49699] [ruby-dev:49702]</div><div class='del'>-</div><div class='del'>-Sat Jul  2 02:22:22 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_fill_term): When termlen increases, re-allocation</div><div class='del'>-	  of memory for termlen should always be needed.</div><div class='del'>-	  In this fix, if possible, decrease capa instead of realloc.</div><div class='del'>-	  [Bug #12536] [ruby-dev:49699]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 20:20:20 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Specify termlen as far as possible.</div><div class='del'>-	  Additional fix for [Bug #12536] [ruby-dev:49699].</div><div class='del'>-</div><div class='del'>-	* string.c (str_new_static): Specify termlen from the given encoding</div><div class='del'>-	  when creating a new String object is needed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_tainted_str_new_with_enc): New function to create a</div><div class='del'>-	  tainted String object with the given encoding. This means that</div><div class='del'>-	  the termlen is correctly specified. Currently static function.</div><div class='del'>-	  The function name might be renamed to rb_tainted_enc_str_new</div><div class='del'>-	  or rb_enc_tainted_str_new.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_external_str_new_with_enc): Use encoding by using the</div><div class='del'>-	  above rb_tainted_str_new_with_enc().</div><div class='del'>-</div><div class='del'>-Fri Jul  1 19:38:57 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset):</div><div class='del'>-	  Attempt to use independent strings for destructive tests that</div><div class='del'>-	  directly modify values on memory by using Fiddle::Pointer.</div><div class='del'>-	  [Bug #12537] [ruby-dev:49700]</div><div class='del'>-</div><div class='del'>-Fri Jul  1 18:20:00 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_ps_thread): show the detail of cfunc in ruby level</div><div class='del'>-	  backtrace.</div><div class='del'>-</div><div class='del'>-Fri Jul  1 13:26:39 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX</div><div class='del'>-	  is used, TERM_LEN(str) should be considered with it because</div><div class='del'>-	  embedded strings are also processed by TERM_FILL.</div><div class='del'>-	  Additional fix for [Bug #12536] [ruby-dev:49699].</div><div class='del'>-</div><div class='del'>-Fri Jul  1 12:11:01 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_count_objects): added gdb version of count_objects().</div><div class='del'>-</div><div class='del'>-Fri Jul  1 04:32:52 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .gdbinit (rb_ps_thread): show ruby level backtrace.</div><div class='del'>-	  Usually you can call `rb_ps` to show ruby level backtraces</div><div class='del'>-	  for all living threads.</div><div class='del'>-	  Note that it can call with core file like `gcore &lt;pid&gt;`</div><div class='del'>-	  and `gdb ruby core.&lt;pid&gt;`.</div><div class='del'>-</div><div class='del'>-Thu Jun 30 19:15:13 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Fix memory corruptions when using UTF-16/32 strings.</div><div class='del'>-	  [Bug #12536] [ruby-dev:49699]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_new_with_class): Use TERM_LEN of the "obj".</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware</div><div class='del'>-	  of termlen.</div><div class='del'>-</div><div class='del'>-	* string.c (str_shared_replace): Copy +termlen bytes instead of +1.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_times): termlen should not be included in capa.</div><div class='del'>-</div><div class='del'>-	* string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX,</div><div class='del'>-	  termlen should be counted with it because embedded strings are</div><div class='del'>-	  also processed by TERM_FILL.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 22:24:37 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych_jars.rb: removed needless file required to JRuby.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 22:21:38 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: The "reuse" behavior of d2i_ functions does</div><div class='del'>-	  not work well with OpenSSL 1.0.0t. So avoid it.</div><div class='del'>-</div><div class='del'>-Wed Jun 29 15:18:28 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_succ): optimize like r55515. (but this argument is</div><div class='del'>-	  constant)</div><div class='del'>-</div><div class='del'>-Wed Jun 29 12:41:58 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb: skip</div><div class='del'>-	  test_prepend_after_refine_wb_miss on ARM or MIPS.</div><div class='del'>-	  [ruby-core:76031] [Bug #12491]</div><div class='del'>-</div><div class='del'>-Wed Jun 29 08:45:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (passed_block): convert passed block symbol to proc.</div><div class='del'>-	  based on the patch by Daisuke Sato in [ruby-dev:49695].</div><div class='del'>-	  [Bug #12531]</div><div class='del'>-</div><div class='del'>-Wed Jun 29 03:34:41 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ulong): the old logic seems to try to avoid</div><div class='del'>-	  calculating `-(long)(num-1)-1` if `num` is not LONG_MIN. (Note that</div><div class='del'>-	  `-LONG_MIN` may be larger than LONG_MAX) But C compilers can</div><div class='del'>-	  optimize it into single NEG instruction.</div><div class='del'>-	  Therefore those two conditions can be single if-body.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2long): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ull): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big2ll): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 22:55:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb (PStore::CHECKSUM_ALGO): extract the algorithm for</div><div class='del'>-	  checksum, instead of qualified names for each times.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 22:29:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bootstraptest/runner.rb: do not use safe navigation operator.</div><div class='del'>-	  this runner may run on older ruby.  partially revert r53110</div><div class='del'>-	  (GH-1142 patched by @mlarraz).</div><div class='del'>-</div><div class='del'>-Tue Jun 28 22:09:09 2016  Akio Tajima &lt;artonx@yahoo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: rescue Errno:EACCES for chown.</div><div class='del'>-	  [Bug #12520]</div><div class='del'>-</div><div class='del'>-Tue Jun 28 18:38:09 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5ossl.h: Remove excess semicolons.</div><div class='del'>-	  Suppress warning on Solaris with Oracle Solaris Studio 12.</div><div class='del'>-	  [ruby-dev:49692] [Bug #12524]</div><div class='del'>-</div><div class='del'>-	* ext/digest/md5/md5cc.h: ditto.</div><div class='del'>-	* ext/digest/sha1/sha1cc.h: ditto.</div><div class='del'>-	* ext/digest/sha1/sha1ossl.h: ditto.</div><div class='del'>-	* ext/digest/sha2/sha2cc.h: ditto.</div><div class='del'>-	* ext/digest/sha2/sha2ossl.h: ditto.</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 15:56:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: noting to test if</div><div class='del'>-	  Unicode data files are available.</div><div class='del'>-	  [ruby-core:76160] [Bug #12433]</div><div class='del'>-</div><div class='del'>-	* test/test_unicode_normalize.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 15:20:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb (Net::HTTP#proxy_uri): cache the case no proxy</div><div class='del'>-	  is used.</div><div class='del'>-</div><div class='del'>-Tue Jun 28 09:56:29 2016  Stefan Schussler  &lt;mail@stefanschuessler.de&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_eqq): [DOC] Fix typo in RDoc.  [Fix GH-1393]</div><div class='del'>-</div><div class='del'>-Tue Jun 28 02:41:32 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_plus): use `- 1` instead of `&amp; (~1)` to allow</div><div class='del'>-	  compilers to use x86 LEA instruction (3 operand).</div><div class='del'>-	  Even if 3 operand LEA's latency is 3 cycle after SandyBridge,</div><div class='del'>-	  it reduces code size and can be faster because of super scalar.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_plus): calculate and use rb_int2big.</div><div class='del'>-	  On positive Fixnum overflow, `recv - 1 + obj` doesn't carry</div><div class='del'>-	  because recv's msb and obj's msb are 0, and resulted msb is 1.</div><div class='del'>-	  Therefore simply rshift and cast as signed long works fine.</div><div class='del'>-	  On negative Fixnum overflow, it will carry because both arguments'</div><div class='del'>-	  msb are 1, and resulted msb is also 1.</div><div class='del'>-	  In this case it needs to restore carried sign bit after rshift.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 16:58:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#install): accecpt symbolic mode, as</div><div class='del'>-	  well as chmod.</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb (FileUtils#install): add owner and group</div><div class='del'>-	  options.</div><div class='del'>-</div><div class='del'>-Mon Jun 27 08:56:55 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (ADD_TRACE): ignore trace instruction on non-positive</div><div class='del'>-	  line.</div><div class='del'>-</div><div class='del'>-	* parse.y (coverage): get rid of ArgumentError when the starting</div><div class='del'>-	  line number is not positive.  [ruby-core:76141] [Bug #12517]</div><div class='del'>-</div><div class='del'>-Sun Jun 26 10:20:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/Win32API.rb (Win32API#initialize): Cygwin</div><div class='del'>-	  2.5.2-1 (perhaps) seems to no longer append ".dll" suffix</div><div class='del'>-	  implicitly.</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/resolv.rb (Win32::Resolv): ditto.  Fix the</div><div class='del'>-	  error reported by yamataka AT u08.itscom.net in</div><div class='del'>-	  [ruby-list:50339], and pointed out and patched by cerberus AT</div><div class='del'>-	  m3.kcn.ne.jp in [ruby-list:50341].</div><div class='del'>-</div><div class='del'>-Sat Jun 25 10:07:52 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: Ignore errors caused by bugs that exist in</div><div class='del'>-	  LibreSSL &gt;= 2.3.1.</div><div class='del'>-</div><div class='del'>-Sat Jun 25 02:33:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (vm_respond_to): try method_missing if respond_to?</div><div class='del'>-	  is undefined, as if it is the default definition.</div><div class='del'>-	  [ruby-core:75377] [Bug #12353]</div><div class='del'>-</div><div class='del'>-Fri Jun 24 17:04:21 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/*, test/psych/*: Update psych 2.1.0</div><div class='del'>-	  This version fixed [Bug #11988][ruby-core:72850]</div><div class='del'>-</div><div class='del'>-Fri Jun 24 13:12:41 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*:</div><div class='del'>-	  Update rubygems 2.6.5 and 2.6.6.</div><div class='del'>-	  Release note of 2.6.5: https://github.com/rubygems/rubygems/commit/656f5d94dc888d78d0d00f3598a4fa37391aac80</div><div class='del'>-	  Release note of 2.6.6: https://github.com/rubygems/rubygems/commit/ccb9c3300c063f5b5656669972d24a10ef8afbf5</div><div class='del'>-</div><div class='del'>-Fri Jun 24 09:17:15 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (lib/unicode_normalize/tables.rb): should not depend</div><div class='del'>-	  on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get</div><div class='del'>-	  rid of downloading Unicode data unnecessary.  [ruby-dev:49681]</div><div class='del'>-</div><div class='del'>-	* common.mk (enc/unicode/casefold.h): update Unicode files in a</div><div class='del'>-	  sub-make, not to let the header depend on the files always.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: if gperf is not usable, assume the</div><div class='del'>-	  existing file is OK.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 19:44:54 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_regex_casefold.rb: Add Windows-1251, KOI8-R, and</div><div class='del'>-	  KOI8-U to encodings; definitely removed EUC-JP.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 19:32:23 2016  Mark St.Godard  &lt;markstgodard@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb (setup_forwarded_info): Use the first</div><div class='del'>-	  value in X-Forwarded-Proto, if header contains multiple comma</div><div class='del'>-	  separated values.  Some middlewares may add these values to the</div><div class='del'>-	  list, not replacing.  [Fix GH-1386]</div><div class='del'>-</div><div class='del'>-Tue Jun 21 17:17:42 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Skip test_readpartial_with_not_empty_buffer,</div><div class='del'>-	  test_read_buffer_error, test_read_unlocktmp_ensure,</div><div class='del'>-	  test_readpartial_unlocktmp_ensure, and</div><div class='del'>-	  test_sysread_unlocktmp_ensure on cygwin,</div><div class='del'>-	  because these tests repeatedly hang. This makes test_io.rb</div><div class='del'>-	  complete in finite time on cygwin.</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Fix test_in.rb -&gt; test_io.rb (two instances).</div><div class='del'>-</div><div class='del'>-Tue Jun 21 16:38:14 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casemap): do not put code with side effects</div><div class='del'>-	  inside RSTRING_PTR() macro which evaluates the argument multiple</div><div class='del'>-	  times.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 16:13:45 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casemap): fix memory leak.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 16:12:21 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_casemap): int is too small for string size.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 15:42:22 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Skip test_read_buffer_error on cygwin,</div><div class='del'>-	  because this test repeatedly hangs.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 15:35:14 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* LEGAL: Added filenames and copyrights for some files in</div><div class='del'>-	  enc/trans/JIS.</div><div class='del'>-</div><div class='del'>-Tue Jun 21 00:56:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (get_special_folder): fix calling convention of</div><div class='del'>-	  SHGetPathFromIDListEx, which should be WINAPI.  pointed out by</div><div class='del'>-	  @arton at http://twitter.com/arton/status/744884064277016576</div><div class='del'>-</div><div class='del'>-Tue Jun 21 00:22:02 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX):</div><div class='del'>-	  include setjmpex.h only when using setjmpex() for RUBY_SETJMP.</div><div class='del'>-	  the header of mingw32 overrides setjmp() by setjmpex().</div><div class='del'>-</div><div class='del'>-Mon Jun 20 18:39:16 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: Skip test_open_fifo_does_not_block_other_threads</div><div class='del'>-	  on cygwin. Fifos seem to work okay in cygwin, but this test repeatedly</div><div class='del'>-	  hangs.</div><div class='del'>-</div><div class='del'>-Mon Jun 20 13:35:06 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104</div><div class='del'>-	  partially to avoid "self has wrong type to call super in this</div><div class='del'>-	  context" errors.</div><div class='del'>-	  [ruby-core:72724] [Bug #11954]</div><div class='del'>-</div><div class='del'>-Mon Jun 20 12:53:38 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_remote_fetcher.rb: OpenSSL::PKey::DH#priv_key=</div><div class='del'>-	  is not defined when ext/openssl is built with OpenSSL 1.1.0.</div><div class='del'>-	  https://github.com/rubygems/rubygems/pull/1648</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Sun Jun 19 21:25:43 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: Add OCSP::SingleResponse that represents an</div><div class='del'>-	  OCSP SingleResponse structure. Also add two new methods #responses</div><div class='del'>-	  and #find_response to OCSP::BasicResponse. A BasicResponse has one or</div><div class='del'>-	  more SingleResponse. We have OCSP::BasicResponse#status that returns</div><div class='del'>-	  them as an array of arrays, each containing the content of a</div><div class='del'>-	  SingleResponse, but this is not useful. When validating an OCSP</div><div class='del'>-	  response, we need to look into the each SingleResponse and check their</div><div class='del'>-	  validity but it is not simple. For example, when validating for a</div><div class='del'>-	  certificate 'cert', the code would be like:</div><div class='del'>-</div><div class='del'>-	    # certid_target is an OpenSSL::OCSP::CertificateId for cert</div><div class='del'>-	    basic = res.basic</div><div class='del'>-	    result = basic.status.any? do |ary|</div><div class='del'>-	      ary[0].cmp(certid_target) &amp;&amp;</div><div class='del'>-	        ary[4] &lt;= Time.now &amp;&amp; (!ary[5] || Time.now &lt;= ary[5])</div><div class='del'>-	    end</div><div class='del'>-</div><div class='del'>-	  Adding OCSP::SingleResponse at the same time allows exposing</div><div class='del'>-	  OCSP_check_validity(). With this, the code above can be rewritten as:</div><div class='del'>-</div><div class='del'>-	    basic = res.basic</div><div class='del'>-	    single = basic.find_response(certid_target)</div><div class='del'>-	    result = single.check_validity</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: Test this.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 18:40:19 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspbres_add_status): Allow specifying</div><div class='del'>-	  the times (thisUpdate, nextUpdate and revocationTime) with Time</div><div class='del'>-	  objects. Currently they accepts only relative seconds from the current</div><div class='del'>-	  time. This is inconvenience, especially for revocationTime. When</div><div class='del'>-	  Integer is passed, they are still treated as relative times. Since the</div><div class='del'>-	  type check is currently done with rb_Integer(), this is a slightly</div><div class='del'>-	  incompatible change. Hope no one passes a relative time as String or</div><div class='del'>-	  Time object...</div><div class='del'>-	  Also, allow passing nil as nextUpdate. It is optional.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ruby_missing.h: Define RB_INTEGER_TYPE_P() if not defined.</div><div class='del'>-	  openssl gem will be released before Ruby 2.4.0.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 18:39:38 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c: Implement OCSP::{CertificateId,Request,</div><div class='del'>-	  BasicResponse,Response}#initialize_copy.</div><div class='del'>-	  [ruby-core:75504] [Bug #12381]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: Test them.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 18:29:50 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c,</div><div class='del'>-	  ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement</div><div class='del'>-	  initialize_copy method for OpenSSL::PKey::*.</div><div class='del'>-	  [ruby-core:75504] [Bug #12381]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb,</div><div class='del'>-	  test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they</div><div class='del'>-	  actually copy the OpenSSL objects, and modifications to cloned object</div><div class='del'>-	  don't affect the original object.</div><div class='del'>-</div><div class='del'>-Sun Jun 19 16:55:16 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir_m17n.rb: Skip tests with non-UTF-8 encodings</div><div class='del'>-	  on cygwin. Cygwin can use the Unicode PUA (private use area) to store</div><div class='del'>-	  bytes from non-UTF-8 filenames (see</div><div class='del'>-	  https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars),</div><div class='del'>-	  but we are not supporting this. [Bug #12443]</div><div class='del'>-</div><div class='del'>-Sun Jun 19 15:01:18 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* localeinit.c: Fix filesystem encoding for cygwin to UTF-8 (see</div><div class='del'>-	  https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-unusual)</div><div class='del'>-</div><div class='del'>-Sun Jun 19 14:31:07 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.h, ext/openssl/ossl_pkey_dh.c,</div><div class='del'>-	  ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_rsa.c: A few days</div><div class='del'>-	  ago, OpenSSL changed {DH,DSA,RSA}_get0_*() to take const BIGNUM **.</div><div class='del'>-	  https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=fd809cfdbd6e32b6b67b68c59f6d55fbed7a9327</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Sun Jun 19 11:19:43 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path_to_class): consider the string length</div><div class='del'>-	  instead of a terminator.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_path_to_class): search the constant at once</div><div class='del'>-	  instead of checking if defined and then getting it.</div><div class='del'>-</div><div class='del'>-Sat Jun 18 14:01:40 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/test_gem_installer.rb: Fixed broken test with extension</div><div class='del'>-	  build. https://github.com/rubygems/rubygems/pull/1645</div><div class='del'>-</div><div class='del'>-Sat Jun 18 13:59:54 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems</div><div class='del'>-	  HEAD(2c6d256). It contains to update vendored Molinillo to 0.5.0.</div><div class='del'>-	  https://github.com/rubygems/rubygems/pull/1638</div><div class='del'>-</div><div class='del'>-Sat Jun 18 10:13:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (build-ext), ext/extmk.rb: use variable EXTENCS</div><div class='del'>-	  different than ENCOBJS, to get rid of circular dependency.</div><div class='del'>-	  build libencs when linking encodings statically.</div><div class='del'>-	  [ruby-core:75618] [Bug #12401]</div><div class='del'>-</div><div class='del'>-Sat Jun 18 08:52:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_getline): fix pointer index</div><div class='del'>-	  overflow.  reported by Guido Vranken &lt;guido AT guidovranken.nl&gt;.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 16:35:35 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (Init_class_hierarchy): prevent rb_cObject which is the</div><div class='del'>-	  class tree root, from GC.  [ruby-dev:49666] [Bug #12492]</div><div class='del'>-</div><div class='del'>-Thu Jun 16 12:17:52 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): adjust buffer size by processed and rest</div><div class='del'>-	  lengths, instead of doubling repeatedly.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 11:15:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): consider terminator length and fix heap</div><div class='del'>-	  overflow.  reported by Guido Vranken &lt;guido AT guidovranken.nl&gt;.</div><div class='del'>-</div><div class='del'>-Thu Jun 16 00:02:32 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify, ossl_ocspbres_verify):</div><div class='del'>-	  Use ossl_clear_error() so that they don't print warnings to stderr and</div><div class='del'>-	  leak errors in the OpenSSL error queue. Also, check the return value</div><div class='del'>-	  of OCSP_*_verify() correctly. They can return -1 on verification</div><div class='del'>-	  failure.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 19:52:23 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspreq_sign, ossl_ocspbres_sign): Allow</div><div class='del'>-	  specifying hash algorithm used in signing. They are hard coded to use</div><div class='del'>-	  SHA-1.</div><div class='del'>-	  Based on a patch provided by Tim Shirley &lt;tidoublemy@gmail.com&gt;.</div><div class='del'>-	  [ruby-core:70915] [Feature #11552] [GH ruby/openssl#28]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: Test sign-verify works.</div><div class='del'>-</div><div class='del'>-Wed Jun 15 01:46:16 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: [DOC] fix rdoc directive, and an example of negative</div><div class='del'>-	  value.  [ruby-core:76025] [Bug #12487]</div><div class='del'>-</div><div class='del'>-Wed Jun 15 01:44:42 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: provide Unicode Version information as</div><div class='del'>-	  RbConfig::CONFIG['UNICODE_VERSION'].</div><div class='del'>-	  [ruby-core:75845] [Feature #12460]</div><div class='del'>-</div><div class='del'>-Wed Jun 15 00:01:18 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb</div><div class='del'>-	  (TestComprehensiveCaseFold::read_data): use \A and \z instead of</div><div class='del'>-	  ^ and $ in regexp.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 23:43:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward.h (rb_cFixnum, rb_cBignum): remove the</div><div class='del'>-	  backward compatibility macros, to fail incompatible extension</div><div class='del'>-	  libraries early.  [Bug #12427]</div><div class='del'>-</div><div class='del'>-Tue Jun 14 22:22:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): limit the result string</div><div class='del'>-	  size by the format length, to get rid of unlimited memory use.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 22:11:11 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash,</div><div class='del'>-	  ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm):</div><div class='del'>-	  Add accessor methods OCSP::CertificateId#issuer_name_hash,</div><div class='del'>-	  #issuer_key_hash, #hash_algorithm.</div><div class='del'>-	  Based on a patch provided by Paul Kehrer &lt;paul.l.kehrer@gmail.com&gt;.</div><div class='del'>-	  [ruby-core:48062] [Feature #7181]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: Test these new methods.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 22:07:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_strftime.c (date_strftime_with_tmx): reject too</div><div class='del'>-	  large precision to get rid of buffer overflow.</div><div class='del'>-	  reported by Guido Vranken &lt;guido AT guidovranken.nl&gt;.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 21:40:42 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ocsp.c (ossl_ocspbres_to_der, ossl_ocspcid_to_der):</div><div class='del'>-	  Implement #to_der methods for OCSP::BasicResponse and</div><div class='del'>-	  OCSP::CertificateId.</div><div class='del'>-</div><div class='del'>-	  (ossl_ocspreq_initialize, ossl_ocspres_initialize): Use GetOCSP*()</div><div class='del'>-	  instead of raw DATA_PTR().</div><div class='del'>-</div><div class='del'>-	  (ossl_ocspbres_initialize, ossl_ocspcid_initialize): Allow</div><div class='del'>-	  initializing from DER string.</div><div class='del'>-</div><div class='del'>-	  (Init_ossl_ocsp): Define new #to_der methods.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ocsp.rb: Test these changes. Also add missing tests</div><div class='del'>-	  for OCSP::{Response,Request}#to_der.</div><div class='del'>-</div><div class='del'>-Tue Jun 14 21:35:00 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h (DH_set0_pqg, RSA_set0_key):</div><div class='del'>-	  DH_set0_pqg() allows 'q' to be NULL. Fix a typo in RSA_set0_key().</div><div class='del'>-	  Fixes r55285.  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Mon Jun 14 10:19:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: describe Integer#digits.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 21:09:40 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (debug_deadlock_check): show thread lock dependency and</div><div class='del'>-	  backtrace [Feature #8214] [ruby-dev:47217]</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_status_name): show "sleep_forever" instead of</div><div class='del'>-	  "sleep" if called from inspect.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 20:50:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_iter): remove named capture</div><div class='del'>-	  conflict warnings.  it is just annoying rather than useful.</div><div class='del'>-	  [ruby-core:75416] [Bug #12359]</div><div class='del'>-</div><div class='del'>-Mon Jun 13 20:04:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_digits, rb_fix_digits, rb_int_digits_bigbase):</div><div class='del'>-	  Add Integer#digits to extract columns in place-value notation</div><div class='del'>-	  [Feature #12447] [ruby-core:75799]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb: Add tests for the above change.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 20:34:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if</div><div class='del'>-	  Integer is integrated.  [ruby-core:75718][Bug #12427]</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum):</div><div class='del'>-	  fallback to rb_cInteger.</div><div class='del'>-</div><div class='del'>-	* bignum.c, numeric.c, ext/json/generator/generator.{c,h}: use the</div><div class='del'>-	  macro.</div><div class='del'>-</div><div class='del'>-Mon Jun 13 16:58:53 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Add tests for full Unicode</div><div class='del'>-	  swapcase.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 14:48:00 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Add tests for ASCII-only</div><div class='del'>-	  swapcase; store calculated values in hashes.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 14:05:45 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_get_auth_tag,</div><div class='del'>-	  ossl_cipher_set_auth_tag): Check if the cipher flags retrieved by</div><div class='del'>-	  EVP_CIPHER_CTX_flags() includes EVP_CIPH_FLAG_AEAD_CIPHER to see if</div><div class='del'>-	  the cipher supports AEAD. AES-GCM was the only supported in OpenSSL</div><div class='del'>-	  1.0.1.</div><div class='del'>-</div><div class='del'>-	  (Init_ossl_cipher): Fix doc; OpenSSL::Cipher::AES.new(128, :GCM) can't</div><div class='del'>-	  work.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: Define EVP_CTRL_AEAD_{GET,SET}_TAG if</div><div class='del'>-	  missing. They are added in OpenSSL 1.1.0, and have the same value as</div><div class='del'>-	  EVP_CTRL_GCM_{GET,SET}_TAG and EVP_CTRL_CCM_{GET,SET}_TAG.</div><div class='del'>-</div><div class='del'>-Sun Jun 12 13:47:42 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb (test_openssl_engine_builtin,</div><div class='del'>-	  test_openssl_engine_by_id_string): Skip test if 'openssl' engine is</div><div class='del'>-	  already loaded. And test the number increased by Engine.load{_by_id,},</div><div class='del'>-	  not the total count of loaded engines. Previously, we called</div><div class='del'>-	  OpenSSL::Engine.cleanup every time running a test case, but we no</div><div class='del'>-	  longer can do it.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Sun Jun 12 09:24:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (append_fspath): normalize directory name to be appended</div><div class='del'>-	  on OS X.  [ruby-core:75957] [Ruby trunk Bug#12483]</div><div class='del'>-	  https://github.com/rails/rails/issues/25303#issuecomment-224834804</div><div class='del'>-</div><div class='del'>-Sat Jun 11 23:07:32 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (_delegator_method): get rid of a warning which</div><div class='del'>-	  causes test failures introduced at r55376.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 18:37:58 2016  Marcus Stollsteimer  &lt;sto.mar@web.de&gt;</div><div class='del'>-</div><div class='del'>-	* ext/json/lib/*.rb: Removed some comments. Because these are unnecessary</div><div class='del'>-	  class description. [ci skip][Bug #12255][ruby-core:74835]</div><div class='del'>-</div><div class='del'>-Sat Jun 11 15:19:38 2016  takiy33  &lt;takiy33@users.noreply.github.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb: [DOC] Remove dead link on documentation for</div><div class='del'>-	  Japanese of SMTP.  [Fix GH-1380]</div><div class='del'>-</div><div class='del'>-Sat Jun 11 15:02:45 2016  Grant Hutchins  &lt;github@nertzy.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_oct): [DOC] fix typo, hornored -&gt; honored.</div><div class='del'>-	  [Fix GH-1379]</div><div class='del'>-</div><div class='del'>-Sat Jun 11 14:04:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/objspace/objspace_dump.c: generate valid JSON for dump_all.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 13:52:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (_delegator_method): remove __send__ call if</div><div class='del'>-	  possible, so that more optimizations will be enabled.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 11:24:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859.h (SHARP_s): name frequently used codepoint.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 09:58:45 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c: Revert to older version of code.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 09:46:17 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_1.c: Implement non-ASCII case mapping.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Tests for above.</div><div class='del'>-</div><div class='del'>-	* string.c: Add iso-8859-1 to supported encodings.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 09:31:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (_delegator_method): leave the backtrace</div><div class='del'>-	  untouched during accessor.  forwardable.rb does not appear in</div><div class='del'>-	  the backtrace during delegated method because of tail-call</div><div class='del'>-	  optimization.</div><div class='del'>-</div><div class='del'>-Sat Jun 11 01:38:31 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (GCC_VERSION_SINCE): Fix logic error by</div><div class='del'>-	  adding parentheses. Fix failures of TestMkmf::TestConvertible</div><div class='del'>-	  with GCC 3.4.3 on Solaris 10. [Bug #12479] [ruby-dev:49660]</div><div class='del'>-</div><div class='del'>-Fri Jun 10 21:54:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (Forwardable._delegator_method): extract</div><div class='del'>-	  method generator and deal with non-module objects.</div><div class='del'>-	  [ruby-dev:49656] [Bug #12478]</div><div class='del'>-</div><div class='del'>-Fri Jun 10 17:35:11 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Special-case :ascii option in rb_str_capitalize_bang and</div><div class='del'>-	  rb_str_swapcase_bang.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 17:12:24 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Special-case :ascii option in rb_str_upcase_bang (retry).</div><div class='del'>-</div><div class='del'>-Fri Jun 10 14:48:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (get_env_cstr): ensure NUL-terminated.</div><div class='del'>-	  [ruby-dev:49655] [Bug #12475]</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_fill_terminator): return the pointer to the</div><div class='del'>-	  NUL-terminated content.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 21:42:00 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (asn1integer_to_num): Use</div><div class='del'>-	  ASN1_ENUMERATED_to_BN() to convert an ASN1_ENUMERATED to a BN.</div><div class='del'>-	  Starting from OpenSSL 1.1.0, ASN1_INTEGER_to_BN() rejects</div><div class='del'>-	  non-ASN1_INTEGER objects. The format of INTEGER and ENUMERATED are</div><div class='del'>-	  almost identical so they behaved in the same way in OpenSSL &lt;= 1.0.2.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_asn1.rb (test_decode_enumerated): Test that it</div><div class='del'>-	  works.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 21:10:04 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* tool/ifchange: fix timestamp error when target without</div><div class='del'>-	  directory.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 19:46:22 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Add define guards for OPENSSL_NO_EC.</div><div class='del'>-	  SSL_CTX_set_ecdh_auto() is defined even when ECDH is disabled in</div><div class='del'>-	  OpenSSL's configuration. This fixes r55214.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb (test_ecdh_curves): Skip if the OpenSSL does</div><div class='del'>-	  not support ECDH.</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb (start_server): Ignore error in</div><div class='del'>-	  SSLContext#ecdh_curves=.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 18:12:42 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (un-runnable): fail with proper error message.</div><div class='del'>-	  [ruby-core:75905] [Bug #12472]</div><div class='del'>-</div><div class='del'>-Thu Jun  9 15:32:17 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (RBCONFIG): use ifchange tool to see if the content is</div><div class='del'>-	  changed and update the timestamp file.</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb: remove ifchange features.</div><div class='del'>-</div><div class='del'>-	* tool/ifchange: make target directory if it does not exist with</div><div class='del'>-	  its parent directories.</div><div class='del'>-</div><div class='del'>-	* win32/ifchange.bat: drop support for command.com used on old</div><div class='del'>-	  systems.</div><div class='del'>-</div><div class='del'>-Thu Jun  9 15:03:35 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check for CRYPTO_malloc() and SSL_new().</div><div class='del'>-	  OpenSSL_add_all_digests() and SSL_library_init() are deprecated and</div><div class='del'>-	  converted to macros in OpenSSL 1.1.0.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Wed Jun  8 23:09:51 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_ascii_casemap): fix compile error.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 22:22:24 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Revert previous commit (possibility of endless loop).</div><div class='del'>-</div><div class='del'>-Wed Jun  8 21:57:41 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Special-case :ascii option in rb_str_upcase_bang.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 21:28:36 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: New static function rb_str_ascii_casemap; special-casing</div><div class='del'>-	  :ascii option in rb_str_upcase_bang and rb_str_downcase_bang.</div><div class='del'>-</div><div class='del'>-	* regenc.c: Fix a bug (wrong use of unnecessary slack at end of string).</div><div class='del'>-</div><div class='del'>-	* regenc.h -&gt; include/ruby/oniguruma.h: Move declaration of</div><div class='del'>-	  onigenc_ascii_only_case_map so that it is visible in string.c.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 20:33:44 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h: Remove excess semicolons in PUREFUNC().</div><div class='del'>-	  Fix failure of TestMkmf::TestConvertible on Solaris with</div><div class='del'>-	  Oracle Solaris Studio 12. [ruby-dev:49651] [Bug #12470]</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Wed Jun  8 16:03:09 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb (getok, get_response): raise an ArgumentError when</div><div class='del'>-	  CR or LF is included in a line, because they are not allowed in</div><div class='del'>-	  RFC5321.  Thanks, Jeremy Daer.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 21:27:25 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/rubygems/*_{cert,cert_32}.pem: Regenerate test certificates for</div><div class='del'>-	  OpenSSL 1.1.0. This is already in upstream.</div><div class='del'>-	  https://github.com/rubygems/rubygems/commit/9be5c53939440a61c4bba73cfffbeb5cfadf72be</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 21:27:17 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/open-uri/test_ssl.rb: Regenerate test certificates. The test CA</div><div class='del'>-	  certificate was incorrectly generated. A CA certificate must have the</div><div class='del'>-	  basic constraints extension with cA bit set to TRUE. OpenSSL &lt;= 1.0.2</div><div class='del'>-	  allowed the error when the certificate is in the trusted store but</div><div class='del'>-	  OpenSSL 1.1.0 no longer does.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Tue Jun  7 21:20:38 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509name.rb: Don't register OID for 'emailAddress'</div><div class='del'>-	  and 'serialNumber'. A recent change in OpenSSL made OBJ_create()</div><div class='del'>-	  reject an already existing OID. They were needed to run tests with</div><div class='del'>-	  OpenSSL 0.9.6 which is now unsupported.</div><div class='del'>-	  https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=52832e470f5fe8c222249ae5b539aeb3c74cdb25</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl_session.rb (test_server_session): Duplicate</div><div class='del'>-	  SSL::Session before re-adding to the session store. OpenSSL 1.1.0</div><div class='del'>-	  starts rejecting SSL_SESSION once removed by SSL_CTX_remove_session().</div><div class='del'>-	  https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=7c2d4fee2547650102cd16d23f8125b76112ae75</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb (setup): Remove X25519 from @keys. X25519</div><div class='del'>-	  is new in OpenSSL 1.1.0 but this is for key agreement and not for</div><div class='del'>-	  signing.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb, test/openssl/test_ssl.rb,</div><div class='del'>-	  test/openssl/utils.rb: Set security level to 0 when using aNULL cipher</div><div class='del'>-	  suites.</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb: Use 1024 bits DSA key for client certificates.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_engine.rb: Run each test in separate process.</div><div class='del'>-	  We can no longer cleanup engines explicitly as ENGINE_cleanup() was</div><div class='del'>-	  removed.</div><div class='del'>-	  https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=6d4fb1d59e61aacefa25edc4fe5acfe1ac93f743</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_cleanup): Add a note to the</div><div class='del'>-	  RDoc for Engine.cleanup.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/digest.rb: Don't define constants for DSS,</div><div class='del'>-	  DSS1 and SHA(-0) when using with OpenSSL 1.1.0. They are removed.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_digest.rb, test/openssl/test_pkey_dsa.rb,</div><div class='del'>-	  test/openssl/test_pkey_dsa.rb, test/openssl/test_ssl.rb,</div><div class='del'>-	  test/openssl/test_x509cert.rb, test/openssl/test_x509req.rb: Don't</div><div class='del'>-	  test unsupported hash functions.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 17:49:52 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive: Change test for encodings</div><div class='del'>-	  without any non-ASCII case conversions from ASCII-only test</div><div class='del'>-	  to full test.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 17:18:39 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upcase_bang, rb_str_capitalize_bang,</div><div class='del'>-	  rb_str_swapcase_bang): Switch to use primitive.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 16:44:16 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_downcase_bang): Switch to use primitive except if</div><div class='del'>-	  conversion can be done ASCII-only.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 16:13:36 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive: Add regression tests for</div><div class='del'>-	  current ASCII-only case conversion.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 15:28:38 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive: Fix method name</div><div class='del'>-	  (generate_casefold_tests -&gt; generate_case_mapping_tests).</div><div class='del'>-</div><div class='del'>-Tue Jun  7 15:05:13 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.h/c: Rename onigenc_not_support_case_map to</div><div class='del'>-	  onigenc_ascii_only_case_map.</div><div class='del'>-</div><div class='del'>-	* regenc.h: Add definition of onigenc_single_byte_ascii_only_case_map.</div><div class='del'>-</div><div class='del'>-	* enc/iso_8859_X.c, windows_125X.c, ascii.c, us-ascii.c, koi8_x.c:</div><div class='del'>-	  Replace onigenc_not_support_case_map by</div><div class='del'>-	  onigenc_single_byte_ascii_only_case_map.</div><div class='del'>-</div><div class='del'>-	* enc/big5.c, cp949.c, emacs_mule.c, euc_X.c, gbX.c, shift_jis.c,</div><div class='del'>-	  windows_31j.c: Replace onigenc_not_support_case_map by</div><div class='del'>-	  onigenc_ascii_only_case_map.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 14:57:09 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check for SSL_CTX_set_min_proto_version()</div><div class='del'>-	  macro added in OpenSSL 1.1.0. Version-specific methods, such as</div><div class='del'>-	  TLSv1_method(), are deprecated in OpenSSL 1.1.0. We need to use</div><div class='del'>-	  version-flexible methods (TLS_*method() or SSLv23_*method()) and</div><div class='del'>-	  disable other protocol versions as necessary.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: Use SSL_CTX_set_{min,max}_proto_version() to</div><div class='del'>-	  fix the protocol version.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 12:55:34 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_not_support_case_map): Move to end of file;</div><div class='del'>-	  (onigenc_single_byte_ascii_only_case_map): Add new function.</div><div class='del'>-</div><div class='del'>-Tue Jun  7 09:26:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.c (onigenc_not_support_case_map): Rewrite to work correctly</div><div class='del'>-	  in ASCII range.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 23:00:00 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* appveyor.yml: Update libressl version to 2.3.5.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 18:37:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_throw_start): check if the iseq is symbol</div><div class='del'>-	  proc, class definition should not be a symbol proc.</div><div class='del'>-	  [ruby-core:75856] [Bug #12462]</div><div class='del'>-</div><div class='del'>-Mon Jun  6 18:36:34 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Added UTF-16BE/LE and UTF-32BE/LE to supported encodings</div><div class='del'>-	  for Unicode case mapping.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Tests for above</div><div class='del'>-	  functionality; fixed an encoding issue in assertion error message.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 17:29:35 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Speed up testing for small</div><div class='del'>-	  encodings by preselecting codepoints.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 17:10:50 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_free): Use EVP_CIPHER_CTX_free()</div><div class='del'>-	  to free EVP_CIPHER_CTX allocated by EVP_CIPHER_CTX_new().</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Mon Jun  6 13:37:08 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c Change rb_str_casemap to use encoding primitive</div><div class='del'>-	  case_map instead of directly calling onigenc_unicode_case_map.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 13:16:46 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb:</div><div class='del'>-	  Remove :lithuanian guard for Unicode case mapping.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 10:39:56 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: Include ruby/config.h. r55285 added</div><div class='del'>-	  some inline functions but VC does not recognize 'inline' keyword.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 09:25:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2): report raised exception if</div><div class='del'>-	  report_on_exception flag is set.  [Feature #6647]</div><div class='del'>-</div><div class='del'>-Mon Jun  6 01:36:24 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check existence of SSL_is_server(). This</div><div class='del'>-	  function was introduced in OpenSSL 1.0.2.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: Implement SSL_is_server() if missing.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ssl_info_cb): Use SSL_is_server() to see if</div><div class='del'>-	  the SSL is server. The state machine in OpenSSL was rewritten and</div><div class='del'>-	  SSL_get_state() no longer returns SSL_ST_ACCEPT.</div><div class='del'>-</div><div class='del'>-	  (ossl_ssl_cipher_to_ary, ossl_sslctx_session_get_cb): Add some</div><div class='del'>-	  `const`s to suppress warning.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 01:18:10 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as</div><div class='del'>-	  d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in</div><div class='del'>-	  OpenSSL 1.1.0.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-Mon Jun  6 00:34:16 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check existence of accessor functions that</div><div class='del'>-	  don't exist in OpenSSL 0.9.8. OpenSSL 1.1.0 made most of its</div><div class='del'>-	  structures opaque and requires use of these accessor functions.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.[ch]: Implement them if missing.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl*.c: Use these accessor functions.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_hmac.rb: Add missing test for HMAC#reset.</div><div class='del'>-</div><div class='del'>-Mon Jun  6 00:00:13 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.[ch]: Implement EVP_PKEY_get0_*() and</div><div class='del'>-	  {RSA,DSA,EC_KEY,DH}_get0_*() functions.</div><div class='del'>-	  OpenSSL 1.1.0 makes EVP_PKEY/RSA/DSA/DH opaque. We used to provide</div><div class='del'>-	  setter methods for each parameter of each PKey type, for example</div><div class='del'>-	  PKey::RSA#e=, but this is no longer possible because the new API</div><div class='del'>-	  RSA_set0_key() requires the 'n' at the same time. This commit adds</div><div class='del'>-	  deprecation warning to them and adds PKey::*#set_* methods as direct</div><div class='del'>-	  wrapper for those new APIs. For example, 'rsa.e = 3' now needs to be</div><div class='del'>-	  rewritten as 'rsa.set_key(rsa.n, 3, rsa.d)'.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey*.[ch]: Use the new accessor functions. Implement</div><div class='del'>-	  RSA#set_{key,factors,crt_params}, DSA#set_{key,pqg}, DH#set_{key,pqg}.</div><div class='del'>-	  Emit a warning with rb_warning() when old setter methods are used.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_array_drbssl.rb, test/drb/ut_drb_drbssl.rb,</div><div class='del'>-	  test/rubygems/test_gem_remote_fetcher.rb: Don't set a priv_key for DH</div><div class='del'>-	  object that are used in tmp_dh_callback. Generating a new key pair</div><div class='del'>-	  every time should be fine - actually the private exponent is ignored</div><div class='del'>-	  in OpenSSL &gt;= 1.0.2f/1.0.1r even if we explicitly set.</div><div class='del'>-	  https://www.openssl.org/news/secadv/20160128.txt</div><div class='del'>-</div><div class='del'>-Sun Jun  5 22:06:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Fix the timing to detect the appropriate C++ compiler</div><div class='del'>-	  in OS X.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 21:42:24 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check absence of CRYPTO_lock() to see if the</div><div class='del'>-	  OpenSSL has the new threading API. In OpenSSL &lt;= 1.0.2, an application</div><div class='del'>-	  had to set locking callbacks to use OpenSSL in a multi-threaded</div><div class='del'>-	  environment. OpenSSL 1.1.0 now finds pthreads or Windows threads so we</div><div class='del'>-	  don't need to do something special.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	  Also check existence of *_up_ref(). Some structures in OpenSSL have</div><div class='del'>-	  a reference counter. We used to increment it with CRYPTO_add() which</div><div class='del'>-	  is a part of the old API.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: Implement *_up_ref() if missing.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: Don't set locking callbacks if unneeded.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c, ext/openssl/ossl_ssl.c,</div><div class='del'>-	  ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c,</div><div class='del'>-	  ext/openssl/ossl_x509store.c: Use *_up_ref() instead of CRYPTO_add().</div><div class='del'>-</div><div class='del'>-Sun Jun  5 21:38:13 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check if RAND_pseudo_bytes() is usable. It is</div><div class='del'>-	  marked as deprecated in OpenSSL 1.1.0.</div><div class='del'>-	  [ruby-core:75225] [Feature #12324]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c: Disable Random.pseudo_bytes if</div><div class='del'>-	  RAND_pseudo_bytes() is unavailable.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_random.rb: Don't test Random.pseudo_bytes if not</div><div class='del'>-	  defined.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 19:06:40 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add news about Unicode-wide case mapping for</div><div class='del'>-	  String/Symbol#upcase/downcase/swapcase/capitalize(!).</div><div class='del'>-</div><div class='del'>-Sun Jun  5 15:24:33 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb:</div><div class='del'>-	  Remove :lithuanian guard for Unicode case mapping.</div><div class='del'>-</div><div class='del'>-Sun Jun  5 14:46:34 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Remove :lithuanian guard for Unicode case mapping.</div><div class='del'>-</div><div class='del'>-Sat Jun  4 10:54:52 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt.h (struct crypt_data): remove unnecessary member</div><div class='del'>-	  "initialized".</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c (des_setkey_r): nothing to be initialized in</div><div class='del'>-	  crypt_data.</div><div class='del'>-</div><div class='del'>-	* configure.in (struct crypt_data): check for "initialized" in</div><div class='del'>-	  struct crypt_data, which may be only in glibc, and isn't on AIX</div><div class='del'>-	  at least.</div><div class='del'>-</div><div class='del'>-Sat Jun  4 10:38:39 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: unify MAX_PATH, _MAX_PATH, and MAXPATHLEN to</div><div class='del'>-	  PATH_MAX, except for MAX_PATH in get_special_folder for an API</div><div class='del'>-	  limit.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 21:27:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): rb_str_conv_enc() never set encoding</div><div class='del'>-	  of the source string, but returns the string itself if the</div><div class='del'>-	  conversion failed.  then the instance variable does not need to</div><div class='del'>-	  be set again.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 18:04:37 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): need to duplicate path before passing it to</div><div class='del'>-	  rb_str_conv_enc() because the function might call rb_enc_associate()</div><div class='del'>-	  internally.  this fixes test failures on Windows introduced at r55260.</div><div class='del'>-</div><div class='del'>-Fri Jun  3 17:44:25 2016  Reiner Herrmann  &lt;reiner@reiner-h.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (create_makefile): sort lists of source and object</div><div class='del'>-	  files in generated Makefile, unless given by extconf.rb.</div><div class='del'>-	  [Fix GH-1367]</div><div class='del'>-</div><div class='del'>-Thu Jun  2 21:18:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (get_special_folder): use SHGetPathFromIDListEx if</div><div class='del'>-	  available instead of old SHGetPathFromIDListW, to check the</div><div class='del'>-	  buffer size.</div><div class='del'>-</div><div class='del'>-Thu Jun  2 17:05:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_init_loadpath_safe): remove MAXPATHLEN restriction</div><div class='del'>-	  for Windows 10.</div><div class='del'>-</div><div class='del'>-Thu Jun  2 16:51:35 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-here-doc-beg-re),</div><div class='del'>-	  (ruby-here-doc-beg-match, ruby-parse-partial): Support for</div><div class='del'>-	  `squiggly heredoc' syntax in ruby-mode.  [Fix GH-1372]</div><div class='del'>-</div><div class='del'>-Thu Jun  2 10:24:48 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Raise ArgumentError when invalid string is detected in</div><div class='del'>-	  case mapping methods.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Check for invalid string and signal with negative</div><div class='del'>-	  length value.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Add tests for above.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_m17n_comb.rb: Add a message to clarify test failure.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 21:41:05 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check existence of ASN1_TIME_adj(). The old</div><div class='del'>-	  ASN1_TIME_set() is not Year 2038 ready on sizeof(time_t) == 4</div><div class='del'>-	  environment. This function was added in OpenSSL 1.0.0.</div><div class='del'>-	  [ruby-core:45552] [Bug #6571]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (ossl_time_split): Added. Split the argument</div><div class='del'>-	  (Time) into the number of days elapsed since the epoch and the</div><div class='del'>-	  remainder seconds to conform to ASN1_TIME_adj().</div><div class='del'>-	  (obj_to_asn1utime, obj_to_asn1gtime): Use ossl_time_split() and</div><div class='del'>-	  ASN1_*TIME_adj().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.h: Add the function prototype for</div><div class='del'>-	  ossl_time_split().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509.[ch]: Add ossl_x509_time_adjust(). Similarly to</div><div class='del'>-	  obj_to_asn1*time(), use X509_time_adj_ex() instead of X509_time_adj().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c,</div><div class='del'>-	  ext/openssl/ossl_x509revoked.c: Use ossl_x509_time_adjust().</div><div class='del'>-</div><div class='del'>-Wed Jun  1 15:58:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: revert r55237.  replace crypt, not crypt_r, and</div><div class='del'>-	  check if crypt is broken more.</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c: move crypt_r.c</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): use crypt_r if provided by the system.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 14:07:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt_r.c (a64toi): initialize statically and fix out of</div><div class='del'>-	  bounds access when salt is not 7bit clean.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 11:34:59 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (MISSING): fixed build error introduced at r55237.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 09:48:06 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): use reentrant crypt_r.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 09:37:26 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c (des_setkey): void function never returns any value.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 09:16:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* crypt.h: separate header file from missing/crypt.c.</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c (crypt_r, setkey_r, encrypt_r): add reentrant</div><div class='del'>-	  versions.</div><div class='del'>-</div><div class='del'>-Wed Jun  1 02:25:38 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* missing/crypt.c: fix size macros to use configured values</div><div class='del'>-	  for platforms long is larger than 32bit.</div><div class='del'>-	  [ruby-core:75792] [Bug #12446]</div><div class='del'>-</div><div class='del'>-Tue May 31 17:28:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser::Completion.candidate): get rid of</div><div class='del'>-	  nil as key names.  [ruby-core:75773] [Bug #12438]</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#make_switch): char class option</div><div class='del'>-	  cannot be NoArgument, default to RequiredArgument.</div><div class='del'>-</div><div class='del'>-Tue May 31 00:30:11 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (host_str, port_str): Use StringValueCStr</div><div class='del'>-	  instead of (Safe)StringValue, to detect NUL byte in the string.</div><div class='del'>-</div><div class='del'>-Mon May 30 22:02:01 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c (time_to_time_t): Use NUM2TIMET() instead of</div><div class='del'>-	  NUM2LONG(). time_t may be larger than long.</div><div class='del'>-	  [ruby-core:45552] [Bug #6571]</div><div class='del'>-</div><div class='del'>-Mon May 30 21:15:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Document current behavior for other case mapping methods</div><div class='del'>-	  on String. [ci skip]</div><div class='del'>-</div><div class='del'>-Mon May 30 20:00:25 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Document current situation for String#downcase. [ci skip]</div><div class='del'>-</div><div class='del'>-Mon May 30 18:29:28 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): Enable the automatic</div><div class='del'>-	  curve selection for ECDH by calling SSL_CTX_set_ecdh_auto(). With</div><div class='del'>-	  this a TLS server automatically selects a curve which both the client</div><div class='del'>-	  and the server support to use in ECDH. This changes the default</div><div class='del'>-	  behavior but users can still disable ECDH by excluding 'ECDH' cipher</div><div class='del'>-	  suites from the cipher list (with SSLContext#ciphers=). This commit</div><div class='del'>-	  also deprecate #tmp_ecdh_callback=. It was added in Ruby 2.3.0. It</div><div class='del'>-	  wraps SSL_CTX_set_tmp_ecdh_callback() which will be removed in OpenSSL</div><div class='del'>-	  1.1.0. Its callback receives two values 'is_export' and 'keylength'</div><div class='del'>-	  but both are completely useless for determining a curve to use in</div><div class='del'>-	  ECDH. The automatic curve selection was introduced to replace this.</div><div class='del'>-</div><div class='del'>-	  (ossl_sslctx_setup): Deprecate SSLContext#tmp_ecdh_callback=. Emit a</div><div class='del'>-	  warning if this is in use.</div><div class='del'>-</div><div class='del'>-	  (ossl_sslctx_set_ecdh_curves): Add SSLContext#ecdh_curves=. Wrap</div><div class='del'>-	  SSL_CTX_set1_curves_list(). If it is not available, this falls back</div><div class='del'>-	  to SSL_CTX_set_tmp_ecdh().</div><div class='del'>-</div><div class='del'>-	  (Init_ossl_ssl): Define SSLContext#ecdh_curves=.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check the existence of EC_curve_nist2nid(),</div><div class='del'>-	  SSL_CTX_set1_curves_list(), SSL_CTX_set_ecdh_auto() and</div><div class='del'>-	  SSL_CTX_set_tmp_ecdh_callback().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.[ch]: Implement EC_curve_nist2nid() if</div><div class='del'>-	  missing.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pair.rb (test_ecdh_callback): Use</div><div class='del'>-	  EnvUtil.suppress_warning to suppress deprecated warning.</div><div class='del'>-</div><div class='del'>-	  (test_ecdh_curves): Test that SSLContext#ecdh_curves= works.</div><div class='del'>-</div><div class='del'>-	* test/openssl/utils.rb (start_server): Use SSLContext#ecdh_curves=.</div><div class='del'>-</div><div class='del'>-Mon May 30 16:28:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/raddrinfo.c (host_str, port_str): use RSTRING_LEN</div><div class='del'>-	  instead of strlen, since RSTRING_PTR StringValueCStr may not be</div><div class='del'>-	  NUL-terminated when SHARABLE_MIDDLE_SUBSTRING=1.  reported by</div><div class='del'>-	  @tmtms, http://twitter.com/tmtms/status/736910516229005312</div><div class='del'>-</div><div class='del'>-Mon May 30 16:20:26 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_fill_term): return new pointer reallocated by</div><div class='del'>-	  filling terminator.</div><div class='del'>-</div><div class='del'>-Mon May 30 14:54:58 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (enc_subseq): share the return value and</div><div class='del'>-	  the buffer as possible.</div><div class='del'>-</div><div class='del'>-Mon May 30 14:50:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_substr, rb_str_aref): refactor not to create</div><div class='del'>-	  unnecessary empty string.</div><div class='del'>-</div><div class='del'>-	* string.c (str_byte_substr, str_byte_aref): ditto.</div><div class='del'>-</div><div class='del'>-Mon May 30 00:09:37 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/auto_ext.rb: fixed a heedless bug introduced at r55198.</div><div class='del'>-	  this change will make RubyCI green.</div><div class='del'>-</div><div class='del'>-Sun May 29 22:58:19 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (ONIGENC_IS_MBC_ASCII_WORD): redefine optimized one.</div><div class='del'>-	  WORD of Ruby's ascii compatible encoding is always [a-zA-Z0-9_].</div><div class='del'>-</div><div class='del'>-Sun May 29 22:44:19 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regexec.c (match_at): make compilers optimize harder.</div><div class='del'>-</div><div class='del'>-Sun May 29 12:08:42 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/auto_ext.rb (auto_ext): utility method to create</div><div class='del'>-	  extension libraries for tests.</div><div class='del'>-</div><div class='del'>-Sat May 28 20:40:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert</div><div class='del'>-	  here document code block for assert_separately mainly.</div><div class='del'>-</div><div class='del'>-Sat May 28 20:34:19 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_unicode_normalize.rb: Add test to check for availability of</div><div class='del'>-	  Unicode data file; refactoring; fix an error with tests for destructive</div><div class='del'>-	  method (unicode_normalize!).</div><div class='del'>-</div><div class='del'>-Sat May 28 19:08:36 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Add error messages to tests</div><div class='del'>-	  for data file availability; refactoring.</div><div class='del'>-</div><div class='del'>-Sat May 28 14:00:10 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (SSLSocket): Move the implementation of</div><div class='del'>-	  SSLSocket#initialize to C. Initialize the SSL (OpenSSL object) in it.</div><div class='del'>-	  Currently this is delayed until ossl_ssl_setup(), which is called from</div><div class='del'>-	  SSLSocket#accept or #connect. Say we call SSLSocket#hostname= with an</div><div class='del'>-	  illegal value. We expect an exception to be raised in #hostname= but</div><div class='del'>-	  actually we get it in the later SSLSocket#connect. Because the SSL is</div><div class='del'>-	  not ready at #hostname=, the actual call of SSL_set_tlsext_host_name()</div><div class='del'>-	  is also delayed.</div><div class='del'>-	  This also fixes: [ruby-dev:49376] [Bug #11724]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_initialize): Added. Almost the same</div><div class='del'>-	  as the Ruby version but this instantiate the SSL object at the same</div><div class='del'>-	  time.</div><div class='del'>-</div><div class='del'>-	  (ossl_ssl_setup): Adjust to the changes. Just set the underlying IO to</div><div class='del'>-	  the SSL.</div><div class='del'>-</div><div class='del'>-	  (ssl_started): Added. Make use of SSL_get_fd(). This returns -1 if not</div><div class='del'>-	  yet set by SSL_set_fd().</div><div class='del'>-</div><div class='del'>-	  (ossl_ssl_data_get_struct): Removed. Now GetSSL() checks that the SSL</div><div class='del'>-	  exists.</div><div class='del'>-</div><div class='del'>-	  (ossl_ssl_set_session): Don't call ossl_ssl_setup() here as now the</div><div class='del'>-	  SSL is already instantiated in #initialize.</div><div class='del'>-</div><div class='del'>-	  (ossl_ssl_shutdown, ossl_start_ssl, ossl_ssl_read_internal,</div><div class='del'>-	   ossl_ssl_write_internal, ossl_ssl_stop, ossl_ssl_get_cert,</div><div class='del'>-	   ossl_ssl_get_peer_cert, ossl_ssl_get_peer_cert_chain,</div><div class='del'>-	   ossl_ssl_get_version, ossl_ssl_get_cipher, ossl_ssl_get_state,</div><div class='del'>-	   ossl_ssl_pending, ossl_ssl_session_reused,</div><div class='del'>-	   ossl_ssl_get_verify_result, ossl_ssl_get_client_ca_list,</div><div class='del'>-	   ossl_ssl_npn_protocol, ossl_ssl_alpn_protocol, ossl_ssl_tmp_key): Use</div><div class='del'>-	  GetSSL() instead of ossl_ssl_data_get_struct(). Use ssl_started().</div><div class='del'>-</div><div class='del'>-	  (Init_ossl_ssl): Add method declarations of SSLSocket#{initialize,</div><div class='del'>-	  hostname=}.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.h (GetSSL): Check that the SSL is not NULL. It</div><div class='del'>-	  should not be NULL because we now set it in #initialize.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize): No need</div><div class='del'>-	  to check if the SSL is NULL.</div><div class='del'>-</div><div class='del'>-Sat May 28 10:47:40 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update latest releases, power_assert-0.3.0,</div><div class='del'>-	  test-unit 3.1.9, minitest 5.9.0, did_you_mean 1.0.1</div><div class='del'>-</div><div class='del'>-Sat May 28 10:45:40 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: drop support for ATARI ST platform. It was</div><div class='del'>-	  discontinued more than two decades ago. [fix GH-1350] Patch by</div><div class='del'>-	  @cremno</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-	* io.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat May 28 10:39:47 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Converted exception for</div><div class='del'>-	  unavailable Unicode data files to failed assertion.</div><div class='del'>-</div><div class='del'>-Sat May 28 10:26:18 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb: added missing quote.</div><div class='del'>-	  [fix GH-1363][ci skip] Patch by @dwaller</div><div class='del'>-</div><div class='del'>-Fri May 27 17:38:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_local_constants_i): exclude hidden constants.</div><div class='del'>-	  [ruby-core:75575] [Bug #12389]</div><div class='del'>-</div><div class='del'>-Fri May 27 17:09:44 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (str_transcode0): scrub in the given encoding when</div><div class='del'>-	  the source encoding is given, not in the encoding of the</div><div class='del'>-	  receiver.  [ruby-core:75732] [Bug #12431]</div><div class='del'>-</div><div class='del'>-Fri May 27 15:07:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args): remove nul padding which</div><div class='del'>-	  caused syntax error if fmt is not a string literal.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args_verify): suppress array-bounds</div><div class='del'>-	  warnings by old clang.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args0): make extractor macros</div><div class='del'>-	  inline functions, which do not validate the format and are</div><div class='del'>-	  unnecessary to be expanded.</div><div class='del'>-</div><div class='del'>-Fri May 27 01:00:36 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (is_identchar): use ISDIGIT instead of rb_enc_isalnum.</div><div class='del'>-	  Though rb_enc_isalnum is encoding aware function, its argument here</div><div class='del'>-	  is *m, which is a single byte. Therefore ISDIGIT is faster.</div><div class='del'>-</div><div class='del'>-	* symbol.c (is_special_global_name): ditto.</div><div class='del'>-</div><div class='del'>-	* symbol.c (rb_enc_symname_type): ditto.</div><div class='del'>-</div><div class='del'>-Fri May 27 00:39:40 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args): add nul padding here to</div><div class='del'>-	  apply to all references.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args_verify): move length mismatch</div><div class='del'>-	  check outside conditional operators.</div><div class='del'>-</div><div class='del'>-Thu May 26 14:21:10 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH</div><div class='del'>-	  has 'p' (the prime) before calling DH_size(). We can create a DH with</div><div class='del'>-	  no parameter but DH_size() does not check and dereferences NULL.</div><div class='del'>-	  [ruby-core:75720] [Bug #12428]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does</div><div class='del'>-	  not check dsa-&gt;q.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,</div><div class='del'>-	  ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,</div><div class='del'>-	  ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa-&gt;n.</div><div class='del'>-</div><div class='del'>-Thu May 26 14:13:52 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args_count): verify length with</div><div class='del'>-	  counting variables together.</div><div class='del'>-</div><div class='del'>-Thu May 26 09:45:41 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_comprehensive.rb: Add set of comprehensive</div><div class='del'>-	  (across most Unicode characters; later across most character encodings)</div><div class='del'>-	  tests for case mapping.</div><div class='del'>-</div><div class='del'>-Thu May 26 05:00:13 2016  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class): Fix documentation.</div><div class='del'>-</div><div class='del'>-Wed May 25 20:50:12 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (unescape_nonascii): scan hex up to only 3 characters.</div><div class='del'>-	  [Bug #12420] [Bug #12423]</div><div class='del'>-</div><div class='del'>-Wed May 25 19:07:19 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Handle DOTLESS_i by hand because it isn't involved in folding.</div><div class='del'>-</div><div class='del'>-Wed May 25 18:30:53 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_token_in_cc): raise error if given octal escaped</div><div class='del'>-	  character is too big. [Bug #12420] [Bug #12423]</div><div class='del'>-</div><div class='del'>-Wed May 25 17:45:15 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl, test/openssl: Drop OpenSSL &lt; 0.9.8 support.</div><div class='del'>-</div><div class='del'>-Wed May 25 17:43:30 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h, ext/openssl/ossl.h: Remove</div><div class='del'>-	  unnecessary 'extern "C"' blocks. We don't use C++ and these headers</div><div class='del'>-	  are local to ext/openssl, so there is no need to enclose with it.</div><div class='del'>-</div><div class='del'>-Wed May 25 17:42:58 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Remove check of OPENSSL_FIPS macro. This is</div><div class='del'>-	  unneeded because we can check the macro directly in source code,</div><div class='del'>-	  just as we already do for OPENSSL_NO_* macros.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: Replace occurrences of HAVE_OPENSSL_FIPS with</div><div class='del'>-	  OPENSSL_FIPS.</div><div class='del'>-</div><div class='del'>-Wed May 25 17:13:35 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_scan_args): merge code for n_trail.</div><div class='del'>-</div><div class='del'>-Wed May 25 17:11:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args_validate): move failed</div><div class='del'>-	  condition to the terminal.  [ruby-core:75714] [Bug #12426]</div><div class='del'>-</div><div class='del'>-Wed May 25 13:13:37 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c: remove condition for debug output because prelude</div><div class='del'>-	  doesn't use regexp now.</div><div class='del'>-</div><div class='del'>-Wed May 25 13:10:30 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regcomp.c (compile_length_tree): return error code immediately</div><div class='del'>-	  if compile_length_tree raised error [Bug #12418]</div><div class='del'>-</div><div class='del'>-Wed May 25 08:01:39 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Fix flag error for switch from titlecase to lowercase.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Tests for above error.</div><div class='del'>-</div><div class='del'>-Wed May 25 01:13:55 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ec_key_new_from_group): Create a new</div><div class='del'>-	  EC_KEY on given EC group. Extracted from ossl_ec_key_initialize().</div><div class='del'>-	  (ossl_ec_key_s_generate): Added. Create a new EC instance and</div><div class='del'>-	  generate a random private and public key.</div><div class='del'>-	  (ossl_ec_key_initialize): Use ec_key_new_from_group().</div><div class='del'>-	  (Init_ossl_ec): Define the new method EC.generate. This change is</div><div class='del'>-	  for consistency with other PKey types.  [ruby-core:45541] [Bug #6567]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb: Test that EC.generate works.</div><div class='del'>-</div><div class='del'>-Wed May 25 00:37:16 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_generate_key): Fix up RDoc.</div><div class='del'>-	  (Init_ossl_ec): Rename EC#generate_key to EC#generate_key!. Make the</div><div class='del'>-	  old name an alias of #generate_key!. This change is for consistency</div><div class='del'>-	  with other PKey types.  [ruby-core:45541] [Bug #6567]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb: Use EC#generate_key! instead of</div><div class='del'>-	  EC#generate_key.</div><div class='del'>-</div><div class='del'>-Wed May 25 00:23:05 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args_set): check the arity after</div><div class='del'>-	  adjusting argc for an option hash, for optimization in simpler</div><div class='del'>-	  cases.</div><div class='del'>-</div><div class='del'>-Wed May 25 00:21:52 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (XCFLAGS): merge flags only for ruby itself from</div><div class='del'>-	  ruby_cflags.</div><div class='del'>-</div><div class='del'>-Tue May 24 22:04:15 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_cipher.c (ossl_cipher_set_key, ossl_cipher_set_iv):</div><div class='del'>-	  Reject too long values as well as too short ones. Currently they</div><div class='del'>-	  just truncate the input but this would hide bugs and lead to</div><div class='del'>-	  unexpected encryption/decryption results.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_cipher.rb: Test that Cipher#key= and #iv= reject</div><div class='del'>-	  Strings with invalid length.</div><div class='del'>-</div><div class='del'>-Tue May 24 21:32:21 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): Use</div><div class='del'>-	  ASN1_OCTET_STRING_set() instead of M_ASN1_OCTET_STRING_set(). Macros</div><div class='del'>-	  prefixed by "M_" are discouraged to be used from outside OpenSSL</div><div class='del'>-	  library[1].</div><div class='del'>-	  (ossl_x509ext_get_value): Likewise, use ASN1_STRING_print() instead</div><div class='del'>-	  of M_ASN1_OCTET_STRING_print().</div><div class='del'>-	  [1] https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=CHANGES;h=bf61913d7b01212b4d8b2f3c13d71d645914f67c;hb=b6079a7835f61daa9fb2cbf9addfa86049523933#l878</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: Include openssl/asn1.h instead of</div><div class='del'>-	  openssl/asn1_mac.h. It just includes openssl/asn1.h and defines some</div><div class='del'>-	  additional "M_" macros.</div><div class='del'>-</div><div class='del'>-Tue May 24 18:52:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args_verify): verify the format to</div><div class='del'>-	  scan if no invalid chars and variable argument length matching,</div><div class='del'>-	  at the compile time if possible.</div><div class='del'>-</div><div class='del'>-Tue May 24 17:18:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (ERRORFUNC, WARNINGFUNC): add fallback</div><div class='del'>-	  definitions.</div><div class='del'>-</div><div class='del'>-Tue May 24 16:37:43 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ruby_cflags): separate from optflags [Bug #12409]</div><div class='del'>-	  -fexcess-precision=standard and -fp-model precise are set to this now.</div><div class='del'>-</div><div class='del'>-	* configure.in (cflags): use ruby_cflags.</div><div class='del'>-</div><div class='del'>-Tue May 24 16:20:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ERRORFUNC, WARNINGFUNC): __error__ and __warning__</div><div class='del'>-	  attributes take a parenthesized string literal.</div><div class='del'>-</div><div class='del'>-Tue May 24 12:35:56 2016  URABE Shyouhei  &lt;shyouhei@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: sort lines, and add missing dependencies suggested</div><div class='del'>-	  by tool/update-deps</div><div class='del'>-</div><div class='del'>-Mon May 23 21:33:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (isfinite): move from numeric.c.</div><div class='del'>-</div><div class='del'>-Mon May 23 21:09:06 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (Init_openssl): Avoid reference to unset global</div><div class='del'>-	  variable. ossl_raise() may be called before dOSSL is set. Since</div><div class='del'>-	  global variables default to 0 and the default value of dOSSL set in</div><div class='del'>-	  Init_openssl() is also Qfalse, there is no real issue but confusing.</div><div class='del'>-	  Patch by Bertram Scharpf &lt;software@bertram-scharpf.de&gt;</div><div class='del'>-	  [ruby-core:58264] [Bug #9101]</div><div class='del'>-</div><div class='del'>-Mon May 23 20:32:16 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_asn1.c, ext/openssl/ossl_bn.c,</div><div class='del'>-	  ext/openssl/ossl_cipher.c, ext/openssl/ossl_digest.c</div><div class='del'>-	  ext/openssl/ossl_engine.c, ext/openssl/ossl_ns_spki.c</div><div class='del'>-	  ext/openssl/ossl_pkcs12.c, ext/openssl/ossl_pkcs7.c</div><div class='del'>-	  ext/openssl/ossl_pkey.c, ext/openssl/ossl_pkey_ec.c</div><div class='del'>-	  ext/openssl/ossl_rand.c, ext/openssl/ossl_ssl.c</div><div class='del'>-	  ext/openssl/ossl_x509attr.c, ext/openssl/ossl_x509cert.c</div><div class='del'>-	  ext/openssl/ossl_x509ext.c, ext/openssl/ossl_x509store.c: Use</div><div class='del'>-	  StringValueCStr() where NUL-terminated string is expected.</div><div class='del'>-</div><div class='del'>-Mon May 23 20:20:12 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on</div><div class='del'>-	  cygwin. [Bug #12417][ruby-core:75691]</div><div class='del'>-</div><div class='del'>-Mon May 23 19:41:27 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_rand.c (ossl_rand_egd, ossl_rand_egd_bytes):</div><div class='del'>-	  RAND_egd{_bytes,}() return -1 on failure, not 0.</div><div class='del'>-	  Patch by cremno phobia &lt;cremno@mail.ru&gt;</div><div class='del'>-	  [ruby-core:63795] [Bug #10053]</div><div class='del'>-	  (ossl_pseudo_bytes): Similar, RAND_pseudo_bytes() may return 0 or</div><div class='del'>-	  -1 on failure.</div><div class='del'>-</div><div class='del'>-Mon May 23 15:52:07 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always</div><div class='del'>-	  exist.  fixed build error on Windows introduced at r55123.</div><div class='del'>-</div><div class='del'>-Mon May 23 13:19:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args0): make compile error if the</div><div class='del'>-	  format is wrong or does not match with the variable argument</div><div class='del'>-	  length if possible.</div><div class='del'>-</div><div class='del'>-Mon May 23 12:47:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args0): raise fatal error if</div><div class='del'>-	  variable argument length does not match, it is a bug in the code</div><div class='del'>-	  which uses rb_scan_args, not a runtime error.</div><div class='del'>-</div><div class='del'>-Mon May 23 12:30:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider</div><div class='del'>-	  non-finite float values not to raise FloatDomainError.</div><div class='del'>-	  [ruby-core:75682] [Bug #12414]</div><div class='del'>-</div><div class='del'>-Mon May 23 12:21:18 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): suppress warnings: 'item' may be used</div><div class='del'>-	  uninitialized in this function</div><div class='del'>-</div><div class='del'>-Mon May 23 07:41:49 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_close): update RDoc for 2.3 #close change</div><div class='del'>-	  [ruby-core:75679] [Bug #12413]</div><div class='del'>-</div><div class='del'>-Sun May 22 20:01:21 2016  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/timeridconv.rb: use finalizer trick instead of thread.</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_timerholder.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun May 22 17:25:18 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_options.rb: adjust test class name</div><div class='del'>-	  to match file name</div><div class='del'>-</div><div class='del'>-Sun May 22 17:24:07 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rename test/ruby/enc/test_casing_options.rb to test_case_options.rb</div><div class='del'>-	  for consistency</div><div class='del'>-</div><div class='del'>-Sun May 22 17:06:55 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* transcode.c (enc_arg, str_transcode_enc_args, econv_args):</div><div class='del'>-	  remove volatile, and add GC guards in callers.</div><div class='del'>-	  [ruby-core:75664] [Bug #12411]</div><div class='del'>-</div><div class='del'>-Sun May 22 16:27:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/-test-/integer/core_ext.c: move testutil/integer.c.</div><div class='del'>-</div><div class='del'>-	* test/lib/-test-/integer.rb: extract implementation details from</div><div class='del'>-	  test/unit/assertions.rb.  [Bug #12408]</div><div class='del'>-</div><div class='del'>-Sun May 22 14:57:43 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: Extend OnigEncodingTypeDefine to define a</div><div class='del'>-	  new encoding primitive 'case_map' for case mapping</div><div class='del'>-</div><div class='del'>-	* enc/utf-8.c, utf_16be/le.c, utf_32be/le.c:</div><div class='del'>-	  add onigenc_unicode_case_map as case_map primitive</div><div class='del'>-</div><div class='del'>-	* enc/ascii.c, big5.c, cp949.c, emacs_mule.c, euc_jp/kr/tw.c, gb18030.c,</div><div class='del'>-	  gbk.c, iso_8859_1/2/3/4/5/6/7/8/9/10/11/13/14/15/16.c, koi8_r/u.c,</div><div class='del'>-	  shift_jis.c, us_ascii.c, windows_1250/1251/1252.c:</div><div class='del'>-	  add onigenc_not_support_case_map as case_map primitive</div><div class='del'>-</div><div class='del'>-Sun May 22 14:45:45 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regenc.h/c: Define new function onigenc_not_support_case_map</div><div class='del'>-</div><div class='del'>-Sun May 22 12:14:06 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args): use original rb_scan_args</div><div class='del'>-	  when fmt is dynamic.</div><div class='del'>-</div><div class='del'>-Sun May 22 11:41:12 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_scan_args): moved to bottom of the file to make the</div><div class='del'>-	  effect of `#undef rb_scan_args` the minimum.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args): overwrite only if GCC and</div><div class='del'>-	  optimized. Visual C++ 14 or later can compile it but make it</div><div class='del'>-	  conservative.</div><div class='del'>-</div><div class='del'>-Sat May 21 22:45:50 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with</div><div class='del'>-	  `inline`.  if gcc needs this duplication, do in ALWAYS_INLINE macro.</div><div class='del'>-</div><div class='del'>-Sat May 21 21:11:56 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_scan_args): use __VA_ARGS__ instead of</div><div class='del'>-	  va_arg to allow compilers optimize more aggressive.</div><div class='del'>-	  https://gustedt.wordpress.com/2011/07/10/avoid-writing-va_arg-functions/</div><div class='del'>-	  rb_scan_args is now expected to be statically resolved.</div><div class='del'>-</div><div class='del'>-Sun May 22 02:41:52 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: remove hacky macro introduced at r30437.</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_make_header): cast as long (instead of int).</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c (gzfile_make_footer): ditto.</div><div class='del'>-</div><div class='del'>-Sat May 21 21:07:18 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ALWAYS_INLINE): force compilers the function inlined.</div><div class='del'>-</div><div class='del'>-Sat May 21 16:16:03 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct</div><div class='del'>-	  here. Since some methods such as SSLSocket#connect releases GVL,</div><div class='del'>-	  there is a chance of use after free if we free the SSL from another</div><div class='del'>-	  thread. SSLSocket#stop was documented as "prepares it for another</div><div class='del'>-	  connection" so this is a slightly incompatible change. However when</div><div class='del'>-	  this sentence was added (r30090, Add toplevel documentation for</div><div class='del'>-	  OpenSSL, 2010-12-06), it didn't actually. The current behavior is</div><div class='del'>-	  from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15).</div><div class='del'>-	  [ruby-core:74978] [Bug #12292]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: Test this.</div><div class='del'>-</div><div class='del'>-Sat May 21 14:41:14 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: [DOC] Fix SSL client example. The variable name</div><div class='del'>-	  was wrong. Patch by Andreas Tiefenthaler &lt;at@an-ti.eu&gt; (@pxlpnk).</div><div class='del'>-	  [GH ruby/openssl#32]</div><div class='del'>-</div><div class='del'>-Sat May 21 14:25:38 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c: rename PKey::EC#private_key? and</div><div class='del'>-	  #public_key? to #private? and #public? for consistency with other</div><div class='del'>-	  PKey types. Old names remain as alias.  [ruby-core:45541] [Bug #6567]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb (test_check_key): check private? and</div><div class='del'>-	  public? works correctly.</div><div class='del'>-</div><div class='del'>-Sat May 21 12:40:36 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/buffering.rb (read_nonblock, readpartial):</div><div class='del'>-	  Remove impossible EOFError raise. Patch by Zach Anker</div><div class='del'>-	  &lt;zanker@squareup.com&gt;.  [GH ruby/openssl#23]</div><div class='del'>-</div><div class='del'>-Sat May 21 11:18:42 2016  Evgeni Golov  &lt;evgeni@golov.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb: [DOC] fix documentation of IN6MASK to mention</div><div class='del'>-	  IPv6.  [Fix GH-1349]</div><div class='del'>-</div><div class='del'>-Sat May 21 11:12:53 2016  Dan Martinez  &lt;dfm@razorwind.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): [DOC] define dummy ARGF instead of ARGF.class to</div><div class='del'>-	  re-enable the generation of ARGF documentation.  [Fix GH-1358]</div><div class='del'>-</div><div class='del'>-Sat May 21 11:07:29 2016  0x01f7  &lt;souk.0x01f7@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/methods.rdoc (Method Names): add proper closing tag.</div><div class='del'>-	  [Fix GH-1356]</div><div class='del'>-</div><div class='del'>-Sat May 21 09:26:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SETJMP): fix missing macro definition</div><div class='del'>-	  for the configured result.  fix up r55021.</div><div class='del'>-</div><div class='del'>-Sat May 21 00:36:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_commandline): build command line string</div><div class='del'>-	  from argument vector in rb_execarg.</div><div class='del'>-	  [ruby-core:75611] [Bug #12398]</div><div class='del'>-</div><div class='del'>-Fri May 20 23:25:42 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_pem_passwd_value): Added. Convert the</div><div class='del'>-	  argument to String with StringValue() and validate the length is in</div><div class='del'>-	  4..PEM_BUFSIZE. PEM_BUFSIZE is a macro defined in OpenSSL headers.</div><div class='del'>-	  (ossl_pem_passwd_cb): When reading/writing encrypted PEM format, we</div><div class='del'>-	  used to pass the password to PEM_def_callback() directly but it was</div><div class='del'>-	  problematic. It is not NUL character safe. And surprisingly, it</div><div class='del'>-	  silently truncates the password to 1024 bytes.  [GH ruby/openssl#51]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: Add function prototype declaration of newly</div><div class='del'>-	  added ossl_pem_passwd_value().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): Use</div><div class='del'>-	  ossl_pem_passwd_value() to validate the password String.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize, ossl_dsa_export):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize,</div><div class='del'>-	  ossl_ec_key_to_string): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize, ossl_rsa_export):</div><div class='del'>-	  ditto.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_{dsa,ec,rsa}.rb: test this.</div><div class='del'>-</div><div class='del'>-Fri May 20 23:45:53 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* id_table.c (list_id_table_init): When unaligned word access is</div><div class='del'>-	  prohibited and sizeof(VALUE) is 8 (64-bit machines),</div><div class='del'>-	  capa should always be even number for 8-byte word alignment</div><div class='del'>-	  of the values of a table. This code assumes that sizeof(ID) is 4,</div><div class='del'>-	  sizeof(VALUE) is 8, and xmalloc() returns 8-byte aligned memory.</div><div class='del'>-	  This fixes bus error on 64-bit SPARC Solaris 10.</div><div class='del'>-	  [Bug #12406][ruby-dev:49631]</div><div class='del'>-</div><div class='del'>-Fri May 20 22:30:09 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.h (rb_id2sym): Use HAVE_BUILTIN___BUILTIN_CONSTANT_P</div><div class='del'>-</div><div class='del'>-Fri May 20 22:19:00 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c: [DOC] fix typos.</div><div class='del'>-	  [fix GH-1360] patched by @soundasleep</div><div class='del'>-</div><div class='del'>-Fri May 20 21:26:58 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (RB_GNUC_EXTENSION, RB_GNUC_EXTENSION_BLOCK):</div><div class='del'>-	  macros for skipping __extension__ on non-GCC compilers.</div><div class='del'>-	* eval_error.c (warn_print): use RB_GNUC_EXTENSION_BLOCK instead of</div><div class='del'>-	  __extension__ because __extension__ is a GNU extension.</div><div class='del'>-	  Fix compile error on Solaris 10 with Oracle Solaris Studio 12.x.</div><div class='del'>-	  [Bug #12397] [ruby-dev:49629].</div><div class='del'>-	* internal.h (rb_fstring_cstr, rb_fstring_enc_cstr): ditto</div><div class='del'>-	* include/ruby/encoding.h (rb_enc_str_new, rb_enc_str_new_cstr): ditto</div><div class='del'>-	* include/ruby/intern.h (rb_str_new, rb_str_new_cstr,</div><div class='del'>-	  rb_usascii_str_new, rb_utf8_str_new, rb_tainted_str_new_cstr,</div><div class='del'>-	  rb_usascii_str_new_cstr, rb_utf8_str_new_cstr,</div><div class='del'>-	  rb_external_str_new_cstr, rb_locale_str_new_cstr,</div><div class='del'>-	  rb_str_buf_new_cstr, rb_str_cat_cstr, rb_exc_new_cstr): ditto</div><div class='del'>-</div><div class='del'>-Fri May 20 21:17:13 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (fole_missing): make substring or dup to</div><div class='del'>-	  share the content if possible.</div><div class='del'>-</div><div class='del'>-Fri May 20 19:48:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (NEW_PARTIAL_MEMO_FOR): shrink buffer array not to</div><div class='del'>-	  mark non-VALUE fields.  fix check_rvalue_consistency abort with</div><div class='del'>-	  RGENGC_CHECK_MODE=2.</div><div class='del'>-</div><div class='del'>-	* internal.h (NEW_CMP_OPT_MEMO): exclude struct cmp_opt_data from</div><div class='del'>-	  the valid array range.</div><div class='del'>-</div><div class='del'>-	* enum.c (slicewhen_i): exclude inverted too.</div><div class='del'>-</div><div class='del'>-Thu May 19 21:21:57 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_m_p): [DOC] fix return value in rdoc.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb (TestRegexp#test_match_p): add some</div><div class='del'>-	  tests from document.</div><div class='del'>-</div><div class='del'>-Thu May 19 13:22:44 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (Init_openssl): register an ex_data index for</div><div class='del'>-	  X509_STORE and X509_STORE_CTX respectively. Since they don't share</div><div class='del'>-	  the ex_data index registry, we can't use the same index.</div><div class='del'>-	  (ossl_verify_cb): use the correct index.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto.</div><div class='del'>-	  (ossl_x509stctx_verify): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h (void ossl_clear_error): add extern declarations</div><div class='del'>-	  of ossl_store_{ctx_,}ex_verify_cb_idx.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and</div><div class='del'>-	  X509_STORE_get_ex_data.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data,</div><div class='del'>-	  X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros.</div><div class='del'>-</div><div class='del'>-Thu May 19 13:11:35 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): check that the</div><div class='del'>-	  argument is an OpenSSL::ASN1::Data before converting to ASN1_TYPE.</div><div class='del'>-	  This fixes SEGV on OpenSSL::X509::Attribute#value=(non-asn1-value).</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_x509attr.rb: add tests for OpenSSL::X509::Attribute.</div><div class='del'>-</div><div class='del'>-Thu May 19 12:10:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_m_p): fix match against empty string.</div><div class='del'>-	  rb_str_offset returns the end when the position exceeds the</div><div class='del'>-	  length.  fix the range parameter of onig_search.</div><div class='del'>-	  [ruby-core:75604] [Bug #12394]</div><div class='del'>-</div><div class='del'>-Thu May 19 11:37:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_m_p): should return false if no match, as the</div><div class='del'>-	  document says.  [Feature #8110]</div><div class='del'>-</div><div class='del'>-Thu May 19 00:17:01 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_names_iter): specify capacify</div><div class='del'>-</div><div class='del'>-Wed May 18 21:29:59 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (recursive_list_access): a object id may be a Bignum.  so,</div><div class='del'>-	  the list must be a objhash, instead of a identhash.</div><div class='del'>-	  this fixes many test errors on mswin64 CI.</div><div class='del'>-</div><div class='del'>-Wed May 18 19:33:54 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_m_p): Introduce Regexp#match?, which returns</div><div class='del'>-	  bool and doesn't save backref.</div><div class='del'>-</div><div class='del'>-Wed May 18 16:52:03 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): pop errors</div><div class='del'>-	  leaked by PKCS12_parse(). This is a bug in OpenSSL, which exists</div><div class='del'>-	  in the versions before the version 1.0.0t, 1.0.1p, 1.0.2d.</div><div class='del'>-</div><div class='del'>-Wed May 18 16:04:54 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb (Downloader::RubyGems.download): verify gems</div><div class='del'>-	  only if RubyGems is 2.4 or later.  old RubyGems fails to verify</div><div class='del'>-	  almost all of bundled gems.</div><div class='del'>-</div><div class='del'>-Wed May 18 14:52:38 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify_expand): check integer overflow.</div><div class='del'>-	  [ruby-core:75592] [Bug #12390]</div><div class='del'>-</div><div class='del'>-Wed May 18 13:11:44 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_ary_subseq): get subseq of match array without creating</div><div class='del'>-	  temporary array.</div><div class='del'>-</div><div class='del'>-	* re.c (match_ary_aref): get element(s) of match array without creating</div><div class='del'>-	  temporary array.</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): Use match_ary_subseq with handling irregulars.</div><div class='del'>-</div><div class='del'>-	* re.c (match_values_at): Use match_ary_aref.</div><div class='del'>-</div><div class='del'>-Wed May 18 13:03:07 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509cert.c (ossl_x509_verify): X509_verify()</div><div class='del'>-	  family may put errors on 0 return (0 means verification failure).</div><div class='del'>-	  Clear OpenSSL error queue before return to Ruby. Since the queue is</div><div class='del'>-	  thread global, remaining errors in the queue can cause an unexpected</div><div class='del'>-	  error in the next OpenSSL operation.  [ruby-core:48284] [Bug #7215]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509crl.c (ossl_x509crl_verify): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509req.c (ossl_x509req_verify): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_x509store.c (ossl_x509stctx_verify): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dh.c (dh_generate): clear the OpenSSL error</div><div class='del'>-	  queue before re-raising exception.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_start_ssl): ditto.</div><div class='del'>-</div><div class='del'>-	* test/openssl: check that OpenSSL.errors is empty every time after</div><div class='del'>-	  running a test case.</div><div class='del'>-</div><div class='del'>-Wed May 18 12:07:42 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c (ossl_clear_error): Extracted from</div><div class='del'>-	  ossl_make_error(). This prints errors in the OpenSSL error queue if</div><div class='del'>-	  OpenSSL.debug is true, and clears the queue.</div><div class='del'>-	  (ossl_make_error): use ossl_clear_error().</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.h: add prototype declaration of ossl_make_error().</div><div class='del'>-	  (OSSL_BIO_reset) use ossl_clear_error() to clear the queue. Clearing</div><div class='del'>-	  silently makes debugging difficult.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_engine.c (ossl_engine_s_by_id): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize): ditto.</div><div class='del'>-	  (ossl_ec_group_initialize): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): ditto.</div><div class='del'>-</div><div class='del'>-Wed May 18 11:53:49 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): Validate the</div><div class='del'>-	  arguments before passing to EC_POINT(s)_mul(). Add description of this</div><div class='del'>-	  method.  [ruby-core:65152] [Bug #10268]</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_pkey_ec.rb (test_ec_point_mul): Test that</div><div class='del'>-	  OpenSSL::PKey::EC::Point#mul works.</div><div class='del'>-</div><div class='del'>-Wed May 18 11:19:59 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from</div><div class='del'>-	  GetBNPtr(). This doesn't raise exception but returns NULL on error.</div><div class='del'>-	  (GetBNPtr): Raise TypeError if conversion fails.</div><div class='del'>-	  (ossl_bn_eq): Implement BN#==.</div><div class='del'>-	  (ossl_bn_eql): #eql? should not raise TypeError even if the argument</div><div class='del'>-	  is not compatible with BN.</div><div class='del'>-	  (ossl_bn_hash): Implement BN#hash.</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_bn.rb: Test BN#eql?, #== and #hash</div><div class='del'>-</div><div class='del'>-Wed May 18 10:17:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_INTEGER_TYPE_P): new macro and</div><div class='del'>-	  underlying inline function to check if the object is an</div><div class='del'>-	  Integer (Fixnum or Bignum).</div><div class='del'>-</div><div class='del'>-Wed May 18 09:52:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sum, hash_sum, hash_sum_i, enum_sum_i, sum_iter):</div><div class='del'>-	  Optimize for hashes when each method isn't redefined.</div><div class='del'>-</div><div class='del'>-Wed May 18 09:14:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sum, int_range_sum): Extract int_range_sum from</div><div class='del'>-	  enum_sum.</div><div class='del'>-</div><div class='del'>-Wed May 18 03:16:06 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_values_at): fix regression at r55036.</div><div class='del'>-	  MatchData#values_at accepts Range.</div><div class='del'>-</div><div class='del'>-Wed May 18 02:02:58 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): remove useless condition and call rb_fix2int.</div><div class='del'>-	  rb_reg_nth_match handles negative index.</div><div class='del'>-</div><div class='del'>-Wed May 18 01:57:43 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_values_at): MatchData#values_at supports named captures</div><div class='del'>-	  [Feature #9179]</div><div class='del'>-</div><div class='del'>-	* re.c (namev_to_backref_number): separated.</div><div class='del'>-</div><div class='del'>-Wed May 18 00:05:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sum): Optimize for a range from int to int.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (test_range_sum): Move from test_range.rb,</div><div class='del'>-	  and add assertions for some conditions.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (test_hash_sum): Move from test_hash.rb.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb, test/ruby/test_range.rb: Remove test_sum.</div><div class='del'>-</div><div class='del'>-Tue May 17 23:08:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sum): [DOC] Write documentation.</div><div class='del'>-</div><div class='del'>-Tue May 17 22:53:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_sum): Implement Enumerable#sum.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (test_sum): Test sum for Enumerable.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (test_sum): Test sum for Hash.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb (test_sum): Test sum for Range.</div><div class='del'>-</div><div class='del'>-Tue May 17 22:11:41 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c, numeric.c, enum.c, ext/-test-/bignum/mul.c,</div><div class='del'>-	  lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rexml/xpath_parser.rb,</div><div class='del'>-	  lib/rubygems/specification.rb, lib/uri/generic.rb,</div><div class='del'>-	  bootstraptest/test_eval.rb, basictest/test.rb,</div><div class='del'>-	  test/-ext-/bignum/test_big2str.rb, test/-ext-/bignum/test_div.rb,</div><div class='del'>-	  test/-ext-/bignum/test_mul.rb, test/-ext-/bignum/test_str2big.rb,</div><div class='del'>-	  test/csv/test_data_converters.rb, test/date/test_date.rb,</div><div class='del'>-	  test/json/test_json_generate.rb, test/minitest/test_minitest_mock.rb,</div><div class='del'>-	  test/openssl/test_cipher.rb, test/rexml/test_jaxen.rb,</div><div class='del'>-	  test/ruby/test_array.rb, test/ruby/test_basicinstructions.rb,</div><div class='del'>-	  test/ruby/test_bignum.rb, test/ruby/test_case.rb,</div><div class='del'>-	  test/ruby/test_class.rb, test/ruby/test_complex.rb,</div><div class='del'>-	  test/ruby/test_enum.rb, test/ruby/test_eval.rb,</div><div class='del'>-	  test/ruby/test_iseq.rb, test/ruby/test_literal.rb,</div><div class='del'>-	  test/ruby/test_math.rb, test/ruby/test_module.rb,</div><div class='del'>-	  test/ruby/test_numeric.rb, test/ruby/test_range.rb,</div><div class='del'>-	  test/ruby/test_rational.rb, test/ruby/test_refinement.rb,</div><div class='del'>-	  test/ruby/test_rubyvm.rb, test/ruby/test_struct.rb,</div><div class='del'>-	  test/ruby/test_variable.rb, test/rubygems/test_gem_specification.rb,</div><div class='del'>-	  test/thread/test_queue.rb: Use Integer instead of Fixnum and Bignum.</div><div class='del'>-</div><div class='del'>-Tue May 17 15:26:10 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* [Feature #12005] Unify Fixnum and Bignum into Integer</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_class_of): Return rb_cInteger for fixnums.</div><div class='del'>-</div><div class='del'>-	* insns.def (INTEGER_REDEFINED_OP_FLAG): Unified from</div><div class='del'>-	  FIXNUM_REDEFINED_OP_FLAG and BIGNUM_REDEFINED_OP_FLAG.</div><div class='del'>-</div><div class='del'>-	* vm_core.h: Ditto.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (opt_eq_func): Use INTEGER_REDEFINED_OP_FLAG instead</div><div class='del'>-	  of FIXNUM_REDEFINED_OP_FLAG.</div><div class='del'>-</div><div class='del'>-	* vm.c (vm_redefinition_check_flag): Use rb_cInteger instead of</div><div class='del'>-	  rb_cFixnum and rb_cBignum.</div><div class='del'>-	  (C): Use Integer instead of Fixnum and Bignum.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_succ): Removed.</div><div class='del'>-	  (Init_Numeric): Define Fixnum as Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bignew): Use rb_cInteger instead of rb_cBignum.</div><div class='del'>-	  (rb_int_coerce): replaced from rb_big_coerce and return fixnums</div><div class='del'>-	  as-is.</div><div class='del'>-	  (Init_Bignum): Define Bignum as Integer.</div><div class='del'>-	  Don't define ===.</div><div class='del'>-</div><div class='del'>-	* error.c (builtin_class_name): Return "Integer" for fixnums.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (ruby__sfvextra): Use rb_cInteger instead of rb_cFixnum.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/testutil: New directory to test.</div><div class='del'>-	  Currently it provides utilities for fixnum and bignum.</div><div class='del'>-</div><div class='del'>-	* ext/json/generator/generator.c: Define mInteger_to_json.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Fixnum#/): Redefinition removed.</div><div class='del'>-</div><div class='del'>-Tue May 17 11:58:58 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_BUILTIN_SETJMP): declare t as NORETURN</div><div class='del'>-	  to suppress warnings by -Wsuggest-attribute=noreturn.</div><div class='del'>-	  [ruby-core:75510] [Bug #12383]</div><div class='del'>-</div><div class='del'>-Tue May 17 10:40:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SETJMP): needs the header and proper</div><div class='del'>-	  arguments for builtin setjmp functions.</div><div class='del'>-</div><div class='del'>-Mon May 16 20:00:30 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.h: Additional uses of ONIG_CASE_MAPPING compilation switch</div><div class='del'>-</div><div class='del'>-Mon May 16 19:46:33 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation</div><div class='del'>-	  switch</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING</div><div class='del'>-	  compilation switch</div><div class='del'>-</div><div class='del'>-Mon May 16 19:29:31 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update xmlrpc-0.1.1. xmlrpc-0.1.0 didn't allow</div><div class='del'>-	  to install on 2.4.0dev.</div><div class='del'>-</div><div class='del'>-Mon May 16 13:28:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (FUNC_STDCALL, FUNC_CDECL, FUNC_FASTCALL): set</div><div class='del'>-	  macro names explicitly to the old names, which are accidentally</div><div class='del'>-	  changed at r54985, for backward compatibilities.</div><div class='del'>-	  fiddle also depends on these names to fallback to ANSI names.</div><div class='del'>-	  [ruby-core:75494] [Bug #12377]</div><div class='del'>-</div><div class='del'>-Mon May 16 11:39:02 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb, lib/xmlrpc/*, test/xmlrpc: XMLRPC is bundled gem</div><div class='del'>-	  on Ruby 2.4. It is extracted to https://github.com/ruby/xmlrpc</div><div class='del'>-	  [Feature #12160][ruby-core:74239]</div><div class='del'>-	* gems/bundled_gems: ditto.</div><div class='del'>-</div><div class='del'>-Mon May 16 06:06:21 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c: fix RDoc of Proc#===/call/yield/[]</div><div class='del'>-	  [Bug #12332]</div><div class='del'>-</div><div class='del'>-Sun May 15 20:55:31 2016  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/timeridconv.rb: don't use keeper thread. [Bug #12342]</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_timerholder.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sun May 15 16:15:25 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_entry): extract rb_ary_elt to organize if-conditions</div><div class='del'>-	  and check whether is embedded at once.</div><div class='del'>-</div><div class='del'>-Sun May 15 10:57:26 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even</div><div class='del'>-	  in the class context.  [ruby-core:75505] [Bug #12382]</div><div class='del'>-</div><div class='del'>-Sun May 15 03:13:01 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.h (struct iseq_compile_data): use struct rb_id_table</div><div class='del'>-	  instead of st_table.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): don't allocate ivar_cache_table</div><div class='del'>-	  until it has at least one element.</div><div class='del'>-</div><div class='del'>-	* iseq.c (compile_data_free): free ivar_cache_table only if it</div><div class='del'>-	  is allocated.</div><div class='del'>-</div><div class='del'>-	* compile.c (get_ivar_ic_value): allocate if the table is not</div><div class='del'>-	  allocated yet.</div><div class='del'>-</div><div class='del'>-Sat May 14 09:04:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (pkg_config): use xsystem consistently to set up</div><div class='del'>-	  library path environment variable as well as latter pkg-config</div><div class='del'>-	  calls.  [ruby-dev:49619] [Bug #12379]</div><div class='del'>-</div><div class='del'>-Sat May 14 00:16:54 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (make_seed_value): append leading-zero-guard and get</div><div class='del'>-	  rid of making a local copy of the seed.</div><div class='del'>-</div><div class='del'>-Fri May 13 08:46:42 2016  cremno  &lt;cremno@mail.ru&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: drop FreeBSD &lt; 4 support.  [Fix GH-1339]</div><div class='del'>-	  The most recent version affected by this is 3.5 and was released</div><div class='del'>-	  in 2000.</div><div class='del'>-	  https://www.freebsd.org/releases/3.5R/announce.html</div><div class='del'>-	  https://en.wikipedia.org/wiki/History_of_FreeBSD#Version_history</div><div class='del'>-</div><div class='del'>-Fri May 13 03:12:09 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/defines.h (GCC_VERSION_SINCE): moved from internal.h.</div><div class='del'>-</div><div class='del'>-Fri May 13 03:11:20 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (__builtin_constant_p): check.</div><div class='del'>-</div><div class='del'>-	* internal.h: Use HAVE_BUILTIN___BUILTIN_CONSTANT_P</div><div class='del'>-</div><div class='del'>-Fri May 13 03:10:39 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: use alternative keyword</div><div class='del'>-	  to avoid macros conflicts with them.</div><div class='del'>-</div><div class='del'>-Thu May 12 01:54:08 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (try_func): get rid of conflict of declarations of</div><div class='del'>-	  main().  checking local symbol reference does not make sense.</div><div class='del'>-</div><div class='del'>-Thu May 12 00:18:19 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub (HAVE_QSORT_S): use qsort_s only for Visual Studio</div><div class='del'>-	  2012 or later, because VS2010 seems to causes a SEGV in</div><div class='del'>-	  test/ruby/test_enum.rb.</div><div class='del'>-</div><div class='del'>-Wed May 11 23:59:47 2016  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): describe fast-path explicit</div><div class='del'>-	  (compiler friendly). [Bug #12274].</div><div class='del'>-</div><div class='del'>-Wed May 11 21:30:07 2016  Masaya Tarui  &lt;tarui@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each): share InlineCache during same</div><div class='del'>-	  instance variable accesses. Reducing memory consumption,</div><div class='del'>-	  rising cache hit rate and rising branch prediction hit rate</div><div class='del'>-	  are expected. A part of [Bug #12274].</div><div class='del'>-</div><div class='del'>-	* iseq.h (struct iseq_compile_data): introduce instance</div><div class='del'>-	  variable IC table for sharing.</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build, compile_data_free):</div><div class='del'>-	  construct/destruct above table.</div><div class='del'>-</div><div class='del'>-Wed May 11 17:18:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_qsort): use qsort_s if available, for Microsoft</div><div class='del'>-	  Visual Studio 2005 (msvcr80.dll) and mingw.</div><div class='del'>-</div><div class='del'>-Wed May 11 10:33:26 2016  Marcus Stollsteimer  &lt;sto.mar@web.de&gt;</div><div class='del'>-</div><div class='del'>-	* COPYING: Remove trailing-whitespaces.</div><div class='del'>-	  [ci skip][fix GH-1348]</div><div class='del'>-</div><div class='del'>-Tue May 10 21:05:45 2016  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (defineclass): Also raise an error when redeclaring the</div><div class='del'>-	  superclass of a class as Object and it has another superclass.</div><div class='del'>-	  [Bug #12367] [ruby-core:75446]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: test for above.</div><div class='del'>-</div><div class='del'>-Tue May 10 14:57:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (obj_random_bytes): base on bytes method instead of</div><div class='del'>-	  rand method, not to call toplevel rand method.</div><div class='del'>-</div><div class='del'>-Tue May 10 13:07:28 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (-fexcess-precision=standard): before r54895 -std=c99</div><div class='del'>-	  is specified and it implied -fexcess-precision=standard.</div><div class='del'>-	  Now with -std=gnu99, it should be explicitly specified.</div><div class='del'>-	  https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html</div><div class='del'>-</div><div class='del'>-Mon May  9 10:51:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork_internal): move th to an argument.</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork): do not repeat GET_THREAD().</div><div class='del'>-</div><div class='del'>-Mon May  9 10:46:36 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do</div><div class='del'>-	  nothing unless working fork is available.</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (rb_mutex_abandon_all): define only if working</div><div class='del'>-	  fork is available.</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (rb_mutex_abandon_keeping_mutexes): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (rb_mutex_abandon_locking_mutex): ditto.</div><div class='del'>-</div><div class='del'>-	* thread_win32.c (gvl_init): never used.</div><div class='del'>-</div><div class='del'>-Mon May  9 07:18:06 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/{defines,ruby}.h: need to define function attributes</div><div class='del'>-	  alternatives in defines.h instead of ruby.h, because they are used</div><div class='del'>-	  in oniguruma.h and the header used without including ruby.h at</div><div class='del'>-	  encoding library sources.</div><div class='del'>-</div><div class='del'>-Mon May  9 06:30:12 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (CONSTFUNC, PUREFUNC): fixed build errors on</div><div class='del'>-	  non-gcc build environments introduced at r54952.</div><div class='del'>-</div><div class='del'>-Mon May  9 02:51:51 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot</div><div class='del'>-	  allocate memory. This is pointed out by Facebook's Infer.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_prof_setup_new_record): ditto.</div><div class='del'>-</div><div class='del'>-	* regparse.c (parse_regexp): ditto.</div><div class='del'>-</div><div class='del'>-	* util.c (MALLOC): use xmalloc and xfree like above.</div><div class='del'>-</div><div class='del'>-Mon May  9 02:39:16 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check function attribute const and pure,</div><div class='del'>-	  and define CONSTFUNC and PUREFUNC if available.</div><div class='del'>-	  Note that I don't add those options as default because</div><div class='del'>-	  it still shows many false-positive (it seems not to consider</div><div class='del'>-	  longjmp).</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (stack_check): get rb_thread_t* as an argument</div><div class='del'>-	  to avoid duplicate call of GET_THREAD().</div><div class='del'>-</div><div class='del'>-Sun May  8 21:01:14 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: assume it doesn't have SSLv2 related</div><div class='del'>-	  functions when OPENSSL_NO_SSL2 is defined.</div><div class='del'>-	  Usually openssl's header and the library (libssl) have the same</div><div class='del'>-	  set of functions, but on some environment the library has functions</div><div class='del'>-	  whose headers doesn't declare. (openssl/opensslconf.h and libssl.so</div><div class='del'>-	  aren't be synchronized)</div><div class='del'>-	  To detect such case explicitly check feature macro and remove</div><div class='del'>-	  related functions.</div><div class='del'>-</div><div class='del'>-Sun May  8 18:51:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_home_dir_of): return the default home path if the</div><div class='del'>-	  user name is the current user name, on platforms where struct</div><div class='del'>-	  pwd is not supported.  a temporary measure against</div><div class='del'>-	  [Bug #12226].</div><div class='del'>-</div><div class='del'>-Sun May  8 08:51:38 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -Wsuggest-attribute=format and suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun May  8 08:31:03 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -Wsuggest-attribute=noreturn and suppress warnings.</div><div class='del'>-</div><div class='del'>-Sun May  8 08:19:16 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add -Werror=implicit-int to avoid missing type of</div><div class='del'>-	  function declaration.</div><div class='del'>-</div><div class='del'>-Sat May  7 22:22:37 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb: Accept string value for SSLCertName. It is used</div><div class='del'>-	  to invoke ssl server with command line.</div><div class='del'>-	  [fix GH-1329] Patch by @kerlin</div><div class='del'>-	* test/webrick/test_ssl_server.rb: Added test for GH-1329</div><div class='del'>-</div><div class='del'>-Sat May  7 21:55:12 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/webrick/test_ssl_server.rb: Added basic test for `webrick/ssl`</div><div class='del'>-</div><div class='del'>-Sat May  7 16:22:13 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (int_pair_to_real_inclusive): optimize to multiply</div><div class='del'>-	  without Bignum.</div><div class='del'>-</div><div class='del'>-Sat May  7 07:58:02 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_exec_getargs): honor the expected argument types</div><div class='del'>-	  over the conversion method.  the basic language functionality</div><div class='del'>-	  should be robust.  [ruby-core:75388] [Bug #12355]</div><div class='del'>-</div><div class='del'>-Fri May  6 08:16:26 2016  David Silva  &lt;david.silva@digital.cabinet-office.gov.uk&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_find): [DOC] add more examples to the documentation</div><div class='del'>-	  of Enumerable#detect, to show that it equals to Enumerable#find.</div><div class='del'>-	  [Fix GH-1340]</div><div class='del'>-</div><div class='del'>-Thu May  5 18:08:31 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_complexrational.rb: Remove duplicated raise.</div><div class='del'>-</div><div class='del'>-Thu May  5 14:41:05 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub): Fix a special match variable name.</div><div class='del'>-	  [ci skip]</div><div class='del'>-</div><div class='del'>-Thu May  5 12:22:17 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the</div><div class='del'>-	  same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with</div><div class='del'>-	  the current thread global variable.</div><div class='del'>-</div><div class='del'>-Thu May  5 10:49:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (fill_random_bytes_syscall): use arc4random_buf if</div><div class='del'>-	  available.</div><div class='del'>-</div><div class='del'>-Wed May  4 23:13:58 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_plus): Remove rb_nucomp_add prototype</div><div class='del'>-	  declaration.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): Remove rb_nucomp_mul prototype</div><div class='del'>-	  declaration.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype</div><div class='del'>-	  declarations.</div><div class='del'>-</div><div class='del'>-Wed May  4 18:38:00 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name,</div><div class='del'>-	  each_capitalized_name,each_value,each_capitalized}): Return</div><div class='del'>-	  sized enumerators.</div><div class='del'>-</div><div class='del'>-	* test/net/http/test_httpheader.rb: add test for above.</div><div class='del'>-</div><div class='del'>-Wed May  4 17:53:15 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/set.rb (Set#{delete_if,keep_if,collect!,reject!,select!,classify,divide},</div><div class='del'>-	  SortedSet#{delete_if,keep_if}): Return sized enumerators.</div><div class='del'>-</div><div class='del'>-	* test/test_set.rb: add test for above.</div><div class='del'>-</div><div class='del'>-Tue May  3 23:25:48 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c: [DOC] Update result of 123456789 ** -2.</div><div class='del'>-	  [ruby-dev:49606] [Bug #12339]</div><div class='del'>-</div><div class='del'>-Tue May  3 23:13:16 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG</div><div class='del'>-	  instead of duplicated undef RCOMPLEX_SET_REAL.</div><div class='del'>-</div><div class='del'>-Tue May  3 22:55:07 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c (rb_complex_set_imag): Fix to properly set imag</div><div class='del'>-	  of complex.</div><div class='del'>-</div><div class='del'>-Tue May  3 22:19:55 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (warnflags): use -std=gnu99 instead of</div><div class='del'>-	  -std=iso9899:1999. [Feature #12336]</div><div class='del'>-</div><div class='del'>-Tue May  3 22:10:09 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount</div><div class='del'>-	  only if it can use SSE 4.2 POPCNT whose latency is 3 cycle.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_popcount64): use __builtin_popcountll because now</div><div class='del'>-	  it is in fast path.</div><div class='del'>-</div><div class='del'>-Tue May  3 14:19:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (new_if_gen): set newline flag to NODE_IF to trace all</div><div class='del'>-	  if/elsif statements.  [ruby-core:67720] [Bug #10763]</div><div class='del'>-</div><div class='del'>-Tue May  3 05:35:54 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (disable_child_handler_fork_child):</div><div class='del'>-	  initialize handler for SIGPIPE for !POSIX_SIGNAL</div><div class='del'>-</div><div class='del'>-Mon May  2 23:03:42 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new</div><div class='del'>-	  truncate alternative which accepts UTF-8 path.</div><div class='del'>-</div><div class='del'>-	* file.c (truncate): use above function.</div><div class='del'>-	  [Bug #12340]</div><div class='del'>-</div><div class='del'>-Mon May  2 20:59:21 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (str_coderange): to avoid function call when the string already</div><div class='del'>-	  has coderange information.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_enc): add shortcut path when the regexp has</div><div class='del'>-	  the same encoding of given string.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_re): avoid duplicated allocation of</div><div class='del'>-	  onig_errmsg_buffer.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Mon May  2 12:34:52 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_refinement.rb (test_inspect): Use Integer instead of</div><div class='del'>-	  Fixnum.</div><div class='del'>-</div><div class='del'>-Mon May  2 06:58:38 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* complex.c: Don't refer rb_cFixnum and rb_cBignum.</div><div class='del'>-	  (k_fixnum_p): Use FIXNUM_P.</div><div class='del'>-	  (k_bignum_p): Use RB_TYPE_P.</div><div class='del'>-</div><div class='del'>-Mon May  2 01:27:59 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (test_step): Use Integer::FIXNUM_MAX.</div><div class='del'>-</div><div class='del'>-Mon May  2 01:15:01 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_name): Use Integer instead of Fixnum.</div><div class='del'>-</div><div class='del'>-Mon May  2 01:00:04 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit/assertions.rb (assert_fixnum): Defined.</div><div class='del'>-	  (assert_bignum): Defined.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: Use assert_bignum.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer_comb.rb: Use assert_fixnum and assert_bignum.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Mon May  2 00:41:53 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to</div><div class='del'>-	  avoid signed integer overflow.</div><div class='del'>-</div><div class='del'>-Mon May  2 00:06:04 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: Use Integer::{FIXNUM_MIN,FIXNUM_MAX}.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer_comb.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: Ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_optimization.rb: Ditto.</div><div class='del'>-</div><div class='del'>-Sun May  1 23:59:59 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): fix for mathn</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sum): ditto.</div><div class='del'>-</div><div class='del'>-Sun May  1 23:51:54 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Options#non_options): fixed wrong regexp.</div><div class='del'>-	  if both positives and negatives were specified, positives had to</div><div class='del'>-	  be specified from the beginning.</div><div class='del'>-</div><div class='del'>-Sun May  1 21:00:07 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c: drop Win2K support.</div><div class='del'>-</div><div class='del'>-Sun May  1 20:39:47 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4</div><div class='del'>-	  support leftovers.</div><div class='del'>-	  [fix GH-1328] patched by @cremno</div><div class='del'>-</div><div class='del'>-Sun May  1 07:30:44 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (search_nonascii): use nlz on big endian environments.</div><div class='del'>-</div><div class='del'>-	* internal.h (nlz_intptr): defined.</div><div class='del'>-</div><div class='del'>-Sun May  1 00:03:30 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (__builtin_ctz): check.</div><div class='del'>-</div><div class='del'>-	* configure.in (__builtin_ctzll): check.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_popcount32): defined for ntz_int32.</div><div class='del'>-	  it can use __builtin_popcount but this function is not used on</div><div class='del'>-	  GCC environment because it uses __builtin_ctz.</div><div class='del'>-	  When another function uses this, using __builtin_popcount</div><div class='del'>-	  should be re-considered.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_popcount64): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h (ntz_int32): defined for ntz_intptr.</div><div class='del'>-</div><div class='del'>-	* internal.h (ntz_int64): defined for ntz_intptr.</div><div class='del'>-</div><div class='del'>-	* internal.h (ntz_intptr): defined as ntz for uintptr_t.</div><div class='del'>-</div><div class='del'>-	* string.c (search_nonascii): unroll and use ntz.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 21:54:13 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): Gather Fixnum method definitions.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 21:28:14 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_div): Define Integer#/.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_div): Don't define Bignum#/.</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb (Integer#/): Replace Integer#/ instead of Bignum#/.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 21:11:08 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_plus): Define Integer#+.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_plus): Don't define Bignum#+.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 21:01:20 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_minus): Define Integer#-.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_minus): Don't define Bignum#-.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:53:33 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_mul): Define Integer#*.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_mul): Don't define Bignum#*.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:30:44 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_modulo): Define Integer#%.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_modulo): Don't define Bignum#%.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 20:17:08 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_equal): Define Integer#==.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): Don't define Bignum#==.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 19:41:15 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_gt): Define Integer#&gt;.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_gt): Don't define Bignum#&gt;.</div><div class='del'>-	  Renamed from big_gt.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_gt): Declared.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 19:24:40 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_ge): Define Integer#&gt;=.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_ge): Don't define Bignum#&gt;=.</div><div class='del'>-	  Renamed from big_ge.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_ge): Declared.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 19:20:40 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/standard_library.rdoc: Remove obsoleted classes and modules.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 19:09:23 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_lt): Define Integer#&lt;.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_lt): Don't define Bignum#&lt;.</div><div class='del'>-	  Renamed from big_lt.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_lt): Declared.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 18:44:05 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_le): Define Integer#&lt;=.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_le): Don't define Bignum#&lt;=.</div><div class='del'>-	  Renamed from big_le.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_le): Declared.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 18:11:44 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): Define Integer::GMP_VERSION.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 16:58:18 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_remainder): Define Integer#remainder.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_remainder): Don't define Bignum#remainder.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_remainder): Declared.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 15:29:24 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_uminus): Don't define Bignum#-@.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 14:42:20 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_idiv): Don't define Bignum#div.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 14:25:55 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_modulo): {Fixnum,Bignum}#modulo is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_modulo): Don't define Bignum#modulo.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 14:04:30 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_divmod): {Fixnum,Bignum}#divmod is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_divmod): Don't define Bignum#divmod.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 13:20:00 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_fdiv): {Fixnum,Bignum}#fdiv is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_fdiv): Don't define Bignum#fdiv.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 12:25:43 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_pow): {Fixnum,Bignum}#** is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): Don't define Bignum#**.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 12:28:59 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_comp): Renamed from rb_big_neg.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_comp): Renamed from fix_rev.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 12:25:43 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_comp): {Fixnum,Bignum}#~ is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_neg): Don't define Bignum#~.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_neg): Declared.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 12:07:42 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_and): {Fixnum,Bignum}#&amp; is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): Don't define Bignum#&amp;.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 11:56:15 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/thread: removed dummy extension library.  thread_sync.c</div><div class='del'>-	  provides "thread.rb" already.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 11:53:48 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_or): {Fixnum,Bignum}#| is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_or): Don't define Bignum#|.</div><div class='del'>-</div><div class='del'>-Sat Apr 30 11:18:47 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_trace.c: Fix typos. [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Apr 30 10:09:04 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (establishShell): honor USER environment variable</div><div class='del'>-	  and login name over uid, one uid can be shared by some login</div><div class='del'>-	  names.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 22:40:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc (ext/io/nonblock): still maintained, as</div><div class='del'>-	  well as ext/io/wait, which is the origin.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 21:18:12 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc (ext/win32): of course, it's still maintained.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 21:03:10 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gems/bundled_gems: Update latest gems, test-unit-3.1.8 and rake-11.1.2.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 20:43:02 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: Update latest maintainers list on Ruby 2.4</div><div class='del'>-</div><div class='del'>-Fri Apr 29 19:52:45 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: Removed deprecated entries. These are already deleted.</div><div class='del'>-</div><div class='del'>-Fri Apr 29 19:48:45 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/maintainers.rdoc: Removed Ruby 1.8 entries. It's not necessary to</div><div class='del'>-	  Ruby 2.4 or later.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 17:03:17 2016  Nicholas Maccharoli  &lt;nmaccharoli@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_update_{block,func}_callback): dry up hash</div><div class='del'>-	  update callback code.  [Fix GH-1338]</div><div class='del'>-</div><div class='del'>-Thu Apr 28 16:52:05 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_enc): use rb_enc_asciicompat(enc) instead of</div><div class='del'>-	  rb_enc_str_asciicompat_p(str) to avoid useless rb_enc_get(str) call.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 16:33:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb: [DOC] fix example code.  base on the code by</div><div class='del'>-	  Semyon Gaivoronskiy in [ruby-core:75224].  [Bug #12323]</div><div class='del'>-</div><div class='del'>-Thu Apr 28 09:33:03 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4.</div><div class='del'>-	  Please see entries of 2.6.4 on</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/master/History.txt</div><div class='del'>-</div><div class='del'>-Thu Apr 28 04:49:07 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0)</div><div class='del'>-	  returns positive infinity, in addition to lgamma_r(-0.0).</div><div class='del'>-	  AIX returns an incorrect result of negative infinity.</div><div class='del'>-</div><div class='del'>-	* math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0.</div><div class='del'>-</div><div class='del'>-Thu Apr 28 01:11:14 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: define _DEFAULT_SOURCE because glibc 2.20 deprecates</div><div class='del'>-	  _BSD_SOURCE.</div><div class='del'>-	  https://sourceware.org/glibc/wiki/Release/2.20</div><div class='del'>-</div><div class='del'>-Thu Apr 28 00:27:55 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_xor): {Fixnum,Bignum}#^ is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_xor): Don't define Bignum#^.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 20:53:59 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_aref): {Fixnum,Bignum}#[] is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_aref): Don't define Bignum#&lt;&lt;.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_aref): Declared.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 16:10:35 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/instruction.rb: fix to follow current implementation.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 15:47:54 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_s_new): warn if a block is given,</div><div class='del'>-	  as well as IO.new.</div><div class='del'>-</div><div class='del'>-Wed Apr 27 14:29:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (ruby_only_for_internal_use): raise fatal error when</div><div class='del'>-	  deprecated function only for internal use is called, not just a</div><div class='del'>-	  warning.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 23:42:30 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (rel): should not raise exceptions even if</div><div class='del'>-	  the user input is wrong.  only reports the error and continue process.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 23:35:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): convert -e script to the encoding</div><div class='del'>-	  given by a command line option on Windows.  assume it is the</div><div class='del'>-	  expected encoding.  [ruby-dev:49461] [Bug #11900]</div><div class='del'>-</div><div class='del'>-Tue Apr 26 21:11:02 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_lshift): {Fixnum,Bignum}#&lt;&lt; is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_lshift): Don't define Bignum#&lt;&lt;.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 20:59:40 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_rshift): {Fixnum,Bignum}#&gt;&gt; is unified into</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_rshift): Don't define Bignum#&gt;&gt;.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 20:46:16 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_size_m): Don't define Bignum#size.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_size_m): Declared.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 20:09:08 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is</div><div class='del'>-	  unified into Integer.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_bit_length): Don't define Bignum#bit_length.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_bit_length): Declared.</div><div class='del'>-</div><div class='del'>-Tue Apr 26 19:56:16 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_abs): Integer#{abs,magnitude} moved from</div><div class='del'>-	  Fixnum and Bignum.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_abs): Declared.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 14:39:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/rbconfig/sizeof/extconf.rb: just check the existence of each</div><div class='del'>-	  types, to reduce configuration time, especially cross-compiling.</div><div class='del'>-</div><div class='del'>-	* template/sizes.c.tmpl: calculate sizes of checked types at</div><div class='del'>-	  compilation time.</div><div class='del'>-</div><div class='del'>-Mon Apr 25 11:27:27 2016  Marcus Stollsteimer  &lt;sto.mar@web.de&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: Improvements to english grammars.</div><div class='del'>-	  [Bug #12246][ruby-core:74792][ci skip]</div><div class='del'>-</div><div class='del'>-Mon Apr 25 11:17:50 2016  Marcus Stollsteimer  &lt;sto.mar@web.de&gt;</div><div class='del'>-</div><div class='del'>-	* encoding.c: Fix return value of `Encoding::ISO8859_1.name`</div><div class='del'>-	  [Bug #12313][ruby-core:75147][ci skip]</div><div class='del'>-	* ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new`</div><div class='del'>-</div><div class='del'>-Sun Apr 24 23:29:16 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: add missing -lm for AIX.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 18:33:58 2016  Kazuki Tsujimoto  &lt;kazuki@callcc.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (INLINE): disable r54738 if __NO_INLINE__ is defined.</div><div class='del'>-	  It caused "undefined reference to `vm_getivar'".</div><div class='del'>-</div><div class='del'>-Sun Apr 24 09:32:12 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: Add test cases for Array#sum with</div><div class='del'>-	  non-numeric objects.</div><div class='del'>-</div><div class='del'>-Sun Apr 24 04:21:27 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (INLINE): define as `inline` when it is optimized.</div><div class='del'>-	  define as `static inline` when it is not optimized to keep</div><div class='del'>-	  the symbol generated.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): use `INLINE` to force inline</div><div class='del'>-	  so that a compiler inlines it into vm_getinstancevariable</div><div class='del'>-	  and optimizes out is_attr and related branches.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): use `inline` to recommend inline.</div><div class='del'>-	  Without this vm1_ivar_set is degraded.</div><div class='del'>-</div><div class='del'>-	  benchmark results:</div><div class='del'>-	  minimum results in each 5 measurements.</div><div class='del'>-	  Execution time (sec)</div><div class='del'>-	  name    ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]   ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux]       built-ruby</div><div class='del'>-	  loop_whileloop 0.641                                                   0.642 0.646</div><div class='del'>-	  vm1_ivar* 1.002                                                   0.999 0.831</div><div class='del'>-	  vm1_ivar_set* 0.369                                                   1.106 0.362</div><div class='del'>-</div><div class='del'>-	  Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23</div><div class='del'>-	  trunk 54727) [x86_64-linux]' (greater is better)</div><div class='del'>-	  name    ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux]</div><div class='del'>-	  built-ruby</div><div class='del'>-	  loop_whileloop</div><div class='del'>-	  0.998        0.991</div><div class='del'>-	  vm1_ivar*</div><div class='del'>-	  1.003        1.205</div><div class='del'>-	  vm1_ivar_set*</div><div class='del'>-	  0.334        1.018</div><div class='del'>-</div><div class='del'>-Sat Apr 23 18:01:21 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_getivar): specify inline instead of static inline.</div><div class='del'>-	  vm_getivar is called by vm_call_ivar and vm_getinstancevariable.</div><div class='del'>-	  At least with GCC 4.8 and 5.3 on Linux, they are inlining it into</div><div class='del'>-	  vm_call_ivar but not vm_getinstancevariable.</div><div class='del'>-	  By `inline`, they correctly inline it and gains performance.</div><div class='del'>-</div><div class='del'>-	  Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23</div><div class='del'>-	  trunk 54727) [x86_64-linux]' (greater is better)</div><div class='del'>-	  name    built-ruby</div><div class='del'>-	  loop_whileloop       1.001</div><div class='del'>-	  vm1_ivar*            1.189</div><div class='del'>-	  vm1_ivar_set*        1.024</div><div class='del'>-</div><div class='del'>-	  Note the `inline`'s meaning is different between old GCC</div><div class='del'>-	  and C99. Old GCC's inline means C99's extern inline.</div><div class='del'>-	  https://gcc.gnu.org/onlinedocs/gcc/Inline.html</div><div class='del'>-	  Since Ruby specify -std=iso9899:1999, it works like C99.</div><div class='del'>-</div><div class='del'>-Sat Apr 23 16:11:39 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY</div><div class='del'>-	  by user side to improve generality.</div><div class='del'>-</div><div class='del'>-Sat Apr 23 16:10:02 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h.</div><div class='del'>-</div><div class='del'>-	* intern.h (LIKELY): define with RB_LIKELY.</div><div class='del'>-</div><div class='del'>-Sat Apr 23 13:27:25 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add descriptions for Time#to_time updates.</div><div class='del'>-	  [Bug #12271]</div><div class='del'>-</div><div class='del'>-Sat Apr 23 13:21:24 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: Add descriptions for DateTime#to_time updates.</div><div class='del'>-	  [Bug #12189]</div><div class='del'>-</div><div class='del'>-Sat Apr 23 11:21:27 2016  Marcus Stollsteimer  &lt;sto.mar@web.de&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime</div><div class='del'>-	  documentation to RDoc from Markdown.</div><div class='del'>-	  [ruby-core:75136] [Bug #12311]</div><div class='del'>-</div><div class='del'>-Sat Apr 23 09:03:35 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: cygwin does not use w32_cmdvector, command line can be</div><div class='del'>-	  other than UTF-8.  [ruby-dev:49519] [Bug #12184]</div><div class='del'>-</div><div class='del'>-Sat Apr 23 01:00:03 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: don't use the system-provided round(3) on AIX.</div><div class='del'>-	  In AIX, round(0.49999999999999994) returns 1.0.</div><div class='del'>-	  Use round() in numeric.c instead.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 21:00:44 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed</div><div class='del'>-	  to avoid test failures due to the tzdata change.</div><div class='del'>-	  https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95</div><div class='del'>-	  Found by naruse.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 20:18:40 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_mul_size_overflow): added to handle</div><div class='del'>-	  mul overflow efficiently.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow</div><div class='del'>-	  and avoid division where it can define DSIZE_T.</div><div class='del'>-</div><div class='del'>-	* gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 20:34:04 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_asctime): [DOC] add ctime example, not only</div><div class='del'>-	  asctime.  [ruby-core:75126] [Bug #12310]</div><div class='del'>-</div><div class='del'>-Fri Apr 22 18:44:32 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: use uint32_t instead of long to avoid confusion about</div><div class='del'>-	  the type of ivtbl-&gt;numiv.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 15:09:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_jump.c (exec_end_procs_chain): restore previous error info</div><div class='del'>-	  for each end procs.  [ruby-core:75038] [Bug #12302]</div><div class='del'>-</div><div class='del'>-Fri Apr 22 15:04:56 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: the fullpath of merger.rb is too long to</div><div class='del'>-	  copy&amp;paste on Windows.  show shorter name instead on the platform.</div><div class='del'>-	  I'm sure that the user of this command on Windows is only me.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 14:52:04 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: remove temporary file.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 11:27:03 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb: Improve documentation for SSL requests via GET method.</div><div class='del'>-	  [fix GH-1325][ci skip] Patch by @jsyeo</div><div class='del'>-</div><div class='del'>-Fri Apr 22 10:51:13 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb: Support to add SSLCiphers option.</div><div class='del'>-	  [fix GH-1321] Patch by @rhadoo</div><div class='del'>-</div><div class='del'>-Fri Apr 22 10:43:19 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c, win32/file.c: Removed obsoleted safe level checks.</div><div class='del'>-	  [fix GH-1327] Patch by @cremno</div><div class='del'>-</div><div class='del'>-Fri Apr 22 10:01:48 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_meteor_contest.rb: fix a typo.</div><div class='del'>-	  [fix GH-1330][ci skip] Patch by @sachin21</div><div class='del'>-</div><div class='del'>-Fri Apr 22 04:57:01 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to</div><div class='del'>-	  avoid duplicated check of size.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xmalloc2): added to keep separate layers.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check</div><div class='del'>-	  the size more statically.</div><div class='del'>-</div><div class='del'>-Fri Apr 22 04:54:40 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (LIKELY): moved from internal.h.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (UNLIKELY): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr 21 01:44:19 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_malloc_prepare): remove size check because it is</div><div class='del'>-	  used by objspace_xmalloc and objspace_xcalloc.</div><div class='del'>-	  objspace_xmalloc introduces its own check in this commit.</div><div class='del'>-	  objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size).</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_xmalloc0): common xmalloc function.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_xmalloc): introduce its own size check.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify</div><div class='del'>-	  the layer who has the responsibility to check the size.</div><div class='del'>-</div><div class='del'>-	* gc.c (objspace_xrealloc): remove duplicated size check.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_xmalloc2): use objspace_xmalloc2.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit</div><div class='del'>-	  as SSIZE_MAX. Note that ISO C says size_t is unsigned integer.</div><div class='del'>-</div><div class='del'>-Thu Apr 21 12:14:04 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if succeeded in creating config.h.</div><div class='del'>-</div><div class='del'>-	* tool/ifchange: ignore failures when TEST_COLORS unmatched. just</div><div class='del'>-	  use the default value if expected name is not contained in it.</div><div class='del'>-	  [ruby-core:75046] [Bug #12303]</div><div class='del'>-</div><div class='del'>-Wed Apr 20 17:33:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/cgi/escape/escape.c (cgiesc_unescape): define unescape</div><div class='del'>-	  method instead of _unescape, and should pass the optional</div><div class='del'>-	  argument to the super method.</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 15:52:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syntax_error_initialize): move the default message,</div><div class='del'>-	  "compile error", from parse.y.  the default parameter should</div><div class='del'>-	  belong to the class definition.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): use the default parameter.</div><div class='del'>-</div><div class='del'>-Wed Apr 20 10:25:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (append_compile_error): use rb_syntax_error_append.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_syntax_error_append): append messages into a</div><div class='del'>-	  SyntaxError exception instance.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): make new SyntaxError instance in main</div><div class='del'>-	  mode, otherwise error_buffer should be a SyntaxError if error</div><div class='del'>-	  has occurred.</div><div class='del'>-</div><div class='del'>-Tue Apr 19 17:42:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (err_vcatf): rename, and separate appending message from</div><div class='del'>-	  creating a string buffer.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_syntax_error_append): merge rb_error_vsprintf and</div><div class='del'>-	  rb_compile_err_append.</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_compile_error): use rb_syntax_error_append.</div><div class='del'>-</div><div class='del'>-Tue Apr 19 13:46:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (append_compile_error, compile_bug): pass iseq and get</div><div class='del'>-	  error info and file from it, not by the thread error info.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_report_bug_valist): take va_list instead of variadic</div><div class='del'>-	  arguments, and just report the bug but not abort.</div><div class='del'>-</div><div class='del'>-Tue Apr 19 13:18:12 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb: revert r54167 because it would break</div><div class='del'>-	  backward compatibilities, and it is documented that</div><div class='del'>-	  Time.parse does not take into account time zone</div><div class='del'>-	  abbreations other than ones described in RFC 822</div><div class='del'>-</div><div class='del'>-Tue Apr 19 13:12:03 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Fix dates of previous commits</div><div class='del'>-</div><div class='del'>-Tue Apr 19 12:45:03 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Add descriptions for logger updates</div><div class='del'>-	* NEWS: Add descriptions for logger updates</div><div class='del'>-</div><div class='del'>-Tue Apr 19 12:45:02 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Add shift_period_suffix option</div><div class='del'>-</div><div class='del'>-Tue Apr 19 12:45:01 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Allow specifying logger parameters in constructor</div><div class='del'>-	  such as level, progname, datetime_format, formatter.</div><div class='del'>-</div><div class='del'>-Mon Apr 18 16:07:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): should not replace the</div><div class='del'>-	  current target INSN, not to follow the replaced dangling link in</div><div class='del'>-	  the caller.  [ruby-core:74993] [Bug #11816]</div><div class='del'>-</div><div class='del'>-Mon Apr 18 12:56:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_truncate): add an optional parameter, digits, as</div><div class='del'>-	  well as Float#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_truncate): add an optional parameter, digits, as</div><div class='del'>-	  well as Integer#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-Sun Apr 17 04:18:56 2016  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: revisions are strings.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 14:26:49 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c : remove not used f_getlocal macro.</div><div class='del'>-	  After r54553 f_getlocal macro is not used.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 14:15:24 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c : remove not used f_utc6 macro.</div><div class='del'>-	  After r54169 f_utc6 macro is not used.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 10:00:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_make_members_list, rb_struct_s_def): member</div><div class='del'>-	  names should be unique. [ruby-core:74971] [Bug #12291]</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_make_members_list): extract making member name</div><div class='del'>-	  list from char* va_list, with creating symbols without</div><div class='del'>-	  intermediate IDs.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 01:33:27 2016  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: sort revisions.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 01:16:02 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): Don't yield same element twice.</div><div class='del'>-	  Found by nagachika.</div><div class='del'>-</div><div class='del'>-Sat Apr 16 01:03:32 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): Fix SEGV by [1/2r, 1].sum.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 23:52:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_rational_plus): rename from rb_rational_add</div><div class='del'>-	  to be aligned with rb_fix_plus.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): ditto.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 23:42:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rational.c (rb_rational_add): rename from nurat_add.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): use rb_rational_add directly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sum): add assertions for an array of</div><div class='del'>-	  Rational values.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 22:31:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): apply the precision compensated algorithm</div><div class='del'>-	  for an array in which Rational and Float values are mixed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sum): add assertions for the above</div><div class='del'>-	  change.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 22:30:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_setname): defer setting native thread name</div><div class='del'>-	  set in initialize until the native thread is created.</div><div class='del'>-	  [ruby-core:74963] [Bug #12290]</div><div class='del'>-</div><div class='del'>-Fri Apr 15 20:27:16 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 15:38:58 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (benchmark): order options for built-ruby and compare-ruby.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 14:14:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_sum): add assertions for Rational and</div><div class='del'>-	  Complex numbers.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 10:07:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (console_key_pressed_p): raise the same</div><div class='del'>-	  exception, "unknown virtual key code", for names with nul chars.</div><div class='del'>-	  though console_win32_vk() considers the length and can deal with</div><div class='del'>-	  nul chars, rb_sprintf() raised at PRIsVALUE previously, so quote</div><div class='del'>-	  it if it is unprintable.</div><div class='del'>-</div><div class='del'>-Fri Apr 15 09:02:58 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/console/console.c (rb_sym2str): fallback definition for</div><div class='del'>-	  older ruby.  [ruby-core:74953] [Bug #12284]</div><div class='del'>-</div><div class='del'>-Thu Apr 14 21:46:36 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): Support the optional argument, init, and</div><div class='del'>-	  block.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 19:02:41 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/save-history.rb: suppress warning: method redefined;</div><div class='del'>-	  discarding old save_history=.</div><div class='del'>-</div><div class='del'>-Thu Apr 14 14:58:14 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (tk_hash_kv): the third argument can be</div><div class='del'>-	  nil not only an Array.  reported by @windwiny at</div><div class='del'>-	  https://github.com/ruby/ruby/commit/cdaa94e#commitcomment-17096618</div><div class='del'>-</div><div class='del'>-Thu Apr 14 14:28:55 2016  cremno phobia  &lt;cremno@mail.ru&gt;</div><div class='del'>-</div><div class='del'>-	* cont.c (fiber_initialize_machine_stack_context): fix wrong</div><div class='del'>-	  _MSC_VER check, should be decimal but not hexadecimal.</div><div class='del'>-	  [ruby-core:74936] [Bug #12279]</div><div class='del'>-</div><div class='del'>-Wed Apr 13 22:51:38 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sum): Array#sum is implemented.</div><div class='del'>-	  Kahan's compensated summation algorithm for precise sum of float</div><div class='del'>-	  numbers is moved from ary_inject_op in enum.c.</div><div class='del'>-</div><div class='del'>-	* enum.c (ary_inject_op): Don't specialize for float numbers.</div><div class='del'>-</div><div class='del'>-	  [ruby-core:74569] [Feature #12217] proposed by mrkn.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 15:56:35 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_ceil): add an optional parameter, digits, as</div><div class='del'>-	  well as Float#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_floor): add an optional parameter, digits, as</div><div class='del'>-	  well as Float#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_ceil): add an optional parameter, digits, as</div><div class='del'>-	  well as Integer#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_floor): add an optional parameter, digits, as</div><div class='del'>-	  well as Integer#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-Wed Apr 13 14:47:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (Init_File): add alias File.empty? to File.zero?.</div><div class='del'>-	  [Feature #9969]</div><div class='del'>-</div><div class='del'>-Wed Apr 13 14:36:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assign_in_cond): allow multiple assignment in</div><div class='del'>-	  conditional expression.  [Feature #10617]</div><div class='del'>-</div><div class='del'>-Wed Apr 13 14:11:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_size): add wrapper function of BIGSIZE and</div><div class='del'>-	  rename the method function with _m suffix.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_round_zero_p): extracted from rb_int_round.</div><div class='del'>-	  optimize for Bignum, and convert VALUE returned by Numeric#size</div><div class='del'>-	  to long.</div><div class='del'>-</div><div class='del'>-Wed Apr 13 12:00:08 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: add a test to check access</div><div class='del'>-	  instance variables on special const objects.</div><div class='del'>-</div><div class='del'>-	  All of such objects are frozen, so that we can not set instance</div><div class='del'>-	  variables for them. But we can read instance variables and return</div><div class='del'>-	  default value (nil).</div><div class='del'>-</div><div class='del'>-Tue Apr 12 20:40:35 2016  Kaneko Yuichiro  &lt;spiketeika@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (time_to_time): should preserve timezone</div><div class='del'>-	  info.  [ruby-core:74889] [Bug #12271]</div><div class='del'>-</div><div class='del'>-Tue Apr 12 11:51:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (new_label_body): initialize bit fields, since</div><div class='del'>-	  compile_data_alloc does not clear the memory.  [Bug #12082]</div><div class='del'>-</div><div class='del'>-Mon Apr 11 20:18:43 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_backtrace.c (frame2klass): filter only for imemo_ment.</div><div class='del'>-	  T_IMEMO/imemo_iseq can be passed here.</div><div class='del'>-</div><div class='del'>-Mon Apr 11 17:43:04 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_optimize): disable tail call optimization in</div><div class='del'>-	  rescued, rescue, and ensure blocks.</div><div class='del'>-	  [ruby-core:73871] [Bug #12082]</div><div class='del'>-</div><div class='del'>-Mon Apr 11 06:54:39 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (apply2files): apply to a VALUE vector instead of a</div><div class='del'>-	  temporary array.</div><div class='del'>-</div><div class='del'>-Sun Apr 10 20:54:16 2016  Joe Swatosh  &lt;joe.swatosh@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix</div><div class='del'>-	  API names.  [ruby-core:74863] [Bug #12264]</div><div class='del'>-</div><div class='del'>-Sun Apr 10 17:47:42 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_realpath_internal): no argument conversions since</div><div class='del'>-	  this internal function does not need to_path and encoding</div><div class='del'>-	  conversions, not to be affected by the default internal</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 10:03:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* load.c (rb_f_load): raise with the original path name before</div><div class='del'>-	  encoding conversion.</div><div class='del'>-</div><div class='del'>-Sat Apr  9 02:05:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_cstr_parse_inum): [EXPERIMENTAL] new function to</div><div class='del'>-	  parse integer in C-string with length.  the name and the</div><div class='del'>-	  arguments may be changed in the future.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str_to_inum): preserve encoding of the argument in</div><div class='del'>-	  error messages, and no longer needs to copy non-terminated</div><div class='del'>-	  strings.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str2big_{poweroftwo,normal,karatsuba,gmp}): ditto.</div><div class='del'>-</div><div class='del'>-Thu Apr  7 19:04:03 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc (comments): [DOC] terminators cannot appear in</div><div class='del'>-	  comments.  [ruby-core:74838] [Bug #12256]</div><div class='del'>-</div><div class='del'>-Thu Apr  7 11:24:14 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil/tkutil.c (cbsubst_initialize): fix out-of-bound</div><div class='del'>-	  access when no arguments given.  `p Tk::Event.new` crashed.</div><div class='del'>-</div><div class='del'>-Fri Apr  1 01:26:00 2016  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c: Fully reset coverage to not persist global state.</div><div class='del'>-	  It was returning old file coverages as empty arrays to the user.</div><div class='del'>-	  [ruby-core:74596] [Bug #12220]</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c (rb_coverages): remove unused static state.</div><div class='del'>-</div><div class='del'>-	* thread.c: Moved and renamed coverage_clear_result_i to reset_coverage_i.</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: improve precision of tests.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 22:41:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_lgamma_r_m0): fix the condition for</div><div class='del'>-	  lgamma_r(-0.0).  [Bug #12249]</div><div class='del'>-</div><div class='del'>-Wed Apr  6 17:38:42 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb (RubyGems.download): follow the change of the</div><div class='del'>-	  rubygems ssl_certs directory tree introduced by previous commit.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 15:00:27 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3.</div><div class='del'>-	  Please see entries of 2.6.3 on</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/master/History.txt</div><div class='del'>-</div><div class='del'>-Wed Apr  6 14:13:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)</div><div class='del'>-	  returns negative infinity.  [Bug #12249]</div><div class='del'>-</div><div class='del'>-	* math.c (ruby_lgamma_r): define by the configured result.</div><div class='del'>-</div><div class='del'>-Wed Apr  6 10:56:15 2016  Anton Davydov  &lt;antondavydov.o@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger#level=): remove unnecessary local</div><div class='del'>-	  variable.</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention</div><div class='del'>-	  the default values.  cherrypicked from [GH-1319].</div><div class='del'>-</div><div class='del'>-Wed Apr  6 10:17:53 2016  cremno phobia  &lt;cremno@mail.ru&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows,</div><div class='del'>-	  since msvcrt does not provide it.</div><div class='del'>-</div><div class='del'>-	* missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0).</div><div class='del'>-	  [ruby-core:74823] [Bug #12249]</div><div class='del'>-</div><div class='del'>-Wed Apr  6 01:22:55 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong.</div><div class='del'>-	  cf. [Bug #12249]</div><div class='del'>-</div><div class='del'>-Wed Apr  6 00:53:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX.</div><div class='del'>-</div><div class='del'>-	* math.c (ruby_tgamma): fix tgamma(-0.0) on mingw.</div><div class='del'>-	  [ruby-core:74817] [Bug #12249]</div><div class='del'>-</div><div class='del'>-Tue Apr  5 14:50:28 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.</div><div class='del'>-	  [Bug #12202] [ruby-core:74802]</div><div class='del'>-</div><div class='del'>-Tue Apr  5 00:06:44 2016  Aeris  &lt;aeris@imirhil.fr&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral</div><div class='del'>-	  TLS session key in case of forward secrecy cipher.  Only</div><div class='del'>-	  available since OpenSSL 1.0.2.  [Fix GH-1318]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key.</div><div class='del'>-</div><div class='del'>-Mon Apr  4 23:37:05 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (rb_vm_struct): make at_exit a single linked list but</div><div class='del'>-	  not RArray, not to mark the registered functions by the write</div><div class='del'>-	  barrier.  based on the patches by Evan Phoenix.</div><div class='del'>-	  [ruby-core:73908] [Bug #12095]</div><div class='del'>-</div><div class='del'>-Mon Apr  4 17:43:45 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change default value of</div><div class='del'>-	  RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -&gt; 0.2</div><div class='del'>-	  RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -&gt; 0.65</div><div class='del'>-</div><div class='del'>-	  These values are same as Ruby 2.0.0.</div><div class='del'>-</div><div class='del'>-	  This change cause GC counts.</div><div class='del'>-	  However, generational GC reduced each (minor) GC time and</div><div class='del'>-	  increase memory locality. So that not so big impact on my</div><div class='del'>-	  benchmarking results.</div><div class='del'>-	  (surprisingly, this fix speed up programs on some cases)</div><div class='del'>-</div><div class='del'>-	  You can change these values by environment variables</div><div class='del'>-	  if you feel wrong.</div><div class='del'>-</div><div class='del'>-Mon Apr  4 17:36:52 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_double): take an upper_bound.</div><div class='del'>-</div><div class='del'>-	  And also take an accept_zero flag which allow to accept zero</div><div class='del'>-	  even if lower_bound is set.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): fix parameters.</div><div class='del'>-</div><div class='del'>-	  RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that</div><div class='del'>-	  it should be upper_bound.</div><div class='del'>-	  Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound.</div><div class='del'>-</div><div class='del'>-	  Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to</div><div class='del'>-	  RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO.</div><div class='del'>-</div><div class='del'>-Mon Apr  4 16:41:32 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (Init_VM): should pass tokens.</div><div class='del'>-</div><div class='del'>-Sun Apr  3 09:34:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flodivmod): round division if it is a finite number</div><div class='del'>-	  and module is required.</div><div class='del'>-</div><div class='del'>-	* numeric.c (dbl2ival): do not round here.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_ceil): use dbl2ival.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_round): round explicitly.</div><div class='del'>-</div><div class='del'>-Sat Apr  2 15:24:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_check_arity): returns argc.</div><div class='del'>-</div><div class='del'>-Fri Apr  1 20:58:33 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Data generation to implement</div><div class='del'>-	  swapcase functionality for titlecase characters. Swapcase isn't defined</div><div class='del'>-	  by Unicode, because the purpose/usage of swapcase is unclear anyway.</div><div class='del'>-	  The implementation follows a proposal from Nobu, swapping the case of</div><div class='del'>-	  each component of a titlecase character individually.</div><div class='del'>-	  This means that the titlecase characters have to be decomposed.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Code using the above data.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Tests for the above.</div><div class='del'>-</div><div class='del'>-Fri Apr  1 14:55:28 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing</div><div class='del'>-	  the real git_dir, such as when the git working tree is a "linked</div><div class='del'>-	  working tree" (a working tree created by git-worktree). So use</div><div class='del'>-	  git-rev-parse --git-dir to check if $srcdir is the top-level of a git</div><div class='del'>-	  repository, not just checking if the $srcdir/.git directory does exist</div><div class='del'>-	  or not.  [ruby-core:74759] [Bug #12239]</div><div class='del'>-</div><div class='del'>-	* tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have</div><div class='del'>-	  its own VCS detection code, while we have tool/vcs.rb.</div><div class='del'>-</div><div class='del'>-	* tool/vcs.rb (detect): remove code duplication</div><div class='del'>-</div><div class='del'>-Fri Apr  1 04:50:44 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc):</div><div class='del'>-	  enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default</div><div class='del'>-	  [Bug #12126]</div><div class='del'>-</div><div class='del'>-Fri Apr  1 01:13:55 2016  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (update_coverage): Do not track coverage in loaded files</div><div class='del'>-	  after Coverage.result. Avoids out-of-bounds access. [Bug #12237]</div><div class='del'>-</div><div class='del'>-	* ext/coverage/coverage.c (coverage_clear_result_i): document.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 19:16:16 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 17:50:27 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: change additional allocation policy.</div><div class='del'>-</div><div class='del'>-	  Introduce new environment variable</div><div class='del'>-	  RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the</div><div class='del'>-	  ratio of additional memory.</div><div class='del'>-</div><div class='del'>-	  Before this change, we add pages with the following formula</div><div class='del'>-	  (when free_slots &lt; total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO):</div><div class='del'>-	    next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR</div><div class='del'>-</div><div class='del'>-	  This addition can allocate too much.</div><div class='del'>-</div><div class='del'>-	  With this change, we increase pages to satisfy the following formula:</div><div class='del'>-	    next_free_slots = next_total_slots * goal_ratio</div><div class='del'>-	  where</div><div class='del'>-	    next_free_slots = free_slots + adding_slots</div><div class='del'>-	    next_total_slots = total_slots + adding_slots.</div><div class='del'>-</div><div class='del'>-	  If you want to prepare many free slots, increase this ratio.</div><div class='del'>-</div><div class='del'>-	  If this variable is 0, then simply multiply</div><div class='del'>-	  RUBY_GC_HEAP_GROWTH_FACTOR.</div><div class='del'>-</div><div class='del'>-	* gc.c (get_envparam_double): enable to accept 0.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 17:48:25 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_marks_finish): fix syntax error.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 16:49:36 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: simplify allocate/free detecting logic at the end of marking.</div><div class='del'>-</div><div class='del'>-	  Before this change, heap_pages_min_slots are calculated at the</div><div class='del'>-	  beginning sweeping phase. And this value is used at the end of</div><div class='del'>-	  *next* marking phase.</div><div class='del'>-</div><div class='del'>-	  To simplify it, we use this value at the end of this marking phase.</div><div class='del'>-	  It means that we don't need to store this value as global state.</div><div class='del'>-</div><div class='del'>-	  Also heap_pages_max_slots is calculated at the begging of sweeping</div><div class='del'>-	  phase and used at the end of sweeping phase.</div><div class='del'>-	  To simplify this logic, we introduced new global value</div><div class='del'>-	  heap_pages_freeable_pages it means extra pages count we can free.</div><div class='del'>-	  gc_sweep_step() checks this value and moves empty pages to tomb_heap</div><div class='del'>-	  not more than this value.</div><div class='del'>-</div><div class='del'>-	  Because of this fix, heap_pages_swept_slots is no longer needed.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_objspace_t::heap_pages): restruct the objspace global</div><div class='del'>-	  status.</div><div class='del'>-</div><div class='del'>-	  remove the following fields</div><div class='del'>-	    * swept_slots (and heap_pages_swept_slots)</div><div class='del'>-	    * min_free_slots (and heap_pages_min_free_slots)</div><div class='del'>-	    * max_free_slots (and heap_pages_max_free_slots)</div><div class='del'>-	  And add the following filed.</div><div class='del'>-	    * freeable_pages (and heap_pages_freeable_pages)</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_pages_free_unused_pages): unlink tomb heap pages</div><div class='del'>-	  because tomb heap should have only freeable pages.</div><div class='del'>-</div><div class='del'>-	* gc.c (heap_extend_pages): add parameters for future extension.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 16:43:02 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: add GC parameters to configure the following values:</div><div class='del'>-	  * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO:</div><div class='del'>-	    allocate additional pages when free slots is lower than</div><div class='del'>-	    the value (total_slots * (this ratio)).</div><div class='del'>-	  * RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO:</div><div class='del'>-	    allow to free pages when free slots is greater than</div><div class='del'>-	    the value (total_slots * (this ratio)).</div><div class='del'>-</div><div class='del'>-	  Before this change, these values are hard coded.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_params_t): ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c (ruby_gc_set_params): ditto.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 15:59:17 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_verify_heap_page): check the number of zombies.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_verify_heap_pages): check also tomb heap.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 15:48:18 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_page_sweep): return free slots count.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep_step): use returned free slots count.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep_step): change variable name `next'</div><div class='del'>-	  to `next_sweep_page'.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 11:33:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC]</div><div class='del'>-	  fix indent not to be a big sole verbatim.</div><div class='del'>-</div><div class='del'>-Thu Mar 31 11:18:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc</div><div class='del'>-	  of DateTime.  [ruby-core:74729] [Bug #12233]</div><div class='del'>-</div><div class='del'>-Thu Mar 31 03:41:02 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde.</div><div class='del'>-	  fix indent.</div><div class='del'>-</div><div class='del'>-Wed Mar 30 16:33:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors.</div><div class='del'>-	  Renamed files, wrong method names or argument types; the example</div><div class='del'>-	  GetDBM macro is now updated to the current version of the actual</div><div class='del'>-	  code.  patch by Marcus Stollsteimer in [ruby-core:74690].</div><div class='del'>-	  [Bug #12228]</div><div class='del'>-</div><div class='del'>-Wed Mar 30 09:46:01 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb: Use `userinfo` for authenticated proxy.</div><div class='del'>-	  [fix GH-1148] Patch by @SokichiFujita</div><div class='del'>-	* test/open-uri/test_open-uri.rb: ditto.</div><div class='del'>-	  [fix GH-1309] Patch by @jdamick</div><div class='del'>-</div><div class='del'>-Wed Mar 30 01:56:06 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0.</div><div class='del'>-	  patched by Anton Sivakov [Bug #12201] [Bug #12202]</div><div class='del'>-</div><div class='del'>-Wed Mar 30 01:54:30 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb: add given revision to current changesets</div><div class='del'>-	  on associating the revision to the related ticket.</div><div class='del'>-</div><div class='del'>-Wed Mar 30 01:53:17 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: update revision.h before merge.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 19:33:54 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* addr2line.c: define toupper for its use. fix r54391.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 19:23:46 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_isupper, rb_islower, rb_isalpha, rb_isdigit,</div><div class='del'>-	  rb_isalnum, rb_isxdigit, rb_isblank, rb_isspace, rb_isblank,</div><div class='del'>-	  rb_iscntrl, rb_isprint, rb_ispunct, rb_isgraph,</div><div class='del'>-	  rb_tolower, rb_toupper): use inline function to avoid function call.</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (rb_isascii): use inline function to clarify</div><div class='del'>-	  the logic.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 18:56:55 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (backport): show merger.rb's path.</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (show): show current issue again if no</div><div class='del'>-	  ticket number is given.</div><div class='del'>-</div><div class='del'>-	* tool/redmine-backporter.rb (rel): show error message if current</div><div class='del'>-	  bugs.ruby-lang.org doesn't support the API.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 18:54:34 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/merger.rb: support to backport header as backport identifier.</div><div class='del'>-	  Now you can specify by 'merge revision(s) 49254: [Backport #10738]'.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 16:53:44 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Tweaked handling of 6</div><div class='del'>-	  special cases in CaseUnfold_11_Table.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Adjustments for above.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Tests for the above: Some tests in</div><div class='del'>-	  test_titlecase activated; test_greek added. A test in test_cherokee fixed.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 13:31:00 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Cleaned up some comments.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 13:24:56 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Removing data for idempotent</div><div class='del'>-	  titlecasing.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Adjust code to data removal.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 12:45:18 2016  Laurent Arnoud  &lt;laurent@spkdev.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb: Move error_body to method. It allow to</div><div class='del'>-	  override the body more easily. [fix GH-1307]</div><div class='del'>-	* test/webrick/test_httpresponse.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 06:40:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (rb_compile_err_append): rb_thread_t::base_block is no</div><div class='del'>-	  longer used.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): ditto, no protection is</div><div class='del'>-	  needed.</div><div class='del'>-</div><div class='del'>-Tue Mar 29 06:39:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (struct parser_params): move parse_in_eval flag from</div><div class='del'>-	  rb_thread_t.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_parser_set_context): set parsing context, not only</div><div class='del'>-	  mild error flag.</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): the parser now refers no</div><div class='del'>-	  thread local states to be restored.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (eval_string_with_cref): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 21:24:02 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_pos_p): fix typos.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 14:54:49 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Refactoring in preparation for data reduction for</div><div class='del'>-	  titlecase.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 14:36:36 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Minor refactoring for I WITH DOT ABOVE.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 14:26:24 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Removed code now covered by data from table.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:49:21 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Adding comments. [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:30:23 2016  Shinichi Maeshima  &lt;netwillnet@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb: Fix `Gem.find_spec_for_exe` picks oldest gem.</div><div class='del'>-	  https://github.com/travis-ci/travis-ci/issues/5798</div><div class='del'>-	  https://github.com/rubygems/rubygems/pull/1566</div><div class='del'>-	* test/rubygems/test_gem.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:26:31 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2.</div><div class='del'>-	  Please see entries of 2.6.2 on</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/master/History.txt</div><div class='del'>-</div><div class='del'>-Mon Mar 28 11:02:31 2016  Hiroshi Shirosaki  &lt;h.shirosaki@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path.</div><div class='del'>-	  https://github.com/rubygems/rubygems/pull/1554</div><div class='del'>-	  [Bug #12193][ruby-core:74431]</div><div class='del'>-</div><div class='del'>-Mon Mar 28 08:19:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): refactor floating point format of</div><div class='del'>-	  Rational by using generic Integer functions.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): fix buffer overflow, length must be</div><div class='del'>-	  greater than precision.  reported by William Bowling &lt;will AT</div><div class='del'>-	  wbowling.info&gt;.</div><div class='del'>-</div><div class='del'>-Sun Mar 27 12:13:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): convert Rational to floating point</div><div class='del'>-	  format by using generic Integer functions, not by methods which</div><div class='del'>-	  can be overwritten.</div><div class='del'>-</div><div class='del'>-Sat Mar 26 10:55:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int2str): conversion function to String for</div><div class='del'>-	  generic Integer.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_round): rounding function for generic</div><div class='del'>-	  Integers.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_int_{uminus,plus,minus,mul,idiv,modulo}): basic</div><div class='del'>-	  arithmetic functions for generic Integers.</div><div class='del'>-</div><div class='del'>-	* numeric.c (FIXNUM_{POSITIVE,NEGATIVE,ZERO}_P): predict macros</div><div class='del'>-	  only for Fixnum.</div><div class='del'>-</div><div class='del'>-Sat Mar 26 06:34:24 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* localeinit.c (rb_locale_charmap_index): fix prototype.</div><div class='del'>-	  patched by Andreas Schwab [Bug #12218]</div><div class='del'>-</div><div class='del'>-Fri Mar 25 16:40:48 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Additional tests title case;</div><div class='del'>-	  some not yet activated.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 13:38:11 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb</div><div class='del'>-	  function rather than OPENSSL_NPN_NEGOTIATED macro. it exists</div><div class='del'>-	  even if it is disabled by OpenSSL configuration.</div><div class='del'>-	  [ruby-core:74384] [Bug #12182]</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c: update #ifdef(s) as above.</div><div class='del'>-</div><div class='del'>-	* test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled.</div><div class='del'>-</div><div class='del'>-Fri Mar 25 11:08:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example,</div><div class='del'>-	  missing mandatory arguments.  [ruby-core:74540] [Bug #12215]</div><div class='del'>-</div><div class='del'>-Fri Mar 25 01:50:58 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (reserve_stack): fix reserving position where</div><div class='del'>-	  the stack growing bottom to top. [Bug #12118]</div><div class='del'>-</div><div class='del'>-Fri Mar 25 01:10:42 2016  Sebastian Schuberth  &lt;sschuberth@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (find_executable0): On Windows, it is actually valid</div><div class='del'>-	  to surround individual PATH directory entries with double</div><div class='del'>-	  quotes. Remove these before joining the path as otherwise the</div><div class='del'>-	  literal quotes would become part of the path, resulting in the</div><div class='del'>-	  executable not to be found.  [Fix GH-1305]</div><div class='del'>-</div><div class='del'>-Thu Mar 24 22:38:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (FMT, FMTV): remove recursive-assignments to get rid</div><div class='del'>-	  of undefined behavior.  [ruby-core:74532] [Bug #12213]</div><div class='del'>-</div><div class='del'>-Thu Mar 24 17:44:02 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (FMT_PADDING): extract format for padding.</div><div class='del'>-</div><div class='del'>-	* strftime.c (FMT_PRECISION): extract precision formula.</div><div class='del'>-</div><div class='del'>-	* strftime.c (FMTV): append formatted string to expand the result.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 14:20:21 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (STRFTIME): deal with case conversion flags for</div><div class='del'>-	  recursive formats.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 12:43:26 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (dt_lite_iso8601): strftimev() always</div><div class='del'>-	  returns a String, so append them directly.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv),</div><div class='del'>-	  (dt_lite_jisx0301): format by the format string in local buffer</div><div class='del'>-	  to prevent intermediate strings from GC.</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by</div><div class='del'>-	  "%+"PRIsVALUE, to prevent intermediate strings from GC.</div><div class='del'>-</div><div class='del'>-Thu Mar 24 11:43:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): remove unnecessary</div><div class='del'>-	  check, as `s` equals to `endp` when recursed STRFTIME resized</div><div class='del'>-	  the capacity same as the size.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 21:48:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (ary_inject_op): put subtract operation out of if-clause.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 21:38:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (ary_inject_op): Use Kahan's compensated summation algorithm</div><div class='del'>-	  for summing up float values.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 20:56:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime_with_timespec): append formatted results</div><div class='del'>-	  to the given string with expanding, and also deal with NUL chars.</div><div class='del'>-</div><div class='del'>-	* strftime.c (rb_strftime, rb_strftime_timespec): return formatted</div><div class='del'>-	  string, not the length put in the given buffer.</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime_alloc): no longer needs to retry with</div><div class='del'>-	  reallocating buffers.</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): no longer needs to split by NUL chars.</div><div class='del'>-</div><div class='del'>-Wed Mar 23 14:23:54 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in</div><div class='del'>-	  expand_name. (display_name rescues NotFoundError by itself,</div><div class='del'>-	  the original logic looks buggy...)</div><div class='del'>-</div><div class='del'>-Wed Mar 23 11:44:53 2016  cremno  &lt;cremno@mail.ru&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_long): cast to `signed char`, which is used</div><div class='del'>-	  already, instead of SIGN_EXTEND_CHAR.</div><div class='del'>-</div><div class='del'>-	* parse.y: SIGN_EXTEND_CHAR is no longer used.  [Fix GH-1302]</div><div class='del'>-</div><div class='del'>-Wed Mar 23 11:38:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM):</div><div class='del'>-	  * add missing parentheses and remove double quotes.</div><div class='del'>-	  * rename to get rid of recursive references.</div><div class='del'>-	  * as --excludes-dir option is for a path name, its argument</div><div class='del'>-	    should be converted.</div><div class='del'>-	  [ruby-dev:49526] [Bug #12199]</div><div class='del'>-</div><div class='del'>-Wed Mar 23 10:39:38 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: Added documentation about order of `Module#constants`</div><div class='del'>-	  [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301]</div><div class='del'>-</div><div class='del'>-Tue Mar 22 21:08:30 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: Additional flag for characters that are titlecase.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Using above flag in data.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Marking capitalized character as unmodified if it is</div><div class='del'>-	  already titlecase.</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Tests for above functionality.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 14:18:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lambda_body, parser_yylex): warn mismatched indentation</div><div class='del'>-	  of lambda block.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 11:36:49 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (wmul): wrong condition.</div><div class='del'>-	  fixed many test failures on 32bit and LLP64 platforms.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 10:31:34 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments</div><div class='del'>-	  are valid pointers.</div><div class='del'>-	  maybe checking them in wdivmod0() is better manner, but I guess that</div><div class='del'>-	  passing real dummy pointers may be faster than checking and branching</div><div class='del'>-	  in wdivmod0().</div><div class='del'>-	  this commit fixes SEGV on 32bit and LLP64 platforms.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 10:24:04 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (divmodv): void function never returns any value.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 10:11:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print</div><div class='del'>-	  failed messages only if replacing mode, otherwise defer them</div><div class='del'>-	  until the end, to get rid of interleaving failures with progress</div><div class='del'>-	  messages.  refix r54195.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 03:45:03 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV.</div><div class='del'>-</div><div class='del'>-	* time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch.</div><div class='del'>-</div><div class='del'>-	* time.c (wmul): use mul which has Fixnum optimization.</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same</div><div class='del'>-	  optimized logic, else mul() has also the similar logic for Fixnum.</div><div class='del'>-</div><div class='del'>-	* time.c (rb_time_unmagnify): almost ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 22 03:10:09 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (divmodv): add the case both arguments are Fixnum.</div><div class='del'>-</div><div class='del'>-	* time.c (wquo): use quo which has Fixnum optimization.</div><div class='del'>-</div><div class='del'>-	* time.c (wdivmod0): added for WIDEVALUE_IS_WIDER.</div><div class='del'>-</div><div class='del'>-	* time.c (wdivmod): use wdivmod0 and divmodv.</div><div class='del'>-	  divmodv has Fixnum optimization.</div><div class='del'>-</div><div class='del'>-	* time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which</div><div class='del'>-	  calls id_quo whose return value is array.</div><div class='del'>-</div><div class='del'>-	* time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which</div><div class='del'>-	  calls id_quo whose return value is array.</div><div class='del'>-</div><div class='del'>-Mon Mar 21 22:32:50 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if</div><div class='del'>-	  x == FIXNUM_MIN &amp;&amp; y == -1. This must be a rare case and it is</div><div class='del'>-	  expected compiler to handle well.</div><div class='del'>-</div><div class='del'>-Mon Mar 21 22:15:11 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (mod): Add Fixnum case.</div><div class='del'>-</div><div class='del'>-	* time.c (quo): c can be Fixnum except a == FIXNUM_MIN &amp;&amp; b == -1.</div><div class='del'>-	  Such case can be optimized out because quo()'s argument is constant.</div><div class='del'>-</div><div class='del'>-Mon Mar 21 22:09:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fix_mul_fix): multiply converted values, not</div><div class='del'>-	  object VALUEs.</div><div class='del'>-</div><div class='del'>-Mon Mar 21 20:18:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell</div><div class='del'>-	  long option.</div><div class='del'>-</div><div class='del'>-	* cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name</div><div class='del'>-	  conversions by msys2.  [ruby-dev:49525] [Bug #12199]</div><div class='del'>-</div><div class='del'>-Mon Mar 21 19:09:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (enc_succ_alnum_char): try to skip an invalid character</div><div class='del'>-	  gap between GREEK CAPITAL RHO and SIGMA.</div><div class='del'>-	  [ruby-core:74478] [Bug #12204]</div><div class='del'>-</div><div class='del'>-Mon Mar 21 18:55:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (rb_gc_mark_node): NODE_MATCH2 can have nd_args, u3,</div><div class='del'>-	  since r54100.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 21:17:13 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_int128t2big): declare only when HAVE_INT128_T.</div><div class='del'>-	  fixed a compile error with VC++ introduced at r54203.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 20:10:14 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (DLONG): defined if long is 32bit (and LONG_LONG is 64bit;</div><div class='del'>-	  but LONG_LONG is always defined as 64bit), or there's int128_t.</div><div class='del'>-</div><div class='del'>-	* internal.h (DL2NUM): defined if DLONG is defined.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fix_mul_fix): defined for `Fixnum * Fixnum`.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mul): use rb_fix_mul_fix().</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (mul): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 18:53:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_gt, fix_ge, fix_lt, fix_le): optimize comparisons</div><div class='del'>-	  Fixnum against Bignum by rb_big_cmp in inversed order without</div><div class='del'>-	  new Bignum instance.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 18:44:52 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (add): remove FIXABLE() which is in LONG2NUM().</div><div class='del'>-</div><div class='del'>-	* time.c (sub): ditto.</div><div class='del'>-</div><div class='del'>-	* time.c (mul): ditto.</div><div class='del'>-</div><div class='del'>-Sun Mar 20 04:46:02 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_cmp): reduce the code.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_eq): If normalized bignum is still bignum,</div><div class='del'>-	  it must be larger than fixnum.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 00:58:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big_odd_p, rb_big_even_p): move to</div><div class='del'>-	  internal.h so that they are exported only for ruby itself.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_big_odd_p, rb_big_even_p): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 21:56:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Test::Unit::StatusLine#failed): defer</div><div class='del'>-	  failed messages until the end in verbose mode, to get rid of</div><div class='del'>-	  interleaving failures with progress messages.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 21:53:35 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_cmp): invert the result as the comparison is</div><div class='del'>-	  inverted.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 18:32:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_to_f): raise NotImplementedError when a receiver</div><div class='del'>-	  class is unknown.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/integer/test_my_integer.rb (test_my_integer_to_f): modify</div><div class='del'>-	  a test for the above change.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 18:21:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Bignum#&lt;=&gt;): remove it because they are unified with</div><div class='del'>-	  Integer#&lt;=&gt;.</div><div class='del'>-</div><div class='del'>-	* numeric.c (Integer#&lt;=&gt;, Fixnum#&lt;=&gt;): move &lt;=&gt; method from Fixnum to</div><div class='del'>-	  Integer.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_cmp): add this method for Integer#&lt;=&gt;.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/integer/test_my_integer.rb (test_my_integer_cmp): add a</div><div class='del'>-	  test to examine Integer#&lt;=&gt; for unknown subclasses.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 14:46:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): make the parser in mild</div><div class='del'>-	  error.</div><div class='del'>-</div><div class='del'>-	* load.c (rb_load_internal0): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): return the error message within the error</div><div class='del'>-	  to be raised.  [Feature #11951]</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_compile_error): accumulate error messages in the</div><div class='del'>-	  error_buffer.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 03:57:13 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (LOCALTIME): organize #ifdefs.</div><div class='del'>-</div><div class='del'>-	* time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 03:53:31 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc)</div><div class='del'>-	  define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff.</div><div class='del'>-</div><div class='del'>-	* time.c: define _BSD_SOURCE at the top.</div><div class='del'>-</div><div class='del'>-Sat Mar 19 03:00:50 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff</div><div class='del'>-	  test to a better one that does not depend on whether the current</div><div class='del'>-	  time is in summer time or not.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 00:00:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_to_f, Bignum#to_f): removed them because they are</div><div class='del'>-	  unified with int_to_f and Integer#to_f.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_to_f): treat Bignum values directly.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 23:41:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add</div><div class='del'>-	  treatment for subclasses which don't have definitions of to_f method.</div><div class='del'>-</div><div class='del'>-	* numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum</div><div class='del'>-	  to Integer.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/integer/my_integer.c: define helper class for testing</div><div class='del'>-	  to_f method for a subclass of Integer.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/integer/extconf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/-test-/integer/init.c: ditto.</div><div class='del'>-</div><div class='del'>-	* test/-ext-/integer/test_my_integer.rb: examine to_f method for a</div><div class='del'>-	  subclass of Integer.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 22:32:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big_hash): Move to internal.h.</div><div class='del'>-</div><div class='del'>-	* internal.h: ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 22:10:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Bignum#eql?): remove its definition because it is unified</div><div class='del'>-	  with Numeric#eql?.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_eql): treat Bignum values directly.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 21:57:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_to_s, Bignum#to_s): remove its definition because</div><div class='del'>-	  it is unified with Integer#to_s.</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_to_s): treat Bignum values directly.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 21:30:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_to_s): Move from fix_to_s.</div><div class='del'>-</div><div class='del'>-	* numeric.c (Integer#to_s): Move from Fixnum#to_s.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 16:22:24 2016  Victor Nawothnig  &lt;Victor.Nawothnig@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_numvar): NTH_REF must be less than a half of</div><div class='del'>-	  INT_MAX, as it is left-shifted to be ORed with back-ref flag.</div><div class='del'>-	  [ruby-core:74444] [Bug#12192] [Fix GH-1296]</div><div class='del'>-</div><div class='del'>-Fri Mar 18 12:25:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (tick): fix missing close parenthesis.  [Fix GH-1291]</div><div class='del'>-</div><div class='del'>-Fri Mar 18 10:24:12 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/date/date_core.c (datetime_to_time): preserve timezone info</div><div class='del'>-	  [Bug #12189] [Fix GH-1295]</div><div class='del'>-</div><div class='del'>-Fri Mar 18 10:17:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_hash): make it public function to be available in</div><div class='del'>-	  other source files, and remove documentation comment for Bignum#hash.</div><div class='del'>-</div><div class='del'>-	* bignum.c (Bignum#hash): remove its definition because it is unified</div><div class='del'>-	  with Object#hash.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big_hash): add a prototype declaration.</div><div class='del'>-</div><div class='del'>-	* hash.c (any_hash): treat Bignum values directly.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 02:35:12 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/time.rb (parse, strptime): Fix Time.parse/strptime does not</div><div class='del'>-	  have compatibility with DateTime.parse/strptime in terms of parsing</div><div class='del'>-	  timezone [Bug #12190] [Fix GH-1297]</div><div class='del'>-</div><div class='del'>-Fri Mar 18 02:17:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_zero_p, fix_even_p, fix_odd_p): remove needless</div><div class='del'>-	  functions.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 02:15:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (int_even_p): treat Fixnum and Bignum values directly.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 02:07:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Bignum#even?, Bignum#odd?): remove definitions</div><div class='del'>-	  because they are unified with Integer#even? and Integer#odd?.</div><div class='del'>-</div><div class='del'>-	* numeric.c (Fixnum#zero?, Fixnum#even?, Fixnum#odd?): remove</div><div class='del'>-	  definitions because they are unified with Numeric#zero?,</div><div class='del'>-	  Integer#even?, and Integer#odd?.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_zero_p, int_odd_p): treat Fixnum and</div><div class='del'>-	  Bignum values directly.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_integer.rb (test_odd_p_even_p): remove meaningless</div><div class='del'>-	  test case.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 01:51:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_even_p, rb_big_odd_p): make them public functions</div><div class='del'>-	  to be available in other source files.</div><div class='del'>-</div><div class='del'>-	* include/ruby/intern.h (rb_big_even_p, rb_big_odd_p): add prototype</div><div class='del'>-	  declarations.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 00:25:56 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (ary_inject_op): Implement the specialized code for sum of</div><div class='del'>-	  float numbers.</div><div class='del'>-</div><div class='del'>-Fri Mar 18 00:15:05 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp</div><div class='del'>-	  created an object which caused extra overhead.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 22:21:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate</div><div class='del'>-	  macro, and expand for each RB_GC_GUARD.  [Fix GH-1293]</div><div class='del'>-</div><div class='del'>-Thu Mar 17 22:08:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_specialized_instruction): move specialization</div><div class='del'>-	  for opt_newarray_max/min from translation phase.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:52:09 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, enum.c: make rdoc format consistent.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:47:57 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: add Array#max, #min, and the optimization.  [Feature #12172]</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:45:02 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (NODE_CALL): add optimization shortcut for Array#max/min.</div><div class='del'>-	  Now `[x, y].max` is optimized so that a temporal array object is not</div><div class='del'>-	  created in some condition.  [Feature #12172]</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_newarray_max, opt_newarray_min): added.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:35:52 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_max, rb_ary_min): implement Array#max and min with</div><div class='del'>-	  arguments.  replace super call with rb_nmin_run.</div><div class='del'>-</div><div class='del'>-	* enum.c (nmin_run): exported (as rb_nmin_run).</div><div class='del'>-</div><div class='del'>-	* internal.h: added a prototype for rb_nmin_run.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:24:52 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_max, rb_ary_min): implement a block by itself instead</div><div class='del'>-	  of delegating Enumerable#max/min.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:09:34 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_max, rb_ary_min): Array#max and Array#min added.</div><div class='del'>-	  [Feature #12172]</div><div class='del'>-</div><div class='del'>-	* internal.h (OPTIMIZED_CMP): moved from enum.c so that array.c can</div><div class='del'>-	  use it.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_max, test_min): tests for Array#max</div><div class='del'>-	  and Array#min.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_enum.rb (test_max, test_min): revised a bit to test</div><div class='del'>-	  Enumerable#max and #min explicitly.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 21:02:42 2016  Yusuke Endoh  &lt;mame@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.c: struct cmp_opt_data added for refactoring out a data</div><div class='del'>-	  structure for CMP_OPTIMIZABLE</div><div class='del'>-</div><div class='del'>-	* array.c (struct ary_sort_data): use struct cmp_opt_data.</div><div class='del'>-</div><div class='del'>-	* enum.c (struct min_t, max_t, min_max_t): use struct cmp_opt_data.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 20:55:21 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (ary_inject_op): Extracted from enum_inject.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 18:39:04 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): Implement the specialized code for sum of</div><div class='del'>-	  integers including Bignums.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_fix_plus): Declared to be usable from enum_inject.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix_plus): Defined.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 17:20:28 2016  Anton Davydov  &lt;antondavydov.o@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c: [DOC] Update documentation for Queue class</div><div class='del'>-	  description.  [Fix GH-1292]</div><div class='del'>-</div><div class='del'>-Thu Mar 17 17:14:51 2016  Dinar Valeev  &lt;dvaleev@suse.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (tick): Use __builtin_ppc_get_timebase for POWER arch.</div><div class='del'>-	  [Fix GH-1291]</div><div class='del'>-</div><div class='del'>-Thu Mar 17 11:51:48 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/securerandom.rb (gen_random): to avoid blocking on Windows.</div><div class='del'>-	  On Windows OpenSSL RAND_bytes (underlying implementation is</div><div class='del'>-	  RAND_poll in crypto/rand/rand_win.c) may be blocked at</div><div class='del'>-	  NetStatisticsGet.</div><div class='del'>-	  https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues</div><div class='del'>-	  Instead of this, use Random.raw_seed directly (whose implementation</div><div class='del'>-	  CryptGenRandom is one of the source of</div><div class='del'>-	  entropy of RAND_poll on Windows).</div><div class='del'>-	  https://wiki.openssl.org/index.php/Random_Numbers</div><div class='del'>-	  Note: CryptGenRandom function is PRNG and doesn't check its entropy,</div><div class='del'>-	  so it won't block. [Bug #12139]</div><div class='del'>-	  https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx</div><div class='del'>-	  https://tools.ietf.org/html/rfc4086#section-7.1.3</div><div class='del'>-	  https://eprint.iacr.org/2007/419.pdf</div><div class='del'>-	  http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf</div><div class='del'>-</div><div class='del'>-Thu Mar 17 12:09:00 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Fixed two macro definitions.</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Test cases that detected</div><div class='del'>-	  the above bugs.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 11:36:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (inspect_tcpi_msec): more accurate condition</div><div class='del'>-	  for TCPI msec member inspection function.</div><div class='del'>-	  [ruby-core:74388] [Bug #12185]</div><div class='del'>-</div><div class='del'>-Thu Mar 17 08:13:43 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/time/test_new.rb (test_timespec_new): Time#gmtoff values</div><div class='del'>-	  are the same only when both or neither of the Time objects are in</div><div class='del'>-	  summer time (daylight-saving time).</div><div class='del'>-</div><div class='del'>-Thu Mar 17 07:17:36 2016  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0):  raise ArgumentError when linking to undefined</div><div class='del'>-	  object.</div><div class='del'>-</div><div class='del'>-Thu Mar 17 00:45:00 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: Make sure to use Bignum values in the tests.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 23:10:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/keywords (alias, undef): symbol literals are allowed.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_percent): should parse symbol literals for alias</div><div class='del'>-	  and undef.  [ruby-dev:47681] [Bug #8851]</div><div class='del'>-</div><div class='del'>-Wed Mar 16 21:39:39 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/trans/JIS: update Unicode's notice. [Bug #11844]</div><div class='del'>-</div><div class='del'>-Wed Mar 16 20:03:35 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* proc.c (proc_binding): proc from symbol can not make a binding.</div><div class='del'>-	  [ruby-core:74100] [Bug #12137]</div><div class='del'>-</div><div class='del'>-Wed Mar 16 18:42:45 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Fixed and activated a test for Cherokee.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 17:58:56 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Fixed a logical error.</div><div class='del'>-</div><div class='del'>-Wed Mar 16 17:57:34 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Adding tests for Cherokee.</div><div class='del'>-	  One test not yet working.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Wed Mar 16 15:44:05 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Adding tests for actual Unicode</div><div class='del'>-	  case mapping. Fixing some aliasing issues.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Mar 15 21:38:28 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): Consider redefinition of Fixnum#+.</div><div class='del'>-	  [ruby-dev:49510] [Bug#12178] Reported by usa.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 20:32:57 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): Implement the specialized code for :+ operator</div><div class='del'>-	  for Fixnums.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 20:21:01 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_inject): Implement the specialized code for self is an</div><div class='del'>-	  array and a symbol operator is given.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 16:29:51 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Eliminating common code.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Mar 15 16:17:09 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Expansion of some code repetition in preparation for</div><div class='del'>-	  elimination of common code pieces.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Mar 15 13:49:23 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Additional macros and code to use mapping data in</div><div class='del'>-	  CaseMappingSpecials array.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Mar 15 13:41:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_gc_mark_global_tbl): should be private,</div><div class='del'>-	  but was accidentally exported.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 12:51:06 2016  Marcus Stollsteimer  &lt;sto.mar@web.de&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: Fix RDoc markup in doc/extension*.rdoc.</div><div class='del'>-	  [ci skip][Bug #12143][ruby-core:74143]</div><div class='del'>-	* doc/extension.rdoc: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 09:56:41 2016  Ian Lunderskov  &lt;ian.lunderskov@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: Minor typo in Time#dst? documentation.</div><div class='del'>-	  [ci skip][fix GH-1290]</div><div class='del'>-</div><div class='del'>-Tue Mar 15 04:36:41 2016  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb (test_disable): add tests for</div><div class='del'>-	  --disable-gems and --disable-did_you_mean.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 03:35:04 2016  Eric Hodel  &lt;drbrain@segment7.net&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): Fix Marshal crash for corrupt extended object.</div><div class='del'>-</div><div class='del'>-Tue Mar 15 01:22:27 2016  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rubyoptions.rb: make version matching support</div><div class='del'>-	  JRuby's version output.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 19:05:39 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2str_2bdigits): reduce div instruction.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 18:39:53 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h, enc/unicode.c: Adjusting flag assignments</div><div class='del'>-	  and macros to work with unified CaseMappingSpecials array.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Mar 14 16:53:37 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_named_capture_assign): optimize named capture</div><div class='del'>-	  assignments, by replacing repeating global variable accesses</div><div class='del'>-	  with `dup`, and by returning the matched result instead of</div><div class='del'>-	  re-getting it from the MatchData.</div><div class='del'>-</div><div class='del'>-	* parse.y (reg_named_capture_assign_gen): build just assignment</div><div class='del'>-	  nodes for the optimization.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 16:02:59 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (ruby_is_fd_loadable): now return -1 if loadable but</div><div class='del'>-	  may block.</div><div class='del'>-</div><div class='del'>-	* ruby.c (open_load_file): wait to read by the result of</div><div class='del'>-	  ruby_is_fd_loadable, without fstat.</div><div class='del'>-</div><div class='del'>-Mon Mar 14 13:38:38 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix2str): improve r54092 like rb_int2big().</div><div class='del'>-</div><div class='del'>-Mon Mar 14 10:02:23 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe</div><div class='del'>-	  [ruby-core:73803] [Bug #12069]</div><div class='del'>-</div><div class='del'>-Sun Mar 13 09:43:23 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum</div><div class='del'>-	  limit.  [ruby-core:74285] [Bug #12171]</div><div class='del'>-</div><div class='del'>-Sun Mar 13 09:15:45 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix2str): fix edge case, accidentally generated</div><div class='del'>-	  wrong Fixnum from LONG_MIN.</div><div class='del'>-</div><div class='del'>-Sat Mar 12 09:50:27 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+"</div><div class='del'>-	  cannot enclose non-identifier characters.</div><div class='del'>-	  a patch by Sebastian S in [ruby-core:74278].  [Bug#12170]</div><div class='del'>-</div><div class='del'>-Sat Mar 12 02:44:48 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb: describe !/REGEXP/ in the help message.</div><div class='del'>-</div><div class='del'>-Fri Mar 11 17:03:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit.rb (Options#non_options): make regexp name</div><div class='del'>-	  options prefixed with "!" negative filters.</div><div class='del'>-</div><div class='del'>-	* common.mk (TEST_EXCLUDES): use negative filter to exclude memory</div><div class='del'>-	  leak tests.  -x option excludes test files, not test methods.</div><div class='del'>-</div><div class='del'>-Fri Mar 11 16:11:27 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Streamlining approach to</div><div class='del'>-	  case mapping data not available from case folding by unifying all</div><div class='del'>-	  three cases (special title, special upper, special lower).</div><div class='del'>-	* enc/unicode.c: Adjust macro names for above (macros are currently inactive).</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Thu Mar 10 17:34:16 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (prepare_iseq_build): enable coverage by coverage_enabled</div><div class='del'>-	  option, not by parse_in_eval flag in the thread context.</div><div class='del'>-</div><div class='del'>-	* iseq.h (rb_compile_option_struct): add coverage_enabled flag.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile0): set coverage_enabled flag if coverage</div><div class='del'>-	  array is made.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 15:19:54 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* node.c (dump_option): nd_compile_option is a hidden hash object,</div><div class='del'>-	  cannot call inspect on it.</div><div class='del'>-</div><div class='del'>-Thu Mar 10 09:49:54 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb (test_udp_recvmsg_truncation):</div><div class='del'>-	  AIX does not set the MSG_TRUNC flag for a message partially read</div><div class='del'>-	  by recvmsg(2) with the MSG_PEEK flag set.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 16:48:45 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix my last commit (syntax error).</div><div class='del'>-</div><div class='del'>-Wed Mar  9 16:41:44 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: fix output messages.</div><div class='del'>-</div><div class='del'>-	* benchmark/memory_wrapper.rb: use respond_to? because</div><div class='del'>-	  member? does not work well.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 16:20:25 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: support memory usage benchmark.</div><div class='del'>-	  use `--measure-target=[target]'.</div><div class='del'>-	  Now, we can use the following targets:</div><div class='del'>-	    * real (default): real time which returns process time in sec.</div><div class='del'>-	    * peak: peak memory usage (physical memory) in bytes.</div><div class='del'>-	    * size: last memory usage (physical memory) in bytes.</div><div class='del'>-</div><div class='del'>-	* benchmark/memory_wrapper.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 15:04:22 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_gc_old_full.rb: add GC.start benchmark.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_gc_old_immediate.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_gc_old_lazy.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 14:59:11 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/driver.rb: exit benchmarking if a benchmark process</div><div class='del'>-	  receives signals.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 13:22:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/lib/memory_status.rb: make Memory::Status independent of</div><div class='del'>-	  MiniTest::Skip.</div><div class='del'>-</div><div class='del'>-	* test/lib/test/unit/assertions.rb (assert_no_memory_leak): skip</div><div class='del'>-	  if Memory::Status is not available.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 09:19:55 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/io/wait/test_io_wait.rb (test_wait_readwrite_timeout):</div><div class='del'>-	  select(2) in AIX returns "readable" for the write-side fd</div><div class='del'>-	  of a pipe, so it is not possible to use a pipe to test</div><div class='del'>-	  the read-write timeout of IO#wait on AIX.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 03:35:22 2016  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_require.rb (test_require_with_loaded_features_pop):</div><div class='del'>-	  Only remove PATH so threads don't accidentally double-pop.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 00:29:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c (rb_alias): the original name should be properly</div><div class='del'>-	  available method_added method, set the name before calling the</div><div class='del'>-	  hook.</div><div class='del'>-</div><div class='del'>-Wed Mar  9 00:07:03 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb (Logger::LogDevice#initialize): define using</div><div class='del'>-	  keyword arguments.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 23:37:07 2016  Charles Oliver Nutter  &lt;headius@headius.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: split out the test for no stack error</div><div class='del'>-	  on large input for test_permutation, test_repeated_permutation,</div><div class='del'>-	  and test_repeated_combination, and make them all timeout:30.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 17:20:21 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_divmod): assume compilers `/` and `%` comply C99</div><div class='del'>-	  and reduce branching. If a compiler doesn't comply, add #ifdefs.</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_div): added for Ruby's behavior.</div><div class='del'>-</div><div class='del'>-	* intern.h (rb_mod): added for Ruby's behavior.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_div): use rb_div.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mod): use rb_mod.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fixdivmod): removed.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divide): use rb_div.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mod): use rb_mod.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_divmod): use rb_divmod.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 17:53:09 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mod): show its method name on ZeroDivisionError.</div><div class='del'>-	  [Bug #12158]</div><div class='del'>-</div><div class='del'>-Tue Mar  8 17:33:38 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): now no need to check</div><div class='del'>-	  ERROR_CALL_NOT_IMPLEMENTED because it is for old Win9X.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 16:54:29 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_write_console): stop the VT100 emulation if the</div><div class='del'>-	  console supports it natively.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 08:13:01 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/net/imap/test_imap.rb (test_idle_timeout): Because of the</div><div class='del'>-	  timeout specified in "imap.idle(0.2)", there is no guarantee that</div><div class='del'>-	  the server thread has done all the work before the client thread</div><div class='del'>-	  performs the assertions. It depends on the thread scheduling.</div><div class='del'>-	  Add checks to avoid false positives (on AIX, particularly).</div><div class='del'>-</div><div class='del'>-Tue Mar  8 00:42:22 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (warn_cr_in_shebang): meaningless check on DOSISH platforms.</div><div class='del'>-	  fixed a test failure introduced at r53998.</div><div class='del'>-</div><div class='del'>-Tue Mar  8 00:27:53 2016  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo.</div><div class='del'>-	  [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Tue Mar  8 00:25:08 2016  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo.</div><div class='del'>-	  [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Tue Mar  8 00:21:58 2016  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo.</div><div class='del'>-	  [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Tue Mar  8 00:11:47 2016  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505]</div><div class='del'>-	  [Bug #11886] The patch provided by Akira Matsuda.</div><div class='del'>-</div><div class='del'>-	* ext/tk/sample/*.rb: ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 13:32:58 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class, rb_define_class_id_under): raise</div><div class='del'>-	  ArgumentError if super is 0, deprecated behavior which has been</div><div class='del'>-	  warned long time.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 13:28:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* internal.h: move function declarations for class internals from</div><div class='del'>-	  include/ruby/intern.h.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 10:58:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole_event.c (rescue_callback): use</div><div class='del'>-	  rb_write_error_str instead of rb_write_error, to respect</div><div class='del'>-	  the encoding and prevent the message from GC.</div><div class='del'>-</div><div class='del'>-	* internal.h (rb_write_error_str): export.</div><div class='del'>-</div><div class='del'>-Mon Mar  7 01:38:41 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_process.rb (test_execopts_gid): Skip a test</div><div class='del'>-	  that is known to fail on AIX. AIX allows setgid to</div><div class='del'>-	  a supplementary group, but Ruby does not allow the "-e"</div><div class='del'>-	  option when setgid'ed, so the test does not work as intended.</div><div class='del'>-</div><div class='del'>-Sun Mar  6 22:43:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_obj_display): [DOC] fix output of Array, as Array#to_s</div><div class='del'>-	  is same as Array#inspect since 1.9.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 09:50:58 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/socket/test_addrinfo.rb (test_ipv6_address_predicates):</div><div class='del'>-	  IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken</div><div class='del'>-	  on AIX, so skip related tests.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 09:17:54 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast):</div><div class='del'>-	  The fifth argument to getsockopt(2) should be modified to</div><div class='del'>-	  indicate the actual size of the value on return,</div><div class='del'>-	  but not in AIX. This is a know bug. Skip related tests.</div><div class='del'>-	* test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast):</div><div class='del'>-	  ditto.</div><div class='del'>-	* test/rinda/test_rinda.rb (test_make_socket_unicast): ditto.</div><div class='del'>-	* test/socket/test_basicsocket.rb (test_getsockopt): ditto.</div><div class='del'>-	* test/socket/test_sockopt.rb (test_bool): ditto.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 07:36:27 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/float/test_nextafter.rb: In AIX,</div><div class='del'>-	  nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0,</div><div class='del'>-	  but they should return -0.0 and +0.0, respectively. This is</div><div class='del'>-	  a known bug in nextafter(3) on AIX, so skip related tests.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 07:14:10 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine):</div><div class='del'>-	  Skip two tests on AIX because zconf.h in zlib does not correctly</div><div class='del'>-	  recognize _LARGE_FILES in AIX. The problem was already reported</div><div class='del'>-	  to zlib, and skip these tests until it is fixed.</div><div class='del'>-</div><div class='del'>-Sat Mar  5 03:07:40 2016  Rei Odaira  &lt;Rei.Odaira@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (getstack): __pi_stacksize returned by</div><div class='del'>-	  pthread_getthrds_np() is wrong on AIX. Use</div><div class='del'>-	  __pi_stackend - __pi_stackaddr instead.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 19:19:42 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: use 2 bits with unsigned int for rb_objspace::flags::mode</div><div class='del'>-	  because it always returns 0 to 2 (non-negative value).</div><div class='del'>-</div><div class='del'>-Fri Mar  4 18:42:08 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename "enum gc_stat" to "enum gc_mode"</div><div class='del'>-	  because there is a same name (no related) function gc_stat().</div><div class='del'>-</div><div class='del'>-	  Also gc_stat_* are renamed to gc_mode_*,</div><div class='del'>-	  gc_stat_transition() to gc_mode_transition(),</div><div class='del'>-	  rb_objspace::flags::stat is renamed to rb_objspace::flags::mode.</div><div class='del'>-</div><div class='del'>-	  Change rb_objspace::flags::mode from 2 bits to 3 bits because VC++</div><div class='del'>-	  returns negative enum value with 2 bits.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mode): add a macro to access rb_objspace::flags::mode</div><div class='del'>-	  with verification code (verification is enabled only on</div><div class='del'>-	  RGENGC_CHECK_MODE &gt; 0).</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mode_set): same macro for setter.</div><div class='del'>-</div><div class='del'>-Fri Mar  4 09:28:18 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1.</div><div class='del'>-	  Please see entries of 2.6.0 and 2.6.1 on</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/master/History.txt</div><div class='del'>-	  [fix GH-1270] Patch by @segiddins</div><div class='del'>-</div><div class='del'>-Thu Mar  3 14:09:00 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (modifiable?, new_ostruct_member!, table!):</div><div class='del'>-	  rename methods for internal use with suffixes and make private,</div><div class='del'>-	  [ruby-core:71069] [Bug #11587]</div><div class='del'>-</div><div class='del'>-Wed Mar  2 16:28:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (method_missing): call by found method entry and get</div><div class='del'>-	  rid of searching the same method entry twice.</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (vm_call0_body): calling method_missing method is</div><div class='del'>-	  method_missing().</div><div class='del'>-</div><div class='del'>-Wed Mar  2 15:13:33 2016  herwinw  &lt;herwin@quarantainenet.nl&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb: Removed broken parser named XMLScanStreamParser.</div><div class='del'>-	  It's not works with current Ruby version.</div><div class='del'>-	  [fix GH-1271][ruby-core:59588][Bug #9369]</div><div class='del'>-	* lib/xmlrpc/config.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/parser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Mar  2 15:08:33 2016  herwinw  &lt;herwin@quarantainenet.nl&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb: Removed broken parser named XMLTreeParser.</div><div class='del'>-	  Required gem of its parser didn't compile on newer Ruby versions.</div><div class='del'>-	  [fix GH-1271][ruby-core:59590][Bug #9370]</div><div class='del'>-	* lib/xmlrpc/config.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/parser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar  1 11:25:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb: use keyword arguments instead of option</div><div class='del'>-	  hashes.</div><div class='del'>-</div><div class='del'>-Mon Feb 29 16:50:20 2016  hanachin  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_push_m): [DOC] Remove trailing comma from</div><div class='del'>-	  Array#push example, as other Array examples doesn't put trailing</div><div class='del'>-	  comma.  [Fix GH-1279]</div><div class='del'>-</div><div class='del'>-Mon Feb 29 16:31:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, tool/mkconfig.rb: set cross_compiling option from</div><div class='del'>-	  Makefile, but not from rbconfig.rb, which is just going to be</div><div class='del'>-	  created by this command.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 23:13:49 2016  C.J. Collier  &lt;cjcollier@linuxfoundation.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: Add summary to end of configure output.</div><div class='del'>-	  [Fix GH-1275]</div><div class='del'>-</div><div class='del'>-Sun Feb 28 20:23:36 2016  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/drb/drb.rb (error_print): Add verbose failure messages and</div><div class='del'>-	  avoid infamous DRb::DRbConnError. [Feature #12101]</div><div class='del'>-</div><div class='del'>-Sun Feb 28 13:40:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (nometh_err_initialize): add private_call? parameter.</div><div class='del'>-</div><div class='del'>-	* error.c (nometh_err_private_call_p): add private_call? method,</div><div class='del'>-	  to tell if the exception raised in private form FCALL or VCALL.</div><div class='del'>-	  [Feature #12043]</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (make_no_method_exception): append private_call?</div><div class='del'>-	  argument.</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (ci_missing_reason): copy FCALL flag.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 10:19:47 2016  Ryan T. Hosford  &lt;tad.hosford@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_and): clarify that set intersection returns the</div><div class='del'>-	  unique elements common to both arrays.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_or): clarify that union preserves the order from</div><div class='del'>-	  the given arrays.</div><div class='del'>-</div><div class='del'>-Sat Feb 27 17:05:29 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCase</div><div class='del'>-	  table by eliminating duplicates.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Feb 26 14:40:48 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_step_scan_args): comparison String with Numeric</div><div class='del'>-	  should raise TypeError. it is an invalid type, but not a</div><div class='del'>-	  mismatch the number of arguments.  [ruby-core:62430] [Bug #9810]</div><div class='del'>-</div><div class='del'>-Fri Feb 26 14:39:39 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc, doc/extension.ja.rdoc: add editor local</div><div class='del'>-	  variables, with commenting out by :enddoc: directives which are</div><div class='del'>-	  just ignored unless code object mode.  [Bug #12111]</div><div class='del'>-</div><div class='del'>-Fri Feb 26 12:25:56 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.ja.rdoc: removed rendering error caused by editor specific</div><div class='del'>-	  configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html .</div><div class='del'>-	  [Bug #12111][ruby-core:73990]</div><div class='del'>-</div><div class='del'>-Fri Feb 26 11:21:41 2016  herwinw  &lt;herwin@quarantainenet.nl&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser.</div><div class='del'>-	  [fix GH-1245][ruby-core:59593][Feature #9371]</div><div class='del'>-	* lib/xmlrpc/config.rb: ditto.</div><div class='del'>-	* lib/xmlrpc/parser.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 11:10:19 2016  Rick Salevsky  &lt;rsalevsky@suse.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb: Unify to coding-style for method definition.</div><div class='del'>-	  [fix GH-1252]</div><div class='del'>-</div><div class='del'>-Fri Feb 26 11:02:04 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: update markdown syntax for anchor tag.</div><div class='del'>-	  [fix GH-1265] Patch by @lukBarros</div><div class='del'>-</div><div class='del'>-Fri Feb 26 10:52:29 2016  Alex Boyd  &lt;alex@opengroove.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb: avoid to needless truncation when using back_trace_limit option.</div><div class='del'>-	  [fix GH-1205][ruby-core:72773][Bug #11969]</div><div class='del'>-</div><div class='del'>-Fri Feb 26 08:11:58 2016  Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gem_prelude.rb: Reduce system calls by activating the `did_you_mean`</div><div class='del'>-	  gem before requiring the gem.  Activating the gem puts the gem on</div><div class='del'>-	  the load path, where simply requiring the file will search every gem</div><div class='del'>-	  that's installed until it can find a gem that contains the</div><div class='del'>-	  `did_you_mean` file.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 19:04:13 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Adding possibility for debugging output</div><div class='del'>-	  for TitleCase table in casefold.h.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Wed Feb 24 22:31:13 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: Rearranging flag assignments and making</div><div class='del'>-	  space for titlecase indices; adding additional macros to add or</div><div class='del'>-	  extract titlecase index; adding comments for better documentation.</div><div class='del'>-	* enc/unicode.c: Moving some macros to include/ruby/oniguruma.h;</div><div class='del'>-	  activating use of titlecase indices.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Wed Feb 24 21:03:04 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (limited_rand): Add a specialized path for when the limit fits</div><div class='del'>-	  in 32 bit.</div><div class='del'>-</div><div class='del'>-Tue Feb 23 21:52:24 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecase</div><div class='del'>-	  data (new table, with indices from other tables).</div><div class='del'>-	* enc/unicode.c: Ignoring titlecase data indices for the moment.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Feb 23 15:21:14 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Reading casing data from</div><div class='del'>-	  SpecialCasing.txt.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Feb 22 18:33:55 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case,</div><div class='del'>-	  not yet operational.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Feb 22 18:17:03 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusion</div><div class='del'>-	  of compatibility characters in upper-/lower-case mappings.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Feb 21 13:57:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cgi/escape/escape.c: Optimize CGI.unescape performance by C ext</div><div class='del'>-	  for ASCII-compatible encodings.  [Fix GH-1250]</div><div class='del'>-</div><div class='del'>-Sun Feb 21 13:56:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C</div><div class='del'>-	  ext for ASCII-compatible encodings.  [Fix GH-1242]</div><div class='del'>-</div><div class='del'>-Sat Feb 20 15:38:16 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: update paths for defs/ directory</div><div class='del'>-</div><div class='del'>-Sat Feb 20 14:44:15 2016  Lucas Buchala  &lt;lucasbuchala@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation</div><div class='del'>-	  signature for Module#module_eval.  [Fix GH-1258]</div><div class='del'>-</div><div class='del'>-Sat Feb 20 14:40:44 2016  Adam O'Connor  &lt;northband@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: a few grammatical changes to the main Ruby README.md.</div><div class='del'>-	  [Fix GH-1259]</div><div class='del'>-</div><div class='del'>-Sat Feb 20 13:04:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_pattern, push_glob): deal with read paths as UTF-8</div><div class='del'>-	  to stat later, on Windows as well as OS X.</div><div class='del'>-	  [ruby-core:73868] [Bug #12081]</div><div class='del'>-</div><div class='del'>-Sat Feb 20 01:53:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_const_get): make error message at uninterned</div><div class='del'>-	  string consistent with symbols.  [ruby-dev:49498] [Bug #12089]</div><div class='del'>-</div><div class='del'>-Fri Feb 19 23:37:52 2016  Masahiro Tomita  &lt;tommy@tmtm.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb (Find#find): raise with the given path name if it</div><div class='del'>-	  does not exist.  [ruby-dev:49497] [Bug #12087]</div><div class='del'>-</div><div class='del'>-Fri Feb 19 12:44:57 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Feb 19 11:08:32 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: add cygwin case, nothing excluded.</div><div class='del'>-	  [ruby-core:73806] [Bug#12071]</div><div class='del'>-</div><div class='del'>-Thu Feb 18 21:32:15 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/irb.1: fix output in EXAMPLES.</div><div class='del'>-</div><div class='del'>-Thu Feb 18 21:05:47 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (sym_match_m): delegate to String#match but not</div><div class='del'>-	  String#=~.  [ruby-core:72864] [Bug #11991]</div><div class='del'>-</div><div class='del'>-Thu Feb 18 14:15:38 2016  Shota Fukumori  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: Add MatchData#named_captures</div><div class='del'>-	  [Feature #11999] [ruby-core:72897]</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above.</div><div class='del'>-</div><div class='del'>-	* NEWS: News about MatchData#named_captures.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 21:41:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* defs/id.def (predefined): add idLASTLINE and idBACKREF for $_</div><div class='del'>-	  and $~ respectively.</div><div class='del'>-</div><div class='del'>-	* parse.y: use idLASTLINE and idBACKREF instead of rb_intern.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 20:23:38 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_init): fix segfault and memory leak, consider</div><div class='del'>-	  wide char encoding terminator.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 12:14:59 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_init): introduce String.new(capacity: size)</div><div class='del'>-	  [Feature #12024]</div><div class='del'>-</div><div class='del'>-Tue Feb 16 19:10:08 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, casefold.h: Used only first element</div><div class='del'>-	  (rather than all) of target in CaseUnfold_11 array.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Feb 16 18:24:38 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (compare_with_zero): fix variable name, rb_cmperr</div><div class='del'>-	  requires VALUEs but not an ID.</div><div class='del'>-</div><div class='del'>-Tue Feb 16 17:34:18 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the</div><div class='del'>-	  argument is the name of an empty directory.  [Feature #10121]</div><div class='del'>-</div><div class='del'>-Tue Feb 16 09:51:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (without_destdir): just strip a drive letter</div><div class='del'>-	  which is prepended by with_destdir.</div><div class='del'>-	  pointed out by @DavidEGrayson.</div><div class='del'>-	  https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763</div><div class='del'>-</div><div class='del'>-Tue Feb 16 04:42:13 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_plus): simply use LONG2NUM() instead of wrongly</div><div class='del'>-	  complex overflow case.</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_sub): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb 16 02:49:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/rbinstall.rb (without_destdir): compare with the destdir</div><div class='del'>-	  after stripping a drive letter, on dosish platforms.</div><div class='del'>-	  pointed out by @DavidEGrayson.</div><div class='del'>-	  https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407</div><div class='del'>-</div><div class='del'>-Mon Feb 15 15:44:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_ident): allow keyword arguments just after a</div><div class='del'>-	  method where the same name local variable is defined.</div><div class='del'>-	  [ruby-core:73816] [Bug#12073]</div><div class='del'>-</div><div class='del'>-Mon Feb 15 14:43:28 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Added debugging option</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Feb 14 17:31:50 2016  Lars Kanis  &lt;lars@greiz-reinsdorf.de&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to</div><div class='del'>-	  be modified, in append_{cpp,c,ld}flags respectively.</div><div class='del'>-	  [Fix GH-1246]</div><div class='del'>-</div><div class='del'>-Sun Feb 14 16:18:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (setup_exception): set the cause only if it is explicitly</div><div class='del'>-	  given or not set yet.  [Bug #12068]</div><div class='del'>-</div><div class='del'>-Sat Feb 13 21:44:58 2016  Tanaka Akira  &lt;akr@fsij.org&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_invert): [DOC] more examples.</div><div class='del'>-</div><div class='del'>-Sat Feb 13 17:30:49 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#find_proxy): support CIDR in</div><div class='del'>-	  no_proxy.  [ruby-core:73769] [Feature#12062]</div><div class='del'>-</div><div class='del'>-Sat Feb 13 17:11:58 2016  Fabian Wiesel  &lt;fabian.wiesel@sap.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (find_proxy): exclude white-spaces and allow</div><div class='del'>-	  for a leading dot in the domain name in no_proxy.</div><div class='del'>-	  [ruby-core:54542] [Feature #8317]</div><div class='del'>-</div><div class='del'>-Fri Feb 12 12:20:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (name_err_initialize, nometh_err_initialize): [DOC] fix</div><div class='del'>-	  argument positions.  optional parameters except for the message</div><div class='del'>-	  are placed at the last.</div><div class='del'>-</div><div class='del'>-Fri Feb 12 11:49:49 2016  Anthony Dmitriyev  &lt;antstorm@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* net/ftp.rb: add NullSocket#closed? to fix closing not opened</div><div class='del'>-	  connection.  [Fix GH-1232]</div><div class='del'>-</div><div class='del'>-Fri Feb 12 11:17:38 2016  Bogdan  &lt;bogdanvlviv@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): [DOC] fix missing right bracket.</div><div class='del'>-	  [Fix GH-1243]</div><div class='del'>-</div><div class='del'>-Thu Feb 11 14:57:58 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types</div><div class='del'>-	  which are conditionally available depending on architectures</div><div class='del'>-	  when universal binary, e.g., __int128.</div><div class='del'>-</div><div class='del'>-Thu Feb 11 06:26:18 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_DEFINT): use Parameter Expansion.</div><div class='del'>-</div><div class='del'>-Thu Feb 11 05:33:24 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (int128_t): don't check HAVE_XXX (for example</div><div class='del'>-	  HAVE___INT128) because RUBY_CHECK_SIZEOF() don't define it for</div><div class='del'>-	  config.h and use of $ac_cv_sizeof___int128 alternates the check.</div><div class='del'>-	  (and don't need to define because users shouldn't know that)</div><div class='del'>-</div><div class='del'>-Wed Feb 10 12:03:41 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (ARFLAGS): check if deterministic mode flag is</div><div class='del'>-	  effective, which is on by default on Ubuntu.</div><div class='del'>-</div><div class='del'>-Tue Feb  9 16:36:23 2016  Naotoshi Seo  &lt;sonots@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb: Remove block from Logger.add as it's not needed</div><div class='del'>-	  patch provided by Daniel Lobato Garcia [fix GH-1240] [Bug #12054]</div><div class='del'>-</div><div class='del'>-Tue Feb  9 14:32:23 2016  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems</div><div class='del'>-	  Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129</div><div class='del'>-</div><div class='del'>-Tue Feb  9 13:52:49 2016  Zachary Scott  &lt;zzak@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: Remove deprecated kcode argument from Regexp.new and compile</div><div class='del'>-	  patch provided by Dylan Pulliam [Bug #11495]</div><div class='del'>-</div><div class='del'>-Mon Feb  8 21:26:19 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb, enc/unicode/casefold.h: Flags for</div><div class='del'>-	  upper/lower conversion added (titlecase and SpecialCasing still missing)</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Feb  8 20:43:57 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c, enc/unicode.c: Disassociating ONIGENC_CASE_FOLD flag from</div><div class='del'>-	  ONIGENC_CASE_DOWNCASE.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Feb  8 13:00:17 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Shortened macros for enc/unicode/casefold.h to</div><div class='del'>-	  single-letter; use flags in casefold.h for logic.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Added flag for case folding.</div><div class='del'>-	  Changed parameter passing.</div><div class='del'>-</div><div class='del'>-	* enc/unicode/casefold.h: New flags added.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Feb  8 10:30:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (feature_option): raise a runtime error if ambiguous</div><div class='del'>-	  feature name is given, in the future.  [Bug #12050]</div><div class='del'>-</div><div class='del'>-Mon Feb  8 09:43:57 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Removed enc/unicode/casefold.h from automatic build because</div><div class='del'>-	  some CI systems don't have gperf. Creation of enc/unicode/casefold.h</div><div class='del'>-	  is now possible with make unicode-up. This is intended as a temporary measure.</div><div class='del'>-</div><div class='del'>-Sun Feb  7 22:10:08 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Added two more precondition files for enc/unicode/casefold.h</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Added shortening macros for enc/unicode/casefold.h</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Fixed file encoding for CaseFolding.txt</div><div class='del'>-	  to ASCII-8BIT (should fix some ci errors). Clarified usage. Created</div><div class='del'>-	  class MapItem. Partially implemented class CaseMapping.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Feb  7 14:12:32 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Fixing parameter passing.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Feb  7 11:44:03 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: New classes CaseMapping/CaseMappingDummy</div><div class='del'>-	  to pass as parameters; not yet implemented or used.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Feb  7 11:16:00 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: using new option in recipe for enc/unicode/casefold.h</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Correctly specify argument to new option.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Feb  7 10:43:27 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	(this commit message applies to the previous commit)</div><div class='del'>-	* common.mk: explicit recipe for enc/unicode/casefold.h</div><div class='del'>-</div><div class='del'>-	* enc/unicode/case-folding.rb: Adding -m option to prepare for using</div><div class='del'>-	  multiple data files.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sat Feb  6 22:30:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi/util.rb (escapeHTML, unescapeHTML): consider</div><div class='del'>-	  ASCII-incompatible encodings.  [Fix GH-1239]</div><div class='del'>-</div><div class='del'>-Sat Feb  6 15:18:28 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_regex_casefold.rb: Added data-based testing for</div><div class='del'>-	  String#downcase :fold.</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Fixed a range error (lowest non-ASCII character affected</div><div class='del'>-	  by case operations is U+00B5, MICRO SIGN)</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Explicit test for case folding of</div><div class='del'>-	  MICRO SIGN to Greek mu.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sat Feb  6 14:51:23 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_regex_casefold.rb: Tests for three case folding</div><div class='del'>-	  primitives (mbc_case_fold, get_case_fold_codes_by_str,</div><div class='del'>-	  apply_all_case_fold) in the various encodings. Currently only known</div><div class='del'>-	  good encodings are tested to avoid test failures. For bug hunting,</div><div class='del'>-	  start by adding more encodings with</div><div class='del'>-	  generate_test_casefold encoding</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sat Feb  6 14:37:16 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c, test/ruby/enc/test_case_mapping.rb: Implemented :fold</div><div class='del'>-	  option for String#downcase by using case folding data from</div><div class='del'>-	  regular expression engine, and added a few simple tests.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Feb  5 20:08:59 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: added tests for :ascii option.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Feb  5 12:22:20 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_mult): Use int128_t for overflow detection.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_uint128t2big): added for opt_mult.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_uint128t2big): added for rb_uint128t2big..</div><div class='del'>-</div><div class='del'>-	* configure.in: define int128_t, uint128_t and related MACROs.</div><div class='del'>-	  Initially introduced by r41379 but reverted by r50749.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 21:05:17 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Activated :ascii flag for ASCII-only case conversion</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Thu Feb  4 17:38:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_set_source): make source string frozen without</div><div class='del'>-	  copying.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize_m): refactor initialization with</div><div class='del'>-	  encoding.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 15:35:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to</div><div class='del'>-	  make fstring with encoding.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 14:42:29 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Added Unicode data file SpecialCasing.txt to be additionally</div><div class='del'>-	  downloaded (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Thu Feb  4 12:39:08 2016  joker1007  &lt;kakyoin.hierophant@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* cgi/escape/escape.c: Optimize CGI.escape performance by C ext</div><div class='del'>-	  for ASCII-compatible encodings.  [Fix GH-1238]</div><div class='del'>-</div><div class='del'>-Thu Feb  4 11:53:56 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Introduce two variables (UNICODE_DATA_DIR and</div><div class='del'>-	  UNICODE_SRC_DATA_DIR) to eliminate repetitions.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 12:13:20 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_new_frozen): if the given string is embeddedable</div><div class='del'>-	  but not embedded, embed a new copied string. [Bug #11946]</div><div class='del'>-</div><div class='del'>-Wed Feb  3 08:25:38 2016  boshan  &lt;boshan@subsplash.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo</div><div class='del'>-	  "encrypted" to "decrypted".  [Fix GH-1235]</div><div class='del'>-</div><div class='del'>-Wed Feb  3 08:21:32 2016  Seiei Miyagi  &lt;hanachin@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix</div><div class='del'>-	  Ripper.lex error in dedenting squiggly heredoc.  heredoc tree is</div><div class='del'>-	  also an array of Elem in the outer tree.  [Fix GH-1234]</div><div class='del'>-</div><div class='del'>-Wed Feb  3 02:33:39 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexp</div><div class='del'>-	  if given string is ASCII only.</div><div class='del'>-	  121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661</div><div class='del'>-</div><div class='del'>-Tue Feb  2 13:02:03 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c: Introduce RREGEXP_PTR.</div><div class='del'>-	  patch by dbussink.</div><div class='del'>-	  partially merge https://github.com/ruby/ruby/pull/497</div><div class='del'>-</div><div class='del'>-	* include/ruby/ruby.h: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/strscan/strscan.c: ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y: ditto.</div><div class='del'>-</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  2 09:08:27 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/specification.rb: `coding` is effective only first</div><div class='del'>-	  line except shebang.</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/package.rb, lib/rubygems/package/*: ditto.</div><div class='del'>-</div><div class='del'>-Mon Feb  1 21:41:58 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2.</div><div class='del'>-	  It supports to enable frozen string literal and add `--norc` option for</div><div class='del'>-	  disable to `.gemrc` configuration.</div><div class='del'>-	  See 2.5.2 release notes for other fixes and enhancements.</div><div class='del'>-	  https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3</div><div class='del'>-</div><div class='del'>-Sun Jan 31 12:33:13 2016  Dan Kreiger  &lt;dan@dankreiger.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/drb/ut_large.rb (multiply, avg, median): add additional</div><div class='del'>-	  math operations to DRbLarge.  [Fix GH-1086]</div><div class='del'>-</div><div class='del'>-Sun Jan 31 12:19:15 2016  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test</div><div class='del'>-	  for File#lstat.  [Fix GH-1231]</div><div class='del'>-</div><div class='del'>-Sun Jan 31 12:15:33 2016  Prayag Verma  &lt;prayag.verma@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/standard_library.rdoc: fix typo  [Fix GH-1230]</div><div class='del'>-	  Spelling mistakes -</div><div class='del'>-	  outputing &gt; outputting</div><div class='del'>-	  publich &gt; publish</div><div class='del'>-</div><div class='del'>-Sat Jan 30 15:18:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_eval.c (rb_check_funcall_with_hook): also should call the</div><div class='del'>-	  given hook before returning Qundef when overridden respond_to?</div><div class='del'>-	  method returned false.  [ruby-core:73556] [Bug #12030]</div><div class='del'>-</div><div class='del'>-Fri Jan 29 17:40:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_readlink): drop garbage after the substitute</div><div class='del'>-	  name, as rb_w32_read_reparse_point returns the expected buffer</div><div class='del'>-	  size but "\??\" prefix is dropped from the result.</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (w32_readlink): ditto, including NUL-terminator.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 17:07:27 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume</div><div class='del'>-	  mount point should be treated as directory, not symlink.</div><div class='del'>-	  [ruby-core:72483] [Bug #11874]</div><div class='del'>-</div><div class='del'>-	* win32/win32.c (rb_w32_read_reparse_point): check the reparse point is</div><div class='del'>-	  a volume mount point or not.</div><div class='del'>-</div><div class='del'>-	* win32/file.c (rb_readlink): follow above change (but this pass won't</div><div class='del'>-	  be used).</div><div class='del'>-</div><div class='del'>-Fri Jan 29 16:17:07 2016  Lucas Buchala  &lt;lucasbuchala@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_take_while, enum_drop_while): rename block</div><div class='del'>-	  parameter to obj, since they are generic objects.  [Fix GH-1226]</div><div class='del'>-</div><div class='del'>-Fri Jan 29 14:15:26 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB::Compiler#detect_magic_comment): allow</div><div class='del'>-	  frozen-string-literal in comment as well as encoding.</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#def_method): insert def line just before the</div><div class='del'>-	  first non-comment and non-empty line, not to leave duplicated</div><div class='del'>-	  and stale magic comments.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 11:13:33 2016  Jeremy Evans  &lt;code@jeremyevans.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb (ERB#set_eoutvar): explicitly make mutable string as</div><div class='del'>-	  a buffer to make ERB work with --enable-frozen-string-literal.</div><div class='del'>-	  [ruby-core:73561] [Bug #12031]</div><div class='del'>-</div><div class='del'>-Fri Jan 29 10:44:56 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/header.rb: Warn nil variable on HTTP Header.</div><div class='del'>-	  It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz</div><div class='del'>-	* test/net/http/test_httpheader.rb: Added test for nil HTTP Header.</div><div class='del'>-</div><div class='del'>-Thu Jan 28 17:31:43 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_gethostname): support unlimited size</div><div class='del'>-	  hostname.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 21:03:45 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/-ext-/string/test_capacity.rb: Added missing library.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 18:53:40 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Fixed bit mask in macro OnigCodePointCount</div><div class='del'>-</div><div class='del'>-Wed Jan 27 17:54:42 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Protect code point count by macro, in order to</div><div class='del'>-	  be able to use the remaining bits for flags.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Wed Jan 27 16:34:35 2016  boshan  &lt;boshan@subsplash.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter</div><div class='del'>-	  `basename` is optional and defaulted to an empty string since</div><div class='del'>-	  [GH-523].  [Fix GH-1225]</div><div class='del'>-</div><div class='del'>-Wed Jan 27 16:25:54 2016  Koichi ITO  &lt;koic.ito@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dig): [DOC] fix the exception class to be raised</div><div class='del'>-	  when intermediate object does not have dig method.  TypeError</div><div class='del'>-	  will be raised now.  [Fix GH-1224]</div><div class='del'>-</div><div class='del'>-Tue Jan 26 19:36:15 2016  Aggelos Avgerinos  &lt;evaggelos.avgerinos@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (permute0, rpermute0): [DOC] Substitute indexes -&gt;</div><div class='del'>-	  indices in documentation for consistency.  [Fix GH-1222]</div><div class='del'>-</div><div class='del'>-Tue Jan 26 15:21:37 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (caller_location): use rb_fstring_cstr for "&lt;compiled&gt;"</div><div class='del'>-	  (it is converted to fstring anyways inside rb_iseq_new_with_opt)</div><div class='del'>-	* iseq.c (iseqw_s_compile): ditto</div><div class='del'>-	* iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "&lt;main&gt;"</div><div class='del'>-	* vm.c (Init_VM): ditto, share with with above</div><div class='del'>-	* iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t-&gt;pathv</div><div class='del'>-	  share "&lt;main&gt;" with above</div><div class='del'>-	* vm.c (rb_binding_add_dynavars): fstring "&lt;temp&gt;" immediately</div><div class='del'>-</div><div class='del'>-Tue Jan 26 15:14:01 2016  Kazuki Yamaguchi  &lt;k@rhe.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_peephole_optimize): don't apply tailcall</div><div class='del'>-	  optimization to send/invokesuper instructions with blockiseq.</div><div class='del'>-	  This is a follow-up to the changes in r51903; blockiseq is now</div><div class='del'>-	  the third operand of send/invokesuper instructions.</div><div class='del'>-	  [ruby-core:73413] [Bug #12018]</div><div class='del'>-</div><div class='del'>-Tue Jan 26 14:26:46 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (sig_list): use fstring for hash key</div><div class='del'>-	* test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added</div><div class='del'>-</div><div class='del'>-Tue Jan 26 13:08:34 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (rb_f_kill): should immediately deliver reserved</div><div class='del'>-	  signals SIGILL and SIGFPE, not only SIGSEGV and SIGBUS.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 07:57:28 2016  Joseph Tibbertsma  &lt;josephtibbertsma@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name.</div><div class='del'>-	  [Fix GH-1221]</div><div class='del'>-</div><div class='del'>-Mon Jan 25 17:26:54 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name</div><div class='del'>-	* vm_core.h: include ruby_assert.h before using</div><div class='del'>-	  [ruby-core:73371]</div><div class='del'>-</div><div class='del'>-Mon Jan 25 15:55:30 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.c (sym_check_asciionly): more informative error message</div><div class='del'>-	  with the encoding name and the inspected content.</div><div class='del'>-	  [ruby-core:73398] [Feature #12016]</div><div class='del'>-</div><div class='del'>-Mon Jan 25 09:38:26 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: added testcase for next!, succ and succ!</div><div class='del'>-	  [fix GH-1213] Patch by @K0mAtoru</div><div class='del'>-</div><div class='del'>-Mon Jan 25 09:32:25 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace.</div><div class='del'>-	  [fix GH-1219][ci skip] Patch by @leafac</div><div class='del'>-</div><div class='del'>-Sun Jan 24 19:34:23 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_insnhelper.c (vm_check_if_namespace): tiny size reduction</div><div class='del'>-</div><div class='del'>-Sun Jan 24 18:12:36 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Simplifying Unicode data file download logic to make</div><div class='del'>-	  it more reliable (including additional fix not in r53633) [Bug #12007]</div><div class='del'>-</div><div class='del'>-Sun Jan 24 16:54:11 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to</div><div class='del'>-	  wait for multiple modes, readable and writable, at once.  the</div><div class='del'>-	  arguments may change in the future.  [Feature #12013]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 22:30:59 2016  K0mA  &lt;mctj1218@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb (test_keep_if): Add test for</div><div class='del'>-	  Array#keep_if separate from Array#select!  [Fix GH-1218]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 20:54:26 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: revert r53633. It broke rubyci and travis.</div><div class='del'>-	  https://travis-ci.org/ruby/ruby/builds/104259623</div><div class='del'>-</div><div class='del'>-Sat Jan 23 20:10:29 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_eqq): revert r51585 because rb_call_super() is</div><div class='del'>-	  called in range_include() and thus r51585 doesn't work when the</div><div class='del'>-	  receiver Range object consists of non linear objects such as Date</div><div class='del'>-	  objects.</div><div class='del'>-	  [ruby-core:72908] [Bug #12003]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 18:37:37 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: Fixing wrong time on previous commit, and adding</div><div class='del'>-	  previous commit message to svn [ci skip]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 18:30:30 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Simplifying Unicode data file download logic to make</div><div class='del'>-	  it more reliable [Bug #12007]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 16:29:42 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* tool/downloader.rb: Fixed a logical error, improved documentation</div><div class='del'>-</div><div class='del'>-Sat Jan 23 11:42:43 2016  Peter Suschlik  &lt;ps@neopoly.de&gt;</div><div class='del'>-</div><div class='del'>-	* README.md: Use SVG Travis badge over PNG for better quality and</div><div class='del'>-	  device support.  [Fix GH-1214] [Fix GH-1216]</div><div class='del'>-</div><div class='del'>-Sat Jan 23 11:29:16 2016  Pascal Betz  &lt;pascal.betz@simplificator.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb: Update documentation of CSV header converter for</div><div class='del'>-	  r45498, [GH-575].  [Fix GH-1215]</div><div class='del'>-</div><div class='del'>-Fri Jan 22 17:36:46 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_assert_failure): assertion with stack dump.</div><div class='del'>-</div><div class='del'>-	* ruby_assert.h (RUBY_ASSERT): new header for the assertion.</div><div class='del'>-</div><div class='del'>-Fri Jan 22 00:25:57 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_name_with_level): allow non word characters</div><div class='del'>-	  at the first character.  [Feature #11949]</div><div class='del'>-</div><div class='del'>-	* regparse.c (fetch_name): ditto.</div><div class='del'>-</div><div class='del'>-Thu Jan 21 17:34:01 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object0): honor Marshal.load post proc</div><div class='del'>-	  value for TYPE_LINK.  by Hiroshi Nakamura &lt;nahi@ruby-lang.org&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/1204 fix GH-1204</div><div class='del'>-</div><div class='del'>-Thu Jan 21 16:37:50 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (update-rubyspec): fix r53208 like r53451.</div><div class='del'>-</div><div class='del'>-Wed Jan 20 20:58:25 2016  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in: update-config_files is only for Unix</div><div class='del'>-	  platforms.</div><div class='del'>-</div><div class='del'>-Wed Jan 20 17:13:39 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/extlibs.rb: add --cache option to change cache directory.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 17:03:40 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: Added Unicode data file CaseFolding.txt to be additionally</div><div class='del'>-	  downloaded (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Tue Jan 19 10:09:58 2016  Sho Hashimoto  &lt;sho-h@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/shell.rb (Shell.debug_output_exclusive_unlock): remove</div><div class='del'>-	  because Mutex#exclusive_unlock was already deleted. [fix GH-1185]</div><div class='del'>-</div><div class='del'>-Tue Jan 19 09:38:27 2016  Nick Cox  &lt;nick@nickcox.me&gt;</div><div class='del'>-</div><div class='del'>-	* vm_method.c: fix grammar in respond_to? warning.</div><div class='del'>-	  [fix GH-1047]</div><div class='del'>-</div><div class='del'>-Mon Jan 18 14:37:07 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): an escaped newline is not an</div><div class='del'>-	  actual newline, and the rest part should not be dedented.</div><div class='del'>-	  [ruby-core:72855] [Bug #11989]</div><div class='del'>-</div><div class='del'>-Mon Jan 18 12:04:34 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: Added extra testcase for test_rstrip_bang</div><div class='del'>-	  and test_lstrip_bang. [fix GH-1178] Patch by @Matrixbirds</div><div class='del'>-</div><div class='del'>-Mon Jan 18 11:47:27 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: fix a typo. [fix GH-1202][ci skip] Patch by @sunboshan</div><div class='del'>-</div><div class='del'>-Sun Jan 17 21:15:30 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: improve ICC (Intel C Compiler) support.</div><div class='del'>-</div><div class='del'>-	* configure.in (CXX): The name of icc's c++ compiler is `icpc`.</div><div class='del'>-</div><div class='del'>-	* configure.in (warnings): Add `-diag-disable=2259` to suppress</div><div class='del'>-	  noisy warnings: "non-pointer conversion from "..." to "..." may</div><div class='del'>-	  lose significant bits".</div><div class='del'>-</div><div class='del'>-	* configure.in (optflags): Add `-fp-model precise` like -fno-fast-math.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: icc supports -Werror=division-by-zero</div><div class='del'>-	  and -Werror=deprecated-declarations, but doesn't support</div><div class='del'>-	  -Wdivision-by-zero and -Wdeprecated-declarations.</div><div class='del'>-</div><div class='del'>-Sun Jan 17 20:40:10 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Any kind of option is now taking the new code path for</div><div class='del'>-	  upcase/downcase/capitalize/swapcase. :lithuanian can be used for</div><div class='del'>-	  testing if no specific option is desired.</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Adjusted to above.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Jan 17 20:10:10 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Fixed a logical error and some comments.</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Made tests more general.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Jan 17 17:41:41 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Removed artificial expansion for Turkic,</div><div class='del'>-	  added hand-coded support for Turkic, fixed logic for swapcase.</div><div class='del'>-	* string.c: Made use of new case mapping code possible from upcase,</div><div class='del'>-	  capitalize, and swapcase (with :lithuanian as a guard).</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Adjusted for above.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sun Jan 17 15:30:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_bool): relax boolean size to be one</div><div class='del'>-	  too not only sizeof(int).  Winsock getsockopt() returns a single</div><div class='del'>-	  byte as a boolean socket option.  [ruby-core:72730] [Bug #11958]</div><div class='del'>-</div><div class='del'>-Sun Jan 17 14:43:01 2016  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: [Fix GH-1201]</div><div class='del'>-	  * Extract test code for ENV#keep_if from ENV#select_bang</div><div class='del'>-	  * Add a test case for ENV#select_bang,keep_if</div><div class='del'>-</div><div class='del'>-Sun Jan 17 14:42:25 2016  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: [Fix GH-1201]</div><div class='del'>-	  * Extract test code for ENV#delete_if from ENV#reject_bang</div><div class='del'>-	  * Add a test case for ENV#reject_bang,delete_if</div><div class='del'>-</div><div class='del'>-Sun Jan 17 14:40:22 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (check_size): extract a macro to check</div><div class='del'>-	  binary data size, with a consistent message.</div><div class='del'>-</div><div class='del'>-	* ext/socket/option.c (sockopt_byte): fix error message,</div><div class='del'>-	  sizeof(int) differs from sizeof(unsigned char) in general.</div><div class='del'>-</div><div class='del'>-Sat Jan 16 21:16:21 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (xstring): reset heredoc indent after dedenting,</div><div class='del'>-	  so that following string literal would not be dedented.</div><div class='del'>-	  [ruby-core:72857] [Bug #11990]</div><div class='del'>-</div><div class='del'>-Sat Jan 16 17:24:24 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: Artificial mapping to test buffer expansion code.</div><div class='del'>-	* string.c: Fixed buffer expansion logic.</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Tests for above.</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Sat Jan 16 16:47:14 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter.</div><div class='del'>-	* test/openssl/test_pkey_dh.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 16 10:51:19 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/unicode.c: fix implicit conversion error with clang. fixup r53548.</div><div class='del'>-	* string.c: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan 16 10:31:00 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: test-sample was changed to test-basic.</div><div class='del'>-	  [Feature #11982][ruby-core:72823]</div><div class='del'>-	* basictest/runner.rb: ditto. rename from tool/rubytest.rb.</div><div class='del'>-	* basictest/test.rb: ditto. rename from sample/test.rb.</div><div class='del'>-	* defs/gmake.mk: picked from r53540</div><div class='del'>-	* sample/test.rb: backward compatibility for chkbuild.</div><div class='del'>-</div><div class='del'>-Sat Jan 16 10:23:23 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c, enc/unicode.c: New code path as a preparation for Unicode-wide</div><div class='del'>-	  case mapping. The code path is currently guarded by the :lithuanian</div><div class='del'>-	  option to avoid accidental problems in daily use.</div><div class='del'>-	* test/ruby/enc/test_case_mapping.rb: Test for above.</div><div class='del'>-	* string.c: function 'check_case_options': fixed logical errors</div><div class='del'>-	  (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Fri Jan 15 20:20:20 2016  Naohisa Goto  &lt;ngotogenome@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of</div><div class='del'>-	  UNALIGNED_WORD_ACCESS should be used to determine whether</div><div class='del'>-	  unaligned word access is allowed or not. After this commit,</div><div class='del'>-	  ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables</div><div class='del'>-	  unaligned word access even on platforms that support the feature.</div><div class='del'>-</div><div class='del'>-Fri Jan 15 16:12:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (string1): reset heredoc indent for each string literal</div><div class='del'>-	  so that concatenated string would not be dedented.</div><div class='del'>-	  [ruby-core:72857] [Bug #11990]</div><div class='del'>-</div><div class='del'>-Thu Jan 14 20:01:00 2016  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/uri/generic.rb (URI::Generic#to_s): change encoding to</div><div class='del'>-	  UTF-8 as Ruby 2.2/ by Koichi ITO &lt;koic.ito@gmail.com&gt;</div><div class='del'>-	  https://github.com/ruby/ruby/pull/1188 fix GH-1188</div><div class='del'>-</div><div class='del'>-Thu Jan 14 17:36:16 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_f_global_variables): add matched back references</div><div class='del'>-	  only, as well as defined? operator.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 16:12:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_str_format): format exact number more exactly.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 15:08:43 2016  Tony Arcieri  &lt;bascule@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* Remove 512-bit DH group. It's affected by LogJam Attack.</div><div class='del'>-	  https://weakdh.org/</div><div class='del'>-	  [fix GH-1196][Bug #11968][ruby-core:72766]</div><div class='del'>-</div><div class='del'>-Thu Jan 14 11:44:29 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_f_global_variables): add $1..$9 only if $~ is</div><div class='del'>-	  set.  fix the condition removed at r14014.</div><div class='del'>-</div><div class='del'>-Wed Jan 13 17:21:45 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: removed commented-out code.</div><div class='del'>-</div><div class='del'>-Wed Jan 13 17:14:54 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* .travis.yml: removed osx code. follow up with r53517</div><div class='del'>-</div><div class='del'>-Wed Jan 13 16:56:19 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically</div><div class='del'>-	  generated iseq by eval from GC.  [ruby-core:72620] [Bug #11928]</div><div class='del'>-</div><div class='del'>-Wed Jan 13 03:42:58 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP</div><div class='del'>-	* object.c (rb_mod_const_set): move name resolution to rb_const_set</div><div class='del'>-	* variable.c (rb_const_set): do class resolution here</div><div class='del'>-	  [ruby-core:72807] [Bug #11977]</div><div class='del'>-</div><div class='del'>-Wed Jan 13 00:37:12 2016  Satoshi Ohmori  &lt;sachin21dev@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* man/ruby.1: fix double word typo.  [Fix GH-1194]</div><div class='del'>-</div><div class='del'>-Tue Jan 12 21:01:09 2016  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk: update URL and name for the Ruby spec suite.</div><div class='del'>-</div><div class='del'>-Tue Jan 12 19:52:19 2016  sorah (Shota Fukumori)  &lt;her@sorah.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb: Convert given accessors to String.</div><div class='del'>-</div><div class='del'>-	  r53381 changed to accept only Symbol or String for accessors, but</div><div class='del'>-	  there are several rubygems that pass classes (e.g. Array,</div><div class='del'>-	  Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s</div><div class='del'>-	  returns its class name. After r53381 given accessors are checked</div><div class='del'>-	  with define_method, but it accepts only Symbol or String, otherwise</div><div class='del'>-	  raises TypeError.</div><div class='del'>-</div><div class='del'>-	      def_delegator Foo, :some_method</div><div class='del'>-</div><div class='del'>-	  This change is to revert unexpected incompatibility. But this behavior</div><div class='del'>-	  may change in the future.</div><div class='del'>-</div><div class='del'>-Mon Jan 12 18:41:41 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: made a variable name more grammatically correct</div><div class='del'>-</div><div class='del'>-Mon Jan 12 18:34:34 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: minor grammar fix [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Jan 12 16:09:09 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/enc/test_casing_options.rb: Tests for option</div><div class='del'>-	  parsing/checking for upcase/downcase/capitalize/swapcase</div><div class='del'>-	  (see r53503; with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Jan 12 16:03:03 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c: Added option parsing/checking for upcase/downcase/</div><div class='del'>-	  capitalize/swapcase (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Jan 11 21:28:28 2016  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/oniguruma.h: Added flags needed for upcase/downcase</div><div class='del'>-	  Unicode addition (with Kimihito Matsui)</div><div class='del'>-</div><div class='del'>-Mon Jan 11 09:50:24 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: check if the API version number is consistent with</div><div class='del'>-	  the program version number.</div><div class='del'>-</div><div class='del'>-Sun Jan 10 20:57:25 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (compile_massign_lhs): when index ends with splat,</div><div class='del'>-	  append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT</div><div class='del'>-	  splats the last argument only.  [ruby-core:72777] [Bug #11970]</div><div class='del'>-</div><div class='del'>-Sun Jan 10 15:45:10 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/missing.h (explicit_bzero_by_memset_s): remove</div><div class='del'>-	  inline implementation by memset_s, which needs a macro before</div><div class='del'>-	  including headers and can cause problems in extension libraries</div><div class='del'>-	  by the order of the macro and headers.</div><div class='del'>-</div><div class='del'>-Sun Jan 10 13:41:36 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_deferr): remove long obsolete global</div><div class='del'>-</div><div class='del'>-Sun Jan 10 09:14:42 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):</div><div class='del'>-	  eliminate chomp</div><div class='del'>-	* lib/net/http.rb (connect): eliminate delete</div><div class='del'>-	* lib/net/http/header.rb (basic_encode): ditto</div><div class='del'>-	* lib/net/imap.rb (authenticate): eliminate gsub</div><div class='del'>-	  (self.encode_utf7): shorten delete arg</div><div class='del'>-	* lib/net/smtp.rb (base64_encode): eliminate gsub</div><div class='del'>-	* lib/open-uri.rb (OpenURI.open_http): eliminate delete</div><div class='del'>-	* lib/rss/rss.rb: ditto</div><div class='del'>-	* lib/securerandom.rb (base64): ditto</div><div class='del'>-	  (urlsafe_base64): eliminate delete!</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb (split_param_value):</div><div class='del'>-	  eliminate chop</div><div class='del'>-	* lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete</div><div class='del'>-	  (setup_upstream_proxy_authentication): ditto</div><div class='del'>-	  [ruby-core:72666] [Feature #11938]</div><div class='del'>-</div><div class='del'>-Sat Jan  9 23:19:14 2016  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb (test_try_convert): Add test for</div><div class='del'>-	  Hash.try_convert.  [Fix GH-1190]</div><div class='del'>-</div><div class='del'>-Sat Jan  9 23:15:25 2016  Jon Moss  &lt;maclover7@users.noreply.github.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/openssl/ossl.c: Add missing variables to documentation</div><div class='del'>-	  examples.  [Fix GH-1189]</div><div class='del'>-</div><div class='del'>-Sat Jan  9 18:25:57 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* symbol.h (is_attrset_id): ASET is an attrset ID.  fix</div><div class='del'>-	  unexpected safe call instead of an ordinary ASET.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 10:44:33 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from</div><div class='del'>-	  RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in</div><div class='del'>-	  include/ruby/version.h, and cut it into version numbers.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 07:13:33 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used</div><div class='del'>-	  in Mac OS X.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 05:45:40 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3.</div><div class='del'>-</div><div class='del'>-Sat Jan  9 05:42:57 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename constant names HEAP_* to PAGE_*.</div><div class='del'>-</div><div class='del'>-	  Keys of GC::INTERNAL_CONSTANTS are also renamed.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: catch up this fix.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 22:30:06 2016  Akinori MUSHA  &lt;knu@iDaemons.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip]</div><div class='del'>-</div><div class='del'>-Fri Jan  8 19:49:27 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove heap_page::body. Instead of this field,</div><div class='del'>-	  heap_page::start field works well.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 19:31:52 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages.</div><div class='del'>-</div><div class='del'>-	  `page_length' is not clear (we may understand with length of</div><div class='del'>-	  a page).</div><div class='del'>-</div><div class='del'>-Fri Jan  8 17:07:14 2016  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c: remove heap_page::heap. This field is only used to recognize</div><div class='del'>-	  whether a page is in a tomb or not. Instead of this field,</div><div class='del'>-	  heap_page::flags::in_tomb (1 bit field) is added.</div><div class='del'>-</div><div class='del'>-	  Also type of heap_page::(total|free|final)_slots are changed from</div><div class='del'>-	  int to short. 2B is enough for them.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 09:33:59 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c (rb_iseq_compile_with_option): move variable initialization</div><div class='del'>-	  code to avoid maybe-uninitialized warnings by gcc 4.8.</div><div class='del'>-</div><div class='del'>-Fri Jan  8 00:03:22 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_min, enum_max): do the same optimization as r53454.</div><div class='del'>-</div><div class='del'>-Thu Jan  7 22:32:21 2016  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P</div><div class='del'>-	  and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++.</div><div class='del'>-	  [ruby-core:72736] [Bug #11962]</div><div class='del'>-</div><div class='del'>-Thu Jan  7 22:02:21 2016  Shugo Maeda  &lt;shugo@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_minmax): optimize object comparison in</div><div class='del'>-	  Enumerable#minmax.</div><div class='del'>-</div><div class='del'>-Thu Jan  7 14:49:12 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_pending_interrupt_p): no pending interrupt</div><div class='del'>-	  before initialization.</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_raise_m, rb_thread_kill): uninitialized thread</div><div class='del'>-	  cannot interrupt.  [ruby-core:72732] [Bug #11959]</div><div class='del'>-</div><div class='del'>-Thu Jan  7 11:34:14 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* include/ruby/backward.h (ruby_show_copyright_to_die): for source</div><div class='del'>-	  code backward compatibility.</div><div class='del'>-</div><div class='del'>-	* ruby.c (process_options): return Qtrue to exit the process</div><div class='del'>-	  successfully.</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_show_copyright): no longer exit.</div><div class='del'>-</div><div class='del'>-Wed Jan  6 17:22:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb (OptionParser#order!): add `into` optional</div><div class='del'>-	  keyword argument to store the results.  [Feature #11191]</div><div class='del'>-</div><div class='del'>-Tue Jan  5 21:44:37 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: fix wrong class name.</div><div class='del'>-</div><div class='del'>-Tue Jan  5 21:43:50 2016  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb(test_chr): added test for String#chr</div><div class='del'>-	  [fix GH-1179]</div><div class='del'>-</div><div class='del'>-Tue Jan  5 21:32:26 2016  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_numeric.rb (test_nonzero_p): added test for Numeric#nonzero?</div><div class='del'>-	  [fix GH-1187]</div><div class='del'>-</div><div class='del'>-Tue Jan  5 11:47:23 2016  Damir Gaynetdinov  &lt;damir.gaynetdinov@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/marshal.rdoc: Clarify object references example, that the</div><div class='del'>-	  reference is same object.  [Fix GH-1156]</div><div class='del'>-</div><div class='del'>-Tue Jan  5 05:06:51 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/stringio/stringio.c (strio_binmode): implement to set encoding</div><div class='del'>-	* test/stringio/test_stringio.rb (test_binmode): new test</div><div class='del'>-	  [ruby-core:72699] [Bug #11945]</div><div class='del'>-</div><div class='del'>-Mon Jan  4 15:44:37 2016  Sho Hashimoto  &lt;sho-h@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_deprecate_constant): [DOC] added</div><div class='del'>-	  documentation for Module#deprecate_constant. [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Jan  4 15:36:38 2016  Sho Hashimoto  &lt;sho-h@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c: [DOC] remove SizedQueue#close argument.</div><div class='del'>-	  [ci skip]</div><div class='del'>-</div><div class='del'>-Mon Jan  4 10:14:24 2016  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/coverage/test_coverage.rb: ignored test when enabled to coverage.</div><div class='del'>-	  It lead to crash with `make test-all`.</div><div class='del'>-</div><div class='del'>-Mon Jan  4 08:10:44 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_case_dispatch): Move a comment to the</div><div class='del'>-	  appropriate position.</div><div class='del'>-	  [ci skip]</div><div class='del'>-</div><div class='del'>-Sun Jan  3 23:55:13 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM):</div><div class='del'>-	  should check same name as the used constants.</div><div class='del'>-	  [ruby-core:72674] [Bug #11940]</div><div class='del'>-</div><div class='del'>-Sun Jan  3 19:22:01 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* aclocal.m4: add fallback file for non-aclocal environments.</div><div class='del'>-	  [ruby-core:72683] [Bug #11942]</div><div class='del'>-</div><div class='del'>-Sun Jan  3 13:56:49 2016  Yuichiro Kaneko  &lt;yui-knk@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval_error.c (rb_print_undef): Use `rb_method_visibility_t`</div><div class='del'>-	  instead of `int`.</div><div class='del'>-	* eval_intern.h (rb_print_undef): ditto</div><div class='del'>-	* proc.c (mnew_internal): ditto</div><div class='del'>-	* vm_method.c (rb_export_method): ditto</div><div class='del'>-	  [Misc #11649] [ruby-core:71311] [fix GH-1078]</div><div class='del'>-</div><div class='del'>-Sun Jan  3 12:12:09 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* acinclude.m4: rename aclocal.m4, which should be generated by</div><div class='del'>-	  aclocal.  [ruby-core:72675] [Bug #11941]</div><div class='del'>-</div><div class='del'>-Sat Jan  2 21:07:55 2016  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c (queue_do_pop): avoid cast with Qfalse</div><div class='del'>-	  (rb_szqueue_push): ditto, use queue_sleep wrapper</div><div class='del'>-</div><div class='del'>-Sat Jan  2 16:16:14 2016  Masatoshi SEKI  &lt;m_seki@mva.biglobe.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb: Allow ERB subclass to add token easily.</div><div class='del'>-	  [Feature #11936]</div><div class='del'>-</div><div class='del'>-	* test/erb/test_erb.rb: ditto.</div><div class='del'>-</div><div class='del'>-Sat Jan  2 14:44:31 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (regexp): set_yylval_num sets u1, should use nd_tag</div><div class='del'>-	  instead of nd_state.  [ruby-core:72638] [Bug #11932]</div><div class='del'>-</div><div class='del'>-Sat Jan  2 02:27:22 2016  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Fix case of frozen object with initializer.</div><div class='del'>-	  Bug revealed by RubySpec [ruby-core:72639]</div><div class='del'>-</div><div class='del'>-Fri Jan  1 22:01:52 2016  Kazuhiro NISHIYAMA  &lt;zn@mbf.nifty.com&gt;</div><div class='del'>-</div><div class='del'>-	* NEWS: mention CSV's liberal_parsing option.</div><div class='del'>-</div><div class='del'>-Fri Jan  1 19:38:23 2016  okkez  &lt;okkez000@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-2.3.0: fix double words typo.</div><div class='del'>-	  [ci skip][fix GH-1183]</div><div class='del'>-</div><div class='del'>-Fri Jan  1 15:28:56 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (remove_unreachable_chunk): decrease count of</div><div class='del'>-	  call_info in removed instructions.  fix up r53402.</div><div class='del'>-</div><div class='del'>-Fri Jan  1 12:05:53 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c (remove_unreachable_chunk): remove unreferred label</div><div class='del'>-	  to optimize away unreachable chunk.</div><div class='del'>-</div><div class='del'>-Fri Jan  1 11:42:57 2016  James Edward Gray II  &lt;james@graysoftinc.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb (CSV): Add a liberal_parsing option.</div><div class='del'>-	  Patch by Braden Anderson. [#11839]</div><div class='del'>-	* test/csv/test_features.rb:  test liberal_parsing</div><div class='del'>-</div><div class='del'>-Fri Jan  1 10:27:28 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir</div><div class='del'>-	  not includedir, the latter is outside the ruby installation.</div><div class='del'>-	  [ruby-core:72496] [Bug #11881]</div><div class='del'>-</div><div class='del'>-Fri Jan  1 08:53:02 2016  Yuki Kurihara  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lazy_enumerator.rb (test_take_bad_arg): Add test</div><div class='del'>-	  code in case of Enumerator::Lazy#take called with negative number.</div><div class='del'>-	  [ruby-dev:49467] [Bug #11933]</div><div class='del'>-</div><div class='del'>-Fri Jan  1 05:06:20 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parser_here_document): update indent for each line in</div><div class='del'>-	  indented here document with single-quotes.</div><div class='del'>-	  [ruby-core:72479] [Bug #11871]</div><div class='del'>-</div><div class='del'>-Fri Jan  1 03:26:44 2016  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (freeze): define deferred accessors before</div><div class='del'>-	  freezing to get rid of an error when just reading frozen</div><div class='del'>-	  OpenStruct.</div><div class='del'>-</div><div class='del'>-Thu Dec 31 14:36:45 2015  Marc-Andre Lafortune  &lt;ruby-core@marc-andre.ca&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb: Fix new_ostruct_member to correctly avoid</div><div class='del'>-	  redefinition [#11901]</div><div class='del'>-</div><div class='del'>-Thu Dec 31 02:45:12 2015  NARUSE, Yui  &lt;naruse@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb (test_classpath): r53376 may change</div><div class='del'>-	  the order of m.constants.</div><div class='del'>-	  `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all`</div><div class='del'>-	  may fail after that.</div><div class='del'>-	  http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz</div><div class='del'>-</div><div class='del'>-Thu Dec 31 02:20:00 2015  Benoit Daloze  &lt;eregontp@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk (help): Fix typo.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 20:53:09 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/net/http/responses.rb: Added new response class for 451 status code.</div><div class='del'>-	* lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons</div><div class='del'>-</div><div class='del'>-Wed Dec 30 20:45:45 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpstatus.rb: Added HTTP 451 Status Code.</div><div class='del'>-	  [fix GH-1167] Patch by @MuhammetDilmac</div><div class='del'>-	  https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00</div><div class='del'>-</div><div class='del'>-Wed Dec 30 20:25:52 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/syntax/calling_methods.rdoc: fix old operator for safe navigation</div><div class='del'>-	  operator. [ci skip][fix GH-1182] Patch by @dougo</div><div class='del'>-</div><div class='del'>-Wed Dec 30 16:43:23 2015  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (test_ord): Add test for String#ord.</div><div class='del'>-	  [Fix GH-1181]</div><div class='del'>-</div><div class='del'>-Wed Dec 30 11:28:57 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (def_instance_delegator): adjust backtrace of</div><div class='del'>-	  method body by tail call optimization.  adjusting the delegated</div><div class='del'>-	  target is still done by deleting backtrace.</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (def_single_delegator): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 11:18:42 2015  Elliot Winkler  &lt;elliot.winkler@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (def_instance_delegator) fix delegating to</div><div class='del'>-	  'args' and 'block', clashing with local variables in generated</div><div class='del'>-	  methods.  [ruby-core:72579] [Bug #11916]</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb (def_single_delegator): ditto.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 09:58:56 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_class_inherited_p): search the corresponding</div><div class='del'>-	  ancestor to prepended module from prepending class itself.</div><div class='del'>-	  [ruby-core:72493] [Bug #11878]</div><div class='del'>-</div><div class='del'>-Wed Dec 30 09:20:00 2015  Yuki Kurihara  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_io.rb (test_flag): add assertion for error when</div><div class='del'>-	  text and binary mode are mixed.</div><div class='del'>-	  [ruby-dev:49465] [Feature #11921]</div><div class='del'>-</div><div class='del'>-Wed Dec 30 08:43:59 2015  Yuki Kurihara  &lt;co000ri@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb (test_initialize): add test for</div><div class='del'>-	  StringIO#initialize.  [ruby-core:72585] [Feature #11920]</div><div class='del'>-</div><div class='del'>-Wed Dec 30 05:19:24 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (struct clone_const_arg): adjust for id_table</div><div class='del'>-	  (clone_const): ditto</div><div class='del'>-	  (clone_const_i): ditto</div><div class='del'>-	  (rb_mod_init_copy): ditto</div><div class='del'>-	  (rb_singleton_class_clone_and_attach): ditto</div><div class='del'>-	  (rb_include_class_new): ditto</div><div class='del'>-	  (include_modules_at): ditto</div><div class='del'>-	* constant.h (rb_free_const_table): ditto</div><div class='del'>-	* gc.c (free_const_entry_i): ditto</div><div class='del'>-	  (rb_free_const_table): ditto</div><div class='del'>-	  (obj_memsize_of): ditto</div><div class='del'>-	  (mark_const_entry_i): ditto</div><div class='del'>-	  (mark_const_tbl): ditto</div><div class='del'>-	* internal.h (struct rb_classext_struct): ditto</div><div class='del'>-	* object.c (rb_mod_const_set): resolve class name on assignment</div><div class='del'>-	* variable.c (const_update): replace with const_tbl_update</div><div class='del'>-	  (const_tbl_update): new function</div><div class='del'>-	  (fc_i): adjust for id_table</div><div class='del'>-	  (find_class_path): ditto</div><div class='del'>-	  (autoload_const_set): st_update =&gt; const_tbl_update</div><div class='del'>-	  (rb_const_remove): adjust for id_table</div><div class='del'>-	  (sv_i): ditto</div><div class='del'>-	  (rb_local_constants_i): ditto</div><div class='del'>-	  (rb_local_constants): ditto</div><div class='del'>-	  (rb_mod_const_at): ditto</div><div class='del'>-	  (rb_mod_const_set): ditto</div><div class='del'>-	  (rb_const_lookup): ditto</div><div class='del'>-	  [ruby-core:72112] [Feature #11614]</div><div class='del'>-</div><div class='del'>-Wed Dec 30 04:10:13 2015  CHIKANAGA Tomoyuki  &lt;nagachika@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (rb_thread_create_timer_thread): destroy attr even</div><div class='del'>-	  if pthread_create() failed.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 02:55:09 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.c (setup_communication_pipe): delay setting owner</div><div class='del'>-	  (rb_thread_create_timer_thread): until thread creation succeeds</div><div class='del'>-	  [ruby-core:72590] [Bug #11922]</div><div class='del'>-</div><div class='del'>-Tue Dec 29 19:12:46 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -W command line option should be able to</div><div class='del'>-	  override -w in RUBYOPT environment variable.</div><div class='del'>-</div><div class='del'>-Tue Dec 29 17:54:16 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ignored_block): warn if a block is given to `using`,</div><div class='del'>-	  which is probably for `Module.new`.</div><div class='del'>-</div><div class='del'>-Tue Dec 29 12:48:34 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb (OpenStruct): make respond_to? working on</div><div class='del'>-	  just-allocated objects for workaround of Psych.</div><div class='del'>-	  [ruby-core:72501] [Bug #11884]</div><div class='del'>-</div><div class='del'>-Tue Dec 29 10:35:00 2015  Kenta Murata  &lt;mrkn@mrkn.jp&gt;</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_have_func.rb (test_have_func):</div><div class='del'>-	  Add assertion to examine the existence of HAVE_RUBY_INIT.</div><div class='del'>-</div><div class='del'>-	* test/mkmf/test_have_func.rb (test_not_have_func):</div><div class='del'>-	  Add assertion to examine the absence of HAVE_RUBY_INIT.</div><div class='del'>-</div><div class='del'>-Tue Dec 29 06:50:42 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread_sync.c: static classes</div><div class='del'>-</div><div class='del'>-Tue Dec 29 05:30:30 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen</div><div class='del'>-	* test/resolv/test_dns.rb (test_ipv6_create): test for above</div><div class='del'>-	  [Bug #11910] [ruby-core:72559]</div><div class='del'>-</div><div class='del'>-Mon Dec 28 14:55:57 2015  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test</div><div class='del'>-	  for String#rstrip!.  [Fix GH-1176]</div><div class='del'>-</div><div class='del'>-Mon Dec 28 09:18:53 2015  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test</div><div class='del'>-	  for String#lstrip!.  [Fix GH-1176]</div><div class='del'>-</div><div class='del'>-Sun Dec 27 23:32:26 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_variant2val): refactoring.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 21:14:42 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_parent_start1): need to convert the encoding to</div><div class='del'>-	  ospath's one.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 20:54:22 2015  NAKAMURA Usaku  &lt;usa@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* process.c: use rb_w32_uchdir() instead of plain chdir() on Windows.</div><div class='del'>-	  reported by naruse via twitter.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_execarg_addopt): need to convert the encoding to</div><div class='del'>-	  ospath's one.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 20:00:31 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/x_emoji.h: fix dead-link.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 19:55:55 2015  SHIBATA Hiroshi  &lt;hsbt@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* doc/NEWS-2.3.0: fix a typo.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 18:08:15 2015  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix</div><div class='del'>-	  ruby-doc comments for String#rstrip! and lstrip!.  It looks like</div><div class='del'>-	  dropped bang.  [Fix GH-1175]</div><div class='del'>-</div><div class='del'>-Sun Dec 27 15:14:20 2015  Eric Wong  &lt;e@80x24.org&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_getpartial): remove unused kwarg from template</div><div class='del'>-	* test/ruby/test_io.rb (test_readpartial_bad_args): new</div><div class='del'>-	  [Bug #11885]</div><div class='del'>-</div><div class='del'>-Sun Dec 27 11:50:53 2015  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests</div><div class='del'>-	  for String#lstrip and rstrip.  The test cases are used from</div><div class='del'>-	  string.c ruby-doc comments.  [Fix GH-1174]</div><div class='del'>-</div><div class='del'>-Sun Dec 27 11:47:46 2015  Kuniaki IGARASHI  &lt;igaiga@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb (test_insert): Add test for</div><div class='del'>-	  String#insert.  The test cases are written in string.c</div><div class='del'>-	  comments as a reference.  [Fix GH-1173]</div><div class='del'>-</div><div class='del'>-Sun Dec 27 11:03:33 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (show_bitstack): trace stack_type value if yydebug.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 10:03:14 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* enc/depend (enc, trans): fix version dependency, shared object</div><div class='del'>-	  files depend on the RUBY_SO_NAME value for runtime link.</div><div class='del'>-</div><div class='del'>-Sun Dec 27 09:47:20 2015  Masaki Suketa &lt;masaki.suketa@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank</div><div class='del'>-	  string conversion.</div><div class='del'>-	  [Bug #11880]</div><div class='del'>-	  Thanks Akio Tajima for the patch!</div><div class='del'>-</div><div class='del'>-Sun Dec 27 09:34:53 2015  craft4coder  &lt;yooobuntu@163.com&gt;</div><div class='del'>-</div><div class='del'>-	* doc/extension.rdoc: [DOC] `nul` should be uppercase.</div><div class='del'>-	  change 'nul' =&gt; 'NUL'.  [Fix GH-1172]</div><div class='del'>-</div><div class='del'>-Sat Dec 26 18:29:01 2015  Kouhei Sutou  &lt;kou@cozmixng.org&gt;</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb: Support SSL options in async methods of</div><div class='del'>-	  XMLRPC::Client.</div><div class='del'>-	  [Bug #11489]</div><div class='del'>-	  Reported by Aleksandar Kostadinov. Thanks!!!</div><div class='del'>-</div><div class='del'>-Sat Dec 26 11:26:38 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* miniinit.c (Init_enc): add some common aliases of built-in</div><div class='del'>-	  encodings.  [ruby-core:72481] [Bug #11872]</div><div class='del'>-</div><div class='del'>-Fri Dec 25 22:43:26 2015  Nobuyoshi Nakada  &lt;nobu@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: extract RUBY_RELEASE_DAY at generating Makefile.</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR,</div><div class='del'>-	  RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY.</div><div class='del'>-</div><div class='del'>-Fri Dec 25 21:33:06 2015  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_VERSION): 2.4.0 development has started.</div><div class='del'>-</div><div class='del'>-Fri Dec 25 14:12:12 2015  Martin Duerst  &lt;duerst@it.aoyama.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* doc/ChangeLog-2.3.0, ext/tk/lib/tkextlib/SUPPORT_STATUS,</div><div class='del'>-	  include/ruby/version.h: minor grammar fixes [ci skip]</div><div class='del'>-</div><div class='del'>-Fri Dec 25 08:23:22 2015  Tadashi Saito  &lt;tad.a.digger@gmail.com&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, cont.c, doc, man: fix common misspelling.</div><div class='del'>-	  [ruby-core:72466] [Bug #11870]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-For the changes before 2.3.0, see doc/ChangeLog-2.3.0</div><div class='del'>-For the changes before 2.2.0, see doc/ChangeLog-2.2.0</div><div class='del'>-For the changes before 2.1.0, see doc/ChangeLog-2.1.0</div><div class='del'>-For the changes before 2.0.0, see doc/ChangeLog-2.0.0</div><div class='del'>-For the changes before 1.9.3, see doc/ChangeLog-1.9.3</div><div class='del'>-For the changes before 1.8.0, see doc/ChangeLog-1.8.0</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-coding: us-ascii</div><div class='del'>-add-log-time-format: (lambda (&amp;optional x y)</div><div class='del'>-  (let* ((time (or x (current-time)))</div><div class='del'>-	 (system-time-locale "C")</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-change-log-indent-text: 2</div><div class='del'>-end:</div><div class='del'>-vim: tabstop=8 shiftwidth=2</div><div class='head'>diff --git a/doc/ChangeLog-2016 b/doc/ChangeLog-2016<br/>deleted file mode 100644<br/>index c708428a93..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-2016?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-2016</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5 +0,0 @@</div><div class='del'>-------------------------------------------------------------------------</div><div class='del'>-r56645 | naruse | 2016-11-07 00:56:27 +0900 (Mon, 07 Nov 2016) | 1 line</div><div class='del'>-</div><div class='del'>-Obsolete ChangeLog [Feature #12283]</div><div class='del'>-------------------------------------------------------------------------</div><div class='head'>diff --git a/doc/ChangeLog-YARV b/doc/ChangeLog-YARV<br/>deleted file mode 100644<br/>index a8b999dff2..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/ChangeLog-YARV?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/ChangeLog-YARV</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,6917 +0,0 @@</div><div class='del'>-# $Id: ChangeLog 590 2006-12-31 09:02:34Z ko1 $</div><div class='del'>-#</div><div class='del'>-# YARV ChangeLog</div><div class='del'>-#  from Mon, 03 May 2004 01:24:19 +0900</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-Sun Dec 31 18:01:50 2006  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bin/* : ruby/trunk/bin 11437</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Sun Dec 31 17:42:05 2006  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : remove old Kernel#funcall definition</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-12-30(Sat) 07:59:26 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* catch up ruby/trunk 11437</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : reorder tag initialization</div><div class='del'>-</div><div class='del'>-	* eval.c : fix to support __send!, funcall and prohibit funcall as</div><div class='del'>-	send</div><div class='del'>-</div><div class='del'>-	* eval_error.h, eval_jump.h, eval_safe.h : fix prototypes</div><div class='del'>-</div><div class='del'>-	* eval_method.h, vm.c : check re-definition at rb_add_method()</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix typo</div><div class='del'>-</div><div class='del'>-	* compile.c : fix white spaces</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb : fix to support __send, ...</div><div class='del'>-</div><div class='del'>-	* lib/getoptlong.rb : fix to work on YARV</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb : use __send! instead of __send__</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : comment out codes which use |&amp;b| type block parameter</div><div class='del'>-</div><div class='del'>-	* ext/ripper/extconf.rb : turn off</div><div class='del'>-</div><div class='del'>-	* test/ripper/test_files.rb, test_parser_events.rb,</div><div class='del'>-	test_scanner_events.rb : fix to check it has ripper module</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : remove showing file path length limitation</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_eval.rb : use __send! instead of __send__</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-12-19(Tue) 11:46:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* doc/* : added</div><div class='del'>-</div><div class='del'>-	* ext/openssl : added</div><div class='del'>-</div><div class='del'>-	* ext/ripper : added</div><div class='del'>-</div><div class='del'>-	* test/openssl : added</div><div class='del'>-</div><div class='del'>-	* test/ripper : added</div><div class='del'>-</div><div class='del'>-	* misc : added</div><div class='del'>-</div><div class='del'>-	* rb/ -&gt; tool/ : renamed</div><div class='del'>-</div><div class='del'>-	* common.mk : fixed for above change</div><div class='del'>-</div><div class='del'>-	* ruby_doc/* : move to topdir</div><div class='del'>-</div><div class='del'>-	* sample/* : added</div><div class='del'>-</div><div class='del'>-	* test2.rb : removed</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-12-15(Fri) 09:42:46 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : remove obsolete codes</div><div class='del'>-</div><div class='del'>-	* insns.def : fix a comment of getconstant</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-12-13(Wed) 16:26:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, compile.c, compile.h, debug.c, debug.h,</div><div class='del'>-	insnhelper.h, insns.def, iseq.c, thread.c, thread_pthread.ci,</div><div class='del'>-	thread_pthread.h, thread_win32.ci, thread_win32.h, vm.c, vm.h,</div><div class='del'>-	vm_dump.c, vm_evalbody.ci,  vm_opts.h.base,  yarv.h,</div><div class='del'>-	yarv_version.h, yarvcore.c, yarvcore.h :</div><div class='del'>-	add a header includes copyright</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-12-12(Tue) 13:13:32 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : add PREFETCH() statement</div><div class='del'>-</div><div class='del'>-	* vm.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix LIKELY(x) and</div><div class='del'>-	remove main_thread_val field from yarv_vm_t</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : support fork</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* process.c : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb :</div><div class='del'>-</div><div class='del'>-	* thread_pthread.ci : rename timer thread functions</div><div class='del'>-</div><div class='del'>-	* thread_win32.ci : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-10(Fri) 21:29:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to compile arguments</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to duplicate first array value on concatarray</div><div class='del'>-	instruction</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add a test for above change</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : fix to catch up Ruby HEAD (fix to remove test about</div><div class='del'>-	module duplicate)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-10(Fri) 12:49:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix to inherit visibility on</div><div class='del'>-	NODE_SUPER method invocation</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-10(Fri) 09:13:46 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c : revert module duplicate inclusion</div><div class='del'>-</div><div class='del'>-	* parse.y : catch up current Ruby HEAD</div><div class='del'>-</div><div class='del'>-	* node.h : ditto</div><div class='del'>-</div><div class='del'>-	* compile.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* iseq.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : define Continuation (null class)</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : fix to output backtrae to stderr</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_block.rb : remove unsupported test</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test about super</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syntax.rb : add a test about case/when</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-09(Thu) 10:22:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* call_cfunc.h -&gt; call_cfunc.ci : renamed</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h, vm_evalbody.ci : ditto</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h, thread_pthread.ci : separate declaration and</div><div class='del'>-	implementation</div><div class='del'>-</div><div class='del'>-	* thread_win32.h, thread_win32.ci : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : use *.ci instead of *.c as implementation</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* common.mk : fix rules for above changes</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-08(Wed) 17:23:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : show C level backtrace (pointer only) with</div><div class='del'>-	backtrace() function (glibc feature)</div><div class='del'>-</div><div class='del'>-	* configure.in : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add NSDR method (show C level backtrace)</div><div class='del'>-</div><div class='del'>-	* error.c : fix indent</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-07(Tue) 13:17:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_set_errinfo) : added</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* version.h : fix version number</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb : fix to remove Thread.critical</div><div class='del'>-</div><div class='del'>-	* ext/dbm, dl, gdbm, iconv, io, pty, sdbm : added</div><div class='del'>-</div><div class='del'>-	* test/dbm, gdbm, io, logger, net, readline, sdbm, soap,</div><div class='del'>-	  webrick, win32ole, wsdl, xsd : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-06(Mon) 22:32:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c : import Ruby HEAD</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/date.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/set.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/soap/mapping/rubytypeFactory.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/soap/mimemessage.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/soap/property.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xsd/codegen/gensupport.rb : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* string.c : ditto</div><div class='del'>-</div><div class='del'>-	* version.h : ditto</div><div class='del'>-</div><div class='del'>-	* rb/ir.rb : fix to use "diffs" directory</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : add "const"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-06(Mon) 16:36:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : remove "static" from external global variables</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* array.c : fix indent</div><div class='del'>-</div><div class='del'>-	* insns.def : add a suitable cast</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : allow scalar value on splat arguments</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_block.rb : fix to synchronize Ruby HEAD</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : remove String#each for 1.9</div><div class='del'>-</div><div class='del'>-	* template/vm.inc.tmpl : ditto (remove String#each_with_index)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-06(Mon) 13:22:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* iseq.c : fixed GC debugging outputs</div><div class='del'>-</div><div class='del'>-	* rb/parse.rb : fixed output format</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-04(Sat) 09:46:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to duplicate "#{'foo'}" string</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c : import Ruby HEAD</div><div class='del'>-</div><div class='del'>-	* keywords : ditto</div><div class='del'>-</div><div class='del'>-	* lex.c : ditto</div><div class='del'>-</div><div class='del'>-	* parse.y : ditto</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb : fix to current specification</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-03(Fri) 20:58:36 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.h : missed to add</div><div class='del'>-</div><div class='del'>-	* configure.in : import ruby HEAD</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_clone.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/strscan/test_stringscanner.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/testunit/collector/test_dir.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-11-03(Fri) 20:22:24 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c : import current ruby HEAD and apply API changes</div><div class='del'>-	This version has some known bugs</div><div class='del'>-</div><div class='del'>-	* bignum.c : ditto</div><div class='del'>-</div><div class='del'>-	* blockinlining.c : ditto</div><div class='del'>-</div><div class='del'>-	* class.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.c : ditto</div><div class='del'>-</div><div class='del'>-	* dir.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.c : ditto</div><div class='del'>-</div><div class='del'>-	* enum.c : ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c : ditto</div><div class='del'>-</div><div class='del'>-	* error.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_error.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/*</div><div class='del'>-</div><div class='del'>-	* file.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* hash.c : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* instruby.rb : ditto</div><div class='del'>-</div><div class='del'>-	* intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* io.c : ditto</div><div class='del'>-</div><div class='del'>-	* iseq.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/*</div><div class='del'>-</div><div class='del'>-	* marshal.c : ditto</div><div class='del'>-</div><div class='del'>-	* math.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb : ditto</div><div class='del'>-</div><div class='del'>-	* node.h : ditto</div><div class='del'>-</div><div class='del'>-	* numeric.c : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* oniguruma.h : ditto</div><div class='del'>-</div><div class='del'>-	* pack.c : ditto</div><div class='del'>-</div><div class='del'>-	* parse.y : ditto</div><div class='del'>-</div><div class='del'>-	* prec.c : ditto</div><div class='del'>-</div><div class='del'>-	* process.c : ditto</div><div class='del'>-</div><div class='del'>-	* random.c : ditto</div><div class='del'>-</div><div class='del'>-	* range.c : ditto</div><div class='del'>-</div><div class='del'>-	* rb/ir.rb : ditto</div><div class='del'>-</div><div class='del'>-	* re.c : ditto</div><div class='del'>-</div><div class='del'>-	* regcomp.c : ditto</div><div class='del'>-</div><div class='del'>-	* regerror.c : ditto</div><div class='del'>-</div><div class='del'>-	* regexec.c : ditto</div><div class='del'>-</div><div class='del'>-	* regint.h : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.c : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.h : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubytest.rb : ditto</div><div class='del'>-</div><div class='del'>-	* runruby.rb : ditto</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* sprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.h : ditto</div><div class='del'>-</div><div class='del'>-	* string.c : ditto</div><div class='del'>-</div><div class='del'>-	* struct.c : ditto</div><div class='del'>-</div><div class='del'>-	* test/*</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* time.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.c : ditto</div><div class='del'>-</div><div class='del'>-	* variable.c : ditto</div><div class='del'>-</div><div class='del'>-	* version.h : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto</div><div class='del'>-</div><div class='del'>-	* win32/*</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-10-31(Tue) 22:47:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y : fix NEWHEAP bugs (import HEAD)</div><div class='del'>-</div><div class='del'>-	* ruby.c, intern.h, yarvcore.c (rb_load_file) : change to</div><div class='del'>-	return parsed node pointer</div><div class='del'>-</div><div class='del'>-	* rb/ir.rb : add check mode</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-09-01(Fri) 22:05:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix a bug of peephole optimization and enable</div><div class='del'>-	regexp optimization</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-21(Mon) 05:27:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb : remove "remove_method :gcd2"</div><div class='del'>-</div><div class='del'>-	* opt_insn_unif.def : unset opt setting</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-18(Fri) 17:55:31 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add dependency of yarvcore.h to thread.o</div><div class='del'>-</div><div class='del'>-	* gc.c : change comment line</div><div class='del'>-</div><div class='del'>-	* thread.c : remove some line break</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : reoder initialize sequence to mark main thread</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-18(Fri) 16:51:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add a support for cache values per thread</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : move a expression after acquiring lock</div><div class='del'>-</div><div class='del'>-	* compile.c : add a cast to remove warning</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-18(Fri) 02:07:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to return rhs value on ATTRASGIN</div><div class='del'>-</div><div class='del'>-	* insns.def (setn) : add insn setn</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-17(Thu) 22:46:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : clear callee_id ([yarv-dev:1073])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-17(Thu) 22:14:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : fix error message</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-17(Thu) 12:23:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : change initialize routine order ([yarv-dev:1067])</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (Init_yarv) : init th-&gt;machine_stack_start</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : add malloc value check ([yarv-dev:1066])</div><div class='del'>-</div><div class='del'>-	* insns.def (opt_eq) : fix typo ([yarv-dev:1072])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_opts.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for last commit</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-17(Thu) 11:02:16 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (clone_method) : check undef-ed method ([yarv-dev:1068])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-15(Tue) 15:07:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix opt_plus routine ([yarv-dev-en:149])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_opts.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-08-06(Sun) 06:24:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : fix build rule (build only ruby binary when benchmark)</div><div class='del'>-</div><div class='del'>-	* yarvcore.[ch] : fix and add yarv_iseq_new_with_* API</div><div class='del'>-</div><div class='del'>-	* blockinlining.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.h : ditto</div><div class='del'>-</div><div class='del'>-	* iseq.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_method.h : check redefinition for specialized instruction</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.h : ditto</div><div class='del'>-</div><div class='del'>-	* numeric.c : add Fixnum#succ</div><div class='del'>-</div><div class='del'>-	* thread.c : remove duplicated method Thread#current</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove duplicated method Proc#clone</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_opts.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-20(Thu) 04:10:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix [yarv-dev:1041] problem (raise TypeError)</div><div class='del'>-</div><div class='del'>-	* eval.c : rb_funcall2 send as NOEX_PRIVATE and check scope</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-20(Thu) 03:38:46 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix [yarv-dev:1040] bug</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-18(Tue) 18:45:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* some files : set property "svn:eol-style" as native</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-18(Tue) 18:35:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-        * gc.h : fix a static function name</div><div class='del'>-</div><div class='del'>-        * vm.c : remove Japanese comments</div><div class='del'>-</div><div class='del'>-        * yarvcore.c : add a comment</div><div class='del'>-</div><div class='del'>-	* some files : set property "svn:eol-style" as native</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-18(Tue) 16:48:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : remove unused code</div><div class='del'>-</div><div class='del'>-	* compile.c : add checking value</div><div class='del'>-</div><div class='del'>-	* iseq.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix yarv_th_eval prototype declaration</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : use compile instead of parse method</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-12(Wed) 15:18:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv_version.h : 0.4.1</div><div class='del'>-</div><div class='del'>-	* Changes : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-12(Wed) 13:38:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-        * eval.c : fix indent</div><div class='del'>-</div><div class='del'>-        * gc.h : fix syntax bug</div><div class='del'>-</div><div class='del'>-        * thread_pthread.h : vanish warnning message</div><div class='del'>-</div><div class='del'>-        * iseq.c : ditto</div><div class='del'>-</div><div class='del'>-        * compile.c : ditto</div><div class='del'>-</div><div class='del'>-        * thread.c : ditto</div><div class='del'>-</div><div class='del'>-        * vm.c : ditto</div><div class='del'>-</div><div class='del'>-        * yarvcore.c : prohibit tail call optimization to mark</div><div class='del'>-	iseq object</div><div class='del'>-</div><div class='del'>-        * yarvcore.h : add some allocator function declaration</div><div class='del'>-</div><div class='del'>-        * yarvtest/test_eval.rb : remove output</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-12(Wed) 05:01:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : undef alloc funcs</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto (use factory faction)</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* iseq.c : fix compile option creation</div><div class='del'>-</div><div class='del'>-	* rb/allload.rb : use compile_file method</div><div class='del'>-</div><div class='del'>-	* rb/compile.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rb/parse.rb : ditto</div><div class='del'>-</div><div class='del'>-	* template/insnstbl.html : hide mail addr</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-11(Tue) 21:34:29 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: new test test_JVN_13947696.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-11(Tue) 21:26:41 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: new test test_JVN_83768862.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-11(Tue) 11:33:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix compile error on C90</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-11(Tue) 10:40:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* disasm.c : removed</div><div class='del'>-</div><div class='del'>-	* iseq.c : added</div><div class='del'>-</div><div class='del'>-	* common.mk : ditto</div><div class='del'>-</div><div class='del'>-	* blockinlining.c : Get*Val =&gt; Get*Ptr</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.c : rename local variable insnobj =&gt; iobj</div><div class='del'>-</div><div class='del'>-	* compile.c : support yarv_compile_option_t</div><div class='del'>-</div><div class='del'>-	* gc.h : added</div><div class='del'>-</div><div class='del'>-	* insns.def : use OPT_CHECKED_RUN instead of IGNORE_OPTIMIZE</div><div class='del'>-</div><div class='del'>-	* rb/compile.rb : use compile option</div><div class='del'>-</div><div class='del'>-	* template/optinsn.inc.tmpl : fix function name</div><div class='del'>-</div><div class='del'>-	* vm_opts.h.base : change macros</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : ditto</div><div class='del'>-</div><div class='del'>-	* yarv.h : fix yarvcore_eval_parsed parameter type</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix some interfaces (functions)</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add a type yarv_compile_option_t</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-06(Thu) 13:45:20 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yasm.rb : pass builder object if block arity == 1</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-05(Wed) 11:23:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yasm.rb : fix method name</div><div class='del'>-</div><div class='del'>-	* vm.c (th_set_top_stack) : check toplevel or not</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-04(Tue) 20:05:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/compile.rb : added</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : disable load/store test</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-04(Tue) 18:17:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix some bugs about load iseq data</div><div class='del'>-</div><div class='del'>-	* disasm.c : ditto (store)</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_local_variables) : fix bugs</div><div class='del'>-</div><div class='del'>-	* insns.def : fix otp_ltlt condition bug</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : rename some functions</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : add iseq load/store tests</div><div class='del'>-	(to enable this, remove comment)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-07-03(Mon) 01:54:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : add parameter "th" to thread_set_raised</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_error.h : declare with ANSI style</div><div class='del'>-</div><div class='del'>-	* disasm.c : rename iseq_iseq2simpledata() to iseq_data_to_ary</div><div class='del'>-</div><div class='del'>-	* lib/yasm.rb : rename Instruction#to_simpledata to</div><div class='del'>-	Instruction#to_a</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : fix bug (Proc.new{|*args| p args}.call(1) #=&gt; 1)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_proc.rb : add a tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-06-21(Wed) 09:19:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : remove yarv_iseq_t#catch_table_ary and</div><div class='del'>-	add yarv_iseq_t#compile_data#catch_table_ary</div><div class='del'>-</div><div class='del'>-	* compile.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove unused code</div><div class='del'>-</div><div class='del'>-	* thread.c : add rb_gc_mark_threads() (from eval_thread.c)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-31(Wed) 21:26:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-        * parse.y : prohibit tail call optimization to mark vparsr</div><div class='del'>-	object</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-25(Thu) 15:37:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c : support NEW_ATTRASGN node</div><div class='del'>-</div><div class='del'>-	* class.c : skip undefined method to collect ([yarv-dev:999])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* compile.c : fix opt_regexpmatch1 condition</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb : fix [yarv-dev:1009]</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix typo</div><div class='del'>-</div><div class='del'>-	* thread.c : prohibit unlock by not mutex owner thread</div><div class='del'>-</div><div class='del'>-	* vm_opts.h.base : change default option</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-18(Thu) 16:00:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h : fix prototype declarations for last re.c change</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-18(Thu) 12:12:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/runruby.rb : added</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_alone) : check if vm-&gt;living_threads</div><div class='del'>-	is available</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-18(Thu) 12:05:35 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c : not mask SIGSEGV</div><div class='del'>-</div><div class='del'>-	* thread.c : fix debug output on Win32</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.h : add some debug prints</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : mark machine registers on thread_mark</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-17(Wed) 18:09:20 +900  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (sys_warning): should not call a vararg function</div><div class='del'>-	  rb_sys_warning() indirectly.  [ruby-core:07886]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-17(Wed) 16:41:41 +900  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): should not allow modifying literal</div><div class='del'>-	  regexps.  frozen check moved from rb_reg_initialize_m as well.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_initialize): should not modify untainted objects in</div><div class='del'>-	  safe levels higher than 3.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_memcmp): type change from char* to const void*.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_close): should not close untainted dir stream.</div><div class='del'>-</div><div class='del'>-	* dir.c (GetDIR): add tainted/frozen check for each dir operation.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-07(Sun) 21:06:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c : remove Mutex#unlock_and_stop and add Mutex#sleep</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb : ditto</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : fix stack size</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : fix sleep</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : disable to use get/setcontext</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb : add experimental implementation</div><div class='del'>-	using thraeds pool</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-05(Fri) 13:59:00 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb : disable a test</div><div class='del'>-</div><div class='del'>-	* thread.c : do trylock before lock on mutex_lock</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : use CriticalSection instead of Mutex</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-05(Fri) 03:03:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : vtune rule make run test.rb</div><div class='del'>-</div><div class='del'>-	* disasm.c : fix syntax errors (on VC)</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb : Mutex#synchronize is defined here</div><div class='del'>-</div><div class='del'>-	* lib/*.rb : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : separate pthread or not</div><div class='del'>-</div><div class='del'>-	* thread.c : support lightweight wakeup</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : ditto</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : restore last change</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-04(Thu) 18:11:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove rb_thread_interrupt</div><div class='del'>-</div><div class='del'>-	* intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : change signal transfer route</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : ditto</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarv.h : support GET_VM()</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : change yarv_thread_t/yarv_vm_t structure</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : decrease threads to test</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-05-04(Thu) 00:26:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : experimental support of thread cache</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-25(Tue) 22:30:14 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : remove struct yarv_cmethod_info, add</div><div class='del'>-	data structure for profiling and extend yarv_control_frame_t</div><div class='del'>-</div><div class='del'>-	* vm.c : make pop_frame() and apply above change</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def (leave): use pop_frame() instead of</div><div class='del'>-	POP_CONTROL_STACK_FRAME() macro</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : remove some macros</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : change th_set_top_stack() prototype</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-18(Tue) 18:37:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, disasm.c : support export/import exception</div><div class='del'>-	information</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : change "struct catch_table_entry" member variable</div><div class='del'>-	order</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-13(Thu) 17:11:30 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c : import ruby 1.9 HEAD (Ruby 1.9.0 2006-04-08)</div><div class='del'>-</div><div class='del'>-	* dir.c : ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/.document : ditto</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/nkf/test.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/socket/.cvsignore : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/sample/excel2.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEMETHOD.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEPARAM.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLETYPE.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLETYPELIB.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEVARIABLE.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testOLEVARIANT.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testall.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* instruby.rb : ditto</div><div class='del'>-</div><div class='del'>-	* io.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/find.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rational.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/parsers/parse_rb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ri/ri_paths.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/collector/objectspace.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb : ditto</div><div class='del'>-</div><div class='del'>-	* math.c : ditto</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* oniguruma.h : ditto</div><div class='del'>-</div><div class='del'>-	* pack.c : ditto</div><div class='del'>-</div><div class='del'>-	* parse.y : ditto</div><div class='del'>-</div><div class='del'>-	* re.c : ditto</div><div class='del'>-</div><div class='del'>-	* re.h : ditto</div><div class='del'>-</div><div class='del'>-	* regcomp.c : ditto</div><div class='del'>-</div><div class='del'>-	* regerror.c : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubytest.rb : ditto</div><div class='del'>-</div><div class='del'>-	* runruby.rb : ditto</div><div class='del'>-</div><div class='del'>-	* string.c : ditto</div><div class='del'>-</div><div class='del'>-	* test/digest/test_digest.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb : ditto</div><div class='del'>-</div><div class='del'>-	* time.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.c : ditto</div><div class='del'>-</div><div class='del'>-	* version.h : ditto</div><div class='del'>-</div><div class='del'>-	* win32/mkexports.rb : ditto</div><div class='del'>-</div><div class='del'>-	* win32/resource.rb : ditto</div><div class='del'>-</div><div class='del'>-	* win32/win32.c : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-11(Tue) 11:26:53 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/yasm.rb : move to lib/yasm.rb</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-09(Sun) 03:04:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : change to accept method iseq object when loading from</div><div class='del'>-	simple data</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add a debug output</div><div class='del'>-</div><div class='del'>-	* rb/yasm.rb : change some interfaces</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-07(Fri) 20:25:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix miss about range of catch "next"</div><div class='del'>-</div><div class='del'>-	* eval.c : add braces</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-04-07(Fri) 11:09:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : fix some make rules</div><div class='del'>-</div><div class='del'>-	* insns.def : rename some instructions name</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : change some operand type name</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : ditto</div><div class='del'>-</div><div class='del'>-	* template/insns.inc.tmpl : add YARV_MAX_INSTRUCTION_SIZE macro</div><div class='del'>-</div><div class='del'>-	* compile.c, disasm.c, yarvcore.c : support load/store iseq from/to simple</div><div class='del'>-	data structure such as array, literals, and so on</div><div class='del'>-</div><div class='del'>-	* rb/yasm.rb : supported</div><div class='del'>-</div><div class='del'>-	* vm.c : change interface of eval_define_method</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : remove unused externals</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-03-08(Wed) 10:31:29 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb (DelegateClass): do not delegate #send and</div><div class='del'>-	  #funcall.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-27(Mon) 22:39:17 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: last commit causes busy loop, revert it. [yarv-dev:990]</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: non_block=true wrongly caused ThreadError.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-27(Mon) 21:33:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : fix to display command line</div><div class='del'>-</div><div class='del'>-	* compile.c : fix comparison between a pointer and 0</div><div class='del'>-</div><div class='del'>-	* debug.c : fix to output stder</div><div class='del'>-</div><div class='del'>-	* disasm.c : add debug function</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : fix to skip class definition</div><div class='del'>-</div><div class='del'>-	* ruby.h : fix T_VALUE to T_VALUES</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* node.h : fix prototypes</div><div class='del'>-</div><div class='del'>-	* vm.c : add VM_DEBUG macro</div><div class='del'>-</div><div class='del'>-	* vm.c : fix compile error on VC++</div><div class='del'>-</div><div class='del'>-	* vm.c : fix to inherit last lfp[0] on th_set_finish_env</div><div class='del'>-</div><div class='del'>-	* vm.c : fix to add one svar location for any frame</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add YARV_CLASS_SPECIAL_P() and YARV_BLOCK_PTR_P()</div><div class='del'>-</div><div class='del'>-	* rdoc/ : removed</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to propagete throw state</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-27(Mon) 13:54:47 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/syslog: imported from Ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* ext/racc: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-27(Mon) 12:47:10 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: follow coding style change.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-27(Mon) 11:53:07 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/README: imported from Ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* lib/gserver.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/readbytes.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/parsearg.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/racc: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/rinda: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-27(Mon) 11:27:19 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Queue#pop): faster code. [yarv-dev:973]</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (Queue#pop): avoid to push same thread in to</div><div class='del'>-	  @waiting.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-23(Thu) 23:32:53 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/open3.rb: imported from Ruby CVS trunk HEAD (rev 1.12).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-23(Thu) 15:10:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : support rb_frame_self()</div><div class='del'>-</div><div class='del'>-	* eval_intern.h (th_get_ruby_level_cfp) : return 0 if no cfp</div><div class='del'>-</div><div class='del'>-	* eval_load.c : comment out scope set</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix to initialize/free process of iseq</div><div class='del'>-</div><div class='del'>-	* vm.c (th_invoke_proc) : fix to set special cref always</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_proc.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 23:33:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add rule "runruby"</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove obsolete comment</div><div class='del'>-</div><div class='del'>-	* eval.c : remove unused functions</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : add rb_register_mark_object() and use it</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : add rb_thread_run_parallel()</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : change bootstrap</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 19:27:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/.cvsignore : removed</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/.document : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 18:17:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : set Binding as YARVCore::VM::Binding</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 12:54:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog : remove needless line</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 12:49:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rubysig.h : remove CHECK_INTS</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* win32/win32.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarv_version.h : 0.4.0</div><div class='del'>-</div><div class='del'>-	* Changes : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 11:36:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test.rb : removed</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 11:12:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* README : renewed</div><div class='del'>-</div><div class='del'>-	* version.c : fixed version message</div><div class='del'>-</div><div class='del'>-	* yarvext/ : removed</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 10:33:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/.document : imported from Ruby 1.9 HEAD</div><div class='del'>-</div><div class='del'>-	* .document : ditto</div><div class='del'>-</div><div class='del'>-	* ext/.document : ditto</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rdoc/ : ditto</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove unused functions</div><div class='del'>-</div><div class='del'>-	* process.c : ditto</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : compare modified date of vm_opts.h and</div><div class='del'>-	vm_opts.h.base</div><div class='del'>-</div><div class='del'>-	* ruby.h : rename RValue to RValues</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 06:32:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in : remove last commit</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 06:18:53 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in : add default program prefix "-yarv"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 06:11:36 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : change default rule (same as HEAD)</div><div class='del'>-</div><div class='del'>-	* configure : removed</div><div class='del'>-</div><div class='del'>-	* eval.c : remove last commit</div><div class='del'>-</div><div class='del'>-	* vm.c : fix stack traverse</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : initialize top of control frame</div><div class='del'>-</div><div class='del'>-	* version.c : 2.0</div><div class='del'>-</div><div class='del'>-	* version.h : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 04:50:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : change to rewind C level control frame</div><div class='del'>-</div><div class='del'>-	* vm.c : change to initialize cfp#proc and fix comparison of</div><div class='del'>-	cfp and limit_cfp</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove last commit</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 03:25:56 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : initialize each stack of thread</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-22(Wed) 00:02:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c : fix synchornize return value ([yarv-dev:957])</div><div class='del'>-	and some synchornization error</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : add debug helper function</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-21(Tue) 20:54:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : fix place of rb_thread_terminate_all()</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove unused functions</div><div class='del'>-</div><div class='del'>-	* yarv.h : remove GET_VM()</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* vm_dump.c :</div><div class='del'>-</div><div class='del'>-	* intern.h : change rb_thread_signal_raise/exit interface</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb : use block with IO.popen</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : fix interrupt process</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix thread free process</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : remove yarv_vm_t#thread_critical, etc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-21(Tue) 12:42:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove unused function rb_thread_schedule()</div><div class='del'>-</div><div class='del'>-	* thread.c : rename yarv_thread_schedule to rb_thread_schedule()</div><div class='del'>-</div><div class='del'>-	* thread.c, eval.c : fix to terminate all thread and barrier at</div><div class='del'>-	eval.c#ruby_cleanup()</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : remove native_thread_cleanup()</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : separete assersions to tests</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-21(Tue) 02:13:33 +900  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arglist): should set command_start = Qtrue for</div><div class='del'>-	  command body.  [ruby-talk:180648]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 20:41:07 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c : fix to synchronize signal_thread_list access</div><div class='del'>-	and fix typo</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 17:54:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : remove unused Binding functions and</div><div class='del'>-	set is_lambda of Proc used define_method</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : support Proc#dup/clone, Binding#dup/clone</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : remove unsupport features (Proc as Binding)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 16:28:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add a dependency to vm.c on eval_intern.h</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : fix to initialize tag-&gt;tag</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_jump.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : use local variable</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 15:13:24 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm3_thread_create_join.rb : added</div><div class='del'>-</div><div class='del'>-	* test/yaml/test_yaml.rb : imported from Ruby CVS trunk HEAD</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 14:49:46 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/yaml.rb: imported from Ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* lib/yaml: ditto.</div><div class='del'>-</div><div class='del'>-	* ext/syck: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 13:58:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support block parameter which is NODE_ATTRASGN</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_block.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_DASGN_CURR level check</div><div class='del'>-</div><div class='del'>-	* compile.c : fix "||=" (at firtst, check "defined? val")</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_MATCH3 (permute receiver and argument)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* eval.c : add rb_each()</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb : increment a timeout value</div><div class='del'>-</div><div class='del'>-	* thread.c, yarvcore.h : fix "join" flow</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : ditto</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* vm.h, vm.c, vm_dump.c, insns.def : add FRAME_MAGIC_LAMBDA and</div><div class='del'>-	support return from lambda (especially retrun from method defined</div><div class='del'>-	by "define_method")</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove unused functions</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 11:22:31 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: now Object#funcall is defined.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 11:04:32 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/CVS: removed.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 10:55:59 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mutex_m.rb: imported from Ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* lib/observer.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/wsdl: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/monitor.rb: ditto (removing Thread.critical=).</div><div class='del'>-</div><div class='del'>-	* lib/xsd: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/soap: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/drb: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-20(Mon) 10:49:31 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (Init_yarvcore): fix typo (duo -&gt; dup).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-19(Sun) 01:27:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : "return" from lambda{} break block</div><div class='del'>-</div><div class='del'>-	* eval.c : Unsupport Proc as Binding</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb : apply above changes</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove unused function yarv_yield_values()</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-18(Sat) 03:19:36 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, insns.def : fix passing value when thread killed</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-19(Sun) 01:19:42 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb (SizedQueue): didn't work.  This patch was</div><div class='del'>-	  contributed by yukimizake. [yarv-dev:916]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-18(Sat) 03:19:36 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, insns.def : fix passing value when thread killed</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-18(Sat) 02:40:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c, vm_macro.def : change BMETHOD algorithm</div><div class='del'>-	([yarv-dev:914])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-17(Fri) 23:59:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, yarv.h : change th_invoke_proc() interface</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto and fix NODE_BMETHOD call</div><div class='del'>-</div><div class='del'>-	* vm.c : change name ("th_set_env()" to "push_frame()") and</div><div class='del'>-	change interface</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* eval.c : remove proc_jump_error()</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_answer.rb : added</div><div class='del'>-</div><div class='del'>-	* vm_opts.h.base : add optimize option</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-17(Fri) 13:37:57 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, ruby.h : add rb_errinfo()</div><div class='del'>-</div><div class='del'>-	* eval_error.h (error_pos) : fix process order</div><div class='del'>-</div><div class='del'>-	* bin/erb : imported from ruby 1.9</div><div class='del'>-</div><div class='del'>-	* bin/irb : ditto</div><div class='del'>-</div><div class='del'>-	* bin/rdoc : ditto</div><div class='del'>-</div><div class='del'>-	* bin/ri : ditto</div><div class='del'>-</div><div class='del'>-	* bin/testrb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/.cvsignore : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/depend : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/extconf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/hello.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/mouse.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/rain.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/view.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/curses/view2.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/.cvsignore : ditto</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/depend : ditto</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/extconf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/fcntl/fcntl.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/readline/README : ditto</div><div class='del'>-</div><div class='del'>-	* ext/readline/README.ja : ditto</div><div class='del'>-</div><div class='del'>-	* ext/readline/depend : ditto</div><div class='del'>-</div><div class='del'>-	* ext/readline/extconf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/.document : ditto</div><div class='del'>-</div><div class='del'>-	* ext/zlib/doc/zlib.rd : ditto</div><div class='del'>-</div><div class='del'>-	* ext/zlib/extconf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/zlib/zlib.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/cgi/.document : ditto</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/cgi/session/pstore.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/builtin-command.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/command-processor.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/error.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/filter.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/process-controller.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/system-command.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell/version.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/.document : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/README.rdoc : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/README.txt : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/base64.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/client.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/config.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/create.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/datetime.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/httpserver.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/marshal.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/parser.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/server.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/xmlrpc/utils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/README : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/code_objects.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/diagram.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/dot/dot.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/chm_generator.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/html_generator.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/ri_generator.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/chm/chm.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/html/hefss.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/html/html.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/html/kilmer.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/html/old_html.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/html/one_page_html.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/xml/rdf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/template/xml/xml.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/generators/xml_generator.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/sample/rdoc2latex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/sample/sample.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/fragments.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/inline.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/lines.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/preprocess.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/to_flow.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/to_html.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/simple_markup/to_latex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/test/AllTests.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/test/TestInline.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/markup/test/TestParse.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/options.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/parsers/parse_c.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/parsers/parse_f95.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/parsers/parse_rb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/parsers/parse_simple.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/parsers/parserfactory.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/rdoc.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_cache.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_descriptions.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_display.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_driver.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_formatter.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_options.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_paths.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_reader.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_util.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/ri/ri_writer.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/template.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/tokenstream.rb : ditto</div><div class='del'>-</div><div class='del'>-	* rdoc/usage.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/bug_bool.expected : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/bug_bool.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/bug_cdata.expected : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/bug_cdata.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/bug_covert.expected : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/bug_covert.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/datetime_iso8601.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/fault.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/value.expected : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/value.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/xml1.expected : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/data/xml1.xml : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_datetime.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_features.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_marshal.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_parser.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/test_webrick_server.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/xmlrpc/webrick_testing.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/zlib/test_zlib.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-17(Fri) 09:41:35 +900  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c (sleep_timeval): sleep should always sleep for</div><div class='del'>-	  specified amount of time.  [ruby-talk:180067]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-17(Fri) 02:20:32 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_safe.h, ruby.h : remove ruby_safe_level and add</div><div class='del'>-	rb_safe_level() and rb_set_safe_level_force()</div><div class='del'>-</div><div class='del'>-	* eval.c : use above functions</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_method.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* variable.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c (th_invoke_proc) : save and restore safe level</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_proc.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* thread.c : remove unused functions</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-17(Fri) 01:08:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : remove a setspecial second unused operand</div><div class='del'>-</div><div class='del'>-	* eval_load.c : remove unused variable th</div><div class='del'>-</div><div class='del'>-	* eval_proc.c, yarvcore.c : remove some functions from eval_proc.c</div><div class='del'>-	and move to yarvcore.c</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to delete warnings</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : comment out Proc#clone tests</div><div class='del'>-</div><div class='del'>-	* version.c : add constant RUBY_VM_DATE</div><div class='del'>-</div><div class='del'>-	* vm.c : fix some functions</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-16(Thu) 22:58:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : use th_yield_setup_args at yield and Proc#call</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-16(Thu) 19:51:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix analysis of block parameter</div><div class='del'>-</div><div class='del'>-	* disasm.c : remove rb_bug() (temporarily)</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : fix passing block parameter</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : add "Proc = YARVCore::VM::Proc"</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb : disable on mswin32</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : fix syntax error (for non GCC)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 22:34:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h : move rb_clear_cache_by_id position</div><div class='del'>-</div><div class='del'>-	* thread.c : fix Thread#kill</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb : enable tests except cygwin version</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb : ditto and enable timeout</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 22:13:29 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/runit: forgot to commit.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 22:12:25 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb: do not use Thread.critical=.</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/inlinetest.rb: forgot to commit.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 21:34:17 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_pp.rb: imported from Ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* test/test_shellwords.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_set.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_time.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_ipaddr.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_prettyprint.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/test_tsort.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/strscan: ditto.</div><div class='del'>-</div><div class='del'>-	* test/testunit: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 20:03:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h : duplicate NODE_METHOD at make an alias</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 19:48:59 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/rss: imported from Ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 19:47:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c, vm.c : remove methoddef, singletonmethoddef</div><div class='del'>-	instructions and make new insn definemethod</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : set toplevel visibility to private</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 17:39:16 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h :</div><div class='del'>-</div><div class='del'>-	* eval_jump.h, vm.c : localjump_error() and jump_tag_but_local_jump()</div><div class='del'>-	move to th_localjump_error and th_jump_tag_but_local_jump at vm.c</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c (th_make_jump_tag_but_local_jump) : added</div><div class='del'>-</div><div class='del'>-	* opt_insn_unif.def : fix indnet (revert change)</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : ditto</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix error message</div><div class='del'>-</div><div class='del'>-	* thread.c : raise exception at join if illegal local jump</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-15(Wed) 14:21:45 +900  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* ChangeLog: add local variables line to support Emacs.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_exec): add new method from 1.9.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_module_exec): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (yield_under_i): should not pass self as an argument to</div><div class='del'>-	  the block for instance_eval.  [ruby-core:07364]</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_eval): should be no singleton classes for</div><div class='del'>-	  true, false, and nil.  [ruby-dev:28186]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 19:30:20 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c : fix indent</div><div class='del'>-</div><div class='del'>-	* eval.c : fix block_given</div><div class='del'>-</div><div class='del'>-	* gc.c : add STACK_START and use it as a substitute for</div><div class='del'>-	rb_gc_stack_start</div><div class='del'>-</div><div class='del'>-	* vm.c : fix to raise error if th_yield doesn't have block given</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix to skip iseq mark array at ObjectSpace.each_object</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 18:15:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in : enable pthread by default</div><div class='del'>-</div><div class='del'>-	* ascii.c : import ruby 1.9 HEAD</div><div class='del'>-</div><div class='del'>-	* bignum.c : ditto</div><div class='del'>-</div><div class='del'>-	* compar.c : ditto</div><div class='del'>-</div><div class='del'>-	* configure : ditto</div><div class='del'>-</div><div class='del'>-	* defines.h : ditto</div><div class='del'>-</div><div class='del'>-	* dln.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.h : ditto</div><div class='del'>-</div><div class='del'>-	* enum.c : ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c : ditto</div><div class='del'>-</div><div class='del'>-	* euc_jp.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/tests/testWIN32OLE.rb : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c : ditto</div><div class='del'>-</div><div class='del'>-	* file.c : ditto</div><div class='del'>-</div><div class='del'>-	* hash.c : ditto</div><div class='del'>-</div><div class='del'>-	* io.c : ditto</div><div class='del'>-</div><div class='del'>-	* lex.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rexml/document.rb : ditto</div><div class='del'>-</div><div class='del'>-	* main.c : ditto</div><div class='del'>-</div><div class='del'>-	* marshal.c : ditto</div><div class='del'>-</div><div class='del'>-	* math.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing.h : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* oniguruma.h : ditto</div><div class='del'>-</div><div class='del'>-	* pack.c : ditto</div><div class='del'>-</div><div class='del'>-	* process.c : ditto</div><div class='del'>-</div><div class='del'>-	* random.c : ditto</div><div class='del'>-</div><div class='del'>-	* range.c : ditto</div><div class='del'>-</div><div class='del'>-	* rb/ir.rb : ditto</div><div class='del'>-</div><div class='del'>-	* re.c : ditto</div><div class='del'>-</div><div class='del'>-	* regcomp.c : ditto</div><div class='del'>-</div><div class='del'>-	* regenc.c : ditto</div><div class='del'>-</div><div class='del'>-	* regenc.h : ditto</div><div class='del'>-</div><div class='del'>-	* regerror.c : ditto</div><div class='del'>-</div><div class='del'>-	* regexec.c : ditto</div><div class='del'>-</div><div class='del'>-	* regint.h : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.c : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.h : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubyio.h : ditto</div><div class='del'>-</div><div class='del'>-	* sjis.c : ditto</div><div class='del'>-</div><div class='del'>-	* sprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.h : ditto</div><div class='del'>-</div><div class='del'>-	* struct.c : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb : ditto</div><div class='del'>-</div><div class='del'>-	* time.c : ditto</div><div class='del'>-</div><div class='del'>-	* utf8.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.h : ditto</div><div class='del'>-</div><div class='del'>-	* version.h : ditto</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub : ditto</div><div class='del'>-</div><div class='del'>-	* win32/win32.c : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 16:40:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, eval_proc.c : fix rb_proc_arity</div><div class='del'>-</div><div class='del'>-	* eval.c : declare funcall same as send (temporarily)</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb : added</div><div class='del'>-</div><div class='del'>-	* test/pathname/test_pathname.rb : imported from ruby 1.9</div><div class='del'>-</div><div class='del'>-	* test/scanf/data.txt : ditto</div><div class='del'>-</div><div class='del'>-	* test/scanf/test_scanf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/scanf/test_scanfblocks.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/scanf/test_scanfio.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/socket/test_socket.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/socket/test_tcp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/socket/test_udp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/socket/test_unix.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/stringio/test_stringio.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/uri/test_common.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/uri/test_ftp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/uri/test_generic.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/uri/test_http.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/uri/test_ldap.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/uri/test_mailto.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 15:59:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c : Change Thread.critical warnning message</div><div class='del'>-</div><div class='del'>-	* lib/webrick.rb : imported from ruby 1.9</div><div class='del'>-</div><div class='del'>-	* lib/webrick/accesslog.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cgi.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/compat.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/config.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/cookie.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/htmlutils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/authenticator.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/basicauth.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/digestauth.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/htdigest.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/htgroup.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/htpasswd.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpauth/userdb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpproxy.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httprequest.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpresponse.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/https.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpserver.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/abstract.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgi_runner.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/cgihandler.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/erbhandler.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/filehandler.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpservlet/prochandler.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpstatus.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httputils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/httpversion.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/log.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/server.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/ssl.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/utils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/webrick/version.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 14:55:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support "defined?($1)", ...</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syntax.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* rb/makedocs.rb : fix template directory path</div><div class='del'>-</div><div class='del'>-	* vm.c : fix to handle break from proc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 12:42:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : fix rb_iterate hook</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_block.rb : add a tests for above</div><div class='del'>-</div><div class='del'>-	* vm.c : remove unused comment</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 12:01:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : fix to check passed block at block_given_p</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : fix to pass block at Method#call</div><div class='del'>-</div><div class='del'>-	* runruby.rb : fix to apply ruby</div><div class='del'>-</div><div class='del'>-	* test/runner.rb : GC.stress (comment out)</div><div class='del'>-</div><div class='del'>-	* vm.c : fix indnet</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 08:04:33 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb: use Mutex instead of Thread.critical.</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb: |x,| -&gt; |x,_| to avoid YARV bug (tmp).</div><div class='del'>-</div><div class='del'>-	* lib/rexml: imported from ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* test/digest: ditto.</div><div class='del'>-</div><div class='del'>-	* test/fileutils: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ostruct: ditto.</div><div class='del'>-</div><div class='del'>-	* test/erb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/optparse: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb: turn off a test to avoid unknown error</div><div class='del'>-	  (tmp).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 07:52:03 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/digest: imported from ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-	* test/fileutils: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ostruct: ditto.</div><div class='del'>-</div><div class='del'>-	* test/erb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/optparse: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 06:26:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, parse.y : support BEGIN{} (remove local scope)</div><div class='del'>-</div><div class='del'>-	* test/ruby/beginmainend.rb : fix to apply YARV's specification</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb : enable BEGIN{} test</div><div class='del'>-</div><div class='del'>-	* signal.c : exit at double segv</div><div class='del'>-</div><div class='del'>-	* insns.def (preexe) : remove instruction "preexe"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 05:53:56 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_cleanup): th-&gt;errinfo contains a NODE while</div><div class='del'>-	  break'ing, check it before referring klass.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 05:45:07 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix stack calc of send</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : remove SEGV causing code</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 02:24:21 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: list order is not a matter.</div><div class='del'>-</div><div class='del'>-	* test/csv: imported from ruby CVS trunk HEAD.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 02:06:25 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: unlock tests.</div><div class='del'>-</div><div class='del'>-	* test/ruby/beginmainend.rb: new file (imported from ruby CVS</div><div class='del'>-	  trunk HEAD).</div><div class='del'>-</div><div class='del'>-	* test/ruby/endblockwarn.rb: new file (imported from ruby CVS</div><div class='del'>-	  trunk HEAD).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: new file (imported from ruby CVS trunk</div><div class='del'>-	  HEAD).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 01:42:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* error.c : fix include file position</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb : skip test_exit_action on cygwin</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 01:36:57 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_class.rb: new file (imported from rubicon).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 01:32:23 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: ignore PP mixins.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 01:24:56 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: removed (-&gt;(){...} syntax is</div><div class='del'>-	  obsolete).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 01:20:54 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: import many tests from rubicon.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 01:06:57 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to avoid stack consistency error</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_exception.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 00:42:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, vm_macro.def : rename VM_CALL_SUPER to VM_CALL_SUPER_BIT</div><div class='del'>-</div><div class='del'>-	* insns.def (send) : set a flag of super as fcall</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-14(Tue) 00:31:24 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: fix typo.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb: unlock tests.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 23:53:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm_macro.def : fix NODE_ZSUPER dispatch and</div><div class='del'>-	fix error message when super without suitable method ([yarv-dev:846])</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add VM_CALL_SUPER definition</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add a test of Module#private_class_method</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 22:49:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : traverse all iseq to find super method ([yarv-dev:859])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add clear iseq-&gt;defined_method_id</div><div class='del'>-</div><div class='del'>-	* signal.c : fix to prohibit double segv handler kicked</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 22:09:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_DECL, NODE_CLASS with NODE_CLON3 prefix</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 21:20:57 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix indent</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to prohibit "redo" from eval expression</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 20:36:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : fix constant search bug ([yarv-dev:788])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test of [yarv-dev:788]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 18:09:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_clone.rb : enable tests with Class#clone</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 17:42:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c : support Class#clone</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : remove popcref</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, vm.c, insns.def : remove yarv_thread_t#cref_stack</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add tests for singleton class</div><div class='del'>-</div><div class='del'>-	* gc.c : remove "FRAME *" unused variable</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : fix COPY_CREF</div><div class='del'>-</div><div class='del'>-	* rb/mklog.rb : add default message</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : support NODE_ZSUPER as method type</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 00:11:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c : refoctoring with CFLAGS+=-Wunused</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_method.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* parse.y : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-13(Mon) 02:32:34 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_const.rb: show better message.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_module.rb: new file.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-12(Sun) 22:22:35 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c : revert last commit</div><div class='del'>-</div><div class='del'>-	* ascii.c : ditto</div><div class='del'>-</div><div class='del'>-	* bignum.c : ditto</div><div class='del'>-</div><div class='del'>-	* class.c : ditto</div><div class='del'>-</div><div class='del'>-	* compar.c : ditto</div><div class='del'>-</div><div class='del'>-	* defines.h : ditto</div><div class='del'>-</div><div class='del'>-	* dir.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.h : ditto</div><div class='del'>-</div><div class='del'>-	* enum.c : ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c : ditto</div><div class='del'>-</div><div class='del'>-	* error.c : ditto</div><div class='del'>-</div><div class='del'>-	* euc_jp.c : ditto</div><div class='del'>-</div><div class='del'>-	* file.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* hash.c : ditto</div><div class='del'>-</div><div class='del'>-	* intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* io.c : ditto</div><div class='del'>-</div><div class='del'>-	* lex.c : ditto</div><div class='del'>-</div><div class='del'>-	* main.c : ditto</div><div class='del'>-</div><div class='del'>-	* marshal.c : ditto</div><div class='del'>-</div><div class='del'>-	* math.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing.h : ditto</div><div class='del'>-</div><div class='del'>-	* node.h : ditto</div><div class='del'>-</div><div class='del'>-	* numeric.c : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* oniguruma.h : ditto</div><div class='del'>-</div><div class='del'>-	* pack.c : ditto</div><div class='del'>-</div><div class='del'>-	* prec.c : ditto</div><div class='del'>-</div><div class='del'>-	* process.c : ditto</div><div class='del'>-</div><div class='del'>-	* random.c : ditto</div><div class='del'>-</div><div class='del'>-	* range.c : ditto</div><div class='del'>-</div><div class='del'>-	* rb/mklog.rb : ditto</div><div class='del'>-</div><div class='del'>-	* re.c : ditto</div><div class='del'>-</div><div class='del'>-	* regcomp.c : ditto</div><div class='del'>-</div><div class='del'>-	* regenc.c : ditto</div><div class='del'>-</div><div class='del'>-	* regenc.h : ditto</div><div class='del'>-</div><div class='del'>-	* regerror.c : ditto</div><div class='del'>-</div><div class='del'>-	* regex.h : ditto</div><div class='del'>-</div><div class='del'>-	* regexec.c : ditto</div><div class='del'>-</div><div class='del'>-	* regint.h : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.c : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.h : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubyio.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubysig.h : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* sjis.c : ditto</div><div class='del'>-</div><div class='del'>-	* sprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.h : ditto</div><div class='del'>-</div><div class='del'>-	* string.c : ditto</div><div class='del'>-</div><div class='del'>-	* struct.c : ditto</div><div class='del'>-</div><div class='del'>-	* time.c : ditto</div><div class='del'>-</div><div class='del'>-	* utf8.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.h : ditto</div><div class='del'>-</div><div class='del'>-	* variable.c : ditto</div><div class='del'>-</div><div class='del'>-	* version.c : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-12(Sun) 21:33:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c : fix to ruby's indent</div><div class='del'>-</div><div class='del'>-	* ascii.c : ditto</div><div class='del'>-</div><div class='del'>-	* bignum.c : ditto</div><div class='del'>-</div><div class='del'>-	* blockinlining.c : ditto</div><div class='del'>-</div><div class='del'>-	* call_cfunc.h : ditto</div><div class='del'>-</div><div class='del'>-	* class.c : ditto</div><div class='del'>-</div><div class='del'>-	* compar.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.h : ditto</div><div class='del'>-</div><div class='del'>-	* debug.c : ditto</div><div class='del'>-</div><div class='del'>-	* debug.h : ditto</div><div class='del'>-</div><div class='del'>-	* defines.h : ditto</div><div class='del'>-</div><div class='del'>-	* dir.c : ditto</div><div class='del'>-</div><div class='del'>-	* disasm.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.h : ditto</div><div class='del'>-</div><div class='del'>-	* enum.c : ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c : ditto</div><div class='del'>-</div><div class='del'>-	* error.c : ditto</div><div class='del'>-</div><div class='del'>-	* euc_jp.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_error.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_load.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_method.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : ditto</div><div class='del'>-</div><div class='del'>-	* eval_safe.h : ditto</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* file.c : ditto</div><div class='del'>-</div><div class='del'>-	* gc.c : ditto</div><div class='del'>-</div><div class='del'>-	* hash.c : ditto</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : ditto</div><div class='del'>-</div><div class='del'>-	* insns.def : ditto</div><div class='del'>-</div><div class='del'>-	* intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* io.c : ditto</div><div class='del'>-</div><div class='del'>-	* lex.c : ditto</div><div class='del'>-</div><div class='del'>-	* main.c : ditto</div><div class='del'>-</div><div class='del'>-	* marshal.c : ditto</div><div class='del'>-</div><div class='del'>-	* math.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing.h : ditto</div><div class='del'>-</div><div class='del'>-	* node.h : ditto</div><div class='del'>-</div><div class='del'>-	* numeric.c : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* oniguruma.h : ditto</div><div class='del'>-</div><div class='del'>-	* opt_insn_unif.def : ditto</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : ditto</div><div class='del'>-</div><div class='del'>-	* pack.c : ditto</div><div class='del'>-</div><div class='del'>-	* prec.c : ditto</div><div class='del'>-</div><div class='del'>-	* process.c : ditto</div><div class='del'>-</div><div class='del'>-	* random.c : ditto</div><div class='del'>-</div><div class='del'>-	* range.c : ditto</div><div class='del'>-</div><div class='del'>-	* re.c : ditto</div><div class='del'>-</div><div class='del'>-	* re.h : ditto</div><div class='del'>-</div><div class='del'>-	* regcomp.c : ditto</div><div class='del'>-</div><div class='del'>-	* regenc.c : ditto</div><div class='del'>-</div><div class='del'>-	* regenc.h : ditto</div><div class='del'>-</div><div class='del'>-	* regerror.c : ditto</div><div class='del'>-</div><div class='del'>-	* regex.h : ditto</div><div class='del'>-</div><div class='del'>-	* regexec.c : ditto</div><div class='del'>-</div><div class='del'>-	* regint.h : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.c : ditto</div><div class='del'>-</div><div class='del'>-	* regparse.h : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubyio.h : ditto</div><div class='del'>-</div><div class='del'>-	* rubysig.h : ditto</div><div class='del'>-</div><div class='del'>-	* signal.c : ditto</div><div class='del'>-</div><div class='del'>-	* sjis.c : ditto</div><div class='del'>-</div><div class='del'>-	* sprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.h : ditto</div><div class='del'>-</div><div class='del'>-	* string.c : ditto</div><div class='del'>-</div><div class='del'>-	* struct.c : ditto</div><div class='del'>-</div><div class='del'>-	* test.rb : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : ditto</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : ditto</div><div class='del'>-</div><div class='del'>-	* time.c : ditto</div><div class='del'>-</div><div class='del'>-	* utf8.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.c : ditto</div><div class='del'>-</div><div class='del'>-	* util.h : ditto</div><div class='del'>-</div><div class='del'>-	* variable.c : ditto</div><div class='del'>-</div><div class='del'>-	* version.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm.h : ditto</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : ditto</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : ditto</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto</div><div class='del'>-</div><div class='del'>-	* yarv.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarv_version.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-12(Sun) 15:53:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/abbrev.rb : added</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/cgi-lib.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/csv.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/date2.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/eregex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/ipaddr.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/chws.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/fork.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/help.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/load.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/nop.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/pushws.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/cmd/subirb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/completion.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/context.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/change-ws.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/history.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/loader.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/math-mode.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/multi-irb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/save-history.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/tracer.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/use-loader.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ext/workspaces.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/extend-command.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/frame.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/help.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/init.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/input-method.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/error.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/help-message : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/CVS/Entries : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/CVS/Repository : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/CVS/Root : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/error.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/lc/ja/help-message : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/locale.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/notifier.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/output-method.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-lex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ruby-token.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/slex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/version.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/workspace.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/ws-for-case-2.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/irb/xmp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/logger.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/mailread.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/mathn.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/pathname.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/ping.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/pstore.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/resolv-replace.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/resolv.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/0.9.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/1.0.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/2.0.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/content.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/converter.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/dublincore.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/image.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/0.9.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/1.0.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/2.0.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/base.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/content.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/dublincore.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/image.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/syndication.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/taxonomy.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/maker/trackback.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/parser.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/rexmlparser.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/rss.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/syndication.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/taxonomy.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/trackback.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/utils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/xml-stylesheet.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/xmlparser.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rss/xmlscanner.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/rubyunit.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/scanf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/shell.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/singleton.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/tsort.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb : ditto</div><div class='del'>-</div><div class='del'>-	* eval_jump.c : removed</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-12(Sun) 15:39:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y : fix to remove including env.h</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_exception.rb : fix syntax (add 'end')</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-12(Sun) 15:14:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* env.h : removed</div><div class='del'>-</div><div class='del'>-	* common.mk : remove env.h dependency</div><div class='del'>-</div><div class='del'>-	* compile.c, eval_intern.h : remove include env.h</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.h, gc.c, error.c : remove T_SCOPE, T_VARMAP</div><div class='del'>-</div><div class='del'>-	* parse.y, eval.c : use rb_parse_in_eval() instead of ruby_in_eval</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h : add a prase_in_eval member to yarv_thread_t</div><div class='del'>-</div><div class='del'>-	* insns.def : add push value to throw instruction</div><div class='del'>-	for stack consistency</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_exception.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb : fix typo</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-12(Sun) 05:05:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, eval_load.c, eval_proc.c, node.h,</div><div class='del'>-	insnhelper.h, insns.def, vm.c, yarvcore.c, yarvcore.h :</div><div class='del'>-	change cref data structure and unify ruby_class and ruby_cbase</div><div class='del'>-	and some refoctoring</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-11(Sat) 23:41:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (methoddef) : fix method declaration in method</div><div class='del'>-</div><div class='del'>-	* thread.c : Thread.critical to show warning (no effect)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-11(Sat) 20:20:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix [yarv-dev:831]</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-11(Sat) 14:29:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/mklog.rb : use svk</div><div class='del'>-</div><div class='del'>-	* error.c : remove newline</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_block_call) : added</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove some unused functions, comments</div><div class='del'>-</div><div class='del'>-	* thread.c : add comments (move from eval_thread.c) and support Mutex</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_select) : supported</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (native_mutex_trylock) : added (macro)</div><div class='del'>-</div><div class='del'>-	* thread_win32.h (native_mutex_trylock) : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove unused code</div><div class='del'>-</div><div class='del'>-	* array.c : import ruby 1.9</div><div class='del'>-</div><div class='del'>-	* compar.c : ditto</div><div class='del'>-</div><div class='del'>-	* dln.c : ditto</div><div class='del'>-</div><div class='del'>-	* enum.c : ditto</div><div class='del'>-</div><div class='del'>-	* enumerator.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/digest/digest.h : ditto</div><div class='del'>-</div><div class='del'>-	* ext/digest/sha2/sha2.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c : ditto</div><div class='del'>-</div><div class='del'>-	* ext/win32ole/win32ole.c : ditto</div><div class='del'>-</div><div class='del'>-	* hash.c : ditto</div><div class='del'>-</div><div class='del'>-	* intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* io.c : ditto</div><div class='del'>-</div><div class='del'>-	* main.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing.h : ditto</div><div class='del'>-</div><div class='del'>-	* missing/flock.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing/isinf.c : ditto</div><div class='del'>-</div><div class='del'>-	* missing/vsnprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/complex.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/erb.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/matrix.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/optparse.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/ostruct.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/pp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/timeout.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/tmpdir.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/test/unit/autorunner.rb : ditto</div><div class='del'>-</div><div class='del'>-	* node.h : ditto</div><div class='del'>-</div><div class='del'>-	* object.c : ditto</div><div class='del'>-</div><div class='del'>-	* parse.y : ditto</div><div class='del'>-</div><div class='del'>-	* ruby.c : ditto</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : ditto</div><div class='del'>-</div><div class='del'>-	* sprintf.c : ditto</div><div class='del'>-</div><div class='del'>-	* st.c : ditto</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_whileuntil.rb : ditto</div><div class='del'>-</div><div class='del'>-	* test/runner.rb : ditto</div><div class='del'>-</div><div class='del'>-	* time.c : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/.document : added</div><div class='del'>-</div><div class='del'>-	* lib/net/ftp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/http.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/https.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/imap.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/pop.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/protocol.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/smtp.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/net/telnet.rb : ditto</div><div class='del'>-</div><div class='del'>-	* lib/open-uri.rb : ditto</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-10(Fri) 08:07:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def, yarvcore.h : support defined?(private_method) and</div><div class='del'>-	defined?(protected_method) (separate DEFINE_METHOD / DEFINE_FUNC)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syntax.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each) : fix NODE_RETURN bug</div><div class='del'>-	(double ensure invoke)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* eval.c (get_errinfo) : fix to search $!</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_exception.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* eval_safe.h : support $SAFE</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c : import ruby 1.9</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark_children) : fix making T_VALUE</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb : use GC.stress</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandler) : send interrupt signal if thread blocked</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb : remove assert false</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb : change fail message</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb : remove assert false</div><div class='del'>-</div><div class='del'>-	* thread.c (thread_start_func_2) : set local_lfp/local_svar</div><div class='del'>-	at thread creation</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : export native_thread_interrupt</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : export native_thread_interrupt</div><div class='del'>-</div><div class='del'>-	* version.h : import ruby 1.9</div><div class='del'>-</div><div class='del'>-	* vm.c (lfp_svar), yarvcore.h : fix to use Thread local svar</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub : import ruby 1.9</div><div class='del'>-</div><div class='del'>-	* win32/dir.h : ditto</div><div class='del'>-</div><div class='del'>-	* win32/setup.mak : ditto</div><div class='del'>-</div><div class='del'>-	* win32/win32.c : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : fix to remove using ARGV</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-10(Fri) 01:04:58 +0900  Yukihiro Matsumoto  &lt;matz@ruby-lang.org&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): turn on during_gc while</div><div class='del'>-	  invoking finalizers.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_finalize_deferred): ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-08(Wed) 23:17:44 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: method names were wrongly duplicated.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-08(Wed) 21:30:01 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf: added (imported from ruby CVS trunk HEAD).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/depend: new file (rev 1.5).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/extconf.rb: new file (rev 1.2).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c: new file (rev 1.12).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/test.rb: new file (rev 1.7).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/nkf.c: new file (rev 1.17).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/config.h: new file (rev 1.4).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf-utf8/utf8tbl.c: new file (rev 1.6).</div><div class='del'>-</div><div class='del'>-	* ext/nkf/lib/kconv.rb: new file (rev 1.13).</div><div class='del'>-</div><div class='del'>-	* test/nkf: added (imported from ruby CVS trunk HEAD).</div><div class='del'>-</div><div class='del'>-	* test/nkf/test_kconv.rb: new file (rev 1.1).</div><div class='del'>-</div><div class='del'>-	* test/nkf/test_nkf.rb: new file (rev 1.1).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-08(Wed) 21:07:36 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/find.rb: new file (imported from ruby CVS trunk HEAD,</div><div class='del'>-	  rev 1.15).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-07(Tue) 17:58:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support BEGIN{} and add preexe instruction</div><div class='del'>-</div><div class='del'>-	* insns.def : fix getspecial/setspecial instructions</div><div class='del'>-	to catch up svar change</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb : remove stopper</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_fd_writable) : add a debug output</div><div class='del'>-</div><div class='del'>-	* thread.c (rb_thread_wait_fd) : add a debug output</div><div class='del'>-</div><div class='del'>-	* vm.c (lfp_svar) : refactoring and fix some problems</div><div class='del'>-</div><div class='del'>-	* vm_dump.c (yarv_bug) : add branch</div><div class='del'>-</div><div class='del'>-	* yarv.h : remove unused declarations</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (vm_free) : VM object should not free by GC</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-07(Tue) 14:42:25 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_load.c : remove rb_thread_start_1()</div><div class='del'>-</div><div class='del'>-	* eval.c : fix some prototypes and indents</div><div class='del'>-</div><div class='del'>-	* eval_thread.c, thread.c : move some functions</div><div class='del'>-	from eval_thread.c to thread.c</div><div class='del'>-</div><div class='del'>-	* signal.c (sighandler) : add line braek in error message</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h, thread.c : support ThreadGroup</div><div class='del'>-</div><div class='del'>-	* ruby.h, gc.c, vm.c : make new basic type RValue and T_VALUE.</div><div class='del'>-	RValue includes three values in itself.  RValue is used as</div><div class='del'>-	svar</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-06(Mon) 23:51:41 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: import many tests from rubicon.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-04(Sat) 18:36:41 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: import many tests from rubicon.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-04(Sat) 17:47:44 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb (test_exit_action): lib/timeout.rb is</div><div class='del'>-	  not implemented yet.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-04(Sat) 17:42:31 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb: lib/timeout.rb is not implemented</div><div class='del'>-	  yet.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-04(Sat) 16:22:38 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pipe.rb: remove useless require.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb: turn off the test case which causes</div><div class='del'>-	  segmentation fault (tmp).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-04(Sat) 08:19:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add dependency to yarvcore.h on signal.o</div><div class='del'>-</div><div class='del'>-	* compile.c (iseq_compile_each) : fix [yarv-dev:795] problem</div><div class='del'>-	(prohibit "break", "next" jump from eval)</div><div class='del'>-</div><div class='del'>-	* eval.c : fix indent</div><div class='del'>-</div><div class='del'>-	* eval_thread.c, thread.c : remove some functions and move to thread.c</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : fix [yarv-dev:799] and [yarv-dev:800]</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb : remove GC.debug_flag control</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb : disable</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb : disable</div><div class='del'>-</div><div class='del'>-	* thread.c : fix thread_debug() and many bugs</div><div class='del'>-</div><div class='del'>-	* thread.c (yarv_thread_s_new) : move living_threads setting</div><div class='del'>-</div><div class='del'>-	* thread.c (yarv_thread_join) : fix</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : add type native_thread_data_t (dummy)</div><div class='del'>-	and support interrupt blocking thread</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (native_thread_apply_priority) : added</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : add type native_thread_data_t (dummy)</div><div class='del'>-	and support interrupt blocking thread</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : use win32 thread system on cygwin and fix</div><div class='del'>-	some struct members</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_thread.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-03(Fri) 00:08:09 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: import many tests from rubicon.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-02(Thu) 23:20:13 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/envutil.rb: new file (imported from ruby trunk HEAD).</div><div class='del'>-</div><div class='del'>-	* test/ruby/marshaltestlib.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_array.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_beginendblock.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_clone.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_dir.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_env.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_file.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_float.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_fnmatch.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_hash.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_io.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_marshal.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_math.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pack.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_path.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_pipe.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_rand.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_range.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_readpartial.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_regexp.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_settracefunc.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_signal.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_sprintf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_string.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_stringchar.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_struct.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_symbol.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_system.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_time.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* test/ruby/ut_eof.rb: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-02(Thu) 22:53:44 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: test [yarv-dev:777].</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-02-01(Wed) 03:51:39 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c : add GC.debug_flag= method</div><div class='del'>-</div><div class='del'>-	* insns.def : support method definition in method</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-29(Sun) 11:40:26 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_proc.c (proc_alloc) : fix [yarv-dev:777]</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_proc.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* insns.def : fix [yarv-dev:782] and add YARV_CHECK_INTS()</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : fix [yarv-dev-en:23]</div><div class='del'>-</div><div class='del'>-	* vm.c (th_call0) : add YARV_CHECK_INTS()</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-09(Mon) 11:56:34 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h: add prototype (remove warning).</div><div class='del'>-</div><div class='del'>-	* vm.c (th_invoke_proc): make save variables volatile.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): initialize local variables (remove warnings).</div><div class='del'>-</div><div class='del'>-	* eval_thread.c (rb_exec_recursive): ditto.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (thread_mark): ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c (th_invoke_proc): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: remove useless prototypes.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-09(Mon) 10:25:12 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_thread.c: rb_thread_join is required to build ruby on</div><div class='del'>-	  Linux.</div><div class='del'>-</div><div class='del'>-	* compile.c: unify coding style.</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-06(Fri) 09:21:34 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c: coding style change only.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-04(Wed) 14:12:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init), eval_intern.h : use POP_TAG_INIT() at bootstrap</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove unused functions and comments</div><div class='del'>-</div><div class='del'>-	* intern.h : expose rb_make_exception()</div><div class='del'>-</div><div class='del'>-	* signal.c : support signal</div><div class='del'>-</div><div class='del'>-	* thread.c (yarv_thread_execute_interrupts) : added</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h (thread_timer) : set interrupt_flag of</div><div class='del'>-	current running threads</div><div class='del'>-</div><div class='del'>-	* vm.c (th_invoke_proc) : jump with JUMP_TAG() if some exception</div><div class='del'>-	occurs</div><div class='del'>-</div><div class='del'>-	* yarv.h : add yarv_set_current_running_thread_raw() for bootstrap</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add yarv_segv() and segv() method for test</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (Init_yarvcore) : set yarv_thread_t#running_thread</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix yarv_thread_t members</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-03(Tue) 22:25:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* disasm.c (insn_operand_intern) : fix to add child iseq</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c : remove obsolete static variables (ruby_scope,</div><div class='del'>-	ruby_dyna_vars, ruby_frame)</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_mod_s_constants) : use ruby_cref()</div><div class='del'>-</div><div class='del'>-	* eval.c (eval) : use th_restore_klass()</div><div class='del'>-</div><div class='del'>-	* eval_proc.c (rb_f_binding) : use th_store_klass()</div><div class='del'>-</div><div class='del'>-	* insns.def (concatarray) : fix insn ([expr, *nil] =&gt; [expr])</div><div class='del'>-</div><div class='del'>-	* vm.c (th_set_env), insnhelper.h : remove macro</div><div class='del'>-</div><div class='del'>-	* vm.c (eval_get_cvar_base) : use get_cref</div><div class='del'>-</div><div class='del'>-	* vm.c (th_make_proc) : use th_store_klass()</div><div class='del'>-</div><div class='del'>-	* vm_macro.def (macro_eval_invoke_func) : fix option args size</div><div class='del'>-</div><div class='del'>-	* vm_macro.def (macro_eval_invoke_func) : raise stack overflow error</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add yarv_stored_klass_t type</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix mark functions around yarv_stored_klass_t</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-01(Sun) 05:14:26 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/benchmark.rb: new file (imported from original ruby, rev</div><div class='del'>-	  1.10).</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-01(Sun) 03:51:10 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c: add prototype.</div><div class='del'>-</div><div class='del'>-	* re.c: remove warning: long -&gt; unsigned long.</div><div class='del'>-</div><div class='del'>-	* debug.c: adjust coding style.</div><div class='del'>-</div><div class='del'>-	* yarv.h: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-01(Sun) 03:43:33 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c: add prototype.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_load.c: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2006-01-01(Sun) 02:41:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add address analyse to vtune rule</div><div class='del'>-</div><div class='del'>-	* rb/vtlh.rb : added for above</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb, template/vm.inc.tmpl : insert #line directive</div><div class='del'>-	to reference above</div><div class='del'>-</div><div class='del'>-	* vm_macro.def (macro_eval_invoke_cfunc) : fix indent</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : fix indent, spacing</div><div class='del'>-	and add a test for alias</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-31(Sat) 12:42:05 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add Intel VTune rule (make vtune)</div><div class='del'>-</div><div class='del'>-	* eval.c, yarvcore.h : fix to remove yarv_thread_t#local_*</div><div class='del'>-</div><div class='del'>-	* parse.y (top_local_init_gen) : fix a problem ([yarv-dev:765])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_eval.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_eval) :remove unused function</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (Init_yarvcore) : remove YARVCore::Thread::eval method</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (thread_eval) : remove unused function</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-31(Sat) 06:05:00 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (eval_search_super_klass) : pass block to method missing</div><div class='del'>-</div><div class='del'>-	* vm_macro.def (macro_eval_invoke_method) : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-31(Sat) 03:11:14 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval), eval_proc.c (rb_f_binding) : save klass, etc to</div><div class='del'>-	binding and use it at eval</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : ditto</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_eval.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (th_get_special_cref) : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add a prototype of above</div><div class='del'>-</div><div class='del'>-	* vm.c (th_get_cref) : refactoring</div><div class='del'>-</div><div class='del'>-	* vm.c (eval_get_ev_const) : fix SEGV at A::B (A is not class/module)</div><div class='del'>-	([yarv-dev:758])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* rb/mklog.rb : use external diff command and show function name</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-30(Fri) 19:07:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h, eval.c, eval_proc.c : support</div><div class='del'>-	Ruby's Binding</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : support TOPLEVEL_BINDING</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_eval.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-30(Fri) 13:12:28 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: more tests for</div><div class='del'>-	  module_eval/instance_eval.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-30(Fri) 05:06:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add dependency (yarvcore.h) for gc.c</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, eval_load.c, eval_method.h,</div><div class='del'>-	insns.def, insnhelper.h, vm.c, yarvcore.c, yarvcore.h :</div><div class='del'>-	re-write class reference</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_eval.rb : added</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_proc.rb :</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-29(Thu) 12:27:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h :</div><div class='del'>-	remvoe needless yarv_iseq_t#rewind_frame_size</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-29(Thu) 11:17:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add dependency to test-all rule</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_sourceline), vm.c (th_get_sourceline) :</div><div class='del'>-	fix to skip process if iseq is ifunc</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb : assert(fail, ...) instead of assert_fail</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb : ditto</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : fix stack dump (iseq name)</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : store proc (block proc) to cfp#proc for GC mark</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : mark above on thread_mark</div><div class='del'>-</div><div class='del'>-	* eval.c (exec_under) : replace block#self ([yarv-dev:751])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-29(Thu) 01:56:46 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : fix setting of Proc cref ([yarv-dev:741])</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix indent</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-29(Thu) 00:17:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* disasm.c : show (block) local variable simple (not as symbol)</div><div class='del'>-</div><div class='del'>-	* gc.c : fix syntax error</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-28(Wed) 23:35:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (method_entry) : fixed for undefed method ([yarv-dev:743])</div><div class='del'>-</div><div class='del'>-	* compile.c : fix errinfo dvar id (#$!)</div><div class='del'>-	and fix NODE_ERRINFO compilation</div><div class='del'>-</div><div class='del'>-	* eval_proc.c, yarvcore.c : support YARVCore::VM::Proc.new</div><div class='del'>-</div><div class='del'>-	* insns.def : remove useless TODO comments</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to use strict array conversion on</div><div class='del'>-	checkarrayinclude</div><div class='del'>-</div><div class='del'>-	* insns.def : fix defined?(yield) ([yarv-dev:744])</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : change yarv_iseq_t layout</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-28(Wed) 16:49:55 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: add TODO comment.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: rename YARVCore::VM::Proc -&gt; Proc</div><div class='del'>-	  (tmp).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: use assert_fail.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-28(Wed) 16:28:35 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_clone.rb: removed (tmp).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: define missing method Object#funcall</div><div class='del'>-	  (tmp).</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: turn off tests for "-&gt;".</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: turn off tests for |&amp;b|.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: turn off tests for $SAFE setter.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-28(Wed) 15:31:46 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix calculation of stack_max</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_iter) : fix block/retry handling</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* insns.def : fix block passing on super (super(&amp;nil))</div><div class='del'>-</div><div class='del'>-	* vm_macro.def, insns.def : fix convert method of object to array</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : fix a test for above</div><div class='del'>-</div><div class='del'>-	* vm.c : fix backtrace generate algorithm</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-28(Wed) 10:36:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h : refactoring (remove self passing, etc)</div><div class='del'>-</div><div class='del'>-	* disasm.c : support showing ID of method/dynamic local variables</div><div class='del'>-</div><div class='del'>-	* rb/allload.rb : add verbose version (it's enable by $DEBUG)</div><div class='del'>-</div><div class='del'>-	* template/insns.inc.tmpl, template/insns_info.inc.tmpl,</div><div class='del'>-	template/minsns.inc.tmpl, template/opt_sc.inc.tmpl,</div><div class='del'>-	template/optinsn.inc.tmpl, template/optunifs.inc.tmpl,</div><div class='del'>-	template/vmtc.inc.tmpl : fix a comment</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_av_set) : fix to clear inline cache ([yarv-dev:720])</div><div class='del'>-</div><div class='del'>-	* eval_method.h : fix to clear inline method cache</div><div class='del'>-</div><div class='del'>-	* vm.c, rb/insns2vm.rb, template/insns_info.inc.tmpl, compile.c,</div><div class='del'>-	insns.def, vm_evalbody.h, vm_macro.def :</div><div class='del'>-	fix operands types (ulong -&gt; num_t, ...)</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix to check SPECIAL_CONST_P() at splat array</div><div class='del'>-	([yarv-dev:722])</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix to throw syntax error</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, eval.c, eval_error.h, eval_jump.h :</div><div class='del'>-	add yarv_vm_t#exit_code to fix problem at cleanup ([yarv-dev:723])</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to invoke zsuper in method defined by define_method</div><div class='del'>-	([yarv-dev:704])</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : fix comments</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-27(Tue) 01:52:07 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, intern.h, insns.def : expose rb_ary_replace and use it</div><div class='del'>-	in insns.def</div><div class='del'>-</div><div class='del'>-	* eval.c : fix to use SCOPE_* to NOEX_*</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : remove SCOPE_*</div><div class='del'>-	and fix SCOPE_TEST() and SCOPE_SET(f)</div><div class='del'>-</div><div class='del'>-	* eval_load.c : save and store klass and visibility</div><div class='del'>-	at require and load</div><div class='del'>-</div><div class='del'>-	* eval_method.h : fix undefed method node ([yarv-dev-en:8])</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : fix define_method ([yarv-dev:704])</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, vm.h : remove GET_VM_STATE_VERSION(),</div><div class='del'>-	INC_VM_STATE_VERSION() and move these to vm.h</div><div class='del'>-</div><div class='del'>-	* insns.def : supportintg visibility</div><div class='del'>-</div><div class='del'>-	* node.h : remove NOEX_RECV</div><div class='del'>-</div><div class='del'>-	* variable.c, vm.c : add rb_vm_change_state() and use it in</div><div class='del'>-	remove_const</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def, yarvcore.h, yarvcore.c : add eval_push_cref(),</div><div class='del'>-	eval_pop_cref() and th_cref_init to manage current visibility</div><div class='del'>-</div><div class='del'>-	* yarv.h : add a prototype of rb_vm_change_state()</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, insns.def : add defined_method_id and support</div><div class='del'>-	super in define_method scope</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 20:44:38 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_basicinstructions.rb: new file.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 08:40:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c (eval_get_ev_const) : fix to skip nil</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 08:27:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : fix GET_CVAR_EV_KLASS [yarv-dev:703]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 07:51:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : add emptstack insn for all NODE_RETURN</div><div class='del'>-	and optimize it if it's not needed</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 07:08:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, gc.c : add "gc_debug_flag" to debug gc</div><div class='del'>-</div><div class='del'>-	* insns.def : add emptstack</div><div class='del'>-</div><div class='del'>-	* compile.c, rb/insns2vm.rb, template/insns_info.inc.tmpl :</div><div class='del'>-	change interface of insn_stack_increase</div><div class='del'>-</div><div class='del'>-	* compile.c : fix return from ensure in method [yarv-dev:702]</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 02:15:02 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: do not use unimplemented defined?.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-26(Mon) 02:00:11 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/runner.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_alias.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_clone.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_eval.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_iterator.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_lambda.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_proc.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_super.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_assignment.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_bignum.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_call.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_case.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_condition.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_const.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_defined.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_exception.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_gc.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_ifunless.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_method.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_trace.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_variable.rb: new file.</div><div class='del'>-</div><div class='del'>-	* test/ruby/test_whileuntil.rb: new file.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-25(Sun) 07:40:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, compile.c : fix block inlining</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix to support tracing stack depth</div><div class='del'>-	with operands unification</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : fix to print Qundef on stack dump</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-25(Sun) 01:45:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c, rb/insns2vm.rb, template/insns_info.inc.tmpl :</div><div class='del'>-	trace stack depth at compile time</div><div class='del'>-	and use it  as cont_sp for exception handling</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_exception.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : ditto</div><div class='del'>-</div><div class='del'>-	* Merry Xmas :)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-24(Sat) 19:34:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h : fix ADD_CATCH_ENTRY and add LABEL#sp</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : fix catch to remove illegal error</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-24(Sat) 09:05:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_method.h : change data structure for RClass#m_tbl</div><div class='del'>-</div><div class='del'>-	* class.c, eval.c, eval_proc.c : fix for above changes</div><div class='del'>-</div><div class='del'>-	* node.h, gc.c : change NODE_FBODY, NODE_METHOD members</div><div class='del'>-	for above changes</div><div class='del'>-</div><div class='del'>-	* insns.def : support private/protected visibility</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : ditto</div><div class='del'>-</div><div class='del'>-	* vm.c : ditto</div><div class='del'>-</div><div class='del'>-	* thread.c : fix typo</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : fix typo</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : fix typo</div><div class='del'>-</div><div class='del'>-	* eval.c, yarvcore.h : add yarv_thread_t#method_missing_reason</div><div class='del'>-	to pass method_missing reason and use it to build error message</div><div class='del'>-</div><div class='del'>-	* compile.c : use ADD_CALL instead of ADD_SEND for</div><div class='del'>-	NODE_X(D)STR, NODE_CONST (func)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-22(Thu) 02:45:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv_version.h, Changes : 0.3.3</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-20(Tue) 04:04:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix self::Const access</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-20(Tue) 01:52:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to expand VALUES value</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_massign.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-20(Tue) 01:32:35 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, insnhelper.h : fix cvar in singleton method/class</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-20(Tue) 01:03:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h : support all defined?() syntax</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_COLON2</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add or fix tests for above</div><div class='del'>-</div><div class='del'>-	* win32/* : update all</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-17(Sat) 10:46:08 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_macro.def: fix printf type mismatch for LP64 system (again).</div><div class='del'>-</div><div class='del'>-	* parse.y: introduce descriptive macro for special values of</div><div class='del'>-	  lvtbl-&gt;dvars.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-17(Sat) 09:39:27 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_macro.def (macro_eval_invoke_method): fix printf type mismatch</div><div class='del'>-	  for LP64 system.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-14(Wed) 03:49:40 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : change rescue/ensure iseq name</div><div class='del'>-</div><div class='del'>-	* eval.c, intern.h : fix a prototype</div><div class='del'>-</div><div class='del'>-	* insns.def, yarvcore.h : add trace_function</div><div class='del'>-</div><div class='del'>-	* vm.c : fix deadly bug (illegal pointer cast)</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : remove unused local variables</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : add parameter size check</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : comment out 2 assertions</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-13(Tue) 03:55:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : fix indent</div><div class='del'>-</div><div class='del'>-	* insns.def : fix getspecial instruction to return nil</div><div class='del'>-	if no entry</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syntax.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* lib/un.rb : added</div><div class='del'>-</div><div class='del'>-	* template/*.tmpl : fix typo</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-13(Mon) 01:38:17 +0900  Minero Aoki  &lt;aamine@loveruby.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv.h: add prototypes.</div><div class='del'>-</div><div class='del'>-	* intern.h: ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c: ditto.</div><div class='del'>-</div><div class='del'>-	* debug.c: ditto.</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h: fix printf type mismatch for LP64 system</div><div class='del'>-	  (Linux/AMD64).</div><div class='del'>-</div><div class='del'>-	* variable.c: ditto.</div><div class='del'>-</div><div class='del'>-	* object.c: ditto.</div><div class='del'>-</div><div class='del'>-	* gc.c: ditto.</div><div class='del'>-</div><div class='del'>-	* process.c: ditto.</div><div class='del'>-</div><div class='del'>-	* error.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* vm.h: ditto.</div><div class='del'>-</div><div class='del'>-	* vm_dump.c: ditto.</div><div class='del'>-</div><div class='del'>-	* disasm.c: ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c: ditto.</div><div class='del'>-</div><div class='del'>-	* eval_thread.c: ditto.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-11(Sun) 22:00:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : call "inherited" method when a class is inherited</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix yarv_iseq_t field layout</div><div class='del'>-</div><div class='del'>-	* common.mk : add dependence on yarvcore.h to eval*.o files</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_POSTEXE logic</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : use GC_GUARDED_PTR_REF instead of magic number</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : fix indent</div><div class='del'>-</div><div class='del'>-	* configure : re-autoconf</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-10(Sat) 03:57:20 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : fix blockinlining.o build rule</div><div class='del'>-</div><div class='del'>-	* insns.def : remove logic for zsuper</div><div class='del'>-</div><div class='del'>-	* template/optinsn.inc.tmpl :</div><div class='del'>-</div><div class='del'>-	* vm.c : remove thread_yield_light_prepare, thread_yield_light_invoke</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_ZSUPER with optargs, restarg</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-09(Fri) 01:13:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, numeric.c, range.c : add prototype of</div><div class='del'>-	block inlining function</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, vm_opts.h.base : add block inlining flag</div><div class='del'>-</div><div class='del'>-	* common.mk, debug.h, debug.c : add debug_breakpoint() for gdb</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to use size_t on compile_data_alloc(),</div><div class='del'>-	fix illegal cast, fix to set arg_simple at compiling block,</div><div class='del'>-</div><div class='del'>-	* compile.c, vm.c : fix NODE_NEXT, NODE_BREAK logic</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h, compile.c, eval.c : remove</div><div class='del'>-	yarv_iseq_t#root_iseq and add yarv_iseq_t#local_iseq and fix</div><div class='del'>-	to use this member field</div><div class='del'>-</div><div class='del'>-	* eval_method.h : fix indent</div><div class='del'>-</div><div class='del'>-	* gc.c : fix indent</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : remove "zsuper" instruction (use "super"</div><div class='del'>-	instead).  This is because NODE_ZSUPER represent with only "super"</div><div class='del'>-	instruction</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add proc_arity</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-05(Mon) 03:58:30 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* array.c, blockinlining.c : support block inlining for Array#each</div><div class='del'>-</div><div class='del'>-	* disasm.c : fix catch table format</div><div class='del'>-</div><div class='del'>-	* insns.def : fix stack consistency error message</div><div class='del'>-</div><div class='del'>-	* vm.c : fix to skip pushing value at "next"</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : move definition of</div><div class='del'>-	"struct iseq_compile_data_ensure_node_stack" to compile.c</div><div class='del'>-</div><div class='del'>-	* compile.c : fix ensure catch table creation</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_flow.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-03(Sat) 22:27:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, compile.c, yarvcore.c, yarvcore.h,</div><div class='del'>-	numeric.c, range.c : collect block inlining logic to blockinlining.c</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-12-03(Sat) 20:24:07 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* blockinlining.c, common.mk : add blockinlining.c</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h, blockinlining.c, compile.c, compile.h,</div><div class='del'>-	gc.c, node.h, numeric.c, range.c :</div><div class='del'>-	support block inlining for Integer#times, Range#each</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to set block redo/next point at last,</div><div class='del'>-	and fix NODE_OP_ASGN1</div><div class='del'>-</div><div class='del'>-	* compile.c, vm.c : add specialized instruction "opt_le"</div><div class='del'>-</div><div class='del'>-	* disasm.c : fix to show block, and to show catch type as string</div><div class='del'>-	and change node_name logic</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : fix function type declaration</div><div class='del'>-</div><div class='del'>-	* insns.def : add instruction "putundef", "opt_checkenv"</div><div class='del'>-	to support block inlining and add stack check routine</div><div class='del'>-</div><div class='del'>-	* lib/cgi.rb : add global variable $CGI_DONTINPUT</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : add some operand unification rules</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix operand unification logic for BLOCKISEQ</div><div class='del'>-</div><div class='del'>-	* vm.c : fix exception handling routine (collect stack operations)</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix macro_eval_invoke_bmethod</div><div class='del'>-</div><div class='del'>-	* yarvsubst.c : removed</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syn.rb : rename to yarvtest/test_syntax.rb</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : remove tempfile explicitly</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-30(Wed) 01:13:57 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add vm_opts.h rule</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def : fix proc creation under class and block</div><div class='del'>-	environment</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-29(Tue) 16:39:07 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_proc.c, vm.c, vm_macro.def :</div><div class='del'>-	support define_method and invoke NODE_BMETHOD method</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-29(Tue) 13:18:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : add iseq_add_mark_object, iseq_add_mark_object_compile_time</div><div class='del'>-	and use it to mark objects on iseq</div><div class='del'>-</div><div class='del'>-	* compile.h, compile.c : remove cast on NEW_CHILD_ISEQVAL, NEW_ISEQVAL</div><div class='del'>-	and interface</div><div class='del'>-</div><div class='del'>-	* compile.c, disasm.c, insns.def, vm_macro.def, rb/insns2vm.rb :</div><div class='del'>-	add BLOCKISEQ parameter type</div><div class='del'>-</div><div class='del'>-	* gc.c : fix garbage_collect to return true if only allocate memory</div><div class='del'>-</div><div class='del'>-	* vm.c : fix insertion order of proc/env</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : add typedef yarv_iseq_t *BLOCKISEQ</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.c : add idTimes</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix proc_mark, env_mark around iseq mark</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-28(Mon) 09:02:57 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def, vm_evalbody.h : support super</div><div class='del'>-	with splat argument and block (and zsuper with block)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_class.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h, yarvcore.c, insns.def, time.c, string.c :</div><div class='del'>-	add opt_succ insn</div><div class='del'>-</div><div class='del'>-	* eval_method.h : fix indent</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : apply cast to vanish a warning</div><div class='del'>-</div><div class='del'>-	* lib/tempfile.rb, lib/tmpdir.rb : added</div><div class='del'>-</div><div class='del'>-	* vm.c : eval_method_missing added</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : refactoring</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-21(Mon) 21:21:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h, yarvcore.c : remove "iseqobj"</div><div class='del'>-	variables and rename to "iseq"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-21(Mon) 07:31:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix block parameter error</div><div class='del'>-</div><div class='del'>-	* ext/* : added</div><div class='del'>-</div><div class='del'>-	* lib/optparse* : added</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_sieve.rb : fix parameter</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-21(Mon) 03:47:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : optimize condition in literal</div><div class='del'>-</div><div class='del'>-	* thread_win32.h : fix win32 thread function prototype</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-20(Sun) 17:58:24 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_AND/OR bug</div><div class='del'>-</div><div class='del'>-	* eval.c : support rb_frame_this_func()</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-20(Sun) 12:32:31 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.c, yarvcore.h : support NODE_OPT_N</div><div class='del'>-</div><div class='del'>-	* compile.h : add macro ADD_CALL</div><div class='del'>-</div><div class='del'>-	* debug.c : add debug_v() and change to use only printf</div><div class='del'>-	on debug_id()</div><div class='del'>-</div><div class='del'>-	* sample/test.rb :</div><div class='del'>-</div><div class='del'>-	* vm.c : fix make_proc_from_block</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-19(Sat) 14:55:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* import ruby 1.9.0 (2005-11-18)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-19(Sat) 06:08:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/test : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-19(Sat) 05:48:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : useless jump elimination (if/unless destination)</div><div class='del'>-</div><div class='del'>-	* eval.c : rb_iter_break support,</div><div class='del'>-	 fix rb_iterate (clear errinfo if break)</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : support rb_node_arity (YARV_METHOD_NODE)</div><div class='del'>-</div><div class='del'>-	* insns.def : change variable name</div><div class='del'>-</div><div class='del'>-	* vm.c : fix th_invoke_yield and add th_iter_break()</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : fix yarv_bug()</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix proc_mark to check IFUNC node and add</div><div class='del'>-	global ruby method SDR() for debug</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syn.rb : add a test for all condition combination</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-15(Tue) 05:52:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/forwardable.rb : added</div><div class='del'>-</div><div class='del'>-	* common.mk : remove "vm.o : CFLAGS += -fno-crossjumping" rule</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h, insns.def : add FCALL/VCALL flag</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : add onceinlinecache instruction</div><div class='del'>-</div><div class='del'>-	* eval.c : support $!, $@, raise (== raise $!)</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : add some unification rule (send flags)</div><div class='del'>-</div><div class='del'>-	* vm.c : fix return process</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix option prameters</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-15(Tue) 00:42:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : support rb_frame_pop() and rb_frame_callee(),</div><div class='del'>-	add rb_sourcefile(), rb_sourceline(),</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-	* compile.c : support postposition while/until,</div><div class='del'>-	fix block parameter index</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syn.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix env_mark</div><div class='del'>-</div><div class='del'>-	* vm.h, yarvcore.h : move vm.h#cmethod_info to</div><div class='del'>-	 yarvcore.h#yarv_cmethod_info</div><div class='del'>-</div><div class='del'>-	* vm.c : add th_get_sourceline()</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : fix PASS_PASSED_BLOCK()</div><div class='del'>-</div><div class='del'>-	* eval_load.c : fix re-enter require (temporalily)</div><div class='del'>-</div><div class='del'>-	* insns.def : permit re-open class when superclass is same</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-11(Fri) 01:20:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : add "allload" rule</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h, insns.def, vm_macro.def, disasm.c :</div><div class='del'>-	change arg_rest, arg_block offset (1)</div><div class='del'>-</div><div class='del'>-	* insns.def : add postexe instruction</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : support rest block parameter</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_block.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* rb/allload.rb : get path from ARGV</div><div class='del'>-</div><div class='del'>-	* vm_opts.h.base : set default off</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-01(Tue) 08:28:19 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/other-lang/eval.rb : fix path</div><div class='del'>-</div><div class='del'>-	* lib/English.rb, lib/cgi.rb, lib/complex.rb, lib/delegate.rb :</div><div class='del'>-	added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-11-01(Tue) 08:18:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : push and pop values after checkincludearray for</div><div class='del'>-	stack caching</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-31(Mon) 15:37:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_mandelbrot.rb : added</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_app_factorial.rb : fixed parameter</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_count_words.rb, benchmark/run_rite.rb : use</div><div class='del'>-	real file</div><div class='del'>-</div><div class='del'>-	* common.mk : add "ext" rule, add some dependencies and add option</div><div class='del'>-	to bench-each rule (renamed from bench-item)</div><div class='del'>-</div><div class='del'>-	* compile.c : fix get_root_iseq_object (check iseq type),</div><div class='del'>-	support splat case/when. support //o (regexp)</div><div class='del'>-</div><div class='del'>-	* eval.c : support *_eval, fix rb_obj_call_init to pass block</div><div class='del'>-</div><div class='del'>-	* eval_jump.h : support throw/catch</div><div class='del'>-</div><div class='del'>-	* eval_load.c : save klass_nest_stack when require</div><div class='del'>-</div><div class='del'>-	* eval_method.h : fix ruby_cbase()</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : GET_EV_KLASS checks toplevel or not</div><div class='del'>-</div><div class='del'>-	* insns.def, yarvcore.c : fix singleton method definition and fix</div><div class='del'>-	super class's method</div><div class='del'>-</div><div class='del'>-	* lib/shellwords.rb : use String() instead of String.new()</div><div class='del'>-</div><div class='del'>-	* vm.c : check class iseq or not when making Proc and</div><div class='del'>-	add eval_search_super_klass function</div><div class='del'>-</div><div class='del'>-	* vm.h : CMETHOD_INFO_P to yarvcore.h</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : splat if object type is T_ARRAY</div><div class='del'>-</div><div class='del'>-	* vm_opts.h, vm_opts.h.base : rename to vm_opts.h.base</div><div class='del'>-	insns2vm.rb will copy it to build directory</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add Proc#[]</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : change INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE</div><div class='del'>-	to 512</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_* : invalidate splat non array code (like: "*1")</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : use tempfile instead of popen</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-28(Fri) 09:11:53 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : fix test</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-28(Fri) 08:43:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run_rite.rb : add -I options to run benchmark</div><div class='del'>-</div><div class='del'>-	* common.mk : pass options to some rules with RUNOPT</div><div class='del'>-	and add -I options</div><div class='del'>-</div><div class='del'>-	* compile.c : fix massign with constant</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_massign.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* eval_load.c : fix load_wait()</div><div class='del'>-</div><div class='del'>-	* eval_method.h : support ruby_cbase()</div><div class='del'>-</div><div class='del'>-	* lib/*.rb : add or modify libraries to run on yarv</div><div class='del'>-	* parse.y : change to ANSI C style</div><div class='del'>-</div><div class='del'>-	* vm.c : fix making proc process under cfunc/ifunc environment</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix block pass</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add yarv_obj_is_proc()</div><div class='del'>-</div><div class='del'>-	* eval.c : fix rb_obj_is_proc to use yarv_obj_is_proc()</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-27(Thu) 11:50:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* some files : import from ruby 1.9.0 (2005-10-12)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-16(Sun) 14:50:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c, yarvcore.h, yarvcore.c : add insns "bitblt" and "answer"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-11(Tue) 17:01:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv_version.h, Changes : 0.3.2</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-11(Tue) 13:35:25 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : add YARV_CHECK_INTS()</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.h, thread_win32.h : kick timer thread</div><div class='del'>-	when another thread kicked</div><div class='del'>-</div><div class='del'>-	* vm.c : remove debug print</div><div class='del'>-</div><div class='del'>-	* vm_opts.h : add OPT_CALL_THREADED_CODE</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : remove "\r" from answer</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-07(Fri) 09:36:36 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add member variable "interrupt_flag" to yarv_thread_t</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-05(Wed) 21:20:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eva.c, eval_thread.c, ruby.h, eval_error.h, eval_jump.h,</div><div class='del'>-	eval_load.c, thread.c, error.c, compile.h : remove ruby_errinfo</div><div class='del'>-</div><div class='del'>-	* thread_win32.h, thread_pthread.h : set stack size to 4KB</div><div class='del'>-</div><div class='del'>-	* vm.c : fix making env routine</div><div class='del'>-</div><div class='del'>-	* vm_dump.c, vm.h : support frame type "EVAL" and fix magic number</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix some mark/free routine</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-05(Wed) 09:08:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, eval_intern.h, vm.c, eval_jump.h, yarvcore.h :</div><div class='del'>-	re-define PUSH/POP/EXEC/JUMP_TAG to use thread local tag</div><div class='del'>-</div><div class='del'>-	* inits.c, yarvcore.c : fix boostrap</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-03(Mon) 22:28:24 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_COLON2 bugs</div><div class='del'>-</div><div class='del'>-	* compile.h : fix debug routine</div><div class='del'>-</div><div class='del'>-	* disasm.c : add space between insn and operand</div><div class='del'>-</div><div class='del'>-	* insns.def : add comment of classdef, singletonclassdef</div><div class='del'>-</div><div class='del'>-	* vm.c, yarv.h : fix invoke_light routine</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix to mark each threads</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-02(Sun) 05:55:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : add "system_working" global variable</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-02(Sun) 01:23:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c : add raw gets (for test), and fix indent</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-01(Sat) 23:06:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread_win32.h, common.mk : add thread_win32.h</div><div class='del'>-</div><div class='del'>-	* thread.c : support _WIN32 thread</div><div class='del'>-</div><div class='del'>-	* thread.c, thread_pthread.h : fix some interface</div><div class='del'>-</div><div class='del'>-	* eval_thread.c : remove debug print</div><div class='del'>-</div><div class='del'>-	* gc.c : fix stack region</div><div class='del'>-</div><div class='del'>-	* win32/Makefile.sub : add -MD flag to LDFLAGS</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix mark and sweep debug print</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix VM#living_threads data type to st_table</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-10-01(Sat) 00:25:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, yarvcore.h : rename GIL (Global Interpreter Lock) to</div><div class='del'>-	GVL (Global VM Lock)</div><div class='del'>-</div><div class='del'>-	* thread_pthread.h : fix pthread mutex initialize</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-30(Fri) 20:11:19 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c : support join with timeout</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : use GET_VM()</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-30(Fri) 14:59:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* thread.c, common.mk : add thread.c</div><div class='del'>-</div><div class='del'>-	* thread.c, gc.c, eval_thread.c, yarvcore.c, yarvcore.h :</div><div class='del'>-	support native thread (on pthread)</div><div class='del'>-</div><div class='del'>-	* insns.def : add YARV_CHECK_INTS() check</div><div class='del'>-</div><div class='del'>-	* yarv.h : add GET_VM() macro</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-29(Thu) 22:43:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_intern.h, eval_thread.c : move thread_status to eval_intern.h</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix thread/vm value</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add some parameter to yarv_thread_t</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-29(Thu) 01:52:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h : add line number on last end instruction</div><div class='del'>-</div><div class='del'>-	* vm.c : fix line no detection</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-28(Wed) 00:02:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, eval_load.c, eval.c, eval_intern.h : add eval_load.c</div><div class='del'>-</div><div class='del'>-	* disasm.c : fix around block local variables</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : fix typo</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-27(Tue) 16:45:20 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : remove debug print</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-27(Tue) 16:41:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : support Kernel.local_variables</div><div class='del'>-</div><div class='del'>-	* parse.y, yarvcore.c : move some functions</div><div class='del'>-	(rb_(backref|lastline)_(get|set)) from parse.y to yarvcore.c</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix typo of YARV_PREVIOUS_CONTROL_FRAME</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-26(Mon) 18:51:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c, compile.c, parse.y, vm.c, yarvcore.h :</div><div class='del'>-	 eval() works with binding (Env)</div><div class='del'>-</div><div class='del'>-	* vm.c : add th_set_eval_stack</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_syn.rb : remove an assert "defined?(local_var)"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-25(Sun) 19:30:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_vm2_send.rb : added</div><div class='del'>-</div><div class='del'>-	* common.mk : add rule "bench-item"</div><div class='del'>-</div><div class='del'>-	* eval_intern.h : add PASS_PASSED_BLOCK()</div><div class='del'>-</div><div class='del'>-	* eval_proc.c : support some functions</div><div class='del'>-</div><div class='del'>-	* rb/mklog.rb : added</div><div class='del'>-</div><div class='del'>-	* vm.c : fix prototype style and coding style</div><div class='del'>-</div><div class='del'>-	* yarv.h : add some prototypes of functions</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h, eval.c : yarv_thread_t#ifuncnode -&gt; passed_block,</div><div class='del'>-	and add yarv_proc_t#safe_level</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-25(Sun) 11:01:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* some files : import from ruby 1.9.0 (2005-09-25)</div><div class='del'>-</div><div class='del'>-	* eval*, vm.c, vm_macro.def : remove frame, scope, ...</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove yarv_block_given_p()</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, insnhelper.h : move some macro from insnhelper.h to yarvcore.h</div><div class='del'>-	to use these in eval.c</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-24(Sat) 15:51:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval* : remove dependency to ruby_dyna_vars and ruby_class</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-23(Fri) 20:39:14 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval_*.[ch] : split eval.c to some files</div><div class='del'>-</div><div class='del'>-	* *.[ch] : import ruby 1.9.0 (2004-09-23)</div><div class='del'>-</div><div class='del'>-	* parse.y : remove dependency to ruby_dyna_vars and ruby_scope</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-15(Thu) 16:51:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h : fix "for" scope</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_block.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-14(Wed) 06:11:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, vm_evalbody.h, vm.h, vm_dump.c,</div><div class='del'>-	compile.c, yarvcore.c : use #ifdef insted of #if for recognize</div><div class='del'>-	vm options</div><div class='del'>-</div><div class='del'>-	* vm_opts.h : fix default options</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-10(Sat) 14:10:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_opts.h : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, rb/insns2vm.h : use vm_opts.h</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-10(Sat) 04:53:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, insns.def, compile.c : add DEFINED_YIELD</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_yield.rb : add test_1_ary_and_1_params</div><div class='del'>-</div><div class='del'>-	* insns.def : fix splat and svalue</div><div class='del'>-</div><div class='del'>-	* vm.c : fix to perform with proc with ifunc (incomplete)</div><div class='del'>-</div><div class='del'>-	* sample/test.rb : added (comment out unsupported features)</div><div class='del'>-</div><div class='del'>-	* common.mk : add rule "runtest"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-09-09(Fri) 19:32:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : add splatarray</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_massign.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-31(Wed) 22:55:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (yarvcore_eval_parsed): fix to return value</div><div class='del'>-</div><div class='del'>-	* yarv_version.h, Changes : 0.3.1</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-20(Sat) 10:19:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/ir.rb : add some check</div><div class='del'>-</div><div class='del'>-	* import today's ruby HEAD</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-18(Thu) 23:29:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : fix object file extension</div><div class='del'>-</div><div class='del'>-	* rb/ir.rb : added (import ruby script)</div><div class='del'>-</div><div class='del'>-	* rb/diff.rb : removed</div><div class='del'>-</div><div class='del'>-	* import today's ruby HEAD</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-18(Thu) 12:59:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk : rule test -&gt; test2, test1 -&gt; test</div><div class='del'>-</div><div class='del'>-	* compile.c : fix when clause bug and splat arugment</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-17(Wed) 05:22:31 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix block local parameter setting routine and support</div><div class='del'>-	massign in block parameter initialze</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_yield.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : support array concat (ex: "[x, *y]")</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_bin.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 19:51:19 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support nested massign</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_massign.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 10:25:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : support rb_yield_0 with 0 args</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 09:09:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* lib/fileutils.rb : imported</div><div class='del'>-</div><div class='del'>-	* insns.def : fix yield argument (same as last commit)</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_yield.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 08:29:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : fix to support rb_yield_0 with multiple values</div><div class='del'>-</div><div class='del'>-	* common.mk : add parse, run1p ruelse</div><div class='del'>-</div><div class='del'>-	* compile.c : support yield with ARGSCAT/SPLAT</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def : fix yield arguments to do compatible behaviour</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_yield.rb : added for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 06:00:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to set klass_nest_stack on singleton</div><div class='del'>-	method definition</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_method.rb : add a test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 05:34:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test1.rb : added.  gdb and run1 rule run this script</div><div class='del'>-</div><div class='del'>-	* compile.c : fix error handled variable access</div><div class='del'>-</div><div class='del'>-	* yarvtest/test_exception.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 04:26:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* base ruby : ruby 1.9.0 (2005-08-15)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-16(Tue) 03:54:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* common.mk, Makefile.in : move some rules to common.mk</div><div class='del'>-</div><div class='del'>-	* rb/diff.rb : added</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : fix to compare output last value</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-15(Mon) 18:27:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* Changes : 0.3.0</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-15(Mon) 17:56:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix to add prototype</div><div class='del'>-</div><div class='del'>-	* all files : propset svn:eol-style native</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-15(Mon) 10:48:53 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c : support rb_load</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-15(Mon) 09:42:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : define SDR()</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : stack_dump_raw() -&gt; vm_stack_dump_raw()</div><div class='del'>-</div><div class='del'>-	* yarvtest/yarvtest.rb : add rite test scheme</div><div class='del'>-</div><div class='del'>-	* benchmark/run_rite.rb : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, inits.c : add Init_vm()</div><div class='del'>-</div><div class='del'>-	* yarv.h : add some prototype declarations, GET_THREAD()</div><div class='del'>-</div><div class='del'>-	* eval.c : remove unused functions</div><div class='del'>-</div><div class='del'>-	* eval.c : support Kernel.eval, some schemes (same as evalc.patch)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-15(Mon) 00:53:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv_version.h : move configurations to yarvcore.h</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove VALUE yarv_get_current_running_thread() and</div><div class='del'>-	add yarv_thread_t *yarv_get_current_running_thread(), ...</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : yarv_thread_t#vm -&gt; vm_value</div><div class='del'>-</div><div class='del'>-	* compile.c : fix "break from nested classes"</div><div class='del'>-</div><div class='del'>-	* yarvext/extconf.rb : use have_func instead of defined?(YARV_PACHED)</div><div class='del'>-</div><div class='del'>-	* depend : fix pass</div><div class='del'>-</div><div class='del'>-	* eval.c : change to kick VM</div><div class='del'>-</div><div class='del'>-	* version.c : fix to show yarv version</div><div class='del'>-</div><div class='del'>-	* common.mk : fix dependent</div><div class='del'>-</div><div class='del'>-	* inits.c : fix to kick Init_yarvcore</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-14(Sun) 02:05:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* README : add description</div><div class='del'>-</div><div class='del'>-	* yarvext/depend : move to topdir/depend</div><div class='del'>-</div><div class='del'>-2005-08-14(Sun) 01:50:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* merge yarv to ruby (prepare)</div><div class='del'>-</div><div class='del'>-	* make yarvext/ to build as extension</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-13(Sat) 09:36:26 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* evalc.patch, insns.def, compile.c : fix to support current</div><div class='del'>-	ruby HEAD.</div><div class='del'>-</div><div class='del'>-	* 0.2.3</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-08(Mon) 19:13:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h, Changes : 0.2.2</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-08(Mon) 17:17:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h, vm.c, insns.def, yarvcore.h, yarvcore.c :</div><div class='del'>-	remove yarv_iseq_t#iseq_dt and add yarv_iseq_t#encoded.</div><div class='del'>-	use yarv_iseq_t#encoded anytime</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h, vm.h, extconf.rb, version.h :</div><div class='del'>-	support call threaded code (incomplete)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-08-01(Mon) 05:26:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : support yield with multiple values</div><div class='del'>-</div><div class='del'>-	* compile.c : fix dynavars</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix to mark defined method</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-31(Sun) 23:27:24 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, vm.c, insns.def : fix search object path</div><div class='del'>-</div><div class='del'>-	* compile.c : fix "for" statement</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix rest, opt arguments</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-31(Sun) 14:52:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : fix block parameter</div><div class='del'>-</div><div class='del'>-	* compile.c : fix to unuse compile_data-&gt;in_ensure</div><div class='del'>-</div><div class='del'>-	* insns.def : add orphan check when return</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-31(Sun) 03:25:05 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, compile.c, yarvcore.h, insns.def :</div><div class='del'>-	support jump from rescue/ensure/class/module</div><div class='del'>-</div><div class='del'>-	* test/test_flow.rb : add tests for above fix</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-30(Sat) 04:44:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : struct iseq_compile_data_ensure_node_stack is added</div><div class='del'>-</div><div class='del'>-	* compile.c : insert ensure clause before break/next/redo</div><div class='del'>-</div><div class='del'>-	* vm.c : fix return/break handling</div><div class='del'>-</div><div class='del'>-	* yarv.h, vm.c : fix lightweight yield</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def, vm_macro.def : change arguments of th_set_env (add sp)</div><div class='del'>-</div><div class='del'>-	* test/test_flow.rb : added</div><div class='del'>-</div><div class='del'>-	* test/yarvtest.rb : add ae_flow</div><div class='del'>-</div><div class='del'>-	* compile.c, vm_macro.def : add tail-call/tail-recursion optimization</div><div class='del'>-	(experimental)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-29(Fri) 20:14:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : make_name_for_block and make_name_with_str</div><div class='del'>-	are added</div><div class='del'>-</div><div class='del'>-	* insns.def : fix if unmatched size arg size to yield</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : add test for above fix</div><div class='del'>-</div><div class='del'>-	* vm.c : add th_backtrace_each and fix backtrace notation</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : set top level iseq name to "&lt;main&gt;"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-29(Fri) 13:20:19 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : fix yarv_iseq_t to pass VC (cl)</div><div class='del'>-</div><div class='del'>-	* vm_dump.c : ditto</div><div class='del'>-</div><div class='del'>-	* compile.h : ditto</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : ditto</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : include 'math.h'</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : raise error when yield without block</div><div class='del'>-</div><div class='del'>-	* vm.c : implement thread_backtrace</div><div class='del'>-</div><div class='del'>-	* vm.c, yarvsubst.c, yarv.h : implement thread_yield_light_prepare and</div><div class='del'>-	thread_yield_light_invoke</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : Integer#times uses yarv specific version</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-28(Thu) 21:35:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add another mark function for thread/stack</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : fix register allocation for x86_64</div><div class='del'>-</div><div class='del'>-	* vm.h : use asm for tc on x86_64</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-28(Thu) 20:17:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add mark/free message to debug gc</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, insns.def, vm_macro.def : remove and</div><div class='del'>-	add new RESTORE_REGS</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : fix register allocation</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-28(Thu) 02:00:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, etc : change VM stack structure. re-write all</div><div class='del'>-	vm functions to do it</div><div class='del'>-</div><div class='del'>-	* vm_macro.def : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-08(Fri) 01:36:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : don't use fmod on AMD64</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-08(Fri) 00:14:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* Changes : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-07(Thu) 23:54:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : 0.3.0</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-07(Thu) 23:52:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* 0.2.1 : released</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-07(Thu) 23:50:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : 0.2.1</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-07(Thu) 23:47:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb, extconf.rb : add --[enable|disable]-opt-unify-all-combination</div><div class='del'>-	and --disable-opts</div><div class='del'>-</div><div class='del'>-	* vm.h : DISPATCH_ARCH_DEPEND_WAY is only enabled on GCC 3.x</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-06(Wed) 13:20:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* depend, rb/eval.rb : add ITEMS option to benchmark rule</div><div class='del'>-</div><div class='del'>-	* benchmark/* : changed</div><div class='del'>-</div><div class='del'>-	* benchmark/other-lang/* : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-04(Mon) 04:02:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h. yarvcore.c : add idDIV, idMOD, idEq, idLength</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : add specialized insn for above method id</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-03(Sun) 20:31:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h : remove cYarvThrowObject (unused)</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h, insns.def :</div><div class='del'>-	thread_object#stack_mark_poinetr</div><div class='del'>-</div><div class='del'>-	* depend, rb/eval.rb : BOPT, TOPT -&gt; OPT</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-03(Sun) 13:53:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h : INSN_OBJECT, LABEL_OBJECT -&gt; INSN, LABEL,</div><div class='del'>-	ISEQ_LINK_ELEMENT, ISEQ_LINK_ANCHOR -&gt; LINK_ELEMENT, LINK_ANCHOR,</div><div class='del'>-	and some fixes</div><div class='del'>-</div><div class='del'>-	* tmpl/optinsn.inc.tmpl : ditto</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h : remove label_object, insn_object</div><div class='del'>-	prepare_iseq_build, cleanup_iseq_build are added</div><div class='del'>-</div><div class='del'>-	* insns.def : remove unused variable from send</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-02(Sat) 04:19:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : add GC protect for opt_aset</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-02(Sat) 03:49:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add option -fno-reorder-blocks to vm.asm rule</div><div class='del'>-</div><div class='del'>-	* insns.def : fix opt_aset bugs</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add tests for aset, aref</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-02(Sat) 03:05:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : fix output</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : add register for x86_64</div><div class='del'>-</div><div class='del'>-	* rb/asm_parse.rb : fix to shor size and length</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-02(Sat) 02:56:31 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : move specialized instruction point (new_insn_send)</div><div class='del'>-</div><div class='del'>-	* insns.def : add opt_aref, opt_aset</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-07-01(Fri) 11:04:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.h : fix to pass VALUE type to new_insn_body</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : add cast</div><div class='del'>-</div><div class='del'>-	* compile.c : fix getdynamic argument (0 == Qfalse -&gt; I2F(0))</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-30(Thu) 23:34:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/eval.rb : add and fix some rules</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : generate all</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : add -r (ruby only) option</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-30(Thu) 23:25:23 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tmpl/vmtc.inc.tmpl : add const prefix</div><div class='del'>-</div><div class='del'>-	* /rb/asm_parse.rb, extconf.rb : added and make assembler analised output</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : add send operands unification</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : add HEAP_CLASS_OF(obj)</div><div class='del'>-</div><div class='del'>-	* insns.def : fix opt_plus, opt_ltlt</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.h : move _tag</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : fix file select</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-30(Thu) 06:07:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add collect-usage-analysis option</div><div class='del'>-</div><div class='del'>-	* opt_operand.def, opt_insn_unif.def : add some rules</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-29(Wed) 23:28:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, extconf.rb, vm.h, compile.c :</div><div class='del'>-	DISPATCH_DIRECT_THREADED_CODE, DISPATCH_THREADED_CODE</div><div class='del'>-	 -&gt; OPT_DIRECT_THREADED_CODE,  OPT_INDIRECT_THREADED_CODE.</div><div class='del'>-	if at least one of then is defined, OPT_THREADED_CODE is defined</div><div class='del'>-</div><div class='del'>-	* benchmark/* : fix name and parameters</div><div class='del'>-</div><div class='del'>-	* rb/eval.rb : added for YARV evaluation</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-29(Wed) 16:16:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : fix output format</div><div class='del'>-</div><div class='del'>-	* call_cfunc.inc -&gt; call_cfunc.h</div><div class='del'>-</div><div class='del'>-	* vm.h : add sign by asm statement</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 22:28:40 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : fix method search</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 22:26:34 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : fix options</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 21:50:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : fix output format</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 21:34:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* depend : add option TOPT to test rules</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : fix output format</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 21:15:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix opt_case_dispatch instruction</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : output all usertimes when exit benchmark</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 20:35:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb, compile.c, tmpl/optinsn.inc.tmpl, vm.c :</div><div class='del'>-	change extconf options</div><div class='del'>-</div><div class='del'>-2005-06-28(Tue) 13:20:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : add -y, --yarv-only option</div><div class='del'>-</div><div class='del'>-	* depend : add BOPT to tbench rule</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-27(Mon) 23:31:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* depend : add gdb rule</div><div class='del'>-</div><div class='del'>-	* vm.h : use inline assembler for x86 (to support gcc 3.4.x)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-27(Mon) 20:04:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, compile.c, disasm.c : remove unused variables</div><div class='del'>-</div><div class='del'>-	* vm.h, insnhelper.h, debug.h : fix to reduce warning</div><div class='del'>-</div><div class='del'>-	* vm.c, vm_dump.c : move VM state dump (debug) functions to vm_dump.c</div><div class='del'>-</div><div class='del'>-	* depend : adde reconf rule</div><div class='del'>-</div><div class='del'>-	* insnhelper.h :</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.inc : rename to vm_evalbody.h</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-27(Mon) 16:50:31 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns2vm.rb : fix generating unif insn</div><div class='del'>-</div><div class='del'>-	* compile.c : add useless pop/swap insn elimination with stack caching</div><div class='del'>-</div><div class='del'>-	* depend : remove compiled.o dependency</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-26(Sun) 14:06:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : use tmpfile instead of popen</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix generating insn unification logic</div><div class='del'>-</div><div class='del'>-	* opt_insn_unif.def : add some unification rules</div><div class='del'>-</div><div class='del'>-	* compile.c : add verify_list function and fix unification logic</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-22(Wed) 12:58:26 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c, insns.def,  compile.c : add mult optimization</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add test_fact</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-21(Tue) 22:34:07 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, compile.[ch], tmpl/optinsn.inc.tmpl, rb/insns2vm.rb :</div><div class='del'>-	change data structure (don't use Ruby's array to represent a</div><div class='del'>-	instruction sequence)</div><div class='del'>-</div><div class='del'>-	* disasm.c : add separator</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-14(Tue) 07:48:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support "for" statement</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : add test for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.[ch] : add global id idEach</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-08(Wed) 22:30:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : add if/unless(L1) jump (L2) :L1 =&gt; unless/if(L2)</div><div class='del'>-	optimize (condition reversal) and fix typo</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-07(Tue) 08:29:41 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix to remove compiler warning</div><div class='del'>-</div><div class='del'>-	* version.h : 0.2.1</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-07(Tue) 08:16:22 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : iseq_link_element changed to double linked list</div><div class='del'>-</div><div class='del'>-	* disasm.c : support dump struct iseq_link_element</div><div class='del'>-</div><div class='del'>-	* compile.c : use double linked list instead of array</div><div class='del'>-	for intermediate representation</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-06(Mon) 15:38:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c : add link structure to insn and label object</div><div class='del'>-</div><div class='del'>-	* compile.h, compile.c : remove some variables in function top scope</div><div class='del'>-	of iseq_compile_each and some optimization (now working)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-04(Sat) 16:12:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix previous commit</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-04(Sat) 15:56:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix stack caching (after jump state)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-04(Sat) 09:12:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix some point for previous commit</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-04(Sat) 07:31:21 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : optimize case/when statement</div><div class='del'>-	(dispatch on constant time)</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, disasm.c, rb/insns2vm.rb : fixed for above</div><div class='del'>-	(CDHASH)</div><div class='del'>-</div><div class='del'>-	* test/test_syn.rb : add test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-04(Sat) 03:41:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c : add some temporary variable test</div><div class='del'>-	(it'll be vanished)</div><div class='del'>-</div><div class='del'>-	* compile.c : NODE_CASE optimize (use topn instead of dup/swap)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-06-03(Fri) 00:54:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : apply flow optimization for while/until statement</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-04(Fri) 19:34:32 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix category (comment)</div><div class='del'>-</div><div class='del'>-	* depend : remove space between target name and colon</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-04(Fri) 15:55:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tmpl/yarvarch.ja : fix typo</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-04(Fri) 13:30:19 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* depend : add a rule for jitcompile.o</div><div class='del'>-</div><div class='del'>-	* vm.h : fix a macro argument</div><div class='del'>-</div><div class='del'>-	* version.h : 0.2.0</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-03(Thu) 08:35:14 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : remove vm_evalbody.inc call_cfunc.inc from clean target</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-03(Thu) 00:54:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tmpl/insns.inc.tmpl : fixed typo</div><div class='del'>-</div><div class='del'>-	* insns.def : store th-&gt;pc to current pc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-03(Thu) 00:31:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* tmpl/yarvarch.ja, doc/yarv.rb : write current architecture of yarv</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-03-01(Tue) 13:50:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (yarvcore_eval_parsed) : added</div><div class='del'>-	(separeted from yarvcore_eval)</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, compile.c : iseq_translate_direct_threaded_code</div><div class='del'>-	is moved to compile.c</div><div class='del'>-</div><div class='del'>-	* depend : add rule for yasmdata.rb</div><div class='del'>-</div><div class='del'>-	* rb/yasm.rb : support top-level and method-level assemble</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-26(Sat) 08:09:57 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb, compile.c, vm.h : change type long to OFFSET</div><div class='del'>-</div><div class='del'>-	* tmpl/yasmdata.rb.tmpl : added</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : add yasmdata_rb method</div><div class='del'>-</div><div class='del'>-	* rb/yasm.rb : fix some interface (incomplete)</div><div class='del'>-</div><div class='del'>-	* compile.c : iseq_setup added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : YARVCore::InstructionSequence::Instruction#make added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-24(Thu) 07:45:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/yasm.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-24(Thu) 01:13:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : remove useless statements</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-24(Thu) 00:46:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb (InsnInfo) : add @is_sc attr and remove</div><div class='del'>-	is_sc method</div><div class='del'>-</div><div class='del'>-	* compile.c : fix NODE_CASE/NODE_WHEN bug (cond at 'when'</div><div class='del'>-	must not be popped)</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_OP_ASGN1 to &amp;&amp;= and ||=</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-23(Wed) 09:17:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, yarvcore.c : thread_svar added and fix svar location</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-21(Mon) 08:38:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : make type "struct iseq_compile_data"</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : iseq_object#insn_info_ary to iseq_object#insn_info_tbl</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-21(Mon) 05:24:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (compile_string) : remove null check of node</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-19(Sat) 03:52:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : 0.1.1</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-18(Fri) 20:57:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c : add idLTLT, idMethodMissing</div><div class='del'>-</div><div class='del'>-	* compile.c : suopport lval (or others) block parameter</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* insns.def (send) : support method_missing</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* insns.def : opt_ltlt and</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-18(Fri) 08:54:40 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/runc.rb : added</div><div class='del'>-</div><div class='del'>-	* benchmark/contrib/pentomino.rb : added opt_ltlt</div><div class='del'>-	and Float, String plus specialization</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-18(Fri) 07:49:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : remove debug print</div><div class='del'>-</div><div class='del'>-	* rb/aotcompile.rb : skip if yarvcore.so is not created</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-18(Fri) 06:46:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix block passing</div><div class='del'>-	and block argument</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-18(Fri) 05:52:41 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : thread_get_ev_const, thread_get_ev_defined is added</div><div class='del'>-	(separated from insns.def)</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : GET_EV_KLASS(klass) is added</div><div class='del'>-	(separated from insns.def)</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, insns.def, compile.c : support defined? expression (limited)</div><div class='del'>-</div><div class='del'>-	* test/test_syn.rb : tests for above is added</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support block passed method dispatch</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : tests for above is added</div><div class='del'>-</div><div class='del'>-	* compile.h : CALL_ARGS_SPLAT is removed</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-16(Wed) 13:32:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* disasm.c : fix ID to String method</div><div class='del'>-</div><div class='del'>-	* compile.c : NODE_SUPER, NODE_ZSUPER check 'popped'</div><div class='del'>-	and NODE_RETURN check outer type</div><div class='del'>-	and NODE_DREGX_ONCE supported (temporarily)</div><div class='del'>-</div><div class='del'>-	* test/test_syn.rb : add a test</div><div class='del'>-</div><div class='del'>-	* test/test_jump.rb : add a test</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-16(Wed) 06:07:41 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.[hc] : use Symbol instead of Fixnum to represent ID</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : add attr_reader :insns, :insn_map</div><div class='del'>-</div><div class='del'>-	* vm.h, rb/insns2vm.rb : END_INSN have one arg</div><div class='del'>-</div><div class='del'>-	* jitcompile.c : jit compiler framework (experimental)</div><div class='del'>-</div><div class='del'>-	* rb/aotcompile.rb : refactoring</div><div class='del'>-</div><div class='del'>-	* compiled.c : add constant pool</div><div class='del'>-</div><div class='del'>-	* vm_evalbody.inc, call_cfunc.inc, vm.c : separeted from vm.c</div><div class='del'>-</div><div class='del'>-	* insns.def : fix return val</div><div class='del'>-</div><div class='del'>-	* depend : add rules for compiled.o</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-14(Mon) 13:09:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insnhelper.h, yarvcore.h: move YARV_METHOD_NODE to yarvcore.h</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add 2 members jit_compiled and iseq_orig</div><div class='del'>-	to struct iseq_object</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add yarv_jitcompile and global function jitcompile</div><div class='del'>-</div><div class='del'>-	* insns.def : insn opt_call_native_compiled added</div><div class='del'>-</div><div class='del'>-	* jitcompile.c : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-12(Sat) 05:38:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (putstring) : fixed to duplicate string object</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb, tmpl/optunifs.inc.tmpl, compile.c : support</div><div class='del'>-	instructions unification (aka super instruction)</div><div class='del'>-</div><div class='del'>-	* opt_insn_unif.def : added for above</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_unif1.rb : added to measure efficiency of unification</div><div class='del'>-</div><div class='del'>-	* depend : fixed for above</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add option --(enable|disalbe)-opt-insns-unification</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-11(Fri) 12:14:39 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, vm.c, insns.def : permit to access svar from</div><div class='del'>-	cfunc environment</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-09(Wed) 19:31:06 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ite.rb : added (ruby -rite [script file])</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-02-09(Wed) 02:25:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.[hc] : add member compile_data (hash) to iseq_object</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h : check label is already set</div><div class='del'>-</div><div class='del'>-	* compile.c, extconf.rb : support __goto__ and __label__ statement</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-25(Tue) 12:49:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : add break test to test_times</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-25(Tue) 03:34:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : check ruby version if yarv patch is applied or not</div><div class='del'>-</div><div class='del'>-	* evalc.patch : fixed for rb_call_super and above check</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-25(Tue) 03:21:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : refactoring (mainly, make InsnsDef::InsnInfo</div><div class='del'>-	to represent each instruction information)</div><div class='del'>-</div><div class='del'>-	* depend, rb/makedocs.rb : fixed for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (thread_call_super) : added</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_call_super) : added</div><div class='del'>-</div><div class='del'>-	* vm.h : add struct cmethod_info</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : use cmethod_info to represent C method info</div><div class='del'>-</div><div class='del'>-	* insns.def : use iseq_object#klass_nest_stack</div><div class='del'>-	to search super/zsuper's class</div><div class='del'>-</div><div class='del'>-	* prosym.rb : removed</div><div class='del'>-</div><div class='del'>-	* ToDo : write todo things on wiki</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-18(Tue) 23:44:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : check ENV['RUBY'] to use ruby binary</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-10(Mon) 08:44:40 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : 0.1.0</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-09(Sun) 22:01:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* repository : svn propset svn:eol-style native *.c *.h tmpl/*.tmpl</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-09(Sun) 21:48:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : FREE_UNLESS_NULL, MARK_UNLESS_NULL macros are added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : some insn/label methods are added</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add structure menber "insns_ary" to iseq_object</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def (thread_eval_body) : return values with throw</div><div class='del'>-</div><div class='del'>-	* prosym.rb : added</div><div class='del'>-</div><div class='del'>-	* insns.def : add YARV_AOT_COMPILED and some procedure</div><div class='del'>-</div><div class='del'>-	* depend : add compiled.c</div><div class='del'>-</div><div class='del'>-	* compiled.c : added to build compiled Ruby program (C source)</div><div class='del'>-	by AOT compiler</div><div class='del'>-</div><div class='del'>-	* rb/aotcompile.rb : AOT compiler</div><div class='del'>-</div><div class='del'>-	* aotct.rb, rb/aotctest.rb : test and benchmark AOT compiler</div><div class='del'>-</div><div class='del'>-	* rb/allload.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-09(Sun) 08:30:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (yarv_yield_values) : added</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_call0) : change interface. substitute rb_call0 in</div><div class='del'>-	yarv environment</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (yarv_call0) : fix for above</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (yarv_call0_cfunc) : removed</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : change passing items for yarv_setup</div><div class='del'>-</div><div class='del'>-	* evalc.patch : fix for above</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_lists.rb : fix (unsupport block passing)</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : use full path to ruby</div><div class='del'>-</div><div class='del'>-	* insns.def (yield): raise error if argc &gt; expected argc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-08(Sat) 16:07:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add descrioptions</div><div class='del'>-</div><div class='del'>-	* compile.c : fix bugs (getinlinecache operands)</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : initial value of yarvGlobalStateVersion</div><div class='del'>-	to 1</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-08(Sat) 14:39:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, vm.c, evalc.patch : support making backtrace</div><div class='del'>-	(incompatible with current ruby interpreter)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-08(Sat) 11:25:46 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* evalc.patch : commit for previous commit change</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, compile.c, insns.def : MC to IC (inline cache),</div><div class='del'>-	and changed to using IC by set/getinlinecache</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-08(Sat) 10:04:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add global variable sym[IC]FUNC</div><div class='del'>-</div><div class='del'>-	* yarvcore.c (yarv_iterate, yarv_call0_cfunc) : added</div><div class='del'>-	(each called from rb_iterate, rb_call0 with NODE_CFUNC)</div><div class='del'>-</div><div class='del'>-	* vm.c (stack_dump_raw) : fixed to prints more detail</div><div class='del'>-</div><div class='del'>-	* vm.c (stack_dump_th, stack_dump_thobj) : added to</div><div class='del'>-	dumps thread_object states (for VALUE, struct pointer)</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_dump_regs) : added</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_call0, thread_call0_cfunc, thread_invoke_yield,</div><div class='del'>-	thread_invoke_yield_cfunc), insns.def (yield, send) :</div><div class='del'>-	fixed, added to support IFUNC</div><div class='del'>-</div><div class='del'>-	* vm.c, yarvcore.c, insns.def : change type purpose</div><div class='del'>-	thread_object#block_ptr (it holds IFUNC block information,</div><div class='del'>-	so this type was changed to 'NODE *')</div><div class='del'>-</div><div class='del'>-	* vm.c (stack_dump_each) : fixed for above</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb (test_ifunc) : test for above</div><div class='del'>-</div><div class='del'>-	* vm.c (get_block_objec, thread_make_env_object) : fixed bugs</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb (test_xstr) : remove `ls` test</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-06(Thu) 21:35:18 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarv : trying to support NODE_IFUNC (rb_iterate)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-05(Wed) 06:50:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, insns.def, disasm.c, rb/insns2vm.rb, compile.[ch] :</div><div class='del'>-	support inline method cache</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add -*-inline-method-cache (default: enable)</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : add a test for above</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_poly_method.rb : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add option string</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-04(Tue) 17:15:41 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : add compile_array and duparray insn</div><div class='del'>-	to optimize only literal array creation</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_array.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-04(Tue) 10:02:40 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* README : fix version</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-04(Tue) 09:57:25 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* ToDo : reflect current status</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-04(Tue) 09:43:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_VALUES, NODE_ARGSCAT, NODE_SPLAT</div><div class='del'>-</div><div class='del'>-	* test/test_massign.rb : add tests for above</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_swap.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-04(Tue) 06:25:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.h : COMPILE_ERROR break contol (instead of return)</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_MASGN</div><div class='del'>-</div><div class='del'>-	* insns.def : change expandarray for massign and add topn insn</div><div class='del'>-</div><div class='del'>-	* test/test_massign.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-03(Mon) 21:20:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : store block when create proc</div><div class='del'>-</div><div class='del'>-	* test/test_proc.rb : add a test for above change</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add global function "once"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-02(Sun) 00:40:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_super.rb : fix bug (remove infinite loop)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 23:45:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_z?super.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 23:37:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bmx_so_object.rb : rename to benchmark/bm_so_object.rb</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 23:19:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_OP_ASGN2, NODE_OP_ASGN_AND, NODE_OP_ASGN_OR,</div><div class='del'>-	NODE_SUPER, NODE_ZSUPER, NODE_MATCH</div><div class='del'>-</div><div class='del'>-	* insns.def : support super, zsuper (currently, super can't</div><div class='del'>-	handle with block)</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add test for op_asgin2, op_assgin_and/or</div><div class='del'>-</div><div class='del'>-	* test/test_class.rb : add test for super, zsuper</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 20:39:29 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_MATCH</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : fix yarv_svar bug (fix condition boundary)</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : save cfp/lfp/dfp vars to thread_object (th)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 20:03:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : 0.0.1</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add idIntern declaration</div><div class='del'>-</div><div class='del'>-	* insns.def : add getspecial, setspecial.</div><div class='del'>-	implement getclassvariable, setclassvariable.</div><div class='del'>-	store lfp before reg match (opt_regexpmatch1)</div><div class='del'>-</div><div class='del'>-	* compile.c : support ditto, flipflop</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : support svar</div><div class='del'>-</div><div class='del'>-	* test/test_syn.rb : add test for flipflop</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add test for dsym, cvar, backref</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 09:09:32 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : add getspecial insn</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_NTH_REF, NODE_BACK_REF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 06:53:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : support alias, undef</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : test for above</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : fix enbug</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2005-01-01(Sat) 06:00:32 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_jump.rb : add test (next with value)</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c, compile.c, compile.h :</div><div class='del'>-	raise compile error exception instead of rb_bug</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, evalc.patch : support "require"</div><div class='del'>-</div><div class='del'>-	* test.rb : restore $" after evaluation with ruby</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : remove unnecessary each</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-17(Fri) 18:56:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix newhash</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-15(Wed) 13:29:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add version string</div><div class='del'>-</div><div class='del'>-	* compile.c : fix rescure clause bug</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-14(Tue) 22:46:30 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : add reput insn</div><div class='del'>-</div><div class='del'>-	* vm.h : show stack cache registers when stack dump</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb, compile.c : fix stack caching bugs</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-14(Tue) 00:51:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns2vm.rb, compile.c, tmpl/opt_sc.inc.tmpl : fix bugs</div><div class='del'>-</div><div class='del'>-	* rb/mixc-asm.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-14(Tue) 00:17:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c, compile.c : fix SC bugs</div><div class='del'>-	(SC state management)</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add option -[enable|disable]-opt-stack-caching</div><div class='del'>-</div><div class='del'>-	* insns2vm.rb : accept CPPFLAGS options</div><div class='del'>-</div><div class='del'>-	* vm.c : support restrore register for pc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-13(Mon) 16:53:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : add macro INSN_IS_SC()</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-11(Sat) 10:51:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : support singleton method definition</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : add test for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-11(Sat) 03:17:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/*.rb : modify</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add $cleanfiles</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-08(Wed) 13:01:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : change to disable stack caching</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-07(Tue) 19:37:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : add default after</div><div class='del'>-</div><div class='del'>-	* insns.def : fix to work on stack caching</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-07(Tue) 15:07:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* depend : add some dependency to *.inc files</div><div class='del'>-</div><div class='del'>-	* vm.c : add "register" and asm("regname") descriptor</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb, compile.c : add stack caching support</div><div class='del'>-</div><div class='del'>-	* tmpl/opt_sc.inc.tmpl : added to above change</div><div class='del'>-</div><div class='del'>-	* rb/makedocs.rb : fix file path</div><div class='del'>-</div><div class='del'>-	* extconf.rb : fix option selection</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-06(Mon) 11:20:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add vm.asm target if compiler is gcc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-06(Mon) 09:56:24 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h : rename method_frame's member block to block_ptr</div><div class='del'>-</div><div class='del'>-	* extconf.rb : add "-fno-crossjumping" option when compiler</div><div class='del'>-	is gcc</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : add unification insn send</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.rb : define symbol instead of declare const</div><div class='del'>-	variable (for more optmize on VC)</div><div class='del'>-</div><div class='del'>-	* insns.def : move enter point in send</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-06(Mon) 04:53:51 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, opt_operand.def, rb/insns2vm.rb, depend :</div><div class='del'>-	support operand unification</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-05(Sun) 03:16:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def : speed up throw/catch scheme</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-05(Sun) 01:47:05 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : fix catch handler bugs</div><div class='del'>-</div><div class='del'>-	* test/test_jump.rb : test_complex_jump added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-03(Fri) 20:39:05 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/contrib/mcq.rb : added</div><div class='del'>-	(from URABE Syouhei)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-03(Fri) 20:35:28 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : support break in rb_yield block</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-03(Fri) 14:26:35 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support block local variable in current</div><div class='del'>-	ruby specification (patche from Kent Sibilev)</div><div class='del'>-</div><div class='del'>-	* insns.def : support attr_* (patch from Kent Sibilev)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-02(Thu) 21:04:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* opt_operand.def : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-02(Thu) 13:20:41 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, vm.h, vm.c, insns.def, insnhelper.h, yarvutil.rb :</div><div class='del'>-	add usage analisys framework</div><div class='del'>-</div><div class='del'>-	* disasm.c : insn_operand_intern to separate function</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : run each benchmark on another process</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-12-01(Wed) 10:26:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : yield check block is given</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_lists.rb : rename to bmx_lists.rb</div><div class='del'>-	(because it's not work ... bug?)</div><div class='del'>-</div><div class='del'>-	* insns.def : opt_* support other type calc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-30(Tue) 16:14:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_array.rb : added</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_matrix.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-30(Tue) 14:11:30 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/getrev.rb : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : add YARVCore::REV, YARVCore::DATE constant</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-30(Tue) 13:05:42 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_OP_ASGN1 (incomplete)</div><div class='del'>-</div><div class='del'>-	* insns.def : add dupn</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-30(Tue) 08:52:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : 0.0.0.f</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-30(Tue) 08:43:59 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_class.rb : add test_initialize and test_to_s</div><div class='del'>-</div><div class='del'>-	* yarvsubst.c : use rb_funcall instead of yarv_funcall</div><div class='del'>-</div><div class='del'>-	* evalc.patch : fix ruby's patch</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_so_*.rb : change naming rule. "bm_so_*" from</div><div class='del'>-	language shootout</div><div class='del'>-</div><div class='del'>-	* depend : tbench target item is ITEM env val (default: bmx_temp)</div><div class='del'>-</div><div class='del'>-	* vm.c : show raw address if environment is in heap at dumping stack trace</div><div class='del'>-</div><div class='del'>-	* vm.c : thread_call0 added</div><div class='del'>-</div><div class='del'>-	* vm.c : fix thread_yield_light_invoke</div><div class='del'>-</div><div class='del'>-	* yarv.h, yarvcore.c : remove yarv_funcall</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-29(Mon) 11:37:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test/test_proc.rb : add test test_nestproc</div><div class='del'>-</div><div class='del'>-	* yarvsubst.c : comment out yarv_Array_each</div><div class='del'>-</div><div class='del'>-	* insns.def : restore lfp/dfp after call_cfunc</div><div class='del'>-</div><div class='del'>-	* vm.c : fix stack dump routine</div><div class='del'>-</div><div class='del'>-	* vm.c : implement thread_funcall (temporarily)</div><div class='del'>-</div><div class='del'>-	* yarv.h : add IS_YARV_WORKING(), SET_YARV_START(), SET_YARV_STOP()</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : remove check with yarv_in_work</div><div class='del'>-</div><div class='del'>-	* evalc.patch : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-27(Sat) 00:19:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : free -&gt; ruby_xfree</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-26(Fri) 02:11:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm,c : fix bug</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-22(Mon) 11:19:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_ackermann.rb, bm_proc.rb, bm_simpleiter.rb,</div><div class='del'>-	bm_so_exception.rb, bm_wc.rb, wc.input added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-22(Mon) 02:31:56 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_proc.rb : add some test</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, vm.c : support yield in C method (as rb_yield)</div><div class='del'>-</div><div class='del'>-	* vm.c (thread_yield_light_(prepare|invoke)) : support lightweight</div><div class='del'>-	yield</div><div class='del'>-</div><div class='del'>-	* yarv.h : added</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarv.h : support yarv_is_working, yarv_block_given_p,</div><div class='del'>-	yarv_yield, yarv_funcall (only dummy function)</div><div class='del'>-</div><div class='del'>-	* vm.c : thread_eval_body changed return value</div><div class='del'>-</div><div class='del'>-	* yarvsubst.c : added and add yarv_Integer_times, yarv_Array_each</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : block_ptr is added to struct thread_object</div><div class='del'>-</div><div class='del'>-	* insns.def : pass block when C method call</div><div class='del'>-</div><div class='del'>-	* insnhelper.h : add GET_ISEQOBJ(cfp) macro</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-21(Sun) 07:25:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c : support Proc#call</div><div class='del'>-</div><div class='del'>-	* test/test_proc.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-19(Fri) 18:04:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : support creating Proc object</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-15(Mon) 14:19:27 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def (send) : use clear_local_size to specify</div><div class='del'>-	clear local table vars.</div><div class='del'>-</div><div class='del'>-	* insns.def : block represent data shares lfp, dfp with frame data</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-13(Sat) 18:19:41 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, insns.def : add VM_CALL_ARGS_SPLAT_BIT and</div><div class='del'>-	VM_CALL_ARGS_BLOCKARG_BIT</div><div class='del'>-</div><div class='del'>-	* compile.c, compile.h : add ADD_SEND, ADD_SEND_R</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-10(Wed) 08:26:25 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* add "vm_" prefix to (block_object, proc_object, env_object)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-03(Wed) 15:52:14 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c, disasm.c, compile.c, insns.def, vm.c :</div><div class='del'>-	fix to move x86_64 (illegal cast, etc)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-11-01(Mon) 04:45:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, compile.c, debug.c, version.h :</div><div class='del'>-	redesgin gc debug scheme (GC_CHECK())</div><div class='del'>-</div><div class='del'>-	* yarvcore.c : mark iseqobj-&gt;current_block on GC</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : last "throw" in ensure/rescue block</div><div class='del'>-	use operand throwobj and before this insn, use "getdynamic 0, 1"</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_temp.rb : move to benchmark bmx_temp.rb</div><div class='del'>-</div><div class='del'>-	* depend : change some targets</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-10-25(Mon) 19:57:58 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : push exception iseq to iseqobj-&gt;iseq_mark_ary</div><div class='del'>-	to mark for GC</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-10-10(Sun) 16:25:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : remove $_, $' area from method local frame</div><div class='del'>-	and provide that's special method local variables pointer(LFP[-1])</div><div class='del'>-</div><div class='del'>-	* disasm.c : change environment showing format</div><div class='del'>-</div><div class='del'>-	* yarvcore.(h|c) : add YarvProc, YarvEnv</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add arg_block field to iseq_object</div><div class='del'>-	and init -1 as default value</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-30(Thu) 19:50:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support passing splat argument</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support rest argument</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support optional argument initializer</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : add tests for above</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-29(Wed) 10:50:03 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix rescue clause popped</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_random.rb : move to benchmark/bmx_random.rb</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-29(Wed) 01:25:35 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* many many files: change stack frame design</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-16(Thu) 08:51:37 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h : support 'return' from method</div><div class='del'>-	in ensure clause</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-13(Mon) 21:56:40 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support inline cache constant access</div><div class='del'>-	on NODE_COLON2, NODE_COLON3</div><div class='del'>-</div><div class='del'>-	* depend : add 'vtest' rule(verbose test)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-13(Mon) 10:58:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, yarvcore.h : support redo/next/break in</div><div class='del'>-	while/until</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-13(Mon) 08:50:19 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_jump.rb : added(correctly)</div><div class='del'>-</div><div class='del'>-	* benchamark/bm_(ensure|rescue|simplereturn).rb added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-12(Sun) 23:30:20 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_jump.rb : added</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c : add 'putnil' insn</div><div class='del'>-</div><div class='del'>-	* compile.c : use '===' when rescue check</div><div class='del'>-</div><div class='del'>-	* insns.def : remove 'rescuecheck' insn</div><div class='del'>-</div><div class='del'>-	* compile.c : support retry in begin/rescue clause</div><div class='del'>-</div><div class='del'>-	* ToDo : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-08(Wed) 12:34:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, yarvcore.c : add idThrow*</div><div class='del'>-</div><div class='del'>-	* insns.def, compile.c, vm.c : support retry, break,</div><div class='del'>-	next, redo, return(incomplete)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-03(Fri) 13:40:08 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : add nop after rescue body</div><div class='del'>-</div><div class='del'>-	* insns.def, vm.c : support stack rewind when thrown</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-01(Wed) 17:31:01 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_exception.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-01(Wed) 13:15:14 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.c, insns.def : implementing exception handling</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-09-01(Wed) 00:18:54 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : add 'throw' insn</div><div class='del'>-</div><div class='del'>-	* compile.c : support 'rescue' and 'ensure' clause</div><div class='del'>-</div><div class='del'>-	* yarvcore.c, yarvcore.h : add 'catch_table' to iseq_struct</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-30(Mon) 19:06:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.h : NEW_ISEQOBJ don't pass self as parent</div><div class='del'>-</div><div class='del'>-	* compile.c : use NEW_CHILD_ISEQOBJ explicitly</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-29(Sun) 21:09:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : trying to implement rescue/ensure</div><div class='del'>-</div><div class='del'>-	* insns.def : fix yield bug(lfp, dfp link)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-28(Sat) 13:52:15 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix dvar bug</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : add test</div><div class='del'>-</div><div class='del'>-	* insns.def, insnhelper.h : remove unused source code</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-28(Sat) 08:51:26 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_DASGN</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : add test</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-28(Sat) 08:13:04 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support access to instance variable</div><div class='del'>-</div><div class='del'>-	* test/test_class.rb : add test of instance variable</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_block.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-28(Sat) 07:48:43 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : fix block parameter name</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-28(Sat) 07:27:52 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support method call with block</div><div class='del'>-	and yield and add some functions</div><div class='del'>-</div><div class='del'>-	* compile.c, insns.def : support dynavars accessor</div><div class='del'>-</div><div class='del'>-	* test/test_block.rb : added</div><div class='del'>-</div><div class='del'>-	* vm.c : fix block parameter stack dump</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-27(Fri) 23:56:47 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c(iseq_compile) : remove parameter iseqtype</div><div class='del'>-	(this information can access via self)</div><div class='del'>-</div><div class='del'>-2004-08-27(Fri) 17:13:35 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add test(absolute path constant)</div><div class='del'>-</div><div class='del'>-	* yarvcore.h, compile.c(iseq_compile) : change parameter</div><div class='del'>-</div><div class='del'>-	* insns.def(classdef) : fix bug</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-27(Fri) 04:53:13 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : support setconstant, getconstant, classdef,</div><div class='del'>-	moduledef</div><div class='del'>-</div><div class='del'>-	* vm.h : fix debug levels and so on</div><div class='del'>-</div><div class='del'>-	* vm.h : foo_WORD -&gt; foo_WC</div><div class='del'>-</div><div class='del'>-	* test/test_class.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-25(Wed) 17:51:50 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix getconstant/setconstant/classdef</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-25(Wed) 14:27:10 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* debug.[ch] : added</div><div class='del'>-</div><div class='del'>-	* compile.c, disasm.c : use debug interface</div><div class='del'>-</div><div class='del'>-	* compile.c : support some nodes</div><div class='del'>-</div><div class='del'>-	* compile.c, rb/insns2vm.rb : remove TS_CPATH</div><div class='del'>-</div><div class='del'>-	* insns.def : modify classdef/moduledef/singletonclassdef</div><div class='del'>-	and add popcref</div><div class='del'>-</div><div class='del'>-	* and others...</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-08-18(Wed) 20:16:45 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix case/when statement with empty else clause</div><div class='del'>-</div><div class='del'>-	* insns.def : enable compile</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add class search path scheme</div><div class='del'>-</div><div class='del'>-	* test/test_syn.rb : add switch/case test case</div><div class='del'>-</div><div class='del'>-	* tmpl/yarvarch.ja : update documents</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-22(Sat) 01:30:44 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvutil.rb : add eval_in_wrap</div><div class='del'>-</div><div class='del'>-	* test/test_*.rb : change to use eval_in_wrap</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-20(Thu) 02:50:32 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* support global variables</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_*.rb : add some benchmarks</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_ATTRASGN</div><div class='del'>-</div><div class='del'>-	* compile.c : add debugi(...)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-19(Wed) 23:19:38 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* test/test_method.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-19(Wed) 22:56:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : fix typo</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb : sort benchmark order by filename</div><div class='del'>-</div><div class='del'>-	* extconf.rb : use --enable/disable-xxx</div><div class='del'>-</div><div class='del'>-	* version.h : ditto(don't touch to change yarv options)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-19(Wed) 21:18:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* yarvutil.rb : added</div><div class='del'>-</div><div class='del'>-	* test.rb, test/*, benchmark/run.rb : use yarvutil.rb</div><div class='del'>-</div><div class='del'>-	* version.h : USE_OPTIMIZED_REGEXP_MATCH added</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add idEqTilde</div><div class='del'>-</div><div class='del'>-	* yarvcore.c(yarvcore_parse, yarvcore_eval) : require file and line</div><div class='del'>-	parameter</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add regexp test</div><div class='del'>-</div><div class='del'>-	* benchmark/bm_regexp.rb : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-19(Wed) 13:57:31 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : add compile_dstr(self, node)</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_MATCH2, NODE_MATCH3, NODE_DXSTR</div><div class='del'>-</div><div class='del'>-	* insns.def : add toregexp</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-18(Tue) 10:12:20 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_XDSTR</div><div class='del'>-</div><div class='del'>-	* test/test_bin.rb : add test for above change</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-18(Tue) 09:46:33 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def(send) : store regs before call_cfunc</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-18(Tue) 08:55:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_DSTR, NODE_EVSTR</div><div class='del'>-</div><div class='del'>-	* compile.c : support NODE_XSTR</div><div class='del'>-</div><div class='del'>-	* insns.def : add tostring operation</div><div class='del'>-</div><div class='del'>-	* rb/makedocs.rb : fix directory path</div><div class='del'>-</div><div class='del'>-	* depend : add tbench rule</div><div class='del'>-</div><div class='del'>-	* yarvcore.h : add 'exten ID idBackquote'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-18(Tue) 00:09:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h : add USE_OPTIMIZED_BASIC_OPERATION</div><div class='del'>-</div><div class='del'>-	* yarvcore.h(struct thread_object) : add 'VALUE stat_insn_usage'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-17(Mon) 11:28:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* version.h, insns.def, yarvcore.c : add FAKE_INLINE_METHOD_CACHE</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-17(Mon) 09:05:53 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* compile.c : fix generating opt_* insn process</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-17(Mon) 08:58:49 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/(bm_tarai.rb, bm_fib.rb) : added</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-17(Mon) 08:20:12 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/(bm_tak.rb, bm_reccount.rb) : added</div><div class='del'>-</div><div class='del'>-	* insns.def : test method cache(incomplete)</div><div class='del'>-</div><div class='del'>-	* insns.def : add expandarray insn</div><div class='del'>-</div><div class='del'>-	* yarvcore.c(iseq_init) : add parameter 'parent'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-17(Mon) 01:49:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* benchmark/run.rb, bm_factorial.rb, bm_whileloop.rb : added</div><div class='del'>-</div><div class='del'>-	* insns.def(send) : set id to ruby_frame-&gt;orig_func</div><div class='del'>-</div><div class='del'>-	* check behavior on mswin32 and cygwin</div><div class='del'>-</div><div class='del'>-	* insns.def(send) : check stack overflow</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-16(Sun) 08:00:55 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* change frame structure(debugging)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-14(Fri) 15:06:02 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns2vm.rb : support file name arguments</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-14(Fri) 04:33:09 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* insns.def : support (easy) constant</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-12(Wed) 01:51:48 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* rb/insns2vm.b : set directory prefix</div><div class='del'>-</div><div class='del'>-	* disasm.c : fix bug</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-12(Wed) 00:00:17 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h, compiler.h, version.h : move *DEBUG defs to version.h</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-11(Tue) 23:00:11 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* vm.h, version.h, yarvcore.h : move gcc ver check to version.h</div><div class='del'>-	and include version.h from yarvcore.h</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2004-05-11(Tue) 19:16:26 +0900  Koichi Sasada  &lt;ko1@atdot.net&gt;</div><div class='del'>-</div><div class='del'>-	* 0.0.0.d : imported</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Local variables:</div><div class='del'>-add-log-time-format: (lambda ()</div><div class='del'>-  (let* ((time (current-time))</div><div class='del'>-	 (diff (+ (cadr time) 32400))</div><div class='del'>-	 (lo (% diff 65536))</div><div class='del'>-	 (hi  (+ (car time) (/ diff 65536))))</div><div class='del'>-  (format-time-string "%Y-%m-%d(%a) %H:%M:%S +900"  (list hi lo) t)))</div><div class='del'>-indent-tabs-mode: t</div><div class='del'>-tab-width: 8</div><div class='del'>-end:</div><div class='head'>diff --git a/doc/NEWS b/doc/NEWS<br/>new file mode 100644<br/>index 0000000000..b4445fa59f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/doc/NEWS?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/NEWS</a></div><div class='hunk'>@@ -0,0 +1,837 @@</div><div class='add'>+= command line options</div><div class='add'>+</div><div class='add'>+: -W option</div><div class='add'>+</div><div class='add'>+  new option to specify warning level. -W0 to shut up warnings, -W1 for normal level,</div><div class='add'>+  -W2 for verbose level.  -w equals to -W2.</div><div class='add'>+</div><div class='add'>+= language syntax</div><div class='add'>+</div><div class='add'>+: arbitrary delimited string array</div><div class='add'>+</div><div class='add'>+  %W(...) notation, word list literal like %w(...) with the</div><div class='add'>+  exception that #{} interpolation is allowed.</div><div class='add'>+</div><div class='add'>+: arbitrary delimited symbol literl</div><div class='add'>+</div><div class='add'>+  :"foo", :"foo#{bar}", etc.</div><div class='add'>+</div><div class='add'>+: expression interpolation in strings</div><div class='add'>+</div><div class='add'>+  Now arbitrary statements are allowed inside #{} interpolation</div><div class='add'>+  without escapes.  In other hand, they can no longer access to</div><div class='add'>+  variables defined in eval.</div><div class='add'>+</div><div class='add'>+: negative number literals</div><div class='add'>+</div><div class='add'>+  Digits preceded minus sign is a literal integer.</div><div class='add'>+</div><div class='add'>+: array expansion</div><div class='add'>+</div><div class='add'>+  Fixed with the following behavior:</div><div class='add'>+</div><div class='add'>+    a = *[1]</div><div class='add'>+    p a #=&gt; [1]</div><div class='add'>+</div><div class='add'>+  Now 1-element array in rhs is expanded properly.</div><div class='add'>+</div><div class='add'>+    a = *[1]</div><div class='add'>+    p a #=&gt; 1</div><div class='add'>+</div><div class='add'>+: break and next</div><div class='add'>+</div><div class='add'>+  Extended to take an optional expression, which is used as a value</div><div class='add'>+  for termination.</div><div class='add'>+</div><div class='add'>+: direct assignment to Foo::Bar is allowed</div><div class='add'>+</div><div class='add'>+  also, you can define "class Foo::Bar; end".</div><div class='add'>+</div><div class='add'>+= language core</div><div class='add'>+</div><div class='add'>+: $stdin, $stdout, $stderr</div><div class='add'>+</div><div class='add'>+  can be assignable again.  the original stdio are preserved as STDIN,</div><div class='add'>+  STDOUT, STDERR.</div><div class='add'>+</div><div class='add'>+: $VERBOSE now has 3 levels</div><div class='add'>+</div><div class='add'>+  nil - silence, false - medium (default), true - verbose</div><div class='add'>+</div><div class='add'>+: allocation framework</div><div class='add'>+</div><div class='add'>+  any instance of class can be allocated by class.allocate,</div><div class='add'>+  (except for a few classes).</div><div class='add'>+</div><div class='add'>+: comparison of exception classes in a rescue clause</div><div class='add'>+</div><div class='add'>+  changed to use Module#=== for comparing $! with the exception</div><div class='add'>+  class specified in each rescue clause.</div><div class='add'>+</div><div class='add'>+  as the previous behavior was to use kind_of?, the effect is limited</div><div class='add'>+  to the SystemCallError case.  SystemCallError.=== has been newly</div><div class='add'>+  defined to return true when the two have the same errno.  With this</div><div class='add'>+  change, SystemCallError's with the same errno, such as Errno::EAGAIN</div><div class='add'>+  and Errno::EWOULDBLOCK, can both be rescued by listing just one of</div><div class='add'>+  them.</div><div class='add'>+</div><div class='add'>+: constants lookup</div><div class='add'>+</div><div class='add'>+  improved at the performance of searching by using an internal hash</div><div class='add'>+  table.</div><div class='add'>+</div><div class='add'>+  calls const_missing method of the class/module, if constant is not</div><div class='add'>+  found in the look up path.</div><div class='add'>+</div><div class='add'>+: expression parenthesis in the first argument</div><div class='add'>+</div><div class='add'>+  altered to get the following code (note the space after p):</div><div class='add'>+</div><div class='add'>+    p ("xx"*2).to_i</div><div class='add'>+</div><div class='add'>+  Interpreted as:</div><div class='add'>+</div><div class='add'>+    p (("xx"*2).to_i)</div><div class='add'>+</div><div class='add'>+  Instead of:</div><div class='add'>+</div><div class='add'>+    (p("xx"*2)).to_i</div><div class='add'>+</div><div class='add'>+: implicit comparison in conditional expressions</div><div class='add'>+</div><div class='add'>+  Obsoleted except when it is used in -e.</div><div class='add'>+</div><div class='add'>+  : between Range and $.</div><div class='add'>+      Use explicit comparison instead.</div><div class='add'>+</div><div class='add'>+  : between Regexp and $_</div><div class='add'>+      Use the unary method ~/re/ instead.</div><div class='add'>+</div><div class='add'>+: to_str</div><div class='add'>+</div><div class='add'>+  added to get objects which define to_str() treated as String's.</div><div class='add'>+</div><div class='add'>+  now almost all the built-in methods try each argument with to_str()</div><div class='add'>+  when they expect it to be a String.</div><div class='add'>+</div><div class='add'>+    foo = Object.new</div><div class='add'>+    class &lt;&lt;foo</div><div class='add'>+      def to_str</div><div class='add'>+        "foo"</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    p File.open(foo)</div><div class='add'>+    =&gt; -:7:in `open': wrong argument type Object (expected String) (TypeError)</div><div class='add'>+       ruby 1.6.4 (2001-04-19) [i586-linux]</div><div class='add'>+    =&gt; -:7:in `open': No such file or directory - "foo" (Errno::ENOENT)</div><div class='add'>+       ruby 1.7.0 (2001-05-02) [i586-linux]</div><div class='add'>+</div><div class='add'>+: multiple assignment behavior</div><div class='add'>+</div><div class='add'>+  Fixed so that "*a = nil" results in "a == []".</div><div class='add'>+</div><div class='add'>+= changes in core class library</div><div class='add'>+</div><div class='add'>+: open</div><div class='add'>+</div><div class='add'>+  Extended so that when the third argument is permission flags it</div><div class='add'>+  calls open(2) instead of fopen(3).</div><div class='add'>+</div><div class='add'>+: sprintf</div><div class='add'>+</div><div class='add'>+  new format specifier "%p" is available.</div><div class='add'>+</div><div class='add'>+: lambda and proc</div><div class='add'>+</div><div class='add'>+  Proc object returns from these methods has the following attributes:</div><div class='add'>+</div><div class='add'>+  * strict argument number check</div><div class='add'>+  * break and return terminates the proc execution.</div><div class='add'>+</div><div class='add'>+: warn(message)</div><div class='add'>+</div><div class='add'>+  a method to give warnings.</div><div class='add'>+</div><div class='add'>+: abort()</div><div class='add'>+</div><div class='add'>+  takes optional terminate message argument.</div><div class='add'>+</div><div class='add'>+: Object#initialize_copy</div><div class='add'>+</div><div class='add'>+  copy constructor for clone and dup.</div><div class='add'>+</div><div class='add'>+: Object#instance_variable_set, Object#instance_variable_get</div><div class='add'>+</div><div class='add'>+  added.</div><div class='add'>+</div><div class='add'>+: Object#singleton_method_removed</div><div class='add'>+: Object#singleton_method_undefined</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Array#transpose</div><div class='add'>+</div><div class='add'>+  added.</div><div class='add'>+</div><div class='add'>+: Array#fetch(index [, default])</div><div class='add'>+</div><div class='add'>+  Added.  If a default value isn't given, raises index error if index</div><div class='add'>+  is out of range.</div><div class='add'>+</div><div class='add'>+: Array#insert(n, other, ...)</div><div class='add'>+</div><div class='add'>+  Added. [ruby-talk:14289]</div><div class='add'>+</div><div class='add'>+  This is much the same as (({ary[n,0] = [other,...]})) except</div><div class='add'>+  returing self.</div><div class='add'>+</div><div class='add'>+    ary = [0,1,2,3]</div><div class='add'>+    ary[2, 0] = [4, 5, 6]</div><div class='add'>+    p ary</div><div class='add'>+</div><div class='add'>+    ary = [0,1,2,3]</div><div class='add'>+    ary.insert(2, 4, 5, 6)</div><div class='add'>+    p ary</div><div class='add'>+</div><div class='add'>+: Array#sort!</div><div class='add'>+</div><div class='add'>+  Changed to always return self without checking whether the sequence</div><div class='add'>+  of the elements was modified or not.</div><div class='add'>+</div><div class='add'>+  Beware that this behavior is not guaranteed to continue in the</div><div class='add'>+  future.  Do not rely on its return value. [ruby-dev:12506]</div><div class='add'>+</div><div class='add'>+: Array#filter</div><div class='add'>+</div><div class='add'>+  Previously deprecated, now removed.  Use Array#collect!.</div><div class='add'>+</div><div class='add'>+: Array#pack, String#unpack</div><div class='add'>+</div><div class='add'>+  Allows comment in template strings.</div><div class='add'>+</div><div class='add'>+: Array#pack, String#unpack</div><div class='add'>+</div><div class='add'>+  New templates 'q' and 'Q' for 64bit integer (signed and unsigned respectively).</div><div class='add'>+</div><div class='add'>+: Array#new</div><div class='add'>+</div><div class='add'>+  Now takes block to fill initial values.  E.g.</div><div class='add'>+</div><div class='add'>+	Array.new(10) { |i| i + 1 }</div><div class='add'>+	=&gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]</div><div class='add'>+</div><div class='add'>+: Array#fill</div><div class='add'>+</div><div class='add'>+  Takes block to get the values to fill.</div><div class='add'>+</div><div class='add'>+: Array#fetch</div><div class='add'>+</div><div class='add'>+  Takes block to get the default value.</div><div class='add'>+</div><div class='add'>+: Array#zip</div><div class='add'>+</div><div class='add'>+  added.</div><div class='add'>+</div><div class='add'>+: Hash#update</div><div class='add'>+</div><div class='add'>+  Takes block to resolve key conflict.</div><div class='add'>+</div><div class='add'>+: Hash#merge and Hash#merge!</div><div class='add'>+</div><div class='add'>+  update hash.  Hash#merge! is a synonym of Hash#update.</div><div class='add'>+</div><div class='add'>+: String#split</div><div class='add'>+</div><div class='add'>+  if "sep" argument is a string, regular expression meta characters</div><div class='add'>+  are escaped internally.</div><div class='add'>+</div><div class='add'>+: String#rstrip</div><div class='add'>+</div><div class='add'>+  chop off NULs at the end of strings.</div><div class='add'>+</div><div class='add'>+: String#to_i</div><div class='add'>+</div><div class='add'>+  Now accepts optional base argument.</div><div class='add'>+</div><div class='add'>+	"101".to_i(10) =&gt; 101</div><div class='add'>+	"101".to_i(2)  =&gt; 5</div><div class='add'>+	"101".to_i(8)  =&gt; 65</div><div class='add'>+	"101".to_i(16) =&gt; 257</div><div class='add'>+</div><div class='add'>+  A base argument of 0 guesses at the base.</div><div class='add'>+</div><div class='add'>+	"101".to_i(0)   =&gt; 101</div><div class='add'>+	"0b101".to_i(0) =&gt; 5</div><div class='add'>+	"0101".to_i(0)  =&gt; 65</div><div class='add'>+	"0x101".to_i(0) =&gt; 257</div><div class='add'>+</div><div class='add'>+: String#[regexp, nth]</div><div class='add'>+</div><div class='add'>+  Extended to accepts optional second argument.</div><div class='add'>+</div><div class='add'>+  It tries match between self and REGEXP, then returns the</div><div class='add'>+  content of the NTH regexp register.</div><div class='add'>+</div><div class='add'>+: String#casecmp</div><div class='add'>+</div><div class='add'>+  Added.  This is a case insensitive version of String#&lt;=&gt;.</div><div class='add'>+</div><div class='add'>+: String#chomp</div><div class='add'>+</div><div class='add'>+  If $/ == "\n", chops off last newlines (any of \n, \r, \r\n).</div><div class='add'>+</div><div class='add'>+: String#eql?</div><div class='add'>+</div><div class='add'>+  Changed to be always case sensitive.</div><div class='add'>+</div><div class='add'>+: String#insert(n, other)</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+  This is much the same as (({str[n, 0] = other})) except returing</div><div class='add'>+  self.</div><div class='add'>+</div><div class='add'>+: String#lstrip, rstrip, lstrip!, rstrip!</div><div class='add'>+</div><div class='add'>+  Added.  These strip only left or right part of a string.</div><div class='add'>+</div><div class='add'>+: String#match</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: String/Array methods</div><div class='add'>+</div><div class='add'>+  Returns an instance of receivers class.</div><div class='add'>+</div><div class='add'>+: String.new</div><div class='add'>+</div><div class='add'>+  The first argument becomes optional.</div><div class='add'>+</div><div class='add'>+: Symbol#intern</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Symbol.all_symbols</div><div class='add'>+</div><div class='add'>+  Added. [ruby-dev:12921]</div><div class='add'>+</div><div class='add'>+: IO</div><div class='add'>+</div><div class='add'>+  64bit off_t support by Janathan Baker.</div><div class='add'>+</div><div class='add'>+: IO#read</div><div class='add'>+: IO#sysread</div><div class='add'>+</div><div class='add'>+  takes optinal second argument for read buffer.</div><div class='add'>+</div><div class='add'>+: IO::sysopen</div><div class='add'>+</div><div class='add'>+  New method to get a raw file descriptor.</div><div class='add'>+</div><div class='add'>+: IO#sysseek</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: IO#fsync</div><div class='add'>+</div><div class='add'>+  new method that copies all in-memory parts of a file to disk and</div><div class='add'>+  waits until the device reports that all parts are on stable storage.</div><div class='add'>+  Implemented with fsync(2) or equivalent.</div><div class='add'>+</div><div class='add'>+: IO.open</div><div class='add'>+</div><div class='add'>+  Made public.  Can only associate an IO object with a file number</div><div class='add'>+  like IO.new and IO.for_fd, but can take a block.</div><div class='add'>+</div><div class='add'>+: IO.for_fd</div><div class='add'>+</div><div class='add'>+  Added as a synonym for IO.new.</div><div class='add'>+</div><div class='add'>+: IO.read</div><div class='add'>+</div><div class='add'>+  Added.  Like IO.readlines, except it returns the entire file as a</div><div class='add'>+  string.  [ruby-talk:9460]</div><div class='add'>+</div><div class='add'>+: File#fnmatch, File::Constants::FNM_*</div><div class='add'>+</div><div class='add'>+  Added.  Refer to the fnmatch(3) manpage for details.</div><div class='add'>+</div><div class='add'>+  Localism is FNM_DOTMATCH which has the opposite meaning of the</div><div class='add'>+  commonly known FNM_PERIOD, which does not exist in Ruby.</div><div class='add'>+</div><div class='add'>+  e.g.</div><div class='add'>+</div><div class='add'>+    # exclude files matching "*.bak" case-insensitively.</div><div class='add'>+    files.reject! {|fn| File.fnmatch?("*.bak", fn, File::FNM_CASEFOLD) }</div><div class='add'>+</div><div class='add'>+: File.lchmod</div><div class='add'>+: File.lchown</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: File.open, IO.open</div><div class='add'>+</div><div class='add'>+  File mode can be specified by flags like open(2),</div><div class='add'>+  e.g. File::open(path, File::CREAT|File::WRONLY).</div><div class='add'>+</div><div class='add'>+: Regexp#options</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Regexp.last_match(n)</div><div class='add'>+</div><div class='add'>+  Extended to take an optional argument.</div><div class='add'>+</div><div class='add'>+: MatchData#captures</div><div class='add'>+</div><div class='add'>+  added.</div><div class='add'>+</div><div class='add'>+: Dir#path</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Dir.chdir</div><div class='add'>+</div><div class='add'>+  Extended to take a block.</div><div class='add'>+</div><div class='add'>+: Dir.glob</div><div class='add'>+</div><div class='add'>+  Made to support meta-character escaping by a backslash.  Wildcards</div><div class='add'>+  and spaces may now be escaped using a backslash.</div><div class='add'>+</div><div class='add'>+: Dir.open</div><div class='add'>+</div><div class='add'>+  Changed to return what the block returns when a block is given, just</div><div class='add'>+  as File.open does. (It always returned (({nil})) in 1.6 and</div><div class='add'>+  prior)</div><div class='add'>+</div><div class='add'>+: Dir.chdir</div><div class='add'>+</div><div class='add'>+  Changed to warn only when invoked from multiple threads or no block</div><div class='add'>+  is given. [ruby-dev:13823]</div><div class='add'>+</div><div class='add'>+    Dir.chdir('foo') {</div><div class='add'>+      Dir.chdir('bar') {   # previously warned</div><div class='add'>+        puts Dir.pwd</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+: Dir#pos=</div><div class='add'>+</div><div class='add'>+  Returns the new position instead of self.</div><div class='add'>+</div><div class='add'>+: Dir::glob</div><div class='add'>+</div><div class='add'>+  Now accepts optional FNM_* flags via the second argument, whereas</div><div class='add'>+  Dir::[] doesn't.</div><div class='add'>+</div><div class='add'>+    Dir.glob("makefile", File::FNM_CASEFOLD) #=&gt; ['Makefile', 'makefile']</div><div class='add'>+</div><div class='add'>+: Class#inherited</div><div class='add'>+</div><div class='add'>+  Method is called when Class is inherited by another class.</div><div class='add'>+</div><div class='add'>+	class A; end</div><div class='add'>+	def A.inherited(by)</div><div class='add'>+          puts "A inherited by #{by.inspect}"</div><div class='add'>+        end</div><div class='add'>+        class B &lt; A; end</div><div class='add'>+</div><div class='add'>+        Prints out "A inherited by B"</div><div class='add'>+</div><div class='add'>+: Module#include?</div><div class='add'>+</div><div class='add'>+  Added. [ruby-dev:13941] </div><div class='add'>+</div><div class='add'>+: Module#included</div><div class='add'>+</div><div class='add'>+  Added.  This is a hook called after Module#append_feature.</div><div class='add'>+</div><div class='add'>+: Module#method_removed</div><div class='add'>+: Module#method_undefined</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Module.new, Class.new</div><div class='add'>+</div><div class='add'>+  Extended to take block.</div><div class='add'>+</div><div class='add'>+: Time</div><div class='add'>+</div><div class='add'>+  Extended to accept a negative time_t. (Only when the platform</div><div class='add'>+  supports it)</div><div class='add'>+</div><div class='add'>+    p Time.at(-1)</div><div class='add'>+    =&gt; Thu Jan 01 08:59:59 JST 1970</div><div class='add'>+</div><div class='add'>+: Time#to_a</div><div class='add'>+: Time#zone</div><div class='add'>+</div><div class='add'>+  Made to return "UTC" under gmtime.  It used to return a platform</div><div class='add'>+  dependent value, typically "GMT", in 1.6 and prior.</div><div class='add'>+</div><div class='add'>+: Marshal to use marshal_dump and marshal_load</div><div class='add'>+</div><div class='add'>+  if a dumping object responds to 'marshal_dump', Marshal.dump calls</div><div class='add'>+  it, and dumps object returned.  Marshal.load allocates a new instance</div><div class='add'>+  using "allocate", then calls its "marshal_load" with dumped data.</div><div class='add'>+  Marshal format version is now 4.8 (was 4.6 in 1.6.8).</div><div class='add'>+</div><div class='add'>+: Marshal</div><div class='add'>+</div><div class='add'>+  Fixed not to dump anonymous classes/modules.</div><div class='add'>+</div><div class='add'>+  Fixed with loading modules.</div><div class='add'>+</div><div class='add'>+: Thread#group</div><div class='add'>+</div><div class='add'>+  new method to get belonging  ThreadGroup.</div><div class='add'>+</div><div class='add'>+: Thread#terminate</div><div class='add'>+</div><div class='add'>+  synonym of Thread#exit</div><div class='add'>+</div><div class='add'>+: Thread#join</div><div class='add'>+</div><div class='add'>+  Optional argument limits maximum time to wait the thread in second.</div><div class='add'>+  And returns nil if timed out.</div><div class='add'>+</div><div class='add'>+: ThreagGroup#enclose</div><div class='add'>+</div><div class='add'>+  prohibits thread movement from/to enclosed groups.</div><div class='add'>+</div><div class='add'>+: Range#step([step=1])</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: SystemCallError</div><div class='add'>+</div><div class='add'>+  SystemCallError's "===" match (used in rescue also) is now based on its errno.</div><div class='add'>+</div><div class='add'>+: Interrupt</div><div class='add'>+</div><div class='add'>+  Made a subclass of SignalException. (It was a subclass of</div><div class='add'>+  Exception in 1.6 and prior)</div><div class='add'>+</div><div class='add'>+: NameError and NoMethodError</div><div class='add'>+</div><div class='add'>+  Moved and now NoMethodError &lt; NameError &lt; StandardError.</div><div class='add'>+</div><div class='add'>+: NoMethodError</div><div class='add'>+</div><div class='add'>+  Added. [ruby-dev:12763]</div><div class='add'>+</div><div class='add'>+: NotImplementError</div><div class='add'>+</div><div class='add'>+  Finally obsoleted.  Use NotImplementedError.</div><div class='add'>+</div><div class='add'>+: SystemCallError.===</div><div class='add'>+</div><div class='add'>+  Added. (See the "Comparison of exception classes in a rescue clause"</div><div class='add'>+  paragraph above) [ruby-dev:12670]</div><div class='add'>+</div><div class='add'>+: SystemExit#status</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Proc#==</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Method#==</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: UnboundMethod is no longer subclass of Method</div><div class='add'>+</div><div class='add'>+  class hierarchy changed. </div><div class='add'>+</div><div class='add'>+: Enumerable#all?</div><div class='add'>+: Enumerable#any?</div><div class='add'>+: Enumerable#inject</div><div class='add'>+: Enumerable#sort_by</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Math.acos(x)</div><div class='add'>+: Math.asin(x)</div><div class='add'>+: Math.atan(x)</div><div class='add'>+: Math.cosh(x)</div><div class='add'>+: Math.hypot(x,y)</div><div class='add'>+: Math.sinh(x)</div><div class='add'>+: Math.tanh(x)</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Process.abort</div><div class='add'>+: Process.exit</div><div class='add'>+</div><div class='add'>+  synonym of Kernel#abort, and Kernel#exit respectively.</div><div class='add'>+</div><div class='add'>+: Process::detach(pid)</div><div class='add'>+</div><div class='add'>+  new method to detach child process.  child process will be "wait"ed</div><div class='add'>+  automagically.</div><div class='add'>+</div><div class='add'>+: Process.times</div><div class='add'>+</div><div class='add'>+  Moved from Time.times. (Time.times still remains but emits a</div><div class='add'>+  warning)</div><div class='add'>+</div><div class='add'>+: Process.waitall</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Process::Status</div><div class='add'>+</div><div class='add'>+  Added.  (({$?})) is now an instance of this class.</div><div class='add'>+</div><div class='add'>+: Process::UID, Process::GID, Process::Sys,</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: Signal</div><div class='add'>+</div><div class='add'>+  Added. This module has module functions Signal.trap and Signal.list.</div><div class='add'>+</div><div class='add'>+= changes in bundled libraries</div><div class='add'>+</div><div class='add'>+: lib/cgi.rb</div><div class='add'>+</div><div class='add'>+  cgi[name] returns CGI::QueryExtension::Value that wraps string</div><div class='add'>+  value, no longer array.</div><div class='add'>+</div><div class='add'>+: lib/timeout</div><div class='add'>+</div><div class='add'>+  timeout "function" wrapped in Timeout module.</div><div class='add'>+</div><div class='add'>+: TCPServer#accept, UNIXServer#accept, Socket#accept</div><div class='add'>+</div><div class='add'>+  New methods to return an accepted socket fd.</div><div class='add'>+</div><div class='add'>+: Date and DateTime</div><div class='add'>+</div><div class='add'>+  lib/date.rb now provides both Date and DateTime.</div><div class='add'>+</div><div class='add'>+  Some methods have been renamed.  But the old names are still alive.</div><div class='add'>+</div><div class='add'>+  Some new methods have been added (Date::parse, Date#strftime, etc.).</div><div class='add'>+</div><div class='add'>+  Date#mjd now returns the chronological modified Julian day number.</div><div class='add'>+</div><div class='add'>+  All facilities about tjd have been removed.</div><div class='add'>+</div><div class='add'>+: Curses</div><div class='add'>+</div><div class='add'>+  Updated.  New methods and constants for using the mouse, character</div><div class='add'>+  attributes, colors and key codes have been added.</div><div class='add'>+</div><div class='add'>+: Net::HTTP</div><div class='add'>+</div><div class='add'>+  New version of Net::HTTP has introduced seriously incompatible</div><div class='add'>+  changes. For details, see document embedded in net/http.rb itself.</div><div class='add'>+</div><div class='add'>+: Socket.pack_sockaddr_in, Socket.unpack_sockaddr_in</div><div class='add'>+</div><div class='add'>+  Added.  Utility for direct Socket access.</div><div class='add'>+</div><div class='add'>+: Socket.pack_sockaddr_un, Socket.unpack_sockaddr_un</div><div class='add'>+</div><div class='add'>+  Added.  Utility for direct Socket access.</div><div class='add'>+</div><div class='add'>+: TCPServer#listen, UNIXServer#listen</div><div class='add'>+</div><div class='add'>+  Added.</div><div class='add'>+</div><div class='add'>+: TCPSocket.new</div><div class='add'>+: TCPSocket.open</div><div class='add'>+</div><div class='add'>+  Extended to take an address and a port number for the local side in</div><div class='add'>+  optional 3rd and 4th arguments.</div><div class='add'>+</div><div class='add'>+= newly bundled library</div><div class='add'>+</div><div class='add'>+: ext/bigdecimal</div><div class='add'>+</div><div class='add'>+  variable precision decimal number </div><div class='add'>+</div><div class='add'>+: ext/dl</div><div class='add'>+</div><div class='add'>+  an interface to the dynamic linker.</div><div class='add'>+</div><div class='add'>+: ext/enumerator</div><div class='add'>+</div><div class='add'>+  a helper module for the Enumerable interface.</div><div class='add'>+</div><div class='add'>+: ext/io/wait</div><div class='add'>+</div><div class='add'>+  IO wait methods.</div><div class='add'>+</div><div class='add'>+: ext/iconv</div><div class='add'>+</div><div class='add'>+  wrapper library of (({iconv})).</div><div class='add'>+</div><div class='add'>+: ext/openssl</div><div class='add'>+</div><div class='add'>+  OpenSSL for Ruby</div><div class='add'>+</div><div class='add'>+: ext/racc/cparse</div><div class='add'>+</div><div class='add'>+  Racc runtime library in C. (Racc is a parser generator for ruby)</div><div class='add'>+</div><div class='add'>+: ext/stringio</div><div class='add'>+</div><div class='add'>+  Pseudo (({IO})) class from/to (({String})).</div><div class='add'>+</div><div class='add'>+: ext/strscan</div><div class='add'>+</div><div class='add'>+  Fast string scanner library.</div><div class='add'>+</div><div class='add'>+: ext/syck</div><div class='add'>+</div><div class='add'>+  fast YAML parser.</div><div class='add'>+</div><div class='add'>+: lib/abbrev</div><div class='add'>+</div><div class='add'>+  creates an abbreviation table from a list</div><div class='add'>+</div><div class='add'>+: lib/benchmark</div><div class='add'>+</div><div class='add'>+  Ruby scripts benchmarker</div><div class='add'>+</div><div class='add'>+: lib/cgi/session/pstore</div><div class='add'>+</div><div class='add'>+  cgi/session back-end using pstore </div><div class='add'>+</div><div class='add'>+: lib/csv</div><div class='add'>+</div><div class='add'>+  reads/writes CSV files.</div><div class='add'>+</div><div class='add'>+: lib/date/format</div><div class='add'>+</div><div class='add'>+  strftime for Date class</div><div class='add'>+</div><div class='add'>+: lib/drb</div><div class='add'>+</div><div class='add'>+  dRuby or distributed Ruby</div><div class='add'>+</div><div class='add'>+: lib/fileutils</div><div class='add'>+</div><div class='add'>+  file utility library.</div><div class='add'>+</div><div class='add'>+: lib/generator</div><div class='add'>+</div><div class='add'>+  converts an internal iterator to an external iterator</div><div class='add'>+</div><div class='add'>+: lib/gserver</div><div class='add'>+</div><div class='add'>+  generic server used by xmlrpc</div><div class='add'>+</div><div class='add'>+: lib/ipaddr</div><div class='add'>+</div><div class='add'>+  manipulates IP address.</div><div class='add'>+</div><div class='add'>+: lib/multi-tk</div><div class='add'>+</div><div class='add'>+  to allow safe Tk, etc.</div><div class='add'>+</div><div class='add'>+: lib/open-uri</div><div class='add'>+</div><div class='add'>+  easy-to-use wrapper for net/http and net/ftp</div><div class='add'>+</div><div class='add'>+: lib/optparse</div><div class='add'>+</div><div class='add'>+  command line options utility library</div><div class='add'>+</div><div class='add'>+: lib/pathname</div><div class='add'>+</div><div class='add'>+  handles pathname in OO manner.</div><div class='add'>+</div><div class='add'>+: lib/pp</div><div class='add'>+</div><div class='add'>+  prettyprinter for Ruby objects</div><div class='add'>+</div><div class='add'>+: lib/prettyprint</div><div class='add'>+</div><div class='add'>+  implements prettyprint algorithm.</div><div class='add'>+</div><div class='add'>+: lib/profiler</div><div class='add'>+</div><div class='add'>+  library to implement -r "profile"</div><div class='add'>+</div><div class='add'>+: lib/racc/parser</div><div class='add'>+</div><div class='add'>+  RACC parser generator runtime in Ruby.</div><div class='add'>+</div><div class='add'>+: lib/scanf</div><div class='add'>+</div><div class='add'>+  scan string and retrieve object with format</div><div class='add'>+</div><div class='add'>+: lib/set</div><div class='add'>+</div><div class='add'>+  Set class</div><div class='add'>+</div><div class='add'>+: lib/runit</div><div class='add'>+</div><div class='add'>+  RubyUnit compatible layer for test/unit</div><div class='add'>+</div><div class='add'>+: lib/test/unit</div><div class='add'>+</div><div class='add'>+  unit testing framework for Ruby</div><div class='add'>+</div><div class='add'>+: lib/tmpdir</div><div class='add'>+</div><div class='add'>+  get temporary directory path.</div><div class='add'>+</div><div class='add'>+: lib/tsort</div><div class='add'>+</div><div class='add'>+  topological sorting library.</div><div class='add'>+</div><div class='add'>+: lib/rexml</div><div class='add'>+</div><div class='add'>+  REXML XML library</div><div class='add'>+</div><div class='add'>+: lib/webrick</div><div class='add'>+</div><div class='add'>+  generic internet server kit</div><div class='add'>+</div><div class='add'>+: lib/xmlrpc</div><div class='add'>+</div><div class='add'>+  simple RPC via XML</div><div class='add'>+</div><div class='add'>+: lib/un</div><div class='add'>+</div><div class='add'>+  used like 'ruby -run -e cp -- -p foo bar'.  neat, isn't it?</div><div class='add'>+</div><div class='add'>+: lib/win32/registry</div><div class='add'>+</div><div class='add'>+  win32/registry is registry accessor</div><div class='add'>+</div><div class='add'>+: lib/yaml</div><div class='add'>+</div><div class='add'>+  YAML Ain't Mark-up Language</div><div class='add'>+</div><div class='add'>+= removed libraries</div><div class='add'>+</div><div class='add'>+: lib/ftplib</div><div class='add'>+</div><div class='add'>+  use net/ftp instead.</div><div class='add'>+</div><div class='add'>+: lib/telnet</div><div class='add'>+</div><div class='add'>+  use net/telnet instead.</div><div class='add'>+</div><div class='add'>+= new port</div><div class='add'>+</div><div class='add'>+: WindowsCE port</div><div class='add'>+: Win32 BCC</div><div class='add'>+</div><div class='add'>+= interpreter implementation</div><div class='add'>+</div><div class='add'>+: garbage collector</div><div class='add'>+</div><div class='add'>+  faster, but uses more memory for the worst case.</div><div class='add'>+</div><div class='add'>+: string concatenation</div><div class='add'>+</div><div class='add'>+  faster by avoiding too frequent realloc(3).</div><div class='head'>diff --git a/doc/NEWS-1.8.7 b/doc/NEWS-1.8.7<br/>deleted file mode 100644<br/>index 5da39ff265..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-1.8.7?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.8.7</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,669 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 1.8.7</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 1.8.6 release</div><div class='del'>-</div><div class='del'>-=== Configuration changes</div><div class='del'>-</div><div class='del'>-* default C flags</div><div class='del'>-</div><div class='del'>-  Some C compiler flags may be added by default depending on your</div><div class='del'>-  environment.  Specify optflags=.. and warnflags=.. as necessary to</div><div class='del'>-  override them.</div><div class='del'>-</div><div class='del'>-* vendor_ruby directory</div><div class='del'>-</div><div class='del'>-  A new library directory named `vendor_ruby' is introduced in</div><div class='del'>-  addition to `site_ruby'.  The idea is to separate libraries</div><div class='del'>-  installed by the package system (`vendor') from manually (`site')</div><div class='del'>-  installed libraries preventing the former from getting overwritten</div><div class='del'>-  by the latter, while preserving the user option to override vendor</div><div class='del'>-  libraries with site libraries. (`site_ruby' takes precedence over</div><div class='del'>-  `vendor_ruby')</div><div class='del'>-</div><div class='del'>-  If you are a package maintainer, make each library package configure</div><div class='del'>-  the library passing the `--vendor' option to `extconf.rb' so that</div><div class='del'>-  the library files will get installed under `vendor_ruby'.</div><div class='del'>-</div><div class='del'>-  You can change the directory locations using configure options such</div><div class='del'>-  as `--with-sitedir=DIR' and `--with-vendordir=DIR'.</div><div class='del'>-</div><div class='del'>-=== Global constants</div><div class='del'>-</div><div class='del'>-* new constants</div><div class='del'>-</div><div class='del'>-  * RUBY_COPYRIGHT</div><div class='del'>-  * RUBY_DESCRIPTION</div><div class='del'>-</div><div class='del'>-=== Library updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* new library</div><div class='del'>-</div><div class='del'>-  * securerandom</div><div class='del'>-</div><div class='del'>-* builtin classes</div><div class='del'>-</div><div class='del'>-  * Array#flatten</div><div class='del'>-  * Array#flatten!</div><div class='del'>-</div><div class='del'>-    Takes an optional argument that determines the level of recursion</div><div class='del'>-    to flatten.</div><div class='del'>-</div><div class='del'>-  * Array#eql?</div><div class='del'>-  * Array#hash</div><div class='del'>-  * Array#==</div><div class='del'>-  * Array#&lt;=&gt;</div><div class='del'>-</div><div class='del'>-    Handle recursive data properly.</div><div class='del'>-</div><div class='del'>-  * Array#index</div><div class='del'>-  * Array#rindex</div><div class='del'>-</div><div class='del'>-    Use a given block if no argument is given.</div><div class='del'>-</div><div class='del'>-  * Array#collect!</div><div class='del'>-  * Array#map!</div><div class='del'>-  * Array#each</div><div class='del'>-  * Array#each_index</div><div class='del'>-  * Array#reverse_each</div><div class='del'>-  * Array#reject</div><div class='del'>-  * Array#reject!</div><div class='del'>-  * Array#delete_if</div><div class='del'>-  * Array#select</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-    Note that #map and #collect still return an array unlike Ruby 1.9</div><div class='del'>-    to keep compatibility.</div><div class='del'>-</div><div class='del'>-  * Array#pop</div><div class='del'>-  * Array#shift</div><div class='del'>-</div><div class='del'>-    Take an optional argument specifying the number of elements to</div><div class='del'>-    remove.</div><div class='del'>-</div><div class='del'>-  * Array#choice</div><div class='del'>-  * Array#combination</div><div class='del'>-  * Array#cycle</div><div class='del'>-  * Array#drop</div><div class='del'>-  * Array#drop_while</div><div class='del'>-  * Array#permutation</div><div class='del'>-  * Array#product</div><div class='del'>-  * Array#shuffle</div><div class='del'>-  * Array#shuffle!</div><div class='del'>-  * Array#take,</div><div class='del'>-  * Array#take_while</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Binding#eval</div><div class='del'>-</div><div class='del'>-    New method.</div><div class='del'>-</div><div class='del'>-  * Dir#each</div><div class='del'>-  * Dir#foreach</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * Enumerable::Enumerator</div><div class='del'>-</div><div class='del'>-    New class for various enumeration defined by the enumerator library.</div><div class='del'>-</div><div class='del'>-  * Enumerable#each_slice</div><div class='del'>-  * Enumerable#each_cons</div><div class='del'>-  * Object#to_enum</div><div class='del'>-  * Object#enum_for</div><div class='del'>-</div><div class='del'>-    New methods for various enumeration defined by the enumerator library.</div><div class='del'>-</div><div class='del'>-  * Enumerable#count</div><div class='del'>-  * Enumerable#cycle</div><div class='del'>-  * Enumerable#drop</div><div class='del'>-  * Enumerable#drop_while</div><div class='del'>-  * Enumerable#find_index</div><div class='del'>-  * Enumerable#first</div><div class='del'>-  * Enumerable#group_by</div><div class='del'>-  * Enumerable#max_by</div><div class='del'>-  * Enumerable#min_by</div><div class='del'>-  * Enumerable#minmax</div><div class='del'>-  * Enumerable#minmax_by</div><div class='del'>-  * Enumerable#none?</div><div class='del'>-  * Enumerable#one?</div><div class='del'>-  * Enumerable#take</div><div class='del'>-  * Enumerable#take_while</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Enumerable#find</div><div class='del'>-  * Enumerable#find_all</div><div class='del'>-  * Enumerable#partition</div><div class='del'>-  * Enumerable#reject</div><div class='del'>-  * Enumerable#select</div><div class='del'>-  * Enumerable#sort_by</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-    Note that #map and #collect still return an array unlike Ruby 1.9</div><div class='del'>-    to keep compatibility.</div><div class='del'>-</div><div class='del'>-  * Enumerable#inject</div><div class='del'>-</div><div class='del'>-    Accepts a binary operator instead of a block.</div><div class='del'>-</div><div class='del'>-  * Enumerable#reduce</div><div class='del'>-</div><div class='del'>-    New alias to #inject.</div><div class='del'>-</div><div class='del'>-  * Enumerable#to_a</div><div class='del'>-</div><div class='del'>-    Can take optional arguments and pass them to #each.</div><div class='del'>-</div><div class='del'>-  * Hash#eql?</div><div class='del'>-  * Hash#hash</div><div class='del'>-  * Hash#==</div><div class='del'>-</div><div class='del'>-    Handle recursive data properly.</div><div class='del'>-</div><div class='del'>-  * Hash#delete_if</div><div class='del'>-  * Hash#each</div><div class='del'>-  * Hash#each_key</div><div class='del'>-  * Hash#each_pair</div><div class='del'>-  * Hash#each_value</div><div class='del'>-  * Hash#reject!</div><div class='del'>-  * Hash#select</div><div class='del'>-  * ENV.delete_if</div><div class='del'>-  * ENV.each</div><div class='del'>-  * ENV.each_key</div><div class='del'>-  * ENV.each_pair</div><div class='del'>-  * ENV.each_value</div><div class='del'>-  * ENV.reject!</div><div class='del'>-  * ENV.select</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * GC.stress</div><div class='del'>-  * GC.stress=</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Integer#ord</div><div class='del'>-  * Integer#odd?</div><div class='del'>-  * Integer#even?</div><div class='del'>-  * Integer#pred</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Integer#downto</div><div class='del'>-  * Integer#times</div><div class='del'>-  * Integer#upto</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * IO#each</div><div class='del'>-  * IO#each_line</div><div class='del'>-  * IO#each_byte</div><div class='del'>-  * IO.foreach</div><div class='del'>-  * ARGF.each</div><div class='del'>-  * ARGF.each_line</div><div class='del'>-  * ARGF.each_byte</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * IO#bytes</div><div class='del'>-  * IO#chars</div><div class='del'>-  * IO#each_char</div><div class='del'>-  * IO#getbyte</div><div class='del'>-  * IO#lines</div><div class='del'>-  * IO#readbyte</div><div class='del'>-  * ARGF.bytes</div><div class='del'>-  * ARGF.chars</div><div class='del'>-  * ARGF.each_char</div><div class='del'>-  * ARGF.getbyte</div><div class='del'>-  * ARGF.lines</div><div class='del'>-  * ARGF.readbyte</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Method#name</div><div class='del'>-  * Method#owner</div><div class='del'>-  * Method#receiver</div><div class='del'>-  * UnboundMethod#name</div><div class='del'>-  * UnboundMethod#owner</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Module#class_exec</div><div class='del'>-  * Module#module_exec</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * Numeric#step</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * Object#instance_exec</div><div class='del'>-  * Object#tap</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * ObjectSpace.each_object</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * Process.exec implemented.</div><div class='del'>-</div><div class='del'>-  * Range#each</div><div class='del'>-  * Range#step</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * Regexp.union accepts an array of patterns.</div><div class='del'>-</div><div class='del'>-  * String#bytes</div><div class='del'>-</div><div class='del'>-    New method</div><div class='del'>-</div><div class='del'>-  * String#bytesize</div><div class='del'>-</div><div class='del'>-    New method, returning the size in bytes. (alias length and size)</div><div class='del'>-</div><div class='del'>-  * String#chars</div><div class='del'>-  * String#each_char</div><div class='del'>-  * String#lines</div><div class='del'>-  * String#partition</div><div class='del'>-  * String#rpartition</div><div class='del'>-  * String#start_with?</div><div class='del'>-  * String#end_with?</div><div class='del'>-</div><div class='del'>-    New methods.  These are $KCODE aware unlike #index, #rindex and</div><div class='del'>-    #include?.</div><div class='del'>-</div><div class='del'>-  * String#each_byte</div><div class='del'>-  * String#each</div><div class='del'>-  * String#each_line</div><div class='del'>-  * String#gsub(pattern)</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * String#upto</div><div class='del'>-</div><div class='del'>-    An optional second argument is added to specify if the last value</div><div class='del'>-    should be included.</div><div class='del'>-</div><div class='del'>-  * StopIteration</div><div class='del'>-</div><div class='del'>-    New exception class that causes Kernel#loop to stop iteration when</div><div class='del'>-    raised.</div><div class='del'>-</div><div class='del'>-  * Struct#each</div><div class='del'>-  * Struct#each_pair</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-  * Symbol#to_proc</div><div class='del'>-</div><div class='del'>-    New method.</div><div class='del'>-</div><div class='del'>-  * __method__</div><div class='del'>-</div><div class='del'>-    New global function that returns the name of the current method as</div><div class='del'>-    a Symbol.</div><div class='del'>-</div><div class='del'>-* enumerator</div><div class='del'>-</div><div class='del'>-  * Enumerator is now a built-in module.  The #next and #rewind</div><div class='del'>-    methods are implemented using the "generator" library.  Use with</div><div class='del'>-    care and be aware of the performance loss.</div><div class='del'>-</div><div class='del'>-* ipaddr</div><div class='del'>-</div><div class='del'>-  * New methods</div><div class='del'>-    * IPAddr#&lt;=&gt;</div><div class='del'>-    * IPAddr#succ</div><div class='del'>-</div><div class='del'>-      IPAddr objects are now comparable and enumerable having these</div><div class='del'>-      methods.  This also means that it is possible to have a Range</div><div class='del'>-      object between two IPAddr objects.</div><div class='del'>-</div><div class='del'>-    * IPAddr#to_range</div><div class='del'>-</div><div class='del'>-      A new method to create a Range object for the (network) address.</div><div class='del'>-</div><div class='del'>-  * Type coercion support</div><div class='del'>-    * IPAddr#&amp;</div><div class='del'>-    * IPAddr#|</div><div class='del'>-    * IPAddr#==</div><div class='del'>-    * IPAddr#include?</div><div class='del'>-</div><div class='del'>-      These methods now accept a string or an integer instead of an</div><div class='del'>-      IPAddr object as the argument.</div><div class='del'>-</div><div class='del'>-* net/smtp</div><div class='del'>-</div><div class='del'>-  * Support SSL/TLS.</div><div class='del'>-</div><div class='del'>-* openssl</div><div class='del'>-</div><div class='del'>-  * New classes</div><div class='del'>-    * OpenSSL::PKey::EC</div><div class='del'>-    * OpenSSL::PKey::EC::Group</div><div class='del'>-    * OpenSSL::PKey::EC::Point</div><div class='del'>-    * OpenSSL::PKey::PKCS5</div><div class='del'>-    * OpenSSL::SSL::Session</div><div class='del'>-</div><div class='del'>-  * Documentation!</div><div class='del'>-</div><div class='del'>-  * Various new methods (see documentation).</div><div class='del'>-</div><div class='del'>-  * Remove redundant module namespace in Cipher, Digest, PKCS7, PKCS12.</div><div class='del'>-    Compatibility classes are provided which will be removed in Ruby 1.9.</div><div class='del'>-</div><div class='del'>-* shellwords</div><div class='del'>-</div><div class='del'>-  * Add methods for escaping shell-unsafe characters:</div><div class='del'>-    * Shellwords.join</div><div class='del'>-    * Shellwords.escape</div><div class='del'>-    * Array#shelljoin</div><div class='del'>-    * String#shellescape</div><div class='del'>-</div><div class='del'>-  * Add shorthand methods:</div><div class='del'>-    * Shellwords.split (alias shellwords)</div><div class='del'>-    * String#shellsplit</div><div class='del'>-</div><div class='del'>-* stringio</div><div class='del'>-</div><div class='del'>-  * StringIO#getbyte</div><div class='del'>-  * StringIO#readbyte</div><div class='del'>-</div><div class='del'>-    New methods. (aliases for compatibility with 1.9)</div><div class='del'>-</div><div class='del'>-  * StringIO#each_char</div><div class='del'>-  * StringIO#chars</div><div class='del'>-</div><div class='del'>-    New methods.</div><div class='del'>-</div><div class='del'>-  * StringIO#each</div><div class='del'>-  * StringIO#each_line</div><div class='del'>-  * StringIO#each_byte</div><div class='del'>-</div><div class='del'>-    Return an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-* tempfile</div><div class='del'>-</div><div class='del'>-  * Tempfile.open and Tempfile.new now accept a suffix for the</div><div class='del'>-    temporary file to be created.  To specify a suffix, pass an array</div><div class='del'>-    of [basename, suffix] as the first argument.</div><div class='del'>-</div><div class='del'>-      Tempfile.open(['image', 'jpg']) { |tempfile| ... }</div><div class='del'>-</div><div class='del'>-* tmpdir</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * Dir.mktmpdir</div><div class='del'>-</div><div class='del'>-* uri</div><div class='del'>-</div><div class='del'>-  * added LDAPS scheme.</div><div class='del'>-  * Change for RFC3986:</div><div class='del'>-    * FTP</div><div class='del'>-      * URI('ftp://example.com/foo').path #=&gt; 'foo'</div><div class='del'>-      * URI('ftp://example.com/%2Ffoo').path #=&gt; '/foo'</div><div class='del'>-      * URI::FTP.build([nil, 'example.com', nil, '/foo', 'i']).to_s #=&gt; 'ftp://example.com/%2Ffoo;type=i'</div><div class='del'>-    * URI merge</div><div class='del'>-      * URI('http://a/b/c/d;p?q').merge('?y') == URI('http://a/b/c/d;p?y')</div><div class='del'>-      * URI('http://a/b/c/d;p?q').merge('/./g') == URI('http://a/g')</div><div class='del'>-      * URI('http://a/b/c/d;p?q').merge('/../g') == URI('http://a/g')</div><div class='del'>-      * URI('http://a/b/c/d;p?q').merge('../../../g') == URI('http://a/g')</div><div class='del'>-      * URI('http://a/b/c/d;p?q').merge('../../../../g') == URI('http://a/g')</div><div class='del'>-</div><div class='del'>-* rss</div><div class='del'>-</div><div class='del'>-  * 0.1.6 -&gt; 0.2.4</div><div class='del'>-</div><div class='del'>-  * Fix image module URI</div><div class='del'>-</div><div class='del'>-  * Atom support</div><div class='del'>-</div><div class='del'>-  * ITunes module support</div><div class='del'>-</div><div class='del'>-  * Slash module support</div><div class='del'>-</div><div class='del'>-  * content:encoded with RSS 2.0 support</div><div class='del'>-</div><div class='del'>-=== Interpreter Implementation</div><div class='del'>-</div><div class='del'>-* passing a block to a Proc [experimental]</div><div class='del'>-</div><div class='del'>-  This implementation in current shape is known to be buggy/broken,</div><div class='del'>-  especially with nested block invocation.  Take this as an</div><div class='del'>-  experimental feature.</div><div class='del'>-</div><div class='del'>-* stack trace</div><div class='del'>-</div><div class='del'>-  On non-SystemStackError exception, full stack trace is shown.</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* String#slice! had some unintentional bugs and they have been fixed</div><div class='del'>-  because either they disagreed with documentation or their respective</div><div class='del'>-  behavior of #slice.  Unfortunately, this causes some</div><div class='del'>-  incompatibilities in the following (somewhat rare) cases.</div><div class='del'>-</div><div class='del'>-  * #slice! no longer expands the array when an out-of-boundary value</div><div class='del'>-    is given.</div><div class='del'>-</div><div class='del'>-      # Ruby 1.8.6</div><div class='del'>-      a = [1,2]</div><div class='del'>-      a.slice!(4,0)   #=&gt; nil</div><div class='del'>-      a               #=&gt; [1,2,nil,nil]</div><div class='del'>-</div><div class='del'>-      # Ruby 1.8.7</div><div class='del'>-      a = [1,2]</div><div class='del'>-      a.slice!(4,0)   #=&gt; nil</div><div class='del'>-      a               #=&gt; [1,2]</div><div class='del'>-</div><div class='del'>-  * #slice! no longer raises an exception but returns nil when a</div><div class='del'>-    negative length or out-of-boundary negative position is given.</div><div class='del'>-</div><div class='del'>-      # Ruby 1.8.6</div><div class='del'>-      a = [1,2]</div><div class='del'>-      a.slice!(1,-1)  #=&gt; (raises IndexError)</div><div class='del'>-      a.slice!(-5,1)  #=&gt; (raises IndexError)</div><div class='del'>-</div><div class='del'>-      # Ruby 1.8.7</div><div class='del'>-      a = [1,2]</div><div class='del'>-      a.slice!(1,-1)  #=&gt; nil</div><div class='del'>-      a.slice!(-5,1)  #=&gt; nil</div><div class='del'>-</div><div class='del'>-* String#to_i, String#hex and String#oct no longer accept a sequence</div><div class='del'>-  of underscores (`__') as part of a number.</div><div class='del'>-</div><div class='del'>-    # Ruby 1.8.6</div><div class='del'>-    '1__0'.to_i     #=&gt; 10</div><div class='del'>-    '1__0'.to_i(2)  #=&gt; 2  # 0b10</div><div class='del'>-    '1__0'.oct      #=&gt; 8  # 010</div><div class='del'>-    '1__0'.hex      #=&gt; 16 # 0x10</div><div class='del'>-</div><div class='del'>-    # Ruby 1.8.7</div><div class='del'>-    '1__0'.to_i     #=&gt; 1</div><div class='del'>-    '1__0'.to_i(2)  #=&gt; 1</div><div class='del'>-    '1__0'.oct      #=&gt; 1</div><div class='del'>-    '1__0'.hex      #=&gt; 1</div><div class='del'>-</div><div class='del'>-  The old behavior was inconsistent with Ruby syntax and considered as</div><div class='del'>-  a bug.</div><div class='del'>-</div><div class='del'>-* date</div><div class='del'>-</div><div class='del'>-  * Date.parse</div><div class='del'>-</div><div class='del'>-    '##.##.##' (where each '#' is a digit) is now taken as 'YY.MM.DD'</div><div class='del'>-    instead of 'MM.DD.YY'.  While the change may confuse you, you can</div><div class='del'>-    always use Date.strptime() when you know what you are dealing</div><div class='del'>-    with.</div><div class='del'>-</div><div class='del'>-* REXML</div><div class='del'>-</div><div class='del'>-  * REXML::Document.entity_expansion_limit=</div><div class='del'>-</div><div class='del'>-    New method to set the entity expansion limit. By default the limit is</div><div class='del'>-    set to 10000.  See the following URL for details.</div><div class='del'>-</div><div class='del'>-    https://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/</div><div class='del'>-</div><div class='del'>-* stringio</div><div class='del'>-</div><div class='del'>-  * StringIO#each_byte</div><div class='del'>-</div><div class='del'>-    The return value changed from nil to self.  This is what the</div><div class='del'>-    document says and the same as each_line() does.</div><div class='del'>-</div><div class='del'>-* tempfile</div><div class='del'>-</div><div class='del'>-  * The file name format has changed.  No dots are included by default</div><div class='del'>-    in temporary file names any more.  See above for how to specify a</div><div class='del'>-    suffix.</div><div class='del'>-</div><div class='del'>-* uri</div><div class='del'>-</div><div class='del'>-  * See above for details.</div><div class='del'>-</div><div class='del'>-== Changes since the 1.8.5 release</div><div class='del'>-</div><div class='del'>-=== New platforms/build tools support</div><div class='del'>-</div><div class='del'>-* IA64 HP-UX</div><div class='del'>-</div><div class='del'>-* Visual C++ 8 SP1</div><div class='del'>-</div><div class='del'>-* autoconf 2.6x</div><div class='del'>-</div><div class='del'>-=== Global constants</div><div class='del'>-</div><div class='del'>-* RUBY_PATCHLEVEL</div><div class='del'>-</div><div class='del'>-  New constant since 1.8.5-p1.</div><div class='del'>-</div><div class='del'>-=== Library updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* builtin classes</div><div class='del'>-</div><div class='del'>-  * New method: Kernel#instance_variable_defined?</div><div class='del'>-</div><div class='del'>-  * New method: Module#class_variable_defined?</div><div class='del'>-</div><div class='del'>-  * New feature: Dir::glob() can now take an array of glob patterns.</div><div class='del'>-</div><div class='del'>-* date</div><div class='del'>-</div><div class='del'>-  * Updated based on date2 4.0.3.</div><div class='del'>-</div><div class='del'>-* digest</div><div class='del'>-</div><div class='del'>-  * New internal APIs for C and Ruby.</div><div class='del'>-</div><div class='del'>-  * Support for autoloading.</div><div class='del'>-</div><div class='del'>-      require 'digest'</div><div class='del'>-</div><div class='del'>-      # autoloads digest/md5</div><div class='del'>-      md = Digest::MD5.digest("string")</div><div class='del'>-</div><div class='del'>-  * New digest class methods: file</div><div class='del'>-</div><div class='del'>-  * New digest instance methods: clone, reset, new, inspect,</div><div class='del'>-    digest_length (alias size or length), block_length()</div><div class='del'>-</div><div class='del'>-  * New library: digest/bubblebabble</div><div class='del'>-</div><div class='del'>-  * New function: Digest(name)</div><div class='del'>-</div><div class='del'>-* fileutils</div><div class='del'>-</div><div class='del'>-  * New option for FileUtils.cp_r(): :remove_destination</div><div class='del'>-</div><div class='del'>-* nkf</div><div class='del'>-</div><div class='del'>-  * Updated based on nkf as of 2007-01-28.</div><div class='del'>-</div><div class='del'>-* thread</div><div class='del'>-</div><div class='del'>-  * Replaced with much faster mutex implementation in C.  The former</div><div class='del'>-    implementation, which is slow but considered to be stable, is</div><div class='del'>-    available with a configure option `--disable-fastthread'.</div><div class='del'>-</div><div class='del'>-* tk</div><div class='del'>-</div><div class='del'>-  * Updated Tile extension support based on Tile 0.7.8.</div><div class='del'>-</div><div class='del'>-  * Support --without-X11 configure option for non-X11 versions of</div><div class='del'>-    Tcl/Tk (e.g. Tcl/Tk Aqua).</div><div class='del'>-</div><div class='del'>-  * New sample script: irbtkw.rbw -- IRB on Ruby/Tk. It has no trouble</div><div class='del'>-    about STDIN blocking on Windows.</div><div class='del'>-</div><div class='del'>-* webrick</div><div class='del'>-</div><div class='del'>-  * New method: WEBrick::Cookie.parse_set_cookies()</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* builtin classes</div><div class='del'>-</div><div class='del'>-  * String#intern now raises SecurityError when $SAFE level is greater</div><div class='del'>-    than zero.</div><div class='del'>-</div><div class='del'>-* date</div><div class='del'>-</div><div class='del'>-  * Time#to_date and Time#to_datetime are added as private methods.</div><div class='del'>-    They cause name conflict error in ActiveSupport 1.4.1 and prior,</div><div class='del'>-    which comes with Rails 1.2.2 and prior.  Updating ActiveSupport</div><div class='del'>-    and/or Rails to the latest versions fixes the problem.</div><div class='del'>-</div><div class='del'>-* digest</div><div class='del'>-</div><div class='del'>-  * The constructor does no longer take an initial string to feed.</div><div class='del'>-    The following examples show how to migrate:</div><div class='del'>-</div><div class='del'>-      # Before</div><div class='del'>-      md = Digest::MD5.new("string")</div><div class='del'>-      # After (works with any version)</div><div class='del'>-      md = Digest::MD5.new.update("string")</div><div class='del'>-</div><div class='del'>-      # Before</div><div class='del'>-      hd = Digest::MD5.new("string").hexdigest</div><div class='del'>-      # After (works with any version)</div><div class='del'>-      hd = Digest::MD5.hexdigest("string")</div><div class='del'>-</div><div class='del'>-  * Digest::Base#==</div><div class='del'>-</div><div class='del'>-    * self == string</div><div class='del'>-</div><div class='del'>-      Automatic detection between binary digest values and hexadecimal</div><div class='del'>-      digest values has been dropped.  It is always assumed that a</div><div class='del'>-      hexadecimal digest value is given for comparison.</div><div class='del'>-</div><div class='del'>-    * self == md</div><div class='del'>-</div><div class='del'>-      Digest objects are compared by the resulting digest values, not</div><div class='del'>-      by the exact vector states.</div><div class='del'>-</div><div class='del'>-* fileutils</div><div class='del'>-</div><div class='del'>-  * A minor implementation change breaks Rake &lt;=0.7.1.</div><div class='del'>-    Updating Rake to 0.7.2 or higher fixes the problem.</div><div class='del'>-</div><div class='del'>-* tk</div><div class='del'>-</div><div class='del'>-  * Tk::X_Scrollable (Y_Scrollable) is renamed to Tk::XScrollable</div><div class='del'>-    (YScrollable). Tk::X_Scrollable (Y_Scrollable) is still available,</div><div class='del'>-    but it is an alias name.</div><div class='head'>diff --git a/doc/NEWS-1.9.1 b/doc/NEWS-1.9.1<br/>deleted file mode 100644<br/>index fb11026d60..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-1.9.1?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.9.1</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,429 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 1.9.1</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 1.8.7 release</div><div class='del'>-See doc/NEWS-1.8.7 for changes between 1.8.6 and 1.8.7.</div><div class='del'>-</div><div class='del'>-=== Compatibility issues</div><div class='del'>-</div><div class='del'>-* language core</div><div class='del'>-</div><div class='del'>-    * New syntax and semantics</div><div class='del'>-          o Block arguments are always local</div><div class='del'>-          o New semantics for block arguments</div><div class='del'>-          o defined? and local variables</div><div class='del'>-          o Parser expects that your source code has only valid byte</div><div class='del'>-            sequence in some character encoding.  Use magic comments</div><div class='del'>-            to tell the parser which encoding you use.</div><div class='del'>-          o New semantics for constant definition in instance_eval</div><div class='del'>-            or in module_eval.</div><div class='del'>-</div><div class='del'>-    * Deprecated syntax</div><div class='del'>-          o colon (:) instead of "then" in if/unless or case expression.</div><div class='del'>-          o retry in a loop or an iterator.</div><div class='del'>-</div><div class='del'>-* builtin classes and objects</div><div class='del'>-</div><div class='del'>-    * Kernel and Object</div><div class='del'>-          o Kernel#methods and #singleton_methods used to return an</div><div class='del'>-            array of strings but now they return an array of symbols.</div><div class='del'>-    * Class and Module</div><div class='del'>-          o Module#attr works as Module#attr_reader by default.</div><div class='del'>-	    Optional boolean argument is obsolete.</div><div class='del'>-          o Module#instance_methods, #private_instance_methods and</div><div class='del'>-            #public_instance_methods used to return an array of</div><div class='del'>-            strings but now they return an array of symbols.</div><div class='del'>-          o Extra subclassing check when binding UnboundMethods</div><div class='del'>-</div><div class='del'>-    * Exceptions</div><div class='del'>-          o Exceptions are equal to each other if they belong to</div><div class='del'>-            the same class and have the same message and backtrace.</div><div class='del'>-          o SystemStackError used to be a subclass of StandardError</div><div class='del'>-            but not it is a direct subclass of Exception.</div><div class='del'>-          o SecurityError: ditto</div><div class='del'>-          o Removed Exception#to_str [Ruby2]</div><div class='del'>-</div><div class='del'>-    * Enumerable and Enumerator</div><div class='del'>-          o Enumerable::Enumerator, compatibility alias of Enumerator,</div><div class='del'>-            is removed.</div><div class='del'>-          o Enumerable#{map,collect} called without a block returns</div><div class='del'>-            an enumerator.</div><div class='del'>-          o Even more builtin and bundled libraries have been made to</div><div class='del'>-            return an enumerator when called without a block.</div><div class='del'>-    * Array</div><div class='del'>-          o Array#nitems was removed (use count {|i| !i.nil?})</div><div class='del'>-          o Array#choice was removed (use sample)</div><div class='del'>-          o Array#[m,n] = nil places nil in the array.</div><div class='del'>-    * Hash</div><div class='del'>-          o Hash#to_s is equivalent to Hash#inspect</div><div class='del'>-          o Semantics for Hash#each and Hash#each_pair</div><div class='del'>-          o Hash#select returns a hash</div><div class='del'>-          o Hash#key is the new name for #index which has been</div><div class='del'>-            deprecated.</div><div class='del'>-          o Hash preserves order.  It enumerates its elements in the</div><div class='del'>-            order in which the keys are inserted.</div><div class='del'>-          o Most of the changes in Hash apply to hash like interfaces</div><div class='del'>-            such as ENV and *DBM.</div><div class='del'>-    * IO operations</div><div class='del'>-          o Many methods used to act byte-wise but now some of those act</div><div class='del'>-            character-wise. You can use alternate byte-wise methods.</div><div class='del'>-          o IO#getc</div><div class='del'>-          o Non-blocking IO</div><div class='del'>-          o Kernel#open takes "t" for newline conversion</div><div class='del'>-          o Kernel#open takes encoding specified</div><div class='del'>-          o IO automatically converts byte sequence from a character</div><div class='del'>-            encodings into another if specified.</div><div class='del'>-          o StringIO#readpartial</div><div class='del'>-          o IO.try_convert</div><div class='del'>-          o IO.binread</div><div class='del'>-          o IO.copy_stream</div><div class='del'>-          o IO#binmode?</div><div class='del'>-          o IO#close_on_exec= and IO#close_on_exec?</div><div class='del'>-          o Limit input in IO#gets, IO#readline, IO#readlines,</div><div class='del'>-            IO#each_line, IO#lines, IO.foreach, IO.readlines,</div><div class='del'>-            StringIO#gets, StringIO#readline, StringIO#each,</div><div class='del'>-            StringIO#readlines</div><div class='del'>-          o IO#ungetc, StringIO#ungetc</div><div class='del'>-          o IO#ungetbyte, StringIO#ungetbyte</div><div class='del'>-          o IO#internal_encoding, IO#external_encoding,</div><div class='del'>-            IO#set_encoding</div><div class='del'>-          o IO.pipe takes encoding option</div><div class='del'>-          o Directive %u behaves like %d for negative values in</div><div class='del'>-            printf-style formatting.</div><div class='del'>-    * File and Dir operations</div><div class='del'>-          o #to_path is called as necessary in File.path, File.chmod,</div><div class='del'>-            File.lchmod, File.chown, File.lchown, File.utime,</div><div class='del'>-            File.unlink, etc..</div><div class='del'>-          o File.world_readable?</div><div class='del'>-          o File.world_writable?</div><div class='del'>-          o Dir.[], Dir.glob</div><div class='del'>-          o Dir.exist?</div><div class='del'>-          o Dir.exists?</div><div class='del'>-    * File::Stat</div><div class='del'>-          o File::Stat#world_readable?</div><div class='del'>-          o File::Stat#world_writable?</div><div class='del'>-    * String</div><div class='del'>-          o No longer an Enumerable: use each_line/lines for line</div><div class='del'>-            oriented operation</div><div class='del'>-          o Encoding-awareness</div><div class='del'>-              o Character-wise semantics in many methods instead of</div><div class='del'>-                byte-wise.</div><div class='del'>-                  o String#[]: Indexing a String with an integer returns a</div><div class='del'>-                    single character String instead of an integer.</div><div class='del'>-                  o String#[]=: No longer takes an integer as right</div><div class='del'>-                    side value.  Note that "str[i] = ?c" because of</div><div class='del'>-                    the following change.</div><div class='del'>-                  o ?c is evaluated to a single character string</div><div class='del'>-                    instead of an integer.</div><div class='del'>-    * Regexp</div><div class='del'>-          o Encoding-awareness</div><div class='del'>-          o Regexp matches only with strings which is encoded in a</div><div class='del'>-            compatible character encoding to the regexp's.</div><div class='del'>-          o Regexp#kcode is removed. use Regexp#encoding.</div><div class='del'>-    * Symbols: restriction on literal symbols</div><div class='del'>-    * Numeric</div><div class='del'>-          o Numeric#div always rounds as Integer#div has done.</div><div class='del'>-          o Numeric#fdiv: ditto.</div><div class='del'>-    * Integer</div><div class='del'>-          o Integer(nil) raises TypeError</div><div class='del'>-    * Fixnum</div><div class='del'>-          o Fixnum#id2name removed</div><div class='del'>-          o Fixnum#to_sym removed</div><div class='del'>-    * Struct</div><div class='del'>-          o Struct#inspect</div><div class='del'>-    * Time</div><div class='del'>-          o New format in Time#to_s</div><div class='del'>-          o Timezone information preserved on Marshal.dump/load</div><div class='del'>-    * $SAFE and bound methods</div><div class='del'>-          o New trusted/untrusted model in addition to</div><div class='del'>-            tainted/untainted model.</div><div class='del'>-</div><div class='del'>-    * Deprecation</div><div class='del'>-          o $= (global flag for case-sensitiveness on string matching)</div><div class='del'>-          o Kernel#to_a</div><div class='del'>-          o Kernel#getc, #gsub, #sub</div><div class='del'>-          o Kernel#callcc and Continuation now become 'continuation'</div><div class='del'>-            bundled library.</div><div class='del'>-          o Object#type</div><div class='del'>-          o Removed Array and Hash #indices, #indexes</div><div class='del'>-          o Hash#index</div><div class='del'>-          o ENV.index</div><div class='del'>-          o Process::Status#to_int</div><div class='del'>-          o Numeric#rdiv</div><div class='del'>-          o Precision is removed.  Don't cry, it will be redesigned</div><div class='del'>-            and come back in future version.</div><div class='del'>-          o Symbol#to_int and Symbol#to_i</div><div class='del'>-          o $KCODE is no longer effective.  Use Encoding related</div><div class='del'>-            features of each class.</div><div class='del'>-          o VERSION and friends</div><div class='del'>-</div><div class='del'>-* bundled libraries</div><div class='del'>-</div><div class='del'>-    * Pathname</div><div class='del'>-          o No longer has #to_str nor #=~.</div><div class='del'>-    * time and date</div><div class='del'>-          o Time.parse and Date.parse interprets slashed numerical dates</div><div class='del'>-	    as "dd/mm/yyyy".</div><div class='del'>-    * Readline</div><div class='del'>-          o If Readline uses libedit, Readline::HISTORY[0] returns the</div><div class='del'>-            first of the history.</div><div class='del'>-    * Continuation</div><div class='del'>-          o as above</div><div class='del'>-</div><div class='del'>-    * Deprecation</div><div class='del'>-          o Complex#image: use Complex#imag</div><div class='del'>-          o All SSL-related class methods in Net::SMTP</div><div class='del'>-          o Prime#cache, Prime#primes, Prime#primes_so_far</div><div class='del'>-          o mailread library: use tmail gem.</div><div class='del'>-          o cgi-lib library: use cgi.</div><div class='del'>-          o date2 library: use date.</div><div class='del'>-          o eregex library</div><div class='del'>-          o finalize library: use ObjectSpace.define_finalizer if you</div><div class='del'>-            really need a finalizer. really?</div><div class='del'>-          o ftools library: use fileutils.</div><div class='del'>-          o generator library: use Enumerator.</div><div class='del'>-          o importenv library and Env library</div><div class='del'>-          o jcode library: use multilingualization support of String</div><div class='del'>-          o parsedate library</div><div class='del'>-          o ping library</div><div class='del'>-          o readbytes library</div><div class='del'>-          o getopts library and parsearg library: use optparse or</div><div class='del'>-            getoptlong.</div><div class='del'>-          o soap, wsdl and xsd libraries: use soap4r gem.</div><div class='del'>-          o Win32API library: use dl.</div><div class='del'>-          o dl library: Reimplemented and API changed. use the new</div><div class='del'>-	    version of dl or ffi gem.</div><div class='del'>-          o rubyunit library and runit library: use minitest or</div><div class='del'>-            test/unit. Or use anything you love through RubyGems.</div><div class='del'>-          o test/unit is reimplemented on top of minitest.  This is</div><div class='del'>-            not fully compatible with the original.</div><div class='del'>-</div><div class='del'>-=== Language core changes</div><div class='del'>-</div><div class='del'>-    * New syntax and semantics</div><div class='del'>-          o Magic comments to declare in which encoding your source</div><div class='del'>-            code is written</div><div class='del'>-          o New literal hash syntax and new syntax for hash style</div><div class='del'>-	    arguments</div><div class='del'>-          o New syntax for lambdas</div><div class='del'>-          o .() and calling Procs without #call/#[]</div><div class='del'>-          o Block in block arguments</div><div class='del'>-          o Block local variables</div><div class='del'>-          o Mandatory arguments after optional arguments allowed</div><div class='del'>-          o Multiple splats allowed</div><div class='del'>-          o #[] can take splatted arguments, hash style arguments</div><div class='del'>-            and a block.</div><div class='del'>-          o New directives in printf-style formatted strings (%).</div><div class='del'>-          o Newlines allowed before ternary colon operator (:) and</div><div class='del'>-            method call dot operator (.)</div><div class='del'>-          o Negative operators such as !, != and !~ are now</div><div class='del'>-            overloadable</div><div class='del'>-          o Encoding.default_external and default_internal</div><div class='del'>-          o __ENCODING__: New pseudo variable to hold the current</div><div class='del'>-            script's encoding</div><div class='del'>-</div><div class='del'>-=== Library updates</div><div class='del'>-</div><div class='del'>-* builtin classes and objects</div><div class='del'>-    * Kernel and Object</div><div class='del'>-          o BasicObject</div><div class='del'>-          o Object#=~ returns nil instead of false by default.</div><div class='del'>-          o Kernel#define_singleton_method</div><div class='del'>-	  o Kernel#load can load a library from the highest versions</div><div class='del'>-	    of gems by default.</div><div class='del'>-    * Class and Module</div><div class='del'>-          o Module#const_defined?, #const_get and #method_defined?</div><div class='del'>-            take an optional parameter.</div><div class='del'>-          o #class_variable_{set,get} are public.</div><div class='del'>-          o Class of singleton classes</div><div class='del'>-</div><div class='del'>-    * Errno::EXXX</div><div class='del'>-          o All of those are always defined.  Errno::EXXX will be</div><div class='del'>-            defined as an alias to Errno::NOERROR if your platform</div><div class='del'>-            does not have one.</div><div class='del'>-</div><div class='del'>-    * Binding#eval</div><div class='del'>-    * Blocks and Procs</div><div class='del'>-          o Arity of blocks without arguments</div><div class='del'>-          o proc is now a synonym of Proc.new</div><div class='del'>-          o Proc#yield</div><div class='del'>-          o Passing blocks to #[]</div><div class='del'>-          o Proc#lambda?</div><div class='del'>-          o Proc#curry</div><div class='del'>-    * Fiber: coroutines/micro-threads</div><div class='del'>-    * Thread</div><div class='del'>-          o Thread.critical and Thread.critical= removed</div><div class='del'>-          o Thread#exit!, Thread#kill! and Thread#terminate! removed.</div><div class='del'>-</div><div class='del'>-    * Enumerable and Enumerator</div><div class='del'>-          o Enumerator#enum_cons and Enumerator#enum_slice are</div><div class='del'>-            removed.  Use #each_cons and #each_slice without a block.</div><div class='del'>-          o Enumerable#each_with_index can take optional arguments</div><div class='del'>-            and passes them to #each.</div><div class='del'>-          o Enumerable#each_with_object</div><div class='del'>-          o Enumerator#with_object</div><div class='del'>-          o Enumerator.new { ... }</div><div class='del'>-    * Array</div><div class='del'>-          o Array#delete returns a deleted element rather than a given</div><div class='del'>-            object</div><div class='del'>-          o Array#to_s is equivalent to Array#inspect</div><div class='del'>-          o Array.try_convert</div><div class='del'>-          o Array#pack('m0') complies with RFC 4648.</div><div class='del'>-    * Hash</div><div class='del'>-          o preserving item insertion order</div><div class='del'>-          o Hash#default_proc=</div><div class='del'>-          o Hash#_compare_by_identity and Hash#compare_by_identity?</div><div class='del'>-          o Hash.try_convert</div><div class='del'>-          o Hash#assoc</div><div class='del'>-          o Hash#rassoc</div><div class='del'>-          o Hash#flatten</div><div class='del'>-    * Range</div><div class='del'>-          o Range#cover?</div><div class='del'>-          o Range#include? iterates over elements and compares the</div><div class='del'>-            given value with each element unless the range is numeric.</div><div class='del'>-            Use Range#cover? for the old behavior, i.e. comparison</div><div class='del'>-            with boundary values.</div><div class='del'>-          o Range#min, Range#max</div><div class='del'>-</div><div class='del'>-    * File and Dir operations</div><div class='del'>-          o New methods</div><div class='del'>-    * Process</div><div class='del'>-          o Process.spawn</div><div class='del'>-          o Process.daemon</div><div class='del'>-    * String</div><div class='del'>-          o String#clear</div><div class='del'>-          o String#ord</div><div class='del'>-          o String#getbyte, String#setbyte</div><div class='del'>-          o String#chars and String#each_char act as character-wise.</div><div class='del'>-          o String#codepoints, String#each_codepoint</div><div class='del'>-          o String#unpack with a block</div><div class='del'>-          o String#hash</div><div class='del'>-          o String.try_convert</div><div class='del'>-          o String#encoding</div><div class='del'>-	  o String#force_encoding, String#encode and String#encode!</div><div class='del'>-          o String#ascii_only?</div><div class='del'>-          o String#valid_encoding?</div><div class='del'>-	  o String#match</div><div class='del'>-    * Symbol</div><div class='del'>-          o Zero-length symbols allowed</div><div class='del'>-          o Symbol#intern</div><div class='del'>-          o Symbol#encoding</div><div class='del'>-          o Symbol methods similar to those in String</div><div class='del'>-    * Regexp</div><div class='del'>-          o Regexp#=== matches symbols</div><div class='del'>-          o Regexp.try_convert</div><div class='del'>-          o Regexp#match</div><div class='del'>-          o Regexp#fixed_encoding?</div><div class='del'>-          o Regexp#encoding</div><div class='del'>-          o Regexp#named_captures</div><div class='del'>-          o Regexp#names</div><div class='del'>-    * MatchData</div><div class='del'>-          o MatchData#names</div><div class='del'>-          o MatchData#regexp</div><div class='del'>-    * Encoding</div><div class='del'>-    * Encoding::Converter</div><div class='del'>-          o supports conversion between many encodings</div><div class='del'>-    * Numeric</div><div class='del'>-          o Numeric#upto, #downto, #times, #step</div><div class='del'>-          o Numeric#real?, Complex#real?</div><div class='del'>-          o Numeric#magnitude</div><div class='del'>-          o Numeric#round</div><div class='del'>-    * Float</div><div class='del'>-          o Float#round</div><div class='del'>-    * Integer</div><div class='del'>-          o Integer#round</div><div class='del'>-    * Rational / Complex</div><div class='del'>-          o They are in the core library now</div><div class='del'>-    * Math</div><div class='del'>-          o Math#log takes an optional argument.</div><div class='del'>-          o Math#log2</div><div class='del'>-          o Math#cbrt, Math#lgamma, Math#gamma</div><div class='del'>-    * Time</div><div class='del'>-          o Time.times removed.  Use Process.times.</div><div class='del'>-          o Time#sunday?</div><div class='del'>-          o Time#monday?</div><div class='del'>-          o Time#tuesday?</div><div class='del'>-          o Time#wednesday?</div><div class='del'>-          o Time#thursday?</div><div class='del'>-          o Time#friday?</div><div class='del'>-          o Time#saturday?</div><div class='del'>-          o Time#tv_nsec and Time#nsec</div><div class='del'>-    * Misc. new methods</div><div class='del'>-          o RUBY_ENGINE to distinguish between Ruby processor implementation</div><div class='del'>-          o public_method</div><div class='del'>-          o public_send</div><div class='del'>-          o GC.count</div><div class='del'>-          o ObjectSpace.count_objects</div><div class='del'>-          o Method#hash, Proc#hash</div><div class='del'>-          o Method#source_location, UnboundMethod#source_location and</div><div class='del'>-	    Proc#source_location</div><div class='del'>-          o __callee__</div><div class='del'>-          o Elements in $LOAD_PATH and $LOADED_FEATURES are expanded</div><div class='del'>-</div><div class='del'>-* bundled libraries</div><div class='del'>-    * RubyGems</div><div class='del'>-          o Package management system for Ruby.</div><div class='del'>-          o Integrated with Ruby's library loader.</div><div class='del'>-    * Rake</div><div class='del'>-          o Ruby make. A simple ruby build program with capabilities</div><div class='del'>-            similar to make.</div><div class='del'>-    * minitest</div><div class='del'>-          o Our new testing library which is faster, cleaner and easier</div><div class='del'>-	    to read than the old test/unit.</div><div class='del'>-          o You can introduce the old test/unit as testunit gem through</div><div class='del'>-            RubyGems if you want.</div><div class='del'>-    * CMath</div><div class='del'>-          o Complex number version of Math</div><div class='del'>-    * Prime</div><div class='del'>-          o Extracted from Mathn and improved. You can easily enumerate</div><div class='del'>-            prime numbers.</div><div class='del'>-          o Prime.new is obsolete. Use its class methods.</div><div class='del'>-    * ripper</div><div class='del'>-          o Ruby script parser</div><div class='del'>-    * Readline</div><div class='del'>-          o Readline.vi_editing_mode?</div><div class='del'>-          o Readline.emacs_editing_mode?</div><div class='del'>-          o Readline::HISTORY.clear</div><div class='del'>-    * Tk</div><div class='del'>-          o TkXXX widget classes are removed and redefined as aliases of</div><div class='del'>-            Tk::XXX classes.</div><div class='del'>-    * RDoc</div><div class='del'>-          o Updated to version 2.2.2.  See:</div><div class='del'>-            http://rubyforge.org/frs/shownotes.php?group_id=627&amp;release_id=26434</div><div class='del'>-    * json</div><div class='del'>-          o JSON (JavaScript Object Notation) encoder/decoder</div><div class='del'>-</div><div class='del'>-* commandline options</div><div class='del'>-    * -E, --encoding</div><div class='del'>-    * -U</div><div class='del'>-    * --enable-gems, --disable-gems</div><div class='del'>-    * --enable-rubyopt, --disable-rubyopt</div><div class='del'>-    * long options are allowed in RUBYOPT environment variable.</div><div class='del'>-</div><div class='del'>-=== Implementation changes</div><div class='del'>-</div><div class='del'>-* Memory Diet</div><div class='del'>-    * Object Compaction - Object, Array, String, Hash, Struct, Class,</div><div class='del'>-      Module</div><div class='del'>-    * st_table compaction (inlining small tables)</div><div class='del'>-* YARV</div><div class='del'>-    * Ruby codes are compiled into opcodes before executed.</div><div class='del'>-    * Native thread</div><div class='del'>-</div><div class='del'>-* Platform supports</div><div class='del'>-    * Support levels</div><div class='del'>-          (0) Supported</div><div class='del'>-          (1) Best effort</div><div class='del'>-          (2) Perhaps</div><div class='del'>-          (3) Not supported</div><div class='del'>-    * Dropped</div><div class='del'>-          o No longer supports djgpp, bcc32, human68k, MacOS 9 or earlier,</div><div class='del'>-            VMS nor Windows CE.</div><div class='head'>diff --git a/doc/NEWS-1.9.2 b/doc/NEWS-1.9.2<br/>deleted file mode 100644<br/>index fedb1f6633..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-1.9.2?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.9.2</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,509 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-= NEWS for Ruby 1.9.2</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 1.9.1 release</div><div class='del'>-=== Library updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* builtin classes</div><div class='del'>-</div><div class='del'>-  * Array</div><div class='del'>-    * new methods:</div><div class='del'>-      * Array#keep_if</div><div class='del'>-      * Array#repeated_combination</div><div class='del'>-      * Array#repeated_permutation</div><div class='del'>-      * Array#rotate</div><div class='del'>-      * Array#rotate!</div><div class='del'>-      * Array#select!</div><div class='del'>-      * Array#sort_by!</div><div class='del'>-</div><div class='del'>-    * extended method:</div><div class='del'>-      * Array#{uniq,uniq!,product} can take a block.</div><div class='del'>-</div><div class='del'>-  * Complex</div><div class='del'>-    * new method:</div><div class='del'>-      * Complex#rationalize</div><div class='del'>-</div><div class='del'>-  * Dir</div><div class='del'>-    * new method:</div><div class='del'>-      * Dir.home</div><div class='del'>-</div><div class='del'>-  * Encoding</div><div class='del'>-    * new encodings:</div><div class='del'>-      * Big5</div><div class='del'>-      * Big5-UAO</div><div class='del'>-      * ISO-2022-JP-KDDI</div><div class='del'>-      * SJIS-DoCoMo</div><div class='del'>-      * SJIS-KDDI</div><div class='del'>-      * SJIS-SoftBank</div><div class='del'>-      * UTF8-DoCoMo</div><div class='del'>-      * UTF8-KDDI</div><div class='del'>-      * UTF8-SoftBank</div><div class='del'>-</div><div class='del'>-    * new method:</div><div class='del'>-      * ascii_compatible?</div><div class='del'>-</div><div class='del'>-  * Enumerable</div><div class='del'>-    * new methods:</div><div class='del'>-      * Enumerable#chunk</div><div class='del'>-      * Enumerable#collect_concat</div><div class='del'>-      * Enumerable#each_entry</div><div class='del'>-      * Enumerable#flat_map</div><div class='del'>-      * Enumerable#slice_before</div><div class='del'>-</div><div class='del'>-  * Enumerator</div><div class='del'>-    * new methods:</div><div class='del'>-      * Enumerator#peek</div><div class='del'>-      * Enumerator#next_values</div><div class='del'>-      * Enumerator#peek_values</div><div class='del'>-      * Enumerator#feed</div><div class='del'>-      * StopIteration#result</div><div class='del'>-</div><div class='del'>-    * extended method:</div><div class='del'>-      * #with_index accepts an optional argument that specifies the</div><div class='del'>-        index number to start with, defaulted to 0.</div><div class='del'>-</div><div class='del'>-    * incompatible changes:</div><div class='del'>-      * #rewind now calls the "rewind" method of the enclosed object</div><div class='del'>-        if defined.</div><div class='del'>-      * #next doesn't clear the position at end.</div><div class='del'>-</div><div class='del'>-  * ENV</div><div class='del'>-    * Uses locale's encoding</div><div class='del'>-    * ENV.[]= raises Errno::{EINVAL,ENOMEM} etc. on failure.</div><div class='del'>-    * new methods:</div><div class='del'>-      * ENV.keep_if</div><div class='del'>-      * ENV.select!</div><div class='del'>-</div><div class='del'>-  * Float</div><div class='del'>-    * new constants:</div><div class='del'>-      * Float::INFINITY</div><div class='del'>-      * Float::NAN</div><div class='del'>-    * new method:</div><div class='del'>-      * Float#rationalize</div><div class='del'>-</div><div class='del'>-  * File</div><div class='del'>-    * new methods:</div><div class='del'>-      * File.realpath</div><div class='del'>-      * File.realdirpath</div><div class='del'>-</div><div class='del'>-  * GC::Profiler</div><div class='del'>-    * new method:</div><div class='del'>-      * GC::Profiler.total_time</div><div class='del'>-</div><div class='del'>-  * Hash</div><div class='del'>-    * new methods:</div><div class='del'>-      * Hash#keep_if</div><div class='del'>-      * Hash#select!</div><div class='del'>-</div><div class='del'>-  * IO</div><div class='del'>-    * new methods:</div><div class='del'>-      * IO#autoclose=</div><div class='del'>-      * IO#autoclose?</div><div class='del'>-      * IO#fdatasync</div><div class='del'>-      * IO#codepoints</div><div class='del'>-      * IO#each_codepoint</div><div class='del'>-</div><div class='del'>-    * extended method:</div><div class='del'>-      * IO.pipe can take a block.</div><div class='del'>-</div><div class='del'>-    * new modules:</div><div class='del'>-      * IO::WaitReadable</div><div class='del'>-      * IO::WaitWritable</div><div class='del'>-        They are used to extend non-blocking exceptions.</div><div class='del'>-</div><div class='del'>-  * Integer</div><div class='del'>-    * new method:</div><div class='del'>-      * Integer#rationalize</div><div class='del'>-</div><div class='del'>-  * Kernel</div><div class='del'>-    * new methods:</div><div class='del'>-      * Kernel#respond_to_missing?</div><div class='del'>-      * Kernel#singleton_class</div><div class='del'>-      * Kernel#require_relative</div><div class='del'>-</div><div class='del'>-    * extended method:</div><div class='del'>-      * Kernel#respond_to? can be used to detect methods not implemented.</div><div class='del'>-        For example, Process.respond_to?(:fork) returns false on Windows.</div><div class='del'>-</div><div class='del'>-    * incompatible changes:</div><div class='del'>-      * Kernel#instance_eval yields the receiver.</div><div class='del'>-</div><div class='del'>-      * Kernel#exec</div><div class='del'>-      * Kernel#spawn</div><div class='del'>-      * Kernel#system</div><div class='del'>-      * Kernel#` (`...`)</div><div class='del'>-        ..etc.</div><div class='del'>-</div><div class='del'>-        On Windows, the current directory is no longer implicitly</div><div class='del'>-        prepended to the default command search path, just like other</div><div class='del'>-        platforms.</div><div class='del'>-</div><div class='del'>-  * MatchData</div><div class='del'>-    * new method:</div><div class='del'>-      * MatchData#==</div><div class='del'>-</div><div class='del'>-  * Method</div><div class='del'>-    * new method:</div><div class='del'>-      * Method#parameters</div><div class='del'>-</div><div class='del'>-  * NilClass</div><div class='del'>-    * new method:</div><div class='del'>-      * NilClass#rationalize</div><div class='del'>-</div><div class='del'>-  * Object</div><div class='del'>-    * extended methods:</div><div class='del'>-      * Float() supports hexadecimal floating point format.</div><div class='del'>-      * printf() supports %a/%A format.</div><div class='del'>-</div><div class='del'>-  * Proc</div><div class='del'>-    * new method:</div><div class='del'>-      * Proc#parameters</div><div class='del'>-    * extended method:</div><div class='del'>-      * Proc#source_location returns location even if receiver is a method</div><div class='del'>-        defined by attr_reader / attr_writer / attr_accessor.</div><div class='del'>-</div><div class='del'>-  * Process</div><div class='del'>-    * extended method:</div><div class='del'>-      * Process.spawn accepts [:child, FD] for a redirect target.</div><div class='del'>-</div><div class='del'>-  * Random (new class to generate pseudo-random numbers)</div><div class='del'>-</div><div class='del'>-  * Rational</div><div class='del'>-    * new method:</div><div class='del'>-      * Rational#rationalize</div><div class='del'>-</div><div class='del'>-  * String</div><div class='del'>-    * extended methods:</div><div class='del'>-      * string[regexp, name] is supported for named capture.</div><div class='del'>-</div><div class='del'>-  * Thread</div><div class='del'>-    * new methods:</div><div class='del'>-      * Thread#add_trace_func</div><div class='del'>-      * Thread#set_trace_func</div><div class='del'>-</div><div class='del'>-  * Time</div><div class='del'>-    * extended features:</div><div class='del'>-      * time_t restriction is removed to represent before 1901 and after 2038.</div><div class='del'>-        Proleptic Gregorian calendar is used for old dates.</div><div class='del'>-      * Time.new have optional arguments to specify date with time offset.</div><div class='del'>-      * Time#getlocal, Time#localtime have optional time offset argument.</div><div class='del'>-</div><div class='del'>-    * new methods:</div><div class='del'>-      * Time#to_r</div><div class='del'>-      * Time#subsec</div><div class='del'>-      * Time#round</div><div class='del'>-</div><div class='del'>-    * incompatible change:</div><div class='del'>-      * The year argument of Time.{utc,gm,local,mktime} is now interpreted as</div><div class='del'>-        the value itself.  For example, Time.utc(99) means the year 99 AD,</div><div class='del'>-        not 1999 AD.</div><div class='del'>-</div><div class='del'>-  * UnboundMethod</div><div class='del'>-    * new method:</div><div class='del'>-      * UnboundMethod#parameters</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-* digest</div><div class='del'>-  * new methods:</div><div class='del'>-    * Digest::Class.base64digest</div><div class='del'>-    * Digest::Instance#base64digest</div><div class='del'>-    * Digest::Instance#base64digest!</div><div class='del'>-</div><div class='del'>-  * Digest::HMAC (digest/hmac) has been marked as deprecated because</div><div class='del'>-    it was unintentional for the experimental library to be included</div><div class='del'>-    in the final release of 1.9.1.  Please use OpenSSL::HMAC instead.</div><div class='del'>-</div><div class='del'>-* rss</div><div class='del'>-</div><div class='del'>-  * 0.2.4 -&gt; 0.2.7.</div><div class='del'>-</div><div class='del'>-  * RSS::Maker.make</div><div class='del'>-    * raise an exception not returns nil for invalid feed making.</div><div class='del'>-    * requires block.</div><div class='del'>-</div><div class='del'>-  * RSS::Maker.[]</div><div class='del'>-    * new method to return maker class.</div><div class='del'>-</div><div class='del'>-  * RSS::Maker.supported?(version)</div><div class='del'>-    * new method to check whether given version is supported.</div><div class='del'>-</div><div class='del'>-  * RSS::Maker: item.guid.permanent_link?</div><div class='del'>-    * new alias of item.guid.isPermaLink</div><div class='del'>-  * RSS::Maker: item.guid.permanent_link=</div><div class='del'>-    * new alias of item.guid.isPermaLink=</div><div class='del'>-</div><div class='del'>-* DL</div><div class='del'>-  * Now uses libffi as a backend if avaiable.</div><div class='del'>-    It means DL works fine on more platforms.</div><div class='del'>-</div><div class='del'>-* Fiddle</div><div class='del'>-  * A lightweight wrapper for libffi.</div><div class='del'>-</div><div class='del'>-* YAML</div><div class='del'>-  * Now uses libyaml as a backend if available.</div><div class='del'>-    It means YAML library supports new standards for YAML.</div><div class='del'>-</div><div class='del'>-* Psych</div><div class='del'>-  * A wrapper for libyaml.</div><div class='del'>-</div><div class='del'>-* JSON</div><div class='del'>-  * Update to JSON 1.1.9</div><div class='del'>-</div><div class='del'>-* REXML</div><div class='del'>-</div><div class='del'>-  * REXML::Document.entity_expansion_limit=</div><div class='del'>-</div><div class='del'>-    New method to set the entity expansion limit. By default the limit is</div><div class='del'>-    set to 10000.  See the following URL for details.</div><div class='del'>-</div><div class='del'>-    https://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-</div><div class='del'>-  * Updated to RDoc 2.5.8</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-</div><div class='del'>-  * Updated to RubyGems 1.3.7</div><div class='del'>-</div><div class='del'>-* logger</div><div class='del'>-</div><div class='del'>-  * imported upstream version (logger/1.2.7)</div><div class='del'>-    * do not raise an exception even if log writing failed.</div><div class='del'>-    * do not raise ShiftingError if an aged file already exists.</div><div class='del'>-      (no ShiftingError will be raised from 1.2.7, just warn() instead)</div><div class='del'>-</div><div class='del'>-* matrix</div><div class='del'>-  * API change to adhere strictly to mathematical definitions:</div><div class='del'>-    * Matrices must now be rectangular.</div><div class='del'>-    * trace, regular?, singular? are defined only for square matrices</div><div class='del'>-    * support for empty matrices</div><div class='del'>-    * all integer matrices now have the right determinant (also an integer)</div><div class='del'>-</div><div class='del'>-  * Matrix and Vector include Enumerable.</div><div class='del'>-</div><div class='del'>-  * new methods:</div><div class='del'>-    * Matrix.build</div><div class='del'>-    * Matrix.empty</div><div class='del'>-    * Matrix#conj</div><div class='del'>-    * Matrix#conjugate</div><div class='del'>-    * Matrix#each</div><div class='del'>-    * Matrix#each_with_index</div><div class='del'>-    * Matrix#empty?</div><div class='del'>-    * Matrix#imag</div><div class='del'>-    * Matrix#imaginary</div><div class='del'>-    * Matrix#real</div><div class='del'>-    * Matrix#real?</div><div class='del'>-    * Matrix#rect</div><div class='del'>-    * Matrix#rectangular</div><div class='del'>-</div><div class='del'>-* net/http</div><div class='del'>-  * merged net/https.</div><div class='del'>-</div><div class='del'>-* open3</div><div class='del'>-  * new methods:</div><div class='del'>-    * Open3.popen2</div><div class='del'>-    * Open3.popen2e</div><div class='del'>-    * Open3.capture3</div><div class='del'>-    * Open3.capture2</div><div class='del'>-    * Open3.capture2e</div><div class='del'>-    * Open3.pipeline_rw</div><div class='del'>-    * Open3.pipeline_r</div><div class='del'>-    * Open3.pipeline_w</div><div class='del'>-    * Open3.pipeline_start</div><div class='del'>-    * Open3.pipeline</div><div class='del'>-</div><div class='del'>-* pty</div><div class='del'>-  * new methods:</div><div class='del'>-    * PTY.open</div><div class='del'>-    * PTY.check</div><div class='del'>-  * deprecated methods:</div><div class='del'>-    * protect_signal</div><div class='del'>-    * reset_signal</div><div class='del'>-</div><div class='del'>-* openssl</div><div class='del'>-  * new methods:</div><div class='del'>-    * OpenSSL::Buffering#read_nonblock</div><div class='del'>-    * OpenSSL::Buffering#write_nonblock</div><div class='del'>-    * OpenSSL::SSL::SSLSocket#connect_nonblock</div><div class='del'>-    * OpenSSL::SSL::SSLSocket#accept_nonblock</div><div class='del'>-</div><div class='del'>-* scanf</div><div class='del'>-  * support %a/%A format.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-* socket</div><div class='del'>-</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Socket#{recvfrom,recvfrom_nonblock,accept,accept_nonblock,sysaccept}</div><div class='del'>-      returns a sender address as Addrinfo object instead of a binary sockaddr string.</div><div class='del'>-      Addrinfo#to_s returns the old binary sockaddr string.</div><div class='del'>-    * BasicSocket#getsockopt returns Socket::Option object instead of a binary string.</div><div class='del'>-      Socket::Option#to_s returns the old binary string.</div><div class='del'>-    * Socket.do_not_reverse_lookup is turned on by default now.</div><div class='del'>-</div><div class='del'>-  * new class:</div><div class='del'>-    * Addrinfo</div><div class='del'>-    * Socket::Option</div><div class='del'>-    * Socket::AncillaryData</div><div class='del'>-</div><div class='del'>-  * new methods:</div><div class='del'>-    * Socket.ip_address_list</div><div class='del'>-    * Socket.tcp</div><div class='del'>-    * Socket.tcp_server_loop</div><div class='del'>-    * Socket.tcp_server_sockets</div><div class='del'>-    * Socket.udp_server_sockets</div><div class='del'>-    * Socket.udp_server_loop_on</div><div class='del'>-    * Socket.udp_server_loop</div><div class='del'>-    * Socket.unix</div><div class='del'>-    * Socket.unix_server_loop</div><div class='del'>-    * Socket.unix_server_socket</div><div class='del'>-    * Socket.accept_loop</div><div class='del'>-    * Socket#ipv6only!</div><div class='del'>-    * BasicSocket#local_address</div><div class='del'>-    * BasicSocket#remote_address</div><div class='del'>-    * BasicSocket#connect_address</div><div class='del'>-    * BasicSocket#sendmsg</div><div class='del'>-    * BasicSocket#sendmsg_nonblock</div><div class='del'>-    * BasicSocket#recvmsg</div><div class='del'>-    * BasicSocket#recvmsg_nonblock</div><div class='del'>-    * BasicSocket#getpeereid</div><div class='del'>-</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Socket.new's 3rd argument is optional now.</div><div class='del'>-    * Socket.pair's 3rd argument is optional now.</div><div class='del'>-    * Socket.pair and UNIXSocket.pair can take a block.</div><div class='del'>-    * BasicSocket#send, UDPSocket#send, Socket.getnameinfo, Socket#bind, and</div><div class='del'>-      Socket#{connect,connect_nonblock} accepts an Addrinfo object as sockaddr.</div><div class='del'>-    * BasicSocket#getsockopt accepts a Socket::Option object.</div><div class='del'>-    * Socket.getaddrinfo and IPSocket#{addr,peeraddr} accept an optional</div><div class='del'>-      argument to turn reverse lookup on/off.</div><div class='del'>-</div><div class='del'>-    * constant names can be accepted as well as constant values.</div><div class='del'>-      i.e. Socket.new(:PF_INET, :SOCK_STREAM, 0)</div><div class='del'>-      The constant names can be specified without the prefix.</div><div class='del'>-      i.e. Socket.new(:INET, :STREAM, 0)</div><div class='del'>-      * protocol/address family</div><div class='del'>-      * socket type</div><div class='del'>-      * socket option protocol level</div><div class='del'>-      * socket option name</div><div class='del'>-      * shutdown's argument</div><div class='del'>-</div><div class='del'>-* stringio</div><div class='del'>-  * new methods:</div><div class='del'>-    * StringIO#read_nonblock</div><div class='del'>-    * StringIO#write_nonblock</div><div class='del'>-* pathname</div><div class='del'>-  * new methods:</div><div class='del'>-    * Pathname#binread</div><div class='del'>-    * Pathname#realdirpath</div><div class='del'>-    * Pathname#each_child</div><div class='del'>-</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Pathname#realpath and Pathname#realdirpath takes optional basedir</div><div class='del'>-      argument.</div><div class='del'>-</div><div class='del'>-* Readline</div><div class='del'>-  * new methods:</div><div class='del'>-    * Readline.set_screen_size</div><div class='del'>-    * Readline.get_screen_size</div><div class='del'>-</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Readline.completion_proc= accepts nil.</div><div class='del'>-      nil means to use default completion proc.</div><div class='del'>-</div><div class='del'>-* set</div><div class='del'>-  * new methods:</div><div class='del'>-    * Set#keep_if</div><div class='del'>-    * Set#select!</div><div class='del'>-</div><div class='del'>-* time</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Time.parse raises ArgumentError when no date information.</div><div class='del'>-</div><div class='del'>-* thread</div><div class='del'>-  * extended method:</div><div class='del'>-    * ConditionVariable#wait takes timeout argument.</div><div class='del'>-</div><div class='del'>-* securerandom</div><div class='del'>-  * new methods:</div><div class='del'>-    * SecureRandom.urlsafe_base64</div><div class='del'>-</div><div class='del'>-* URI</div><div class='del'>-  * new methods:</div><div class='del'>-    * URI.encode_www_form</div><div class='del'>-    * URI.decode_www_form</div><div class='del'>-    * URI.encode_www_form_component</div><div class='del'>-    * URI.decode_www_form_component</div><div class='del'>-  * Obsoleted methods:</div><div class='del'>-    * URI.decode</div><div class='del'>-    * URI.encode</div><div class='del'>-    * URI.escape</div><div class='del'>-    * URI.unescape</div><div class='del'>-</div><div class='del'>-* etc</div><div class='del'>-  * new methods:</div><div class='del'>-    * Etc::Passwd.each</div><div class='del'>-    * Etc::Group.each</div><div class='del'>-</div><div class='del'>-* zlib</div><div class='del'>-  * new methods:</div><div class='del'>-    * Zlib::GzipFile#path</div><div class='del'>-    * Zlib.#adler32_combine</div><div class='del'>-    * Zlib.#crc32_combine</div><div class='del'>-</div><div class='del'>-* rbconfig</div><div class='del'>-  * new methods:</div><div class='del'>-    * RbConfig.ruby</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* Regexp properties (\p{}) names now ignore underscores, spaces, and case, so</div><div class='del'>-  \p{ol chiki} is the same as \p{Ol_Chiki}</div><div class='del'>-* Regexps now support Unicode 5.2 (new characters and scripts)</div><div class='del'>-* \d, \s, and \w are now ASCII only; use POSIX bracket classes and \p{} for</div><div class='del'>-  Unicode semantics</div><div class='del'>-* $: no longer includes the current directory, use require_relative</div><div class='del'>-* Symbol with an invalid encoding is forbidden to exist.</div><div class='del'>-</div><div class='del'>-=== Compilation options</div><div class='del'>-</div><div class='del'>-* --program-prefix and --program-suffix no longer act on the shared object</div><div class='del'>-  names nor paths to libraries.</div><div class='del'>-</div><div class='del'>-  use --with-rubylibprefix='${libruby}/${RUBY_INSTALL_NAME}' and</div><div class='del'>-  --with-soname='${RUBY_INSTALL_NAME}' for the same result as Ruby 1.9.1.</div><div class='del'>-</div><div class='del'>-* --with-arch is added for universal binary, instead of</div><div class='del'>-  --enable-fat-binary option.</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-  * Enumerator#rewind</div><div class='del'>-  * Socket#recvfrom</div><div class='del'>-  * Socket#recvfrom_nonblock</div><div class='del'>-  * Socket#accept</div><div class='del'>-  * Socket#accept_nonblock</div><div class='del'>-  * Socket#sysaccept</div><div class='del'>-  * BasicSocket#getsockopt</div><div class='del'>-  * Time.utc</div><div class='del'>-  * Time.gm</div><div class='del'>-  * Time.local</div><div class='del'>-  * Time.mktime</div><div class='del'>-  * Time.parse</div><div class='del'>-  * --program-prefix and --program-suffix</div><div class='del'>-  * --enable-fat-binary</div><div class='del'>-  * $:</div><div class='del'>-</div><div class='del'>-    See above.</div><div class='del'>-</div><div class='del'>-  * Digest::HMAC</div><div class='del'>-</div><div class='del'>-    Deprecated.  See above.</div><div class='head'>diff --git a/doc/NEWS-1.9.3 b/doc/NEWS-1.9.3<br/>deleted file mode 100644<br/>index 484660f420..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-1.9.3?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-1.9.3</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,341 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-= NEWS for Ruby 1.9.3</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 1.9.2 release</div><div class='del'>-=== License</div><div class='del'>-</div><div class='del'>-* Ruby's License is changed from a dual license with GPLv2</div><div class='del'>-  to a dual license with 2-clause BSDL.</div><div class='del'>-</div><div class='del'>-=== Known platform dependent issues</div><div class='del'>-==== OS X Lion</div><div class='del'>-</div><div class='del'>-* You have to configure ruby with '--with-gcc=gcc-4.2' if you're using</div><div class='del'>-  Xcode 4.1, or, if you're using Xcode 4.2, you have to configure ruby</div><div class='del'>-  with '--with-gcc=clang'.</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-* rb_scan_args() is enhanced with support for option hash argument</div><div class='del'>-  extraction.</div><div class='del'>-</div><div class='del'>-* ruby_vm_at_exit() added.  This enables extension libs to hook a VM</div><div class='del'>-  termination.</div><div class='del'>-</div><div class='del'>-* rb_reserved_fd_p() added.  If you want to close all file descriptors,</div><div class='del'>-  check using this API.  [ruby-core:37759]</div><div class='del'>-</div><div class='del'>-=== Library updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* builtin classes</div><div class='del'>-</div><div class='del'>-  * ARGF</div><div class='del'>-    * new methods:</div><div class='del'>-      * ARGF.print</div><div class='del'>-      * ARGF.printf</div><div class='del'>-      * ARGF.putc</div><div class='del'>-      * ARGF.puts</div><div class='del'>-      * ARGF.read_nonblock</div><div class='del'>-      * ARGF.to_write_io</div><div class='del'>-      * ARGF.write</div><div class='del'>-</div><div class='del'>-  * Array</div><div class='del'>-    * extended method:</div><div class='del'>-      * Array#pack supports endian modifiers</div><div class='del'>-</div><div class='del'>-  * Bignum</div><div class='del'>-    * Multiplication algorithm for Bignums with a large number of digits over</div><div class='del'>-      150 BDIGITs is changed in order to reduce its calculation time.</div><div class='del'>-      Now such large Bignums are multiplied by using Toom-3 algorithm.</div><div class='del'>-</div><div class='del'>-  * Encoding</div><div class='del'>-    * new encodings:</div><div class='del'>-      * CP950</div><div class='del'>-      * CP951</div><div class='del'>-      * UTF-16</div><div class='del'>-      * UTF-32</div><div class='del'>-    * change alias:</div><div class='del'>-      * SJIS is Windows-31J</div><div class='del'>-</div><div class='del'>-  * File</div><div class='del'>-    * new constant:</div><div class='del'>-      * File::NULL</div><div class='del'>-        name of NULL device.</div><div class='del'>-      * File::DIRECT</div><div class='del'>-        name of O_DIRECT.</div><div class='del'>-</div><div class='del'>-  * IO</div><div class='del'>-    * extended method:</div><div class='del'>-      * IO#putc supports multibyte characters</div><div class='del'>-    * new methods:</div><div class='del'>-      * IO#advise</div><div class='del'>-      * IO.write(name, string, [offset] )</div><div class='del'>-        Write `string` to file `name`.</div><div class='del'>-        Opposite with File.read.</div><div class='del'>-      * IO.binwrite(name, string, [offset] )</div><div class='del'>-        binary version of IO.write.</div><div class='del'>-</div><div class='del'>-  * Kernel</div><div class='del'>-    * move #__id__ to BasicObject.</div><div class='del'>-    * extended method:</div><div class='del'>-      * Kernel#rand supports range argument</div><div class='del'>-</div><div class='del'>-  * Module</div><div class='del'>-    * new methods:</div><div class='del'>-      * Module#private_constant</div><div class='del'>-      * Module#public_constant</div><div class='del'>-</div><div class='del'>-  * Random</div><div class='del'>-    * extended method:</div><div class='del'>-      * Random.rand supports range argument</div><div class='del'>-</div><div class='del'>-  * String</div><div class='del'>-    * extended method:</div><div class='del'>-      * String#unpack supports endian modifiers</div><div class='del'>-    * new method:</div><div class='del'>-      * String#prepend</div><div class='del'>-      * String#byteslice</div><div class='del'>-</div><div class='del'>-  * Time</div><div class='del'>-    * extended method:</div><div class='del'>-      * Time#strftime supports %:z and %::z.</div><div class='del'>-</div><div class='del'>-  * Process</div><div class='del'>-    * Process#maxgroups and Process#maxgroups= now raise NotImplementedError if</div><div class='del'>-      the platform don't support supplementary groups concept.</div><div class='del'>-</div><div class='del'>-* bigdecimal</div><div class='del'>-</div><div class='del'>-  * BigDecimal#power and BigDecimal#** support non-integral exponent.</div><div class='del'>-</div><div class='del'>-  * Kernel.BigDecimal and BigDecimal.new now accept instances of Integer,</div><div class='del'>-    Rational, Float, and BigDecimal.  If you pass a Rational or a Float to</div><div class='del'>-    them, you must specify the precision to produce the digits of a BigDecimal.</div><div class='del'>-</div><div class='del'>-  * The behavior of BigDecimal#coerce with a Rational is changed.  It uses</div><div class='del'>-    the precision of the receiver BigDecimal to produce the digits of a</div><div class='del'>-    BigDecimal from the given Rational.</div><div class='del'>-</div><div class='del'>-* bigdecimal/util</div><div class='del'>-</div><div class='del'>-  * BigDecimal#to_d and Integer#to_d are added.</div><div class='del'>-</div><div class='del'>-  * Float#to_d accepts a precision.</div><div class='del'>-</div><div class='del'>-  * Rational#to_d raises ArgumentError when passing zero or negative</div><div class='del'>-    precision.</div><div class='del'>-</div><div class='del'>-  * Rational#to_d</div><div class='del'>-</div><div class='del'>-    * Zero and an implicit precision is deprecated.</div><div class='del'>-      This feature is removed at the next release of bigdecimal.</div><div class='del'>-</div><div class='del'>-    * A negative precision isn't supported.</div><div class='del'>-      Be careful it is an incompatible change.</div><div class='del'>-</div><div class='del'>-* date</div><div class='del'>-</div><div class='del'>-  * Accepts flonum explicitly with limitations.</div><div class='del'>-    * If the given offset is flonum, DateTime assumes its precision is</div><div class='del'>-      at most second.</div><div class='del'>-</div><div class='del'>-      DateTime.new(2001,2,3,0,0,0,3.0/24) ==</div><div class='del'>-      DateTime.new(2001,2,3,0,0,0,'+03:00')</div><div class='del'>-        #=&gt; true</div><div class='del'>-</div><div class='del'>-    * If the given operand for -/+ is flonum, DateTime assumes its</div><div class='del'>-      precision is at most nanosecond.</div><div class='del'>-</div><div class='del'>-      DateTime.new(2001,2,3) + 0.5 == DateTime.new(2001,2,3,12)</div><div class='del'>-        #=&gt; true</div><div class='del'>-</div><div class='del'>-    * Precision of offset is always at most second.</div><div class='del'>-</div><div class='del'>-      Rational('0.5') == Rational('0.500001')  #=&gt; false</div><div class='del'>-      DateTime.new(2001,2,3,0,0,0,Rational('0.5')) ==</div><div class='del'>-      DateTime.new(2001,2,3,0,0,0,Rational('0.500001'))</div><div class='del'>-        #=&gt; true</div><div class='del'>-</div><div class='del'>-  * Ignores long offset and far reform day (with warning).</div><div class='del'>-</div><div class='del'>-    * Now accepts only:</div><div class='del'>-</div><div class='del'>-      -1&lt;=offset&lt;=1 (-24:00..+24:00)</div><div class='del'>-      2298874&lt;=start&lt;=2426355 or -/+oo</div><div class='del'>-        (proleptic Gregorian/Julian mean -/+oo)</div><div class='del'>-</div><div class='del'>-  * A method strftime cannot produce huge output (same as Time's one).</div><div class='del'>-</div><div class='del'>-    * Even though Date/DateTime can handle far dates, the following causes</div><div class='del'>-      an exception.</div><div class='del'>-</div><div class='del'>-      DateTime.new(1&lt;&lt;10000).strftime('%Y')  # Errno::ERANGE</div><div class='del'>-</div><div class='del'>-  * Changed the format of inspect.</div><div class='del'>-  * Changed the format of marshal (but, can load old dumps).</div><div class='del'>-</div><div class='del'>-* io/console</div><div class='del'>-  * new methods:</div><div class='del'>-    * IO#noecho {|io| }</div><div class='del'>-    * IO#echo=</div><div class='del'>-    * IO#echo?</div><div class='del'>-    * IO#raw {|io| }</div><div class='del'>-    * IO#raw!</div><div class='del'>-    * IO#getch</div><div class='del'>-    * IO#winsize</div><div class='del'>-    * IO.console</div><div class='del'>-</div><div class='del'>-* json</div><div class='del'>-  * updated to v1.5.4.</div><div class='del'>-</div><div class='del'>-* matrix</div><div class='del'>-  * new classes:</div><div class='del'>-    * Matrix::EigenvalueDecomposition</div><div class='del'>-    * Matrix::LUPDecomposition</div><div class='del'>-  * new methods:</div><div class='del'>-    * Matrix#diagonal?</div><div class='del'>-    * Matrix#eigen</div><div class='del'>-    * Matrix#eigensystem</div><div class='del'>-    * Matrix#hermitian?</div><div class='del'>-    * Matrix#lower_triangular?</div><div class='del'>-    * Matrix#lup</div><div class='del'>-    * Matrix#lup_decomposition</div><div class='del'>-    * Matrix#normal?</div><div class='del'>-    * Matrix#orthogonal?</div><div class='del'>-    * Matrix#permutation?</div><div class='del'>-    * Matrix#round</div><div class='del'>-    * Matrix#symmetric?</div><div class='del'>-    * Matrix#unitary?</div><div class='del'>-    * Matrix#upper_triangular?</div><div class='del'>-    * Matrix#zero?</div><div class='del'>-    * Vector#magnitude, #norm</div><div class='del'>-    * Vector#normalize</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Matrix#each and #each_with_index can iterate on a subset of the elements</div><div class='del'>-    * Matrix#find_index returns [row, column] and can iterate on a subset</div><div class='del'>-      of the elements</div><div class='del'>-    * Matrix#** implements Numeric exponents (using the eigensystem)</div><div class='del'>-    * Matrix.zero can build rectangular matrices</div><div class='del'>-</div><div class='del'>-* minitest</div><div class='del'>-  * Minitest has been updated to version 2.2.2.</div><div class='del'>-  * For full details, see https://github.com/seattlerb/minitest/blob/master/History.txt</div><div class='del'>-</div><div class='del'>-* net/http</div><div class='del'>-  * SNI (Server Name Indication) supported for HTTPS.</div><div class='del'>-</div><div class='del'>-  * Allow to configure to wait server returning '100 continue' response</div><div class='del'>-    before sending HTTP request body. Set Net::HTTP#continue_timeout AND pass</div><div class='del'>-    'expect' =&gt; '100-continue' to a extra HTTP header.</div><div class='del'>-</div><div class='del'>-    For example, the following code sends HTTP header and waits for getting</div><div class='del'>-    '100 continue' response before sending HTTP request body. When 0.5 [sec]</div><div class='del'>-    timeout occurs or the server send '100 continue', the client sends HTTP</div><div class='del'>-    request body.</div><div class='del'>-      http.continue_timeout = 0.5</div><div class='del'>-      http.request_post('/continue', 'body=BODY', 'expect' =&gt; '100-continue')</div><div class='del'>-</div><div class='del'>-  * new method:</div><div class='del'>-    * Net::HTTPRequest#set_form): Added to support</div><div class='del'>-      both application/x-www-form-urlencoded and multipart/form-data.</div><div class='del'>-</div><div class='del'>-* objspace</div><div class='del'>-  * new method:</div><div class='del'>-    * ObjectSpace::memsize_of_all</div><div class='del'>-</div><div class='del'>-* openssl</div><div class='del'>-  * PKey::RSA and PKey::DSA now use the generic X.509 encoding scheme</div><div class='del'>-    (e.g. used in a X.509 certificate's Subject Public Key Info) when</div><div class='del'>-    exporting public keys to DER or PEM. Backward compatibility is</div><div class='del'>-    ensured by (already existing) fallbacks during creation.</div><div class='del'>-  * OpenSSL::ASN1::Constructive#new and OpenSSL::ASN1::Primitive#new</div><div class='del'>-    (and the constructors of their sub-classes) will no longer force</div><div class='del'>-    tagging to be set to :EXPLICIT when tag and/or tag_class are passed</div><div class='del'>-    as parameters. tagging must be set explicitly.</div><div class='del'>-  * Support for infinite length encodings via infinite_length attribute.</div><div class='del'>-  * OpenSSL::PKey.read( file | string [, pwd] ) allows to read arbitrary</div><div class='del'>-    public/private keys in DER-/PEM-encoded form with an optional password</div><div class='del'>-    for encrypted PEM encodings.</div><div class='del'>-  * Add new method OpenSSL::X509::Name#hash_old as a wrapper of</div><div class='del'>-    X509_NAME_hash_old() defined from OpenSSL 1.0.0. It returns OpenSSL 0.9.8</div><div class='del'>-    compatible hash value.</div><div class='del'>-</div><div class='del'>-* optparse</div><div class='del'>-  * support for bash/zsh completion.</div><div class='del'>-</div><div class='del'>-* Rake</div><div class='del'>-  * Rake has been upgraded from 0.8.7 to 0.9.2.2.  For full release notes see</div><div class='del'>-    https://github.com/jimweirich/rake/blob/master/CHANGES</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-  * RDoc has been upgraded to version 3.9.4.  For full release notes see</div><div class='del'>-    http://docs.seattlerb.org/rdoc/History_txt.html</div><div class='del'>-</div><div class='del'>-* rexml</div><div class='del'>-  * Support Ruby native encoding mechanism and iconv dependency is dropped.</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-  * RubyGems has been upgraded to version 1.8.10. For full release notes see</div><div class='del'>-    http://rubygems.rubyforge.org/rubygems-update/History_txt.html</div><div class='del'>-</div><div class='del'>-* stringio</div><div class='del'>-  * extended method:</div><div class='del'>-    * StringIO#set_encoding can get 2nd argument and optional hash.</div><div class='del'>-</div><div class='del'>-* test/unit</div><div class='del'>-  * New arguments:</div><div class='del'>-    * -j N, --jobs=N: Allow run N testcases at once.</div><div class='del'>-    * --jobs-status: Show status of jobs when parallel running.</div><div class='del'>-    * --no-retry: Don't retry testcases which failed when parallel running.</div><div class='del'>-    * --ruby=RUBY: path to ruby for job(worker) process. optional.</div><div class='del'>-    * --hide-skip: Hide skip messages. You'll see the number of skips at end of</div><div class='del'>-      test result.</div><div class='del'>-</div><div class='del'>-* uri</div><div class='del'>-  * new methods:</div><div class='del'>-    * URI::Generic#hostname</div><div class='del'>-    * URI::Generic#hostname=</div><div class='del'>-</div><div class='del'>-* webrick</div><div class='del'>-  * new method:</div><div class='del'>-    * WEBrick::HTTPRequest#continue for generating '100 continue' response.</div><div class='del'>-  * new logging directive:</div><div class='del'>-    * %{remote}p for remote (client) port number.</div><div class='del'>-</div><div class='del'>-* yaml</div><div class='del'>-  * The default YAML engine is now Psych. You may downgrade to syck by setting</div><div class='del'>-    YAML::ENGINE.yamler = 'syck'.</div><div class='del'>-</div><div class='del'>-* zlib</div><div class='del'>-  * new methods:</div><div class='del'>-    * Zlib.deflate</div><div class='del'>-    * Zlib.inflate</div><div class='del'>-</div><div class='del'>-* FileUtils</div><div class='del'>-  * extended method:</div><div class='del'>-    * FileUtils#chmod supports symbolic mode argument.</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* Regexps now support Unicode 6.0. (new characters and scripts)</div><div class='del'>-</div><div class='del'>-* [experimental] Regexps now support Age property.</div><div class='del'>-  Unlike Perl, current implementation takes interpretation of the</div><div class='del'>-  interpretation of UTS #18.</div><div class='del'>-  http://www.unicode.org/reports/tr18/</div><div class='del'>-</div><div class='del'>-* Turning on/off indentation warnings with directives.</div><div class='del'>-  ("# -*- warn-indent: true -*-" / "# -*- warn-indent: false -*-")</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-  * Rational#to_d</div><div class='del'>-</div><div class='del'>-    See above.</div><div class='head'>diff --git a/doc/NEWS-2.0.0 b/doc/NEWS-2.0.0<br/>deleted file mode 100644<br/>index 414789dcd1..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-2.0.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.0.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,530 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.0.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 1.9.3 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* Added keyword arguments.</div><div class='del'>-</div><div class='del'>-* Added %i and %I for symbol list creation (similar to %w and %W).</div><div class='del'>-</div><div class='del'>-* Default source encoding is changed to UTF-8. (was US-ASCII)</div><div class='del'>-</div><div class='del'>-* No warning for unused variables starting with '_'</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* ARGF</div><div class='del'>-  * added method:</div><div class='del'>-    * added ARGF#codepoints and ARGF#each_codepoint, like the corresponding</div><div class='del'>-      methods for IO.</div><div class='del'>-</div><div class='del'>-* Array</div><div class='del'>-  * added method:</div><div class='del'>-    * added Array#bsearch for binary search.</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * random parameter of Array#shuffle! and Array#sample now</div><div class='del'>-      will be called with one argument, maximum value.</div><div class='del'>-    * when given Range arguments, Array#values_at now returns nil for each</div><div class='del'>-      value that is out-of-range.</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-  * added method:</div><div class='del'>-    * added Enumerable#lazy method for lazy enumeration.</div><div class='del'>-</div><div class='del'>-* Enumerator</div><div class='del'>-  * added method:</div><div class='del'>-    * added Enumerator#size for lazy size evaluation.</div><div class='del'>-  * extended method:</div><div class='del'>-    * Enumerator.new accept an argument for lazy size evaluation.</div><div class='del'>-  * new class Enumerator::Lazy for lazy enumeration</div><div class='del'>-</div><div class='del'>-* ENV</div><div class='del'>-  * aliased method:</div><div class='del'>-    * ENV.to_h is a new alias for ENV.to_hash</div><div class='del'>-</div><div class='del'>-* Fiber</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Fiber#resume cannot resume a fiber which invokes "Fiber#transfer".</div><div class='del'>-</div><div class='del'>-* File</div><div class='del'>-  * extended method:</div><div class='del'>-    * File.fnmatch? now expands braces in the pattern if</div><div class='del'>-      File::FNM_EXTGLOB option is given.</div><div class='del'>-</div><div class='del'>-* GC</div><div class='del'>-  * improvements:</div><div class='del'>-    * introduced the bitmap marking which suppresses to copy a memory page</div><div class='del'>-      with Copy-on-Write.</div><div class='del'>-    * introduced the non-recursive marking which avoids unexpected stack overflow.</div><div class='del'>-</div><div class='del'>-* GC::Profiler</div><div class='del'>-  * added method:</div><div class='del'>-    * added GC::Profiler.raw_data which returns raw profile data for GC.</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-  * added method:</div><div class='del'>-    * added Hash#to_h as explicit conversion method, like Array#to_a.</div><div class='del'>-  * extended method:</div><div class='del'>-    * Hash#default_proc= can be passed nil to clear the default proc.</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-  * deprecated methods:</div><div class='del'>-    * IO#lines, #bytes, #chars and #codepoints are deprecated.</div><div class='del'>-</div><div class='del'>-* Kernel</div><div class='del'>-  * added method:</div><div class='del'>-    * added Kernel#Hash conversion method like Array() or Float().</div><div class='del'>-    * added Kernel#__dir__ which returns the absolute path of the</div><div class='del'>-      directory of the file from which this method is called.</div><div class='del'>-    * added Kernel#caller_locations which returns an array of</div><div class='del'>-      frame information objects.</div><div class='del'>-  * extended method:</div><div class='del'>-    * Kernel#warn accepts multiple args in like puts.</div><div class='del'>-    * Kernel#caller accepts second optional argument `n' which specify</div><div class='del'>-      required caller size.</div><div class='del'>-    * Kernel#to_enum and enum_for accept a block for lazy size evaluation.</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * system() and exec() close non-standard file descriptors</div><div class='del'>-      (The default of :close_others option is changed to true by default.)</div><div class='del'>-    * respond_to? against a protected method now returns false unless</div><div class='del'>-      the second argument is true.</div><div class='del'>-    * __callee__ has returned to the original behavior, and now</div><div class='del'>-      returns the called name but not the original name in an</div><div class='del'>-      aliased method.</div><div class='del'>-    * Kernel#inspect does not call #to_s anymore</div><div class='del'>-      (it used to call redefined #to_s).</div><div class='del'>-</div><div class='del'>-* LoadError</div><div class='del'>-  * added method:</div><div class='del'>-    * added LoadError#path method to return the file name that could not be</div><div class='del'>-      loaded.</div><div class='del'>-</div><div class='del'>-* Module</div><div class='del'>-  * added method:</div><div class='del'>-    * added Module#prepend which is similar to Module#include,</div><div class='del'>-      however a method in the prepended module overrides the</div><div class='del'>-      corresponding method in the prepending module.</div><div class='del'>-    * added Module.prepended and Module.prepend_features, similar</div><div class='del'>-      to included and append_features.</div><div class='del'>-    * added Module#refine, which extends a class or module locally.</div><div class='del'>-      [experimental]</div><div class='del'>-  * extended method:</div><div class='del'>-    * Module#define_method accepts a UnboundMethod from a Module.</div><div class='del'>-    * Module#const_get accepts a qualified constant string, e.g.</div><div class='del'>-      Object.const_get("Foo::Bar::Baz")</div><div class='del'>-</div><div class='del'>-* Mutex</div><div class='del'>-  * added method:</div><div class='del'>-    * added Mutex#owned? which returns the mutex is held by current</div><div class='del'>-      thread or not. [experimental]</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize</div><div class='del'>-      and Mutex#sleep are no longer allowed to be used from trap handler</div><div class='del'>-      and raise a ThreadError in such case.</div><div class='del'>-    * Mutex#sleep may spurious wakeup. Check after wakeup.</div><div class='del'>-</div><div class='del'>-* NilClass</div><div class='del'>-  * added method:</div><div class='del'>-    * added nil.to_h which returns {}</div><div class='del'>-</div><div class='del'>-* ObjectSpace::WeakMap</div><div class='del'>-  * new low level class to hold weak references to objects.</div><div class='del'>-</div><div class='del'>-* Proc</div><div class='del'>-  * incompatible change:</div><div class='del'>-    * removed Proc#== and #eql? so two procs are == only when they are</div><div class='del'>-      the same object.</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-  * added method:</div><div class='del'>-    * added getsid for getting session id (unix only).</div><div class='del'>-</div><div class='del'>-* Range</div><div class='del'>-  * added method:</div><div class='del'>-    * added Range#size for lazy size evaluation.</div><div class='del'>-    * added Range#bsearch for binary search.</div><div class='del'>-</div><div class='del'>-* RubyVM (MRI specific)</div><div class='del'>-  * added RubyVM::InstructionSequence.of to get the instruction sequence</div><div class='del'>-    from a method or a block.</div><div class='del'>-  * added RubyVM::InstructionSequence#path, #absolute_path, #label,</div><div class='del'>-    #base_label and #first_lineno to retrieve information from where</div><div class='del'>-    the instruction sequence was defined.</div><div class='del'>-  * added Environment variables to specify stack usage:</div><div class='del'>-    * RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.</div><div class='del'>-      default: 128KB (32bit CPU) or 256KB (64bit CPU).</div><div class='del'>-    * RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread</div><div class='del'>-      creation. default: 512KB or 1024KB.</div><div class='del'>-    * RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation.</div><div class='del'>-      default: 64KB or 128KB.</div><div class='del'>-    * RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber</div><div class='del'>-      creation. default: 256KB or 512KB.</div><div class='del'>-    These variables are checked only at launched time.</div><div class='del'>-  * added constant DEFAULT_PARAMS to get above default parameters.</div><div class='del'>-</div><div class='del'>-* Signal</div><div class='del'>-  * added method:</div><div class='del'>-    * added Signal.signame which returns signal name</div><div class='del'>-</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Signal.trap raises ArgumentError when :SEGV, :BUS, :ILL, :FPE, :VTALRM</div><div class='del'>-      are specified.</div><div class='del'>-</div><div class='del'>-* String</div><div class='del'>-  * added method:</div><div class='del'>-    * added String#b returning a copied string whose encoding is ASCII-8BIT.</div><div class='del'>-  * change return value:</div><div class='del'>-    * String#lines now returns an array instead of an enumerator.</div><div class='del'>-    * String#chars now returns an array instead of an enumerator.</div><div class='del'>-    * String#codepoints now returns an array instead of an enumerator.</div><div class='del'>-    * String#bytes now returns an array instead of an enumerator.</div><div class='del'>-</div><div class='del'>-* Struct</div><div class='del'>-  * added method:</div><div class='del'>-    * added Struct#to_h returning values with keys corresponding to the</div><div class='del'>-      instance variable names.</div><div class='del'>-</div><div class='del'>-* Thread</div><div class='del'>-  * added method:</div><div class='del'>-    * added Thread#thread_variable_get for getting thread local variables</div><div class='del'>-      (these are different than Fiber local variables).</div><div class='del'>-    * added Thread#thread_variable_set for setting thread local variables.</div><div class='del'>-    * added Thread#thread_variables for getting a list of the thread local</div><div class='del'>-      variable keys.</div><div class='del'>-    * added Thread#thread_variable? for testing to see if a particular thread</div><div class='del'>-      variable has been set.</div><div class='del'>-    * added Thread.handle_interrupt as well as instance and singleton methods</div><div class='del'>-      pending_interrupt? for asynchronous handling of exceptions</div><div class='del'>-    * added Thread#backtrace_locations which returns similar information of</div><div class='del'>-      Kernel#caller_locations.</div><div class='del'>-  * new class Thread::Backtrace::Location to hold backtrace location</div><div class='del'>-    information. These are returned by Thread#backtrace_locations and</div><div class='del'>-    Kernel#caller_locations.</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Thread#join and Thread#value now raises a ThreadError if target thread</div><div class='del'>-      is the current or main thread.</div><div class='del'>-</div><div class='del'>-* Time</div><div class='del'>-  * change return value:</div><div class='del'>-    * Time#to_s now returns US-ASCII encoding instead of BINARY.</div><div class='del'>-</div><div class='del'>-* TracePoint</div><div class='del'>-  * new class. This class is replacement of set_trace_func.</div><div class='del'>-    Easy to use and efficient implementation.</div><div class='del'>-</div><div class='del'>-* toplevel</div><div class='del'>-  * added method:</div><div class='del'>-    * added main.define_method which defines a global function.</div><div class='del'>-    * added main.using, which imports refinements into the current file or</div><div class='del'>-      eval string. [experimental]</div><div class='del'>-</div><div class='del'>-=== Core classes compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Array#values_at</div><div class='del'>-</div><div class='del'>-  See above.</div><div class='del'>-</div><div class='del'>-* String#lines</div><div class='del'>-* String#chars</div><div class='del'>-* String#codepoints</div><div class='del'>-* String#bytes</div><div class='del'>-</div><div class='del'>-  These methods no longer return an Enumerator, although passing a</div><div class='del'>-  block is still supported for backwards compatibility.</div><div class='del'>-</div><div class='del'>-  Code like str.lines.with_index(1) { |line, lineno| ... } no longer</div><div class='del'>-  works because str.lines returns an array.  Replace lines with</div><div class='del'>-  each_line in such cases.</div><div class='del'>-</div><div class='del'>-* IO#lines</div><div class='del'>-* IO#chars</div><div class='del'>-* IO#codepoints</div><div class='del'>-* IO#bytes</div><div class='del'>-* ARGF#lines</div><div class='del'>-* ARGF#chars</div><div class='del'>-* ARGF#bytes</div><div class='del'>-* StringIO#lines</div><div class='del'>-* StringIO#chars</div><div class='del'>-* StringIO#codepoints</div><div class='del'>-* StringIO#bytes</div><div class='del'>-* Zlib::GzipReader#lines</div><div class='del'>-* Zlib::GzipReader#bytes</div><div class='del'>-</div><div class='del'>-  These methods are deprecated in favor of each_line, each_byte,</div><div class='del'>-  each_char and each_codepoint.</div><div class='del'>-</div><div class='del'>-* Proc#==</div><div class='del'>-* Proc#eql?</div><div class='del'>-</div><div class='del'>-  These methods were removed. Two procs are == only when they are</div><div class='del'>-  the same object.</div><div class='del'>-</div><div class='del'>-* Fixnum</div><div class='del'>-* Bignum</div><div class='del'>-* Float</div><div class='del'>-</div><div class='del'>-  Fixnums, Bignums and Floats are frozen.</div><div class='del'>-</div><div class='del'>-* Signal.trap</div><div class='del'>-</div><div class='del'>-  See above.</div><div class='del'>-</div><div class='del'>-* Merge Onigmo.</div><div class='del'>-  https://github.com/k-takata/Onigmo</div><div class='del'>-</div><div class='del'>-* The :close_others option is true by default for system() and exec().</div><div class='del'>-  Also, the close-on-exec flag is set by default for all new file descriptors.</div><div class='del'>-  This means file descriptors doesn't inherit to spawned process unless</div><div class='del'>-  explicitly requested such as system(..., fd=&gt;fd).</div><div class='del'>-</div><div class='del'>-* Kernel#respond_to? against a protected method now returns false</div><div class='del'>-  unless the second argument is true.</div><div class='del'>-</div><div class='del'>-* Kernel#respond_to_missing?</div><div class='del'>-* Kernel#initialize_clone</div><div class='del'>-* Kernel#initialize_dup</div><div class='del'>-</div><div class='del'>-  These methods are now private.</div><div class='del'>-</div><div class='del'>-* Thread#join, Thread#value</div><div class='del'>-</div><div class='del'>-  See above.</div><div class='del'>-</div><div class='del'>-* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize and Mutex#sleep</div><div class='del'>-</div><div class='del'>-  See above.</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* cgi</div><div class='del'>-  * Add HTML5 tag maker.</div><div class='del'>-  * CGI#header has been renamed to CGI#http_header and</div><div class='del'>-    aliased to CGI#header.</div><div class='del'>-  * When HTML5 tagmaker called, overwrite CGI#header,</div><div class='del'>-    CGI#header function is to create a &lt;header&gt; element.</div><div class='del'>-</div><div class='del'>-* CSV</div><div class='del'>-  * Removed CSV::dump and CSV::load to protect users from dangerous</div><div class='del'>-    serialization vulnerability</div><div class='del'>-</div><div class='del'>-* iconv</div><div class='del'>-  * Iconv has been removed. Use String#encode instead.</div><div class='del'>-</div><div class='del'>-* io/console</div><div class='del'>-  * new methods:</div><div class='del'>-    * added IO#cooked which sets the terminal to cooked mode within the given block.</div><div class='del'>-    * added IO#cooked! which sets the terminal to cooked.</div><div class='del'>-  * extended method:</div><div class='del'>-    * IO#raw, IO#raw!, and IO#getch accept keyword arguments, :min and :time.</div><div class='del'>-</div><div class='del'>-* io/wait</div><div class='del'>-  * new features:</div><div class='del'>-    * added IO#wait_writable method.</div><div class='del'>-    * added IO#wait_readable method as alias of IO#wait.</div><div class='del'>-</div><div class='del'>-* json</div><div class='del'>-  * updated to 1.7.7.</div><div class='del'>-</div><div class='del'>-* net/http</div><div class='del'>-  * new features:</div><div class='del'>-    * Proxies are now automatically detected from the http_proxy environment</div><div class='del'>-      variable.  See Net::HTTP::new for details.</div><div class='del'>-    * gzip and deflate compression are now requested for all requests by</div><div class='del'>-      default.  See Net::HTTP for details.</div><div class='del'>-    * SSL sessions are now reused across connections for a single instance.</div><div class='del'>-      This speeds up connection by using a previously negotiated session.</div><div class='del'>-    * Requests may be created from a URI which sets the request_uri and host</div><div class='del'>-      header of the request (but does not change the host connected to).</div><div class='del'>-    * Responses contain the URI requested which allows easier implementation of</div><div class='del'>-      redirect following.</div><div class='del'>-  * new methods:</div><div class='del'>-    * Net::HTTP#local_host</div><div class='del'>-    * Net::HTTP#local_host=</div><div class='del'>-    * Net::HTTP#local_port</div><div class='del'>-    * Net::HTTP#local_port=</div><div class='del'>-  * extended method:</div><div class='del'>-    * Net::HTTP#connect uses local_host and local_port if specified.</div><div class='del'>-</div><div class='del'>-* net/imap</div><div class='del'>-  * new methods:</div><div class='del'>-    * Net::IMAP.default_port</div><div class='del'>-    * Net::IMAP.default_imap_port</div><div class='del'>-    * Net::IMAP.default_tls_port</div><div class='del'>-    * Net::IMAP.default_ssl_port</div><div class='del'>-    * Net::IMAP.default_imaps_port</div><div class='del'>-</div><div class='del'>-* objspace</div><div class='del'>-  * new method:</div><div class='del'>-    * ObjectSpace.reachable_objects_from(obj)</div><div class='del'>-</div><div class='del'>-* openssl</div><div class='del'>-  * Consistently raise an error when trying to encode nil values. All instances</div><div class='del'>-    of OpenSSL::ASN1::Primitive now raise TypeError when calling to_der on an</div><div class='del'>-    instance whose value is nil. All instances of OpenSSL::ASN1::Constructive</div><div class='del'>-    raise NoMethodError in the same case. Constructing such values is still</div><div class='del'>-    permitted.</div><div class='del'>-  * TLS 1.1 &amp; 1.2 support by setting OpenSSL::SSL::SSLContext#ssl_version to</div><div class='del'>-    :TLSv1_2, :TLSv1_2_server, :TLSv1_2_client or :TLSv1_1, :TLSv1_1_server</div><div class='del'>-    :TLSv1_1_client. The version being effectively used can be queried</div><div class='del'>-    with OpenSSL::SSL#ssl_version. Furthermore, it is also possible to</div><div class='del'>-    blacklist the new TLS versions with OpenSSL::SSL:OP_NO_TLSv1_1 and</div><div class='del'>-    OpenSSL::SSL::OP_NO_TLSv1_2.</div><div class='del'>-  * Added OpenSSL::SSL::SSLContext#renegotiation_cb. A user-defined callback</div><div class='del'>-    may be set which gets called whenever a new handshake is negotiated. This</div><div class='del'>-    also allows to programmatically decline (client) renegotiation attempts.</div><div class='del'>-  * Support for "0/n" splitting of records as BEAST mitigation via</div><div class='del'>-    OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS.</div><div class='del'>-  * The default options for OpenSSL::SSL::SSLContext have changed to</div><div class='del'>-    OpenSSL::SSL::OP_ALL &amp; ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS</div><div class='del'>-    instead of OpenSSL::SSL::OP_ALL only. This enables the countermeasure for</div><div class='del'>-    the BEAST attack by default.</div><div class='del'>-  * OpenSSL requires passwords for decrypting PEM-encoded files to be at least</div><div class='del'>-    four characters long. This led to awkward situations where an export with</div><div class='del'>-    a password with fewer than four characters was possible, but accessing the</div><div class='del'>-    file afterwards failed. OpenSSL::PKey::RSA, OpenSSL::PKey::DSA and</div><div class='del'>-    OpenSSL::PKey::EC therefore now enforce the same check when exporting a</div><div class='del'>-    private key to PEM with a password - it has to be at least four characters</div><div class='del'>-    long.</div><div class='del'>-  * SSL/TLS support for the Next Protocol Negotiation extension. Supported</div><div class='del'>-    with OpenSSL 1.0.1 and higher.</div><div class='del'>-  * OpenSSL::OPENSSL_FIPS allows client applications to detect whether OpenSSL</div><div class='del'>-    is FIPS-enabled. OpenSSL.fips_mode= allows turning on and off FIPS mode</div><div class='del'>-    manually in order to adapt to situations where FIPS mode would be an</div><div class='del'>-    explicit requirement.</div><div class='del'>-  * Authenticated Encryption with Associated Data (AEAD) is supported via</div><div class='del'>-    Cipher#auth_data= and Cipher#auth_tag/Cipher#auth_tag=.</div><div class='del'>-    Currently (OpenSSL 1.0.1c), only GCM mode is supported.</div><div class='del'>-</div><div class='del'>-* ostruct</div><div class='del'>-  * new methods:</div><div class='del'>-    * OpenStruct#[], []=</div><div class='del'>-    * OpenStruct#each_pair</div><div class='del'>-    * OpenStruct#eql?</div><div class='del'>-    * OpenStruct#hash</div><div class='del'>-    * OpenStruct#to_h converts the struct to a hash.</div><div class='del'>-  * extended method:</div><div class='del'>-    * OpenStruct.new also accepts an OpenStruct / Struct.</div><div class='del'>-</div><div class='del'>-* pathname</div><div class='del'>-  * extended method:</div><div class='del'>-    * Pathname#find returns an enumerator if no block is given.</div><div class='del'>-</div><div class='del'>-* rake</div><div class='del'>-  * rake has been updated to version 0.9.5.</div><div class='del'>-</div><div class='del'>-    This version is backwards-compatible with previous rake versions and</div><div class='del'>-    contains many bug fixes.</div><div class='del'>-</div><div class='del'>-    See</div><div class='del'>-    http://rake.rubyforge.org/doc/release_notes/rake-0_9_5_rdoc.html for a list</div><div class='del'>-    of changes in rake 0.9.3, 0.9.4 and 0.9.5.</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-  * RDoc has been updated to version 4.0</div><div class='del'>-</div><div class='del'>-    This version is largely backwards-compatible with previous rdoc versions.</div><div class='del'>-    The most notable change is an update to the ri data format (ri data must</div><div class='del'>-    be regenerated for gems shared across rdoc versions).  Further API changes</div><div class='del'>-    are internal and won't affect most users.</div><div class='del'>-</div><div class='del'>-    Notable changes include:</div><div class='del'>-</div><div class='del'>-    * Page support for ri.  Try `ri ruby:` for a list of pages in ruby or</div><div class='del'>-      `ri ruby:syntax/literals` for the syntax documentation for literals.</div><div class='del'>-</div><div class='del'>-      This also works for gems such as `ri rspec:README` for the rspec gem's</div><div class='del'>-      README file.</div><div class='del'>-    * Markdown support.  See ri RDoc::Markdown for details.</div><div class='del'>-</div><div class='del'>-    See https://github.com/rdoc/rdoc/blob/master/History.rdoc for a full list</div><div class='del'>-    of changes in rdoc 4.0.</div><div class='del'>-</div><div class='del'>-* resolv</div><div class='del'>-  * new methods:</div><div class='del'>-    * Resolv::DNS#timeouts=</div><div class='del'>-    * Resolv::DNS::Config#timeouts=</div><div class='del'>-</div><div class='del'>-* rexml</div><div class='del'>-  * REXML::Document#write supports Hash arguments.</div><div class='del'>-  * REXML::Document#write supports new :encoding option. It changes</div><div class='del'>-    XML document encoding. Without :encoding option, encoding in</div><div class='del'>-    XML declaration is used for XML document encoding.</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-  * Updated to 2.0.0</div><div class='del'>-</div><div class='del'>-    RubyGems 2.0.0 features the following improvements:</div><div class='del'>-</div><div class='del'>-    * Improved support for default gems shipping with ruby 2.0.0+</div><div class='del'>-    * A gem can have arbitrary metadata through Gem::Specification#metadata</div><div class='del'>-    * `gem search` now defaults to --remote and is anchored like gem list.</div><div class='del'>-    * Added --document to replace --rdoc and --ri.  Use --no-document to</div><div class='del'>-      disable documentation, --document=rdoc to only generate rdoc.</div><div class='del'>-    * Only ri-format documentation is generated by default.</div><div class='del'>-    * `gem server` uses RDoc::Servlet from RDoc 4.0 to generate HTML</div><div class='del'>-      documentation.</div><div class='del'>-</div><div class='del'>-    For an expanded list of updates and bug fixes see:</div><div class='del'>-    https://github.com/rubygems/rubygems/blob/master/History.txt</div><div class='del'>-</div><div class='del'>-* shellwords</div><div class='del'>-  * Shellwords#shellescape now stringifies the given object using to_s.</div><div class='del'>-  * Shellwords#shelljoin accepts non-string objects in the given</div><div class='del'>-    array, each of which is stringified using to_s.</div><div class='del'>-</div><div class='del'>-* stringio</div><div class='del'>-  * deprecated methods:</div><div class='del'>-    * StringIO#lines, #bytes, #chars and #codepoints are deprecated.</div><div class='del'>-</div><div class='del'>-* syslog</div><div class='del'>-  * Added Syslog::Logger which provides a Logger API atop Syslog.</div><div class='del'>-  * Syslog::Priority, Syslog::Level, Syslog::Option and Syslog::Macros</div><div class='del'>-    are introduced for easy detection of available constants on a</div><div class='del'>-    running system.</div><div class='del'>-</div><div class='del'>-* tmpdir</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Dir.mktmpdir uses FileUtils.remove_entry instead of</div><div class='del'>-      FileUtils.remove_entry_secure.  This means that applications should not</div><div class='del'>-      change the permission of the created temporary directory to make</div><div class='del'>-      writable from other users.</div><div class='del'>-</div><div class='del'>-* yaml</div><div class='del'>-  * Syck has been removed.  YAML now completely depends on libyaml being</div><div class='del'>-    installed.</div><div class='del'>-  * libyaml is now bundled with ruby, for cases where the library is not</div><div class='del'>-    installed locally.</div><div class='del'>-</div><div class='del'>-* zlib</div><div class='del'>-  * Added streaming support for Zlib::Inflate and Zlib::Deflate.  This allows</div><div class='del'>-    processing of a stream without the use of large amounts of memory.</div><div class='del'>-  * Added support for the new deflate strategies Zlib::RLE and Zlib::FIXED.</div><div class='del'>-  * Zlib streams are now processed without the GVL.  This allows gzip, zlib and</div><div class='del'>-    deflate streams to be processed in parallel.</div><div class='del'>-  * deprecated methods:</div><div class='del'>-    * Zlib::GzipReader#lines and #bytes are deprecated.</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* OpenStruct new methods can conflict with custom attributes named</div><div class='del'>-  "each_pair", "eql?", "hash" or "to_h".</div><div class='del'>-</div><div class='del'>-* Dir.mktmpdir in lib/tmpdir.rb</div><div class='del'>-</div><div class='del'>-  See above.</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-* NUM2SHORT() and NUM2USHORT() added. They are similar to NUM2INT, but short.</div><div class='del'>-</div><div class='del'>-* rb_newobj_of() and NEWOBJ_OF() added. They create a new object of a given class.</div><div class='head'>diff --git a/doc/NEWS-2.1.0 b/doc/NEWS-2.1.0<br/>deleted file mode 100644<br/>index 5d4152b8dc..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-2.1.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.1.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,376 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.1.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 2.0.0 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* Now the default values of keyword arguments can be omitted.  Those</div><div class='del'>-  "required keyword arguments" need giving explicitly at the call time.</div><div class='del'>-</div><div class='del'>-* Added suffixes for integer and float literals: 'r', 'i', and 'ri'.</div><div class='del'>-  * "42r" and "3.14r" are evaluated as Rational(42, 1) and 3.14.rationalize,</div><div class='del'>-    respectively.  But exponential form with 'r' suffix like "6.022e+23r" is</div><div class='del'>-    not accepted because it is misleading.</div><div class='del'>-  * "42i" and "3.14i" are evaluated as Complex(0, 42) and Complex(0, 3.14),</div><div class='del'>-    respectively.</div><div class='del'>-  * "42ri" and "3.14ri" are evaluated as Complex(0, 42r) and Complex(0, 3.14r),</div><div class='del'>-    respectively.</div><div class='del'>-</div><div class='del'>-* def-expr now returns the symbol of its name instead of nil.</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* Array</div><div class='del'>-  * New methods</div><div class='del'>-    * Array#to_h converts an array of key-value pairs into a Hash.</div><div class='del'>-</div><div class='del'>-* Binding</div><div class='del'>-  * New methods</div><div class='del'>-    * Binding#local_variable_get(symbol)</div><div class='del'>-    * Binding#local_variable_set(symbol, obj)</div><div class='del'>-    * Binding#local_variable_defined?(symbol)</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-  * New methods</div><div class='del'>-    * Enumerable#to_h converts a list of key-value pairs into a Hash.</div><div class='del'>-</div><div class='del'>-* Exception</div><div class='del'>-  * New methods</div><div class='del'>-    * Exception#cause provides the previous exception which has been caught</div><div class='del'>-      at where raising the new exception.</div><div class='del'>-</div><div class='del'>-* GC</div><div class='del'>-  * improvements:</div><div class='del'>-    * introduced the generational GC a.k.a RGenGC.</div><div class='del'>-  * added environment variables:</div><div class='del'>-    * RUBY_GC_HEAP_INIT_SLOTS</div><div class='del'>-    * RUBY_GC_HEAP_FREE_SLOTS</div><div class='del'>-    * RUBY_GC_HEAP_GROWTH_FACTOR</div><div class='del'>-    * RUBY_GC_HEAP_GROWTH_MAX_SLOTS</div><div class='del'>-    * RUBY_GC_MALLOC_LIMIT_MAX</div><div class='del'>-    * RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR</div><div class='del'>-    * RUBY_GC_OLDMALLOC_LIMIT</div><div class='del'>-    * RUBY_GC_OLDMALLOC_LIMIT_MAX</div><div class='del'>-    * RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR</div><div class='del'>-  * obsoleted environment variables:</div><div class='del'>-    * RUBY_FREE_MIN (Use RUBY_GC_HEAP_FREE_SLOTS instead)</div><div class='del'>-    * RUBY_HEAP_MIN_SLOTS (Use RUBY_GC_HEAP_INIT_SLOTS instead)</div><div class='del'>-</div><div class='del'>-* Integer</div><div class='del'>-  * New methods</div><div class='del'>-    * Fixnum#bit_length</div><div class='del'>-    * Bignum#bit_length</div><div class='del'>-  * Bignum performance improvement</div><div class='del'>-    * Use GMP if available.</div><div class='del'>-      GMP is used only for several operations:</div><div class='del'>-      multiplication, division, radix conversion, GCD</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-  * extended methods:</div><div class='del'>-    * IO#seek supports SEEK_DATA and SEEK_HOLE as whence.</div><div class='del'>-    * IO#seek accepts symbols (:CUR, :END, :SET, :DATA, :HOLE) for 2nd argument.</div><div class='del'>-    * IO#read_nonblock accepts optional `exception: false` to return symbols</div><div class='del'>-    * IO#write_nonblock accepts optional `exception: false` to return symbols</div><div class='del'>-</div><div class='del'>-* Kernel</div><div class='del'>-  * New methods:</div><div class='del'>-    * Kernel#singleton_method</div><div class='del'>-</div><div class='del'>-* Module</div><div class='del'>-  * New methods:</div><div class='del'>-    * Module#using, which activates refinements of the specified module only</div><div class='del'>-      in the current class or module definition.</div><div class='del'>-    * Module#singleton_class? returns true if the receiver is a singleton class</div><div class='del'>-      or false if it is an ordinary class or module.</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Module#refine is no longer experimental.</div><div class='del'>-    * Module#include and Module#prepend are now public methods.</div><div class='del'>-</div><div class='del'>-* Mutex</div><div class='del'>-  * misc</div><div class='del'>-    * Mutex#owned? is no longer experimental.</div><div class='del'>-</div><div class='del'>-* Numeric</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Numeric#step allows the limit argument to be omitted, in which</div><div class='del'>-      case an infinite sequence of numbers is generated.  Keyword</div><div class='del'>-      arguments `to` and `by` are introduced for ease of use.</div><div class='del'>-      `by` can be 0, in which case the same value will be generated</div><div class='del'>-      indefinitely.</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-  * New methods:</div><div class='del'>-    * alternative methods to $0/$0=:</div><div class='del'>-      * Process.argv0() returns the original value of $0.</div><div class='del'>-      * Process.setproctitle() sets the process title without affecting $0.</div><div class='del'>-    * Process.clock_gettime</div><div class='del'>-    * Process.clock_getres</div><div class='del'>-</div><div class='del'>-* String</div><div class='del'>-  * "literal".freeze is now optimized to return the same object</div><div class='del'>-  * New methods:</div><div class='del'>-    * String#scrub and String#scrub! verify and fix invalid byte sequence.</div><div class='del'>-      If you want to use this function with older Ruby,</div><div class='del'>-      consider to use string-scrub.gem.</div><div class='del'>-</div><div class='del'>-* Symbol</div><div class='del'>-  * All symbols are now frozen.</div><div class='del'>-</div><div class='del'>-* pack/unpack (Array/String)</div><div class='del'>-  * Q! and q! directives for long long type if platform has the type.</div><div class='del'>-</div><div class='del'>-* toplevel</div><div class='del'>-  * extended methods:</div><div class='del'>-    * main.using is no longer experimental. The method activates refinements</div><div class='del'>-      in the ancestors of the argument module to support refinement</div><div class='del'>-      inheritance by Module#include.</div><div class='del'>-</div><div class='del'>-=== Core classes compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Hash#reject will return plain Hash object in the future versions, that</div><div class='del'>-      is the original object's subclass, instance variables, default value,</div><div class='del'>-      and taintedness will be no longer copied, so now warnings are emitted</div><div class='del'>-      when called with such Hash.</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * open ignore internal encoding if external encoding is ASCII-8BIT.</div><div class='del'>-</div><div class='del'>-* Kernel#eval, Kernel#instance_eval, and Module#module_eval.</div><div class='del'>-  * Copies the scope information of the original environment, which means</div><div class='del'>-    that private, protected, public, and module_function without arguments</div><div class='del'>-    do not affect the environment outside the eval string.</div><div class='del'>-    For example, `class Foo; eval "private"; def foo; end; end' doesn't make</div><div class='del'>-    Foo#foo private.</div><div class='del'>-</div><div class='del'>-* Kernel#untrusted?, untrust, and trust</div><div class='del'>-  * These methods are deprecated and their behavior is same as tainted?,</div><div class='del'>-    taint, and untaint, respectively.  If $VERBOSE is true, they show warnings.</div><div class='del'>-</div><div class='del'>-* Module#ancestors</div><div class='del'>-  * The ancestors of a singleton class now include singleton classes,</div><div class='del'>-    in particular itself.</div><div class='del'>-</div><div class='del'>-* Module#define_method and Object#define_singleton_method</div><div class='del'>-  * Now they return the symbols of the defined methods, not the methods/procs</div><div class='del'>-    themselves.</div><div class='del'>-</div><div class='del'>-* Numeric#quo</div><div class='del'>-  * Raises TypeError instead of ArgumentError if the receiver doesn't have</div><div class='del'>-    to_r method.</div><div class='del'>-</div><div class='del'>-* Proc</div><div class='del'>-  * Returning from lambda proc now always exits from the Proc, not from the</div><div class='del'>-    method where the lambda is created.  Returning from non-lambda proc exits</div><div class='del'>-    from the method, same as the former behavior.</div><div class='del'>-</div><div class='del'>-String</div><div class='del'>-  * If invalid: :replace is specified for String#encode, replace</div><div class='del'>-    invalid byte sequence even if the destination encoding equals to</div><div class='del'>-    the source encoding.</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* CGI::Util</div><div class='del'>-  * All class methods modulized.</div><div class='del'>-</div><div class='del'>-* Digest</div><div class='del'>-  * extended methods:</div><div class='del'>-    * Digest::Class.file takes optional arguments for its constructor</div><div class='del'>-</div><div class='del'>-* Matrix</div><div class='del'>-  * Added Vector#cross_product.</div><div class='del'>-</div><div class='del'>-* Net::SMTP</div><div class='del'>-  * Added Net::SMTP#rset to implement the RSET command</div><div class='del'>-</div><div class='del'>-* objspace</div><div class='del'>-  * new method:</div><div class='del'>-    * ObjectSpace.trace_object_allocations</div><div class='del'>-    * ObjectSpace.trace_object_allocations_start</div><div class='del'>-    * ObjectSpace.trace_object_allocations_stop</div><div class='del'>-    * ObjectSpace.trace_object_allocations_clear</div><div class='del'>-    * ObjectSpace.allocation_sourcefile</div><div class='del'>-    * ObjectSpace.allocation_sourceline</div><div class='del'>-    * ObjectSpace.allocation_class_path</div><div class='del'>-    * ObjectSpace.allocation_method_id</div><div class='del'>-    * ObjectSpace.allocation_generation</div><div class='del'>-    * ObjectSpace.reachable_objects_from_root</div><div class='del'>-    * ObjectSpace.dump</div><div class='del'>-    * ObjectSpace.dump_all</div><div class='del'>-</div><div class='del'>-* OpenSSL::BN</div><div class='del'>-  * extended methods:</div><div class='del'>-    * OpenSSL::BN.new allows Fixnum/Bignum argument.</div><div class='del'>-</div><div class='del'>-* open-uri</div><div class='del'>-  * Support multiple fields with same field name (like Set-Cookie).</div><div class='del'>-</div><div class='del'>-* Pathname</div><div class='del'>-  * New methods:</div><div class='del'>-    * Pathname#write</div><div class='del'>-    * Pathname#binwrite</div><div class='del'>-</div><div class='del'>-* rake</div><div class='del'>-  * Updated to 10.1.0.  Major changes include removal of the class namespace,</div><div class='del'>-    Rake::DSL to hold the rake DSL methods and removal of support for legacy</div><div class='del'>-    rake features.</div><div class='del'>-</div><div class='del'>-    For a complete list of changes since rake 0.9.6 see:</div><div class='del'>-</div><div class='del'>-    http://rake.rubyforge.org/doc/release_notes/rake-10_1_0_rdoc.html</div><div class='del'>-</div><div class='del'>-    http://rake.rubyforge.org/doc/release_notes/rake-10_0_3_rdoc.html</div><div class='del'>-</div><div class='del'>-* RbConfig</div><div class='del'>-  * New constants:</div><div class='del'>-    * RbConfig::SIZEOF is added to provide the size of C types.</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-  * Updated to 4.1.0.  Major enhancements include a modified default template</div><div class='del'>-  * and accessibility enhancements.</div><div class='del'>-</div><div class='del'>-    For a list of minor enhancements and bug fixes see:</div><div class='del'>-    https://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc</div><div class='del'>-</div><div class='del'>-* Resolv</div><div class='del'>-  * New methods:</div><div class='del'>-    * Resolv::DNS.fetch_resource</div><div class='del'>-  * One-shot multicast DNS support</div><div class='del'>-  * Support LOC resources</div><div class='del'>-</div><div class='del'>-* REXML::Parsers::SAX2Parser</div><div class='del'>-  * Fixes wrong number of arguments of entitydecl event. Document of the event</div><div class='del'>-    says "an array of the entity declaration" but implementation passes two</div><div class='del'>-    or more arguments. It is an implementation bug but it breaks backward</div><div class='del'>-    compatibility.</div><div class='del'>-</div><div class='del'>-* REXML::Parsers::StreamParser</div><div class='del'>-  * Supports "entity" event.</div><div class='del'>-</div><div class='del'>-* REXML::Text</div><div class='del'>-  * REXML::Text#&lt;&lt; supports method chain like 'text &lt;&lt; "XXX" &lt;&lt; "YYY"'.</div><div class='del'>-  * REXML::Text#&lt;&lt; supports not "raw" mode.</div><div class='del'>-</div><div class='del'>-* Rinda::RingServer, Rinda::RingFinger</div><div class='del'>-  * Rinda now supports multicast sockets.  See Rinda::RingServer and</div><div class='del'>-    Rinda::RingFinger for details.</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-  * Updated to 2.2.0.  Notable new features include:</div><div class='del'>-</div><div class='del'>-    * Gemfile or gem.deps.rb support including Gem.file.lock (experimental)</div><div class='del'>-    * Improved, iterative resolver (compared to RubyGems 2.1 and earlier)</div><div class='del'>-    * Support for a sharing a GEM_HOME across ruby platforms and versions</div><div class='del'>-</div><div class='del'>-    For a complete list of enhancements and bug fixes see:</div><div class='del'>-    https://github.com/rubygems/rubygems/tree/master/History.txt</div><div class='del'>-</div><div class='del'>-* Set</div><div class='del'>-  * New methods:</div><div class='del'>-    * Set#intersect?</div><div class='del'>-    * Set#disjoint?</div><div class='del'>-</div><div class='del'>-* Socket</div><div class='del'>-  * New methods:</div><div class='del'>-    * Socket.getifaddrs</div><div class='del'>-</div><div class='del'>-* StringScanner</div><div class='del'>-  * extended methods:</div><div class='del'>-    * StringScanner#[] supports named captures.</div><div class='del'>-</div><div class='del'>-* Syslog::Logger</div><div class='del'>-  * Added facility.</div><div class='del'>-</div><div class='del'>-* Tempfile</div><div class='del'>-  * New methods:</div><div class='del'>-    * Tempfile.create</div><div class='del'>-</div><div class='del'>-* Timeout</div><div class='del'>-  * The exception to terminate the given block can no longer be rescued</div><div class='del'>-    inside the block, by default, unless the exception class is given</div><div class='del'>-    explicitly.</div><div class='del'>-</div><div class='del'>-* TSort</div><div class='del'>-  * New methods:</div><div class='del'>-    * TSort.tsort</div><div class='del'>-    * TSort.tsort_each</div><div class='del'>-    * TSort.strongly_connected_components</div><div class='del'>-    * TSort.each_strongly_connected_component</div><div class='del'>-    * TSort.each_strongly_connected_component_from</div><div class='del'>-</div><div class='del'>-* WEBrick</div><div class='del'>-  * The body of a response may now be a StringIO or other IO-like that responds</div><div class='del'>-    to #readpartial and #read.</div><div class='del'>-</div><div class='del'>-* XMLRPC::Client</div><div class='del'>-  * New methods:</div><div class='del'>-    * XMLRPC::Client#http. It returns Net::HTTP for the client. Normally,</div><div class='del'>-      it is not needed. It is useful when you want to change minor HTTP client</div><div class='del'>-      options. You can change major HTTP client options by XMLRPC::Client</div><div class='del'>-      methods. You should use XMLRPC::Client methods for changing major</div><div class='del'>-      HTTP client options instead of XMLRPC::Client#http.</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Set</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Set#to_set now returns self instead of generating a copy.</div><div class='del'>-</div><div class='del'>-* URI</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * URI.decode_www_form follows current WHATWG URL Standard.</div><div class='del'>-      It gets encoding argument to specify the character encoding.</div><div class='del'>-      It now allows loose percent encoded strings, but denies ;-separator.</div><div class='del'>-    * URI.encode_www_form follows current WHATWG URL Standard.</div><div class='del'>-      It gets encoding argument to convert before percent encode.</div><div class='del'>-      UTF-16 strings aren't converted to UTF-8 before percent encode by default.</div><div class='del'>-</div><div class='del'>-* curses</div><div class='del'>-  * Removed.</div><div class='del'>-    curses is now available as a gem.</div><div class='del'>-    See https://rubygems.org/gems/curses for details.</div><div class='del'>-</div><div class='del'>-=== Built-in global variables compatibility issues</div><div class='del'>-</div><div class='del'>-* $SAFE</div><div class='del'>-  * $SAFE=4 is obsolete.  If $SAFE is set to 4 or larger, an ArgumentError</div><div class='del'>-    is raised.</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-* rb_gc_set_params() is deprecated. This is only used in Ruby internal.</div><div class='del'>-</div><div class='del'>-* rb_gc_count() added. This returns the number of times GC occurred.</div><div class='del'>-</div><div class='del'>-* rb_gc_stat() added. This allows access to specific GC.stat() values from C</div><div class='del'>-  without any allocation overhead.</div><div class='del'>-</div><div class='del'>-* rb_gc_latest_gc_info() added. This allows access to GC.latest_gc_info().</div><div class='del'>-</div><div class='del'>-* rb_postponed_job_register() added. Takes a function callback which is invoked</div><div class='del'>-  when the VM is in a consistent state, i.e. to perform work from a C signal</div><div class='del'>-  handler.</div><div class='del'>-</div><div class='del'>-* rb_profile_frames() added. Provides low-cost access to the current ruby stack</div><div class='del'>-  for callstack profiling.</div><div class='del'>-</div><div class='del'>-* rb_tracepoint_new() supports new internal events accessible only from C:</div><div class='del'>-  * RUBY_INTERNAL_EVENT_NEWOBJ</div><div class='del'>-  * RUBY_INTERNAL_EVENT_FREEOBJ</div><div class='del'>-  * RUBY_INTERNAL_EVENT_GC_START</div><div class='del'>-  * RUBY_INTERNAL_EVENT_GC_END_MARK</div><div class='del'>-  * RUBY_INTERNAL_EVENT_GC_END_SWEEP</div><div class='del'>-  * Note that you *can not* specify "internal events" with normal events</div><div class='del'>-    (such as RUBY_EVENT_CALL, RUBY_EVENT_RETURN) simultaneously.</div><div class='head'>diff --git a/doc/NEWS-2.2.0 b/doc/NEWS-2.2.0<br/>deleted file mode 100644<br/>index 5564c606ae..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-2.2.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.2.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,361 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.2.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file.</div><div class='del'>-</div><div class='del'>-== Changes since the 2.1.0 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* nil/true/false</div><div class='del'>-  * nil/true/false objects are frozen. [Feature #8923]</div><div class='del'>-</div><div class='del'>-* Hash literal</div><div class='del'>-  * Symbol key followed by a colon can be quoted. [Feature #4276]</div><div class='del'>-</div><div class='del'>-* default argument</div><div class='del'>-  fixed a very longstanding bug that an optional argument was not</div><div class='del'>-  accessible in its default value expression.  [Bug #9593]</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* Binding</div><div class='del'>-  * New methods:</div><div class='del'>-    * Binding#local_variables</div><div class='del'>-    * Binding#receiver</div><div class='del'>-</div><div class='del'>-* Dir</div><div class='del'>-  * New methods:</div><div class='del'>-    * Dir#fileno</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-  * New methods:</div><div class='del'>-    * Enumerable#slice_after</div><div class='del'>-    * Enumerable#slice_when</div><div class='del'>-  * Extended methods:</div><div class='del'>-    * min, min_by, max and max_by supports optional argument to return</div><div class='del'>-      multiple elements.</div><div class='del'>-</div><div class='del'>-* Float</div><div class='del'>-  * New methods:</div><div class='del'>-    * Float#next_float</div><div class='del'>-    * Float#prev_float</div><div class='del'>-</div><div class='del'>-* File</div><div class='del'>-  * New methods:</div><div class='del'>-    * File.birthtime</div><div class='del'>-    * File#birthtime</div><div class='del'>-</div><div class='del'>-* File::Stat</div><div class='del'>-  * New methods:</div><div class='del'>-    * File::Stat#birthtime</div><div class='del'>-</div><div class='del'>-* GC</div><div class='del'>-  * GC.latest_gc_info returns :state to represent current GC status.</div><div class='del'>-  * Improvements</div><div class='del'>-    * Introduce incremental marking for major GC. [Feature #10137]</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-  * Improvements</div><div class='del'>-    * IO#read_nonblock and IO#write_nonblock for pipes on Windows are supported.</div><div class='del'>-</div><div class='del'>-* Kernel</div><div class='del'>-  * New methods:</div><div class='del'>-    * Kernel#itself</div><div class='del'>-  * Improvements</div><div class='del'>-    * Kernel#throw raises UncaughtThrowError, subclass of ArgumentError when</div><div class='del'>-      there is no corresponding catch block, instead of ArgumentError.</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-  * Extended method:</div><div class='del'>-    * Process execution methods such as Process.spawn opens the file in write</div><div class='del'>-      mode for redirect from [:out, :err].</div><div class='del'>-</div><div class='del'>-* String</div><div class='del'>-  * New methods:</div><div class='del'>-    * String#unicode_normalize</div><div class='del'>-    * String#unicode_normalize!</div><div class='del'>-    * String#unicode_normalized?</div><div class='del'>-</div><div class='del'>-* Symbol</div><div class='del'>-  * Improvements</div><div class='del'>-    * Most symbols which are returned by String#to_sym and</div><div class='del'>-      String#intern are GC-able.</div><div class='del'>-</div><div class='del'>-* Method</div><div class='del'>-  * New methods:</div><div class='del'>-    * Method#curry([arity]) returns a curried Proc.</div><div class='del'>-    * Method#super_method returns a Method of superclass, which would be called</div><div class='del'>-      when super is used.</div><div class='del'>-</div><div class='del'>-=== Core classes compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-  * Enumerable#slice_before's state management deprecated.</div><div class='del'>-  * Enumerable#chunk's state management deprecated.</div><div class='del'>-</div><div class='del'>-* GC</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Rename GC.stat entries. [Feature #9924]</div><div class='del'>-      See https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Change overriding policy for duplicated key. [Bug #10315]</div><div class='del'>-      { **hash1, **hash2 } contains values of hash2 for duplicated keys.</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * When flushing file IO with IO#flush, you cannot assume that the metadata</div><div class='del'>-      of the file is updated immediately.  On some platforms (especially</div><div class='del'>-      Windows), it is delayed until the filesystem load is decreased.</div><div class='del'>-      Use IO#fsync if you want to guarantee updating metadata.</div><div class='del'>-</div><div class='del'>-* Math</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Math.log now raises Math::DomainError instead of returning NaN if the</div><div class='del'>-      base is less than 0, and returns NaN instead of -infinity if both of</div><div class='del'>-      two arguments are 0.</div><div class='del'>-    * Math.atan2 now returns values like as expected by C99 if both two</div><div class='del'>-      arguments are infinity.</div><div class='del'>-</div><div class='del'>-* Proc</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * ArgumentError is no longer raised when lambda Proc is passed as a</div><div class='del'>-      block, and the number of yielded arguments does not match the formal</div><div class='del'>-      arguments of the lambda, if just an array is yielded and its length</div><div class='del'>-      matches.</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-  * Process execution methods such as Process.spawn opens the file in write</div><div class='del'>-    mode for redirect from [:out, :err].</div><div class='del'>-    Before Ruby 2.2, it was opened in read mode.</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* Continuation</div><div class='del'>-  * callcc is obsolete. use Fiber instead.</div><div class='del'>-</div><div class='del'>-* Digest</div><div class='del'>-</div><div class='del'>-  * Digest() should now be thread-safe.  If you have a problem with</div><div class='del'>-    regard to on-demand loading under a multi-threaded environment,</div><div class='del'>-    preload "digest/*" modules on boot or use this method instead of</div><div class='del'>-    directly referencing Digest::*.</div><div class='del'>-  * Digest::HMAC has been removed just as previously noticed.</div><div class='del'>-</div><div class='del'>-* DL</div><div class='del'>-  * DL has been removed from stdlib. Please use Fiddle instead!</div><div class='del'>-</div><div class='del'>-* Etc</div><div class='del'>-  * New methods:</div><div class='del'>-    * Etc.uname</div><div class='del'>-    * Etc.sysconf</div><div class='del'>-    * Etc.confstr</div><div class='del'>-    * IO#pathconf</div><div class='del'>-    * Etc.nprocessors</div><div class='del'>-</div><div class='del'>-* Find, Pathname</div><div class='del'>-  * Extended methods:</div><div class='del'>-    * find method accepts "ignore_error" keyword argument.</div><div class='del'>-</div><div class='del'>-* Matrix</div><div class='del'>-  * New methods:</div><div class='del'>-    * Matrix#first_minor(row, column) returns the submatrix obtained</div><div class='del'>-      by deleting the specified row and column.</div><div class='del'>-    * Matrix#cofactor(row, column) returns the (row, column) cofactor</div><div class='del'>-      which is obtained by multiplying the first minor by (-1)**(row + column).</div><div class='del'>-    * Matrix#adjugate returns the adjugate of the matrix.</div><div class='del'>-    * hstack and vstack are new instance and class methods to stack matrices</div><div class='del'>-      horizontally and vertically.</div><div class='del'>-    * Matrix#laplace_expansion(row_or_column: num) returns the laplace_expansion</div><div class='del'>-      along the +num+ -th row or column.</div><div class='del'>-    * Vector.basis(size:, index:) returns the specified basis vector.</div><div class='del'>-    * Unary - and + added for Vector and Matrix.</div><div class='del'>-    * Vector#cross_product generalized to arbitrary dimensions.</div><div class='del'>-    * Vector#dot and #cross are aliases for #inner_product and #cross_product.</div><div class='del'>-    * Vector#angle_with returns the angle with its argument</div><div class='del'>-    * New instance and class method independent? to test linear independence.</div><div class='del'>-</div><div class='del'>-* Pathname</div><div class='del'>-  * Pathname#/ is aliased to Pathname#+.</div><div class='del'>-  * New methods:</div><div class='del'>-    * Pathname#birthtime</div><div class='del'>-</div><div class='del'>-* Rake</div><div class='del'>-  * Updated to Rake 10.4.0.  For full release notes see:</div><div class='del'>-</div><div class='del'>-    http://docs.seattlerb.org/rake/History_rdoc.html#label-10.4.0</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-  * Updated to RubyGems 2.4.2.  For full release notes see:</div><div class='del'>-</div><div class='del'>-    http://docs.seattlerb.org/rubygems/History_txt.html#label-2.4.2+%2F+2014-10-01</div><div class='del'>-</div><div class='del'>-* TSort</div><div class='del'>-  * TSort.tsort_each, TSort.each_strongly_connected_component and</div><div class='del'>-    TSort.each_strongly_connected_component_from returns an enumerator if</div><div class='del'>-    no block given.</div><div class='del'>-</div><div class='del'>-* XMLRPC</div><div class='del'>-  * Added new parser class named LibXMLStreamParser.</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* lib/mathn.rb</div><div class='del'>-  * Show deprecated warning [Feature #10169]</div><div class='del'>-</div><div class='del'>-* ext/date/lib/date/format.rb</div><div class='del'>-  * Removed because it's empty file.</div><div class='del'>-</div><div class='del'>-* Digest</div><div class='del'>-  * Digest::HMAC has finally ceased to exist.  Use OpenSSL::HMAC or an external gem instead.</div><div class='del'>-</div><div class='del'>-* time.rb</div><div class='del'>-  * Time.parse, Time.strptime, Time.rfc2822, Time.xmlschema may produce</div><div class='del'>-    fixed-offset Time objects.</div><div class='del'>-    It is happen when usual localtime doesn't preserve the offset from UTC.</div><div class='del'>-  * Time.httpdate produces always UTC Time object.</div><div class='del'>-  * Time.strptime raises ArgumentError when no date information.</div><div class='del'>-</div><div class='del'>-* lib/rational.rb</div><div class='del'>-  * Removed because it is deprecated from 2009.</div><div class='del'>-</div><div class='del'>-* lib/complex.rb</div><div class='del'>-  * Removed because it is deprecated from 2009.</div><div class='del'>-</div><div class='del'>-* lib/prettyprint.rb</div><div class='del'>-  * Removed PrettyPrint#first?</div><div class='del'>-</div><div class='del'>-* lib/minitest/*.rb</div><div class='del'>-  * Removed because it conflicts to minitest 5. [Feature #9711]</div><div class='del'>-</div><div class='del'>-* lib/test/**/*.rb</div><div class='del'>-  * Removed because it conflicts to minitest 5, and it was just an wrapper</div><div class='del'>-    of minitest 4. [Feature #9711]</div><div class='del'>-</div><div class='del'>-* lib/uri</div><div class='del'>-  * support RFC 3986. [Feature #2542]</div><div class='del'>-</div><div class='del'>-* GServer</div><div class='del'>-  * GServer is extracted to gserver gem. It's unmaintain code.</div><div class='del'>-</div><div class='del'>-* Logger</div><div class='del'>-  * Logger::Application is extracted to logger-application gem. It's unmaintain code.</div><div class='del'>-</div><div class='del'>-* ObjectSpace (after requiring "objspace")</div><div class='del'>-  * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE).</div><div class='del'>-    [Bug #8984]</div><div class='del'>-</div><div class='del'>-* Prime</div><div class='del'>-  * incompatible changes:</div><div class='del'>-    * Prime.prime? now returns false for negative numbers. This method</div><div class='del'>-      should not be used to know the number is composite or not. [Bug #7395]</div><div class='del'>-</div><div class='del'>-* Psych</div><div class='del'>-  * Removed Psych::EngineManager [Bug #8344]</div><div class='del'>-</div><div class='del'>-=== Built-in global variables compatibility issues</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-* Deprecated APIs removed.  [Feature #9502]</div><div class='del'>-</div><div class='del'>-  Check_SafeStr -&gt; SafeStringValue</div><div class='del'>-  rb_check_safe_str -&gt; SafeStringValue</div><div class='del'>-  rb_quad_pack -&gt; rb_integer_pack</div><div class='del'>-  rb_quad_unpack -&gt; rb_integer_unpack</div><div class='del'>-  rb_read_check : access struct FILE internal. no replacement.</div><div class='del'>-  rb_struct_iv_get : internal function. no replacement.</div><div class='del'>-  struct rb_blocking_region_buffer : internal type. no replacement.</div><div class='del'>-  rb_thread_blocking_region_begin -&gt; rb_thread_call_without_gvl family</div><div class='del'>-  rb_thread_blocking_region_end -&gt; rb_thread_call_without_gvl family</div><div class='del'>-  TRAP_BEG -&gt; rb_thread_call_without_gvl family</div><div class='del'>-  TRAP_END -&gt; rb_thread_call_without_gvl family</div><div class='del'>-  rb_thread_select -&gt; rb_thread_fd_select</div><div class='del'>-  struct rb_exec_arg : internal type. no replacement.</div><div class='del'>-  rb_exec : internal function. no replacement.</div><div class='del'>-  rb_exec_arg_addopt : internal function. no replacement.</div><div class='del'>-  rb_exec_arg_fixup : internal function. no replacement.</div><div class='del'>-  rb_exec_arg_init : internal function. no replacement.</div><div class='del'>-  rb_exec_err : internal function. no replacement.</div><div class='del'>-  rb_fork : internal function. no replacement.</div><div class='del'>-  rb_fork_err : internal function. no replacement.</div><div class='del'>-  rb_proc_exec_n : internal function. no replacement.</div><div class='del'>-  rb_run_exec_options : internal function. no replacement.</div><div class='del'>-  rb_run_exec_options_err : internal function. no replacement.</div><div class='del'>-  rb_thread_blocking_region -&gt; rb_thread_call_without_gvl family</div><div class='del'>-  rb_thread_polling -&gt; rb_thread_wait_for</div><div class='del'>-  rb_big2str0 : internal function. no replacement.</div><div class='del'>-  rb_big2ulong_pack -&gt; rb_integer_pack</div><div class='del'>-  rb_gc_set_params : internal function. no replacement.</div><div class='del'>-  rb_io_mode_flags -&gt; rb_io_modestr_fmode</div><div class='del'>-  rb_io_modenum_flags -&gt; rb_io_oflags_fmode</div><div class='del'>-</div><div class='del'>-* struct RBignum is hidden.  [Feature #6083]</div><div class='del'>-  Use rb_integer_pack and rb_integer_unpack instead.</div><div class='del'>-</div><div class='del'>-* struct RRational is hidden.  [Feature #9513]</div><div class='del'>-  Use rb_rational_num and rb_rational_den instead.</div><div class='del'>-</div><div class='del'>-* rb_big_new and rb_big_resize takes a size_t instead of long.</div><div class='del'>-</div><div class='del'>-* rb_num2long returns a long instead of SIGNED_VALUE.</div><div class='del'>-</div><div class='del'>-* rb_num2ulong returns an unsigned long instead of VALUE.</div><div class='del'>-</div><div class='del'>-* st hash table uses power-of-two sizes for speed [Feature #9425].</div><div class='del'>-  Lookups are 10-25% faster if using appropriate hash functions.</div><div class='del'>-  However, weaknesses in hash distribution can no longer be masked</div><div class='del'>-  by prime number-sized tables, so extensions may need to tweak</div><div class='del'>-  hash functions to ensure good distribution.</div><div class='del'>-</div><div class='del'>-* rb_sym2str() added. This is almost same as `rb_id2str(SYM2ID(sym))`</div><div class='del'>-  but not pinning a dynamic symbol.</div><div class='del'>-</div><div class='del'>-* rb_str_cat_cstr() added. This is same as `rb_str_cat2()`.</div><div class='del'>-</div><div class='del'>-* `rb_str_substr()` and `rb_str_subseq()` will share middle of a string,</div><div class='del'>-  but not only the end of a string, in the future.  Therefore, result</div><div class='del'>-  strings may not be NUL-terminated, `StringValueCStr()` is needed</div><div class='del'>-  calling to obtain a NUL-terminated C string.</div><div class='del'>-</div><div class='del'>-* rb_tracepoint_new() supports new internal events accessible only from C:</div><div class='del'>-  * RUBY_INTERNAL_EVENT_GC_ENTER</div><div class='del'>-  * RUBY_INTERNAL_EVENT_GC_EXIT</div><div class='del'>-    r47528</div><div class='del'>-</div><div class='del'>-* rb_hash_delete() now does not call the block given to the current method.</div><div class='del'>-</div><div class='del'>-* rb_extract_keywords() and rb_get_kwargs() exported.  See README.EXT</div><div class='del'>-  for details.</div><div class='del'>-</div><div class='del'>-=== Build system updates</div><div class='del'>-</div><div class='del'>-* jemalloc is optionally supported via `./configure --with-jemalloc`</div><div class='del'>-  jemalloc may be suitable when system malloc is slow or prone</div><div class='del'>-  to fragmentation.  [Feature #9113]</div><div class='del'>-</div><div class='del'>-=== Implementation changes</div><div class='del'>-</div><div class='del'>-* GC</div><div class='del'>-    * Most symbols which are returned by String#to_sym and</div><div class='del'>-      String#intern are GC-able [Feature #9634]</div><div class='del'>-    * Introduce incremental marking for major GC. [Feature #10137]</div><div class='del'>-    * Enable lazy sweep on GC caused by malloc().</div><div class='del'>-</div><div class='del'>-* VM</div><div class='del'>-    * Use frozen string literals for Hash#[] and Hash#[]=</div><div class='del'>-    * Fast keyword arguments passing [Feature #10440]</div><div class='del'>-    * Allow to receive huge splatted array by a rest argument</div><div class='del'>-      [Feature #10440]</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-    * Process creation methods, such as spawn(), uses vfork() system call.</div><div class='del'>-      vfork() is faster than fork() when the parent process uses huge memory.</div><div class='head'>diff --git a/doc/NEWS-2.3.0 b/doc/NEWS-2.3.0<br/>deleted file mode 100644<br/>index 489aba4a89..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-2.3.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.3.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,404 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.3.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file or Redmine</div><div class='del'>-(e.g. &lt;tt&gt;https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER&lt;/tt&gt;)</div><div class='del'>-</div><div class='del'>-== Changes since the 2.2.0 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* frozen-string-literal pragma:</div><div class='del'>-</div><div class='del'>-  * new pragma, frozen-string-literal has been experimentally introduced.</div><div class='del'>-    [Feature #8976]</div><div class='del'>-  * besides, --enable/--disable=frozen-string-literal options also have</div><div class='del'>-    been introduced. [Feature #8976]</div><div class='del'>-  * command line options --debug or --debug=frozen-string-literal enable</div><div class='del'>-    additional debugging mode which shows created location with at frozen</div><div class='del'>-    object error (RuntimeError).</div><div class='del'>-    [Feature #11725]</div><div class='del'>-</div><div class='del'>-* safe navigation operator:</div><div class='del'>-</div><div class='del'>-  * new method call syntax, `object&amp;.foo', method #foo is called on</div><div class='del'>-    `object' if it is not nil.</div><div class='del'>-    this is similar to `try!' in Active Support, except:</div><div class='del'>-    * method name is syntactically required</div><div class='del'>-          obj.try! {} # valid</div><div class='del'>-          obj&amp;. {}    # syntax error</div><div class='del'>-    * arguments are evaluated only if a call is made:</div><div class='del'>-          obj.try!(:foo, bar())  # bar() is always evaluated</div><div class='del'>-          obj&amp;.foo(bar())        # bar() is conditionally evaluated</div><div class='del'>-    * attribute assignment is valid</div><div class='del'>-          obj&amp;.attr += 1</div><div class='del'>-    [Feature #11537]</div><div class='del'>-</div><div class='del'>-* the did_you_mean gem:</div><div class='del'>-</div><div class='del'>-  * When a NameError or NoMethodError occurs because of a typo in the name,</div><div class='del'>-    the did_you_mean gem automatically suggests other names similar to the</div><div class='del'>-    method name.</div><div class='del'>-</div><div class='del'>-      "Yuki".starts_with?("Y")</div><div class='del'>-      # =&gt; NoMethodError: undefined method `starts_with?' for "Yuki":String</div><div class='del'>-      #    Did you mean?  start_with?</div><div class='del'>-</div><div class='del'>-* indented here document:</div><div class='del'>-</div><div class='del'>-  * new string literal, here document starts with `&lt;&lt;~`.</div><div class='del'>-    refer doc/syntax/literals.rdoc for more details.</div><div class='del'>-    [Feature #9098]</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* ARGF</div><div class='del'>-</div><div class='del'>-  * ARGF.read_nonblock supports `exception: false' like IO#read_nonblock.</div><div class='del'>-    [Feature #11358]</div><div class='del'>-</div><div class='del'>-* Array</div><div class='del'>-</div><div class='del'>-  * Array#bsearch_index [Feature #10730]</div><div class='del'>-  * Array#dig [Feature #11643]</div><div class='del'>-</div><div class='del'>-* Comparable</div><div class='del'>-</div><div class='del'>-  * Comparable#== no longer rescues exceptions [Feature #7688]</div><div class='del'>-</div><div class='del'>-* Encoding</div><div class='del'>-</div><div class='del'>-  * new Encoding::IBM037 (alias ebcdic-cp-us; dummy)</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-</div><div class='del'>-  * Enumerable#grep_v is added as inverse version of Enumerable#grep.</div><div class='del'>-    [Feature #11049]</div><div class='del'>-  * Enumerable#chunk_while [Feature #10769]</div><div class='del'>-</div><div class='del'>-* Enumerator::Lazy</div><div class='del'>-</div><div class='del'>-  * Enumerator::Lazy#grep_v [Feature #11773]</div><div class='del'>-</div><div class='del'>-* File</div><div class='del'>-</div><div class='del'>-  * File.mkfifo [Feature #11536]</div><div class='del'>-  * Add File::TMPFILE corresponding to O_TMPFILE</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-</div><div class='del'>-  * Hash#fetch_values [Feature #10017]</div><div class='del'>-  * Hash#dig [Feature #11643]</div><div class='del'>-  * Hash#&lt;=, Hash#&lt;, Hash#&gt;=, Hash#&gt; [Feature #10984]</div><div class='del'>-  * Hash#to_proc [Feature #11653]</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-</div><div class='del'>-  * new mode flag File::SHARE_DELETE is available.</div><div class='del'>-    this flag means to permit deleting opened file on Windows, but currently</div><div class='del'>-    this affect only files opened as binary.  [Feature #11218]</div><div class='del'>-</div><div class='del'>-  * new option parameter `flags' is added.</div><div class='del'>-    this parameter is bitwise-ORed to oflags generated by normal mode argument.</div><div class='del'>-    [Feature #11253]</div><div class='del'>-</div><div class='del'>-  * IO#advise no longer raises Errno::ENOSYS in cases where it was</div><div class='del'>-    detected at build time but not available at runtime.  [Feature #11806]</div><div class='del'>-</div><div class='del'>-* Kernel</div><div class='del'>-</div><div class='del'>-  * Kernel#loop, when stopped by a StopIteration exception, returns</div><div class='del'>-    what the enumerator has returned instead of nil. [Feature #11498]</div><div class='del'>-</div><div class='del'>-* Module</div><div class='del'>-  * Module#deprecate_constant [Feature #11398]</div><div class='del'>-</div><div class='del'>-* NameError</div><div class='del'>-  * NameError#receiver is added to take the receiver object. [Feature #10881]</div><div class='del'>-</div><div class='del'>-* Numeric</div><div class='del'>-</div><div class='del'>-  * Numeric#positive? and Numeric#negative? are added, which return</div><div class='del'>-    true when the receiver is positive and negative respectively.</div><div class='del'>-    [Feature #11151]</div><div class='del'>-</div><div class='del'>-* Proc</div><div class='del'>-</div><div class='del'>-  * Proc#call (and also #[], #===, #yield) are optimized.</div><div class='del'>-    Backtrace doesn't show each method (show block lines directly).</div><div class='del'>-    TracePoint also ignores these calls. [Feature #11569]</div><div class='del'>-</div><div class='del'>-* Queue (Thread::Queue)</div><div class='del'>-</div><div class='del'>-  * Queue#close is added to notice a termination. [Feature #10600]</div><div class='del'>-</div><div class='del'>-* Regexp/String: Updated Unicode version from 7.0.0 to 8.0.0</div><div class='del'>-</div><div class='del'>-* RubyVM::InstructionSequence</div><div class='del'>-  * add the following methods as a primitive tool of iseq loader.</div><div class='del'>-    See sample/iseq_loader.rb for usage.</div><div class='del'>-    Note that loader does not have verifier so it is easy to cause</div><div class='del'>-    critical problem by loading modified/broken binary data.</div><div class='del'>-    See [Feature #11788] for more details. (experimental feature)</div><div class='del'>-    * RubyVM::InstructionSequence#to_binary(extra_data = nil)</div><div class='del'>-    * RubyVM::InstructionSequence.load_from_binary(binary)</div><div class='del'>-    * RubyVM::InstructionSequence.load_from_binary_extra_data(binary)</div><div class='del'>-</div><div class='del'>-* String</div><div class='del'>-</div><div class='del'>-  * String#+@ and String#-@ are added to get mutable/frozen strings.</div><div class='del'>-    [Feature #11782]</div><div class='del'>-</div><div class='del'>-  * String.new now accepts new option parameter `encoding'.</div><div class='del'>-    [Feature #11785]</div><div class='del'>-</div><div class='del'>-* Struct</div><div class='del'>-  * Struct#dig [Feature #11688]</div><div class='del'>-</div><div class='del'>-* Thread</div><div class='del'>-  * Thread#name, Thread#name= are added to handle thread names [Feature #11251]</div><div class='del'>-</div><div class='del'>-=== Core classes compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Array</div><div class='del'>-  * Array#select!, Array#keep_if, Array#reject!, and Array#delete_if</div><div class='del'>-    no longer changes the receiver array instantly every time the</div><div class='del'>-    block is called.  [Feature #10714]</div><div class='del'>-</div><div class='del'>-  * Array#flatten and Array#flatten! no longer try to call #to_ary</div><div class='del'>-    method on elements beyond the given level.  [Bug #10748]</div><div class='del'>-</div><div class='del'>-  * Array#inspect doesn't raise error even if its content returns</div><div class='del'>-    a string which is not compatible with Encoding.default_external</div><div class='del'>-    as inspected result. [Feature #11801]</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-  * Enumerable#chunk and Enumerable#slice_before no longer takes the</div><div class='del'>-    initial_state argument.  [Feature #10958]</div><div class='del'>-    Use a local variable instead to maintain a state.</div><div class='del'>-</div><div class='del'>-* File::Stat</div><div class='del'>-  * On Windows File::Stat#ino always returned 0, but now returns</div><div class='del'>-    BY_HANDLE_FILE_INFORMATION.nFileIndexHigh/Low.  [Feature #11216]</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-  * Hash#inspect doesn't raise error even if its content returns</div><div class='del'>-    a string which is not compatible with Encoding.default_external</div><div class='del'>-    as inspected result. [Feature #11801]</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-  * IO#close doesn't raise when the IO object is closed.  [Feature #10718]</div><div class='del'>-  * IO#each_codepoint raises an exception at incomplete character</div><div class='del'>-    before EOF when conversion takes place.  [Bug #11444]</div><div class='del'>-</div><div class='del'>-* Module</div><div class='del'>-  * Module#define_method and Object.define_singleton_method now</div><div class='del'>-    require method body, Proc, Method, or a block, and raise</div><div class='del'>-    ArgumentError if no block is given directly.  [Bug #11283]</div><div class='del'>-</div><div class='del'>-* pack/unpack (Array/String)</div><div class='del'>-  * j and J directives for pointer width integer type.  [Feature #11215]</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* Logger</div><div class='del'>-</div><div class='del'>-  * Logger#level= now supports symbol and string levels such as :debug, :info,</div><div class='del'>-    :warn, :error, :fatal (case insensitive) [Feature #11695]</div><div class='del'>-  * Logger#reopen is added to reopen a log device. [Feature #11696]</div><div class='del'>-</div><div class='del'>-* io/wait</div><div class='del'>-  * IO#wait_readable no longer checks FIONREAD, it may be used for</div><div class='del'>-    non-bytestream IO such as listen sockets.</div><div class='del'>-</div><div class='del'>-* Net::FTP</div><div class='del'>-  * Net::FTP#mlst is added.</div><div class='del'>-  * Net::FTP#mlsd is added.</div><div class='del'>-</div><div class='del'>-* nkf</div><div class='del'>-  * Merge nkf 2.1.4.</div><div class='del'>-</div><div class='del'>-* ObjectSpace (objspace)</div><div class='del'>-  * ObjectSpace.count_symbols is added.</div><div class='del'>-  * ObjectSpace.count_imemo_objects is added.</div><div class='del'>-  * ObjectSpace.internal_class_of is added.</div><div class='del'>-  * ObjectSpace.internal_super_of is added.</div><div class='del'>-</div><div class='del'>-* OpenSSL</div><div class='del'>-  * OpenSSL::SSL::SSLSocket#accept_nonblock and</div><div class='del'>-    OpenSSL::SSL::SSLSocket#connect_nonblock supports `exception: false`.</div><div class='del'>-    [Feature #10532]</div><div class='del'>-</div><div class='del'>-* Pathname</div><div class='del'>-  * Pathname#descend and Pathname#ascend supported blockless form.</div><div class='del'>-    [Feature #11052]</div><div class='del'>-</div><div class='del'>-* Socket</div><div class='del'>-  * Socket#connect_nonblock, Socket#accept_nonblock,</div><div class='del'>-    TCPServer#accept_nonblock, UNIXServer#accept_nonblock,</div><div class='del'>-    BasicSocket#recv_nonblock, BasicSocket#recvmsg_nonblock,</div><div class='del'>-    BasicSocket#sendmsg_nonblock all support `exception: false` to return</div><div class='del'>-    :wait_readable or :wait_writable symbols instead of raising</div><div class='del'>-    IO::WaitReadable or IO::WaitWritable exceptions</div><div class='del'>-    [Feature #10532] [Feature #11229]</div><div class='del'>-  * BasicSocket#recv and BasicSocket#recv_nonblock allow an output</div><div class='del'>-    String buffer argument like IO#read and IO#read_nonblock to reduce</div><div class='del'>-    GC overhead [Feature #11242]</div><div class='del'>-</div><div class='del'>-* StringIO</div><div class='del'>-  * In read-only mode, StringIO#set_encoding no longer sets the encoding</div><div class='del'>-    of its buffer string.  Setting the encoding of the string directly</div><div class='del'>-    without StringIO#set_encoding may cause unpredictable behavior now.</div><div class='del'>-    [Bug #11827]</div><div class='del'>-</div><div class='del'>-* timeout</div><div class='del'>-  * Object#timeout is now warned as deprecated when called.</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* ext/coverage/coverage.c</div><div class='del'>-  * Coverage.peek_result: new method to allow coverage to be captured without</div><div class='del'>-    stopping the coverage tool.  [Feature #10816]</div><div class='del'>-</div><div class='del'>-* Fiddle</div><div class='del'>-  * Fiddle::Function#call releases the GVL.  [Feature #11607]</div><div class='del'>-</div><div class='del'>-* io-console</div><div class='del'>-  * Update to io-console 0.4.5, and change the license to BSD 2-clause</div><div class='del'>-    "Simplified" License.</div><div class='del'>-</div><div class='del'>-* lib/base64.rb</div><div class='del'>-  * Base64.urlsafe_encode64: added a "padding" option to suppress</div><div class='del'>-    the padding character ("=").  [Feature #10740]</div><div class='del'>-  * Base64.urlsafe_decode64: now it accepts not only correctly-padded</div><div class='del'>-    input but also unpadded input.  [Feature #10740]</div><div class='del'>-</div><div class='del'>-* lib/drb/drb.rb</div><div class='del'>-  * removed unused argument. https://github.com/ruby/ruby/pull/515</div><div class='del'>-</div><div class='del'>-* lib/matrix.rb</div><div class='del'>-  * Add Vector#round. https://github.com/ruby/ruby/pull/802</div><div class='del'>-</div><div class='del'>-* lib/webrick/utils.rb</div><div class='del'>-  * removed unused argument. https://github.com/ruby/ruby/pull/356</div><div class='del'>-</div><div class='del'>-* Net::FTP</div><div class='del'>-  * Connections are in passive mode per default now.  The default mode can</div><div class='del'>-    be changed by Net::FTP.default_passive=.  [Feature #11612]</div><div class='del'>-</div><div class='del'>-* Net::HTTP</div><div class='del'>-  * default value of Net::HTTP#open_timeout is now 60 (was nil).</div><div class='del'>-</div><div class='del'>-* Net::Telnet</div><div class='del'>-  * Net::Telnet is extracted to net-telnet gem. It's unmaintain code.</div><div class='del'>-    [Feature #11083]</div><div class='del'>-</div><div class='del'>-* Psych</div><div class='del'>-  * Updated to Psych 2.0.17</div><div class='del'>-</div><div class='del'>-* Rake</div><div class='del'>-  * Rake is removed from stdlib.  [Feature #11025]</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-  * Updated to RDoc 4.2.1.  For full release notes see:</div><div class='del'>-</div><div class='del'>-    https://github.com/rdoc/rdoc/blob/master/History.rdoc#421--2015-12-22</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-  * Updated to RubyGems 2.5.1.  For full release notes see:</div><div class='del'>-</div><div class='del'>-    http://docs.seattlerb.org/rubygems/History_txt.html#label-2.5.0+-2F+2015-11-03</div><div class='del'>-    and</div><div class='del'>-    http://docs.seattlerb.org/rubygems/History_txt.html#label-2.5.1+-2F+2015-12-10</div><div class='del'>-</div><div class='del'>-=== Built-in global variables compatibility issues</div><div class='del'>-</div><div class='del'>-* $SAFE</div><div class='del'>-  * $SAFE=2 and $SAFE=3 are obsolete.  If $SAFE is set to 2 or larger,</div><div class='del'>-    an ArgumentError is raised.  [Feature #5455]</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-* rb_define_class_id_under() now raises a TypeError exception when the</div><div class='del'>-  class is already defined but its superclass does not match the given</div><div class='del'>-  superclass, as well as definitions in ruby level.</div><div class='del'>-</div><div class='del'>-* rb_timespec_now() is added to fetch current datetime as struct timespec.</div><div class='del'>-  [Feature #11558]</div><div class='del'>-</div><div class='del'>-* rb_time_timespec_new() is added to create a time object with epoch,</div><div class='del'>-  nanosecond, and UTC/localtime/time offset arguments.  [Feature #11558]</div><div class='del'>-</div><div class='del'>-* rb_autoload() deprecated, use rb_funcall() instead.  [Feature #11664]</div><div class='del'>-</div><div class='del'>-* rb_compile_error_with_enc(), rb_compile_error(), and rb_compile_bug()</div><div class='del'>-  deprecated.  these functions are exposed but only for internal use.</div><div class='del'>-  external libraries should not use them.</div><div class='del'>-</div><div class='del'>-=== Supported platform changes</div><div class='del'>-</div><div class='del'>-* OS/2 is no longer supported</div><div class='del'>-</div><div class='del'>-* BeOS is no longer supported</div><div class='del'>-</div><div class='del'>-* Borland-C is no longer supported</div><div class='del'>-</div><div class='del'>-* Haiku now stable and best effort</div><div class='del'>-</div><div class='del'>-=== Implementation improvements</div><div class='del'>-</div><div class='del'>-* Optimize Proc#call to eliminate method frame construction.</div><div class='del'>-  [Feature #11569]</div><div class='del'>-</div><div class='del'>-* Reconsidering method entry data structure.</div><div class='del'>-  [Bug #11278]</div><div class='del'>-</div><div class='del'>-* Introducing new table data structure for ID keys tables used by</div><div class='del'>-  method table and so on. New table structure is simple and fast</div><div class='del'>-  than st_table. [Feature #11420]</div><div class='del'>-</div><div class='del'>-* Machine code level tuning for object allocation and method calling</div><div class='del'>-  code. r52099, r52254</div><div class='del'>-</div><div class='del'>-* RubyVM::InstructionSequence is extended for future improvement.</div><div class='del'>-  [Feature #11788]</div><div class='del'>-</div><div class='del'>-* Case dispatch is now optimized for all special constant literals</div><div class='del'>-  including nil, true, and false.  Previously, only literal strings,</div><div class='del'>-  symbols, integers and floats compiled to optimized case dispatch.</div><div class='del'>-  [Feature #11769]</div><div class='del'>-</div><div class='del'>-* Instance variables on non-pure Ruby classes (T_DATA, T_FILE,</div><div class='del'>-  etc..) is less expensive to store than before. [Feature #11170]</div><div class='del'>-</div><div class='del'>-* All accesses to members of big Struct objects are performed in</div><div class='del'>-  constant-time.  Previously, Struct elements beyond the first 10</div><div class='del'>-  elements used a linear scan. [Feature #10585]</div><div class='del'>-</div><div class='del'>-* The Set class got several speed up.</div><div class='del'>-  [Misc #10754], [r52591]</div><div class='del'>-</div><div class='del'>-* Socket and I/O-related improvements</div><div class='del'>-</div><div class='del'>-  * Calling overhead of most of new keyword-using I/O methods in</div><div class='del'>-    [Feature #11229] is reduced by avoiding the inefficient C API</div><div class='del'>-    to parse keywords.  [Feature #11339]</div><div class='del'>-</div><div class='del'>-  * The standard library is updated to use the improved</div><div class='del'>-    exception-free non-blocking I/O from [Feature #11229].</div><div class='del'>-    This has the additional benefit of quieter $DEBUG output in</div><div class='del'>-    addition to reducing expensive exceptions. [Feature #11044]</div><div class='del'>-</div><div class='del'>-  * (Linux-only) waiting on a single FD anywhere in the stdlib no longer</div><div class='del'>-    uses select(2), making it immune to slowdowns with high-numbered FDs.</div><div class='del'>-    [Feature #11081] [Feature #11377]</div><div class='del'>-</div><div class='del'>-* CGI.escapeHTML is optimized with C extension.</div><div class='del'>-  https://github.com/ruby/ruby/pull/1164</div><div class='head'>diff --git a/doc/NEWS-2.4.0 b/doc/NEWS-2.4.0<br/>deleted file mode 100644<br/>index 28e855cde1..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-2.4.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.4.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,397 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.4.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file or Redmine</div><div class='del'>-(e.g. &lt;tt&gt;https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER&lt;/tt&gt;)</div><div class='del'>-</div><div class='del'>-== Changes since the 2.3.0 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* Multiple assignment in conditional expression is now allowed.</div><div class='del'>-  [Feature #10617]</div><div class='del'>-</div><div class='del'>-* Refinements is enabled at method by Symbol#to_proc.  [Feature #9451]</div><div class='del'>-</div><div class='del'>-* Refinements is enabled with Kernel#send and BasicObject#__send__.</div><div class='del'>-  [Feature #11476]</div><div class='del'>-</div><div class='del'>-* Rescue modifier now applicable to method arguments.</div><div class='del'>-  [Feature #12686]</div><div class='del'>-</div><div class='del'>-* Toplevel return is now allowed.  [Feature #4840]</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* Array</div><div class='del'>-</div><div class='del'>-  * Array#concat [Feature #12333]</div><div class='del'>-    Now takes multiple arguments.</div><div class='del'>-</div><div class='del'>-  * Array#max and Array#min.  [Feature #12172]</div><div class='del'>-    This may cause a tiny incompatibility: if you redefine</div><div class='del'>-    Enumerable#max and call max to an Array, your redefinition will be</div><div class='del'>-    now ignored.  You should also redefine Array#max.</div><div class='del'>-</div><div class='del'>-  * Array#pack [Feature #12754]</div><div class='del'>-    Now takes optional argument `buffer:' to reuse already allocated buffer.</div><div class='del'>-</div><div class='del'>-  * Array#sum  [Feature #12217]</div><div class='del'>-    This is different from Enumerable#sum in that Array#sum doesn't depend on</div><div class='del'>-    the definition of each method.</div><div class='del'>-</div><div class='del'>-* Comparable</div><div class='del'>-</div><div class='del'>-  * Comparable#clamp.  [Feature #10594]</div><div class='del'>-</div><div class='del'>-* Dir</div><div class='del'>-</div><div class='del'>-  * Dir.empty?.  [Feature #10121]</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-</div><div class='del'>-  * Enumerable#chunk called without a block now return an Enumerator</div><div class='del'>-    [Feature #2172]</div><div class='del'>-  * Enumerable#sum  [Feature #12217]</div><div class='del'>-  * Enumerable#uniq  [Feature #11090]</div><div class='del'>-</div><div class='del'>-* Enumerator::Lazy</div><div class='del'>-</div><div class='del'>-  * Enumerator::Lazy#chunk_while  [GH-1186]</div><div class='del'>-  * Enumerator::Lazy#uniq  [Feature #11090]</div><div class='del'>-</div><div class='del'>-* File</div><div class='del'>-</div><div class='del'>-  * File.empty?.  [Feature #9969]</div><div class='del'>-</div><div class='del'>-* Float</div><div class='del'>-</div><div class='del'>-  * Float#ceil, Float#floor, and Float#truncate now take an optional</div><div class='del'>-    digits, as well as Float#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-  * Float#round now takes an optional keyword argument, half option, and</div><div class='del'>-    the default behavior is round-up.  [Bug #12548] [Bug #12958]</div><div class='del'>-    half option can be one of :even, :up, and :down.  [Feature #12953]</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-</div><div class='del'>-  * Hash#compact and Hash#compact!  [Feature #11818]</div><div class='del'>-  * Hash#transform_values and Hash#transform_values!  [Feature #12512]</div><div class='del'>-</div><div class='del'>-* Integer</div><div class='del'>-</div><div class='del'>-  * Fixnum and Bignum are unified into Integer  [Feature #12005]</div><div class='del'>-</div><div class='del'>-  * Integer#ceil, Integer#floor, and Integer#truncate now take an optional</div><div class='del'>-    digits, as well as Integer#round.  [Feature #12245]</div><div class='del'>-</div><div class='del'>-  * Integer#digits for extracting columns of place-value notation [Feature #12447]</div><div class='del'>-</div><div class='del'>-  * Integer#round now takes an optional keyword argument, half option, and the</div><div class='del'>-    default behavior is round-up now.  [Bug #12548] [Bug #12958]</div><div class='del'>-    half option can be one of :even, :up, and :down.  [Feature #12953]</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-</div><div class='del'>-  * IO#gets, IO#readline, IO#each_line, IO#readlines, IO.foreach now takes</div><div class='del'>-    an optional keyword argument, chomp flag.  [Feature #12553]</div><div class='del'>-</div><div class='del'>-* Kernel</div><div class='del'>-</div><div class='del'>-  * Kernel#clone now takes an optional keyword argument, freeze flag.</div><div class='del'>-    [Feature #12300]</div><div class='del'>-</div><div class='del'>-* MatchData</div><div class='del'>-</div><div class='del'>-  * MatchData#named_captures [Feature #11999]</div><div class='del'>-  * MatchData#values_at supports named captures [Feature #9179]</div><div class='del'>-</div><div class='del'>-* Module</div><div class='del'>-</div><div class='del'>-  * Module#refine accepts a module as the argument now. [Feature #12534]</div><div class='del'>-  * Module.used_modules [Feature #7418]</div><div class='del'>-</div><div class='del'>-* Numeric</div><div class='del'>-</div><div class='del'>-  * Numeric#finite?, Numeric#infinite? [Feature #12039]</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-</div><div class='del'>-  * Support CLOCK_MONOTONIC_RAW_APPROX, CLOCK_UPTIME_RAW, and</div><div class='del'>-    CLOCK_UPTIME_RAW_APPROX which are introduced by macOS 10.12.</div><div class='del'>-</div><div class='del'>-* Rational</div><div class='del'>-</div><div class='del'>-  * Rational#round now takes an optional keyword argument, half option, and</div><div class='del'>-    the default behavior is round-up now.  [Bug #12548] [Bug #12958]</div><div class='del'>-    half option can be one of :even, :up, and :down.  [Feature #12953]</div><div class='del'>-</div><div class='del'>-* Regexp</div><div class='del'>-</div><div class='del'>-  * meta character \X matches Unicode 9.0 characters with some workarounds</div><div class='del'>-    for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences.</div><div class='del'>-</div><div class='del'>-  * Regexp#match? [Feature #8110]</div><div class='del'>-    This returns bool and doesn't save backref.</div><div class='del'>-</div><div class='del'>-  * Update to Onigmo 6.0.0.</div><div class='del'>-</div><div class='del'>-* Regexp/String: Update Unicode version from 8.0.0 to 9.0.0 [Feature #12513]</div><div class='del'>-</div><div class='del'>-* RubyVM::Env</div><div class='del'>-</div><div class='del'>-  * RubyVM::Env was removed.</div><div class='del'>-</div><div class='del'>-* String</div><div class='del'>-</div><div class='del'>-  * String#casecmp? [Feature #12786]</div><div class='del'>-</div><div class='del'>-  * String#concat, String#prepend [Feature #12333]</div><div class='del'>-    Now takes multiple arguments.</div><div class='del'>-</div><div class='del'>-  * String#each_line, String#lines now takes an optional keyword argument,</div><div class='del'>-    chomp flag.  [Feature #12553]</div><div class='del'>-</div><div class='del'>-  * String#match? [Feature #12898]</div><div class='del'>-</div><div class='del'>-  * String#unpack1 [Feature #12752]</div><div class='del'>-</div><div class='del'>-  * String#upcase, String#downcase, String#capitalize, String#swapcase and</div><div class='del'>-    their bang variants work for all of Unicode, and are no longer limited</div><div class='del'>-    to ASCII. Supported encodings are UTF-8, UTF-16BE/LE, UTF-32BE/LE, and</div><div class='del'>-    ISO-8859-1~16. Variations are available with options. See the documentation</div><div class='del'>-    of String#downcase for details. [Feature #10085]</div><div class='del'>-</div><div class='del'>-  * String.new(capacity: size) [Feature #12024]</div><div class='del'>-</div><div class='del'>-* StringIO</div><div class='del'>-</div><div class='del'>-  * StringIO#gets, StringIO#readline, StringIO#each_line, StringIO#readlines now takes</div><div class='del'>-    an optional keyword argument, chomp flag.  [Feature #12553]</div><div class='del'>-</div><div class='del'>-* Symbol</div><div class='del'>-</div><div class='del'>-  * Symbol#casecmp? [Feature #12786]</div><div class='del'>-</div><div class='del'>-  * Symbol#match now returns MatchData.  [Bug #11991]</div><div class='del'>-</div><div class='del'>-  * Symbol#match? [Feature #12898]</div><div class='del'>-</div><div class='del'>-  * Symbol#upcase, Symbol#downcase, Symbol#capitalize, and Symbol#swapcase now</div><div class='del'>-    work for all of Unicode. See the documentation of String#downcase</div><div class='del'>-    for details. [Feature #10085]</div><div class='del'>-</div><div class='del'>-* Thread</div><div class='del'>-</div><div class='del'>-  * Thread#report_on_exception and Thread.report_on_exception</div><div class='del'>-    [Feature #6647]</div><div class='del'>-</div><div class='del'>-* TracePoint</div><div class='del'>-</div><div class='del'>-  * TracePoint#callee_id [Feature #12747]</div><div class='del'>-</div><div class='del'>-* Warning</div><div class='del'>-</div><div class='del'>-  * New module named Warning is introduced.  By default it has only</div><div class='del'>-    one singleton method, named warn.  This makes it possible for</div><div class='del'>-    3rd-party libraries to control the way warnings are handled.</div><div class='del'>-    [Feature #12299]</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* CGI</div><div class='del'>-</div><div class='del'>-  * Don't allow , as a separator [Bug #12791]</div><div class='del'>-</div><div class='del'>-* CSV</div><div class='del'>-</div><div class='del'>-  * Add a liberal_parsing option. [Feature #11839]</div><div class='del'>-</div><div class='del'>-* IPAddr</div><div class='del'>-</div><div class='del'>-  * IPAddr#== and IPAddr#&lt;=&gt; no longer raise an exception if coercion fails.</div><div class='del'>-    [Bug #12799]</div><div class='del'>-</div><div class='del'>-* IRB</div><div class='del'>-</div><div class='del'>-  * Binding#irb: Start a REPL session like `binding.pry` at r56624.</div><div class='del'>-</div><div class='del'>-* Logger</div><div class='del'>-</div><div class='del'>-  * Allow specifying logger parameters in constructor such</div><div class='del'>-    as level, progname, datetime_format, formatter. [Feature #12224]</div><div class='del'>-  * Add shift_period_suffix option. [Feature #10772]</div><div class='del'>-</div><div class='del'>-* Net::HTTP</div><div class='del'>-</div><div class='del'>-  * New method: Net::HTTP.post [Feature #12375]</div><div class='del'>-</div><div class='del'>-* Net::FTP</div><div class='del'>-</div><div class='del'>-  * Support TLS (RFC 4217).</div><div class='del'>-  * Support hash style options for Net::FTP.new.</div><div class='del'>-  * Add a new optional argument pathname to Net::FTP#status.</div><div class='del'>-    Contributed by soleboxy. [GH-1478] [Feature #12965]</div><div class='del'>-</div><div class='del'>-* OpenSSL</div><div class='del'>-</div><div class='del'>-  * Includes Ruby/OpenSSL 2.0. OpenSSL has been extracted as a Gem and is</div><div class='del'>-    maintained at a separate repository now: https://github.com/ruby/openssl.</div><div class='del'>-    It still remains as a 'default gem'.  [Feature #9612]</div><div class='del'>-    Refer to ext/openssl/History.md for the full release note.</div><div class='del'>-</div><div class='del'>-* optparse</div><div class='del'>-</div><div class='del'>-  * Add an into option. [Feature #11191]</div><div class='del'>-</div><div class='del'>-* pathname</div><div class='del'>-</div><div class='del'>-  * New method: Pathname#empty? [Feature #12596]</div><div class='del'>-</div><div class='del'>-* Readline</div><div class='del'>-</div><div class='del'>-  * Readline.quoting_detection_proc and Readline.quoting_detection_proc=</div><div class='del'>-    [Feature #12659]</div><div class='del'>-</div><div class='del'>-* REXML</div><div class='del'>-</div><div class='del'>-  * REXML::Element#[]: If String or Symbol is specified, attribute</div><div class='del'>-    value is returned. Otherwise, Nth child is returned. This is</div><div class='del'>-    backward compatible change.</div><div class='del'>-</div><div class='del'>-* set</div><div class='del'>-</div><div class='del'>-  * New methods: Set#compare_by_identity and Set#compare_by_identity?.</div><div class='del'>-    [Feature #12210]</div><div class='del'>-</div><div class='del'>-* WEBrick</div><div class='del'>-</div><div class='del'>-  * Don't allow , as a separator [Bug #12791]</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Array#sum and Enumerable#sum are implemented.  [Feature #12217]</div><div class='del'>-  Ruby itself has no compatibility problem because Ruby didn't have sum method</div><div class='del'>-  for arrays before Ruby 2.4.</div><div class='del'>-  However many third party gems, activesupport, facets, simple_stats, etc,</div><div class='del'>-  defines sum method.  These implementations are mostly compatible but</div><div class='del'>-  there are subtle differences.</div><div class='del'>-  Ruby's sum method should be mostly compatible but it is impossible to</div><div class='del'>-  be perfectly compatible with all of them.</div><div class='del'>-</div><div class='del'>-* Fixnum and Bignum are unified into Integer  [Feature #12005]</div><div class='del'>-  Fixnum class and Bignum class is removed.</div><div class='del'>-  Integer class is changed from abstract class to concrete class.</div><div class='del'>-  For example, 0 is an instance of Integer: 0.class returns Integer.</div><div class='del'>-  The constants Fixnum and Bignum is bound to Integer.</div><div class='del'>-  So obj.kind_of?(Fixnum) works as obj.kind_of?(Integer).</div><div class='del'>-  At C-level, Fixnum object and Bignum object should be distinguished by</div><div class='del'>-  FIXNUM_P(obj) and RB_TYPE_P(obj, T_BIGNUM).</div><div class='del'>-  RUBY_INTEGER_UNIFICATION can be used to detect this feature at C-level.</div><div class='del'>-  0.class == Integer can be used to detect this feature at Ruby-level.</div><div class='del'>-  The C-level constants, rb_cFixnum and rb_cBignum, are removed.</div><div class='del'>-  They can cause compilation failure.</div><div class='del'>-</div><div class='del'>-* String/Symbol#upcase/downcase/swapcase/capitalize(!) now work for all of</div><div class='del'>-  Unicode, not only for ASCII. [Feature #10085]</div><div class='del'>-  No change is needed if the data is in ASCII anyway or if the limitation</div><div class='del'>-  to ASCII was only tolerated while waiting for a more extensive implementation.</div><div class='del'>-  A change (using the :ascii option) is needed in cases where Unicode data</div><div class='del'>-  is processed, but the operation has to be limited to ASCII only.</div><div class='del'>-  A good example of this are internationalized domain names.</div><div class='del'>-</div><div class='del'>-* TRUE / FALSE / NIL</div><div class='del'>-  These constants are now obsoleted. [Feature #12574]</div><div class='del'>-  Use true / false / nil resp. instead.</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* DateTime</div><div class='del'>-</div><div class='del'>-  * DateTime#to_time now preserves timezone.  [Bug #12189]</div><div class='del'>-</div><div class='del'>-* Psych</div><div class='del'>-</div><div class='del'>-  * Update to Psych 2.2.2</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-</div><div class='del'>-  * Update to RDoc 5.0.0</div><div class='del'>-</div><div class='del'>-* RubyGems</div><div class='del'>-</div><div class='del'>-  * Update to RubyGems 2.6.8</div><div class='del'>-</div><div class='del'>-* shellwords</div><div class='del'>-</div><div class='del'>-  * Shellwords.shellwords (shellsplit) treats the backslash as escape</div><div class='del'>-    character only when followed by one of the following characters:</div><div class='del'>-    $ ` " \ &lt;newline&gt;</div><div class='del'>-    [Bug #10055]</div><div class='del'>-</div><div class='del'>-* Time</div><div class='del'>-</div><div class='del'>-  * Time#to_time now preserves timezone.  [Bug #12271]</div><div class='del'>-</div><div class='del'>-* thread</div><div class='del'>-</div><div class='del'>-  * the extension library is removed.  Till 2.0 it was a pure ruby script</div><div class='del'>-    "thread.rb", which has precedence over "thread.so", and has been provided</div><div class='del'>-    in $LOADED_FEATURES since 2.1.</div><div class='del'>-</div><div class='del'>-* Tk</div><div class='del'>-</div><div class='del'>-  * Tk is removed from stdlib.  [Feature #8539]</div><div class='del'>-    https://github.com/ruby/tk is the new upstream.</div><div class='del'>-</div><div class='del'>-* XMLRPC</div><div class='del'>-</div><div class='del'>-  * XMLRPC is removed from stdlib, and bundled as gem. [Feature #12160][ruby-core:74239]</div><div class='del'>-    https://github.com/ruby/xmlrpc is the new upstream.</div><div class='del'>-</div><div class='del'>-* Zlib</div><div class='del'>-</div><div class='del'>-  * Zlib.gzip and Zlib.gunzip [Feature #13020]</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-* ruby_show_version() will no longer exits the process, if</div><div class='del'>-  RUBY_SHOW_COPYRIGHT_TO_DIE is set to 0.  This will be the default in</div><div class='del'>-  the future.</div><div class='del'>-</div><div class='del'>-* rb_gc_adjust_memory_usage() [Feature #12690]</div><div class='del'>-</div><div class='del'>-=== Supported platform changes</div><div class='del'>-</div><div class='del'>-* FreeBSD &lt; 4 is no longer supported</div><div class='del'>-</div><div class='del'>-=== Implementation improvements</div><div class='del'>-</div><div class='del'>-* In some condition, `[x, y].max` and `[x, y].min` are optimized</div><div class='del'>-  so that a temporal array is not created.  The concrete condition is</div><div class='del'>-  an implementation detail: currently, the array literal must have no</div><div class='del'>-  splat, must have at least one expression but literal, the length must</div><div class='del'>-  be &lt;= 0x100, and Array#max and min must not be redefined.  It will work</div><div class='del'>-  in most casual and real-life use case where it is written with intent</div><div class='del'>-  to `Math.max(x, y)`.</div><div class='del'>-</div><div class='del'>-* Thread deadlock detection now shows their backtrace and dependency. [Feature #8214]</div><div class='del'>-</div><div class='del'>-* st_table (st.c) internal data structure is improved. [Feature #12142]</div><div class='del'>-</div><div class='del'>-* Rational is extensively optimized. [Feature #12484]</div><div class='del'>-</div><div class='del'>-=== Miscellaneous changes</div><div class='del'>-</div><div class='del'>-* ChangeLog is removed from the repository.</div><div class='del'>-  It is generated from commit messages in Subversion by `make dist`.</div><div class='del'>-  Also note that now people should follow Git style commit message.</div><div class='del'>-  The template is written at</div><div class='del'>-  [Short (50 chars or less) summary of changes](https://git-scm.com/book/ch5-2.html).</div><div class='del'>-  [Feature #12283]</div><div class='head'>diff --git a/doc/NEWS-2.5.0 b/doc/NEWS-2.5.0<br/>deleted file mode 100644<br/>index e7613d5caa..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/NEWS-2.5.0?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/NEWS-2.5.0</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,567 +0,0 @@</div><div class='del'>-# -*- rdoc -*-</div><div class='del'>-</div><div class='del'>-= NEWS for Ruby 2.5.0</div><div class='del'>-</div><div class='del'>-This document is a list of user visible feature changes made between</div><div class='del'>-releases except for bug fixes.</div><div class='del'>-</div><div class='del'>-Note that each entry is kept so brief that no reason behind or</div><div class='del'>-reference information is supplied with.  For a full list of changes</div><div class='del'>-with all sufficient information, see the ChangeLog file or Redmine</div><div class='del'>-(e.g. &lt;tt&gt;https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER&lt;/tt&gt;)</div><div class='del'>-</div><div class='del'>-== Changes since the 2.4.0 release</div><div class='del'>-</div><div class='del'>-=== Language changes</div><div class='del'>-</div><div class='del'>-* Top-level constant look-up is removed.  [Feature #11547]</div><div class='del'>-</div><div class='del'>-* rescue/else/ensure are allowed inside do/end blocks.  [Feature #12906]</div><div class='del'>-</div><div class='del'>-* refinements take place in string interpolations.  [Feature #13812]</div><div class='del'>-</div><div class='del'>-=== Core classes updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* Array</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Array#append  [Feature #12746]</div><div class='del'>-    * Array#prepend  [Feature #12746]</div><div class='del'>-</div><div class='del'>-* Data</div><div class='del'>-</div><div class='del'>-  * Is deprecated. It was a base class for C extensions, and it's not</div><div class='del'>-    necessary to expose in Ruby level. [Feature #3072]</div><div class='del'>-</div><div class='del'>-* Exception</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Exception#full_message to retrieve a String expression of an exception,</div><div class='del'>-      formatted in the same way in which Ruby prints out an uncaught</div><div class='del'>-      exception.  [Feature #14141] [experimental]</div><div class='del'>-</div><div class='del'>-* Dir</div><div class='del'>-</div><div class='del'>-  * Dir.glob provides new optional keyword argument, +:base+ .  [Feature #13056]</div><div class='del'>-  * Dir.chdir (without block arg), Dir.open, Dir.new, Dir.mkdir, Dir.rmdir,</div><div class='del'>-    Dir.empty? releases GVL</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Dir.children  [Feature #11302]</div><div class='del'>-    * Dir.each_child  [Feature #11302]</div><div class='del'>-</div><div class='del'>-* Enumerable</div><div class='del'>-</div><div class='del'>-  * Enumerable#any?, Enumerable#all?, Enumerable#none? and Enumerable#one?</div><div class='del'>-    accept a pattern argument. [Feature #11286]</div><div class='del'>-</div><div class='del'>-* File</div><div class='del'>-</div><div class='del'>-  * File.open accepts +:newline+ option to imply text mode. [Bug #13350]</div><div class='del'>-  * File#path raises an IOError for files opened with</div><div class='del'>-    File::Constants::TMPFILE option. [Feature #13568]</div><div class='del'>-  * File.stat, File.exist? and other &lt;code&gt;rb_stat()&lt;/code&gt;-using methods</div><div class='del'>-    release GVL. [Bug #13941]</div><div class='del'>-  * File.rename releases GVL. [Feature #13951]</div><div class='del'>-  * File::Stat#atime, File::Stat#mtime and File::Stat#ctime support fractional</div><div class='del'>-    second timestamps on Windows 8 and later.  [Feature #13726]</div><div class='del'>-  * File::Stat#ino and File.indentical? support ReFS 128bit ino on Windows 8.1</div><div class='del'>-    and later.  [Feature #13731]</div><div class='del'>-  * File.readable?, File.readable_real?, File.writable?, File.writable_real?,</div><div class='del'>-    File.executable?, File.executable_real?, File.mkfifo, File.readlink,</div><div class='del'>-    File.truncate, File#truncate, File.chmod, File.lchmod, File.chown,</div><div class='del'>-    File.lchown, File.unlink, File.utime, File.lstat release GVL</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * File.lutime  [Feature #4052]</div><div class='del'>-</div><div class='del'>-* Hash</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Hash#transform_keys  [Feature #13583]</div><div class='del'>-    * Hash#transform_keys!  [Feature #13583]</div><div class='del'>-    * Hash#slice  [Feature #8499]</div><div class='del'>-</div><div class='del'>-* IO</div><div class='del'>-</div><div class='del'>-  * IO.copy_stream tries copy offload with copy_file_range(2) [Feature #13867]</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * IO#pread  [Feature #4532]</div><div class='del'>-    * IO#pwrite  [Feature #4532]</div><div class='del'>-    * IO#write accepts multiple arguments  [Feature #9323]</div><div class='del'>-</div><div class='del'>-* IOError</div><div class='del'>-</div><div class='del'>-  * IO#close might raise an error with message "stream closed",</div><div class='del'>-    but it is refined to "stream closed in another thread". The new message</div><div class='del'>-    is more clear for user. [Bug #13405]</div><div class='del'>-</div><div class='del'>-* Integer</div><div class='del'>-</div><div class='del'>-  * Integer#round, Integer#floor, Integer#ceil and Integer#truncate always</div><div class='del'>-    return an Integer. [Bug #13420]</div><div class='del'>-  * Integer#pow accepts modulo argument for calculating modular</div><div class='del'>-    exponentiation.  [Feature #12508] [Feature #11003]</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Integer#allbits?, Integer#anybits?, Integer#nobits? [Feature #12753]</div><div class='del'>-    * Integer.sqrt  [Feature #13219]</div><div class='del'>-</div><div class='del'>-* Kernel</div><div class='del'>-</div><div class='del'>-  * Kernel#yield_self   [Feature #6721]</div><div class='del'>-  * Kernel#pp  [Feature #14123]</div><div class='del'>-  * Kernel#warn(..., uplevel:n)  [Feature #12882]</div><div class='del'>-</div><div class='del'>-* Method</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Method#=== that invokes Method#call, as same as Proc#=== [Feature #14142]</div><div class='del'>-</div><div class='del'>-* Module</div><div class='del'>-</div><div class='del'>-  * Module#attr, Module#attr_accessor, Module#attr_reader and Module#attr_writer</div><div class='del'>-    become public. [Feature #14132]</div><div class='del'>-  * Module#define_method, Module#alias_method, Module#undef_method and</div><div class='del'>-    Module#remove_method become public. [Feature #14133]</div><div class='del'>-</div><div class='del'>-* Numeric</div><div class='del'>-</div><div class='del'>-  * Numeric#step no longer hides errors from coerce method when</div><div class='del'>-    given a step value which cannot be compared with #&gt; to 0. [Feature #7688]</div><div class='del'>-  * Numerical comparison operators (&lt;,&lt;=,&gt;=,&gt;) no longer hide exceptions</div><div class='del'>-    from #coerce method internally. Return nil in #coerce if the coercion is</div><div class='del'>-    impossible.  [Feature #7688]</div><div class='del'>-</div><div class='del'>-* Process</div><div class='del'>-</div><div class='del'>-  * Precision of Process.times is improved if getrusage(2) exists. [Feature #11952]</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * Process.last_status as an alias of $? [Feature #14043]</div><div class='del'>-</div><div class='del'>-* Range</div><div class='del'>-  * Range#initialize no longer hides exceptions when comparing begin and</div><div class='del'>-    end with #&lt;=&gt; and raise a "bad value for range" ArgumentError</div><div class='del'>-    but instead lets the exception from the #&lt;=&gt; call go through. [Feature #7688]</div><div class='del'>-</div><div class='del'>-* Regexp</div><div class='del'>-</div><div class='del'>-  * Update to Onigmo 6.1.3-669ac9997619954c298da971fcfacccf36909d05.</div><div class='del'>-</div><div class='del'>-    * Support absence operator https://github.com/k-takata/Onigmo/issues/82</div><div class='del'>-</div><div class='del'>-  * Support new 5 emoji-related Unicode character properties</div><div class='del'>-</div><div class='del'>-* RubyVM::InstructionSequence</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * RubyVM::InstructionSequence#each_child</div><div class='del'>-    * RubyVM::InstructionSequence#trace_points</div><div class='del'>-</div><div class='del'>-* String</div><div class='del'>-</div><div class='del'>-  * &lt;code&gt;String#-@&lt;/code&gt; deduplicates unfrozen strings.  Already-frozen</div><div class='del'>-    strings remain unchanged for compatibility.  [Feature #13077]</div><div class='del'>-  * &lt;code&gt;-"literal"&lt;/code&gt; (&lt;code&gt;String#-@&lt;/code&gt;) optimized to return the same object</div><div class='del'>-    (same as &lt;code&gt;"literal".freeze&lt;/code&gt; in Ruby 2.1+) [Feature #13295]</div><div class='del'>-  * String#casecmp and String#casecmp? return nil for non-string arguments</div><div class='del'>-    instead of raising a TypeError. [Bug #13312]</div><div class='del'>-  * String#start_with? accepts a regexp [Feature #13712]</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * String#delete_prefix, String#delete_prefix! [Feature #12694]</div><div class='del'>-    * String#delete_suffix, String#delete_suffix! [Feature #13665]</div><div class='del'>-    * String#each_grapheme_cluster and String#grapheme_clusters to</div><div class='del'>-      enumerate grapheme clusters [Feature #13780]</div><div class='del'>-    * String#undump to unescape String#dump'ed string [Feature #12275]</div><div class='del'>-</div><div class='del'>-* Struct</div><div class='del'>-</div><div class='del'>-  * Struct.new takes `keyword_init: true` option to initialize members</div><div class='del'>-    with keyword arguments. [Feature #11925]</div><div class='del'>-</div><div class='del'>-* Regexp/String: Update Unicode version from 9.0.0 to 10.0.0 [Feature #13685]</div><div class='del'>-</div><div class='del'>-* Thread</div><div class='del'>-</div><div class='del'>-  * Description set by Thread#name= is now visible on Windows 10.</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-    * Thread#fetch  [Feature #13009]</div><div class='del'>-</div><div class='del'>-  * The default of Thread.report_on_exception is now true,</div><div class='del'>-    showing unhandled exceptions terminating threads on $stderr. [Feature #14143]</div><div class='del'>-</div><div class='del'>-* Time</div><div class='del'>-</div><div class='del'>-  * Time.at receives 3rd argument which specifies the unit of 2nd argument. [Feature #13919]</div><div class='del'>-</div><div class='del'>-* KeyError</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * KeyError#receiver [Feature #12063]</div><div class='del'>-    * KeyError#key      [Feature #12063]</div><div class='del'>-</div><div class='del'>-* FrozenError</div><div class='del'>-</div><div class='del'>-  * New exception class. [Feature #13224]</div><div class='del'>-</div><div class='del'>-=== Stdlib updates (outstanding ones only)</div><div class='del'>-</div><div class='del'>-* BigDecimal</div><div class='del'>-</div><div class='del'>-  * Update to BigDecimal 1.3.4</div><div class='del'>-</div><div class='del'>-  * The following features are added:</div><div class='del'>-</div><div class='del'>-    * BigDecimal::VERSION</div><div class='del'>-</div><div class='del'>-  * The following features have been deprecated,</div><div class='del'>-    and are planned to be removed in the version 1.4.0:</div><div class='del'>-</div><div class='del'>-    * BigDecimal.new</div><div class='del'>-</div><div class='del'>-    * BigDecimal.ver</div><div class='del'>-</div><div class='del'>-  * BigDecimal#clone and #dup now do not make a new instance,</div><div class='del'>-    but returns the receiver itself.</div><div class='del'>-</div><div class='del'>-* Coverage</div><div class='del'>-</div><div class='del'>-  * Support branch coverage and method coverage measurement. [Feature #13901]</div><div class='del'>-    Branch coverage tells you which branches are executed, and which not.</div><div class='del'>-    Method coverage tells you which methods are invoked, and which not.</div><div class='del'>-    By running a test suite with this new feature, you can know which branches</div><div class='del'>-    and methods are executed by a test, and evaluate total coverage of a test</div><div class='del'>-    suite more strictly.</div><div class='del'>-</div><div class='del'>-    You can specify the measuring target by an option to `Coverage.start`:</div><div class='del'>-</div><div class='del'>-        Coverage.start(lines: true, branches: true, methods: true)</div><div class='del'>-</div><div class='del'>-    After some Ruby files are loaded, you can use `Coverage.result` to get</div><div class='del'>-    the coverage result:</div><div class='del'>-</div><div class='del'>-        Coverage.result</div><div class='del'>-        #=&gt; { "/path/to/file.rb"=&gt;</div><div class='del'>-        #     { :lines =&gt; [1, 2, 0, nil, ...],</div><div class='del'>-        #       :branches =&gt;</div><div class='del'>-        #         { [:if, 0, 2, 1, 6, 4] =&gt;</div><div class='del'>-        #             { [:then, 1, 3, 2, 3, 8] =&gt; 0,</div><div class='del'>-        #               [:else, 2, 5, 2, 5, 8] =&gt; 2</div><div class='del'>-        #             }</div><div class='del'>-        #         },</div><div class='del'>-        #       :methods =&gt; {</div><div class='del'>-        #          [Object, :foo, 1, 0, 7, 3] =&gt; 2</div><div class='del'>-        #       }</div><div class='del'>-        #     }</div><div class='del'>-        #   }</div><div class='del'>-</div><div class='del'>-    The result type of line coverage is not changed; it is just an array that</div><div class='del'>-    contains numbers, which means the count that each line was executed,</div><div class='del'>-    or `nil`s, which means that the line is not relevant.</div><div class='del'>-</div><div class='del'>-    The result type of branch coverage is:</div><div class='del'>-</div><div class='del'>-        { (jump base) =&gt; { (jump target) =&gt; (counter) } }</div><div class='del'>-</div><div class='del'>-    where jump base and targets have the format</div><div class='del'>-</div><div class='del'>-        [type, unique-id, start lineno, start column, end lineno, end column]</div><div class='del'>-</div><div class='del'>-    For example, `[:if, 0, 2, 1, 6, 4]` reads an `if` statement that ranges from</div><div class='del'>-    line 2 and column 1, to line 6 and column 4.  `[:then, 1, 3, 2, 3, 8]` reads</div><div class='del'>-    a `then` clause that ranges from line 3 and column 2, to line 3 and column 8.</div><div class='del'>-    Note that lineno starts from 1, and that columnno starts from 0.  So, the</div><div class='del'>-    above example shows a branch from the `if` to the `then` was never executed,</div><div class='del'>-    and a branch from the `if` to the `else` was executed twice.</div><div class='del'>-</div><div class='del'>-    The result type of method coverage is:</div><div class='del'>-</div><div class='del'>-        { (method key) =&gt; (counter) }</div><div class='del'>-</div><div class='del'>-    where method key has the format</div><div class='del'>-</div><div class='del'>-        [class, method-name, start lineno, start column, end lineno, end column]</div><div class='del'>-</div><div class='del'>-    For example, `[Object, :foo, 1, 0, 7, 3]` reads `Object#foo` that ranges from</div><div class='del'>-    line 1 and column 0, to line 7 and column 3.  The above example shows this</div><div class='del'>-    `Object#foo` was invoked twice.</div><div class='del'>-</div><div class='del'>-    Note: To keep compatibility, passing no option to `Coverage.start` will measure</div><div class='del'>-    only line coverage, and `Coverage.result` will return the old format:</div><div class='del'>-</div><div class='del'>-        Coverage.result</div><div class='del'>-        #=&gt; { "/path/to/file.rb"=&gt; [1, 2, 0, nil, ...] }</div><div class='del'>-</div><div class='del'>-* DRb</div><div class='del'>-</div><div class='del'>-  * ACL::ACLEntry.new no longer suppresses IPAddr::InvalidPrefixError.</div><div class='del'>-</div><div class='del'>-* ERB</div><div class='del'>-</div><div class='del'>-  * Add ERB#result_with_hash to render a template with local variables passed</div><div class='del'>-    with a Hash object. [Feature #8631]</div><div class='del'>-</div><div class='del'>-  * Default template file encoding is changed from ASCII-8BIT to UTF-8 in erb</div><div class='del'>-    command. [Bug #14095]</div><div class='del'>-</div><div class='del'>-  * Carriage returns are changed to be trimmed properly if trim_mode is specified</div><div class='del'>-    and used. Duplicated newlines will be removed on Windows. [Bug #5339] [Bug #11464]</div><div class='del'>-</div><div class='del'>-* IPAddr</div><div class='del'>-</div><div class='del'>-  * IPAddr no longer accepts invalid address mask. [Bug #13399]</div><div class='del'>-  * IPAddr#ipv4_compat and IPAddr#ipv4_compat? are marked for deprecation. [Bug #13769]</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * IPAddr#prefix</div><div class='del'>-    * IPAddr#loopback?</div><div class='del'>-    * IPAddr#private? [Feature #11666]</div><div class='del'>-    * IPAddr#link_local? [Feature #10912]</div><div class='del'>-</div><div class='del'>-* IRB</div><div class='del'>-</div><div class='del'>-  * Print backtrace and error message in reverse order [Feature #8661] [experimental]</div><div class='del'>-  * `binding.irb` automatically requires irb and runs [Bug #13099] [experimental]</div><div class='del'>-  * `binding.irb` on its start shows source around the line where it was called [Feature #14124]</div><div class='del'>-</div><div class='del'>-* Matrix</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Matrix.combine and Matrix#combine [Feature #10903]</div><div class='del'>-    * Matrix#hadamard_product and Matrix#entrywise_product</div><div class='del'>-</div><div class='del'>-* Net::HTTP</div><div class='del'>-</div><div class='del'>-  * Net::HTTP.new supports no_proxy parameter [Feature #11195]</div><div class='del'>-  * Net::HTTP#min_version and Net::HTTP#max_version [Feature #9450]</div><div class='del'>-  * Add more HTTP status classes</div><div class='del'>-  * Net::HTTP::STATUS_CODES is added as HTTP Status Code Repository [Misc #12935]</div><div class='del'>-  * Net::HTTP#proxy_user and Net::HTTP#proxy_pass reflect http_proxy environment</div><div class='del'>-    variable if the system's environment variable is multiuser safe. [Bug #12921]</div><div class='del'>-</div><div class='del'>-* open-uri</div><div class='del'>-  * URI.open method defined as an alias to open-uri's Kernel.open.</div><div class='del'>-    open-uri's Kernel.open will be deprecated in future.</div><div class='del'>-</div><div class='del'>-* OpenSSL</div><div class='del'>-</div><div class='del'>-  * Updated Ruby/OpenSSL from version 2.0 to 2.1. Changes are noted in</div><div class='del'>-    "Version 2.1.0" section in ext/openssl/History.md.</div><div class='del'>-</div><div class='del'>-* Pathname</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * Pathname#glob [Feature #7360]</div><div class='del'>-</div><div class='del'>-* Psych</div><div class='del'>-</div><div class='del'>-  * Update to Psych 3.0.2.</div><div class='del'>-</div><div class='del'>-    * Convert fallback option to a keyword argument</div><div class='del'>-      https://github.com/ruby/psych/pull/342</div><div class='del'>-    * Add :symbolize_names option to Psych.load, Psych.safe_load like JSON.parse</div><div class='del'>-      https://github.com/ruby/psych/pull/333, https://github.com/ruby/psych/pull/337</div><div class='del'>-    * Add Psych::Handler#event_location</div><div class='del'>-      https://github.com/ruby/psych/pull/326</div><div class='del'>-    * Make frozen string literal = true</div><div class='del'>-      https://github.com/ruby/psych/pull/320</div><div class='del'>-    * Preserve time zone offset when deserializing times</div><div class='del'>-      https://github.com/ruby/psych/pull/316</div><div class='del'>-    * Remove deprecated method aliases for syck gem</div><div class='del'>-      https://github.com/ruby/psych/pull/312</div><div class='del'>-</div><div class='del'>-* RbConfig</div><div class='del'>-</div><div class='del'>-  * RbConfig::LIMITS is added to provide the limits of C types.</div><div class='del'>-    This is available when rbconfig/sizeof is loaded.</div><div class='del'>-</div><div class='del'>-* Ripper</div><div class='del'>-</div><div class='del'>-  * Ripper::EXPR_BEG and so on for Ripper#state.</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * Ripper#state to tell the state of scanner. [Feature #13686]</div><div class='del'>-</div><div class='del'>-* RDoc</div><div class='del'>-</div><div class='del'>-  * Update to RDoc 6.0.1.</div><div class='del'>-</div><div class='del'>-    * Replace IRB based lexer with Ripper.</div><div class='del'>-      * https://github.com/ruby/rdoc/pull/512</div><div class='del'>-      * This much improves the speed of generating documents.</div><div class='del'>-      * It also facilitates supporting new syntax in the future.</div><div class='del'>-    * Support many new syntaxes of Ruby from the past few years.</div><div class='del'>-    * Use "frozen_string_literal: true".</div><div class='del'>-      Performance survey: https://gist.github.com/aycabta/abdfaa75ea8a6877eeb734e942e73800</div><div class='del'>-    * Support did_you_mean.</div><div class='del'>-</div><div class='del'>-* Rubygems</div><div class='del'>-</div><div class='del'>-  * Update to Rubygems 2.7.3.</div><div class='del'>-    * http://blog.rubygems.org/2017/11/28/2.7.3-released.html</div><div class='del'>-    * http://blog.rubygems.org/2017/11/08/2.7.2-released.html</div><div class='del'>-    * http://blog.rubygems.org/2017/11/03/2.7.1-released.html</div><div class='del'>-    * http://blog.rubygems.org/2017/11/01/2.7.0-released.html</div><div class='del'>-    * http://blog.rubygems.org/2017/10/09/2.6.14-released.html</div><div class='del'>-    * http://blog.rubygems.org/2017/08/27/2.6.13-released.html</div><div class='del'>-</div><div class='del'>-* SecureRandom</div><div class='del'>-</div><div class='del'>-  * New method:</div><div class='del'>-</div><div class='del'>-    * SecureRandom.alphanumeric</div><div class='del'>-</div><div class='del'>-* Set</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * Set#to_s as alias to #inspect [Feature #13676]</div><div class='del'>-    * Set#=== as alias to #include? [Feature #13801]</div><div class='del'>-    * Set#reset [Feature #6589]</div><div class='del'>-</div><div class='del'>-* StringIO</div><div class='del'>-</div><div class='del'>-  * StringIO#write accepts multiple arguments</div><div class='del'>-</div><div class='del'>-* StringScanner</div><div class='del'>-</div><div class='del'>-  * New methods:</div><div class='del'>-</div><div class='del'>-    * StringScanner#size, StringScanner#captures, StringScanner#values_at  [Feature #836]</div><div class='del'>-</div><div class='del'>-* URI</div><div class='del'>-</div><div class='del'>-  * Relative path operations no longer collapse consecutive slashes to a single slash. [Bug #8352]</div><div class='del'>-</div><div class='del'>-* WEBrick</div><div class='del'>-</div><div class='del'>-  * Add Server Name Indication (SNI) support [Feature #13729]</div><div class='del'>-  * support Proc objects as body responses [Feature #855]</div><div class='del'>-  * released as a RubyGem [Feature #13173]</div><div class='del'>-  * avoid unintended behavior from Kernel#open [Misc #14216]</div><div class='del'>-</div><div class='del'>-* Zlib</div><div class='del'>-</div><div class='del'>-  * Zlib::GzipWriter#write accepts multiple arguments</div><div class='del'>-</div><div class='del'>-=== Compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Socket</div><div class='del'>-</div><div class='del'>-  * BasicSocket#read_nonblock and BasicSocket#write_nonblock no</div><div class='del'>-    longer set the O_NONBLOCK file description flag as side effect</div><div class='del'>-    (on Linux only) [Feature #13362]</div><div class='del'>-</div><div class='del'>-* Random</div><div class='del'>-</div><div class='del'>-  * Random.raw_seed renamed to become Random.urandom.  It is now</div><div class='del'>-    applicable to non-seeding purposes due to [Bug #9569].</div><div class='del'>-</div><div class='del'>-* Socket</div><div class='del'>-</div><div class='del'>-  * Socket::Ifaddr#vhid is added [Feature #13803]</div><div class='del'>-</div><div class='del'>-* ConditionVariable, Queue and SizedQueue reimplemented for speed.</div><div class='del'>-  They no longer subclass Struct. [Feature #13552]</div><div class='del'>-</div><div class='del'>-=== Stdlib compatibility issues (excluding feature bug fixes)</div><div class='del'>-</div><div class='del'>-* Gemification</div><div class='del'>-</div><div class='del'>-  * Promote following standard libraries to default gems.</div><div class='del'>-    * cmath</div><div class='del'>-    * csv</div><div class='del'>-    * date</div><div class='del'>-    * dbm</div><div class='del'>-    * etc</div><div class='del'>-    * fcntl</div><div class='del'>-    * fiddle</div><div class='del'>-    * fileutils</div><div class='del'>-    * gdbm</div><div class='del'>-    * ipaddr</div><div class='del'>-    * scanf</div><div class='del'>-    * sdbm</div><div class='del'>-    * stringio</div><div class='del'>-    * strscan</div><div class='del'>-    * webrick</div><div class='del'>-    * zlib</div><div class='del'>-</div><div class='del'>-* Logger</div><div class='del'>-</div><div class='del'>-  * Logger.new("| command") had been working to open a command</div><div class='del'>-    unintentionally. It was prohibited, and now Logger#initialize</div><div class='del'>-    treats a String argument only as a filename, as its specification. [Bug #14212]</div><div class='del'>-</div><div class='del'>-* Net::HTTP</div><div class='del'>-</div><div class='del'>-  * Net::HTTP#start now passes :ENV to p_addr by default. [Bug #13351]</div><div class='del'>-    To avoid this, pass nil explicitly.</div><div class='del'>-</div><div class='del'>-* mathn.rb</div><div class='del'>-</div><div class='del'>-  * Removed from stdlib. [Feature #10169]</div><div class='del'>-</div><div class='del'>-* Rubygems</div><div class='del'>-</div><div class='del'>-  * Removed "ubygems.rb" file from stdlib. It's needless since Ruby 1.9.</div><div class='del'>-</div><div class='del'>-=== C API updates</div><div class='del'>-</div><div class='del'>-=== Supported platform changes</div><div class='del'>-</div><div class='del'>-* Drop support of NaCl platform</div><div class='del'>-</div><div class='del'>-  * https://bugs.chromium.org/p/chromium/issues/detail?id=239656#c160</div><div class='del'>-</div><div class='del'>-=== Implementation improvements</div><div class='del'>-</div><div class='del'>-* (This might not be a "user visible feature change" but) Hash class's</div><div class='del'>-  hash function is now SipHash13. [Feature #13017]</div><div class='del'>-</div><div class='del'>-* SecureRandom now prefers OS-provided sources than OpenSSL. [Bug #9569]</div><div class='del'>-</div><div class='del'>-* Mutex rewritten to be smaller and faster [Feature #13517]</div><div class='del'>-</div><div class='del'>-* Performance of block passing using block parameters is improved by</div><div class='del'>-  lazy Proc allocation [Feature #14045]</div><div class='del'>-</div><div class='del'>-* Dynamic instrumentation for TracePoint hooks instead of using "trace"</div><div class='del'>-  instruction to avoid overhead [Feature #14104]</div><div class='del'>-</div><div class='del'>-* ERB now generates code from a template twice as fast as Ruby 2.4</div><div class='del'>-</div><div class='del'>-=== Miscellaneous changes</div><div class='del'>-</div><div class='del'>-* Print backtrace and error message in reverse order if $stderr is unchanged</div><div class='del'>-  and a tty. [Feature #8661] [experimental]</div><div class='del'>-</div><div class='del'>-* Print error message in bold/underlined text if $stderr is unchanged and a</div><div class='del'>-  tty. [Feature #14140] [experimental]</div><div class='del'>-</div><div class='del'>-* configure option --with-ext now mandates its arguments.  So for</div><div class='del'>-  instance if you run ./configure --with-ext=openssl,+ then the</div><div class='del'>-  openssl library is guaranteed compiled, otherwise the build fails</div><div class='del'>-  abnormally.</div><div class='del'>-</div><div class='del'>-  Note however to always add the ",+" at the end of the argument.</div><div class='del'>-  Otherwise nothing but openssl are built.  [Feature #13302]</div><div class='head'>diff --git a/doc/contributing.rdoc b/doc/contributing.rdoc<br/>deleted file mode 100644<br/>index b92dc7427e..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/contributing.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/contributing.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,459 +0,0 @@</div><div class='del'>-= Contributing to Ruby</div><div class='del'>-</div><div class='del'>-Ruby has a vast and friendly community with hundreds of people contributing to</div><div class='del'>-a thriving open-source ecosystem. This guide is designed to cover ways for</div><div class='del'>-participating in the development of CRuby.</div><div class='del'>-</div><div class='del'>-There are plenty of ways for you to help even if you're not ready to write</div><div class='del'>-code or documentation.  You can help by reporting issues, testing patches, and</div><div class='del'>-trying out beta releases with your applications.</div><div class='del'>-</div><div class='del'>-== How To Report</div><div class='del'>-</div><div class='del'>-If you've encountered a bug in Ruby please report it to the redmine issue</div><div class='del'>-tracker available at {bugs.ruby-lang.org}[https://bugs.ruby-lang.org/].  Do not</div><div class='del'>-report security vulnerabilities here, there is a {separate</div><div class='del'>-channel}[rdoc-label:label-Reporting+Security+Issues] for them.</div><div class='del'>-</div><div class='del'>-There are a few simple steps you should follow in order to receive feedback</div><div class='del'>-on your ticket.</div><div class='del'>-</div><div class='del'>-* If you haven't already,</div><div class='del'>-  {sign up for an account}[https://bugs.ruby-lang.org/account/register] on the</div><div class='del'>-  bug tracker.</div><div class='del'>-* Try the latest version.</div><div class='del'>-</div><div class='del'>-  If you aren't already using the latest version, try installing a newer</div><div class='del'>-  stable release. See</div><div class='del'>-  {Downloading Ruby}[https://www.ruby-lang.org/en/downloads/].</div><div class='del'>-* Look to see if anyone already reported your issue, try</div><div class='del'>-  {searching on redmine}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues]</div><div class='del'>-  for your problem.</div><div class='del'>-* If you can't find a ticket addressing your issue,</div><div class='del'>-  {create a new one}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues/new].</div><div class='del'>-* Choose the target version, usually current. Bugs will be first fixed in the</div><div class='del'>-  current release and then {backported}[rdoc-label:label-Backport+Requests].</div><div class='del'>-* Fill in the Ruby version you're using when experiencing this issue</div><div class='del'>-  (&lt;code&gt;ruby -v&lt;/code&gt;).</div><div class='del'>-* Attach any logs or reproducible programs to provide additional information.</div><div class='del'>-  Reproducible scripts should be as small as possible.</div><div class='del'>-* Briefly describe your problem.  A 2-3 sentence description will help give a</div><div class='del'>-  quick response.</div><div class='del'>-* Pick a category, such as core for common problems, or lib for a standard</div><div class='del'>-  library.</div><div class='del'>-* Check the {Maintainers</div><div class='del'>-  list}[https://bugs.ruby-lang.org/projects/ruby/wiki/Maintainers] and assign</div><div class='del'>-  the ticket if there is an active maintainer for the library or feature.</div><div class='del'>-* If the ticket doesn't have any replies after 10 days, you can send a</div><div class='del'>-  reminder.</div><div class='del'>-* Please reply to feedback requests. If a bug report doesn't get any feedback,</div><div class='del'>-  it'll eventually get rejected.</div><div class='del'>-</div><div class='del'>-=== Reporting to downstream distributions</div><div class='del'>-</div><div class='del'>-You can report downstream issues for the following distributions via their bug tracker:</div><div class='del'>-</div><div class='del'>-* {debian}[https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=ruby-defaults]</div><div class='del'>-* {freebsd}[http://www.freebsd.org/cgi/query-pr-summary.cgi?text=ruby]</div><div class='del'>-* {redhat}[https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED]</div><div class='del'>-* {macports}[https://trac.macports.org/query?status=assigned&amp;status=new&amp;status=reopened&amp;port=~ruby]</div><div class='del'>-* etc (add your distribution bug tracker here)</div><div class='del'>-</div><div class='del'>-=== Platform Maintainers</div><div class='del'>-</div><div class='del'>-For platform specific bugs in Ruby, you can assign your ticket to the current</div><div class='del'>-maintainer for a specific platform.</div><div class='del'>-</div><div class='del'>-The current active platform maintainers are as follows:</div><div class='del'>-</div><div class='del'>-[mswin64 (Microsoft Windows)]</div><div class='del'>-  NAKAMURA Usaku (usa)</div><div class='del'>-[mingw32 (Minimalist GNU for Windows)]</div><div class='del'>-  Nobuyoshi Nakada (nobu)</div><div class='del'>-[AIX]</div><div class='del'>-  Yutaka Kanemoto (kanemoto)</div><div class='del'>-[FreeBSD]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[Solaris]</div><div class='del'>-  Naohisa Goto (ngoto)</div><div class='del'>-[RHEL, CentOS]</div><div class='del'>-  KOSAKI Motohiro (kosaki)</div><div class='del'>-[macOS]</div><div class='del'>-  Kenta Murata (mrkn)</div><div class='del'>-[cygwin, bcc32, djgpp, wince, ...]</div><div class='del'>-  none. (Maintainer WANTED)</div><div class='del'>-</div><div class='del'>-== Reporting Security Issues</div><div class='del'>-</div><div class='del'>-Security vulnerabilities receive special treatment since they may negatively</div><div class='del'>-affect many users. There is a private mailing list that all security issues</div><div class='del'>-should be reported to and will be handled discretely. Email the</div><div class='del'>-mailto:security@ruby-lang.org list and the problem will be published after</div><div class='del'>-fixes have been released. You can also encrypt the issue using {the PGP public</div><div class='del'>-key}[https://www.ruby-lang.org/security.asc] for the list.</div><div class='del'>-</div><div class='del'>-== Reporting Other Issues</div><div class='del'>-</div><div class='del'>-If you're having an issue with the website, or maybe the mailing list, you can</div><div class='del'>-contact the webmaster to help resolve the problem.</div><div class='del'>-</div><div class='del'>-The current webmaster is:</div><div class='del'>-</div><div class='del'>-* Hiroshi SHIBATA (hsbt)</div><div class='del'>-</div><div class='del'>-You can also report issues with the ruby-lang.org website on the issue tracker:</div><div class='del'>-</div><div class='del'>-* {issue tracker}[https://github.com/ruby/www.ruby-lang.org/issues]</div><div class='del'>-</div><div class='del'>-== Resolve Existing Issues</div><div class='del'>-</div><div class='del'>-As a next step beyond reporting issues you can help the core team resolve</div><div class='del'>-existing issues. If you check the Everyone's Issues list in GitHub Issues,</div><div class='del'>-you will find a lot of issues already requiring attention. What can you do for</div><div class='del'>-these? Quite a bit, actually:</div><div class='del'>-</div><div class='del'>-When a bug report goes for a while without any feedback, it goes to the bug</div><div class='del'>-graveyard which is unfortunate. If you check the {issues</div><div class='del'>-list}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues] you will find lots</div><div class='del'>-of delinquent bugs that require attention.</div><div class='del'>-</div><div class='del'>-You can help by verifying the existing tickets, try to reproduce the reported</div><div class='del'>-issue on your own and comment if you still experience the bug. Some issues</div><div class='del'>-lack attention because of too much ambiguity, to help you can narrow down the</div><div class='del'>-problem and provide more specific details or instructions to reproduce the</div><div class='del'>-bug. You might also try contributing a failing test in the form of a patch,</div><div class='del'>-which we will cover later in this guide.</div><div class='del'>-</div><div class='del'>-It may also help to try out patches other contributors have submitted to</div><div class='del'>-redmine, if gone without notice. In this case the +patch+ command is your</div><div class='del'>-friend, see &lt;code&gt;man patch&lt;/code&gt; for more information. Basically this would</div><div class='del'>-go something like this:</div><div class='del'>-</div><div class='del'>-  cd path/to/ruby/trunk</div><div class='del'>-  patch -p0 &lt; path/to/patch</div><div class='del'>-</div><div class='del'>-You will then be prompted to apply the patch with the associated files. After</div><div class='del'>-building ruby again, you should try to run the tests and verify if the change</div><div class='del'>-actually worked or fixed the bug. It's important to provide valuable feedback</div><div class='del'>-on the patch that can help reach the overall goal, try to answer some of these</div><div class='del'>-questions:</div><div class='del'>-</div><div class='del'>-* What do you like about this change?</div><div class='del'>-* What would you do differently?</div><div class='del'>-* Are there any other edge cases not tested?</div><div class='del'>-* Is there any documentation that would be affected by this change?</div><div class='del'>-</div><div class='del'>-If you can answer some or all of these questions, you're on the right track.</div><div class='del'>-If your comment simply says "+1", then odds are that other reviewers aren't</div><div class='del'>-going to take it too seriously. Show that you took the time to review the</div><div class='del'>-patch.</div><div class='del'>-</div><div class='del'>-== How To Request Features</div><div class='del'>-</div><div class='del'>-If there's a new feature that you want to see added to Ruby, you will need to</div><div class='del'>-write a convincing proposal and patch to implement the feature.</div><div class='del'>-</div><div class='del'>-For new features in CRuby, use the {'Feature'</div><div class='del'>-tracker}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues?set_filter=1&amp;tracker_id=2]</div><div class='del'>-on ruby-trunk. For non-CRuby dependent features, features that would apply to</div><div class='del'>-alternate Ruby implementations such as JRuby and Rubinius, use the {CommonRuby</div><div class='del'>-tracker}[https://bugs.ruby-lang.org/projects/common-ruby].</div><div class='del'>-</div><div class='del'>-When writing a proposal be sure to check for previous discussions on the</div><div class='del'>-topic and have a solid use case. You will need to be persuasive and convince</div><div class='del'>-Matz on your new feature. You should also consider the potential compatibility</div><div class='del'>-issues that this new feature might raise.</div><div class='del'>-</div><div class='del'>-Consider making your feature into a gem, and if there are enough people who</div><div class='del'>-benefit from your feature it could help persuade ruby-core. Although feature</div><div class='del'>-requests can seem like an alluring way to contribute to Ruby, often these</div><div class='del'>-discussions can lead nowhere and exhaust time and energy that could be better</div><div class='del'>-spent fixing bugs. Choose your battles.</div><div class='del'>-</div><div class='del'>-A good template for a feature proposal should look something like this:</div><div class='del'>-</div><div class='del'>-[Abstract]</div><div class='del'>-  Summary of your feature</div><div class='del'>-[Background]</div><div class='del'>-  Describe current behavior and why it is problem. Related work, such as</div><div class='del'>-  solutions in other language helps us to understand the problem.</div><div class='del'>-[Proposal]</div><div class='del'>-  Describe your proposal in details</div><div class='del'>-[Details]</div><div class='del'>-  If it has complicated feature, describe it</div><div class='del'>-[Usecase]</div><div class='del'>-  How would your feature be used? Who will benefit from it?</div><div class='del'>-[Discussion]</div><div class='del'>-  Discuss about this proposal. A list of pros and cons will help start</div><div class='del'>-  discussion.</div><div class='del'>-[Limitation]</div><div class='del'>-  Limitation of your proposal</div><div class='del'>-[Another alternative proposal]</div><div class='del'>-  If there are alternative proposals, show them.</div><div class='del'>-[See also]</div><div class='del'>-  Links to the other related resources</div><div class='del'>-</div><div class='del'>-=== Slideshow</div><div class='del'>-</div><div class='del'>-At the Ruby Developer Meeting in Japan, committers discuss Feature Proposals together in Tokyo. We will judge proposals and then accept, reject, or give feedback for them.</div><div class='del'>-If you have a stalled proposal, making a slide to submit is good way to get feedback.</div><div class='del'>-</div><div class='del'>-Slides should be:</div><div class='del'>-</div><div class='del'>-* One-page slide</div><div class='del'>-* Include a corresponding ticket number</div><div class='del'>-* MUST include a figure and/or short example code</div><div class='del'>-* SHOULD have less sentence in natural language (try to write less than 140 characters)</div><div class='del'>-* It is RECOMMENDED to itemize: motivation/use case, proposal, pros/cons, corner case</div><div class='del'>-* PDF or Image (Web browsers can show it)</div><div class='del'>-</div><div class='del'>-Please note:</div><div class='del'>-</div><div class='del'>-* Even if the proposal is generally acceptable, it won't be accepted without writing corner cases in the ticket</div><div class='del'>-* Slide's example: DevelopersMeeting20130727Japan</div><div class='del'>-</div><div class='del'>-== Backport Requests</div><div class='del'>-</div><div class='del'>-When a new version of Ruby is released, it starts at patch level 0 (p0), and</div><div class='del'>-bugs will be fixed first on the trunk branch. If it's determined that a bug</div><div class='del'>-exists in a previous version of Ruby that is still in the bug fix stage of</div><div class='del'>-maintenance, then a patch will be backported. After the maintenance stage of a</div><div class='del'>-particular Ruby version ends, it goes into "security fix only" mode which</div><div class='del'>-means only security related vulnerabilities will be backported. Versions in</div><div class='del'>-End-of-life (EOL) will not receive any updates and it is recommended you</div><div class='del'>-upgrade as soon as possible.</div><div class='del'>-</div><div class='del'>-If a major security issue is found or after a certain amount of time since the</div><div class='del'>-last patch level release, a new patch-level release will be made.</div><div class='del'>-</div><div class='del'>-When submitting a backport request please confirm the bug has been fixed in</div><div class='del'>-newer versions and exists in maintenance mode versions. There is a backport</div><div class='del'>-tracker for each major version still in maintenance where you can request a</div><div class='del'>-particular revision merged in the affected version of Ruby.</div><div class='del'>-</div><div class='del'>-Each major version of Ruby has a release manager that should be assigned to</div><div class='del'>-handle backport requests. You can find the list of release managers on the</div><div class='del'>-{wiki}[https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering].</div><div class='del'>-</div><div class='del'>-=== Branches</div><div class='del'>-</div><div class='del'>-Status and maintainers of branches are listed on the</div><div class='del'>-{wiki}[https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering].</div><div class='del'>-</div><div class='del'>-== Running tests</div><div class='del'>-</div><div class='del'>-In order to help resolve existing issues and contributing patches to Ruby you</div><div class='del'>-need to be able to run the test suite.</div><div class='del'>-</div><div class='del'>-CRuby uses subversion for source control, you can find installation</div><div class='del'>-instructions and lots of great info to learn subversion on the</div><div class='del'>-{svnbook.red-bean.com}[http://svnbook.red-bean.com/]. For other resources see</div><div class='del'>-the {ruby-core documentation on</div><div class='del'>-ruby-lang.org}[https://www.ruby-lang.org/en/community/ruby-core/].</div><div class='del'>-</div><div class='del'>-This guide will use git for contributing.  The {git</div><div class='del'>-homepage}[https://git-scm.com/] has installation instructions with links to</div><div class='del'>-documentation for learning more about git. There is a mirror of the subversion</div><div class='del'>-repository on {github}[https://github.com/ruby/ruby].</div><div class='del'>-</div><div class='del'>-Install the prerequisite dependencies for building the CRuby interpreter to</div><div class='del'>-run tests.</div><div class='del'>-</div><div class='del'>-* C compiler</div><div class='del'>-* autoconf</div><div class='del'>-* bison</div><div class='del'>-* gperf</div><div class='del'>-* ruby - Ruby itself is prerequisite in order to build Ruby from source. It</div><div class='del'>-  can be 1.8.</div><div class='del'>-</div><div class='del'>-You should also have access to development headers for the following</div><div class='del'>-libraries, but these are not required:</div><div class='del'>-</div><div class='del'>-* Tcl/Tk</div><div class='del'>-* NDBM/QDBM</div><div class='del'>-* GDBM</div><div class='del'>-* OpenSSL</div><div class='del'>-* readline/editline(libedit)</div><div class='del'>-* zlib</div><div class='del'>-* libffi</div><div class='del'>-* libyaml</div><div class='del'>-* libexecinfo (FreeBSD)</div><div class='del'>-</div><div class='del'>-Now let's build CRuby:</div><div class='del'>-</div><div class='del'>-* Checkout the CRuby source code:</div><div class='del'>-</div><div class='del'>-    git clone https://github.com/ruby/ruby.git ruby-trunk</div><div class='del'>-</div><div class='del'>-* Generate the configuration files and build:</div><div class='del'>-</div><div class='del'>-    cd ruby-trunk</div><div class='del'>-    autoconf</div><div class='del'>-    mkdir build &amp;&amp; cd build # its good practice to build outside of source dir</div><div class='del'>-    mkdir ~/.rubies # we will install to .rubies/ruby-trunk in our home dir</div><div class='del'>-    ../configure --prefix="${HOME}/.rubies/ruby-trunk"</div><div class='del'>-    make up &amp;&amp; make install</div><div class='del'>-</div><div class='del'>-After adding Ruby to your PATH, you should be ready to run the test suite:</div><div class='del'>-</div><div class='del'>-    make test</div><div class='del'>-</div><div class='del'>-You can also use +test-all+ to run all of the tests with the RUNRUBY</div><div class='del'>-interpreter just built. Use TESTS or RUNRUBYOPT to pass parameters, such as:</div><div class='del'>-</div><div class='del'>-    make test-all TESTS=-v</div><div class='del'>-</div><div class='del'>-This is also how you can run a specific test from our build dir:</div><div class='del'>-</div><div class='del'>-    make test-all TESTS=drb/test_drb.rb</div><div class='del'>-</div><div class='del'>-You can run +test+ and +test-all+ at once by +check+ .</div><div class='del'>-</div><div class='del'>-    make check</div><div class='del'>-</div><div class='del'>-For older versions of Ruby you will need to run the build setup again after</div><div class='del'>-checking out the associated branch in git, for example if you wanted to</div><div class='del'>-checkout 1.9.3:</div><div class='del'>-</div><div class='del'>-    git clone https://github.com/ruby/ruby.git --branch ruby_1_9_3</div><div class='del'>-</div><div class='del'>-Once you checked out the source code, you can update the local copy by:</div><div class='del'>-</div><div class='del'>-    make up</div><div class='del'>-</div><div class='del'>-Or, update, build, install and check, by just:</div><div class='del'>-</div><div class='del'>-    make love</div><div class='del'>-</div><div class='del'>-== Contributing Documentation</div><div class='del'>-</div><div class='del'>-If you're interested in contributing documentation directly to CRuby there is</div><div class='del'>-some information available at</div><div class='del'>-{Contributing}[https://github.com/ruby/ruby#contributing].</div><div class='del'>-</div><div class='del'>-There is also the {Ruby Reference</div><div class='del'>-Manual}[https://github.com/rurema/doctree/wiki] in Japanese.</div><div class='del'>-</div><div class='del'>-== Contributing A Patch</div><div class='del'>-</div><div class='del'>-=== Deciding what to patch</div><div class='del'>-</div><div class='del'>-Before you submit a patch, there are a few things you should know:</div><div class='del'>-</div><div class='del'>-* Pay attention to the maintenance policy for stable and maintained versions of Ruby.</div><div class='del'>-* Released versions in security mode will not merge feature changes.</div><div class='del'>-* Search for previous discussions on ruby-core to verify the maintenance policy</div><div class='del'>-* Patches must be distributed under Ruby's license.</div><div class='del'>-* This license may change in the future, you must join the discussion if you don't agree to the change</div><div class='del'>-</div><div class='del'>-To improve the chance your patch will be accepted please follow these simple rules:</div><div class='del'>-</div><div class='del'>-* Bug fixes should be committed on trunk first</div><div class='del'>-* Format of the patch file must be a unified diff (ie: diff -pu, svn diff, or git diff)</div><div class='del'>-* Don't introduce cosmetic changes</div><div class='del'>-* Follow the original coding style of the code</div><div class='del'>-* Don't mix different changes in one commit</div><div class='del'>-</div><div class='del'>-First thing you should do is check out the code if you haven't already:</div><div class='del'>-</div><div class='del'>-  git clone https://github.com/ruby/ruby.git ruby-trunk</div><div class='del'>-</div><div class='del'>-Now create a dedicated branch:</div><div class='del'>-</div><div class='del'>-  cd ruby-trunk</div><div class='del'>-  git checkout -b my_new_branch</div><div class='del'>-</div><div class='del'>-The name of your branch doesn't really matter because it will only exist on</div><div class='del'>-your local computer and won't be part of the official Ruby repository. It will</div><div class='del'>-be used to create patches based on the differences between your branch and</div><div class='del'>-trunk, or edge Ruby.</div><div class='del'>-</div><div class='del'>-=== Coding style</div><div class='del'>-</div><div class='del'>-Here are some general rules to follow when writing Ruby and C code for CRuby:</div><div class='del'>-</div><div class='del'>-* Indent 4 spaces for C without tabs (old codes might use tabs for eight-space indentation,</div><div class='del'>-  but newer codes recommend to use spaces only)</div><div class='del'>-* Indent 2 space tabs for Ruby</div><div class='del'>-* Do not use TABs in ruby codes</div><div class='del'>-* ANSI C style for 1.9+ for function declarations</div><div class='del'>-* Follow C90 (not C99) Standard</div><div class='del'>-* PascalStyle for class/module names.</div><div class='del'>-* UNDERSCORE_SEPARATED_UPPER_CASE for other constants.</div><div class='del'>-* Capitalize words.</div><div class='del'>-* ABBRs should be all upper case.</div><div class='del'>-* Do as others do</div><div class='del'>-</div><div class='del'>-=== ChangeLog</div><div class='del'>-</div><div class='del'>-Although not required, if you wish to add a ChangeLog entry for your change</div><div class='del'>-please note:</div><div class='del'>-</div><div class='del'>-You can use the following template for the ChangeLog entry on your commit:</div><div class='del'>-</div><div class='del'>-  Thu Jan  1 00:00:00 2004  Your Name  &lt;yourmail@example.com&gt;</div><div class='del'>-</div><div class='del'>-  	* filename (function): short description of this commit.</div><div class='del'>-  	  This should include your intention of this change.</div><div class='del'>-  	  [bug:#number] [mailinglist:number]</div><div class='del'>-</div><div class='del'>-  	* filename2 (function2): additional description for this file/function.</div><div class='del'>-</div><div class='del'>-This follows {GNU Coding Standards for Change</div><div class='del'>-Logs}[http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs],</div><div class='del'>-some other requirements and tips:</div><div class='del'>-</div><div class='del'>-* Timestamps must be in JST (+09:00) in the style as above.</div><div class='del'>-* Two spaces between the timestamp and your name. Two spaces between</div><div class='del'>-  your name and your mail address.</div><div class='del'>-* One blank line between the timestamp and the description.</div><div class='del'>-* Indent the description with TAB. 2nd line should begin with TAB+2SP.</div><div class='del'>-* Write a entry (*) for each change.</div><div class='del'>-* Refer to redmine issue or discussion on the mailing list.</div><div class='del'>-* For GitHub issues, use [GH-#] (such as [Fixes GH-234]</div><div class='del'>-* One blank line between entries.</div><div class='del'>-* Do as other committers do.</div><div class='del'>-</div><div class='del'>-You can generate the ChangeLog entry by running &lt;code&gt;make change&lt;/code&gt;</div><div class='del'>-</div><div class='del'>-When you're ready to commit, copy your ChangeLog entry into the commit message,</div><div class='del'>-keeping the same formatting and select your files:</div><div class='del'>-</div><div class='del'>-    git commit ChangeLog path/to/files</div><div class='del'>-</div><div class='del'>-In the likely event that your branch becomes outdated, you will have to update</div><div class='del'>-your working branch:</div><div class='del'>-</div><div class='del'>-    git fetch origin</div><div class='del'>-    git rebase remotes/origin/master</div><div class='del'>-</div><div class='del'>-Now that you've got some code you want to contribute, let's get set up to</div><div class='del'>-generate a patch. Start by forking the github mirror, check the {github docs on</div><div class='del'>-forking}[https://help.github.com/articles/fork-a-repo] if you get stuck here.</div><div class='del'>-You will only need a github account if you intend to host your repository</div><div class='del'>-on github.</div><div class='del'>-</div><div class='del'>-Next copy the writable url for your fork and add it as a git remote, replace</div><div class='del'>-"my_username" with your github account name:</div><div class='del'>-</div><div class='del'>-    git remote add my_fork git@github.com:my_username/ruby.git</div><div class='del'>-    # Now we can push our branch to our fork</div><div class='del'>-    git push my_fork my_new_branch</div><div class='del'>-</div><div class='del'>-In order to generate a patch that you can upload to the bug tracker, we can use</div><div class='del'>-the github interface to review our changes just visit</div><div class='del'>-https://github.com/my_username/ruby/compare/trunk...my_new_branch</div><div class='del'>-</div><div class='del'>-Next, you can simply add '.patch' to the end of this URL and it will generate</div><div class='del'>-the patch for you, save the file to your computer and upload it to the bug</div><div class='del'>-tracker. Alternatively you can submit a pull request, but for the best chances</div><div class='del'>-to receive feedback add it is recommended you add it to redmine.</div><div class='del'>-</div><div class='del'>-Since git is a distributed system, you are welcome to host your git repository</div><div class='del'>-on any {publicly accessible hosting</div><div class='del'>-site}[https://git.wiki.kernel.org/index.php/GitHosting], including {hosting your</div><div class='del'>-own}[https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#public-repositories]</div><div class='del'>-You may use the {'git format-patch'}[https://git-scm.com/docs/git-format-patch]</div><div class='del'>-command to generate patch files to upload to redmine.  You may also use</div><div class='del'>-the {'git request-pull'}[https://git-scm.com/docs/git-request-pull] command for</div><div class='del'>-formatting pull request messages to redmine.</div><div class='head'>diff --git a/doc/contributors.rdoc b/doc/contributors.rdoc<br/>deleted file mode 100644<br/>index 7c3722032b..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/contributors.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/contributors.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,793 +0,0 @@</div><div class='del'>-= Contributors to Ruby</div><div class='del'>-</div><div class='del'>-The following list might be incomplete. Feel free to add your name if your</div><div class='del'>-patch was accepted into Ruby.</div><div class='del'>-</div><div class='del'>-== A</div><div class='del'>-</div><div class='del'>-Ayumu AIZAWA (ayumin)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-AKIYOSHI, Masamichi (akiyoshi)</div><div class='del'>-* committer</div><div class='del'>-* He had maintained the VMS support on 2003-2004.</div><div class='del'>-</div><div class='del'>-Muhammad Ali</div><div class='del'>-* wrote rdoc for Fiber</div><div class='del'>-</div><div class='del'>-Minero Aoki (aamine)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of:</div><div class='del'>-  * fileutils</div><div class='del'>-  * net/http, net/https</div><div class='del'>-  * net/pop</div><div class='del'>-  * net/smtp</div><div class='del'>-  * racc</div><div class='del'>-  * ripper</div><div class='del'>-  * strscan</div><div class='del'>-</div><div class='del'>-Wakou Aoyama (wakou)</div><div class='del'>-* committer</div><div class='del'>-* He was the maintainer of some standard libraries.</div><div class='del'>-</div><div class='del'>-Koji Arai</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-arton</div><div class='del'>-* He is the distributor of ActiveScriptRuby and experimental 1.9.0-x installers for win32.</div><div class='del'>-* Wrote patches for win32ole, gc.c, tmpdir.rb</div><div class='del'>-</div><div class='del'>-Sergey Avseyev</div><div class='del'>-* Added IO#pread and IO#pwrite.</div><div class='del'>-</div><div class='del'>-== B</div><div class='del'>-</div><div class='del'>-Daniel Berger</div><div class='del'>-* a patch for irb</div><div class='del'>-* documentation</div><div class='del'>-* He wrote forwardable.rb</div><div class='del'>-</div><div class='del'>-David Black (dblack)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of scanf</div><div class='del'>-</div><div class='del'>-Ken Bloom</div><div class='del'>-* a patch for REXML.</div><div class='del'>-</div><div class='del'>-Oliver M. Bolzer</div><div class='del'>-* a patch for soap</div><div class='del'>-</div><div class='del'>-Alexey Borzenkov</div><div class='del'>-* a patch for mkmf.rb</div><div class='del'>-</div><div class='del'>-Evan Brodie</div><div class='del'>-* a patch for documentation of Float#round</div><div class='del'>-</div><div class='del'>-Richard Brown</div><div class='del'>-* a patch for configure.in</div><div class='del'>-</div><div class='del'>-Dirkjan Bussink</div><div class='del'>-* a patch for date.rb</div><div class='del'>-</div><div class='del'>-Daniel Bovensiepen</div><div class='del'>-* documentation</div><div class='del'>-* a patch for irb</div><div class='del'>-</div><div class='del'>-== C</div><div class='del'>-</div><div class='del'>-Brian Candler</div><div class='del'>-* a patch for configure.in, net/telnet</div><div class='del'>-</div><div class='del'>-keith cascio</div><div class='del'>-* a patch for optparse.rb</div><div class='del'>-</div><div class='del'>-Frederick Cheung</div><div class='del'>-* a patch for test/ruby/test_symbol.rb</div><div class='del'>-</div><div class='del'>-Christoph</div><div class='del'>-* patches for set.rb</div><div class='del'>-</div><div class='del'>-Sean Chittenden</div><div class='del'>-* patches for net/http, cgi</div><div class='del'>-</div><div class='del'>-William D. Clinger</div><div class='del'>-* ruby_strtod is based on his paper.</div><div class='del'>-</div><div class='del'>-== D</div><div class='del'>-</div><div class='del'>-Ryan Davis (ryan)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of miniunit</div><div class='del'>-</div><div class='del'>-Guy Decoux (ts)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-Zach Dennis</div><div class='del'>-</div><div class='del'>-Martin Duerst (duerst)</div><div class='del'>-* committer</div><div class='del'>-* M17N</div><div class='del'>-</div><div class='del'>-Paul Duncan</div><div class='del'>-* patches for rdoc</div><div class='del'>-</div><div class='del'>-Alexander Dymo</div><div class='del'>-* a patch for lib/benchmark.rb</div><div class='del'>-</div><div class='del'>-== E</div><div class='del'>-</div><div class='del'>-Yusuke Endoh (mame)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of base64 library (1.9)</div><div class='del'>-* did much upon YARV compiler.</div><div class='del'>-</div><div class='del'>-erlercw</div><div class='del'>-* wrote Integer::gcd2</div><div class='del'>-</div><div class='del'>-== F</div><div class='del'>-</div><div class='del'>-Frank S.Fejes</div><div class='del'>-* a patch for net/pop</div><div class='del'>-</div><div class='del'>-Fundakowski Feldman</div><div class='del'>-* a patch for process.c</div><div class='del'>-</div><div class='del'>-Mauricio Fernandez</div><div class='del'>-* patches for parse.y</div><div class='del'>-</div><div class='del'>-David Flanagan (davidflanagan)</div><div class='del'>-* committer</div><div class='del'>-* M17N</div><div class='del'>-</div><div class='del'>-Takeyuki Fujioka (xibbar)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of cgi/*</div><div class='del'>-</div><div class='del'>-FUKUMOTO, Atsushi</div><div class='del'>-* a patch for tracer.rb</div><div class='del'>-</div><div class='del'>-Shota Fukumori (sorah)</div><div class='del'>-* committer</div><div class='del'>-* #4415 parallel unit/test</div><div class='del'>-</div><div class='del'>-Tadayoshi Funaba (tadf)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of</div><div class='del'>-  * date</div><div class='del'>-  * parsedate (1.8)</div><div class='del'>-* He ported rational.rb and complex.rb, which 1.8 contains, into rational.c and complex.c of 1.9.</div><div class='del'>-</div><div class='del'>-== G</div><div class='del'>-</div><div class='del'>-David M. Gay</div><div class='del'>-* ruby_strtod</div><div class='del'>-</div><div class='del'>-Florian Gilcher</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-GOTOU, Kentaro (gotoken)</div><div class='del'>-* committer</div><div class='del'>-* He wrote benchmark.rb</div><div class='del'>-* He is the maintainer of:</div><div class='del'>-  * benchmark.rb</div><div class='del'>-  * open3</div><div class='del'>-</div><div class='del'>-GOTOU, Yuuzou (gotoyuzo)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-James Edward Gray II (jeg2)</div><div class='del'>-* committer</div><div class='del'>-* He wrote the faster implementation of CSV and is the maintainer of csv.</div><div class='del'>-* Wrote documentation for rdoc</div><div class='del'>-</div><div class='del'>-== H</div><div class='del'>-</div><div class='del'>-Phil Hagelberg</div><div class='del'>-* patch for ruby-mode.el's documentation.</div><div class='del'>-</div><div class='del'>-Kirk Haines (wyhaines)</div><div class='del'>-* committer</div><div class='del'>-* the maintainer of ruby_1_8_6 branch</div><div class='del'>-</div><div class='del'>-Shinichiro Hamaji</div><div class='del'>-* fixed memory leaks (marshal.c, string.c)</div><div class='del'>-</div><div class='del'>-Shin-ichiro HARA</div><div class='del'>-* the developer and the sysop of ruby-{dev,list,core,talk} archive.</div><div class='del'>-* a patch for numeric.c</div><div class='del'>-</div><div class='del'>-Chris Heath (traumdeutung)</div><div class='del'>-* a patch for proc.c</div><div class='del'>-</div><div class='del'>-HIROKAWA Hisashi</div><div class='del'>-* fixed socket/socket.c</div><div class='del'>-</div><div class='del'>-Daniel Hob</div><div class='del'>-* He wrote:</div><div class='del'>-  * SMTP-TLS support for net/smtp.</div><div class='del'>-  * POP3S support</div><div class='del'>-</div><div class='del'>-Eric Hodel (drbrain)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of:</div><div class='del'>-  * rdoc</div><div class='del'>-  * ri</div><div class='del'>-  * rubygems</div><div class='del'>-</div><div class='del'>-Erik Hollensbe</div><div class='del'>-* a patch for delegate.rb</div><div class='del'>-</div><div class='del'>-Johan Holmberg</div><div class='del'>-* a patch for dir.c</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Erik Huelsmann</div><div class='del'>-</div><div class='del'>-Dae San Hwang</div><div class='del'>-* built a continuous integration environment on OpenSolaris.</div><div class='del'>-</div><div class='del'>-== I</div><div class='del'>-</div><div class='del'>-Nobuhiro IMAI</div><div class='del'>-* a patch for logger.rb</div><div class='del'>-</div><div class='del'>-"incorporate"</div><div class='del'>-* a patch for sprintf.c</div><div class='del'>-</div><div class='del'>-Keiju Ishitsuka (keiju)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of:</div><div class='del'>-  * cmath.rb (1.9)</div><div class='del'>-  * complex.rb (1.8)</div><div class='del'>-  * e2mmap.rb</div><div class='del'>-  * forwardable.rb</div><div class='del'>-  * irb</div><div class='del'>-  * mathn</div><div class='del'>-  * matrix.rb</div><div class='del'>-  * mutex_m.rb</div><div class='del'>-  * rational.rb (1.8)</div><div class='del'>-  * sync.rb</div><div class='del'>-  * shell/*</div><div class='del'>-  * thwait.rb</div><div class='del'>-  * tracer.rb</div><div class='del'>-</div><div class='del'>-== J</div><div class='del'>-</div><div class='del'>-Curtis Jackson</div><div class='del'>-* missing/dup2.c</div><div class='del'>-</div><div class='del'>-Alan Johnson</div><div class='del'>-* a patch for net/ftp</div><div class='del'>-</div><div class='del'>-Lyle Johnson</div><div class='del'>-* patches for nkf, bigdecimal, numeric.c</div><div class='del'>-</div><div class='del'>-== K</div><div class='del'>-</div><div class='del'>-Yoshihiro Kambayashi</div><div class='del'>-* a patch for enc/trans/single_byte.trans.</div><div class='del'>-* He wrote supports for some encodings.</div><div class='del'>-</div><div class='del'>-Yutaka Kanemoto</div><div class='del'>-* patches for common.mk, AIX AF_INET6 support</div><div class='del'>-</div><div class='del'>-Motoyuki Kasahara</div><div class='del'>-* He wrote getoptlong.rb</div><div class='del'>-</div><div class='del'>-Masahiro Kawato</div><div class='del'>-* a patch for shellwords.rb</div><div class='del'>-</div><div class='del'>-Wataru Kimura</div><div class='del'>-* a patch for configure.in</div><div class='del'>-</div><div class='del'>-Michael Klishin</div><div class='del'>-* patch for make help.</div><div class='del'>-</div><div class='del'>-Noritada Kobayashi</div><div class='del'>-* a patch for optparse.rb</div><div class='del'>-</div><div class='del'>-Shigeo Kobayashi (shigek)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of bigdecimal</div><div class='del'>-</div><div class='del'>-KONISHI, Hiromasa (H_Konishi)</div><div class='del'>-* committer</div><div class='del'>-* He had maintained the bcc32 support in 2004.</div><div class='del'>-</div><div class='del'>-Kornelius "murphy" Kalnbach</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-K.Kosako (kosako)</div><div class='del'>-* committer</div><div class='del'>-* He wrote Oniguruma.</div><div class='del'>-</div><div class='del'>-Takehiro Kubo</div><div class='del'>-* patches for dl 64bit support.</div><div class='del'>-</div><div class='del'>-== L</div><div class='del'>-</div><div class='del'>-Marc-Andre Lafortune (marcandre)</div><div class='del'>-* committer</div><div class='del'>-* patches for hash.c, array.c, thread.c, enumc, string.c, range.c and rdoc documentation.</div><div class='del'>-</div><div class='del'>-Hongli Lai</div><div class='del'>-* improved pstore.rb</div><div class='del'>-* patch for tool/file2lastrev.rb.</div><div class='del'>-</div><div class='del'>-raspberry lemon</div><div class='del'>-* a patch for webrick/httpproxy.rb.</div><div class='del'>-</div><div class='del'>-Christian Loew</div><div class='del'>-* a patch for fileutils.rb</div><div class='del'>-</div><div class='del'>-== M</div><div class='del'>-</div><div class='del'>-Shugo Maeda (shugo)</div><div class='del'>-* committer</div><div class='del'>-* A system administrator of ruby-lang.org servers.</div><div class='del'>-* He wrote and is the maintainer of:</div><div class='del'>-  * monitor.rb</div><div class='del'>-  * net/ftp</div><div class='del'>-  * net/imap</div><div class='del'>-</div><div class='del'>-Stephan Maka (mathew)</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Yukihiro Matsumoto (matz)</div><div class='del'>-* Matz -- the founder, language designer of Ruby.</div><div class='del'>-* committer</div><div class='del'>-* Ruby itself, most of Ruby.</div><div class='del'>-* He is the maintainer of:</div><div class='del'>-  * singleton</div><div class='del'>-  * timeout</div><div class='del'>-  * gdbm</div><div class='del'>-  * sdbm</div><div class='del'>-</div><div class='del'>-Konrad Meyer</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Mib Software</div><div class='del'>-* missing/vsnprintf.c</div><div class='del'>-</div><div class='del'>-Todd C. Miller</div><div class='del'>-* missing/strlcat.c</div><div class='del'>-* missing/strlcpy.c</div><div class='del'>-</div><div class='del'>-MIYASAKA, Masaru</div><div class='del'>-* a patch for cgi.rb</div><div class='del'>-</div><div class='del'>-Stefan Monnier</div><div class='del'>-* regex.c was fixed with based on his Emacs21 patch.</div><div class='del'>-</div><div class='del'>-Marcel Moolenaar</div><div class='del'>-* patches for eval.c and gc.c.</div><div class='del'>-</div><div class='del'>-moonwolf</div><div class='del'>-* a patch for REXML, xmlrpc</div><div class='del'>-</div><div class='del'>-Hiroshi Moriyama</div><div class='del'>-* a patch for yaml.</div><div class='del'>-</div><div class='del'>-Kyosuke Morohashi</div><div class='del'>-* a patch for gem_prelude.rb</div><div class='del'>-</div><div class='del'>-Kenta Murata</div><div class='del'>-* patches for json, bignum.c</div><div class='del'>-</div><div class='del'>-Akinori MUSHA (knu)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of:</div><div class='del'>-  * abbrev.rb</div><div class='del'>-  * generator (1.8)</div><div class='del'>-  * enumerator (1.8)</div><div class='del'>-  * set</div><div class='del'>-  * ipaddr.rb</div><div class='del'>-  * digest/*</div><div class='del'>-  * syslog</div><div class='del'>-* He is the branch maintainer of ruby_1_8, the release manager of 1.8 series.</div><div class='del'>-</div><div class='del'>-== N</div><div class='del'>-</div><div class='del'>-Hidetoshi NAGAI (nagai)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of tk/*</div><div class='del'>-</div><div class='del'>-Nobuyoshi Nakada (nobu)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. the "patch monster"</div><div class='del'>-* He wrote and is the maintainer of:</div><div class='del'>-  * optparse</div><div class='del'>-  * stringio</div><div class='del'>-  * io/wait</div><div class='del'>-  * iconv</div><div class='del'>-</div><div class='del'>-Satoshi Nakagawa</div><div class='del'>-* patches for util.c</div><div class='del'>-</div><div class='del'>-Narihiro Nakamura (nari)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. authorNari</div><div class='del'>-* working at GC</div><div class='del'>-</div><div class='del'>-NAKAMURA, Hiroshi (nahi)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of:</div><div class='del'>-  * csv.rb (1.8)</div><div class='del'>-  * logger.rb</div><div class='del'>-  * soap/* (1.8)</div><div class='del'>-  * wsdl/* (1.8)</div><div class='del'>-  * xsd/* (1.8)</div><div class='del'>-</div><div class='del'>-NAKAMURA, Usaku (usa)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. unak</div><div class='del'>-* He is the maintainer of mswin32 and mswin64 support.</div><div class='del'>-</div><div class='del'>-NARUSE, Yui (naruse)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. "nurse"</div><div class='del'>-* Did much upon m17n.</div><div class='del'>-* He is the maintainer of:</div><div class='del'>-  * json</div><div class='del'>-  * nkf</div><div class='del'>-</div><div class='del'>-Christian Neukirchen</div><div class='del'>-* a patch for webrick/httputils</div><div class='del'>-</div><div class='del'>-Michael Neumann (mneumann)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of</div><div class='del'>-  * xmlrpc (1.8)</div><div class='del'>-  * gserver (1.8)</div><div class='del'>-</div><div class='del'>-NISHIO Hirokazu</div><div class='del'>-* wrote a patch for CVE-2010-0541</div><div class='del'>-</div><div class='del'>-Kazuhiro NISHIYAMA (kazu)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. znz</div><div class='del'>-</div><div class='del'>-Go Noguchi</div><div class='del'>-</div><div class='del'>-Martin Nordholts</div><div class='del'>-* misc/rdebug.el</div><div class='del'>-</div><div class='del'>-nmu</div><div class='del'>-* a patch for socket</div><div class='del'>-</div><div class='del'>-== O</div><div class='del'>-</div><div class='del'>-okkez</div><div class='del'>-* He is a sysop of the Ruby Reference Manual Renewal Project.</div><div class='del'>-* fixed ipaddr.rb, ext/etc</div><div class='del'>-</div><div class='del'>-Haruhiko Okumura</div><div class='del'>-* some of missing/* is based on his book:</div><div class='del'>-  * missing/erf.c</div><div class='del'>-  * missing/lgamma_r.c</div><div class='del'>-  * missing/tgamma.c</div><div class='del'>-</div><div class='del'>-OMAE, jun</div><div class='del'>-* a patch for debug.rb</div><div class='del'>-</div><div class='del'>-Eugene Ossintsev</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-== P</div><div class='del'>-</div><div class='del'>-Heesob Park</div><div class='del'>-* a patch for win32/win32.c.</div><div class='del'>-</div><div class='del'>-pegacorn</div><div class='del'>-* a patch for instruby.rb</div><div class='del'>-</div><div class='del'>-== Q</div><div class='del'>-</div><div class='del'>-== R</div><div class='del'>-</div><div class='del'>-Gaston Ramos</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-The Regents of the University of California</div><div class='del'>-* missing/crypt.c</div><div class='del'>-* missing/vsnprintf.c</div><div class='del'>-</div><div class='del'>-Sam Roberts</div><div class='del'>-* patch for socket</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Michal Rokos (michal)</div><div class='del'>-* committer</div><div class='del'>-* He was the maintainer of DJGPP support.</div><div class='del'>-</div><div class='del'>-rubikitch</div><div class='del'>-* a patch for io.c</div><div class='del'>-</div><div class='del'>-Marcus Rueckert</div><div class='del'>-* a patch for mkconfig.rb.</div><div class='del'>-</div><div class='del'>-Run Paint Run Run</div><div class='del'>-* patch for enc/unicode.c</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Sean Russell (ser)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of REXML.</div><div class='del'>-</div><div class='del'>-== S</div><div class='del'>-</div><div class='del'>-Kazuo Saito (ksaito)</div><div class='del'>-* committer</div><div class='del'>-* M17N</div><div class='del'>-</div><div class='del'>-Tadashi Saito</div><div class='del'>-* patches for test/ruby/test_math.rb, thread_*.c, bignum.c</div><div class='del'>-* working upon BigDecimal.</div><div class='del'>-* did much upon documentation</div><div class='del'>-</div><div class='del'>-Masahiro Sakai</div><div class='del'>-* a patch for io.c</div><div class='del'>-</div><div class='del'>-Laurent Sansonetti</div><div class='del'>-* a patch for tool/ytab.sed</div><div class='del'>-</div><div class='del'>-Jeff Saracco</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Koichi Sasada (ko1)</div><div class='del'>-* committer</div><div class='del'>-* He wrote YARV.</div><div class='del'>-</div><div class='del'>-Hugh Sasse</div><div class='del'>-* a patch for net/http</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Charlie Savage</div><div class='del'>-* a patch for win32/Makefile.sub</div><div class='del'>-</div><div class='del'>-Michael Scholz</div><div class='del'>-* a patch for ruby-mode.el</div><div class='del'>-</div><div class='del'>-Arthur Schreiber</div><div class='del'>-* patch for net/http and rdoc.</div><div class='del'>-</div><div class='del'>-Masatoshi SEKI (seki)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of:</div><div class='del'>-  * drb/*</div><div class='del'>-  * erb</div><div class='del'>-  * rinda</div><div class='del'>-</div><div class='del'>-Roman Shterenzon</div><div class='del'>-* a patch for open-uri.</div><div class='del'>-</div><div class='del'>-Kent Sibilev</div><div class='del'>-</div><div class='del'>-Gavin Sinclair (gsinclair)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-John W. Small</div><div class='del'>-* He wrote gserver.rb</div><div class='del'>-</div><div class='del'>-Yuki Sonoda (yugui)</div><div class='del'>-* committer</div><div class='del'>-* She is the maintainer of man/* manual pages and is the release manager of 1.9 series.</div><div class='del'>-* She wrote prime.rb.</div><div class='del'>-* A developer and a sysop of redmine.ruby-lang.org.</div><div class='del'>-</div><div class='del'>-SOUMA, Yutaka</div><div class='del'>-* a patch for pack.c.</div><div class='del'>-</div><div class='del'>-Tatsuki Sugiura</div><div class='del'>-* WebDAV support for net/http</div><div class='del'>-</div><div class='del'>-Masaki Suketa (suke)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of win32ole</div><div class='del'>-</div><div class='del'>-sheepman</div><div class='del'>-* patches for ruby.c, thread.c, stringio, enum.c, webrick, net/http</div><div class='del'>-</div><div class='del'>-Siena. (siena)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-Kirill A. Shutemov</div><div class='del'>-* a patch for parse.y</div><div class='del'>-</div><div class='del'>-Darren Smith</div><div class='del'>-* a patch for golf_prelude.rb</div><div class='del'>-</div><div class='del'>-Richard M. Stallman</div><div class='del'>-* missing/alloca.c</div><div class='del'>-</div><div class='del'>-Robin Stocker</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Joshua Stowers</div><div class='del'>-* a patch for array.c</div><div class='del'>-</div><div class='del'>-Marcus Stollsteimer (stomar)</div><div class='del'>-* committer</div><div class='del'>-* a maintainer of www.ruby-lang.org</div><div class='del'>-* patches for cgi (HTML5 tag maker), numeric.c, bigdecimal, ostruct.rb, prime.rb, and others</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Adam Strzelecki</div><div class='del'>-* a patch for compile.c</div><div class='del'>-</div><div class='del'>-Masashi Sumi</div><div class='del'>-* improved net/pop.rb</div><div class='del'>-</div><div class='del'>-Eric Sunshine</div><div class='del'>-* NeXT OpenStep, Rhapsody support</div><div class='del'>-</div><div class='del'>-Kouhei Sutou (kou)</div><div class='del'>-* committer</div><div class='del'>-* He wrote and is the maintainer of rss/*</div><div class='del'>-</div><div class='del'>-David Symonds</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-== T</div><div class='del'>-</div><div class='del'>-TAKANO Mitsuhiro (takano32)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of IA-64 support.</div><div class='del'>-* BigDecimal</div><div class='del'>-</div><div class='del'>-TAKAO, Kouji (kouji)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of readline.</div><div class='del'>-</div><div class='del'>-Nathaniel Talbott (ntalbott)</div><div class='del'>-* committer</div><div class='del'>-* He was the maintainer of test/unit, runit, rubyunit.</div><div class='del'>-</div><div class='del'>-TANAKA, Akira (akr)</div><div class='del'>-* committer</div><div class='del'>-* Did much upon m17n.</div><div class='del'>-* And he is the maintainer of:</div><div class='del'>-  * open-uri</div><div class='del'>-  * pathname</div><div class='del'>-  * pp</div><div class='del'>-  * resolv-replace</div><div class='del'>-  * resolv</div><div class='del'>-  * time</div><div class='del'>-  * tsort</div><div class='del'>-</div><div class='del'>-Takaaki Tateishi (ttate)</div><div class='del'>-* committer</div><div class='del'>-* He was the maintainer of dl</div><div class='del'>-</div><div class='del'>-Technorama Ltd. (technoroma)</div><div class='del'>-* committer</div><div class='del'>-* openssl</div><div class='del'>-</div><div class='del'>-Andrew Thompson</div><div class='del'>-* a patch for socket.c IRIX support.</div><div class='del'>-</div><div class='del'>-Dave Thomas (dave)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. the Pragmatic Programmer.</div><div class='del'>-* He wrote rdoc.</div><div class='del'>-</div><div class='del'>-Tietew</div><div class='del'>-* patches for win32 support</div><div class='del'>-</div><div class='del'>-Masahiro Tomita</div><div class='del'>-* a patch for cgi.rb</div><div class='del'>-</div><div class='del'>-Jakub Travnik</div><div class='del'>-* a patch for eval.c</div><div class='del'>-</div><div class='del'>-Tom Truscott</div><div class='del'>-* missing/crypt.c</div><div class='del'>-</div><div class='del'>-== U</div><div class='del'>-</div><div class='del'>-UEDA, Satoshi</div><div class='del'>-* a patch for uri</div><div class='del'>-</div><div class='del'>-Takaaki Uematsu (uema2)</div><div class='del'>-* committer</div><div class='del'>-* He was the maintainer of WinCE support.</div><div class='del'>-</div><div class='del'>-UENO, Katsuhiro (katsu)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of zlib</div><div class='del'>-</div><div class='del'>-Hajimu UMEMOTO</div><div class='del'>-* He wrote ipaddr.rb</div><div class='del'>-</div><div class='del'>-URABE, Shyouhei (shyouhei)</div><div class='del'>-* committer</div><div class='del'>-* a.k.a. mput.</div><div class='del'>-* He is the branch maintainer of ruby_1_8_6 and ruby_1_8_7</div><div class='del'>-* and is the release manager of 1.8.x-pXXX.</div><div class='del'>-</div><div class='del'>-== V</div><div class='del'>-</div><div class='del'>-Joel VanderWerf</div><div class='del'>-* a patch for numeric.c</div><div class='del'>-</div><div class='del'>-Peter Vanbroekhoven</div><div class='del'>-</div><div class='del'>-Corinna Vinschen</div><div class='del'>-</div><div class='del'>-== W</div><div class='del'>-</div><div class='del'>-wanabe (wanabe)</div><div class='del'>-* committer</div><div class='del'>-* fixed YARV and Oniguruma.</div><div class='del'>-</div><div class='del'>-Chun Wang</div><div class='del'>-* a patch for time.rb</div><div class='del'>-</div><div class='del'>-WATANABE, Hirofumi (eban)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of</div><div class='del'>-  * ftools (1.8)</div><div class='del'>-  * tmpdir</div><div class='del'>-  * un</div><div class='del'>-  * Win32API</div><div class='del'>-</div><div class='del'>-WATANABE, Tetsuya</div><div class='del'>-* a patch for ruby.c</div><div class='del'>-</div><div class='del'>-William Webber (wew)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-Jim Weirich (jim)</div><div class='del'>-* committer</div><div class='del'>-* He wrote Rake.</div><div class='del'>-</div><div class='del'>-Nathan Weizenbaum</div><div class='del'>-* fixed misc/ruby-mode.el.</div><div class='del'>-</div><div class='del'>-why the lukky stiff (why)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of syck</div><div class='del'>-</div><div class='del'>-Caley Woods</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Gary Wright</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-== X</div><div class='del'>-</div><div class='del'>-== Y</div><div class='del'>-</div><div class='del'>-Akira Yamada (akira)</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer of ruby related packages at Debian project.</div><div class='del'>-</div><div class='del'>-Keita Yamaguchi</div><div class='del'>-* patches for enum.c, parse.y</div><div class='del'>-* documentation</div><div class='del'>-</div><div class='del'>-Hirokazu Yamamoto (ocean)</div><div class='del'>-* committer</div><div class='del'>-</div><div class='del'>-Hirotaka Yoshioka</div><div class='del'>-* a patch for improving SEGV handling</div><div class='del'>-</div><div class='del'>-== Z</div><div class='del'>-</div><div class='del'>-Aristarkh A Zagorodnikov</div><div class='del'>-* a patch for io.c</div><div class='del'>-</div><div class='del'>-Alexander Zavorine</div><div class='del'>-* committer</div><div class='del'>-* He is the maintainer for Symbian OS.</div><div class='del'>-</div><div class='del'>-Chiyuan Zhang</div><div class='del'>-* a patch for misc/ruby-mode.el.</div><div class='del'>-</div><div class='del'>-Dee Zsombor (zunda)</div><div class='del'>-* a patch for thread_pthread.c</div><div class='del'>-</div><div class='del'>-Dan Zwell</div><div class='del'>-* a patch for net/pop</div><div class='del'>-</div><div class='del'>-</div><div class='head'>diff --git a/doc/dtrace_probes.rdoc b/doc/dtrace_probes.rdoc<br/>deleted file mode 100644<br/>index d2cdd56902..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/dtrace_probes.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/dtrace_probes.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,178 +0,0 @@</div><div class='del'>-= DTrace Probes</div><div class='del'>-</div><div class='del'>-A list of DTrace probes and their functionality. "Module" and "Function" cannot</div><div class='del'>-be defined in user defined probes (known as USDT), so they will not be</div><div class='del'>-specified. Probe definitions are in the format of:</div><div class='del'>-</div><div class='del'>-  provider:module:function:name(arguments)</div><div class='del'>-</div><div class='del'>-Since module and function cannot be specified, they will be blank. An example</div><div class='del'>-probe definition for Ruby would then be:</div><div class='del'>-</div><div class='del'>-  ruby:::method-entry(class name, method name, file name, line number)</div><div class='del'>-</div><div class='del'>-Where "ruby" is the provider name, module and function names are blank, the</div><div class='del'>-probe name is "method-entry", and the probe takes four arguments:</div><div class='del'>-</div><div class='del'>-* class name</div><div class='del'>-* method name</div><div class='del'>-* file name</div><div class='del'>-* line number</div><div class='del'>-</div><div class='del'>-== Probes List</div><div class='del'>-</div><div class='del'>-=== Stability</div><div class='del'>-</div><div class='del'>-Before we list the specific probes, let's talk about stability. Probe stability</div><div class='del'>-is declared in the probes.d file at the bottom on the #pragma D attributes</div><div class='del'>-lines. Here is a description of each of the stability declarations.</div><div class='del'>-</div><div class='del'>-[Provider name stability]</div><div class='del'>-  The provider name of "ruby" has been declared as stable. It is unlikely that</div><div class='del'>-  we will change the provider name from "ruby" to something else.</div><div class='del'>-</div><div class='del'>-[Module and Function stability]</div><div class='del'>-  Since we are not allowed to provide values for the module and function name,</div><div class='del'>-  the values we have provided (no value) is declared as stable.</div><div class='del'>-</div><div class='del'>-[Probe name stability]</div><div class='del'>-  The probe names are likely to change in the future, so they are marked as</div><div class='del'>-  "Evolving". Consumers should not depend on these names to be stable.</div><div class='del'>-</div><div class='del'>-[Probe argument stability]</div><div class='del'>-  The parameters passed to the probes are likely to change in the future, so</div><div class='del'>-  they are marked as "Evolving". Consumers should not depend on these to be</div><div class='del'>-  stable.</div><div class='del'>-</div><div class='del'>-=== Declared probes</div><div class='del'>-</div><div class='del'>-Probes are defined in the probes.d file. Here are the declared probes along</div><div class='del'>-with when they are fired and the arguments they take:</div><div class='del'>-</div><div class='del'>-[ruby:::method-entry(classname, methodname, filename, lineno);]</div><div class='del'>-  This probe is fired just before a method is entered.</div><div class='del'>-</div><div class='del'>-    classname name of the class (a string)</div><div class='del'>-    methodname name of the method about to be executed (a string)</div><div class='del'>-    filename the file name where the method is _being called_ (a string)</div><div class='del'>-    lineno the line number where the method is _being called_ (an int)</div><div class='del'>-</div><div class='del'>-[ruby:::method-return(classname, methodname, filename, lineno);]</div><div class='del'>-  This probe is fired just after a method has returned. The arguments are the</div><div class='del'>-  same as "ruby:::method-entry".</div><div class='del'>-</div><div class='del'>-[ruby:::cmethod-entry(classname, methodname, filename, lineno);]</div><div class='del'>-  This probe is fired just before a C method is entered. The arguments are the</div><div class='del'>-  same as "ruby:::method-entry".</div><div class='del'>-</div><div class='del'>-[ruby:::cmethod-return(classname, methodname, filename, lineno);]</div><div class='del'>-  This probe is fired just before a C method returns. The arguments are the</div><div class='del'>-  same as "ruby:::method-entry".</div><div class='del'>-</div><div class='del'>-[ruby:::require-entry(requiredfile, filename, lineno);]</div><div class='del'>-  This probe is fired on calls to rb_require_safe (when a file is required).</div><div class='del'>-</div><div class='del'>-    requiredfile is the name of the file to be required (string).</div><div class='del'>-    filename is the file that called "require" (string).</div><div class='del'>-    lineno is the line number where the call to require was made (int).</div><div class='del'>-</div><div class='del'>-[ruby:::require-return(requiredfile, filename, lineno);]</div><div class='del'>-  This probe is fired just before rb_require_safe (when a file is required)</div><div class='del'>-  returns. The arguments are the same as "ruby:::require-entry". This probe</div><div class='del'>-  will not fire if there was an exception during file require.</div><div class='del'>-</div><div class='del'>-[ruby:::find-require-entry(requiredfile, filename, lineno);]</div><div class='del'>-  This probe is fired right before search_required is called. search_required</div><div class='del'>-  determines whether the file has already been required by searching loaded</div><div class='del'>-  features ($"), and if not, figures out which file must be loaded.</div><div class='del'>-</div><div class='del'>-    requiredfile is the file to be required (string).</div><div class='del'>-    filename is the file that called "require" (string).</div><div class='del'>-    lineno is the line number where the call to require was made (int).</div><div class='del'>-</div><div class='del'>-[ruby:::find-require-return(requiredfile, filename, lineno);]</div><div class='del'>-  This probe is fired right after search_required returns. See the</div><div class='del'>-  documentation for "ruby:::find-require-entry" for more details. Arguments for</div><div class='del'>-  this probe are the same as "ruby:::find-require-entry".</div><div class='del'>-</div><div class='del'>-[ruby:::load-entry(loadedfile, filename, lineno);]</div><div class='del'>-  This probe is fired when calls to "load" are made. The arguments are the same</div><div class='del'>-  as "ruby:::require-entry".</div><div class='del'>-</div><div class='del'>-[ruby:::load-return(loadedfile, filename, lineno);]</div><div class='del'>-  This probe is fired when "load" returns. The arguments are the same as</div><div class='del'>-  "ruby:::load-entry".</div><div class='del'>-</div><div class='del'>-[ruby:::raise(classname, filename, lineno);]</div><div class='del'>-  This probe is fired when an exception is raised.</div><div class='del'>-</div><div class='del'>-    classname is the class name of the raised exception (string)</div><div class='del'>-    filename the name of the file where the exception was raised (string)</div><div class='del'>-    lineno the line number in the file where the exception was raised (int)</div><div class='del'>-</div><div class='del'>-[ruby:::object-create(classname, filename, lineno);]</div><div class='del'>-  This probe is fired when an object is about to be allocated.</div><div class='del'>-</div><div class='del'>-    classname the class of the allocated object (string)</div><div class='del'>-    filename the name of the file where the object is allocated (string)</div><div class='del'>-    lineno the line number in the file where the object is allocated (int)</div><div class='del'>-</div><div class='del'>-[ruby:::array-create(length, filename, lineno);]</div><div class='del'>-  This probe is fired when an Array is about to be allocated.</div><div class='del'>-</div><div class='del'>-    length the size of the array (long)</div><div class='del'>-    filename the name of the file where the array is allocated (string)</div><div class='del'>-    lineno the line number in the file where the array is allocated (int)</div><div class='del'>-</div><div class='del'>-[ruby:::hash-create(length, filename, lineno);]</div><div class='del'>-  This probe is fired when a Hash is about to be allocated.</div><div class='del'>-</div><div class='del'>-    length the size of the hash (long)</div><div class='del'>-    filename the name of the file where the hash is allocated (string)</div><div class='del'>-    lineno the line number in the file where the hash is allocated (int)</div><div class='del'>-</div><div class='del'>-[ruby:::string-create(length, filename, lineno);]</div><div class='del'>-  This probe is fired when a String is about to be allocated.</div><div class='del'>-</div><div class='del'>-    length the size of the string (long)</div><div class='del'>-    filename the name of the file where the string is allocated (string)</div><div class='del'>-    lineno the line number in the file where the string is allocated (int)</div><div class='del'>-</div><div class='del'>-[ruby:::symbol-create(str, filename, lineno);]</div><div class='del'>-  This probe is fired when a Symbol is about to be allocated.</div><div class='del'>-</div><div class='del'>-    str the contents of the symbol (string)</div><div class='del'>-    filename the name of the file where the string is allocated (string)</div><div class='del'>-    lineno the line number in the file where the string is allocated (int)</div><div class='del'>-</div><div class='del'>-[ruby:::parse-begin(sourcefile, lineno);]</div><div class='del'>-  Fired just before parsing and compiling a source file.</div><div class='del'>-</div><div class='del'>-    sourcefile the file being parsed (string)</div><div class='del'>-    lineno the line number where the source starts (int)</div><div class='del'>-</div><div class='del'>-[ruby:::parse-end(sourcefile, lineno);]</div><div class='del'>-  Fired just after parsing and compiling a source file.</div><div class='del'>-</div><div class='del'>-    sourcefile the file being parsed (string)</div><div class='del'>-    lineno the line number where the source ended (int)</div><div class='del'>-</div><div class='del'>-[ruby:::gc-mark-begin();]</div><div class='del'>-  Fired at the beginning of a mark phase.</div><div class='del'>-</div><div class='del'>-[ruby:::gc-mark-end();]</div><div class='del'>-  Fired at the end of a mark phase.</div><div class='del'>-</div><div class='del'>-[ruby:::gc-sweep-begin();]</div><div class='del'>-  Fired at the beginning of a sweep phase.</div><div class='del'>-</div><div class='del'>-[ruby:::gc-sweep-end();]</div><div class='del'>-  Fired at the end of a sweep phase.</div><div class='del'>-</div><div class='del'>-[ruby:::method-cache-clear(class, sourcefile, lineno);]</div><div class='del'>-  Fired when the method cache is cleared.</div><div class='del'>-</div><div class='del'>-    class is the classname being cleared, or "global" (string)</div><div class='del'>-    sourcefile the file being parsed (string)</div><div class='del'>-    lineno the line number where the source ended (int)</div><div class='del'>-</div><div class='head'>diff --git a/doc/etc.rd.ja b/doc/etc.rd.ja<br/>deleted file mode 100644<br/>index b4ff6ed04e..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/etc.rd.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/etc.rd.ja</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,75 +0,0 @@</div><div class='del'>-# etc.rd.ja -  -*- mode: rd; coding: utf-8; -*- created at: Fri Jul 14 00:47:15 JST 1995</div><div class='del'>-=begin</div><div class='del'>-</div><div class='del'>-= Etc(モジュール)</div><div class='del'>-</div><div class='del'>-実行しているOSからの情報を得るためのモジュール．クラスにインクルード</div><div class='del'>-して使うこともできる．</div><div class='del'>-</div><div class='del'>-== Module Function</div><div class='del'>-</div><div class='del'>---- getlogin</div><div class='del'>-</div><div class='del'>-	自分のlogin名を返す．これが失敗した場合はgetpwuid()を用いると</div><div class='del'>-	良い．</div><div class='del'>-</div><div class='del'>---- getpwnam(name)</div><div class='del'>-</div><div class='del'>-	/etc/passwdファイル(あるいはDBMファイルやNISデータベース)を検</div><div class='del'>-	索し，nameの名前を持つpasswdエントリを返す．戻り値はpasswd構造</div><div class='del'>-	体で以下のメンバを持つ．</div><div class='del'>-</div><div class='del'>-	  struct passwd</div><div class='del'>-	    name 	# ユーザ名(文字列)</div><div class='del'>-	    passwd	# パスワード(文字列)</div><div class='del'>-	    uid		# ユーザID(整数)</div><div class='del'>-	    gid		# グループID(整数)</div><div class='del'>-	    gecos	# gecosフィールド(文字列)</div><div class='del'>-	    dir		# ホームディレクトリ(文字列)</div><div class='del'>-	    shell	# ログインシェル(文字列)</div><div class='del'>-	    # 以降のメンバはシステムによっては提供されない．</div><div class='del'>-	    change	# パスワード変更時間(整数)</div><div class='del'>-	    quota	# クォータ(整数)</div><div class='del'>-	    age		# エージ(整数)</div><div class='del'>-	    class	# ユーザアクセスクラス(文字列)</div><div class='del'>-	    comment	# コメント(文字列)</div><div class='del'>-	    expire	# アカウント有効期限(整数)</div><div class='del'>-	  end</div><div class='del'>-</div><div class='del'>-	詳細はgetpwnam(3)を参照のこと．</div><div class='del'>-</div><div class='del'>---- getpwuid([uid])</div><div class='del'>-</div><div class='del'>-	uidをユーザIDとするpasswdエントリを返す．戻り値はgetpwnam()と</div><div class='del'>-	同様である．引数を省略した場合にはgetuid()の値を用いる．詳細は</div><div class='del'>-	getpwuid(3)を参照のこと．</div><div class='del'>-</div><div class='del'>---- getgrgid(gid)</div><div class='del'>-</div><div class='del'>-	/etc/groupファイル(あるいは…getpwnam参照)を検索し，gidをグルー</div><div class='del'>-	プIDとするグループエントリを返す．戻り値はgroup構造体で以下の</div><div class='del'>-	メンバを持つ．</div><div class='del'>-</div><div class='del'>-	  struct group</div><div class='del'>-	    name 	# グループ名(文字列)</div><div class='del'>-	    passwd	# グループのパスワード(文字列)</div><div class='del'>-	    gid		# グループID(整数)</div><div class='del'>-	    mem		# グループメンバ名の配列</div><div class='del'>-	  end</div><div class='del'>-</div><div class='del'>-	詳細はgetgrgid(3)を参照のこと．</div><div class='del'>-</div><div class='del'>---- getgrnam(name)</div><div class='del'>-</div><div class='del'>-	nameという名前のグループエントリを返す．戻り値はgetgrgid()と同</div><div class='del'>-	様である．詳細はgetgrnam(3)を参照．</div><div class='del'>-</div><div class='del'>---- group</div><div class='del'>-</div><div class='del'>-	全てのグループエントリを順にアクセスするためのイテレータ．</div><div class='del'>-</div><div class='del'>---- passwd</div><div class='del'>-</div><div class='del'>-	全てのpasswdエントリを順にアクセスするためのイテレータ．</div><div class='del'>-</div><div class='del'>-=end</div><div class='head'>diff --git a/doc/extension.ja.rdoc b/doc/extension.ja.rdoc<br/>deleted file mode 100644<br/>index 88f300a562..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/extension.ja.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/extension.ja.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,1833 +0,0 @@</div><div class='del'>-# extension.ja.rdoc -  -*- RDoc -*- created at: Mon Aug  7 16:45:54 JST 1995</div><div class='del'>-</div><div class='del'>-= Rubyの拡張ライブラリの作り方</div><div class='del'>-</div><div class='del'>-Rubyの拡張ライブラリの作り方を説明します．</div><div class='del'>-</div><div class='del'>-== 基礎知識</div><div class='del'>-</div><div class='del'>-Cの変数には型があり，データには型がありません．ですから，た</div><div class='del'>-とえばポインタをintの変数に代入すると，その値は整数として取</div><div class='del'>-り扱われます．逆にRubyの変数には型がなく，データに型がありま</div><div class='del'>-す．この違いのため，CとRubyは相互に変換しなければ，お互いの</div><div class='del'>-データをアクセスできません．</div><div class='del'>-</div><div class='del'>-RubyのデータはVALUEというCの型で表現されます．VALUE型のデー</div><div class='del'>-タはそのデータタイプを自分で知っています．このデータタイプと</div><div class='del'>-いうのはデータ(オブジェクト)の実際の構造を意味していて，Ruby</div><div class='del'>-のクラスとはまた違ったものです．</div><div class='del'>-</div><div class='del'>-VALUEからCにとって意味のあるデータを取り出すためには</div><div class='del'>-</div><div class='del'>-1. VALUEのデータタイプを知る</div><div class='del'>-2. VALUEをCのデータに変換する</div><div class='del'>-</div><div class='del'>-の両方が必要です．(1)を忘れると間違ったデータの変換が行われ</div><div class='del'>-て，最悪プログラムがcore dumpします．</div><div class='del'>-</div><div class='del'>-=== データタイプ</div><div class='del'>-</div><div class='del'>-Rubyにはユーザが使う可能性のある以下のタイプがあります．</div><div class='del'>-</div><div class='del'>-T_NIL      :: nil</div><div class='del'>-T_OBJECT   :: 通常のオブジェクト</div><div class='del'>-T_CLASS    :: クラス</div><div class='del'>-T_MODULE   :: モジュール</div><div class='del'>-T_FLOAT    :: 浮動小数点数</div><div class='del'>-T_STRING   :: 文字列</div><div class='del'>-T_REGEXP   :: 正規表現</div><div class='del'>-T_ARRAY    :: 配列</div><div class='del'>-T_HASH     :: 連想配列</div><div class='del'>-T_STRUCT   :: (Rubyの)構造体</div><div class='del'>-T_BIGNUM   :: 多倍長整数</div><div class='del'>-T_FIXNUM   :: Fixnum(31bitまたは63bit長整数)</div><div class='del'>-T_COMPLEX  :: 複素数</div><div class='del'>-T_RATIONAL :: 有理数</div><div class='del'>-T_FILE     :: 入出力</div><div class='del'>-T_TRUE     :: 真</div><div class='del'>-T_FALSE    :: 偽</div><div class='del'>-T_DATA     :: データ</div><div class='del'>-T_SYMBOL   :: シンボル</div><div class='del'>-</div><div class='del'>-その他に内部で利用されている以下のタイプがあります．</div><div class='del'>-</div><div class='del'>-  T_ICLASS</div><div class='del'>-  T_MATCH</div><div class='del'>-  T_UNDEF</div><div class='del'>-  T_NODE</div><div class='del'>-  T_ZOMBIE</div><div class='del'>-</div><div class='del'>-ほとんどのタイプはCの構造体で実装されています．</div><div class='del'>-</div><div class='del'>-=== VALUEのデータタイプをチェックする</div><div class='del'>-</div><div class='del'>-ruby.hではTYPE()というマクロが定義されていて，VALUEのデータ</div><div class='del'>-タイプを知ることが出来ます．TYPE()マクロは上で紹介したT_XXXX</div><div class='del'>-の形式の定数を返します．VALUEのデータタイプに応じて処理する</div><div class='del'>-場合には，TYPE()の値で分岐することになります．</div><div class='del'>-</div><div class='del'>-  switch (TYPE(obj)) {</div><div class='del'>-    case T_FIXNUM:</div><div class='del'>-      /* FIXNUMの処理 */</div><div class='del'>-      break;</div><div class='del'>-    case T_STRING:</div><div class='del'>-      /* 文字列の処理 */</div><div class='del'>-      break;</div><div class='del'>-    case T_ARRAY:</div><div class='del'>-      /* 配列の処理 */</div><div class='del'>-      break;</div><div class='del'>-    default:</div><div class='del'>-      /* 例外を発生させる */</div><div class='del'>-      rb_raise(rb_eTypeError, "not valid value");</div><div class='del'>-      break;</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-それとデータタイプをチェックして，正しくなければ例外を発生す</div><div class='del'>-る関数が用意されています．</div><div class='del'>-</div><div class='del'>-  void Check_Type(VALUE value, int type)</div><div class='del'>-</div><div class='del'>-この関数はvalueがtypeで無ければ，例外を発生させます．引数と</div><div class='del'>-して与えられたVALUEのデータタイプが正しいかどうかチェックす</div><div class='del'>-るためには，この関数を使います．</div><div class='del'>-</div><div class='del'>-FIXNUMとNILに関してはより高速な判別マクロが用意されています．</div><div class='del'>-</div><div class='del'>-  FIXNUM_P(obj)</div><div class='del'>-  NIL_P(obj)</div><div class='del'>-</div><div class='del'>-=== VALUEをCのデータに変換する</div><div class='del'>-</div><div class='del'>-データタイプがT_NIL，T_FALSE，T_TRUEである時，データはそれぞ</div><div class='del'>-れnil，false，trueです．このデータタイプのオブジェクトはひと</div><div class='del'>-つずつしか存在しません．</div><div class='del'>-</div><div class='del'>-データタイプがT_FIXNUMの時，これは31bitまたは63bitのサイズを</div><div class='del'>-持つ整数です．longのサイズが32bitのプラットフォームであれば</div><div class='del'>-31bitに，longのサイズが64bitのプラットフォームであれば63bit</div><div class='del'>-になります. FIXNUM を C の整数に変換するためにはマクロ</div><div class='del'>-「FIX2INT()」または「FIX2LONG()」を使います．これらのマクロ</div><div class='del'>-を使用する際には事前にデータタイプがFIXNUMであることを確認す</div><div class='del'>-る必要がありますが，比較的高速に変換を行うことができます．ま</div><div class='del'>-た，「FIX2LONG()」は例外を発生しませんが，「FIX2INT()」は変</div><div class='del'>-換結果がintのサイズに収まらない場合には例外を発生します．</div><div class='del'>-それから，FIXNUMに限らずRubyのデータを整数に変換する</div><div class='del'>-「NUM2INT()」および「NUM2LONG()」というマクロがあります．こ</div><div class='del'>-れらのマクロはデータタイプのチェック無しで使えます</div><div class='del'>-(整数に変換できない場合には例外が発生する)．同様にチェック無し</div><div class='del'>-で使える変換マクロはdoubleを取り出す「NUM2DBL()」があります．</div><div class='del'>-</div><div class='del'>-char* を取り出す場合， StringValue() と StringValuePtr()</div><div class='del'>-を使います．</div><div class='del'>-StringValue(var) は var が String</div><div class='del'>-であれば何もせず，そうでなければ var を var.to_str() の結果</div><div class='del'>-に置き換えるマクロ，StringValuePtr(var) は同様に var を</div><div class='del'>-String に置き換えてから var のバイト列表現に対する char* を</div><div class='del'>-返すマクロです．var の内容を直接置き換える処理が入るので，</div><div class='del'>-var は lvalue である必要があります．</div><div class='del'>-また，StringValuePtr() に類似した StringValueCStr() というマ</div><div class='del'>-クロもあります．StringValueCStr(var) は var を String に置き</div><div class='del'>-換えてから var の文字列表現に対する char* を返します．返され</div><div class='del'>-る文字列の末尾には NUL 文字が付加されます．なお，途中に NUL</div><div class='del'>-文字が含まれる場合は ArgumentError が発生します．</div><div class='del'>-一方，StringValuePtr() では，末尾に NUL 文字がある保証はなく，</div><div class='del'>-途中に NUL 文字が含まれている可能性もあります．</div><div class='del'>-</div><div class='del'>-それ以外のデータタイプは対応するCの構造体があります．対応す</div><div class='del'>-る構造体のあるVALUEはそのままキャスト(型変換)すれば構造体の</div><div class='del'>-ポインタに変換できます．</div><div class='del'>-</div><div class='del'>-構造体は「struct RXxxxx」という名前でruby.hで定義されていま</div><div class='del'>-す．例えば文字列は「struct RString」です．実際に使う可能性が</div><div class='del'>-あるのは文字列と配列くらいだと思います．</div><div class='del'>-</div><div class='del'>-ruby.hでは構造体へキャストするマクロも「RXXXXX()」(全部大文</div><div class='del'>-字にしたもの)という名前で提供されています(例: RSTRING())．た</div><div class='del'>-だし、構造体への直接のアクセスはできるだけ避け，対応する</div><div class='del'>-rb_xxxx() といった関数を使うようにして下さい．例えば，配列の</div><div class='del'>-要素へアクセスする場合は，rb_ary_entry(ary, offset)，</div><div class='del'>-rb_ary_store(ary, offset, obj) を利用するようにして下さい．</div><div class='del'>-</div><div class='del'>-構造体からデータを取り出すマクロが提供されています．文字列</div><div class='del'>-strの長さを得るためには「RSTRING_LEN(str)」とし，文字列strを</div><div class='del'>-char*として得るためには「RSTRING_PTR(str)」とします．</div><div class='del'>-</div><div class='del'>-Rubyの構造体を直接アクセスする時に気をつけなければならないこ</div><div class='del'>-とは，配列や文字列の構造体の中身は参照するだけで，直接変更し</div><div class='del'>-ないことです．直接変更した場合，オブジェクトの内容の整合性が</div><div class='del'>-とれなくなって，思わぬバグの原因になります．</div><div class='del'>-</div><div class='del'>-=== CのデータをVALUEに変換する</div><div class='del'>-</div><div class='del'>-VALUEの実際の構造は</div><div class='del'>-</div><div class='del'>-FIXNUMの場合 ::</div><div class='del'>-</div><div class='del'>-  1bit左シフトして，LSBを立てる．</div><div class='del'>-</div><div class='del'>-その他のポインタの場合 ::</div><div class='del'>-</div><div class='del'>-  そのままVALUEにキャストする．</div><div class='del'>-</div><div class='del'>-となっています．よって，LSBをチェックすればVALUEがFIXNUMかど</div><div class='del'>-うかわかるわけです(ポインタのLSBが立っていないことを仮定して</div><div class='del'>-いる)．</div><div class='del'>-</div><div class='del'>-ですから，FIXNUM以外のRubyのオブジェクトの構造体は単にVALUE</div><div class='del'>-にキャストするだけでVALUEに変換出来ます．ただし，任意の構造</div><div class='del'>-体がVALUEにキャスト出来るわけではありません．キャストするの</div><div class='del'>-はRubyの知っている構造体(ruby.hで定義されているstruct RXxxx</div><div class='del'>-のもの)だけです．</div><div class='del'>-</div><div class='del'>-FIXNUMに関しては変換マクロを経由する必要があります．Cの整数</div><div class='del'>-からVALUEに変換するマクロは以下のものがあります．必要に応じ</div><div class='del'>-て使い分けてください．</div><div class='del'>-</div><div class='del'>-INT2FIX() :: もとの整数が31bitまたは63bit以内に収まる自信</div><div class='del'>-             がある時</div><div class='del'>-INT2NUM() :: 任意の整数からVALUEへ</div><div class='del'>-</div><div class='del'>-INT2NUM()は整数がFIXNUMの範囲に収まらない場合，Bignumに変換</div><div class='del'>-してくれます(が，少し遅い)．</div><div class='del'>-</div><div class='del'>-=== Rubyのデータを操作する</div><div class='del'>-</div><div class='del'>-先程も述べた通り，Rubyの構造体をアクセスする時に内容の更新を</div><div class='del'>-行うことは勧められません．で，Rubyのデータを操作する時には</div><div class='del'>-Rubyが用意している関数を用いてください．</div><div class='del'>-</div><div class='del'>-ここではもっとも使われるであろう文字列と配列の生成/操作を行</div><div class='del'>-う関数をあげます(全部ではないです)．</div><div class='del'>-</div><div class='del'>-==== 文字列に対する関数</div><div class='del'>-</div><div class='del'>-rb_str_new(const char *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  新しいRubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-rb_str_new2(const char *ptr) ::</div><div class='del'>-rb_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Cの文字列からRubyの文字列を生成する．この関数の機能は</div><div class='del'>-  rb_str_new(ptr, strlen(ptr))と同等である．</div><div class='del'>-</div><div class='del'>-rb_str_new_literal(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Cのリテラル文字列からRubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-rb_tainted_str_new(const char *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  汚染マークが付加された新しいRubyの文字列を生成する．外部</div><div class='del'>-  からのデータに基づく文字列には汚染マークが付加されるべき</div><div class='del'>-  である．</div><div class='del'>-</div><div class='del'>-rb_tainted_str_new2(const char *ptr) ::</div><div class='del'>-rb_tainted_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Cの文字列から汚染マークが付加されたRubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-rb_str_append(VALUE str1, VALUE str2) ::</div><div class='del'>-</div><div class='del'>-  Rubyの文字列str1にRubyの文字列str2を追加する．</div><div class='del'>-</div><div class='del'>-rb_sprintf(const char *format, ...) ::</div><div class='del'>-rb_vsprintf(const char *format, va_list ap) ::</div><div class='del'>-</div><div class='del'>-  Cの文字列formatと続く引数をprintf(3)のフォーマットにしたがって</div><div class='del'>-  整形し，Rubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-  注意: "%"PRIsVALUEがObject#to_s('+'フラグが指定されている</div><div class='del'>-  ときはObject#inspect)を使ったVALUEの出力に利用できる．これ</div><div class='del'>-  は"%i"と衝突するため，整数には"%d"を使用すること．</div><div class='del'>-</div><div class='del'>-rb_str_cat(VALUE str, const char *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  Rubyの文字列strにlenバイトの文字列ptrを追加する．</div><div class='del'>-</div><div class='del'>-rb_str_cat2(VALUE str, const char* ptr) ::</div><div class='del'>-rb_str_cat_cstr(VALUE str, const char* ptr) ::</div><div class='del'>-</div><div class='del'>-  Rubyの文字列strにCの文字列ptrを追加する．この関数の機能は</div><div class='del'>-  rb_str_cat(str, ptr, strlen(ptr))と同等である．</div><div class='del'>-</div><div class='del'>-rb_str_catf(VALUE str, const char* format, ...) ::</div><div class='del'>-rb_str_vcatf(VALUE str, const char* format, va_list ap) ::</div><div class='del'>-</div><div class='del'>-  Cの文字列formatと続く引数をprintf(3)のフォーマットにしたがって</div><div class='del'>-  整形し，Rubyの文字列strに追加する．この関数の機能は，それぞれ</div><div class='del'>-  rb_str_append(str, rb_sprintf(format, ...)) や</div><div class='del'>-  rb_str_append(str, rb_vsprintf(format, ap)) と同等である．</div><div class='del'>-</div><div class='del'>-rb_enc_str_new(const char *ptr, long len, rb_encoding *enc) ::</div><div class='del'>-rb_enc_str_new_cstr(const char *ptr, rb_encoding *enc) ::</div><div class='del'>-</div><div class='del'>-  指定されたエンコーディングでRubyの文字列を生成する.</div><div class='del'>-</div><div class='del'>-rb_enc_str_new_literal(const char *ptr, rb_encoding *enc) ::</div><div class='del'>-</div><div class='del'>-  Cのリテラル文字列から指定されたエンコーディングでRubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-rb_usascii_str_new(const char *ptr, long len) ::</div><div class='del'>-rb_usascii_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  エンコーディングがUS-ASCIIのRubyの文字列を生成する.</div><div class='del'>-</div><div class='del'>-rb_usascii_str_new_literal(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Cのリテラル文字列からエンコーディングがUS-ASCIIのRubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-rb_utf8_str_new(const char *ptr, long len) ::</div><div class='del'>-rb_utf8_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  エンコーディングがUTF-8のRubyの文字列を生成する.</div><div class='del'>-</div><div class='del'>-rb_utf8_str_new_literal(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Cのリテラル文字列からエンコーディングがUTF-8のRubyの文字列を生成する．</div><div class='del'>-</div><div class='del'>-rb_str_resize(VALUE str, long len) ::</div><div class='del'>-</div><div class='del'>-  Rubyの文字列のサイズをlenバイトに変更する．strの長さは前</div><div class='del'>-  以てセットされていなければならない．lenが元の長さよりも短</div><div class='del'>-  い時は，lenバイトを越えた部分の内容は捨てられる．lenが元</div><div class='del'>-  の長さよりも長い時は，元の長さを越えた部分の内容は保存さ</div><div class='del'>-  れないでゴミになるだろう．この関数の呼び出しによって</div><div class='del'>-  RSTRING_PTR(str)が変更されるかもしれないことに注意．</div><div class='del'>-</div><div class='del'>-rb_str_set_len(VALUE str, long len) ::</div><div class='del'>-</div><div class='del'>-  Rubyの文字列のサイズをlenバイトにセットする．strが変更可</div><div class='del'>-  能でなければ例外が発生する．RSTRING_LEN(str)とは無関係に，</div><div class='del'>-  lenバイトまでの内容は保存される．lenはstrの容量を越えてい</div><div class='del'>-  てはならない．</div><div class='del'>-</div><div class='del'>-==== 配列に対する関数</div><div class='del'>-</div><div class='del'>-rb_ary_new() ::</div><div class='del'>-</div><div class='del'>-  要素が0の配列を生成する．</div><div class='del'>-</div><div class='del'>-rb_ary_new2(long len) ::</div><div class='del'>-rb_ary_new_capa(long len) ::</div><div class='del'>-</div><div class='del'>-  要素が0の配列を生成する．len要素分の領域をあらかじめ割り</div><div class='del'>-  当てておく．</div><div class='del'>-</div><div class='del'>-rb_ary_new3(long n, ...) ::</div><div class='del'>-rb_ary_new_from_args(long n, ...) ::</div><div class='del'>-</div><div class='del'>-  引数で指定したn要素を含む配列を生成する．</div><div class='del'>-</div><div class='del'>-rb_ary_new4(long n, VALUE *elts) ::</div><div class='del'>-rb_ary_new_from_values(long n, VALUE *elts) ::</div><div class='del'>-</div><div class='del'>-  配列で与えたn要素の配列を生成する．</div><div class='del'>-</div><div class='del'>-rb_ary_to_ary(VALUE obj) ::</div><div class='del'>-</div><div class='del'>-  オブジェクトを配列に変換する.</div><div class='del'>-  Object#to_aryと同等である.</div><div class='del'>-</div><div class='del'>-他にも配列を操作する関数が多数ある. これらは</div><div class='del'>-引数aryに配列を渡さなければならない. さもないと</div><div class='del'>-コアを吐く.</div><div class='del'>-</div><div class='del'>-rb_ary_aref(int argc, const VALUE *argv, VALUE ary) ::</div><div class='del'>-</div><div class='del'>-  Array#[]と同等.</div><div class='del'>-</div><div class='del'>-rb_ary_entry(VALUE ary, long offset) ::</div><div class='del'>-</div><div class='del'>-  \ary[offset]</div><div class='del'>-</div><div class='del'>-rb_ary_store(VALUE ary, long offset, VALUE obj) ::</div><div class='del'>-</div><div class='del'>-  \ary[offset] = obj</div><div class='del'>-</div><div class='del'>-rb_ary_subseq(VALUE ary, long beg, long len) ::</div><div class='del'>-</div><div class='del'>-  ary[beg, len]</div><div class='del'>-</div><div class='del'>-rb_ary_push(VALUE ary, VALUE val) ::</div><div class='del'>-rb_ary_pop(VALUE ary) ::</div><div class='del'>-rb_ary_shift(VALUE ary) ::</div><div class='del'>-rb_ary_unshift(VALUE ary, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  ary.push, ary.pop, ary.shift, ary.unshift</div><div class='del'>-</div><div class='del'>-rb_ary_cat(VALUE ary, const VALUE *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  配列aryにptrからlen個のオブジェクトを追加する．</div><div class='del'>-</div><div class='del'>-== Rubyの機能を使う</div><div class='del'>-</div><div class='del'>-原理的にRubyで書けることはCでも書けます．RubyそのものがCで記</div><div class='del'>-述されているんですから，当然といえば当然なんですけど．ここで</div><div class='del'>-はRubyの拡張に使うことが多いだろうと予測される機能を中心に紹</div><div class='del'>-介します．</div><div class='del'>-</div><div class='del'>-=== Rubyに機能を追加する</div><div class='del'>-</div><div class='del'>-Rubyで提供されている関数を使えばRubyインタプリタに新しい機能</div><div class='del'>-を追加することができます．Rubyでは以下の機能を追加する関数が</div><div class='del'>-提供されています．</div><div class='del'>-</div><div class='del'>-- クラス，モジュール</div><div class='del'>-- メソッド，特異メソッドなど</div><div class='del'>-- 定数</div><div class='del'>-</div><div class='del'>-では順に紹介します．</div><div class='del'>-</div><div class='del'>-==== クラス/モジュール定義</div><div class='del'>-</div><div class='del'>-クラスやモジュールを定義するためには，以下の関数を使います．</div><div class='del'>-</div><div class='del'>-  VALUE rb_define_class(const char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module(const char *name)</div><div class='del'>-</div><div class='del'>-これらの関数は新しく定義されたクラスやモジュールを返します．</div><div class='del'>-メソッドや定数の定義にこれらの値が必要なので，ほとんどの場合</div><div class='del'>-は戻り値を変数に格納しておく必要があるでしょう．</div><div class='del'>-</div><div class='del'>-クラスやモジュールを他のクラスの内部にネストして定義する時に</div><div class='del'>-は以下の関数を使います．</div><div class='del'>-</div><div class='del'>-  VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module_under(VALUE outer, const char *name)</div><div class='del'>-</div><div class='del'>-==== メソッド/特異メソッド定義</div><div class='del'>-</div><div class='del'>-メソッドや特異メソッドを定義するには以下の関数を使います．</div><div class='del'>-</div><div class='del'>-  void rb_define_method(VALUE klass, const char *name,</div><div class='del'>-                        VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-  void rb_define_singleton_method(VALUE object, const char *name,</div><div class='del'>-                                  VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-念のため説明すると「特異メソッド」とは，その特定のオブジェク</div><div class='del'>-トに対してだけ有効なメソッドです．RubyではよくSmalltalkにお</div><div class='del'>-けるクラスメソッドとして，クラスに対する特異メソッドが使われ</div><div class='del'>-ます．</div><div class='del'>-</div><div class='del'>-これらの関数の argcという引数はCの関数へ渡される引数の数(と</div><div class='del'>-形式)を決めます．argcが0以上の時は関数に引き渡す引数の数を意</div><div class='del'>-味します．16個以上の引数は使えません(が，要りませんよね，そ</div><div class='del'>-んなに)．実際の関数には先頭の引数としてselfが与えられますの</div><div class='del'>-で，指定した数より1多い引数を持つことになります．</div><div class='del'>-</div><div class='del'>-argcが負の時は引数の数ではなく，形式を指定したことになります．</div><div class='del'>-argcが-1の時は引数を配列に入れて渡されます．argcが-2の時は引</div><div class='del'>-数はRubyの配列として渡されます．</div><div class='del'>-</div><div class='del'>-メソッドを定義する関数はまだいくつかあります. ひとつはメソッド</div><div class='del'>-名としてIDを取ります. IDについては2.2.2を参照.</div><div class='del'>-</div><div class='del'>-  void rb_define_method_id(VALUE klass, ID name,</div><div class='del'>-                           VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-private/protectedなメソッドを定義するふたつの関数があります.</div><div class='del'>-</div><div class='del'>-  void rb_define_private_method(VALUE klass, const char *name,</div><div class='del'>-                                VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-  void rb_define_protected_method(VALUE klass, const char *name,</div><div class='del'>-                                  VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-privateメソッドとは関数形式でしか呼び出すことの出来ないメソッ</div><div class='del'>-ドです．</div><div class='del'>-</div><div class='del'>-最後に， rb_define_module関数はモジュール関数を定義します．</div><div class='del'>-モジュール関数とはモジュールの特異メソッドであり，同時に</div><div class='del'>-privateメソッドでもあるものです．例をあげるとMathモジュール</div><div class='del'>-のsqrt()などがあげられます．このメソッドは</div><div class='del'>-</div><div class='del'>-  Math.sqrt(4)</div><div class='del'>-</div><div class='del'>-という形式でも</div><div class='del'>-</div><div class='del'>-  include Math</div><div class='del'>-  sqrt(4)</div><div class='del'>-</div><div class='del'>-という形式でも使えます．モジュール関数を定義する関数は以下の</div><div class='del'>-通りです．</div><div class='del'>-</div><div class='del'>-  void rb_define_module_function(VALUE module, const char *name,</div><div class='del'>-                                 VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-関数的メソッド(Kernelモジュールのprivate method)を定義するた</div><div class='del'>-めの関数は以下の通りです．</div><div class='del'>-</div><div class='del'>-  void rb_define_global_function(const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-メソッドの別名を定義するための関数は以下の通りです．</div><div class='del'>-</div><div class='del'>-  void rb_define_alias(VALUE module, const char* new, const char* old);</div><div class='del'>-</div><div class='del'>-属性の取得・設定メソッドを定義するには</div><div class='del'>-</div><div class='del'>-  void rb_define_attr(VALUE klass, const char *name, int read, int write)</div><div class='del'>-</div><div class='del'>-クラスメソッドallocateを定義したり削除したりするための関数は</div><div class='del'>-以下の通りです．</div><div class='del'>-</div><div class='del'>-  void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));</div><div class='del'>-  void rb_undef_alloc_func(VALUE klass);</div><div class='del'>-</div><div class='del'>-funcはクラスを引数として受け取って，新しく割り当てられたイン</div><div class='del'>-スタンスを返さなくてはなりません．このインスタンスは，外部リ</div><div class='del'>-ソースなどを含まない，できるだけ「空」のままにしておいたほう</div><div class='del'>-がよいでしょう．</div><div class='del'>-</div><div class='del'>-継承したクラスにある既存のメソッドをオーバーライドしているな</div><div class='del'>-ら，オーバーライドされたメソッドを呼び出すには以下の関数を使</div><div class='del'>-います．</div><div class='del'>-</div><div class='del'>-  VALUE rb_call_super(int argc, const VALUE *argv)</div><div class='del'>-</div><div class='del'>-現在のスコープのレシーバは(他に方法がなければ)，以下の関数で</div><div class='del'>-得ることができます．</div><div class='del'>-</div><div class='del'>-  VALUE rb_current_receiver(void)</div><div class='del'>-</div><div class='del'>-==== 定数定義</div><div class='del'>-</div><div class='del'>-拡張ライブラリが必要な定数はあらかじめ定義しておいた方が良い</div><div class='del'>-でしょう．定数を定義する関数は二つあります．</div><div class='del'>-</div><div class='del'>-  void rb_define_const(VALUE klass, const char *name, VALUE val)</div><div class='del'>-  void rb_define_global_const(const char *name, VALUE val)</div><div class='del'>-</div><div class='del'>-前者は特定のクラス/モジュールに属する定数を定義するもの，後</div><div class='del'>-者はグローバルな定数を定義するものです．</div><div class='del'>-</div><div class='del'>-=== Rubyの機能をCから呼び出す</div><div class='del'>-</div><div class='del'>-既に『1.5 Rubyのデータを操作する』で一部紹介したような関数を</div><div class='del'>-使えば，Rubyの機能を実現している関数を直接呼び出すことが出来</div><div class='del'>-ます．</div><div class='del'>-</div><div class='del'>-# このような関数の一覧表はいまのところありません．ソースを見</div><div class='del'>-# るしかないですね．</div><div class='del'>-</div><div class='del'>-それ以外にもRubyの機能を呼び出す方法はいくつかあります．</div><div class='del'>-</div><div class='del'>-==== Rubyのプログラムをevalする</div><div class='del'>-</div><div class='del'>-CからRubyの機能を呼び出すもっとも簡単な方法として，文字列で</div><div class='del'>-与えられたRubyのプログラムを評価する以下の関数があります．</div><div class='del'>-</div><div class='del'>-  VALUE rb_eval_string(const char *str)</div><div class='del'>-</div><div class='del'>-この評価は現在の環境で行われます．つまり，現在のローカル変数</div><div class='del'>-などを受け継ぎます．</div><div class='del'>-</div><div class='del'>-評価は例外を発生するかもしれないことに注意しましょう. より安全</div><div class='del'>-な関数もあります.</div><div class='del'>-</div><div class='del'>-  VALUE rb_eval_string_protect(const char *str, int *state)</div><div class='del'>-</div><div class='del'>-この関数はエラーが発生するとnilを返します．そして，成功時には</div><div class='del'>-*stateはゼロに，さもなくば非ゼロになります．</div><div class='del'>-</div><div class='del'>-==== IDまたはシンボル</div><div class='del'>-</div><div class='del'>-Cから文字列を経由せずにRubyのメソッドを呼び出すこともできま</div><div class='del'>-す．その前に，Rubyインタプリタ内でメソッドや変数名を指定する</div><div class='del'>-時に使われているIDについて説明しておきましょう．</div><div class='del'>-</div><div class='del'>-IDとは変数名，メソッド名を表す整数です．Rubyの中では</div><div class='del'>-</div><div class='del'>- :識別子</div><div class='del'>-</div><div class='del'>-または</div><div class='del'>-</div><div class='del'>- :"任意の文字列"</div><div class='del'>-</div><div class='del'>-でアクセスできます．Cからこの整数を得るためには関数</div><div class='del'>-</div><div class='del'>-  rb_intern(const char *name)</div><div class='del'>-  rb_intern_str(VALUE name)</div><div class='del'>-</div><div class='del'>-を使います．Rubyから引数として与えられたシンボル(または文字</div><div class='del'>-列)をIDに変換するには以下の関数を使います．</div><div class='del'>-</div><div class='del'>-  rb_to_id(VALUE symbol)</div><div class='del'>-  rb_check_id(volatile VALUE *name)</div><div class='del'>-  rb_check_id_cstr(const char *name, long len, rb_encoding *enc)</div><div class='del'>-</div><div class='del'>-もし引数がシンボルでも文字列でもなければ，to_strメソッドで文</div><div class='del'>-字列に変換しようとします．第二の関数はその変換結果を*nameに保</div><div class='del'>-存し,その名前が既知のシンボルでない場合は0を返します．この関</div><div class='del'>-数が0以外を返した場合は*nameは常にシンボルか文字列であり，0を</div><div class='del'>-返した場合は常に文字列です．第三の関数はRubyの文字列ではなく</div><div class='del'>-NUL終端されたCの文字列を使います．</div><div class='del'>-</div><div class='del'>-Rubyから引数として与えられたシンボル(または文字列)をシンボル</div><div class='del'>-に変換するには以下の関数を使います．</div><div class='del'>-</div><div class='del'>-  rb_to_symbol(VALUE name)</div><div class='del'>-  rb_check_symbol(volatile VALUE *namep)</div><div class='del'>-  rb_check_symbol_cstr(const char *ptr, long len, rb_encoding *enc)</div><div class='del'>-</div><div class='del'>-これらの関数は，IDの代わりにシンボルを返すことを除けば上記の</div><div class='del'>-関数と同じです．</div><div class='del'>-</div><div class='del'>-==== CからRubyのメソッドを呼び出す</div><div class='del'>-</div><div class='del'>-Cから文字列を経由せずにRubyのメソッドを呼び出すためには以下</div><div class='del'>-の関数を使います．</div><div class='del'>-</div><div class='del'>-  VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)</div><div class='del'>-</div><div class='del'>-この関数はオブジェクトrecvのmidで指定されるメソッドを呼び出</div><div class='del'>-します．その他に引数の指定の仕方が違う以下の関数もあります．</div><div class='del'>-</div><div class='del'>-  VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='del'>-  VALUE rb_funcallv(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='del'>-  VALUE rb_apply(VALUE recv, ID mid, VALUE args)</div><div class='del'>-</div><div class='del'>-applyには引数としてRubyの配列を与えます．</div><div class='del'>-</div><div class='del'>-==== 変数/定数を参照/更新する</div><div class='del'>-</div><div class='del'>-Cから関数を使って参照・更新できるのは，定数，インスタンス変</div><div class='del'>-数です．大域変数は一部のものはCの大域変数としてアクセスでき</div><div class='del'>-ます．ローカル変数を参照する方法は公開していません．</div><div class='del'>-</div><div class='del'>-オブジェクトのインスタンス変数を参照・更新する関数は以下の通</div><div class='del'>-りです．</div><div class='del'>-</div><div class='del'>-  VALUE rb_ivar_get(VALUE obj, ID id)</div><div class='del'>-  VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)</div><div class='del'>-</div><div class='del'>-idはrb_intern()で得られるものを使ってください．</div><div class='del'>-</div><div class='del'>-定数を参照するには以下の関数を使ってください．</div><div class='del'>-</div><div class='del'>-  VALUE rb_const_get(VALUE obj, ID id)</div><div class='del'>-</div><div class='del'>-定数を新しく定義するためには『2.1.3 定数定義』で紹介さ</div><div class='del'>-れている関数を使ってください．</div><div class='del'>-</div><div class='del'>-== RubyとCとの情報共有</div><div class='del'>-</div><div class='del'>-C言語とRubyの間で情報を共有する方法について解説します．</div><div class='del'>-</div><div class='del'>-=== Cから参照できるRubyの定数</div><div class='del'>-</div><div class='del'>-以下のRubyの定数はCのレベルから参照できます．</div><div class='del'>-</div><div class='del'>-Qtrue ::</div><div class='del'>-Qfalse ::</div><div class='del'>-</div><div class='del'>-  真偽値．QfalseはC言語でも偽とみなされます(つまり0)．</div><div class='del'>-</div><div class='del'>-Qnil ::</div><div class='del'>-</div><div class='del'>-  C言語から見た「nil」．</div><div class='del'>-</div><div class='del'>-=== CとRubyで共有される大域変数</div><div class='del'>-</div><div class='del'>-CとRubyで大域変数を使って情報を共有できます．共有できる大域</div><div class='del'>-変数にはいくつかの種類があります．そのなかでもっとも良く使わ</div><div class='del'>-れると思われるのはrb_define_variable()です．</div><div class='del'>-</div><div class='del'>-  void rb_define_variable(const char *name, VALUE *var)</div><div class='del'>-</div><div class='del'>-この関数はRubyとCとで共有する大域変数を定義します．変数名が</div><div class='del'>-`$'で始まらない時には自動的に追加されます．この変数の値を変</div><div class='del'>-更すると自動的にRubyの対応する変数の値も変わります．</div><div class='del'>-</div><div class='del'>-またRuby側からは更新できない変数もあります．このread onlyの</div><div class='del'>-変数は以下の関数で定義します．</div><div class='del'>-</div><div class='del'>-  void rb_define_readonly_variable(const char *name, VALUE *var)</div><div class='del'>-</div><div class='del'>-これら変数の他にhookをつけた大域変数を定義できます．hook付き</div><div class='del'>-の大域変数は以下の関数を用いて定義します．hook付き大域変数の</div><div class='del'>-値の参照や設定はhookで行う必要があります．</div><div class='del'>-</div><div class='del'>-  void rb_define_hooked_variable(const char *name, VALUE *var,</div><div class='del'>-                                 VALUE (*getter)(), void (*setter)())</div><div class='del'>-</div><div class='del'>-この関数はCの関数によってhookのつけられた大域変数を定義しま</div><div class='del'>-す．変数が参照された時には関数getterが，変数に値がセットされ</div><div class='del'>-た時には関数setterが呼ばれる．hookを指定しない場合はgetterや</div><div class='del'>-setterに0を指定します．</div><div class='del'>---</div><div class='del'>-getterもsetterも0ならばrb_define_variable()と同じになる．</div><div class='del'>-++</div><div class='del'>-</div><div class='del'>-getterとsetterの仕様は次の通りです．</div><div class='del'>-</div><div class='del'>-  VALUE (*getter)(ID id, VALUE *var);</div><div class='del'>-  void (*setter)(VALUE val, ID id, VALUE *var);</div><div class='del'>-</div><div class='del'>-それから，対応するCの変数を持たないRubyの大域変数を定義する</div><div class='del'>-こともできます. その変数の値はフック関数のみによって取得・設定</div><div class='del'>-されます.</div><div class='del'>-</div><div class='del'>-  void rb_define_virtual_variable(const char *name,</div><div class='del'>-                                  VALUE (*getter)(), void (*setter)())</div><div class='del'>-</div><div class='del'>-この関数によって定義されたRubyの大域変数が参照された時には</div><div class='del'>-getterが，変数に値がセットされた時にはsetterが呼ばれます．</div><div class='del'>-</div><div class='del'>-getterとsetterの仕様は以下の通りです．</div><div class='del'>-</div><div class='del'>-  (*getter)(ID id);</div><div class='del'>-  (*setter)(VALUE val, ID id);</div><div class='del'>-</div><div class='del'>-=== CのデータをRubyオブジェクトにする</div><div class='del'>-</div><div class='del'>-Cの世界で定義されたデータ(構造体)をRubyのオブジェクトとして</div><div class='del'>-取り扱いたい場合がありえます．このような場合はTypedData_XXX</div><div class='del'>-マクロ群を用いて構造体へのポインタとRubyのオブジェクトとを互</div><div class='del'>-いに変換できます．</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-古い(非Typedな)Data_XXXマクロ群は非推奨になりました．</div><div class='del'>-将来のバージョンのRubyでは古いマクロは動作しなくなる可能性</div><div class='del'>-があります．</div><div class='del'>-++</div><div class='del'>-</div><div class='del'>-==== 構造体からオブジェクトへ</div><div class='del'>-</div><div class='del'>-構造体へのポインタsvalをRubyオブジェクトに変換するには次のマ</div><div class='del'>-クロを使います。</div><div class='del'>-</div><div class='del'>-  TypedData_Wrap_Struct(klass, data_type, sval)</div><div class='del'>-</div><div class='del'>-このマクロの戻り値は生成されたオブジェクトを表すVALUE値です．</div><div class='del'>-</div><div class='del'>-klassはこのオブジェクトのクラスです．data_typeはこの構造体を</div><div class='del'>-Rubyが管理するための情報を記述したconst rb_data_type_t型への</div><div class='del'>-ポインタです．</div><div class='del'>-</div><div class='del'>-なお, klassは, Objectや他のクラスではなくData (rb_cData)とい</div><div class='del'>-う特別なクラスから派生することが推奨されます．</div><div class='del'>-Dataから派生しない場合には, 必ずrb_undef_alloc_func(klass)</div><div class='del'>-を呼び出してください．</div><div class='del'>-</div><div class='del'>-rb_data_type_tは次のように定義されています．</div><div class='del'>-</div><div class='del'>-  typedef struct rb_data_type_struct rb_data_type_t;</div><div class='del'>-</div><div class='del'>-  struct rb_data_type_struct {</div><div class='del'>-          const char *wrap_struct_name;</div><div class='del'>-          struct {</div><div class='del'>-                  void (*dmark)(void*);</div><div class='del'>-                  void (*dfree)(void*);</div><div class='del'>-                  size_t (*dsize)(const void *);</div><div class='del'>-                  void *reserved[2];</div><div class='del'>-          } function;</div><div class='del'>-          const rb_data_type_t *parent;</div><div class='del'>-          void *data;</div><div class='del'>-          VALUE flags;</div><div class='del'>-  };</div><div class='del'>-</div><div class='del'>-wrap_struct_nameはこの構造体を識別する名前です．主に統計情報</div><div class='del'>-の収集と出力に用いられます．プロセス内で一意であれば特にCや</div><div class='del'>-Rubyの識別子として有効である必要はありません．</div><div class='del'>-</div><div class='del'>-dmarkおよびdfree関数はGC実行中に呼び出されます.</div><div class='del'>-なお, GC実行中はRubyオブジェクトのアロケーションは禁止されま</div><div class='del'>-す. よって, dmarkおよびdfree関数でRubyオブジェクトのアロケー</div><div class='del'>-ションは行わないでください.</div><div class='del'>-</div><div class='del'>-dmarkはガーベージコレクタがオブジェクトへの参照をマークする</div><div class='del'>-ときに用いる関数です．この構造体がRubyのオブジェクトへの参照</div><div class='del'>-を保持するときには, dmarkではrb_gc_markなどを用いて構造体内</div><div class='del'>-のすべての参照をマークしなければなりません．</div><div class='del'>-そのような参照を含まない時には0を指定します．</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-そのような参照は勧められません．</div><div class='del'>-++</div><div class='del'>-</div><div class='del'>-dfreeはこの構造体がもう不要になった時に呼ばれる関数です．こ</div><div class='del'>-の関数がガーベージコレクタから呼ばれます．これが-1の場合は，</div><div class='del'>-単純に構造体が解放されます．</div><div class='del'>-</div><div class='del'>-dsizeは構造体が消費しているメモリのバイト数を返す関数です．</div><div class='del'>-引数として構造体へのポインタが渡されます．実装困難であれば0</div><div class='del'>-を渡しても差し支えありませんが, できるだけ指定するようにして</div><div class='del'>-ください．</div><div class='del'>-</div><div class='del'>-reservedとparentは0で埋めなければなりません．</div><div class='del'>-</div><div class='del'>-dataにはユーザー定義の任意の値を指定できます．Rubyはこの値に</div><div class='del'>-は関知しないので，好きに使ってください．</div><div class='del'>-</div><div class='del'>-flagsには次のフラグのうち当てはまるもののビット和を指定しま</div><div class='del'>-す．いずれもRubyのガーベージコレクタについての深い理解を必要</div><div class='del'>-としますので，良くわからない場合には0を指定すると良いでしょ</div><div class='del'>-う．</div><div class='del'>-</div><div class='del'>-RUBY_TYPED_FREE_IMMEDIATELY ::</div><div class='del'>-</div><div class='del'>-  このフラグを指定すると，ガーベージコレクタはこの構造体が不</div><div class='del'>-  要になった場合にはGC中に直ちにdfreeを呼び出します．</div><div class='del'>-  dfreeがRuby内部のロック(GVL)を解放する可能性がない場合はこ</div><div class='del'>-  のフラグを指定できます．</div><div class='del'>-</div><div class='del'>-  指定しない場合はdfree呼び出しは遅延され, ファイナライザと</div><div class='del'>-  同じタイミングで実行されます．</div><div class='del'>-</div><div class='del'>-RUBY_TYPED_WB_PROTECTED ::</div><div class='del'>-</div><div class='del'>-  オブジェクトの実装がライトバリアをサポートしていることを示</div><div class='del'>-  します．このフラグを指定するとRubyはそのオブジェクトに対し</div><div class='del'>-  てGCをより効率的に実行できます．</div><div class='del'>-  ただし，指定する場合はユーザーはそのオブジェクトのすべての</div><div class='del'>-  メソッドの実装に適切にライトバリアを挿入する責任があります．</div><div class='del'>-  さもなくばRubyは実行時にクラッシュする可能性があります．</div><div class='del'>-</div><div class='del'>-  ライトバリアについてはdoc/extension.ja.rdocのAppendix D</div><div class='del'>-  "世代別GC"も参照してください．</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Cの構造体の割当と対応するオブジェクトの生成を同時に行うマク</div><div class='del'>-ロとして以下のものが提供されています．</div><div class='del'>-</div><div class='del'>-  TypedData_Make_Struct(klass, type, data_type, sval)</div><div class='del'>-</div><div class='del'>-このマクロの戻り値は生成されたオブジェクトのVALUE値</div><div class='del'>-です．このマクロは以下の式のように働きます:</div><div class='del'>-</div><div class='del'>-  (sval = ZALLOC(type), TypedData_Wrap_Struct(klass, data_type, sval))</div><div class='del'>-</div><div class='del'>-klass, data_typeはData_Wrap_Structと同じ働きをします．type</div><div class='del'>-は割り当てるC構造体の型です．割り当てられた構造体は変数sval</div><div class='del'>-に代入されます．この変数の型は (type*) である必要があります．</div><div class='del'>-</div><div class='del'>-==== オブジェクトから構造体へ</div><div class='del'>-</div><div class='del'>-TypedData_Wrap_StructやTypedData_Make_Structで生成したオブジェ</div><div class='del'>-クトから構造体へのポインタを復元するには以下のマクロを用いま</div><div class='del'>-す．</div><div class='del'>-</div><div class='del'>-  TypedData_Get_Struct(obj, type, &amp;data_type, sval)</div><div class='del'>-</div><div class='del'>-Cの構造体へのポインタは変数svalに代入されます．</div><div class='del'>-</div><div class='del'>-これらのマクロの使い方はちょっと分かりにくいので，後で説明す</div><div class='del'>-る例題を参照してください．</div><div class='del'>-</div><div class='del'>-== 例: dbmの拡張ライブラリの作成</div><div class='del'>-</div><div class='del'>-=== ディレクトリを作る</div><div class='del'>-</div><div class='del'>-  % mkdir ext/dbm</div><div class='del'>-</div><div class='del'>-Ruby 1.1からは任意のディレクトリでダイナミックライブラリを作</div><div class='del'>-ることができるようになりました．Rubyに静的にリンクする場合に</div><div class='del'>-はRubyを展開したディレクトリの下，extディレクトリの中に拡張</div><div class='del'>-ライブラリ用のディレクトリを作る必要があります．名前は適当に</div><div class='del'>-選んで構いません．</div><div class='del'>-</div><div class='del'>-=== 設計する</div><div class='del'>-</div><div class='del'>-まあ，当然なんですけど，どういう機能を実現するかどうかまず設</div><div class='del'>-計する必要があります．どんなクラスをつくるか，そのクラスには</div><div class='del'>-どんなメソッドがあるか，クラスが提供する定数などについて設計</div><div class='del'>-します．</div><div class='del'>-</div><div class='del'>-=== Cコードを書く</div><div class='del'>-</div><div class='del'>-拡張ライブラリ本体となるC言語のソースを書きます．C言語のソー</div><div class='del'>-スがひとつの時には「ライブラリ名.c」を選ぶと良いでしょう．C</div><div class='del'>-言語のソースが複数の場合には逆に「ライブラリ名.c」というファ</div><div class='del'>-イル名は避ける必要があります．オブジェクトファイルとモジュー</div><div class='del'>-ル生成時に中間的に生成される「ライブラリ名.o」というファイル</div><div class='del'>-とが衝突するからです．また，後述する mkmf ライブラリのいくつ</div><div class='del'>-かの関数がコンパイルを要するテストのために「conftest.c」とい</div><div class='del'>-うファイル名を使用することに注意してください．ソースファイル</div><div class='del'>-名として「conftest.c」を使用してはなりません．</div><div class='del'>-</div><div class='del'>-Rubyは拡張ライブラリをロードする時に「Init_ライブラリ名」と</div><div class='del'>-いう関数を自動的に実行します．dbmライブラリの場合「Init_dbm」</div><div class='del'>-です．この関数の中でクラス，モジュール，メソッド，定数などの</div><div class='del'>-定義を行います．dbm.cから一部引用します．</div><div class='del'>-</div><div class='del'>-  void</div><div class='del'>-  Init_dbm(void)</div><div class='del'>-  {</div><div class='del'>-      /* DBMクラスを定義する */</div><div class='del'>-      VALUE cDBM = rb_define_class("DBM", rb_cObject);</div><div class='del'>-      /* DBMはEnumerableモジュールをインクルードする */</div><div class='del'>-      rb_include_module(cDBM, rb_mEnumerable);</div><div class='del'>-</div><div class='del'>-      /* DBMクラスのクラスメソッドopen(): 引数はCの配列で受ける */</div><div class='del'>-      rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);</div><div class='del'>-</div><div class='del'>-      /* DBMクラスのメソッドclose(): 引数はなし */</div><div class='del'>-      rb_define_method(cDBM, "close", fdbm_close, 0);</div><div class='del'>-      /* DBMクラスのメソッド[]: 引数は1個 */</div><div class='del'>-      rb_define_method(cDBM, "[]", fdbm_fetch, 1);</div><div class='del'>-</div><div class='del'>-      /* ... */</div><div class='del'>-</div><div class='del'>-      /* DBMデータを格納するインスタンス変数名のためのID */</div><div class='del'>-      id_dbm = rb_intern("dbm");</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-DBMライブラリはdbmのデータと対応するオブジェクトになるはずで</div><div class='del'>-すから，Cの世界のdbmをRubyの世界に取り込む必要があります．</div><div class='del'>-</div><div class='del'>-dbm.cではTypedData_Make_Structを以下のように使っています．</div><div class='del'>-</div><div class='del'>-  struct dbmdata {</div><div class='del'>-      int  di_size;</div><div class='del'>-      DBM *di_dbm;</div><div class='del'>-  };</div><div class='del'>-</div><div class='del'>-  static const rb_data_type_t dbm_type = {</div><div class='del'>-      "dbm",</div><div class='del'>-      {0, free_dbm, memsize_dbm,},</div><div class='del'>-      0, 0,</div><div class='del'>-      RUBY_TYPED_FREE_IMMEDIATELY,</div><div class='del'>-  };</div><div class='del'>-</div><div class='del'>-  obj = TypedData_Make_Struct(klass, struct dbmdata, &amp;dbm_type, dbmp);</div><div class='del'>-</div><div class='del'>-ここではdbmdata構造体へのポインタをDataにカプセル化してい</div><div class='del'>-ます．DBM*を直接カプセル化しないのはclose()した時の処理を考</div><div class='del'>-えてのことです．</div><div class='del'>-</div><div class='del'>-Dataオブジェクトからdbmstruct構造体のポインタを取り出すため</div><div class='del'>-に以下のマクロを使っています．</div><div class='del'>-</div><div class='del'>-  #define GetDBM(obj, dbmp) do {\</div><div class='del'>-      TypedData_Get_Struct((obj), struct dbmdata, &amp;dbm_type, (dbmp));\</div><div class='del'>-      if ((dbmp) == 0) closed_dbm();\</div><div class='del'>-      if ((dbmp)-&gt;di_dbm == 0) closed_dbm();\</div><div class='del'>-  } while (0)</div><div class='del'>-</div><div class='del'>-ちょっと複雑なマクロですが，要するにdbmdata構造体のポインタ</div><div class='del'>-の取り出しと，closeされているかどうかのチェックをまとめてい</div><div class='del'>-るだけです．</div><div class='del'>-</div><div class='del'>-DBMクラスにはたくさんメソッドがありますが，分類すると3種類の</div><div class='del'>-引数の受け方があります．ひとつは引数の数が固定のもので，例と</div><div class='del'>-してはdeleteメソッドがあります．deleteメソッドを実装している</div><div class='del'>-fdbm_delete()はこのようになっています．</div><div class='del'>-</div><div class='del'>-  static VALUE</div><div class='del'>-  fdbm_delete(VALUE obj, VALUE keystr)</div><div class='del'>-  {</div><div class='del'>-      /* ... */</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-引数の数が固定のタイプは第1引数がself，第2引数以降がメソッド</div><div class='del'>-の引数となります．</div><div class='del'>-</div><div class='del'>-引数の数が不定のものはCの配列で受けるものとRubyの配列で受け</div><div class='del'>-るものとがあります．dbmライブラリの中で，Cの配列で受けるもの</div><div class='del'>-はDBMのクラスメソッドであるopen()です．これを実装している関</div><div class='del'>-数fdbm_s_open()はこうなっています．</div><div class='del'>-</div><div class='del'>-  static VALUE</div><div class='del'>-  fdbm_s_open(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-  {</div><div class='del'>-      /* ... */</div><div class='del'>-</div><div class='del'>-      if (rb_scan_args(argc, argv, "11", &amp;file, &amp;vmode) == 1) {</div><div class='del'>-          mode = 0666;          /* default value */</div><div class='del'>-      }</div><div class='del'>-</div><div class='del'>-      /* ... */</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-このタイプの関数は第1引数が与えられた引数の数，第2引数が与え</div><div class='del'>-られた引数の入っている配列になります．selfは第3引数として与</div><div class='del'>-えられます．</div><div class='del'>-</div><div class='del'>-この配列で与えられた引数を解析するための関数がopen()でも使わ</div><div class='del'>-れているrb_scan_args()です．第3引数に指定したフォーマットに従</div><div class='del'>-い，第4引数以降に指定したVALUEへの参照に値を代入してくれま</div><div class='del'>-す．</div><div class='del'>-</div><div class='del'>-引数の数をチェックするだけならrb_check_arity()が使えます．</div><div class='del'>-これは引数をリストとして扱いたいときに便利です．</div><div class='del'>-</div><div class='del'>-引数をRubyの配列として受け取るメソッドの例には</div><div class='del'>-Thread#initializeがあります．実装はこうです．</div><div class='del'>-</div><div class='del'>-  static VALUE</div><div class='del'>-  thread_initialize(VALUE thread, VALUE args)</div><div class='del'>-  {</div><div class='del'>-      /* ... */</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-第1引数はself，第2引数はRubyの配列です．</div><div class='del'>-</div><div class='del'>-*注意事項*</div><div class='del'>-</div><div class='del'>-Rubyと共有はしないがRubyのオブジェクトを格納する可能性のある</div><div class='del'>-Cの大域変数は以下の関数を使ってRubyインタプリタに変数の存在</div><div class='del'>-を教えてあげてください．でないとGCでトラブルを起こします．</div><div class='del'>-</div><div class='del'>-  void rb_global_variable(VALUE *var)</div><div class='del'>-</div><div class='del'>-=== extconf.rbを用意する</div><div class='del'>-</div><div class='del'>-Makefileを作る場合の雛型になるextconf.rbというファイルを作り</div><div class='del'>-ます．extconf.rbはライブラリのコンパイルに必要な条件のチェッ</div><div class='del'>-クなどを行うことが目的です．まず，</div><div class='del'>-</div><div class='del'>-  require 'mkmf'</div><div class='del'>-</div><div class='del'>-をextconf.rbの先頭に置きます．extconf.rbの中では以下のRuby関</div><div class='del'>-数を使うことが出来ます．</div><div class='del'>-</div><div class='del'>-  have_library(lib, func): ライブラリの存在チェック</div><div class='del'>-  have_func(func, header): 関数の存在チェック</div><div class='del'>-  have_header(header): ヘッダファイルの存在チェック</div><div class='del'>-  create_makefile(target[, target_prefix]): Makefileの生成</div><div class='del'>-</div><div class='del'>-以下の変数を使うことができます．</div><div class='del'>-</div><div class='del'>-  $CFLAGS: コンパイル時に追加的に指定するフラグ(-Oなど)</div><div class='del'>-  $CPPFLAGS: プリプロセッサに追加的に指定するフラグ(-Iや-Dなど)</div><div class='del'>-  $LDFLAGS: リンク時に追加的に指定するフラグ(-Lなど)</div><div class='del'>-  $objs: リンクされるオブジェクトファイル名のリスト</div><div class='del'>-</div><div class='del'>-オブジェクトファイルのリストは，通常はソースファイルを検索し</div><div class='del'>-て自動的に生成されますが，makeの途中でソースを生成するような</div><div class='del'>-場合は明示的に指定する必要があります．</div><div class='del'>-</div><div class='del'>-ライブラリをコンパイルする条件が揃わず，そのライブラリをコン</div><div class='del'>-パイルしない時にはcreate_makefileを呼ばなければMakefileは生</div><div class='del'>-成されず，コンパイルも行われません．</div><div class='del'>-</div><div class='del'>-=== dependを用意する</div><div class='del'>-</div><div class='del'>-もし，ディレクトリにdependというファイルが存在すれば，</div><div class='del'>-Makefileが依存関係をチェックしてくれます．</div><div class='del'>-</div><div class='del'>-  % gcc -MM *.c &gt; depend</div><div class='del'>-</div><div class='del'>-などで作ることが出来ます．あって損は無いでしょう．</div><div class='del'>-</div><div class='del'>-=== Makefileを生成する</div><div class='del'>-</div><div class='del'>-Makefileを実際に生成するためには</div><div class='del'>-</div><div class='del'>-  ruby extconf.rb</div><div class='del'>-</div><div class='del'>-とします．extconf.rbに require 'mkmf' の行がない場合にはエラー</div><div class='del'>-になりますので，引数を追加して</div><div class='del'>-</div><div class='del'>-  ruby -r mkmf extconf.rb</div><div class='del'>-</div><div class='del'>-としてください．</div><div class='del'>-</div><div class='del'>-site_ruby ディレクトリでなく，</div><div class='del'>-vendor_ruby ディレクトリにインストールする場合には</div><div class='del'>-以下のように --vendor オプションを加えてください．</div><div class='del'>-</div><div class='del'>-  ruby extconf.rb --vendor</div><div class='del'>-</div><div class='del'>-ディレクトリをext以下に用意した場合にはRuby全体のmakeの時に</div><div class='del'>-自動的にMakefileが生成されますので，このステップは不要です．</div><div class='del'>-</div><div class='del'>-=== makeする</div><div class='del'>-</div><div class='del'>-動的リンクライブラリを生成する場合にはその場でmakeしてくださ</div><div class='del'>-い．必要であれば make install でインストールされます．</div><div class='del'>-</div><div class='del'>-ext以下にディレクトリを用意した場合は，Rubyのディレクトリで</div><div class='del'>-makeを実行するとMakefileを生成からmake，必要によってはそのモ</div><div class='del'>-ジュールのRubyへのリンクまで自動的に実行してくれます．</div><div class='del'>-extconf.rbを書き換えるなどしてMakefileの再生成が必要な時はま</div><div class='del'>-たRubyディレクトリでmakeしてください．</div><div class='del'>-</div><div class='del'>-拡張ライブラリはmake installでRubyライブラリのディレクトリの</div><div class='del'>-下にコピーされます．もし拡張ライブラリと協調して使うRubyで記</div><div class='del'>-述されたプログラムがあり，Rubyライブラリに置きたい場合には，</div><div class='del'>-拡張ライブラリ用のディレクトリの下に lib というディレクトリ</div><div class='del'>-を作り，そこに 拡張子 .rb のファイルを置いておけば同時にイン</div><div class='del'>-ストールされます．</div><div class='del'>-</div><div class='del'>-=== デバッグ</div><div class='del'>-</div><div class='del'>-まあ，デバッグしないと動かないでしょうね．ext/Setupにディレ</div><div class='del'>-クトリ名を書くと静的にリンクするのでデバッガが使えるようにな</div><div class='del'>-ります．その分コンパイルが遅くなりますけど．</div><div class='del'>-</div><div class='del'>-=== できあがり</div><div class='del'>-</div><div class='del'>-後はこっそり使うなり，広く公開するなり，売るなり，ご自由にお</div><div class='del'>-使いください．Rubyの作者は拡張ライブラリに関して一切の権利を</div><div class='del'>-主張しません．</div><div class='del'>-</div><div class='del'>-== Appendix A. Rubyのソースコードの分類</div><div class='del'>-</div><div class='del'>-Rubyのソースはいくつかに分類することが出来ます．このうちクラ</div><div class='del'>-スライブラリの部分は基本的に拡張ライブラリと同じ作り方になっ</div><div class='del'>-ています．これらのソースは今までの説明でほとんど理解できると</div><div class='del'>-思います．</div><div class='del'>-</div><div class='del'>-=== Ruby言語のコア</div><div class='del'>-</div><div class='del'>-class.c    :: クラスとモジュール</div><div class='del'>-error.c    :: 例外クラスと例外機構</div><div class='del'>-gc.c       :: 記憶領域管理</div><div class='del'>-load.c     :: ライブラリのロード</div><div class='del'>-object.c   :: オブジェクト</div><div class='del'>-variable.c :: 変数と定数</div><div class='del'>-</div><div class='del'>-=== Rubyの構文解析器</div><div class='del'>-</div><div class='del'>-parse.y       :: 字句解析器と構文定義</div><div class='del'>-parse.c       :: 自動生成</div><div class='del'>-defs/keywords :: 予約語</div><div class='del'>-lex.c         :: 自動生成</div><div class='del'>-</div><div class='del'>-=== Rubyの評価器 (通称YARV)</div><div class='del'>-</div><div class='del'>-  compile.c</div><div class='del'>-  eval.c</div><div class='del'>-  eval_error.c</div><div class='del'>-  eval_jump.c</div><div class='del'>-  eval_safe.c</div><div class='del'>-  insns.def           : 仮想機械語の定義</div><div class='del'>-  iseq.c              : VM::ISeqの実装</div><div class='del'>-  thread.c            : スレッド管理とコンテキスト切り替え</div><div class='del'>-  thread_win32.c      : スレッド実装</div><div class='del'>-  thread_pthread.c    : 同上</div><div class='del'>-  vm.c</div><div class='del'>-  vm_dump.c</div><div class='del'>-  vm_eval.c</div><div class='del'>-  vm_exec.c</div><div class='del'>-  vm_insnhelper.c</div><div class='del'>-  vm_method.c</div><div class='del'>-</div><div class='del'>-  defs/opt_insns_unif.def  : 命令融合</div><div class='del'>-  defs/opt_operand.def     : 最適化のための定義</div><div class='del'>-</div><div class='del'>-    -&gt; insn*.inc           : 自動生成</div><div class='del'>-    -&gt; opt*.inc            : 自動生成</div><div class='del'>-    -&gt; vm.inc              : 自動生成</div><div class='del'>-</div><div class='del'>-=== 正規表現エンジン (鬼車)</div><div class='del'>-</div><div class='del'>-  regex.c</div><div class='del'>-  regcomp.c</div><div class='del'>-  regenc.c</div><div class='del'>-  regerror.c</div><div class='del'>-  regexec.c</div><div class='del'>-  regparse.c</div><div class='del'>-  regsyntax.c</div><div class='del'>-</div><div class='del'>-=== ユーティリティ関数</div><div class='del'>-</div><div class='del'>-debug.c    :: Cデバッガ用のデバッグシンボル</div><div class='del'>-dln.c      :: 動的ローディング</div><div class='del'>-st.c       :: 汎用ハッシュ表</div><div class='del'>-strftime.c :: 時刻整形</div><div class='del'>-util.c     :: その他のユーティリティ</div><div class='del'>-</div><div class='del'>-=== Rubyコマンドの実装</div><div class='del'>-</div><div class='del'>-  dmyext.c</div><div class='del'>-  dmydln.c</div><div class='del'>-  dmyencoding.c</div><div class='del'>-  id.c</div><div class='del'>-  inits.c</div><div class='del'>-  main.c</div><div class='del'>-  ruby.c</div><div class='del'>-  version.c</div><div class='del'>-</div><div class='del'>-  gem_prelude.rb</div><div class='del'>-  prelude.rb</div><div class='del'>-</div><div class='del'>-=== クラスライブラリ</div><div class='del'>-</div><div class='del'>-array.c      :: Array</div><div class='del'>-bignum.c     :: Bignum</div><div class='del'>-compar.c     :: Comparable</div><div class='del'>-complex.c    :: Complex</div><div class='del'>-cont.c       :: Fiber, Continuation</div><div class='del'>-dir.c        :: Dir</div><div class='del'>-enum.c       :: Enumerable</div><div class='del'>-enumerator.c :: Enumerator</div><div class='del'>-file.c       :: File</div><div class='del'>-hash.c       :: Hash</div><div class='del'>-io.c         :: IO</div><div class='del'>-marshal.c    :: Marshal</div><div class='del'>-math.c       :: Math</div><div class='del'>-numeric.c    :: Numeric, Integer, Fixnum, Float</div><div class='del'>-pack.c       :: Array#pack, String#unpack</div><div class='del'>-proc.c       :: Binding, Proc</div><div class='del'>-process.c    :: Process</div><div class='del'>-random.c     :: 乱数</div><div class='del'>-range.c      :: Range</div><div class='del'>-rational.c   :: Rational</div><div class='del'>-re.c         :: Regexp, MatchData</div><div class='del'>-signal.c     :: Signal</div><div class='del'>-sprintf.c    :: String#sprintf</div><div class='del'>-string.c     :: String</div><div class='del'>-struct.c     :: Struct</div><div class='del'>-time.c       :: Time</div><div class='del'>-</div><div class='del'>-defs/known_errors.def :: 例外クラス Errno::*</div><div class='del'>--&gt; known_errors.inc   :: 自動生成</div><div class='del'>-</div><div class='del'>-=== 多言語化</div><div class='del'>-</div><div class='del'>-encoding.c  :: Encoding</div><div class='del'>-transcode.c :: Encoding::Converter</div><div class='del'>-enc/*.c     :: エンコーディングクラス群</div><div class='del'>-enc/trans/* :: コードポイント対応表</div><div class='del'>-</div><div class='del'>-=== gorubyコマンドの実装</div><div class='del'>-</div><div class='del'>-  goruby.c</div><div class='del'>-  golf_prelude.rb      : goruby固有のライブラリ</div><div class='del'>-    -&gt; golf_prelude.c  : 自動生成</div><div class='del'>-</div><div class='del'>-== Appendix B. 拡張用関数リファレンス</div><div class='del'>-</div><div class='del'>-C言語からRubyの機能を利用するAPIは以下の通りである．</div><div class='del'>-</div><div class='del'>-=== 型</div><div class='del'>-</div><div class='del'>-VALUE ::</div><div class='del'>-</div><div class='del'>-  Rubyオブジェクトを表現する型．必要に応じてキャストして用いる．</div><div class='del'>-  組み込み型を表現するCの型はruby.hに記述してあるRで始まる構造</div><div class='del'>-  体である．VALUE型をこれらにキャストするためにRで始まる構造体</div><div class='del'>-  名を全て大文字にした名前のマクロが用意されている．</div><div class='del'>-</div><div class='del'>-=== 変数・定数</div><div class='del'>-</div><div class='del'>-Qnil ::</div><div class='del'>-</div><div class='del'>-  定数: nilオブジェクト</div><div class='del'>-</div><div class='del'>-Qtrue ::</div><div class='del'>-</div><div class='del'>-  定数: trueオブジェクト(真のデフォルト値)</div><div class='del'>-</div><div class='del'>-Qfalse ::</div><div class='del'>-</div><div class='del'>-  定数: falseオブジェクト</div><div class='del'>-</div><div class='del'>-=== Cデータのカプセル化</div><div class='del'>-</div><div class='del'>-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval) ::</div><div class='del'>-</div><div class='del'>-  Cの任意のポインタをカプセル化したRubyオブジェクトを返す．こ</div><div class='del'>-  のポインタがRubyからアクセスされなくなった時，freeで指定した</div><div class='del'>-  関数が呼ばれる．また，このポインタの指すデータが他のRubyオブ</div><div class='del'>-  ジェクトを指している場合，markに指定する関数でマークする必要</div><div class='del'>-  がある．</div><div class='del'>-</div><div class='del'>-Data_Make_Struct(klass, type, mark, free, sval) ::</div><div class='del'>-</div><div class='del'>-  type型のメモリをmallocし，変数svalに代入した後，それをカプセ</div><div class='del'>-  ル化したデータを返すマクロ．</div><div class='del'>-</div><div class='del'>-Data_Get_Struct(data, type, sval) ::</div><div class='del'>-</div><div class='del'>-  dataからtype型のポインタを取り出し変数svalに代入するマクロ．</div><div class='del'>-</div><div class='del'>-=== 型チェック</div><div class='del'>-</div><div class='del'>-  RB_TYPE_P(value, type)</div><div class='del'>-  TYPE(value)</div><div class='del'>-  FIXNUM_P(value)</div><div class='del'>-  NIL_P(value)</div><div class='del'>-  RB_INTEGER_TYPE_P(value)</div><div class='del'>-  RB_FLOAT_TYPE_P(value)</div><div class='del'>-  void Check_Type(VALUE value, int type)</div><div class='del'>-  SafeStringValue(value)</div><div class='del'>-</div><div class='del'>-=== 型変換</div><div class='del'>-</div><div class='del'>-  FIX2INT(value), INT2FIX(i)</div><div class='del'>-  FIX2LONG(value), LONG2FIX(l)</div><div class='del'>-  NUM2INT(value), INT2NUM(i)</div><div class='del'>-  NUM2UINT(value), UINT2NUM(ui)</div><div class='del'>-  NUM2LONG(value), LONG2NUM(l)</div><div class='del'>-  NUM2ULONG(value), ULONG2NUM(ul)</div><div class='del'>-  NUM2LL(value), LL2NUM(ll)</div><div class='del'>-  NUM2ULL(value), ULL2NUM(ull)</div><div class='del'>-  NUM2OFFT(value), OFFT2NUM(off)</div><div class='del'>-  NUM2SIZET(value), SIZET2NUM(size)</div><div class='del'>-  NUM2SSIZET(value), SSIZET2NUM(ssize)</div><div class='del'>-  rb_integer_pack(value, words, numwords, wordsize, nails, flags), rb_integer_unpack(words, numwords, wordsize, nails, flags)</div><div class='del'>-  NUM2DBL(value)</div><div class='del'>-  rb_float_new(f)</div><div class='del'>-  RSTRING_LEN(str)</div><div class='del'>-  RSTRING_PTR(str)</div><div class='del'>-  StringValue(value)</div><div class='del'>-  StringValuePtr(value)</div><div class='del'>-  StringValueCStr(value)</div><div class='del'>-  rb_str_new2(s)</div><div class='del'>-</div><div class='del'>-=== クラス/モジュール定義</div><div class='del'>-</div><div class='del'>-VALUE rb_define_class(const char *name, VALUE super) ::</div><div class='del'>-</div><div class='del'>-  superのサブクラスとして新しいRubyクラスを定義する．</div><div class='del'>-</div><div class='del'>-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super) ::</div><div class='del'>-</div><div class='del'>-  superのサブクラスとして新しいRubyクラスを定義し，moduleの</div><div class='del'>-  定数として定義する．</div><div class='del'>-</div><div class='del'>-VALUE rb_define_module(const char *name) ::</div><div class='del'>-</div><div class='del'>-  新しいRubyモジュールを定義する．</div><div class='del'>-</div><div class='del'>-VALUE rb_define_module_under(VALUE module, const char *name) ::</div><div class='del'>-</div><div class='del'>-  新しいRubyモジュールを定義し，moduleの定数として定義する．</div><div class='del'>-</div><div class='del'>-void rb_include_module(VALUE klass, VALUE module) ::</div><div class='del'>-</div><div class='del'>-  モジュールをインクルードする．classがすでにmoduleをインク</div><div class='del'>-  ルードしている時には何もしない(多重インクルードの禁止)．</div><div class='del'>-</div><div class='del'>-void rb_extend_object(VALUE object, VALUE module) ::</div><div class='del'>-</div><div class='del'>-  オブジェクトをモジュール(で定義されているメソッド)で拡張する．</div><div class='del'>-</div><div class='del'>-=== 大域変数定義</div><div class='del'>-</div><div class='del'>-void rb_define_variable(const char *name, VALUE *var) ::</div><div class='del'>-</div><div class='del'>-  RubyとCとで共有するグローバル変数を定義する．変数名が`$'で</div><div class='del'>-  始まらない時には自動的に追加される．nameとしてRubyの識別子</div><div class='del'>-  として許されない文字(例えば` ')を含む場合にはRubyプログラ</div><div class='del'>-  ムからは見えなくなる．</div><div class='del'>-</div><div class='del'>-void rb_define_readonly_variable(const char *name, VALUE *var) ::</div><div class='del'>-</div><div class='del'>-  RubyとCとで共有するread onlyのグローバル変数を定義する．</div><div class='del'>-  read onlyであること以外はrb_define_variable()と同じ．</div><div class='del'>-</div><div class='del'>-void rb_define_virtual_variable(const char *name, VALUE (*getter)(), void (*setter)()) ::</div><div class='del'>-</div><div class='del'>-  関数によって実現されるRuby変数を定義する．変数が参照された</div><div class='del'>-  時にはgetterが，変数に値がセットされた時にはsetterが呼ばれ</div><div class='del'>-  る．</div><div class='del'>-</div><div class='del'>-void rb_define_hooked_variable(const char *name, VALUE *var, VALUE (*getter)(), void (*setter)()) ::</div><div class='del'>-</div><div class='del'>-  関数によってhookのつけられたグローバル変数を定義する．変数</div><div class='del'>-  が参照された時にはgetterが，関数に値がセットされた時には</div><div class='del'>-  setterが呼ばれる．getterやsetterに0を指定した時にはhookを</div><div class='del'>-  指定しないのと同じ事になる．</div><div class='del'>-</div><div class='del'>-void rb_global_variable(VALUE *var) ::</div><div class='del'>-</div><div class='del'>-  GCのため，Rubyプログラムからはアクセスされないが, Rubyオブ</div><div class='del'>-  ジェクトを含む大域変数をマークする．</div><div class='del'>-</div><div class='del'>-=== 定数</div><div class='del'>-</div><div class='del'>-void rb_define_const(VALUE klass, const char *name, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  定数を定義する．</div><div class='del'>-</div><div class='del'>-void rb_define_global_const(const char *name, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  大域定数を定義する．</div><div class='del'>-</div><div class='del'>-    rb_define_const(rb_cObject, name, val)</div><div class='del'>-</div><div class='del'>-  と同じ意味．</div><div class='del'>-</div><div class='del'>-=== メソッド定義</div><div class='del'>-</div><div class='del'>-rb_define_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc) ::</div><div class='del'>-</div><div class='del'>-  メソッドを定義する．argcはselfを除く引数の数．argcが-1の時,</div><div class='del'>-  関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2</div><div class='del'>-  引数とする形式で与えられる(第3引数はself)．argcが-2の時,</div><div class='del'>-  第1引数がself, 第2引数がargs(argsは引数を含むRubyの配列)と</div><div class='del'>-  いう形式で与えられる．</div><div class='del'>-</div><div class='del'>-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc) ::</div><div class='del'>-</div><div class='del'>-  privateメソッドを定義する．引数はrb_define_method()と同じ．</div><div class='del'>-</div><div class='del'>-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc) ::</div><div class='del'>-</div><div class='del'>-  特異メソッドを定義する．引数はrb_define_method()と同じ．</div><div class='del'>-</div><div class='del'>-rb_check_arity(int argc, int min, int max) ::</div><div class='del'>-</div><div class='del'>-  引数の数であるargcがmin..maxの範囲に入っているかをチェックします．</div><div class='del'>-  もしmaxがUNLIMITED_ARGUMENTSなら，上限はチェックしません．</div><div class='del'>-  もしargcが範囲外ならArgumentErrorが発生します．</div><div class='del'>-</div><div class='del'>-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  argc, argv形式で与えられた指定されたフォーマットに従って引</div><div class='del'>-  数を分解し，続くVALUEへの参照にセットします．このフォーマッ</div><div class='del'>-  トは，ABNFで記述すると以下の通りです．</div><div class='del'>-</div><div class='del'>-    scan-arg-spec  := param-arg-spec [option-hash-arg-spec] [block-arg-spec]</div><div class='del'>-</div><div class='del'>-    param-arg-spec := pre-arg-spec [post-arg-spec] / post-arg-spec /</div><div class='del'>-                      pre-opt-post-arg-spec</div><div class='del'>-    pre-arg-spec   := num-of-leading-mandatory-args [num-of-optional-args]</div><div class='del'>-    post-arg-spec  := sym-for-variable-length-args</div><div class='del'>-                      [num-of-trailing-mandatory-args]</div><div class='del'>-    pre-opt-post-arg-spec := num-of-leading-mandatory-args num-of-optional-args</div><div class='del'>-                             num-of-trailing-mandatory-args</div><div class='del'>-    option-hash-arg-spec := sym-for-option-hash-arg</div><div class='del'>-    block-arg-spec := sym-for-block-arg</div><div class='del'>-</div><div class='del'>-    num-of-leading-mandatory-args  := DIGIT ; 先頭に置かれる省略不能な引数の数</div><div class='del'>-    num-of-optional-args           := DIGIT ; 続いて置かれる省略可能な引数の数</div><div class='del'>-    sym-for-variable-length-args   := "*"   ; 続いて置かれる可変長引数を</div><div class='del'>-                                            ; Rubyの配列で取得するための指定</div><div class='del'>-    num-of-trailing-mandatory-args := DIGIT ; 終端に置かれる省略不能な引数の数</div><div class='del'>-    sym-for-option-hash-arg        := ":"   ; オプションハッシュを取得する</div><div class='del'>-                                            ; ための指定; 省略不能な引数の</div><div class='del'>-                                            ; 数よりも多くの引数が指定され，</div><div class='del'>-                                            ; 最後の引数がハッシュ（または</div><div class='del'>-                                            ; #to_hashで変換可能）の場合に</div><div class='del'>-                                            ; 取得される．最後の引数がnilの</div><div class='del'>-                                            ; 場合，可変長引数指定がなく，</div><div class='del'>-                                            ; 省略不能引数の数よりも多くの</div><div class='del'>-                                            ; 引数が指定された場合に取得される</div><div class='del'>-    sym-for-block-arg              := "&amp;"   ; イテレータブロックを取得するための</div><div class='del'>-                                            ; 指定</div><div class='del'>-</div><div class='del'>-  フォーマットが"12"の場合，引数は最低1つで，3つ(1+2)まで許さ</div><div class='del'>-  れるという意味になります．従って，フォーマット文字列に続い</div><div class='del'>-  て3つのVALUEへの参照を置く必要があります．それらには取得した</div><div class='del'>-  変数がセットされます．変数への参照の代わりにNULLを指定する</div><div class='del'>-  こともでき，その場合は取得した引数の値は捨てられます．なお，</div><div class='del'>-  省略可能引数が省略された時の変数の値はnil(C言語のレベルでは</div><div class='del'>-  Qnil)になります．</div><div class='del'>-</div><div class='del'>-  返り値は与えられた引数の数です．オプションハッシュおよびイ</div><div class='del'>-  テレータブロックは数えません．</div><div class='del'>-</div><div class='del'>-int rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *values) ::</div><div class='del'>-</div><div class='del'>-  キーワードで指定された値をtableにしたがって取り出します．</div><div class='del'>-  tableの最初のrequired個のIDは必須キーワードを表し，続く</div><div class='del'>-  optional (optionalが負の場合は-optional-1) 個のIDは省略可能</div><div class='del'>-  キーワードです．必須キーワードがkeyword_hash中にない場合，</div><div class='del'>-  "missing keyword"ArgumentErrorが発生します．省略可能キーワー</div><div class='del'>-  ドがない場合は，values中の対応する要素にはQundefがセットされ</div><div class='del'>-  ます．keyword_hashに使用されない要素がある場合は，optionalが</div><div class='del'>-  負なら無視されますが，そうでなければ"unknown keyword"</div><div class='del'>-  ArgumentErrorが発生します．</div><div class='del'>-</div><div class='del'>-VALUE rb_extract_keywords(VALUE *original_hash) ::</div><div class='del'>-</div><div class='del'>-  original_hashで参照されるHashオブジェクトから，Symbolである</div><div class='del'>-  キーとその値を新しいHashに取り出します．original_hashの指す</div><div class='del'>-  先には，元のHashがSymbol以外のキーを含んでいた場合はそれらが</div><div class='del'>-  コピーされた別の新しいHash，そうでなければ0が保存されます．</div><div class='del'>-</div><div class='del'>-=== Rubyメソッド呼び出し</div><div class='del'>-</div><div class='del'>-VALUE rb_funcall(VALUE recv, ID mid, int narg, ...) ::</div><div class='del'>-</div><div class='del'>-  メソッド呼び出し．文字列からmidを得るためにはrb_intern()を</div><div class='del'>-  使う．</div><div class='del'>-  private/protectedなメソッドでも呼び出せる．</div><div class='del'>-</div><div class='del'>-VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv) ::</div><div class='del'>-VALUE rb_funcallv(VALUE recv, ID mid, int argc, VALUE *argv) ::</div><div class='del'>-</div><div class='del'>-  メソッド呼び出し．引数をargc, argv形式で渡す．</div><div class='del'>-  private/protectedなメソッドでも呼び出せる．</div><div class='del'>-</div><div class='del'>-VALUE rb_funcallv_public(VALUE recv, ID mid, int argc, VALUE *argv) ::</div><div class='del'>-</div><div class='del'>-  メソッド呼び出し．</div><div class='del'>-  publicなメソッドしか呼べない．</div><div class='del'>-</div><div class='del'>-VALUE rb_eval_string(const char *str) ::</div><div class='del'>-</div><div class='del'>-  文字列をRubyスクリプトとしてコンパイル・実行する．</div><div class='del'>-</div><div class='del'>-ID rb_intern(const char *name) ::</div><div class='del'>-</div><div class='del'>-  文字列に対応するIDを返す．</div><div class='del'>-</div><div class='del'>-char *rb_id2name(ID id) ::</div><div class='del'>-</div><div class='del'>-  IDに対応する文字列を返す(デバッグ用)．</div><div class='del'>-</div><div class='del'>-char *rb_class2name(VALUE klass) ::</div><div class='del'>-</div><div class='del'>-  クラスの名前を返す(デバッグ用)．クラスが名前を持たない時に</div><div class='del'>-  は, 祖先を遡って名前を持つクラスの名前を返す．</div><div class='del'>-</div><div class='del'>-int rb_respond_to(VALUE obj, ID id) ::</div><div class='del'>-</div><div class='del'>-  objがidで示されるメソッドを持つかどうかを返す．</div><div class='del'>-</div><div class='del'>-=== インスタンス変数</div><div class='del'>-</div><div class='del'>-VALUE rb_iv_get(VALUE obj, const char *name) ::</div><div class='del'>-</div><div class='del'>-  objのインスタンス変数の値を得る．`@'で始まらないインスタン</div><div class='del'>-  ス変数は Rubyプログラムからアクセスできない「隠れた」イン</div><div class='del'>-  スタンス変数になる．定数は大文字の名前を持つクラス(または</div><div class='del'>-  モジュール)のインスタンス変数として実装されている．</div><div class='del'>-</div><div class='del'>-VALUE rb_iv_set(VALUE obj, const char *name, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  objのインスタンス変数をvalにセットする．</div><div class='del'>-</div><div class='del'>-=== 制御構造</div><div class='del'>-</div><div class='del'>-VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv, VALUE (*func) (ANYARGS), VALUE data2) ::</div><div class='del'>-</div><div class='del'>-  funcをブロックとして設定し，objをレシーバ，argcとargvを引数</div><div class='del'>-  としてmidメソッドを呼び出す．funcは第一引数にyieldされた値，</div><div class='del'>-  第二引数にdata2を受け取る．複数の値がyieldされた場合(Cでは</div><div class='del'>-  rb_yield_values()とrb_yield_values2(), rb_yield_splat())，</div><div class='del'>-  data2はArrayとしてパックされている．第三, 第四引数のargcと</div><div class='del'>-  argvによってyieldされた値を取り出すことができる．</div><div class='del'>-</div><div class='del'>-\[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::</div><div class='del'>-</div><div class='del'>-  func2をブロックとして設定し, func1をイテレータとして呼ぶ．</div><div class='del'>-  func1には arg1が引数として渡され, func2には第1引数にイテレー</div><div class='del'>-  タから与えられた値, 第2引数にarg2が渡される．</div><div class='del'>-</div><div class='del'>-  1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド</div><div class='del'>-  を呼び出さなければならない.</div><div class='del'>-  1.9でobsoleteとなった. 代わりにrb_block_callが用意された.</div><div class='del'>-</div><div class='del'>-VALUE rb_yield(VALUE val) ::</div><div class='del'>-</div><div class='del'>-  valを値としてイテレータブロックを呼び出す．</div><div class='del'>-</div><div class='del'>-VALUE rb_rescue(VALUE (*func1)(ANYARGS), VALUE arg1, VALUE (*func2)(ANYARGS), VALUE arg2) ::</div><div class='del'>-</div><div class='del'>-  関数func1をarg1を引数に呼び出す．func1の実行中に例外が発生</div><div class='del'>-  した時には func2をarg2を第一引数, 発生した例外オブジェクト</div><div class='del'>-  を第二引数として呼ぶ．戻り値は例外が発生しなかった時はfunc1</div><div class='del'>-  の戻り値, 例外が発生した時にはfunc2の戻り値である．</div><div class='del'>-</div><div class='del'>-VALUE rb_ensure(VALUE (*func1)(ANYARGS), VALUE arg1, VALUE (*func2)(ANYARGS), VALUE arg2) ::</div><div class='del'>-</div><div class='del'>-  関数func1をarg1を引数として実行し, 実行終了後(たとえ例外が</div><div class='del'>-  発生しても) func2をarg2を引数として実行する．戻り値はfunc1</div><div class='del'>-  の戻り値である(例外が発生した時は戻らない)．</div><div class='del'>-</div><div class='del'>-VALUE rb_protect(VALUE (*func) (VALUE), VALUE arg, int *state) ::</div><div class='del'>-</div><div class='del'>-  関数funcをargを引数として実行し, 例外が発生しなければその戻</div><div class='del'>-  り値を返す．例外が発生した場合は, *stateに非0をセットして</div><div class='del'>-  Qnilを返す．</div><div class='del'>-  rb_jump_tag()を呼ばずに捕捉した例外を無視する場合には，</div><div class='del'>-  rb_set_errinfo(Qnil)でエラー情報をクリアしなければならない．</div><div class='del'>-</div><div class='del'>-void rb_jump_tag(int state) ::</div><div class='del'>-</div><div class='del'>-  rb_protect()やrb_eval_string_protect()で捕捉された例外を再</div><div class='del'>-  送する．stateはそれらの関数から返された値でなければならない．</div><div class='del'>-  この関数は直接の呼び出し元に戻らない．</div><div class='del'>-</div><div class='del'>-void rb_iter_break() ::</div><div class='del'>-</div><div class='del'>-  現在の最も内側のブロックを終了する．この関数は直接の呼び出</div><div class='del'>-  し元に戻らない．</div><div class='del'>-</div><div class='del'>-void rb_iter_break_value(VALUE value) ::</div><div class='del'>-</div><div class='del'>-  現在の最も内側のブロックをvalueで終了する．ブロックは引数で</div><div class='del'>-  与えられたvalueを返す．この関数は直接の呼び出し元に戻らない．</div><div class='del'>-</div><div class='del'>-=== 例外・エラー</div><div class='del'>-</div><div class='del'>-void rb_warning(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  rb_verbose時に標準エラー出力に警告情報を表示する．引数は</div><div class='del'>-  printf()と同じ．</div><div class='del'>-</div><div class='del'>-void rb_raise(rb_eRuntimeError, const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  RuntimeError例外を発生させる．引数はprintf()と同じ．</div><div class='del'>-</div><div class='del'>-void rb_raise(VALUE exception, const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  exceptionで指定した例外を発生させる．fmt以下の引数は</div><div class='del'>-  printf()と同じ．</div><div class='del'>-</div><div class='del'>-void rb_fatal(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  致命的例外を発生させる．通常の例外処理は行なわれず, インター</div><div class='del'>-  プリタが終了する(ただしensureで指定されたコードは終了前に</div><div class='del'>-  実行される)．</div><div class='del'>-</div><div class='del'>-void rb_bug(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  インタープリタなどプログラムのバグでしか発生するはずのない</div><div class='del'>-  状況の時呼ぶ．インタープリタはコアダンプし直ちに終了する．</div><div class='del'>-  例外処理は一切行なわれない．</div><div class='del'>-</div><div class='del'>-注意: "%"PRIsVALUEがObject#to_s('+'フラグが指定されていると</div><div class='del'>-きはObject#inspect)を使ったVALUEの出力に利用できる．これは</div><div class='del'>-"%i"と衝突するため，整数には"%d"を使用すること．</div><div class='del'>-</div><div class='del'>-=== Rubyの初期化・実行</div><div class='del'>-</div><div class='del'>-Rubyをアプリケーションに埋め込む場合には以下のインタフェース</div><div class='del'>-を使う．通常の拡張ライブラリには必要ない．</div><div class='del'>-</div><div class='del'>-void ruby_init() ::</div><div class='del'>-</div><div class='del'>-  Rubyインタプリタの初期化を行なう．</div><div class='del'>-</div><div class='del'>-void *ruby_options(int argc, char **argv) ::</div><div class='del'>-</div><div class='del'>-  Rubyインタプリタのコマンドライン引数の処理を行ない，</div><div class='del'>-  Rubyのソースコードをコンパイルする．</div><div class='del'>-  コンパイルされたソースへのポインタ，もしくは特殊値を返す.</div><div class='del'>-</div><div class='del'>-int ruby_run_node(void *n) ::</div><div class='del'>-</div><div class='del'>-  コンパイルされたコードを実行する．</div><div class='del'>-  実行に成功した場合はEXIT_SUCCESSを，エラーが起こったときはそれ以外を返す．</div><div class='del'>-</div><div class='del'>-void ruby_script(char *name) ::</div><div class='del'>-</div><div class='del'>-  Rubyのスクリプト名($0)を設定する．</div><div class='del'>-</div><div class='del'>-=== インタプリタのイベントのフック</div><div class='del'>-</div><div class='del'>-void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data) ::</div><div class='del'>-</div><div class='del'>-  指定されたインタプリタのイベントに対するフック関数を追加します．</div><div class='del'>-  eventsは以下の値のorでなければなりません:</div><div class='del'>-</div><div class='del'>-    RUBY_EVENT_LINE</div><div class='del'>-    RUBY_EVENT_CLASS</div><div class='del'>-    RUBY_EVENT_END</div><div class='del'>-    RUBY_EVENT_CALL</div><div class='del'>-    RUBY_EVENT_RETURN</div><div class='del'>-    RUBY_EVENT_C_CALL</div><div class='del'>-    RUBY_EVENT_C_RETURN</div><div class='del'>-    RUBY_EVENT_RAISE</div><div class='del'>-    RUBY_EVENT_ALL</div><div class='del'>-</div><div class='del'>-  rb_event_hook_func_tの定義は以下の通りです:</div><div class='del'>-</div><div class='del'>-    typedef void (*rb_event_hook_func_t)(rb_event_t event, VALUE data,</div><div class='del'>-                                         VALUE self, ID id, VALUE klass)</div><div class='del'>-</div><div class='del'>-  rb_add_event_hook() の第3引数 data は，フック関数の第2引数と</div><div class='del'>-  して渡されます．これは1.8では現在のNODEへのポインタでした．以</div><div class='del'>-  下の RB_EVENT_HOOKS_HAVE_CALLBACK_DATA も参照してください．</div><div class='del'>-</div><div class='del'>-int rb_remove_event_hook(rb_event_hook_func_t func) ::</div><div class='del'>-</div><div class='del'>-  指定されたフック関数を削除します．</div><div class='del'>-</div><div class='del'>-=== メモリ使用量</div><div class='del'>-</div><div class='del'>-void rb_gc_adjust_memory_usage(ssize_t diff) ::</div><div class='del'>-</div><div class='del'>-  登録された外部のメモリ使用量を調整します．この関数で外部のライブラリが</div><div class='del'>-  どのくらいメモリを使っているのかをGCに伝えることができます．正のdiffで</div><div class='del'>-  この関数を呼び出すとメモリ使用量の増加を意味します．新しいメモリブロッ</div><div class='del'>-  クが確保されたり，ブロックがより大きなサイズで再割り当てされたりした場</div><div class='del'>-  合などです．負のdiffでこの関数を呼び出すとメモリ使用量の減少を意味しま</div><div class='del'>-  す．メモリブロックが解放されたり，メモリブロックがより小さいサイズで再</div><div class='del'>-  確保されたりした場合などです．この関数はGCを引き起こすかもしれません．</div><div class='del'>-</div><div class='del'>-=== 互換性のためのマクロ</div><div class='del'>-</div><div class='del'>-APIの互換性をチェックするために以下のマクロがデフォルトで定義されています．</div><div class='del'>-</div><div class='del'>-NORETURN_STYLE_NEW ::</div><div class='del'>-</div><div class='del'>-  NORETURN マクロが関数型マクロとして定義されていることを意味する．</div><div class='del'>-</div><div class='del'>-HAVE_RB_DEFINE_ALLOC_FUNC ::</div><div class='del'>-</div><div class='del'>-  rb_define_alloc_func() 関数が提供されていること，つまり</div><div class='del'>-  allocation framework が使われることを意味する．</div><div class='del'>-  have_func("rb_define_alloc_func", "ruby.h")</div><div class='del'>-  の結果と同じ．</div><div class='del'>-</div><div class='del'>-HAVE_RB_REG_NEW_STR ::</div><div class='del'>-</div><div class='del'>-  StringオブジェクトからRegexpオブジェクトを作る</div><div class='del'>-  rb_reg_new_str() 関数が提供されていることを意味する．</div><div class='del'>-  have_func("rb_reg_new_str", "ruby.h").</div><div class='del'>-  の結果と同じ．</div><div class='del'>-</div><div class='del'>-HAVE_RB_IO_T ::</div><div class='del'>-</div><div class='del'>-  rb_io_t 型が提供されていることを意味する．</div><div class='del'>-</div><div class='del'>-USE_SYMBOL_AS_METHOD_NAME ::</div><div class='del'>-</div><div class='del'>-  メソッド名を返すメソッド，Module#methods, \#singleton_methods</div><div class='del'>-  などがSymbolを返すことを意味する．</div><div class='del'>-</div><div class='del'>-HAVE_RUBY_*_H ::</div><div class='del'>-</div><div class='del'>-  ruby.h で定義されている．対応するヘッダが提供されていること</div><div class='del'>-  を意味する．たとえば，HAVE_RUBY_ST_H が定義されている場合は</div><div class='del'>-  単なる st.h ではなく ruby/st.h を使用する．</div><div class='del'>-</div><div class='del'>-RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ::</div><div class='del'>-</div><div class='del'>-  rb_add_event_hook() がフック関数に渡す data を第3引数として</div><div class='del'>-  受け取ることを意味する．</div><div class='del'>-</div><div class='del'>-== Appendix C. extconf.rbで使える関数たち</div><div class='del'>-</div><div class='del'>-extconf.rbの中では利用可能なコンパイル条件チェックの関数は以</div><div class='del'>-下の通りである．</div><div class='del'>-</div><div class='del'>-have_macro(macro, headers) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderをインクルードしてマクロmacroが定義さ</div><div class='del'>-  れているかどうかチェックする．マクロが定義されている時true</div><div class='del'>-  を返す．</div><div class='del'>-</div><div class='del'>-have_library(lib, func) ::</div><div class='del'>-</div><div class='del'>-  関数funcを定義しているライブラリlibの存在をチェックする．</div><div class='del'>-  チェックに成功すると，-llibを$libsに追加し，trueを返す．</div><div class='del'>-</div><div class='del'>-find_library(lib, func, path...) ::</div><div class='del'>-</div><div class='del'>-  関数funcを定義しているライブラリlibの存在を -Lpath を追加</div><div class='del'>-  しながらチェックする．チェックに成功すると，-llibを$libsに</div><div class='del'>-  追加し，trueを返す．</div><div class='del'>-</div><div class='del'>-have_func(func, header) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderをインクルードして関数funcの存在をチェ</div><div class='del'>-  ックする．funcが標準ではリンクされないライブラリ内のもので</div><div class='del'>-  ある時には先にhave_libraryでそのライブラリをチェックしてお</div><div class='del'>-  く事．チェックに成功すると，プリプロセッサマクロ</div><div class='del'>-  `HAVE_{FUNC}` を定義し，trueを返す．</div><div class='del'>-</div><div class='del'>-have_var(var, header) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderをインクルードして変数varの存在をチェッ</div><div class='del'>-  クする．varが標準ではリンクされないライブラリ内のものであ</div><div class='del'>-  る時には先にhave_libraryでそのライブラリをチェックしておく</div><div class='del'>-  事．チェックに成功すると，プリプロセッサマクロ</div><div class='del'>-  `HAVE_{VAR}` を定義し，trueを返す．</div><div class='del'>-</div><div class='del'>-have_header(header) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルの存在をチェックする．チェックに成功すると，</div><div class='del'>-  プリプロセッサマクロ `HAVE_{HEADER_H}` を定義し，trueを返す．</div><div class='del'>-  (スラッシュやドットはアンダースコアに置換される)</div><div class='del'>-</div><div class='del'>-find_header(header, path...) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderの存在を -Ipath を追加しながらチェック</div><div class='del'>-  する．チェックに成功すると，プリプロセッサマクロ</div><div class='del'>-  `HAVE_{HEADER_H}` を定義し，trueを返す．</div><div class='del'>-  (スラッシュやドットはアンダースコアに置換される)</div><div class='del'>-</div><div class='del'>-have_struct_member(type, member[, header[, opt]]) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderをインクルードして型typeが定義され，</div><div class='del'>-  なおかつメンバmemberが存在するかをチェックする．チェックに</div><div class='del'>-  成功すると，プリプロセッサマクロ `HAVE_{TYPE}_{MEMBER}` を</div><div class='del'>-  定義し，trueを返す．</div><div class='del'>-</div><div class='del'>-have_type(type, header, opt) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderをインクルードして型typeが存在するかを</div><div class='del'>-  チェックする．チェックに成功すると，プリプロセッサマクロ</div><div class='del'>-  `HAVE_TYPE_{TYPE}` を定義し，trueを返す．</div><div class='del'>-</div><div class='del'>-check_sizeof(type, header) ::</div><div class='del'>-</div><div class='del'>-  ヘッダファイルheaderをインクルードして型typeのchar単位サイ</div><div class='del'>-  ズを調べる．チェックに成功すると，プリプロセッサマクロ</div><div class='del'>-  `SIZEOF_{TYPE}` を定義し，そのサイズを返す．定義されていな</div><div class='del'>-  いときはnilを返す．</div><div class='del'>-</div><div class='del'>-create_makefile(target[, target_prefix]) ::</div><div class='del'>-</div><div class='del'>-  拡張ライブラリ用のMakefileを生成する．この関数を呼ばなけれ</div><div class='del'>-  ばそのライブラリはコンパイルされない．targetはモジュール名</div><div class='del'>-  を表す．</div><div class='del'>-</div><div class='del'>-find_executable(command, path) ::</div><div class='del'>-</div><div class='del'>-  コマンドcommandをFile::PATH_SEPARATORで区切られたパス名の</div><div class='del'>-  リストpathから探す．pathがnilまたは省略された場合は，環境</div><div class='del'>-  変数PATHの値を使用する．実行可能なコマンドが見つかった場合</div><div class='del'>-  はパスを含むファイル名，見つからなかった場合はnilを返す．</div><div class='del'>-</div><div class='del'>-with_config(withval[, default=nil]) ::</div><div class='del'>-</div><div class='del'>-  コマンドライン上の--with-&lt;withval&gt;で指定されたオプション値</div><div class='del'>-  を得る．</div><div class='del'>-</div><div class='del'>-enable_config(config, *defaults) ::</div><div class='del'>-disable_config(config, *defaults) ::</div><div class='del'>-</div><div class='del'>-  コマンドライン上の--enable-&lt;config&gt;または</div><div class='del'>-  --disable-&lt;config&gt;で指定された真偽値を得る．</div><div class='del'>-  --enable-&lt;config&gt;が指定されていた場合はtrue，</div><div class='del'>-  --disable-&lt;config&gt;が指定されていた場合はfalseを返す．</div><div class='del'>-  どちらも指定されていない場合は，ブロックつきで呼び出されて</div><div class='del'>-  いる場合は*defaultsをyieldした結果，ブロックなしなら</div><div class='del'>-  \*defaultsを返す．</div><div class='del'>-</div><div class='del'>-dir_config(target[, default_dir]) ::</div><div class='del'>-dir_config(target[, default_include, default_lib]) ::</div><div class='del'>-</div><div class='del'>-  コマンドライン上の--with-&lt;target&gt;-dir, --with-&lt;target&gt;-include,</div><div class='del'>-  --with-&lt;target&gt;-libのいずれかで指定されるディレクトリを</div><div class='del'>-  $CFLAGS や $LDFLAGS に追加する．--with-&lt;target&gt;-dir=/pathは</div><div class='del'>-  --with-&lt;target&gt;-include=/path/include --with-&lt;target&gt;-lib=/path/lib</div><div class='del'>-  と等価である．追加された include ディレクトリと lib ディレ</div><div class='del'>-  クトリの配列を返す． ([include_dir, lib_dir])</div><div class='del'>-</div><div class='del'>-pkg_config(pkg, option=nil) ::</div><div class='del'>-</div><div class='del'>-  pkg-configコマンドからパッケージpkgの情報を [cflags, ldflags, libs]</div><div class='del'>-  の配列として得る．$CFLAGS, $LDFLAGS, $libs にはそれぞれの値が</div><div class='del'>-  追加される．</div><div class='del'>-</div><div class='del'>-  pkg-configの実際のコマンドは，以下の順で試される．</div><div class='del'>-</div><div class='del'>-  1. コマンドラインで--with-{pkg}-config={command}オプションが</div><div class='del'>-     指定された場合: {command} {option}</div><div class='del'>-  2. {pkg}-config {option}</div><div class='del'>-  3. pkg-config {option} {pkg}</div><div class='del'>-</div><div class='del'>-  optionが指定された場合は，上記の配列の代わりにそのオプションを</div><div class='del'>-  指定して得られた出力をstripしたものを返す．</div><div class='del'>-</div><div class='del'>-== Appendix D. 世代別GC</div><div class='del'>-</div><div class='del'>-Ruby 2.1から世代別GCに対応しました．我々はこれをRGenGCと呼んでいます．</div><div class='del'>-RGenGCは，過去の拡張ライブラリに（ほぼ）互換性を保つように開発されている</div><div class='del'>-ため，拡張ライブラリ側の対応はほぼ不要です．</div><div class='del'>-</div><div class='del'>-ただし，対応をすることで性能を向上することができる可能性があります．もし</div><div class='del'>-拡張ライブラリに高い性能が必要である場合は対応を検討して下さい．</div><div class='del'>-</div><div class='del'>-とくにRARRAY_PTR()/RHASH_TBL()のようなマクロを用いてポインタに直接アクセ</div><div class='del'>-スするようなコードは書かないようにして下さい．代わりに，rb_ary_aref(),</div><div class='del'>-rb_ary_store() などの，適切な API 関数を利用するようにして下さい．</div><div class='del'>-</div><div class='del'>-そのほか，対応についての詳細は extension.rdoc の「Appendix D. Generational</div><div class='del'>-GC」を参照して下さい．</div><div class='del'>-</div><div class='del'>-:enddoc: Local variables:</div><div class='del'>-:enddoc: fill-column: 60</div><div class='del'>-:enddoc: end:</div><div class='head'>diff --git a/doc/extension.rdoc b/doc/extension.rdoc<br/>deleted file mode 100644<br/>index 691631ea17..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/extension.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/extension.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,1959 +0,0 @@</div><div class='del'>-# extension.rdoc -  -*- RDoc -*- created at: Mon Aug  7 16:45:54 JST 1995</div><div class='del'>-</div><div class='del'>-= Creating Extension Libraries for Ruby</div><div class='del'>-</div><div class='del'>-This document explains how to make extension libraries for Ruby.</div><div class='del'>-</div><div class='del'>-== Basic Knowledge</div><div class='del'>-</div><div class='del'>-In C, variables have types and data do not have types.  In contrast,</div><div class='del'>-Ruby variables do not have a static type, and data themselves have</div><div class='del'>-types, so data will need to be converted between the languages.</div><div class='del'>-</div><div class='del'>-Data in Ruby are represented by the C type `VALUE'.  Each VALUE data</div><div class='del'>-has its data type.</div><div class='del'>-</div><div class='del'>-To retrieve C data from a VALUE, you need to:</div><div class='del'>-</div><div class='del'>-1. Identify the VALUE's data type</div><div class='del'>-2. Convert the VALUE into C data</div><div class='del'>-</div><div class='del'>-Converting to the wrong data type may cause serious problems.</div><div class='del'>-</div><div class='del'>-=== Data Types</div><div class='del'>-</div><div class='del'>-The Ruby interpreter has the following data types:</div><div class='del'>-</div><div class='del'>-T_NIL       :: nil</div><div class='del'>-T_OBJECT    :: ordinary object</div><div class='del'>-T_CLASS     :: class</div><div class='del'>-T_MODULE    :: module</div><div class='del'>-T_FLOAT     :: floating point number</div><div class='del'>-T_STRING    :: string</div><div class='del'>-T_REGEXP    :: regular expression</div><div class='del'>-T_ARRAY     :: array</div><div class='del'>-T_HASH      :: associative array</div><div class='del'>-T_STRUCT    :: (Ruby) structure</div><div class='del'>-T_BIGNUM    :: multi precision integer</div><div class='del'>-T_FIXNUM    :: Fixnum(31bit or 63bit integer)</div><div class='del'>-T_COMPLEX   :: complex number</div><div class='del'>-T_RATIONAL  :: rational number</div><div class='del'>-T_FILE      :: IO</div><div class='del'>-T_TRUE      :: true</div><div class='del'>-T_FALSE     :: false</div><div class='del'>-T_DATA      :: data</div><div class='del'>-T_SYMBOL    :: symbol</div><div class='del'>-</div><div class='del'>-In addition, there are several other types used internally:</div><div class='del'>-</div><div class='del'>-T_ICLASS    :: included module</div><div class='del'>-T_MATCH     :: MatchData object</div><div class='del'>-T_UNDEF     :: undefined</div><div class='del'>-T_NODE      :: syntax tree node</div><div class='del'>-T_ZOMBIE    :: object awaiting finalization</div><div class='del'>-</div><div class='del'>-Most of the types are represented by C structures.</div><div class='del'>-</div><div class='del'>-=== Check Data Type of the VALUE</div><div class='del'>-</div><div class='del'>-The macro TYPE() defined in ruby.h shows the data type of the VALUE.</div><div class='del'>-TYPE() returns the constant number T_XXXX described above.  To handle</div><div class='del'>-data types, your code will look something like this:</div><div class='del'>-</div><div class='del'>-  switch (TYPE(obj)) {</div><div class='del'>-    case T_FIXNUM:</div><div class='del'>-      /* process Fixnum */</div><div class='del'>-      break;</div><div class='del'>-    case T_STRING:</div><div class='del'>-      /* process String */</div><div class='del'>-      break;</div><div class='del'>-    case T_ARRAY:</div><div class='del'>-      /* process Array */</div><div class='del'>-      break;</div><div class='del'>-    default:</div><div class='del'>-      /* raise exception */</div><div class='del'>-      rb_raise(rb_eTypeError, "not valid value");</div><div class='del'>-      break;</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-There is the data type check function</div><div class='del'>-</div><div class='del'>-  void Check_Type(VALUE value, int type)</div><div class='del'>-</div><div class='del'>-which raises an exception if the VALUE does not have the type</div><div class='del'>-specified.</div><div class='del'>-</div><div class='del'>-There are also faster check macros for fixnums and nil.</div><div class='del'>-</div><div class='del'>-  FIXNUM_P(obj)</div><div class='del'>-  NIL_P(obj)</div><div class='del'>-</div><div class='del'>-=== Convert VALUE into C Data</div><div class='del'>-</div><div class='del'>-The data for type T_NIL, T_FALSE, T_TRUE are nil, false, true</div><div class='del'>-respectively.  They are singletons for the data type.</div><div class='del'>-The equivalent C constants are: Qnil, Qfalse, Qtrue.</div><div class='del'>-Note that Qfalse is false in C also (i.e. 0), but not Qnil.</div><div class='del'>-</div><div class='del'>-The T_FIXNUM data is a 31bit or 63bit length fixed integer.</div><div class='del'>-This size depends on the size of long: if long is 32bit then</div><div class='del'>-T_FIXNUM is 31bit, if long is 64bit then T_FIXNUM is 63bit.</div><div class='del'>-T_FIXNUM can be converted to a C integer by using the</div><div class='del'>-FIX2INT() macro or FIX2LONG().  Though you have to check that the</div><div class='del'>-data is really FIXNUM before using them, they are faster.  FIX2LONG()</div><div class='del'>-never raises exceptions, but FIX2INT() raises RangeError if the</div><div class='del'>-result is bigger or smaller than the size of int.</div><div class='del'>-There are also NUM2INT() and NUM2LONG() which converts any Ruby</div><div class='del'>-numbers into C integers.  These macros include a type check,</div><div class='del'>-so an exception will be raised if the conversion failed.  NUM2DBL()</div><div class='del'>-can be used to retrieve the double float value in the same way.</div><div class='del'>-</div><div class='del'>-You can use the macros</div><div class='del'>-StringValue() and StringValuePtr() to get a char* from a VALUE.</div><div class='del'>-StringValue(var) replaces var's value with the result of "var.to_str()".</div><div class='del'>-StringValuePtr(var) does the same replacement and returns the char*</div><div class='del'>-representation of var.  These macros will skip the replacement if var</div><div class='del'>-is a String.  Notice that the macros take only the lvalue as their</div><div class='del'>-argument, to change the value of var in place.</div><div class='del'>-</div><div class='del'>-You can also use the macro named StringValueCStr(). This is just</div><div class='del'>-like StringValuePtr(), but always adds a NUL character at the end of</div><div class='del'>-the result. If the result contains a NUL character, this macro causes</div><div class='del'>-the ArgumentError exception.</div><div class='del'>-StringValuePtr() doesn't guarantee the existence of a NUL at the end</div><div class='del'>-of the result, and the result may contain NUL.</div><div class='del'>-</div><div class='del'>-Other data types have corresponding C structures, e.g. struct RArray</div><div class='del'>-for T_ARRAY etc. The VALUE of the type which has the corresponding</div><div class='del'>-structure can be cast to retrieve the pointer to the struct.  The</div><div class='del'>-casting macro will be of the form RXXXX for each data type; for</div><div class='del'>-instance, RARRAY(obj).  See "ruby.h".  However, we do not recommend</div><div class='del'>-to access RXXXX data directly because these data structures are complex.</div><div class='del'>-Use corresponding rb_xxx() functions to access the internal struct.</div><div class='del'>-For example, to access an entry of array, use rb_ary_entry(ary, offset)</div><div class='del'>-and rb_ary_store(ary, offset, obj).</div><div class='del'>-</div><div class='del'>-There are some accessing macros for structure members, for example</div><div class='del'>-`RSTRING_LEN(str)' to get the size of the Ruby String object.  The</div><div class='del'>-allocated region can be accessed by `RSTRING_PTR(str)'.</div><div class='del'>-</div><div class='del'>-Notice: Do not change the value of the structure directly, unless you</div><div class='del'>-are responsible for the result.  This ends up being the cause of</div><div class='del'>-interesting bugs.</div><div class='del'>-</div><div class='del'>-=== Convert C Data into VALUE</div><div class='del'>-</div><div class='del'>-To convert C data to Ruby values:</div><div class='del'>-</div><div class='del'>-FIXNUM ::</div><div class='del'>-</div><div class='del'>-  left shift 1 bit, and turn on its least significant bit (LSB).</div><div class='del'>-</div><div class='del'>-Other pointer values ::</div><div class='del'>-</div><div class='del'>-  cast to VALUE.</div><div class='del'>-</div><div class='del'>-You can determine whether a VALUE is a pointer or not by checking its LSB.</div><div class='del'>-</div><div class='del'>-Notice: Ruby does not allow arbitrary pointer values to be a VALUE.  They</div><div class='del'>-should be pointers to the structures which Ruby knows about.  The known</div><div class='del'>-structures are defined in &lt;ruby.h&gt;.</div><div class='del'>-</div><div class='del'>-To convert C numbers to Ruby values, use these macros:</div><div class='del'>-</div><div class='del'>-INT2FIX() :: for integers within 31bits.</div><div class='del'>-INT2NUM() :: for arbitrary sized integers.</div><div class='del'>-</div><div class='del'>-INT2NUM() converts an integer into a Bignum if it is out of the FIXNUM</div><div class='del'>-range, but is a bit slower.</div><div class='del'>-</div><div class='del'>-=== Manipulating Ruby Data</div><div class='del'>-</div><div class='del'>-As I already mentioned, it is not recommended to modify an object's</div><div class='del'>-internal structure.  To manipulate objects, use the functions supplied</div><div class='del'>-by the Ruby interpreter. Some (not all) of the useful functions are</div><div class='del'>-listed below:</div><div class='del'>-</div><div class='del'>-==== String Functions</div><div class='del'>-</div><div class='del'>-rb_str_new(const char *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string.</div><div class='del'>-</div><div class='del'>-rb_str_new2(const char *ptr) ::</div><div class='del'>-rb_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string from a C string.  This is equivalent to</div><div class='del'>-  rb_str_new(ptr, strlen(ptr)).</div><div class='del'>-</div><div class='del'>-rb_str_new_literal(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string from a C string literal.</div><div class='del'>-</div><div class='del'>-rb_tainted_str_new(const char *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  Creates a new tainted Ruby string.  Strings from external data</div><div class='del'>-  sources should be tainted.</div><div class='del'>-</div><div class='del'>-rb_tainted_str_new2(const char *ptr) ::</div><div class='del'>-rb_tainted_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new tainted Ruby string from a C string.</div><div class='del'>-</div><div class='del'>-rb_sprintf(const char *format, ...) ::</div><div class='del'>-rb_vsprintf(const char *format, va_list ap) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string with printf(3) format.</div><div class='del'>-</div><div class='del'>-  Note: In the format string, "%"PRIsVALUE can be used for Object#to_s</div><div class='del'>-  (or Object#inspect if '+' flag is set) output (and related argument</div><div class='del'>-  must be a VALUE).  Since it conflicts with "%i", for integers in</div><div class='del'>-  format strings, use "%d".</div><div class='del'>-</div><div class='del'>-rb_str_append(VALUE str1, VALUE str2) ::</div><div class='del'>-</div><div class='del'>-  Appends Ruby string str2 to Ruby string str1.</div><div class='del'>-</div><div class='del'>-rb_str_cat(VALUE str, const char *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  Appends len bytes of data from ptr to the Ruby string.</div><div class='del'>-</div><div class='del'>-rb_str_cat2(VALUE str, const char* ptr) ::</div><div class='del'>-rb_str_cat_cstr(VALUE str, const char* ptr) ::</div><div class='del'>-</div><div class='del'>-  Appends C string ptr to Ruby string str.  This function is</div><div class='del'>-  equivalent to rb_str_cat(str, ptr, strlen(ptr)).</div><div class='del'>-</div><div class='del'>-rb_str_catf(VALUE str, const char* format, ...) ::</div><div class='del'>-rb_str_vcatf(VALUE str, const char* format, va_list ap) ::</div><div class='del'>-</div><div class='del'>-  Appends C string format and successive arguments to Ruby string</div><div class='del'>-  str according to a printf-like format.  These functions are</div><div class='del'>-  equivalent to rb_str_append(str, rb_sprintf(format, ...)) and</div><div class='del'>-  rb_str_append(str, rb_vsprintf(format, ap)), respectively.</div><div class='del'>-</div><div class='del'>-rb_enc_str_new(const char *ptr, long len, rb_encoding *enc) ::</div><div class='del'>-rb_enc_str_new_cstr(const char *ptr, rb_encoding *enc) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string with the specified encoding.</div><div class='del'>-</div><div class='del'>-rb_enc_str_new_literal(const char *ptr, rb_encoding *enc) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string from a C string literal with the specified</div><div class='del'>-  encoding.</div><div class='del'>-</div><div class='del'>-rb_usascii_str_new(const char *ptr, long len) ::</div><div class='del'>-rb_usascii_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string with encoding US-ASCII.</div><div class='del'>-</div><div class='del'>-rb_usascii_str_new_literal(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string from a C string literal with encoding</div><div class='del'>-  US-ASCII.</div><div class='del'>-</div><div class='del'>-rb_utf8_str_new(const char *ptr, long len) ::</div><div class='del'>-rb_utf8_str_new_cstr(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string with encoding UTF-8.</div><div class='del'>-</div><div class='del'>-rb_utf8_str_new_literal(const char *ptr) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby string from a C string literal with encoding</div><div class='del'>-  UTF-8.</div><div class='del'>-</div><div class='del'>-rb_str_resize(VALUE str, long len) ::</div><div class='del'>-</div><div class='del'>-  Resizes a Ruby string to len bytes.  If str is not modifiable, this</div><div class='del'>-  function raises an exception.  The length of str must be set in</div><div class='del'>-  advance.  If len is less than the old length the content beyond</div><div class='del'>-  len bytes is discarded, else if len is greater than the old length</div><div class='del'>-  the content beyond the old length bytes will not be preserved but</div><div class='del'>-  will be garbage.  Note that RSTRING_PTR(str) may change by calling</div><div class='del'>-  this function.</div><div class='del'>-</div><div class='del'>-rb_str_set_len(VALUE str, long len) ::</div><div class='del'>-</div><div class='del'>-  Sets the length of a Ruby string.  If str is not modifiable, this</div><div class='del'>-  function raises an exception.  This function preserves the content</div><div class='del'>-  up to len bytes, regardless RSTRING_LEN(str).  len must not exceed</div><div class='del'>-  the capacity of str.</div><div class='del'>-</div><div class='del'>-==== Array Functions</div><div class='del'>-</div><div class='del'>-rb_ary_new() ::</div><div class='del'>-</div><div class='del'>-  Creates an array with no elements.</div><div class='del'>-</div><div class='del'>-rb_ary_new2(long len) ::</div><div class='del'>-rb_ary_new_capa(long len) ::</div><div class='del'>-</div><div class='del'>-  Creates an array with no elements, allocating internal buffer</div><div class='del'>-  for len elements.</div><div class='del'>-</div><div class='del'>-rb_ary_new3(long n, ...) ::</div><div class='del'>-rb_ary_new_from_args(long n, ...) ::</div><div class='del'>-</div><div class='del'>-  Creates an n-element array from the arguments.</div><div class='del'>-</div><div class='del'>-rb_ary_new4(long n, VALUE *elts) ::</div><div class='del'>-rb_ary_new_from_values(long n, VALUE *elts) ::</div><div class='del'>-</div><div class='del'>-  Creates an n-element array from a C array.</div><div class='del'>-</div><div class='del'>-rb_ary_to_ary(VALUE obj) ::</div><div class='del'>-</div><div class='del'>-  Converts the object into an array.</div><div class='del'>-  Equivalent to Object#to_ary.</div><div class='del'>-</div><div class='del'>-There are many functions to operate an array.  They may dump core if other</div><div class='del'>-types are given.</div><div class='del'>-</div><div class='del'>-rb_ary_aref(int argc, const VALUE *argv, VALUE ary) ::</div><div class='del'>-</div><div class='del'>-  Equivalent to Array#[].</div><div class='del'>-</div><div class='del'>-rb_ary_entry(VALUE ary, long offset) ::</div><div class='del'>-</div><div class='del'>-  \ary[offset]</div><div class='del'>-</div><div class='del'>-rb_ary_store(VALUE ary, long offset, VALUE obj) ::</div><div class='del'>-</div><div class='del'>-  \ary[offset] = obj</div><div class='del'>-</div><div class='del'>-rb_ary_subseq(VALUE ary, long beg, long len) ::</div><div class='del'>-</div><div class='del'>-  ary[beg, len]</div><div class='del'>-</div><div class='del'>-rb_ary_push(VALUE ary, VALUE val) ::</div><div class='del'>-rb_ary_pop(VALUE ary) ::</div><div class='del'>-rb_ary_shift(VALUE ary) ::</div><div class='del'>-rb_ary_unshift(VALUE ary, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  ary.push, ary.pop, ary.shift, ary.unshift</div><div class='del'>-</div><div class='del'>-rb_ary_cat(VALUE ary, const VALUE *ptr, long len) ::</div><div class='del'>-</div><div class='del'>-  Appends len elements of objects from ptr to the array.</div><div class='del'>-</div><div class='del'>-== Extending Ruby with C</div><div class='del'>-</div><div class='del'>-=== Adding New Features to Ruby</div><div class='del'>-</div><div class='del'>-You can add new features (classes, methods, etc.) to the Ruby</div><div class='del'>-interpreter.  Ruby provides APIs for defining the following things:</div><div class='del'>-</div><div class='del'>-- Classes, Modules</div><div class='del'>-- Methods, Singleton Methods</div><div class='del'>-- Constants</div><div class='del'>-</div><div class='del'>-==== Class and Module Definition</div><div class='del'>-</div><div class='del'>-To define a class or module, use the functions below:</div><div class='del'>-</div><div class='del'>-  VALUE rb_define_class(const char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module(const char *name)</div><div class='del'>-</div><div class='del'>-These functions return the newly created class or module.  You may</div><div class='del'>-want to save this reference into a variable to use later.</div><div class='del'>-</div><div class='del'>-To define nested classes or modules, use the functions below:</div><div class='del'>-</div><div class='del'>-  VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module_under(VALUE outer, const char *name)</div><div class='del'>-</div><div class='del'>-==== Method and Singleton Method Definition</div><div class='del'>-</div><div class='del'>-To define methods or singleton methods, use these functions:</div><div class='del'>-</div><div class='del'>-  void rb_define_method(VALUE klass, const char *name,</div><div class='del'>-                        VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-  void rb_define_singleton_method(VALUE object, const char *name,</div><div class='del'>-                                  VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-The `argc' represents the number of the arguments to the C function,</div><div class='del'>-which must be less than 17.  But I doubt you'll need that many.</div><div class='del'>-</div><div class='del'>-If `argc' is negative, it specifies the calling sequence, not number of</div><div class='del'>-the arguments.</div><div class='del'>-</div><div class='del'>-If argc is -1, the function will be called as:</div><div class='del'>-</div><div class='del'>-  VALUE func(int argc, VALUE *argv, VALUE obj)</div><div class='del'>-</div><div class='del'>-where argc is the actual number of arguments, argv is the C array of</div><div class='del'>-the arguments, and obj is the receiver.</div><div class='del'>-</div><div class='del'>-If argc is -2, the arguments are passed in a Ruby array. The function</div><div class='del'>-will be called like:</div><div class='del'>-</div><div class='del'>-  VALUE func(VALUE obj, VALUE args)</div><div class='del'>-</div><div class='del'>-where obj is the receiver, and args is the Ruby array containing</div><div class='del'>-actual arguments.</div><div class='del'>-</div><div class='del'>-There are some more functions to define methods. One takes an ID</div><div class='del'>-as the name of method to be defined. See also ID or Symbol below.</div><div class='del'>-</div><div class='del'>-  void rb_define_method_id(VALUE klass, ID name,</div><div class='del'>-                           VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-There are two functions to define private/protected methods:</div><div class='del'>-</div><div class='del'>-  void rb_define_private_method(VALUE klass, const char *name,</div><div class='del'>-                                VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-  void rb_define_protected_method(VALUE klass, const char *name,</div><div class='del'>-                                  VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-At last, rb_define_module_function defines a module function,</div><div class='del'>-which are private AND singleton methods of the module.</div><div class='del'>-For example, sqrt is a module function defined in the Math module.</div><div class='del'>-It can be called in the following way:</div><div class='del'>-</div><div class='del'>-  Math.sqrt(4)</div><div class='del'>-</div><div class='del'>-or</div><div class='del'>-</div><div class='del'>-  include Math</div><div class='del'>-  sqrt(4)</div><div class='del'>-</div><div class='del'>-To define module functions, use:</div><div class='del'>-</div><div class='del'>-  void rb_define_module_function(VALUE module, const char *name,</div><div class='del'>-                                 VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-In addition, function-like methods, which are private methods defined</div><div class='del'>-in the Kernel module, can be defined using:</div><div class='del'>-</div><div class='del'>-  void rb_define_global_function(const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='del'>-</div><div class='del'>-To define an alias for the method,</div><div class='del'>-</div><div class='del'>-  void rb_define_alias(VALUE module, const char* new, const char* old);</div><div class='del'>-</div><div class='del'>-To define a reader/writer for an attribute,</div><div class='del'>-</div><div class='del'>-  void rb_define_attr(VALUE klass, const char *name, int read, int write)</div><div class='del'>-</div><div class='del'>-To define and undefine the `allocate' class method,</div><div class='del'>-</div><div class='del'>-  void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));</div><div class='del'>-  void rb_undef_alloc_func(VALUE klass);</div><div class='del'>-</div><div class='del'>-func has to take the klass as the argument and return a newly</div><div class='del'>-allocated instance.  This instance should be as empty as possible,</div><div class='del'>-without any expensive (including external) resources.</div><div class='del'>-</div><div class='del'>-If you are overriding an existing method of any ancestor of your class,</div><div class='del'>-you may rely on:</div><div class='del'>-</div><div class='del'>-  VALUE rb_call_super(int argc, const VALUE *argv)</div><div class='del'>-</div><div class='del'>-To achieve the receiver of the current scope (if no other way is</div><div class='del'>-available), you can use:</div><div class='del'>-</div><div class='del'>-  VALUE rb_current_receiver(void)</div><div class='del'>-</div><div class='del'>-==== Constant Definition</div><div class='del'>-</div><div class='del'>-We have 2 functions to define constants:</div><div class='del'>-</div><div class='del'>-  void rb_define_const(VALUE klass, const char *name, VALUE val)</div><div class='del'>-  void rb_define_global_const(const char *name, VALUE val)</div><div class='del'>-</div><div class='del'>-The former is to define a constant under specified class/module.  The</div><div class='del'>-latter is to define a global constant.</div><div class='del'>-</div><div class='del'>-=== Use Ruby Features from C</div><div class='del'>-</div><div class='del'>-There are several ways to invoke Ruby's features from C code.</div><div class='del'>-</div><div class='del'>-==== Evaluate Ruby Programs in a String</div><div class='del'>-</div><div class='del'>-The easiest way to use Ruby's functionality from a C program is to</div><div class='del'>-evaluate the string as Ruby program.  This function will do the job:</div><div class='del'>-</div><div class='del'>-  VALUE rb_eval_string(const char *str)</div><div class='del'>-</div><div class='del'>-Evaluation is done under the current context, thus current local variables</div><div class='del'>-of the innermost method (which is defined by Ruby) can be accessed.</div><div class='del'>-</div><div class='del'>-Note that the evaluation can raise an exception. There is a safer</div><div class='del'>-function:</div><div class='del'>-</div><div class='del'>-  VALUE rb_eval_string_protect(const char *str, int *state)</div><div class='del'>-</div><div class='del'>-It returns nil when an error occurred. Moreover, *state is zero if str was</div><div class='del'>-successfully evaluated, or nonzero otherwise.</div><div class='del'>-</div><div class='del'>-==== ID or Symbol</div><div class='del'>-</div><div class='del'>-You can invoke methods directly, without parsing the string.  First I</div><div class='del'>-need to explain about ID.  ID is the integer number to represent</div><div class='del'>-Ruby's identifiers such as variable names.  The Ruby data type</div><div class='del'>-corresponding to ID is Symbol.  It can be accessed from Ruby in the</div><div class='del'>-form:</div><div class='del'>-</div><div class='del'>-  :Identifier</div><div class='del'>-</div><div class='del'>-or</div><div class='del'>-</div><div class='del'>-  :"any kind of string"</div><div class='del'>-</div><div class='del'>-You can get the ID value from a string within C code by using</div><div class='del'>-</div><div class='del'>-  rb_intern(const char *name)</div><div class='del'>-  rb_intern_str(VALUE name)</div><div class='del'>-</div><div class='del'>-You can retrieve ID from Ruby object (Symbol or String) given as an</div><div class='del'>-argument by using</div><div class='del'>-</div><div class='del'>-  rb_to_id(VALUE symbol)</div><div class='del'>-  rb_check_id(volatile VALUE *name)</div><div class='del'>-  rb_check_id_cstr(const char *name, long len, rb_encoding *enc)</div><div class='del'>-</div><div class='del'>-These functions try to convert the argument to a String if it was not</div><div class='del'>-a Symbol nor a String.  The second function stores the converted</div><div class='del'>-result into *name, and returns 0 if the string is not a known symbol.</div><div class='del'>-After this function returned a non-zero value, *name is always a</div><div class='del'>-Symbol or a String, otherwise it is a String if the result is 0.</div><div class='del'>-The third function takes NUL-terminated C string, not Ruby VALUE.</div><div class='del'>-</div><div class='del'>-You can retrieve Symbol from Ruby object (Symbol or String) given as</div><div class='del'>-an argument by using</div><div class='del'>-</div><div class='del'>-  rb_to_symbol(VALUE name)</div><div class='del'>-  rb_check_symbol(volatile VALUE *namep)</div><div class='del'>-  rb_check_symbol_cstr(const char *ptr, long len, rb_encoding *enc)</div><div class='del'>-</div><div class='del'>-These functions are similar to above functions except that these</div><div class='del'>-return a Symbol instead of an ID.</div><div class='del'>-</div><div class='del'>-You can convert C ID to Ruby Symbol by using</div><div class='del'>-</div><div class='del'>-  VALUE ID2SYM(ID id)</div><div class='del'>-</div><div class='del'>-and to convert Ruby Symbol object to ID, use</div><div class='del'>-</div><div class='del'>-  ID SYM2ID(VALUE symbol)</div><div class='del'>-</div><div class='del'>-==== Invoke Ruby Method from C</div><div class='del'>-</div><div class='del'>-To invoke methods directly, you can use the function below</div><div class='del'>-</div><div class='del'>-  VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)</div><div class='del'>-</div><div class='del'>-This function invokes a method on the recv, with the method name</div><div class='del'>-specified by the symbol mid.</div><div class='del'>-</div><div class='del'>-==== Accessing the Variables and Constants</div><div class='del'>-</div><div class='del'>-You can access class variables and instance variables using access</div><div class='del'>-functions.  Also, global variables can be shared between both</div><div class='del'>-environments.  There's no way to access Ruby's local variables.</div><div class='del'>-</div><div class='del'>-The functions to access/modify instance variables are below:</div><div class='del'>-</div><div class='del'>-  VALUE rb_ivar_get(VALUE obj, ID id)</div><div class='del'>-  VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)</div><div class='del'>-</div><div class='del'>-id must be the symbol, which can be retrieved by rb_intern().</div><div class='del'>-</div><div class='del'>-To access the constants of the class/module:</div><div class='del'>-</div><div class='del'>-  VALUE rb_const_get(VALUE obj, ID id)</div><div class='del'>-</div><div class='del'>-See also Constant Definition above.</div><div class='del'>-</div><div class='del'>-== Information Sharing Between Ruby and C</div><div class='del'>-</div><div class='del'>-=== Ruby Constants That Can Be Accessed From C</div><div class='del'>-</div><div class='del'>-As stated in section 1.3,</div><div class='del'>-the following Ruby constants can be referred from C.</div><div class='del'>-</div><div class='del'>-Qtrue ::</div><div class='del'>-Qfalse ::</div><div class='del'>-</div><div class='del'>-  Boolean values.  Qfalse is false in C also (i.e. 0).</div><div class='del'>-</div><div class='del'>-Qnil ::</div><div class='del'>-</div><div class='del'>-  Ruby nil in C scope.</div><div class='del'>-</div><div class='del'>-=== Global Variables Shared Between C and Ruby</div><div class='del'>-</div><div class='del'>-Information can be shared between the two environments using shared global</div><div class='del'>-variables.  To define them, you can use functions listed below:</div><div class='del'>-</div><div class='del'>-  void rb_define_variable(const char *name, VALUE *var)</div><div class='del'>-</div><div class='del'>-This function defines the variable which is shared by both environments.</div><div class='del'>-The value of the global variable pointed to by `var' can be accessed</div><div class='del'>-through Ruby's global variable named `name'.</div><div class='del'>-</div><div class='del'>-You can define read-only (from Ruby, of course) variables using the</div><div class='del'>-function below.</div><div class='del'>-</div><div class='del'>-  void rb_define_readonly_variable(const char *name, VALUE *var)</div><div class='del'>-</div><div class='del'>-You can define hooked variables.  The accessor functions (getter and</div><div class='del'>-setter) are called on access to the hooked variables.</div><div class='del'>-</div><div class='del'>-  void rb_define_hooked_variable(const char *name, VALUE *var,</div><div class='del'>-                                 VALUE (*getter)(), void (*setter)())</div><div class='del'>-</div><div class='del'>-If you need to supply either setter or getter, just supply 0 for the</div><div class='del'>-hook you don't need.  If both hooks are 0, rb_define_hooked_variable()</div><div class='del'>-works just like rb_define_variable().</div><div class='del'>-</div><div class='del'>-The prototypes of the getter and setter functions are as follows:</div><div class='del'>-</div><div class='del'>-  VALUE (*getter)(ID id, VALUE *var);</div><div class='del'>-  void (*setter)(VALUE val, ID id, VALUE *var);</div><div class='del'>-</div><div class='del'>-Also you can define a Ruby global variable without a corresponding C</div><div class='del'>-variable.  The value of the variable will be set/get only by hooks.</div><div class='del'>-</div><div class='del'>-  void rb_define_virtual_variable(const char *name,</div><div class='del'>-                                  VALUE (*getter)(), void (*setter)())</div><div class='del'>-</div><div class='del'>-The prototypes of the getter and setter functions are as follows:</div><div class='del'>-</div><div class='del'>-  VALUE (*getter)(ID id);</div><div class='del'>-  void (*setter)(VALUE val, ID id);</div><div class='del'>-</div><div class='del'>-=== Encapsulate C Data into a Ruby Object</div><div class='del'>-</div><div class='del'>-Sometimes you need to expose your struct in the C world as a Ruby</div><div class='del'>-object.</div><div class='del'>-In a situation like this, making use of the TypedData_XXX macro</div><div class='del'>-family, the pointer to the struct and the Ruby object can be mutually</div><div class='del'>-converted.</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-The old (non-Typed) Data_XXX macro family has been deprecated.</div><div class='del'>-In the future version of Ruby, it is possible old macros will not</div><div class='del'>-work.</div><div class='del'>-++</div><div class='del'>-</div><div class='del'>-==== C struct to Ruby object</div><div class='del'>-</div><div class='del'>-You can convert sval, a pointer to your struct, into a Ruby object</div><div class='del'>-with the next macro.</div><div class='del'>-</div><div class='del'>-  TypedData_Wrap_Struct(klass, data_type, sval)</div><div class='del'>-</div><div class='del'>-TypedData_Wrap_Struct() returns a created Ruby object as a VALUE.</div><div class='del'>-</div><div class='del'>-The klass argument is the class for the object.</div><div class='del'>-data_type is a pointer to a const rb_data_type_t which describes</div><div class='del'>-how Ruby should manage the struct.</div><div class='del'>-</div><div class='del'>-It is recommended that klass derives from a special class called</div><div class='del'>-Data (rb_cData) but not from Object or other ordinal classes.</div><div class='del'>-If it doesn't, you have to call rb_undef_alloc_func(klass).</div><div class='del'>-</div><div class='del'>-rb_data_type_t is defined like this.  Let's take a look at each</div><div class='del'>-member of the struct.</div><div class='del'>-</div><div class='del'>-  typedef struct rb_data_type_struct rb_data_type_t;</div><div class='del'>-</div><div class='del'>-  struct rb_data_type_struct {</div><div class='del'>-          const char *wrap_struct_name;</div><div class='del'>-          struct {</div><div class='del'>-                  void (*dmark)(void*);</div><div class='del'>-                  void (*dfree)(void*);</div><div class='del'>-                  size_t (*dsize)(const void *);</div><div class='del'>-                  void *reserved[2];</div><div class='del'>-          } function;</div><div class='del'>-          const rb_data_type_t *parent;</div><div class='del'>-          void *data;</div><div class='del'>-          VALUE flags;</div><div class='del'>-  };</div><div class='del'>-</div><div class='del'>-wrap_struct_name is an identifier of this instance of the struct.</div><div class='del'>-It is basically used for collecting and emitting statistics.</div><div class='del'>-So the identifier must be unique in the process, but doesn't need</div><div class='del'>-to be valid as a C or Ruby identifier.</div><div class='del'>-</div><div class='del'>-These dmark / dfree functions are invoked during GC execution.  No</div><div class='del'>-object allocations are allowed during it, so do not allocate ruby</div><div class='del'>-objects inside them.</div><div class='del'>-</div><div class='del'>-dmark is a function to mark Ruby objects referred from your struct.</div><div class='del'>-It must mark all references from your struct with rb_gc_mark or</div><div class='del'>-its family if your struct keeps such references.</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-Note that it is recommended to avoid such a reference.</div><div class='del'>-++</div><div class='del'>-</div><div class='del'>-dfree is a function to free the pointer allocation.</div><div class='del'>-If this is -1, the pointer will be just freed.</div><div class='del'>-</div><div class='del'>-dsize calculates memory consumption in bytes by the struct.</div><div class='del'>-Its parameter is a pointer to your struct.</div><div class='del'>-You can pass 0 as dsize if it is hard to implement such a function.</div><div class='del'>-But it is still recommended to avoid 0.</div><div class='del'>-</div><div class='del'>-You have to fill reserved and parent with 0.</div><div class='del'>-</div><div class='del'>-You can fill "data" with an arbitrary value for your use.</div><div class='del'>-Ruby does nothing with the member.</div><div class='del'>-</div><div class='del'>-flags is a bitwise-OR of the following flag values.</div><div class='del'>-Since they require deep understanding of garbage collector in Ruby,</div><div class='del'>-you can just set 0 to flags if you are not sure.</div><div class='del'>-</div><div class='del'>-RUBY_TYPED_FREE_IMMEDIATELY ::</div><div class='del'>-</div><div class='del'>-  This flag makes the garbage collector immediately invoke dfree()</div><div class='del'>-  during GC when it need to free your struct.</div><div class='del'>-  You can specify this flag if the dfree never unlocks Ruby's</div><div class='del'>-  internal lock (GVL).</div><div class='del'>-</div><div class='del'>-  If this flag is not set, Ruby defers invokation of dfree()</div><div class='del'>-  and invokes dfree() at the same time as finalizers.</div><div class='del'>-</div><div class='del'>-RUBY_TYPED_WB_PROTECTED ::</div><div class='del'>-</div><div class='del'>-  It shows that implementation of the object supports write barriers.</div><div class='del'>-  If this flag is set, Ruby is better able to do garbage collection</div><div class='del'>-  of the object.</div><div class='del'>-</div><div class='del'>-  When it is set, however, you are responsible for putting write</div><div class='del'>-  barriers in all implementations of methods of that object as</div><div class='del'>-  appropriate. Otherwise Ruby might crash while running.</div><div class='del'>-</div><div class='del'>-  More about write barriers can be found in "Generational GC" in</div><div class='del'>-  Appendix D.</div><div class='del'>-</div><div class='del'>-You can allocate and wrap the structure in one step.</div><div class='del'>-</div><div class='del'>-  TypedData_Make_Struct(klass, type, data_type, sval)</div><div class='del'>-</div><div class='del'>-This macro returns an allocated Data object, wrapping the pointer to</div><div class='del'>-the structure, which is also allocated.  This macro works like:</div><div class='del'>-</div><div class='del'>-  (sval = ZALLOC(type), TypedData_Wrap_Struct(klass, data_type, sval))</div><div class='del'>-</div><div class='del'>-Arguments klass and data_type work like their counterparts in</div><div class='del'>-TypedData_Wrap_Struct().  A pointer to the allocated structure will</div><div class='del'>-be assigned to sval, which should be a pointer of the type specified.</div><div class='del'>-</div><div class='del'>-==== Ruby object to C struct</div><div class='del'>-</div><div class='del'>-To retrieve the C pointer from the Data object, use the macro</div><div class='del'>-TypedData_Get_Struct().</div><div class='del'>-</div><div class='del'>-  TypedData_Get_Struct(obj, type, &amp;data_type, sval)</div><div class='del'>-</div><div class='del'>-A pointer to the structure will be assigned to the variable sval.</div><div class='del'>-</div><div class='del'>-See the example below for details.</div><div class='del'>-</div><div class='del'>-== Example - Creating the dbm Extension</div><div class='del'>-</div><div class='del'>-OK, here's the example of making an extension library.  This is the</div><div class='del'>-extension to access DBMs.  The full source is included in the ext/</div><div class='del'>-directory in the Ruby's source tree.</div><div class='del'>-</div><div class='del'>-=== Make the Directory</div><div class='del'>-</div><div class='del'>-  % mkdir ext/dbm</div><div class='del'>-</div><div class='del'>-Make a directory for the extension library under ext directory.</div><div class='del'>-</div><div class='del'>-=== Design the Library</div><div class='del'>-</div><div class='del'>-You need to design the library features, before making it.</div><div class='del'>-</div><div class='del'>-=== Write the C Code</div><div class='del'>-</div><div class='del'>-You need to write C code for your extension library.  If your library</div><div class='del'>-has only one source file, choosing ``LIBRARY.c'' as a file name is</div><div class='del'>-preferred.  On the other hand, in case your library has multiple source</div><div class='del'>-files, avoid choosing ``LIBRARY.c'' for a file name.  It may conflict</div><div class='del'>-with an intermediate file ``LIBRARY.o'' on some platforms.</div><div class='del'>-Note that some functions in mkmf library described below generate</div><div class='del'>-a file ``conftest.c'' for checking with compilation.  You shouldn't</div><div class='del'>-choose ``conftest.c'' as a name of a source file.</div><div class='del'>-</div><div class='del'>-Ruby will execute the initializing function named ``Init_LIBRARY'' in</div><div class='del'>-the library.  For example, ``Init_dbm()'' will be executed when loading</div><div class='del'>-the library.</div><div class='del'>-</div><div class='del'>-Here's the example of an initializing function.</div><div class='del'>-</div><div class='del'>-  void</div><div class='del'>-  Init_dbm(void)</div><div class='del'>-  {</div><div class='del'>-      /* define DBM class */</div><div class='del'>-      VALUE cDBM = rb_define_class("DBM", rb_cObject);</div><div class='del'>-      /* DBM includes Enumerable module */</div><div class='del'>-      rb_include_module(cDBM, rb_mEnumerable);</div><div class='del'>-</div><div class='del'>-      /* DBM has class method open(): arguments are received as C array */</div><div class='del'>-      rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);</div><div class='del'>-</div><div class='del'>-      /* DBM instance method close(): no args */</div><div class='del'>-      rb_define_method(cDBM, "close", fdbm_close, 0);</div><div class='del'>-      /* DBM instance method []: 1 argument */</div><div class='del'>-      rb_define_method(cDBM, "[]", fdbm_fetch, 1);</div><div class='del'>-</div><div class='del'>-      /* ... */</div><div class='del'>-</div><div class='del'>-      /* ID for a instance variable to store DBM data */</div><div class='del'>-      id_dbm = rb_intern("dbm");</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-The dbm extension wraps the dbm struct in the C environment using</div><div class='del'>-TypedData_Make_Struct.</div><div class='del'>-</div><div class='del'>-  struct dbmdata {</div><div class='del'>-      int  di_size;</div><div class='del'>-      DBM *di_dbm;</div><div class='del'>-  };</div><div class='del'>-</div><div class='del'>-  static const rb_data_type_t dbm_type = {</div><div class='del'>-      "dbm",</div><div class='del'>-      {0, free_dbm, memsize_dbm,},</div><div class='del'>-      0, 0,</div><div class='del'>-      RUBY_TYPED_FREE_IMMEDIATELY,</div><div class='del'>-  };</div><div class='del'>-</div><div class='del'>-  obj = TypedData_Make_Struct(klass, struct dbmdata, &amp;dbm_type, dbmp);</div><div class='del'>-</div><div class='del'>-This code wraps the dbmdata structure into a Ruby object.  We avoid</div><div class='del'>-wrapping DBM* directly, because we want to cache size information.</div><div class='del'>-</div><div class='del'>-To retrieve the dbmdata structure from a Ruby object, we define the</div><div class='del'>-following macro:</div><div class='del'>-</div><div class='del'>-  #define GetDBM(obj, dbmp) do {\</div><div class='del'>-      TypedData_Get_Struct((obj), struct dbmdata, &amp;dbm_type, (dbmp));\</div><div class='del'>-      if ((dbmp) == 0) closed_dbm();\</div><div class='del'>-      if ((dbmp)-&gt;di_dbm == 0) closed_dbm();\</div><div class='del'>-  } while (0)</div><div class='del'>-</div><div class='del'>-This sort of complicated macro does the retrieving and close checking</div><div class='del'>-for the DBM.</div><div class='del'>-</div><div class='del'>-There are three kinds of way to receive method arguments.  First,</div><div class='del'>-methods with a fixed number of arguments receive arguments like this:</div><div class='del'>-</div><div class='del'>-  static VALUE</div><div class='del'>-  fdbm_delete(VALUE obj, VALUE keystr)</div><div class='del'>-  {</div><div class='del'>-        /* ... */</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-The first argument of the C function is the self, the rest are the</div><div class='del'>-arguments to the method.</div><div class='del'>-</div><div class='del'>-Second, methods with an arbitrary number of arguments receive</div><div class='del'>-arguments like this:</div><div class='del'>-</div><div class='del'>-  static VALUE</div><div class='del'>-  fdbm_s_open(int argc, VALUE *argv, VALUE klass)</div><div class='del'>-  {</div><div class='del'>-      /* ... */</div><div class='del'>-      if (rb_scan_args(argc, argv, "11", &amp;file, &amp;vmode) == 1) {</div><div class='del'>-          mode = 0666;          /* default value */</div><div class='del'>-      }</div><div class='del'>-      /* ... */</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-The first argument is the number of method arguments, the second</div><div class='del'>-argument is the C array of the method arguments, and the third</div><div class='del'>-argument is the receiver of the method.</div><div class='del'>-</div><div class='del'>-You can use the function rb_scan_args() to check and retrieve the</div><div class='del'>-arguments.  The third argument is a string that specifies how to</div><div class='del'>-capture method arguments and assign them to the following VALUE</div><div class='del'>-references.</div><div class='del'>-</div><div class='del'>-You can just check the argument number with rb_check_arity(), this is</div><div class='del'>-handy in the case you want to treat the arguments as a list.</div><div class='del'>-</div><div class='del'>-The following is an example of a method that takes arguments by Ruby's</div><div class='del'>-array:</div><div class='del'>-</div><div class='del'>-  static VALUE</div><div class='del'>-  thread_initialize(VALUE thread, VALUE args)</div><div class='del'>-  {</div><div class='del'>-      /* ... */</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-The first argument is the receiver, the second one is the Ruby array</div><div class='del'>-which contains the arguments to the method.</div><div class='del'>-</div><div class='del'>-&lt;b&gt;Notice&lt;/b&gt;: GC should know about global variables which refer to Ruby's objects,</div><div class='del'>-but are not exported to the Ruby world.  You need to protect them by</div><div class='del'>-</div><div class='del'>-  void rb_global_variable(VALUE *var)</div><div class='del'>-</div><div class='del'>-=== Prepare extconf.rb</div><div class='del'>-</div><div class='del'>-If the file named extconf.rb exists, it will be executed to generate</div><div class='del'>-Makefile.</div><div class='del'>-</div><div class='del'>-extconf.rb is the file for checking compilation conditions etc.  You</div><div class='del'>-need to put</div><div class='del'>-</div><div class='del'>-  require 'mkmf'</div><div class='del'>-</div><div class='del'>-at the top of the file.  You can use the functions below to check</div><div class='del'>-various conditions.</div><div class='del'>-</div><div class='del'>-  have_macro(macro[, headers[, opt]]): check whether macro is defined</div><div class='del'>-  have_library(lib[, func[, headers[, opt]]]): check whether library containing function exists</div><div class='del'>-  find_library(lib[, func, *paths]): find library from paths</div><div class='del'>-  have_func(func[, headers[, opt]): check whether function exists</div><div class='del'>-  have_var(var[, headers[, opt]]): check whether variable exists</div><div class='del'>-  have_header(header[, preheaders[, opt]]): check whether header file exists</div><div class='del'>-  find_header(header, *paths): find header from paths</div><div class='del'>-  have_framework(fw): check whether framework exists (for MacOS X)</div><div class='del'>-  have_struct_member(type, member[, headers[, opt]]): check whether struct has member</div><div class='del'>-  have_type(type[, headers[, opt]]): check whether type exists</div><div class='del'>-  find_type(type, opt, *headers): check whether type exists in headers</div><div class='del'>-  have_const(const[, headers[, opt]]): check whether constant is defined</div><div class='del'>-  check_sizeof(type[, headers[, opts]]): check size of type</div><div class='del'>-  check_signedness(type[, headers[, opts]]): check signedness of type</div><div class='del'>-  convertible_int(type[, headers[, opts]]): find convertible integer type</div><div class='del'>-  find_executable(bin[, path]): find executable file path</div><div class='del'>-  create_header(header): generate configured header</div><div class='del'>-  create_makefile(target[, target_prefix]): generate Makefile</div><div class='del'>-</div><div class='del'>-See MakeMakefile for full documentation of these functions.</div><div class='del'>-</div><div class='del'>-The value of the variables below will affect the Makefile.</div><div class='del'>-</div><div class='del'>-  $CFLAGS: included in CFLAGS make variable (such as -O)</div><div class='del'>-  $CPPFLAGS: included in CPPFLAGS make variable (such as -I, -D)</div><div class='del'>-  $LDFLAGS: included in LDFLAGS make variable (such as -L)</div><div class='del'>-  $objs: list of object file names</div><div class='del'>-</div><div class='del'>-Normally, the object files list is automatically generated by searching</div><div class='del'>-source files, but you must define them explicitly if any sources will</div><div class='del'>-be generated while building.</div><div class='del'>-</div><div class='del'>-If a compilation condition is not fulfilled, you should not call</div><div class='del'>-``create_makefile''.  The Makefile will not be generated, compilation will</div><div class='del'>-not be done.</div><div class='del'>-</div><div class='del'>-=== Prepare Depend (Optional)</div><div class='del'>-</div><div class='del'>-If the file named depend exists, Makefile will include that file to</div><div class='del'>-check dependencies.  You can make this file by invoking</div><div class='del'>-</div><div class='del'>-  % gcc -MM *.c &gt; depend</div><div class='del'>-</div><div class='del'>-It's harmless.  Prepare it.</div><div class='del'>-</div><div class='del'>-=== Generate Makefile</div><div class='del'>-</div><div class='del'>-Try generating the Makefile by:</div><div class='del'>-</div><div class='del'>-  ruby extconf.rb</div><div class='del'>-</div><div class='del'>-If the library should be installed under vendor_ruby directory</div><div class='del'>-instead of site_ruby directory, use --vendor option as follows.</div><div class='del'>-</div><div class='del'>-  ruby extconf.rb --vendor</div><div class='del'>-</div><div class='del'>-You don't need this step if you put the extension library under the ext</div><div class='del'>-directory of the ruby source tree.  In that case, compilation of the</div><div class='del'>-interpreter will do this step for you.</div><div class='del'>-</div><div class='del'>-=== Run make</div><div class='del'>-</div><div class='del'>-Type</div><div class='del'>-</div><div class='del'>-  make</div><div class='del'>-</div><div class='del'>-to compile your extension.  You don't need this step either if you have</div><div class='del'>-put the extension library under the ext directory of the ruby source tree.</div><div class='del'>-</div><div class='del'>-=== Debug</div><div class='del'>-</div><div class='del'>-You may need to rb_debug the extension.  Extensions can be linked</div><div class='del'>-statically by adding the directory name in the ext/Setup file so that</div><div class='del'>-you can inspect the extension with the debugger.</div><div class='del'>-</div><div class='del'>-=== Done! Now You Have the Extension Library</div><div class='del'>-</div><div class='del'>-You can do anything you want with your library.  The author of Ruby</div><div class='del'>-will not claim any restrictions on your code depending on the Ruby API.</div><div class='del'>-Feel free to use, modify, distribute or sell your program.</div><div class='del'>-</div><div class='del'>-== Appendix A. Ruby Source Files Overview</div><div class='del'>-</div><div class='del'>-=== Ruby Language Core</div><div class='del'>-</div><div class='del'>-class.c    :: classes and modules</div><div class='del'>-error.c    :: exception classes and exception mechanism</div><div class='del'>-gc.c       :: memory management</div><div class='del'>-load.c     :: library loading</div><div class='del'>-object.c   :: objects</div><div class='del'>-variable.c :: variables and constants</div><div class='del'>-</div><div class='del'>-=== Ruby Syntax Parser</div><div class='del'>-</div><div class='del'>-parse.y       :: grammar definition</div><div class='del'>-parse.c       :: automatically generated from parse.y</div><div class='del'>-defs/keywords :: reserved keywords</div><div class='del'>-lex.c         :: automatically generated from keywords</div><div class='del'>-</div><div class='del'>-=== Ruby Evaluator (a.k.a. YARV)</div><div class='del'>-</div><div class='del'>-  compile.c</div><div class='del'>-  eval.c</div><div class='del'>-  eval_error.c</div><div class='del'>-  eval_jump.c</div><div class='del'>-  eval_safe.c</div><div class='del'>-  insns.def           : definition of VM instructions</div><div class='del'>-  iseq.c              : implementation of VM::ISeq</div><div class='del'>-  thread.c            : thread management and context switching</div><div class='del'>-  thread_win32.c      : thread implementation</div><div class='del'>-  thread_pthread.c    : ditto</div><div class='del'>-  vm.c</div><div class='del'>-  vm_dump.c</div><div class='del'>-  vm_eval.c</div><div class='del'>-  vm_exec.c</div><div class='del'>-  vm_insnhelper.c</div><div class='del'>-  vm_method.c</div><div class='del'>-</div><div class='del'>-  defs/opt_insns_unif.def  : instruction unification</div><div class='del'>-  defs/opt_operand.def     : definitions for optimization</div><div class='del'>-</div><div class='del'>-    -&gt; insn*.inc           : automatically generated</div><div class='del'>-    -&gt; opt*.inc            : automatically generated</div><div class='del'>-    -&gt; vm.inc              : automatically generated</div><div class='del'>-</div><div class='del'>-=== Regular Expression Engine (Oniguruma)</div><div class='del'>-</div><div class='del'>-  regex.c</div><div class='del'>-  regcomp.c</div><div class='del'>-  regenc.c</div><div class='del'>-  regerror.c</div><div class='del'>-  regexec.c</div><div class='del'>-  regparse.c</div><div class='del'>-  regsyntax.c</div><div class='del'>-</div><div class='del'>-=== Utility Functions</div><div class='del'>-</div><div class='del'>-debug.c    :: debug symbols for C debugger</div><div class='del'>-dln.c      :: dynamic loading</div><div class='del'>-st.c       :: general purpose hash table</div><div class='del'>-strftime.c :: formatting times</div><div class='del'>-util.c     :: misc utilities</div><div class='del'>-</div><div class='del'>-=== Ruby Interpreter Implementation</div><div class='del'>-</div><div class='del'>-  dmyext.c</div><div class='del'>-  dmydln.c</div><div class='del'>-  dmyencoding.c</div><div class='del'>-  id.c</div><div class='del'>-  inits.c</div><div class='del'>-  main.c</div><div class='del'>-  ruby.c</div><div class='del'>-  version.c</div><div class='del'>-</div><div class='del'>-  gem_prelude.rb</div><div class='del'>-  prelude.rb</div><div class='del'>-</div><div class='del'>-=== Class Library</div><div class='del'>-</div><div class='del'>-array.c      :: Array</div><div class='del'>-bignum.c     :: Bignum</div><div class='del'>-compar.c     :: Comparable</div><div class='del'>-complex.c    :: Complex</div><div class='del'>-cont.c       :: Fiber, Continuation</div><div class='del'>-dir.c        :: Dir</div><div class='del'>-enum.c       :: Enumerable</div><div class='del'>-enumerator.c :: Enumerator</div><div class='del'>-file.c       :: File</div><div class='del'>-hash.c       :: Hash</div><div class='del'>-io.c         :: IO</div><div class='del'>-marshal.c    :: Marshal</div><div class='del'>-math.c       :: Math</div><div class='del'>-numeric.c    :: Numeric, Integer, Fixnum, Float</div><div class='del'>-pack.c       :: Array#pack, String#unpack</div><div class='del'>-proc.c       :: Binding, Proc</div><div class='del'>-process.c    :: Process</div><div class='del'>-random.c     :: random number</div><div class='del'>-range.c      :: Range</div><div class='del'>-rational.c   :: Rational</div><div class='del'>-re.c         :: Regexp, MatchData</div><div class='del'>-signal.c     :: Signal</div><div class='del'>-sprintf.c    :: String#sprintf</div><div class='del'>-string.c     :: String</div><div class='del'>-struct.c     :: Struct</div><div class='del'>-time.c       :: Time</div><div class='del'>-</div><div class='del'>-defs/known_errors.def :: Errno::* exception classes</div><div class='del'>--&gt; known_errors.inc   :: automatically generated</div><div class='del'>-</div><div class='del'>-=== Multilingualization</div><div class='del'>-</div><div class='del'>-encoding.c  :: Encoding</div><div class='del'>-transcode.c :: Encoding::Converter</div><div class='del'>-enc/*.c     :: encoding classes</div><div class='del'>-enc/trans/* :: codepoint mapping tables</div><div class='del'>-</div><div class='del'>-=== goruby Interpreter Implementation</div><div class='del'>-</div><div class='del'>-  goruby.c</div><div class='del'>-  golf_prelude.rb     : goruby specific libraries.</div><div class='del'>-    -&gt; golf_prelude.c : automatically generated</div><div class='del'>-</div><div class='del'>-== Appendix B. Ruby Extension API Reference</div><div class='del'>-</div><div class='del'>-=== Types</div><div class='del'>-</div><div class='del'>-VALUE ::</div><div class='del'>-</div><div class='del'>-  The type for the Ruby object.  Actual structures are defined in ruby.h,</div><div class='del'>-  such as struct RString, etc.  To refer the values in structures, use</div><div class='del'>-  casting macros like RSTRING(obj).</div><div class='del'>-</div><div class='del'>-=== Variables and Constants</div><div class='del'>-</div><div class='del'>-Qnil ::</div><div class='del'>-</div><div class='del'>-  nil object</div><div class='del'>-</div><div class='del'>-Qtrue ::</div><div class='del'>-</div><div class='del'>-  true object (default true value)</div><div class='del'>-</div><div class='del'>-Qfalse ::</div><div class='del'>-</div><div class='del'>-  false object</div><div class='del'>-</div><div class='del'>-=== C Pointer Wrapping</div><div class='del'>-</div><div class='del'>-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval) ::</div><div class='del'>-</div><div class='del'>-  Wrap a C pointer into a Ruby object.  If object has references to other</div><div class='del'>-  Ruby objects, they should be marked by using the mark function during</div><div class='del'>-  the GC process.  Otherwise, mark should be 0.  When this object is no</div><div class='del'>-  longer referred by anywhere, the pointer will be discarded by free</div><div class='del'>-  function.</div><div class='del'>-</div><div class='del'>-Data_Make_Struct(klass, type, mark, free, sval) ::</div><div class='del'>-</div><div class='del'>-  This macro allocates memory using malloc(), assigns it to the variable</div><div class='del'>-  sval, and returns the DATA encapsulating the pointer to memory region.</div><div class='del'>-</div><div class='del'>-Data_Get_Struct(data, type, sval) ::</div><div class='del'>-</div><div class='del'>-  This macro retrieves the pointer value from DATA, and assigns it to</div><div class='del'>-  the variable sval.</div><div class='del'>-</div><div class='del'>-=== Checking Data Types</div><div class='del'>-</div><div class='del'>-RB_TYPE_P(value, type) ::</div><div class='del'>-</div><div class='del'>-  Is +value+ an internal type (T_NIL, T_FIXNUM, etc.)?</div><div class='del'>-</div><div class='del'>-TYPE(value) ::</div><div class='del'>-</div><div class='del'>-  Internal type (T_NIL, T_FIXNUM, etc.)</div><div class='del'>-</div><div class='del'>-FIXNUM_P(value) ::</div><div class='del'>-</div><div class='del'>-  Is +value+ a Fixnum?</div><div class='del'>-</div><div class='del'>-NIL_P(value) ::</div><div class='del'>-</div><div class='del'>-  Is +value+ nil?</div><div class='del'>-</div><div class='del'>-RB_INTEGER_TYPE_P(value) ::</div><div class='del'>-</div><div class='del'>-  Is +value+ an Integer?</div><div class='del'>-</div><div class='del'>-RB_FLOAT_TYPE_P(value) ::</div><div class='del'>-</div><div class='del'>-  Is +value+ a Float?</div><div class='del'>-</div><div class='del'>-void Check_Type(VALUE value, int type) ::</div><div class='del'>-</div><div class='del'>-  Ensures +value+ is of the given internal +type+ or raises a TypeError</div><div class='del'>-</div><div class='del'>-SafeStringValue(value) ::</div><div class='del'>-</div><div class='del'>-  Checks that +value+ is a String and is not tainted</div><div class='del'>-</div><div class='del'>-=== Data Type Conversion</div><div class='del'>-</div><div class='del'>-FIX2INT(value), INT2FIX(i) ::</div><div class='del'>-</div><div class='del'>-  Fixnum &lt;-&gt; integer</div><div class='del'>-</div><div class='del'>-FIX2LONG(value), LONG2FIX(l) ::</div><div class='del'>-</div><div class='del'>-  Fixnum &lt;-&gt; long</div><div class='del'>-</div><div class='del'>-NUM2INT(value), INT2NUM(i) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; integer</div><div class='del'>-</div><div class='del'>-NUM2UINT(value), UINT2NUM(ui) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; unsigned integer</div><div class='del'>-</div><div class='del'>-NUM2LONG(value), LONG2NUM(l) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; long</div><div class='del'>-</div><div class='del'>-NUM2ULONG(value), ULONG2NUM(ul) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; unsigned long</div><div class='del'>-</div><div class='del'>-NUM2LL(value), LL2NUM(ll) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; long long</div><div class='del'>-</div><div class='del'>-NUM2ULL(value), ULL2NUM(ull) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; unsigned long long</div><div class='del'>-</div><div class='del'>-NUM2OFFT(value), OFFT2NUM(off) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; off_t</div><div class='del'>-</div><div class='del'>-NUM2SIZET(value), SIZET2NUM(size) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; size_t</div><div class='del'>-</div><div class='del'>-NUM2SSIZET(value), SSIZET2NUM(ssize) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; ssize_t</div><div class='del'>-</div><div class='del'>-rb_integer_pack(value, words, numwords, wordsize, nails, flags), rb_integer_unpack(words, numwords, wordsize, nails, flags) ::</div><div class='del'>-</div><div class='del'>-  Numeric &lt;-&gt; Arbitrary size integer buffer</div><div class='del'>-</div><div class='del'>-NUM2DBL(value) ::</div><div class='del'>-</div><div class='del'>-  Numeric -&gt; double</div><div class='del'>-</div><div class='del'>-rb_float_new(f) ::</div><div class='del'>-</div><div class='del'>-  double -&gt; Float</div><div class='del'>-</div><div class='del'>-RSTRING_LEN(str) ::</div><div class='del'>-</div><div class='del'>-  String -&gt; length of String data in bytes</div><div class='del'>-</div><div class='del'>-RSTRING_PTR(str) ::</div><div class='del'>-</div><div class='del'>-  String -&gt; pointer to String data</div><div class='del'>-  Note that the result pointer may not be NUL-terminated</div><div class='del'>-</div><div class='del'>-StringValue(value) ::</div><div class='del'>-</div><div class='del'>-  Object with \#to_str -&gt; String</div><div class='del'>-</div><div class='del'>-StringValuePtr(value) ::</div><div class='del'>-</div><div class='del'>-  Object with \#to_str -&gt; pointer to String data</div><div class='del'>-</div><div class='del'>-StringValueCStr(value) ::</div><div class='del'>-</div><div class='del'>-  Object with \#to_str -&gt; pointer to String data without NUL bytes</div><div class='del'>-  It is guaranteed that the result data is NUL-terminated</div><div class='del'>-</div><div class='del'>-rb_str_new2(s) ::</div><div class='del'>-</div><div class='del'>-  char * -&gt; String</div><div class='del'>-</div><div class='del'>-=== Defining Classes and Modules</div><div class='del'>-</div><div class='del'>-VALUE rb_define_class(const char *name, VALUE super) ::</div><div class='del'>-</div><div class='del'>-  Defines a new Ruby class as a subclass of super.</div><div class='del'>-</div><div class='del'>-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super) ::</div><div class='del'>-</div><div class='del'>-  Creates a new Ruby class as a subclass of super, under the module's</div><div class='del'>-  namespace.</div><div class='del'>-</div><div class='del'>-VALUE rb_define_module(const char *name) ::</div><div class='del'>-</div><div class='del'>-  Defines a new Ruby module.</div><div class='del'>-</div><div class='del'>-VALUE rb_define_module_under(VALUE module, const char *name) ::</div><div class='del'>-</div><div class='del'>-  Defines a new Ruby module under the module's namespace.</div><div class='del'>-</div><div class='del'>-void rb_include_module(VALUE klass, VALUE module) ::</div><div class='del'>-</div><div class='del'>-  Includes module into class.  If class already includes it, just ignored.</div><div class='del'>-</div><div class='del'>-void rb_extend_object(VALUE object, VALUE module) ::</div><div class='del'>-</div><div class='del'>-  Extend the object with the module's attributes.</div><div class='del'>-</div><div class='del'>-=== Defining Global Variables</div><div class='del'>-</div><div class='del'>-void rb_define_variable(const char *name, VALUE *var) ::</div><div class='del'>-</div><div class='del'>-  Defines a global variable which is shared between C and Ruby.  If name</div><div class='del'>-  contains a character which is not allowed to be part of the symbol,</div><div class='del'>-  it can't be seen from Ruby programs.</div><div class='del'>-</div><div class='del'>-void rb_define_readonly_variable(const char *name, VALUE *var) ::</div><div class='del'>-</div><div class='del'>-  Defines a read-only global variable.  Works just like</div><div class='del'>-  rb_define_variable(), except the defined variable is read-only.</div><div class='del'>-</div><div class='del'>-void rb_define_virtual_variable(const char *name, VALUE (*getter)(), void (*setter)()) ::</div><div class='del'>-</div><div class='del'>-  Defines a virtual variable, whose behavior is defined by a pair of C</div><div class='del'>-  functions.  The getter function is called when the variable is</div><div class='del'>-  referenced.  The setter function is called when the variable is set to a</div><div class='del'>-  value.  The prototype for getter/setter functions are:</div><div class='del'>-</div><div class='del'>-    VALUE getter(ID id)</div><div class='del'>-    void setter(VALUE val, ID id)</div><div class='del'>-</div><div class='del'>-  The getter function must return the value for the access.</div><div class='del'>-</div><div class='del'>-void rb_define_hooked_variable(const char *name, VALUE *var, VALUE (*getter)(), void (*setter)()) ::</div><div class='del'>-</div><div class='del'>-  Defines hooked variable.  It's a virtual variable with a C variable.</div><div class='del'>-  The getter is called as</div><div class='del'>-</div><div class='del'>-    VALUE getter(ID id, VALUE *var)</div><div class='del'>-</div><div class='del'>-  returning a new value.  The setter is called as</div><div class='del'>-</div><div class='del'>-    void setter(VALUE val, ID id, VALUE *var)</div><div class='del'>-</div><div class='del'>-void rb_global_variable(VALUE *var) ::</div><div class='del'>-</div><div class='del'>-  GC requires C global variables which hold Ruby values to be marked.</div><div class='del'>-  rb_global_variable tells GC to protect these variables.</div><div class='del'>-</div><div class='del'>-=== Constant Definition</div><div class='del'>-</div><div class='del'>-void rb_define_const(VALUE klass, const char *name, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  Defines a new constant under the class/module.</div><div class='del'>-</div><div class='del'>-void rb_define_global_const(const char *name, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  Defines a global constant.  This is just the same as</div><div class='del'>-</div><div class='del'>-    rb_define_const(rb_cObject, name, val)</div><div class='del'>-</div><div class='del'>-=== Method Definition</div><div class='del'>-</div><div class='del'>-rb_define_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc) ::</div><div class='del'>-</div><div class='del'>-  Defines a method for the class.  func is the function pointer.  argc</div><div class='del'>-  is the number of arguments.  if argc is -1, the function will receive</div><div class='del'>-  3 arguments: argc, argv, and self.  if argc is -2, the function will</div><div class='del'>-  receive 2 arguments, self and args, where args is a Ruby array of</div><div class='del'>-  the method arguments.</div><div class='del'>-</div><div class='del'>-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc) ::</div><div class='del'>-</div><div class='del'>-  Defines a private method for the class.  Arguments are same as</div><div class='del'>-  rb_define_method().</div><div class='del'>-</div><div class='del'>-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc) ::</div><div class='del'>-</div><div class='del'>-  Defines a singleton method.  Arguments are same as rb_define_method().</div><div class='del'>-</div><div class='del'>-rb_check_arity(int argc, int min, int max) ::</div><div class='del'>-</div><div class='del'>-  Check the number of arguments, argc is in the range of min..max.  If</div><div class='del'>-  max is UNLIMITED_ARGUMENTS, upper bound is not checked.  If argc is</div><div class='del'>-  out of bounds, an ArgumentError will be raised.</div><div class='del'>-</div><div class='del'>-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Retrieve argument from argc and argv to given VALUE references</div><div class='del'>-  according to the format string.  The format can be described in ABNF</div><div class='del'>-  as follows:</div><div class='del'>-</div><div class='del'>-    scan-arg-spec  := param-arg-spec [option-hash-arg-spec] [block-arg-spec]</div><div class='del'>-</div><div class='del'>-    param-arg-spec := pre-arg-spec [post-arg-spec] / post-arg-spec /</div><div class='del'>-                      pre-opt-post-arg-spec</div><div class='del'>-    pre-arg-spec   := num-of-leading-mandatory-args [num-of-optional-args]</div><div class='del'>-    post-arg-spec  := sym-for-variable-length-args</div><div class='del'>-                      [num-of-trailing-mandatory-args]</div><div class='del'>-    pre-opt-post-arg-spec := num-of-leading-mandatory-args num-of-optional-args</div><div class='del'>-                             num-of-trailing-mandatory-args</div><div class='del'>-    option-hash-arg-spec := sym-for-option-hash-arg</div><div class='del'>-    block-arg-spec := sym-for-block-arg</div><div class='del'>-</div><div class='del'>-    num-of-leading-mandatory-args  := DIGIT ; The number of leading</div><div class='del'>-                                            ; mandatory arguments</div><div class='del'>-    num-of-optional-args           := DIGIT ; The number of optional</div><div class='del'>-                                            ; arguments</div><div class='del'>-    sym-for-variable-length-args   := "*"   ; Indicates that variable</div><div class='del'>-                                            ; length arguments are</div><div class='del'>-                                            ; captured as a ruby array</div><div class='del'>-    num-of-trailing-mandatory-args := DIGIT ; The number of trailing</div><div class='del'>-                                            ; mandatory arguments</div><div class='del'>-    sym-for-option-hash-arg        := ":"   ; Indicates that an option</div><div class='del'>-                                            ; hash is captured if the last</div><div class='del'>-                                            ; argument is a hash or can be</div><div class='del'>-                                            ; converted to a hash with</div><div class='del'>-                                            ; #to_hash.  When the last</div><div class='del'>-                                            ; argument is nil, it is</div><div class='del'>-                                            ; captured if it is not</div><div class='del'>-                                            ; ambiguous to take it as</div><div class='del'>-                                            ; empty option hash; i.e. '*'</div><div class='del'>-                                            ; is not specified and</div><div class='del'>-                                            ; arguments are given more</div><div class='del'>-                                            ; than sufficient.</div><div class='del'>-    sym-for-block-arg              := "&amp;"   ; Indicates that an iterator</div><div class='del'>-                                            ; block should be captured if</div><div class='del'>-                                            ; given</div><div class='del'>-</div><div class='del'>-  For example, "12" means that the method requires at least one</div><div class='del'>-  argument, and at most receives three (1+2) arguments.  So, the format</div><div class='del'>-  string must be followed by three variable references, which are to be</div><div class='del'>-  assigned to captured arguments.  For omitted arguments, variables are</div><div class='del'>-  set to Qnil.  NULL can be put in place of a variable reference, which</div><div class='del'>-  means the corresponding captured argument(s) should be just dropped.</div><div class='del'>-</div><div class='del'>-  The number of given arguments, excluding an option hash or iterator</div><div class='del'>-  block, is returned.</div><div class='del'>-</div><div class='del'>-int rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *values) ::</div><div class='del'>-</div><div class='del'>-  Retrieves argument VALUEs bound to keywords, which directed by +table+</div><div class='del'>-  into +values+, deleting retrieved entries from +keyword_hash+ along</div><div class='del'>-  the way.  First +required+ number of IDs referred by +table+ are</div><div class='del'>-  mandatory, and succeeding +optional+ (- +optional+ - 1 if</div><div class='del'>-  +optional+ is negative) number of IDs are optional.  If a</div><div class='del'>-  mandatory key is not contained in +keyword_hash+, raises "missing</div><div class='del'>-  keyword" +ArgumentError+.  If an optional key is not present in</div><div class='del'>-  +keyword_hash+, the corresponding element in +values+ is set to +Qundef+.</div><div class='del'>-  If +optional+ is negative, rest of +keyword_hash+ are ignored, otherwise</div><div class='del'>-  raises "unknown keyword" +ArgumentError+.</div><div class='del'>-</div><div class='del'>-  Be warned, handling keyword arguments in the C API is less efficient</div><div class='del'>-  than handling them in Ruby.  Consider using a Ruby wrapper method</div><div class='del'>-  around a non-keyword C function.</div><div class='del'>-  ref: https://bugs.ruby-lang.org/issues/11339</div><div class='del'>-</div><div class='del'>-VALUE rb_extract_keywords(VALUE *original_hash) ::</div><div class='del'>-</div><div class='del'>-  Extracts pairs whose key is a symbol into a new hash from a hash</div><div class='del'>-  object referred by +original_hash+.  If the original hash contains</div><div class='del'>-  non-symbol keys, then they are copied to another hash and the new hash</div><div class='del'>-  is stored through +original_hash+, else 0 is stored.</div><div class='del'>-</div><div class='del'>-=== Invoking Ruby method</div><div class='del'>-</div><div class='del'>-VALUE rb_funcall(VALUE recv, ID mid, int narg, ...) ::</div><div class='del'>-</div><div class='del'>-  Invokes a method.  To retrieve mid from a method name, use rb_intern().</div><div class='del'>-  Able to call even private/protected methods.</div><div class='del'>-</div><div class='del'>-VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv) ::</div><div class='del'>-VALUE rb_funcallv(VALUE recv, ID mid, int argc, VALUE *argv) ::</div><div class='del'>-</div><div class='del'>-  Invokes a method, passing arguments as an array of values.</div><div class='del'>-  Able to call even private/protected methods.</div><div class='del'>-</div><div class='del'>-VALUE rb_funcallv_public(VALUE recv, ID mid, int argc, VALUE *argv) ::</div><div class='del'>-</div><div class='del'>-  Invokes a method, passing arguments as an array of values.</div><div class='del'>-  Able to call only public methods.</div><div class='del'>-</div><div class='del'>-VALUE rb_eval_string(const char *str) ::</div><div class='del'>-</div><div class='del'>-  Compiles and executes the string as a Ruby program.</div><div class='del'>-</div><div class='del'>-ID rb_intern(const char *name) ::</div><div class='del'>-</div><div class='del'>-  Returns ID corresponding to the name.</div><div class='del'>-</div><div class='del'>-char *rb_id2name(ID id) ::</div><div class='del'>-</div><div class='del'>-  Returns the name corresponding ID.</div><div class='del'>-</div><div class='del'>-char *rb_class2name(VALUE klass) ::</div><div class='del'>-</div><div class='del'>-  Returns the name of the class.</div><div class='del'>-</div><div class='del'>-int rb_respond_to(VALUE obj, ID id) ::</div><div class='del'>-</div><div class='del'>-  Returns true if the object responds to the message specified by id.</div><div class='del'>-</div><div class='del'>-=== Instance Variables</div><div class='del'>-</div><div class='del'>-VALUE rb_iv_get(VALUE obj, const char *name) ::</div><div class='del'>-</div><div class='del'>-  Retrieve the value of the instance variable.  If the name is not</div><div class='del'>-  prefixed by `@', that variable shall be inaccessible from Ruby.</div><div class='del'>-</div><div class='del'>-VALUE rb_iv_set(VALUE obj, const char *name, VALUE val) ::</div><div class='del'>-</div><div class='del'>-  Sets the value of the instance variable.</div><div class='del'>-</div><div class='del'>-=== Control Structure</div><div class='del'>-</div><div class='del'>-VALUE rb_block_call(VALUE recv, ID mid, int argc, VALUE * argv, VALUE (*func) (ANYARGS), VALUE data2) ::</div><div class='del'>-</div><div class='del'>-  Calls a method on the recv, with the method name specified by the</div><div class='del'>-  symbol mid, with argc arguments in argv, supplying func as the</div><div class='del'>-  block. When func is called as the block, it will receive the value</div><div class='del'>-  from yield as the first argument, and data2 as the second argument.</div><div class='del'>-  When yielded with multiple values (in C, rb_yield_values(),</div><div class='del'>-  rb_yield_values2() and rb_yield_splat()), data2 is packed as an Array,</div><div class='del'>-  whereas yielded values can be gotten via argc/argv of the third/fourth</div><div class='del'>-  arguments.</div><div class='del'>-</div><div class='del'>-\[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::</div><div class='del'>-</div><div class='del'>-  Calls the function func1, supplying func2 as the block.  func1 will be</div><div class='del'>-  called with the argument arg1.  func2 receives the value from yield as</div><div class='del'>-  the first argument, arg2 as the second argument.</div><div class='del'>-</div><div class='del'>-  When rb_iterate is used in 1.9, func1 has to call some Ruby-level method.</div><div class='del'>-  This function is obsolete since 1.9; use rb_block_call instead.</div><div class='del'>-</div><div class='del'>-VALUE rb_yield(VALUE val) ::</div><div class='del'>-</div><div class='del'>-  Evaluates the block with value val.</div><div class='del'>-</div><div class='del'>-VALUE rb_rescue(VALUE (*func1)(ANYARGS), VALUE arg1, VALUE (*func2)(ANYARGS), VALUE arg2) ::</div><div class='del'>-</div><div class='del'>-  Calls the function func1, with arg1 as the argument.  If an exception</div><div class='del'>-  occurs during func1, it calls func2 with arg2 as the first argument</div><div class='del'>-  and the exception object as the second argument.  The return value</div><div class='del'>-  of rb_rescue() is the return value from func1 if no exception occurs,</div><div class='del'>-  from func2 otherwise.</div><div class='del'>-</div><div class='del'>-VALUE rb_ensure(VALUE (*func1)(ANYARGS), VALUE arg1, VALUE (*func2)(ANYARGS), VALUE arg2) ::</div><div class='del'>-</div><div class='del'>-  Calls the function func1 with arg1 as the argument, then calls func2</div><div class='del'>-  with arg2 if execution terminated.  The return value from</div><div class='del'>-  rb_ensure() is that of func1 when no exception occurred.</div><div class='del'>-</div><div class='del'>-VALUE rb_protect(VALUE (*func) (VALUE), VALUE arg, int *state) ::</div><div class='del'>-</div><div class='del'>-  Calls the function func with arg as the argument.  If no exception</div><div class='del'>-  occurred during func, it returns the result of func and *state is zero.</div><div class='del'>-  Otherwise, it returns Qnil and sets *state to nonzero.  If state is</div><div class='del'>-  NULL, it is not set in both cases.</div><div class='del'>-  You have to clear the error info with rb_set_errinfo(Qnil) when</div><div class='del'>-  ignoring the caught exception.</div><div class='del'>-</div><div class='del'>-void rb_jump_tag(int state) ::</div><div class='del'>-</div><div class='del'>-  Continues the exception caught by rb_protect() and rb_eval_string_protect().</div><div class='del'>-  state must be the returned value from those functions.  This function</div><div class='del'>-  never return to the caller.</div><div class='del'>-</div><div class='del'>-void rb_iter_break() ::</div><div class='del'>-</div><div class='del'>-  Exits from the current innermost block.  This function never return to</div><div class='del'>-  the caller.</div><div class='del'>-</div><div class='del'>-void rb_iter_break_value(VALUE value) ::</div><div class='del'>-</div><div class='del'>-  Exits from the current innermost block with the value.  The block will</div><div class='del'>-  return the given argument value.  This function never return to the</div><div class='del'>-  caller.</div><div class='del'>-</div><div class='del'>-=== Exceptions and Errors</div><div class='del'>-</div><div class='del'>-void rb_warn(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Prints a warning message according to a printf-like format.</div><div class='del'>-</div><div class='del'>-void rb_warning(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Prints a warning message according to a printf-like format, if</div><div class='del'>-  $VERBOSE is true.</div><div class='del'>-</div><div class='del'>-void rb_raise(rb_eRuntimeError, const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Raises RuntimeError.  The fmt is a format string just like printf().</div><div class='del'>-</div><div class='del'>-void rb_raise(VALUE exception, const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Raises a class exception.  The fmt is a format string just like printf().</div><div class='del'>-</div><div class='del'>-void rb_fatal(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Raises a fatal error, terminates the interpreter.  No exception handling</div><div class='del'>-  will be done for fatal errors, but ensure blocks will be executed.</div><div class='del'>-</div><div class='del'>-void rb_bug(const char *fmt, ...) ::</div><div class='del'>-</div><div class='del'>-  Terminates the interpreter immediately.  This function should be</div><div class='del'>-  called under the situation caused by the bug in the interpreter.  No</div><div class='del'>-  exception handling nor ensure execution will be done.</div><div class='del'>-</div><div class='del'>-Note: In the format string, "%"PRIsVALUE can be used for Object#to_s</div><div class='del'>-(or Object#inspect if '+' flag is set) output (and related argument</div><div class='del'>-must be a VALUE).  Since it conflicts with "%i", for integers in</div><div class='del'>-format strings, use "%d".</div><div class='del'>-</div><div class='del'>-=== Threading</div><div class='del'>-</div><div class='del'>-As of Ruby 1.9, Ruby supports native 1:1 threading with one kernel</div><div class='del'>-thread per Ruby Thread object.  Currently, there is a GVL (Global VM Lock)</div><div class='del'>-which prevents simultaneous execution of Ruby code which may be released</div><div class='del'>-by the rb_thread_call_without_gvl and rb_thread_call_without_gvl2 functions.</div><div class='del'>-These functions are tricky-to-use and documented in thread.c; do not</div><div class='del'>-use them before reading comments in thread.c.</div><div class='del'>-</div><div class='del'>-void rb_thread_schedule(void) ::</div><div class='del'>-</div><div class='del'>-  Give the scheduler a hint to pass execution to another thread.</div><div class='del'>-</div><div class='del'>-=== Input/Output (IO) on a single file descriptor</div><div class='del'>-</div><div class='del'>-int rb_io_wait_readable(int fd) ::</div><div class='del'>-</div><div class='del'>-  Wait indefinitely for the given FD to become readable, allowing other</div><div class='del'>-  threads to be scheduled.  Returns a true value if a read may be</div><div class='del'>-  performed, false if there is an unrecoverable error.</div><div class='del'>-</div><div class='del'>-int rb_io_wait_writable(int fd) ::</div><div class='del'>-</div><div class='del'>-  Like rb_io_wait_readable, but for writability.</div><div class='del'>-</div><div class='del'>-int rb_wait_for_single_fd(int fd, int events, struct timeval *timeout) ::</div><div class='del'>-</div><div class='del'>-  Allows waiting on a single FD for one or multiple events with a</div><div class='del'>-  specified timeout.</div><div class='del'>-</div><div class='del'>-  +events+ is a mask of any combination of the following values:</div><div class='del'>-</div><div class='del'>-  * RB_WAITFD_IN - wait for readability of normal data</div><div class='del'>-  * RB_WAITFD_OUT - wait for writability</div><div class='del'>-  * RB_WAITFD_PRI - wait for readability of urgent data</div><div class='del'>-</div><div class='del'>-  Use a NULL +timeout+ to wait indefinitely.</div><div class='del'>-</div><div class='del'>-=== I/O Multiplexing</div><div class='del'>-</div><div class='del'>-Ruby supports I/O multiplexing based on the select(2) system call.</div><div class='del'>-The Linux select_tut(2) manpage</div><div class='del'>-&lt;http://man7.org/linux/man-pages/man2/select_tut.2.html&gt;</div><div class='del'>-provides a good overview on how to use select(2), and the Ruby API has</div><div class='del'>-analogous functions and data structures to the well-known select API.</div><div class='del'>-Understanding of select(2) is required to understand this section.</div><div class='del'>-</div><div class='del'>-typedef struct rb_fdset_t ::</div><div class='del'>-</div><div class='del'>-  The data structure which wraps the fd_set bitmap used by select(2).</div><div class='del'>-  This allows Ruby to use FD sets larger than that allowed by</div><div class='del'>-  historic limitations on modern platforms.</div><div class='del'>-</div><div class='del'>-void rb_fd_init(rb_fdset_t *) ::</div><div class='del'>-</div><div class='del'>-  Initializes the rb_fdset_t, it must be initialized before other rb_fd_*</div><div class='del'>-  operations.  Analogous to calling malloc(3) to allocate an fd_set.</div><div class='del'>-</div><div class='del'>-void rb_fd_term(rb_fdset_t *) ::</div><div class='del'>-</div><div class='del'>-  Destroys the rb_fdset_t, releasing any memory and resources it used.</div><div class='del'>-  It must be reinitialized using rb_fd_init before future use.</div><div class='del'>-  Analogous to calling free(3) to release memory for an fd_set.</div><div class='del'>-</div><div class='del'>-void rb_fd_zero(rb_fdset_t *) ::</div><div class='del'>-</div><div class='del'>-  Clears all FDs from the rb_fdset_t, analogous to FD_ZERO(3).</div><div class='del'>-</div><div class='del'>-void rb_fd_set(int fd, rb_fdset_t *) ::</div><div class='del'>-</div><div class='del'>-  Adds a given FD in the rb_fdset_t, analogous to FD_SET(3).</div><div class='del'>-</div><div class='del'>-void rb_fd_clr(int fd, rb_fdset_t *) ::</div><div class='del'>-</div><div class='del'>-  Removes a given FD from the rb_fdset_t, analogous to FD_CLR(3).</div><div class='del'>-</div><div class='del'>-int rb_fd_isset(int fd, const rb_fdset_t *) ::</div><div class='del'>-</div><div class='del'>-  Returns true if a given FD is set in the rb_fdset_t, false if not.</div><div class='del'>-  Analogous to FD_ISSET(3).</div><div class='del'>-</div><div class='del'>-int rb_thread_fd_select(int nfds, rb_fdset_t *readfds, rb_fdset_t *writefds, rb_fdset_t *exceptfds, struct timeval *timeout) ::</div><div class='del'>-</div><div class='del'>-  Analogous to the select(2) system call, but allows other Ruby</div><div class='del'>-  threads to be scheduled while waiting.</div><div class='del'>-</div><div class='del'>-  When only waiting on a single FD, favor rb_io_wait_readable,</div><div class='del'>-  rb_io_wait_writable, or rb_wait_for_single_fd functions since</div><div class='del'>-  they can be optimized for specific platforms (currently, only Linux).</div><div class='del'>-</div><div class='del'>-=== Initialize and Start the Interpreter</div><div class='del'>-</div><div class='del'>-The embedding API functions are below (not needed for extension libraries):</div><div class='del'>-</div><div class='del'>-void ruby_init() ::</div><div class='del'>-</div><div class='del'>-  Initializes the interpreter.</div><div class='del'>-</div><div class='del'>-void *ruby_options(int argc, char **argv) ::</div><div class='del'>-</div><div class='del'>-  Process command line arguments for the interpreter.</div><div class='del'>-  And compiles the Ruby source to execute.</div><div class='del'>-  It returns an opaque pointer to the compiled source</div><div class='del'>-  or an internal special value.</div><div class='del'>-</div><div class='del'>-int ruby_run_node(void *n) ::</div><div class='del'>-</div><div class='del'>-  Runs the given compiled source and exits this process.</div><div class='del'>-  It returns EXIT_SUCCESS if successfully runs the source.</div><div class='del'>-  Otherwise, it returns other value.</div><div class='del'>-</div><div class='del'>-void ruby_script(char *name) ::</div><div class='del'>-</div><div class='del'>-  Specifies the name of the script ($0).</div><div class='del'>-</div><div class='del'>-=== Hooks for the Interpreter Events</div><div class='del'>-</div><div class='del'>-void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data) ::</div><div class='del'>-</div><div class='del'>-  Adds a hook function for the specified interpreter events.</div><div class='del'>-  events should be OR'ed value of:</div><div class='del'>-</div><div class='del'>-    RUBY_EVENT_LINE</div><div class='del'>-    RUBY_EVENT_CLASS</div><div class='del'>-    RUBY_EVENT_END</div><div class='del'>-    RUBY_EVENT_CALL</div><div class='del'>-    RUBY_EVENT_RETURN</div><div class='del'>-    RUBY_EVENT_C_CALL</div><div class='del'>-    RUBY_EVENT_C_RETURN</div><div class='del'>-    RUBY_EVENT_RAISE</div><div class='del'>-    RUBY_EVENT_ALL</div><div class='del'>-</div><div class='del'>-  The definition of rb_event_hook_func_t is below:</div><div class='del'>-</div><div class='del'>-    typedef void (*rb_event_hook_func_t)(rb_event_t event, VALUE data,</div><div class='del'>-                                         VALUE self, ID id, VALUE klass)</div><div class='del'>-</div><div class='del'>-  The third argument `data' to rb_add_event_hook() is passed to the hook</div><div class='del'>-  function as the second argument, which was the pointer to the current</div><div class='del'>-  NODE in 1.8.  See RB_EVENT_HOOKS_HAVE_CALLBACK_DATA below.</div><div class='del'>-</div><div class='del'>-int rb_remove_event_hook(rb_event_hook_func_t func) ::</div><div class='del'>-</div><div class='del'>-  Removes the specified hook function.</div><div class='del'>-</div><div class='del'>-=== Memory usage</div><div class='del'>-</div><div class='del'>-void rb_gc_adjust_memory_usage(ssize_t diff) ::</div><div class='del'>-</div><div class='del'>-  Adjusts the amount of registered external memory.  You can tell GC how</div><div class='del'>-  much memory is used by an external library by this function.  Calling</div><div class='del'>-  this function with positive diff means the memory usage is increased;</div><div class='del'>-  new memory block is allocated or a block is reallocated as larger</div><div class='del'>-  size.  Calling this function with negative diff means the memory usage</div><div class='del'>-  is decreased; a memory block is freed or a block is reallocated as</div><div class='del'>-  smaller size.  This function may trigger the GC.</div><div class='del'>-</div><div class='del'>-=== Macros for Compatibility</div><div class='del'>-</div><div class='del'>-Some macros to check API compatibilities are available by default.</div><div class='del'>-</div><div class='del'>-NORETURN_STYLE_NEW ::</div><div class='del'>-</div><div class='del'>-  Means that NORETURN macro is functional style instead of prefix.</div><div class='del'>-</div><div class='del'>-HAVE_RB_DEFINE_ALLOC_FUNC ::</div><div class='del'>-</div><div class='del'>-  Means that function rb_define_alloc_func() is provided, that means the</div><div class='del'>-  allocation framework is used.  This is same as the result of</div><div class='del'>-  have_func("rb_define_alloc_func", "ruby.h").</div><div class='del'>-</div><div class='del'>-HAVE_RB_REG_NEW_STR ::</div><div class='del'>-</div><div class='del'>-  Means that function rb_reg_new_str() is provided, that creates Regexp</div><div class='del'>-  object from String object.  This is same as the result of</div><div class='del'>-  have_func("rb_reg_new_str", "ruby.h").</div><div class='del'>-</div><div class='del'>-HAVE_RB_IO_T ::</div><div class='del'>-</div><div class='del'>-  Means that type rb_io_t is provided.</div><div class='del'>-</div><div class='del'>-USE_SYMBOL_AS_METHOD_NAME ::</div><div class='del'>-</div><div class='del'>-  Means that Symbols will be returned as method names, e.g.,</div><div class='del'>-  Module#methods, \#singleton_methods and so on.</div><div class='del'>-</div><div class='del'>-HAVE_RUBY_*_H ::</div><div class='del'>-</div><div class='del'>-  Defined in ruby.h and means corresponding header is available.  For</div><div class='del'>-  instance, when HAVE_RUBY_ST_H is defined you should use ruby/st.h not</div><div class='del'>-  mere st.h.</div><div class='del'>-</div><div class='del'>-RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ::</div><div class='del'>-</div><div class='del'>-  Means that rb_add_event_hook() takes the third argument `data', to be</div><div class='del'>-  passed to the given event hook function.</div><div class='del'>-</div><div class='del'>-== Appendix C. Functions available for use in extconf.rb</div><div class='del'>-</div><div class='del'>-See documentation for {mkmf}[rdoc-ref:MakeMakefile].</div><div class='del'>-</div><div class='del'>-== Appendix D. Generational GC</div><div class='del'>-</div><div class='del'>-Ruby 2.1 introduced a generational garbage collector (called RGenGC).</div><div class='del'>-RGenGC (mostly) keeps compatibility.</div><div class='del'>-</div><div class='del'>-Generally, the use of the technique called write barriers is required in</div><div class='del'>-extension libraries for generational GC</div><div class='del'>-(https://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29).</div><div class='del'>-RGenGC works fine without write barriers in extension libraries.</div><div class='del'>-</div><div class='del'>-If your library adheres to the following tips, performance can</div><div class='del'>-be further improved. Especially, the "Don't touch pointers directly" section is</div><div class='del'>-important.</div><div class='del'>-</div><div class='del'>-=== Incompatibility</div><div class='del'>-</div><div class='del'>-You can't write RBASIC(obj)-&gt;klass field directly because it is const</div><div class='del'>-value now.</div><div class='del'>-</div><div class='del'>-Basically you should not write this field because MRI expects it to be</div><div class='del'>-an immutable field, but if you want to do it in your extension you can</div><div class='del'>-use the following functions:</div><div class='del'>-</div><div class='del'>-VALUE rb_obj_hide(VALUE obj) ::</div><div class='del'>-</div><div class='del'>-  Clear RBasic::klass field. The object will be an internal object.</div><div class='del'>-  ObjectSpace::each_object can't find this object.</div><div class='del'>-</div><div class='del'>-VALUE rb_obj_reveal(VALUE obj, VALUE klass) ::</div><div class='del'>-</div><div class='del'>-  Reset RBasic::klass to be klass.</div><div class='del'>-  We expect the `klass' is hidden class by rb_obj_hide().</div><div class='del'>-</div><div class='del'>-=== Write barriers</div><div class='del'>-</div><div class='del'>-RGenGC doesn't require write barriers to support generational GC.</div><div class='del'>-However, caring about write barrier can improve the performance of</div><div class='del'>-RGenGC. Please check the following tips.</div><div class='del'>-</div><div class='del'>-==== Don't touch pointers directly</div><div class='del'>-</div><div class='del'>-In MRI (include/ruby/ruby.h), some macros to acquire pointers to the</div><div class='del'>-internal data structures are supported such as RARRAY_PTR(),</div><div class='del'>-RSTRUCT_PTR() and so on.</div><div class='del'>-</div><div class='del'>-DO NOT USE THESE MACROS and instead use the corresponding C-APIs such as</div><div class='del'>-rb_ary_aref(), rb_ary_store() and so on.</div><div class='del'>-</div><div class='del'>-==== Consider whether to insert write barriers</div><div class='del'>-</div><div class='del'>-You don't need to care about write barriers if you only use built-in</div><div class='del'>-types.</div><div class='del'>-</div><div class='del'>-If you support T_DATA objects, you may consider using write barriers.</div><div class='del'>-</div><div class='del'>-Inserting write barriers into T_DATA objects only works with the</div><div class='del'>-following type objects: (a) long-lived objects, (b) when a huge number</div><div class='del'>-of objects are generated and \(c) container-type objects that have</div><div class='del'>-references to other objects. If your extension provides such a type of</div><div class='del'>-T_DATA objects, consider inserting write barriers.</div><div class='del'>-</div><div class='del'>-(a): short-lived objects don't become old generation objects.</div><div class='del'>-(b): only a few oldgen objects don't have performance impact.</div><div class='del'>-\(c): only a few references don't have performance impact.</div><div class='del'>-</div><div class='del'>-Inserting write barriers is a very difficult hack, it is easy to</div><div class='del'>-introduce critical bugs. And inserting write barriers has several areas</div><div class='del'>-of overhead. Basically we don't recommend you insert write barriers.</div><div class='del'>-Please carefully consider the risks.</div><div class='del'>-</div><div class='del'>-==== Combine with built-in types</div><div class='del'>-</div><div class='del'>-Please consider utilizing built-in types. Most built-in types support</div><div class='del'>-write barrier, so you can use them to avoid manually inserting write</div><div class='del'>-barriers.</div><div class='del'>-</div><div class='del'>-For example, if your T_DATA has references to other objects, then you</div><div class='del'>-can move these references to Array. A T_DATA object only has a reference</div><div class='del'>-to an array object. Or you can also use a Struct object to gather a</div><div class='del'>-T_DATA object (without any references) and an that Array contains</div><div class='del'>-references.</div><div class='del'>-</div><div class='del'>-With use of such techniques, you don't need to insert write barriers</div><div class='del'>-anymore.</div><div class='del'>-</div><div class='del'>-==== Insert write barriers</div><div class='del'>-</div><div class='del'>-\[AGAIN] Inserting write barriers is a very difficult hack, and it is</div><div class='del'>-easy to introduce critical bugs. And inserting write barriers has</div><div class='del'>-several areas of overhead. Basically we don't recommend you insert write</div><div class='del'>-barriers. Please carefully consider the risks.</div><div class='del'>-</div><div class='del'>-Before inserting write barriers, you need to know about RGenGC algorithm</div><div class='del'>-(gc.c will help you). Macros and functions to insert write barriers are</div><div class='del'>-available in include/ruby/ruby.h. An example is available in iseq.c.</div><div class='del'>-</div><div class='del'>-For a complete guide for RGenGC and write barriers, please refer to</div><div class='del'>-&lt;https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/RGenGC&gt;.</div><div class='del'>-</div><div class='del'>-== Appendix E. RB_GC_GUARD to protect from premature GC</div><div class='del'>-</div><div class='del'>-C Ruby currently uses conservative garbage collection, thus VALUE</div><div class='del'>-variables must remain visible on the stack or registers to ensure any</div><div class='del'>-associated data remains usable.  Optimizing C compilers are not designed</div><div class='del'>-with conservative garbage collection in mind, so they may optimize away</div><div class='del'>-the original VALUE even if the code depends on data associated with that</div><div class='del'>-VALUE.</div><div class='del'>-</div><div class='del'>-The following example illustrates the use of RB_GC_GUARD to ensure</div><div class='del'>-the contents of sptr remain valid while the second invocation of</div><div class='del'>-rb_str_new_cstr is running.</div><div class='del'>-</div><div class='del'>-  VALUE s, w;</div><div class='del'>-  const char *sptr;</div><div class='del'>-</div><div class='del'>-  s = rb_str_new_cstr("hello world!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");</div><div class='del'>-  sptr = RSTRING_PTR(s);</div><div class='del'>-  w = rb_str_new_cstr(sptr + 6); /* Possible GC invocation */</div><div class='del'>-</div><div class='del'>-  RB_GC_GUARD(s); /* ensure s (and thus sptr) do not get GC-ed */</div><div class='del'>-</div><div class='del'>-In the above example, RB_GC_GUARD must be placed _after_ the last use of</div><div class='del'>-sptr.  Placing RB_GC_GUARD before dereferencing sptr would be of no use.</div><div class='del'>-RB_GC_GUARD is only effective on the VALUE data type, not converted C</div><div class='del'>-data types.</div><div class='del'>-</div><div class='del'>-RB_GC_GUARD would not be necessary at all in the above example if</div><div class='del'>-non-inlined function calls are made on the `s' VALUE after sptr is</div><div class='del'>-dereferenced.  Thus, in the above example, calling any un-inlined</div><div class='del'>-function on `s' such as:</div><div class='del'>-</div><div class='del'>-  rb_str_modify(s);</div><div class='del'>-</div><div class='del'>-Will ensure `s' stays on the stack or register to prevent a</div><div class='del'>-GC invocation from prematurely freeing it.</div><div class='del'>-</div><div class='del'>-Using the RB_GC_GUARD macro is preferable to using the "volatile"</div><div class='del'>-keyword in C.  RB_GC_GUARD has the following advantages:</div><div class='del'>-</div><div class='del'>-1. the intent of the macro use is clear</div><div class='del'>-</div><div class='del'>-2. RB_GC_GUARD only affects its call site, "volatile" generates some</div><div class='del'>-   extra code every time the variable is used, hurting optimization.</div><div class='del'>-</div><div class='del'>-3. "volatile" implementations may be buggy/inconsistent in some</div><div class='del'>-   compilers and architectures. RB_GC_GUARD is customizable for broken</div><div class='del'>-   systems/compilers without negatively affecting other systems.</div><div class='del'>-</div><div class='del'>-:enddoc: Local variables:</div><div class='del'>-:enddoc: fill-column: 70</div><div class='del'>-:enddoc: end:</div><div class='head'>diff --git a/doc/forwardable.rd b/doc/forwardable.rd<br/>new file mode 100644<br/>index 0000000000..7272c374b6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/doc/forwardable.rd?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/forwardable.rd</a></div><div class='hunk'>@@ -0,0 +1,84 @@</div><div class='add'>+ -- forwardable.rb</div><div class='add'>+						</div><div class='add'>+                                                $Release Version: 1.1 $</div><div class='add'>+                                                $Revision$</div><div class='add'>+                                                $Date$</div><div class='add'>+						Original version by Tosh</div><div class='add'>+</div><div class='add'>+=begin</div><div class='add'>+</div><div class='add'>+= Forwardable</div><div class='add'>+</div><div class='add'>+A Module to define delegations for selected methods to a class.</div><div class='add'>+</div><div class='add'>+== Usage</div><div class='add'>+</div><div class='add'>+Using through extending the class.</div><div class='add'>+  </div><div class='add'>+  class Foo</div><div class='add'>+    extend Forwardable</div><div class='add'>+</div><div class='add'>+    def_delegators("@out", "printf", "print")</div><div class='add'>+    def_delegators(:@in, :gets)</div><div class='add'>+    def_delegator(:@contents, :[], "content_at")</div><div class='add'>+  end</div><div class='add'>+  f = Foo.new</div><div class='add'>+  f.printf ...</div><div class='add'>+  f.gets</div><div class='add'>+  f.content_at(1)</div><div class='add'>+</div><div class='add'>+== Methods</div><div class='add'>+</div><div class='add'>+--- Forwardable#def_instance_delegators(accessor, *methods)</div><div class='add'>+</div><div class='add'>+      adding the delegations for each method of ((|methods|)) to</div><div class='add'>+      ((|accessor|)).</div><div class='add'>+</div><div class='add'>+--- Forwardable#def_instance_delegator(accessor, method, ali = method)</div><div class='add'>+      </div><div class='add'>+      adding the delegation for ((|method|)) to ((|accessor|)). When</div><div class='add'>+      you give optional argument ((|ali|)), ((|ali|)) is used as the</div><div class='add'>+      name of the delegation method, instead of ((|method|)).</div><div class='add'>+</div><div class='add'>+--- Forwardable#def_delegators(accessor, *methods)</div><div class='add'>+</div><div class='add'>+      the alias of ((|Forwardable#def_instance_delegators|)).</div><div class='add'>+</div><div class='add'>+--- Forwardable#def_delegator(accessor, method, ali = method)</div><div class='add'>+      </div><div class='add'>+      the alias of ((|Forwardable#def_instance_delegator|)).</div><div class='add'>+</div><div class='add'>+= SingleForwardable</div><div class='add'>+</div><div class='add'>+a Module to define delegations for selected methods to an object.</div><div class='add'>+</div><div class='add'>+== Usage</div><div class='add'>+</div><div class='add'>+Using through extending the object.</div><div class='add'>+</div><div class='add'>+  g = Goo.new</div><div class='add'>+  g.extend SingleForwardable</div><div class='add'>+  g.def_delegator("@out", :puts)</div><div class='add'>+  g.puts ...</div><div class='add'>+</div><div class='add'>+== Methods</div><div class='add'>+</div><div class='add'>+--- SingleForwardable#def_singleton_delegators(accessor, *methods)</div><div class='add'>+</div><div class='add'>+      adding the delegations for each method of ((|methods|)) to</div><div class='add'>+      ((|accessor|)).</div><div class='add'>+</div><div class='add'>+--- SingleForwardable#def_singleton_delegator(accessor, method, ali = method)</div><div class='add'>+</div><div class='add'>+      adding the delegation for ((|method|)) to ((|accessor|)). When</div><div class='add'>+      you give optional argument ((|ali|)), ((|ali|)) is used as the</div><div class='add'>+      name of the delegation method, instead of ((|method|)).</div><div class='add'>+</div><div class='add'>+--- SingleForwardable#def_delegators(accessor, *methods)</div><div class='add'>+</div><div class='add'>+      the alias of ((|SingleForwardable#def_instance_delegators|)).</div><div class='add'>+</div><div class='add'>+--- SingleForwardable#def_delegator(accessor, method, ali = method)</div><div class='add'>+</div><div class='add'>+      the alias of ((|SingleForwardable#def_instance_delegator|)).</div><div class='add'>+=end</div><div class='head'>diff --git a/doc/forwardable.rd.ja b/doc/forwardable.rd.ja<br/>index 171724b2e5..d928fddc5e 100644<br/>--- a/<a href='/ruby.git/tree/doc/forwardable.rd.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/forwardable.rd.ja</a><br/>+++ b/<a href='/ruby.git/tree/doc/forwardable.rd.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/forwardable.rd.ja</a></div><div class='hunk'>@@ -1,16 +1,17 @@</div><div class='ctx'>   -- forwatable.rb</div><div class='ctx'>                                                 $Release Version: 1.1 $</div><div class='ctx'>                                                 $Revision$</div><div class='add'>+                                                $Date$</div><div class='ctx'> </div><div class='ctx'> =begin</div><div class='ctx'> = Forwardable</div><div class='ctx'> </div><div class='del'>-クラスに対しメソッドの委譲機能を定義します.</div><div class='add'>+饹Ф᥽åɤΰѾǽޤ.</div><div class='ctx'> </div><div class='del'>-== 使い方</div><div class='del'>-</div><div class='del'>-クラスに対してextendして使います.</div><div class='add'>+== Ȥ</div><div class='ctx'> </div><div class='add'>+饹ФextendƻȤޤ. </div><div class='add'>+  </div><div class='ctx'>   class Foo</div><div class='ctx'>     extend Forwardable</div><div class='ctx'> </div><div class='hunk'>@@ -23,58 +24,58 @@</div><div class='ctx'>   f.gets</div><div class='ctx'>   f.content_at(1)</div><div class='ctx'> </div><div class='del'>-== メソッド</div><div class='add'>+== ᥽å</div><div class='ctx'> </div><div class='ctx'> --- Forwardable#def_instance_delegators(accessor, *methods)</div><div class='ctx'> </div><div class='del'>-      ((|methods|))で渡されたメソッドのリストを((|accessorに|))委譲する</div><div class='del'>-      ようにします.</div><div class='add'>+      ((|methods|))Ϥ줿᥽åɤΥꥹȤ((|accessor|))Ѿ</div><div class='add'>+      褦ˤޤ.</div><div class='ctx'> </div><div class='ctx'> --- Forwardable#def_instance_delegator(accessor, method, ali = method)</div><div class='ctx'> </div><div class='del'>-      ((||method|))で渡されたメソッドを((|accessor|))に委譲するようにし</div><div class='del'>-      ます. ((|ali|))が引数として渡されたときは, メソッド((|ali|))が呼ば</div><div class='del'>-      れたときには, ((|accessor|))に対し((|method|))を呼び出します.</div><div class='add'>+      ((||method|))Ϥ줿᥽åɤ((|accessor|))˰Ѿ褦ˤ</div><div class='add'>+      ޤ. ((|ali|))ȤϤ줿Ȥ, ᥽å((|ali|))Ƥ</div><div class='add'>+      줿Ȥˤ, ((|accessor|))Ф((|method|))ƤӽФޤ.</div><div class='ctx'> </div><div class='ctx'> --- Forwardable#def_delegators(accessor, *methods)</div><div class='ctx'> </div><div class='del'>-      ((|Forwardable#def_instance_delegators|))の別名です.</div><div class='add'>+      ((|Forwardable#def_instance_delegators|))̾Ǥ.</div><div class='ctx'> </div><div class='ctx'> --- Forwardable#def_delegator(accessor, method, ali = method)</div><div class='ctx'> </div><div class='del'>-      ((|Forwardable#def_instance_delegator|))の別名です.</div><div class='add'>+      ((|Forwardable#def_instance_delegator|))̾Ǥ.</div><div class='ctx'> </div><div class='ctx'> = SingleForwardable</div><div class='ctx'> </div><div class='del'>-オブジェクトに対し, メソッドの委譲機能を定義します.</div><div class='add'>+֥ȤФ, ᥽åɤΰѾǽޤ.</div><div class='ctx'> </div><div class='del'>-== 使い方</div><div class='add'>+== Ȥ</div><div class='ctx'> </div><div class='del'>-オブジェクトに対して((|extend|))して使います.</div><div class='add'>+֥ȤФ((|extend|))ƻȤޤ. </div><div class='ctx'> </div><div class='ctx'>   g = Goo.new</div><div class='ctx'>   g.extend SingleForwardable</div><div class='ctx'>   g.def_delegator("@out", :puts)</div><div class='ctx'>   g.puts ...</div><div class='ctx'> </div><div class='del'>-== メソッド</div><div class='add'>+== ᥽å</div><div class='ctx'> </div><div class='ctx'> --- SingleForwardable#def_singleton_delegators(accessor, *methods)</div><div class='ctx'> </div><div class='del'>-      ((|methods|))で渡されたメソッドのリストを((|accessor|))に委譲する</div><div class='del'>-      ようにします.</div><div class='add'>+      ((|methods|))Ϥ줿᥽åɤΥꥹȤ((|accessor|))˰Ѿ</div><div class='add'>+      褦ˤޤ.</div><div class='ctx'> </div><div class='ctx'> --- SingleForwardable#def_singleton_delegator(accessor, method, ali = method)</div><div class='ctx'> </div><div class='del'>-      ((|method|))で渡されたメソッドを((|accessor|))に委譲するようにしま</div><div class='del'>-      す. ((|ali|))が引数として渡されたときは, メソッド((|ali|))が呼ばれ</div><div class='del'>-      たときには, ((|accessor|))に対し((|method|))を呼び出します.</div><div class='add'>+      ((|method|))Ϥ줿᥽åɤ((|accessor|))˰Ѿ褦ˤ</div><div class='add'>+      . ((|ali|))ȤϤ줿Ȥ, ᥽å((|ali|))ƤФ</div><div class='add'>+      Ȥˤ, ((|accessor|))Ф((|method|))ƤӽФޤ.</div><div class='ctx'> </div><div class='ctx'> --- SingleForwardable#def_delegators(accessor, *methods)</div><div class='ctx'> </div><div class='del'>-      ((|SingleForwardable#def_singleton_delegators|))の別名です.</div><div class='add'>+      ((|SingleForwardable#def_singleton_delegators|))̾Ǥ.</div><div class='ctx'> </div><div class='ctx'> --- SingleForwardable#def_delegator(accessor, method, ali = method)</div><div class='ctx'> </div><div class='del'>-      ((|SingleForwardable#def_singleton_delegator|))の別名です.</div><div class='add'>+      ((|SingleForwardable#def_singleton_delegator|))̾Ǥ.</div><div class='ctx'> =end</div><div class='head'>diff --git a/doc/globals.rdoc b/doc/globals.rdoc<br/>deleted file mode 100644<br/>index 1e70555988..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/globals.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/globals.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,70 +0,0 @@</div><div class='del'>-# -*- mode: rdoc; coding: utf-8; fill-column: 74; -*-</div><div class='del'>-</div><div class='del'>-== Pre-defined variables</div><div class='del'>-</div><div class='del'>-$!::   The exception information message set by 'raise'.</div><div class='del'>-$@::   Array of backtrace of the last exception thrown.</div><div class='del'>-$&amp;::   The string matched by the last successful match.</div><div class='del'>-$`::   The string to the left  of the last successful match.</div><div class='del'>-$'::   The string to the right of the last successful match.</div><div class='del'>-$+::   The highest group matched by the last successful match.</div><div class='del'>-$1::   The Nth group of the last successful match. May be &gt; 1.</div><div class='del'>-$~::   The information about the last match in the current scope.</div><div class='del'>-$=::   This variable is no longer effective. Deprecated.</div><div class='del'>-$/::   The input record separator, newline by default.</div><div class='del'>-$\::   The output record separator for the print and IO#write. Default is nil.</div><div class='del'>-$,::   The output field separator for the print and Array#join.</div><div class='del'>-$;::   The default separator for String#split.</div><div class='del'>-$.::   The current input line number of the last file that was read.</div><div class='del'>-$&lt;::   The virtual concatenation file of the files given on command line (or from $stdin if no files were given).</div><div class='del'>-$&gt;::   The default output for print, printf. $stdout by default.</div><div class='del'>-$_::   The last input line of string by gets or readline.</div><div class='del'>-$0::   Contains the name of the script being executed. May be assignable.</div><div class='del'>-$*::   Command line arguments given for the script sans args.</div><div class='del'>-$$::   The process number of the Ruby running this script.</div><div class='del'>-$?::   The status of the last executed child process.  This value is</div><div class='del'>-       thread-local.</div><div class='del'>-$:::   Load path for scripts and binary modules by load or require.</div><div class='del'>-$"::   The array contains the module names loaded by require.</div><div class='del'>-$DEBUG::     The debug flag, which is set by the -d switch.  Enabling debug</div><div class='del'>-             output prints each exception raised to $stderr (but not its</div><div class='del'>-             backtrace).  Setting this to a true value enables debug output as</div><div class='del'>-             if -d were given on the command line.  Setting this to a false</div><div class='del'>-             value disables debug output.</div><div class='del'>-$LOADED_FEATURES:: The alias to the $".</div><div class='del'>-$FILENAME::  Current input file from $&lt;. Same as $&lt;.filename.</div><div class='del'>-$LOAD_PATH:: The alias to the $:.</div><div class='del'>-$stderr::    The current standard error output.</div><div class='del'>-$stdin::     The current standard input.</div><div class='del'>-$stdout::    The current standard output.</div><div class='del'>-$VERBOSE::   The verbose flag, which is set by the -w or -v switch.  Setting</div><div class='del'>-             this to a true value enables warnings as if -w or -v were given</div><div class='del'>-             on the command line.  Setting this to nil disables warnings,</div><div class='del'>-             including from Kernel#warn.</div><div class='del'>-$-0::  The alias to $/.</div><div class='del'>-$-a::  True if option -a is set. Read-only variable.</div><div class='del'>-$-d::  The alias of $DEBUG.  See $DEBUG above for further discussion.</div><div class='del'>-$-F::  The alias to $;.</div><div class='del'>-$-i::  In in-place-edit mode, this variable holds the extension, otherwise nil.</div><div class='del'>-$-I::  The alias to $:.</div><div class='del'>-$-l::  True if option -l is set. Read-only variable.</div><div class='del'>-$-p::  True if option -p is set. Read-only variable.</div><div class='del'>-$-v::  An alias of $VERBOSE.  See $VERBOSE above for further discussion.</div><div class='del'>-$-w::  An alias of $VERBOSE.  See $VERBOSE above for further discussion.</div><div class='del'>-</div><div class='del'>-== Pre-defined global constants</div><div class='del'>-</div><div class='del'>-TRUE::              The typical true value.</div><div class='del'>-FALSE::             The false itself.</div><div class='del'>-NIL::               The nil itself.</div><div class='del'>-STDIN::             The standard input. The default value for $stdin.</div><div class='del'>-STDOUT::            The standard output. The default value for $stdout.</div><div class='del'>-STDERR::            The standard error output. The default value for $stderr.</div><div class='del'>-ENV::               The hash contains current environment variables.</div><div class='del'>-ARGF::              The alias to the $&lt;.</div><div class='del'>-ARGV::              The alias to the $*.</div><div class='del'>-DATA::              The file object of the script, pointing just after __END__.</div><div class='del'>-RUBY_VERSION::      The ruby version string (VERSION was deprecated).</div><div class='del'>-RUBY_RELEASE_DATE:: The release date string.</div><div class='del'>-RUBY_PLATFORM::     The platform identifier.</div><div class='del'>-</div><div class='head'>diff --git a/doc/images/boottime-classes.png b/doc/images/boottime-classes.png<br/>deleted file mode 100644<br/>index b5fab75c41..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/images/boottime-classes.png?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/images/boottime-classes.png</a><br/>+++ /dev/null</div>Binary files differ<div class='head'>diff --git a/doc/irb/irb-tools.rd.ja b/doc/irb/irb-tools.rd.ja<br/>index b997f0edea..64d9ab29c8 100644<br/>--- a/<a href='/ruby.git/tree/doc/irb/irb-tools.rd.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/irb/irb-tools.rd.ja</a><br/>+++ b/<a href='/ruby.git/tree/doc/irb/irb-tools.rd.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/irb/irb-tools.rd.ja</a></div><div class='hunk'>@@ -1,70 +1,71 @@</div><div class='del'>-﻿irb関連おまけコマンドとライブラリ</div><div class='add'>+irbϢޤޥɤȥ饤֥</div><div class='ctx'> 				$Release Version: 0.7.1 $</div><div class='ctx'> 			   	$Revision$</div><div class='add'>+			   	$Date$</div><div class='ctx'> 			   	by Keiju ISHITSUKA(Nihon Rational Co.,Ltd.)</div><div class='ctx'> </div><div class='ctx'> =begin</div><div class='ctx'> </div><div class='del'>-:コマンド:</div><div class='add'>+:ޥ:</div><div class='ctx'> * rtags		-- ruby tags command</div><div class='ctx'> </div><div class='del'>-:関数ライブラリ:</div><div class='add'>+:ؿ饤֥:</div><div class='ctx'> * xmp		-- irb version of gotoken xmp-function</div><div class='ctx'> </div><div class='del'>-:クラスライブラリ:</div><div class='add'>+:饹饤֥:</div><div class='ctx'> * frame.rb      -- frame tracer</div><div class='ctx'> * completion.rb -- irb completor</div><div class='ctx'> </div><div class='ctx'> = rtags</div><div class='ctx'> </div><div class='del'>-rtagsはemacs及びvi用の, TAGファイルをつくるコマンドです.</div><div class='add'>+rtagsemacsڤviѤ, TAGեĤ륳ޥɤǤ.</div><div class='ctx'> </div><div class='del'>-== 使い方</div><div class='add'>+== Ȥ</div><div class='ctx'> </div><div class='ctx'>    rtags [-vi] file....</div><div class='ctx'> </div><div class='del'>-カレントディレクトリにemacs用のTAGSファイルができます. -viオプションを</div><div class='del'>-つけた時にはvi用のtagsファイルを作成します.</div><div class='add'>+ȥǥ쥯ȥemacsѤTAGSե뤬Ǥޤ. -viץ</div><div class='add'>+ĤˤviѤtagsեޤ.</div><div class='ctx'> </div><div class='del'>-emacsの場合, 通常のetags.elがそのまま使えます. 検索可能なのは,</div><div class='add'>+emacsξ, ̾etags.elΤޤ޻Ȥޤ. ǽʤΤ,</div><div class='ctx'> </div><div class='del'>-* クラス</div><div class='del'>-* メソッド</div><div class='del'>-* 特異メソッド</div><div class='add'>+* 饹</div><div class='add'>+* ᥽å</div><div class='add'>+* ðۥ᥽å</div><div class='ctx'> * alias</div><div class='del'>-* attrで宣言されたアクセサ(パラメータがシンボルか文字列リテラルに限る)</div><div class='del'>-* attr_XXXで宣言されたアクセサ(パラメータがシンボルか文字列リテラルに限る)</div><div class='add'>+* attr줿(ѥ᡼ܥ뤫ʸƥ˸¤)</div><div class='add'>+* attr_XXX줿(ѥ᡼ܥ뤫ʸƥ˸¤)</div><div class='ctx'> </div><div class='del'>-です.</div><div class='add'>+Ǥ.</div><div class='ctx'> </div><div class='del'>-Cなどで使っているのと違うのは, コンプリーションに関する部分で,</div><div class='add'>+CʤɤǻȤäƤΤȰ㤦Τ, ץ꡼˴ؤʬ,</div><div class='ctx'> </div><div class='del'>-関数名は,</div><div class='add'>+ؿ̾,</div><div class='ctx'> </div><div class='del'>-  関数名(</div><div class='add'>+  ؿ̾(</div><div class='ctx'> </div><div class='del'>-クラスは,</div><div class='add'>+饹,</div><div class='ctx'> </div><div class='del'>-  ::クラス名::....::クラス名</div><div class='add'>+  ::饹̾::....::饹̾</div><div class='ctx'> </div><div class='del'>-メソッドは,</div><div class='add'>+᥽åɤ,</div><div class='ctx'> </div><div class='del'>-  ::クラス名::....::クラス名#メソッド名</div><div class='add'>+  ::饹̾::....::饹̾#᥽å̾</div><div class='ctx'> </div><div class='del'>-特異メソッド(クラスメソッド)は</div><div class='add'>+ðۥ᥽å(饹᥽å)</div><div class='ctx'> </div><div class='del'>-  ::クラス名::....::クラス名.メソッド名</div><div class='add'>+  ::饹̾::....::饹̾.᥽å̾</div><div class='ctx'> </div><div class='del'>-でコンプリーションを行なうところです.</div><div class='add'>+ǥץ꡼ԤʤȤǤ.</div><div class='ctx'> </div><div class='ctx'> = xmp.rb</div><div class='ctx'> </div><div class='del'>-ごとけんxmpの上位互換バージョンです. ただ, 非常に重いのでごとけんxmpで</div><div class='del'>-は対応できない時に, 使用すると良いでしょう.</div><div class='add'>+Ȥxmpξ̸ߴСǤ. , ˽ŤΤǤȤxmp</div><div class='add'>+бǤʤ, ѤɤǤ礦.</div><div class='ctx'> </div><div class='del'>-== 使い方</div><div class='add'>+== Ȥ</div><div class='ctx'> </div><div class='del'>-=== 関数として使う.</div><div class='add'>+=== ؿȤƻȤ.</div><div class='ctx'> </div><div class='ctx'>     require "irb/xmp"</div><div class='ctx'>     xmp &lt;&lt;END</div><div class='hunk'>@@ -77,10 +78,10 @@ Cなどで使っているのと違うのは, コンプリーションに関す</div><div class='ctx'>     foo</div><div class='ctx'> 	==&gt;1</div><div class='ctx'> </div><div class='del'>-=== XMPインスタンスを用いる.</div><div class='add'>+=== XMP󥹥󥹤Ѥ.</div><div class='ctx'> </div><div class='del'>-この場合は, XMPがコンテキスト情報を持つので, 変数の値などを保持してい</div><div class='del'>-ます.</div><div class='add'>+ξ, XMPƥȾĤΤ, ѿͤʤɤݻƤ</div><div class='add'>+ޤ.</div><div class='ctx'> </div><div class='ctx'>   require "irb/xmp"</div><div class='ctx'>   xmp = XMP.new</div><div class='hunk'>@@ -99,52 +100,52 @@ Cなどで使っているのと違うのは, コンプリーションに関す</div><div class='ctx'>   foo</div><div class='ctx'>       ==&gt;1</div><div class='ctx'> </div><div class='del'>-== コンテキストに関して</div><div class='add'>+== ƥȤ˴ؤ</div><div class='ctx'> </div><div class='del'>-XMPメソッド群のコンテキストは, 呼び出す前のコンテキストで評価されます.</div><div class='del'>-明示的にコンテキストを指定するとそのコンテキストで評価します.</div><div class='add'>+XMP᥽åɷΥƥȤ, ƤӽФΥƥȤɾޤ.</div><div class='add'>+Ū˥ƥȤꤹȤΥƥȤɾޤ.</div><div class='ctx'> </div><div class='del'>-例:</div><div class='add'>+:</div><div class='ctx'> </div><div class='ctx'>   xmp "foo", an_binding</div><div class='ctx'> </div><div class='del'>-:注:</div><div class='del'>-マルチスレッドには対応していません.</div><div class='add'>+::</div><div class='add'>+ޥåɤˤбƤޤ.</div><div class='ctx'> </div><div class='ctx'> = frame.rb</div><div class='del'>-現在実行中のフレーム情報を取り扱うためのクラスです.</div><div class='add'>+߼¹Υե졼갷Υ饹Ǥ. </div><div class='ctx'> </div><div class='ctx'> * IRB::Frame.top(n = 0)</div><div class='del'>-  上からn番目のコンテキストを取り出します. nは0が最上位になります.</div><div class='add'>+  夫nܤΥƥȤФޤ. n0Ǿ̤ˤʤޤ.</div><div class='ctx'> * IRB::Frame.bottom(n = 0)</div><div class='del'>-  下からn番目のコンテキストを取り出します. nは0が最下位になります.</div><div class='add'>+  nܤΥƥȤФޤ. n0ǲ̤ˤʤޤ.</div><div class='ctx'> * IRB::Frame.sender</div><div class='del'>-  センダになっているオブジェクトを取り出します. センダとは, そのメソッ</div><div class='del'>-  ドを呼び出した側のselfのことです.</div><div class='add'>+  ˤʤäƤ륪֥ȤФޤ. Ȥ, Υ᥽</div><div class='add'>+  ɤƤӽФ¦selfΤȤǤ.</div><div class='ctx'> </div><div class='del'>-:注:</div><div class='del'>-set_trace_funcを用いてRubyの実行をトレースしています. マルチスレッドに</div><div class='del'>-は対応していません.</div><div class='add'>+::</div><div class='add'>+set_trace_funcѤRubyμ¹Ԥȥ졼Ƥޤ. ޥåɤ</div><div class='add'>+бƤޤ.</div><div class='ctx'> </div><div class='ctx'> = completion.rb</div><div class='del'>-irbのcompletion機能を提供するものです.</div><div class='add'>+irbcompletionǽ󶡤ΤǤ. </div><div class='ctx'> </div><div class='del'>-== 使い方</div><div class='add'>+== Ȥ</div><div class='ctx'> </div><div class='ctx'>    % irb -r irb/completion</div><div class='ctx'> </div><div class='del'>-とするか, ~/.irbrc 中に</div><div class='add'>+Ȥ뤫, ~/.irbrc </div><div class='ctx'> </div><div class='ctx'>    require "irb/completion"</div><div class='ctx'> </div><div class='del'>-を入れてください. irb実行中に require "irb/completion" してもよいです.</div><div class='add'>+Ƥ. irb¹ require "irb/completion" Ƥ褤Ǥ.</div><div class='ctx'> </div><div class='del'>-irb実行中に (TAB) を押すとコンプレーションします.</div><div class='add'>+irb¹ (TAB) 򲡤ȥץ졼󤷤ޤ.</div><div class='ctx'> </div><div class='del'>-トップレベルで(TAB)を押すとすべての構文要素, クラス, メソッドの候補がで</div><div class='del'>-ます. 候補が唯一ならば完全に補完します.</div><div class='add'>+ȥåץ٥(TAB)򲡤Ȥ٤Ƥιʸ, 饹, ᥽åɤθ䤬</div><div class='add'>+ޤ. 䤬ͣʤд䴰ޤ.</div><div class='ctx'> </div><div class='del'>-  irb(main):001:0&gt; in</div><div class='add'>+  irb(main):001:0&gt; in    </div><div class='ctx'>   in                    inspect               instance_eval</div><div class='ctx'>   include               install_alias_method  instance_of?</div><div class='ctx'>   initialize            install_aliases       instance_variables</div><div class='hunk'>@@ -153,8 +154,8 @@ irb実行中に (TAB) を押すとコンプレーションします.</div><div class='ctx'>   irb(main):002:0&gt; foo = Object.new</div><div class='ctx'>   #&lt;Object:0x4027146c&gt;</div><div class='ctx'> </div><div class='del'>-  ((|変数名.|))の後に(TAB)を押すと, そのオブジェクトのメソッド一覧がでま</div><div class='del'>-  す.</div><div class='add'>+  ((|ѿ̾.|))θ(TAB)򲡤, Υ֥ȤΥ᥽åɰǤ</div><div class='add'>+  .</div><div class='ctx'> </div><div class='ctx'>   irb(main):003:0&gt; foo.</div><div class='ctx'>   foo.==                  foo.frozen?             foo.protected_methods</div><div class='hunk'>@@ -168,8 +169,8 @@ irb実行中に (TAB) を押すとコンプレーションします.</div><div class='ctx'>   foo.dup                 foo.kind_of?            foo.to_s</div><div class='ctx'>   foo.eql?                foo.method              foo.type</div><div class='ctx'>   foo.equal?              foo.methods             foo.untaint</div><div class='del'>-  foo.extend              foo.nil?</div><div class='del'>-  foo.freeze              foo.private_methods</div><div class='add'>+  foo.extend              foo.nil?                </div><div class='add'>+  foo.freeze              foo.private_methods     </div><div class='ctx'> </div><div class='ctx'> =end</div><div class='ctx'> </div><div class='head'>diff --git a/doc/irb/irb.rd b/doc/irb/irb.rd<br/>new file mode 100644<br/>index 0000000000..a42cd46680<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/doc/irb/irb.rd?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/irb/irb.rd</a></div><div class='hunk'>@@ -0,0 +1,392 @@</div><div class='add'>+irb -- interactive ruby</div><div class='add'>+		$Release Version: 0.9 $</div><div class='add'>+		$Revision$</div><div class='add'>+		$Date$</div><div class='add'>+		by Keiju ISHITSUKA(keiju@ishitsuka.com)</div><div class='add'>+		by gotoken-san who is original translater from japanese version</div><div class='add'>+</div><div class='add'>+=begin</div><div class='add'>+= What is irb?</div><div class='add'>+</div><div class='add'>+irb stands for `interactive ruby'. irb is a tool to execute interactively</div><div class='add'>+ruby expressions read from stdin. </div><div class='add'>+</div><div class='add'>+= Invoking</div><div class='add'>+</div><div class='add'>+  % irb</div><div class='add'>+</div><div class='add'>+= Usage</div><div class='add'>+</div><div class='add'>+Use of irb is easy if you know ruby.  Executing irb, prompts are </div><div class='add'>+displayed as follows. Then, enter expression of ruby. A input is</div><div class='add'>+executed when it is syntacticaly completed. </div><div class='add'>+</div><div class='add'>+  dim% irb</div><div class='add'>+  irb(main):001:0&gt; 1+2</div><div class='add'>+  3</div><div class='add'>+  irb(main):002:0&gt; class Foo</div><div class='add'>+  irb(main):003:1&gt;  def foo</div><div class='add'>+  irb(main):004:2&gt;    print 1</div><div class='add'>+  irb(main):005:2&gt;  end</div><div class='add'>+  irb(main):006:1&gt; end</div><div class='add'>+  nil</div><div class='add'>+  irb(main):007:0&gt; </div><div class='add'>+</div><div class='add'>+And, Readline extesion module can be used with irb. Using Readline</div><div class='add'>+is the standard default action if Readline is installed. </div><div class='add'>+</div><div class='add'>+= Command line option</div><div class='add'>+</div><div class='add'>+  irb.rb [options] file_name opts</div><div class='add'>+  options:</div><div class='add'>+  -f		    suppress read ~/.irbrc </div><div class='add'>+  -m		    bc mode (fraction or matrix are available)</div><div class='add'>+  -d                set $DEBUG  to true (same as `ruby -d')</div><div class='add'>+  -Kc		    same as `ruby -Kc'</div><div class='add'>+  -r load-module    same as `ruby -r'</div><div class='add'>+  --verbose	    command input is echoed(default)</div><div class='add'>+  --noverbose	    command input isn't echoed</div><div class='add'>+  --echo	    commands are echoed immediately before execution(default)</div><div class='add'>+  --noecho	    commands aren't echoed immediately before execution</div><div class='add'>+  --inspect	    uses `inspect' for output (the default except bc mode)</div><div class='add'>+  --noinspect	    doesn't uses inspect for output</div><div class='add'>+  --readline	    uses Readline extension module</div><div class='add'>+  --noreadline	    doesn't use Readline extension module</div><div class='add'>+  --prompt prompt-mode</div><div class='add'>+  --prompt-mode prompt-mode</div><div class='add'>+		    switches prompt mode. Pre-defined prompt modes are</div><div class='add'>+		    `default', `simple', `xmp' and `inf-ruby'</div><div class='add'>+			    </div><div class='add'>+  --inf-ruby-mode   uses prompt appreciate for inf-ruby-mode on emacs. </div><div class='add'>+		    Suppresses --readline. </div><div class='add'>+  --simple-prompt   simple prompt mode</div><div class='add'>+  --noprompt	    no prompt</div><div class='add'>+  --tracer	    display trace for each execution of commands.</div><div class='add'>+  --back-trace-limit n</div><div class='add'>+		    displayes backtrace top n and tail n. The default</div><div class='add'>+		    value is 16. </div><div class='add'>+  --irb_debug n	    sets internal debug level to n (It shouldn't be used)</div><div class='add'>+  -v, --version	    prints the version of irb</div><div class='add'>+</div><div class='add'>+= Configurations</div><div class='add'>+</div><div class='add'>+irb reads `~/.irbrc' when it is invoked. If `~/.irbrb' doesn't exist</div><div class='add'>+irb try to read in the order `.irbrc', `irb.rc', `_irbrc' then `$irbrc'. </div><div class='add'>+</div><div class='add'>+The following is altanative to the command line option. To use them</div><div class='add'>+type as follows in an irb session. </div><div class='add'>+</div><div class='add'>+  IRB.conf[:IRB_NAME]="irb"</div><div class='add'>+  IRB.conf[:MATH_MODE]=false</div><div class='add'>+  IRB.conf[:USE_TRACER]=false</div><div class='add'>+  IRB.conf[:USE_LOADER]=false</div><div class='add'>+  IRB.conf[:IGNORE_SIGINT]=true</div><div class='add'>+  IRB.conf[:IGNORE_EOF]=false</div><div class='add'>+  IRB.conf[:INSPECT_MODE]=nil</div><div class='add'>+  IRB.conf[:IRB_RC] = nil</div><div class='add'>+  IRB.conf[:BACK_TRACE_LIMIT]=16</div><div class='add'>+  IRB.conf[:USE_LOADER] = false</div><div class='add'>+  IRB.conf[:USE_READLINE] = nil</div><div class='add'>+  IRB.conf[:USE_TRACER] = false</div><div class='add'>+  IRB.conf[:IGNORE_SIGINT] = true</div><div class='add'>+  IRB.conf[:IGNORE_EOF] = false</div><div class='add'>+  IRB.conf[:PROMPT_MODE] = :DEFALUT</div><div class='add'>+  IRB.conf[:PROMPT] = {...}</div><div class='add'>+  IRB.conf[:DEBUG_LEVEL]=0</div><div class='add'>+  IRB.conf[:VERBOSE]=true</div><div class='add'>+</div><div class='add'>+== Customizing prompt</div><div class='add'>+</div><div class='add'>+To costomize the prompt you set a variable</div><div class='add'>+</div><div class='add'>+  IRB.conf[:PROMPT]</div><div class='add'>+</div><div class='add'>+For example, describe as follows in `.irbrc'. </div><div class='add'>+</div><div class='add'>+  IRB.conf[:PROMPT][:MY_PROMPT] = { # name of prompt mode</div><div class='add'>+    :PROMPT_I =&gt; nil,		  # normal prompt</div><div class='add'>+    :PROMPT_S =&gt; nil,		  # prompt for continuated strings</div><div class='add'>+    :PROMPT_C =&gt; nil,		  # prompt for continuated statement</div><div class='add'>+    :RETURN =&gt; "    ==&gt;%s\n"	  # format to return value</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+Then, invoke irb with the above prompt mode by</div><div class='add'>+</div><div class='add'>+  % irb --prompt my-prompt</div><div class='add'>+</div><div class='add'>+Or add the following in `.irbrc'. </div><div class='add'>+</div><div class='add'>+  IRB.conf[:PROMPT_MODE] = :MY_PROMPT</div><div class='add'>+</div><div class='add'>+Constants PROMPT_I, PROMPT_S and PROMPT_C specifies the format. </div><div class='add'>+In the prompt specification, some special strings are available. </div><div class='add'>+</div><div class='add'>+  %N	command name which is running</div><div class='add'>+  %m	to_s of main object (self)</div><div class='add'>+  %M	inspect of main object (self)</div><div class='add'>+  %l	type of string(", ', /, ]), `]' is inner %w[...]</div><div class='add'>+  %NNi	indent level. NN is degits and means as same as printf("%NNd"). </div><div class='add'>+        It can be ommited</div><div class='add'>+  %NNn	line number. </div><div class='add'>+  %%    %</div><div class='add'>+</div><div class='add'>+For instance, the default prompt mode is defined as follows:</div><div class='add'>+</div><div class='add'>+IRB.conf[:PROMPT_MODE][:DEFAULT] = {</div><div class='add'>+      :PROMPT_I =&gt; "%N(%m):%03n:%i&gt; ",</div><div class='add'>+      :PROMPT_S =&gt; "%N(%m):%03n:%i%l ",</div><div class='add'>+      :PROMPT_C =&gt; "%N(%m):%03n:%i* ",</div><div class='add'>+      :RETURN =&gt; "%s\n"</div><div class='add'>+} </div><div class='add'>+</div><div class='add'>+RETURN is used to printf. </div><div class='add'>+</div><div class='add'>+== Configurating subirb</div><div class='add'>+</div><div class='add'>+The command line option or IRB.conf specify the default behavior of</div><div class='add'>+(sub)irb. On the other hand, each conf of in the next sction `6. Command' </div><div class='add'>+is used to individually configurate (sub)irb. </div><div class='add'>+</div><div class='add'>+If proc is set to IRB.conf[:IRB_RC], its subirb will be invoked after</div><div class='add'>+execution of that proc under giving the context of irb as its</div><div class='add'>+aregument. By this mechanism each subirb can be configurated. </div><div class='add'>+</div><div class='add'>+= Command</div><div class='add'>+</div><div class='add'>+For irb commands, both simple name and `irb_'-prefixed name are prepared. </div><div class='add'>+</div><div class='add'>+--- exit, quit, irb_exit	</div><div class='add'>+    Quits (sub)irb. </div><div class='add'>+</div><div class='add'>+--- conf, irb_context</div><div class='add'>+    Displays current configuration. Modifing the configuration is</div><div class='add'>+    achieved by sending message to `conf'. </div><div class='add'>+</div><div class='add'>+--- conf.eval_history = N</div><div class='add'>+    Sets execution result history.</div><div class='add'>+    N is a integer or nil. If N &gt; 0, the number of historys is N. </div><div class='add'>+    If N == 0, the number of historys is unlimited. If N is nill,</div><div class='add'>+    execution result history isn't used(default).</div><div class='add'>+</div><div class='add'>+--- conf.back_trace_limit</div><div class='add'>+    Sets display lines of backtrace as top n and tail n. </div><div class='add'>+    The default value is 16.</div><div class='add'>+    </div><div class='add'>+--- conf.debug_level = N</div><div class='add'>+    Sets debug level of irb. </div><div class='add'>+</div><div class='add'>+--- conf.ignore_eof = true/false</div><div class='add'>+    Whether ^D (control-d) will be ignored or not. </div><div class='add'>+    If false is set, ^D means quit. </div><div class='add'>+</div><div class='add'>+--- conf.ignore_sigint= true/false</div><div class='add'>+    Whether ^C (control-c) will be ignored or not. </div><div class='add'>+    If false is set, ^D means quit.  If true, </div><div class='add'>+      during input:   cancel inputing then return to top level. </div><div class='add'>+      during execute: abondon current execution. </div><div class='add'>+</div><div class='add'>+--- conf.inf_ruby_mode = true/false</div><div class='add'>+    Whether inf-ruby-mode or not. The default value is false.</div><div class='add'>+</div><div class='add'>+--- conf.inspect_mode = true/false/nil</div><div class='add'>+    Specifies inspect mode. </div><div class='add'>+    true:  display inspect</div><div class='add'>+    false: display to_s</div><div class='add'>+    nil:   inspect mode in non math mode, </div><div class='add'>+           non inspect mode in math mode. </div><div class='add'>+</div><div class='add'>+--- conf.math_mode</div><div class='add'>+    Whether bc mode or not. </div><div class='add'>+</div><div class='add'>+--- conf.use_loader = true/false</div><div class='add'>+    Whether irb's own file reader method is used when load/require or not. </div><div class='add'>+    This mode is globaly affected (irb wide). </div><div class='add'>+</div><div class='add'>+--- conf.prompt_c</div><div class='add'>+    prompt for a continuating statement (e.g, immediately after of `if')</div><div class='add'>+</div><div class='add'>+--- conf.prompt_i</div><div class='add'>+    standard prompt</div><div class='add'>+</div><div class='add'>+--- conf.prompt_s</div><div class='add'>+    prompt for a continuating string</div><div class='add'>+</div><div class='add'>+--- conf.rc</div><div class='add'>+    Whether ~/.irbrc is read or not. </div><div class='add'>+</div><div class='add'>+--- conf.use_prompt = true/false</div><div class='add'>+    Prompting or not. </div><div class='add'>+</div><div class='add'>+--- conf.use_readline = true/false/nil</div><div class='add'>+    Whether readline is used or not. </div><div class='add'>+    true: uses </div><div class='add'>+    false: doen't use</div><div class='add'>+    nil: intends to use readline except for inf-ruby-mode (default)</div><div class='add'>+#</div><div class='add'>+#--- conf.verbose=T/F</div><div class='add'>+#    Whether verbose messages are display or not. </div><div class='add'>+</div><div class='add'>+--- cws, chws, irb_change_workspace [obj]</div><div class='add'>+    obj will be self. If obj is omitted, self will be home-object, or</div><div class='add'>+    the main object of first started irb.</div><div class='add'>+</div><div class='add'>+--- pushws, irb_pushws, irb_push_workspace [obj]</div><div class='add'>+    same as UNIX-shell command pushd.</div><div class='add'>+</div><div class='add'>+--- popws, irb_popws, irb_pop_workspace</div><div class='add'>+    same as UNIX-shell command popd</div><div class='add'>+</div><div class='add'>+--- irb [obj]</div><div class='add'>+    Invoke subirb. If obj is given, obj will be self. </div><div class='add'>+</div><div class='add'>+--- jobs, irb_jobs</div><div class='add'>+    List of subirb</div><div class='add'>+</div><div class='add'>+--- fg n, irb_fg n</div><div class='add'>+    Switch into specified subirb. The following is candidates of n:</div><div class='add'>+</div><div class='add'>+      irb number</div><div class='add'>+      thhread</div><div class='add'>+      irb object</div><div class='add'>+      self(obj which is specified of irb obj)</div><div class='add'>+</div><div class='add'>+--- kill n, irb_kill n</div><div class='add'>+    Kill subirb. The means of n is as same as the case of irb_fg. </div><div class='add'>+</div><div class='add'>+--- souce, irb_source  path</div><div class='add'>+    This is a like UNIX-shell command source. evaluate script in path</div><div class='add'>+    on current context.</div><div class='add'>+</div><div class='add'>+--- irb_load path, prev</div><div class='add'>+    irb-version of Ruby's load.</div><div class='add'>+</div><div class='add'>+= System variable</div><div class='add'>+</div><div class='add'>+--- _  The latest value of evaluation (it is local)</div><div class='add'>+--- __ The history of evaluation values.</div><div class='add'>+    __[line_no] return an evaluation value of line number&lt;line_no&gt;. If</div><div class='add'>+    line_no is a negative, return value before -&lt;line_no&gt; from latest</div><div class='add'>+    value.</div><div class='add'>+</div><div class='add'>+= Session Example</div><div class='add'>+</div><div class='add'>+  dim% ruby irb.rb</div><div class='add'>+  irb(main):001:0&gt; irb                        # invoke subirb</div><div class='add'>+  irb#1(main):001:0&gt; jobs                     # list of subirbs</div><div class='add'>+  #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : stop)</div><div class='add'>+  #1-&gt;irb#1 on main (#&lt;Thread:0x40125d64&gt; : running)</div><div class='add'>+  nil</div><div class='add'>+  irb#1(main):002:0&gt; fg 0                     # switch job</div><div class='add'>+  nil</div><div class='add'>+  irb(main):002:0&gt; class Foo;end</div><div class='add'>+  nil</div><div class='add'>+  irb(main):003:0&gt; irb Foo                    # invoke subirb which has the </div><div class='add'>+					      #              context of Foo</div><div class='add'>+  irb#2(Foo):001:0&gt; def foo                   # define Foo#foo</div><div class='add'>+  irb#2(Foo):002:1&gt;   print 1</div><div class='add'>+  irb#2(Foo):003:1&gt; end</div><div class='add'>+  nil</div><div class='add'>+  irb#2(Foo):004:0&gt; fg 0                      # switch job</div><div class='add'>+  nil</div><div class='add'>+  irb(main):004:0&gt; jobs                       # list of job</div><div class='add'>+  #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : running)</div><div class='add'>+  #1-&gt;irb#1 on main (#&lt;Thread:0x40125d64&gt; : stop)</div><div class='add'>+  #2-&gt;irb#2 on Foo (#&lt;Thread:0x4011d54c&gt; : stop)</div><div class='add'>+  nil</div><div class='add'>+  irb(main):005:0&gt; Foo.instance_methods       # Foo#foo is defined asurely</div><div class='add'>+  ["foo"]</div><div class='add'>+  irb(main):006:0&gt; fg 2                       # switch job</div><div class='add'>+  nil</div><div class='add'>+  irb#2(Foo):005:0&gt; def bar                   # define Foo#bar</div><div class='add'>+  irb#2(Foo):006:1&gt;  print "bar"</div><div class='add'>+  irb#2(Foo):007:1&gt; end</div><div class='add'>+  nil</div><div class='add'>+  irb#2(Foo):010:0&gt;  Foo.instance_methods</div><div class='add'>+  ["bar", "foo"]</div><div class='add'>+  irb#2(Foo):011:0&gt; fg 0                      </div><div class='add'>+  nil</div><div class='add'>+  irb(main):007:0&gt; f = Foo.new</div><div class='add'>+  #&lt;Foo:0x4010af3c&gt;</div><div class='add'>+  irb(main):008:0&gt; irb f                      # invoke subirb which has the</div><div class='add'>+					      #  context of f (instance of Foo)</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):001:0&gt; jobs</div><div class='add'>+  #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : stop)</div><div class='add'>+  #1-&gt;irb#1 on main (#&lt;Thread:0x40125d64&gt; : stop)</div><div class='add'>+  #2-&gt;irb#2 on Foo (#&lt;Thread:0x4011d54c&gt; : stop)</div><div class='add'>+  #3-&gt;irb#3 on #&lt;Foo:0x4010af3c&gt; (#&lt;Thread:0x4010a1e0&gt; : running)</div><div class='add'>+  nil</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):002:0&gt; foo         # evaluate f.foo</div><div class='add'>+  1nil</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):003:0&gt; bar         # evaluate f.bar</div><div class='add'>+  barnil</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):004:0&gt; kill 1, 2, 3# kill job</div><div class='add'>+  nil</div><div class='add'>+  irb(main):009:0&gt; jobs</div><div class='add'>+  #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : running)</div><div class='add'>+  nil</div><div class='add'>+  irb(main):010:0&gt; exit                       # exit</div><div class='add'>+  dim% </div><div class='add'>+</div><div class='add'>+= Restrictions</div><div class='add'>+</div><div class='add'>+Because irb evaluates the inputs immediately after the imput is</div><div class='add'>+syntactically completed, irb gives slight different result than</div><div class='add'>+directly use ruby. Known difference is pointed out here. </div><div class='add'>+</div><div class='add'>+</div><div class='add'>+== Declaration of the local variable</div><div class='add'>+</div><div class='add'>+The following causes an error in ruby:</div><div class='add'>+</div><div class='add'>+  eval "foo = 0"</div><div class='add'>+  foo</div><div class='add'>+  --</div><div class='add'>+  -:2: undefined local variable or method `foo' for #&lt;Object:0x40283118&gt; (NameError)</div><div class='add'>+  ---</div><div class='add'>+  NameError</div><div class='add'>+</div><div class='add'>+Though, the above will successfully done by irb. </div><div class='add'>+</div><div class='add'>+  &gt;&gt; eval "foo = 0"</div><div class='add'>+ =&gt; 0</div><div class='add'>+ &gt;&gt; foo</div><div class='add'>+ =&gt; 0</div><div class='add'>+</div><div class='add'>+Ruby evaluates a code after reading entire of code and determination</div><div class='add'>+of the scope of local variables. On the other hand, irb do</div><div class='add'>+immediately. More precisely, irb evaluate at first</div><div class='add'>+</div><div class='add'>+  evel "foo = 0" </div><div class='add'>+</div><div class='add'>+then foo is defined on this timing. It is because of this</div><div class='add'>+incompatibility.</div><div class='add'>+</div><div class='add'>+If you'd like to detect those differences, begin...end can be used:</div><div class='add'>+</div><div class='add'>+  &gt;&gt; begin</div><div class='add'>+  ?&gt;   eval "foo = 0"</div><div class='add'>+  &gt;&gt;   foo</div><div class='add'>+  &gt;&gt; end</div><div class='add'>+  NameError: undefined local variable or method `foo' for #&lt;Object:0x4013d0f0&gt;</div><div class='add'>+  (irb):3</div><div class='add'>+  (irb_local_binding):1:in `eval'</div><div class='add'>+</div><div class='add'>+== Here-document</div><div class='add'>+</div><div class='add'>+Implementation of Here-document is incomplete. </div><div class='add'>+</div><div class='add'>+== Symbol</div><div class='add'>+</div><div class='add'>+Irb can not always recognize a symbol as to be Symbol. Concretely, an</div><div class='add'>+expression have completed, however Irb regard it as continuation line.</div><div class='add'>+</div><div class='add'>+=end</div><div class='add'>+</div><div class='add'>+% Begin Emacs Environment</div><div class='add'>+% Local Variables:</div><div class='add'>+% mode: text</div><div class='add'>+% comment-column: 0</div><div class='add'>+% comment-start: "%"</div><div class='add'>+% comment-end: "\n"</div><div class='add'>+% End:</div><div class='add'>+%</div><div class='head'>diff --git a/doc/irb/irb.rd.ja b/doc/irb/irb.rd.ja<br/>index 85b6536ee4..338dcc644e 100644<br/>--- a/<a href='/ruby.git/tree/doc/irb/irb.rd.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/irb/irb.rd.ja</a><br/>+++ b/<a href='/ruby.git/tree/doc/irb/irb.rd.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/irb/irb.rd.ja</a></div><div class='hunk'>@@ -1,25 +1,26 @@</div><div class='ctx'> irb -- interactive ruby</div><div class='ctx'> 				$Release Version: 0.9.5 $</div><div class='ctx'> 			   	$Revision$</div><div class='add'>+			   	$Date$</div><div class='ctx'> 			   	by Keiju ISHITSUKA(keiju@ruby-lang.org)</div><div class='ctx'> =begin</div><div class='del'>-= irbとは?</div><div class='add'>+= irbȤ?</div><div class='ctx'> </div><div class='del'>-irbはinteractive rubyの略です. rubyの式を標準入力から簡単に入力/実行する</div><div class='del'>-ためのツールです.</div><div class='add'>+irbinteractive rubyάǤ. rubyμɸϤñ/¹Ԥ</div><div class='add'>+ΥġǤ.</div><div class='ctx'> </div><div class='del'>-= 起動</div><div class='add'>+= ư</div><div class='ctx'> </div><div class='ctx'>   % irb</div><div class='ctx'> </div><div class='del'>-で行ないます.</div><div class='add'>+ǹԤʤޤ. </div><div class='ctx'> </div><div class='del'>-= 使い方</div><div class='add'>+= Ȥ</div><div class='ctx'> </div><div class='del'>-irbの使い方は, Rubyさえ知っていればいたって簡単です. 基本的には irb と</div><div class='del'>-いうコマンドを実行するだけです. irbを実行すると, 以下のようなプロンプ</div><div class='del'>-トが表れてきます. 後は, rubyの式を入れて下さい. 式が完結した時点で実行</div><div class='del'>-されます.</div><div class='add'>+irbλȤ, RubyΤäƤФäƴñǤ. Ūˤ irb </div><div class='add'>+ޥɤ¹ԤǤ. irb¹Ԥ, ʲΤ褦ʥץ</div><div class='add'>+ȤɽƤޤ. , rubyμƲ. 뤷Ǽ¹</div><div class='add'>+ޤ.</div><div class='ctx'> </div><div class='ctx'>   dim% irb</div><div class='ctx'>   irb(main):001:0&gt; 1+2</div><div class='hunk'>@@ -30,59 +31,60 @@ irbの使い方は, Rubyさえ知っていればいたって簡単です. 基本</div><div class='ctx'>   irb(main):005:2&gt;  end</div><div class='ctx'>   irb(main):006:1&gt; end</div><div class='ctx'>   nil</div><div class='del'>-  irb(main):007:0&gt;</div><div class='add'>+  irb(main):007:0&gt; </div><div class='ctx'> </div><div class='del'>-また, irbはReadlineモジュールにも対応しています. Readlineモジュールが</div><div class='del'>-インストールされている時には, それを使うのが標準の動作になります.</div><div class='add'>+ޤ, irbReadline⥸塼ˤбƤޤ. Readline⥸塼뤬</div><div class='add'>+󥹥ȡ뤵Ƥˤ, ȤΤɸưˤʤޤ.</div><div class='ctx'> </div><div class='del'>-= コマンドオプション</div><div class='add'>+= ޥɥץ</div><div class='ctx'> </div><div class='ctx'>   irb.rb [options] file_name opts</div><div class='ctx'>   options:</div><div class='del'>-  -f		    ~/.irbrc を読み込まない.</div><div class='del'>-  -m		    bcモード(分数, 行列の計算ができる)</div><div class='del'>-  -d                $DEBUG をtrueにする(ruby -d と同じ)</div><div class='del'>-  -Kc		    ruby -Kcと同じ</div><div class='del'>-  -r load-module    ruby -r と同じ.</div><div class='del'>-  --verbose	    これから実行する行を表示する(デフォルト)</div><div class='del'>-  --noverbose	    これから実行する行を表示しない</div><div class='del'>-  --echo	    実行結果を表示する(デフォルト)</div><div class='del'>-  --noecho	    実行結果を表示しない</div><div class='del'>-  --inspect	    結果出力にinspectを用いる(bcモード以外はデフォルト).</div><div class='del'>-  --noinspect	    結果出力にinspectを用いない.</div><div class='del'>-  --readline	    readlineライブラリを利用する.</div><div class='del'>-  --noreadline	    readlineライブラリを利用しない. デフォルトの動作は,</div><div class='del'>-		    inf-ruby-mode以外でreadlineライブラリを利用しよう</div><div class='del'>-		    とする.</div><div class='add'>+  -f		    ~/.irbrc ɤ߹ޤʤ.</div><div class='add'>+  -m		    bc⡼(ʬ, η׻Ǥ)</div><div class='add'>+  -d                $DEBUG trueˤ(ruby -d Ʊ)</div><div class='add'>+  -Kc		    ruby -KcƱ</div><div class='add'>+  -r load-module    ruby -r Ʊ.</div><div class='add'>+  --verbose	    줫¹ԤԤɽ(ǥե)</div><div class='add'>+  --noverbose	    줫¹ԤԤɽʤ</div><div class='add'>+  --echo	    ¹Է̤ɽ(ǥե)</div><div class='add'>+  --noecho	    ¹Է̤ɽʤ</div><div class='add'>+  --inspect	    ̽ϤinspectѤ(bc⡼ɰʳϥǥե). </div><div class='add'>+  --noinspect	    ̽ϤinspectѤʤ.</div><div class='add'>+  --readline	    readline饤֥Ѥ.</div><div class='add'>+  --noreadline	    readline饤֥Ѥʤ. ǥեȤư,</div><div class='add'>+		    inf-ruby-modeʳreadline饤֥Ѥ褦</div><div class='add'>+		    Ȥ. </div><div class='ctx'>   --prompt prompt-mode</div><div class='ctx'>   --prompt-mode prompt-mode</div><div class='del'>-		    プロンプトモードを切替えます. 現在定義されているプ</div><div class='del'>-		    ロンプトモードは, default, simple, xmp, inf-rubyが</div><div class='del'>-		    用意されています. デフォルトはdefaultプロンプトモー</div><div class='del'>-		    ドになっています.</div><div class='del'>-</div><div class='del'>-  --inf-ruby-mode   emacsのinf-ruby-mode用のプロンプト表示を行なう. 特</div><div class='del'>-		    に指定がない限り, readlineライブラリは使わなくなる.</div><div class='add'>+		    ץץȥ⡼ɤؤޤ. Ƥ</div><div class='add'>+		    ץȥ⡼ɤ, default, simple, xmp, inf-ruby</div><div class='add'>+		    ѰդƤޤ. ǥեȤdefaultץץȥ⡼</div><div class='add'>+		    ɤˤʤäƤޤ.</div><div class='add'>+			    </div><div class='add'>+  --inf-ruby-mode   emacsinf-ruby-modeѤΥץץɽԤʤ. </div><div class='add'>+		    ˻꤬ʤ¤, readline饤֥ϻȤʤʤ.</div><div class='ctx'>   --simple-prompt</div><div class='del'>-		    非常にシンプルなプロンプトを用いるモードです.</div><div class='del'>-  --noprompt	    プロンプト表示を行なわない.</div><div class='del'>-  --tracer	    コマンド実行時にトレースを行なう.</div><div class='add'>+		    ˥ץʥץץȤѤ⡼ɤǤ.</div><div class='add'>+  --noprompt	    ץץɽԤʤʤ.</div><div class='add'>+  --tracer	    ޥɼ¹Ի˥ȥ졼Ԥʤ.</div><div class='ctx'>   --back-trace-limit n</div><div class='del'>-		    バックトレース表示をバックトレースの頭から n, 後ろ</div><div class='del'>-		    からnだけ行なう. デフォルトは16</div><div class='del'>-  --irb_debug n	    irbのデバッグデバッグレベルをnに設定する(利用しな</div><div class='del'>-		    い方が無難でしょう).</div><div class='del'>-  -v, --version	    irbのバージョンを表示する</div><div class='add'>+		    Хåȥ졼ɽХåȥ졼Ƭ n, </div><div class='add'>+		    nԤʤ. ǥեȤ16 </div><div class='add'>+  --irb_debug n	    irbΥǥХåǥХå٥nꤹ(Ѥ</div><div class='add'>+		    ̵Ǥ礦).</div><div class='add'>+  -v, --version	    irbΥСɽ</div><div class='ctx'> </div><div class='del'>-= コンフィギュレーション</div><div class='add'>+= ե졼</div><div class='ctx'> </div><div class='del'>-irb起動時に``~/.irbrc''を読み込みます. もし存在しない場合は,</div><div class='del'>-``.irbrc'', ``irb.rc'', ``_irbrc'', ``$irbrc''の順にloadを試みます.</div><div class='add'>+irbư``~/.irbrc''ɤ߹ߤޤ. ⤷¸ߤʤ,</div><div class='add'>+``.irbrc'', ``irb.rc'', ``_irbrc'', ``$irbrc''νloadߤޤ.</div><div class='ctx'> </div><div class='del'>-オプションを設定する代わりに, 以下のコマンドでもデフォルトの動作を設定</div><div class='del'>-できます.</div><div class='add'>+ץꤹ, ʲΥޥɤǤǥեȤư</div><div class='add'>+Ǥޤ.</div><div class='ctx'> </div><div class='ctx'>   IRB.conf[:IRB_NAME]="irb"</div><div class='add'>+  IRB.conf[:MATH_MODE]=false</div><div class='ctx'>   IRB.conf[:USE_TRACER]=false</div><div class='ctx'>   IRB.conf[:USE_LOADER]=false</div><div class='ctx'>   IRB.conf[:IGNORE_SIGINT]=true</div><div class='hunk'>@@ -95,48 +97,48 @@ irb起動時に``~/.irbrc''を読み込みます. もし存在しない場合は</div><div class='ctx'>   IRB.conf[:USE_TRACER] = false</div><div class='ctx'>   IRB.conf[:IGNORE_SIGINT] = true</div><div class='ctx'>   IRB.conf[:IGNORE_EOF] = false</div><div class='del'>-  IRB.conf[:PROMPT_MODE] = :DEFAULT</div><div class='add'>+  IRB.conf[:PROMPT_MODE] = :DEFALUT</div><div class='ctx'>   IRB.conf[:PROMPT] = {...}</div><div class='ctx'>   IRB.conf[:DEBUG_LEVEL]=0</div><div class='ctx'>   IRB.conf[:VERBOSE]=true</div><div class='ctx'> </div><div class='del'>-== プロンプトの設定</div><div class='add'>+== ץץȤ</div><div class='ctx'> </div><div class='del'>-プロンプトをカスタマイズしたい時には,</div><div class='add'>+ץץȤ򥫥ޥˤ, </div><div class='ctx'> </div><div class='ctx'>    IRB.conf[:PROMPT]</div><div class='ctx'> </div><div class='del'>-を用います. 例えば, .irbrcの中で下のような式を記述します:</div><div class='add'>+Ѥޤ. 㤨, .irbrcǲΤ褦ʼ򵭽Ҥޤ:</div><div class='ctx'> </div><div class='del'>-   IRB.conf[:PROMPT][:MY_PROMPT] = { # プロンプトモードの名前</div><div class='del'>-     :PROMPT_I =&gt; nil,		  # 通常のプロンプト</div><div class='del'>-     :PROMPT_N =&gt; nil,		  # 継続行のプロンプト</div><div class='del'>-     :PROMPT_S =&gt; nil,		  # 文字列などの継続行のプロンプト</div><div class='del'>-     :PROMPT_C =&gt; nil,		  # 式が継続している時のプロンプト</div><div class='del'>-     :RETURN =&gt; "    ==&gt;%s\n"	  # リターン時のプロンプト</div><div class='add'>+   IRB.conf[:PROMPT][:MY_PROMPT] = { # ץץȥ⡼ɤ̾</div><div class='add'>+     :PROMPT_I =&gt; nil,		  # ̾Υץץ</div><div class='add'>+     :PROMPT_N =&gt; nil,		  # ³ԤΥץץ</div><div class='add'>+     :PROMPT_S =&gt; nil,		  # ʸʤɤη³ԤΥץץ</div><div class='add'>+     :PROMPT_C =&gt; nil,		  # ³ƤΥץץ</div><div class='add'>+     :RETURN =&gt; "    ==&gt;%s\n"	  # ꥿Υץץ</div><div class='ctx'>    }</div><div class='ctx'> </div><div class='del'>-プロンプトモードを指定したい時には,</div><div class='add'>+ץץȥ⡼ɤꤷˤ,</div><div class='ctx'> </div><div class='ctx'>   irb --prompt my-prompt</div><div class='ctx'> </div><div class='del'>-でそのプロンプトモードで起動されます. または, .irbrcに下式を記述しても</div><div class='del'>-OKです.</div><div class='add'>+ǤΥץץȥ⡼ɤǵưޤ. ޤ, .irbrc˲򵭽ҤƤ</div><div class='add'>+OKǤ.</div><div class='ctx'> </div><div class='ctx'>   IRB.conf[:PROMPT_MODE] = :MY_PROMPT</div><div class='ctx'> </div><div class='del'>-PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_Cは, フォーマットを指定します.</div><div class='add'>+PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_C, եޥåȤꤷޤ.</div><div class='ctx'> </div><div class='del'>-  %N	起動しているコマンド名が出力される.</div><div class='del'>-  %m	mainオブジェクト(self)がto_sで出力される.</div><div class='del'>-  %M	mainオブジェクト(self)がinspectされて出力される.</div><div class='del'>-  %l	文字列中のタイプを表す(", ', /, ], `]'は%wの中の時)</div><div class='del'>-  %NNi	インデントのレベルを表す. NNは数字が入りprintfの%NNdと同じ. 省</div><div class='del'>-	略可能</div><div class='del'>-  %NNn	行番号を表します.</div><div class='add'>+  %N	ưƤ륳ޥ̾Ϥ.</div><div class='add'>+  %m	main֥(self)to_sǽϤ.</div><div class='add'>+  %M	main֥(self)inspectƽϤ.</div><div class='add'>+  %l	ʸΥפɽ(", ', /, ], `]'%wλ)</div><div class='add'>+  %NNi	ǥȤΥ٥ɽ. NNϿprintf%NNdƱ. </div><div class='add'>+	άǽ</div><div class='add'>+  %NNn	ֹɽޤ.</div><div class='ctx'>   %%    %</div><div class='ctx'> </div><div class='del'>-例えば, デフォルトのプロンプトモードは:</div><div class='add'>+㤨, ǥեȤΥץץȥ⡼ɤ:</div><div class='ctx'> </div><div class='ctx'>   IRB.conf[:PROMPT_MODE][:DEFAULT] = {</div><div class='ctx'>       :PROMPT_I =&gt; "%N(%m):%03n:%i&gt; ",</div><div class='hunk'>@@ -144,213 +146,216 @@ PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_Cは, フォーマットを指定します.</div><div class='ctx'>       :PROMPT_S =&gt; "%N(%m):%03n:%i%l ",</div><div class='ctx'>       :PROMPT_C =&gt; "%N(%m):%03n:%i* ",</div><div class='ctx'>       :RETURN =&gt; "%s\n"</div><div class='del'>-  }</div><div class='add'>+  } </div><div class='ctx'> </div><div class='del'>-となっています.</div><div class='add'>+ȤʤäƤޤ.</div><div class='ctx'> </div><div class='del'>-RETURNは, 現在のところprintf形式です. 将来仕様が変わるかも知れません.</div><div class='add'>+RETURN, ߤΤȤprintfǤ. ͤѤ뤫Τޤ.</div><div class='ctx'> </div><div class='del'>-== サブirbの設定</div><div class='add'>+== irb</div><div class='ctx'> </div><div class='del'>-コマンドラインオプションおよびIRB.confは(サブ)irb起動時のデフォルトの</div><div class='del'>-設定を決めるもので, `5. コマンド'にあるconfで個別の(サブ)irbの設定がで</div><div class='del'>-きるようになっています.</div><div class='add'>+ޥɥ饤󥪥ץ󤪤IRB.conf()irbưΥǥեȤ</div><div class='add'>+Τ, `5. ޥ'ˤconfǸ̤()irb꤬</div><div class='add'>+褦ˤʤäƤޤ.</div><div class='ctx'> </div><div class='del'>-IRB.conf[:IRB_RC]にprocが設定されていると, サブirbを起動する時にその</div><div class='del'>-procをirbのコンテキストを引数として呼び出します. これによって個別のサ</div><div class='del'>-ブirbごとに設定を変えることができるようになります.</div><div class='add'>+IRB.conf[:IRB_RC]procꤵƤ, irbưˤ</div><div class='add'>+procirbΥƥȤȤƸƤӽФޤ. ˤäƸ̤Υ</div><div class='add'>+irbȤѤ뤳ȤǤ褦ˤʤޤ.</div><div class='ctx'> </div><div class='ctx'> </div><div class='del'>-= コマンド</div><div class='add'>+= ޥ</div><div class='ctx'> </div><div class='del'>-irb拡張コマンドは, 簡単な名前と頭に`irb_'をつけた名前と両方定義されて</div><div class='del'>-います. これは, 簡単な名前がoverrideされた時のためです.</div><div class='add'>+irbĥޥɤ, ñ̾Ƭ`irb_'Ĥ̾ξ</div><div class='add'>+ޤ. , ñ̾override줿ΤǤ.</div><div class='ctx'> </div><div class='del'>---- exit, quit, irb_exit</div><div class='del'>-    終了する.</div><div class='del'>-    サブirbの場合, そのサブirbを終了する.</div><div class='add'>+--- exit, quit, irb_exit	</div><div class='add'>+    λ. </div><div class='add'>+    irbξ, Υirbλ.</div><div class='ctx'> </div><div class='ctx'> --- conf, irb_context</div><div class='del'>-    irbの現在の設定を表示する. 設定の変更は, confにメッセージを送るこ</div><div class='del'>-    とによって行なえる.</div><div class='add'>+    irbθߤɽ. ѹ, conf˥å뤳</div><div class='add'>+    ȤˤäƹԤʤ. </div><div class='ctx'> </div><div class='ctx'> --- conf.eval_history = N</div><div class='del'>-    実行結果のヒストリ機能の設定.</div><div class='del'>-    nnは整数かnilで nn&gt;0 であればその数だけヒストリにためる。nn==0の時は</div><div class='del'>-    無制限に記憶する、nilだとヒストリ機能はやめる(デフォルト).</div><div class='add'>+    ¹Է̤Υҥȥ굡ǽ.</div><div class='add'>+    nnnil nn&gt;0 ǤФοҥȥˤ롣nn==0λ</div><div class='add'>+    ̵¤˵롢nilȥҥȥ굡ǽϤ(ǥե). </div><div class='ctx'> </div><div class='ctx'> --- Conf.back_trace_limit</div><div class='del'>-    バックトレース表示をバックトレースの頭からn, 後ろからnだけ行なう.</div><div class='del'>-    デフォルトは16</div><div class='del'>-</div><div class='add'>+    Хåȥ졼ɽХåȥ졼Ƭn, nԤʤ.</div><div class='add'>+    ǥեȤ16</div><div class='add'>+    </div><div class='ctx'> --- conf.debug_level = N</div><div class='del'>-    irb用のデバッグレベルの設定</div><div class='add'>+    irbѤΥǥХå٥</div><div class='ctx'> </div><div class='ctx'> --- conf.ignore_eof = true/false</div><div class='del'>-    ^Dが入力された時の動作を設定する. trueの時は^Dを無視する, falseの</div><div class='del'>-    時はirbを終了する.</div><div class='add'>+    ^DϤ줿ưꤹ. trueλ^D̵뤹, false</div><div class='add'>+    irbλ. </div><div class='ctx'> </div><div class='ctx'> --- conf.ignore_sigint= true/false</div><div class='del'>-    ^Cが入力された時の動作を設定する. false時は, irbを終了する. trueの</div><div class='del'>-    時の動作は以下のようになる:</div><div class='del'>-      入力中: これまで入力したものをキャンセルしトップレベルに戻る.</div><div class='del'>-      実行中: 実行を中止する.</div><div class='add'>+    ^CϤ줿ưꤹ. false, irbλ. true</div><div class='add'>+    ưϰʲΤ褦ˤʤ:</div><div class='add'>+      : ޤϤΤ򥭥󥻥뤷ȥåץ٥. </div><div class='add'>+      ¹: ¹Ԥߤ.</div><div class='ctx'> </div><div class='ctx'> --- conf.inf_ruby_mode = true/false</div><div class='del'>-    inf-ruby-mode用のプロンプト表示を行なう. デフォルトはfalse.</div><div class='add'>+    inf-ruby-modeѤΥץץɽԤʤ. ǥեȤfalse.</div><div class='ctx'> </div><div class='ctx'> --- conf.inspect_mode = true/false/nil</div><div class='del'>-    インスペクトモードを設定する.</div><div class='del'>-    true: インスペクトして表示する.</div><div class='del'>-    false: 通常のprintで表示する.</div><div class='del'>-    nil: 通常モードであれば, inspect modeとなり, mathモードの時は, non</div><div class='del'>-	 inspect modeとなる.</div><div class='add'>+    󥹥ڥȥ⡼ɤꤹ.</div><div class='add'>+    true: 󥹥ڥȤɽ.</div><div class='add'>+    false: ̾printɽ.</div><div class='add'>+    nil: ̾⡼ɤǤ, inspect modeȤʤ, math⡼ɤλ, non</div><div class='add'>+	 inspect modeȤʤ.   </div><div class='add'>+</div><div class='add'>+--- conf.math_mode</div><div class='add'>+    ȤΤ. bc⡼(ʬ, η׻Ǥޤ)ɤ?</div><div class='ctx'> </div><div class='ctx'> --- conf.use_loader = true/false</div><div class='del'>-    load/require時にirbのfile読み込み機能を用いるモードのスイッチ(デフォ</div><div class='del'>-    ルトは用いない). このモードはIRB全体に反映される.</div><div class='add'>+    load/requireirbfileɤ߹ߵǽѤ⡼ɤΥå(ǥե</div><div class='add'>+    ȤѤʤ). Υ⡼ɤIRBΤȿǤ.</div><div class='ctx'> </div><div class='ctx'> --- conf.prompt_c</div><div class='del'>-    ifの直後など, 行が継続している時のプロンプト.</div><div class='add'>+    ifľʤ, Ԥ³ƤΥץץ.</div><div class='ctx'> </div><div class='ctx'> --- conf.prompt_i</div><div class='del'>-    通常のプロンプト.</div><div class='add'>+    ̾Υץץ.</div><div class='ctx'> </div><div class='ctx'> --- conf.prompt_s</div><div class='del'>-    文字列中などを表すプロンプト.</div><div class='add'>+    ʸʤɤɽץץ.</div><div class='ctx'> </div><div class='ctx'> --- conf.rc</div><div class='del'>-    ~/.irbrcを読み込んだかどうか?</div><div class='add'>+    ~/.irbrcɤ߹ɤ?</div><div class='ctx'> </div><div class='ctx'> --- conf.use_prompt = true/false</div><div class='del'>-    プロンプト表示するかどうか? デフォルトではプロンプトを表示する.</div><div class='add'>+    ץץɽ뤫ɤ? ǥեȤǤϥץץȤɽ.</div><div class='ctx'> </div><div class='ctx'> --- conf.use_readline = true/false/nil</div><div class='del'>-    readlineを使うかどうか?</div><div class='del'>-    true: readlineを使う.</div><div class='del'>-    false: readlineを使わない.</div><div class='del'>-    nil: (デフォルト)inf-ruby-mode以外でreadlineライブラリを利用しよ</div><div class='del'>-         うとする.</div><div class='add'>+    readlineȤɤ?</div><div class='add'>+    true: readlineȤ.</div><div class='add'>+    false: readlineȤʤ.</div><div class='add'>+    nil: (ǥե)inf-ruby-modeʳreadline饤֥Ѥ</div><div class='add'>+         Ȥ.  </div><div class='ctx'> #</div><div class='ctx'> #--- conf.verbose=T/F</div><div class='del'>-#    irbからいろいろなメッセージを出力するか?</div><div class='add'>+#    irb餤ʥåϤ뤫?</div><div class='ctx'> </div><div class='ctx'> --- cws, chws, irb_cws, irb_chws, irb_change_workspace [obj]</div><div class='del'>-    objをselfとする. objが省略されたときは, home workspace, すなわち</div><div class='del'>-    irbを起動したときのmain objectをselfとする.</div><div class='add'>+    objselfȤ. objά줿Ȥ, home workspace, ʤ</div><div class='add'>+    irbưȤmain objectselfȤ.</div><div class='ctx'> </div><div class='ctx'> --- pushws, irb_pushws, irb_push_workspace [obj]</div><div class='del'>-    UNIXシェルコマンドのpushdと同様.</div><div class='add'>+    UNIX륳ޥɤpushdƱ.</div><div class='ctx'> </div><div class='ctx'> --- popws, irb_popws, irb_pop_workspace</div><div class='del'>-    UNIXシェルコマンドのpopdと同様.</div><div class='add'>+    UNIX륳ޥɤpopdƱ.</div><div class='ctx'> </div><div class='ctx'> --- irb [obj]</div><div class='del'>-    サブirbを立ちあげる. objが指定された時は, そのobjをselfとする.</div><div class='add'>+    irbΩ. objꤵ줿, objselfȤ.</div><div class='ctx'> </div><div class='ctx'> --- jobs, irb_jobs</div><div class='del'>-    サブirbのリスト</div><div class='add'>+    irbΥꥹ</div><div class='ctx'> </div><div class='ctx'> --- fg n, irb_fg n</div><div class='del'>-    指定したサブirbにスイッチする. nは, 次のものを指定する.</div><div class='add'>+    ꤷirb˥å. n, ΤΤꤹ.</div><div class='ctx'> </div><div class='del'>-      irb番号</div><div class='del'>-      スレッド</div><div class='del'>-      irbオブジェクト</div><div class='del'>-      self(irb objで起動した時のobj)</div><div class='add'>+      irbֹ</div><div class='add'>+      å</div><div class='add'>+      irb֥</div><div class='add'>+      self(irb objǵưobj)</div><div class='ctx'> </div><div class='ctx'> --- kill n, irb_kill n</div><div class='del'>-      サブirbをkillする. nはfgと同じ.</div><div class='add'>+      irbkill. nfgƱ.</div><div class='ctx'> </div><div class='del'>---- source, irb_source  path</div><div class='del'>-    UNIXシェルコマンドのsourceと似ている. 現在の環境上でpath内のスクリ</div><div class='del'>-    プトを評価する.</div><div class='add'>+--- souce, irb_source  path</div><div class='add'>+    UNIX륳ޥɤsourceȻƤ. ߤδĶpathΥ</div><div class='add'>+    ץȤɾ.</div><div class='ctx'> </div><div class='ctx'> --- irb_load path, prev</div><div class='ctx'> </div><div class='del'>-    Rubyのloadのirb版.</div><div class='add'>+    Rubyloadirb.</div><div class='ctx'> </div><div class='del'>-= システム変数</div><div class='add'>+= ƥѿ</div><div class='ctx'> </div><div class='del'>---- _</div><div class='del'>-    前の計算の実行結果を覚えている(ローカル変数).</div><div class='del'>---- __</div><div class='del'>-    実行結果の履歴を覚えている.</div><div class='del'>-    __[line_no]で、その行で実行した結果を得ることができる. line_noが負の</div><div class='del'>-    時には、最新の結果から-line_no前の結果を得ることができる.</div><div class='add'>+--- _  </div><div class='add'>+    η׻μ¹Է̤ФƤ(ѿ).</div><div class='add'>+--- __ </div><div class='add'>+    ¹Է̤ФƤ.</div><div class='add'>+    __[line_no]ǡιԤǼ¹Ԥ̤뤳ȤǤ. line_no</div><div class='add'>+    ˤϡǿη̤-line_noη̤뤳ȤǤ.</div><div class='ctx'> </div><div class='del'>-=  使用例</div><div class='add'>+=  </div><div class='ctx'> </div><div class='del'>-以下のような感じです.</div><div class='add'>+ʲΤ褦ʴǤ.</div><div class='ctx'> </div><div class='ctx'>   dim% ruby irb.rb</div><div class='del'>-  irb(main):001:0&gt; irb                        # サブirbの立ちあげ</div><div class='del'>-  irb#1(main):001:0&gt; jobs                     # サブirbのリスト</div><div class='add'>+  irb(main):001:0&gt; irb                        # irbΩ</div><div class='add'>+  irb#1(main):001:0&gt; jobs                     # irbΥꥹ</div><div class='ctx'>   #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : stop)</div><div class='ctx'>   #1-&gt;irb#1 on main (#&lt;Thread:0x40125d64&gt; : running)</div><div class='ctx'>   nil</div><div class='del'>-  irb#1(main):002:0&gt; fg 0                     # jobのスイッチ</div><div class='add'>+  irb#1(main):002:0&gt; fg 0                     # jobΥå</div><div class='ctx'>   nil</div><div class='ctx'>   irb(main):002:0&gt; class Foo;end</div><div class='ctx'>   nil</div><div class='del'>-  irb(main):003:0&gt; irb Foo                    # Fooをコンテキストしてirb</div><div class='del'>-					      # 立ちあげ</div><div class='del'>-  irb#2(Foo):001:0&gt; def foo                   # Foo#fooの定義</div><div class='add'>+  irb(main):003:0&gt; irb Foo                    # Foo򥳥ƥȤirb</div><div class='add'>+					      # Ω</div><div class='add'>+  irb#2(Foo):001:0&gt; def foo                   # Foo#foo</div><div class='ctx'>   irb#2(Foo):002:1&gt;   print 1</div><div class='ctx'>   irb#2(Foo):003:1&gt; end</div><div class='ctx'>   nil</div><div class='del'>-  irb#2(Foo):004:0&gt; fg 0                      # jobをスイッチ</div><div class='add'>+  irb#2(Foo):004:0&gt; fg 0                      # job򥹥å</div><div class='ctx'>   nil</div><div class='del'>-  irb(main):004:0&gt; jobs                       # jobのリスト</div><div class='add'>+  irb(main):004:0&gt; jobs                       # jobΥꥹ</div><div class='ctx'>   #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : running)</div><div class='ctx'>   #1-&gt;irb#1 on main (#&lt;Thread:0x40125d64&gt; : stop)</div><div class='ctx'>   #2-&gt;irb#2 on Foo (#&lt;Thread:0x4011d54c&gt; : stop)</div><div class='ctx'>   nil</div><div class='del'>-  irb(main):005:0&gt; Foo.instance_methods       # Foo#fooがちゃんと定義さ</div><div class='del'>-					      # れている</div><div class='add'>+  irb(main):005:0&gt; Foo.instance_methods       # Foo#foo</div><div class='add'>+					      # Ƥ</div><div class='ctx'>   ["foo"]</div><div class='del'>-  irb(main):006:0&gt; fg 2                       # jobをスイッチ</div><div class='add'>+  irb(main):006:0&gt; fg 2                       # job򥹥å</div><div class='ctx'>   nil</div><div class='del'>-  irb#2(Foo):005:0&gt; def bar                   # Foo#barを定義</div><div class='add'>+  irb#2(Foo):005:0&gt; def bar                   # Foo#bar</div><div class='ctx'>   irb#2(Foo):006:1&gt;  print "bar"</div><div class='ctx'>   irb#2(Foo):007:1&gt; end</div><div class='ctx'>   nil</div><div class='ctx'>   irb#2(Foo):010:0&gt;  Foo.instance_methods</div><div class='ctx'>   ["bar", "foo"]</div><div class='del'>-  irb#2(Foo):011:0&gt; fg 0</div><div class='add'>+  irb#2(Foo):011:0&gt; fg 0                      </div><div class='ctx'>   nil</div><div class='ctx'>   irb(main):007:0&gt; f = Foo.new</div><div class='ctx'>   #&lt;Foo:0x4010af3c&gt;</div><div class='del'>-  irb(main):008:0&gt; irb f                      # Fooのインスタンスでirbを</div><div class='del'>-					      # 立ちあげる.</div><div class='add'>+  irb(main):008:0&gt; irb f                      # FooΥ󥹥󥹤irb</div><div class='add'>+					      # Ω.</div><div class='ctx'>   irb#3(#&lt;Foo:0x4010af3c&gt;):001:0&gt; jobs</div><div class='ctx'>   #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : stop)</div><div class='ctx'>   #1-&gt;irb#1 on main (#&lt;Thread:0x40125d64&gt; : stop)</div><div class='ctx'>   #2-&gt;irb#2 on Foo (#&lt;Thread:0x4011d54c&gt; : stop)</div><div class='ctx'>   #3-&gt;irb#3 on #&lt;Foo:0x4010af3c&gt; (#&lt;Thread:0x4010a1e0&gt; : running)</div><div class='ctx'>   nil</div><div class='del'>-  irb#3(#&lt;Foo:0x4010af3c&gt;):002:0&gt; foo         # f.fooの実行</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):002:0&gt; foo         # f.fooμ¹</div><div class='ctx'>   nil</div><div class='del'>-  irb#3(#&lt;Foo:0x4010af3c&gt;):003:0&gt; bar         # f.barの実行</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):003:0&gt; bar         # f.barμ¹</div><div class='ctx'>   barnil</div><div class='del'>-  irb#3(#&lt;Foo:0x4010af3c&gt;):004:0&gt; kill 1, 2, 3# jobのkill</div><div class='add'>+  irb#3(#&lt;Foo:0x4010af3c&gt;):004:0&gt; kill 1, 2, 3# jobkill</div><div class='ctx'>   nil</div><div class='ctx'>   irb(main):009:0&gt; jobs</div><div class='ctx'>   #0-&gt;irb on main (#&lt;Thread:0x400fb7e4&gt; : running)</div><div class='ctx'>   nil</div><div class='del'>-  irb(main):010:0&gt; exit                       # 終了</div><div class='del'>-  dim%</div><div class='add'>+  irb(main):010:0&gt; exit                       # λ</div><div class='add'>+  dim% </div><div class='ctx'> </div><div class='del'>-= 使用上の制限</div><div class='add'>+= Ѿ</div><div class='ctx'> </div><div class='del'>-irbは, 評価できる時点(式が閉じた時点)での逐次実行を行ないます. したがっ</div><div class='del'>-て, rubyを直接使った時と, 若干異なる動作を行なう場合があります.</div><div class='add'>+irb, ɾǤ(Ĥ)Ǥ༡¹ԤԤʤޤ. </div><div class='add'>+, rubyľܻȤä, 㴳ۤʤưԤʤ礬ޤ.</div><div class='ctx'> </div><div class='del'>-現在明らかになっている問題点を説明します.</div><div class='add'>+餫ˤʤäƤޤ.</div><div class='ctx'> </div><div class='del'>-== ローカル変数の宣言</div><div class='add'>+== ѿ</div><div class='ctx'> </div><div class='del'>-rubyでは, 以下のプログラムはエラーになります.</div><div class='add'>+rubyǤ, ʲΥץϥ顼ˤʤޤ.</div><div class='ctx'> </div><div class='ctx'>   eval "foo = 0"</div><div class='ctx'>   foo</div><div class='hunk'>@@ -359,24 +364,24 @@ rubyでは, 以下のプログラムはエラーになります.</div><div class='ctx'>   ---</div><div class='ctx'>   NameError</div><div class='ctx'> </div><div class='del'>-ところが, irbを用いると</div><div class='add'>+Ȥ, irbѤ</div><div class='ctx'> </div><div class='ctx'>   &gt;&gt; eval "foo = 0"</div><div class='ctx'>   =&gt; 0</div><div class='ctx'>   &gt;&gt; foo</div><div class='ctx'>   =&gt; 0</div><div class='ctx'> </div><div class='del'>-となり, エラーを起こしません. これは, rubyが最初にスクリプト全体をコン</div><div class='del'>-パイルしてローカル変数を決定するからです. それに対し, irbは実行可能に</div><div class='del'>-なる(式が閉じる)と自動的に評価しているからです. 上記の例では,</div><div class='add'>+Ȥʤ, 顼򵯤ޤ. , rubyǽ˥ץΤ򥳥</div><div class='add'>+ѥ뤷ƥѿꤹ뤫Ǥ. Ф, irbϼ¹Բǽ</div><div class='add'>+ʤ(Ĥ)ȼưŪɾƤ뤫Ǥ. 嵭Ǥ, </div><div class='ctx'> </div><div class='del'>-  evel "foo = 0"</div><div class='add'>+  evel "foo = 0" </div><div class='ctx'> </div><div class='del'>-を行なった時点で評価を行ない, その時点で変数が定義されるため, 次式で</div><div class='del'>-変数fooは定義されているからです.</div><div class='add'>+ԤʤäɾԤʤ, λѿ뤿,  </div><div class='add'>+ѿfooƤ뤫Ǥ.</div><div class='ctx'> </div><div class='del'>-このようなrubyとirbの動作の違いを解決したい場合は, begin...endで括って</div><div class='del'>-バッチ的に実行して下さい:</div><div class='add'>+Τ褦rubyirbưΰ㤤褷, begin...endǳä</div><div class='add'>+ХåŪ˼¹ԤƲ:</div><div class='ctx'> </div><div class='ctx'>   &gt;&gt; begin</div><div class='ctx'>   ?&gt;   eval "foo = 0"</div><div class='hunk'>@@ -386,14 +391,14 @@ rubyでは, 以下のプログラムはエラーになります.</div><div class='ctx'>   (irb):3</div><div class='ctx'>   (irb_local_binding):1:in `eval'</div><div class='ctx'> </div><div class='del'>-== ヒアドキュメント</div><div class='add'>+== ҥɥ</div><div class='ctx'> </div><div class='del'>-現在のところヒアドキュメントの実装は不完全です.</div><div class='add'>+ߤΤȤҥɥȤμԴǤ. </div><div class='ctx'> </div><div class='del'>-== シンボル</div><div class='add'>+== ܥ</div><div class='ctx'> </div><div class='del'>-シンボルであるかどうかの判断を間違えることがあります. 具体的には式が完了</div><div class='del'>-しているのに継続行と見なすことがあります.</div><div class='add'>+ܥǤ뤫ɤȽǤְ㤨뤳Ȥޤ. Ūˤϼλ</div><div class='add'>+ƤΤ˷³ԤȸʤȤޤ.</div><div class='ctx'> </div><div class='ctx'> =end</div><div class='ctx'> </div><div class='hunk'>@@ -405,3 +410,4 @@ rubyでは, 以下のプログラムはエラーになります.</div><div class='ctx'> % comment-end: "\n"</div><div class='ctx'> % End:</div><div class='ctx'> %</div><div class='add'>+</div><div class='head'>diff --git a/doc/keywords.rdoc b/doc/keywords.rdoc<br/>deleted file mode 100644<br/>index 98bbd5e864..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/keywords.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/keywords.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,158 +0,0 @@</div><div class='del'>-== Keywords</div><div class='del'>-</div><div class='del'>-The following keywords are used by Ruby.</div><div class='del'>-</div><div class='del'>-__ENCODING__::</div><div class='del'>-  The script encoding of the current file.  See Encoding.</div><div class='del'>-</div><div class='del'>-__LINE__::</div><div class='del'>-  The line number of this keyword in the current file.</div><div class='del'>-</div><div class='del'>-__FILE__::</div><div class='del'>-  The path to the current file.</div><div class='del'>-</div><div class='del'>-BEGIN::</div><div class='del'>-  Runs before any other code in the current file.  See {miscellaneous</div><div class='del'>-  syntax}[rdoc-ref:syntax/miscellaneous.rdoc]</div><div class='del'>-</div><div class='del'>-END::</div><div class='del'>-  Runs after any other code in the current file.  See {miscellaneous</div><div class='del'>-  syntax}[rdoc-ref:syntax/miscellaneous.rdoc]</div><div class='del'>-</div><div class='del'>-alias::</div><div class='del'>-  Creates an alias between two methods (and other things).  See {modules and</div><div class='del'>-  classes syntax}[rdoc-ref:syntax/modules_and_classes.rdoc]</div><div class='del'>-</div><div class='del'>-and::</div><div class='del'>-  Short-circuit Boolean and with lower precedence than &lt;code&gt;&amp;&amp;&lt;/code&gt;</div><div class='del'>-</div><div class='del'>-begin::</div><div class='del'>-  Starts an exception handling block.  See {exceptions</div><div class='del'>-  syntax}[rdoc-ref:syntax/exceptions.rdoc]</div><div class='del'>-</div><div class='del'>-break::</div><div class='del'>-  Leaves a block early.  See {control expressions</div><div class='del'>-  syntax}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-case::</div><div class='del'>-  Starts a +case+ expression.  See {control expressions</div><div class='del'>-  syntax}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-class::</div><div class='del'>-  Creates or opens a class.  See {modules and classes</div><div class='del'>-  syntax}[rdoc-ref:syntax/modules_and_classes.rdoc]</div><div class='del'>-</div><div class='del'>-def::</div><div class='del'>-  Defines a method.  See {methods syntax}[rdoc-ref:syntax/methods.rdoc]</div><div class='del'>-</div><div class='del'>-defined?::</div><div class='del'>-  Returns a string describing its argument.  See {miscellaneous</div><div class='del'>-  syntax}[rdoc-ref:syntax/miscellaneous.rdoc]</div><div class='del'>-</div><div class='del'>-do::</div><div class='del'>-  Starts a block.</div><div class='del'>-</div><div class='del'>-else::</div><div class='del'>-  The unhandled condition in +case+, +if+ and +unless+ expressions.  See</div><div class='del'>-  {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-elsif::</div><div class='del'>-  An alternate condition for an +if+ expression.  See {control</div><div class='del'>-  expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-end::</div><div class='del'>-  The end of a syntax block.  Used by classes, modules, methods, exception</div><div class='del'>-  handling and control expressions.</div><div class='del'>-</div><div class='del'>-ensure::</div><div class='del'>-  Starts a section of code that is always run when an exception is raised.</div><div class='del'>-  See {exception handling}[rdoc-ref:syntax/exceptions.rdoc]</div><div class='del'>-</div><div class='del'>-false::</div><div class='del'>-  Boolean false.  See {literals}[rdoc-ref:syntax/literals.rdoc]</div><div class='del'>-</div><div class='del'>-for::</div><div class='del'>-  A loop that is similar to using the +each+ method.  See {control</div><div class='del'>-  expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-if::</div><div class='del'>-  Used for +if+ and modifier +if+ expressions.  See {control</div><div class='del'>-  expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-in::</div><div class='del'>-  Used to separate the iterable object and iterator variable in a +for+ loop.</div><div class='del'>-  See {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-module::</div><div class='del'>-  Creates or opens a module.  See {modules and classes</div><div class='del'>-  syntax}[rdoc-ref:syntax/modules_and_classes.rdoc]</div><div class='del'>-</div><div class='del'>-next::</div><div class='del'>-  Skips the rest of the block.  See {control</div><div class='del'>-  expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-nil::</div><div class='del'>-  A false value usually indicating "no value" or "unknown".  See</div><div class='del'>-  {literals}[rdoc-ref:syntax/literals.rdoc]</div><div class='del'>-</div><div class='del'>-not::</div><div class='del'>-  Inverts the following boolean expression.  Has a lower precedence than</div><div class='del'>-  &lt;code&gt;!&lt;/code&gt;</div><div class='del'>-</div><div class='del'>-or::</div><div class='del'>-  Boolean or with lower precedence than &lt;code&gt;||&lt;/code&gt;</div><div class='del'>-</div><div class='del'>-redo::</div><div class='del'>-  Restarts execution in the current block.  See {control</div><div class='del'>-  expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-rescue::</div><div class='del'>-  Starts an exception section of code in a +begin+ block.  See {exception</div><div class='del'>-  handling}[rdoc-ref:syntax/exceptions.rdoc]</div><div class='del'>-</div><div class='del'>-retry::</div><div class='del'>-  Retries an exception block.  See {exception</div><div class='del'>-  handling}[rdoc-ref:syntax/exceptions.rdoc]</div><div class='del'>-</div><div class='del'>-return::</div><div class='del'>-  Exits a method.  See {methods}[rdoc-ref:syntax/methods.rdoc]</div><div class='del'>-</div><div class='del'>-self::</div><div class='del'>-  The object the current method is attached to.  See</div><div class='del'>-  {methods}[rdoc-ref:syntax/methods.rdoc]</div><div class='del'>-</div><div class='del'>-super::</div><div class='del'>-  Calls the current method in a superclass.  See</div><div class='del'>-  {methods}[rdoc-ref:syntax/methods.rdoc]</div><div class='del'>-</div><div class='del'>-then::</div><div class='del'>-  Indicates the end of conditional blocks in control structures.  See</div><div class='del'>-  {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-true::</div><div class='del'>-  Boolean true.  See {literals}[rdoc-ref:syntax/literals.rdoc]</div><div class='del'>-</div><div class='del'>-undef::</div><div class='del'>-  Prevents a class or module from responding to a method call.</div><div class='del'>-  See {modules and classes}[rdoc-ref:syntax/modules_and_classes.rdoc]</div><div class='del'>-</div><div class='del'>-unless::</div><div class='del'>-  Used for +unless+ and modifier +unless+ expressions.  See {control</div><div class='del'>-  expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-until::</div><div class='del'>-  Creates a loop that executes until the condition is true.  See</div><div class='del'>-  {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-when::</div><div class='del'>-  A condition in a +case+ expression.  See</div><div class='del'>-  {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-while::</div><div class='del'>-  Creates a loop that executes while the condition is true.  See</div><div class='del'>-  {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]</div><div class='del'>-</div><div class='del'>-yield::</div><div class='del'>-  Starts execution of the block sent to the current method.  See</div><div class='del'>-  {methods}[rdoc-ref:syntax/methods.rdoc]</div><div class='del'>-</div><div class='head'>diff --git a/doc/maintainers.rdoc b/doc/maintainers.rdoc<br/>deleted file mode 100644<br/>index e7baf933c6..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/maintainers.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/maintainers.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,296 +0,0 @@</div><div class='del'>-= Maintainers</div><div class='del'>-</div><div class='del'>-This page describes the current module, library, and extension maintainers of Ruby.</div><div class='del'>-</div><div class='del'>-== Module Maintainers</div><div class='del'>-</div><div class='del'>-A module maintainer is responsible for a certain part of Ruby.</div><div class='del'>-</div><div class='del'>-* The maintainer fixes bugs of the part. Particularly, they should fix security vulnerabilities as soon as possible.</div><div class='del'>-* They handle issues related the module on the Redmine or ML.</div><div class='del'>-* They may be discharged by the 3 months rule [ruby-core:25764].</div><div class='del'>-* They have commit right to Ruby's repository to modify their part in the repository.</div><div class='del'>-* They have "developer" role on the Redmine to modify issues.</div><div class='del'>-* They have authority to decide the feature of their part. But they should always respect discussions on ruby-core/ruby-dev.</div><div class='del'>-</div><div class='del'>-A submaintainer of a module is like a maintainer. But The submaintainer does</div><div class='del'>-not have authority to change/add a feature on his/her part. They need consensus</div><div class='del'>-on ruby-core/ruby-dev before changing/adding. Some of submaintainers have</div><div class='del'>-commit right, others don't.</div><div class='del'>-</div><div class='del'>-=== Language core features including security</div><div class='del'>-</div><div class='del'>-Yukihiro Matsumoto (matz)</div><div class='del'>-</div><div class='del'>-=== Evaluator</div><div class='del'>-</div><div class='del'>-Koichi Sasada (ko1)</div><div class='del'>-</div><div class='del'>-=== Core classes</div><div class='del'>-</div><div class='del'>-Yukihiro Matsumoto (matz)</div><div class='del'>-</div><div class='del'>-=== Documentation</div><div class='del'>-</div><div class='del'>-Zachary Scott (zzak)</div><div class='del'>-</div><div class='del'>-== Standard Library Maintainers</div><div class='del'>-</div><div class='del'>-=== Libraries</div><div class='del'>-</div><div class='del'>-[lib/English.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/abbrev.rb]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[lib/base64.rb]</div><div class='del'>-  Yusuke Endoh (mame)</div><div class='del'>-[lib/benchmark.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/cgi.rb, lib/cgi/*]</div><div class='del'>-  Takeyuki Fujioka (xibbar)</div><div class='del'>-[lib/drb.rb, lib/drb/*]</div><div class='del'>-  Masatoshi SEKI (seki)</div><div class='del'>-[lib/debug.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/delegate.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/erb.rb]</div><div class='del'>-  Masatoshi SEKI (seki), Takashi Kokubun (k0kubun)</div><div class='del'>-[lib/find.rb]</div><div class='del'>-  Kazuki Tsujimoto (ktsj)</div><div class='del'>-[lib/getoptlong.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/mkmf.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/monitor.rb]</div><div class='del'>-  Shugo Maeda (shugo)</div><div class='del'>-[lib/net/ftp.rb]</div><div class='del'>-  Shugo Maeda (shugo)</div><div class='del'>-[lib/net/imap.rb]</div><div class='del'>-  Shugo Maeda (shugo)</div><div class='del'>-[lib/net/http.rb, lib/net/https.rb]</div><div class='del'>-  NARUSE, Yui (naruse)</div><div class='del'>-[lib/net/pop.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/net/protocol.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/net/smtp.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/observer.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/open-uri.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/open3.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/optparse.rb, lib/optparse/*]</div><div class='del'>-  Nobuyuki Nakada (nobu)</div><div class='del'>-[lib/pp.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/prettyprint.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/profile.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/profiler.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/pstore.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/racc/*]</div><div class='del'>-  Aaron Patterson (tenderlove)</div><div class='del'>-[lib/resolv-replace.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/resolv.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/rinda/*]</div><div class='del'>-  Masatoshi SEKI (seki)</div><div class='del'>-[lib/rubygems.rb, lib/ubygems.rb, lib/rubygems/*]</div><div class='del'>-  Eric Hodel (drbrain), Hiroshi SHIBATA (hsbt)</div><div class='del'>-  https://github.com/rubygems/rubygems</div><div class='del'>-[lib/set.rb]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[lib/securerandom.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/shellwords.rb]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[lib/singleton.rb]</div><div class='del'>-  Yukihiro Matsumoto (matz)</div><div class='del'>-[lib/tempfile.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/tmpdir.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/time.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/timeout.rb]</div><div class='del'>-  Yukihiro Matsumoto (matz)</div><div class='del'>-[lib/tsort.rb]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[lib/un.rb]</div><div class='del'>-  WATANABE Hirofumi (eban)</div><div class='del'>-[lib/unicode_normalize.rb, lib/unicode_normalize/*]</div><div class='del'>-  Martin J. Dürst</div><div class='del'>-[lib/uri.rb, lib/uri/*]</div><div class='del'>-  YAMADA, Akira (akira)</div><div class='del'>-[lib/weakref.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[lib/yaml.rb, lib/yaml/*]</div><div class='del'>-  Aaron Patterson (tenderlove), Hiroshi SHIBATA (hsbt)</div><div class='del'>-</div><div class='del'>-=== Extensions</div><div class='del'>-</div><div class='del'>-[ext/cgi]</div><div class='del'>-  Nobuyoshi Nakada (nobu)</div><div class='del'>-[ext/continuation]</div><div class='del'>-  Koichi Sasada (ko1)</div><div class='del'>-[ext/coverage]</div><div class='del'>-  Yusuke Endoh (mame)</div><div class='del'>-[ext/digest, ext/digest/*]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[ext/fiber]</div><div class='del'>-  Koichi Sasada (ko1)</div><div class='del'>-[ext/io/nonblock]</div><div class='del'>-  Nobuyuki Nakada (nobu)</div><div class='del'>-[ext/io/wait]</div><div class='del'>-  Nobuyuki Nakada (nobu)</div><div class='del'>-[ext/nkf]</div><div class='del'>-  NARUSE, Yui (narse)</div><div class='del'>-[ext/objspace]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[ext/pathname]</div><div class='del'>-  Tanaka Akira (akr)</div><div class='del'>-[ext/pty]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[ext/racc]</div><div class='del'>-  Aaron Patterson (tenderlove)</div><div class='del'>-[ext/readline]</div><div class='del'>-  TAKAO Kouji (kouji)</div><div class='del'>-[ext/ripper]</div><div class='del'>-  _unmaintained_</div><div class='del'>-[ext/socket]</div><div class='del'>-  * Tanaka Akira (akr)</div><div class='del'>-  * API change needs matz's approval</div><div class='del'>-[ext/syslog]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[ext/win32]</div><div class='del'>-  NAKAMURA Usaku (usa)</div><div class='del'>-[ext/win32ole]</div><div class='del'>-  Masaki Suketa (suke)</div><div class='del'>-</div><div class='del'>-== Default gems Maintainers</div><div class='del'>-</div><div class='del'>-=== Libraries</div><div class='del'>-</div><div class='del'>-[lib/bundler.rb, lib/bundler/*]</div><div class='del'>-  Hiroshi SHIBATA (hsbt)</div><div class='del'>-  https://github.com/bundler/bundler</div><div class='del'>-[lib/cmath.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-  https://github.com/ruby/cmath</div><div class='del'>-[lib/csv.rb]</div><div class='del'>-  Kenta Murata (mrkn), Kouhei Sutou (kou)</div><div class='del'>-  https://github.com/ruby/csv</div><div class='del'>-[lib/e2mmap.rb]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/fileutils.rb]</div><div class='del'>-  _unmaintained_</div><div class='del'>-  https://github.com/ruby/fileutils</div><div class='del'>-[lib/forwardable.rb]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/ipaddr.rb]</div><div class='del'>-  Akinori MUSHA (knu)</div><div class='del'>-[lib/irb.rb, lib/irb/*]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/logger.rb]</div><div class='del'>-  Naotoshi Seo (sonots)</div><div class='del'>-[lib/matrix.rb]</div><div class='del'>-  Marc-Andre Lafortune (marcandre)</div><div class='del'>-[lib/mutex_m.rb]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/ostruct.rb]</div><div class='del'>-  Marc-Andre Lafortune (marcandre)</div><div class='del'>-[lib/prime.rb]</div><div class='del'>-  Yuki Sonoda (yugui)</div><div class='del'>-[lib/rdoc.rb, lib/rdoc/*]</div><div class='del'>-  Eric Hodel (drbrain), Hiroshi SHIBATA (hsbt)</div><div class='del'>-  https://github.com/ruby/rdoc</div><div class='del'>-[lib/rexml/*]</div><div class='del'>-  Kouhei Sutou (kou)</div><div class='del'>-[lib/rss.rb, lib/rss/*]</div><div class='del'>-  Kouhei Sutou (kou)</div><div class='del'>-[lib/scanf.rb]</div><div class='del'>-  David A. Black (dblack)</div><div class='del'>-  https://github.com/ruby/scanf</div><div class='del'>-[lib/shell.rb, lib/shell/*]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/sync.rb]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/thwait.rb]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/tracer.rb]</div><div class='del'>-  Keiju ISHITSUKA (keiju)</div><div class='del'>-[lib/webrick.rb, lib/webrick/*]</div><div class='del'>-  Eric Wong (normalperson)</div><div class='del'>-  https://bugs.ruby-lang.org/</div><div class='del'>-</div><div class='del'>-=== Extensions</div><div class='del'>-</div><div class='del'>-[ext/bigdecimal]</div><div class='del'>-  Kenta Murata (mrkn)</div><div class='del'>-  https://github.com/ruby/bigdecimal</div><div class='del'>-[ext/date]</div><div class='del'>-  _unmaintained_</div><div class='del'>-  https://github.com/ruby/date</div><div class='del'>-[ext/dbm]</div><div class='del'>-  _unmaintained_</div><div class='del'>-  https://github.com/ruby/dbm</div><div class='del'>-[ext/etc]</div><div class='del'>-  Ruby core team</div><div class='del'>-  https://github.com/ruby/etc</div><div class='del'>-[ext/fcntl]</div><div class='del'>-  Ruby core team</div><div class='del'>-  https://github.com/ruby/fcntl</div><div class='del'>-[ext/fiddle]</div><div class='del'>-  Aaron Patterson (tenderlove)</div><div class='del'>-  https://github.com/ruby/fiddle</div><div class='del'>-[ext/gdbm]</div><div class='del'>-  Yukihiro Matsumoto (matz)</div><div class='del'>-  https://github.com/ruby/gdbm</div><div class='del'>-[ext/io/console]</div><div class='del'>-  Nobuyuki Nakada (nobu)</div><div class='del'>-  https://github.com/ruby/io-console</div><div class='del'>-[ext/json]</div><div class='del'>-  NARUSE, Yui (naruse), Hiroshi SHIBATA (hsbt)</div><div class='del'>-  https://github.com/flori/json</div><div class='del'>-[ext/openssl]</div><div class='del'>-  Kazuki Yamaguchi (rhe)</div><div class='del'>-  https://github.com/ruby/openssl</div><div class='del'>-[ext/psych]</div><div class='del'>-  Aaron Patterson (tenderlove), Hiroshi SHIBATA(hsbt)</div><div class='del'>-  https://github.com/ruby/psych</div><div class='del'>-[ext/sdbm]</div><div class='del'>-  Yukihiro Matsumoto (matz)</div><div class='del'>-  https://github.com/ruby/sdbm</div><div class='del'>-[ext/stringio]</div><div class='del'>-  Nobuyuki Nakada (nobu)</div><div class='del'>-  https://github.com/ruby/stringio</div><div class='del'>-[ext/strscan]</div><div class='del'>-  _unmaintained_</div><div class='del'>-  https://github.com/ruby/strscan</div><div class='del'>-[ext/zlib]</div><div class='del'>-  NARUSE, Yui (naruse)</div><div class='del'>-  https://github.com/ruby/zlib</div><div class='del'>-</div><div class='del'>-== Bundled gems upstream repositories</div><div class='del'>-</div><div class='del'>-[did_you_mean]</div><div class='del'>-  https://github.com/yuki24/did_you_mean</div><div class='del'>-[minitest]</div><div class='del'>-  https://github.com/seattlerb/minitest</div><div class='del'>-[net-telnet]</div><div class='del'>-  https://github.com/ruby/net-telnet</div><div class='del'>-[power_assert]</div><div class='del'>-  https://github.com/k-tsj/power_assert</div><div class='del'>-[rake]</div><div class='del'>-  https://github.com/ruby/rake</div><div class='del'>-[test-unit]</div><div class='del'>-  https://github.com/test-unit/test-unit</div><div class='del'>-[xmlrpc]</div><div class='del'>-  https://github.com/ruby/xmlrpc</div><div class='head'>diff --git a/doc/marshal.rdoc b/doc/marshal.rdoc<br/>deleted file mode 100644<br/>index a51f1bf873..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/marshal.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/marshal.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,313 +0,0 @@</div><div class='del'>-= Marshal Format</div><div class='del'>-</div><div class='del'>-The Marshal format is used to serialize ruby objects.  The format can store</div><div class='del'>-arbitrary objects through three user-defined extension mechanisms.</div><div class='del'>-</div><div class='del'>-For documentation on using Marshal to serialize and deserialize objects, see</div><div class='del'>-the Marshal module.</div><div class='del'>-</div><div class='del'>-This document calls a serialized set of objects a stream.  The Ruby</div><div class='del'>-implementation can load a set of objects from a String, an IO or an object</div><div class='del'>-that implements a +getc+ method.</div><div class='del'>-</div><div class='del'>-== Stream Format</div><div class='del'>-</div><div class='del'>-The first two bytes of the stream contain the major and minor version, each as</div><div class='del'>-a single byte encoding a digit.  The version implemented in Ruby is 4.8</div><div class='del'>-(stored as "\x04\x08") and is supported by ruby 1.8.0 and newer.</div><div class='del'>-</div><div class='del'>-Different major versions of the Marshal format are not compatible and cannot</div><div class='del'>-be understood by other major versions.  Lesser minor versions of the format</div><div class='del'>-can be understood by newer minor versions.  Format 4.7 can be loaded by a 4.8</div><div class='del'>-implementation but format 4.8 cannot be loaded by a 4.7 implementation.</div><div class='del'>-</div><div class='del'>-Following the version bytes is a stream describing the serialized object.  The</div><div class='del'>-stream contains nested objects (the same as a Ruby object) but objects in the</div><div class='del'>-stream do not necessarily have a direct mapping to the Ruby object model.</div><div class='del'>-</div><div class='del'>-Each object in the stream is described by a byte indicating its type followed</div><div class='del'>-by one or more bytes describing the object.  When "object" is mentioned below</div><div class='del'>-it means any of the types below that defines a Ruby object.</div><div class='del'>-</div><div class='del'>-=== true, false, nil</div><div class='del'>-</div><div class='del'>-These objects are each one byte long.  "T" is represents +true+, "F"</div><div class='del'>-represents +false+ and "0" represents +nil+.</div><div class='del'>-</div><div class='del'>-=== Fixnum and long</div><div class='del'>-</div><div class='del'>-"i" represents a signed 32 bit value using a packed format.  One through five</div><div class='del'>-bytes follows the type.  The value loaded will always be a Fixnum.  On</div><div class='del'>-32 bit platforms (where the precision of a Fixnum is less than 32 bits)</div><div class='del'>-loading large values will cause overflow on CRuby.</div><div class='del'>-</div><div class='del'>-The fixnum type is used to represent both ruby Fixnum objects and the sizes of</div><div class='del'>-marshaled arrays, hashes, instance variables and other types.  In the</div><div class='del'>-following sections "long" will mean the format described below, which supports</div><div class='del'>-full 32 bit precision.</div><div class='del'>-</div><div class='del'>-The first byte has the following special values:</div><div class='del'>-</div><div class='del'>-"\x00"::</div><div class='del'>-  The value of the integer is 0.  No bytes follow.</div><div class='del'>-</div><div class='del'>-"\x01"::</div><div class='del'>-  The total size of the integer is two bytes.  The following byte is a</div><div class='del'>-  positive integer in the range of 0 through 255.  Only values between 123</div><div class='del'>-  and 255 should be represented this way to save bytes.</div><div class='del'>-</div><div class='del'>-"\xff"::</div><div class='del'>-  The total size of the integer is two bytes.  The following byte is a</div><div class='del'>-  negative integer in the range of -1 through -256.</div><div class='del'>-</div><div class='del'>-"\x02"::</div><div class='del'>-  The total size of the integer is three bytes.  The following two bytes are a</div><div class='del'>-  positive little-endian integer.</div><div class='del'>-</div><div class='del'>-"\xfe"::</div><div class='del'>-  The total size of the integer is three bytes.  The following two bytes are a</div><div class='del'>-  negative little-endian integer.</div><div class='del'>-</div><div class='del'>-"\x03"::</div><div class='del'>-  The total size of the integer is four bytes.  The following three bytes are</div><div class='del'>-  a positive little-endian integer.</div><div class='del'>-</div><div class='del'>-"\xfd"::</div><div class='del'>-  The total size of the integer is two bytes.  The following three bytes are a</div><div class='del'>-  negative little-endian integer.</div><div class='del'>-</div><div class='del'>-"\x04"::</div><div class='del'>-  The total size of the integer is five bytes.  The following four bytes are a</div><div class='del'>-  positive little-endian integer.  For compatibility with 32 bit ruby,</div><div class='del'>-  only Fixnums less than 1073741824 should be represented this way.  For sizes</div><div class='del'>-  of stream objects full precision may be used.</div><div class='del'>-</div><div class='del'>-"\xfc"::</div><div class='del'>-  The total size of the integer is two bytes.  The following four bytes are a</div><div class='del'>-  negative little-endian integer.  For compatibility with 32 bit ruby,</div><div class='del'>-  only Fixnums greater than -10737341824 should be represented this way.  For</div><div class='del'>-  sizes of stream objects full precision may be used.</div><div class='del'>-</div><div class='del'>-Otherwise the first byte is a sign-extended eight-bit value with an offset.</div><div class='del'>-If the value is positive the value is determined by subtracting 5 from the</div><div class='del'>-value.  If the value is negative the value is determined by adding 5 to the</div><div class='del'>-value.</div><div class='del'>-</div><div class='del'>-There are multiple representations for many values.  CRuby always outputs the</div><div class='del'>-shortest representation possible.</div><div class='del'>-</div><div class='del'>-=== Symbols and Byte Sequence</div><div class='del'>-</div><div class='del'>-":" represents a real symbol.  A real symbol contains the data needed to</div><div class='del'>-define the symbol for the rest of the stream as future occurrences in the</div><div class='del'>-stream will instead be references (a symbol link) to this one.  The reference</div><div class='del'>-is a zero-indexed 32 bit value (so the first occurrence of &lt;code&gt;:hello&lt;/code&gt;</div><div class='del'>-is 0).</div><div class='del'>-</div><div class='del'>-Following the type byte is byte sequence which consists of a long indicating</div><div class='del'>-the number of bytes in the sequence followed by that many bytes of data.  Byte</div><div class='del'>-sequences have no encoding.</div><div class='del'>-</div><div class='del'>-For example, the following stream contains the Symbol &lt;code&gt;:hello&lt;/code&gt;:</div><div class='del'>-</div><div class='del'>-  "\x04\x08:\x0ahello"</div><div class='del'>-</div><div class='del'>-";" represents a Symbol link which references a previously defined Symbol.</div><div class='del'>-Following the type byte is a long containing the index in the lookup table for</div><div class='del'>-the linked (referenced) Symbol.</div><div class='del'>-</div><div class='del'>-For example, the following stream contains &lt;code&gt;[:hello, :hello]&lt;/code&gt;:</div><div class='del'>-</div><div class='del'>-  "\x04\b[\a:\nhello;\x00"</div><div class='del'>-</div><div class='del'>-When a "symbol" is referenced below it may be either a real symbol or a</div><div class='del'>-symbol link.</div><div class='del'>-</div><div class='del'>-=== Object References</div><div class='del'>-</div><div class='del'>-Separate from but similar to symbol references, the stream contains only one</div><div class='del'>-copy of each object (as determined by #object_id) for all objects except</div><div class='del'>-true, false, nil, Fixnums and Symbols (which are stored separately as</div><div class='del'>-described above) a one-indexed 32 bit value will be stored and reused when the</div><div class='del'>-object is encountered again.  (The first object has an index of 1).</div><div class='del'>-</div><div class='del'>-"@" represents an object link.  Following the type byte is a long giving the</div><div class='del'>-index of the object.</div><div class='del'>-</div><div class='del'>-For example, the following stream contains an Array of the same</div><div class='del'>-&lt;code&gt;"hello"&lt;/code&gt; object twice:</div><div class='del'>-</div><div class='del'>-  "\004\b[\a\"\nhello@\006"</div><div class='del'>-</div><div class='del'>-=== Instance Variables</div><div class='del'>-</div><div class='del'>-"I" indicates that instance variables follow the next object.  An object</div><div class='del'>-follows the type byte.  Following the object is a length indicating the number</div><div class='del'>-of instance variables for the object.  Following the length is a set of</div><div class='del'>-name-value pairs.  The names are symbols while the values are objects.  The</div><div class='del'>-symbols must be instance variable names (&lt;code&gt;:@name&lt;/code&gt;).</div><div class='del'>-</div><div class='del'>-An Object ("o" type, described below) uses the same format for its instance</div><div class='del'>-variables as described here.</div><div class='del'>-</div><div class='del'>-For a String and Regexp (described below) a special instance variable</div><div class='del'>-&lt;code&gt;:E&lt;/code&gt; is used to indicate the Encoding.</div><div class='del'>-</div><div class='del'>-=== Extended</div><div class='del'>-</div><div class='del'>-"e" indicates that the next object is extended by a module.  An object follows</div><div class='del'>-the type byte.  Following the object is a symbol that contains the name of the</div><div class='del'>-module the object is extended by.</div><div class='del'>-</div><div class='del'>-=== Array</div><div class='del'>-</div><div class='del'>-"[" represents an Array.  Following the type byte is a long indicating the</div><div class='del'>-number of objects in the array.  The given number of objects follow the</div><div class='del'>-length.</div><div class='del'>-</div><div class='del'>-=== Bignum</div><div class='del'>-</div><div class='del'>-"l" represents a Bignum which is composed of three parts:</div><div class='del'>-</div><div class='del'>-sign::</div><div class='del'>-  A single byte containing "+" for a positive value or "-" for a negative</div><div class='del'>-  value.</div><div class='del'>-length::</div><div class='del'>-  A long indicating the number of bytes of Bignum data follows, divided by</div><div class='del'>-  two.  Multiply the length by two to determine the number of bytes of data</div><div class='del'>-  that follow.</div><div class='del'>-data::</div><div class='del'>-  Bytes of Bignum data representing the number.</div><div class='del'>-</div><div class='del'>-The following ruby code will reconstruct the Bignum value from an array of</div><div class='del'>-bytes:</div><div class='del'>-</div><div class='del'>-  result = 0</div><div class='del'>-</div><div class='del'>-  bytes.each_with_index do |byte, exp|</div><div class='del'>-   result += (byte * 2 ** (exp * 8))</div><div class='del'>-  end</div><div class='del'>-</div><div class='del'>-=== Class and Module</div><div class='del'>-</div><div class='del'>-"c" represents a Class object, "m" represents a Module and "M" represents</div><div class='del'>-either a class or module (this is an old-style for compatibility).  No class</div><div class='del'>-or module content is included, this type is only a reference.  Following the</div><div class='del'>-type byte is a byte sequence which is used to look up an existing class or</div><div class='del'>-module, respectively.</div><div class='del'>-</div><div class='del'>-Instance variables are not allowed on a class or module.</div><div class='del'>-</div><div class='del'>-If no class or module exists an exception should be raised.</div><div class='del'>-</div><div class='del'>-For "c" and "m" types, the loaded object must be a class or module,</div><div class='del'>-respectively.</div><div class='del'>-</div><div class='del'>-=== Data</div><div class='del'>-</div><div class='del'>-"d" represents a Data object.  (Data objects are wrapped pointers from ruby</div><div class='del'>-extensions.)  Following the type byte is a symbol indicating the class for the</div><div class='del'>-Data object and an object that contains the state of the Data object.</div><div class='del'>-</div><div class='del'>-To dump a Data object Ruby calls _dump_data.  To load a Data object Ruby calls</div><div class='del'>-_load_data with the state of the object on a newly allocated instance.</div><div class='del'>-</div><div class='del'>-=== Float</div><div class='del'>-</div><div class='del'>-"f" represents a Float object.  Following the type byte is a byte sequence</div><div class='del'>-containing the float value.  The following values are special:</div><div class='del'>-</div><div class='del'>-"inf"::</div><div class='del'>-  Positive infinity</div><div class='del'>-</div><div class='del'>-"-inf"::</div><div class='del'>-  Negative infinity</div><div class='del'>-</div><div class='del'>-"nan"::</div><div class='del'>-  Not a Number</div><div class='del'>-</div><div class='del'>-Otherwise the byte sequence contains a C double (loadable by strtod(3)).</div><div class='del'>-Older minor versions of Marshal also stored extra mantissa bits to ensure</div><div class='del'>-portability across platforms but 4.8 does not include these.  See</div><div class='del'>-[ruby-talk:69518] for some explanation.</div><div class='del'>-</div><div class='del'>-=== Hash and Hash with Default Value</div><div class='del'>-</div><div class='del'>-"{" represents a Hash object while "}" represents a Hash with a default value</div><div class='del'>-set (&lt;code&gt;Hash.new 0&lt;/code&gt;).  Following the type byte is a long indicating</div><div class='del'>-the number of key-value pairs in the Hash, the size.  Double the given number</div><div class='del'>-of objects follow the size.</div><div class='del'>-</div><div class='del'>-For a Hash with a default value, the default value follows all the pairs.</div><div class='del'>-</div><div class='del'>-=== Module and Old Module</div><div class='del'>-</div><div class='del'>-=== Object</div><div class='del'>-</div><div class='del'>-"o" represents an object that doesn't have any other special form (such as</div><div class='del'>-a user-defined or built-in format).  Following the type byte is a symbol</div><div class='del'>-containing the class name of the object.  Following the class name is a long</div><div class='del'>-indicating the number of instance variable names and values for the object.</div><div class='del'>-Double the given number of pairs of objects follow the size.</div><div class='del'>-</div><div class='del'>-The keys in the pairs must be symbols containing instance variable names.</div><div class='del'>-</div><div class='del'>-=== Regular Expression</div><div class='del'>-</div><div class='del'>-"/" represents a regular expression.  Following the type byte is a byte</div><div class='del'>-sequence containing the regular expression source.  Following the type byte is</div><div class='del'>-a byte containing the regular expression options (case-insensitive, etc.) as a</div><div class='del'>-signed 8-bit value.</div><div class='del'>-</div><div class='del'>-Regular expressions can have an encoding attached through instance variables</div><div class='del'>-(see above).  If no encoding is attached escapes for the following regexp</div><div class='del'>-specials not present in ruby 1.8 must be removed: g-m, o-q, u, y, E, F, H-L,</div><div class='del'>-N-V, X, Y.</div><div class='del'>-</div><div class='del'>-=== String</div><div class='del'>-</div><div class='del'>-'"' represents a String.  Following the type byte is a byte sequence</div><div class='del'>-containing the string content.  When dumped from ruby 1.9 an encoding instance</div><div class='del'>-variable (&lt;code&gt;:E&lt;/code&gt; see above) should be included unless the encoding is</div><div class='del'>-binary.</div><div class='del'>-</div><div class='del'>-=== Struct</div><div class='del'>-</div><div class='del'>-"S" represents a Struct.  Following the type byte is a symbol containing the</div><div class='del'>-name of the struct.  Following the name is a long indicating the number of</div><div class='del'>-members in the struct.  Double the number of objects follow the member count.</div><div class='del'>-Each member is a pair containing the member's symbol and an object for the</div><div class='del'>-value of that member.</div><div class='del'>-</div><div class='del'>-If the struct name does not match a Struct subclass in the running ruby an</div><div class='del'>-exception should be raised.</div><div class='del'>-</div><div class='del'>-If there is a mismatch between the struct in the currently running ruby and</div><div class='del'>-the member count in the marshaled struct an exception should be raised.</div><div class='del'>-</div><div class='del'>-=== User Class</div><div class='del'>-</div><div class='del'>-"C" represents a subclass of a String, Regexp, Array or Hash.  Following the</div><div class='del'>-type byte is a symbol containing the name of the subclass.  Following the name</div><div class='del'>-is the wrapped object.</div><div class='del'>-</div><div class='del'>-=== User Defined</div><div class='del'>-</div><div class='del'>-"u" represents an object with a user-defined serialization format using the</div><div class='del'>-+_dump+ instance method and +_load+ class method.  Following the type byte is</div><div class='del'>-a symbol containing the class name.  Following the class name is a byte</div><div class='del'>-sequence containing the user-defined representation of the object.</div><div class='del'>-</div><div class='del'>-The class method +_load+ is called on the class with a string created from the</div><div class='del'>-byte-sequence.</div><div class='del'>-</div><div class='del'>-=== User Marshal</div><div class='del'>-</div><div class='del'>-"U" represents an object with a user-defined serialization format using the</div><div class='del'>-+marshal_dump+ and +marshal_load+ instance methods.  Following the type byte</div><div class='del'>-is a symbol containing the class name.  Following the class name is an object</div><div class='del'>-containing the data.</div><div class='del'>-</div><div class='del'>-Upon loading a new instance must be allocated and +marshal_load+ must be</div><div class='del'>-called on the instance with the data.</div><div class='del'>-</div><div class='head'>diff --git a/doc/pty/README.expect.ja b/doc/pty/README.expect.ja<br/>deleted file mode 100644<br/>index 7c0456f24f..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/pty/README.expect.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/pty/README.expect.ja</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,21 +0,0 @@</div><div class='del'>-	README for expect</div><div class='del'>-		by A. Ito, 28 October, 1998</div><div class='del'>-</div><div class='del'>-  Expectライブラリは，tcl の expect パッケージと似たような機能を</div><div class='del'>-IOクラスに追加します．</div><div class='del'>-</div><div class='del'>-  追加されるメソッドの使い方は次の通りです．</div><div class='del'>-</div><div class='del'>-   IO#expect(pattern,timeout=9999999)</div><div class='del'>-</div><div class='del'>-pattern は String か Regexp のインスタンス，timeout は Fixnum</div><div class='del'>-のインスタンスです．timeout は省略できます．</div><div class='del'>-  このメソッドがブロックなしで呼ばれた場合，まずレシーバである</div><div class='del'>-IOオブジェクトから pattern にマッチするパターンが読みこまれる</div><div class='del'>-まで待ちます．パターンが得られたら，そのパターンに関する配列を</div><div class='del'>-返します．配列の最初の要素は，pattern にマッチするまでに読みこ</div><div class='del'>-まれた内容の文字列です．2番目以降の要素は，pattern の正規表現</div><div class='del'>-の中にアンカーがあった場合に，そのアンカーにマッチする部分です．</div><div class='del'>-もしタイムアウトが起きた場合は，このメソッドはnilを返します．</div><div class='del'>-  このメソッドがブロック付きで呼ばれた場合には，マッチした要素の</div><div class='del'>-配列がブロック引数として渡され，ブロックが評価されます．</div><div class='head'>diff --git a/doc/pty/README.ja b/doc/pty/README.ja<br/>deleted file mode 100644<br/>index 2d83ffa033..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/pty/README.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/pty/README.ja</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,76 +0,0 @@</div><div class='del'>-pty 拡張モジュール version 0.3 by A.ito</div><div class='del'>-</div><div class='del'>-1. はじめに</div><div class='del'>-</div><div class='del'>-この拡張モジュールは，仮想tty (pty) を通して適当なコマンドを</div><div class='del'>-実行する機能を ruby に提供します．</div><div class='del'>-</div><div class='del'>-2. インストール</div><div class='del'>-</div><div class='del'>-次のようにしてインストールしてください．</div><div class='del'>-</div><div class='del'>-(1)  ruby extconf.rb</div><div class='del'>-</div><div class='del'>-    を実行すると Makefile が生成されます．</div><div class='del'>-</div><div class='del'>-(2) make; make install を実行してください．</div><div class='del'>-</div><div class='del'>-3. 何ができるか</div><div class='del'>-</div><div class='del'>-この拡張モジュールは，PTY というモジュールを定義します．その中</div><div class='del'>-には，次のようなモジュール関数が含まれています．</div><div class='del'>-</div><div class='del'>-   getpty(command)</div><div class='del'>-   spawn(command)</div><div class='del'>-</div><div class='del'>-      この関数は，仮想ttyを確保し，指定されたコマンドをその仮想tty</div><div class='del'>-      の向こうで実行し，配列を返します．戻り値は3つの要素からなる</div><div class='del'>-      配列です．最初の要素は仮想ttyから読み出すためのIOオブジェクト，</div><div class='del'>-      2番目は書きこむためのIOオブジェクト，3番目は子プロセスのプロ</div><div class='del'>-      セスIDです．この関数がイテレータとして呼ばれた場合，これらの</div><div class='del'>-      要素はブロックパラメータとして渡され，関数自体はnilを返します．</div><div class='del'>-</div><div class='del'>-      子プロセスが終了したり停止した場合には，例外が発生します．この関</div><div class='del'>-      数がブロックパラメータ付きで呼ばれた場合には，そのブロックの中で</div><div class='del'>-      のみ例外が発生します．子プロセスをモニターしているスレッドはブロッ</div><div class='del'>-      クを抜けるときに終了します．</div><div class='del'>-</div><div class='del'>-   protect_signal</div><div class='del'>-   reset_signal</div><div class='del'>-</div><div class='del'>-      廃止予定です．</div><div class='del'>-</div><div class='del'>-   PTY.open</div><div class='del'>-</div><div class='del'>-      仮想ttyを確保し，マスター側に対応するIOオブジェクトとスレーブ側に</div><div class='del'>-      対応するFileオブジェクトの配列を返します．ブロック付きで呼び出さ</div><div class='del'>-      れた場合は，これらの要素はブロックパラメータとして渡され，ブロッ</div><div class='del'>-      クから返された結果を返します．また、このマスターIOとスレーブFile</div><div class='del'>-      は、ブロックを抜けるときにクローズ済みでなければクローズされます．</div><div class='del'>-</div><div class='del'>-   PTY.check(pid[, raise=false])</div><div class='del'>-</div><div class='del'>-      pidで指定された子プロセスの状態をチェックし，実行中であればnilを</div><div class='del'>-      返します．終了しているか停止している場合、第二引数が偽であれば、</div><div class='del'>-      対応するProcess::Statusオブジェクトを返します。真であれば</div><div class='del'>-      PTY::ChildExited例外が発生します．</div><div class='del'>-</div><div class='del'>-4. 利用について</div><div class='del'>-</div><div class='del'>-伊藤彰則が著作権を保有します．</div><div class='del'>-</div><div class='del'>-ソースプログラムまたはドキュメントに元の著作権表示が改変されずに</div><div class='del'>-表示されている場合に限り，誰でも，このソフトウェアを無償かつ著作</div><div class='del'>-権者に無断で利用・配布・改変できます．利用目的は限定されていませ</div><div class='del'>-ん．</div><div class='del'>-</div><div class='del'>-このプログラムの利用・配布その他このプログラムに関係する行為によ</div><div class='del'>-って生じたいかなる損害に対しても，作者は一切責任を負いません．</div><div class='del'>-</div><div class='del'>-5. バグ報告等</div><div class='del'>-</div><div class='del'>-バグレポートは歓迎します．</div><div class='del'>-</div><div class='del'>-	aito@ei5sun.yz.yamagata-u.ac.jp</div><div class='del'>-</div><div class='del'>-まで電子メールでバグレポートをお送りください．</div><div class='head'>diff --git a/doc/regexp.rdoc b/doc/regexp.rdoc<br/>deleted file mode 100644<br/>index 9218a75b67..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/regexp.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/regexp.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,709 +0,0 @@</div><div class='del'>-# -*- mode: rdoc; coding: utf-8; fill-column: 74; -*-</div><div class='del'>-</div><div class='del'>-Regular expressions (&lt;i&gt;regexp&lt;/i&gt;s) are patterns which describe the</div><div class='del'>-contents of a string. They're used for testing whether a string contains a</div><div class='del'>-given pattern, or extracting the portions that match. They are created</div><div class='del'>-with the &lt;tt&gt;/&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;/&lt;/tt&gt; and</div><div class='del'>-&lt;tt&gt;%r{&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;}&lt;/tt&gt; literals or the &lt;tt&gt;Regexp.new&lt;/tt&gt;</div><div class='del'>-constructor.</div><div class='del'>-</div><div class='del'>-A regexp is usually delimited with forward slashes (&lt;tt&gt;/&lt;/tt&gt;). For</div><div class='del'>-example:</div><div class='del'>-</div><div class='del'>-    /hay/ =~ 'haystack'   #=&gt; 0</div><div class='del'>-    /y/.match('haystack') #=&gt; #&lt;MatchData "y"&gt;</div><div class='del'>-</div><div class='del'>-If a string contains the pattern it is said to &lt;i&gt;match&lt;/i&gt;. A literal</div><div class='del'>-string matches itself.</div><div class='del'>-</div><div class='del'>-Here 'haystack' does not contain the pattern 'needle', so it doesn't match:</div><div class='del'>-</div><div class='del'>-    /needle/.match('haystack') #=&gt; nil</div><div class='del'>-</div><div class='del'>-Here 'haystack' contains the pattern 'hay', so it matches:</div><div class='del'>-</div><div class='del'>-    /hay/.match('haystack')    #=&gt; #&lt;MatchData "hay"&gt;</div><div class='del'>-</div><div class='del'>-Specifically, &lt;tt&gt;/st/&lt;/tt&gt; requires that the string contains the letter</div><div class='del'>-_s_ followed by the letter _t_, so it matches _haystack_, also.</div><div class='del'>-</div><div class='del'>-== &lt;tt&gt;=~&lt;/tt&gt; and Regexp#match</div><div class='del'>-</div><div class='del'>-Pattern matching may be achieved by using &lt;tt&gt;=~&lt;/tt&gt; operator or Regexp#match</div><div class='del'>-method.</div><div class='del'>-</div><div class='del'>-=== &lt;tt&gt;=~&lt;/tt&gt; operator</div><div class='del'>-</div><div class='del'>-&lt;tt&gt;=~&lt;/tt&gt; is Ruby's basic pattern-matching operator.  When one operand is a</div><div class='del'>-regular expression and the other is a string then the regular expression is</div><div class='del'>-used as a pattern to match against the string.  (This operator is equivalently</div><div class='del'>-defined by Regexp and String so the order of String and Regexp do not matter.</div><div class='del'>-Other classes may have different implementations of &lt;tt&gt;=~&lt;/tt&gt;.)  If a match</div><div class='del'>-is found, the operator returns index of first match in string, otherwise it</div><div class='del'>-returns +nil+.</div><div class='del'>-</div><div class='del'>-    /hay/ =~ 'haystack'   #=&gt; 0</div><div class='del'>-    'haystack' =~ /hay/   #=&gt; 0</div><div class='del'>-    /a/   =~ 'haystack'   #=&gt; 1</div><div class='del'>-    /u/   =~ 'haystack'   #=&gt; nil</div><div class='del'>-</div><div class='del'>-Using &lt;tt&gt;=~&lt;/tt&gt; operator with a String and Regexp the &lt;tt&gt;$~&lt;/tt&gt; global</div><div class='del'>-variable is set after a successful match.  &lt;tt&gt;$~&lt;/tt&gt; holds a MatchData</div><div class='del'>-object. Regexp.last_match is equivalent to &lt;tt&gt;$~&lt;/tt&gt;.</div><div class='del'>-</div><div class='del'>-=== Regexp#match method</div><div class='del'>-</div><div class='del'>-The #match method returns a MatchData object:</div><div class='del'>-</div><div class='del'>-    /st/.match('haystack')   #=&gt; #&lt;MatchData "st"&gt;</div><div class='del'>-</div><div class='del'>-== Metacharacters and Escapes</div><div class='del'>-</div><div class='del'>-The following are &lt;i&gt;metacharacters&lt;/i&gt; &lt;tt&gt;(&lt;/tt&gt;, &lt;tt&gt;)&lt;/tt&gt;,</div><div class='del'>-&lt;tt&gt;[&lt;/tt&gt;, &lt;tt&gt;]&lt;/tt&gt;, &lt;tt&gt;{&lt;/tt&gt;, &lt;tt&gt;}&lt;/tt&gt;, &lt;tt&gt;.&lt;/tt&gt;, &lt;tt&gt;?&lt;/tt&gt;,</div><div class='del'>-&lt;tt&gt;+&lt;/tt&gt;, &lt;tt&gt;*&lt;/tt&gt;. They have a specific meaning when appearing in a</div><div class='del'>-pattern. To match them literally they must be backslash-escaped. To match</div><div class='del'>-a backslash literally, backslash-escape it: &lt;tt&gt;\\\\&lt;/tt&gt;.</div><div class='del'>-</div><div class='del'>-    /1 \+ 2 = 3\?/.match('Does 1 + 2 = 3?') #=&gt; #&lt;MatchData "1 + 2 = 3?"&gt;</div><div class='del'>-    /a\\\\b/.match('a\\\\b')                    #=&gt; #&lt;MatchData "a\\b"&gt;</div><div class='del'>-</div><div class='del'>-Patterns behave like double-quoted strings so can contain the same</div><div class='del'>-backslash escapes.</div><div class='del'>-</div><div class='del'>-    /\s\u{6771 4eac 90fd}/.match("Go to 東京都")</div><div class='del'>-        #=&gt; #&lt;MatchData " 東京都"&gt;</div><div class='del'>-</div><div class='del'>-Arbitrary Ruby expressions can be embedded into patterns with the</div><div class='del'>-&lt;tt&gt;#{...}&lt;/tt&gt; construct.</div><div class='del'>-</div><div class='del'>-    place = "東京都"</div><div class='del'>-    /#{place}/.match("Go to 東京都")</div><div class='del'>-        #=&gt; #&lt;MatchData "東京都"&gt;</div><div class='del'>-</div><div class='del'>-== Character Classes</div><div class='del'>-</div><div class='del'>-A &lt;i&gt;character class&lt;/i&gt; is delimited with square brackets (&lt;tt&gt;[&lt;/tt&gt;,</div><div class='del'>-&lt;tt&gt;]&lt;/tt&gt;) and lists characters that may appear at that point in the</div><div class='del'>-match. &lt;tt&gt;/[ab]/&lt;/tt&gt; means _a_ or _b_, as opposed to &lt;tt&gt;/ab/&lt;/tt&gt; which</div><div class='del'>-means _a_ followed by _b_.</div><div class='del'>-</div><div class='del'>-    /W[aeiou]rd/.match("Word") #=&gt; #&lt;MatchData "Word"&gt;</div><div class='del'>-</div><div class='del'>-Within a character class the hyphen (&lt;tt&gt;-&lt;/tt&gt;) is a metacharacter</div><div class='del'>-denoting an inclusive range of characters. &lt;tt&gt;[abcd]&lt;/tt&gt; is equivalent</div><div class='del'>-to &lt;tt&gt;[a-d]&lt;/tt&gt;. A range can be followed by another range, so</div><div class='del'>-&lt;tt&gt;[abcdwxyz]&lt;/tt&gt; is equivalent to &lt;tt&gt;[a-dw-z]&lt;/tt&gt;. The order in which</div><div class='del'>-ranges or individual characters appear inside a character class is</div><div class='del'>-irrelevant.</div><div class='del'>-</div><div class='del'>-    /[0-9a-f]/.match('9f') #=&gt; #&lt;MatchData "9"&gt;</div><div class='del'>-    /[9f]/.match('9f')     #=&gt; #&lt;MatchData "9"&gt;</div><div class='del'>-</div><div class='del'>-If the first character of a character class is a caret (&lt;tt&gt;^&lt;/tt&gt;) the</div><div class='del'>-class is inverted: it matches any character _except_ those named.</div><div class='del'>-</div><div class='del'>-    /[^a-eg-z]/.match('f') #=&gt; #&lt;MatchData "f"&gt;</div><div class='del'>-</div><div class='del'>-A character class may contain another character class. By itself this</div><div class='del'>-isn't useful because &lt;tt&gt;[a-z[0-9]]&lt;/tt&gt; describes the same set as</div><div class='del'>-&lt;tt&gt;[a-z0-9]&lt;/tt&gt;. However, character classes also support the &lt;tt&gt;&amp;&amp;&lt;/tt&gt;</div><div class='del'>-operator which performs set intersection on its arguments. The two can be</div><div class='del'>-combined as follows:</div><div class='del'>-</div><div class='del'>-    /[a-w&amp;&amp;[^c-g]z]/ # ([a-w] AND ([^c-g] OR z))</div><div class='del'>-</div><div class='del'>-This is equivalent to:</div><div class='del'>-</div><div class='del'>-    /[abh-w]/</div><div class='del'>-</div><div class='del'>-The following metacharacters also behave like character classes:</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/./&lt;/tt&gt; - Any character except a newline.</div><div class='del'>-* &lt;tt&gt;/./m&lt;/tt&gt; - Any character (the +m+ modifier enables multiline mode)</div><div class='del'>-* &lt;tt&gt;/\w/&lt;/tt&gt; - A word character (&lt;tt&gt;[a-zA-Z0-9_]&lt;/tt&gt;)</div><div class='del'>-* &lt;tt&gt;/\W/&lt;/tt&gt; - A non-word character (&lt;tt&gt;[^a-zA-Z0-9_]&lt;/tt&gt;).</div><div class='del'>-  Please take a look at {Bug #4044}[https://bugs.ruby-lang.org/issues/4044] if</div><div class='del'>-  using &lt;tt&gt;/\W/&lt;/tt&gt; with the &lt;tt&gt;/i&lt;/tt&gt; modifier.</div><div class='del'>-* &lt;tt&gt;/\d/&lt;/tt&gt; - A digit character (&lt;tt&gt;[0-9]&lt;/tt&gt;)</div><div class='del'>-* &lt;tt&gt;/\D/&lt;/tt&gt; - A non-digit character (&lt;tt&gt;[^0-9]&lt;/tt&gt;)</div><div class='del'>-* &lt;tt&gt;/\h/&lt;/tt&gt; - A hexdigit character (&lt;tt&gt;[0-9a-fA-F]&lt;/tt&gt;)</div><div class='del'>-* &lt;tt&gt;/\H/&lt;/tt&gt; - A non-hexdigit character (&lt;tt&gt;[^0-9a-fA-F]&lt;/tt&gt;)</div><div class='del'>-* &lt;tt&gt;/\s/&lt;/tt&gt; - A whitespace character: &lt;tt&gt;/[ \t\r\n\f\v]/&lt;/tt&gt;</div><div class='del'>-* &lt;tt&gt;/\S/&lt;/tt&gt; - A non-whitespace character: &lt;tt&gt;/[^ \t\r\n\f\v]/&lt;/tt&gt;</div><div class='del'>-</div><div class='del'>-POSIX &lt;i&gt;bracket expressions&lt;/i&gt; are also similar to character classes.</div><div class='del'>-They provide a portable alternative to the above, with the added benefit</div><div class='del'>-that they encompass non-ASCII characters. For instance, &lt;tt&gt;/\d/&lt;/tt&gt;</div><div class='del'>-matches only the ASCII decimal digits (0-9); whereas &lt;tt&gt;/[[:digit:]]/&lt;/tt&gt;</div><div class='del'>-matches any character in the Unicode _Nd_ category.</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/[[:alnum:]]/&lt;/tt&gt; - Alphabetic and numeric character</div><div class='del'>-* &lt;tt&gt;/[[:alpha:]]/&lt;/tt&gt; - Alphabetic character</div><div class='del'>-* &lt;tt&gt;/[[:blank:]]/&lt;/tt&gt; - Space or tab</div><div class='del'>-* &lt;tt&gt;/[[:cntrl:]]/&lt;/tt&gt; - Control character</div><div class='del'>-* &lt;tt&gt;/[[:digit:]]/&lt;/tt&gt; - Digit</div><div class='del'>-* &lt;tt&gt;/[[:graph:]]/&lt;/tt&gt; - Non-blank character (excludes spaces, control</div><div class='del'>-  characters, and similar)</div><div class='del'>-* &lt;tt&gt;/[[:lower:]]/&lt;/tt&gt; - Lowercase alphabetical character</div><div class='del'>-* &lt;tt&gt;/[[:print:]]/&lt;/tt&gt; - Like [:graph:], but includes the space character</div><div class='del'>-* &lt;tt&gt;/[[:punct:]]/&lt;/tt&gt; - Punctuation character</div><div class='del'>-* &lt;tt&gt;/[[:space:]]/&lt;/tt&gt; - Whitespace character (&lt;tt&gt;[:blank:]&lt;/tt&gt;, newline,</div><div class='del'>-  carriage return, etc.)</div><div class='del'>-* &lt;tt&gt;/[[:upper:]]/&lt;/tt&gt; - Uppercase alphabetical</div><div class='del'>-* &lt;tt&gt;/[[:xdigit:]]/&lt;/tt&gt; - Digit allowed in a hexadecimal number (i.e.,</div><div class='del'>-  0-9a-fA-F)</div><div class='del'>-</div><div class='del'>-Ruby also supports the following non-POSIX character classes:</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/[[:word:]]/&lt;/tt&gt; - A character in one of the following Unicode</div><div class='del'>-  general categories _Letter_, _Mark_, _Number_,</div><div class='del'>-  &lt;i&gt;Connector_Punctuation&lt;/i&gt;</div><div class='del'>-* &lt;tt&gt;/[[:ascii:]]/&lt;/tt&gt; - A character in the ASCII character set</div><div class='del'>-</div><div class='del'>-    # U+06F2 is "EXTENDED ARABIC-INDIC DIGIT TWO"</div><div class='del'>-    /[[:digit:]]/.match("\u06F2")    #=&gt; #&lt;MatchData "\u{06F2}"&gt;</div><div class='del'>-    /[[:upper:]][[:lower:]]/.match("Hello") #=&gt; #&lt;MatchData "He"&gt;</div><div class='del'>-    /[[:xdigit:]][[:xdigit:]]/.match("A6")  #=&gt; #&lt;MatchData "A6"&gt;</div><div class='del'>-</div><div class='del'>-== Repetition</div><div class='del'>-</div><div class='del'>-The constructs described so far match a single character. They can be</div><div class='del'>-followed by a repetition metacharacter to specify how many times they need</div><div class='del'>-to occur. Such metacharacters are called &lt;i&gt;quantifiers&lt;/i&gt;.</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;*&lt;/tt&gt; - Zero or more times</div><div class='del'>-* &lt;tt&gt;+&lt;/tt&gt; - One or more times</div><div class='del'>-* &lt;tt&gt;?&lt;/tt&gt; - Zero or one times (optional)</div><div class='del'>-* &lt;tt&gt;{&lt;/tt&gt;&lt;i&gt;n&lt;/i&gt;&lt;tt&gt;}&lt;/tt&gt; - Exactly &lt;i&gt;n&lt;/i&gt; times</div><div class='del'>-* &lt;tt&gt;{&lt;/tt&gt;&lt;i&gt;n&lt;/i&gt;&lt;tt&gt;,}&lt;/tt&gt; - &lt;i&gt;n&lt;/i&gt; or more times</div><div class='del'>-* &lt;tt&gt;{,&lt;/tt&gt;&lt;i&gt;m&lt;/i&gt;&lt;tt&gt;}&lt;/tt&gt; - &lt;i&gt;m&lt;/i&gt; or less times</div><div class='del'>-* &lt;tt&gt;{&lt;/tt&gt;&lt;i&gt;n&lt;/i&gt;&lt;tt&gt;,&lt;/tt&gt;&lt;i&gt;m&lt;/i&gt;&lt;tt&gt;}&lt;/tt&gt; - At least &lt;i&gt;n&lt;/i&gt; and</div><div class='del'>-  at most &lt;i&gt;m&lt;/i&gt; times</div><div class='del'>-</div><div class='del'>-At least one uppercase character ('H'), at least one lowercase character</div><div class='del'>-('e'), two 'l' characters, then one 'o':</div><div class='del'>-</div><div class='del'>-    "Hello".match(/[[:upper:]]+[[:lower:]]+l{2}o/) #=&gt; #&lt;MatchData "Hello"&gt;</div><div class='del'>-</div><div class='del'>-Repetition is &lt;i&gt;greedy&lt;/i&gt; by default: as many occurrences as possible</div><div class='del'>-are matched while still allowing the overall match to succeed. By</div><div class='del'>-contrast, &lt;i&gt;lazy&lt;/i&gt; matching makes the minimal amount of matches</div><div class='del'>-necessary for overall success. A greedy metacharacter can be made lazy by</div><div class='del'>-following it with &lt;tt&gt;?&lt;/tt&gt;.</div><div class='del'>-</div><div class='del'>-Both patterns below match the string. The first uses a greedy quantifier so</div><div class='del'>-'.+' matches '&lt;a&gt;&lt;b&gt;'; the second uses a lazy quantifier so '.+?' matches</div><div class='del'>-'&lt;a&gt;':</div><div class='del'>-</div><div class='del'>-    /&lt;.+&gt;/.match("&lt;a&gt;&lt;b&gt;")  #=&gt; #&lt;MatchData "&lt;a&gt;&lt;b&gt;"&gt;</div><div class='del'>-    /&lt;.+?&gt;/.match("&lt;a&gt;&lt;b&gt;") #=&gt; #&lt;MatchData "&lt;a&gt;"&gt;</div><div class='del'>-</div><div class='del'>-A quantifier followed by &lt;tt&gt;+&lt;/tt&gt; matches &lt;i&gt;possessively&lt;/i&gt;: once it</div><div class='del'>-has matched it does not backtrack. They behave like greedy quantifiers,</div><div class='del'>-but having matched they refuse to "give up" their match even if this</div><div class='del'>-jeopardises the overall match.</div><div class='del'>-</div><div class='del'>-== Capturing</div><div class='del'>-</div><div class='del'>-Parentheses can be used for &lt;i&gt;capturing&lt;/i&gt;. The text enclosed by the</div><div class='del'>-&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;th&lt;/sup&gt; group of parentheses can be subsequently referred to</div><div class='del'>-with &lt;i&gt;n&lt;/i&gt;. Within a pattern use the &lt;i&gt;backreference&lt;/i&gt;</div><div class='del'>-&lt;tt&gt;\n&lt;/tt&gt;; outside of the pattern use</div><div class='del'>-&lt;tt&gt;MatchData[&lt;/tt&gt;&lt;i&gt;n&lt;/i&gt;&lt;tt&gt;]&lt;/tt&gt;.</div><div class='del'>-</div><div class='del'>-'at' is captured by the first group of parentheses, then referred to later</div><div class='del'>-with &lt;tt&gt;\1&lt;/tt&gt;:</div><div class='del'>-</div><div class='del'>-    /[csh](..) [csh]\1 in/.match("The cat sat in the hat")</div><div class='del'>-        #=&gt; #&lt;MatchData "cat sat in" 1:"at"&gt;</div><div class='del'>-</div><div class='del'>-Regexp#match returns a MatchData object which makes the captured text</div><div class='del'>-available with its #[] method:</div><div class='del'>-</div><div class='del'>-    /[csh](..) [csh]\1 in/.match("The cat sat in the hat")[1] #=&gt; 'at'</div><div class='del'>-</div><div class='del'>-Capture groups can be referred to by name when defined with the</div><div class='del'>-&lt;tt&gt;(?&lt;&lt;/tt&gt;&lt;i&gt;name&lt;/i&gt;&lt;tt&gt;&gt;)&lt;/tt&gt; or &lt;tt&gt;(?'&lt;/tt&gt;&lt;i&gt;name&lt;/i&gt;&lt;tt&gt;')&lt;/tt&gt;</div><div class='del'>-constructs.</div><div class='del'>-</div><div class='del'>-    /\$(?&lt;dollars&gt;\d+)\.(?&lt;cents&gt;\d+)/.match("$3.67")</div><div class='del'>-        #=&gt; #&lt;MatchData "$3.67" dollars:"3" cents:"67"&gt;</div><div class='del'>-    /\$(?&lt;dollars&gt;\d+)\.(?&lt;cents&gt;\d+)/.match("$3.67")[:dollars] #=&gt; "3"</div><div class='del'>-</div><div class='del'>-Named groups can be backreferenced with &lt;tt&gt;\k&lt;&lt;/tt&gt;&lt;i&gt;name&lt;/i&gt;&lt;tt&gt;&gt;&lt;/tt&gt;,</div><div class='del'>-where _name_ is the group name.</div><div class='del'>-</div><div class='del'>-    /(?&lt;vowel&gt;[aeiou]).\k&lt;vowel&gt;.\k&lt;vowel&gt;/.match('ototomy')</div><div class='del'>-        #=&gt; #&lt;MatchData "ototo" vowel:"o"&gt;</div><div class='del'>-</div><div class='del'>-*Note*: A regexp can't use named backreferences and numbered</div><div class='del'>-backreferences simultaneously.</div><div class='del'>-</div><div class='del'>-When named capture groups are used with a literal regexp on the left-hand</div><div class='del'>-side of an expression and the &lt;tt&gt;=~&lt;/tt&gt; operator, the captured text is</div><div class='del'>-also assigned to local variables with corresponding names.</div><div class='del'>-</div><div class='del'>-    /\$(?&lt;dollars&gt;\d+)\.(?&lt;cents&gt;\d+)/ =~ "$3.67" #=&gt; 0</div><div class='del'>-    dollars #=&gt; "3"</div><div class='del'>-</div><div class='del'>-== Grouping</div><div class='del'>-</div><div class='del'>-Parentheses also &lt;i&gt;group&lt;/i&gt; the terms they enclose, allowing them to be</div><div class='del'>-quantified as one &lt;i&gt;atomic&lt;/i&gt; whole.</div><div class='del'>-</div><div class='del'>-The pattern below matches a vowel followed by 2 word characters:</div><div class='del'>-</div><div class='del'>-    /[aeiou]\w{2}/.match("Caenorhabditis elegans") #=&gt; #&lt;MatchData "aen"&gt;</div><div class='del'>-</div><div class='del'>-Whereas the following pattern matches a vowel followed by a word character,</div><div class='del'>-twice, i.e. &lt;tt&gt;[aeiou]\w[aeiou]\w&lt;/tt&gt;: 'enor'.</div><div class='del'>-</div><div class='del'>-    /([aeiou]\w){2}/.match("Caenorhabditis elegans")</div><div class='del'>-        #=&gt; #&lt;MatchData "enor" 1:"or"&gt;</div><div class='del'>-</div><div class='del'>-The &lt;tt&gt;(?:&lt;/tt&gt;...&lt;tt&gt;)&lt;/tt&gt; construct provides grouping without</div><div class='del'>-capturing. That is, it combines the terms it contains into an atomic whole</div><div class='del'>-without creating a backreference. This benefits performance at the slight</div><div class='del'>-expense of readability.</div><div class='del'>-</div><div class='del'>-The first group of parentheses captures 'n' and the second 'ti'. The second</div><div class='del'>-group is referred to later with the backreference &lt;tt&gt;\2&lt;/tt&gt;:</div><div class='del'>-</div><div class='del'>-    /I(n)ves(ti)ga\2ons/.match("Investigations")</div><div class='del'>-        #=&gt; #&lt;MatchData "Investigations" 1:"n" 2:"ti"&gt;</div><div class='del'>-</div><div class='del'>-The first group of parentheses is now made non-capturing with '?:', so it</div><div class='del'>-still matches 'n', but doesn't create the backreference. Thus, the</div><div class='del'>-backreference &lt;tt&gt;\1&lt;/tt&gt; now refers to 'ti'.</div><div class='del'>-</div><div class='del'>-    /I(?:n)ves(ti)ga\1ons/.match("Investigations")</div><div class='del'>-        #=&gt; #&lt;MatchData "Investigations" 1:"ti"&gt;</div><div class='del'>-</div><div class='del'>-=== Atomic Grouping</div><div class='del'>-</div><div class='del'>-Grouping can be made &lt;i&gt;atomic&lt;/i&gt; with</div><div class='del'>-&lt;tt&gt;(?&gt;&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt;. This causes the subexpression &lt;i&gt;pat&lt;/i&gt;</div><div class='del'>-to be matched independently of the rest of the expression such that what</div><div class='del'>-it matches becomes fixed for the remainder of the match, unless the entire</div><div class='del'>-subexpression must be abandoned and subsequently revisited. In this</div><div class='del'>-way &lt;i&gt;pat&lt;/i&gt; is treated as a non-divisible whole. Atomic grouping is</div><div class='del'>-typically used to optimise patterns so as to prevent the regular</div><div class='del'>-expression engine from backtracking needlessly.</div><div class='del'>-</div><div class='del'>-The &lt;tt&gt;"&lt;/tt&gt; in the pattern below matches the first character of the string,</div><div class='del'>-then &lt;tt&gt;.*&lt;/tt&gt; matches &lt;i&gt;Quote"&lt;/i&gt;. This causes the overall match to fail,</div><div class='del'>-so the text matched by &lt;tt&gt;.*&lt;/tt&gt; is backtracked by one position, which</div><div class='del'>-leaves the final character of the string available to match &lt;tt&gt;"&lt;/tt&gt;</div><div class='del'>-</div><div class='del'>-          /".*"/.match('"Quote"')     #=&gt; #&lt;MatchData "\"Quote\""&gt;</div><div class='del'>-</div><div class='del'>-If &lt;tt&gt;.*&lt;/tt&gt; is grouped atomically, it refuses to backtrack &lt;i&gt;Quote"&lt;/i&gt;,</div><div class='del'>-even though this means that the overall match fails</div><div class='del'>-</div><div class='del'>-    /"(?&gt;.*)"/.match('"Quote"') #=&gt; nil</div><div class='del'>-</div><div class='del'>-== Subexpression Calls</div><div class='del'>-</div><div class='del'>-The &lt;tt&gt;\g&lt;&lt;/tt&gt;&lt;i&gt;name&lt;/i&gt;&lt;tt&gt;&gt;&lt;/tt&gt; syntax matches the previous</div><div class='del'>-subexpression named _name_, which can be a group name or number, again.</div><div class='del'>-This differs from backreferences in that it re-executes the group rather</div><div class='del'>-than simply trying to re-match the same text.</div><div class='del'>-</div><div class='del'>-This pattern matches a &lt;i&gt;(&lt;/i&gt; character and assigns it to the &lt;tt&gt;paren&lt;/tt&gt;</div><div class='del'>-group, tries to call that the &lt;tt&gt;paren&lt;/tt&gt; sub-expression again but fails,</div><div class='del'>-then matches a literal &lt;i&gt;)&lt;/i&gt;:</div><div class='del'>-</div><div class='del'>-    /\A(?&lt;paren&gt;\(\g&lt;paren&gt;*\))*\z/ =~ '()'</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-    /\A(?&lt;paren&gt;\(\g&lt;paren&gt;*\))*\z/ =~ '(())' #=&gt; 0</div><div class='del'>-    # ^1</div><div class='del'>-    #      ^2</div><div class='del'>-    #           ^3</div><div class='del'>-    #                 ^4</div><div class='del'>-    #      ^5</div><div class='del'>-    #           ^6</div><div class='del'>-    #                      ^7</div><div class='del'>-    #                       ^8</div><div class='del'>-    #                       ^9</div><div class='del'>-    #                           ^10</div><div class='del'>-</div><div class='del'>-1.  Matches at the beginning of the string, i.e. before the first</div><div class='del'>-    character.</div><div class='del'>-2.  Enters a named capture group called &lt;tt&gt;paren&lt;/tt&gt;</div><div class='del'>-3.  Matches a literal &lt;i&gt;(&lt;/i&gt;, the first character in the string</div><div class='del'>-4.  Calls the &lt;tt&gt;paren&lt;/tt&gt; group again, i.e. recurses back to the</div><div class='del'>-    second step</div><div class='del'>-5.  Re-enters the &lt;tt&gt;paren&lt;/tt&gt; group</div><div class='del'>-6.  Matches a literal &lt;i&gt;(&lt;/i&gt;, the second character in the</div><div class='del'>-    string</div><div class='del'>-7.  Try to call &lt;tt&gt;paren&lt;/tt&gt; a third time, but fail because</div><div class='del'>-    doing so would prevent an overall successful match</div><div class='del'>-8.  Match a literal &lt;i&gt;)&lt;/i&gt;, the third character in the string.</div><div class='del'>-    Marks the end of the second recursive call</div><div class='del'>-9.  Match a literal &lt;i&gt;)&lt;/i&gt;, the fourth character in the string</div><div class='del'>-10. Match the end of the string</div><div class='del'>-</div><div class='del'>-== Alternation</div><div class='del'>-</div><div class='del'>-The vertical bar metacharacter (&lt;tt&gt;|&lt;/tt&gt;) combines two expressions into</div><div class='del'>-a single one that matches either of the expressions. Each expression is an</div><div class='del'>-&lt;i&gt;alternative&lt;/i&gt;.</div><div class='del'>-</div><div class='del'>-    /\w(and|or)\w/.match("Feliformia") #=&gt; #&lt;MatchData "form" 1:"or"&gt;</div><div class='del'>-    /\w(and|or)\w/.match("furandi")    #=&gt; #&lt;MatchData "randi" 1:"and"&gt;</div><div class='del'>-    /\w(and|or)\w/.match("dissemblance") #=&gt; nil</div><div class='del'>-</div><div class='del'>-== Character Properties</div><div class='del'>-</div><div class='del'>-The &lt;tt&gt;\p{}&lt;/tt&gt; construct matches characters with the named property,</div><div class='del'>-much like POSIX bracket classes.</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/\p{Alnum}/&lt;/tt&gt; - Alphabetic and numeric character</div><div class='del'>-* &lt;tt&gt;/\p{Alpha}/&lt;/tt&gt; - Alphabetic character</div><div class='del'>-* &lt;tt&gt;/\p{Blank}/&lt;/tt&gt; - Space or tab</div><div class='del'>-* &lt;tt&gt;/\p{Cntrl}/&lt;/tt&gt; - Control character</div><div class='del'>-* &lt;tt&gt;/\p{Digit}/&lt;/tt&gt; - Digit</div><div class='del'>-* &lt;tt&gt;/\p{Graph}/&lt;/tt&gt; - Non-blank character (excludes spaces, control</div><div class='del'>-  characters, and similar)</div><div class='del'>-* &lt;tt&gt;/\p{Lower}/&lt;/tt&gt; - Lowercase alphabetical character</div><div class='del'>-* &lt;tt&gt;/\p{Print}/&lt;/tt&gt; - Like &lt;tt&gt;\p{Graph}&lt;/tt&gt;, but includes the space character</div><div class='del'>-* &lt;tt&gt;/\p{Punct}/&lt;/tt&gt; - Punctuation character</div><div class='del'>-* &lt;tt&gt;/\p{Space}/&lt;/tt&gt; - Whitespace character (&lt;tt&gt;[:blank:]&lt;/tt&gt;, newline,</div><div class='del'>-  carriage return, etc.)</div><div class='del'>-* &lt;tt&gt;/\p{Upper}/&lt;/tt&gt; - Uppercase alphabetical</div><div class='del'>-* &lt;tt&gt;/\p{XDigit}/&lt;/tt&gt; - Digit allowed in a hexadecimal number (i.e., 0-9a-fA-F)</div><div class='del'>-* &lt;tt&gt;/\p{Word}/&lt;/tt&gt; - A member of one of the following Unicode general</div><div class='del'>-  category &lt;i&gt;Letter&lt;/i&gt;, &lt;i&gt;Mark&lt;/i&gt;, &lt;i&gt;Number&lt;/i&gt;,</div><div class='del'>-  &lt;i&gt;Connector\_Punctuation&lt;/i&gt;</div><div class='del'>-* &lt;tt&gt;/\p{ASCII}/&lt;/tt&gt; - A character in the ASCII character set</div><div class='del'>-* &lt;tt&gt;/\p{Any}/&lt;/tt&gt; - Any Unicode character (including unassigned</div><div class='del'>-  characters)</div><div class='del'>-* &lt;tt&gt;/\p{Assigned}/&lt;/tt&gt; - An assigned character</div><div class='del'>-</div><div class='del'>-A Unicode character's &lt;i&gt;General Category&lt;/i&gt; value can also be matched</div><div class='del'>-with &lt;tt&gt;\p{&lt;/tt&gt;&lt;i&gt;Ab&lt;/i&gt;&lt;tt&gt;}&lt;/tt&gt; where &lt;i&gt;Ab&lt;/i&gt; is the category's</div><div class='del'>-abbreviation as described below:</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/\p{L}/&lt;/tt&gt; - 'Letter'</div><div class='del'>-* &lt;tt&gt;/\p{Ll}/&lt;/tt&gt; - 'Letter: Lowercase'</div><div class='del'>-* &lt;tt&gt;/\p{Lm}/&lt;/tt&gt; - 'Letter: Mark'</div><div class='del'>-* &lt;tt&gt;/\p{Lo}/&lt;/tt&gt; - 'Letter: Other'</div><div class='del'>-* &lt;tt&gt;/\p{Lt}/&lt;/tt&gt; - 'Letter: Titlecase'</div><div class='del'>-* &lt;tt&gt;/\p{Lu}/&lt;/tt&gt; - 'Letter: Uppercase</div><div class='del'>-* &lt;tt&gt;/\p{Lo}/&lt;/tt&gt; - 'Letter: Other'</div><div class='del'>-* &lt;tt&gt;/\p{M}/&lt;/tt&gt; - 'Mark'</div><div class='del'>-* &lt;tt&gt;/\p{Mn}/&lt;/tt&gt; - 'Mark: Nonspacing'</div><div class='del'>-* &lt;tt&gt;/\p{Mc}/&lt;/tt&gt; - 'Mark: Spacing Combining'</div><div class='del'>-* &lt;tt&gt;/\p{Me}/&lt;/tt&gt; - 'Mark: Enclosing'</div><div class='del'>-* &lt;tt&gt;/\p{N}/&lt;/tt&gt; - 'Number'</div><div class='del'>-* &lt;tt&gt;/\p{Nd}/&lt;/tt&gt; - 'Number: Decimal Digit'</div><div class='del'>-* &lt;tt&gt;/\p{Nl}/&lt;/tt&gt; - 'Number: Letter'</div><div class='del'>-* &lt;tt&gt;/\p{No}/&lt;/tt&gt; - 'Number: Other'</div><div class='del'>-* &lt;tt&gt;/\p{P}/&lt;/tt&gt; - 'Punctuation'</div><div class='del'>-* &lt;tt&gt;/\p{Pc}/&lt;/tt&gt; - 'Punctuation: Connector'</div><div class='del'>-* &lt;tt&gt;/\p{Pd}/&lt;/tt&gt; - 'Punctuation: Dash'</div><div class='del'>-* &lt;tt&gt;/\p{Ps}/&lt;/tt&gt; - 'Punctuation: Open'</div><div class='del'>-* &lt;tt&gt;/\p{Pe}/&lt;/tt&gt; - 'Punctuation: Close'</div><div class='del'>-* &lt;tt&gt;/\p{Pi}/&lt;/tt&gt; - 'Punctuation: Initial Quote'</div><div class='del'>-* &lt;tt&gt;/\p{Pf}/&lt;/tt&gt; - 'Punctuation: Final Quote'</div><div class='del'>-* &lt;tt&gt;/\p{Po}/&lt;/tt&gt; - 'Punctuation: Other'</div><div class='del'>-* &lt;tt&gt;/\p{S}/&lt;/tt&gt; - 'Symbol'</div><div class='del'>-* &lt;tt&gt;/\p{Sm}/&lt;/tt&gt; - 'Symbol: Math'</div><div class='del'>-* &lt;tt&gt;/\p{Sc}/&lt;/tt&gt; - 'Symbol: Currency'</div><div class='del'>-* &lt;tt&gt;/\p{Sc}/&lt;/tt&gt; - 'Symbol: Currency'</div><div class='del'>-* &lt;tt&gt;/\p{Sk}/&lt;/tt&gt; - 'Symbol: Modifier'</div><div class='del'>-* &lt;tt&gt;/\p{So}/&lt;/tt&gt; - 'Symbol: Other'</div><div class='del'>-* &lt;tt&gt;/\p{Z}/&lt;/tt&gt; - 'Separator'</div><div class='del'>-* &lt;tt&gt;/\p{Zs}/&lt;/tt&gt; - 'Separator: Space'</div><div class='del'>-* &lt;tt&gt;/\p{Zl}/&lt;/tt&gt; - 'Separator: Line'</div><div class='del'>-* &lt;tt&gt;/\p{Zp}/&lt;/tt&gt; - 'Separator: Paragraph'</div><div class='del'>-* &lt;tt&gt;/\p{C}/&lt;/tt&gt; - 'Other'</div><div class='del'>-* &lt;tt&gt;/\p{Cc}/&lt;/tt&gt; - 'Other: Control'</div><div class='del'>-* &lt;tt&gt;/\p{Cf}/&lt;/tt&gt; - 'Other: Format'</div><div class='del'>-* &lt;tt&gt;/\p{Cn}/&lt;/tt&gt; - 'Other: Not Assigned'</div><div class='del'>-* &lt;tt&gt;/\p{Co}/&lt;/tt&gt; - 'Other: Private Use'</div><div class='del'>-* &lt;tt&gt;/\p{Cs}/&lt;/tt&gt; - 'Other: Surrogate'</div><div class='del'>-</div><div class='del'>-Lastly, &lt;tt&gt;\p{}&lt;/tt&gt; matches a character's Unicode &lt;i&gt;script&lt;/i&gt;. The</div><div class='del'>-following scripts are supported: &lt;i&gt;Arabic&lt;/i&gt;, &lt;i&gt;Armenian&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Balinese&lt;/i&gt;, &lt;i&gt;Bengali&lt;/i&gt;, &lt;i&gt;Bopomofo&lt;/i&gt;, &lt;i&gt;Braille&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Buginese&lt;/i&gt;, &lt;i&gt;Buhid&lt;/i&gt;, &lt;i&gt;Canadian_Aboriginal&lt;/i&gt;, &lt;i&gt;Carian&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Cham&lt;/i&gt;, &lt;i&gt;Cherokee&lt;/i&gt;, &lt;i&gt;Common&lt;/i&gt;, &lt;i&gt;Coptic&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Cuneiform&lt;/i&gt;, &lt;i&gt;Cypriot&lt;/i&gt;, &lt;i&gt;Cyrillic&lt;/i&gt;, &lt;i&gt;Deseret&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Devanagari&lt;/i&gt;, &lt;i&gt;Ethiopic&lt;/i&gt;, &lt;i&gt;Georgian&lt;/i&gt;, &lt;i&gt;Glagolitic&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Gothic&lt;/i&gt;, &lt;i&gt;Greek&lt;/i&gt;, &lt;i&gt;Gujarati&lt;/i&gt;, &lt;i&gt;Gurmukhi&lt;/i&gt;, &lt;i&gt;Han&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Hangul&lt;/i&gt;, &lt;i&gt;Hanunoo&lt;/i&gt;, &lt;i&gt;Hebrew&lt;/i&gt;, &lt;i&gt;Hiragana&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Inherited&lt;/i&gt;, &lt;i&gt;Kannada&lt;/i&gt;, &lt;i&gt;Katakana&lt;/i&gt;, &lt;i&gt;Kayah_Li&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Kharoshthi&lt;/i&gt;, &lt;i&gt;Khmer&lt;/i&gt;, &lt;i&gt;Lao&lt;/i&gt;, &lt;i&gt;Latin&lt;/i&gt;, &lt;i&gt;Lepcha&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Limbu&lt;/i&gt;, &lt;i&gt;Linear_B&lt;/i&gt;, &lt;i&gt;Lycian&lt;/i&gt;, &lt;i&gt;Lydian&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Malayalam&lt;/i&gt;, &lt;i&gt;Mongolian&lt;/i&gt;, &lt;i&gt;Myanmar&lt;/i&gt;, &lt;i&gt;New_Tai_Lue&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Nko&lt;/i&gt;, &lt;i&gt;Ogham&lt;/i&gt;, &lt;i&gt;Ol_Chiki&lt;/i&gt;, &lt;i&gt;Old_Italic&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Old_Persian&lt;/i&gt;, &lt;i&gt;Oriya&lt;/i&gt;, &lt;i&gt;Osmanya&lt;/i&gt;, &lt;i&gt;Phags_Pa&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Phoenician&lt;/i&gt;, &lt;i&gt;Rejang&lt;/i&gt;, &lt;i&gt;Runic&lt;/i&gt;, &lt;i&gt;Saurashtra&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Shavian&lt;/i&gt;, &lt;i&gt;Sinhala&lt;/i&gt;, &lt;i&gt;Sundanese&lt;/i&gt;, &lt;i&gt;Syloti_Nagri&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Syriac&lt;/i&gt;, &lt;i&gt;Tagalog&lt;/i&gt;, &lt;i&gt;Tagbanwa&lt;/i&gt;, &lt;i&gt;Tai_Le&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Tamil&lt;/i&gt;, &lt;i&gt;Telugu&lt;/i&gt;, &lt;i&gt;Thaana&lt;/i&gt;, &lt;i&gt;Thai&lt;/i&gt;, &lt;i&gt;Tibetan&lt;/i&gt;,</div><div class='del'>-&lt;i&gt;Tifinagh&lt;/i&gt;, &lt;i&gt;Ugaritic&lt;/i&gt;, &lt;i&gt;Vai&lt;/i&gt;, and &lt;i&gt;Yi&lt;/i&gt;.</div><div class='del'>-</div><div class='del'>-Unicode codepoint U+06E9 is named "ARABIC PLACE OF SAJDAH" and belongs to the</div><div class='del'>-Arabic script:</div><div class='del'>-</div><div class='del'>-    /\p{Arabic}/.match("\u06E9") #=&gt; #&lt;MatchData "\u06E9"&gt;</div><div class='del'>-</div><div class='del'>-All character properties can be inverted by prefixing their name with a</div><div class='del'>-caret (&lt;tt&gt;^&lt;/tt&gt;).</div><div class='del'>-</div><div class='del'>-Letter 'A' is not in the Unicode Ll (Letter; Lowercase) category, so this</div><div class='del'>-match succeeds:</div><div class='del'>-</div><div class='del'>-    /\p{^Ll}/.match("A") #=&gt; #&lt;MatchData "A"&gt;</div><div class='del'>-</div><div class='del'>-== Anchors</div><div class='del'>-</div><div class='del'>-Anchors are metacharacter that match the zero-width positions between</div><div class='del'>-characters, &lt;i&gt;anchoring&lt;/i&gt; the match to a specific position.</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;^&lt;/tt&gt; - Matches beginning of line</div><div class='del'>-* &lt;tt&gt;$&lt;/tt&gt; - Matches end of line</div><div class='del'>-* &lt;tt&gt;\A&lt;/tt&gt; - Matches beginning of string.</div><div class='del'>-* &lt;tt&gt;\Z&lt;/tt&gt; - Matches end of string. If string ends with a newline,</div><div class='del'>-  it matches just before newline</div><div class='del'>-* &lt;tt&gt;\z&lt;/tt&gt; - Matches end of string</div><div class='del'>-* &lt;tt&gt;\G&lt;/tt&gt; - Matches first matching position:</div><div class='del'>-</div><div class='del'>-  In methods like &lt;tt&gt;String#gsub&lt;/tt&gt; and &lt;tt&gt;String#scan&lt;/tt&gt;, it changes on each iteration.</div><div class='del'>-  It initially matches the beginning of subject, and in each following iteration it matches where the last match finished.</div><div class='del'>-</div><div class='del'>-      "    a b c".gsub(/ /, '_')    #=&gt; "____a_b_c"</div><div class='del'>-      "    a b c".gsub(/\G /, '_')  #=&gt; "____a b c"</div><div class='del'>-</div><div class='del'>-  In methods like &lt;tt&gt;Regexp#match&lt;/tt&gt; and &lt;tt&gt;String#match&lt;/tt&gt; that take an (optional) offset, it matches where the search begins.</div><div class='del'>-</div><div class='del'>-      "hello, world".match(/,/, 3)    #=&gt; #&lt;MatchData ","&gt;</div><div class='del'>-      "hello, world".match(/\G,/, 3)  #=&gt; nil</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;\b&lt;/tt&gt; - Matches word boundaries when outside brackets;</div><div class='del'>-  backspace (0x08) when inside brackets</div><div class='del'>-* &lt;tt&gt;\B&lt;/tt&gt; - Matches non-word boundaries</div><div class='del'>-* &lt;tt&gt;(?=&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt; - &lt;i&gt;Positive lookahead&lt;/i&gt; assertion:</div><div class='del'>-  ensures that the following characters match &lt;i&gt;pat&lt;/i&gt;, but doesn't</div><div class='del'>-  include those characters in the matched text</div><div class='del'>-* &lt;tt&gt;(?!&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt; - &lt;i&gt;Negative lookahead&lt;/i&gt; assertion:</div><div class='del'>-  ensures that the following characters do not match &lt;i&gt;pat&lt;/i&gt;, but</div><div class='del'>-  doesn't include those characters in the matched text</div><div class='del'>-* &lt;tt&gt;(?&lt;=&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt; - &lt;i&gt;Positive lookbehind&lt;/i&gt;</div><div class='del'>-  assertion: ensures that the preceding characters match &lt;i&gt;pat&lt;/i&gt;, but</div><div class='del'>-  doesn't include those characters in the matched text</div><div class='del'>-* &lt;tt&gt;(?&lt;!&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt; - &lt;i&gt;Negative lookbehind&lt;/i&gt;</div><div class='del'>-  assertion: ensures that the preceding characters do not match</div><div class='del'>-  &lt;i&gt;pat&lt;/i&gt;, but doesn't include those characters in the matched text</div><div class='del'>-</div><div class='del'>-If a pattern isn't anchored it can begin at any point in the string:</div><div class='del'>-</div><div class='del'>-    /real/.match("surrealist") #=&gt; #&lt;MatchData "real"&gt;</div><div class='del'>-</div><div class='del'>-Anchoring the pattern to the beginning of the string forces the match to start</div><div class='del'>-there. 'real' doesn't occur at the beginning of the string, so now the match</div><div class='del'>-fails:</div><div class='del'>-</div><div class='del'>-    /\Areal/.match("surrealist") #=&gt; nil</div><div class='del'>-</div><div class='del'>-The match below fails because although 'Demand' contains 'and', the pattern</div><div class='del'>-does not occur at a word boundary.</div><div class='del'>-</div><div class='del'>-    /\band/.match("Demand")</div><div class='del'>-</div><div class='del'>-Whereas in the following example 'and' has been anchored to a non-word</div><div class='del'>-boundary so instead of matching the first 'and' it matches from the fourth</div><div class='del'>-letter of 'demand' instead:</div><div class='del'>-</div><div class='del'>-    /\Band.+/.match("Supply and demand curve") #=&gt; #&lt;MatchData "and curve"&gt;</div><div class='del'>-</div><div class='del'>-The pattern below uses positive lookahead and positive lookbehind to match</div><div class='del'>-text appearing in &lt;b&gt;&lt;/b&gt; tags without including the tags in the match:</div><div class='del'>-</div><div class='del'>-    /(?&lt;=&lt;b&gt;)\w+(?=&lt;\/b&gt;)/.match("Fortune favours the &lt;b&gt;bold&lt;/b&gt;")</div><div class='del'>-        #=&gt; #&lt;MatchData "bold"&gt;</div><div class='del'>-</div><div class='del'>-== Options</div><div class='del'>-</div><div class='del'>-The end delimiter for a regexp can be followed by one or more single-letter</div><div class='del'>-options which control how the pattern can match.</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/pat/i&lt;/tt&gt; - Ignore case</div><div class='del'>-* &lt;tt&gt;/pat/m&lt;/tt&gt; - Treat a newline as a character matched by &lt;tt&gt;.&lt;/tt&gt;</div><div class='del'>-* &lt;tt&gt;/pat/x&lt;/tt&gt; - Ignore whitespace and comments in the pattern</div><div class='del'>-* &lt;tt&gt;/pat/o&lt;/tt&gt; - Perform &lt;tt&gt;#{}&lt;/tt&gt; interpolation only once</div><div class='del'>-</div><div class='del'>-&lt;tt&gt;i&lt;/tt&gt;, &lt;tt&gt;m&lt;/tt&gt;, and &lt;tt&gt;x&lt;/tt&gt; can also be applied on the</div><div class='del'>-subexpression level with the</div><div class='del'>-&lt;tt&gt;(?&lt;/tt&gt;&lt;i&gt;on&lt;/i&gt;&lt;tt&gt;-&lt;/tt&gt;&lt;i&gt;off&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt; construct, which</div><div class='del'>-enables options &lt;i&gt;on&lt;/i&gt;, and disables options &lt;i&gt;off&lt;/i&gt; for the</div><div class='del'>-expression enclosed by the parentheses:</div><div class='del'>-</div><div class='del'>-    /a(?i:b)c/.match('aBc')   #=&gt; #&lt;MatchData "aBc"&gt;</div><div class='del'>-    /a(?-i:b)c/i.match('ABC') #=&gt; nil</div><div class='del'>-</div><div class='del'>-Additionally, these options can also be toggled for the remainder of the</div><div class='del'>-pattern:</div><div class='del'>-</div><div class='del'>-    /a(?i)bc/.match('abC') #=&gt; #&lt;MatchData "abC"&gt;</div><div class='del'>-</div><div class='del'>-Options may also be used with &lt;tt&gt;Regexp.new&lt;/tt&gt;:</div><div class='del'>-</div><div class='del'>-    Regexp.new("abc", Regexp::IGNORECASE)                     #=&gt; /abc/i</div><div class='del'>-    Regexp.new("abc", Regexp::MULTILINE)                      #=&gt; /abc/m</div><div class='del'>-    Regexp.new("abc # Comment", Regexp::EXTENDED)             #=&gt; /abc # Comment/x</div><div class='del'>-    Regexp.new("abc", Regexp::IGNORECASE | Regexp::MULTILINE) #=&gt; /abc/mi</div><div class='del'>-</div><div class='del'>-== Free-Spacing Mode and Comments</div><div class='del'>-</div><div class='del'>-As mentioned above, the &lt;tt&gt;x&lt;/tt&gt; option enables &lt;i&gt;free-spacing&lt;/i&gt;</div><div class='del'>-mode. Literal white space inside the pattern is ignored, and the</div><div class='del'>-octothorpe (&lt;tt&gt;#&lt;/tt&gt;) character introduces a comment until the end of</div><div class='del'>-the line. This allows the components of the pattern to be organized in a</div><div class='del'>-potentially more readable fashion.</div><div class='del'>-</div><div class='del'>-A contrived pattern to match a number with optional decimal places:</div><div class='del'>-</div><div class='del'>-    float_pat = /\A</div><div class='del'>-        [[:digit:]]+ # 1 or more digits before the decimal point</div><div class='del'>-        (\.          # Decimal point</div><div class='del'>-            [[:digit:]]+ # 1 or more digits after the decimal point</div><div class='del'>-        )? # The decimal point and following digits are optional</div><div class='del'>-    \Z/x</div><div class='del'>-    float_pat.match('3.14') #=&gt; #&lt;MatchData "3.14" 1:".14"&gt;</div><div class='del'>-</div><div class='del'>-There are a number of strategies for matching whitespace:</div><div class='del'>-</div><div class='del'>-* Use a pattern such as &lt;tt&gt;\s&lt;/tt&gt; or &lt;tt&gt;\p{Space}&lt;/tt&gt;.</div><div class='del'>-* Use escaped whitespace such as &lt;tt&gt;\ &lt;/tt&gt;, i.e. a space preceded by a backslash.</div><div class='del'>-* Use a character class such as &lt;tt&gt;[ ]&lt;/tt&gt;.</div><div class='del'>-</div><div class='del'>-Comments can be included in a non-&lt;tt&gt;x&lt;/tt&gt; pattern with the</div><div class='del'>-&lt;tt&gt;(?#&lt;/tt&gt;&lt;i&gt;comment&lt;/i&gt;&lt;tt&gt;)&lt;/tt&gt; construct, where &lt;i&gt;comment&lt;/i&gt; is</div><div class='del'>-arbitrary text ignored by the regexp engine.</div><div class='del'>-</div><div class='del'>-Comments in regexp literals cannot include unescaped terminator</div><div class='del'>-characters.</div><div class='del'>-</div><div class='del'>-== Encoding</div><div class='del'>-</div><div class='del'>-Regular expressions are assumed to use the source encoding. This can be</div><div class='del'>-overridden with one of the following modifiers.</div><div class='del'>-</div><div class='del'>-* &lt;tt&gt;/&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;/u&lt;/tt&gt; - UTF-8</div><div class='del'>-* &lt;tt&gt;/&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;/e&lt;/tt&gt; - EUC-JP</div><div class='del'>-* &lt;tt&gt;/&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;/s&lt;/tt&gt; - Windows-31J</div><div class='del'>-* &lt;tt&gt;/&lt;/tt&gt;&lt;i&gt;pat&lt;/i&gt;&lt;tt&gt;/n&lt;/tt&gt; - ASCII-8BIT</div><div class='del'>-</div><div class='del'>-A regexp can be matched against a string when they either share an</div><div class='del'>-encoding, or the regexp's encoding is _US-ASCII_ and the string's encoding</div><div class='del'>-is ASCII-compatible.</div><div class='del'>-</div><div class='del'>-If a match between incompatible encodings is attempted an</div><div class='del'>-&lt;tt&gt;Encoding::CompatibilityError&lt;/tt&gt; exception is raised.</div><div class='del'>-</div><div class='del'>-The &lt;tt&gt;Regexp#fixed_encoding?&lt;/tt&gt; predicate indicates whether the regexp</div><div class='del'>-has a &lt;i&gt;fixed&lt;/i&gt; encoding, that is one incompatible with ASCII. A</div><div class='del'>-regexp's encoding can be explicitly fixed by supplying</div><div class='del'>-&lt;tt&gt;Regexp::FIXEDENCODING&lt;/tt&gt; as the second argument of</div><div class='del'>-&lt;tt&gt;Regexp.new&lt;/tt&gt;:</div><div class='del'>-</div><div class='del'>-    r = Regexp.new("a".force_encoding("iso-8859-1"),Regexp::FIXEDENCODING)</div><div class='del'>-    r =~ "a\u3042"</div><div class='del'>-       # raises Encoding::CompatibilityError: incompatible encoding regexp match</div><div class='del'>-       #         (ISO-8859-1 regexp with UTF-8 string)</div><div class='del'>-</div><div class='del'>-== Special global variables</div><div class='del'>-</div><div class='del'>-Pattern matching sets some global variables :</div><div class='del'>-* &lt;tt&gt;$~&lt;/tt&gt; is equivalent to Regexp.last_match;</div><div class='del'>-* &lt;tt&gt;$&amp;&lt;/tt&gt; contains the complete matched text;</div><div class='del'>-* &lt;tt&gt;$`&lt;/tt&gt; contains string before match;</div><div class='del'>-* &lt;tt&gt;$'&lt;/tt&gt; contains string after match;</div><div class='del'>-* &lt;tt&gt;$1&lt;/tt&gt;, &lt;tt&gt;$2&lt;/tt&gt; and so on contain text matching first, second, etc</div><div class='del'>-  capture group;</div><div class='del'>-* &lt;tt&gt;$+&lt;/tt&gt; contains last capture group.</div><div class='del'>-</div><div class='del'>-Example:</div><div class='del'>-</div><div class='del'>-    m = /s(\w{2}).*(c)/.match('haystack') #=&gt; #&lt;MatchData "stac" 1:"ta" 2:"c"&gt;</div><div class='del'>-    $~                                    #=&gt; #&lt;MatchData "stac" 1:"ta" 2:"c"&gt;</div><div class='del'>-    Regexp.last_match                     #=&gt; #&lt;MatchData "stac" 1:"ta" 2:"c"&gt;</div><div class='del'>-</div><div class='del'>-    $&amp;      #=&gt; "stac"</div><div class='del'>-            # same as m[0]</div><div class='del'>-    $`      #=&gt; "hay"</div><div class='del'>-            # same as m.pre_match</div><div class='del'>-    $'      #=&gt; "k"</div><div class='del'>-            # same as m.post_match</div><div class='del'>-    $1      #=&gt; "ta"</div><div class='del'>-            # same as m[1]</div><div class='del'>-    $2      #=&gt; "c"</div><div class='del'>-            # same as m[2]</div><div class='del'>-    $3      #=&gt; nil</div><div class='del'>-            # no third group in pattern</div><div class='del'>-    $+      #=&gt; "c"</div><div class='del'>-            # same as m[-1]</div><div class='del'>-</div><div class='del'>-These global variables are thread-local and method-local variables.</div><div class='del'>-</div><div class='del'>-== Performance</div><div class='del'>-</div><div class='del'>-Certain pathological combinations of constructs can lead to abysmally bad</div><div class='del'>-performance.</div><div class='del'>-</div><div class='del'>-Consider a string of 25 &lt;i&gt;a&lt;/i&gt;s, a &lt;i&gt;d&lt;/i&gt;, 4 &lt;i&gt;a&lt;/i&gt;s, and a</div><div class='del'>-&lt;i&gt;c&lt;/i&gt;.</div><div class='del'>-</div><div class='del'>-    s = 'a' * 25 + 'd' + 'a' * 4 + 'c'</div><div class='del'>-    #=&gt; "aaaaaaaaaaaaaaaaaaaaaaaaadaaaac"</div><div class='del'>-</div><div class='del'>-The following patterns match instantly as you would expect:</div><div class='del'>-</div><div class='del'>-    /(b|a)/ =~ s #=&gt; 0</div><div class='del'>-    /(b|a+)/ =~ s #=&gt; 0</div><div class='del'>-    /(b|a+)*/ =~ s #=&gt; 0</div><div class='del'>-</div><div class='del'>-However, the following pattern takes appreciably longer:</div><div class='del'>-</div><div class='del'>-    /(b|a+)*c/ =~ s #=&gt; 26</div><div class='del'>-</div><div class='del'>-This happens because an atom in the regexp is quantified by both an</div><div class='del'>-immediate &lt;tt&gt;+&lt;/tt&gt; and an enclosing &lt;tt&gt;*&lt;/tt&gt; with nothing to</div><div class='del'>-differentiate which is in control of any particular character. The</div><div class='del'>-nondeterminism that results produces super-linear performance. (Consult</div><div class='del'>-&lt;i&gt;Mastering Regular Expressions&lt;/i&gt; (3rd ed.), pp 222, by</div><div class='del'>-&lt;i&gt;Jeffery Friedl&lt;/i&gt;, for an in-depth analysis). This particular case</div><div class='del'>-can be fixed by use of atomic grouping, which prevents the unnecessary</div><div class='del'>-backtracking:</div><div class='del'>-</div><div class='del'>-    (start = Time.now) &amp;&amp; /(b|a+)*c/ =~ s &amp;&amp; (Time.now - start)</div><div class='del'>-       #=&gt; 24.702736882</div><div class='del'>-    (start = Time.now) &amp;&amp; /(?&gt;b|a+)*c/ =~ s &amp;&amp; (Time.now - start)</div><div class='del'>-       #=&gt; 0.000166571</div><div class='del'>-</div><div class='del'>-A similar case is typified by the following example, which takes</div><div class='del'>-approximately 60 seconds to execute for me:</div><div class='del'>-</div><div class='del'>-Match a string of 29 &lt;i&gt;a&lt;/i&gt;s against a pattern of 29 optional &lt;i&gt;a&lt;/i&gt;s</div><div class='del'>-followed by 29 mandatory &lt;i&gt;a&lt;/i&gt;s:</div><div class='del'>-</div><div class='del'>-    Regexp.new('a?' * 29 + 'a' * 29) =~ 'a' * 29</div><div class='del'>-</div><div class='del'>-The 29 optional &lt;i&gt;a&lt;/i&gt;s match the string, but this prevents the 29</div><div class='del'>-mandatory &lt;i&gt;a&lt;/i&gt;s that follow from matching. Ruby must then backtrack</div><div class='del'>-repeatedly so as to satisfy as many of the optional matches as it can</div><div class='del'>-while still matching the mandatory 29. It is plain to us that none of the</div><div class='del'>-optional matches can succeed, but this fact unfortunately eludes Ruby.</div><div class='del'>-</div><div class='del'>-The best way to improve performance is to significantly reduce the amount of</div><div class='del'>-backtracking needed.  For this case, instead of individually matching 29</div><div class='del'>-optional &lt;i&gt;a&lt;/i&gt;s, a range of optional &lt;i&gt;a&lt;/i&gt;s can be matched all at once</div><div class='del'>-with &lt;i&gt;a{0,29}&lt;/i&gt;:</div><div class='del'>-</div><div class='del'>-    Regexp.new('a{0,29}' + 'a' * 29) =~ 'a' * 29</div><div class='del'>-</div><div class='head'>diff --git a/doc/security.rdoc b/doc/security.rdoc<br/>deleted file mode 100644<br/>index d7d6464ce1..0000000000<br/>--- a/<a href='/ruby.git/tree/doc/security.rdoc?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/security.rdoc</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,152 +0,0 @@</div><div class='del'>-= Ruby Security</div><div class='del'>-</div><div class='del'>-The Ruby programming language is large and complex and there are many security</div><div class='del'>-pitfalls often encountered by newcomers and experienced Rubyists alike.</div><div class='del'>-</div><div class='del'>-This document aims to discuss many of these pitfalls and provide more secure</div><div class='del'>-alternatives where applicable.</div><div class='del'>-</div><div class='del'>-Please check the full list of publicly known CVEs and how to correctly report a</div><div class='del'>-security vulnerability, at: https://www.ruby-lang.org/en/security/</div><div class='del'>-Japanese version is here: https://www.ruby-lang.org/ja/security/</div><div class='del'>-</div><div class='del'>-Security vulnerabilities should be reported via an email to</div><div class='del'>-mailto:security@ruby-lang.org ({the PGP public</div><div class='del'>-key}[https://www.ruby-lang.org/security.asc]), which is a private mailing list.</div><div class='del'>-Reported problems will be published after fixes.</div><div class='del'>-</div><div class='del'>-== &lt;code&gt;$SAFE&lt;/code&gt;</div><div class='del'>-</div><div class='del'>-Ruby provides a mechanism to restrict what operations can be performed by Ruby</div><div class='del'>-code in the form of the &lt;code&gt;$SAFE&lt;/code&gt; variable.</div><div class='del'>-</div><div class='del'>-However, &lt;code&gt;$SAFE&lt;/code&gt; does not provide a secure environment for executing</div><div class='del'>-untrusted code.</div><div class='del'>-</div><div class='del'>-If you need to execute untrusted code, you should use an operating system level</div><div class='del'>-sandboxing mechanism. On Linux, ptrace or LXC can be used to sandbox</div><div class='del'>-potentially malicious code. Other similar mechanisms exist on every major</div><div class='del'>-operating system.</div><div class='del'>-</div><div class='del'>-== +Marshal.load+</div><div class='del'>-</div><div class='del'>-Ruby's +Marshal+ module provides methods for serializing and deserializing Ruby</div><div class='del'>-object trees to and from a binary data format.</div><div class='del'>-</div><div class='del'>-Never use +Marshal.load+ to deserialize untrusted or user supplied data.</div><div class='del'>-Because +Marshal+ can deserialize to almost any Ruby object and has full</div><div class='del'>-control over instance variables, it is possible to craft a malicious payload</div><div class='del'>-that executes code shortly after deserialization.</div><div class='del'>-</div><div class='del'>-If you need to deserialize untrusted data, you should use JSON as it is only</div><div class='del'>-capable of returning 'primitive' types such as strings, arrays, hashes, numbers</div><div class='del'>-and nil. If you need to deserialize other classes, you should handle this</div><div class='del'>-manually. Never deserialize to a user specified class.</div><div class='del'>-</div><div class='del'>-== YAML</div><div class='del'>-</div><div class='del'>-YAML is a popular human readable data serialization format used by many Ruby</div><div class='del'>-programs for configuration and database persistence of Ruby object trees.</div><div class='del'>-</div><div class='del'>-Similar to +Marshal+, it is able to deserialize into arbitrary Ruby classes.</div><div class='del'>-For example, the following YAML data will create an +ERB+ object when</div><div class='del'>-deserialized:</div><div class='del'>-</div><div class='del'>-  !ruby/object:ERB</div><div class='del'>-  src: puts `uname`</div><div class='del'>-</div><div class='del'>-Because of this, many of the security considerations applying to Marshal are</div><div class='del'>-also applicable to YAML. Do not use YAML to deserialize untrusted data.</div><div class='del'>-</div><div class='del'>-== Symbols</div><div class='del'>-</div><div class='del'>-Symbols are often seen as syntax sugar for simple strings, but they play a much</div><div class='del'>-more crucial role. The MRI Ruby implementation uses Symbols internally for</div><div class='del'>-method, variable and constant names. The reason for this is that symbols are</div><div class='del'>-simply integers with names attached to them, so they are faster to look up in</div><div class='del'>-hashtables.</div><div class='del'>-</div><div class='del'>-Starting in version 2.2, most symbols can be garbage collected; these are</div><div class='del'>-called &lt;i&gt;mortal&lt;/i&gt; symbols. Most symbols you create (e.g. by calling</div><div class='del'>-+to_sym+) are mortal.</div><div class='del'>-</div><div class='del'>-&lt;i&gt;Immortal&lt;/i&gt; symbols on the other hand will never be garbage collected.</div><div class='del'>-They are created when modifying code:</div><div class='del'>-* defining a method (e.g. with +define_method+),</div><div class='del'>-* setting an instance variable (e.g. with +instance_variable_set+),</div><div class='del'>-* creating a variable or constant (e.g. with +const_set+)</div><div class='del'>-C extensions that have not been updated and are still calling `SYM2ID`</div><div class='del'>-will create immortal symbols.</div><div class='del'>-Bugs in 2.2.0: +send+ and +__send__+ also created immortal symbols,</div><div class='del'>-and calling methods with keyword arguments could also create some.</div><div class='del'>-</div><div class='del'>-Don't create immortal symbols from user inputs. Otherwise, this would</div><div class='del'>-allow a user to mount a denial of service attack against your application by</div><div class='del'>-flooding it with unique strings, which will cause memory to grow indefinitely</div><div class='del'>-until the Ruby process is killed or causes the system to slow to a halt.</div><div class='del'>-</div><div class='del'>-While it might not be a good idea to call these with user inputs, methods that</div><div class='del'>-used to be vulnerable such as +to_sym+, +respond_to?+,</div><div class='del'>-+method+, +instance_variable_get+, +const_get+, etc. are no longer a threat.</div><div class='del'>-</div><div class='del'>-== Regular expressions</div><div class='del'>-</div><div class='del'>-Ruby's regular expression syntax has some minor differences when compared to</div><div class='del'>-other languages. In Ruby, the &lt;code&gt;^&lt;/code&gt; and &lt;code&gt;$&lt;/code&gt; anchors do not</div><div class='del'>-refer to the beginning and end of the string, rather the beginning and end of a</div><div class='del'>-*line*.</div><div class='del'>-</div><div class='del'>-This means that if you're using a regular expression like</div><div class='del'>-&lt;code&gt;/^[a-z]+$/&lt;/code&gt; to restrict a string to only letters, an attacker can</div><div class='del'>-bypass this check by passing a string containing a letter, then a newline, then</div><div class='del'>-any string of their choosing.</div><div class='del'>-</div><div class='del'>-If you want to match the beginning and end of the entire string in Ruby, use</div><div class='del'>-the anchors +\A+ and +\z+.</div><div class='del'>-</div><div class='del'>-== +eval+</div><div class='del'>-</div><div class='del'>-Never pass untrusted or user controlled input to +eval+.</div><div class='del'>-</div><div class='del'>-Unless you are implementing a REPL like +irb+ or +pry+, +eval+ is almost</div><div class='del'>-certainly not what you want. Do not attempt to filter user input before passing</div><div class='del'>-it to +eval+ - this approach is fraught with danger and will most likely open</div><div class='del'>-your application up to a serious remote code execution vulnerability.</div><div class='del'>-</div><div class='del'>-== +send+</div><div class='del'>-</div><div class='del'>-'Global functions' in Ruby (+puts+, +exit+, etc.) are actually private instance</div><div class='del'>-methods on +Object+. This means it is possible to invoke these methods with</div><div class='del'>-+send+, even if the call to +send+ has an explicit receiver.</div><div class='del'>-</div><div class='del'>-For example, the following code snippet writes "Hello world" to the terminal:</div><div class='del'>-</div><div class='del'>-  1.send(:puts, "Hello world")</div><div class='del'>-</div><div class='del'>-You should never call +send+ with user supplied input as the first parameter.</div><div class='del'>-Doing so can introduce a denial of service vulnerability:</div><div class='del'>-</div><div class='del'>-  foo.send(params[:bar]) # params[:bar] is "exit!"</div><div class='del'>-</div><div class='del'>-If an attacker can control the first two arguments to +send+, remote code</div><div class='del'>-execution is possible:</div><div class='del'>-</div><div class='del'>-  # params is { :a =&gt; "eval", :b =&gt; "...ruby code to be executed..." }</div><div class='del'>-  foo.send(params[:a], params[:b])</div><div class='del'>-</div><div class='del'>-When dispatching a method call based on user input, carefully verify that the</div><div class='del'>-method name. If possible, check it against a whitelist of safe method names.</div><div class='del'>-</div><div class='del'>-Note that the use of +public_send+ is also dangerous, as +send+ itself is</div><div class='del'>-public:</div><div class='del'>-</div><div class='del'>-  1.public_send("send", "eval", "...ruby code to be executed...")</div><div class='del'>-</div><div class='del'>-== DRb</div><div class='del'>-</div><div class='del'>-As DRb allows remote clients to invoke arbitrary methods, it is not suitable to</div><div class='del'>-expose to untrusted clients.</div><div class='del'>-</div><div class='del'>-When using DRb, try to avoid exposing it over the network if possible. If this</div><div class='del'>-isn't possible and you need to expose DRb to the world, you *must* configure an</div><div class='del'>-appropriate security policy with &lt;code&gt;DRb::ACL&lt;/code&gt;.</div><div class='head'>diff --git a/doc/shell.rd b/doc/shell.rd<br/>new file mode 100644<br/>index 0000000000..02ee1b020a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/doc/shell.rd?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/shell.rd</a></div><div class='hunk'>@@ -0,0 +1,348 @@</div><div class='add'>+ -- shell.rb</div><div class='add'>+				$Release Version: 0.6.0 $</div><div class='add'>+			   	$Revision$</div><div class='add'>+			   	$Date$</div><div class='add'>+			   	by Keiju ISHITSUKA(keiju@ishitsuka.com)</div><div class='add'>+</div><div class='add'>+=begin</div><div class='add'>+</div><div class='add'>+= What's shell.rb?</div><div class='add'>+</div><div class='add'>+It realizes a wish to do execution of commands with filters and pipes</div><div class='add'>+like sh/csh by using just native facilities of ruby.</div><div class='add'>+</div><div class='add'>+= Main classes</div><div class='add'>+</div><div class='add'>+== Shell</div><div class='add'>+</div><div class='add'>+Every shell object has its own current working directory, and executes</div><div class='add'>+each command as if it stands in the directory.</div><div class='add'>+</div><div class='add'>+--- Shell#cwd</div><div class='add'>+--- Shell#dir</div><div class='add'>+--- Shell#getwd</div><div class='add'>+--- Shell#pwd</div><div class='add'>+</div><div class='add'>+      Returns the current directory</div><div class='add'>+</div><div class='add'>+--- Shell#system_path</div><div class='add'>+</div><div class='add'>+      Returns the command search path in an array</div><div class='add'>+</div><div class='add'>+--- Shell#umask</div><div class='add'>+</div><div class='add'>+      Returns the umask</div><div class='add'>+</div><div class='add'>+== Filter</div><div class='add'>+</div><div class='add'>+Any result of command exection is a Filter.  Filter include</div><div class='add'>+Enumerable, therefore a Filter object can use all Enumerable</div><div class='add'>+facilities.</div><div class='add'>+</div><div class='add'>+= Main methods</div><div class='add'>+</div><div class='add'>+== Command definitions</div><div class='add'>+</div><div class='add'>+In order to execute a command on your OS, you need to define it as a</div><div class='add'>+Shell method.</div><div class='add'>+</div><div class='add'>+Alternatively, you can execute any command via Shell#system even if it</div><div class='add'>+is not defined.</div><div class='add'>+</div><div class='add'>+--- Shell.def_system_command(command, path = command)</div><div class='add'>+</div><div class='add'>+      Defines a command.  Registers &lt;path&gt; as a Shell method</div><div class='add'>+      &lt;command&gt;.</div><div class='add'>+</div><div class='add'>+      ex)</div><div class='add'>+      Shell.def_system_command "ls"</div><div class='add'>+        Defines ls.</div><div class='add'>+</div><div class='add'>+      Shell.def_system_command "sys_sort", "sort"</div><div class='add'>+        Defines sys_sort as sort.</div><div class='add'>+</div><div class='add'>+--- Shell.undef_system_command(command)</div><div class='add'>+</div><div class='add'>+      Undefines a commmand</div><div class='add'>+</div><div class='add'>+--- Shell.alias_command(ali, command, *opts) {...}</div><div class='add'>+</div><div class='add'>+      Aliases a command.</div><div class='add'>+</div><div class='add'>+      ex)</div><div class='add'>+        Shell.alias_command "lsC", "ls", "-CBF", "--show-control-chars"</div><div class='add'>+        Shell.alias_command("lsC", "ls"){|*opts| ["-CBF", "--show-control-chars", *opts]}</div><div class='add'>+</div><div class='add'>+--- Shell.unalias_command(ali)</div><div class='add'>+</div><div class='add'>+      Unaliases a command.</div><div class='add'>+</div><div class='add'>+--- Shell.install_system_commands(pre = "sys_")</div><div class='add'>+</div><div class='add'>+      Defines all commands in the default_system_path as Shell method,</div><div class='add'>+      all with &lt;pre&gt; prefixed to their names.</div><div class='add'>+</div><div class='add'>+== Creation</div><div class='add'>+</div><div class='add'>+--- Shell.new</div><div class='add'>+</div><div class='add'>+      Creates a Shell object which current directory is set to the</div><div class='add'>+      process current directory.</div><div class='add'>+</div><div class='add'>+--- Shell.cd(path)</div><div class='add'>+</div><div class='add'>+      Creates a Shell object which current directory is set to</div><div class='add'>+      &lt;path&gt;.</div><div class='add'>+</div><div class='add'>+== Process management</div><div class='add'>+</div><div class='add'>+--- Shell#jobs</div><div class='add'>+</div><div class='add'>+      Returns a list of scheduled jobs.</div><div class='add'>+</div><div class='add'>+--- Shell#kill sig, job</div><div class='add'>+</div><div class='add'>+      Sends a signal &lt;sig&gt; to &lt;job&gt;.</div><div class='add'>+</div><div class='add'>+== Current directory operations</div><div class='add'>+</div><div class='add'>+--- Shell#cd(path, &amp;block)</div><div class='add'>+--- Shell#chdir</div><div class='add'>+</div><div class='add'>+      Changes the current directory to &lt;path&gt;.  If a block is given,</div><div class='add'>+      it restores the current directory when the block ends.</div><div class='add'>+</div><div class='add'>+--- Shell#pushd(path = nil, &amp;block)</div><div class='add'>+--- Shell#pushdir</div><div class='add'>+</div><div class='add'>+      Pushes the current directory to the directory stack, changing</div><div class='add'>+      the current directory to &lt;path&gt;.  If &lt;path&gt; is omitted, it</div><div class='add'>+      exchanges its current directory and the top of its directory</div><div class='add'>+      stack.  If a block is given, it restores the current directory</div><div class='add'>+      when the block ends.</div><div class='add'>+</div><div class='add'>+--- Shell#popd</div><div class='add'>+--- Shell#popdir</div><div class='add'>+</div><div class='add'>+      Pops a directory from the directory stack, and sets the current</div><div class='add'>+      directory to it.</div><div class='add'>+</div><div class='add'>+== File and directory operations</div><div class='add'>+</div><div class='add'>+--- Shell#foreach(path = nil, &amp;block)</div><div class='add'>+</div><div class='add'>+      Same as:</div><div class='add'>+        File#foreach (when path is a file)</div><div class='add'>+        Dir#foreach (when path is a directory)</div><div class='add'>+</div><div class='add'>+--- Shell#open(path, mode)</div><div class='add'>+</div><div class='add'>+      Same as:</div><div class='add'>+        File#open (when path is a file)</div><div class='add'>+        Dir#open (when path is a directory)</div><div class='add'>+</div><div class='add'>+--- Shell#unlink(path)</div><div class='add'>+</div><div class='add'>+      Same as:</div><div class='add'>+        Dir#open (when path is a file)</div><div class='add'>+        Dir#unlink (when path is a directory)</div><div class='add'>+</div><div class='add'>+--- Shell#test(command, file1, file2)</div><div class='add'>+--- Shell#[command, file1, file2]</div><div class='add'>+</div><div class='add'>+      Same as test().</div><div class='add'>+      ex)</div><div class='add'>+          sh[?e, "foo"]</div><div class='add'>+          sh[:e, "foo"]</div><div class='add'>+          sh["e", "foo"]</div><div class='add'>+          sh[:exists?, "foo"]</div><div class='add'>+          sh["exists?", "foo"]</div><div class='add'>+</div><div class='add'>+--- Shell#mkdir(*path)</div><div class='add'>+</div><div class='add'>+      Same as Dir.mkdir (with multiple directories allowed)</div><div class='add'>+</div><div class='add'>+--- Shell#rmdir(*path)</div><div class='add'>+</div><div class='add'>+      Same as Dir.rmdir (with multiple directories allowed)</div><div class='add'>+</div><div class='add'>+== Command execution</div><div class='add'>+</div><div class='add'>+--- System#system(command, *opts)</div><div class='add'>+</div><div class='add'>+      Executes &lt;command&gt; with &lt;opts&gt;.</div><div class='add'>+</div><div class='add'>+      ex)</div><div class='add'>+        print sh.system("ls", "-l")</div><div class='add'>+        sh.system("ls", "-l") | sh.head &gt; STDOUT</div><div class='add'>+</div><div class='add'>+--- System#rehash</div><div class='add'>+</div><div class='add'>+      Does rehash.</div><div class='add'>+</div><div class='add'>+--- Shell#transact &amp;block</div><div class='add'>+</div><div class='add'>+      Executes a block as self.</div><div class='add'>+      ex)</div><div class='add'>+        sh.transact{system("ls", "-l") | head &gt; STDOUT}</div><div class='add'>+</div><div class='add'>+--- Shell#out(dev = STDOUT, &amp;block)</div><div class='add'>+</div><div class='add'>+      Does transact, with redirecting the result output to &lt;dev&gt;.</div><div class='add'>+</div><div class='add'>+== Internal commands</div><div class='add'>+</div><div class='add'>+--- Shell#echo(*strings)</div><div class='add'>+--- Shell#cat(*files)</div><div class='add'>+--- Shell#glob(patten)</div><div class='add'>+--- Shell#tee(file)</div><div class='add'>+</div><div class='add'>+      Return Filter objects, which are results of their execution.</div><div class='add'>+</div><div class='add'>+--- Filter#each &amp;block</div><div class='add'>+</div><div class='add'>+      Iterates a block for each line of it.</div><div class='add'>+</div><div class='add'>+--- Filter#&lt;(src)</div><div class='add'>+</div><div class='add'>+      Inputs from &lt;src&gt;, which is either a string of a file name or an</div><div class='add'>+      IO.</div><div class='add'>+</div><div class='add'>+--- Filter#&gt;(to)</div><div class='add'>+</div><div class='add'>+      Outputs to &lt;to&gt;, which is either a string of a file name or an</div><div class='add'>+      IO.</div><div class='add'>+</div><div class='add'>+--- Filter#&gt;&gt;(to)</div><div class='add'>+</div><div class='add'>+      Appends the ouput to &lt;to&gt;, which is either a string of a file</div><div class='add'>+      name or an IO.</div><div class='add'>+</div><div class='add'>+--- Filter#|(filter)</div><div class='add'>+</div><div class='add'>+      Processes a pipeline.</div><div class='add'>+</div><div class='add'>+--- Filter#+(filter)</div><div class='add'>+</div><div class='add'>+      (filter1 + filter2) outputs filter1, and then outputs filter2.</div><div class='add'>+</div><div class='add'>+--- Filter#to_a</div><div class='add'>+--- Filter#to_s</div><div class='add'>+</div><div class='add'>+== Built-in commands</div><div class='add'>+</div><div class='add'>+--- Shell#atime(file)</div><div class='add'>+--- Shell#basename(file, *opt)</div><div class='add'>+--- Shell#chmod(mode, *files)</div><div class='add'>+--- Shell#chown(owner, group, *file)</div><div class='add'>+--- Shell#ctime(file)</div><div class='add'>+--- Shell#delete(*file)</div><div class='add'>+--- Shell#dirname(file)</div><div class='add'>+--- Shell#ftype(file)</div><div class='add'>+--- Shell#join(*file)</div><div class='add'>+--- Shell#link(file_from, file_to)</div><div class='add'>+--- Shell#lstat(file)</div><div class='add'>+--- Shell#mtime(file)</div><div class='add'>+--- Shell#readlink(file)</div><div class='add'>+--- Shell#rename(file_from, file_to)</div><div class='add'>+--- Shell#split(file)</div><div class='add'>+--- Shell#stat(file)</div><div class='add'>+--- Shell#symlink(file_from, file_to)</div><div class='add'>+--- Shell#truncate(file, length)</div><div class='add'>+--- Shell#utime(atime, mtime, *file)</div><div class='add'>+</div><div class='add'>+      Equivalent to the class methods of File with the same names.</div><div class='add'>+</div><div class='add'>+--- Shell#blockdev?(file)</div><div class='add'>+--- Shell#chardev?(file)</div><div class='add'>+--- Shell#directory?(file)</div><div class='add'>+--- Shell#executable?(file)</div><div class='add'>+--- Shell#executable_real?(file)</div><div class='add'>+--- Shell#exist?(file)/Shell#exists?(file)</div><div class='add'>+--- Shell#file?(file)</div><div class='add'>+--- Shell#grpowned?(file)</div><div class='add'>+--- Shell#owned?(file)</div><div class='add'>+--- Shell#pipe?(file)</div><div class='add'>+--- Shell#readable?(file)</div><div class='add'>+--- Shell#readable_real?(file)</div><div class='add'>+--- Shell#setgid?(file)</div><div class='add'>+--- Shell#setuid?(file)</div><div class='add'>+--- Shell#size(file)/Shell#size?(file)</div><div class='add'>+--- Shell#socket?(file)</div><div class='add'>+--- Shell#sticky?(file)</div><div class='add'>+--- Shell#symlink?(file)</div><div class='add'>+--- Shell#writable?(file)</div><div class='add'>+--- Shell#writable_real?(file)</div><div class='add'>+--- Shell#zero?(file)</div><div class='add'>+</div><div class='add'>+      Equivalent to the class methods of FileTest with the same names.</div><div class='add'>+</div><div class='add'>+--- Shell#syscopy(filename_from, filename_to)</div><div class='add'>+--- Shell#copy(filename_from, filename_to)</div><div class='add'>+--- Shell#move(filename_from, filename_to)</div><div class='add'>+--- Shell#compare(filename_from, filename_to)</div><div class='add'>+--- Shell#safe_unlink(*filenames)</div><div class='add'>+--- Shell#makedirs(*filenames)</div><div class='add'>+--- Shell#install(filename_from, filename_to, mode)</div><div class='add'>+</div><div class='add'>+      Equivalent to the class methods of FileTools with the same</div><div class='add'>+      names.</div><div class='add'>+</div><div class='add'>+      And also, there are some aliases for convenience:</div><div class='add'>+</div><div class='add'>+--- Shell#cmp	&lt;- Shell#compare</div><div class='add'>+--- Shell#mv	&lt;- Shell#move</div><div class='add'>+--- Shell#cp	&lt;- Shell#copy</div><div class='add'>+--- Shell#rm_f	&lt;- Shell#safe_unlink</div><div class='add'>+--- Shell#mkpath	&lt;- Shell#makedirs</div><div class='add'>+</div><div class='add'>+= Samples</div><div class='add'>+</div><div class='add'>+== ex1</div><div class='add'>+</div><div class='add'>+  sh = Shell.cd("/tmp")</div><div class='add'>+  sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1")</div><div class='add'>+  sh.cd("shell-test-1")</div><div class='add'>+  for dir in ["dir1", "dir3", "dir5"]</div><div class='add'>+    if !sh.exists?(dir)</div><div class='add'>+      sh.mkdir dir</div><div class='add'>+      sh.cd(dir) do</div><div class='add'>+	f = sh.open("tmpFile", "w")</div><div class='add'>+	f.print "TEST\n"</div><div class='add'>+	f.close</div><div class='add'>+      end</div><div class='add'>+      print sh.pwd</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+== ex2</div><div class='add'>+</div><div class='add'>+  sh = Shell.cd("/tmp")</div><div class='add'>+  sh.transact do</div><div class='add'>+    mkdir "shell-test-1" unless exists?("shell-test-1")</div><div class='add'>+    cd("shell-test-1")</div><div class='add'>+    for dir in ["dir1", "dir3", "dir5"]</div><div class='add'>+      if !exists?(dir)</div><div class='add'>+	mkdir dir</div><div class='add'>+	cd(dir) do</div><div class='add'>+	  f = open("tmpFile", "w")</div><div class='add'>+	  f.print "TEST\n"</div><div class='add'>+	  f.close</div><div class='add'>+	end</div><div class='add'>+	print pwd</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+== ex3</div><div class='add'>+</div><div class='add'>+  sh.cat("/etc/printcap") | sh.tee("tee1") &gt; "tee2"</div><div class='add'>+  (sh.cat &lt; "/etc/printcap") | sh.tee("tee11") &gt; "tee12"</div><div class='add'>+  sh.cat("/etc/printcap") | sh.tee("tee1") &gt;&gt; "tee2"</div><div class='add'>+  (sh.cat &lt; "/etc/printcap") | sh.tee("tee11") &gt;&gt; "tee12"</div><div class='add'>+</div><div class='add'>+== ex4</div><div class='add'>+</div><div class='add'>+  print sh.cat("/etc/passwd").head.collect{|l| l =~ /keiju/}</div><div class='add'>+</div><div class='add'>+=end</div><div class='head'>diff --git a/doc/shell.rd.ja b/doc/shell.rd.ja<br/>index a9507fe92a..073e71ea42 100644<br/>--- a/<a href='/ruby.git/tree/doc/shell.rd.ja?h=v1_8_6_preview2&amp;id=298180f0450df6e975057cc7e90b3ae3248586fc'>doc/shell.rd.ja</a><br/>+++ b/<a href='/ruby.git/tree/doc/shell.rd.ja?h=v1_8_6_preview2&amp;id=7b41d0b1f1d63b55fe372e87000829407e4d9999'>doc/shell.rd.ja</a></div><div class='hunk'>@@ -1,146 +1,147 @@</div><div class='ctx'>  -- shell.rb</div><div class='ctx'> 				$Release Version: 0.6.0 $</div><div class='ctx'> 			   	$Revision$</div><div class='add'>+			   	$Date$</div><div class='ctx'> 			   	by Keiju ISHITSUKA(keiju@ishitsuka.com)</div><div class='ctx'> </div><div class='ctx'> =begin</div><div class='ctx'> </div><div class='del'>-= 目的</div><div class='add'>+= Ū</div><div class='ctx'> </div><div class='del'>-ruby上でsh/cshのようにコマンドの実行及びフィルタリングを手軽に行う.</div><div class='del'>-sh/cshの制御文はrubyの機能を用いて実現する.</div><div class='add'>+rubysh/cshΤ褦˥ޥɤμ¹Եڤӥե륿󥰤ڤ˹Ԥ.</div><div class='add'>+sh/cshʸrubyεǽѤƼ¸.</div><div class='ctx'> </div><div class='del'>-= 主なクラス一覧</div><div class='add'>+= ʥ饹</div><div class='ctx'> </div><div class='ctx'> == Shell</div><div class='ctx'> </div><div class='del'>-Shellオブジェクトはカレントディレクトリを持ち, コマンド実行はそこからの</div><div class='del'>-相対パスになります.</div><div class='add'>+Shell֥Ȥϥȥǥ쥯ȥ, ޥɼ¹ԤϤ</div><div class='add'>+Хѥˤʤޤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell#cwd</div><div class='ctx'> --- Shell#dir</div><div class='ctx'> --- Shell#getwd</div><div class='ctx'> --- Shell#pwd</div><div class='ctx'> </div><div class='del'>-      カレントディレクトリを返す。</div><div class='add'>+      ȥǥ쥯ȥ֤</div><div class='ctx'> </div><div class='ctx'> --- Shell#system_path</div><div class='ctx'> </div><div class='del'>-      コマンドサーチパスの配列を返す。</div><div class='add'>+      ޥɥѥ֤</div><div class='ctx'> </div><div class='ctx'> --- Shell#umask</div><div class='ctx'> </div><div class='del'>-      umaskを返す。</div><div class='add'>+      umask֤</div><div class='ctx'> </div><div class='ctx'> == Filter</div><div class='ctx'> </div><div class='del'>-コマンドの実行結果はすべてFilterとしてかえります. Enumerableをincludeし</div><div class='del'>-ています.</div><div class='add'>+ޥɤμ¹Է̤Ϥ٤FilterȤƤޤ. Enumerableinclude</div><div class='add'>+Ƥޤ.</div><div class='ctx'> </div><div class='del'>-= 主なメソッド一覧</div><div class='add'>+= ʥ᥽åɰ</div><div class='ctx'> </div><div class='del'>-== コマンド定義</div><div class='add'>+== ޥ</div><div class='ctx'> </div><div class='del'>-OS上のコマンドを実行するにはまず, Shellのメソッドとして定義します.</div><div class='add'>+OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.</div><div class='ctx'> </div><div class='del'>-注) コマンドを定義しなくとも直接実行できるShell#systemコマンドもあります.</div><div class='add'>+) ޥɤʤȤľܼ¹ԤǤShell#systemޥɤ⤢ޤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell.def_system_command(command, path = command)</div><div class='ctx'> </div><div class='del'>-      Shellのメソッドとしてcommandを登録します.</div><div class='add'>+      ShellΥ᥽åɤȤcommandϿޤ. </div><div class='ctx'> </div><div class='del'>-      例)</div><div class='add'>+      )</div><div class='ctx'>       Shell.def_system_command "ls"</div><div class='del'>-        ls を定義</div><div class='add'>+        ls </div><div class='ctx'> </div><div class='ctx'>       Shell.def_system_command "sys_sort", "sort"</div><div class='del'>-        sortコマンドをsys_sortとして定義</div><div class='add'>+        sortޥɤsys_sortȤ</div><div class='ctx'> </div><div class='ctx'> --- Shell.undef_system_command(command)</div><div class='ctx'> </div><div class='del'>-      commandを削除します.</div><div class='add'>+      commandޤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell.alias_command(ali, command, *opts) {...}</div><div class='ctx'> </div><div class='del'>-      commandのaliasをします.</div><div class='add'>+      commandalias򤷤ޤ. </div><div class='ctx'> </div><div class='del'>-      例)</div><div class='add'>+      )</div><div class='ctx'>         Shell.alias_command "lsC", "ls", "-CBF", "--show-control-chars"</div><div class='ctx'>         Shell.alias_command("lsC", "ls"){|*opts| ["-CBF", "--show-control-chars", *opts]}</div><div class='ctx'> </div><div class='ctx'> --- Shell.unalias_command(ali)</div><div class='ctx'> </div><div class='del'>-      commandのaliasを削除します.</div><div class='add'>+      commandaliasޤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell.install_system_commands(pre = "sys_")</div><div class='ctx'> </div><div class='del'>-      system_path上にある全ての実行可能ファイルをShellに定義する. メソッ</div><div class='del'>-      ド名は元のファイル名の頭にpreをつけたものとなる.</div><div class='add'>+      system_pathˤƤμ¹ԲǽեShell. ᥽</div><div class='add'>+      ̾ϸΥե̾ƬpreĤΤȤʤ.</div><div class='ctx'> </div><div class='del'>-== 生成</div><div class='add'>+== </div><div class='ctx'> </div><div class='ctx'> --- Shell.new</div><div class='ctx'> </div><div class='del'>-      プロセスのカレントディレクトリをカレントディレクトリとするShellオ</div><div class='del'>-      ブジェクトを生成します.</div><div class='add'>+      ץΥȥǥ쥯ȥ򥫥ȥǥ쥯ȥȤShell</div><div class='add'>+      ֥Ȥޤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell.cd(path)</div><div class='ctx'> </div><div class='del'>-      pathをカレントディレクトリとするShellオブジェクトを生成します.</div><div class='add'>+      path򥫥ȥǥ쥯ȥȤShell֥Ȥޤ.</div><div class='ctx'> </div><div class='del'>-== プロセス管理</div><div class='add'>+== ץ</div><div class='ctx'> </div><div class='ctx'> --- Shell#jobs</div><div class='ctx'> </div><div class='del'>-      スケジューリングされているjobの一覧を返す.</div><div class='add'>+      塼󥰤Ƥjobΰ֤.</div><div class='ctx'> </div><div class='ctx'> --- Shell#kill sig, job</div><div class='ctx'> </div><div class='del'>-      jobにシグナルsigを送る</div><div class='add'>+      job˥ʥsig</div><div class='ctx'> </div><div class='del'>-== カレントディレクトリ操作</div><div class='add'>+== ȥǥ쥯ȥ</div><div class='ctx'> </div><div class='ctx'> --- Shell#cd(path, &amp;block)</div><div class='ctx'> --- Shell#chdir</div><div class='ctx'> </div><div class='del'>-      カレントディレクトリをpathにする. イテレータとして呼ばれたときには</div><div class='del'>-      ブロック実行中のみカレントディレクトリを変更する.</div><div class='add'>+      ȥǥ쥯ȥpathˤ. ƥ졼ȤƸƤФ줿Ȥˤ</div><div class='add'>+      ֥å¹Τߥȥǥ쥯ȥѹ.</div><div class='ctx'> </div><div class='ctx'> --- Shell#pushd(path = nil, &amp;block)</div><div class='ctx'> --- Shell#pushdir</div><div class='ctx'> </div><div class='del'>-      カレントディレクトリをディレクトリスタックにつみ, カレントディレク</div><div class='del'>-      トリをpathにする. pathが省略されたときには, カレントディレクトリと</div><div class='del'>-      ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと</div><div class='del'>-      きには, ブロック実行中のみpushdする.</div><div class='add'>+      ȥǥ쥯ȥǥ쥯ȥꥹåˤĤ, ȥǥ쥯</div><div class='add'>+      ȥpathˤ. pathά줿Ȥˤ, ȥǥ쥯ȥ</div><div class='add'>+      ǥ쥯ȥꥹåΥȥåפ򴹤. ƥ졼ȤƸƤФ줿</div><div class='add'>+      ˤ, ֥å¹Τpushd.</div><div class='ctx'> </div><div class='ctx'> --- Shell#popd</div><div class='ctx'> --- Shell#popdir</div><div class='ctx'> </div><div class='del'>-      ディレクトリスタックからポップし, それをカレントディレクトリにする.</div><div class='add'>+      ǥ쥯ȥꥹåݥåפ, 򥫥ȥǥ쥯ȥˤ.</div><div class='ctx'> </div><div class='del'>-== ファイル/ディレクトリ操作</div><div class='add'>+== ե/ǥ쥯ȥ</div><div class='ctx'> </div><div class='ctx'> --- Shell#foreach(path = nil, &amp;block)</div><div class='ctx'> </div><div class='del'>-      pathがファイルなら, File#foreach</div><div class='del'>-      pathがディレクトリなら, Dir#foreach</div><div class='add'>+      pathեʤ, File#foreach</div><div class='add'>+      pathǥ쥯ȥʤ, Dir#foreach</div><div class='ctx'> </div><div class='ctx'> --- Shell#open(path, mode)</div><div class='ctx'> </div><div class='del'>-      pathがファイルなら, File#open</div><div class='del'>-      pathがディレクトリなら, Dir#open</div><div class='add'>+      pathեʤ, File#open</div><div class='add'>+      pathǥ쥯ȥʤ, Dir#open</div><div class='ctx'> </div><div class='ctx'> --- Shell#unlink(path)</div><div class='ctx'> </div><div class='del'>-      pathがファイルなら, File#unlink</div><div class='del'>-      pathがディレクトリなら, Dir#unlink</div><div class='add'>+      pathեʤ, File#unlink</div><div class='add'>+      pathǥ쥯ȥʤ, Dir#unlink</div><div class='ctx'> </div><div class='ctx'> --- Shell#test(command, file1, file2)</div><div class='ctx'> --- Shell#[command, file1, file2]</div><div class='ctx'> </div><div class='del'>-      ファイルテスト関数testと同じ.</div><div class='del'>-      例)</div><div class='add'>+      եƥȴؿtestƱ. </div><div class='add'>+      )</div><div class='ctx'>           sh[?e, "foo"]</div><div class='ctx'>           sh[:e, "foo"]</div><div class='ctx'>           sh["e", "foo"]</div><div class='hunk'>@@ -149,75 +150,75 @@ OS上のコマンドを実行するにはまず, Shellのメソッドとして</div><div class='ctx'> </div><div class='ctx'> --- Shell#mkdir(*path)</div><div class='ctx'> </div><div class='del'>-      Dir.mkdirと同じ(複数可)</div><div class='add'>+      Dir.mkdirƱ(ʣ)</div><div class='ctx'> </div><div class='ctx'> --- Shell#rmdir(*path)</div><div class='ctx'> </div><div class='del'>-      Dir.rmdirと同じ(複数可)</div><div class='add'>+      Dir.rmdirƱ(ʣ)</div><div class='ctx'> </div><div class='del'>-== コマンド実行</div><div class='add'>+== ޥɼ¹</div><div class='ctx'> </div><div class='ctx'> --- System#system(command, *opts)</div><div class='ctx'> </div><div class='del'>-      commandを実行する.</div><div class='del'>-      例)</div><div class='add'>+      command¹Ԥ.</div><div class='add'>+      )</div><div class='ctx'>         print sh.system("ls", "-l")</div><div class='ctx'>         sh.system("ls", "-l") | sh.head &gt; STDOUT</div><div class='ctx'> </div><div class='ctx'> --- System#rehash</div><div class='ctx'> </div><div class='del'>-      リハッシュする</div><div class='add'>+      ϥå夹</div><div class='ctx'> </div><div class='ctx'> --- Shell#transact &amp;block</div><div class='ctx'> </div><div class='del'>-      ブロック中ではshellをselfとして実行する.</div><div class='del'>-      例)</div><div class='add'>+      ֥åǤshellselfȤƼ¹Ԥ.</div><div class='add'>+      )</div><div class='ctx'>         sh.transact{system("ls", "-l") | head &gt; STDOUT}</div><div class='ctx'> </div><div class='ctx'> --- Shell#out(dev = STDOUT, &amp;block)</div><div class='ctx'> </div><div class='del'>-      transactを呼び出しその結果をdevに出力する.</div><div class='add'>+      transactƤӽФη̤dev˽Ϥ.</div><div class='ctx'> </div><div class='del'>-== 内部コマンド</div><div class='add'>+== ޥ</div><div class='ctx'> </div><div class='ctx'> --- Shell#echo(*strings)</div><div class='ctx'> --- Shell#cat(*files)</div><div class='ctx'> --- Shell#glob(patten)</div><div class='ctx'> --- Shell#tee(file)</div><div class='ctx'> </div><div class='del'>-      これらは実行すると, それらを内容とするFilterオブジェクトを返します.</div><div class='add'>+      ϼ¹Ԥ, ƤȤFilter֥Ȥ֤ޤ. </div><div class='ctx'> </div><div class='ctx'> --- Filter#each &amp;block</div><div class='ctx'> </div><div class='del'>-      フィルタの一行ずつをblockに渡す.</div><div class='add'>+      ե륿ΰԤĤblockϤ.</div><div class='ctx'> </div><div class='ctx'> --- Filter#&lt;(src)</div><div class='ctx'> </div><div class='del'>-      srcをフィルタの入力とする. srcが, 文字列ならばファイルを, IOであれ</div><div class='del'>-      ばそれをそのまま入力とする.</div><div class='add'>+      srcե륿ϤȤ. src, ʸʤХե, IOǤ</div><div class='add'>+      Ф򤽤ΤޤϤȤ.</div><div class='ctx'> </div><div class='ctx'> --- Filter#&gt;(to)</div><div class='ctx'> </div><div class='del'>-      srcをフィルタの出力とする. toが, 文字列ならばファイルに, IOであれ</div><div class='del'>-      ばそれをそのまま出力とする.</div><div class='add'>+      srcե륿νϤȤ. to, ʸʤХե, IOǤ</div><div class='add'>+      Ф򤽤Τޤ޽ϤȤ.</div><div class='ctx'> </div><div class='ctx'> --- Filter#&gt;&gt;(to)</div><div class='ctx'> </div><div class='del'>-      srcをフィルタに追加する. toが, 文字列ならばファイルに, IOであれば</div><div class='del'>-      それをそのまま出力とする.</div><div class='add'>+      srcե륿ɲä. to, ʸʤХե, IOǤ</div><div class='add'>+      򤽤Τޤ޽ϤȤ.</div><div class='ctx'> </div><div class='ctx'> --- Filter#|(filter)</div><div class='ctx'> </div><div class='del'>-      パイプ結合</div><div class='add'>+      ѥ׷</div><div class='ctx'> </div><div class='ctx'> --- Filter#+(filter)</div><div class='ctx'> </div><div class='del'>-      filter1 + filter2 は filter1の出力の後, filter2の出力を行う.</div><div class='add'>+      filter1 + filter2  filter1νϤθ, filter2νϤԤ.</div><div class='ctx'> </div><div class='ctx'> --- Filter#to_a</div><div class='ctx'> --- Filter#to_s</div><div class='ctx'> </div><div class='del'>-== 組込みコマンド</div><div class='add'>+== ȹߥޥ</div><div class='ctx'> </div><div class='ctx'> --- Shell#atime(file)</div><div class='ctx'> --- Shell#basename(file, *opt)</div><div class='hunk'>@@ -239,7 +240,7 @@ OS上のコマンドを実行するにはまず, Shellのメソッドとして</div><div class='ctx'> --- Shell#truncate(file, length)</div><div class='ctx'> --- Shell#utime(atime, mtime, *file)</div><div class='ctx'> </div><div class='del'>-      これらはFileクラスにある同名のクラスメソッドと同じです.</div><div class='add'>+      File饹ˤƱ̾Υ饹᥽åɤƱǤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell#blockdev?(file)</div><div class='ctx'> --- Shell#chardev?(file)</div><div class='hunk'>@@ -263,7 +264,7 @@ OS上のコマンドを実行するにはまず, Shellのメソッドとして</div><div class='ctx'> --- Shell#writable_real?(file)</div><div class='ctx'> --- Shell#zero?(file)</div><div class='ctx'> </div><div class='del'>-      これらはFileTestクラスにある同名のクラスメソッドと同じです.</div><div class='add'>+      FileTest饹ˤƱ̾Υ饹᥽åɤƱǤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell#syscopy(filename_from, filename_to)</div><div class='ctx'> --- Shell#copy(filename_from, filename_to)</div><div class='hunk'>@@ -273,9 +274,9 @@ OS上のコマンドを実行するにはまず, Shellのメソッドとして</div><div class='ctx'> --- Shell#makedirs(*filenames)</div><div class='ctx'> --- Shell#install(filename_from, filename_to, mode)</div><div class='ctx'> </div><div class='del'>-      これらはFileToolsクラスにある同名のクラスメソッドと同じです.</div><div class='add'>+      FileTools饹ˤƱ̾Υ饹᥽åɤƱǤ.</div><div class='ctx'> </div><div class='del'>-      その他, 以下のものがエイリアスされています.</div><div class='add'>+      ¾, ʲΤΤꥢƤޤ.</div><div class='ctx'> </div><div class='ctx'> --- Shell#cmp	&lt;- Shell#compare</div><div class='ctx'> --- Shell#mv	&lt;- Shell#move</div><div class='hunk'>@@ -283,7 +284,7 @@ OS上のコマンドを実行するにはまず, Shellのメソッドとして</div><div class='ctx'> --- Shell#rm_f	&lt;- Shell#safe_unlink</div><div class='ctx'> --- Shell#mkpath	&lt;- Shell#makedirs</div><div class='ctx'> </div><div class='del'>-= サンプル</div><div class='add'>+= ץ</div><div class='ctx'> </div><div class='ctx'> == ex1</div><div class='ctx'> </div><div class='head'>diff --git a/doc/signals.rdoc b/doc/signals.rdoc<br/>deleted file mode 100644